File: C:/Users/fred/.vscode/extensions/ms-python.vscode-pylance-2026.2.1/dist/server.bundle.js
(()=>{var e,t,i,r,n,a={69338(e){function t(e){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=69338,e.exports=t},54861(e){function t(e){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=54861,e.exports=t},95585(e,t,i){"use strict";let r,n,a,s,o,l,d,u,p,c,h,m,y,g,f,v,_,T,w,b,S,k,I,C,P,x,F,A,D,E;var R,N,M,O,U,L,z,W,B,$,j,K,V,q,G,H,J,Y,Q,X,Z,ee,et,ei,er,en,ea,es,eo,el,ed,eu,ep,ec,eh,em,ey,eg,ef,ev,e_,eT,ew,eb,eS,ek,eI,eC,eP,ex,eF,eA,eD,eE,eR,eN,eM,eO,eU,eL,ez,eW,eB,e$,ej,eK,eV,eq,eG,eH,eJ,eY,eQ,eX,eZ,e0,e1,e5,e4,e3,e8,e2,e6,e7,e9,te,tt,ti,tr,tn,ta,ts,to,tl,td,tu,tp,tc,th,tm,ty,tg,tf,tv,t_,tT,tw,tb,tS,tk,tI,tC,tP,tx,tF,tA,tD,tE,tR,tN,tM,tO,tU,tL,tz,tW,tB,t$,tj,tK,tV,tq,tG,tH,tJ,tY,tQ,tX,tZ,t0,t1,t5,t4,t3,t8,t2,t6,t7,t9,ie,it,ii,ir,ia,is,io,il,id,iu,ip,ic,ih,im,iy,ig,iv,i_,iT,iw,ib,iS,ik,iI,iC,iP,ix,iF,iA,iD,iE,iR,iN,iM,iO,iU,iL,iz,iW,iB,i$,ij,iK,iV,iq,iG,iH,iJ,iY,iQ,iX,iZ,i0,i1,i5,i4,i3,i8,i2,i6,i7,i9,re,rt,ri,rr,rn,ra,rs,ro,rl,rd,ru,rp,rc,rh,rm,ry,rg,rf,rv,r_,rT,rw,rb,rS,rk,rI,rC,rP,rx,rF,rA,rD,rE,rR,rN,rM,rO,rU,rL,rz,rW,rB,r$,rj,rK,rV,rq,rG,rH,rJ,rY,rQ,rX,rZ,r0,r1,r5,r4,r3,r8,r2,r6,r7,r9,ne,nt,ni,nr,nn,na,ns,no,nl,nd,nu,np,nc,nh,nm,ny,ng,nf,nv,n_,nT,nw,nb,nS,nk,nI,nC,nP,nx,nF,nA,nD,nE,nR,nN,nM,nO,nU,nL,nz,nW,nB,n$,nj,nK,nV=i(52128),nq=i(38749);let nG="You may install and use any number of copies of the software only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services (collectively, the “Visual Studio Products and Services”) to develop and test your applications. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. You may not: work around any technical limitations in the software that only allow you to use it in certain ways; reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software; use the software in any way that is against the law or to create or propagate malware; or share, publish, distribute, or lease the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.",nH="SEE LICENSE.txt",nJ=nq.scryptSync(nG,nH,24),nY=Buffer.from(nH);function nQ(e){let t=nq.createDecipheriv("aes-192-cbc",nJ,nY);return t.update(e,"hex","utf8")+t.final("utf8")}var nX=i(13200),nZ=i(56911),n0=i(14100),n1=i(7309),n5=i(12773),n4=i(40691),n3=i(64769),n8=i(86496),n2=i(56429),n6=i(56239),n7=i(73775),n9=i(22646),ae=i(35996),at=i(18909),ai=i(86386),ar=i(2661);function an(e,t={ancestors:new Set,cache:new Map}){if(void 0===e)return e;if(n4.z.is(e)&&void 0!==e.toJsonObj)return{__serialized_uri_val:e.toJsonObj()};if(nZ.CancellationToken.is(e))return{cancellation_token_val:(0,n8.Er)(e)};if(ai.fz.is(e))return e;if(e instanceof RegExp)return{__serialized_regexp_val:{source:e.source,flags:e.flags}};if(e instanceof ae.N7){let i=t.cache.get(e);if(void 0!==i)return i;let r={__serialized_config_options:n(e)};return t.cache.set(e,r),r}if(e instanceof ar.Z){let i=t.cache.get(e);if(void 0!==i)return i;let r={uri_map_val:an([...e],t)};return t.cache.set(e,r),r}if(e instanceof Map){let i=t.cache.get(e);if(void 0!==i)return i;let r={__serialized_map_val:an([...e],t)};return t.cache.set(e,r),r}if(e instanceof Set){let i=t.cache.get(e);if(void 0!==i)return i;let r={__serialized_set_val:an([...e],t)};return t.cache.set(e,r),r}if(Array.isArray(e)){let i=t.cache.get(e);if(void 0!==i)return i;let r=e.map(e=>an(e,t));return t.cache.set(e,r),r}if("object"!=typeof e)return e;let i=t.cache.get(e);if(void 0!==i)return i;if(t.ancestors.has(e))throw Error("Can't deep copy cyclic structures.");t.ancestors.add(e);let r=n(e);return t.ancestors.delete(e),t.cache.set(e,r),r;function n(e){let i=Object.keys(e),r=Object.create(null);for(let n of i)r[n]=an(e[n],t);return r}}function aa(e){return function e(t,i){if(void 0===t||"object"!=typeof t||null===t)return t;let r=i.get(t);if(void 0!==r)return r;if(t.cancellation_token_val){let e=(0,at.Gc)(t.cancellation_token_val);return i.set(t,e),e}if(void 0!==t.__serialized_uri_val){let e=n4.z.fromJsonObj(t.__serialized_uri_val);return i.set(t,e),e}if(t.__serialized_regexp_val){let e=new RegExp(t.__serialized_regexp_val.source,t.__serialized_regexp_val.flags);return i.set(t,e),e}if(t.__serialized_config_options){let r=new ae.N7(n4.z.empty());return i.set(t,r),Object.assign(r,e(t.__serialized_config_options,i)),r}if(t.uri_map_val){let r=new ar.Z;for(let n of(i.set(t,r),t.uri_map_val)){let[t,a]=e(n,i);r.set(t,a)}return r}if(t.__serialized_map_val){let r=new Map(e(t.__serialized_map_val,i));return i.set(t,r),r}if(t.__serialized_set_val){let r=new Set(e(t.__serialized_set_val,i));return i.set(t,r),r}if(Array.isArray(t)){let r=[];for(let n of(i.set(t,r),t))r.push(e(n,i));return r}let n=Object.keys(t),a=Object.create(null);for(let r of(i.set(t,a),n))a[r]=e(t[r],i);return a}(e,new Map)}function as(e){if(e&&"object"==typeof e){if(e.uri_map_val){let t=new ar.Z;for(let[i,r]of e.uri_map_val)t.set(i,r);return t}if(void 0!==e.__serialized_uri_val)return n4.z.fromJsonObj(e.__serialized_uri_val);if(e.__serialized_map_val)return new Map(e.__serialized_map_val);if(e.__serialized_set_val)return new Set(e.__serialized_set_val);if(e.__serialized_regexp_val)return new RegExp(e.__serialized_regexp_val.source,e.__serialized_regexp_val.flags);if(e.__serialized_config_options){let t=new ae.N7(e.__serialized_config_options.projectRoot);return Object.assign(t,e.__serialized_config_options),t}if(Object.keys(e).includes("cancellation_token_val"))return(0,at.Gc)(e.cancellation_token_val)}return e}function ao(e){return JSON.stringify(e,(e,t)=>(function(e){if(e instanceof ar.Z)return{uri_map_val:[...e]};if(n4.z.is(e)&&void 0!==e.toJsonObj)return{__serialized_uri_val:e.toJsonObj()};if(e instanceof Map)return{__serialized_map_val:[...e]};if(e instanceof Set)return{__serialized_set_val:[...e]};if(e instanceof RegExp)return{__serialized_regexp_val:{source:e.source,flags:e.flags}};if(e instanceof ae.N7)return{__serialized_config_options:Object.entries(e).reduce((e,t,i)=>({...e,[t[0]]:t[1]}),{})};if(nZ.CancellationToken.is(e)){var t;return{cancellation_token_val:null!=(t=(0,n8.Er)(e))?t:null}}return e})(t))}function al(e){if(e)if((0,n2.Kg)(e))return JSON.parse(e,(e,t)=>as(t));else return as(e)}var ad=i(37688),au=i(97759),ap=i(86609),ac=i(66641),ah=i(9774),am=i(69216),ay=JSON.parse('{"rE":"2026.2.1","j1":"138238b4b3a3a83d98f7d6bc78322fab69cf165a","OY":"1.1.408"}');let ag=ay.rE||"",af=ay.j1||"unknown",av=ay.OY||"unknown",a_=function(e){try{return new am.SemVer(e).patch>=100}catch(e){return!1}}(ag),aT=-1!==ag.indexOf("-dev"),aw=-1!==ag.indexOf("-pr."),ab=!a_&&!aT&&!aw;var aS=i(8745),ak=i(11508),aI=i(85917),aC=i(90930),aP=i.n(aC),ax=i(97797),aF=i(24311),aA=i(28738),aD=i(94907),aE=i(40370),aR=i(60327),aN=i(76799),aM=i(77974),aO=i(81236),aU=i(74537),aL=i(39907),az=i(80942),aW=i(11896),aB=i(85356),a$=i(40271),aj=i(2590);function aK(e){return!!e&&"number"==typeof e.line&&"number"==typeof e.character}function aV(e){return!!e&&aK(e.start)&&aK(e.end)}function aq(e,t,i,r){let n=r?aV(r)?(0,aW.AP)(r,e.tokenizerOutput.lines):r:void 0;var a=e.parserOutput;let s=[];class o extends aE.gw{visit(e){return(0,n8.Lj)(i),(!n||!!aB.vY.overlapsRange(n,e))&&(e.nodeType===t&&s.push(e),super.visit(e))}}return new o().walk(a.parseTree),s}function aG(e){var t,i;return null!=(t=null==(i=aH(e.node))?void 0:i.d.value)?t:(0,aA.eE)(e)}function aH(e){var t;let i=(0,aL.Ji)(e);if(i)return null!=(t=aH(i))?t:i.d.name}function aJ(e){let t=[e.d.name.d.value],i=e;for(;i;)(i=(0,aL.Ji)(i))&&t.push(i.d.name.d.value);return t.reverse()}function aY(e){var t,i;if(e){if(e.nodeType===aO.ye.Parameter&&(null==(t=e.d.name)?void 0:t.nodeType)===aO.ye.Name)return e.d.name;if(e.nodeType===aO.ye.Name&&(null==(i=e.parent)?void 0:i.nodeType)===aO.ye.Parameter)return e.parent.d.name===e?e:void 0}}function aQ(e,t){let i;if(t.d.category!==aO.OP.Simple||!t.d.name)return!1;let r=t.parent;if(!r||(r.nodeType===aO.ye.Function?i=r.d.params:r.nodeType===aO.ye.Lambda&&(i=r.d.params),!i))return!1;let n=e.tokenizerOutput.tokens,a=i.findIndex(e=>{if(e.d.category!==aO.OP.Simple||void 0!==e.d.name)return!1;let t=n.getItemAtPosition(e.start);if(t<0)return!1;let i=(0,aL.Xk)(n,t);return!!i&&i.type===aj.ks.Operator&&i.operatorType===aj.hu.Divide&&i.start===e.start});if(a<0)return!1;let s=i.indexOf(t);return!(s<0)&&s<a}var aX=i(8794);function aZ(e){return!!(0,aX.fn)(e)||(0,aM.D4)(e)&&"typing"===e.shared.moduleName&&"Optional"===e.shared.name}function a0(e){return!!(0,aM.mi)(e)||(0,aM.D4)(e)&&"typing"===e.shared.moduleName&&"Union"===e.shared.name}function a1(e,t){return e.d.params.find(e=>{var i;return(null==(i=e.d.name)?void 0:i.d.value)===t})}function a5(e){var t;return null!=(t=e.d.annotation)?t:e.d.annotationComment}function a4(e,t){let i=e.getType(t);return(0,n2.Qg)(i)?Promise.resolve(i).then(t=>t?e.makeTopLevelTypeVarsConcrete(t):void 0):i?e.makeTopLevelTypeVarsConcrete(i):void 0}function a3(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let a8=new Map([["np",{importName:"numpy"}],["pd",{importName:"pandas"}],["tf",{importName:"tensorflow"}],["plt",{importName:"pyplot",importFrom:"matplotlib"}],["mpl",{importName:"matplotlib"}],["m",{importName:"math"}],["spio",{importName:"io",importFrom:"scipy"}],["sp",{importName:"scipy"}],["pn",{importName:"panel"}],["hv",{importName:"holoviews"}]]);function a2(e,t){if(t.startsWith(e))return 1;let i=t.toLocaleLowerCase(),r=e.toLocaleLowerCase();if(i.startsWith(r))return .75;let n=i.length,a=Number.MAX_VALUE;for(;n>0;){let e=aP()(i.substr(0,n),r);e<a&&(a=e),n--}return a>=e.length?0:.5*((e.length-a)/e.length)}function a6(e,t,i,r){var n,a,s,o,l,d,u,p,c;let h=aH(r.node),m=h&&null!=(n=e.evaluator.getType(h))?n:i,y=(0,aM.D4)(m)&&m.priv.aliasName?m.priv.aliasName:null!=(a=null==h?void 0:h.d.value)?a:(0,aA.eE)(r);for(let i of t.orderedImports)if(i.node.nodeType===aO.ye.ImportFrom&&!i.node.d.isWildcardImport)for(let t of i.node.d.imports){let i=null!=(s=t.d.alias)?s:t.d.name,r=e.evaluator.getType(i);if(r&&aM.Ab.isInstantiable(r)&&sl(m,r))return{outermostName:i.d.value}}if(y)for(let i of t.orderedImports){if(i.node.nodeType===aO.ye.ImportFrom)for(let t of i.node.d.imports){let i=st(e,null!=(o=t.d.alias)?o:t.d.name,null!=(l=null==(d=t.d.alias)?void 0:d.d.value)?l:t.d.name.d.value,m,y);if(i)return i}if(i.node.nodeType===aO.ye.Import){let t=i.subnode;if(!t||t.d.module.d.nameParts.length<=0)continue;let r=st(e,null!=(u=t.d.alias)?u:t.d.module.d.nameParts[t.d.module.d.nameParts.length-1],null!=(p=null==(c=t.d.alias)?void 0:c.d.value)?p:i.moduleName,m,y);if(r)return r}}}async function a7(e,t,i,r,n){var a,s,o,l,d,u,p,c,h;let m=aH(n.node),y=m&&null!=(a=await t.getType(m))?a:r,g=(0,aM.D4)(y)&&y.priv.aliasName?y.priv.aliasName:null!=(s=null==m?void 0:m.d.value)?s:(0,aA.eE)(n);for(let e of i.orderedImports)if(e.node.nodeType===aO.ye.ImportFrom&&!e.node.d.isWildcardImport)for(let i of e.node.d.imports){let e=null!=(o=i.d.alias)?o:i.d.name,r=await t.getType(e);if(r&&aM.Ab.isInstantiable(r)&&sl(y,r))return{outermostName:e.d.value}}if(g)for(let r of i.orderedImports){if(r.node.nodeType===aO.ye.ImportFrom)for(let i of r.node.d.imports){let r=null!=(l=i.d.alias)?l:i.d.name,n=await sr(e,t,r,null!=(d=null==(u=i.d.alias)?void 0:u.d.value)?d:i.d.name.d.value,y,g,!1);if(n)return n}if(r.node.nodeType===aO.ye.Import){let i=r.subnode;if(!i||i.d.module.d.nameParts.length<=0)continue;let n=null!=(p=i.d.alias)?p:i.d.module.d.nameParts[i.d.module.d.nameParts.length-1],a=await sr(e,t,n,null!=(c=null==(h=i.d.alias)?void 0:h.d.value)?c:r.moduleName,y,g,!0);if(a)return a}}}function a9(e,t){if(0===t)return e;let i=e.indexOf(".");return i<0?e:e.substring(0,i)}function se(e,t,i){let r=new Set,n=new Set;for(let t of e.getSourceFileInfoList().filter(aR.xX)){(0,n8.Lj)(i);let a=e.getParseResults(t.uri);a&&new su(e,r,n,i).run(a.parserOutput.parseTree)}return{importsFound:[...r],importsNotFound:[...n]}}function st(e,t,i,r,n){var a;let s=e.evaluator.getType(t);if(s){if(!(0,aM.FS)(s))return;return si(e,s.priv.fileUri,i,r,n)}let o=null==(a=e.evaluator.getDeclInfoForNameNode(t))?void 0:a.decls;for(let t of null!=o?o:[])if((0,aF.D5)(t)&&!t.submoduleFallback)return si(e,t.uri,i,r,n)}function si(e,t,i,r,n){let a=e.getSourceFileInfo(t);if(!a)return;e.getParseResults(t);let s=e.getModuleSymbolTable(t);if(!s)return;let o=s.get(n);if(o&&sa(e,r,o,t))return{module:i,outermostName:n};if((0,aR.xX)(a))for(let n of s){let a=n[0],s=n[1];if(!((0,aN.$4)(a)||(0,aN.SW)(a)||s.isExternallyHidden())&&sa(e,r,s,t))return{module:i,outermostName:a}}}async function sr(e,t,i,r,n,a,s){var o;let l=await t.getType(i);if(l){if((0,aM.FS)(l))return await sn(e,t,l.priv.fileUri,r,n,a);else if(!s)return}let d=null==(o=await t.getDeclInfoForNameNode(i))?void 0:o.decls;for(let i of null!=d?d:[])if((0,aF.D5)(i)&&!i.submoduleFallback)return await sn(e,t,i.uri,r,n,a)}async function sn(e,t,i,r,n,a){let s=e.getSourceFileInfo(i);if(!s)return;e.getParseResults(i);let o=await e.symbolLookup.getSymbolsForFile(i);if(!o)return;let l=o.get(a);if(l&&await ss(e,t,n,l,i))return{module:r,outermostName:a};if((0,aR.xX)(s))for(let a of o){let s=a[0],o=a[1];if(!((0,aN.$4)(s)||(0,aN.SW)(s)||o.isExternallyHidden())&&await ss(e,t,n,o,i))return{module:r,outermostName:s}}}function sa(e,t,i,r){return i.getDeclarations().some(n=>{let a=e.evaluator.resolveAliasDeclaration(n,!0,{allowExternallyHiddenAccess:!0,skipFileNeededCheck:!0});return!(!a||(0,aM.D4)(t)&&!t.priv.aliasName&&!t.shared.fileUri.equals(a.uri))&&!!so(e,a.uri,r)&&sl(t,e.evaluator.getInferredTypeOfDeclaration(i,a))})}async function ss(e,t,i,r,n){for(let a of r.getDeclarations()){let s=await t.resolveAliasDeclaration(a,!0,{allowExternallyHiddenAccess:!0,skipFileNeededCheck:!0});if(!(!s||(0,aM.D4)(i)&&!i.priv.aliasName&&!i.shared.fileUri.equals(s.uri))&&so(e,s.uri,n)&&sl(i,await t.getInferredTypeOfDeclaration(r,s)))return!0}return!1}function so(e,t,i){var r;if(t.equals(i)||!((r=e.getSourceFileInfo(t))&&r.isTypeshedFile&&!r.isThirdPartyImport))return!0;let n=e.getSourceFileInfo(i);return null!=n&&!!n.isTypeshedFile&&!!n.isThirdPartyImport&&"typing_extensions.pyi"===i.fileName}function sl(e,t){return void 0!==t&&(!!(a0(e)&&a0(t))||(e=sd(e),t=sd(t),!!((0,aM.D4)(e)&&(0,aM.D4)(t)&&aM.p5.isSameGenericClass(aM.p5.cloneAsInstance(e),aM.p5.cloneAsInstance(t)))||(0,aM.J5)(e,t,{ignoreTypeFlags:!0})))}function sd(e){if((0,aM.D4)(e))switch(e.shared.fullName){case"typing.NoReturn":return aM.Xl.createNoReturn();case"typing.Never":return aM.Xl.createNever()}return e}class su extends aE.gw{run(e){this._fileInfo=ax.R8(e),this._fileInfo&&this.walk(e)}walk(e){(0,n8.Lj)(this._token),super.walk(e)}visitModuleName(e){return!(e.d.leadingDots>0)&&(this._addImportInfo(ax.en(e)),!1)}visitImportFromAs(e){var t;if(e.parent.d.module.d.leadingDots>0)return!1;let i=null==(t=this._evaluator.getDeclInfoForNameNode(e.d.name))?void 0:t.decls;if(!i)return!1;for(let t of i){if(!(0,aF.D5)(t)||!t.submoduleFallback||t.node!==e)continue;let i=this._evaluator.resolveAliasDeclaration(t,!0),r=null==i?void 0:i.uri;if(!r)continue;let n=this._getImportResult(e,r);if(n){this._addImportInfo(n);break}}return!1}get _evaluator(){return this._program.evaluator}get _importResolver(){return this._program.importResolver}_getImportResult(e,t){let i=this._importResolver.getConfigOptions().findExecEnvironment(t),r=this._importResolver.getModuleNameForImport(t,i).moduleName;if(r)return this._importResolver.resolveImport(this._fileInfo.fileUri,i,(0,au.K6)(r))}_addImportInfo(e){var t;if(!e||e.importName.startsWith("."))return;let i=a9(e.importName);if(!(this._importsFound.has(i)||this._importsNotFound.has(i))){if(!e.isImportFound)return void this._importsNotFound.add(i);if(e.importType===aD.U.ThirdParty){if(e.isNativeLib||!e.isStubFile||(null==(t=e.nonStubImportResult)?void 0:t.isImportFound))return void this._importsFound.add(i);this._importsNotFound.add(i)}}}constructor(e,t,i,r){super(),a3(this,"_program",void 0),a3(this,"_importsFound",void 0),a3(this,"_importsNotFound",void 0),a3(this,"_token",void 0),a3(this,"_fileInfo",void 0),this._program=e,this._importsFound=t,this._importsNotFound=i,this._token=r,this._fileInfo=void 0}}let sp=[".pyd",".so",".dylib"];function sc(e,t,i){let r,n=aD.U.BuiltIn,a=!1;for(let s of i){let i=function(e,t,i=!1){var r;let n=t.stripExtension();if(r=t.lastExtension,sp.some(e=>e===r)&&(n=n.stripExtension()),!n.startsWith(e))return;n.pathEndsWith("__init__")&&(n=n.getDirectory());let a=Array.from(e.getRelativePathComponents(n));if(i){if(0===a.length)return;a.shift()}if(0===a.length)return;a[0].endsWith("-stubs")&&(a[0]=a[0].substr(0,a[0].length-6));let s=a.some(e=>!aU._.isPythonIdentifier(e));return{moduleName:a.join("."),containsInvalidCharacters:s}}(s,t);if(i&&!i.containsInvalidCharacters){let o=i.moduleName;(!r||o&&o.length<r.length)&&(n=function(e,t,i,r){if(!i)return aD.U.Local;let n=r.getDirectory();return t.getDirectory().startsWith(n)||i.startsWith(".")||t.equals(e.projectRoot)||t.startsWith(e.stubPath)?aD.U.Local:t.pathIncludes("site-packages")?aD.U.ThirdParty:aD.U.BuiltIn}(e,s,r=o,t),a=s.pathEndsWith("-stubs")&&s.getDirectory().equals(e.stubPath))}}return r?{moduleName:r,importType:n,isLocalTypingsFile:a}:{moduleName:"",importType:aD.U.Local,isLocalTypingsFile:!1}}let sh=new Map([["absl","absl-py"],["adal","adal"],["aenum","aenum"],["aiobotocore","aiobotocore"],["aioconsole","aioconsole"],["aiofiles","aiofiles"],["aiohttp","aiohttp"],["aioitertools","aioitertools"],["aiosignal","aiosignal"],["alabaster","alabaster"],["alembic","alembic"],["altair","altair"],["amqp","amqp"],["aniso8601","aniso8601"],["ansible_collections","ansible"],["ansible","ansible-core"],["ansible_test","ansible-core"],["antlr4","antlr4-python3-runtime"],["anyio","anyio"],["airflow",new Set(["apache-airflow-providers-ftp","apache-airflow-providers-sqlite","apache-airflow-providers-http","apache-airflow","apache-airflow-providers-imap","apache-airflow-providers-common-sql","apache-airflow-providers-amazon"])],["apache_beam","apache-beam"],["apispec","apispec"],["appdirs","appdirs"],["applicationinsights","applicationinsights"],["apscheduler","apscheduler"],["argcomplete","argcomplete"],["_argon2_cffi_bindings","argon2-cffi-bindings"],["argparse","argparse"],["arrow","arrow"],["asgiref","asgiref"],["asn1crypto","asn1crypto"],["astor","astor"],["astroid","astroid"],["asttokens","asttokens"],["astunparse","astunparse"],["async_generator","async-generator"],["async_timeout","async-timeout"],["asyncio","asyncio"],["asynctest","asynctest"],["atomicwrites","atomicwrites"],["attr","attrs"],["attrs","attrs"],["authlib","authlib"],["autocommand","autocommand"],["automat","automat"],["autopage","autopage"],["autopep8","autopep8"],["avro",new Set(["avro-python3","avro"])],["aws_cdk",new Set(["aws-cdk.aws-glue","aws-cdk.aws-logs-destinations"])],["psycopg2",new Set(["aws-psycopg2","psycopg2-binary"])],["aws_requests_auth","aws-requests-auth"],["samtranslator","aws-sam-translator"],["aws_xray_sdk","aws-xray-sdk"],["awscli","awscli"],["awswrangler","awswrangler"],["azure.appconfiguration","azure-appconfiguration"],["azure.batch","azure-batch"],["azure",new Set(["azure-datalake-store","azure-storage-file-share","azure-cli","azure-devops","azure-cosmosdb-nspkg","azure-cosmosdb-table","azure-kusto-data","azure-storage-file-datalake"])],["azure.cli.core","azure-cli-core"],["azure.cli.telemetry","azure-cli-telemetry"],["azure.common","azure-common"],["azure.core","azure-core"],["azure.cosmos","azure-cosmos"],["azure.data.tables","azure-data-tables"],["azure.eventgrid","azure-eventgrid"],["azure.eventhub","azure-eventhub"],["azure.graphrbac","azure-graphrbac"],["azure.identity","azure-identity"],["azure.keyvault.certificates","azure-keyvault-certificates"],["azure.keyvault.keys","azure-keyvault-keys"],["azure.keyvault.secrets","azure-keyvault-secrets"],["azure.kusto.ingest","azure-kusto-ingest"],["azure.loganalytics","azure-loganalytics"],["azure.mgmt.advisor","azure-mgmt-advisor"],["azure.mgmt.apimanagement","azure-mgmt-apimanagement"],["azure.mgmt.applicationinsights","azure-mgmt-applicationinsights"],["azure.mgmt.authorization","azure-mgmt-authorization"],["azure.mgmt.batch","azure-mgmt-batch"],["azure.mgmt.batchai","azure-mgmt-batchai"],["azure.mgmt.billing","azure-mgmt-billing"],["azure.mgmt.cdn","azure-mgmt-cdn"],["azure.mgmt.cognitiveservices","azure-mgmt-cognitiveservices"],["azure.mgmt.compute","azure-mgmt-compute"],["azure.mgmt.consumption","azure-mgmt-consumption"],["azure.mgmt.containerinstance","azure-mgmt-containerinstance"],["azure.mgmt.containerregistry","azure-mgmt-containerregistry"],["azure.mgmt.containerservice","azure-mgmt-containerservice"],["azure.mgmt.core","azure-mgmt-core"],["azure.mgmt.cosmosdb","azure-mgmt-cosmosdb"],["azure.mgmt.datafactory","azure-mgmt-datafactory"],["azure.mgmt.datalake.analytics","azure-mgmt-datalake-analytics"],["azure.mgmt.datalake.store","azure-mgmt-datalake-store"],["azure.mgmt.datamigration","azure-mgmt-datamigration"],["azure.mgmt.devtestlabs","azure-mgmt-devtestlabs"],["azure.mgmt.dns","azure-mgmt-dns"],["azure.mgmt.eventgrid","azure-mgmt-eventgrid"],["azure.mgmt.eventhub","azure-mgmt-eventhub"],["azure.mgmt.hdinsight","azure-mgmt-hdinsight"],["azure.mgmt.imagebuilder","azure-mgmt-imagebuilder"],["azure.mgmt.iotcentral","azure-mgmt-iotcentral"],["azure.mgmt.iothub","azure-mgmt-iothub"],["azure.mgmt.iothubprovisioningservices","azure-mgmt-iothubprovisioningservices"],["azure.mgmt.keyvault","azure-mgmt-keyvault"],["azure.mgmt.kusto","azure-mgmt-kusto"],["azure.mgmt.loganalytics","azure-mgmt-loganalytics"],["azure.mgmt.managedservices","azure-mgmt-managedservices"],["azure.mgmt.managementgroups","azure-mgmt-managementgroups"],["azure.mgmt.maps","azure-mgmt-maps"],["azure.mgmt.marketplaceordering","azure-mgmt-marketplaceordering"],["azure.mgmt.media","azure-mgmt-media"],["azure.mgmt.monitor","azure-mgmt-monitor"],["azure.mgmt.msi","azure-mgmt-msi"],["azure.mgmt.netapp","azure-mgmt-netapp"],["azure.mgmt.network","azure-mgmt-network"],["azure.mgmt.policyinsights","azure-mgmt-policyinsights"],["azure.mgmt.privatedns","azure-mgmt-privatedns"],["azure.mgmt.rdbms","azure-mgmt-rdbms"],["azure.mgmt.recoveryservices","azure-mgmt-recoveryservices"],["azure.mgmt.recoveryservicesbackup","azure-mgmt-recoveryservicesbackup"],["azure.mgmt.redis","azure-mgmt-redis"],["azure.mgmt.relay","azure-mgmt-relay"],["azure.mgmt.reservations","azure-mgmt-reservations"],["azure.mgmt.resource","azure-mgmt-resource"],["azure.mgmt.search","azure-mgmt-search"],["azure.mgmt.security","azure-mgmt-security"],["azure.mgmt.servicebus","azure-mgmt-servicebus"],["azure.mgmt.servicefabric","azure-mgmt-servicefabric"],["azure.mgmt.signalr","azure-mgmt-signalr"],["azure.mgmt.sql","azure-mgmt-sql"],["azure.mgmt.sqlvirtualmachine","azure-mgmt-sqlvirtualmachine"],["azure.mgmt.storage","azure-mgmt-storage"],["azure.mgmt.subscription","azure-mgmt-subscription"],["azure.mgmt.trafficmanager","azure-mgmt-trafficmanager"],["azure.mgmt.web","azure-mgmt-web"],["azure.multiapi.storage","azure-multiapi-storage"],["azure.servicebus","azure-servicebus"],["azure.storage.blob","azure-storage-blob"],["azure.storage.common","azure-storage-common"],["azure.storage.file","azure-storage-file"],["azure.storage.queue","azure-storage-queue"],["azureml","azureml-core"],["babel","babel"],["backcall","backcall"],["backoff","backoff"],["backports",new Set(["backports.functools-lru-cache","backports.csv","backports.weakref","configparser","backports.tempfile"])],["bandit","bandit"],["bcrypt","bcrypt"],["bs4","beautifulsoup4"],["bs4.builder","beautifulsoup4"],["bs4.tests","beautifulsoup4"],["billiard","billiard"],["binaryornot","binaryornot"],["bitarray","bitarray"],["bitstring","bitstring"],["black","black"],["bleach","bleach"],["blinker","blinker"],["blis","blis"],["bokeh","bokeh"],["boltons","boltons"],["boto","boto"],["boto3","boto3"],["boto3-stubs","boto3-stubs"],["botocore","botocore"],["bottle","bottle"],["brotli","brotli"],["build","build"],["cachecontrol","cachecontrol"],["cached_property","cached-property"],["cachelib","cachelib"],["cachetools","cachetools"],["cachy","cachy"],["catalogue","catalogue"],["catboost","catboost"],["cattrs","cattrs"],["celery","celery"],["cerberus","cerberus"],["certifi","certifi"],["cffi","cffi"],["cfgv","cfgv"],["cfn_clean","cfn-flip"],["cfn_flip","cfn-flip"],["cfn_tools","cfn-flip"],["cfnlint","cfn-lint"],["chardet","chardet"],["charset_normalizer","charset-normalizer"],["cheroot","cheroot"],["cherrypy","cherrypy"],["ciso8601","ciso8601"],["cleo","cleo"],["click","click"],["click_didyoumean","click-didyoumean"],["click_plugins","click-plugins"],["click_repl","click-repl"],["clickclick","clickclick"],["cliff","cliff"],["cligj","cligj"],["clikit","clikit"],["cloudpickle","cloudpickle"],["cmd2","cmd2"],["cmdstanpy","cmdstanpy"],["colorama","colorama"],["coloredlogs","coloredlogs"],["colorlog","colorlog"],["commonmark","commonmark"],["configargparse","configargparse"],["configobj","configobj"],["configparser","configparser"],["confluent_kafka","confluent-kafka"],["connexion","connexion"],["constantly","constantly"],["constructs","constructs"],["contextlib2","contextlib2"],["contourpy","contourpy"],["convertdate","convertdate"],["cookiecutter","cookiecutter"],["coverage","coverage"],["crashtest","crashtest"],["crcmod","crcmod"],["cron_descriptor","cron-descriptor"],["croniter","croniter"],["cryptography","cryptography"],["cssselect","cssselect"],["curlify","curlify"],["cycler","cycler"],["cymem","cymem"],["cython","cython"],["dask","dask"],["databricks_api","databricks-api"],["databricks_cli","databricks-cli"],["dataclasses","dataclasses"],["dataclasses_json","dataclasses-json"],["datadog","datadog"],["dateparser","dateparser"],["dateparser_data","dateparser"],["datetime","datetime"],["db_dtypes","db-dtypes"],["dbt","dbt-core"],["ddtrace","ddtrace"],["debugpy","debugpy"],["decorator","decorator"],["deepdiff","deepdiff"],["defusedxml","defusedxml"],["delta","delta-spark"],["deprecated","deprecated"],["deprecation","deprecation"],["dill","dill"],["distlib","distlib"],["distributed","distributed"],["distro","distro"],["django","django"],["corsheaders","django-cors-headers"],["django_extensions","django-extensions"],["django_filters","django-filter"],["storages","django-storages"],["rest_framework","djangorestframework"],["docker","docker"],["compose","docker-compose"],["dockerpycreds","docker-pycreds"],["docopt","docopt"],["docstring_parser","docstring-parser"],["docutils","docutils"],["dpath","dpath"],["dulwich","dulwich"],["dvc","dvc"],["dynaconf","dynaconf"],["ecdsa","ecdsa"],["elastic_transport","elastic-transport"],["elasticsearch","elasticsearch"],["elasticsearch_dsl","elasticsearch-dsl"],["email_validator","email-validator"],["emoji","emoji"],["entrypoints","entrypoints"],["enum","enum34"],["ephem","ephem"],["et_xmlfile","et-xmlfile"],["exceptiongroup","exceptiongroup"],["execnet","execnet"],["executing","executing"],["ezfnsetup","ezfnsetup"],["fabric","fabric"],["factory","factory-boy"],["faker","faker"],["fastapi","fastapi"],["fastavro","fastavro"],["fasteners","fasteners"],["fastjsonschema","fastjsonschema"],["fastparquet","fastparquet"],["feedparser","feedparser"],["filelock","filelock"],["findspark","findspark"],["fire","fire"],["flake8","flake8"],["flask","flask"],["flask_appbuilder","flask-appbuilder"],["flask_babel","flask-babel"],["flask_compress","flask-compress"],["flask_cors","flask-cors"],["flask_jwt_extended","flask-jwt-extended"],["flask_login","flask-login"],["flask_oidc","flask-oidc"],["flask_wtf","flask-wtf"],["flatbuffers","flatbuffers"],["flower","flower"],["fontTools","fonttools"],["fortnitepy","fortnitepy"],["freezegun","freezegun"],["frozendict","frozendict"],["frozenlist","frozenlist"],["fsspec","fsspec"],["ftfy","ftfy"],["funcsigs","funcsigs"],["future","future"],["libfuturize","future"],["libpasteurize","future"],["past","future"],["concurrent","futures"],["fuzzywuzzy","fuzzywuzzy"],["gast","gast"],["gcsfs","gcsfs"],["gensim","gensim"],["geographiclib","geographiclib"],["geoip2","geoip2"],["geopy","geopy"],["gevent","gevent"],["gitdb","gitdb"],["git","gitpython"],["googlesearch","google"],["google",new Set(["grpc-google-iam-v1","google-resumable-media","google-cloud-appengine-logging","google-cloud-bigquery-storage","google-cloud-audit-log","google-cloud-core","googleapis-common-protos","google-cloud-secret-manager","google-cloud-spanner","google-api-core"])],["apiclient","google-api-python-client"],["googleapiclient","google-api-python-client"],["googleapiclient.discovery_cache","google-api-python-client"],["apitools","google-apitools"],["google.auth","google-auth"],["google_auth_httplib2","google-auth-httplib2"],["google_auth_oauthlib","google-auth-oauthlib"],["google.cloud.bigquery","google-cloud-bigquery"],["google.cloud.bigtable","google-cloud-bigtable"],["google.cloud.datastore","google-cloud-datastore"],["google.cloud.dlp","google-cloud-dlp"],["google.cloud.firestore","google-cloud-firestore"],["google.cloud.kms","google-cloud-kms"],["google.cloud.language","google-cloud-language"],["google.cloud.logging","google-cloud-logging"],["google.cloud.monitoring","google-cloud-monitoring"],["google.cloud.pubsub","google-cloud-pubsub"],["google.cloud.pubsublite","google-cloud-pubsublite"],["google.cloud.storage","google-cloud-storage"],["google.cloud.videointelligence","google-cloud-videointelligence"],["google.cloud.vision","google-cloud-vision"],["google_crc32c","google-crc32c"],["pasta","google-pasta"],["graphframes","graphframes"],["graphql","graphql-core"],["graphviz","graphviz"],["great_expectations","great-expectations"],["scripts","great-expectations"],["greenlet","greenlet"],["gremlin_python","gremlinpython"],["grpc","grpcio"],["grpc_status","grpcio-status"],["grpc_tools","grpcio-tools"],["gspread","gspread"],["gspread_dataframe","gspread-dataframe"],["gslib","gsutil"],["gunicorn","gunicorn"],["h11","h11"],["h2","h2"],["h3","h3"],["h5py","h5py"],["hdfs","hdfs"],["heapdict","heapdict"],["hijri_converter","hijri-converter"],["hiredis","hiredis"],["holidays","holidays"],["holidays.countries","holidays"],["holidays.financial","holidays"],["hpack","hpack"],["html5lib","html5lib"],["httpcore","httpcore"],["httpcore._async","httpcore"],["httpcore._sync","httpcore"],["httpcore.backends","httpcore"],["httplib2","httplib2"],["httptools","httptools"],["httpx","httpx"],["httpx._transports","httpx"],["huggingface_hub","huggingface-hub"],["humanfriendly","humanfriendly"],["humanize","humanize"],["hvac","hvac"],["hyperframe","hyperframe"],["hyperlink","hyperlink"],["hyperopt","hyperopt"],["_hypothesis_ftz_detector","hypothesis"],["_hypothesis_pytestplugin","hypothesis"],["hypothesis","hypothesis"],["identify","identify"],["idna","idna"],["idna_ssl","idna-ssl"],["ijson","ijson"],["imageio","imageio"],["imageio_ffmpeg","imageio-ffmpeg"],["imagesize","imagesize"],["imblearn","imbalanced-learn"],["importlib_metadata","importlib-metadata"],["importlib_resources","importlib-resources"],["incremental","incremental"],["inflect","inflect"],["inflection","inflection"],["influxdb","influxdb"],["iniconfig","iniconfig"],["invoke","invoke"],["ipaddress","ipaddress"],["ipdb","ipdb"],["ipykernel","ipykernel"],["IPython","ipython"],["ipython_genutils","ipython-genutils"],["ipywidgets","ipywidgets"],["iso8601","iso8601"],["isodate","isodate"],["isort","isort"],["itsdangerous","itsdangerous"],["javaproperties","javaproperties"],["jaydebeapi","jaydebeapi"],["jdcal","jdcal"],["jedi","jedi"],["jeepney","jeepney"],["jellyfish","jellyfish"],["jikanpy","jikanpy"],["jinja2","jinja2"],["jinja2_time","jinja2-time"],["jira","jira"],["jmespath","jmespath"],["joblib","joblib"],["jpype","jpype1"],["jschema_to_python","jschema-to-python"],["jsondiff","jsondiff"],["jsonpatch","jsonpatch"],["jsonpath_ng","jsonpath-ng"],["jsonpickle","jsonpickle"],["jsonpointer","jsonpointer"],["jsonschema","jsonschema"],["junit_xml","junit-xml"],["jupyter","jupyter"],["jupyter_client","jupyter-client"],["jupyter_console","jupyter-console"],["jupyter_core","jupyter-core"],["jupyterlab","jupyterlab"],["jupyterlab_pygments","jupyterlab-pygments"],["jupyterlab_server","jupyterlab-server"],["jupyterlab_widgets","jupyterlab-widgets"],["kafka","kafka-python"],["kazoo","kazoo"],["keras","keras"],["keras_applications","keras-applications"],["keras_preprocessing","keras-preprocessing"],["keyring","keyring"],["kfp",new Set(["kfp","kfp-pipeline-spec"])],["kfp_server_api","kfp-server-api"],["kiwisolver","kiwisolver"],["knack","knack"],["kombu","kombu"],["korean_lunar_calendar","korean-lunar-calendar"],["kubernetes","kubernetes"],["langcodes","langcodes"],["lazy_object_proxy","lazy-object-proxy"],["clang","libclang"],["libcst","libcst"],["linkify_it","linkify-it-py"],["llvmlite","llvmlite"],["locket","locket"],["lockfile","lockfile"],["loguru","loguru"],["lunarcalendar","lunarcalendar"],["lxml","lxml"],["makefun","makefun"],["mako","mako"],["markdown","markdown"],["markupsafe","markupsafe"],["marshmallow","marshmallow"],["marshmallow_enum","marshmallow-enum"],["marshmallow_oneofschema","marshmallow-oneofschema"],["marshmallow_sqlalchemy","marshmallow-sqlalchemy"],["matplotlib","matplotlib"],["mpl_toolkits","matplotlib"],["pylab","matplotlib"],["matplotlib_inline","matplotlib-inline"],["maxminddb","maxminddb"],["mccabe","mccabe"],["mdit_py_plugins","mdit-py-plugins"],["mdurl","mdurl"],["mistune","mistune"],["mlflow","mlflow"],["mock","mock"],["monotonic","monotonic"],["more_itertools","more-itertools"],["moto","moto"],["motor","motor"],["moviepy","moviepy"],["mpmath","mpmath"],["msal","msal"],["msal_extensions","msal-extensions"],["msgpack",new Set(["msgpack-python","msgpack"])],["msrest","msrest"],["msrestazure","msrestazure"],["multi_key_dict","multi-key-dict"],["multidict","multidict"],["_multiprocess","multiprocess"],["multiprocess","multiprocess"],["munch","munch"],["murmurhash","murmurhash"],["mypy","mypy"],["mypyc","mypy"],["mypy_boto3_rds","mypy-boto3-rds"],["mypy_boto3_s3","mypy-boto3-s3"],["mypy_extensions","mypy-extensions"],["mysql","mysql-connector-python"],["mysqlx","mysql-connector-python"],["natsort","natsort"],["nbclient","nbclient"],["nbconvert","nbconvert"],["nbformat","nbformat"],["ndg","ndg-httpsclient"],["nest_asyncio","nest-asyncio"],["netaddr","netaddr"],["networkx","networkx"],["ninja","ninja"],["nltk","nltk"],["nodeenv","nodeenv"],["nose","nose"],["notebook","notebook"],["ntlm_auth","ntlm-auth"],["numba","numba"],["numexpr","numexpr"],["numpy","numpy"],["oauth2client","oauth2client"],["oauthlib","oauthlib"],["omegaconf","omegaconf"],["pydevd_plugins","omegaconf"],["onnxruntime","onnxruntime"],["openapi_spec_validator","openapi-spec-validator"],["opencensus",new Set(["opencensus","opencensus-ext-azure","opencensus-context"])],["cv2",new Set(["opencv-python","opencv-python-headless"])],["openpyxl","openpyxl"],["opensearchpy","opensearch-py"],["opt_einsum","opt-einsum"],["benchmarks","optuna"],["optuna","optuna"],["ordered_set","ordered-set"],["orderedmultidict","orderedmultidict"],["orjson","orjson"],["oscrypto","oscrypto"],["outcome","outcome"],["overrides","overrides"],["packaging","packaging"],["pandas","pandas"],["pandas_gbq","pandas-gbq"],["pandocfilters","pandocfilters"],["parameterized","parameterized"],["paramiko","paramiko"],["parse","parse"],["parsedatetime","parsedatetime"],["parso","parso"],["partd","partd"],["passlib","passlib"],["pastel","pastel"],["pathlib","pathlib"],["pathlib2","pathlib2"],["pathos","pathos"],["pathspec","pathspec"],["pathtools","pathtools"],["pathy","pathy"],["patsy","patsy"],["pbr","pbr"],["pendulum","pendulum"],["pep517","pep517"],["pexpect","pexpect"],["pg8000","pg8000"],["pgpy","pgpy"],["phonenumbers","phonenumbers"],["pickleshare","pickleshare"],["pika","pika"],["PIL","pillow"],["pip","pip"],["piptools","pip-tools"],["pipenv","pipenv"],["pkginfo","pkginfo"],["pkgutil_resolve_name","pkgutil_resolve_name"],["platformdirs","platformdirs"],["_plotly_future_","plotly"],["_plotly_utils","plotly"],["jupyterlab_plotly","plotly"],["plotly","plotly"],["pluggy","pluggy"],["ply","ply"],["poetry","poetry"],["poetry_plugin_export","poetry-plugin-export"],["polling","polling"],["portalocker","portalocker"],["portend","portend"],["pox","pox"],["pp","ppft"],["ppft","ppft"],["pre_commit","pre-commit"],["preshed","preshed"],["prettytable","prettytable"],["prison","prison"],["proglog","proglog"],["progressbar","progressbar2"],["prometheus_client","prometheus-client"],["prometheus_flask_exporter","prometheus-flask-exporter"],["promise","promise"],["prompt_toolkit","prompt-toolkit"],["proto","proto-plus"],["protobuf_to_dict","protobuf3-to-dict"],["psutil","psutil"],["ptyprocess","ptyprocess"],["pure_eval","pure-eval"],["py",new Set(["py","pytest"])],["py4j","py4j"],["pyaes","pyaes"],["pyaml","pyaml"],["pyarrow","pyarrow"],["pyasn1","pyasn1"],["pyasn1_modules","pyasn1-modules"],["pyathena","pyathena"],["pybind11","pybind11"],["pycares","pycares"],["pycodestyle","pycodestyle"],["pycountry","pycountry"],["pycparser","pycparser"],["pycron","pycron"],["Crypto",new Set(["pycryptodome","pycrypto"])],["Cryptodome","pycryptodomex"],["curl","pycurl"],["pydantic","pydantic"],["pydata_google_auth","pydata-google-auth"],["pydeequ","pydeequ"],["deprecate","pydeprecate"],["pydocstyle","pydocstyle"],["dot_parser","pydot"],["pydot","pydot"],["pydub","pydub"],["pyee","pyee"],["pyflakes","pyflakes"],["pygeohash","pygeohash"],["github","pygithub"],["pygments","pygments"],["pyhive","pyhive"],["pyhocon","pyhocon"],["jwt","pyjwt"],["pylev","pylev"],["pylint","pylint"],["pymeeus","pymeeus"],["bson","pymongo"],["gridfs","pymongo"],["pymongo","pymongo"],["pymysql","pymysql"],["nacl","pynacl"],["OpenSSL","pyopenssl"],["pyotp","pyotp"],["pypandoc","pypandoc"],["pyparsing","pyparsing"],["pypdf2","pypdf2"],["pyperclip","pyperclip"],["pyproj","pyproj"],["pyrfc3339","pyrfc3339"],["pyrogram","pyrogram"],["_pyrsistent_version","pyrsistent"],["pyrsistent","pyrsistent"],["serial","pyserial"],["pysftp","pysftp"],["socks","pysocks"],["sockshandler","pysocks"],["pyspark","pyspark"],["_pytest","pytest"],["pytest","pytest"],["pytest_asyncio","pytest-asyncio"],["pytest_cov","pytest-cov"],["pytest_forked","pytest-forked"],["pytest_html","pytest-html"],["pytest_metadata","pytest-metadata"],["pytest_mock","pytest-mock"],["pytest_rerunfailures","pytest-rerunfailures"],["ptr","pytest-runner"],["pytest_timeout","pytest-timeout"],["xdist","pytest-xdist"],["consul.__init__","python-consul"],["consul.aio","python-consul"],["consul.base","python-consul"],["consul.std","python-consul"],["consul.tornado","python-consul"],["consul.twisted","python-consul"],["daemon","python-daemon"],["dateutil","python-dateutil"],["docx","python-docx"],["dotenv","python-dotenv"],["editor","python-editor"],["gitlab","python-gitlab"],["gnupg","python-gnupg"],["python_http_client","python-http-client"],["jenkins","python-jenkins"],["jose","python-jose"],["jose.backends","python-jose"],["pythonjsonlogger","python-json-logger"],["magic","python-magic"],["multipart","python-multipart"],["slugify","python-slugify"],["snappy","python-snappy"],["python_utils","python-utils"],["openid","python3-openid"],["pytimeparse","pytimeparse"],["pytorch_lightning","pytorch-lightning"],["pytz","pytz"],["pytz_deprecation_shim","pytz-deprecation-shim"],["pytzdata","pytzdata"],["pywt","pywavelets"],["_yaml","pyyaml"],["yaml","pyyaml"],["zmq","pyzmq"],["qtconsole","qtconsole"],["qtpy","qtpy"],["querystring_parser","querystring-parser"],["rapidfuzz","rapidfuzz"],["ratelimit","ratelimit"],["ray","ray"],["readme_renderer","readme-renderer"],["redis","redis"],["rediscluster","redis-py-cluster"],["redshift_connector","redshift-connector"],["regex","regex"],["requests","requests"],["requests_aws4auth","requests-aws4auth"],["requests_file","requests-file"],["requests_mock","requests-mock"],["requests_ntlm","requests-ntlm"],["requests_oauthlib","requests-oauthlib"],["requests_toolbelt","requests-toolbelt"],["resampy","resampy"],["resolvelib","resolvelib"],["responses","responses"],["retry","retry"],["retrying","retrying"],["rfc3986","rfc3986"],["rich","rich"],["rsa","rsa"],["rtree","rtree"],["ruamel",new Set(["ruamel.yaml.clib","ruamel.yaml"])],["rx","rx"],["s3fs","s3fs"],["s3transfer","s3transfer"],["sacremoses","sacremoses"],["sagemaker","sagemaker"],["sarif_om","sarif-om"],["sasl","sasl"],["scandir","scandir"],["schema","schema"],["skimage","scikit-image"],["sklearn","scikit-learn"],["scipy","scipy"],["scp","scp"],["scramp","scramp"],["seaborn","seaborn"],["secretstorage","secretstorage"],["sekkaybot","sekkaybot"],["selenium","selenium"],["semantic_version","semantic-version"],["semver","semver"],["send2trash","send2trash"],["sendgrid","sendgrid"],["sentencepiece","sentencepiece"],["sentencepiece.__init__","sentencepiece"],["sentencepiece._version","sentencepiece"],["sentencepiece.sentencepiece_model_pb2","sentencepiece"],["sentencepiece.sentencepiece_pb2","sentencepiece"],["sentry_sdk","sentry-sdk"],["service_identity","service-identity"],["setproctitle","setproctitle"],["_distutils_hack","setuptools"],["pkg_resources","setuptools"],["setuptools","setuptools"],["setuptools_git","setuptools-git"],["setuptools_rust","setuptools-rust"],["setuptools_scm","setuptools-scm"],["sgmllib","sgmllib3k"],["sh","sh"],["shap","shap"],["shapely","shapely"],["shellingham","shellingham"],["shortuuid","shortuuid"],["simple_salesforce","simple-salesforce"],["simplejson","simplejson"],["singledispatch","singledispatch"],["six","six"],["slack",new Set(["slack-sdk","slackclient"])],["slack_sdk","slack-sdk"],["slicer","slicer"],["smart_open","smart-open"],["smdebug_rulesconfig","smdebug-rulesconfig"],["smmap","smmap"],["sniffio","sniffio"],["snowballstemmer","snowballstemmer"],["snowflake","snowflake-connector-python"],["snowflake.sqlalchemy","snowflake-sqlalchemy"],["sortedcontainers","sortedcontainers"],["soupsieve","soupsieve"],["spacy","spacy"],["spacy_legacy","spacy-legacy"],["spacy_loggers","spacy-loggers"],["com","spark-nlp"],["sparknlp","spark-nlp"],["sphinx","sphinx"],["sphinx_rtd_theme","sphinx-rtd-theme"],["sphinxcontrib.applehelp","sphinxcontrib-applehelp"],["sphinxcontrib.devhelp","sphinxcontrib-devhelp"],["sphinxcontrib.htmlhelp","sphinxcontrib-htmlhelp"],["sphinxcontrib.jsmath","sphinxcontrib-jsmath"],["sphinxcontrib.qthelp","sphinxcontrib-qthelp"],["sphinxcontrib.serializinghtml","sphinxcontrib-serializinghtml"],["sqlalchemy","sqlalchemy"],["sqlalchemy_json","sqlalchemy-json"],["sqlalchemy_jsonfield","sqlalchemy-jsonfield"],["redshift_sqlalchemy","sqlalchemy-redshift"],["sqlalchemy_redshift","sqlalchemy-redshift"],["sqlparse","sqlparse"],["srsly","srsly"],["sshtunnel","sshtunnel"],["stack_data","stack-data"],["ellipticcurve","starkbank-ecdsa"],["starlette","starlette"],["statsd","statsd"],["statsmodels","statsmodels"],["stevedore","stevedore"],["strict_rfc3339","strict-rfc3339"],["stringcase","stringcase"],["strip_hints","strip-hints"],["structlog","structlog"],["swagger_ui_bundle","swagger-ui-bundle"],["isympy","sympy"],["sympy","sympy"],["tableauserverclient","tableauserverclient"],["tabulate","tabulate"],["tblib","tblib"],["tempora","tempora"],["tenacity","tenacity"],["tensorboard","tensorboard"],["tensorboard_data_server","tensorboard-data-server"],["tensorboard_plugin_wit","tensorboard-plugin-wit"],["tensorflow_addons","tensorflow-addons"],["tensorflow_estimator","tensorflow-estimator"],["tensorflow_hub","tensorflow-hub"],["tensorflow_metadata","tensorflow-metadata"],["termcolor","termcolor"],["terminado","terminado"],["terminaltables","terminaltables"],["testpath","testpath"],["text_unidecode","text-unidecode"],["texttable","texttable"],["thinc","thinc"],["threadpoolctl","threadpoolctl"],["thrift","thrift"],["thrift_sasl","thrift-sasl"],["tifffile","tifffile"],["timezonefinder","timezonefinder"],["tinycss2","tinycss2"],["tld","tld"],["tldextract","tldextract"],["tokenizers","tokenizers"],["toml","toml"],["tomli","tomli"],["tomlkit","tomlkit"],["tlz","toolz"],["toolz","toolz"],["caffe2","torch"],["torch","torch"],["torchgen","torch"],["torchmetrics","torchmetrics"],["torchvision","torchvision"],["tornado","tornado"],["tox","tox"],["tqdm","tqdm"],["traitlets","traitlets"],["transformers","transformers"],["trio","trio"],["trio_websocket","trio-websocket"],["twilio","twilio"],["twine","twine"],["twisted","twisted"],["typed_ast","typed-ast"],["typeguard","typeguard"],["typer","typer"],["cryptography-stubs","types-cryptography"],["pytz-stubs","types-pytz"],["yaml-stubs","types-pyyaml"],["requests-stubs","types-requests"],["pkg_resources-stubs","types-setuptools"],["setuptools-stubs","types-setuptools"],["urllib3-stubs","types-urllib3"],["typing","typing"],["typing_extensions","typing-extensions"],["typing_inspect","typing-inspect"],["tzdata","tzdata"],["tzlocal","tzlocal"],["ua_parser","ua-parser"],["uamqp","uamqp"],["uc_micro","uc-micro-py"],["unicodecsv","unicodecsv"],["unidecode","unidecode"],["xmlrunner","unittest-xml-reporting"],["uritemplate","uritemplate"],["uritools","uritools"],["urlextract","urlextract"],["urllib3","urllib3"],["urllib3_secure_extra","urllib3-secure-extra"],["user_agents","user-agents"],["uvicorn","uvicorn"],["uvloop","uvloop"],["validators","validators"],["vine","vine"],["virtualenv","virtualenv"],["clonevirtualenv","virtualenv-clone"],["w3lib","w3lib"],["wandb","wandb"],["wasabi","wasabi"],["watchdog","watchdog"],["watchtower","watchtower"],["watergrid","watergrid"],["wcwidth","wcwidth"],["webencodings","webencodings"],["websocket","websocket-client"],["websockets","websockets"],["websockets.extensions","websockets"],["websockets.legacy","websockets"],["werkzeug","werkzeug"],["wheel","wheel"],["widgetsnbextension","widgetsnbextension"],["wrapt","wrapt"],["wsproto","wsproto"],["wtforms","wtforms"],["xarray","xarray"],["xgboost","xgboost"],["xlrd","xlrd"],["xlsxwriter","xlsxwriter"],["xlwt","xlwt"],["xmltodict","xmltodict"],["xxhash","xxhash"],["yamllint","yamllint"],["yapf","yapf"],["yapftests","yapf"],["yarl","yarl"],["youtubesearchpython","youtube-search-python"],["yq","yq"],["yt_dlp","yt-dlp"],["z3","z3-solver"],["zc","zc.lockfile"],["zeep","zeep"],["zict","zict"],["zipp","zipp"],["zope",new Set(["zope.event","zope.interface"])],["zstandard","zstandard"]]),sm=new Map([["azure",new Set(["azure.appconfiguration","azure.batch","azure.cli.core","azure.cli.telemetry","azure.common","azure.core","azure.cosmos","azure.data.tables","azure.eventgrid","azure.eventhub","azure.graphrbac","azure.identity","azure.keyvault.certificates","azure.keyvault.keys","azure.keyvault.secrets","azure.kusto.ingest","azure.loganalytics","azure.mgmt.advisor","azure.mgmt.apimanagement","azure.mgmt.applicationinsights","azure.mgmt.authorization","azure.mgmt.batch","azure.mgmt.batchai","azure.mgmt.billing","azure.mgmt.cdn","azure.mgmt.cognitiveservices","azure.mgmt.compute","azure.mgmt.consumption","azure.mgmt.containerinstance","azure.mgmt.containerregistry","azure.mgmt.containerservice","azure.mgmt.core","azure.mgmt.cosmosdb","azure.mgmt.datafactory","azure.mgmt.datalake.analytics","azure.mgmt.datalake.store","azure.mgmt.datamigration","azure.mgmt.devtestlabs","azure.mgmt.dns","azure.mgmt.eventgrid","azure.mgmt.eventhub","azure.mgmt.hdinsight","azure.mgmt.imagebuilder","azure.mgmt.iotcentral","azure.mgmt.iothub","azure.mgmt.iothubprovisioningservices","azure.mgmt.keyvault","azure.mgmt.kusto","azure.mgmt.loganalytics","azure.mgmt.managedservices","azure.mgmt.managementgroups","azure.mgmt.maps","azure.mgmt.marketplaceordering","azure.mgmt.media","azure.mgmt.monitor","azure.mgmt.msi","azure.mgmt.netapp","azure.mgmt.network","azure.mgmt.policyinsights","azure.mgmt.privatedns","azure.mgmt.rdbms","azure.mgmt.recoveryservices","azure.mgmt.recoveryservicesbackup","azure.mgmt.redis","azure.mgmt.relay","azure.mgmt.reservations","azure.mgmt.resource","azure.mgmt.search","azure.mgmt.security","azure.mgmt.servicebus","azure.mgmt.servicefabric","azure.mgmt.signalr","azure.mgmt.sql","azure.mgmt.sqlvirtualmachine","azure.mgmt.storage","azure.mgmt.subscription","azure.mgmt.trafficmanager","azure.mgmt.web","azure.multiapi.storage","azure.servicebus","azure.storage.blob","azure.storage.common","azure.storage.file","azure.storage.queue"])],["bs4",new Set(["bs4.builder","bs4.tests"])],["googleapiclient",new Set(["googleapiclient.discovery_cache"])],["google",new Set(["google.auth","google.cloud.bigquery","google.cloud.bigtable","google.cloud.datastore","google.cloud.dlp","google.cloud.firestore","google.cloud.kms","google.cloud.language","google.cloud.logging","google.cloud.monitoring","google.cloud.pubsub","google.cloud.pubsublite","google.cloud.storage","google.cloud.videointelligence","google.cloud.vision"])],["holidays",new Set(["holidays.countries","holidays.financial"])],["httpcore",new Set(["httpcore._async","httpcore._sync","httpcore.backends"])],["httpx",new Set(["httpx._transports"])],["consul",new Set(["consul.__init__","consul.aio","consul.base","consul.std","consul.tornado","consul.twisted"])],["jose",new Set(["jose.backends"])],["sentencepiece",new Set(["sentencepiece.__init__","sentencepiece._version","sentencepiece.sentencepiece_model_pb2","sentencepiece.sentencepiece_pb2"])],["snowflake",new Set(["snowflake.sqlalchemy"])],["sphinxcontrib",new Set(["sphinxcontrib.applehelp","sphinxcontrib.devhelp","sphinxcontrib.htmlhelp","sphinxcontrib.jsmath","sphinxcontrib.qthelp","sphinxcontrib.serializinghtml"])],["websockets",new Set(["websockets.extensions","websockets.legacy"])]]);function sy(e,t,i){var r,n;return n4.z.equals(e.configOptions.pythonPath,t)?(r=e.importResolver.getPythonSearchPaths(),sb(e.fileSystem,r,void 0,i)):(n=e.importResolver.host.getPythonSearchPaths(t).paths,sb(e.fileSystem,n,void 0,i))}function sg(e,t){let i=e.readFileSync(t,"utf-8"),r=/^Version:\s+(.*)/gm.exec(i);if(r)return r[1]}async function sf(e,t){let i=e.serviceProvider.tryGet(n7.y.console);try{let r=t.pathEndsWith(ac.eK),n=t.pathEndsWith(ac.Q$);if(r)return await sw(e,function e(t,i,r=new Set){if(!t.existsSync(i))return r;let n=t.readFileSync(i,"utf8");for(let a of(0,aS.parseFile)(n,!0)){let n=sT(a);if(n){r.add(n);continue}if("CommandLineFlag"===a.type&&a.args&&a.args.length>0&&"-r"===a.flag){e(t,i.getDirectory().combinePaths(a.args[0]),r);continue}}return r}(e.fileSystem,t),i);if(n){let r=e.fileSystem.readFileSync(t,"utf8"),n=aI.q(r),a=await sw(e,function(e,t){var i,r,n,a,s,o,l,d,u,p,c,h;let m,y=new Set;if(n4.z.is(t)){if(!e.existsSync(t))return y;let i=e.readFileSync(t,"utf8");m=aI.q(i)}else m=t;return(null==(i=m.project)?void 0:i.dependencies)&&m.project.dependencies.forEach(e=>sv(y,s_(e))),(null==(r=m.project)?void 0:r["optional-dependencies"])&&Object.values(m.project["optional-dependencies"]).forEach(e=>{e.forEach(e=>sv(y,s_(e)))}),(null==(a=m.tool)||null==(n=a.poetry)?void 0:n.dependencies)&&Object.keys(m.tool.poetry.dependencies).forEach(e=>sv(y,s_(e))),(null==(o=m.tool)||null==(s=o.poetry)?void 0:s.extras)&&Object.values(m.tool.poetry.extras).forEach(e=>{e.forEach(e=>sv(y,s_(e)))}),(null==(u=m.tool)||null==(d=u.flit)||null==(l=d.dependencies)?void 0:l.requires)&&m.tool.flit.dependencies.requires.forEach(e=>sv(y,s_(e))),(null==(h=m.tool)||null==(c=h.flit)||null==(p=c.extra)?void 0:p.requires)&&Object.values(m.tool.flit.extra.requires).forEach(e=>{e.forEach(e=>sv(y,s_(e)))}),y}(e.fileSystem,n),i);return a.requiredVersion=function(e){if(e)try{var t;return(null==(t=((0,n2.Kg)(e)?aI.q(e):e).project)?void 0:t["requires-python"])||void 0}catch{return}}(n),a}return}catch(e){null==i||i.log(`Failed to get direct dependencies: ${e}`);return}}function sv(e,t){t&&e.add(t)}function s_(e){let t=(0,aS.parseLine)(e,!0);if(t)return sT(t)}function sT(e){if("Requirement"===e.type){switch(e.subtype){case"URL":case"Path":case"PackageURL":return sS("Path"===e.subtype?e.path:e.url);case"Package":return e.package}(0,n6.xb)(e.subtype)}if(e.args&&0!==e.args.length&&"-e"===e.flag)return sS(e.args[0])}async function sw(e,t,i,r=nZ.CancellationToken.None){let n=[...t];null==i||i.log(`Dependency Discovered: ${n.join(" ,")}`);let a=n.map(e=>{var t;let i;return i="^"+((t=e).toLocaleLowerCase("en-US"),t.replace(/[^_\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"")).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/-/g,"[-_]")+"(?:[-].+)?\\.dist-info$",[t,RegExp(i,"i")]}),s=await e.getSnapshot(r),o=await e.getPythonSearchPaths(s,r)||[];return sb(e.fileSystem,o,a,r)}function sb(e,t,i,r){let n=new Set,a=new Map;for(let s of t){if(!e.existsSync(s))continue;let t=e.readdirEntriesSync(s).filter(e=>e.isDirectory()&&e.name.endsWith(".dist-info")).map(e=>e.name);for(let[o,l]of null!=i?i:t.map(e=>[e.split("-")[0],RegExp("^"+e+"$")])){let i=t.find(e=>l.test(e));i&&function(e,t,i,r,n,a,s){(0,n8.Lj)(s);let o=t.combinePaths(r);if(!e.existsSync(o))return;let l=o.combinePaths("top_level.txt");if(e.existsSync(l))for(let t of e.readFileSync(l,"utf8").split(/\r\n|\r|\n/)){let e=t.trim();e&&n.add(e)}let d=o.combinePaths("RECORD");if(e.existsSync(d))for(let t of e.readFileSync(d,"utf8").split(/\r\n|\r|\n/)){let[e]=t.split(","),i=(0,ak.QC)(e).toLowerCase();if(au.ZG.some(e=>e===i)){let t=e.split("/");1===t.length?n.add((0,ak.Qj)(t[0])):t.length>1&&n.add(t[0])}}let u=o.combinePaths("METADATA");if(e.existsSync(u)){let t=sg(e,u);if(t)return a.set(i,t)}let p=o.combinePaths("PKG-INFO");if(e.existsSync(p)){let t=sg(e,p);if(t)return a.set(i,t)}a.set(i,void 0)}(e,s,o,i,n,a,r)}}return{topLevelModules:n,distributions:a,requiredVersion:void 0}}function sS(e){let t;if(e)return((t=e.match(/#egg=([^&]+)/))?t[1]:void 0)||function(e){let t=e.match(/\/([^/]+\.whl)$/);if(!t)return;let i=t[1].split("-");return i.length>0?i[0]:void 0}(e)}var sk=i(31070),sI=i(23208),sC=i(62003),sP=i.n(sC),sx=i(40049),sF=i(17087),sA=i(37118),sD=i(29017),sE=i(68509),sR=i(81905),sN=i(43302),sM=i(45968),sO=i(92089),sU=i(56815),sL=i(41935),sz=i(74469),sW=i(73930);function sB(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class s${tryCreateProvider(e,t,i){var r,n;if(e!==sz.P.References)return;let a=t.find(this._isInitMethod);if(!a)return;let s=a.node.parent.parent,o=null==(n=this._view.evaluator.getDeclInfoForNameNode(s.d.name))||null==(r=n.decls)?void 0:r.find(aF.hw);if(o)return new sj(this._view,o,a,i)}_isInitMethod(e){var t,i;return(0,aF.vu)(e)&&e.isMethod&&"__init__"===e.node.d.name.d.value&&(null==(i=e.node.parent)||null==(t=i.parent)?void 0:t.nodeType)===aO.ye.Class&&e.node.parent.parent.d.name.d.value.length>0}constructor(e){sB(this,"_view",void 0),this._view=e}}class sj{appendSymbolNamesTo(e){let t=this._classDeclaration.node;e.add(t.d.name.d.value),e.add("cls")}appendDeclarationsTo(e){}appendDeclarationsAt(e,t,i){var r,n;if((0,n8.Lj)(this._token),e.nodeType===aO.ye.Name&&(null==(r=e.parent)?void 0:r.nodeType)===aO.ye.Call){if((null==(n=e.d)?void 0:n.value)==="cls"){let e=this._resolveClsParameterType(t);if("match"===e.kind)return void i.push(e.declaration)}for(let e of t){if((0,aA.MY)(e,this._classDeclaration))return void i.push(this._initDeclaration);let t=this._aliasResolver.resolve(e,!0);if(t&&(0,aA.MY)(t,this._classDeclaration))return void i.push(this._initDeclaration)}}}_resolveClsParameterType(e){let t=e.find(aF.cU);if(!t||!t.node.d.name)return{kind:"noMatch"};let i=this._view.evaluator.getType(t.node.d.name);if(!i)return{kind:"noMatch"};let r=i;if((0,aM.CP)(r)&&r.shared.boundType&&(r=r.shared.boundType),!(0,aM.D4)(r))return{kind:"noMatch"};let n=r.shared.declaration;return n&&(0,aA.MY)(n,this._classDeclaration)?{kind:"match",declaration:this._initDeclaration}:{kind:"noMatch"}}constructor(e,t,i,r){sB(this,"_view",void 0),sB(this,"_classDeclaration",void 0),sB(this,"_initDeclaration",void 0),sB(this,"_token",void 0),sB(this,"_aliasResolver",void 0),this._view=e,this._classDeclaration=t,this._initDeclaration=i,this._token=r,this._aliasResolver=new sW.Hh(this._view.evaluator)}}function sK(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class sV{onFileDirty(e){var t,i;(null==(i=this._typingFileCache)||null==(t=i.info)?void 0:t.uri.equals(e))&&(this._typingFileCache=void 0)}onClearCache(){this._cache=new WeakMap,this._typingFileCache=void 0}onUpdateSettings(e){this._typingFileCache=void 0}getDefinitionFromTypingByName(e){var t;let i=this._getTypingSymbols(e);return null!=(t=null==i?void 0:i.getDeclarations())?t:[]}getDeclarations(e,t,i){var r;let n=this._cache.get(e);if(n)return n.declarations;let a=sM._.instance,s=null!=(r=null==i?void 0:i.sourceMapper)?r:this._program.getSourceMapper(a,t,!1,!0),o=this._getDeclarations(e,s,null!=i?i:{},t);return this._cache.set(e,o),o.declarations}_getClassTypeDeclarations(e,t,i){var r,n;if(e.shared.declaration&&(!i||!(null==(r=e.props)?void 0:r.typeAliasInfo)))return[e.shared.declaration];let a=sM._.instance,s=t.findDeclarationsByType(a,e,i);return i&&(null==(n=e.props)?void 0:n.typeAliasInfo)?s.filter(t=>{var i,r,n,a;return!!((0,aF.bC)(t)&&t.typeAliasName&&t.typeAliasName.d.value===(null==(r=e.props)||null==(i=r.typeAliasInfo)?void 0:i.shared.name)||(0,aF.Z8)(t)&&t.node.d.name.d.value===(null==(a=e.props)||null==(n=a.typeAliasInfo)?void 0:n.shared.name))}):s.filter(e=>(0,aF.hw)(e)||(0,aF.r_)(e))}_getTypingFile(){if(this._typingFileCache)return this._typingFileCache.info;for(let e of this._program.getSourceFileInfoList().filter(e=>e.isTypingStubFile))if(this._program.getParseResults(e.uri),this._getSymbol(e,"Any"))return this._typingFileCache={info:e},e;this._typingFileCache={info:void 0}}_getSymbol(e,t){let i=this._program.getModuleSymbolTable(e.uri);if(i)return i.get(t)}_getTypingSymbols(e){let t=this._getTypingFile();if(t)return this._getSymbol(t,e)}_getDeclarations(e,t,i,r){var n,a,s,o;switch((0,n8.Lj)(r),e.category){case aM.vb.Any:{let e=this._getTypingSymbols("Any");return{declarations:null!=(n=null==e?void 0:e.getDeclarations())?n:[]}}case aM.vb.Union:{let e=this._getTypingSymbols("Union");return{declarations:null!=(a=null==e?void 0:e.getDeclarations())?a:[]}}case aM.vb.Never:{let t=this._getTypingSymbols(e.priv.isNoReturn?"NoReturn":"Never");return{declarations:null!=(s=null==t?void 0:t.getDeclarations())?s:[]}}case aM.vb.Class:return{declarations:this._getClassTypeDeclarations(e,t,null!=(o=i.useTypeAlias)&&o)};case aM.vb.Function:return{declarations:e.shared.declaration?[e.shared.declaration]:[]};case aM.vb.Overloaded:{let t=aM.OF.getOverloads(e).map(e=>e.shared.declaration).filter(n2.O9),i=aM.OF.getImplementation(e);return i&&(0,aM.Tn)(i)&&i.shared.declaration&&(0,n2.O9)(i.shared.declaration)&&t.push(i.shared.declaration),{declarations:t}}default:return{declarations:[]}}}constructor(e){sK(this,"_program",void 0),sK(this,"_cache",void 0),sK(this,"_typingFileCache",void 0),this._program=e,this._cache=new WeakMap}}function sq(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class sG{tryCreateProvider(e,t,i){if(t.some(sJ))return new sH(this._view,t,i)}constructor(e){sq(this,"_view",void 0),this._view=e}}class sH{appendSymbolNamesTo(e){}appendDeclarationsTo(e){this._appendDeclarationsTo(this._declarations,e)}appendDeclarationsAt(e,t,i){this._appendDeclarationsTo(t,i)}get _evaluator(){return this._view.evaluator}_appendDeclarationsTo(e,t){let i=[];for(let t of e.filter(sJ)){let e=(0,aL.Ji)(t.node),r=e?this._evaluator.getTypeOfClass(e):void 0;if(r)for(let e of r.classType.shared.mro){if((0,n8.Lj)(this._token),!(0,aM.dL)(e))continue;let r=(0,aX.Zn)(e,t.node.d.name.d.value),n=(0,aX.Zn)(e,t.node.d.name.d.value,aX.Mh.SkipOriginalClass);r&&!n&&r.symbol.getDeclarations().filter(e=>(0,aF.vu)(e)&&e.isMethod).forEach(e=>(0,sW.Km)(i,e))}}t.push(...i)}constructor(e,t,i){sq(this,"_view",void 0),sq(this,"_declarations",void 0),sq(this,"_token",void 0),this._view=e,this._declarations=t,this._token=i}}function sJ(e){return(0,aF.vu)(e)&&e.isMethod&&e.node.d.name.d.value.length>0&&"__init__"!==e.node.d.name.d.value&&"__new__"!==e.node.d.name.d.value}var sY=i(89958);class sQ{tryCreateProvider(e,t,i){return new sX(i)}}class sX{appendSymbolNamesTo(e){}appendDeclarationsTo(e){}appendDeclarationsAt(e,t,i){var r;(0,n8.Lj)(this._token);let n=e.nodeType===aO.ye.StringList?e:e.nodeType===aO.ye.String&&(null==(r=e.parent)?void 0:r.nodeType)===aO.ye.StringList?e.parent:void 0;if(!n||!function(e){var t;let i=e.parent;if(!i||i.nodeType!==aO.ye.Argument||i.d.valueExpr!==e)return!1;let r=i.parent;return!!r&&r.nodeType===aO.ye.Index&&0!==r.d.items.length&&r.d.items[0]===i&&!!((t=r.d.leftExpr).nodeType===aO.ye.Name?"Annotated"===t.d.value:t.nodeType===aO.ye.MemberAccess&&"Annotated"===t.d.member.d.value)&&function(e){let t=e.parent;for(;t;){if(t.nodeType===aO.ye.TypeAnnotation||t.nodeType===aO.ye.Assignment||t.nodeType===aO.ye.Parameter||t.nodeType===aO.ye.FunctionAnnotation)return!0;if(t.nodeType===aO.ye.Index||t.nodeType===aO.ye.Argument){t=t.parent;continue}break}return!1}(r)}(n))return;let a=function(e){if(1!==e.d.strings.length)return;let t=e.d.strings[0];if(t.nodeType===aO.ye.String)return t.d.value}(n);if(!a)return;let s=sY.Yd(n),o=null==s?void 0:s.lookUpSymbolRecursive(a);o&&i.push(...o.symbol.getDeclarations())}constructor(e){var t,i;i=void 0,(t="_token")in this?Object.defineProperty(this,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):this[t]=i,this._token=e}}function sZ(e,t){yY(e,new sV(t),nM.declarationFinder,n7.y.stateMutationListeners),yY(e,new sG(t),nM.overrideUsageProviderFactory,n7.y.symbolUsageProviderFactory),yY(e,new s$(t),nM.constructorUsageProviderFactory,n7.y.symbolUsageProviderFactory),yY(e,new sQ,nM.typeInStringUsageProviderFactory,n7.y.symbolUsageProviderFactory)}var s0=((R={}).createTypeStub="python.createTypeStub",R.orderImports="python.orderImports",R.addMissingOptionalToParam="python.addOptionalForParam",R.removeUnusedImport="python.removeUnusedImport",R.addImport="python.addImport",R.changeSpelling="pylance.changeSpelling",R.extractMethod="pylance.extractMethod",R.extractVariable="pylance.extractVariable",R.dumpFileDebugInfo="pyright.dumpFileDebugInfo",R.completionAccepted="pylance.completionAccepted",R.executedClientCommand="pylance.executedClientCommand",R.convertImportFormat="pylance.convertImportFormat",R.moveSymbol="pylance.moveSymbol",R.getSourceFiles="pylance.getSourceFiles",R.getAutoImports="pylance.getAutoImports",R.fixAll="pylance.fixAll",R.addFixtureTypeAnnotation="pylance.pytest.addFixtureTypeAnnotation",R.addAllFixtureTypeAnnotations="pylance.pytest.addAllFixtureTypeAnnotations",R.restartServer="pyright.restartserver",R.clearPersistedIndices="pylance.indexing.clearPersistedIndices",R.startProfiling="pylance.profiling.start",R.stopProfiling="pylance.profiling.stop",R.startLogging="pylance.logging.start",R.stopLogging="pylance.logging.stop",R.implementAllAbstractClasses="pylance.implementAllAbstractClasses",R.implementAllAbstractClassesWithCopilot="pylance.implementAllAbstractClassesWithCopilot",R.getAllDocstringRanges="pylance.getAllDocstringRanges",R.runCurrentFileInSandbox="pylance.server.runCurrentFileInSandbox",R.diagnosticRefactor="pylance.diagnosticRefactor",R.pluginCommand="pylance.pluginCommand",R.convertImportStar="pylance.convertImportStar",R.convertImportToModule="pylance.convertImportToModule",R.addTypeAnnotation="pylance.addTypeAnnotation",R.inheritAllDecorators="pylance.inheritAllDecorators",R.addToExtraPathsInConfig="pylance.addToExtraPathsInConfig",R.renameShadowedStdlib="pylance.renameShadowedStdlib",R),s1=((N={}).reportIssue="pylance.reportIssue",N.triggerParameterHints="pylance.triggerParameterHints",N.runCommands="pylance.runCommands",N.extractMethodWithRename="pylance.extractMethodWithRename",N.extractVariableWithRename="pylance.extractVariableWithRename",N.moveSymbolWithFileSelection="pylance.moveSymbolWithFileSelection",N.addToExtraPaths="pylance.addToExtraPaths",N.dumpTokens="pylance.dumpTokens",N.dumpNodes="pylance.dumpNodes",N.dumpTypes="pylance.dumpTypes",N.dumpCachedTypes="pylance.dumpCachedTypes",N.setAutoImportCompletions="pylance.setAutoImportCompletions",N.dumpCodeFlowGraph="pylance.dumpCodeFlowGraph",N.pythonSetInterpeter="python.setInterpreter",N.notebookSelectKernel="_notebook.selectKernel",N.openUri="pylance.openUri",N.searchImports="pylance.searchImports",N.gotoOutputChannel="pylance.gotoOutputChannel",N.openConfig="pylance.openConfig",N.startEditorChat="vscode.editorChat.start",N.showTypeCheckingPicker="pylance.showTypeCheckingPicker",N.foldDocstrings="pylance.foldDocstrings",N.unfoldDocstrings="pylance.unfoldDocstrings",N.runCurrentFileInSandbox="pylance.runCurrentFileInSandbox",N.showRecommendations="pylance.showRecommendations",N.troubleshootMissingImports="pylance.troubleshootMissingImports",N.installMissingPackages="pylance.installMissingPackages",N.findMatchingEnv="pylance.findMatchingEnv",N.showReferences="pylance.showReferences",N);function s5(e,t,i){if(i)return t?i:{label:e,edits:i}}function s4(...e){let t=[];if(e.forEach(e=>{e&&(e.command===s1.runCommands?t.push(...e.arguments):t.push(e))}),0!==t.length)return 1===t.length?t[0]:{title:"",command:s1.runCommands,arguments:t}}function s3(e,t){null!=t&&e.push(t)}function s8(e){return e&&Array.isArray(e)&&0!==e.length?e.filter(e=>e&&(0,n2.Kg)(e)):[]}async function s2(e,t){let i=[];for(let r of e)await t(r)&&i.push(r);return i}function s6(){return{packageDepths:[],regenerateStdLibIndices:!1,followSymlinkedFolders:!0}}function s7(e){return null==e?void 0:e.service.backgroundAnalysisProgram}var s9=i(40190),oe=i(40483);async function ot(e,t,i,r){return(r=null!=r?r:{}).container=t.parserOutput.parseTree,await oi(e,t,i,r)}async function oi(e,t,i,r){var n,a,s;let o=null!=(n=null==r?void 0:r.container)?n:t.parserOutput.parseTree,l=o.nodeType===aO.ye.Module?o.d.statements:o.d.suite.d.statements,d=on(t,o);if(0===l.length)return(0,n2.x7)(t.text)?0:d;let u=(0,ax.Xf)(o);if(!u)return d;let p=(0,ax.R8)(o),c=u.lookUpSymbolRecursive(i);if(c&&(await oa(e,c.symbol.getDeclarations(),p.fileUri,r)).length>0)return;let h=null!=(a=null==r?void 0:r.insertBefore)?a:d;if((0,aN.$4)(i))return Math.max(0,h);if(h<aB.vY.getEnd(l[0]))return Math.max(0,Math.min(h,l[0].start));let m=os(l,null!=(s=null==r?void 0:r.insertBefore)?s:d),y=(0,aW.l8)(aB.vY.getEnd(m),t.tokenizerOutput.lines);return(0,aW.bH)(t.tokenizerOutput,t.text,y.line)}function or(e,t=!0){return(0,aL.NU)(e,i=>(!!t||e!==i)&&(i.nodeType===aO.ye.Suite||i.nodeType===aO.ye.Match))}function on(e,t){let i=aB.vY.getEnd(t),r=(0,aW.l8)(i,e.tokenizerOutput.lines);if(0===r.character)return i;if((0,aL.pB)(e.tokenizerOutput,e.text,r.line)){var n;return null!=(n=(0,aW.bt)({line:r.line,character:0},e.tokenizerOutput.lines))?n:i}return i}async function oa(e,t,i,r){let n=[];for(let a of t){let t=await e.resolveAliasDeclaration(a,!0,{allowExternallyHiddenAccess:!0});if(t&&!((null==r?void 0:r.symbolDeclToIgnore)&&t.uri.equals(r.symbolDeclToIgnore))){if(a.type===aF.h3.Alias){let e=(0,aA.Je)(a);if(!e)continue;(0,ax.R8)(e).fileUri.equals(i)&&n.push(a);continue}t.uri.equals(i)&&n.push(a)}}return n}function os(e,t){let i=e[0];for(let r=1;r<e.length;r++){let n=e[r];if(t<aB.vY.getEnd(n))break;switch(n.nodeType){case aO.ye.Class:case aO.ye.Function:if((0,aN.$4)(n.d.name.d.value))return i;i=n;continue;case aO.ye.StatementList:if(n.d.statements.some(e=>e.nodeType===aO.ye.Assignment&&e.d.leftExpr.nodeType===aO.ye.Name&&(0,aN.$4)(e.d.leftExpr.d.value)))return i;i=n;continue;default:i=n;continue}}return i}let oo={defaultTabSequence:" ",tabSize:4};class ol{getNewlineIndentation(e,t,i){let r=this._tryHandleStringLiterals(e,t);if(void 0!==r)return r;let n=this._tryHandleMultilineConstructs(e,t);return void 0!==n?n:(i=null!=i?i:this._shouldDedentAfterKeyword(e,t),Math.max(this._getIndentation(e,t,i).indentation,0))}reindentSpan(e,t,i,r=!0){let n=0,a=[],s=this._convertTokenStreams(e,t),o=s[0];n=i-this.getIndentationFromText(e,o.range.start.line,o.range.start.character).indentation,o.multilineDocComment?(0,ap.af)(a,this._reindentLinesFromText(e,o,n)):(r&&a.push(this.createIndentationString(e,i)),a.push(o.text));for(let t=1;t<s.length;t++){let i=s[t];i.firstTokenOnLine?(a.push(e.tokenizerOutput.predominantEndOfLineSequence.repeat(i.range.start.line-o.range.end.line)),i.multilineDocComment?(0,ap.af)(a,this._reindentLinesFromText(e,i,n)):(a.push(this.createIndentationString(e,Math.max(0,this.getIndentationFromText(e,i.range.start.line,i.range.start.character).indentation+n))),a.push(i.text))):(a.push(" ".repeat(i.range.start.character-o.range.end.character)),a.push(i.text)),o=i}return{originalSpan:aB.vY.combine(s),text:a.join("")}}getModuleStatementIndentation(e){return this.getChildIndentation(e,e.parserOutput.parseTree,!0)}getChildIndentation(e,t,i){let r=t.nodeType===aO.ye.Module?t.d.statements:t.d.suite.d.statements;return 0===r.length?this.getNewlineIndentation(e,aB.vY.getEnd(t),i):this.getNewlineIndentation(e,r[0].start,i)}getMethodWithinClassIndentation(e,t,i){let r=this.getIndentationFromText(e,t).indentation;return this.createIndentationString(e,r+i)}findNonWhitespaceTokenAtOrBeforeOffset(e,t){let i=e.getItemAtPosition(t);if(!(i<0))return this._findNonWhitespaceTokenAtOrBeforeIndex(e,i)}findCommentAtOrBeforeOffset(e,t){let i,r=e.getItemAtPosition(t),n=(0,aL.Xk)(e,r);if(n){if(aB.vY.getEnd(n)<t&&r<e.count-1){if(!(n=(0,aL.Xk)(e,r+1)))return;i=n.comments}else i=(0,aL.dR)(e,r);if(i)for(let e=i.length-1;e>=0;e--){let r=i[e];if(r.start<t)return r}}}getIndentationFromText(e,t,i){let r=0,n=0,a=!1,s=!1,o=this._getTabSize(e),l=e.tokenizerOutput.lines.getItemAt(t);for(let t=0;t<l.length;t++)switch(e.text.charCodeAt(l.start+t)){case s9.d.Space:n++,r++,a=!0;break;case s9.d.Tab:n++,r+=o,s=!0;break;default:if(!i||i===t)return{charOffset:n,indentation:r,containsSpaces:a,containsTabs:s};n++,r++}return{charOffset:n,indentation:r,containsSpaces:a,containsTabs:s}}createIndentationString(e,t){let i=this.getTabSequence(e);if(1===i.length&&i.charCodeAt(0)===s9.d.Tab){let e=t%this._editorIndentConfig.tabSize,i=(t-e)/this._editorIndentConfig.tabSize;return" ".repeat(i)+" ".repeat(e)}return" ".repeat(t)}getTabSequence(e){return e.tokenizerOutput.hasPredominantTabSequence?e.tokenizerOutput.predominantTabSequence:this._editorIndentConfig.defaultTabSequence}getSliceFromText(e,t,i){let r=e.text,n=e.tokenizerOutput.lines.getItemAt(t);return r.slice(n.start,n.start+i)}_getIndentation(e,t,i){let r=e.tokenizerOutput.tokens,n=this.findNonWhitespaceTokenAtOrBeforeOffset(r,t);if(!n)return{indentation:0};let a=(0,aL.gr)(e.parserOutput.parseTree,aB.vY.getEnd(n));if(!a)return{indentation:0};if(a.nodeType===aO.ye.Match){let i=this._getTabSize(e),r=or(a,!1),n=this._getIndentationForNode(e,t,null!=r?r:e.parserOutput.parseTree,a);return n.indentation+=i,n}let s=(0,aL.Ay)(a,aO.ye.Suite);if(!s)return this._getIndentationForNode(e,t,e.parserOutput.parseTree,a);let o=(0,aW.oG)(s,e.tokenizerOutput.lines);if(i||o.start.line===o.end.line&&s.d.statements.length>0){let i=or(s,!1);return this._getIndentationForNode(e,t,null!=i?i:e.parserOutput.parseTree,s)}return this._getIndentationForNode(e,t,s,a)}_getIndentationForNode(e,t,i,r){if(i.nodeType===aO.ye.Module)return{token:this._getFirstTokenOfStatement(e,i,r),indentation:0};if(i.nodeType===aO.ye.Match||this._containsNoIndentBeforeFirstStatement(e,t,i)){let r=this._getTabSize(e),n=or(i,!1),a=this._getIndentationForNode(e,t,null!=n?n:e.parserOutput.parseTree,i);return{token:a.token,indentation:a.indentation+r}}{let t=e.tokenizerOutput.tokens;return{token:this._getFirstTokenOfStatement(e,i,r),indentation:this._getIndentationFromIndentToken(e,t.getItemAtPosition(i.start))}}}_containsNoIndentBeforeFirstStatement(e,t,i){let r=i.d.statements.filter(e=>e.length>0);if(0===r.length||1===r.length&&(r[0].nodeType!==aO.ye.StatementList||1===r[0].d.statements.length)&&r[0].start>=t&&e.tokenizerOutput.lines.getItemAtPosition(r[0].start)===e.tokenizerOutput.lines.getItemAtPosition(t))return!0;let n=e.tokenizerOutput.tokens,a=n.getItemAtPosition(i.start),s=n.getItemAtPosition(i.d.statements[0].start);for(let e=a;e<=s;e++){let t=(0,aL.Xk)(n,e);if((null==t?void 0:t.type)===aj.ks.Indent)return!1}return!0}_getFirstTokenOfStatement(e,t,i){let r=e.tokenizerOutput.tokens;for(let e of t.d.statements)if(aB.vY.containsRange(e,i))return(0,aL.dS)(r,e.start);return(0,aL.dS)(r,t.start)}_getIndentationFromIndentToken(e,t){let i=e.tokenizerOutput.tokens;for(let r=t;r<i.count;r++){let t=(0,aL.Xk)(i,r);if((null==t?void 0:t.type)===aj.ks.Indent){let i=this._getTabSize(e),r=0;for(let n=0;n<t.length;n++)e.text.charCodeAt(t.start+n)===s9.d.Tab?r+=i:r++;return r}}return 0}_tryHandleMultilineConstructs(e,t){let i=e.tokenizerOutput.tokens,r=e.tokenizerOutput.lines,n=this._findNextTokenIndex(i,t);if(!(n<0))for(let a=n;a>0;a--){let n=(0,aL.Xk)(i,a);if(aB.vY.getEnd(n)<t)break;let s=(0,aL.Xk)(i,a-1),o=n?(0,aW.oG)(n,r):void 0,l=s?(0,aW.oG)(s,r):void 0;if(o&&l&&l.start.line<o.start.line&&s.type!==aj.ks.NewLine)return this._getIndentationForNextLine(e,s,n,t)}}_isWhitespaceString(e,t,i){let r;return e.type===aj.ks.String?r=oe.m(e):e.type===aj.ks.FStringEnd?(e=t.getItemAt(i-1),r=oe.m(e)):e.type===aj.ks.FStringMiddle&&(r=oe.m(e)),void 0!==r&&0===r.value.trim().length}_tryHandleStringLiterals(e,t){let i=e.tokenizerOutput.tokens,r=i.getItemAtPosition(t);if(r<0)return;let n=this._findStringToken(i,r);if(!n||n.type===aj.ks.FStringStart||aB.vY.getEnd(n)<t||!(n.flags&aj.IF.Triplicate))return;let a=(0,aL.gr)(e.parserOutput.parseTree,t),s=a?(0,aL.M8)(a,aO.ye.StatementList):void 0;if(!s||!(0,aL.ae)(s))return this._isWhitespaceString(n,i,r)?0:void 0;let o=e.tokenizerOutput.lines,l=(0,aW.l8)(n.start,o),d=(0,aW.l8)(t,o);return this._getFirstNonBlankLineIndentationFromText(e,d.line,l.line)}_isOpenToken(e){return e.type===aj.ks.OpenParenthesis||e.type===aj.ks.OpenBracket||e.type===aj.ks.OpenCurlyBrace}_isCloseToken(e){return e.type===aj.ks.CloseParenthesis||e.type===aj.ks.CloseBracket||e.type===aj.ks.CloseCurlyBrace}_getIndentationForNextLine(e,t,i,r){let n=e.tokenizerOutput.lines,a=(0,aW.l8)(t.start,n).line,s=n.getItemAt(a),o=this._getTabSize(e),l=t,d=!0,u=0;for(;l&&l.start>=s.start;){if(this._isCloseToken(l))d=!1,u+=1;else if(this._isOpenToken(l)&&0===u){let t=(0,aL.gr)(e.parserOutput.parseTree,l.start-1),i=(0,aL.Ay)(t,aO.ye.Function);if(l.type===aj.ks.OpenParenthesis&&d&&i&&(0,aW.l8)(i.start,n).line===a)return this._getIndentation(e,l.start,!1).indentation+2*o;if(!d)return l.start-s.start+1;{let t=(0,aW.l8)(l.start,n).line;return this.getIndentationFromText(e,t).indentation+o}}else this._isOpenToken(l)&&u>0?(u--,d=!1):this._isWhitespaceToken(l.type)||(d=!1);l=this.findNonWhitespaceTokenAtOrBeforeOffset(e.tokenizerOutput.tokens,l.start-1)}return this._getFirstNonBlankLineIndentationFromText(e,(0,aW.l8)(r,e.tokenizerOutput.lines).line,a)}_getFirstNonBlankLineIndentationFromText(e,t,i){i=Math.max(i,0);for(let r=t;r>=i;r--){let t=this.getIndentationFromText(e,r);if(!this._isBlankLine(e,r,t.charOffset))return t.indentation}return this.getIndentationFromText(e,i).indentation}_findStringToken(e,t){let i=this._findNonWhitespaceTokenAtOrBeforeIndex(e,t);if(i)switch(i.type){case aj.ks.String:case aj.ks.FStringStart:case aj.ks.FStringMiddle:case aj.ks.FStringEnd:return i;default:return}}_findNonWhitespaceTokenAtOrBeforeIndex(e,t){for(let i=t;i>=0;i--){let t=(0,aL.Xk)(e,i);if(!t)break;if(!this._isWhitespaceToken(t.type))return t}}_findNextTokenIndex(e,t){let i=e.getItemAtPosition(t);if(i<0)return i;for(let t=i+1;t<e.count;t++){let i=(0,aL.Xk)(e,t);if((null==i?void 0:i.type)!==aj.ks.Dedent&&(null==i?void 0:i.type)!==aj.ks.NewLine)return t}return e.count-1}_shouldDedentAfterKeyword(e,t){let i=e.tokenizerOutput.tokens,r=i.getItemAtPosition(t);if(r<0)return!1;for(let t=r;t>=0;t--){let r=(0,aL.Xk)(i,t);if(!r)break;switch(r.type){case aj.ks.Dedent:case aj.ks.NewLine:case aj.ks.EndOfStream:continue;case aj.ks.Keyword:{let e=(0,aL.Xk)(i,t-1);if((null==e?void 0:e.type)===aj.ks.Colon)return!1;if(r.keywordType===aj.Wg.Pass||r.keywordType===aj.Wg.Return||r.keywordType===aj.Wg.Break||r.keywordType===aj.Wg.Continue||r.keywordType===aj.Wg.Raise)return!0;if(r.keywordType!==aj.Wg.True&&r.keywordType!==aj.Wg.False&&r.keywordType!==aj.Wg.None&&r.keywordType!==aj.Wg.Debug)return!1}}let n=(0,aL.gr)(e.parserOutput.parseTree,r.start);return!!(0,aL.NU)(n,e=>e.nodeType===aO.ye.Return||e.nodeType===aO.ye.Raise)}return!1}_isBlankLine(e,t,i){let r=this._getLineEndingLength(e,t);return i===e.tokenizerOutput.lines.getItemAt(t).length-r}_getLineEndingLength(e,t){let i=0,r=e.tokenizerOutput.lines.getItemAt(t);for(let t=r.length-1;t>=0;t--)switch(e.text.charCodeAt(r.start+t)){case s9.d.FormFeed:case s9.d.Hash:case s9.d.LineFeed:case s9.d.CarriageReturn:i++;break;default:return i}return i}_convertTokenStreams(e,t){let i=e.tokenizerOutput.tokens,r=Math.max(i.getItemAtPosition(t.start),0),n=(0,aL.Xk)(i,r);aB.vY.getEnd(n)<t.start&&r++;let a=Math.min(i.getItemAtPosition(aB.vY.getEnd(t)),i.length-1),s=(0,aL.Xk)(i,a);aB.vY.getEnd(t)<=s.start&&a--,a<i.length-1&&this._isWhitespaceToken(i.getItemAt(a+1).type)&&a++;let o=[],l=e.tokenizerOutput.lines;for(let t=r;t<=a;t++){let r=(0,aL.Xk)(i,t);if(r.comments)for(let e of r.comments)o.push({start:e.start,length:e.length,range:(0,aW.oG)(e,l),text:e.value,kind:"comment",firstTokenOnLine:!1,multilineDocComment:!1});this._isWhitespaceToken(r.type)||0===r.length||o.push({start:r.start,length:r.length,range:(0,aW.oG)(r,l),text:e.text.substr(r.start,r.length),kind:r.type===aj.ks.String?"string":"token",firstTokenOnLine:!1,multilineDocComment:!1})}if(0===o.length)return o;o.sort((e,t)=>e.start-t.start);let d=o[0],u=[];if("comment"===d.kind){let t=0===r?0:aB.vY.getEnd((0,aL.Xk)(i,r-1));this._addTokenInfoIfMatch(e,t,d.start,s9.d.Hash,u)}for(let t=1;t<o.length;t++){let i=o[t];if("comment"!==d.kind)for(let t=d.range.end.line;t<i.range.start.line;t++){let i=l.getItemAt(t),r=i.length-this._getLineEndingLength(e,t)-1;if(r>=0){let t=i.start+r;this._addTokenInfoIfMatch(e,t,t+1,s9.d.Backslash,u)}}if("comment"===i.kind){let t=d.range.end.line===i.range.start.line?aB.vY.getEnd(d):l.getItemAt(i.range.start.line).start;this._addTokenInfoIfMatch(e,t,i.start,s9.d.Hash,u)}d=i}if((0,ap.af)(o,u),o.sort((e,t)=>e.start-t.start),d=o[0],0===r)d.firstTokenOnLine=!0;else{let e=this._findNonWhitespaceTokenAtOrBeforeIndex(i,r-1);if(e){let t=(0,aW.l8)(aB.vY.getEnd(e),l);d.firstTokenOnLine=t.line!==d.range.start.line}else d.firstTokenOnLine=!0}d.multilineDocComment=this._isMultilineDocComment(e.parserOutput,d);for(let t=1;t<o.length;t++){let i=o[t];i.firstTokenOnLine=d.range.end.line!==i.range.start.line,i.multilineDocComment=this._isMultilineDocComment(e.parserOutput,i),d=i}return o}_addTokenInfoIfMatch(e,t,i,r,n){for(let a=t;a<i;a++)e.text.charCodeAt(a)===r&&n.push({start:a,length:1,range:(0,aW.oG)(aB.vY.create(a,1),e.tokenizerOutput.lines),text:String.fromCharCode(r),kind:"token",firstTokenOnLine:!1,multilineDocComment:!1})}_isWhitespaceToken(e){switch(e){case aj.ks.Dedent:case aj.ks.NewLine:case aj.ks.Indent:case aj.ks.EndOfStream:return!0;default:return!1}}_isMultilineDocComment(e,t){var i,r;if("string"!==t.kind||!t.firstTokenOnLine||t.range.start.line===t.range.end.line)return!1;let n=(0,aL.gr)(e.parseTree,t.start);return(null==n?void 0:n.nodeType)===aO.ye.String&&(null==(i=n.parent)?void 0:i.nodeType)===aO.ye.StringList&&(null==(r=n.parent.parent)?void 0:r.nodeType)===aO.ye.StatementList&&(0,aL.ae)(n.parent.parent)}_reindentLinesFromText(e,t,i){let r=[];for(let n=t.range.start.line;n<=t.range.end.line;n++)r.push(this._reindentLineFromText(e,n,i,n===t.range.end.line?t:void 0));return r}_reindentLineFromText(e,t,i,r){let n=this.getIndentationFromText(e,t),a=e.tokenizerOutput.lines.getItemAt(t);r&&(a=aB.vY.fromBounds(a.start,Math.min(aB.vY.getEnd(r),aB.vY.getEnd(a))));let s=e.text.substr(a.start+n.charOffset,a.length-n.charOffset);return this._isBlankLine(e,t,n.charOffset)?s:this.createIndentationString(e,Math.max(n.indentation+i,0))+s}_getTabSize(e){let t=this.getTabSequence(e),i=t.length;return 1===i&&t.charCodeAt(0)===s9.d.Tab?this._editorIndentConfig.tabSize:i}constructor(e=oo){var t,i;i=void 0,(t="_editorIndentConfig")in this?Object.defineProperty(this,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):this[t]=i,this._editorIndentConfig=e}}let od="vscode-chat-code-block";class ou{tryCreate(e){var t,i;if(!e.kinds.includes(sL.mE.Default)||(null==(t=e.requestingUri)?void 0:t.scheme)!==od)return;let r=e.requestingUri.root,n=[...e.kinds,sL.mE.Limited,"chatBlock"];return{workspaceName:e.name,rootUri:r,kinds:n,pythonPath:e.pythonPath,pythonPathKind:e.pythonPathKind,service:this._createService(e.name,r,n),disableLanguageServices:!1,disableTaggedHints:!1,disableOrganizeImports:!0,disableWorkspaceSymbol:!0,isInitialized:(0,sL.Ld)(),searchPathsToWatch:[],pythonEnvironmentName:null==(i=e.pythonPath)?void 0:i.toString()}}constructor(e){var t,i;i=void 0,(t="_createService")in this?Object.defineProperty(this,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):this[t]=i,this._createService=e}}let op="vscode-copilot-chat-code-block";class oc{tryCreate(e){var t,i;if(!e.kinds.includes(sL.mE.Default)||(null==(t=e.requestingUri)?void 0:t.scheme)!==op)return;let r=e.requestingUri.root,n=[...e.kinds,sL.mE.Limited,"copilotChatBlock"];return{workspaceName:e.name,rootUri:r,kinds:n,pythonPath:e.pythonPath,pythonPathKind:e.pythonPathKind,service:this._createService(e.name,r,n),disableLanguageServices:!1,disableTaggedHints:!1,disableOrganizeImports:!0,disableWorkspaceSymbol:!0,isInitialized:(0,sL.Ld)(),searchPathsToWatch:[],pythonEnvironmentName:null==(i=e.pythonPath)?void 0:i.toString()}}constructor(e){var t,i;i=void 0,(t="_createService")in this?Object.defineProperty(this,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):this[t]=i,this._createService=e}}function oh(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}(ik||(ik={})).is=function(e){return e&&"function"==typeof e.parseNotebookOpen};let om="pylancePrefixCell";class oy{parseNotebookOpen(e){this._clearPendingDeletes();let t=n4.z.parse(e.notebookDocument.uri,this._caseDetector);return e.cellTextDocuments.forEach(e=>{let i=n4.z.parse(e.uri,this._caseDetector),r=this._generateCellMappedUri(t,i);this._save(i,r)}),t}parseNotebookChange(e){var t,i,r,n,a,s;null==(r=e.change.cells)||null==(i=r.structure)||null==(t=i.didClose)||t.forEach(e=>{let t=n4.z.parse(e.uri,this._caseDetector);this._pendDelete(t)});let o=n4.z.parse(e.notebookDocument.uri,this._caseDetector);return null==(s=e.change.cells)||null==(a=s.structure)||null==(n=a.didOpen)||n.forEach(e=>{let t=n4.z.parse(e.uri,this._caseDetector),i=this._generateCellMappedUri(o,t);this._save(t,i)}),o}parseNotebookClose(e){return e.cellTextDocuments.forEach(e=>{let t=n4.z.parse(e.uri,this._caseDetector);this._pendDelete(t)}),n4.z.parse(e.notebookDocument.uri,this._caseDetector)}markUsing(e,t){oy.isNotebookCell(e)&&(t?this._inUseUris.add(e.key):this._inUseUris.delete(e.key))}getOriginalCellUri(e){return this._mappedToOriginal.get(e.key)||e}getMappedCellUri(e){return this._originalToMapped.get(e.key)||e}getNotebookUriFromCell(e){let t=this.getMappedCellUri(e);return t.replaceExtension("").withQuery(t.query)}static isNotebookPrefixCell(e){return e.fragment===om}static isNotebookFile(e){return e.scheme!==od&&e.scheme!==op&&e.hasExtension(".ipynb")&&e.fragment.length<=0}static isNotebookCell(e){return"vscode-interactive-input"===e.scheme||!!e.fragment&&(e.containsExtension(".ipynb")||"vscode-notebook-cell"===e.scheme)}static getNotebookPrefixUri(e){return e.addExtension(".py").withFragment(om)}static trackBackgroundMessages(e,t){e.onNotification(e=>{e.method===ad.DidChangeNotebookDocumentNotification.method?t.parseNotebookChange(e.params):e.method===ad.DidOpenNotebookDocumentNotification.method?t.parseNotebookOpen(e.params):e.method===ad.DidCloseNotebookDocumentNotification.method&&t.parseNotebookClose(e.params)})}_generateCellMappedUri(e,t){return e.addExtension(".py").withFragment(t.fragment)}_clearPendingDeletes(){[...this._pendingDeletes].forEach(e=>{this._inUseUris.has(e)||this._delete(e)})}_pendDelete(e){this._pendingDeletes.add(e.key)}_save(e,t){this._originalToMapped.set(e.key,t),this._mappedToOriginal.set(t.key,e),this._pendingDeletes.delete(e.key)}_delete(e){let t=this._originalToMapped.get(e);t&&(this._originalToMapped.delete(e),this._mappedToOriginal.delete(t.key),this._pendingDeletes.delete(e))}constructor(e){oh(this,"_caseDetector",void 0),oh(this,"_originalToMapped",void 0),oh(this,"_mappedToOriginal",void 0),oh(this,"_pendingDeletes",void 0),oh(this,"_inUseUris",void 0),this._caseDetector=e,this._originalToMapped=new Map,this._mappedToOriginal=new Map,this._pendingDeletes=new Set,this._inUseUris=new Set}}class og{getCycleDetail(e,t){try{let r=this._getNotebookData(t.uri);if(!r)return"Found a cycle, but we can't find notebook data that has info for this cell";let n=`total number of cells: ${r.mappedCellUris.length+1}
`,a=this._getNotebookCellNames(r),s=this._getSourceFilesWithChainSet(e,a);for(let s of(n+=`${i(r.prefixCellUri,t.uri)}: prefix cell
`,r.mappedCellUris)){let r=i(s,t.uri),o=e.getSourceFileInfo(s);if(!o){n+=`${r}: not exist in program
`;continue}let l=o.chainedSourceFile;if(!l){n+=`${r}: no chained cell
`;continue}let d=a.get(l.uri.key);if(!d){n+=`${r}: chained file is not a cell
`;continue}n+=`${r} -> ${d}
`}return n+="------------------------\n",s.size>0&&(n+=`some chained files not found in the cells: ${s.size}
`),n;function i(e,t){return s.delete(e.key),a.get(e.key)+(t.equals(e)?"[cycle]":"")}}catch(e){return`Found a cycle but couldn't gather more detail info. ${e.message}`}}setNotebookData(e){"close"===e.kind?this._notebookData.delete(e.fileUri.key):this._notebookData.set(e.fileUri.key,e.data)}_getSourceFilesWithChainSet(e,t){let i=new Set;for(let r of e.getSourceFileInfoList()){if(!r.chainedSourceFile)continue;let e=r.uri;t.has(e.key)&&(i.add(e.key),i.add(r.chainedSourceFile.uri.key))}return i}_getNotebookCellNames(e){let t=new Map,i=0;for(let r of(t.set(e.prefixCellUri.key,`cell${i++}`),e.mappedCellUris))(0,n6.vA)(!t.has(r.key)),t.set(r.key,`cell${i++}`);return t}_getNotebookData(e){for(let t of this._notebookData.values())if(t.prefixCellUri.equals(e)||t.mappedCellUris.some(t=>t.equals(e)))return t}constructor(){var e,t;e="_notebookData",t=new Map,e in this?Object.defineProperty(this,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):this[e]=t}}var of=i(19432),ov=i(72777);let o_=i(18721),oT=i(52420),ow=i(76463),ob=new Map([["cs",o_],["de",oT],["en-us",ow],["en",ow],["es",i(32535)],["fr",i(47011)],["it",i(94814)],["ja",i(29150)],["ko",i(14997)],["pl",i(42235)],["pt-br",i(6842)],["qps-ploc",i(39452)],["ru",i(53802)],["tr",i(49381)],["zh-cn",i(70417)],["zh-tw",i(41101)]]),oS={},ok=function(e){let t;void 0===u&&(oS=ob.get("en-us")||(console.error("Could not load default strings"),{}),t=(0,ov.Mx)(),u=(0,ov.w8)(t,ob));let i=e.split(".");return(0,ov.cv)(u,i)||(0,ov.cv)(oS,i)||oI(e)},oI=(0,ov.ED)(ok);(O=(M=iI||(iI={})).Pytest||(M.Pytest={})).fixtureNotFound=()=>new ov.X4(ok("Pytest.fixtureNotFound")),O.addTypeAnnnotation=()=>new ov.X4(ok("Pytest.addTypeAnnotation")),O.addTypeAnnnotations=()=>ok("Pytest.addTypeAnnotations"),(U=M.Refactoring||(M.Refactoring={})).moveFile=()=>new ov.X4(ok("Refactoring.moveFile")),U.moveFileLabel=()=>new ov.X4(ok("Refactoring.moveFileLabel")),U.moveFileDescription=()=>new ov.X4(ok("Refactoring.moveFileDescription")),U.moveFileNotUserFile=()=>new ov.X4(ok("Refactoring.moveFileNotUserFile")),U.moveFilePrivateSymbol=()=>new ov.X4(ok("Refactoring.moveFilePrivateSymbol")),U.moveFileImportableOnly=()=>ok("Refactoring.moveFileImportableOnly"),U.moveFileUnsupportedSymbol=()=>ok("Refactoring.moveFileUnsupportedSymbol"),U.moveFileMultipleDeclarations=()=>ok("Refactoring.moveFileMultipleDeclarations"),U.moveFileSimpleAssignmentsOnly=()=>ok("Refactoring.moveFileSimpleAssignmentsOnly"),U.moveFileExtensionMismatch=()=>new ov.X4(ok("Refactoring.moveFileExtensionMismatch")),U.moveFileMissingInfo=()=>new ov.X4(ok("Refactoring.moveFileMissingInfo")),U.moveFileSameFile=()=>ok("Refactoring.moveFileSameFile"),U.moveFileSymbolNotFound=()=>new ov.X4(ok("Refactoring.moveFileSymbolNotFound")),U.moveFileAbsentSymbol=()=>ok("Refactoring.moveFileAbsentSymbol"),U.moveFileInsertLocation=()=>new ov.X4(ok("Refactoring.moveFileInsertLocation")),U.moveFileInvalidModuleName=()=>new ov.X4(ok("Refactoring.moveFileInvalidModuleName")),(z=(L=M.CodeAction||(M.CodeAction={})).MoveSymbol||(L.MoveSymbol={})).commandTitle=()=>ok("CodeAction.MoveSymbol.commandTitle"),z.moveSymbolFailed=()=>ok("CodeAction.MoveSymbol.moveSymbolFailed"),z.moveSymbolsTo=()=>ok("CodeAction.MoveSymbol.moveSymbolsTo"),z.moveSymbolsToNewFile=()=>ok("CodeAction.MoveSymbol.moveSymbolsToNewFile"),(W=L.Extract||(L.Extract={})).method=()=>ok("CodeAction.Extract.method"),W.variable=()=>ok("CodeAction.Extract.variable"),(B=L.RemoveUnusedImport||(L.RemoveUnusedImport={})).removeUnusedImport=()=>ok("CodeAction.RemoveUnusedImport.removeUnusedImport"),B.removeAllUnusedImports=()=>ok("CodeAction.RemoveUnusedImport.removeAllUnusedImports"),($=L.ToggleImportPath||(L.ToggleImportPath={})).convertToRelativePath=()=>ok("CodeAction.ToggleImportPath.convertToRelativePath"),$.convertAllToRelativePath=()=>ok("CodeAction.ToggleImportPath.convertAllToRelativePath"),$.convertToAbsolutePath=()=>ok("CodeAction.ToggleImportPath.convertToAbsolutePath"),$.convertAllToAbsolutePath=()=>ok("CodeAction.ToggleImportPath.convertAllToAbsolutePath"),$.convertAllFormat=()=>ok("CodeAction.ToggleImportPath.convertAllFormat"),(L.ExtraPath||(L.ExtraPath={})).addExtraPath=()=>new ov.X4(ok("CodeAction.ExtraPath.addExtraPath")),(L.AddTypeIgnore||(L.AddTypeIgnore={})).title=()=>new ov.X4(ok("CodeAction.AddTypeIgnore.title")),(j=L.AutoImport||(L.AutoImport={})).addAutoImport=()=>new ov.X4(ok("CodeAction.AutoImport.addAutoImport")),j.searchImport=()=>ok("CodeAction.AutoImport.searchImport"),(L.ChangeSpelling||(L.ChangeSpelling={})).changeSpellingTo=()=>new ov.X4(ok("CodeAction.ChangeSpelling.changeSpellingTo")),(L.FixAll||(L.FixAll={})).runFixAll=()=>ok("CodeAction.FixAll.runFixAll"),(K=L.UnresolvedImports||(L.UnresolvedImports={})).selectInterpreterTitle=()=>ok("CodeAction.UnresolvedImports.selectInterpreterTitle"),K.selectKernelTitle=()=>ok("CodeAction.UnresolvedImports.selectKernelTitle"),K.learnMoreTitle=()=>ok("CodeAction.UnresolvedImports.learnMoreTitle"),K.troubleshootMissingImports=()=>ok("CodeAction.UnresolvedImports.troubleshootMissingImports"),(V=L.ImplementAbstractClass||(L.ImplementAbstractClass={})).implementAllAbstractClasses=()=>ok("CodeAction.ImplementAbstractClass.implementAllAbstractClasses"),V.implementAllAbstractClassesWithCopilot=()=>ok("Copilot.implementAllInheritedAbstractClasseswithCopilot"),(L.InheritDecorators||(L.InheritDecorators={})).inheritAllDecorators=()=>ok("CodeAction.InheritDecorators.inheritAllDecorators"),(q=L.GenerateDocstring||(L.GenerateDocstring={})).generateDocstring=()=>ok("DocstringTemplate.generateDocstring"),q.generateDocstringWithCopilot=()=>ok("Copilot.generateDocstringWithCopilot"),(G=L.GenerateSymbol||(L.GenerateSymbol={})).generateClass=()=>new ov.X4(ok("CodeAction.GenerateSymbol.generateClass")),G.generateFunction=()=>new ov.X4(ok("CodeAction.GenerateSymbol.generateFunction")),G.generateMember=()=>new ov.X4(ok("CodeAction.GenerateSymbol.generateMember")),(L.ConvertLambdaToNamedFunction||(L.ConvertLambdaToNamedFunction={})).title=()=>ok("CodeAction.ConvertLambdaToNamedFunction.title"),(H=L.ConvertFormatString||(L.ConvertFormatString={})).convertToFString=()=>ok("CodeAction.ConvertFormatString.convertToFString"),H.convertToFormat=()=>ok("CodeAction.ConvertFormatString.convertToFormat"),(J=L.ConvertImportStar||(L.ConvertImportStar={})).convertToExplicitImports=()=>ok("CodeAction.ConvertImportStar.convertToExplicitImports"),J.convertAllToExplicitImports=()=>ok("CodeAction.ConvertImportStar.convertAllToExplicitImports"),(Y=L.ConvertImportToModule||(L.ConvertImportToModule={})).convertToModuleImport=()=>ok("CodeAction.ConvertImportToModule.convertToModuleImport"),Y.convertAllToModuleImport=()=>ok("CodeAction.ConvertImportToModule.convertAllToModuleImport"),(Q=L.RenameShadowedStdlib||(L.RenameShadowedStdlib={})).renameModule=()=>new ov.X4(ok("CodeAction.RenameShadowedStdlib.renameModule")),Q.renameShadowedImports=()=>ok("CodeAction.RenameShadowedStdlib.renameShadowedImports"),(X=L.AddTypeAnnotation||(L.AddTypeAnnotation={})).addTypeAnnotation=()=>ok("CodeAction.AddTypeAnnotation.addTypeAnnotation"),X.addAllTypeAnnotations=()=>ok("CodeAction.AddTypeAnnotation.addAllTypeAnnotations"),(L.DiagnosticRefactor||(L.DiagnosticRefactor={})).fixformattedString=()=>new ov.X4(ok("CodeAction.DiagnosticRefactor.fixformattedString")),(M.Diagnostic||(M.Diagnostic={})).importResolveRedirect=()=>new ov.X4(ok("Diagnostic.importResolveRedirect")),(Z=M.Messages||(M.Messages={})).defaultPythonEnvironmentName=()=>ok("Messages.defaultPythonEnvironmentName"),Z.windowsStoreEnvironmentName=()=>ok("Messages.windowsStoreEnvironmentName"),Z.globalEnvironmentName=()=>ok("Messages.globalEnvironmentName"),Z.singularFileAndSingularCellToAnalyze=()=>ok("Messages.singularFileAndSingularCellToAnalyze"),Z.singularFileAndPluralCellsToAnalyze=()=>new ov.X4(ok("Messages.singularFileAndPluralCellsToAnalyze")),Z.pluralFilesAndSingularCellToAnalyze=()=>new ov.X4(ok("Messages.pluralFilesAndSingularCellToAnalyze")),Z.pluralFilesAndPluralCellsToAnalyze=()=>new ov.X4(ok("Messages.pluralFilesAndPluralCellsToAnalyze")),((ee=M.Commands||(M.Commands={})).ProfilingCommand||(ee.ProfilingCommand={})).profilingDataSaved=()=>new ov.X4(ok("Commands.ProfilingCommand.profilingDataSaved")),(ee.LoggingCommand||(ee.LoggingCommand={})).loggingDataSaved=()=>new ov.X4(ok("Commands.LoggingCommand.loggingDataSaved")),ee.gotoOutputCommand=()=>ok("Commands.gotoOutputCommand"),(et=M.PerformanceTracking||(M.PerformanceTracking={})).title=()=>ok("PerformanceTracking.title"),et.button=()=>ok("PerformanceTracking.button"),(ei=M.DocstringTemplate||(M.DocstringTemplate={})).docstringForName=()=>new ov.X4(ok("DocstringTemplate.docstringForName")),ei.description=()=>ok("DocstringTemplate.description"),ei.generateDocstring=()=>ok("DocstringTemplate.generateDocstring"),(er=M.LargeLog||(M.LargeLog={})).copyToClipboard=()=>ok("LargeLog.copyToClipboard"),er.userConsent=()=>new ov.X4(ok("LargeLog.userConsent")),er.openLink=()=>ok("LargeLog.openLink"),er.yes=()=>ok("LargeLog.yes"),er.no=()=>ok("LargeLog.no"),(en=M.documentation||(M.documentation={})).copilotSummary=()=>ok("Copilot.documentation.copilotSummary"),en.tooltip=()=>ok("Copilot.documentation.tooltip"),en.get=()=>ok("Copilot.documentation.get"),en.notAvailable=()=>ok("Copilot.documentation.notAvailable"),en.fetchFailed=()=>ok("Copilot.documentation.fetchFailed");var oC=i(23729),oP=i.n(oC);try{(null==(r=i(38749))?void 0:r.createHash)||(r=void 0)}catch{}let ox=(null==r?void 0:r.createHash)||oP();class oF{get elapsedTime(){return new Date().getTime()-this._started}reset(){this._started=new Date().getTime()}constructor(){var e,t;e="_started",t=new Date().getTime(),e in this?Object.defineProperty(this,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):this[e]=t}}function oA(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class oD{maybeSendTelemetry(e,t,i,r,n,a){let s=Date.now(),o=new oF;s>this._nextWindow&&(this._nextWindow=s+this._globalDebounce,this._eventCount=0);let l=(t,l)=>{let d=this._rareMessages.has(e)?this._debounceRareCall:this._debounceFrequentCall,u=this._lastCaptured.get(e);if(l||i()&&this._eventCount<this._globalLimit&&(!u||s-u>d)){this._lastCaptured.set(e,s),this._eventCount+=1;let i=e.replace(/\//g,"."),d={duration:o.elapsedTime};n&&(d={...d,...n(this,t)});let u={lsVersion:ag,method:i};l&&(u.failed=l),a&&(u={...u,...a(this,t)}),r(d,u)}return t};try{let e=t();if((0,n2.Qg)(e))return e.then(l).catch(e=>{throw n8.YS.is(e)||l(void 0,e),e});return l(e)}catch(e){throw n8.YS.is(e)||l(void 0,e),e}}constructor(){oA(this,"_nextWindow",0),oA(this,"_eventCount",0),oA(this,"_globalDebounce",36e5),oA(this,"_globalLimit",100),oA(this,"_lastCaptured",new Map),oA(this,"_debounceFrequentCall",3e5),oA(this,"_debounceRareCall",6e4),oA(this,"_rareMessages",new Set(["textDocument/declaration","textDocument/definition","textDocument/documentSymbol","textDocument/prepareRename","textDocument/references","textDocument/rename","workspace/symbol"]))}}function oE(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let oR="language_server/";var oN=((ea={}).SERVER_SIDE_REQUEST="server_side_request",ea.ANALYSIS_COMPLETE="analysis_complete",ea.ANALYSIS_EXCEPTION="analysis_exception",ea.COMPLETION_ACCEPTED="completion_accepted",ea.COMPLETION_COVERAGE="completion_coverage",ea.SETTINGS="settings",ea.WORKSPACEINDEX_THRESHOLD_REACHED="workspaceindex_threshold_reached",ea.FIX_ALL="fix_all",ea.RENAME_FILES="rename_files",ea.EXECUTE_COMMAND="execute_command",ea.MCP_TOOL="mcp_tool",ea.COPILOT_HOVER="copilot_hover",ea.DOCUMENTCOLOR_SLOW="documentcolor_slow",ea.INDEX_SLOW="index_slow",ea.HOVER_SLOW="hover_slow",ea.COMPLETION_SLOW="completion_slow",ea.FORMATONTYPE_SLOW="formatontype_slow",ea.SEMANTICTOKENS_SLOW="semantictokens_slow",ea.INLAYHINTS_SLOW="inlayhints_slow",ea.WORKSPACEINDEX_SLOW="workspaceindex_slow",ea.RESOLVE_INLAYHINTS_SLOW="resolve_inlayhints_slow",ea.COMPLETION_CONTEXT_ITEMS_SLOW="completion_context_items_slow",ea.TYPECHECKING_SLOW="typechecking_slow",ea.IMPORT_METRICS="import_metrics",ea.STARTUP_METRICS="startup_metrics",ea.COMPLETION_METRICS="completion_metrics",ea.GOTODEF_INSIDE_STRING="goto_def_inside_string",ea.INSTALLED_PACKAGES="installed_packages",ea.RECOMMENDATION="recommendation",ea.COMPLETION_CONTEXT_ITEMS="completion_context_items",ea);let oM=new Set([oO("import_metrics"),oO("startup_metrics"),oO("completion_metrics"),oO("goto_def_inside_string"),oO("installed_packages")]);function oO(e){return`${oR}${e}`}class oU{clone(){let e=new oU(this.EventName.substr(oR.length),this.Exception);for(let t in this.Properties)e.Properties[t]=this.Properties[t];for(let t in this.Measurements)e.Measurements[t]=this.Measurements[t];return e}constructor(e,t){oE(this,"EventName",void 0),oE(this,"Properties",{lsVersion:ag}),oE(this,"Measurements",{}),oE(this,"Exception",void 0),this.EventName=oO(e),this.Exception=function(e){if(e){let t=(0,n6.II)(e);return(null==t?void 0:t.stack)&&(t.stack=t.stack.replace(/\s+at\s+(.*)\s+\(.*(pyright\.bundle\.js:\d+:\d+|server\.bundle\.js:\d+:\d+).*\)/g," at $1 ($2)")),(null==t?void 0:t.message)&&(t.message=t.message.replace(/open\s+'(.*[/|\\])(.*)[/|\\](.*?\.wasm)/g,"open '$2.$3")),t}}(t)}}(iC||(iC={})).is=function(e){return e&&void 0!==e.sendTelemetry};class oL{sendTelemetry(e){try{if(this._pendingProperties.has(e.EventName)){for(let[t,i]of this._pendingProperties.get(e.EventName))e.Properties[t]=i;this._pendingProperties.delete(e.EventName)}if(this._pendingDurations.has(e.EventName)){for(let[t,i]of this._pendingDurations.get(e.EventName))e.Measurements[t]=(e.Measurements[t]||0)+i;this._pendingDurations.delete(e.EventName)}this._sendTelemetry(e)}catch{}}addPropertyToNextEvent(e,t,i){let r=oO(e),n=this._pendingProperties.get(r);n||(n=new Map,this._pendingProperties.set(r,n)),n.set(t,i)}addDurationToNextEvent(e,t,i){let r=oO(e),n=this._pendingDurations.get(r);n||(n=new Map,this._pendingDurations.set(r,n));let a=n.get(t)||0;n.set(t,a+i)}clearDurationsForEvent(e){let t=oO(e);this._pendingDurations.delete(t)}sendLspRequestTelemetry(e,t,i,r){return this.clearDurationsForEvent("server_side_request"),this._lspTelemetryThrottler.maybeSendTelemetry(e,t,()=>!0,(e,t)=>{let i=new oU("server_side_request");for(let t in e)i.Measurements[t]=e[t];for(let e in t)i.Properties[e]=t[e];this.sendTelemetry(i)},i,r)}enableExtra(e){this._extraTelemetryEnabled=e}_sendTelemetry(e){var t;(!oM.has(e.EventName)||this._extraTelemetryEnabled)&&(null==(t=this._connection)||t.telemetry.logEvent(e))}constructor(e){oE(this,"_connection",void 0),oE(this,"_lspTelemetryThrottler",new oD),oE(this,"_pendingProperties",new Map),oE(this,"_pendingDurations",new Map),oE(this,"_extraTelemetryEnabled",!1),(0,n6.vA)(void 0!==e),this._connection=e,(0,n6.vA)(void 0!==this._connection)}}function oz(e,t){for(let[i,r]of Object.entries(t))if((0,n2.Et)(r)){let t=e.Measurements[i]||0;e.Measurements[i]=t+r}else(0,n2.Kg)(r)&&(e.Properties[i]=r);return e}function oW(e){return ox("sha256").update(e).digest("hex")}function oB(e,t,i,r){let n,a,s=iC.is(e)?void 0:e,o=iC.is(e)?e:null==s?void 0:s.service.serviceProvider.tryGet(nM.telemetry),l=new of.dw,d=of.ib.readFileTime.callCount,u=of.ib.tokenizeFileTime.callCount,p=of.ib.parseFileTime.callCount,c=of.ib.resolveImportsTime.callCount,h=of.ib.bindTime.callCount,m=of.ib.typeEvaluationTime.callCount,y=of.ib.readFileTime.totalTime,g=of.ib.tokenizeFileTime.totalTime,f=of.ib.parseFileTime.totalTime,v=of.ib.resolveImportsTime.totalTime,_=of.ib.bindTime.totalTime,T=of.ib.typeEvaluationTime.totalTime,w=i({setCorrelationId(e){a=e},addCustomMeasure(e,t,i,r="custom_"){n||(n={}),(void 0===i||t>=i)&&(n[`${r}${e}`]=t)},addCustomProperty(e,t,i="custom_"){n||(n={}),n[`${i}${e}`]=t}});if((0,n2.Qg)(w))return w.then(e=>(b(),e));return b(),w;function b(){let e=l.getDurationInMilliseconds();if(e<=r)return;let i=new oU(t);n&&oz(i,n),i.Measurements.readFileCallCount=of.ib.readFileTime.callCount-d,i.Measurements.tokenizeCallCount=of.ib.tokenizeFileTime.callCount-u,i.Measurements.parseCallCount=of.ib.parseFileTime.callCount-p,i.Measurements.resolveCallCount=of.ib.resolveImportsTime.callCount-c,i.Measurements.bindCallCount=of.ib.bindTime.callCount-h,i.Measurements.typeEvalCount=of.ib.typeEvaluationTime.callCount-m,i.Measurements.readFileTime=of.ib.readFileTime.totalTime-y,i.Measurements.tokenizeTime=of.ib.tokenizeFileTime.totalTime-g,i.Measurements.parseTime=of.ib.parseFileTime.totalTime-f,i.Measurements.resolveTime=of.ib.resolveImportsTime.totalTime-v,i.Measurements.bindTime=of.ib.bindTime.totalTime-_,i.Measurements.typeEvalTime=of.ib.typeEvaluationTime.totalTime-T,i.Measurements.totalTime=e,a&&(i.Properties.correlationId=a),null==o||o.sendTelemetry(i),function(e,t,i){var r;if(!e||!1===o$||o$&&(i.typeEvalTime<5*t||i.readFileTime+i.tokenizeTime+i.parseTime+i.resolveTime+i.bindTime>=500))return;let n=e.service.serviceProvider,a=n.tryGet(n7.y.windowService),s=n.tryGet(n7.y.commandService);if(!e.allowAskingUsersPerformanceReporting||!a||!s){null==(r=n.tryGet(n7.y.console))||r.info(iI.PerformanceTracking.title());return}o$=!1;let o={title:iI.PerformanceTracking.button(),id:s1.reportIssue};a.showInformationMessage(iI.PerformanceTracking.title(),o).then(e=>{e&&e.id===o.id&&s.sendCommand(s1.reportIssue,"perf_autoDetect")})}(s,r,i.Measurements)}}(iP||(iP={})).sendStubCompletionTelemetryForMissingTypes=function(e,t,i){if((null==t?void 0:t.items.length)===0&&(null==i?void 0:i.lastKnownModule)&&i.lastKnownModule.length>0){let t=new oU("completion_metrics");(function(e,t){for(let[i,r]of Object.entries(t))if((0,n2.Kg)(r)){let t=r.toLowerCase();t&&(e.Properties[i+"Hash"]=oW(t))}if(t.lastKnownModule){let i=t.lastKnownModule.split(".")[0].toLowerCase();i&&(e.Properties.packageHash=oW(i))}})(t,i),p&&clearTimeout(p),p=setTimeout(()=>{e.sendTelemetry(t)},2e3)}},(ix||(ix={})).CompletionTelemetry=class{update(e,t){!t||((null==e?void 0:e.items.length)?this._event.Measurements.successes+=1:this._event.Measurements.failures+=1,this._event.Measurements.total+=1,this._timer||(this._timer=setTimeout(()=>{this._event.Measurements.overallSuccesses+=this._event.Measurements.successes,this._event.Measurements.overallFailures+=this._event.Measurements.failures,this._event.Measurements.overallTotal+=this._event.Measurements.total,this._service.sendTelemetry(this._event),this._event.Measurements.successes=0,this._event.Measurements.failures=0,this._event.Measurements.total=0,this._timer&&(clearTimeout(this._timer),this._timer=void 0)},3e5)))}_initStats(e){e.Measurements.successes=0,e.Measurements.failures=0,e.Measurements.total=0,e.Measurements.overallSuccesses=0,e.Measurements.overallFailures=0,e.Measurements.overallTotal=0}constructor(e){oE(this,"_service",void 0),oE(this,"_timer",void 0),oE(this,"_event",void 0),this._service=e,this._event=new oU("completion_coverage"),this._initStats(this._event)}};let o$=!0;function oj(e,t,i){return function(r,n,a){let s=a.value;return a.value=function(...r){return this._telemetry.sendLspRequestTelemetry(e,()=>s.apply(this,r),t,i)},a}}class oK{get(e){if((null==e?void 0:e.id)===void 0)return;let t=e.id>>20,i=1048575&e.id;if(t>=this._cache.length)return;let r=this._cache[t];if(!(i>=r.length))return r[i]}add(e,t){let i=e%this._cache.length,r=this._cache[i],n=r.length;return r.push(t),{id:i<<20|n}}constructor(e){var t,i;i=[],(t="_cache")in this?Object.defineProperty(this,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):this[t]=i;const r=Math.min(e,4096);for(let e=0;e<r;e++)this._cache.push([])}}function oV(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class oq extends oK{static get(){return oq._instance}static toLSP(e){if(!oq._instance._supported)return e;for(let t of(oq._instance._counter++,e.items))t.data=oq._instance.add(oq._instance._counter,t.data);return e}static fromLSP(e){return oq._instance._supported&&e.data&&"id"in e.data&&(e.data=oq._instance.get(e.data)),e}onUpdateSettings(e){var t;this._supported=null!=(t=e.cacheLSPData)&&t}constructor(){super(5),oV(this,"_supported",!1),oV(this,"_counter",0)}}oV(oq,"_instance",new oq);var oG=i(34788),oH=i(29165),oJ=i(8963),oY=i(78937);function oQ(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}(eo=(es=iF||(iF={})).TestSignalKinds||(es.TestSignalKinds={})).Initialization="initialization",eo.DidOpenDocument="didopendocument",eo.DidChangeDocument="didchangedocument",eo.DidOpenNotebookDocument="didopennotebookdocument",eo.DidChangeNotebookDocument="didchangenotebookdocument",eo.IndexingStarted="indexingstarted",eo.IndexingDone="indexingdone",eo.WorkspaceIndexingDone="workspaceindexingdone",eo.PthPathUpdate="pthpathupdate",eo.ChildProcessStarted="childprocessstarted",eo.ReanalysisRequested="reanalysisrequested",eo.DiagnosticsDone="diagnosticsdone",eo.PackageDiscoveryDone="packagediscoverydone",eo.SourceEnumerationDone="sourceenumerationdone",eo.WorkspaceDiagnosticsRefresh="workspacediagnosticsrefresh",eo.IndicesReset="indicesreset",(el=es.Requests||(es.Requests={})).InExperiment="python/inExperiment",el.GetExperimentValue="python/getExperimentValue",el.IsTrustedWorkspace="python/isTrustedWorkspace",el.JupyterReferences="python/jupyterReferences",el.JupyterDocumentSymbols="python/jupyterDocumentSymbols",el.ApplyCursorMovingEdit="python/applyCursorMovingEdit",el.ClientShowMessage="python/clientShowMessage",el.GetConfigInfo="python/getConfigInfo",el.PythonEnvExtensionInstalled="python/pythonEnvExtensionInstalled",el.GetPythonEnvironments="python/getPythonEnvironments",el.UpdatePythonEnvironment="python/updatePythonEnvironment",el.AnalyzeFile="test/analyzeFile",el.GetWorkspaceConfig="test/getWorkspaceConfig",el.GetWorkspaceSettings="test/getWorkspaceSettings",el.GetWorkspaceKinds="test/getWorkspaceKinds",el.GetWorkspaceInfos="test/getWorkspaceInfos",el.GetNotebookData="test/getNotebookData",el.GetUserFiles="test/getUserFiles",el.GetOpenFiles="test/getOpenFiles",el.GetKnownFiles="test/getKnownFiles",el.GetWorkspaceInfo="test/getWorkspaceInfo",el.GetFileContent="test/getFileContent",el.GetWorkspaceFileContent="test/getWorkspaceFileContent",el.RunIndexer="test/runIndexer",el.AnalyzeWorkspace="test/analyzeWorkspace",el.GetDiagnostics="test/getDiagnostics",el.GetUserIndices="test/getUserIndices",el.Wait="test/wait",el.TestWriteFile="test/writeFile",el.StartProfiling="pylance/startProfiling",el.StopProfiling="pylance/stopProfiling",el.UpdateSetting="pylance/updateSetting",el.LoadBundle="pylance/loadBundle",(es.SyncRequests||(es.SyncRequests={})).IsTrustedWorkspace="python/isTrustedWorkspaceSync",(ed=es.Notifications||(es.Notifications={})).SetStatusBarMessage="python/setStatusBarMessage",ed.BeginProgress="python/beginProgress",ed.ReportProgress="python/reportProgress",ed.EndProgress="python/endProgress",ed.PyrightBeginProgress="pyright/beginProgress",ed.PyrightReportProgress="pyright/reportProgress",ed.PyrightEndProgress="pyright/endProgress",ed.WorkspaceTrusted="python/workspaceTrusted",ed.ConfigOptionsChanged="python/configOptionsChanged",ed.AskForWait="test/askForWait",ed.TestSignal="test/signal",ed.DidChangeConfiguration="workspace/didChangeConfiguration",ed.DidChangeNotebookDocument="notebookDocument/didChange",ed.DidChangeNotebookKernel="notebookDocument/didChangeKernel",ed.CacheDirCreate="python/cacheDirCreate",ed.CacheFileWrite="python/cacheFileWrite",ed.TestAddFile="test/addFile",ed.TestStartServer="test/startServer",ed.TestStartServerResponse="test/startServerResponse",ed.TestLog="test/logMessage",ed.TestPassExtraMessagePort="test/passExtraMessagePort",ed.ExecuteCommand="pylance/executeCommand",ed.AddOrUpdateDistUrl="pylance/addOrUpdateDistUrl",ed.RemoveDistUrl="pylance/removeDistUrl",ed.PthPathsUpdated="python/pthPathsUpdated",ed.Recommendation="pylance/recommendation",ed.RegisterNotebookStartupCommands="pylance/registerNotebookStartupCommands",es.sendRequest=function(e,t,i,r){return e.sendRequest(t,i,r)},es.sendNotification=function(e,t,i){e.sendNotification(t,i)},es.onRequest=function(e,t,i){return e.onRequest(t,i)},es.onNotification=function(e,t,i){return e.onNotification(t,i)};class oX{static available(){return!!oX._instance}notify(e){this._connection&&iF.sendNotification(this._connection,iF.Notifications.TestSignal,e)}onChildProcessStarted(e){this.notify({kind:iF.TestSignalKinds.ChildProcessStarted,data:e})}onReanalysisRequested(){this.notify({kind:iF.TestSignalKinds.ReanalysisRequested,data:1})}constructor(e,t){oQ(this,"_console",void 0),oQ(this,"_connection",void 0),oQ(this,"_isTestService",void 0),this._console=e,this._connection=t,this._isTestService=!0,oX._instance=this,oX.log=e=>this._console.info(e)}}function oZ(e,t,i,r){(0,n8.Lj)(r);let n=[],a=null==t?void 0:t.getLibraryIndices(i);for(let i of(0,oG.AG)(e.parserOutput.parseTree,!0).orderedImports){(0,n8.Lj)(r);let e=i.resolvedPath;if(!e)continue;let s=null==t?void 0:t.getSourceIndex(e);if(s&&s.symbols.length>0)continue;let o=null==a?void 0:a.get(e);o&&o.symbols.length>0||n.push(e)}return n}oQ(oX,"_instance",void 0),oQ(oX,"is",e=>e&&e._isTestService),oQ(oX,"log",e=>{});var o0=i(90370),o1=i(67240),o5=i(83414);function o4(e){return o2(e,"stubs")}function o3(e,t){return e||0===t.length?()=>!1:e=>t.some(t=>e.isChild(t))}function o8(e){return o2(e,"native-stubs")}function o2(e,t){return e.combinePaths("bundled",t)}class o6{static getIndices(e){return s7(e).getIndices()}static indexSymbols(e,t,i){let r=e.parserOutput.parseTree,n=r.a?ax.R8(r):void 0;if(!n)return[];let a=[];return function e(t,i,r,n,a,s){(0,n8.Lj)(s);let o=ax.Xf(r);if(!o)return;let l=function(e,t){if(t.indexingForAutoImportMode&&t.includeAllSymbols&&e.moduleName.startsWith("aws_cdk"))return{skip:e=>e.startsWith("_typecheckingstub__")}}(t,n);o.symbolTable.forEach((r,o)=>{if(r.isIgnoredForProtocolMatch()||(null==l?void 0:l.skip(o)))return;let d=r.isInDunderAll();if(n.indexingForAutoImportMode&&!n.includeAllSymbols&&!t.isStubFile&&!t.isInPyTypedPackage&&!d)return;let u=(0,o0.IE)(r);if(!u&&r.hasDeclarations()&&(u=r.getDeclarations()[0]),u){if(aF.h3.Alias===u.type&&(!n.indexingForAutoImportMode&&!n.includeAliasesFromUserFiles||!u.loadSymbolsFromPath||u.uri.isEmpty()))return;!function(t,i,r,n,a,s,o,l,d){var u;let p,c;if(n.indexingForAutoImportMode&&!a)return;let h=(0,o5.Pz)(r,void 0,o);if(void 0===h)return;let m=r.range,y=m,g=[];if((r.type===aF.h3.Class||r.type===aF.h3.Function)&&(n.indexingForAutoImportMode||e(t,i,r.node,n,g,d),y=(0,aW.er)(r.node.start,r.node.start+r.node.length,i.tokenizerOutput.lines)),aF.h3.Alias===r.type&&!(p=function(e,t){var i;if(!t.symbolName)return;let r=(0,aA.hV)(e,t,{resolveLocalNames:!0,allowExternallyHiddenAccess:!1,skipFileNeededCheck:!1});if(!r||!r.declaration||r.isPrivate)return;let n=(0,aA.eE)(r.declaration);if(!n||r.declaration.uri.isEmpty())return;let a=null!=(i=(0,o5.Pz)(r.declaration,void 0,n))?i:nZ.SymbolKind.Module;return{originalName:n,moduleUri:r.declaration.uri,kind:a,itemKind:(0,oH.kr)(a),selectionRange:r.declaration.range}}(ax.R8(i.parserOutput.parseTree).importLookup,r)))return;let f={name:o,visibilityFlags:(u=function(e){if(e.type!==aF.h3.Alias)return!1;if(e.node.nodeType===aO.ye.ImportAs){let t=e.node;return!!(t.d.alias&&1===t.d.module.d.nameParts.length&&t.d.module.d.nameParts[0].d.value===t.d.alias.d.value)}if(e.node.nodeType===aO.ye.ImportFromAs){let t=e.node;return!!(t.d.alias&&t.d.name.d.value===t.d.alias.d.value)}return!1}(r),c=oY.KL.None,a&&(c|=oY.KL.ExternallyVisible),s&&(c|=oY.KL.InDunderAll),u&&(c|=oY.KL.RedundantAlias),c),kind:h,itemKind:(0,oH.kr)(h),alias:p,range:n.indexingForAutoImportMode?void 0:y,selectionRange:n.indexingForAutoImportMode?void 0:m,children:n.indexingForAutoImportMode?void 0:g};l.push(f)}(t,i,u,n,(0,o0.VC)(r),d,o,a,s)}})}(n,e,r,t,a,i),a}static indexWorkspace(e,t,i,r,n,a,s,o,l){if(!t.configOptions.indexing)return 0;let d=o3(n,a),u=0,p=new Set,c=t.getUserFiles();for(let e of c)e.sourceFile.isParseRequired()||p.add(e),!d(e.uri)&&i.get(e)&&u++;if(u>=r)return 0;for(let n of c){if(d(n.uri)||i.get(n))continue;let a=function(i,r){return e.log(`indexing: ${(0,o1.W)(t.fileSystem,i)}`,e=>{let n=t.getParseResults(i);if(!n)return void e.suppress();let a=o6.indexSymbols(n,{indexingForAutoImportMode:!1,includeAliasesFromUserFiles:s},l);e.add(`found ${a.length}`);let o=i.fileNameWithoutExtensions;return{uri:i,privateOrProtected:(0,aN.sQ)(o),symbols:a,clientVersion:r}})}(n.uri,n.sourceFile.getClientVersion());if(i.set(n,!0),a){if(++u>r)return h(c,p),u;o(n.uri,a)}t.handleMemoryHighUsage()}return h(c,p),u;function h(e,t){for(let i of e)i.sourceFile.isParseRequired()||t.has(i)||i.sourceFile.dropParseAndBindInfo()}}}function o7(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var o9=((eu={}).Absolute="absolute",eu.Relative="relative",eu);function le(e,t,i,r,n,a,s){let o=e.getSourceFileInfo(r),l=null==i?void 0:i.getLibraryIndices(t.root),d=e.getSourceFileInfoList().filter(t=>t!==o&&(!l||(e.configOptions.indexing?(0,aR.xX)(t):void 0===l.get(t.uri)))),u=new Map;return d.forEach(t=>{t.shadows.length>0||function(e,t,i,r,n){if((0,n8.Lj)(n),!e)return!1;let a=t.uri,s=e.getSourceIndex(a);if(!s)return!1;let o=(0,aR.xX)(t);return!!s.privateOrProtected&&!o||(r.set(a.key,ls(s,!o,i)),!0)}(i,t,a,u,s)||e.getModuleSymbolTable(t.uri)&<(e,t,n,a,u,s)}),a&&function(e,t,i,r,n,a){(0,n8.Lj)(a);let s=e.getParseResults(i);if(s)for(let o of oZ(s,t,e.configOptions.findExecEnvironment(i).root,a)){if((0,n8.Lj)(a),n.has(o.key))continue;let t=e.getSourceFileInfo(o);t&&!(t.shadows.length>0)&&e.getModuleSymbolTable(t.uri)&<(e,t,r,!0,n,a)}}(e,i,r,n,u,s),u}function lt(e,t,i,r,n,a){(0,n8.Lj)(a);let s=t.uri,o=(0,ak.Qj)(s.fileName),l=aN.sQ(o),d=(0,aR.xX)(t);if(l&&!d)return;let u=e.getParseResults(t.uri);if(!u)return;let p=o6.indexSymbols(u,{indexingForAutoImportMode:!0,includeAliasesFromUserFiles:i,includeAllSymbols:!0},a);n.set(s.key,ls({uri:s,privateOrProtected:l,symbols:p},!d,r))}function li(e,t,i,r,n,a,s){var o,l;let d=e.getParseResults(t);if(!d)return[];let u=(0,aW.AP)(i,d.tokenizerOutput.lines);if(!u)return[];let p=(0,aL.gr)(d.parserOutput.parseTree,u.start);if(!p)return[];let c={...a,patternMatcher:null!=(o=a.patternMatcher)?o:(e,t)=>a2(e,t)>r},h=lr(e,t,i.start,c,s);return h?ln(h,p,null!=(l=c.nameToSearch)?l:d.text.substr(u.start,u.length),r,n,s):(oX.log(`Auto import failed to initialize for ${t.toString()}`),[])}function lr(e,t,i,r,n){var a,s;let o=e.getParseResults(t);if(!o)return;let l=e.configOptions.findExecEnvironment(t),d=le(e,l,r.indices,t,null!=(a=r.includeAliasesFromUserFiles)&&a,null!=(s=r.allowDuplicatedAliases)&&s,n);return 0===d.size&&oX.log(`Auto import found no modules for ${t.toString()}`),new la(e,l,o,i,new oJ.JB,d,r)}function ln(e,t,i,r,n,a){let s=[],o=(0,sY.Yd)(t);if(o){let t=null==n?void 0:n.get(i);t&&(0,ap.af)(s,e.getAutoImportCandidatesForAbbr(i,t,a)),s.push(...e.getAutoImportCandidates(i,r,void 0,a).filter(e=>!o.lookUpSymbolRecursive(e.name)))}return s}class la extends oH.op{getAutoImportCandidatesForAbbr(e,t,i){let r=this.getCandidates(t.importName,1,e,i).get(t.importName);return r?r.filter(e=>e.source===t.importFrom):[]}getPerfInfo(){return this._perfInfo.totalInMs=this._stopWatch.getDurationInMilliseconds(),this._perfInfo}getCompletionItemData(e){return oq.fromLSP(e).data}getCandidates(e,t,i,r){let n=new Map,a=new Map;return this.addImportsFromModuleMap(e,t,i,a,n,r),this._addImportsFromLibraryMap(e,t,i,a,n,r),this.addImportsFromImportAliasMap(a,i,n,r),this._applyDirectDependencyFilterIfApplicable(n),n}addImportsFromModuleMap(e,t,i,r,n,a){let s=this._stopWatch.getDurationInMilliseconds();super.addImportsFromModuleMap(e,t,i,r,n,a),this._perfInfo.moduleTimeInMS=this._stopWatch.getDurationInMilliseconds()-s}addImportsFromImportAliasMap(e,t,i,r){let n=this._stopWatch.getDurationInMilliseconds();super.addImportsFromImportAliasMap(e,t,i,r),this._perfInfo.importAliasTimeInMS=this._stopWatch.getDurationInMilliseconds()-n}getNameForImportFrom(e,t){return"relative"!==this._pylanceOptions.importFormat||e?void 0:(0,oG.eM)(this.importResolver.fileSystem,this._fileUri,t,this.importResolver.getConfigOptions())}compareImportAliasData(e,t){if(e.importGroup>=oG.vW.Local&&t.importGroup>=oG.vW.Local&&this._pylanceOptions.includeAliasesFromUserFiles||e.importGroup===oG.vW.ThirdParty&&t.importGroup===oG.vW.ThirdParty){let i=this._calculateRank(e)-this._calculateRank(t);if(0!==i)return i}return super.compareImportAliasData(e,t)}shouldIncludeVariable(e,t){return!!super.shouldIncludeVariable(e,t)||e.library||!!e.inDunderAll}get _pylanceOptions(){return this.options}_applyDirectDependencyFilterIfApplicable(e){if(!this._pylanceOptions.allowOnlyDirectDependencies)return;let t=this.program.importResolver.getPythonSearchPaths(),i=[];s3(i,this.program.importResolver.getTypeshedThirdPartyPath(this.execEnvironment)),s3(i,this.program.importResolver.getTypeshedPathEx(this.execEnvironment));let r=this._pylanceOptions.allowOnlyDirectDependencies;for(let[a,s]of e)e.set(a,s.filter(e=>{if(!t.some(t=>e.originalDeclUri.startsWith(t))&&!i.some(t=>e.originalDeclUri.startsWith(t)))return!0;if(e.source){let t=n(e.source);return r.has(t)}if(e.name&&e.kind===nZ.CompletionItemKind.Module){let t=n(e.name);return r.has(t)}return!0}));function n(e){return e.split(".")[0]}}_calculateRank(e){return 3+("__init__"===e.importParts.fileUri.fileNameWithoutExtensions?-1:0)+(e.inDunderAll?-1:0)+(e.hasRedundantAlias?-1:0)}_addImportsFromLibraryMap(e,t,i,r,n,a){var s;let o=this._stopWatch.getDurationInMilliseconds();this._libraryMap&&0!==this._libraryMap.size||oX.log("No library map is available for auto import."),null==(s=this._libraryMap)||s.forEach((s,o)=>{var l;if(s.privateOrProtected||this.moduleSymbolMap.has(o.key))return;let d={isStub:s.uri.hasExtension(".pyi"),hasInit:this._hasInit(s.uri),isUserCode:!1};this.processModuleSymbolTable(ls(s,!0,null!=(l=this._pylanceOptions.allowDuplicatedAliases)&&l),s.uri,e,t,d,i,r,n,a)}),this._perfInfo.indexTimeInMS=this._stopWatch.getDurationInMilliseconds()-o}_hasInit(e){var t,i;let r=e.getDirectory(),n=r.initPyUri,a=r.initPyiUri;return(null==(t=this._libraryMap)?void 0:t.has(n))||(null==(i=this._libraryMap)?void 0:i.has(a))||!1}constructor(e,t,i,r,n,a,s){var o;super(e,t,i,r,n,a,s),o7(this,"_fileUri",void 0),o7(this,"_libraryMap",void 0),o7(this,"_stopWatch",new of.dw),o7(this,"_perfInfo",{indexUsed:!1,totalInMs:0,moduleTimeInMS:0,indexTimeInMS:0,importAliasTimeInMS:0,symbolCount:0,indexCount:0,importAliasCount:0}),this._libraryMap=null==(o=this._pylanceOptions.indices)?void 0:o.getLibraryIndices(t.root),this._fileUri=(0,ax.R8)(this.parseResults.parserOutput.parseTree).fileUri,this._perfInfo.indexUsed=!!this._pylanceOptions.indices}}function ls(e,t,i){return{uri:e.uri,*getSymbols(){for(let r of e.symbols){if(!(0,oY.Lq)(r,oY.KL.ExternallyVisible))continue;let e=(0,oY.Lq)(r,oY.KL.InDunderAll),n=(0,oY.Lq)(r,oY.KL.RedundantAlias),a=i?void 0:r.alias;yield{name:r.name,library:t,importAlias:a,kind:r.kind,itemKind:r.itemKind,inDunderAll:e,hasRedundantAlias:n}}}}}function lo(e,t){return!!(0,sO.Xv)(t,e)&&!oy.isNotebookPrefixCell(e)}function ll(e){(0,n2.cy)(e)?e.forEach(e=>e.service.recordUserInteractionTime()):e.service.recordUserInteractionTime()}class ld{get serviceProvider(){return this.state.serverOptions.serviceProvider}getCompletionOptions(e,t){var i,r,n,a;let s=this.state.clientCapabilities.hasCompletionCommitCharCapability&&!!e.extraCommitChars,o=null!=(i=e.importFormat)?i:o9.Absolute,l=!t||!t.isCell;return{format:this.state.clientCapabilities.completionDocFormat,snippet:this.state.clientCapabilities.completionSupportsSnippet,lazyEdit:this.state.clientCapabilities.completionItemResolveSupportsAdditionalTextEdits,triggerCharacter:null==t||null==(n=t.context)?void 0:n.triggerCharacter,extraCommitChars:s,importFormat:o,autoImport:l,dontAddTypeAnnotation:!e.generateWithTypeAnnotation,includeAliasesFromUserFiles:null!=(r=null==(a=e.indexOptions)?void 0:a.includeAliasesFromUserFiles)&&r,showOnlyDirectDependenciesInAutoImport:!!e.showOnlyDirectDependenciesInAutoImport,supportDocstringTemplate:!!e.supportDocstringTemplate}}constructor(e){var t,i;i=void 0,(t="state")in this?Object.defineProperty(this,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):this[t]=i,this.state=e}}function lu(e){if(Object.prototype.hasOwnProperty.call(e,"category")){let t=new sE.oQ(e.category,e.message,e.range,e.priority);if(e._actions)for(let i of e._actions)t.addAction(i);if(e._rule&&t.setRule(e._rule),e._relatedInfo)for(let i of e._relatedInfo)t.addRelatedInfo(i.message,i.uri,i.range);return t}let t=new sE.oQ(function(e){if(e.data&&e.data.category)return e.data.category;if(Object.prototype.hasOwnProperty.call(e,"category"))return e.category;switch(e.severity){case nZ.DiagnosticSeverity.Error:return sE.Q8.Error;case nZ.DiagnosticSeverity.Warning:return sE.Q8.Warning;case nZ.DiagnosticSeverity.Information:return sE.Q8.Information;default:if(e.tags&&e.tags.some(e=>2===e))return sE.Q8.Deprecated;if(e.tags&&e.tags.some(e=>1===e))return sE.Q8.UnreachableCode;if(e.tags)return sE.Q8.TaskItem;return sE.Q8.Information}}(e),e.message,e.range,function(e){switch(e._vs_diagnosticRank){case iD.High:return sE.cZ.High;default:return;case iD.Default:return sE.cZ.Normal;case iD.Low:return sE.cZ.Low}}(e));if(e.code&&t.setRule(e.code.toString()),e.source&&t.setData({source:e.source}),e.data&&e.data.actions)for(let i of e.data.actions)t.addAction(i);return t}function lp(e){switch(e){case sE.Q8.Error:return nZ.DiagnosticSeverity.Error;case sE.Q8.Warning:return nZ.DiagnosticSeverity.Warning;case sE.Q8.Information:case sE.Q8.TaskItem:return nZ.DiagnosticSeverity.Information;case sE.Q8.UnusedCode:case sE.Q8.UnreachableCode:case sE.Q8.Deprecated:return nZ.DiagnosticSeverity.Hint}}function lc(e,t,i,r){let n,a=lp(e.category),s=e.getRule(),o=(n=e.getData())&&n.source?n.source:"Pylance",l=nZ.Diagnostic.create(e.range,e.message,a,s,o),d=e.getActions();if((null==d?void 0:d.length)&&(l.data={...l.data,actions:d}),e.category===sE.Q8.UnusedCode||e.category===sE.Q8.UnreachableCode){if(l.tags=[nZ.DiagnosticTag.Unnecessary],l.severity=nZ.DiagnosticSeverity.Hint,l.data={...l.data,category:e.category,rule:s},!i)return}else if(e.category===sE.Q8.Deprecated){if(l.tags=[nZ.DiagnosticTag.Deprecated],l.severity=nZ.DiagnosticSeverity.Hint,!i)return}else if(e.category===sE.Q8.TaskItem){switch(l.tags=[iA.TaskItem],e.priority){case sE.cZ.High:l._vs_diagnosticRank=iD.High;break;case sE.cZ.Normal:l._vs_diagnosticRank=iD.Default;break;case sE.cZ.Low:l._vs_diagnosticRank=iD.Low}if(!r)return}if(s){let t=hj(e);t&&(l.codeDescription={href:t})}let u=e.getRelatedInfo();return u.length>0&&(l.relatedInformation=u.filter(e=>lo(e.uri,t)).map(e=>nZ.DiagnosticRelatedInformation.create(nZ.Location.create((0,ah.JQ)(t,e.uri),e.range),e.message))),l}(ep=iA||(iA={})).BuildError=-1,ep.IntellisenseError=-2,ep.PotentialDuplicate=-3,ep.HiddenInErrorList=-4,ep.VisibleInErrorList=-5,ep.HiddenInEditor=-6,ep.SuppressEditorToolTip=-7,ep.EditAndContinueError=-8,ep.TaskItem=-9,(ec=iD||(iD={})).Highest=100,ec.High=200,ec.Default=300,ec.Low=400,ec.Lowest=500;var lh=i(61407);(eh=iE||(iE={})).ReturnSymbolName="__return__",eh.InvalidHandle=-1,(em=eh.TypeServerVersion||(eh.TypeServerVersion={})).v0_1_0="0.1.0",em.v0_2_0="0.2.0",em.v0_3_0="0.3.0",em.current="0.4.0",(ey=eh.TypeFlags||(eh.TypeFlags={}))[ey.None=0]="None",ey[ey.Instantiable=1]="Instantiable",ey[ey.Instance=2]="Instance",ey[ey.Callable=4]="Callable",ey[ey.Literal=8]="Literal",ey[ey.Interface=16]="Interface",ey[ey.Generic=32]="Generic",ey[ey.FromAlias=64]="FromAlias",ey[ey.Unpacked=128]="Unpacked",ey[ey.Optional=256]="Optional",ey[ey.Unbound=512]="Unbound",(eg=eh.DeclarationCategory||(eh.DeclarationCategory={}))[eg.Intrinsic=0]="Intrinsic",eg[eg.Variable=1]="Variable",eg[eg.Param=2]="Param",eg[eg.TypeParam=3]="TypeParam",eg[eg.TypeAlias=4]="TypeAlias",eg[eg.Function=5]="Function",eg[eg.Class=6]="Class",eg[eg.Import=7]="Import",(ef=eh.TypeKind||(eh.TypeKind={}))[ef.BuiltIn=0]="BuiltIn",ef[ef.Declared=1]="Declared",ef[ef.Function=2]="Function",ef[ef.Class=3]="Class",ef[ef.Union=4]="Union",ef[ef.Module=5]="Module",ef[ef.TypeVar=6]="TypeVar",ef[ef.Overloaded=7]="Overloaded",ef[ef.Synthesized=8]="Synthesized",ef[ef.TypeReference=9]="TypeReference",(ev=eh.DeclarationKind||(eh.DeclarationKind={}))[ev.Regular=0]="Regular",ev[ev.Synthesized=1]="Synthesized",(e_=eh.Variance||(eh.Variance={}))[e_.Auto=0]="Auto",e_[e_.Unknown=1]="Unknown",e_[e_.Invariant=2]="Invariant",e_[e_.Covariant=3]="Covariant",e_[e_.Contravariant=4]="Contravariant",(eT=eh.GetComputedTypeRequest||(eh.GetComputedTypeRequest={})).method="typeServer/getComputedType",eT.messageDirection=lh.MessageDirection.clientToServer,eT.type=new lh.ProtocolRequestType(eT.method),(ew=eh.GetDeclaredTypeRequest||(eh.GetDeclaredTypeRequest={})).method="typeServer/getDeclaredType",ew.messageDirection=lh.MessageDirection.clientToServer,ew.type=new lh.ProtocolRequestType(ew.method),(eb=eh.GetExpectedTypeRequest||(eh.GetExpectedTypeRequest={})).method="typeServer/getExpectedType",eb.messageDirection=lh.MessageDirection.clientToServer,eb.type=new lh.ProtocolRequestType(eb.method),(eS=eh.GetPythonSearchPathsRequest||(eh.GetPythonSearchPathsRequest={})).method="typeServer/getPythonSearchPaths",eS.messageDirection=lh.MessageDirection.clientToServer,eS.type=new lh.ProtocolRequestType(eS.method),(ek=eh.GetSnapshotRequest||(eh.GetSnapshotRequest={})).method="typeServer/getSnapshot",ek.messageDirection=lh.MessageDirection.clientToServer,ek.type=new lh.ProtocolRequestType0(ek.method),(eI=eh.GetSupportedProtocolVersionRequest||(eh.GetSupportedProtocolVersionRequest={})).method="typeServer/getSupportedProtocolVersion",eI.messageDirection=lh.MessageDirection.clientToServer,eI.type=new lh.ProtocolRequestType0(eI.method),(eC=eh.ResolveImportRequest||(eh.ResolveImportRequest={})).method="typeServer/resolveImport",eC.messageDirection=lh.MessageDirection.clientToServer,eC.type=new lh.ProtocolRequestType(eC.method),(eP=eh.SnapshotChangedNotification||(eh.SnapshotChangedNotification={})).method="typeServer/snapshotChanged",eP.messageDirection=lh.MessageDirection.serverToClient,eP.type=new lh.ProtocolNotificationType(eP.method);class lm{queue(e){return this._current=this._current.then(()=>e(),()=>e())}constructor(){var e,t;e="_current",t=Promise.resolve(null),e in this?Object.defineProperty(this,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):this[e]=t}}function ly(e){return new Promise(t=>{setTimeout(()=>t(e),e)})}class lg extends nZ.ResponseError{static is(e){return e.code===nZ.LSPErrorCodes.ServerCancelled}constructor(e){super(nZ.LSPErrorCodes.ServerCancelled,e||"server cancelled")}}async function lf(e,t,i,r){let n=!0,a=Date.now();for(;n&&e().isAlive&&((0,n8.Lj)(r),!(Date.now()-a>3e4));)try{let a=await e().getSnapshot(r);if(a!==iE.InvalidHandle){let e=await t(a,r);if(!(n=i(a)))return e}else await ly(10)}catch(e){if(lg.is(e)||n8.YS.is(e)||function(e){let t=null==e?void 0:e.code;return("number"==typeof t?t:"string"==typeof t?Number.parseInt(t,10):void 0)===nZ.ErrorCodes.InternalError&&"string"==typeof(null==e?void 0:e.message)&&e.message.toLowerCase().includes("server cancelled")}(e)){await ly(10);continue}throw e}}function lv(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function l_(e){let t=new Map;for(let r of e)for(let e of r.diagnostics){let r=lT(e);if(r){var i;t.set(r,(null!=(i=t.get(r))?i:0)+1)}}return[...t.entries()].map(e=>`${e[0]}:${e[1]}`).join(";")}function lT(e){var t;let i=null==(t=e.getActions())?void 0:t.find(e=>"diagnostic.code"===e.action);return i?i.code:void 0}function lw(e,t){e.addAction({action:"diagnostic.code",code:t})}class lb extends az.d9{addDiagnostic(e){let t=this._getCode(e);return t&&lw(e,t),super.addDiagnostic(e),e}constructor(e,t){super(t),lv(this,"_getCode",void 0),this._getCode=e}}class lS extends az.b9{addDiagnostic(e){let t=this._getCode(e);return t&&lw(e,t),super.addDiagnostic(e),e}constructor(e){super(),lv(this,"_getCode",void 0),this._getCode=e}}async function lk(e,t,i,r){return await lf(()=>e,(r,n)=>lI(r,e,t,i,n),()=>!1,r)||(oX.log("getDocumentDiagnosticsFromProgram: cancelled or timed out waiting for snapshot"),{kind:"full",resultId:void 0,items:[]})}async function lI(e,t,i,r,n){return await t.getDocumentDiagnostics(i,e,r,n)}function lC(e){return e.map(e=>lu(e))}function lP(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function lx(e){let t=0;for(;"."===e[t];)t++;return t}function lF(e,t){let i=0,r=0;for(;i<e.length&&i<t;)(" "===e[i]||" "===e[i])&&(r=i+1),i++;let n=t;for(;n<e.length&&" "!==e[n]&&" "!==e[n]&&"."!==e[n];)n++;return e.substring(r,n)}function lA(e,t,i){return{node:e,type:aF.h3.Alias,usesLocalName:!1,uri:i,range:{start:{line:0,character:0},end:{line:0,character:0}},loadSymbolsFromPath:!1,moduleName:t,isInExceptSuite:!1}}class lD{onUpdateSettings(e){this._enabled=!!e.gotoDefinitionInStringLiteral}tryGetDeclarations(e,t,i){let r=[];if(!this._enabled)return r;try{return this._tryGetDeclarations(e,t,i)}finally{if(e.nodeType===aO.ye.String){let e=new oU(oN.GOTODEF_INSIDE_STRING);e.Properties.resultLength=r.length.toString(),this._telemetryReporter.sendTelemetry(e)}}}getWordAtOffset(e,t){return lF(e.d.value,t-(e.start+e.d.token.quoteMarkLength))}_tryGetDeclarations(e,t,i){if(e.nodeType!==aO.ye.String)return[];let r=this.getWordAtOffset(e,t),n=(0,ax.R8)(e),a=this._view.importResolver,s=this._view.configOptions.findExecEnvironment(n.fileUri);if(!s||!a)return[];let o={leadingDots:lx(r),nameParts:r.split("."),importedSymbols:new Set},l=a.resolveImport(n.fileUri,s,o);if(l&&l.resolvedUris.length>0&&l.isImportFound)return[lA(e,l.importName,l.resolvedUris[l.resolvedUris.length-1])];if(o.nameParts.length<=1)return[];let d=o.nameParts.pop(),u=a.resolveImport(n.fileUri,s,o);return u&&u.resolvedUris.length>0&&d&&u.isImportFound?this._getMemberDeclarations(u.resolvedUris[u.resolvedUris.length-1],d,i):[]}_getFileSystem(){return this._view.importResolver.fileSystem}_getParseResults(e,t){(0,n8.Lj)(t);let i=this._view.getParseResults(e);return!i&&this._getFileSystem().existsSync(e)&&(this._mutator.addInterimFile(e),i=this._view.getParseResults(e)),i}_getMemberDeclarations(e,t,i){(0,n8.Lj)(i);let r=this._getParseResults(e,i);if(!r||!r.text.includes(t))return[];let n=(0,sY.Yd)(r.parserOutput.parseTree),a=null==n?void 0:n.lookUpSymbol(t);if(!a||!a.hasDeclarations())return[];let s=[];for(let e of a.getDeclarations()){let t=this._view.evaluator.resolveAliasDeclaration(e,!0,{allowExternallyHiddenAccess:!0,skipFileNeededCheck:!0});t&&(0,sW.Km)(s,t)}return s}constructor(e,t,i){lP(this,"_view",void 0),lP(this,"_mutator",void 0),lP(this,"_telemetryReporter",void 0),lP(this,"_enabled",void 0),this._view=e,this._mutator=t,this._telemetryReporter=i,this._enabled=!0}}class lE{onUpdateSettings(e){this._enabled=!!e.gotoDefinitionInStringLiteral}async tryGetDeclarations(e,t,i,r){let n=[];if(!this._enabled)return n;try{return await this._tryGetDeclarations(e,t,i,r)}finally{if(e.nodeType===aO.ye.String){let e=new oU(oN.GOTODEF_INSIDE_STRING);e.Properties.resultLength=n.length.toString(),this._telemetryReporter.sendTelemetry(e)}}}getWordAtOffset(e,t){return lF(e.d.value,t-(e.start+e.d.token.quoteMarkLength))}async _tryGetDeclarations(e,t,i,r){if(e.nodeType!==aO.ye.String)return[];let n=this.getWordAtOffset(e,t),a=(0,ax.R8)(e);if(!this._getProgram().configOptions.findExecEnvironment(a.fileUri))return[];let s={leadingDots:lx(n),nameParts:n.split("."),importedSymbols:new Set},o=await this._getProgram().resolveImport(a.fileUri,s,i,r);if(o){let t=(0,au.gL)(s);return this._getProgram().getParseResults(o)||this._getProgram().addInterimFile(o),[lA(e,t,o)]}if(s.nameParts.length<=1)return[];let l=s.nameParts.pop(),d=await this._getProgram().resolveImport(a.fileUri,s,i,r);return d&&l?await this._getMemberDeclarations(d,l,i,r):[]}_getFileSystem(){return this._getProgram().fileSystem}_getParseResults(e,t){(0,n8.Lj)(t);let i=this._getProgram().getParseResults(e);return!i&&this._getFileSystem().existsSync(e)&&(this._getProgram().addInterimFile(e),i=this._getProgram().getParseResults(e)),i}async _getMemberDeclarations(e,t,i,r){(0,n8.Lj)(r);let n=this._getParseResults(e,r);if(!n||!n.text.includes(t))return[];let a=(0,sY.Yd)(n.parserOutput.parseTree),s=null==a?void 0:a.lookUpSymbol(t);if(!s||!s.hasDeclarations())return[];let o=this._getProgram().getEvaluator(i),l=[];for(let e of s.getDeclarations()){let t=await o.resolveAliasDeclaration(e,!0,{allowExternallyHiddenAccess:!0,skipFileNeededCheck:!0});t&&(0,sW.Km)(l,t)}return l}constructor(e,t){lP(this,"_getProgram",void 0),lP(this,"_telemetryReporter",void 0),lP(this,"_enabled",void 0),this._getProgram=e,this._telemetryReporter=t,this._enabled=!0}}var lR=i(86450),lN=i(68936),lM=i(25111),lO=i(73437);function lU(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function lL(e){return e&&void 0!==e.className&&void 0!==e.itemName&&void 0!==e.itemType}function lz(e){return e.kind===iE.TypeKind.Class}async function lW(e,t){if(e)return await lB(e,t)}async function lB(e,t){return await lJ(e,e=>t.getType(e))}async function l$(e,t){if(e)return await t.getType(e)}function lj(e,t){let i=t.getUri(e),r=t.getParserOutput(i);if(!r)throw Error(`Unable to find parse results for ${i}`);let n=(0,aW.er)(e.start,e.start+e.length,r.lines);return{uri:(0,ah.JQ)(t.fs,i),range:n}}function lK(e,t,i){let r=hJ(e.uri,t,t.uriMapper),n=t.fs.getMappedUri(r),a=t.getParserOutput(n),s=null==a?void 0:a.parseTree;if(!s)throw Error(`Unable to find parse results for ${e.uri}`);let o=(0,aW.bt)(e.range.start,a.lines),l=(0,aW.bt)(e.range.end,a.lines);if(void 0===o||void 0===l)throw Error(`Invalid range for node: ${JSON.stringify(e)}`);class d extends aE.gw{getBestMatch(){return this._bestMatch}visitNode(e){return(e.start===this._start&&e.length>=this._length&&this._bestMatch.length>=e.length&&function(e,t){if(i)return i.some(e=>e===t);switch(e){case aO.ye.Name:return t!==aO.ye.Name;case aO.ye.StringList:return t!==aO.ye.String;case aO.ye.String:return t===aO.ye.StringList;case aO.ye.Number:return t===aO.ye.Slice;case aO.ye.Slice:return t!==aO.ye.Number;case aO.ye.ModuleName:return t===aO.ye.Import||t===aO.ye.ImportFrom||t===aO.ye.ImportAs||t===aO.ye.ImportFromAs;case aO.ye.Import:case aO.ye.ImportFrom:case aO.ye.ImportAs:case aO.ye.ImportFromAs:return t!==aO.ye.ModuleName;case aO.ye.Error:return t!==aO.ye.Error;default:return!0}}(this._bestMatchType,e.nodeType)&&(this._bestMatchType=e.nodeType,this._bestMatch=e),e.nodeType===aO.ye.AugmentedAssignment)?[e.d.destExpr,e.d.rightExpr]:super.visitNode(e)}walk(e){aB.vY.overlapsRange(this._range,e)&&super.walk(e)}constructor(e,t){super(),lU(this,"_start",void 0),lU(this,"_length",void 0),lU(this,"_range",void 0),lU(this,"_bestMatch",void 0),lU(this,"_bestMatchType",void 0),this._start=e,this._length=t,this._bestMatch=s,this._bestMatchType=aO.ye.Error,this._range=aB.vY.create(e,t)}}let u=new d(o,l-o);u.walk(s);let p=u.getBestMatch();return i&&!i.some(e=>e===p.nodeType)?lK(e,t,void 0):p}function lV(e,t){var i;let r=e.nodeType===aO.ye.Parameter&&null!=(i=e.d.name)?i:e,n=(0,sY.Yd)(r);if(n)return n.lookUpSymbol(t)}async function lq(e,t,i){let r;if(e.kind===iE.DeclarationKind.Synthesized)return(0,aA.HV)(hJ(e.uri,t,t.uriMapper));if(!e.name)return;let n=function(e){if(e.kind===iE.DeclarationKind.Synthesized)return[];switch(e.category){case iE.DeclarationCategory.Import:return[aO.ye.ImportAs,aO.ye.ImportFromAs,aO.ye.ImportFrom];case iE.DeclarationCategory.Intrinsic:return[aO.ye.Module|aO.ye.Function|aO.ye.Class];case iE.DeclarationCategory.Variable:return[aO.ye.Name,aO.ye.StringList];case iE.DeclarationCategory.Param:return[aO.ye.Parameter];case iE.DeclarationCategory.TypeParam:return[aO.ye.TypeParameter];case iE.DeclarationCategory.TypeAlias:return[aO.ye.TypeAlias];case iE.DeclarationCategory.Function:return[aO.ye.Function];case iE.DeclarationCategory.Class:return[aO.ye.Class,aO.ye.TypeAnnotation]}}(e);try{r=lK(e.node,t,n)}catch(e){return}if(e.category!==iE.DeclarationCategory.Import&&!r||!r)return;let a=await i.lookupSymbol(r,e.name);if(a)switch(e.category){case iE.DeclarationCategory.Import:return a.getDeclarations().find(e=>aF.D5(e)&&e.node===r);case iE.DeclarationCategory.Intrinsic:return a.getDeclarations().find(e=>aF.Mr(e)&&e.node===r);case iE.DeclarationCategory.Variable:return a.getDeclarations().find(e=>aF.bC(e)&&e.node===r);case iE.DeclarationCategory.Param:return a.getDeclarations().find(e=>aF.cU(e)&&e.node===r);case iE.DeclarationCategory.TypeParam:return a.getDeclarations().find(e=>aF._F(e)&&e.node===r);case iE.DeclarationCategory.TypeAlias:return a.getDeclarations().find(e=>aF.Z8(e)&&e.node===r);case iE.DeclarationCategory.Function:return a.getDeclarations().find(e=>aF.vu(e)&&(e.node===r||e.node.d.name===r));case iE.DeclarationCategory.Class:return a.getDeclarations().find(e=>aF.hw(e)&&(e.node===r||e.node.d.name===r)||aF.r_(e)&&e.node===r)}}function lG(e){switch(e.type){case aF.h3.Alias:if(e.node.nodeType===aO.ye.ImportFrom){if(e.node.d.isWildcardImport)return e.symbolName;return e.node.d.module.d.nameParts[0].d.value}if(e.node.nodeType===aO.ye.ImportFromAs)return(e.node.d.alias||e.node.d.name).d.value;if(e.node.nodeType===aO.ye.ImportAs)return e.node.d.alias?e.node.d.alias.d.value:e.node.d.module.d.nameParts[0].d.value;return;case aF.h3.Class:case aF.h3.Function:case aF.h3.TypeParam:case aF.h3.TypeAlias:return e.node.d.name.d.value;case aF.h3.Param:var t;return null==(t=e.node.d.name)?void 0:t.d.value;case aF.h3.Variable:{let t=e.node;return t.nodeType===aO.ye.Name?t.d.value:t.nodeType===aO.ye.StringList?t.d.strings[0].d.value:void 0}case aF.h3.Intrinsic:return e.name;case aF.h3.SpecialBuiltInClass:return e.node.d.valueExpr.nodeType===aO.ye.Name?e.node.d.valueExpr.d.value:void 0;default:n6.xb(e)}}async function lH(e,t,i){if(e)if(Array.isArray(e))for(let r=0;r<e.length;r++)await t.call(i,e[r],r,e);else if((0,n2.jh)(e))for(let[r,n]of e)await t.call(i,n,r,e);else for(let r of e)await t.call(i,r,r,e)}async function lJ(e,t,i){let r=[];for(let n=0;n<e.length;n++)r.push(await t.call(i,e[n],n,e));return r}async function lY(e,t,i){for(let r=0;r<e.length;r++)if(await t.call(i,e[r],r,e))return!0;return!1}async function lQ(e,t,i){let r=[];for(let n=0;n<e.length;n++)await t.call(i,e[n],n,e)&&r.push(e[n]);return r}async function lX(e,t,i){for(let r=0;r<e.length;r++)if(!await t.call(i,e[r],r,e))return!1;return!0}async function lZ(e,t,i){for(let r=0;r<e.length;r++)if(await t.call(i,e[r],r,e))return r;return -1}async function l0(e,t,i){for(let r=0;r<e.length;r++)if(await t.call(i,e[r],r,e))return e[r]}async function l1(e,t,i=!1){if((0,aM.mi)(e)){let r=i?(0,aX.wE)(e.priv.subtypes):e.priv.subtypes;await lH(r,async(e,i)=>{await t(e,i,r)})}else await t(e,0,[e])}async function l5(e,t,i){if((0,aM.mi)(e)){let n=(null==i?void 0:i.sortSubtypes)?(0,aX.wE)(e.priv.subtypes):e.priv.subtypes;for(let a=0;a<n.length;a++){let s=n[a],o=await t(s);if(s!==o){let s=n.slice(0,a),l=t=>{t&&s.push((0,aX.cH)(t,(0,aX.An)(e)))};for(l(o),a++;a<n.length;a++)l(await t(n[a]));let d=(0,aM.Do)(s,{skipElideRedundantLiterals:null==i?void 0:i.skipElideRedundantLiterals});if(null==i?void 0:i.retainTypeAlias){var r;(null==(r=e.props)?void 0:r.typeAliasInfo)&&(d=aM.Ab.cloneForTypeAlias(d,e.props.typeAliasInfo))}else(0,aM.mi)(d)&&aM.gn.addTypeAliasSource(d,e);return d}}return e}return await t(e)||aM.Xl.createNever()}async function l4(e){try{return await e()}catch(e){throw n8.YS.is(e)&&(e.isTypeCacheInvalid=!0),e}}async function l3(e,t){if((0,aM.mi)(e)){for(let i of e.priv.subtypes)if(await t(i))return i;return}return await t(e)?e:void 0}async function l8(e,t){if((0,aM.Tn)(e))return await t(e);let i=[],r=!1;if(await lH(aM.OF.getOverloads(e),async(e,n)=>{let a=await t(e);a!==e&&(r=!0),a&&i.push(a)}),0===i.length)return;let n=aM.OF.getImplementation(e),a=n;return(n&&(0,aM.Tn)(n)&&(a=await t(n))&&(r=!0),r)?1===i.length?i[0]:aM.OF.create(i,a):e}async function l2(e,t){(0,aM.Tn)(e)?await t(e,0):await lH(aM.OF.getOverloads(e),async(e,i)=>{await t(e,i)})}function l6(e){return e&&void 0!==e.type&&void 0!==e.uri}async function l7(e){var t;let i=e.shared;return await (null==(t=i.synthesizeMethodsDeferredAsync)?void 0:t.call(i)),i.dataClassEntries||[]}async function l9(e){var t;let i=e.shared;return await (null==(t=i.synthesizeMethodsDeferredAsync)?void 0:t.call(i)),i.fields}async function de(e){var t,i;let r=e.shared;return await (null==(t=r.synthesizeMethodsDeferredAsync)?void 0:t.call(r)),await (null==(i=r.calculateInheritedSlotsNamesDeferredAsync)?void 0:i.call(r)),r.inheritedSlotsNamesCached}async function dt(e,t,i,r){let n,a=ax.R8(t);if(0===r.length);else{let e=r[0];e.argCategory===aO.b4.Simple&&e.valueExpression&&e.valueExpression.nodeType===aO.ye.StringList&&(n=e.valueExpression.d.strings.map(e=>e.d.value).join(""))}let s=n||"TypedDict",o=aM.p5.createInstantiable(s,aL.NJ(t,a.moduleName,s),a.moduleName,a.fileUri,aM.aF.TypedDictClass|aM.aF.ValidTypeAliasClass,aL.pj(t),void 0,i.shared.effectiveMetaclass);o.shared.baseClasses.push(i),(0,aX.VS)(o);let l=await l9(o);l.set("__class__",lM.NI.createWithType(lM.mk.ClassMember|lM.mk.IgnoredForProtocolMatch,o));let d=!1;if(r.length<2);else{let t=r[1];if(t.argCategory===aO.b4.Simple&&t.valueExpression&&t.valueExpression.nodeType===aO.ye.Dictionary)d=!0,dl(e,t.valueExpression,l,!1);else if(t.name){let e=new Set;for(let t=1;t<r.length;t++){let i=r[t];if(!i.name||!i.valueExpression||e.has(i.name.d.value))continue;e.add(i.name.d.value);let n=new lM.NI(lM.mk.InstanceMember),s={type:aF.h3.Variable,node:i.name,uri:a.fileUri,typeAnnotationNode:i.valueExpression,isRuntimeTypeExpression:!0,range:(0,aW.er)(i.name.start,aB.vY.getEnd(i.valueExpression),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};n.addDeclaration(s),l.set(i.name.d.value,n)}}}if(d)for(let e of r.slice(2)){var u,p,c;(null==(u=e.name)?void 0:u.d.value)==="total"||(null==(p=e.name)?void 0:p.d.value)==="closed"?e.valueExpression&&e.valueExpression.nodeType===aO.ye.Constant&&(e.valueExpression.d.constType===aj.Wg.False||e.valueExpression.d.constType===aj.Wg.True)&&("total"===e.name.d.value&&e.valueExpression.d.constType===aj.Wg.False?o.shared.flags|=aM.aF.CanOmitDictValues:"closed"===e.name.d.value&&e.valueExpression.d.constType===aj.Wg.True&&(o.shared.flags|=aM.aF.TypedDictMarkedClosed|aM.aF.TypedDictEffectivelyClosed)):(null==(c=e.name)?void 0:c.d.value)==="extra_items"&&(o.shared.typedDictExtraItemsExpr=e.valueExpression,o.shared.flags|=aM.aF.TypedDictEffectivelyClosed)}return await dr(e,t,o),o}async function di(e,t,i){let r=ax.R8(t),n="<TypedDict>",a=aM.p5.createInstantiable(n,aL.NJ(t,r.moduleName,n),r.moduleName,r.fileUri,aM.aF.TypedDictClass,aL.pj(t),void 0,i.shared.effectiveMetaclass);return a.shared.baseClasses.push(i),(0,aX.VS)(a),dl(e,t,await l9(a),!0),await dr(e,t,a),a}async function dr(e,t,i){var r;(0,n6.vA)(aM.p5.isTypedDictClass(i));let n=aM.RK.createSynthesizedInstance("__new__",aM.wt.ConstructorMethod);aM.RK.addParam(n,aM.gk.create(aO.OP.Simple,i,aM.D5.TypeDeclared,"cls")),aM.RK.addDefaultParams(n),n.shared.declaredReturnType=aM.p5.cloneAsInstance(i),n.priv.constructorTypeVarScopeId=(0,aX.Pn)(i);let a=aM.RK.createSynthesizedInstance("__init__",aM.wt.Overloaded);aM.RK.addParam(a,aM.gk.create(aO.OP.Simple,aM.p5.cloneAsInstance(i),aM.D5.TypeDeclared,"self")),a.shared.declaredReturnType=e.getNoneType(),a.priv.constructorTypeVarScopeId=(0,aX.Pn)(i),aM.RK.addParam(a,aM.gk.create(aO.OP.Simple,aM.p5.cloneAsInstance(i),aM.D5.TypeDeclared,"__map"));let s=await dn(e,i),o=null!=(r=s.extraItems)?r:du(e,i),l=s.knownItems.size>0;s.knownItems.size>0&&(aM.RK.addPositionOnlyParamSeparator(a),aM.RK.addKeywordOnlyParamSeparator(a));let d=aM.RK.createSynthesizedInstance("__init__",aM.wt.Overloaded);aM.RK.addParam(d,aM.gk.create(aO.OP.Simple,aM.p5.cloneAsInstance(i),aM.D5.TypeDeclared,"self")),d.shared.declaredReturnType=e.getNoneType(),d.priv.constructorTypeVarScopeId=(0,aX.Pn)(i),s.knownItems.size>0&&aM.RK.addKeywordOnlyParamSeparator(d),s.knownItems.forEach((e,t)=>{aM.RK.addParam(a,aM.gk.create(aO.OP.Simple,e.valueType,aM.D5.TypeDeclared,t,e.valueType)),aM.RK.addParam(d,aM.gk.create(aO.OP.Simple,e.valueType,aM.D5.TypeDeclared,t,e.isRequired?void 0:e.valueType)),e.isReadOnly||(l=!1)}),s.extraItems&&!(0,aM.Pd)(s.extraItems.valueType)&&(aM.RK.addParam(a,aM.gk.create(aO.OP.KwargsDict,s.extraItems.valueType,aM.D5.TypeDeclared,"kwargs")),aM.RK.addParam(d,aM.gk.create(aO.OP.KwargsDict,s.extraItems.valueType,aM.D5.TypeDeclared,"kwargs")));let u=await l9(i),p=aM.OF.create([a,d]);u.set("__init__",lM.NI.createWithType(lM.mk.ClassMember,p)),u.set("__new__",lM.NI.createWithType(lM.mk.ClassMember,n));let c=await e.getBuiltInType(t,"str");if((0,aM.dL)(c)){let r,n=aM.gk.create(aO.OP.Simple,aM.p5.cloneAsInstance(i),aM.D5.TypeDeclared,"self");function h(e){let t=aM.Kn.createInstance("__TDefault");return aM.Kn.cloneForScopeId(t,e.shared.typeVarScopeId,i.shared.name,aM.O1.Function)}function m(i,r,a,s=!1,o=!1){let l=aM.RK.createSynthesizedInstance("get",aM.wt.Overloaded);if(aM.RK.addParam(l,n),l.shared.typeVarScopeId=aL.tp(t),aM.RK.addParam(l,aM.gk.create(aO.OP.Simple,i,aM.D5.TypeDeclared,"k")),a){let e,t,i=h(l);s?(e=aM.V.create(),t=r):t=e=o?r:(0,aM.Do)([r,i]),aM.RK.addParam(l,aM.gk.create(aO.OP.Simple,e,aM.D5.TypeDeclared,"default")),l.shared.declaredReturnType=t}else l.shared.declaredReturnType=s?r:(0,aM.Do)([r,e.getNoneType()]);return l}function y(e,i,r){let a,s,o=aM.gk.create(aO.OP.Simple,e,aM.D5.TypeDeclared,"k"),l=aM.RK.createSynthesizedInstance("pop",aM.wt.Overloaded);aM.RK.addParam(l,n),aM.RK.addParam(l,o),l.shared.declaredReturnType=i;let d=aM.RK.createSynthesizedInstance("pop",aM.wt.Overloaded);aM.RK.addParam(d,n),aM.RK.addParam(d,o),d.shared.typeVarScopeId=aL.tp(t);let u=h(d);return r?(a=aM.V.create(),s=i):s=a=(0,aM.Do)([i,u]),aM.RK.addParam(d,aM.gk.create(aO.OP.Simple,a,aM.D5.TypeDeclared,"default",a)),d.shared.declaredReturnType=s,[l,d]}async function g(){let r=aM.RK.createSynthesizedInstance("update",aM.wt.Overloaded);aM.RK.addParam(r,n);let a=aM.RK.createSynthesizedInstance("update",aM.wt.Overloaded);aM.RK.addParam(a,n);let o=aM.RK.createSynthesizedInstance("update",aM.wt.Overloaded);aM.RK.addParam(o,n),aM.RK.addParam(r,aM.gk.create(aO.OP.Simple,l?aM.Xl.createNever():aM.p5.cloneAsInstance(aM.p5.cloneForPartialTypedDict(i)),aM.D5.TypeDeclared,"__m")),s.knownItems.size>0&&(aM.RK.addPositionOnlyParamSeparator(r),aM.RK.addKeywordOnlyParamSeparator(o)),r.shared.declaredReturnType=e.getNoneType(),a.shared.declaredReturnType=e.getNoneType(),o.shared.declaredReturnType=e.getNoneType();let d=[],u=await e.getBuiltInType(t,"tuple");s.knownItems.forEach((e,t)=>{if(!e.isReadOnly){if(u&&(0,aM.dL)(u)&&c&&(0,aM.dL)(c)){let i=(0,aX.K4)(aM.p5.cloneAsInstance(u),[{type:aM.p5.cloneWithLiteral(aM.p5.cloneAsInstance(c),t),isUnbounded:!1},{type:e.valueType,isUnbounded:!1}]);d.push(i)}aM.RK.addParam(o,aM.gk.create(aO.OP.Simple,e.valueType,aM.D5.TypeDeclared,t,aM.V.create(!0)))}});let p=await e.getTypingType(t,"Iterable");if(p&&(0,aM.dL)(p)){let e=aM.p5.cloneAsInstance(p);aM.RK.addParam(a,aM.gk.create(aO.OP.Simple,aM.p5.specialize(e,[(0,aM.Do)(d)]),aM.D5.TypeDeclared,"__m"))}return s.knownItems.size>0&&aM.RK.addPositionOnlyParamSeparator(a),aM.OF.create([a,r,o])}let a=[],d=[],p=[];s.knownItems.forEach((e,t)=>{var i;let r,s=aM.p5.cloneAsInstance(aM.p5.cloneWithLiteral(c,t));a.push(m(s,e.valueType,!1,e.isRequired)),a.push(m(s,e.valueType,!0,e.isRequired,e.isRequired)),e.isRequired||e.isReadOnly||(0,ap.af)(d,y(s,e.valueType,e.isRequired)),e.isReadOnly||p.push((i=e.valueType,r=aM.RK.createSynthesizedInstance("setdefault",aM.wt.Overloaded),aM.RK.addParam(r,n),aM.RK.addParam(r,aM.gk.create(aO.OP.Simple,s,aM.D5.TypeDeclared,"k")),aM.RK.addParam(r,aM.gk.create(aO.OP.Simple,i,aM.D5.TypeDeclared,"default")),r.shared.declaredReturnType=i,r))});let f=aM.p5.cloneAsInstance(c);aM.p5.isTypedDictEffectivelyClosed(i)?(a.push(m(f,(0,aM.Do)([o.valueType,e.getNoneType()]),!1,!0)),a.push(m(f,o.valueType,!0))):(a.push(m(f,aM.V.create(),!1)),a.push(m(f,aM.V.create(),!0))),aM.p5.isTypedDictEffectivelyClosed(i)?(0,aM.Pd)(o.valueType)||d.push(...y(f,o.valueType,!1)):d.push(...y(f,e.getObjectType(),!1)),u.set("get",lM.NI.createWithType(lM.mk.ClassMember,aM.OF.create(a))),d.length>0&&u.set("pop",lM.NI.createWithType(lM.mk.ClassMember,aM.OF.create(d))),p.length>0&&u.set("setdefault",lM.NI.createWithType(lM.mk.ClassMember,aM.OF.create(p))),l||u.set("__delitem__",lM.NI.createWithType(lM.mk.ClassMember,(r=aM.RK.createSynthesizedInstance("delitem",aM.wt.Overloaded),aM.RK.addParam(r,n),aM.RK.addParam(r,aM.gk.create(aO.OP.Simple,f,aM.D5.TypeDeclared,"k")),r.shared.declaredReturnType=e.getNoneType(),r))),u.set("update",lM.NI.createWithType(lM.mk.ClassMember,await g()));let v=await ds(e,i);if(v){let t=aM.RK.createSynthesizedInstance("clear");aM.RK.addParam(t,n),t.shared.declaredReturnType=e.getNoneType(),u.set("clear",lM.NI.createWithType(lM.mk.ClassMember,t));let i=aM.RK.createSynthesizedInstance("popitem");aM.RK.addParam(i,n);let r=e.getTupleClassType();r=r&&(0,aM.dL)(r)?(0,aX.K4)(aM.p5.cloneAsInstance(r),[{type:f,isUnbounded:!1},{type:v,isUnbounded:!1}],!0):aM.vn.create(),i.shared.declaredReturnType=r,u.set("popitem",lM.NI.createWithType(lM.mk.ClassMember,i))}let _=await da(e,i);if(_){let i=f;s.extraItems&&(0,aM.Pd)(s.extraItems.valueType)&&(i=(0,aM.Do)(Array.from(s.knownItems.keys()).map(e=>aM.p5.cloneWithLiteral(f,e)))),await lH(["items","keys","values"],async r=>{let a=aM.RK.createSynthesizedInstance(r);aM.RK.addParam(a,n);let s=await e.getTypingType(t,`dict_${r}`);s&&(0,aM.dL)(s)&&2===s.shared.typeParams.length&&(a.shared.declaredReturnType=aM.p5.specialize(aM.p5.cloneAsInstance(s),[i,_]),u.set(r,lM.NI.createWithType(lM.mk.ClassMember,a)))})}}}async function dn(e,t,i=!1){var r;if(!t.shared.typedDictEntries){let i={knownItems:new Map,extraItems:void 0};await dd(e,t,i),aM.p5.isTypedDictMarkedClosed(t)&&!i.extraItems&&(i.extraItems={valueType:aM.Xl.createNever(),isReadOnly:!1,isRequired:!1,isProvided:!1}),t.shared.typedDictEntries=i}let n=(0,aX.DU)(t),a=new Map;t.shared.typedDictEntries.knownItems.forEach((e,i)=>{let r={...e};r.valueType=(0,aX.i0)(r.valueType,n),t.priv.isTypedDictPartial&&(r.isRequired=!1,r.isReadOnly?r.valueType=aM.Xl.createNever():r.isReadOnly=!0),a.set(i,r)}),i&&t.priv.typedDictNarrowedEntries&&t.priv.typedDictNarrowedEntries.forEach((e,t)=>{let i={...e};i.valueType=(0,aX.i0)(i.valueType,n),a.set(t,i)});let s=null==(r=t.shared.typedDictEntries)?void 0:r.extraItems;return s&&(s={...s,valueType:(0,aX.i0)(s.valueType,n)}),{knownItems:a,extraItems:s}}async function da(e,t){if((0,n6.vA)((0,aM.dL)(t)),(0,n6.vA)(aM.p5.isTypedDictClass(t)),!aM.p5.isTypedDictEffectivelyClosed(t))return;let i=await dn(e,t),r=[];i.knownItems.forEach(e=>{r.push(e.valueType)}),i.extraItems&&r.push(i.extraItems.valueType);let n=(0,aM.Do)(r);if(!((0,aM.aE)(n)&&aM.p5.isBuiltIn(n,"object")))return n}async function ds(e,t,i=0){if((0,n6.vA)((0,aM.dL)(t)),(0,n6.vA)(aM.p5.isTypedDictClass(t)),!aM.p5.isTypedDictEffectivelyClosed(t))return;let r=await dn(e,t);if(!r.extraItems||r.extraItems.isReadOnly)return;let n=r.extraItems.valueType,a=!0;if(await lH(r.knownItems,async t=>{(t.isReadOnly||t.isRequired)&&(a=!1),n=(0,aM.Do)([n,t.valueType]),await e.assignType(n,t.valueType,void 0,lO.fW.Invariant,i+1)||(a=!1)}),a)return n}function dl(e,t,i,r){let n=new Set,a=ax.R8(t);t.d.items.forEach(e=>{if(e.nodeType!==aO.ye.DictionaryKeyEntry||e.d.keyExpr.nodeType!==aO.ye.StringList)return;let t=e.d.keyExpr.d.strings.map(e=>e.d.value).join("");if(!t||n.has(t))return;n.add(t);let s=new lM.NI(lM.mk.InstanceMember),o={type:aF.h3.Variable,node:e.d.keyExpr,uri:a.fileUri,typeAnnotationNode:e.d.valueExpr,isRuntimeTypeExpression:!r,range:(0,aW.er)(e.d.keyExpr.start,aB.vY.getEnd(e.d.keyExpr),a.lines),moduleName:a.moduleName,isInExceptSuite:!1,isInInlinedTypedDict:!0};s.addDeclaration(o),i.set(t,s)}),e.setTypeResultForNode(t,{type:aM.vn.create()})}async function dd(e,t,i,r=0){if((0,n6.vA)(aM.p5.isTypedDictClass(t)),r>aM.Wn)return;r++,await lH(t.shared.baseClasses,async n=>{if((0,aM.dL)(n)&&aM.p5.isTypedDictClass(n)){let a=(0,aX._T)(n,t,e.getTypeClassType());(0,n6.vA)((0,aM.D4)(a)),await dd(e,a,i,r)}});let n=(0,aX.DU)(t);if(aM.p5.isTypedDictMarkedClosed(t))i.extraItems={valueType:aM.Xl.createNever(),isReadOnly:!1,isRequired:!1,isProvided:!1};else if(t.shared.typedDictExtraItemsExpr){let r=await e.getTypeOfExpressionExpectingType(t.shared.typedDictExtraItemsExpr,{allowReadOnly:!0});i.extraItems={valueType:(0,aX.gU)(r.type),isReadOnly:!!r.isReadOnly,isRequired:!1,isProvided:!0}}await lH(await l9(t),async(r,a)=>{if(!r.isIgnoredForProtocolMatch()){let s=(0,o0.IE)(r);if(s&&s.type===aF.h3.Variable){let s=await e.getEffectiveTypeOfSymbol(r);s=(0,aX.i0)(s,n);let o=!aM.p5.isCanOmitDictValues(t),l=!1;await dm(e,r)?o=!0:await dy(e,r)&&(o=!1),await dg(e,r)&&(l=!0);let d={valueType:s,isReadOnly:l,isRequired:o,isProvided:!1};i.knownItems.set(a,d)}}})}function du(e,t){var i;return((0,n6.vA)(aM.p5.isTypedDictClass(t)),aM.p5.isTypedDictMarkedClosed(t))?(null==(i=t.shared.typedDictEntries)?void 0:i.extraItems)?t.shared.typedDictEntries.extraItems:{valueType:aM.Xl.createNever(),isReadOnly:!0,isRequired:!1,isProvided:!1}:{valueType:e.getObjectType(),isReadOnly:!0,isRequired:!1,isProvided:!1}}async function dp(e,t,i,r,n,a=0){var s,o;let l=!0,d=await dn(e,t),u=await dn(e,i,!0),p=null!=(s=u.extraItems)?s:du(e,i);if(await lH(d.knownItems,async(t,i)=>{if(!l)return;let s=u.knownItems.get(i);s?(t.isRequired===s.isRequired||t.isReadOnly||(l=!1),!t.isReadOnly&&s.isReadOnly&&(l=!1),await e.assignType(t.valueType,s.valueType,r,t.isReadOnly?n:n|lO.fW.Invariant,a)||(l=!1)):t.isRequired||!t.isReadOnly?l=!1:(0,aM.aE)(p.valueType)&&!await e.assignType(t.valueType,p.valueType,r,n,a)&&(l=!1)}),!l)return!1;if(aM.p5.isTypedDictEffectivelyClosed(t)){let i=null!=(o=d.extraItems)?o:du(e,t);await lH(u.knownItems,async(t,i)=>{d.knownItems.has(i)||(d.extraItems?(t.isRequired&&!d.extraItems.isReadOnly&&(l=!1),await e.assignType(d.extraItems.valueType,t.valueType,r,d.extraItems.isReadOnly?n:n|lO.fW.Invariant,a)?!d.extraItems.isReadOnly&&t.isReadOnly&&(l=!1):l=!1):l=!1)}),await e.assignType(i.valueType,p.valueType,r,i.isReadOnly?n:n|lO.fW.Invariant,a)?!i.isReadOnly&&p.isReadOnly&&(l=!1):l=!1}return l}async function dc(e,t,i,r){let n;(0,n6.vA)((0,aM.aE)(t)),(0,n6.vA)(aM.p5.isTypedDictClass(t)),(0,n6.vA)(i.length===r.length);let a=!0,s=new Map,o=t;t.shared.typeParams.length>0&&(n=new lN.w,t.priv.typeArgs&&(o=aM.p5.specialize(t,void 0)));let l=await dn(e,o);if(await lH(i,async(t,i)=>{let o=t.type;if((0,aM.aE)(o)&&aM.p5.isBuiltIn(o,"str")&&(0,aX.aw)(o)){let t=o.priv.literalValue,d=l.knownItems.get(t);d?(await e.assignType(d.valueType,r[i].type,n,lO.fW.RetainLiteralsForTypeVar)||(a=!1),d.isRequired||s.set(t,{valueType:r[i].type,isReadOnly:!!r[i].isReadOnly,isRequired:!1,isProvided:!0}),d.isProvided=!0):l.extraItems&&await e.assignType(l.extraItems.valueType,r[i].type,n,lO.fW.RetainLiteralsForTypeVar)||(a=!1)}else a=!1}),!a||(l.knownItems.forEach((e,t)=>{e.isRequired&&!e.isProvided&&(a=!1)}),!a))return;let d=n?await e.solveAndApplyConstraints(o,n):t;return 0===s.size?d:aM.p5.cloneForNarrowedTypedDictEntries(d,s)}async function dh(e,t,i,r){if(1!==t.d.items.length)return{type:aM.vn.create()};if(t.d.trailingComma||t.d.items[0].d.name||t.d.items[0].d.argCategory!==aO.b4.Simple)return;let n=await dn(e,i,"get"===r.method),a=await e.getTypeOfExpression(t.d.items[0].d.valueExpr),s=a.type;return{type:await l5(s,async e=>{if((0,aM.ah)(e))return e;if((0,aM.aE)(e)&&aM.p5.isBuiltIn(e,"str")){var t;if(void 0===e.priv.literalValue)return aM.vn.create();let i=e.priv.literalValue,r=null!=(t=n.knownItems.get(i))?t:n.extraItems;return!r||(0,aM.Pd)(r.valueType)?aM.vn.create():r.valueType}return aM.vn.create()}),isIncomplete:!!a.isIncomplete}}async function dm(e,t){return await lY(t.getDeclarations(),async t=>t.type===aF.h3.Variable&&!!t.typeAnnotationNode&&!!(await e.getTypeOfExpressionExpectingType(t.typeAnnotationNode,{allowFinal:!0,allowRequired:!0,allowReadOnly:!0})).isRequired)}async function dy(e,t){return await lY(t.getDeclarations(),async t=>t.type===aF.h3.Variable&&!!t.typeAnnotationNode&&!!(await e.getTypeOfExpressionExpectingType(t.typeAnnotationNode,{allowFinal:!0,allowRequired:!0,allowReadOnly:!0})).isNotRequired)}async function dg(e,t){return await lY(t.getDeclarations(),async t=>t.type===aF.h3.Variable&&!!t.typeAnnotationNode&&!!(await e.getTypeOfExpressionExpectingType(t.typeAnnotationNode,{allowFinal:!0,allowRequired:!0,allowReadOnly:!0})).isReadOnly)}function df(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function dv(e){if(e.nodeType!==aO.ye.String)return;let t=e.parent;if((null==t?void 0:t.nodeType)===aO.ye.StringList&&1===t.d.strings.length&&t.d.strings[0].nodeType===aO.ye.String)return e.d.value}function d_(e,t){return e.d.argCategory===aO.b4.Simple&&!e.d.name&&t.length>0&&t[0]===e}function dT(e){let t=function(e){if(e.nodeType!==aO.ye.String)return;let t=e.parent;if((null==t?void 0:t.nodeType)!==aO.ye.StringList)return;let i=t.parent;if((null==i?void 0:i.nodeType)===aO.ye.Argument)return i}(e);if(!t)return;let i=t.parent;if((null==i?void 0:i.nodeType)===aO.ye.Index){if(!d_(t,i.d.items))return;return i.d.leftExpr}if((null==i?void 0:i.nodeType)===aO.ye.Call){if(!d_(t,i.d.args))return;let e=i.d.leftExpr;if(e.nodeType!==aO.ye.MemberAccess||"get"!==e.d.member.d.value)return;return e.d.leftExpr}}async function dw(e,t,i,r,n){let a=[];for(let s of((0,aX.u6)(t,e=>{(0,aM.aE)(e)&&aM.p5.isTypedDictClass(e)&&a.push(e)}),a)){if(n.isCancellationRequested)return;if(!(await dn(e,s,!0)).knownItems.has(i))continue;let t=(0,aX.Zn)(s,i);if(t)for(let e of t.symbol.getDeclarations())(0,sW.Km)(r,e)}}class db{tryGetDeclarations(e,t,i){if(i.isCancellationRequested)return[];let r=dv(e);if(!r)return[];let n=dT(e);if(!n)return[];let a=this._view.evaluator;if(!a)return[];let s=a.getType(n);if(!s)return[];let o=[];return(0,aX.u6)(s,e=>{if(!(0,aM.aE)(e)||!aM.p5.isTypedDictClass(e)||!(0,lR.n5)(a,e,!0).knownItems.has(r))return;let t=(0,aX.Zn)(e,r);if(t)for(let e of t.symbol.getDeclarations())(0,sW.Km)(o,e)}),o}constructor(e){df(this,"_view",void 0),this._view=e}}class dS{async tryGetDeclarations(e,t,i,r){if(r.isCancellationRequested)return[];let n=dv(e);if(!n)return[];let a=dT(e);if(!a)return[];let s=this._getProgram().getEvaluator(i),o=await s.getType(a);if(r.isCancellationRequested||!o)return[];let l=[];return await dw(s,o,n,l,r),l}constructor(e){df(this,"_getProgram",void 0),this._getProgram=e}}var dk=i(90355),dI=i(27809),dC=i(41880),dP=i(60115),dx=i(67995),dF=i(32549),dA=i(26031),dD=i(73939),dE=i(25243),dR=i(77398),dN=i(64424);async function dM(e,t,i,r,n=lO.fW.Default,a=0){let s;if((0,aM.q5)(t)&&(0,aM.q5)(i)&&(t=aM.Kn.cloneForPacked(t),i=(0,aX.zu)(i)),!t.priv.scopeId)return!0;if(aM.Kn.isBound(t)&&!aM.Kn.isUnification(t)){var o=t,l=i;if((0,aM.ah)(l)||(0,aM.D4)(l)&&aM.p5.derivesFromAnyOrUnknown(l)||(0,aM.Bo)(o)&&(0,aM.Tn)(l)&&aM.RK.isGradualCallableForm(l))return!0;let e=(n&lO.fW.Invariant)!=0;return!!((0,aM.Pd)(l)&&!e||(0,aM.aE)(l)&&aM.p5.isBuiltIn(l,"type")&&(!l.priv.typeArgs||l.priv.typeArgs.length<1||(0,aM.ah)(l.priv.typeArgs[0]))&&aM.Ab.isInstantiable(o))}if(aM.Ab.isInstantiable(t)&&(0,aM.dL)(i)&&e.isSpecialFormClass(i,n))return!1;if((0,aM.J5)(t,i))return!0;if((0,aM.Bo)(t))s=await dK(e,t,i,r,a);else{if((0,aM.wh)(t)&&!t.priv.isInUnion)if(t.priv.isUnpacked){let t=e.getTupleClassType();!(0,aM.q5)(i)&&t&&(i=(0,aX.gU)((0,aX.K4)(t,[{type:i,isUnbounded:!1}],!0,!0)))}else i=(0,aX.uU)(i);(0,aM.wh)(i)&&i.priv.isUnpacked&&!i.priv.isInUnion&&!(0,aM.wh)(t)&&(i=aM.Kn.cloneForUnpacked(i,!0)),s=aM.Kn.hasConstraints(t)?await dj(e,t,i,r,n,a):await d$(e,t,i,r,n,a)}return s}async function dO(e,t,i){let r=[];for(let n of t.getConstraintSets()){let t=await dU(e,n,i);r.push(t)}return new dA.z(r)}async function dU(e,t,i){let r=new dA.p;for(let n of t.getTypeVars())await dz(e,t,i,r,n);return r}async function dL(e,t,i,r,n,a){if((0,aM.f7)(i))return t.shared.typeParams.forEach(e=>{r.setBounds(e,i,i)}),!0;if((0,aM.CP)(i)&&aM.Kn.isSelf(i)&&i.shared.boundType&&(i=i.shared.boundType),!(0,aM.D4)(i))return!1;let s=i.priv.typeArgs;if(!s)return await e.assignType(t,i,r,lO.fW.PopulateExpectedType);if(await e.inferVarianceForClass(t),aM.p5.isSameGenericClass(i,t)){let e=(0,aX.DU)(i);return aM.p5.getTypeParams(i).forEach(t=>{let i=e.getMainSolutionSet().getType(t);if(i&&n&&(i=(0,aX.J1)(i,n,a)),i){let e=aM.Kn.getVariance(t);r.setBounds(t,e===aM.id.Covariant?void 0:i,e===aM.id.Contravariant?void 0:i)}}),!0}let o=(0,aX.Pn)(i),l=aM.p5.getTypeParams(i).map((e,t)=>{let i=aM.Kn.createInstance(`__dest${t}`,(0,aM.Bo)(e)?aM.Sc.ParamSpec:aM.Sc.TypeVar);return i.shared.isSynthesized=!0,i.shared.declaredVariance=aM.id.Invariant,i.priv.scopeId=o,i}),d=aM.p5.specialize(i,l),u=aM.p5.getTypeParams(t).map((e,t)=>{let i=aM.Kn.createInstance(`__source${t}`,(0,aM.Bo)(e)?aM.Sc.ParamSpec:aM.Sc.TypeVar);return i.shared.isSynthesized=!0,i.shared.synthesizedIndex=t,i.shared.isExemptFromBoundCheck=!0,aM.Kn.cloneAsUnificationVar(i)}),p=aM.p5.specialize(t,u),c=new lN.w;if(await e.assignType(d,p,c,lO.fW.PopulateExpectedType)){let t=!0;return await lH(l,async(i,o)=>{let l=await dB(e,c.getMainConstraintSet(),i),d=[];if(l&&((0,aM.Bo)(i)&&(0,aM.Tn)(l)&&(l=(0,aX.d1)(l)),(0,aM.mi)(l))){let e;(0,aX.wE)(l.priv.subtypes).forEach(t=>{(0,aM.CP)(t)&&t.shared.isSynthesized&&void 0!==t.shared.synthesizedIndex&&!e?e=t:d.push(t)}),e&&(l=e)}if(l&&(0,aM.CP)(l)&&l.shared.isSynthesized&&void 0!==l.shared.synthesizedIndex){let i=aM.p5.getTypeParams(p)[l.shared.synthesizedIndex];if(o<s.length){let l=(0,aX.In)(s[o]);d.length>0&&(l=(0,aM.Do)([l,...d])),n&&(l=(0,aX.J1)(l,n,a)),l&&await dM(e,i,l,r,lO.fW.RetainLiteralsForTypeVar)||(t=!1)}}}),t}return!1}async function dz(e,t,i,r,n){if(r.hasType(n.typeVar))return r.getType(n.typeVar);r.setType(n.typeVar,void 0);let a=await dB(e,t,n.typeVar,null==i?void 0:i.useLowerBoundOnly);if(a){let s=(0,aX.Nl)(a);if(s.length>0){let o=new dA.z;for(let a of s){if((0,aM.J5)(a,n.typeVar,{ignoreTypeFlags:!0})||aM.Kn.isBound(a))continue;let s=t.getTypeVar(a);if(!s)continue;let l=await dz(e,t,i,r,s);l&&o.setType(a,l)}o.isEmpty()||(a=(0,aX.i0)(a,o))}}return r.setType(n.typeVar,a),a}function dW(e,t,i){return(0,aM.wh)(t)?dV(e,i):(0,aX.$o)(e.stripLiteralValue(i))}async function dB(e,t,i,r){let n,a=t.getTypeVar(i);if(!a)return;if((0,aM.Bo)(i)){if(!a.lowerBound)return;if((0,aM.Tn)(a.lowerBound))return a.lowerBound;if((0,aM.ah)(a.lowerBound))return aM.$Z.getUnknown()}let s=a.lowerBound;if(s){if(!a.retainLiterals){let t=dW(e,i,s);t!==s&&(!a.upperBound||await e.assignType(a.upperBound,t))&&(aM.Kn.hasConstraints(i)?i.shared.constraints.some(e=>(0,aM.J5)(t,e))&&(s=t):s=t)}n=s}else r||(n=a.upperBound);return n}async function d$(e,t,i,r,n,a){let s=(n&lO.fW.Invariant)!=0,o=(n&lO.fW.Contravariant)!=0&&!s,l=null==r?void 0:r.getMainConstraintSet().getTypeVar(t),d=null==l?void 0:l.upperBound;d||aM.Kn.isSelf(t)||(d=t.shared.boundType);let u=null==l?void 0:l.lowerBound,p=u,c=d,h=i;if((n&lO.fW.AllowUnspecifiedTypeArgs)==0&&(0,aM.D4)(h)&&h.priv.includeSubclasses&&(h=(0,aX.ap)(h)),aM.Ab.isInstantiable(t))if((0,aX.TR)(h))h=(0,aX.gU)(h,!1);else{let t=e.makeTopLevelTypeVarsConcrete(h);if(!(0,aX.TR)(t))return!1;h=(0,aX.gU)(t)}else if((0,aM.CP)(i)&&aM.Ab.isInstantiable(i)&&(0,aM.J5)((0,aX.gU)(i),t))return!1;if((n&lO.fW.PopulateExpectedType)!=0){if((n&lO.fW.SkipPopulateUnknownExpectedType)!=0&&(0,aM.t8)(h))return!0;l||(s?(p=h,c=h):o?p=h:c=h)}else if(o){if(!d||(0,aM.J5)(t,d))c=h;else if(!(0,aM.J5)(d,h,{},a)){if(await e.assignType(d,e.makeTopLevelTypeVarsConcrete(h),void 0,lO.fW.Default,a))c=h;else if(!await e.assignType(h,d,void 0,lO.fW.Default,a))return!1}if(u&&!await e.assignType(c,u,void 0,lO.fW.Default,a))return!1}else{if(!u||(0,aM.J5)(t,u))p=h;else if((0,aM.J5)(u,h,{},a))!c&&s&&l&&!l.retainLiterals&&(p=dW(e,t,u));else if(await e.assignType(u,h,r,n,a))(0,aX.ZP)(u)&&!(0,aM.t8)(h)&&await e.assignType(h,u,r,lO.fW.Default,a)?p=h:(p=u,r&&(p=await e.solveAndApplyConstraints(p,r)));else if((0,aM.CP)(u)&&!(0,aM.CP)(h)&&await e.assignType(e.makeTopLevelTypeVarsConcrete(u),h,r,n,a))p=h;else if(await e.assignType(h,u,r,lO.fW.Default,a))(0,aM.CP)(h)||(p=h);else if((0,aM.wh)(t)){let t=function(e,t,i){if(!(0,aM.wO)(t)||!(0,aM.wO)(i)||!t.priv.tupleTypeArgs||!i.priv.tupleTypeArgs||t.priv.tupleTypeArgs.length!==i.priv.tupleTypeArgs.length)return;let r=dV(e,t),n=dV(e,i);if((0,aM.J5)(r,n))return r}(e,u,h);if(!t)return!1;p=t}else{let i=e.getObjectType();!c&&s&&l&&!l.retainLiterals&&(u=dW(e,t,u));let n=u;r&&(n=await e.solveAndApplyConstraints(u,r)),p=(0,aM.mi)(n)&&n.priv.subtypes.length>64&&aM.Kn.hasBound(t)&&(0,aM.aE)(i)?(0,aM.Do)([n,i],{maxSubtypeCount:64}):(0,aM.Do)([n,h],{maxSubtypeCount:64})}if(s&&p&&!await e.assignType(h,p,void 0,lO.fW.Default,a)||d&&p&&!(0,aM.J5)(d,p,{},a)&&!await e.assignType(d,p,void 0,lO.fW.Default,a))return!1}if(!c&&s&&(c=p),t.shared.boundType){let n=p||c;if(aM.Ab.isInstantiable(t)&&!(0,aX.TR)(i,{honorTypeVarBounds:!0}))return!1;let s=aM.Kn.isSelf(t)?r:void 0;if(!await e.assignType(t.shared.boundType,e.makeTopLevelTypeVarsConcrete(n),s,lO.fW.Default,a))return!1}return null==r||r.setBounds(t,p,c,(n&(lO.fW.PopulateExpectedType|lO.fW.RetainLiteralsForTypeVar))!=0),!0}async function dj(e,t,i,r,n,a){let s,o=e.makeTopLevelTypeVarsConcrete(i),l=null==r?void 0:r.getMainConstraintSet().getTypeVar(t),d=null==l?void 0:l.upperBound,u=null==l?void 0:l.lowerBound,p=!1;if((0,aM.CP)(i))await e.assignType(t,o,void 0,lO.fW.Default,a)&&(s=i,aM.Ab.isInstantiable(i)&&(s=(0,aX.gU)(i,!1)));else{let i,r=!0;s=await l5(o,async s=>{let o,l;return(0,aM.ah)(s)?s:(await lH(t.shared.constraints,async(i,r)=>{let n=aM.Ab.isInstantiable(t)?(0,aX.xy)(i):i;await e.assignType(n,s,void 0,lO.fW.Default,a)&&(!o||await e.assignType(aM.Ab.isInstantiable(t)?(0,aX.xy)(o):o,n,void 0,lO.fW.Default,a))&&(o=(0,aX.cH)(i,(0,aX.An)(s)),l=r)}),o||(n&lO.fW.Contravariant)!=0||(r=!1),void 0===l||(0,aX.An)(s)||(void 0!==i&&i!==l&&(r=!1),i=l),o)}),((0,aM.Pd)(s)||!r)&&(s=void 0),!s&&(0,aM.mi)(o)&&(s=await l0(t.shared.constraints,async i=>{let r=aM.Ab.isInstantiable(t)?(0,aX.xy)(i):i;return await e.assignType(r,o,void 0,lO.fW.Default,a)}))}if(!s)return!1;if((0,aX.gl)(s)&&(p=!0),u&&!(0,aM.ah)(u)){if(!await e.assignType(u,s,void 0,lO.fW.Default,a))if(!await e.assignType(s,u,void 0,lO.fW.Default,a))return!1;else null==r||r.setBounds(t,s,d)}else null==r||r.setBounds(t,s,d,p);return!0}async function dK(e,t,i,r,n=0){if(!r)return!0;let a=!0,s=(0,aM.Bo)(i)?i:(0,aX._r)(i);for(let i of((0,aM.Tn)(s)&&(s=(0,aX.d1)(s)),r.getConstraintSets())){var o,l;if((0,aM.Bo)(s)){let e=null==(o=i.getTypeVar(t))?void 0:o.lowerBound;if(e){let t=(0,aX._r)(e),i=aM.RK.getParamSpecFromArgsKwargs(t);if(0===aM.RK.cloneRemoveParamSpecArgsKwargs(t).shared.parameters.length&&i&&(0,aM.J5)(i,s,{},n))break}else{i.setBounds(t,s);break}}else if((0,aM.Tn)(s)){let r=s,a=!1,o=null==(l=i.getTypeVar(t))?void 0:l.lowerBound;if(o){let t=(0,aX.d1)((0,aX._r)(o)),i=await e.assignType(t,r,void 0,lO.fW.SkipReturnTypeCheck,n),s=await e.assignType(r,t,void 0,lO.fW.SkipReturnTypeCheck,n);if(i&&s)if(aM.RK.isGradualCallableForm(r))break;else a=!0;else if(s)a=!0;else if(i)break}else a=!0;if(a){i.setBounds(t,r);break}}else if((0,aM.ah)(s))break;a=!1}return a}function dV(e,t){if(!(0,aM.wO)(t)||!t.priv.tupleTypeArgs)return t;let i=!1,r=t.priv.tupleTypeArgs.map(t=>{let r=(0,aX.$o)(e.stripLiteralValue(t.type));return r!==t.type&&(i=!0),{isUnbounded:t.isUnbounded,isOptional:t.isOptional,type:r}});return i?(0,aX.K4)(t,r,!0,!0):t}async function dq(e,t,i,r){return"functools.partial"===i.shared.fullName?await dG(e,t,r):r}async function dG(e,t,i){if(!(0,aM.aE)(i.returnType)||"functools.partial"!==i.returnType.shared.fullName)return;let r=(0,aX.mN)(i.returnType,"__call__",aX.Mh.SkipInstanceMembers);if(!r||!(0,aM.J5)((0,aX.gU)(r.classType),i.returnType))return;let n=await e.getTypeOfMember(r);if(!(0,aM.Tn)(n)||n.shared.parameters.length<1||t.length<1)return;let a=(await e.getTypeOfArg(t[0],void 0)).type,s=e.makeTopLevelTypeVarsConcrete(a);if((0,aM.dL)(s)){let t=await dQ(e,s,(0,aM.CP)(a)?(0,aX.gU)(a):void 0);t&&(a=t)}if(await e.inferReturnTypeIfNecessary(a),!t.some(e=>e.argCategory!==aO.b4.Simple)){if((0,aM.Tn)(a)){let r=await dH(e,t,n,a);if(!r)return;return{returnType:aM.p5.cloneForPartial(i.returnType,r.returnType),isTypeIncomplete:i.isTypeIncomplete,argumentErrors:r.argumentErrors}}if((0,aM.Gl)(a)){let r,s=[],o=aM.OF.getOverloads(a);if(await lH(o,async i=>{let r=await dH(e,t,n,i);r&&(r.argumentErrors||(0,aM.Tn)(r.returnType)&&s.push(r.returnType))}),0===s.length)return;return r=1===s.length?s[0]:aM.OF.create(s.map(e=>aM.RK.cloneWithNewFlags(e,e.shared.flags|aM.wt.Overloaded))),{returnType:aM.p5.cloneForPartial(i.returnType,r),isTypeIncomplete:i.isTypeIncomplete,argumentErrors:!1}}}}async function dH(e,t,i,r){var n;let a=new Map,s=(0,dD.MC)(r),o=!1,l=new lN.w,d=t.slice(1);await lH(d,async(t,i)=>{if(t.valueExpression)if(t.name){let i=s.params.find(e=>{var i;return e.param.name===(null==(i=t.name)?void 0:i.d.value)&&e.kind!==dD.OU.Positional});if(i){let r=i.param.name,n=i.type;if(a.has(r))o=!0;else{let i=await e.getTypeOfExpression(t.valueExpression,void 0,(0,aX.lq)(n));await e.assignType(n,i.type,l)||(o=!0),a.set(r,!0)}}else if(void 0===s.kwargsIndex)o=!0;else{let i=aM.RK.getParamType(r,s.params[s.kwargsIndex].index),n=await e.getTypeOfExpression(t.valueExpression,void 0,(0,aX.lq)(i));await e.assignType(i,n.type,l)||(o=!0)}}else if(i>=s.params.length||s.params[i].kind===dD.OU.Keyword)if(void 0!==s.argsIndex){let i=aM.RK.getParamType(r,s.params[s.argsIndex].index),n=await e.getTypeOfExpression(t.valueExpression,void 0,(0,aX.lq)(i));await e.assignType(i,n.type,l)||(o=!0)}else o=!0;else{var n;let d=aM.RK.getParamType(r,i),u=null!=(n=s.params[i].param.name)?n:"",p=await e.getTypeOfExpression(t.valueExpression,void 0,(0,aX.lq)(d));await e.assignType(d,p.type,l)||(o=!0),a.set(u,!1)}});let u=await e.solveAndApplyConstraints(r,l);if(!(0,aM.Tn)(u))return;let p=await lJ(u.shared.parameters,async(t,i)=>{let r=aM.RK.getParamType(u,i);if(t.category===aO.OP.KwargsDict&&(0,aM.aE)(r)&&(0,aM.wO)(r)&&aM.p5.isTypedDictClass(r)){var n;let t=await dn(e,r),i=new Map(null!=(n=r.priv.typedDictNarrowedEntries)?n:[]);t.knownItems.forEach((e,t)=>{a.has(t)&&i.set(t,{...e,isRequired:!1})}),r=aM.p5.cloneAsInstance(aM.p5.cloneForNarrowedTypedDictEntries(r,i))}let s=aM.RK.getParamDefaultType(u,i);return t.name&&a.get(t.name)&&(s=aM.V.create(!0)),aM.gk.create(t.category,r,t.flags,t.name,s)}),c=p.filter(e=>e.category!==aO.OP.KwargsDict&&(e.category===aO.OP.ArgsList||!e.name||!a.has(e.name))),h=p.filter(e=>e.name&&a.get(e.name)),m=p.filter(e=>e.category===aO.OP.KwargsDict),y=[];(0,ap.af)(y,c),(0,ap.af)(y,h),(0,ap.af)(y,m);let g=aM.RK.createInstance(i.shared.name,i.shared.fullName,i.shared.moduleName,i.shared.flags,u.shared.docString);return i.shared.parameters.length>0&&aM.RK.addParam(g,i.shared.parameters[0]),y.forEach(e=>{aM.RK.addParam(g,e)}),g.shared.declaredReturnType=u.shared.declaredReturnType?aM.RK.getEffectiveReturnType(u):null==(n=u.shared.inferredReturnType)?void 0:n.type,g.shared.declaration=i.shared.declaration,g.shared.typeVarScopeId=u.shared.typeVarScopeId,{returnType:g,isTypeIncomplete:!1,argumentErrors:o}}function dJ(e,t,i,r=aX.Mh.SkipObjectBaseClass){let n=aX.Mh.SkipInstanceMembers|aX.Mh.SkipAttributeAccessOverride|r;return e.getTypeOfBoundMember(t,i,"__init__",{method:"get"},n)}async function dY(e,t,i,r,n,a){var s,o;let l=null==(s=r.props)?void 0:s.typeAliasInfo;(null==l?void 0:l.shared.typeParams)&&!l.typeArgs&&(r=(0,aX.i0)(r,new dA.z,{replaceUnsolved:{scopeIds:[l.shared.typeVarScopeId],tupleClassType:e.getTupleClassType()}}));let d=await d4(e,t,i,r,n,a,!0);if(d){let s=null!=(o=d.returnType)?o:aM.vn.create();if(d.argumentErrors||await d9(e,r,s))return await d4(e,t,i,r,n,a,!1),d}let u=await dX(e,t,r),p="functools.partial"===r.shared.fullName,c=await e.useSpeculativeModeAsync(p?t:void 0,()=>dZ(e,t,i,r,n,a,u)),h=!p||c.argumentErrors;if(p){if(c.argumentErrors)await dZ(e,t,i,r,n,a,u),h=!0;else if(c.returnType){let t=await dq(e,i,r,{argumentErrors:!!c.argumentErrors,returnType:c.returnType,isTypeIncomplete:!!c.isTypeIncomplete});t&&(c.returnType=t.returnType,t.isTypeIncomplete&&(c.isTypeIncomplete=!0),t.argumentErrors&&(c.argumentErrors=!0),h=!0)}}return h||await lH(i,async t=>{t.valueExpression&&!e.isSpeculativeModeInUse(t.valueExpression)&&await e.getTypeOfExpression(t.valueExpression)}),c}async function dQ(e,t,i,r=0){let n,a=await d2(e,t,r);if(a)return a;let s=await d6(e,t,i,r);if(s){let i=!1;if((0,aX.ie)(s,r=>{let n=aM.RK.getEffectiveReturnType(r);n&&ue(e,t,n)&&(i=!0)}),i)return s}let o=await d7(e,t,i,r);return(o&&s&&ut(s)&&(s=void 0),s&&o)?(0,aM.Do)([o,s]):s||o?null!=s?s:o:null!=s?s:((n=aM.RK.createSynthesizedInstance("__new__",aM.wt.None)).shared.declaredReturnType=aM.p5.cloneAsInstance(t),(t.priv.includeSubclasses||aM.p5.isProtocolClass(t))&&aM.RK.addDefaultParams(n),!n.shared.docString&&t.shared.docString&&(n.shared.docString=t.shared.docString),n)}function dX(e,t,i,r=aX.Mh.SkipObjectBaseClass){let n=aX.Mh.SkipClassMembers|aX.Mh.SkipAttributeAccessOverride|aX.Mh.TreatConstructorAsClassMethod|r;return e.getTypeOfBoundMember(t,i,"__new__",{method:"get"},n)}async function dZ(e,t,i,r,n,a,s){var o,l;let d,u,p,c=!1,h=!1,m=!1,y=[];if(s){let l=await d0(e,t,i,r,n,a,s,!0);l.argumentErrors?h=!0:(0,ap.af)(y,null!=(o=l.overloadsUsedForCall)?o:[]),l.isTypeIncomplete&&(m=!0),u=l.returnType}if(!u||ut(null==s?void 0:s.type)?u=aM.p5.cloneAsInstance(r):((0,aM.t8)(u)||s&&(0,aM.f7)(s.type))&&(u=(0,aX.i0)(aM.p5.cloneAsInstance(r),new dA.z,{replaceUnsolved:{scopeIds:(0,aX.SR)(r),tupleClassType:e.getTupleClassType()}})),h&&(p={type:(0,aX.gU)(r)}),!(0,aM.Pd)(u)&&!ue(e,r,u)&&(0,aM.aE)(u)){let s=u;if(s.priv.typeArgs&&s.priv.typeArgs.some(e=>(0,aM.t8)(e))&&(s=aM.p5.cloneAsInstance(r)),p=await dJ(e,t,s)){let r=await d1(e,t,i,s,n,a,p.type);r.argumentErrors?h=!0:r.overloadsUsedForCall&&y.push(...r.overloadsUsedForCall),r.isTypeIncomplete&&(m=!0),d=r.returnType,c=!0,n=!0}}if(!c&&s&&(e.isSpeculativeModeInUse(t)||await d0(e,t,i,r,n,a,s,!1),c=!0,d=u),!s&&!p){let n=await d5(e,t,i,r,a);n.argumentErrors?h=!0:n.overloadsUsedForCall&&(0,ap.af)(y,n.overloadsUsedForCall),n.isTypeIncomplete&&(m=!0),d=null!=(l=n.returnType)?l:aM.vn.create()}return{argumentErrors:h,returnType:d,isTypeIncomplete:m,overloadsUsedForCall:y}}async function d0(e,t,i,r,n,a,s,o){var l;let d,u,p=!1,c=!1,h=[],m=new lN.w,y=await e.useSpeculativeModeAsync(o?t:void 0,()=>e.validateCallArgs(t,i,s,m,n,a),{dependentType:s.type});return y.isTypeIncomplete&&(p=!0),y.argumentErrors?(c=!0,await e.validateCallArgs(t,i,s,m,n,a)):(u=y.returnType,0===h.length&&y.overloadsUsedForCall&&h.push(...y.overloadsUsedForCall)),u?(0,aM.aE)(u)&&(0,aX.Bj)(u)&&!u.priv.tupleTypeArgs&&(u.priv.typeArgs&&1===u.priv.typeArgs.length&&(u=(0,aX.K4)(u,[{type:u.priv.typeArgs[0],isUnbounded:!0}])),d=l=u,a&&(0,aM.aE)(a.expectedType)&&(0,aX.Bj)(a.expectedType)&&a.expectedType.priv.tupleTypeArgs&&(d=(0,aX.K4)(l,a.expectedType.priv.tupleTypeArgs)),u=d):u=await d8(e,r,a,m),{argumentErrors:c,returnType:u,isTypeIncomplete:p,overloadsUsedForCall:h}}async function d1(e,t,i,r,n,a,s){let o=!1,l=!1,d=[],u=new lN.w;r.priv.typeArgs&&await dL(e,r,r,u,void 0);let p=(0,aX.kT)(r),c=await e.validateCallArgs(t,i,{type:s},u,n,a?{...a,returnTypeOverride:p}:void 0),h=r;c.specializedInitSelfType&&(0,aM.aE)(c.specializedInitSelfType)&&aM.p5.isSameGenericClass(c.specializedInitSelfType,h)&&(h=aM.p5.cloneAsInstantiable(c.specializedInitSelfType));let m=await d8(e,h,void 0,u);return c.isTypeIncomplete&&(o=!0),c.argumentErrors?l=!0:c.overloadsUsedForCall&&d.push(...c.overloadsUsedForCall),{argumentErrors:l,returnType:m,isTypeIncomplete:o,overloadsUsedForCall:d}}async function d5(e,t,i,r,n){var a;let s=null==(a=await dX(e,t,r,aX.Mh.Default))?void 0:a.type;return s&&(0,aM.BL)(s)?await d0(e,t,i,r,!1,n,{type:s},!1):{returnType:(0,aX.gU)(r)}}async function d4(e,t,i,r,n,a,s){let o=await e.getTypeOfBoundMember(t,r,"__call__",{method:"get"},aX.Mh.SkipInstanceMembers|aX.Mh.SkipTypeBaseClass|aX.Mh.SkipAttributeAccessOverride);if(!o)return;let l=await e.useSpeculativeModeAsync(s?t:void 0,()=>e.validateCallArgs(t,i,o,void 0,n,a));if(!l.argumentErrors){let e=o.type;if((0,aM.Tn)(e)&&!e.shared.declaredReturnType||l.returnType&&(0,aM.t8)(l.returnType))return}return l}async function d3(e,t,i,r){let n=await e.solveAndApplyConstraints(aM.p5.cloneAsInstance(t),r,{replaceUnsolved:{scopeIds:[],tupleClassType:e.getTupleClassType()}});if(await e.assignType(i,n))return(0,aM.f7)(i)?i:n}async function d8(e,t,i,r){let n=!0;if(0===t.shared.typeParams.length||t.priv.typeArgs)return await e.solveAndApplyConstraints(aM.p5.cloneAsInstance(t),r,{replaceUnsolved:{scopeIds:[],tupleClassType:e.getTupleClassType()}});if(i){let a=await l5(i.expectedType,async i=>await d3(e,t,i,r));if(!(0,aM.Pd)(a))return a;t.priv.typeArgs&&(n=!1)}let a=await e.solveAndApplyConstraints(t,r,{replaceUnsolved:n?{scopeIds:(0,aX.SR)(t),tupleClassType:e.getTupleClassType()}:void 0});return aM.p5.cloneAsInstance(a)}async function d2(e,t,i){let r=t.shared.effectiveMetaclass;if(!r||!(0,aM.D4)(r))return;let n=(0,aX.Zn)(r,"__call__",aX.Mh.SkipInstanceMembers|aX.Mh.SkipTypeBaseClass|aX.Mh.SkipAttributeAccessOverride);if(!n)return;let a=await e.getTypeOfMember(n);if(!(0,aM.BL)(a))return;let s=await e.bindFunctionToClassOrObject(t,a,n&&(0,aM.dL)(n.classType)?n.classType:void 0,!1,t,i);if(!s)return;let o=!1;return await l2(s,async i=>{if(i.shared.declaredReturnType){let r=aM.RK.getEffectiveReturnType(i);r&&await d9(e,t,r)&&(o=!0)}}),o?s:void 0}async function d6(e,t,i,r){let n=(0,aX.Zn)(t,"__new__",aX.Mh.SkipInstanceMembers|aX.Mh.SkipAttributeAccessOverride|aX.Mh.SkipObjectBaseClass);if(!n)return;let a=await e.getTypeOfMember(n),s=async a=>{let s=a.shared.parameters.some((e,i)=>{if(0===i||!e.name)return!1;let r=aM.RK.getParamType(a,i);return(0,aX.Nl)(r).some(e=>e.priv.scopeId===(0,aX.Pn)(t))}),o=await e.bindFunctionToClassOrObject(s?(0,aX.kT)(t):t,a,n&&(0,aM.dL)(n.classType)?n.classType:void 0,!0,i,r);if(!o)return;let l=aM.RK.clone(o);return l.shared.typeVarScopeId=a.shared.typeVarScopeId,!l.shared.docString&&t.shared.docString&&(l.shared.docString=t.shared.docString),l.shared.flags&=~(aM.wt.StaticMethod|aM.wt.ConstructorMethod),l.priv.constructorTypeVarScopeId=(0,aX.Pn)(t),l};if((0,aM.Tn)(a))return await s(a);if(!(0,aM.Gl)(a))return;let o=[];if(await lH(aM.OF.getOverloads(a),async e=>{let t=await s(e);t&&o.push(t)}),0!==o.length)return 1===o.length?o[0]:aM.OF.create(o)}async function d7(e,t,i,r){let n=(0,aX.Zn)(t,"__init__",aX.Mh.SkipInstanceMembers|aX.Mh.SkipAttributeAccessOverride|aX.Mh.SkipObjectBaseClass);if(!n)return;let a=await e.getTypeOfMember(n),s=aM.p5.cloneAsInstance(t);async function o(a){var o;let l=await e.bindFunctionToClassOrObject(s,a,n&&(0,aM.dL)(n.classType)?n.classType:void 0,void 0,i,r);if(!l)return;let d=aM.RK.clone(l),u=i;if(!u&&(u=s,s.shared.typeParams.length>0&&!s.priv.typeArgs)){let t=new lN.w,i=[];d.shared.parameters.forEach((e,t)=>{let r=aM.RK.getParamType(d,t);(0,aX.p7)(i,(0,aX.Nl)(r))}),i.forEach(e=>{t.setBounds(e,e)}),u=await e.solveAndApplyConstraints(s,t,{replaceUnsolved:{scopeIds:(0,aX.SR)(s),tupleClassType:e.getTupleClassType()}})}return d.shared.declaredReturnType=null!=(o=l.priv.strippedFirstParamType)?o:u,d.priv.specializedTypes&&(d.priv.specializedTypes.returnType=u),!d.shared.docString&&t.shared.docString&&(d.shared.docString=t.shared.docString),d.shared.flags&=~aM.wt.StaticMethod,d.priv.constructorTypeVarScopeId=(0,aX.Pn)(t),d}if((0,aM.Tn)(a))return await o(a);if(!(0,aM.Gl)(a))return;let l=[];if(await lH(aM.OF.getOverloads(a),async e=>{let t=await o(e);t&&l.push(t)}),0!==l.length)return 1===l.length?l[0]:aM.OF.create(l)}async function d9(e,t,i){return!!(!await e.assignType((0,aX.gU)(t),i)||(0,aM.Pd)(i)||(0,aM.mw)(i,e=>(0,aM.f7)(e))||aM.p5.isEnumClass(t))}function ue(e,t,i){let r=e.makeTopLevelTypeVarsConcrete(i),n=!1;return(0,aX.u6)(r,e=>{if(!(0,aM.t8)(e)){if((0,aM.aE)(e)){aM.p5.isDerivedFrom(aM.p5.cloneAsInstantiable(e),t,[])||(n=!0);return}n=!0}}),n}function ut(e){let t;if(!e||!(0,aM.Tn)(e))return!1;let i=e.shared.parameters;if(2!==i.length||i[0].category!==aO.OP.ArgsList||i[1].category!==aO.OP.KwargsDict)return!1;if(e.shared.declaredReturnType)t=e.shared.declaredReturnType;else{var r,n,a;t=null!=(r=null==(n=e.priv.specializedTypes)?void 0:n.returnType)?r:null==(a=e.shared.inferredReturnType)?void 0:a.type}return!!t&&!!(0,aM.CP)(t)&&!!aM.Kn.isSelf(t)}async function ui(e,t,i,r){let n=(0,ax.R8)(t),a="namedtuple",s=new Set,o=!1;if(!r){let e=i.find(e=>{var t;return e.argCategory===aO.b4.Simple&&(null==(t=e.name)?void 0:t.d.value)==="rename"});(null==e?void 0:e.valueExpression)&&!0===(0,dR.W)(e.valueExpression,n.executionEnvironment,n.definedConstants)&&(o=!0)}if(0===i.length);else{let e=i[0];e.argCategory!==aO.b4.Simple||e.valueExpression&&e.valueExpression.nodeType===aO.ye.StringList&&(a=e.valueExpression.d.strings.map(e=>e.d.value).join(""))}let l=i.find(e=>{var t;return(null==(t=e.name)?void 0:t.d.value)==="defaults"}),d=0;if(l&&l.valueExpression){let t=(await e.getTypeOfExpression(l.valueExpression)).type;d=(0,aM.aE)(t)&&(0,aX.Bj)(t)&&!(0,aX.NG)(t)&&t.priv.tupleTypeArgs?t.priv.tupleTypeArgs.length:void 0}let u=await e.getTypingType(t,"NamedTuple")||aM.vn.create(),p=aM.p5.createInstantiable(a,aL.NJ(t,n.moduleName,a),n.moduleName,n.fileUri,aM.aF.ValidTypeAliasClass,aL.pj(t),void 0,(0,aM.dL)(u)?u.shared.effectiveMetaclass:aM.vn.create());p.shared.baseClasses.push(u),p.shared.typeVarScopeId=aL.tp(t);let c=await l9(p);c.set("__class__",lM.NI.createWithType(lM.mk.ClassMember|lM.mk.IgnoredForProtocolMatch,p));let h=(0,aX.du)(p,!0),m=aM.RK.createSynthesizedInstance("__new__",aM.wt.ConstructorMethod);m.shared.declaredReturnType=(0,aX.gU)(h),m.priv.constructorTypeVarScopeId=(0,aX.Pn)(p),aL.bQ(t)&&(m.shared.flags|=aM.wt.DisableDefaultChecks),m.shared.typeVarScopeId=p.shared.typeVarScopeId,aM.RK.addParam(m,aM.gk.create(aO.OP.Simple,h,aM.D5.TypeDeclared,"cls"));let y=[],g=aM.gk.create(aO.OP.Simple,(0,aX.du)(p,!1),aM.D5.TypeDeclared,"self"),f=!1,v=[];if(i.length<2)f=!0;else{let t=i[1];if(t.argCategory!==aO.b4.Simple)f=!0;else{var _,T,w;if(!r&&t.valueExpression&&t.valueExpression.nodeType===aO.ye.StringList){let e=t.valueExpression.d.strings.map(e=>e.d.value).join("").split(/[,\s]+/),i=void 0===d?0:Math.max(0,e.length-d);e.forEach((e,r)=>{if(e=e.trim()){if(e.startsWith("_"))return;e=un(e,o,r);let a=aM.vn.create(),s=aM.gk.create(aO.OP.Simple,a,aM.D5.TypeDeclared,e,r>=i?a:void 0);aM.RK.addParam(m,s);let l=lM.NI.createWithType(lM.mk.InstanceMember,a);y.push(e);let d=t.valueExpression,u={type:aF.h3.Variable,node:d,isRuntimeTypeExpression:!0,uri:n.fileUri,range:(0,aW.er)(d.start,aB.vY.getEnd(d),n.lines),moduleName:n.moduleName,isInExceptSuite:!1};l.addDeclaration(u),c.set(e,l),v.push(a)}})}else if((null==(_=t.valueExpression)?void 0:_.nodeType)===aO.ye.List||(null==(T=t.valueExpression)?void 0:T.nodeType)===aO.ye.Tuple){let i=t.valueExpression,a=new Map,l=((null==(w=t.valueExpression)||w.nodeType)===aO.ye.List,t.valueExpression.d.items),u=void 0===d?0:Math.max(0,l.length-d);await lH(l,async(t,i)=>{let l,d,p,h="";if(r?t.nodeType===aO.ye.Tuple&&2===t.d.items.length&&(p=t.d.items[0],l=t.d.items[1],d=(0,aX.gU)((await e.getTypeOfExpressionExpectingType(l)).type)):(p=t,d=aM.vn.create()),p){let t=await e.getTypeOfExpression(p);if((0,aM.aE)(t.type)&&aM.p5.isBuiltIn(t.type,"str")&&(0,aX.aw)(t.type)){if(h=t.type.priv.literalValue){if(h.startsWith("_"))return;h=un(h,o,i)}}else f=!0}else f=!0;h||(h=`_${i.toString()}`),a.set(h,h),d||(d=aM.vn.create());let g=aM.gk.create(aO.OP.Simple,d,r?aM.D5.TypeDeclared:aM.D5.None,h,i>=u?d:void 0);aM.RK.addParam(m,g),v.push(d),y.push(h);let _=lM.NI.createWithType(lM.mk.InstanceMember|lM.mk.NamedTupleMember,d);if(p&&p.nodeType===aO.ye.StringList){let e={type:aF.h3.Variable,node:p,uri:n.fileUri,typeAnnotationNode:l,range:(0,aW.er)(p.start,aB.vY.getEnd(p),n.lines),moduleName:n.moduleName,isInExceptSuite:!1};_.addDeclaration(e)}c.set(h,_),s.add(h)}),e.setTypeResultForNode(i,{type:aM.vn.create()})}else f=!0;t.valueExpression&&!f&&e.setTypeResultForNode(t.valueExpression,{type:aM.V.create()})}}p.shared.namedTupleEntries=s,f&&(m.shared.parameters=[],aM.RK.addDefaultParams(m),v.push(aM.V.create(!1)),v.push(aM.V.create(!0)));let b=aM.RK.createSynthesizedInstance("__init__");aM.RK.addParam(b,g),aM.RK.addDefaultParams(b),b.shared.declaredReturnType=e.getNoneType(),b.priv.constructorTypeVarScopeId=(0,aX.Pn)(p),c.set("__new__",lM.NI.createWithType(lM.mk.ClassMember,m)),c.set("__init__",lM.NI.createWithType(lM.mk.ClassMember,b));let S=aM.RK.createSynthesizedInstance("__len__");if(S.shared.declaredReturnType=await e.getBuiltInObject(t,"int"),aM.RK.addParam(S,g),c.set("__len__",lM.NI.createWithType(lM.mk.ClassMember,S)),f){let i=aM.RK.createSynthesizedInstance("__getattribute__");i.shared.declaredReturnType=aM.V.create(),aM.RK.addParam(i,g),aM.RK.addParam(i,aM.gk.create(aO.OP.Simple,await e.getBuiltInObject(t,"str"),aM.D5.TypeDeclared,"name")),c.set("__getattribute__",lM.NI.createWithType(lM.mk.ClassMember,i))}let k=await e.getBuiltInType(t,"tuple"),I=await e.getBuiltInType(t,"str");if(!f&&I&&(0,aM.dL)(I)&&k&&(0,aM.dL)(k)){let e=y.map(e=>({type:aM.p5.cloneAsInstance(aM.p5.cloneWithLiteral(I,e)),isUnbounded:!1})),t=aM.p5.cloneAsInstance((0,aX.K4)(k,e));c.set("__match_args__",lM.NI.createWithType(lM.mk.ClassMember,t))}return ur(p,v,!f),(0,aX.VS)(p),p}function ur(e,t,i){let r=!1;return e.shared.baseClasses=e.shared.baseClasses.map(e=>{if(!(0,aM.dL)(e)||!aM.p5.isBuiltIn(e,"NamedTuple"))return e;let n=[];i?t.forEach(e=>{n.push({type:e,isUnbounded:!1})}):n.push({type:t.length>0?(0,aM.Do)(t):aM.vn.create(),isUnbounded:!0});let a=aM.p5.specialize(e,void 0,i);return a.shared={...a.shared},a.shared.baseClasses=a.shared.baseClasses.map(e=>(0,aM.dL)(e)&&aM.p5.isBuiltIn(e,"tuple")?(0,aX.K4)(e,n,i):e),(0,aX.VS)(a),r=!0,a}),r}function un(e,t,i){return aU._.isPythonKeyword(e)&&t?`_${i}`:e}async function ua(e,t,i,r,n,a,s){var o,l,d;let u;(0,n6.vA)(aM.p5.isDataClass(i)||r);let p=(0,aX.du)(i,!0),c=aM.RK.createSynthesizedInstance("__new__",aM.wt.ConstructorMethod);c.priv.constructorTypeVarScopeId=(0,aX.Pn)(i);let h=aM.RK.createSynthesizedInstance("__init__");h.priv.constructorTypeVarScopeId=(0,aX.Pn)(i),aM.RK.addParam(c,aM.gk.create(aO.OP.Simple,p,aM.D5.TypeDeclared,"cls")),r||(aM.RK.addDefaultParams(c),c.shared.flags|=aM.wt.GradualCallableForm),c.shared.declaredReturnType=(0,aX.gU)(p);let m=(0,aX.du)(i,!1),y=aM.gk.create(aO.OP.Simple,m,aM.D5.TypeDeclared,"self");aM.RK.addParam(h,y),r&&(aM.RK.addDefaultParams(h),h.shared.flags|=aM.wt.GradualCallableForm),h.shared.declaredReturnType=e.getNoneType(),ai.fz.isGreaterOrEqualTo(ax.R8(t).executionEnvironment.pythonVersion,ai.TG)&&(u=aM.RK.createSynthesizedInstance("__replace__"),aM.RK.addParam(u,y),aM.RK.addKeywordOnlyParamSeparator(u),u.shared.declaredReturnType=m);let g=[],f=[],v=new Set,_=await uy(i,f);!_&&(aM.RK.addDefaultParams(h),u&&aM.RK.addDefaultParams(u));let T=r?c:h,w=[],b=!1;await lH(await l9(i),async(n,a)=>{if(n.isIgnoredForProtocolMatch()||"__hash__"===a)return;let s=!1,o=n.getTypedDeclarations().find(e=>{if(e.type!==aF.h3.Variable)return!1;let t=(0,aL.kz)(e.node);return!!t&&t.nodeType===aO.ye.Class});if(o||(o=n.getDeclarations().find(e=>e.type===aF.h3.Variable&&!e.typeAnnotationNode&&e.isFinal),s=!0),o){var l,d,u,p,c,h;let n,a,m,y,_,T,S=o.node;for(;S&&S.nodeType!==aO.ye.Assignment;){if(S.nodeType===aO.ye.TypeAnnotation){(null==(l=S.parent)?void 0:l.nodeType)===aO.ye.Assignment&&(S=S.parent);break}S=S.parent}if(!S)return;let k=!1,I=!1,C=aM.p5.isDataClassKeywordOnly(i)||b,P=!0;if(S.nodeType===aO.ye.Assignment){if(S.d.leftExpr.nodeType===aO.ye.TypeAnnotation&&S.d.leftExpr.d.valueExpr.nodeType===aO.ye.Name){n=S.d.leftExpr.d.valueExpr,a=S.d.leftExpr;let t=S;y=async()=>s&&_?(await e.getTypeOfExpression(_)).type:await e.getTypeOfAnnotation(t.d.leftExpr.d.annotation,{varTypeAnnotation:!0,allowFinal:!r,allowClassVar:!r})}if(k=!0,_=S.d.rightExpr,!r&&S.d.rightExpr.nodeType===aO.ye.Call){let n=await e.getTypeOfExpression(S.d.rightExpr.d.leftExpr,lO.WB.CallBaseDefaults),a=n.type;if(!r&&function(e,t){let i;if((0,aM.Tn)(e))i=e.shared.fullName;else if((0,aM.Gl)(e)){let t=aM.OF.getOverloads(e);t.length>0&&(i=t[0].shared.fullName)}else(0,aM.dL)(e)&&(i=e.shared.fullName);return!!i&&t.some(e=>e===i)}(a,(null==(d=i.shared.dataClassBehaviors)?void 0:d.fieldDescriptorNames)||[])){let i=S.d.rightExpr.d.args.find(e=>{var t;return(null==(t=e.d.name)?void 0:t.d.value)==="init"});if(i&&i.d.valueExpr){let e=ax.R8(t);P=null!=(u=(0,dR.W)(i.d.valueExpr,e.executionEnvironment,e.definedConstants))?u:P}else P=null!=(p=await uu(e,S.d.rightExpr,n,"init"))?p:P;let r=S.d.rightExpr.d.args.find(e=>{var t;return(null==(t=e.d.name)?void 0:t.d.value)==="kw_only"});if(r&&r.d.valueExpr){let e=ax.R8(t);C=null!=(c=(0,dR.W)(r.d.valueExpr,e.executionEnvironment,e.definedConstants))?c:C}else C=null!=(h=await uu(e,S.d.rightExpr,n,"kw_only"))?h:C;let a=S.d.rightExpr.d.args.find(e=>{var t;return(null==(t=e.d.name)?void 0:t.d.value)==="default"});k=!!a,(null==a?void 0:a.d.valueExpr)&&(_=a.d.valueExpr);let s=S.d.rightExpr.d.args.find(e=>{var t,i;return(null==(t=e.d.name)?void 0:t.d.value)==="default_factory"||(null==(i=e.d.name)?void 0:i.d.value)==="factory"});s&&(k=!0,I=!0),(null==s?void 0:s.d.valueExpr)&&(_=s.d.valueExpr);let o=S.d.rightExpr.d.args.find(e=>{var t;return(null==(t=e.d.name)?void 0:t.d.value)==="alias"});if(o){let t=(await e.getTypeOfExpression(o.d.valueExpr)).type;(0,aM.aE)(t)&&aM.p5.isBuiltIn(t,"str")&&(0,aX.aw)(t)&&(m=t.priv.literalValue)}let l=S.d.rightExpr.d.args.find(e=>{var t;return(null==(t=e.d.name)?void 0:t.d.value)==="converter"});l&&l.d.valueExpr&&(T=l)}}}else if(S.nodeType===aO.ye.TypeAnnotation&&S.d.valueExpr.nodeType===aO.ye.Name){n=S.d.valueExpr,a=S;let t=S;if(y=()=>e.getTypeOfAnnotation(t.d.annotation,{varTypeAnnotation:!0,allowFinal:!r,allowClassVar:!r}),!r&&"_"===S.d.valueExpr.d.value){let e=await y();(0,aM.aE)(e)&&aM.p5.isBuiltIn(e,"KW_ONLY")&&(b=!0,n=void 0,a=void 0,y=void 0)}}if(n&&y){let e=n.d.value;if(r&&e.startsWith("_"))return;let t=(await l9(i)).get(e);if(v.add(e),null==t?void 0:t.isClassVar()){let t=f.findIndex(t=>t.name===e);t>=0&&f.splice(t,1);let r={name:e,classType:i,alias:m,isKeywordOnly:!1,hasDefault:k,isDefaultFactory:I,defaultExpr:_,includeInInit:P,nameNode:n,typeAnnotationNode:a,type:aM.vn.create(),isClassVar:!0,converter:T};g.push(r)}else{let t={name:e,classType:i,alias:m,isKeywordOnly:C,hasDefault:k,isDefaultFactory:I,defaultExpr:_,includeInInit:P,nameNode:n,typeAnnotationNode:a,type:aM.vn.create(),isClassVar:!1,converter:T};w.push({entry:t,evaluator:y});let r=g.findIndex(t=>t.name===e);if(r>=0?g[r]=t:g.push(t),(r=f.findIndex(t=>t.name===e))>=0){let e=f[r];!t.hasDefault&&e.hasDefault&&e.includeInInit&&(t.hasDefault=!0,t.defaultExpr=e.defaultExpr,k=!0),f[r]=t}else f.push(t),r=f.length-1}}}else{let e=n.getDeclarations();if(0===e.length)return;let t=e[e.length-1];if(t.type!==aF.h3.Variable)return;let i=t.node.parent;if(!i||i.nodeType!==aO.ye.Assignment)return}}),r?i.shared.namedTupleEntries=v:i.shared.dataClassEntries=g,await lH(w,async e=>{e.entry.type=await e.evaluator()});let S=await l9(i),k=[];n||a||(_&&(await lH(f,async r=>{if(r.includeInInit){let n,a=r.type;if(r.classType!==i&&(0,aX.QL)(a)){let e=new dA.z;(0,aX.WK)(e,r.classType,i),a=(0,aX.i0)(a,e)}if(a=await um(e,a),r.converter){let s=a;a=await up(e,r.converter,a),S.set(r.name,await uh(e,i,t,r.nameNode,r.converter,r.name,s,a)),r.hasDefault&&(n=r.type)}else if(r.hasDefault)if(r.isDefaultFactory||!r.defaultExpr)n=r.type;else{let i=r.defaultExpr,s=ax.R8(t).isStubFile?lO.WB.ConvertEllipsisToAny:lO.WB.None,o=(0,aL.Gu)(r.defaultExpr),l=(0,aX.ru)(a,o);if(n=await e.useSpeculativeModeAsync(i,async()=>(await e.getTypeOfExpression(i,s,(0,aX.lq)(l))).type),n=(0,aX.bm)(n,o),r.mroClass&&(0,aX.QL)(n)){let e=(0,aX.DU)(r.mroClass);n=(0,aX.i0)(n,e)}}let s=r.alias||r.name,o=aM.gk.create(aO.OP.Simple,a,aM.D5.TypeDeclared,s,n,r.defaultExpr);if(r.isKeywordOnly?k.push(o):aM.RK.addParam(T,o),u){let e=aM.gk.create(o.category,o._type,o.flags,o.name,aM.V.create(!0));aM.RK.addParam(u,e)}}}),k.length>0&&(aM.RK.addKeywordOnlyParamSeparator(T),k.forEach(e=>{aM.RK.addParam(T,e)}))),S.set("__init__",lM.NI.createWithType(lM.mk.ClassMember,h)),S.set("__new__",lM.NI.createWithType(lM.mk.ClassMember,c)),u&&S.set("__replace__",lM.NI.createWithType(lM.mk.ClassMember,u)));let I=await e.getBuiltInType(t,"str"),C=await e.getBuiltInType(t,"tuple");if(C&&(0,aM.dL)(C)&&I&&(0,aM.dL)(I)&&!S.has("__match_args__")&&(null==(o=null==(l=i.shared.dataClassBehaviors)?void 0:l.matchArgs)||o)){let e=[];f.forEach(t=>{t.includeInInit&&!t.isKeywordOnly&&e.push(t.name)});let t=e.map(e=>({type:aM.p5.cloneAsInstance(aM.p5.cloneWithLiteral(I,e)),isUnbounded:!1})),i=aM.p5.cloneAsInstance((0,aX.K4)(C,t));S.set("__match_args__",lM.NI.createWithType(lM.mk.ClassMember,i))}let P=async(i,r)=>{let n=aM.RK.createSynthesizedInstance(i);aM.RK.addParam(n,y),aM.RK.addParam(n,aM.gk.create(aO.OP.Simple,r,aM.D5.TypeDeclared,"other")),n.shared.declaredReturnType=await e.getBuiltInObject(t,"bool"),S.get(i)||S.set(i,lM.NI.createWithType(lM.mk.ClassMember,n))};aM.p5.isDataClassSkipGenerateEq(i)||await P("__eq__",await e.getBuiltInObject(t,"object")),aM.p5.isDataClassGenerateOrder(i)&&await lH(["__lt__","__le__","__gt__","__ge__"],async e=>{await P(e,m)});let x=aM.p5.isDataClassFrozen(i),F=!r&&!aM.p5.isDataClassSkipGenerateEq(i)&&!aM.p5.isDataClassFrozen(i);if(s&&(x=!1),aM.p5.isDataClassGenerateHash(i)&&(x=!0),x){let i=aM.RK.createSynthesizedInstance("__hash__");aM.RK.addParam(i,y),i.shared.declaredReturnType=await e.getBuiltInObject(t,"int"),S.set("__hash__",lM.NI.createWithType(lM.mk.ClassMember|lM.mk.IgnoredForOverrideChecks,i))}else F&&!s&&S.set("__hash__",lM.NI.createWithType(lM.mk.ClassMember|lM.mk.IgnoredForOverrideChecks,e.getNoneType()));let A=await e.getBuiltInType(t,"dict");if((0,aM.dL)(A)&&(A=aM.p5.cloneAsInstance(aM.p5.specialize(A,[await e.getBuiltInObject(t,"str"),aM.V.create()]))),r||S.set("__dataclass_fields__",lM.NI.createWithType(lM.mk.ClassMember|lM.mk.ClassVar,A)),aM.p5.isDataClassGenerateSlots(i)&&void 0===i.shared.localSlotsNames&&(i.shared.localSlotsNames=g.map(e=>e.name)),aM.p5.isDataClassGenerateSlots(i)){let i=null!=(d=await e.getTypingType(t,"Iterable"))?d:aM.vn.create();(0,aM.dL)(i)&&(i=aM.p5.cloneAsInstance(aM.p5.specialize(i,[await e.getBuiltInObject(t,"str")]))),S.set("__slots__",lM.NI.createWithType(lM.mk.ClassMember|lM.mk.ClassVar,i))}ur(i,f.map(e=>e.type),!0)&&(0,aX.VS)(i)}async function us(e,t){let i={skipGenerateInit:!1,skipGenerateEq:!1,generateOrder:!1,generateSlots:!1,generateHash:!1,keywordOnly:!1,frozen:!1,frozenDefault:!1,fieldDescriptorNames:[]},r=ax.R8(t);return await lH(t.d.args,async t=>{if(t.d.name&&t.d.argCategory===aO.b4.Simple)switch(t.d.name.d.value){case"kw_only_default":{let e=(0,dR.W)(t.d.valueExpr,r.executionEnvironment,r.definedConstants);if(void 0===e)return;i.keywordOnly=e;break}case"eq_default":{let e=(0,dR.W)(t.d.valueExpr,r.executionEnvironment,r.definedConstants);if(void 0===e)return;i.skipGenerateEq=!e;break}case"order_default":{let e=(0,dR.W)(t.d.valueExpr,r.executionEnvironment,r.definedConstants);if(void 0===e)return;i.generateOrder=e;break}case"frozen_default":{let e=(0,dR.W)(t.d.valueExpr,r.executionEnvironment,r.definedConstants);if(void 0===e)return;i.frozen=e,i.frozenDefault=e;break}case"field_descriptors":case"field_specifiers":{let r=(await e.getTypeOfExpression(t.d.valueExpr)).type;if(!(0,aM.aE)(r)||!aM.p5.isBuiltIn(r,"tuple")||!r.priv.tupleTypeArgs||r.priv.tupleTypeArgs.some(e=>!(0,aM.dL)(e.type)&&!(0,aM.BL)(e.type)))return;r.priv.tupleTypeArgs.forEach(e=>{if((0,aM.dL)(e.type)||(0,aM.Tn)(e.type))i.fieldDescriptorNames.push(e.type.shared.fullName);else if((0,aM.Gl)(e.type)){let t=aM.OF.getOverloads(e.type);t.length>0&&i.fieldDescriptorNames.push(t[0].shared.fullName)}})}}}),i}function uo(e){let t;if((0,aM.Tn)(e))t=e;else if((0,aM.Gl)(e)){let i=aM.OF.getOverloads(e),r=aM.OF.getImplementation(e);!(t=i.find(e=>!!e.shared.decoratorDataClassBehaviors))&&r&&(0,aM.Tn)(r)&&r.shared.decoratorDataClassBehaviors&&(t=r),!t&&i.length>0&&(t=i[0])}if(t){if(t.shared.decoratorDataClassBehaviors)return t.shared.decoratorDataClassBehaviors;if("dataclasses.dataclass"===t.shared.fullName)return{fieldDescriptorNames:["dataclasses.field","dataclasses.Field"]}}}function ul(e,t,i){let r=!1,n={...i};n.frozen=n.frozenDefault,e.shared.dataClassBehaviors=n,t.forEach(e=>{var t,i,a;let s;e.valueExpression&&e.name&&(t=e.name,i=e.name.d.value,a=e.valueExpression,s=ax.R8(t),ug(i,(0,dR.W)(a,s.executionEnvironment,s.definedConstants),n),"frozen"===e.name.d.value&&(r=!0))}),r||ug("frozen",i.frozenDefault,n)}function ud(e,t,i,r){var n;ul(t,(null!=(n=null==r?void 0:r.d.args)?n:[]).map(t=>e.convertNodeToArg(t)),i)}async function uu(e,t,i,r){let n,a=i.type;if((0,aM.Tn)(a))n=a;else if((0,aM.Gl)(a))n=await e.getBestOverloadForArgs(t,{type:a,isIncomplete:i.isIncomplete},t.d.args.map(t=>e.convertNodeToArg(t)));else if((0,aM.dL)(a)){let i=await dJ(e,t,a);i&&((0,aM.Tn)(i.type)?n=i.type:(0,aM.Gl)(i.type)&&(n=await e.getBestOverloadForArgs(t,{type:i.type},t.d.args.map(t=>e.convertNodeToArg(t)))))}if(n){let e=n.shared.parameters.findIndex(e=>e.name===r);if(e>=0){let t=n.shared.parameters[e],i=aM.RK.getParamType(n,e);if(aM.gk.isTypeDeclared(t)&&(0,aM.D4)(i)&&"boolean"==typeof i.priv.literalValue)return i.priv.literalValue;let r=aM.RK.getParamDefaultType(n,e);if(r&&(0,aM.D4)(r)&&"boolean"==typeof r.priv.literalValue)return r.priv.literalValue}}}async function up(e,t,i){let r=await e.useSpeculativeModeAsync(t.d.valueExpr,async()=>(await e.getTypeOfExpression(t.d.valueExpr,lO.WB.NoSpecialize)).type),n=await uc(e,r);if(!n)return i;let a=aM.Kn.createInstance("__converterInput");a.priv.scopeId=(0,aL.tp)(t);let s=aM.RK.createSynthesizedInstance("");if(s.shared.typeVarScopeId=a.priv.scopeId,s.shared.declaredReturnType=i,aM.RK.addParam(s,aM.gk.create(aO.OP.Simple,a,aM.D5.TypeDeclared|aM.D5.NameSynthesized,"__input")),aM.RK.addPositionOnlyParamSeparator(s),(0,aM.BL)(n)){let t=[];if(await l2(n,async r=>{var n;let o=new lN.w;await e.assignType(null!=(n=aM.RK.getEffectiveReturnType(r))?n:aM.vn.create(),i,o)&&(r=await e.solveAndApplyConstraints(r,o));let l=new lN.w;if(await e.assignType(s,r,l)){let i=await e.solveAndApplyConstraints(a,l,{replaceUnsolved:{scopeIds:(0,aX.SR)(a),tupleClassType:e.getTupleClassType()}});t.push(i)}}),t.length>0)return(0,aM.Do)(t)}return i}async function uc(e,t){if((0,aM.BL)(t))return t;if((0,aM.aE)(t))return await e.getBoundMagicMethod(t,"__call__");if((0,aM.dL)(t)){let i=await dQ(e,t);if(i&&((0,aM.mi)(i)&&(i=i.priv.subtypes[0]),(0,aM.BL)(i)))return i}}async function uh(e,t,i,r,n,a,s,o){let l=(0,ax.R8)(i),d=await e.getBuiltInType(i,"type"),u=`__converterDescriptor_${a}`,p=aM.p5.createInstantiable(u,(0,aL.NJ)(n,l.moduleName,u),l.moduleName,l.fileUri,aM.aF.None,(0,aL.pj)(n),void 0,(0,aM.dL)(d)?d:aM.vn.create()),c=(0,aL.tp)(n);p.shared.typeVarScopeId=c,p.shared.typeParams=t.shared.typeParams.map(e=>{let t=aM.Kn.cloneForScopeId(e,c,p.shared.name,aM.O1.Class);return t.priv.computedVariance=aM.id.Covariant,t});let h=(0,aX.Qp)(t.shared.typeParams,p.shared.typeParams);s=(0,aX.i0)(s,h),o=(0,aX.i0)(o,h),p.shared.baseClasses.push(await e.getBuiltInType(i,"object")),(0,aX.VS)(p);let m=await l9(p),y=(0,aX.du)(p,!1),g=aM.RK.createSynthesizedInstance("__set__");aM.RK.addParam(g,aM.gk.create(aO.OP.Simple,y,aM.D5.TypeDeclared,"self")),aM.RK.addParam(g,aM.gk.create(aO.OP.Simple,aM.V.create(),aM.D5.TypeDeclared,"obj")),aM.RK.addParam(g,aM.gk.create(aO.OP.Simple,o,aM.D5.TypeDeclared,"value")),g.shared.declaredReturnType=e.getNoneType();let f=lM.NI.createWithType(lM.mk.ClassMember,g);m.set("__set__",f);let v=aM.RK.createSynthesizedInstance("__get__");aM.RK.addParam(v,aM.gk.create(aO.OP.Simple,y,aM.D5.TypeDeclared,"self")),aM.RK.addParam(v,aM.gk.create(aO.OP.Simple,aM.V.create(),aM.D5.TypeDeclared,"obj")),aM.RK.addParam(v,aM.gk.create(aO.OP.Simple,aM.V.create(),aM.D5.TypeDeclared,"objtype")),v.shared.declaredReturnType=s;let _=lM.NI.createWithType(lM.mk.ClassMember,v);m.set("__get__",_);let T=aM.p5.specialize(aM.p5.cloneAsInstance(p),[...t.shared.typeParams]);return lM.NI.createWithType(lM.mk.ClassMember,T,r)}async function um(e,t){if(!(0,aM.aE)(t)||(0,aX.n2)(t))return t;let i=await e.getBoundMagicMethod(t,"__set__");return i&&(0,aM.Tn)(i)?aM.RK.getParamType(i,1):t}async function uy(e,t){let i=!0;return await lH(aM.p5.getReverseMro(e),async e=>{if((0,aM.dL)(e)){let i=(0,aX.DU)(e);(await l7(e)).forEach(r=>{let n=t.findIndex(e=>e.name===r.name),a={...r,mroClass:e};a.type=(0,aX.i0)(a.type,i),r.isClassVar?n>=0&&t.splice(n,1):n>=0?t[n]=a:t.push(a)})}else i=!1}),i}function ug(e,t,i){switch(e){case"order":void 0!==t&&(i.generateOrder=t);break;case"kw_only":void 0!==t&&(i.keywordOnly=t);break;case"match_args":void 0!==t&&(i.matchArgs=t);break;case"frozen":void 0!==t&&(i.frozen=t);break;case"init":void 0!==t&&(i.skipGenerateInit=!t);break;case"eq":void 0!==t&&(i.skipGenerateEq=!t);break;case"slots":!0===t?i.generateSlots=!0:!1===t&&(i.generateSlots=!1);break;case"hash":case"unsafe_hash":!0===t&&(i.generateHash=!0)}}var uf=i(49528);async function uv(e,t,i,r){let n=(0,ax.R8)(t),a=await e.getBuiltInType(t,"type"),s=aM.p5.isBuiltIn(i,"property")?(0,aL.pj)(t):i.shared.typeSourceId,o=aM.p5.createInstantiable(i.shared.name,(0,aL.NJ)(t,n.moduleName,`__property_${r.shared.name}`),n.moduleName,n.fileUri,aM.aF.PropertyClass|aM.aF.BuiltIn,s,void 0,(0,aM.dL)(a)?a:aM.vn.create());o.shared.declaration=i.shared.declaration,o.shared.typeVarScopeId=i.shared.typeVarScopeId;let l=await e.getBuiltInType(t,"object");o.shared.baseClasses.push((0,aM.dL)(l)?l:aM.vn.create()),(0,aX.VS)(o);let d=await l9(o);(await l9(i)).forEach((e,t)=>{e.isIgnoredForProtocolMatch()||["__get__","__set__","__delete__"].some(e=>e===t)||d.set(t,e)});let u=aM.p5.cloneAsInstance(o);return o.priv.isAsymmetricDescriptor=!1,await uI(e,u),u.priv.fgetInfo={methodType:r,classType:r.shared.methodClass},aM.RK.isClassMethod(r)&&(o.shared.flags|=aM.aF.ClassProperty),await ub(e,u,r),await uC(u),u}async function u_(e,t,i,r){if(!(0,aX.uM)(t))return t;let n=t.shared.flags,a=!!t.priv.isAsymmetricDescriptor;if(r.d.params.length>=2){let i=(0,aL.MK)(r,1);if(i){let r=await e.getGetterTypeFromProperty(t);if(r&&!(0,aM.ah)(r)){let t=await e.getTypeOfAnnotation(i,{typeVarGetsCurScope:!0});(0,aM.J5)(r,t)||(a=!0)}}}let s=aM.p5.createInstantiable(t.shared.name,t.shared.fullName,t.shared.moduleName,(0,ax.R8)(r).fileUri,n,t.shared.typeSourceId,t.shared.declaredMetaclass,t.shared.effectiveMetaclass);s.shared.declaration=t.shared.declaration,s.shared.typeVarScopeId=t.shared.typeVarScopeId;let o=await e.getBuiltInType(r,"object");s.shared.baseClasses.push((0,aM.dL)(o)?o:aM.vn.create()),(0,aX.VS)(s),s.priv.fgetInfo=t.priv.fgetInfo,s.priv.fdelInfo=t.priv.fdelInfo,s.priv.isAsymmetricDescriptor=a;let l=aM.p5.cloneAsInstance(s),d=await l9(s);return(await l9(t)).forEach((e,t)=>{e.isIgnoredForProtocolMatch()||d.set(t,e)}),await uI(e,l),l.priv.fsetInfo={methodType:i,classType:i.shared.methodClass},await uS(e,l,i),await uC(l),l}async function uT(e,t,i,r){var n;if(!(0,aX.uM)(t))return t;let a=aM.p5.createInstantiable(t.shared.name,t.shared.fullName,t.shared.moduleName,(0,ax.R8)(r).fileUri,t.shared.flags,t.shared.typeSourceId,t.shared.declaredMetaclass,t.shared.effectiveMetaclass);a.shared.declaration=t.shared.declaration,a.shared.typeVarScopeId=t.shared.typeVarScopeId;let s=await e.getBuiltInType(r,"object");a.shared.baseClasses.push((0,aM.dL)(s)?s:aM.vn.create()),(0,aX.VS)(a),a.priv.fgetInfo=t.priv.fgetInfo,a.priv.fsetInfo=t.priv.fsetInfo;let o=aM.p5.cloneAsInstance(a);a.priv.isAsymmetricDescriptor=null!=(n=t.priv.isAsymmetricDescriptor)&&n;let l=await l9(a);return(await l9(t)).forEach((e,t)=>{e.isIgnoredForProtocolMatch()||l.set(t,e)}),await uI(e,o),o.priv.fdelInfo={methodType:i,classType:i.shared.methodClass},await uk(e,o,i),await uC(o),o}async function uw(e,t,i,r,n,a,s,o=0){let l=(0,aM.D4)(n)?aM.p5.cloneAsInstance(n):void 0,d=aM.p5.cloneAsInstance(r),u=!0,p=[{getFunction:e=>{var t;return null==(t=e.priv.fgetInfo)?void 0:t.methodType}},{getFunction:e=>{var t;return null==(t=e.priv.fsetInfo)?void 0:t.methodType}},{getFunction:e=>{var t;return null==(t=e.priv.fdelInfo)?void 0:t.methodType}}];return await lH(p,async r=>{let n=r.getFunction(t);if(n&&(0,aM.Tn)(n)){var p,c;let t=r.getFunction(i);if(!t||!(0,aM.Tn)(t)){u=!1;return}await e.inferReturnTypeIfNecessary(t),await e.inferReturnTypeIfNecessary(n),s&&(n=(0,aX.i0)(n,s));let h=null!=(p=await e.bindFunctionToClassOrObject(d,n,void 0,void 0,void 0,o))?p:n,m=null!=(c=await e.bindFunctionToClassOrObject(l,t,void 0,void 0,void 0,o))?c:t;await e.assignType(h,m,a,lO.fW.Default,o)||(u=!1)}}),u}async function ub(e,t,i){let r=await l9(t),n=aM.RK.createSynthesizedInstance("__get__",aM.wt.Overloaded);aM.RK.addParam(n,aM.gk.create(aO.OP.Simple,aM.V.create(),aM.D5.TypeDeclared,"self")),aM.RK.addParam(n,aM.gk.create(aO.OP.Simple,e.getNoneType(),aM.D5.TypeDeclared,"obj")),aM.RK.addParam(n,aM.gk.create(aO.OP.Simple,aM.V.create(),aM.D5.TypeDeclared,"objtype",aM.V.create(!0))),n.shared.declaredReturnType=aM.RK.isClassMethod(i)?aM.RK.getEffectiveReturnType(i):t,n.shared.declaration=i.shared.declaration,n.shared.deprecatedMessage=i.shared.deprecatedMessage,n.shared.methodClass=i.shared.methodClass,n.shared.typeVarScopeId=(0,aX.Pn)(i);let a=aM.RK.createSynthesizedInstance("__get__",aM.wt.Overloaded);aM.RK.addParam(a,aM.gk.create(aO.OP.Simple,aM.V.create(),aM.D5.TypeDeclared,"self"));let s=i.shared.parameters.length>0?aM.RK.getParamType(i,0):aM.V.create();aM.RK.addParam(a,aM.gk.create(aO.OP.Simple,s,aM.D5.TypeDeclared,"obj")),aM.RK.addParam(a,aM.gk.create(aO.OP.Simple,aM.V.create(),aM.D5.TypeDeclared,"objtype",aM.V.create(!0))),a.shared.declaredReturnType=aM.RK.getEffectiveReturnType(i),a.shared.declaration=i.shared.declaration,a.shared.deprecatedMessage=i.shared.deprecatedMessage,a.shared.methodClass=i.shared.methodClass,a.shared.typeVarScopeId=(0,aX.Pn)(i);let o=aM.OF.create([a,n]),l=lM.NI.createWithType(lM.mk.ClassMember,o);r.set("__get__",l)}async function uS(e,t,i){let r=await l9(t),n=aM.RK.createSynthesizedInstance("__set__");aM.RK.addParam(n,aM.gk.create(aO.OP.Simple,aM.V.create(),aM.D5.TypeDeclared,"self"));let a=i.shared.parameters.length>0?aM.RK.getParamType(i,0):aM.V.create();(0,aM.CP)(a)&&aM.Kn.isSelf(a)&&(a=e.makeTopLevelTypeVarsConcrete(a)),aM.RK.addParam(n,aM.gk.create(aO.OP.Simple,(0,aM.Do)([a,e.getNoneType()]),aM.D5.TypeDeclared,"obj")),n.shared.declaredReturnType=e.getNoneType(),n.shared.typeVarScopeId=(0,aX.Pn)(i),n.shared.deprecatedMessage=i.shared.deprecatedMessage,n.shared.methodClass=i.shared.methodClass;let s=aM.vn.create();i.shared.parameters.length>=2&&i.shared.parameters[1].category===aO.OP.Simple&&i.shared.parameters[1].name&&(s=aM.RK.getParamType(i,1)),aM.RK.addParam(n,aM.gk.create(aO.OP.Simple,s,aM.D5.TypeDeclared,"value"));let o=lM.NI.createWithType(lM.mk.ClassMember,n);r.set("__set__",o)}async function uk(e,t,i){let r=await l9(t),n=aM.RK.createSynthesizedInstance("__delete__");aM.RK.addParam(n,aM.gk.create(aO.OP.Simple,aM.V.create(),aM.D5.TypeDeclared,"self")),n.shared.typeVarScopeId=(0,aX.Pn)(i),n.shared.deprecatedMessage=i.shared.deprecatedMessage,n.shared.methodClass=i.shared.methodClass;let a=i.shared.parameters.length>0?aM.RK.getParamType(i,0):aM.V.create();(0,aM.CP)(a)&&aM.Kn.isSelf(a)&&(a=e.makeTopLevelTypeVarsConcrete(a)),aM.RK.addParam(n,aM.gk.create(aO.OP.Simple,(0,aM.Do)([a,e.getNoneType()]),aM.D5.TypeDeclared,"obj")),n.shared.declaredReturnType=e.getNoneType();let s=lM.NI.createWithType(lM.mk.ClassMember,n);r.set("__delete__",s)}async function uI(e,t){let i=t.priv.fgetInfo;i&&(0,aM.Tn)(i.methodType)&&await ub(e,t,i.methodType);let r=t.priv.fsetInfo;r&&(0,aM.Tn)(r.methodType)&&await uS(e,t,r.methodType);let n=t.priv.fdelInfo;n&&(0,aM.Tn)(n.methodType)&&await uk(e,t,n.methodType)}async function uC(e){let t=await l9(e);["getter","setter","deleter"].forEach(i=>{let r=aM.RK.createSynthesizedInstance(i);aM.RK.addParam(r,aM.gk.create(aO.OP.Simple,aM.V.create(),aM.D5.TypeDeclared,"self")),aM.RK.addParam(r,aM.gk.create(aO.OP.Simple,aM.V.create(),aM.D5.TypeDeclared,"accessor")),r.shared.declaredReturnType=e;let n=lM.NI.createWithType(lM.mk.ClassMember,r);t.set(i,n)})}async function uP(e,t,i){let r,n=(0,ax.R8)(t),a=aM.wt.None;for(let s of(i&&("__new__"===t.d.name.d.value&&(a|=aM.wt.ConstructorMethod),["__init_subclass__","__class_getitem__"].some(e=>t.d.name.d.value===e)&&(a|=aM.wt.ClassMethod)),t.d.decorators)){let t=n.isStubFile?lO.WB.ForwardRefs:lO.WB.None;s.d.expr.nodeType!==aO.ye.Call&&(t|=lO.WB.CallBaseDefaults);let o=(await e.getTypeOfExpression(s.d.expr,t)).type;(0,aM.Tn)(o)?aM.RK.isBuiltIn(o,"abstractmethod")?i&&(a|=aM.wt.AbstractMethod):aM.RK.isBuiltIn(o,"final")?a|=aM.wt.Final:aM.RK.isBuiltIn(o,"override")?a|=aM.wt.Overridden:aM.RK.isBuiltIn(o,"type_check_only")?a|=aM.wt.TypeCheckOnly:aM.RK.isBuiltIn(o,"no_type_check")?a|=aM.wt.NoTypeCheck:aM.RK.isBuiltIn(o,"overload")&&(a|=aM.wt.Overloaded):(0,aM.D4)(o)&&(aM.Ab.isInstantiable(o)?aM.p5.isBuiltIn(o,"staticmethod")?i&&(a|=aM.wt.StaticMethod):aM.p5.isBuiltIn(o,"classmethod")&&i&&(a|=aM.wt.ClassMethod):aM.p5.isBuiltIn(o,"deprecated")&&(r=o.priv.deprecatedInstanceMessage))}return{flags:a,deprecationMessage:r}}async function ux(e,t,i,r,n){let a=(0,ax.R8)(r).isStubFile?lO.WB.ForwardRefs:lO.WB.None;r.d.expr.nodeType!==aO.ye.Call&&(a|=lO.WB.CallBaseDefaults);let s=(await e.getTypeOfExpression(r.d.expr,a)).type;if(((0,aM.dL)(s)&&aM.p5.isSpecialBuiltIn(s,"overload")||(0,aM.Tn)(s)&&aM.RK.isBuiltIn(s,"overload"))&&(0,aM.Tn)(t))return t.shared.flags|=aM.wt.Overloaded,i.shared.flags|=aM.wt.Overloaded,t;if(r.d.expr.nodeType===aO.ye.Call){let n=(await e.getTypeOfExpression(r.d.expr.d.leftExpr,a|lO.WB.CallBaseDefaults)).type;if((0,aM.Tn)(n)&&("__dataclass_transform__"===n.shared.name||aM.RK.isBuiltIn(n,"dataclass_transform")))return i.shared.decoratorDataClassBehaviors=await us(e,r.d.expr),t}let o=(0,aM.Tn)(t)&&aM.RK.isPartiallyEvaluated(t)?aM.RK.cloneWithNewFlags(t,t.shared.flags&~aM.wt.PartiallyEvaluated):t,l=await uD(e,r,o);if((0,aM.Tn)(s)){if(aM.RK.isBuiltIn(s,"abstractmethod"))return t;if(aM.RK.isBuiltIn(s,"type_check_only"))return i.shared.flags|=aM.wt.TypeCheckOnly,t;if(r.d.expr.nodeType===aO.ye.MemberAccess){let i=(await e.getTypeOfExpression(r.d.expr.d.leftExpr,a|lO.WB.MemberAccessBaseDefaults)).type;if((0,aX.uM)(i)){let a=r.d.expr.d.member.d.value;if("setter"===a)if((0,aM.Tn)(t))return await u_(e,i,t,n);else return t;if("deleter"===a)if((0,aM.Tn)(t))return await uT(e,i,t,n);else return t}}}else if((0,aM.dL)(s)){if(aM.p5.isBuiltIn(s))switch(s.shared.name){case"classmethod":case"staticmethod":{let e="classmethod"===s.shared.name?aM.wt.ClassMethod:aM.wt.StaticMethod;if((0,aM.Tn)(t)&&(t.shared.flags&e)==0){let i=aM.RK.clone(t);return i.shared.flags&=~(aM.wt.ConstructorMethod|aM.wt.StaticMethod|aM.wt.ClassMethod),i.shared.flags|=e,i}return t}case"decorator":return t}if(aM.p5.isPropertyClass(s)){if((0,aM.Tn)(t))return await uv(e,r,s,t);else if((0,aM.aE)(t)){let i=await e.getBoundMagicMethod(t,"__call__");return i&&(0,aM.Tn)(i)?await uv(e,r,s,i):aM.vn.create()}}}return(0,aM.Tn)(t)&&(0,aM.Tn)(l)&&(l=aM.RK.clone(l),aM.RK.isOverloaded(t)&&(l.shared.flags|=aM.wt.Overloaded),l.shared.docString||(l.shared.docString=t.shared.docString)),l}async function uF(e,t,i,r){let n=(0,ax.R8)(r).isStubFile?lO.WB.ForwardRefs:lO.WB.None;r.d.expr.nodeType!==aO.ye.Call&&(n|=lO.WB.CallBaseDefaults);let a=(await e.getTypeOfExpression(r.d.expr,n)).type;if(r.d.expr.nodeType===aO.ye.Call){let t=(await e.getTypeOfExpression(r.d.expr.d.leftExpr,n|lO.WB.CallBaseDefaults)).type;(0,aM.Tn)(t)&&("__dataclass_transform__"===t.shared.name||aM.RK.isBuiltIn(t,"dataclass_transform"))&&(i.shared.classDataClassTransform=await us(e,r.d.expr))}if((0,aM.Gl)(a)){let r=uo(a);if(r)return ud(e,i,r,void 0),t}else if((0,aM.Tn)(a)){let s,o;if(aM.RK.isBuiltIn(a,"final"))return i.shared.flags|=aM.aF.Final,t;if(aM.RK.isBuiltIn(a,"type_check_only"))return i.shared.flags|=aM.aF.TypeCheckOnly,t;if(aM.RK.isBuiltIn(a,"runtime_checkable"))return i.shared.flags|=aM.aF.RuntimeCheckable,t;if(r.d.expr.nodeType===aO.ye.Call?(o=r.d.expr,s=uo((await e.getTypeOfExpression(o.d.leftExpr,n|lO.WB.CallBaseDefaults)).type)):s=uo((await e.getTypeOfExpression(r.d.expr,n)).type),s)return ud(e,i,s,o),t}else if((0,aM.aE)(a)&&aM.p5.isBuiltIn(a,"deprecated"))return i.shared.deprecatedMessage=a.priv.deprecatedInstanceMessage,t;return await uD(e,r,t)}async function uA(e,t,i){let r,n,a=(0,ax.JO)(t);a&&(r=a);let s=await e.lookUpSymbolRecursive(t,t.d.name.d.value,!1);if(s){let t=s.symbol.getDeclarations(),a=t.findIndex(e=>e===r);if(a>0){for(let i=0;i<a;i++){let r=t[i];r.type===aF.h3.Function&&await e.getTypeOfFunction(r.node)}let r=[],s=t[a-1];if(s.type===aF.h3.Function){let t=await e.getTypeOfFunction(s.node);if(t){if((0,aM.Tn)(t.decoratedType))aM.RK.isOverloaded(t.decoratedType)&&r.push(t.decoratedType);else if((0,aM.Gl)(t.decoratedType)){if(n=aM.OF.getImplementation(t.decoratedType))return i;(0,ap.af)(r,aM.OF.getOverloads(t.decoratedType))}}}if((0,aM.Tn)(i)&&aM.RK.isOverloaded(i)?r.push(i):n=i,1===r.length&&!n)return r[0];if(0===r.length&&n)return n;if(n&&(0,aM.Tn)(n)&&n.shared.docString){let e=n.shared.docString;r=r.map(t=>aM.RK.isOverloaded(t)&&!t.shared.docString?aM.RK.cloneWithDocString(t,e):t)}if(n&&(0,aM.Tn)(n)&&void 0!==n.shared.deprecatedMessage){let e=n.shared.deprecatedMessage;r=r.map(t=>aM.RK.isOverloaded(t)&&void 0===t.shared.deprecatedMessage?aM.RK.cloneWithDeprecatedMessage(t,e):t)}return aM.OF.create(r,n)}}return i}async function uD(e,t,i){var r,n;let a=(0,ax.R8)(t).isStubFile?lO.WB.ForwardRefs:lO.WB.None;t.d.expr.nodeType!==aO.ye.Call&&(a|=lO.WB.CallBaseDefaults);let s=await e.getTypeOfExpression(t.d.expr,a);if((0,aM.dL)(s.type)&&aM.p5.isBuiltIn(s.type,"classmethod")&&(0,aX.uM)(i))return i;let o=[{argCategory:aO.b4.Simple,typeResult:{type:i}}],l=await e.validateCallArgs(t.d.expr,o,s,void 0,!0,void 0);e.setTypeResultForNode(t,{type:null!=(r=l.returnType)?r:aM.vn.create(),overloadsUsedForCall:l.overloadsUsedForCall,isIncomplete:l.isTypeIncomplete});let d=null!=(n=l.returnType)?n:aM.vn.create();return(0,aM.Tn)(d)&&!d.shared.declaredReturnType&&!d.shared.parameters.some((e,t)=>!!(!e.name||aM.gk.isTypeDeclared(e))||e.category===aO.OP.Simple&&(0!==t||!aM.gk.isTypeInferred(e)))||(0,aX.ZP)(d)&&(0,aM.Tn)(s.type)&&!s.type.shared.parameters.find(e=>aM.gk.isTypeDeclared(e))&&void 0===s.type.shared.declaredReturnType?i:d}async function uE(e,t){if(aM.p5.isBuiltIn(t,"bool"))return[aM.p5.cloneWithLiteral(t,!0),aM.p5.cloneWithLiteral(t,!1)];if(aM.p5.isEnumClass(t)){if(t.shared.baseClasses.some(e=>(0,aM.D4)(e)&&aM.p5.isBuiltIn(e,"Flag")))return;let i=[],r=await l9(t);return await lH(r,async(r,n)=>{if(!r.isIgnoredForProtocolMatch()){var a;let s=await e.getEffectiveTypeOfSymbol(r);s=null!=(a=await uU(e,t,n))?a:s,(0,aM.aE)(s)&&aM.p5.isSameGenericClass(t,s)&&void 0!==s.priv.literalValue&&i.push(s)}}),i}}let uR=[];function uN(e){return e.shared.mro.some(e=>(0,aM.D4)(e)&&aM.p5.isBuiltIn(e,["EnumMeta","EnumType"]))}async function uM(e,t){if(!(0,aM.D4)(t)||!aM.p5.isEnumClass(t))return!1;let i=!1;return await lH(await l9(t),async(r,n)=>{let a=await uU(e,t,n);a&&(0,aM.aE)(a)&&aM.p5.isSameGenericClass(a,aM.p5.cloneAsInstance(t))&&(i=!0)}),i}async function uO(e,t,i,r){let n=(0,ax.R8)(t),a=u$(i);if(0===r.length)return;let s=r[0];if(s.argCategory!==aO.b4.Simple||!s.valueExpression||s.valueExpression.nodeType!==aO.ye.StringList||1!==s.valueExpression.d.strings.length||s.valueExpression.d.strings[0].nodeType!==aO.ye.String)return;let o=s.valueExpression.d.strings.map(e=>e.d.value).join(""),l=aM.p5.createInstantiable(o,(0,aL.NJ)(t,n.moduleName,o),n.moduleName,n.fileUri,aM.aF.EnumClass|aM.aF.ValidTypeAliasClass,(0,aL.pj)(t),void 0,i.shared.effectiveMetaclass);l.shared.baseClasses.push(i),(0,aX.VS)(l);let d=await l9(l);if(d.set("__class__",lM.NI.createWithType(lM.mk.ClassMember|lM.mk.IgnoredForProtocolMatch,l)),r.length<2)return;let u=r[1];if(u.argCategory!==aO.b4.Simple||!u.valueExpression)return;let p=await e.getBuiltInType(t,"int");if(!p||!(0,aM.dL)(p))return;let c=aM.p5.cloneAsInstance(l);if(u.valueExpression.nodeType===aO.ye.StringList){if(!u.valueExpression.d.strings.every(e=>e.nodeType===aO.ye.String))return;for(let[e,t]of u.valueExpression.d.strings.map(e=>e.d.value).join("").trim().split(/[\s,]+/).entries()){if(!t)return;let i=aM.p5.cloneWithLiteral(aM.p5.cloneAsInstance(p),e+1),r=new aM.RR(l.shared.fullName,l.shared.name,t,i,a),n=lM.NI.createWithType(lM.mk.ClassMember,aM.p5.cloneWithLiteral(c,r));d.set(t,n)}return l}if(u.valueExpression.nodeType===aO.ye.List||u.valueExpression.nodeType===aO.ye.Tuple){let t=(u.valueExpression.nodeType===aO.ye.List,u.valueExpression.d.items);if(0===t.length)return;let i=!1;for(let[r,n]of t.entries()){let t,s;if(0===r&&(i=n.nodeType===aO.ye.StringList),n.nodeType===aO.ye.StringList){if(!i)return;t=n,s=aM.p5.cloneWithLiteral(aM.p5.cloneAsInstance(p),r+1)}else{if(n.nodeType!==aO.ye.Tuple||i||2!==n.d.items.length)return;t=n.d.items[0],s=(await e.getTypeOfExpression(n.d.items[1])).type}if(t.nodeType!==aO.ye.StringList||1!==t.d.strings.length||t.d.strings[0].nodeType!==aO.ye.String)return;let o=t.d.strings[0].d.value,u=new aM.RR(l.shared.fullName,l.shared.name,o,s,a),h=lM.NI.createWithType(lM.mk.ClassMember,aM.p5.cloneWithLiteral(c,u));d.set(o,h)}}if(u.valueExpression.nodeType===aO.ye.Dictionary){let t=u.valueExpression.d.items;if(0===t.length)return;for(let i of t){if(i.nodeType!==aO.ye.DictionaryKeyEntry)return;let t=i.d.keyExpr,r=(await e.getTypeOfExpression(i.d.valueExpr)).type;if(t.nodeType!==aO.ye.StringList||1!==t.d.strings.length||t.d.strings[0].nodeType!==aO.ye.String)return;let n=t.d.strings[0].d.value,s=new aM.RR(l.shared.fullName,l.shared.name,n,r,a),o=lM.NI.createWithType(lM.mk.ClassMember,aM.p5.cloneWithLiteral(c,s));d.set(n,o)}}return l}async function uU(e,t,i,r=!1,n=0){if(aM.p5.isEnumClass(t)&&!(n>aM.Wn)&&(n++,!uR.find(e=>aM.p5.isSameGenericClass(e.classType,t)&&e.memberName===i))){uR.push({classType:t,memberName:i});try{var a,s,o,l,d,u,p,c;let h,m,y,g,f=(0,aX.Zn)(t,i);if(!f||!(0,aM.D4)(f.classType)||!aM.p5.isEnumClass(f.classType))return;let v=f.symbol.getDeclarations();if(v.length<1)return;let _=v[0],T=!1,w=!1;if(_.node.nodeType===aO.ye.Name)y=_.node;else{if(_.node.nodeType!==aO.ye.Function&&_.node.nodeType!==aO.ye.Class)return;y=_.node.d.name}if((null==(s=y.parent)?void 0:s.nodeType)===aO.ye.Assignment&&y.parent.d.leftExpr===y?(T=!0,h=y.parent.d.rightExpr):(null==(o=y.parent)?void 0:o.nodeType)===aO.ye.Tuple&&(null==(l=y.parent.parent)?void 0:l.nodeType)===aO.ye.Assignment?(T=!0,w=!0,h=y.parent.parent.d.rightExpr):(null==(d=y.parent)?void 0:d.nodeType)===aO.ye.TypeAnnotation&&y.parent.d.valueExpr===y&&(r&&(T=!0),m=y.parent.d.annotation),(0,aN.gl)(i)||"name"===i||"value"===i)return;let b=m?await e.getTypeOfAnnotation(m):void 0;if(h){let t=(0,ax.R8)(h).isStubFile?lO.WB.ConvertEllipsisToAny:void 0;g=(await e.getTypeOfExpression(h,t)).type}if((null==h?void 0:h.nodeType)===aO.ye.Name&&h.d.value!==i){let i=await uU(e,t,h.d.value,!1,n);if(i&&(0,aM.aE)(i)&&aM.p5.isSameGenericClass(i,aM.p5.cloneAsInstance(f.classType))&&void 0!==i.priv.literalValue)return i}if(_.node.nodeType===aO.ye.Function){let t=await e.getTypeOfFunction(_.node);t&&(g=t.decoratedType)}else if(_.node.nodeType===aO.ye.Class){let t=await e.getTypeOfClass(_.node);if(t&&(g=t.decoratedType,(0,aM.dL)(g))){let e=(0,ax.R8)(_.node);T=ai.fz.isLessThan(e.executionEnvironment.pythonVersion,ai.TG)}}let S=null!=(a=null!=b?b:g)?a:aM.vn.create();if(w&&(S=null!=(p=null==(c=await e.getTypeOfIterator({type:S},!1,y,!1))?void 0:c.type)?p:aM.vn.create()),(0,aM.aE)(S)&&(await l9(S)).get("__get__")||(0,aN.$4)(i)||!(0,aM.mw)(S,e=>!(0,aM.BL)(e)))return;if(g||(null==(u=y.parent)?void 0:u.nodeType)!==aO.ye.Assignment||y.parent.d.leftExpr!==y||(g=(await e.getTypeOfExpression(y.parent.d.rightExpr,void 0,(0,aX.lq)(b))).type),g&&(0,aM.aE)(g)&&aM.p5.isBuiltIn(g)){if("enum.nonmember"===g.shared.fullName){let t=g.priv.typeArgs&&g.priv.typeArgs.length>0?g.priv.typeArgs[0]:aM.vn.create();if(b&&await e.assignType(b,t))return b;return t}"enum.member"===g.shared.fullName&&(S=g.priv.typeArgs&&g.priv.typeArgs.length>0?g.priv.typeArgs[0]:aM.vn.create(),T=!0)}if(!T)return;let k=new aM.RR(f.classType.shared.fullName,f.classType.shared.name,i,S,u$(t));return aM.p5.cloneAsInstance(aM.p5.cloneWithLiteral(f.classType,k))}finally{uR.pop()}}}async function uL(e,t){let i=(0,aL.Ji)(t.node,!0);if(!i)return!1;let r=await e.getTypeOfClass(i);return!!r&&aM.p5.isEnumClass(r.classType)}async function uz(e,t,i=!1){let r,n=(0,aX.Zn)(t,"_value_",i?aX.Mh.DeclaredTypesOnly:aX.Mh.Default);return n&&n.classType&&(0,aM.D4)(n.classType)&&!aM.p5.isBuiltIn(n.classType,"Enum")&&(r=await e.getTypeOfMember(n)),r}async function uW(e,t,i,r,n){if(!aM.p5.isEnumClass(i))return;let a=await uU(e,i,r);if(a)return{type:a,isIncomplete:n};if(aM.Ab.isInstantiable(i))return;let s=i.priv.literalValue;if("name"===r||"_name_"===r){let a=(0,aX.Zn)(i,r);if(a&&(0,aM.D4)(a.classType)&&!aM.p5.isBuiltIn(a.classType,"Enum"))return;let o=await e.getBuiltInType(t,"str");if(!(0,aM.dL)(o))return;let l=e=>aM.p5.cloneAsInstance(aM.p5.cloneWithLiteral(o,e.itemName));if(s)return(0,n6.vA)(s instanceof aM.RR),{type:l(s),isIncomplete:n};let d=await uE(e,i);if(d&&d.length>0)return{type:(0,aM.Do)(d.map(e=>{let t=e.priv.literalValue;return(0,n6.vA)(t instanceof aM.RR),l(t)})),isIncomplete:n}}let o=await uz(e,i);if("value"===r||"_value_"===r){let t=(0,aX.Zn)(i,r);if(t&&(0,aM.D4)(t.classType)&&!aM.p5.isBuiltIn(t.classType))return;let a=i.shared.effectiveMetaclass;if(a&&(0,aM.D4)(a)&&!aM.p5.isBuiltIn(a))return{type:null!=o?o:aM.V.create(),isIncomplete:n};let l=(0,aX.Zn)(i,"__new__",aX.Mh.SkipObjectBaseClass),d=(0,aX.Zn)(i,"__init__",aX.Mh.SkipObjectBaseClass);if(l&&(0,aM.D4)(l.classType)&&!aM.p5.isBuiltIn(l.classType)||d&&(0,aM.D4)(d.classType)&&!aM.p5.isBuiltIn(d.classType))return{type:null!=o?o:aM.V.create(),isIncomplete:n};if(s)return((0,n6.vA)(s instanceof aM.RR),(0,aM.f7)(s.itemType))?o?{type:o,isIncomplete:n}:void 0:{type:s.itemType,isIncomplete:n};let u=await uE(e,i);if(u&&u.length>0)return{type:(0,aM.Do)(u.map(e=>{let t=e.priv.literalValue;return(0,n6.vA)(t instanceof aM.RR),t.itemType})),isIncomplete:n}}}async function uB(e,t){let i=(0,aL.Ji)(t);if(i){let r=await e.getTypeOfClass(i);if(r){let i=await e.getTypeOfBoundMember(t,aM.p5.cloneAsInstance(r.classType),"_generate_next_value_");if(i&&!i.typeErrors&&(0,aM.Tn)(i.type)&&i.classType&&(0,aM.D4)(i.classType)&&!aM.p5.isBuiltIn(i.classType,"Enum")&&i.type.shared.declaredReturnType)return i.type.shared.declaredReturnType}}return await e.getBuiltInObject(t,"int")}function u$(e){return e.shared.mro.some(e=>(0,aM.D4)(e)&&aM.p5.isBuiltIn(e,"ReprEnum"))}async function uj(e,t,i,r,n){return(0,aM.Tn)(r)&&"functools.total_ordering"===r.shared.fullName?await uK(e,t,i,n):n}async function uK(e,t,i,r){var n;let a,s;if(1!==i.length)return r;let o=null==(n=i[0].typeResult)?void 0:n.type;if(!o||!(0,aM.dL)(o)||o.priv.includeSubclasses)return r;let l=aM.p5.cloneAsInstance(o),d=["__lt__","__le__","__gt__","__ge__"].filter(e=>{let t=(0,aX.mN)(l,e,aX.Mh.SkipInstanceMembers);return t&&!a&&(a=t),!t});if(!a)return r;let u=await e.getTypeOfMember(a);if((0,aM.Tn)(u)&&u.shared.parameters.length>=2&&aM.gk.isTypeDeclared(u.shared.parameters[1])&&(s=aM.RK.getParamType(u,1)),!s){let i=await e.getBuiltInObject(t,"object");if(!i||!(0,aM.aE)(i))return r;s=i}let p=await e.getBuiltInObject(t,"bool");if(!p||!(0,aM.aE)(p))return r;let c=aM.gk.create(aO.OP.Simple,(0,aX.du)(o,!1),aM.D5.TypeDeclared,"self"),h=aM.gk.create(aO.OP.Simple,s,aM.D5.TypeDeclared,"__value");return await lH(d,async e=>{let t=aM.RK.createSynthesizedInstance(e);aM.RK.addParam(t,c),aM.RK.addParam(t,h),t.shared.declaredReturnType=p,(await l9(o)).set(e,lM.NI.createWithType(lM.mk.ClassMember,t))}),r}let uV={[aj.hu.Add]:["__add__","__radd__"],[aj.hu.Subtract]:["__sub__","__rsub__"],[aj.hu.Multiply]:["__mul__","__rmul__"],[aj.hu.FloorDivide]:["__floordiv__","__rfloordiv__"],[aj.hu.Divide]:["__truediv__","__rtruediv__"],[aj.hu.Mod]:["__mod__","__rmod__"],[aj.hu.Power]:["__pow__","__rpow__"],[aj.hu.MatrixMultiply]:["__matmul__","__rmatmul__"],[aj.hu.BitwiseAnd]:["__and__","__rand__"],[aj.hu.BitwiseOr]:["__or__","__ror__"],[aj.hu.BitwiseXor]:["__xor__","__rxor__"],[aj.hu.LeftShift]:["__lshift__","__rlshift__"],[aj.hu.RightShift]:["__rshift__","__rrshift__"],[aj.hu.Equals]:["__eq__","__eq__"],[aj.hu.NotEquals]:["__ne__","__ne__"],[aj.hu.LessThan]:["__lt__","__gt__"],[aj.hu.LessThanOrEqual]:["__le__","__ge__"],[aj.hu.GreaterThan]:["__gt__","__lt__"],[aj.hu.GreaterThanOrEqual]:["__ge__","__le__"]},uq={[aj.hu.And]:!0,[aj.hu.Or]:!0,[aj.hu.Is]:!0,[aj.hu.IsNot]:!0,[aj.hu.In]:!0,[aj.hu.NotIn]:!0};async function uG(e,t,i,r,n,a,s){let o,l,d=i.type,u=r.type,p=!!i.isIncomplete||!!r.isIncomplete,c=e.makeTopLevelTypeVarsConcrete(d);if(void 0!==uq[t]){if(t===aj.hu.And){if(!await e.canBeTruthy(c))return{type:d};if(!await e.canBeFalsy(c))return{type:u};if(c=await e.removeTruthinessFromType(c),(0,aM.Pd)(u))return{type:c}}else if(t===aj.hu.Or){if(!await e.canBeFalsy(c))return{type:d};if(!await e.canBeTruthy(c))return{type:u};if(c=await e.removeFalsinessFromType(c),(0,aM.Pd)(u))return{type:c}}if((0,aM.Pd)(d)||(0,aM.Pd)(u))return{type:aM.Xl.createNever()};if(t===aj.hu.In||t===aj.hu.NotIn){let a=await u5(e,t,i,c,r,n);a.magicMethodDeprecationInfo&&(l=a.magicMethodDeprecationInfo),(o=a.type)&&!(0,aM.Pd)(o)&&(o=await e.getBuiltInObject(n,"bool"))}else o=await e.mapSubtypesExpandTypeVarsAsync(c,void 0,async(i,r)=>await e.mapSubtypesExpandTypeVarsAsync(u,{conditionFilter:(0,aX.An)(i)},async(i,a)=>t===aj.hu.And||t===aj.hu.Or?(0,aM.Do)([r,a]):await e.getBuiltInObject(n,"bool")))}else if(uV[t]){if((0,aM.Pd)(d)||(0,aM.Pd)(u))return{type:aM.Xl.createNever()};if(s.isLiteralMathAllowed&&(o=function(e,t,i){let r=(0,aX.vR)(t);if(!(!r||(0,aX.An)(t)||(0,aX._b)(t,e=>!!(0,aX.An)(e)))&&!(r!==(0,aX.vR)(i)||(0,aX.An)(i)||(0,aX._b)(i,e=>!!(0,aX.An)(e))||(0,aX.R5)(t)*(0,aX.R5)(i)>=64)){if(("str"===r||"bytes"===r)&&e===aj.hu.Add)return(0,aX.EY)(t,e=>(0,aX.EY)(i,t=>aM.p5.cloneWithLiteral(e,e.priv.literalValue+t.priv.literalValue)));if("int"===r){if(![aj.hu.Add,aj.hu.Subtract,aj.hu.Multiply,aj.hu.FloorDivide,aj.hu.Mod,aj.hu.Power,aj.hu.LeftShift,aj.hu.RightShift,aj.hu.BitwiseAnd,aj.hu.BitwiseOr,aj.hu.BitwiseXor].includes(e))return;let r=!0,n=(0,aX.EY)(t,t=>(0,aX.EY)(i,i=>{try{let n,a=BigInt(t.priv.literalValue),s=BigInt(i.priv.literalValue);if(e===aj.hu.Add)n=a+s;else if(e===aj.hu.Subtract)n=a-s;else if(e===aj.hu.Multiply)n=a*s;else if(e===aj.hu.FloorDivide)s!==BigInt(0)&&(n=a/s)*s!==a&&a<BigInt(0)!=s<BigInt(0)&&(n-=BigInt(1));else if(e===aj.hu.Mod)s!==BigInt(0)&&(n=(a%s+s)%s);else if(e===aj.hu.Power){if(s>=BigInt(0))try{n=a**s}catch{}}else e===aj.hu.LeftShift?s>=BigInt(0)&&(n=a<<s):e===aj.hu.RightShift?s>=BigInt(0)&&(n=a>>s):e===aj.hu.BitwiseAnd?n=a&s:e===aj.hu.BitwiseOr?n=a|s:e===aj.hu.BitwiseXor&&(n=a^s);if(void 0===n){r=!1;return}if(!("number"==typeof n&&isNaN(n)))return n>=Number.MIN_SAFE_INTEGER&&n<=Number.MAX_SAFE_INTEGER&&(n=Number(n)),aM.p5.cloneWithLiteral(t,n);r=!1;return}catch{r=!1;return}}));if(r)return n}}}(t,d,u)),!o){let d=await u4(e,t,i,r,n,a,s);d.magicMethodDeprecationInfo&&(l=d.magicMethodDeprecationInfo),o=d.type}}return{type:null!=o?o:aM.vn.create(p),magicMethodDeprecationInfo:l}}async function uH(e,t,i,r){let n,a=t.d.leftExpr,s=t.d.rightExpr,o=!1;(0,aL.oU)(t.d.operator)&&s.nodeType===aO.ye.BinaryOperation&&!s.d.hasParens&&(0,aL.oU)(s.d.operator)&&(await uH(e,s,i,r),s=s.d.leftExpr);let l=t.d.operator===aj.hu.Or||t.d.operator===aj.hu.And?null==r?void 0:r.expectedType:void 0;t.d.operator===aj.hu.Multiply&&r&&(0,aM.aE)(r.expectedType)&&aM.p5.isBuiltIn(r.expectedType,"list")&&r.expectedType.priv.typeArgs&&r.expectedType.priv.typeArgs.length>=1&&t.d.leftExpr.nodeType===aO.ye.List&&(n=r.expectedType);let d=null!=l?l:n,u=await e.getTypeOfExpression(a,i,(0,aX.lq)(d)),p=u.type;!l&&(t.d.operator===aj.hu.Or||t.d.operator===aj.hu.And?(0,aX._b)(p,e=>!!(0,aM.aE)(e)&&(aM.p5.isTypedDictClass(e)||e.shared.typeParams.length>0))&&(l=p):t.d.operator===aj.hu.Add&&t.d.rightExpr.nodeType===aO.ye.List?l=p:t.d.operator===aj.hu.BitwiseOr&&(0,aM.aE)(p)&&aM.p5.isTypedDictClass(p)&&(l=p));let c=await e.getTypeOfExpression(s,i,(0,aX.lq)(l)),h=c.type;if((u.isIncomplete||c.isIncomplete)&&(o=!0),t.d.operator===aj.hu.BitwiseOr&&!uZ(p,"__or__")&&!uZ(h,"__ror__")){let r=h,n=p;if(!(0,aX.Lj)(p)&&(0,aX.Lj)(h)?r=(0,aX.xy)(e.getNoneType()):!(0,aX.Lj)(h)&&(0,aX.Lj)(p)&&(n=(0,aX.xy)(e.getNoneType())),(0,aX.sh)([n,r]))return(0,aM.dL)(n)&&(n=(0,aX.ap)(n)),(0,aM.dL)(r)&&(r=(0,aX.ap)(r)),await uX(e,t,i,u,c,r,n)}if((i&lO.WB.TypeExpression)!=0&&t.d.operator!==aj.hu.BitwiseOr)return{type:aM.vn.create()};void 0===uq[t.d.operator]&&((t.d.operator===aj.hu.Equals||t.d.operator===aj.hu.NotEquals)&&(p=(0,aX.Wt)(p)),(t.d.operator===aj.hu.Equals||t.d.operator===aj.hu.NotEquals)&&(h=(0,aX.Wt)(h)));let m=!(0,aL.OW)(t)&&!(0,aL.mQ)(t),y=!(0,aM.mi)(p),g=await uG(e,t.d.operator,{type:p,isIncomplete:u.isIncomplete},{type:h,isIncomplete:c.isIncomplete},t,r,{isLiteralMathAllowed:m,isTupleAddAllowed:y});return g.isIncomplete&&(o=!0),{type:g.type,isIncomplete:o,typeErrors:!1,magicMethodDeprecationInfo:g.magicMethodDeprecationInfo}}async function uJ(e,t,i){let r,n,a,s={[aj.hu.AddEqual]:["__iadd__",aj.hu.Add],[aj.hu.SubtractEqual]:["__isub__",aj.hu.Subtract],[aj.hu.MultiplyEqual]:["__imul__",aj.hu.Multiply],[aj.hu.FloorDivideEqual]:["__ifloordiv__",aj.hu.FloorDivide],[aj.hu.DivideEqual]:["__itruediv__",aj.hu.Divide],[aj.hu.ModEqual]:["__imod__",aj.hu.Mod],[aj.hu.PowerEqual]:["__ipow__",aj.hu.Power],[aj.hu.MatrixMultiplyEqual]:["__imatmul__",aj.hu.MatrixMultiply],[aj.hu.BitwiseAndEqual]:["__iand__",aj.hu.BitwiseAnd],[aj.hu.BitwiseOrEqual]:["__ior__",aj.hu.BitwiseOr],[aj.hu.BitwiseXorEqual]:["__ixor__",aj.hu.BitwiseXor],[aj.hu.LeftShiftEqual]:["__ilshift__",aj.hu.LeftShift],[aj.hu.RightShiftEqual]:["__irshift__",aj.hu.RightShift]},o=await e.getTypeOfExpression(t.d.leftExpr),l=o.type;t.d.operator===aj.hu.BitwiseOrEqual&&(a=l);let d=await e.getTypeOfExpression(t.d.rightExpr,void 0,(0,aX.lq)(a)),u=d.type,p=!!d.isIncomplete||!!o.isIncomplete;return r=(0,aM.Pd)(l)||(0,aM.Pd)(u)?{type:aM.Xl.createNever(),isIncomplete:p}:{type:await e.mapSubtypesExpandTypeVarsAsync(l,void 0,async(r,n)=>await e.mapSubtypesExpandTypeVarsAsync(u,{conditionFilter:(0,aX.An)(r)},async(a,p)=>{if((0,aM.ah)(n)||(0,aM.ah)(p))return(0,aX.Xn)(n,p);let c=s[t.d.operator][0],h=await e.getTypeOfMagicMethodCall(n,c,[{type:p,isIncomplete:d.isIncomplete}],t,i);if(h||n===r||(h=await e.getTypeOfMagicMethodCall(r,c,[{type:p,isIncomplete:d.isIncomplete}],t,i)),h||p===a||(h=await e.getTypeOfMagicMethodCall(r,c,[{type:a,isIncomplete:d.isIncomplete}],t,i)),!h){let r=s[t.d.operator][1],a=!(0,aL.OW)(t)&&await u1(e,t.d.leftExpr)&&(0,aX.R5)(l)*(0,aX.R5)(u)<64,c=!(0,aM.mi)(l);h=await uG(e,r,{type:n,isIncomplete:o.isIncomplete},{type:p,isIncomplete:d.isIncomplete},t,i,{isLiteralMathAllowed:a,isTupleAddAllowed:c})}return null==h?void 0:h.type})),isIncomplete:p,magicMethodDeprecationInfo:n},await e.assignTypeToExpression(t.d.destExpr,r,t.d.rightExpr),r}async function uY(e,t,i,r){let n,a;if((i&lO.WB.TypeExpression)!=0)return{type:aM.vn.create()};let s=await e.getTypeOfExpression(t.d.expr),o=e.makeTopLevelTypeVarsConcrete((0,aX.In)(s.type)),l=s.isIncomplete;if((0,aM.Pd)(o))return{type:aM.Xl.createNever(),isIncomplete:l};let d={[aj.hu.Add]:"__pos__",[aj.hu.Subtract]:"__neg__",[aj.hu.BitwiseInvert]:"__invert__",[aj.hu.Not]:"__bool__"};if(t.d.operator!==aj.hu.Not&&(0,aX.fn)(o)&&(o=(0,aX.Wt)(o)),s.isIncomplete||(n=function(e,t){let i;if((0,aX.R5)(t)>=64||(0,aX.An)(t)||(0,aX._b)(t,e=>!!(0,aX.An)(e)))return;let r=(0,aX.vR)(t);return"int"===r?e===aj.hu.Add?i=t:e===aj.hu.Subtract?i=(0,aX.EY)(t,e=>aM.p5.cloneWithLiteral(e,-e.priv.literalValue)):e===aj.hu.BitwiseInvert&&(i=(0,aX.EY)(t,e=>{let t=e.priv.literalValue,i=-(("bigint"==typeof t?t:BigInt(t))+BigInt(1));return i>=BigInt(Number.MIN_SAFE_INTEGER)&&i<=BigInt(Number.MAX_SAFE_INTEGER)&&(i=Number(i)),aM.p5.cloneWithLiteral(e,i)})):"bool"===r&&e===aj.hu.Not&&(i=(0,aX.EY)(t,e=>aM.p5.cloneWithLiteral(e,!e.priv.literalValue))),i}(t.d.operator,o)),!n){if((0,aM.ah)(o))n=o;else{let i=d[t.d.operator],a=!0;n=await e.mapSubtypesExpandTypeVarsAsync(o,void 0,async n=>{let s=await e.getTypeOfMagicMethodCall(n,i,[],t,r);return s||(a=!1),null==s?void 0:s.type}),a||(n=void 0)}t.d.operator===aj.hu.Not&&((n=await e.getBuiltInObject(t,"bool"))||(n=aM.vn.create())),n||(n=aM.vn.create(l))}return{type:n,isIncomplete:l,magicMethodDeprecationInfo:a}}async function uQ(e,t,i,r){let n=(0,ax.R8)(t);if((i&lO.WB.TypeExpression)!=0)return{type:aM.vn.create()};await e.getTypeOfExpression(t.d.testExpr);let a=[],s=!1,o=!1,l=(0,dR.W)(t.d.testExpr,n.executionEnvironment,n.definedConstants);if(!1!==l){let n=await e.getTypeOfExpression(t.d.ifExpr,i,r);a.push(n.type),n.isIncomplete&&(s=!0),n.typeErrors&&(o=!0)}if(!0!==l){let n=await e.getTypeOfExpression(t.d.elseExpr,i,r);a.push(n.type),n.isIncomplete&&(s=!0),n.typeErrors&&(o=!0)}return{type:(0,aM.Do)(a),isIncomplete:s,typeErrors:o}}async function uX(e,t,i,r,n,a,s){var o,l;let d=t.d.leftExpr,u=t.d.rightExpr,p=e.validateTypeArg({...r,node:d}),c=e.validateTypeArg({...n,node:u});if(!p||!c)return{type:aM.vn.create()};let h=(0,aM.Do)([s,a],{skipElideRedundantLiterals:!0}),m=e.getUnionClassType();if(m&&(0,aM.dL)(m)&&(i&lO.WB.IsinstanceArg)==0&&(h=aM.Ab.cloneAsSpecialForm(h,aM.p5.cloneAsInstance(m))),(null==(o=r.type.props)?void 0:o.typeForm)&&(null==(l=n.type.props)?void 0:l.typeForm)){let e=(0,aM.Do)([r.type.props.typeForm,n.type.props.typeForm]);h=aM.Ab.cloneWithTypeForm(h,e)}return{type:h}}function uZ(e,t){if(!(0,aM.dL)(e))return!1;let i=e.shared.effectiveMetaclass;if(!i||!(0,aM.dL)(i)||aM.p5.isBuiltIn(i,"type"))return!1;let r=(0,aX.Zn)(i,t);return!(!r||(0,aM.ah)(r.classType)||(0,aM.dL)(r.classType)&&aM.p5.isBuiltIn(r.classType,"type"))}function u0(e,t){return(0,aM.BL)(t)?e.getObjectType():t}async function u1(e,t){if(t.nodeType!==aO.ye.Name)return!1;let i=await e.lookUpSymbolRecursive(t,t.d.value,!1);return!!i&&(0,sY.Yd)(t)===i.scope}async function u5(e,t,i,r,n,a){let s;return{type:await e.mapSubtypesExpandTypeVarsAsync(n.type,void 0,async(t,s)=>await e.mapSubtypesExpandTypeVarsAsync(r,{conditionFilter:(0,aX.An)(t)},async r=>{var o,l;if((0,aM.ah)(r)||(0,aM.ah)(s))return(0,aX.Xn)(r,t);let d=await e.getTypeOfMagicMethodCall(t,"__contains__",[{type:r,isIncomplete:i.isIncomplete}],a,void 0);if(!d){let i=null==(l=await e.getTypeOfIterator({type:t,isIncomplete:n.isIncomplete},!1,a,!1))?void 0:l.type;i&&await e.assignType(i,r)&&(d={type:await e.getBuiltInObject(a,"bool")})}return null!=(o=null==d?void 0:d.type)?o:await e.getBuiltInObject(a,"bool")})),magicMethodDeprecationInfo:s}}async function u4(e,t,i,r,n,a,s){let o,l=!!i.isIncomplete||!!r.isIncomplete;return{type:await e.mapSubtypesExpandTypeVarsAsync(i.type,void 0,async(o,d)=>await e.mapSubtypesExpandTypeVarsAsync(r.type,{conditionFilter:(0,aX.An)(o)},async(u,p)=>{var c;if((0,aM.ah)(d)||(0,aM.ah)(p))return(0,aX.Xn)(d,p);let h=e.getTupleClassType();if(s.isTupleAddAllowed&&t===aj.hu.Add&&(0,aM.aE)(o)&&(0,aX.Bj)(o)&&o.priv.tupleTypeArgs&&(0,aM.aE)(u)&&(0,aX.Bj)(u)&&u.priv.tupleTypeArgs&&h&&(0,aM.dL)(h)&&(!(0,aX.NG)(o)||!(0,aX.NG)(u)))return aM.p5.cloneAsInstance((0,aX.K4)(h,[...o.priv.tupleTypeArgs,...u.priv.tupleTypeArgs]));let m=uV[t][0],y=await e.getTypeOfMagicMethodCall(u0(e,d),m,[{type:p,isIncomplete:r.isIncomplete}],n,a);if(y||d===o||(y=await e.getTypeOfMagicMethodCall(u0(e,o),m,[{type:p,isIncomplete:r.isIncomplete}],n,a)),y||p===u||(y=await e.getTypeOfMagicMethodCall(u0(e,o),m,[{type:u,isIncomplete:r.isIncomplete}],n,a)),!y){let r=uV[t][1];(y=await e.getTypeOfMagicMethodCall(u0(e,p),r,[{type:d,isIncomplete:i.isIncomplete}],n,a))||p===u||(y=await e.getTypeOfMagicMethodCall(u0(e,u),r,[{type:d,isIncomplete:i.isIncomplete}],n,a)),y||d===o||(y=await e.getTypeOfMagicMethodCall(u0(e,u),r,[{type:o,isIncomplete:i.isIncomplete}],n,a))}return null!=(c=null==y?void 0:y.type)?c:aM.vn.create(l)})),magicMethodDeprecationInfo:o}}let u3=["builtins.bool","builtins.bytearray","builtins.bytes","builtins.dict","builtins.float","builtins.frozenset","builtins.int","builtins.list","builtins.set","builtins.str","builtins.tuple"];async function u8(e,t,i,r){switch(i.nodeType){case aO.ye.PatternSequence:return await u2(e,t,i,r);case aO.ye.PatternLiteral:return await pe(e,t,i,r);case aO.ye.PatternClass:return await pt(e,t,i,r);case aO.ye.PatternAs:return await u6(e,t,i,r);case aO.ye.PatternMapping:return await u7(e,t,i,r);case aO.ye.PatternValue:return await pn(e,t,i,r);case aO.ye.PatternCapture:return r?t:aM.Xl.createNever();case aO.ye.Error:return t}}async function u2(e,t,i,r){let n=!1;t=(0,aX.In)(t);let a=await ps(e,i,t);return a=await lQ(a,async t=>{if(t.isDefiniteNoMatch)if(r)return!1;else return!0;let a=!0,s=!0,o=[],l=[],d=t.isTuple;if(!r&&((t.isIndeterminateLength||t.isUnboundedTuple)&&(d=!1),(0,aM.aE)(t.subtype)&&t.subtype.priv.tupleTypeArgs)){let e=t.subtype.priv.tupleTypeArgs.findIndex(e=>e.isUnbounded);e>=0&&(void 0===i.d.starEntryIndex||i.d.starEntryIndex!==e)&&(d=!1)}t.isIndeterminateLength&&(1!==i.d.entries.length||0!==i.d.starEntryIndex)&&(s=!1);let u=[];if(await lH(i.d.entries,async(n,p)=>{let c=await po(e,i,t,p,i.d.entries.length,i.d.starEntryIndex,!0);l.push(c);let h=await u8(e,c,n,r);r?p===i.d.starEntryIndex?(0,aM.aE)(h)&&h.priv.tupleTypeArgs&&!(0,aX.NG)(h)&&h.priv.tupleTypeArgs?(0,ap.af)(o,h.priv.tupleTypeArgs.map(e=>e.type)):(o.push(h),d=!1):(o.push(h),(0,aM.Pd)(h)&&(a=!1)):(t.isPotentialNoMatch&&(s=!1),(0,aM.Pd)(h)?o.push(c):(s=!1,u.push(p),o.push(h)),p===i.d.starEntryIndex&&(d=!1))}),0===i.d.entries.length&&(t.entryTypes.length>0&&o.push((0,aM.Do)(t.entryTypes)),t.isPotentialNoMatch&&(s=!1)),!r){if(s)return!1;if(d&&u.length>0){let r=await e.getBuiltInType(i,"tuple");if(r&&(0,aM.dL)(r)){let e=[];for(let t of u){let i=[...l];i[t]=o[t],e.push(i)}t.subtype=(0,aM.Do)(e.map(e=>aM.p5.cloneAsInstance((0,aX.K4)(r,e.map(e=>({type:e,isUnbounded:!1})))))),n=!0}}return!0}if(a){if(d){let r=await e.getBuiltInType(i,"tuple");r&&(0,aM.dL)(r)&&(t.subtype=aM.p5.cloneAsInstance((0,aX.K4)(r,o.map(e=>({type:e,isUnbounded:!1})))))}if(t.isPotentialNoMatch&&!t.isTuple){let r=await e.getTypingType(i,"Sequence");if(r&&(0,aM.dL)(r)){var p;let i=e.stripLiteralValue((0,aM.Do)(o));i=null!=(p=(0,aX.TS)(i,!1))?p:i,t.subtype=aM.p5.cloneAsInstance(aM.p5.specialize(r,[i]))}}}return a}),(0,aM.Do)(a.map(e=>e.subtype),{maxSubtypeCount:n?128:void 0})}async function u6(e,t,i,r){let n=t;if(!r)return await lH(i.d.orPatterns,async t=>{n=await u8(e,n,t,!1)}),n;let a=await lJ(i.d.orPatterns,async t=>{let i=await u8(e,n,t,!0);return n=await u8(e,n,t,!1),i});return(0,aM.Do)(a)}async function u7(e,t,i,r){if(t=(0,aX.In)(t),!r){if(1===i.d.entries.length&&i.d.entries[0].nodeType===aO.ye.PatternMappingExpandEntry){let r=await pa(e,t,i);return(0,aM.Do)(r.filter(e=>!e.isDefinitelyMapping).map(e=>e.subtype))}if(1!==i.d.entries.length||i.d.entries[0].nodeType!==aO.ye.PatternMappingKeyEntry)return t;let r=i.d.entries[0].d.keyPattern,n=i.d.entries[0].d.valuePattern;if(r.nodeType!==aO.ye.PatternLiteral||n.nodeType!==aO.ye.PatternAs||!n.d.orPatterns.every(e=>e.nodeType===aO.ye.PatternLiteral))return t;let a=(await e.getTypeOfExpression(r.d.expr)).type;if(!(0,aM.aE)(a)||!aM.p5.isBuiltIn(a,"str")||void 0===a.priv.literalValue)return t;let s=a.priv.literalValue,o=await lJ(n.d.orPatterns,async t=>(await e.getTypeOfExpression(t.d.expr)).type);return await l5(t,async t=>{if((0,aM.aE)(t)&&aM.p5.isTypedDictClass(t)){let i=(await dn(e,t,!0)).knownItems.get(s);if(i&&(i.isRequired||i.isProvided)&&(0,aM.aE)(i.valueType)){let e=i.valueType;if(o.some(t=>(0,aM.aE)(t)&&aM.p5.isSameGenericClass(t,e)&&t.priv.literalValue===e.priv.literalValue))return}}return t})}let n=await pa(e,t,i);return n=await lQ(n,async t=>{if(t.isDefinitelyNotMapping)return!1;let n=!0;return await lH(i.d.entries,async a=>{if(t.typedDict){if(a.nodeType===aO.ye.PatternMappingKeyEntry){let s=await u8(e,await e.getBuiltInObject(i,"str"),a.d.keyPattern,r);(0,aM.Pd)(s)&&(n=!1);let o=await l5(s,async i=>{if((0,aM.ah)(i))return i;if((0,aM.aE)(i)&&aM.p5.isBuiltIn(i,"str")){if(!(0,aX.aw)(i))return aM.vn.create();let n=(await dn(e,t.typedDict)).knownItems.get(i.priv.literalValue);if(n){let s=await u8(e,n.valueType,a.d.valuePattern,!0);if(!(0,aM.Pd)(s)){if(!n.isRequired&&!n.isProvided&&(0,aM.J5)(t.subtype,t.typedDict)){var r;let e=new Map(null!=(r=t.typedDict.priv.typedDictNarrowedEntries)?r:[]);e.set(i.priv.literalValue,{valueType:n.valueType,isReadOnly:n.isReadOnly,isRequired:!1,isProvided:!0}),t.subtype=aM.p5.cloneAsInstance(aM.p5.cloneForNarrowedTypedDictEntries(aM.p5.cloneAsInstantiable(t.typedDict),e)),t.typedDict=t.subtype}return s}}}});(0,aM.Pd)(o)&&(n=!1)}}else if(t.dictTypeArgs&&a.nodeType===aO.ye.PatternMappingKeyEntry){let i=await u8(e,t.dictTypeArgs.key,a.d.keyPattern,r),s=await u8(e,t.dictTypeArgs.value,a.d.valuePattern,r);((0,aM.Pd)(i)||(0,aM.Pd)(s))&&(n=!1)}}),n}),(0,aM.Do)(n.map(e=>e.subtype))}async function u9(e,t){let i=(0,aX.Zn)(t,"__match_args__");if(i){let t=await e.getTypeOfMember(i);if((0,aM.aE)(t)&&(0,aX.Bj)(t)&&!(0,aX.NG)(t)&&t.priv.tupleTypeArgs){let e=t.priv.tupleTypeArgs;if(e.every(e=>(0,aM.aE)(e.type)&&aM.p5.isBuiltIn(e.type,"str")&&(0,aX.aw)(e.type)))return e.map(e=>e.type.priv.literalValue)}}return[]}async function pe(e,t,i,r){let n=(await e.getTypeOfExpression(i.d.expr)).type;return r?await e.mapSubtypesExpandTypeVarsAsync(t,void 0,async(t,i)=>{if(await e.assignType(t,n))return!(0,aM.aE)(n)||!(0,aX.aw)(n)||(0,aM.J5)(e.stripLiteralValue(t),e.stripLiteralValue(n))?n:t;if((0,aM.aE)(n)&&(0,aM.aE)(t)){if((0,aX.aw)(n)&&!(0,aX.aw)(t)){if(await e.assignType(aM.p5.cloneWithLiteral(n,void 0),t))return t}else if(await e.assignType(n,t))return t}}):await e.mapSubtypesExpandTypeVarsAsync(t,void 0,async t=>{if(!((0,aM.aE)(n)&&(0,aX.aw)(n)&&(0,aM.aE)(t)&&(0,aX.aw)(t)&&await e.assignType(n,t))&&!((0,aX.Lj)(t)&&(0,aX.Lj)(n)))return(0,aM.aE)(t)&&aM.p5.isBuiltIn(t,"bool")&&void 0===t.priv.literalValue&&(0,aM.aE)(n)&&aM.p5.isBuiltIn(n,"bool")&&void 0!==n.priv.literalValue?aM.p5.cloneWithLiteral(n,!n.priv.literalValue):t})}async function pt(e,t,i,r){var n;let a=(await e.getTypeOfExpression(i.d.className,lO.WB.CallBaseDefaults)).type;!(0,aM.D4)(a)||(null==(n=a.props)?void 0:n.typeAliasInfo)||(a=aM.p5.cloneRemoveTypePromotions(a),a=(0,aX.pw)(a,e.getTupleClassType()));let s=[];if(i.d.args.some(e=>!e.d.name)&&(0,aM.dL)(a)&&(s=await u9(e,a)),!r){if(!(0,aM.dL)(a))return t;let n=a;n.shared.typeParams.length>0&&(n=aM.p5.specialize(n,void 0));let o=aM.p5.cloneAsInstance(n),l=(0,aX.n2)(o);return await e.mapSubtypesExpandTypeVarsAsync(t,{expandCallback:t=>e.expandPromotionTypes(i,t)},async(t,a)=>{if(l&&(0,aM.dL)(t)){var d;let i=null!=(d=t.shared.effectiveMetaclass)?d:aM.vn.create();if((0,aM.dL)(n)&&await e.assignType(n,i))return;return t}if(!(!(0,aM.ah)(t)&&(0,aM.dL)(n)&&aM.p5.isBuiltIn(n,"Callable")&&await e.assignType((0,aX.cA)(),t))){if(!(0,aX.Lj)(t)&&!(0,aM.aE)(t))return a;if(!((0,aX.Lj)(t)&&(0,aM.dL)(n)&&aM.p5.isBuiltIn(n,"NoneType"))){if(!await e.assignType(o,t))return t;if(!((0,aM.aE)(t)&&(0,aX.aw)(t))){if(0===i.d.args.length){if((0,aM.D4)(o)&&(0,aM.D4)(t))return;return t}if(!await e.assignType(t,o)&&(0,aM.D4)(t)&&!aM.p5.isFinal(t)&&!aM.p5.isProtocolClass(o))return t;for(let n=0;n<i.d.args.length;n++){let o=await pr(e,i.d.args[n],n,s,t,r);if(!(0,aM.Pd)(o))return a}}}}})}if(!aM.Ab.isInstantiable(a)&&!(0,aM.Pd)(a))return r?aM.vn.create():t;if((0,aM.dL)(a)){if(aM.p5.isProtocolClass(a)&&!aM.p5.isRuntimeCheckable(a))return r?aM.vn.create():t;else if(aM.p5.isTypedDictClass(a))return r?aM.vn.create():t}return await e.mapSubtypesExpandTypeVarsAsync(a,void 0,async(n,a)=>{if((0,aM.ah)(n))return a;if((0,aM.dL)(n)){let s=(0,aX.gU)(n),o=(0,aX.n2)(s);return await e.mapSubtypesExpandTypeVarsAsync(t,void 0,async t=>{if((0,aM.ah)(t)){if((0,aM.dL)(n)&&aM.p5.isBuiltIn(n,"Callable")){let e=aM.RK.createSynthesizedInstance("",aM.wt.GradualCallableForm);return aM.RK.addDefaultParams(e,(0,aM.t8)(t)),e.shared.declaredReturnType=t,e}return(0,aX.gU)(a)}if(o&&(0,aM.dL)(t)){var s;let i=null!=(s=t.shared.effectiveMetaclass)?s:aM.vn.create();return await e.assignType(n,i)||await e.assignType(i,n)?t:void 0}if((0,aX.Lj)(t)&&(0,aM.dL)(n)&&aM.p5.isBuiltIn(n,"NoneType"))return t;if((0,aM.dL)(n)&&aM.p5.isBuiltIn(n,"Callable")){let i=(0,aX.cA)();if(await e.assignType(i,t))return t;let r=(0,aX.gU)(t);return await e.assignType(r,i)?i:void 0}if((0,aM.aE)(t)){let s;if(await e.assignType(aM.p5.cloneAsInstance(n),t))s=t;else if(!await e.assignType(t,aM.p5.cloneAsInstance(n)))return;else if(s=(0,aX.cH)((0,aX.gU)(a),(0,aX.An)(t)),(0,aM.dL)(a)&&(0,aM.aE)(t)&&(aM.p5.isSpecialBuiltIn(a)||a.shared.typeParams.length>0)){let i=new lN.w,r=aM.p5.specialize(a,void 0),n=aM.p5.cloneAsInstance(r);await dL(e,n,t,i,void 0,void 0)&&(s=await e.solveAndApplyConstraints(n,i,{replaceUnsolved:{scopeIds:(0,aX.SR)(a),tupleClassType:e.getTupleClassType()}}))}let o=[];i.d.args.some(e=>!e.d.name)&&(o=await u9(e,n));let l=!0;if(await lH(i.d.args,async(t,i)=>{let n=await pr(e,t,i,o,s,r);(0,aM.Pd)(n)&&(l=!1)}),l)return s}})}})}function pi(e){if(u3.some(t=>e.shared.fullName===t))return!0;if((0,aX.Zn)(e,"__match_args__"))return!1;for(let t of e.shared.mro)if((0,aM.D4)(t)&&u3.some(e=>t.shared.fullName===e))return!0;return!1}async function pr(e,t,i,r,n,a){let s,o;if(t.d.name?s=t.d.name.d.value:i<r.length&&(s=r[i]),(0,aM.ah)(n))return n;if(!(0,aM.D4)(n))return aM.vn.create();let l=!1,d=n;if(!t.d.name&&(0,aM.D4)(n)&&0===i&&(pi(n)?l=!0:0===r.length&&n.shared.mro.forEach(e=>{(0,aM.D4)(e)&&pi(e)&&(d=e,l=!0)})),l)o=aM.p5.cloneAsInstance(d);else{if(s){var u;o=null==(u=await e.useSpeculativeModeAsync(t,async()=>await e.getTypeOfBoundMember(t,aM.p5.cloneAsInstance(n),s)))?void 0:u.type}if(!o){if(!a)return n;if(aM.p5.isFinal(n))return aM.Xl.createNever();o=aM.vn.create()}}return await u8(e,o,t.d.pattern,a)}async function pn(e,t,i,r){let n=(await e.getTypeOfExpression(i.d.expr)).type,a=[];return await e.mapSubtypesExpandTypeVarsAsync(n,void 0,async(n,s)=>{a.push(await e.mapSubtypesExpandTypeVarsAsync(t,{conditionFilter:(0,aX.An)(n)},async t=>{if(!r){if((0,aM.aE)(t)&&(0,aM.aE)(n)&&(0,aM.np)(t,n)){if(!(0,aX.aw)(t)&&(0,aX.aw)(n)){let i=await uE(e,t);if(i)return(0,aM.Do)(i.filter(e=>!aM.p5.isLiteralValueSame(n,e)))}if((0,aX.aw)(t)&&aM.p5.isLiteralValueSame(n,t))return}return t}return(0,aM.Pd)(n)||(0,aM.Pd)(t)?aM.Xl.createNever():(0,aM.ah)(n)||(0,aM.ah)(t)?(0,aM.t8)(n)||(0,aM.t8)(t)?(0,aX.Xn)(n,t):aM.V.create():(0,aM.aE)(t)&&(0,aX.aw)(t)&&(0,aM.aE)(n)&&(0,aX.aw)(n)?(0,aM.np)(t,n)&&aM.p5.isLiteralValueSame(n,t)?s:void 0:await e.useSpeculativeModeAsync(i.d.expr,async()=>await e.getTypeOfMagicMethodCall(n,"__eq__",[{type:t}],i.d.expr,void 0))?s:void 0}))}),(0,aM.Do)(a)}async function pa(e,t,i){let r=[];return await l1(t,async t=>{let n=e.makeTopLevelTypeVarsConcrete(t);if((0,aM.ah)(n))return void r.push({subtype:t,isDefinitelyMapping:!1,isDefinitelyNotMapping:!1,dictTypeArgs:{key:n,value:n}});if((0,aM.aE)(n)){if(aM.p5.isTypedDictClass(n))return void r.push({subtype:t,isDefinitelyMapping:!0,isDefinitelyNotMapping:!1,typedDict:n});let a=await e.getTypingType(i,"Mapping");if(!a||!(0,aM.dL)(a))return;let s=aM.p5.cloneAsInstance(a),o=new lN.w;if(await e.assignType(s,t,o)){let i=await e.solveAndApplyConstraints(s,o);i.priv.typeArgs&&i.priv.typeArgs.length>=2&&r.push({subtype:t,isDefinitelyMapping:!0,isDefinitelyNotMapping:!1,dictTypeArgs:{key:i.priv.typeArgs[0],value:i.priv.typeArgs[1]}});return}if(await e.assignType(t,s))return void r.push({subtype:t,isDefinitelyMapping:!1,isDefinitelyNotMapping:!1,dictTypeArgs:{key:aM.vn.create(),value:aM.vn.create()}});r.push({subtype:t,isDefinitelyMapping:!1,isDefinitelyNotMapping:!0})}}),r}async function ps(e,t,i){let r=t.d.entries.length,n=t.d.starEntryIndex,a=[];return await l1(i,async i=>{let s,o=e.makeTopLevelTypeVarsConcrete(i);if((0,aM.aE)(o)){for(let e of o.shared.mro){if(!(0,aM.dL)(e))break;if(aM.p5.isBuiltIn(e,"str")||aM.p5.isBuiltIn(e,"bytes")||aM.p5.isBuiltIn(e,"bytearray"))return void a.push({subtype:i,entryTypes:[],isIndeterminateLength:!0,isDefiniteNoMatch:!0});if(aM.p5.isBuiltIn(e,"Sequence")||(0,aX.Bj)(e)){s=e;break}}if(s){let d=(0,aX._T)(s,o,e.getTypeClassType());if(!(0,aX.Bj)(d))return void a.push({subtype:i,entryTypes:[d.priv.typeArgs&&d.priv.typeArgs.length>0?d.priv.typeArgs[0]:aM.vn.create()],isIndeterminateLength:!0,isDefiniteNoMatch:!1});{var l;let s=null!=(l=d.priv.tupleTypeArgs)?l:[{type:aM.vn.create(),isUnbounded:!0}],o=s.findIndex(e=>e.isUnbounded||(0,aM.RN)(e.type)||(0,aM.vS)(e.type)),u=s.length;if(o>=0){for(u--;s.length<r;)s.splice(o,0,s[o]);s.length>r&&void 0===n&&s.splice(o,1)}if(void 0!==n&&s.length>=2&&s.length>r){let e=s.length-r+1,t=s.splice(n,e);s.splice(n,0,{type:(0,aM.Do)(t.map(e=>e.type)),isUnbounded:t.every(e=>e.isUnbounded||(0,aM.RN)(e.type)||(0,aM.vS)(e.type))})}if(s.length===r){let l=!1,d=o>=0;void 0!==n&&o>=0&&t.d.entries.length-1===u&&n===o&&(d=!1);for(let i=0;i<r;i++){let r=t.d.entries[i],n=s[i].type,a=await u8(e,n,r,!0);(0,aM.Pd)(a)&&(l=!0)}a.push({subtype:i,entryTypes:l?[]:s.map(e=>e.type),isIndeterminateLength:!1,isTuple:!0,isUnboundedTuple:o>=0,isDefiniteNoMatch:l,isPotentialNoMatch:d});return}if(void 0!==n){let l=!1;if(s.length===r-1?(l=!0,s.splice(n,0,{type:aM.V.create(),isUnbounded:!0})):s.length===r&&s[n].isUnbounded&&(l=!0),l){let l=!1;for(let i=0;i<r;i++){if(i===n)continue;let r=t.d.entries[i],a=s[i].type,o=await u8(e,a,r,!0);(0,aM.Pd)(o)&&(l=!0)}a.push({subtype:i,entryTypes:l?[]:s.map(e=>e.type),isIndeterminateLength:!1,isTuple:!0,isUnboundedTuple:o>=0,isDefiniteNoMatch:l});return}}}}}if(!s){let r=await e.getTypingType(t,"Sequence");if(r&&(0,aM.dL)(r)){let n=aM.p5.cloneAsInstance(r),s=new lN.w;if(await e.assignType(n,i,s)){let t=await e.solveAndApplyConstraints(n,s);if(t.priv.typeArgs&&t.priv.typeArgs.length>0)return void a.push({subtype:i,entryTypes:[t.priv.typeArgs[0]],isIndeterminateLength:!0,isDefiniteNoMatch:!1,isPotentialNoMatch:!1})}let o=new lN.w;if(await dL(e,aM.p5.cloneAsInstance(r),i,o,(0,aL.Gu)(t),t.start)){let t=await e.solveAndApplyConstraints(aM.p5.cloneAsInstantiable(r),o);if(t.priv.typeArgs&&t.priv.typeArgs.length>0)return void a.push({subtype:i,entryTypes:[t.priv.typeArgs[0]],isIndeterminateLength:!0,isDefiniteNoMatch:!1,isPotentialNoMatch:!0})}if(await e.assignType(i,aM.p5.specialize(aM.p5.cloneAsInstance(r),[aM.vn.create()])))return void a.push({subtype:i,entryTypes:[aM.vn.create()],isIndeterminateLength:!0,isDefiniteNoMatch:!1,isPotentialNoMatch:!0})}}a.push({subtype:i,entryTypes:[],isIndeterminateLength:!0,isDefiniteNoMatch:!0})}),a}async function po(e,t,i,r,n,a,s){if(i.isIndeterminateLength){let n=i.entryTypes[0];return s||r!==a||(0,aM.Pd)(n)||(n=await pd(e,t,n)),n}if(void 0===a||r<a)return i.entryTypes[r];if(r===a){let r=i.entryTypes.slice(a,a+i.entryTypes.length-n+1).map(t=>(0,aM.wh)(t)&&!t.priv.isInUnion?aM.vn.create():e.stripLiteralValue(t)),o=(0,aM.Do)(r);return s||(o=await pd(e,t,o)),o}let o=i.entryTypes.length-(n-r);return(0,n6.vA)(o>=0&&o<i.entryTypes.length),i.entryTypes[o]}async function pl(e,t,i,r){let n=await u8(e,t,r,!0);switch(r.nodeType){case aO.ye.PatternSequence:{let t=(await ps(e,r,n)).filter(e=>!e.isDefiniteNoMatch);await lH(r.d.entries,async(n,a)=>{let s=(0,aM.Do)(await lJ(t,async t=>await po(e,r,t,a,r.d.entries.length,r.d.starEntryIndex,!1)));await pl(e,s,i,n)});break}case aO.ye.PatternAs:{r.d.target&&await e.assignTypeToExpression(r.d.target,{type:n,isIncomplete:i},r.d.target);let t=n;await lH(r.d.orPatterns,async r=>{await pl(e,t,i,r),t=await u8(e,t,r,!1)});break}case aO.ye.PatternCapture:r.d.isWildcard||await e.assignTypeToExpression(r.d.target,{type:n,isIncomplete:i},r.d.target);break;case aO.ye.PatternMapping:{let t=await pa(e,n,r);await lH(r.d.entries,async n=>{let a=[],s=[];await lH(t,async t=>{if(t.typedDict)if(n.nodeType===aO.ye.PatternMappingKeyEntry){let i=await u8(e,await e.getBuiltInObject(r,"str"),n.d.keyPattern,!0);a.push(i),await l1(i,async i=>{if((0,aM.aE)(i)&&aM.p5.isBuiltIn(i,"str")&&(0,aX.aw)(i)){let r=(await dn(e,t.typedDict)).knownItems.get(i.priv.literalValue);s.push(r?r.valueType:aM.vn.create())}else s.push(aM.vn.create())})}else n.nodeType===aO.ye.PatternMappingExpandEntry&&(a.push(await e.getBuiltInObject(r,"str")),s.push(e.getObjectType()));else if(t.dictTypeArgs)if(n.nodeType===aO.ye.PatternMappingKeyEntry){let i=await u8(e,t.dictTypeArgs.key,n.d.keyPattern,!0);a.push(i),s.push(await u8(e,t.dictTypeArgs.value,n.d.valuePattern,!0))}else n.nodeType===aO.ye.PatternMappingExpandEntry&&(a.push(t.dictTypeArgs.key),s.push(t.dictTypeArgs.value))});let o=(0,aM.Do)(a),l=(0,aM.Do)(s);if(n.nodeType===aO.ye.PatternMappingKeyEntry)await pl(e,o,i,n.d.keyPattern),await pl(e,l,i,n.d.valuePattern);else if(n.nodeType===aO.ye.PatternMappingExpandEntry){let t=await e.getBuiltInType(r,"dict"),a=await e.getBuiltInObject(r,"str"),s=t&&(0,aM.dL)(t)&&(0,aM.aE)(a)?aM.p5.cloneAsInstance(aM.p5.specialize(t,[o,l])):aM.vn.create();await e.assignTypeToExpression(n.d.target,{type:s,isIncomplete:i},n.d.target)}});break}case aO.ye.PatternClass:{let t=r.d.args.map(e=>[]);await e.mapSubtypesExpandTypeVarsAsync(n,void 0,async i=>{(0,aM.aE)(i)?await l1(n,async n=>{let a=e.makeTopLevelTypeVarsConcrete(n);if((0,aM.ah)(a))r.d.args.forEach((e,i)=>{t[i].push(a)});else if((0,aM.aE)(a)){let n=[];await lY(r.d.args,async e=>!e.d.name)&&(n=await u9(e,aM.p5.cloneAsInstantiable(i))),await lH(r.d.args,async(r,a)=>{let s=await pr(e,r,a,n,aM.p5.cloneAsInstantiable(i),!0);t[a].push(s)})}}):r.d.args.forEach((e,i)=>{t[i].push(aM.vn.create())})}),await lH(r.d.args,async(r,n)=>{await pl(e,(0,aM.Do)(t[n]),i,r.d.pattern)})}case aO.ye.PatternLiteral:case aO.ye.PatternValue:case aO.ye.Error:}return n}async function pd(e,t,i){if((0,aM.Pd)(i))return i;let r=(0,aX.gU)(await e.getBuiltInObject(t,"list"));if(r&&(0,aM.aE)(r)){var n;return i=null!=(n=(0,aX.TS)(i,!1))?n:i,aM.p5.specialize(r,[i])}return aM.vn.create()}let pu=[];async function pp(e,t,i,r,n,a){(0,n6.vA)((0,aM.dL)(t)&&aM.p5.isProtocolClass(t)),void 0!==i.priv.literalValue&&(i=e.stripLiteralValue(i));let s=(n&lO.fW.Invariant)!=0;if(pu.some(e=>(0,aM.J5)(e.srcType,i)&&(0,aM.J5)(e.destType,t)))return!s;let o=function(e,t,i,r){let n=t.shared.protocolCompatibility;if(!n)return;let a=pc(e),s=n.get(a);if(void 0!==s){for(let n of s)if(n.flags===i){var o;if(void 0===n.srcType){if(aM.p5.isSameGenericClass(n.destType,e))return n;continue}if((0,aM.J5)(n.destType,e,{honorIsTypeArgExplicit:!0,honorTypeForm:!0})&&(0,aM.J5)(n.srcType,t,{honorIsTypeArgExplicit:!0,honorTypeForm:!0})&&(o=n.preConstraints,r&&o?r.isSame(o):r===o))return n}}}(t,i,n,r);if(void 0!==o&&o.isCompatible)return o.postConstraints&&(null==r||r.copyFromClone(o.postConstraints)),!0;pu.push({srcType:i,destType:t});let l=!0,d=null==r?void 0:r.clone();try{l=await pm(e,t,i,r,n,a)}catch(e){throw pu.pop(),e}return pu.pop(),o||await ph(e,t,i,n,d,null==r?void 0:r.clone(),l,a),l}function pc(e){return`${e.shared.fullName}.${e.shared.typeSourceId}`}async function ph(e,t,i,r,n,a,s,o){let l=i.shared.protocolCompatibility;l||(l=new Map,i.shared.protocolCompatibility=l);let d=pc(t),u=l.get(d);u||(u=[],l.set(d,u));let p=!1;if(!s&&!u.some(e=>e.flags===r&&aM.p5.isSameGenericClass(e.destType,t))){let n=(0,aX.kd)(t)?(0,aX.kT)(t,{overrideTypeArgs:!0}):t,a=(0,aX.kd)(i)?(0,aX.kT)(i,{overrideTypeArgs:!0}):i;await pm(e,n,a,void 0,r,o)||(p=!0)}let c={destType:t,srcType:p?void 0:i,flags:r,preConstraints:n,postConstraints:a,isCompatible:s};u.push(c),u.length>64&&u.shift()}async function pm(e,t,i,r,n,a){let s;if((n&lO.fW.Invariant)!=0)return(0,aM.J5)(t,i);await e.inferVarianceForClass(t);let o=(0,aM.D4)(i)&&aM.Ab.isInstantiable(i),l=await py(e,t,r),d=new dA.z;if((0,aM.D4)(i)){var u,p;let e=null==(p=i.props)||null==(u=p.condition)?void 0:u.find(e=>aM.Kn.isSelf(e.typeVar));e?(s=(0,aX.du)(aM.Ab.cloneForCondition(i,void 0),!1),aM.Kn.isBound(e.typeVar)&&(s=aM.Kn.cloneAsBound(s))):s=i,(0,aX.WK)(d,t,s)}if((0,aM.D4)(i)&&aM.p5.isTypedDictClass(i)){let t=e.getTypedDictClassType();t&&(0,aM.dL)(t)&&(i=t)}let c=!0,h=new Set,m=n&(lO.fW.OverloadOverlap|lO.fW.PartialOverloadOverlap);if(m|=(0,aX.th)(i,!0)?lO.fW.RetainLiteralsForTypeVar:lO.fW.Default,await lH(t.shared.mro,async r=>{(0,aM.dL)(r)&&aM.p5.isProtocolClass(r)&&c&&await lH(await l9(r),async(n,u)=>{var p;let y,g,f;if(!c||!n.isClassMember()||n.isIgnoredForProtocolMatch()||h.has(u))return;let v=!1;if(!o&&"__class_getitem__"===u||"__slots__"===u)return;h.add(u);let _=null==(p=await e.getDeclaredTypeOfSymbol(n))?void 0:p.type;if(!_)return;let T=!1,w=!1;if((0,aM.D4)(i)){if(o&&i.shared.effectiveMetaclass&&(0,aM.dL)(i.shared.effectiveMetaclass)&&(y=(0,aX.Zn)(i.shared.effectiveMetaclass,u))&&(v=!0),y||(y=(0,aX.Zn)(i,u)),!y){c=!1;return}if(g=y.symbol,aM.p5.isSameGenericClass(r,t)||(_=(0,aX._T)(_,r,e.getTypeClassType(),s)),(0,aM.dL)(y.classType)){let t=await e.getEffectiveTypeOfSymbol(y.symbol);(0,aM.Tn)(t)&&await e.inferReturnTypeIfNecessary(t),f=(0,aX._T)(t,y.classType,e.getTypeClassType(),s)}else f=aM.vn.create();if((0,aM.BL)(f)&&(v||(0,aM.dL)(y.classType))){let t=!y.symbol.isClassMember();if(aM.p5.isDataClass(i)&&(await l7(i)).some(e=>e.name===u)&&(t=!0),v&&(t=!1),!t){let t=await e.bindFunctionToClassOrObject(o&&!v?i:aM.p5.cloneAsInstance(i),f,v?void 0:y.classType,void 0,v?i:s,a);if(t)f=t;else{c=!1;return}}}y.isReadOnly&&(T=!0)}else{if(!(g=i.priv.fields.get(u))){c=!1;return}f=await e.getEffectiveTypeOfSymbol(g)}if(_=(0,aX.i0)(_,d),!n.isInstanceMember()&&(0,aM.BL)(_)){let r;if(w=!0,(0,aM.D4)(i)?((0,n6.vA)(y),(v||(0,aM.dL)(y.classType))&&(r=await e.bindFunctionToClassOrObject(aM.p5.cloneAsInstance(i),_,v?void 0:y.classType,void 0,v?i:s,a))):r=await e.bindFunctionToClassOrObject(aM.p5.cloneAsInstance(t),_,t,void 0,void 0,a),r)_=r=(0,aX.xB)(r);else{c=!1;return}}let b=n.getTypedDeclarations().some(e=>e.type===aF.h3.Variable&&!!e.isFinal);if(g.getTypedDeclarations().some(e=>e.type===aF.h3.Variable&&!!e.isFinal)&&(T=!0),b&&(w=!0),(0,aM.aE)(_)&&aM.p5.isPropertyClass(_))if((0,aM.aE)(f)&&aM.p5.isPropertyClass(f)&&!o)await uw(e,aM.p5.cloneAsInstantiable(_),aM.p5.cloneAsInstantiable(f),r,i,l,d,a)||(c=!1);else{let t=await e.getGetterTypeFromProperty(_);t&&(t=(0,aX._T)(t,r,e.getTypeClassType())),t&&await e.assignType(t,f,l,m,a)||(c=!1),(0,aX.Zn)(_,"__set__",aX.Mh.SkipInstanceMembers)||(0,aX.Zn)(_,"__delete__",aX.Mh.SkipInstanceMembers)||(w=!0),T&&!w&&(c=!1)}else{let t=n.getDeclarations()[0],i=(null==t?void 0:t.type)===aF.h3.Variable&&!t.isFinal,r=l.clone();await e.assignType(_,f,r,i?m|lO.fW.Invariant:m,a)?l.copyFromClone(r):c=!1}!w&&T&&(c=!1);let S=(0,o0.Qv)(n,!1),k=(0,o0.Qv)(g,(0,aM.D4)(i)&&aM.p5.isDataClass(i)),I=g.getDeclarations().some(e=>e.type===aF.h3.Variable);o?S?c=!1:!I||k||v||(c=!1):S!==k&&(c=!1);let C=(0,o0.IE)(n),P=(0,o0.IE)(g);if((null==C?void 0:C.type)===aF.h3.Variable&&(null==P?void 0:P.type)===aF.h3.Variable){let e=!!C.isConstant||!!C.isFinal,t=!!P.isConstant;y&&(0,aM.D4)(y.classType)&&y.isReadOnly&&(t=!0),!e&&t&&(c=!1)}})}),c&&t.shared.typeParams.length>0){let i=aM.p5.specialize(t,void 0),s=await e.solveAndApplyConstraints(i,l);if(t.priv.typeArgs)await e.assignTypeArgs(t,s,r,n,a)||(c=!1);else if(r)for(let e of t.shared.typeParams){let t=l.getMainConstraintSet().getTypeVar(e);t&&r.copyBounds(t)}}return c}async function py(e,t,i){let r=new lN.w;return await lH(t.shared.typeParams,async(n,a)=>{let s=null==i?void 0:i.getMainConstraintSet().getTypeVar(n);if(s)r.copyBounds(s);else if(t.priv.typeArgs&&a<t.priv.typeArgs.length){let s,o=t.priv.typeArgs[a],l=(0,aX.QL)(o);if(l&&i)o=await e.solveAndApplyConstraints(o,i,void 0,{useLowerBoundOnly:!0}),s=lO.fW.Default,l=(0,aX.QL)(o);else{s=lO.fW.PopulateExpectedType;let e=aM.Kn.getVariance(n);e===aM.id.Invariant?s|=lO.fW.Invariant:e===aM.id.Contravariant&&(s|=lO.fW.Contravariant)}l||await dM(e,n,o,r,s)}}),r}function pg(e,t,i=!1){let r=e.getTupleClassType();return r&&(0,aM.dL)(r)?(0,aX.gU)((0,aX.K4)(r,t,!0,i)):aM.vn.create()}async function pf(e,t,i,r){var n;if((i&lO.WB.TypeExpression)!=0&&(null==(n=t.parent)?void 0:n.nodeType)!==aO.ye.Argument)return{type:aM.vn.create()};if((i&lO.WB.InstantiableType)!=0&&0===t.d.items.length&&!r)return{type:pg(e,[]),isEmptyTupleShorthand:!0};i&=~(lO.WB.TypeExpression|lO.WB.StrLiteralAsType|lO.WB.InstantiableType);let a=null==r?void 0:r.expectedType,s=r&&(0,aM.f7)(r.expectedType);if(r&&(0,aM.mi)(r.expectedType)){let n;await l1(r.expectedType,async r=>{if((0,aM.f7)(r)&&(s=!0),!n){let a=await e.useSpeculativeModeAsync(t,()=>pv(e,t,i,(0,aX.lq)(r)));a&&await e.assignType(r,a.type)&&(n=r)}},!0),a=n}if(a){let r=await pv(e,t,i,(0,aX.lq)(a));if(r&&!r.typeErrors)return r}let o=await p_(e,t,i);return s&&(o.type=aM.V.create()),{...o}}async function pv(e,t,i,r){if(r.expectedType=(0,aX.In)(r.expectedType),!(0,aM.aE)(r.expectedType))return;let n=e.getTupleClassType();if(!n||!(0,aM.dL)(n))return;let a=[];if((0,aX.Bj)(r.expectedType)&&r.expectedType.priv.tupleTypeArgs){a=r.expectedType.priv.tupleTypeArgs.map(e=>(0,aX.In)(e.type));let e=r.expectedType.priv.tupleTypeArgs.findIndex(e=>e.isUnbounded);if(e>=0)if(a.length>t.d.items.length)a.splice(e,1);else for(;a.length<t.d.items.length;)a.splice(e,0,a[e])}else{let i=new lN.w;if(!await dL(e,aM.p5.cloneAsInstance(n),r.expectedType,i,(0,aL.Gu)(t),t.start))return;let s=await e.solveAndApplyConstraints(n,i);if(!s.priv.typeArgs||1!==s.priv.typeArgs.length)return;let o=(0,aX.In)(s.priv.typeArgs[0]);for(let e=0;e<t.d.items.length;e++)a.push(o)}let s=await lJ(t.d.items,(t,n)=>e.getTypeOfExpression(t,i|lO.WB.StripTupleLiterals,(0,aX.lq)(n<a.length?a[n]:void 0,r.isTypeIncomplete))),o=s.some(e=>e.isIncomplete);return{type:t.d.items.length>256&&s.some(e=>e.typeErrors)?pg(e,[{type:aM.vn.create(),isUnbounded:!0}]):pg(e,e.buildTupleTypesList(s,!1,!1)),isIncomplete:o}}async function p_(e,t,i){let r=await lJ(t.d.items,t=>e.getTypeOfExpression(t,i|lO.WB.StripTupleLiterals)),n=r.some(e=>e.isIncomplete);if(t.d.items.length>256)return{type:pg(e,[{type:aM.vn.create(),isUnbounded:!0}])};let a=pg(e,e.buildTupleTypesList(r,(i&lO.WB.StripTupleLiterals)!=0,!0));return n&&(0,aX.Vt)(a)>8?{type:aM.vn.create()}:{type:a,isIncomplete:n}}async function pT(e,t,i,r,n,a){var s,o;let l=[...null!=(s=t.priv.tupleTypeArgs)?s:[]],d=[...null!=(o=i.priv.tupleTypeArgs)?o:[]];if(!function(e,t,i,r){let n=t.findIndex(e=>e.isUnbounded||(0,aM.RN)(e.type)||(0,aM.vS)(e.type)),a=i.findIndex(e=>e.isUnbounded),s=i.findIndex(e=>(0,aM.RN)(e.type)||(0,aM.vS)(e.type));if(a>=0){if((0,aM.ah)(i[a].type)){let e=i.length>0?i[a].type:aM.V.create();for(;i.length<t.length;)i.splice(a,0,{type:e,isUnbounded:!0});i.length>t.length&&i.splice(a,1)}else if(n<0)return!1}if(n>=0&&t[n].isUnbounded&&(0,aM.ah)(t[n].type))for(;t.length<i.length;)t.splice(n,0,t[n]);for(;i.length>t.length&&i[i.length-1].isOptional;)i.splice(i.length-1,1);for(;t.length>i.length&&t[t.length-1].isOptional;)t.splice(t.length-1,1);let o=i.length-t.length+1,l=!1;if((r&lO.fW.Contravariant)!=0){let r=t.length-i.length+1;if(s>=0&&r>=0){let i=1===r&&(0,aM.wh)(t[s].type),n=e.getTupleClassType();if(!i&&n&&(0,aM.dL)(n)){let e=t.splice(s,r),i=aM.p5.cloneAsInstance((0,aX.K4)(n,e.map(e=>({type:e.type,isUnbounded:e.isUnbounded,isOptional:e.isOptional})),!0,!0));t.splice(s,0,{type:i,isUnbounded:!1})}l=!0}}else if(n>=0&&o>=0&&(0,aM.wh)(t[n].type)){let t=e.getTupleClassType();if(t&&(0,aM.dL)(t)){let e,r=i.splice(n,o);e=1===r.length&&(0,aM.RN)(r[0].type)?r[0].type:aM.p5.cloneAsInstance((0,aX.K4)(t,r.map(e=>({type:e.type,isUnbounded:e.isUnbounded,isOptional:e.isOptional})),!0,!0)),i.splice(n,0,{type:e,isUnbounded:!1})}l=!0}if(!l&&n>=0&&o>=0&&(a<0||a>=n&&a<n+o)){let e=i.splice(n,o).map(e=>(0,aM.CP)(e.type)&&(0,aM.RN)(e.type)?aM.Kn.cloneForUnpacked(e.type,!0):e.type);i.splice(n,0,{type:e.length>0?(0,aM.Do)(e):aM.V.create(),isUnbounded:!1})}return t.length===i.length}(e,l,d,n))return!1;for(let t=0;t<d.length;t++){let i=l[t].type,s=d[t].type;if((0,aM.wh)(i)&&i.priv.isUnpacked&&!i.priv.isInUnion&&(0,aX.zU)(s))break;if(!await e.assignType(i,s,r,n,a))return!1}return!0}async function pw(e,t,i){if(i.d.stepValue||!t.priv.tupleTypeArgs)return;let r=t.priv.tupleTypeArgs,n=await pb(e,i.d.startValue,0,r),a=await pb(e,i.d.endValue,r.length,r);if(void 0===n||void 0===a||a<n)return;let s=r.slice(n,a);return aM.p5.cloneAsInstance((0,aX.K4)(t,s))}async function pb(e,t,i,r){let n=i;if(t){let i=(await e.getTypeOfExpression(t)).type;if(!(0,aM.aE)(i)||!aM.p5.isBuiltIn(i,"int")||!(0,aX.aw)(i))return;n=i.priv.literalValue;let a=r.findIndex(e=>e.isUnbounded||(0,aM.wh)(e.type));if(n<0){if(n=r.length+n,a>=0&&n<=a)return;if(n<0)return 0}else if(a>=0&&n>a)return;else if(n>r.length)return r.length}return n}var pS=i(94574);function pk(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}async function pI(e,t,i){let r=new pL(t,i);return await r.build(e),await pA(e,t,i,r,[],0)}async function pC(e,t,i){let r=new pL(t,i);return await r.build(e),await pN(e,t,i,r,[],0)}function pP(e){return"string"==typeof e.priv.literalValue&&e.priv.literalValue.length>50}function px(e){return"bytes"===e.shared.name?"bytes":((0,n6.vA)("str"===e.shared.name),"LiteralString")}function pF(e,t="'"){let i,r=e.priv.literalValue;if(void 0===r)return"";if("string"==typeof r){let n=r;r.length>50&&(n=r.substring(0,50)+"…"),i="bytes"===e.shared.name?(0,pS.w)(n):(0,pS.q)(n,t)}else"boolean"==typeof r?i=r?"True":"False":r instanceof aM.RR?i=`${r.className}.${r.itemName}`:"bigint"==typeof r?(i=r.toString()).endsWith("n")&&(i=i.substring(0,i.length-1)):i=r.toString();return i}async function pA(e,t,i,r,n,a){var s,o,l,d,u;if(a>aM.Wn)return t&dP.X8.PythonSyntax?"Any":"<Recursive>";a++;let p=t,c=(t&dP.X8.ParenthesizeUnion)!=0;t&=~(dP.X8.ParenthesizeUnion|dP.X8.ParenthesizeCallable);let h=null==(s=e.props)?void 0:s.typeAliasInfo;if(h){let s=!0;if((t&dP.X8.ExpandTypeAlias)==0?s=!1:n.find(t=>t===e)&&(s=!1),!s)try{n.push(e);let s=(t&dP.X8.UseFullyQualifiedNames)!=0?h.shared.fullName:h.shared.name;r.isUnique(s)||(s=h.shared.fullName);let o=h.shared.typeParams;if(o&&o.length>0){let e;h.typeArgs?((t&dP.X8.OmitTypeArgsIfUnknown)==0||h.typeArgs.some(e=>!(0,aM.t8)(e)))&&(e=[],await lH(h.typeArgs,async(s,l)=>{let d=l<o.length?o[l]:o[o.length-1];(0,aM.wh)(d)&&(0,aM.aE)(s)&&(0,aX.Bj)(s)&&s.priv.tupleTypeArgs&&s.priv.tupleTypeArgs.every(e=>!e.isUnbounded)?await lH(s.priv.tupleTypeArgs,async s=>{e.push(await pA(s.type,t,i,r,n,a))}):e.push(await pA(s,t,i,r,n,a))})):((t&dP.X8.OmitTypeArgsIfUnknown)==0||o.some(e=>!(0,aM.t8)(e)))&&(e=[],await lH(o,async s=>{e.push(await pA(s,t,i,r,n,a))})),e&&(0===e.length?s+="[()]":s+=`[${e.join(", ")}]`)}if(e.category!==aM.vb.TypeVar)return s}finally{n.pop()}}if(n.find(t=>{var i;return t===e||!!(null==(i=t.props)?void 0:i.typeAliasInfo)&&t.props.typeAliasInfo.shared.fullName===(null==h?void 0:h.shared.fullName)})||n.length>aM.Wn){if((0,aM.CP)(e)&&e.shared.isSynthesized&&e.shared.recursiveAlias)return e.shared.recursiveAlias.name;if(h){if(!h.shared.typeParams){let e=(t&dP.X8.UseFullyQualifiedNames)!=0?h.shared.fullName:h.shared.name;return r.isUnique(e)||(e=h.shared.fullName),e}try{return n.push(e),await pA(e,t&~dP.X8.ExpandTypeAlias,i,r,n,a)}finally{n.pop()}}return"..."}try{n.push(e);let s=(t&(dP.X8.OmitConditionalConstraint|dP.X8.PythonSyntax))==0,h=e=>{var t;return(null==(t=e.props)?void 0:t.condition)&&s?"*":""},m=(e,t)=>`${pO(e,t)}${h(e)}`;switch(e.category){case aM.vb.Unbound:if(t&dP.X8.PythonSyntax)return"Any";return"Unbound";case aM.vb.Unknown:if(t&(dP.X8.PythonSyntax|dP.X8.PrintUnknownWithAny))return"Any";return"Unknown";case aM.vb.Module:if(t&dP.X8.PythonSyntax)return"Any";return`Module("${e.priv.moduleName}")`;case aM.vb.Class:if(aM.Ab.isInstance(e)){if(void 0!==e.priv.literalValue)if(pP(e)&&(t&dP.X8.PythonSyntax)!=0)return px(e);else if(e.priv.literalValue instanceof aM._W)return e.priv.literalValue.className;else return`Literal[${pF(e)}]`;return`${await pR(e,t,i,r,n,a)}${h(e)}`}{let s;if(void 0!==e.priv.literalValue){if(pP(e)&&(t&dP.X8.PythonSyntax)!=0)s=px(e);else{if(e.priv.literalValue instanceof aM._W)return e.priv.literalValue.className;s=`Literal[${pF(e)}]`}return m(e,s)}if(null==(o=e.props)?void 0:o.specialForm)return await pA(e.props.specialForm,t,i,r,n,a);return s=await pR(e,t,i,r,n,a),m(e,s)}case aM.vb.Function:if(aM.Ab.isInstantiable(e)){let s=pE(aM.RK.cloneAsInstance(e),t,i,r,n,a);return`type[${s}]`}return await pE(e,p,i,r,n,a);case aM.vb.Overloaded:{let s=await lJ(aM.OF.getOverloads(e),e=>pA(e,t,i,r,n,a));if((t&dP.X8.PythonSyntax)!=0)return"Callable[..., Any]";if(1===s.length)return s[0];return`Overload[${s.join(", ")}]`}case aM.vb.Union:{if(aM.Ab.isInstantiable(e)&&(null==(l=e.props)?void 0:l.specialForm)&&!(null==(d=e.props)?void 0:d.typeAliasInfo))return await pA(e.props.specialForm,t,i,r,n,a);let s=t&dP.X8.PEP604?t|dP.X8.ParenthesizeCallable:t;return await pD(e,s,c,i,r,n,a)}case aM.vb.TypeVar:{if(e.shared.isSynthesized){if(e.shared.recursiveAlias){if((t&dP.X8.ExpandTypeAlias)!=0&&e.shared.boundType)return await pA(aM.Ab.isInstance(e)?(0,aX.gU)(e.shared.boundType):e.shared.boundType,t,i,r,n,a);return e.shared.recursiveAlias.name}if(aM.Kn.isSelf(e)&&e.shared.boundType){let s=await pA(e.shared.boundType,t&~dP.X8.ExpandTypeAlias,i,r,n,a);if((0,aM.ah)(e.shared.boundType)||(s=(t&dP.X8.PythonSyntax)==0&&(t&dP.X8.OmitTypeVarScope)==0?`Self@${s}`:"Self"),aM.Ab.isInstantiable(e))return`${pO(e,s)}`;return s}return(t&(dP.X8.PrintUnknownWithAny|dP.X8.PythonSyntax))!=0?"Any":"Unknown"}if((0,aM.Bo)(e)){let i=pU(e,(t&dP.X8.PythonSyntax)==0&&(t&dP.X8.OmitTypeVarScope)==0);if(e.priv.paramSpecAccess)return`${i}.${e.priv.paramSpecAccess}`;return i}let s=pU(e,(t&dP.X8.PythonSyntax)==0&&(t&dP.X8.OmitTypeVarScope)==0);if(e.priv.isUnpacked&&(s=pM(s,t)),(0,aM.wh)(e)&&e.priv.isInUnion&&(s=`Union[${s}]`),aM.Ab.isInstantiable(e)&&(s=`${pO(e,s)}`),!(0,aM.wh)(e)&&(t&dP.X8.PrintTypeVarVariance)!=0){let t,i=(t=null!=(u=e.priv.computedVariance)?u:e.shared.declaredVariance)===aM.id.Invariant?"invariant":t===aM.id.Covariant?"covariant":t===aM.id.Contravariant?"contravariant":"";i&&(s=`${s} (${i})`)}return s}case aM.vb.Never:return e.priv.isNoReturn?"NoReturn":"Never";case aM.vb.Any:return e.priv.isEllipsis?"...":"Any"}return""}finally{n.pop()}}async function pD(e,t,i,r,n,a,s){let o=new Set,l=new Set;if((t&dP.X8.ExpandTypeAlias)==0&&e.priv.typeAliasSources)for(let i of e.priv.typeAliasSources){let d=!0,u=!0,p=new Set;for(let t of i.priv.subtypes){let i=0,r=!1,n=(0,aX.gU)(t);for(let t of e.priv.subtypes){if((0,aM.J5)(n,t)){o.has(i)||(u=!1),p.add(i),r=!0;break}i++}if(!r){d=!1;break}}d&&!u&&(l.add(await pA(i,t,r,n,a,s)),p.forEach(e=>o.add(e)))}let d=e.priv.subtypes.findIndex(e=>(0,aX.Lj)(e));if(d>=0&&!o.has(d)){let o=(0,aX.Wt)(e);if((0,aM.Pd)(o))return"None";let l=await pA(o,t,r,n,a,s);if(t&dP.X8.PEP604){let e=l+" | None";return i?`(${e})`:e}return"Optional["+l+"]"}let u=new Set,p=new Set;await l1(e,async(e,i)=>{o.has(i)||((0,aM.aE)(e)&&void 0!==e.priv.literalValue&&!(0,aX.Id)(e)?pP(e)&&(t&dP.X8.PythonSyntax)!=0?l.add(px(e)):u.add(pF(e)):(0,aM.dL)(e)&&void 0!==e.priv.literalValue&&!(0,aX.Id)(e)?pP(e)&&(t&dP.X8.PythonSyntax)!=0?l.add(`type[${px(e)}]`):p.add(pF(e)):l.add(await pA(e,t,r,n,a,s)))});let c=[];if(l.forEach(e=>c.push(e)),u.size>0){let e=[];u.forEach(t=>e.push(t)),c.push(`Literal[${e.join(", ")}]`)}if(p.size>0){let e=[];p.forEach(t=>e.push(t)),c.push(`type[Literal[${e.join(", ")}]]`)}if(1===c.length)return c[0];if(t&dP.X8.PEP604){let e=c.join(" | ");return i?`(${e})`:e}return`Union[${c.join(", ")}]`}async function pE(e,t,i,r,n,a){if(t&dP.X8.PythonSyntax){let s=aM.RK.getParamSpecFromArgsKwargs(e),o=s?aM.RK.cloneRemoveParamSpecArgsKwargs(e):e,l=!1;0===o.shared.parameters.length?l=!0:o.shared.parameters.every(e=>e.category===aO.OP.Simple)&&(o.shared.parameters[o.shared.parameters.length-1].name||(l=!0));let d=await i(o),u="Any";if(d&&(u=await pA(d,t,i,r,n,a)),!l)return`Callable[..., ${u}]`;{let e=[];return(await lH(o.shared.parameters,async(s,l)=>{if(s.name){let s=aM.RK.getParamType(o,l);n.length<aM.Wn?e.push(await pA(s,t,i,r,n,a)):e.push("Any")}}),s)?e.length>0?`Callable[Concatenate[${e.join(", ")}, ${s.shared.name}], ${u}]`:`Callable[${s.shared.name}, ${u}]`:`Callable[[${e.join(", ")}], ${u}]`}}{let s=await pN(e,t,i,r,n,a),o=`(${s[0].join(", ")})`;if(aM.RK.isParamSpecValue(e))return 1===s[0].length&&"..."===s[0][0]?s[0][0]:o;let l=`${o} -> ${s[1]}`;return(t&dP.X8.ParenthesizeCallable)!=0?`(${l})`:l}}async function pR(e,t,i,r,n,a){let s=e.priv.aliasName;if(s||(s=(t&dP.X8.UseFullyQualifiedNames)!=0?e.shared.fullName:e.shared.name),aM.p5.isBuiltIn(e,"NoneType")&&(s="None"),r.isUnique(s)||(s=e.shared.fullName),!aM.p5.isPseudoGenericClass(e)){var o,l;let d=aM.p5.getTypeParams(e),u=d.length>0?d[d.length-1]:void 0,p=!!u&&(0,aM.wh)(u),c=null!=(o=e.priv.tupleTypeArgs)?o:null==(l=e.priv.typeArgs)?void 0:l.map(e=>({type:e,isUnbounded:!1}));if(c)if(c.length>0){let o=[],l=!0;await lH(c,async(e,s)=>{let u=s<d.length?d[s]:void 0;if(u&&(0,aM.wh)(u)&&(0,aM.aE)(e.type)&&aM.p5.isBuiltIn(e.type,"tuple")&&e.type.priv.tupleTypeArgs)0===e.type.priv.tupleTypeArgs.length?((0,aM.t8)(e.type)||(l=!1),0===s&&o.push(pM("tuple[()]",t))):(0,ap.af)(o,await lJ(e.type.priv.tupleTypeArgs,async e=>{(0,aM.t8)(e.type)||(l=!1);let s=await pA(e.type,t,i,r,n,a);return e.isUnbounded?pM(`tuple[${s}, ...]`,t):s}));else{(0,aM.t8)(e.type)||(l=!1);let s=await pA(e.type,t,i,r,n,a);e.isUnbounded?1===c.length?o.push(s,"..."):o.push(pM(`tuple[${s}, ...]`,t)):o.push(s)}}),e.priv.isUnpacked&&(s=pM(s,t)),(t&dP.X8.OmitTypeArgsIfUnknown)!=0&&l||(s+="["+o.join(", ")+"]")}else e.priv.isUnpacked&&(s=pM(s,t)),(aM.p5.isTupleClass(e)||p)&&(s+="[()]");else e.priv.isUnpacked&&(s=pM(s,t)),d.length>0&&((t&dP.X8.OmitTypeArgsIfUnknown)==0||d.some(e=>!(0,aM.t8)(e)))&&(s+="["+(await lJ(d,e=>pA(e,t,i,r,n,a))).join(", ")+"]")}return e.priv.isTypedDictPartial&&(t&dP.X8.PythonSyntax)==0&&(s=`Partial[${s}]`),s}async function pN(e,t,i,r,n,a){let s=[],o=!1,l=aM.RK.getParamSpecFromArgsKwargs(e);l&&(e=aM.RK.cloneRemoveParamSpecArgsKwargs(e)),await lH(e.shared.parameters,async(l,d)=>{let u=aM.RK.getParamType(e,d),p=aM.RK.getParamDefaultType(e,d);if(d===e.shared.parameters.length-1&&l.category===aO.OP.ArgsList&&(0,aM.wh)(u)){let o=aM.RK.getParamType(e,d);if((0,aM.aE)(o)&&aM.p5.isBuiltIn(o,"tuple")&&o.priv.tupleTypeArgs)return void await lH(o.priv.tupleTypeArgs,async e=>{let o=await pA(e.type,t,i,r,n,a);s.push(o)})}if((0,dD.M9)(l,u)&&t&dP.X8.ExpandTypedDictArgs&&u.category===aM.vb.Class)return void await lH(u.shared.typedDictEntries.knownItems,async(e,o)=>{let l=await pA(e.valueType,t,i,r,n,a);s.push(`${o}: ${l}`)});let c="";l.category===aO.OP.ArgsList?l.name&&aM.gk.isNameSynthesized(l)||(c+="*"):l.category===aO.OP.KwargsDict&&(c+="**");let h=!1;l.name&&!aM.gk.isNameSynthesized(l)?(c+=l.name,o=!0,h=!0):t&dP.X8.PythonSyntax&&(c+=`__p${d}`,o=!0,h=!0);let m="=",y=!1;if(l.name)if(aM.gk.isTypeDeclared(l)||aM.gk.isTypeInferred(l)){let s=aM.RK.getParamType(e,d),o=n.length<aM.Wn?await pA(s,t,i,r,n,a):"";h?c+=": ":l.category!==aO.OP.ArgsList||(0,aM.q5)(s)||(c+="*"),l.category===aO.OP.KwargsDict&&(0,aM.q5)(s)&&(o=t&dP.X8.PythonSyntax?`Unpack[${o.substring(1)}]`:"*"+o),c+=o,(0,aM.Bo)(s)&&(l.category===aO.OP.ArgsList||l.category===aO.OP.KwargsDict)&&(y=!0),m=" = "}else(t&dP.X8.OmitTypeArgsIfUnknown)==0&&(aM.gk.isNameSynthesized(l)||(c+=": "),t&(dP.X8.PrintUnknownWithAny|dP.X8.PythonSyntax)?c+="Any":c+="Unknown",m=" = ");else if(l.category===aO.OP.Simple)if(!o)return;else c+="/";if(p&&(l.defaultExpr?c+=m+aL.W9(l.defaultExpr):c+=m+"..."),aM.RK.isGradualCallableForm(e)&&!y){if(l.category===aO.OP.ArgsList)c="...";else if(l.category===aO.OP.KwargsDict)return}s.push(c)}),l&&(t&dP.X8.PythonSyntax?(s.push(`*args: ${l}.args`),s.push(`**kwargs: ${l}.kwargs`)):s.push(`**${await pA(l,t,i,r,n,a)}`));let d=await i(e);return[s,n.length<aM.Wn?await pA(d,t|dP.X8.ParenthesizeUnion|dP.X8.ParenthesizeCallable,i,r,n,a):""]}function pM(e,t){return t&dP.X8.UseTypingUnpack?`Unpack[${e}]`:`*${e}`}function pO(e,t){var i,r;let n=(null!=(i=null==(r=e.props)?void 0:r.instantiableDepth)?i:0)+1;for(let e=0;e<n;e++)t=`type[${t}]`;return t}function pU(e,t){return aM.Kn.getReadableName(e,t)}class pL{async build(e,t=[],i=0){var r;if(i>aM.Wn)return;i++;let n=null==(r=e.props)?void 0:r.typeAliasInfo;if(n){let r=!0;if((this._printTypeFlags&dP.X8.ExpandTypeAlias)==0?r=!1:t.find(t=>t===e)&&(r=!1),!r){let r=(this._printTypeFlags&dP.X8.UseFullyQualifiedNames)!=0?n.shared.fullName:n.shared.name;if(this._addIfUnique(r,e,!0),n.typeArgs){t.push(e);try{await lH(n.typeArgs,async e=>{await this.build(e,t,i)})}finally{t.pop()}}return}}try{switch(t.push(e),e.category){case aM.vb.Function:{await lH(e.shared.parameters,async(r,n)=>{let a=aM.RK.getParamType(e,n);await this.build(a,t,i)});let r=await this._returnTypeCallback(e);await this.build(r,t,i);break}case aM.vb.Overloaded:await lH(aM.OF.getOverloads(e),async e=>{await this.build(e,t,i)});break;case aM.vb.Class:{if(void 0!==e.priv.literalValue)break;let r=e.priv.aliasName;r||(r=(this._printTypeFlags&dP.X8.UseFullyQualifiedNames)!=0?e.shared.fullName:e.shared.name),this._addIfUnique(r,e),!aM.p5.isPseudoGenericClass(e)&&(e.priv.tupleTypeArgs?await lH(e.priv.tupleTypeArgs,async e=>{await this.build(e.type,t,i)}):e.priv.typeArgs&&await lH(e.priv.typeArgs,async e=>{await this.build(e,t,i)}));break}case aM.vb.Union:await l1(e,async e=>{await this.build(e,t,i)}),await lH(e.priv.typeAliasSources,async e=>{await this.build(e,t,i)})}}finally{t.pop()}}isUnique(e){let t=this._map.get(e);return!t||1===t.length}_addIfUnique(e,t,i=!1){let r=this._map.get(e);r?r.some(e=>this._isSameTypeName(e,t,i))||r.push(t):this._map.set(e,[t])}_isSameTypeName(e,t,i){if(i){var r,n,a,s;return(null==(n=e.props)||null==(r=n.typeAliasInfo)?void 0:r.shared.fullName)===(null==(s=t.props)||null==(a=s.typeAliasInfo)?void 0:a.shared.fullName)}if((0,aM.D4)(e)&&(0,aM.D4)(t)){for(;aM.Ab.isInstantiable(e);)e=aM.p5.cloneAsInstance(e);for(;aM.Ab.isInstantiable(t);)t=aM.p5.cloneAsInstance(t);return aM.p5.isSameGenericClass(e,t)}return!1}constructor(e,t){pk(this,"_printTypeFlags",void 0),pk(this,"_returnTypeCallback",void 0),pk(this,"_map",void 0),this._printTypeFlags=e,this._returnTypeCallback=t,this._map=new Map}}let pz=new Map([["builtins.float",["builtins.int"]],["builtins.complex",["builtins.float","builtins.int"]],["builtins.bytes",["builtins.bytearray","builtins.memoryview"]]]);function pW(){n=void 0,a=void 0}function pB(e,t,i,r,s,o){let l,d=[],u=new dN.G,p=[],c=new Map,h=new Map,m=new Map,y=[],g=0,f=[];function v(e){return c.get(e.id)}function _(e){let t=v(e);return!!t&&(!t.typeResult.isIncomplete||t.incompleteGenCount===g)}async function T(e,i){let n=v(e);if(n&&!n.typeResult.isIncomplete){if(t.verifyTypeCacheEvaluatorFlags&&void 0!==i){let l=n.flags;if(void 0!==l&&i!==l){var a,s;let n=await r.getFileInfo(e),d=(0,aW.l8)(e.start,n.lines),u=`Type cache flag mismatch for node type ${e.nodeType} (parent ${null!=(a=null==(s=e.parent)?void 0:s.nodeType)?a:"none"}): cached flags = ${l}, access flags = ${i}, file = {${n.fileUri} [${d.line+1}:${d.character+1}]}`;t.verifyTypeCacheEvaluatorFlags?(0,n6.fJ)(u):o.log(u)}}return n.typeResult.type}}function w(e,t,i,r,n=!1){let a=c;if(t.isIncomplete){let i=a.get(e.id);void 0!==i&&!(0,aM.J5)(t.type,i.typeResult.type)&&g++}else g++;a.set(e.id,{typeResult:t,flags:i,incompleteGenCount:g}),iR(e)&&(u.trackEntry(a,e.id),n&&u.addSpeculativeType(e,t,g,null==r?void 0:r.expectedType))}function b(e,t,i=lO.WB.None){w(e,t,i)}function S(e,t){return d.findIndex(i=>i.symbolId===e.id&&i.declaration===t)}function k(e,t){let i=S(e,t);if(i>=0){for(let e=i+1;e<d.length;e++)d[e].isResultValid=!1;return!1}return d.push({symbolId:e.id,declaration:t,isResultValid:!0}),!0}function I(e){var t;let i=d.pop();return(0,n6.vA)(void 0!==i&&i.symbolId===e.id,`Symbol resolution stack mismatch: expected symbol ${e.id}, got ${null!=(t=null==i?void 0:i.symbolId)?t:"empty stack"}`),i.isResultValid}function C(e,t,i){let r=S(e,t);r>=0&&(d[r].partialType=i)}async function P(e){var t,i,r,n;await F(e);let a=null==(t=await iT(e,async()=>{await D(e)}))?void 0:t.type;if(a&&(0,aM.CP)(a)&&a.shared.declaredVariance===aM.id.Auto){let t=a,s=aL.M8(e,aO.ye.TypeParameterList);if((null==s||null==(i=s.parent)?void 0:i.nodeType)===aO.ye.Class){let e=await tQ(s.parent);if(e){await t0(e.classType);let i=e.classType.shared.typeParams.find(e=>(0,aM.J5)(e,t,{ignoreTypeFlags:!0}));(null==i?void 0:i.priv.computedVariance)!==void 0&&(a=aM.Kn.cloneWithComputedVariance(a,i.priv.computedVariance))}}else if((null==s||null==(r=s.parent)?void 0:r.nodeType)===aO.ye.TypeAlias){let t=await tG(s.parent),i=s.d.params.findIndex(t=>t.d.name===e);if(i>=0&&t){await eB(t);let e=null==(n=t.props)?void 0:n.typeAliasInfo;if(null==e?void 0:e.shared.computedVariance){let t=e.shared.computedVariance[i];a=aM.Kn.cloneWithComputedVariance(a,t)}}}}return a&&(a=(0,aX.In)(a)),a}async function x(e){await F(e);let t=await i.getExpectedType(e,s,l||nZ.CancellationToken.None);if(t)return{type:t,node:e}}async function F(e){n||(n={},a=A(e),await a)}async function A(e){var t,i,a;let s=n,o=await r.getFileInfo(e);if(s.objectClass=await iP(e,"object"),s.typeClass=await iP(e,"type"),s.functionClass=null!=(t=await el(e,"FunctionType"))?t:await iP(e,"function"),s.methodClass=await el(e,"MethodType"),s.unionTypeClass=await el(e,"UnionType"),s.unionTypeClass&&(0,aM.D4)(s.unionTypeClass)&&(s.unionTypeClass.shared.flags|=aM.aF.SpecialFormClass),await eo(e,"Collection"),s.noneTypeClass=null!=(i=await ed(e,"NoneType"))?i:aM.vn.create(),s.tupleClass=await iP(e,"tuple"),s.boolClass=await iP(e,"bool"),s.intClass=await iP(e,"int"),s.strClass=await iP(e,"str"),s.dictClass=await iP(e,"dict"),s.moduleTypeClass=await eo(e,"ModuleType"),s.typedDictPrivateClass=null!=(a=await eu(e,"TypedDictFallback",["_typeshed","_type_checker_internals"]))?a:await eo(e,"_TypedDict"),s.typedDictClass=await eo(e,"TypedDict"),s.awaitableClass=await eo(e,"Awaitable"),s.mappingClass=await eo(e,"Mapping"),ai.fz.isGreaterOrEqualTo(o.executionEnvironment.pythonVersion,ai.K1)?s.templateClass=await eu(e,"Template",["string","templatelib"]):s.templateClass=aM.vn.create(),s.supportsKeysAndGetItemClass=await ed(e,"SupportsKeysAndGetItem"),s.supportsKeysAndGetItemClass||(s.supportsKeysAndGetItemClass=s.mappingClass),s.objectClass&&(0,aM.dL)(s.objectClass)&&s.typeClass&&(0,aM.dL)(s.typeClass)){let t=aM.p5.createInstantiable("Any","typing.Any","typing",n4.z.empty(),aM.aF.BuiltIn|aM.aF.SpecialFormClass|aM.aF.IllegalIsinstanceClass,-1,void 0,s.typeClass);t.shared.baseClasses.push(s.objectClass),(0,aX.VS)(t);let i=aM.V.createSpecialForm();(0,aM.f7)(i)&&(aM.Ab.setSpecialForm(i,t),await rw(e)&&aM.Ab.setTypeForm(i,(0,aX.gU)(i)))}}async function D(e,t=lO.WB.None,i){var n;let a,s=v(e);if(s&&(!s.typeResult.isIncomplete||s.incompleteGenCount===g))return s.typeResult;let o=u.getSpeculativeType(e,null==i?void 0:i.expectedType);if(o&&(!o.typeResult.isIncomplete||o.incompleteGenerationCount===g))return o.typeResult;l&&(0,n8.Lj)(l),i&&(i.expectedType=(0,aX.In)(i.expectedType)),await F(e);let d=await R(e);(0,aM.dL)(d.type)&&d.type.priv.includePromotions&&!d.type.priv.includeSubclasses&&aM.p5.isBuiltIn(d.type,"bytes")&&(await r.getFileInfo(e)).diagnosticRuleSet.disableBytesTypePromotions&&(d={...d,type:aM.p5.cloneRemoveTypePromotions(d.type)}),i&&(d.type=await ri(i.expectedType,d.type));let p=e.nodeType!==aO.ye.AssignmentExpression;return w(e,d,t,i,p),(e.nodeType===aO.ye.Name||e.nodeType===aO.ye.MemberAccess)&&(d.type=(n=d.type,(a=iA(e))&&(0,aM.BL)(n)?(0,aX.zH)(n,a,e.start):n)),!i||(0,aM.ah)(i.expectedType)||(0,aM.Pd)(i.expectedType)||m.set(e.id,i.expectedType),d}async function E(e,t=lO.WB.None,i){var r,n;let a,s=(t&lO.WB.InstantiableType)!=0;switch(e.nodeType){case aO.ye.Name:a=await eb(e,t);break;case aO.ye.MemberAccess:a=await eA(e,t);break;case aO.ye.Index:a=await eO(e,t);break;case aO.ye.Call:a=await iD(e,async()=>await eH(e,t,i));break;case aO.ye.Tuple:a=await pf(rI,e,t,i);break;case aO.ye.Constant:a=await tv(e,t);break;case aO.ye.StringList:(t&lO.WB.StrLiteralAsType)!=0&&(s=!1),a=await L(e,t);break;case aO.ye.Number:a=await O(e,a);break;case aO.ye.Ellipsis:a=await M(t,a,e);break;case aO.ye.UnaryOperation:a=await uY(rI,e,t,i);break;case aO.ye.BinaryOperation:{let r=t;s&&e.d.operator!==aj.hu.BitwiseOr&&(r&=~lO.WB.InstantiableType),a=await uH(rI,e,r,i);break}case aO.ye.AugmentedAssignment:a=await uJ(rI,e,i);break;case aO.ye.List:case aO.ye.Set:a=await tk(e,t,i);break;case aO.ye.Slice:a=await tO(e);break;case aO.ye.Await:a=await N(e,t,i);break;case aO.ye.Ternary:a=await uQ(rI,e,t,i);break;case aO.ye.Comprehension:a=await tR(e,t,i);break;case aO.ye.Dictionary:a=await tT(e,t,i);break;case aO.ye.Lambda:a=await tD(e,i);break;case aO.ye.Assignment:case aO.ye.AssignmentExpression:a=await E(e.d.rightExpr,t,i);break;case aO.ye.Yield:a=await tF(e);break;case aO.ye.YieldFrom:a=await tA(e);break;case aO.ye.Unpack:a=await U(e,t,i);break;case aO.ye.TypeAnnotation:a=await E(e.d.annotation,lO.WB.InstantiableType|lO.WB.TypeExpression|lO.WB.StrLiteralAsType|lO.WB.NoParamSpec|lO.WB.NoTypeVarTuple|lO.WB.VarTypeAnnotation);break;case aO.ye.String:case aO.ye.FormatString:a=await W(e);break;default:(0,n6.vA)(!1,`Illegal node type: ${e.nodeType}`)}if(a||(0,n6.fJ)(`Unhandled expression type '${aL.W9(e)}'`),(t&lO.WB.TypeExpression)!=0&&(null==(r=a.type.props)?void 0:r.typeForm)===void 0){let e=null==(n=a.type.props)?void 0:n.specialForm;e&&aM.p5.isBuiltIn(e,"TypeAliasType")&&(a.type=aM.Ab.cloneAsSpecialForm(a.type,void 0))}return a}async function R(e){var t;let r=ax.R8(e);if(r.isStubFile&&r.isGeneratedStubFile)return await E(e);let n={type:null!=(t=await i.getComputedType(e,s,l||nZ.CancellationToken.None))?t:aM.vn.create()};return e.nodeType===aO.ye.Call&&(n=await iD(e,()=>eG(n,e))),n}async function N(e,t,i){if((t&lO.WB.TypeExpression)!=0)return{type:aM.vn.create()};let r=i?await ia(e,i.expectedType,!1,!1):void 0,n=await D(e.d.expr,t,(0,aX.lq)(r)),a=await ee(n),s={type:a.type,isIncomplete:n.isIncomplete||a.isIncomplete,typeErrors:n.typeErrors};return n.isIncomplete&&(s.isIncomplete=!0),s}async function M(e,t,i){if((e&lO.WB.ConvertEllipsisToAny)!=0)t={type:aM.V.create(!0)};else if((e&lO.WB.TypeExpression)!=0&&(e&lO.WB.AllowEllipsis)==0)t={type:aM.vn.create()};else{var r,n;t={type:null!=(r=null!=(n=await ix(i,"EllipsisType"))?n:await ix(i,"ellipsis"))?r:aM.V.create()}}return t}async function O(e,t){return e.d.isImaginary?{type:await ix(e,"complex")}:e.d.isInteger?{type:await tL(e,"int",e.d.value)}:{type:await ix(e,"float")}}async function U(e,t,i){let r,n;if(i){let t=await iP(e,"Iterable");t&&(0,aM.dL)(t)&&(n=aM.p5.cloneAsInstance(aM.p5.specialize(t,[i.expectedType])))}let a=await D(e.d.expr,t,(0,aX.lq)(n)),s=a.type;if((t&lO.WB.NoTypeVarTuple)==0&&(0,aM.wh)(s)&&!s.priv.isUnpacked)r={type:aM.Kn.cloneForUnpacked(s)};else if((t&lO.WB.AllowUnpackedTuple)!=0&&(0,aM.dL)(s)&&aM.p5.isBuiltIn(s,"tuple"))r={type:aM.p5.cloneForUnpacked(s)};else if((t&lO.WB.TypeExpression)!=0)r={type:aM.vn.create()};else{var o;let t=null!=(o=await et(a,!1,e))?o:{type:aM.vn.create(!!a.isIncomplete),isIncomplete:a.isIncomplete};r={type:t.type,typeErrors:a.typeErrors,isIncomplete:t.isIncomplete}}return r}async function L(e,t){var i;let r;if((t&lO.WB.StrLiteralAsType)!=0&&(t&lO.WB.TypeFormArg)==0)return await z(e,t);let a=e=>(e.d.token.flags&aj.IF.Bytes)!=0,s=e.d.strings.findIndex(e=>!a(e)),o=e.d.strings.findIndex(e=>a(e));if(s>=0&&o>=0)return{type:aM.vn.create()};let l=o>=0,d=!0,u=!1,p=!1;if(await lH(e.d.strings,async e=>{let t=await W(e);t.isIncomplete&&(u=!0);let i=!1;(0,aM.aE)(t.type)&&(aM.p5.isBuiltIn(t.type,"str")&&void 0!==t.type.priv.literalValue?i=!0:aM.p5.isBuiltIn(null==t?void 0:t.type,"LiteralString")&&(i=!0),"Template"===t.type.shared.name&&(p=!0)),i||(d=!1)}),p)r={type:(null==n?void 0:n.templateClass)&&(0,aM.dL)(null==n?void 0:n.templateClass)?aM.p5.cloneAsInstance(n.templateClass):aM.vn.create(),isIncomplete:u};else if(e.d.strings.some(e=>e.nodeType===aO.ye.FormatString)){if(d){let t=await eo(e,"LiteralString");t&&(0,aM.dL)(t)&&(r={type:aM.p5.cloneAsInstance(t)})}r||(r={type:await ix(e,l?"bytes":"str"),isIncomplete:u})}else r={type:await tL(e,l?"bytes":"str",e.d.strings.map(e=>e.d.value).join("")),isIncomplete:u};if(1!==e.d.strings.length||e.d.strings[0].nodeType!==aO.ye.String||!await rw(e))return r;let c=e.d.strings[0];if((c.d.token.flags&(aj.IF.Bytes|aj.IF.Raw|aj.IF.Format|aj.IF.Template|aj.IF.Triplicate))!=0||c.d.token.escapedValue.length>=256)return r;let h=await z(e,t);return(null==(i=h.type.props)?void 0:i.typeForm)&&(r.type=aM.Ab.cloneWithTypeForm(r.type,h.type.props.typeForm)),r}async function z(e,t){let i,r=(t&lO.WB.StrLiteralAsType)!=0,n=t|lO.WB.ForwardRefs|lO.WB.InstantiableType;if((t&lO.WB.ParsesStringLiteral)==0&&(n|=lO.WB.NotParsed),n&=~lO.WB.TypeFormArg,e.d.annotation&&(t&lO.WB.TypeExpression)!=0)return await D(e.d.annotation,n);if(1===e.d.strings.length){let t=e.d.strings[0].d.token.flags;if(t&aj.IF.Bytes||t&aj.IF.Raw||t&aj.IF.Format||t&aj.IF.Template)return{type:aM.vn.create()};let a=await rS(e,r);a&&(i=await iE(r?void 0:e,async()=>await D(a,n)))}return i||(i={type:aM.vn.create()}),i}async function W(e){let t,i=(e.d.token.flags&aj.IF.Bytes)!=0,r=!1;if(e.nodeType===aO.ye.String)t={type:await tL(e,i?"bytes":"str",e.d.value),isIncomplete:r};else{let a=(e.d.token.flags&aj.IF.Template)!=0,s=!0;if(await lH(e.d.fieldExprs,async e=>{let t=await D(e),i=t.type;t.isIncomplete&&(r=!0),(0,aX.u6)(i,e=>{if(!(0,aM.aE)(e)){s=!1;return}aM.p5.isBuiltIn(e,"LiteralString")||aM.p5.isBuiltIn(e,"str")&&void 0!==e.priv.literalValue||(s=!1)})}),a)t={type:(null==n?void 0:n.templateClass)&&(0,aM.dL)(null==n?void 0:n.templateClass)?aM.p5.cloneAsInstance(n.templateClass):aM.vn.create(),isIncomplete:r};else if(!i&&s){let i=await eo(e,"LiteralString");i&&(0,aM.dL)(i)&&(t={type:aM.p5.cloneAsInstance(i),isIncomplete:r})}!t&&(t={type:await ix(e,i?"bytes":"str"),isIncomplete:r},(0,aM.D4)(t.type)&&t.type.priv.includePromotions&&(t.type=aM.p5.cloneRemoveTypePromotions(t.type)))}return t}function B(e){if((0,aM.mi)(e)&&e.priv.subtypes.length>0){var t,i,r;if((null==(t=e.priv.literalInstances.literalStrMap)?void 0:t.size)===e.priv.subtypes.length||(null==(i=e.priv.literalInstances.literalIntMap)?void 0:i.size)===e.priv.subtypes.length||(null==(r=e.priv.literalInstances.literalEnumMap)?void 0:r.size)===e.priv.subtypes.length)return B(e.priv.subtypes[0])}return(0,aX.EY)(e,e=>{if((0,aM.D4)(e)&&(void 0!==e.priv.literalValue&&(e=aM.p5.cloneWithLiteral(e,void 0)),aM.p5.isBuiltIn(e,"LiteralString")&&(null==n?void 0:n.strClass)&&(0,aM.dL)(n.strClass))){let t=aM.p5.cloneAsInstance(n.strClass);return aM.Ab.cloneForCondition(t,(0,aX.An)(e))}return e})}async function $(e,t){return await j(e,{typeVarGetsCurScope:!0,allowUnpackedTuple:t===aO.OP.ArgsList,allowUnpackedTypedDict:t===aO.OP.KwargsDict})}async function j(e,t){var i,n,a;let s=await r.getFileInfo(e);if(s.isTypingStubFile||s.isTypingExtensionsStubFile){let t=await tj(e);if(t)return t}let o=t?{...t}:{};o.typeExpression=!0,o.convertEllipsisToAny=!0,(null==e||null==(i=e.parent)?void 0:i.nodeType)===aO.ye.Assignment&&e.parent.d.annotationComment===e?(o.forwardRefs=!0,o.notParsed=!0):(null==e||null==(n=e.parent)?void 0:n.nodeType)===aO.ye.FunctionAnnotation?(e.parent.d.returnAnnotation===e||e.parent.d.paramAnnotations.some(t=>t===e))&&(o.forwardRefs=!0,o.notParsed=!0):(null==e||null==(a=e.parent)?void 0:a.nodeType)===aO.ye.Parameter&&e.parent.d.annotationComment===e&&(o.forwardRefs=!0,o.notParsed=!0);let l=(await iS(e,o)).type;return(0,aX.gU)(l)}async function K(e,t=0){if(e=em(e),t>aM.Wn)return!0;switch(t++,e.category){case aM.vb.Unbound:case aM.vb.Unknown:case aM.vb.Any:case aM.vb.Never:return!0;case aM.vb.Union:return await l3(e,async e=>await K(e,t))!==void 0;case aM.vb.Function:case aM.vb.Overloaded:case aM.vb.Module:case aM.vb.TypeVar:return!1;case aM.vb.Class:{if(aM.Ab.isInstantiable(e)||(0,aX.Id)(e))return!1;if((0,aX.Bj)(e)&&e.priv.tupleTypeArgs)return(0,aX.NG)(e)||0===e.priv.tupleTypeArgs.length;let i=e.shared.mro.find(e=>!(0,aM.D4)(e)||(0,aX.Bj)(e));if(i&&(0,aM.D4)(i)&&i.priv.tupleTypeArgs)return(0,aX.NG)(i)||0===i.priv.tupleTypeArgs.length;if(aM.p5.isTypedDictClass(e)){let t=await dn(rI,e,!0);if(t){for(let e of t.knownItems.values())if(e.isRequired||e.isProvided)return!1}}if(void 0!==e.priv.literalValue){if(aM.p5.isBuiltIn(e,["bool","int","str","bytes"]))return!e.priv.literalValue||e.priv.literalValue===BigInt(0);if(e.priv.literalValue instanceof aM.RR&&e.priv.literalValue.isReprEnum)return await K(e.priv.literalValue.itemType,t)}if(aM.p5.isProtocolClass(e)||(0,aX.mN)(e,"__len__"))return!0;let r=(0,aX.mN)(e,"__bool__");if(r){let e=await i3(r);if((0,aM.Tn)(e)&&e.shared.declaredReturnType){let t=e.shared.declaredReturnType;if((0,aM.aE)(t)&&aM.p5.isBuiltIn(t,"bool")&&!0===t.priv.literalValue)return!1}return!0}return aM.p5.isBuiltIn(e,"object")}}}async function V(e,t=0){if(e=em(e),t>aM.Wn)return!0;switch(t++,e.category){case aM.vb.Unknown:case aM.vb.Function:case aM.vb.Overloaded:case aM.vb.Module:case aM.vb.TypeVar:case aM.vb.Never:case aM.vb.Any:return!0;case aM.vb.Union:return await l3(e,async e=>await V(e,t))!==void 0;case aM.vb.Unbound:return!1;case aM.vb.Class:{if(aM.Ab.isInstantiable(e))return!0;if((0,aX.Lj)(e)||e.priv.tupleTypeArgs&&0===e.priv.tupleTypeArgs.length)return!1;if(void 0!==e.priv.literalValue){if(aM.p5.isBuiltIn(e,["bool","int","str","bytes"]))return!!e.priv.literalValue&&e.priv.literalValue!==BigInt(0);if(e.priv.literalValue instanceof aM.RR&&e.priv.literalValue.isReprEnum)return await V(e.priv.literalValue.itemType,t)}if(aM.p5.isProtocolClass(e))return!0;let i=(0,aX.mN)(e,"__bool__");if(i){let e=await i3(i);if((0,aM.Tn)(e)&&e.shared.declaredReturnType){let t=e.shared.declaredReturnType;if((0,aM.aE)(t)&&aM.p5.isBuiltIn(t,"bool")&&!1===t.priv.literalValue)return!1}}return!0}}}async function q(e){return await l5(e,async e=>{let t=em(e);if((0,aM.aE)(t)){if(void 0!==t.priv.literalValue)return(t.priv.literalValue instanceof aM.RR?await V(t):t.priv.literalValue)?void 0:e;if((0,aX.Id)(t))return;if(aM.p5.isBuiltIn(t,"bool"))return aM.p5.cloneWithLiteral(t,!1);if(aM.p5.isBuiltIn(t,"int"))return aM.p5.cloneWithLiteral(t,0);if(aM.p5.isBuiltIn(t,["str","bytes"]))return aM.p5.cloneWithLiteral(t,"")}if(await K(e))return e})}async function G(e){return await l5(e,async e=>{let t=em(e);if((0,aM.aE)(t)){if(void 0!==t.priv.literalValue)return(t.priv.literalValue instanceof aM.RR?!await K(t):t.priv.literalValue instanceof aM._W||!!t.priv.literalValue)?e:void 0;if(aM.p5.isBuiltIn(t,"bool"))return aM.p5.cloneWithLiteral(t,!0);if((0,aX.Lj)(t))return;if(aM.p5.isBuiltIn(t,"object"))return e}if(await V(e))return e})}async function H(e,t,i,r){let n=await dO(rI,t,r);return(0,aX.i0)(e,n,i)}async function J(e,t,i,r={method:"get"},n=aX.Mh.Default,a,s=0){let o;if(aM.p5.isPartiallyEvaluated(t))return{type:aM.vn.create()};(0,aM.dL)(t)&&!t.priv.includeSubclasses&&t.shared.typeParams.length>0&&(n&aX.Mh.SkipAttributeAccessOverride)==0&&(t=(0,aX.ap)(t));let l=aM.Ab.isInstantiable(t),d=t.shared.effectiveMetaclass,u=l&&(n&aX.Mh.SkipInstanceMembers)!=0;if("get"===r.method&&l&&d&&(0,aM.dL)(d)&&!aM.p5.isBuiltIn(d,"type")&&!aM.p5.isSameGenericClass(d,t)){let a=await eE(e,d,i,r,n|aX.Mh.SkipAttributeAccessOverride|aX.Mh.SkipTypedDictEntries,t,s);if(a){let e=(0,aM.aE)(a.type)&&aM.p5.isPropertyClass(a.type);((0,aX.hN)(a.type,!0)||e)&&(u=!0)}}if(!u){let d=n|aX.Mh.SkipTypedDictEntries;l?(d|=aX.Mh.SkipInstanceMembers|aX.Mh.SkipAttributeAccessOverride|aX.Mh.DisallowGenericInstanceVariableAccess,d&=~aX.Mh.SkipClassMembers):d|=aX.Mh.DisallowClassVarWrites,o=await eE(e,t,i,r,d,a,s)}if(!o&&d&&(0,aM.dL)(d)){let a=n;l||(a|=aX.Mh.SkipClassMembers|aX.Mh.SkipAttributeAccessOverride|aX.Mh.SkipTypeBaseClass,a&=~aX.Mh.SkipInstanceMembers),o=await eE(e,aM.p5.cloneAsInstance(d),i,r,a,l?t:aM.p5.cloneAsInstantiable(t),s)}if(o)return{type:o.type,classType:o.classType,isIncomplete:!!o.isTypeIncomplete,narrowedTypeForSet:o.narrowedTypeForSet,typeErrors:o.isDescriptorError};if((0,aM.aE)(t)&&aM.p5.isBuiltIn(t,"type")&&t.priv.includeSubclasses&&(n&(aX.Mh.SkipTypeBaseClass|aX.Mh.SkipAttributeAccessOverride))==0){let e=t.priv.typeArgs&&t.priv.typeArgs.length>=1?t.priv.typeArgs[0]:aM.vn.create();if((0,aM.ah)(e))return{type:e,classType:aM.vn.create()}}}async function Y(e,t,i,r,n=0){let a=await J(r,e,t,void 0,aX.Mh.SkipInstanceMembers|aX.Mh.SkipAttributeAccessOverride,i,n);if(a&&!a.typeErrors){if((0,aM.BL)(a.type))return a.type;if((0,aM.aE)(a.type)){if(n>aM.Wn)return;return n++,await Y(a.type,"__call__",void 0,r,n)}if((0,aM.ah)(a.type))return(0,aX.cA)()}}async function Q(e,t,i){let r=e.d.leftExpr,n=await P(r);if(!n)return;let a=[],s=aO.b4.Simple;function o(){a.push({argCategory:s,typeResult:{type:aM.vn.create()},active:!0})}e.d.args.forEach((e,r)=>{let n=!1;r===t&&(i?n=!0:o()),s=e.d.argCategory,a.push({valueExpression:e.d.valueExpr,argCategory:e.d.argCategory,name:e.d.name,active:n})}),e.d.args.length<t&&o();let l=[];async function d(t){let i;await iE(e,async()=>{i=await ta(r,a,{type:t},void 0,!0,void 0)}),l.push({type:function(e){var t,i,r,n;let a=e.shared.parameters.findIndex(e=>e.category===aO.OP.KwargsDict);if(a<0)return e;(0,n6.vA)(a===e.shared.parameters.length-1);let s=aM.RK.getParamType(e,a);if(!(0,aM.aE)(s)||!aM.p5.isTypedDictClass(s)||!s.priv.isUnpacked)return e;let o=null!=(t=s.priv.typedDictNarrowedEntries)?t:null==(i=s.shared.typedDictEntries)?void 0:i.knownItems;if(!o)return e;let l=aM.RK.clone(e);l.shared.parameters.splice(a),l.priv.specializedTypes&&l.priv.specializedTypes.parameterTypes.splice(a),0>e.shared.parameters.findIndex(e=>e.category===aO.OP.ArgsList)&&o.size>0&&aM.RK.addKeywordOnlyParamSeparator(l),o.forEach((e,t)=>{aM.RK.addParam(l,aM.gk.create(aO.OP.Simple,e.valueType,aM.D5.TypeDeclared,t,e.isRequired?void 0:e.valueType))});let d=null==(n=s.shared.typedDictEntries)||null==(r=n.extraItems)?void 0:r.valueType;return d&&!(0,aM.Pd)(d)&&aM.RK.addParam(l,aM.gk.create(aO.OP.KwargsDict,d,aM.D5.TypeDeclared,"kwargs")),l}(t),activeParam:null==i?void 0:i.activeParam})}async function u(e){(0,aM.Tn)(e)?await d(e):await lH(aM.OF.getOverloads(e),async e=>{await d(e)})}if(await l1(n,async e=>{switch(e.category){case aM.vb.Function:case aM.vb.Overloaded:await u(e);break;case aM.vb.Class:if(aM.Ab.isInstantiable(e)){let t=await dQ(rI,e);if(t){await l1(t,async e=>{(0,aM.BL)(e)&&await u(e)});let e=l.filter(e=>!aM.RK.isGradualCallableForm(e.type)||e.type.shared.parameters.length>2||e.type.shared.docString||e.type.shared.deprecatedMessage);e.length>0&&(l=e)}}else{let t=await Y(e,"__call__");t&&await u(t)}}}),0!==l.length)return{callNode:e,signatures:l}}async function X(e){if(e.nodeType===aO.ye.TypeAnnotation&&e.d.valueExpr.nodeType===aO.ye.Name){let t=await iF(e,e.d.valueExpr.d.value,!1);if(t){let e=t.symbol;return await l0(e.getDeclarations(),async e=>await rf(e))!==void 0}}return!1}async function Z(e,t){var i,r;let n,a,s,o,l=!0,d=!1;switch(e.nodeType){case aO.ye.Name:{let t=await iF(e,e.d.value,!0);if(t&&(n=t.symbol,!(null==(i=await iX(n,e))?void 0:i.type)&&t.scope.type===dE.hB.Class)){let t=aL.kz(e);if(t&&t.nodeType===aO.ye.Class){let i=await tQ(t);if(i){let t=(0,aX.Zn)(i.classType,e.d.value,aX.Mh.SkipInstanceMembers|aX.Mh.DeclaredTypesOnly);t&&(n=t.symbol)}}}break}case aO.ye.TypeAnnotation:return await Z(e.d.valueExpr,t);case aO.ye.MemberAccess:{let t=(await D(e.d.leftExpr,lO.WB.MemberAccessBaseDefaults)).type,i=em(t),r=e.d.member.d.value;(0,aX.u6)(i,e=>{if((0,aM.aE)(e)){let t=(0,aX.mN)(e,r,aX.Mh.DeclaredTypesOnly);s=e,o=null==t?void 0:t.classType,n=null==t?void 0:t.symbol,d=!0,l=!(null==t?void 0:t.isInstanceMember)}else if((0,aM.dL)(e)){let t=(0,aX.Zn)(e,r,aX.Mh.SkipInstanceMembers|aX.Mh.DeclaredTypesOnly);s=e,o=null==t?void 0:t.classType,n=null==t?void 0:t.symbol,d=!1,l=!0}else(0,aM.FS)(e)&&(s=void 0,o=void 0,(n=aM.nR.getField(e,r))&&!n.hasTypedDeclarations()&&(n=void 0),d=!1,l=!1)},!0),(0,aM.CP)(t)&&(a=t);break}case aO.ye.Index:{let i=em((await D(e.d.leftExpr,lO.WB.IndexBaseDefaults)).type);if(i&&(0,aM.aE)(i)){if(aM.p5.isTypedDictClass(i)){let r=await dh(rI,e,i,t||{method:"get"});if(r)return r.type}let r=await Y(i,"__setitem__");if(!r)break;if((0,aM.Gl)(r)){let t=1===e.d.items.length&&e.d.items[0].d.valueExpr.nodeType===aO.ye.Slice;if(!(r=aM.OF.getOverloads(r).find(e=>{if(e.shared.parameters.length<2)return!1;let i=aM.RK.getParamType(e,0);return t===((0,aM.aE)(i)&&aM.p5.isBuiltIn(i,"slice"))})))break}if((0,aM.Tn)(r)&&r.shared.parameters.length>=2){let e=aM.RK.getParamType(r,1);if(!(0,aM.ah)(e))return e}}break}case aO.ye.Tuple:if(e.d.items.length>0&&!e.d.items.some(e=>e.nodeType===aO.ye.Unpack)){let i=[];if(await lH(e.d.items,async e=>{let r=await Z(e,t);r&&i.push(r)}),i.length===e.d.items.length)return pg(rI,i.map(e=>({type:e,isUnbounded:!1})))}}if(n){let e=null==(r=await iX(n))?void 0:r.type;if(e){if(d&&(0,aM.aE)(e)){let t=await Y(e,"__set__");if(t&&(0,aM.Tn)(t)&&t.shared.parameters.length>=2&&(e=aM.RK.getParamType(t,1),(0,aM.ah)(e)))return}return s&&(o&&(0,aM.dL)(o)&&(e=(0,aX._T)(e,o,es(),a)),(0,aM.BL)(e)&&l&&(e=await rm(s,e,void 0,void 0,a))),e}}}async function ee(e){if(!(null==n?void 0:n.awaitableClass)||!(0,aM.dL)(n.awaitableClass)||1!==n.awaitableClass.shared.typeParams.length)return{type:aM.vn.create(),isIncomplete:e.isIncomplete};let t=aM.p5.cloneAsInstance(n.awaitableClass),i=!!e.isIncomplete;return{type:await l5(e.type,async e=>{if(e=em(e),(0,aM.ah)(e))return e;if((0,aM.aE)(e)){let i=new lN.w;if(await re(t,e,i)){let e=await H(t,i);if((0,aM.D4)(e)&&e.priv.typeArgs&&e.priv.typeArgs.length>0)return e.priv.typeArgs[0]}}return aM.vn.create()}),isIncomplete:i}}async function et(e,t,i,r=!0){let a=t?"__aiter__":"__iter__",s=t?"__anext__":"__next__",o=!0,l=e.isIncomplete,d=(0,aX.In)(e.type);d=em(d),d=(0,aM.E8)(d),(0,aX.fn)(d)&&r&&(d=(0,aX.Wt)(d));let u=await l5(d,async r=>{if(r=em(r),(0,aM.ah)(r))return r;if((0,aM.D4)(r)){var d,u;if(aM.Ab.isInstance(r)&&(0,aX.Bj)(r)&&r.priv.tupleTypeArgs&&0===r.priv.tupleTypeArgs.length)return aM.Xl.createNever();let o=null==(d=await t_(r,a,[],i))?void 0:d.type;if(o)return await ey(o,void 0,async r=>{var n;if((0,aM.ah)(r))return r;let a=null==(n=await t_(r,s,[],i))?void 0:n.type;if(a){if(a=(0,aX.EY)(a,e=>(0,aM.CP)(e)&&(0,aM.RN)(e)?en():e),!t)return a;let i=await ee({type:a,isIncomplete:e.isIncomplete});return i.isIncomplete&&(l=!0),i.type}});if(!t&&(0,aM.aE)(r)){let e=null==(u=await t_(r,"__getitem__",[{type:(null==n?void 0:n.intClass)&&(0,aM.dL)(n.intClass)?aM.p5.cloneAsInstance(n.intClass):aM.vn.create()}],i))?void 0:u.type;if(e)return e}}o=!1});return o?{type:u,isIncomplete:l}:void 0}async function ei(e,t,i,r=!0){let n=t?"__aiter__":"__iter__",a=!0,s=em(e.type);(0,aX.fn)(s)&&(s=(0,aX.Wt)(s));let o=await l5(s,async e=>{if((0,aM.ah)(e))return e;if((0,aM.D4)(e)){var t;let r=null==(t=await t_(e,n,[],i))?void 0:t.type;if(r)return em(r)}a=!1});return a?{type:o,isIncomplete:e.isIncomplete}:void 0}function er(){return(null==n?void 0:n.tupleClass)&&(0,aM.dL)(n.tupleClass)?n.tupleClass:void 0}function en(){return(null==n?void 0:n.objectClass)?(0,aX.gU)(n.objectClass):aM.vn.create()}function ea(){return(null==n?void 0:n.noneTypeClass)?(0,aX.gU)(n.noneTypeClass):aM.vn.create()}function es(){if((null==n?void 0:n.typeClass)&&(0,aM.dL)(n.typeClass))return n.typeClass}function eo(e,t){var i;return null!=(i=eu(e,t,["typing"]))?i:eu(e,t,["typing_extensions"])}function el(e,t){return eu(e,t,["types"])}function ed(e,t){return eu(e,t,["_typeshed"])}async function eu(t,i,n){let a=await r.getFileInfo(t),s=await e({nameParts:n,importingFileUri:a.fileUri});if(!s)return;let o=s.symbolTable.get(i);if(o)return await iG(o)}async function ep(e,t){var i;let r=e.d.value,n=await iF(e,r,!1);if(!n)return;let a=null==(i=await iX(n.symbol))?void 0:i.type;if(void 0===a&&n.scope.type===dE.hB.Class){let t=aL.Ji(e);if(t){let i=await tQ(t);if(i){let t=(0,aX.Zn)(i.classType,e.d.value,aX.Mh.SkipOriginalClass);(null==t?void 0:t.isTypeDeclared)&&(a=await i3(t))}}}let s=t.type,o=!!a&&(0,aM.aE)(a)&&aM.p5.isBuiltIn(a,"TypeAlias");if(a&&!o){let i=aL.Gu(e),r=(0,aX.ru)(a,i),n=(0,aX.ru)(t.type,i);s=await re(r,n)?(await rh(a,t)).type:a}else{let t=await ik(e);(null==t?void 0:t.type)===dE.hB.Class&&aM.Ab.isInstance(s)&&!(0,aN.Qm)(r)&&!n.symbol.getDeclarations().some(e=>rg(e))&&(s=(0,aX.$o)(B(s)))}w(e,{type:s,isIncomplete:t.isIncomplete},lO.WB.None)}async function ec(e,t,i){var r;let n,a=await D(e.d.leftExpr,lO.WB.MemberAccessBaseDefaults),s={type:null!=(r=(await eD(e,a,{method:"set",setType:t,setErrorNode:i},lO.WB.None)).narrowedTypeForSet)?r:t.type,isIncomplete:t.isIncomplete};w(e,s,lO.WB.None);let o=s;(null==n?void 0:n.shared.typeVarScopeId)&&(o={...s,type:(0,aX.bm)(s.type,[n.shared.typeVarScopeId])}),w(e.d.member,o,lO.WB.None)}async function eh(e,t,i){let r=(e.nodeType===aO.ye.List,e.d.items),n=Array(r.length);for(let e=0;e<r.length;e++)n[e]=[];let a=r.findIndex(e=>e.nodeType===aO.ye.Unpack);t={...t,type:em(t.type)},await l1(t.type,async s=>{let o=(0,aX.yr)(s);if(o&&o.priv.tupleTypeArgs){let t=o.priv.tupleTypeArgs.map(e=>(0,aX.cH)(e.type,(0,aX.An)(s),{skipSelfCondition:!0})),i=o.priv.tupleTypeArgs.findIndex(e=>e.isUnbounded);if(i>=0){if(t.length<n.length){let e=t.length>0?t[i]:aM.V.create();for(;t.length<n.length;)t.splice(i,0,e)}t.length>n.length&&t.splice(i,1)}if(a>=0)if(t.length>n.length){let i=t.splice(a,t.length-n.length+1),r=(0,aM.Do)(i);e.nodeType===aO.ye.List&&(r=B(r)),t.splice(a,0,r)}else t.length===n.length-1&&t.splice(a,0,aM.Xl.createNever());t.forEach((e,t)=>{t<n.length&&n[t].push(e)})}else{var l,d;let e=null!=(l=null==(d=await et({type:s,isIncomplete:t.isIncomplete},!1,i))?void 0:d.type)?l:aM.vn.create();for(let t=0;t<r.length;t++)n[t].push((0,aX.cH)(e,(0,aX.An)(s)))}}),await lH(r,async(e,r)=>{let a=n[r],s=0===a.length?aM.vn.create():(0,aM.Do)(a);await ef(e,{type:s,isIncomplete:t.isIncomplete},i,!0)}),w(e,t,lO.WB.None)}function em(e,t=!1,i){return e=(0,aX.In)(e),(0,aX.EY)(e,e=>{if((0,aM.Bo)(e)){if("args"===e.priv.paramSpecAccess)return pg(rI,[{type:en(),isUnbounded:!0}]);else if("kwargs"===e.priv.paramSpecAccess)return(null==n?void 0:n.dictClass)&&(0,aM.dL)(n.dictClass)&&(null==n?void 0:n.strClass)&&(0,aM.dL)(n.strClass)?aM.p5.cloneAsInstance(aM.p5.specialize(n.dictClass,[(0,aX.gU)(n.strClass),en()])):aM.vn.create()}if(t&&(0,aM.Tn)(e)){let t=(0,aX.d1)(e);if((0,aM.Bo)(t))return aM.$Z.getUnknown()}if((0,aM.wh)(e))return e.priv.isInUnion?aM.Ab.isInstantiable(e)?(null==n?void 0:n.typeClass)&&(0,aM.dL)(n.typeClass)?n.typeClass:aM.V.create():en():pg(rI,[{type:en(),isUnbounded:!0}],!0);if((0,aM.CP)(e)){var r;if(e.shared.recursiveAlias)return e;if(aM.Kn.hasConstraints(e)){let t=[];return e.shared.constraints.forEach((r,n)=>{if(i){let t=aM.Kn.getNameWithScope(e),r=i.find(e=>e.typeVar.priv.nameWithScope===t);if(r&&r.constraintIndex!==n)return}aM.Ab.isInstantiable(e)&&(r=(0,aX.xy)(r)),t.push((0,aX.cH)(r,[{typeVar:e,constraintIndex:n}]))}),(0,aM.Do)(t)}if(e.shared.isExemptFromBoundCheck)return aM.V.create();let t=null!=(r=e.shared.boundType)?r:en();return aM.Kn.isSelf(e)&&(0,aM.D4)(t)&&!aM.p5.isPseudoGenericClass(t)&&(t=(0,aX.kT)(t,{useBoundTypeVars:aM.Kn.isBound(e)})),e.priv.isUnpacked&&(0,aM.D4)(t)&&(t=aM.p5.cloneForUnpacked(t)),t=aM.Ab.isInstantiable(e)?(0,aX.xy)(t):t,(0,aX.cH)(t,[{typeVar:e,constraintIndex:0}])}return e})}async function ey(e,t,i,r=0){let n=[],a=!1;async function s(e,s){let o=(0,aM.mi)(e)?e:em(e);o=(0,aX.In)(o),(null==t?void 0:t.expandCallback)&&(o=await t.expandCallback(o)),await l1(o,async(o,l,d)=>{if(null==t?void 0:t.conditionFilter){let e=await eg(o,t.conditionFilter,r);if(!e)return;o=e}let u=await i(o,e,s&&l===d.length-1);if(u!==e&&(a=!0),u){var p;let e=null==(p=(0,aX.An)(o))?void 0:p.filter(e=>aM.Kn.hasConstraints(e.typeVar));e&&e.length>0&&(u=(0,aX.cH)(u,e)),0!==n.length&&(0,aM.J5)(u,n[n.length-1])||n.push(u)}},null==t?void 0:t.sortSubtypes)}if((0,aM.mi)(e)){let i=(null==t?void 0:t.sortSubtypes)?(0,aX.wE)(e.priv.subtypes):e.priv.subtypes;await lH(i,async(t,i)=>{await s(t,i===e.priv.subtypes.length-1)})}else await s(e,!0);if(!a)return e;let o=(0,aM.Do)(n);return o.category===aM.vb.Union&&aM.gn.addTypeAliasSource(o,e),o}async function eg(e,t,i){if(i>aM.Wn)return e;if(i++,aM.CH.isCompatible((0,aX.An)(e),t)){if((0,aM.D4)(e)&&e.priv.typeArgs&&!e.priv.tupleTypeArgs){await t0(e);let r=!1,n=await lJ(e.priv.typeArgs,async(n,a)=>{if(a>=e.shared.typeParams.length||aM.Kn.getVariance(e.shared.typeParams[a])!==aM.id.Covariant||(0,aM.CP)(n)&&n.shared.recursiveAlias)return n;let s=await ey(n,{conditionFilter:t},e=>Promise.resolve(e),i);return s!==n&&(r=!0),s});if(r)return aM.p5.specialize(e,n)}return e}}async function ef(e,t,i,r=!1,n=!1){switch((0,aM.mw)(t.type,e=>(0,aM.sQ)(e))&&(t={...t,type:(0,aM.E8)(t.type)}),e.nodeType){case aO.ye.Name:await ep(e,t);break;case aO.ye.MemberAccess:await ec(e,t,i);break;case aO.ye.Index:{let r=await D(e.d.leftExpr,lO.WB.IndexBaseDefaults);await eW(e,r,{method:"set",setType:t,setErrorNode:i},lO.WB.None),w(e,t,lO.WB.None);break}case aO.ye.List:case aO.ye.Tuple:await eh(e,t,i);break;case aO.ye.TypeAnnotation:await j(e.d.annotation,{varTypeAnnotation:!0,allowFinal:await e_(e.d.valueExpr),allowClassVar:await ev(e.d.valueExpr)}),await ef(e.d.valueExpr,t,i,r,n);break;case aO.ye.Unpack:await ef(e.d.expr,{type:await ix(e.d.expr,"list",[t.type]),isIncomplete:t.isIncomplete},i,r,n);break;case aO.ye.Error:e.d.child&&await D(e.d.child)}}async function ev(e){let t=aL.Ji(e,!0);return!!t&&!await eT(t)}async function e_(e){let t=aL.Ji(e,!0);return!(t&&await eT(t))&&aL.I9(e)}async function eT(e){var t;let i=null==(t=await tQ(e))?void 0:t.classType;return!!i&&(aM.p5.isTypedDictClass(i)||!!i.shared.namedTupleEntries)}async function ew(e){switch(e.nodeType){case aO.ye.Name:await D(e);break;case aO.ye.MemberAccess:{let t=await D(e.d.leftExpr,lO.WB.MemberAccessBaseDefaults),i={type:(await eD(e,t,{method:"del"},lO.WB.None)).type};w(e.d.member,i,lO.WB.None),w(e,i,lO.WB.None);break}case aO.ye.Index:{let t=await D(e.d.leftExpr,lO.WB.IndexBaseDefaults);await eW(e,t,{method:"del"},lO.WB.None),w(e,{type:aM.Ui.create()},lO.WB.None);break}case aO.ye.Tuple:await lH(e.d.items,async e=>{await ew(e)});break;case aO.ye.Error:e.d.child&&await D(e.d.child)}}async function eb(e,t){let i,n,a=await r.getFileInfo(e),s=e.d.value,o=!1,l=(t&lO.WB.ForwardRefs)!=0||a.isStubFile,d=await iF(e,s,!l,l&&(t&lO.WB.TypeExpression)!=0);if(!d){let i=iL(e);i&&(d=await iF(i,i.d.value,!l,l&&(t&lO.WB.TypeExpression)!=0))}if(d){if(i=d.symbol,!a.diagnosticRuleSet.analyzeUnannotatedFunctions){let t=aL.hP(e);if(t&&aL.kM(t))return{type:aM.V.create(),isIncomplete:!1}}let r=await iH(i,void 0),s=(0,aX.In)(r.type);r.isIncomplete&&((0,aM.sQ)(s)&&(s=aM.vn.create(!0)),o=!0),n=s,(t&lO.WB.TypeExpression)!=0&&(n=await eI(e,n,!!r.includesVariableDecl)),(0,aM.CP)(n)&&!n.shared.isSynthesized&&(n=await eP(e,n,t)),n=await eS(e,n,t,!!r.includesVariableDecl)}else n="reveal_type"===s||"reveal_locals"===s?aM.V.create():aM.vn.create();return(0,aM.Bo)(n)&&n.priv.scopeId&&t&lO.WB.NoParamSpec&&(n=aM.vn.create()),(t&lO.WB.InstantiableType)!=0&&(0,aM.aE)(n)&&(0,aX.Id)(n)&&(n=aM.p5.cloneAsInstantiable(n)),{type:n=eC(n,t),isIncomplete:o}}async function eS(e,t,i,r){var n,a;if(!await rw(e))return t;let s=ek(t,r);if(null==(n=t.props)?void 0:n.typeForm)return(i&lO.WB.NoConvertSpecialForm)==0||s||(t=aM.Ab.cloneWithTypeForm(t,void 0)),t;if(!s)return t;if((0,aM.CP)(t)&&t.priv.scopeId&&!t.shared.isSynthesized){if(!(0,aM.wh)(t)||!t.priv.isInUnion){let i=aL.Gu(e);t=aM.Ab.cloneWithTypeForm(t,(0,aX.gU)((0,aX.ru)(t,i)))}}else!(0,aM.dL)(t)||t.priv.includeSubclasses||aM.p5.isSpecialBuiltIn(t)||(t=aM.p5.isBuiltIn(t,"Any")?aM.Ab.cloneWithTypeForm(t,aM.V.create()):aM.Ab.cloneWithTypeForm(t,aM.p5.cloneAsInstance((0,aX.ap)(t))));if((null==(a=t.props)?void 0:a.typeAliasInfo)&&aM.Ab.isInstantiable(t)){let e=t;(i&lO.WB.NoSpecialize)==0&&(e=await eL(e,void 0)),t=aM.Ab.cloneWithTypeForm(t,(0,aX.gU)(e))}return t}function ek(e,t){var i,r,n;return!!(!t||(null==(i=e.props)?void 0:i.typeAliasInfo)||(0,aX.qs)(e)||(0,aM.CP)(e)&&((null==(r=e.props)?void 0:r.specialForm)||(null==(n=e.props)?void 0:n.typeAliasInfo)))||!!((0,aM.D4)(e)&&!e.priv.includeSubclasses&&aM.p5.isValidTypeAliasClass(e)||(0,aX.Id)(e))}async function eI(e,t,i){return ek(t,i)||(await r.getFileInfo(e)).isTypingStubFile?t:aM.vn.create()}function eC(e,t,i=!1){var r,a,s,o;return(t&(lO.WB.TypeExpression|lO.WB.InstantiableType|lO.WB.NoConvertSpecialForm))!=0?e:i&&(0,aM.FS)(e)&&(null==n?void 0:n.moduleTypeClass)&&(0,aM.dL)(n.moduleTypeClass)?aM.p5.cloneAsInstance(n.moduleTypeClass):(t&lO.WB.IsinstanceArg)!=0&&(0,aM.mi)(e)&&(null==(o=e.props)?void 0:o.typeAliasInfo)&&!e.props.typeAliasInfo.shared.isTypeAliasType?e:(null==(r=e.props)?void 0:r.specialForm)&&((t&lO.WB.NoSpecialize)==0||null==(a=e.props)||!a.typeAliasInfo||aM.p5.isBuiltIn(e.props.specialForm,"TypeAliasType"))?(null==(s=e.props)?void 0:s.typeForm)?aM.Ab.cloneWithTypeForm(e.props.specialForm,e.props.typeForm):e.props.specialForm:e}async function eP(e,t,i){if(!aM.Ab.isInstantiable(t)||(0,aX.qs)(t))return t;if(t.priv.scopeId||(t=await ex(e,t,i)),t.priv.scopeId&&!aM.Kn.isBound(t)){var r;let i=null==(r=await eF(e,t))?void 0:r.scopeNode;if(i){let r=aL.qY(e);r&&aL.xk(r,i)&&(i.nodeType!==aO.ye.Class||i.d.suite!==r)&&(t=aM.Kn.cloneAsBound(t))}}return((0,aM.RN)(t)&&(t=aM.Kn.cloneForPacked(t)),(i&lO.WB.EnforceClassTypeVarScope)!=0&&!function(e,t){var i,r;let n=null!=(i=null==(r=t.priv.freeTypeVar)?void 0:r.priv.scopeId)?i:t.priv.scopeId;if(!n)return!0;let a=aL.Ji(e);return!a||!!aL.Gu(a).includes(n)}(e,t))?aM.vn.create():t}async function ex(e,t,i){let r=await eF(e,t);if(t=r.type,(i&lO.WB.NoTypeVarWithScopeId)!=0&&t.priv.scopeId){if(t.shared.isSynthesized||(0,aM.Bo)(t)||t.shared.isTypeParamSyntax)return t;let i=aL.sR(e);return i&&i.d.typeParams&&!i.d.typeParams.d.params.some(t=>t.d.name===e),t}if((i&lO.WB.TypeVarGetsCurScope)!=0){var n;if(t.priv.scopeId)return t;let i=aL.kz(e);if(i&&(null==(n=e.parent)?void 0:n.nodeType)===aO.ye.MemberAccess&&e.parent.d.leftExpr===e){let t=e.parent.d.member.d.value;if("args"===t||"kwargs"===t){let e=aL.kz(i);(null==e?void 0:e.nodeType)===aO.ye.Function&&(i=e)}}i||(0,n6.fJ)("AssociateTypeVarsWithCurrentScope flag was set but enclosing scope not found");let r=aL.tp(i);return aM.Kn.cloneForScopeId(t,r,i.d.name.d.value,i.nodeType===aO.ye.Function?aM.O1.Function:aM.O1.Class)}return(i&lO.WB.AllowTypeVarWithoutScopeId)==0&&t.priv.scopeId&&!r.foundInterveningClass,t}async function eF(e,t){let i=e,r=0;for((0,n6.vA)(aM.Ab.isInstantiable(t));i;){let e,n=aL.sR(i);if(!n)break;let a=!1;if((i=n).nodeType===aO.ye.Class){let t=await tQ(i);t&&!aM.p5.isPartiallyEvaluated(t.classType)&&(e=t.classType.shared.typeParams),a=!!i.d.typeParams,r++}else if(i.nodeType===aO.ye.Function){let t=await t7(i);t&&(e=t.shared.typeParams),a=!!i.d.typeParams}else i.nodeType===aO.ye.TypeAlias&&(a=!!i.d.typeParams);if(e){let i=e.find(e=>e.shared.name===t.shared.name);if((null==i?void 0:i.priv.scopeId)!==void 0&&void 0!==i.priv.scopeName&&void 0!==i.priv.scopeType)return{type:t=aM.Kn.cloneForScopeId(t,i.priv.scopeId,i.priv.scopeName,i.priv.scopeType),scopeNode:n,foundInterveningClass:r>1&&!a}}i=i.parent}for(i=e;i;){let e,r,s;if(i.nodeType===aO.ye.TypeAlias?(e=await T(i.d.name,lO.WB.None),r=i,s=i):i.nodeType===aO.ye.Assignment&&(e=await T(i.d.leftExpr,lO.WB.None),s=i),e&&s&&e&&(0,aM.CP)(e)&&e.shared.recursiveAlias){var n,a;if(!r||t.shared.isTypeParamSyntax||(null==(n=t.props)?void 0:n.typeAliasInfo)){let i=null==(a=e.shared.recursiveAlias)?void 0:a.typeParams;if(i&&!i.some(e=>e.shared.name===t.shared.name))return{type:t,scopeNode:s,foundInterveningClass:!1}}return{type:aM.Kn.cloneForScopeId(t,e.shared.recursiveAlias.typeVarScopeId,e.shared.recursiveAlias.name,aM.O1.TypeAlias),scopeNode:s,foundInterveningClass:!1}}i=i.parent}return{type:t,scopeNode:void 0,foundInterveningClass:!1}}async function eA(e,t){let i=lO.WB.MemberAccessBaseDefaults;if(i|=t&(lO.WB.TypeExpression|lO.WB.VarTypeAnnotation|lO.WB.ForwardRefs|lO.WB.NotParsed|lO.WB.NoTypeVarWithScopeId|lO.WB.TypeVarGetsCurScope),(t&lO.WB.InstantiableType)!=0){let t=e.d.member.d.value;("args"===t||"kwargs"===t)&&(i|=lO.WB.NoConvertSpecialForm)}let r=await D(e.d.leftExpr,i);if((0,aX.qs)(r.type))return{type:aM.vn.create(!0),isIncomplete:!0};let n=await eD(e,r,{method:"get"},t|lO.WB.NoSpecialize);return r.isIncomplete&&(n.isIncomplete=!0),w(e.d.member,n,t),n}async function eD(e,i,a,s){var o,l;let d,u,p=(0,aX.In)(i.type),c=e.d.member.d.value,h=await r.getFileInfo(e),m=!1,y=!!i.isIncomplete;if((null==a||null==(o=a.setType)?void 0:o.isIncomplete)&&(y=!0),i.isIncomplete&&(0,aM.sQ)(p))return{type:aM.vn.create(!0),isIncomplete:!0};switch((null==(l=p.props)?void 0:l.specialForm)&&(s&lO.WB.TypeExpression)==0&&(p=p.props.specialForm),(0,aM.Bo)(p)&&p.priv.paramSpecAccess&&(p=em(p)),p.category){case aM.vb.Any:case aM.vb.Unknown:case aM.vb.Never:d=p;break;case aM.vb.Unbound:break;case aM.vb.TypeVar:if((0,aM.Bo)(p)){if("args"===c||"kwargs"===c){let t="args"===c,i=aL.Yl(e),r=t?aO.OP.ArgsList:aO.OP.KwargsDict;if(!i||i.d.category!==r){d=aM.vn.create(y);break}d=aM.Kn.cloneForParamSpecAccess(p,c);break}d=aM.vn.create(y);break}if((s&lO.WB.TypeExpression)!=0){d=aM.vn.create(y);break}if(p.shared.recursiveAlias){d=aM.vn.create(!0),y=!0;break}if((0,aM.wh)(p))break;return await eD(e,{type:em(p),bindToSelfType:aM.Ab.isInstantiable(p)?(0,aX.gU)(p):p,isIncomplete:y},a,lO.WB.None);case aM.vb.Class:{let t;aM.p5.isNewTypeClass(p)&&!p.priv.includeSubclasses&&(null==n?void 0:n.functionClass)&&(0,aM.D4)(n.functionClass)&&(p=aM.p5.cloneAsInstance(n.functionClass));let r=await uW(rI,e,p,c,y);r&&"get"===a.method&&(t=r),t||(t=await J(e.d.member,p,c,a,(s&lO.WB.TypeExpression)==0?void 0:aX.Mh.TypeExpression,i.bindToSelfType)),t&&(t.typeErrors?m=!0:d=(0,aX.cH)(t.type,(0,aX.An)(p),{skipSelfCondition:!0,skipBoundTypeVars:!0}),t.isIncomplete&&(y=!0),t.narrowedTypeForSet&&(u=(0,aX.cH)(t.narrowedTypeForSet,(0,aX.An)(p),{skipSelfCondition:!0,skipBoundTypeVars:!0})));break}case aM.vb.Module:{let i=aM.nR.getField(p,c);if(i&&!i.isExternallyHidden()){let t=await iH(i,void 0,!0);d=t.type,(s&lO.WB.TypeExpression)!=0&&(d=await eI(e,d,!!t.includesVariableDecl)),d=await eS(e,d,s,!!t.includesVariableDecl),(0,aM.CP)(d)&&(d=await eP(e,d,s)),(0,aM.sQ)(d)&&(d=aM.vn.create(!0))}else{if("get"===a.method){let e=aM.nR.getField(p,"__getattr__");if(e&&(ai.fz.isGreaterOrEqualTo(h.executionEnvironment.pythonVersion,ai.GE)||e.getDeclarations().some(e=>e.uri.hasExtension(".pyi")))){let t=await iH(e);if((0,aM.Tn)(t.type)){let e=await i1(t.type);d=e.type,(t.isIncomplete||e.isIncomplete)&&(y=!0)}}}!d&&p.priv.notPresentFieldType&&(d=p.priv.notPresentFieldType),d||(d=t.evaluateUnknownImportsAsAny?aM.V.create():aM.vn.create())}break}case aM.vb.Union:d=await l5(p,async t=>{if((0,aM.sQ)(t))return;if((0,aX.Lj)(t)){(0,n6.vA)((0,aM.aE)(t));let i=await J(e.d.member,t,c,a);return i&&!i.typeErrors?(d=(0,aX.cH)(i.type,(0,aX.An)(p),{skipBoundTypeVars:!0}),i.isIncomplete&&(y=!0),d):void 0}let r=await eD(e,{type:t,isIncomplete:i.isIncomplete},a,lO.WB.None);return r.isIncomplete&&(y=!0),r.typeErrors&&(m=!0),r.type});break;case aM.vb.Function:case aM.vb.Overloaded:{let t=(0,aM.OG)(p);if("__self__"===c&&t){let e;if((0,aM.Tn)(p))e=p;else{let t=aM.OF.getOverloads(p);t.length>0&&(e=t[0])}d=null==e?void 0:e.priv.boundToType}else{let i=t?null==n?void 0:n.methodClass:null==n?void 0:n.functionClass;d=(await eD(e,{type:i?(0,aX.gU)(i):aM.vn.create()},a,s)).type}break}default:(0,n6.xb)(p)}return d||(d=(0,aM.BL)(p)||(0,aM.aE)(p)&&aM.p5.isBuiltIn(p,["function","FunctionType"])?aM.V.create():aM.vn.create()),{type:d=eC(d,s),isIncomplete:y,narrowedTypeForSet:u,isRequired:!1,isNotRequired:!1,typeErrors:m}}async function eE(e,t,i,r,n,a,s=0){var o,l,d;let u,p,c=aM.Ab.isInstance(t),h=(0,aX.Zn)(t,i,n|aX.Mh.DeclaredTypesOnly);if(h||(h=(0,aX.Zn)(t,i,n)),!h){if((n&aX.Mh.SkipAttributeAccessOverride)==0&&e){let n=await eM(e,t,r,i,a);if(n)return{type:n.type,isTypeIncomplete:!1,isDescriptorError:!1}}return}let m=!1;if(h.symbol.isInitVar())return;if("get"!==r.method&&e){let s=aL.Ji(e);if(s){let d=null==(o=await tQ(s))?void 0:o.classType;if(d&&(0,aM.dL)(d)&&aM.p5.isSameGenericClass(c?aM.p5.cloneAsInstance(d):d,t)){if((u=null==(l=await iX(h.symbol))?void 0:l.type)&&(0,aM.dL)(h.classType)&&(u=(0,aX._T)(u,h.classType,void 0,a)),"set"===r.method&&(0,o0.Qv)(h.symbol,aM.p5.isDataClass(d))&&c){let r=(null!=a?a:"__new__"===i)?void 0:t,s=await i8(e,h,r,n);s&&(0,aX.hN)(s.type,!0)&&(u=s.type,n&=aX.Mh.DisallowClassVarWrites)}u||(u=aM.vn.create())}}}if(!u){let r;a?r=(0,aX.xy)(a):"__new__"!==i&&(r=t);let s=await i8(e,h,r,n);u=null!=(d=null==s?void 0:s.type)?d:aM.vn.create(),(null==s?void 0:s.isIncomplete)&&(m=!0)}if((0,aM.D4)(h.classType)&&aM.p5.isTypedDictClass(h.classType)){let e=h.symbol.getTypedDeclarations();if(e.length>0&&e[0].type===aF.h3.Variable)return}"get"===r.method&&("__init_subclass__"===i||"__class_getitem__"===i)&&(0,aM.Tn)(u)&&!aM.RK.isClassMethod(u)&&(u=aM.RK.cloneWithNewFlags(u,u.shared.flags|aM.wt.ClassMethod));let y=!1,g=!1;return u=await l5(u,async i=>{let o,l=em(i),d=!h||h.isClassMember&&!h.isSlotsMember;if((0,aM.D4)(l)&&d&&e){let s=await eR(i,l,h,t,a,n,e,r);s.typeErrors&&(y=!0),s.isDescriptorApplied&&(g=!0),o=s.type}else if((0,aM.BL)(l)&&aM.Ab.isInstance(l)){let e=await eN(i,l,h,t,a,n,r,s);o=e.type,e.typeErrors&&(y=!0)}else o=i;if("get"===r.method)return o;!g&&h&&(0,o0.Qv)(h.symbol,aM.p5.isDataClass(t))&&(n&aX.Mh.DisallowClassVarWrites)!=0&&(y=!0);let u=null==h?void 0:h.symbol.getDeclarations().find(e=>rg(e));if(u&&e&&!aL.xk(e,u.node)){let i=aL.hP(e);(!i||"__init__"!==i.d.name.d.value||void 0!==u.inferredTypeSource||(0,aM.dL)(t))&&(y=!0)}return(null==h?void 0:h.isInstanceMember)&&(0,aM.D4)(h.classType)&&h.isReadOnly&&(y=!0),o},{retainTypeAlias:!0}),!y&&"set"===r.method&&r.setType&&(e&&h.symbol.hasTypedDeclarations()&&(p=g?r.setType.type:(await rh(u,r.setType)).type),await re(u,r.setType.type)||(p=u,y=!0),(0,aM.dL)(h.classType)&&aM.p5.isDataClassFrozen(h.classType)&&c&&(y=!0)),{type:u,isTypeIncomplete:m,isDescriptorError:y,classType:h.classType,narrowedTypeForSet:p}}async function eR(e,t,i,r,n,a,s,o){var l,d,u,p,c,h,m;let y,g,f,v=aM.Ab.isInstance(r);y="get"===o.method?"__get__":"set"===o.method?"__set__":"__delete__";let _=await J(s,t,y,void 0,aX.Mh.SkipInstanceMembers|aX.Mh.SkipAttributeAccessOverride);if(!_||_.typeErrors)return aM.p5.isPropertyClass(t)&&"get"!==o.method?{type:aM.V.create(),typeErrors:!0}:(r.shared.typeVarScopeId&&(e=(0,aX.ru)(e,[r.shared.typeVarScopeId])),{type:e});let T=_.classType,w=_.type;if(_.typeErrors||!T)return{type:aM.vn.create(),typeErrors:!0};if(!(0,aM.BL)(w))return(0,aM.ah)(w)?{type:w}:{type:e,typeErrors:!0};if(aM.p5.isPropertyClass(t)&&i&&(0,aM.dL)(i.classType)&&w){let s;if((a&aX.Mh.SkipInstanceMembers)!=0&&aM.p5.isProtocolClass(r))return{type:e,typeErrors:!0};if(await iZ(w),s="get"===o.method?null==(l=t.priv.fgetInfo)?void 0:l.classType:"set"===o.method?null==(d=t.priv.fsetInfo)?void 0:d.classType:null==(u=t.priv.fdelInfo)?void 0:u.classType){let e=new lN.w;s=(0,aX.kT)(s),await re(aM.p5.cloneAsInstance(s),aM.p5.cloneAsInstance(i.classType),e),s=await H(s,e);let t=(0,aX._T)(w,s,es(),n?(0,aX.xy)(n):r);(0,aM.BL)(t)&&(w=t)}}if(!w)return{type:aM.vn.create(),typeErrors:!0,isDescriptorApplied:!0};let b=[];if(g=aM.p5.isClassProperty(t)?v?aM.p5.cloneAsInstantiable(r):r:v?null!=n?n:aM.p5.cloneAsInstance(r):ea(),b.push({argCategory:aO.b4.Simple,typeResult:{type:g}}),"get"===o.method){let e;e=n?(0,aX.xy)(n):v?aM.p5.cloneAsInstantiable(r):r,b.push({argCategory:aO.b4.Simple,typeResult:{type:e}})}else"set"===o.method&&b.push({argCategory:aO.b4.Simple,typeResult:{type:null!=(p=null==(c=o.setType)?void 0:c.type)?p:aM.vn.create(),isIncomplete:!!(null==(h=o.setType)?void 0:h.isIncomplete)}});let S=await e1(s,b,{type:w},void 0,!0,void 0);if(S.overloadsUsedForCall&&S.overloadsUsedForCall.length>=1){let e=S.overloadsUsedForCall[0];e.shared.deprecatedMessage&&(f={deprecatedMessage:e.shared.deprecatedMessage,accessType:aM.p5.isPropertyClass(t)?"property":"descriptor",accessMethod:o.method})}return S.argumentErrors?{type:aM.vn.create(),typeErrors:!0,isDescriptorApplied:!0,memberAccessDeprecationInfo:f}:{type:"get"===o.method?null!=(m=S.returnType)?m:aM.vn.create():aM.V.create(),isDescriptorApplied:!0,memberAccessDeprecationInfo:f}}async function eN(e,t,i,r,n,a,s,o=0){if("set"===s.method){let e=(0,aM.Tn)(t)?t:aM.OF.getImplementation(t);if(e&&(0,aM.Tn)(e)&&aM.RK.isFinal(e)&&i&&(0,aM.D4)(i.classType))return{type:aM.vn.create(),typeErrors:!0}}if(aM.Ab.isInstance(r)&&(!i||i.isInstanceMember))return{type:e};let l=await rm(r,t,i&&(0,aM.dL)(i.classType)?i.classType:void 0,(a&aX.Mh.TreatConstructorAsClassMethod)!=0,n&&(0,aM.D4)(n)?aM.p5.cloneIncludeSubclasses(n):n,o);return{type:null!=l?l:aM.vn.create(),typeErrors:!l}}async function eM(e,t,i,r,a){var s,o,l,d,u;let p,c=async i=>{var r;return null==(r=await J(e,t,i,void 0,aX.Mh.SkipInstanceMembers|aX.Mh.SkipObjectBaseClass|aX.Mh.SkipTypeBaseClass|aX.Mh.SkipAttributeAccessOverride,a))?void 0:r.type};if("get"===i.method?p=null!=(o=await c("__getattribute__"))?o:await c("__getattr__"):"set"===i.method?p=await c("__setattr__"):((0,n6.vA)("del"===i.method),p=await c("__delattr__")),!p)return;let h=[];if(h.push({argCategory:aO.b4.Simple,typeResult:{type:(null==n?void 0:n.strClass)&&(0,aM.dL)(n.strClass)?aM.p5.cloneWithLiteral(aM.p5.cloneAsInstance(n.strClass),r):aM.V.create()}}),"set"===i.method&&h.push({argCategory:aO.b4.Simple,typeResult:{type:null!=(l=null==(d=i.setType)?void 0:d.type)?l:aM.vn.create(),isIncomplete:!!(null==(u=i.setType)?void 0:u.isIncomplete)}}),!(0,aM.BL)(p))return(0,aM.ah)(p)?{type:p}:void 0;let m=await e1(e,h,{type:p},void 0,!0,void 0);return{type:null!=(s=m.returnType)?s:aM.vn.create(),typeErrors:m.argumentErrors}}async function eO(e,t=lO.WB.None){let i=await D(e.d.leftExpr,t|lO.WB.IndexBaseDefaults);if((t&lO.WB.ForwardRefs)==0){let i=(t&lO.WB.VarTypeAnnotation)!=0;if(i){let t=aL.Fy(e);(null==t?void 0:t.nodeType)===aO.ye.Module&&(i=!1)}}let r=await eW(e,i,{method:"get"},t);return i.isIncomplete&&(r.isIncomplete=!0),r}function eU(e,t){return!!e.priv.isUnpacked}async function eL(e,t){var i;let r=null==(i=e.props)?void 0:i.typeAliasInfo;if(!r||!r.shared.typeParams||0===r.shared.typeParams.length||r.typeArgs)return e;let a=[],s=new lN.w;return await lH(r.shared.typeParams,async e=>{let t;t=e.shared.isDefaultExplicit||(0,aM.Bo)(e)?await H(e,s,{replaceUnsolved:{scopeIds:[r.shared.typeVarScopeId],tupleClassType:er()}}):(0,aM.wh)(e)&&(null==n?void 0:n.tupleClass)&&(0,aM.dL)(n.tupleClass)?pg(rI,[{type:aM.vn.create(),isUnbounded:!0}],!0):aM.vn.create(),a.push(t),s.setBounds(e,t)}),e=aM.Ab.cloneForTypeAlias(await H(e,s,{replaceUnsolved:{scopeIds:[r.shared.typeVarScopeId],tupleClassType:er()}}),{...r,typeArgs:a})}async function ez(e,t,i){var r,n,a,s,o,l;let d,u=null==(r=t.props)?void 0:r.typeAliasInfo,p=t;if(!u&&(null==(n=t.props)?void 0:n.typeForm)&&(u=null==(l=t.props.typeForm)||null==(o=l.props)?void 0:o.typeAliasInfo,p=(0,aX.xy)(t.props.typeForm)),!(null==u?void 0:u.shared.typeParams)||0===u.shared.typeParams.length&&u.typeArgs||!aM.Ab.isInstantiable(p)||u.typeArgs)return;await eB(t);let c=u.shared.typeParams;d=function(e,t,i){let r,n=t.findIndex(e=>(0,aM.wh)(e)),a=e.findIndex((e,t)=>!(t<0)&&!!(0,aM.wO)(e.type)&&!!e.type.priv.tupleTypeArgs&&1===e.type.priv.tupleTypeArgs.length&&!!e.type.priv.tupleTypeArgs[0].isUnbounded&&(r=e.type.priv.tupleTypeArgs[0].type,!0));if(r&&a>=0&&n>=0&&e.length<t.length){for(;n>a;)e=[...e.slice(0,a),{node:e[a].node,type:r},...e.slice(a)],a++;for(;e.length<t.length;)e=[...e.slice(0,a+1),{node:e[a].node,type:r},...e.slice(a+1)]}if(n>=0){let r=t[n],a=t.length;for(;a>0;){let e=t[a-1];if(!(0,aM.Bo)(e)||!e.shared.isDefaultExplicit)break;a--}if(n<e.length){let t=n+1+e.length-a;for(;t>n&&e[t-1].typeList;)t--;let i=e.slice(n,t);if(1===i.length&&(0,aM.wh)(i[0].type))eU(i[0].type,i[0].node);else{i.forEach((e,t)=>{tU(e,{allowEmptyTuple:0===t,allowTypeVarTuple:!0,allowUnpackedTuples:!0})});let r=[];1===i.length&&i[0].isEmptyTupleShorthand||i.forEach(e=>{(0,aM.wO)(e.type)&&e.type.priv.tupleTypeArgs?(0,ap.af)(r,e.type.priv.tupleTypeArgs):r.push({type:(0,aX.gU)(e.type),isUnbounded:!1})});let a=pg(rI,r,!0);e=[...e.slice(0,n),{node:e[n].node,type:a},...e.slice(t,e.length)]}}else r.shared.isDefaultExplicit||e.push({node:i,type:pg(rI,[],!0)})}return e}(await eV(e,i),c,e);let h=!1;(d=function(e,t,i){if(1!==e.length||!(0,aM.Bo)(e[0])||!t)return t;if(t.length>1){for(let e of t)if((0,aM.Bo)(e.type)||(0,aX.U8)(e.type)||(0,aM.dL)(e.type)&&aM.p5.isBuiltIn(e.type,"Concatenate")||e.typeList)return}if(1===t.length){if(t[0].typeList)return t;let e=t[0].type;if((0,aM.Bo)(e)||(0,aX.U8)(e)||(0,aM.dL)(e)&&aM.p5.isBuiltIn(e,"Concatenate"))return t}return[{type:aM.vn.create(),node:t.length>0?t[0].node:i,typeList:t}]}(c,d,e))||(d=[],h=!0);let m=c.length,y=c.findIndex(e=>!!e.shared.isDefaultExplicit);if(y>=0&&(m=y),d.length>c.length?h=!0:d.length<m&&(h=!0),(0,aM.dL)(p)&&"mypy_extensions.FlexibleAlias"===p.shared.fullName&&d.length>=1)return{node:e,type:d[0].type};let g=new lN.w;await lH(c,async(e,t)=>{if((0,aM.Bo)(e)&&t<d.length){let i=d[t].type,r=d[t].typeList;if(r){let t=aM.RK.createSynthesizedInstance("",aM.wt.ParamSpecValue);r.forEach((e,i)=>{let r=e.type;tU(e)||(r=aM.vn.create()),aM.RK.addParam(t,aM.gk.create(aO.OP.Simple,(0,aX.gU)(r),aM.D5.NameSynthesized|aM.D5.TypeDeclared,`__p${i}`))}),r.length>0&&aM.RK.addPositionOnlyParamSeparator(t),await dM(rI,e,t,g,lO.fW.RetainLiteralsForTypeVar)}else if((0,aM.Bo)(i))await dM(rI,e,(0,aX.gU)(i),g,lO.fW.RetainLiteralsForTypeVar);else if((0,aM.dL)(i)&&aM.p5.isBuiltIn(i,"Concatenate")){let t=i.priv.typeArgs,r=aM.RK.createInstance("","","",aM.wt.None);t&&t.length>0&&t.forEach((e,i)=>{i===t.length-1?(aM.RK.addPositionOnlyParamSeparator(r),(0,aM.Bo)(e)?aM.RK.addParamSpecVariadics(r,e):(0,aX.U8)(e)&&(aM.RK.addDefaultParams(r),r.shared.flags|=aM.wt.GradualCallableForm)):aM.RK.addParam(r,aM.gk.create(aO.OP.Simple,e,aM.D5.NameSynthesized|aM.D5.TypeDeclared,`__p${i}`))}),await dM(rI,e,r,g,lO.fW.RetainLiteralsForTypeVar)}else if((0,aX.U8)(i)){let t=aM.RK.createSynthesizedInstance("",aM.wt.ParamSpecValue|aM.wt.GradualCallableForm);aM.RK.addDefaultParams(t),await dM(rI,e,t,g)}else h=!0}else{let i;t<d.length&&d[t].typeList&&(h=!0),i=t<d.length?(0,aX.gU)(d[t].type):e.shared.isDefaultExplicit?await H(e,g,{replaceUnsolved:{scopeIds:[u.shared.typeVarScopeId],tupleClassType:er()}}):aM.vn.create(),(0,aM.q5)(i)&&!(0,aM.wh)(e)&&(i=aM.vn.create()),await dM(rI,e,i,g,lO.fW.RetainLiteralsForTypeVar)}});let f=(await dO(rI,g)).getMainSolutionSet(),v=[];null==(a=u.shared.typeParams)||a.forEach(e=>{let t=f.getType(e);t||(t=(0,aX.D0)(e,er()),g.setBounds(e,t)),v.push(t)});let _=aM.Ab.cloneForTypeAlias(await H(p,g),{...u,typeArgs:v});return(await rw(e)&&(_=aM.Ab.cloneWithTypeForm(_,h?void 0:(0,aX.gU)(_))),null==(s=t.props)?void 0:s.typeAliasInfo)?{type:_,node:e}:{type:aM.Ab.cloneWithTypeForm(t,(0,aX.gU)(_)),node:e}}async function eW(e,t,i,r){var n,a,s;let o=await ez(e,t.type,r);if(o)return o;if((0,aM.Pd)(t.type)&&(null==(n=t.type.props)?void 0:n.specialForm)&&(t={...t,type:t.type.props.specialForm}),(0,aM.aE)(t.type)&&aM.p5.isBuiltIn(t.type,"TypeAliasType")&&(null==(a=t.type.props)?void 0:a.typeForm)){let i=null==(s=t.type.props.typeForm.props)?void 0:s.typeAliasInfo;if(i&&i.shared.typeParams){let n=aM.Ab.cloneForTypeAlias((0,aX.xy)(t.type.props.typeForm),{...i,typeArgs:void 0}),a=await ez(e,n,r);if(a)return{type:aM.Ab.cloneWithTypeForm(t.type,(0,aX.gU)(a.type))}}}if((0,aM.CP)(t.type)&&(0,aX.qs)(t.type)){let i=(await eV(e,r)).map(e=>(0,aX.gU)(e.type));return{type:aM.Ab.cloneForTypeAlias(t.type,{shared:t.type.shared.recursiveAlias,typeArgs:i})}}let l=t.isIncomplete,d=await ey(t.type,void 0,async(t,n)=>{let a=(0,aM.CP)(n)?n:void 0;if((0,aM.ah)(t))return(r&lO.WB.TypeExpression)!=0&&await eV(e,r),t;if(r&lO.WB.InstantiableType&&(0,aM.CP)(n))return await eV(e,r),aM.vn.create();if((0,aM.dL)(t)){if(t.shared.effectiveMetaclass&&(0,aM.dL)(t.shared.effectiveMetaclass)&&!aM.p5.isBuiltIn(t.shared.effectiveMetaclass,["type","_InitVarMeta"])&&(r&lO.WB.InstantiableType)==0&&await Y(t,ej(i),void 0,e.d.leftExpr))return(await eK(e,t,a,i)).type;if(aM.p5.isSpecialBuiltIn(t,"Literal"))return await tW(t,e,r);if(aM.p5.isBuiltIn(t,"InitVar")){let t=await eV(e,r);return 1===t.length?t[0].type:aM.vn.create()}return aM.p5.isEnumClass(t)?aM.p5.cloneAsInstance(t):t}if((0,aX.Lj)(t))return aM.vn.create();if((0,aM.aE)(t)){let r=await eK(e,t,a,i);return r.isIncomplete&&(l=!0),r.type}return(0,aM.Pd)(t)?aM.Xl.createNever():((0,aM.sQ)(t),aM.vn.create())});return t.isIncomplete||await lH(e.d.items,async e=>{_(e.d.valueExpr)||await D(e.d.valueExpr,r&lO.WB.ForwardRefs)}),{type:d,isIncomplete:l,isReadOnly:!1,isRequired:!1,isNotRequired:!1}}async function eB(e){var t;let i=null==(t=e.props)?void 0:t.typeAliasInfo;if(!i||!i.shared.typeParams)return;if(i.shared.computedVariance)return i.shared.computedVariance;let r=i.shared.typeParams,n=r.map(()=>aM.id.Unknown);return i.shared.computedVariance=n,await e$(e,r,n,aM.id.Covariant),n}async function e$(e,t,i,r,n=[],a=0){if(a>aM.Wn)return;let s=(0,aX.In)(e),o=s!==e;if(o){if(n.filter(t=>(0,aM.J5)(t,e)).length>1)return;n.push(e)}async function l(e,r){await l1(e,async e=>{let s=t.findIndex(t=>(0,aM.J5)(t,e));s>=0?i[s]=(0,aX.CR)(i[s],r):await e$(e,t,i,r,n,a)})}a++,await l1(s,async e=>{if(e.category===aM.vb.Function){await lH(e.shared.parameters,async(t,i)=>{let n=aM.RK.getParamType(e,i);await l(n,(0,aX.Ig)(r))});let t=aM.RK.getEffectiveReturnType(e);t&&await l(t,r)}else e.category===aM.vb.Class&&e.priv.typeArgs&&(await t0(e),await lH(e.priv.typeArgs,async(t,i)=>{if((0,aX.Bj)(e))await l(t,r);else if(i<e.shared.typeParams.length){let a=e.shared.typeParams[i];if((0,aM.wO)(t)&&t.priv.tupleTypeArgs)await lH(t.priv.tupleTypeArgs,async e=>{await l(e.type,aM.id.Invariant)});else{var n;let e=null!=(n=a.priv.computedVariance)?n:a.shared.declaredVariance;await l(t,r===aM.id.Contravariant?(0,aX.Ig)(e):e)}}}))}),o&&n.pop()}function ej(e){return"get"===e.method?"__getitem__":"set"===e.method?"__setitem__":((0,n6.vA)("del"===e.method),"__delitem__")}async function eK(e,t,i,r){var n,a,s,o,l;let d;if((0,aM.aE)(t)&&aM.p5.isTypedDictClass(t)){let i=await dh(rI,e,t,r);if(i)return i}let u=ej(r),p=await Y(t,u,i,e.d.leftExpr);if(!p)return{type:aM.vn.create()};if(1===e.d.items.length&&!e.d.trailingComma&&!e.d.items[0].d.name&&e.d.items[0].d.argCategory===aO.b4.Simple&&(0,aM.aE)(t)){let i=e.d.items[0].d.valueExpr,r=(await D(i)).type;if((0,aM.aE)(r)&&aM.p5.isBuiltIn(r,"int")&&(0,aX.aw)(r)&&"number"==typeof r.priv.literalValue){let e=r.priv.literalValue,i=(0,aX.yr)(t);if(i&&i.priv.tupleTypeArgs&&(0,aX.sv)(i,e)){if(e>=0&&e<i.priv.tupleTypeArgs.length)return{type:i.priv.tupleTypeArgs[e].type};else if(e<0&&i.priv.tupleTypeArgs.length+e>=0)return{type:i.priv.tupleTypeArgs[i.priv.tupleTypeArgs.length+e].type}}}else if((0,aM.aE)(r)&&aM.p5.isBuiltIn(r,"slice")){let e=(0,aX.yr)(t);if(e&&i.nodeType===aO.ye.Slice){let t=await pw(rI,e,i);if(t)return{type:t}}}}let c=e.d.items.filter(e=>e.d.argCategory===aO.b4.Simple&&!e.d.name),h=e.d.items.filter(e=>e.d.argCategory===aO.b4.UnpackedList),m=e.d.items.filter(e=>e.d.argCategory===aO.b4.Simple&&!!e.d.name),y=e.d.items.filter(e=>e.d.argCategory===aO.b4.UnpackedDictionary),g=!1;if(1!==c.length||0!==h.length||e.d.trailingComma)if(0===c.length&&0===h.length)d=pg(rI,[]);else{let e=[];await lH(c,async t=>{let i=await D(t.d.valueExpr);e.push({type:i.type,isUnbounded:!1}),i.isIncomplete&&(g=!0)}),await lH(h,async t=>{var i,r;let n=await D(t.d.valueExpr);n.isIncomplete&&(g=!0);let a=null!=(i=null==(r=await et(n,!1,t.d.valueExpr))?void 0:r.type)?i:aM.vn.create();e.push({type:a,isUnbounded:!0})}),d=pg(rI,e)}else{let e=await D(c[0].d.valueExpr);d=e.type,e.isIncomplete&&(g=!0)}let f=[{argCategory:aO.b4.Simple,typeResult:{type:d,isIncomplete:g}}];if("set"===r.method){let e=null!=(a=null==(s=r.setType)?void 0:s.type)?a:aM.V.create();(0,aM.CP)(e)&&aM.Kn.hasConstraints(e)&&(e=em(e,void 0,(0,aM.aE)(t)?null==(l=t.props)?void 0:l.condition:void 0)),f.push({argCategory:aO.b4.Simple,typeResult:{type:e,isIncomplete:!!(null==(o=r.setType)?void 0:o.isIncomplete)}})}m.forEach(e=>{f.push({argCategory:aO.b4.Simple,valueExpression:e.d.valueExpr,node:e,name:e.d.name})}),y.forEach(e=>{f.push({argCategory:aO.b4.UnpackedDictionary,valueExpression:e.d.valueExpr,node:e})});let v=await e1(e,f,{type:p},void 0,!0,void 0);return{type:null!=(n=v.returnType)?n:aM.vn.create(),isIncomplete:!!v.isTypeIncomplete}}async function eV(e,t,i){let n=[],a=t|lO.WB.NoConvertSpecialForm;a&=~lO.WB.TypeFormArg;let s=async()=>{let t=aL.Ji(e,!0);if(t){let e=await tQ(t);if(e&&aM.p5.isDataClass(e.classType))return!0}return!1};(null==i?void 0:i.isFinalAnnotation)?(a|=lO.WB.NoFinal,await s()||(a|=lO.WB.NoClassVar)):(null==i?void 0:i.isClassVarAnnotation)?(a|=lO.WB.NoClassVar,await s()||(a|=lO.WB.NoFinal)):(a&=~(lO.WB.NoSpecialize|lO.WB.NoParamSpec|lO.WB.NoTypeVarTuple|lO.WB.AllowRequired|lO.WB.EnforceVarianceConsistency),(null==i?void 0:i.isAnnotatedClass)||(a|=lO.WB.NoClassVar|lO.WB.NoFinal),a|=lO.WB.AllowUnpackedTuple|lO.WB.AllowConcatenate);let o=async(t,n)=>{let s;return(null==i?void 0:i.hasCustomClassGetItem)?(a=lO.WB.NoParamSpec|lO.WB.NoTypeVarTuple|lO.WB.NoSpecialize|lO.WB.NoClassVar,s={...await D(t,a),node:t}):(null==i?void 0:i.isAnnotatedClass)&&n>0?(a=lO.WB.NoParamSpec|lO.WB.NoTypeVarTuple|lO.WB.NoSpecialize|lO.WB.NoClassVar,(0,dx.O)(await r.getFileInfo(e))&&(a|=lO.WB.ForwardRefs),s={...await D(t,a),node:t}):s=await eq(t,a,!!(null==i?void 0:i.supportsTypedDictTypeArg)&&0===n),s};return 1!==e.d.items.length||e.d.trailingComma||e.d.items[0].d.name||e.d.items[0].d.valueExpr.nodeType!==aO.ye.Tuple?await lH(e.d.items,async(e,r)=>{let a=await o(e.d.valueExpr,r);if(e.d.argCategory!==aO.b4.Simple&&e.d.argCategory===aO.b4.UnpackedList&&(!(null==i?void 0:i.isAnnotatedClass)||0===r)){let e=function(e){if((0,aM.wh)(e))return e.priv.isUnpacked?void 0:aM.Kn.cloneForUnpacked(e);if(!(0,aM.Bo)(e)){if((0,aM.CP)(e)){let t=e.shared.boundType;return t&&(0,aM.aE)(t)&&(0,aX.Bj)(t)?aM.Kn.cloneForUnpacked(e):void 0}if((0,aM.dL)(e)&&!e.priv.includeSubclasses&&(0,aX.Bj)(e))return aM.p5.cloneForUnpacked(e)}}(a.type);e?a.type=e:(t&lO.WB.TypeExpression)!=0?a.typeErrors=!0:a.type=aM.vn.create()}e.d.name&&((t&lO.WB.TypeExpression)!=0?a.typeErrors=!0:a.type=aM.vn.create()),(e.d.valueExpr.nodeType!==aO.ye.Error||e.d.valueExpr.d.category!==aO.NV.MissingIndexOrSlice)&&n.push(a)}):(await lH(e.d.items[0].d.valueExpr.d.items,async(e,t)=>{n.push(await o(e,t))}),b(e.d.items[0].d.valueExpr,{type:aM.vn.create()})),n}async function eq(e,t,i){let a,s=t|lO.WB.InstantiableType|lO.WB.ConvertEllipsisToAny|lO.WB.StrLiteralAsType;if((await r.getFileInfo(e)).isStubFile&&(s|=lO.WB.ForwardRefs),e.nodeType===aO.ye.List)a={type:aM.vn.create(),typeList:await lJ(e.d.items,async e=>({...await D(e,s),node:e})),node:e},b(e,{type:aM.vn.create()});else if(e.nodeType===aO.ye.Dictionary&&i){let t=(null==n?void 0:n.typedDictClass)&&(0,aM.dL)(n.typedDictClass)?await di(rI,e,n.typedDictClass):void 0;a={type:(null==n?void 0:n.strClass)&&(0,aM.dL)(n.strClass)?n.strClass:aM.vn.create(),inlinedTypeDict:t,node:e}}else a={...await D(e,s),node:e};return a}async function eG(e,t){var i;let r=await D(t.d.leftExpr),n=aL.HQ(t).map(e=>({valueExpression:e.d.valueExpr,argCategory:e.d.argCategory,node:e,name:e.d.name}));if((0,aX.qs)(r.type)||t.d.leftExpr.nodeType===aO.ye.Name&&"super"===t.d.leftExpr.d.value||(0,aM.ah)(r.type)&&t.d.leftExpr.nodeType===aO.ye.Name&&"reveal_type"===t.d.leftExpr.d.value||(0,aM.ah)(r.type)&&t.d.leftExpr.nodeType===aO.ye.Name&&"reveal_locals"===t.d.leftExpr.d.value&&0===t.d.args.length||(0,aM.Tn)(r.type)&&aM.RK.isBuiltIn(r.type,"reveal_type")||(0,aM.Tn)(r.type)&&aM.RK.isBuiltIn(r.type,"assert_type")||(0,aM.D4)(r.type)&&aM.p5.isBuiltIn(r.type,"TypeForm"))return e;let a=await e1(t,n,r,void 0,!1,void 0);return e.type=null!=(i=a.returnType)?i:aM.vn.create(),a.argumentErrors?e.typeErrors=!0:e.overloadsUsedForCall=a.overloadsUsedForCall,e}async function eH(e,t,i){var r;let n,a={type:aM.vn.create()};n=e.d.leftExpr.nodeType===aO.ye.Lambda?await eJ(e,i):await D(e.d.leftExpr,lO.WB.CallBaseDefaults|t&lO.WB.ForwardRefs);let s=aL.HQ(e).map(e=>({valueExpression:e.d.valueExpr,argCategory:e.d.argCategory,node:e,name:e.d.name}));if((0,aX.qs)(n.type)||e.d.leftExpr.nodeType===aO.ye.Name&&"super"===e.d.leftExpr.d.value||(0,aM.ah)(n.type)&&e.d.leftExpr.nodeType===aO.ye.Name&&"reveal_type"===e.d.leftExpr.d.value||(0,aM.ah)(n.type)&&e.d.leftExpr.nodeType===aO.ye.Name&&"reveal_locals"===e.d.leftExpr.d.value&&0===e.d.args.length||(0,aM.Tn)(n.type)&&aM.RK.isBuiltIn(n.type,"reveal_type")||(0,aM.Tn)(n.type)&&aM.RK.isBuiltIn(n.type,"assert_type")||(0,aM.D4)(n.type)&&aM.p5.isBuiltIn(n.type,"TypeForm"))return a;let o=await e1(e,s,n,void 0,!1,void 0);return a.type=null!=(r=o.returnType)?r:aM.vn.create(),o.argumentErrors?a.typeErrors=!0:a.overloadsUsedForCall=o.overloadsUsedForCall,a}async function eJ(e,t){(0,n6.vA)(e.d.leftExpr.nodeType===aO.ye.Lambda);let i=aM.RK.createSynthesizedInstance("");i.shared.declaredReturnType=t?t.expectedType:aM.vn.create();let r=!1;await lH(e.d.args,async(e,t)=>{let n=await D(e.d.valueExpr);n.isIncomplete&&(r=!0),aM.RK.addParam(i,aM.gk.create(aO.OP.Simple,n.type,aM.D5.NameSynthesized|aM.D5.TypeDeclared,`p${t.toString()}`))});let n=e.d.leftExpr.d.params;if(n.length>0){let e=n[n.length-1];e.d.category!==aO.OP.Simple||e.d.name||aM.RK.addPositionOnlyParamSeparator(i)}function a(){return D(e.d.leftExpr,lO.WB.CallBaseDefaults,(0,aX.lq)(i))}let s=r||iR(e)||(null==t?void 0:t.isTypeIncomplete)?await iE(e.d.leftExpr,a):await a();return s.typeErrors&&(s=await D(e.d.leftExpr,lO.WB.CallBaseDefaults)),s}function eY(e){var t;let i=aL.M8(e,aO.ye.Argument);return(null==i?void 0:i.parent)?i.parent:e.nodeType===aO.ye.Name&&(null==(t=e.parent)?void 0:t.nodeType)===aO.ye.Class&&e.parent.d.name===e?e.parent:e}async function eQ(e,t,i,r,n,a){let s=[],o=[],l=!1,d=[],u=!1,p=eY(e);for(let n=0;n<t.length;n++){let m,y=t[n],g=y.some(e=>void 0!==e),f=[],v=!1;u=!1;for(let t=0;t<i.length;t++){var c,h;let n=i[t].overload,_=i[t];g&&((_={...i[t]}).argParams=_.argParams.map((e,t)=>{if(!y[t])return e;let i={...e};return i.argType=y[t],i}));let T=null!=(c=null==r?void 0:r.clone())?c:new lN.w,w=await iE(p,async()=>await tt(e,_,T,!0,a));if(w.isTypeIncomplete&&(l=!0),!w.argumentErrors&&w.returnType){d.push(n);let e={overload:m=n,matchResults:_,constraints:T,returnType:w.returnType,argResults:null!=(h=w.argResults)?h:[]};if(o.push(e),w.anyOrUnknownArg||_.unpackedArgOfUnknownLength)f.push(e),w.anyOrUnknownArg&&(0,aX.Hx)(w.anyOrUnknownArg)&&(v=!0);else{s.push(w.returnType),u=!0;break}}}if(!u&&f.length>0)if(1===(f=function(e){if(e.length<2)return e;if((0,aX.Ok)(e.map(e=>e.returnType),{treatAnySameAsUnknown:!0}))return[e[0]];let t=e[0].argResults;if(!t)return e;let i=!1;for(let r=0;r<t.length;r++)if((0,aM.ah)(t[r].argType)){let t=e.map(e=>r<e.matchResults.argParams.length?e.matchResults.argParams[r].paramType:aM.vn.create());(0,aX.Ok)(t,{treatAnySameAsUnknown:!0})||(i=!0)}return i||e.some(e=>e.argResults.length!==t.length)?e:[e[0]]}(f=function(e){if(e.length<2)return e;let t=e.filter(e=>e.matchResults.unpackedArgMapsToVariadic);return t.length===e.length||0===t.length?e:t}(f))).length)d=[f[0].overload],s.push(f[0].returnType),o=[f[0]];else{let e=[],t=!1;await lH(f,async i=>{let r=!1;for(let n=0;n<e.length;n++)if(await re(e[n],i.returnType)){let i=(0,aX.TS)(e[n],!1);i?(0,aM.f7)(i)&&(t=!0):r=!0;break}else if(await re(i.returnType,e[n])){let r=(0,aX.TS)(i.returnType,!1);r?(0,aM.f7)(r)&&(t=!0):e[n]=aM.Xl.createNever();break}r||e.push(i.returnType)}),e=e.filter(e=>!(0,aM.Pd)(e));let i=(0,aM.Do)(e),r=i;e.length>1&&(r=t?aM.V.create():aM.vn.createPossibleType(i,v)),s.push(r)}if(!m)return{argumentErrors:!0,isTypeIncomplete:l,overloadsUsedForCall:d}}r&&u&&r.copyFromClone(o[o.length-1].constraints);let m=null!=r?r:o[0].constraints,y=await tt(e,o[0].matchResults,m,n,a);return y.isTypeIncomplete&&(l=!0),{argumentErrors:y.argumentErrors,anyOrUnknownArg:y.anyOrUnknownArg,returnType:(0,aM.Do)(s),isTypeIncomplete:l,specializedInitSelfType:y.specializedInitSelfType,overloadsUsedForCall:d}}async function eX(e,t,i,r,n,a){let s,o=[],l=!!i.isIncomplete,d=i.type,u=eY(e);if(await iE(u,async()=>{let r=0;await lH(aM.OF.getOverloads(d),async n=>{let a=await te(e,t,{type:n,isIncomplete:i.isIncomplete},r);a.argumentErrors||o.push(a),r++})}),0===o.length){for(let e of t)await iw(e,void 0);return{argumentErrors:!0,isTypeIncomplete:l,overloadsUsedForCall:[]}}async function p(t,i){let n=o.reduce((e,t)=>t.argumentMatchScore===e.argumentMatchScore?t.overloadIndex>e.overloadIndex?t:e:t.argumentMatchScore<e.argumentMatchScore?t:e),s=null!=r?r:new lN.w;return await tt(e,n,s,t,a)}if(1===o.length)return await p(!1,!1);let c=[t.map(e=>void 0)];for(;;){let i=await eQ(e,c,o,r,n,a);if(i.isTypeIncomplete&&(l=!0),!i.argumentErrors)return i;if(s||await iE(eY(e),async()=>{s=await lJ(t,async e=>{if(e.typeResult)return e.typeResult.type;if(e.valueExpression){let t=e.valueExpression;return await iE(t,async()=>(await D(t)).type)}return aM.V.create()})}),!(c=await eZ(s,c))||c.length>256)break}if(!l){let e=await p(!0,!0);return e.returnType=aM.vn.create(),{...e,argumentErrors:!0}}return{argumentErrors:!0,isTypeIncomplete:l,overloadsUsedForCall:[]}}async function eZ(e,t){let i,r=e.length-1;for(;r>=0&&!t[0][r];)r--;if(++r>=e.length)return;for(;r<e.length;){let t=e[r];if(i=await e0(t))break;r++}if(!i)return;let n=[];return t.forEach(e=>{i.forEach(t=>{let i=[...e];i[r]=t,n.push(i)})}),n}async function e0(e){let t=[];return e=em(e),await l1(e,async e=>{if((0,aM.aE)(e)){let i=await uE(rI,e);if(i&&i.length<=64)return void(0,ap.af)(t,i);let r=function(e,t){if(!(0,aX.Bj)(e)||!e.priv.tupleTypeArgs||e.priv.tupleTypeArgs.some(e=>e.isUnbounded||(0,aM.wh)(e.type)))return;let i=[e],r=0;for(;r<e.priv.tupleTypeArgs.length;){let t=e.priv.tupleTypeArgs[r].type;if((0,aM.mi)(t)){let e=[];for(let n of i)(0,aX.u6)(t,t=>{let i=[...n.priv.tupleTypeArgs];i[r]={type:t,isUnbounded:!1},e.push(aM.p5.cloneAsInstance((0,aX.K4)(n,i)))});i=e}if(i.length>64)return;r++}return 1===i.length?void 0:i}(e,0);if(r)return void(0,ap.af)(t,r)}t.push(e)}),t.length>1?t:void 0}async function e1(e,t,i,r,n,a,s=0){var o;let l,d=!1,u=!1,p=[];if(s>aM.Wn||(s++,null==(o=i.type.props)?void 0:o.specialForm))return{returnType:aM.vn.create(),argumentErrors:!0,overloadsUsedForCall:p};let c=await ey(i.type,{sortSubtypes:!0},async(o,c,h)=>await iE(h?void 0:eY(e),async()=>{let h=await e5(e,t,o,c,!!i.isIncomplete,r,n,a,s);return h.argumentErrors&&(d=!0),h.isTypeIncomplete&&(u=!0),h.overloadsUsedForCall&&(0,ap.af)(p,h.overloadsUsedForCall),l=h.specializedInitSelfType,h.returnType}));return d&&(0,aM.Pd)(c)&&!c.priv.isNoReturn&&(c=aM.vn.create()),{argumentErrors:d,returnType:c,isTypeIncomplete:u,specializedInitSelfType:l,overloadsUsedForCall:p}}async function e5(e,t,i,r,n,a,s,o,l){async function d(){n||await lH(t,async e=>{e.valueExpression&&!iR(e.valueExpression)&&await iw(e,void 0)})}switch(i.category){case aM.vb.Never:case aM.vb.Unknown:case aM.vb.Any:{let r=aM.RK.createInstance("","","",aM.wt.None);return aM.RK.addDefaultParams(r),{...await e4(e,t,r,n,a,s,o),returnType:i}}case aM.vb.Function:return await e4(e,t,i,n,a,s,o);case aM.vb.Overloaded:return await e8(e,t,i,n,a,s,o);case aM.vb.Class:if((0,aX.Lj)(i))break;if(aM.Ab.isInstantiable(i))return await e2(e,t,i,r,s,o);return await e6(e,t,i,r,a,s,o,l);case aM.vb.TypeVar:return await e1(e,t,{type:(0,aX.In)(i),isIncomplete:n},a,s,o,l);case aM.vb.Module:}return await d(),{argumentErrors:!0}}async function e4(e,t,i,r,n,a,s){if(aM.Ab.isInstantiable(i))return{returnType:void 0,argumentErrors:!0};if(aM.RK.isBuiltIn(i,"namedtuple")){let r={returnType:await ui(rI,e,t,!1)};return await ta(e,t,{type:i},n,a,s),r}if(aM.RK.isBuiltIn(i,"NewType"))return{returnType:await tg(e,t)};let o=await ta(e,t,{type:i,isIncomplete:r},n,a,s),l=!!o.isTypeIncomplete,d=o.returnType,u=!!o.argumentErrors;if(!u){var p;let r=await uj(rI,e,t,i,{argumentErrors:!!o.argumentErrors,returnType:null!=(p=o.returnType)?p:aM.vn.create(l),isTypeIncomplete:l});d=r.returnType,r.isTypeIncomplete&&(l=!0),r.argumentErrors&&(u=!0)}return aM.RK.isBuiltIn(i,"__import__")&&(d=aM.V.create()),{returnType:d,isTypeIncomplete:l,argumentErrors:u,overloadsUsedForCall:o.overloadsUsedForCall,specializedInitSelfType:o.specializedInitSelfType}}async function e3(e,t){let i=aM.p5.isProtocolClass(e),n=(await l9(e)).get(t);if(!n||!n.isClassMember()&&!n.isNamedTupleMemberMember())return;let a=(0,o0.IE)(n);if(!a)return;if(i&&a.type===aF.h3.Variable&&!n.getDeclarations().some(e=>e.type===aF.h3.Variable&&!!e.inferredTypeSource))return{symbol:n,symbolName:t,classType:e,hasImplementation:!1};if(a.type!==aF.h3.Function)return;let s=!1,o=await uP(rI,a.node,!0);(o.flags&aM.wt.AbstractMethod)!=0&&(s=!0);let l=(await r.getFileInfo(a.node)).isStubFile,d=n.getDeclarations()[0];if(d!==a&&d.type===aF.h3.Function&&(((await uP(rI,d.node,!0)).flags&aM.wt.AbstractMethod)!=0&&(s=!0),i&&(o.flags&aM.wt.Overloaded)!=0)){if(i&&!s&&l)return;return{symbol:n,symbolName:t,classType:e,hasImplementation:!1}}if(!i&&!s)return;let u=!aL.YJ(a.node.d.suite)&&!await is(a);if(!i||s||!u&&!l)return{symbol:n,symbolName:t,classType:e,hasImplementation:u}}async function e8(e,t,i,r,n,a,s){var o,l;let d=aM.OF.getOverloads(i);if(d.length>0&&aM.RK.isBuiltIn(d[0],["typing.cast","typing_extensions.cast"])&&2===t.length)return{returnType:await e7(t,e)};let u=await eX(e,t,{type:i,isIncomplete:r},n,a,s),p=null!=(o=u.returnType)?o:aM.vn.create(),c=!!u.isTypeIncomplete,h=!!u.argumentErrors;if(!h){let r=await uj(rI,e,t,i,{argumentErrors:!!u.argumentErrors,returnType:null!=(l=u.returnType)?l:aM.vn.create(c),isTypeIncomplete:c});p=r.returnType,r.isTypeIncomplete&&(c=!0),r.argumentErrors&&(h=!0)}return{returnType:p,isTypeIncomplete:c,argumentErrors:h,overloadsUsedForCall:u.overloadsUsedForCall,specializedInitSelfType:u.specializedInitSelfType}}async function e2(e,t,i,a,s,o){var l,d;if(void 0!==i.priv.literalValue)return{returnType:aM.vn.create(),argumentErrors:!0};if(aM.p5.isBuiltIn(i)){let a=null!=(l=i.priv.aliasName)?l:i.shared.name;if((0,aX.k7)(i)){if(i.priv.typeArgs&&i.priv.isTypeArgExplicit)return{returnType:aM.vn.create(),argumentErrors:!0};if(await dY(rI,e,t,i,s,o),"type"===i.shared.name&&1===t.length){let e=await iw(t[0],void 0),r=e.type;return{returnType:await l5(r,async e=>(0,aM.Pd)(e)?e:(0,aM.D4)(e)?(0,aM.aE)(e)&&aM.p5.isNewTypeClass(e)&&!e.priv.includeSubclasses&&(null==n?void 0:n.functionClass)?n.functionClass:(0,aX.xy)(B(e)):aM.Ab.isInstance(e)&&((0,aM.Tn)(e)||(0,aM.CP)(e))?(0,aX.xy)(e):aM.p5.specialize(aM.p5.cloneAsInstance(i),[aM.vn.create()])),isTypeIncomplete:e.isIncomplete}}return t.length>=2?{returnType:await tf(e,t,i)||aM.V.create()}:{returnType:aM.V.create()}}if("TypeVar"===a)return{returnType:await td(e,i,t)};if("TypeVarTuple"===a)return{returnType:await tu(e,i,t)};if("ParamSpec"===a)return{returnType:await tc(e,i,t)};if("TypeAliasType"===a){let i=await tm(e,t);if(i)return{returnType:i}}if("NamedTuple"===a){let r={returnType:await ui(rI,e,t,!0)},n=await dJ(rI,e,aM.p5.cloneAsInstance(i),aX.Mh.Default);return n&&(0,aM.Gl)(n.type)&&await eX(e,t,{type:n.type},void 0,s,void 0),r}if("NewType"===a)return{returnType:await tg(e,t)};if("Sentinel"===a&&(await r.getFileInfo(e)).diagnosticRuleSet.enableExperimentalFeatures)return{returnType:function(e,t,i){var r;let n="";if(1!==i.length)return;let a=i[0];if(a.argCategory===aO.b4.Simple&&a.valueExpression&&a.valueExpression.nodeType===aO.ye.StringList&&(n=a.valueExpression.d.strings.map(e=>e.d.value).join("")),!n||(null==(r=t.parent)?void 0:r.nodeType)===aO.ye.Assignment&&t.parent.d.leftExpr.nodeType===aO.ye.Name&&t.parent.d.leftExpr.d.value!==n)return;let s=(0,ax.R8)(t),o=(0,aL.NJ)(t,s.moduleName,n),l=aM.p5.createInstantiable(n,o,s.moduleName,s.fileUri,aM.aF.Final|aM.aF.ValidTypeAliasClass,(0,aL.pj)(t),void 0,e.getTypeClassType());l.shared.baseClasses.push(e.getObjectType()),(0,aX.VS)(l),l=aM.p5.cloneWithLiteral(l,new aM._W(o,n));let d=aM.p5.cloneAsInstance(l);return s.diagnosticRuleSet.enableExperimentalFeatures&&(d=aM.Ab.cloneWithTypeForm(d,d)),d}(rI,e,t)};if(aM.p5.isSpecialFormClass(i))return{returnType:aM.vn.create(),argumentErrors:!0};if("TypedDict"===a)return{returnType:await dt(rI,e,i,t)};if("auto"===a&&0===t.length)return{returnType:await uB(rI,e)}}if((0,aM.D4)(i)&&i.shared.effectiveMetaclass&&(0,aM.D4)(i.shared.effectiveMetaclass)&&uN(i.shared.effectiveMetaclass)&&!await uM(rI,i))return{returnType:null!=(d=await uO(rI,e,i,t))?d:(0,aX.gU)(a)};let u=await dY(rI,e,t,i,s,o),p=u.overloadsUsedForCall,c=u.argumentErrors,h=u.isTypeIncomplete,m=u.returnType;if((0,aM.CP)(a)&&(m=(0,aX.gU)(a)),e.nodeType===aO.ye.Call&&m&&(0,aM.aE)(m)&&aM.p5.isBuiltIn(m,"deprecated")&&(m=aM.p5.cloneForDeprecatedInstance(m,function(e){if(e.d.args.length>0&&e.d.args[0].d.argCategory===aO.b4.Simple&&e.d.args[0].d.valueExpr.nodeType===aO.ye.StringList){let t=e.d.args[0].d.valueExpr.d.strings.map(e=>e.d.value).join("");return(0,uf.R)(t)}return""}(e))),m&&(0,aM.aE)(m)&&m.shared.mro.some(e=>(0,aM.dL)(e)&&aM.p5.isBuiltIn(e,"type"))){let n="__class_"+m.shared.name;if(3===t.length){let e=(await iw(t[0],void 0)).type;(0,aM.aE)(e)&&aM.p5.isBuiltIn(e,"str")&&"string"==typeof e.priv.literalValue&&(n=e.priv.literalValue)}let a=aM.p5.createInstantiable(n,"","",(await r.getFileInfo(e)).fileUri,aM.aF.None,aL.pj(e),aM.p5.cloneAsInstantiable(m),aM.p5.cloneAsInstantiable(m));a.shared.baseClasses.push(await iP(e,"object")),a.shared.effectiveMetaclass=i,a.shared.declaration=m.shared.declaration,(0,aX.VS)(a),m=a}return{returnType:m,overloadsUsedForCall:p,argumentErrors:c,isTypeIncomplete:h}}async function e6(e,t,i,r,n,a,s,o){var l;let d=await J(e,i,"__call__",void 0,aX.Mh.SkipInstanceMembers|aX.Mh.SkipAttributeAccessOverride,void 0,o),u=null==d?void 0:d.type;if(!u||d.typeErrors)return{returnType:aM.vn.create(),argumentErrors:!0};let p=await e1(e,t,{type:u},n,a,s,o),c=null!=(l=p.returnType)?l:aM.vn.create();return(0,aM.CP)(r)&&aM.Ab.isInstantiable(r)&&(0,aM.D4)(i)&&aM.p5.isBuiltIn(i,"type")&&(c=(0,aX.gU)(r)),{returnType:c,argumentErrors:p.argumentErrors,overloadsUsedForCall:p.overloadsUsedForCall}}async function e7(e,t){var i;let r=(await ib(e[0],{typeExpression:!0})).type,n=aL.Gu(t);r=(0,aX.ru)(r,n);let a=(await iw(e[1],void 0)).type;return(null==(i=a.props)?void 0:i.specialForm)&&(a=a.props.specialForm),(0,aX.gU)(r)}async function e9(e){let t=[];for(let r of e){if(r.argCategory===aO.b4.UnpackedList){let e=(await iw(r,void 0)).type,a=(0,aX.O)(em(e),null==n?void 0:n.tupleClass);if((0,aM.aE)(a)&&(0,aX.Bj)(a)){var i;let e=null!=(i=a.priv.tupleTypeArgs)?i:[];if(1!==e.length||!e[0].isUnbounded){for(let i of e)i.isUnbounded?t.push({...r,argCategory:aO.b4.UnpackedList,valueExpression:void 0,typeResult:{type:pg(rI,[i])}}):t.push({...r,argCategory:aO.b4.Simple,valueExpression:void 0,typeResult:{type:i.type}});continue}}}t.push(r)}return t}async function te(e,t,i,r){var a,s,o,l,d,u,p,c,h;let m,y,g,f=i.type,v=(0,dD.MC)(f,{disallowExtraKwargsForTd:!0}),_=aM.RK.getParamSpecFromArgsKwargs(f),T=0,w=!1,b=!1,S=!1,k=!!i.isIncomplete,I=!1;t=await e9(t);let C=new dD.Tn(v.params),P=v.positionOnlyParamCount,x=null!=(a=v.firstKeywordOnlyIndex)?a:v.params.length,F=v.argsIndex,A=v.kwargsIndex,D=!1,E=t.findIndex(e=>e.argCategory===aO.b4.UnpackedDictionary||void 0!==e.name);if(E<0&&(E=t.length),void 0!==F&&void 0!==A){(0,n6.vA)(v.params[F],"varArgListParamIndex params entry is undefined");let e=v.params[F].type;(0,n6.vA)(v.params[A],"varArgDictParamIndex params entry is undefined");let t=v.params[A].type;if((0,aM.Bo)(e)&&"args"===e.priv.paramSpecAccess&&(0,aM.Bo)(t)&&"kwargs"===t.priv.paramSpecAccess&&e.shared.name===t.shared.name){D=!0;let t=e.priv.scopeId;(0,aX.SR)(f).some(e=>e===t)?(m=[],y=aM.Kn.cloneForParamSpecAccess(e,void 0)):(P=F,E=Math.min(F,E),x=F)}}else _&&(0,aX.SR)(f).some(e=>e===_.priv.scopeId)&&(D=!0,m=[],y=_);t.some(e=>e.argCategory===aO.b4.UnpackedList)&&t.forEach(e=>{if(e.name){let t=v.params.findIndex(t=>((0,n6.vA)(t,"paramInfo entry is undefined fork kwargs check"),t.param.name===e.name.d.value&&t.param.category===aO.OP.Simple));t>=0&&t>=P&&(x<0||t<x)&&(x=t)}}),x<0&&(x=v.params.length);let R=[];function N(e,t){e.active&&(g=t)}let M=void 0!==t.find(e=>e.argCategory===aO.b4.UnpackedList),O=0;for(;T<E;){T<P&&t[T].name&&t[T].name&&(S=!0);let i=E-T,r=x-O-1;if(O>=x){if(m)for(;T<E;)m.push(t[T]),T++;else{let e=!1;if(t[T].argCategory===aO.b4.UnpackedList){let i=(await iw(t[T],void 0)).type;(0,aM.aE)(i)&&(0,aX.Bj)(i)&&!(0,aX.NG)(i)&&void 0!==i.priv.tupleTypeArgs&&i.priv.tupleTypeArgs.length>0?e=!0:w=!0}else e=!0;e&&(S=!0)}break}if(O>=v.params.length)break;(0,n6.vA)(v.params[O],"paramIndex params entry is undefined");let n=v.params[O],a=n.type,l=n.param.name,d=n.param.category===aO.OP.ArgsList&&(0,aM.q5)(a);if(t[T].argCategory===aO.b4.UnpackedList){let u,p=!1,c=await iw(t[T],void 0),h=!1,y=!1;O<x&&(0,aM.Bo)(c.type)&&"args"===c.type.priv.paramSpecAccess&&n.param.category!==aO.OP.ArgsList&&(S=!0);let g=c.type;d&&(0,aM.RN)(g)?(u=g,p=!0,y=!0,I=!0):(0,aM.aE)(g)&&(0,aX.Bj)(g)&&g.priv.tupleTypeArgs&&1===g.priv.tupleTypeArgs.length&&(0,aM.RN)(g.priv.tupleTypeArgs[0].type)?(u=g.priv.tupleTypeArgs[0].type,p=!0,y=!0,I=!0):d&&(0,aM.aE)(g)&&(0,aX.Bj)(g)?(p=!0,y=!0,i<r&&(I=!0),u=aM.p5.cloneForUnpacked(g)):(0,aM.Bo)(g)&&"args"===g.priv.paramSpecAccess?u=void 0:((u=null==(s=await et({type:g,isIncomplete:c.isIncomplete},!1,e,!1))?void 0:s.type)||(h=!0),w=!0,n.param.category===aO.OP.ArgsList&&(b=!0),d&&u&&(p=!0,u=pg(rI,[{type:u,isUnbounded:!0}],!0)));let f=u?{argCategory:aO.b4.Simple,typeResult:{type:u,isIncomplete:c.isIncomplete}}:{...t[T],enforceIterable:h};c.isIncomplete&&(k=!0),d&&!p?S=!0:(m&&n.param.category!==aO.OP.Simple&&m.push(t[T]),f&&R.push({paramCategory:n.param.category,paramType:a,requiresTypeVarMatching:(0,aX.QL)(a),argument:f,errorNode:null!=(o=t[T].valueExpression)?o:e,paramName:l,isParamNameSynthesized:aM.gk.isNameSynthesized(n.param),mapsToVarArgList:d&&i>r})),N(t[T],v.params[O].param),l&&v.params[O].param.category===aO.OP.Simple&&C.markArgReceived(n),(y||v.params[O].param.category===aO.OP.ArgsList)&&T++,(I||v.params[O].param.category!==aO.OP.ArgsList)&&O++}else if(v.params[O].param.category===aO.OP.ArgsList)if(N(t[T],v.params[O].param),m)m.push(t[T]),T++;else{let n=v.params[O].param.category,s=a,o=v.params[O].param.name;(0,aM.wO)(a)&&a.priv.tupleTypeArgs&&a.priv.tupleTypeArgs.length>0&&(s=a.priv.tupleTypeArgs[0].type),n=(0,aM.q5)(s)?aO.OP.ArgsList:aO.OP.Simple,i<=r?(i<r&&(S=!0),O++):(R.push({paramCategory:n,paramType:s,requiresTypeVarMatching:(0,aX.QL)(a),argument:t[T],errorNode:t[T].valueExpression||e,paramName:o,isParamNameSynthesized:aM.gk.isNameSynthesized(v.params[O].param),mapsToVarArgList:!0}),T++)}else{let i=v.params[O],r=i.param.name;R.push({paramCategory:i.param.category,paramType:a,requiresTypeVarMatching:(0,aX.QL)(a),argument:t[T],errorNode:t[T].valueExpression||e,paramName:r,isParamNameSynthesized:aM.gk.isNameSynthesized(i.param)}),N(t[T],i.param),C.markArgReceived(i),T++,O++}}let U=!1;if(P>=0&&O<P&&O<v.params.length&&v.params[O].param.category===aO.OP.ArgsList&&!(0,aM.Bo)(v.params[O].type)&&(O++,U=!0),P>=0&&O<P&&(!M||D)){let e=v.params.findIndex(e=>!!e.defaultType),t=(e>=0&&e<P?e:P)-E;U&&t--;let i=v.params.findIndex(e=>e.param.category===aO.OP.ArgsList&&!(0,aM.Bo)(e.type));i>=O&&i<P&&t--,t>0&&(S=!0)}if(!S){let i,r;for(;T<t.length;){if(t[T].argCategory===aO.b4.UnpackedDictionary){let a=await iw(t[T],(0,aX.lq)(v.unpackedKwargsTypedDictType)),s=a.type;if(a.isIncomplete&&(k=!0),(0,aM.ah)(s))r=s;else if((0,aM.aE)(s)&&aM.p5.isTypedDictClass(s)){let i=await dn(rI,s);i.knownItems.forEach((i,r)=>{var n,a;let s=C.lookupName(r);if(s)if(s.argsReceived>0)S=!0;else{s.argsReceived++;let a=v.params.findIndex(e=>e.param.name===r);(0,n6.vA)(a>=0);let o=v.params[a].type;R.push({paramCategory:aO.OP.Simple,paramType:o,requiresTypeVarMatching:(0,aX.QL)(o),argument:{argCategory:aO.b4.Simple,typeResult:{type:i.valueType}},errorNode:null!=(n=t[T].valueExpression)?n:e,paramName:r})}else if(void 0!==v.kwargsIndex){let n=v.params[v.kwargsIndex].type;R.push({paramCategory:aO.OP.KwargsDict,paramType:n,requiresTypeVarMatching:(0,aX.QL)(n),argument:{argCategory:aO.b4.Simple,typeResult:{type:i.valueType}},errorNode:null!=(a=t[T].valueExpression)?a:e,paramName:r}),C.addKeywordParam(r,v.params[v.kwargsIndex])}});let r=null!=(l=null==(d=i.extraItems)?void 0:d.valueType)?l:en();if(!(0,aM.Pd)(r)&&void 0!==v.kwargsIndex){let i=v.params[v.kwargsIndex];R.push({paramCategory:aO.OP.KwargsDict,paramType:i.type,requiresTypeVarMatching:(0,aX.QL)(i.type),argument:{argCategory:aO.b4.UnpackedDictionary,typeResult:{type:r}},errorNode:null!=(u=t[T].valueExpression)?u:e,paramName:i.param.name})}}else if(_&&(0,dD.om)(_,s))r=aM.V.create(),m||R.push({paramCategory:aO.OP.KwargsDict,paramType:_,requiresTypeVarMatching:!1,argument:t[T],argType:(0,aM.Bo)(s)?void 0:aM.V.create(),errorNode:t[T].valueExpression||e});else{let a=await ix(e,"str");if((null==n?void 0:n.supportsKeysAndGetItemClass)&&(0,aM.dL)(n.supportsKeysAndGetItemClass)&&a&&(0,aM.aE)(a)){let o=new lN.w,l=!1;if((0,aM.CP)(s))l=!0;else if(await re(aM.p5.cloneAsInstance(n.supportsKeysAndGetItemClass),s,o)){let e=(await H(n.supportsKeysAndGetItemClass,o)).priv.typeArgs;e&&e.length>=2?(await re(a,e[0])&&(l=!0),i=[],(0,aX.u6)(e[0],e=>{(0,aM.aE)(e)&&"string"==typeof e.priv.literalValue?null==i||i.push(e.priv.literalValue):i=void 0}),r=e[1]):(l=!0,r=aM.vn.create())}if(w=!0,void 0!==v.kwargsIndex&&r){let i=v.params[v.kwargsIndex].type;R.push({paramCategory:aO.OP.Simple,paramType:i,requiresTypeVarMatching:(0,aX.QL)(i),argType:r,argument:t[T],errorNode:t[T].valueExpression||e,paramName:v.params[v.kwargsIndex].param.name}),b=!0}l||(S=!0)}}m&&m.push(t[T])}else{let i=t[T].name;if(i){let r=i.d.value,n=C.lookupName(r);if(n)if(n.argsReceived>0)S=!0;else{n.argsReceived++;let i=v.params.findIndex(e=>e.param.name===r&&e.kind!==dD.OU.Positional);(0,n6.vA)(i>=0);let a=v.params[i].type;R.push({paramCategory:aO.OP.Simple,paramType:a,requiresTypeVarMatching:(0,aX.QL)(a),argument:t[T],errorNode:null!=(p=t[T].valueExpression)?p:e,paramName:r}),N(t[T],v.params[i].param)}else if(m)m.push(t[T]);else if(void 0!==v.kwargsIndex){let i=v.params[v.kwargsIndex].type;(0,aM.Bo)(i)?S=!0:(R.push({paramCategory:aO.OP.KwargsDict,paramType:i,requiresTypeVarMatching:(0,aX.QL)(i),argument:t[T],errorNode:null!=(c=t[T].valueExpression)?c:e,paramName:r}),(0,n6.vA)(v.params[v.kwargsIndex],"paramDetails.kwargsIndex params entry is undefined"),C.addKeywordParam(r,v.params[v.kwargsIndex])),N(t[T],v.params[v.kwargsIndex].param)}else S=!0}else if(t[T].argCategory===aO.b4.Simple)m?m.push(t[T]):S=!0;else if(t[T].argCategory===aO.b4.UnpackedList&&_){let i=await iw(t[T],void 0),r=i.type;i.isIncomplete&&(k=!0),(0,dD.S0)(_,r)&&R.push({paramCategory:aO.OP.ArgsList,paramType:_,requiresTypeVarMatching:!1,argument:t[T],argType:(0,aM.Bo)(r)?void 0:aM.V.create(),errorNode:null!=(h=t[T].valueExpression)?h:e})}}T++}r&&(!M||void 0!==v.argsIndex)&&v.params.forEach((n,a)=>{let s=n.param;if(a>=v.firstPositionOrKeywordIndex&&s.category===aO.OP.Simple&&s.name&&0===C.lookupDetails(n).argsReceived){let n=v.params[a].type;if(!i||i.includes(s.name)){var o,l;R.push({paramCategory:aO.OP.Simple,paramType:n,requiresTypeVarMatching:(0,aX.QL)(n),argument:{argCategory:aO.b4.Simple,typeResult:{type:r}},errorNode:null!=(o=null==(l=t.find(e=>e.argCategory===aO.b4.UnpackedDictionary))?void 0:l.valueExpression)?o:e,paramName:s.name,isParamNameSynthesized:aM.gk.isNameSynthesized(s)}),C.markArgReceived(v.params[a])}}}),r||aM.RK.isDefaultParamCheckDisabled(f)||(C.getUnassignedParams().length>0&&(S=!0),v.params.forEach(t=>{let i=t.param;if(i.category===aO.OP.Simple&&i.name){let r=C.lookupDetails(t);if(0===r.argsNeeded&&0===r.argsReceived){let r=t.defaultType;r&&!(0,aX.U8)(r)&&(0,aX.QL)(t.declaredType,{ignorePseudoGeneric:!0})&&R.push({paramCategory:i.category,paramType:t.type,requiresTypeVarMatching:!0,argument:{argCategory:aO.b4.Simple,typeResult:{type:r}},isDefaultArg:!0,errorNode:e,paramName:i.name,isParamNameSynthesized:aM.gk.isNameSynthesized(i)})}}}))}if((!S||!iR(void 0))&&((0,n6.vA)(void 0===v.argsIndex||v.argsIndex<v.params.length,"paramDetails.argsIndex params entry is invalid"),void 0!==v.argsIndex&&v.argsIndex>=0&&aM.gk.isTypeDeclared(v.params[v.argsIndex].param)&&!I)){let t=v.params[v.argsIndex].type,i=R.filter(e=>e.mapsToVarArgList);if((0,aM.q5)(t)&&(!(0,aM.wh)(t)||!t.priv.isInUnion)){let r,n=await lJ(i,async e=>{let t=(await iw(e.argument,void 0)).type;return((0,aM.RN)(t)||(0,aM.aE)(t)&&(0,aX.Bj)(t)&&t.priv.tupleTypeArgs&&1===t.priv.tupleTypeArgs.length&&(0,aM.RN)(t.priv.tupleTypeArgs[0].type))&&e.argument.argCategory!==aO.b4.UnpackedList&&!e.mapsToVarArgList&&(S=!0),{type:t,isUnbounded:e.argument.argCategory===aO.b4.UnpackedList}});if(1===n.length&&!n[0].isUnbounded){let e=n[0].type;(0,aM.q5)(e)&&(r=(0,aX.zu)(e))}r||(r=pg(rI,n,!1)),(0,n6.vA)(r);let a={paramCategory:aO.OP.Simple,paramType:(0,aX.zu)(t),requiresTypeVarMatching:!0,argument:{argCategory:aO.b4.Simple,typeResult:{type:r}},errorNode:e,paramName:v.params[v.argsIndex].param.name,isParamNameSynthesized:aM.gk.isNameSynthesized(v.params[v.argsIndex].param),mapsToVarArgList:!0};R=[...R.filter(e=>!e.mapsToVarArgList),a]}}return aM.RK.isBuiltIn(f,["isinstance","issubclass"])&&2===R.length&&(R[1].isinstanceParam=!0),{overload:f,overloadIndex:r,argumentErrors:S,isTypeIncomplete:k,argParams:R,paramSpecTarget:y,paramSpecArgList:m,activeParam:g,unpackedArgOfUnknownLength:w,unpackedArgMapsToVariadic:b,argumentMatchScore:0}}async function tt(e,t,i,r=!1,n){var a;let s=t.overload,o=null==n?void 0:n.expectedType,l=null!=(a=null==n?void 0:n.returnTypeOverride)?a:await i0(s);l&&(0,aX.QL)(l)||(o=void 0);let d=async r=>{let a=i.clone(),s=await ti(e,t,a,!0,r,l);if(!s.argumentErrors&&s.returnType){let e=(null==n?void 0:n.returnTypeOverride)?await H(n.returnTypeOverride,a):s.returnType;if(await re(r,e,void 0,void 0,lO.fW.Default)){let e=(0,aX.TS)(s.returnType,!0);return e?(0,aM.f7)(e)?2:1:3}}return 0};return(o&&(o=await iE(eY(e),async()=>{let e,t=-1;if((0,aM.mi)(o)&&await l1(o,async i=>{if(t<3){let r=await d(i);r>0&&r>t&&(e=i,t=r)}},!0),t<3){let i=await d(o);i>0&&i>t&&(e=o)}return e})),!o||(0,aM.ah)(o)||(0,aM.Pd)(o))?await tr(e,t,i,r):await ti(e,t,i,r,o,l)}async function ti(e,t,i,r=!1,n,a){let s=aL.Gu(e),o=lO.fW.PopulateExpectedType;if((0,aX.th)(n,!0)&&(o|=lO.fW.RetainLiteralsForTypeVar),(0,aM.aE)(a)&&(0,aM.aE)(n)&&!(0,aM.J5)(a,n)){let t=new lN.w;if(await dL(rI,a,n,t,s,e.start)){let e=(0,aX.kT)(a,{overrideTypeArgs:!0});n=await H(e,t,{replaceUnsolved:{scopeIds:(0,aX.SR)(a),useUnknown:!0,tupleClassType:er()}}),o|=lO.fW.SkipPopulateUnknownExpectedType}}return n=(0,aX.J1)(n,s,e.start),await re(a,n,i,o),await tr(e,t,i,r)}async function tr(e,t,i,r){let n,a,s=t.overload,o=t.isTypeIncomplete,l=!1,d=0,u=eY(e),p=(0,aX.An)(s),c=aM.RK.getParamSpecFromArgsKwargs(s);if("__init__"===s.shared.name&&s.priv.strippedFirstParamType&&s.priv.boundToType&&(0,aM.aE)(s.priv.strippedFirstParamType)&&(0,aM.aE)(s.priv.boundToType)&&aM.p5.isSameGenericClass(s.priv.strippedFirstParamType,s.priv.boundToType)&&s.priv.strippedFirstParamType.priv.typeArgs){let e=s.priv.strippedFirstParamType.shared.typeParams;n=s.priv.strippedFirstParamType,s.priv.strippedFirstParamType.priv.typeArgs.forEach((t,r)=>{if(r<e.length){let n=e[r];(0,aM.J5)(n,t,{ignorePseudoGeneric:!0})||i.setBounds(e[r],t)}})}aM.RK.isBuiltIn(s,["typing.cast","typing_extensions.cast","builtins.isinstance","builtins.issubclass"])&&(r=!0);let h=t.argParams.filter(e=>e.requiresTypeVarMatching).length;if(h>0){let e=Math.min(h,2);for(let n=0;n<e;n++)await iE(u,async()=>{await lH(t.argParams,async a=>{if(!a.requiresTypeVarMatching)return;let l=await tl(a,i,{type:s,isIncomplete:t.isTypeIncomplete},{skipUnknownArgCheck:r,isArgFirstPass:e>1&&0===n,conditionFilter:p,skipReportError:!0});l.isTypeIncomplete&&(o=!0),0===n&&e<2&&l.skippedBareTypeVarExpectedType&&e++})})}let m=!1,y=!1,g=[],f=[];await lH(t.argParams,async(e,n)=>{let u=await tl(e,i,{type:s,isIncomplete:t.isTypeIncomplete},{skipUnknownArgCheck:r,conditionFilter:p});if(f.push(u),u.isCompatible||(l=!0,d+=1+(t.argParams.length-n)),u.isTypeIncomplete&&(o=!0),u.condition){var h;g=null!=(h=aM.CH.combine(g,u.condition))?h:[]}(0,aM.ah)(u.argType)&&(a=a?(0,aX.Xn)(u.argType,a):u.argType),c&&(e.argument.argCategory===aO.b4.UnpackedList&&(0,dD.S0)(c,u.argType)&&(m=!0),e.argument.argCategory===aO.b4.UnpackedDictionary&&(0,dD.om)(c,u.argType)&&(y=!0))});let v=[];if(t.paramSpecArgList&&t.paramSpecTarget){let r=await ts(e,t.paramSpecArgList,t.paramSpecTarget,i);r.argumentErrors&&(l=!0,d+=1),v=r.constraintTrackers}else!c||m&&y||(l=!0,d+=1);let _=await i1(s),T=_.type;_.isIncomplete&&(o=!0),g.length>0&&(T=aM.Ab.cloneForCondition(T,g));let w=!0;(0,aM.BL)(T)&&(w=!1);let b=await H(T,i,{replaceUnsolved:{scopeIds:(0,aX.SR)(s),unsolvedExemptTypeVars:function(e,t){if((0,aM.Tn)(t)&&!t.shared.name&&t.shared.typeVarScopeId&&e.shared.typeVarScopeId){let i=(0,aX.Nl)(t);return e.shared.parameters.forEach((t,r)=>{if(aM.gk.isTypeDeclared(t)){let t=(0,aX.Nl)(aM.RK.getParamType(e,r));i=i.filter(e=>!t.some(t=>(0,aM.J5)(e,t)))}}),i}return[]}(s,T),tupleClassType:er(),eliminateUnsolvedInUnions:w}});b=(0,aX.cH)(b,p,{skipBoundTypeVars:!0}),v.length>0&&await lH(v,async e=>{if(e){var t;b=await H(b,e),(t=await dO(rI,e)).isEmpty()||i.doForEachConstraintSet(e=>{e.getTypeVars().forEach(i=>{e.setBounds(i.typeVar,i.lowerBound?(0,aX.i0)(i.lowerBound,t):void 0,i.upperBound?(0,aX.i0)(i.upperBound,t):void 0,i.retainLiterals)})})}}),(0,aM.wO)(b)&&(b=aM.p5.cloneForPacked(b));let S=aL.Gu(e);return b=await tn(e,b,S),n&&(n=await H(n,i)),t.argumentMatchScore=d,{argumentErrors:l,argResults:f,anyOrUnknownArg:a,returnType:b,isTypeIncomplete:o,activeParam:t.activeParam,specializedInitSelfType:n,overloadsUsedForCall:l?[]:[s]}}async function tn(e,t,i){if(!(0,aM.Tn)(t))return t;let r=(0,aX.Nl)(t).filter(e=>!i.some(t=>e.priv.scopeId===t));if(0===r.length)return t;await iZ(t);let n=aL.tp(e),a=new dA.z,s=r.map(e=>{let t=aM.Kn.cloneForScopeId(e,n,e.priv.scopeName,aM.O1.Function);return a.setType(e,t),t});return(0,aX.i0)(aM.RK.cloneWithNewTypeVarScopeId(t,n,void 0,s),a)}async function ta(e,t,i,r,n=!1,a){let s=await te(e,t,i,0);if(s.argumentErrors){await lH(t,async e=>{e.valueExpression&&!iR(e.valueExpression)&&await D(e.valueExpression)});let e=aM.RK.getEffectiveReturnType(i.type);return{returnType:e&&!(0,aM.ah)(e)?aM.vn.createPossibleType(e,!1):void 0,argumentErrors:!0,activeParam:s.activeParam,overloadsUsedForCall:[]}}return await tt(e,s,null!=r?r:new lN.w,n,(0,aX.lq)(null==a?void 0:a.expectedType,null==a?void 0:a.isTypeIncomplete,null==a?void 0:a.returnTypeOverride))}async function ts(e,t,i,r){let n=r.getConstraintSets();if(1===n.length)return await to(e,t,i,n[0]);let a=[],s=[],o=eY(e);return await lH(n,async r=>{await iE(o,async()=>{let n=await to(e,t,i,r);n.argumentErrors||a.push(r),(0,ap.af)(s,n.constraintTrackers)})}),a.length>0&&r.addConstraintSets(a),{argumentErrors:(await to(e,t,i,a.length>0?a[0]:n[0])).argumentErrors,constraintTrackers:s}}async function to(e,t,i,r){let n=(await dU(rI,r)).getType(i);n=(0,aX._r)(null!=n?n:i);let a=await te(e,t,{type:n},0),s=a.overload,o=new lN.w;if(a.argumentErrors)return await lH(t,async e=>{e.valueExpression&&!iR(e.valueExpression)&&await D(e.valueExpression)}),{argumentErrors:!0,constraintTrackers:[o]};let l=aM.RK.getParamSpecFromArgsKwargs(s),d=aM.RK.cloneRemoveParamSpecArgsKwargs(s);if(l&&0===d.shared.parameters.length&&(0,aM.J5)(l,i)){let e,r=0,n=0,a=!1;for(let s of t){let t=(await iw(s,void 0)).type;s.argCategory===aO.b4.UnpackedList?(0,dD.S0)(i,t)&&r++:s.argCategory===aO.b4.UnpackedDictionary?(0,dD.om)(i,t)&&n++:(e=null!=e?e:s.valueExpression,a=!0)}return(1!==r||1!==n)&&(a=!0),{argumentErrors:a,constraintTrackers:[o]}}return{argumentErrors:!!(await tr(e,a,o,void 0)).argumentErrors,constraintTrackers:[o]}}async function tl(e,t,i,r){var n,a;let s,o=!!(null==i?void 0:i.isIncomplete),l=!0,d=!1;if(e.argument.valueExpression){let n,u=!0;if((0,aX.u6)(e.paramType,e=>{(0,aM.CP)(e)&&e.priv.scopeId===(null==i?void 0:i.type.shared.typeVarScopeId)||(u=!1)}),r.isArgFirstPass&&u?d=!0:(n=e.paramType,(0,aM.Tn)(e.paramType)&&aM.RK.getParamSpecFromArgsKwargs(e.paramType)&&t.getConstraintSets().length>1||(n=await H(n,t,void 0,{useLowerBoundOnly:!!r.isArgFirstPass}))),n&&(0,aM.t8)(n)&&(n=void 0),e.argType)s=e.argType;else{let d=e.isinstanceParam?lO.WB.IsInstanceArgDefaults:lO.WB.NoFinal|lO.WB.NoSpecialize,u=await D(e.argument.valueExpression,d,(0,aX.lq)(n,!!(null==i?void 0:i.isIncomplete)));if(s=u.type,e.argument.argCategory===aO.b4.UnpackedList&&e.argument.enforceIterable){let t=await et(u,!1,e.argument.valueExpression);s=null!=(a=null==t?void 0:t.type)?a:aM.vn.create()}if(u.isIncomplete&&(o=!0),n&&(0,aX.QL)(n)){let e=t.clone();await re(n,s,e,(null==r?void 0:r.isArgFirstPass)?lO.fW.ArgAssignmentFirstPass:lO.fW.Default)?t.copyFromClone(e):l=!1}}e.argument&&e.argument.name&&!iR(e.errorNode)&&w(e.argument.name,{type:null!=n?n:s,isIncomplete:o},lO.WB.None)}else{if(e.argType)s=e.argType;else{let t=await iw(e.argument,void 0);s=t.type,t.isIncomplete&&(o=!0)}e.isDefaultArg&&(s=await H(s,t))}e.paramCategory===aO.OP.KwargsDict&&(0,aM.CP)(e.paramType)&&(s=B(s)),r.conditionFilter&&(s=await ey(s,{conditionFilter:r.conditionFilter},e=>Promise.resolve(e)));let u=null==(n=s.props)?void 0:n.condition;if((0,aM.Bo)(e.paramType)&&(void 0!==e.paramType.priv.paramSpecAccess||(0,aM.Bo)(s)&&void 0!==s.priv.paramSpecAccess))return{isCompatible:l,argType:s,isTypeIncomplete:o,condition:u};let p=lO.fW.Default;return(e.isinstanceParam&&(p|=lO.fW.AllowIsinstanceSpecialForms),(null==r?void 0:r.isArgFirstPass)&&(p|=lO.fW.ArgAssignmentFirstPass),await re(e.paramType,s,t,p))?{isCompatible:l,argType:s,isTypeIncomplete:o,skippedBareTypeVarExpectedType:d,condition:u}:{isCompatible:!1,argType:s,isTypeIncomplete:o,skippedBareTypeVarExpectedType:d,condition:u}}async function td(e,t,i){let r,n,a="";if(0===i.length)return;let s=i[0];s.valueExpression&&s.valueExpression.nodeType===aO.ye.StringList&&(a=s.valueExpression.d.strings.map(e=>e.d.value).join(""));let o=aM.Ab.cloneAsSpecialForm(aM.Kn.createInstantiable(a),aM.p5.cloneAsInstance(t)),l=new Map;for(let e=1;e<i.length;e++){var d,u,p,c,h,m;let t=i[e].name,a=t?t.d.value:void 0;if(a){if("bound"===a)if(aM.Kn.hasConstraints(o));else{let t=null!=(d=null==(u=i[e].typeResult)?void 0:u.type)?d:(await iS(i[e].valueExpression,{noNonTypeSpecialForms:!0,typeExpression:!0,parsesStringLiteral:!0})).type;o.shared.boundType=(0,aX.gU)(t)}else if("covariant"===a)i[e].valueExpression&&ty(i[e].valueExpression)&&(o.shared.declaredVariance===aM.id.Contravariant||o.shared.declaredVariance===aM.id.Auto||(o.shared.declaredVariance=aM.id.Covariant));else if("contravariant"===a)i[e].valueExpression&&ty(i[e].valueExpression)&&(o.shared.declaredVariance===aM.id.Covariant||o.shared.declaredVariance===aM.id.Auto||(o.shared.declaredVariance=aM.id.Contravariant));else if("infer_variance"===a)i[e].valueExpression&&ty(i[e].valueExpression)&&(o.shared.declaredVariance===aM.id.Covariant||o.shared.declaredVariance===aM.id.Contravariant||(o.shared.declaredVariance=aM.id.Auto));else if("default"===a){n=i[e].valueExpression;let t=null!=(p=null==(c=i[e].typeResult)?void 0:c.type)?p:(await iS(n,{allowTypeVarsWithoutScopeId:!0,typeExpression:!0})).type;o.shared.defaultType=(0,aX.gU)(t),o.shared.isDefaultExplicit=!0}l.set(a,a)}else if(aM.Kn.hasBound(o));else{let t=null!=(h=null==(m=i[e].typeResult)?void 0:m.type)?h:(await iS(i[e].valueExpression,{typeExpression:!0})).type;aM.Kn.addConstraint(o,(0,aX.gU)(t)),void 0===r&&(r=i[e])}}return o}async function tu(e,t,i){let r="";if(0===i.length)return;let n=i[0];n.valueExpression&&n.valueExpression.nodeType===aO.ye.StringList&&(r=n.valueExpression.d.strings.map(e=>e.d.value).join(""));let a=aM.Ab.cloneAsSpecialForm(aM.Kn.createInstantiable(r,aM.Sc.TypeVarTuple),aM.p5.cloneAsInstance(t));a.shared.defaultType=pg(rI,[{type:aM.vn.create(),isUnbounded:!0}]);for(let e=1;e<i.length;e++){let t=i[e].name,r=t?t.d.value:void 0;if(r&&"default"===r){let t=i[e].valueExpression;if(t){let e=await tp(t,!1);e&&(a.shared.defaultType=e,a.shared.isDefaultExplicit=!0)}}}return a}async function tp(e,t){let i=(await iS(e,{allowUnpackedTuple:!0,allowTypeVarsWithoutScopeId:!0,forwardRefs:t,typeExpression:!0})).type,r=(0,aM.D4)(i)&&(0,aX.Bj)(i)&&i.priv.isUnpacked,n=(0,aM.RN)(i);if(r||n)return(0,aX.gU)(i)}async function tc(e,t,i){if(0===i.length)return;let r=i[0],n="";r.valueExpression&&r.valueExpression.nodeType===aO.ye.StringList&&(n=r.valueExpression.d.strings.map(e=>e.d.value).join(""));let a=aM.Ab.cloneAsSpecialForm(aM.Kn.createInstantiable(n,aM.Sc.ParamSpec),aM.p5.cloneAsInstance(t));a.shared.defaultType=aM.$Z.getUnknown();for(let e=1;e<i.length;e++){let t=i[e].name,r=t?t.d.value:void 0;if(r){if("default"===r){let t=i[e].valueExpression;if(t){let e=await th(t,!1);e&&(a.shared.defaultType=e,a.shared.isDefaultExplicit=!0)}}}else break}return a}async function th(e,t){let i=aM.RK.createSynthesizedInstance("",aM.wt.ParamSpecValue);if(e.nodeType===aO.ye.Ellipsis)return aM.RK.addDefaultParams(i),i.shared.flags|=aM.wt.GradualCallableForm,i;if(e.nodeType===aO.ye.List)return await lH(e.d.items,async(e,r)=>{let n=await iS(e,{allowTypeVarsWithoutScopeId:!0,forwardRefs:t,typeExpression:!0});aM.RK.addParam(i,aM.gk.create(aO.OP.Simple,(0,aX.gU)(n.type),aM.D5.NameSynthesized|aM.D5.TypeDeclared,`__p${r}`))}),e.d.items.length>0&&aM.RK.addPositionOnlyParamSeparator(i),w(e,{type:aM.V.create()},void 0),i;{let t=await iS(e,{allowParamSpec:!0,allowTypeVarsWithoutScopeId:!0,allowEllipsis:!0,typeExpression:!0});if(t.typeErrors)return;if((0,aM.Bo)(t.type))return aM.RK.addParamSpecVariadics(i,t.type),i;if((0,aM.aE)(t.type)&&aM.p5.isBuiltIn(t.type,["EllipsisType","ellipsis"]))return aM.RK.addDefaultParams(i),i}}async function tm(e,t){let i,r,n;if(e.nodeType!==aO.ye.Call||!e.parent||t.length<2||e.parent.nodeType!==aO.ye.Assignment||e.parent.d.rightExpr!==e||e.parent.d.leftExpr.nodeType!==aO.ye.Name)return;let a=e.parent.d.leftExpr,s=t[0];if(s.valueExpression&&s.valueExpression.nodeType===aO.ye.StringList){for(let e=1;e<t.length;e++){let n=t[e].name,a=n?n.d.value:void 0;if(a)if("type_params"!==a||r)if("value"!==a||i)return;else i=t[e].valueExpression;else r=t[e].valueExpression;else{if(1!==e)return;i=t[e].valueExpression}}if(i){if(r){if(r.nodeType!==aO.ye.Tuple)return;n=[];let e=!0;if(await lJ(r.d.items,async t=>{let i=(await D(t,lO.WB.InstantiableType|lO.WB.AllowTypeVarWithoutScopeId)).type;(0,aM.CP)(i)?(i.priv.scopeId||(0,aM.wh)(i)&&i.priv.isUnpacked?e=!1:i=aM.Kn.cloneForScopeId(i,aL.tp(a),a.d.value,aM.O1.TypeAlias),n.push(i)):e=!1}),!e)return}return await tH(a,a,i,!1,void 0,()=>Promise.resolve(n))}}}function ty(e){if(e.nodeType===aO.ye.Constant){if(e.d.constType===aj.Wg.False);else if(e.d.constType===aj.Wg.True)return!0}return!1}async function tg(e,t){var i,a,s;let o=await r.getFileInfo(e),l="";if(2!==t.length)return;let d=t[0];if(d.argCategory===aO.b4.Simple&&d.valueExpression&&d.valueExpression.nodeType===aO.ye.StringList&&(l=d.valueExpression.d.strings.map(e=>e.d.value).join("")),!l||(null==(i=e.parent)?void 0:i.nodeType)===aO.ye.Assignment&&e.parent.d.leftExpr.nodeType===aO.ye.Name&&e.parent.d.leftExpr.d.value!==l)return;let u=(await ib(t[1])).type,p=!1;if((0,aM.ah)(u)&&(u=null!=(s=null==n?void 0:n.objectClass)?s:aM.vn.create(),p=!0),(null==(a=u.props)?void 0:a.specialForm)&&(0,aM.aE)(u.props.specialForm)&&aM.p5.isBuiltIn(u.props.specialForm,"Annotated")||!(0,aM.dL)(u))return;let c=aM.p5.createInstantiable(l,aL.NJ(e,o.moduleName,l),o.moduleName,o.fileUri,aM.aF.Final|aM.aF.NewTypeClass|aM.aF.ValidTypeAliasClass,aL.pj(e),void 0,u.shared.effectiveMetaclass);if(c.shared.baseClasses.push(p?aM.V.create():u),(0,aX.VS)(c),!p){let e=aM.RK.createSynthesizedInstance("__init__");aM.RK.addParam(e,aM.gk.create(aO.OP.Simple,aM.V.create(),aM.D5.TypeDeclared,"self")),aM.RK.addParam(e,aM.gk.create(aO.OP.Simple,aM.p5.cloneAsInstance(u),aM.D5.TypeDeclared,"_x")),e.shared.declaredReturnType=ea(),(await l9(c)).set("__init__",lM.NI.createWithType(lM.mk.ClassMember,e));let t=aM.RK.createSynthesizedInstance("__new__",aM.wt.ConstructorMethod);aM.RK.addParam(t,aM.gk.create(aO.OP.Simple,aM.V.create(),aM.D5.TypeDeclared,"cls")),aM.RK.addDefaultParams(t),t.shared.declaredReturnType=aM.p5.cloneAsInstance(c),t.priv.constructorTypeVarScopeId=(0,aX.Pn)(c),(await l9(c)).set("__new__",lM.NI.createWithType(lM.mk.ClassMember,t))}return c}async function tf(e,t,i){let n=await r.getFileInfo(e),a=(await iw(t[0],void 0)).type;if(!(0,aM.aE)(a)||!aM.p5.isBuiltIn(a,"str"))return;let s=a.priv.literalValue||"_",o=(await iw(t[1],void 0)).type;if(!(0,aM.aE)(o)||!(0,aX.Bj)(o)||void 0===o.priv.tupleTypeArgs)return;let l=aM.p5.createInstantiable(s,aL.NJ(e,n.moduleName,s),n.moduleName,n.fileUri,aM.aF.ValidTypeAliasClass,aL.pj(e),i,o.shared.effectiveMetaclass);return o.priv.tupleTypeArgs.forEach(e=>{let t=em(e.type);(0,aX.TR)(t)?l.shared.baseClasses.push(t):l.shared.baseClasses.push(aM.vn.create())}),(0,aX.VS)(l),l}async function tv(e,t){let i;return e.d.constType===aj.Wg.None?(null==n?void 0:n.noneTypeClass)&&(i=(t&lO.WB.InstantiableType)!=0?n.noneTypeClass:(0,aX.gU)(n.noneTypeClass),await rw(e)&&(i=aM.Ab.cloneWithTypeForm(i,(0,aX.gU)(i)))):(e.d.constType===aj.Wg.True||e.d.constType===aj.Wg.False||e.d.constType===aj.Wg.Debug)&&(i=await ix(e,"bool"))&&(0,aM.aE)(i)&&(e.d.constType===aj.Wg.True?i=aM.p5.cloneWithLiteral(i,!0):e.d.constType===aj.Wg.False&&(i=aM.p5.cloneWithLiteral(i,!1))),{type:null!=i?i:aM.vn.create()}}async function t_(e,t,i,r,a){let s=!0,o=!1,l=[],d=async e=>{let n,d=em(e);if((0,aM.D4)(d)&&(n=await Y(d,t,e,r)),n){let e,t=i.map(e=>({argCategory:aO.b4.Simple,typeResult:e}));return(e=await iE(r,async()=>((0,n6.vA)(void 0!==n),await e1(r,t,{type:n},void 0,!0,a)))).argumentErrors&&a&&(e=await iE(r,async()=>((0,n6.vA)(void 0!==n),await e1(r,t,{type:n},void 0,!0,void 0)))),e.argumentErrors?s=!1:e.overloadsUsedForCall&&e.overloadsUsedForCall.forEach(e=>l.push(e)),e.isTypeIncomplete&&(o=!0),e.returnType}s=!1},u=await l5(e,async e=>(0,aM.ah)(e)?e:(0,aM.aE)(e)||(0,aM.dL)(e)||(0,aM.CP)(e)?await d(e):(0,aX.Lj)(e)&&(null==n?void 0:n.objectClass)&&(0,aM.dL)(n.objectClass)?await d(aM.p5.cloneAsInstance(n.objectClass)):(0,aX.Nm)(e)&&(null==n?void 0:n.typeClass)&&(0,aM.dL)(n.typeClass)?await d(aM.p5.cloneAsInstance(n.typeClass)):void(s=!1));if(s)return{type:u,isIncomplete:o,overloadsUsedForCall:l}}async function tT(e,t,i){let r=null==i?void 0:i.expectedType;if(i&&(0,aM.mi)(i.expectedType)){let n,a;await l1(i.expectedType,async i=>{if(a&&!a.typeErrors)return;let r=await iE(e,async()=>await tw(e,t,(0,aX.lq)(i)));r&&await re(i,r.type)&&(!a||a.typeErrors&&!r.typeErrors)&&(n=i,a=r)},!0),r=n}if(r){let i=await tw(e,t,(0,aX.lq)(r));if(i)return i}let n=!!(null==i?void 0:i.expectedType)&&!(0,aM.CP)(i.expectedType);return{...await tb(e,t,n)}}async function tw(e,t,i){let r,n;i.expectedType=(0,aX.In)(i.expectedType);let a=em(i.expectedType);if(!(0,aM.aE)(a))return;let s=[],o=[],l=!1,d=!1;if(aM.p5.isTypedDictClass(a)){a=aM.Ab.cloneForCondition(a,void 0);let i=await dn(rI,a),r=await tS(e,t,s,o,!0,!0,void 0,void 0,i);r.isIncomplete&&(l=!0),r.typeErrors&&(d=!0);let n=await dc(rI,a,s,o);return n?{type:n,isIncomplete:l}:void 0}if((0,aM.ah)(i.expectedType))r=i.expectedType,n=i.expectedType;else{let t=await ix(e,"dict");if(!(0,aM.aE)(t))return;let a=new lN.w;if(!await dL(rI,t,i.expectedType,a,aL.Gu(e),e.start))return;let s=await H(aM.p5.cloneAsInstantiable(t),a);if(!s.priv.typeArgs||2!==s.priv.typeArgs.length)return;r=s.priv.typeArgs[0],n=s.priv.typeArgs[1]}let u=!1;if((0,aM.aE)(i.expectedType)&&i.expectedType.shared.typeParams.length>=2){let e=i.expectedType.shared.typeParams[1];aM.Kn.getVariance(e)===aM.id.Invariant&&(u=!0)}let p=await tS(e,t,s,o,!0,u,r,n,void 0);p.isIncomplete&&(l=!0),p.typeErrors&&(d=!0);let c=await tx((0,aX.lq)(r),s.map(e=>e.type),!1),h=await tx((0,aX.lq)(n),o.map(e=>e.type),!u);if(c&&h)return{type:await ix(e,"dict",[c,h]),isIncomplete:l,typeErrors:d}}async function tb(e,t,i){let n=i?aM.V.create():aM.vn.create(),a=n,s=n,o=[],l=[],d=!1,u=!1,p=!1,c=await tS(e,t,o,l,i,!1);c.isIncomplete&&(u=!0),c.typeErrors&&(p=!0);let h=o.map(e=>(0,aX.$o)(eC(B(e.type),t,!i))),m=l.map(e=>(0,aX.$o)(eC(B(e.type),t,!i)));a=h.length>0?(await r.getFileInfo(e)).diagnosticRuleSet.strictDictionaryInference||i?(0,aM.Do)(h):(0,aX.Ok)(h,{ignorePseudoGeneric:!0})?h[0]:n:n,m.length>0?s=(await r.getFileInfo(e)).diagnosticRuleSet.strictDictionaryInference||i?(0,aM.Do)(m):(0,aX.Ok)(m,{ignorePseudoGeneric:!0})?m[0]:n:(s=n,d=!0);let y=await iP(e,"dict"),g=(0,aM.dL)(y)?aM.p5.cloneAsInstance(aM.p5.specialize(y,[a,s],!0,void 0,void 0,d)):aM.vn.create();return u&&(0,aX.Vt)(g)>8?{type:aM.vn.create()}:{type:g,isIncomplete:u,typeErrors:p}}async function tS(e,t,i,r,a,s,o,l,d){let u=!1,p=!1,c=t&~(lO.WB.TypeExpression|lO.WB.StrLiteralAsType|lO.WB.InstantiableType);return await lH(e.d.items,async(h,m)=>{var y,g,f,v,_,T;let w=!0;if(h.nodeType===aO.ye.DictionaryKeyEntry){let n,v,_=await D(h.d.keyExpr,c|lO.WB.StripTupleLiterals,(0,aX.lq)(null!=o?o:a?aM.Xl.createNever():void 0));_.isIncomplete&&(u=!0),_.typeErrors&&(p=!0);let T=_.type;if(d&&(0,aM.aE)(T)&&aM.p5.isBuiltIn(T,"str")&&(0,aX.aw)(T)&&(d.knownItems.has(T.priv.literalValue)||d.extraItems)){let i=null!=(y=null==(g=d.knownItems.get(T.priv.literalValue))?void 0:g.valueType)?y:null==(f=d.extraItems)?void 0:f.valueType;if(i){let t=aL.Gu(e);i=(0,aX.J1)(i,t,e.start)}v=(0,aX.lq)(i),n=await D(h.d.valueExpr,t|lO.WB.StripTupleLiterals,v)}else{let i=null!=l?l:a?aM.Xl.createNever():void 0;if(i){let t=aL.Gu(e);i=(0,aX.J1)(i,t,e.start)}v=(0,aX.lq)(i),n=await D(h.d.valueExpr,t|lO.WB.StripTupleLiterals,v)}if(v&&!n.typeErrors){let e=await tx(v,[n.type],!s);e&&(n={...n,type:e})}let b=n.type;if(n.isIncomplete&&(u=!0),n.typeErrors&&(p=!0),a||m<64){if((0,aM.D4)(T)&&(0,aX.aw)(T)){let e=i.findIndex(e=>(0,aM.J5)(T,e.type));e>=0&&(i.splice(e,1),r.splice(e,1))}i.push({node:h.d.keyExpr,type:T}),r.push({node:h.d.valueExpr,type:b})}w=!1}else if(h.nodeType===aO.ye.DictionaryExpandEntry){let e;o&&l&&(null==n?void 0:n.supportsKeysAndGetItemClass)&&(0,aM.dL)(n.supportsKeysAndGetItemClass)&&(e=aM.p5.cloneAsInstance(aM.p5.specialize(n.supportsKeysAndGetItemClass,[o,l])));let c=(0,aX.lq)(e),y=await D(h.d.expr,t|lO.WB.StripTupleLiterals,c);if(c&&!y.typeErrors){let e=await tx(c,[y.type],!s);e&&(y={...y,type:e})}y.isIncomplete&&(u=!0),y.typeErrors&&(p=!0);let g=y.type;if((0,aM.ah)(g))(a||m<64)&&(i.push({node:h,type:g}),r.push({node:h,type:g})),w=!1;else if((0,aM.aE)(g)&&aM.p5.isTypedDictClass(g)){if((null==n?void 0:n.strClass)&&(0,aM.dL)(n.strClass)){let e=aM.p5.cloneAsInstance(n.strClass),t=await dn(rI,g,!0);t.knownItems.forEach((t,n)=>{(t.isRequired||t.isProvided)&&(i.push({node:h,type:aM.p5.cloneWithLiteral(e,n)}),r.push({node:h,type:t.valueType}))}),d||(i.push({node:h,type:aM.p5.cloneAsInstance(e)}),r.push({node:h,type:null!=(v=null==(_=t.extraItems)?void 0:_.valueType)?v:en()})),w=!1}}else if((null==n?void 0:n.supportsKeysAndGetItemClass)&&(0,aM.dL)(n.supportsKeysAndGetItemClass)){let e=new lN.w,t=(0,aX.kT)(n.supportsKeysAndGetItemClass);if(await re(aM.p5.cloneAsInstance(t),g,e,lO.fW.RetainLiteralsForTypeVar)){let n=(await H(t,e)).priv.typeArgs;n&&n.length>=2&&((a||m<64)&&(i.push({node:h,type:n[0]}),r.push({node:h,type:n[1]})),w=!1)}}}else if(h.nodeType===aO.ye.Comprehension){let e=await tM(h,t|lO.WB.StripTupleLiterals,l,o),n=e.type;if(e.isIncomplete&&(u=!0),e.typeErrors&&(p=!0),(0,aM.aE)(n)&&(0,aX.Bj)(n)){let e=null==(T=n.priv.tupleTypeArgs)?void 0:T.map(e=>e.type);e&&2===e.length&&((a||m<64)&&(i.push({node:h,type:e[0]}),r.push({node:h,type:e[1]})),w=!1)}}w&&(a||m<64)&&(i.push({node:h,type:aM.vn.create()}),r.push({node:h,type:aM.vn.create()}))}),{type:aM.V.create(),isIncomplete:u,typeErrors:p}}async function tk(e,t,i){t&=~(lO.WB.TypeExpression|lO.WB.StrLiteralAsType|lO.WB.InstantiableType);let r=null==i?void 0:i.expectedType;if(i&&(0,aM.mi)(i.expectedType)){let n,a;await l1(i.expectedType,async i=>{if(a&&!a.typeErrors)return;let r=await iE(e,async()=>await tI(e,t,(0,aX.lq)(i)));r&&await re(i,r.type)&&(!a||a.typeErrors&&!r.typeErrors)&&(n=i,a=r)},!0),r=n}if(r){let i=await tI(e,t,(0,aX.lq)(r));if(i&&!i.typeErrors)return i}return{...await tP(e,t,!!(null==i?void 0:i.expectedType))}}async function tI(e,t,i){let r=e.nodeType===aO.ye.List?"list":"set";i.expectedType=(0,aX.In)(i.expectedType);let n=!1,a=!1,s=await tC(e,await iP(e,r),i);if(!s)return;let o=[];await lH(e.d.items,async e=>{let i;i=e.nodeType===aO.ye.Comprehension?await tM(e,t|lO.WB.StripTupleLiterals,s):await D(e,t|lO.WB.StripTupleLiterals,(0,aX.lq)(s)),o.push(i.type),i.isIncomplete&&(n=!0),i.typeErrors&&(a=!0)});let l=!1;(0,aM.aE)(i.expectedType)&&(await t0(i.expectedType),i.expectedType.shared.typeParams.some(e=>aM.Kn.getVariance(e)===aM.id.Invariant)&&(l=!0));let d=await tx((0,aX.lq)(s),o,!l);return d?{type:await ix(e,r,[d]),isIncomplete:n,typeErrors:a}:{type:aM.vn.create(),isIncomplete:n,typeErrors:!0}}async function tC(e,t,i){if(!i||!t||!(0,aM.dL)(t))return;if((0,aM.ah)(i.expectedType))return i.expectedType;if(!(0,aM.aE)(i.expectedType))return;let r=new lN.w;if(!await dL(rI,aM.p5.cloneAsInstance(t),i.expectedType,r,aL.Gu(e),e.start))return;let n=await H(t,r);if(n.priv.typeArgs)return n.priv.typeArgs[0]}async function tP(e,t,i){let n=e.nodeType===aO.ye.List?"list":"set",a=!1,s=!1,o=!1,l=[];await lH(e.d.items,async(e,r)=>{let n;(n=e.nodeType!==aO.ye.Comprehension||e.d.isGenerator?await D(e,t|lO.WB.StripTupleLiterals):await tM(e,t|lO.WB.StripTupleLiterals)).type=(0,aX.$o)(eC(n.type,t,!i)),n.isIncomplete&&(s=!0),n.typeErrors&&(o=!0),(i||r<64)&&l.push(n.type)}),l=l.map(e=>B(e));let d=i?aM.V.create():aM.vn.create();if(l.length>0){let t=await r.getFileInfo(e);d="list"===n&&t.diagnosticRuleSet.strictListInference||"set"===n&&t.diagnosticRuleSet.strictSetInference||i?(0,aM.Do)(l,{maxSubtypeCount:64}):(0,aX.Ok)(l,{ignorePseudoGeneric:!0})?l[0]:d}else a=!0;let u=await iP(e,n),p=(0,aM.dL)(u)?aM.p5.cloneAsInstance(aM.p5.specialize(u,[d],!0,void 0,void 0,a)):aM.vn.create();return s&&(0,aX.Vt)(p)>8?{type:aM.vn.create()}:{type:p,isIncomplete:s,typeErrors:o}}async function tx(e,t,i){if((0,aM.f7)(e.expectedType))return e.expectedType;let r=new lN.w,n=e.expectedType,a=!0;if(await lH(t,async e=>{a&&!await re(n,e,r)&&(a=!1)}),a){if(i&&t.length>0){let i=(0,aM.Do)(t);return(0,aX.th)(e.expectedType)?i:B(i)}return(0,aX.EY)(await H(e.expectedType,r,{replaceUnsolved:{scopeIds:[],tupleClassType:er()}}),e=>{if(1!==t.length)return e;let i=t[0];return(0,aM.J5)(e,i,{ignoreTypedDictNarrowEntries:!0})&&(0,aM.D4)(e)&&(0,aM.D4)(i)&&aM.p5.isTypedDictClass(i)?aM.p5.cloneForNarrowedTypedDictEntries(e,i.priv.typedDictNarrowedEntries):e})}}async function tF(e){let t,i,r=!1,n=aL.hP(e);if(n){let r=await t6(n);if(r){let a=aM.RK.getEffectiveReturnType(r.functionType);if(a){let r=aL.Gu(e);a=(0,aX.ru)(a,r),t=(0,aX.x)(a,!!n.d.isAsync);let s=(0,aX.$9)(a);s&&s.length>=2&&(i=(0,aX.ru)(s[1],r))}}}return e.d.expr&&(await D(e.d.expr,void 0,(0,aX.lq)(t))).isIncomplete&&(r=!0),{type:i||aM.vn.create(),isIncomplete:r}}async function tA(e){let t=await D(e.d.expr),i=t.type;return{type:await l5(i,async i=>{var r,n;let a=(0,aX.$9)(i);if(a)return a.length>=2?a[2]:aM.vn.create();if((0,aM.aE)(i)&&aM.p5.isBuiltIn(i,["Coroutine","CoroutineType"]))return aM.vn.create();let s=null!=(r=null==(n=await ei(t,!1,e))?void 0:n.type)?r:aM.vn.create();return(a=(0,aX.$9)(s))&&a.length>=2?a[2]:aM.vn.create()})}}async function tD(e,t){let i,r=[];if(t&&await l5(t.expectedType,async e=>{if((0,aM.Tn)(e)&&r.push(e),(0,aM.aE)(e)){let t=await Y(e,"__call__");t&&(0,aM.Tn)(t)&&r.push(t)}}),r.length>1){for(let n of r=(0,aX.wE)(r))if(!(await tE(e,n,t,!0)).typeErrors){i=n;break}}return!i&&r.length>0&&(i=r[0]),await tE(e,i,t,!1)}async function tE(e,t,i,r){let n,a,s=!!(null==i?void 0:i.isTypeIncomplete),o=!0;if(t){let i=aL.Gu(e);t=(0,aX.J1)(t,i,e.start),a=(0,dD.MC)(t),n=await i0(t)}let l=aM.RK.createInstance("","","",aM.wt.PartiallyEvaluated);return l.shared.typeVarScopeId=aL.tp(e),await l4(async()=>{w(e,{type:l,isIncomplete:!0},lO.WB.None);let d=!1;await lH(e.d.params,async(t,r)=>{let n;if(a&&!d)if(r<a.params.length){let e=a.params[r];e.param.category===t.d.category&&!t.d.name==!e.param.name?n=e.type:d=!0}else t.d.defaultValue&&(n=(await D(t.d.defaultValue,void 0,i)).type);else t.d.defaultValue&&(n=await it(t.d.defaultValue));if(t.d.name&&w(t.d.name,{type:await ii(e,t.d.category,null!=n?n:aM.vn.create())},lO.WB.None),t.d.defaultValue&&await D(t.d.defaultValue,lO.WB.ConvertEllipsisToAny),r>=0){let e=!1;t.d.category===aO.OP.Simple&&t.d.name?(0,aN.$4)(t.d.name.d.value)&&(e=!0):o=!1,o&&!e&&l.shared.parameters.length>0&&aM.RK.addPositionOnlyParamSeparator(l),e||(o=!1)}let s=aM.gk.create(t.d.category,null!=n?n:aM.vn.create(),aM.D5.TypeDeclared,t.d.name?t.d.name.d.value:void 0,t.d.defaultValue?aM.V.create(!0):void 0,t.d.defaultValue);aM.RK.addParam(l,s)}),o&&l.shared.parameters.length>0&&aM.RK.addPositionOnlyParamSeparator(l);let u=!1;return await iE(r||iR(e)||(null==i?void 0:i.isTypeIncomplete)?e.d.expr:void 0,async()=>{let t=await D(e.d.expr,void 0,(0,aX.lq)(n));if(l.shared.inferredReturnType={type:t.type},t.isIncomplete&&(s=!0),t.typeErrors)u=!0;else if(n&&(0,aX.QL)(n)){let e=new lN.w;await re(n,t.type,e)&&(l=await H(l,e,{replaceUnsolved:{scopeIds:[],tupleClassType:er()}}))}},{dependentType:null==i?void 0:i.expectedType}),l.shared.flags&=~aM.wt.PartiallyEvaluated,t&&!await re(t,l)&&(u=!0),{type:l,isIncomplete:s,typeErrors:u}})}async function tR(e,t,i){let r=!1,n=!1,a=e.d.forIfNodes.some((e,t)=>e.nodeType===aO.ye.ComprehensionFor&&!!e.d.isAsync||t>0&&aL.s0(e)),s=aM.vn.create();aL.s0(e.d.expr)&&(a=!0);let o=await eo(e,a?"AsyncGenerator":"Generator"),l=await tC(e,o,i),d=await tM(e,t|lO.WB.StripTupleLiterals,l);d.isIncomplete&&(r=!0),d.typeErrors&&(n=!0);let u=d.type;return l&&(0,aX.th)(l)||(u=B(u)),o&&(0,aM.dL)(o)&&(s=aM.p5.cloneAsInstance(aM.p5.specialize(o,a?[u,ea()]:[u,ea(),ea()]))),{type:s,isIncomplete:r,typeErrors:n}}async function tN(e){let t=!1;if(e.nodeType===aO.ye.ComprehensionFor){var i;let r=await D(e.d.iterableExpr);r.isIncomplete&&(t=!0);let n=B(r.type),a=null!=(i=await et({type:n,isIncomplete:r.isIncomplete},!!e.d.isAsync,e.d.iterableExpr))?i:{type:aM.vn.create(),isIncomplete:r.isIncomplete},s=e.d.targetExpr;await ef(s,a,e.d.iterableExpr)}else(0,n6.vA)(e.nodeType===aO.ye.ComprehensionIf),await D(e.d.testExpr);return t}async function tM(e,t,i,r){let n=!1,a=!1;for(let t of e.d.forIfNodes)await tN(t)&&(n=!0);let s=aM.vn.create();if(e.d.expr.nodeType===aO.ye.DictionaryKeyEntry){let o=await D(e.d.expr.d.keyExpr,t,(0,aX.lq)(r));o.isIncomplete&&(n=!0),o.typeErrors&&(a=!0);let l=o.type;r&&(0,aX.th)(r)||(l=B(l));let d=await D(e.d.expr.d.valueExpr,t,(0,aX.lq)(i));d.isIncomplete&&(n=!0),d.typeErrors&&(a=!0);let u=d.type;i&&(0,aX.th)(i)||(u=B(u)),s=pg(rI,[{type:l,isUnbounded:!1},{type:u,isUnbounded:!1}])}else if(e.d.expr.nodeType===aO.ye.DictionaryExpandEntry)await D(e.d.expr.d.expr,t,(0,aX.lq)(i));else if((0,aO.TE)(e)){let r=await D(e.d.expr,t,(0,aX.lq)(i));r.isIncomplete&&(n=!0),r.typeErrors&&(a=!0),s=r.type}return{type:s,isIncomplete:n,typeErrors:a}}async function tO(e){let t=ea(),i=t,r=t,n=t,a=!1;if(e.d.startValue){let t=await D(e.d.startValue);i=t.type,t.isIncomplete&&(a=!0)}if(e.d.endValue){let t=await D(e.d.endValue);r=t.type,t.isIncomplete&&(a=!0)}if(e.d.stepValue){let t=await D(e.d.stepValue);n=t.type,t.isIncomplete&&(a=!0)}let s=await ix(e,"slice");return(0,aM.aE)(s)?{type:aM.p5.specialize(s,[i,r,n]),isIncomplete:a}:{type:s}}function tU(e,t){if(e.typeList)if(!(null==t?void 0:t.allowTypeArgList))return!1;else e.typeList.forEach(e=>{tU(e)});if((0,aX.U8)(e.type)&&!(null==t?void 0:t.allowTypeArgList)||(0,aM.FS)(e.type)||(0,aM.Bo)(e.type)&&!(null==t?void 0:t.allowParamSpec))return!1;if((0,aM.wh)(e.type)&&!e.type.priv.isInUnion)if(!(null==t?void 0:t.allowTypeVarTuple))return!1;else eU(e.type,e.node);return!(!(null==t?void 0:t.allowEmptyTuple)&&e.isEmptyTupleShorthand||(0,aM.wO)(e.type)&&!(null==t?void 0:t.allowUnpackedTuples))}async function tL(e,t,i){let r=await ix(e,t);return(0,aM.aE)(r)?aM.p5.cloneWithLiteral(aM.p5.cloneRemoveTypePromotions(r),i):aM.vn.create()}async function tz(e,t,i,r){let n=await iP(e,i);if((0,aM.dL)(n)){let e=aM.p5.cloneWithLiteral(n,r);return aM.Ab.setSpecialForm(e,t),e}return aM.vn.create()}async function tW(e,t,i){if(0===t.d.items.length)return aM.vn.create();let r=[],a=!0;for(let o of t.d.items){let l,d=o.d.valueExpr;if(o.d.argCategory!==aO.b4.Simple)(i&lO.WB.TypeExpression)!=0&&(l=aM.vn.create(),a=!1);else if(o.d.name)(i&lO.WB.TypeExpression)!=0&&(l=aM.vn.create(),a=!1);else if(d.nodeType===aO.ye.StringList){let r=(d.d.strings[0].d.token.flags&aj.IF.Bytes)!=0,n=d.d.strings.map(e=>e.d.value).join("");l=r?await tz(t,e,"bytes",n):await tz(t,e,"str",n),(i&lO.WB.TypeExpression)!=0&&d.d.strings.forEach(e=>{(e.d.token.flags&aj.IF.NamedUnicodeEscape)!=0&&(a=!1)})}else if(d.nodeType===aO.ye.Number)!d.d.isImaginary&&d.d.isInteger&&(l=await tz(t,e,"int",d.d.value));else if(d.nodeType===aO.ye.Constant){if(d.d.constType===aj.Wg.True)l=await tz(t,e,"bool",!0);else if(d.d.constType===aj.Wg.False)l=await tz(t,e,"bool",!1);else if(d.d.constType===aj.Wg.None){var s;l=null!=(s=null==n?void 0:n.noneTypeClass)?s:aM.vn.create()}}else d.nodeType===aO.ye.UnaryOperation&&(d.d.operator===aj.hu.Subtract||d.d.operator===aj.hu.Add)&&d.d.expr.nodeType===aO.ye.Number&&!d.d.expr.d.isImaginary&&d.d.expr.d.isInteger&&(l=await tz(t,e,"int",d.d.operator===aj.hu.Subtract?-d.d.expr.d.value:d.d.expr.d.value));if(!l){let e=await D(d,i&(lO.WB.ForwardRefs|lO.WB.TypeExpression)|lO.WB.NoConvertSpecialForm);if((0,aM.aE)(e.type)&&aM.p5.isEnumClass(e.type)&&void 0!==e.type.priv.literalValue)l=aM.p5.cloneAsInstantiable(e.type);else{let t=!0;(0,aX.u6)(e.type,e=>{(0,aM.dL)(e)&&void 0!==e.priv.literalValue||(0,aX.Nm)(e)||(t=!1)}),t&&(l=e.type)}}if(!l)if((i&lO.WB.TypeExpression)==0)return aM.p5.cloneAsInstance(e);else l=aM.vn.create(),a=!1;r.push(l)}let o=(0,aM.Do)(r,{skipElideRedundantLiterals:!0});return(0,aM.mi)(o)&&(null==n?void 0:n.unionTypeClass)&&(0,aM.dL)(n.unionTypeClass)&&(o=aM.Ab.cloneAsSpecialForm(o,aM.p5.cloneAsInstance(n.unionTypeClass))),await rw(t)&&a&&(o=aM.Ab.cloneWithTypeForm(o,(0,aX.gU)(o))),o}async function tB(e,t,i,r,n){var a;if((0,aX.qs)(e))return e;let s=i.shared.recursiveAlias;(0,n6.vA)(void 0!==s);let o=s.typeParams;if(o||(o=[],(0,aX.p7)(o,(0,aX.Nl)(e)),o=o.filter(e=>!e.shared.isSynthesized)),(o=o.map(e=>aM.Ab.isInstance(e)?e:(0,aX.gU)(e))).forEach((e,i)=>{(0,n6.vA)(void 0!==o);let r=t;if(n&&i<n.length){var a;r=null!=(a=n[i].d.defaultExpr)?a:n[i].d.name}tZ(r,e,o.slice(0,i),s.typeVarScopeId)}),!aM.Ab.isInstantiable(e))return e;s.typeParams=o.length>0?o:void 0;let l=aM.Ab.cloneForTypeAlias(e,{shared:s,typeArgs:void 0});if(s.isTypeAliasType||r){let e=await eo(t,"TypeAliasType");e&&(0,aM.dL)(e)&&(l=aM.Ab.cloneAsSpecialForm(l,aM.p5.cloneAsInstance(e)))}return(null==(a=l.props)?void 0:a.typeForm)&&(l=aM.Ab.cloneWithTypeForm(l,void 0)),l}async function t$(e,t,i){var a;let s,o=await r.getFileInfo(e),l=aM.p5.createInstantiable(t,aL.NJ(e,o.moduleName,t),o.moduleName,o.fileUri,aM.aF.BuiltIn|aM.aF.SpecialBuiltIn,0,void 0,void 0);if(i.isSpecialForm&&(l.shared.flags|=aM.aF.SpecialFormClass),i.isIllegalInIsinstance&&(l.shared.flags|=aM.aF.IllegalIsinstanceClass),void 0!==i.typeParamVariance){let r=aM.Kn.createInstance("T");(r=aM.Kn.cloneForScopeId(r,aL.tp(e),t,aM.O1.Class)).shared.declaredVariance=i.typeParamVariance,l.shared.typeParams.push(r)}let d=null!=(a=ax.JO(e))?a:e.parent?ax.JO(e.parent):void 0;l.shared.declaration=d,o.isTypingExtensionsStubFile&&(l.shared.flags|=aM.aF.TypingExtensionClass);let u=i.implicitBaseClass||i.alias||"object";return"builtins"===i.module?s=await iP(e,u):"collections"===i.module?s=await eu(e,u,["collections"]):"internals"===i.module&&((0,n6.vA)("TypedDictFallback"===u),(s=null==n?void 0:n.typedDictPrivateClass)&&(0,aM.dL)(s)&&aM.p5.isBuiltIn(s,["_TypedDict","TypedDictFallback"])&&(s=aM.p5.cloneWithNewFlags(s,s.shared.flags&~(aM.aF.SupportsAbstractMethods|aM.aF.TypeCheckOnly)))),s&&(0,aM.dL)(s)?i.alias?l=aM.p5.cloneForTypingAlias(s,t):(l.shared.baseClasses.push(s),l.shared.effectiveMetaclass=s.shared.effectiveMetaclass,(0,aX.VS)(l)):(l.shared.baseClasses.push(aM.vn.create()),l.shared.effectiveMetaclass=aM.vn.create(),(0,aX.VS)(l)),l}async function tj(e){if(!e.parent||e.parent.nodeType!==aO.ye.TypeAnnotation||e.parent.d.valueExpr.nodeType!==aO.ye.Name)return;let t=e.parent.d.valueExpr.d.value,i=new Map([["Tuple",{alias:"tuple",module:"builtins"}],["Generic",{alias:"",module:"builtins",isSpecialForm:!0}],["Protocol",{alias:"",module:"builtins",isSpecialForm:!0}],["Callable",{alias:"",module:"builtins",isSpecialForm:!0}],["Type",{alias:"type",module:"builtins"}],["ClassVar",{alias:"",module:"builtins",isSpecialForm:!0}],["Final",{alias:"",module:"builtins",isSpecialForm:!0}],["Literal",{alias:"",module:"builtins",isSpecialForm:!0}],["TypedDict",{alias:"TypedDictFallback",module:"internals"}],["Union",{alias:"",module:"builtins",isSpecialForm:!0}],["Optional",{alias:"",module:"builtins",isSpecialForm:!0}],["Annotated",{alias:"",module:"builtins",isSpecialForm:!0,isIllegalInIsinstance:!0}],["TypeAlias",{alias:"",module:"builtins",isSpecialForm:!0}],["Concatenate",{alias:"",module:"builtins",isSpecialForm:!0}],["TypeGuard",{alias:"",module:"builtins",implicitBaseClass:"bool",isSpecialForm:!0,typeParamVariance:aM.id.Covariant}],["Unpack",{alias:"",module:"builtins",isSpecialForm:!0}],["Required",{alias:"",module:"builtins",isSpecialForm:!0}],["NotRequired",{alias:"",module:"builtins",isSpecialForm:!0}],["Self",{alias:"",module:"builtins",isSpecialForm:!0}],["NoReturn",{alias:"",module:"builtins",isSpecialForm:!0}],["Never",{alias:"",module:"builtins",isSpecialForm:!0}],["LiteralString",{alias:"",module:"builtins",isSpecialForm:!0}],["ReadOnly",{alias:"",module:"builtins",isSpecialForm:!0}],["TypeIs",{alias:"",module:"builtins",implicitBaseClass:"bool",isSpecialForm:!0,typeParamVariance:aM.id.Invariant}],["TypeForm",{alias:"",module:"builtins",isSpecialForm:!0,typeParamVariance:aM.id.Covariant,isIllegalInIsinstance:!0}]]).get(t);if(i){let a=await T(e,lO.WB.None);if(a)return a;let s=await t$(e,t,i);if("LiteralString"===t){var r;s.shared.baseClasses.push(null!=(r=null==n?void 0:n.strClass)?r:aM.V.create()),(0,aX.VS)(s),await rw(e)&&(s=aM.Ab.cloneWithTypeForm(s,(0,aX.gU)(s)))}return("Never"===t||"NoReturn"===t)&&(s=aM.Ab.cloneAsSpecialForm("Never"===t?aM.Xl.createNever():aM.Xl.createNoReturn(),s),await rw(e)&&(s=aM.Ab.cloneWithTypeForm(s,(0,aX.gU)(s)))),w(e,{type:s},lO.WB.None),s}}async function tK(e){if(e.d.leftExpr.nodeType!==aO.ye.Name)return;let t=e.d.leftExpr.d.value;if("Any"===t)return aM.V.createSpecialForm();let i=new Map([["overload",{alias:"",module:"builtins"}],["TypeVar",{alias:"",module:"builtins"}],["_promote",{alias:"",module:"builtins"}],["no_type_check",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["Counter",{alias:"Counter",module:"collections"}],["List",{alias:"list",module:"builtins"}],["Dict",{alias:"dict",module:"builtins"}],["DefaultDict",{alias:"defaultdict",module:"collections"}],["Set",{alias:"set",module:"builtins"}],["FrozenSet",{alias:"frozenset",module:"builtins"}],["Deque",{alias:"deque",module:"collections"}],["ChainMap",{alias:"ChainMap",module:"collections"}],["OrderedDict",{alias:"OrderedDict",module:"collections"}]]).get(t);if(i)return await D(e.d.rightExpr),await t$(e,t,i)}async function tV(e){let t=await r.getFileInfo(e);if(_(e))return;let i=lO.WB.None;t.isStubFile&&(i|=lO.WB.ConvertEllipsisToAny),(e.d.rightExpr.nodeType===aO.ye.Name||e.d.rightExpr.nodeType===aO.ye.MemberAccess)&&(i|=lO.WB.NoSpecialize);let n=await T(e.d.rightExpr,void 0),a=!1;if(!n&&(t.isTypingStubFile||t.isTypingExtensionsStubFile)&&(n=await tK(e))&&w(e.d.rightExpr,{type:n},lO.WB.None),!n){let r,l,d=!1;if(await X(e.d.leftExpr))i=lO.WB.InstantiableType|lO.WB.TypeExpression|lO.WB.StrLiteralAsType|lO.WB.NoParamSpec|lO.WB.NoTypeVarTuple|lO.WB.NoClassVar,r=e.d.leftExpr.d.valueExpr;else if(e.d.leftExpr.nodeType===aO.ye.Name){let t=await iF(e.d.leftExpr,e.d.leftExpr.d.value,!1);if(t){let n=t.symbol.getDeclarations();1===n.length&&(rv(n[0])?(r=e.d.leftExpr,d=!0,i|=lO.WB.NoConvertSpecialForm):await rT(n[0])&&(r=e.d.leftExpr))}}r&&(w(e,{type:l=await tq(r)},void 0),w(e.d.leftExpr,{type:l},void 0),e.d.leftExpr.nodeType===aO.ye.TypeAnnotation&&w(e.d.leftExpr.d.valueExpr,{type:l},void 0));let u=await Z(e.d.leftExpr,{method:"set"});if(u){let t=aL.Gu(e);u=(0,aX.ru)(u,t)}let p=await D(e.d.rightExpr,i,(0,aX.lq)(u));if(n=p.type,p.isIncomplete&&(a=!0),d&&!r_(n)&&(r=void 0),r){var s,o;(0,n6.vA)(void 0!==l),n=await tB(n,r,l,!1),(0,aX.li)(l,n)&&(n=aM.vn.create()),l.shared.boundType=n,l.shared.recursiveAlias.typeParams=null==(o=n.props)||null==(s=o.typeAliasInfo)?void 0:s.shared.typeParams}else{let i=(0,dR.W)(e.d.rightExpr,t.executionEnvironment,t.definedConstants);if(void 0!==i){let t=await ix(e,"bool");(0,aM.aE)(t)&&(n=aM.p5.cloneWithLiteral(t,i))}}}await ef(e.d.leftExpr,{type:n,isIncomplete:a},e.d.rightExpr,!0,!0),w(e,{type:n,isIncomplete:a},lO.WB.None)}async function tq(e,t=!1){let i=aM.Kn.createInstantiable(`__type_alias_${e.d.value}`);i.shared.isSynthesized=!0;let n=aL.tp(e),a=await r.getFileInfo(e);return i.shared.recursiveAlias={name:e.d.value,fullName:aL.NJ(e,a.moduleName,e.d.value),moduleName:a.moduleName,fileUri:a.fileUri,typeVarScopeId:n,isTypeAliasType:t,typeParams:void 0,computedVariance:void 0},i.priv.scopeId=n,i}async function tG(e){var t;return await tH(e,e.d.name,e.d.expr,!0,null==(t=e.d.typeParams)?void 0:t.d.params,async()=>{if(e.d.typeParams)return await t1(e.d.typeParams)})}async function tH(e,t,i,r,n,a){let s,o=await T(t,lO.WB.None);if(o)return o;let l=await tq(t,!0);w(t,{type:l},void 0);let d=await ik(e),u=null==d?void 0:d.lookUpSymbolRecursive(t.d.value),p=ax.JO(e);p&&u&&C(u.symbol,p,l);let c=await a();if(l.shared.recursiveAlias&&(l.shared.recursiveAlias.typeParams=null!=c?c:[]),r)s=await iS(i,{forwardRefs:!0,typeExpression:!0});else{let e=lO.WB.InstantiableType|lO.WB.TypeExpression|lO.WB.StrLiteralAsType|lO.WB.NoParamSpec|lO.WB.NoTypeVarTuple|lO.WB.NoClassVar;s=await D(i,e)}let h=!1,m=s.type;return s.isIncomplete&&(h=!0),m=await tB(m,t,l,!0,n),(0,aX.li)(l,m)&&(m=aM.vn.create()),l.shared.boundType=m,w(t,{type:m,isIncomplete:h},lO.WB.None),m}async function tJ(e){if(_(e))return;let t=await uJ(rI,e,void 0);w(e,t,lO.WB.None)}function tY(e){return`__type_of_${e}`}async function tQ(e){let t;await F(e);let i=await T(e.d.name,lO.WB.None);if(i){if(!(0,aM.dL)(i))return;return{classType:i,decoratedType:await T(e,lO.WB.None)||aM.vn.create()}}let n=await ik(e),a=await r.getFileInfo(e),s=aM.aF.None;((null==n?void 0:n.type)===dE.hB.Builtin||a.isTypingStubFile||a.isTypingExtensionsStubFile||a.isBuiltInStubFile||a.isTypeshedStubFile)&&(s|=aM.aF.BuiltIn,a.isTypingExtensionsStubFile&&(s|=aM.aF.TypingExtensionClass),"property"===e.d.name.d.value&&(s|=aM.aF.PropertyClass),"tuple"===e.d.name.d.value&&(s|=aM.aF.TupleClass)),a.isStubFile&&(s|=aM.aF.DefinedInStub);let o=aM.p5.createInstantiable(e.d.name.d.value,aL.NJ(e,a.moduleName,e.d.name.d.value),a.moduleName,a.fileUri,s,aL.pj(e),void 0,void 0,aL.uf(e.d.suite.d.statements));o.shared.typeVarScopeId=aL.tp(e),pz.has(o.shared.fullName)&&(o.priv.includePromotions=!0);let l=null==n?void 0:n.lookUpSymbol(e.d.name.d.value),d=ax.JO(e);return d&&(t=d),t&&l&&C(l,t,o),o.shared.flags|=aM.aF.PartiallyEvaluated,o.shared.declaration=t,await l4(async()=>{let t,i,r,n;w(e,{type:o},void 0),w(e.d.name,{type:o},void 0);let s=[];e.d.typeParams&&(s=(await t1(e.d.typeParams)).map(e=>aM.Kn.cloneAsInstance(e)));let l=!1,d=[],u=lO.WB.InstantiableType|lO.WB.AllowGeneric|lO.WB.NoNakedGeneric|lO.WB.NoTypeVarWithScopeId|lO.WB.TypeVarGetsCurScope|lO.WB.EnforceVarianceConsistency;a.isStubFile&&(u|=lO.WB.ForwardRefs),await lH(e.d.arguments,async n=>{if(n.d.argCategory===aO.b4.UnpackedDictionary)return void await D(n.d.valueExpr);if(n.d.name)if(aM.p5.isTypedDictClass(o)){if("total"===n.d.name.d.value||"closed"===n.d.name.d.value){let e=(0,dR.W)(n.d.valueExpr,a.executionEnvironment,a.definedConstants);void 0===e||"total"!==n.d.name.d.value||e||(o.shared.flags|=aM.aF.CanOmitDictValues)}}else"metaclass"===n.d.name.d.value?r||(r=n.d.valueExpr):d.push({argCategory:aO.b4.Simple,node:n,name:n.d.name,valueExpression:n.d.valueExpr});else{var p,c;let r;n.d.argCategory===aO.b4.UnpackedList?(await D(n.d.valueExpr),r=aM.vn.create()):(r=(await D(n.d.valueExpr,u)).type,(0,aM.CP)(r)&&(null==(c=r.props)?void 0:c.specialForm)&&aM.Ab.isInstance(r.props.specialForm)&&(r=aM.vn.create()),r=em(r)),(0,aM.mi)(r)&&(r=(0,aM.E8)(r)),(0,aM.f7)(r)&&(null==(p=r.props)?void 0:p.specialForm)&&(r=aM.V.create()),r=(0,aX.lo)(r),!(0,aM.ah)(r)&&!(0,aM.sQ)(r)&&((0,aM.D4)(r)&&aM.Ab.getInstantiableDepth(r)>0&&r.shared.effectiveMetaclass&&(0,aM.D4)(r.shared.effectiveMetaclass)&&(r=r.shared.effectiveMetaclass),(0,aX.n2)(r)?((0,n6.vA)((0,aM.aE)(r)),r=r.priv.typeArgs&&r.priv.typeArgs.length>0?r.priv.typeArgs[0]:aM.vn.create()):(0,aM.dL)(r)?((aM.p5.isPartiallyEvaluated(r)||r.shared.mro.some(e=>(0,aM.D4)(e)&&aM.p5.isPartiallyEvaluated(e)))&&t4(e,r),aM.p5.isBuiltIn(r,"Protocol")&&(o.shared.flags|=aM.aF.ProtocolClass),aM.p5.isBuiltIn(r,"property")&&(o.shared.flags|=aM.aF.PropertyClass),ai.fz.isGreaterOrEqualTo(a.executionEnvironment.pythonVersion,ai.z2)&&aM.p5.isBuiltIn(r,"NamedTuple")&&(l=!0),(aM.p5.isBuiltIn(r,"TypedDict")||aM.p5.isTypedDictClass(r))&&(o.shared.flags|=aM.aF.TypedDictClass,aM.p5.isTypedDictEffectivelyClosed(r)&&(o.shared.flags|=aM.aF.TypedDictEffectivelyClosed))):r=aM.vn.create()),o.shared.baseClasses.push(r),(0,aM.dL)(r)&&(aM.p5.isEnumClass(r)&&(o.shared.flags|=aM.aF.EnumClass),(aM.p5.supportsAbstractMethods(r)||aM.p5.isProtocolClass(r))&&(o.shared.flags|=aM.aF.SupportsAbstractMethods),aM.p5.isPropertyClass(r)&&(o.shared.flags|=aM.aF.PropertyClass)),(0,aX.p7)(s,(0,aX.Nl)(r)),(0,aM.dL)(r)&&(aM.p5.isBuiltIn(r,"Generic")?e.d.typeParams||t||(t=tX(r)):aM.p5.isBuiltIn(r,"Protocol")&&r.priv.typeArgs&&r.priv.typeArgs.length>0&&!i&&(i=tX(r),e.d.typeParams&&i.length>0&&(i=[])))}}),aM.p5.isBuiltIn(o,"object")||0!==o.shared.baseClasses.filter(e=>(0,aM.D4)(e)).length||o.shared.baseClasses.push(await iP(e,"object")),t=null!=t?t:i,o.shared.typeParams=null!=t?t:s,o.shared.typeParams.some(e=>e.shared.declaredVariance===aM.id.Auto&&void 0===e.priv.computedVariance)&&(o.shared.requiresVarianceInference=!0),o.shared.typeParams.forEach((t,i)=>{let r=e.d.name;if(e.d.typeParams&&i<e.d.typeParams.d.params.length){var n;let t=e.d.typeParams.d.params[i];r=null!=(n=t.d.defaultExpr)?n:t.d.name}tZ(r,t,o.shared.typeParams.slice(0,i),o.shared.typeVarScopeId)}),(0,aX.VS)(o);let p=await ik(e.d.suite);o.shared.fields=(null==p?void 0:p.symbolTable)?new Map(p.symbolTable):new Map,o.shared.fields.has("__eq__")&&!o.shared.fields.has("__hash__")&&o.shared.fields.set("__hash__",lM.NI.createWithType(lM.mk.ClassMember|lM.mk.ClassVar|lM.mk.IgnoredForProtocolMatch|lM.mk.IgnoredForOverrideChecks,ea()));let c=null==p?void 0:p.getSlotsNames();if(c&&(o.shared.localSlotsNames=c),!a.isStubFile&&0===o.shared.typeParams.length){let t=o.shared.fields.get("__init__");if(t){let i=t.getTypedDeclarations();if(1===i.length&&i[0].type===aF.h3.Function){let t=i[0].node,r=t.d.params;if(r.length>1&&!r.some((e,i)=>!!aL.MK(t,i))){let i=r.filter((e,t)=>t>0&&e.d.name&&e.d.category===aO.OP.Simple&&!e.d.defaultValue);i.length>0&&(o.shared.flags|=aM.aF.PseudoGenericClass,o.shared.typeParams=i.map(i=>{let r=aM.Kn.createInstance(tY(i.d.name.d.value));return r.shared.isSynthesized=!0,r.priv.scopeId=aL.tp(t),r.shared.boundType=aM.vn.create(),aM.Kn.cloneForScopeId(r,aL.tp(e),e.d.name.d.value,aM.O1.Class)}))}}}}if(0===o.shared.typeParams.length&&!aM.p5.isBuiltIn(o,"type")&&(o.shared.baseClasses.some(e=>(0,aM.dL)(e)&&aM.p5.hasCustomClassGetItem(e))||o.shared.fields.has("__class_getitem__"))&&(o.shared.flags|=aM.aF.HasCustomClassGetItem),r){let e=(await D(r,u)).type;((0,aM.dL)(e)||(0,aM.t8)(e))&&(aM.Ab.getInstantiableDepth(e)>0&&(0,aM.D4)(e)&&e.shared.effectiveMetaclass&&(0,aM.D4)(e.shared.effectiveMetaclass)&&(e=e.shared.effectiveMetaclass),o.shared.declaredMetaclass=e,(0,aM.dL)(e)&&(uN(e)&&(o.shared.flags|=aM.aF.EnumClass),(0,aX.Fk)(e,"ABCMeta")&&(o.shared.flags|=aM.aF.SupportsAbstractMethods)))}let h=await t5(o,e.d.name);o.shared.flags&=~aM.aF.PartiallyEvaluated;let m=o,y=!1;for(let t=e.d.decorators.length-1;t>=0;t--){var g;let i=e.d.decorators[t],r=await iD(null!=(g=e.parent)?g:e,async()=>await uF(rI,m,o,i)),n=(0,aX.TS)(r,!1);n&&(0,aM.t8)(n)?y||(y=!0):m=r}if((0,aM.dL)(h)&&h.shared.classDataClassTransform)n=h.shared.classDataClassTransform;else{let e=o.shared.mro.find(e=>(0,aM.D4)(e)&&void 0!==e.shared.classDataClassTransform&&!aM.p5.isSameGenericClass(e,o));e&&(n=e.shared.classDataClassTransform)}if(n&&ul(o,d,n),await t3(o),t4(e,void 0),aM.p5.isTypedDictClass(o)&&await dr(rI,e,o),aM.p5.isDataClass(o)||l){let t=aM.p5.isDataClassSkipGenerateInit(o),i=t;if(!t){let e=o.shared.fields.get("__init__");e&&e.isClassMember()&&(i=!0)}let r=!1,n=o.shared.fields.get("__hash__");n&&n.isClassMember()&&!n.getSynthesizedType()&&(r=!0);let a=async()=>await ua(rI,e,o,l,t,i,r);if(l)await a();else{let e=o.shared;e.synthesizeMethodsDeferredAsync=async()=>{delete e.synthesizeMethodsDeferredAsync,await a()}}}let f=o.shared;return f.calculateInheritedSlotsNamesDeferredAsync=async()=>{if(delete f.calculateInheritedSlotsNamesDeferredAsync,o.shared.localSlotsNames){let e=!0,t=Array.from(o.shared.localSlotsNames);await lH(o.shared.baseClasses,async i=>{if((0,aM.dL)(i)){if(!aM.p5.isBuiltIn(i,"object")&&!aM.p5.isBuiltIn(i,"type")&&!aM.p5.isBuiltIn(i,"Generic")){let r=await de(i);r?(0,ap.af)(t,r):e=!1}}else e=!1}),e&&(o.shared.inheritedSlotsNamesCached=t)}},"Any"===e.d.name.d.value&&a.isTypingStubFile&&(m=aM.V.createSpecialForm()),w(e.d.name,{type:o},lO.WB.None),w(e,{type:m},lO.WB.None),{classType:o,decoratedType:m}})}function tX(e){var t;let i=[];return(null!=(t=e.priv.typeArgs)?t:[]).forEach((e,t)=>{if((0,aM.CP)(e))return void i.push(e);let r=aM.Kn.createInstance(`__P${t}`);r.shared.isSynthesized=!0,i.push(r)}),i}function tZ(e,t,i,r){if(!t.shared.isDefaultExplicit&&!t.shared.isSynthesized&&!aM.Kn.isSelf(t))return;let n=new Set;(0,aX.r1)(t,i,n)}async function t0(e){if(!e.shared.requiresVarianceInference)return;e.shared.requiresVarianceInference=!1,e.shared.typeParams.forEach(e=>{e.shared.declaredVariance===aM.id.Auto&&(e.priv.computedVariance=aM.id.Unknown)});let t=aM.p5.createInstantiable("__varianceDummy","","",n4.z.empty(),0,0,void 0,void 0);await lH(e.shared.typeParams,async(i,r)=>{let n;if((0,aM.wh)(i)||(0,aM.Bo)(i)||i.shared.declaredVariance!==aM.id.Auto)return;let a=e.shared.typeParams.map((e,i)=>(0,aM.wh)(e)?e:i===r?en():t),s=e.shared.typeParams.map((e,i)=>i===r||(0,aM.wh)(e)?e:t),o=aM.p5.specialize(e,a),l=aM.p5.specialize(e,s);n=await i6(o,l,aM.id.Covariant,!1)?aM.id.Covariant:await i6(l,o,aM.id.Contravariant,!1)?aM.id.Contravariant:aM.id.Invariant,e.shared.typeParams[r].priv.computedVariance=n})}async function t1(e){let t=[],i=ax.Xf(e);return await lH(e.d.params,async e=>{var r;let n=null==i?void 0:i.symbolTable.get(e.d.name.d.value);if(!n)return;let a=null==(r=await iX(n,e.d.name))?void 0:r.type;a&&(0,aM.CP)(a)&&(w(e.d.name,{type:a},lO.WB.None),t.push(a))}),t}async function t5(e,t){let i=e.shared.declaredMetaclass,r=!1;if(!i||(0,aM.dL)(i))for(let t of e.shared.baseClasses)if((0,aM.dL)(t)){var a;let e=null!=(a=t.shared.effectiveMetaclass)?a:null==n?void 0:n.typeClass;if(e&&(0,aM.dL)(e))i?(0,aX.vO)(e,i,!1)?i=e:(0,aX.vO)(i,e,!1)||r||(r=!0):i=e;else{i=e?aM.vn.create():void 0;break}}else{i=aM.vn.create();break}if(!i){let e=await iP(t,"type");i=e&&(0,aM.dL)(e)?e:aM.vn.create()}return e.shared.effectiveMetaclass=i,i}function t4(e,t){if(t){let i=y.find(e=>aM.p5.isSameGenericClass(e.dependsUpon,t));i?i.classesToComplete.push(e):y.push({dependsUpon:t,classesToComplete:[e]})}else y.forEach(t=>{t.classesToComplete.push(e)})}async function t3(e){await lH(y,async t=>{aM.p5.isSameGenericClass(t.dependsUpon,e)&&await lH(t.classesToComplete,async e=>{let t=await T(e.d.name,lO.WB.None);t&&await t8(t,e.d.name)})}),y=y.filter(t=>!aM.p5.isSameGenericClass(t.dependsUpon,e))}async function t8(e,t){(0,aX.VS)(e),await t5(e,t)}async function t2(e,t){let i,r=[];if(e.d.arguments.forEach(e=>{e.d.name&&"metaclass"!==e.d.name.d.value&&r.push({argCategory:aO.b4.Simple,node:e,name:e.d.name,valueExpression:e.d.valueExpr})}),t.shared.effectiveMetaclass&&(0,aM.D4)(t.shared.effectiveMetaclass)&&(aM.p5.isBuiltIn(t.shared.effectiveMetaclass,["ABCMeta","type"])&&!aM.p5.isTypedDictClass(t)||(i=(0,aX.Zn)(t.shared.effectiveMetaclass,"__new__",aX.Mh.SkipTypeBaseClass))),i){let t=await i3(i);if((0,aM.Tn)(t)){let i=(0,dD.MC)(t);if(void 0!==i.firstKeywordOnlyIndex){let n=new Map;for(let e=i.firstKeywordOnlyIndex;e<i.params.length;e++){let t=i.params[e];t.param.category===aO.OP.Simple&&t.param.name&&t.kind!==dD.OU.Positional&&n.set(t.param.name,e)}await lH(r,async r=>{if(r.argCategory===aO.b4.Simple&&r.name){var a,s;let o=null!=(a=n.get(r.name.d.value))?a:i.kwargsIndex;if(void 0!==o){let a=i.params[o],l={paramCategory:a.param.category,paramType:a.type,requiresTypeVarMatching:!1,argument:r,errorNode:null!=(s=r.valueExpression)?s:e.d.name};await tl(l,new lN.w,{type:t},{skipUnknownArgCheck:!0}),n.delete(r.name.d.value)}}});let a=[];n.forEach((e,t)=>{i.params[e].defaultType||a.push(t)})}}}await lH(r,async e=>{e.valueExpression&&await D(e.valueExpression)})}async function t6(e){await F(e);let t=await T(e.d.name,lO.WB.None);if(t){if(!(0,aM.Tn)(t))return;if(aM.RK.isPartiallyEvaluated(t))return{functionType:t,decoratedType:t}}else t=await t7(e);let i=await T(e,lO.WB.None);if(i)return{functionType:t,decoratedType:i};w(e,{type:t},void 0),t.shared.flags|=aM.wt.PartiallyEvaluated,i=e.d.isAsync?await ir(e,t):t;let r=!1;for(let a=e.d.decorators.length-1;a>=0;a--){var n;let s=e.d.decorators[a],o=await iD(null!=(n=e.parent)?n:e,()=>((0,n6.vA)(void 0!==i),ux(rI,i,t,s,e))),l=(0,aX.TS)(o,!1);l&&(0,aM.t8)(l)?r||(r=!0):i=o}return i=await uA(rI,e,i),(0,n6.vA)(void 0!==i),w(e,{type:i},lO.WB.None),t.shared.flags&=~aM.wt.PartiallyEvaluated,{functionType:t,decoratedType:i}}async function t7(e){let t,i,n=await r.getFileInfo(e),a=await T(e.d.name,lO.WB.None);if(a&&(0,aM.Tn)(a))return a;let s=ax.JO(e);s&&(t=s);let o=aL.Ji(e,!0);if(o){var l;i=null==(l=await tQ(o))?void 0:l.classType}let d=await uP(rI,e,!!o),u=d.flags;(null==t?void 0:t.isGenerator)&&(u|=aM.wt.Generator),n.isStubFile?u|=aM.wt.StubDefinition:n.isInPyTypedPackage&&(u|=aM.wt.PyTypedDefinition),e.d.isAsync&&(u|=aM.wt.Async);let p=aM.RK.createInstance(e.d.name.d.value,function(e,t,i){let r=[i],n=e;for(;n;)(n=aL.kz(n))&&r.push(n.d.name.d.value);return r.push(t),r.reverse().join(".")}(e,n.moduleName,e.d.name.d.value),n.moduleName,u|aM.wt.PartiallyEvaluated,aL.uf(e.d.suite.d.statements));p.shared.typeVarScopeId=aL.tp(e),p.shared.deprecatedMessage=d.deprecationMessage,p.shared.methodClass=i,("__init__"===e.d.name.d.value||"__new__"===e.d.name.d.value)&&o&&(p.priv.constructorTypeVarScopeId=aL.tp(o)),(n.isBuiltInStubFile||n.isTypingStubFile||n.isTypingExtensionsStubFile)&&(p.shared.flags|=aM.wt.BuiltIn),p.shared.declaration=t;let c=await ik(e),h=null==c?void 0:c.lookUpSymbolRecursive(e.d.name.d.value);return t&&h&&C(h.symbol,t,p),await l4(async()=>{var t,r;w(e.d.name,{type:p},void 0);let a=i&&aM.p5.isPseudoGenericClass(i)&&"__init__"===e.d.name.d.value,s=[],o=0;if(i&&(p.shared.flags&aM.wt.StaticMethod)==0&&(o=1),e.d.funcAnnotationComment&&!e.d.funcAnnotationComment.d.isEllipsis){let t=e.d.funcAnnotationComment.d.paramAnnotations.length;o>0&&t===e.d.params.length&&(o=0)}let l=[];e.d.typeParams?p.shared.typeParams=(await t1(e.d.typeParams)).map(e=>(0,aX.gU)(e)):p.shared.typeParams=l;let u=!0,c=+!!(i&&(aM.RK.isClassMethod(p)||aM.RK.isInstanceMethod(p)||aM.RK.isConstructorMethod(p)));await lH(e.d.params,async(t,r)=>{let h,m,y,g;if(t.d.annotation)y=t.d.annotation;else if(t.d.annotationComment)y=t.d.annotationComment;else if(e.d.funcAnnotationComment&&!e.d.funcAnnotationComment.d.isEllipsis){let t=r-o;t>=0&&t<e.d.funcAnnotationComment.d.paramAnnotations.length&&(y=e.d.funcAnnotationComment.d.paramAnnotations[t])}if(y&&((m=(d.flags&aM.wt.NoTypeCheck)!=0?aM.vn.create():await $(y,t.d.category))&&(0,aX.p7)(l,(0,aX.Nl)(m),p.shared.typeVarScopeId),(0,aM.wh)(m)&&!m.priv.isUnpacked&&(m=aM.vn.create())),!m&&a&&r>0&&t.d.category===aO.OP.Simple&&t.d.name&&!t.d.defaultValue){let e=tY(t.d.name.d.value);m=i.shared.typeParams.find(t=>t.shared.name===e)}if(m){let e=await t9(t,m);e!==m&&(m=e)}if(t.d.defaultValue){let r=n.isStubFile||aL.YJ(e.d.suite);i&&aM.p5.isProtocolClass(i)&&(r=!0),(aM.RK.isOverloaded(p)||aM.RK.isAbstractMethod(p))&&(r=!0),g=(await D(t.d.defaultValue,r?lO.WB.ConvertEllipsisToAny:lO.WB.None,(0,aX.lq)(m))).type}if(m&&(h=m),r>=c){let i=!1;t.d.category===aO.OP.Simple&&t.d.name?(0,aN.$4)(t.d.name.d.value)&&!e.d.params.some(e=>e.d.category===aO.OP.Simple&&!e.d.name)&&(i=!0):u=!1,u&&!i&&p.shared.parameters.length>c&&aM.RK.addPositionOnlyParamSeparator(p),i||(u=!1)}let f=!1;if(!y){f=!0;let t=await ie(e,p.shared.flags,r,i);t&&(h=t)}h=null!=h?h:aM.vn.create();let v=aM.gk.create(t.d.category,h,(f?aM.D5.TypeInferred:aM.D5.None)|(y?aM.D5.TypeDeclared:aM.D5.None),t.d.name?t.d.name.d.value:void 0,g,t.d.defaultValue);if(aM.RK.addParam(p,v),aM.gk.isTypeDeclared(v)&&(0,aX.p7)(l,(0,aX.Nl)(h),p.shared.typeVarScopeId),t.d.name){let i=await ii(e,t.d.category,h);s.push(i)}else s.push(h)}),u&&p.shared.parameters.length>c&&aM.RK.addPositionOnlyParamSeparator(p);let h=aL.Gu(e);if(s.forEach((t,i)=>{let r=e.d.params[i].d.name;r&&((0,aM.t8)(t)&&(p.shared.flags|=aM.wt.UnannotatedParams),w(r,{type:t=(0,aX.ru)(t,h)},lO.WB.None))}),s.length>=2){let e=s[s.length-2],t=s[s.length-1];(0,aM.Bo)(e)&&"args"===e.priv.paramSpecAccess&&(0,aM.Bo)(t)&&"kwargs"===t.priv.paramSpecAccess&&(p.shared.flags|=aM.wt.GradualCallableForm)}p.shared.parameters.filter((e,t)=>e.category!==aO.OP.Simple&&e.name&&(0,aM.ah)(aM.RK.getParamType(p,t))).length>=2&&(p.shared.flags|=aM.wt.GradualCallableForm);let m=null!=(t=e.d.returnAnnotation)?t:null==(r=e.d.funcAnnotationComment)?void 0:r.d.returnAnnotation;if(m){p.shared.declaredReturnType=aM.vn.create();let e=await j(m,{typeVarGetsCurScope:!0});p.shared.declaredReturnType=e}else n.isStubFile&&("__init__"===e.d.name.d.value?p.shared.declaredReturnType=ea():p.shared.declaredReturnType=aM.vn.create());return p.shared.declaredReturnType&&m&&(0,aX.p7)(l,(0,aX.Nl)(p.shared.declaredReturnType),p.shared.typeVarScopeId),p.shared.typeParams.forEach((t,i)=>{let r=e.d.name;if(e.d.typeParams&&i<e.d.typeParams.d.params.length){var n;let t=e.d.typeParams.d.params[i];r=null!=(n=t.d.defaultExpr)?n:t.d.name}tZ(r,t,p.shared.typeParams.slice(0,i),p.shared.typeVarScopeId)}),p.shared.flags&=~aM.wt.PartiallyEvaluated,w(e.d.name,{type:p},lO.WB.None),p})}async function t9(e,t){var i;return(null==(i=e.d.defaultValue)?void 0:i.nodeType)!==aO.ye.Constant||e.d.defaultValue.d.constType!==aj.Wg.None||(0,aX.fn)(t)||(await r.getFileInfo(e)).diagnosticRuleSet.strictParameterNoneValue?t:(0,aM.Do)([t,ea()])}async function ie(e,t,i,n){if(n){if(0===i&&(t&aM.wt.StaticMethod)==0){let e=(t&(aM.wt.ClassMethod|aM.wt.ConstructorMethod))!=0;return(0,aX.du)(n,e)}let s=e.d.name.d.value,o=(0,aX.Zn)(n,s,aX.Mh.SkipOriginalClass);if(o){let t=o.symbol.getDeclarations();if(1===t.length&&t[0].type===aF.h3.Function){let n=t[0].node;if(n.d.params.length===e.d.params.length&&n.d.params.every((t,i)=>{var r,n;let a=e.d.params[i];return(null==(r=a.d.name)?void 0:r.d.value)===(null==(n=t.d.name)?void 0:n.d.value)&&a.d.category===t.d.category})){var a;let t=n.d.params[i],s=null!=(a=t.d.annotation)?a:t.d.annotationComment;if(s){let t=await $(s,e.d.params[i].d.category);if((0,aX.QL)(t)&&(0,aM.D4)(o.classType)){let e=(0,aX.SR)(o.classType),i=(0,aX.DU)(o.classType);e.push(aL.tp(n)),t=(0,aX.i0)(t,i,{replaceUnsolved:{scopeIds:e,tupleClassType:er()}})}let a=await r.getFileInfo(e);return a.isInPyTypedPackage&&!a.isStubFile&&(t=aM.Ab.cloneForAmbiguousType(t)),t}}}}}let s=e.d.params[i].d.defaultValue;if(s)return await it(s)}async function it(e){let t,i=(await D(e,lO.WB.ConvertEllipsisToAny)).type;if((0,aX.Lj)(i)||(0,aX.Id)(i)||(0,aM.aE)(i)&&(0,aN.sQ)(i.shared.name))t=(0,aM.Do)([i,aM.vn.create()]);else{let e=!1;(0,aM.BL)(i)?e=!0:(0,aM.aE)(i)&&aM.p5.isBuiltIn(i,["tuple","list","set","dict"])&&(e=!0),e||(t=eC(i,lO.WB.None,!0),t=B(t=(0,aX.$o)(t)))}if(t){let i=await r.getFileInfo(e);i.isInPyTypedPackage&&!i.isStubFile&&(t=aM.Ab.cloneForAmbiguousType(t))}return t}async function ii(e,t,i){switch(t){case aO.OP.Simple:return i;case aO.OP.ArgsList:if((0,aM.Bo)(i)&&i.priv.paramSpecAccess)return i;if((0,aM.wO)(i))return aM.p5.cloneForPacked(i);return pg(rI,[{type:i,isUnbounded:!(0,aM.wh)(i)}]);case aO.OP.KwargsDict:{if((0,aM.Bo)(i)&&i.priv.paramSpecAccess)return i;if((0,aM.aE)(i)&&aM.p5.isTypedDictClass(i)&&i.priv.isUnpacked)return aM.p5.cloneForPacked(i);let t=await iP(e,"dict"),r=await ix(e,"str");if((0,aM.dL)(t)&&(0,aM.aE)(r))return aM.p5.cloneAsInstance(aM.p5.specialize(t,[r,i]));return aM.vn.create()}}}async function ir(e,t){(0,n6.vA)(aM.RK.isAsync(t));let r=aM.RK.cloneWithNewFlags(t,t.shared.flags&~(aM.wt.Async|aM.wt.PartiallyEvaluated));if(t.shared.declaredReturnType)r.shared.declaredReturnType=await ia(e,t.shared.declaredReturnType,aM.RK.isGenerator(t));else{let a=await i.getComputedType(e.d.name,s,l||nZ.CancellationToken.None);if(a&&(0,aM.Tn)(a)){var n;t.shared.inferredReturnType=a.shared.inferredReturnType,r.shared.inferredReturnType={type:await ia(e,(null==(n=t.shared.inferredReturnType)?void 0:n.type)||aM.vn.create(),aM.RK.isGenerator(t))}}}return r}async function ia(e,t,i,r=!0){let n;if((0,aM.aE)(t)&&aM.p5.isBuiltIn(t))if("Generator"===t.shared.name){let i=await eo(e,"AsyncGenerator");if(i&&(0,aM.dL)(i)){let e=[],r=t.priv.typeArgs;r&&r.length>0&&e.push(r[0]),r&&r.length>1&&e.push(r[1]),n=aM.p5.cloneAsInstance(aM.p5.specialize(i,e))}}else["AsyncIterator","AsyncIterable"].some(e=>e===t.shared.name)?n=t:"AsyncGenerator"===t.shared.name&&i&&(n=t);if(!n||!i){let i=r?await el(e,"CoroutineType"):await eo(e,"Awaitable");n=i&&(0,aM.dL)(i)?aM.p5.cloneAsInstance(aM.p5.specialize(i,r?[aM.V.create(),aM.V.create(),t]:[t])):aM.vn.create()}return n}async function is(e){if(!e||!e.isMethod||e.returnStatements||e.yieldStatements||!e.raiseStatements||e.node.d.suite.d.statements.some(e=>e.nodeType!==aO.ye.StatementList))return!1;for(let t of e.raiseStatements){if(!t.d.expr||t.d.fromExpr)return!1;let e=(await D(t.d.expr)).type,i=(0,aM.dL)(e)||(0,aM.aE)(e)?e:void 0;if(!i||!(0,aX.Fk)(i,"NotImplementedError"))return!1}return!0}async function io(e){var t,i;if(_(e))return;let r=await D(e.d.iterableExpr),n=null!=(t=null==(i=await et(r,!!e.d.isAsync,e.d.iterableExpr))?void 0:i.type)?t:aM.vn.create();await ef(e.d.targetExpr,{type:n,isIncomplete:r.isIncomplete},e.d.targetExpr),w(e,{type:n,isIncomplete:!!r.isIncomplete},lO.WB.None)}async function il(e){if((0,n6.vA)(void 0!==e.d.typeExpr),_(e))return;let t=await D(e.d.typeExpr),i=t.type,r=!1;async function n(e,i){if(e=em(e),(0,aM.ah)(e))return e;if((0,aM.dL)(e))return aM.p5.isBuiltIn(e,"BaseException")&&(r=!0),aM.p5.cloneAsInstance(e);if((0,aM.aE)(e)){var n,a;let r=null!=(n=null==(a=await et({type:e,isIncomplete:t.isIncomplete},!1,i,!1))?void 0:a.type)?n:aM.vn.create();return(0,aX.EY)(r,e=>(0,aM.ah)(e)?e:aM.vn.create())}return aM.vn.create()}let a=await l5(i,async t=>{let i=(0,aX.yr)(t);if(i&&i.priv.tupleTypeArgs){let t=[];for(let r of i.priv.tupleTypeArgs)t.push(await n(r.type,e.d.typeExpr));return(0,aM.Do)(t)}return await n(t,e.d.typeExpr)});e.d.isExceptGroup&&(a=await ix(e,r?"BaseExceptionGroup":"ExceptionGroup",[a])),e.d.name&&await ef(e.d.name,{type:a},e.d.name),w(e,{type:a},lO.WB.None)}async function id(e){if(_(e))return;let t=await D(e.d.expr),i=t.isIncomplete,r=t.type,n=e.parent&&e.parent.nodeType===aO.ye.With&&!!e.parent.d.isAsync;(0,aX.fn)(r)&&(r=(0,aX.Wt)(r));let a=n?"__aenter__":"__enter__",s=await l5(r,async t=>{if(t=em(t),(0,aM.ah)(t))return t;if((0,aM.D4)(t)){let r=await t_(t,a,[],e.d.expr,void 0);if(r){if(n){r.isIncomplete&&(i=!0);let e=await ee({type:r.type});return e.isIncomplete&&(i=!0),e.type}return r.type}n||await t_(t,"__aenter__",[],e.d.expr,void 0)}return aM.vn.create()}),o=n?"__aexit__":"__exit__";await l1(r,async(t,r,a)=>{if(t=em(t),!(0,aM.ah)(t)&&(0,aM.D4)(t)){let r={type:aM.V.create()},a=await t_(t,o,[r,r,r],e.d.expr,void 0);a&&(a.isIncomplete&&(i=!0),n&&(await ee({type:a.type})).isIncomplete&&(i=!0))}}),e.d.target&&await ef(e.d.target,{type:s,isIncomplete:i},e.d.target),w(e,{type:s,isIncomplete:i},lO.WB.None)}async function iu(e){var t;let i;if(_(e)||!(i=e.d.alias?e.d.alias:e.d.module.d.nameParts[0]))return;let r=null!=(t=await iy(e,i.d.value))?t:aM.vn.create(),n=await T(e,lO.WB.None);n&&(0,aM.FS)(n)&&r&&(0,aM.J5)(r,n)&&(r=n),await ep(i,{type:r}),w(e,{type:r},lO.WB.None)}async function ip(t){if(_(t))return;let i=t.d.alias||t.d.name,n=await r.getFileInfo(t),a=await iy(t,i.d.value);if(!a){let i=t.parent;(0,n6.vA)(i&&i.nodeType===aO.ye.ImportFrom),(0,n6.vA)(!i.d.isWildcardImport);let r=await iC(i.d.module);if(r&&r.isImportFound&&!r.isNativeLib){let t=r.resolvedUris[r.resolvedUris.length-1],i=await e(t);if(i&&(ai.fz.isGreaterOrEqualTo(n.executionEnvironment.pythonVersion,ai.GE)||n.isStubFile)){let e=i.symbolTable.get("__getattr__");if(e){let t=await iG(e);(0,aM.Tn)(t)&&(a=await i0(t))}}}a||(a=aM.vn.create())}await ep(i,{type:a}),w(t,{type:a},lO.WB.None)}async function ic(e){if(_(e))return;if(!e.parent||e.parent.nodeType!==aO.ye.Match)return void(0,n6.fJ)("Expected parent of case statement to be match statement");let t=await D(e.parent.d.expr),i=t.type;for(let t of e.parent.d.cases){if(t===e)break;t.d.guardExpr||(i=await u8(rI,i,t.d.pattern,!1))}let r=await pl(rI,i,!!t.isIncomplete,e.d.pattern);w(e,{type:r,isIncomplete:!!t.isIncomplete},lO.WB.None)}async function ih(e){if(!_(e))if(e.d.isWildcardImport){w(e,{type:aM.V.create()},lO.WB.None);let i=ax.Ds(e);if(i&&(i.flags&dF.uy.WildcardImport)!=0)for(let r of i.names){var t;if(!await iy(e,r))return;let i=await iF(e,r,!1);if(!i||!(null==(t=await iX(i.symbol))?void 0:t.type))return}}else{let t=e.d.module.d.nameParts[0],i=await iy(e,t.d.value);if(!i)return;let r=await T(e,lO.WB.None);r&&(0,aM.FS)(r)&&i&&(0,aM.J5)(i,r)&&(i=r),await ep(t,{type:i}),w(e,{type:i},lO.WB.None)}}async function im(e){var t;if((null==(t=e.parent)?void 0:t.nodeType)===aO.ye.Assignment)await tV(e.parent);else{let t=await j(e.d.annotation,{varTypeAnnotation:!0,allowFinal:await e_(e.d.valueExpr),allowClassVar:await ev(e.d.valueExpr)});w(e.d.valueExpr,{type:t},lO.WB.None)}}async function iy(e,i){let n=await iF(e,i,!0);if(!n)return;let a=n.symbol.getDeclarations().filter(t=>aL.xk(e,t.node)&&t.type===aF.h3.Alias),s=a.length>0?a[a.length-1]:void 0;if(s||(s=n.symbol.getDeclarations().find(e=>e.type===aF.h3.Alias)),!s)return;(0,n6.vA)(s.type===aF.h3.Alias);let o=await r.getFileInfo(e),l=await iq(s,!0,{allowExternallyHiddenAccess:o.isStubFile});if(l)return l.declaration?await iK(n.symbol,s):t.evaluateUnknownImportsAsAny?aM.V.create():aM.vn.create()}async function ig(e){var t,i,r,n,a,s;if(e.nodeType===aO.ye.Name&&e.parent){if(e.parent.nodeType===aO.ye.Function&&e.parent.d.name===e)return void await t6(e.parent);if(e.parent.nodeType===aO.ye.Class&&e.parent.d.name===e)return void await tQ(e.parent);if(e.parent.nodeType===aO.ye.ImportFromAs)return void await ip(e.parent);if(e.parent.nodeType===aO.ye.ImportAs)return void await iu(e.parent);if(e.parent.nodeType===aO.ye.TypeAlias&&e.parent.d.name===e)return void await tG(e.parent);if(e.parent.nodeType===aO.ye.Global||e.parent.nodeType===aO.ye.Nonlocal)return void await D(e,lO.WB.ForwardRefs);if(e.parent.nodeType===aO.ye.ModuleName)return}let o=aL.ep(e);if(o){let e=o.parent;return((0,n6.vA)(void 0!==e),e.nodeType===aO.ye.Assignment)?void(o===e.d.annotationComment?await j(o,{varTypeAnnotation:!0,allowFinal:await e_(e.d.leftExpr),allowClassVar:await ev(e.d.leftExpr)}):await tV(e)):e.nodeType===aO.ye.TypeAnnotation?void await im(e):e.nodeType===aO.ye.Function&&o===e.d.returnAnnotation?void await j(o,{typeVarGetsCurScope:!0}):void await j(o,{varTypeAnnotation:(null==(t=o.parent)?void 0:t.nodeType)===aO.ye.TypeAnnotation,allowUnpackedTuple:e.nodeType===aO.ye.Parameter&&e.d.category===aO.OP.ArgsList,allowUnpackedTypedDict:e.nodeType===aO.ye.Parameter&&e.d.category===aO.OP.KwargsDict})}let l=aL.M8(e,aO.ye.Case);if(l&&aL.xk(e,l.d.pattern))return void await ic(l);let d=e,u=lO.WB.None;for(;;){let t=aL.M8(d,aO.ye.Argument);if(t&&t!==d){if((0,n6.vA)(void 0!==t.parent),t.parent.nodeType===aO.ye.Call||t.parent.nodeType===aO.ye.Index){d=t.parent;continue}if(t.parent.nodeType===aO.ye.Class)return void await tQ(t.parent)}let i=d.parent;if(!i)break;if(i.nodeType===aO.ye.AssignmentExpression&&d===i.d.name){d=i;continue}let r=aL.M8(i,aO.ye.StringList);if(r){d=r;continue}if(i.nodeType===aO.ye.Call||i.nodeType===aO.ye.MemberAccess){if(d===i.d.leftExpr){if(d.nodeType===aO.ye.Call&&d.d.leftExpr.nodeType===aO.ye.Name&&"super"===d.d.leftExpr.d.value||i.nodeType===aO.ye.Call&&d.nodeType===aO.ye.Lambda){d=i;continue}u=lO.WB.CallBaseDefaults;break}}else i.nodeType===aO.ye.Index&&d===i.d.leftExpr&&(u=lO.WB.IndexBaseDefaults);if(!(0,aO.TE)(i))if(i.nodeType===aO.ye.DictionaryKeyEntry||i.nodeType===aO.ye.DictionaryExpandEntry||i.nodeType===aO.ye.ComprehensionFor||i.nodeType===aO.ye.ComprehensionIf)(0,n6.vA)(void 0!==i.parent&&(0,aO.TE)(i.parent)),i=i.parent;else if(i.nodeType===aO.ye.Parameter)if((0,n6.vA)(void 0!==i.parent),i.parent.nodeType===aO.ye.Lambda)i=i.parent;else break;else if(i.nodeType===aO.ye.TypeParameter){if(e===i.d.boundExpr||e===i.d.defaultExpr)return void await iB(i);break}else break;d=i}let p=d.parent;switch((0,n6.vA)(void 0!==p),p.nodeType){case aO.ye.Del:return void await ew(d);case aO.ye.TypeParameter:if(d===p.d.name&&(null==(i=p.parent)?void 0:i.nodeType)===aO.ye.TypeParameterList&&(null==(r=p.parent.parent)?void 0:r.nodeType)===aO.ye.TypeAlias)return void await tG(p.parent.parent);break;case aO.ye.TypeAlias:return void await tG(p);case aO.ye.Decorator:(null==(n=p.parent)?void 0:n.nodeType)===aO.ye.Class?await tQ(p.parent):(null==(a=p.parent)?void 0:a.nodeType)===aO.ye.Function&&await t6(p.parent);return;case aO.ye.Parameter:if(d!==p.d.defaultValue)return void await iv(p);break;case aO.ye.Argument:if(d===p.d.name)return;if((null==(s=p.parent)?void 0:s.nodeType)===aO.ye.Class)return void await tQ(p.parent);break;case aO.ye.Return:if(p.d.expr){let t=aL.hP(e),i=t?await i4(t):void 0;if(i){let t=aL.Gu(e);i=(0,aX.ru)(i,t)}await D(p.d.expr,lO.WB.None,(0,aX.lq)(i));return}break;case aO.ye.TypeAnnotation:return void await im(p);case aO.ye.Assignment:return void await tV(p)}d.nodeType===aO.ye.TypeAnnotation?await im(d):await D(d,u)}async function iv(e){var t;if(!e.d.name)return;let i=e.parent;if(i.nodeType===aO.ye.Lambda)return void await ig(i);(0,n6.vA)(i.nodeType===aO.ye.Function);let r=i.d.params.findIndex(t=>t===e),n=aL.MK(i,r);if(n){let t=i.d.params[r],a=await $(n,i.d.params[r].d.category),s=aL.Gu(t);a=(0,aX.ru)(a,s);let o=await ii(e,e.d.category,await t9(t,a));w(e.d.name,{type:o},lO.WB.None);return}let a=aL.Ji(i,!0),s=a?await tQ(a):void 0;if(s&&aM.p5.isPseudoGenericClass(null==s?void 0:s.classType)&&"__init__"===i.d.name.d.value){let t=tY(e.d.name.d.value),i=s.classType.shared.typeParams.find(e=>e.shared.name===t);if(i)return void w(e.d.name,{type:aM.Kn.cloneAsBound(i)},lO.WB.None)}let o=(await uP(rI,i,!0)).flags,l=null!=(t=await ie(i,o,r,null==s?void 0:s.classType))?t:aM.vn.create(),d=aL.Gu(e);l=(0,aX.ru)(l,d),w(e.d.name,{type:await ii(e,e.d.category,l)},lO.WB.None)}async function i_(e){await F(e);let t=e;for(;t;){switch(t.nodeType){case aO.ye.Assignment:if(!(t.parent&&(t.parent.nodeType===aO.ye.Assignment||t.parent.nodeType===aO.ye.AssignmentExpression||t.parent.nodeType===aO.ye.AugmentedAssignment)&&t.parent.d.rightExpr===t))return void await tV(t);break;case aO.ye.TypeAlias:return void await tG(t);case aO.ye.AssignmentExpression:return void await ig(t);case aO.ye.AugmentedAssignment:return void await tJ(t);case aO.ye.Class:return void await tQ(t);case aO.ye.Parameter:return void await iv(t);case aO.ye.Lambda:return void await ig(t);case aO.ye.Function:return void await t6(t);case aO.ye.For:return void await io(t);case aO.ye.Except:return void await il(t);case aO.ye.WithItem:return void await id(t);case aO.ye.ComprehensionFor:{let e=t.parent;if((0,n6.vA)(e.nodeType===aO.ye.Comprehension),t===e.d.expr)await ig(e);else for(let i of e.d.forIfNodes)if(await tN(i),i===t)break;return}case aO.ye.ImportAs:return void await iu(t);case aO.ye.ImportFromAs:return void await ip(t);case aO.ye.ImportFrom:return void await ih(t);case aO.ye.Case:return void await ic(t)}t=t.parent}(0,n6.fJ)("Unexpected statement")}async function iT(e,t){let i=v(e);if(i&&!i.typeResult.isIncomplete){let e=i.typeResult;return(0,aM.Tn)(e.type)&&aM.RK.isPartiallyEvaluated(e.type)||(0,aM.D4)(e.type)&&aM.p5.isPartiallyEvaluated(e.type)?{...e,isIncomplete:!0}:e}if(await t(),i=v(e))return i.typeResult}async function iw(e,t){if(e.typeResult){var i,r;let t=e.typeResult.type;return{type:null!=(i=null==t||null==(r=t.props)?void 0:r.specialForm)?i:t,isIncomplete:e.typeResult.isIncomplete}}return e.valueExpression?await D(e.valueExpression,void 0,t):{type:aM.vn.create()}}async function ib(e,t){return e.typeResult?{type:e.typeResult.type,isIncomplete:e.typeResult.isIncomplete}:((0,n6.vA)(void 0!==e.valueExpression),await iS(e.valueExpression,t))}async function iS(e,t){let i=lO.WB.InstantiableType|lO.WB.StrLiteralAsType;(null==t?void 0:t.allowTypeVarsWithoutScopeId)&&(i|=lO.WB.AllowTypeVarWithoutScopeId),(null==t?void 0:t.typeVarGetsCurScope)&&(i|=lO.WB.TypeVarGetsCurScope),(null==t?void 0:t.enforceClassTypeVarScope)&&(i|=lO.WB.EnforceClassTypeVarScope);let n=await r.getFileInfo(e);return((0,dx.O)(n)||(null==t?void 0:t.forwardRefs))&&!(null==t?void 0:t.runtimeTypeExpression)?i|=lO.WB.ForwardRefs:(null==t?void 0:t.parsesStringLiteral)&&(i|=lO.WB.ParsesStringLiteral),(null==t?void 0:t.allowFinal)||(i|=lO.WB.NoFinal),(null==t?void 0:t.allowRequired)&&(i|=lO.WB.AllowRequired|lO.WB.TypeExpression),(null==t?void 0:t.allowReadOnly)&&(i|=lO.WB.AllowReadOnly|lO.WB.TypeExpression),(null==t?void 0:t.allowUnpackedTuple)?i|=lO.WB.AllowUnpackedTuple:i|=lO.WB.NoTypeVarTuple,(null==t?void 0:t.allowUnpackedTypedDict)&&(i|=lO.WB.AllowUnpackedTypedDict),(null==t?void 0:t.allowParamSpec)||(i|=lO.WB.NoParamSpec),(null==t?void 0:t.typeExpression)&&(i|=lO.WB.TypeExpression),(null==t?void 0:t.convertEllipsisToAny)&&(i|=lO.WB.ConvertEllipsisToAny),(null==t?void 0:t.allowEllipsis)&&(i|=lO.WB.AllowEllipsis),(null==t?void 0:t.noNonTypeSpecialForms)&&(i|=lO.WB.NoNonTypeSpecialForms),(null==t?void 0:t.allowClassVar)||(i|=lO.WB.NoClassVar),(null==t?void 0:t.varTypeAnnotation)&&(i|=lO.WB.VarTypeAnnotation),(null==t?void 0:t.notParsed)&&(i|=lO.WB.NotParsed),(null==t?void 0:t.typeFormArg)&&(i|=lO.WB.TypeFormArg),await D(e,i)}async function ik(e){return await r.getFileInfo(e),sY.Yd(e)}async function iI(e){return await r.getFileInfo(e),aL.z8(e)}async function iC(e){return await r.getFileInfo(e),ax.en(e)}async function iP(e,t){if(n){let e=Object.keys(n);if(e.length>0){let i=t+"Class";if(e.includes(i))return n[i]}}let i=await ik(e);if(i){let e=sY.I_(i).lookUpSymbol(t);if(e)return await iG(e)}return aM.vn.create()}async function ix(e,t,i){let r=await iP(e,t);if((0,aM.dL)(r)){let e=r;return i&&(e=aM.p5.specialize(e,i)),aM.p5.cloneAsInstance(e)}return r}async function iF(e,t,i,r=!1){let n=await iI(e),a=ax.Xf(n.node),s=null==a?void 0:a.lookUpSymbolRecursive(t,{useProxyScope:!!n.useProxyScope});if(s&&r){let e=s;for(;e.scope.type!==dE.hB.Module&&e.scope.type!==dE.hB.Builtin&&e.scope.type!==dE.hB.TypeParameter&&e.scope.parent&&(e=e.scope.parent.lookUpSymbolRecursive(t,{isOutsideCallerModule:e.isOutsideCallerModule,isBeyondExecutionScope:e.isBeyondExecutionScope||e.scope.isIndependentlyExecutable()})););((null==e?void 0:e.scope.type)===dE.hB.Module||(null==e?void 0:e.scope.type)===dE.hB.Builtin)&&(s=e)}return s}function iA(e){for(let t=f.length-1;t>=0;t--){let i=f[t].rootNode;if(aL.xk(e,i))return f[t].tracker}}async function iD(e,t){let i=iA(e);try{i||f.push({tracker:new aX.Kc,rootNode:e});let r=await t();return i||f.pop(),r}catch(e){throw i||f.pop(),e}}async function iE(e,t,i){if(!e)return await t();u.enterSpeculativeContext(e,i);try{let e=await t();return u.leaveSpeculativeContext(),e}catch(e){throw u.leaveSpeculativeContext(),e}}function iR(e){return u.isSpeculative(e)}function iN(e,t){if((0,aM.Tn)(e)&&e.shared.declaration){let i=e.shared.declaration;if(i.type===aF.h3.Function){let r=i.node,n=ax.Xf(r);if(n){let i=n.lookUpSymbol(t);if(i)return i.getDeclarations().find(e=>e.type===aF.h3.Param);let r=(0,dD.MC)(e);if(r.unpackedKwargsTypedDictType){let e=(0,aX.Zn)(r.unpackedKwargsTypedDictType,t);if(e)return e.symbol.getDeclarations().find(e=>e.type===aF.h3.Variable)}}}}}function iM(e,t){return aM.p5.isDataClass(e)||aM.p5.isTypedDictClass(e)||aM.p5.hasNamedTupleEntry(e,t)}function iO(e,t,i,r){let n=(0,aX.Zn)(e,t);if(!n)return;(0,ap.af)(i,n.symbol.getDeclarations());let a=n.symbol.getSynthesizedType();a&&r.push(a)}async function iU(e){var t;let i=[],r=[],n=null==(t=await x(e))?void 0:t.type;return n&&(0,aX.u6)(n,t=>{if((0,aM.aE)(t)&&aM.p5.isTypedDictClass(t)){var n,a;if(null==(n=t.shared.typedDictEntries)?void 0:n.knownItems.get(e.d.value)){let n=null==(a=(0,aX.mN)(t,e.d.value))?void 0:a.symbol;if(n){(0,ap.af)(i,n.getDeclarations());let e=n.getSynthesizedType();e&&r.push(e)}}}}),0===i.length?void 0:{decls:i,synthesizedTypes:r}}function iL(e){if(e.parent&&e.parent.nodeType===aO.ye.ImportFromAs&&e.parent.d.alias&&e===e.parent.d.name)return e.parent.d.alias}async function iz(e,t=!0){if(t&&ax.Ys(e))return;let i=[],n=[],a=iL(e);if(a){let t=await ik(e);if(t){let r=t.lookUpSymbolRecursive(a.d.value);if(r){let t=r.symbol.getDeclarations().filter(t=>t.type===aF.h3.Alias&&t.node===e.parent);(0,ap.af)(i,(0,aA.WB)(t))}}}else if(e.parent&&e.parent.nodeType===aO.ye.MemberAccess&&e===e.parent.d.member){let t=await P(e.parent.d.leftExpr);if(t){t=em(t);let r=e.parent.d.member.d.value;(0,aX.u6)(t,e=>{let t;if(e=em(e),(0,aM.dL)(e)){let i=(0,aX.Zn)(e,r,aX.Mh.DeclaredTypesOnly);if(i||(i=(0,aX.Zn)(e,r)),!i){let t=e.shared.effectiveMetaclass;t&&(0,aM.dL)(t)&&(i=(0,aX.Zn)(t,r))}i&&(t=i.symbol)}else if((0,aM.aE)(e)){let i=(0,aX.mN)(e,r,aX.Mh.DeclaredTypesOnly);i||(i=(0,aX.mN)(e,r)),i&&(t=i.symbol)}else(0,aM.FS)(e)&&(t=aM.nR.getField(e,r));if(t){let e=t.getTypedDeclarations();e.length>0?(0,ap.af)(i,e):(0,ap.af)(i,t.getDeclarations());let r=t.getSynthesizedType();r&&n.push(r)}})}}else if(e.parent&&e.parent.nodeType===aO.ye.ModuleName){let t=e.parent.d.nameParts.findIndex(t=>t===e),r=await iC(e.parent);t>=0&&r&&!r.isNativeLib&&t<r.resolvedUris.length&&r.resolvedUris[t]&&(await D(e),i.push((0,aA.HV)(r.resolvedUris[t])))}else if(e.parent&&e.parent.nodeType===aO.ye.Argument&&e===e.parent.d.name){var s,o,l;let t=e.parent,r=e.d.value;if((null==(s=t.parent)?void 0:s.nodeType)===aO.ye.Call){let e=await P(t.parent.d.leftExpr);if(e){if((0,aM.Tn)(e)&&e.shared.declaration){let t=iN(e,r);t&&i.push(t)}else if((0,aM.Gl)(e))aM.OF.getOverloads(e).forEach(e=>{let t=iN(e,r);t&&i.push(t)});else if((0,aM.dL)(e)){let a=null==(l=await dJ(rI,t.parent.d.leftExpr,aM.p5.cloneAsInstance(e)))?void 0:l.type;if(a&&(0,aM.Tn)(a)){let t=iN(a,r);t?i.push(t):iM(e,r)&&iO(e,r,i,n)}else iM(e,r)&&iO(e,r,i,n)}}}else if((null==(o=t.parent)?void 0:o.nodeType)===aO.ye.Class){let e=await tQ(t.parent);e&&await t2(t.parent,e.classType)}}else{let t=await r.getFileInfo(e),a=aL.re(e,!(0,dx.O)(await r.getFileInfo(e))),s=!!aL.M8(e,aO.ye.TypeAlias),o=a||s||t.isStubFile,l=await iF(e,e.d.value,!o,a);if(l){(0,ap.af)(i,l.symbol.getDeclarations());let e=l.symbol.getSynthesizedType();e&&n.push(e)}}return{decls:i,synthesizedTypes:n}}async function iW(e){var t,i,r;switch(e.type){case aF.h3.Intrinsic:{if("Any"===e.intrinsicType)return{type:aM.V.create()};if("__class__"===e.intrinsicType){let t=aL.Ji(e.node),i=await tQ(t);return{type:i?(0,aX.pw)(i.classType,er()):aM.vn.create()}}let t=await ix(e.node,"str"),i=await ix(e.node,"int");if((0,aM.aE)(i)&&(0,aM.aE)(t)){if("str"===e.intrinsicType)return{type:t};if("str | None"===e.intrinsicType)return{type:(0,aM.Do)([t,ea()])};if("int"===e.intrinsicType)return{type:i};if("MutableSequence[str]"===e.intrinsicType){let i=await iP(e.node,"MutableSequence");if((0,aM.dL)(i))return{type:aM.p5.cloneAsInstance(aM.p5.specialize(i,[t]))}}if("dict[str, Any]"===e.intrinsicType){let i=await iP(e.node,"dict");if((0,aM.dL)(i))return{type:aM.p5.cloneAsInstance(aM.p5.specialize(i,[t,aM.V.create()]))}}}return{type:aM.vn.create()}}case aF.h3.Class:{let t=await tQ(e.node);return{type:null==t?void 0:t.decoratedType}}case aF.h3.SpecialBuiltInClass:return{type:await j(e.node.d.annotation)};case aF.h3.Function:{let t=await t6(e.node);return{type:null==t?void 0:t.decoratedType}}case aF.h3.TypeAlias:return{type:await tG(e.node)};case aF.h3.Param:{let r=null!=(t=e.node.d.annotation)?t:e.node.d.annotationComment;if(!r&&(null==(i=e.node.parent)?void 0:i.nodeType)===aO.ye.Function){let t=e.node.parent;if(t.d.funcAnnotationComment&&!t.d.funcAnnotationComment.d.isEllipsis){let i=t.d.params.findIndex(t=>t===e.node);r=aL.MK(t,i)}}if(r){let t=await $(r,e.node.d.category),i=aL.Gu(e.node);return t=(0,aX.ru)(t,i),{type:await ii(e.node,e.node.d.category,await t9(e.node,t))}}return{type:void 0}}case aF.h3.TypeParam:return{type:await iB(e.node)};case aF.h3.Variable:{let t=e.typeAnnotationNode;if(t){let i;if(e.isRuntimeTypeExpression)i=(0,aX.gU)((await iS(t,{allowFinal:!0,allowRequired:!0,allowReadOnly:!0,runtimeTypeExpression:!0})).type);else{let n=e.isDefinedByMemberAccess&&(null==(r=e.node.parent)?void 0:r.nodeType)===aO.ye.MemberAccess?e.node.parent:e.node,a=await ev(n),s=await e_(n),o=aL.fq(n)||!!e.isInInlinedTypedDict;i=await j(t,{varTypeAnnotation:!0,allowClassVar:a,allowFinal:s,allowRequired:o,allowReadOnly:o,enforceClassTypeVarScope:e.isDefinedByMemberAccess})}if(i){if(e.isDefinedByMemberAccess){let t=aL.Ji(e.node);t&&(i=(0,aX.bm)(i,[aL.tp(t)]))}if((0,aM.aE)(i)&&aM.p5.isBuiltIn(i,"TypeAlias"))return{type:void 0,isTypeAlias:!0};return{type:i}}}return{type:void 0}}case aF.h3.Alias:return{type:void 0}}}async function iB(e){let t=await T(e.d.name,lO.WB.None);if(t&&(0,aM.CP)(t))return t;let i="TypeVar",r=aM.Sc.TypeVar;e.d.typeParamKind===aO.P1.TypeVarTuple?(i="TypeVarTuple",r=aM.Sc.TypeVarTuple):e.d.typeParamKind===aO.P1.ParamSpec&&(i="ParamSpec",r=aM.Sc.ParamSpec);let n=await eo(e,i),a=n&&(0,aM.dL)(n)?n:void 0,s=aM.Kn.createInstantiable(e.d.name.d.value,r);if(a&&(s=aM.Ab.cloneAsSpecialForm(s,aM.p5.cloneAsInstance(a))),s.shared.isTypeParamSyntax=!0,w(e,{type:s},void 0),w(e.d.name,{type:s},void 0),e.d.boundExpr)if(e.d.boundExpr.nodeType===aO.ye.Tuple){let t=await lJ(e.d.boundExpr.d.items,async e=>{let t=(await iS(e,{noNonTypeSpecialForms:!0,forwardRefs:!0,typeExpression:!0})).type;return(0,aX.gU)(t)});t.length<2||e.d.typeParamKind===aO.P1.TypeVar&&(s.shared.constraints=t)}else{let t=(await iS(e.d.boundExpr,{noNonTypeSpecialForms:!0,forwardRefs:!0,typeExpression:!0})).type;e.d.typeParamKind===aO.P1.TypeVar&&(s.shared.boundType=(0,aX.gU)(t))}if(e.d.typeParamKind===aO.P1.ParamSpec){let t=e.d.defaultExpr?await th(e.d.defaultExpr,!0):void 0;t?(s.shared.defaultType=t,s.shared.isDefaultExplicit=!0):s.shared.defaultType=aM.$Z.getUnknown()}else if(e.d.typeParamKind===aO.P1.TypeVarTuple){let t=e.d.defaultExpr?await tp(e.d.defaultExpr,!0):void 0;t?(s.shared.defaultType=t,s.shared.isDefaultExplicit=!0):s.shared.defaultType=pg(rI,[{type:aM.vn.create(),isUnbounded:!0}])}else{let t=e.d.defaultExpr?(0,aX.gU)((await iS(e.d.defaultExpr,{forwardRefs:!0,typeExpression:!0})).type):void 0;t?(s.shared.defaultType=t,s.shared.isDefaultExplicit=!0):s.shared.defaultType=aM.vn.create()}let o=aL.sR(e);if(o){let e;o.nodeType===aO.ye.Class?(e=aM.O1.Class,s.shared.declaredVariance=(0,aM.Bo)(s)||(0,aM.wh)(s)?aM.id.Invariant:aM.id.Auto):o.nodeType===aO.ye.Function?e=aM.O1.Function:((0,n6.vA)(o.nodeType===aO.ye.TypeAlias),e=aM.O1.TypeAlias,s.shared.declaredVariance=(0,aM.Bo)(s)||(0,aM.wh)(s)?aM.id.Invariant:aM.id.Auto),s=aM.Kn.cloneForScopeId(s,aL.tp(o.nodeType===aO.ye.TypeAlias?o.d.name:o),o.d.name.d.value,e)}return w(e,{type:s},void 0),w(e.d.name,{type:s},void 0),s}async function i$(e,t,i){var r,n,a,s;let o=await iW(e);if(o.type)return o.type;let l=ax.R8(e.node),d=!l.isInPyTypedPackage||l.isStubFile;if(!d&&e.type===aF.h3.Variable){let t=aL.Ji(e.node,!0);if(t){let e=await tQ(t);e&&aM.p5.isEnumClass(e.classType)&&(d=!0)}if((rg(e)||e.isConstant)&&(d=!0),(null==(r=e.inferredTypeSource)?void 0:r.nodeType)===aO.ye.Call){let t=(await D(e.inferredTypeSource.d.leftExpr,lO.WB.CallBaseDefaults)).type,i=["TypeVar","ParamSpec","TypeVarTuple","TypedDict","NamedTuple","NewType","TypeAliasType"];(0,aM.dL)(t)&&aM.p5.isBuiltIn(t,i)?d=!0:(0,aM.Tn)(t)&&i.some(e=>aM.RK.isBuiltIn(t,e))&&(d=!0)}}if(e.type===aF.h3.Param)return(0,n6.vA)(void 0!==e.node.d.name),null==(n=await iT(e.node.d.name,async()=>{await iv(e.node)}))?void 0:n.type;if(e.type===aF.h3.Variable&&e.inferredTypeSource){let r=await rf(e)||rv(s=e)||rT(s),n=r&&e.inferredTypeSource.parent?e.inferredTypeSource.parent:e.inferredTypeSource,o=null==(a=await iT(e.node,async()=>{await i_(n)}))?void 0:a.type;if(o&&r&&e.typeAliasName&&r_(o)){let t=await tq(e.typeAliasName);o=await tB(o,e.node,t,!1),d=!0}return o&&l.isInPyTypedPackage&&!l.isStubFile&&(!d&&await ij(t,i,o)&&(d=!0),d||(o=aM.Ab.cloneForAmbiguousType(o))),o}}async function ij(e,t,i){let r,n=e.getDeclarations().filter(e=>e.type!==aF.h3.Variable||!e.isInferenceAllowedInPyTyped);if(n.length>1||t.type!==aF.h3.Variable)return!1;if(0===n.length||(0,aM.CP)(i))return!0;let a=t.node.parent;if(a){var s;a.nodeType===aO.ye.Assignment?r=a:a.nodeType===aO.ye.MemberAccess&&(null==(s=a.parent)?void 0:s.nodeType)===aO.ye.Assignment&&(r=a.parent)}if(!r)return!1;let o=(await D(r.d.rightExpr)).type;return!(!((0,aM.aE)(o)&&(0,aX.aw)(o))&&(r.d.rightExpr.nodeType!==aO.ye.Name||aM.Ab.isAmbiguous(o)))}async function iK(n,a){let o=await iV(a,!0,{allowExternallyHiddenAccess:(await r.getFileInfo(a.node)).isStubFile});if(!o)return t.evaluateUnknownImportsAsAny?aM.V.create():aM.vn.create();async function d(e,i,r){if(i.uri&&!i.uri.isEmpty()&&i.loadSymbolsFromPath){let n=await r(i.uri);n?(e.priv.fields=n.symbolTable,e.priv.docString=n.docString):e.priv.notPresentFieldType=t.evaluateUnknownImportsAsAny?aM.V.create():aM.vn.create()}return i.implicitImports&&await lH(i.implicitImports,async(t,i)=>{let n,a=e.priv.loaderFields.get(i);if(t.isUnresolved)n=aM.vn.create();else{let s,o=null==a?void 0:a.getSynthesizedType();if((null==o?void 0:o.type)&&(0,aM.FS)(o.type))s=o.type;else{let r=e.priv.moduleName?e.priv.moduleName+"."+i:"";s=aM.nR.create(r,t.uri)}n=await d(s,t,r)}if(!a){let t=lM.NI.createWithType(lM.mk.None,n);e.priv.loaderFields.set(i,t)}}),e}if(o.type===aF.h3.Alias){let t;if(o.node.nodeType===aO.ye.ImportAs){let e=await T(o.node.d.module,lO.WB.None);e&&(0,aM.FS)(e)&&(t=e)}return t||(t=aM.nR.create(o.moduleName,o.uri),o.node.nodeType===aO.ye.ImportAs&&w(o.node.d.module,{type:t},lO.WB.None)),await d(t,o.symbolName&&o.submoduleFallback?o.submoduleFallback:o,e)}let u=await r.getFileInfo(o.node);return u.isStubFile&&u.isGeneratedStubFile?await i$(o,n,a):await i.getComputedType(a,s,null!=l?l:nZ.CancellationToken.None)}async function iV(t,i,r){var n,a,s;return null==(s=await rk(e,t,{resolveLocalNames:i,allowExternallyHiddenAccess:null!=(n=null==r?void 0:r.allowExternallyHiddenAccess)&&n,skipFileNeededCheck:null!=(a=null==r?void 0:r.skipFileNeededCheck)&&a}))?void 0:s.declaration}async function iq(t,i,r){var n,a;return await rk(e,t,{resolveLocalNames:i,allowExternallyHiddenAccess:null!=(n=null==r?void 0:r.allowExternallyHiddenAccess)&&n,skipFileNeededCheck:null!=(a=null==r?void 0:r.skipFileNeededCheck)&&a})}async function iG(e){return(await iH(e)).type}async function iH(e,t,i=!1){let r;if(e.hasTypedDeclarations()){let i=null==(r=await iX(e,t))?void 0:r.type,n=!1;if(i&&((0,aM.Tn)(i)&&aM.RK.isPartiallyEvaluated(i)?n=!0:(0,aM.D4)(i)&&aM.p5.isPartiallyEvaluated(i)&&(n=!0)),i||!r.isTypeAlias){let t=e.getTypedDeclarations(),a=!i&&!r.exceedsMaxDecls&&!u.isSpeculative(void 0);return{type:null!=i?i:aM.vn.create(),isIncomplete:n,includesVariableDecl:await iJ(t),includesIllegalTypeAliasDecl:!t.every(e=>rv(e)),includesSpeculativeResult:!1,isRecursiveDefinition:a}}}return await iY(e,t,i)}async function iJ(e){for(let t of e){if(t.type===aF.h3.Variable){let e=await r.getFileInfo(t.node);if(!e.isTypingStubFile&&!e.isTypingExtensionsStubFile)return!0}if(t.type===aF.h3.Param)return!0}return!1}async function iY(e,t,i=!1){let n,a=h.get(e.id),s=t?t.id:void 0,o=`${void 0===s?".":s.toString()}${i?"*":""}`,l=null==a?void 0:a.get(o);if(l&&!l.isIncomplete)return l;let d=e.getDeclarations();if(d.length>64){let e={type:aM.vn.create(),isIncomplete:!1,includesVariableDecl:!1,includesIllegalTypeAliasDecl:!d.every(e=>rv(e)),includesSpeculativeResult:!1,isRecursiveDefinition:!1};return g(e),e}if(i)d.forEach((e,t)=>{e.isInExceptSuite||(n=t)});else if(d.length>1&&d.every(e=>e.type===aF.h3.Alias)){let e=d.filter(e=>e.type===aF.h3.Alias&&!e.isInExceptSuite);1===e.length&&(n=d.findIndex(t=>t===e[0]))}let u=[],p=!1,c=!1,m=!1;await lH(d,async(t,i)=>{var a;let s=null!=(a=await iV(t,!0,{allowExternallyHiddenAccess:(await r.getFileInfo(t.node)).isStubFile}))?a:t;rv(s)||await rf(s)||(c=!0),await iJ([s])&&(p=!0),void 0!==n&&n!==i||m||(0,o0.Qv)(e,!1)&&t.type===aF.h3.Variable&&t.isDefinedByMemberAccess||(await rf(s)&&(m=!0),u.push(s))}),u.every(e=>(0,aF.bC)(e)&&aL.rt(e.node,aO.ye.AugmentedAssignment))&&u.splice(0);let y=await iQ(e,u,o);return y.includesVariableDecl=p,y.includesIllegalTypeAliasDecl=c,y.includesSpeculativeResult||g(y),y;function g(t){a||(a=new Map,h.set(e.id,a)),a.set(o,t)}}async function iQ(e,t,i){var r,n;let a,s=[],o=!1,l=!1,d=!1;for(let i of t)if(k(e,i)){let t=!1;try{let r=await iK(e,i);if(I(e)||(o=!0),t=!0,r){if(i.type===aF.h3.Variable){let e=!1;i.type===aF.h3.Variable&&(i.isConstant||rg(i))&&(e=!0),(0,aM.aE)(r)&&aM.p5.isEnumClass(r)&&await uL(rI,i)&&(e=!0),!aM.Ab.isInstance(r)||e||await rf(i)||(r=(0,aX.$o)(B(r)))}s.push(r),iR(i.node)&&(d=!0)}else o=!0}catch(i){throw t||I(e),i}}else{if(i.type===aF.h3.Class){let e=await tQ(i.node);(null==e?void 0:e.decoratedType)&&s.push(e.decoratedType)}o=!0,l=!0}let u=h.get(e.id),p=(null!=(r=null==u||null==(n=u.get(i))?void 0:n.evaluationAttempts)?r:0)+1;return s.length>0?(o=l&&p<16,a=(0,aM.Do)(s)):e.isClassVar()?(a=aM.vn.create(),o=!1):a=aM.Ui.create(),{type:a,isIncomplete:o,includesSpeculativeResult:d,evaluationAttempts:p}}async function iX(e,t){var i;let r=null==(i=e.getSynthesizedType())?void 0:i.type;if(r)return{type:r};let n=e.getTypedDeclarations();if(0===n.length)return e.getDeclarations().length>64?{type:aM.vn.create()}:{type:void 0};let a=!1;if(t&&n.length>1)if(n.length>16)n=[n[n.length-1]],a=!0;else{let e=n.filter(e=>!0);if(0===e.length)return{type:aM.Ui.create()};n=e}let s=n.length-1;for(;s>=0;){let t=n[s],i=function(e,t){let i=S(e,t);if(i>=0)return d[i].partialType}(e,t);if(i)return{type:i};if(0>S(e,t)&&k(e,t))try{let i=await iW(t);if(I(e)||t.type===aF.h3.Class)return i}catch(t){throw I(e),t}s--}return{type:void 0,exceedsMaxDecls:a}}async function iZ(e){if((0,aM.Tn)(e))await i0(e);else if((0,aM.Gl)(e)){await lH(aM.OF.getOverloads(e),async e=>{await i0(e)});let t=aM.OF.getImplementation(e);t&&(0,aM.Tn)(t)&&await i0(t)}}async function i0(e){return(await i1(e)).type}async function i1(e){let t=aM.RK.getEffectiveReturnType(e,!1);return t&&!(0,aM.t8)(t)?{type:t}:await i5(e)}async function i5(e){let t;if(aM.RK.isStubDefinition(e)||aM.RK.isParamSpecValue(e)||aM.RK.isOverloaded(e)&&!aM.RK.isSynthesizedMethod(e))return{type:aM.vn.create()};if(e.shared.inferredReturnType)return e.shared.inferredReturnType;if(e.shared.declaration){let t=await i.getComputedType(e.shared.declaration,s,l||nZ.CancellationToken.None);if(t&&(0,aM.Tn)(t)&&t.shared.inferredReturnType||!e.shared.declaration.node||(t=await i.getComputedType(e.shared.declaration.node.d.name,s,l||nZ.CancellationToken.None)),t&&(0,aM.Tn)(t)&&t.shared.inferredReturnType)return e.shared.inferredReturnType=t.shared.inferredReturnType,e.shared.inferredReturnType}return{type:t||aM.vn.create(),isIncomplete:!1}}async function i4(e){let t=await t6(e),i=null==t?void 0:t.functionType.shared.declaredReturnType;if(i)return aM.RK.isGenerator(t.functionType)?(0,aX.m)(t.functionType):i}async function i3(e){return(0,aM.dL)(e.classType)?(0,aX._T)(await iG(e.symbol),e.classType,es(),void 0):aM.vn.create()}async function i8(e,t,i,r){if((0,aM.ah)(t.classType))return{type:t.classType,isIncomplete:!1};if(!(0,aM.dL)(t.classType))return;let n=await iH(t.symbol);if(n)return(r&aX.Mh.TypeExpression)!=0&&e&&(n.type=await eI(e,n.type,!!n.includesVariableDecl)),await iZ(n.type),{type:(0,aX._T)(n.type,t.classType,es(),i),isIncomplete:!!n.isIncomplete}}async function i2(e,t,i,r,a){if(aM.p5.isHierarchyPartiallyEvaluated(e)||aM.p5.isHierarchyPartiallyEvaluated(t))return!0;if(aM.p5.isTypedDictClass(t)){if(aM.p5.isTypedDictClass(e)&&!aM.p5.isSameGenericClass(e,t))return!!await dp(rI,e,t,i,r,a)&&((r&lO.fW.Invariant)==0||await dp(rI,t,e,void 0,r,a));if(aM.p5.isBuiltIn(e,"Mapping")){let e=await da(rI,t);e&&(null==n?void 0:n.mappingClass)&&(0,aM.dL)(n.mappingClass)&&(null==n?void 0:n.strClass)&&(0,aM.dL)(n.strClass)&&(t=aM.p5.specialize(n.mappingClass,[aM.p5.cloneAsInstance(n.strClass),e]))}else if(aM.p5.isBuiltIn(e,["dict","MutableMapping"])){let e=await ds(rI,t,a);e&&(null==n?void 0:n.dictClass)&&(0,aM.dL)(n.dictClass)&&n.strClass&&(0,aM.dL)(n.strClass)&&(t=aM.p5.specialize(n.dictClass,[aM.p5.cloneAsInstance(n.strClass),e]))}}if(e.priv.includePromotions){let i=pz.get(e.shared.fullName);if(i&&i.some(e=>t.shared.mro.some(t=>(0,aM.D4)(t)&&e===t.shared.fullName))&&(r&lO.fW.Invariant)==0)return!0}let s=[],o=aM.p5.isDerivedFrom(t,e,s);return aM.p5.isProtocolClass(e)&&!o?!!await pp(rI,e,aM.p5.cloneAsInstance(t),i,r,a):!!(((r&lO.fW.Invariant)==0||aM.p5.isSameGenericClass(t,e))&&o&&((0,n6.vA)(s.length>0),await i7(e,t,s,i,r,a)))||!!aM.p5.isBuiltIn(e,"object")&&(r&lO.fW.Invariant)==0}async function i6(e,t,i,r=!0,n=0){(0,n6.vA)(aM.p5.isSameGenericClass(e,t)),(0,n6.vA)(e.shared.typeParams.length>0),t=(0,aX.ru)(t,(0,aX.SR)(t)),e=(0,aX.ru)(e,(0,aX.SR)(e));let a=!0;try{if(p.push({class:e,assumedVariance:i}),await lH(await l9(e),async(i,r)=>{if(!a||i.isIgnoredForProtocolMatch()||"__new__"===r||"__init__"===r)return;let s=(0,aX.Zn)(t,r);(0,n6.vA)(void 0!==s);let o=await iG(i),l=await i3(s);if(o=(0,aX._T)(o,e,es()),(0,aM.aE)(o)&&aM.p5.isPropertyClass(o)&&(0,aM.aE)(l)&&aM.p5.isPropertyClass(l))await uw(rI,aM.p5.cloneAsInstantiable(o),aM.p5.cloneAsInstantiable(l),e,t,void 0,void 0,n)||(a=!1);else{let t=i.getDeclarations()[0],s=lO.fW.Default;(null==t?void 0:t.type)!==aF.h3.Variable||rg(t)||(0,aX.rF)(e,r)||(0,aN.sQ)(r)||(s|=lO.fW.Invariant),await re(o,l,void 0,s|lO.fW.SkipSelfClsParamCheck,n)||(a=!1)}}),!a)return!1;return await lH(e.shared.baseClasses,async s=>{if(!a||!(0,aM.dL)(s)||aM.p5.isBuiltIn(s,["object","Protocol","Generic"])||0===s.shared.typeParams.length)return;let o=(0,aX.OU)(e,s),l=(0,aX.OU)(t,s);r||await lH(o.shared.typeParams,async(e,t)=>{if((0,aM.Bo)(e)||(0,aM.wh)(e)||e.shared.isSynthesized||!l.priv.typeArgs||t>=l.priv.typeArgs.length||!o.priv.typeArgs||t>=o.priv.typeArgs.length)return;let i=e.shared.declaredVariance;if((0,aM.CP)(l.priv.typeArgs[t])&&(i===aM.id.Invariant||i===aM.id.Contravariant)||(0,aM.CP)(o.priv.typeArgs[t])&&(i===aM.id.Invariant||i===aM.id.Covariant)){a=!1;return}}),a&&!aM.p5.isTupleClass(o)&&(await i6(o,l,i,r,n)||(a=!1))}),a}finally{p.pop()}}async function i7(e,t,i,r,n,a){let s,o=t;if(await t0(e),(n&lO.fW.Invariant)!=0&&(0,aX.bI)(t)!==(0,aX.bI)(e))return!1;for(let t=i.length-1;t>=0;t--){let r=i[t];if((0,aM.t8)(r))return!(0,aX.Nm)(e);if(t<i.length-1){let e=o;aM.p5.isBuiltIn(o,"NamedTuple")&&aM.p5.isBuiltIn(r,"tuple")&&s&&(e=s),o=(0,aX.OU)(e,r)}if(0!==aM.p5.getTypeParams(r).length){if(!r.priv.typeArgs)return!0;s=o}}if(e.priv.tupleTypeArgs&&o.priv.tupleTypeArgs)return await pT(rI,e,o,r,n,a);if(e.priv.typeArgs)return await i9(e,o,r,n,a);if(r&&o.priv.typeArgs){let t=o.priv.typeArgs;for(let i=0;i<e.shared.typeParams.length;i++){let n,a=e.shared.typeParams[i],s=aM.Kn.getVariance(a);n=o.priv.tupleTypeArgs?(0,aX.gU)(pg(rI,o.priv.tupleTypeArgs,!0)):i<t.length?t[i]:aM.vn.create(),r.setBounds(a,s!==aM.id.Contravariant?n:void 0,s!==aM.id.Covariant?n:void 0,!0)}}return!0}async function i9(e,t,i,r,n){let a,s;(0,n6.vA)(aM.p5.isSameGenericClass(e,t)),await t0(e);let o=aM.p5.getTypeParams(e),l=p.find(t=>aM.p5.isSameGenericClass(t.class,e)),d=null==l?void 0:l.assumedVariance;if(!e.priv.typeArgs||!t.priv.typeArgs)return!0;if(aM.p5.isTupleClass(e)){var u,c,h;a=null!=(u=null==(c=e.priv.tupleTypeArgs)?void 0:c.map(e=>e.type))?u:[],s=null==(h=t.priv.tupleTypeArgs)?void 0:h.map(e=>e.type)}else a=e.priv.typeArgs,s=t.priv.typeArgs;let m=!0;return await lH(s,async(t,s)=>{let l,u=s>=a.length?a.length-1:s,p=u>=0?a[u]:aM.vn.create(),c=u<o.length?o[u]:void 0,h=null!=d?d:c?aM.Kn.getVariance(c):aM.id.Covariant;l=h===aM.id.Covariant?r|lO.fW.RetainLiteralsForTypeVar:h===aM.id.Contravariant?r|lO.fW.Contravariant|lO.fW.RetainLiteralsForTypeVar:r|lO.fW.Invariant|lO.fW.RetainLiteralsForTypeVar,aM.p5.isBuiltIn(e,"TypeForm")&&(l|=lO.fW.RetainLiteralsForTypeVar),await re(h===aM.id.Contravariant?t:p,h===aM.id.Contravariant?p:t,i,l,n)||aM.p5.isPseudoGenericClass(e)||(m=!1)}),m}async function re(e,t,i,r=lO.fW.Default,a=0){var s,o,l,d,u,p,c,h,m,y,g,f;if(e===t&&!(0,aX.QL)(e))return!0;let v=null==(s=t.props)?void 0:s.specialForm;if(v){let e=!1;(r&lO.fW.AllowIsinstanceSpecialForms)!=0&&aM.p5.isBuiltIn(v,["Callable","UnionType","Generic"])&&(e=!0),e||(t=(null==(l=t.props)?void 0:l.typeForm)&&!(null==(d=v.props)?void 0:d.typeForm)?aM.Ab.cloneWithTypeForm(v,t.props.typeForm):v)}if((0,aM.dL)(t)&&aM.p5.isNewTypeClass(t)&&!t.priv.includeSubclasses&&(null==n?void 0:n.functionClass)&&(0,aM.dL)(null==n?void 0:n.functionClass)&&(t=aM.p5.cloneAsInstance(n.functionClass)),a>aM.Wn)return!0;if(a++,(0,aM.CP)(e)&&e.shared.recursiveAlias&&(0,aM.CP)(t)&&t.shared.recursiveAlias){let n=null==(u=e.props)?void 0:u.typeAliasInfo,s=null==(p=t.props)?void 0:p.typeAliasInfo;if((null==n?void 0:n.typeArgs)&&(null==s?void 0:s.typeArgs)&&e.shared.recursiveAlias.typeVarScopeId===t.shared.recursiveAlias.typeVarScopeId)return await rt(n,s,i,r,a);if((r&lO.fW.SkipRecursiveTypeCheck)!=0)return!0;r|=lO.fW.SkipRecursiveTypeCheck}if(aM.Ab.isInstantiable(e)&&aM.Ab.isInstantiable(t)&&(aM.Ab.getInstantiableDepth(e)>0||aM.Ab.getInstantiableDepth(t)>0))return await re((0,aX.gU)(e),(0,aX.gU)(t),i,r,a);let _=(0,aX.In)(e),T=(0,aX.In)(t);if((_!==e&&(0,aM.mi)(_)||T!==t&&(0,aM.mi)(T))&&a>10)return!((0,aM.aE)(t)&&aM.p5.isBuiltIn(t,"str")&&(0,aM.mi)(_))||_.priv.subtypes.some(e=>(0,aM.aE)(e)&&aM.p5.isBuiltIn(e,["object","str"]));if(e=_,t=T,(0,aM.sQ)(e)||(0,aM.sQ)(t))return!0;if((0,aM.CP)(e)){if((0,aX.uQ)(e,t)||await rd(e,t,a))return!0;let n=e;if(aM.Ab.isInstantiable(e)===aM.Ab.isInstantiable(t)&&(null==(c=t.props)?void 0:c.condition)&&t.props.condition.some(e=>!aM.Kn.hasConstraints(e.typeVar)&&e.typeVar.priv.nameWithScope===n.priv.nameWithScope))return!0;if((0,aM.mi)(t)){let i=(0,aM.mS)(t,e=>(0,aM.ah)(e));if((0,aM.J5)(e,i))return!0}if((0,aM.CP)(t)&&aM.Kn.isSelf(t)&&aM.Kn.hasBound(t)&&aM.Kn.isSelf(e)&&aM.Kn.hasBound(e)&&aM.Kn.isBound(e)===aM.Kn.isBound(t)&&aM.Ab.isInstance(t)===aM.Ab.isInstance(e))return(r&lO.fW.Contravariant)==0&&i&&await dM(rI,e,t,i,r,a),!0;if((0,aM.wh)(e)&&(0,aM.aE)(t)&&(0,aX.Bj)(t)&&t.priv.tupleTypeArgs&&1===t.priv.tupleTypeArgs.length&&(0,aM.J5)(e,t.priv.tupleTypeArgs[0].type,{},a))return!0;if((r&lO.fW.Contravariant)==0||!(0,aM.CP)(t))return!(!await dM(rI,e,t,i,r,a)||(0,aM.ah)(t)&&(r&lO.fW.OverloadOverlap)!=0)}if((0,aM.CP)(t)){if((r&lO.fW.Contravariant)!=0){if(aM.Kn.isBound(t))return await re(em(e),em(t),void 0,r,a);if(await dM(rI,t,e,i,r,a))return!0;let n=!1;return(0,aM.mi)(e)&&await l1(e,async e=>{await dM(rI,t,e,i,r,a)&&(n=!0)}),n}if((r&lO.fW.Invariant)!=0){if((0,aM.ah)(e)||(0,aM.Bo)(t)&&(0,aM.Tn)(e)&&aM.RK.isGradualCallableForm(e)&&e.shared.parameters.length<=2||(0,aM.RN)(t)&&(0,aM.aE)(e)&&(0,aM.wO)(e)&&e.priv.tupleTypeArgs&&1===e.priv.tupleTypeArgs.length&&e.priv.tupleTypeArgs[0].isUnbounded&&(0,aM.ah)(e.priv.tupleTypeArgs[0].type))return!0;if(!(0,aM.mi)(e))return!1}}if((0,aM.ah)(e))return!0;if((0,aM.ah)(t)&&!(null==(o=t.props)?void 0:o.specialForm)){if(i){let r=(0,aX.U8)(t)?aM.V.create():t;ra(e,r,i)}if((r&lO.fW.OverloadOverlap)==0)return!0}if((0,aM.Pd)(t))return(r&lO.fW.Invariant)!=0?!!(0,aM.Pd)(e):(i&&ra(e,aM.vn.create(),i),!0);if((0,aM.mi)(e)){if((0,aM.mi)(t))return await rr(e,t,i,r,a);let n=null==i?void 0:i.clone();if(await rl(e,t,n,r,a))return i&&n&&i.copyFromClone(n),!0}let w=em(t);if((0,aM.mi)(w))return await rr(e,w,i,r,a);if((0,aM.mi)(e))return await rl(e,t,i,r,a);if((0,aM.aE)(w)&&aM.p5.isBuiltIn(w,"type")){let t,n=w.priv.typeArgs;if(t=n&&n.length>=1?n[0]:aM.vn.create(),(0,aM.ah)(t)){if((0,aX.TR)(e))return!0}else if((0,aM.aE)(t)||(0,aM.CP)(t))return!!await re(e,(0,aX.xy)(t),i,r,a)}if((0,aM.dL)(e)&&(0,aM.dL)(w)){if(aM.p5.isProtocolClass(e)&&(r&lO.fW.AllowProtocolClassSource)==0&&aM.p5.isProtocolClass(w)&&(0,aM.dL)(t)&&!t.priv.includeSubclasses)return!1;if(aM.p5.isBuiltIn(e,"type")&&(null!=(h=null==(m=t.props)?void 0:m.instantiableDepth)?h:0)>0)return!0;if(rn(w,r)){let t=null!=(y=null==(g=e.props)?void 0:g.specialForm)?y:e;if(rn(t,r))return await re(t,w,i,r,a)}else if(await i2(e,w,i,r,a))return!0;return!1}if((0,aM.aE)(e)){if(aM.p5.isBuiltIn(e,"type")){if((0,aM.dL)(t)&&rn(t,r)&&0===aM.Ab.getInstantiableDepth(t)||(0,aM.ah)(t)&&(r&lO.fW.OverloadOverlap)!=0)return!1;let n=e.priv.typeArgs;if(n&&n.length>=1&&aM.Ab.isInstance(n[0])&&aM.Ab.isInstantiable(t))return await re(n[0],(0,aX.gU)(t),i,r,a);if(aM.Ab.isInstantiable(t))return!((0,aM.D4)(t)&&void 0!==t.priv.literalValue)}let s=em(t);if(aM.p5.isBuiltIn(e,"TypeForm")){let t,n=e.priv.typeArgs&&e.priv.typeArgs.length>0?e.priv.typeArgs[0]:aM.vn.create();if((0,aM.aE)(s)&&aM.p5.isBuiltIn(s,"type")?t=s:(0,aM.dL)(s)&&(t=(0,aX.gU)(s)),t)return await re(n,t,i,r,a)}if((0,aM.D4)(s)&&aM.Ab.isInstance(s)){if(!e.priv.isUnpacked&&s.priv.isUnpacked&&s.priv.tupleTypeArgs)return await re(e,(0,aX.fP)(s.priv.tupleTypeArgs),i,r,a);if(void 0!==e.priv.literalValue&&aM.p5.isSameGenericClass(e,s)&&(void 0===s.priv.literalValue||!aM.p5.isLiteralValueSame(s,e)))return!1;if(aM.p5.isBuiltIn(e,"LiteralString")){if(aM.p5.isBuiltIn(s,"str")&&void 0!==s.priv.literalValue)return(r&lO.fW.Invariant)==0;else if(aM.p5.isBuiltIn(s,"LiteralString"))return!0}else aM.p5.isBuiltIn(s,"LiteralString")&&(null==n?void 0:n.strClass)&&(0,aM.dL)(n.strClass)&&(r&lO.fW.Invariant)==0&&(s=aM.p5.cloneAsInstance(n.strClass));return!!await i2(aM.p5.cloneAsInstantiable(e),aM.p5.cloneAsInstantiable(s),i,r,a)}if((0,aM.BL)(s)){let t=await ru(e,a);if(t)return await re(t,s,i,r,a);let o=(0,aM.OG)(s)?null==n?void 0:n.methodClass:null==n?void 0:n.functionClass;if(o)return await re(e,(0,aX.gU)(o),i,r,a)}else if((0,aM.FS)(s)){if(aM.p5.isBuiltIn(e,"ModuleType"))return!0;if(aM.p5.isProtocolClass(e))return await pm(rI,aM.p5.cloneAsInstantiable(e),s,i,r,a)}else if((0,aM.dL)(s)){let t=await ru(e,a);if(t)return await re(t,s,i,r,a);if(aM.p5.isProtocolClass(e))return await pp(rI,aM.p5.cloneAsInstantiable(e),s,i,r,a);let n=s.shared.effectiveMetaclass;if(n&&!(0,aM.ah)(n)&&await i2(aM.p5.cloneAsInstantiable(e),n,i,r,a))return!0}else if((0,aM.ah)(s)&&!(null==(f=s.props)?void 0:f.specialForm))return(r&lO.fW.OverloadOverlap)==0;else if((0,aM.mi)(s))return await re(e,s,i,r,a)}if((0,aM.Tn)(e)){let n=em(t);if((0,aM.aE)(n)){let e=await Y(n,"__call__",void 0,void 0,a);e&&(n=e)}if((0,aM.dL)(n)&&void 0===n.priv.literalValue){let s=await dQ(rI,n,(0,aM.CP)(t)?(0,aX.gU)(t):void 0,a);if(s&&(n=s,(0,aM.mi)(n)))return await re(e,n,i,r,a)}if((0,aM.ah)(n))return(r&lO.fW.OverloadOverlap)==0;if((0,aM.Gl)(n)){if((r&lO.fW.ArgAssignmentFirstPass)!=0)return!0;let t=aM.OF.getOverloads(n),s=[],o=[];return await lH(t,async t=>{var n;let l=null!=(n=(0,aX.Pn)(t))?n:"",d=null==i?void 0:i.cloneWithSignature(l);await re(e,t,d,r,a)&&(s.push(t),d&&(0,ap.af)(o,d.getConstraintSets()))}),0!==s.length&&((1===s.length||(r&lO.fW.ArgAssignmentFirstPass)==0)&&i&&i.addConstraintSets(o),!0)}if((0,aM.Tn)(n)&&await rc(e,n,null!=i?i:new lN.w,r,a))return!0}if((0,aM.Gl)(e)){let n=aM.OF.getOverloads(e);if((0,aM.Gl)(t)){let e=aM.OF.getOverloads(t);if(n.length===e.length&&await lX(n,async(t,n)=>{let s=e[n];return await re(t,s,i,r,a)}))return!0}return!!await lX(n,async e=>await re(e,t,i,r,a))}return!!((0,aM.D4)(e)&&aM.p5.isBuiltIn(e,"object")&&((0,aM.dL)(e)&&aM.Ab.isInstantiable(t)||(0,aM.aE)(e)))&&(r&lO.fW.Invariant)==0||((0,aX.Lj)(t)&&(0,aM.aE)(e)&&aM.p5.isProtocolClass(e)&&(null==n?void 0:n.noneTypeClass)&&(0,aM.dL)(n.noneTypeClass)?await pp(rI,aM.p5.cloneAsInstantiable(e),aM.p5.cloneAsInstance(n.noneTypeClass),i,r,a):((0,aX.Lj)(e),!1))}async function rt(e,t,i,r=lO.fW.Default,n=0){(0,n6.vA)(void 0!==e.typeArgs),(0,n6.vA)(void 0!==t.typeArgs);let a=!0,s=t.typeArgs,o=e.shared.computedVariance;return await lH(e.typeArgs,async(e,t)=>{let l=t<s.length?s[t]:aM.vn.create(),d=r,u=o&&t<o.length?o[t]:aM.id.Covariant;u===aM.id.Invariant?d|=lO.fW.Invariant:u===aM.id.Contravariant&&(d^=lO.fW.Contravariant),await re(e,l,i,d,n)||(a=!1)}),a}async function ri(e,t){var i,r,n;let a,s;return(null==(i=t.props)?void 0:i.typeForm)&&((null==(r=t.props)?void 0:r.typeForm)?a=t.props.typeForm:(0,aM.D4)(t)?aM.Ab.isInstantiable(t)?aM.p5.isSpecialBuiltIn(t)||(a=aM.p5.cloneAsInstance(t)):aM.p5.isBuiltIn(t,"type")&&(a=(null==(n=t.priv.typeArgs)?void 0:n.length)&&t.priv.typeArgs.length>0?t.priv.typeArgs[0]:aM.vn.create()):(0,aM.CP)(t)&&aM.Ab.isInstantiable(t)&&(!(0,aM.wh)(t)||!t.priv.isInUnion)&&(a=(0,aX.gU)(t)),a)?(await l1(e,async e=>{if(s||!(0,aM.aE)(e)||!aM.p5.isBuiltIn(e,"TypeForm"))return;let t=e.priv.typeArgs&&e.priv.typeArgs.length>0?e.priv.typeArgs[0]:aM.vn.create();await re(t,a)&&(s=aM.p5.specialize(e,[a]))}),null!=s?s:t):t}async function rr(e,t,i,r,n){if((0,aM.J5)(t,e,{},n))return!0;if((r&lO.fW.OverloadOverlap)!=0&&t.priv.subtypes.some(e=>(0,aM.ah)(e)))return!1;let a=(0,aX.wE)(t.priv.subtypes),s=!1;if((0,aM.mi)(e)){let o=e.priv.subtypes.filter(e=>!(0,aM.ah)(e));if(1===o.length&&(0,aM.CP)(o[0]))return await re(o[0],t,i,r,n),!0;let l=[],d=a,u=!0;if((0,aX.wE)(e.priv.subtypes).forEach(e=>{if((0,aX.QL)(e))l.push(e);else{let t=d.findIndex(t=>(0,aM.J5)(t,e,{},n));t>=0?(d.splice(t,1),s=!0):l.push(e)}}),await lH(d,async e=>{let t=await lZ(l,async t=>!!((0,aM.J5)(t,e)||(0,aM.D4)(e)&&(0,aM.D4)(t)&&aM.Ab.isInstance(e)===aM.Ab.isInstance(t)&&(aM.p5.isSameGenericClass(e,t)||aM.p5.isTypedDictClass(e)&&aM.p5.isTypedDictClass(t)&&await re(e,t,void 0,r,n)))||!!((0,aM.BL)(e)&&(0,aM.BL)(t)));t>=0&&(await re(l[t],e,i,r,n)?s=!0:u=!1,l.splice(t,1),d=d.filter(t=>t!==e))}),u&&(0!==l.length||0!==d.length)){if((r&lO.fW.Invariant)!=0&&0===d.length)return await lX(l,async t=>await rs(t,e,!0,n));let s=(r&lO.fW.Contravariant)!=0,o=s?d:l;if(0===o.length||o.some(e=>!(0,aM.CP)(e)))u=!1,a=d;else if(l.length===d.length){let e=[...l];for(let t=0;t<d.length;t++){let a=!1;for(let s=0;s<e.length;s++)if(await re(e[s],d[t],i,r,n)){a=!0,e.push(...e.splice(s,1));break}if(!a){u=!1;break}}a=d}else 0===d.length?(r&lO.fW.PopulateExpectedType)!=0&&await lH(l,async e=>{await re(e,t,i,r,n)}):await re(s?e:l[0],s?d[0]:(0,aM.Do)(d),i,r,n)||(u=!1)}if(u||(r&lO.fW.PartialOverloadOverlap)!=0&&s)return!0}let o=!1;return await lH(a,async a=>{!o&&(await re(e,a,i,r,n)?s=!0:await rs(a,t,!1,n)||await re(e,a,i,r,n)||(o=!0))},!0),!o||(r&lO.fW.PartialOverloadOverlap)!=0&&!!s}function rn(e,t){return(t&lO.fW.AllowIsinstanceSpecialForms)==0&&aM.p5.isSpecialFormClass(e)}function ra(e,t,i){(0,aX.Nl)(e).forEach(e=>{aM.Kn.isBound(e)||i.getMainConstraintSet().getTypeVar(e)||(0,aM.Bo)(t)||(0,aM.wh)(t)||i.setBounds(e,t)})}async function rs(e,t,i,r=0){let n=em(e);for(let a of(0,aM.mi)(t)?t.priv.subtypes:[t])if(!(0,aM.J5)(a,e)){if((0,aM.ah)(a)){if(i)return!0}else if(await ro(a,n,r))return!0}return!1}async function ro(e,t,i){var r;return(null==(r=e.props)||!r.condition)&&(!!((0,aM.ah)(e)||(0,aM.ah)(t)||(0,aM.D4)(e)&&e.shared.mro.some(e=>(0,aM.ah)(e))||(0,aM.D4)(t)&&t.shared.mro.some(e=>(0,aM.ah)(e)))||await re(e,t,void 0,lO.fW.Default,i)&&!await re(t,e,void 0,lO.fW.Default,i))}async function rl(e,t,i,r,n){if(r&lO.fW.Invariant){let a=!1;return await l1(e,async(s,o)=>{if(!a&&!await re(s,t,i,r,n)){let t=!1;if(!(0,aM.ah)(s)){let i=(0,aX.ru)(s,void 0);await l1(e,async(e,r)=>{if(o!==r&&!t){let r=(0,aX.ru)(e,void 0);await re(r,i,void 0,lO.fW.Default,n)&&(t=!0)}})}t||(a=!0)}}),!a}let a=!1;if((0,aX.QL)(e))if((0,aX.Lj)(t)&&(0,aX.fn)(e))a=!0;else{let s,o,l=0;if((0,aM.aE)(t)&&(0,aX.aw)(t)&&aM.gn.containsType(e,t,void 0,void 0,n))return!0;await l1(e,async e=>{let d=null==i?void 0:i.clone();if(await re(e,t,d,r,n)&&(a=!0,d)){let r=d.getScore();!(0,aM.CP)(e)||(null==i?void 0:i.getMainConstraintSet().getTypeVar(e))||(l++,r+=.001),(0,aM.J5)(e,B(t))&&(r=1/0),(void 0===o||o<=r)&&(o=r,s=d)}},!0),l>1&&(r&lO.fW.ArgAssignmentFirstPass)!=0&&(s=void 0),i&&s&&i.copyFromClone(s)}else for(let s of e.priv.subtypes)if(await re(s,t,i,r,n)){a=!0;break}return!a&&(0,aM.CP)(t)&&aM.Kn.hasConstraints(t)&&(a=await re(e,em(t),i,r,n)),!!a}async function rd(e,t,i){return!await l3(t,async t=>{var r;if((0,aM.J5)(e,t,{ignorePseudoGeneric:!0},i)||(0,aX.Hx)(t))return!1;let n=aM.Kn.getNameWithScope(e),a=(null!=(r=(0,aX.An)(t))?r:[]).filter(e=>e.typeVar.priv.nameWithScope===n);return 0===a.length||!await lY(a,async r=>r.typeVar.priv.nameWithScope===aM.Kn.getNameWithScope(e)&&(e.shared.boundType?((0,n6.vA)(0===r.constraintIndex,"Expected constraint for bound TypeVar to have index of 0"),await re(e.shared.boundType,t,void 0,lO.fW.Default,i)):!aM.Kn.hasConstraints(e)||((0,n6.vA)(r.constraintIndex<e.shared.constraints.length,"Constraint for constrained TypeVar is out of bounds"),await re(e.shared.constraints[r.constraintIndex],t,void 0,lO.fW.Default,i))))})}async function ru(e,t=0){if(!(0,aM.aE)(e)||!aM.p5.isProtocolClass(e))return;for(let t of e.shared.mro)if((0,aM.D4)(t)&&aM.p5.isProtocolClass(t))for(let e of(await l9(t))){let t=e[0],i=e[1];if("__call__"===t||"__slots__"===t||i.isIgnoredForProtocolMatch())continue;let r=!1;if((null==n?void 0:n.functionClass)&&(0,aM.D4)(n.functionClass)&&(await l9(n.functionClass)).has(e[0])&&(r=!0),!r)return}let i=await Y(e,"__call__",void 0,void 0,t);if(i)return(0,aX.xB)(i)}async function rp(e,t,i,r,n){if((0,aM.wh)(e)&&!(0,aM.q5)(t))return!1;let a=t,s=e,o=!1;if((r&lO.fW.OverloadOverlap)==0){let n=(r&lO.fW.ArgAssignmentFirstPass)!=0;(r&lO.fW.Contravariant)==0?(n||(s=await H(e,i,void 0,{useLowerBoundOnly:!0})),o=(0,aX.QL)(s)):(n||(a=await H(t,i,void 0,{useLowerBoundOnly:!0})),o=(0,aX.QL)(a))}return o&&await re(a,s,i,r^lO.fW.Contravariant|lO.fW.RetainLiteralsForTypeVar,n)&&(s=await H(e,i)),!!await re(a,s,i,r,n)}async function rc(e,t,i,r,a){var s,o,l,d,u;let p=!0,c=(r&lO.fW.SkipReturnTypeCheck)==0,h=(r&lO.fW.Contravariant)!=0;r&=~lO.fW.SkipReturnTypeCheck;let m=aM.RK.getParamSpecFromArgsKwargs(e);m&&(e=aM.RK.cloneRemoveParamSpecArgsKwargs(e));let y=aM.RK.getParamSpecFromArgsKwargs(t);y&&(t=aM.RK.cloneRemoveParamSpecArgsKwargs(t));let g=(0,dD.MC)(e,{disallowExtraKwargsForTd:(r&lO.fW.DisallowExtraKwargsForTd)!=0}),f=(0,dD.MC)(t,{disallowExtraKwargsForTd:(r&lO.fW.DisallowExtraKwargsForTd)!=0});!function(e,t){var i;if(void 0===t.argsIndex||!(0,aM.q5)(t.params[t.argsIndex].type)||e.params.length<t.argsIndex)return;let r=e.params.findIndex((e,i)=>((0,n6.vA)(void 0!==t.argsIndex),i>=t.argsIndex&&e.kind===dD.OU.Keyword));if(r<0&&(r=e.params.length),void 0!==e.argsIndex&&t.argsIndex>e.argsIndex)return;let n=(null!=(i=t.firstKeywordOnlyIndex)?i:t.params.length)-t.argsIndex-1,a=e.params.slice(t.argsIndex,r-n),s=[];if(a.forEach(e=>{e.param.category===aO.OP.ArgsList?(0,aM.RN)(e.type)?s.push({type:e.type,isUnbounded:!1}):(0,aM.wO)(e.type)&&e.type.priv.tupleTypeArgs?(0,ap.af)(s,e.type.priv.tupleTypeArgs):s.push({type:e.type,isUnbounded:!0}):s.push({type:e.type,isUnbounded:!1,isOptional:!!e.defaultType})}),1!==s.length||!(0,aM.wh)(s[0].type)){let i=pg(rI,s,!0);e.params=[...e.params.slice(0,t.argsIndex),{param:aM.gk.create(aO.OP.ArgsList,i,aM.D5.NameSynthesized|aM.D5.TypeDeclared,"_arg_combined"),type:i,declaredType:i,index:-1,kind:dD.OU.Positional},...e.params.slice(t.argsIndex+a.length,e.params.length)];let r=e.params.findIndex(e=>e.param.category===aO.OP.ArgsList);e.argsIndex=r>=0?r:void 0;let n=e.params.findIndex(e=>e.param.category===aO.OP.KwargsDict);e.kwargsIndex=n>=0?n:void 0;let o=e.params.findIndex(e=>e.kind===dD.OU.Keyword);e.firstKeywordOnlyIndex=o>=0?o:void 0,e.positionOnlyParamCount=Math.max(0,e.params.findIndex(e=>e.kind!==dD.OU.Positional||e.param.category!==aO.OP.Simple||!!e.defaultType))}}(h?g:f,h?f:g);let v=h?!!y:!!m,_=null!=(s=g.firstKeywordOnlyIndex)?s:g.params.length,T=null!=(o=f.firstKeywordOnlyIndex)?o:f.params.length,w=Math.min(_,T),b=[];for(let n=0;n<w;n++){if(0===n&&e.shared.methodClass&&(r&lO.fW.SkipSelfClsParamCheck)!=0&&(aM.RK.isInstanceMethod(e)||aM.RK.isClassMethod(e)))continue;if(n===g.argsIndex){(0,aM.RN)(g.params[g.argsIndex].type)||b.push(n);continue}let s=g.params[n],o=f.params[n],u=o.type,c=s.type,h=null!=(l=s.param.name)?l:"",m=null!=(d=o.param.name)?d:"";h&&s.kind!==dD.OU.Positional&&s.kind!==dD.OU.ExpandedArgs&&s.param.category!==aO.OP.ArgsList&&o.param.category!==aO.OP.ArgsList&&(o.kind===dD.OU.Positional||o.kind===dD.OU.ExpandedArgs?p=!1:h!==m&&(p=!1)),(!s.defaultType||(o.defaultType||n===f.argsIndex||(p=!1),(r&lO.fW.PartialOverloadOverlap)==0||!o.defaultType))&&!(0===n&&"__init__"===t.shared.name&&aM.RK.isInstanceMethod(t)&&"__init__"===e.shared.name&&aM.RK.isInstanceMethod(e)&&aM.RK.isOverloaded(e)&&aM.gk.isTypeDeclared(s.param))&&((0,aM.q5)(u)?p=!1:await rp(c,u,i,r,a)?s.kind===dD.OU.Positional||s.kind===dD.OU.ExpandedArgs||o.kind!==dD.OU.Positional||void 0!==f.kwargsIndex||f.params.some(e=>e.kind===dD.OU.Keyword&&e.param.category===aO.OP.Simple&&e.param.name===s.param.name)||(p=!1):(r&lO.fW.SkipSelfClsTypeCheck)!=0&&(0,aM.CP)(u)&&u.shared.isSynthesized||(p=!1))}if(aM.RK.isGradualCallableForm(e)||!(g.firstPositionOrKeywordIndex<f.positionOnlyParamCount)||v||(p=!1),_<T&&!v){for(let e=_;e<T;e++)b.push(e);for(let e of b){if(void 0!==g.argsIndex){let t=g.params[g.argsIndex].type,n=f.params[e].type;await rp(t,n,i,r,a)||(p=!1);continue}let t=f.params[e];if(t.defaultType){let t=f.params[e],n=null!=(u=t.defaultType)?u:t.defaultType;n&&!await re(t.type,n,i,r,a)&&(r&lO.fW.PartialOverloadOverlap)==0&&(p=!1);continue}if(t.kind!==dD.OU.Standard&&t.param.category!==aO.OP.ArgsList){p=!1;break}}}else if(T<_){if(void 0!==f.argsIndex){let e=f.params[f.argsIndex].type;for(let t=T;t<_;t++){if(t===f.argsIndex)continue;let n=g.params[t].type;if((0,aM.wh)(n)&&!(0,aM.wh)(e))p=!1;else{await rp(n,e,i,r,a)||(p=!1);let s=g.params[t].kind;s!==dD.OU.Positional&&s!==dD.OU.ExpandedArgs&&void 0===f.kwargsIndex&&(p=!1)}}}else if(!f.paramSpec){let e=_;if(void 0!==g.argsIndex&&g.argsIndex<_&&e--,(r&lO.fW.PartialOverloadOverlap)!=0)for(;e>0&&g.params[e-1].defaultType;)e--;T<e&&(p=!1)}}if(void 0!==f.argsIndex&&void 0!==g.argsIndex&&!aM.RK.isGradualCallableForm(e)){let e=g.params[g.argsIndex].type,t=f.params[f.argsIndex].type;(0,aM.q5)(e)||(e=pg(rI,[{type:e,isUnbounded:!0}],!0)),(0,aM.q5)(t)||(t=pg(rI,[{type:t,isUnbounded:!0}],!0)),await rp(e,t,i,r,a)||(p=!1)}if(aM.RK.isGradualCallableForm(e)||void 0!==f.argsIndex||void 0!==y||void 0===g.argsIndex||g.hasUnpackedTypeVarTuple||(p=!1),!v){let t=new Map;void 0!==g.firstKeywordOnlyIndex&&g.params.forEach((e,i)=>{i>=g.firstKeywordOnlyIndex&&e.param.name&&e.param.category===aO.OP.Simple&&e.kind!==dD.OU.Positional&&e.kind!==dD.OU.ExpandedArgs&&t.set(e.param.name,e)});let n=void 0!==f.firstKeywordOnlyIndex?f.firstKeywordOnlyIndex:f.params.length;_<T&&void 0===g.argsIndex&&(n=_),n>=0&&await lH(f.params,async(e,s)=>{if(s<n||!e.param.name||e.param.category!==aO.OP.Simple||e.kind===dD.OU.Positional)return;let o=t.get(e.param.name),l=e.type;if(!o){if(void 0!==g.kwargsIndex||e.defaultType){if(void 0!==g.kwargsIndex)await rp(g.params[g.kwargsIndex].type,l,i,r,a)||(p=!1);else if(e.defaultType){var d;let t=null!=(d=e.defaultType)?d:e.defaultType;t&&!await re(e.type,t,i,r,a)&&(r&lO.fW.PartialOverloadOverlap)==0&&(p=!1)}}else p=!1;return}e.defaultType&&o.defaultType&&(r&lO.fW.PartialOverloadOverlap)!=0||(await rp(o.type,l,i,r,a)||(p=!1),o.defaultType&&!e.defaultType&&(p=!1)),t.delete(e.param.name)}),await lH(t,async(e,n)=>{void 0!==f.kwargsIndex&&e.param.name?(await rp(e.type,f.params[f.kwargsIndex].type,i,r,a)||(p=!1),t.delete(n)):p=!1}),void 0===f.kwargsIndex||void 0===g.kwargsIndex||await rp(g.params[g.kwargsIndex].type,f.params[f.kwargsIndex].type,i,r,a)||(p=!1),aM.RK.isGradualCallableForm(e)||void 0!==f.kwargsIndex||void 0!==y||void 0===g.kwargsIndex||(p=!1)}if((r&lO.fW.OverloadOverlap)!=0&&(aM.RK.isGradualCallableForm(t)&&!aM.RK.isGradualCallableForm(e)&&(p=!1),y&&!m&&(p=!1)),v&&(null==y?void 0:y.priv.nameWithScope)===(null==m?void 0:m.priv.nameWithScope)&&f.params.length!==g.params.length&&(p=!1),v){let n=h?e:t,a=h?t:e,s=h?m:y,o=h?y:m;if(o){let e=a.shared.parameters.filter((e,t)=>{if(!e.name)return!1;let i=aM.RK.getParamType(a,t);return!(e.category===aO.OP.Simple&&(0,aM.Bo)(i))}).length,t=0,l=[];if(n.shared.parameters.forEach((i,r)=>{(!(t<e)||(i.name&&t++,i.category===aO.OP.ArgsList))&&((0,aM.hB)(i)&&0===l.length||l.push(aM.gk.create(i.category,aM.RK.getParamType(n,r),i.flags,i.name,aM.RK.getParamDefaultType(n,r),i.defaultExpr)))}),l.length>0||!s||!(0,aM.J5)(s,o,{ignoreTypeFlags:!0})){let e=h?_:T,t=h?T:_;if(!s||e>=t){let e=aM.RK.createInstance("","","",n.shared.flags|aM.wt.SynthesizedMethod,n.shared.docString);e.shared.deprecatedMessage=n.shared.deprecatedMessage,e.shared.typeVarScopeId=n.shared.typeVarScopeId,e.priv.constructorTypeVarScopeId=n.priv.constructorTypeVarScopeId,e.shared.methodClass=n.shared.methodClass,l.forEach(t=>{aM.RK.addParam(e,t)}),s&&aM.RK.addParamSpecVariadics(e,(0,aX.gU)(s)),await re(o,e,i,r)||!(l.length>0)&&s&&await re((0,aX.gU)(o),(0,aX.gU)(s),i,r)||(p=!1)}}}}if(c){let s=await i0(e);if(!(0,aM.ah)(s)){let e=await H(await i0(t),i),o=!1,l=r;t.shared.declaredReturnType&&(0,aX.th)(t.shared.declaredReturnType,!0)&&(l|=lO.fW.RetainLiteralsForTypeVar),await re(s,e,i,l,a)?o=!0:(0,aM.aE)(e)&&aM.p5.isBuiltIn(e,["TypeGuard","TypeIs"])&&(null==n?void 0:n.boolClass)&&(0,aM.dL)(n.boolClass)&&await re(s,aM.p5.cloneAsInstance(n.boolClass),i,r,a)&&(o=!0),o||(p=!1)}}return p}async function rh(e,t){let i=await l5(t.type,async t=>{if((0,aM.D4)(t)&&(0,aX.aw)(t)&&(0,aM.mi)(e)&&aM.gn.containsType(e,t))return t;let i=await l5(e,async e=>{if(await re(e,t))return(0,aM.t8)(t)?t:await re(t,e)?(0,aM.D4)(t)&&t.priv.typedDictNarrowedEntries&&(0,aM.J5)(t,e,{ignoreTypedDictNarrowEntries:!0})||(0,aM.aE)(e)&&aM.p5.isProtocolClass(e)&&(0,aM.BL)(t)?t:e:t});return(0,aM.Pd)(i)?t:i});if((0,aX.Hx)(i));else if((0,aM.t8)(i))return{type:(0,aM.Do)([i,e]),isIncomplete:t.isIncomplete};return{type:i,isIncomplete:t.isIncomplete}}async function rm(e,t,i,r=!1,n,a=0){return await l8(t,async t=>{if(!e)return aM.RK.clone(t,!0);if(t.priv.strippedFirstParamType)return t;if(aM.RK.isInstanceMethod(t)){if((0,aX.k7)(e))return t;let r=(0,aM.aE)(e)?e:aM.p5.cloneAsInstance((0,aX.ap)(e)),s=!1;return(0,aM.aE)(e)?s=!0:i&&(0,aX.k7)(i)&&(s=!0),await ry(e,t,a,null!=n?n:r,s)}if(aM.RK.isClassMethod(t)||r&&aM.RK.isConstructorMethod(t)){let i=(0,aM.dL)(e)?e:aM.p5.cloneAsInstantiable(e),r=n?(0,aX.xy)(n):void 0;return await ry(i,t,a,null!=r?r:i,!0)}if(aM.RK.isStaticMethod(t)){let i=(0,aM.dL)(e)?e:aM.p5.cloneAsInstantiable(e);return await ry(i,t,a,void 0,!1)}return t})}async function ry(e,t,i,r,n=!0){let a=new lN.w;if(r)if(!(t.shared.parameters.length>0))return;else{let e=t.shared.parameters[0],n=aM.RK.getParamType(t,0);if((0,aM.CP)(n)&&n.shared.boundType&&(0,aM.aE)(n.shared.boundType)&&aM.p5.isProtocolClass(n.shared.boundType))a.setBounds(n,aM.Ab.isInstantiable(n)?(0,aX.gU)(r):r);else if((0,aM.BL)(n)&&(0,aM.aE)(r)&&aM.p5.isProtocolClass(r)||!await re(n,r,a,lO.fW.AllowUnspecifiedTypeArgs,i)&&e.name&&!aM.gk.isNameSynthesized(e)&&aM.gk.isTypeDeclared(e))return}await i0(t);let s=await H(t,a);return(0,aM.Tn)(s)?aM.RK.clone(s,n,e):(0,aM.Gl)(s)?aM.RK.clone(aM.OF.getOverloads(s)[0],n,e):void 0}function rg(e){return e.type===aF.h3.Variable&&!!e.isFinal}async function rf(e){if(e.type!==aF.h3.Variable||!e.typeAnnotationNode||e.typeAnnotationNode.nodeType!==aO.ye.Name&&e.typeAnnotationNode.nodeType!==aO.ye.MemberAccess&&e.typeAnnotationNode.nodeType!==aO.ye.StringList)return!1;let t=await j(e.typeAnnotationNode,{varTypeAnnotation:!0,allowClassVar:!0});return(0,aM.aE)(t)&&aM.p5.isBuiltIn(t,"TypeAlias")}function rv(e){var t;return e.type===aF.h3.Variable&&!!e.typeAliasName&&!e.typeAnnotationNode&&(null==(t=e.node.parent)?void 0:t.nodeType)===aO.ye.Assignment&&function e(t,i){switch(t.nodeType){case aO.ye.Error:case aO.ye.UnaryOperation:case aO.ye.AssignmentExpression:case aO.ye.TypeAnnotation:case aO.ye.Await:case aO.ye.Ternary:case aO.ye.Unpack:case aO.ye.Tuple:case aO.ye.Call:case aO.ye.Comprehension:case aO.ye.Slice:case aO.ye.Yield:case aO.ye.YieldFrom:case aO.ye.Lambda:case aO.ye.Number:case aO.ye.Dictionary:case aO.ye.List:case aO.ye.Set:return!1;case aO.ye.StringList:case aO.ye.String:return i;case aO.ye.Constant:return t.d.constType===aj.Wg.None;case aO.ye.BinaryOperation:return t.d.operator===aj.hu.BitwiseOr&&e(t.d.leftExpr,!0)&&e(t.d.rightExpr,!0);case aO.ye.Index:case aO.ye.MemberAccess:return e(t.d.leftExpr,i)}return!0}(e.node.parent.d.rightExpr,!1)}function r_(e){if((0,aX.U8)(e))return!1;if((0,aM.t8)(e)){var t;return!!((null==(t=e.props)?void 0:t.specialForm)&&aM.p5.isBuiltIn(e.props.specialForm,"UnionType"))}let i=!0;return(0,aX.u6)(e,e=>{aM.Ab.isInstantiable(e)||(0,aX.Lj)(e)||(i=!1)}),i}async function rT(e){var t;if(e.type!==aF.h3.Variable||!e.node.parent||e.node.parent.nodeType!==aO.ye.Assignment||(null==(t=e.node.parent.d.rightExpr)?void 0:t.nodeType)!==aO.ye.Call)return!1;let i=e.node.parent.d.rightExpr.d.leftExpr;if("TypedDict"===(i.nodeType===aO.ye.Name&&i.d.value)||i.nodeType===aO.ye.MemberAccess&&"TypedDict"===i.d.member.d.value&&i.d.leftExpr.nodeType===aO.ye.Name){let e=(await D(i,lO.WB.CallBaseDefaults)).type;if((0,aM.dL)(e)&&aM.p5.isBuiltIn(e,"TypedDict"))return!0}return!1}async function rw(e){return(await r.getFileInfo(e)).diagnosticRuleSet.enableExperimentalFeatures}async function rb(e,i){let r=t.printTypeFlags;return(null==i?void 0:i.expandTypeAlias)&&(r|=dP.X8.ExpandTypeAlias),(null==i?void 0:i.enforcePythonSyntax)&&(r|=dP.X8.PythonSyntax),(null==i?void 0:i.useTypingUnpack)&&(r|=dP.X8.UseTypingUnpack),(null==i?void 0:i.printUnknownWithAny)&&(r|=dP.X8.PrintUnknownWithAny),(null==i?void 0:i.printTypeVarVariance)&&(r|=dP.X8.PrintTypeVarVariance),(null==i?void 0:i.omitTypeArgsIfUnknown)&&(r|=dP.X8.OmitTypeArgsIfUnknown),(null==i?void 0:i.useFullyQualifiedNames)&&(r|=dP.X8.UseFullyQualifiedNames),await pI(e,r,i0)}async function rS(e,t){let i=await r.getFileInfo(e),n=new a$.iX,a=e.d.strings[0].d.value,s=e.d.strings[0].start;e.d.strings[0].nodeType===aO.ye.String&&(s+=e.d.strings[0].d.token.prefixLength+e.d.strings[0].d.token.quoteMarkLength);let o=" ".repeat(s)+a,l=new a$._B;l.isStubFile=i.isStubFile,l.pythonVersion=i.executionEnvironment.pythonVersion,l.reportErrorsForParsedStringContents=!0;let d=n.parseTextExpression(o,s,a.length,l,a$.aY.Expression,void 0,i.typingSymbolAliases);if(d.parseTree){if(!t&&d.diagnostics.length>0)return;let i=await r.getFileInfo(e);return d.diagnostics.forEach(t=>{i.diagnosticSink.addDiagnosticWithTextRange("error",t.message,e)}),d.parseTree.parent=e,t&&(e.d.annotation=d.parseTree),d.parseTree}}async function rk(e,t,i){let r,n,a=t,s=[],o=!1,l=!1;for(;;){let d;if(a.type!==aF.h3.Alias||!a.symbolName||!i.resolveLocalNames&&a.usesLocalName)return{declaration:a,isPrivate:o,privatePyTypedImported:r,privatePyTypedImporter:n};!a.uri.isEmpty()&&a.loadSymbolsFromPath&&(d=await e(a.uri,{skipFileNeededCheck:i.skipFileNeededCheck}));let u=d?d.symbolTable.get(a.symbolName):void 0;if(!u){if(a.submoduleFallback){if(a.symbolName&&!a.uri.isEmpty()&&a.submoduleFallback.type===aF.h3.Alias&&!a.submoduleFallback.uri.isEmpty()&&!await e(a.submoduleFallback.uri,{skipFileNeededCheck:i.skipFileNeededCheck,skipParsing:!0}))return;let t=a.submoduleFallback;if(a.symbolName){let e=(t={...a.submoduleFallback}).moduleName;e&&(e=`${e}.`),t.moduleName=`${e}${a.symbolName}`}return await rk(e,t,i)}if(a.isNativeLib)return{declaration:void 0,isPrivate:o};return}if(u.isPrivateMember()&&!l&&(o=!0),u.isExternallyHidden()&&!i.allowExternallyHiddenAccess)return;let p=u.getTypedDeclarations();if(0===(p=p.filter(e=>!e.isInExceptSuite)).length&&(p=(p=u.getDeclarations()).filter(e=>!e.isInExceptSuite)),0===p.length&&(p=u.getDeclarations()),0===p.length)return;let c=a,h=p.filter(e=>!s.includes(e));if(a=h.length>0?h[h.length-1]:p[p.length-1],(null==d?void 0:d.isInPyTypedPackage)&&(l?u.isPrivatePyTypedImport()||(r=null!=r?r:null==a?void 0:a.moduleName):(u.isPrivatePyTypedImport()&&(n=null==c?void 0:c.moduleName),l=!0)),s.find(e=>e===a)){if(a.type===aF.h3.Alias&&a.submoduleFallback)return await rk(e,a.submoduleFallback,i);return{declaration:t,isPrivate:o,privatePyTypedImported:r,privatePyTypedImporter:n}}s.push(a)}}let rI={runWithCancellationToken:function(e,t){let i,r=l;try{if(l=e,i=t(),!(0,n2.Qg)(i))return i;return i.finally(()=>{l=r})}finally{(0,n2.Qg)(i)||(l=r)}},getType:P,getTypeResult:async function e(e){return await iT(e,async()=>{await D(e)})},getTypeOfExpression:D,getTypeOfAnnotation:j,getTypeOfClass:tQ,createSubclass:async function e(e,t,i){var n,a;(0,n6.vA)((0,aM.dL)(t)&&(0,aM.dL)(i));let s=!1;aM.Ab.getInstantiableDepth(t)>0&&aM.Ab.getInstantiableDepth(i)>0&&(t=aM.p5.cloneAsInstance(t),i=aM.p5.cloneAsInstance(i),s=!0);let o=`<subclass of ${await rb((0,aX.gU)(t),{omitTypeArgsIfUnknown:!0})} and ${await rb((0,aX.gU)(i),{omitTypeArgsIfUnknown:!0})}>`,l=await r.getFileInfo(e),d=t.shared.effectiveMetaclass;i.shared.effectiveMetaclass&&(!d||await re(d,i.shared.effectiveMetaclass))&&(d=i.shared.effectiveMetaclass);let u=aM.p5.createInstantiable(o,aL.NJ(e,l.moduleName,o),l.moduleName,l.fileUri,aM.aF.None,aL.pj(e),void 0,d,t.shared.docString);return u.shared.baseClasses=[t,i],(0,aX.VS)(u),u=(0,aX.cH)(u,null==(n=t.props)?void 0:n.condition),u=(0,aX.cH)(u,null==(a=i.props)?void 0:a.condition),s&&(u=aM.p5.cloneAsInstantiable(u)),u},getTypeOfFunction:t6,getTypeOfExpressionExpectingType:iS,getExpectedType:x,canBeTruthy:V,canBeFalsy:K,stripLiteralValue:B,removeTruthinessFromType:q,removeFalsinessFromType:G,solveAndApplyConstraints:H,isSpecialFormClass:rn,getDeclInfoForStringNode:iU,getDeclInfoForNameNode:iz,getTypeForDeclaration:iW,resolveAliasDeclaration:iV,getTypeOfIterator:et,getGetterTypeFromProperty:async function e(e){if(aM.p5.isPropertyClass(e)&&e.priv.fgetInfo)return await i0(e.priv.fgetInfo.methodType)},getTypeOfArg:iw,convertNodeToArg:function(e){return{argCategory:e.d.argCategory,name:e.d.name,valueExpression:e.d.valueExpr}},expandPromotionTypes:async function e(t,i,r=!1){return await l5(i,async e=>{if(!(0,aM.D4)(e)||!e.priv.includePromotions||void 0!==e.priv.literalValue||r&&aM.p5.isBuiltIn(e,"bytes"))return e;let i=[aM.p5.cloneRemoveTypePromotions(e)],n=pz.get(e.shared.fullName);if(n)for(let r of n){let n=r.split("."),s=await iP(t,n[n.length-1]);if(s&&(0,aM.dL)(s)){var a;s=aM.p5.cloneRemoveTypePromotions(s),(0,aM.aE)(e)&&(s=aM.p5.cloneAsInstance(s)),s=(0,aX.cH)(s,null==(a=e.props)?void 0:a.condition),i.push(s)}}return(0,aM.Do)(i)})},makeTopLevelTypeVarsConcrete:em,mapSubtypesExpandTypeVarsAsync:ey,lookUpSymbolRecursive:iF,getDeclaredTypeOfSymbol:iX,getEffectiveTypeOfSymbol:iG,getInferredTypeOfDeclaration:iK,getDeclaredReturnType:i4,getInferredReturnType:async function e(e){return(await i5(e)).type},getBestOverloadForArgs:async function e(e,t,i){let r,n=0,a=[],s=eY(e);return await iD(e,async()=>{await lH(aM.OF.getOverloads(t.type),async r=>{await iE(s,async()=>{let s=await te(e,i,{type:r,isIncomplete:t.isIncomplete},n);s.argumentErrors||a.push(s),n++})})}),await lH(a,async(t,i)=>{void 0===r&&await iE(s,async()=>{let n=await tr(e,t,new lN.w,!0);n&&!n.argumentErrors&&(r=i)})}),void 0===r?void 0:a[r].overload},getBuiltInType:iP,warmupPrefetchedTypes:F,getTypeOfMember:i3,getTypeOfBoundMember:J,getBoundMagicMethod:Y,getTypeOfMagicMethodCall:t_,bindFunctionToClassOrObject:rm,getCallbackProtocolType:ru,getCallSignatureInfo:Q,getAbstractSymbols:async function e(e){let t=new Map;await lH(aM.p5.getReverseMro(e),async e=>{(0,aM.dL)(e)&&await lH(await l9(e),async(i,r)=>{let n=await e3(e,r);n?t.set(r,n):t.delete(r)})});let i=[];return t.forEach(e=>{i.push(e)}),i},isTypeComparable:async function e(t,i,r=!1){if((0,aM.ah)(t)||(0,aM.ah)(i))return!0;if((0,aM.Pd)(t)||(0,aM.Pd)(i))return!1;if((0,aM.FS)(t)||(0,aM.FS)(i))return(0,aM.J5)(t,i,{ignoreConditions:!0});let n=(0,aM.BL)(t),a=(0,aM.BL)(i);if(n||a)return!0;if((0,aM.dL)(t)||(0,aM.aE)(t)&&aM.p5.isBuiltIn(t,"type")){if((0,aM.dL)(i)||(0,aM.aE)(i)&&aM.p5.isBuiltIn(i,"type")){let e=aM.p5.specialize(t,void 0),r=aM.p5.specialize(i,void 0);if(await re(e,r)||await re(r,e))return!0}let e=t.shared.effectiveMetaclass;return!!(e&&(0,aM.D4)(e)&&(0,aX.Zn)(e,"__eq__",aX.Mh.SkipObjectBaseClass))}if((0,aM.aE)(t)){if((0,aM.D4)(i)){let e=aM.p5.specialize(t,void 0),n=aM.p5.specialize(i,void 0);if(await re(e,n)||await re(n,e))return!0;if(r&&(0,aX.Lj)(i))return!!(0,aX.Lj)(t)||await re(t,i);if(aM.p5.isBuiltIn(t)&&aM.p5.isBuiltIn(i)&&aM.Ab.isInstance(i)){let e,r;if(aM.p5.isBuiltIn(t,"bool")&&aM.p5.isBuiltIn(i,"int")?(e=t,r=i):aM.p5.isBuiltIn(i,"bool")&&aM.p5.isBuiltIn(t,"int")&&(e=i,r=t),e&&r){var s,o;let t=null==(s=r.priv)?void 0:s.literalValue;if(void 0===t)return!0;if(0!==t&&1!==t)return!1;let i=null==(o=e.priv)?void 0:o.literalValue;return void 0===i||i===(1===t)}return!1}}let e=(0,aX.Zn)(aM.p5.cloneAsInstantiable(t),"__eq__",aX.Mh.SkipObjectBaseClass);return!!e&&!(aM.p5.isDataClass(t)&&e.symbol.getSynthesizedType())}return!0},assignType:re,validateCallArgs:e1,validateTypeArg:tU,getTypedDictClassType:function(){return(null==n?void 0:n.typedDictPrivateClass)&&(0,aM.dL)(n.typedDictPrivateClass)?n.typedDictPrivateClass:void 0},getTupleClassType:er,getDictClassType:function(){return(null==n?void 0:n.dictClass)&&(0,aM.dL)(n.dictClass)?n.dictClass:void 0},getStrClassType:function(){return(null==n?void 0:n.strClass)&&(0,aM.dL)(n.strClass)?n.strClass:void 0},getObjectType:en,getNoneType:ea,getUnionClassType:function(){var e;return null!=(e=null==n?void 0:n.unionTypeClass)?e:aM.vn.create()},getTypeClassType:es,getBuiltInObject:ix,getTypingType:eo,assignTypeArgs:i9,inferReturnTypeIfNecessary:iZ,inferVarianceForClass:t0,isFinalVariableDeclaration:rg,isExplicitTypeAliasDeclaration:rf,printType:rb,printFunctionParts:async function(e,i){let r=i?t.printTypeFlags|i:t.printTypeFlags;return await pC(e,r,i0)},disposeEvaluator:function(){c=new Map,h=new Map,m=new Map},useSpeculativeModeAsync:iE,isSpeculativeModeInUse:iR,setTypeResultForNode:b,buildTupleTypesList:function(e,t,i){let r=[];for(let n of e){let e;if((0,aM.q5)(n.type)&&(e=n.type),e&&(0,aM.aE)(e)&&e.priv.tupleTypeArgs){let t=e.priv.tupleTypeArgs;t?(0,ap.af)(r,t):r.push({type:aM.vn.create(),isUnbounded:!0})}else if((0,aM.Pd)(n.type)&&n.isIncomplete)r.push({type:aM.vn.create(!0),isUnbounded:!1});else{let e=eC(n.type,lO.WB.None,i);e=t?(0,aX.$o)(B(e)):e,r.push({type:e,isUnbounded:!0})}}if(r.filter(e=>e.isUnbounded).length>1){let e=r.findIndex(e=>e.isUnbounded),t=r.splice(e);r.push({type:(0,aM.Do)(t.map(e=>e.type)),isUnbounded:!0})}return r},assignTypeToExpression:ef};return rI}function p$(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class pj{async getType(e){return e.kind===iE.TypeKind.TypeReference?this.getTypeReference(e.typeReferenceId):await pQ(e,this,this.symbolLookup)}getTypeShell(e){return this._cycleMap.get(e.id)||aM.vn.create()}getTypeReference(e){let t=this._cycleMap.get(e);return!t||aM.t8(t)&&t.priv.isIncomplete?aM.vn.create():t}getEvaluator(){return this._evaluator}async getProgramSnapshot(){return await this._program.getSnapshot(ad.CancellationToken.None)}constructor(e,t,i,r,n){p$(this,"_cycleMap",void 0),p$(this,"provider",void 0),p$(this,"symbolLookup",void 0),p$(this,"_evaluator",void 0),p$(this,"_program",void 0),this._cycleMap=e,this.provider=t,this.symbolLookup=i,this._evaluator=r,this._program=n}}async function pK(e,t,i,r){var n;if((t.flags&(n=iE.TypeFlags.Literal))===n&&await pV(e,t.literalValue,i),aM.D4(e)&&lz(t)&&t.typeArgs){if(e.priv.tupleTypeArgs){for(let n=0;n<t.typeArgs.length;n++){let a=t.typeArgs[n];e.priv.tupleTypeArgs[n].type=await pQ(a,i,r),e.priv.tupleTypeArgs[n].isUnbounded=(a.flags&iE.TypeFlags.Unbound)!=0,e.priv.tupleTypeArgs[n].isOptional=(a.flags&iE.TypeFlags.Optional)!=0}e.priv.typeArgs=[(0,aX.fP)(e.priv.tupleTypeArgs)]}else if(e.priv.typeArgs)for(let n=0;n<t.typeArgs.length;n++)e.priv.typeArgs[n]=await pQ(t.typeArgs[n],i,r)}}async function pV(e,t,i){if(void 0!==t&&aM.D4(e)&&e.priv.literalValue){var r;if(t&&void 0!==t.moduleName&&void 0!==t.className){let r=lK(t.classNode,i.provider),n=new aM._W((0,aL.NJ)(r,t.moduleName,t.className),t.className);e.priv.literalValue=n;return}if(lL(t)){let n=new aM.RR("Not Used",t.className,t.itemName,null!=(r=await i.getType(t.itemType))?r:aM.vn.create(),u$(e));e.priv.literalValue=n;return}e.priv.literalValue=t}}async function pq(e,t,i){var r,n;let a;if(!t)return;let s={shared:{name:t.name,fullName:t.fullName,moduleName:t.moduleName,fileUri:hJ(t.fileUri,i.provider,i.provider.uriMapper),typeVarScopeId:t.scopeId,isTypeAliasType:t.isTypeAliasType,typeParams:await lW(t.typeParams,i),computedVariance:null==(r=t.computedVariance)?void 0:r.map(e=>{var t;return null!=(t=function(e){if(void 0!==e){switch(e){case iE.Variance.Auto:return aM.id.Auto;case iE.Variance.Unknown:break;case iE.Variance.Invariant:return aM.id.Invariant;case iE.Variance.Covariant:return aM.id.Covariant;case iE.Variance.Contravariant:return aM.id.Contravariant;default:n6.xb(e)}return aM.id.Unknown}}(e))?t:aM.id.Unknown})},typeArgs:await lW(t.typeArgs,i)};if(s.shared.typeVarScopeId&&s.shared.typeParams){let e=s.shared.typeVarScopeId,t=s.shared.name,i=aM.O1.TypeAlias;s.shared.typeParams=s.shared.typeParams.map(r=>{if(!aM.CP(r)||r.priv.scopeId===e)return r;let n=aM.Ab.isInstance(r)?aM.Kn.cloneAsInstantiable(r):r,a=aM.Kn.cloneForScopeId(n,e,t,i);return aM.Kn.cloneAsInstance(a)})}n={typeAliasInfo:s},a=aM.Ab.addProps(e),void 0!==n.instantiableDepth&&(a.instantiableDepth=n.instantiableDepth),void 0!==n.typeAliasInfo&&(a.typeAliasInfo=n.typeAliasInfo)}async function pG(e,t,i){if(!aM.Tn(e))return e;if(e.priv.specializedTypes=await pJ(t.specializedTypes,i),aM.Tn(e)&&e.shared.typeVarScopeId&&e.priv.specializedTypes){var r;let t=e.shared.typeVarScopeId,i=null!=(r=e.shared.name)?r:void 0,n=aM.O1.Function;if(e.priv.specializedTypes.parameterTypes=e.priv.specializedTypes.parameterTypes.map(e=>{if(!aM.CP(e))return e;if(aM.Ab.isInstance(e)){let r=aM.Kn.cloneAsInstantiable(e),a=aM.Kn.cloneForScopeId(r,t,i,n);return aM.Kn.cloneAsInstance(a)}return aM.Kn.cloneForScopeId(e,t,i,n)}),e.priv.specializedTypes.returnType&&aM.CP(e.priv.specializedTypes.returnType)){let r=e.priv.specializedTypes.returnType;if(aM.Ab.isInstance(r)){let a=aM.Kn.cloneAsInstantiable(r),s=aM.Kn.cloneForScopeId(a,t,i,n);e.priv.specializedTypes.returnType=aM.Kn.cloneAsInstance(s)}else e.priv.specializedTypes.returnType=aM.Kn.cloneForScopeId(r,t,i,n)}}let n=await l$(t.boundToType,i);return n?aM.RK.clone(e,!0,n):e}async function pH(e,t,i){var r,n,a,s;if(!t||!aM.Tn(e)||e.shared.declaredReturnType||e.shared.inferredReturnType||(null==(r=e.priv.specializedTypes)?void 0:r.returnType))return;let o=e.shared.inferredReturnType,l=null==o?void 0:o.type;if(l&&aM.CP(l)&&l.priv.scopeId)return;let d=await i.getType(t);if(aM.CP(d)){let t=null==(n=e.priv.specializedTypes)?void 0:n.returnType;if(t&&aM.CP(t)&&t.priv.scopeId){e.shared.inferredReturnType={type:t};return}let i=null==(a=e.priv.specializedTypes)?void 0:a.parameterTypes;if(i&&d.shared&&i.length>0){let t=i.find(e=>aM.CP(e)&&!!e.shared&&e.shared.name===d.shared.name&&!!e.priv.scopeId);if(t){let i=t,r=aM.Ab.isInstance(d),n=aM.Ab.isInstance(t);r&&!n?i=aM.Kn.cloneAsInstance(t):!r&&n&&(i=aM.Kn.cloneAsInstantiable(t)),e.shared.inferredReturnType={type:i};return}}if(!d.priv.scopeId&&e.shared.typeVarScopeId){let t=e.shared.typeVarScopeId,i=null!=(s=e.shared.name)?s:void 0,r=aM.O1.Function;if(aM.Ab.isInstance(d)){let n=aM.Kn.cloneAsInstantiable(d),a=aM.Kn.cloneForScopeId(n,t,i,r);e.shared.inferredReturnType={type:aM.Kn.cloneAsInstance(a)}}else{let n=aM.Kn.cloneForScopeId(d,t,i,r);e.shared.inferredReturnType={type:n}}return}}e.shared.inferredReturnType={type:d}}async function pJ(e,t){if(e)return{parameterTypes:await lB(e.parameterTypes,t),parameterDefaultTypes:e.parameterDefaultTypes?await lJ(e.parameterDefaultTypes,e=>l$(e,t)):void 0,returnType:await l$(e.returnType,t)}}async function pY(e,t){let i;if(!e)return;let r=t.split("."),n=e;for(let e of r){var a;if(!n||!(i=n.get(e)))return;n=null==(a=(0,sY.Yd)(i.getDeclarations()[0].node))?void 0:a.symbolTable}return i}async function pQ(e,t,i){switch(e.kind){case iE.TypeKind.BuiltIn:if("unknown"===e.name){let r=t.getTypeShell(e);if(await pK(r,e,t,i),!aM.t8(r))return r;return r.priv.possibleType=await l$(e.possibleType,t),r}return t.getTypeShell(e);case iE.TypeKind.Class:{let r=t.getTypeShell(e);if(await pK(r,e,t,i),aM.D4(r)){await pq(r,e.typeAliasInfo,t);let i=r.shared;i.synthesizeMethodsDeferredAsync&&await i.synthesizeMethodsDeferredAsync()}return r}case iE.TypeKind.Function:{let r=t.getTypeShell(e);return await pK(r,e,t,i),aM.Tn(r)&&(await pq(r,e.typeAliasInfo,t),r=await pG(r,e,t),await pH(r,e.returnType,t)),r}case iE.TypeKind.Declared:{let r=t.getTypeShell(e);return await pK(r,e,t,i),r}case iE.TypeKind.Union:{let r=t.getTypeShell(e);if(await pK(r,e,t,i),!aM.mi(r))return r;return await pq(r,e.typeAliasInfo,t),r.priv.subtypes=await lB(e.subTypes,t),r}case iE.TypeKind.Module:{let r=t.getTypeShell(e);if(await pK(r,e,t,i),!aM.FS(r))return r;let n=await t.symbolLookup.getSymbolsForFile(r.priv.fileUri),a=t.provider.getParserOutput(r.priv.fileUri);return n&&a&&(r.priv.fields=n,r.priv.docString=(0,aL.uf)(a.parseTree.d.statements),r.priv.notPresentFieldType=aM.vn.create()),r}case iE.TypeKind.Overloaded:{let r=t.getTypeShell(e);if(await pK(r,e,t,i),!aM.Gl(r))return r;return r.priv._overloads=await lB(e.overloads,t),r.priv._implementation=await l$(e.implementation,t),r}case iE.TypeKind.Synthesized:{var r,n,a;let s,o,l,d,u=t.getTypeShell(e);(null==(r=e.metadata)?void 0:r.module)&&(s=await pQ(e.metadata.module,t,i))&&(o=s.priv.fileUri);let{uri:p,parseResults:c}=t.provider.addStubCode(e.stubContent,o);await t.symbolLookup.getSymbolsForFile(p);let h=t.getEvaluator(),m=e.metadata.primaryDefinitionOffset,y=(0,aL.gr)(c.parseTree,m);for(;y;){if(y.nodeType===aO.ye.Function||y.nodeType===aO.ye.Class||y.nodeType===aO.ye.Assignment||y.nodeType===aO.ye.TypeAnnotation){l=y;break}y=y.parent}if(!l)return u;if(l.nodeType===aO.ye.Assignment){let e=l;if(e.d.leftExpr.nodeType===aO.ye.Name){let t=e.d.leftExpr;d=await h.getType(t)}}else if(l.nodeType===aO.ye.Function){let e=await h.getTypeOfFunction(l);if((d=null==e?void 0:e.functionType)&&aM.Tn(d)&&d.shared.methodClass&&s){let e=await i.getSymbolsForFile(s.priv.fileUri),t=await pY(e,d.shared.methodClass.shared.name);if(t){let e=await h.getEffectiveTypeOfSymbol(t);e&&aM.D4(e)&&(d.shared.methodClass=e)}}else if(d&&aM.Tn(d)&&d.shared.parameters.length>0&&void 0===d.shared.methodClass){let e=d.shared.parameters[0];e&&e._type&&"self"===e.name&&e._type.category===aM.vb.TypeVar&&(e._type={...e._type,shared:{...e._type.shared},priv:{...e._type.priv},props:{...e._type.props}},e._type.shared.isSynthesized=!0,e._type.shared.isSynthesizedSelf=!0)}}else if(l.nodeType===aO.ye.TypeAnnotation){let t=e.stubContent.slice(e.metadata.primaryDefinitionOffset).match(/^x:\s*(.+)/),i=null==t||null==(n=t[1])?void 0:n.trim();(!(d=await h.getType(l.d.annotation))||aM.t8(d)||aM.D4(d)&&!(null==(a=d.priv.typeArgs)?void 0:a.length)&&(null==i?void 0:i.includes("[")))&&i&&(d=pX(i))}else{let e=await h.getTypeOfClass(l);d=null==e?void 0:e.classType}if(!d)return u;return aM.D4(d)&&(e.flags&iE.TypeFlags.Instance)!=0&&(d=aM.p5.cloneAsInstance(d)),u.category=d.category,u.shared=d.shared,u.priv=d.priv,u.props=d.props,u.flags=d.flags,u}case iE.TypeKind.TypeVar:{let r=t.getTypeShell(e);return await pK(r,e,t,i),r}case iE.TypeKind.TypeReference:return t.getTypeReference(e.typeReferenceId)}return aM.vn.create()}function pX(e){if(e.startsWith("<class '")&&e.endsWith("'>"))return pZ(e.slice(8,-2));if(e.startsWith("type[")&&e.endsWith("]")){let t=pX(e.slice(5,-1));return aM.D4(t)&&!aM.Ab.isInstantiable(t)?aM.p5.cloneAsInstantiable(t):t}if(e.startsWith("Literal[")&&e.endsWith("]"))return function(e){if(/^-?\d+$/.test(e)){let t=aM.p5.cloneAsInstance(pZ("int"));return aM.p5.cloneWithLiteral(t,BigInt(e))}if(e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"')){let t=aM.p5.cloneAsInstance(pZ("str"));return aM.p5.cloneWithLiteral(t,e.slice(1,-1))}if("True"===e||"False"===e){let t=aM.p5.cloneAsInstance(pZ("bool"));return aM.p5.cloneWithLiteral(t,"True"===e)}return aM.vn.create()}(e.slice(8,-1).trim());if("None"===e){let e=pZ("NoneType");return aM.p5.cloneAsInstance(e)}let t=e.indexOf("[");if(-1!==t&&e.endsWith("]")){let i=e.slice(0,t),r=function(e){let t=[],i=0,r="";for(let n of e)"["===n?(i++,r+=n):"]"===n?(i--,r+=n):","===n&&0===i?(t.push(r.trim()),r=""):r+=n;return r.trim()&&t.push(r.trim()),t}(e.slice(t+1,-1)),n=pZ(i),a=r.map(e=>{let t=pX(e.trim());return aM.D4(t)&&aM.Ab.isInstantiable(t)?aM.p5.cloneAsInstance(t):t});return aM.p5.specialize(n,a)}return pZ(e)}function pZ(e){return aM.p5.createInstantiable(e,"","",n4.z.empty(),aM.aF.None,0,void 0,void 0)}function p0(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class p1{set(e,t){return this._cycleMap.set(e.id,t),t}async getType(e){return e.kind===iE.TypeKind.TypeReference?this.getTypeReference(e.typeReferenceId):await p7(e,this,this.symbolLookup)}getTypeReference(e){return this._cycleMap.get(e)||aM.vn.create(!0)}constructor(e,t,i,r){p0(this,"_cycleMap",void 0),p0(this,"provider",void 0),p0(this,"evaluator",void 0),p0(this,"symbolLookup",void 0),this._cycleMap=e,this.provider=t,this.evaluator=i,this.symbolLookup=r}}async function p5(e,t){return e?await p4(e,t):e}async function p4(e,t){var i,r,n;if(e&&(e.flags&(i=aM.eS.Instantiable))===i&&(t.flags&(r=iE.TypeFlags.Instance))===r&&(e=function(e){switch(e.category){case aM.vb.Class:return aM.p5.cloneAsInstance(e);case aM.vb.Function:return aM.RK.cloneAsInstance(e);case aM.vb.TypeVar:return aM.Kn.cloneAsInstance(e);case aM.vb.Overloaded:case aM.vb.Module:case aM.vb.Never:case aM.vb.Union:case aM.vb.Any:case aM.vb.Unknown:case aM.vb.Unbound:}return e}(e)),e&&(t.flags&(n=iE.TypeFlags.Literal))===n){let t=e,i=new aM._W("placeholder","placeholder");e=aM.p5.cloneWithLiteral(t,i)}if(aM.D4(e)&&lz(t)&&t.typeArgs){let i=t.typeArgs,r=e;if(i.length>0&&(r.shared.flags&aM.aF.HasCustomClassGetItem)!=0&&(r=aM.p5.cloneWithNewFlags(r,r.shared.flags&~aM.aF.HasCustomClassGetItem)),aM.p5.isBuiltIn(r,"tuple")||i.some(e=>(e.flags&iE.TypeFlags.Unbound)!=0)||i.some(e=>(e.flags&iE.TypeFlags.Optional)!=0)){let e=i.map(()=>({type:aM.vn.create(),isUnbounded:!1,isOptional:!1}));r=(0,aX.K4)(r,e)}else r=aM.p5.specialize(r,i.map(()=>aM.vn.create()));e=r}return e}async function p3(e,t){lz(e)&&await lW(e.typeArgs,t)}async function p8(e,t){e&&(await lW(e.typeParams,t),await lW(e.typeArgs,t))}async function p2(e,t,i){void 0!==e&&lL(e)&&await p7(e.itemType,t,i)}async function p6(e,t){e&&(await lB(e.parameterTypes,t),await l$(e.returnType,t),e.parameterDefaultTypes&&await lH(e.parameterDefaultTypes,async e=>{await l$(e,t)}))}async function p7(e,t,i){var r,n,a,s,o,l,d;switch(e.kind){case iE.TypeKind.BuiltIn:switch(e.name){case"unknown":{let i=await l$(e.possibleType,t);return t.set(e,i?aM.vn.createPossibleType(i,!1):aM.vn.create())}case"any":return t.set(e,aM.V.create());case"ellipsis":return t.set(e,aM.V.create(!0));case"unbound":return t.set(e,aM.Ui.create());case"never":return t.set(e,aM.Xl.createNever());case"noreturn":return t.set(e,aM.Xl.createNoReturn())}return t.set(e,aM.vn.create());case iE.TypeKind.Class:{if(!e.declaration)return t.set(e,aM.vn.create());let s=await lq(e.declaration,t.provider,i);if(!s){let i=e.display;if(i){let r=pX(i),a=null!=(n=await p5(r,e))?n:aM.vn.create();return t.set(e,a),await p3(e,t),a}return t.set(e,aM.vn.create())}let o=await t.evaluator.getTypeForDeclaration(s),l=e.display;if(o.type&&aM.D4(o.type)&&l&&o.type.shared.name!==l){let i=pX(l);if(i){let r=null!=(a=await p5(i,e))?a:aM.vn.create();return t.set(e,r),await p3(e,t),r}}if(o.type&&aM.D4(o.type)&&aM.p5.isBuiltIn(o.type,"TypedDictFallback")){let e=aM.p5.cloneForTypingAlias(o.type,"TypedDict");(e.shared.flags&aM.aF.SupportsAbstractMethods)!=0&&(e=aM.p5.cloneWithNewFlags(e,e.shared.flags&~aM.aF.SupportsAbstractMethods)),o={...o,type:e}}let d=null!=(r=await p5(o.type,e))?r:aM.vn.create();return t.set(e,d),await p3(e,t),await p8(e.typeAliasInfo,t),await p2(e.literalValue,t,i),d}case iE.TypeKind.Function:{if(!e.declaration)return t.set(e,aM.vn.create());let r=await lq(e.declaration,t.provider,i);if(!r){let i=e.display;if(i){let r=pX(i),n=null!=(o=await p5(r,e))?o:aM.vn.create();return t.set(e,n),n}return t.set(e,aM.vn.create())}let n=(await t.evaluator.getTypeForDeclaration(r)).type;if(n&&!aM.Tn(n)&&r.type===aF.h3.Function&&r.node.nodeType===aO.ye.Function){let e=await t.evaluator.getTypeOfFunction(r.node);(null==e?void 0:e.functionType)&&(n=e.functionType)}let a=null!=(s=await p5(n,e))?s:aM.vn.create();return t.set(e,a),await p8(e.typeAliasInfo,t),await p6(e.specializedTypes,t),await l$(e.boundToType,t),await l$(e.returnType,t),a}case iE.TypeKind.Declared:{let r=await lq(e.declaration,t.provider,i);if(!r)return t.set(e,aM.vn.create());let n=await t.evaluator.getTypeForDeclaration(r),a=null!=(l=await p5(n.type,e))?l:aM.vn.create();return t.set(e,a),a}case iE.TypeKind.Union:{let i=await lB(e.subTypes,t),r=aM.Do(i),n=await p4(r,e);return t.set(e,n),await p8(e.typeAliasInfo,t),n}case iE.TypeKind.Module:{let i=aM.nR.create(e.moduleName,hJ(e.uri,t.provider,t.provider.uriMapper)),r=await p4(i,e);return t.set(e,r),r}case iE.TypeKind.Overloaded:{let i=aM.OF.create([]),r=await p4(i,e);return t.set(e,r),await lB(e.overloads,t),await l$(e.implementation,t),r}case iE.TypeKind.Synthesized:{let i=aM.vn.create(!0);return t.set(e,i)}case iE.TypeKind.TypeVar:{if(!e.declaration)return t.set(e,aM.vn.create());let r=await lq(e.declaration,t.provider,i);if(!r)return t.set(e,aM.vn.create());let n=(await t.evaluator.getTypeForDeclaration(r)).type;if((!n||aM.t8(n))&&r.type===aF.h3.Variable){let e=r.node;if(e.nodeType===aO.ye.Name){let r=await i.lookupSymbol(e,e.d.value);if(r){let e=await t.evaluator.getEffectiveTypeOfSymbol(r);aM.CP(e)&&(n=e)}}}let a=null!=(d=await p5(n,e))?d:aM.vn.create();return aM.CP(a)&&(e.flags&iE.TypeFlags.Instance)!=0&&(a.flags=(a.flags|aM.eS.Instance)&~aM.eS.Instantiable),t.set(e,a),a}case iE.TypeKind.TypeReference:return t.getTypeReference(e.typeReferenceId)}return aM.vn.create()}function p9(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function ce(e){if(0===e.length)return{leadingDots:0,nameParts:[]};let t=0,i=0;for(;t<e.length&&"."===e[t];t++)i++;return{leadingDots:i,nameParts:e.slice(t).split(".")}}class ct{async getType(e){return await this._typeShellFactory.getType(e),await this._typeProvider.getType(e)}constructor(e,t,i){p9(this,"parseOutputProvider",void 0),p9(this,"_cycleMap",void 0),p9(this,"_typeShellFactory",void 0),p9(this,"_typeProvider",void 0),this.parseOutputProvider=e,this._cycleMap=new Map,this._typeShellFactory=new p1(this._cycleMap,e,t,i),this._typeProvider=new pj(this._cycleMap,e,i,t,e)}}function ci(e){if(aO.TE(e))return e;class t extends aE.gw{getResult(){return this._result}visitNode(e){return aO.TE(e)?(this._result=e,[]):super.visitNode(e)}constructor(...e){super(...e),p9(this,"_result",void 0)}}let i=new t;return i.walk(e),i.getResult()}function cr(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}(iR||(iR={})).create=function(){let e=new Set;return{event:t=>(e.add(t),{dispose:()=>e.delete(t)}),fire:t=>{for(let i of e)i(t)},dispose:()=>e.clear()}};class cn{get snapshot(){return this._snapshot}get snapshotChanged(){return this._snapshotEmitter.event}get fs(){return this._serviceProvider.fs()}get uriMapper(){return this._serviceProvider.tryGet(nM.uriMapper)}getTypeName(e){return(0,aM.D4)(e)||(0,aM.Tn)(e)||(0,aM.CP)(e)?e.shared.name:"unknown"}getUri(e){var t,i;return(0,n6.vA)((0,ax.R8)(e),"Node must have file info"),null!=(t=null==(i=(0,ax.R8)(e))?void 0:i.fileUri)?t:n4.z.file("",this._serviceProvider)}getParserOutput(e){return this._getParserOutput(e)}isCaseSensitive(e){return this._serviceProvider.get(n7.y.caseSensitivityDetector).isCaseSensitive(e)}incrementSnapshot(){return this._snapshot++,this._snapshotEmitter.fire(this._snapshot),this._snapshot}constructor(e,t){cr(this,"_serviceProvider",void 0),cr(this,"_getParserOutput",void 0),cr(this,"_snapshot",void 0),cr(this,"_snapshotEmitter",void 0),this._serviceProvider=e,this._getParserOutput=t,this._snapshot=-1,this._snapshotEmitter=iR.create()}}function ca(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class cs{get id(){return this._program.id}get rootPath(){return this._program.rootPath}get console(){return this._program.console}get configOptions(){return this._program.configOptions}get fs(){return this._program.fileSystem}get fileSystem(){return this._program.fileSystem}get serviceProvider(){return this._program.serviceProvider}get uriMapper(){return this._program.serviceProvider.tryGet(nM.uriMapper)}get isAlive(){return!0}get isPyright(){return!0}get performsAnalysis(){return!0}get symbolLookup(){return{getFileInfo:e=>Promise.resolve((0,ax.R8)(e)),getSymbolsForFile:e=>{this._program.addInterimFile(e);let t=this._program.getSourceFile(e);return t&&(t.isCheckingRequired()||t.isBindingRequired())&&this._program.analyzeFile(e,ad.CancellationToken.None),Promise.resolve(this._program.getModuleSymbolTable(e))},getSymbolsForNode:e=>{let t=(0,sY.Yd)(e);return Promise.resolve(null==t?void 0:t.symbolTable)},lookupSymbol:(e,t)=>Promise.resolve(lV(e,t))}}async runEditModeAsync(e,t){let i=[];if(this._inEditMode)throw new lg;this._inEditMode=!0,this._program.enterEditMode();try{var r;await (null==(r=this._program.evaluator)?void 0:r.runWithCancellationToken(t,()=>e(this)))}finally{i=this._program.exitEditMode(),this._inEditMode=!1}return i}enterEditMode(){this._program.enterEditMode()}exitEditMode(){return this._program.exitEditMode()}async runAsync(e,t){return await this._program.run(t=>e(this),t)}getEvaluator(e){if(e!==this._cache.snapshot)throw new lg;return this._asyncEvaluator||(this._asyncEvaluator=pB(async(e,t)=>this._program.lookUpImport(e,t),{printTypeFlags:(0,dP.$z)(this.configOptions),logCalls:this.configOptions.logTypeEvaluationTime,minimumLoggingThreshold:this.configOptions.typeEvaluationTimeThreshold,evaluateUnknownImportsAsAny:!!this.configOptions.evaluateUnknownImportsAsAny,verifyTypeCacheEvaluatorFlags:!!this.configOptions.internalTestMode},this,this.symbolLookup,e,this.console)),this._asyncEvaluator}async getSourceMapper(e,t,i,r,n){let a=this._program.getSourceMapper(e,n,t,i);return{findDeclarations:async e=>a?a.findDeclarations(e):[],findDeclarationsByType:async(e,t,i)=>a?a.findDeclarationsByType(e,t,i):[],findClassDeclarationsByType:async(e,t)=>a?a.findClassDeclarationsByType(e,t):[],findFunctionDeclarations:async e=>a?a.findFunctionDeclarations(e):[],getSourcePathsFromStub:async(e,t)=>a?a.getSourcePathsFromStub(e,t):[],getModuleNode:async e=>a?a.getModuleNode(e):void 0,findModules:async e=>a?a.findModules(e):[]}}getUri(e){return this._cache.getUri(e)}isCaseSensitive(e){return this._cache.isCaseSensitive(e)}ensureFileAnalyzed(e,t){if(!this._program.getSourceFile(e))return;this._program.analyzeFile(e,t);let i=this._program.getParserOutput(e);(null==i?void 0:i.parseTree)&&this._program.run(e=>{let t=ci(i.parseTree);if(t){var r;null==(r=e.evaluator)||r.getType(t)}},t)}async getComputedType(e,t,i){this._throwIfOutOfDate(t,i);let r=this._program.run(t=>{if(l6(e))return function(e,t){var i;let r=null==e||null==(i=e.getTypeForDeclaration(t))?void 0:i.type;if(r)return r;if(!t.node)return;let n=lG(t);if(void 0===n)return;let a=function(e,t){var i;let r=e.nodeType===aO.ye.Parameter&&null!=(i=e.d.name)?i:e,n=(0,sY.Yd)(r);if(n)return n.lookUpSymbol(t)}(t.node,n);if(a)return null==e?void 0:e.getInferredTypeOfDeclaration(a,t)}(t.evaluator,e);if((0,aO.TE)(e)){var i;return null==(i=t.evaluator)?void 0:i.getType(e)}},i);return this._massageTypeResult(r)}async getExpectedType(e,t,i){this._throwIfOutOfDate(t,i);let r=this._program.run(t=>{var i,r,n,a;return l6(e)?null==(r=t.evaluator)||null==(i=r.getTypeForDeclaration(e))?void 0:i.type:(0,aO.TE)(e)?null==(a=t.evaluator)||null==(n=a.getExpectedType(e))?void 0:n.type:void 0},i);return this._massageTypeResult(r)}async getDeclaredType(e,t,i){this._throwIfOutOfDate(t,i);let r=this._program.run(t=>{var i,r,n;return l6(e)?null==(r=t.evaluator)||null==(i=r.getTypeForDeclaration(e))?void 0:i.type:(0,aO.TE)(e)?null==(n=t.evaluator)?void 0:n.getType(e):void 0},i);return this._massageTypeResult(r)}async startProfiling(){let e=this.serviceProvider.tryGet(nM.profilingService),t=null==e?void 0:e.startProfiling();return t?await t:void 0}async stopProfiling(){let e=this.serviceProvider.tryGet(nM.profilingService),t=null==e?void 0:e.stopProfiling();return t?await t:void 0}async startWorkspaceDiagnostics(e){}async stopWorkspaceDiagnostics(){}getPythonSearchPaths(e,t){this._throwIfOutOfDate(e,t);let i=this._getExecEnv(this._program.rootPath);return this._cachedSearchPaths||(this._cachedSearchPaths=this._program.importResolver.getImportRoots(i)),Promise.resolve(this._cachedSearchPaths)}lookupImport(e,t){return Promise.resolve(this._program.lookUpImport(e,t))}owns(e){return this._program.owns(e)}getParserOutput(e){let t=this._program.getParserOutput(e);return!t&&this.fileSystem.existsSync(e)&&(this._program.addInterimFile(e),t=this._program.getParserOutput(e)),t}getParseResults(e){let t=this._program.getParseResults(e);return!t&&this.fileSystem.existsSync(e)&&(this._program.addInterimFile(e),t=this._program.getParseResults(e)),t}addStubCode(e,t){let i=`__stub_${Date.now()}_${Math.random().toString(36).substring(7)}.pyi`,r=t?t.resolvePaths(i):n4.z.file(`/${i}`,this.serviceProvider);this._disableSnapshotIncrement=!0;try{this._program.setFileOpened(r,0,e,{isTracked:!1,ipythonMode:sA.Bk.None,chainedFileUri:void 0}),this._program.addInterimFile(r);let t=this._program.getParserOutput(r);if(!t)throw Error("Failed to parse stub code");return this._addedStubs.set(r,!0),{uri:r,parseResults:t}}finally{this._disableSnapshotIncrement=!1}}getModuleName(e){let t=e;if(this._program.fileSystem.existsSync(e)&&!(0,ah.fo)(this._program.fileSystem,e)){let i=e.initPyiUri;if(!this._program.fileSystem.existsSync(i)&&(i=e.initPyUri,!this._program.fileSystem.existsSync(i)))return;t=i}else!this._program.fileSystem.existsSync(e)&&(e.lastExtension||(t=e.initPyUri));let i=this._program.configOptions.findExecEnvironment(t);return this._program.importResolver.getModuleNameForImport(t,i,!0,!0).moduleName||void 0}getSourceFileInfo(e){let t=this._program.getSourceFileInfo(e);if(t)return this._makeAsyncSourceFileInfo(t)}getSourceFileInfoList(){return this._program.getSourceFileInfoList().map(this._makeAsyncSourceFileInfo)}async updateFileContents(e,t){let i=this._program.getSourceFileInfo(e);if(i||(i=this._program.addInterimFile(e)),i){var r;let n=i.clientVersion||0,a=i?null==(r=i.chainedSourceFile)?void 0:r.uri:void 0,s=i?i.ipythonMode:sA.Bk.None,o=!i||i.isTracked;this._program.setFileOpened(e,n+1,t,{chainedFileUri:a,ipythonMode:s,isTracked:o})}}waitForPendingUpdates(e){return Promise.resolve()}addTrackedFile(e,t,i){this._program.addTrackedFile(e,t,i)}setTrackedFiles(e){this._program.setTrackedFiles(e)}handleMemoryHighUsage(){this._program.handleMemoryHighUsage()}getSnapshot(e){return Promise.resolve(this._cache.snapshot)}getDocumentDiagnostics(e,t,i,r){let n;this._throwIfOutOfDate(t,r);let a=this._program.getSourceFile(e);a&&(a.isCheckingRequired()||a.isBindingRequired())&&this._program.analyzeFile(e,r);let s=this._program.getParseResults(e),o=[];if(a&&s){let t={start:{line:0,character:0},end:{line:s.tokenizerOutput.lines.count,character:0}};o=this._program.getDiagnosticsForRange(e,t).map(e=>lc(e,this._program.fileSystem,!0,!0)||e),n=a.getDiagnosticVersion().toString()}return Promise.resolve({kind:"full",resultId:n,items:o})}resolveImport(e,t,i,r){this._throwIfOutOfDate(i,r);let n={...t,importedSymbols:new Set},a=this._program.importResolver.resolveImport(e,this._getExecEnv(e),n),s=a.resolvedUris.filter(e=>void 0!==e&&!e.isEmpty());return s&&a.isImportFound?Promise.resolve(s[s.length-1]):Promise.resolve(void 0)}changedWatchedFiles(e){}shadowUri(e,t){this._program.bindShadowFile(e,t)}addInterimFile(e){this._program.addInterimFile(e)}dispose(){}_massageTypeResult(e){if(e&&(0,aM.BL)(e)){var t;null==(t=this._program.evaluator)||t.inferReturnTypeIfNecessary(e)}return e&&(0,aM.D4)(e)&&e.shared.protocolCompatibility&&(e={...e,shared:{...e.shared,protocolCompatibility:void 0}}),e&&e.cached&&(e={...e,cached:void 0}),e}_getParamDeclarationFromFunctionType(e,t,i){let r=e.shared.declaration;if(r&&r.node.nodeType===aO.ye.Function){let e=r.node,a=t.name?e.d.params.find(e=>{var i;return(null==(i=e.d.name)?void 0:i.d.value)===t.name}):void 0;if(!a&&i<e.d.params.length&&(a=e.d.params[i]),a){let i=a.d.name,s=(0,ax.JO)(null!=i?i:a);if(s)return s;if(i){var n;let e=null==(n=this._program.evaluator)?void 0:n.getDeclInfoForNameNode(i,!1);if(e)return e.decls.find(e=>(0,aF.cU)(e))}let o=(0,ax.R8)(e);return{type:aF.h3.Param,uri:r.uri,range:(0,aW.oG)(a,o.lines),node:a,inferredName:t.name,moduleName:r.moduleName,isInExceptSuite:r.isInExceptSuite}}}}_getDeclarationsForAnnotationNode(e){var t,i,r;let n=(0,ax.JO)(e);if(n)return[n];let a=[];if(e.nodeType===aO.ye.TypeAnnotation){let r=e.d.valueExpr;if(r.nodeType===aO.ye.Name){let e=null==(t=this._program.evaluator)?void 0:t.getDeclInfoForNameNode(r);e&&a.push(...e.decls)}let n=e.d.annotation;if(n.nodeType===aO.ye.Name){let e=null==(i=this._program.evaluator)?void 0:i.getDeclInfoForNameNode(n);e&&a.push(...e.decls)}}else if(e.nodeType===aO.ye.Name){let t=null==(r=this._program.evaluator)?void 0:r.getDeclInfoForNameNode(e);t&&a.push(...t.decls)}return a}_makeAsyncSourceFileInfo(e){return new class{get uri(){return this._s.uri}get contents(){return this._s.contents}get ipythonMode(){return this._s.ipythonMode}get isTypeshedFile(){return this._s.isTypeshedFile}get isThirdPartyImport(){return this._s.isThirdPartyImport}get isThirdPartyPyTypedPresent(){return this._s.isThirdPartyPyTypedPresent}get isTypingStubFile(){return this._s.isTypingStubFile}get hasTypeAnnotations(){return this._s.hasTypeAnnotations}get diagnosticsVersion(){return this._s.diagnosticsVersion}get semanticVersion(){return this._s.semanticVersion}get clientVersion(){return this._s.clientVersion}get chainedSourceFile(){return this._s.chainedSourceFile}get isTracked(){return this._s.isTracked}get isOpenByClient(){return this._s.isOpenByClient}get imports(){return this._s.imports}get importedBy(){return this._s.importedBy}get shadows(){return this._s.shadows}get shadowedBy(){return this._s.shadowedBy}getImports(){return Promise.resolve(e.imports.map(this._makeAsyncSourceFileInfo))}getImportedBy(){return Promise.resolve(e.importedBy.map(this._makeAsyncSourceFileInfo))}getImplicitImport(){return e.builtinsImport===e?Promise.resolve(void 0):e.chainedSourceFile&&!e.chainedSourceFile.sourceFile.isFileDeleted()?Promise.resolve(this._makeAsyncSourceFileInfo(e.chainedSourceFile)):Promise.resolve(e.builtinsImport?this._makeAsyncSourceFileInfo(e.builtinsImport):void 0)}getBuiltinsImport(){return Promise.resolve(e.builtinsImport?this._makeAsyncSourceFileInfo(e.builtinsImport):void 0)}constructor(e,t){ca(this,"_parentWrapper",void 0),ca(this,"_s",void 0),ca(this,"_makeAsyncSourceFileInfo",void 0),this._parentWrapper=e,this._s=t,this._makeAsyncSourceFileInfo=e=>this._parentWrapper._makeAsyncSourceFileInfo(e)}}(this,e)}_incrementSnapshot(){var e;if(!this._disableSnapshotIncrement){this._cache.incrementSnapshot(),this._cachedSearchPaths=void 0,null==(e=this._asyncEvaluator)||e.disposeEvaluator(),this._asyncEvaluator=void 0,this._disableSnapshotIncrement=!0;try{this._addedStubs.forEach((e,t)=>{this._program.setFileClosed(t,!1)}),this._addedStubs.clear()}finally{this._disableSnapshotIncrement=!1}}}_throwIfOutOfDate(e,t){if((0,n8.Lj)(t),this._cache.snapshot!==e)throw new lg}_getExecEnv(e){let t=this._program.configOptions.getExecutionEnvironments().find(t=>t.root&&(t.root.equals(e)||e.isChild(t.root)));return null!=t?t:this._program.configOptions.getDefaultExecEnvironment()}_getNodeType(e){var t,i,r,n;if(e.nodeType===aO.ye.Class){let i=null==(t=this._program.evaluator)?void 0:t.getTypeOfClass(e);if(i)return i.classType}else if(e.nodeType===aO.ye.Function){let t=null==(i=this._program.evaluator)?void 0:i.getTypeOfFunction(e);if(t)return t.functionType}else{let t=ci(e);if(t){let e=null==(r=this._program.evaluator)?void 0:r.getExpectedType(t),i=null==(n=this._program.evaluator)?void 0:n.getType(t);if(e&&i&&(0,aM.D4)(e.type)&&(0,aM.D4)(i)){if(aM.p5.isDerivedFrom(e.type,i))return e.type;if(aM.p5.isDerivedFrom(i,e.type))return i}return null!=i?i:null==e?void 0:e.type}}}_getDeclClassType(e){let t=e.node.parent;for(;t;){if(t.nodeType===aO.ye.Class){var i,r;return null==(r=this._program.evaluator)||null==(i=r.getTypeOfClass(t))?void 0:i.classType}t=t.parent}}_getDeclInstanceType(e){let t=this._getDeclClassType(e);return t?aM.p5.cloneAsInstance(t):void 0}constructor(e,t){ca(this,"_program",void 0),ca(this,"_cache",void 0),ca(this,"_cachedSearchPaths",void 0),ca(this,"_asyncEvaluator",void 0),ca(this,"_disableSnapshotIncrement",void 0),ca(this,"_addedStubs",void 0),ca(this,"_inEditMode",void 0),this._program=e,this._cache=t,this._disableSnapshotIncrement=!1,this._addedStubs=new ar.Z,this._inEditMode=!1;const i=this._program.setFileOpened.bind(this._program);this._program.setFileOpened=(e,t,r,n)=>{i(e,t,r,n),this._incrementSnapshot()};const r=this._program.setFileClosed.bind(this._program);this._program.setFileClosed=(e,t)=>{let i=r(e,t);return this._incrementSnapshot(),i};const n=this._program.updateChainedUri.bind(this._program);this._program.updateChainedUri=(e,t)=>{n(e,t),this._incrementSnapshot()};const a=this._program.markFilesDirty.bind(this._program);this._program.markFilesDirty=(e,t)=>{a(e,t),this._incrementSnapshot()};const s=this._program.markAllFilesDirty.bind(this._program);this._program.markAllFilesDirty=e=>{s(e),this._incrementSnapshot()};const o=this._program.setConfigOptions.bind(this._program);this._program.setConfigOptions=e=>{o(e),this._cachedSearchPaths=void 0,this._incrementSnapshot()};const l=this._program.setImportResolver.bind(this._program);this._program.setImportResolver=e=>{l(e),this._cachedSearchPaths=void 0,this._incrementSnapshot()}}}let co=new WeakMap;function cl(e,t){let i=co.get(e);return i||(pW(),i=new cs(e,null!=t?t:new cn(e.serviceProvider,t=>e.getParserOutput(t))),co.set(e,i)),i}var cd=i(1536),cu=i(88051),cp=i(47075);async function cc(e,t,i,r){let n;if(!(0,cp.W2)(e,r)&&t&&(0,aF.vu)(t)&&(n=await ck(e,t,i)),!n&&r){let t=e.shared.name;for(let e of(0,aX.h4)(r,t,cp.DO))if(e.symbol.getDeclarations().length>0){let t=e.symbol.getDeclarations().slice(-1)[0];if((0,aF.vu)(t)&&(n=await cI(t,i)))break}}return n||e.shared.docString}async function ch(e,t,i,r,n){let a;if(!(0,cp.W2)(e,n)){for(let r of t)if((a=await cS(e,r,i))&&a.length>0)return a}let s=aM.OF.getOverloads(e);if(n&&s.length>0){let e=s[0].shared.name;for(let t of(0,aX.h4)(n,e,cp.DO)){var o;let e=t.symbol.getDeclarations().slice(-1)[0],n=null==(o=await r.getTypeForDeclaration(e))?void 0:o.type;if(n&&(a=await cS(n,e,i))&&a.length>0)break}}return null!=a?a:[]}async function cm(e,t,i,r){var n,a;if(!e||!(0,aF.vu)(e))return;let s=null==(n=await i.getTypeForDeclaration(e))?void 0:n.type;if(!s||!(0,aX.jj)(s))return;let o=e.node.nodeType===aO.ye.Function?e.node.d.name.d.value:void 0;if(o)for(let[e]of(0,aX.hB)(r,aX.gv.Default)){if(!(0,aM.dL)(e))continue;let r=(await l9(e)).get(o),n=null==r?void 0:r.getDeclarations();if(n){for(let e of n)if((0,aF.vu)(e)){let r=null==(a=await i.getTypeForDeclaration(e))?void 0:a.type;if(r&&(0,aX.jj)(r)){let i=await cy(e,t);if(i)return i}}}}}async function cy(e,t){let i=cP([e]);return!i&&(0,cu.x)(e.uri)&&(i=cP(await t.findFunctionDeclarations(e))),i}async function cg(e,t,i){return await cC(e.node,t,i)}async function cf(e,t,i){let r=aL.Ji(e.node.d.name,!1),n=r?await i.getTypeOfClass(r):void 0;if(n)return await cm(e,t,i,n.classType)}async function cv(e,t){let i=[];if(!(0,cu.x)(e.uri))return i;for(let r of(await t.findDeclarations(e)))if((0,aF.bC)(r)&&r.docString)i.push(r.docString);else if((0,aF.hw)(r)||(0,aF.vu)(r)){let e=(0,cp.lG)(r);e&&i.push(e)}return i}async function c_(e,t){if(e)if(void 0!==e.docString)return e.docString;else return(await cv(e,t)).find(e=>e)}async function cT(e,t){let i=[];for(let r of e)(0,cu.x)(r)&&(0,ap.v9)(i,await t.getModuleNode(r)),(0,ap.af)(i,await t.findModules(r));return(0,cp.ZZ)(i)}async function cw(e,t,i){let r=e.priv.docString;if(!r){var n;let a=null!=(n=null==t?void 0:t.uri)?n:e.priv.fileUri;r=await cT([a],i)}return r}async function cb(e,t,i){let r=e.shared.docString;if(!r&&t&&((0,aF.hw)(t)||(0,aF.r_)(t))&&!(r=(0,aF.hw)(t)?cP([t]):void 0)&&t&&(0,cu.x)(t.uri))for(let e of(await i.findDeclarations(t))){if((0,aF.bC)(e)&&e.docString){r=e.docString;break}if((0,aF.hw)(e)||(0,aF.vu)(e)){r=(0,cp.lG)(e);break}}if(!r&&t){let n=await i.findClassDeclarationsByType(t.uri,e);n&&(r=cP(n.filter(e=>(0,aF.hw)(e)).map(e=>e)))}return r}async function cS(e,t,i){if(!(0,aM.Gl)(e))return;let r=[],n=aM.OF.getOverloads(e),a=aM.OF.getImplementation(e);if(n.some(e=>e.shared.docString)&&n.forEach(e=>{e.shared.docString&&r.push(e.shared.docString)}),a&&(0,aM.Tn)(a)&&a.shared.docString&&r.push(a.shared.docString),0===r.length&&t&&(0,cu.x)(t.uri)&&(0,aF.vu)(t)){let e=cP(await i.findFunctionDeclarations(t));e&&r.push(e)}return r}async function ck(e,t,i){if(!(0,aM.Tn)(e))return;let r=e.shared.docString;return!r&&t&&(r=await cI(t,i)),!r&&e.shared.declaration&&(r=await cI(e.shared.declaration,i)),r}async function cI(e,t){let i=cP([e]);return!i&&(0,cu.x)(e.uri)&&(i=cP(await t.findFunctionDeclarations(e))),i}async function cC(e,t,i){if(e.nodeType===aO.ye.Function)for(let s of e.d.decorators){var r,n,a;if(s.d.expr.nodeType!==aO.ye.Call)continue;let e=s.d.expr,o=await t.getType(e.d.leftExpr);if(!o||!(0,aM.Tn)(o)||"functools"!==o.shared.moduleName||"wraps"!==o.shared.name)continue;let l=e.d.args.length>0?e.d.args[0]:void 0;if(!l||l.d.argCategory!==aO.b4.Simple||!l.d.valueExpr)continue;let d=await t.getType(l.d.valueExpr);if(d){if((0,aM.Tn)(d))return null!=(r=d.shared.docString)?r:d.shared.declaration?await cy(d.shared.declaration,i):void 0;if((0,aM.Gl)(d)){let e=aM.OF.getImplementation(d);if(e&&(0,aM.Tn)(e)){let t=null!=(n=e.shared.docString)?n:e.shared.declaration?await cy(e.shared.declaration,i):void 0;if(t)return t}for(let e of aM.OF.getOverloads(d)){let t=null!=(a=e.shared.docString)?a:e.shared.declaration?await cy(e.shared.declaration,i):void 0;if(t)return t}}}}}function cP(e){for(let t of e){let e=(0,cp.lG)(t);if(e)return e}}async function cx(e,t,i){return await e.getTypeOfBoundMember(t,i,"__call__",{method:"get"},aX.Mh.SkipInstanceMembers|aX.Mh.SkipTypeBaseClass|aX.Mh.SkipAttributeAccessOverride)}async function cF(e,t,i,r,n,a,s,o){if(e.category===aM.vb.Class&&(0,aM.aE)(e)&&s){let t=await cx(r,s,e);if((null==t?void 0:t.type.category)===aM.vb.Function||(null==t?void 0:t.type.category)===aM.vb.Overloaded){let i=await cV(r,t.type,s);i&&(e=i)}}return(0,aM.Gl)(e)?(t.length>0?`(${t})
`:"")+`${await cA(e,r,a,70,o)}`:(0,aM.Tn)(e)?`${await cD(t,i,e,r,n,a,o)}`:(t.length>0?`(${t}) `:"")+`${i}: ${await r.printType(e)}`}async function cA(e,t,i,r=70,n){let a="",s=await Promise.all(aM.OF.getOverloads(e).map(e=>cD("",e.shared.name,e,t,!1,i,n)));for(let e=0;e<s.length;e++)0!==e&&s[e].length>r&&s[e-1].length<=r&&(a+="\n"),a+=s[e]+": ...",e<s.length-1&&(a+="\n",s[e].length>r&&(a+="\n"));return a}async function cD(e,t,i,r,n=!1,a,s){let o=0===e.length?"":`(${e}) `,l=a===ae.DJ.formatted?"\n"+" ".repeat(4):"",d=await r.printFunctionParts(i);s&&(d=await cE(i,d,s));let u=`${cN(d,l,a)} -> ${d[1]}`;if(aM.Ab.isInstantiable(i))return`${o}${t}: type[${u}]`;let p="";return!n&&(p="def ",aM.RK.isAsync(i)&&(p="async "+p)),`${o}${p}${t}${n?": ":""}${u}`}async function cE(e,t,i){let r=e.shared.declaration;if(!r||!(0,cu.x)(r.uri))return t;let n=new Set(e.shared.parameters.filter(e=>{var t;return!!e.name&&(null==(t=e.defaultExpr)?void 0:t.nodeType)===aO.ye.Ellipsis}).map(e=>e.name));if(0===n.size||!t[0].some(e=>e.endsWith("...")))return t;let a=(await i.findFunctionDeclarations(r)).find(e=>e.node.nodeType===aO.ye.Function);if(!a)return t;let s=new Map;for(let e of a.node.d.params){var o;let t=null==(o=e.d.name)?void 0:o.d.value,i=e.d.defaultValue;t&&i&&s.set(t,aL.W9(i))}return 0===s.size?t:[t[0].map(e=>{let t,i;if(!e.endsWith("..."))return e;let r=(t=e.trimStart().replace(/^\*\*?/,""),null==(i=/^([A-Za-z_][A-Za-z0-9_]*)/.exec(t))?void 0:i[1]);if(!r||!n.has(r))return e;let a=s.get(r);return a&&!(0===a.length||a.length>100||a.includes("\n")||a.includes("\r"))?e.replace(/\.\.\.$/,()=>a):e}),t[1]]}async function cR(e,t,i,r){let n="";if((0,aM.Gl)(t))(await Promise.all(aM.OF.getOverloads(t).map(t=>cR(e,t,i,r)))).forEach((e,t)=>{n+=e+": ...\n\n"});else if((0,aM.Tn)(t)){let a=r===ae.DJ.formatted?"\n"+" ".repeat(4):" ",s=cN(await i.printFunctionParts(t),a,r);n+=`class ${e}${s}`}return n}function cN(e,t,i){return i===ae.DJ.formatted&&e.length>0&&e[0].length>1?`(${t}${e[0].join(","+t)}
)`:`(${e[0].join(", ")})`}async function cM(e,t,i){let r=e.shared.declaration;if(r&&r.node.nodeType===aO.ye.Function){let e=await cg(r,i,t);if(e)return e}let n=r?aL.Ji(r.node):void 0,a=n?await i.getTypeOfClass(n):void 0;return await cc(e,r,t,null==a?void 0:a.classType)}async function cO(e,t,i){let r=aM.OF.getOverloads(e);if(0===r.length)return[];let n=r[0].shared.declaration,a=n?aL.Ji(n.node):void 0,s=a?await i.getTypeOfClass(a):void 0;return await ch(e,r.map(e=>e.shared.declaration).filter(n2.O9),t,i,null==s?void 0:s.classType)}async function cU(e,t,i,r){if(t){if(t.type===aF.h3.TypeAlias)return t.docString;if(t.type===aF.h3.Variable){var n;if(t.typeAliasName&&t.docString)return t.docString;let i=null!=(n=null==r?void 0:r.getDeclarations().find(e=>e.type===aF.h3.Variable&&!!e.docString))?n:t,a=await c_(i,e);if(a)return a}if(t.type===aF.h3.Function){let r=await cf(t,e,i);if(r)return r}}}async function cL(e,t,i,r,n){if((0,aM.FS)(t)){let r=await cw(t,i,e);if(r)return r}else if((0,aM.dL)(t)){let r=await cb(t,i,e);if(r)return r}else if((0,aM.Tn)(t)){let i=n?await r.bindFunctionToClassOrObject(n,t):t;if(i&&(0,aM.Tn)(i)){let t=await cM(i,e,r);if(t)return t}}else if((0,aM.Gl)(t)){let i=n?await r.bindFunctionToClassOrObject(n,t):t;if(i&&(0,aM.Gl)(i)){let t=(await cO(i,e,r)).find(e=>e);if(t)return t}}}async function cz(e,t,i,r,n){let a,s=await cU(e,i,r,null==n?void 0:n.symbol);if(!s&&(null==i?void 0:i.type)===aF.h3.Function&&t&&!(0,aM.Tn)(t)&&!(0,aM.Gl)(t))if(await cW(i,r)){let t=await cg(i,r,e);if(t)return t}else{let t=await cy(i,e);if(t)return t}if((null==i?void 0:i.type)===aF.h3.Alias){if(i.type===aF.h3.Alias&&i.node&&i.node.nodeType===aO.ye.ImportAs&&(null==n?void 0:n.name)&&!i.node.d.alias){let e=i.node.d.module.d.nameParts.find(e=>e.d.value===n.name);if(e){var o,l;let t=null!=(o=null==(l=await r.getDeclInfoForNameNode(e))?void 0:l.decls)?o:[i];i=t.length>0?t[0]:i}}a=await cT([i.uri],e)}return a=null!=a?a:t?await cL(e,t,i,r,null==n?void 0:n.boundObjectOrClass):void 0,s&&a&&s!==a?`${s}
${a}`:s||a}async function cW(e,t){let i=e.node;if(i.nodeType!==aO.ye.Function)return!1;for(let e of i.d.decorators)if(await cB(e,t))return!0;return!1}async function cB(e,t){let i=e.d.expr;if(i.nodeType!==aO.ye.Call)return!1;let r=await t.getType(i.d.leftExpr);return!!r&&(0,aM.Tn)(r)&&"functools"===r.shared.moduleName&&"wraps"===r.shared.name}async function c$(e,t){let i=await Promise.all(e.map(async e=>await t.getType(e)||aM.vn.create())),r=(0,aM.Do)(i);return 1===i.length&&r.category===aM.vb.Class&&aM.p5.isBuiltIn(r,"list")&&r.priv.typeArgs?r=r.priv.typeArgs[0]:1===i.length&&r.category===aM.vb.Class&&aM.p5.isBuiltIn(r,"range")&&(r=await t.getBuiltInObject(e[0],"int")),r}async function cj(e,t){var i,r;let n,a=e;if((null==a||null==(i=a.parent)?void 0:i.nodeType)===aO.ye.MemberAccess&&e===a.parent.d.member?a=e.parent:(null==a||null==(r=a.parent)?void 0:r.nodeType)===aO.ye.Index&&(a=e.parent),!a||!a.parent||a.parent.nodeType!==aO.ye.Call||a.parent.d.leftExpr!==a)return;let s=await cq(t,e);if(!(0,aM.dL)(s))return;let o=await cq(t,a.parent);if(!(0,aM.aE)(o))return;let l=(0,aX.Zn)(s,"__init__",aX.Mh.SkipInstanceMembers);if(l){let i=await t.getTypeOfMember(l);(0,aM.BL)(i)&&(n=await cK(t,e,o,i))}if(!n||n&&(0,aM.Tn)(n)&&(aM.RK.hasDefaultParams(n)||0===n.shared.parameters.length)){let i=(0,aX.Zn)(s,"__new__",aX.Mh.SkipObjectBaseClass|aX.Mh.SkipInstanceMembers);if(i){let r=await t.getTypeOfMember(i);(0,aM.BL)(r)&&(n=await cK(t,e,o,r,!0))}}return{methodType:n,classType:s}}async function cK(e,t,i,r,n){let a=await e.bindFunctionToClassOrObject(i,r,void 0,n);if(a)return await cV(e,a,t)}async function cV(e,t,i){if(!(0,aM.Gl)(t)||i.nodeType!==aO.ye.Name)return t;let r=aL.p6(i);if(!r)return t;let n=await e.getTypeResult(r);return n&&n.overloadsUsedForCall&&0!==n.overloadsUsedForCall.length?1===n.overloadsUsedForCall.length?n.overloadsUsedForCall[0]:aM.OF.create(n.overloadsUsedForCall):t}async function cq(e,t){var i;let r=null!=(i=await e.getType(t))?i:aM.vn.create();return await cV(e,r,t)}function cG(e,t){let i=t.text.substring(e.start,e.start+e.length);return i.length>100?i.substring(0,100)+"...":i}function cH(e,t){let i;if(!e||!e.inferredTypeSource||!t)return;let r=e.inferredTypeSource;if(r.nodeType===aO.ye.Assignment||r.nodeType===aO.ye.AssignmentExpression?i=r.d.rightExpr:(0,aO.TE)(r)&&(i=r),i){switch(i.nodeType){case aO.ye.Number:return i.d.isInteger,i.d.value.toString();case aO.ye.String:{let e=i.d.value;if(e.length>50)return`"${e.substring(0,50)}..."`;return`"${e}"`}case aO.ye.StringList:if(i.d.strings.length>0){let e=i.d.strings[0];if(e.nodeType===aO.ye.FormatString)return cG(i,t);if(e.nodeType===aO.ye.String){let t=e.d.value;if(t.length>50)return`"${t.substring(0,50)}..."`;return`"${t}"`}}break;case aO.ye.Constant:switch(i.d.constType){case aj.Wg.True:return"True";case aj.Wg.False:return"False";case aj.Wg.None:return"None"}break;case aO.ye.UnaryOperation:if(i.d.operator===aj.hu.Subtract&&i.d.expr.nodeType===aO.ye.Number){let e=i.d.expr;return"-"+(e.d.isInteger,e.d.value.toString())}}return cG(i,t)}}let cJ=["pytest","_pytest"];function cY(e){return cJ.some(t=>null==e?void 0:e.pathIncludes(t))}function cQ(e,t){if(aM.Tn(e)||aM.aE(e))return t.some(t=>t===e.shared.fullName);if(aM.mi(e))return e.priv.subtypes.some(e=>cQ(e,t));if(aM.Gl(e)){if(aM.OF.getOverloads(e).some(e=>cQ(e,t)))return!0;let i=aM.OF.getImplementation(e);return!!i&&cQ(i,t)}return!1}function cX(e,t,i,r){return t.d.decorators.filter(t=>{if(!i(t))return!1;!function(e,t){var i,r;if(t.nodeType!==aO.ye.Name&&t.nodeType!==aO.ye.MemberAccess)return;let n=(0,aL.gu)(t);n&&(null==(r=e.getDeclInfoForNameNode(n,!1))||null==(i=r.decls)||i.forEach(t=>e.resolveAliasDeclaration(t,!0,{allowExternallyHiddenAccess:!0,skipFileNeededCheck:!0})))}(e,t.d.expr);let n=e.getType(t.d.expr);return!!n&&cQ(n,r)})}async function cZ(e,t,i,r,n,a){let s=[],o=e.getEvaluator(a);for(let e of t.d.decorators){if(!i(e))continue;let t=await o.getType(e.d.expr);if(!t||t.category===aM.vb.Module){let i=e.d.expr.nodeType===aO.ye.MemberAccess?e.d.expr.d.member:e.d.expr;t=await o.getType(i)}let a=t&&(0,aX.iU)(t)||e.d.expr.id.toString();if(n.has(a)&&n.get(a))s.push(e);else{let i=!!t&&cQ(t,r);n.set(a,i),i&&s.push(e)}}return s}function c0(e,t){var i;let r=(0,ax.R8)(t),n=null==(i=e.getSourceFileInfo(r.fileUri))?void 0:i.contents;return cX(e.evaluator,t,e=>{let t=null==n?void 0:n.slice(e.start,e.start+e.length);return!!t&&t.includes("fixture")},["pytest.fixture","pytest.yield_fixture","_pytest.fixtures.fixture","_pytest.fixtures.yield_fixture","pytest.FixtureFunction","pytest.FixtureFunctionMarker","_pytest.fixtures.FixtureFunction","_pytest.fixtures.FixtureFunctionMarker"]).length>0}let c1=new Map;async function c5(e,t,i){var r;let n=e.getUri(t),a=null==(r=e.getSourceFileInfo(n))?void 0:r.contents;return(await cZ(e,t,e=>{let t=null==a?void 0:a.slice(e.start,e.start+e.length);return!!t&&t.includes("fixture")},["pytest.fixture","pytest.yield_fixture","_pytest.fixtures.fixture","_pytest.fixtures.yield_fixture","pytest.FixtureFunction","pytest.FixtureFunctionMarker","_pytest.fixtures.FixtureFunction","_pytest.fixtures.FixtureFunctionMarker"],c1,i)).length>0}let c4=new Map;async function c3(e,t,i){var r;let n=e.getUri(t),a=null==(r=e.getSourceFileInfo(n))?void 0:r.contents;return(await cZ(e,t,e=>{let t=null==a?void 0:a.slice(e.start,e.start+e.length);return!!t&&t.includes("ark")},["pytest.MarkDecorator","pytest.MarkGenerator","_pytest.mark.structures.MarkDecorator","_pytest.mark.structures.MarkGenerator"],c4,i)).filter(e=>e.d.expr.nodeType===aO.ye.Call&&e.d.expr.d.leftExpr.nodeType===aO.ye.MemberAccess&&"parametrize"===e.d.expr.d.leftExpr.d.member.d.value)}function c8(e){let t=[];return e.nodeType===aO.ye.List?e.d.items.forEach(e=>{if(e.nodeType===aO.ye.StringList)t.push(...e.d.strings);else if(e.nodeType===aO.ye.Call&&e.d.leftExpr.nodeType===aO.ye.Name&&"str"===e.d.leftExpr.d.value){let i=e.d.args.filter(e=>e.d.valueExpr.nodeType===aO.ye.StringList).map(e=>e.d.valueExpr.d.strings).flat();t.push(...i)}}):t.push(...e.d.strings),t}function c2(e){let t=e.d.decorators.find(e=>{var t;return null==(t=(0,aL.J1)(e))?void 0:t.includes("fixture")}),i=(null==t?void 0:t.d.expr.nodeType)===aO.ye.Call?t.d.expr.d.args.find(e=>{var t;return(null==(t=e.d.name)?void 0:t.d.value)==="name"}):void 0,r=i&&(null==i?void 0:i.d.valueExpr.nodeType)===aO.ye.StringList?c8(null==i?void 0:i.d.valueExpr).filter(e=>e.nodeType===aO.ye.String):[];return r&&r.length>0?r[0]:void 0}function c6(e,t){if(e.nodeType===aO.ye.Function){if("__init__"===e.d.name.d.value&&e.parent){let t=(0,aL.Ji)(e.parent);if(t&&"FixtureRequest"===t.d.name.d.value)return"request"}if(t){let t=c2(e);return t?t.d.value:e.d.name.d.value}return e.d.name.d.value}return e.nodeType===aO.ye.Name?e.d.value:e.subvalue}function c7(e,t){let i=(0,ax.R8)(t),r=null==i?void 0:i.fileUri;return void 0===r||!cY(r)&&(r.pathIncludes("typeshed")||r.pathIncludes("builtins"))?[]:[...t.d.statements.filter(t=>t.nodeType===aO.ye.Function&&c0(e,t)),...t.d.statements.filter(e=>e.nodeType===aO.ye.Class).map(e=>e.d.suite).flat().map(e=>e.d.statements).flat().filter(t=>t.nodeType===aO.ye.Function&&c0(e,t)),...t.d.statements.map(e=>{if(e.nodeType===aO.ye.StatementList&&1===e.d.statements.length&&e.d.statements[0].nodeType===aO.ye.Assignment&&e.d.statements[0].d.rightExpr.nodeType===aO.ye.Call&&e.d.statements[0].d.rightExpr.d.leftExpr.nodeType===aO.ye.Call&&e.d.statements[0].d.rightExpr.d.leftExpr.d.leftExpr.nodeType===aO.ye.MemberAccess&&"fixture"===e.d.statements[0].d.rightExpr.d.leftExpr.d.leftExpr.d.member.d.value&&e.d.statements[0].d.rightExpr.d.leftExpr.d.leftExpr.d.leftExpr.nodeType===aO.ye.Name&&"pytest"===e.d.statements[0].d.rightExpr.d.leftExpr.d.leftExpr.d.leftExpr.d.value&&e.d.statements[0].d.leftExpr.nodeType===aO.ye.Name&&1===e.d.statements[0].d.rightExpr.d.args.length)return{...e.d.statements[0].d.leftExpr,alternativeTypeNode:e.d.statements[0].d.rightExpr.d.args[0].d.valueExpr}}).filter(e=>!!e)]}async function c9(e,t,i,r){let n=e.getUri(t);if(void 0===n||!cY(n)&&(n.pathIncludes("typeshed")||n.pathIncludes("builtins")))return[];let a=t.d.statements.filter(e=>e.nodeType===aO.ye.Function),s=await s2(a,t=>c5(e,t,i));(0,n8.Lj)(r);let o=t.d.statements.filter(e=>e.nodeType===aO.ye.Class).flatMap(e=>e.d.suite.d.statements).filter(e=>e.nodeType===aO.ye.Function),l=await s2(o,t=>c5(e,t,i));return(0,n8.Lj)(r),[...s,...l,...t.d.statements.map(e=>{if(e.nodeType===aO.ye.StatementList&&1===e.d.statements.length&&e.d.statements[0].nodeType===aO.ye.Assignment&&e.d.statements[0].d.rightExpr.nodeType===aO.ye.Call&&e.d.statements[0].d.rightExpr.d.leftExpr.nodeType===aO.ye.Call&&e.d.statements[0].d.rightExpr.d.leftExpr.d.leftExpr.nodeType===aO.ye.MemberAccess&&"fixture"===e.d.statements[0].d.rightExpr.d.leftExpr.d.leftExpr.d.member.d.value&&e.d.statements[0].d.rightExpr.d.leftExpr.d.leftExpr.d.leftExpr.nodeType===aO.ye.Name&&"pytest"===e.d.statements[0].d.rightExpr.d.leftExpr.d.leftExpr.d.leftExpr.d.value&&e.d.statements[0].d.leftExpr.nodeType===aO.ye.Name&&1===e.d.statements[0].d.rightExpr.d.args.length)return{...e.d.statements[0].d.leftExpr,alternativeTypeNode:e.d.statements[0].d.rightExpr.d.args[0].d.valueExpr}}).filter(e=>!!e)]}function he(e,t,i){let r,n;return e instanceof hC?ht(e,t,i):(r=e.serviceProvider.tryGet(nM.fixtureFinder),n=e.evaluator,r&&n?ht(r,t,i):void 0)}function ht(e,t,i){return t.d.name?e.findMatchingFixtures(t,e=>{var i;return i=t.d.name.d.value,c6(e,!0)===i},i)[0]:void 0}async function hi(e,t,i,r){return t.d.name?(await e.findMatchingFixturesAsync(t,e=>{var i;return i=t.d.name.d.value,c6(e,!0)===i},i,r))[0]:void 0}async function hr(e,t,i,r){return t.d.name?(await e.findMatchingFixturesAsync(t,e=>{var i;return i=t.d.name.d.value,c6(e,!0)===i},i,r))[0]:void 0}function hn(e,t){return hl(e,t)||hu(e,t)}async function ha(e,t,i,r){return hl(e,t)||await hp(e,t,i,r)}function hs(e,t,i){if(!hn(e,t))return;let r=ht(e,t,i);if(r)return hc(e,r,!0,i)}async function ho(e,t,i,r){if(!await ha(e,t,i,r))return;let n=await hi(e,t,i,r);if(n)return await hh(e,n,!0,i,r)}function hl(e,t){var i;return(null==(i=t.parent)?void 0:i.nodeType)===aO.ye.Function&&e.isTestFunction(t.parent)}function hd(e,t){var i;return(null==(i=t.parent)?void 0:i.nodeType)===aO.ye.Function&&e.isTestFunctionAsync(t.parent)}function hu(e,t){var i;return(null==(i=t.parent)?void 0:i.nodeType)===aO.ye.Function&&e.isFixtureFunction(t.parent)}async function hp(e,t,i,r){var n;return(null==(n=t.parent)?void 0:n.nodeType)===aO.ye.Function&&await e.isFixtureFunctionAsync(t.parent,i,r)}function hc(e,t,i,r){let n;if(t.nodeType===aO.ye.Function&&e.program.evaluator){var a,s,o,l,d;if("__init__"===t.d.name.d.value&&(null==(s=t.parent)||null==(a=s.parent)?void 0:a.nodeType)===aO.ye.Class){let i=e.program.evaluator.getTypeOfClass(t.parent.parent);n=(null==i?void 0:i.classType)?aM.Ab.cloneTypeAsInstance(i.classType,!1):void 0}else{let a=e.program.evaluator.getTypeOfFunction(t);i&&a?(n=null!=(o=null==a||null==(d=a.functionType)||null==(l=d.shared)?void 0:l.declaredReturnType)?o:e.program.evaluator.getInferredReturnType(null==a?void 0:a.functionType))&&aM.aE(n)&&aM.p5.isBuiltIn(n,"Generator")&&n.priv.typeArgs&&n.priv.typeArgs.length&&(n=n.priv.typeArgs[0]):(null==a?void 0:a.functionType)&&(n={...a.functionType,shared:{...a.functionType.shared,parameters:a.functionType.shared.parameters.map((i,n)=>{if(i._type.category===aM.vb.Unknown){var a;return{...i,type:null!=(a=hs(e,t.d.params[n],r))?a:i._type}}return i})}})}}else if(t.nodeType===aO.ye.Name)n=(0,cd.Z0)([t.alternativeTypeNode],e.program.evaluator);else{let i=hm(e.getProgram(),t);i.type===aF.h3.Param&&i.inferredTypeNodes&&(n=(0,cd.Z0)(i.inferredTypeNodes,e.program.evaluator))}return null!=n?n:aM.vn.create()}async function hh(e,t,i,r,n){let a,s=e.program.getEvaluator(r);if(t.nodeType===aO.ye.Function){var o,l,d,u,p,c;if("__init__"===t.d.name.d.value&&(null==(l=t.parent)||null==(o=l.parent)?void 0:o.nodeType)===aO.ye.Class){let e=await s.getTypeOfClass(t.parent.parent);a=(null==e?void 0:e.classType)?aM.Ab.cloneTypeAsInstance(e.classType,!1):void 0}else{let o=await s.getTypeOfFunction(t);if(i&&o)(a=null!=(d=null==o||null==(p=o.functionType)||null==(u=p.shared)?void 0:u.declaredReturnType)?d:await s.getInferredReturnType(null==o?void 0:o.functionType))&&aM.aE(a)&&aM.p5.isBuiltIn(a,"Generator")&&a.priv.typeArgs&&a.priv.typeArgs.length&&(a=a.priv.typeArgs[0]);else if(null==o?void 0:o.functionType){let i=[];for(let a of o.functionType.shared.parameters)if(a._type.category===aM.vb.Unknown){let s=o.functionType.shared.parameters.indexOf(a),l=t.d.params[s],d=null!=(c=await ho(e,l,r,n))?c:a._type;i.push({...a,_type:d})}else i.push(a);a={...o.functionType,shared:{...o.functionType.shared,parameters:i}}}}}else if(t.nodeType===aO.ye.Name&&s)a=await c$([t.alternativeTypeNode],s);else if(s){let i=hm(e.getProgram(),t);i.type===aF.h3.Param&&i.inferredTypeNodes&&(a=await c$(i.inferredTypeNodes,s))}return null!=a?a:aM.vn.create()}function hm(e,t){var i,r,n,a,s,o,l;let d,u,p,c=e.getUri(t),h=null==(r=e.getParseResults(c))||null==(i=r.tokenizerOutput)?void 0:i.lines,m=e.getModuleName(c)||"";return t.nodeType===aO.ye.Function&&"__init__"===t.d.name.d.value&&(null==(a=t.parent)||null==(n=a.parent)?void 0:n.nodeType)===aO.ye.Class?{type:aF.h3.Class,node:t.parent.parent,uri:c,range:(0,aW.oG)(t.parent.parent.d.name,h),moduleName:m,isInExceptSuite:!1}:t.nodeType===aO.ye.Function?{type:aF.h3.Function,isMethod:(null==(o=t.parent)||null==(s=o.parent)?void 0:s.nodeType)===aO.ye.Class,isGenerator:!1,moduleName:m,isInExceptSuite:!1,node:t,uri:c,range:(0,aW.oG)(t.d.name,h)}:t.nodeType===aO.ye.Name?{type:aF.h3.Variable,isInExceptSuite:!1,alternativeTypeNode:t.alternativeTypeNode,moduleName:m,node:t,uri:c,range:(0,aW.oG)(t,h)}:{type:aF.h3.Param,node:t.parameter,uri:c,range:(0,aW.oG)(t,h),moduleName:m,isInExceptSuite:!1,inferredTypeNodes:(u=(null==(d=null==(l=t.parent.parent)?void 0:l.parent)?void 0:d.d.args)&&(null==d?void 0:d.d.args.length)>0?d.d.args[1].d.valueExpr:void 0,p=[],u&&u.nodeType===aO.ye.List||u&&u.nodeType===aO.ye.Tuple?p=u.d.items.map(e=>e.nodeType===aO.ye.Tuple?e.d.items[t.index]:e.nodeType===aO.ye.Call&&e.d.leftExpr.nodeType===aO.ye.MemberAccess&&"param"===e.d.leftExpr.d.member.d.value&&e.d.leftExpr.d.leftExpr.nodeType===aO.ye.Name&&"pytest"===e.d.leftExpr.d.leftExpr.d.value?e.d.args[t.index].d.valueExpr:e):u&&(p=[u]),p),inferredName:t.subvalue}}let hy=/Python classes: \[(.*)\]/,hg=/Python files: \[(.*)\]/,hf=/Python functions: \[(.*)\]/;class hv{async getOptions(e,t,i,r,n){this._cancelSource.cancel();let a=o2(t.getModulePath(),"files").combinePaths("get_pytest_options.py"),s="default",o=["Test"],l=["test_*.py","*_test.py"],d=["test"],u=this._getExtraArgs(r);this._cancelSource=new nZ.CancellationTokenSource;let p=setTimeout(()=>this._cancelSource.cancel(),n);try{let t=await e.runScript(null==r?void 0:r.pythonPath,a,u,i,this._cancelSource.token);if(!t)throw new n8.YS;t.stdout.split("\n").forEach(e=>{let t=e.trim(),i=hy.exec(t),r=hg.exec(t),n=hf.exec(t);i?o=i[1].replace(/'/g,"").split(",").map(e=>e.trim()):r?l=r[1].replace(/'/g,"").split(",").map(e=>e.trim()):n&&(d=n[1].replace(/'/g,"").split(",").map(e=>e.trim()))}),s="script"}catch(e){s=e.message}finally{clearTimeout(p)}return{message:s,classes:o,files:l,functions:d}}_getExtraArgs(e){var t;let i=[],r=null==(t=e.testing)?void 0:t.pytestArgs;return Array.isArray(r)&&i.push(...r),i}constructor(){var e,t;e="_cancelSource",t=new nZ.CancellationTokenSource,e in this?Object.defineProperty(this,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):this[e]=t}}function h_(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let hT=["cacheprovider.py","capture.py","doctest.py","fixtures.py","junitxml.py","legacypath.py","logging.py","monkeypatch.py","recwarn.py","tmpdir.py"],hw="conftest";function hb(e,t,i){let r=e.tryGet(nM.fixtureFinder);if(r)return t.enablePytestSupport?r:void yY(e,void 0,nM.fixtureFinder);if(!t.enablePytestSupport)return;let n=new hC(i);return yY(e,n,nM.fixtureFinder,n7.y.stateMutationListeners,n7.y.symbolDefinitionProvider,n7.y.symbolUsageProviderFactory),n}function hS(e,t,i){let r=e.tryGet(nM.asyncFixtureFinder);if(r)return t.enablePytestSupport?r:void yY(e,void 0,nM.asyncFixtureFinder);if(!t.enablePytestSupport)return;let n=new hP(i);return yY(e,n,nM.asyncFixtureFinder,n7.y.stateMutationListeners,nM.asyncSymbolDefinitionProvider,nM.asyncSymbolUsageProviderFactory),n}function hk(e){try{let t=/[*?[]/.test(e),i="^",r=0;for(;r<e.length;){let t=e[r];if("*"===t)i+=".*?",r++;else if("?"===t)i+=".",r++;else if("["===t){let t=e.indexOf("]",r+1);if(-1===t)i+="\\[",r++;else{let n=e.slice(r+1,t);n.startsWith("!")&&(n="^"+n.slice(1)),i+="["+n+"]",r=t+1}}else".+^${}()|\\".includes(t)?i+="\\"+t:i+=t,r++}return i+=t?"$":".*",RegExp(i)}catch{let t=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return RegExp(`^${t}.*`)}}class hI{async overrideQueryOptionsForTests(e){await this.updateQueryOptions();let t=this._cachedQueryOptions;return this._cachedQueryOptions=hI._generateQueryOptionsRegexesFromOptions(e),()=>{this._cachedQueryOptions=t}}onFileDirty(e){this.cachedUserFixturesMap.delete(e),this.cachedPredefinedFixturesMap.delete(e)}onClearCache(){this.cachedUserFixturesMap.clear(),this.cachedPredefinedFixturesMap.clear()}onUpdateSettings(e){(null==e?void 0:e.hostKind)!==void 0&&(this.hostKind=e.hostKind),this.updatePythonPaths()}isTestFunction(e){var t;let i=e.nodeType===aO.ye.Function?e:(null==(t=e.parent)?void 0:t.nodeType)===aO.ye.Function?e.parent:void 0;if(!i)return!1;let r=this.getProgram().getUri(i);if(this.isTestFile(r)&&this._isTestFunction(i)){let e=i.parent?(0,aL.Ji)(i.parent):void 0;if(!e||this._isTestClass(e))return this.hasPytest()}return!1}isTestFile(e){if(e.fileNameWithoutExtensions===hw)return!0;let t=this._getQueryOptions(),i=e.fileName;return t.files.some(e=>e.test(i))}get fileSystem(){return this.getProgram().fileSystem}getPredefinedFixturePaths(e){return e?(this._cachedPredefinedFixturePaths||(this._cachedPredefinedFixturePaths=e?hT.map(t=>e.combinePaths(t)):[]),this._cachedPredefinedFixturePaths):[]}getSourceFileInfo(e){return this.getProgram().getSourceFileInfo(e)||(this.fileSystem.existsSync(e)&&au.mM.some(t=>e.hasExtension(t))?(this.getProgram().addInterimFile(e),this.getProgram().getSourceFileInfo(e)):void 0)}getModuleNode(e){var t;if(this.getSourceFileInfo(e))return null==(t=this.getProgram().getParserOutput(e))?void 0:t.parseTree}updatePythonPaths(){this.cachedPytestPath=void 0,this._cachedPredefinedFixturePaths=void 0,this.cachedPredefinedFixtures=[],this.cachedPredefinedFixturesMap.clear(),this._cachedQueryOptions=void 0,this._queryPromise=void 0,this.updateQueryOptions()}async updateQueryOptions(){let e=this.getHost();this._cachedQueryOptions||this._queryPromise||(null==e?void 0:e.kind)!==this.hostKind||(this._queryPromise=this._updateQueryOptionsImpl(e)),this._queryPromise&&await this._queryPromise}async _updateQueryOptionsImpl(e){let t=this.getProgram().configOptions,i=this.getProgram().fileSystem,r=e?await this._pytestQueryEngine.getOptions(e,i,this.getProgram().rootPath,t,hI.queryTimeout):void 0,n=this.getProgram().serviceProvider.tryGet(n7.y.console);n&&n.log(`pytest configurations: ${JSON.stringify(r)}`),this._cachedQueryOptions=this._generateQueryOptionsRegexes(r)}_isTestFunction(e){return this._getQueryOptions().functions.some(t=>t.test(e.d.name.d.value))}_isTestClass(e){return this._getQueryOptions().classes.some(t=>t.test(e.d.name.d.value))}_getQueryOptions(){return this._cachedQueryOptions?this._cachedQueryOptions:this._defaultQueryOptions}static _generateQueryOptionsRegexesFromOptions(e){return{classes:e.classes.map(hk),files:e.files.map(hk),functions:e.functions.map(hk)}}_generateQueryOptionsRegexes(e){return e?hI._generateQueryOptionsRegexesFromOptions(e):this._defaultQueryOptions}constructor(e){h_(this,"getProgram",void 0),h_(this,"_defaultQueryOptions",void 0),h_(this,"_pytestQueryEngine",void 0),h_(this,"cachedPytestPath",void 0),h_(this,"cachedPredefinedFixtures",void 0),h_(this,"_cachedPredefinedFixturePaths",void 0),h_(this,"cachedUserFixturesMap",void 0),h_(this,"cachedPredefinedFixturesMap",void 0),h_(this,"hostKind",void 0),h_(this,"_cachedQueryOptions",void 0),h_(this,"_queryPromise",void 0),this.getProgram=e,this._defaultQueryOptions={classes:[/^Test.*/],files:[/^test_.*?\.py$/,/^.*?_test\.py$/],functions:[/^test.*/]},this._pytestQueryEngine=new hv,this.cachedPredefinedFixtures=[],this.cachedUserFixturesMap=new ar.Z,this.cachedPredefinedFixturesMap=new ar.Z,this.hostKind=dC.n.NoAccess}}h_(hI,"queryTimeout",1e4);class hC extends hI{get program(){return this._program}tryCreateProvider(e,t,i){let r=hA(this,e,this._program.evaluator,t,i);if(r&&0!==r.length)return new hx(this._program,this,e,r,i)}isFixtureFunction(e){return c0(this._program,e)||this._getPredefinedFixtureFunctions().some(t=>t.id===e.id)}hasPytest(){return!!this._getPathToPytest()}findMatchingFixtures(e,t,i){return this._getAllowedFixtures(e,i).filter(t)}tryGetDeclarations(e,t,i){var r,n;let a=[];if((null==(r=e.parent)?void 0:r.nodeType)===aO.ye.Parameter){if(hl(this,e.parent)||hu(this,e.parent)){let t=he(this,e.parent,i);t&&a.push(hm(this.getProgram(),t))}}else(null==(n=e.parent)?void 0:n.nodeType)===aO.ye.Function&&this.isFixtureFunction(e.parent)&&a.push(hm(this.getProgram(),e.parent));return a}getHost(){return this._program.importResolver.host}_getAllowedFixtures(e,t){return[...this._getAllowedFixtureNodes(e,t),...this._getPredefinedFixtureFunctions()]}_getPythonSearchPaths(){return this._program.importResolver.getPythonSearchPaths()}_getPathToPytest(){if(!this.cachedPytestPath)for(let e of this._getPythonSearchPaths()){let t=e.combinePaths("_pytest");if(this.fileSystem.existsSync(t)){this.cachedPytestPath=t;break}}return this.cachedPytestPath}_getPredefinedFixtureFunctionsFromPytestPath(e){[...this.getPredefinedFixturePaths(e)].forEach(e=>{if(this.cachedPredefinedFixturesMap.get(e))return;let t=this.getModuleNode(e);if(!t)return;let i=c7(this._program,t);if("fixtures.py"===this.getProgram().getUri(t).fileName){let e=t.d.statements.find(e=>e.nodeType===aO.ye.Class&&"FixtureRequest"===e.d.name.d.value);if(e){let t=e.d.suite.d.statements.find(e=>e.nodeType===aO.ye.Function&&"__init__"===e.d.name.d.value);t&&i.push(t)}}this.cachedPredefinedFixturesMap.set(e,i)});let t=e.getDirectory(),i=this.fileSystem.readdirEntriesSync(t),r=new ar.Z;return i.forEach(e=>{if(e.isDirectory()&&e.name.startsWith("pytest_")){let i=t.combinePaths(e.name);this.fileSystem.readdirEntriesSync(i).filter(e=>e.isFile()).map(e=>e.name).forEach(e=>this._getFileFixtureNodes(i.combinePaths(e),this.cachedPredefinedFixturesMap,r,dk.CancellationToken.None,2))}}),[...this.cachedPredefinedFixturesMap.values()].flat()}_getPredefinedFixtureFunctions(){let e=this._getPathToPytest();return 0===this.cachedPredefinedFixtures.length&&e&&(this.cachedPredefinedFixtures=this._getPredefinedFixtureFunctionsFromPytestPath(e)),this.cachedPredefinedFixtures}_getFileFixtureNodes(e,t,i,r,n=0){let a;(0,n8.Lj)(r);let s=this.getSourceFileInfo(e);if(!s)return;if(!this.cachedUserFixturesMap.has(e)){let t=this.getModuleNode(e);t&&(a=c7(this._program,t),this.cachedUserFixturesMap.set(e,a))}a=null!=a?a:this.cachedUserFixturesMap.get(e),!t.has(e)&&a&&a.length>0&&t.set(e,a);let o=i.get(e);if((void 0===o||n<o)&&i.set(e,n),n<=2){(0,n8.Lj)(r);let e=this.getPredefinedFixturePaths(this._getPathToPytest());s.imports.forEach(a=>{var s;let o=a.uri;if(e.some(e=>e.equals(o)))return;let l=n+1;(null!=(s=i.get(o))?s:Number.MAX_SAFE_INTEGER)<=l||this._getFileFixtureNodes(o,t,i,r,l)})}}_getPluginFiles(e){let t=this.getModuleNode(e);if(!t)return[];let i=this._program.importResolver,r=this._program.configOptions.findExecEnvironment(e),n=t.d.statements.filter(e=>e.nodeType===aO.ye.StatementList).map(e=>e.d.statements).flat().filter(e=>e.nodeType===aO.ye.Assignment).find(e=>e.d.leftExpr.nodeType===aO.ye.Name&&"pytest_plugins"===e.d.leftExpr.d.value);return n&&n.d.rightExpr.nodeType===aO.ye.List?c8(n.d.rightExpr).map(t=>i.resolveImport(e,r,{nameParts:t.d.value.split("."),leadingDots:0,importedSymbols:new Set}).resolvedUris).flat().filter(e=>!e.isEmpty()):[]}_getPluginFixtureNodes(e,t,i,r){this._getPluginFiles(e).forEach(e=>this._getFileFixtureNodes(e,t,i,r))}_getConfFixtureNodes(e,t,i,r){this._getFileFixtureNodes(e,t,i,r),this._getPluginFixtureNodes(e,t,i,r)}_getModuleFixtureNodesRecursive(e,t){let i=new ar.Z,r=new ar.Z,n=this.getProgram().getUri(e);this._getFileFixtureNodes(n,i,r,t);let a=n.getDirectory();for(this.getProgram().getModuleName(n)!==hw&&(this._getConfFixtureNodes(a.combinePaths(hw+".py"),i,r,t),this._getPluginFixtureNodes(n,i,r,t)),a=a.getDirectory();a&&this.fileSystem.existsSync(a)&&(a.equals(this._program.rootPath)||a.isChild(this._program.rootPath));){(0,n8.Lj)(t),this._getConfFixtureNodes(a.combinePaths(hw+".py"),i,r,t);let e=a.getDirectory();if(!e||e.equals(a))break;a=e}return[...i.values()].flat()}_getAllowedFixtureNodes(e,t){let i=[],r=(0,aL.Yl)(e);if(r){var n,a;let e,t,s=(0,aL.hP)(r);(s?(n=this._program,e=(0,ax.R8)(s),t=null==(a=n.getSourceFileInfo(e.fileUri))?void 0:a.contents,cX(n.evaluator,s,e=>{let i=null==t?void 0:t.slice(e.start,e.start+e.length);return!!i&&i.includes("ark")},["pytest.MarkDecorator","pytest.MarkGenerator","_pytest.mark.structures.MarkDecorator","_pytest.mark.structures.MarkGenerator"]).filter(e=>e.d.expr.nodeType===aO.ye.Call&&e.d.expr.d.leftExpr.nodeType===aO.ye.MemberAccess&&"parametrize"===e.d.expr.d.leftExpr.d.member.d.value)):[]).forEach(e=>{if(e.d.expr.nodeType===aO.ye.Call){let t=e.d.expr.d.args[0].d.valueExpr;if(t.nodeType===aO.ye.StringList){let e=t.d.strings.map(e=>e.d.value.split(",").map((t,i)=>({...e,index:i,subvalue:t.trim(),parameter:r}))).flat();i.push(...e)}}})}let s=this._getModuleFixtureNodesRecursive((0,aL.Zr)(e),t),o=e.parent?(0,aL.Ji)(e.parent):void 0;return[...i,...s.filter(e=>{var t,i;return(null==(i=e.parent)||null==(t=i.parent)?void 0:t.nodeType)!==aO.ye.Class||!o||o.id===e.parent.parent.id})]}constructor(e){super(()=>cl(e)),h_(this,"_program",void 0),this._program=e,this.updateQueryOptions()}}class hP extends hI{get program(){return this.getProgram()}async isTestFunctionAsync(e){return await this.hasPytestAsync(),this.isTestFunction(e)}async isFixtureFunctionAsync(e,t,i){return await c5(this.program,e,t)||(await this._getPredefinedFixtureFunctionsAsync(t,i)).some(t=>t.id===e.id)}findMatchingFixturesAsync(e,t,i,r){return this._getAllowedFixturesAsync(e,i,r).then(e=>e.filter(t))}async tryGetDeclarations(e,t,i,r){var n,a;let s=[];if((null==(n=e.parent)?void 0:n.nodeType)===aO.ye.Parameter){if(await hd(this,e.parent)||await hp(this,e.parent,i,r)){(0,n8.Lj)(r);let t=await hr(this,e.parent,i,r);t&&s.push(hm(this.program,t))}}else(null==(a=e.parent)?void 0:a.nodeType)===aO.ye.Function&&await this.isFixtureFunctionAsync(e.parent,i,r)&&s.push(hm(this.program,e.parent));return s}async tryCreateAsyncProvider(e,t,i){let r=await this.program.getSnapshot(i),n=await hD(this,e,t,r,i);if(n&&0!==n.length)return new hF(this,e,n,r,i)}hasPytest(){return!!this.cachedPytestPath&&!this.cachedPytestPath.isEmpty()}hasPytestAsync(){return this._pathToPytestWaiter.promise.then(()=>this.hasPytest())}getHost(){let e=this.program.serviceProvider.tryGet(nM.hostFactory);if(e)return e.createHost(this.hostKind)}updatePythonPaths(){this._pathToPytestWaiter=(0,dI.ud)(),super.updatePythonPaths(),this._getPathToPytest()}async _getPythonSearchPaths(){return await lf(()=>this.program,async(e,t)=>await this.program.getPythonSearchPaths(e,t),()=>!1,dk.CancellationToken.None)||[]}async _getPathToPytest(){var e;if(!this.cachedPytestPath){for(let e of(this.cachedPytestPath=n4.z.empty(),await this._getPythonSearchPaths())){let t=e.combinePaths("_pytest");if(this.fileSystem.existsSync(t)){this.cachedPytestPath=t;break}}this._pathToPytestWaiter.resolve()}return(null==(e=this.cachedPytestPath)?void 0:e.isEmpty())?void 0:this.cachedPytestPath}async _getAllowedFixturesAsync(e,t,i){return[...await this._getAllowedFixtureNodesAsync(e,t,i),...await this._getPredefinedFixtureFunctionsAsync(t,i)]}async _getPredefinedFixtureFunctionsFromPytestPathAsync(e,t,i){for(let r of[...this.getPredefinedFixturePaths(e)]){if(this.cachedPredefinedFixturesMap.get(r))continue;let e=this.getModuleNode(r);if(!e)continue;let n=await c9(this.program,e,t,i);if("fixtures.py"===this.getProgram().getUri(e).fileName){let t=e.d.statements.find(e=>e.nodeType===aO.ye.Class&&"FixtureRequest"===e.d.name.d.value);if(t){let e=t.d.suite.d.statements.find(e=>e.nodeType===aO.ye.Function&&"__init__"===e.d.name.d.value);e&&n.push(e)}}this.cachedPredefinedFixturesMap.set(r,n)}let r=e.getDirectory(),n=this.fileSystem.readdirEntriesSync(r),a=new ar.Z;for(let e of n)if(e.isDirectory()&&e.name.startsWith("pytest_")){let i=r.combinePaths(e.name);for(let e of this.fileSystem.readdirEntriesSync(i).filter(e=>e.isFile()).map(e=>e.name))await this._getFileFixtureNodesAsync(i.combinePaths(e),this.cachedPredefinedFixturesMap,a,t,dk.CancellationToken.None,2)}return[...this.cachedPredefinedFixturesMap.values()].flat()}async _getPredefinedFixtureFunctionsAsync(e,t){let i=await this._getPathToPytest();return 0===this.cachedPredefinedFixtures.length&&i&&(this.cachedPredefinedFixtures=await this._getPredefinedFixtureFunctionsFromPytestPathAsync(i,e,t),(0,n8.Lj)(t)),this.cachedPredefinedFixtures}async _getFileFixtureNodesAsync(e,t,i,r,n,a=0){let s;(0,n8.Lj)(n);let o=this.getSourceFileInfo(e);if(!o)return;if(!this.cachedUserFixturesMap.has(e)){let t=this.getModuleNode(e);t&&(s=await c9(this.program,t,r,n),this.cachedUserFixturesMap.set(e,s))}s=null!=s?s:this.cachedUserFixturesMap.get(e),!t.has(e)&&s&&s.length>0&&t.set(e,s);let l=i.get(e);if((void 0===l||a<l)&&i.set(e,a),a<=2){(0,n8.Lj)(n);let e=this.getPredefinedFixturePaths(await this._getPathToPytest());for(let s of(await o.getImports())){var d;let o=s.uri;if(e.some(e=>e.equals(o)))continue;let l=a+1;(null!=(d=i.get(o))?d:Number.MAX_SAFE_INTEGER)<=l||await this._getFileFixtureNodesAsync(o,t,i,r,n,l)}}}async _getPluginFilesAsync(e,t){let i=this.getModuleNode(e);if(!i)return[];let r=i.d.statements.filter(e=>e.nodeType===aO.ye.StatementList).map(e=>e.d.statements).flat().filter(e=>e.nodeType===aO.ye.Assignment).find(e=>e.d.leftExpr.nodeType===aO.ye.Name&&"pytest_plugins"===e.d.leftExpr.d.value);if(r&&r.d.rightExpr.nodeType===aO.ye.List){let i=c8(r.d.rightExpr),n=await this.program.getSnapshot(t),a=[];for(let r of i){let i=await this.program.resolveImport(e,{nameParts:r.d.value.split("."),leadingDots:0},n,t);i&&a.push(i)}return a}return[]}async _getPluginFixtureNodesAsync(e,t,i,r,n){for(let a of(await this._getPluginFilesAsync(e,n)))await this._getFileFixtureNodesAsync(a,t,i,r,n)}async _getConfFixtureNodesAsync(e,t,i,r,n){await this._getFileFixtureNodesAsync(e,t,i,r,n),await this._getPluginFixtureNodesAsync(e,t,i,r,n)}async _getModuleFixtureNodesRecursiveAsync(e,t,i){let r=new ar.Z,n=new ar.Z,a=this.getProgram().getUri(e);await this._getFileFixtureNodesAsync(a,r,n,t,i);let s=a.getDirectory();for(this.getProgram().getModuleName(a)!==hw&&(await this._getConfFixtureNodesAsync(s.combinePaths(hw+".py"),r,n,t,i),await this._getPluginFixtureNodesAsync(a,r,n,t,i)),s=s.getDirectory();s&&this.fileSystem.existsSync(s)&&(s.equals(this.program.rootPath)||s.isChild(this.program.rootPath));){(0,n8.Lj)(i),await this._getConfFixtureNodesAsync(s.combinePaths(hw+".py"),r,n,t,i);let e=s.getDirectory();if(!e||e.equals(s))break;s=e}return[...r.values()].flat()}async _getAllowedFixtureNodesAsync(e,t,i){let r=[],n=(0,aL.Yl)(e);if(n){let e=(0,aL.hP)(n);(e?await c3(this.program,e,t):[]).forEach(e=>{if(e.d.expr.nodeType===aO.ye.Call){let t=e.d.expr.d.args[0].d.valueExpr;if(t.nodeType===aO.ye.StringList){let e=t.d.strings.map(e=>e.d.value.split(",").map((t,i)=>({...e,index:i,subvalue:t.trim(),parameter:n}))).flat();r.push(...e)}}})}let a=await this._getModuleFixtureNodesRecursiveAsync((0,aL.Zr)(e),t,i),s=e.parent?(0,aL.Ji)(e.parent):void 0;return[...r,...a.filter(e=>{var t,i;return(null==(i=e.parent)||null==(t=i.parent)?void 0:t.nodeType)!==aO.ye.Class||!s||s.id===e.parent.parent.id})]}constructor(e){super(e),h_(this,"_pathToPytestWaiter",(0,dI.ud)()),this._getPathToPytest()}}class hx{appendSymbolNamesTo(e){}appendDeclarationsTo(e){e.push(...this._declarations)}appendDeclarationsAt(e,t,i){var r;i.push(...null!=(r=hA(this._fixtureFinder,this._useCase,this._view.evaluator,t,this._token))?r:[])}constructor(e,t,i,r,n){h_(this,"_view",void 0),h_(this,"_fixtureFinder",void 0),h_(this,"_useCase",void 0),h_(this,"_declarations",void 0),h_(this,"_token",void 0),this._view=e,this._fixtureFinder=t,this._useCase=i,this._declarations=r,this._token=n}}class hF{appendSymbolNamesTo(e){}appendDeclarationsTo(e){e.push(...this._declarations)}async appendDeclarationsAt(e,t,i){var r;i.push(...null!=(r=await hD(this._fixtureFinder,this._useCase,t,this._snapshot,this._token))?r:[])}constructor(e,t,i,r,n){h_(this,"_fixtureFinder",void 0),h_(this,"_useCase",void 0),h_(this,"_declarations",void 0),h_(this,"_snapshot",void 0),h_(this,"_token",void 0),this._fixtureFinder=e,this._useCase=t,this._declarations=i,this._snapshot=r,this._token=n}}function hA(e,t,i,r,n){let a=r.find(aF.cU);if(a){let i=a.node;if(!hl(e,i)&&!hu(e,i))return;let r=he(e,i,n);if(!r)return;if(r.nodeType===aO.ye.Function&&t===sz.P.Rename){let t=c2(r),i=null==t?void 0:t.parent;if(i&&t){let r=e.getProgram().getUri(t),n=e.getProgram().getModuleName(r),a=e.getProgram().getParseResults(r);return[{type:aF.h3.Variable,node:i,uri:r,range:(0,aW.oG)(i,a.tokenizerOutput.lines),moduleName:n||"",isInExceptSuite:!1}]}}return[hm(e.getProgram(),r)]}let s=r.find(aF.vu);if(!s)return;let o=s.node;if(e.isFixtureFunction(o))return[hm(e.getProgram(),o)]}async function hD(e,t,i,r,n){let a=i.find(aF.cU);if(a){let i=a.node;if(!hl(e,i)&&!await hp(e,i,r,n))return;let s=await hr(e,i,r,n);if(!s)return;if(s.nodeType===aO.ye.Function&&t===sz.P.Rename){let t=c2(s),i=null==t?void 0:t.parent;if(i&&t){let r=e.getProgram().getUri(t),n=e.getProgram().getModuleName(r),a=e.getProgram().getParseResults(r);return[{type:aF.h3.Variable,node:i,uri:r,range:(0,aW.oG)(i,a.tokenizerOutput.lines),moduleName:n||"",isInExceptSuite:!1}]}}return[hm(e.getProgram(),s)]}let s=i.find(aF.vu);if(!s)return;let o=s.node;if(await e.isFixtureFunctionAsync(o,r,n))return[hm(e.getProgram(),o)]}function hE(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class hR{onFileDirty(e){var t,i;(null==(i=this._typingFileCache)||null==(t=i.info)?void 0:t.uri.equals(e))&&(this._typingFileCache=void 0)}onClearCache(){this._cache=new WeakMap,this._typingFileCache=void 0}onUpdateSettings(e){this._typingFileCache=void 0}async getDefinitionFromTypingByName(e){var t;let i=await this._getTypingSymbols(e);return null!=(t=null==i?void 0:i.getDeclarations())?t:[]}async getDeclarations(e,t,i,r){var n;let a=this._cache.get(e);if(a)return a.declarations;let s=sM._.instance,o=null!=(n=null==r?void 0:r.sourceMapper)?n:await this._getProgram().getSourceMapper(s,!1,!0,t,i);if(!o)return[];let l=await this._getDeclarations(e,o,null!=r?r:{},i);return this._cache.set(e,l),l.declarations}async _getClassTypeDeclarations(e,t,i){var r,n;if(e.shared.declaration&&(!i||!(null==(r=e.props)?void 0:r.typeAliasInfo)))return[e.shared.declaration];let a=sM._.instance,s=await t.findDeclarationsByType(a,e,i);return i&&(null==(n=e.props)?void 0:n.typeAliasInfo)?s.filter(t=>{var i,r,n,a;return!!((0,aF.bC)(t)&&t.typeAliasName&&t.typeAliasName.d.value===(null==(r=e.props)||null==(i=r.typeAliasInfo)?void 0:i.shared.name)||(0,aF.Z8)(t)&&t.node.d.name.d.value===(null==(a=e.props)||null==(n=a.typeAliasInfo)?void 0:n.shared.name))}):s.filter(e=>(0,aF.hw)(e)||(0,aF.r_)(e))}async _getTypingFile(){if(this._typingFileCache)return this._typingFileCache.info;for(let e of this._getProgram().getSourceFileInfoList().filter(e=>e.isTypingStubFile))if(this._getProgram().getParseResults(e.uri),await this._getSymbol(e,"Any"))return this._typingFileCache={info:e},e;this._typingFileCache={info:void 0}}async _getSymbol(e,t){let i=await this._getProgram().symbolLookup.getSymbolsForFile(e.uri);if(i)return i.get(t)}async _getTypingSymbols(e){let t=await this._getTypingFile();if(t)return await this._getSymbol(t,e)}async _getDeclarations(e,t,i,r){var n,a,s,o;switch((0,n8.Lj)(r),e.category){case aM.vb.Any:{let e=await this._getTypingSymbols("Any");return{declarations:null!=(n=null==e?void 0:e.getDeclarations())?n:[]}}case aM.vb.Union:{let e=await this._getTypingSymbols("Union");return{declarations:null!=(a=null==e?void 0:e.getDeclarations())?a:[]}}case aM.vb.Never:{let t=await this._getTypingSymbols(e.priv.isNoReturn?"NoReturn":"Never");return{declarations:null!=(s=null==t?void 0:t.getDeclarations())?s:[]}}case aM.vb.Class:return{declarations:await this._getClassTypeDeclarations(e,t,null!=(o=i.useTypeAlias)&&o)};case aM.vb.Function:return{declarations:e.shared.declaration?[e.shared.declaration]:[]};case aM.vb.Overloaded:{let t=aM.OF.getOverloads(e).map(e=>e.shared.declaration).filter(n2.O9),i=aM.OF.getImplementation(e);return i&&(0,aM.Tn)(i)&&i.shared.declaration&&(0,n2.O9)(i.shared.declaration)&&t.push(i.shared.declaration),{declarations:t}}default:return{declarations:[]}}}constructor(e){hE(this,"_getProgram",void 0),hE(this,"_cache",void 0),hE(this,"_typingFileCache",void 0),this._getProgram=e,this._cache=new WeakMap}}var hN=((ex={}).off="off",ex.partial="partial",ex.all="all",ex);let hM={notebookSelector:[{notebook:{scheme:"file"},cells:[{language:"python"}]},{notebook:{scheme:"untitled"},cells:[{language:"python"}]}]},hO={notebookSelector:[{notebook:void 0,cells:[{language:"python"}]}]};(eF=iN||(iN={})).pythonSectionName="python",eF.pythonAnalysisSectionName="python.analysis",eF.editorSectionName="editor",eF.jupyterSectionName="jupyter",eF.copilotSectionName="github.copilot.chat";let hU={packageDepths:[["",1,!1],["sklearn",2,!1],["matplotlib",2,!1],["scipy",2,!1],["django",2,!1]],regenerateStdLibIndices:!1,followSymlinkedFolders:!0},hL=new Set(["venvPath","pythonPath","typeshedPath","stubPath","openFilesOnly","typeCheckingMode","useLibraryCodeForTypes","disableLanguageServices","disableTaggedHints","disableOrganizeImports","autoSearchPaths","extraPaths","watchForSourceChanges","watchForLibraryChanges","watchForConfigChanges","diagnosticSeverityOverrides","diagnosticBooleanOverrides","logLevel","autoImportCompletions","indexing","logTypeEvaluationTime","typeEvaluationTimeThreshold","includeFileSpecs","excludeFileSpecs","ignoreFileSpecs","taskListTokens","functionSignatureDisplay","fixAll","completeFunctionParens","enableExtractCodeAction","includeExtraPathSymbolsInSymbolSearch","includeVenvInWorkspaceSymbols","disableWorkspaceSymbol","indexOptions","variableInlayTypeHints","functionReturnInlayTypeHints","callArgumentNameInlayHints","pytestParametersInlayTypeHints","extraCommitChars","importFormat","formatOnType","notebookRunStartupCommands","enablePytestSupport","gotoDefinitionInStringLiteral","pythonEnvironmentName","remapDiagnostics","editorIndentConfig","implicitImportsInNotebooks","nodeExecutable","autoFormatStrings","autoIndent","autoSplitStrings","supportRestructuredText","cacheLSPData","reportExtraTelemetry","generateWithTypeAnnotation","languageServerMode","displayEnglishDiagnostics","showOnlyDirectDependenciesInAutoImport","enableEditableInstalls","diagnosticsSource","pyrightVersion","enablePerfTelemetry","enableMangleName","enableTroubleshootMissingImports","enableAsyncProgram","findRefsInBackgroundThread","typeServerExecutable","typeServerArguments","hostKind","enableSnippetExtraTelemetry","copilotOutputLanguage","supportDocstringTemplate","enableExternalTypeServer"]);function hz(e,t){e.mappedCellUris||n6.fJ("All notebooks should have mapped cell Uris");let i=new Set(e.mappedCellUris.map(e=>e.key));if(i.size!==e.mappedCellUris.length){let t=`Duplicate path in cellFilePaths (${i.size}) (${e.mappedCellUris.length}):
`;for(let i=0;i<e.mappedCellUris.length;i++){let r=e.mappedCellUris[i];r?r.isEmpty()?t+=`${i} == empty
`:t+=`${i} == ${r.toUserVisibleString()}
`:t+=`${i} == undefined
`}t+="\n",t+=e.operations.join("\n"),n6.fJ(t)}for(let i=e.mappedCellUris.length-1;i>=0;--i){let r=t.service.getChainedUri(e.mappedCellUris[i]);i>0?n6.vA(null==r?void 0:r.equals(e.mappedCellUris[i-1]),`Chained file path ${r} doesn't match cellFilePaths ${e.mappedCellUris[i-1]} with ${e.operations.join("\n")}`):n6.vA(null==r?void 0:r.equals(e.prefixCellUri),`Chained file path ${r} doesn't match prefixCellFilePath with ${e.operations.join("\n")}`)}}function hW(e,t,i,r,n){void 0===n&&(n=t.prefixCellUri,r.service.setFileOpened(n,0,t.prefixCellContents,sA.Bk.CellDocs)),e.forEach(e=>{let t=i.getMappedCellUri(n4.z.parse(e.uri,r.service.serviceProvider));r.service.setFileOpened(t,e.version,e.text,sA.Bk.CellDocs,n),n=t})}function hB(e,t,i){t.service.updateChainedUri(e.mappedCellUris[i],i>0?e.mappedCellUris[i-1]:e.prefixCellUri)}(iM||(iM={})).is=function(e){return void 0!==e.createHost};let h$=new Map([]);function hj(e){let t=lT(e);if(t&&h$.has(t))return h$.get(t);let i=e.getRule(),r=new Set(["reportAbstractUsage","reportArgumentType","reportAssertAlwaysTrue","reportAssertTypeFailure","reportAssignmentType","reportAttributeAccessIssue","reportCallInDefaultInitializer","reportCallIssue","reportConstantRedefinition","reportDeprecated","reportDuplicateImport","reportFunctionMemberAccess","reportGeneralTypeIssues","reportImplicitOverride","reportImplicitStringConcatenation","reportImportCycles","reportIncompatibleMethodOverride","reportIncompatibleVariableOverride","reportIncompleteStub","reportInconsistentOverload","reportIndexIssue","reportInvalidStringEscapeSequence","reportInvalidStubStatement","reportInvalidTypeArguments","reportInvalidTypeForm","reportInvalidTypeVarUse","reportMatchNotExhaustive","reportMissingImports","reportMissingModuleSource","reportMissingParameterType","reportMissingSuperCall","reportMissingTypeArgument","reportMissingTypeStubs","reportOperatorIssue","reportOptionalCall","reportOptionalContextManager","reportOptionalIterable","reportOptionalMemberAccess","reportOptionalOperand","reportOptionalSubscript","reportOverlappingOverload","reportPossiblyUnboundVariable","reportPrivateImportUsage","reportPrivateUsage","reportPropertyTypeMismatch","reportRedeclaration","reportReturnType","reportTypeCommentUsage","reportTypedDictNotRequiredAccess","reportUnboundVariable","reportUndefinedVariable","reportUnhashable","reportUninitializedInstanceVariable","reportUnknownArgumentType","reportUnknownLambdaType","reportUnknownMemberType","reportUnknownParameterType","reportUnknownVariableType","reportUnnecessaryCast","reportUnnecessaryComparison","reportUnnecessaryContains","reportUnnecessaryIsInstance","reportUnnecessaryTypeIgnoreComment","reportUnsupportedDunderAll","reportUntypedBaseClass","reportUntypedClassDecorator","reportUntypedFunctionDecorator","reportUntypedNamedTuple","reportUnusedCallResult","reportUnusedClass","reportUnusedCoroutine","reportUnusedExpression","reportUnusedFunction","reportUnusedImport","reportUnusedVariable","reportWildcardImportFromLibrary"]);if(i)return r.has(i)?`https://github.com/microsoft/pylance-release/blob/main/docs/diagnostics/${i}.md`:`https://github.com/microsoft/pyright/blob/main/docs/configuration.md#${i}`}function hK(e,t,i){let r=sU.oE.createDocumentRange(e,t,i);return t.node.nodeType===aO.ye.Name&&(r.kind=aL.si(t.node)?"write":"read"),r}function hV(e,t){let i=(0,sO.Km)(e,t);return i.kind=t.kind,i}function hq(e,t,i,r){if(i){let n=i.pythonPath;n&&(0,n2.Kg)(n)&&!(0,sx.O5)(n)&&(e.pythonPath=(0,sR.Q)(t,n,r));let a=i.venvPath;a&&(0,n2.Kg)(a)&&(e.venvPath=(0,sR.Q)(t,a,r));let s=i._envPYTHONPATH;s&&(0,n2.Kg)(s)&&(e.extraPaths=s.split(sC.delimiter).filter(e=>e&&(0,n2.Kg)(e)).map(e=>(0,sR.Q)(t,e,r)).filter(n2.O9));let o=i.pythonEnvironmentName;o&&(0,n2.Kg)(o)&&(e.pythonEnvironmentName=o)}}function hG(e,t,i,r){var n,a,s;let o=new Set(null!=(n=i.setByDefault)?n:[]),l=i.taskListTokens;l&&Array.isArray(l)&&l.length>0&&(e.taskListTokens=l.filter(e=>e.text&&e.priority&&e.priority in sE.cZ).map(e=>({text:e.text,priority:e.priority})));let d=i.typeshedPaths;if(d&&Array.isArray(d)&&d.length>0){let i=d[0];i&&(0,n2.Kg)(i)&&(e.typeshedPath=(0,sR.Q)(t,i,r))}let u=i.stubPath;if(u&&(0,n2.Kg)(u)){let i=(0,sR.Q)(t,u,r);o.has("stubpath")?i&&t.service.fs.existsSync(i)&&(e.stubPath=i):e.stubPath=i}let p=i.diagnosticSeverityOverrides;if(p)for(let[t,i]of Object.entries(p)){let r=function(e){if((0,ae.kL)().includes(e))return e}(t),n=function(e){let t=(0,ae.f2)(e);if(t&&(0,sD.kD)().includes(t))return t}(i);r&&n&&(void 0===e.diagnosticSeverityOverrides&&(e.diagnosticSeverityOverrides={}),e.diagnosticSeverityOverrides[r]=n)}let c=i.typeEvaluation;if(c)for(let[t,i]of Object.entries(c)){let r=function(e){if((0,ae.Tr)(!0).includes(e))return e}(t);r&&(0,n2.Lm)(i)&&(void 0===e.diagnosticBooleanOverrides&&(e.diagnosticBooleanOverrides={}),e.diagnosticBooleanOverrides[r]=i)}(0,n2.Lm)(i.disableTaggedHints)&&(e.disableTaggedHints=i.disableTaggedHints),e.logLevel=(0,n1.Iz)(i.logLevel),e.openFilesOnly="workspace"!==i.diagnosticMode,(0,n2.Lm)(i.useLibraryCodeForTypes)&&(e.useLibraryCodeForTypes=i.useLibraryCodeForTypes),(0,n2.Lm)(i.autoSearchPaths)&&(e.autoSearchPaths=i.autoSearchPaths),["off","basic","standard","strict"].includes(i.typeCheckingMode)&&(e.typeCheckingMode=i.typeCheckingMode),["auto","absolute","relative"].includes(i.importFormat)&&(e.importFormat=i.importFormat);let h=i.extraPaths;if(h&&Array.isArray(h)&&h.length>0){let i=h.filter(e=>e&&(0,n2.Kg)(e)).map(e=>(0,sR.Q)(t,e,r)).filter(n2.O9);e.extraPaths?e.extraPaths=i.concat(e.extraPaths):e.extraPaths=i}if(e.includeFileSpecs=hQ(t.workspaceName,i.include),e.excludeFileSpecs=hQ(t.workspaceName,i.exclude),e.ignoreFileSpecs=hQ(t.workspaceName,i.ignore),e.fixAll=s8(i.fixAll),(0,n2.Lm)(i.autoImportCompletions)&&(e.autoImportCompletions=i.autoImportCompletions),(0,n2.Lm)(i.showOnlyDirectDependenciesInAutoImport)&&(e.showOnlyDirectDependenciesInAutoImport=i.showOnlyDirectDependenciesInAutoImport),(0,n2.Lm)(i.completeFunctionParens)&&(e.completeFunctionParens=i.completeFunctionParens),(0,n2.Lm)(i.extraCommitChars)&&(e.extraCommitChars=i.extraCommitChars),(0,n2.Lm)(i["indexing.followSymlinkedFolders"])&&(e.indexOptions=null!=(a=e.indexOptions)?a:s6(),e.indexOptions.followSymlinkedFolders=i["indexing.followSymlinkedFolders"]),(0,n2.Lm)(i.indexing)){e.indexing=i.indexing,e.indexOptions=null!=(s=e.indexOptions)?s:s6();let r=i.packageIndexDepths;r&&Array.isArray(r)&&r.length>0&&(e.indexOptions.packageDepths=function(e){let t=[];for(let a of e){var i,r,n;if(Array.isArray(a)){a.length>=2&&a.length<=3&&(0,n2.Kg)(a[0])&&(0,n2.Et)(a[1])&&(3!==a.length||(0,n2.Lm)(a[2]))&&t.push([a[0],a[1],null!=(i=a[2])&&i]);continue}a&&void 0!==a.name&&t.push([a.name,null!=(r=a.depth)?r:1,null!=(n=a.includeAllSymbols)&&n])}return t}(r)),(0,n2.Lm)(i.regenerateStdLibIndices)&&(e.indexOptions.regenerateStdLibIndices=i.regenerateStdLibIndices),(0,n2.Lm)(i.persistAllIndices)&&(e.indexOptions.localStorageUri=i.persistAllIndices?t.rootUri:void 0),(0,n2.Lm)(i.includeAliasesFromUserFiles)&&(e.indexOptions.includeAliasesFromUserFiles=i.includeAliasesFromUserFiles);let n=i.userFileIndexingLimit;(0,n2.Et)(n)&&(e.indexOptions.userFileIndexingLimit=n);let a=i.enableParallelIndexing;(0,n2.Lm)(a)&&(e.indexOptions.enableParallelIndexing=a)}if(e.logLevel===n1.$b.Log&&(0,n2.Lm)(i.logTypeEvaluationTime)&&(e.logTypeEvaluationTime=i.logTypeEvaluationTime),(0,n2.Et)(i.typeEvaluationTimeThreshold)&&(e.typeEvaluationTimeThreshold=i.typeEvaluationTimeThreshold),(0,n2.Lm)(i.enableExtractCodeAction)&&(e.enableExtractCodeAction=i.enableExtractCodeAction),(0,n2.Lm)(i.includeExtraPathSymbolsInSymbolSearch)&&(e.includeExtraPathSymbolsInSymbolSearch=i.includeExtraPathSymbolsInSymbolSearch),(0,n2.Lm)(i.includeVenvInWorkspaceSymbols)&&(e.includeVenvInWorkspaceSymbols=i.includeVenvInWorkspaceSymbols),(0,n2.Lm)(i.disableWorkspaceSymbol)&&(e.disableWorkspaceSymbol=i.disableWorkspaceSymbol),(0,n2.Lm)(i.watchForLibraryChanges)&&(e.watchForLibraryChanges=i.watchForLibraryChanges),(!t.rootUri||t.kinds.includes(sL.mE.Default))&&(e.indexing=!1),(0,n2.Lm)(i.enablePytestSupport)&&(e.enablePytestSupport=i.enablePytestSupport),(0,n2.Lm)(i.gotoDefinitionInStringLiteral)&&(e.gotoDefinitionInStringLiteral=i.gotoDefinitionInStringLiteral),(0,n2.Lm)(i.remapDiagnostics)&&(e.remapDiagnostics=i.remapDiagnostics),i.inlayHints){(0,n2.Lm)(i.inlayHints.variableTypes)&&(e.variableInlayTypeHints=i.inlayHints.variableTypes),(0,n2.Lm)(i.inlayHints.functionReturnTypes)&&(e.functionReturnInlayTypeHints=i.inlayHints.functionReturnTypes);let t=i.inlayHints.callArgumentNames;Object.values(hN).includes(t)?e.callArgumentNameInlayHints=t:(0,n2.Lm)(t)&&(e.callArgumentNameInlayHints=t?hN.all:hN.off),(0,n2.Lm)(i.inlayHints.pytestParameters)&&(e.pytestParametersInlayTypeHints=i.inlayHints.pytestParameters)}if((0,n2.Lm)(i.implicitImportsInNotebooks)&&(e.implicitImportsInNotebooks=i.implicitImportsInNotebooks),(0,n2.Lm)(i.autoFormatStrings)&&(e.autoFormatStrings=i.autoFormatStrings),(0,n2.Lm)(i.autoIndent)&&(e.autoIndent=i.autoIndent),(0,n2.Lm)(i.autoSplitStrings)&&(e.autoSplitStrings=i.autoSplitStrings),(0,n2.Lm)(i.supportRestructuredText)&&(e.supportRestructuredText=i.supportRestructuredText),(0,n2.Lm)(i.cacheLSPData)&&(e.cacheLSPData=i.cacheLSPData),(0,n2.Lm)(i.reportExtraTelemetry)&&(e.reportExtraTelemetry=i.reportExtraTelemetry),(0,n2.Lm)(i.displayEnglishDiagnostics)&&(e.displayEnglishDiagnostics=i.displayEnglishDiagnostics),(0,n2.Lm)(i.enableEditableInstalls)&&(e.enableEditableInstalls=i.enableEditableInstalls),(0,n2.Lm)(i.enablePerfTelemetry)&&(e.enablePerfTelemetry=i.enablePerfTelemetry),(0,n2.Lm)(i.enableMangleName)&&(e.enableMangleName=i.enableMangleName),(0,n2.Lm)(i.enableAsyncProgram)){let r=t.service.serviceProvider.get(nM.platform);e.enableAsyncProgram=i.enableAsyncProgram&&!r.isWeb()}if((0,n2.Lm)(i.enableExternalTypeServer)){let r=t.service.serviceProvider.get(nM.platform);e.enableExternalTypeServer=i.enableExternalTypeServer&&!r.isWeb(),e.enableExternalTypeServer&&(e.enableAsyncProgram=!0)}(0,n2.Lm)(i.findRefsInBackgroundThread)&&(e.findRefsInBackgroundThread=i.findRefsInBackgroundThread),(0,n2.Lm)(i.enableTroubleshootMissingImports)&&(e.enableTroubleshootMissingImports=i.enableTroubleshootMissingImports),(0,n2.Lm)(i.aiHoverSummaries)&&(e.aiHoverSummaries=i.aiHoverSummaries),(0,n2.Lm)(i.generateWithTypeAnnotation)&&(e.generateWithTypeAnnotation=o.has("generatewithtypeannotation")?"off"!==e.typeCheckingMode:i.generateWithTypeAnnotation),(0,n2.Kg)(i.diagnosticsSource)&&(e.diagnosticsSource=i.diagnosticsSource.toLowerCase()),(0,n2.Kg)(i.pyrightVersion)&&(e.pyrightVersion=i.pyrightVersion),(0,n2.Lm)(i.referencesCodeLens)&&(e.referencesCodeLens=i.referencesCodeLens),(0,n2.Lm)(i.supportDocstringTemplate)&&(e.supportDocstringTemplate=i.supportDocstringTemplate),e.nodeExecutable=i.nodeExecutable;let m=i.typeServerExecutable;m&&(0,n2.Kg)(m)&&(e.typeServerExecutable=(0,sR.Q)(t,m,r));let y=i.typeServerArguments;y&&(0,n2.cy)(y)&&(e.typeServerArguments=y.map(e=>e.trim()).filter(e=>e.length>0)),(0,n2.Lm)(i.enableSnippetExtraTelemetry)&&(e.enableSnippetExtraTelemetry=i.enableSnippetExtraTelemetry),Object.keys(i).forEach(t=>{hL.has(t)||(e[t]=i[t])}),(0,n2.Kg)(i.languageServerMode)&&function(e,t,i){if(i.languageServerMode=e,"light"===e){t.has("exclude")&&(i.excludeFileSpecs=["**"]),t.has("indexing")&&(i.indexing=!1),t.has("enablepytestsupport")&&(i.enablePytestSupport=!1),t.has("typecheckingmode")&&(i.typeCheckingMode="off"),t.has("uselibrarycodefortypes")&&(i.useLibraryCodeForTypes=!1);return}if("full"===e){var r,n,a,s;t.has("autoimportcompletions")&&(i.autoImportCompletions=!0),t.has("showonlydirectdependenciesinautoimport")&&(i.showOnlyDirectDependenciesInAutoImport=!0),t.has("packageindexdepths")&&(i.indexOptions=null!=(r=i.indexOptions)?r:s6(),i.indexOptions.packageDepths=[["",4,!0]]),t.has("regeneratestdlibindices")&&(i.indexOptions=null!=(n=i.indexOptions)?n:s6(),i.indexOptions.regenerateStdLibIndices=!0),t.has("userfileindexinglimit")&&(i.indexOptions=null!=(a=i.indexOptions)?a:s6(),i.indexOptions.userFileIndexingLimit=-1),t.has("includealiasesfromuserfiles")&&(i.indexOptions=null!=(s=i.indexOptions)?s:s6(),i.indexOptions.includeAliasesFromUserFiles=!0),t.has("inlayhints.functionreturntypes")&&(i.functionReturnInlayTypeHints=!0),t.has("inlayhints.pytestparameters")&&(i.pytestParametersInlayTypeHints=!0),t.has("supportrestructuredtext")&&(i.supportRestructuredText=!0)}}(i.languageServerMode,o,e)}function hH(e,t,i){(0,n2.Kg)(i.runStartupCommands)?e.notebookRunStartupCommands=i.runStartupCommands:(0,n2.cy)(i.runStartupCommands)&&(e.notebookRunStartupCommands=i.runStartupCommands.join("\n"))}function hJ(e,t,i){let r=n4.z.parse(e,t);return i&&oy.isNotebookCell(r)?i.getMappedCellUri(r):r}function hY(e,t,i){let r=[];return e&&(r.push("\n"),r.push(":")),t&&r.push("{"),r.length>0?{firstTriggerCharacter:r[0],moreTriggerCharacter:r.slice(1)}:void 0}function hQ(e,t){let i="${workspaceFolder:",r=`${i}${e}}`,n=[];for(let e of s8(t)){if(e.startsWith(i)){if(!e.startsWith(r))continue;(e=(0,ak.Nw)(e.substring(r.length),"/")).startsWith("/")&&(e=e.substring(1))}e.endsWith(".ipynb")&&(e+="*"),n.push(e)}return n}async function hX(e,t){let i=e.service.serviceProvider.tryGet(nM.packageDiscoverer),r=cl(e.service.backgroundAnalysisProgram.program);t.showOnlyDirectDependenciesInAutoImport&&await (null==i?void 0:i.ensureDistributionToPackageMap(r)),t.reportExtraTelemetry?(await (null==i?void 0:i.computeInstalledPackages(r)),null==i||i.report(r)):null==i||i.reset(r,"serviceRestarted")}function hZ(e,t){return"unchanged"===t.kind?{uri:e,diagnostics:[]}:{uri:e,diagnostics:t.items}}function h0(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class h1{getIndices(e){let t=this._indicesPerService,i=oX.available()?()=>{if(oX.log(`GlobalIndices: program ${e.id} request indices`),0===t.size)oX.log("GlobalIndices: no indices");else for(let[e,i]of t){let t=i.libraryPerExecEnv;if(0===t.size)oX.log(`GlobalIndices: ${e} no library indices`);else for(let[i,r]of t)0===r.size?oX.log(`GlobalIndices: ${e} ${i.toString()} no indices`):oX.log(`GlobalIndices: ${e} ${i.toString()} indices: ${[...r.keys()].join(",")}`)}}:()=>{},r=this._getOrAddMapData(e.id);return{setWorkspaceIndex(t,i){let n=e.getSourceFileInfo(t);n&&(null==r||r.workspace.set(n,i))},clearWorkspaceIndices(){r.workspace=new WeakMap},getSourceIndex(t){let i=e.getSourceFileInfo(t);return i?null==r?void 0:r.workspace.get(i):void 0},getLibraryIndices:e=>(i(),null==r?void 0:r.libraryPerExecEnv.get(null!=e?e:n4.z.empty()))}}cloneIndex(e,t,i,r){if(this._lastLibraryMap&&this._usable(this._lastLibraryMap,t)){let n=this._lastLibraryMap.get(i);if(this._clonable(n,r))return this.setIndex(e,t,i,n,r),!0;this._lastLibraryMap=void 0}for(let n of this._indicesPerService.values())for(let a of n.libraryPerExecEnv.values()){if(!this._usable(a,t))continue;let n=a.get(i);if(this._clonable(n,r))return this._lastLibraryMap=a,this.setIndex(e,t,i,n,r),!0}return!1}cloneOrSetIndex(e,t,i,r,n){n&&this.cloneIndex(e,t,i,n)||this.setIndex(e,t,i,r,n)}setIndex(e,t,i,r,n){var a;let s=this._getOrAddMapData(e),o=(0,ap.PD)(s.libraryPerExecEnv,null!=(a=t.root)?a:n4.z.empty(),()=>new h5(t.pythonVersion,t.pythonPlatform));r.timestamp===n?o.set(i,r):o.set(i,{...r,timestamp:n})}reset(e,t=!1,i=!1){if(i&&(this._fileCache=void 0,this._hostCache=void 0,this._persistedLibrary.clear()),t){oX.log(`GlobalIndices: reset library for service ${e}`);let t=this._indicesPerService.get(e);null==t||t.libraryPerExecEnv.clear();return}this._indicesPerService.delete(e)}setFileCache(e){this._fileCache=e}getFileCache(){return this._fileCache}setHostCache(e){this._hostCache=e}getHostCache(){return this._hostCache}setPersistLibrary(e,t){this._persistedLibrary.set(e,t)}getPersistLibrary(e){return this._persistedLibrary.get(e)}requestComplete(e){let t=this._pendingIndexing.get(e);t&&(t.resolve(),this._pendingIndexing.delete(e))}indexingStarted(e){this._pendingIndexing.has(e)||this._pendingIndexing.set(e,(0,dI.ud)())}isIndexingInProgress(e){return this._pendingIndexing.has(e)}async waitForIndexingComplete(e,t){let i=this._pendingIndexing.get(e);i&&await Promise.race([i.promise,new Promise((e,i)=>{var r;t.isCancellationRequested&&i(Error("Cancelled")),null==(r=t.onCancellationRequested)||r.call(t,()=>i(Error("Cancelled")))})]).catch(()=>{(0,n8.Lj)(t)})}_getOrAddMapData(e){return(0,ap.PD)(this._indicesPerService,e,()=>({libraryPerExecEnv:new ar.Z,workspace:new WeakMap}))}_usable(e,t){return e.pythonPlatform===t.pythonPlatform&&e.pythonVersion===t.pythonVersion}_clonable(e,t){return!!e&&(!e.timestamp||e.timestamp===t)}constructor(){h0(this,"_fileCache",void 0),h0(this,"_hostCache",void 0),h0(this,"_persistedLibrary",new Map),h0(this,"_indicesPerService",new Map),h0(this,"_lastLibraryMap",void 0),h0(this,"_pendingIndexing",new Map)}}h0(h1,"empty",{getIndices:e=>({getSourceIndex:e=>void 0,getLibraryIndices:e=>void 0})}),(eA=h1||(h1={})).is=function(e){return e instanceof eA};class h5 extends ar.Z{constructor(e,t){super(),h0(this,"pythonVersion",void 0),h0(this,"pythonPlatform",void 0),this.pythonVersion=e,this.pythonPlatform=t}}function h4(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class h3{enqueue(e){let t=this._list.findIndex(t=>this._equalityChecker(t,e));-1!==t&&this._list.splice(t,1),this._list.unshift(e),this._list.length>this._size&&this._list.pop()}get(e){return this._list.filter(t=>this._keyGetter(t)===e)}take(e){return this._list.slice(0,Math.max(0,Math.min(e,this._list.length)))}constructor(e,t,i=(e,t)=>e===t){h4(this,"_size",void 0),h4(this,"_keyGetter",void 0),h4(this,"_equalityChecker",void 0),h4(this,"_list",void 0),this._size=e,this._keyGetter=t,this._equalityChecker=i,this._list=[]}}function h8(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class h2{getGlobalMRUQueue(e){return this._getQueue(this._globalMRUQueueMap,e)}getProgramMRUQueue(e,t){let i=this._programMRUQueueMap.get(e);return i||(i=new Map,this._programMRUQueueMap.set(e,i)),this._getQueue(i,t)}_getQueue(e,t){let i=e.get(t.name);return i||(i=new h3(t.maxSize,t.keyGetter,t.equalityChecker),e.set(t.name,i)),i}constructor(){h8(this,"_globalMRUQueueMap",new Map),h8(this,"_programMRUQueueMap",new WeakMap)}}(h2||(h2={})).is=function(e){return void 0!==e.getGlobalMRUQueue&&void 0!==e.getProgramMRUQueue};var h6=i(55890);function h7(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}(iO||(iO={})).is=function(e){return e&&"function"==typeof e.getParseResults};class h9{get changed(){return this._changedEmitter.event}isOpen(e){return this._openedFiles.has(e)}getOpenFiles(){let e=[];return this._openedFiles.forEach((t,i)=>{e.push(i)}),e}getOpenFileContents(e){let t=this._openedFiles.get(e);if(t)return t.getText()}updateFileContents(e,t){let i=this._openedFiles.get(e);i?this._openedFiles.set(e,h6.TextDocument.create(i.uri,i.languageId,i.version+1,t)):(this._openedFiles.set(e,h6.TextDocument.create(e.toString(),"python",0,t)),this._chainedFileUris.set(e,void 0)),this._clearResultCaches(e)}getChainedFileUri(e){return this._chainedFileUris.get(e)}getFileVersion(e){let t=this._openedFiles.get(e);return t?t.version:0}isCaseSensitive(e){return this._caseSensitivityDetector.isCaseSensitive(e)}addStubCode(e,t){let i=`__stub_${Date.now()}_${Math.random().toString(36).substring(7)}.pyi`,r=t?t.resolvePaths(i):n4.z.file(`/${i}`,this._serviceProvider);this.setFileOpened(r,null,e,{chainedFileUri:void 0,isTracked:!1,ipythonMode:sA.Bk.None});let n=this.getParseResults(r);return n||n6.fJ("Failed to get parse results for stub code"),n.moduleName="__stub__",ax.R8(n.parserOutput.parseTree).isGeneratedStubFile=!0,{uri:r,parseResults:n.parserOutput}}clearCache(){this._cachedResults.clear()}clearCacheForUri(e){this._clearResultCaches(e)}changeWatchedFiles(e){for(let t of e){let e=n4.z.parse(t.uri,this._caseSensitivityDetector);this._clearResultCaches(e)}}setFileOpened(e,t,i,r){this._openedFiles.set(e,h6.TextDocument.create(e.toString(),"python",t||0,i)),this._chainedFileUris.set(e,null==r?void 0:r.chainedFileUri),this._clearResultCaches(e)}setFileClosed(e,t){this._openedFiles.delete(e),this._chainedFileUris.delete(e),this._clearResultCaches(e)}enterEditMode(){this._preEditFiles=new ar.Z,this._preEditChainedUris=new ar.Z,this._openedFiles.forEach((e,t)=>{this._preEditFiles.set(t,e)})}exitEditMode(){let e=[];return this._openedFiles.forEach((t,i)=>{var r;let n=null==(r=this._preEditFiles)?void 0:r.get(i);n&&t.getText()!==n.getText()&&e.push({fileUri:i,range:{start:{line:0,character:0},end:{line:t.lineCount,character:0}},replacementText:t.getText()}),n&&t.getText()===n.getText()||this._clearResultCaches(i)}),this._preEditFiles&&(this._openedFiles=this._preEditFiles,this._chainedFileUris=this._preEditChainedUris||new ar.Z,this._preEditFiles=void 0,this._preEditChainedUris=void 0),e}hasParseResults(e){return this._cachedResults.has(e)}getParseResults(e){let t=this._cachedResults.get(e);return t||this._cachedResults.has(e)||(t=this._parseFile(e),this._cachedResults.set(e,t),t&&this._configOptions&&ax.xy(t.parserOutput.parseTree,this._buildFileInfo(e,this._configOptions,t)),this._changedEmitter.fire({uri:e,results:t})),t}getUri(e){var t;let i=null==(t=ax.R8(e))?void 0:t.fileUri;if(i)return i;n6.fJ(`ParserServiceImpl.getUri: No URI found for node ${e.id}. Are you using a node from a different parser?`)}setConfigOptions(e){this._configOptions=e}_clearResultCaches(e){this._cachedResults.delete(e),this._changedEmitter.fire({uri:e,results:void 0})}_getModuleName(e){return"__init__"===e.fileNameWithoutExtensions?e.getDirectory().fileNameWithoutExtensions:e.fileNameWithoutExtensions}_parseFile(e){var t;let i=null==(t=this._openedFiles.get(e))?void 0:t.getText();if(void 0===i&&this._fs.existsSync(e))try{i=this._fs.readFileSync(e,"utf8")}catch(e){}if("contentsasuri"===e.scheme)try{i=Buffer.from(e.query,"base64").toString("utf8")}catch(e){n6.fJ(`Failed to decode contentsasuri: ${e}`)}if(void 0!==i){let t=new az.b9,r=new a$._B;return r.useNotebookMode=oy.isNotebookCell(e),r.isStubFile=e.hasExtension(".pyi"),r.pythonVersion=this._getPythonVersion(e)||ai.K1,r.skipFunctionAndClassBody=!1,{...new a$.iX().parseSourceFile(i,r,t),moduleName:this._getModuleName(e),uri:e}}}_getPythonVersion(e){var t;return null==(t=this._serviceProvider.tryGet(nM.versionService))?void 0:t.getPythonVersion(e)}_makeFileId(e){let t=e.fileNameWithoutExtensions;t.length>8&&(t=t.substring(t.length-8));let i=this._nextFileId++;return`${t}/${i.toString()}`}_buildFileInfo(e,t,i){let r=new lb(e=>void 0,i.tokenizerOutput.lines),n=e.fileName,a=e.hasExtension(".pyi"),s=a&&(e.pathEndsWith("stdlib/typing.pyi")||"typing_extensions.pyi"===n),o=a&&(e.pathEndsWith("stdlib/_typeshed/__init__.pyi")||e.pathEndsWith("stdlib/_typeshed/_type_checker_internals.pyi")),l=!1;return a&&(e.pathEndsWith("stdlib/collections/__init__.pyi")||e.pathEndsWith("stdlib/asyncio/futures.pyi")||e.pathEndsWith("stdlib/asyncio/tasks.pyi")||e.pathEndsWith("stdlib/builtins.pyi")||e.pathEndsWith("stdlib/_importlib_modulespec.pyi")||e.pathEndsWith("stdlib/dataclasses.pyi")||e.pathEndsWith("stdlib/abc.pyi")||e.pathEndsWith("stdlib/enum.pyi")||e.pathEndsWith("stdlib/queue.pyi")||e.pathEndsWith("stdlib/string/templatelib.pyi")||e.pathEndsWith("stdlib/types.pyi")||e.pathEndsWith("stdlib/warnings.pyi"))&&(l=!0),{importLookup:()=>void 0,futureImports:i.parserOutput.futureImports,builtinsScope:void 0,diagnosticSink:r,executionEnvironment:t.findExecEnvironment(e),diagnosticRuleSet:t.diagnosticRuleSet,lines:i.tokenizerOutput.lines,typingSymbolAliases:i.parserOutput.typingSymbolAliases,definedConstants:t.defineConstant,fileId:this._makeFileId(e),fileUri:e,moduleName:this._getModuleName(e),isStubFile:a,isTypingStubFile:s,isTypingExtensionsStubFile:a&&"typing_extensions.pyi"===n,isTypeshedStubFile:o,isBuiltInStubFile:l,isInPyTypedPackage:!1,ipythonMode:oy.isNotebookCell(e)?sA.Bk.CellDocs:sA.Bk.None,accessedSymbolSet:new Set}}constructor(e,t,i,r){h7(this,"_fs",void 0),h7(this,"_caseSensitivityDetector",void 0),h7(this,"_serviceProvider",void 0),h7(this,"_cachedResults",void 0),h7(this,"_openedFiles",void 0),h7(this,"_chainedFileUris",void 0),h7(this,"_changedEmitter",void 0),h7(this,"_preEditFiles",void 0),h7(this,"_preEditChainedUris",void 0),h7(this,"_nextFileId",void 0),h7(this,"_configOptions",void 0),this._fs=e,this._caseSensitivityDetector=t,this._serviceProvider=r,this._cachedResults=new ar.Z,this._openedFiles=new ar.Z,this._chainedFileUris=new ar.Z,this._changedEmitter=iR.create(),this._nextFileId=1,this._configOptions=i}}var me=i(3258);function mt(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function mi(e,t,i){let r=e.getRule();return r===t||!!i&&i.mapExternalCode(r)===t}(iU||(iU={})).is=function(e){return!!e&&"function"==typeof e.mapExternalCode};class mr{mapExternalCode(e){var t;return null==(t=this._activeMapper)?void 0:t.mapExternalCode(e)}onUpdateSettings(e){this._activeMapper=mr._isTyTypeServer(e.typeServerExecutable)?new mn:void 0}static _isTyTypeServer(e){return!(!e||e.isEmpty())&&e.fileName.toLowerCase().startsWith("tsp-ty")}constructor(){mt(this,"_activeMapper",void 0)}}class mn{mapExternalCode(e){if(e)return mn._tyToPyrightMap.get(e)}}mt(mn,"_tyToPyrightMap",new Map([["unresolved-import",me.y.reportMissingImports],["possibly-missing-import",me.y.reportMissingModuleSource],["unresolved-reference",me.y.reportUndefinedVariable],["possibly-unresolved-reference",me.y.reportUnboundVariable],["call-abstract-method",me.y.reportAbstractUsage],["abstract-method-in-final-class",me.y.reportAbstractUsage],["call-non-callable",me.y.reportCallIssue],["call-top-callable",me.y.reportCallIssue],["missing-argument",me.y.reportCallIssue],["too-many-positional-arguments",me.y.reportCallIssue],["no-matching-overload",me.y.reportCallIssue],["unknown-argument",me.y.reportCallIssue],["parameter-already-assigned",me.y.reportCallIssue],["positional-only-parameter-as-kwarg",me.y.reportCallIssue],["invalid-assignment",me.y.reportAssignmentType],["invalid-return-type",me.y.reportReturnType],["invalid-argument-type",me.y.reportArgumentType],["unresolved-attribute",me.y.reportAttributeAccessIssue],["possibly-missing-attribute",me.y.reportAttributeAccessIssue],["invalid-attribute-access",me.y.reportAttributeAccessIssue],["not-subscriptable",me.y.reportIndexIssue],["index-out-of-bounds",me.y.reportIndexIssue],["invalid-key",me.y.reportIndexIssue],["unsupported-operator",me.y.reportOperatorIssue],["invalid-type-form",me.y.reportInvalidTypeForm],["invalid-type-arguments",me.y.reportInvalidTypeArguments],["invalid-type-variable-constraints",me.y.reportInvalidTypeVarUse],["invalid-type-variable-bound",me.y.reportInvalidTypeVarUse],["invalid-type-variable-default",me.y.reportInvalidTypeVarUse],["invalid-legacy-type-variable",me.y.reportInvalidTypeVarUse],["invalid-paramspec",me.y.reportInvalidTypeVarUse],["invalid-overload",me.y.reportInconsistentOverload],["useless-overload-body",me.y.reportInconsistentOverload],["invalid-method-override",me.y.reportIncompatibleMethodOverride],["invalid-explicit-override",me.y.reportImplicitOverride],["deprecated",me.y.reportDeprecated],["conflicting-declarations",me.y.reportRedeclaration],["invalid-declaration",me.y.reportRedeclaration],["subclass-of-final-class",me.y.reportGeneralTypeIssues],["override-of-final-method",me.y.reportGeneralTypeIssues],["override-of-final-variable",me.y.reportGeneralTypeIssues],["type-assertion-failure",me.y.reportAssertTypeFailure],["redundant-cast",me.y.reportUnnecessaryCast],["unused-ignore-comment",me.y.reportUnnecessaryTypeIgnoreComment],["unused-type-ignore-comment",me.y.reportUnnecessaryTypeIgnoreComment],["not-iterable",me.y.reportGeneralTypeIssues],["invalid-context-manager",me.y.reportGeneralTypeIssues],["invalid-exception-caught",me.y.reportGeneralTypeIssues],["invalid-raise",me.y.reportGeneralTypeIssues],["unsupported-bool-conversion",me.y.reportGeneralTypeIssues],["conflicting-metaclass",me.y.reportGeneralTypeIssues],["cyclic-class-definition",me.y.reportGeneralTypeIssues],["inconsistent-mro",me.y.reportGeneralTypeIssues],["duplicate-base",me.y.reportGeneralTypeIssues],["invalid-base",me.y.reportGeneralTypeIssues],["unsupported-base",me.y.reportGeneralTypeIssues],["invalid-protocol",me.y.reportGeneralTypeIssues],["isinstance-against-protocol",me.y.reportGeneralTypeIssues],["isinstance-against-typed-dict",me.y.reportGeneralTypeIssues],["missing-typed-dict-key",me.y.reportGeneralTypeIssues],["invalid-typed-dict-statement",me.y.reportGeneralTypeIssues],["invalid-typed-dict-header",me.y.reportGeneralTypeIssues],["invalid-dataclass",me.y.reportGeneralTypeIssues],["invalid-dataclass-override",me.y.reportGeneralTypeIssues],["dataclass-field-order",me.y.reportGeneralTypeIssues],["invalid-frozen-dataclass-subclass",me.y.reportGeneralTypeIssues],["invalid-named-tuple",me.y.reportGeneralTypeIssues],["super-call-in-named-tuple-method",me.y.reportGeneralTypeIssues],["cyclic-type-alias-definition",me.y.reportGeneralTypeIssues],["fstring-type-annotation",me.y.reportGeneralTypeIssues],["byte-string-type-annotation",me.y.reportGeneralTypeIssues],["raw-string-type-annotation",me.y.reportGeneralTypeIssues],["implicit-concatenated-string-type-annotation",me.y.reportGeneralTypeIssues],["invalid-syntax-in-forward-annotation",me.y.reportGeneralTypeIssues],["escape-character-in-forward-annotation",me.y.reportGeneralTypeIssues],["division-by-zero",me.y.reportGeneralTypeIssues],["zero-stepsize-in-slice",me.y.reportGeneralTypeIssues],["static-assert-error",me.y.reportGeneralTypeIssues],["empty-body",me.y.reportGeneralTypeIssues],["invalid-parameter-default",me.y.reportGeneralTypeIssues],["invalid-await",me.y.reportGeneralTypeIssues],["conflicting-argument-forms",me.y.reportGeneralTypeIssues],["possibly-missing-implicit-call",me.y.reportGeneralTypeIssues],["invalid-super-argument",me.y.reportGeneralTypeIssues],["invalid-type-checking-constant",me.y.reportGeneralTypeIssues],["invalid-type-guard-definition",me.y.reportGeneralTypeIssues],["invalid-type-guard-call",me.y.reportGeneralTypeIssues],["invalid-metaclass",me.y.reportGeneralTypeIssues],["invalid-newtype",me.y.reportGeneralTypeIssues],["invalid-type-alias-type",me.y.reportGeneralTypeIssues],["invalid-generic-enum",me.y.reportGeneralTypeIssues],["invalid-generic-class",me.y.reportGeneralTypeIssues],["instance-layout-conflict",me.y.reportGeneralTypeIssues],["ambiguous-protocol-member",me.y.reportGeneralTypeIssues],["duplicate-kw-only",me.y.reportGeneralTypeIssues],["unsupported-dynamic-base",me.y.reportGeneralTypeIssues],["assert-type-unspellable-subtype",me.y.reportGeneralTypeIssues],["unavailable-implicit-super-arguments",me.y.reportGeneralTypeIssues],["ineffective-final",me.y.reportGeneralTypeIssues],["final-without-value",me.y.reportGeneralTypeIssues],["invalid-total-ordering",me.y.reportGeneralTypeIssues],["invalid-legacy-positional-parameter",me.y.reportGeneralTypeIssues],["unresolved-global",me.y.reportUndefinedVariable],["ignore-comment-unknown-rule",me.y.reportGeneralTypeIssues],["invalid-ignore-comment",me.y.reportGeneralTypeIssues]]));class ma{register(e){this._plugins.push(e),this._plugins.sort((e,t)=>e.priority-t.priority)}unregister(e){let t=this._plugins.findIndex(t=>t.name===e);return t>=0&&(this._plugins.splice(t,1),!0)}getPlugins(){return this._plugins}async processAsync(e,t){let i=e;for(let e of this._plugins)try{i=(await e.processAsync(i,t)).docString}catch(i){t.console.error(`Error in docstring plugin ${e.name}: ${i}`)}return i}clear(){this._plugins=[]}static is(e){return e instanceof ma}constructor(){var e,t;t=[],(e="_plugins")in this?Object.defineProperty(this,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):this[e]=t}}(iL||(iL={})).is=function(e){return e&&"function"==typeof e.create};class ms{get level(){return this._console.level}log(e,t){(0,n1.Rm)(this._console,e,t)}constructor(e){var t,i;i=void 0,(t="_console")in this?Object.defineProperty(this,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):this[t]=i,this._console=e}}(eD=ms||(ms={})).is=function(e){return e instanceof eD};class mo{get name(){return process.platform}isMac(){return"darwin"===process.platform}isLinux(){return"linux"===process.platform}isWindows(){return"win32"===process.platform}is64(){return"x64"===process.arch}isWeb(){return!!process.browser}getPlatformName(){return process.platform}isOnnxSupported(){return(this.isWindows()||this.isLinux())&&this.is64()||this.isMac()}isBundle(){return sC.basename(__filename).endsWith(".bundle.js")}}(eE=mo||(mo={})).is=function(e){return e instanceof eE};var ml=i(41592),md=i(97532);let mu={kind:1,size:4,write:(e,t,i)=>e.setUint32(t,i,!0),read:(e,t)=>e.getUint32(t,!0)};(iW||(iW={})).create=function(e){return{params:e,memorySize:function(e){let t=0;for(let i of e)t+=i.size;return t}(e)}};var mp=((eR={})[eR.param=1]="param",eR[eR.result=2]="result",eR[eR.both=3]="both",eR);(eN=iB||(iB={})).Null={items:[],size:0},eN.create=function(e){return{items:e,size:function(e){let t=0;for(let i of e)t+=i.memorySize;return t}(e)}},(eM=i$||(i$={})).isCustom=function(e){return e&&"function"==typeof e.copy&&"number"==typeof e.size},eM.isArguments=function(e){return e&&Array.isArray(e.items)&&"number"==typeof e.size},(eO=ij||(ij={})).isCustom=function(e){return e&&"function"==typeof e.copy},eO.isArguments=function(e){return e&&Array.isArray(e)},eU=iz||(iz={}),c=[],h=new Map,m=new Map,eU.functionAt=function(e){if(e>=c.length)throw Error("Should never happen");return c[e]},eU.get=function(e){let t=h.get(e);if(void 0===t)throw Error("Should never happen");return c[t]},eU.getIndex=function(e){let t=h.get(e);if(void 0===t)throw Error("Should never happen");return t},eU.getName=function(e){let t=m.get(e);if(void 0===t)throw Error("Should never happen");return t},eU.add=function(e){let t=c.length;c.push(e),h.set(e.name,t),m.set(t,e.name)};let mc=iz;(eL=iK||(iK={})).size=1,eL.$ptr=mu,eL.$param={kind:2,size:eL.size,write:(e,t,i)=>e.setUint8(t,i),read:(e,t)=>e.getUint8(t)};let mh=iK;(ez=iV||(iV={})).$ptr=mu,ez.createTransfer=function(e,t){return{memorySize:e,copy:(i,r,n,a)=>((1===t||3===t)&&new Uint8Array(n,a,e).set(new Uint8Array(i,r,e)),1===t?void 0:{from:a,to:r,size:e})}},(eW=iq||(iq={})).size=2,eW.$ptr=mu,eW.$param={kind:2,size:eW.size,write:(e,t,i)=>e.setUint16(t,i,!0),read:(e,t)=>e.getUint16(t,!0)},(eB=iG||(iG={})).size=4,eB.$ptr=mu,eB.$param={kind:2,size:eB.size,write:(e,t,i)=>e.setUint32(t,i,!0),read:(e,t)=>e.getUint32(t,!0)},eB.$transfer={memorySize:eB.size,copy:(e,t,i,r)=>({from:r,to:t,size:eB.size})};let mm=iG;function my(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}(e$=iH||(iH={})).size=8,e$.$ptr=mu,e$.$param={kind:3,size:e$.size,write:(e,t,i)=>e.setBigUint64(t,i,!0),read:(e,t)=>e.getBigUint64(t,!0)},e$.$transfer={memorySize:e$.size,copy:(e,t,i,r)=>({from:r,to:t,size:e$.size})},(ej=iJ||(iJ={})).size=8,ej.$ptr=mu,ej.$param={kind:3,size:ej.size,write:(e,t,i)=>e.setBigInt64(t,i,!0),read:(e,t)=>e.getBigInt64(t,!0)},(eK=iY||(iY={})).size=4,eK.$param=mu,eK.createTransfer=function(e,t){return{memorySize:e*eK.size,copy:(e,i,r,n)=>((1===t||3===t)&&new Uint8Array(r,n,eK.size).set(new Uint8Array(e,i,eK.size)),1===t?void 0:{from:n,to:i,size:eK.size})}};class mg{[Symbol.iterator](){return this.values()}values(){let e=0,t={[Symbol.iterator]:()=>t,next:()=>e>=this.len?{done:!0,value:void 0}:{done:!1,value:this.struct.create(this.memory,this.ptr+e++*this.struct.size)}};return t}get(e){if(e<0||e>=this.len)throw new mv(i5.inval);return this.struct.create(this.memory,this.ptr+e*this.struct.size)}constructor(e,t,i,r){my(this,"memory",void 0),my(this,"ptr",void 0),my(this,"len",void 0),my(this,"struct",void 0),this.memory=e,this.ptr=t,this.len=i,this.struct=r}}class mf{get(e){if(e<0||e>=this.len)throw new mv(i5.inval);return this.memory.getUint32(this.ptr+4*e,!0)}set(e,t){if(e<0||e>=this.len)throw new mv(i5.inval);this.memory.setUint32(this.ptr+4*e,t,!0)}[Symbol.iterator](){return this.values()}values(){let e=0,t={[Symbol.iterator]:()=>t,next:()=>e>=this.len?{done:!0,value:void 0}:{done:!1,value:this.memory.getUint32(this.ptr+4*e++,!0)}};return t}constructor(e,t,i){my(this,"memory",void 0),my(this,"ptr",void 0),my(this,"len",void 0),this.memory=e,this.ptr=t,this.len=i}}(eV=iQ||(iQ={})).$param=iG.$param,eV.$ptr=iY.$param,eV.$transfer=iG.$transfer,(iX||(iX={})).$param=iG.$param,(eq=i5||(i5={})).success=0,eq.toobig=1,eq.acces=2,eq.addrinuse=3,eq.addrnotavail=4,eq.afnosupport=5,eq.again=6,eq.already=7,eq.badf=8,eq.badmsg=9,eq.busy=10,eq.canceled=11,eq.child=12,eq.connaborted=13,eq.connrefused=14,eq.connreset=15,eq.deadlk=16,eq.destaddrreq=17,eq.dom=18,eq.dquot=19,eq.exist=20,eq.fault=21,eq.fbig=22,eq.hostunreach=23,eq.idrm=24,eq.ilseq=25,eq.inprogress=26,eq.intr=27,eq.inval=28,eq.io=29,eq.isconn=30,eq.isdir=31,eq.loop=32,eq.mfile=33,eq.mlink=34,eq.msgsize=35,eq.multihop=36,eq.nametoolong=37,eq.netdown=38,eq.netreset=39,eq.netunreach=40,eq.nfile=41,eq.nobufs=42,eq.nodev=43,eq.noent=44,eq.noexec=45,eq.nolck=46,eq.nolink=47,eq.nomem=48,eq.nomsg=49,eq.noprotoopt=50,eq.nospc=51,eq.nosys=52,eq.notconn=53,eq.notdir=54,eq.notempty=55,eq.notrecoverable=56,eq.notsock=57,eq.notsup=58,eq.notty=59,eq.nxio=60,eq.overflow=61,eq.ownerdead=62,eq.perm=63,eq.pipe=64,eq.proto=65,eq.protonosupport=66,eq.prototype=67,eq.range=68,eq.rofs=69,eq.spipe=70,eq.srch=71,eq.stale=72,eq.timedout=73,eq.txtbsy=74,eq.xdev=75,eq.notcapable=76,eq.toString=function(e){switch(e){case eq.success:return"success";case eq.toobig:return"toobig";case eq.acces:return"acces";case eq.addrinuse:return"addrinuse";case eq.addrnotavail:return"addrnotavail";case eq.afnosupport:return"afnosupport";case eq.again:return"again";case eq.already:return"already";case eq.badf:return"badf";case eq.badmsg:return"badmsg";case eq.busy:return"busy";case eq.canceled:return"canceled";case eq.child:return"child";case eq.connaborted:return"connaborted";case eq.connrefused:return"connrefused";case eq.connreset:return"connreset";case eq.deadlk:return"deadlk";case eq.destaddrreq:return"destaddrreq";case eq.dom:return"dom";case eq.dquot:return"dquot";case eq.exist:return"exist";case eq.fault:return"fault";case eq.fbig:return"fbig";case eq.hostunreach:return"hostunreach";case eq.idrm:return"idrm";case eq.ilseq:return"ilseq";case eq.inprogress:return"inprogress";case eq.intr:return"intr";case eq.inval:return"inval";case eq.io:return"io";case eq.isconn:return"isconn";case eq.isdir:return"isdir";case eq.loop:return"loop";case eq.mfile:return"mfile";case eq.mlink:return"mlink";case eq.msgsize:return"msgsize";case eq.multihop:return"multihop";case eq.nametoolong:return"nametoolong";case eq.netdown:return"netdown";case eq.netreset:return"netreset";case eq.netunreach:return"netunreach";case eq.nfile:return"nfile";case eq.nobufs:return"nobufs";case eq.nodev:return"nodev";case eq.noent:return"noent";case eq.noexec:return"noexec";case eq.nolck:return"nolck";case eq.nolink:return"nolink";case eq.nomem:return"nomem";case eq.nomsg:return"nomsg";case eq.noprotoopt:return"noprotoopt";case eq.nospc:return"nospc";case eq.nosys:return"nosys";case eq.notconn:return"notconn";case eq.notdir:return"notdir";case eq.notempty:return"notempty";case eq.notrecoverable:return"notrecoverable";case eq.notsock:return"notsock";case eq.notsup:return"notsup";case eq.notty:return"notty";case eq.nxio:return"nxio";case eq.overflow:return"overflow";case eq.ownerdead:return"ownerdead";case eq.perm:return"perm";case eq.pipe:return"pipe";case eq.proto:return"proto";case eq.protonosupport:return"protonosupport";case eq.prototype:return"prototype";case eq.range:return"range";case eq.rofs:return"rofs";case eq.spipe:return"spipe";case eq.srch:return"srch";case eq.stale:return"stale";case eq.timedout:return"timedout";case eq.txtbsy:return"txtbsy";case eq.xdev:return"xdev";case eq.notcapable:return"notcapable";default:return e.toString()}};class mv extends Error{constructor(e){super(),my(this,"errno",void 0),this.errno=e}}var m_=i4||(i4={});function mT(e,t){return(e&t)===t}m_.fd_datasync=1n<<0n,m_.fd_read=1n<<1n,m_.fd_seek=1n<<2n,m_.fd_fdstat_set_flags=1n<<3n,m_.fd_sync=1n<<4n,m_.fd_tell=1n<<5n,m_.fd_write=1n<<6n,m_.fd_advise=1n<<7n,m_.fd_allocate=1n<<8n,m_.path_create_directory=1n<<9n,m_.path_create_file=1n<<10n,m_.path_link_source=1n<<11n,m_.path_link_target=1n<<12n,m_.path_open=1n<<13n,m_.fd_readdir=1n<<14n,m_.path_readlink=1n<<15n,m_.path_rename_source=1n<<16n,m_.path_rename_target=1n<<17n,m_.path_filestat_get=1n<<18n,m_.path_filestat_set_size=1n<<19n,m_.path_filestat_set_times=1n<<20n,m_.fd_filestat_get=1n<<21n,m_.fd_filestat_set_size=1n<<22n,m_.fd_filestat_set_times=1n<<23n,m_.path_symlink=1n<<24n,m_.path_remove_directory=1n<<25n,m_.path_unlink_file=1n<<26n,m_.poll_fd_readwrite=1n<<27n,m_.sock_shutdown=1n<<28n,m_.sock_accept=1n<<29n,m_.contains=mT,m_.supportFdflags=function(e,t){return t===i3.none||(i3.dsyncOn(t)?mT(e,m_.fd_datasync|m_.fd_sync):!i3.rsyncOn(t)||mT(e,m_.fd_sync))},m_.supportOflags=function(e,t){return t===i2.none||(i2.creatOn(t)?mT(e,m_.path_create_file):!i2.truncOn(t)||mT(e,m_.path_filestat_set_size))},m_.None=0n,m_.All=m_.fd_datasync|m_.fd_read|m_.fd_seek|m_.fd_fdstat_set_flags|m_.fd_sync|m_.fd_tell|m_.fd_write|m_.fd_advise|m_.fd_allocate|m_.path_create_directory|m_.path_create_file|m_.path_link_source|m_.path_link_target|m_.path_open|m_.fd_readdir|m_.path_readlink|m_.path_rename_source|m_.path_rename_target|m_.path_filestat_get|m_.path_filestat_set_size|m_.path_filestat_set_times|m_.fd_filestat_get|m_.fd_filestat_set_size|m_.fd_filestat_set_times|m_.path_symlink|m_.path_remove_directory|m_.path_unlink_file|m_.poll_fd_readwrite|m_.sock_shutdown|m_.sock_accept,m_.ReadOnly=m_.fd_read|m_.fd_seek|m_.fd_tell|m_.path_open|m_.fd_readdir|m_.path_readlink|m_.path_filestat_get|m_.fd_filestat_get|m_.poll_fd_readwrite,m_.toString=function(e){let t=[];return(mT(e,m_.fd_datasync)&&t.push("fd_datasync"),mT(e,m_.fd_read)&&t.push("fd_read"),mT(e,m_.fd_seek)&&t.push("fd_seek"),mT(e,m_.fd_fdstat_set_flags)&&t.push("fd_fdstat_set_flags"),mT(e,m_.fd_sync)&&t.push("fd_sync"),mT(e,m_.fd_tell)&&t.push("fd_tell"),mT(e,m_.fd_write)&&t.push("fd_write"),mT(e,m_.fd_advise)&&t.push("fd_advise"),mT(e,m_.fd_allocate)&&t.push("fd_allocate"),mT(e,m_.path_create_directory)&&t.push("path_create_directory"),mT(e,m_.path_create_file)&&t.push("path_create_file"),mT(e,m_.path_link_source)&&t.push("path_link_source"),mT(e,m_.path_link_target)&&t.push("path_link_target"),mT(e,m_.path_open)&&t.push("path_open"),mT(e,m_.fd_readdir)&&t.push("fd_readdir"),mT(e,m_.path_readlink)&&t.push("path_readlink"),mT(e,m_.path_rename_source)&&t.push("path_rename_source"),mT(e,m_.path_rename_target)&&t.push("path_rename_target"),mT(e,m_.path_filestat_get)&&t.push("path_filestat_get"),mT(e,m_.path_filestat_set_size)&&t.push("path_filestat_set_size"),mT(e,m_.path_filestat_set_times)&&t.push("path_filestat_set_times"),mT(e,m_.fd_filestat_get)&&t.push("fd_filestat_get"),mT(e,m_.fd_filestat_set_size)&&t.push("fd_filestat_set_size"),mT(e,m_.fd_filestat_set_times)&&t.push("fd_filestat_set_times"),mT(e,m_.path_symlink)&&t.push("path_symlink"),mT(e,m_.path_remove_directory)&&t.push("path_remove_directory"),mT(e,m_.path_unlink_file)&&t.push("path_unlink_file"),mT(e,m_.poll_fd_readwrite)&&t.push("poll_fd_readwrite"),mT(e,m_.sock_shutdown)&&t.push("sock_shutdown"),mT(e,m_.sock_accept)&&t.push("sock_accept"),0===t.length)?"none":t.join(" | ")},(i4||(i4={})).$param=iH.$param,(iZ||(iZ={})).$param=iH.$param,function(e){function t(t){return(t&e.append)!=0}function i(t){return(t&e.dsync)!=0}function r(t){return(t&e.nonblock)!=0}function n(t){return(t&e.rsync)!=0}function a(t){return(t&e.sync)!=0}e.none=0,e.append=1,e.appendOn=t,e.dsync=2,e.dsyncOn=i,e.nonblock=4,e.nonblockOn=r,e.rsync=8,e.rsyncOn=n,e.sync=16,e.syncOn=a,e.toString=function(e){let s=[];return(t(e)&&s.push("append"),i(e)&&s.push("dsync"),r(e)&&s.push("nonblock"),n(e)&&s.push("rsync"),a(e)&&s.push("sync"),0===s.length)?"none":s.join(" | ")}}(i3||(i3={})),(i3||(i3={})).$param=iq.$param;var mw=i8||(i8={});function mb(e){return(e&mw.symlink_follow)!=0}mw.none=0,mw.symlink_follow=1,mw.symlink_followOn=mb,mw.toString=function(e){let t=[];return(mb(e)&&t.push("symlink_follow"),0===t.length)?"none":t.join(" | ")},(i8||(i8={})).$param=iG.$param,function(e){function t(t){return(t&e.creat)!=0}function i(t){return(t&e.directory)!=0}function r(t){return(t&e.excl)!=0}function n(t){return(t&e.trunc)!=0}e.none=0,e.creat=1,e.creatOn=t,e.creatOff=function(t){return(t&e.creat)==0},e.directory=2,e.directoryOn=i,e.excl=4,e.exclOn=r,e.trunc=8,e.truncOn=n,e.toString=function(e){let a=[];return t(e)&&a.push("creat"),i(e)&&a.push("directory"),r(e)&&a.push("excl"),n(e)&&a.push("trunc"),0===a.length&&a.push("none"),a.join(" | ")}}(i2||(i2={})),(i2||(i2={})).$param=iq.$param,(eG=i6||(i6={})).realtime=0,eG.monotonic=1,eG.process_cputime_id=2,eG.thread_cputime_id=3,eG.toString=function(e){switch(e){case eG.realtime:return"realtime";case eG.monotonic:return"monotonic";case eG.process_cputime_id:return"process_cputime_id";case eG.thread_cputime_id:return"thread_cputime_id";default:return e.toString()}},(eH=i6||(i6={})).$param=iG.$param,eH.$transfer=iG.$transfer,(i7||(i7={})).dir=0,(eJ=i9||(i9={})).unknown=0,eJ.block_device=1,eJ.character_device=2,eJ.directory=3,eJ.regular_file=4,eJ.socket_dgram=5,eJ.socket_stream=6,eJ.symbolic_link=7,eJ.toString=function(e){switch(e){case eJ.unknown:return"unknown";case eJ.block_device:return"block_device";case eJ.character_device:return"character_device";case eJ.directory:return"directory";case eJ.regular_file:return"regular_file";case eJ.socket_dgram:return"socket_dgram";case eJ.socket_stream:return"socket_stream";case eJ.symbolic_link:return"symbolic_link";default:return e.toString()}},(eY=re||(re={})).normal=0,eY.sequential=1,eY.random=2,eY.willneed=3,eY.dontneed=4,eY.noreuse=5,eY.toString=function(e){switch(e){case eY.normal:return"normal";case eY.sequential:return"sequential";case eY.random:return"random";case eY.willneed:return"willneed";case eY.dontneed:return"dontneed";case eY.noreuse:return"noreuse";default:return e.toString()}},(eQ=re||(re={})).$ptr=iK.$ptr,eQ.$param=iK.$param,(eX=rt||(rt={})).$ptr=iY.$param,eX.$param=iH.$param,eX.$transfer=iH.$transfer,(eZ=i0||(i0={})).$ptr=iY.$param,eZ.$param=iH.$param,eZ.$transfer=iH.$transfer,(e0=ri||(ri={})).size=64,e0.create=function(e,t){return{get $ptr(){return t},get dev(){return e.getBigUint64(t+0,!0)},set dev(value){e.setBigUint64(t+0,value,!0)},get ino(){return e.getBigUint64(t+8,!0)},set ino(value){e.setBigUint64(t+8,value,!0)},get filetype(){return e.getUint8(t+16)},set filetype(value){e.setUint8(t+16,value)},get nlink(){return e.getBigUint64(t+24,!0)},set nlink(value){e.setBigUint64(t+24,value,!0)},get size(){return e.getBigUint64(t+32,!0)},set size(value){e.setBigUint64(t+32,value,!0)},get atim(){return e.getBigUint64(t+40,!0)},set atim(value){e.setBigUint64(t+40,value,!0)},get mtim(){return e.getBigUint64(t+48,!0)},set mtim(value){e.setBigUint64(t+48,value,!0)},get ctim(){return e.getBigUint64(t+56,!0)},set ctim(value){e.setBigUint64(t+56,value,!0)}}},e0.createHeap=function(){return{get $ptr(){throw new mv(i5.inval)},dev:0n,ino:0n,filetype:i9.unknown,nlink:0n,size:0n,atim:0n,mtim:0n,ctim:0n}},(e1=ri||(ri={})).$ptr=iY.$param,e1.$transfer=iV.createTransfer(e1.size,mp.result),(i1||(i1={})).$param=iJ.$param,(e5=rr||(rr={})).set=0,e5.cur=1,e5.end=2,e5.toString=function(e){switch(e){case e5.set:return"set";case e5.cur:return"cur";case e5.end:return"end";default:return e.toString()}},(rr||(rr={})).$param=iK.$param,(e4=rn||(rn={})).size=24,e4.alignment=8,e4.create=function(e,t){return{get $ptr(){return t},get fs_filetype(){return e.getUint8(t+0)},set fs_filetype(value){e.setUint8(t+0,value)},get fs_flags(){return e.getUint16(t+2,!0)},set fs_flags(value){e.setUint16(t+2,value,!0)},get fs_rights_base(){return e.getBigUint64(t+8,!0)},set fs_rights_base(value){e.setBigUint64(t+8,value,!0)},get fs_rights_inheriting(){return e.getBigUint64(t+16,!0)},set fs_rights_inheriting(value){e.setBigUint64(t+16,value,!0)}}},(e3=rn||(rn={})).$ptr=iY.$param,e3.$transfer=iV.createTransfer(e3.size,mp.result),function(e){function t(t){return(t&e.atim)!=0}function i(t){return(t&e.atim_now)!=0}function r(t){return(t&e.mtim)!=0}function n(t){return(t&e.mtim_now)!=0}e.atim=1,e.atimOn=t,e.atim_now=2,e.atim_nowOn=i,e.mtim=4,e.mtimOn=r,e.mtim_now=8,e.mtim_nowOn=n,e.toString=function(e){let a=[];return t(e)&&a.push("atim"),i(e)&&a.push("atim_now"),r(e)&&a.push("mtim"),n(e)&&a.push("mtim_now"),a.join(" | ")}}(ra||(ra={})),(ra||(ra={})).$param=iq.$param,(e8=rs||(rs={})).size=8,e8.alignment=4,e8.create=function(e,t){return e.setUint8(t,i7.dir),{get $ptr(){return t},get preopentype(){return e.getUint8(t+0)},set preopentype(value){e.setUint8(t+0,value)},get len(){return e.getUint32(t+4,!0)},set len(value){e.setUint32(t+4,value,!0)}}},(e2=rs||(rs={})).$ptr=iY.$param,e2.$transfer=iV.createTransfer(e2.size,mp.result),(e6=ro||(ro={})).size=8,e6.create=function(e,t){return{get $ptr(){return t},get buf(){return e.getUint32(t+0,!0)},set buf(value){e.setUint32(t+0,value,!0)},get buf_len(){return e.getUint32(t+4,!0)},set buf_len(value){e.setUint32(t+4,value,!0)}}},(e7=ro||(ro={})).$ptr=iY.$param,e7.createTransfer=function(e,t,i){let r=e7.size*i;for(let n of new mg(e,t,i,e7).values())r+=n.buf_len;return{memorySize:r,copy:(e,r,n,a)=>{if(r!==t)throw Error("IovecPtrParam needs to be used as an instance object");let s=new mg(new DataView(e),r,i,e7),o=new mg(new DataView(n),a,i,e7),l=a+e7.size*i,d=[];for(let e=0;e<i;e++){let t=s.get(e),i=o.get(e);i.buf=l,i.buf_len=t.buf_len,l+=i.buf_len,d.push({from:i.buf,to:t.buf,size:i.buf_len})}return d}}},(e9=rl||(rl={})).size=8,e9.create=function(e,t){return{get $ptr(){return t},get buf(){return e.getUint32(t+0,!0)},set buf(value){e.setUint32(t+0,value,!0)},get buf_len(){return e.getUint32(t+4,!0)},set buf_len(value){e.setUint32(t+4,value,!0)}}},(te=rl||(rl={})).$ptr=iY.$param,te.createTransfer=function(e,t,i){let r=te.size*i;for(let n of new mg(e,t,i,te).values())r+=n.buf_len;return{memorySize:r,copy:(e,r,n,a)=>{if(r!==t)throw Error("CiovecPtrParam needs to be used as an instance object");let s=new mg(new DataView(e),r,i,te),o=new mg(new DataView(n),a,i,te),l=new Uint8Array(n),d=a+te.size*i;for(let t=0;t<i;t++){let i=s.get(t),r=o.get(t);r.buf=d,r.buf_len=i.buf_len,l.set(new Uint8Array(e,i.buf,i.buf_len),r.buf),d+=r.buf_len}return[]}}},(tt=rd||(rd={})).size=24,tt.create=function(e,t){return{get $ptr(){return t},get d_next(){return e.getBigUint64(t+0,!0)},set d_next(value){e.setBigUint64(t+0,value,!0)},get d_ino(){return e.getBigUint64(t+8,!0)},set d_ino(value){e.setBigUint64(t+8,value,!0)},get d_namlen(){return e.getUint32(t+16,!0)},set d_namlen(value){e.setUint32(t+16,value,!0)},get d_type(){return e.getUint8(t+20)},set d_type(value){e.setUint8(t+20,value)}}},(ti=rd||(rd={})).$ptr=iY.$param,ti.createTransfer=function(e){return iV.createTransfer(e,mp.result)},(tr=ru||(ru={})).clock=0,tr.fd_read=1,tr.fd_write=2,(rp||(rp={})).fd_readwrite_hangup=1,(tn=rc||(rc={})).size=16,tn.alignment=8,tn.create=function(e,t){return{set nbytes(value){e.setBigUint64(t+0,value,!0)},set flags(value){e.setUint16(t+8,value,!0)}}},(ta=rh||(rh={})).size=32,ta.alignment=8,ta.create=function(e,t){return{set userdata(value){e.setBigUint64(t+0,value,!0)},set error(value){e.setUint16(t+8,value,!0)},set type(value){e.setUint8(t+10,value)},get fd_readwrite(){return rc.create(e,t+16)}}},(ts=rh||(rh={})).$ptr=iY.$param,ts.createTransfer=function(e){return iV.createTransfer(ts.size*e,mp.result)},(rm||(rm={})).subscription_clock_abstime=1,(to=ry||(ry={})).size=32,to.alignment=8,to.create=function(e,t){return{get id(){return e.getUint32(t+0,!0)},get timeout(){return e.getBigUint64(t+8,!0)},get precision(){return e.getBigUint64(t+16,!0)},get flags(){return e.getUint16(t+24,!0)}}},(tl=rg||(rg={})).size=4,tl.alignment=4,tl.create=function(e,t){return{get file_descriptor(){return e.getUint32(t+0,!0)}}},(td=rf||(rf={})).size=40,td.alignment=8,td.tag_size=1,td.create=function(e,t){return{get type(){return e.getUint8(t+0)},get clock(){if(e.getUint8(t+0)!==ru.clock)throw new mv(i5.inval);return ry.create(e,t+8)},get fd_read(){if(e.getUint8(t+0)!==ru.fd_read)throw new mv(i5.inval);return rg.create(e,t+8)},get fd_write(){if(e.getUint8(t+0)!==ru.fd_write)throw new mv(i5.inval);return rg.create(e,t+8)}}},(tu=rv||(rv={})).size=48,tu.alignment=8,tu.create=function(e,t){return{get userdata(){return e.getBigUint64(t+0,!0)},get u(){return rf.create(e,t+8)}}},(tp=rv||(rv={})).$ptr=iY.$param,tp.createTransfer=function(e){return iV.createTransfer(e*tp.size,mp.param)},(tc=r_||(r_={})).recv_peek=1,tc.recv_waitall=2,(rT||(rT={})).recv_data_truncated=1,(th=rw||(rw={})).rd=1,th.wr=2,th.toString=function(e){let t=[];return e&th.rd&&t.push("rd"),e&th.wr&&t.push("wr"),t.join(" | ")},(rw||(rw={})).$param=iK.$param,(tm=rb||(rb={})).$ptr=iY.$param,tm.$len=mm.$param,tm.createTransfer=function(e,t){return iV.createTransfer(e,t)},(ty=rS||(rS={})).name="args_sizes_get",ty.signature=iW.create([iG.$ptr,iG.$ptr]),y=iB.create([iG.$transfer,iG.$transfer]),ty.transfers=function(){return y},mc.add(ty),(tg=rk||(rk={})).name="args_get",tg.signature=iW.create([iY.$param,iY.$param]),tg.transfers=function(e,t,i){return{size:t*iY.size+i,copy(e,r,n,a,s){let o=0+t*iY.size,l=new DataView(n);return l.setUint32(a,0,!0),l.setUint32(a+iY.size,o,!0),{copy(){let n=r[0],a=r[1],l=a-o,d=new mf(new DataView(e),n,t),u=new mf(new DataView(s),0,t);for(let e=0;e<t;e++)d.set(e,u.get(e)+l);new Uint8Array(e).set(new Uint8Array(s,o,i),a)}}}}},mc.add(tg),(tf=rI||(rI={})).name="clock_res_get",tf.signature=iW.create([i6.$param,i0.$ptr]),g=iB.create([i0.$transfer]),tf.transfers=function(){return g},mc.add(tf),(tv=rC||(rC={})).name="clock_time_get",tv.signature=iW.create([i6.$param,i0.$param,i0.$ptr]),f=iB.create([i0.$transfer]),tv.transfers=function(){return f},mc.add(tv),(t_=rP||(rP={})).name="environ_sizes_get",t_.signature=iW.create([iG.$ptr,iG.$ptr]),v=iB.create([iG.$transfer,iG.$transfer]),t_.transfers=function(){return v},mc.add(t_),(tT=rx||(rx={})).name="environ_get",tT.signature=iW.create([iY.$param,iY.$param]),tT.transfers=function(e,t,i){return{size:t*iY.size+i,copy(e,r,n,a,s){let o=0+t*iY.size,l=new DataView(n);return l.setUint32(a,0,!0),l.setUint32(a+iY.size,o,!0),{copy(){let n=r[0],a=r[1],l=a-o,d=new mf(new DataView(e),n,t),u=new mf(new DataView(s),0,t);for(let e=0;e<t;e++)d.set(e,u.get(e)+l);new Uint8Array(e).set(new Uint8Array(s,o,i),a)}}}}},mc.add(tT),(tw=rF||(rF={})).name="fd_advise",tw.signature=iW.create([iQ.$param,rt.$param,rt.$param,re.$param]),mc.add(tw),(tb=rA||(rA={})).name="fd_allocate",tb.signature=iW.create([iQ.$param,rt.$param,rt.$param]),mc.add(tb),(tS=rD||(rD={})).name="fd_close",tS.signature=iW.create([iQ.$param]),mc.add(tS),(tk=rE||(rE={})).name="fd_datasync",tk.signature=iW.create([iQ.$param]),mc.add(tk),(tI=rR||(rR={})).name="fd_fdstat_get",tI.signature=iW.create([iQ.$param,rn.$ptr]),_=iB.create([rn.$transfer]),tI.transfers=function(){return _},mc.add(tI),(tC=rN||(rN={})).name="fd_fdstat_set_flags",tC.signature=iW.create([iQ.$param,i3.$param]),mc.add(tC),(tP=rM||(rM={})).name="fd_filestat_get",tP.signature=iW.create([iQ.$param,ri.$ptr]),T=iB.create([ri.$transfer]),tP.transfers=function(){return T},mc.add(tP),(tx=rO||(rO={})).name="fd_filestat_set_size",tx.signature=iW.create([iQ.$param,rt.$param]),mc.add(tx),(tF=rU||(rU={})).name="fd_filestat_set_times",tF.signature=iW.create([iQ.$param,i0.$param,i0.$param,ra.$param]),mc.add(tF),(tA=rL||(rL={})).name="fd_pread",tA.signature=iW.create([iQ.$param,ro.$ptr,iG.$param,rt.$param,iG.$ptr]),tA.transfers=function(e,t,i){return iB.create([ro.createTransfer(e,t,i),iG.$transfer])},mc.add(tA),(tD=rz||(rz={})).name="fd_prestat_get",tD.signature=iW.create([iQ.$param,rs.$ptr]),w=iB.create([rs.$transfer]),tD.transfers=function(){return w},mc.add(tD),(tE=rW||(rW={})).name="fd_prestat_dir_name",tE.signature=iW.create([iQ.$param,rb.$ptr,rb.$len]),tE.transfers=function(e,t,i){return iB.create([rb.createTransfer(i,mp.result)])},mc.add(tE),(tR=rB||(rB={})).name="fd_pwrite",tR.signature=iW.create([iQ.$param,rl.$ptr,iG.$param,rt.$param,iG.$ptr]),tR.transfers=function(e,t,i){return iB.create([rl.createTransfer(e,t,i),iG.$transfer])},mc.add(tR),(tN=r$||(r$={})).name="fd_read",tN.signature=iW.create([iQ.$param,ro.$ptr,iG.$param,iG.$ptr]),tN.transfers=function(e,t,i){return iB.create([ro.createTransfer(e,t,i),iG.$transfer])},mc.add(tN),(tM=rj||(rj={})).name="fd_readdir",tM.signature=iW.create([iQ.$param,rd.$ptr,mm.$param,iZ.$param,iG.$ptr]),tM.transfers=function(e,t,i){return iB.create([rd.createTransfer(i),iG.$transfer])},mc.add(tM),(tO=rK||(rK={})).name="fd_renumber",tO.signature=iW.create([iQ.$param,iQ.$param]),mc.add(tO),(tU=rV||(rV={})).name="fd_seek",tU.signature=iW.create([iQ.$param,i1.$param,rr.$param,iH.$ptr]),b=iB.create([iH.$transfer]),tU.transfers=function(){return b},mc.add(tU),(tL=rq||(rq={})).name="fd_sync",tL.signature=iW.create([iQ.$param]),mc.add(tL),(tz=rG||(rG={})).name="fd_tell",tz.signature=iW.create([iQ.$param,iH.$ptr]),S=iB.create([iH.$transfer]),tz.transfers=function(){return S},mc.add(tz),(tW=rH||(rH={})).name="fd_write",tW.signature=iW.create([iQ.$param,rl.$ptr,iG.$param,iG.$ptr]),tW.transfers=function(e,t,i){return iB.create([rl.createTransfer(e,t,i),iG.$transfer])},mc.add(tW),(tB=rJ||(rJ={})).name="path_create_directory",tB.signature=iW.create([iQ.$param,rb.$ptr,rb.$len]),tB.transfers=function(e,t,i){return iB.create([rb.createTransfer(i,mp.param)])},mc.add(tB),(t$=rY||(rY={})).name="path_filestat_get",t$.signature=iW.create([iQ.$param,i8.$param,rb.$ptr,rb.$len,ri.$ptr]),t$.transfers=function(e,t,i){return iB.create([rb.createTransfer(i,mp.param),ri.$transfer])},mc.add(t$),(tj=rQ||(rQ={})).name="path_filestat_set_times",tj.signature=iW.create([iQ.$param,i8.$param,rb.$ptr,rb.$len,i0.$param,i0.$param,ra.$param]),tj.transfers=function(e,t,i){return iB.create([rb.createTransfer(i,mp.param)])},mc.add(tj),(tK=rX||(rX={})).name="path_link",tK.signature=iW.create([iQ.$param,i8.$param,rb.$ptr,rb.$len,iQ.$param,rb.$ptr,rb.$len]),tK.transfers=function(e,t,i,r,n){return iB.create([rb.createTransfer(i,mp.param),rb.createTransfer(n,mp.param)])},mc.add(tK),(tV=rZ||(rZ={})).name="path_open",tV.signature=iW.create([iQ.$param,i8.$param,rb.$ptr,rb.$len,i2.$param,i4.$param,i4.$param,i3.$param,iQ.$ptr]),tV.transfers=function(e,t,i){return iB.create([rb.createTransfer(i,mp.param),iQ.$transfer])},mc.add(tV),(tq=r0||(r0={})).name="path_readlink",tq.signature=iW.create([iQ.$param,rb.$ptr,rb.$len,iV.$ptr,mm.$param,iG.$ptr]),tq.transfers=function(e,t,i,r,n){return iB.create([rb.createTransfer(i,mp.param),iV.createTransfer(n,mp.result),iG.$transfer])},mc.add(tq),(tG=r1||(r1={})).name="path_remove_directory",tG.signature=iW.create([iQ.$param,rb.$ptr,rb.$len]),tG.transfers=function(e,t,i){return iB.create([rb.createTransfer(i,mp.param)])},mc.add(tG),(tH=r5||(r5={})).name="path_rename",tH.signature=iW.create([iQ.$param,rb.$ptr,rb.$len,iQ.$param,rb.$ptr,rb.$len]),tH.transfers=function(e,t,i,r,n){return iB.create([rb.createTransfer(i,mp.param),rb.createTransfer(n,mp.param)])},mc.add(tH),(tJ=r4||(r4={})).name="path_symlink",tJ.signature=iW.create([rb.$ptr,rb.$len,iQ.$param,rb.$ptr,rb.$len]),tJ.transfers=function(e,t,i,r,n){return iB.create([rb.createTransfer(i,mp.param),rb.createTransfer(n,mp.param)])},mc.add(tJ),(tY=r3||(r3={})).name="path_unlink_file",tY.signature=iW.create([iQ.$param,rb.$ptr,rb.$len]),tY.transfers=function(e,t,i){return iB.create([rb.createTransfer(i,mp.param)])},mc.add(tY),(tQ=r8||(r8={})).name="poll_oneoff",tQ.signature=iW.create([rv.$ptr,rh.$ptr,mm.$param,iG.$ptr]),tQ.transfers=function(e,t,i,r){return iB.create([rv.createTransfer(r),rh.createTransfer(r),iG.$transfer])},mc.add(tQ),(tX=r2||(r2={})).name="proc_exit",tX.signature=iW.create([iX.$param]),mc.add(tX),(tZ=r6||(r6={})).name="sched_yield",tZ.signature=iW.create([]),mc.add(tZ),(t0=r7||(r7={})).name="random_get",t0.signature=iW.create([mh.$ptr,mm.$param]),t0.transfers=function(e,t,i){return iB.create([iV.createTransfer(i,mp.result)])},mc.add(t0),(t1=r9||(r9={})).name="sock_accept",t1.signature=iW.create([iQ.$param,i3.$param,iQ.$ptr]),k=iB.create([iQ.$transfer]),t1.transfers=function(){return k},mc.add(t1),(t5=ne||(ne={})).name="sock_shutdown",t5.signature=iW.create([iQ.$param,rw.$param]),mc.add(t5),(t4=nt||(nt={})).name="thread-spawn",t4.signature=iW.create([iG.$ptr]),I=iB.create([iG.$transfer]),t4.transfers=function(){return I},mc.add(t4),(t3=ni||(ni={})).name="thread_exit",t3.signature=iW.create([iG.$param]),mc.add(t3),t8=nr||(nr={}),C=BigInt(Number.MAX_VALUE),t8.asNumber=function(e){if(e>C)throw new mv(i5.fbig);return Number(e)},t8.max=function(...e){return e.reduce((e,t)=>t>e?t:e)},t8.min=function(...e){return e.reduce((e,t)=>t<e?t:e)};var mS=((t2={}).character="character",t2.fileSystem="fileSystem",t2);(nn||(nn={})).is=function(e){return"fileSystem"===e.kind};let mk={fd_advise(){throw new mv(i5.nosys)},fd_allocate(){throw new mv(i5.nosys)},fd_close(){throw new mv(i5.nosys)},fd_datasync(){throw new mv(i5.nosys)},fd_fdstat_get(){throw new mv(i5.nosys)},fd_fdstat_set_flags(){throw new mv(i5.nosys)},fd_filestat_get(){throw new mv(i5.nosys)},fd_filestat_set_size(){throw new mv(i5.nosys)},fd_filestat_set_times(){throw new mv(i5.nosys)},fd_pread(){throw new mv(i5.nosys)},fd_pwrite(){throw new mv(i5.nosys)},fd_read(){throw new mv(i5.nosys)},fd_readdir(){throw new mv(i5.nosys)},fd_seek(){throw new mv(i5.nosys)},fd_renumber(){throw new mv(i5.nosys)},fd_sync(){throw new mv(i5.nosys)},fd_tell(){throw new mv(i5.nosys)},fd_write(){throw new mv(i5.nosys)},path_create_directory(){throw new mv(i5.nosys)},path_filestat_get(){throw new mv(i5.nosys)},path_filestat_set_times(){throw new mv(i5.nosys)},path_link(){throw new mv(i5.nosys)},path_open(){throw new mv(i5.nosys)},path_readlink(){throw new mv(i5.nosys)},path_remove_directory(){throw new mv(i5.nosys)},path_rename(){throw new mv(i5.nosys)},path_symlink(){throw new mv(i5.nosys)},path_unlink_file(){throw new mv(i5.nosys)},fd_create_prestat_fd(){throw new mv(i5.nosys)},fd_bytesAvailable(){throw new mv(i5.nosys)}},mI={fd_allocate(){throw new mv(i5.perm)},fd_datasync(){throw new mv(i5.perm)},fd_fdstat_set_flags(){throw new mv(i5.perm)},fd_filestat_set_size(){throw new mv(i5.perm)},fd_filestat_set_times(){throw new mv(i5.perm)},fd_pwrite(){throw new mv(i5.perm)},fd_renumber(){throw new mv(i5.perm)},fd_sync(){throw new mv(i5.perm)},fd_write(){throw new mv(i5.perm)},path_create_directory(){throw new mv(i5.perm)},path_filestat_set_times(){throw new mv(i5.perm)},path_link(){throw new mv(i5.perm)},path_remove_directory(){throw new mv(i5.perm)},path_rename(){throw new mv(i5.perm)},path_symlink(){throw new mv(i5.perm)},path_unlink_file(){throw new mv(i5.nosys)}};function mC(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class mP{containsBaseRights(e){return(this.rights_base&e)===e}assertRights(e){if(((this.rights_base|this.rights_inheriting)&e)!==e)throw new mv(i5.perm)}assertBaseRights(e){if((this.rights_base&e)!==e)throw new mv(i5.perm)}assertInheritingRights(e){if((this.rights_inheriting&e)!==e)throw new mv(i5.perm)}assertFdflags(e){if(!i4.supportFdflags(this.rights_base,e))throw new mv(i5.perm)}assertOflags(e){if(!i4.supportOflags(this.rights_base,e))throw new mv(i5.perm)}assertIsDirectory(){if(this.fileType!==i9.directory)throw new mv(i5.notdir)}constructor(e,t,i,r,n,a,s){mC(this,"deviceId",void 0),mC(this,"fd",void 0),mC(this,"fileType",void 0),mC(this,"rights_base",void 0),mC(this,"rights_inheriting",void 0),mC(this,"fdflags",void 0),mC(this,"inode",void 0),this.deviceId=e,this.fd=t,this.fileType=i,this.rights_base=r,this.rights_inheriting=n,this.fdflags=a,this.inode=s}}class mx{get firstRealFileDescriptor(){return this.firstReal}next(){if("init"===this.mode)throw new mv(i5.inval);return this.counter++}switchToRunning(e){if("running"===this.mode)throw new mv(i5.inval);this.mode="running",this.counter=e,this.firstReal=e}add(e){this.descriptors.set(e.fd,e)}get(e){let t=this.descriptors.get(e);if(!t)throw new mv(i5.badf);return t}has(e){return this.descriptors.has(e)}delete(e){return this.descriptors.delete(e.fd)}setRoot(e,t){this.rootDescriptors.set(e.id,t)}getRoot(e){return this.rootDescriptors.get(e.id)}entries(){return this.descriptors.entries()}keys(){return this.descriptors.keys()}values(){return this.descriptors.values()}[Symbol.iterator](){return this.entries()}constructor(){mC(this,"descriptors",new Map),mC(this,"rootDescriptors",new Map),mC(this,"mode","init"),mC(this,"counter",0),mC(this,"firstReal",3)}}function mF(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}(t6=na||(na={})).None=0,t6.First=1,t6.AsOld=t6.First,t6.Last=2,t6.AsNew=t6.Last;class mA{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(){var e;return null==(e=this._head)?void 0:e.value}get last(){var e;return null==(e=this._tail)?void 0:e.value}has(e){return this._map.has(e)}get(e,t=na.None){let i=this._map.get(e);if(i)return t!==na.None&&this.touch(i,t),i.value}set(e,t,i=na.None){let r=this._map.get(e);if(r)r.value=t,i!==na.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case na.None:this.addItemLast(r);break;case na.First:this.addItemFirst(r);break;case na.Last:default:this.addItemLast(r)}this._map.set(e,r),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 Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let i=this._state,r=this._head;for(;r;){if(t?e.bind(t)(r.value,r.key,this):e(r.value,r.key,this),this._state!==i)throw Error("LinkedMap got modified during iteration.");r=r.next}}keys(){let e=this._state,t=this._head,i={[Symbol.iterator]:()=>i,next:()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:t.key,done:!1};return t=t.next,e}}};return i}values(){let e=this._state,t=this._head,i={[Symbol.iterator]:()=>i,next:()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:t.value,done:!1};return t=t.next,e}}};return i}entries(){let e=this._state,t=this._head,i={[Symbol.iterator]:()=>i,next:()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:[t.key,t.value],done:!1};return t=t.next,e}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.next,i--;this._head=t,this._size=i,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail)if(this._head)e.next=this._head,this._head.previous=e;else throw Error("Invalid list");else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail)if(this._tail)e.previous=this._tail,this._tail.next=e;else throw Error("Invalid list");else this._head=e;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 Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,i=e.previous;if(!t||!i)throw Error("Invalid list");t.previous=i,i.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw Error("Invalid list");if(t===na.First||t===na.Last){if(t===na.First){if(e===this._head)return;let t=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(t.previous=i,i.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===na.Last){if(e===this._tail)return;let t=e.next,i=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=i,i.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,i)=>{e.push([i,t])}),e}fromJSON(e){for(let[t,i]of(this.clear(),e))this.set(t,i)}constructor(){mF(this,Symbol.toStringTag,"LinkedMap"),mF(this,"_map",void 0),mF(this,"_head",void 0),mF(this,"_tail",void 0),mF(this,"_size",void 0),mF(this,"_state",void 0),this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}}class mD extends mA{get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=na.AsNew){return super.get(e,t)}peek(e){return super.get(e,na.None)}set(e,t){return super.set(e,t,na.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}constructor(e,t=1){super(),mF(this,"_limit",void 0),mF(this,"_ratio",void 0),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}}function mE(){if(void 0===s)throw Error("No runtime abstraction layer installed");return s}(t7=mE||(mE={})).install=function(e){if(void 0===e)throw Error("No runtime abstraction layer provided");s=e},t7.isInstalled=function(){return void 0!==s};let mR=mE;function mN(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let mM=i4.fd_fdstat_set_flags|i4.path_create_directory|i4.path_create_file|i4.path_link_source|i4.path_link_target|i4.path_open|i4.fd_readdir|i4.path_readlink|i4.path_rename_source|i4.path_rename_target|i4.path_filestat_get|i4.path_filestat_set_size|i4.path_filestat_set_times|i4.fd_filestat_get|i4.fd_filestat_set_times|i4.path_remove_directory|i4.path_unlink_file|i4.path_symlink,mO=mM&i4.ReadOnly;function mU(e=!1){return e?mO:mM}let mL=i4.fd_datasync|i4.fd_read|i4.fd_seek|i4.fd_fdstat_set_flags|i4.fd_sync|i4.fd_tell|i4.fd_write|i4.fd_advise|i4.fd_allocate|i4.fd_filestat_get|i4.fd_filestat_set_size|i4.fd_filestat_set_times|i4.poll_fd_readwrite,mz=mL&i4.ReadOnly;function mW(e=!1){return e?mz:mL}let mB=mM|mL,m$=mB&i4.ReadOnly;function mj(e=!1){return e?m$:mB}let mK=0n&i4.ReadOnly,mV=mU()&~mW(),mq=mW()&~mU(),mG=i4.fd_read|i4.fd_seek|i4.fd_tell|i4.fd_advise|i4.fd_filestat_get|i4.poll_fd_readwrite,mH=mW()&~i4.fd_read;class mJ extends mP{get cursor(){return this._cursor}set cursor(e){if(e<0)throw new mv(i5.inval);this._cursor=e}with(e){return new mJ(this.deviceId,e.fd,this.rights_base,this.fdflags,this.inode)}constructor(e,t,i,r,n){super(e,t,i9.regular_file,i,0n,r,n),mN(this,"_cursor",void 0),this._cursor=0}}class mY extends mP{with(e){return new mY(this.deviceId,e.fd,this.rights_base,this.rights_inheriting,this.fdflags,this.inode)}childDirectoryRights(e){return this.rights_inheriting&e&~mq}childFileRights(e){return this.rights_inheriting&e&~mV}constructor(e,t,i,r,n,a){super(e,t,i9.directory,i,r,n,a)}}(ns||(ns={})).create=function(e,t){return{kind:0,inode:e,refs:0,parent:t,name:void 0}},(no||(no={})).create=function(e,t){return{kind:1,inode:e,refs:0,parent:t,name:void 0,entries:new Map}};class mQ{getRoot(){return this._root}getUri(e,t){let i=mR().path,r=void 0===t||"."===t?this._getPath(e):i.join(this._getPath(e),t);return r=i.normalize(r),this._pathMapper.toPylancePath(this._rootUri,r)}getNode(e,t){var i;let r=null!=(i=this._inodes.get(e))?i:this._deletedNodes.get(e);if(void 0===r)throw new mv(i5.noent);return this._assertNodeKind(r,t),r}getOrCreateNode(e,t,i,r){let n=this._getPathSegments(t);if(1===n.length){if("."===n[0])return e;else if(".."===n[0])if(void 0!==e.parent)return e.parent;else throw new mv(i5.noent)}let a=e;for(let e=0;e<n.length;e++)switch(a.kind){case 0:throw new mv(i5.notdir);case 1:let t=a.entries.get(n[e]);void 0===t?(e===n.length-1?(t=0===i?ns.create(mQ.inodeCounter++,a):no.create(mQ.inodeCounter++,a),r&&t.refs++):t=no.create(mQ.inodeCounter++,a),a.entries.set(n[e],t),t.name=n[e],this._inodes.set(t.inode,t)):e===n.length-1&&r&&t.refs++,a=t}return a}getNodeByPath(e,t,i){let r=this._getPathSegments(t);if(1===r.length){if("."===r[0])return e;else if(".."===r[0])return e.parent}let n=e;for(let e=0;e<r.length;e++)switch(n.kind){case 0:return;case 1:if(void 0===(n=n.entries.get(r[e])))return}return void 0!==n&&this._assertNodeKind(n,i),n}existsNode(e,t){return void 0!==this.getNodeByPath(e,t)}setContent(e,t){this._contents.set(e.inode,t)}async getContent(e){let t=this._contents.get(e.inode);return void 0===t&&(t=await this._contentProvider.readFile(this.getUri(e))),await Promise.resolve(t)}getCachedStat(e){let t=this._stats.get(e);if(void 0===t)throw new mv(i5.noent);return t}deleteNode(e,t,i){if(void 0===e.parent)throw new mv(i5.badf);if(e.refs>0&&(void 0===t||0===e.kind&&void 0===i))throw new mv(i5.inval);let r=this._getName(e);e.parent.entries.delete(r),void 0!==i&&this._contents.set(e.inode,i),void 0!==t&&this._stats.set(e.inode,t),this._freeNode(e)}isNodeDeleted(e){return this._deletedNodes.has(e)}renameNode(e,t,i,r,n){this.deleteNode(e,t,i),this.getOrCreateNode(r,n,e.kind,!1)}closeNode(e){let t=this.getNode(e);if(t.refs<=0)throw new mv(i5.badf);t.refs--,0===t.refs&&(0===t.kind&&(this._contents.delete(t.inode),this._stats.delete(t.inode)),this._deletedNodes.delete(t.inode))}_assertNodeKind(e,t){if(void 0!==t){if(0===t&&0!==e.kind)throw new mv(i5.isdir);else if(1===t&&1!==e.kind)throw new mv(i5.notdir)}}_freeNode(e){if(this._inodes.delete(e.inode),this._pathCache.delete(e),e.name=void 0,e.refs>0&&this._deletedNodes.set(e.inode,e),1===e.kind)for(let t of e.entries.values())this._freeNode(t)}_getPathSegments(e){return"/"===e.charAt(0)&&(e=e.substring(1)),"/"===e.charAt(e.length-1)&&(e=e.substring(0,e.length-1)),e.normalize().split("/")}_getPath(e){let t=this._pathCache.get(e);if(void 0===t){let i=[],r=e;do i.push(this._getName(r)),r=r.parent;while(void 0!==r);t=i.reverse().join("/"),this._pathCache.set(e,t)}return t}_getName(e){if(void 0!==e.name)return e.name;let t=e.parent;if(void 0===t)throw Error("The root node must always have a name");for(let[i,r]of t.entries)if(r===e)return e.name=i,i;throw new mv(i5.noent)}constructor(e,t,i){mN(this,"_contentProvider",void 0),mN(this,"_rootUri",void 0),mN(this,"_pathMapper",void 0),mN(this,"_root",void 0),mN(this,"_inodes",void 0),mN(this,"_contents",void 0),mN(this,"_stats",void 0),mN(this,"_deletedNodes",void 0),mN(this,"_pathCache",void 0),this._contentProvider=i,this._rootUri=e,this._pathMapper=t,this._root={kind:1,inode:mQ.inodeCounter++,parent:void 0,refs:1,name:"/",entries:new Map},this._inodes=new Map,this._inodes.set(this._root.inode,this._root),this._contents=new Map,this._stats=new Map,this._deletedNodes=new Map,this._pathCache=new mD(256)}}function mX(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}mN(mQ,"inodeCounter",1n),(t9=nl||(nl={})).lock_size=4,t9.lock_index=0,t9.method_size=4,t9.method_index=t9.lock_index+t9.lock_size,t9.errno_size=2,t9.errno_index=t9.method_index+t9.method_size,t9.params_index=t9.errno_index+t9.errno_size+2,t9.header_size=t9.params_index,(nd||(nd={})).is=function(e){return e&&"startMain"===e.method},(nu||(nu={})).is=function(e){return e&&"startThread"===e.method},(np||(np={})).is=function(e){return e&&"workerReady"===e.method},(nc||(nc={})).is=function(e){return e&&"workerDone"===e.method},(nh||(nh={})).is=function(e){return e&&"trace"===e.method},(nm||(nm={})).is=function(e){return e&&"traceSummary"===e.method},(ny||(ny={})).is=function(e){return Array.isArray(e)&&2===e.length&&"number"==typeof e[0].byteLength&&"number"==typeof e[1].byteLength},(ng||(ng={})).create=function(){let e,t;return{promise:new Promise((i,r)=>{e=i,t=r}),resolve:e,reject:t}};class mZ{workerReady(){return this._workerReady.promise}workerDone(){return this._workerDone.promise}async handleMessage(e){if(ny.is(e))try{await this.handleWasiCallMessage(e)}catch(e){mR().console.error(e)}else if(np.is(e))this._workerReady.resolve();else if(nc.is(e))this._workerDone.resolve();else if(void 0!==this.logChannel){if(nh.is(e)){let t=e.timeTaken,i=`${e.message} (${t}ms)`;t>10?this.logChannel.error(i):t>5?this.logChannel.warn(i):this.logChannel.info(i)}else if(nm.is(e)){if(0===e.summary.length)return;this.logChannel.info(`Call summary:
${e.summary.join("\n ")}`)}}}async handleWasiCallMessage(e){let[t,i]=e,r=new DataView(t);try{let e=r.getUint32(nl.method_index,!0),n=mc.functionAt(e);if(void 0===n)throw new mv(i5.inval);let a=this.getParams(n.signature,t),s=await this.wasiService[n.name](i,...a);r.setUint16(nl.errno_index,s,!0)}catch(e){e instanceof mv?r.setUint16(nl.errno_index,e.errno,!0):r.setUint16(nl.errno_index,i5.inval,!0)}let n=new Int32Array(t,0,1);Atomics.store(n,0,1),Atomics.notify(n,0)}getParams(e,t){let i=new DataView(t),r=[],n=nl.header_size;for(let t=0;t<e.params.length;t++){let a=e.params[t];r.push(a.read(i,n)),n+=a.size}return r}constructor(e,t){mX(this,"wasiService",void 0),mX(this,"logChannel",void 0),mX(this,"_workerReady",void 0),mX(this,"_workerDone",void 0),this.wasiService=e,this.logChannel=t,this._workerReady=ng.create(),this._workerDone=ng.create()}}function m0(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}(nf||(nf={})).create=function(e,t,i,r){let n=mR().TextEncoder.create(null==r?void 0:r.encoding),a=new Map;function s(e,t=i5.badf){return e instanceof mv?e.errno:t}return{args_sizes_get:(e,i,a)=>{var s;let o=0,l=0;function d(e){let t=`${e}\0`;l+=n.encode(t).byteLength,o++}for(let e of(d(t),null!=(s=r.args)?s:[]))d(e);let u=new DataView(e);return u.setUint32(i,o,!0),u.setUint32(a,l,!0),Promise.resolve(i5.success)},args_get:(e,i,a)=>{var s;let o=new DataView(e),l=new Uint8Array(e),d=i,u=a;function p(e){let t=n.encode(`${e}\0`);o.setUint32(d,u,!0),d+=4,l.set(t,u),u+=t.byteLength}for(let e of(p(t),null!=(s=r.args)?s:[]))p(e);return Promise.resolve(i5.success)},environ_sizes_get:(e,t,i)=>{var a;let s=0,o=0;for(let e of Object.entries(null!=(a=r.env)?a:{})){let t=`${e[0]}=${e[1]}\0`;o+=n.encode(t).byteLength,s++}let l=new DataView(e);return l.setUint32(t,s,!0),l.setUint32(i,o,!0),Promise.resolve(i5.success)},environ_get:(e,t,i)=>{var a;let s=new DataView(e),o=new Uint8Array(e),l=t,d=i;for(let e of Object.entries(null!=(a=r.env)?a:{})){let t=n.encode(`${e[0]}=${e[1]}\0`);s.setUint32(l,d,!0),l+=4,o.set(t,d),d+=t.byteLength}return Promise.resolve(i5.success)},fd_prestat_get:async(t,r,o)=>{try{let s=i.next();if(!0===s.done)return e.switchToRunning(r),i5.badf;let[l,d]=s.value,u=await d.fd_create_prestat_fd(r);e.add(u),e.setRoot(d,u),a.set(u.fd,l);let p=new DataView(t),c=rs.create(p,o);return c.preopentype=i7.dir,c.len=n.encode(l).byteLength,i5.success}catch(e){return s(e)}},fd_prestat_dir_name:(t,i,r,o)=>{try{let s=e.get(i),l=a.get(s.fd);if(void 0===l)return Promise.resolve(i5.badf);let d=n.encode(l);if(d.byteLength!==o)return Promise.resolve(i5.badmsg);return new Uint8Array(t,r).set(d),Promise.resolve(i5.success)}catch(e){return Promise.resolve(s(e))}}}},(nv||(nv={})).create=function(){let e=mR().clock.realtime();return{now:function(t,i){switch(t){case i6.realtime:return mR().clock.realtime();case i6.monotonic:return mR().clock.monotonic();case i6.process_cputime_id:case i6.thread_cputime_id:return mR().clock.monotonic()-e;default:throw new mv(i5.inval)}}}},(n_||(n_={})).create=function(e){return{clock_res_get:(e,t,i)=>{let r=new DataView(e);switch(t){case i6.realtime:case i6.monotonic:case i6.process_cputime_id:case i6.thread_cputime_id:return r.setBigUint64(i,1n,!0),Promise.resolve(i5.success);default:return r.setBigUint64(i,0n,!0),Promise.resolve(i5.inval)}},clock_time_get:(t,i,r,n)=>{let a=e.now(i,r);return new DataView(t).setBigUint64(n,a,!0),Promise.resolve(i5.success)}}},(nT||(nT={})).create=function(e,t,i,r,n){let a=new Map,s=mR().TextEncoder.create(null==n?void 0:n.encoding),o=mR().TextDecoder.create(null==n?void 0:n.encoding),l=mR().path;async function d(e,t,r){let n,a=t,s=[];for(let t=0;t<r;t++){let t=rv.create(e,a);switch(t.u.type){case ru.clock:let r=function(e){let t,r={userdata:e.userdata,type:ru.clock,error:i5.success,fd_readwrite:{nbytes:0n,flags:0}},n=e.u.clock;if((n.flags&rm.subscription_clock_abstime)!=0){let e=i.now(i6.realtime,0n);t=BigInt(Math.max(0,nr.asNumber(e-n.timeout)))}else t=n.timeout;return{event:r,timeout:t}}(t);n=r.timeout,s.push(r.event);break;case ru.fd_read:let o=await u(t);s.push(o);break;case ru.fd_write:let l=function(e){let t=e.u.fd_write.file_descriptor;try{let i=g(t);if(!i.containsBaseRights(i4.poll_fd_readwrite)&&!i.containsBaseRights(i4.fd_write))throw new mv(i5.perm);return{userdata:e.userdata,type:ru.fd_write,error:i5.success,fd_readwrite:{nbytes:0n,flags:0}}}catch(t){return{userdata:e.userdata,type:ru.fd_write,error:p(t),fd_readwrite:{nbytes:0n,flags:0}}}}(t);s.push(l)}a+=rv.size}return{events:s,timeout:n}}async function u(e){let t=e.u.fd_read.file_descriptor;try{let i=g(t);if(!i.containsBaseRights(i4.poll_fd_readwrite)&&!i.containsBaseRights(i4.fd_read))throw new mv(i5.perm);let r=await m(i).fd_bytesAvailable(i);return{userdata:e.userdata,type:ru.fd_read,error:i5.success,fd_readwrite:{nbytes:r,flags:0}}}catch(t){return{userdata:e.userdata,type:ru.fd_read,error:p(t),fd_readwrite:{nbytes:0n,flags:0}}}}function p(e,t=i5.badf){return e instanceof mv?e.errno:t}function c(e,t,i){let r=new DataView(e),n=[],a=t;for(let t=0;t<i;t++){let t=rl.create(r,a),i=new Uint8Array(t.buf_len);i.set(new Uint8Array(e,t.buf,t.buf_len)),n.push(i),a+=rl.size}return n}function h(e,t,i){let r=new DataView(e),n=[],a=t;for(let t=0;t<i;t++){let t=ro.create(r,a);n.push(new Uint8Array(e,t.buf,t.buf_len)),a+=ro.size}return n}function m(t){return e.get(t.deviceId)}function y(i,n){let a=e.get(i.deviceId);if(!l.isAbsolute(n)&&void 0!==r&&r!==a&&nn.is(a)&&(n=l.normalize(n)).startsWith("..")){let e=r.makeVirtualPath(a,n);if(void 0===e)throw new mv(i5.noent);let i=t.getRoot(r);if(void 0===i)throw new mv(i5.noent);return[r,i,e]}return[a,i,n]}function g(e){let i=t.get(e);if(void 0===i)throw new mv(i5.badf);return i}return{fd_advise:async(e,t,i,r,n)=>{try{let e=g(t);return e.assertBaseRights(i4.fd_advise),await m(e).fd_advise(e,i,r,n),i5.success}catch(e){return p(e)}},fd_allocate:async(e,t,i,r)=>{try{let e=g(t);return e.assertBaseRights(i4.fd_allocate),await m(e).fd_allocate(e,i,r),i5.success}catch(e){return p(e)}},fd_close:async(e,i)=>{let r=g(i);try{return await m(r).fd_close(r),i5.success}catch(e){return p(e)}finally{t.delete(r),void 0!==r.dispose&&await r.dispose()}},fd_datasync:async(e,t)=>{try{let e=g(t);return e.assertBaseRights(i4.fd_datasync),await m(e).fd_datasync(e),i5.success}catch(e){return p(e)}},fd_fdstat_get:async(e,t,i)=>{try{let r=g(t);return await m(r).fd_fdstat_get(r,rn.create(new DataView(e),i)),i5.success}catch(e){return p(e)}},fd_fdstat_set_flags:async(e,t,i)=>{try{let e=g(t);return e.assertBaseRights(i4.fd_fdstat_set_flags),await m(e).fd_fdstat_set_flags(e,i),i5.success}catch(e){return p(e)}},fd_filestat_get:async(e,t,i)=>{try{let r=g(t);return r.assertBaseRights(i4.fd_filestat_get),await m(r).fd_filestat_get(r,ri.create(new DataView(e),i)),i5.success}catch(e){return p(e,i5.perm)}},fd_filestat_set_size:async(e,t,i)=>{try{let e=g(t);return e.assertBaseRights(i4.fd_filestat_set_size),await m(e).fd_filestat_set_size(e,i),i5.success}catch(e){return p(e)}},fd_filestat_set_times:async(e,t,i,r,n)=>{try{let e=g(t);return e.assertBaseRights(i4.fd_filestat_set_times),await m(e).fd_filestat_set_times(e,i,r,n),i5.success}catch(e){return p(e)}},fd_pread:async(e,t,i,r,n,a)=>{try{let s=g(t);s.assertBaseRights(i4.fd_read|i4.fd_seek);let o=new DataView(e),l=h(e,i,r),d=await m(s).fd_pread(s,n,l);return o.setUint32(a,d,!0),i5.success}catch(e){return p(e)}},fd_pwrite:async(e,t,i,r,n,a)=>{try{let s=g(t);s.assertBaseRights(i4.fd_write|i4.fd_seek);let o=new DataView(e),l=c(e,i,r),d=await m(s).fd_pwrite(s,n,l);return o.setUint32(a,d,!0),i5.success}catch(e){return p(e)}},fd_read:async(e,t,i,r,n)=>{try{let a=g(t);a.assertBaseRights(i4.fd_read);let s=new DataView(e),o=h(e,i,r),l=await m(a).fd_read(a,o);return s.setUint32(n,l,!0),i5.success}catch(e){return p(e)}},fd_readdir:async(e,t,i,r,n,o)=>{try{let l=g(t);l.assertBaseRights(i4.fd_readdir),l.assertIsDirectory();let d=m(l),u=new DataView(e);if(0n!==n&&!a.has(l.fd))return u.setUint32(o,0,!0),i5.success;0n===n&&a.set(l.fd,await d.fd_readdir(l));let p=a.get(l.fd);if(void 0===p)throw new mv(i5.badmsg);let c=Number(n),h=i,y=r;for(;c<p.length&&y>=rd.size;c++){let t=p[c],i=t.d_name,r=s.encode(i),n=rd.create(u,h);n.d_next=BigInt(c+1),n.d_ino=t.d_ino,n.d_type=t.d_type,n.d_namlen=r.byteLength,y-=rd.size;let a=Math.min(y,r.byteLength);new Uint8Array(e,h+rd.size,a).set(r.subarray(0,a)),h+=rd.size+a,y-=a}return c===p.length?(u.setUint32(o,h-i,!0),a.delete(l.fd)):u.setUint32(o,r,!0),i5.success}catch(e){return p(e)}},fd_seek:async(e,t,i,r,n)=>{try{let a=g(t);if(r!==rr.cur||0n!==i||a.containsBaseRights(i4.fd_seek)||a.containsBaseRights(i4.fd_tell))a.assertBaseRights(i4.fd_seek);else throw new mv(i5.perm);let s=new DataView(e),o=await m(a).fd_seek(a,i,r);return s.setBigUint64(n,BigInt(o),!0),i5.success}catch(e){return p(e)}},fd_renumber:(e,i,r)=>{try{if(i<t.firstRealFileDescriptor||r<t.firstRealFileDescriptor)return Promise.resolve(i5.notsup);if(t.has(r))return Promise.resolve(i5.badf);let e=g(i),n=e.with({fd:r});return t.delete(e),t.add(n),Promise.resolve(i5.success)}catch(e){return Promise.resolve(p(e))}},fd_sync:async(e,t)=>{try{let e=g(t);return e.assertBaseRights(i4.fd_sync),await m(e).fd_sync(e),i5.success}catch(e){return p(e)}},fd_tell:async(e,t,i)=>{try{let r=g(t);r.assertBaseRights(i4.fd_tell|i4.fd_seek);let n=new DataView(e),a=await m(r).fd_tell(r);return n.setBigUint64(i,BigInt(a),!0),i5.success}catch(e){return p(e)}},fd_write:async(e,t,i,r,n)=>{try{let a=g(t);a.assertBaseRights(i4.fd_write);let s=new DataView(e),o=c(e,i,r),l=await m(a).fd_write(a,o);return s.setUint32(n,l,!0),i5.success}catch(e){return p(e)}},path_create_directory:async(e,t,i,r)=>{try{let n=g(t);n.assertBaseRights(i4.path_create_directory),n.assertIsDirectory();let[a,s,l]=y(n,o.decode(new Uint8Array(e,i,r)));return s!==n&&(s.assertBaseRights(i4.path_create_directory),s.assertIsDirectory()),await a.path_create_directory(s,l),i5.success}catch(e){return p(e)}},path_filestat_get:async(e,t,i,r,n,a)=>{try{let s=g(t);s.assertBaseRights(i4.path_filestat_get),s.assertIsDirectory();let[l,d,u]=y(s,o.decode(new Uint8Array(e,r,n)));return d!==s&&(d.assertBaseRights(i4.path_filestat_get),d.assertIsDirectory()),await l.path_filestat_get(d,i,u,ri.create(new DataView(e),a)),i5.success}catch(e){return p(e)}},path_filestat_set_times:async(e,t,i,r,n,a,s,l)=>{try{let d=g(t);d.assertBaseRights(i4.path_filestat_set_times),d.assertIsDirectory();let[u,p,c]=y(d,o.decode(new Uint8Array(e,r,n)));return p!==d&&(p.assertBaseRights(i4.path_filestat_get),p.assertIsDirectory()),await u.path_filestat_set_times(p,i,c,a,s,l),i5.success}catch(e){return p(e)}},path_link:async(e,t,i,r,n,a,s,l)=>{try{let d=g(t);d.assertBaseRights(i4.path_link_source),d.assertIsDirectory();let u=g(a);if(u.assertBaseRights(i4.path_link_target),u.assertIsDirectory(),d.deviceId!==u.deviceId)return i5.nosys;let[p,c,h]=y(d,o.decode(new Uint8Array(e,r,n))),[m,f,v]=y(u,o.decode(new Uint8Array(e,s,l)));if(p!==m||c.deviceId!==f.deviceId)return i5.nosys;return c!==d&&(c.assertBaseRights(i4.path_link_source),c.assertIsDirectory()),f!==u&&(f.assertBaseRights(i4.path_link_target),f.assertIsDirectory()),await p.path_link(c,i,h,f,v),i5.success}catch(e){return p(e)}},path_open:async(e,i,r,n,a,s,l,d,u,c)=>{try{let p=g(i);p.assertBaseRights(i4.path_open),p.assertFdflags(u),p.assertOflags(s);let[h,m,f]=y(p,o.decode(new Uint8Array(e,n,a)));m!==p&&(m.assertBaseRights(i4.path_open),m.assertFdflags(u),m.assertOflags(s));let v=await h.path_open(m,r,f,s,l,d,u,t);return t.add(v),new DataView(e).setUint32(c,v.fd,!0),i5.success}catch(e){return p(e)}},path_readlink:async(e,t,i,r,n,a,l)=>{try{let d=g(t);d.assertBaseRights(i4.path_readlink),d.assertIsDirectory();let[u,p,c]=y(d,o.decode(new Uint8Array(e,i,r)));p!==d&&(p.assertBaseRights(i4.path_readlink),p.assertIsDirectory());let h=s.encode(await u.path_readlink(p,c));if(h.byteLength>a)return i5.inval;return new Uint8Array(e,n,a).set(h),new DataView(e).setUint32(l,h.byteLength,!0),i5.success}catch(e){return p(e)}},path_remove_directory:async(e,t,i,r)=>{try{let n=g(t);n.assertBaseRights(i4.path_remove_directory),n.assertIsDirectory();let[a,s,l]=y(n,o.decode(new Uint8Array(e,i,r)));return s!==n&&(s.assertBaseRights(i4.path_remove_directory),s.assertIsDirectory()),await a.path_remove_directory(s,l),i5.success}catch(e){return p(e)}},path_rename:async(e,t,i,r,n,a,s)=>{try{let l=g(t);l.assertBaseRights(i4.path_rename_source),l.assertIsDirectory();let d=g(n);d.assertBaseRights(i4.path_rename_target),d.assertIsDirectory();let[u,p,c]=y(l,o.decode(new Uint8Array(e,i,r))),[h,m,f]=y(d,o.decode(new Uint8Array(e,a,s)));if(u!==h)return i5.nosys;return p!==l&&(p.assertBaseRights(i4.path_rename_source),p.assertIsDirectory()),m!==d&&(m.assertBaseRights(i4.path_rename_target),m.assertIsDirectory()),await u.path_rename(p,c,m,f),i5.success}catch(e){return p(e)}},path_symlink:async(e,t,i,r,n,a)=>{try{let s=g(r);s.assertBaseRights(i4.path_symlink),s.assertIsDirectory();let[l,d,u]=y(s,o.decode(new Uint8Array(e,t,i))),[p,c,h]=y(s,o.decode(new Uint8Array(e,n,a)));if(l!==p||d!==c)return i5.nosys;return d!==s&&(d.assertBaseRights(i4.path_symlink),d.assertIsDirectory()),await l.path_symlink(u,d,h),i5.success}catch(e){return p(e)}},path_unlink_file:async(e,t,i,r)=>{try{let n=g(t);n.assertBaseRights(i4.path_unlink_file),n.assertIsDirectory();let[a,s,l]=y(n,o.decode(new Uint8Array(e,i,r)));return s!==n&&(s.assertBaseRights(i4.path_unlink_file),s.assertIsDirectory()),await a.path_unlink_file(s,l),i5.success}catch(e){return p(e)}},poll_oneoff:async(e,t,i,r,n)=>{try{let a=new DataView(e),{events:s,timeout:o}=await d(a,t,r);void 0!==o&&0n!==o&&(await new Promise(e=>{mR().timer.setTimeout(e,nr.asNumber(o/1000000n))}),s=(await d(a,t,r)).events);let l=i;for(let e of s){let t=rh.create(a,l);t.userdata=e.userdata,t.type=e.type,t.error=e.error,t.fd_readwrite.nbytes=e.fd_readwrite.nbytes,t.fd_readwrite.flags=e.fd_readwrite.flags,l+=rh.size}return a.setUint32(n,s.length,!0),i5.success}catch(e){return p(e)}},proc_exit:async(e,t)=>await Promise.resolve(i5.success),sched_yield:()=>Promise.resolve(i5.success),random_get:(e,t,i)=>{let r=mR().crypto.randomGet(i);return new Uint8Array(e,t,i).set(r),Promise.resolve(i5.success)},sock_accept:(e,t,i,r)=>Promise.resolve(i5.nosys),sock_recv:(e,t,i,r,n,a,s)=>Promise.resolve(i5.nosys),sock_send:(e,t,i,r,n,a)=>Promise.resolve(i5.nosys),sock_shutdown:(e,t,i)=>Promise.resolve(i5.nosys),thread_exit:async(e,t)=>await Promise.resolve(i5.success),"thread-spawn":async(e,t)=>await Promise.resolve(i5.nosys)}},(nw||(nw={})).create=function(e,t,i,r,n){let a=nv.create();return Object.assign({},nf.create(t,"virtualRootFileSystem",r.entries(),{}),nT.create(e,t,a,i,n))},(ie=nb||(nb={})).from=function(e){switch(e){case i9.directory:return yN.directory;case i9.regular_file:return yN.regular_file;case i9.character_device:return yN.character_device;default:return yN.unknown}},ie.to=function(e){switch(e){case yN.regular_file:return i9.regular_file;case yN.directory:return i9.directory;case yN.character_device:return i9.character_device;default:return i9.unknown}};class m1{nextInode(){return this.inodeCounter++}getRoot(){return this.root}findNode(e,t){let i,r;"string"==typeof e?(i=this.root,r=e):(i=e,r=t);let n=this.getSegmentsFromPath(r);if(1===n.length){if("."===n[0])return i;else if(".."===n[0])return i.parent}let a=i;for(let e=0;e<n.length;e++)switch(a.filetype){case i9.regular_file:return;case i9.directory:if(void 0===(a=a.entries.get(n[e])))return}return a}getSegmentsFromPath(e){return"/"===e.charAt(0)&&(e=e.substring(1)),"/"===e.charAt(e.length-1)&&(e=e.substring(0,e.length-1)),e.normalize().split("/")}constructor(e){m0(this,"inodeCounter",void 0),m0(this,"root",void 0),this.inodeCounter=2n,this.root=e}}class m5 extends mP{dispose(){return this.node.refs--,Promise.resolve()}constructor(e,t,i,r,n,a,s,o){super(e,t,i,r,n,a,s),m0(this,"node",void 0),this.node=o,this.node.refs++}}class m4 extends m5{with(e){return new m4(this.deviceId,e.fd,this.rights_base,this.fdflags,this.inode,this.node)}get cursor(){return this._cursor}set cursor(e){if(e<0)throw new mv(i5.inval);this._cursor=e}constructor(e,t,i,r,n,a){super(e,t,i9.regular_file,i,0n,r,n,a),m0(this,"_cursor",void 0),this._cursor=0n}}class m3 extends m5{with(e){return new m3(this.deviceId,e.fd,this.rights_base,this.fdflags,this.inode,this.node)}constructor(e,t,i,r,n,a){super(e,t,i9.regular_file,i,0n,r,n,a)}}class m8 extends m5{with(e){return new m8(this.deviceId,e.fd,this.rights_base,this.rights_inheriting,this.fdflags,this.inode,this.node)}childDirectoryRights(e,t){return this.rights_inheriting&e&~t}childFileRights(e,t){return this.rights_inheriting&e&~t}constructor(e,t,i,r,n,a,s){super(e,t,i9.directory,i,r,n,a,s)}}class m2{async initialize(){let e,t=3,i=new ArrayBuffer(1024);do e=await this.service.fd_prestat_get(i,t++,0);while(e===i5.success)}getDeviceDrivers(){return Array.from(this.deviceDrivers.values())}getPreOpenDirectories(){return this.preOpens}getVirtualRootFileSystem(){return this.virtualFileSystem}async stat(e){let[t,i]=this.getFileDescriptor(e);if(void 0!==t){let e=this.deviceDrivers.get(t.deviceId);if(void 0!==e&&"fileSystem"===e.kind){let r=ri.createHeap();return await e.path_filestat_get(t,i8.none,i,r),{filetype:nb.from(r.filetype)}}}throw new mv(i5.noent)}getFileDescriptor(e){if(void 0!==this.virtualFileSystem){let[t,i]=this.virtualFileSystem.getDeviceDriver(e);return void 0!==t?[this.fileDescriptors.getRoot(t),i]:[this.fileDescriptors.getRoot(this.virtualFileSystem),e]}return void 0!==this.singleFileSystem?[this.fileDescriptors.getRoot(this.singleFileSystem),e]:[void 0,e]}getDeviceDriver(e){return void 0!==this.virtualFileSystem?this.virtualFileSystem.getDeviceDriver(e):void 0!==this.singleFileSystem?[this.singleFileSystem,e]:[void 0,e]}getMountPoint(e){if(void 0!==this.virtualFileSystem)return this.virtualFileSystem.getMountPoint(e);if(void 0!==this.singleFileSystem){let t=e.toString(),i=this.singleFileSystem.uri.toString();if(t===i||t.startsWith(i)&&"/"===t.charAt(i.length))return["/",this.singleFileSystem.uri]}return[void 0,e]}constructor(e,t){m0(this,"deviceDrivers",void 0),m0(this,"preOpens",void 0),m0(this,"fileDescriptors",void 0),m0(this,"service",void 0),m0(this,"virtualFileSystem",void 0),m0(this,"singleFileSystem",void 0),this.deviceDrivers=e.deviceDrivers,this.preOpens=e.preOpens,this.fileDescriptors=t,"virtual"===e.kind?(this.service=nw.create(e.deviceDrivers,t,e.fileSystem,e.preOpens,{}),this.virtualFileSystem=e.fileSystem):(this.service=nw.create(e.deviceDrivers,t,void 0,e.preOpens,{}),this.singleFileSystem=e.fileSystem)}}let m6=i4.fd_read|i4.fd_fdstat_set_flags|i4.fd_write|i4.fd_filestat_get|i4.poll_fd_readwrite;class m7 extends mP{with(e){return new m7(this.deviceId,e.fd,this.rights_base,this.rights_inheriting,this.fdflags,this.inode)}constructor(e,t,i,r,n,a){super(e,t,i9.character_device,i,r,n,a)}}let m9=ah.m_.parse("wasi-console://f36f1dd6-913a-417f-a53c-360730fde485");function ye(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class yt extends Error{constructor(){super("Pipe got destroyed")}}class yi{get size(){return this.fillLevel}async write(e){if(0===e.byteLength)return;if(this.fillLevel+e.byteLength<=yi._bufferSize){this.chunks.push(e),this.fillLevel+=e.byteLength,this.signalData();return}let t=Math.max(0,yi._bufferSize-e.byteLength);try{if(await this._awaitFillLevel(t),this.fillLevel>t)throw Error(`Invalid state: fillLevel should be <= ${t}`);this.chunks.push(e),this.fillLevel+=e.byteLength,this.signalData();return}catch(e){if(e instanceof yt)return;throw e}}async read(e,t){let i="max"===e?t:void 0;if(0===this.chunks.length)try{await this._awaitData()}catch(e){if(e instanceof yt)return new Uint8Array(0);throw e}if(0===this.chunks.length)throw Error("Invalid state: no bytes available after awaiting data");if(void 0===i||i>this.fillLevel){let e=new Uint8Array(this.fillLevel),t=0;for(let i of this.chunks)e.set(i,t),t+=i.byteLength;return this.chunks=[],this.fillLevel=0,this.signalSpace(),e}let r=this.chunks[0];if(r.byteLength>i){let e=r.subarray(0,i);return this.chunks[0]=r.subarray(i),this.fillLevel-=i,this.signalSpace(),e}{let e=r.byteLength;for(let t=1;t<this.chunks.length&&!(e+this.chunks[t].byteLength>i);t++)e+=this.chunks[t].byteLength;let t=new Uint8Array(e),n=0;for(;n<e;){let e=this.chunks.shift();t.set(e,n),n+=e.byteLength,this.fillLevel-=e.byteLength}return this.signalSpace(),t}}end(){}destroy(){this.chunks=[],this.fillLevel=0;let e=new yt;for(let{promise:t}of this._awaitForFillLevel)t.reject(e);for(let t of(this._awaitForFillLevel=[],this._awaitForData))t.reject(e);this._awaitForData=[]}signalSpace(){if(0===this._awaitForFillLevel.length)return;let{fillLevel:e,promise:t}=this._awaitForFillLevel[0];this.fillLevel>e||(this._awaitForFillLevel.shift(),t.resolve())}signalData(){0===this._awaitForData.length||this._awaitForData.shift().resolve()}_awaitFillLevel(e){if(0===this._awaitForFillLevel.length&&this.fillLevel<=e)return Promise.resolve();let t=ng.create();return this._awaitForFillLevel.push({fillLevel:e,promise:t}),t.promise}_awaitData(){let e=ng.create();return this._awaitForData.push(e),e.promise}constructor(){ye(this,"chunks",void 0),ye(this,"fillLevel",void 0),ye(this,"_awaitForFillLevel",void 0),ye(this,"_awaitForData",void 0),this.chunks=[],this.fillLevel=0,this._awaitForFillLevel=[],this._awaitForData=[]}}ye(yi,"_bufferSize",16384);class yr extends yi{write(e,t){return"open"!==this.streamState?Promise.reject(Error("Stream is closed")):super.write("string"==typeof e?this._encoder.encode(e):e)}read(e,t){return"closed"===this.streamState&&0===this.chunks.length?Promise.resolve(new Uint8Array(0)):void 0!==e?super.read(e,t):super.read()}end(){this.streamState="closed"}constructor(e){super(),ye(this,"_encoding",void 0),ye(this,"_encoder",void 0),ye(this,"streamState",void 0),this._encoding=null!=e?e:"utf-8",this._encoder=mR().TextEncoder.create(this._encoding),this.streamState="open"}}class yn extends yr{async write(e,t){if("open"!==this.streamState)throw Error("Stream is closed");let i=!1;try{"string"==typeof e?e.length>0&&4===e.charCodeAt(e.length-1)?(i=!0,e.length>=1&&(e=e.substring(0,e.length-1),await super.write(e,t))):await super.write(e,t):e.length>0&&4===e[e.length-1]?(i=!0,e.length>=1&&(e=e.subarray(0,e.length-1),await super.write(e))):await super.write(e)}finally{i&&(this.streamState="closed")}}constructor(e){super(e)}}class ya extends yi{get onData(){return this._onDataEvent}pause(e=!1){1===this._mode&&(void 0!==this._timer&&(this._timer.dispose(),this._timer=void 0),e&&this.emitAll()),this._mode=2}resume(){this._mode=1,this.chunks.length>0&&this.signalData()}async read(e,t){if(1===this._mode)throw Error("Cannot read from stream in flowing mode");return void 0===e?await super.read():await super.read(e,t)}end(){return 1===this._mode&&(void 0!==this._timer&&(this._timer.dispose(),this._timer=void 0),this.emitAll()),super.destroy()}signalData(){1===this._mode?void 0===this._timer&&(this._timer=mR().timer.setImmediate(()=>this.triggerData())):super.signalData()}emitAll(){if(this.chunks.length>0){for(let e of this.chunks)try{this._onData.fire(e)}catch(e){mR().console.error(`[ReadableStream]: Error while emitting data event: ${e}`)}this.chunks=[],this.fillLevel=0}}triggerData(){if(this._timer=void 0,0===this.chunks.length)return;let e=this.chunks.shift();this.fillLevel-=e.byteLength,this._onData.fire(e),this.signalSpace(),this.chunks.length>0&&1===this._mode&&(this._timer=mR().timer.setImmediate(()=>this.triggerData()))}constructor(){super(),ye(this,"_mode",void 0),ye(this,"_onData",void 0),ye(this,"_onDataEvent",void 0),ye(this,"_timer",void 0),this._mode=0,this._onData=iR.create(),this._onDataEvent=(e,t,i)=>(0===this._mode&&(this._mode=1),this._onData.event(e,t,i))}}function ys(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function yo(e){return 1000000n*BigInt(e)}(it=nS||(nS={})).create=function(e,t,i,r,n){return{filetype:i9.regular_file,inode:t,name:i,ctime:r,mtime:r,atime:r,refs:0,parent:e,content:n}},it.size=function(e){return e.content instanceof Uint8Array?BigInt(e.content.length):e.content.size},(ii=nk||(nk={})).create=function(e,t,i,r){return{filetype:i9.directory,inode:t,name:i,ctime:r,mtime:r,atime:r,refs:0,parent:e,entries:new Map}},ii.size=function(e){return BigInt((Math.trunc(24*e.entries.size/4096)+1)*4096)},(nI||(nI={})).create=function(e,t,i,r,n,a){return{filetype:i9.character_device,inode:t,name:i,ctime:r,mtime:r,atime:r,refs:0,parent:e,readable:n,writable:a}};class yl extends m1{createDirectory(e){let t=this.paths.dirname(e),i=this.paths.basename(e),r=this.getDirectoryNode(t),n=nk.create(r,this.nextInode(),i,yo(Date.now()));r.entries.set(i,n)}createFile(e,t){let i=this.paths.dirname(e),r=this.paths.basename(e),n=this.getDirectoryNode(i),a=nS.create(n,this.nextInode(),r,yo(Date.now()),t);n.entries.set(r,a)}createReadable(e){let t=this.paths.dirname(e),i=this.paths.basename(e),r=this.getDirectoryNode(t),n=nI.create(r,this.nextInode(),i,yo(Date.now()),new ya,void 0);return r.entries.set(i,n),n.readable}createWritable(e,t){let i=this.paths.dirname(e),r=this.paths.basename(e),n=this.getDirectoryNode(i),a=nI.create(n,this.nextInode(),r,yo(Date.now()),void 0,new yr(t));return n.entries.set(r,a),a.writable}getDirectoryNode(e){let t=this.findNode(e);if(void 0===t)throw Error(`ENOENT: no such directory ${e}`);if(t.filetype!==i9.directory)throw Error(`ENOTDIR: not a directory ${e}`);return t}async readFile(e,t,i){let r=await this.getContent(e);return this.read(r,t,i)}async readCharacterDevice(e,t){let i=t.reduce((e,t)=>e+t.byteLength,0),r=await e.writable.read("max",i);return this.read(r,0n,t)}async writeFile(e,t,i){let r=await this.getContent(e),[n,a]=this.write(r,t,i);return e.content=n,a}async writeCharacterDevice(e,t){let i=t.reduce((e,t)=>e+t.byteLength,0),r=new Uint8Array(i),n=0;for(let e of t)r.set(e,n),n+=e.byteLength;return await e.readable.write(r),i}async getContent(e){if(e.content instanceof Uint8Array)return await Promise.resolve(e.content);{let t=await e.content.reader();return e.content=t,t}}read(e,t,i){let r=nr.asNumber(t),n=0;for(let t of i){let i=Math.min(t.length,e.byteLength-r);if(t.set(e.subarray(r,r+i)),n+=i,i<t.length)break;r+=i}return n}write(e,t,i){let r=nr.asNumber(t),n=0;for(let e of i)n+=e.byteLength;if(r+n>e.byteLength){let t=new Uint8Array(r+n);t.set(e),e=t}for(let t of i)e.set(t,r),r+=t.length;return[e,n]}constructor(){super(nk.create(void 0,1n,"/",yo(Date.now()))),ys(this,"paths",mR().path),ys(this,"uri",ah.m_.parse(`wasi-memfs://${md.A()}`))}}let yd=i4.fd_readdir|i4.path_filestat_get|i4.fd_filestat_get|i4.path_open|i4.path_create_file|i4.path_create_directory,yu=i4.fd_read|i4.fd_seek|i4.fd_tell|i4.fd_advise|i4.fd_filestat_get|i4.poll_fd_readwrite,yp=yd|yu,yc=yd&~yu,yh=yu&yd;function ym(e,t){function i(e){if(!(e instanceof m4))throw new mv(i5.badf)}function r(e){if(!(e instanceof m4)&&!(e instanceof m3))throw new mv(i5.badf);if(e instanceof m3&&void 0===e.node.writable)throw new mv(i5.perm)}function n(e){if(!(e instanceof m4)&&!(e instanceof m3))throw new mv(i5.badf);if(e instanceof m3&&void 0===e.node.readable)throw new mv(i5.perm)}function a(e){if(!(e instanceof m8))throw new mv(i5.badf)}function s(e){if(!(e instanceof m4)&&!(e instanceof m8)&&!(e instanceof m3))throw new mv(i5.badf)}function o(t,i){t.dev=e,t.ino=i.inode,t.filetype=i.filetype,t.nlink=1n,t.size=function(e){switch(e.filetype){case i9.regular_file:return nS.size(e);case i9.directory:return nk.size(e);case i9.character_device:return 1n}}(i),t.atim=i.atime,t.ctim=i.ctime,t.mtim=i.mtime}return Object.assign({},mk,mI,{kind:mS.fileSystem,uri:t.uri,id:e,joinPath(){},createStdioFileDescriptor(e=i8.none,t,i=i2.none,r,n=i3.none,a){throw new mv(i5.nosys)},fd_create_prestat_fd(i){let r=t.getRoot();return Promise.resolve(new m8(e,i,yd,yp,i3.none,r.inode,r))},fd_advise:(e,t,r,n)=>(i(e),Promise.resolve()),fd_close:e=>(s(e),Promise.resolve()),fd_fdstat_get:(e,t)=>(t.fs_filetype=e.fileType,t.fs_flags=e.fdflags,t.fs_rights_base=e.rights_base,t.fs_rights_inheriting=e.rights_inheriting,Promise.resolve()),fd_filestat_get:(e,t)=>(i(e),o(t,e.node),Promise.resolve()),fd_pread:async(e,i,n)=>0===n.length?0:(r(e),e instanceof m4)?await t.readFile(e.node,i,n):await t.readCharacterDevice(e.node,n),async fd_read(e,i){if(0===i.length)return 0;r(e);let n=0;return e instanceof m4?(n=await t.readFile(e.node,e.cursor,i),e.cursor=e.cursor+BigInt(n)):n=await t.readCharacterDevice(e.node,i),n},fd_readdir(e){a(e);let t=[];for(let i of e.node.entries.values())t.push({d_ino:i.inode,d_type:i.filetype,d_name:i.name});return Promise.resolve(t)},async fd_seek(e,t,r){switch(i(e),r){case rr.set:e.cursor=t;break;case rr.cur:e.cursor=e.cursor+t;break;case rr.end:let n=nS.size(e.node);e.cursor=nr.max(0n,n-t)}return BigInt(e.cursor)},fd_renumber:(e,t)=>(s(e),Promise.resolve()),fd_tell:e=>(i(e),Promise.resolve(e.cursor)),fd_pwrite:async(e,i,r)=>(n(e),e instanceof m4?await t.writeFile(e.node,i,r):await t.writeCharacterDevice(e.node,r)),async fd_write(e,i){n(e);let r=0;return e instanceof m4?(i3.appendOn(e.fdflags)&&(e.cursor=BigInt((await t.getContent(e.node)).byteLength)),r=await t.writeFile(e.node,e.cursor,i),e.cursor=e.cursor+BigInt(r)):r=await t.writeCharacterDevice(e.node,i),r},async path_filestat_get(e,i,r,n){a(e);let s=t.findNode(e.node,r);if(void 0===s)throw new mv(i5.noent);o(n,s)},path_open(i,r,n,s,o,l,d,u){let p;a(i);let c=t.findNode(i.node,n);if(void 0===c){if(i2.creatOn(s))throw new mv(i5.perm);throw new mv(i5.noent)}if(c.filetype!==i9.directory&&i2.directoryOn(s))throw new mv(i5.notdir);if(i2.exclOn(s))throw new mv(i5.exist);if(c.filetype===i9.regular_file&&(i2.truncOn(s)||i3.appendOn(d)||i3.syncOn(d)))throw new mv(i5.perm);let h=(o&(i4.fd_write|i4.fd_datasync|i4.fd_allocate|i4.fd_filestat_set_size))!==0n;if(c.filetype===i9.regular_file&&h)throw new mv(i5.perm);switch(c.filetype){case i9.regular_file:p=new m4(e,u.next(),i.childFileRights(o,yc),d,c.inode,c);break;case i9.directory:p=new m8(e,u.next(),i.childDirectoryRights(o,yh),l|yp,d,c.inode,c);break;case i9.character_device:let m=i.childFileRights(o,yh)|i4.fd_write;p=new m3(e,u.next(),m,d,c.inode,c)}if(void 0===p)throw new mv(i5.noent);return Promise.resolve(p)},path_readlink(e,i){if(a(e),void 0===t.findNode(e.node,i))throw new mv(i5.noent);throw new mv(i5.nolink)},fd_bytesAvailable:e=>(i(e),Promise.resolve(nr.max(0n,nS.size(e.node)-e.cursor)))})}function yy(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let yg=i4.fd_fdstat_set_flags|i4.path_create_directory|i4.path_create_file|i4.path_link_source|i4.path_link_target|i4.path_open|i4.fd_readdir|i4.path_readlink|i4.path_rename_source|i4.path_rename_target|i4.path_filestat_get|i4.path_filestat_set_size|i4.path_filestat_set_times|i4.fd_filestat_get|i4.fd_filestat_set_times|i4.path_remove_directory|i4.path_unlink_file|i4.path_symlink,yf=yg|(i4.fd_datasync|i4.fd_read|i4.fd_seek|i4.fd_fdstat_set_flags|i4.fd_sync|i4.fd_tell|i4.fd_write|i4.fd_advise|i4.fd_allocate|i4.fd_filestat_get|i4.fd_filestat_set_size|i4.fd_filestat_set_times|i4.poll_fd_readwrite);class yv extends mP{with(e){return new yv(this.deviceId,e.fd,this.rights_base,this.rights_inheriting,this.fdflags,this.inode)}constructor(e,t,i,r,n,a){super(e,t,i9.directory,i,r,n,a)}}(nC||(nC={})).create=function(e,t,i){return{kind:0,inode:e,parent:t,name:i,entries:new Map}},(nP||(nP={})).create=function(e,t,i,r){return{kind:1,inode:e,parent:t,name:i,deviceDriver:r}};class y_{isRoot(e){return e.inode===this.root.inode}addMountPoint(e,t){if(0===e.length)throw Error("Cannot mount root");let i=mR().path;if(e.charAt(0)!==i.sep)throw Error(`Cannot mount relative path: ${e}`);let r=e.split(i.sep);r.shift();let n=this.root;for(let a=0;a<r.length;a++){if(1===n.kind)throw Error(`Cannot create virtual folder over mount point: ${i.sep}${r.slice(0,a+1).join(i.sep)}`);let s=r[a];if(a===r.length-1){let i=nP.create(y_.inodeCounter++,n,s,t);this.inodes.set(i.inode,i),n.entries.set(s,i),this.deviceDrivers.set(t,i),this.mountPoints.set(e,i)}else{let e=n.entries.get(s);void 0===e&&(e=nC.create(y_.inodeCounter++,n,s),n.entries.set(s,e),this.inodes.set(e.inode,e)),n=e}}}getNode(e){let t=this.inodes.get(e);if(void 0===t)throw new mv(i5.badf);return t}findNode(e,t){let i=mR().path;if("/"===(t=i.normalize(t)))return[this.root,t];if("."===t)return 0===e.kind?[e,void 0]:[e,t];if(".."===t)if(void 0===e.parent)return[this.root,void 0];else return[e.parent,void 0];let r=t.split(i.sep);if(""===r[0]){if(e!==this.root)throw new mv(i5.noent);r.shift()}let n=e;for(let e=0;e<r.length;e++){if(1===n.kind)return[n,i.join(...r.slice(e))];let t=r[e],a=n.entries.get(t);if(void 0===a)break;if(e===r.length-1)return 0===a.kind?[a,void 0]:[a,"."];n=a}throw new mv(i5.noent)}makeVirtualPath(e,t){let i=this.deviceDrivers.get(e);if(void 0===i)return;let r=this.getPath(i);return mR().path.join(r,t)}getDeviceDriver(e){let[t,i]=this.findNode(this.root,e);return 1===t.kind?[t.deviceDriver,i]:[void 0,e]}getMountPoint(e){let t=e.toString();for(let[e,i]of this.mountPoints){let r=i.deviceDriver.uri,n=r.toString();if(t===n||t.startsWith(n)&&("/"===n.charAt(n.length-1)||"/"===t.charAt(n.length)))return[e,r]}return[void 0,e]}getPath(e){let t=[],i=e;do t.push(i.name),i=i.parent;while(void 0!==i);return mR().path.join(...t.reverse())}constructor(e){yy(this,"deviceId",void 0),yy(this,"inodes",void 0),yy(this,"root",void 0),yy(this,"deviceDrivers",void 0),yy(this,"mountPoints",void 0),this.deviceId=e,this.inodes=new Map,this.root=nC.create(y_.inodeCounter++,void 0,"/"),this.inodes.set(this.root.inode,this.root),this.deviceDrivers=new Map,this.mountPoints=new Map}}function yT(e,t,i){let r=1000000n*BigInt(Date.now()),n=r,a=r;function s(e){if(e.fileType!==i9.directory)throw new mv(i5.badf)}function o(t,i){return new yv(e,t,yg,yf,0,i)}let l=new y_(e);for(let[e,t]of i)l.addMountPoint(e,t);let d=Object.assign({},mk,{kind:mS.fileSystem,id:e,uri:ah.m_.parse("wasi-root://"),makeVirtualPath:(e,t)=>l.makeVirtualPath(e,t),getDeviceDriver:e=>l.getDeviceDriver(e),getMountPoint:e=>l.getMountPoint(e),joinPath(){},createStdioFileDescriptor(){throw Error("Virtual root FS can't provide stdio file descriptors")},fd_create_prestat_fd:e=>Promise.resolve(o(e,l.root.inode)),fd_close:e=>Promise.resolve(),fd_fdstat_get:(e,t)=>(t.fs_filetype=e.fileType,t.fs_flags=e.fdflags,t.fs_rights_base=e.rights_base,t.fs_rights_inheriting=e.rights_inheriting,Promise.resolve()),fd_fdstat_set_flags:(e,t)=>(e.fdflags=t,Promise.resolve()),fd_filestat_get(e,t){s(e);let i=l.getNode(e.inode);if(1===i.kind)throw new mv(i5.badf);return t.dev=e.deviceId,t.ino=e.inode,t.filetype=e.fileType,t.nlink=1n,t.size=BigInt(i.entries.size),t.atim=r,t.mtim=n,t.ctim=a,Promise.resolve()},fd_filestat_set_times:(e,t,i,a)=>(r=t,n=i,Promise.resolve()),async fd_readdir(e){s(e);let t=[],i=l.getNode(e.inode);if(1===i.kind)throw new mv(i5.badf);for(let e of i.entries.values())t.push({d_name:e.name,d_type:i9.directory,d_ino:e.inode});return t},async path_filestat_get(e,i,o,u){s(e);let p=l.getNode(e.inode);if(l.isRoot(p)&&("."===o||".."===o||"/"===o))return await this.fd_filestat_get(t.getRoot(d),u);let[c,h]=l.findNode(p,o);if(1===c.kind){let e=c.deviceDriver,r=t.getRoot(e);if(void 0===r)throw new mv(i5.badf);return await e.path_filestat_get(r,i,h,u)}return u.dev=e.deviceId,u.ino=c.inode,u.filetype=i9.directory,u.nlink=1n,u.size=BigInt(c.entries.size),u.atim=r,u.mtim=n,u.ctim=a,await Promise.resolve()},async path_open(e,i,r,n,a,d,u,p){s(e);let c=l.getNode(e.inode),[h,m]=l.findNode(c,r);if(1===h.kind){let e=h.deviceDriver,r=t.getRoot(e);if(void 0===r)throw new mv(i5.noent);return await e.path_open(r,i,m,n,a,d,u,p)}return o(p.next(),h.inode)}},mI);return d}function yw(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}yy(y_,"inodeCounter",1n);class yb{add(e){this.devices.set(e.id,e),this.devicesByUri.set(e.uri.key,e)}has(e){return this.devices.has(e)}hasByUri(e){return this.devicesByUri.has(e.key)}get(e){let t=this.devices.get(e);if(void 0===t)throw new mv(i5.nxio);return t}getByUri(e){let t=this.devicesByUri.get(e.key);if(void 0===t)throw new mv(i5.nxio);return t}remove(e){let t=this.devices.get(e);if(void 0===t)throw new mv(i5.nxio);this.devices.delete(e),this.devicesByUri.delete(t.uri.key)}removeByUri(e){let t=e.key,i=this.devicesByUri.get(t);if(void 0===i)throw new mv(i5.nxio);this.devices.delete(i.id),this.devicesByUri.delete(t)}get size(){return this.devices.size}values(){return this.devices.values()}entries(){return this.devices.entries()}[Symbol.iterator](){return this.entries()}constructor(){yw(this,"devices",void 0),yw(this,"devicesByUri",void 0),this.devices=new Map,this.devicesByUri=new Map}}class yS{add(e){this.devices.set(e.id,e),this.devicesByUri.set(e.uri.key,e)}has(e){return!!this.nextDrivers.has(e)||this.devices.has(e)}hasByUri(e){return!!this.nextDrivers.hasByUri(e)||this.devicesByUri.has(e.key)}get(e){let t=this.devices.get(e);return void 0!==t?t:this.nextDrivers.get(e)}getByUri(e){let t=this.devicesByUri.get(e.key);return void 0!==t?t:this.nextDrivers.getByUri(e)}remove(e){let t=this.devices.get(e);if(void 0!==t){this.devices.delete(e),this.devicesByUri.delete(t.uri.key);return}this.nextDrivers.remove(e)}removeByUri(e){let t=e.key,i=this.devicesByUri.get(t);if(void 0!==i){this.devices.delete(i.id),this.devicesByUri.delete(t);return}this.nextDrivers.removeByUri(e)}get size(){return this.devices.size+this.nextDrivers.size}entries(){let e=this.devices.entries(),t=this.nextDrivers.entries(),i={[Symbol.iterator]:()=>i,next:()=>{if(void 0!==e){let t=e.next();if(!t.done)return t;e=void 0}return t.next()}};return i}values(){let e=this.devices.values(),t=this.nextDrivers.values(),i={[Symbol.iterator]:()=>i,next:()=>{if(void 0!==e){let t=e.next();if(!t.done)return t;e=void 0}return t.next()}};return i}[Symbol.iterator](){return this.entries()}constructor(e){yw(this,"nextDrivers",void 0),yw(this,"devices",void 0),yw(this,"devicesByUri",void 0),this.nextDrivers=e,this.devices=new Map,this.devicesByUri=new Map}}var yk=nx||(nx={});function yI(e){return e.fileSystem.uri}yk.isMemoryDescriptor=function(e){return"memoryFileSystem"===e.kind},yk.getMemoryKey=yI,yk.key=function(e){switch(e.kind){case"memoryFileSystem":return yI(e);case"pylanceFileSystem":return e.uri;default:throw Error(`Unknown MapDirDescriptor kind ${JSON.stringify(e,void 0,0)}`)}},yk.getDescriptors=function(e){let t=[],i=[];if(void 0===e)return{memoryFileSystems:t,pylanceFileSystems:i};for(let r of e)"memoryFileSystem"===r.kind?t.push(r):"pylanceFileSystem"===r.kind&&i.push(r);return{memoryFileSystems:t,pylanceFileSystems:i}};class yC{async getFileSystem(e){let t=e.toString(),i=this.fileSystemDeviceDrivers.get(t);if(void 0!==i)return i}async createRootFileSystem(e,t){let i,r=[],n=new Map,{memoryFileSystems:a,pylanceFileSystems:s}=nx.getDescriptors(t);if(a.length>0)for(let e of a){let t=ym(nF.nextDeviceId(),e.fileSystem);r.push(t),n.set(e.mountPoint,t)}if(s.length>0)for(let e of s){let t=e.createDriver(nF.nextDeviceId(),e.uri);r.push(t),n.set(e.mountPoint,t)}let o=!1;for(let e of n.keys())if("/"===e){if(n.size>1)throw Error("Cannot mount root directory when other directories are mounted as well.")}else o=!0;let l=new yb;if(o){let t=new Map(Array.from(n.entries())),a=yT(nF.nextDeviceId(),e,t);n.set("/",a),r.push(a),i={kind:"virtual",fileSystem:a,deviceDrivers:l,preOpens:n}}else i={kind:"single",fileSystem:r[0],deviceDrivers:l,preOpens:n};for(let e of r)l.add(e);return i}async getOrCreateFileSystemByDescriptor(e,t,i=3){let r=nx.key(t);if(e.hasByUri(r))return e.getByUri(r);let n=this.fileSystemDeviceDrivers.get(r.toString());if(void 0!==n)return e.add(n),n;if(nx.isMemoryDescriptor(t)&&(n=ym(nF.nextDeviceId(),t.fileSystem),3===i&&(i=1)),"pylanceFileSystem"===t.kind&&(n=t.createDriver(nF.nextDeviceId(),t.uri),3===i&&(i=2)),void 0!==n&&2===i&&this.fileSystemDeviceDrivers.set(r.toString(),n),void 0===n)throw Error(`Unable to create file system for ${JSON.stringify(t,void 0,0)}`);return e.add(n),n}parseFileSystems(){return[]}constructor(){for(const e of(yw(this,"contributionIdToUri",void 0),yw(this,"contributedFileSystems",void 0),yw(this,"fileSystemDeviceDrivers",void 0),this.contributionIdToUri=new Map,this.contributedFileSystems=new Map,this.fileSystemDeviceDrivers=new Map,this.parseFileSystems()))this.contributedFileSystems.set(e.id.toString(),e.mapDir),this.contributionIdToUri.set(e.contributionId,e.id)}}!function(e){var t;let i,r,n=1n;function a(){return n++}e.nextDeviceId=a;let s=new yC;e.getOrCreateFileSystemByDescriptor=function(e,t){return s.getOrCreateFileSystemByDescriptor(e,t)},e.createRootFileSystem=function(e,t){return s.createRootFileSystem(e,t)},e.deviceDrivers=new yb,t=a(),i=0n,e.console=Object.assign({},mk,{kind:mS.character,id:t,uri:m9,createStdioFileDescriptor:e=>new m7(t,e,m6,0n,0,i++),fd_fdstat_get:(e,t)=>(t.fs_filetype=e.fileType,t.fs_flags=e.fdflags,t.fs_rights_base=e.rights_base,t.fs_rights_inheriting=e.rights_inheriting,Promise.resolve()),fd_filestat_get(e,t){t.dev=e.deviceId,t.ino=e.inode,t.filetype=i9.character_device,t.nlink=0n,t.size=101n;let i=BigInt(Date.now());return t.atim=i,t.ctim=i,t.mtim=i,Promise.resolve()},fd_write(e,t){let i;if(1===t.length)i=t[0];else{i=new Uint8Array(t.reduce((e,t)=>e+t.length,0));let e=0;for(let r of t)i.set(r,e),e=r.byteLength}return mR().console.log((void 0===r&&(r=mR().TextDecoder.create("utf-8")),r).decode(i)),Promise.resolve(i.byteLength)}}),e.deviceDrivers.add(e.console),e.createLocalDeviceDrivers=function(){return new yS(e.deviceDrivers)}}(nF||(nF={}));let yP=nF;function yx(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class yF{clear(){this.offset=0,this.cursor=0,this.content=[]}setContent(e){this.content=e.split(""),this.cursor=this.content.length}getOffset(){return this.offset}setOffset(e){this.offset=e}getLine(){return this.content.join("")}getCursor(){return this.cursor}isCursorAtEnd(){return this.cursor===this.content.length}isCursorAtBeginning(){return 0===this.cursor}insert(e){for(let t of e)this.content.splice(this.cursor,0,t),this.cursor++}del(){return this.cursor!==this.content.length&&(this.content.splice(this.cursor,1),!0)}backspace(){return 0!==this.cursor&&(this.cursor-=1,this.content.splice(this.cursor,1),!0)}moveCursorRelative(e){let t=this.cursor+e;return!(t<0)&&!(t>this.content.length)&&(this.cursor=t,!0)}moveCursorStartOfLine(){return 0!==this.cursor&&(this.cursor=0,!0)}moveCursorEndOfLine(){return this.cursor!==this.content.length&&(this.cursor=this.content.length,!0)}moveCursorWordLeft(){let e;if(0===this.cursor)return!1;if(" "===this.content[this.cursor-1])for(e=this.cursor-2;e>0;)if(" "===this.content[e])e--;else break;else e=this.cursor;if(0===e)return this.cursor=e,!0;for(;e>0;)if(" "===this.content[e]){e++;break}else e--;return this.cursor=e,!0}moveCursorWordRight(){let e;if(this.cursor===this.content.length)return!1;if(" "===this.content[this.cursor])for(e=this.cursor+1;e<this.content.length;)if(" "===this.content[e])e++;else break;else e=this.cursor;if(e===this.content.length)return this.cursor=e,!0;for(;e<this.content.length;)if(" "===this.content[e])break;else e++;return this.cursor=e,!0}constructor(){yx(this,"offset",void 0),yx(this,"cursor",void 0),yx(this,"content",void 0),this.offset=0,this.cursor=0,this.content=[]}}class yA{update(e){this.history[this.history.length-1]=e}markExecuted(){this.current!==this.history.length-1&&(this.history[this.history.length-1]=this.history[this.current]),this.history[this.history.length-1]===this.history[this.history.length-2]&&this.history.pop(),this.history.push(""),this.current=this.history.length-1}previous(){if(0!==this.current)return this.history[--this.current]}next(){if(this.current!==this.history.length-1)return this.history[++this.current]}constructor(){yx(this,"history",void 0),yx(this,"current",void 0),this.history=[""],this.current=0}}class yD{get stdio(){return{in:{kind:"terminal",terminal:this},out:{kind:"terminal",terminal:this},err:{kind:"terminal",terminal:this}}}setState(e){let t=this.state;this.state=e,t!==e&&((e===yR.free||e===yR.idle)&&(this.lineBuffer.clear(),this.lines=[],this.isStdInClosed=!1),this._onDidChangeState.fire({old:t,new:e}))}getState(){return this.state}setName(e){this.isOpen?this._onDidChangeName.fire(e):this.nameBuffer=e}open(){if(this.isOpen=!0,void 0!==this.nameBuffer&&(this._onDidChangeName.fire(this.nameBuffer),this.nameBuffer=void 0),void 0!==this.writeBuffer){for(let e of this.writeBuffer)this._onDidWrite.fire(e);this.writeBuffer=void 0}}close(){this._onDidCloseTerminal.fire()}async read(e){if(this.isStdInClosed&&0===this.lines.length)return new Uint8Array(0);let t=await this.readline();return this.encoder.encode(t)}readline(){if(void 0!==this.readlineCallback)throw Error("Already in readline mode");return this.lines.length>0?Promise.resolve(this.lines.shift()):this.isStdInClosed?Promise.resolve(""):new Promise(e=>{this.readlineCallback=e})}write(e,t){return"string"==typeof e?(this.writeString(this.replaceNewlines(e)),Promise.resolve()):(this.writeString(this.getString(e,t)),Promise.resolve(e.byteLength))}writeString(e){this.isOpen?this._onDidWrite.fire(e):(void 0===this.writeBuffer&&(this.writeBuffer=[]),this.writeBuffer.push(e))}async prompt(e){await this.write(e),this.lineBuffer.setOffset(e.length)}handleInput(e){if(this.state===yR.free)return void this._onAnyKey.fire();let t=this.lineBuffer.getCursor();switch(e){case"\x03":this.handleInterrupt();break;case"\x04":this.handleEOT(e);break;case"\x06":case"\x1b[C":this.adjustCursor(this.lineBuffer.moveCursorRelative(1),t,this.lineBuffer.getCursor());break;case"\x1bf":case"\x1b[1;5C":this.adjustCursor(this.lineBuffer.moveCursorWordRight(),t,this.lineBuffer.getCursor());break;case"\x02":case"\x1b[D":this.adjustCursor(this.lineBuffer.moveCursorRelative(-1),t,this.lineBuffer.getCursor());break;case"\x1bb":case"\x1b[1;5D":this.adjustCursor(this.lineBuffer.moveCursorWordLeft(),t,this.lineBuffer.getCursor());break;case"\x01":case"\x1b[H":this.adjustCursor(this.lineBuffer.moveCursorStartOfLine(),t,this.lineBuffer.getCursor());break;case"\x05":case"\x1b[F":this.adjustCursor(this.lineBuffer.moveCursorEndOfLine(),t,this.lineBuffer.getCursor());break;case"\x1b[A":if(void 0===this.commandHistory)this.bell();else{let e=this.commandHistory.previous();void 0!==e?(this.eraseLine(),this.lineBuffer.setContent(e),this.writeString(e)):this.bell()}break;case"\x1b[B":if(void 0===this.commandHistory)this.bell();else{let e=this.commandHistory.next();void 0!==e?(this.eraseLine(),this.lineBuffer.setContent(e),this.writeString(e)):this.bell()}break;case"\b":case"":this.lineBuffer.backspace()?this._onDidWrite.fire("\x1b[D\x1b[P"):this.bell();break;case"\x1b[3~":this.lineBuffer.del()?this._onDidWrite.fire("\x1b[P"):this.bell();break;case"\r":this.handleEnter();break;default:this.lineBuffer.insert(e),this.lineBuffer.isCursorAtEnd()||this._onDidWrite.fire("\x1b[@"),this._onDidWrite.fire(e),void 0!==this.commandHistory&&this.commandHistory.update(this.lineBuffer.getLine())}}handleInterrupt(){var e;this._onDidCtrlC.fire(),this._onDidWrite.fire("\x1b[31m^C\x1b[0m\r\n"),this.lineBuffer.clear(),this.lines.length=0,null==(e=this.readlineCallback)||e.call(this,"\n"),this.readlineCallback=void 0}handleEnter(){this._onDidWrite.fire("\r\n");let e=this.lineBuffer.getLine();if(this.lineBuffer.clear(),this.lines.push(e),void 0!==this.commandHistory&&this.commandHistory.markExecuted(),void 0!==this.readlineCallback){let e=this.lines.shift()+"\n";this.readlineCallback(e),this.readlineCallback=void 0}}handleEOT(e){this.isStdInClosed=!0;let t=this.lineBuffer.getLine();if(this.lineBuffer.clear(),t.length>0&&this.lines.push(t),void 0!==this.readlineCallback&&this.lines.length>0){let e=this.lines.shift();this.readlineCallback(e),this.readlineCallback=void 0}}adjustCursor(e,t,i){if(!e)return void this.bell();let r=t-i,n=r>0?"D":"C",a=`\x1b[${n}`.repeat(Math.abs(r));this._onDidWrite.fire(a)}eraseLine(){let e=this.lineBuffer.getCursor();this.adjustCursor(!0,e,0),this._onDidWrite.fire(`\x1b[0J`)}bell(){this._onDidWrite.fire("\x07")}replaceNewlines(e){return e.replace(yD.terminalRegExp,(e,t,i)=>t||(i?"\r\n":e))}getString(e,t){return this.replaceNewlines(this.decoder.decode(e.slice()))}constructor(e={}){yx(this,"options",void 0),yx(this,"commandHistory",void 0),yx(this,"state",void 0),yx(this,"_onDidClose",void 0),yx(this,"onDidClose",void 0),yx(this,"_onDidWrite",void 0),yx(this,"onDidWrite",void 0),yx(this,"_onDidChangeName",void 0),yx(this,"onDidChangeName",void 0),yx(this,"_onDidCtrlC",void 0),yx(this,"onDidCtrlC",void 0),yx(this,"_onAnyKey",void 0),yx(this,"onAnyKey",void 0),yx(this,"_onDidChangeState",void 0),yx(this,"onDidChangeState",void 0),yx(this,"_onDidCloseTerminal",void 0),yx(this,"onDidCloseTerminal",void 0),yx(this,"lines",void 0),yx(this,"lineBuffer",void 0),yx(this,"readlineCallback",void 0),yx(this,"isOpen",void 0),yx(this,"nameBuffer",void 0),yx(this,"writeBuffer",void 0),yx(this,"encoder",void 0),yx(this,"decoder",void 0),yx(this,"isStdInClosed",void 0),this.options=e,this.commandHistory=this.options.history?new yA:void 0,this.state=yR.busy,this._onDidClose=iR.create(),this.onDidClose=this._onDidClose.event,this._onDidWrite=iR.create(),this.onDidWrite=this._onDidWrite.event,this._onDidChangeName=iR.create(),this.onDidChangeName=this._onDidChangeName.event,this._onDidCtrlC=iR.create(),this.onDidCtrlC=this._onDidCtrlC.event,this._onAnyKey=iR.create(),this.onAnyKey=this._onAnyKey.event,this._onDidChangeState=iR.create(),this.onDidChangeState=this._onDidChangeState.event,this._onDidCloseTerminal=iR.create(),this.onDidCloseTerminal=this._onDidCloseTerminal.event,this.encoder=mR().TextEncoder.create(),this.decoder=mR().TextDecoder.create(),this.isStdInClosed=!1,this.lines=[],this.lineBuffer=new yF,this.isOpen=!1}}function yE(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}yx(yD,"terminalRegExp",/(\r\n)|(\n)/gm);var yR=((ir={})[ir.free=1]="free",ir[ir.idle=2]="idle",ir[ir.busy=3]="busy",ir);(ia=nE||(nE={})).none=0,ia.create=1,ia.directory=2,ia.exclusive=4,ia.truncate=8;var yN=((is={})[is.unknown=0]="unknown",is[is.directory=1]="directory",is[is.regular_file=2]="regular_file",is[is.character_device=3]="character_device",is);(nA||(nA={})).is=function(e){return e&&"object"==typeof e&&"number"==typeof e.initial&&("number"==typeof e.maximum||void 0===e.maximum)&&("boolean"==typeof e.shared||void 0===e.shared)},(nD||(nD={})).create=function(e,t){return{version:"1",createPseudoterminal:e=>new yD(e),createMemoryFileSystem:()=>Promise.resolve(new yl),async createRootFileSystem(e){let t=new mx,i=new m2(await yP.createRootFileSystem(t,e),t);return await i.initialize(),i},createReadable:()=>new ya,createWritable(e){let t;if(void 0===e)return new yr;let i=yr;if("string"==typeof e){if("utf-8"!==e)throw Error(`Unsupported encoding: ${e}`);t=e}else{if(void 0!==e.encoding&&"utf-8"!==e.encoding)throw Error(`Unsupported encoding: ${e.encoding}`);t=e.encoding,e.eot&&(i=yn)}return new i(t)},async createProcess(t,i,r,n,a,s){let o,l;a instanceof WebAssembly.Memory||nA.is(a)?(o=a,l=s):l=a;let d=new e(t,i,r,n,o,l);return await d.initialize(),d},compile:t}};class yM{load(e){return nD.create(this._processConstructor,this._compile)}constructor(e,t){yE(this,"_processConstructor",void 0),yE(this,"_compile",void 0),this._processConstructor=e,this._compile=t}}function yO(e,t,i,r){if(r.startsWith("/$")){let e=r.match(/\/\$([a-zA-Z])\$\/(.*)/);if(e)return ah.m_.file(`${e[1]}:\\${e[2]}`,!1)}return r.startsWith(`/lib/python${t.major}.${t.minor}`)||"/"===r[0]&&i.isWindows()||r.startsWith("//")?e.combinePaths(r.slice(1)):e.combinePaths(r)}async function yU(e,t,i){let r=new AbortController,n=r.signal;(0,n8.$B)(i,()=>{r.abort()});let a=await fetch(e,{headers:{"User-Agent":"Octokit GitHub Node.js"},signal:n});if(200===a.status){let e=await a.arrayBuffer();return await t(e)}if(300===a.status){for(let e of(await a.json()).message.match(/https?:\/\/[^\s,]+/g)||[])if(await yU(e,t,i))return!0}return!1}function yL(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class yz{async readFile(e){return this._currentFile&&e.equals(this._currentFile)?this._currentFileContent:await this._fs.readFile(e)}async readDirectory(e){return this._fs.readdirEntriesSync(e)}async stat(e){return this._currentFile&&e.equals(this._currentFile)?this._currentFileStats:this._fs.statSync(e)}constructor(e,t,i){yL(this,"_fs",void 0),yL(this,"_currentFile",void 0),yL(this,"_currentFileContent",void 0),yL(this,"_currentFileStats",void 0),yL(this,"_textEncoder",void 0),this._fs=e,this._textEncoder=mR().TextEncoder.create(),this._currentFile=t,this._currentFileContent=this._textEncoder.encode(i.replace(/\r\n/g,"\n").replace(/\r/g,"\n"));const r=Date.now();this._currentFileStats={size:this._currentFileContent.length,mtimeMs:r,ctimeMs:r,isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1,isBlockDevice:()=>!1,isCharacterDevice:()=>!1,isFIFO:()=>!1,isSocket:()=>!1}}}class yW{get pythonVersion(){return this._version}async runFile(e,t){let i=this._fs.readFileSync(e,"utf-8");return await this._run(e,i,void 0,t)}async runCode(e,t,i){return await this._run(void 0,e,t,i)}async _createRootFileSystem(e,t){return await this._api.createRootFileSystem([{uri:this._wasiPath,kind:"pylanceFileSystem",mountPoint:"/",createDriver:(i,r)=>(function(e,t,i,r){let n=new mQ(t,i,r);function a(e){if(!(e instanceof mJ))throw new mv(i5.badf)}function s(e){if(!(e instanceof mY))throw new mv(i5.badf)}function o(t){return new mY(e,t,mU(!0),mj(!0),0,n.getRoot().inode)}function l(e){return e.isFile()?e.isSymbolicLink()?i9.symbolic_link:i9.regular_file:i9.directory}async function d(e,t){let i=n.getNode(e.inode,1);try{let e=await r.stat(n.getUri(i,t));return l(e)}catch{return}}function u(t,i,r){t.dev=e,t.ino=i,t.filetype=l(r),t.nlink=1n,t.size=BigInt(r.size),t.atim=p(r.mtimeMs),t.ctim=p(r.ctimeMs),t.mtim=p(r.mtimeMs)}function p(e){return BigInt(Math.trunc(1e6*e))}function c(e,t,i){let r=0;for(let n of i){let i=Math.min(n.length,e.byteLength-t);if(n.set(e.subarray(t,t+i)),r+=i,i<n.length)break;t+=i}return r}function h(e,t,i){let r=0;for(let e of i)r+=e.byteLength;if(t+r>e.byteLength){let i=new Uint8Array(t+r);i.set(e),e=i}for(let r of i)e.set(r,t),t+=r.length;return[e,r]}async function m(e){let t=new Uint8Array(0),i=n.getNode(e.inode,0);return e.cursor=0,await y(i,t)}async function y(e,t){void 0!==t&&n.setContent(e,t)}let g={kind:mS.fileSystem,uri:t,id:e,joinPath(...e){return this.uri.combinePaths(...e)},createStdioFileDescriptor(e=i8.none,t,i=i2.none,r,n=i3.none,a){if(0===t.length)throw new mv(i5.inval);let s=(null!=i?i:0===a)?i2.none:i2.creat|i2.trunc,l=o(999999);return g.path_open(l,e,t,s,(null!=r?r:0===a)?mG:mH,function(e=!1){return e?mK:0n}(!0),n,{next:()=>a})},fd_create_prestat_fd:e=>Promise.resolve(o(e)),fd_advise:(e,t,i,r)=>Promise.resolve(),async fd_allocate(e,t,i){a(e);let r=nr.asNumber(t),s=nr.asNumber(i),o=n.getNode(e.inode,0),l=await n.getContent(o);if(r>l.byteLength)throw new mv(i5.inval);let d=new Uint8Array(l.byteLength+s);return d.set(l.subarray(0,r),0),d.set(l.subarray(r),r+s),await y(o,d)},fd_close:e=>(n.closeNode(e.inode),Promise.resolve()),fd_datasync:e=>(a(e),y(n.getNode(e.inode,0))),fd_fdstat_get:(e,t)=>(t.fs_filetype=e.fileType,t.fs_flags=e.fdflags,t.fs_rights_base=e.rights_base,t.fs_rights_inheriting=e.rights_inheriting,Promise.resolve()),fd_fdstat_set_flags:(e,t)=>(e.fdflags=t,Promise.resolve()),async fd_filestat_get(e,t){if(n.isNodeDeleted(e.inode))return void u(t,e.inode,n.getCachedStat(e.inode));let i=n.getNode(e.inode),a=await r.stat(n.getUri(i));u(t,i.inode,a)},async fd_filestat_set_size(e,t){a(e);let i=nr.asNumber(t),r=n.getNode(e.inode,0),s=await n.getContent(r);if(s.byteLength!==i){if(s.byteLength<i){let e=new Uint8Array(i);e.set(s),await y(r,e)}else if(s.byteLength>i){let e=new Uint8Array(i);e.set(s.subarray(0,i)),await y(r,e)}}},fd_filestat_set_times(e,t,i,r){throw new mv(i5.nosys)},async fd_pread(e,t,i){let r=nr.asNumber(t);return c(await n.getContent(n.getNode(e.inode,0)),r,i)},async fd_pwrite(e,t,i){let r=nr.asNumber(t),a=n.getNode(e.inode,0),[s,o]=h(await n.getContent(a),r,i);return await y(a,s),o},async fd_read(e,t){if(0===t.length)return 0;a(e);let i=c(await n.getContent(n.getNode(e.inode,0)),e.cursor,t);return e.cursor=e.cursor+i,i},async fd_readdir(e){s(e);let t=n.getNode(e.inode,1),i=await r.readDirectory(n.getUri(t)),a=[];for(let e of i){let i=e.name,r=e.isFile()?i9.regular_file:i9.directory,s=+(r===i9.directory);a.push({d_ino:n.getOrCreateNode(t,i,s,!1).inode,d_type:r,d_name:i})}return a},async fd_seek(e,t,i){a(e);let r=nr.asNumber(t);switch(i){case rr.set:e.cursor=r;break;case rr.cur:e.cursor=e.cursor+r;break;case rr.end:let s=await n.getContent(n.getNode(e.inode,0));e.cursor=Math.max(0,s.byteLength-r)}return BigInt(e.cursor)},fd_renumber:(e,t)=>(a(e),Promise.resolve()),fd_sync:async e=>await y(n.getNode(e.inode,0)),fd_tell:e=>(a(e),Promise.resolve(BigInt(e.cursor))),async fd_write(e,t){if(0===t.length)return 0;a(e);let i=n.getNode(e.inode,0),r=await n.getContent(i);i3.appendOn(e.fdflags)&&(e.cursor=r.byteLength);let[s,o]=h(r,e.cursor,t);return await y(i,s),e.cursor=e.cursor+o,o},async path_create_directory(e,t){throw new mv(i5.rofs)},async path_filestat_get(e,t,i,a){s(e);let o=n.getNode(e.inode,1),l=await r.stat(n.getUri(o,i));u(a,n.getOrCreateNode(o,i,+!l.isFile(),!1).inode,l)},path_filestat_set_times(e,t,i,r,n,a){throw new mv(i5.nosys)},path_link(e,t,i,r,n){throw new mv(i5.nosys)},async path_open(t,i,r,a,o,l,u,p){var c,h,y,g,f;let v,_;s(t),t.assertRights(o),t.assertInheritingRights(l);let T=await d(t,r),w=void 0!==T;if(w){if(i2.exclOn(a))throw new mv(i5.exist);else if(i2.directoryOn(a)&&T!==i9.directory)throw new mv(i5.notdir)}else if(i2.creatOff(a))throw new mv(i5.noent);let b=!1;if(i2.creatOn(a)&&!w){t.assertIsDirectory();let e=mR().path.dirname(r);if("."!==e){let i=await d(t,e);if(void 0===i||i!==i9.directory)throw new mv(i5.noent)}T=i9.regular_file,b=!0}else if(void 0===T)throw new mv(i5.noent);if(T!==i9.regular_file&&T!==i9.directory)throw new mv(i5.badf);let S=T===i9.regular_file?(c=p.next(),h=t.childFileRights(o),v=n.getNode(t.inode,1),new mJ(e,c,h,u,n.getOrCreateNode(v,r,0,!0).inode)):(y=p.next(),g=t.childDirectoryRights(o),f=l|mj(!0),_=n.getNode(t.inode,1),new mY(e,y,g,f,u,n.getOrCreateNode(_,r,1,!0).inode));return S instanceof mJ&&(b||i2.truncOn(a))&&await m(S),S},path_readlink(e,t){throw new mv(i5.nolink)},async path_remove_directory(e,t){throw new mv(i5.rofs)},async path_rename(e,t,i,r){throw new mv(i5.rofs)},path_symlink(e,t,i){throw new mv(i5.nosys)},async path_unlink_file(e,t){throw new mv(i5.rofs)},async fd_bytesAvailable(e){a(e);let t=n.getNode(e.inode,0),i=e.cursor;return BigInt(Math.max(0,(await n.getContent(t)).byteLength-i))}};return Object.assign({},mk,g,mI)})(i,r,this._pathMapper,new yz(this._fs,e,t))}])}async _run(e,t,i,r){let n=e||ah.m_.file(`file:///temp-${(0,md.A)()}.py`),a={code:-1,stdout:[],stderr:[]},s=this._api.createPseudoterminal(),o=s.onDidWrite(e=>{this._console.log(`Sandboxed output: ${e}`),a.stdout.push(e)}),l={...this._env};if(i&&i.length>0){let e=this._generatePythonPath(i);l.PYTHONPATH?l.PYTHONPATH=l.PYTHONPATH+":"+e:l.PYTHONPATH=e}try{let e=await this._modulePromise,i=await this._createRootFileSystem(n,t);s.open(void 0);let o=await this._api.createProcess(this._mainWorkerBundleUri,this._threadWorkerBundleUri,"python",e,{args:[n.getFilePath()],rootFileSystem:i,stdio:s.stdio,env:l});a.code=await (0,n8.PK)(r,o.run())}catch(e){this._console.error(`Error running python file: ${e}`)}finally{o&&o.dispose(),s.close()}return a}constructor(e,t,i,r,n,a,s,o,l,d,u,p){yL(this,"_mainWorkerBundleUri",void 0),yL(this,"_threadWorkerBundleUri",void 0),yL(this,"_fs",void 0),yL(this,"_wasiPath",void 0),yL(this,"_version",void 0),yL(this,"_env",void 0),yL(this,"_console",void 0),yL(this,"_pathMapper",void 0),yL(this,"_rootUri",void 0),yL(this,"_generatePythonPath",void 0),yL(this,"_api",void 0),yL(this,"_modulePromise",void 0),this._mainWorkerBundleUri=e,this._threadWorkerBundleUri=t,this._fs=i,this._wasiPath=r,this._version=n,this._env=a,this._console=s,this._pathMapper=d,this._rootUri=u,this._generatePythonPath=p;const c=r.combinePaths("python.wasm"),h=i.readFileSync(c);this._modulePromise=WebAssembly.compile(h),this._api=new yM(o,l).load(1)}}class yB{static is(e){return e&&"function"==typeof e.getSandbox}async getSandbox(e,t,i){let r=e.getPythonVersion(i);if(void 0===r)return null;let n=ai.fz.toString(r)+(i?i.getFilePath():"");try{if(r.minor>=13&&!this._sandboxes.has(n)){let a=e.getPythonSearchPaths(i).paths.map(e=>e.getFilePath());(0,au.V1)(t)||a.push(t.getFilePath());let s={...process.env};s.PYTHONPATH=this._generatePythonPath(a);let o=await this._createSandbox(r,s,{toPylancePath:(e,t)=>yO(e,r,this._platform,t),toSandboxPath:e=>e});o&&this._sandboxes.set(n,o)}}catch(e){this._console.error(`Error creating python sandbox: ${e}`)}return this._sandboxes.get(n)||null}_generatePythonPath(e){return e.map(e=>":"===e[1]?`/$${e[0].toLowerCase()}$/${e.slice(3)}`:e).join(":")}async _createSandbox(e,t,i){let r=await this._downloadWASI(e);return r?new yW(this._mainWorkerBundleUri,this._threadWorkerBundleUri,this._fs,r,e,t,this._console,this._processCtor,this._wasmCompiler,i,this._rootUri,this._generatePythonPath.bind(this)):null}async _unzipWASI(e,t){this._fs.mkdirSync(t,{recursive:!0});let i=this._fs.readFileSync(e);for(let e of Object.entries((await ml.loadAsync(i)).files)){let i=e[0],r=t.combinePaths(i);try{let t=e[1];if(t.dir)this._fs.mkdirSync(r,{recursive:!0});else{let e=await t.async("nodebuffer");this._fs.writeFileSync(r,e,null)}}catch(e){console.error(`Error extracting ${r}: ${e}`)}}return t}async _downloadWASI(e){let t=e.major,i=e.minor,r=e.micro||0,n=i>=13?24:23,a=this._rootUri.combinePaths("wasi",`python-${t}.${i}.${r}`);if(this._fs.existsSync(a))return a;if(i>=13){let e=`https://github.com/brettcannon/cpython-wasi-build/releases/download/v${t}.${i}.${r}/python-${t}.${i}.${r}-wasi_sdk-${n}.zip`,s=this._rootUri.combinePaths("wasi",`python-${t}.${i}.${r}.zip`);if(this._fs.mkdirSync(s.getDirectory(),{recursive:!0}),await yU(e,e=>(this._fs.writeFileSync(s,Buffer.from(e),null),Promise.resolve(!0)),nZ.CancellationToken.None))return await this._unzipWASI(s,a)}return null}constructor(e,t,i,r,n,a,s,o){yL(this,"_rootUri",void 0),yL(this,"_mainWorkerBundleUri",void 0),yL(this,"_threadWorkerBundleUri",void 0),yL(this,"_fs",void 0),yL(this,"_console",void 0),yL(this,"_processCtor",void 0),yL(this,"_wasmCompiler",void 0),yL(this,"_platform",void 0),yL(this,"_sandboxes",void 0),this._rootUri=e,this._mainWorkerBundleUri=t,this._threadWorkerBundleUri=i,this._fs=r,this._console=n,this._processCtor=a,this._wasmCompiler=s,this._platform=o,this._sandboxes=new Map}}(nR||(nR={})).is=function(e){return void 0!==e.transformSettings};class y${transformSettings(e,t){return(null==t?void 0:t.kinds.some(e=>e===sL.mE.Limited))||(null==t?void 0:t.kinds.some(e=>e===sL.mE.Regular))&&n4.z.isEmpty(e.pythonPath)?function(e,t=!0){let i={...e};return i.autoSearchPaths=!1,i.openFilesOnly=!0,i.watchForConfigChanges=!1,i.watchForSourceChanges=!1,i.watchForLibraryChanges=!1,t&&(i.typeCheckingMode="off"),i.diagnosticSeverityOverrides={[me.y.reportMissingImports]:sD.aV.None,[me.y.reportMissingModuleSource]:sD.aV.None},i.diagnosticBooleanOverrides={[me.y.enableReachabilityAnalysis]:!1},i.enableExtractCodeAction=!1,i.callArgumentNameInlayHints=hN.off,i.variableInlayTypeHints=!1,i.pytestParametersInlayTypeHints=!1,i.functionReturnInlayTypeHints=!1,i}(e,!0):e}}var yj=i(99508),yK=i(21112);function yV(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let yq=/\[SLT\(BG\)\].*?\[.*\s+\((.*?)\)\s*\[(\d+:\d+)\]\]\s*\((\d+)ms\)/;class yG{dispose(){this._console.log=this._originalLog,this._console.info=this._originalInfo,this._console.warn=this._originalWarn,this._console.error=this._originalError}log(e){this._originalLog(e)}getLogs(){return this._logs}_log(e){this._logs.push(e)}_info(e){this._logs.push(e)}_warn(e){this._logs.push(e)}_error(e){this._logs.push(e)}constructor(e){yV(this,"_console",void 0),yV(this,"_originalLog",void 0),yV(this,"_originalInfo",void 0),yV(this,"_originalWarn",void 0),yV(this,"_originalError",void 0),yV(this,"_logs",void 0),this._console=e,this._logs=[],this._originalLog=this._console.log.bind(this._console),this._console.log=this._log.bind(this),this._originalInfo=this._console.info.bind(this._console),this._console.info=this._info.bind(this),this._originalWarn=this._console.warn.bind(this._console),this._console.warn=this._warn.bind(this),this._originalError=this._console.error.bind(this._console),this._console.error=this._error.bind(this)}}class yH{checkTypes(e,t,i,r,n,a,s){let o=new of.dw;t(i,r,n,a,s);let l=o.getDurationInMilliseconds();if(this._enabled&&l>=3e3&&!this._captured){var d,u,p;this._captured=!0,this._consoleCapture=new yG(this._console),this._consoleCapture.log(`Source file ${e.getUri()} is slow to analyze: ${l}ms`);try{let a=new ae.N7(i.projectRoot);Object.assign(i,i),a.typeEvaluationTimeThreshold=300,a.logTypeEvaluationTime=!0,e.markReanalysisRequired(!1),e.isBindingRequired()&&e.bind(a,r,void 0,new Set);let o=new o1.H(this._console,"SLT(BG)"),l=null!=(d=n.getImportRoots(i.findExecEnvironment(i.projectRoot)).find(e=>e.pathEndsWith("site-packages")))?d:sM._.instance,u=(0,yK.c)(r,{printTypeFlags:(0,dP.$z)(a)&dP.X8.UseFullyQualifiedNames,logCalls:!0,minimumLoggingThreshold:300,evaluateUnknownImportsAsAny:!!i.evaluateUnknownImportsAsAny,verifyTypeCacheEvaluatorFlags:!!i.internalTestMode},o,(0,yj.g)(n.getImportRoots(i.findExecEnvironment(i.projectRoot)),!0));t(a,r,n,u,s);let p=this._consoleCapture.getLogs();this._consoleCapture.dispose(),this._consoleCapture=void 0,u.disposeEvaluator(),this._sendSlowCheckTelemetry(p,n.fileSystem,i.projectRoot,l)}catch(e){null==(u=this._consoleCapture)||u.log(`Error capturing slow check telemetry: ${e}`)}finally{null==(p=this._consoleCapture)||p.dispose(),this._consoleCapture=void 0,e.markReanalysisRequired(!1)}}}static is(e){return e&&"function"==typeof e.checkTypesCallback}onUpdateSettings(e){this._enabled=!!e.enablePerfTelemetry}_sendSlowCheckTelemetry(e,t,i,r){let n=function(e){let t=new Map;for(let i of e){let e=yq.exec(i);if(e){let i=e[1],r=e[2]?parseInt(e[2].split(":")[0],10):0,n=parseInt(e[3],10);if(i&&n){let e=i.split(":"),a=e.length>0?e[0]:"",s=e[e.length-1].startsWith("..")?e[e.length-1].slice(2):e[e.length-1],o="site-packages"!==a;t.set(n,{module:s,line:r,isUserCode:o})}}}return Array.from(t).sort((e,t)=>t[0]-e[0]).map(e=>({...e[1],duration:e[0]}))}(e);if(!n.length)return;let a=n.slice(0,5),s=a.map(e=>e.isUserCode?`hasTypes:${this._getHasTypes(e.module,i)}`:e.module),o=a.map(e=>e.isUserCode?"0.0.0.0":y1(t,e.module.split(".")[0],r)).join(":"),l=s.map(e=>oW(e.split(".")[0])).join(":"),d=s.map(e=>oW(e)).join(":"),u=a.map(e=>e.line.toString()).join(":");this._telemetry.sendTelemetry({EventName:oN.TYPECHECKING_SLOW,Properties:{packageHashes:l,moduleHashes:d,moduleVersions:o,lines:u,durations:a.map(e=>e.duration.toString()).join(":")},Measurements:{}})}_getHasTypes(e,t){var i;let r=t.combinePaths(e.replace(".","/")),n=null==(i=this._program.getParserOutput(r))?void 0:i.parseTree,a=!1;return n&&(a=(0,aL.uO)(n,e=>e.nodeType===aO.ye.TypeAnnotation).length>0),a}constructor(e,t,i){yV(this,"_console",void 0),yV(this,"_program",void 0),yV(this,"_telemetry",void 0),yV(this,"_enabled",void 0),yV(this,"_captured",void 0),yV(this,"_consoleCapture",void 0),this._console=e,this._program=t,this._telemetry=i,this._enabled=!1,this._captured=!1}}function yJ(...e){let t=(0,sI.x)(...e);return e.forEach(e=>{iC.is(e)&&t.add(nM.telemetry,e),ms.is(e)&&t.add(nM.logger,e),mo.is(e)&&t.add(nM.platform,e),h1.is(e)&&t.add(nM.globalIndices,e),ik.is(e)&&t.add(nM.uriMapper,e),iM.is(e)&&t.add(nM.hostFactory,e),nR.is(e)&&t.add(nM.settingTransformer,e),h2.is(e)&&t.add(nM.mruQueues,e),y0.is(e)&&t.add(nM.packageDiscoverer,e),yB.is(e)&&t.add(nM.sandboxService,e),oX.is(e)&&t.add(nM.test,e),yH.is(e)&&t.add(nM.checkTypesCallback,e),iL.is(e)&&t.add(nM.externalServerFactory,e),nN.is(e)&&t.add(nM.pythonEnvironmentService,e),iO.is(e)&&t.add(nM.parserService,e),ma.is(e)&&t.add(nM.docStringPluginService,e),iU.is(e)&&t.add(nM.diagnosticCodeMapper,e)}),t.tryGet(nM.bulkServiceRegistration)||t.add(nM.bulkServiceRegistration,new yQ),t.tryGet(nM.docStringPluginService)||t.add(nM.docStringPluginService,new ma),t}function yY(e,t,i,...r){let n=e.get(nM.bulkServiceRegistration);void 0===t?n.unregister(i,e):n.register(i,e,t,i,...r)}(nN||(nN={})).is=function(e){return e&&!!e.checkPythonEnvExtExist},(io=nM||(nM={})).telemetry=new sk.ru("TelemetryInterface"),io.logger=new sk.ru("LogService"),io.platform=new sk.ru("Platform"),io.globalIndices=new sk.ru("IndicesManager"),io.fixtureFinder=new sk.ru("FixtureFinder"),io.asyncFixtureFinder=new sk.ru("AsyncFixtureFinder"),io.stringDefinitionFinder=new sk.ru("StringDefinitionFinder"),io.asyncStringDefinitionFinder=new sk.ru("AsyncStringDefinitionFinder"),io.typedDictKeyDefinitionFinder=new sk.ru("TypedDictKeyDefinitionFinder"),io.asyncTypedDictKeyDefinitionFinder=new sk.ru("AsyncTypedDictKeyDefinitionFinder"),io.bulkServiceRegistration=new sk.ru("BulkServiceRegistrationService"),io.constructorUsageProviderFactory=new sk.ru("ConstructorUsageProviderFactory"),io.overrideUsageProviderFactory=new sk.ru("OverrideUsageProviderFactory"),io.typeInStringUsageProviderFactory=new sk.ru("TypeInStringUsageProviderFactory"),io.uriMapper=new sk.ru("INotebookUriMapper"),io.backgroundAnalysisFactory=new sk.ru("IBackgroundAnalysisFactory"),io.hostFactory=new sk.ru("IHostFactory"),io.hostProvider=new sk.ru("IHostProvider"),io.settingTransformer=new sk.ru("ISettingTransformer"),io.declarationFinder=new sk.ru("DeclarationFinder"),io.asyncDeclarationFinder=new sk.ru("AsyncDeclarationFinder"),io.mruQueues=new sk.ru("MRUQueues"),io.profilingService=new sk.ru("ProfilingService"),io.completionListConverter=new sk.ru("CompletionListConverter"),io.packageDiscoverer=new sk.ru("IPackageDiscoverer"),io.sandboxService=new sk.ru("IPythonSandboxService"),io.pthService=new sk.ru("PthService"),io.recommendationService=new sk.ru("RecommendationService"),io.test=new sk.ru("TestService"),io.checkTypesCallback=new sk.ru("SlowCheckTelemetryService"),io.externalServerFactory=new sk.ru("IExternalLanguageServerFactory"),io.pythonEnvironmentService=new sk.ru("PythonEnvironmentService"),io.parserService=new sk.ru("ParserService"),io.typeProviderServiceFactory=new sk.ru("TypeProviderServiceFactory"),io.versionService=new sk.ru("PythonVersionService"),io.asyncSymbolDefinitionProvider=new sk.yV("IAsyncSymbolDefinitionProvider"),io.asyncSymbolUsageProviderFactory=new sk.ru("IAsyncSymbolUsageProviderFactory"),io.messageTracker=new sk.ru("IMessageTrackerService"),io.connectionService=new sk.ru("ConnectionService"),io.workspaceFactory=new sk.ru("WorkspaceFactory"),io.codeActionService=new sk.ru("CodeActionService"),io.commandRegistry=new sk.ru("CommandRegistry"),io.secondaryTaskRegistry=new sk.ru("SecondaryTaskRegistry"),io.configuration=new sk.ru("ConfigurationProvider"),io.workspaceEdit=new sk.ru("WorkspaceEditorService"),io.uriConverter=new sk.ru("UriConverter"),io.textDocumentTracker=new sk.ru("TextDocumentTrackerRegistry"),io.experimentService=new sk.ru("ExperimentService"),io.completionProviderRegistry=new sk.ru("CompletionProviderRegistry"),io.clientCapabilities=new sk.ru("ClientCapabilities"),io.docStringService=new sk.ru("DocStringService"),io.asyncDocStringService=new sk.ru("AsyncDocStringService"),io.docStringPluginService=new sk.ru("DocStringPluginService"),io.diagnosticCodeMapper=new sk.ru("IDiagnosticCodeMapper");class yQ{register(e,t,i,...r){this.unregister(e,t),this._map.set(e.id,{serviceKeys:r,value:i}),r.forEach(e=>t.add(e,i))}unregister(e,t){let i=this._map.get(e.id);i&&(i.serviceKeys.forEach(e=>t.remove(e,i.value)),this._map.delete(e.id))}constructor(){var e,t;e="_map",t=new Map,e in this?Object.defineProperty(this,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):this[e]=t}}sk.Be.prototype.uriMapper=function(){return this.tryGet(nM.uriMapper)},sk.Be.prototype.sandboxService=function(){return this.get(nM.sandboxService)},sk.Be.prototype.platform=function(){return this.get(nM.platform)},sk.Be.prototype.asyncDocStringService=function(){return this.get(nM.asyncDocStringService)};let yX=["aiohttp","aioitertools","aiosignal","alembic","anyio","apache-airflow","apache-airflow-providers-amazon","apispec","arrow","asgiref","asttokens","async-timeout","attrs","autopage","awswrangler","azure-appconfiguration","azure-core","azure-cosmos","azure-data-tables","azure-eventgrid","azure-eventhub","azure-identity","azure-keyvault-certificates","azure-keyvault-keys","azure-keyvault-secrets","azure-mgmt-applicationinsights","azure-mgmt-authorization","azure-mgmt-batch","azure-mgmt-cognitiveservices","azure-mgmt-compute","azure-mgmt-consumption","azure-mgmt-containerinstance","azure-mgmt-containerregistry","azure-mgmt-containerservice","azure-mgmt-core","azure-mgmt-cosmosdb","azure-mgmt-datafactory","azure-mgmt-eventgrid","azure-mgmt-eventhub","azure-mgmt-imagebuilder","azure-mgmt-iothub","azure-mgmt-keyvault","azure-mgmt-kusto","azure-mgmt-media","azure-mgmt-monitor","azure-mgmt-msi","azure-mgmt-netapp","azure-mgmt-network","azure-mgmt-recoveryservices","azure-mgmt-redis","azure-mgmt-reservations","azure-mgmt-resource","azure-mgmt-security","azure-mgmt-servicebus","azure-mgmt-storage","azure-mgmt-subscription","azure-mgmt-web","azure-servicebus","azure-storage-blob","azure-storage-queue","backoff","bcrypt","bitarray","black","boto3-stubs","build","cachelib","cattrs","certifi","charset-normalizer","cheroot","ciso8601","click","cmd2","cmdstanpy","colorlog","constructs","contextlib2","crashtest","cryptography","dask","dataclasses-json","datadog","dbt-core","ddtrace","delta-spark","distributed","distro","django","docstring-parser","dulwich","elasticsearch","elastic-transport","exceptiongroup","faker","fastapi","fastavro","filelock","flask","Flask-JWT-Extended","freezegun","frozendict","frozenlist","ftfy","geoip2","GitPython","google-cloud-bigquery","google-cloud-bigtable","google-cloud-datastore","google-cloud-dlp","google-cloud-kms","google-cloud-language","google-cloud-logging","google-cloud-monitoring","google-cloud-pubsublite","google-cloud-videointelligence","google-cloud-vision","graphql-core","h11","hijri-converter","hiredis","holidays","httpcore","httpx","humanize","hyperframe","hyperlink","hypothesis","identify","idna","imageio","importlib-metadata","importlib-resources","incremental","inflect","inflection","iniconfig","ipykernel","iso8601","isort","itsdangerous","javaproperties","jellyfish","jikanpy","jinja2","jira","jupyter-client","jupyter-core","keyring","kiwisolver","langcodes","libcst","loguru","makefun","markupsafe","marshmallow","marshmallow-sqlalchemy","maxminddb","mdit-py-plugins","mdurl","more-itertools","msrest","multidict","mypy","mypy-boto3-rds","mypy-boto3-s3","natsort","nbclient","nbformat","ninja","numpy","omegaconf","openapi-spec-validator","opensearch-py","optuna","ordered-set","orjson","overrides","packaging","parso","pathy","pendulum","phonenumbers","pip","pip-tools","platformdirs","poetry","portalocker","prometheus-client","promise","prompt-toolkit","pure-eval","py","pyathena","pybind11","pycryptodome","pycryptodomex","pydantic","pyee","PyGithub","PyJWT","pymongo","PyNaCl","pyotp","pyparsing","pypdf2","pyproj","pyrogram","pyrsistent","pyspark","pytest","pytest-asyncio","pytest-mock","python-dotenv","python-gitlab","python-magic","pytorch-lightning","pyzmq","qtpy","rapidfuzz","ray","readme-renderer","requests-mock","resolvelib","responses","rich","rsa","rtree","rx","secretstorage","selenium","sentry-sdk","setproctitle","slackclient","slack-sdk","sniffio","soupsieve","spacy","sphinx","stack-data","starlette","structlog","sympy","tableauserverclient","tenacity","termcolor","terminado","thinc","timezonefinder","tld","tldextract","tomli","tomlkit","torch","torchmetrics","tornado","traitlets","twine","twisted","typeguard","typer","unidecode","uritemplate","uvicorn","uvloop","w3lib","wandb","websockets","werkzeug","wsproto","xarray","xgboost","xxhash","yarl","zeep","zict","zstandard"];function yZ(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class y0{getKnownModuleVersion(e,t){var i;return(null==(i=this._installedPackageMap.get(e))?void 0:i.moduleVersions.get(t))||void 0}computeInstalledPackages(e){let t=(0,ap.PD)(this._installedPackageMap,e,()=>({moduleVersions:new Map,installedPackages:new Set,installedPackagesReported:!1}));return this._computeInstalledPackages(e,t.installedPackages,t.moduleVersions)}async ensureDistributionToPackageMap(e){if(this._distributionToPackageMap.has(e))return;let t=(0,ap.PD)(this._distributionToPackageMap,e,()=>({topLevelModules:new Set,distributions:new Map,requiredVersion:void 0}));this._combineDependencyInfo(await sf(e,e.rootPath.combinePaths(ac.eK)),t),this._combineDependencyInfo(await sf(e,e.rootPath.combinePaths(ac.Q$)),t),void 0===t.requiredVersion&&(t.requiredVersion=function(e,t){try{if(!e.existsSync(t))return;var i=e.readFileSync(t,"utf-8");if(!i)return;let r=i.trim();if(r)return"=="+r;return}catch{return}}(e.fileSystem,e.rootPath.combinePaths(ac.ds)))}getDirectDependencyTopLevelModules(e){var t;return null==(t=this._distributionToPackageMap.get(e))?void 0:t.topLevelModules}getDirectDependencies(e){var t;return null==(t=this._distributionToPackageMap.get(e))?void 0:t.distributions}getRequiredVersion(e){var t;return null==(t=this._distributionToPackageMap.get(e))?void 0:t.requiredVersion}reset(e,t){if("libraryUpdated"===t&&this._distributionToPackageMap.delete(e),"libraryUpdated"===t||"serviceRestarted"===t){this._packageCache.clear(),this._moduleVersionCache.clear();let t=this._installedPackageMap.get(e);t&&(t.installedPackagesReported=!1,t.installedPackages.clear(),t.moduleVersions.clear())}}report(e){let t=this._installedPackageMap.get(e);if(t)return this._sendInstalledPackagesTelemetry(e,t)}logInstalledModuleInfo(e){let t=this._installedPackageMap.get(e);if(t)for(let[i,r]of t.moduleVersions)r.length>0&&e.console.log(`Found module ${i} : ${r}`)}_combineDependencyInfo(e,t){var i;e&&(e.topLevelModules.forEach(e=>t.topLevelModules.add(e)),e.distributions.forEach((e,i)=>t.distributions.set(i,e)),t.requiredVersion=null!=(i=t.requiredVersion)?i:e.requiredVersion)}async _computeInstalledPackages(e,t,i){t.clear(),i.clear();let r=new Map,n=[],a=!0;for(;a;)try{let t=await e.getSnapshot(ad.CancellationToken.None);n=await e.getPythonSearchPaths(t,ad.CancellationToken.None)||[],a=!1}catch(e){n8.YS.is(e)?a=!0:(console.error("Failed to get Python search paths:",e),a=!1)}for(let i of n){let n=(0,ap.PD)(this._packageCache,i.key,()=>this._computeInstalledPackage(e.fileSystem,i));n.installedPackages.forEach(e=>t.add(e)),n.thirdPartyPackages.forEach((e,t)=>r.set(t,e))}for(let[t,n]of r)(0,ap.PD)(i,t,()=>{let i=t.toLowerCase();return(0,ap.PD)(this._moduleVersionCache,`${n.key}_${i}`,()=>y1(e.fileSystem,i,n))})}_computeInstalledPackage(e,t){let i=new Set,r=new Map,n=t.getPath().includes("site-packages")||t.getPath().includes("dist-packages");try{let a=(0,ah.N8)(e.readdirEntriesSync(t),e,t);for(let e of a.files){let a=e.lastExtension.toLowerCase();if(au.ZG.some(e=>e===a)){let a=(0,au.Hk)(t,e);a&&!a.startsWith("_")&&(i.add(a),n&&r.set(a,t))}}for(let e of a.directories){if("__pycache__"===e.fileNameWithoutExtensions||e.fileName.startsWith("_"))continue;let a=(0,au.Hk)(t,e);a&&(i.add(a),n&&r.set(a,t))}}catch{}return{installedPackages:i,thirdPartyPackages:r}}async _sendInstalledPackagesTelemetry(e,t){var i;if(t.installedPackagesReported||0===t.installedPackages.size||ab)return;let r=new oU(oN.INSTALLED_PACKAGES);r.Properties.packagesBitArray=this._generateInstalledPackagesBitArray(t.installedPackages);let n=e.serviceProvider.tryGet(nM.pthService);if(n){let t=await e.getSnapshot(ad.CancellationToken.None),i=await e.getPythonSearchPaths(t,ad.CancellationToken.None)||[];r.Measurements.editablePthCount=n.getCountEditablePthFiles(e.serviceProvider.fs(),i,e.configOptions.defaultExtraPaths)}null==(i=e.serviceProvider.tryGet(nM.telemetry))||i.sendTelemetry(r),t.installedPackagesReported=!0}_generateInstalledPackagesBitArray(e){let t=new Uint8Array(yX.length);return e.forEach(e=>{let i=e.toLowerCase(),r=yX.findIndex(e=>e===i);r>=0&&(t[r]=1)}),t.toString()}constructor(){yZ(this,"_installedPackageMap",new WeakMap),yZ(this,"_distributionToPackageMap",new WeakMap),yZ(this,"_packageCache",new Map),yZ(this,"_moduleVersionCache",new Map)}}function y1(e,t,i){try{let r=e.readdirEntriesSync(i).find(e=>e.name.toLowerCase().startsWith(t)&&e.name.toLowerCase()!==t&&e.isDirectory());if(r){let t=i.combinePaths(r.name),n=e.readdirEntriesSync(t);for(let i=0;i<n.length;i++){if("METADATA"!==n[i].name&&"PKG-INFO"!==n[i].name)continue;let r=sg(e,t.combinePaths(n[i].name));if(r)return r}}}catch{}return""}function y5(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}(y0||(y0={})).is=function(e){return!!e&&!!e.computeInstalledPackages&&!!e.getKnownModuleVersion&&!!e.reset&&!!e.report&&!!e.logInstalledModuleInfo&&!!e.ensureDistributionToPackageMap&&!!e.getDirectDependencyTopLevelModules&&!!e.getDirectDependencies};var y4=((il={})[il.Interrupting=-1]="Interrupting",il[il.Highest=0]="Highest",il[il.Immediate=1]="Immediate",il[il.AboveNormal=2]="AboveNormal",il[il.Normal=3]="Normal",il[il.BelowNormal=4]="BelowNormal",il[il.Lowest=5]="Lowest",il[il.Unknown=6]="Unknown",il);class y3{constructor(e,t,i,r){y5(this,"title",void 0),y5(this,"taskCancellationToken",void 0),y5(this,"priority",void 0),y5(this,"singleInstance",void 0),this.title=e,this.taskCancellationToken=t,this.priority=i,this.singleInstance=r}}class y8{enqueue(e){let t=this._queues[e.priority];e.singleInstance&&t.findIndex(t=>t.title===e.title)>=0||t.push(e)}dequeue(){for(let e=0;e<=100;e++)if(this._queues[e].length>0)return this._queues[e].shift()}isEmpty(){return this._queues.every(e=>0===e.length)}constructor(){y5(this,"_queues",void 0),this._queues=Array.from({length:Object.keys(y4).length/2},()=>[])}}class y2{enqueue(e){this._preemptCurrentTaskIfNeeded(e),this._queue.enqueue(e),this._wakeUpRunner()}isEmpty(){return this._queue.isEmpty()}dispose(){this._taskRunnerCTS.cancel(),this._taskRunnerCTS.dispose()}_preemptCurrentTaskIfNeeded(e){if(this._currentTask){if(0===e.priority&&this._currentTask.priority>0){this._devLog(`Preempting running task '${this._currentTask.title}'(priority ${this._currentTask.priority}) for incoming priority Highest task ${e.title}.`),this._cancelCurrentTask();return}if(1===e.priority&&this._currentTask.priority>1){this._devLog(`Preempting running task '${this._currentTask.title}'(priority ${this._currentTask.priority}) for incoming immediate task. ${e.title}`),this._cancelCurrentTask();return}if(e.priority<5&&5===this._currentTask.priority){this._devLog(`Preempting running task '${this._currentTask.title}'(priority Lowest) for incoming normal task (priority ${e.priority}). ${e.title}`),this._cancelCurrentTask();return}}}_cancelCurrentTask(){this._currentRunnerCTS&&this._currentRunnerCTS.cancel()}_wakeUpRunner(){this._waitingResolvers.forEach(e=>e()),this._waitingResolvers=[]}_waitForTask(){return new Promise(e=>{this._waitingResolvers.push(e)})}async _runLoop(){for(;;){if(this._taskRunnerCTS.token.isCancellationRequested)return;for(;this._queue.isEmpty();)if(await this._waitForTask(),this._taskRunnerCTS.token.isCancellationRequested)return;let e=this._queue.dequeue();if(!e)continue;this._currentRunnerCTS=this._cancellationProvider.createCancellationTokenSource();let t=this._currentRunnerCTS,i=(0,n8.Fx)(this._cancellationProvider,e.taskCancellationToken,t.token,this._taskRunnerCTS.token),r=!1,n={token:i.token,requestRequeue:()=>{r=!0,t.cancel()}};this._currentTask=e,this._devLog(`Starting task '${this._currentTask.title}' with priority ${e.priority}.`);let a=!1;try{await e.run(n),a=!0,this._devLog(`Task '${this._currentTask.title}' with priority ${e.priority} completed.`)}catch(i){if(this._taskRunnerCTS.token.isCancellationRequested)return void this._devLog("Task Runner was shut down ");this._logTaskError(t.token,e.taskCancellationToken,i)}finally{i.dispose(),!a&&t.token.isCancellationRequested&&(this._devLog(`Re-enqueuing task '${this._currentTask.title}' with priority ${e.priority} (preempted: ${!r}, requeue requested: ${r}).`),this._queue.enqueue(e)),this._currentTask=null,this._currentRunnerCTS.dispose(),this._currentRunnerCTS=null}}}_logTaskError(e,t,i){e.isCancellationRequested?this._devLog("Current task was preempted by the runner."):t.isCancellationRequested?this._devLog("Current task has been cancelled."):this._console.error(`Task with priority encountered an error: ${i}`)}_devLog(e){aT&&this._console.log(e)}constructor(e,t){y5(this,"_console",void 0),y5(this,"_cancellationProvider",void 0),y5(this,"_queue",void 0),y5(this,"_taskRunnerCTS",void 0),y5(this,"_currentTask",void 0),y5(this,"_currentRunnerCTS",void 0),y5(this,"_waitingResolvers",void 0),this._console=e,this._currentTask=null,this._currentRunnerCTS=null,this._waitingResolvers=[],this._cancellationProvider=null!=t?t:new n8.yk,this._queue=new y8,this._taskRunnerCTS=this._cancellationProvider.createCancellationTokenSource(),(0,n8.$B)(this._taskRunnerCTS.token,()=>{this._wakeUpRunner()}),this._runLoop().catch(e=>this._console.error(`TaskRunner encountered an error in runLoop: ${e}`))}}var y6=i(33801),y7=i(36105),y9=i(44292);function ge(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class gt{static createWithoutRemote(e,t){return new gt(e,t,y7.x.isWebUri)}static is(e){return e instanceof gt}mkdirSync(e,t){var i;return null==(i=this._getWritableFileSystem(e))?void 0:i.mkdirSync(e,t)}writeFileSync(e,t,i){var r;return null==(r=this._getWritableFileSystem(e))?void 0:r.writeFileSync(e,t,i)}unlinkSync(e){var t;return null==(t=this._getWritableFileSystem(e))?void 0:t.unlinkSync(e)}rmdirSync(e){var t;return null==(t=this._getWritableFileSystem(e))?void 0:t.rmdirSync(e)}createFileSystemWatcher(e,t){return this._localFileSystem.createFileSystemWatcher(e,t)}createReadStream(e){let t=this._getWritableFileSystem(e);if(!t)throw Error("Not implemented");return t.createReadStream(e)}createWriteStream(e){return this._localFileSystem.createWriteStream(e)}copyFileSync(e,t){let i=this._getWritableFileSystem(e);if(i!==this._getWritableFileSystem(t))throw Error("Not implemented");return null==i?void 0:i.copyFileSync(e,t)}existsSync(e){return this._getReadOnlyFileSystem(e).existsSync(e)}chdir(e){return this._getReadOnlyFileSystem(e).chdir(e)}readdirEntriesSync(e){return this._getReadOnlyFileSystem(e).readdirEntriesSync(e)}readdirSync(e){return this._getReadOnlyFileSystem(e).readdirSync(e)}readFileSync(e,t){return this._getReadOnlyFileSystem(e).readFileSync(e,t)}statSync(e){return this._getReadOnlyFileSystem(e).statSync(e)}realpathSync(e){return this._getReadOnlyFileSystem(e).realpathSync(e)}getModulePath(){return this._localFileSystem.getModulePath()}readFile(e){return this._getReadOnlyFileSystem(e).readFile(e)}readFileText(e,t){return this._getReadOnlyFileSystem(e).readFileText(e,t)}realCasePath(e){return this._getReadOnlyFileSystem(e).realCasePath(e)}isMappedUri(e){return!!oy.isNotebookCell(e)||this._getReadOnlyFileSystem(e).isMappedUri(e)}getOriginalUri(e){return oy.isNotebookCell(e)?this._uriMapper.getOriginalCellUri(e):this._getReadOnlyFileSystem(e).getOriginalUri(e)}getMappedUri(e){return oy.isNotebookCell(e)?this._uriMapper.getMappedCellUri(e):this._getReadOnlyFileSystem(e).getMappedUri(e)}isInZip(e){return this._getReadOnlyFileSystem(e).isInZip(e)}mapDirectory(e,t,i){let r={dispose:()=>{}};if(oy.isNotebookCell(e))return r;let n=this._getWritableFileSystem(e);return n?n.mapDirectory(e,t,i):r}_getWritableFileSystem(e){try{if(!y6.b.isFileUri(e))return}catch{}return this._localFileSystem}_getReadOnlyFileSystem(e){return this._localFileSystem}constructor(e,t,i){ge(this,"_uriMapper",void 0),ge(this,"_useRemote",void 0),ge(this,"_localFileSystem",void 0),this._uriMapper=t,this._useRemote=i,this._localFileSystem=e instanceof y9.R?e:new y9.R(e)}}var gi=i(52472),gr=i(6752);async function gn(e,t,i,r){try{var n;e.log(`Loading external bundle ${t}....`);let a=await import(t);if(e.log(`Loaded external bundle ${t}. `),(null==a?void 0:a.initialize)&&(null==a?void 0:a.dispose))return await a.initialize(i),a;if(null==a||null==(n=a.default)?void 0:n.initialize)return await a.default.initialize(i),a.default;e.error(`Bundle ${t} does not have an 'initialize' function.`),null==r||r.report("done")}catch(i){e.error(`Failed to load bundle from ${t}: ${i.stack}`)}}function ga(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class gs{get documents(){return Array.from(this._openDocuments)}registerTracker(e){this._trackers.add(e)}unregisterTracker(e){this._trackers.delete(e)}onDidOpenTextDocument(e,t,i){this._trackers.forEach(r=>r.onDidOpenTextDocument(e,t,i))}onDidCloseTextDocument(e){this._trackers.forEach(t=>t.onDidCloseTextDocument(e))}constructor(){ga(this,"_trackers",new Set),ga(this,"_openDocuments",new Set)}}var go=i(60858),gl=i(67087);function gd(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class gu extends gl.g{static createHost(e,t){return e===dC.n.FullAccess?new gu(t):gl.g.createHost(e,t)}getHostCache(){return this._hostCache}getPythonSearchPaths(e,t){let i=(0,ap.PD)(this._hostCache,(null==e?void 0:e.key)||"",()=>({}));if(i.path)return i.path.logInfo.forEach(e=>null==t?void 0:t.log(e)),i.path.result;let r=new go.K,n=super.getPythonSearchPaths(e,r),a=r.getLogs();return a.forEach(e=>null==t?void 0:t.log(e)),i.path={result:n,logInfo:a},n}getPythonVersion(e,t){var i;let r=(0,ap.PD)(this._hostCache,null!=(i=null==e?void 0:e.key)?i:"",()=>({}));if(r.version)return r.version.logInfo.forEach(e=>null==t?void 0:t.log(e)),r.version.result;let n=new go.K,a=super.getPythonVersion(e,n);return r.version={result:a,logInfo:n.getLogs()},a}scrapeModuleFromPython(e,t){let i=["-W","ignore","-B","-S","-I",this.serviceProvider.fs().getModulePath().combinePaths("stub-generation","scrape_module.py").getFilePath(),e],r=nX.execFileSync(t.getFilePath(),i,{encoding:"utf8",stdio:["ignore","pipe","ignore"],shell:this.shouldUseShellToRunInterpreter(t.getFilePath()),timeout:1e4});return!!r&&r}constructor(e,t){super(e),gd(this,"_hostCache",void 0),this._hostCache=null!=t?t:new Map}}class gp{createHost(e){return gu.createHost(e,this._serviceProvider)}constructor(e){gd(this,"_serviceProvider",void 0),this._serviceProvider=e}}function gc(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class gh extends sA.sC{getDiagnostics(e,t){let i=super.getDiagnostics(e,t);if(i&&i.length>0&&oy.isNotebookCell(this.getUri())){let t=this.getUri().replaceExtension("").withFragment("");if(e.ignore.some(e=>t.matchesRegex(e.regExp)))return[]}return i}check(e,t,i,r,n){this._checkTypesWrapper?this._checkTypesWrapper.checkTypes(this,(e,t,i,r,n)=>super.check(e,t,i,r,n),e,t,i,r,n):super.check(e,t,i,r,n)}createDiagnosticSink(){return new lS(this._getDiagnosticCode)}createTextRangeDiagnosticSink(e){return new lb(this._getDiagnosticCode,e)}constructor(e,t,i,r,n,a,s,o,l,d,u){super(t,i,r,n,a,s,l,d,u||(oy.isNotebookCell(i)||"notebook_ipython_mode.py"===i.fileName?sA.Bk.CellDocs:sA.Bk.None)),gc(this,"_getDiagnosticCode",void 0),gc(this,"_checkTypesWrapper",void 0),this._getDiagnosticCode=e,this._checkTypesWrapper=o}}let gm={createSourceFile:(e,t,i,r,n,a,s,o,l)=>new gh(e=>{},e,t,i,r,n,a,void 0,s,o,l)};function gy(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class gg{createSourceFile(e,t,i,r,n,a,s,o,l){return new gh(this._boundGetDiagnosticCode,e,t,i,r,n,a,this._checkTypesWrapper,s,o,l)}_redirectLocalization(e){return e.startsWith("Diagnostic")&&(this._lastDiagnosticKey=e),this._originalGetRawString(e)}_getDiagnosticCode(e){return this._lastDiagnosticKey}constructor(e){var t;let i;gy(this,"_checkTypesWrapper",void 0),gy(this,"_originalGetRawString",void 0),gy(this,"_lastDiagnosticKey",void 0),gy(this,"_boundGetDiagnosticCode",void 0),this._checkTypesWrapper=e,this._boundGetDiagnosticCode=this._getDiagnosticCode.bind(this),this._originalGetRawString=(t=this._redirectLocalization.bind(this),i=ok,ok=t,(0,ov.ED)(t),i)}}function gf(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class gv extends au.QC{get pthService(){return this.serviceProvider.tryGet(nM.pthService)}resolveImport(e,t,i){var r;let n=super.resolveImport(e,t,i);return null==(r=this._importMetrics)||r.addResultToImportMetrics(e,t,i,n),n}invalidateCache(){var e;for(let t of(null==(e=this._importMetrics)||e.reset(),this._scrapedTmpFiles.values()))if(t)try{this.fileSystem.unlinkSync(t)}catch(e){}this._scrapedTmpFiles.clear(),this._cachedExistenceForPath.clear(),super.invalidateCache()}sendTelemetry(){var e;null==(e=this._importMetrics)||e.report()}getSourceFilesFromStub(e,t,i){if(i){let t=o8(this.fileSystem.getModulePath());if(e.startsWith(t))return[e]}let r=super.getSourceFilesFromStub(e,t,i);if(i){if(r.length>0&&!e.matchesRegex(/stdlib[\\/](decimal|ntpath|posixpath)\.pyi/))return r;if(this._isScrapable(e,t)){let i=this._scrapedPath(e,t);i&&r.push(i)}}return r}getTypeshedPathEx(e,t){return o4(this.fileSystem.getModulePath())}getImportRoots(e,t){let i=super.getImportRoots(e,t);if(this.pthService){let e=this.pthService.getExtraImportRoots(this.getConfigOptions().pythonPath);e&&(i=i.concat(e))}return i}resolveImportEx(e,t,i,r,n,a=!0){if(a){let s=o4(this.fileSystem.getModulePath());if(s){null==n||n.log(`Looking in bundled stubs path '${s}'`);let o=this.resolveAbsoluteImport(e,s,t,i,r,n,void 0,void 0,!0,a);if(o&&o.isImportFound)return o.importType=aD.U.ThirdParty,o}}}resolveNativeImportEx(e,t,i){var r;let n,a,s=(a=(n=e.getPathComponents()).findIndex(e=>e===gT||e===gw))<0?[]:n.slice(a+1);if(!s||0===s.length)return;null==(r=this._importMetrics)||r.addNativeModule(t);let o=o8(this.fileSystem.getModulePath()),l=this._findNativeStub(s,o);if(l)return l;null==i||i.log(`Unable to find stub for native module ${t}, file ${e} in ${o}`)}dirExistsCached(e){if(y7.x.isWebUri(e)){var t,i;if(!this._cachedExistenceForPath.has(e.key)){let t=!1,r=(0,ah.kl)(this.fileSystem,e);if(null==r?void 0:r.isSymbolicLink()){let t=(0,ah.RE)(this.fileSystem,e);t&&(r=(0,ah.kl)(this.fileSystem,t))}t=null!=(i=null==r?void 0:r.isDirectory())&&i,this._cachedExistenceForPath.set(e.key,t)}return null!=(t=this._cachedExistenceForPath.get(e.key))&&t}return super.dirExistsCached(e)}_isScrapable(e,t){if(!this.getConfigOptions().pythonPath)return!1;let i=this.getTypeshedStdLibPath(t);return!!i&&!!e.isChild(i)}_scrapedPath(e,t){return(0,ap.PD)(this._scrapedTmpFiles,e.key,()=>this._scrapeModuleToTmpFile(e,t))||void 0}_scrapeModuleToTmpFile(e,t){let{moduleName:i}=this.getModuleNameForImport(e,t);try{var r;if(this.host.kind!==dC.n.FullAccess)return!1;let e=this.host.scrapeModuleFromPython(i,this.getConfigOptions().pythonPath);if(!e)return!1;let t=null==(r=this.serviceProvider.tryGet(n7.y.tempFile))?void 0:r.tmpfile({prefix:i,postfix:".py"});if(void 0===t)return!1;return this.fileSystem.writeFileSync(t,e,"utf8"),t}catch{return!1}}_findNativeStub(e,t){let i=t.combinePaths(...e),r=this.getNativeModuleName(i);if(!r)return;let n=e.slice(0,-1),a=t.combinePaths(...n,`${r}.pyi`);return this.fileSystem.existsSync(a)?a:void 0}constructor(e,t,i,r){super(e,t,i),gf(this,"_importMetrics",void 0),gf(this,"_scrapedTmpFiles",new Map),gf(this,"_cachedExistenceForPath",new Map),r&&(this._importMetrics=new gb(this.cachedParentImportResults,e.fs(),r))}}function g_(e,t,i,r){return new gv(e,t,i,r)}let gT="site-packages",gw="dist-packages";class gb{reset(){this._metrics=gb._getMetricsInitialValue()}addNativeModule(e){this._addModule(this._reportedNativeModules,this._currentNativeModules,e)}addUnresolvedModule(e){ab||this._addModule(this._reportedUnresolvedModules,this._currentUnresolvedModules,e)}addResultToImportMetrics(e,t,i,r){let n=(0,au.gL)(i),a=i.leadingDots>0,s=r.resolvedUris.length>0?r.resolvedUris[r.resolvedUris.length-1]:n4.z.empty(),o=(0,ap.PD)(a?this._countedRelative:this._countedAbsolute,s.key,()=>new Set);if(!o.has(n)){if(o.add(n),this._setChanged(),this._metrics.total+=1,this._metrics.stubs+=+!!r.isStubFile,a?(this._metrics.relativeTotal+=1,this._metrics.relativeStubs+=+!!r.isStubFile):(this._metrics.absoluteTotal+=1,this._metrics.absoluteStubs+=+!!r.isStubFile),!r.isImportFound){let i=!0;this._lastUnresolvedImportName&&2>function(e,t,i=!1){return(e.length>t.length&&([e,t]=[t,e]),!t.startsWith(e)||i&&t.startsWith(e+"."))?aP()(t,e):1}(this._lastUnresolvedImportName,n,!0)&&(i=!1);let r=i&&!a;if(r){let i=(0,au.GI)(e,t.root);r=this._cachedParentImportResults.checkValidPath(this._fileSystem,e,i)}r&&this._telemetry&&this.addUnresolvedModule(n),this._lastUnresolvedImportName=n,this._metrics.absoluteUserUnresolved+=+!!r,this._metrics.unresolvedTotal+=+!!i,a?this._metrics.relativeUnresolved+=+!!i:this._metrics.absoluteUnresolved+=+!!i;return}if(!a)switch(r.importType){case aD.U.ThirdParty:this._metrics.thirdPartyImportTotal+=1,this._metrics.thirdPartyImportStubs+=+!!r.isStubFile;break;case aD.U.Local:this._metrics.localImportTotal+=1,this._metrics.localImportStubs+=+!!r.isStubFile;break;case aD.U.BuiltIn:this._metrics.builtinImportTotal+=1,this._metrics.builtinImportStubs+=+!!r.isStubFile;break;default:(0,n6.xb)(r.importType)}}}report(){if(!this._changed)return;this._changed=!1;let e=new oU(oN.IMPORT_METRICS);function t(t,i){i.length>0&&function(e,t,i,r=!1){let n=i.map(e=>oW(e)).join(" ");e.Properties[`${t}Modules`]=n;let a=new Set(i.map(e=>e.split(".")[0]));e.Properties[`${t}Packages`]=[...a.values()].map(e=>oW(e)).join(" "),r&&(e.Properties[`${t}PackagesLowerCase`]=[...a.values()].map(e=>oW(e.toLowerCase())).join(" "))}(e,t,i,"Unresolved"===t)}oz(e,this._metrics),t("Native",this._getAndResetModuleNames(this._reportedNativeModules,this._currentNativeModules)),t("Unresolved",this._getAndResetModuleNames(this._reportedUnresolvedModules,this._currentUnresolvedModules)),this._telemetry.sendTelemetry(e)}static _getMetricsInitialValue(){return{total:0,stubs:0,unresolvedTotal:0,absoluteTotal:0,absoluteStubs:0,absoluteUnresolved:0,absoluteUserUnresolved:0,thirdPartyImportTotal:0,thirdPartyImportStubs:0,localImportTotal:0,localImportStubs:0,builtinImportTotal:0,builtinImportStubs:0,relativeTotal:0,relativeStubs:0,relativeUnresolved:0}}_setChanged(){this._changed=!0}_addModule(e,t,i){e.size>100||t.size>100||e.has(i)||(this._setChanged(),t.add(i))}_getAndResetModuleNames(e,t){t.forEach(t=>e.add(t));let i=[...t];return t.clear(),i}constructor(e,t,i){gf(this,"_cachedParentImportResults",void 0),gf(this,"_fileSystem",void 0),gf(this,"_telemetry",void 0),gf(this,"_currentNativeModules",void 0),gf(this,"_reportedNativeModules",void 0),gf(this,"_currentUnresolvedModules",void 0),gf(this,"_reportedUnresolvedModules",void 0),gf(this,"_countedAbsolute",void 0),gf(this,"_countedRelative",void 0),gf(this,"_changed",void 0),gf(this,"_lastUnresolvedImportName",void 0),gf(this,"_metrics",void 0),this._cachedParentImportResults=e,this._fileSystem=t,this._telemetry=i,this._currentNativeModules=new Set,this._reportedNativeModules=new Set,this._currentUnresolvedModules=new Set,this._reportedUnresolvedModules=new Set,this._countedAbsolute=new Map,this._countedRelative=new Map,this._changed=!1,this._metrics=gb._getMetricsInitialValue()}}function gS(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class gk{get seenNotifications(){return this._seenNotifications}get onNotification(){return this._notificationEmitter.event}get onResponse(){return this._responseEmitter.event}get lastOutboundRequest(){return this._lastOutboundRequest}get lastInboundRequest(){return this._lastInboundRequest}_onMessage(e){nZ.Message.isNotification(e)?(this._saveNotification(e),this._notificationEmitter.fire(e)):nZ.Message.isResponse(e)?this._responseEmitter.fire(e):nZ.Message.isRequest(e)&&(this._lastInboundRequest={...e,params:e.params?{...e.params}:void 0})}_saveNotification(e){switch(e.method){case nZ.DidCloseTextDocumentNotification.method:this._seenNotifications=this._seenNotifications.filter(t=>{switch(t.method){case nZ.DidOpenTextDocumentNotification.method:case nZ.DidChangeTextDocumentNotification.method:return t.params.textDocument.uri!==e.params.textDocument.uri;default:return!0}});return;case nZ.DidCloseNotebookDocumentNotification.method:this._seenNotifications=this._seenNotifications.filter(t=>{switch(t.method){case nZ.DidOpenNotebookDocumentNotification.method:case nZ.DidChangeNotebookDocumentNotification.method:return t.params.notebookDocument.uri!==e.params.notebookDocument.uri;default:return!0}});return;default:this._seenNotifications.push(e)}}constructor(e,t){gS(this,"_notificationEmitter",iR.create()),gS(this,"_responseEmitter",iR.create()),gS(this,"_seenNotifications",[]),gS(this,"_lastOutboundRequest",void 0),gS(this,"_lastInboundRequest",void 0);const i=e.listen.bind(e);e.listen=e=>i(t=>{this._onMessage(t),e(t)});const r=t.write.bind(t);t.write=e=>(nZ.Message.isRequest(e)&&(this._lastOutboundRequest=e),r(e))}}class gI{get seenNotifications(){return this._seenNotifications}get lastOutboundRequest(){}get lastInboundRequest(){}get onNotification(){return this._notificationEmitter.event}get onResponse(){return this._responseEmitter.event}onMessage(e){nZ.Message.isNotification(e)?(this._seenNotifications.push(e),this._notificationEmitter.fire(e)):nZ.Message.isResponse(e)?this._responseEmitter.fire(e):nZ.Message.isRequest(e)}constructor(){gS(this,"_notificationEmitter",iR.create()),gS(this,"_responseEmitter",iR.create()),gS(this,"_seenNotifications",[])}}var gC=i(55128),gP=i(89366),gx=i(89688),gF=i(81658),gA=i(72856);function gD(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let gE=sC.resolve(__dirname,"..","dist");class gR{get current(){return this._instance}async createTypeProviderService(e,t,i,r){if(!this._instance||!this._instance.isAlive||!this._instance.typeServerExecutable.equals(i)){var n;await this._instanceStartPromise,null==(n=this._instance)||n.dispose();let a=new gM(this._serviceProvider,t,i,r);this._instance=a,this._instanceStartPromise=a.start(e)}return await this._instanceStartPromise,this._instance}constructor(e){gD(this,"_serviceProvider",void 0),gD(this,"_instance",void 0),gD(this,"_instanceStartPromise",void 0),this._serviceProvider=e}}(nO||(nO={})).type=new nZ.NotificationType("$/progress");class gN{get isAlive(){return!this._disposed&&void 0!==this._serverProcess}get connection(){return this._connection}get snapshotChanged(){return this._snapshotChangedEmitter.event}get supportsDocumentDiagnostics(){return this._supportsDocumentDiagnostics}get supportsWorkspaceDiagnostics(){return this._supportsWorkspaceDiagnostics}get diagnosticsPush(){return this._diagnosticsPush.event}get supportsWorkspaceDiagnosticsChanged(){return this._supportsWorkspaceDiagnosticsChanged.event}get supportsDocumentDiagnosticsChanged(){return this._supportsDocumentDiagnosticsChanged.event}async shutdown(){await this.sendRequest(nZ.ShutdownRequest.type),this.dispose()}dispose(){try{this._disposed=!0,this._disposables.forEach(e=>e.dispose()),this._disposables=[]}catch(e){}this._serverProcess&&this._serverProcess.pid&&((0,gA.f)(this._serverProcess.pid),this._serverProcess=void 0)}start(){this._started||(this._registerHandlers(),this._connection.listen(),this._started=!0)}async sendRequest(e,...t){try{if(this._testMode)try{JSON.stringify(t)}catch(t){throw Error(`Failed to serialize params for method ${e}: ${t}`)}if(!this._disposed&&this._started)return await this._connection.sendRequest(e,...t);return void this._error(`Type server is not started or has been disposed. Method: ${e}`)}catch(e){var i;if(this._disposed)return;if(e.code===nZ.LSPErrorCodes.ServerCancelled||e.message.includes("server cancelled"))throw new lg;if(-32600===e.code&&(null==(i=e.message)?void 0:i.includes("Stale snapshot")))throw new lg(e.message);if(e.code===nZ.LSPErrorCodes.RequestCancelled)throw new n8.YS(e.message);throw e}}async sendNotification(e,t){!this._disposed&&this._started?await this._connection.sendNotification(e,t):this._console.error(`TS: Type server is not started or has been disposed. Method: ${gP.type}`)}sendProgressToClient(e,t){this._disposed||this._clientConnection.sendNotification(nO.type.method,{token:e,value:t})}_createCustomConnection(e,t){let i=e.getFilePath(),r=e.getDirectory().getFilePath(),n={cancellationStrategy:{receiver:nZ.CancellationReceiverStrategy.Message,sender:nZ.CancellationSenderStrategy.Message}},a=this._createMessageTransports(i,r,t);if(!a)throw Error("Failed to create message transports");return(0,gF.createConnection)(a.reader,a.writer,n)}_createDefaultConnection(){let e=process.execPath,t=this._bundlePath,i=["--max-old-space-size=8192",...(0,n2.Bb)()?["--inspect=6600"]:[],t,"--node-ipc",...process.argv.includes("--test-mode")?["--test-mode"]:[]],r={cancellationStrategy:{receiver:nZ.CancellationReceiverStrategy.Message,sender:nZ.CancellationSenderStrategy.Message}},n=this._createMessageTransports(e,gE,i);if(!n)throw Error("Failed to create message transports");return(0,gF.createConnection)(n.reader,n.writer,r)}_info(e){this._console.info(`TS: ${e}`)}_error(e,t){t?this._console.error(`TS: ${e}: ${t}`):this._console.error(`TS: ${e}`)}_createMessageTransports(e,t,i){var r,n;let a=e===process.execPath?i.some(e=>"--stdio"===e)?"stdio":"ipc":"stdio",s=Object.create(null);s.cwd=t,s.env=process.env,"ipc"===a&&(s.stdio=[null,null,null,"ipc"]);let o=gC.spawn(e,i,s);if(!o||!o.pid)return void this._console.error(`TS: Launching server using runtime ${e} failed.`);this._console.info(`TS: Launched server ${o.pid} using runtime ${e} with args: ${i.join(" ")}`),o.on("error",e=>this._error("Error launching TPS",e)),o.on("exit",(e,t)=>{this._console.log(`TPS process exited with code ${e} and signal ${t}`),this._started=!1}),this._serverProcess=o,null==(r=o.stderr)||r.on("data",e=>{this._error(e.toString())});let l=this._serviceProvider.tryGet(nM.test);return(l&&o.pid&&l.onChildProcessStarted(o.pid),"stdio"===a)?{reader:new gx.StreamMessageReader(o.stdout),writer:new gx.StreamMessageWriter(o.stdin)}:(null==(n=o.stdout)||n.on("data",e=>this._info(e.toString())),{reader:new gx.IPCMessageReader(o),writer:new gx.IPCMessageWriter(o)})}_sendNotificationToClient(e,t){this._disposed||this._clientConnection.sendNotification(e,t)}_sendRequestToClient(e,t,i){return this._disposed?Promise.resolve(void 0):this._clientConnection.sendRequest(e,t,i)}_registerHandlers(){this._disposables.push(this._connection.onNotification(nZ.LogMessageNotification.type,e=>{switch(e.type){case nZ.MessageType.Log:this._console.log(`TS: ${e.message}`);break;case nZ.MessageType.Warning:this._console.warn(`TS: ${e.message}`);break;case nZ.MessageType.Error:this._console.error(`TS: ${e.message}`);break;case nZ.MessageType.Info:this._console.info(`TS: ${e.message}`);break;default:this._console.error(`Unknown message type: ${e.type} - ${e.message}`)}}),this._connection.onRequest(nZ.ConfigurationRequest.method,async(e,t)=>await this._sendRequestToClient(nZ.ConfigurationRequest.method,e,t)),this._connection.onRequest(nZ.RegistrationRequest.method,async(e,t)=>{let i,r=e.registrations.filter(e=>e.method!==nZ.DocumentDiagnosticRequest.method);r.length>0&&(i=await this._sendRequestToClient(nZ.RegistrationRequest.method,{registrations:r},t));let n=e.registrations.filter(e=>e.method===nZ.DocumentDiagnosticRequest.method);if(n.length>0){var a;this._documentDiagnosticsRegistrationId=n[0].id,this._supportsDocumentDiagnostics||(this._supportsDocumentDiagnostics=!0,this._supportsDocumentDiagnosticsChanged.fire(this._supportsDocumentDiagnostics));let e=(null==(a=n[0].registerOptions)?void 0:a.workspaceDiagnostics)===!0;this._supportsWorkspaceDiagnostics!==e&&(this._supportsWorkspaceDiagnostics=e,this._supportsWorkspaceDiagnosticsChanged.fire(this._supportsWorkspaceDiagnostics))}return i}),this._connection.onRequest(nZ.UnregistrationRequest.method,async(e,t)=>{let i,r=e.unregisterations.filter(e=>e.method!==nZ.DocumentDiagnosticRequest.method);r.length>0&&(i=await this._sendRequestToClient(nZ.UnregistrationRequest.method,{unregisterations:r},t));let n=e.unregisterations.filter(e=>e.method===nZ.DocumentDiagnosticRequest.method);return n.length>0&&this._documentDiagnosticsRegistrationId===n[0].id&&(this._supportsDocumentDiagnostics&&(this._supportsDocumentDiagnostics=!1,this._supportsDocumentDiagnosticsChanged.fire(this._supportsDocumentDiagnostics)),!1!==this._supportsWorkspaceDiagnostics&&(this._supportsWorkspaceDiagnostics=!1,this._supportsWorkspaceDiagnosticsChanged.fire(this._supportsWorkspaceDiagnostics))),i}),this._connection.onRequest(async(e,t,i)=>await this._sendRequestToClient(e,t,i)),this._connection.onNotification(iE.SnapshotChangedNotification.type,e=>{this._pendingSnapshot=e.new,this._snapshotChangedEmitter.fire(this._pendingSnapshot)}),this._connection.onNotification(nZ.PublishDiagnosticsNotification.type,e=>{this._diagnosticsPush.fire(e),this._sendNotificationToClient(nZ.PublishDiagnosticsNotification.method,e)}),iF.onNotification(this._connection,iF.Notifications.PyrightBeginProgress,e=>{this._sendNotificationToClient(iF.Notifications.BeginProgress,e)}),iF.onNotification(this._connection,iF.Notifications.PyrightReportProgress,e=>{this._sendNotificationToClient(iF.Notifications.ReportProgress,e)}),iF.onNotification(this._connection,iF.Notifications.PyrightEndProgress,e=>{this._sendNotificationToClient(iF.Notifications.EndProgress,e)}),this._connection.onNotification((e,t)=>this._sendNotificationToClient(e,t)))}constructor(e,t,i,r=n4.z.empty(),n=[]){gD(this,"_serviceProvider",void 0),gD(this,"_bundlePath",void 0),gD(this,"_clientCapabilities",void 0),gD(this,"_connection",void 0),gD(this,"_serverProcess",void 0),gD(this,"_console",void 0),gD(this,"_testMode",void 0),gD(this,"_clientConnection",void 0),gD(this,"_disposables",void 0),gD(this,"_disposed",void 0),gD(this,"_started",void 0),gD(this,"_pendingSnapshot",void 0),gD(this,"_snapshotChangedEmitter",void 0),gD(this,"_supportsWorkspaceDiagnosticsChanged",void 0),gD(this,"_supportsDocumentDiagnosticsChanged",void 0),gD(this,"_diagnosticsPush",void 0),gD(this,"_supportsDocumentDiagnostics",void 0),gD(this,"_supportsWorkspaceDiagnostics",void 0),gD(this,"_documentDiagnosticsRegistrationId",void 0),this._serviceProvider=e,this._bundlePath=t,this._clientCapabilities=i,this._testMode=!1,this._disposables=[],this._disposed=!1,this._started=!1,this._pendingSnapshot=iE.InvalidHandle,this._snapshotChangedEmitter=iR.create(),this._supportsWorkspaceDiagnosticsChanged=iR.create(),this._supportsDocumentDiagnosticsChanged=iR.create(),this._diagnosticsPush=iR.create(),this._supportsDocumentDiagnostics=!1,this._supportsWorkspaceDiagnostics=!1,this._console=this._serviceProvider.console(),this._serviceProvider.tryGet(nM.test)&&(this._testMode=!0),this._clientConnection=this._serviceProvider.get(nM.connectionService),this._connection=r.isEmpty()?this._createDefaultConnection():this._createCustomConnection(r,n),this._disposables.push(this._connection)}}class gM{get console(){return this._serviceProvider.console()}get isAlive(){return this._servers.length>0&&!this._disposed&&this._servers.some(e=>e.isAlive)}get typeServerExecutable(){return this._typeServerExecutable}get isPyright(){return this._typeServerExecutable.isEmpty()}async start(e){this._started||(this._servers.forEach(e=>e.start()),this._started=!0,await this.initialize(e))}async shutdown(){if(this._started){this._started=!1;let e=this._servers.map(e=>e.shutdown());await Promise.all(e),this.dispose()}}dispose(){try{this._disposed=!0,this._disposables.forEach(e=>e.dispose()),this._disposables=[],this._servers=[]}catch(e){}}enterEditMode(){this._preEditFiles.clear(),this._openFiles.forEach((e,t)=>{this._preEditFiles.set(t,h6.TextDocument.create(e.uri,e.languageId,e.version,e.getText()))})}exitEditMode(){this._openFiles.forEach((e,t)=>{this._preEditFiles.has(t)||(this.sendNotification(nZ.DidCloseTextDocumentNotification.type,{textDocument:{uri:t}}),this._openFiles.delete(t))}),this._preEditFiles.forEach((e,t)=>{let i=this._openFiles.get(t);i&&i.getText()!==e.getText()&&this.updateFileContents(n4.z.parse(t,this._serviceProvider),e.getText(),ad.CancellationToken.None)}),this._preEditFiles.clear()}getComputedType(e,t,i){return this._throwIfOutOfDate(t,i),this._sendRequest(iE.GetComputedTypeRequest.type,{arg:e,snapshot:this._internalSnapshot},i)}getExpectedType(e,t,i){return this._throwIfOutOfDate(t,i),this._sendRequest(iE.GetExpectedTypeRequest.type,{arg:e,snapshot:this._internalSnapshot},i)}getDeclaredType(e,t,i){return this._throwIfOutOfDate(t,i),this._sendRequest(iE.GetDeclaredTypeRequest.type,{arg:e,snapshot:this._internalSnapshot},i)}getPythonSearchPaths(e,t,i){this._throwIfOutOfDate(t,i);let r=this._convertUriToLspUri(e);return this._sendRequest(iE.GetPythonSearchPathsRequest.type,{fromUri:r,snapshot:this._internalSnapshot},i)}updateFileContents(e,t,i){let r=this._convertUriToLspUri(e),n=this._openFiles.get(r);if(n){let e=[{range:{start:{line:0,character:0},end:n.positionAt(n.getText().length)},text:t}];this.sendNotification(nZ.DidChangeTextDocumentNotification.type,{textDocument:{uri:r,version:n.version+1},contentChanges:e}),h6.TextDocument.update(n,e,n.version+1)}else this.sendNotification(nZ.DidOpenTextDocumentNotification.type,{textDocument:{uri:r,languageId:"python",version:1,text:t}}),this._openFiles.set(r,h6.TextDocument.create(r,"python",1,t))}async getSnapshot(e){let t=await this._sendRequest(iE.GetSnapshotRequest.type,e);return t===iE.InvalidHandle?iE.InvalidHandle:(t!==this._internalSnapshot&&(this._externalSnapshot++,this._internalSnapshot=t),this._externalSnapshot)}async resolveImport(e,t,i,r){this._throwIfOutOfDate(i,r);let n=this._convertUriToLspUri(e),a={leadingDots:t.leadingDots,nameParts:t.nameParts},s=await this._sendRequest(iE.ResolveImportRequest.type,{sourceUri:n,moduleDescriptor:a,snapshot:this._internalSnapshot},r);if(s)return n4.z.parse(s,this._serviceProvider)}async startProfiling(e){this._servers.length>0&&await iF.sendRequest(this._servers[0].connection,iF.Requests.StartProfiling,ao(e))}async stopProfiling(){if(this._servers.length>0){let e=await iF.sendRequest(this._servers[0].connection,iF.Requests.StopProfiling,void 0);if(e)return n4.z.parse(e,this._serviceProvider)}}async getDocumentDiagnostics(e,t,i,r){if(!this.server||!this.server.supportsDocumentDiagnostics){let t=this._pendingDocumentAnalyses.get(e.toString());t&&await t.promise}if(!this.server||!this.server.supportsDocumentDiagnostics){let t=this._diagnosticsCollection.get(e);return t?{kind:"full",items:t.diagnostics,resultId:t.resultId}:{kind:"full",items:[]}}let n=this._convertUriToLspUri(e),a=await this._sendRequest(nZ.DocumentDiagnosticRequest.type,{textDocument:{uri:n},previousResultId:i},r);return"full"===a.kind&&this._diagnosticsCollection.set(e,{resultId:a.resultId,diagnostics:a.items}),a}getLastDocumentDiagnosticsResultId(e){let t=this._diagnosticsCollection.get(e);return null==t?void 0:t.resultId}async startWorkspaceDiagnostics(e){if(this._workspacePartialResultToken=e,!this._workspaceDiagnosticsParams){let e=this.server.connection,t=(0,md.A)();[].push(e.onProgress(nZ.WorkspaceDiagnosticRequest.partialResult,t,async e=>{let t=e.items.map(e=>"full"===e.kind?{...e,items:this._convertDiagnosticResults(e.items||[])}:e);t.forEach(e=>{"full"===e.kind&&this._diagnosticsCollection.set(n4.z.parse(e.uri,this._serviceProvider),{resultId:e.resultId,diagnostics:e.items})}),this.server.sendProgressToClient(this._workspacePartialResultToken,{...e,items:t})})),this._workspaceDiagnosticsParams={identifier:"Pylance",previousResultIds:[],partialResultToken:t},this._sendWorkspaceDiagnostics()}}stopWorkspaceDiagnostics(){return Promise.resolve()}get server(){return this._servers[0]}getBundlePath(){return sC.join(gE,"typeServer.bundle.js")}getInitializeParams(e){let t={processId:process.pid,clientInfo:{name:"Pylance Language Server",version:ag},locale:"en-us",rootPath:null,rootUri:null,capabilities:{workspace:{applyEdit:!0,workspaceEdit:{documentChanges:!0,resourceOperations:["create","rename","delete"],failureHandling:"textOnlyTransactional",normalizesLineEndings:!0,changeAnnotationSupport:{groupsOnLabel:!0}},configuration:this._clientCapabilities.hasConfigurationCapability,didChangeWatchedFiles:{dynamicRegistration:!0,relativePatternSupport:!0},didChangeConfiguration:{dynamicRegistration:!0},workspaceFolders:!0,fileOperations:{dynamicRegistration:!0,didCreate:!0,didRename:!0,didDelete:!0,willCreate:!0,willRename:!0,willDelete:!0},diagnostics:{refreshSupport:!0}},textDocument:{publishDiagnostics:{relatedInformation:!0,versionSupport:!1,tagSupport:{valueSet:[1,2]},codeDescriptionSupport:!0,dataSupport:!0},synchronization:{dynamicRegistration:!0,willSave:!0,willSaveWaitUntil:!0,didSave:!0}},general:{staleRequestSupport:{cancel:!0,retryOnContentModified:[]},regularExpressions:{engine:"ECMAScript",version:"ES2020"},markdown:{parser:"marked",version:"1.1.0"},positionEncodings:["utf-16"]},notebookDocument:{synchronization:{dynamicRegistration:!0,executionSummarySupport:!0}}},initializationOptions:{supportContentsAsUri:!0},workspaceFolders:e};return this._clientCapabilities.supportsPullDiagnostics&&(t.capabilities.textDocument.diagnostic={dynamicRegistration:!0,relatedDocumentSupport:!1}),t}async initialize(e){if(await this._sendRequest(nZ.InitializeRequest.type,this.getInitializeParams(e),ad.CancellationToken.None),this.sendNotification(nZ.InitializedNotification.type,{}),this._currentServerVersion=await this._sendRequest(iE.GetSupportedProtocolVersionRequest.type,ad.CancellationToken.None),this._currentServerVersion!==iE.TypeServerVersion.current){this._console.error(`Unsupported type server protocol version: ${this._currentServerVersion}`),this.dispose();return}if(!this._disposed){for(let e of(this._initialized=!0,[...this._messageTracker.seenNotifications]))await this._onIncomingNotification(e);if(this._serviceProvider.tryGet(n7.y.caseSensitivityDetector)){let t=e.map(e=>n4.z.parse(e.uri,this._serviceProvider));await lf(()=>this,async e=>{for(let i of t)await this.getPythonSearchPaths(i,e,ad.CancellationToken.None)},e=>e!==this._externalSnapshot&&!this._disposed,ad.CancellationToken.None)}}}async sendNotification(e,t){!this._disposed&&this._started?await Promise.all(this._servers.map(i=>i.sendNotification(e,t))):this._console.error(`TS: Type server is not started or has been disposed. Method: ${e}`)}_throwIfOutOfDate(e,t){if((0,n8.Lj)(t),this._externalSnapshot!==e)throw new lg}_sendWorkspaceDiagnostics(){this._workspaceDiagnosticsParams&&this.server.supportsWorkspaceDiagnostics&&!1===this._sentWorkspaceDiagnostics&&(this._sentWorkspaceDiagnostics=!0,this._sendRequest(nZ.WorkspaceDiagnosticRequest.type,this._workspaceDiagnosticsParams,ad.CancellationToken.None).then(()=>{this._sentWorkspaceDiagnostics=!1}))}_convertDiagnosticResults(e){return e.map(e=>{let t=e.source&&this.isPyright?"Pylance (TSP)":e.source;return{...e,source:t}})}_convertUriToLspUri(e){return this._serviceProvider.tryGet(n7.y.fs)?(0,ah.JQ)(this._serviceProvider.fs(),e):e.toString()}async _sendRequest(e,...t){if(this._servers.length>0&&!this._disposed){let i=this._servers.map(i=>i.sendRequest(e,...t));return(await Promise.all(i))[0]}}_shouldSwallowNotification(e){switch(e.method){case nZ.InitializedNotification.method:return!0;case"$/cancelRequest":return(0,n2.Bb)();default:return!1}}async _onIncomingNotification(e){var t,i,r,n;if(this._disposed||!this._started||this._servers.length<=0)return void this._console.error(`TS: Type server is disposed. Cannot forward notification: ${e.method}`);if(this._initialized){if(e.method===nZ.DidOpenTextDocumentNotification.method){let t=e.params,i=t.textDocument.uri;i&&(this._openFiles.set(i,h6.TextDocument.create(i,"python",t.textDocument.version,t.textDocument.text)),this._pendingDocumentAnalyses.set(i,(0,dI.ud)()))}else if(e.method===nZ.DidCloseTextDocumentNotification.method){let n=null==(i=e.params)||null==(t=i.textDocument)?void 0:t.uri;n&&(this._openFiles.delete(n),null==(r=this._pendingDocumentAnalyses.get(n))||r.resolve(),this._pendingDocumentAnalyses.delete(n))}else if(e.method===nZ.DidChangeTextDocumentNotification.method){let t=e.params,i=t.textDocument.uri;if(i){let e=this._openFiles.get(i);e?(h6.TextDocument.update(e,t.contentChanges,t.textDocument.version),this._openFiles.set(i,e)):this._console.warn(`TS: Received didChange for closed document: ${i}`),null==(n=this._pendingDocumentAnalyses.get(i))||n.resolve(),this._pendingDocumentAnalyses.set(i,(0,dI.ud)())}}this._shouldSwallowNotification(e)||await this.sendNotification(e.method,e.params)}}constructor(e,t,i=n4.z.empty(),r=[]){gD(this,"_serviceProvider",void 0),gD(this,"_clientCapabilities",void 0),gD(this,"_servers",void 0),gD(this,"_disposables",void 0),gD(this,"_started",void 0),gD(this,"_console",void 0),gD(this,"_disposed",void 0),gD(this,"_initialized",void 0),gD(this,"_messageTracker",void 0),gD(this,"_openFiles",void 0),gD(this,"_pendingDocumentAnalyses",void 0),gD(this,"_preEditFiles",void 0),gD(this,"_typeServerExecutable",void 0),gD(this,"_currentServerVersion",void 0),gD(this,"_workspaceDiagnosticsParams",void 0),gD(this,"_workspacePartialResultToken",void 0),gD(this,"_sentWorkspaceDiagnostics",void 0),gD(this,"_internalSnapshot",void 0),gD(this,"_externalSnapshot",void 0),gD(this,"_diagnosticsCollection",void 0),this._serviceProvider=e,this._clientCapabilities=t,this._servers=[],this._disposables=[],this._started=!1,this._disposed=!1,this._initialized=!1,this._openFiles=new Map,this._pendingDocumentAnalyses=new Map,this._preEditFiles=new Map,this._sentWorkspaceDiagnostics=!1,this._internalSnapshot=iE.InvalidHandle,this._externalSnapshot=0,this._diagnosticsCollection=new ar.Z,this._typeServerExecutable=i,this._console=this._serviceProvider.console(),this._messageTracker=this._serviceProvider.get(nM.messageTracker),this._disposables.push(this._messageTracker.onNotification(this._onIncomingNotification.bind(this))),this._servers.push(new gN(this._serviceProvider,this.getBundlePath(),this._clientCapabilities,i.isEmpty()?void 0:i,r)),this._servers.forEach(e=>{e.snapshotChanged(e=>{this._internalSnapshot=e,this._externalSnapshot++}),e.supportsWorkspaceDiagnosticsChanged(e=>{e&&this._sendWorkspaceDiagnostics()}),e.supportsDocumentDiagnosticsChanged(e=>{e&&(this._pendingDocumentAnalyses.forEach((e,t)=>{e.resolve()}),this._pendingDocumentAnalyses.clear())}),e.diagnosticsPush(e=>{var t,i;this._diagnosticsCollection.set(n4.z.parse(e.uri,this._serviceProvider),{resultId:null==(t=e.version)?void 0:t.toString(),diagnostics:e.diagnostics}),null==(i=this._pendingDocumentAnalyses.get(e.uri))||i.resolve()})}),this._servers.forEach(e=>this._disposables.push(e))}}let gO=require("node:inspector");function gU(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class gL{get currentProfilingInfo(){return this._currentProfilingInfo}async startProfiling(e){var t;if(this._profilingSession)return;let i=null==(t=this._sp.tryGet(n7.y.tempFile))?void 0:t.tmpdir();if(e&&(this._profileId=e.profileId,i=e.profilingFolderUri),!i)return;let r=this._sp.tryGet(n7.y.console),n=(0,dI.ud)(),a=new gO.Session;return a.connect(),a.post("Profiler.enable",()=>{a.post("Profiler.start",()=>{null==r||r.info(`[${this._getTitle()}] Profiling started`),n.resolve(void 0)})}),this._profilingSession=a,await n.promise,this._currentProfilingInfo={profileId:this._profileId,profilingFolderUri:i},this._currentProfilingInfo}async stopProfiling(){var e;let t;if(!this._profilingSession)return;let i=(0,dI.ud)(),r=this._profilingSession,n=this._sp.tryGet(n7.y.console),a=null==(e=this._currentProfilingInfo)?void 0:e.profilingFolderUri;r.post("Profiler.stop",(e,{profile:s})=>{if(e){null==n||n.error(`There was an error stopping profiler: ${e}`);return}let o=this._sp.get(n7.y.fs);try{let e=this._getTitle();if(!a){null==n||n.info(`[${e}}] Profiling stopped but there is no place to save data.`);return}this._profileId++;let i=a.combinePaths(`pylance_${ag}_${e}.cpuprofile`);o.writeFileSync(i,JSON.stringify(s),"utf8"),t=i,null==n||n.info(`[${e}}] Profiling stopped at ${t.getFilePath()}`)}catch(e){null==n||n.error(`There was an error saving profile data: ${e}`);return}r.post("Profiler.disable",()=>{r.disconnect(),i.resolve(void 0)})});let s=t?[t]:[],o=this._currentProfilingInfo?{...this._currentProfilingInfo,outputFileUris:s}:void 0;return this._profilingSession=void 0,this._currentProfilingInfo=void 0,await i.promise,o}_getTitle(){return`${this._prefix}id_${this._profileId}`}constructor(e,t){gU(this,"_sp",void 0),gU(this,"_profileId",void 0),gU(this,"_currentProfilingInfo",void 0),gU(this,"_profilingSession",void 0),gU(this,"_prefix",void 0),this._sp=e,this._profileId=0,this._prefix=t.replace(/[()]/g,"_").toLowerCase()}}class gz{getPythonVersion(e){return this._fetcher(e)}constructor(e){var t,i;i=void 0,(t="_fetcher")in this?Object.defineProperty(this,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):this[t]=i,this._fetcher=e}}var gW=i(36415);function gB(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class g${get fileInfo(){return ax.R8(this.parseResults.parserOutput.parseTree)}get moduleNode(){return this.parseResults.parserOutput.parseTree}constructor(e,t,i){gB(this,"uri",void 0),gB(this,"parseResults",void 0),gB(this,"chainedFile",void 0),gB(this,"needsRebinding",void 0),this.uri=e,this.parseResults=t,this.chainedFile=i,this.needsRebinding=!0}}class gj{clearCacheForFile(e){this._boundFiles.get(e)&&this._boundFiles.delete(e)}isBindingRequired(e){let t=this._boundFiles.get(e);return!t||t.needsRebinding}async getFileInfo(e){let t=await this._getBoundFile(e);return t?t.fileInfo:ax.R8(e)}async getSymbolsForFile(e){let t=await this._getBoundFile(e);if(t){let e=ax.Xf(t.moduleNode);return null==e?void 0:e.symbolTable}}async getSymbolsForNode(e){if(await this._getBoundFile(e)){var t;return null==(t=ax.Xf(e))?void 0:t.symbolTable}}async lookupSymbol(e,t){if(await this._getBoundFile(e))return lV(e,t)}async _getBoundFile(e,t=!1){let i=n4.z.is(e)?e:this._parser.getUri(e);if(i){let e=this._boundFiles.get(i);if(!e){let t=this._parser.getParseResults(i),n=this._program.getSourceFileInfo(i);if(t){var r;e=new g$(i,t,null==n||null==(r=n.chainedSourceFile)?void 0:r.uri),this._boundFiles.set(i,e)}}return e&&await this._bindFileIfNeeded(e,t),e}}_getImplicitImport(e){let t=this._program.getSourceFileInfo(e);return t?t.getImplicitImport():Promise.resolve(void 0)}async _getBuiltinsImport(e){let t=this._program.getSourceFileInfo(e);if(t){let e=await t.getBuiltinsImport();return null==e?void 0:e.uri}}async _bindImplicitImports(e,t){let i=[],r=new Set,n=await this._getImplicitImport(e);for(;n;){let e=n.uri;if(r.has(e.key))break;r.add(e.key),i.push(n.uri),n=await this._getImplicitImport(n.uri)}if(0===i.length)return;let a=i.pop();for(;a;)await this._getBoundFile(a,!0),a=i.pop()}_getEffectiveFutureImports(e,t){var i,r,n,a,s,o,l,d;let u=new Set([...null!=(i=null==(n=this._parser.getParseResults(e))?void 0:n.parserOutput.futureImports)?i:new Set,...t&&null!=(r=null==(a=this._parser.getParseResults(t))?void 0:a.parserOutput.futureImports)?r:new Set]),p=null==(o=this._program.getSourceFileInfo(e))||null==(s=o.chainedSourceFile)?void 0:s.uri;for(;p;){let e=this._parser.getParseResults(p);if(!e)break;e.parserOutput.futureImports.forEach(e=>{u.add(e)}),p=null==(d=this._program.getSourceFileInfo(p))||null==(l=d.chainedSourceFile)?void 0:l.uri}return u}async _bindFileIfNeeded(e,t=!1){if(e.needsRebinding){let r,n=t=>{if(!t||t.equals(e.uri))return;let i=this._parser.getParseResults(t);if(i)return ax.Xf(i.parserOutput.parseTree)},a=await this._getBuiltinsImport(e.uri);if(a&&!a.equals(e.uri)){var i;if(!t&&(await this._bindImplicitImports(e.uri),!e.needsRebinding))return!0;r=null!=(i=n(e.chainedFile))?i:n(a)}return e.fileInfo.builtinsScope=r,e.fileInfo.futureImports=this._getEffectiveFutureImports(e.uri,a),new gW.V6(e.fileInfo).bindModule(e.moduleNode),e.needsRebinding=!1,!0}return!1}constructor(e,t){gB(this,"_parser",void 0),gB(this,"_program",void 0),gB(this,"_boundFiles",void 0),this._parser=e,this._program=t,this._boundFiles=new ar.Z,this._parser.changed(({uri:e})=>{this.clearCacheForFile(e)})}}function gK(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class gV{get contents(){return this._getcontents()}get hasTypeAnnotations(){return this._getHasTypeAnnotations()}get semanticVersion(){var e;return null!=(e=this.diagnosticsVersion)?e:0}get shadows(){return this._shadows}get shadowedBy(){return this._shadowedBy}get imports(){return this._imports}set imports(e){this._imports=e}get importedBy(){return this._importedBy}set importedBy(e){this._importedBy=e}async getImports(){return this._computeImportsPromise||(this._computeImportsPromise=this._computeImports()),await this._computeImportsPromise,this._imports}async getImportedBy(){return await this.getImports(),this._importedBy}async getBuiltinsImport(){return(await this.getImports()).find(e=>"builtins"===e.uri.fileNameWithoutExtensions||"__builtins__"===e.uri.fileNameWithoutExtensions)}async getImplicitImport(){let e=await this.getBuiltinsImport();if(e!==this)return this.chainedSourceFile?this.chainedSourceFile:e}recomputeImports(){this._computeImportsPromise=void 0}constructor(e,t,i,r,n,a,s,o,l,d,u,p,c,h){gK(this,"uri",void 0),gK(this,"_getcontents",void 0),gK(this,"ipythonMode",void 0),gK(this,"diagnosticsVersion",void 0),gK(this,"clientVersion",void 0),gK(this,"isTypeshedFile",void 0),gK(this,"isThirdPartyImport",void 0),gK(this,"isOpenByClient",void 0),gK(this,"isTracked",void 0),gK(this,"isThirdPartyPyTypedPresent",void 0),gK(this,"_getHasTypeAnnotations",void 0),gK(this,"isTypingStubFile",void 0),gK(this,"_computeImports",void 0),gK(this,"chainedSourceFile",void 0),gK(this,"_computeImportsPromise",void 0),gK(this,"_imports",void 0),gK(this,"_importedBy",void 0),gK(this,"_shadows",void 0),gK(this,"_shadowedBy",void 0),this.uri=e,this._getcontents=t,this.ipythonMode=i,this.diagnosticsVersion=r,this.clientVersion=n,this.isTypeshedFile=a,this.isThirdPartyImport=s,this.isOpenByClient=o,this.isTracked=l,this.isThirdPartyPyTypedPresent=d,this._getHasTypeAnnotations=u,this.isTypingStubFile=p,this._computeImports=c,this.chainedSourceFile=h,this._imports=[],this._importedBy=[],this._shadows=[],this._shadowedBy=[]}}function gq(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class gG{get fileSystem(){return this._serviceProvider.get(n7.y.fs)}findDeclarations(e){return(0,aF.hw)(e)?this._findClassOrTypeAliasDeclarations(e):(0,aF.vu)(e)?this._findFunctionOrTypeAliasDeclarations(e):(0,aF.bC)(e)?this._findVariableDeclarations(e):(0,aF.cU)(e)?this._findParamDeclarations(e):(0,aF.r_)(e)?this._findSpecialBuiltInClassDeclarations(e):Promise.resolve([])}async findFunctionDeclarations(e){return(await this._findFunctionOrTypeAliasDeclarations(e)).filter(aF.vu)}async findDeclarationsByType(e,t,i=!1){let r=[];return await this._addClassTypeDeclarations(e,t,r,new Set,i),r}async findClassDeclarationsByType(e,t){return(await this.findDeclarationsByType(e,t)).filter(e=>(0,aF.hw)(e)).map(e=>e)}async getSourcePathsFromStub(e,t){let i=[];if(0===i.length){let t=e.replaceExtension(".py");this.fileSystem.existsSync(t)&&i.push(t)}if(0===i.length){var r,n;let t=await (null==(n=this._typeProviderService)?void 0:n.getPythonSearchPaths(e,this._snapshot,this._token)),a=null!=(r=null==t?void 0:t.map(e=>n4.z.parse(e,this._serviceProvider)))?r:[],s=[];for(let t of a)if(e.isChild(t)){let i=Array.from(t.getRelativePathComponents(e));i.length>=1&&(i[0].endsWith("-stubs")&&(i[0]=i[0].slice(0,i[0].length-6)),s.push(i.join("/")))}for(let e of s)for(let t of a){let r=t.resolvePaths(e).replaceExtension(".py");if(this.fileSystem.existsSync(r))i.push(r);else{let e=r.stripExtension();r=e.pathEndsWith("__init__")?e.getDirectory().packageUri:e.initPyUri,this.fileSystem.existsSync(r)&&i.push(r)}}}return i}async getModuleNode(e){let t=this._parseOutputProvider.getParserOutput(e);if(t)return t.parseTree}async findModules(e){let t=await this.getSourcePathsFromStub(e,this._fromFile);if(t.length>0){let e=[];for(let i of t){let t=await this.getModuleNode(i);t&&e.push(t)}return e}return[]}async _findSpecialBuiltInClassDeclarations(e,t=new Set){if(e.node.d.valueExpr.nodeType===aO.ye.Name){let r=e.node.d.valueExpr.d.value,n=await this.getSourcePathsFromStub(e.uri,this._fromFile),a=[];for(let e of n){var i;let n=null==(i=this._parseOutputProvider.getParserOutput(e))?void 0:i.parseTree;n&&(0,ap.af)(a,await this._findClassDeclarationsByName(e,n,r,t))}return a}return[]}async _findClassOrTypeAliasDeclarations(e,t=new Set){let i=this._getFullClassName(e.node),r=await this.getSourcePathsFromStub(e.uri,this._fromFile),n=[];for(let e of r){var a;let r=null==(a=this._parseOutputProvider.getParserOutput(e))?void 0:a.parseTree;r&&(0,ap.af)(n,await this._findClassDeclarationsByName(e,r,i,t))}return n}async _findFunctionOrTypeAliasDeclarations(e,t=new Set){var i,r;let n=e.node.d.name.d.value,a=await this.getSourcePathsFromStub(e.uri,this._fromFile);if(e.isMethod){let r=aL.Ji(e.node);if(void 0===r)return[];let s=this._getFullClassName(r),o=[];for(let e of a){let r=null==(i=this._parseOutputProvider.getParserOutput(e))?void 0:i.parseTree;r&&(0,ap.af)(o,await this._findMethodDeclarationsByName(e,r,s,n,t))}return o}{let e=[];for(let i of a){let a=null==(r=this._parseOutputProvider.getParserOutput(i))?void 0:r.parseTree;a&&(0,ap.af)(e,await this._findFunctionDeclarationsByName(i,a,n,t))}return e}}async _findVariableDeclarations(e,t=new Set){var i,r;if(e.node.nodeType!==aO.ye.Name)return[];let n=e.node.d.value,a=await this.getSourcePathsFromStub(e.uri,this._fromFile),s=aL.Ji(e.node);if(s){let e=this._getFullClassName(s),r=[];for(let s of a){let a=null==(i=this._parseOutputProvider.getParserOutput(s))?void 0:i.parseTree;return a&&(0,ap.af)(r,await this._findFieldDeclarationsByName(s,a,e,n,t)),r}}else{let e=[];for(let i of a){let a=null==(r=this._parseOutputProvider.getParserOutput(i))?void 0:r.parseTree;a&&(0,ap.af)(e,await this._findVariableDeclarationsByName(i,a,n,t))}return e}return[]}async _findParamDeclarations(e){var t;let i=[];if(!e.node.d.name)return i;let r=aL.hP(e.node);if(!r)return i;let n=null==(t=await this._evaluator.getDeclInfoForNameNode(r.d.name))?void 0:t.decls;if(!n)return i;let a=new Set;for(let t of n)if((0,aF.vu)(t))for(let r of(await this._findFunctionOrTypeAliasDeclarations(t,a)))(0,ap.af)(i,(await this._lookUpSymbolDeclarations(r.node,e.node.d.name.d.value)).filter(e=>(0,aF.cU)(e)).map(e=>e));return i}async _findMemberDeclarationsByName(e,t,i,r,n,a){let s=[];for(let o of(await this._findClassDeclarationsByName(e,t,i,a)).filter(e=>(0,aF.hw)(e)).map(e=>e)){let e=await this._evaluator.getTypeOfClass(o.node);if(!e)continue;let t=(0,aX.Zn)(e.classType,r);if(t)for(let e of t.symbol.getDeclarations())await n(e,a,s)}return s}async _findFieldDeclarationsByName(e,t,i,r,n){let a=[],s=`@${e}/c/${i}/v/${r}`;return n.has(s)||(n.add(s),a=await this._findMemberDeclarationsByName(e,t,i,r,async(e,t,i)=>{if((0,aF.bC)(e))if(await this._isStubThatShouldBeMappedToImplementation(e.uri))for(let r of(await this._findVariableDeclarations(e,t)))(0,aF.bC)(r)&&i.push(r);else i.push(e)},n),n.delete(s)),a}async _findMethodDeclarationsByName(e,t,i,r,n){let a=[],s=`@${e}/c/${i}/f/${r}`;return n.has(s)||(n.add(s),a=await this._findMemberDeclarationsByName(e,t,i,r,async(e,t,i)=>{(0,aF.vu)(e)&&(await this._isStubThatShouldBeMappedToImplementation(e.uri)?(0,ap.af)(i,await this._findFunctionOrTypeAliasDeclarations(e,t)):i.push(e))},n),n.delete(s)),a}async _findVariableDeclarationsByName(e,t,i,r){let n=[],a=`@${e}/v/${i}`;if(r.has(a)||(r.add(a),!t))return n;let s=await this._lookUpSymbolDeclarations(t,i);if(0===s.length)await this._addDeclarationsFollowingWildcardImports(t,i,n,r);else for(let e of s)await this._addVariableDeclarations(e,n,r);return r.delete(a),n}async _findFunctionDeclarationsByName(e,t,i,r){let n=[],a=`@${e}/f/${i}`;if(r.has(a)||(r.add(a),!t))return n;let s=await this._lookUpSymbolDeclarations(t,i);if(0===s.length)await this._addDeclarationsFollowingWildcardImports(t,i,n,r);else for(let e of s)await this._addClassOrFunctionDeclarations(e,n,r);return r.delete(a),n}async _findClassDeclarationsByName(e,t,i,r){let n=[];if(t){let a=i.split(".");for(let i of(a.length>0&&(n=await this._findClassDeclarations(e,a[0],t,r),a=a.slice(1)),a))for(let t of n){let a=await this._findClassDeclarations(e,i,t.node,r);n=n.concat(a)}}return n}async _findClassDeclarations(e,t,i,r){let n=[],a=`@${e}[${i.start}]${t}`;if(r.has(a))return n;r.add(a);let s=await this._lookUpSymbolDeclarations(i,t);if(0===s.length&&i.nodeType===aO.ye.Module)await this._addDeclarationsFollowingWildcardImports(i,t,n,r);else for(let e of s)await this._addClassOrFunctionDeclarations(e,n,r);return r.delete(a),n}async _addVariableDeclarations(e,t,i){if((0,aF.bC)(e))await this._isStubThatShouldBeMappedToImplementation(e.uri)?(0,ap.af)(t,await this._findVariableDeclarations(e,i)):t.push(e);else if((0,aF.D5)(e)){let r=await this._evaluator.resolveAliasDeclaration(e,!0);r&&((0,aF.bC)(r)?await this._addVariableDeclarations(r,t,i):((0,aF.hw)(r)||(0,aF.vu)(r))&&await this._addClassOrFunctionDeclarations(r,t,i))}}async _addClassOrFunctionDeclarations(e,t,i){if((0,aF.hw)(e))await this._isStubThatShouldBeMappedToImplementation(e.uri)?(0,ap.af)(t,await this._findClassOrTypeAliasDeclarations(e,i)):t.push(e);else if((0,aF.r_)(e))t.push(e);else if((0,aF.vu)(e))await this._isStubThatShouldBeMappedToImplementation(e.uri)?(0,ap.af)(t,await this._findFunctionOrTypeAliasDeclarations(e,i)):t.push(e);else if((0,aF.D5)(e)){let r=await this._handleSpecialBuiltInModule(e),n=await this._evaluator.resolveAliasDeclaration(r,!0);n&&!(0,aF.D5)(n)&&await this._addClassOrFunctionDeclarations(n,t,i)}else if((0,aF.bC)(e)){var r;await this._addVariableDeclarations(e,t,i);let n=null!=(r=e.typeAliasName)?r:e.node,a=await this._evaluator.getType(n);if(!a)return;if((0,aM.Tn)(a)&&a.shared.declaration)await this._addClassOrFunctionDeclarations(a.shared.declaration,t,i);else if((0,aM.Gl)(a))for(let e of aM.OF.getOverloads(a).map(e=>e.shared.declaration).filter(n2.O9))await this._addClassOrFunctionDeclarations(e,t,i);else(0,aM.dL)(a)&&await this._addClassTypeDeclarations(e.uri,a,t,i)}}async _handleSpecialBuiltInModule(e){if(!e.uri.isEmpty()||!e.node||"io"!==e.moduleName&&"collections"!==e.moduleName)return e;let t=await this._typeProviderService.getPythonSearchPaths(this._fromFile,this._snapshot,this._token),i=null==t?void 0:t.find(e=>e.includes("typeshed"));if(!i)return e;let r=aL.nj(e.node);if(!r)return e;let n=n4.z.parse(i,this._serviceProvider).combinePaths((function(){switch(e.node.nodeType){case aO.ye.ImportAs:return e.node.d.module;case aO.ye.ImportFromAs:var t;return(0,n6.vA)((null==(t=e.node.parent)?void 0:t.nodeType)===aO.ye.ImportFrom),e.node.parent.d.module;case aO.ye.ImportFrom:return e.node.d.module;default:return(0,n6.xb)(e.node)}})().d.nameParts.map(e=>e.d.value).join(".")+".pyi"),a=await this._getSourceFiles(n,r.fileUri);if(0===a.length)return e;let s={...e};return s.uri=a[0],s}async _addClassTypeDeclarations(e,t,i,r,n=!1){var a,s,o,l;let d=n&&(null==(a=t.props)?void 0:a.typeAliasInfo)?t.props.typeAliasInfo.shared.fileUri:t.shared.fileUri,u=await this._getSourceFiles(d,void 0,e),p=n&&(null==(s=t.props)?void 0:s.typeAliasInfo)?t.props.typeAliasInfo.shared.fullName:t.shared.fullName,c=n&&(null==(o=t.props)?void 0:o.typeAliasInfo)?t.props.typeAliasInfo.shared.moduleName:t.shared.moduleName,h=p.substring(c.length+1);for(let e of u){let t=null==(l=this._parseOutputProvider.getParserOutput(e))?void 0:l.parseTree;t&&(0,ap.af)(i,await this._findClassDeclarationsByName(e,t,h,r))}}async _getSourceFiles(e,t,i){let r=[];return await this._isStubThatShouldBeMappedToImplementation(e)?(0,ap.af)(r,await this.getSourcePathsFromStub(e,null!=i?i:this._fromFile)):this._parseOutputProvider.getParserOutput(e)&&r.push(e),r}async _addDeclarationsFollowingWildcardImports(e,t,i,r){let n=await this._symbolLookup.getSymbolsForNode(e);if(n)for(let e of n.values())for(let n of e.getDeclarations()){if(!(0,aF.D5)(n)||n.uri.isEmpty()||n.node.nodeType!==aO.ye.ImportFrom||!n.node.d.isWildcardImport)continue;let e=`@${n.uri.key}/l/${t}`;if(!r.has(e))for(let s of(r.add(e),await this._getSourceFiles(n.uri))){var a;let e=null==(a=this._parseOutputProvider.getParserOutput(s))?void 0:a.parseTree;if(!e)continue;let n=await this._lookUpSymbolDeclarations(e,t);if(0===n.length)await this._addDeclarationsFollowingWildcardImports(e,t,i,r);else for(let e of n){let t=await this._evaluator.resolveAliasDeclaration(e,!0);t&&((0,aF.vu)(t)||(0,aF.hw)(t)?await this._addClassOrFunctionDeclarations(t,i,r):(0,aF.bC)(t)&&await this._addVariableDeclarations(t,i,r))}}}}async _lookUpSymbolDeclarations(e,t){if(void 0===e)return[];let i=await this._symbolLookup.lookupSymbol(e,t),r=null==i?void 0:i.getDeclarations();return null!=r?r:[]}_getFullClassName(e){let t=[],i=e;for(;void 0!==i;)t.push(i.d.name.d.value),i=aL.Ji(i);return t.reverse().join(".")}async _isStubThatShouldBeMappedToImplementation(e){return!this._preferStubs&&!!(0,cu.x)(e)&&(await this.getSourcePathsFromStub(e,this._fromFile)).every(t=>!t.equals(e))}constructor(e,t,i,r,n,a,s,o,l,d){gq(this,"_fromFile",void 0),gq(this,"_mapCompiled",void 0),gq(this,"_preferStubs",void 0),gq(this,"_parseOutputProvider",void 0),gq(this,"_symbolLookup",void 0),gq(this,"_snapshot",void 0),gq(this,"_token",void 0),gq(this,"_typeProviderService",void 0),gq(this,"_evaluator",void 0),gq(this,"_serviceProvider",void 0),this._fromFile=e,this._mapCompiled=t,this._preferStubs=i,this._parseOutputProvider=r,this._symbolLookup=n,this._snapshot=a,this._token=s,this._typeProviderService=o,this._evaluator=l,this._serviceProvider=d}}function gH(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let gJ=[".pyd",".so",".dylib"];class gY{get id(){return this._id}get rootPath(){return this._rootUri}get fs(){return this.serviceProvider.get(n7.y.fs)}get fileSystem(){return this.serviceProvider.get(n7.y.fs)}get console(){return this.serviceProvider.get(n7.y.console)}get configOptions(){return this._configOptions}get snapshotChanged(){return this._snapshotEmitter.event}get isAlive(){return this._typeProviderService?this._typeProviderService.isAlive:!!this._typeProviderServicePromise}get isPyright(){return!this._typeProviderService||this._typeProviderService.isPyright}get performsAnalysis(){return!1}get uriMapper(){return this.serviceProvider.tryGet(nM.uriMapper)}get symbolLookup(){return this._binder}getEvaluator(e){if(this._currentSnapshot!==e)throw new lg;return this._getAsyncEvaluator()}getUri(e){return this._parserService.getUri(e)}isCaseSensitive(e){return this.serviceProvider.get(n7.y.caseSensitivityDetector).isCaseSensitive(e)}dispose(){this._parserService.clearCache()}owns(e){return e.toString().startsWith(this.rootPath.toString())}getParserOutput(e){var t;return null==(t=this._parserService.getParseResults(e))?void 0:t.parserOutput}getParseResults(e){return this._parserService.getParseResults(e)}addStubCode(e,t){let i=this._parserService.addStubCode(e,t);return this._addedStubs.set(i.uri,!0),i}getChainedUri(e){var t;let i=this._sourceInfoMap.get(e);return null==i||null==(t=i.chainedSourceFile)?void 0:t.uri}async getSourceMapper(e,t,i,r,n){let a=await this._getTypeProviderService(),s=this.getEvaluator(r);if(a&&s)return new gG(e,t,i,this,this._binder,r,n,a,s,this.serviceProvider)}getModuleName(e){let t=this._parserService.getParseResults(e);if(t)return t.moduleName}shadowUri(e,t){let i=this._ensureSourceFileInfo(e);if(i){let e=this._ensureSourceFileInfo(t);e&&i.shadowedBy.push(e)}}addInterimFile(e){this._ensureSourceFileInfo(e)}addTrackedFile(e,t,i){let r=this._sourceInfoMap.get(e);r||(r=this._createSourceFileInfo(e)),r.isTracked=!0,r.isThirdPartyImport=t,r.isThirdPartyPyTypedPresent=i}setTrackedFiles(e){for(let e of this._sourceInfoMap.values())e.isTracked=!1;for(let t of e){let e=this._sourceInfoMap.get(t);e||(e=this._createSourceFileInfo(t)),e.isTracked=!0}}handleMemoryHighUsage(){}setConfigOptions(e){this._configOptions=e,this._parserService.setConfigOptions(e)}markAllFilesDirty(){this._parserService.clearCache()}markFilesDirty(e){e.forEach(e=>{this._parserService.clearCacheForUri(e)})}updateFileContents(e,t){let i=this._updateFileContentsInternal(e,t);this._pendingUpdatePromises.push(i),i.finally(()=>{let e=this._pendingUpdatePromises.indexOf(i);e>=0&&this._pendingUpdatePromises.splice(e,1)})}setFileOpened(e,t,i,r){this._parserService.setFileOpened(e,t,i,{chainedFileUri:r,isTracked:!0,ipythonMode:oy.isNotebookCell(e)?sA.Bk.CellDocs:sA.Bk.None});let n=this._ensureSourceFileInfo(e);n&&(n.clientVersion=null!=t?t:0,n.chainedSourceFile=r?this._ensureSourceFileInfo(r):void 0)}setFileClosed(e,t){this._parserService.setFileClosed(e,t)}updateChainedUri(e,t){if(this._parserService.getParseResults(e)){let i=this._sourceInfoMap.get(e);i&&(i.chainedSourceFile=t?this._ensureSourceFileInfo(t):void 0)}}updateSettings(e){if(e.enableAsyncProgram)this._startTypeProviderService(e.typeServerExecutable||n4.z.empty(),e.typeServerArguments||[]).catch(e=>{this.serviceProvider.console().error(`Error starting type provider service: ${e}`),this._typeProviderService=void 0,this._typeProviderServicePromise=void 0});else{var t;null==(t=this._typeProviderService)||t.dispose(),this._typeProviderService=void 0,this._typeProviderServicePromise=void 0}}async runEditModeAsync(e,t){let i=[];if(this._inEditMode)throw new lg;this._inEditMode=!0,this.enterEditMode();try{await this.waitForPendingUpdates(t),await e(this)}catch(e){throw this.serviceProvider.console().error(`Error in edit mode: ${e}`),e}finally{this._inEditMode=!1,i=this.exitEditMode()}return(0,n8.Lj)(t),i}enterEditMode(){var e;this._parserService.enterEditMode(),null==(e=this._typeProviderService)||e.enterEditMode()}exitEditMode(){var e;return null==(e=this._typeProviderService)||e.exitEditMode(),this._parserService.exitEditMode()}async runAsync(e,t){return await this.waitForPendingUpdates(t),await e(this)}async waitForPendingUpdates(e){let t=[...this._pendingUpdatePromises];await Promise.all(t),await this._waitForImports(e)}async getComputedType(e,t,i){return await this._getType(e,(e,t,i,r)=>e.getComputedType(t,i,r),t,i)}async getExpectedType(e,t,i){return await this._getType(e,(e,t,i,r)=>e.getExpectedType(t,i,r),t,i)}async getDeclaredType(e,t,i){return await this._getType(e,(e,t,i,r)=>e.getDeclaredType(t,i,r),t,i)}async getPythonSearchPaths(e,t){let i=await this._getTypeProviderService();if(!i)return;let r=await i.getPythonSearchPaths(this._rootUri,e,t)||[];if(r&&"function"==typeof r.map){var n;let e=r.map(e=>n4.z.parse(e,this)),t=r.sort().join("|"),i=null==(n=this._cachedPythonSearchPaths)?void 0:n.sort().join("|");return void 0!==i&&i!==t&&this._invalidateAllImportCache(),this._cachedPythonSearchPaths=[...r],e}return[]}async lookupImport(e,t){return await this._importLookup(e,t)}async startProfiling(){var e;let t=this.serviceProvider.tryGet(nM.profilingService),i=null==t?void 0:t.startProfiling(),r=i?await i:void 0,n=r?null==(e=this._typeProviderService)?void 0:e.startProfiling(r):void 0;return await n,r}async stopProfiling(){var e,t;let i=this.serviceProvider.tryGet(nM.profilingService),r=null==i?void 0:i.stopProfiling(),n=null==(t=this._typeProviderService)?void 0:t.stopProfiling(),a=r?await r:void 0,s=n?await n:void 0,o=null!=(e=null==a?void 0:a.outputFileUris)?e:[];return s&&o.push(s),a?{...a,outputFileUris:o}:void 0}async getDocumentDiagnostics(e,t,i,r){let n=await this._getTypeProviderService();return n?await n.getDocumentDiagnostics(e,t,i,r):{kind:"full",items:[]}}async startWorkspaceDiagnostics(e){let t=await this._getTypeProviderService();await (null==t?void 0:t.startWorkspaceDiagnostics(e))}async stopWorkspaceDiagnostics(){let e=await this._getTypeProviderService();await (null==e?void 0:e.stopWorkspaceDiagnostics())}changedWatchedFiles(e){let t=e.filter(e=>{let t=n4.z.parse(e.uri,this.serviceProvider.get(n7.y.caseSensitivityDetector));return this._isPythonOrNotebookUri(t)});t.length>0&&this._parserService.changeWatchedFiles(t)}getSourceFileInfo(e){return this._sourceInfoMap.get(e)}getSourceFileInfoList(){return[...this._sourceInfoMap.values()]}async getSnapshot(e){let t=await this._getTypeProviderService();if(!t)return iE.InvalidHandle;let i=await t.getSnapshot(e);return this._currentSnapshot!==i&&(this._currentSnapshot=i,this._asyncEvaluator=void 0,this._cleanupAddedStubs(),this._snapshotEmitter.fire(i)),i}async resolveImport(e,t,i,r){let n=this.owns(e),a=this._getImportCacheKey(e,t,n);if(this._importCache.has(a))return this._importCache.get(a);let s=await this._getTypeProviderService();if(!s)return;let o=await s.resolveImport(e,t,i,r);return this._importCache.set(a,o),n&&this._userFileCacheKeys.add(a),o}_getImportCacheKey(e,t,i){let r=t.leadingDots>0?e.key:"",n=".".repeat(t.leadingDots)+t.nameParts.join(".");return`${r}-${n}-${i}`}_invalidateUserImportCache(){for(let e of this._userFileCacheKeys)this._importCache.delete(e);this._userFileCacheKeys.clear()}_invalidateAllImportCache(){this._importCache.clear(),this._userFileCacheKeys.clear()}async _waitForImports(e){for(let t of[...this._sourceInfoMap.values()])(0,n8.Lj)(e),await t.getImports()}async _updateFileContentsInternal(e,t){this.owns(e)&&this._invalidateUserImportCache(),this._parserService.updateFileContents(e,t);let i=await this._getTypeProviderService();null==i||i.updateFileContents(e,t,ad.CancellationToken.None),await this._waitForImports(ad.CancellationToken.None);let r=this._sourceInfoMap.get(e);if(r){for(let e of r.importedBy)e.recomputeImports(),this._binder.clearCacheForFile(e.uri);r.recomputeImports()}}_isGeneratedNode(e){if(l6(e)){if(e.node){let t=ax.R8(e.node);if((null==t?void 0:t.isStubFile)&&t.isGeneratedStubFile)return n6.fJ("Attempted to ask TypeServer for type of a node from a generated stub file."),!0}}else{let t=ax.R8(e);if((null==t?void 0:t.isStubFile)&&t.isGeneratedStubFile)return n6.fJ("Attempted to ask TypeServer for type of a node from a generated stub file."),!0}return!1}async _getType(e,t,i,r){let n=await this._getTypeProviderService();if(n&&!this._isGeneratedNode(e))try{var a;let s;this._currentDepth++;let o=l6(e)?(a=this,s={fs:a.fs,uriMapper:a.uriMapper,isCaseSensitive:e=>a.isCaseSensitive(e),getUri:t=>e.node?(0,ax.R8)(e.node).fileUri:e.uri,getParserOutput:e=>a.getParserOutput(e),addStubCode:e=>a.addStubCode(e)},e.node?{kind:iE.DeclarationKind.Regular,category:function(e){switch(e.type){case aF.h3.Intrinsic:return iE.DeclarationCategory.Intrinsic;case aF.h3.Function:return iE.DeclarationCategory.Function;case aF.h3.Class:case aF.h3.SpecialBuiltInClass:return iE.DeclarationCategory.Class;case aF.h3.Param:return iE.DeclarationCategory.Param;case aF.h3.TypeParam:return iE.DeclarationCategory.TypeParam;case aF.h3.TypeAlias:return iE.DeclarationCategory.TypeAlias;case aF.h3.Variable:return iE.DeclarationCategory.Variable;case aF.h3.Alias:return iE.DeclarationCategory.Import;default:throw Error(`Unknown declaration type: ${e.type}`)}}(e),node:lj(e.node,s),name:lG(e)}:{kind:iE.DeclarationKind.Synthesized,uri:(0,ah.JQ)(a.fs,e.uri)}):lj(e,this),l=await t(n,o,i,r),d=this.getEvaluator(i);if(l&&d){let e=new ct(this,d,this.symbolLookup);return await e.getType(l)}return}finally{this._currentDepth--}}_getTypeProviderService(){return this._typeProviderServicePromise?this._typeProviderServicePromise:Promise.resolve(void 0)}_getAsyncEvaluator(){return this._asyncEvaluator||(this._asyncEvaluator=pB(this._importLookup.bind(this),{printTypeFlags:(0,dP.$z)(this.configOptions),logCalls:this.configOptions.logTypeEvaluationTime,minimumLoggingThreshold:this.configOptions.typeEvaluationTimeThreshold,evaluateUnknownImportsAsAny:!!this.configOptions.evaluateUnknownImportsAsAny,verifyTypeCacheEvaluatorFlags:!!this.configOptions.internalTestMode},this,this.symbolLookup,this._currentSnapshot,this.console)),this._asyncEvaluator}async _importLookup(e,t){var i;let r;if(n4.z.is(e))r=this.getSourceFileInfo(e);else{let t=await this.resolveImport(e.importingFileUri,{leadingDots:0,nameParts:e.nameParts,importedSymbols:void 0},this._currentSnapshot,ad.CancellationToken.None);t&&!t.isEmpty()&&((r=this.getSourceFileInfo(t))||(r=this._ensureSourceFileInfo(t)))}if(!r)return;if(null==t?void 0:t.skipParsing)return{symbolTable:new Map,dunderAllNames:void 0,usesUnsupportedDunderAllForm:!1,get docString(){return},isInPyTypedPackage:!1};let n=await this._binder.getSymbolsForFile(r.uri);if(!n)return;let a=this.getParserOutput(r.uri),s=a.parseTree,o=ax.R8(s),l=ax.KO(a.parseTree);return{symbolTable:n,dunderAllNames:null==l?void 0:l.names,usesUnsupportedDunderAllForm:null!=(i=null==l?void 0:l.usesUnsupportedDunderAllForm)&&i,get docString(){return(0,aL.uf)(s.d.statements)},isInPyTypedPackage:o.isInPyTypedPackage}}_isPythonOrNotebookUri(e){return(0,ah._3)(e)||oy.isNotebookCell(e)}_hasSourceFileInfo(e){return this._sourceInfoMap.has(e)}_ensureSourceFileInfo(e){let t=this._sourceInfoMap.get(e);return t||(t=this._createSourceFileInfo(e),this._sourceInfoMap.set(e,t)),t}async _onFileParsed(e){if(!this._isPythonOrNotebookUri(e.uri))return void this.console.warn(`[ExternalProgram] _onFileParsed called with non-Python file: ${e.uri}. This indicates the upstream filter in changedWatchedFiles was bypassed.`);let t=this._ensureSourceFileInfo(e.uri);t&&t.recomputeImports()}_createSourceFileInfo(e){if(this._hasSourceFileInfo(e))return this._sourceInfoMap.get(e);let t=this._getFileInfo(e),i=new gV(e,()=>{var t;return(null==(t=this._parserService.getParseResults(e))?void 0:t.text)||""},oy.isNotebookCell(e)?sA.Bk.CellDocs:sA.Bk.None,void 0,this._parserService.getFileVersion(e),t.isTypeshedFile,t.isThirdPartyImport,this._parserService.isOpen(e),this.owns(e),t.isPyTypedPresent,()=>{var t;return(null==(t=this._parserService.getParseResults(e))?void 0:t.parserOutput.hasTypeAnnotations)||!1},t.isStubFile,()=>this._refreshSourceFileImports(e));return this._sourceInfoMap.set(e,i),i}async _refreshSourceFileImports(e){let t=this._parserService.getParseResults(e);t&&await lf(()=>this,async(i,r)=>{let n=this._sourceInfoMap.get(e);return n||(n=this._createSourceFileInfo(e),this._sourceInfoMap.set(e,n)),await this._updateSourceFileInfo(n,t,i),!1},()=>!1,ad.CancellationToken.None)}_getExecEnv(){var e;let t=null==(e=this._configOptions)?void 0:e.getExecutionEnvironments().find(e=>e.root&&e.root.isChild(this._rootUri));return null!=t?t:this._configOptions.getDefaultExecEnvironment()}async _computeImports(e,t,i,r){let n,a=[],s=async(t,i=!1)=>{let n=await this.resolveImport(e,{leadingDots:0,nameParts:t,importedSymbols:void 0},r,ad.CancellationToken.None);if((!i||n)&&n&&!n.equals(e))return a.push(n),n};for(let o of(t&&!e.hasExtension(".pyi")&&(n=await s(["__builtins__"],!0)),n||(n=await s(["builtins"])),i.parserOutput.importedModules)){let t=await this.resolveImport(e,{leadingDots:o.leadingDots,nameParts:o.nameParts,importedSymbols:o.importedSymbols},r,ad.CancellationToken.None);t&&!t.equals(e)&&a.push(t);let i={importName:o.nameParts.join("."),isImportFound:!!t,isRelative:o.leadingDots>0,isPartlyResolved:!1,isNamespacePackage:!1,isInitFilePresent:!1,isStubPackage:(null==t?void 0:t.hasExtension(".pyi"))||!1,importType:aD.U.ThirdParty,isNativeLib:!1,isStubFile:!!t&&t.hasExtension(".pyi"),resolvedUris:t?[t]:[]};o.nameParts.length===o.nameNode.d.nameParts.length?ax.qz(o.nameNode,i):((0,n6.vA)(o.nameParts.length>0),(0,n6.vA)(o.nameParts.length-1<o.nameNode.d.nameParts.length),ax.qz(o.nameNode.d.nameParts[o.nameParts.length-1],i))}return n&&a.splice(0,0,n),a}_getFileInfo(e){let t=!e.isChild(this._rootUri),i=e.pathIncludes("typeshed")||e.pathIncludes("stubs"),r=e.getDirectory().pytypedUri;return{isThirdPartyImport:t,isTypeshedFile:i,isThirdPartyTypeshedFile:i&&t,isStdlibTypeshedFile:i&&!t,isPyTypedPresent:this.fileSystem.existsSync(r),isStubFile:e.hasExtension(".pyi")||e.pathIncludes("stubs"),isNativeLib:gJ.some(t=>t===e.lastExtension)}}async _startTypeProviderService(e,t){var i;if(!this._typeProviderServicePromise||!(null==(i=this._lastTypeServerExecutable)?void 0:i.equals(e))){this._lastTypeServerExecutable=e;let i=this.serviceProvider.get(nM.clientCapabilities);this._typeProviderServicePromise=this._typeProviderServiceFactory.createTypeProviderService([this._getWorkspaceFolder()],i,e,t).then(e=>(this._typeProviderService=e,e))}}_getWorkspaceFolder(){return{uri:this._rootUri.toString(),name:this._workspaceName}}_isImportAllowed(e){var t,i;let r=this._getFileInfo(e);if(r.isNativeLib)return!1;let n=(null==(t=this._configOptions)?void 0:t.useLibraryCodeForTypes)||r.isThirdPartyImport&&!r.isPyTypedPresent||!r.isThirdPartyImport&&r.isPyTypedPresent;return!r.isThirdPartyImport||((null==(i=this._configOptions)?void 0:i.useLibraryCodeForTypes)&&(n=!0),!!r.isStubFile)||n}async _updateSourceFileInfo(e,t,i){let r=await this._getTypeProviderService(),n=null==r?void 0:r.getLastDocumentDiagnosticsResultId(e.uri),a=0;try{a=parseInt(null!=n?n:"0")}catch{a=0}e.diagnosticsVersion=a;let s=await this._computeImports(e.uri,this.owns(e.uri),t,i),o=new ar.Z;if(e.chainedSourceFile&&this._hasSourceFileInfo(e.chainedSourceFile.uri)){let t=e.chainedSourceFile.uri;o.set(t,t)}s.forEach(e=>{e&&!e.isEmpty()&&this._isImportAllowed(e)&&o.set(e,e)});let l=new ar.Z;e.imports.forEach(t=>{let i=t.uri;o.has(i)?l.set(i,t):t.importedBy=t.importedBy.filter(t=>!t.uri.equals(e.uri))});let d=[...o.values()];for(let t of d)if(!l.has(t)){let i=this.getSourceFileInfo(t);i||(i=this._createSourceFileInfo(t),this._sourceInfoMap.set(t,i)),null==i||i.importedBy.push(e),l.set(t,i)}let u=[];d.forEach(e=>{let t=this.getSourceFileInfo(e);t&&u.push(t)}),u.length===e.imports.length&&u.every(t=>e.imports.includes(t))||(e.imports=u)}_cleanupAddedStubs(){this._addedStubs.forEach((e,t)=>{this._parserService.setFileClosed(t)}),this._addedStubs.clear()}constructor(e,t,i,r,n){gH(this,"_rootUri",void 0),gH(this,"_workspaceName",void 0),gH(this,"_configOptions",void 0),gH(this,"_typeProviderServiceFactory",void 0),gH(this,"serviceProvider",void 0),gH(this,"_id",void 0),gH(this,"_parserService",void 0),gH(this,"_binder",void 0),gH(this,"_typeProviderServicePromise",void 0),gH(this,"_pendingUpdatePromises",void 0),gH(this,"_lastTypeServerExecutable",void 0),gH(this,"_typeProviderService",void 0),gH(this,"_sourceInfoMap",void 0),gH(this,"_snapshotEmitter",void 0),gH(this,"_currentSnapshot",void 0),gH(this,"_asyncEvaluator",void 0),gH(this,"_addedStubs",void 0),gH(this,"_currentDepth",void 0),gH(this,"_importCache",void 0),gH(this,"_userFileCacheKeys",void 0),gH(this,"_cachedPythonSearchPaths",void 0),gH(this,"_inEditMode",void 0),this._rootUri=e,this._workspaceName=t,this._configOptions=i,this._typeProviderServiceFactory=r,this.serviceProvider=n,this._pendingUpdatePromises=[],this._lastTypeServerExecutable=n4.z.empty(),this._sourceInfoMap=new ar.Z,this._snapshotEmitter=iR.create(),this._currentSnapshot=iE.InvalidHandle,this._addedStubs=new ar.Z,this._currentDepth=0,this._importCache=new Map,this._userFileCacheKeys=new Set,this._inEditMode=!1,this._id=`AsyncProgram-${gY.idCounter++}`,this._parserService=new h9(this.fileSystem,n.get(n7.y.caseSensitivityDetector),this._configOptions,n),this._parserService.changed(this._onFileParsed.bind(this)),this._binder=new gj(this._parserService,this)}}gH(gY,"idCounter",0);class gQ{onRequest(e,t){return nZ.Disposable.create(()=>{})}onNotification(e,t){return nZ.Disposable.create(()=>{})}async sendRequest(e,t,i){var r;let{port1:n,port2:a}=new nV.MessageChannel,s=TC(n,{deserializer:al,dataHandler:{handle:e=>!1,process:e=>{if(null==i?void 0:i.isCancellationRequested)throw a.close(),n.close(),Error("Request cancelled");return e}}});null==(r=this._foregroundPort)||r.postMessage({requestType:"typeServerRequest",data:ao({method:e,params:t,jsonrpc:"2.0"}),responsePort:a},[a]);let o=await s;return a.close(),n.close(),o}sendNotification(e,t){var i;null==(i=this._foregroundPort)||i.postMessage({requestType:"typeServerNotification",data:ao({method:e,params:t||{},jsonrpc:"2.0"})})}constructor(e){var t,i;i=void 0,(t="_foregroundPort")in this?Object.defineProperty(this,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):this[t]=i,this._foregroundPort=e}}var gX=i(16041);function gZ(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class g0{}class g1 extends g0{}class g5{createTask(e,t,i){let r=this._taskMap[t];if(r)return new r(e,i);throw Error(`Unsupported notification task kind: ${t}`)}canHandle(e){return Object.prototype.hasOwnProperty.call(this._taskMap,e)}constructor(){gZ(this,"_taskMap",{setImportResolver:g4,setConfigOptions:g3,setTrackedFiles:g8,setAllowedThirdPartyImports:g2,setFileOpened:g6,setFileClosed:g7,startWorkspaceDiagnostics:g9,stopWorkspaceDiagnostics:fe,updateChainedFileUri:ft,addInterimFile:fi,markAllFilesDirty:fr,markFilesDirty:fn,setIndexOptions:fa,setNotebookData:fs,syncPthCache:fo,setExperimentOptions:fl,ensurePartialStubPackages:fd,invalidateAndForceReanalysis:fu,shutdown:fp,restart:fc,cacheUsageBuffer:fh,lspNotification:fm,lspNotificationBatch:fy,typeServerRequest:fg})}}class g4 extends g1{async run(e){var t;(0,n8.Lj)(e.token);let i=this._state.program.serviceProvider.tryGet(nM.hostFactory),r=null!=(t=this._hostKind)?t:dC.n.LimitedAccess,n=i?()=>i.createHost(r):()=>gu.createHost(r,this._state.program.serviceProvider);this._state.importResolver=g_(this._state.program.serviceProvider,this._state.configOptions,n(),this._state.telemetry),this._state.program.setImportResolver(this._state.importResolver)}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_hostKind",void 0),this._state=e,this._hostKind=t}}class g3 extends g1{async run(e){(0,n8.Lj)(e.token),f_(this._state),this._state.configOptions=this._configOptions,this._state.importResolver=g_(this._state.program.serviceProvider,this._configOptions,this._state.importResolver.host,this._state.telemetry),this._state.program.setConfigOptions(this._configOptions),this._state.program.setImportResolver(this._state.importResolver),this._state.externalProgram.setConfigOptions(this._configOptions)}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_configOptions",void 0),this._state=e,this._configOptions=t}}class g8 extends g1{async run(e){(0,n8.Lj)(e.token),this._trackedFiles.forEach(e=>fv(this._state,e,!0));let t=this._state.program.setTrackedFiles(this._trackedFiles);ff(this._state,t,this._state.program.getFilesToAnalyzeCount(),0)}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_trackedFiles",void 0),this._state=e,this._trackedFiles=t}}class g2 extends g1{async run(e){(0,n8.Lj)(e.token),this._state.program.setAllowedThirdPartyImports(this._importNames)}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_importNames",void 0),this._state=e,this._importNames=t}}class g6 extends g1{async run(e){var t,i,r,n,a;(0,n8.Lj)(e.token),this._state.openFiles.add(this._params.fileUri.key),this._state.fileOpenedSinceLastTelemetry||(this._state.startupDuration&&0===this._state.startupTelemetry.preSetFileOpenMs&&(this._state.startupTelemetry.preSetFileOpenMs=null==(n=this._state.startupDuration)?void 0:n.getDurationInMilliseconds()),this._state.startupDuration=new of.dw,this._state.fileOpenedSinceLastTelemetry=!0),fv(this._state,this._params.fileUri,!0),this._state.program.setFileOpened(this._params.fileUri,this._params.version,this._params.contents,this._params.options?{...this._params.options,chainedFileUri:n4.z.fromJsonObj(null==(t=this._params.options)?void 0:t.chainedFileUri)}:void 0),this._state.externalProgram.setFileOpened(this._params.fileUri,this._params.version,this._params.contents,this._params.options?n4.z.fromJsonObj(null==(i=this._params.options)?void 0:i.chainedFileUri):void 0);let s=this._state.program.serviceProvider.tryGet(nM.textDocumentTracker);(null==(r=this._params.options)?void 0:r.changedRange)&&this._params.version&&(null==s||s.onDidOpenTextDocument(this._params.fileUri,this._params.version,null==(a=this._params.options)?void 0:a.changedRange))}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_params",void 0),this._state=e,this._params=t}}class g7 extends g1{async run(e){var t;(0,n8.Lj)(e.token),this._state.openFiles.delete(this._params.fileUri.key),fv(this._state,this._params.fileUri,!0);let i=this._state.program.setFileClosed(this._params.fileUri,this._params.isTracked);ff(this._state,i,this._state.program.getFilesToAnalyzeCount(),0),this._state.externalProgram.setFileClosed(this._params.fileUri),null==(t=this._state.program.serviceProvider.tryGet(nM.textDocumentTracker))||t.onDidCloseTextDocument(this._params.fileUri)}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_params",void 0),this._state=e,this._params=t}}class g9 extends g1{async run(e){return await this._state.externalProgram.startWorkspaceDiagnostics(this._params.partialResultToken)}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_params",void 0),this._state=e,this._params=t}}class fe extends g1{async run(e){return await this._state.externalProgram.stopWorkspaceDiagnostics()}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_params",void 0),this._state=e,this._params=t}}class ft extends g1{async run(e){(0,n8.Lj)(e.token),this._state.program.updateChainedUri(this._params.fileUri,this._params.chainedUri),this._state.externalProgram.updateChainedUri(this._params.fileUri,this._params.chainedUri)}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_params",void 0),this._state=e,this._params=t}}class fi extends g1{async run(e){(0,n8.Lj)(e.token),this._state.program.addInterimFile(this._fileUri),this._state.externalProgram.addInterimFile(this._fileUri)}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_fileUri",void 0),this._state=e,this._fileUri=t}}class fr extends g1{async run(e){(0,n8.Lj)(e.token),this._state.indexTracker.clearAll(),this._state.program.markAllFilesDirty(this._evenIfContentsAreSame),this._state.externalProgram.markAllFilesDirty()}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_evenIfContentsAreSame",void 0),this._state=e,this._evenIfContentsAreSame=t}}class fn extends g1{async run(e){(0,n8.Lj)(e.token),this._params.fileUris.forEach(e=>fv(this._state,e,!0)),this._state.program.markFilesDirty(this._params.fileUris,this._params.evenIfContentsAreSame),this._state.externalProgram.markFilesDirty(this._params.fileUris)}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_params",void 0),this._state=e,this._params=t}}class fa extends g1{async run(e){var t,i,r;if((0,n8.Lj)(e.token),(null==(t=null==(r=this._state.indexOptions)?void 0:r.followSymlinkedFolders)||t)!==(null==(i=this._indexOptions.followSymlinkedFolders)||i)){let e=this._state.program.serviceProvider.get(nM.globalIndices).getIndices(this._state.program);this._state.indexTracker.clearAll(),e.clearWorkspaceIndices()}this._state.indexOptions=this._indexOptions}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_indexOptions",void 0),this._state=e,this._indexOptions=t}}class fs extends g1{async run(e){(0,n8.Lj)(e.token);let t=this._state.program.serviceProvider.tryGet(n7.y.debugInfoInspector);if(t){let e={kind:this._params.kind,fileUri:this._params.fileUri,data:this._params.data};t.setNotebookData(e)}}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_params",void 0),this._state=e,this._params=t}}class fo extends g1{async run(e){(0,n8.Lj)(e.token);let t=this._state.program.serviceProvider.tryGet(nM.pthService);t&&t.handleUpdate&&(t.handleUpdate(this._params),this._state.program.emptyCache(),this._state.program.markAllFilesDirty(!0),this._state.externalProgram.markAllFilesDirty())}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_params",void 0),this._state=e,this._params=t}}class fl extends g1{async run(e){var t,i,r,n,a;(0,n8.Lj)(e.token),(0,ov.it)(!!this._params.settings.displayEnglishDiagnostics),this._state.program.serviceProvider.add(nM.clientCapabilities,this._params.clientCapabilities),hb(this._state.program.serviceProvider,this._params.settings,this._state.program),hS(this._state.program.serviceProvider,this._params.settings,()=>this._state.enableAsyncProgram&&this._state.enableExternalTypeServer?this._state.externalProgram:cl(this._state.program)),null==(n=this._state.program.serviceProvider.tryGet(n7.y.stateMutationListeners))||n.forEach(e=>{var t;return null==(t=e.onUpdateSettings)?void 0:t.call(e,this._params.settings)});let s=this._state.program.serviceProvider.console();s instanceof Tk&&(s.level=a_?n1.$b.Log:null!=(a=this._params.settings.logLevel)?a:n1.$b.Info),this._state.enableMangleName=null!=(t=this._params.settings.enableMangleName)&&t,this._state.enableAsyncProgram=null!=(i=this._params.settings.enableAsyncProgram)&&i,this._state.enableExternalTypeServer=null!=(r=this._params.settings.enableExternalTypeServer)&&r,this._state.externalProgram.updateSettings(this._params.settings)}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_params",void 0),this._state=e,this._params=t}}class fd extends g1{async run(e){(0,n8.Lj)(e.token);let t=this._state.configOptions.getExecutionEnvironments().find(e=>{var t;return(null==(t=e.root)?void 0:t.toString())===this._executionRoot});t&&this._state.importResolver.ensurePartialStubPackages(t)}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_executionRoot",void 0),this._state=e,this._executionRoot=t}}class fu extends g1{async run(e){var t;if((0,n8.Lj)(e.token),this._reason===gX.q.SourceWatcherChanged&&(null==(t=this._state.indexOptions)?void 0:t.includeAliasesFromUserFiles)){let e=this._state.program.serviceProvider.get(nM.globalIndices).getIndices(this._state.program);this._state.indexTracker.clearAll(),e.clearWorkspaceIndices()}this._state.importResolver.invalidateCache(),this._state.program.markAllFilesDirty(!0),this._state.externalProgram.markAllFilesDirty()}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_reason",void 0),this._state=e,this._reason=t}}class fp extends g1{async run(e){var t,i;(0,n8.Lj)(e.token),this._state.program.dispose(),this._state.program.serviceProvider.dispose(),this._state.externalProgram.dispose();let r=this._state.program.serviceProvider.tryGet(nM.typeProviderServiceFactory);await (null==r||null==(t=r.current)?void 0:t.shutdown()),null==(i=this._state.foregroundPort)||i.close()}constructor(e){super(),gZ(this,"_state",void 0),this._state=e}}class fc extends g1{async run(e){(0,n8.Lj)(e.token),f_(this._state),this._state.importResolver=g_(this._state.program.serviceProvider,this._state.configOptions,this._state.importResolver.host,this._state.telemetry),this._state.program.setImportResolver(this._state.importResolver)}constructor(e){super(),gZ(this,"_state",void 0),this._state=e}}class fh extends g1{async run(e){var t;(0,n8.Lj)(e.token),null==(t=this._state.program.serviceProvider.cacheManager())||t.handleCachedUsageBufferMessage({requestType:"cacheUsageBuffer",sharedUsageBuffer:this._params.sharedUsageBuffer,data:this._params.data})}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_params",void 0),this._state=e,this._params=t}}class fm extends g1{async run(e){(0,n8.Lj)(e.token);let t=this._state.program.serviceProvider.tryGet(nM.messageTracker);t&&t.onMessage(this._params)}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_params",void 0),this._state=e,this._params=t}}class fy extends g1{async run(e){(0,n8.Lj)(e.token);let t=this._state.program.serviceProvider.tryGet(nM.messageTracker);if(t)for(let e of this._params)t.onMessage(e)}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_params",void 0),this._state=e,this._params=t}}class fg extends g1{async run(e){(0,n8.Lj)(e.token)}constructor(e,t){super(),gZ(this,"_state",void 0),gZ(this,"_params",void 0),this._state=e,this._params=t}}function ff(e,t,i,r){var n,a;e.foregroundPort&&(n=e.foregroundPort,(a={diagnostics:t,filesInProgram:e.program.getFileCount(),requiringAnalysisCount:i,checkingOnlyOpenFiles:e.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:r,reason:"tracking"}).diagnosticsSeen=l_(a.diagnostics),n.postMessage({requestType:"analysisResult",data:ao(a)}))}function fv(e,t,i){let r=e.program.getSourceFileInfo(t);if(r){var n;e.indexTracker.set(r,!i),i&&(null==(n=e.indexOptions)?void 0:n.includeAliasesFromUserFiles)&&function e(t,i,r){let n=i.uri;r.has(n.key)||(t.indexTracker.set(i,!1),r.add(n.key),i.importedBy.forEach(i=>{e(t,i,r)}))}(e,r,new Set)}}function f_(e){e.startupDuration=new of.dw,e.analysisDuration=void 0,e.fileOpenedSinceLastTelemetry=!1,e.startupTelemetry=TP()}var fT=i(77397);function fw(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class fb extends aE.gw{collects(){return(0,n8.Lj)(this._cancellationToken),this.walk(this._parseResults.parserOutput.parseTree),this._codeLenses}visitFunction(e){return(0,n8.Lj)(this._cancellationToken),e.d.name&&this._addCodeLens(e.d.name),!0}visitClass(e){return(0,n8.Lj)(this._cancellationToken),e.d.name&&this._addCodeLens(e.d.name),!0}_addCodeLens(e){try{let t=(0,aW.er)(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines),i={range:t,data:this._createItemData(t.start)};this._codeLenses.push(i)}catch(e){}}_createItemData(e){return(0,o5.Nt)({fileUri:this._fileUri.toString(),position:e})}constructor(e,t,i){super(),fw(this,"_program",void 0),fw(this,"_fileUri",void 0),fw(this,"_cancellationToken",void 0),fw(this,"_parseResults",void 0),fw(this,"_codeLenses",void 0),this._program=e,this._fileUri=t,this._cancellationToken=i,this._codeLenses=[],this._parseResults=this._program.getParseResults(this._fileUri)}}var fS=i(60184),fk=i(74533),fI=i(46156),fC=i(37896);class fP{visit(e){switch(e.nodeType){case aO.ye.Error:return this.visitError(e);case aO.ye.Argument:return this.visitArgument(e);case aO.ye.Assert:return this.visitAssert(e);case aO.ye.AssignmentExpression:return this.visitAssignmentExpression(e);case aO.ye.Assignment:return this.visitAssignment(e);case aO.ye.AugmentedAssignment:return this.visitAugmentedAssignment(e);case aO.ye.Await:return this.visitAwait(e);case aO.ye.BinaryOperation:return this.visitBinaryOperation(e);case aO.ye.Break:return this.visitBreak(e);case aO.ye.Call:return this.visitCall(e);case aO.ye.Case:return this.visitCase(e);case aO.ye.Class:return this.visitClass(e);case aO.ye.Comprehension:return this.visitComprehension(e);case aO.ye.ComprehensionFor:return this.visitComprehensionFor(e);case aO.ye.ComprehensionIf:return this.visitComprehensionIf(e);case aO.ye.Constant:return this.visitConstant(e);case aO.ye.Continue:return this.visitContinue(e);case aO.ye.Decorator:return this.visitDecorator(e);case aO.ye.Del:return this.visitDel(e);case aO.ye.Dictionary:return this.visitDictionary(e);case aO.ye.DictionaryExpandEntry:return this.visitDictionaryExpandEntry(e);case aO.ye.DictionaryKeyEntry:return this.visitDictionaryKeyEntry(e);case aO.ye.Ellipsis:return this.visitEllipsis(e);case aO.ye.If:return this.visitIf(e);case aO.ye.Import:return this.visitImport(e);case aO.ye.ImportAs:return this.visitImportAs(e);case aO.ye.ImportFrom:return this.visitImportFrom(e);case aO.ye.ImportFromAs:return this.visitImportFromAs(e);case aO.ye.Index:return this.visitIndex(e);case aO.ye.Except:return this.visitExcept(e);case aO.ye.For:return this.visitFor(e);case aO.ye.FormatString:return this.visitFormatString(e);case aO.ye.Function:return this.visitFunction(e);case aO.ye.FunctionAnnotation:return this.visitFunctionAnnotation(e);case aO.ye.Global:return this.visitGlobal(e);case aO.ye.Lambda:return this.visitLambda(e);case aO.ye.List:return this.visitList(e);case aO.ye.Match:return this.visitMatch(e);case aO.ye.MemberAccess:return this.visitMemberAccess(e);case aO.ye.ModuleName:return this.visitModuleName(e);case aO.ye.Module:return this.visitModule(e);case aO.ye.Name:return this.visitName(e);case aO.ye.Nonlocal:return this.visitNonlocal(e);case aO.ye.Number:return this.visitNumber(e);case aO.ye.Parameter:return this.visitParameter(e);case aO.ye.Pass:return this.visitPass(e);case aO.ye.PatternAs:return this.visitPatternAs(e);case aO.ye.PatternClass:return this.visitPatternClass(e);case aO.ye.PatternClassArgument:return this.visitPatternClassArgument(e);case aO.ye.PatternCapture:return this.visitPatternCapture(e);case aO.ye.PatternLiteral:return this.visitPatternLiteral(e);case aO.ye.PatternMappingExpandEntry:return this.visitPatternMappingExpandEntry(e);case aO.ye.PatternMappingKeyEntry:return this.visitPatternMappingKeyEntry(e);case aO.ye.PatternMapping:return this.visitPatternMapping(e);case aO.ye.PatternSequence:return this.visitPatternSequence(e);case aO.ye.PatternValue:return this.visitPatternValue(e);case aO.ye.Raise:return this.visitRaise(e);case aO.ye.Return:return this.visitReturn(e);case aO.ye.Set:return this.visitSet(e);case aO.ye.Slice:return this.visitSlice(e);case aO.ye.StatementList:return this.visitStatementList(e);case aO.ye.StringList:return this.visitStringList(e);case aO.ye.String:return this.visitString(e);case aO.ye.Suite:return this.visitSuite(e);case aO.ye.Ternary:return this.visitTernary(e);case aO.ye.Tuple:return this.visitTuple(e);case aO.ye.Try:return this.visitTry(e);case aO.ye.TypeAlias:return this.visitTypeAlias(e);case aO.ye.TypeAnnotation:return this.visitTypeAnnotation(e);case aO.ye.TypeParameter:return this.visitTypeParameter(e);case aO.ye.TypeParameterList:return this.visitTypeParameterList(e);case aO.ye.UnaryOperation:return this.visitUnaryOperation(e);case aO.ye.Unpack:return this.visitUnpack(e);case aO.ye.While:return this.visitWhile(e);case aO.ye.With:return this.visitWith(e);case aO.ye.WithItem:return this.visitWithItem(e);case aO.ye.Yield:return this.visitYield(e);case aO.ye.YieldFrom:return this.visitYieldFrom(e);default:n6.xb(e,`Unknown node type ${e}`)}}visitArgument(e){return this._default}visitAssert(e){return this._default}visitAssignment(e){return this._default}visitAssignmentExpression(e){return this._default}visitAugmentedAssignment(e){return this._default}visitAwait(e){return this._default}visitBinaryOperation(e){return this._default}visitBreak(e){return this._default}visitCall(e){return this._default}visitCase(e){return this._default}visitClass(e){return this._default}visitComprehension(e){return this._default}visitComprehensionFor(e){return this._default}visitComprehensionIf(e){return this._default}visitContinue(e){return this._default}visitConstant(e){return this._default}visitDecorator(e){return this._default}visitDel(e){return this._default}visitDictionary(e){return this._default}visitDictionaryKeyEntry(e){return this._default}visitDictionaryExpandEntry(e){return this._default}visitError(e){return this._default}visitEllipsis(e){return this._default}visitIf(e){return this._default}visitImport(e){return this._default}visitImportAs(e){return this._default}visitImportFrom(e){return this._default}visitImportFromAs(e){return this._default}visitIndex(e){return this._default}visitExcept(e){return this._default}visitFor(e){return this._default}visitFormatString(e){return this._default}visitFunction(e){return this._default}visitFunctionAnnotation(e){return this._default}visitGlobal(e){return this._default}visitLambda(e){return this._default}visitList(e){return this._default}visitMatch(e){return this._default}visitMemberAccess(e){return this._default}visitModule(e){return this._default}visitModuleName(e){return this._default}visitName(e){return this._default}visitNonlocal(e){return this._default}visitNumber(e){return this._default}visitParameter(e){return this._default}visitPass(e){return this._default}visitPatternCapture(e){return this._default}visitPatternClass(e){return this._default}visitPatternClassArgument(e){return this._default}visitPatternAs(e){return this._default}visitPatternLiteral(e){return this._default}visitPatternMapping(e){return this._default}visitPatternMappingExpandEntry(e){return this._default}visitPatternMappingKeyEntry(e){return this._default}visitPatternSequence(e){return this._default}visitPatternValue(e){return this._default}visitRaise(e){return this._default}visitReturn(e){return this._default}visitSet(e){return this._default}visitSlice(e){return this._default}visitStatementList(e){return this._default}visitString(e){return this._default}visitStringList(e){return this._default}visitSuite(e){return this._default}visitTernary(e){return this._default}visitTuple(e){return this._default}visitTry(e){return this._default}visitTypeAlias(e){return this._default}visitTypeAnnotation(e){return this._default}visitTypeParameter(e){return this._default}visitTypeParameterList(e){return this._default}visitUnaryOperation(e){return this._default}visitUnpack(e){return this._default}visitWhile(e){return this._default}visitWith(e){return this._default}visitWithItem(e){return this._default}visitYield(e){return this._default}visitYieldFrom(e){return this._default}constructor(e){var t,i;i=void 0,(t="_default")in this?Object.defineProperty(this,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):this[t]=i,this._default=e}}class fx extends fP{async walk(e){let t=await this.visitNode(e);t.length>0&&await this.walkMultiple(t)}async walkMultiple(e){for(let t of e)t&&await this.walk(t)}async visitNode(e){return await this.visit(e)?(0,aE.iQ)(e):[]}constructor(){super(Promise.resolve(!0))}}function fF(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}async function fA(e,t,i,r,n,a,s){let o=e.getSourceFileInfo(r),l=null==i?void 0:i.getLibraryIndices(t.root),d=e.getSourceFileInfoList().filter(t=>t!==o&&(l?e.configOptions.indexing?(0,aR.xX)(t):void 0===l.get(t.uri):!e.configOptions.indexing||(0,aR.xX)(t))),u=new Map;return await lH(d,async t=>{t.shadows.length>0||function(e,t,i,r,n){if((0,n8.Lj)(n),!e)return!1;let a=t.uri,s=e.getSourceIndex(a);if(!s)return!1;let o=(0,aR.xX)(t);return!!s.privateOrProtected&&!o||(r.set(a.key,fU(s,!o,i)),!0)}(i,t,a,u,s)||await e.symbolLookup.getSymbolsForFile(t.uri)&&fE(e,t,n,a,u,s)}),a&&await fD(e,i,r,n,u,s),u}async function fD(e,t,i,r,n,a){(0,n8.Lj)(a);let s=e.getParseResults(i);if(s)for(let o of oZ(s,t,e.configOptions.findExecEnvironment(i).root,a)){if((0,n8.Lj)(a),n.has(o.key))continue;let t=e.getSourceFileInfo(o);t&&!(t.shadows.length>0)&&await e.symbolLookup.getSymbolsForFile(t.uri)&&fE(e,t,r,!0,n,a)}}function fE(e,t,i,r,n,a){(0,n8.Lj)(a);let s=t.uri,o=(0,ak.Qj)(s.fileName),l=aN.sQ(o),d=(0,aR.xX)(t);if(l&&!d)return;let u=e.getParseResults(t.uri);if(!u)return;let p=o6.indexSymbols(u,{indexingForAutoImportMode:!0,includeAliasesFromUserFiles:i,includeAllSymbols:!0},a);n.set(s.key,fU({uri:s,privateOrProtected:l,symbols:p},!d,r))}async function fR(e,t,i,r,n,a,s){var o,l;let d=e.getParseResults(t);if(!d)return[];let u=(0,aW.AP)(i,d.tokenizerOutput.lines);if(!u)return[];let p=(0,aL.gr)(d.parserOutput.parseTree,u.start);if(!p)return[];let c={...a,patternMatcher:null!=(o=a.patternMatcher)?o:(e,t)=>a2(e,t)>r},h=await fN(e,t,i.start,c,s);if(!h)return oX.log(`Auto import failed to initialize for ${t.toString()}`),[];let m=null!=(l=c.nameToSearch)?l:d.text.substr(u.start,u.length);return await fM(h,p,m,r,n,s)}async function fN(e,t,i,r,n){var a,s;let o=e.getParseResults(t);if(!o)return;let l=e.configOptions.findExecEnvironment(t),d=await e.getSnapshot(n),u=await e.getPythonSearchPaths(d,n),p=await fA(e,l,r.indices,t,null!=(a=r.includeAliasesFromUserFiles)&&a,null!=(s=r.allowDuplicatedAliases)&&s,n);return 0===p.size&&oX.log(`Auto import found no modules for ${t.toString()}`),new fO(e,l,o,i,new oJ.JB,p,r,u||[])}async function fM(e,t,i,r,n,a){let s=[],o=(0,sY.Yd)(t);if(o){let t=null==n?void 0:n.get(i);t&&(0,ap.af)(s,await e.getAutoImportCandidatesForAbbr(i,t,a));let l=await e.getAutoImportCandidates(i,r,void 0,a);s.push(...l.filter(e=>!o.lookUpSymbolRecursive(e.name)))}return s}class fO{async getAutoImportCandidates(e,t,i,r){let n=[];return(await this.getCandidates(e,t,i,r)).forEach(e=>(0,ap.af)(n,e)),n}async getAutoImportCandidatesForAbbr(e,t,i){let r=(await this.getCandidates(t.importName,1,e,i)).get(t.importName);return r?r.filter(e=>e.source===t.importFrom):[]}getPerfInfo(){return this._perfInfo.totalInMs=this._stopWatch.getDurationInMilliseconds(),this._perfInfo}getCompletionItemData(e){return oq.fromLSP(e).data}async getCandidates(e,t,i,r){let n=new Map,a=new Map;return this.addImportsFromModuleMap(e,t,i,a,n,r),this._addImportsFromLibraryMap(e,t,i,a,n,r),this.addImportsFromImportAliasMap(a,i,n,r),await this._applyDirectDependencyFilterIfApplicable(n),n}processModuleSymbolTable(e,t,i,r,n,a,s,o,l){(0,n8.Lj)(l);let[d,u,p]=this._getImportPartsForSymbols(t);if(!d)return;let c=sN.f7(d,".");for(let l of e.getSymbols()){var h;if(!this.shouldIncludeVariable(l,n.isStub))continue;let e=l.name;if(!this._isSimilar(i,e,r)||this._containsName(e,d,o))continue;if(l.importAlias){this._addToImportAliasMap(l.importAlias,{importParts:{symbolName:e,importName:e,importFrom:d,fileUri:t,dotCount:c,moduleNameAndType:p},importGroup:u,symbol:l.symbol,kind:l.importAlias.kind,itemKind:l.importAlias.itemKind,inDunderAll:l.inDunderAll,hasRedundantAlias:l.hasRedundantAlias,fileUri:l.importAlias.moduleUri},s);continue}let m=this.getNameForImportFrom(!n.isUserCode,t),y=this._getTextEditsForAutoImportByFilePath({name:e,alias:a},{name:d,nameForImportFrom:m},e,u,t);this._addResult(o,{name:e,alias:a,symbol:l.symbol,source:d,kind:null!=(h=l.itemKind)?h:(0,oH.kr)(l.kind),insertionText:y.insertionText,edits:y.edits,declUri:t,originalName:e,originalDeclUri:t})}if(!n.isStub&&!n.hasInit&&!n.isUserCode)return;let m=this._getImportParts(t);m&&this._isSimilar(i,m.importName,r)&&(this._containsName(m.importName,m.importFrom,o)||this._addToImportAliasMap({moduleUri:t,originalName:m.importName,kind:nZ.SymbolKind.Module,itemKind:nZ.CompletionItemKind.Module},{importParts:m,importGroup:u,kind:nZ.SymbolKind.Module,itemKind:nZ.CompletionItemKind.Module,fileUri:t},s))}getUriProperties(e,t){let i=t.getDirectory(),r=i.initPyUri,n=i.initPyiUri,a=t.hasExtension(".pyi"),s=e.has(r.key)||e.has(n.key),o=this.program.getSourceFileInfo(t);return{isStub:a,hasInit:s,isUserCode:(0,aR.xX)(o)}}addImportsFromModuleMap(e,t,i,r,n,a){let s=this._stopWatch.getDurationInMilliseconds();this.moduleSymbolMap.forEach((s,o)=>{let l=this.getUriProperties(this.moduleSymbolMap,s.uri);this.processModuleSymbolTable(s,s.uri,e,t,l,i,r,n,a)}),this._perfInfo.moduleTimeInMS=this._stopWatch.getDurationInMilliseconds()-s}addImportsFromImportAliasMap(e,t,i,r){let n=this._stopWatch.getDurationInMilliseconds();(0,n8.Lj)(r),e.forEach(e=>{e.forEach((e,r)=>{var n,a;if(t){if(this._importStatements.mapByFilePath.has(e.importParts.fileUri.key))return;if(e.importParts.importFrom){let t=this._importStatements.orderedImports.find(t=>t.moduleName===e.importParts.importFrom);if(t&&t.node.nodeType===aO.ye.ImportFrom&&t.node.d.imports.some(t=>t.d.name.d.value===e.importParts.symbolName))return}}if(this._containsName(e.importParts.importName,e.importParts.importFrom,i))return;let s=this._getTextEditsForAutoImportByFilePath({name:e.importParts.symbolName,alias:t},{name:null!=(n=e.importParts.importFrom)?n:e.importParts.importName},e.importParts.importName,e.importGroup,e.importParts.fileUri);this._addResult(i,{name:e.importParts.importName,alias:t,symbol:e.symbol,kind:null!=(a=e.itemKind)?a:(0,oH.kr)(e.kind),source:e.importParts.importFrom,insertionText:s.insertionText,edits:s.edits,declUri:e.importParts.fileUri,originalName:r,originalDeclUri:e.fileUri})})}),this._perfInfo.importAliasTimeInMS=this._stopWatch.getDurationInMilliseconds()-n}getNameForImportFrom(e,t){return"relative"!==this._pylanceOptions.importFormat||e?void 0:(0,oG.eM)(this.program.fileSystem,this._fileUri,t,this.program.configOptions)}compareImportAliasData(e,t){if(e.importGroup>=oG.vW.Local&&t.importGroup>=oG.vW.Local&&this._pylanceOptions.includeAliasesFromUserFiles||e.importGroup===oG.vW.ThirdParty&&t.importGroup===oG.vW.ThirdParty){let i=this._calculateRank(e)-this._calculateRank(t);if(0!==i)return i}let i=e.importGroup-t.importGroup;if(0!==i)return i;let r=e.importParts.dotCount-t.importParts.dotCount;return 0!==r?r:e.symbol&&!t.symbol?-1:!e.symbol&&t.symbol?1:sN.d4()(e.importParts.importName,t.importParts.importName)}shouldIncludeVariable(e,t){return!!(t||e.kind!==nZ.SymbolKind.Variable||aN.bK(e.name))||e.library||!!e.inDunderAll}get _pylanceOptions(){return this.options}async _applyDirectDependencyFilterIfApplicable(e){if(!this._pylanceOptions.allowOnlyDirectDependencies)return;let t=this._pythonSearchPaths,i=[];t=t.filter(e=>e.pathIncludes("typeshed/third_party")?(i.push(e),!1):!e.pathIncludes("typeshed/stdlib"));let r=this._pylanceOptions.allowOnlyDirectDependencies;for(let[a,s]of e)e.set(a,s.filter(e=>{if(!t.some(t=>e.originalDeclUri.startsWith(t))&&!i.some(t=>e.originalDeclUri.startsWith(t)))return!0;if(e.source){let t=n(e.source);return r.has(t)}if(e.name&&e.kind===nZ.CompletionItemKind.Module){let t=n(e.name);return r.has(t)}return!0}));function n(e){return e.split(".")[0]}}_calculateRank(e){return 3+("__init__"===e.importParts.fileUri.fileNameWithoutExtensions?-1:0)+(e.inDunderAll?-1:0)+(e.hasRedundantAlias?-1:0)}_addImportsFromLibraryMap(e,t,i,r,n,a){var s;let o=this._stopWatch.getDurationInMilliseconds();this._libraryMap&&0!==this._libraryMap.size||oX.log("No library map is available for auto import."),null==(s=this._libraryMap)||s.forEach((s,o)=>{var l;if(s.privateOrProtected||this.moduleSymbolMap.has(o.key))return;let d={isStub:s.uri.hasExtension(".pyi"),hasInit:this._hasInit(s.uri),isUserCode:!1};this.processModuleSymbolTable(fU(s,!0,null!=(l=this._pylanceOptions.allowDuplicatedAliases)&&l),s.uri,e,t,d,i,r,n,a)}),this._perfInfo.indexTimeInMS=this._stopWatch.getDurationInMilliseconds()-o}_hasInit(e){var t,i;let r=e.getDirectory(),n=r.initPyUri,a=r.initPyiUri;return(null==(t=this._libraryMap)?void 0:t.has(n))||(null==(i=this._libraryMap)?void 0:i.has(a))||!1}_addToImportAliasMap(e,t,i){if(!i.has(e.moduleUri.key)){let r=new Map;r.set(e.originalName,t),i.set(e.moduleUri.key,r);return}let r=i.get(e.moduleUri.key);if(!r.has(e.originalName))return void r.set(e.originalName,t);let n=r.get(e.originalName);0>=this.compareImportAliasData(n,t)||r.set(e.originalName,t)}_getImportPartsForSymbols(e){let t=this._importStatements.mapByFilePath.get(e.key);if(t)return[t.moduleName,(0,oG.xg)(t),{importType:aD.U.Local,isLocalTypingsFile:!1,moduleName:t.moduleName}];{let t=this._getModuleNameAndTypeFromFilePath(e);return[t.moduleName,(0,oG.x$)(t),t]}}_getImportParts(e){if("__init__"===(0,ak.Qj)(e.fileName))return t(this._getModuleNameAndTypeFromFilePath(e.getDirectory()));return t(this._getModuleNameAndTypeFromFilePath(e));function t(t){let i=t.moduleName;if(!i)return;let r=i.lastIndexOf("."),n=r>0?i.substring(r+1):void 0,a=r>0?i.substring(0,r):void 0;return{symbolName:n,importName:null!=n?n:i,importFrom:a,fileUri:e,dotCount:sN.f7(i,"."),moduleNameAndType:t}}}_isSimilar(e,t,i){if(1===i)return e===t;if(e.length<=0||t.length<=0)return!1;if(!this.options.patternMatcher){let i=+("_"!==e[0]&&"_"===t[0]&&t.length>1);return e[0].toLocaleLowerCase()===t[i].toLocaleLowerCase()&&sN.OP(e,t)}return this.options.patternMatcher(e,t)}_shouldExclude(e){return this.excludes.has(e,e=>oJ.JB.labelOnlyIgnoringAutoImports(e,this.getCompletionItemData.bind(this)))}_containsName(e,t,i){if(this._shouldExclude(e))return!0;let r=i.get(e);return null!=r&&!!r.some(e=>e.source===t)}_getModuleNameAndTypeFromFilePath(e){return sc(this.program.configOptions,e,this._pythonSearchPaths)}_getTextEditsForAutoImportByFilePath(e,t,i,r,n){var a,s,o,l,d,u,p,c,h;let m=this._importStatements.mapByFilePath.get(n.key);if(m){if(m.node.nodeType===aO.ye.Import){let t=null==(o=m.subnode)||null==(s=o.d.alias)?void 0:s.d.value;if(e.name)return{insertionText:`${null!=t?t:m.moduleName}.${e.name}`,edits:[]};if(t)return{insertionText:`${t}`,edits:[]}}if(e.name&&m.node.nodeType===aO.ye.ImportFrom&&!m.node.d.isWildcardImport){let r=m.node.d.imports.find(t=>t.d.name.d.value===e.name);if(r){let t=null==(l=r.d.alias)?void 0:l.d.value;return{insertionText:`${null!=t?t:e.name}`,edits:[]}}if(t.name===m.moduleName)return{insertionText:null!=(d=e.alias)?d:i,edits:this.options.lazyEdit?void 0:(0,oG.Ek)(e,m,this.parseResults)}}}else if(e.name){let r=this._importStatements.orderedImports.find(e=>e.moduleName===t.name);if(r&&r.node.nodeType===aO.ye.ImportFrom&&!r.node.d.isWildcardImport){let t=r.node.d.imports.find(t=>t.d.name.d.value===e.name);if(!t)return{insertionText:null!=(c=e.alias)?c:i,edits:this.options.lazyEdit?void 0:(0,oG.Ek)(e,r,this.parseResults)};{let e=null==(p=t.d.alias)?void 0:p.d.value;if(e)return{insertionText:`${e}`,edits:[]}}}let a=null==(u=this._importStatements.implicitImports)?void 0:u.get(n.key);if(a){let t=null==(h=a.d.alias)?void 0:h.d.value;return{insertionText:`${null!=t?t:a.d.name.d.value}.${e.name}`,edits:[]}}}return{insertionText:null!=(a=e.alias)?a:i,edits:this.options.lazyEdit?void 0:(0,oG.tH)(e,t,this._importStatements,r,this.parseResults,this.invocationPosition)}}_addResult(e,t){let i=e.get(t.name);i||(i=[],e.set(t.name,i)),i.push(t)}constructor(e,t,i,r,n,a,s,o){var l;fF(this,"program",void 0),fF(this,"execEnvironment",void 0),fF(this,"parseResults",void 0),fF(this,"invocationPosition",void 0),fF(this,"excludes",void 0),fF(this,"moduleSymbolMap",void 0),fF(this,"options",void 0),fF(this,"_pythonSearchPaths",void 0),fF(this,"_fileUri",void 0),fF(this,"_libraryMap",void 0),fF(this,"_stopWatch",void 0),fF(this,"_perfInfo",void 0),fF(this,"_importStatements",void 0),this.program=e,this.execEnvironment=t,this.parseResults=i,this.invocationPosition=r,this.excludes=n,this.moduleSymbolMap=a,this.options=s,this._pythonSearchPaths=o,this._stopWatch=new of.dw,this._perfInfo={indexUsed:!1,totalInMs:0,moduleTimeInMS:0,indexTimeInMS:0,importAliasTimeInMS:0,symbolCount:0,indexCount:0,importAliasCount:0},this._libraryMap=null==(l=this._pylanceOptions.indices)?void 0:l.getLibraryIndices(t.root),this._fileUri=(0,ax.R8)(this.parseResults.parserOutput.parseTree).fileUri,this._perfInfo.indexUsed=!!this._pylanceOptions.indices,this._importStatements=(0,oG.AG)(this.parseResults.parserOutput.parseTree,!0)}}function fU(e,t,i){return{uri:e.uri,*getSymbols(){for(let r of e.symbols){if(!(0,oY.Lq)(r,oY.KL.ExternallyVisible))continue;let e=(0,oY.Lq)(r,oY.KL.InDunderAll),n=(0,oY.Lq)(r,oY.KL.RedundantAlias),a=i?void 0:r.alias;yield{name:r.name,library:t,importAlias:a,kind:r.kind,itemKind:r.itemKind,inDunderAll:e,hasRedundantAlias:n}}}}}function fL(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class fz{async collectImportsForSymbolsUsed(e,t,i){var r;e=(r=e)&&r.parseTree&&r.importedModules&&r.futureImports&&void 0!==r.containsWildcardImport&&r.typingSymbolAliases?e.parseTree:e,t=(0,n2.cy)(t)?t:[t];let n=new fW(this._evaluator,e,t,{...this.options,pep604:this._program.configOptions.diagnosticRuleSet.pep604Printing},i);return await n.collect(e),this._updateImportData({containsUnreferenceableSymbols:n.containsUnreferenceableSymbols,declarations:n.declsForSymbols}),this._importData}addImportInfo(e){return this._updateImportInfos([e]),this._importData}async removeImportInfo(e){for(let t of[...this._importData.declarations.keys()]){let i=await this._getImportInfo(t);if(i&&this._areImportInfoSame(i,e)){this._importData.declarations.delete(t),(0,sW.Km)(this._deletedDecls,t);break}}if(this._importData.importInfos)for(let t=this._importData.importInfos.length-1;t>=0;t--){let i=this._importData.importInfos[t];this._areImportInfoSame(i,e)&&this._importData.importInfos.splice(t,1)}}addDeclaration(e,t){if("builtins"===e.moduleName||"__builtins__"===e.moduleName||""===e.moduleName)return;let i=t.nodeType===aO.ye.Name?t:t.nodeType===aO.ye.MemberAccess?t.d.member:void 0;if(i)return(0,ap.PD)(this._importData.declarations,e,()=>[]).push(i),this._importData}async removeDeclaration(e){let t=await this._getImportInfo(e);t&&await this.removeImportInfo(t)}async appendImportInfoForTypes(e,t,i){let r;(0,n8.Lj)(i);let n=this._program.serviceProvider.tryGet(nM.asyncDeclarationFinder);if(!n)return;let a={sourceMapper:await this._program.getSourceMapper(e,!1,!0,this._snapshot,i),useTypeAlias:this.options.useTypeAlias},s=new Set,o=async(e,t)=>{if(s.has(e))return;s.add(e);let l=await n.getDeclarations(e,this._snapshot,i,a);if(0===l.length)return;let d=l[0];if(!(0,aM.D4)(e)){if((0,aM.mi)(e)){if(this._program.configOptions.diagnosticRuleSet.pep604Printing)return;if(aZ(e))return void this.addImportInfo({fileUri:d.uri,nameInfo:{name:"Optional"}})}this.addDeclaration(d,t);return}if(aM.p5.isBuiltIn(e)){var u;let t=null!=(u=e.priv.aliasName)?u:e.shared.name;r=await this._handleBuiltInType(n,e,d,t,r)}else this.addDeclaration(d,t);e.priv.isTypeArgExplicit&&await lH(e.priv.typeArgs,async e=>{await o(e,t),await l1(e,async e=>{await o(e,t)})})};await lH(t,async e=>{await o(e.type,e.node),await l1(e.type,async t=>{await o(t,e.node)})})}async updateImportInfoForTypeWithAutoImport(e,t,i,r,n){var a;let s=this._program.serviceProvider.tryGet(nM.globalIndices);if(!s)return;let o=(0,aW.l8)(i,t.tokenizerOutput.lines),l=await fN(this._program,e,o,{indices:s.getIndices(this._program),lazyEdit:!1,includeAliasesFromUserFiles:this.options.includeAliasesFromUserFiles},n);if(!l)return;let d=await this._program.getSourceMapper(e,!1,!0,this._snapshot,n);if(!d)return;let u=null!=(a=(0,aL.gr)(t.parserOutput.parseTree,i))?a:t.parserOutput.parseTree;await lH(r,async t=>{await this._applyAutoImport(l,u,d,e,t,n),await l1(t,async t=>{await this._applyAutoImport(l,u,d,e,t,n)})})}async applyImports(e,t,i,r,n){(0,n8.Lj)(n);let a=[],s=(0,oG.AG)(t.parserOutput.parseTree),o=await this._tryGetApplyImportResult(s,e,t,r,n);return o&&this._applyImportResultTo(s,o,i,a,n),a}async applyImportsTo(e,t,i,r){(0,n8.Lj)(r);let n=(0,oG.AG)(e.parserOutput.parseTree),a=(0,ax.R8)(e.parserOutput.parseTree).fileUri,s=await this._tryGetApplyImportResult(n,a,e,t,r);s&&this._applyImportResultTo(n,s,0,i,r)}tryGetImportResult(e,t,i){let r=(0,ax.R8)(t.parserOutput.parseTree).fileUri;return this._tryGetApplyImportResult(e,r,t,o9.Absolute,i)}get _configOptions(){return this._program.configOptions}get _evaluator(){return this._program.getEvaluator(this._snapshot)}async _handleBuiltInType(e,t,i,r,n){if(!r)return n;if("typing"===t.shared.moduleName)return n=null!=n?n:i.uri,this._program.configOptions.diagnosticRuleSet.pep604Printing&&aZ(t)||this.addImportInfo({fileUri:n,nameInfo:{name:r}}),n;if("builtins"===t.shared.moduleName){if(!n){let t=await e.getDefinitionFromTypingByName("Any");t.length>0&&(n=t[0].uri)}if(!n)return n;t.priv.aliasName&&this.addImportInfo({fileUri:n,nameInfo:{name:r}}),void 0!==t.priv.literalValue&&this.addImportInfo({fileUri:n,nameInfo:{name:"Literal"}})}return n}async _tryGetApplyImportResult(e,t,i,r,n){let a=await this._getImportNameWithModuleInfo(e,t,r),s=[],o=[];for(let i of(0,ap.bq)(a,e=>e.module.moduleName))if((0,n8.Lj)(n),!await this._tryProcessExistingImports(i,e,t,s)){(0,ap.af)(o,i[1]);continue}return s.push({kind:"insert",info:o}),{parseResults:i,applyData:s}}_applyImportResultTo(e,t,i,r,n){let a=t.parseResults;for(let s of t.applyData)if((0,n8.Lj)(n),"update"===s.kind)(0,n2.cy)(r)?(0,ap.af)(r,(0,oG.Ek)(s.info,s.importStatement,a)):this._addOrUpdateImport(s.moduleAndInfo,e,a,s.info,r);else if("insert"===s.kind)if((0,n2.cy)(r))r.push(...(0,oG.Ou)(s.info,e,a,(0,aW.l8)(i,a.tokenizerOutput.lines)));else for(let t of(0,ap.bq)(s.info,e=>e.module.moduleName))this._addOrUpdateImport(t,e,a,t[1],r);else(0,n6.xb)(s)}async _applyAutoImport(e,t,i,r,n,a){if(!(0,aM.D4)(n)||this._autoImportProcessedSet.has(n))return;this._autoImportProcessedSet.add(n);let s=await i.findDeclarationsByType(r,n,this.options.useTypeAlias),o=await this._tryGetAutoImportsFor(e,t,s,a);if(!o)return;await this.removeImportInfo(o.originalDeclInfo);let l={fileUri:o.declUri,nameInfo:{name:o.name,alias:o.alias}};await this.removeImportInfo(l),o.edits&&0!==o.edits.length&&this.addImportInfo(l)}async _tryGetAutoImportsFor(e,t,i,r){for(let n of i){let i=aG(n);if(!i)continue;let a=await fM(e,t,i,1,void 0,r),s=this._deletedDecls.concat(...this._importData.declarations.keys());for(let e of a)for(let t of s){let i=await this._evaluator.resolveAliasDeclaration(t,!0),r=i?await this._getImportInfo(i):void 0,n=await this._getImportInfo(t);if(n&&r&&this._areImportInfoSame(r,{fileUri:e.originalDeclUri,nameInfo:{name:e.name,alias:e.alias}}))return{...e,originalDeclInfo:n}}}}_updateImportData(e){e.declarations.forEach((e,t)=>this._importData.declarations.set(t,e)),this._importData.containsUnreferenceableSymbols=this._importData.containsUnreferenceableSymbols||e.containsUnreferenceableSymbols,this._updateImportInfos(e.importInfos)}_updateImportInfos(e){e&&(this._importData.importInfos?this._importData.importInfos.push(...e):this._importData.importInfos=e)}async _getImportNameWithModuleInfo(e,t,i){var r;let n=[];for(let e of null!=(r=this._importData.declarations.keys())?r:[]){let r=await this._getImportInfo(e,t);!r||(0,aF.eH)(e)||this._appendImportNameInfo(t,i,r,n)}if(this._importData.importInfos)for(let e of this._importData.importInfos)this._appendImportNameInfo(t,i,e,n);return"move"===this.options.usageKind?n:await lQ(n,async t=>{let i=await this._tryGetSymbolForImportName(t);if(!i)return!0;for(let t of i.getDeclarations()){let r=await this._evaluator.getInferredTypeOfDeclaration(i,t);if(r)return!await a7(this._program,this._evaluator,e,r,t)}return!0})}_appendImportNameInfo(e,t,i,r){let n=sc(this._configOptions,i.fileUri,this._pythonSearchPaths);if(!n.moduleName){if(!i.nameInfo.name)return;t=o9.Relative}let a=this._program.getSourceFileInfo(i.fileUri),s=a?(0,aR.xX)(a):(0,ae.WK)(this._configOptions,i.fileUri,(0,ah.fo)(this._program.fileSystem,i.fileUri)),o=t!==o9.Absolute&&n.importType!==aD.U.BuiltIn&&n.importType!==aD.U.ThirdParty&&s?(0,oG.eM)(this._program.fileSystem,e,i.fileUri,this._configOptions,void 0,!0):void 0;(0,ap.eA)(r,{moduleFileUri:i.fileUri,name:i.nameInfo.name,alias:i.nameInfo.alias,module:n,nameForImportFrom:o},(e,t)=>this._areSame(e,t))}async _tryProcessExistingImports(e,t,i,r){let n=await this._getMatchingImportStatements(e,t,i);for(let t of(0,ap.bq)(n,e=>e.node.nodeType===aO.ye.Import?"import":"importFrom")){if("importFrom"===t[0]){let i=t[1].filter(e=>e.node.nodeType===aO.ye.ImportFrom&&!e.node.d.isWildcardImport);if(0===i.length)continue;let n=e[1].filter(e=>!i.some(t=>t.node.nodeType===aO.ye.ImportFrom&&t.node.d.imports.some(t=>{var i;return t.d.name.d.value===e.name&&(null==(i=t.d.alias)?void 0:i.d.value)===e.alias})));return r.push({kind:"update",moduleAndInfo:e,info:n,importStatement:i[0]}),!0}if("import"===t[0]){(0,ap.FD)(e[1],e=>!e.name&&t[1].some(t=>{var i,r;return e.alias===(null==(r=t.subnode)||null==(i=r.d.alias)?void 0:i.d.value)}));continue}}return!1}async _tryGetResolveAliasDeclaration(e){var t;let i=null==(t=await this._evaluator.getDeclInfoForNameNode(e))?void 0:t.decls,r=null==i?void 0:i.find(e=>(0,aF.D5)(e));if(r)return await this._evaluator.resolveAliasDeclaration(r,!0)}async _tryGetResolvedModuleNames(e,t){if(e.node.nodeType!==aO.ye.ImportFrom||e.node.d.isWildcardImport)return;let i=this._cachedResolvedModuleNames.get(e);if(i)return i;for(let t of(i=new Map,e.node.d.imports)){var r,n,a;let e=await this._tryGetResolveAliasDeclaration(null!=(r=t.d.alias)?r:t.d.name);if(!e||e.uri.isEmpty()||(0,aF.D5)(e))continue;let s=sc(this._program.configOptions,e.uri,this._pythonSearchPaths);s.moduleName&&i.set(s.moduleName,null!=(n=null==(a=t.d.alias)?void 0:a.d.value)?n:t.d.name.d.value)}return this._cachedResolvedModuleNames.set(e,i),i}async _tryGetSymbolForImportName(e){var t;let i=this._program.getSourceFileInfo(e.moduleFileUri);if(!i)return;this._program.getParseResults(e.moduleFileUri);let r=await this._program.symbolLookup.getSymbolsForFile(i.uri);if(!r)return;let n=null!=(t=e.alias)?t:e.name;if(n)return r.get(n)}async _getMatchingImportStatements(e,t,i){let r=this._configOptions.findExecEnvironment(i);return await s2(t.orderedImports,async t=>{if(t.moduleName===e[0])return!0;let i=await this._tryGetResolvedModuleNames(t,r);if(!i||0===i.size)return!1;let n=i.get(e[0]);return e[1].some(e=>{var t;return(null!=(t=e.alias)?t:e.name)===n})})}_addOrUpdateImport(e,t,i,r,n){if(0===r.length)return;let a=e[0],s=0===e[1].length?void 0:e[1][0].nameForImportFrom,o=0===e[1].length?oG.vW.Local:(0,oG.x$)(e[1][0].module);n.addOrUpdateImport(i,t,{name:a,nameForImportFrom:s},o,r)}async _getImportInfo(e,t){if((0,aF.D5)(e)){var i,r,n;if(!e.node)return{fileUri:e.uri,nameInfo:{}};if(e.node.nodeType===aO.ye.ImportAs){let t=null==(i=await this._evaluator.getDeclInfoForNameNode(e.node.d.module.d.nameParts[e.node.d.module.d.nameParts.length-1]))?void 0:i.decls;if(!t||0===t.length)return;return{fileUri:t[0].uri,nameInfo:{alias:e.usesLocalName?null==(r=e.node.d.alias)?void 0:r.d.value:void 0}}}if(e.node.nodeType===aO.ye.ImportFromAs){let i=e.uri;if((!i||i.isEmpty())&&e.submoduleFallback&&(i=e.submoduleFallback.uri.getDirectory()),!i||i.isEmpty()||t&&i.equals(t)&&!e.usesLocalName&&!e.submoduleFallback)return;return{fileUri:i,nameInfo:{name:e.symbolName,alias:e.usesLocalName?null==(n=e.node.d.alias)?void 0:n.d.value:void 0}}}if(e.node.nodeType===aO.ye.ImportFrom)return{fileUri:e.uri,nameInfo:{name:e.symbolName}}}if((0,aF.bC)(e)||(0,aF.vu)(e)||(0,aF.hw)(e)||(0,aF.r_)(e)){let i=(0,aA.eE)(e);if(!i||t&&e.uri.equals(t))return;return{fileUri:e.uri,nameInfo:{name:i}}}}_areSame(e,t){return e.alias===t.alias&&e.name===t.name&&e.module.importType===t.module.importType&&e.module.isLocalTypingsFile===t.module.isLocalTypingsFile&&e.module.moduleName===t.module.moduleName}_areImportInfoSame(e,t){return e===t||e.fileUri.equals(t.fileUri)&&e.nameInfo.name===t.nameInfo.name&&e.nameInfo.alias===t.nameInfo.alias}constructor(e,t,i,r){var n,a,s;fL(this,"_program",void 0),fL(this,"_pythonSearchPaths",void 0),fL(this,"_snapshot",void 0),fL(this,"_cachedResolvedModuleNames",void 0),fL(this,"_importData",void 0),fL(this,"_autoImportProcessedSet",void 0),fL(this,"_deletedDecls",void 0),fL(this,"options",void 0),this._program=e,this._pythonSearchPaths=t,this._snapshot=i,this._cachedResolvedModuleNames=new Map,this._autoImportProcessedSet=new Set,this._deletedDecls=[],this.options={usageKind:null!=(n=null==r?void 0:r.usageKind)?n:"typeGeneration",useTypeAlias:null!=(a=null==r?void 0:r.useTypeAlias)&&a,includeAliasesFromUserFiles:null!=(s=null==r?void 0:r.includeAliasesFromUserFiles)&&s},this._importData={containsUnreferenceableSymbols:!1,declarations:new Map}}}class fW extends fx{async collect(e){if(0===this._ranges.length)return;let t=1===this._ranges.length?this._ranges[0].start:Math.min(...this._ranges.map(e=>e.start)),i=1===this._ranges.length?aB.vY.getEnd(this._ranges[0]):Math.max(...this._ranges.map(e=>aB.vY.getEnd(e))),r=aB.vY.fromBounds(t,i),n=(0,aL.gr)(e,r.start);if(!n)return void await this.walk(e);for(;!aB.vY.containsRange(n,r);)if(!(n=n.parent))return void await this.walk(e);await this.walk(n)}async walk(e){this._ranges.some(t=>aB.vY.overlapsRange(t,e))&&await super.walk(e)}async visitModuleName(e){return!1}async visitName(e){if(!this._ranges.some(t=>aB.vY.containsRange(t,e))||((0,n8.Lj)(this._token),!(0,aL.K)(e)))return!1;let t=await this._evaluator.getType(e);if((null==t?void 0:t.category)===aM.vb.TypeVar&&!aM.Kn.isSelf(t)||this._options.pep604&&t&&((0,aM.mi)(t)||aZ(t)))return!1;let i=(0,aL.gt)((0,aL.W5)(e));if(!i||0===i.length)return!1;let r=await this._getNameToCreateImportFor(i);if(!r)return!1;let n=await this._getDeclarationsInModuleFirst(r);return!!n&&0!==n.length&&(1===i.length?this._handleName(r,n):this._addDeclsForSymbols(n,r,i),!1)}async _getNameToCreateImportFor(e){if(1===e.length||"move"===this._options.usageKind)return e[0];if("typeGeneration"===this._options.usageKind){let t;for(let i=0;i<e.length;i++){let r=e[i],n=await this._evaluator.getDeclInfoForNameNode(r),a=null==n?void 0:n.decls;if(!a||(await Promise.all(a.map(async e=>e?await this._evaluator.resolveAliasDeclaration(e,!0,{allowExternallyHiddenAccess:!0,skipFileNeededCheck:!0}):void 0))).filter(n2.O9).some(e=>!this._isTopLevelDeclaration(e)))break;t=r}return t}(0,n6.xb)(this._options.usageKind,"must handle new kind")}_addDeclsForSymbols(e,t,i){let r=i.findIndex(e=>e===t)+1;for(let n of e){if(!(0,aF.D5)(n)||n.node.nodeType!==aO.ye.ImportAs||n.usesLocalName){this._handleName(t,[n]);continue}r>0&&this._handleImplicitImports(n,i,r)}}async _getDeclarationsInModuleFirst(e){var t;let i=await this._getDeclarationsInModule(e);if(i&&i.length>0)return i;let r=null==(t=await this._evaluator.getDeclInfoForNameNode(e))?void 0:t.decls;if(r&&r.length>0)return r}async _getDeclarationsInModule(e){var t,i;return null==(i=await this._evaluator.getDeclInfoForNameNode(e))||null==(t=i.decls)?void 0:t.filter(e=>(0,aA.nM)(e,this._fileUri))}_handleImplicitImports(e,t,i){if(t.length===i)return;if(!e.implicitImports)return void this._handleName(t[i-1],[(0,aA.HV)(e.uri)]);let r=e.implicitImports.get(t[i].d.value);r?this._handleImplicitImports(r,t,i+1):this._handleName(t[i-1],[(0,aA.HV)(e.uri)])}_handleName(e,t){for(let i of t)if(!(i.node&&this._ranges.some(e=>aB.vY.containsRange(e,i.node)))){if(!this._isTopLevelDeclaration(i)){this.containsUnreferenceableSymbols=!0;continue}this._addName(i,e)}}_isTopLevelDeclaration(e){if((0,aF.cU)(e))return!1;if((0,aF.bC)(e)||(0,aF.vu)(e)||(0,aF.hw)(e)){let t=(0,aA.Je)(e);if(!t)return!1;let i=(0,sY.Yd)(t);if(!i)return!1;let r=i.lookUpSymbolRecursive(t.d.value);if(!r||r.scope.type!==dE.hB.Module)return!1}return!0}_addName(e,t){(0,ap.PD)(this.declsForSymbols,e,()=>[]).push(t)}constructor(e,t,i,r,n){super(),fL(this,"_evaluator",void 0),fL(this,"_root",void 0),fL(this,"_ranges",void 0),fL(this,"_options",void 0),fL(this,"_token",void 0),fL(this,"_fileUri",void 0),fL(this,"declsForSymbols",void 0),fL(this,"containsUnreferenceableSymbols",void 0),this._evaluator=e,this._root=t,this._ranges=i,this._options=r,this._token=n,this.declsForSymbols=new Map,this.containsUnreferenceableSymbols=!1,this._fileUri=(0,ax.R8)(this._root).fileUri}}function fB(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let f$={enforcePythonSyntax:!0,expandTypeAlias:!1,omitTypeArgsIfUnknown:!0,printUnknownWithAny:!0};class fj{async getTypeStringAsync(e){if(!this._parseResults||!this._importStatements)return await this._evaluator.printType(e,this._options);let t=await this._evaluator.printType(e,this._options);return fj._preservedTypeStrings.has(t)?t:(await this._addImplicitTypingDependenciesForTypeAsync(e),(0,aM.f7)(e)||(0,aM.Pd)(e)||(0,aM.D4)(e))?await this._getTypeStringAsync(e):(0,aM.mi)(e)?await this._getUnionTypeStringAsync(e):await this._evaluator.printType(e,this._options)}get _useTypeAlias(){return!!this._importAdder&&this._importAdder.options.useTypeAlias}async _addImplicitTypingDependenciesForTypeAsync(e){if(!this._importAdder)return;let t=new Set;if(this._collectImplicitTypingDependenciesForType(e,t,new Set),0===t.size)return;let i=this._program.serviceProvider.tryGet(nM.asyncDeclarationFinder);if(i)for(let e of t){let t=await i.getDefinitionFromTypingByName(e);0!==t.length&&this._importAdder.addImportInfo({fileUri:t[0].uri,nameInfo:{name:e}})}}_collectImplicitTypingDependenciesForType(e,t,i){if(!i.has(e)){if(i.add(e),(0,aM.mi)(e)){if(!this._program.configOptions.diagnosticRuleSet.pep604Printing)if(aZ(e)){t.add("Optional");let i=(0,aX.Wt)(e);(0,aM.mi)(i)&&t.add("Union")}else t.add("Union");for(let r of e.priv.subtypes)this._collectImplicitTypingDependenciesForType(r,t,i);return}if((0,aM.Tn)(e)){t.add("Callable");for(let r=0;r<e.shared.parameters.length;r++)this._collectImplicitTypingDependenciesForType(aM.RK.getParamType(e,r),t,i);let r=aM.RK.getEffectiveReturnType(e);r&&this._collectImplicitTypingDependenciesForType(r,t,i);return}if((0,aM.Gl)(e)){for(let r of(t.add("Callable"),aM.OF.getOverloads(e)))this._collectImplicitTypingDependenciesForType(r,t,i);return}if((0,aM.D4)(e)){var r,n;null==(r=e.priv.typeArgs)||r.forEach(e=>{this._collectImplicitTypingDependenciesForType(e,t,i)}),null==(n=e.priv.tupleTypeArgs)||n.forEach(e=>{this._collectImplicitTypingDependenciesForType(e.type,t,i)})}}}async _getUnionTypeStringAsync(e){if(this._program.configOptions.diagnosticRuleSet.pep604Printing){let t=[];for(let i of e.priv.subtypes)t.push(await this.getTypeStringAsync(i));return t.join(" | ")}return await this._getTypeStringAsync(e)}async _getTypeStringAsync(e){let t=this._program.serviceProvider.tryGet(nM.asyncDeclarationFinder);if(t)for(let i of(await t.getDeclarations(e,this._snapshot,this._token,{useTypeAlias:this._useTypeAlias}))){let t=await this._tryGetExistingImportInfoAsync(e,i);return await this._generateTextAsync(e,i,t)}return await this._evaluator.printType(e,this._options)}async _tryGetExistingImportInfoAsync(e,t){var i,r;let n=aH(t.node),a=null!=(i=null==n?void 0:n.d.value)?i:(0,aA.eE)(t),s=await (null==(r=this._importAdder)?void 0:r.tryGetImportResult(this._importStatements,this._parseResults,this._token));if(s){for(let e of s.applyData)if(e.info.some(e=>e.name===a&&!e.alias))return}return await a7(this._program,this._evaluator,this._importStatements,e,t)}async _generateTextAsync(e,t,i){return(null==i?void 0:i.module)?`${i.module}.${await this._getInsertionTextAsync(e,t,i.outermostName)}`:i?await this._getInsertionTextAsync(e,t,i.outermostName):await this._getTypeTextAsync(e,t)}async _getTypeTextAsync(e,t){let i=await this._evaluator.printType(e,this._options);if((0,aM.D4)(e)){let e=(0,aL.Ji)(t.node);if(e)return`${aJ(e).join(".")}.${i}`}return i}async _getInsertionTextAsync(e,t,i){if((0,aM.D4)(e)){var r;let n=(0,aL.Ji)(t.node);if(n){let t=aJ(n);t[0]=i,i=`${t.join(".")}.${e.shared.name}`}if(e.priv.tupleTypeArgs&&e.priv.tupleTypeArgs.length>0){if(e.priv.tupleTypeArgs.every(e=>(0,aM.t8)(e.type)))return i;let t=[];for(let i of e.priv.tupleTypeArgs){let e=await this.getTypeStringAsync(i.type);t.push(i.isUnbounded?`${e}, ...`:e)}return i+`[${t.join(", ")}]`}if(!e.priv.typeArgs||0===e.priv.typeArgs.length||(null==(r=e.priv.typeArgs)?void 0:r.every(e=>(0,aM.t8)(e))))return i;let a=[];for(let t of e.priv.typeArgs)a.push(await this.getTypeStringAsync(t));return i+`[${a.join(", ")}]`}if((0,aM.mi)(e)){if(0===e.priv.subtypes.length||e.priv.subtypes.every(e=>(0,aM.t8)(e)))return i;let t=[];for(let i of e.priv.subtypes)t.push(await this.getTypeStringAsync(i));return aZ(e)?`Optional[${t.filter(e=>"None"!==e).join(", ")}]`:i+`[${t.join(", ")}]`}return i}_getTypePrintOptions(e){return{...f$,expandTypeAlias:e}}constructor(e,t,i,r,n){if(fB(this,"_program",void 0),fB(this,"_snapshot",void 0),fB(this,"_fileUri",void 0),fB(this,"_token",void 0),fB(this,"_importAdder",void 0),fB(this,"_parseResults",void 0),fB(this,"_importStatements",void 0),fB(this,"_options",void 0),fB(this,"_evaluator",void 0),this._program=e,this._snapshot=t,this._fileUri=i,this._token=r,this._importAdder=n,this._evaluator=this._program.getEvaluator(this._snapshot),this._options=this._getTypePrintOptions(!this._useTypeAlias),this._parseResults=this._program.getParseResults(this._fileUri),!this._parseResults)return;this._importStatements=(0,oG.AG)(this._parseResults.parserOutput.parseTree)}}function fK(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}fB(fj,"_preservedTypeStrings",new Set(["None","..."]));class fV{collectImportsForSymbolsUsed(e,t,i){var r;e=(r=e)&&r.parseTree&&r.importedModules&&r.futureImports&&void 0!==r.containsWildcardImport&&r.typingSymbolAliases?e.parseTree:e,t=(0,n2.cy)(t)?t:[t];let n=new fq(this._evaluator,e,t,{...this.options,pep604:this._program.configOptions.diagnosticRuleSet.pep604Printing},i);return n.collect(e),this._updateImportData({containsUnreferenceableSymbols:n.containsUnreferenceableSymbols,declarations:n.declsForSymbols}),this._importData}addImportInfo(e){return this._updateImportInfos([e]),this._importData}removeImportInfo(e){for(let t of[...this._importData.declarations.keys()]){let i=this._getImportInfo(t);if(i&&this._areImportInfoSame(i,e)){this._importData.declarations.delete(t),(0,sW.Km)(this._deletedDecls,t);break}}if(this._importData.importInfos)for(let t=this._importData.importInfos.length-1;t>=0;t--){let i=this._importData.importInfos[t];this._areImportInfoSame(i,e)&&this._importData.importInfos.splice(t,1)}}addDeclaration(e,t){if("builtins"===e.moduleName||"__builtins__"===e.moduleName||""===e.moduleName)return;let i=t.nodeType===aO.ye.Name?t:t.nodeType===aO.ye.MemberAccess?t.d.member:void 0;if(i)return(0,ap.PD)(this._importData.declarations,e,()=>[]).push(i),this._importData}removeDeclaration(e){let t=this._getImportInfo(e);t&&this.removeImportInfo(t)}appendImportInfoForTypes(e,t,i){let r;(0,n8.Lj)(i);let n=this._program.serviceProvider.tryGet(nM.declarationFinder);if(!n)return;let a={sourceMapper:this._program.getSourceMapper(e,i,!1,!0),useTypeAlias:this.options.useTypeAlias},s=new Set,o=(e,t)=>{var l,d;if(s.has(e))return;s.add(e);let u=n.getDeclarations(e,i,a);if(0===u.length)return;let p=u[0];if(!(0,aM.D4)(e)){if(a0(e)){if(this._program.configOptions.diagnosticRuleSet.pep604Printing)return;if(aZ(e))return void this.addImportInfo({fileUri:p.uri,nameInfo:{name:"Optional"}})}this.addDeclaration(p,t);return}if(aM.p5.isBuiltIn(e)){let t=null!=(l=e.priv.aliasName)?l:e.shared.name;r=this._handleBuiltInType(n,e,p,t,r)}else this.addDeclaration(p,t);e.priv.isTypeArgExplicit&&(null==(d=e.priv.typeArgs)||d.forEach(e=>{o(e,t),(0,aX.u6)(e,e=>{o(e,t)})}))};t.forEach(e=>{o(e.type,e.node),(0,aX.u6)(e.type,t=>{o(t,e.node)})})}updateImportInfoForTypeWithAutoImport(e,t,i,r,n){var a;let s=this._program.serviceProvider.tryGet(nM.globalIndices);if(!s)return;let o=(0,aW.l8)(i,t.tokenizerOutput.lines),l=lr(this._program,e,o,{indices:s.getIndices(this._program),lazyEdit:!1,includeAliasesFromUserFiles:this.options.includeAliasesFromUserFiles},n);if(!l)return;let d=this._program.getSourceMapper(e,n,!1,!0),u=null!=(a=(0,aL.gr)(t.parserOutput.parseTree,i))?a:t.parserOutput.parseTree;r.forEach(t=>{this._applyAutoImport(l,u,d,e,t,n),(0,aX.u6)(t,t=>{this._applyAutoImport(l,u,d,e,t,n)})})}applyImports(e,t,i,r,n){(0,n8.Lj)(n);let a=[],s=(0,oG.AG)(t.parserOutput.parseTree),o=this._tryGetApplyImportResult(s,e,t,r,n);return o&&this._applyImportResultTo(s,o,i,a,n),a}applyImportsTo(e,t,i,r){(0,n8.Lj)(r);let n=(0,oG.AG)(e.parserOutput.parseTree),a=(0,ax.R8)(e.parserOutput.parseTree).fileUri,s=this._tryGetApplyImportResult(n,a,e,t,r);s&&this._applyImportResultTo(n,s,0,i,r)}tryGetImportResult(e,t,i){let r=(0,ax.R8)(t.parserOutput.parseTree).fileUri;return this._tryGetApplyImportResult(e,r,t,o9.Absolute,i)}get _configOptions(){return this._program.configOptions}get _importResolver(){return this._program.importResolver}get _evaluator(){return this._program.evaluator}_handleBuiltInType(e,t,i,r,n){if(!r)return n;if("typing"===t.shared.moduleName)return n=null!=n?n:i.uri,this._program.configOptions.diagnosticRuleSet.pep604Printing&&aZ(t)||this.addImportInfo({fileUri:n,nameInfo:{name:r}}),n;if("builtins"===t.shared.moduleName){if(!n){let t=e.getDefinitionFromTypingByName("Any");t.length>0&&(n=t[0].uri)}if(!n)return n;t.priv.aliasName&&this.addImportInfo({fileUri:n,nameInfo:{name:r}}),void 0!==t.priv.literalValue&&this.addImportInfo({fileUri:n,nameInfo:{name:"Literal"}})}return n}_tryGetApplyImportResult(e,t,i,r,n){let a=this._getImportNameWithModuleInfo(e,t,r),s=[],o=[];for(let i of(0,ap.bq)(a,e=>e.module.moduleName))if((0,n8.Lj)(n),!this._tryProcessExistingImports(i,e,t,s)){(0,ap.af)(o,i[1]);continue}return s.push({kind:"insert",info:o}),{parseResults:i,applyData:s}}_applyImportResultTo(e,t,i,r,n){let a=t.parseResults;for(let s of t.applyData)if((0,n8.Lj)(n),"update"===s.kind)(0,n2.cy)(r)?(0,ap.af)(r,(0,oG.Ek)(s.info,s.importStatement,a)):this._addOrUpdateImport(s.moduleAndInfo,e,a,s.info,r);else if("insert"===s.kind)if((0,n2.cy)(r))r.push(...(0,oG.Ou)(s.info,e,a,(0,aW.l8)(i,a.tokenizerOutput.lines)));else for(let t of(0,ap.bq)(s.info,e=>e.module.moduleName))this._addOrUpdateImport(t,e,a,t[1],r);else(0,n6.xb)(s)}_applyAutoImport(e,t,i,r,n,a){if(!(0,aM.D4)(n)||this._autoImportProcessedSet.has(n))return;this._autoImportProcessedSet.add(n);let s=i.findDeclarationsByType(r,n,this.options.useTypeAlias),o=this._tryGetAutoImportsFor(e,t,s,a);if(!o)return;this.removeImportInfo(o.originalDeclInfo);let l={fileUri:o.declUri,nameInfo:{name:o.name,alias:o.alias}};this.removeImportInfo(l),o.edits&&0!==o.edits.length&&this.addImportInfo(l)}_tryGetAutoImportsFor(e,t,i,r){for(let n of i){let i=aG(n);if(!i)continue;let a=ln(e,t,i,1,void 0,r),s=this._deletedDecls.concat(...this._importData.declarations.keys());for(let e of a)for(let t of s){let i=this._evaluator.resolveAliasDeclaration(t,!0),r=i?this._getImportInfo(i):void 0,n=this._getImportInfo(t);if(n&&r&&this._areImportInfoSame(r,{fileUri:e.originalDeclUri,nameInfo:{name:e.name,alias:e.alias}}))return{...e,originalDeclInfo:n}}}}_updateImportData(e){e.declarations.forEach((e,t)=>this._importData.declarations.set(t,e)),this._importData.containsUnreferenceableSymbols=this._importData.containsUnreferenceableSymbols||e.containsUnreferenceableSymbols,this._updateImportInfos(e.importInfos)}_updateImportInfos(e){e&&(this._importData.importInfos?this._importData.importInfos.push(...e):this._importData.importInfos=e)}_getImportNameWithModuleInfo(e,t,i){var r;let n=[],a=this._configOptions.findExecEnvironment(t);for(let e of null!=(r=this._importData.declarations.keys())?r:[]){let r=this._getImportInfo(e,t);!r||(0,aF.eH)(e)||this._appendImportNameInfo(t,a,i,r,n)}if(this._importData.importInfos)for(let e of this._importData.importInfos)this._appendImportNameInfo(t,a,i,e,n);return"move"===this.options.usageKind?n:n.filter(t=>{let i=this._tryGetSymbolForImportName(t);if(!i)return!0;for(let t of i.getDeclarations()){let r=this._program.evaluator.getInferredTypeOfDeclaration(i,t);if(r)return!a6(this._program,e,r,t)}return!0})}_appendImportNameInfo(e,t,i,r,n){let a=this._importResolver.getModuleNameForImport(r.fileUri,t);if(!a.moduleName){if(!r.nameInfo.name)return;i=o9.Relative}let s=this._program.getSourceFileInfo(r.fileUri),o=s?(0,aR.xX)(s):(0,ae.WK)(this._configOptions,r.fileUri,(0,ah.fo)(this._importResolver.fileSystem,r.fileUri)),l=i!==o9.Absolute&&a.importType!==aD.U.BuiltIn&&a.importType!==aD.U.ThirdParty&&o?(0,oG.eM)(this._importResolver.fileSystem,e,r.fileUri,this._configOptions,void 0,!0):void 0;(0,ap.eA)(n,{moduleFileUri:r.fileUri,name:r.nameInfo.name,alias:r.nameInfo.alias,module:a,nameForImportFrom:l},(e,t)=>this._areSame(e,t))}_tryProcessExistingImports(e,t,i,r){let n=this._getMatchingImportStatements(e,t,i);for(let t of(0,ap.bq)(n,e=>e.node.nodeType===aO.ye.Import?"import":"importFrom")){if("importFrom"===t[0]){let i=t[1].filter(e=>e.node.nodeType===aO.ye.ImportFrom&&!e.node.d.isWildcardImport);if(0===i.length)continue;let n=e[1].filter(e=>!i.some(t=>t.node.nodeType===aO.ye.ImportFrom&&t.node.d.imports.some(t=>{var i;return t.d.name.d.value===e.name&&(null==(i=t.d.alias)?void 0:i.d.value)===e.alias})));return r.push({kind:"update",moduleAndInfo:e,info:n,importStatement:i[0]}),!0}if("import"===t[0]){(0,ap.FD)(e[1],e=>!e.name&&t[1].some(t=>{var i,r;return e.alias===(null==(r=t.subnode)||null==(i=r.d.alias)?void 0:i.d.value)}));continue}}return!1}_tryGetResolveAliasDeclaration(e){var t;let i=null==(t=this._evaluator.getDeclInfoForNameNode(e))?void 0:t.decls,r=null==i?void 0:i.find(e=>(0,aF.D5)(e));if(r)return this._evaluator.resolveAliasDeclaration(r,!0)}_tryGetResolvedModuleNames(e,t){if(e.node.nodeType!==aO.ye.ImportFrom||e.node.d.isWildcardImport)return;let i=this._cachedResolvedModuleNames.get(e);if(i)return i;for(let s of(i=new Map,e.node.d.imports)){var r,n,a;let e=this._tryGetResolveAliasDeclaration(null!=(r=s.d.alias)?r:s.d.name);if(!e||e.uri.isEmpty()||(0,aF.D5)(e))continue;let o=this._importResolver.getModuleNameForImport(e.uri,t);o.moduleName&&i.set(o.moduleName,null!=(n=null==(a=s.d.alias)?void 0:a.d.value)?n:s.d.name.d.value)}return this._cachedResolvedModuleNames.set(e,i),i}_tryGetSymbolForImportName(e){var t;let i=this._program.getSourceFileInfo(e.moduleFileUri);if(!i)return;this._program.getParseResults(e.moduleFileUri);let r=this._program.getModuleSymbolTable(i.uri);if(!r)return;let n=null!=(t=e.alias)?t:e.name;if(n)return r.get(n)}_getMatchingImportStatements(e,t,i){let r=this._configOptions.findExecEnvironment(i);return t.orderedImports.filter(t=>{if(t.moduleName===e[0])return!0;let i=this._tryGetResolvedModuleNames(t,r);if(!i||0===i.size)return!1;let n=i.get(e[0]);return e[1].some(e=>{var t;return(null!=(t=e.alias)?t:e.name)===n})})}_addOrUpdateImport(e,t,i,r,n){if(0===r.length)return;let a=e[0],s=0===e[1].length?void 0:e[1][0].nameForImportFrom,o=0===e[1].length?oG.vW.Local:(0,oG.x$)(e[1][0].module);n.addOrUpdateImport(i,t,{name:a,nameForImportFrom:s},o,r)}_getImportInfo(e,t){if((0,aF.D5)(e)){var i,r,n;if(!e.node)return{fileUri:e.uri,nameInfo:{}};if(e.node.nodeType===aO.ye.ImportAs){let t=null==(i=this._evaluator.getDeclInfoForNameNode(e.node.d.module.d.nameParts[e.node.d.module.d.nameParts.length-1]))?void 0:i.decls;if(!t||0===t.length)return;return{fileUri:t[0].uri,nameInfo:{alias:e.usesLocalName?null==(r=e.node.d.alias)?void 0:r.d.value:void 0}}}if(e.node.nodeType===aO.ye.ImportFromAs){let i=e.uri;if((!i||i.isEmpty())&&e.submoduleFallback&&(i=e.submoduleFallback.uri.getDirectory()),!i||i.isEmpty()||t&&i.equals(t)&&!e.usesLocalName&&!e.submoduleFallback)return;return{fileUri:i,nameInfo:{name:e.symbolName,alias:e.usesLocalName?null==(n=e.node.d.alias)?void 0:n.d.value:void 0}}}if(e.node.nodeType===aO.ye.ImportFrom)return{fileUri:e.uri,nameInfo:{name:e.symbolName}}}if((0,aF.bC)(e)||(0,aF.vu)(e)||(0,aF.hw)(e)||(0,aF.r_)(e)){let i=(0,aA.eE)(e);if(!i||t&&e.uri.equals(t))return;return{fileUri:e.uri,nameInfo:{name:i}}}}_areSame(e,t){return e.alias===t.alias&&e.name===t.name&&e.module.importType===t.module.importType&&e.module.isLocalTypingsFile===t.module.isLocalTypingsFile&&e.module.moduleName===t.module.moduleName}_areImportInfoSame(e,t){return e===t||e.fileUri.equals(t.fileUri)&&e.nameInfo.name===t.nameInfo.name&&e.nameInfo.alias===t.nameInfo.alias}constructor(e,t){var i,r,n;fK(this,"_program",void 0),fK(this,"_cachedResolvedModuleNames",void 0),fK(this,"_importData",void 0),fK(this,"_autoImportProcessedSet",void 0),fK(this,"_deletedDecls",void 0),fK(this,"options",void 0),this._program=e,this._cachedResolvedModuleNames=new Map,this._autoImportProcessedSet=new Set,this._deletedDecls=[],this.options={usageKind:null!=(i=null==t?void 0:t.usageKind)?i:"typeGeneration",useTypeAlias:null!=(r=null==t?void 0:t.useTypeAlias)&&r,includeAliasesFromUserFiles:null!=(n=null==t?void 0:t.includeAliasesFromUserFiles)&&n},this._importData={containsUnreferenceableSymbols:!1,declarations:new Map}}}class fq extends aE.gw{collect(e){if(0===this._ranges.length)return;let t=1===this._ranges.length?this._ranges[0].start:Math.min(...this._ranges.map(e=>e.start)),i=1===this._ranges.length?aB.vY.getEnd(this._ranges[0]):Math.max(...this._ranges.map(e=>aB.vY.getEnd(e))),r=aB.vY.fromBounds(t,i),n=(0,aL.gr)(e,r.start);if(!n)return void this.walk(e);for(;!aB.vY.containsRange(n,r);)if(!(n=n.parent))return void this.walk(e);this.walk(n)}walk(e){this._ranges.some(t=>aB.vY.overlapsRange(t,e))&&super.walk(e)}visitModuleName(e){return!1}visitName(e){if(!this._ranges.some(t=>aB.vY.containsRange(t,e))||((0,n8.Lj)(this._token),!(0,aL.K)(e)))return!1;let t=this._evaluator.getType(e);if((null==t?void 0:t.category)===aM.vb.TypeVar&&!aM.Kn.isSelf(t)||this._options.pep604&&t&&(a0(t)||aZ(t)))return!1;let i=(0,aL.gt)((0,aL.W5)(e));if(!i||0===i.length)return!1;let r=this._getNameToCreateImportFor(i);if(!r)return!1;let n=this._getDeclarationsInModuleFirst(r);return!!n&&0!==n.length&&(1===i.length?this._handleName(r,n):this._addDeclsForSymbols(n,r,i),!1)}_getNameToCreateImportFor(e){if(1===e.length||"move"===this._options.usageKind)return e[0];if("typeGeneration"===this._options.usageKind){let r;for(let n=0;n<e.length;n++){var t,i;let a=e[n],s=null==(i=this._evaluator.getDeclInfoForNameNode(a))||null==(t=i.decls)?void 0:t.map(e=>this._evaluator.resolveAliasDeclaration(e,!0,{allowExternallyHiddenAccess:!0,skipFileNeededCheck:!0})).filter(n2.O9);if(!s||s.some(e=>!this._isTopLevelDeclaration(e)))break;r=a}return r}(0,n6.xb)(this._options.usageKind,"must handle new kind")}_addDeclsForSymbols(e,t,i){let r=i.findIndex(e=>e===t)+1;for(let n of e){if(!(0,aF.D5)(n)||n.node.nodeType!==aO.ye.ImportAs||n.usesLocalName){this._handleName(t,[n]);continue}r>0&&this._handleImplicitImports(n,i,r)}}_getDeclarationsInModuleFirst(e){var t;let i=this._getDeclarationsInModule(e);if(i&&i.length>0)return i;let r=null==(t=this._evaluator.getDeclInfoForNameNode(e))?void 0:t.decls;if(r&&r.length>0)return r}_getDeclarationsInModule(e){var t,i;return null==(i=this._evaluator.getDeclInfoForNameNode(e))||null==(t=i.decls)?void 0:t.filter(e=>(0,aA.nM)(e,this._fileUri))}_handleImplicitImports(e,t,i){if(t.length===i)return;if(!e.implicitImports)return void this._handleName(t[i-1],[(0,aA.HV)(e.uri)]);let r=e.implicitImports.get(t[i].d.value);r?this._handleImplicitImports(r,t,i+1):this._handleName(t[i-1],[(0,aA.HV)(e.uri)])}_handleName(e,t){for(let i of t)if(!(i.node&&this._ranges.some(e=>aB.vY.containsRange(e,i.node)))){if(!this._isTopLevelDeclaration(i)){this.containsUnreferenceableSymbols=!0;continue}this._addName(i,e)}}_isTopLevelDeclaration(e){if((0,aF.cU)(e))return!1;if((0,aF.bC)(e)||(0,aF.vu)(e)||(0,aF.hw)(e)){let t=(0,aA.Je)(e);if(!t)return!1;let i=(0,sY.Yd)(t);if(!i)return!1;let r=i.lookUpSymbolRecursive(t.d.value);if(!r||r.scope.type!==dE.hB.Module)return!1}return!0}_addName(e,t){(0,ap.PD)(this.declsForSymbols,e,()=>[]).push(t)}constructor(e,t,i,r,n){super(),fK(this,"_evaluator",void 0),fK(this,"_root",void 0),fK(this,"_ranges",void 0),fK(this,"_options",void 0),fK(this,"_token",void 0),fK(this,"_fileUri",void 0),fK(this,"declsForSymbols",void 0),fK(this,"containsUnreferenceableSymbols",void 0),this._evaluator=e,this._root=t,this._ranges=i,this._options=r,this._token=n,this.declsForSymbols=new Map,this.containsUnreferenceableSymbols=!1,this._fileUri=(0,ax.R8)(this._root).fileUri}}function fG(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let fH={enforcePythonSyntax:!0,expandTypeAlias:!1,omitTypeArgsIfUnknown:!0,printUnknownWithAny:!0};class fJ{getTypeString(e){if(!this._parseResults||!this._importStatements)return this._program.evaluator.printType(e,this._options);let t=this._program.evaluator.printType(e,this._options);return fJ._preservedTypeStrings.has(t)?t:(this._addImplicitTypingDependenciesForType(e),(0,aM.f7)(e)||(0,aM.Pd)(e)||(0,aM.D4)(e))?this._getTypeString(e):(0,aM.mi)(e)?this._getUnionTypeString(e):this._program.evaluator.printType(e,this._options)}get _useTypeAlias(){return!!this._importAdder&&this._importAdder.options.useTypeAlias}_addImplicitTypingDependenciesForType(e){if(!this._importAdder)return;let t=new Set;if(this._collectImplicitTypingDependenciesForType(e,t,new Set),0===t.size)return;let i=this._program.serviceProvider.tryGet(nM.declarationFinder);if(i)for(let e of t){let t=i.getDefinitionFromTypingByName(e);0!==t.length&&this._importAdder.addImportInfo({fileUri:t[0].uri,nameInfo:{name:e}})}}_collectImplicitTypingDependenciesForType(e,t,i){if(!i.has(e)){if(i.add(e),(0,aM.mi)(e)){if(!this._program.configOptions.diagnosticRuleSet.pep604Printing)if(aZ(e)){t.add("Optional");let i=(0,aX.Wt)(e);(0,aM.mi)(i)&&t.add("Union")}else t.add("Union");for(let r of e.priv.subtypes)this._collectImplicitTypingDependenciesForType(r,t,i);return}if((0,aM.Tn)(e)){t.add("Callable");for(let r=0;r<e.shared.parameters.length;r++)this._collectImplicitTypingDependenciesForType(aM.RK.getParamType(e,r),t,i);let r=aM.RK.getEffectiveReturnType(e);r&&this._collectImplicitTypingDependenciesForType(r,t,i);return}if((0,aM.Gl)(e)){for(let r of(t.add("Callable"),aM.OF.getOverloads(e)))this._collectImplicitTypingDependenciesForType(r,t,i);return}if((0,aM.D4)(e)){var r,n;null==(r=e.priv.typeArgs)||r.forEach(e=>{this._collectImplicitTypingDependenciesForType(e,t,i)}),null==(n=e.priv.tupleTypeArgs)||n.forEach(e=>{this._collectImplicitTypingDependenciesForType(e.type,t,i)})}}}_getUnionTypeString(e){if(this._program.configOptions.diagnosticRuleSet.pep604Printing){let t=[];return e.priv.subtypes.forEach(e=>{t.push(this.getTypeString(e))}),t.join(" | ")}return this._getTypeString(e)}_getTypeString(e){let t=this._program.serviceProvider.tryGet(nM.declarationFinder);if(t)for(let i of t.getDeclarations(e,this._token,{useTypeAlias:this._useTypeAlias})){let t=this._tryGetExistingImportInfo(e,i);return this._generateText(e,i,t)}return this._program.evaluator.printType(e,this._options)}_tryGetExistingImportInfo(e,t){var i,r;let n=aH(t.node),a=null!=(i=null==n?void 0:n.d.value)?i:(0,aA.eE)(t),s=null==(r=this._importAdder)?void 0:r.tryGetImportResult(this._importStatements,this._parseResults,this._token);if(s){for(let e of s.applyData)if(e.info.some(e=>e.name===a&&!e.alias))return}return a6(this._program,this._importStatements,e,t)}_generateText(e,t,i){return(null==i?void 0:i.module)?`${i.module}.${this._getInsertionText(e,t,i.outermostName)}`:i?this._getInsertionText(e,t,i.outermostName):this._getTypeText(e,t)}_getTypeText(e,t){let i=this._program.evaluator.printType(e,this._options);if((0,aM.D4)(e)){let e=(0,aL.Ji)(t.node);if(e)return`${aJ(e).join(".")}.${i}`}return i}_getInsertionText(e,t,i){if((0,aM.D4)(e)){var r;let n=(0,aL.Ji)(t.node);if(n){let t=aJ(n);t[0]=i,i=`${t.join(".")}.${e.shared.name}`}if(e.priv.tupleTypeArgs&&e.priv.tupleTypeArgs.length>0){if(e.priv.tupleTypeArgs.every(e=>(0,aM.t8)(e.type)))return i;let t=e.priv.tupleTypeArgs.map(e=>{let t=this.getTypeString(e.type);return e.isUnbounded?`${t}, ...`:t});return i+`[${t.join(", ")}]`}if(!e.priv.typeArgs||0===e.priv.typeArgs.length||(null==(r=e.priv.typeArgs)?void 0:r.every(e=>(0,aM.t8)(e))))return i;let a=e.priv.typeArgs.map(e=>this.getTypeString(e));return i+`[${a.join(", ")}]`}if((0,aM.mi)(e)){if(0===e.priv.subtypes.length||e.priv.subtypes.every(e=>(0,aM.t8)(e)))return i;let t=e.priv.subtypes.map(e=>this.getTypeString(e));return aZ(e)?`Optional[${t.filter(e=>"None"!==e).join(", ")}]`:i+`[${t.join(", ")}]`}return i}_getTypePrintOptions(e){return{...fH,expandTypeAlias:e}}constructor(e,t,i,r){if(fG(this,"_program",void 0),fG(this,"_fileUri",void 0),fG(this,"_token",void 0),fG(this,"_importAdder",void 0),fG(this,"_parseResults",void 0),fG(this,"_importStatements",void 0),fG(this,"_options",void 0),this._program=e,this._fileUri=t,this._token=i,this._importAdder=r,this._options=this._getTypePrintOptions(!this._useTypeAlias),this._parseResults=this._program.getParseResults(this._fileUri),!this._parseResults)return;this._importStatements=(0,oG.AG)(this._parseResults.parserOutput.parseTree)}}function fY(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}fG(fJ,"_preservedTypeStrings",new Set(["None","..."]));let fQ={expandTypeAlias:!1,enforcePythonSyntax:!0};class fX extends fk.J{visitUnbound(e){this._printTypeAndAddToLabel(e,this._tryGetTypeLocationByNameOrType("Any"))}visitAny(e){this._printTypeAndAddToLabel(e,e.priv.isEllipsis?void 0:this._tryGetTypeLocationByNameOrType("Any"))}visitUnknown(e){this._printTypeAndAddToLabel(e,this._tryGetTypeLocationByNameOrType("Any"))}visitNever(e){this._printTypeAndAddToLabel(e,this._tryGetTypeLocationByNameOrType(e.priv.isNoReturn?"NoReturn":"Never"))}visitFunction(e){this._printTypeAndAddToLabel(e)}visitOverloaded(e){this._printTypeAndAddToLabel(e)}visitClass(e){let t=this._tryGetTypeLocationByNameOrType(void 0!==e.priv.literalValue?"Literal":e);this._printTypeAndAddToLabel(e,t)}visitModule(e){this._printTypeAndAddToLabel(e,this._tryGetTypeLocationByNameOrType("Any"))}visitUnion(e){for(let t=0;t<e.priv.subtypes.length;t++){let i=e.priv.subtypes[t];if(this.walk(i),this._currentLength>=this._labelLimit)break;t<e.priv.subtypes.length-1&&this._addTypeToLabel(" | ")}}visitTypeAlias(e){}visitTypeVar(e){let t="Any"===this._printType(e)?this._tryGetTypeLocationByNameOrType("Any"):void 0;this._printTypeAndAddToLabel(e,t)}_printTypeAndAddToLabel(e,t){let i=this._printType(e);(0,aM.D4)(e)?this._addClassTypeToLabel(i,e,t):this._addTypeToLabel(i,t)}_addClassTypeToLabel(e,t,i){var r,n;if(void 0===i||void 0!==t.priv.literalValue||aM.p5.isBuiltIn(t,"NoneType")||aM.p5.isPseudoGenericClass(t)||(null==(n=t.props)?void 0:n.typeAliasInfo))return void this._addTypeToLabel(e,i);let a=null!=(r=t.priv.aliasName)?r:t.shared.name,s=e.indexOf(a);if(-1!==s){if(s>0){let t=e.slice(0,s);this._addTypeToLabel(t)}this._addTypeToLabel(a,i);let t=e.slice(s+a.length);t.length>0&&this._addTypeToLabel(t)}else this._addTypeToLabel(e)}_addTypeToLabel(e,t){let i={value:e};t&&(i.location={uri:t.uri,range:t.range}),this.label.push(i),this._currentLength+=e.length,this._cancelWalkIfExceedsLimit()}_printType(e){return this._evaluator.printType(e,{...fQ})}_tryGetTypeLocationByNameOrType(e){var t;if(!this._isResolveRequest||!this._declarationFinder)return;let i=(0,n2.Kg)(e)?this._declarationFinder.getDefinitionFromTypingByName(e):this._declarationFinder.getDeclarations(e,this._cancellationToken,{useTypeAlias:!!(null==(t=e.props)?void 0:t.typeAliasInfo)});return this._convertDeclsToLocations(i)}_convertDeclsToLocations(e){if(!e||0===e.length)return;let t=[];(0,fC.QW)(this._evaluator,this._sourceMapper,e,t);let i=t.length;if(0!==i)return{uri:t[i-1].uri.toString(),range:t[i-1].range}}_cancelWalkIfExceedsLimit(){if(this._currentLength>=this._labelLimit){let e=this.label[this.label.length-1],t=this._currentLength-this._labelLimit+this._separator.length;e.value.length>t&&(this.label[this.label.length-1].value=(0,sN.xv)(e.value,e.value.length-t)),this.cancelWalk()}}constructor(e,t,i,r,n,a){super(),fY(this,"label",[]),fY(this,"_currentLength",0),fY(this,"_evaluator",void 0),fY(this,"_declarationFinder",void 0),fY(this,"_sourceMapper",void 0),fY(this,"_isResolveRequest",void 0),fY(this,"_labelLimit",void 0),fY(this,"_separator",void 0),fY(this,"_cancellationToken",void 0),this._evaluator=e.evaluator,this._declarationFinder=e.serviceProvider.tryGet(nM.declarationFinder),this._isResolveRequest=i,this._labelLimit=r,this._separator=n,this._cancellationToken=a,this._sourceMapper=e.getSourceMapper(t,this._cancellationToken)}}function fZ(e,t,i,r,n,a,s,o,l,d){let u,p,c;return vp(r,a)?l?void 0:((u=new fV(e)).appendImportInfoForTypes(i,[{type:a,node:n}],d),u.updateImportInfoForTypeWithAutoImport(i,t,n.start,[a],d),p=new fJ(e,i,d,u).getTypeString(a),(c=(0,fI.Rp)(u.applyImports(i,t,n.start,o9.Absolute,d))).push(nZ.TextEdit.insert(s,`${o}${p}`)),c):[]}async function f0(e,t,i,r,n,a,s,o,l,d,u,p){return vp(a,o)?u?void 0:await f1(e,t,i,r,n,s,o,l,d,p):[]}async function f1(e,t,i,r,n,a,s,o,l,d){let u=new fz(e,t,i);await u.appendImportInfoForTypes(n,[{type:s,node:a}],d),await u.updateImportInfoForTypeWithAutoImport(n,r,a.start,[s],d);let p=new fj(e,i,n,d,u),c=await p.getTypeStringAsync(s),h=(0,fI.Rp)(await u.applyImports(n,r,a.start,o9.Absolute,d));return h.push(nZ.TextEdit.insert(o,`${l}${c}`)),h}function f5(e,t){return e.stripLiteralValue(t)}function f4(e){switch(e.nodeType){case aO.ye.Constant:case aO.ye.Number:case aO.ye.StringList:return!0;case aO.ye.UnaryOperation:return f4(e.d.expr);case aO.ye.BinaryOperation:return f4(e.d.leftExpr)&&f4(e.d.rightExpr);case aO.ye.Tuple:return e.d.items.every(f4);case aO.ye.Assignment:return e.d.leftExpr.nodeType===aO.ye.Name&&f4(e.d.rightExpr);default:return!1}}function f3(e,t,i){if(e.d.returnAnnotation||ve(e,i)||f9(e))return;let r=t.getTypeOfFunction(e);if(!r)return;let n=t.getInferredReturnType(r.functionType);return{functionType:r.functionType,returnType:n}}function f8(e,t){var i,r,n,a;if(f6(e))return;let s=null==(i=t.getDeclInfoForNameNode(e))?void 0:i.decls;if(!s||0===s.length||s.some(e=>f7(e)))return;let o=s.find(t=>(0,aA.Je)(t)===e);if(!o||o.type!==aF.h3.Variable||(null==(r=o.inferredTypeSource)?void 0:r.nodeType)===aO.ye.Constant||(null==(n=o.inferredTypeSource)?void 0:n.nodeType)===aO.ye.Number||(null==(a=o.inferredTypeSource)?void 0:a.nodeType)===aO.ye.Ellipsis)return;let l=(0,cd.NA)(t,e);if(!l)return;let d=f2(e,o.inferredTypeSource),u=function e(t,i,r,n){var a;if(!i)return!1;if(i.nodeType===aO.ye.Call){let e=vi(i.d.leftExpr);if(!e)return!1;let t=n.getDeclInfoForNameNode(e);return!!t&&!!t.decls.map(e=>n.resolveAliasDeclaration(e,!0,{allowExternallyHiddenAccess:!0,skipFileNeededCheck:!0})).filter(n2.O9).map(e=>n.getTypeForDeclaration(e).type).concat(t.synthesizedTypes.map(e=>e.type)).some(t=>(0,n2.O9)(t)&&(0,aM.D4)(t)&&t.shared.name===e.d.value&&0===t.shared.typeParams.length)}return(null==i?void 0:i.nodeType)===aO.ye.Assignment?i.d.leftExpr.nodeType===aO.ye.Name&&e(t,i.d.rightExpr,r,n):(null==i?void 0:i.nodeType)===aO.ye.Tuple?f4(i):(0,aM.D4)(r)&&r.priv.literalValue?!!i&&f4(i):!!(null==(a=r.props)?void 0:a.typeAliasInfo)||(0,aM.D4)(r)&&!(0,aM.aE)(r)}(o,d,l,t);return{type:l,straightForwardCase:u}}function f2(e,t){var i;if(!t)return;if((null==(i=e.parent)?void 0:i.nodeType)!==aO.ye.Tuple)return t;let r=e.parent.d.items.findIndex(t=>t===e);if(!(r<0)&&t.nodeType===aO.ye.Tuple){if(r>=t.d.items.length)return;return t.d.items[r]}}function f6(e){var t;return(null==(t=e.parent)?void 0:t.nodeType)===aO.ye.TypeAnnotation}function f7(e){return e.type===aF.h3.Variable&&void 0!==e.typeAnnotationNode||e.type===aF.h3.Param&&void 0!==e.node.d.annotation||e.type===aF.h3.Function&&void 0!==e.node.d.returnAnnotation}function f9(e){return e.d.suite.d.statements.length>0&&e.d.suite.d.statements[0].nodeType===aO.ye.StatementList&&1===e.d.suite.d.statements[0].d.statements.length&&e.d.suite.d.statements[0].d.statements[0].nodeType===aO.ye.Ellipsis}function ve(e,t){let i,r,n;return 0===e.d.suite.d.statements.length||e.d.suite.d.statements.length>0&&0===e.d.suite.d.statements[0].length||(r=(i=t.tokenizerOutput.tokens).getItemAtPosition(e.d.suite.start),(null==(n=i.getItemAt(r))?void 0:n.type)!==aj.ks.Colon)}function vt(e,t,i){var r,n,a;if(f6(e))return;let s=null==(r=t.getDeclInfoForNameNode(e))?void 0:r.decls;if(!s||0===s.length||s.some(e=>f7(e)))return;let o=s.find(t=>(0,aA.Je)(t)===e);if(!o||(null==(n=e.parent)?void 0:n.nodeType)===aO.ye.Tuple)return;if(o.type===aF.h3.Function&&(null==(a=e.parent)?void 0:a.nodeType)===aO.ye.Function){let r=e.parent,n=f3(r,t,i);if(!n)return;return{type:f5(t,n.returnType),targetNode:r,separator:" -> ",insertOffset:r.d.suite.start}}let l=f8(e,t);if(l&&!l.straightForwardCase)return{type:f5(t,l.type),targetNode:e,separator:": ",insertOffset:aB.vY.getEnd(e)}}function vi(e){if(e.nodeType!==aO.ye.Name&&e.nodeType!==aO.ye.MemberAccess)return;let t=(0,aL.gt)(e);if(t)return t[t.length-1]}function vr(e,t){return e.stripLiteralValue(t)}async function vn(e,t,i){if(e.d.returnAnnotation||ve(e,i)||f9(e))return;let r=await t.getTypeOfFunction(e);if(!r)return;let n=await t.getInferredReturnType(r.functionType);return{functionType:r.functionType,returnType:n}}async function va(e,t){var i,r,n;if(f6(e))return;let a=await t.getDeclInfoForNameNode(e),s=null==a?void 0:a.decls;if(!s||0===s.length||s.some(e=>f7(e)))return;let o=s.find(t=>(0,aA.Je)(t)===e);if(!o||o.type!==aF.h3.Variable||(null==(i=o.inferredTypeSource)?void 0:i.nodeType)===aO.ye.Constant||(null==(r=o.inferredTypeSource)?void 0:r.nodeType)===aO.ye.Number||(null==(n=o.inferredTypeSource)?void 0:n.nodeType)===aO.ye.Ellipsis)return;let l=await cq(t,e);if(!l)return;let d=f2(e,o.inferredTypeSource),u=await vs(o,d,l,t);return{type:l,straightForwardCase:u}}async function vs(e,t,i,r){if(e.inferredTypeSource&&f4(e.inferredTypeSource))return!0;if(!t||!(0,aM.aE)(i))return!1;if(t.nodeType===aO.ye.Call){let e=vi(t.d.leftExpr);if(e){let t=await cq(r,e);if(t&&(0,aM.D4)(t))return!0}}return!1}async function vo(e,t,i){var r,n;if(f6(e))return;let a=await t.getDeclInfoForNameNode(e),s=null==a?void 0:a.decls;if(!s||0===s.length||s.some(e=>f7(e)))return;let o=s.find(t=>(0,aA.Je)(t)===e);if(!o||(null==(r=e.parent)?void 0:r.nodeType)===aO.ye.Tuple)return;if(o.type===aF.h3.Function&&(null==(n=e.parent)?void 0:n.nodeType)===aO.ye.Function){let r=e.parent,n=await vn(r,t,i);if(!n)return;return{type:vr(t,n.returnType),targetNode:r,separator:" -> ",insertOffset:r.d.suite.start}}let l=await va(e,t);if(l&&!l.straightForwardCase)return{type:vr(t,l.type),targetNode:e,separator:": ",insertOffset:aB.vY.getEnd(e)}}function vl(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function vd(e,t,i,r,n){return((0,n8.Lj)(n),void 0!==e.getParseResults(t)&&e.evaluator)?new vu(e,t,i,r,n).collects():[]}class vu extends aE.gw{collects(){return this.walk(this._parseResults.parserOutput.parseTree),this._builder}getVariableInlayHint(e){(0,n8.Lj)(this._cancellationToken);let t=f8(e,this._evaluator);if(t&&!t.straightForwardCase)return this._buildHint(e,t.type,e,aB.vY.getEnd(e),": ",32)}getParameterInlayHint(e){if((0,n8.Lj)(this._cancellationToken),e.d.annotation||void 0===e.d.name||!this._fixtureFinder||!this._preferences.pytestParametersInlayTypeHints)return;let t=hs(this._fixtureFinder,e,this._cancellationToken);if(t)return this._buildHint(e,t,e.d.name,aB.vY.getEnd(e),": ",32,nZ.InlayHintKind.Type)}getFunctionInlayHint(e){if((0,n8.Lj)(this._cancellationToken),!this._preferences.functionReturnInlayTypeHints)return;let t=f3(e,this._evaluator,this._parseResults);if(!t)return;let i=this._buildHint(e,t.returnType,e.d.name,e.d.suite.start," -> ",64);return vp(e,t.returnType)||(i.textEdits=[this._generateTextEditsFromLabel(i)]),this._addQuotesToReturnTypeAnnotations(i.textEdits,t.functionType,t.returnType),i}visitSuite(e){return!!this._isNodeInRange(e)}visitStatementList(e){return!!this._isNodeInRange(e)}visitName(e){return!1}visitParameter(e){return!!this._isNodeInRange(e)&&(this._addInlayHint(this.getParameterInlayHint(e)),!0)}visitCall(e){var t,i;let r;if((0,n8.Lj)(this._cancellationToken),this._preferences.callArgumentNameInlayHints===hN.off||(e.d.leftExpr.nodeType===aO.ye.Name?r=e.d.leftExpr:e.d.leftExpr.nodeType===aO.ye.MemberAccess&&(r=e.d.leftExpr.d.member),!r))return!0;let n=null==(t=this._evaluator.getDeclInfoForNameNode(r))?void 0:t.decls;if(!n||0===n.length)return!0;let a=n[0],s=this._evaluator.resolveAliasDeclaration(a,!0);if((null==s?void 0:s.type)===aF.h3.Class){let t=(0,cd.LY)(r,this._evaluator);(null==t||null==(i=t.methodType)?void 0:i.category)===aM.vb.Function&&this._addArgNameHintsForCall(t.methodType,e)}else if((null==s?void 0:s.type)===aF.h3.Variable||(null==s?void 0:s.type)===aF.h3.Function){let t=(0,cd.NA)(this._evaluator,r);if(t.category===aM.vb.Function)this._addArgNameHintsForCall(t,e);else if(t.category===aM.vb.Class&&(0,aM.aE)(t)){let i=(0,fS.AN)(this._evaluator,e,t);(null==i?void 0:i.type.category)===aM.vb.Function&&this._addArgNameHintsForCall(i.type,e)}}return!0}visitFunction(e){return!!this._isNodeInRange(e)&&(this._addInlayHint(this.getFunctionInlayHint(e)),!0)}visitAssignment(e){return!!this._isNodeInRange(e)&&(!this._preferences.variableInlayTypeHints||((0,n8.Lj)(this._cancellationToken),e.d.leftExpr.nodeType===aO.ye.Tuple?e.d.leftExpr.d.items.forEach(e=>{this._addHintForExpression(e)}):this._addHintForExpression(e.d.leftExpr),!0))}_generateTextEditsFromLabel(e){let t=e.label,i=e.position,r=(0,n2.Kg)(t)?t:t.map(e=>e.value).join("");return nZ.TextEdit.insert(i,":#"+r)}_addInlayHint(e){e&&this._builder.push(e)}_addArgNameHintsForCall(e,t){if(this._preferences.callArgumentNameInlayHints===hN.off)return;let i=(0,dD.MC)(e),r=aO.OP.Simple;t.d.args.forEach((e,t)=>{let n;if(e.d.argCategory===aO.b4.UnpackedList||e.d.argCategory===aO.b4.UnpackedDictionary)return;let a=!1,s=void 0!==e.d.name,o=this._preferences.callArgumentNameInlayHints;if((o===hN.all||o===hN.partial)&&r===aO.OP.Simple&&!s&&t<i.positionParamCount&&(n=i.params[t].param.name,t<i.positionOnlyParamCount&&(a=!0,n=o===hN.partial?void 0:`${n}/`)),void 0!==n&&this._preferences.callArgumentNameInlayHints!==hN.off){let t=e.start,i=(0,aW.l8)(t,this._parseResults.tokenizerOutput.lines),r=a?`${n}`:`${n}=`,s=a?[]:[nZ.TextEdit.insert(i,r)],o=(0,sN.xv)(r,32);this._addInlayHint({label:o,position:i,kind:nZ.InlayHintKind.Parameter,textEdits:s})}})}_addQuotesToReturnTypeAnnotations(e,t,i){if(i.category===aM.vb.Class&&t.shared.methodClass&&aM.p5.isSameGenericClass(aM.p5.cloneAsInstantiable(i),t.shared.methodClass)){for(let t of null!=e?e:[])if(t.newText===` -> ${i.shared.name}`){t.newText=` -> "${i.shared.name}"`;return}}}_isNodeInRange(e){return void 0===this._range||aB.vY.overlapsRange(this._range,e)}_addHintForExpression(e){(e.nodeType===aO.ye.Name||e.nodeType===aO.ye.MemberAccess)&&this._addInlayHint(this.getVariableInlayHint(e.nodeType===aO.ye.Name?e:e.d.member))}_buildHint(e,t,i,r,n,a,s=nZ.InlayHintKind.Type){var o;let l,d=(0,aW.l8)(r,this._parseResults.tokenizerOutput.lines),u=`${n}${this._evaluator.printType(t,{expandTypeAlias:!1,enforcePythonSyntax:!0})}`,p=nZ.InlayHint.create(d,(0,sN.xv)(u,a),s);return p.textEdits=[nZ.TextEdit.insert(p.position,u)],this._isResolveSupported("label.location")&&(o=this._program,(l=new fX(o,this._fileUri,!this._preferences.lazyEdit,a,n,this._cancellationToken)).walk(t),l.label.unshift({value:n}),p.label=l.label),this._isResolveSupported("textEdits")&&(p.textEdits=fZ(this._program,this._parseResults,this._fileUri,e,i,t,d,n,this._preferences.lazyEdit,this._cancellationToken)),this._preferences.lazyEdit&&(p.data=this._createItemData(e)),p}_isResolveSupported(e){var t;return null==(t=this._preferences.supportedResolveSet)?void 0:t.has(e)}_createItemData(e){return(0,o5.Nt)({fileUri:this._fileUri.toString(),offset:e.start,type:e.nodeType})}constructor(e,t,i,r,n){super(),vl(this,"_program",void 0),vl(this,"_fileUri",void 0),vl(this,"_preferences",void 0),vl(this,"_cancellationToken",void 0),vl(this,"_range",void 0),vl(this,"_parseResults",void 0),vl(this,"_evaluator",void 0),vl(this,"_fixtureFinder",void 0),vl(this,"_builder",void 0),this._program=e,this._fileUri=t,this._preferences=r,this._cancellationToken=n,this._builder=[],this._parseResults=this._program.getParseResults(this._fileUri),this._evaluator=this._program.evaluator,this._fixtureFinder=this._program.serviceProvider.tryGet(nM.fixtureFinder),i&&(this._range=(0,aW.AP)(i,this._parseResults.tokenizerOutput.lines))}}function vp(e,t){var i,r,n,a,s;return!(e.nodeType===aO.ye.Name&&((null==(i=e.parent)?void 0:i.nodeType)===aO.ye.Tuple||(null==(n=(r=e).parent)?void 0:n.nodeType)===aO.ye.Assignment&&r.parent.d.rightExpr.nodeType===aO.ye.Assignment||(null==(a=r.parent)?void 0:a.nodeType)===aO.ye.Assignment&&(null==(s=r.parent.parent)?void 0:s.nodeType)===aO.ye.Assignment)||(0,aM.ah)(t)||function(e,t){var i;let r=!1;if(null==e||null==(i=e.props)?void 0:i.typeAliasInfo){let i=(0,aM.j$)(e);t.nodeType!==aO.ye.Name||(null==i?void 0:i.shared.name)!==t.d.value||(0,aM.CP)(e)||(r=!0)}return r}(t,e)||(0,aX.ZP)(t))}let vc="__getattribute__",vh="__getattr__",vm="__setattr__",vy="__delattr__";function vg(e){var t,i;return(null==(t=e.parent)?void 0:t.nodeType)===aO.ye.Assignment&&e.parent.d.leftExpr===e?"set":(null==(i=e.parent)?void 0:i.nodeType)===aO.ye.Del&&e.parent.d.targets.some(t=>t===e)?"del":"get"}async function vf(e,t,i){let r=await e.getBuiltInType(t,"str");if(!(0,aM.dL)(r))return;let n=await e.getType(t.d.leftExpr);if(!n||!(0,aM.aE)(n))return;let a=t.d.member.d.value,s=aM.p5.cloneWithLiteral(aM.p5.cloneAsInstance(r),a),o=[{argCategory:aO.b4.Simple,typeResult:{type:s}}];if("set"===i){var l;let i=await vP(e,t);o.push({argCategory:aO.b4.Simple,typeResult:{type:null!=(l=null==i?void 0:i.type)?l:aM.vn.create(),isIncomplete:!!(null==i?void 0:i.isIncomplete)}})}if("get"===i){let i=await vC(e,t,n,vc);if(i){let r=await vw(e,t,i,o);if(r&&!vb(r,a))return r;if(r&&vb(r,a)){let e=function(e){if((0,aM.Tn)(e))return vv(e)?e:void 0;if(!(0,aM.Gl)(e))return;for(let t of aM.OF.getOverloads(e))if(vv(t))return t;let t=aM.OF.getImplementation(e);if(t&&(0,aM.Tn)(t)&&vv(t))return t}(i.type);if(e)return e}}let r=await vC(e,t,n,vh);if(!r)return;return await vw(e,t,r,o)}let d=await vk(e,t,n,i);if(d)return await vw(e,t,d,o)}function vv(e){let t=vT(e);if(!t)return!1;let i=t._type;return i.category===aM.vb.Class&&aM.p5.isBuiltIn(i,"str")&&void 0===i.priv.literalValue}async function v_(e,t,i,r=!1){let n,a=[],s=await e.getType(t);if(!s||!(0,aM.aE)(s))return a;let o=await vk(e,t,s,i);if(!o||!o.classType)return a;if((0,aM.Tn)(o.type))n=o.type.shared.name;else if((0,aM.Gl)(o.type)&&aM.OF.getOverloads(o.type).length>0)n=aM.OF.getOverloads(o.type)[0].shared.name;else if((0,aM.Gl)(o.type)&&aM.OF.getImplementation(o.type)){var l,d;n=null==(d=aM.OF.getImplementation(o.type))||null==(l=d.shared)?void 0:l.name}if(void 0===n)return a;let u=await e.getBoundMagicMethod(s,n);if(!u)return a;if((0,aM.Tn)(u)&&vS(u,a,r),(0,aM.Gl)(u))for(let e of aM.OF.getOverloads(u))vS(e,a,r);return(0,aM.Gl)(u)&&aM.OF.getImplementation(u)&&vS(aM.OF.getImplementation(u),a,r),a}function vT(e){return e.shared.parameters.find(e=>!((0,aM.CP)(e._type)&&aM.Kn.isSelf(e._type)))}async function vw(e,t,i,r){return(0,aM.Tn)(i.type)?i.type:(0,aM.Gl)(i.type)?await e.getBestOverloadForArgs(t.d.member,{type:i.type},r):void 0}function vb(e,t){return e.shared.name===vc&&!vv(e)&&!function(e,t){let i=vT(e);if(!i)return!1;let r=i._type;if(r.category===aM.vb.Class&&void 0!==r.priv.literalValue&&"string"==typeof r.priv.literalValue)return r.priv.literalValue===t;if(r.category===aM.vb.Union){var n,a;if((null==(n=r.priv.literalClasses.literalStrMap)?void 0:n.has(t))||(null==(a=r.priv.literalInstances.literalStrMap)?void 0:a.has(t)))return!0}return!1}(e,t)}function vS(e,t,i=!1){let r=vT(e);if(void 0===r)return;let n=r._type;if(n.category===aM.vb.Class&&n.priv.literalValue&&(0,n2.Kg)(n.priv.literalValue)||n.category===aM.vb.Union&&(n.priv.literalClasses.literalStrMap||n.priv.literalInstances.literalStrMap)||i&&n.category===aM.vb.Class&&aM.p5.isBuiltIn(n,"str"))return void t.push(e)}async function vk(e,t,i,r){if("get"===r){var n;return null!=(n=await vC(e,t,i,vc))?n:await vC(e,t,i,vh)}return"set"===r?await vC(e,t,i,vm):await vC(e,t,i,vy)}function vI(e,t,i,r){return e.getTypeOfBoundMember(t,i,r,{method:"get"},void 0,aX.Mh.SkipAttributeAccessOverride|aX.Mh.SkipObjectBaseClass)}async function vC(e,t,i,r){return await e.getTypeOfBoundMember(t,i,r,{method:"get"},aX.Mh.SkipAttributeAccessOverride|aX.Mh.SkipObjectBaseClass)}async function vP(e,t){var i;if((null==(i=t.parent)?void 0:i.nodeType)===aO.ye.Assignment)return await e.getTypeResult(t.parent.d.rightExpr)}let vx=new Map([[aj.hu.Add,["__add__","__radd__"]],[aj.hu.Subtract,["__sub__","__rsub__"]],[aj.hu.Multiply,["__mul__","__rmul__"]],[aj.hu.Divide,["__truediv__","__rtruediv__"]],[aj.hu.FloorDivide,["__floordiv__","__rfloordiv__"]],[aj.hu.Mod,["__mod__","__rmod__"]],[aj.hu.Power,["__pow__","__rpow__"]],[aj.hu.LeftShift,["__lshift__","__rlshift__"]],[aj.hu.RightShift,["__rshift__","__rrshift__"]],[aj.hu.BitwiseAnd,["__and__","__rand__"]],[aj.hu.BitwiseXor,["__xor__","__rxor__"]],[aj.hu.BitwiseOr,["__or__","__ror__"]],[aj.hu.LessThan,["__lt__","__gt__"]],[aj.hu.LessThanOrEqual,["__le__","__ge__"]],[aj.hu.Equals,["__eq__","__eq__"]],[aj.hu.NotEquals,["__ne__","__ne__"]],[aj.hu.GreaterThan,["__gt__","__lt__"]],[aj.hu.GreaterThanOrEqual,["__ge__","__le__"]],[aj.hu.MatrixMultiply,["__matmul__","__rmatmul__"]],[aj.hu.MatrixMultiplyEqual,["__imatmul__"]]]),vF=new Map([[aj.hu.Add,["__pos__"]],[aj.hu.Subtract,["__neg__"]],[aj.hu.BitwiseInvert,["__invert__"]]]),vA=new Map([[aj.hu.AddEqual,["__iadd__"]],[aj.hu.SubtractEqual,["__isub__"]],[aj.hu.MultiplyEqual,["__imul__"]],[aj.hu.DivideEqual,["__itruediv__"]],[aj.hu.FloorDivideEqual,["__ifloordiv__"]],[aj.hu.ModEqual,["__imod__"]],[aj.hu.PowerEqual,["__ipow__"]],[aj.hu.LeftShiftEqual,["__ilshift__"]],[aj.hu.RightShiftEqual,["__irshift__"]],[aj.hu.BitwiseAndEqual,["__iand__"]],[aj.hu.BitwiseXorEqual,["__ixor__"]],[aj.hu.BitwiseOrEqual,["__ior__"]]]),vD=new Map([[aj.Wg.In,["__contains__"]],[aj.Wg.Not,["__contains__"]]]),vE=new Map([["repr",{name:"__repr__",argIndex:0}],["str",{name:"__str__",argIndex:0}],["print",{name:"__str__",argIndex:0}],["bytes",{name:"__bytes__",argIndex:0}],["format",{name:"__format__",argIndex:0}],["hash",{name:"__hash__",argIndex:0}],["bool",{name:"__bool__",argIndex:0}],["dir",{name:"__dir__",argIndex:0}],["len",{name:"__len__",argIndex:0}],["reversed",{name:"__reversed__",argIndex:0}],["next",{name:"__next__",argIndex:0}],["divmod",{name:"__divmod__",argIndex:0}],["pow",{name:"__pow__",argIndex:0}],["abs",{name:"__abs__",argIndex:0}],["round",{name:"__round__",argIndex:0}],["complex",{name:"__complex__",argIndex:0}],["float",{name:"__float__",argIndex:0}],["int",{name:"__int__",argIndex:0}],["isinstance",{name:"__instancecheck__",argIndex:1,useMeta:!0}]]);async function vR(e,t){let i=vz(t);if(!i)return!1;let r=await vV(e,v$(t),i[0]);return r&&(0,aM.D4)(r.classType)?!vW(r.classType.shared.moduleName):!(i.length<2)&&await vK(e,t.d.rightExpr,i[1])}async function vN(e,t){let i=vB(t);if(!i)return!1;if(t.nodeType===aO.ye.BinaryOperation)return await vK(e,t.d.rightExpr,i[0]);for(let r of i)if(await vK(e,t.d.iterableExpr,r))return!0;return!1}async function vM(e,t){if(t.d.leftExpr.nodeType!==aO.ye.Name)return!1;let i=vE.get(t.d.leftExpr.d.value);return!!i&&!(t.d.args.length<=i.argIndex)&&t.d.args[i.argIndex].d.argCategory===aO.b4.Simple&&await vK(e,t.d.args[i.argIndex].d.valueExpr,i.name,i.useMeta)}async function vO(e,t,i){let r=i.operatorType;if(!vx.has(r)&&!vF.has(r)&&!vA.has(r))return;let n=(0,aL.gr)(t.parseTree,i.start);if(!n)return;let a=(0,aL.NU)(n,e=>e.nodeType===aO.ye.BinaryOperation||e.nodeType===aO.ye.UnaryOperation?e.d.operatorToken===i:e.nodeType===aO.ye.AugmentedAssignment&&e.d.operator===r);if(!a)return;let s=vz(a);if(!s)return;let o=await e.getType(v$(a));if(!o||!(0,aM.D4)(o))return;let l=s[0],d=await e.getBoundMagicMethod(o,l);if(!d&&s.length>1){l=s[1];let t=await e.getType(a.d.rightExpr);t&&(0,aM.D4)(t)&&(d=await e.getBoundMagicMethod(t,l))}return{name:l,method:d}}async function vU(e,t,i){let r=i.keywordType;if(!vD.has(r))return;let n=(0,aL.gr)(t.parseTree,i.start);if(!n)return;let a=(0,aL.NU)(n,e=>e.nodeType===aO.ye.BinaryOperation?!!(e.d.operatorToken===i||e.d.operator===aj.hu.NotIn&&i.keywordType===aj.Wg.In&&aB.vY.contains(aB.vY.fromBounds(aB.vY.getEnd(e.d.leftExpr),e.d.rightExpr.start),i.start)):e.nodeType===aO.ye.For&&aB.vY.contains(aB.vY.fromBounds(aB.vY.getEnd(e.d.targetExpr),e.d.iterableExpr.start),i.start));if(!a)return;let s=vB(a);if(!s)return;let o=a.nodeType===aO.ye.BinaryOperation?a.d.rightExpr:a.d.iterableExpr,l=await a4(e,o);if(l&&(0,aM.D4)(l))for(let t of s){let i=await e.getBoundMagicMethod(l,t);if(i)return{name:t,method:i}}}async function vL(e,t,i){var r;let n=vE.get(i.value);if(!n)return;let a=(0,aL.gr)(t.parseTree,i.start);if(!a)return;let s=(0,aL.NU)(a,e=>e.nodeType===aO.ye.Call&&e.d.leftExpr.nodeType===aO.ye.Name&&e.d.leftExpr.d.token===i);if(!s||s.d.args.length<=n.argIndex||s.d.args[n.argIndex].d.argCategory!==aO.b4.Simple)return;let o=s.d.args[n.argIndex].d.valueExpr,l=await vj(e,o,null!=(r=n.useMeta)&&r);if(!l)return;let d=await e.getBoundMagicMethod(l,n.name);return{name:n.name,method:d}}function vz(e){return e.nodeType===aO.ye.BinaryOperation?vx.get(e.d.operator):e.nodeType===aO.ye.AugmentedAssignment?vA.get(e.d.operator):vF.get(e.d.operator)}function vW(e){return"builtins"===e||"typing"===e}function vB(e){if(e.nodeType===aO.ye.BinaryOperation){let t=e.d.operatorToken;return vD.get(t.keywordType)}return["__iter__","__getitem__"]}function v$(e){return e.nodeType===aO.ye.BinaryOperation||e.nodeType===aO.ye.AugmentedAssignment?e.d.leftExpr:e.d.expr}async function vj(e,t,i){let r=await a4(e,t);if(r&&(0,aM.D4)(r)){if(i&&(r.shared.effectiveMetaclass||r.shared.declaredMetaclass)){var n;if(!(r=null!=(n=r.shared.effectiveMetaclass)?n:r.shared.declaredMetaclass)||!(0,aM.D4)(r))return}return r}}async function vK(e,t,i,r=!1){let n=await vV(e,t,i,r);return n&&(0,aM.D4)(n.classType)&&!vW(n.classType.shared.moduleName)}async function vV(e,t,i,r=!1){let n=await vj(e,t,r);if(n)return(0,aX.Zn)(n,i,aX.Mh.SkipObjectBaseClass)}function vq(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var vG=((id=vG||{})[id.comment=0]="comment",id[id.keyword=1]="keyword",id[id.operator=2]="operator",id[id.string=3]="string",id[id.number=4]="number",id[id.regexp=5]="regexp",id[id.type=6]="type",id[id.class=7]="class",id[id.interface=8]="interface",id[id.enum=9]="enum",id[id.enumMember=10]="enumMember",id[id.typeParameter=11]="typeParameter",id[id.function=12]="function",id[id.method=13]="method",id[id.property=14]="property",id[id.variable=15]="variable",id[id.parameter=16]="parameter",id[id.module=17]="module",id[id.intrinsic=18]="intrinsic",id[id.selfParameter=19]="selfParameter",id[id.clsParameter=20]="clsParameter",id[id.magicFunction=21]="magicFunction",id[id.builtinConstant=22]="builtinConstant",id[id.parenthesis=23]="parenthesis",id[id.curlybrace=24]="curlybrace",id[id.bracket=25]="bracket",id[id.colon=26]="colon",id[id.semicolon=27]="semicolon",id[id.arrow=28]="arrow",id),vH=((iu=vH||{})[iu.none=0]="none",iu[iu.declaration=1]="declaration",iu[iu.static=2]="static",iu[iu.abstract=4]="abstract",iu[iu.async=8]="async",iu[iu.documentation=16]="documentation",iu[iu.typeHint=32]="typeHint",iu[iu.typeHintComment=64]="typeHintComment",iu[iu.readonly=128]="readonly",iu[iu.decorator=256]="decorator",iu[iu.builtin=512]="builtin",iu[iu.overridden=1024]="overridden",iu[iu.callable=2048]="callable",iu[iu.classMember=4096]="classMember",iu[iu.keywordArgument=8192]="keywordArgument",iu[iu.dynamicAttribute=16384]="dynamicAttribute",iu);let vJ={[aO.ye.Match]:5,[aO.ye.Case]:4},vY=n8.Lj;function vQ(e){if(e.isCancellationRequested)throw new n8.YS}async function vX(e,t,i,r,n,a){return e.serviceProvider.tryGet(nM.test)&&(vY=vQ),await lf(()=>e,async(a,s)=>{var o,l;let d=null!=(o=null==(l=e.getSourceFileInfo(t))?void 0:l.clientVersion)?o:0;return await vZ.getTokens(e,t,i,r,n,d,a,s)},()=>!1,a)||null}class vZ{static computeLegend(e){return{tokenTypes:(0,n2.aL)(vG),tokenModifiers:(0,n2.aL)(vH).filter(e=>e!==vH[0])}}static async getTokens(e,t,i,r,n,a,s,o){vY(o);let l=i?new nZ.SemanticTokensBuilder:function(e,t,i=0){let r=v0.get(e.key);if(!r||r.builder.id!==t||r.version!==i)return void 0!==r&&void 0!==t?(r.version=i,r.builder.previousResult(t)):(r={version:i,builder:new nZ.SemanticTokensBuilder},v0.set(e.key,r)),r.builder}(t,n,a);if(void 0===l)return{resultId:n,edits:[]};let d=r?new v4(l):l,u=e.getParseResults(t);if(!u)return{data:[]};if(r){let t=Date.now();new v1(d,u,i,o).walk();let r=Date.now()-t;e.console.log(`[SemanticTokenProvider] TokenWalker duration: ${r}ms`)}let p=Date.now(),c=new v5(d,u,e,r,i,s,o);await c.walk(u.parserOutput.parseTree),c.fillBuilder();let h=Date.now()-p;return(e.console.log(`[SemanticTokenProvider] TreeWalker duration: ${h}ms`),await e.getSnapshot(o)!==s)?{data:[]}:(vY(o),d.canBuildEdits())?d.buildEdits():d.build()}}let v0=new Map;class v1{walk(){let e=this._parseResults.tokenizerOutput.tokens,t=Math.max(this._range?e.getItemAtPosition(this._range.start):0,0),i=Math.min(this._range?e.getItemAtPosition(aB.vY.getEnd(this._range))+1:e.count,e.count);for(let e=t;e<i;e++){e%10==0&&vY(this._cancellationToken);let t=this._parseResults.tokenizerOutput.tokens.getItemAt(e),i=v1._map.get(t.type);i?this._pushToken(t,i):this._pushComments(t.comments)}}_pushToken(e,t){this._pushComments(e.comments),this._push(e,t)}_pushComments(e){if(e)for(let t of e)t.type===aj.ej.Regular&&this._push({start:t.start-1,length:t.length+1},0)}_push(e,t){let i=(0,aW.l8)(e.start,this._parseResults.tokenizerOutput.lines);this._builder.push(i.line,i.character,e.length,t,0)}constructor(e,t,i,r){vq(this,"_builder",void 0),vq(this,"_parseResults",void 0),vq(this,"_cancellationToken",void 0),vq(this,"_range",void 0),this._builder=e,this._parseResults=t,this._cancellationToken=r,i&&(this._range=(0,aW.AP)(i,this._parseResults.tokenizerOutput.lines))}}vq(v1,"_map",new Map([[aj.ks.Keyword,1],[aj.ks.Number,4],[aj.ks.String,3],[aj.ks.Operator,2],[aj.ks.OpenParenthesis,23],[aj.ks.CloseParenthesis,23],[aj.ks.OpenBracket,25],[aj.ks.CloseBracket,25],[aj.ks.OpenCurlyBrace,24],[aj.ks.CloseCurlyBrace,24],[aj.ks.Colon,26],[aj.ks.Semicolon,27],[aj.ks.Arrow,28]]));class v5 extends fx{walk(e){return(vY(this._cancellationToken),this._isNodeInRange(e))?super.walk(e):Promise.resolve()}async visitSuite(e){return!!this._isNodeInRange(e)}async visitStatementList(e){return!!this._isNodeInRange(e)}async visitName(e){if(vY(this._cancellationToken),!this._isNodeInRange(e))return!1;let t=await this._getNameNodeToken(e);return t&&this._pushToken(e,t.type,t.modifiers),!0}async visitString(e){return!0}async visitFormatString(e){return!!this._isNodeInRange(e)&&(this._includeSyntaxToken&&this._pushToken(e,3,0),!0)}async visitMatch(e){return!!this._isNodeInRange(e)&&(this._pushKeywordNotSupportedByTextMate(e),!0)}async visitCase(e){return!!this._isNodeInRange(e)&&(this._pushKeywordNotSupportedByTextMate(e),!0)}async visitConstant(e){let t=this._getTypeAnnotationModifiers(e);return this._pushToken(e,22,640|t),!0}async visitFor(e){return await this._handleOverriddenKeyword(e)}async visitBinaryOperation(e){return e.d.operatorToken.type===aj.ks.Keyword?await this._handleOverriddenKeyword(e):await this._handleOverriddenOperator(e)}async visitUnaryOperation(e){return await this._handleOverriddenOperator(e)}async visitAugmentedAssignment(e){return await this._handleOverriddenOperator(e)}fillBuilder(){for(let e of(this._sawOutOfOrderTokens&&this._pushQueue.sort((e,t)=>e.start-t.start),this._pushQueue)){let t=e.start,i=e.length,r=e.tokenType,n=e.tokenModifiers,a=(0,aW.er)(t,t+i,this._parseResults.tokenizerOutput.lines);if(a.start.line!==a.end.line)this._pushMultiLineToken(t,i,r,n);else{let e=(0,aW.l8)(t,this._parseResults.tokenizerOutput.lines);this._builder.push(e.line,e.character,i,r,n)}}}_isNodeInRange(e){return void 0===this._range||aB.vY.overlapsRange(this._range,e)}async _getOverridenModifiers(e){var t;if((null==(t=e.parent)?void 0:t.nodeType)!==aO.ye.Call||e.parent.d.leftExpr!==e||!this._evaluator)return 0;let i=e.parent;return 1024*!!await vM(this._evaluator,i)}async _handleOverriddenKeyword(e){if(vY(this._cancellationToken),!this._isNodeInRange(e)||!this._evaluator)return!1;if(!await vN(this._evaluator,e))return!0;let t=this._getOverridenToken(e);if(!t)return!0;if(this._pushToken(t,1,1024),e.nodeType===aO.ye.BinaryOperation&&e.d.operator===aj.hu.NotIn){let i=this._getToken(t.start,e.d.rightExpr.start,aj.ks.Keyword,e=>e.keywordType===aj.Wg.In);i&&this._pushToken(i,1,1024)}return!0}async _handleOverriddenOperator(e){if(vY(this._cancellationToken),!this._isNodeInRange(e)||!this._evaluator)return!1;if(!await vR(this._evaluator,e))return!0;let t=this._getOverridenToken(e);return!t||(this._pushToken(t,2,1024),!0)}_getOverridenToken(e){return e.nodeType===aO.ye.For?this._getToken(aB.vY.getEnd(e.d.targetExpr),e.d.iterableExpr.start,aj.ks.Keyword):e.nodeType!==aO.ye.AugmentedAssignment?e.d.operatorToken:this._getToken(aB.vY.getEnd(e.d.leftExpr),e.d.rightExpr.start,aj.ks.Operator)}_getToken(e,t,i,r){let n=this._parseResults.tokenizerOutput.tokens.getItemAtPosition(e),a=this._parseResults.tokenizerOutput.tokens.getItemAtPosition(t);for(let e=n;e<=a;e++){let t=this._parseResults.tokenizerOutput.tokens.getItemAt(e);if(t.type===i&&(!r||r(t)))return t}}_getParameterTokenType(e){var t,i;let r=null==(t=e.node.d.name)?void 0:t.d.value,n=e.node.parent;if((null==n?void 0:n.nodeType)===aO.ye.Function&&n.d.params.length>0&&(null==(i=n.d.params[0].d.name)?void 0:i.d.value)===r)switch(r){case"self":return 19;case"cls":return 20}return 16}_getKeywordArgumentModifiers(e){var t,i;return(null==(t=e.parent)?void 0:t.nodeType)!==aO.ye.Argument?0:8192*((null==(i=e.parent.d.name)?void 0:i.id)===e.id)}_getEnclosingDecorator(e){let t=e.parent;for(;t;){if(t.nodeType===aO.ye.Decorator)return t;if(t.nodeType===aO.ye.Class||t.nodeType===aO.ye.Function||t.nodeType===aO.ye.Parameter||t.nodeType===aO.ye.Argument)break;t=t.parent}}_getDecoratorModifiers(e){return 256*(void 0!==this._getEnclosingDecorator(e))}_getFunctionTokenType(e,t){return(0,aN.SW)(e.d.value)?21:t.isMethod?13:12}_getBuiltinModifiers(e){return 512*("builtins"===e)}_getTypeAnnotationModifiers(e){return(0,aL.wI)(e)?64:32*!!(0,aL.re)(e,!1)}async _getNameNodeToken(e){var t,i,r,n,a,s,o,l,d,u,p,c,h,m,y,g;if(this._cachedNodeTokenInfo.has(e))return this._cachedNodeTokenInfo.get(e);let f=await (null==(t=this._evaluator)?void 0:t.getDeclInfoForNameNode(e,!0)),v=null==f?void 0:f.decls;if((!v||0===v.length)&&(null==f?void 0:f.synthesizedTypes)){for(let e of f.synthesizedTypes)if(e.node){let t=await (null==(i=this._evaluator)?void 0:i.getDeclInfoForNameNode(e.node,!0));v=null==t?void 0:t.decls;break}}if(v&&v.length>0){let t=await (null==(r=this._evaluator)?void 0:r.resolveAliasDeclaration(v[0],!0));if(t){let i=this._getBuiltinModifiers(t.moduleName),r=this._getTypeAnnotationModifiers(e);switch(t.type){case aF.h3.Intrinsic:return{type:15,modifiers:512};case aF.h3.Param:{let i=+((null==(n=e.parent)?void 0:n.nodeType)===aO.ye.Parameter);return{type:this._getParameterTokenType(t),modifiers:i|this._getKeywordArgumentModifiers(e)}}case aF.h3.TypeParam:return{type:11,modifiers:t.node.d.name.id===e.id|r};case aF.h3.SpecialBuiltInClass:return{type:7,modifiers:r|i};case aF.h3.Class:{let n=+((null==(a=e.parent)?void 0:a.nodeType)===aO.ye.Class),o=this._getDecoratorModifiers(e),l=await this._getOverridenModifiers(e),d=await (null==(s=this._evaluator)?void 0:s.getTypeOfClass(t.node)),u=r|o|l|n|i;if(d&&aM.p5.isEnumClass(d.classType))return{type:9,modifiers:u};return{type:7,modifiers:u}}case aF.h3.Function:{let i=null==(o=await (null==(l=this._evaluator)?void 0:l.getTypeForDeclaration(t)))?void 0:o.type;return await this._getFunctionSemanticTokenInfo(e,i,t)}case aF.h3.Variable:{let n=+(t.node.id===e.id),a=this._getDecoratorModifiers(e)|n|r|i;if(this._evaluator&&await this._evaluator.isExplicitTypeAliasDeclaration(t))return{type:7,modifiers:a};let s=(0,aL.Ji)(t.node,!0);if(s){let t=await (null==(c=this._evaluator)?void 0:c.getTypeOfClass(s));if(t&&aM.p5.isEnumClass(t.classType))return{type:10,modifiers:a};a|=4096;let i=await (null==(h=this._evaluator)?void 0:h.getType(e));return i&&this._isSimpleCallable(i)&&(a|=2048),{type:15,modifiers:a}}if((null==(d=e.parent)?void 0:d.nodeType)===aO.ye.MemberAccess&&(null==(u=e.parent)?void 0:u.d.member.id)===e.id)return(0,aL.Ji)(t.node,!1)&&(a|=4096),{type:15,modifiers:a};let o=await (null==(p=this._evaluator)?void 0:p.getType(e));if(o){if((0,aM.dL)(o))return{type:7,modifiers:a};this._isSimpleCallable(o)&&(a|=2048)}return{type:15,modifiers:(0,aN.Qm)(e.d.value)?128|a:a}}case aF.h3.TypeAlias:{let t=+((null==(m=e.parent)?void 0:m.nodeType)===aO.ye.TypeAlias);return{type:7,modifiers:this._getDecoratorModifiers(e)|t|r|i}}case aF.h3.Alias:return{type:17,modifiers:this._getDecoratorModifiers(e)|r}}}}else{let t=this._getKeywordArgumentModifiers(e);if(0!==t)return{type:16,modifiers:t};let i=this._getDecoratorModifiers(e),r=await (null==(y=this._evaluator)?void 0:y.getType(e));if((null==r?void 0:r.category)===aM.vb.Module)return{type:17,modifiers:i};if((null==(g=e.parent)?void 0:g.nodeType)===aO.ye.ModuleName){let t=e.parent;if(t.d.nameParts.length>1){let i=t.d.nameParts[t.d.nameParts.length-1];if(i!==e){let e=await this._getNameNodeToken(i);return this._cachedNodeTokenInfo.set(i,e),e}}}else if((null==f?void 0:f.synthesizedTypes)&&f.synthesizedTypes.length>0)return await this._getSynthesizedTypeToken(e,f.synthesizedTypes);let n=await this._tryGetDynamicAttributeToken(e);if(n)return n}}async _tryGetDynamicAttributeToken(e){var t;if(!this._evaluator||(null==(t=e.parent)?void 0:t.nodeType)!==aO.ye.MemberAccess)return;let i=e.parent;if(i.d.member.id!==e.id)return;let r=vg(i);if("get"!==r)return;let n=await this._evaluator.getType(e);if(n&&n.category!==aM.vb.Module&&await vf(this._evaluator,i,r))return{type:15,modifiers:16384}}async _getSynthesizedTypeToken(e,t){for(let i of t){let t=i.type;if(t.category===aM.vb.Overloaded){let e=aM.OF.getOverloads(t);if(0===e.length)return;t=e[0]}if(t.category===aM.vb.Function)return await this._getFunctionSemanticTokenInfo(e,t)}}async _getFunctionSemanticTokenInfo(e,t,i){var r,n;let a=12,s=+((null==(n=e.parent)?void 0:n.nodeType)===aO.ye.Function),o=this._getBuiltinModifiers(null!=(r=null==i?void 0:i.moduleName)?r:""),l=this._getDecoratorModifiers(e)|await this._getOverridenModifiers(e)|s|o;return t&&((null==i?void 0:i.isMethod)&&(0,aX.jj)(t,!1)&&(a=14),t.category===aM.vb.Function&&(i&&(a=this._getFunctionTokenType(e,i)),t.shared.flags&aM.wt.AbstractMethod&&(l|=4),t.shared.flags&aM.wt.StaticMethod&&(l|=2),(t.shared.flags&aM.wt.Async||(null==i?void 0:i.node.d.isAsync))&&(l|=8))),{type:a,modifiers:l}}_pushKeywordNotSupportedByTextMate(e){if(this._includeSyntaxToken)return;let t=vJ[e.nodeType];(0,n6.iY)(t,"unknown keyword"),this._pushToken(aB.vY.create(e.start,t),1,0)}_pushToken(e,t,i){0===e.length||(!this._range||aB.vY.overlapsRange(e,this._range))&&(this._pushQueue.push({start:e.start,length:e.length,tokenType:t,tokenModifiers:i}),this._previousTokenStart>e.start&&(this._sawOutOfOrderTokens=!0),this._previousTokenStart=e.start)}_pushMultiLineToken(e,t,i,r){let n=e+t,a=this._parseResults.tokenizerOutput.tokens.getItemAtPosition(e);for(;a>=0&&a<this._parseResults.tokenizerOutput.tokens.count;){let t=this._parseResults.tokenizerOutput.tokens.getItemAt(a);if(t.start>=n)break;let s=t.start+t.length;if(t.start>=e&&s<=n){let e=(0,aW.l8)(t.start,this._parseResults.tokenizerOutput.lines);this._builder.push(e.line,e.character,t.length,i,r)}a++}}_isSimpleCallable(e){return!!((0,aM.Tn)(e)||(0,aM.Gl)(e))||!!(0,aM.aE)(e)&&!!(0,aX.mN)(e,"__call__",aX.Mh.SkipInstanceMembers)}constructor(e,t,i,r,n,a,s){super(),vq(this,"_builder",void 0),vq(this,"_parseResults",void 0),vq(this,"_asyncProgram",void 0),vq(this,"_includeSyntaxToken",void 0),vq(this,"_snapshot",void 0),vq(this,"_cancellationToken",void 0),vq(this,"_cachedNodeTokenInfo",void 0),vq(this,"_range",void 0),vq(this,"_pushQueue",void 0),vq(this,"_previousTokenStart",void 0),vq(this,"_sawOutOfOrderTokens",void 0),vq(this,"_evaluator",void 0),this._builder=e,this._parseResults=t,this._asyncProgram=i,this._includeSyntaxToken=r,this._snapshot=a,this._cancellationToken=s,this._cachedNodeTokenInfo=new Map,this._pushQueue=[],this._previousTokenStart=-1,this._sawOutOfOrderTokens=!1,this._evaluator=i.getEvaluator(a),n&&(this._range=(0,aW.AP)(n,this._parseResults.tokenizerOutput.lines))}}class v4{push(e,t,i,r,n){this._tokens.push({line:e,character:t,length:i,tokenType:r,tokenModifiers:n})}canBuildEdits(){return this._builder.canBuildEdits()}build(){return this._ensureData(),this._builder.build()}buildEdits(){return this._ensureData(),this._builder.buildEdits()}_ensureData(){this._tokens.sort((e,t)=>{let i=(0,aB.Ez)(e,t);return 0!==i?i:e.length<t.length?-1:e.length>t.length?1:e.tokenType<t.tokenType?-1:e.tokenType>t.tokenType?1:e.tokenModifiers<t.tokenModifiers?-1:1*!!(e.tokenModifiers>t.tokenModifiers)}),this._tokens.forEach(e=>this._builder.push(e.line,e.character,e.length,e.tokenType,e.tokenModifiers))}constructor(e){vq(this,"_builder",void 0),vq(this,"_tokens",void 0),this._builder=e,this._tokens=[]}}function v3(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class v8{createTask(e,t,i,r){let n=this._taskMap[t];if(n)return new n(e,i,r);throw Error(`Unsupported pull request task kind: ${t}`)}canHandle(e){return Object.prototype.hasOwnProperty.call(this._taskMap,e)}constructor(){v3(this,"_taskMap",{analyzeFile:v6,getDocumentDiagnostics:v7,getDiagnosticsForRange:v9,writeTypeStub:_e,secondaryTask:_t,getPartialSemanticTokens:_r,getSemanticTokens:_n,getInlayHints:_a,getReferences:_s,getCodeLensReferences:_o,getCodeLensItems:_l,getTopLevelModules:_d,getImportsUsedInWorkspace:_u,startProfiling:_p,stopProfiling:_c})}}class v2 extends g0{getAsyncProgram(){return this.state.enableExternalTypeServer?this.state.externalProgram:cl(this.state.program)}constructor(e){super(),v3(this,"state",void 0),this.state=e}}class v6 extends v2{async run(e){return(0,n8.Lj)(e.token),this.state.program.analyzeFile(this._params.fileUri,e.token)}constructor(e,t){super(e),v3(this,"_params",void 0),this._params=t}}class v7 extends v2{async run(e){return await lk(this.getAsyncProgram(),this._params.uri,this._params.previousResultId,e.token)}constructor(e,t){super(e),v3(this,"_params",void 0),this._params=t}}class v9 extends v2{async run(e){(0,n8.Lj)(e.token);let t=await lk(this.getAsyncProgram(),this._params.fileUri,void 0,e.token);return"full"===t.kind?t.items.filter(e=>e.range.start.line>=this._params.range.start.line&&e.range.end.line<=this._params.range.end.line):[]}constructor(e,t){super(e),v3(this,"_params",void 0),this._params=t}}class _e extends g0{async run(e){(0,n8.Lj)(e.token),(0,fT.Z)(this._state.program,void 0,this._state.configOptions,fT.q,this._state.program.serviceProvider.console(),e.token),this._state.program.writeTypeStub(this._params.targetImportPath,this._params.targetIsSingleFile,this._params.stubPath,e.token)}constructor(e,t){super(),v3(this,"_state",void 0),v3(this,"_params",void 0),this._state=e,this._params=t}}class _t extends g0{async run(e){(0,n8.Lj)(e.token);let t=this._state.program.serviceProvider.tryGet(nM.secondaryTaskRegistry);if(!t)return;let i=t.getTask(this._params.task);if(!i)throw Error(`No secondary task registered with name ${this._params.task}`);return await i(this._state,this._params.data,{report:e=>this._port.postMessage({kind:"data",data:ao(e)})},e.token)}constructor(e,t,i){super(),v3(this,"_state",void 0),v3(this,"_params",void 0),v3(this,"_port",void 0),this._state=e,this._params=t,this._port=i}}class _i extends v2{async getSemanticTokens(e){(0,n8.Lj)(e.token);let t=this._params,i=void 0!==t.range?"range":(0,n2.Kg)(t.previousResultId)?"delta":"full",r=new of.dw,n=await oB(this.state.telemetry,oN.SEMANTICTOKENS_SLOW,async r=>{let n=this._getSemanticInfoAsString(i,t.range,t.previousResultId),a=this.state.logTracker.log(`SemanticTokens ${n} at ${t.fileUri}`,async()=>await vX(this.getAsyncProgram(),t.fileUri,t.range,t.includeSyntaxToken,t.previousResultId,e.token)),s=await a;if(r.addCustomProperty("type",i),nZ.SemanticTokens.is(s))r.addCustomMeasure("count",s.data.length);else if(s){var o;r.addCustomMeasure("count",null==(o=s.edits)?void 0:o.length)}return s},_m);return"range"===i?this.state.startupTelemetry.tokenRangeMs+=r.getDurationInMilliseconds():"full"===i?this.state.startupTelemetry.tokenFullMs+=r.getDurationInMilliseconds():"delta"===i&&(this.state.startupTelemetry.tokenDeltaMs+=r.getDurationInMilliseconds()),n}_getSemanticInfoAsString(e,t,i){let r=`${e}`;return t&&(r+=` ${t.start.line}:${t.start.character} - ${t.end.line}:${t.end.character}`),i&&(r+=` previousResultId:${i}`),r}constructor(e,t){super(e),v3(this,"_params",void 0),this._params=t}}class _r extends _i{async run(e){return await this.getSemanticTokens(e)}constructor(e,t){super(e,t)}}class _n extends _i{async run(e){return await this.getSemanticTokens(e)}constructor(e,t){super(e,t)}}class _a extends g0{async run(e){return(0,n8.Lj)(e.token),oB(this._state.telemetry,oN.INLAYHINTS_SLOW,()=>this._state.logTracker.log(`InlayHints range ${this._params.range.start.line}:${this._params.range.start.character} - ${this._params.range.end.line}:${this._params.range.end.character} at ${this._params.fileUri}`,()=>vd(this._state.program,this._params.fileUri,this._params.range,this._params.options,e.token)),_h)}constructor(e,t){super(),v3(this,"_state",void 0),v3(this,"_params",void 0),this._state=e,this._params=t}}class _s extends v2{async run(e){(0,n8.Lj)(e.token);let{fileUri:t,position:i,includeDeclaration:r,enableProgressReporting:n}=this._params,a=new sU.iH(this.state.program,e.token,hK,hV).reportReferences(t,i,r,n?{report:e=>{this._port.postMessage({kind:"data",data:ao(e)})}}:void 0);return null!=a?a:null}constructor(e,t,i){super(e),v3(this,"_params",void 0),v3(this,"_port",void 0),this._params=t,this._port=i}}class _o extends v2{async run(e){(0,n8.Lj)(e.token);let{fileUri:t,position:i,includeDeclaration:r}=this._params,n=new sU.iH(this.state.program,e.token,void 0,void 0).reportReferences(t,i,r,void 0);return null!=n?n:null}constructor(e,t,i){super(e),v3(this,"_params",void 0),this._params=t}}class _l extends v2{async run(e){(0,n8.Lj)(e.token);let{fileUri:t}=this._params,i=this.state.program;return i.getParseResults(t)?new fb(i,t,e.token).collects():[]}constructor(e,t){super(e),v3(this,"_params",void 0),this._params=t}}class _d extends g0{async run(e){return(0,n8.Lj)(e.token),sy(this._state.program,this._params,e.token)}constructor(e,t){super(),v3(this,"_state",void 0),v3(this,"_params",void 0),this._state=e,this._params=t}}class _u extends g0{async run(e){return(0,n8.Lj)(e.token),se(this._state.program,this._params.fileUri,e.token)}constructor(e,t){super(),v3(this,"_state",void 0),v3(this,"_params",void 0),this._state=e,this._params=t}}class _p extends g0{async run(e){(0,n8.Lj)(e.token);let t=this._state.program.serviceProvider.tryGet(nM.profilingService);if(t)return await t.startProfiling(this._params)}constructor(e,t){super(),v3(this,"_state",void 0),v3(this,"_params",void 0),this._state=e,this._params=t}}class _c extends g0{async run(e){(0,n8.Lj)(e.token);let t=this._state.program.serviceProvider.tryGet(nM.profilingService);if(!t)return;let i=await t.stopProfiling();return i&&i.outputFileUris&&i.outputFileUris.length>0?i.outputFileUris[0]:void 0}constructor(e,t){super(),v3(this,"_state",void 0),v3(this,"_params",void 0),this._state=e,this._params=t}}let _h=2e3,_m=2e3;function _y(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class _g extends g0{constructor(e){super(),_y(this,"port",void 0),this.port=e}}class _f{createTask(e,t,i,r){let n=this._taskMap[t];if(n)return new n(e,i,r);throw Error(`Unsupported push request task kind: ${t}`)}canHandle(e){return Object.prototype.hasOwnProperty.call(this._taskMap,e)}constructor(){_y(this,"_taskMap",{analyzeSyntax:_v,analyze:__,indexWorkspaceSymbols:_T})}}class _v extends _g{async run(e){(0,n8.Lj)(e.token);try{let t=new of.dw,i=this._state.program,r=i.getOpened().filter(e=>(0,aR.xX)(e)),n=this._getRequiringAnalysisCount(r);for(let a of r){if((0,n8.Lj)(e.token),i.getParseResults(a.uri),this._updateRequiringAnalysisCount(a,n),n.cells+n.files>0&&50>t.getDurationInMilliseconds())continue;let r=i.getDiagnostics(i.configOptions);t=new of.dw,this._reportAnalysisResults({diagnostics:r,filesInProgram:i.getFileCount(),requiringAnalysisCount:n,checkingOnlyOpenFiles:i.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:t.getDurationInSeconds(),reason:"analysis"})}}catch(e){if(n8.YS.is(e))throw e;console.error("Error performing analysis: "+n6.WH(e)),this._reportAnalysisResults({diagnostics:[],filesInProgram:0,requiringAnalysisCount:{files:0,cells:0},checkingOnlyOpenFiles:!0,fatalErrorOccurred:!0,configParseErrorOccurred:!1,elapsedTime:0,error:n6.II(e),reason:"analysis"})}}_getRequiringAnalysisCount(e){let t=e.filter(e=>e.ipythonMode===sA.Bk.CellDocs).length;return{cells:t,files:e.length-t}}_updateRequiringAnalysisCount(e,t){e.ipythonMode===sA.Bk.CellDocs?t.cells--:t.files--}_reportAnalysisResults(e){this.port.postMessage({kind:"data",data:ao(e)})}constructor(e,t,i){super(i),_y(this,"_state",void 0),this._state=e}}class __ extends _g{async run(e){var t;(0,n8.Lj)(e.token),this._state.analysisDuration=null!=(t=this._state.analysisDuration)?t:new of.dw;let i=this._state.program.getFilesToAnalyzeCount();this._reportAnalysisResults({diagnostics:[],filesInProgram:this._state.program.getFileCount(),requiringAnalysisCount:i,checkingOnlyOpenFiles:this._state.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0,reason:"analysis"});let r={openFilesTimeInMs:50,noOpenFilesTimeInMs:200};for(;this._analyze(r,e.token););(0,n8.Lj)(e.token),this._analysisDone()}_analyze(e,t){return(0,fT.Z)(this._state.program,e,this._state.configOptions,e=>this._reportAnalysisResults(e),this._state.program.serviceProvider.console(),t)}_analysisDone(){this._reportAnalysisDone();let e=this._state.telemetryDuration.getDurationInSeconds();if(e-this._state.lastTelemetryReported>600&&(this._state.importResolver.sendTelemetry(),this._state.lastTelemetryReported=e),!this._state.startupDuration||!this._state.analysisDuration)return;this._state.startupTelemetry.totalMs=this._state.startupDuration.getDurationInMilliseconds(),this._state.startupTelemetry.analysisMs=this._state.analysisDuration.getDurationInMilliseconds()-this._state.startupTelemetry.userIndexMs;let t=new oU(oN.STARTUP_METRICS);t.Measurements.tokenRangeMs=this._state.startupTelemetry.tokenRangeMs,t.Measurements.tokenFullMs=this._state.startupTelemetry.tokenFullMs,t.Measurements.tokenDeltaMs=this._state.startupTelemetry.tokenDeltaMs,t.Measurements.analysisMs=this._state.startupTelemetry.analysisMs,t.Measurements.userIndexMs=this._state.startupTelemetry.userIndexMs,t.Measurements.totalMs=this._state.startupTelemetry.totalMs,t.Measurements.preSetFileOpenMs=this._state.startupTelemetry.preSetFileOpenMs,void 0!==this._state.startupTelemetry.peakRss&&(t.Measurements.peakRssMB=this._state.startupTelemetry.peakRss/1024/1024),this._state.telemetry.sendTelemetry(t),this._state.startupDuration=void 0,this._state.analysisDuration=void 0,this._state.startupTelemetry=TP()}_reportAnalysisResults(e){e.diagnosticsSeen=l_(e.diagnostics),this.port.postMessage({kind:"data",data:ao(e)})}_reportAnalysisDone(){let e={diagnostics:[],filesInProgram:0,requiringAnalysisCount:{files:0,cells:0},checkingOnlyOpenFiles:!1,fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0,reason:"tracking"};e.done=!0,this.port.postMessage({kind:"data",data:ao(e)})}constructor(e,t,i){super(i),_y(this,"_state",void 0),this._state=e}}class _T extends _g{async run(e){if((0,n8.Lj)(e.token),0===this._state.openFiles.size)return;let t=new of.dw;oB(this._state.telemetry,oN.WORKSPACEINDEX_SLOW,t=>{var i,r,n,a;let s=this._state.program.serviceProvider.console(),o=this._getMaxUserFilesIndexCount(),l=o6.indexWorkspace(this._state.logTracker,this._state.program,this._state.indexTracker,o,null==(i=null==(n=this._state.indexOptions)?void 0:n.followSymlinkedFolders)||i,this._symlinkedDirectoryRoots,null!=(r=null==(a=this._state.indexOptions)?void 0:a.includeAliasesFromUserFiles)&&r,(e,t)=>{s.log(`Workspace indexing done: ${e}`),this._reportIndex(t)},e.token);if(l>=o){s.warn(`Workspace indexing has hit its upper limit: ${o} files`);let e=new oU(oN.WORKSPACEINDEX_THRESHOLD_REACHED);e.Measurements.index_count=l,this._state.telemetry.sendTelemetry(e)}t.addCustomMeasure("count",l)},_w),this._state.startupTelemetry.userIndexMs=t.getDurationInMilliseconds()}_getMaxUserFilesIndexCount(){var e;return(null==(e=this._state.indexOptions)?void 0:e.userFileIndexingLimit)===void 0?_b:this._state.indexOptions.userFileIndexingLimit>=0?this._state.indexOptions.userFileIndexingLimit:Number.MAX_SAFE_INTEGER}_reportIndex(e){this.port.postMessage({kind:"data",data:ao(e)})}constructor(e,t,i){super(i),_y(this,"_state",void 0),_y(this,"_symlinkedDirectoryRoots",void 0),this._state=e,this._symlinkedDirectoryRoots=t.symlinkedDirectoryRoots}}let _w=1e4,_b=2e3;function _S(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class _k{registerTask(e,t){this._tasks.set(e.name,t)}getTask(e){return this._tasks.get(e)}unregisterTask(e){this._tasks.delete(e)}constructor(){_S(this,"_tasks",new Map)}}function _I(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class _C{get fs(){return this.serviceProvider.fs()}get console(){return this.serviceProvider.console()}constructor(e,t){_I(this,"serviceProvider",void 0),this.serviceProvider=t,(0,n8.FT)(e.cancellationFolderName),this.serviceProvider.tryGet(n7.y.console)||this.serviceProvider.add(n7.y.console,new Tk(nV.parentPort,`BG(${e.workspaceName})`));let i=this.serviceProvider.tryGet(n7.y.tempFile);i||(i=new n5.v1(e.tempFileName),this.serviceProvider.add(n7.y.tempFile,i)),this.serviceProvider.tryGet(n7.y.caseSensitivityDetector)||this.serviceProvider.add(n7.y.caseSensitivityDetector,i),this.serviceProvider.tryGet(n7.y.fs)||this.serviceProvider.add(n7.y.fs,(0,n5.GD)(this.serviceProvider.get(n7.y.caseSensitivityDetector),this.console)),this.serviceProvider.tryGet(n7.y.cacheManager)||this.serviceProvider.add(n7.y.cacheManager,new gr.G),global.__rootDirectory=n4.z.parse(e.rootUri,this.serviceProvider).getFilePath()}}class _P{get(e){return this._map.get(e)}set(e,t){this._map.set(e,t)}clearAll(){this._map=new WeakMap}constructor(){_I(this,"_map",new WeakMap)}}class _x extends _C{dispose(){for(let e=this._disposables.length-1;e>=0;e--)this._disposables[e].dispose();this._disposables.length=0,this._state.externalProgram.dispose(),this._state.program.dispose()}start(){this.console.log(`Task background runner(${nV.threadId}) started`),null===nV.parentPort||void 0===nV.parentPort||nV.parentPort.on("message",this._onMessage.bind(this)),null===nV.parentPort||void 0===nV.parentPort||nV.parentPort.on("error",e=>n6.fJ(`failed ${e}`)),null===nV.parentPort||void 0===nV.parentPort||nV.parentPort.on("exit",e=>{0!==e&&n6.fJ(`worker stopped with exit code ${e}`)})}_onMessage(e){try{if("init"===e.requestType&&void 0===this._priorityQueueTaskRunner){var t,i,r;this._priorityQueueTaskRunner=e.port,null==(t=this._priorityQueueTaskRunner)||t.on("message",this._onPriorityQueueMessage.bind(this)),null==(i=this._priorityQueueTaskRunner)||i.on("error",e=>n6.fJ(`failed ${e}`)),null==(r=this._priorityQueueTaskRunner)||r.on("exit",e=>{0!==e&&n6.fJ(`worker stopped with exit code ${e}`)});return}this.console.error(`Received message(${e.requestType}) in ${nV.threadId} when it shouldn't have`)}catch(t){if(n8.YS.is(t))return;this.console.error(`Exception: for msg ${e.requestType}: ${t.message} in ${t.stack}`)}}async _onPriorityQueueMessage(e){try{var t;if("init"===e.requestType)return void this.console.error(`Received message(${e.requestType}) in ${nV.threadId} when it shouldn't have`);let i=al(e.data),r=(0,at.Gc)(null!=(t=e.contextCancellationId)?t:"");await this._runTask(this._createTask(e.requestType,e,i),e,r),this._postToPriorityQueue(e.syncPort,{kind:"ok",data:{port:e.port}})}catch(t){if(n8.YS.is(t))return void this._postToPriorityQueue(e.syncPort,{kind:"cancelled",data:{port:e.port}});this.console.error(`Exception: for msg ${e.requestType}: ${t.message} in ${t.stack}`),this._postToPriorityQueue(e.syncPort,{kind:"failed",data:{port:e.port}})}}async _runTask(e,t,i){if(!e)return void this.console.log(`Task background runner(${nV.threadId}) empty task for ${t.requestType}`);let r={kind:"data",data:{command:"requestRequeue"}},n={token:i,requestRequeue:()=>this._postToPriorityQueue(t.syncPort,r)},a=await this._state.program.run(()=>e.run(n),i);t.port&&(TI(()=>a,t.port),t.port=void 0)}_postToPriorityQueue(e,t){e.postMessage(t,t.data.port?[t.data.port]:void 0)}_createTask(e,t,i){if(this._notificationTaskFactory.canHandle(e))return this._notificationTaskFactory.createTask(this._state,e,i);if(this._pullRequestTaskFactory.canHandle(e))return this._pullRequestTaskFactory.createTask(this._state,e,i,t.port);if(this._pushRequestTaskFactory.canHandle(e))return this._pushRequestTaskFactory.createTask(this._state,e,i,t.port);throw Error(`Unknown request type: ${t.requestType}`)}constructor(e,t){super(nV.workerData,t),_I(this,"_workspaceRoot",void 0),_I(this,"_state",void 0),_I(this,"_disposables",void 0),_I(this,"_notificationTaskFactory",void 0),_I(this,"_pullRequestTaskFactory",void 0),_I(this,"_pushRequestTaskFactory",void 0),_I(this,"_priorityQueueTaskRunner",void 0),this._workspaceRoot=e,this._disposables=[],this._notificationTaskFactory=new g5,this._pullRequestTaskFactory=new v8,this._pushRequestTaskFactory=new _f;const i=t.tryGet(nM.checkTypesCallback);t.add(n7.y.sourceFileFactory,new gg(i)),t.add(n7.y.debugInfoInspector,new og);const r=nV.workerData;this.console.log(`Task background runner(${nV.threadId}) root directory: ${r.rootUri}`);const n={sendTelemetry(e){null===nV.parentPort||void 0===nV.parentPort||nV.parentPort.postMessage({requestType:"telemetry",data:ao(e)})},addPropertyToNextEvent(e,t,i){},addDurationToNextEvent(e,t,i){}},a=new ae.N7(n4.z.parse(r.rootUri,t)),s=t.tryGet(nM.hostFactory),o=s?()=>s.createHost(dC.n.LimitedAccess):()=>gu.createHost(dC.n.LimitedAccess,t),l=g_(t,a,o(),n),d=new o1.H(this.console,`BG(${r.workspaceName})`),u=new gi.B(l,a,t,d,void 0,r.serviceId);t.add(nM.profilingService,new gL(t,d.name)),t.add(nM.versionService,new gz(e=>{var t;return null==(t=u.configOptions.findExecEnvironment(e))?void 0:t.pythonVersion})),yY(t,new yH(this.console,u,n),nM.checkTypesCallback,n7.y.stateMutationListeners);const p=new gI;t.add(nM.messageTracker,p);const c=new gQ(nV.parentPort);t.add(nM.connectionService,c);const h=t.tryGet(nM.uriMapper);h&&oy.trackBackgroundMessages(p,h);let m=t.tryGet(nM.secondaryTaskRegistry);m||(m=new _k,t.add(nM.secondaryTaskRegistry,m)),m.registerTask(Tb,async(e,t,i)=>{let r=await gn(this.console,t.bundleUri,e.program,i);r&&this._disposables.push(r)}),t.tryGet(nM.typeProviderServiceFactory)||t.add(nM.typeProviderServiceFactory,new gR(t)),t.tryGet(nM.textDocumentTracker)||t.add(nM.textDocumentTracker,new gs),sZ(u.serviceProvider,u);const y=new of.dw,g=new _P,f=new of.dw,v=TP(),_=new gY(e,r.workspaceName,a,t.get(nM.typeProviderServiceFactory),t);this._state={foregroundPort:nV.parentPort,program:u,externalProgram:_,logTracker:d,lspConnectionProxy:c,telemetry:n,telemetryDuration:y,indexTracker:g,programMutator:{addInterimFile:e=>u.addInterimFile(e),setFileOpened:(e,t,i,r,n)=>{u.setFileOpened(e,t,i,{isTracked:u.owns(e),ipythonMode:r,chainedFileUri:n})},updateOpenFileContents:(e,t,i,r)=>{u.setFileOpened(e,t,i,{isTracked:u.owns(e),ipythonMode:r,chainedFileUri:void 0})}},openFiles:new Set,configOptions:a,importResolver:l,lastTelemetryReported:-1/0,startupTelemetry:v,analysisDuration:void 0,startupDuration:f,fileOpenedSinceLastTelemetry:!1,indexOptions:void 0,enableMangleName:!1,enableAsyncProgram:!1,enableExternalTypeServer:!1}}}let _F=process.mainModule,_A=_F&&null!=(nU=_F.filename)?nU:void 0;var _D=i(94225);function _E(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let _R={maxDepth:Number.MAX_VALUE,includeAllSymbols:!1};class _N{getFileCache(){return this._fs.getFileCache()}getModuleFilesPerExecEnv(){let e=new Tt,t=new Map;for(let[r,n]of this._indicesPerExecEnv){for(let[,e]of n){var i;!(!e.isStdLib&&e.isStub&&!e.shadowed||(null==(i=this._stdLibIndices)?void 0:i.get(r))&&e.isStdLib)&&(this._includeThirdParty||e.isStdLib||n6.fJ(`${e.uri} shouldn't be included with no third party flag on`),(0,ah._3)(e.uri)&&t.set(e.uri.key,e))}e.set(r,[...t.values()]),t.clear()}return e}scan(e){for(let d of this._executionEnvironments){var t,i,r,n,a,s,o,l;let u=this._stdLibPaths.get(null!=(t=null==(n=d.root)?void 0:n.key)?t:""),p=this._thirdPartyPaths.get(null!=(i=null==(a=d.root)?void 0:a.key)?i:""),c=this._fs.getRoots(d),h=null==(s=this._stdLibIndices)?void 0:s.get(null!=(r=d.root)?r:n4.z.empty());h&&this._populateStdLibInfo(d);let m=new Set(this._fs.getTypeshedStdlibExcludeList(d).map(e=>e.key));for(let t of c){let i=!!u&&t.startsWith(u);if(h&&i||!this._includeThirdParty&&!i)continue;let r=!!p&&t.startsWith(p),n=t.startsWith(this._bundledStubPath);for(let a of this._fs.readdirEntriesSync(t))if((0,n8.Lj)(e),!(i&&m.has(a.uri.key))){if(a.isFile){if(a.isInit)continue;if(a.isStub){let e=this._fs.getModuleNameForImport(a.uri,d);e&&this._setMap({execEnv:d,isStdLib:i,isTypeshedStub:r,isBundledStub:n,packageName:e,depthLimit:this._defaultDepthLimit},e,!1,a,1);continue}}if(!a.isFile&&a.public){let t=this._fs.getModuleNameForImport(a.uri,d),s=null==(l=this._packageOptions)?void 0:l.get(t),u=this._getEffectiveDepthLimitForDirectory(a,s,i,this._defaultDepthLimit),p={execEnv:d,isStdLib:i,isTypeshedStub:r,isBundledStub:n,packageName:a.containsInit?t:void 0,depthLimit:u},h=null!=(o=a.containsPyTyped)&&o;this._include(1,p.depthLimit.maxDepth)&&this._scan(c,p,h,a.uri,1,e)}}}}}_scan(e,t,i,r,n,a){if(e.some(e=>r.equals(e)))return;let s=n+1;for(let o of this._fs.readdirEntriesSync(r)){if((0,n8.Lj)(a),o.isFile){if(o.isInit){let e=this._fs.getModuleNameForImport(o.uri,t.execEnv);e&&this._setMap(t,e,i,o,n);continue}if(o.isStub||o.containsInit){let e=this._fs.getModuleNameForImport(o.uri,t.execEnv);if(e){let r=t.packageName?t:{...t,packageName:e};this._setMap(r,e,i,o,s)}continue}}if(!o.isFile&&o.public&&this._include(s,t.depthLimit.maxDepth)){let r=!o.containsInit||t.packageName?t:{...t,packageName:this._fs.getModuleNameForImport(o.uri,t.execEnv)};this._scan(e,r,i,o.uri,s,a)}}}_populateStdLibInfo(e){var t;for(let i of this._stdLibIndices.get(null!=(t=e.root)?t:n4.z.empty()).keys()){let t=this._fs.getModuleNameForImport(i,e);t&&this._setMap({execEnv:e,isStdLib:!0,isTypeshedStub:!1,isBundledStub:!1,packageName:void 0,depthLimit:this._defaultDepthLimit},t,!1,{isStub:i.hasExtension(".pyi"),uri:i},1)}}_setMap(e,t,i,r,n){var a;if(this._isExcludedModule(t)||e.isStdLib&&this._excludedStdLibModules.has(t))return;let s=(0,ap.PD)(this._indicesPerExecEnv,null!=(a=e.execEnv.root)?a:n4.z.empty(),()=>new Map),o=s.get(t);if(!o){this._include(n,e.depthLimit.maxDepth)&&s.set(t,{isStdLib:e.isStdLib,isStub:r.isStub,isTypeshedStub:e.isTypeshedStub,isBundledStub:e.isBundledStub,packageName:e.packageName,uri:r.uri,shadowed:!1,pyTypedPackage:i,includeAllSymbols:e.depthLimit.includeAllSymbols});return}if(o.isStub){o.shadowed=!0,o.isBundledStub&&!r.isStub?(o.isStub=!1,o.isBundledStub=!1,o.uri=r.uri,o.pyTypedPackage=i):!o.pyTypedPackage&&i&&(o.isStub=!1,o.uri=r.uri,o.pyTypedPackage=i);return}if(e.isBundledStub&&!o.isBundledStub){o.shadowed=!0;return}(i||!o.pyTypedPackage)&&(o.uri=r.uri,o.isStub=!0,o.shadowed=!0,o.pyTypedPackage=i)}_isExcludedModule(e){for(let t of this._excludedModulePrefixes)if(e===t||e.startsWith(t+"."))return!0;return!1}_include(e,t){return e<=t}_getEffectiveDepthLimitForDirectory(e,t,i,r){let n=null!=t?t:i?_R:r;if(t||i||e.containsInit)return n;let a=Math.max(n.maxDepth,4);if(n.maxDepth>=a)return n;let s=this._computeNamespacePackageAutoDepth(e.uri,a);return!s||s<=n.maxDepth?n:{...n,maxDepth:s}}_computeNamespacePackageAutoDepth(e,t){let i,r=this._namespacePackageDepthCache.get(e.key);if(void 0!==r)return r>0?r:void 0;let n=Math.max(0,t-1);if(0===n)return void this._namespacePackageDepthCache.set(e.key,0);let a=[{uri:e,relativeDepth:0}];for(;a.length>0;){let e=a.shift();if(!(e.relativeDepth>=n)){for(let t of this._fs.readdirEntriesSync(e.uri)){if(t.isFile||!t.public)continue;let r=e.relativeDepth+1,n=1+r;if(t.containsInit){if((i=void 0===i?n:Math.min(i,n))<=2)break;continue}a.push({uri:t.uri,relativeDepth:r})}if(void 0!==i&&i<=2)break}}let s=i?Math.min(i,t):void 0;return this._namespacePackageDepthCache.set(e.key,null!=s?s:0),s}constructor(e,t,i){var r,n,a,s,o;_E(this,"_indicesPerExecEnv",new ar.Z),_E(this,"_executionEnvironments",[]),_E(this,"_stdLibPaths",new Map),_E(this,"_thirdPartyPaths",new Map),_E(this,"_defaultDepthLimit",void 0),_E(this,"_fs",void 0),_E(this,"_stdLibIndices",void 0),_E(this,"_includeThirdParty",void 0),_E(this,"_packageOptions",void 0),_E(this,"_namespacePackageDepthCache",new Map),_E(this,"_excludedModulePrefixes",void 0),_E(this,"_excludedStdLibModules",new Set(["__future__","this","antigravity"])),_E(this,"_bundledStubPath",void 0),this._stdLibIndices=i.stdLibIndices,this._includeThirdParty=i.includeThirdParty,this._packageOptions=i.packageOptions;const l=i.defaultDepthLimit;for(const i of(this._defaultDepthLimit=(0,n2.Et)(l)?{maxDepth:l,includeAllSymbols:!1}:l,this._executionEnvironments=e.getExecutionEnvironments().filter(e=>!!e.root),this._executionEnvironments))this._stdLibPaths.set(null!=(n=null==(s=i.root)?void 0:s.key)?n:"",t.getTypeshedStdLibPath(i)),this._thirdPartyPaths.set(null!=(a=null==(o=i.root)?void 0:o.key)?a:"",t.getTypeshedThirdPartyPath(i));this._bundledStubPath=o4(t.fileSystem.getModulePath()),this._fs=new _M(t,i.fileCache),this._excludedModulePrefixes=(null!=(r=i.excludedModulePrefixes)?r:[]).map(e=>e.trim()).filter(e=>e.length>0)}}class _M{getFileCache(){return this._fileCache}readdirEntriesSync(e){let t=this._fileCache.get(e.key);if(t)return t;let i=[],r=this._containsInit(e);for(let t of this._fs.readdirEntriesSync(e)){let n=e.combinePaths(t.name),a=t.isFile(),s=t.isDirectory();if(t.isSymbolicLink()){let e=(0,ah.kl)(this._fs,n);e&&(a=e.isFile(),s=e.isDirectory())}if(a){let a=n.lastExtension,s=".pyi"===a,o=!s&&au.ZG.some(e=>e===a);if(!s&&!o)continue;let l="__init__.py"===t.name||"__init__.pyi"===t.name;i.push({name:t.name,directory:e,uri:n,isFile:!0,isInit:l,containsInit:r,isStub:s,public:!0})}else if(s){let e=this._containsInit(n),r=e&&!!(0,_D.a)(this._fs,n);i.push({name:t.name,uri:n,isFile:!1,isInit:!1,containsInit:e,isStub:!1,public:!(0,aN.sQ)(n.fileNameWithoutExtensions),containsPyTyped:r})}}return this._fileCache.set(e.key,i),i}getModuleNameForImport(e,t){return this._importResolver.getModuleNameForImport(e,t).moduleName}getRoots(e){return this._importResolver.getImportRoots(e).filter(t=>t!==e.root&&this.existsSync(t)&&this._isDirectory(t))}getTypeshedStdlibExcludeList(e){return this._importResolver.getTypeshedStdlibExcludeList(this._importResolver.getConfigOptions().typeshedPath,e.pythonVersion,e.pythonPlatform)}existsSync(e){return!!this._fileCache.get(e.key)||this._fs.existsSync(e)}get _fs(){return this._importResolver.fileSystem}_isDirectory(e){var t;if(this._fileCache.get(e.key))return!0;let i=(0,ah.kl)(this._fs,e);return null!=(t=null==i?void 0:i.isDirectory())&&t}_containsInit(e){return this._fs.existsSync(e.initPyUri)||this._fs.existsSync(e.initPyiUri)}constructor(e,t){_E(this,"_importResolver",void 0),_E(this,"_fileCache",void 0),this._importResolver=e,this._fileCache=null!=t?t:new Map}}function _O(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class _U{get contents(){return this._sourceFileInfo.contents}isStubFile(){return this._uri.hasExtension(".pyi")}isThirdPartyPyTypedPresent(){return this._sourceFileInfo.isThirdPartyPyTypedPresent}constructor(e,t){_O(this,"_sourceFileInfo",void 0),_O(this,"_uri",void 0),this._sourceFileInfo=e,this._uri=t}}class _L{addTrackedFile(e,t,i){this._asyncProgram.addTrackedFile(e,t,i)}setTrackedFiles(e){this._asyncProgram.setTrackedFiles(e)}getSourceFileInfo(e){let t=this._asyncProgram.getSourceFileInfo(e);if(t)return new _U(t,e)}async getParseResults(e){let t=this._asyncProgram.getParseResults(e);if(!t)return;let i=e.key;return this._boundFiles.has(i)||(await this._asyncProgram.symbolLookup.getSymbolsForFile(e),this._boundFiles.add(i)),t}handleMemoryHighUsage(){this._asyncProgram.handleMemoryHighUsage()}constructor(e){_O(this,"_asyncProgram",void 0),_O(this,"_boundFiles",void 0),this._asyncProgram=e,this._boundFiles=new Set}}class _z{get current(){}async createTypeProviderService(){throw Error("TypeProviderService is not available in indexing mode. The indexer should only use parse results, not type evaluation.")}}function _W(e,t,i,r){return new _L(new gY(e,t,i,new _z,r))}var _B=((ip={})[ip.GlobalIndices=0]="GlobalIndices",ip[ip.LocalIndices=1]="LocalIndices",ip[ip.Documents=2]="Documents",ip);function _$(e,t){let i=e.getModulePath().combinePaths(".cache"),r=_j.get(t);return(0,n6.iY)(r,`Unknown SpecialFoldersKind: ${t}`),i.resolvePaths(r)}let _j=new Map([[0,"global_indices"],[1,"local_indices"],[2,"documents"]]);function _K(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _V(e,t){return e.combinePaths(`${t}.json`)}function _q(e,t,i,r){let n;if(!e.existsSync(i)){null==r||r.info(`No persisted indices found at ${i}`);return}try{n=e.readFileSync(i,"utf8");let r=JSON.parse(n),a=new ar.Z;return r.forEach(e=>{let i=e[0],r=_H(i,t);a.set(r,{uri:r,privateOrProtected:e[1][0],symbols:e[1][1].map(e=>{let i,r;return r=(i=e[3])?_H(i[1],t):void 0,{name:e[0],visibilityFlags:e[1],kind:e[2],itemKind:(0,oH.kr)(e[2]),alias:i?{originalName:i[0],moduleUri:r,kind:i[2],itemKind:(0,oH.kr)(i[2])}:void 0,range:void 0,selectionRange:void 0,children:void 0}})})}),a}catch(e){null==r||r.error(`Failed to read ${i}. ${n6.WH(e)}`);return}}function _G(e,t){return t?t.getRelativePathComponents(e).join("/"):e.toJsonObj()}function _H(e,t){return t?t.combinePaths(e):n4.z.fromJsonObj(e)}function _J(e,t,i,r,n){let a=[];for(let e of[...r.keys()].sort()){let i=r.get(e),n=i.symbols;t&&n6.vA(!n.some(e=>e.alias&&!e.alias.moduleUri.startsWith(t))),a.push([_G(e,t),[i.privateOrProtected,n.map(e=>(function(e,t){let i=e.alias;return n6.vA(!i||!t||i.moduleUri.startsWith(t)),[e.name,e.visibilityFlags,e.kind,i?[i.originalName,_G(i.moduleUri,t),i.kind]:void 0]})(e,t))]])}let s=JSON.stringify(a);try{return e.writeFileSync(i,s,"utf8"),!0}catch(e){return null==n||n.error(`Failed to create ${i}. ${n6.WH(e)}`),!1}}class _Y{tryLoadCachedStubs(e,t){let i=new Map;for(let r of e.values())for(let[e,n]of(0,ap.bq)(r.filter(e=>this._isUsable(e)&&!!e.packageName&&!t.has(e.uri)),e=>e.packageName)){let r=this._tryGetCachePath(n);if(!r||!this._isPersistedCacheUpToDate(r,n))continue;let a=_q(this._fs,void 0,r);a&&(i.set(e,a),n.forEach(e=>{let i=a.get(e.uri);i&&t.set(e.uri,i)}))}return i}trySaveCachedStubs(e,t,i){for(let n of e.values())for(let[e,a]of(0,ap.bq)(n.filter(e=>{var r;return this._isUsable(e)&&!!e.packageName&&i.has(e.uri)&&!(null==(r=t.get(e.packageName))?void 0:r.get(e.uri))}),e=>e.packageName)){var r;let n=null!=(r=t.get(e))?r:new ar.Z;a.forEach(e=>n.set(e.uri,i.get(e.uri)));let s=this._tryGetCachePath(a);if(!s)continue;let o=s.getDirectory();try{this._fs.mkdirSync(o,{recursive:!0})}catch{return}if(!_J(this._fs,void 0,s,n))return}}get _fs(){return this._importResolver.fileSystem}_isPersistedCacheUpToDate(e,t){try{let i=this._fs.statSync(e).mtimeMs;for(let e of t)if(this._fs.statSync(e.uri).mtimeMs>i)return!1;return!0}catch{return!1}}_isUsable(e){let t=this._regenerateStdLibIndices||!e.isStdLib;return this._localStorageUri?t:e.isTypeshedStub||e.isBundledStub}_tryGetCachePath(e){var t,i,r,n,a;if(0===e.length)return;let s=e[0];return s.isTypeshedStub||s.isBundledStub?(t=this._fs,i=s.packageName,_V(_$(t,_B.GlobalIndices),i)):(r=this._fs,n=this._localStorageUri,a=s.packageName,_V(_$(r,_B.LocalIndices).combinePaths(oW(n.toString())),a))}constructor(e,t,i){_K(this,"_importResolver",void 0),_K(this,"_regenerateStdLibIndices",void 0),_K(this,"_localStorageUri",void 0),this._importResolver=e,this._regenerateStdLibIndices=t,this._localStorageUri=i}}var _Q=i(94383);let _X="1.0.0",_Z="indexFiles",_0="ping";function _1(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class _5{isBinaryAvailable(){let e=n4.z.file(this._config.binaryPath,this._caseSensitivityDetector);return this._fs.existsSync(e)}isFallbackActive(){return this._fallbackActive}getTelemetry(){if(this._requestLatencies.length>0){let e=this._requestLatencies.reduce((e,t)=>e+t,0);this._telemetryData.avgRequestLatencyMs=e/this._requestLatencies.length}return this._telemetryData.fallbackActive=this._fallbackActive,{...this._telemetryData}}resetTelemetry(){this._telemetryData={startupTimeMs:0,startCount:0,crashCount:0,requestCount:0,successCount:0,failureCount:0,totalFilesIndexed:0,totalSymbolsExtracted:0,avgRequestLatencyMs:0,cacheHits:0,fallbackActive:!1},this._requestLatencies=[]}async start(){if(this._initialized)return!0;if(this._fallbackActive)return this._console.warn("Rust indexer in fallback mode, not starting"),!1;if(!this.isBinaryAvailable())return this._console.warn(`Rust indexer binary not found at: ${this._config.binaryPath}`),!1;this._startTime=Date.now(),this._telemetryData.startCount++;try{var e;return await this._spawnProcess(),await this._initialize(),this._initialized=!0,this._restartAttempts=0,this._currentBackoffMs=null!=(e=this._config.initialBackoffMs)?e:100,this._telemetryData.startupTimeMs=Date.now()-this._startTime,this._console.info(`Rust indexer started in ${this._telemetryData.startupTimeMs}ms`),!0}catch(t){let e=t instanceof Error?t.message:String(t);return this._telemetryData.lastError=e,this._console.error(`Failed to start Rust indexer: ${e}`),this._killProcess(),!1}}async stop(){if(this._process&&!this._shutdownRequested){this._shutdownRequested=!0;try{await this._sendRequest("shutdown",null)}catch{}this._killProcess()}}async indexFiles(e,t,i){if(this._fallbackActive||!this._initialized&&!await this.start())return;i&&(0,n8.Lj)(i);let r={files:e,searchPaths:t},n=Date.now();this._telemetryData.requestCount++;try{let e=await this._sendRequest(_Z,r,i),t=Date.now()-n;return this._recordRequestSuccess(e,t),e}catch(t){let e=t instanceof Error?t.message:String(t);if(this._telemetryData.failureCount++,this._telemetryData.lastError=e,this._console.error(`Rust indexer request failed: ${e}`),await this._tryRestart())try{let e=Date.now(),t=await this._sendRequest(_Z,r,i),n=Date.now()-e;return this._recordRequestSuccess(t,n),t}catch(e){this._telemetryData.failureCount++}return}}async ping(){if(!this._initialized)return!1;try{return(await this._sendRequest(_0,{})).pong}catch{return!1}}async getUptime(){if(this._initialized)try{return(await this._sendRequest(_0,{})).uptimeMs}catch{return}}async scanPackages(e){if(this._initialized)try{return await this._sendRequest("scanPackages",e)}catch(e){this._console.error(`scanPackages error: ${e}`);return}}_recordRequestSuccess(e,t){var i;for(let i of(this._telemetryData.successCount++,this._requestLatencies.push(t),this._requestLatencies.length>100&&this._requestLatencies.shift(),this._telemetryData.totalFilesIndexed+=e.results.length,e.results))this._telemetryData.totalSymbolsExtracted+=i.symbols.length;this._telemetryData.cacheHits+=null!=(i=e.cacheHits)?i:0}_spawnProcess(){return new Promise((e,t)=>{var i,r,n;let a=null!=(i=this._config.startupTimeoutMs)?i:1e4,s={...process.env};if(this._config.verbose&&(s.RUST_LOG="pylance_indexer=debug"),this._console.info(`Spawning Rust indexer: ${this._config.binaryPath}`),"win32"!==process.platform)try{_Q.chmodSync(this._config.binaryPath,493)}catch{}this._process=(0,nX.spawn)(this._config.binaryPath,[],{env:s,stdio:["pipe","pipe","pipe"]});let o=setTimeout(()=>{t(Error("Rust indexer startup timed out"))},a);this._process.on("error",e=>{clearTimeout(o),t(e)}),this._process.on("exit",(e,t)=>{this._console.info(`Rust indexer exited with code ${e}, signal ${t}`),this._handleProcessExit(e,t)}),null==(r=this._process.stderr)||r.on("data",e=>{for(let t of e.toString().split("\n").filter(e=>e.trim()))this._console.info(`[rust-indexer] ${t}`)}),null==(n=this._process.stdout)||n.on("data",e=>{this._handleData(e)}),this._process.once("spawn",()=>{clearTimeout(o),e()})})}async _initialize(){var e,t;let i={protocolVersion:_X,clientInfo:{name:"Pylance",version:void 0},featureFlags:{verbose:null!=(e=this._config.verbose)&&e,parallel:null==(t=this._config.parallel)||t,crossFileResolution:!0}},r=await this._sendRequest("initialize",i);r.protocolVersion!==_X&&this._console.warn(`Rust indexer protocol version mismatch: expected ${_X}, got ${r.protocolVersion}`),this._console.info(`Rust indexer initialized: ${r.serverInfo.name} v${r.serverInfo.version}`)}_sendRequest(e,t,i){var r,n,a;let s=(0,dI.ud)(),o=++this._requestId,l=null!=(r=this._config.requestTimeoutMs)?r:6e4,d={deferred:s,timeout:setTimeout(()=>{this._pendingRequests.delete(o),s.reject(Error(`Request ${e} timed out after ${l}ms`))},l)};this._pendingRequests.set(o,d),i&&i.onCancellationRequested(()=>{this._sendNotification("$/cancelRequest",{id:o}),this._pendingRequests.delete(o),clearTimeout(d.timeout),s.reject(Error("Request cancelled"))});let u=JSON.stringify({jsonrpc:"2.0",id:o,method:e,params:null!=t?t:{}}),p=`Content-Length: ${Buffer.byteLength(u)}\r
\r
`;try{null==(a=this._process)||null==(n=a.stdin)||n.write(p+u)}catch(e){this._pendingRequests.delete(o),clearTimeout(d.timeout),s.reject(e)}return s.promise}_sendNotification(e,t){let i=JSON.stringify({jsonrpc:"2.0",method:e,params:null!=t?t:{}}),r=`Content-Length: ${Buffer.byteLength(i)}\r
\r
`;try{var n,a;null==(a=this._process)||null==(n=a.stdin)||n.write(r+i)}catch{}}_handleData(e){for(this._messageBuffer+=e.toString();;){if(void 0===this._expectedContentLength){let e=this._messageBuffer.indexOf("\r\n\r\n");if(-1===e)break;let t=this._messageBuffer.slice(0,e),i=/Content-Length:\s*(\d+)/i.exec(t);if(!i){this._console.error("Invalid message header from Rust indexer"),this._messageBuffer=this._messageBuffer.slice(e+4);continue}this._expectedContentLength=parseInt(i[1],10),this._messageBuffer=this._messageBuffer.slice(e+4)}if(this._messageBuffer.length<this._expectedContentLength)break;let e=this._messageBuffer.slice(0,this._expectedContentLength);this._messageBuffer=this._messageBuffer.slice(this._expectedContentLength),this._expectedContentLength=void 0,this._handleMessage(e)}}_handleMessage(e){try{let t=JSON.parse(e);if(void 0!==t.id){let e=this._pendingRequests.get(t.id);e&&(this._pendingRequests.delete(t.id),clearTimeout(e.timeout),t.error?e.deferred.reject(Error(t.error.message)):e.deferred.resolve(t.result))}}catch(e){this._console.error(`Failed to parse message from Rust indexer: ${e}`)}}_handleProcessExit(e,t){let i=this._initialized;for(let[,e]of(this._initialized=!1,this._process=void 0,this._pendingRequests))clearTimeout(e.timeout),e.deferred.reject(Error("Rust indexer process exited"));this._pendingRequests.clear(),i&&!this._shutdownRequested&&(this._telemetryData.crashCount++,this._telemetryData.lastError=`Process exited with code ${e}, signal ${t}`,this._console.warn(`Rust indexer crashed (crash count: ${this._telemetryData.crashCount})`))}_killProcess(){this._process&&("win32"===process.platform?(0,nX.spawn)("taskkill",["/pid",this._process.pid.toString(),"/f","/t"],{stdio:"ignore"}):this._process.kill("SIGTERM"),this._process=void 0),this._initialized=!1}async _tryRestart(){var e,t;let i=null!=(e=this._config.maxRestartAttempts)?e:3,r=null!=(t=this._config.maxBackoffMs)?t:3e4;return!this._shutdownRequested&&(this._restartAttempts>=i?(this._console.error(`Rust indexer max restart attempts (${i}) reached, activating fallback`),this._activateFallback(),!1):(this._restartAttempts++,this._console.info(`Restarting Rust indexer (attempt ${this._restartAttempts}/${i}) after ${this._currentBackoffMs}ms`),await this._sleep(this._currentBackoffMs),this._currentBackoffMs=Math.min(2*this._currentBackoffMs,r),this._killProcess(),await this.start()))}_activateFallback(){this._fallbackActive=!0,this._telemetryData.fallbackActive=!0,this._console.warn("Rust indexer fallback mode activated, caller should use Node worker")}_sleep(e){return new Promise(t=>setTimeout(t,e))}constructor(e,t,i,r){var n;_1(this,"_config",void 0),_1(this,"_console",void 0),_1(this,"_fs",void 0),_1(this,"_caseSensitivityDetector",void 0),_1(this,"_process",void 0),_1(this,"_initialized",void 0),_1(this,"_requestId",void 0),_1(this,"_pendingRequests",void 0),_1(this,"_restartAttempts",void 0),_1(this,"_shutdownRequested",void 0),_1(this,"_fallbackActive",void 0),_1(this,"_messageBuffer",void 0),_1(this,"_expectedContentLength",void 0),_1(this,"_currentBackoffMs",void 0),_1(this,"_telemetryData",void 0),_1(this,"_requestLatencies",void 0),_1(this,"_startTime",void 0),this._config=e,this._console=t,this._fs=i,this._caseSensitivityDetector=r,this._initialized=!1,this._requestId=0,this._pendingRequests=new Map,this._restartAttempts=0,this._shutdownRequested=!1,this._fallbackActive=!1,this._messageBuffer="",this._requestLatencies=[],this._currentBackoffMs=null!=(n=this._config.initialBackoffMs)?n:100,this._telemetryData={startupTimeMs:0,startCount:0,crashCount:0,requestCount:0,successCount:0,failureCount:0,totalFilesIndexed:0,totalSymbolsExtracted:0,avgRequestLatencyMs:0,cacheHits:0,fallbackActive:!1}}}function _4(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class _3{get contents(){return this._sourceFileInfo.contents}isStubFile(){return this._sourceFileInfo.sourceFile.isStubFile()}isThirdPartyPyTypedPresent(){return this._sourceFileInfo.sourceFile.isThirdPartyPyTypedPresent()}constructor(e){_4(this,"_sourceFileInfo",void 0),this._sourceFileInfo=e}}class _8{addTrackedFile(e,t,i){this._program.addTrackedFile(e,t,i)}setTrackedFiles(e){this._program.setTrackedFiles(e)}getSourceFileInfo(e){let t=this._program.getSourceFileInfo(e);if(t)return new _3(t)}getParseResults(e){return Promise.resolve(this._program.getParseResults(e))}handleMemoryHighUsage(){this._program.handleMemoryHighUsage()}constructor(e){_4(this,"_program",void 0),this._program=e}}function _2(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _6(e,t,i){let r=g_(e,t,i);return r.ensurePartialStubPackages(t.findExecEnvironment(t.projectRoot)),r}class _7{static requestIndexingFromBackgroundThread(e,t,i,r,n){var a;let s=i.serviceProvider,o=i.configOptions,l=i.importResolver,d=l.host.kind,u=s.tryGet(nM.packageDiscoverer),p=s.tryGet(nM.globalIndices);if(!o.indexing||d!==dC.n.FullAccess){let i=new o1.H(s.console(),"IDX(FG)"),n=new _7(l,o,r,s,i);i.log(`index libraries ${o.projectRoot} (${e})`,e=>{let r=i.log("read stdlib indices",e=>n.getStdLibIndices());e.add(r?"succeed":"failed"),r&&p&&(p.reset(t),Ta(t,o,r,p))});return}null==(a=_7._workerKillSwitchSource)||a.cancel(),_7._workerKillSwitchSource=new nZ.CancellationTokenSource,_7.cancelIndexingRequest(t);let c=new at.yk("indexer").createCancellationTokenSource();if(_7._cancellationSourcePerWorkspace.set(t,c),p){let a;h1.is(p)&&p.indexingStarted(t);let d=_7._getWorker(e,s,o.projectRoot),h=_7._workerKillSwitchSource.token,m=s.console(),y=l.fileSystem,g=s.get(n7.y.caseSensitivityDetector);if(r.enableParallelIndexing){let e=_7._getRustIndexerClient(y,m,g);e?(a={client:e,caseSensitivityDetector:g,importResolver:l},m.info("Using Rust-based parallel indexer")):m.warn("Rust indexer not available, falling back to Node worker")}let f=cl(i);_7._lastRequest=_7._lastRequest.then(async()=>{await (null==u?void 0:u.ensureDistributionToPackageMap(f));let i=null==u?void 0:u.getDirectDependencyTopLevelModules(f),s=i?{...r,directDependencyModules:i}:r;return await _7._processIndexingRequest(d,e,t,y,m,s,o,p,n,c,h,a)})}}static cancelIndexingRequest(e){let t=_7._cancellationSourcePerWorkspace.get(e);return!!t&&(t.cancel(),!0)}static async shutdownRustIndexer(){_7._rustIndexerClient&&(await _7._rustIndexerClient.stop(),_7._rustIndexerClient=void 0)}scanPackages(e,t){return(0,n8.Lj)(t),this._logTracker.log(`scan packages ${this._configOptions.projectRoot}`,i=>{let r=this._logTracker.log("read stdlib indices",e=>this.getStdLibIndices()),n=this._indexOptions.packageDepths.find(e=>!e[0]),a=n?{maxDepth:n[1],includeAllSymbols:n[2]}:1,s=new Map(this._indexOptions.packageDepths.filter(e=>!!e[0]).map(e=>[e[0],{maxDepth:e[1],includeAllSymbols:e[2]}])),o=this._indexOptions.directDependencyModules;if(o)for(let e of o)s.has(e)||s.set(e,{maxDepth:2,includeAllSymbols:!1});let l=new _N(this._configOptions,this._importResolver,{stdLibIndices:r,includeThirdParty:!0,defaultDepthLimit:a,packageOptions:s,excludedModulePrefixes:this._indexOptions.packageDepths.filter(e=>!!e[0]&&0===e[1]).map(e=>e[0]),fileCache:e});return l.scan(t),{stdLibIndices:r,moduleFilesPerExecEnv:l.getModuleFilesPerExecEnv(),fileCache:l.getFileCache()}})}async indexPackages(e,t,i,r,n){(0,n8.Lj)(r);let a=new _Y(this._importResolver,this._indexOptions.regenerateStdLibIndices,this._indexOptions.localStorageUri);return await this._logTracker.log(`index packages ${this._configOptions.projectRoot}`,async o=>{let l,d=new ar.Z,u=a.tryLoadCachedStubs(t,d),p=new Te;for(let e of(l=(null==n?void 0:n.externalProgramView)?n.externalProgramView:(null==n?void 0:n.useAsyncProgram)?_W(this._configOptions.projectRoot,this._configOptions.projectRoot.fileNameWithoutExtensions,this._configOptions,this._serviceProvider):new _8(new gi.B(this._importResolver,this._configOptions,this._serviceProvider,this._logTracker)),this._configOptions.getExecutionEnvironments())){let t=this._importResolver.resolveImport(this._configOptions.projectRoot,e,{leadingDots:0,nameParts:["builtins"],importedSymbols:void 0});if(t.isImportFound&&t.resolvedUris.length>0){let e=t.resolvedUris[t.resolvedUris.length-1];e.isEmpty()||l.addTrackedFile(e,!1,!1)}}for(let[n,a]of t)await this._logTracker.log(`index execution environment ${n}`,async t=>{let o=this._configOptions.getExecutionEnvironments().find(e=>{var t;return null==(t=e.root)?void 0:t.equals(n)}),u=i.length<=0?a:a.filter(e=>!i.some(t=>e.uri.startsWith(t))),c=new ar.Z;for(let e of u){let t=d.get(e.uri);t&&c.set(e.uri,t)}let h=u.filter(e=>!c.get(e.uri));for(let e of h)l.addTrackedFile(e.uri,!0,e.pyTypedPackage);for(let e of(await this._indexProgram(l,h.map(e=>({uri:e.uri,includeAllSymbols:e.includeAllSymbols,pyTypedPackage:e.pyTypedPackage})),c,!1,r),Tr(this._importResolver,o,c,{allowStdlibDuplicateAliases:!!this._indexOptions.regenerateStdLibIndices}),h)){let t=c.get(e.uri);t&&d.set(e.uri,t)}let m=null==e?void 0:e.get(n);if(m)for(let[e,t]of m)c.set(e,t);t.add(`found ${s(c)} in ${c.size} files`),p.set(n,c)});return a.trySaveCachedStubs(t,u,d),o.add(`found ${function(e){let t=0;for(let i of e.values())t+=s(i);return t}(p)} in ${t.size} exec envs`),p});function s(e){let t=0;for(let i of e.values())t+=i.symbols.length;return t}}getStdLibIndices(){if(this._indexOptions.regenerateStdLibIndices)return void oX.log("No stdlib indices because regenerateStdLibIndices is set.");let e=sx.g1(this._importResolver.fileSystem);if(!e)return void oX.log("No stdlib indices because typeshed fallback path is not available.");let t=this._indexOptions.packageDepths.filter(e=>!!e[0]&&0===e[1]).map(e=>e[0]),i=sx.CA(e,!0),r="stdlib.json",n=new Te,a=this._serviceProvider.tryGet(nM.globalIndices),s=null==a?void 0:a.getPersistLibrary(r);for(let e of this._configOptions.getExecutionEnvironments()){var o;let l=this._importResolver.getTypeshedStdLibPath(e);if(i.equals(l)){if(!s){let n=this._importResolver.fileSystem.getModulePath().combinePaths("bundled","indices","stdlib.json");if(!(s=_q(this._importResolver.fileSystem,i,n,this._serviceProvider.console())))return void oX.log("No stdlib indices because stdLibIndices is not available.");if(t.length>0)for(let i of s.keys()){let r=s.get(i),n=this._importResolver.getModuleNameForImport(r.uri,e);t.some(e=>n.moduleName===e||n.moduleName.startsWith(e+"."))&&s.delete(i)}0===s.size&&oX.log("No stdlib indices because all packages are excluded."),null==a||a.setPersistLibrary(r,s)}n.set(null!=(o=e.root)?o:n4.z.empty(),s)}}return n}async generateStdLibIndices(e,t){let i=new ae.N7(n4.z.empty());i.defaultPythonVersion=void 0,i.defaultPythonPlatform=void 0;let r=await this._logTracker.log(`index stdlib ${i.projectRoot}`,async r=>{let n,a=this._logTracker.log("scan stdlib packages",e=>{let t=new _N(i,this._importResolver,{stdLibIndices:void 0,includeThirdParty:!1,defaultDepthLimit:1});t.scan(nZ.CancellationToken.None);let r=t.getModuleFilesPerExecEnv().get(i.projectRoot);return e.add(`found ${r.length}`),r.map(e=>({uri:e.uri,includeAllSymbols:e.includeAllSymbols}))});(n=(null==t?void 0:t.externalProgramView)?t.externalProgramView:(null==t?void 0:t.useAsyncProgram)?_W(i.projectRoot,i.projectRoot.fileNameWithoutExtensions,i,this._serviceProvider):new _8(new gi.B(this._importResolver,i,this._serviceProvider,this._logTracker))).setTrackedFiles(a.map(e=>e.uri));let s=new ar.Z;await this._indexProgram(n,a,s,!0,nZ.CancellationToken.None),Tr(this._importResolver,i.getExecutionEnvironments()[0],s,{allowStdlibDuplicateAliases:!1}),r.add(`found ${[...s.values()].reduce((e,t)=>e+t.symbols.length,0)}`);let o=this._importResolver.getTypeshedStdLibPath(i.getExecutionEnvironments()[0]);return o?_J(this._importResolver.fileSystem,o,e,s,this._serviceProvider.console())?s:void 0:(this._serviceProvider.console().error(`No stdlib path for ${i.projectRoot}`),!1)});return!!r&&(this._logTracker.log("verify stdlib indices",t=>{let n=this._importResolver.getTypeshedStdLibPath(i.getExecutionEnvironments()[0]);!function(e,t,i,r){let n=_q(e,t,i);for(let e of(n6.vA(r.size===n.size),r.keys())){let t=r.get(e),i=n.get(e),a=ao(t),s=ao(i);a!==s&&n6.vA(`Indice for ${e} is different at position ${function(e,t){let i=0;if(e===t)return -1;for(;e[i]===t[i];)i++;return i}(a,s)}.`)}}(this._importResolver.fileSystem,n,e,r)}),!0)}static _getRustIndexerClient(e,t,i){if(_7._rustIndexerClient)return _7._rustIndexerClient.isFallbackActive()?void t.info("Rust indexer is in fallback mode, using Node worker"):_7._rustIndexerClient;let r=function(e){let t,i,r=e.getModulePath(),n=new mo,a=n.isWindows()?"pylance-indexer.exe":"pylance-indexer",s=`${n.name}-${process.arch}`,o=r.combinePaths("bundled","bin",s,a);if(e.existsSync(o))return o.getFilePath();let l=r.combinePaths("bundled","bin",a);if(e.existsSync(l))return l.getFilePath();let d=(t=new mo,i=process.arch,t.isWindows()?"arm64"===i?"aarch64-pc-windows-msvc":"x86_64-pc-windows-msvc":t.isMac()?"arm64"===i?"aarch64-apple-darwin":"x86_64-apple-darwin":t.isLinux()?"arm64"===i?"aarch64-unknown-linux-gnu":"x86_64-unknown-linux-gnu":void 0);if(d){let t=r.combinePaths("..","..","pylance-indexer-rust","target",d,"release",a);if(e.existsSync(t))return t.getFilePath()}let u=r.combinePaths("..","..","pylance-indexer-rust","target","release",a);if(e.existsSync(u))return u.getFilePath();let p=r.combinePaths("..","..","pylance-indexer-rust","target","debug",a);if(e.existsSync(p))return p.getFilePath()}(e);return r?(_7._rustIndexerClient=new _5({binaryPath:r,verbose:!1,parallel:!0},t,e,i),_7._rustIndexerClient):void t.warn("Rust indexer binary not found, falling back to Node worker")}static _getWorker(e,t,i){var r,n,a;let s=_7._currentWorker;if(void 0!==s)return s;let o=t.console(),l={rootUri:null!=(r=null==(n=(0,ah.Tc)(t))?void 0:n.toString())?r:"",workspaceRootUri:i.toString(),workspaceName:i.fileNameWithoutExtensions,tempFileName:t.get(n7.y.tempFile).tmpdir().getFilePath(),cancellationFolderName:(0,n8.xh)(),serviceId:e,runner:"indexer",workerIndex:1,profilingInfo:an(null==(a=t.tryGet(nM.profilingService))?void 0:a.currentProfilingInfo)};return(s=new TA(new nV.Worker(_A,{workerData:l}),e=>!!e.requestType)).on("message",e=>{switch(e.requestType){case"log":{let t=al(e.data);(0,n1.Rm)(o,t.level,t.message);break}case"telemetry":t.get(nM.telemetry).sendTelemetry(aa(e.data));break;default:n6.xb(e,"can't reach here")}}),s.on("error",e=>{o.error(`Error occurred on indexer thread: ${JSON.stringify(e)}`)}),s.on("exit",e=>{0!==e&&n6.fJ(`worker stopped with exit code ${e}`),_7._currentWorker=void 0}),_7._currentWorker=s,s}static async _processIndexingRequest(e,t,i,r,n,a,s,o,l,d,u,p){try{await Tl(e,t,i,r,a,s,o,Ti,l,d.token,p?{client:p.client,caseSensitivityDetector:p.caseSensitivityDetector,importResolver:p.importResolver,console:n}:void 0)}catch(e){if(n8.YS.is(e))return void n.log(`Indexer cancelled (${i})`);n.error(`Indexing Failed: ${n6.WH(e)}`)}finally{u.isCancellationRequested||(_7._currentWorker=void 0,await Ti(e,"shutdown",void 0,u)),d.dispose(),_7._cancellationSourcePerWorkspace.get(i)===d&&_7._cancellationSourcePerWorkspace.delete(i)}}async _indexProgram(e,t,i,r,n){for(let a of t){let t=await this._getFileIndex(e,a.uri,a.includeAllSymbols,n);if(!t||r&&!a.includeAllSymbols&&0===t.symbols.length)continue;let s=a.pyTypedPackage?{...t,pyTypedPackage:!0}:t;i.set(a.uri,s),e.handleMemoryHighUsage()}}async _getFileIndex(e,t,i,r){return await this._logTracker.log(`indexing: ${(0,o1.W)(this._importResolver.fileSystem,t)}`,async n=>{var a;let s=t.fileNameWithoutExtensions,o=(0,aN.sQ)(s);if(o)return n.add("skipped: private or protected file"),{uri:t,privateOrProtected:o,symbols:[]};let l=e.getSourceFileInfo(t);if(!l)return void n.add("skipped: file not found");let d=null!=(a=l.contents)?a:"";if(!i&&!l.isStubFile()&&!l.isThirdPartyPyTypedPresent()&&0>d.indexOf("__all__"))return n.add("skipped: no '__all__' defined"),{uri:t,privateOrProtected:!1,symbols:[]};let u=await e.getParseResults(t);if(!u)return void n.add("skipped: no parse result");let p=o6.indexSymbols(u,{indexingForAutoImportMode:!0,includeAllSymbols:i},r);return n.add(`found ${p.length}`),{uri:t,privateOrProtected:o,symbols:p}})}constructor(e,t,i,r,n){_2(this,"_importResolver",void 0),_2(this,"_indexOptions",void 0),_2(this,"_serviceProvider",void 0),_2(this,"_logTracker",void 0),_2(this,"_configOptions",void 0),this._importResolver=e,this._indexOptions=i,this._serviceProvider=r,this._logTracker=n,this._configOptions=al(ao(t)),this._configOptions.indexGenerationMode=!0,this._configOptions.useLibraryCodeForTypes=!0}}_2(_7,"_lastRequest",Promise.resolve()),_2(_7,"_currentWorker",void 0),_2(_7,"_workerKillSwitchSource",void 0),_2(_7,"_rustIndexerClient",void 0),_2(_7,"_cancellationSourcePerWorkspace",new Map);class _9 extends _C{start(){this.console.info(`Indexing(${nV.threadId}) started`);let e=this._getProfilingWaiter(this.serviceProvider);null===nV.parentPort||void 0===nV.parentPort||nV.parentPort.on("message",t=>{switch(t.requestType){case"scan":TI(()=>{let e=aa(t.data),i=(0,at.Gc)(e.cancellationId);(0,n8.Lj)(i);let r=e.configOptions,n=new gu(this.serviceProvider,e.hostCache),a=_6(this.serviceProvider,r,n),s=new o1.H(this.console,Ts(this._workspaceName)),o=new _7(a,r,e.options,this.serviceProvider,s).scanPackages(e.fileCache,i),l=0,d=o.moduleFilesPerExecEnv;return d.forEach(e=>l+=e.length),this.console.info(`scanned(${nV.threadId}) ${l} files over ${d.size} exec env`),{...o,hostCache:n.getHostCache()}},t.port,an);break;case"index":TI(async()=>{let e=aa(t.data),i=(0,at.Gc)(e.cancellationId);(0,n8.Lj)(i);let r=e.configOptions,n=new gu(this.serviceProvider,e.hostCache),a=_6(this.serviceProvider,r,n),s=new o1.H(this.console,Ts(this._workspaceName)),o=new _7(a,r,e.options,this.serviceProvider,s);return{indexingResult:await oB(this._telemetry,oN.INDEX_SLOW,async t=>{let r=await o.indexPackages(void 0,e.moduleFilesPerExecEnv,[],i),n=0;return r.forEach(e=>n+=e.size),this.console.info(`indexed(${nV.threadId}) ${n} files over ${r.size} exec env`),t.addCustomMeasure("count",n),r},2e4)}},t.port,an);break;case"shutdown":TI(async()=>{this.console.info(`Indexing finished(${nV.threadId}).`),await e.promise,await this.serviceProvider.get(nM.profilingService).stopProfiling()},t.port,an).then(()=>null===nV.parentPort||void 0===nV.parentPort?void 0:nV.parentPort.close()).catch(e=>{this.console.error(`Error during shutdown: ${n6.WH(e)}`),null===nV.parentPort||void 0===nV.parentPort||nV.parentPort.close()});break;default:n6.xb(t,"can't reach here")}})}dispose(){}_getProfilingWaiter(e){let t=(0,dI.ud)();return this._profilingInfo?e.get(nM.profilingService).startProfiling(this._profilingInfo).then(()=>t.resolve(void 0)).catch(()=>{}):t.resolve(void 0),t}constructor(e){const t=nV.workerData;e.add(nM.profilingService,new gL(e,Ts(t.workspaceName))),e.add(n7.y.sourceFileFactory,gm),super(t,e),_2(this,"_profilingInfo",void 0),_2(this,"_telemetry",void 0),_2(this,"_workspaceName",void 0);const i=t.serviceId;this._workspaceName=t.workspaceName,this.console.info(`Indexer background runner(${nV.threadId}) root directory: ${t.rootUri} (${i})`),this._telemetry={sendTelemetry(e){var t;t=nV.parentPort,null==t||t.postMessage({requestType:"telemetry",data:an(e)},void 0)},addPropertyToNextEvent(e,t,i){},addDurationToNextEvent(e,t,i){}},this._profilingInfo=aa(t.profilingInfo)}}class Te extends ar.Z{}class Tt extends ar.Z{}let Ti=async(e,t,i,r)=>{var n;(0,n8.Lj)(r);let{port1:a,port2:s}=new nV.MessageChannel,o=TC(a,{deserializer:aa});n=[s],null==e||e.postMessage({requestType:t,data:an(i),port:s},n);let l=await o;return s.close(),a.close(),l};function Tr(e,t,i,r){var n,a,s,o;let l=e.getTypeshedStdLibPath(t),d=null!=(n=null==r?void 0:r.allowStdlibDuplicateAliases)&&n,u=new mo,p=new ar.Z,c=new ar.Z;for(let[r,n]of i){let m=n.uri,y=e.getModuleNameForImport(m,t),g=(a=y.moduleName,!(l&&m.startsWith(l))||d&&function(e){let t=a9(e);return u.isWindows()?"ntpath"===t:"posixpath"===t}(a));for(let a of n.symbols){if(!a.alias)continue;let n=a.alias.moduleUri,l=a.alias.originalName,d=function(e,t,i){let r=(0,ap.PD)(e,t,()=>new Map);return(0,ap.PD)(r,i,()=>new Map)}(p,n,l),u=(s=y.moduleName,g?a9(s):l),f=d.get(u);if(f)0>h(y,m,!1,f[0],f[1],f[2])?(d.set(u,[y,m,!1,a]),(0,ap.PD)(c,f[1],()=>[]).push(f[3])):(0,ap.PD)(c,r,()=>[]).push(a);else{let s=i.get(n);if(!s){d.set(u,[y,m,!1,a]);continue}let p=s.symbols.find(e=>e.name===l);if(!p){d.set(u,[y,m,!1,a]);continue}let f=e.getModuleNameForImport(n,t),v=(o=f.moduleName,g?a9(o):l);if(v!==u){d.set(u,[y,m,!1,a]);continue}0>h(y,m,!1,f,n,!0)?(d.set(u,[y,m,!1,a]),(0,ap.PD)(c,n,()=>[]).push(p)):(d.set(v,[f,n,!0,p]),(0,ap.PD)(c,r,()=>[]).push(a))}}}for(let[e,t]of c)if(!e.pathEndsWith("typeshed-fallback/stdlib/collections/abc.pyi"))for(let r of t)!function(e,t){let i=e.findIndex(e=>e===t);i<0||e.splice(i,1)}(i.get(e).symbols,r);function h(e,t,i,r,n,a){let s=sN.f7(e.moduleName,"."),o=sN.f7(r.moduleName,".");return s===o?i===a?sN.XW(t.key,n.key):i?-1:1:s-o}}function Tn(e,t){return e.getExecutionEnvironments().find(e=>{var i;return null==(i=e.root)?void 0:i.equals(t)})}function Ta(e,t,i,r){for(let[n,a]of(oX.log(`IndicesManager.appendStdLib: ${e}`),i)){let i=Tn(t,n);if(i)for(let[,t]of a)r.cloneOrSetIndex(e,i,t.uri,t)}}function Ts(e){return`IDX(${e})`}async function To(e,t,i,r,n,a,s){let o=new Te,l=a.getPythonSearchPaths();for(let[a,p]of t){var d,u;let t=Tn(n,a),c={extraPaths:null!=(d=null==(u=n.defaultExtraPaths)?void 0:u.map(e=>e.getFilePath()))?d:[],workspaceRoots:n.projectRoot?[n.projectRoot.getFilePath()]:[],typeshedStdlibPath:n.typeshedPath?n.typeshedPath.resolvePaths("stdlib").getFilePath():void 0,typeshedThirdpartyPath:n.typeshedPath?n.typeshedPath.resolvePaths("stubs").getFilePath():void 0,sitePackagesPaths:l.map(e=>e.getFilePath()),pythonVersion:(null==t?void 0:t.pythonVersion)?{major:t.pythonVersion.major,minor:t.pythonVersion.minor}:void 0},h=new Map,m=p.map(e=>{let t=e.uri.getFilePath();return e.pyTypedPackage&&h.set(t,!0),{path:t,includeAllSymbols:e.includeAllSymbols,isStub:e.uri.hasExtension(".pyi"),isPyTyped:!!e.pyTypedPackage}});if(0===m.length)continue;let y=await e.indexFiles(m,c,s);if(!y){r.warn(`Rust indexer: failed to index files for ${a}`);continue}let g=new ar.Z;for(let e of y.results){if(e.error){r.warn(`Rust indexer: error indexing ${e.path}: ${e.error}`);continue}let t=n4.z.file(e.path,i),n=function(e,t){return e.map(e=>(function(e,t){let i;if(e.alias){let r=e.alias.moduleUri;(r.includes("/")||r.includes("\\")||r.endsWith(".py")||r.endsWith(".pyi"))&&(i={originalName:e.alias.originalName,moduleUri:n4.z.file(r,t),kind:e.alias.kind,itemKind:(0,oH.kr)(e.alias.kind),selectionRange:e.alias.selectionRange})}return{name:e.name,visibilityFlags:e.visibilityFlags,kind:e.kind,itemKind:(0,oH.kr)(e.kind),alias:i,range:void 0,selectionRange:void 0,children:void 0}})(e,t))}(e.symbols,i),a={uri:t,privateOrProtected:e.privateOrProtected,symbols:n};g.set(t,h.has(e.path)?{...a,pyTypedPackage:!0}:a)}o.set(a,g)}return o}async function Tl(e,t,i,r,n,a,s,o,l,d,u){try{let c;oX.log(`IndicesManager.processIndexingRequest: ${i}`);let h=(0,n8.Er)(d),m="refresh"===t&&!(null==l?void 0:l.changesOnly);s.reset(i,!0,m);let y=await o(e,"scan",{configOptions:a,cancellationId:h,options:n,fileCache:s.getFileCache(),hostCache:s.getHostCache()},d);s.setFileCache(y.fileCache),s.setHostCache(y.hostCache),y.stdLibIndices&&Ta(i,a,y.stdLibIndices,s);let g=new Tt;for(let[e,t]of y.moduleFilesPerExecEnv){let n=Tn(a,e);if(!n)continue;let o=[];for(let e of t){let t=(0,ah.kl)(r,e.uri);t&&s.cloneIndex(i,n,e.uri,t.mtimeMs)||o.push(e)}o.length>0&&g.set(e,o)}if(0===g.size)return;let f=!u;if(u)if(u.client.isFallbackActive())u.console.info("Rust indexer entered fallback mode, using Node worker"),f=!0;else try{for(let[e,t]of c=await To(u.client,g,u.caseSensitivityDetector,u.console,a,u.importResolver,d)){let i=Tn(a,e);i&&Tr(u.importResolver,i,t,{allowStdlibDuplicateAliases:!!n.regenerateStdLibIndices})}}catch(e){u.console.warn(`Rust indexer failed, falling back to Node worker: ${e instanceof Error?e.message:String(e)}`),f=!0}for(let[t,l]of((f||!c)&&(c=(await o(e,"index",{configOptions:a,cancellationId:h,options:n,hostCache:y.hostCache,moduleFilesPerExecEnv:g},d)).indexingResult),c)){let e=Tn(a,t);if(e)for(let[,t]of l){var p;let n=(0,ah.kl)(r,t.uri);s.cloneOrSetIndex(i,e,t.uri,t,null!=(p=null==n?void 0:n.mtimeMs)?p:Date.now())}}}finally{oX.log(`IndicesManager.processIndexingRequest complete: ${i}`),s.requestComplete(i)}}var Td=i(57546);class Tu extends n5.s2{existsSync(e){return this._tryGet(e,e=>e.exists,t=>t.exists=super.existsSync(e))}statSync(e){return this._tryGet(e,e=>e.stats,t=>t.stats=super.statSync(e))}realCasePath(e){return this._tryGet(e,e=>e.realCasePath,t=>t.realCasePath=super.realCasePath(e))}_tryGet(e,t,i){let r=this._cache.get(e.key);r||(r={},this._cache.set(e.key,r));let n=t(r);return void 0===n&&(n=i(r)),n}constructor(e,t){var i,r;super(e,t,Td.LC),i="_cache",r=new Map,i in this?Object.defineProperty(this,i,{value:r,enumerable:!0,configurable:!0,writable:!0}):this[i]=r}}var Tp=i(62510);function Tc(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Th{get(e,t){let i=this._cache.get(e);return i?i.get(t):void 0}getAll(e){return e?this._cache.get(e):void 0}has(e){return!!e&&this._cache.has(e)}init(e){this._cache.set(e,new Map)}set(e,t){this._cache.set(e,t)}remove(e){this._cache.delete(e)}constructor(){Tc(this,"_cache",new ar.Z)}}class Tm{get fs(){return this._fs}get cachePathsUpdated(){return this._cachePathsUpdatedListeners.event}get enabled(){return this._enabled}onUpdateSettings(e){this._enabled=!!e.enableEditableInstalls,this._editableFileCountCache.clear()}getCountEditablePthFiles(e,t,i){var r;let n=t.map(e=>e.key).join(",")+(i?i.map(e=>e.key).join(","):"");if(!this._editableFileCountCache.has(n)){let r=this.getSitePackagesDirs(t,i),a=this.getEditablePthFilesPerRoot(e,r),s=[];for(let e of a.values())s.push(...e);let o=new ar.Z;for(let t of s)0===(0,sx.bL)(t,e).length&&o.set(t,!1);this._editableFileCountCache.set(n,o.size)}return null!=(r=this._editableFileCountCache.get(n))?r:0}getCountComputedPthFiles(e){var t,i;return null!=(t=null==(i=this._cache.getAll(e))?void 0:i.size)?t:0}dispose(){this._cache=new Th,this._cachePathsUpdatedListeners.dispose()}getExtraImportRoots(e){let t=this._cache.getAll(e);return t?Array.from(t.values()).map(e=>e.initPath.getDirectory()):[]}getSitePackagesDirs(e,t){let i=e.filter(e=>e.pathEndsWith(ac.tJ));return t&&i.push(...t),i}getEditablePthFilesPerRoot(e,t){let i=new ar.Z;for(let r of t){let t=[];try{let i=e.readdirEntriesSync(r);for(let e=0;e<i.length;e++){let n=i[e];n.isFile()&&n.name.endsWith(".pth")&&n.name.includes("__editable__")&&(0,ap.eA)(t,r.combinePaths(n.name),(e,t)=>null==e?void 0:e.equals(t))}}catch(e){}t.length>0&&i.set(r,t)}return i}clearPythonPath(e){let t=this._cache.has(e);this._cache.remove(e),t&&this._cachePathsUpdatedListeners.fire({pythonPath:e,moduleInfo:new Map})}hasPthPaths(e){return this._cache.has(e)}initCache(e){this._cache.init(e)}savePthPaths(e,t){this._cache.set(e,t);let i=this._extraFileSystems.get(e);if(i)for(let e of i)e.dispose();let r=[];for(let e of t.values()){let{moduleName:t,pthPath:i,initPath:n}=e,a=i.getDirectory().combinePaths(t),s=n.getDirectory(),o=this._fs.mapDirectory(a,s);r.push(o)}this._extraFileSystems.set(e,r),t.size>0&&this._cachePathsUpdatedListeners.fire({pythonPath:e,moduleInfo:t})}constructor(e){Tc(this,"_fs",void 0),Tc(this,"_cache",void 0),Tc(this,"_cachePathsUpdatedListeners",void 0),Tc(this,"_enabled",void 0),Tc(this,"_extraFileSystems",void 0),Tc(this,"_editableFileCountCache",void 0),this._fs=e,this._cache=new Th,this._cachePathsUpdatedListeners=iR.create(),this._enabled=!1,this._extraFileSystems=new ar.Z,this._editableFileCountCache=new Map}}class Ty extends Tm{get console(){return this._console}get host(){return this._hostFactory.createHost(this._hostKind)}get platform(){return this._platform}onUpdateSettings(e){super.onUpdateSettings(e),(null==e?void 0:e.hostKind)&&(this._hostKind=e.hostKind),this.enabled?this._debouncedRefresh(e.pythonPath,e.extraPaths):e.pythonPath&&this.clearPythonPath(e.pythonPath)}dispose(){super.dispose(),this._fileWatchers.forEach(e=>e.close()),this._fileWatchers.clear()}_refresh(e,t){!e||this.hasPthPaths(e)||(this.initCache(e),this._cachePthPaths(e,t))}_getSandox(e){return this._sandboxService.getSandbox(this.host,void 0,e)}_handlePthPathChange(e,t,i,r){switch(t){case"add":case"change":case"unlink":i.endsWith(".pth")&&(this.clearPythonPath(e),this._debouncedRefresh(e,void 0))}}_getImportPthCode(e,t){try{if(this.fs.readFileSync(e,"utf-8").includes("add_dll_directory"))return}catch(e){return}return`
import site
site.addsitedir(r"${e.getDirectory().getFilePath()}")
try:
import ${t}
print(${t}.__file__)
except ModuleNotFoundError as e:
import traceback
tb = e.__traceback__
for frame in traceback.extract_tb(tb):
if "__init__.py" in frame.filename:
print(frame.filename)
except Exception as e:
pass # Ignore all other errors.`}async _cachePthPaths(e,t){this._console.info(`[Editable Installs] Starting dynamic pth file resolution for Python: ${e.getFilePath()}`);let i=await this._getSandox(e);if(!i)return void this._console.info(`[Editable Installs] No sandbox available for Python ${e.getFilePath()}. Dynamic pth file resolution requires Python 3.13 or later.`);this._console.info(`[Editable Installs] Sandbox created successfully for Python ${e.getFilePath()}`);let r=this.host.getPythonSearchPaths(e),n=this.getSitePackagesDirs(r.paths,t);this._console.info(`[Editable Installs] Searching for pth files in site-packages directories: ${n.map(e=>e.getFilePath()).join(", ")}`),this._setupFileWatchers(e,n);let a=new Map,s=this.getEditablePthFilesPerRoot(this.fs,n),o=0;for(let[e,t]of s.entries())o+=t.length,this._console.info(`[Editable Installs] Found ${t.length} editable pth file(s) in ${e.getFilePath()}: ${t.map(e=>e.fileName).join(", ")}`);for(let[e,t]of(0===o&&this._console.info("[Editable Installs] No editable pth files found (files must contain '__editable__' in the name)"),s.entries()))for(let r=0;r<t.length;r++){let n=t[r];if(!1===this.fs.existsSync(n)){this._console.warn(`[Editable Installs] Skipping pth file ${n.getFilePath()} because it does not exist.`);continue}if((0,sx.bL)(n,this.fs).length>0){this._console.info(`[Editable Installs] Pth file ${n.fileName} contains static paths (handled by standard import resolution)`);continue}this._console.info(`[Editable Installs] Processing dynamic pth file: ${n.getFilePath()}`);try{let t=this._getPthPackageName(n);this._console.info(`[Editable Installs] Extracted package name '${t}' from pth file`);let r=this._getImportPthCode(n,t);if(void 0===r){this._console.warn(`[Editable Installs] Skipping pth file ${n.getFilePath()} because it contains platform-specific code that is not supported.`);continue}this._console.info(`[Editable Installs] Running sandbox to resolve package '${t}'...`);let s=await i.runCode(r);if(s.stderr&&s.stderr.length>0&&this._console.warn(`[Editable Installs] Sandbox stderr for '${t}': ${s.stderr.join("\n")}`),s.stdout&&s.stdout.length>0)for(let r of s.stdout){let s=yO(e,i.pythonVersion,this.platform,r.trim());this.fs.existsSync(s)&&s.hasExtension(".py")?(a.set(t,{moduleName:t,pthPath:n,initPath:s}),this._console.info(`[Editable Installs] Successfully resolved package '${t}' to: ${s.getFilePath()}`)):this._console.warn(`[Editable Installs] Failed to resolve package '${t}': path '${r.trim()}' does not exist or is not a .py file`)}else this._console.warn(`[Editable Installs] Sandbox returned no output for package '${t}'. The editable install finder module may not be working correctly.`)}catch(e){this._console.error(`[Editable Installs] Error processing pth file ${n.getFilePath()}: ${e}`)}}if(this._console.info(`[Editable Installs] Completed pth file resolution. Successfully resolved ${a.size} editable package(s).`),a.size>0){let e=Array.from(a.keys()).join(", ");this._console.info(`[Editable Installs] Resolved packages: ${e}`)}this.savePthPaths(e,a)}_setupFileWatchers(e,t){for(let i of t)this._fileWatchers.has(i)||this._fileWatchers.set(i,this.fs.createFileSystemWatcher([i],this._handlePthPathChange.bind(this,e)))}_getPthPackageName(e){let t=e.fileName;t.startsWith("__editable__.")&&(t=t.slice(13));let i=e.getDirectory().combinePaths(`${t}.dist-info`);if(this.fs.existsSync(i)){let e=i.combinePaths("top_level.txt");if(this.fs.existsSync(e))return this.fs.readFileSync(e,"utf-8").trim()}let r=t.split("-");return r.length>1?r[0]:t}constructor(e,t,i,r,n){super(e),Tc(this,"_console",void 0),Tc(this,"_hostFactory",void 0),Tc(this,"_platform",void 0),Tc(this,"_sandboxService",void 0),Tc(this,"_fileWatchers",void 0),Tc(this,"_debouncedRefresh",void 0),Tc(this,"_hostKind",void 0),this._console=t,this._hostFactory=i,this._platform=r,this._sandboxService=n,this._fileWatchers=new ar.Z,this._debouncedRefresh=(0,Tp.debounce)(this._refresh.bind(this),1e3,{leading:!0,trailing:!1}),this._hostKind=dC.n.NoAccess}}class Tg extends Tm{handleUpdate(e){this.savePthPaths(e.pythonPath,e.moduleInfo)}constructor(e){super(e)}}function Tf(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Tv{start(){this._console.info(`Priority queue background worker(${nV.threadId}) started`),null===nV.parentPort||void 0===nV.parentPort||nV.parentPort.on("message",this._onMessage.bind(this)),null===nV.parentPort||void 0===nV.parentPort||nV.parentPort.on("close",()=>this._taskRunner.dispose()),null===nV.parentPort||void 0===nV.parentPort||nV.parentPort.on("error",e=>n6.fJ(`failed ${e}`)),null===nV.parentPort||void 0===nV.parentPort||nV.parentPort.on("exit",e=>{0!==e&&n6.fJ(`worker stopped with exit code ${e}`)})}_onMessage(e){try{if("init"===e.requestType){this._backgroundTaskRunnerPort=e.port;return}if("shutdown"===e.requestType)return void this._taskRunner.enqueue(this._createShutdownTask(e.requestType,e));let i=this._createTask(e.requestType,e);if(i.priority===y4.Interrupting){var t;i.run({token:(0,at.Gc)(null!=(t=e.cancellationId)?t:""),requestRequeue:()=>{this._console.warn(`Interrupting task ${e.requestType} cannot be requeued.`)}});return}this._taskRunner.enqueue(i)}catch(t){this._console.error(`Exception: for msg ${e.requestType}: ${t.message} in ${t.stack}`)}}_createTask(e,t){return"secondaryTask"===e?new T_(this._backgroundTaskRunnerPort,t,t.priority,t.singleInstance):new T_(this._backgroundTaskRunnerPort,t,TS[e],!1)}_createShutdownTask(e,t){return new TT(this._backgroundTaskRunnerPort,t,this._taskRunner)}constructor(){Tf(this,"_console",void 0),Tf(this,"_taskRunner",void 0),Tf(this,"_backgroundTaskRunnerPort",void 0);const e=nV.workerData;(0,n8.FT)(e.cancellationFolderName),this._console=new Tk(nV.parentPort,`PQ(${e.workspaceName})`),this._console.info(`Priority queue background worker(${nV.threadId}) root directory: ${e.rootUri}`),this._taskRunner=new y2(this._console,new at.yk("pq"))}}class T_ extends y3{async run(e){this._throwIfCancellationRequested(e.token,this._msg.port);let{port1:t,port2:i}=new nV.MessageChannel,r=this._getBackgroundWaiter(t,e),n=this._msg;n.contextCancellationId=(0,n8.Er)(e.token),n.syncPort=i,function(e,t){if(t.syncPort){null==e||e.postMessage(t,t.port?[t.port,t.syncPort]:[t.syncPort]);return}null==e||e.postMessage(t,t.port?[t.port]:void 0)}(this.port,n);let{port:a,error:s}=await r;n.port=a,i.close(),t.close(),this._handleErrors(s,this._msg.port)}_handleErrors(e,t){if(void 0!==e)throw t&&(!n8.YS.is(e)||this.taskCancellationToken.isCancellationRequested)&&TI(()=>{throw e},t),e}_throwIfCancellationRequested(e,t){!(0,n2.Bb)()&&e.isCancellationRequested&&(t&&this.taskCancellationToken.isCancellationRequested&&TI(()=>{(0,n8.Lj)(e)},t),(0,n8.Lj)(e))}_getBackgroundWaiter(e,t){return new Promise((i,r)=>{e.on("message",e=>{let r=e.data;"data"===e.kind&&"requestRequeue"===r.command?t.requestRequeue():i({port:r.port,error:"cancelled"===e.kind?new n8.YS:"failed"===e.kind?Error(e.data):void 0})})})}constructor(e,t,i,r){var n;super(t.requestType,(0,at.Gc)(null!=(n=t.cancellationId)?n:""),i,r),Tf(this,"port",void 0),Tf(this,"_msg",void 0),this.port=e,this._msg=t}}class TT extends T_{async run(e){await super.run(e),this._taskRunner.dispose(),this.port.close(),null===nV.parentPort||void 0===nV.parentPort||nV.parentPort.close()}constructor(e,t,i){super(e,t,TS.shutdown,!0),Tf(this,"_taskRunner",void 0),this._taskRunner=i}}function Tw(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let Tb=new class{constructor(e,t,i){_S(this,"name",void 0),_S(this,"priority",void 0),_S(this,"singleInstance",void 0),this.name=e,this.priority=t,this.singleInstance=i}}("loadBundle",y4.Highest,!1),TS={setImportResolver:y4.Highest,setConfigOptions:y4.Highest,setTrackedFiles:y4.Highest,setAllowedThirdPartyImports:y4.Highest,setFileOpened:y4.Highest,setFileClosed:y4.Highest,updateChainedFileUri:y4.Highest,addInterimFile:y4.Highest,markAllFilesDirty:y4.Highest,markFilesDirty:y4.Highest,setIndexOptions:y4.Highest,setNotebookData:y4.Highest,syncPthCache:y4.Highest,setExperimentOptions:y4.Highest,ensurePartialStubPackages:y4.Highest,invalidateAndForceReanalysis:y4.Highest,shutdown:y4.Highest,restart:y4.Highest,cacheUsageBuffer:y4.AboveNormal,typeServerRequest:y4.Normal,lspNotification:y4.Interrupting,lspNotificationBatch:y4.Interrupting,startWorkspaceDiagnostics:y4.Highest,stopWorkspaceDiagnostics:y4.Highest,analyzeFile:y4.Normal,getDocumentDiagnostics:y4.Normal,getDiagnosticsForRange:y4.Normal,writeTypeStub:y4.Normal,secondaryTask:y4.Unknown,getPartialSemanticTokens:y4.Immediate,getSemanticTokens:y4.BelowNormal,getInlayHints:y4.Normal,getReferences:y4.Normal,getCodeLensReferences:y4.BelowNormal,getCodeLensItems:y4.BelowNormal,startProfiling:y4.Highest,stopProfiling:y4.Highest,getTopLevelModules:y4.AboveNormal,getImportsUsedInWorkspace:y4.AboveNormal,analyzeSyntax:y4.Immediate,analyze:y4.Lowest,indexWorkspaceSymbols:y4.Lowest};class Tk{get level(){return this._level}set level(e){this._level=e}log(e){this.post(n1.$b.Log,e)}info(e){this.post(n1.$b.Info,e)}warn(e){this.post(n1.$b.Warn,e)}error(e){this.post(n1.$b.Error,e)}post(e,t){this._parentPort.postMessage({requestType:"log",data:ao({level:e,message:`${this.name}: ${t}`})})}constructor(e,t){Tw(this,"_parentPort",void 0),Tw(this,"name",void 0),Tw(this,"_level",void 0),this._parentPort=e,this.name=t,this._level=n1.$b.Log}}function TI(e,t,i=ao){try{let r=e();if(!(0,n2.Qg)(r))return void t.postMessage({kind:"ok",data:i(r)});return r.then(e=>{t.postMessage({kind:"ok",data:i(e)})},e=>{n8.YS.is(e)?t.postMessage({kind:"cancelled",data:e.message}):t.postMessage({kind:"failed",data:`Exception: ${e.message} in ${e.stack}`})})}catch(e){if(n8.YS.is(e))return void t.postMessage({kind:"cancelled",data:e.message});t.postMessage({kind:"failed",data:`Exception: ${e.message} in ${e.stack}`})}}function TC(e,t){var i;let r=null!=(i=null==t?void 0:t.deserializer)?i:al,n=null==t?void 0:t.dataHandler;return new Promise((t,i)=>{e.on("message",a=>{switch(a.kind){case"ok":if(null==n?void 0:n.handle(a.kind))return void t(n.process(a.data,a.kind,e));t(r(a.data));break;case"cancelled":if(null==n?void 0:n.handle(a.kind)){let r=n.process(a.data,a.kind,e);if(void 0===r)return void t(r);i(r);return}i(new n8.YS);break;case"failed":if(null==n?void 0:n.handle(a.kind))return void i(n.process(a.data,a.kind,e));i(a.data);break;case"data":if(null==n?void 0:n.handle(a.kind))return void n.process(a.data,a.kind,e);break;default:n6.fJ(`unknown kind ${a.kind} for ${JSON.stringify(a)}`)}})})}function TP(){return{preSetFileOpenMs:0,tokenRangeMs:0,tokenFullMs:0,tokenDeltaMs:0,analysisMs:0,userIndexMs:0,totalMs:0}}class Tx{sendTelemetry(e){let t=this._pendingProperties.get(e.EventName);if(t){for(let[i,r]of t)e.Properties[i]=r;this._pendingProperties.delete(e.EventName)}let i=this._pendingDurations.get(e.EventName);if(i){for(let[t,r]of i)e.Measurements[t]=r;this._pendingDurations.delete(e.EventName)}null===nV.parentPort||void 0===nV.parentPort||nV.parentPort.postMessage({type:"telemetry",event:e})}addPropertyToNextEvent(e,t,i){let r=oO(e),n=this._pendingProperties.get(r);n||(n=new Map,this._pendingProperties.set(r,n)),n.set(t,i)}addDurationToNextEvent(e,t,i){let r=oO(e),n=this._pendingDurations.get(r);n||(n=new Map,this._pendingDurations.set(r,n));let a=n.get(t)||0;n.set(t,a+i)}constructor(){Tw(this,"_pendingProperties",new Map),Tw(this,"_pendingDurations",new Map)}}function TF(e,t){let i=new Tk(nV.parentPort,t),r=new n5.v1(e.tempFileName),n=new oy(r),a=function(e,t,i,r){if("indexer"===e){let e=new Tu(i,r);return gt.createWithoutRemote(e,t)}let n=(0,n5.GD)(i,r);return gt.createWithoutRemote(n,t)}(e.runner,n,r,i),s=new Tg(a),o=new n9.Dd(a),l=yJ(i,a,n,r,o);return yY(l,s,nM.pthService,n7.y.stateMutationListeners),l}class TA{get stdin(){return this._worker.stdin}get stdout(){return this._worker.stdout}get stderr(){return this._worker.stderr}get threadId(){return this._worker.threadId}get performance(){return this._worker.performance}getHeapStatistics(){return this._worker.getHeapStatistics()}postMessage(e,t){this._worker.postMessage(e,t)}ref(){this._worker.ref()}unref(){this._worker.unref()}terminate(){return this._worker.terminate()}cpuUsage(e){return this._worker.cpuUsage(e)}getHeapSnapshot(){return this._worker.getHeapSnapshot()}addListener(e,t){return this._worker.addListener(e,e=>{this._filter(e)&&t(e)}),this}emit(e,t,...i){return this._worker.emit(e,t,...i)}once(e,t){return this._worker.once(e,t),this}prependListener(e,t){return this._worker.prependListener(e,t),this}prependOnceListener(e,t){return this._worker.prependOnceListener(e,t),this}removeListener(e,t){return this._worker.removeListener(e,t),this}off(e,t){return this._worker.off(e,t),this}removeAllListeners(e){return this._worker.removeAllListeners(e),this}setMaxListeners(e){return this._worker.setMaxListeners(e),this}getMaxListeners(){return this._worker.getMaxListeners()}listeners(e){return this._worker.listeners(e)}rawListeners(e){return this._worker.rawListeners(e)}listenerCount(e){return this._worker.listenerCount(e)}eventNames(){return this._worker.eventNames()}on(e,t){return this._worker.on(e,e=>{this._filter(e)&&t(e)}),this}[Symbol.asyncDispose](){return this._worker[Symbol.asyncDispose]()}constructor(e,t){Tw(this,"_worker",void 0),Tw(this,"_filter",void 0),Tw(this,"resourceLimits",void 0),this._worker=e,this._filter=t}}var TD=i(5473),TE=i(53720),TR=i(4371),TN=i(63344);function TM(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class TO extends aE.gw{query(e,t,i,r){if(this._sourceCode=t.text,this._rule=e,this._token=r,this._textRange=i,this._edits=[],!this._rule)return this._console.error(`Rule ${e} not found`),[];this._debugLog(()=>this._formatRuleDetails(e));try{return this.walk(t.parserOutput.parseTree),this._edits}catch(e){return console.error("Error while getting results:",e),[]}}walk(e,t=0){if((0,n8.Lj)(this._token),this._textRange&&!aB.vY.overlapsRange(this._textRange,e))return;this._debugLog(()=>`walk: Processing node id=${e.id}, nodeType=${(0,aL.xP)(e.nodeType)}`);let i=this.visitNode(e);if(!this._rule)return void this._console.error("Rule is undefined");this._debugLog(()=>{var t,i;return`Attempting rule: ${null!=(t=null==(i=this._rule)?void 0:i.name)?t:"undefined"} on nodeType=${(0,aL.xP)(e.nodeType)}`});let r=this.matchPattern(e,this._rule.pattern,t);if(r){this._printMatches(e,r);let t=this.applyTransformation(this._rule,r,this._sourceCode);t&&(this._debugLog(()=>`Transformation edit: ${JSON.stringify(t)}`),this._edits.push(t))}else this._debugLog(()=>{var t,i;return`Rule ${null!=(t=null==(i=this._rule)?void 0:i.name)?t:"undefined"} did NOT match on nodeType=${(0,aL.xP)(e.nodeType)}`});i.length>0&&this.walkMultiple(i)}walkMultiple(e,t=0){e.forEach(e=>{e&&this.walk(e,t+1)})}matchPattern(e,t,i){let r=" ".repeat(i);if(this._debugLog(()=>`${r}matchPattern: nodeType=${(0,aL.xP)(e.nodeType)}, expected parseNodeType=${t.parseNodeType}, actual=${(0,aL.xP)(e.nodeType)}`),e.nodeType!==TN.MY[t.parseNodeType])return this._debugLog(()=>`${r}matchPattern: nodeType does not match expected type`),null;if(this._isOperatorMismatch(e,t))return this._debugLog(()=>`${r}matchPattern: operator type does not match`),null;let n={nodes:{[t.parseNodeType]:e},captures:{}};if(!t.children)return this._debugLog(()=>`${r}matchPattern: matched without children.`),n;let a=this.visitNode(e);if(0===a.length)return this._debugLog(()=>`${r}matchPattern: no children to match.`),null;let s=this.matchPatternChildren(a,t.children,n,i+1);return this._debugLog(()=>`${r}matchPattern: children matching result=${s}`),s?n:null}matchPatternChildren(e,t,i,r=0){let n=" ".repeat(r),a=Object.keys(t);this._debugLog(()=>`${n}matchPatternChildren: Starting children match. Expected keys: ${JSON.stringify(a)}`);let s=0,o=(e,r)=>{if(!e)return!1;let n=" ".repeat(r);this._debugLog(()=>`${n}traverse: Checking nodeType=${(0,aL.xP)(e.nodeType)}`);let l=a[s],d=t[l];if(e.nodeType===TN.MY[d.parseNodeType]){for(let t in this._debugLog(()=>`${n}traverse: Node matches pattern key=${l}`),i.nodes[d.parseNodeType]=e,s++,d.captures)d.captures[t]===l&&(i.captures[t]=e,this._debugLog(()=>`${n}traverse: Captured key=${t}, value=${this._sourceCode.slice(e.start,e.start+e.length)}`));if(d.children){let t=this.visitNode(e);if(!this.matchPatternChildren(t,d.children,i,r+1))return this._debugLog(()=>`${n}traverse: Children did not match for pattern key=${l}`),!1}return s===a.length}return this._debugLog(()=>`${n}traverse: Node does not match pattern key=${l}`),this.visitNode(e).some(e=>o(e,r+1))},l=e.some(e=>o(e,r))&&s===a.length;return this._debugLog(()=>`${n}matchPatternChildren: Final result=${l}`),l}applyTransformation(e,t,i){let r={},n=i.length,a=0;for(let e in t.captures){let s=t.captures[e];r[e]=i.slice(s.start,s.start+s.length),n=Math.min(n,s.start),a=Math.max(a,s.start+s.length)}if(e.processors)for(let t in e.processors)r[t]&&(r[t]=e.processors[t](r[t]));let s=e.transformation;for(let e in r)s=s.replace(RegExp(`\\\${${e}}`,"g"),r[e]);return this._debugLog(()=>`applyTransformation: final transformed text: "${s}"`),{start:n,end:a,newText:s}}_isOperatorMismatch(e,t){return(e.nodeType===aO.ye.BinaryOperation||e.nodeType===aO.ye.AugmentedAssignment||e.nodeType===aO.ye.UnaryOperation)&&!!t.operatorType&&e.d.operator!==TN.TX[t.operatorType]}_debugLog(e){(0,n2.Bb)()&&this._console.log(e())}_formatRuleDetails(e){return["Rule Details:",` Name: ${e.name}`,` Pattern: ${JSON.stringify(e.pattern,null,4)}`,` Transformation: ${e.transformation}`,e.processors?` Processors: ${JSON.stringify(e.processors,null,4)}`:""].filter(Boolean).join("\n")}_printMatches(e,t){if((0,n2.Bb)()){this._debugLog(()=>{var t;return`Rule ${null==(t=this._rule)?void 0:t.name} matched on nodeType=${(0,aL.xP)(e.nodeType)}`});let i=Object.fromEntries(Object.entries(t.captures).map(([e,t])=>[e,t?this._sourceCode.slice(t.start,t.start+t.length):null]));this._debugLog(()=>`Captures: ${JSON.stringify(i)}`)}}constructor(e){super(),TM(this,"_console",void 0),TM(this,"_edits",void 0),TM(this,"_sourceCode",void 0),TM(this,"_rule",void 0),TM(this,"_token",void 0),TM(this,"_textRange",void 0),this._console=e,this._edits=[],this._sourceCode="",this._token=nZ.CancellationToken.None,(0,n2.Bb)()||(this._debugLog=()=>{})}}let TU=new Map([["annotationFormatString",{name:"annotationFormatString",pattern:{parseNodeType:"TypeAnnotation",children:{annotation:{parseNodeType:"FormatString",children:{valueName:{parseNodeType:"Name",captures:{intStr:"valueName"}}},captures:{orginal:"annotation"}}}},transformation:"${intStr}",processors:{}}]]);class TL{static addCodeActions(e,t,i,r){(0,n8.Lj)(r),t.forEach(t=>{var r;null==(r=t.getActions())||r.forEach(r=>{if(!(null==r?void 0:r.code))return;let n=r.code.split(".")[1];if(n&&"diagnostic.code"===r.action){let r=TU.get(n);if(!r)return;let a=iI.CodeAction.DiagnosticRefactor.fixformattedString().format({name:t.message}),s=nZ.CodeAction.create(a,(0,TE.g)(a,s0.diagnosticRefactor,e,t.range,nZ.CodeActionKind.QuickFix,r.name),nZ.CodeActionKind.QuickFix);s&&i.push(s)}})})}static createCodeAction(e,t,i,r){return nZ.CodeAction.create(e,(0,TE.g)(e,s0.diagnosticRefactor,t,i,r),nZ.CodeActionKind.QuickFix)}}class Tz{execute(e,t,i){var r;if((null==(r=t.arguments)?void 0:r.length)!==4)return void this._console.error("Invalid arguments for diagnostic refactor command");let n=n4.z.parse(t.arguments[0],e.service.serviceProvider),a=t.arguments[1],s=TU.get(t.arguments[3]);if(!s)return void this._console.error("Invalid rule for diagnostic refactor command");let o=e.service.run(e=>{let t=e.getParseResults(n);if(!t)return void this._console.error(`No parse results for file ${n.toString()}`);let r=(0,aW.AP)(a,t.tokenizerOutput.lines);if(!r)return void this._console.error(`Invalid range for file ${n.toString()}`);if((0,n2.Bb)()){let e=new TR.ei(n,t.tokenizerOutput.lines);e.walk(t.parserOutput.parseTree),this._console.info(e.output)}return this.getDiagnosticRefactorEdits(t,n,r,s,i)},i);if(o)return(0,fI.WN)(e.service.fs,o)}getDiagnosticRefactorEdits(e,t,i,r,n){var a;if(n.isCancellationRequested)return[];let s=new TO(this._console).query(r,e,i,n);return this._console.info(`Number of edits found: ${s.length}`),a=e.tokenizerOutput.lines,s.map(e=>({range:(0,aW.er)(e.start,e.end,a),replacementText:e.newText,fileUri:t,action:"refactor"}))}getFile(e){return e.arguments?e.arguments[0]:void 0}constructor(e){var t,i;i=void 0,(t="_console")in this?Object.defineProperty(this,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):this[t]=i,this._console=e}}function TW(e,t,i,r,n){if(0===t.length)return(0,fI.WN)(e.fileSystem,[]);let a=t[0].start,s=e.getParseResults(i),o=e.serviceProvider.get(nM.fixtureFinder),l=new fV(e,{useTypeAlias:!0}),d=t.map(e=>{let t=(0,aL.Yl)(e);if(!t||!t.d.name||t.d.annotation||t.d.annotationComment)return;let i=hs(o,t,n);if(i)return{type:i,node:t.d.name}}).filter(n2.O9);l.appendImportInfoForTypes(i,d,n),l.updateImportInfoForTypeWithAutoImport(i,s,a,d.map(e=>e.type),n);let u=new fJ(e,i,n,l),p=d.map(e=>{var t,r;let n,a=aB.vY.getEnd(e.node),o=(t=u.getTypeString(e.type),r=(0,aW.l8)(a,s.tokenizerOutput.lines),n=`: ${t}`,nZ.TextEdit.insert(r,n));return{fileUri:i,range:o.range,replacementText:o.newText}}).flat().filter(e=>!!e),c=l.applyImports(i,s,a,null!=r?r:o9.Absolute,n);return p.push(...c.map(e=>({fileUri:i,range:e.range,replacementText:e.replacementText}))),(0,fI.WN)(e.fileSystem,p.filter(e=>!!e))}class TB{get isRefactoringCommand(){return!0}execute(e,t,i){var r;(0,n8.Lj)(i);let n=e.service.serviceProvider.tryGet(nM.fixtureFinder);if(!n||t.command!==s0.addAllFixtureTypeAnnotations||(null==(r=t.arguments)?void 0:r.length)!==1)return;let a=t.arguments;return e.service.run(t=>{let r=n4.z.parse(a[0],t.serviceProvider),s=t.getParseResults(r);if(!s)return;let o=aq(s,aO.ye.Parameter,i).filter(e=>!e.d.annotation&&!e.d.annotationComment&&hn(n,e)&&he(t,e,i)).map(e=>(0,aW.oG)(e,s.tokenizerOutput.lines)).map(e=>(0,aL.cd)(s.parserOutput.parseTree,e.start,s.tokenizerOutput.lines)).filter(n2.O9);if(0!==o.length)return TW(t,o,r,e.importFormat,i)},i)}getFile(e){var t;if(e.command===s0.addAllFixtureTypeAnnotations&&(null==(t=e.arguments)?void 0:t.length)===1)return e.arguments[0]}}class T${get isRefactoringCommand(){return!0}execute(e,t,i){var r;if((0,n8.Lj)(i),!e.service.serviceProvider.tryGet(nM.fixtureFinder)||t.command!==s0.addFixtureTypeAnnotation||(null==(r=t.arguments)?void 0:r.length)!==2)return;let n=t.arguments;return e.service.run(t=>{let r=n4.z.parse(n[0],t.serviceProvider),a=n[1],s=t.getParseResults(r);if(!s)return;let o=s?(0,aL.cd)(s.parserOutput.parseTree,a.start,s.tokenizerOutput.lines):void 0;if(o)return TW(t,[o],r,e.importFormat,i)},i)}getFile(e){var t;if(e.command===s0.addFixtureTypeAnnotation&&(null==(t=e.arguments)?void 0:t.length)===2)return e.arguments[0]}}function Tj(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function TK(e,t){return e.name===t.name&&e.source===t.source}let TV=new class{constructor(e,t,i=(e,t)=>e===t,r=100){h8(this,"name",void 0),h8(this,"keyGetter",void 0),h8(this,"equalityChecker",void 0),h8(this,"maxSize",void 0),this.name=e,this.keyGetter=t,this.equalityChecker=i,this.maxSize=r}}("addImport",e=>e.name,TK,100);class Tq{setSortKeys(e,t,i){if(!this._mruQueue)return 0;let r=this._mruQueue.get(e);return 0===r.length?0:TY(r,t,(e,t)=>`0_${t}_${TJ(e.name,e.source)}`,this._maxItems,i)}constructor(e,t){var i;Tj(this,"_workspace",void 0),Tj(this,"_maxItems",void 0),Tj(this,"_mruQueue",void 0),this._workspace=e,this._maxItems=t,this._mruQueue=null==(i=this._workspace.service.serviceProvider.tryGet(nM.mruQueues))?void 0:i.getGlobalMRUQueue(TV)}}class TG{setSortKeys(e,t,i){let r=this._collectsImportUsed(t,e,i);return 0===r.length?0:TY(r,t,(e,t)=>{var i;return`1_${null!=(i=e.sortKey)?i:""}_${TJ(e.name,e.source)}`},this._maxItems,i)}_collectsImportUsed(e,t,i){return this._workspace.service.run(r=>{let n=[],a=r.getSourceFileInfoList().filter(e=>e.isOpenByClient&&(0,aR.xX)(e));for(let s=0;s<a.length&&((0,n8.Lj)(i),!(s>this._maxFiles));s++){let i=a[s],o=r.getParseResults(i.uri);if(!o)continue;let l=o.parserOutput.parseTree;for(let i=0;i<l.d.statements.length;i++){if(i>this._maxStatements)return n;let r=l.d.statements[i];r.nodeType===aO.ye.StatementList&&r.d.statements.forEach(i=>{if(i.nodeType===aO.ye.Import)return void i.d.list.forEach(i=>{if(0===i.d.module.d.nameParts.length)return;let r=i.d.module.d.nameParts[i.d.module.d.nameParts.length-1].d.token.value;if(r===t){var a;let e=i.d.module.d.nameParts.length>1?((a=i.d.module.d.nameParts.map(e=>e.d.token.value)).pop(),a).join("."):void 0;(0,ap.eA)(n,{name:r,source:e,sortKey:"n"},TK);return}let s=1===i.d.module.d.nameParts.length?i.d.module.d.nameParts[0].d.value:`${i.d.module.d.nameParts[0].d.value}.`,o=e.find(e=>{var t;return null==(t=e.source)?void 0:t.startsWith(s)});o&&(0,ap.eA)(n,{name:o.name,source:o.source,alias:o.alias,sortKey:"s"},TK)});if(i.nodeType===aO.ye.ImportFrom){let r=i.d.module.d.nameParts.map(e=>e.d.token.value).join(".");i.d.imports.forEach(i=>{let a=i.d.name.d.token.value;if(a===t)return void(0,ap.eA)(n,{name:a,source:r,sortKey:"n"},TK);let s=e.find(e=>e.source===r);s&&(0,ap.eA)(n,{name:s.name,source:s.source,alias:s.alias,sortKey:"s"},TK)});return}})}}return n},i)}constructor(e,t,i,r){Tj(this,"_workspace",void 0),Tj(this,"_maxFiles",void 0),Tj(this,"_maxStatements",void 0),Tj(this,"_maxItems",void 0),this._workspace=e,this._maxFiles=t,this._maxStatements=i,this._maxItems=r}}class TH{setSortKeys(e,t,i){return this._workspace.service.run(e=>{let r=0;for(let n of t){if((0,n8.Lj)(i),void 0!==n.sortKey)continue;let t=this._getImportKindForResult(e,n);n.sortKey=`${t}_${TJ(n.name,n.source)}`,r++}return r},i)}_getImportKindForResult(e,t){let i=this._getImportKind(e,t.declUri);return 4===i&&t.originalDeclUri.key!==t.declUri.key&&4!==this._getImportKind(e,t.originalDeclUri)?6:i}_getImportKind(e,t){let i=e.importResolver.getTypeshedStdLibPath(e.configOptions.findExecEnvironment(t)),r=e.getSourceFileInfo(t);return r?(0,aR.xX)(r)?4:r.isTypingStubFile?2:t.startsWith(i)?3:5:t.pathEndsWith("stdlib/typing.pyi")||t.pathEndsWith("stdlib/typing_extensions.pyi")?2:t.startsWith(i)?3:5}constructor(e){Tj(this,"_workspace",void 0),this._workspace=e}}function TJ(e,t){let i=t?`${(0,sN.f7)(t,".")}_${t}`:"";return`${e}_${i}`}function TY(e,t,i,r,n){let a=0;for(let s=0;s<e.length;s++)for(let o of t)if((0,n8.Lj)(n),void 0===o.sortKey&&TK(o,e[s])){if(o.sortKey=i(e[s],s),++a>=r)return a;break}return a}function TQ(e,t){return e.sortKey===t.sortKey?0:e.sortKey&&!t.sortKey?-1:!e.sortKey&&t.sortKey?1:e.sortKey.localeCompare(t.sortKey)}class TX{setSortKeys(e,t,i){let r=this._collectsImportUsed(t,e,i);return 0===r.length?0:TY(r,t,(e,t)=>{var i;return`1_${null!=(i=e.sortKey)?i:""}_${TJ(e.name,e.source)}`},this._maxItems,i)}_collectsImportUsed(e,t,i){let r=[],n=this._program.getSourceFileInfoList().filter(e=>e.isOpenByClient&&(0,aR.xX)(e));for(let a=0;a<n.length&&((0,n8.Lj)(i),!(a>this._maxFiles));a++){let s=n[a],o=this._program.getParseResults(s.uri);o&&this._processParseResults(o,e,t,r,i)}return r}_processParseResults(e,t,i,r,n){let a=e.parserOutput.parseTree;for(let e=0;e<a.d.statements.length;e++){if(e>this._maxStatements)return;let s=a.d.statements[e];s.nodeType===aO.ye.StatementList&&s.d.statements.forEach(e=>{if(e.nodeType===aO.ye.Import)return void e.d.list.forEach(e=>{var a,s;if(0===e.d.module.d.nameParts.length)return;let o=null!=(a=null==(s=e.d.alias)?void 0:s.d.value)?a:e.d.module.d.nameParts[0].d.value;if(o===i){let e=t.find(e=>e.name===o);e&&(0,ap.eA)(r,{name:e.name,source:e.source,alias:e.alias,sortKey:"n"},TK)}let l=e.d.module.d.nameParts.map(e=>e.d.value).join(".");for(let e of t)(0,n8.Lj)(n),e.source===l&&(0,ap.eA)(r,{name:e.name,source:e.source,alias:e.alias,sortKey:"s"},TK)});if(e.nodeType===aO.ye.ImportFrom){if(0===e.d.module.d.nameParts.length)return;let n=e.d.module.d.nameParts.map(e=>e.d.value).join(".");e.d.imports.forEach(e=>{var a,s;let o=null!=(a=null==(s=e.d.alias)?void 0:s.d.value)?a:e.d.name.d.value;if(o===i)return void(0,ap.eA)(r,{name:o,source:n,sortKey:"n"},TK);let l=t.find(e=>e.source===n);l&&(0,ap.eA)(r,{name:l.name,source:l.source,alias:l.alias,sortKey:"s"},TK)});return}})}}constructor(e,t,i,r,n){Tj(this,"_program",void 0),Tj(this,"_workspace",void 0),Tj(this,"_maxFiles",void 0),Tj(this,"_maxStatements",void 0),Tj(this,"_maxItems",void 0),this._program=e,this._workspace=t,this._maxFiles=i,this._maxStatements=r,this._maxItems=n}}class TZ{setSortKeys(e,t,i){let r=0;for(let e of t){if((0,n8.Lj)(i),void 0!==e.sortKey)continue;let t=this._getImportKindForResult(e);e.sortKey=`${t}_${TJ(e.name,e.source)}`,r++}return r}_getImportKindForResult(e){let t=this._getImportKind(e.declUri);return 4===t&&e.originalDeclUri.key!==e.declUri.key&&4!==this._getImportKind(e.originalDeclUri)?6:t}_getImportKind(e){let t=e.getPath(),i=this._program.getSourceFileInfo(e);return i?(0,aR.xX)(i)?4:i.isTypingStubFile?2:t.includes("typeshed")&&t.includes("stdlib")?3:5:t.endsWith("stdlib/typing.pyi")||t.endsWith("stdlib/typing_extensions.pyi")?2:t.includes("typeshed")&&t.includes("stdlib")?3:5}constructor(e,t){Tj(this,"_program",void 0),Tj(this,"_workspace",void 0),this._program=e,this._workspace=t}}function T0(e){let t=e.service,i=t.asyncProgram;if(i)return{workspace:e,service:t,program:i}}async function T1(e,t){var i;let r=T0(e);if(!r)return;let{program:n}=r,a=await n.getSnapshot(t),s=n.getEvaluator(a),o=[...null!=(i=await n.getPythonSearchPaths(a,t))?i:[]];return{...r,snapshot:a,evaluator:s,pythonSearchPaths:o}}class T5{get isResolvable(){return!0}execute(e,t,i){if((0,n8.Lj)(i),!t.arguments||t.arguments.length<3)return[];let r=n4.z.parse(t.arguments[0],e.service.serviceProvider),n=t.arguments[1],a=t.arguments[2],s=this._getArguments(t.arguments,3),o=this._getArguments(t.arguments,4),l=e.service.run(t=>{var s;return li(t,r,n,1,a8,{lazyEdit:!1,importFormat:e.importFormat,indices:o6.getIndices(e),nameToSearch:null!=o?o:a,includeAliasesFromUserFiles:null==(s=e.indexOptions)?void 0:s.includeAliasesFromUserFiles,allowDuplicatedAliases:!0},i)},i).find(e=>e.name===a&&e.source===s);if(!l)return[];let d=e.service.serviceProvider.tryGet(nM.mruQueues);return d&&d.getGlobalMRUQueue(TV).enqueue(l),(0,fI.WN)(e.service.fs,[...l.edits.map(e=>({fileUri:r,range:e.range,replacementText:e.replacementText})),{fileUri:r,range:n,replacementText:l.insertionText}])}async executeAsync(e,t,i){var r;if((0,n8.Lj)(i),!t.arguments||t.arguments.length<3)return[];let n=n4.z.parse(t.arguments[0],e.service.serviceProvider),a=t.arguments[1],s=t.arguments[2],o=this._getArguments(t.arguments,3),l=this._getArguments(t.arguments,4),d=T0(e);if(!d)return[];let u=(await fR(d.program,n,a,1,a8,{lazyEdit:!1,importFormat:e.importFormat,indices:o6.getIndices(e),nameToSearch:null!=l?l:s,includeAliasesFromUserFiles:null==(r=e.indexOptions)?void 0:r.includeAliasesFromUserFiles,allowDuplicatedAliases:!0},i)).find(e=>e.name===s&&e.source===o);if(!u)return[];let p=e.service.serviceProvider.tryGet(nM.mruQueues);return p&&p.getGlobalMRUQueue(TV).enqueue(u),(0,fI.WN)(e.service.fs,[...u.edits.map(e=>({fileUri:n,range:e.range,replacementText:e.replacementText})),{fileUri:n,range:a,replacementText:u.insertionText}])}getFile(e){return e.arguments?e.arguments[0]:void 0}_getArguments(e,t){var i;return e.length<=t?void 0:null!=(i=e[t])?i:void 0}}var T4=i(97495),T3=i(94136);class T8{execute(e,t,i){let r;if((0,n8.Lj)(i),!t.arguments||t.arguments.length<2)return;let n=n4.z.parse(t.arguments[0],e.service.serviceProvider),a=t.arguments[1],s=t.arguments.length>=3?t.arguments[2]:void 0,o=s?n4.z.parse(s,e.service.serviceProvider):void 0,l=e.service.fs;if(!l.existsSync(n))return;let d=l.readFileSync(n,"utf8"),u=n.fileName,p=e.service.getConfigOptions().projectRoot;if("pyrightconfig.json"===u?r=this._createJsonEdit(d,a,o,p):"pyproject.toml"===u&&(r=this._createTomlEdit(d,a,o,p)),r)return{changes:{[n.toString()]:[r]}}}getFile(e){return e.arguments?e.arguments[0]:void 0}_createJsonEdit(e,t,i,r){let n,a=T4.cZ(e);if(!a)return;let s=-1;if(i&&r){let e=T4.Wc(a,["executionEnvironments"]);e&&"array"===e.type&&e.children&&(s=this._findMatchingExecEnvIndex(e,i,r))}if(s>=0){let i=["executionEnvironments",s,"extraPaths"],r=T4.Wc(a,i);n=r&&"array"===r.type?T4.JP(e,[...i,-1],t,{formattingOptions:{tabSize:4,insertSpaces:!0}}):T4.JP(e,i,[t],{formattingOptions:{tabSize:4,insertSpaces:!0}})}else{let i=T4.Wc(a,["extraPaths"]);n=i&&"array"===i.type?T4.JP(e,["extraPaths",-1],t,{formattingOptions:{tabSize:4,insertSpaces:!0}}):T4.JP(e,["extraPaths"],[t],{formattingOptions:{tabSize:4,insertSpaces:!0}})}if(0===n.length)return;let o=n[0];return{range:{start:this._offsetToPosition(e,o.offset),end:this._offsetToPosition(e,o.offset+o.length)},newText:o.content}}_findMatchingExecEnvIndex(e,t,i){if(!e.children)return -1;for(let r=0;r<e.children.length;r++){let n=e.children[r];if("object"!==n.type||!n.children)continue;let a=n.children.find(e=>{if("property"!==e.type||!e.children||e.children.length<2)return!1;let t=e.children[0];return"string"===t.type&&"root"===t.value});if(!a||!a.children||a.children.length<2)continue;let s=a.children[1];if("string"===s.type&&this._matchesExecEnv(t,s.value,i))return r}return -1}_offsetToPosition(e,t){let i=0,r=0;for(let n=0;n<t&&n<e.length;n++)"\n"===e[n]?(i++,r=0):r++;return{line:i,character:r}}_createTomlEdit(e,t,i,r){try{let n=(0,T3.parseTOML)(e);return this._createTomlEditFromAst(e,n,t,i,r)}catch{return}}_createTomlEditFromAst(e,t,i,r,n){let a,s=t.body[0];if(!s||"TOMLTopLevelTable"!==s.type)return;let o=this._findPyrightTable(s);if(!o)return;let l=o.body.find(e=>"TOMLKeyValue"===e.type&&"executionEnvironments"===this._getKeyName(e.key));l&&"TOMLArray"===l.value.type&&r&&n&&(a=this._findMatchingExecEnvInToml(l.value,r,n));let d=null!=a?a:o,u=d.body.find(e=>"TOMLKeyValue"===e.type&&"extraPaths"===this._getKeyName(e.key));if(u&&"TOMLArray"===u.value.type){let t=u.value,r=t.range[1]-1,n=t.elements.length>0?`, "${i}"`:`"${i}"`,a=this._offsetToPosition(e,r);return{range:{start:a,end:a},newText:n}}if("TOMLInlineTable"===d.type){let t=d.range[1]-1;t>0&&/\s/.test(e[t-1])&&t--;let r=this._offsetToPosition(e,t);return{range:{start:r,end:r},newText:d.body.length>0?`, extraPaths = ["${i}"]`:`extraPaths = ["${i}"]`}}{let t=d.body[d.body.length-1],r=t?t.range[1]:d.range[1],n=this._offsetToPosition(e,r);return{range:{start:n,end:n},newText:`
extraPaths = ["${i}"]`}}}_findMatchingExecEnvInToml(e,t,i){for(let r of e.elements){if("TOMLInlineTable"!==r.type)continue;let e=r.body.find(e=>"TOMLKeyValue"===e.type&&"root"===this._getKeyName(e.key));if(!e||"TOMLValue"!==e.value.type)continue;let n=e.value;if("string"===n.kind&&this._matchesExecEnv(t,n.value,i))return r}}_findPyrightTable(e){for(let t of e.body)if("TOMLTable"===t.type){let e=this._getKeyPath(t.key);if(2===e.length&&"tool"===e[0]&&"pyright"===e[1])return t}}_getKeyPath(e){return e.keys.map(e=>this._getKeyName({keys:[e]}))}_getKeyName(e){let t=e.keys[0];return"TOMLBare"===t.type?t.name:"TOMLQuoted"===t.type?t.value:""}_normalizePathForComparison(e){return(0,ak.Nw)(e.replace(/^\.\//,""))}_matchesExecEnv(e,t,i){let r=i.resolvePaths(t);return!!(e.equals(r)||e.startsWith(r))}}var T2=i(30579);function T6(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class T7{get isRefactoringCommand(){return!0}getFile(e){if(e.arguments&&e.arguments.length>=1)return e.arguments[0]}addTypeAnnotations(e,t,i){let r=e.getParseResults(t);if(!r)return;let n=this._addAllTypeAnnotations(e,t,r,i);if(n&&0!==n.length)return{changes:{[t.toString()]:n}}}execute(e,t,i){if((0,n8.Lj)(i),!t.arguments||t.arguments.length<1)return;let r=n4.z.parse(t.arguments[0],e.service.serviceProvider),n=t.arguments.length>=2?parseInt(t.arguments[1],10):void 0,a=e.service.getParseResults(r);if(a)return void 0!==n?e.service.run(e=>{let t=this._addSingleTypeAnnotation(e,r,a,n,i);if(!t||0===t.length)return;let s=s5("Add type annotation",void 0,{changes:{[r.toString()]:t}});return T2.P.is(s)?s:void 0},i):e.service.run(e=>{let t=this._addAllTypeAnnotations(e,r,a,i);if(!t||0===t.length)return;let n=s5("Add all type annotations",void 0,{changes:{[r.toString()]:t}});return T2.P.is(n)?n:void 0},i)}async executeAsync(e,t,i){if((0,n8.Lj)(i),!t.arguments||t.arguments.length<1)return;let r=n4.z.parse(t.arguments[0],e.service.serviceProvider),n=t.arguments.length>=2?parseInt(t.arguments[1],10):void 0,a=e.service.getParseResults(r);if(!a)return;let s=await T1(e,i);if(!s)return;if(void 0!==n){let e=await this._addSingleTypeAnnotationAsync(s.program,s.pythonSearchPaths,s.snapshot,s.evaluator,r,a,n,i);if(!e||0===e.length)return;let t=s5("Add type annotation",void 0,{changes:{[r.toString()]:e}});return T2.P.is(t)?t:void 0}let o=await this._addAllTypeAnnotationsAsync(s.program,s.pythonSearchPaths,s.snapshot,s.evaluator,r,a,i);if(!o||0===o.length)return;let l=s5("Add all type annotations",void 0,{changes:{[r.toString()]:o}});return T2.P.is(l)?l:void 0}_addSingleTypeAnnotation(e,t,i,r,n){if(!e.evaluator)return;let a=(0,aL.gr)(i.parserOutput.parseTree,r);if(!a||a.nodeType!==aO.ye.Name)return;let s=we(e,t,a,i,n);if(s&&0!==s.length)return s}_addAllTypeAnnotations(e,t,i,r){if(!e.evaluator)return;let n=new T9(e,t,i,r);n.walk(i.parserOutput.parseTree);let a=n.getEdits();return a.length>0?a:void 0}async _addSingleTypeAnnotationAsync(e,t,i,r,n,a,s,o){let l=(0,aL.gr)(a.parserOutput.parseTree,s);if(l&&l.nodeType===aO.ye.Name)return await wi(e,t,i,r,n,l,a,o)}async _addAllTypeAnnotationsAsync(e,t,i,r,n,a,s){let o=[],l=new wt(a);for(let d of(l.walk(a.parserOutput.parseTree),l.getNameNodes())){(0,n8.Lj)(s);let l=await wi(e,t,i,r,n,d,a,s);l&&l.length>0&&o.push(...l)}return o.length>0?o:void 0}}class T9 extends aE.gw{getEdits(){return this._edits}visitName(e){(0,n8.Lj)(this._token);let t=we(this._view,this._fileUri,e,this._parseResults,this._token);return t&&t.length>0&&this._edits.push(...t),!1}constructor(e,t,i,r){super(),T6(this,"_view",void 0),T6(this,"_fileUri",void 0),T6(this,"_parseResults",void 0),T6(this,"_token",void 0),T6(this,"_edits",void 0),this._view=e,this._fileUri=t,this._parseResults=i,this._token=r,this._edits=[]}}function we(e,t,i,r,n){let a=vt(i,e.evaluator,r);if(!a)return;let{type:s,targetNode:o,separator:l,insertOffset:d}=a;if((0,aM.ah)(s)||(0,aX.ZP)(s)||!vp(o,s))return;let u=o.nodeType===aO.ye.Function?o.d.name:i,p=(0,aW.l8)(d,r.tokenizerOutput.lines);return fZ(e,r,t,o,u,s,p,l,!1,n)}class wt extends aE.gw{getNameNodes(){return this._nameNodes}visitName(e){return this._nameNodes.push(e),!1}constructor(e){super(),T6(this,"_parseResults",void 0),T6(this,"_nameNodes",void 0),this._parseResults=e,this._nameNodes=[]}}async function wi(e,t,i,r,n,a,s,o){let l=await vo(a,r,s);if(!l)return;let{type:d,targetNode:u,separator:p,insertOffset:c}=l;if((0,aM.ah)(d)||(0,aX.ZP)(d)||!vp(u,d))return;let h=u.nodeType===aO.ye.Function?u.d.name:a,m=(0,aW.l8)(c,s.tokenizerOutput.lines);return await f0(e,t,i,s,n,u,h,d,m,p,!1,o)}class wr{execute(e,t,i){if((0,n8.Lj)(i),!t.arguments||t.arguments.length<3)return[];let r=n4.z.parse(t.arguments[0],e.service.serviceProvider),n=t.arguments[1],a=t.arguments[2];return(0,fI.WN)(e.service.fs,[{fileUri:r,range:n,replacementText:a}])}async executeAsync(e,t,i){if((0,n8.Lj)(i),!t.arguments||t.arguments.length<3)return[];let r=n4.z.parse(t.arguments[0],e.service.serviceProvider),n=t.arguments[1],a=t.arguments[2];return(0,fI.WN)(e.service.fs,[{fileUri:r,range:n,replacementText:a}])}getFile(e){return e.arguments?e.arguments[0]:void 0}}class wn{execute(e,t,i){(0,n8.Lj)(i);let r=e.service.fs,n=_$(r,_B.GlobalIndices);this._deleteFolder(r,n);let a=_$(r,_B.LocalIndices);this._deleteFolder(r,a)}getFile(e){}_deleteFolder(e,t){e.existsSync(t)&&e.readdirEntriesSync(t).forEach(i=>{let r=t.combinePaths(i.name);i.isDirectory()&&this._deleteFolder(e,r),this._delete(e,r,i.isDirectory())})}_delete(e,t,i){try{i?e.rmdirSync(t):e.unlinkSync(t)}catch(e){}}constructor(e){var t;t=void 0,"_ls"in this?Object.defineProperty(this,"_ls",{value:t,enumerable:!0,configurable:!0,writable:!0}):this._ls=t,this._ls=e}}let wa={title:"",command:s0.completionAccepted,arguments:[]},ws={title:"",command:s0.completionAccepted,arguments:[(0,o5.Nt)({keyword:!0})]},wo={title:"",command:s0.completionAccepted,arguments:[(0,o5.Nt)({memberAccess:!0})]},wl={title:"",command:s0.completionAccepted,arguments:[(0,o5.Nt)({autoImport:!0})]},wd={title:"",command:s0.completionAccepted,arguments:[(0,o5.Nt)({indexValue:!0})]};class wu{execute(e,t,i){var r;if(!this._telemetry)return;let n=(0,o5.uJ)(null==(r=t.arguments)?void 0:r[0]),a=new oU(oN.COMPLETION_ACCEPTED);(null==n?void 0:n.autoImport)&&(a.Properties.autoImport=`${n.autoImport}`),(null==n?void 0:n.indexValue)&&(a.Properties.indexValue=`${n.indexValue}`),(null==n?void 0:n.memberAccess)&&(a.Properties.memberAccess=`${n.memberAccess}`),(null==n?void 0:n.keyword)&&(a.Properties.keyword=`${n.keyword}`),this._telemetry.sendTelemetry(a)}getFile(e){}constructor(e){var t,i;i=void 0,(t="_telemetry")in this?Object.defineProperty(this,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):this[t]=i,this._telemetry=e}}function wp(e,t,i,r){if(!t)return;let n=aV(r)?(0,aW.AP)(r,i.tokenizerOutput.lines):r;if(!n)return;let a=(0,aL.gr)(i.parserOutput.parseTree,n.start),s=(0,aL.Ay)(a,aO.ye.ImportFrom);if(!s||!aB.vY.overlapsRange(s.d.module,n))return;let o=(0,ax.en)(s.d.module),l=(0,ax.R8)(i.parserOutput.parseTree),d=(0,oG.yX)(o);if(d&&wm(e,t,l.fileUri,d))return{targetPath:d,importFrom:s}}function wc(e,t,i){let r=e.importResolver,n=e.configOptions.findExecEnvironment(t),a=r.getModuleNameForImport(i,n);if(!a.moduleName)return;let s=r.resolveImport(t,n,(0,au.K6)(a.moduleName)),o=(0,oG.yX)(s);if(i.equals(o))return a.moduleName}class wh{get isRefactoringCommand(){return!0}execute(e,t,i){var r,n;if((0,n8.Lj)(i),!e.rootUri||t.command!==s0.convertImportFormat||(null==(r=t.arguments)?void 0:r.length)!==2&&(null==(n=t.arguments)?void 0:n.length)!==3)return;let a=n4.z.parse(t.arguments[0],e.service.serviceProvider),s=t.arguments[1],o=3===t.arguments.length?t.arguments[2]:void 0,l=e.service.run(t=>this.convertImportFormat(t,e.rootUri,a,s,o),i);return s5("Command: Convert all import format",o,l)}async executeAsync(e,t,i){var r,n;if((0,n8.Lj)(i),!e.rootUri||t.command!==s0.convertImportFormat||(null==(r=t.arguments)?void 0:r.length)!==2&&(null==(n=t.arguments)?void 0:n.length)!==3)return;let a=n4.z.parse(t.arguments[0],e.service.serviceProvider),s=t.arguments[1],o=3===t.arguments.length?t.arguments[2]:void 0,l=await T1(e,i);if(!l)return;let d=await this._convertImportFormatAsync(l.program,l.snapshot,l.workspace.rootUri,a,s,o,l.pythonSearchPaths,i);return s5("Command: Convert all import format",o,d)}getFile(e){return e.arguments?e.arguments[0]:void 0}convertImportFormat(e,t,i,r,n){let a=e.getParseResults(i);if(!a)return;if(n){let s=wp(e,t,a,n);if(!s)return;let o=this._createFileEditAction(e,i,a,s,r);if(!o)return;return(0,fI.WN)(e.fileSystem,[o])}let s={changes:{}};for(let n of(0,oG.AG)(a.parserOutput.parseTree).orderedImports.filter(e=>e.node.nodeType===aO.ye.ImportFrom).map(e=>e.node)){if(r===o9.Relative&&n.d.module.d.leadingDots>0||r===o9.Absolute&&0===n.d.module.d.leadingDots)continue;let o=(0,ax.en)(n.d.module),l=(0,oG.yX)(o);if(!l||!wm(e,t,i,l))continue;let d=this._createFileEditAction(e,i,a,{importFrom:n,targetPath:l},r);if(!d)return;(0,fI.xU)(e.fileSystem,[d],s)}return s}async _convertImportFormatAsync(e,t,i,r,n,a,s,o){let l=e.getParseResults(r);if(!l)return;if(a){let d=this._getImportPathInfoAsync(e,i,l,a);if(!d)return;let u=await this._createFileEditActionAsync(e,t,r,l,d,n,s,o);if(!u)return;return(0,fI.WN)(e.fileSystem,[u])}let d={changes:{}};for(let a of(0,oG.AG)(l.parserOutput.parseTree).orderedImports.filter(e=>e.node.nodeType===aO.ye.ImportFrom).map(e=>e.node)){if(n===o9.Relative&&a.d.module.d.leadingDots>0||n===o9.Absolute&&0===a.d.module.d.leadingDots)continue;let u=(0,ax.en)(a.d.module),p=(0,oG.yX)(u);if(!p||!this._isImportConversionSupportedAsync(e,i,r,p))continue;let c=await this._createFileEditActionAsync(e,t,r,l,{importFrom:a,targetPath:p},n,s,o);c&&(0,fI.xU)(e.fileSystem,[c],d)}return d}_getImportPathInfoAsync(e,t,i,r){if(!t)return;let n=aV(r)?(0,aW.AP)(r,i.tokenizerOutput.lines):r;if(!n)return;let a=(0,aL.gr)(i.parserOutput.parseTree,n.start),s=(0,aL.Ay)(a,aO.ye.ImportFrom);if(!s||!aB.vY.overlapsRange(s.d.module,n))return;let o=(0,ax.en)(s.d.module),l=(0,ax.R8)(i.parserOutput.parseTree),d=(0,oG.yX)(o);if(d&&this._isImportConversionSupportedAsync(e,t,l.fileUri,d))return{targetPath:d,importFrom:s}}_isImportConversionSupportedAsync(e,t,i,r){let n=e.getSourceFileInfo(r);if(!r.startsWith(t)||!(null==n?void 0:n.isTracked))return!1;let a=e.configOptions.findExecEnvironment(i).extraPaths.find(e=>r.startsWith(e));return!a||i.startsWith(a)}async _createFileEditActionAsync(e,t,i,r,n,a,s,o){let l=(0,aW.oG)(n.importFrom.d.module,r.tokenizerOutput.lines);if(a===o9.Relative){let t=(0,oG.eM)(e.fileSystem,i,n.targetPath,e.configOptions);if(t)return{fileUri:i,range:l,replacementText:t}}let d=await this._getAbsoluteModuleNameAsync(e,t,i,n.targetPath,s,o);if(d)return{fileUri:i,range:l,replacementText:d}}async _getAbsoluteModuleNameAsync(e,t,i,r,n,a){let s=sc(e.configOptions,r,n);if(!s.moduleName)return;let o=s.moduleName.split("."),l=await e.resolveImport(i,{leadingDots:0,nameParts:o},t,a);if(r.equals(l))return s.moduleName}_createFileEditAction(e,t,i,r,n){let a=(0,aW.oG)(r.importFrom.d.module,i.tokenizerOutput.lines);if(n===o9.Relative){let i=(0,oG.eM)(e.fileSystem,t,r.targetPath,e.configOptions);if(i)return{fileUri:t,range:a,replacementText:i}}let s=wc(e,t,r.targetPath);if(s)return{fileUri:t,range:a,replacementText:s}}}function wm(e,t,i,r){var n;if(!r.startsWith(t)||!(null==(n=e.getSourceFileInfo(r))?void 0:n.isTracked))return!1;let a=e.configOptions.findExecEnvironment(i).extraPaths.find(e=>r.startsWith(e));return!a||i.startsWith(a)}function wy(e){let t=e;for(;t;){if(t.nodeType===aO.ye.ImportFrom){let e=t;if(e.d.isWildcardImport)return e}t=t.parent}}function wg(e,t,i,r,n,a,s){if(!n||!t.pathEndsWith("py"))return;(0,n8.Lj)(s);let o=(0,aW.AP)(i,r.tokenizerOutput.lines);if(!o)return;let l=(0,aL.gr)(r.parserOutput.parseTree,o.start);if(!l||!wy(l))return;let d={title:iI.CodeAction.ConvertImportStar.convertToExplicitImports(),kind:nZ.CodeActionKind.Refactor,command:(0,TE.g)(iI.CodeAction.ConvertImportStar.convertToExplicitImports(),s0.convertImportStar,t.toString(),o.start.toString())};a.push(d)}class wf{get isRefactoringCommand(){return!0}getFile(e){if(e.arguments&&e.arguments.length>=1)return e.arguments[0]}execute(e,t,i){if((0,n8.Lj)(i),!t.arguments||t.arguments.length<1)return;let r=n4.z.parse(t.arguments[0],e.service.serviceProvider),n=t.arguments.length>=2?parseInt(t.arguments[1],10):void 0;return s5("Convert import star",void 0,e.service.run(e=>this.convertImportStar(e,r,n),i))}async executeAsync(e,t,i){if((0,n8.Lj)(i),!t.arguments||t.arguments.length<1)return;let r=n4.z.parse(t.arguments[0],e.service.serviceProvider),n=t.arguments.length>=2?parseInt(t.arguments[1],10):void 0,a=T0(e);if(!a)return;let s=s5("Convert import star",void 0,await this._convertImportStarAsync(a.program,r,n,i));return T2.P.is(s)?s:void 0}convertImportStar(e,t,i){let r=e.getParseResults(t);if(!r)return;if(void 0!==i){let n=(0,aL.gr)(r.parserOutput.parseTree,i);if(!n)return;let a=wy(n);if(!a)return;let s=this._createFileEditAction(e,t,r,a);if(!s)return;return(0,fI.WN)(e.fileSystem,[s])}let n={changes:{}};for(let i of(0,oG.AG)(r.parserOutput.parseTree).orderedImports.filter(e=>e.node.nodeType===aO.ye.ImportFrom).map(e=>e.node)){if(!i.d.isWildcardImport)continue;let a=this._createFileEditAction(e,t,r,i);a&&(0,fI.xU)(e.fileSystem,[a],n)}return n}async _convertImportStarAsync(e,t,i,r){(0,n8.Lj)(r);let n=e.getParseResults(t);if(!n)return;if(void 0!==i){let a=(0,aL.gr)(n.parserOutput.parseTree,i);if(!a)return;let s=wy(a);if(!s)return;let o=await this._createFileEditActionAsync(e,t,n,s,r);if(!o)return;return(0,fI.WN)(e.fileSystem,[o])}let a={changes:{}};for(let i of(0,oG.AG)(n.parserOutput.parseTree).orderedImports.filter(e=>e.node.nodeType===aO.ye.ImportFrom).map(e=>e.node)){if((0,n8.Lj)(r),!i.d.isWildcardImport)continue;let s=await this._createFileEditActionAsync(e,t,n,i,r);s&&(0,fI.xU)(e.fileSystem,[s],a)}return a}async _createFileEditActionAsync(e,t,i,r,n){(0,n8.Lj)(n);let a=(0,ax.en)(r.d.module);if(!a||!a.isImportFound)return;let s=(0,oG.yX)(a);if(!s)return;let o=await e.lookupImport(s);if(!o)return;let l=(0,oG.Og)(o);if(0===l.length)return;l.sort();let d=l.map(e=>`${e} as ${e}`).join(", "),u=r.d.wildcardToken;if(!u)return;let p=(0,aW.oG)(u,i.tokenizerOutput.lines);if(p)return{fileUri:t,range:p,replacementText:d}}_createFileEditAction(e,t,i,r){let n=(0,ax.R8)(i.parserOutput.parseTree),a=(0,ax.en)(r.d.module);if(!a||!a.isImportFound)return;let s=(0,oG.yX)(a);if(!s)return;let o=n.importLookup(s);if(!o)return;let l=(0,oG.Og)(o);if(0===l.length)return;l.sort();let d=l.map(e=>`${e} as ${e}`).join(", "),u=r.d.wildcardToken;if(!u)return;let p=(0,aW.oG)(u,i.tokenizerOutput.lines);if(p)return{fileUri:t,range:p,replacementText:d}}}var wv=i(74174);function w_(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}async function wT(e,t,i,r,n,a){let s=e.getEvaluator(t),o=await wb(e,s,i,t,r,{resolveLocalNames:!0});return await ww(e,t,[i.d.value],o,r,null!=n?n:(0,aL.Zr)(i),a)}async function ww(e,t,i,r,n,a,s){if(!a)return[];let o=e.getEvaluator(t),l=new wC(e,o,i,r,a,n,s);return await l.collectAsync()}async function wb(e,t,i,r,n,a){var s,o;(0,n8.Lj)(n);let l=await wS(t,i,!1),d=ax.R8(i).fileUri,u=null==(s=null==a?void 0:a.resolveLocalNames)||s,p=null==(o=null==a?void 0:a.findImplementations)||o,c=[],h=p?await e.getSourceMapper(d,!1,!1,r,n):void 0;for(let e of l){let i=await t.resolveAliasDeclaration(e,u);if(i&&(wI(c,i),h&&(0,cu.x)(i.uri)))for(let e of(await h.findDeclarations(i)))e&&!e.uri.isEmpty()&&wI(c,e)}return c}async function wS(e,t,i=!0){var r,n,a;if((null==(r=t.parent)?void 0:r.nodeType)===aO.ye.ModuleName)return await wk(e,t);let s=(null==(n=await e.getDeclInfoForNameNode(t,i))?void 0:n.decls)||[];if((null==(a=t.parent)?void 0:a.nodeType)===aO.ye.ImportFromAs&&(s=s.filter(e=>e.node===t.parent)),0===s.length){let i=await e.getType(t);if((null==i?void 0:i.category)===aM.vb.Module)return[(0,aA.HV)(i.priv.fileUri)]}return s}async function wk(e,t){var i;let r=(null==(i=await e.getDeclInfoForNameNode(t))?void 0:i.decls)||[];if(r.length>0)return r;let n=await e.getType(t);return(null==n?void 0:n.category)===aM.vb.Module?[(0,aA.HV)(n.priv.fileUri)]:[]}function wI(e,t){for(let i of e)if((0,aA.MY)(i,t,!1,!0))return;e.push(t)}class wC extends aE.gw{async collectAsync(){for(let e of(this.walk(this._startingNode),this._pendingCandidates)){if("string"===e.kind){await this._resultsContainsDeclarationAsync(e.node,[])&&this._addResult(e.node);continue}let t=e.node;if(this._declarations.length>0){let e=await wS(this._evaluator,t,this._skipUnreachableCode);e&&e.length>0&&await this._resultsContainsDeclarationAsync(t,e)&&this._addResult(t)}else this._addResult(t)}return this._results}walk(e){this._skipUnreachableCode&&ax.Ys(e)||super.walk(e)}visitName(e){return(0,n8.Lj)(this._cancellationToken),!!this._symbolNames.has(e.d.value)&&(this._pendingCandidates.push({kind:"name",node:e}),!1)}visitStringList(e){if(this._declarations.some(t=>{var i;return(null==(i=t.node)?void 0:i.id)===e.id})){let t=e.d.strings.find(e=>this._symbolNames.has(e.d.value));t&&t.nodeType===aO.ye.String&&this._addResult(t)}return super.visitStringList(e)}visitString(e){return((0,n8.Lj)(this._cancellationToken),this._dunderAllNameNodes.has(e))?this._addResult(e):this._symbolNames.has(e.d.value)&&this._pendingCandidates.push({kind:"string",node:e}),!1}_addResult(e){let t=e.nodeType===aO.ye.Name?e.d.token:(0,aL.Ev)(e);this._results.push({node:e,range:t})}_isDeclarationAllowed(e){return this._declarations.some(t=>(0,aA.MY)(t,e,this._treatModuleInImportAndFromImportSame,!0))}async _resultsContainsDeclarationAsync(e,t){let i=[...t];for(let r of(this._usageProviders.forEach(r=>r.appendDeclarationsAt(e,t,i)),i)){let e=await this._evaluator.resolveAliasDeclaration(r,!1);if(!e)continue;if(this._isDeclarationAllowed(e))return!0;let t=await this._getResolveAliasDeclarationAsync(e);if(t&&t!==e&&this._isDeclarationAllowed(t))return!0}return!1}async _getResolveAliasDeclarationAsync(e){if(i(e))return(0,aA.WB)([e])[0];let t=await this._evaluator.resolveAliasDeclaration(e,!0);return i(t)?(0,aA.WB)([t])[0]:t;function i(e){return!!e&&e.type===aF.h3.Alias&&e.node&&e.usesLocalName&&e.node.nodeType===aO.ye.ImportAs}}_setDunderAllNodes(e){if(e.nodeType!==aO.ye.Module)return;let t=ax.KO(e);if(!t)return;let i=sY.Yd(e);if(i)for(let e of t.stringNodes){if(!this._symbolNames.has(e.d.value))continue;let t=i.lookUpSymbol(e.d.value);if(!t)continue;let r=t.getDeclarations();0!==r.length&&this._declarations.some(e=>(0,aA.MY)(e,r[0],this._treatModuleInImportAndFromImportSame))&&this._dunderAllNameNodes.add(e)}}constructor(e,t,i,r,n,a,s){var o,l,d,u,p;super(),w_(this,"_program",void 0),w_(this,"_evaluator",void 0),w_(this,"_startingNode",void 0),w_(this,"_cancellationToken",void 0),w_(this,"_results",void 0),w_(this,"_dunderAllNameNodes",void 0),w_(this,"_symbolNames",void 0),w_(this,"_declarations",void 0),w_(this,"_usageProviders",void 0),w_(this,"_treatModuleInImportAndFromImportSame",void 0),w_(this,"_skipUnreachableCode",void 0),w_(this,"_useCase",void 0),w_(this,"_pendingCandidates",void 0),this._program=e,this._evaluator=t,this._startingNode=n,this._cancellationToken=a,this._results=[],this._dunderAllNameNodes=new Set,this._symbolNames=new Set,this._declarations=[],this._pendingCandidates=[],i.forEach(e=>this._symbolNames.add(e)),this._declarations.push(...r),this._treatModuleInImportAndFromImportSame=null!=(o=null==s?void 0:s.treatModuleInImportAndFromImportSame)&&o,this._skipUnreachableCode=null==(l=null==s?void 0:s.skipUnreachableCode)||l,this._useCase=null!=(d=null==s?void 0:s.useCase)?d:sz.P.References,this._usageProviders=null!=(u=null==s?void 0:s.providers)?u:(null!=(p=this._program.serviceProvider.tryGet(n7.y.symbolUsageProviderFactory))?p:[]).map(e=>e.tryCreateProvider(this._useCase,r,this._cancellationToken)).filter(n2.O9),(null==s?void 0:s.providers)===void 0&&this._usageProviders.forEach(e=>{e.appendSymbolNamesTo(this._symbolNames),e.appendDeclarationsTo(this._declarations)}),this._setDunderAllNodes(this._startingNode)}}let wP={treatModuleInImportAndFromImportSame:!0,skipUnreachableCode:!1,providers:[]};class wx{get isRefactoringCommand(){return!0}getFile(e){if(e.arguments&&e.arguments.length>=1)return e.arguments[0]}execute(e,t,i){if((0,n8.Lj)(i),t.command!==s0.convertImportToModule||!t.arguments||t.arguments.length<1)return;let r=n4.z.parse(t.arguments[0],e.service.serviceProvider),n=t.arguments.length>=2?parseInt(t.arguments[1],10):void 0;return s5("Convert import to module",void 0,e.service.run(e=>this.convertImportToModule(e,r,n,i),i))}async executeAsync(e,t,i){if((0,n8.Lj)(i),t.command!==s0.convertImportToModule||!t.arguments||t.arguments.length<1)return;let r=n4.z.parse(t.arguments[0],e.service.serviceProvider),n=t.arguments.length>=2?parseInt(t.arguments[1],10):void 0,a=await T1(e,i);if(a&&a.program.getParseResults(r))return s5("Convert import to module",void 0,await this._convertImportToModuleAsync(a.program,a.snapshot,a.evaluator,r,n,i))}convertImportToModule(e,t,i,r){let n=e.getParseResults(t);if(!n||!e.evaluator)return;let a=new wv.E(!1),s=n.parserOutput.parseTree,o=(0,oG.AG)(s,!0),l=new Map;for(let e of o.orderedImports)if(e.node.nodeType===aO.ye.Import){let t=e.moduleName;l.set(t,this._getImportedModuleRef(e.node,t))}for(let t of this._getImportsToConvert(n,i))this._convertSingleImport(e,n,o,l,t,a,r);let d=a.getEdits(r);if(0!==d.length)return(0,fI.WN)(e.fileSystem,d)}async _convertImportToModuleAsync(e,t,i,r,n,a){let s=e.getParseResults(r);if(!s)return;let o=new wv.E(!1),l=s.parserOutput.parseTree,d=(0,oG.AG)(l,!0),u=new Map;for(let e of d.orderedImports)if(e.node.nodeType===aO.ye.Import){let t=e.moduleName;u.set(t,this._getImportedModuleRef(e.node,t))}for(let r of this._getImportsToConvert(s,n))await this._convertSingleImportAsync(e,t,i,s,d,u,r,o,a);let p=o.getEdits(a);if(0!==p.length)return(0,fI.WN)(e.fileSystem,p)}async _convertSingleImportAsync(e,t,i,r,n,a,s,o,l){if(s.d.module.d.leadingDots>0||0===s.d.module.d.nameParts.length)return;let d=s.d.module.d.nameParts.map(e=>e.d.value).join(".");if(!d||"__future__"===d)return;let u=a.get(d),p=u?this._findExistingImportNode(n,d):void 0,c=u?void 0:this._tryGetWellKnownModuleAlias(d),h=u&&u!==d?u:c,{importLine:m,moduleRef:y}=this._getImportLineAndModuleRef(r,s,d,h,p),g=(0,ax.R8)(r.parserOutput.parseTree).fileUri,f=await this._getModuleNameAndTypeAsync(e,g,d,t,l),v=f?(0,oG.x$)(f):oG.vW.Local;if(s.d.isWildcardImport){await this._rewriteWildcardImportReferencesAsync(i,r,s,y,o,l);let e=aL.Mh(s,r);if(a.has(d))return void o.addEdit(g,e,"");let t=this._getImportReplacement(r,s,m);return o.addEdit(g,t.range,t.text),void a.set(d,y)}let _=!1,T=[];for(let i of s.d.imports){var w,b;if((null==(b=i.d.alias)?void 0:b.d.value)===i.d.name.d.value)continue;let n=null!=(w=i.d.alias)?w:i.d.name,a=i.d.name.d.value,d=await this._collectReferencesAsync(e,t,r,n,l);if(!d||d.some(e=>e.node.nodeType===aO.ye.String))continue;let u=`${y}.${a}`;for(let e of d){let t=e.node;!(t.nodeType!==aO.ye.Name||aL.M8(t,aO.ye.ImportFrom)||aL.M8(t,aO.ye.Import))&&(aL.xk(t,s)||o.addEditWithTextRange(r,t,u))}T.push(i),_=!0}if(_){if(T.length===s.d.imports.length){let e=aL.Mh(s,r);if(a.has(d))return void o.addEdit(g,e,"");let t=this._getImportReplacement(r,s,m);return o.addEdit(g,t.range,t.text),void a.set(d,y)}for(let e of T)o.deleteImportName(r,e);if(!a.has(d)){let e=y!==d?[{alias:y}]:void 0;o.addOrUpdateImport(r,n,{name:d},v,e),a.set(d,y)}}}async _rewriteWildcardImportReferencesAsync(e,t,i,r,n,a){let s=t.parserOutput.parseTree,o=[];class l extends aE.gw{visitName(e){return(0,n8.Lj)(a),!(aL.si(e)||aL.xk(e,i)||aL.M8(e,aO.ye.ImportFrom)||aL.M8(e,aO.ye.Import))&&(o.push(e),!0)}}for(let d of(new l().walk(s),o)){(0,n8.Lj)(a);let s=await e.getDeclInfoForNameNode(d),o=null==s?void 0:s.decls;!(!o||o.some(e=>!(0,aF.D5)(e)&&e.node&&e.node.start<=d.start))&&(null==o?void 0:o.find(e=>(0,aF.D5)(e)&&e.node.nodeType===aO.ye.ImportFrom&&e.node.d.isWildcardImport&&e.node===i))&&n.addEditWithTextRange(t,d,`${r}.${d.d.value}`)}}async _collectReferencesAsync(e,t,i,r,n){let a=await wT(e,t,r,n,i.parserOutput.parseTree,{treatModuleInImportAndFromImportSame:!0,skipUnreachableCode:!1,providers:[]});return a.length>0?a:void 0}async _getModuleNameAndTypeAsync(e,t,i,r,n){let a=await e.resolveImport(t,{nameParts:i.split("."),leadingDots:0},r,n);if(a)return{moduleName:i,importType:a.getPath().includes("typeshed")||a.getPath().includes("site-packages")||a.getPath().includes("stdlib")?aD.U.ThirdParty:aD.U.Local,isLocalTypingsFile:!1}}_getImportsToConvert(e,t){if(void 0!==t){let i=aL.gr(e.parserOutput.parseTree,t);if(!i)return[];let r=aL.M8(i,aO.ye.ImportFrom);return r?[r]:[]}return(0,oG.AG)(e.parserOutput.parseTree).orderedImports.filter(e=>e.node.nodeType===aO.ye.ImportFrom).map(e=>e.node)}_convertSingleImport(e,t,i,r,n,a,s){if(n.d.module.d.leadingDots>0||0===n.d.module.d.nameParts.length)return;let o=n.d.module.d.nameParts.map(e=>e.d.value).join(".");if(!o||"__future__"===o)return;let l=r.get(o),d=l?this._findExistingImportNode(i,o):void 0,u=l?void 0:this._tryGetWellKnownModuleAlias(o),p=l&&l!==o?l:u,{importLine:c,moduleRef:h}=this._getImportLineAndModuleRef(t,n,o,p,d),m=(0,ax.R8)(t.parserOutput.parseTree).fileUri,y=this._getModuleNameAndType(e,m,o),g=y?(0,oG.x$)(y):oG.vW.Local;if(n.d.isWildcardImport){this._rewriteWildcardImportReferences(e,t,n,h,a,s);let i=aL.Mh(n,t);if(r.has(o))return void a.addEdit(m,i,"");let l=this._getImportReplacement(t,n,c);return a.addEdit(m,l.range,l.text),void r.set(o,h)}let f=!1,v=[];for(let i of n.d.imports){var _,T;if((null==(T=i.d.alias)?void 0:T.d.value)===i.d.name.d.value)continue;let r=null!=(_=i.d.alias)?_:i.d.name,o=i.d.name.d.value,l=this._collectReferences(e,t,r,s);if(!l||l.some(e=>e.node.nodeType===aO.ye.String))continue;let d=`${h}.${o}`;for(let e of l){let i=e.node;!(i.nodeType!==aO.ye.Name||aL.M8(i,aO.ye.ImportFrom)||aL.M8(i,aO.ye.Import))&&(aL.xk(i,n)||a.addEditWithTextRange(t,i,d))}v.push(i),f=!0}if(f){if(v.length===n.d.imports.length){let e=aL.Mh(n,t);if(r.has(o))return void a.addEdit(m,e,"");let i=this._getImportReplacement(t,n,c);return a.addEdit(m,i.range,i.text),void r.set(o,h)}for(let e of v)a.deleteImportName(t,e);if(!r.has(o)){let e=h!==o?[{alias:h}]:void 0;a.addOrUpdateImport(t,i,{name:o},g,e),r.set(o,h)}}}_getImportedModuleRef(e,t){for(let n of e.d.list)if(n.d.module.d.nameParts.map(e=>e.d.value).join(".")===t){var i,r;return null!=(i=null==(r=n.d.alias)?void 0:r.d.value)?i:t}return t}_getImportLineAndModuleRef(e,t,i,r,n){let a=null!=r?r:i,s=this._collectWriteAccessNames(e.parserOutput.parseTree,[t,n]);if(!s.has(a))return r?{importLine:`import ${i} as ${r}`,moduleRef:r}:{importLine:`import ${i}`,moduleRef:i};let o=`${a}_`,l=o,d=1;for(;s.has(l);)l=`${o}${d}`,d++;return{importLine:`import ${i} as ${l}`,moduleRef:l}}_collectWriteAccessNames(e,t){let i=new Set,r=t.filter(e=>!!e);class n extends aE.gw{visitName(e){for(let t of r)if(aL.xk(e,t))return!1;return aL.si(e)&&i.add(e.d.value),!0}}return new n().walk(e),i}_findExistingImportNode(e,t){let i=e.orderedImports.find(e=>e.node.nodeType===aO.ye.Import&&e.moduleName===t);return i?i.node:void 0}_rewriteWildcardImportReferences(e,t,i,r,n,a){if(!e.evaluator)return;let s=e.evaluator,o=t.parserOutput.parseTree;class l extends aE.gw{visitName(e){var o;if((0,n8.Lj)(a),aL.si(e)||aL.xk(e,i)||aL.M8(e,aO.ye.ImportFrom)||aL.M8(e,aO.ye.Import))return!1;let l=null==(o=s.getDeclInfoForNameNode(e))?void 0:o.decls;return!!(!l||l.some(t=>!(0,aF.D5)(t)&&t.node&&t.node.start<=e.start))||((null==l?void 0:l.find(e=>(0,aF.D5)(e)&&e.node.nodeType===aO.ye.ImportFrom&&e.node.d.isWildcardImport&&e.node===i))&&n.addEditWithTextRange(t,e,`${r}.${e.d.value}`),!0)}}new l().walk(o)}_getStatementReplacementRange(e,t){let i=aL.Mh(t,e);return{start:(0,aW.l8)(t.start,e.tokenizerOutput.lines),end:i.end}}_getImportReplacement(e,t,i){var r;if((null==(r=t.parent)?void 0:r.nodeType)===aO.ye.StatementList){let r=aB.vY.getEnd(t),n=e.tokenizerOutput.lines.getItemAtPosition(t.start),a=e.tokenizerOutput.tokens.getItemAtPosition(r);if(a>=0)for(let t=a;t<e.tokenizerOutput.tokens.count;t++){let i=e.tokenizerOutput.tokens.getItemAt(t);if(e.tokenizerOutput.lines.getItemAtPosition(i.start)!==n)break;if(i.type===aj.ks.Semicolon&&i.start>=r){r=i.start;break}}return{range:{start:(0,aW.l8)(t.start,e.tokenizerOutput.lines),end:(0,aW.l8)(r,e.tokenizerOutput.lines)},text:i}}let n=this._getTrailingLineComment(e,t);return{range:this._getStatementReplacementRange(e,t),text:`${i}${n}
`}}_getTrailingLineComment(e,t){let i=e.tokenizerOutput.lines.getItemAtPosition(t.start),r=aB.vY.getEnd(t),n=e.tokenizerOutput.tokens.getItemAtPosition(r);if(n<0)return"";for(let t=n;t<e.tokenizerOutput.tokens.count;t++){let n=e.tokenizerOutput.tokens.getItemAt(t);if(e.tokenizerOutput.lines.getItemAtPosition(n.start)!==i)break;let a=aL.dR(e.tokenizerOutput.tokens,t);if(!a||0===a.length)continue;let s=a.find(e=>e.start-1>=r);if(!s)continue;let o=s.start-1,l=s.start+s.length,d=o;for(;d>r&&(" "===e.text[d-1]||" "===e.text[d-1]);)d--;return e.text.slice(d,l).trimEnd()}return""}_collectReferences(e,t,i,r){let n=sW.tN.collectFromNode(e,i,r,t.parserOutput.parseTree,wP);return n.length>0?n:void 0}_tryGetWellKnownModuleAlias(e){for(let[t,i]of a8.entries())if(void 0===i.importFrom&&i.importName===e)return t}_getModuleNameAndType(e,t,i){var r;let n=e.configOptions.findExecEnvironment(t),a=e.importResolver.resolveImport(t,n,(0,au.K6)(i));if(a.isImportFound)return{moduleName:i,importType:a.importType,isLocalTypingsFile:null!=(r=a.isLocalTypingsFile)&&r}}}var wF=i(59779);class wA{get isLongRunning(){return!0}execute(e,t,i){if(!t.arguments||t.arguments.length<2)return;let r=t.arguments[1];return new wF.x(this._ls).create(e,r,i)}getFile(e){if(e.arguments&&e.arguments.length>=2)return e.arguments[2]?e.arguments[2]:e.arguments[0]}constructor(e){var t;t=void 0,"_ls"in this?Object.defineProperty(this,"_ls",{value:t,enumerable:!0,configurable:!0,writable:!0}):this._ls=t,this._ls=e}}var wD=i(11527);class wE{execute(e,t,i){if((0,n8.Lj)(i),!t.arguments||t.arguments.length<2)return[];let r=n4.z.parse(t.arguments[0],this._ls.serviceProvider);return new wD.K().dump(e,r,t.arguments,i)}getFile(e){if(e.arguments&&!(e.arguments.length<1))return e.arguments[0]}constructor(e){var t;t=void 0,"_ls"in this?Object.defineProperty(this,"_ls",{value:t,enumerable:!0,configurable:!0,writable:!0}):this._ls=t,this._ls=e}}function wR(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var wN=((ic={})[ic.None=0]="None",ic.InvalidTargetSelected="Invalid Target Selected",ic.InvalidExpressionSelected="Invalid Expression Selected",ic.InvalidExpressionAndStatementSelected="Invalid Expression and Statement Selected",ic.ContainsYieldExpression="Cannot extract yield",ic.ContainsContinueWithoutLoop="Cannot extract continue without enclosing while/for loop",ic.ContainsBreakWithoutLoop="Cannot extract break without enclosing while/for loop",ic.ContainsReturnExpression="Cannot extract return",ic.ContainsMultipleReturns="Cannot extract multiple returns",ic.ReturnShouldBeLastStatement="Return should be last statement",ic.ContainsPartialIfElseStatement="Cannot extract partial if/else statement",ic.PartialCommentSelected="Cannot extract partial comment",ic);class wM{static extractVariable(e,t,i,r){if(void 0===t||e.isEmpty())return;let n=(0,aW.AP)(i,t.tokenizerOutput.lines);if(!n)return;let a=this.canExtractVariable(t,n);if(0!==a.failedReason)throw Error(a.failedReason);if(r.isCancellationRequested)return;let s=this._extractVariableGenerator(e,a,t);if(s)return{newSymbolName:s.newSymbolName,actions:s.actions}}static extractMethod(e,t,i,r){let n=e.getParseResults(t);if(void 0===n||void 0===e.evaluator||void 0===t)return;let a=(0,aW.AP)(i,n.tokenizerOutput.lines);if(!a)return;let s=this.canExtractMethod(n,a,e.evaluator);if(0!==s.failedReason)throw Error(s.failedReason);if(r.isCancellationRequested)return;if(void 0===s.range||void 0===s.bodyNodes||void 0===s.parentNode)throw Error("Invalid Target Selected");let o=aL.z8(s.parentNode).node,l=ax.Xf(o),d=null==l?void 0:l.getGlobalScope().scope,u=this._findSymbolsReferences(e,t,s.parentNode,l,r),p=this._findSignatureSymbols(d,u,s.range,n,r),c=this._findOutputSymbols(u,s.range,n,r);if(r.isCancellationRequested)return;let h=this._extractMethodGenerator(p,c,s,n,e.evaluator,t);if(h)return{newSymbolName:h.newSymbolName,actions:h.actions}}static canExtractVariable(e,t){let i,r,n;try{if(0===t.length||(n=this.verifyAndAdjustSelectionNodes(e,t),void 0===n||!this._containsOnlyExpressions(e.parserOutput,n)||!(i=wU(e,n))))return{failedReason:"Invalid Expression Selected"};if(r=this._findNodesInRange(i,n),void 0===r||0===r.length)return{failedReason:"Invalid Target Selected"};let a=r.every(e=>this._isExpression(e)),s=(0,aL.gr)(e.parserOutput.parseTree,n.start);if(!s||!this._isValidExtractionNode(s))return{failedReason:"Invalid Expression Selected"};let o=this._checkUnsupportedExpressions(i,r,n,a);return{range:n,parentNode:i,bodyNodes:r,failedReason:o,isExpression:a}}catch(e){return{failedReason:"Invalid Expression Selected"}}}static canExtractMethod(e,t,i){try{if(0===t.length||void 0===i)return{failedReason:"Invalid Expression Selected"};let r=this.verifyAndAdjustSelectionNodes(e,t);if(void 0===r)return{failedReason:"Invalid Target Selected"};if(this._selectionInsideComment(e,r))return{failedReason:"Cannot extract partial comment"};let n=wU(e,r);if(!n)return{failedReason:"Invalid Target Selected"};let a=n.nodeType===aO.ye.Module?n:(0,aL.sL)(n),s=aL.hP(n);if((null==a?void 0:a.nodeType)===aO.ye.Class&&void 0===s)return{failedReason:"Invalid Expression and Statement Selected"};let o=this._verifyReturnStatements(n,i,r);if(0!==o)return{failedReason:o};let l=this._findNodesInRange(n,r);if(void 0===l||0===l.length)return{failedReason:"Invalid Target Selected"};let d=l.every(e=>this._isExpression(e)),u=this._checkUnsupportedExpressions(n,l,r,d);return{range:r,parentNode:n,bodyNodes:l,failedReason:u,isExpression:d}}catch(e){return{failedReason:"Invalid Expression and Statement Selected"}}}static verifyAndAdjustSelectionNodes(e,t){var i;let r=e.parserOutput.parseTree,n=function(e,t){let i=e.start;for(;i<t.length;){let e=t.substr(i,1);if(" "!==e&&"\n"!==e&&"\r"!==e)break;i++}let r=i;for(i=aB.vY.getEnd(e);i>r;){let e=t.substr(i-1,1);if(" "!==e&&"\n"!==e&&"\r"!==e)break;i--}return aB.vY.fromBounds(r,i)}(t,e.text),a=(0,aL.gr)(r,n.start);if(!a||wO(a)||!a||!wW(n,a))return;let s=aB.vY.getEnd(n),o=(0,aL.gr)(r,s);if(!o)return;let l=wW(n,o);if(aB.vY.contains(n,o.start)&&!l)return;let d=aL.sR(a),u=aL.sR(o);if((!d||!u||d.id===u.id)&&this._isValidExtractionNode(o)&&(!o||!(a.start>(null==o?void 0:o.start)))&&((null==(i=a.parent)?void 0:i.nodeType)!==aO.ye.Comprehension||wW(n,a.parent)))return n}static _containsOnlyExpressions(e,t){var i,r;let n,a=(i=(0,aL.gr)(e.parseTree,t.start),r=(0,aL.gr)(e.parseTree,aB.vY.getEnd(t)),n=new Set(aL.qC(i)),aL.NU(r,e=>n.has(e)));return!!a&&(0,aO.TE)(a)}static _extractVariableGenerator(e,t,i){var r;let n;if(void 0===t.parentNode||void 0===t.bodyNodes||void 0===t.range)return;let a=aL.hP(t.parentNode),s=(n=void 0!==a?function(e,t){let i=e,r=1;if(void 0!==t){let n=ax.Xf(t);for(;(null==n?void 0:n.lookUpSymbol(i))!==void 0;)i=e+r++}return i}("new_var",a):wB("new_var",t.parentNode))+" = "+this._expressionNodesToString(t.bodyNodes,i,t.range),o=[];o.push({replacementText:n,fileUri:e,range:(0,aW.oG)(t.range,i.tokenizerOutput.lines)});let l=t.parentNode.nodeType===aO.ye.Suite||t.parentNode.nodeType===aO.ye.Module?t.parentNode:(0,aL.mo)(t.parentNode,!1,!1),d=null==l||null==(r=l.d.statements)?void 0:r.find(e=>{let i=aB.vY.create(e.start,e.length);return aB.vY.contains(i,t.range.start)});if(d){let t=d.start,r=(0,aW.l8)(d.start,i.tokenizerOutput.lines).character;o.push({replacementText:s+"\n"+" ".repeat(r),fileUri:e,range:(0,aW.er)(t,t,i.tokenizerOutput.lines)})}return{actions:o,newSymbolName:n}}static _findSymbolsReferences(e,t,i,r,n){let a=new Map;return void 0===r||void 0===i||null==r||r.symbolTable.forEach((r,s)=>{if(n.isCancellationRequested)return;let o=new sU.gy(!1,i,[s],r.getDeclarations(),sz.P.References,[]),l=new sU.oE(e,t,o,!0,n);o.addResults(...l.findReferences()),a.set(s,o)}),a}static _verifyReturnStatements(e,t,i){let r=aL.hP(e);if(void 0!==r){var n;let e=t.getTypeOfFunction(r),a=null==e||null==(n=e.functionType.shared.declaration)?void 0:n.returnStatements;if(a&&a.length>1){if(a.filter(e=>aB.vY.contains(i,e.start)).length>1)return"Cannot extract multiple returns";if(a.slice(0,-1).some(e=>aB.vY.contains(i,e.start)))return"Return should be last statement"}}return 0}static _checkUnsupportedExpressions(e,t,i,r){if(0===t.length||void 0===t[0])return"Invalid Target Selected";let n=new w$(i);if(n.check(e),n.hasNonEnclosedContinue)return"Cannot extract continue without enclosing while/for loop";if(n.hasNonEnclosedBreak)return"Cannot extract break without enclosing while/for loop";if(e.nodeType===aO.ye.Parameter)return"Invalid Expression Selected";if(!r){let e=t.some(e=>!(!e||t.find(t=>{var i;return t&&t.id===(null==(i=e.parent)?void 0:i.id)}))&&this._isExpression(e)),i=t.some(e=>e&&e.nodeType===aO.ye.Argument&&void 0!==e.d.name);if(e||i)return"Invalid Expression and Statement Selected";if(t.some(e=>(null==e?void 0:e.nodeType)===aO.ye.Decorator))return"Invalid Target Selected"}if(1===t.length&&t[0].nodeType===aO.ye.Name)return"Invalid Target Selected";let a=new gW.Mi;return t.some(e=>e&&a.checkContainsYield(e))?"Cannot extract yield":t.some(e=>{var t;return(null==e?void 0:e.nodeType)===aO.ye.If&&(null==(t=e.parent)?void 0:t.nodeType)===aO.ye.If&&!wW(i,e.parent)})?"Cannot extract partial if/else statement":0}static _extractMethodGenerator(e,t,i,r,n,a){if(void 0===i.parentNode||void 0===i.bodyNodes||void 0===i.range)return;let s=!1,o=r.tokenizerOutput.lines,l=0,d=(0,aW.l8)(i.range.start,o),u=this._getEnclosingFunctionInfo(i,n,o);if(u&&u.functionTypeResult){let t=u.functionTypeResult.functionType.shared.parameters;(u.isClassMethod||u.isBoundToClass)&&!u.isStaticMethod&&t.length>0&&void 0!==t[0].name&&!e.find(e=>e===t[0].name)&&e.unshift(t[0].name),l=u.indentionOffset,d=u.insertPosition}else{s=!0;let e=i.parentNode.nodeType===aO.ye.Module?i.parentNode:aL.sL(i.parentNode);if((null==e?void 0:e.nodeType)===aO.ye.Module&&(null==i?void 0:i.range)){let t=i.range.start,r=null==e?void 0:e.d.statements.find(e=>e.start<=t&&aB.vY.getEnd(e)>=t);r&&(d=(0,aW.l8)(r.start,o))}}let p=wB((null==u?void 0:u.className)?"new_method":"new_func",i.parentNode),c=wM._buildMethodBody(i,r,t,l,n),h=new wK().containsAwait(i.bodyNodes),m=this._buildFunctionDefinition(p,e.join(", "),c,u,l,h),y=s?"":"\n\n",g={fileUri:a,range:{start:d,end:d},replacementText:y+m},f=this._buildCallDefinition(p,e,t,u,i.bodyNodes,h);y="\n"===r.text.substr(aB.vY.getEnd(i.range)-1,1)?"\n":"";let v={fileUri:a,range:(0,aW.oG)(i.range,o),replacementText:f+y},_=[];return s?(g.replacementText+="\n\n",_.push(g),_.push(v)):(_.push(v),_.push(g)),{actions:_,newSymbolName:p}}static _getEnclosingFunctionInfo(e,t,i){if(void 0===e.parentNode)return;let r=aL.hP(e.parentNode);if(void 0===r)return;let n=(0,aW.l8)(aB.vY.getEnd(r),i);n.character+=1;let a={isStaticMethod:!1,isClassMethod:!1,isBoundToClass:!1,node:r,indentionOffset:(0,aW.l8)(r.start,i).character,insertPosition:n},s=t.getTypeOfFunction(r);if(s){a.functionTypeResult=s,a.isStaticMethod=aM.RK.isStaticMethod(s.functionType),a.isClassMethod=aM.RK.isClassMethod(s.functionType);let t=aL.sL(e.parentNode);(null==t?void 0:t.nodeType)===aO.ye.Class&&(a.className=t.d.name.d.value,a.isBoundToClass=!0)}return a}static _buildMethodBody(e,t,i,r,n){if(void 0===e.bodyNodes||void 0===e.range||0===e.bodyNodes.length)return[];let a=this._convertNodesToString(e.bodyNodes,t,e.range,r),s=" ".repeat(r+4),o=e.bodyNodes.slice(-1)[0];if(void 0!==o&&e.range.start<o.start){let i=o.start-e.range.start,r=t.text.substr(e.range.start,i);a[0]=s+r.trimStart()+a[0]}let l="return ";if(e.isExpression||e.bodyNodes.every(e=>(null==e?void 0:e.nodeType)===aO.ye.Argument))l=!function(e,t){var i,r,n;if(e&&(null==(i=e.bodyNodes)?void 0:i.length)===1&&(null==e||null==(r=e.bodyNodes[0])?void 0:r.nodeType)===aO.ye.Call){let i=null==e?void 0:e.bodyNodes[0],r=t.getType(i.d.leftExpr);if(r&&(0,aM.Tn)(r)){let e=null!=(n=r.shared.declaredReturnType)?n:t.getInferredReturnType(r);if((0,aX.Lj)(e))return!0}else if(r&&(0,aM.Gl)(r))return(function(e,t){let i=[];aM.OF.getOverloads(e).forEach(e=>{var r;let n=null!=(r=e.shared.declaredReturnType)?r:t.getInferredReturnType(e);i.push(n)});let r=aM.OF.getImplementation(e);if(r&&(0,aM.Tn)(r)){var n;i.push(null!=(n=r.shared.declaredReturnType)?n:t.getInferredReturnType(r))}return i})(r,t).every(e=>(0,aX.Lj)(e))}return!1}(e,n)?l:"",a[0]=s+l+a[0].trimStart();else if(i.length>0){let e=s+l+i.join(",");a.push(e)}return a}static _isExpression(e){var t,i,r;if(((null==e||null==(t=e.parent)?void 0:t.nodeType)===aO.ye.Assignment||(null==e||null==(i=e.parent)?void 0:i.nodeType)===aO.ye.AugmentedAssignment||(null==e||null==(r=e.parent)?void 0:r.nodeType)===aO.ye.Call)&&e.parent.d.leftExpr.id===e.id)return!1;let n=e&&(0,aO.TE)(e);return null!=n&&n}static _buildCallDefinition(e,t,i,r,n,a){let s="";if(i.length>0&&(s+=i.join(", "),s+=" = "),a&&(s+="await "),r)if(r.isStaticMethod&&void 0!==r.className)s+=`${r.className}.${e}`;else if((r.isClassMethod||r.isBoundToClass)&&t.length>=1){let i=t.shift();s+=`${i}.${e}`}else s+=e;else s+=e;s+="(",s+=t.join(", "),s+=")";let o=new gW.$w;return n.some(e=>e&&o.checkContainsReturn(e))&&(s="return "+s),s}static _buildFunctionDefinition(e,t,i,r,n,a){let s;r&&(r.isStaticMethod?s="@staticmethod":r.isClassMethod&&(s="@classmethod"));let o=" ".repeat(n),l="";return s&&(l+=`${o}${s}
`),l+=`${o}${a?"async ":""}def ${e}`,t.length>0?l+=`(${t}):
`:l+=`():
`,(l+=i.join("\n")).trimEnd()}static _findNodesInRange(e,t){if(e.start>aB.vY.getEnd(t)||aB.vY.getEnd(e)<t.start)return[];let i=[],r=new aE.gw().visitNode(e);if(e.start>=t.start&&aB.vY.getEnd(e)<=aB.vY.getEnd(t)&&(i.push(e),0===r.length||(0,aO.TE)(e)||e.nodeType===aO.ye.StatementList||e.nodeType===aO.ye.Argument))return i;for(let e of r)e&&this._findNodesInRange(e,t).forEach(e=>{i.push(e)});return i}static _convertNodesToString(e,t,i,r){let n=[],a=i,s=aB.vY.getEnd(a),o=(0,aW.oG)(a,t.tokenizerOutput.lines),l=o.end,d=(0,aW.l8)(i.start,t.tokenizerOutput.lines).character;return e.reverse().forEach(e=>{var u,p;if(!e)return;a=e,aB.vY.contains(i,e.start)||(a=i),o=(0,aW.oG)(a,t.tokenizerOutput.lines);let c=e.length,h=a.start;h+c>s&&(c=s-h);let m=function(e){let t=[],i=e.split(/\r?\n/);if(!i||0===i.length)return t;for(let e of i)e.trim().length>0&&t.push(e);return t}(t.text.substr(h,c));if(function(e,t,i,r,n){var a,s;let o=function(e,t,i){let r=t-e;if(r>0){let t;return(t=i.text.substr(e,r).split(/\r?\n/))&&0!==t.length?t:[]}return[]}(e,t,i);if(o.length>1){let e=n.pop()+o[0];n.push(e),o.slice(1,-1).forEach(e=>{n.push(e)});let t=o.slice(-1)+(null!=(a=r.pop())?a:"");r.push(t)}else{let e=o.join("")+(null!=(s=r.pop())?s:"");r.push(e)}}(aB.vY.getEnd(e),s,t,n,m),o.start.line!==l.line){let e=t.tokenizerOutput.tokens.getItemAtPosition(s);if(t.tokenizerOutput.tokens.getItemAt(e).type===aj.ks.Colon&&o.end.line===l.line){let e=n.pop(),t=(null!=(u=m.pop())?u:"")+e;m.push(t)}else wV(l.line,t,d,n,r);n.push(...m.reverse())}else if(0===n.length)n.push(...m.reverse());else{let e=m.join("")+(null!=(p=n.pop())?p:"");n.push(e)}s=h,l=o.start}),wV(l.line,t,d,n,r),n.reverse()}static _findSignatureSymbols(e,t,i,r,n){if(void 0===i||void 0===e)return[];let a=new Map;return t.forEach((t,s)=>{t.locations.forEach(o=>{if(a.has(s)||n.isCancellationRequested)return;let l=(0,aW.AP)(o.range,r.tokenizerOutput.lines);if(t.declarations.find(e=>l.start===e.node.start))return;let d=null==e?void 0:e.lookUpSymbol(s);(null==d?void 0:d.getDeclarations().find(e=>void 0!==t.declarations.find(t=>t.node.start===e.node.start&&wO(e.node))))||aB.vY.contains(i,l.start)&&!t.declarations.some((e,t)=>aB.vY.contains(i,e.node.start)&&wz(e,l.start,r))&&t.declarations.some((e,t)=>wz(e,i.start,r)&&wz(e,aB.vY.getEnd(i),r))&&a.set(s,s)})}),Array.from(a.keys())}static _findOutputSymbols(e,t,i,r){let n,a=(n=new Map,e.forEach((e,i)=>{e.declarations.forEach((e,a)=>{n.has(i)||r.isCancellationRequested||aB.vY.contains(t,e.node.start)&&n.set(i,i)})}),n),s=(0,aW.l8)(aB.vY.getEnd(t),i.tokenizerOutput.lines),o=new Map;return e.forEach((e,n)=>{if(!a.has(n))return;let l=e.locations.filter(e=>(0,aB.Ez)(e.range.start,s)>0),d=e.declarations.filter(e=>e.node.start>aB.vY.getEnd(t));l.forEach(e=>{if(r.isCancellationRequested||o.has(n))return;let t=(0,aW.AP)(e.range,i.tokenizerOutput.lines);void 0===t||d.find(e=>t.start===e.node.start)||d.some(e=>wz(e,t.start,i))||o.set(n,n)})}),Array.from(o.keys())}static _selectionInsideComment(e,t){let i=!1;if(t.start<=0)return i;let r=e.tokenizerOutput.tokens.getItemAtPosition(t.start),n=e.tokenizerOutput.tokens.getItemAt(r);return n.type===aj.ks.String&&n.start<t.start&&(i=!0),n.start<t.start&&r<e.tokenizerOutput.tokens.length-1&&(r+=1,(n=e.tokenizerOutput.tokens.getItemAt(r)).comments&&n.comments.length>0&&n.comments[0].start<t.start&&(i=!0)),i}static _isValidExtractionNode(e){return e.nodeType!==aO.ye.Constant||e.d.constType===aj.Wg.None||e.d.constType===aj.Wg.True||e.d.constType===aj.Wg.False}static _expressionNodesToString(e,t,i){return this._convertNodesToString(e,t,i,0).join("\n").trimStart()}}function wO(e){let t=[aO.ye.ModuleName,aO.ye.Import,aO.ye.ImportAs,aO.ye.ImportFrom,aO.ye.ImportFromAs];return void 0!==t.find(t=>t===e.nodeType)||void 0!==function(e,t){let i=e;for(;void 0!==i;){if(t.some(e=>e===i.nodeType))return i;i=i.parent}}(e,t)}function wU(e,t){let i=(0,aL.gr)(e.parserOutput.parseTree,t.start);if(void 0===i)return;let r=aB.vY.getEnd(t),n=(0,aL.gr)(e.parserOutput.parseTree,r);if(void 0!==n){if(i.start>n.start){let i=e.tokenizerOutput.tokens.getItemAtPosition(t.start+t.length),r=e.tokenizerOutput.tokens.getItemAt(i);if(r.type===aj.ks.NewLine&&i>0&&(r=e.tokenizerOutput.tokens.getItemAt(i-1),void 0===(n=(0,aL.gr)(e.parserOutput.parseTree,r.start))))return}var a=n;let r=wL(i,t);return r===wL(a,t)?r:void 0}}function wL(e,t){let i=e;for(;i&&aB.vY.getEnd(i)<=aB.vY.getEnd(t)&&i.start>=t.start&&void 0!==i.parent&&i.parent.nodeType!==aO.ye.Function;)if(i.nodeType===aO.ye.StatementList||wW(t,i))i=i.parent;else break;return i}function wz(e,t,i){let r=(0,aW.l8)(e.node.start,i.tokenizerOutput.lines),n=(0,aW.l8)(t,i.tokenizerOutput.lines),a=r.line<n.line;return r.line===n.line&&(a=r.character>n.character),a}function wW(e,t){return e.start<=t.start&&aB.vY.getEnd(t)<=aB.vY.getEnd(e)}function wB(e,t){let i=e,r=1,n=t.nodeType===aO.ye.Module?t:(0,aL.sL)(t);if(void 0!==n){let t=ax.Xf(n);for(;(null==t?void 0:t.lookUpSymbol(i))!==void 0;)i=e+r++}return i}class w$ extends aE.gw{check(e){this.walk(e)}visitContinue(e){return wW(this._selectionRange,e)&&(this.hasNonEnclosedContinue=!wj(e,this._loopTypes,this._selectionRange)),!1}visitBreak(e){return wW(this._selectionRange,e)&&(this.hasNonEnclosedBreak=!wj(e,this._loopTypes,this._selectionRange)),!1}constructor(e){super(),wR(this,"_selectionRange",void 0),wR(this,"hasNonEnclosedContinue",void 0),wR(this,"hasNonEnclosedBreak",void 0),wR(this,"_loopTypes",void 0),this._selectionRange=e,this.hasNonEnclosedContinue=!1,this.hasNonEnclosedBreak=!1,this._loopTypes=[aO.ye.While,aO.ye.For]}}function wj(e,t,i){let r=e;for(;void 0!==r&&i&&wW(i,r);){if(t.some(e=>e===r.nodeType))return r;r=r.parent}}class wK extends aE.gw{containsAwait(e){return e.some(e=>e&&this._nodeContainsAwait(e))}visitAwait(e){return this._containsAwait=!0,!1}_nodeContainsAwait(e){return this.walk(e),this._containsAwait}constructor(...e){super(...e),wR(this,"_containsAwait",!1)}}function wV(e,t,i,r,n){let a=t.tokenizerOutput.lines.getItemAt(e),s=t.text.substr(a.start,a.length),o=s.indexOf(s.trimStart());if(o>=i&&r.length>0){let e=r[r.length-1];e=e?e.trimStart():e,r[r.length-1]=" ".repeat(o-i+4+n)+e}}function wq(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class wG{get isRefactoringCommand(){return!0}get isResolvable(){return!0}execute(e,t,i){return this._executeExtractMethod(e,t,i)}async executeAsync(e,t,i){let r=this._executeExtractMethod(e,t,i);return T2.P.is(r)?r:void 0}getFile(e){var t;if((null==(t=e.arguments)?void 0:t.length)===2)return e.arguments[0]}_executeExtractMethod(e,t,i){var r;if((0,n8.Lj)(i),(null==(r=t.arguments)?void 0:r.length)!==2)return;let n=n4.z.parse(t.arguments[0],e.service.serviceProvider),a=wY(t.arguments[1]);if(a&&0!==a.length)return e.service.run(t=>{let r=wX(wQ(a));if(r.length<=1){let a=wM.extractMethod(t,n,r[0],i);return a?this._hasVSCodeExtension?wJ(e.service.fs,a):(0,fI.WN)(e.service.fs,a.actions):void 0}let s=t.getParseResults(n);if(!s||!t.evaluator)return;let o=[];for(let e of r){let r=function(e,t,i,r,n){var a;let s,o=(0,aW.AP)(i,r);if(!o)return;let l=e.getParseResults(t);if(!l||!e.evaluator)return;let d=wM.canExtractMethod(l,o,e.evaluator);if(d.failedReason!==wN.None||!d.range||!d.parentNode)return;let u=(0,aW.oG)(d.range,r);try{s=wM.extractMethod(e,t,i,n)}catch{return}if(!s)return;let p=wZ(s.actions,t,u);if(void 0===p)return;let c=(a=s.newSymbolName,p.split(a).join("<extracted>"));return{selectionKind:d.isExpression?"expression":"statement",effectiveRange:u,replacementText:p,normalizedReplacementText:c,extractResults:s,parentNode:d.parentNode}}(t,n,e,s.tokenizerOutput.lines,i);r&&o.push(r)}if(0===o.length){let a=wM.extractMethod(t,n,r[0],i);return a?this._hasVSCodeExtension?wJ(e.service.fs,a):(0,fI.WN)(e.service.fs,a.actions):void 0}let l=o[0],d=l.replacementText,u=l.normalizedReplacementText,p=[];for(let e of o.slice(1))e.selectionKind===l.selectionKind&&e.parentNode===l.parentNode&&e.normalizedReplacementText===u&&p.push({fileUri:n,range:e.effectiveRange,replacementText:d});let c=l.extractResults,h=p.length>0?[...c.actions,...p]:c.actions,m={newSymbolName:c.newSymbolName,actions:h};return this._hasVSCodeExtension?wJ(e.service.fs,m):(0,fI.WN)(e.service.fs,m.actions)},i)}constructor(e){wq(this,"_hasVSCodeExtension",void 0),this._hasVSCodeExtension=e}}class wH{get isRefactoringCommand(){return!0}get isResolvable(){return!0}execute(e,t,i){var r;if((0,n8.Lj)(i),(null==(r=t.arguments)?void 0:r.length)!==2)return;let n=n4.z.parse(t.arguments[0],e.service.serviceProvider),a=wY(t.arguments[1]);if(!a||0===a.length)return;let s=e.service.getParseResults(n);if(s)return this._extractVariable(e.service.fs,n,s,a,i)}async executeAsync(e,t,i){var r;if((0,n8.Lj)(i),(null==(r=t.arguments)?void 0:r.length)!==2)return;let n=n4.z.parse(t.arguments[0],e.service.serviceProvider),a=wY(t.arguments[1]);if(!a||0===a.length)return;let s=T0(e);if(!s)return;let o=s.program.getParseResults(n);if(!o)return;let l=this._extractVariable(s.program.fileSystem,n,o,a,i);return T2.P.is(l)?l:void 0}getFile(e){var t;if((null==(t=e.arguments)?void 0:t.length)===2)return e.arguments[0]}_extractVariable(e,t,i,r,n){let a=wX(wQ(r));if(a.length<=1){let r=wM.extractVariable(t,i,a[0],n);return r?this._hasVSCodeExtension?wJ(e,r):(0,fI.WN)(e,r.actions):void 0}let s=[];for(let e of a){let t=function(e,t,i){let r=(0,aW.AP)(i,e);if(!r)return;let n=wM.canExtractVariable(t,r);if(n.failedReason===wN.None&&n.range&&n.parentNode)return{effectiveRange:(0,aW.oG)(n.range,e),parentNode:n.parentNode}}(i.tokenizerOutput.lines,i,e);t&&s.push({inputRange:e,effectiveRange:t.effectiveRange,parentNode:t.parentNode})}if(0===s.length){let r=wM.extractVariable(t,i,a[0],n);return r?this._hasVSCodeExtension?wJ(e,r):(0,fI.WN)(e,r.actions):void 0}let o=s[0],l=wM.extractVariable(t,i,o.inputRange,n);if(!l)return;let d=wZ(l.actions,t,o.effectiveRange);if(void 0===d)return this._hasVSCodeExtension?wJ(e,l):(0,fI.WN)(e,l.actions);let u=[];for(let e of s.slice(1))e.parentNode===o.parentNode&&u.push({fileUri:t,range:e.effectiveRange,replacementText:d});let p=u.length>0?[...l.actions,...u]:l.actions,c={newSymbolName:l.newSymbolName,actions:p};return this._hasVSCodeExtension?wJ(e,c):(0,fI.WN)(e,c.actions)}constructor(e){wq(this,"_hasVSCodeExtension",void 0),this._hasVSCodeExtension=e}}function wJ(e,t){let i=(0,fI.WN)(e,t.actions);return{label:"Extract Method",data:{newSymbolName:t.newSymbolName},edits:i}}function wY(e){if(aV(e))return[e];if(Array.isArray(e)){let t=e.filter(aV);return t.length>0?t:void 0}}function wQ(e){let t=[];for(let i of e)t.some(e=>(0,aB.tW)(e,i))||t.push(i);return t}function wX(e){let t=[...e].sort((e,t)=>{let i=(0,aB.Ez)(e.start,t.start);return 0!==i?i:(0,aB.Ez)(e.end,t.end)}),i=[];for(let e of t){let t=i[i.length-1];if(!t){i.push(e);continue}(0,aB.Ez)(e.start,t.end)>=0&&i.push(e)}return i}function wZ(e,t,i){let r=e.find(e=>e.fileUri.equals(t)&&(0,aB.tW)(e.range,i));return null==r?void 0:r.replacementText}var w0=i(64819);(im=(ih=nL||(nL={})).Source||(ih.Source={})).UnusedImports=w0.CodeActionKind.Source+".unusedImports",im.ConvertImportFormat=w0.CodeActionKind.Source+".convertImportFormat",im.ConvertImportStar=w0.CodeActionKind.Source+".convertImportStar",im.ConvertImportToModule=w0.CodeActionKind.Source+".convertImportToModule",im.RenameShadowedStdlibImports=w0.CodeActionKind.Source+".renameShadowedStdlibImports",im.AddTypeAnnotation=w0.CodeActionKind.Source+".addTypeAnnotation",im.FixAll=w0.CodeActionKind.SourceFixAll+".pylance",(iy=ih.RefactorExtract||(ih.RefactorExtract={})).Variable=w0.CodeActionKind.RefactorExtract+".variable",iy.Method=w0.CodeActionKind.RefactorExtract+".method",(ig=ih.RefactorMove||(ih.RefactorMove={})).ToFile=(P=w0.CodeActionKind.Refactor+".move")+".toFile",ig.ToNewFile=P+".toNewFile";let w1=[nL.Source.UnusedImports,nL.Source.ConvertImportFormat,nL.Source.ConvertImportStar,nL.Source.ConvertImportToModule,nL.Source.RenameShadowedStdlibImports,nL.Source.AddTypeAnnotation,nL.Source.FixAll],w5=[nL.RefactorExtract.Variable,nL.RefactorExtract.Method,nL.RefactorMove.ToFile,nL.RefactorMove.ToNewFile],w4=[...w1,...w5];function w3(e,t){var i;let r=null!=(i=e.data)?i:{};e.data=(0,o5.Nt)({...r,...t})}var w8=i(53238);function w2(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class w6 extends w8.E{get reanalysisRequested(){return this._reanalysisRequestedEmitter.event}get analysisStarting(){return this._analysisStartingEmitter.event}get configOptionsChanged(){return this._configOptionsChangedEmitter.event}get asyncProgram(){return this.backgroundAnalysisProgram.asyncProgram}runAsync(e,t){return this.asyncProgram.runAsync(e,t)}runAsync2(e,t){return this._pylanceBackgroundAnalysisProgram.program.run(e,t)}async runEditModeAsync(e,t){let i=await this.asyncProgram.runEditModeAsync(e,t);return t.isCancellationRequested?[]:i}async runEditModeAsync2(e,t){return this._pylanceBackgroundAnalysisProgram.program.runEditMode(e,t)}updateSettings(e){this.backgroundAnalysisProgram.setExperimentOptions(e,this.serviceProvider.get(nM.clientCapabilities))}getSymlinkedDirectoryRoots(){return this._symlinkedDirectoryRoots}setSymlinkedDirectoryRoots(e){this._symlinkedDirectoryRoots=e}filesChanged(e){this.backgroundAnalysisProgram.filesChanged(e)}applyConfigOptions(e){super.applyConfigOptions(e),this._updateDependencyWatchers(),this._configOptionsChangedEmitter.fire()}dispose(){for(let e of(super.dispose(),this._disposables))e.dispose();this._removeDependencyWatchers(),this._clearLastWorkspaceSymbolCancellation(),this._analysisStartingEmitter.dispose(),this._reanalysisRequestedEmitter.dispose(),this._configOptionsChangedEmitter.dispose()}invalidateAndForceReanalysis(e,t){this._reanalysisRequestedEmitter.fire(),super.invalidateAndForceReanalysis(e,t)}runAnalysis(e){super.runAnalysis(e),this.options.onInvalidated&&this.options.onInvalidated(gX.q.Reanalyzed),this.options.onInvalidated&&this.options.onInvalidated(gX.q.Reanalyzed),this.backgroundAnalysisProgram.refreshWorkspaceSymbols(this._symlinkedDirectoryRoots,this._getNewRefreshWorkspaceSymbolCancellationToken()),this._analysisStartingEmitter.fire()}get _pylanceBackgroundAnalysisProgram(){return this.backgroundAnalysisProgram}_getNewRefreshWorkspaceSymbolCancellationToken(){return this._clearLastWorkspaceSymbolCancellation(),this._lastRefreshWorkspaceSymbolCancellationTokenSource=this.cancellationProvider.createCancellationTokenSource(),this._lastRefreshWorkspaceSymbolCancellationTokenSource.token}_clearLastWorkspaceSymbolCancellation(){var e;null==(e=this._lastRefreshWorkspaceSymbolCancellationTokenSource)||e.cancel(),this._lastRefreshWorkspaceSymbolCancellationTokenSource=void 0}_removeDependencyWatchers(){this._dependencyWatcher&&(this._dependencyWatcher.close(),this._dependencyWatcher=void 0)}_updateDependencyWatchers(){this._removeDependencyWatchers();let e=this.options.console,t=[this.getConfigOptions().projectRoot.combinePaths(ac.eK),this.getConfigOptions().projectRoot.combinePaths(ac.Q$)];try{e.log(`Adding fs watcher for files:
${t.join("\n")}`),this._dependencyWatcher=this.fs.createFileSystemWatcher(t,(t,i)=>{i&&(e.log(`Dependency: Received fs event '${t}' for path '${i}'`),this.invalidateAndForceReanalysis(gX.q.LibraryWatcherChanged))})}catch{e.error(`Exception caught when installing fs watcher for:
${t.map(e=>e.toUserVisibleString()).join("\n")}`)}}constructor(e,t,i,r){super(e,i,r),w2(this,"_root",void 0),w2(this,"_disposables",void 0),w2(this,"_dependencyWatcher",void 0),w2(this,"_lastRefreshWorkspaceSymbolCancellationTokenSource",void 0),w2(this,"_reanalysisRequestedEmitter",void 0),w2(this,"_analysisStartingEmitter",void 0),w2(this,"_configOptionsChangedEmitter",void 0),w2(this,"_symlinkedDirectoryRoots",void 0),this._root=t,this._disposables=[],this._reanalysisRequestedEmitter=iR.create(),this._analysisStartingEmitter=iR.create(),this._configOptionsChangedEmitter=iR.create(),this._symlinkedDirectoryRoots=[];const n=this.serviceProvider.tryGet(nM.pthService);n&&this._disposables.push(n.cachePathsUpdated(e=>{this._pylanceBackgroundAnalysisProgram.updatePthCache(e,this.options.importResolverFactory),this.scheduleReanalysis(!1)}))}}function w7(e,t,i,r){return w6.is(e)&&e.asyncProgram.isPyright?e.getDiagnosticsForRange(t,i,r):w6.is(e)?[]:e.getDiagnosticsForRange(t,i,r)}async function w9(e,t,i,r){return be(await w7(e,t,i,r))}function be(e){return e.filter(e=>{var t;return e.category===sE.Q8.UnusedCode&&(null==(t=e.getActions())?void 0:t.some(e=>e.action===TD.T.unusedImport))})}(w6||(w6={})).is=function(e){return e&&e.runAsync};class bt{execute(e,t,i){var r,n;if((0,n8.Lj)(i),(null==(r=t.arguments)?void 0:r.length)!==1&&(null==(n=t.arguments)?void 0:n.length)!==2)return;let a=n4.z.parse(t.arguments[0],e.service.serviceProvider),s=2===t.arguments.length?t.arguments[1]:void 0,o=e.service.run(e=>this.removeUnusedImports(e,a,s,i),i);return s5("Command: 'Remove All Unused Imports'",s,o)}async executeAsync(e,t,i){var r,n;if((0,n8.Lj)(i),(null==(r=t.arguments)?void 0:r.length)!==1&&(null==(n=t.arguments)?void 0:n.length)!==2)return;let a=n4.z.parse(t.arguments[0],e.service.serviceProvider),s=2===t.arguments.length?t.arguments[1]:void 0,o=T0(e);if(!o)return;let l=be(s?await o.service.getDiagnosticsForRange(a,s,i):await this._getFullFileDiagnostics(o.service,a,i)),d=this._removeUnusedImportsAsync(o.program,a,l,s,i);return s5("Command: 'Remove All Unused Imports'",s,(0,fI.WN)(o.workspace.service.fs,d))}getFile(e){return e.arguments?e.arguments[0]:void 0}removeUnusedImports(e,t,i,r){let n=e.getParseResults(t);if(!n)return;e.analyzeFile(t,r);let a=[];if(i)s3(a,this._getUnusedImportNameNode(n,i));else{let i=(0,aW.oG)(n.parserOutput.parseTree,n.tokenizerOutput.lines);for(let r of be(e.getDiagnosticsForRange(t,i))){let e=this._getUnusedImportNameNode(n,r.range);if(e){var s,o;let t=aL.NU(e,e=>e.nodeType===aO.ye.Import||e.nodeType===aO.ye.ImportFrom);if(!t||(null==(o=t.parent)||null==(s=o.parent)?void 0:s.nodeType)!==aO.ye.Module)continue}s3(a,e)}}let l=new wv.E;return l.removeNodes(...a.map(e=>({node:e,parseFileResults:n}))),(0,fI.WN)(e.fileSystem,l.getEdits(r))}async _getFullFileDiagnostics(e,t,i){let r=e.getParseResults(t);if(!r)return[];let n=(0,aW.oG)(r.parserOutput.parseTree,r.tokenizerOutput.lines);return await e.getDiagnosticsForRange(t,n,i)}_removeUnusedImportsAsync(e,t,i,r,n){let a=e.getParseResults(t);if(!a)return[];let s=[];if(r)s3(s,this._getUnusedImportNameNode(a,r));else for(let e of i){let t=this._getUnusedImportNameNode(a,e.range);if(t){var o,l;let e=aL.NU(t,e=>e.nodeType===aO.ye.Import||e.nodeType===aO.ye.ImportFrom);if(!e||(null==(l=e.parent)||null==(o=l.parent)?void 0:o.nodeType)!==aO.ye.Module)continue}s3(s,t)}let d=new wv.E;return d.removeNodes(...s.map(e=>({node:e,parseFileResults:a}))),d.getEdits(n)}_getUnusedImportNameNode(e,t){let i=aL.cd(e.parserOutput.parseTree,t.start,e.tokenizerOutput.lines);if((null==i?void 0:i.nodeType)===aO.ye.Name)return i}}class bi{get isLongRunning(){return!0}execute(e,t,i){var r;if((0,n8.Lj)(i),!e.rootUri||!e.fixAll||t.command!==s0.fixAll||(null==(r=t.arguments)?void 0:r.length)!==1)return;let n=n4.z.parse(t.arguments[0],e.service.serviceProvider);return oB(this._telemetry,oN.FIX_ALL,()=>{let t=e.service.runEditMode(t=>{let r=new Map;if(e.fixAll&&e.fixAll.some(e=>e===nL.Source.UnusedImports)){let e=new bt().removeUnusedImports(t,n,void 0,i);e&&(0,fI.iw)(t,e,r)}if(e.fixAll&&e.fixAll.some(e=>e===nL.Source.ConvertImportFormat)&&e.importFormat){let i=new wh().convertImportFormat(t,e.rootUri,n,e.importFormat,void 0);i&&(0,fI.iw)(t,i,r)}if(e.fixAll&&e.fixAll.some(e=>e===nL.Source.ConvertImportStar)){let e=new wf().convertImportStar(t,n,void 0);e&&(0,fI.iw)(t,e,r)}if(e.fixAll&&e.fixAll.some(e=>e===nL.Source.AddTypeAnnotation)){let e=new T7().addTypeAnnotations(t,n,i);e&&(0,fI.iw)(t,e,r)}},i);return s5("Command: 'Fix All'",void 0,(0,fI.WN)(e.service.fs,t))},0)}async executeAsync(e,t,i){var r;if((0,n8.Lj)(i),!e.rootUri||!e.fixAll||t.command!==s0.fixAll||(null==(r=t.arguments)?void 0:r.length)!==1)return;let n=n4.z.parse(t.arguments[0],e.service.serviceProvider);return await oB(this._telemetry,oN.FIX_ALL,async()=>{if((0,n8.Lj)(i),!T0(e))return;let t={changes:{}};if(e.fixAll&&e.fixAll.some(e=>e===nL.Source.UnusedImports)){let r=new bt,a=await r.executeAsync(e,{command:s0.removeUnusedImport,arguments:[n.toString()]},i);(null==a?void 0:a.edits)&&this._mergeWorkspaceEdits(t,a.edits)}if(e.fixAll&&e.fixAll.some(e=>e===nL.Source.ConvertImportFormat)&&e.importFormat){let r=new wh,a=await r.executeAsync(e,{command:s0.convertImportFormat,arguments:[n.toString(),e.importFormat]},i);(null==a?void 0:a.edits)&&this._mergeWorkspaceEdits(t,a.edits)}if(e.fixAll&&e.fixAll.some(e=>e===nL.Source.ConvertImportStar)){let r=new wf,a=await r.executeAsync(e,{command:s0.convertImportStar,arguments:[n.toString()]},i);(null==a?void 0:a.edits)&&this._mergeWorkspaceEdits(t,a.edits)}if(e.fixAll&&e.fixAll.some(e=>e===nL.Source.AddTypeAnnotation)){let r=new T7,a=await r.executeAsync(e,{command:s0.addTypeAnnotation,arguments:[n.toString()]},i);(null==a?void 0:a.edits)&&this._mergeWorkspaceEdits(t,a.edits)}return s5("Command: 'Fix All'",void 0,t)},0)}getFile(e){var t;if(e.command===s0.fixAll&&(null==(t=e.arguments)?void 0:t.length)===1)return e.arguments[0]}_mergeWorkspaceEdits(e,t){if(t.changes)for(let[i,r]of(e.changes||(e.changes={}),Object.entries(t.changes)))e.changes[i]||(e.changes[i]=[]),e.changes[i].push(...r)}constructor(e){var t,i;i=void 0,(t="_telemetry")in this?Object.defineProperty(this,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):this[t]=i,this._telemetry=e}}var br=((iv={})[iv.Region=0]="Region",iv[iv.EndRegion=1]="EndRegion",iv);let bn=/^\s*region\b/,ba=/^\s*endregion\b/;function bs(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}(nz||(nz={})).PylanceDocstring="Pylance-docstring";class bo{static getFoldingRanges(e,t){(0,n8.Lj)(t);let i=this._getRegionMetadata(e),r=new bl(e,i);r.walk(e.parserOutput.parseTree);let n=r.getFoldingRanges();return i.ranges.concat(n)}static _getRegionMetadata(e){let t={ranges:[],startLines:new Set,endLines:new Map},i=[];return(function(e){let t=[];for(let i=0;i<e.tokenizerOutput.tokens.count;i++){let r=e.tokenizerOutput.tokens.getItemAt(i);if(r.comments)for(let i of r.comments){let r=function(e,t){let i=e.start-1,r=(0,aW.l8)(i,t.tokenizerOutput.lines);if(0!==r.character){let e=i-r.character;if(t.text.slice(e,i).trimStart().length>0)return}let n=bn.exec(e.value),a=ba.exec(e.value);return n?0:a?1:void 0}(i,e);void 0!==r&&t.push({type:r,comment:i})}}return t})(e).forEach(r=>{if(r.type===br.Region)i.push(r);else if(i.length>0){let n=i.pop(),a=(0,aW.l8)(n.comment.start-1,e.tokenizerOutput.lines),s=(0,aW.l8)(aB.vY.getEnd(r.comment),e.tokenizerOutput.lines);t.ranges.push({startLine:a.line,startCharacter:a.character,endLine:s.line,endCharacter:s.character,kind:nZ.FoldingRangeKind.Region}),t.startLines.add(a.line),t.endLines.set(s.line,a.line)}}),t}}class bl extends aE.gw{getFoldingRanges(){return this._addImports(),this._foldingRanges}visitAssert(e){return this._addNodeRange(e),!0}visitCall(e){return this._addNodeRange(e),!0}visitClass(e){return this._addTwoNodeRange(e.d.name,e.d.suite),!0}visitDictionary(e){return this._addNodeRange(e),!0}visitFunction(e){return this._addTwoNodeRange(e.d.name,e.d.suite),!0}visitImport(e){return this._visitImport(e),!0}visitImportAs(e){return this._visitImport(e),!0}visitImportFrom(e){return this._visitImport(e),!0}visitImportFromAs(e){return this._visitImport(e),!0}visitList(e){return this._addNodeRange(e),!0}visitMatch(e){return this._addNodeRange(e),!0}visitSet(e){return this._addNodeRange(e),!0}visitStringList(e){let t=this._isDocstring(e);return this._addTwoNodeRange(e,e,t?nz.PylanceDocstring:void 0),!0}visitSuite(e){var t,i;return(null==(t=e.parent)?void 0:t.nodeType)!==aO.ye.Class&&(null==(i=e.parent)?void 0:i.nodeType)!==aO.ye.Function&&this._addNodeRange(e),!0}visitTuple(e){return this._addNodeRange(e),!0}_visitImport(e){this._firstImport?this._lastImport=e:this._firstImport=e}_addNodeRange(e){this._addTwoNodeRange(e,e)}_addImports(){if(this._firstImport){var e;this._addTwoNodeRange(this._firstImport,null!=(e=this._lastImport)?e:this._firstImport,nZ.FoldingRangeKind.Imports),this._firstImport=this._lastImport=void 0}}_addTwoNodeRange(e,t,i){i!==nZ.FoldingRangeKind.Imports&&this._addImports();let r=this._getStartPos(e),n=this._getEndPos(e,t);r.line!==n.line&&this._foldingRanges.push({startLine:r.line,startCharacter:r.character,endLine:n.line,endCharacter:n.character,kind:i})}_isDocstring(e){let t=(0,aL.M8)(e,aO.ye.StatementList);return t&&(0,aL.ae)(t)}_getEndPos(e,t){let i=(0,aW.l8)(e.start,this._parseResults.tokenizerOutput.lines),r=aB.vY.getEnd(t),n=(0,aW.l8)(r,this._parseResults.tokenizerOutput.lines);return n.line>i.line&&(n=this._extendRangeToIncludeTrailingComments(i,n,r)),n}_extendRangeToIncludeTrailingComments(e,t,i){let r=this._getTokenForTrailingComments(i);if(!(null==r?void 0:r.comments)||0===r.comments.length)return t;let n=new ol,a=n.getIndentationFromText(this._parseResults,e.line);for(let i=0;i<r.comments.length;++i){let s=(0,aW.l8)(r.comments[i].start,this._parseResults.tokenizerOutput.lines);if(this._regionMetadata.startLines.has(s.line))break;let o=this._regionMetadata.endLines.get(s.line);if(void 0!==o){if(o<=e.line)break}else if(n.getIndentationFromText(this._parseResults,s.line).indentation<=a.indentation)break;t.line=s.line,t.character=s.character+r.comments[i].length}return t}_getTokenForTrailingComments(e){let t,i=this._parseResults.tokenizerOutput.tokens.getItemAtPosition(e);do{if(++i>this._parseResults.tokenizerOutput.tokens.count-1)return;t=this._parseResults.tokenizerOutput.tokens.getItemAt(i)}while(t.type===aj.ks.NewLine);return t}_getStartPos(e){let t=this._parseResults.tokenizerOutput.lines,i=(0,aW.l8)(e.start,t);return(0,aW.tY)(this._parseResults.tokenizerOutput,this._parseResults.text,i.line)}constructor(e,t){super(),bs(this,"_parseResults",void 0),bs(this,"_regionMetadata",void 0),bs(this,"_foldingRanges",void 0),bs(this,"_firstImport",void 0),bs(this,"_lastImport",void 0),this._parseResults=e,this._regionMetadata=t,this._foldingRanges=[],this._firstImport=void 0,this._lastImport=void 0}}function bd(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class bu{execute(e,t,i){var r;if((0,n8.Lj)(i),(null==(r=t.arguments)?void 0:r.length)!==1)return[];let n=this.getFile(t);if(!n)return[];let a=e.service.getParseResults(n);if(!a)return[];let s=bo.getFoldingRanges(a,i);return s?s.filter(e=>e.kind===nz.PylanceDocstring).map(e=>e.startLine):[]}getFile(e){var t;if((null==(t=e.arguments)?void 0:t.length)===1&&void 0!==this._uriMapper&&void 0!==this._caseSensitivityDetector)return hJ(e.arguments[0],this._caseSensitivityDetector,this._uriMapper)}constructor(e){bd(this,"_ls",void 0),bd(this,"_uriMapper",void 0),bd(this,"_caseSensitivityDetector",void 0),this._ls=e;const t=this._ls.serviceProvider;this._uriMapper=t.tryGet(nM.uriMapper),this._caseSensitivityDetector=t.tryGet(n7.y.caseSensitivityDetector)}}class bp{execute(e,t,i){var r;if((0,n8.Lj)(i),t.command!==s0.getAutoImports||(null==(r=t.arguments)?void 0:r.length)!==3)return;let n=t.arguments[0],a=t.arguments[1],s=t.arguments[2];return e.service.run(t=>{var r;let o=n4.z.parse(n,t.serviceProvider),l=t.getParseResults(o);if(!l)return[];let d=(0,aW.AP)(a,l.tokenizerOutput.lines);if(!d)return[];let u=(0,aL.gr)(l.parserOutput.parseTree,d.start);if(!u)return[];let p={lazyEdit:!0,importFormat:e.importFormat,indices:o6.getIndices(e),includeAliasesFromUserFiles:null==(r=e.indexOptions)?void 0:r.includeAliasesFromUserFiles,allowDuplicatedAliases:!0},c=lr(t,o,a.start,p,i);return c?ln(c,u,s,0,a8,i).map(e=>({name:e.name,originalName:e.originalName,alias:e.alias,source:e.source})):[]},i)}async executeAsync(e,t,i){var r,n;if((0,n8.Lj)(i),t.command!==s0.getAutoImports||(null==(r=t.arguments)?void 0:r.length)!==3)return;let a=T0(e);if(!a)return[];let s=t.arguments[0],o=t.arguments[1],l=t.arguments[2],d=n4.z.parse(s,a.program.serviceProvider);return(await fR(a.program,d,o,0,a8,{lazyEdit:!0,importFormat:e.importFormat,indices:o6.getIndices(e),nameToSearch:l,includeAliasesFromUserFiles:null==(n=e.indexOptions)?void 0:n.includeAliasesFromUserFiles,allowDuplicatedAliases:!0},i)).map(e=>({name:e.name,originalName:e.originalName,alias:e.alias,source:e.source}))}getFile(e){var t;if(e.command===s0.getAutoImports&&(null==(t=e.arguments)?void 0:t.length)===3)return e.arguments[0]}}class bc{execute(e,t,i){var r;if((0,n8.Lj)(i),t.command!==s0.getSourceFiles||(null==(r=t.arguments)?void 0:r.length)!==2)return;let n=t.arguments[1];i=n?new n8.bq(n,e.service.fs):i;let a=e.service.getConfigOptions(),s=[];for(let t of e.service.getUserFiles()){let e=t.getDirectory();s.push({name:t.fileName,folderAfterRoot:a.projectRoot.getRelativePathComponents(e).join("/"),uri:t.toString()})}return s}getFile(e){var t;if(e.command===s0.getSourceFiles&&(null==(t=e.arguments)?void 0:t.length)===2)return e.arguments[0]}}function bh(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class bm{async getMethodSignatureWithDecoratorsAsync(){var e;let t={methodSignature:"",isAsync:!1,useAwait:!1},i=[],r=this._program.serviceProvider.tryGet(nM.asyncDeclarationFinder);if(!r)return{...t,decoratorTexts:i};let n=await r.getDeclarations(this._funcType,this._snapshot,this._cancellationToken);if(0===n.length)return{...t,decoratorTexts:i};let a=n.find(aF.vu);if(!a)return{...t,decoratorTexts:i};for(let e of(t=await this.getMethodSignatureAsync(),a.node.d.decorators)){if(this._options.decoratorFilter){let t=await this._evaluator.getType(e.d.expr);if(t&&(0,aM.Tn)(t)&&this._options.decoratorFilter.some(e=>e===t.shared.name)||!this._options.enableTrackingAddImports)continue;let i=aL.Zr(e);await this._options.importAdder.collectImportsForSymbolsUsed(i,e.d.expr,this._cancellationToken)}i.push(aL.W9(e.d.expr))}return{...t,decoratorTexts:i,isAsync:null!=(e=this._options.hasAsyncKeyword)&&e}}async getMethodSignatureAsync(){var e;let t,i=this._funcType.shared.declaration;(0,cu.x)(this._fileUri)?t=!0:this._classType.shared.moduleName===i.moduleName&&(t=!1);let r=(0,cu.x)(this._fileUri)?aL.P5.ForwardDeclarations|aL.P5.DoNotLimitStringLength:aL.P5.DoNotLimitStringLength;await this._updateImportDataAsync(i),this._options.enableTrackingAddImports||this._options.dontAddTypeAnnotation||await this._options.importAdder.updateImportInfoForTypeWithAutoImport(this._fileUri,this._parseResults,i.node.start,this._funcType.shared.parameters.map(e=>e._type),this._cancellationToken);let n=new fj(this._program,this._snapshot,this._fileUri,this._cancellationToken,this._options.importAdder),a=[];for(let e=0;e<this._funcType.shared.parameters.length;e++){let s=this._funcType.shared.parameters[e],o="";s.category===aO.OP.ArgsList?o+="*":s.category===aO.OP.KwargsDict&&(o+="**"),s.name&&(o+=s.name);let l=a1(i.node,s.name),d=l?a5(l):void 0;if(!this._options.dontAddTypeAnnotation&&aM.gk.isTypeDeclared(s)){let t=this._funcType.shared.parameters[e]._type,i=this._getTypeToPrint(aM.RK.getParamType(this._funcType,e),t);o+=": "+(this._isTypeUsableForPrint(i,t)?await n.getTypeStringAsync(i):d?aL.W9(d,r):"Any")}(null==l?void 0:l.d.defaultValue)&&(o+=d?" = ":"=",o+=(null!=t?t:!aL.Qf(l.d.defaultValue))?"...":aL.W9(l.d.defaultValue,r)),o||s.name||s.category!==aO.OP.Simple||!(e<this._funcType.shared.parameters.length-1)?a.push(o):a.push("/")}for(let e=a.length-1;e>=0&&""===a[e];e--)a.pop();let s=this._funcType.shared.name+"("+a.join(", ")+")",o=await this._shouldUseAwaitAsync(),l=await this._getReturnTypeStrAsync(o,r,n);return l&&(s+=" -> "+l),{methodSignature:s,isAsync:null!=(e=this._options.hasAsyncKeyword)&&e,useAwait:o}}async _updateImportDataAsync(e){var t,i,r,n,a;if(this._options.dontAddTypeAnnotation)return;let s=e.node,o=[];if((0,ap.v9)(o,aB.vY.combine(s.d.params)),(0,ap.v9)(o,s.d.returnAnnotation),(0,ap.v9)(o,s.d.funcAnnotationComment),0===o.length)return;let l=aL.Zr(s);await this._options.importAdder.collectImportsForSymbolsUsed(l,o,this._cancellationToken);let d=[];this._funcType.shared.parameters.forEach((t,i)=>{let r=a1(e.node,t.name);if(!r)return;let n=a5(r);if(!n)return;let a=this._funcType.shared.parameters[i]._type;if(!(0,aM.CP)(a))return;let s=aM.RK.getParamType(this._funcType,i);d.push({type:s,node:n})});let u=this._funcType.shared.declaredReturnType;u&&(0,aM.CP)(u)&&(s.d.returnAnnotation||(null==(i=s.d.funcAnnotationComment)?void 0:i.d.returnAnnotation))&&d.push({type:aM.RK.getEffectiveReturnType(this._funcType),node:null!=(n=s.d.returnAnnotation)?n:s.d.funcAnnotationComment.d.returnAnnotation});let p=null!=(t=this._decoratedType)?t:this._funcType;!this._options.hasAsyncKeyword&&s.d.isAsync&&(s.d.returnAnnotation||(null==(r=s.d.funcAnnotationComment)?void 0:r.d.returnAnnotation))&&d.push({type:aM.RK.getEffectiveReturnType(p),node:null!=(a=s.d.returnAnnotation)?a:s.d.funcAnnotationComment.d.returnAnnotation}),await this._options.importAdder.appendImportInfoForTypes(this._fileUri,d,this._cancellationToken)}_isTypeUsableForPrint(e,t){var i;return!!e&&(e.category!==aM.vb.Class||(null==e||null==(i=e.shared)?void 0:i.name)!=="CoroutineType")&&(!(0,aM.t8)(e)||(null==t?void 0:t.category)===aM.vb.TypeVar)}async _shouldUseAwaitAsync(){var e,t;let i=null!=(e=this._decoratedType)?e:this._funcType,r=null!=(t=aM.RK.getEffectiveReturnType(i))?t:await this._evaluator.getInferredReturnType(i);return!!r&&r.category===aM.vb.Class&&("Coroutine"===r.shared.name||"CoroutineType"===r.shared.name)&&("typing"===r.shared.moduleName||"types"===r.shared.moduleName)&&!!r.priv.typeArgs&&3===r.priv.typeArgs.length}async _getReturnTypeStrAsync(e,t,i){var r;if(this._options.dontAddTypeAnnotation)return;let n=this._funcType.shared.declaration.node;if(!n.d.returnAnnotation&&!(null==(r=n.d.funcAnnotationComment)?void 0:r.d.returnAnnotation))return;let a=aM.RK.getEffectiveReturnType(this._funcType);this._shouldUnwrapCoroutine(e,a)&&(a=a.priv.typeArgs[2]);let s=this._funcType.shared.declaredReturnType,o=this._getTypeToPrint(a,s);return o&&this._isTypeUsableForPrint(o,s)?await i.getTypeStringAsync(o):n.d.returnAnnotation?aL.W9(n.d.returnAnnotation,t):n.d.funcAnnotationComment?aL.W9(n.d.funcAnnotationComment.d.returnAnnotation,t):void 0}_shouldUnwrapCoroutine(e,t){var i;return!!this._options.hasAsyncKeyword&&e&&(null==t?void 0:t.category)===aM.vb.Class&&("Coroutine"===t.shared.name||"CoroutineType"===t.shared.name)&&(null==(i=t.priv.typeArgs)?void 0:i.length)===3}constructor(e,t,i,r,n,a,s,o){bh(this,"_program",void 0),bh(this,"_snapshot",void 0),bh(this,"_fileUri",void 0),bh(this,"_classType",void 0),bh(this,"_funcType",void 0),bh(this,"_decoratedType",void 0),bh(this,"_options",void 0),bh(this,"_cancellationToken",void 0),bh(this,"_parseResults",void 0),bh(this,"_evaluator",void 0),bh(this,"_getTypeToPrint",void 0),this._program=e,this._snapshot=t,this._fileUri=i,this._classType=r,this._funcType=n,this._decoratedType=a,this._options=s,this._cancellationToken=o,this._evaluator=this._program.getEvaluator(this._snapshot),this._parseResults=this._program.getParseResults(this._fileUri),this._getTypeToPrint=(e,t)=>e&&(!(0,aM.t8)(e)||(null==t?void 0:t.category)===aM.vb.TypeVar)?e:t}}function by(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class bg{async implementAllAbstractClassesAsync(){if(this._cancellationToken.isCancellationRequested)return;let e=this._parseResults.tokenizerOutput.lines,t=(0,aW.AP)(this._range,e);if(!t)return;let i=(0,aL.gr)(this._parseResults.parserOutput.parseTree,t.start);if((null==i?void 0:i.nodeType)!==aO.ye.Name)return;let r=i.parent;if((null==r?void 0:r.nodeType)!==aO.ye.Class)return;let n=await this._evaluator.getTypeOfClass(r);if(!n)return;let a=await this._canImplementAbstractClassAsync(i);if(!a||0===a.length)return;let s=this._indentationUtils.getMethodWithinClassIndentation(this._parseResults,this._range.start.line,this._predominantTabSequence.length),o=await this._generateInsertTextAsync(a,n.classType,s),l=this._getInsertRange(r),d=await this._importAdder.applyImports(this._fileUri,this._parseResults,i.start,o9.Absolute,this._cancellationToken),u=this._newEditsAreRightAfterClassDefinition(r.start,l.start),p=[];for(let e of(p.push({fileUri:this._fileUri,range:l,replacementText:u?o:o.slice(this._predominantEndOfLineSequence.length)}),d))p.push({fileUri:this._fileUri,...e});return p}async _canImplementAbstractClassAsync(e){let t=e.parent;if(!t||t.nodeType!==aO.ye.Class)return;let i=await this._evaluator.getTypeOfClass(t);if(!i)return;let r=i.classType;if(!r||!(0,aM.D4)(r)||!aM.p5.supportsAbstractMethods(r)||aM.p5.isProtocolClass(r))return;let n=(await this._evaluator.getAbstractSymbols(r)).filter(e=>e&&!r.shared.fields.get(e.symbolName));if(0!==n.length)return n}async _generateInsertTextAsync(e,t,i){let r="";for(let n of e){let e=n.symbol,a=await this._evaluator.getEffectiveTypeOfSymbol(e),s=(0,aM.D4)(n.classType)?n.classType:t,o=[],l=!1;if((0,aM.Tn)(a)){let e=await this._printMethodSignaturesAsync(t,s,a,i);o=e?[e]:void 0}if((0,aM.Gl)(a)&&(l=!0,o=await this._printOverloadedMethodSignaturesAsync(t,s,a,i)),(0,aM.aE)(a)&&aM.p5.isPropertyClass(a)&&(o=await this._printPropertyMethodSignaturesAsync(t,s,a,i)),(null==o?void 0:o.length)!==0||(0,aM.Tn)(a)||(0,aM.Gl)(a)||(0,aM.aE)(a)&&aM.p5.isPropertyClass(a))r+=this._printInsertTextForCurrentSymbol(o,i,l);else{let e=await this._printProtocolAttributeSignatureAsync(n.symbolName,a,i);e&&(r+=e)}}return r+`${this._predominantEndOfLineSequence}`}async _printMethodSignaturesAsync(e,t,i,r){var n,a;let s=null!=(n=await this._tryGetSignatureGeneratorOptionsAsync(i))?n:{importAdder:this._importAdder,enableTrackingAddImports:!0,decoratorFilter:["abstractmethod"],dontAddTypeAnnotation:null==(a=this._option)?void 0:a.dontAddTypeAnnotation},o=(0,aX._T)(i,t,void 0),l=(0,aM.Tn)(o)?o:i,d=new bm(this._program,this._snapshot,this._fileUri,e,l,l,s,this._cancellationToken),u=await d.getMethodSignatureWithDecoratorsAsync();return u.decoratorTexts.map(e=>`${this._predominantEndOfLineSequence}${r}@${e}`).join("")+`${this._predominantEndOfLineSequence}${r}${u.isAsync?"async ":""}def ${u.methodSignature}:`}async _tryGetSignatureGeneratorOptionsAsync(e){var t,i;let r=this._program.serviceProvider.tryGet(nM.asyncDeclarationFinder);if(!r)return;let n=await r.getDeclarations(e,this._snapshot,this._cancellationToken);if(0===n.length)return;let a=n.find(aF.vu);if(!a)return;let s=null!=(t=a.node.d.isAsync)&&t;return{importAdder:this._importAdder,enableTrackingAddImports:!0,decoratorFilter:["abstractmethod"],hasAsyncKeyword:s,dontAddTypeAnnotation:null==(i=this._option)?void 0:i.dontAddTypeAnnotation}}async _printOverloadedMethodSignaturesAsync(e,t,i,r){let n,a=[];for(let n of aM.OF.getOverloads(i)){let i=await this._printMethodSignaturesAsync(e,t,n,r);i&&a.push(i)}let s=aM.OF.getImplementation(i);if(s&&(0,aM.Tn)(s)){let i=await this._printMethodSignaturesAsync(e,t,s,r);i&&(n=i)}return void 0===n&&(n=this._generateActualImplementationOfOverloadedMethods(aM.OF.getOverloads(i),r)),a.push(n),a}_generateActualImplementationOfOverloadedMethods(e,t){if(0===e.length)return"";let i=aM.RK.isAsync(e[0]),r=e[0].shared.name;return`${this._predominantEndOfLineSequence}${t}${i?"async ":""}def ${r}(self, *args, **kwargs):`}async _printPropertyMethodSignaturesAsync(e,t,i,r){var n,a,s;let o=[],l=null==(n=i.priv.fgetInfo)?void 0:n.methodType;if(l){let i=await this._printMethodSignaturesAsync(e,t,l,r);i&&o.push(i)}let d=null==(a=i.priv.fsetInfo)?void 0:a.methodType;if(d){let i=await this._printMethodSignaturesAsync(e,t,d,r);i&&o.push(i)}let u=null==(s=i.priv.fdelInfo)?void 0:s.methodType;if(u){let i=await this._printMethodSignaturesAsync(e,t,u,r);i&&o.push(i)}return o}async _printProtocolAttributeSignatureAsync(e,t,i){let r=new fj(this._program,this._snapshot,this._fileUri,this._cancellationToken,this._importAdder),n=await r.getTypeStringAsync(t);if(n)return`${this._predominantEndOfLineSequence}${i}${e}: ${n}`}_printInsertTextForCurrentSymbol(e,t,i){let r="";if(!e||0===e.length)return r;let n=`${this._predominantEndOfLineSequence}${t}${this._predominantTabSequence}...`,a=`${this._predominantEndOfLineSequence}${t}${this._predominantTabSequence}raise NotImplementedError`;for(let t=0;t<e.length;t++){let s=e[t];0!==s.length&&(i?t===e.length-1?r+=`${this._predominantEndOfLineSequence}${s}${a}`:r+=`${this._predominantEndOfLineSequence}${s}${n}`:r+=`${this._predominantEndOfLineSequence}${s}${a}`)}return r}_getInsertRange(e){let t=this._parseResults.tokenizerOutput.lines,i=this._parseResults.tokenizerOutput.tokens,r=e.d.suite.d.statements,n=r.length>0?r[r.length-1]:void 0;if(n&&n.nodeType===aO.ye.StatementList&&n.d.statements.length>0){let e=n.d.statements[n.d.statements.length-1];if(e.nodeType===aO.ye.Pass||e.nodeType===aO.ye.Ellipsis){let r=this._indentationUtils.findNonWhitespaceTokenAtOrBeforeOffset(i,e.start-1);return(0,aW.er)(r?r.start+r.length:e.start,e.start+e.length,t)}}let a=e.d.suite.start+e.d.suite.length;return(0,aW.er)(a,a,t)}_newEditsAreRightAfterClassDefinition(e,t){return(0,aW.l8)(e,this._parseResults.tokenizerOutput.lines).line!==t.line}constructor(e,t,i,r,n,a){var s,o;by(this,"_program",void 0),by(this,"_snapshot",void 0),by(this,"_fileUri",void 0),by(this,"_range",void 0),by(this,"_cancellationToken",void 0),by(this,"_option",void 0),by(this,"_importAdder",void 0),by(this,"_indentationUtils",void 0),by(this,"_predominantTabSequence",void 0),by(this,"_predominantEndOfLineSequence",void 0),by(this,"_evaluator",void 0),by(this,"_parseResults",void 0),this._program=e,this._snapshot=t,this._fileUri=i,this._range=r,this._cancellationToken=n,this._option=a,this._evaluator=this._program.getEvaluator(this._snapshot),this._parseResults=this._program.getParseResults(this._fileUri),this._importAdder=new fz(this._program,[],this._snapshot),this._indentationUtils=new ol(null!=(s=null==(o=this._option)?void 0:o.editorIndentConfig)?s:oo),this._predominantTabSequence=this._indentationUtils.getTabSequence(this._parseResults),this._predominantEndOfLineSequence=this._parseResults.tokenizerOutput.predominantEndOfLineSequence}}function bf(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class bv{getMethodSignatureWithDecorators(){var e;let t={methodSignature:"",isAsync:!1,useAwait:!1},i=[],r=this._program.serviceProvider.tryGet(nM.declarationFinder);if(!r)return{...t,decoratorTexts:i};let n=r.getDeclarations(this._funcType,this._cancellationToken);if(0===n.length)return{...t,decoratorTexts:i};let a=n.find(aF.vu);if(!a)return{...t,decoratorTexts:i};for(let e of(t=this.getMethodSignature(),a.node.d.decorators)){if(this._options.decoratorFilter){let t=this._evaluator.getType(e.d.expr);if(t&&(0,aM.Tn)(t)&&this._options.decoratorFilter.some(e=>e===t.shared.name)||!this._options.enableTrackingAddImports)continue;let i=aL.Zr(e);this._options.importAdder.collectImportsForSymbolsUsed(i,e.d.expr,this._cancellationToken)}i.push(aL.W9(e.d.expr))}return{...t,decoratorTexts:i,isAsync:null!=(e=this._options.hasAsyncKeyword)&&e}}getMethodSignature(){var e;let t,i=this._funcType.shared.declaration;(0,cu.x)(this._fileUri)?t=!0:this._classType.shared.moduleName===i.moduleName&&(t=!1);let r=(0,cu.x)(this._fileUri)?aL.P5.ForwardDeclarations|aL.P5.DoNotLimitStringLength:aL.P5.DoNotLimitStringLength;this._updateImportData(i),this._options.enableTrackingAddImports||this._options.dontAddTypeAnnotation||this._options.importAdder.updateImportInfoForTypeWithAutoImport(this._fileUri,this._parseResults,i.node.start,this._funcType.shared.parameters.map(e=>e._type),this._cancellationToken);let n=new fJ(this._program,this._fileUri,this._cancellationToken,this._options.importAdder),a=this._funcType.shared.parameters.map((e,a)=>{let s="";e.category===aO.OP.ArgsList?s+="*":e.category===aO.OP.KwargsDict&&(s+="**"),e.name&&(s+=e.name);let o=a1(i.node,e.name),l=o?a5(o):void 0;if(!this._options.dontAddTypeAnnotation&&aM.gk.isTypeDeclared(e)){let e=this._funcType.shared.parameters[a]._type,t=this._getTypeToPrint(aM.RK.getParamType(this._funcType,a),e);s+=": "+(this._isTypeUsableForPrint(t,e)?n.getTypeString(t):l?aL.W9(l,r):"Any")}return((null==o?void 0:o.d.defaultValue)&&(s+=l?" = ":"=",s+=(null!=t?t:!aL.Qf(o.d.defaultValue))?"...":aL.W9(o.d.defaultValue,r)),s||e.name||e.category!==aO.OP.Simple||!(a<this._funcType.shared.parameters.length-1))?s:"/"});for(let e=a.length-1;e>=0&&""===a[e];e--)a.pop();let s=this._funcType.shared.name+"("+a.join(", ")+")",o=this._shouldUseAwait(),l=this._getReturnTypeStr(o,r,n);return l&&(s+=" -> "+l),{methodSignature:s,isAsync:null!=(e=this._options.hasAsyncKeyword)&&e,useAwait:o}}_updateImportData(e){var t,i,r,n,a;if(this._options.dontAddTypeAnnotation)return;let s=e.node,o=[];if((0,ap.v9)(o,aB.vY.combine(s.d.params)),(0,ap.v9)(o,s.d.returnAnnotation),(0,ap.v9)(o,s.d.funcAnnotationComment),0===o.length)return;let l=aL.Zr(s);this._options.importAdder.collectImportsForSymbolsUsed(l,o,this._cancellationToken);let d=[];this._funcType.shared.parameters.forEach((t,i)=>{let r=a1(e.node,t.name);if(!r)return;let n=a5(r);if(!n)return;let a=this._funcType.shared.parameters[i]._type;if(!(0,aM.CP)(a))return;let s=aM.RK.getParamType(this._funcType,i);d.push({type:s,node:n})});let u=this._funcType.shared.declaredReturnType;u&&(0,aM.CP)(u)&&(s.d.returnAnnotation||(null==(i=s.d.funcAnnotationComment)?void 0:i.d.returnAnnotation))&&d.push({type:aM.RK.getEffectiveReturnType(this._funcType),node:null!=(n=s.d.returnAnnotation)?n:s.d.funcAnnotationComment.d.returnAnnotation});let p=null!=(t=this._decoratedType)?t:this._funcType;!this._options.hasAsyncKeyword&&s.d.isAsync&&(s.d.returnAnnotation||(null==(r=s.d.funcAnnotationComment)?void 0:r.d.returnAnnotation))&&d.push({type:aM.RK.getEffectiveReturnType(p),node:null!=(a=s.d.returnAnnotation)?a:s.d.funcAnnotationComment.d.returnAnnotation}),this._options.importAdder.appendImportInfoForTypes(this._fileUri,d,this._cancellationToken)}_isTypeUsableForPrint(e,t){var i;return!!e&&(e.category!==aM.vb.Class||(null==e||null==(i=e.shared)?void 0:i.name)!=="CoroutineType")&&(!(0,aM.t8)(e)||(null==t?void 0:t.category)===aM.vb.TypeVar)}_shouldUseAwait(){var e,t;let i=null!=(e=this._decoratedType)?e:this._funcType,r=null!=(t=aM.RK.getEffectiveReturnType(i))?t:this._evaluator.getInferredReturnType(i);return!!r&&r.category===aM.vb.Class&&("Coroutine"===r.shared.name||"CoroutineType"===r.shared.name)&&("typing"===r.shared.moduleName||"types"===r.shared.moduleName)&&!!r.priv.typeArgs&&3===r.priv.typeArgs.length}_getReturnTypeStr(e,t,i){var r;if(this._options.dontAddTypeAnnotation)return;let n=this._funcType.shared.declaration.node;if(!n.d.returnAnnotation&&!(null==(r=n.d.funcAnnotationComment)?void 0:r.d.returnAnnotation))return;let a=aM.RK.getEffectiveReturnType(this._funcType);this._shouldUnwrapCoroutine(e,a)&&(a=a.priv.typeArgs[2]);let s=this._funcType.shared.declaredReturnType,o=this._getTypeToPrint(a,s);return o&&this._isTypeUsableForPrint(o,s)?i.getTypeString(o):n.d.returnAnnotation?aL.W9(n.d.returnAnnotation,t):n.d.funcAnnotationComment?aL.W9(n.d.funcAnnotationComment.d.returnAnnotation,t):void 0}_shouldUnwrapCoroutine(e,t){var i;return!!this._options.hasAsyncKeyword&&e&&(null==t?void 0:t.category)===aM.vb.Class&&("Coroutine"===t.shared.name||"CoroutineType"===t.shared.name)&&(null==(i=t.priv.typeArgs)?void 0:i.length)===3}constructor(e,t,i,r,n,a,s){bf(this,"_program",void 0),bf(this,"_fileUri",void 0),bf(this,"_classType",void 0),bf(this,"_funcType",void 0),bf(this,"_decoratedType",void 0),bf(this,"_options",void 0),bf(this,"_cancellationToken",void 0),bf(this,"_parseResults",void 0),bf(this,"_evaluator",void 0),bf(this,"_getTypeToPrint",void 0),this._program=e,this._fileUri=t,this._classType=i,this._funcType=r,this._decoratedType=n,this._options=a,this._cancellationToken=s,this._evaluator=this._program.evaluator,this._parseResults=this._program.getParseResults(this._fileUri),this._getTypeToPrint=(e,t)=>e&&(!(0,aM.t8)(e)||(null==t?void 0:t.category)===aM.vb.TypeVar)?e:t}}function b_(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class bT{implementAllAbstractClasses(){if(this._cancellationToken.isCancellationRequested)return;let e=this._parseResults.tokenizerOutput.lines,t=(0,aW.AP)(this._range,e);if(!t)return;let i=(0,aL.gr)(this._parseResults.parserOutput.parseTree,t.start);if((null==i?void 0:i.nodeType)!==aO.ye.Name)return;let r=i.parent;if((null==r?void 0:r.nodeType)!==aO.ye.Class)return;let n=this._evaluator.getTypeOfClass(r);if(!n)return;let a=bT.canImplementAbstractClass(this._evaluator,i);if(!a||0===a.length)return;let s=this._indentationUtils.getMethodWithinClassIndentation(this._parseResults,this._range.start.line,this._predominantTabSequence.length),o=this._generateInsertText(a,n.classType,s),l=this._getInsertRange(r),d=this._importAdder.applyImports(this._fileUri,this._parseResults,i.start,o9.Absolute,this._cancellationToken),u=this._newEditsAreRightAfterClassDefinition(r.start,l.start),p=[];for(let e of(p.push({fileUri:this._fileUri,range:l,replacementText:u?o:o.slice(this._predominantEndOfLineSequence.length)}),d))p.push({fileUri:this._fileUri,...e});return p}static canImplementAbstractClass(e,t){let i=t.parent;if(!i||i.nodeType!==aO.ye.Class)return;let r=e.getTypeOfClass(i);if(!r)return;let n=r.classType;if(!n||!(0,aM.D4)(n)||!aM.p5.supportsAbstractMethods(n)||aM.p5.isProtocolClass(n))return;let a=e.getAbstractSymbols(n).filter(e=>e&&!n.shared.fields.get(e.symbolName));if(0!==a.length)return a}get _evaluator(){return this._program.evaluator}get _parseResults(){return this._program.getParseResults(this._fileUri)}_generateInsertText(e,t,i){let r="";for(let n of e){let e=n.symbol,a=this._evaluator.getEffectiveTypeOfSymbol(e),s=(0,aM.D4)(n.classType)?n.classType:t,o=[],l=!1;if((0,aM.Tn)(a)){let e=this._printMethodSignatures(t,s,a,i);o=e?[e]:void 0}if((0,aM.Gl)(a)&&(l=!0,o=this._printOverloadedMethodSignatures(t,s,a,i)),(0,aM.aE)(a)&&aM.p5.isPropertyClass(a)&&(o=this._printPropertyMethodSignatures(t,s,a,i)),(null==o?void 0:o.length)!==0||(0,aM.Tn)(a)||(0,aM.Gl)(a)||(0,aM.aE)(a)&&aM.p5.isPropertyClass(a))r+=this._printInsertTextForCurrentSymbol(o,i,l);else{let e=this._printProtocolAttributeSignature(n.symbolName,a,i);e&&(r+=e)}}return r+`${this._predominantEndOfLineSequence}`}_printMethodSignatures(e,t,i,r){var n,a;let s=null!=(n=this._tryGetSignatureGeneratorOptions(i))?n:{importAdder:this._importAdder,enableTrackingAddImports:!0,decoratorFilter:["abstractmethod"],dontAddTypeAnnotation:null==(a=this._option)?void 0:a.dontAddTypeAnnotation},o=(0,aX._T)(i,t,void 0),l=(0,aM.Tn)(o)?o:i,d=new bv(this._program,this._fileUri,e,l,l,s,this._cancellationToken).getMethodSignatureWithDecorators();return d.decoratorTexts.map(e=>`${this._predominantEndOfLineSequence}${r}@${e}`).join("")+`${this._predominantEndOfLineSequence}${r}${d.isAsync?"async ":""}def ${d.methodSignature}:`}_tryGetSignatureGeneratorOptions(e){var t,i;let r=this._program.serviceProvider.tryGet(nM.declarationFinder);if(!r)return;let n=r.getDeclarations(e,this._cancellationToken);if(0===n.length)return;let a=n.find(aF.vu);if(!a)return;let s=null!=(t=a.node.d.isAsync)&&t;return{importAdder:this._importAdder,enableTrackingAddImports:!0,decoratorFilter:["abstractmethod"],hasAsyncKeyword:s,dontAddTypeAnnotation:null==(i=this._option)?void 0:i.dontAddTypeAnnotation}}_printOverloadedMethodSignatures(e,t,i,r){let n,a=[];for(let n of aM.OF.getOverloads(i)){let i=this._printMethodSignatures(e,t,n,r);i&&a.push(i)}let s=aM.OF.getImplementation(i);if(s&&(0,aM.Tn)(s)){let i=this._printMethodSignatures(e,t,s,r);i&&(n=i)}return void 0===n&&(n=this._generateActualImplementationOfOverloadedMethods(aM.OF.getOverloads(i),r)),a.push(n),a}_generateActualImplementationOfOverloadedMethods(e,t){if(0===e.length)return"";let i=aM.RK.isAsync(e[0]),r=e[0].shared.name;return`${this._predominantEndOfLineSequence}${t}${i?"async ":""}def ${r}(self, *args, **kwargs):`}_printPropertyMethodSignatures(e,t,i,r){var n,a,s;let o=[],l=null==(n=i.priv.fgetInfo)?void 0:n.methodType;if(l){let i=this._printMethodSignatures(e,t,l,r);i&&o.push(i)}let d=null==(a=i.priv.fsetInfo)?void 0:a.methodType;if(d){let i=this._printMethodSignatures(e,t,d,r);i&&o.push(i)}let u=null==(s=i.priv.fdelInfo)?void 0:s.methodType;if(u){let i=this._printMethodSignatures(e,t,u,r);i&&o.push(i)}return o}_printProtocolAttributeSignature(e,t,i){let r=new fJ(this._program,this._fileUri,this._cancellationToken,this._importAdder).getTypeString(t);if(r)return`${this._predominantEndOfLineSequence}${i}${e}: ${r}`}_printInsertTextForCurrentSymbol(e,t,i){let r="";if(!e||0===e.length)return r;let n=`${this._predominantEndOfLineSequence}${t}${this._predominantTabSequence}...`,a=`${this._predominantEndOfLineSequence}${t}${this._predominantTabSequence}raise NotImplementedError`;for(let t=0;t<e.length;t++){let s=e[t];0!==s.length&&(i?t===e.length-1?r+=`${this._predominantEndOfLineSequence}${s}${a}`:r+=`${this._predominantEndOfLineSequence}${s}${n}`:r+=`${this._predominantEndOfLineSequence}${s}${a}`)}return r}_getInsertRange(e){let t=this._parseResults.tokenizerOutput.lines,i=this._parseResults.tokenizerOutput.tokens,r=e.d.suite.d.statements,n=r.length>0?r[r.length-1]:void 0;if(n&&n.nodeType===aO.ye.StatementList&&n.d.statements.length>0){let e=n.d.statements[n.d.statements.length-1];if(e.nodeType===aO.ye.Pass||e.nodeType===aO.ye.Ellipsis){let r=this._indentationUtils.findNonWhitespaceTokenAtOrBeforeOffset(i,e.start-1);return(0,aW.er)(r?r.start+r.length:e.start,e.start+e.length,t)}}let a=e.d.suite.start+e.d.suite.length;return(0,aW.er)(a,a,t)}_newEditsAreRightAfterClassDefinition(e,t){return(0,aW.l8)(e,this._parseResults.tokenizerOutput.lines).line!==t.line}constructor(e,t,i,r,n){var a,s;b_(this,"_program",void 0),b_(this,"_fileUri",void 0),b_(this,"_range",void 0),b_(this,"_cancellationToken",void 0),b_(this,"_option",void 0),b_(this,"_importAdder",void 0),b_(this,"_indentationUtils",void 0),b_(this,"_predominantTabSequence",void 0),b_(this,"_predominantEndOfLineSequence",void 0),this._program=e,this._fileUri=t,this._range=i,this._cancellationToken=r,this._option=n,this._importAdder=new fV(this._program),this._indentationUtils=new ol(null!=(a=null==(s=this._option)?void 0:s.editorIndentConfig)?a:oo),this._predominantTabSequence=this._indentationUtils.getTabSequence(this._parseResults),this._predominantEndOfLineSequence=this._parseResults.tokenizerOutput.predominantEndOfLineSequence}}class bw{get isRefactoringCommand(){return!0}execute(e,t,i){var r;if((0,n8.Lj)(i),(null==(r=t.arguments)?void 0:r.length)!==2)return;let n=n4.z.parse(t.arguments[0],e.service.serviceProvider),a=t.arguments[1];return e.service.run(t=>{let r=new bT(t,n,a,i,{editorIndentConfig:e.editorIndentConfig,dontAddTypeAnnotation:!e.generateWithTypeAnnotation}).implementAllAbstractClasses();if(r)return(0,fI.WN)(e.service.fs,r)},i)}async executeAsync(e,t,i){var r;if((0,n8.Lj)(i),(null==(r=t.arguments)?void 0:r.length)!==2)return;let n=n4.z.parse(t.arguments[0],e.service.serviceProvider),a=t.arguments[1],s=e.service.asyncProgram;if(!s)return;let o=await s.getSnapshot(i),l=await new bg(s,o,n,a,i,{editorIndentConfig:e.editorIndentConfig,dontAddTypeAnnotation:!e.generateWithTypeAnnotation}).implementAllAbstractClassesAsync();if(l)return(0,fI.WN)(e.service.fs,l)}getFile(e){var t;if((null==(t=e.arguments)?void 0:t.length)===2)return e.arguments[0]}}async function bb(e,t){return e.getTypeOfExpression?(await e.getTypeOfExpression(t)).type:e.getType?await e.getType(t):void 0}function bS(e){return e.nodeType===aO.ye.Call?e.d.leftExpr:e}function bk(e,t,i,r){let n=e.makeTopLevelTypeVarsConcrete(i);return t.getDeclarations(n,r)}async function bI(e,t,i,r,n){let a=e.makeTopLevelTypeVarsConcrete(r);return await t.getDeclarations(a,i,n)}function bC(e,t,i,r){var n;let a=bS(i),s=e.getTypeOfExpression?e.getTypeOfExpression(a).type:null==(n=e.getType)?void 0:n.call(e,a);return s?bk(e,t,s,r):[]}async function bP(e,t,i,r,n){let a=bS(r),s=await bb(e,a);return s?await bI(e,t,i,s,n):[]}function bx(e,t,i,r){if(!i||0===i.length)return[];let n=[];for(let a of i)for(let i of bC(e,t,a.d.expr,r))(0,ap.eA)(n,i,aA.MY);return n}async function bF(e,t,i,r,n){if(!r||0===r.length)return[];let a=[];for(let s of r)for(let r of(await bP(e,t,i,s.d.expr,n)))(0,ap.eA)(a,r,aA.MY);return a}function bA(e,t){for(let i of e.shared.mro.slice(1)){if(!(0,aM.D4)(i)||(0,aM.ah)(i))continue;let e=i.shared.fields.get(t);if(!e)continue;let r=e.getDeclarations().filter(aF.vu);if(0===r.length)continue;let n=[];for(let e of r)for(let t of e.node.d.decorators)n.push(t);return n}return[]}function bD(e,...t){return e.some(e=>t.some(t=>t.some(t=>(0,aA.MY)(t,e))))}class bE{get isRefactoringCommand(){return!0}execute(e,t,i){if((0,n8.Lj)(i),!t.arguments||2!==t.arguments.length)return;let r=n4.z.parse(t.arguments[0],e.service.serviceProvider),n=parseInt(t.arguments[1],10);if(!Number.isNaN(n))return s5("Inherit all decorators",void 0,e.service.run(e=>{let t=e.getParseResults(r);if(t&&e.evaluator)return this._computeEdits(e,r,t,n,i)},i))}async executeAsync(e,t,i){if((0,n8.Lj)(i),!t.arguments||2!==t.arguments.length)return;let r=await T1(e,i);if(!r)return;let n=n4.z.parse(t.arguments[0],r.workspace.service.serviceProvider),a=parseInt(t.arguments[1],10);if(!Number.isNaN(a))return s5("Inherit all decorators",void 0,await this._computeEditsAsync(r.program,r.evaluator,r.snapshot,r.pythonSearchPaths,n,a,i))}getFile(e){var t;if((null==(t=e.arguments)?void 0:t.length)===2)return e.arguments[0]}_computeEdits(e,t,i,r,n){(0,n8.Lj)(n);let a=e.evaluator;if(!a)return;let s=(0,aL.gr)(i.parserOutput.parseTree,r),o=s?(0,aL.Ay)(s,aO.ye.Function):void 0;if(!o)return;let l=(0,aL.Ay)(o,aO.ye.Class);if(!l)return;let d=a.getTypeOfClass(l),u=null==d?void 0:d.classType;if(!u||!(0,aM.D4)(u))return;let p=bA(u,o.d.name.d.value);if(0===p.length)return;let c=e.serviceProvider.tryGet(nM.declarationFinder);if(!c)return;let h=a.getTypingType(o,"overload"),m=h?bk(a,c,h,n):[],y=bx(a,c,o.d.decorators,n),g=[],f=[],v=new fV(e,{usageKind:"move"});for(let e of p){let t=bC(a,c,e.d.expr,n);if(bD(t,m,y,g))continue;let i="@"+aL.W9(e.d.expr);g.push(...t);let r=aL.Zr(e);r&&v.collectImportsForSymbolsUsed(r,e.d.expr,n),f.push(i)}if(0===f.length)return;let _=o.d.decorators.length>0?(0,aW.l8)(o.d.decorators[0].start,i.tokenizerOutput.lines).line:(0,aW.l8)(o.start,i.tokenizerOutput.lines).line,T=new ol,w=T.createIndentationString(i,T.getIndentationFromText(i,_).indentation),b=i.tokenizerOutput.predominantEndOfLineSequence,S=f.map(e=>`${w}${e}${b}`).join(""),k=v.applyImports(t,i,o.start,o9.Absolute,n).map(e=>({range:e.range,newText:e.replacementText}));return{changes:{[t.toString()]:[{range:{start:{line:_,character:0},end:{line:_,character:0}},newText:S},...k]}}}async _computeEditsAsync(e,t,i,r,n,a,s){(0,n8.Lj)(s);let o=e.getParseResults(n);if(!o)return;let l=(0,aL.gr)(o.parserOutput.parseTree,a),d=l?(0,aL.Ay)(l,aO.ye.Function):void 0;if(!d)return;let u=(0,aL.Ay)(d,aO.ye.Class);if(!u)return;let p=await t.getTypeOfClass(u),c=null==p?void 0:p.classType;if(!c||!(0,aM.D4)(c))return;let h=bA(c,d.d.name.d.value);if(0===h.length)return;let m=e.serviceProvider.tryGet(nM.asyncDeclarationFinder);if(!m)return;let y=await t.getTypingType(d,"overload"),g=y?await bI(t,m,i,y,s):[],f=await bF(t,m,i,d.d.decorators,s),v=[],_=[],T=new fz(e,r,i,{usageKind:"move"});for(let e of h){let r=await bP(t,m,i,e.d.expr,s);if(bD(r,g,f,v))continue;let n="@"+aL.W9(e.d.expr);v.push(...r);let a=aL.Zr(e);a&&await T.collectImportsForSymbolsUsed(a,e.d.expr,s),_.push(n)}if(0===_.length)return;let w=d.d.decorators.length>0?(0,aW.l8)(d.d.decorators[0].start,o.tokenizerOutput.lines).line:(0,aW.l8)(d.start,o.tokenizerOutput.lines).line,b=new ol,S=b.createIndentationString(o,b.getIndentationFromText(o,w).indentation),k=o.tokenizerOutput.predominantEndOfLineSequence,I=_.map(e=>`${S}${e}${k}`).join(""),C=(await T.applyImports(n,o,d.start,o9.Absolute,s)).map(e=>({range:e.range,newText:e.replacementText}));return{changes:{[n.toString()]:[{range:{start:{line:w,character:0},end:{line:w,character:0}},newText:I},...C]}}}}var bR=i(90701);function bN(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class bM{get outputFileUri(){var e;return null==(e=this._logger)?void 0:e.outputFileUri}async execute(e,t,i){(0,n8.Lj)(i);let r=e.service.serviceProvider,n=r.tryGet(n7.y.console);if(n&&n1.E.is(n)){if("start"===t)return void await this._startLogging(r,n);if("stop"===t)return void await this._stopLogging(r,n)}}async _startLogging(e,t){for(let r of(this._logger&&await this._stopLogging(e,t),this._logger=new bL(this._loggingId++,e),t.addChain(this._logger),this._ls.restart(),await this._ls.getWorkspaces())){var i;await this._ls.getSettings(r),null==(i=e.tryGet(nM.packageDiscoverer))||i.logInstalledModuleInfo(cl(r.service.backgroundAnalysisProgram.program))}}async _stopLogging(e,t){if(!this._logger)return;let i=this._logger;t.removeChain(i),this._logger=void 0,i.done();let r=e.tryGet(n7.y.windowService);if(!i.loggingFolderUri||!i.outputFileUri||!r)return;let n=bR.r.file(i.outputFileUri.getFilePath()),a=iI.Commands.LoggingCommand.loggingDataSaved().format({filePath:i.loggingFolderUri.getFilePath(),uri:`command:revealFileInOS?${encodeURIComponent(JSON.stringify(n.toJSON()))}`}),s=r.createGoToOutputAction();await r.showInformationMessage(a,s)}constructor(e){bN(this,"_ls",void 0),bN(this,"_loggingId",void 0),bN(this,"_logger",void 0),this._ls=e,this._loggingId=0}}class bO{execute(e,t,i){return this._handler.execute(e,"start",i)}getFile(e){}constructor(e){bN(this,"_handler",void 0),this._handler=e}}class bU{execute(e,t,i){return this._handler.execute(e,"stop",i)}getFile(e){}constructor(e){bN(this,"_handler",void 0),this._handler=e}}class bL{error(e){this._sb.push(`[Error] ${e}`)}warn(e){this._sb.push(`[Warn] ${e}`)}info(e){this._sb.push(`[Info] ${e}`)}log(e){this._sb.push(`[Log] ${e}`)}done(){let e=this._sp.tryGet(n7.y.console);try{let t=this._getTitle();if(!this.loggingFolderUri){null==e||e.info(`[${t}] Logging stopped but there is no place to save data.`);return}this._sp.get(n7.y.fs).writeFileSync(this.outputFileUri,this._sb.join("\n"),"utf8"),null==e||e.info(`[${t}] Logging stopped at ${this.outputFileUri.getFilePath()}`)}catch(t){null==e||e.error(`There was an error saving logging data: ${t}`);return}}_getTitle(){return`id_${this._loggerId}`}constructor(e,t){var i;bN(this,"_loggerId",void 0),bN(this,"_sp",void 0),bN(this,"loggingFolderUri",void 0),bN(this,"outputFileUri",void 0),bN(this,"_sb",void 0),this._loggerId=e,this._sp=t,this._sb=[];const r=null==(i=this._sp.tryGet(n7.y.tempFile))?void 0:i.tmpdir();if(!r)return;this.loggingFolderUri=r,this.outputFileUri=this.loggingFolderUri.combinePaths(`pylance_${ag}_${this._getTitle()}.txt`);const n=this._sp.tryGet(n7.y.console);null==n||n.info(`[${this._getTitle()}] Logging started`)}}var bz=i(8840);function bW(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let bB={treatModuleInImportAndFromImportSame:!0,skipUnreachableCode:!1};class b${get lastModuleName(){return this._moduleNames[this._moduleNames.length-1]}get textEditTracker(){return this._textEditTracker}static async createForModule(e,t,i,r,n,a){if(e.fileSystem.existsSync(r)){if((0,ah.fo)(e.fileSystem,r))return await this._create(e,t,i,r,n,0,a);else if((0,ah.wd)(e.fileSystem,r)){if("Renamed"!==(0,ah.gT)(e.fileSystem,r,n))return;let s=r.initPyiUri;if(!e.fileSystem.existsSync(s)&&(s=r.initPyUri,!e.fileSystem.existsSync(s)))return;return await this._create(e,t,i,s,n.combinePaths(s.fileName),1,a)}}}static async createForSymbol(e,t,i,r,n,a,s){if(!e.fileSystem.existsSync(r))return;let o=a.filter(e=>(0,aF.hw)(e)||(0,aF.vu)(e)||(0,aF.bC)(e));if(0!==o.length)return await this._create(e,t,i,r,n,2,o,s)}getEdits(){return this._textEditTracker.getEdits(this._token)}async tryGetFirstSymbolUsage(e,t){var i,r,n;let a=null!=(i=null!=(r=null==t?void 0:t.name)?r:(0,aA.eE)(this.declarations[0]))?i:"",s=new wC(this._program,this._evaluator,[a],null!=(n=null==t?void 0:t.decls)?n:this.declarations,e.parseTree,this._token,bB);for(let e of(await s.collectAsync()).sort((e,t)=>e.range.start-t.range.start))if(!((0,aL.TS)(e.node)||(0,aL.ay)(e.node)||(0,aL.Z7)(e.node)||(0,aL.t3)(e.node)||(0,aL.U7)(e.node)))return e.range.start}async processModuleReferences(e,t){for(let r of this._program.getSourceFileInfoList()){var i;if(!(0,aR.xX)(r))continue;let n=r.uri,a=null!=(i=r.contents)?i:"";if(!n.equals(t)&&0>a.indexOf(e))continue;let s=this._program.getParseResults(r.uri);s&&await this._renameReferences(s)}}get _moduleName(){return this._moduleNameAndType.moduleName}get _newLastModuleName(){return this._newModuleNames[this._newModuleNames.length-1]}get _newModuleName(){return this._newModuleNameAndType.moduleName}static async _create(e,t,i,r,n,a,s,o){o=nZ.CancellationToken.is(s)?s:o;let l=e=>e.split(".").every(e=>aU._.isPythonIdentifier(e)),d=e.getModuleName(r);if(!d||!l(d))return;let u=e.getModuleName(n);if(!u){let t=e.configOptions.findExecEnvironment(r);t.root&&(u=(0,au.Hk)(t.root,n))}if(!u||!l(u))return;let p={moduleName:d,importType:aD.U.Local,isLocalTypingsFile:!1},c={moduleName:u,importType:aD.U.Local,isLocalTypingsFile:!1},h=nZ.CancellationToken.is(s)?[]:s;if(0===h.length&&(h.push((0,aA.HV)(r)),(0,cu.x)(r))){let t=await e.getSourceMapper(r,!1,!1,i,o);if(t)for(let e of(await t.getSourcePathsFromStub(r,void 0)))h.push((0,aA.HV)(e))}return new b$(e,t,i,r,n,p,c,a,h,o)}async _renameReferences(e){switch(this._type){case 1:return await this._renameFolderReferences(e);case 0:return await this._renameModuleReferences(e);case 2:return await this._updateSymbolReferences(e);default:return(0,n6.xb)(this._type,`${this._type} is unknown`)}}async _updateSymbolReferences(e){let t=(0,ax.R8)(e.parserOutput.parseTree).fileUri,i=t.equals(this._moduleUri),r=new wC(this._program,this._evaluator,[(0,aA.eE)(this.declarations[0])||""],this.declarations,e.parserOutput.parseTree,this._token,bB),n=(0,oG.AG)(e.parserOutput.parseTree,!0),a=n.orderedImports.find(e=>e.moduleName===this._newModuleName),s=!1,o=new Map,l=new Map;for(let t of(await r.collectAsync())){let r=t.node;if(r.nodeType===aO.ye.String){i&&this._textEditTracker.addEditWithTextRange(e,r,"");continue}if((0,aL.t3)(r)){await this._updateNameInFromImportForSymbolReferences(e,n,r);continue}s||(s=!i||!this.declarations.some(e=>aB.vY.containsRange(e.node,r)));let a=(0,aL.W5)(r);if(a===r||a.nodeType!==aO.ye.MemberAccess){await this._collectWildcardImports(r,o);continue}await this._collectSymbolReferencesPerImports(a,l)}if(i&&s){let i=(null==a?void 0:a.node.nodeType)===aO.ye.ImportFrom?this._getNewModuleName(t,a.node.d.module.d.leadingDots>0,!1):void 0,r=(null==a?void 0:a.node.nodeType)===aO.ye.ImportFrom?{currentFromImport:a.node,originalModuleName:this._moduleName}:void 0;this._textEditTracker.addOrUpdateImport(e,n,{name:this._newModuleName,nameForImportFrom:i},(0,oG.x$)(this._newModuleNameAndType),[{name:(0,aA.eE)(this.declarations[0])}],r)}this._processSymbolReferenceOffWildcardImports(e,n,o),await this._processSymbolReferenceOffImports(e,n,a,l)}async _processSymbolReferenceOffImports(e,t,i,r){let n=(0,ax.R8)(e.parserOutput.parseTree).fileUri;if(n.equals(this._newModuleUri)){for(let[t,i]of r)for(let r of(await this._canReplaceImportName(e.parserOutput,t,i)&&this._textEditTracker.deleteImportName(e,t),i))this._textEditTracker.addEditWithTextRange(e,aB.vY.fromBounds(r.start,r.d.member.start),"");return}for(let[a,s]of r){let r;if(await this._canReplaceImportName(e.parserOutput,a,s)){let s=this._getReferenceModuleName(t,i);if(a.nodeType===aO.ye.ImportAs)s?(r=s,this._textEditTracker.deleteImportName(e,a)):(r=a.d.alias?a.d.alias.d.value:this._newModuleName,this._textEditTracker.addEditWithTextRange(e,a.d.module,this._newModuleName));else if(s)r=s,this._textEditTracker.deleteImportName(e,a);else{let t=a.parent,i=this._getNewModuleName(n,t.d.module.d.leadingDots>0,!0);r=a.d.alias?a.d.alias.d.value:this._newLastModuleName,this._textEditTracker.addEditWithTextRange(e,t.d.module,i),this._textEditTracker.addEditWithTextRange(e,a.d.name,this._newLastModuleName)}}else{let n=this._getReferenceModuleName(t,i);n?r=n:(r=this._newModuleName,this._textEditTracker.addOrUpdateImport(e,t,{name:this._newModuleName},(0,oG.x$)(this._newModuleNameAndType)))}for(let t of s)this._textEditTracker.addEditWithTextRange(e,t.d.leftExpr,r)}}_processSymbolReferenceOffWildcardImports(e,t,i){let r=(0,ax.R8)(e.parserOutput.parseTree).fileUri;if(!r.equals(this._newModuleUri))for(let[n,a]of i){let i=this._getNewModuleName(r,n.d.module.d.leadingDots>0,!1);this._textEditTracker.addOrUpdateImport(e,t,{name:this._newModuleName,nameForImportFrom:i},(0,oG.x$)(this._newModuleNameAndType),[...a].map(e=>({name:e})),{currentFromImport:n,originalModuleName:this._moduleName})}}async _collectSymbolReferencesPerImports(e,t){var i;let r=e.d.leftExpr.nodeType===aO.ye.MemberAccess?e.d.leftExpr.d.member:e.d.leftExpr.nodeType===aO.ye.Name?e.d.leftExpr:void 0;if(!r)return;let n=await this._evaluator.getDeclInfoForNameNode(r),a=null==n||null==(i=n.decls)?void 0:i.filter(e=>(0,aF.D5)(e)&&(e.node.nodeType===aO.ye.ImportAs||e.node.nodeType===aO.ye.ImportFromAs));if(!a||0===a.length)return;let s=a[0].node;(0,ap.PD)(t,s,()=>[]).push(e)}async _collectWildcardImports(e,t){let i=await this._evaluator.getDeclInfoForNameNode(e),r=null==i?void 0:i.decls,n=null==r?void 0:r.find(e=>e.node.nodeType===aO.ye.ImportFrom&&e.node.d.isWildcardImport);n&&(0,aF.D5)(n)&&(0,ap.PD)(t,n.node,()=>new Set).add(e.d.value)}async _updateNameInFromImportForSymbolReferences(e,t,i){var r;let n=(0,ax.R8)(e.parserOutput.parseTree).fileUri,a=n.equals(this._newModuleUri),s=i.parent,o=null==s?void 0:s.parent,l=this._getNewModuleName(n,o.d.module.d.leadingDots>0,!1);if(a)return void this._textEditTracker.deleteImportName(e,s);if(1===o.d.imports.length)return void this._textEditTracker.addEditWithTextRange(e,o.d.module,l);this._textEditTracker.deleteImportName(e,s);let d={name:s.d.name.d.value,alias:null==(r=s.d.alias)?void 0:r.d.value};this._textEditTracker.addOrUpdateImport(e,t,{name:this._newModuleName,nameForImportFrom:l},(0,oG.x$)(this._newModuleNameAndType),[d],{currentFromImport:o,originalModuleName:this._moduleName})}_getReferenceModuleName(e,t){var i,r;if(t&&t.node.nodeType===aO.ye.Import)return(null==(r=t.subnode)?void 0:r.d.alias)?t.subnode.d.alias.d.value:this._newModuleName;if(null==(i=e.implicitImports)?void 0:i.has(this._newModuleUri.key)){let t=e.implicitImports.get(this._newModuleUri.key);return t.d.alias?t.d.alias.d.value:t.d.name.d.value}}async _canReplaceImportName(e,t,i){var r;let n=null!=(r=t.d.alias)?r:t.nodeType===aO.ye.ImportAs?t.d.module.d.nameParts[t.d.module.d.nameParts.length-1]:t.d.name,a=await this._getDeclarationsForNode(n);if(0===a.length)return!1;let s=new wC(this._program,this._evaluator,[n.d.value],a,e.parseTree,this._token,bB);for(let e of(await s.collectAsync()))if(!((0,aL.TS)(e.node)||(0,aL.ay)(e.node)||(0,aL.Z7)(e.node)||(0,aL.t3)(e.node)||(0,aL.U7)(e.node))&&!i.some(t=>aB.vY.containsRange(t,e.node)))return!1;return!0}async _getDeclarationsForNode(e){var t;let i=await this._evaluator.getDeclInfoForNameNode(e);return null!=(t=null==i?void 0:i.decls)?t:[]}async _renameFolderReferences(e){let t=new wC(this._program,this._evaluator,[this.lastModuleName],this.declarations,e.parserOutput.parseTree,this._token,bB);for(let i of(await t.collectAsync()))this._textEditTracker.addEditWithTextRange(e,i.range,this._newLastModuleName)}async _renameModuleReferences(e){let t=new wC(this._program,this._evaluator,[this.lastModuleName],this.declarations,e.parserOutput.parseTree,this._token,bB),i=await t.collectAsync();await this._updateModuleReferences(e,i),this._updateRelativeModuleNamePath(e,i)}_updateRelativeModuleNamePath(e,t){let i,r=(0,ax.R8)(e.parserOutput.parseTree).fileUri;if(r.equals(this._moduleUri))for(let n of this._getNewRelativeModuleNamesForFileMoved(r,bj.collect(e.parserOutput.parseTree).filter(e=>!t.some(t=>aB.vY.containsRange(e.parent,t.node))))){if(this._textEditTracker.addEditWithTextRange(e,n.moduleName,n.newModuleName),!n.itemsToMove)continue;let t=n.moduleName.parent;for(let t of n.itemsToMove)this._textEditTracker.deleteImportName(e,t);i=null!=i?i:(0,oG.AG)(e.parserOutput.parseTree,!1),this._textEditTracker.addOrUpdateImport(e,i,{name:this._newModuleName,nameForImportFrom:(0,oG.eM)(this._program.fileSystem,this._newModuleUri,this._newModuleUri,this._program.configOptions,!1,!0)},(0,oG.x$)(this._newModuleNameAndType),n.itemsToMove.map(e=>{var t;return{name:e.d.name.d.value,alias:null==(t=e.d.alias)?void 0:t.d.value}}),{currentFromImport:t,originalModuleName:this._moduleName})}}async _updateModuleReferences(e,t){let i,r=(0,ax.R8)(e.parserOutput.parseTree).fileUri;for(let d of t){var n,a,s,o,l;let u=d.node;if(u.nodeType===aO.ye.String){this._textEditTracker.addEditWithTextRange(e,d.range,this._newLastModuleName);continue}if((0,aL.TS)(u)){if(!(0,aL.Er)(u))continue;let t=(0,aL.Ay)(u,aO.ye.ModuleName);if(1===t.d.nameParts.length&&(null==(n=t.parent)?void 0:n.nodeType)===aO.ye.ImportAs&&!t.parent.d.alias&&this._newModuleNames.length>1){this._aliasIntroduced.add(t.parent),this._textEditTracker.addEditWithTextRange(e,t,`${this._newModuleName} as ${this._newLastModuleName}`);continue}this._textEditTracker.addEditWithTextRange(e,t,this._newModuleName);continue}if((0,aL.ay)(u)){this._textEditTracker.addEditWithTextRange(e,d.range,this._newLastModuleName);continue}if((0,aL.Z7)(u)){if(!(0,aL.Er)(u))continue;let n=(0,aL.Ay)(u,aO.ye.ModuleName),a=n.parent,s=[],o=[];for(let e of a.d.imports)await this._isExportedSymbol(e.d.name)?s.push(e):o.push(e);if(0===o.length){this._textEditTracker.addEditWithTextRange(e,n,this._getNewModuleName(r,n.d.leadingDots>0,!1));continue}if(0===s.length)continue;if(a.d.module.d.leadingDots>0)for(let t of this._getNewRelativeModuleNamesForFileMoved(r,[a.d.module]))this._textEditTracker.addEditWithTextRange(e,t.moduleName,t.newModuleName);for(let t of s)this._textEditTracker.deleteImportName(e,t);i=null!=i?i:(0,oG.AG)(e.parserOutput.parseTree,!1),this._textEditTracker.addOrUpdateImport(e,i,{name:this._newModuleName},(0,oG.x$)(this._newModuleNameAndType),s.map(e=>{var i;return{name:t.findIndex(t=>t.node===e.d.name)>=0?this._newLastModuleName:e.d.name.d.value,alias:t.findIndex(t=>t.node===e.d.alias)>=0?this._newLastModuleName:null==(i=e.d.alias)?void 0:i.d.value}}),{currentFromImport:a,originalModuleName:this._moduleName});continue}if((0,aL.t3)(u)){if(this._textEditTracker.isNodeRemoved(u))continue;let t=null==(a=u.parent)?void 0:a.parent,n=this._getNewModuleName(r,t.d.module.d.leadingDots>0,!0);if(await this._isExportedSymbol(u)){this._textEditTracker.addEditWithTextRange(e,d.range,this._newLastModuleName);continue}if(1===t.d.imports.length)this._textEditTracker.addEditWithTextRange(e,t.d.module,n),this._textEditTracker.addEditWithTextRange(e,d.range,this._newLastModuleName);else{let a=u.parent;if(t.d.module.d.leadingDots>0)for(let i of this._getNewRelativeModuleNamesForFileMoved(r,[t.d.module]))this._textEditTracker.addEditWithTextRange(e,i.moduleName,i.newModuleName);this._textEditTracker.deleteImportName(e,a),i=null!=i?i:(0,oG.AG)(e.parserOutput.parseTree,!1);let l={name:this._newLastModuleName,alias:(null==(s=a.d.alias)?void 0:s.d.value)===this.lastModuleName?this._newLastModuleName:null==(o=a.d.alias)?void 0:o.d.value};this._textEditTracker.addOrUpdateImport(e,i,{name:this._newModuleName,nameForImportFrom:n},(0,oG.x$)(this._newModuleNameAndType),[l],{currentFromImport:t,originalModuleName:this._moduleName})}continue}if((0,aL.U7)(u)){if(this._textEditTracker.isNodeRemoved(u))continue;this._textEditTracker.addEditWithTextRange(e,d.range,this._newLastModuleName);continue}let p=(await this._getDeclarationsForNode(u)).filter(e=>(0,aF.D5)(e));if(this._onlyNameChanged){this._textEditTracker.addEditWithTextRange(e,d.range,this._newLastModuleName);continue}if(null==p?void 0:p.some(e=>!e.usesLocalName&&(!e.node||e.node.nodeType===aO.ye.ImportAs)&&!this._aliasIntroduced.has(e.node))){let t=(0,aL.W5)(u);if((null==(l=t.parent)?void 0:l.nodeType)!==aO.ye.MemberAccess){this._textEditTracker.addEditWithTextRange(e,t,this._newModuleName);continue}let i=await this._evaluator.getDeclInfoForNameNode(t.parent.d.member),r=null==i?void 0:i.decls;if(!r||0===r.length)continue;this._textEditTracker.addEditWithTextRange(e,t,this._newModuleName);continue}if(d.node.d.value!==this._newLastModuleName){this._textEditTracker.addEditWithTextRange(e,d.range,this._newLastModuleName);continue}}}_getNewRelativeModuleNamesForFileMoved(e,t){if(!e.equals(this._moduleUri))return[];let i="__init__"===e.fileNameWithoutExtensions,r=e.getDirectory(),n=[];for(let e of t){if(0===e.d.leadingDots)continue;let t=this._getNewModuleNameInfoForFileMoved(e,i,r);if(!t)continue;let a=(0,oG.eM)(this._program.fileSystem,t.src,t.dest,this._program.configOptions,!1,!0);a&&n.push({moduleName:e,newModuleName:a,itemsToMove:t.itemsToMove})}return n}_getNewModuleNameInfoForFileMoved(e,t,i){let r=(0,ax.en)(e);if(!r)return;let n=r.resolvedUris[r.resolvedUris.length-1];if(!n||n.isEmpty())if(0!==e.d.nameParts.length)return;else{let t=(0,oG._7)(i,e.d.leadingDots);if(!t)return;n=t.initPyUri}if(!this._moduleUri.equals(n)||!t)return{src:this._newModuleUri,dest:n};let a=[],s=[];for(let t of e.parent.d.imports)this._program.getParseResults(this._moduleUri)?a.push(t):s.push(t);return 0===s.length?{src:this._newModuleUri,dest:this._newModuleUri}:0===a.length?{src:this._newModuleUri,dest:this._moduleUri}:{src:this._newModuleUri,dest:this._moduleUri,itemsToMove:[...a]}}async _isExportedSymbol(e){let t=await this._evaluator.getDeclInfoForNameNode(e),i=null==t?void 0:t.decls;return!!i&&!i.some(e=>(0,aF.D5)(e)&&e.submoduleFallback)}_getNewModuleName(e,t,i){var r;let n=e.equals(this._moduleUri)?this._newModuleUri:e,a=t&&null!=(r=(0,oG.eM)(this._program.fileSystem,n,this._newModuleUri,this._program.configOptions,i,!0))?r:this._newModuleName;if(i&&a.endsWith(this._newLastModuleName)){let e=a===this._newLastModuleName?0:a.length>this._newLastModuleName.length+1?+("."!==a[a.length-this._newLastModuleName.length-2]):0,t=a.length-this._newLastModuleName.length-e,i=a.substr(0,t);return i.length>0?i:"."}return a}constructor(e,t,i,r,n,a,s,o,l,d){bW(this,"_program",void 0),bW(this,"_evaluator",void 0),bW(this,"_snapshot",void 0),bW(this,"_moduleUri",void 0),bW(this,"_newModuleUri",void 0),bW(this,"_moduleNameAndType",void 0),bW(this,"_newModuleNameAndType",void 0),bW(this,"_type",void 0),bW(this,"declarations",void 0),bW(this,"_token",void 0),bW(this,"_moduleNames",void 0),bW(this,"_newModuleNames",void 0),bW(this,"_onlyNameChanged",void 0),bW(this,"_aliasIntroduced",void 0),bW(this,"_textEditTracker",void 0),this._program=e,this._evaluator=t,this._snapshot=i,this._moduleUri=r,this._newModuleUri=n,this._moduleNameAndType=a,this._newModuleNameAndType=s,this._type=o,this.declarations=l,this._token=d,this._aliasIntroduced=new Set,this._textEditTracker=new wv.E,this._moduleNames=this._moduleName.split("."),this._newModuleNames=this._newModuleName.split("."),this._onlyNameChanged=(0,oG.L$)(this._moduleNames,this._newModuleNames),(0,n6.vA)(1!==this._type||this._onlyNameChanged,"We only support simple rename for folder")}}class bj extends aE.gw{walk(e){(0,aO.TE)(e)||super.walk(e)}visitModuleName(e){return this._result.push(e),!1}static collect(e){let t=new bj;return t.walk(e),t._result}constructor(...e){super(...e),bW(this,"_result",[])}}function bK(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class bV{static async canMoveSymbol(e,t,i){var r,n,a;let s=null==(r=(0,ax.R8)(i))?void 0:r.fileUri;if(!s||!(0,ae.WK)(e,s,!0))return{succeeded:!1,failedReason:iI.Refactoring.moveFileNotUserFile().format({name:s.fileName})};if((0,aN.$4)(i.d.value))return{succeeded:!1,failedReason:iI.Refactoring.moveFilePrivateSymbol().format({name:i.d.value})};let o=await t.lookUpSymbolRecursive(i,i.d.value,!1);if(void 0===o||o.scope.type!==dE.hB.Module)return{succeeded:!1,failedReason:iI.Refactoring.moveFileImportableOnly()};let l=o.symbol.getDeclarations();if(0===l.length)return{succeeded:!1,failedReason:iI.Refactoring.moveFileUnsupportedSymbol()};let d=new Set,u=!0;for(let e of l){if(!aB.vY.containsRange(e.node,i)){d.add(iI.Refactoring.moveFileMultipleDeclarations()),u=!1;continue}if(!((0,aF.vu)(e)||(0,aF.hw)(e))){if((0,aF.bC)(e)){if(await t.isExplicitTypeAliasDeclaration(e)){d.add(iI.Refactoring.moveFileSimpleAssignmentsOnly()),u=!1;continue}if(e.inferredTypeSource&&(0,aO.TE)(e.inferredTypeSource)){let i=await t.getType(e.inferredTypeSource);if((null==i?void 0:i.category)===aM.vb.TypeVar){d.add(iI.Refactoring.moveFileSimpleAssignmentsOnly()),u=!1;continue}}let i=(null==(n=e.node.parent)?void 0:n.nodeType)===aO.ye.TypeAnnotation?e.node.parent.parent:e.node.parent;if((null==i?void 0:i.nodeType)!==aO.ye.Assignment||(null==i||null==(a=i.parent)?void 0:a.nodeType)!==aO.ye.StatementList){d.add(iI.Refactoring.moveFileSimpleAssignmentsOnly()),u=!1;continue}e.node.start!==i.start&&(d.add(iI.Refactoring.moveFileSimpleAssignmentsOnly()),u=!1);continue}d.add(iI.Refactoring.moveFileUnsupportedSymbol()),u=!1}}return{succeeded:u,failedReason:[...d].join("\n")}}async moveSymbol(){var e,t,i;let r=this._fileUri.lastExtension,n=this._newFileUri.lastExtension;if(r.toLowerCase()!==n.toLowerCase())return{failedReason:iI.Refactoring.moveFileExtensionMismatch().format({src:this._fileUri.fileName,dest:this._newFileUri.fileName}),edits:null};if(!this._program.getSourceFileInfo(this._fileUri))return{failedReason:iI.Refactoring.moveFileMissingInfo().format({name:this._fileUri.fileName}),edits:null};if(this._fileUri.equals(this._newFileUri))return{failedReason:iI.Refactoring.moveFileSameFile(),edits:null};let a=this._program.getSourceFileInfo(this._newFileUri),s=this._program.getParseResults(this._fileUri);if(!s)return{failedReason:iI.Refactoring.moveFileMissingInfo().format({name:this._fileUri.fileName}),edits:null};let o=(0,aW.bt)(this._position,s.tokenizerOutput.lines);if(void 0===o)return{failedReason:iI.Refactoring.moveFileSymbolNotFound().format({position:`(${this._position.line}:${this._position.character})`}),edits:null};let l=(0,aL.gr)(s.parserOutput.parseTree,o);if(void 0===l||l.nodeType!==aO.ye.Name)return{failedReason:iI.Refactoring.moveFileSymbolNotFound().format({position:`(${this._position.line}:${this._position.character})`}),edits:null};let d=await bV.canMoveSymbol(this._program.configOptions,this._evaluator,l);if(!d.succeeded)return{failedReason:d.failedReason,edits:null};let u=await this._getDeclarationsForNode(l),p=await b$.createForSymbol(this._program,this._evaluator,this._snapshot,this._fileUri,this._newFileUri,u,this._token);if(!p){let e=this._getInvalidModuleNameUri();return e?{failedReason:iI.Refactoring.moveFileInvalidModuleName().format({name:e.fileName}),edits:null}:{failedReason:iI.Refactoring.moveFileAbsentSymbol(),edits:null}}await p.processModuleReferences(l.d.value,this._fileUri);let c=this._fileUri.lastExtension,h=p.declarations.find(e=>e.node&&e.uri.lastExtension===c);if(!h)return{failedReason:iI.Refactoring.moveFileAbsentSymbol(),edits:null};let m=this._getSymbolTextRange(s,h),y=null!=(e=await this._program.getPythonSearchPaths(this._snapshot,this._token))?e:[],g=new fz(this._program,y,this._snapshot,{usageKind:"move"});await g.collectImportsForSymbolsUsed(s.parserOutput,m,this._token);let f=0,v=0,_=new ol,T=this._program.getParseResults(this._newFileUri);if(T){let e=await p.tryGetFirstSymbolUsage(T.parserOutput);if(void 0===(f=await ot(this._evaluator,T,l.d.value,{symbolDeclToIgnore:h.uri,insertBefore:e})))return{failedReason:iI.Refactoring.moveFileInsertLocation().format({name:this._newFileUri.fileName}),edits:null};v=_.getModuleStatementIndentation(T)}let w=_.reindentSpan(s,m,v),b=this._getSymbolFullStatementTextRange(s,h);p.textEditTracker.addEdit(this._fileUri,(0,aW.oG)(aB.vY.combine([w.originalSpan,b]),s.tokenizerOutput.lines),"");let S=[],k=w.text;if(T){let e=(0,aW.oG)({start:f,length:0},T.tokenizerOutput.lines),t=this._getNumberOfBlankLinesToInsert(T,h,e.end);k="\n".repeat(t)+k,p.textEditTracker.addEdit(this._newFileUri,e,k)}else S.push({kind:"create",fileUri:this._newFileUri}),p.textEditTracker.addEdit(this._newFileUri,(0,aB.rV)(),k);let I=p.getEdits(),C=(0,fI.lq)(I.filter(e=>e.fileUri.equals(this._newFileUri)),null!=(t=null==T?void 0:T.tokenizerOutput.lines)?t:new bz.T([]),null!=(i=null==a?void 0:a.contents)?i:""),P=await this._tryGetTextAfterImportsAdded(this._newFileUri,g,f,C,this._token);return I=this._updateFileEditActions(I,this._newFileUri,T,C,P),{failedReason:"",edits:(0,fI.WN)(this._program.fileSystem,{edits:I,fileOperations:S})}}async _getDeclarationsForNode(e){var t;let i=await this._evaluator.getDeclInfoForNameNode(e);return null!=(t=null==i?void 0:i.decls)?t:[]}_getInvalidModuleNameUri(){for(let e of[this._fileUri,this._newFileUri]){let t=e.fileName,i=e.lastExtension;if(t&&i){let r=t.slice(0,-i.length);if(r&&!aU._.isPythonIdentifier(r))return e}}}_getSymbolTextRange(e,t){if((0,aF.bC)(t)){var i,r;let n=null!=(i=(0,aL.Ay)(t.node,aO.ye.Assignment))?i:t.node,a=(0,aL.Mh)(n,e),s=null!=(r=(0,aW.AP)(a,e.tokenizerOutput.lines))?r:n;if(void 0!==t.docString){let e=(0,aL.ef)(t.node);e&&(s=aB.vY.extend(s,e))}return s}return t.node}_getSymbolFullStatementTextRange(e,t){var i,r;let n=(0,aF.bC)(t)&&null!=(i=(0,aL.Ay)(t.node,aO.ye.Assignment))?i:t.node,a=(0,aL.Mh)(n,e,{includeTrailingBlankLines:!0});return null!=(r=(0,aW.AP)(a,e.tokenizerOutput.lines))?r:n}_updateFileEditActions(e,t,i,r,n){return void 0===n||r===n||(e=e.filter(e=>!e.fileUri.equals(t))).push({fileUri:t,range:i?(0,aW.oG)(i.parserOutput.parseTree,i.tokenizerOutput.lines):(0,aB.rV)(),replacementText:n}),e}async _tryGetTextAfterImportsAdded(e,t,i,r,n){var a,s;let o,l,d=".pyi"===e.lastExtension.toLowerCase(),{result:u}=(s=null!=(a=this._program.configOptions.getExecutionEnvironments().find(t=>!t.root||e.startsWith(t.root)))?a:this._program.configOptions.getDefaultExecEnvironment(),(o=new a$._B).isStubFile=d,o.pythonVersion=s.pythonVersion,l=new az.b9,{result:new a$.iX().parseSourceFile(r,o,l),diags:l.fetchAndClear()});try{let a=await t.applyImports(e,u,i,this._options.importFormat,n);return(0,fI.lq)(a,u.tokenizerOutput.lines,r)}catch{let a=this._program.getParseResults(e);if(!a)return;let s=await t.applyImports(e,a,i,this._options.importFormat,n);return(0,fI.lq)(s,a.tokenizerOutput.lines,r)}}_getNumberOfBlankLinesToInsert(e,t,i){let r;if(0===i.line&&0===i.character)return 0;let n=(0,aW.bt)(i,e.tokenizerOutput.lines);n&&e.parserOutput.parseTree.d.statements.length>0&&(r=e.parserOutput.parseTree.d.statements.reduce((e,t)=>n<t.start?e:t));let a=0;if(r)if((0,aF.bC)(t))switch(r.nodeType){case aO.ye.StatementList:a=0;break;case aO.ye.Class:case aO.ye.Function:a=2;break;default:a=1}else a=2;let s=a+=+(0!==i.character),o=0!==i.character?i.line:i.line-1;for(let t=0;t<s;t++){let i=o-t;if(i<0||!(0,aL.pB)(e.tokenizerOutput,e.text,i))break;a--}return a}constructor(e,t,i,r,n,a,s,o){bK(this,"_program",void 0),bK(this,"_evaluator",void 0),bK(this,"_snapshot",void 0),bK(this,"_fileUri",void 0),bK(this,"_newFileUri",void 0),bK(this,"_position",void 0),bK(this,"_options",void 0),bK(this,"_token",void 0),this._program=e,this._evaluator=t,this._snapshot=i,this._fileUri=r,this._newFileUri=n,this._position=a,this._options=s,this._token=o}}function bq(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let bG={treatModuleInImportAndFromImportSame:!0,skipUnreachableCode:!1,providers:[]};class bH{get lastModuleName(){return this._moduleNames[this._moduleNames.length-1]}get textEditTracker(){return this._textEditTracker}static createForModule(e,t,i,r,n){if(e.fileSystem.existsSync(t)){if((0,ah.fo)(e.fileSystem,t))return this._create(e,t,i,0,null!=n?n:nZ.CancellationToken.None,o9.Absolute,r);else if((0,ah.wd)(e.fileSystem,t)){if("Renamed"!==(0,ah.gT)(e.fileSystem,t,i))return;let r=t.initPyiUri;if(!e.fileSystem.existsSync(r)&&(r=t.initPyUri,!e.fileSystem.existsSync(r)))return;return this._create(e,r,i.combinePaths(r.fileName),1,null!=n?n:nZ.CancellationToken.None)}}}static createForSymbol(e,t,i,r,n,a){if(!e.fileSystem.existsSync(t))return;let s=r.filter(e=>(0,aF.hw)(e)||(0,aF.vu)(e)||(0,aF.bC)(e));if(0!==s.length)return this._create(e,t,i,2,s,n,void 0,a)}getEdits(){return this._textEditTracker.getEdits(this._token)}tryGetFirstSymbolUsage(e,t){var i,r,n;let a=null!=(i=null!=(r=null==t?void 0:t.name)?r:(0,aA.eE)(this.declarations[0]))?i:"";for(let i of new sW.tN(this._program,[a],null!=(n=null==t?void 0:t.decls)?n:this.declarations,e.parseTree,this._token,bG).collect().sort((e,t)=>e.range.start-t.range.start))if(!((0,aL.TS)(i.node)||(0,aL.ay)(i.node)||(0,aL.Z7)(i.node)||(0,aL.t3)(i.node)||(0,aL.U7)(i.node)))return i.range.start}processModuleReferences(e,t){for(let r of this._program.getSourceFileInfoList()){var i;if(!(0,aR.xX)(r))continue;let n=r.uri,a=null!=(i=r.contents)?i:"";if(!n.equals(t)&&0>a.indexOf(e))continue;let s=this._program.getParseResults(r.uri);s&&(this._renameReferences(s),this._program.handleMemoryHighUsage())}}get _moduleName(){return this._moduleNameAndType.moduleName}get _newLastModuleName(){return this._newModuleNames[this._newModuleNames.length-1]}get _newModuleName(){return this._newModuleNameAndType.moduleName}get _evaluator(){return this._program.evaluator}static _create(e,t,i,r,n,a=o9.Absolute,s,o){let l=e.configOptions,d=e.importResolver,u=l.findExecEnvironment(t),p=d.getModuleNameForImport(t,u);if(!p.moduleName)return;let c=d.getModuleNameForImport(i,u);if(!c.moduleName)return;o=nZ.CancellationToken.is(n)?n:o;let h=nZ.CancellationToken.is(n)?[]:n;return 0===h.length&&(h.push((0,aA.HV)(t)),(0,cu.x)(t)&&(d.resolveImport(t,u,(0,au.K6)(p.moduleName)),d.getSourceFilesFromStub(t,u,!1).forEach(e=>h.push((0,aA.HV)(e))))),new bH(e,t,i,p,c,r,h,a,s,o)}_renameReferences(e){switch(this._type){case 1:return this._renameFolderReferences(e);case 0:return this._renameModuleReferences(e);case 2:return this._updateSymbolReferences(e);default:return(0,n6.xb)(this._type,`${this._type} is unknown`)}}_updateSymbolReferences(e){let t=(0,ax.R8)(e.parserOutput.parseTree).fileUri,i=t.equals(this._moduleUri),r=new sW.tN(this._program,[(0,aA.eE)(this.declarations[0])||""],this.declarations,e.parserOutput.parseTree,this._token,bG),n=(0,oG.AG)(e.parserOutput.parseTree,!0),a=n.orderedImports.find(e=>e.moduleName===this._newModuleName),s=!1,o=new Map,l=new Map;for(let t of r.collect()){let r=t.node;if(r.nodeType===aO.ye.String){i&&this._textEditTracker.addEditWithTextRange(e,r,"");continue}if((0,aL.t3)(r)){this._updateNameInFromImportForSymbolReferences(e,n,r);continue}s||(s=!i||!this.declarations.some(e=>aB.vY.containsRange(e.node,r)));let a=(0,aL.W5)(r);if(a===r||a.nodeType!==aO.ye.MemberAccess){this._collectWildcardImports(r,o);continue}this._collectSymbolReferencesPerImports(a,l)}if(i&&s){let i=this._importFormat===o9.Relative,r=(null==a?void 0:a.node.nodeType)===aO.ye.ImportFrom?this._getNewModuleName(t,a.node.d.module.d.leadingDots>0,!1):i?this._getNewModuleName(t,!0,!1):this._newModuleName,s=(null==a?void 0:a.node.nodeType)===aO.ye.ImportFrom?{currentFromImport:a.node,originalModuleName:this._moduleName}:void 0;this._textEditTracker.addOrUpdateImport(e,n,{name:this._newModuleName,nameForImportFrom:r},(0,oG.x$)(this._newModuleNameAndType),[{name:(0,aA.eE)(this.declarations[0])}],s)}this._processSymbolReferenceOffWildcardImports(e,n,o),this._processSymbolReferenceOffImports(e,n,a,l)}_processSymbolReferenceOffImports(e,t,i,r){let n=(0,ax.R8)(e.parserOutput.parseTree).fileUri;if(n.equals(this._newModuleUri)){for(let[t,i]of r)for(let r of(this._canReplaceImportName(e.parserOutput,t,i)&&this._textEditTracker.deleteImportName(e,t),i))this._textEditTracker.addEditWithTextRange(e,aB.vY.fromBounds(r.start,r.d.member.start),"");return}for(let[a,s]of r){let r;if(this._canReplaceImportName(e.parserOutput,a,s)){let s=this._getReferenceModuleName(t,i);if(a.nodeType===aO.ye.ImportAs)s?(r=s,this._textEditTracker.deleteImportName(e,a)):(r=a.d.alias?a.d.alias.d.value:this._newModuleName,this._textEditTracker.addEditWithTextRange(e,a.d.module,this._newModuleName));else if(s)r=s,this._textEditTracker.deleteImportName(e,a);else{let t=a.parent,i=this._getNewModuleName(n,t.d.module.d.leadingDots>0,!0);r=a.d.alias?a.d.alias.d.value:this._newLastModuleName,this._textEditTracker.addEditWithTextRange(e,t.d.module,i),this._textEditTracker.addEditWithTextRange(e,a.d.name,this._newLastModuleName)}}else{let n=this._getReferenceModuleName(t,i);n?r=n:(r=this._newModuleName,this._textEditTracker.addOrUpdateImport(e,t,{name:this._newModuleName},(0,oG.x$)(this._newModuleNameAndType)))}for(let t of s)this._textEditTracker.addEditWithTextRange(e,t.d.leftExpr,r)}}_processSymbolReferenceOffWildcardImports(e,t,i){let r=(0,ax.R8)(e.parserOutput.parseTree).fileUri;if(!r.equals(this._newModuleUri))for(let[n,a]of i){let i=this._getNewModuleName(r,n.d.module.d.leadingDots>0,!1);this._textEditTracker.addOrUpdateImport(e,t,{name:this._newModuleName,nameForImportFrom:i},(0,oG.x$)(this._newModuleNameAndType),[...a].map(e=>({name:e})),{currentFromImport:n,originalModuleName:this._moduleName})}}_collectSymbolReferencesPerImports(e,t){var i,r;let n=e.d.leftExpr.nodeType===aO.ye.MemberAccess?e.d.leftExpr.d.member:e.d.leftExpr.nodeType===aO.ye.Name?e.d.leftExpr:void 0;if(!n)return;let a=null==(r=this._evaluator.getDeclInfoForNameNode(n))||null==(i=r.decls)?void 0:i.filter(e=>(0,aF.D5)(e)&&(e.node.nodeType===aO.ye.ImportAs||e.node.nodeType===aO.ye.ImportFromAs));if(!a||0===a.length)return;let s=a[0].node;(0,ap.PD)(t,s,()=>[]).push(e)}_collectWildcardImports(e,t){var i;let r=null==(i=this._evaluator.getDeclInfoForNameNode(e))?void 0:i.decls,n=null==r?void 0:r.find(e=>e.node.nodeType===aO.ye.ImportFrom&&e.node.d.isWildcardImport);n&&(0,aF.D5)(n)&&(0,ap.PD)(t,n.node,()=>new Set).add(e.d.value)}_updateNameInFromImportForSymbolReferences(e,t,i){var r;let n=(0,ax.R8)(e.parserOutput.parseTree).fileUri,a=n.equals(this._newModuleUri),s=i.parent,o=null==s?void 0:s.parent,l=this._getNewModuleName(n,o.d.module.d.leadingDots>0,!1);if(a)return void this._textEditTracker.deleteImportName(e,s);if(1===o.d.imports.length)return void this._textEditTracker.addEditWithTextRange(e,o.d.module,l);this._textEditTracker.deleteImportName(e,s);let d={name:s.d.name.d.value,alias:null==(r=s.d.alias)?void 0:r.d.value};this._textEditTracker.addOrUpdateImport(e,t,{name:this._newModuleName,nameForImportFrom:l},(0,oG.x$)(this._newModuleNameAndType),[d],{currentFromImport:o,originalModuleName:this._moduleName})}_getReferenceModuleName(e,t){var i,r;if(t&&t.node.nodeType===aO.ye.Import)return(null==(r=t.subnode)?void 0:r.d.alias)?t.subnode.d.alias.d.value:this._newModuleName;if(null==(i=e.implicitImports)?void 0:i.has(this._newModuleUri.key)){let t=e.implicitImports.get(this._newModuleUri.key);return t.d.alias?t.d.alias.d.value:t.d.name.d.value}}_canReplaceImportName(e,t,i){var r;let n=null!=(r=t.d.alias)?r:t.nodeType===aO.ye.ImportAs?t.d.module.d.nameParts[t.d.module.d.nameParts.length-1]:t.d.name,a=sW.tN.getDeclarationsForNode(this._program,n,this._token,{resolveLocalNames:!1});if(0===a.length)return!1;for(let t of new sW.tN(this._program,[n.d.value],a,e.parseTree,this._token,bG).collect())if(!((0,aL.TS)(t.node)||(0,aL.ay)(t.node)||(0,aL.Z7)(t.node)||(0,aL.t3)(t.node)||(0,aL.U7)(t.node))&&!i.some(e=>aB.vY.containsRange(e,t.node)))return!1;return!0}_renameFolderReferences(e){for(let t of new sW.tN(this._program,[this.lastModuleName],this.declarations,e.parserOutput.parseTree,this._token,bG).collect())this._textEditTracker.addEditWithTextRange(e,t.range,this._newLastModuleName)}_renameModuleReferences(e){let t=new sW.tN(this._program,[this.lastModuleName],this.declarations,e.parserOutput.parseTree,this._token,bG).collect();this._updateModuleReferences(e,t),this._updateRelativeModuleNamePath(e,t)}_updateRelativeModuleNamePath(e,t){let i,r=(0,ax.R8)(e.parserOutput.parseTree).fileUri;if(r.equals(this._moduleUri))for(let n of this._getNewRelativeModuleNamesForFileMoved(r,bJ.collect(e.parserOutput.parseTree).filter(e=>!t.some(t=>aB.vY.containsRange(e.parent,t.node))))){if(this._textEditTracker.addEditWithTextRange(e,n.moduleName,n.newModuleName),!n.itemsToMove)continue;let t=n.moduleName.parent;for(let t of n.itemsToMove)this._textEditTracker.deleteImportName(e,t);i=null!=i?i:(0,oG.AG)(e.parserOutput.parseTree,!1),this._textEditTracker.addOrUpdateImport(e,i,{name:this._newModuleName,nameForImportFrom:(0,oG.eM)(this._program.fileSystem,this._newModuleUri,this._newModuleUri,this._program.configOptions,!1,!0)},(0,oG.x$)(this._newModuleNameAndType),n.itemsToMove.map(e=>{var t;return{name:e.d.name.d.value,alias:null==(t=e.d.alias)?void 0:t.d.value}}),{currentFromImport:t,originalModuleName:this._moduleName})}}_updateModuleReferences(e,t){let i,r=(0,ax.R8)(e.parserOutput.parseTree).fileUri;for(let u of t){var n,a,s,o,l,d;let p=u.node;if(p.nodeType===aO.ye.String){this._textEditTracker.addEditWithTextRange(e,u.range,this._newLastModuleName);continue}if((0,aL.TS)(p)){if(!(0,aL.Er)(p))continue;let t=(0,aL.Ay)(p,aO.ye.ModuleName);if(1===t.d.nameParts.length&&(null==(n=t.parent)?void 0:n.nodeType)===aO.ye.ImportAs&&!t.parent.d.alias&&this._newModuleNames.length>1){this._aliasIntroduced.add(t.parent),this._textEditTracker.addEditWithTextRange(e,t,`${this._newModuleName} as ${this._newLastModuleName}`);continue}this._textEditTracker.addEditWithTextRange(e,t,this._newModuleName);continue}if((0,aL.ay)(p)){this._textEditTracker.addEditWithTextRange(e,u.range,this._newLastModuleName);continue}if((0,aL.Z7)(p)){if(!(0,aL.Er)(p))continue;let n=(0,aL.Ay)(p,aO.ye.ModuleName),a=n.parent,s=[],o=[];for(let e of a.d.imports)this._isExportedSymbol(e.d.name)?s.push(e):o.push(e);if(0===o.length){this._textEditTracker.addEditWithTextRange(e,n,this._getNewModuleName(r,n.d.leadingDots>0,!1));continue}if(0===s.length)continue;if(a.d.module.d.leadingDots>0)for(let t of this._getNewRelativeModuleNamesForFileMoved(r,[a.d.module]))this._textEditTracker.addEditWithTextRange(e,t.moduleName,t.newModuleName);for(let t of s)this._textEditTracker.deleteImportName(e,t);i=null!=i?i:(0,oG.AG)(e.parserOutput.parseTree,!1),this._textEditTracker.addOrUpdateImport(e,i,{name:this._newModuleName},(0,oG.x$)(this._newModuleNameAndType),s.map(e=>{var i;return{name:t.findIndex(t=>t.node===e.d.name)>=0?this._newLastModuleName:e.d.name.d.value,alias:t.findIndex(t=>t.node===e.d.alias)>=0?this._newLastModuleName:null==(i=e.d.alias)?void 0:i.d.value}}),{currentFromImport:a,originalModuleName:this._moduleName});continue}if((0,aL.t3)(p)){if(this._textEditTracker.isNodeRemoved(p))continue;let t=null==(a=p.parent)?void 0:a.parent,n=this._getNewModuleName(r,t.d.module.d.leadingDots>0,!0);if(this._isExportedSymbol(p)){this._textEditTracker.addEditWithTextRange(e,u.range,this._newLastModuleName);continue}if(1===t.d.imports.length)this._textEditTracker.addEditWithTextRange(e,t.d.module,n),this._textEditTracker.addEditWithTextRange(e,u.range,this._newLastModuleName);else{let a=p.parent;if(t.d.module.d.leadingDots>0)for(let i of this._getNewRelativeModuleNamesForFileMoved(r,[t.d.module]))this._textEditTracker.addEditWithTextRange(e,i.moduleName,i.newModuleName);this._textEditTracker.deleteImportName(e,a),i=null!=i?i:(0,oG.AG)(e.parserOutput.parseTree,!1);let l={name:this._newLastModuleName,alias:(null==(s=a.d.alias)?void 0:s.d.value)===this.lastModuleName?this._newLastModuleName:null==(o=a.d.alias)?void 0:o.d.value};this._textEditTracker.addOrUpdateImport(e,i,{name:this._newModuleName,nameForImportFrom:n},(0,oG.x$)(this._newModuleNameAndType),[l],{currentFromImport:t,originalModuleName:this._moduleName})}continue}if((0,aL.U7)(p)){if(this._textEditTracker.isNodeRemoved(p))continue;this._textEditTracker.addEditWithTextRange(e,u.range,this._newLastModuleName);continue}let c=sW.tN.getDeclarationsForNode(this._program,p,this._token,{resolveLocalNames:!1}).filter(e=>(0,aF.D5)(e));if(this._onlyNameChanged){this._textEditTracker.addEditWithTextRange(e,u.range,this._newLastModuleName);continue}if(null==c?void 0:c.some(e=>!e.usesLocalName&&(!e.node||e.node.nodeType===aO.ye.ImportAs)&&!this._aliasIntroduced.has(e.node))){let t=(0,aL.W5)(p);if((null==(l=t.parent)?void 0:l.nodeType)!==aO.ye.MemberAccess){this._textEditTracker.addEditWithTextRange(e,t,this._newModuleName);continue}let i=null==(d=this._evaluator.getDeclInfoForNameNode(t.parent.d.member))?void 0:d.decls;if(!i||0===i.length)continue;this._textEditTracker.addEditWithTextRange(e,t,this._newModuleName);continue}if(u.node.d.value!==this._newLastModuleName){this._textEditTracker.addEditWithTextRange(e,u.range,this._newLastModuleName);continue}}}_getNewRelativeModuleNamesForFileMoved(e,t){if(!e.equals(this._moduleUri))return[];let i="__init__"===e.fileNameWithoutExtensions,r=e.getDirectory(),n=[];for(let e of t){if(0===e.d.leadingDots)continue;let t=this._getNewModuleNameInfoForFileMoved(e,i,r);if(!t)continue;let a=(0,oG.eM)(this._program.fileSystem,t.src,t.dest,this._program.configOptions,!1,!0);a&&n.push({moduleName:e,newModuleName:a,itemsToMove:t.itemsToMove})}return n}_getNewModuleNameInfoForFileMoved(e,t,i){let r=(0,ax.en)(e);if(!r)return;let n=r.resolvedUris[r.resolvedUris.length-1];if(!n||n.isEmpty())if(0!==e.d.nameParts.length)return;else{let t=(0,oG._7)(i,e.d.leadingDots);if(!t)return;n=t.initPyUri}if(!this._moduleUri.equals(n)||!t){let e=this._relocatedFiles.get(n.key);return{src:this._newModuleUri,dest:null!=e?e:n}}let a=[],s=[];for(let t of e.parent.d.imports)this._isExportedSymbol(t.d.name)?a.push(t):s.push(t);return 0===s.length?{src:this._newModuleUri,dest:this._newModuleUri}:0===a.length?{src:this._newModuleUri,dest:this._moduleUri}:{src:this._newModuleUri,dest:this._moduleUri,itemsToMove:[...a]}}_isExportedSymbol(e){var t;let i=null==(t=this._evaluator.getDeclInfoForNameNode(e))?void 0:t.decls;return!!i&&!i.some(e=>(0,aF.D5)(e)&&e.submoduleFallback)}_getNewModuleName(e,t,i){var r;let n=this._relocatedFiles.get(e.key),a=e.equals(this._moduleUri)&&2!==this._type?this._newModuleUri:null!=n?n:e,s=t&&null!=(r=(0,oG.eM)(this._program.fileSystem,a,this._newModuleUri,this._program.configOptions,i,!0))?r:this._newModuleName;if(i&&s.endsWith(this._newLastModuleName)){let e=s===this._newLastModuleName?0:s.length>this._newLastModuleName.length+1?+("."!==s[s.length-this._newLastModuleName.length-2]):0,t=s.length-this._newLastModuleName.length-e,i=s.substr(0,t);return i.length>0?i:"."}return s}constructor(e,t,i,r,n,a,s,o,l,d){bq(this,"_program",void 0),bq(this,"_moduleUri",void 0),bq(this,"_newModuleUri",void 0),bq(this,"_moduleNameAndType",void 0),bq(this,"_newModuleNameAndType",void 0),bq(this,"_type",void 0),bq(this,"declarations",void 0),bq(this,"_importFormat",void 0),bq(this,"_token",void 0),bq(this,"_moduleNames",void 0),bq(this,"_newModuleNames",void 0),bq(this,"_onlyNameChanged",void 0),bq(this,"_aliasIntroduced",void 0),bq(this,"_textEditTracker",void 0),bq(this,"_relocatedFiles",void 0),this._program=e,this._moduleUri=t,this._newModuleUri=i,this._moduleNameAndType=r,this._newModuleNameAndType=n,this._type=a,this.declarations=s,this._importFormat=o,this._token=d,this._aliasIntroduced=new Set,this._textEditTracker=new wv.E,this._moduleNames=this._moduleName.split("."),this._newModuleNames=this._newModuleName.split("."),this._relocatedFiles=null!=l?l:new Map,this._onlyNameChanged=(0,oG.L$)(this._moduleNames,this._newModuleNames),(0,n6.vA)(1!==this._type||this._onlyNameChanged,"We only support simple rename for folder")}}class bJ extends aE.gw{walk(e){(0,aO.TE)(e)||super.walk(e)}visitModuleName(e){return this._result.push(e),!1}static collect(e){let t=new bJ;return t.walk(e),t._result}constructor(...e){super(...e),bq(this,"_result",[])}}function bY(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class bQ{static canMoveSymbol(e,t,i){var r;let n=null==(r=(0,ax.R8)(i))?void 0:r.fileUri;if(!n||!(0,ae.WK)(e,n,!0))return{succeeded:!1,failedReason:iI.Refactoring.moveFileNotUserFile().format({name:n.fileName})};if((0,aN.$4)(i.d.value))return{succeeded:!1,failedReason:iI.Refactoring.moveFilePrivateSymbol().format({name:i.d.value})};let a=t.lookUpSymbolRecursive(i,i.d.value,!1);if(void 0===a||a.scope.type!==dE.hB.Module)return{succeeded:!1,failedReason:iI.Refactoring.moveFileImportableOnly()};let s=a.symbol.getDeclarations();if(0===s.length)return{succeeded:!1,failedReason:iI.Refactoring.moveFileUnsupportedSymbol()};let o=new Set;return{succeeded:s.every(e=>{if(!aB.vY.containsRange(e.node,i))return o.add(iI.Refactoring.moveFileMultipleDeclarations()),!1;if((0,aF.vu)(e)||(0,aF.hw)(e))return!0;if((0,aF.bC)(e)){var r,n;if(t.isExplicitTypeAliasDeclaration(e))return o.add(iI.Refactoring.moveFileSimpleAssignmentsOnly()),!1;if(e.inferredTypeSource&&(0,aO.TE)(e.inferredTypeSource)){let i=t.getType(e.inferredTypeSource);if((null==i?void 0:i.category)===aM.vb.TypeVar)return o.add(iI.Refactoring.moveFileSimpleAssignmentsOnly()),!1}let i=(null==(r=e.node.parent)?void 0:r.nodeType)===aO.ye.TypeAnnotation?e.node.parent.parent:e.node.parent;return(null==i?void 0:i.nodeType)===aO.ye.Assignment&&(null==i||null==(n=i.parent)?void 0:n.nodeType)===aO.ye.StatementList&&e.node.start===i.start||(o.add(iI.Refactoring.moveFileSimpleAssignmentsOnly()),!1)}return o.add(iI.Refactoring.moveFileUnsupportedSymbol()),!1}),failedReason:[...o].join("\n")}}moveSymbol(){var e,t,i,r,n;let a=this._fileUri.lastExtension,s=this._newFileUri.lastExtension;if(a.toLowerCase()!==s.toLowerCase())return{failedReason:iI.Refactoring.moveFileExtensionMismatch().format({src:this._fileUri.fileName,dest:this._newFileUri.fileName}),edits:null};let o=this._program.getSourceFileInfo(this._fileUri);if(!o)return{failedReason:iI.Refactoring.moveFileMissingInfo().format({name:this._fileUri.fileName}),edits:null};let l=this._program.getSourceFileInfo(this._newFileUri);if(o===l)return{failedReason:iI.Refactoring.moveFileSameFile(),edits:null};let d=this._program.getParseResults(this._fileUri);if(!d)return{failedReason:iI.Refactoring.moveFileMissingInfo().format({name:this._fileUri.fileName}),edits:null};let u=(0,aW.bt)(this._position,d.tokenizerOutput.lines);if(void 0===u)return{failedReason:iI.Refactoring.moveFileSymbolNotFound().format({position:`(${this._position.line}:${this._position.character})`}),edits:null};let p=(0,aL.gr)(d.parserOutput.parseTree,u);if(void 0===p||p.nodeType!==aO.ye.Name)return{failedReason:iI.Refactoring.moveFileSymbolNotFound().format({position:`(${this._position.line}:${this._position.character})`}),edits:null};let c=bQ.canMoveSymbol(this._program.configOptions,this._evaluator,p);if(!c.succeeded)return{failedReason:c.failedReason,edits:null};let h=sW.tN.getDeclarationsForNode(this._program,p,this._token,{resolveLocalNames:!1}),m=bH.createForSymbol(this._program,this._fileUri,this._newFileUri,h,this._options.importFormat,this._token);if(!m){let e=this._getInvalidModuleNameUri();return e?{failedReason:iI.Refactoring.moveFileInvalidModuleName().format({name:e.fileName}),edits:null}:{failedReason:iI.Refactoring.moveFileAbsentSymbol(),edits:null}}m.processModuleReferences(p.d.value,this._fileUri);let y=m.declarations.find(e=>e.node&&e.uri.lastExtension===a);if(!y)return{failedReason:iI.Refactoring.moveFileAbsentSymbol(),edits:null};let g=this._getSymbolTextRange(d,y),f=new fV(this._program,{usageKind:"move"}),v=f.collectImportsForSymbolsUsed(d.parserOutput,g,this._token),_=0,T=0,w=new ol,b=this._program.getParseResults(this._newFileUri);if(b){let e=m.tryGetFirstSymbolUsage(b.parserOutput);if(i=this._evaluator,r=p.d.value,(n=n={symbolDeclToIgnore:y.uri,insertBefore:e}).container=b.parserOutput.parseTree,void 0===(_=function(e,t,i,r){var n,a,s,o,l;let d=null!=(n=null==r?void 0:r.container)?n:t.parserOutput.parseTree,u=d.nodeType===aO.ye.Module?d.d.statements:d.d.suite.d.statements,p=on(t,d);if(0===u.length)return(0,n2.x7)(t.text)?0:p;let c=(0,ax.Xf)(d);if(!c)return p;let h=(0,ax.R8)(d),m=c.lookUpSymbolRecursive(i);if(m&&(o=m.symbol.getDeclarations(),l=h.fileUri,o.filter(t=>{let i=e.resolveAliasDeclaration(t,!0,{allowExternallyHiddenAccess:!0});if(!i||(null==r?void 0:r.symbolDeclToIgnore)&&i.uri.equals(r.symbolDeclToIgnore))return!1;if(t.type===aF.h3.Alias){let e=(0,aA.Je)(t);return!!e&&(0,ax.R8)(e).fileUri.equals(l)}return i.uri.equals(l)})).length>0)return;let y=null!=(a=null==r?void 0:r.insertBefore)?a:p;if((0,aN.$4)(i))return Math.max(0,y);if(y<aB.vY.getEnd(u[0]))return Math.max(0,Math.min(y,u[0].start));let g=os(u,null!=(s=null==r?void 0:r.insertBefore)?s:p),f=(0,aW.l8)(aB.vY.getEnd(g),t.tokenizerOutput.lines);return(0,aW.bH)(t.tokenizerOutput,t.text,f.line)}(i,b,r,n)))return{failedReason:iI.Refactoring.moveFileInsertLocation().format({name:this._newFileUri.fileName}),edits:null};T=w.getModuleStatementIndentation(b)}let S=w.reindentSpan(d,g,T),k=this._getSymbolFullStatementTextRange(d,y);m.textEditTracker.addEdit(this._fileUri,(0,aW.oG)(aB.vY.combine([S.originalSpan,k]),d.tokenizerOutput.lines),"");let I=[],C=S.text;if(b){let e=(0,aW.oG)({start:_,length:0},b.tokenizerOutput.lines),t=this._getNumberOfBlankLinesToInsert(b,y,e.end);C="\n".repeat(t)+C,m.textEditTracker.addEdit(this._newFileUri,e,C)}else I.push({kind:"create",fileUri:this._newFileUri}),m.textEditTracker.addEdit(this._newFileUri,(0,aB.rV)(),C);let P=this._program.clone(),x=m.getEdits(),F=(0,fI.lq)(x.filter(e=>e.fileUri.equals(this._newFileUri)),null!=(e=null==b?void 0:b.tokenizerOutput.lines)?e:new bz.T([]),null!=(t=null==l?void 0:l.contents)?t:"");this._updateFileContent(P,this._newFileUri,F);let A=this._tryGetTextAfterImportsAdded(P,this._newFileUri,f,_,this._token);x=this._updateFileEditActions(x,this._newFileUri,b,F,A);let D=(0,fI.lq)(x.filter(e=>e.fileUri.equals(this._fileUri)),d.tokenizerOutput.lines,o.contents);this._updateFileContent(P,this._fileUri,D);let E=this._tryGetTextAfterUnusedImportsRemoved(P,this._fileUri,v,0,this._token);return x=this._updateFileEditActions(x,this._fileUri,d,D,E),P.dispose(),{failedReason:"",edits:(0,fI.WN)(this._program.fileSystem,{edits:x,fileOperations:I})}}get _evaluator(){return this._program.evaluator}_getInvalidModuleNameUri(){for(let e of[this._fileUri,this._newFileUri]){let t=e.fileName,i=e.lastExtension;if(t&&i){let r=t.slice(0,-i.length);if(r&&!aU._.isPythonIdentifier(r))return e}}}_getSymbolTextRange(e,t){if((0,aF.bC)(t)){var i,r;let n=null!=(i=(0,aL.Ay)(t.node,aO.ye.Assignment))?i:t.node,a=(0,aL.Mh)(n,e),s=null!=(r=(0,aW.AP)(a,e.tokenizerOutput.lines))?r:n;if(void 0!==t.docString){let e=(0,aL.ef)(t.node);e&&(s=aB.vY.extend(s,e))}return s}return t.node}_getSymbolFullStatementTextRange(e,t){var i,r;let n=(0,aF.bC)(t)&&null!=(i=(0,aL.Ay)(t.node,aO.ye.Assignment))?i:t.node,a=(0,aL.Mh)(n,e,{includeTrailingBlankLines:!0});return null!=(r=(0,aW.AP)(a,e.tokenizerOutput.lines))?r:n}_updateFileEditActions(e,t,i,r,n){return void 0===n||r===n||(e=e.filter(e=>!e.fileUri.equals(t))).push({fileUri:t,range:i?(0,aW.oG)(i.parserOutput.parseTree,i.tokenizerOutput.lines):(0,aB.rV)(),replacementText:n}),e}_tryGetTextAfterImportsAdded(e,t,i,r,n){let a=e.getBoundSourceFile(t),s=null==a?void 0:a.getParseResults();if(!s)return;let o=i.applyImports(t,s,r,this._options.importFormat,n);return(0,fI.lq)(o,s.tokenizerOutput.lines,a.getFileContent())}_tryGetTextAfterUnusedImportsRemoved(e,t,i,r,n){(0,n8.Lj)(n),e.analyzeFile(t,n);let a=e.getBoundSourceFile(t),s=null==a?void 0:a.getParseResults();if(!s)return;let o=new wv.E,l=(0,aW.oG)(s.parserOutput.parseTree,s.tokenizerOutput.lines);for(let r of be(e.getDiagnosticsForRange(t,l))){var d;let e=(0,aL.cd)(s.parserOutput.parseTree,r.range.start,s.tokenizerOutput.lines);if((null==e?void 0:e.nodeType)!==aO.ye.Name)continue;let t=(null==(d=e.parent)?void 0:d.nodeType)===aO.ye.ModuleName?e.parent.d.nameParts:[e];for(let[r,n]of i.declarations){if(r.node&&aB.vY.containsRange(r.node,e)){o.removeNodes({node:e,parseFileResults:s});break}let i=(0,aL.gt)((0,aL.W5)(n[0]));if(i&&(0,ap.ng)(t,i,(e,t)=>e.d.value===t.d.value)){o.removeNodes({node:e,parseFileResults:s});break}}}let u=a.getFileContent(),p=(0,fI.lq)(o.getEdits(n).filter(e=>e.fileUri.equals(t)),s.tokenizerOutput.lines,u);return r>10||u===p?p:(this._updateFileContent(e,t,p),this._tryGetTextAfterUnusedImportsRemoved(e,t,i,r+1,n))}_updateFileContent(e,t,i){var r,n;let a=e.getSourceFileInfo(t),s=a?(null!=(r=a.sourceFile.getClientVersion())?r:0)+1:0,o=a?null==(n=a.chainedSourceFile)?void 0:n.uri:void 0,l=a?a.ipythonMode:sA.Bk.None,d=!a||a.isTracked;e.setFileOpened(t,s,i,{chainedFileUri:o,ipythonMode:l,isTracked:d})}_getNumberOfBlankLinesToInsert(e,t,i){let r;if(0===i.line&&0===i.character)return 0;let n=(0,aW.bt)(i,e.tokenizerOutput.lines);n&&e.parserOutput.parseTree.d.statements.length>0&&(r=e.parserOutput.parseTree.d.statements.reduce((e,t)=>n<t.start?e:t));let a=0;if(r)if((0,aF.bC)(t))switch(r.nodeType){case aO.ye.StatementList:a=0;break;case aO.ye.Class:case aO.ye.Function:a=2;break;default:a=1}else a=2;let s=a+=+(0!==i.character),o=0!==i.character?i.line:i.line-1;for(let t=0;t<s;t++){let i=o-t;if(i<0||!(0,aL.pB)(e.tokenizerOutput,e.text,i))break;a--}return a}constructor(e,t,i,r,n,a){bY(this,"_program",void 0),bY(this,"_fileUri",void 0),bY(this,"_newFileUri",void 0),bY(this,"_position",void 0),bY(this,"_options",void 0),bY(this,"_token",void 0),this._program=e,this._fileUri=t,this._newFileUri=i,this._position=r,this._options=n,this._token=a}}class bX{get isLongRunning(){return!0}get isRefactoringCommand(){return!0}execute(e,t,i){var r;if((0,n8.Lj)(i),t.command!==s0.moveSymbol||(null==(r=t.arguments)?void 0:r.length)!==4)return;let n=n4.z.parse(t.arguments[0],this._ls.serviceProvider),a=t.arguments[2],s=t.arguments[3];i=s?new n8.bq(s,e.service.fs):i;let o=this._getDestinationFile(e,n,t.arguments[1],a.start,i);if(!o)return;let l=this._moveSymbolToFile(e,n,o,a.start,i);return null===l.edits&&l.failedReason&&this._ls.window.showErrorMessage(l.failedReason),l.edits}getFile(e){var t;if((null==(t=e.arguments)?void 0:t.length)===4)return e.arguments[0]}async executeAsync(e,t,i){var r,n;if((0,n8.Lj)(i),t.command!==s0.moveSymbol||(null==(n=t.arguments)?void 0:n.length)!==4)return;let a=n4.z.parse(t.arguments[0],this._ls.serviceProvider),s=t.arguments[2],o=t.arguments[3],l=o?new n8.bq(o,e.service.fs):i,d=e.service.asyncProgram;if(!d)return;let u=this._getDestinationFile(e,a,t.arguments[1],s.start,l);if(!u)return;let p=await d.getSnapshot(l),c=d.getEvaluator(p),h=await new bV(d,c,p,a,u,s.start,{importFormat:null!=(r=e.importFormat)?r:o9.Absolute},l).moveSymbol();return null===h.edits&&h.failedReason&&this._ls.window.showErrorMessage(h.failedReason),h.edits}_getDestinationFile(e,t,i,r,n){if("*** new file ***"!==i)return n4.z.parse(i,this._ls.serviceProvider);let a=e.service.getParseResults(t);if(!a)return;let s=(0,aW.bt)(r,a.tokenizerOutput.lines);if(void 0===s)return;let o=(0,aL.gr)(a.parserOutput.parseTree,s);if(void 0===o||o.nodeType!==aO.ye.Name)return;let l=t.getDirectory(),d=t.lastExtension;return function(e,t,i){let r=t.getDirectory(),n=t.fileNameWithoutExtensions,a=t.lastExtension,s=e.service.getConfigOptions(),o=t,l=1,d=(0,ae.WK)(s,t,!0);for(;!function(e,t,i){if(e.service.hasSourceFile(t)||e.service.fs.existsSync(t))return!1;let r=e.service.getConfigOptions();return!i||(0,ae.WK)(r,t,!0)}(e,o,d);)(0,n8.Lj)(i),o=r.combinePaths(`${n}_${l++}${a}`),d=l<=100&&d;return o}(e,l.combinePaths(`${o.d.value.trim()}${d}`),n)}_moveSymbolToFile(e,t,i,r,n){return e.service.run(a=>{var s;return new bQ(a,t,i,r,{importFormat:null!=(s=e.importFormat)?s:o9.Absolute},n).moveSymbol()},n)}constructor(e){var t;t=void 0,"_ls"in this?Object.defineProperty(this,"_ls",{value:t,enumerable:!0,configurable:!0,writable:!0}):this._ls=t,this._ls=e}}class bZ{async execute(e,t,i){if((0,n8.Lj)(i),!t.arguments||t.arguments.length<1)return;let r=e.service;"start"===t.arguments[0]?await this._startProfiling(r):"stop"===t.arguments[0]&&await this._stopProfiling(r)}getFile(e){}async _startProfiling(e){let t=e.asyncProgram,i=await t.startProfiling();if(i)for(let e of(await this.ls.getWorkspaces()))await s7(e).startProfiling(i)}async _stopProfiling(e){let t=await e.asyncProgram.stopProfiling();if(!t)return;let i=t.outputFileUris||[],r=this.ls.serviceProvider.tryGet(n7.y.windowService);if(r){for(let e of(await this.ls.getWorkspaces()))(0,ap.v9)(i,await s7(e).stopProfiling());if(i.length>0){let e=bR.r.file(i[0].getFilePath()),n=iI.Commands.ProfilingCommand.profilingDataSaved().format({filePath:t.profilingFolderUri.getFilePath(),uri:`command:revealFileInOS?${encodeURIComponent(JSON.stringify(e.toJSON()))}`}),a=r.createGoToOutputAction();await r.showInformationMessage(n,a)}}}constructor(e){var t;t=void 0,"ls"in this?Object.defineProperty(this,"ls",{value:t,enumerable:!0,configurable:!0,writable:!0}):this.ls=t,this.ls=e}}class b0 extends bZ{execute(e,t,i){return super.execute(e,{command:t.command,arguments:["start"]},i)}constructor(e){super(e)}}class b1 extends bZ{execute(e,t,i){return super.execute(e,{command:t.command,arguments:["stop"]},i)}constructor(e){super(e)}}function b5(e){return Array.from(new Set((0,oG.AG)(e.parserOutput.parseTree).orderedImports.map(e=>e.moduleName).filter(e=>!!e&&!e.startsWith("."))))}function b4(e,t,i,r,n){(0,n8.Lj)(n);let a=t.configOptions.findExecEnvironment(i),s=new Map;for(let o of b5(r)){(0,n8.Lj)(n);let r=(0,au.K6)(o);if(t.importResolver.isStdlibModule(r,a))for(let r of b8(e,i,o,n)){let e=t.getSourceFileInfo(r);e&&(e.isTypeshedFile||e.isThirdPartyImport)||s.set(r.toString(),r)}}return[...s.values()]}async function b3(e,t,i,r,n,a){(0,n8.Lj)(a);let s=new Map;for(let o of b5(r))if((0,n8.Lj)(a),n((0,au.K6)(o)))for(let r of b8(e,i,o,a)){let e=t.getSourceFileInfo(r);e&&(e.isTypeshedFile||e.isThirdPartyImport)||s.set(r.toString(),r)}return[...s.values()]}function b8(e,t,i,r){if((0,n8.Lj)(r),!i||i.startsWith("."))return[];let n=i.split(".").filter(e=>e.length>0);if(0===n.length)return[];let a=t.getDirectory(),s=n.length>1?a.combinePaths(...n.slice(0,-1)):a,o=n[n.length-1],l=[],d=s.combinePaths(`${o}.py`);e.existsSync(d)&&l.push(d);let u=s.combinePaths(o);if(e.existsSync(u)&&e.statSync(u).isDirectory()){let t=u.combinePaths("__init__.py");e.existsSync(t)&&l.push(u)}return l}function b2(e,t,i,r){let n;if((0,n8.Lj)(r),!e.existsSync(t))return;try{n=e.statSync(t)}catch{return}if(n.isDirectory()){let n=1,a=t.getDirectory().combinePaths(`${t.fileName}_${n}`);for(;(e.existsSync(a)||i.has(a.toString()))&&n<1e3;)(0,n8.Lj)(r),n+=1,a=t.getDirectory().combinePaths(`${t.fileName}_${n}`);if(n>=1e3)return;return a}let a=t.stripExtension(),s=1,o=a.addExtension(`_${s}.py`);for(;(e.existsSync(o)||i.has(o.toString()))&&s<1e3;)(0,n8.Lj)(r),s+=1,o=a.addExtension(`_${s}.py`);if(!(s>=1e3))return o}function b6(e){return"imports"===e}class b7{execute(e,t,i){if((0,n8.Lj)(i),!t.arguments||t.arguments.length<2)return null;let r=t.arguments[0],n=t.arguments[1];if(b6(n)){let t=n4.z.parse(r,e.service.serviceProvider),n=e.service.run(r=>{let n=r.getParseResults(t);if(!n)return null;let a=b4(e.service.fs,r,t,n,i);if(0===a.length)return null;let s=e.service.fs,o=new Set,l=a.map(e=>{let t=b2(s,e,o,i);if(t)return o.add(t.toString()),nZ.RenameFile.create((0,ah.JQ)(s,e),(0,ah.JQ)(s,t),{overwrite:!1,ignoreIfExists:!1})}).filter(e=>void 0!==e);return 0===l.length?null:{documentChanges:l}},i);return null!=n?n:null}if("string"!=typeof n)return null;let a=n4.z.parse(r,e.service.serviceProvider),s=n4.z.parse(n,e.service.serviceProvider),o=e.service.fs;return{documentChanges:[nZ.RenameFile.create((0,ah.JQ)(o,a),(0,ah.JQ)(o,s),{overwrite:!1,ignoreIfExists:!1})]}}async executeAsync(e,t,i){if((0,n8.Lj)(i),!t.arguments||t.arguments.length<2)return null;let r=t.arguments[0];if(!b6(t.arguments[1]))return this.execute(e,t,i);let n=n4.z.parse(r,e.service.serviceProvider),a=await T1(e,i);if(!a)return null;let{program:s}=a,o=s.getParseResults(n);if(!o)return null;let l=b5(o),d=a.workspace.service.run(e=>{let t=e.configOptions.findExecEnvironment(n),i=new Set;for(let r of l)e.importResolver.isStdlibModule((0,au.K6)(r),t)&&i.add(r);return i},i),u=await b3(s.fileSystem,s,n,o,e=>d.has(e.nameParts.join(".")),i);if(0===u.length)return null;let p=a.workspace.service.fs,c=new Set,h=u.map(e=>{let t=b2(p,e,c,i);if(t)return c.add(t.toString()),nZ.RenameFile.create((0,ah.JQ)(p,e),(0,ah.JQ)(p,t),{overwrite:!1,ignoreIfExists:!1})}).filter(e=>void 0!==e);return 0===h.length?null:{documentChanges:h}}getFile(e){return e.arguments?e.arguments[0]:void 0}}class b9{get isLongRunning(){return!0}execute(e,t){this._ls.restart()}getFile(e){}constructor(e){var t;t=void 0,"_ls"in this?Object.defineProperty(this,"_ls",{value:t,enumerable:!0,configurable:!0,writable:!0}):this._ls=t,this._ls=e}}function Se(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class St{get isLongRunning(){return!0}async execute(e,t,i){var r,n,a;if((0,n8.Lj)(i),(null==(r=t.arguments)?void 0:r.length)!==1)return[];let s=this.getFile(t);if(!s)return[];let o=null==(n=this._hostFactory)?void 0:n.createHost(dC.n.FullAccess);if(void 0===o)return[];let l=await (null==(a=this._sandboxService)?void 0:a.getSandbox(o,e.rootUri,e.pythonPath));return null==l?[]:await l.runFile(s)}getFile(e){var t;if((null==(t=e.arguments)?void 0:t.length)===1&&void 0!==this._uriMapper&&void 0!==this._caseSensitivityDetector)return hJ(e.arguments[0],this._caseSensitivityDetector,this._uriMapper)}constructor(e){Se(this,"_ls",void 0),Se(this,"_sandboxService",void 0),Se(this,"_uriMapper",void 0),Se(this,"_caseSensitivityDetector",void 0),Se(this,"_hostFactory",void 0),this._ls=e;const t=this._ls.serviceProvider;this._sandboxService=t.tryGet(nM.sandboxService),this._uriMapper=t.tryGet(nM.uriMapper),this._caseSensitivityDetector=t.tryGet(n7.y.caseSensitivityDetector),this._hostFactory=t.tryGet(nM.hostFactory)}}function Si(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let Sr=new Set([TD.T.createTypeStub,TD.T.orderImports,s0.createTypeStub,s0.orderImports,s0.addMissingOptionalToParam,s0.removeUnusedImport,s0.addImport,s0.changeSpelling,s0.extractMethod,s0.extractVariable,s0.executedClientCommand,s0.convertImportFormat,s0.convertImportStar,s0.convertImportToModule,s0.addTypeAnnotation,s0.inheritAllDecorators,s0.addToExtraPathsInConfig,s0.moveSymbol,s0.fixAll,s0.addFixtureTypeAnnotation,s0.addAllFixtureTypeAnnotations,s0.clearPersistedIndices,s0.startProfiling,s0.stopProfiling,s0.startLogging,s0.stopLogging,s0.implementAllAbstractClasses,s0.implementAllAbstractClassesWithCopilot,s0.getAllDocstringRanges,s0.runCurrentFileInSandbox,s0.pluginCommand]);class Sn{static supportedCommands(){return[TD.T.createTypeStub,TD.T.orderImports,TD.T.dumpFileDebugInfo,s0.createTypeStub,s0.orderImports,s0.addMissingOptionalToParam,s0.removeUnusedImport,s0.addImport,s0.diagnosticRefactor,s0.changeSpelling,s0.extractMethod,s0.extractVariable,s0.completionAccepted,s0.executedClientCommand,s0.moveSymbol,s0.getSourceFiles,s0.getAutoImports,s0.convertImportFormat,s0.convertImportStar,s0.convertImportToModule,s0.addTypeAnnotation,s0.inheritAllDecorators,s0.addToExtraPathsInConfig,s0.fixAll,s0.addAllFixtureTypeAnnotations,s0.addFixtureTypeAnnotation,s0.clearPersistedIndices,s0.startProfiling,s0.stopProfiling,s0.startLogging,s0.stopLogging,s0.implementAllAbstractClasses,s0.implementAllAbstractClassesWithCopilot,s0.getAllDocstringRanges,s0.runCurrentFileInSandbox,s0.pluginCommand,s0.renameShadowedStdlib]}getCommand(e){var t;switch(e.command){case s0.removeUnusedImport:return this._removeUnusedImportCommand;case s0.addImport:return this._addImportCommand;case s0.diagnosticRefactor:return this._diagnosticRefactorCommand;case s0.extractMethod:return this._extractMethod;case s0.extractVariable:return this._extractVariable;case s0.completionAccepted:return this._completionAccepted;case s0.convertImportFormat:return this._convertImportFormat;case s0.convertImportStar:return this._convertImportStar;case s0.convertImportToModule:return this._convertImportToModule;case s0.addTypeAnnotation:return this._addTypeAnnotation;case s0.inheritAllDecorators:return this._inheritAllDecorators;case s0.addToExtraPathsInConfig:return this._addToExtraPathsInConfig;case s0.moveSymbol:return this._moveSymbol;case s0.getSourceFiles:return this._getSourceFiles;case s0.getAutoImports:return this._getAutoImports;case s0.changeSpelling:return this._changeSpelling;case s0.fixAll:return this._fixAll;case s0.restartServer:return this._restartServer;case TD.T.createTypeStub:case s0.createTypeStub:return this._createTypeStub;case s0.dumpFileDebugInfo:return this._dumpFileDebugInfo;case s0.clearPersistedIndices:return this._clearPersistedIndices;case s0.addFixtureTypeAnnotation:return this._addFixtureTypeAnnotationCommand;case s0.addAllFixtureTypeAnnotations:return this._addAllFixtureTypeAnnotationsCommand;case s0.startProfiling:return this._startProfilingCommand;case s0.stopProfiling:return this._stopProfilingCommand;case s0.startLogging:return this._startLoggingCommand;case s0.stopLogging:return this._stopLoggingCommand;case s0.implementAllAbstractClasses:return this._implementAllAbstractClasses;case s0.getAllDocstringRanges:return this._getAllDocstringRanges;case s0.runCurrentFileInSandbox:return this._runCurrentFileInSandbox;case s0.renameShadowedStdlib:return this._renameShadowedStdlib}let i=null==(t=this._externalCommandRegistry)?void 0:t.getCommand(e);if(i)return i}executeCommand(e,t,i){let r=this.getCommand(t);if(r){var n;if(e.enableAsyncProgram&&"executeAsync"in(n=r)&&"function"==typeof n.executeAsync)return r.executeAsync(e,t,i).then(e=>this.stringifyUris(e));let a=r.execute(e,t,i);return(0,n2.Qg)(a)?a.then(e=>this.stringifyUris(e)):this.stringifyUris(a)}}stringifyUris(e){return void 0===e?e:JSON.parse(JSON.stringify(e,(e,t)=>t&&"object"==typeof t&&n4.z.is(t)?t.toString():t))}getFileFromCommand(e){let t=this.getCommand(e),i=null==t?void 0:t.getFile(e);if(i)return(0,n2.Kg)(i)?n4.z.parse(i,this.ls.serviceProvider):i}sendUserInitiatedCommandTelemetry(e){if(this._telemetry&&Sr.has(e.command)){let t=new oU(oN.EXECUTE_COMMAND);if(e.command===s0.executedClientCommand){let i=e.arguments||[],r=i[0];if((0,n6.vA)("string"==typeof r),(0,n6.vA)(Object.values(s1).includes(r)),t.Properties.name=r,i.length>1&&"object"==typeof i[1]){let e=i[1];if(e)for(let i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t.Properties[i]=e[i])}}else t.Properties.name=e.command;this._telemetry.sendTelemetry(t)}}constructor(e,t,i){Si(this,"ls",void 0),Si(this,"_telemetry",void 0),Si(this,"_removeUnusedImportCommand",void 0),Si(this,"_addImportCommand",void 0),Si(this,"_diagnosticRefactorCommand",void 0),Si(this,"_extractMethod",void 0),Si(this,"_extractVariable",void 0),Si(this,"_completionAccepted",void 0),Si(this,"_convertImportFormat",void 0),Si(this,"_convertImportStar",void 0),Si(this,"_convertImportToModule",void 0),Si(this,"_addTypeAnnotation",void 0),Si(this,"_inheritAllDecorators",void 0),Si(this,"_addToExtraPathsInConfig",void 0),Si(this,"_moveSymbol",void 0),Si(this,"_getSourceFiles",void 0),Si(this,"_getAutoImports",void 0),Si(this,"_changeSpelling",void 0),Si(this,"_createTypeStub",void 0),Si(this,"_dumpFileDebugInfo",void 0),Si(this,"_restartServer",void 0),Si(this,"_fixAll",void 0),Si(this,"_clearPersistedIndices",void 0),Si(this,"_addFixtureTypeAnnotationCommand",void 0),Si(this,"_addAllFixtureTypeAnnotationsCommand",void 0),Si(this,"_startProfilingCommand",void 0),Si(this,"_stopProfilingCommand",void 0),Si(this,"_startLoggingCommand",void 0),Si(this,"_stopLoggingCommand",void 0),Si(this,"_implementAllAbstractClasses",void 0),Si(this,"_getAllDocstringRanges",void 0),Si(this,"_runCurrentFileInSandbox",void 0),Si(this,"_renameShadowedStdlib",void 0),Si(this,"_externalCommandRegistry",void 0),this.ls=e,this._telemetry=t,this._removeUnusedImportCommand=new bt,this._addImportCommand=new T5,this._diagnosticRefactorCommand=new Tz(e.console),this._extractMethod=new wG(i),this._extractVariable=new wH(i),this._completionAccepted=new wu(t),this._convertImportFormat=new wh,this._convertImportStar=new wf,this._convertImportToModule=new wx,this._addTypeAnnotation=new T7,this._inheritAllDecorators=new bE,this._addToExtraPathsInConfig=new T8,this._moveSymbol=new bX(e),this._getSourceFiles=new bc,this._getAutoImports=new bp,this._changeSpelling=new wr,this._fixAll=new bi(t),this._createTypeStub=new wA(e),this._restartServer=new b9(e),this._dumpFileDebugInfo=new wE(e),this._clearPersistedIndices=new wn(e),this._addFixtureTypeAnnotationCommand=new T$,this._addAllFixtureTypeAnnotationsCommand=new TB,this._startProfilingCommand=new b0(e),this._stopProfilingCommand=new b1(e),this._implementAllAbstractClasses=new bw;const r=new bM(e);this._startLoggingCommand=new bO(r),this._stopLoggingCommand=new bU(r),this._getAllDocstringRanges=new bu(e),this._runCurrentFileInSandbox=new St(e),this._renameShadowedStdlib=new b7,this._externalCommandRegistry=e.serviceProvider.tryGet(nM.commandRegistry)}}class Sa extends Sn{async execute(e,t){var i;this.sendUserInitiatedCommandTelemetry(e);let r=this.ls,n=null!=(i=this.getFileFromCommand(e))?i:n4.z.empty(),a=await r.getWorkspaceForFile(n);return this.executeCommand(a,e,t)}}var Ss=i(2796);function So(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Sl{setAllowedRoots(e){this._allowedRoots=null!=e?e:[]}existsSync(e){return!!this._allowed(e)&&this._baseFS.existsSync(e)}readdirEntriesSync(e){return this._allowed(e)?this._baseFS.readdirEntriesSync(e):[]}readdirSync(e){return this._allowed(e)?this._baseFS.readdirSync(e):[]}readFileSync(e,t){return this._allowed(e)?this._baseFS.readFileSync(e,t):""}statSync(e){if(!this._allowed(e))throw Error(`${e} doesn't exist`);return this._baseFS.statSync(e)}realpathSync(e){return this._allowed(e)?this._baseFS.realpathSync(e):e}realCasePath(e){return this._allowed(e)?this._baseFS.realCasePath(e):e}isInZip(e){return!!this._allowed(e)&&this._baseFS.isInZip(e)}writeFileSync(e,t,i){this._allowed(e)&&this._baseFS.writeFileSync(e,t,i)}rmdirSync(e){this._allowed(e)&&this._baseFS.rmdirSync(e)}unlinkSync(e){this._allowed(e)&&this._baseFS.unlinkSync(e)}copyFileSync(e,t){this._allowed(e)&&this._allowed(t)&&this._baseFS.copyFileSync(e,t)}mkdirSync(e,t){this._allowed(e)&&this._baseFS.mkdirSync(e,t)}createReadStream(e){if(!this._allowed(e))throw Error(`${e} doesn't exist`);return this.createReadStream(e)}createWriteStream(e){if(!this._allowed(e))throw Error(`${e} doesn't exist`);return this.createWriteStream(e)}readFile(e){if(!this._allowed(e))throw Error(`${e} doesn't exist`);return this.readFile(e)}readFileText(e,t){if(!this._allowed(e))throw Error(`${e} doesn't exist`);return this.readFileText(e,t)}getModulePath(){return this._baseFS.getModulePath()}createFileSystemWatcher(e,t){return Td.LC.createFileWatcher([],t)}isMappedUri(e){return this._baseFS.isMappedUri(e)}getOriginalUri(e){return this._baseFS.getOriginalUri(e)}getMappedUri(e){return this._baseFS.getMappedUri(e)}chdir(e){return this._baseFS.chdir(e)}mapDirectory(e,t,i){return this._baseFS.mapDirectory(e,t,i)}_allowed(e){return!!(this._bundledStubs.some(t=>e.startsWith(t))||this._allowedRoots.some(t=>e.startsWith(t)))||!!this._notAllowedRoot&&!e.startsWith(this._notAllowedRoot)}constructor(e,t,i){So(this,"_notAllowedRoot",void 0),So(this,"_bundledStubs",void 0),So(this,"_baseFS",void 0),So(this,"_allowedRoots",void 0),this._notAllowedRoot=e,this._bundledStubs=t,this._baseFS=i,this._allowedRoots=[]}}function Sd(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Su{static getRenameModulePathInfo(e,t){let i,r="__init__"===e.fileNameWithoutExtensions?e.getDirectory():e,n=(i=r.lastExtension,r.getDirectory().combinePaths(`${t}${i}`));return{fileUri:r,newFileUri:n}}static getRenameModulePath(e){let t=e.find(e=>!e.node);if(t)return t.uri;let i=[...e.reduce((e,t)=>e.set(t.uri.key,t.uri),new Map)],r=i.findIndex(e=>(0,cu.x)(e[1]));return r>=0?i[r][1]:i[0][1]}renameModule(){if((0,ah.fo)(this._program.fileSystem,this._oldModuleUri)&&!this._program.getSourceFileInfo(this._oldModuleUri))return null;let e=bH.createForModule(this._program,this._oldModuleUri,this._newModuleUri,this._relocatedFiles,this._token);return e?(e.processModuleReferences(e.lastModuleName,this._oldModuleUri),{edits:e.getEdits(),fileOperations:[]}):null}constructor(e,t,i,r,n){Sd(this,"_program",void 0),Sd(this,"_oldModuleUri",void 0),Sd(this,"_newModuleUri",void 0),Sd(this,"_relocatedFiles",void 0),Sd(this,"_token",void 0),this._program=e,this._oldModuleUri=t,this._newModuleUri=i,this._relocatedFiles=r,this._token=n}}class Sp{static setMatrix(e,t,i){if(i.addCustomProperty("type",e,""),(null==t?void 0:t.documentChanges)&&i.addCustomMeasure("affectedFilesCount",t.documentChanges.length,void 0,""),"file"===e){var r;i.addCustomProperty("fileRenamed",(null==t||null==(r=t.changeAnnotations)?void 0:r.fileRename)?"true":"false","")}}executeDirectoryRename(e,t,i,r,n){if(i!==r||!r.rootUri)return null;let a=(0,ah.gT)(i.service.fs,e,t);return"Same"===a?null:"Renamed"===a?r.service.run(a=>{let s=new Su(a,e,t,void 0,n).renameModule();if(!s)return null;let o=this._getNameRelativeToRoot(i.rootUri,e),l=this._getNameRelativeToRoot(r.rootUri,t);return this._constructWorkspaceEdits(a.fileSystem,o,l,s)},n):this._executeDirectoryMove(e,t,i,r,n)}executeFileRename(e,t,i,r,n){if(!this.validateFileRename(e,t,i,r))return null;let a=r.service,s=this._getStubAndFilePairInfo(a,e);return r.service.run(a=>this._computeFileRenameEdits(a,e,t,i,r,s,void 0,n),n)}executeMultipleFileRenames(e,t){if(0===e.length)return null;let i=new Map;for(let t of e){let e=i.get(t.workspace);e?e.push(t):i.set(t.workspace,[t])}let r=null;for(let[e,n]of i){let i=this._executeMultipleFileRenamesInWorkspace(e,n,t);i&&(r=r?this._mergeWorkspaceEdits(r,i):i)}return r}validateFileRename(e,t,i,r){var n;if(e.lastExtension!==t.lastExtension||!au.ZG.some(e=>t.hasExtension(e))||i!==r||!r.rootUri)return!1;let a=r.service,s=(0,ae.WK)(a.getConfigOptions(),e),o=(0,ae.WK)(a.getConfigOptions(),t);if(s!==o||!o||t.hasExtension(".py")&&!this._getStubAndFilePairInfo(a,t))return!1;let l=this._getStubAndFilePairInfo(a,e);if(!(null!=(n=null==l?void 0:l.stubFile)?n:null==l?void 0:l.pythonFile))return!1;if(l.stubFile&&l.pythonFile){let e=t.replaceExtension(".py");if(i.service.fs.existsSync(e))return!1}return!0}_executeMultipleFileRenamesInWorkspace(e,t,i){if(!e.rootUri||0===t.length)return null;let r=e.service,n=t[t.length-1],a=r.runEditMode(e=>{let n=new Map,a=new Map;for(let e of t)a.set(e.oldUri.key,e.newUri);for(let s of t){if(i.isCancellationRequested)break;let t=this._getStubAndFilePairInfo(r,s.oldUri);if(!t)continue;let o=this._computeFileRenameEdits(e,s.oldUri,s.newUri,s.workspace,s.workspace,t,a,i);o&&(0,fI.iw)(e,o,n)}},i);if(0===a.length)return null;let s=this._getNameRelativeToRoot(e.rootUri,n.oldUri),o=this._getNameRelativeToRoot(e.rootUri,n.newUri);return this._constructWorkspaceEdits(r.fs,s,o,{edits:a,fileOperations:[]})}_mergeWorkspaceEdits(e,t){let i={...e};if(t.changeAnnotations){i.changeAnnotations||(i.changeAnnotations={});let e=new Map;for(let[r,n]of Object.entries(t.changeAnnotations)){let t=r;if(i.changeAnnotations[r]){let e=2;for(;i.changeAnnotations[`${r}_${e}`];)e++;t=`${r}_${e}`}e.set(r,t),i.changeAnnotations[t]=n}if(t.documentChanges)for(let r of(i.documentChanges||(i.documentChanges=[]),t.documentChanges))if(nZ.TextDocumentEdit.is(r)){let t=r.edits.map(t=>nZ.AnnotatedTextEdit.is(t)&&e.has(t.annotationId)?{...t,annotationId:e.get(t.annotationId)}:t);i.documentChanges.push({...r,edits:t})}else r.annotationId&&e.has(r.annotationId)?i.documentChanges.push({...r,annotationId:e.get(r.annotationId)}):i.documentChanges.push(r)}else t.documentChanges&&(i.documentChanges||(i.documentChanges=[]),i.documentChanges=[...i.documentChanges,...t.documentChanges]);return i}_computeFileRenameEdits(e,t,i,r,n,a,s,o){let l=new Su(e,t,i,s,o).renameModule();if(!l)return null;let d=this._getNameRelativeToRoot(r.rootUri,t),u=this._getNameRelativeToRoot(n.rootUri,i),p=this._constructWorkspaceEdits(e.fileSystem,d,u,l);if(a.stubFile&&a.pythonFile){var c;p.changeAnnotations.fileRename={label:iI.Refactoring.moveFileLabel().format({oldModuleName:d,newModuleName:u}),description:iI.Refactoring.moveFileDescription().format({oldModuleName:d,newModuleName:u}),needsConfirmation:!1},null==(c=p.documentChanges)||c.push(nZ.RenameFile.create((0,ah.JQ)(r.service.fs,a.pythonFile),(0,ah.JQ)(r.service.fs,i.replaceExtension(".py")),{ignoreIfExists:!0},"fileRename"))}return p}_getNameRelativeToRoot(e,t){var i;return null!=(i=e.getRelativePathComponents(t).join("/"))?i:""}_constructWorkspaceEdits(e,t,i,r){let n={oldModuleName:t,newModuleName:i},a={label:iI.Refactoring.moveFileLabel().format(n),description:iI.Refactoring.moveFileDescription().format(n),needsConfirmation:!1};return(0,fI.WN)(e,r,{textEdit:a},"textEdit")}_getStubAndFilePairInfo(e,t){let i=e.getConfigOptions().findExecEnvironment(t);if(!i.root)return;let r=e.getImportResolver().getModuleNameForImport(t,i);if(!r.moduleName)return;let n=(0,cu.x)(t)?t:void 0,a=n?void 0:t,s=e.getImportResolver().resolveImport(t,i,(0,au.K6)(r.moduleName));if(!s.isImportFound)return{stubFile:n,pythonFile:a};let o=s.resolvedUris[s.resolvedUris.length-1];if(!o.startsWith(i.root))return{stubFile:n,pythonFile:a};if(t.equals(o)){if(n){var l;return(null==(l=s.nonStubImportResult)?void 0:l.isImportFound)?{stubFile:n,pythonFile:s.nonStubImportResult.resolvedUris[s.nonStubImportResult.resolvedUris.length-1]}:{stubFile:n,pythonFile:a}}if(a)return{stubFile:n,pythonFile:a}}if((!n||!s.isStubFile)&&(!a||s.isStubFile)&&(!a||!s.isStubFile))return{stubFile:n,pythonFile:o}}_executeDirectoryMove(e,t,i,r,n){if(i!==r||!r.rootUri)return null;let a=r.service,s=a.runEditMode(s=>{let o=new Map,l=[],d=new Map;for(let n of s.getSourceFileInfoList()){if(!(0,aR.xX)(n)||!n.uri.isChild(e))continue;let s=e.getRelativePath(n.uri);if(!s)continue;let o=t.resolvePaths(s);if(!this.validateFileRename(n.uri,o,i,r))continue;let u=this._getStubAndFilePairInfo(a,n.uri);u&&(l.push({uri:n.uri,newUri:o,info:u}),d.set(n.uri.key,o))}for(let e of l){if(n.isCancellationRequested)break;let t=this._computeFileRenameEdits(s,e.uri,e.newUri,i,r,e.info,d,n);t&&(0,fI.iw)(s,t,o)}},n);if(0===s.length)return null;let o=this._getNameRelativeToRoot(i.rootUri,e),l=this._getNameRelativeToRoot(r.rootUri,t);return this._constructWorkspaceEdits(a.fs,o,l,{edits:s,fileOperations:[]})}}class Sc extends Sp{static async renameFiles(e,t,i,r){return await oB(t,oN.RENAME_FILES,async t=>{var n,a,s;let o=new Sc(e),l=await o._renameFiles(i,r);return this.setMatrix(l.renameType,l.edits,t),(null!=(n=null==(s=l.edits)||null==(a=s.documentChanges)?void 0:a.length)?n:0)>0?l.edits:null},0)}async _renameFiles(e,t){let i="unknown";if(!this._ls.supportAdvancedEdits)return{renameType:i,edits:null};if(1===e.files.length){let r=e.files[0],n=n4.z.parse(r.oldUri,this._ls.serviceProvider),a=n4.z.parse(r.newUri,this._ls.serviceProvider);if(n.equals(a))return{renameType:i,edits:null};let s=await this._ls.getWorkspaceForFile(n),o=await this._ls.getWorkspaceForFile(a),l=null;return(0,ah.fo)(s.service.fs,n)?(i="file",l=this.executeFileRename(n,a,s,o,t)):(0,ah.wd)(s.service.fs,n)&&(i="folder",l=this.executeDirectoryRename(n,a,s,o,t)),{renameType:i,edits:l}}i="multiFile";let r=[];for(let i of e.files){let e=n4.z.parse(i.oldUri,this._ls.serviceProvider),n=n4.z.parse(i.newUri,this._ls.serviceProvider);if(e.equals(n))continue;let a=await this._ls.getWorkspaceForFile(e),s=await this._ls.getWorkspaceForFile(n);(0,ah.fo)(a.service.fs,e)?this.validateFileRename(e,n,a,s)&&r.push({oldUri:e,newUri:n,workspace:a}):(0,ah.wd)(a.service.fs,e)&&a.service.run(t=>{for(let i of t.getSourceFileInfoList()){if(!(0,aR.xX)(i)||!i.uri.isChild(e))continue;let t=e.getRelativePath(i.uri);if(!t)continue;let o=n.resolvePaths(t);this.validateFileRename(i.uri,o,a,s)&&r.push({oldUri:i.uri,newUri:o,workspace:a})}},t)}return{renameType:i,edits:this.executeMultipleFileRenames(r,t)}}constructor(e){var t;super(),t=void 0,"_ls"in this?Object.defineProperty(this,"_ls",{value:t,enumerable:!0,configurable:!0,writable:!0}):this._ls=t,this._ls=e}}var Sh=((i_={}).Immutable="immutable",i_.Mutable="mutable",i_);function Sm(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Sy{updateTelemetry(e){let t=e.requiringAnalysisCount.files+e.requiringAnalysisCount.cells===0&&0!==e.elapsedTime||e.fatalErrorOccurred,i=!this._telemetryLimiter;if(this._elapsedSum+=e.elapsedTime,!this._testMode){if(i&&t)this._telemetryLimiter=new of.dw;else if(this._telemetryLimiter&&600>this._telemetryLimiter.getDurationInSeconds()){if(t){this._elapsedSum=0,this._peakRss=0;return}this._getMemoryUsage();return}}let r=this._getMemoryUsage();if(!t)return;let n=1e3*this._elapsedSum;this._elapsedSum=0,this._telemetryLimiter=new of.dw;let a=new oU(oN.ANALYSIS_COMPLETE);if(r){let e=this._peakRss;this._peakRss=0,a.Measurements.peakRssMB=e/1024/1024,a.Measurements.rssMB=r.rss/1024/1024,a.Measurements.heapTotalMB=r.heapTotal/1024/1024,a.Measurements.heapUsedMB=r.heapUsed/1024/1024,a.Measurements.externalMB=r.external/1024/1024}return a.Measurements.elapsedMs=n,a.Measurements.numFilesAnalyzed=e.filesAnalyzed,a.Measurements.numFilesInProgram=e.filesInProgram,a.Measurements.fatalErrorOccurred=+!!e.fatalErrorOccurred,a.Measurements.isFirstRun=+!!i,a.Properties.DiagnosticsSeen=e.diagnosticsSeen||"",a.Measurements.editablePthCount=e.editablePthCount||0,a.Measurements.computedPthCount=e.computedPthCount||0,a}_getMemoryUsage(){let e=process.memoryUsage();if(0!==e.rss)return this._peakRss=Math.max(e.rss,this._peakRss),e}constructor(e){Sm(this,"_testMode",void 0),Sm(this,"_elapsedSum",void 0),Sm(this,"_telemetryLimiter",void 0),Sm(this,"_peakRss",void 0),this._testMode=e,this._elapsedSum=0,this._peakRss=0}}let Sg="<default>";class Sf{tryCreate(e){var t;if(e.kinds.includes(sL.mE.Default))return{workspaceName:e.name,rootUri:void 0,kinds:e.kinds,pythonPath:e.pythonPath,pythonPathKind:e.pythonPathKind,service:this._createService(e.name,n4.z.empty(),e.kinds),disableLanguageServices:!1,disableTaggedHints:!1,disableOrganizeImports:!1,disableWorkspaceSymbol:!1,isInitialized:(0,sL.Ld)(),searchPathsToWatch:[],pythonEnvironmentName:null==(t=e.pythonPath)?void 0:t.toString()}}constructor(e){var t,i;i=void 0,(t="_createService")in this?Object.defineProperty(this,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):this[t]=i,this._createService=e}}class Sv{tryCreate(e){var t;if(!n4.z.isEmpty(e.pythonPath)&&e.pythonPathKind===Sh.Immutable)return{workspaceName:e.name,rootUri:e.rootUri,kinds:e.kinds,pythonPath:e.pythonPath,pythonPathKind:e.pythonPathKind,service:this._createService(e.name,e.rootUri,e.kinds),disableLanguageServices:!1,disableTaggedHints:!1,disableOrganizeImports:!1,disableWorkspaceSymbol:!1,isInitialized:(0,sL.Ld)(),searchPathsToWatch:[],pythonEnvironmentName:null==(t=e.pythonPath)?void 0:t.toString()}}constructor(e){var t,i;i=void 0,(t="_createService")in this?Object.defineProperty(this,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):this[t]=i,this._createService=e}}class S_{tryCreate(e){var t;if(!n4.z.isEmpty(e.rootUri)&&e.kinds.includes(sL.mE.Regular)&&e.pythonPathKind===Sh.Mutable)return{workspaceName:e.name,rootUri:e.rootUri,kinds:e.kinds,pythonPath:e.pythonPath,pythonPathKind:e.pythonPathKind,service:this._createService(e.name,e.rootUri,e.kinds),disableLanguageServices:!1,disableTaggedHints:!1,disableOrganizeImports:!1,disableWorkspaceSymbol:!1,isInitialized:(0,sL.Ld)(),searchPathsToWatch:[],pythonEnvironmentName:null==(t=e.pythonPath)?void 0:t.toString()}}constructor(e){var t,i;i=void 0,(t="_createService")in this?Object.defineProperty(this,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):this[t]=i,this._createService=e}}class ST{getDefaultWorkspaceKey(e,t){let i=(null==e?void 0:e.scheme)===od||(null==e?void 0:e.scheme)===op?e.root:Sg;return`${i}:${!n4.z.isEmpty(t)?t:Sh.Mutable}`}getWorkspaceKey(e){return e.kinds.includes(sL.mE.Default)?this.getDefaultWorkspaceKey(e.rootUri,e.pythonPath):`${e.rootUri}:${e.pythonPathKind===Sh.Mutable?e.pythonPathKind:e.pythonPath}`}createWorkspace(e){var t;for(let t of this._factories){let i=t.tryCreate(e);if(i)return i}throw Error(`No workspace factory matched for: rootUri=${null==(t=e.rootUri)?void 0:t.toString()}, kinds=${e.kinds.join(",")}, pythonPathKind=${e.pythonPathKind}`)}constructor(e){var t,i;i=void 0,(t="_factories")in this?Object.defineProperty(this,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):this[t]=i,this._factories=[new S_(e),new Sv(e),new ou(e),new oc(e),new Sf(e)]}}function Sw(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let Sb=0;class SS{get onWorkspaceCreated(){return this._workspaceCreatedEmitter.event}get onWorkspaceRemoved(){return this._workspaceRemovedEmitter.event}handleInitialize(e){e.workspaceFolders?e.workspaceFolders.forEach(e=>{let t=n4.z.parse(e.uri,this._serviceProvider);n4.z.isEmpty(t)||this._add({rootUri:t,name:e.name,pythonPathKind:Sh.Mutable,kinds:[sL.mE.Regular]})}):e.rootPath&&this._add({rootUri:n4.z.file(e.rootPath,this._serviceProvider),name:n4.z.file(e.rootPath,this._serviceProvider).fileNameWithoutExtensions,pythonPathKind:Sh.Mutable,kinds:[sL.mE.Regular]})}handleWorkspaceFoldersChanged(e,t){var i;e.removed.forEach(e=>{let t=n4.z.parse(e.uri,this._serviceProvider);this.getNonDefaultWorkspaces().filter(e=>e.rootUri.equals(t)).forEach(e=>{this._remove(e)})}),e.added.forEach(e=>{let t=n4.z.parse(e.uri,this._serviceProvider);if(n4.z.isEmpty(t))return;let i=this.items().filter(e=>t.startsWith(e.rootUri))[0],r=this._add({rootUri:t,name:e.name,pythonPathKind:Sh.Mutable,kinds:[sL.mE.Regular]});i&&this._mimicOpenFiles(i,r,e=>e.startsWith(t))}),(null!=(i=null==t?void 0:t.filter(t=>!e.added.some(e=>e.uri===t.uri)&&!e.removed.some(e=>e.uri===t.uri)))?i:[]).forEach(e=>{let t=n4.z.parse(e.uri,this._serviceProvider);this.getNonDefaultWorkspaces().filter(i=>i.rootUri.equals(t)&&i.workspaceName!==e.name).forEach(t=>{var i;t.workspaceName=i=e.name,t.service.setServiceName(i)})})}items(){return Array.from(this._map.values())}applyPythonPath(e,t){if(e.pythonPathKind===Sh.Mutable&&!n4.z.isEmpty(t)){let i=e.pythonPath;e.pythonPath=t;let r=this._factories.getWorkspaceKey(e),n=this._map.get(r);n&&(n.pythonPath=t),i&&!n4.z.equals(t,i)&&n&&this._moveImmutableFilesToCorrectWorkspace(i,n).catch(()=>{})}return e.pythonPath}clear(){this._map.forEach(e=>{e.isInitialized.resolve(),e.service.dispose()}),this._map.clear(),this._console.log(`WorkspaceFactory ${this._id} clear`)}hasMultipleWorkspaces(e){if(0===this._map.size||1===this._map.size)return!1;let t=0;for(let i of this._map)if((!e||i[1].kinds.some(t=>t===e))&&t++,t>1)return!0;return!1}getContainingWorkspace(e,t){return this._getBestRegularWorkspace(this.getNonDefaultWorkspaces(sL.mE.Regular).filter(t=>e.startsWith(t.rootUri)),t)}moveFiles(e,t,i){if(t!==i)try{e.forEach(e=>{let r=t.service.backgroundAnalysisProgram.program.getSourceFileInfo(e);if(r){var n,a;let s=null!=(n=r.sourceFile.getClientVersion())?n:null,o=r.contents||"",l=r.ipythonMode,d=null==(a=r.chainedSourceFile)?void 0:a.uri;t.service.setFileClosed(e,!1),i.service.setFileOpened(e,s,o,l,d)}}),this.removeUnused(t)}catch(e){this._console.error(e.toString())}}getNonDefaultWorkspaces(e){let t=[];return this._map.forEach(i=>{!i.rootUri||(!e||i.kinds.some(t=>t===e))&&t.push(i)}),t}async getWorkspaceForFile(e,t){await Promise.all(this.items().map(e=>e.isInitialized.promise));let i=await this._getOrCreateBestWorkspaceForFile(e,t);return await i.isInitialized.promise,i}getWorkspaceForFileSync(e,t){return this._getOrCreateBestWorkspaceFileSync(e,t)}async getContainingWorkspacesForFile(e){await Promise.all(this.items().map(e=>e.isInitialized.promise));let t=this.getContainingWorkspacesForFileSync(e);return await Promise.all(t.map(e=>e.isInitialized.promise)),t}getContainingWorkspacesForFileSync(e){let t=this.items().filter(t=>t.service.hasSourceFile(e));return this._isPythonPathImmutable(e)&&(t=t.filter(e=>e.pythonPathKind===Sh.Immutable)),0===t.length&&t.push(this._getOrCreateBestWorkspaceFileSync(e,void 0)),t}removeUnused(e){0===e.service.getOpenFiles().filter(e=>this._isPythonPathImmutable(e)).length&&e.pythonPathKind===Sh.Immutable&&this._remove(e)}async _moveImmutableFilesToCorrectWorkspace(e,t){var i;let r=t.service.getOpenFiles().filter(e=>this._isPythonPathImmutable(e)),n=this.items().find(e=>n4.z.equals(e.pythonPath,t.pythonPath)&&e!==t),a=null!=(i=null==n?void 0:n.service.getOpenFiles().filter(e=>this._isPythonPathImmutable(e)))?i:[];if(r.length>0){let i=this._getOrCreateBestWorkspaceFileSync(r[0],e);i!==t&&this.moveFiles(r,t,i)}n&&(this.moveFiles(a,n,t),this.removeUnused(n))}_add(e){var t;let i=null!=(t=e.rootUri)?t:n4.z.empty(),r=!!this._allowNonLocal||i.isLocal();e.kinds.includes(sL.mE.Default)||n4.z.isEmpty(i)||r&&!this._isWeb||(e.kinds=[...e.kinds,sL.mE.Limited]);let n=this._factories.createWorkspace(e),a=this._factories.getWorkspaceKey(n);return this._remove(n),this._console.log(`WorkspaceFactory ${this._id} add ${a}`),this._map.set(a,n),this._workspaceCreatedEmitter.fire(n),n}_remove(e){let t=this._factories.getWorkspaceKey(e),i=this._map.get(t);i&&(i.isInitialized.resolve(),this._workspaceRemovedEmitter.fire(i),i.service.dispose(),this._console.log(`WorkspaceFactory ${this._id} remove ${t}`),this._map.delete(t))}async _getOrCreateBestWorkspaceForFile(e,t){var i;let r=await this._getBestWorkspaceForFileAndWaitForInitialize(e,t);return n4.z.isEmpty(t)||(null==(i=r.pythonPath)?void 0:i.equals(t))||(r=this._createImmutableCopy(r,t)),r}async _getBestWorkspaceForFileAndWaitForInitialize(e,t){for(let i=0;i<100;++i){let i=this._getBestWorkspaceForFile(e,t);if(await i.isInitialized.promise,i===this._getBestWorkspaceForFile(e,t))return i}throw Error("Failed to get the best workspace after 100 attempts")}_getOrCreateBestWorkspaceFileSync(e,t){var i;let r=this._getBestWorkspaceForFile(e,t);return n4.z.isEmpty(t)||(null==(i=r.pythonPath)?void 0:i.equals(t))||(r=this._createImmutableCopy(r,t)),r}_mimicOpenFiles(e,t,i){for(let a of e.service.getOpenFiles().filter(e=>!this._isPythonPathImmutable(e))){let s=e.service.backgroundAnalysisProgram.program.getSourceFileInfo(a);if(s&&i(a)){var r,n;let e=s.sourceFile,i=e.getFileContent(),o=e.getIPythonMode();t.service.setFileOpened(a,null!=(r=e.getClientVersion())?r:null,i||"",o,null==(n=s.chainedSourceFile)?void 0:n.uri)}}}_createImmutableCopy(e,t){let i=this._add({rootUri:e.rootUri,name:e.workspaceName,pythonPath:t,pythonPathKind:Sh.Immutable,kinds:e.kinds});return this._mimicOpenFiles(e,i,()=>!0),i}_getBestWorkspaceForFile(e,t){var i;let r,n=this.items().filter(t=>{var i;return t.service.isTracked(e)||(null==(i=t.rootUri)?void 0:i.equals(e))}).filter(Sk);r=this._getBestRegularWorkspace(n,t);let a=this.getNonDefaultWorkspaces(sL.mE.Regular);return void 0===r&&a.every(t=>t.rootUri.scheme===a[0].rootUri.scheme&&(t.rootUri.scheme===e.scheme||e.isUntitled())&&t.rootUri.equals(a[0].rootUri))&&(r=this._getBestRegularWorkspace(a,t)),void 0!==r&&(null==(i=r.pythonPath)?void 0:i.equals(t))||(r=this._getBestRegularWorkspace(a.filter(t=>t.service.hasSourceFile(e)&&t.rootUri.scheme===e.scheme),t)||r),void 0===r&&(r=this._getOrCreateDefaultWorkspace(e,t)),r}_getOrCreateDefaultWorkspace(e,t){let i=this._map.get(this._factories.getDefaultWorkspaceKey(e,t));return i||(i=this._add({rootUri:void 0,name:Sg,pythonPath:t,pythonPathKind:n4.z.isEmpty(t)?Sh.Mutable:Sh.Immutable,kinds:[sL.mE.Default],requestingUri:e})),i}_getLongestPathWorkspace(e){let t=e.reduce((e,t)=>!e||t.rootUri.getPathLength()>e.getPathLength()?t.rootUri:e,n4.z.empty());return e.find(e=>e.rootUri.equals(t))}_getBestRegularWorkspace(e,t){if(0!==e.length){if(1===e.length)return e[0];if(!n4.z.isEmpty(t)){let i=e.filter(e=>n4.z.equals(e.pythonPath,t));if(i.length>0)return this._getLongestPathWorkspace(i)}return this._getLongestPathWorkspace(e)}}constructor(e,t,i,r,n,a){Sw(this,"_console",void 0),Sw(this,"_isWeb",void 0),Sw(this,"_allowNonLocal",void 0),Sw(this,"_isPythonPathImmutable",void 0),Sw(this,"_serviceProvider",void 0),Sw(this,"_factories",void 0),Sw(this,"_map",void 0),Sw(this,"_workspaceCreatedEmitter",void 0),Sw(this,"_workspaceRemovedEmitter",void 0),Sw(this,"_id",void 0),this._console=e,this._isWeb=t,this._allowNonLocal=i,this._isPythonPathImmutable=n,this._serviceProvider=a,this._map=new Map,this._workspaceCreatedEmitter=iR.create(),this._workspaceRemovedEmitter=iR.create(),this._id=Sb++,this._console.log(`Pylance WorkspaceFactory ${this._id} created`),this._factories=new ST(r)}}function Sk(e){return!!e.rootUri}function SI(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class SC{get containsChange(){return this._documents.length>1}get currentDocument(){return this._lastTextEntry.document.getText()}applyChanges(e){let t=(e=(0,n2.cy)(e)?e:[e]).map(e=>({range:e.range,newText:e.replacementText})),i=this._lastTextEntry.document,r=h6.TextDocument.create(i.uri,i.languageId,i.version+1,h6.TextDocument.applyEdits(i,t));this._console.info(`Applying ${t.length} edits to document ${this.fileUri.toString()} for document transformation.`);let n=e.map(e=>({range:aB.vY.fromBounds(i.offsetAt(e.range.start),i.offsetAt(e.range.end)),replacementText:e.replacementText})).sort((e,t)=>e.range.start-t.range.start),a=Sx(i.getText(),n);return this._documents.push({document:r,forwardChanges:n,reverseChanges:a}),this.currentDocument}tryConvertToOriginal(e){if(aK(e))return this._tryConvertToOriginal(e);let t=this._tryConvertToOriginal(e.start),i=this._tryConvertToOriginal(e.end);return t&&i?{start:t,end:i}:void 0}tryConvertFromOriginal(e){if(aK(e))return this._tryConvertFromOriginal(e);let t=this._tryConvertFromOriginal(e.start),i=this._tryConvertFromOriginal(e.end);return t&&i?{start:t,end:i}:void 0}get _lastTextEntry(){return this._documents[this._documents.length-1]}_tryConvertToOriginal(e){let t=this._lastTextEntry.document.offsetAt(e);for(let e=this._documents.length-1;e>=1;e--){let i=this._applyDelta(t,this._documents[e].reverseChanges);if(void 0===i)return;t+=i}return this._documents[0].document.positionAt(t)}_tryConvertFromOriginal(e){let t=this._documents[0].document.offsetAt(e);for(let e=1;e<this._documents.length;e++){let i=this._applyDelta(t,this._documents[e].forwardChanges);if(void 0===i)return;t+=i}return this._lastTextEntry.document.positionAt(t)}_applyDelta(e,t){let i=0;for(let r of t){let t=aB.vY.getEnd(r.range);if(!(e<=r.range.start)){if(r.range.start<e&&e<t)return;t<=e&&(i+=r.replacementText.length-r.range.length)}}return i}constructor(e,t,i){SI(this,"fileUri",void 0),SI(this,"_baseDocument",void 0),SI(this,"_console",void 0),SI(this,"_documents",void 0),this.fileUri=e,this._baseDocument=t,this._console=i,this._documents=[],this._documents.push({document:h6.TextDocument.create("N/A","python",0,this._baseDocument),forwardChanges:[],reverseChanges:[]})}}function SP(e,t){if(0===t.length||t.some(e=>nZ.TextDocumentContentChangeEvent.isFull(e)))return;let i=t.map(t=>({range:aB.vY.fromBounds(e.offsetAt(t.range.start),e.offsetAt(t.range.end)),replacementText:t.text})).sort((e,t)=>e.range.start-t.range.start),r=Sx(e.getText(),i),n={range:r[0].range,delta:0};return r.reduce((e,t)=>(e.delta=e.delta+t.range.length-t.replacementText.length,e.range=aB.vY.extend(e.range,t.range),e),n)}function Sx(e,t){let i=[],r=0;for(let n of t)i.push({range:aB.vY.create(n.range.start+r,n.replacementText.length),replacementText:e.substring(n.range.start,aB.vY.getEnd(n.range))}),r+=n.replacementText.length-n.range.length;return i}function SF(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class SA{async getNotebookDataForPythonPath(e){return(await Promise.all([...this._notebookMap.values()])).find(t=>t.pythonPath===e)}async getNotebookDataForCell(e){n6.vA(oy.isNotebookCell(e));let t=this._uriMapper.getNotebookUriFromCell(e);return await this._getNotebookData(t)}onDidOpenNotebookDocument(e){let t=this._uriMapper.parseNotebookOpen(e),i=this._chainNotebookData(t);this._eventQueue.queue(async()=>{let r=await i.old;try{var n,a,s,o,l;let i=this._workspaceFactory.getContainingWorkspace(t),d=await this._getPythonInformation(t,null==i?void 0:i.rootUri),u=await this._getNotebookPrefixCellContents(i);n=e.cellTextDocuments,a=this._uriMapper,s=this._caseSensitivityDetector,o=(null==d?void 0:d.pythonPath)||n4.z.empty(),l=null==d?void 0:d.pythonEnvironmentName,r={notebookUri:t,mappedCellUris:n.map(e=>a.getMappedCellUri(n4.z.parse(e.uri,s))),prefixCellUri:oy.getNotebookPrefixUri(t),prefixCellContents:u||"",pythonPath:o,pythonEnvironmentName:l,operations:[`Created ${n.length} cells`]};let p=await this._getNotebookWorkspace(r.prefixCellUri,r.pythonPath);hW(e.cellTextDocuments,r,this._uriMapper,p),hz(r,p),s7(p).setNotebookData({kind:"open",fileUri:t,data:r})}finally{i.new.resolve(r)}this._testing&&iF.sendNotification(this._connection,iF.Notifications.TestSignal,{uri:e.notebookDocument.uri,kind:iF.TestSignalKinds.DidOpenNotebookDocument})})}onDidChangeNotebookKernel(e){let t=this._chainNotebookData(e);this._eventQueue.queue(async()=>{let i=await t.old;s7(await this._changeNotebookKernel(i)).setNotebookData({kind:"change",fileUri:e,data:i}),t.new.resolve(i)})}onDidChangeNotebookDocument(e){this._recordUserInteractionTime();let t=this._uriMapper.parseNotebookChange(e);void 0===this._notebookMap.get(t.key)&&n6.fJ(`Notebook was never opened but we got a change event for it (${t})`);let i=this._chainNotebookData(t);this._eventQueue.queue(async()=>{let r=await i.old;try{var n,a,s,o,l,d,u,p,c,h;let i=await this._getNotebookWorkspace(r.prefixCellUri,r.pythonPath);if(((null==(u=e.change)||null==(d=u.metadata)||null==(l=d.custom)||null==(o=l.metadata)?void 0:o.kernelspec)||(null==(h=e.change)||null==(c=h.metadata)||null==(p=c.metadata)?void 0:p.kernelspec))&&(i=await this._changeNotebookKernel(r)),null==(n=e.change.cells)?void 0:n.structure){let t=e.change.cells.structure;!function(e,t,i,r){if(t.mappedCellUris&&(e.array.deleteCount>0&&(t.mappedCellUris.splice(e.array.start,e.array.deleteCount),t.operations.push("Deleted")),e.array.cells)){if(e.array.start<t.mappedCellUris.length){let i=Array(e.array.cells.length);t.mappedCellUris.splice(e.array.start,0,...i),t.operations.push("Inserted")}for(let n=0;n<e.array.cells.length;++n)t.mappedCellUris[e.array.start+n]=i.getMappedCellUri(n4.z.parse(e.array.cells[n].document,r.service.serviceProvider)),t.operations.push(`Added at position ${e.array.start+n}:${e.array.cells.length}`)}if(t.mappedCellUris&&(e.didClose&&e.didClose.length>0&&e.didClose.forEach(e=>{let t=i.getMappedCellUri(n4.z.parse(e.uri,r.service.serviceProvider));r.service.setFileClosed(t,!1)}),e.didOpen&&e.didOpen.length>0)){let n=e.array.start>0?t.mappedCellUris[e.array.start-1]:t.prefixCellUri;hW(e.didOpen,t,i,r,n)}!function(e,t,i){var r,n;if(!t.mappedCellUris)return;if(e.array.cells&&(!e.didOpen||e.array.cells.length!==e.didOpen.length))for(let r=e.array.start;r<e.array.start+e.array.cells.length;++r)hB(t,i,r);let a=e.array.start+(null!=(r=null==(n=e.array.cells)?void 0:n.length)?r:0);a>=0&&a<t.mappedCellUris.length&&hB(t,i,a),hz(t,i)}(e,t,r)}(t,r,this._uriMapper,i)}null==(s=e.change.cells)||null==(a=s.textContent)||a.forEach(e=>{var t;let r=this._uriMapper.getMappedCellUri(n4.z.parse(e.document.uri,this._caseSensitivityDetector)),n=(null==(t=i.service.getSourceFile(r))?void 0:t.getFileContent())||"",a=h6.TextDocument.create(e.document.uri,"python",e.document.version-1,n),s=SP(a,e.changes);h6.TextDocument.update(a,e.changes,e.document.version),i.service.updateOpenFileContents(r,e.document.version,a.getText(),sA.Bk.CellDocs,s)}),s7(i).setNotebookData({kind:"change",fileUri:t,data:r})}finally{i.new.resolve(r)}this._testing&&iF.sendNotification(this._connection,iF.Notifications.TestSignal,{uri:e.notebookDocument.uri,kind:iF.TestSignalKinds.DidChangeNotebookDocument})})}onDidCloseNotebookDocument(e){let t=this._uriMapper.parseNotebookClose(e),i=this._chainNotebookData(t);this._eventQueue.queue(async()=>{let e=await i.old;try{let r=await this._getNotebookWorkspace(e.prefixCellUri,e.pythonPath);[e.prefixCellUri,...e.mappedCellUris].forEach(e=>{r.service.setFileClosed(e,!1)}),this._workspaceFactory.removeUnused(r),this._notebookMap.get(t.key)===i.continuation&&this._notebookMap.delete(t.key),s7(r).setNotebookData({kind:"close",fileUri:t,data:e})}finally{i.new.resolve(e)}})}test_getNotebookData(e){return this._getNotebookData(e)}async registerNotebookStartupCommands(e){for(let i of(this._registeredStartupCommands=e,this._notebookMap.values())){let e=await i,r=await this._getNotebookPrefixCellContents(this._workspaceFactory.getContainingWorkspace(e.prefixCellUri));e.prefixCellContents=r;let n=s7(await this._getNotebookWorkspace(e.prefixCellUri,e.pythonPath)),a=n.program.getSourceFileInfo(e.prefixCellUri);if(a){var t;n.updateOpenFileContents(e.prefixCellUri,a.clientVersion?a.clientVersion+1:1,e.prefixCellContents,{ipythonMode:sA.Bk.CellDocs,isTracked:!0,chainedFileUri:null==(t=a.chainedSourceFile)?void 0:t.uri}),n.markFilesDirty(e.mappedCellUris.concat([e.prefixCellUri]),!0)}}}get _console(){return this._serviceProvider.console()}get _uriMapper(){return this._serviceProvider.uriMapper()}get _caseSensitivityDetector(){return this._serviceProvider.get(n7.y.caseSensitivityDetector)}async _changeNotebookKernel(e){var t,i;let r=await this._getNotebookWorkspace(e.prefixCellUri,e.pythonPath),n=await this._getPythonInformation(e.notebookUri,r.rootUri);e.pythonPath=(null==n?void 0:n.pythonPath)||e.pythonPath,e.pythonEnvironmentName=null==n?void 0:n.pythonEnvironmentName;let a=await this._getNotebookWorkspace(e.prefixCellUri,null==n?void 0:n.pythonPath);if((a.pythonPath||r.pythonPath)&&!(null==(t=a.pythonPath)?void 0:t.equals(r.pythonPath))||(a.rootUri||r.rootUri)&&!(null==(i=a.rootUri)?void 0:i.equals(r.rootUri))){if(e){let t=[e.prefixCellUri,...e.mappedCellUris];this._workspaceFactory.moveFiles(t,r,a)}(r=a).service.invalidateAndForceReanalysis(gX.q.Reanalyzed)}return r.pythonEnvironmentName=null==n?void 0:n.pythonEnvironmentName,r}_getNotebookData(e){return this._notebookMap.get(e.key)||Promise.resolve(void 0)}_recordUserInteractionTime(){this._workspaceFactory.items().forEach(e=>{e.service.recordUserInteractionTime()})}async _getNotebookWorkspace(e,t){if(void 0===t&&oy.isNotebookCell(e)){let i=await this.getNotebookDataForCell(e);t=null==i?void 0:i.pythonPath}return this._waitForClientResponse&&await iF.sendRequest(this._connection,iF.Requests.Wait,{timeout:5e3}),await this._workspaceFactory.getWorkspaceForFile(e,t)}_chainNotebookData(e){let t=this._notebookMap.get(e.key)||Promise.resolve({notebookUri:e,mappedCellUris:[],prefixCellContents:"",prefixCellUri:oy.getNotebookPrefixUri(e),pythonPath:void 0,pythonEnvironmentName:void 0,operations:["updated"]}),i=(0,dI.ud)(),r=t.then(()=>i.promise);return this._notebookMap.set(e.key,r),{old:t,new:i,continuation:r}}async _getNotebookPrefixCellContents(e){var t;let i,r=(i=(null==(t=e?await this._getSettings(e):void 0)?void 0:t.notebookRunStartupCommands)||"",t&&!1===t.implicitImportsInNotebooks?i:`from IPython.display import *
${i}
`);if(this._registeredStartupCommands.length>0){let e=this._registeredStartupCommands.join("\n");r+=`${e}
`}return r}async _getPythonInformation(e,t){let i=await this._getConfiguration(e,iN.pythonSectionName),r=this._workspaceFactory.getNonDefaultWorkspaces(sL.mE.Regular);var n=this._caseSensitivityDetector;if(i){let e;(0,n2.Kg)(i.pythonPath)&&!(0,sx.O5)(i.pythonPath)&&(e=t?t.resolvePaths((0,sR.b)(i.pythonPath,t,r)):n4.z.file(i.pythonPath,n,!0));let a=i.pythonEnvironmentName||(null==e?void 0:e.toUserVisibleString());return{pythonPath:e,pythonEnvironmentName:a}}}async _getSettings(e){let t={};try{let i=this._workspaceFactory.getNonDefaultWorkspaces(sL.mE.Regular),r=await this._getConfiguration(e.rootUri,iN.pythonSectionName);r&&hq(t,e,r,i);let n=await this._getConfiguration(e.rootUri,iN.pythonAnalysisSectionName);n&&hG(t,e,n,i);let a=await this._getConfiguration(e.rootUri,iN.jupyterSectionName);a&&hH(t,e,a)}catch(e){this._console.error(`Error reading settings: ${e}`)}let i=this._serviceProvider.get(nM.settingTransformer).transformSettings(t,e);return this._console.log(`Notebook settings returned for workspace: ${e.rootUri}: ${JSON.stringify(i,null,2)}`),i}constructor(e,t,i,r,n,a){SF(this,"_connection",void 0),SF(this,"_serviceProvider",void 0),SF(this,"_workspaceFactory",void 0),SF(this,"_getConfiguration",void 0),SF(this,"_waitForClientResponse",void 0),SF(this,"_testing",void 0),SF(this,"_eventQueue",void 0),SF(this,"_notebookMap",void 0),SF(this,"_registeredStartupCommands",void 0),this._connection=e,this._serviceProvider=t,this._workspaceFactory=i,this._getConfiguration=r,this._waitForClientResponse=n,this._testing=a,this._eventQueue=new lm,this._notebookMap=new Map,this._registeredStartupCommands=[]}}var SD=i(48071),SE=i(2370),SR=i(93728),SN=i(8469),SM=i(72930),SO=i(85693);function SU(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class SL extends SO.g{update(e){var t,i;this._autoIndent=null!=(t=e.autoIndent)&&t,this._autoFormatStrings=null!=(i=e.autoFormatStrings)&&i,this.register()}registerFeature(){let e=hY(this._autoIndent,this._autoFormatStrings,this._connection.console);return void 0===e?Promise.resolve(nZ.Disposable.create(()=>{})):this._connection.client.register(nZ.DocumentOnTypeFormattingRequest.type,{documentSelector:this._documentSelector,...e})}constructor(e,t,i,r){super("format on type"),SU(this,"_connection",void 0),SU(this,"_documentSelector",void 0),SU(this,"_autoIndent",void 0),SU(this,"_autoFormatStrings",void 0),this._connection=e,this._documentSelector=t,this._autoIndent=i,this._autoFormatStrings=r}}function Sz(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class SW{get reanalysisRequested(){return this._reanalysisEventEmitter.event}get childProcessCreated(){return this._childProcessEventEmitter.event}dispose(){var e;null==(e=this._externalServer)||e.dispose(),this._openFileMap.clear()}analyzeFile(e,t){var i;if(null==(i=this._pendingFileAnalysisCancellationSource.get(e))||i.cancel(),this._pendingFileAnalysisCancellationSource.delete(e),this._pendingFileAnalysis.delete(e),!this._externalServer)return Promise.resolve(void 0);{let t=new nZ.CancellationTokenSource,i=this._externalServer.getDiagnostics(e,t.token);return this._pendingFileAnalysis.set(e,i),i}}analyzeWorkspaces(e,t,i){let r=e.map(e=>t?e.service.backgroundAnalysisProgram.program.getCheckingRequiredFiles():e.service.backgroundAnalysisProgram.program.getOwnedFiles()).flat().map(e=>e.uri),n=new ar.Z;r.forEach(e=>{n.set(e,!0)});let a=[];for(let e of n.keys())a.push(this.analyzeFile(e,i));return Promise.all(a).then(e=>e.filter(e=>void 0!==e))}async combinePushResults(e){if(!this._externalServer||!(e.diagnostics.length>0))return e;{let t=[];for(let i of e.diagnostics)t.push(this._getPendingFileAnalysis(i.fileUri));try{let i=await Promise.all(t),r=e.diagnostics.map(e=>{var t;return{kind:"full",uri:e.fileUri.toString(),version:null!=(t=e.version)?t:null,items:e.diagnostics.map(e=>({severity:lp(e.category),range:e.range,message:e.message,code:e.getRule(),data:{category:e.category}}))}}),n=this._combineDiagnostics(i,r).map(e=>{var t;return{fileUri:this._convertLspUriToUri(e.uri),version:null!=(t=e.version)?t:void 0,diagnostics:e.items.map(e=>lu(e))}});return{...e,diagnostics:n}}catch(t){return this._serviceProvider.console().log(`ExternalServerController exception leak: ${t}`),e}}}async combinePullResults(e){if(!this._externalServer||!(e.items.length>0))return e;{let t=[];for(let i of e.items){let e=this._convertLspUriToUri(i.uri);t.push(this._getPendingFileAnalysis(e))}try{let i=await Promise.all(t),r=this._combineDiagnostics(i,e.items);return{...e,items:r}}catch(t){return this._serviceProvider.console().log(`ExternalServerController exception leak: ${t}`),e}}}handleDidChangeSettings(){this._externalServer&&this._externalServer.handleDidChangeSettings()}async handleShutdown(){this._externalServer&&await this._externalServer.handleShutdown()}handleInitialize(e){e.workspaceFolders&&(this._openedWorkspaceFolders=e.workspaceFolders)}handleDidChangeWatchedFiles(e){this._externalServer&&this._externalServer.handleDidChangeWatchedFiles(e)}handleUpdateSettings(e,t){if(this._externalServer&&e.uri&&this._externalServer.handleUpdateSettings(e,t),t.diagnosticsSource&&t.diagnosticsSource!==this._currentDiagnosticsSource){var i,r;this._currentDiagnosticsSource=t.diagnosticsSource,null==(i=this._externalServer)||i.dispose(),this._externalServer=void 0,null==(r=this._serviceProvider.tryGet(nM.externalServerFactory))||r.create(this._serviceProvider,t,this._convertLspUriToUri,this._getSettings).then(e=>{this._externalServer=e,this._startServer(),this._childProcessEventEmitter.fire((null==e?void 0:e.pid)||0)}).catch(e=>{this._serviceProvider.console().log(`ExternalServerController exception leak: ${e}`)})}}handleDidOpenTextDocument(e){let t=this._convertLspUriToUri(e.textDocument.uri);this._openFileMap.set(t,h6.TextDocument.create(e.textDocument.uri,"python",e.textDocument.version,e.textDocument.text)),this._externalServer&&this._externalServer.handleDidOpenTextDocument(e)}handleDidCloseTextDocument(e){let t=this._convertLspUriToUri(e.textDocument.uri);this._openFileMap.delete(t),this._externalServer&&this._externalServer.handleDidCloseTextDocument(e)}handleDidChangeTextDocument(e){let t=this._convertLspUriToUri(e.textDocument.uri),i=this._openFileMap.get(t);i?h6.TextDocument.update(i,e.contentChanges,e.textDocument.version):this._openFileMap.set(t,h6.TextDocument.create(e.textDocument.uri,"python",e.textDocument.version,"")),this._externalServer&&this._externalServer.handleDidChangeTextDocument(e)}handleWorkspaceFoldersChanged(e){for(let t of e.event.removed){let e=this._openedWorkspaceFolders.findIndex(e=>e.uri===t.uri);e>=0&&this._openedWorkspaceFolders.splice(e,1)}for(let t of e.event.added)0>this._openedWorkspaceFolders.findIndex(e=>e.uri===t.uri)&&this._openedWorkspaceFolders.push(t);this._externalServer&&this._externalServer.handleWorkspaceFoldersChanged(e)}_getPendingFileAnalysis(e){return this._pendingFileAnalysis.get(e)||this.analyzeFile(e,new nZ.CancellationTokenSource().token)}_combineDiagnostics(e,t){return this._externalServer?this._externalServer.combineDiagnostics(e,t):t}_startServer(){var e;this._externalServer&&(null==(e=this._externalServer)||e.start(this._openedWorkspaceFolders).then(()=>{var e;this._openFileMap.forEach((e,t)=>{this._externalServer&&this._externalServer.handleDidOpenTextDocument({textDocument:{uri:t.toString(),languageId:"python",version:e.version,text:e.getText()}})}),null==(e=this._externalServer)||e.reanalysisRequested(()=>{this._reanalysisEventEmitter.fire()}),this._reanalysisEventEmitter.fire()}).catch(()=>{}))}constructor(e,t,i){Sz(this,"_serviceProvider",void 0),Sz(this,"_convertLspUriToUri",void 0),Sz(this,"_getSettings",void 0),Sz(this,"_openFileMap",void 0),Sz(this,"_openedWorkspaceFolders",void 0),Sz(this,"_externalServer",void 0),Sz(this,"_currentDiagnosticsSource",void 0),Sz(this,"_pendingFileAnalysis",void 0),Sz(this,"_pendingFileAnalysisCancellationSource",void 0),Sz(this,"_reanalysisEventEmitter",void 0),Sz(this,"_childProcessEventEmitter",void 0),this._serviceProvider=e,this._convertLspUriToUri=t,this._getSettings=i,this._openFileMap=new ar.Z,this._openedWorkspaceFolders=[],this._currentDiagnosticsSource="pylance",this._pendingFileAnalysis=new ar.Z,this._pendingFileAnalysisCancellationSource=new ar.Z,this._reanalysisEventEmitter=iR.create(),this._childProcessEventEmitter=iR.create()}}var SB=i(25075),S$=i(98868),Sj=i(12565);async function SK(e,t){await Sj.iX.init({locateFile:(t,i)=>e.toString()}),x=await Sj.TM.load(t)}class SV{parse(e,t,i){try{let t=new Sj.iX;t.setLanguage(null!=x?x:null);let r=t.parse(e,i);return null!=r?r:void 0}catch(e){t.error(`Error parsing docstring: ${e}`);return}}}function Sq(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class SG{get text(){var e;return(null==(e=this._document)?void 0:e.rootNode.text)||""}get currentNode(){return this._currentNode}get previousNode(){return this._previousNode}get root(){var e;return null==(e=this._document)?void 0:e.rootNode}walk(e){this._document=e,this._currentNode=e.rootNode,this.walkChildren(this._currentNode)}getNodeIndentation(e){if(e){for(let t=e.startIndex;t>=0;t--)if("\n"===this.text[t]||0===t){let i=this.text.slice(t+1,e.startIndex).match(/^\s+/);if(i)return i[0];break}}return""}getWhitespaceBetween(e,t){return this.text.slice(e.endIndex,t.startIndex)}getCurrentIndentation(e){let t=null!=e?e:this.currentNode;return t?this.getNodeIndentation(t):""}visitNode(e){let t=this._document;this._currentNode=e;let i=!0;switch(e.type){case"content":i=this.visitContent(e);break;case"comment":i=this.visitComment(e);break;case"section":i=this.visitSection(e);break;case"directive":i=this.visitDirective(e);break;case"definition":i=this.visitDefinition(e);break;case"field":i=this.visitField(e);break;case"options":i=this.visitOptions(e);break;case"field_list":i=this.visitFieldList(e);break;case"field_name":i=this.visitFieldName(e);break;case"field_body":i=this.visitFieldBody(e);break;case"line_block":i=this.visitLineBlock(e);break;case"line":i=this.visitLine(e);break;case"|":i=this.visitPipe(e);break;case"definition_list":i=this.visitDefinitionList(e);break;case"bullet_list":i=this.visitBulletList(e);break;case"list_item":i=this.visitListItem(e);break;case"body":i=this.visitBody(e);break;case"block_quote":i=this.visitBlockQuote(e);break;case"arguments":i=this.visitArguments(e);break;case"bullet":i=this.visitBullet(e);break;case"type":i=this.visitType(e);break;case"literal_block":i=this.visitLiteralBlock(e);break;case"classifier":i=this.visitClassifier(e);break;case":":i=this.visitColon(e);break;case"..":i=this.visitDirectiveIdentifier(e);break;case"::":i=this.visitDirectiveSeparator(e);break;case"title":i=this.visitTitle(e);break;case"adornment":i=this.visitAdornment(e);break;case"text":i=this.visitText(e);break;case"paragraph":i=this.visitParagraph(e);break;case"literal":i=this.visitLiteral(e);break;case"term":i=this.visitTerm(e);break;case"standalone_hyperlink":i=this.visitStandaloneHyperlink(e);break;case"reference":i=this.visitReference(e);break;case"target":i=this.visitTarget(e);break;case"name":i=this.visitName(e);break;case"link":i=this.visitLink(e);break;case"emphasis":i=this.visitEmphasis(e);break;case"interpreted_text":i=this.visitInterpretedText(e);break;case"strong":i=this.visitStrong(e);break;case"role":i=this.visitRole(e);break;case"doctest_block":i=this.visitDocTestBlock(e);break;case"footnote":i=this.visitFootNote(e);break;case"footnote_reference":i=this.visitFootNoteReference(e);break;case"label":i=this.visitLabel(e);break;case"enumerated_list":i=this.visitEnumeratedList(e);break;case"citation":i=this.visitCitation(e);break;case"citation_reference":i=this.visitCitationReference(e);break;case"substitution":i=this.visitSubstitution(e);break;case"substitution_definition":i=this.visitSubstitutionDefinition(e);break;case"substitution_reference":i=this.visitSubstitutionReference(e);break;case"ERROR":i=this.handleError(e);break;case" ":i=this.visitSpace(" ");break;case"transition":i=this.visitTransition(e);break;default:var r;this.console.error(`Unknown node type: ${null==(r=e.parent)?void 0:r.type}:${e.type}`)}this._previousNode=e,i&&this._document===t&&this.walkChildren(e)}handleError(e){return this._errors.push(e),!1}visitTransition(e){return!0}visitComment(e){return!0}visitSubstitution(e){return!0}visitSubstitutionReference(e){return!0}visitSubstitutionDefinition(e){return!0}visitCitation(e){return!0}visitCitationReference(e){return!0}visitField(e){return!0}visitFieldList(e){return!0}visitOptions(e){return!0}visitFieldName(e){return!0}visitFieldBody(e){return!0}visitLineBlock(e){return!0}visitLine(e){return!0}visitPipe(e){return!0}visitBlockQuote(e){return!0}visitEnumeratedList(e){return!0}visitLabel(e){return!0}visitFootNoteReference(e){return!0}visitFootNote(e){return!0}visitContent(e){return this.walkContent(e)}walkContent(e){if(!e.text.includes("\n")||this.findParent(e,e=>{var t,i;return"literal_block"===e.type||"doctest_block"===e.type||"directive"===e.type&&["code","code-block","sourcecode"].includes(null!=(t=null==(i=e.namedChildren.find(e=>"type"===e.type))?void 0:i.text)?t:"")})||this._contentReparseDepth>=3)return!0;let t=this._tryGetCommonLeadingIndent(e.text);if(!t)return!0;let i=e.text.split("\n").map(e=>e.replace(/\r/g,"")).filter(e=>e.trim().length>0);if(i.length<2)return!0;let r=!1;for(let e of i){if(!r&&!e.startsWith(t)){if(/^[ \t]+/.test(e))return!0;r=!0;continue}if(!e.startsWith(t))return!0;r=!0}let n=e.text.split("\n").map(e=>0===e.trim().length?e:e.startsWith(t)?e.slice(t.length):e).join("\n");null!=SG._sharedParser||(SG._sharedParser=new SV);let a=SG._sharedParser.parse(n,this.console);if(!a)return!0;this._contentReparseDepth++;try{this._walkWithTemporaryDocument(a)}finally{this._contentReparseDepth--}return!1}visitText(e){return!0}visitDocTestBlock(e){return!0}visitClassifier(e){return!0}visitColon(e){return!0}visitRole(e){return!0}visitStrong(e){return!0}visitInterpretedText(e){return!0}visitEmphasis(e){return!0}visitLink(e){return!0}visitName(e){return!0}visitTarget(e){return!0}visitReference(e){return!0}visitStandaloneHyperlink(e){return!0}visitLiteralBlock(e){return!0}visitArguments(e){return!0}visitLiteral(e){return!0}visitTerm(e){return!0}visitType(e){var t;return(null==(t=e.parent)?void 0:t.type)!=="directive"||this.visitDirectiveType(e)}visitDirective(e){var t;let i=null==(t=e.namedChildren.find(e=>"type"===e.type))?void 0:t.text;switch(i){case"figure":case"image":return this.visitImageDirective(e);case"contents":return this.visitTableOfContentsDirective(e);case"code":case"code-block":case"sourcecode":return this.visitCodeBlockDirective(e);case"versionadded":return this.visitVersionAddedDirective(e);case"seealso":return this.visitSeeAlsoDirective(e);case"list-table":return this.visitListTableDirective(e);default:return this.visitDefaultDirective(e,i)}}visitVersionAddedDirective(e){return!0}visitListTableDirective(e){return!0}visitSeeAlsoDirective(e){return!0}visitDirectiveIdentifier(e){return!0}visitDirectiveSeparator(e){return!0}visitDefinition(e){return!0}visitBody(e){return!0}visitBullet(e){return!0}visitBulletList(e){return!0}visitDefinitionList(e){return!0}visitListItem(e){return!0}visitSection(e){return!0}visitTitle(e){return!0}visitParagraph(e){return!0}visitDirectiveType(e){return!0}visitDefaultDirective(e,t){return!0}visitImageDirective(e){return!0}visitTableOfContentsDirective(e){return!0}visitCodeBlockDirective(e){return!0}walkChildren(e){e.childCount>0&&this.walkSiblings(e.firstChild)}walkSiblings(e){let t=this._document;for(;e&&t===this._document;)this.visitNode(e),this.walkWhitespace(e),e=e.nextSibling}walkWhitespace(e){if(e&&e.nextSibling&&e.nextSibling.startIndex>e.endIndex){let t=this.text.slice(e.endIndex,e.nextSibling.startIndex),i="",r=!1,n=e=>{e.length>0&&(r?this.visitIndent(e):this.visitSpace(e)),r=!1};for(let e=0;e<t.length;e++)if("\n"===t[e]){let e=r;n(i),this.visitLineFeed(e),r=!0,i=""}else i+=t[e];n(i)}}findSiblingOfType(e,t){for(;e;){if(e.type===t)return e;e=e.nextSibling}}findParent(e,t){let i=e.parent;for(;i;){if(t(i))return i;i=i.parent}}findPreviousSection(e){var t,i;let r=e;for(;r&&(null==(t=r.parent)?void 0:t.id)!==(null==(i=this._document)?void 0:i.rootNode.id);)r=r.parent;for(;r&&"transition"!==r.type;){if("section"===r.type)return r;r=r.previousSibling}}findFirstDescendantWithType(e,t){return this.findFirstDescendant(e,e=>e.type===t)}findMatchingDescendants(e,t,i=100){let r=e?e.children.map(e=>({node:e,depth:0})):[],n=[],a=0;for(;r.length>0&&a<=i;){let e=r.shift();if(e){for(let i of(t(e.node)&&n.push(e.node),e.node.children))r.push({node:i,depth:e.depth+1});a=e.depth}}return n}findFirstDescendant(e,t){let i=e?[...e.children]:[];for(;i.length>0;){let e=i.shift();if(e){if(t(e))return e;for(let t of e.children)i.push(t)}}}visitAdornment(e){return!0}visitLineFeed(e){return!0}visitSpace(e){return!0}visitIndent(e){return!0}_walkWithTemporaryDocument(e){let t=this._document,i=this._currentNode,r=this._previousNode;try{this._document=e,this._currentNode=e.rootNode,this._previousNode=void 0,this.walkChildren(e.rootNode)}finally{this._document=t,this._currentNode=i,this._previousNode=r}}_tryGetCommonLeadingIndent(e){let t=e.split("\n").map(e=>e.replace(/\r/g,"")),i=[],r=!1,n=!1;for(let e of t){if(0===e.trim().length)continue;let t=e.match(/^[ \t]+/);if(!t){if(!r){r=!0,n=!0;continue}return}r=!0,i.push(t[0])}if(0===i.length)return;let a=i.reduce((e,t)=>e.length<=t.length?e:t);if(0===a.length)return;let s=t.filter(e=>e.trim().length>0),o=s[0];if(!(n&&o&&!/^[ \t]+/.test(o)?s.slice(1):s).some(e=>!e.startsWith(a)))return a}constructor(e){Sq(this,"console",void 0),Sq(this,"_document",void 0),Sq(this,"_errors",void 0),Sq(this,"_currentNode",void 0),Sq(this,"_previousNode",void 0),Sq(this,"_contentReparseDepth",void 0),this.console=e,this._errors=[],this._contentReparseDepth=0}}Sq(SG,"_sharedParser",void 0);let SH="childfieldmarker",SJ=":empty: ``";function SY(e){let t=e.toLowerCase();return"parameters"===t||"parameter"===t||"args"===t||"arg"===t||"arguments"===t||"argument"===t||"params"===t||"param"===t||"other parameters"===t}function SQ(e){let t=e.toLowerCase();return"returns"===t||"return"===t||"yields"===t||"yield"===t}function SX(e){return e.toLowerCase().includes("raise")}function SZ(e){let t=e.map(e=>e.search(/\S/));t.sort((e,t)=>e-t);let i=t[t.length/2];return" ".repeat(i>0?i:4)}function S0(e){let t=function(e,t=""){let i=null,r="",n=0,a=0;for(let t=1;t<e.length;t++){let s=e[t];""!==s.trim()&&(0!==a||i||(r=(i=s.match(/^\s+/))?i[0]:""),a++,""===r&&/^\.\s+/.test(s)&&(r=(i=s.match(/^\.\s+/))?i[0]:""),r.length>0&&s.startsWith(r)&&n++)}return n>2*a/3?r.length>0?r:t:""}(e.split("\n"));return e.split("\n").map(e=>""!==e.trim()&&t.length>0&&e.startsWith(t)?e.slice(t.length):e).join("\n")}function S1(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let S5=new Set(["param","parameter","arg","argument","attribute","key","keyword"]),S4=new Set(["raises","raise","except","exception"]),S3=new Set(["return","returns"]),S8=new Set(["yield","yields"]),S2=new Set(["example","examples"]),S6=new Set(["todo","todos"]);class S7 extends Error{}var S9=((iT={})[iT.REST=1]="REST",iT[iT.GOOGLE=2]="GOOGLE",iT[iT.NUMPYDOC=3]="NUMPYDOC",iT[iT.EPYDOC=4]="EPYDOC",iT[iT.AUTO=255]="AUTO",iT),ke=((iw={})[iw.Unknown=0]="Unknown",iw[iw.Param=1]="Param",iw[iw.Returns=2]="Returns",iw[iw.Yields=3]="Yields",iw[iw.Raises=4]="Raises",iw[iw.Deprecated=5]="Deprecated",iw[iw.Example=6]="Example",iw[iw.Todo=7]="Todo",iw);class kt{get section(){return kd(this.args[0])||"Unknown"}constructor(e,t,i,r){S1(this,"kind",void 0),S1(this,"args",void 0),S1(this,"description",void 0),S1(this,"unknown",void 0),this.kind=e,this.args=t,this.description=i,this.unknown=r}}class ki extends kt{get section(){if(this.sectionTitle)return this.sectionTitle;let e=this.args[0];switch(e){case"param":return"Parameters";case"arg":return"Args";case"attribute":return"Attributes";default:return kd(e)||"Unknown"}}constructor(e,t,i,r,n,a,s,o){super(1,e,t,s),S1(this,"argName",void 0),S1(this,"typeName",void 0),S1(this,"isOptional",void 0),S1(this,"defaultValue",void 0),S1(this,"sectionTitle",void 0),this.argName=i,this.typeName=r,this.isOptional=n,this.defaultValue=a,this.sectionTitle=o}}class kr extends kt{get section(){return this.isGenerator?"Yields":"Returns"}constructor(e,t,i,r,n=null,a=null){super(2,e,t,a),S1(this,"typeName",void 0),S1(this,"isGenerator",void 0),S1(this,"returnName",void 0),this.typeName=i,this.isGenerator=r,this.returnName=n}}class kn extends kt{get section(){return"Raises"}constructor(e,t,i,r=null){super(4,e,t,r),S1(this,"typeName",void 0),this.typeName=i}}class ka extends kt{get section(){return"Deprecated"}constructor(e,t,i,r){super(5,e,t,r),S1(this,"version",void 0),this.version=i}}class ks extends kt{get section(){return"Examples"}constructor(e,t,i,r){super(6,e,i,r),S1(this,"snippet",void 0),this.snippet=t}}class ko extends kt{get section(){return"Todos"}constructor(e,t,i){super(7,e,t,i)}}class kl{get description(){let e=[];return(this.shortDescription&&(e.push(this.shortDescription),this.hasBlankAfterShortDescription&&e.push("")),this.longDescription&&e.push(this.longDescription),0===e.length)?null:e.join("\n")}get params(){return this.meta.filter(e=>e instanceof ki)}get raises(){return this.meta.filter(e=>e instanceof kn)}get returns(){for(let e of this.meta)if(e instanceof kr)return e;return null}get manyReturns(){return this.meta.filter(e=>e instanceof kr)}get deprecation(){for(let e of this.meta)if(e instanceof ka)return e;return null}get examples(){return this.meta.filter(e=>e instanceof ks)}get todo(){return this.meta.filter(e=>e instanceof ko)}constructor(e=null){S1(this,"shortDescription",void 0),S1(this,"longDescription",void 0),S1(this,"hasBlankAfterShortDescription",void 0),S1(this,"hasBlankAfterLongDescription",void 0),S1(this,"meta",void 0),S1(this,"style",void 0),this.shortDescription=null,this.longDescription=null,this.hasBlankAfterShortDescription=!1,this.hasBlankAfterLongDescription=!1,this.meta=[],this.style=e}}function kd(e){return e?e.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()):void 0}function ku(e,t){t.lastIndex=0;let i=[],r=[...e.matchAll(t)];for(let t=0;t<r.length;t++){var n,a;let s=r[t],o=(null!=(n=s.index)?n:0)+s[0].length,l=t<r.length-1?null!=(a=r[t+1].index)?a:0:e.length;i.push({start:o,end:l,text:s[0]})}return i}function kp(e){return e.replace(/^\n+|\n+$/g,"")}function kc(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class kh{constructor(e,t,i){kc(this,"title",void 0),kc(this,"key",void 0),kc(this,"type",void 0),this.title=e,this.key=t,this.type=i}}let km=/\s*(.+?)\s*\(\s*(.*[^\s]+)\s*\)/,ky=/.*\. Defaults to (.+)\./,kg=/^(\s*[^:\s]+.*:)|([^:]*\]:.*)/,kf=/(\s*[^:\s]*\s*(\(.*?\))?\s*)(:)/,kv=[new kh("Arguments","param",1),new kh("Args","param",1),new kh("Parameters","param",1),new kh("Params","param",1),new kh("Raises","raises",1),new kh("Exceptions","raises",1),new kh("Except","raises",1),new kh("Attributes","attribute",1),new kh("Example","examples",0),new kh("Examples","examples",0),new kh("Returns","returns",2),new kh("Yields","yields",2),new kh("Todo","todo",0)];class k_{addSection(e){this.sections[e.title]=e,this._setup()}parse(e){let t,i,r=new kl(S9.GOOGLE);if(!e)return r;let n=this.titlesRegex.exec(e);n?(t=e.slice(0,n.index),i=e.slice(n.index)):(t=e,i=""),this.titlesRegex.lastIndex=0;let a=function(e,t,i){let r=e.split("\n");if(r.length<=2)return r;let n=r.slice(0,1);return n.push(r.slice(1).join("\n")),n}(t,0,0);if(r.shortDescription=a[0]||null,a.length>1){let e=a[1]||"";r.hasBlankAfterShortDescription=e.startsWith("\n"),r.hasBlankAfterLongDescription=e.endsWith("\n\n"),r.longDescription=e.trim()||null}let s=ku(i,this.titlesRegex);if(0===s.length)return r;let o={};for(let e=0;e<s.length;e++){let t=s[e],r=t.text.slice(0,-1);if(!(r in this.sections))continue;let n=i.slice(t.start,t.end),a=/\n\S/.exec(n),l=null;a&&(n=n.slice(0,a.index),l=i.slice(t.start+a.index,t.end)),o[r]={details:kp(n),unknown:l?kp(l):null}}for(let e in o){let t=o[e],i=t.details.match(/^\s*/);if(!i)throw new S7(`Can't infer indent from "${t}"`);let n=i[0];if([0,2].includes(this.sections[e].type)){r.meta.push(this._buildMeta(S0(t.details),e,t.unknown));continue}let a=ku(t.details,RegExp(`^${n}(?=\\S)`,"mg"));for(let i=0;i<a.length;i++){let n=a[i],s=i===a.length-1?t.unknown:null,o=kp(t.details.slice(n.start,n.end));r.meta.push(this._buildMeta(o,e,s))}}return r}_setup(){let e=this.titleColon?":":"",t=Object.keys(this.sections).map(e=>`(${e})`).join("|");this.titlesRegex=RegExp(`^(${t})${e}[ \r\f\v]*$`,"mg");let i=Object.keys(this.sections).filter(e=>!e.includes("xample")).map(e=>`(${e})`).join("|");this.isGoogleDocString=RegExp(`^(${i})${e}[ \r\f\v]*$`,"mg")}_buildMeta(e,t,i){let r=this.sections[t];if(2===r.type&&!kg.test(e)||0===r.type)return this._buildSingleMeta(r,S0(e.trimStart()),i);let n=kf.exec(e);if(!n)throw new S7(`Expected a colon in "${e}".`);let a=S3.has(r.key)||S8.has(r.key)?n.index+n[1].length:n[1].length,s=kp(e.slice(0,a)),o=S0(kp(e.slice(a+1)).trimStart());return this._buildMultiMeta(r,s.trim(),o,i)}_buildSingleMeta(e,t,i){if(S3.has(e.key)||S8.has(e.key))return new kr([e.key],t,null,S8.has(e.key),null,i);if(S4.has(e.key))return new kn([e.key],t,null,i);if(S2.has(e.key))return new ks([e.key],null,t,i);if(S6.has(e.key))return new ko([e.key],t,i);if(!S5.has(e.key))return new kt(ke.Unknown,[e.key],t,i);throw new S7("Expected parameter name.")}_buildMultiMeta(e,t,i,r){if(S5.has(e.key)||S3.has(e.key)||S8.has(e.key)){let n,a,s,o=km.exec(t);o?([n,a]=o.slice(1),a.endsWith(", optional")?(s=!0,a=a.slice(0,-10)):a.endsWith("?")?(s=!0,a=a.slice(0,-1)):s=!1):(n=t,a=null,s=null);let l=ky.exec(i),d=l?l[1]:null;if(S5.has(e.key))return new ki([e.key,t],i,n,a,s,d,r,e.title);if(S3.has(e.key)||S8.has(e.key))return new kr([e.key,t],i,a,S8.has(e.key),n,r)}else if(S4.has(e.key))return new kn([e.key,t],i,t,r);return new kt(ke.Unknown,[e.key,t],i,r)}constructor(e=kv,t=!0){kc(this,"sections",void 0),kc(this,"titleColon",void 0),kc(this,"titlesRegex",RegExp("")),kc(this,"isGoogleDocString",RegExp("")),this.sections=e.reduce((e,t)=>(e[t.title]=t,e),{}),this.titleColon=t,this._setup()}}function kT(e,t){t.unknown&&(e.push(""),e.push("----"),e.push(""),e.push(t.unknown),e.push(""))}function kw(e,t){let i=t?t.split("\n"):[],r=0;for(let t=0;t<i.length;t++){let n=i[t];if(0===n.trim().length)e.push(""),r=Math.max(0,r-1);else if(r>0)e.push(` ${n}`);else if(n.trim().endsWith(":")&&!n.trim().endsWith("::")){let a;for(let e=t+1;e<i.length;e++)if(i[e].trim().length>0){a=i[e];break}a&&function(e){let t=e.trim();return/^[-*+]\s|^\d+\.\s/.test(t)}(a)?e.push(` ${n}`):(e.push(` ${n}`),e.push(""),e.push(".. code-block:: python"),r=2)}else e.push(` ${n}`)}}function kb(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let kS=/@(brief|anchor|type|param|rtype|return)\s+/;class kk extends SG{static fix(e,t,i){try{let r=function(e){try{let s=new k_;if(s.isGoogleDocString.test(e)){s.isGoogleDocString.lastIndex=0;let o=s.parse(e),l=[];o.description&&l.push(o.description);let d=new Map([[ke.Param,"Parameters"],[ke.Returns,"Returns"],[ke.Raises,"Raises"],[ke.Example,"Examples"],[ke.Todo,"Todo"],[ke.Deprecated,"Deprecated"]]);for(let e=0;e<o.meta.length;e++){var t,i,r,n,a;let s=o.meta[e],u=d.get(s.kind);if(u){let e=null!=(t=s.section)?t:u;l.push(""),l.push(e),l.push("-".repeat(u.length)),d.delete(s.kind)}if(s instanceof ki){let e=`${null!=(i=s.typeName)?i:"``"}${s.isOptional?", optional":""}`;l.push(`${s.argName} : ${e}`),kw(l,s.description),kT(l,s)}else s instanceof kr?(l.push(`${null!=(r=s.returnName)?r:"out"} : ${null!=(n=s.typeName)?n:"``"}`),kw(l,s.description)):s instanceof kn?(l.push(`${s.typeName} : \`\``),kw(l,s.description)):l.push(null!=(a=s.description)?a:""),kT(l,s)}return l.join("\n")}}catch(e){}return e}(e),n=function(e){let t=e.split("\n"),i=[],r=!1,n="",a="";for(let e=0;e<t.length;e++){var s,o;let l=t[e],d=l.trim();if(d.startsWith("```")||d.startsWith("~~~")){let e=/^(`{3,}|~{3,})\s*(python\s*)*(.*)/.exec(d);r=!r,n=(null==(s=l.match(/^\s+/))?void 0:s[0])||"",a="",i.push(""),r&&(i.push(".. code-block:: python"),e&&e[3].length&&i.push(` ${e[3]}`))}else r&&d.length>0?(((null==(o=l.match(/^\s+/))?void 0:o[0])||"").length<=n.length&&(a=" "),i.push(`${a}${l}`)):/^\s+\*.*?\s+:\s+.*$/.test(l)?i.push(l.replace(":",`:`)):i.push(l)}return i.join("\n")}(r),a=t.parse(n,i);if(a){let e=new kk(t,i);return e.walk(a),e.text}}catch(e){i.error(`Error fixing docstring: ${e}`)}return e}visitFieldList(e){let t=e.nextNamedSibling;if((null==t?void 0:t.type)==="field_list"&&0===this.text.slice(e.endIndex,t.startIndex).trim().length){let i=this.text.slice(0,e.endIndex)+"\n"+this.text.slice(t.startIndex);return this.rewalk(i),!1}if((null==t?void 0:t.type)==="paragraph"&&this.getCurrentIndentation(e)===this.getCurrentIndentation(t)&&2===this.getWhitespaceBetween(e,t).split("\n").length){let i=t.text.split("\n"),r=[],n=!1;for(let e of i)e.trim().startsWith(":")||n?(r.push(e),n=!0):r.push(" "+e);let a=this.getNodeIndentation(e);return r[0]=`${a} ${r[0]}`,this._replaceNodeAndRewalk(t,r),!1}let i=this.findMatchingDescendants(e,e=>"field_name"===e.type,2),r=i.map(e=>e.text),n=!1,a=!1,s=!1,o=!1,l=!1;if(r.some(e=>e.startsWith("param")||e.startsWith("type"))&&(n=!this.findFirstDescendant(this.root,e=>{var t;return"section"===e.type&&SY((null==e||null==(t=e.firstChild)?void 0:t.text)||"")}),o=!0),r.some(e=>e.startsWith("return"))&&(a=!this.findFirstDescendant(this.root,e=>{var t;return"section"===e.type&&SQ((null==e||null==(t=e.firstChild)?void 0:t.text)||"")}),o=!0),r.some(e=>e.startsWith("raise"))&&(s=!this.findFirstDescendant(this.root,e=>{var t;return"section"===e.type&&SX((null==e||null==(t=e.firstChild)?void 0:t.text)||"")}),o=!0),r.some(e=>e.startsWith("var")||e.startsWith("vartype"))&&(l=!this.findFirstDescendant(this.root,e=>{var t;let i;return"section"===e.type&&("var"===(i=((null==e||null==(t=e.firstChild)?void 0:t.text)||"").toLowerCase())||"vartype"===i)}),o=!0),o&&this._currentFieldList!==e.text){var d,u,p;this._currentFieldList=e.text;let t=[];for(let e of(n&&(t.push(""),t.push("Parameters"),t.push("----------"),t.push("")),i.filter(e=>e.text.startsWith("type")))){let t=(null==(d=e.nextNamedSibling)?void 0:d.text.replace(/\n\s+/g," "))||"``",i=this._splitField(e.text).name;this._paramToTypeName.set(i,t)}for(let e of i.filter(e=>e.text.startsWith("rtype"))){let t=(null==(u=e.nextNamedSibling)?void 0:u.text.replace(/\n\s+/g," "))||"``";this._returnTypes.push(t)}let r=(e,i,r)=>{t.push(`${e} : ${i}`);let n=(null==r?void 0:r.text.split("\n"))||[],a=n[0],s=!1,o="";for(let e=1;e<n.length;e++){let t=n[e];t.trim().length>0&&!s?(a+=" "+t.trimStart(),o=t.slice(0,t.search(/\S/))):s?a+="\n"+t:(a+="\n",s=!0,o=o.length>=0?o:SZ(n.slice(e+1)))}t.push(`${o.length>0?o:" "}${a||""}`)};for(let e of i.filter(e=>e.text.startsWith("param")||e.text.startsWith("arg"))){let t=this._splitField(e.text),i=t.name,n="``"!==t.type?t.type:this._paramToTypeName.get(i)||"``";r(i,n,e.nextNamedSibling)}for(let e of(a&&(t.push(""),t.push("Returns"),t.push("-------"),t.push("")),i.filter(e=>e.text.startsWith("return")))){let t=this._splitField(e.text),i="``"!==t.type?t.type:this._returnTypes.shift()||"``";r("``"===i?"out":i,"``",e.nextNamedSibling)}for(let e of(s&&(t.push(""),t.push("Raises"),t.push("------"),t.push("")),i.filter(e=>e.text.startsWith("raise")))){let t=this._splitField(e.text);r(t.name,t.type,e.nextNamedSibling)}for(let e of(l&&(t.push(""),t.push("Attributes"),t.push("----"),t.push("")),i.filter(e=>e.text.startsWith("vartype")))){let t=(null==(p=e.nextNamedSibling)?void 0:p.text.replace(/\n\s+/g," "))||"``",i=this._splitField(e.text).name;this._varToTypeName.set(i,t)}for(let e of i.filter(e=>e.text.startsWith("var "))){let t=this._splitField(e.text),i=t.name,n="``"!==t.type?t.type:this._varToTypeName.get(i)||"``";r(i,n,e.nextNamedSibling)}return this._replaceNodeAndRewalk(e,t),!1}return!0}visitDefinitionList(e){return!kS.test(e.text)||(this._fixEpytextParagraph(e),!1)}visitListItem(e){let t=e.firstChild;return(null==t?void 0:t.type)!=="term"||this.visitTermListItem(t)}visitClassifier(e){if(e.text.includes("\n")&&!e.text.includes(SJ)){let t=this.getNodeIndentation(e);return this._replaceNodeAndRewalk(e,[e.text.replace(/\n/,`
${t} ${SJ}
`)]),!1}if(0===this.text.slice(e.endIndex).trim().length&&!e.text.endsWith(SJ)){let t=this.getNodeIndentation(e);return this._insertAfterNodeAndRewalk(e,[`
${t} ${SJ}`]),!1}return!0}visitTermListItem(e){let t=e.text;if(t.includes("\n")&&!t.includes(SJ)){let i=this.getNodeIndentation(e);return this._replaceNodeAndRewalk(e,[t.replace(/\n/,`
${i} ${SJ}
`)]),!1}return!0}visitListTableDirective(e){let t=/:header-rows:\s*(\d+)/.exec(e.text),i=t?parseInt(t[1]):1,r=/:widths:\s*(.*)/.exec(e.text),n=r?r[1].split(" ").map(e=>parseInt(e)):[],a=this.findFirstDescendantWithType(e,"body"),s=this.findFirstDescendantWithType(a,"content");if(s&&n.length>0){let t=s.text.split("\n").map(e=>e.trim()),r=[],a="| ",o="",l=0,d=e=>{var t;let i=null!=(t=n[l])?t:1;a=`${a}${o.padEnd(i)} | `,o=e,l++},u=()=>{(a.length>2||o.length>0)&&(d(""),r.push(a)),a="| ",l=0};for(let e=0;e<t.length;e++){let i=t[e];i.startsWith("* -")?(u(),o=i.slice(3).trim()):i.startsWith("-")&&d(i.slice(1).trim())}u();let p=`+${n.map(e=>"-".repeat(e+2)).join("+")}+`,c=`+${n.map(e=>"=".repeat(e+2)).join("+")}+`,h=[];for(let e=0;e<r.length;e++){let t=r[e];e!==i?h.push(p):e===i&&h.push(c),h.push(t)}return h.push(p),this._replaceNodeAndRewalk(e,h),!1}return!0}visitDirective(e){let t=e.text.split("\n");if(t.slice(1).some(e=>/^\s+\.\. /.test(e))&&!this.findFirstDescendantWithType(e,"directive")){let i=t.map(e=>/^\s+\.\. /.test(e)?e.trim():e);return this._replaceNodeAndRewalk(e,i),!1}return super.visitDirective(e)}visitParagraph(e){var t;if(kS.test(e.text))return this._fixEpytextParagraph(e),!1;if(e.text.startsWith("$ ")&&1===e.text.split("\n").length){let t=this.text.slice(0,e.startIndex)+".. code-block:: bash\n "+this.text.slice(e.startIndex+1);return this.rewalk(t),!1}if(/\s+\w+\s*\(.*?\):/.test(e.text)&&0!==this.getCurrentIndentation(e).length&&void 0===this.findParent(e,e=>e.type.includes("list")))return this._replaceNodeAndRewalk(e,[e.text.replace(/\):/g,") :")]),!1;if(e.text.trim().endsWith(":")&&0===this.getCurrentIndentation(e).length&&!e.text.endsWith("::")&&(null==(t=e.nextNamedSibling)?void 0:t.type)==="block_quote")return this._replaceNodeAndRewalk(e,[`${e.text}:`]),!1;if((e.text.includes("\n>>>")||e.text.includes("\n.. "))&&0===this.getCurrentIndentation(e).length){let t=e.text.split("\n"),i=!1,r=[];for(let e=0;e<t.length;e++){let n=t[e];(n.startsWith(">>>")||n.startsWith(".. "))&&e>0&&t[e-1].trim().length>0?(r.push(""),r.push(n),i=!0):r.push(n)}if(i)return this._replaceNodeAndRewalk(e,r),!1}return!0}rewalk(e){if(this._rewalkDepth+=1,this._rewalkDepth<=30){let t=this._parser.parse(e,this.console);t&&this.walk(t)}}handleError(e){var t;if(this._insideErrorNode===e.text)return!1;if(this._insideErrorNode=e.text,e.namedChildren.some(e=>"list_item"===e.type)){for(let t of e.namedChildren.filter(e=>"list_item"===e.type)){let e=t.previousNamedSibling;if(t&&e){let i=this.getNodeIndentation(t),r=this.getNodeIndentation(e),n=this.text.slice(e.endIndex,t.startIndex);if(i.length>0&&i.length!==r.length&&n.split("\n").length>2)return this._insertAfterNodeAndRewalk(e,["::"]),!1}}if(e.lastNamedChild&&e.endIndex>e.lastNamedChild.endIndex&&"list_item"===e.lastNamedChild.type&&!e.text.includes("\n\n")){let t=this.getNodeIndentation(e.lastChild),i=this.text.slice(0,e.endIndex)+`
${t} ${SJ}
`;return this.rewalk(i),!1}}if((null==(t=this.previousNode)?void 0:t.text.endsWith(":"))&&!this.previousNode.text.endsWith("::")){let e=this.text.slice(0,this.previousNode.endIndex)+":"+this.text.slice(this.previousNode.endIndex);return this.rewalk(e),!1}return!0}visitSeeAlsoDirective(e){return this.visitDefaultDirective(e,"seealso")}visitVersionAddedDirective(e){return this.visitDefaultDirective(e,"versionadded")}visitDefaultDirective(e,t){let i=this.getCurrentIndentation(e),r=e.namedChildren.find(e=>"body"===e.type);if((null==r?void 0:r.namedChildren.length)===1&&"content"===r.namedChildren[0].type&&!e.text.includes(SH)){let t=e.text.split("\n"),r=SZ(t.slice(1)),n=[];for(let e=0;e<t.length;e++){let a=t[e];0===e?(n.push(a),n.push(`${i}${r}:${SH}: `)):n.push(`${r}${a}`)}return this._replaceNodeAndRewalk(e,n),!1}return!0}_insertAfterNodeAndRewalk(e,t){let i=this.text.slice(0,e.endIndex)+t.join("\n")+this.text.slice(e.endIndex);this.rewalk(i)}_replaceNodeAndRewalk(e,t){let i=t.join("\n"),r=this.text.slice(0,e.startIndex)+i+this.text.slice(e.endIndex);this.rewalk(r)}_fixEpytextParagraph(e){let t=e.text.split("\n"),i=[],r=new Map,n="";for(let e of t)if(e.startsWith("@brief"))i.push(""),i.push(e.slice(6).trim()),i.push("");else if(e.startsWith("@anchor")){let t=e.slice(7).trim();i.push(t),i.push("=".repeat(t.length))}else if(e.startsWith("@type")){let t=/^@type\s+(\w+)\s*:\s*(.*)\s*$/.exec(e);t&&r.set(t[1],t[2])}else if(e.startsWith("@param")){let t=/^@param\s+(\w+)\s*:\s*(.*)\s*$/.exec(e);if(t){i.push(`:param ${t[1]}: ${t[2]}`);let e=r.get(t[1]);e&&i.push(`:type ${t[1]}: ${e}`)}let n=/^@param\s+('.*')\s*:\s*(.*)\s*$/.exec(e);if(n){let e=n[1].split(" or ").map(e=>e.trim()),t=[],r="";for(let i of e){let e=/^'(\w+):(.*)'$/.exec(i);e&&(r=e[1],t.push(e[2]))}i.push(`:param ${r}: ${n[2]}`),t.length>0&&i.push(`:type ${r}: ${t.join(" or ")}`)}}else if(e.startsWith("@rtype")){let t=/^@rtype\s*:\s*(.*)\s*$/.exec(e);t&&(n=t[1])}else if(e.startsWith("@return")){let t=/^@return\w*\s*:\s*(.*)\s*$/.exec(e);t&&(i.push(`:returns: ${t[1]}`),i.push(`:rtype: ${n}`));let r=/^@return\s+'(\w+)'\s*:\s*(.*)\s*$/.exec(e);r&&(i.push(`:returns: ${r[2]}`),i.push(`:rtype: ${r[1]}`))}else i.push(e);this._replaceNodeAndRewalk(e,i)}_splitField(e){if(e.startsWith("return")){let t=e.match(/^(\w+)\s*(.*)$/);if(t)return{name:"out",type:t[2]||"``"}}if(e.startsWith("raise")){let t=e.match(/^(\w+)\s*(.*)$/);if(t)return{name:t[2]||"",type:"``"}}let t=e.match(/^(\w+)\s*(.*)\s+(\S+)$/);return t?{name:t[3],type:t[2]||"``"}:{name:"",type:"``"}}constructor(e,t){super(t),kb(this,"_parser",void 0),kb(this,"_insideErrorNode",void 0),kb(this,"_currentFieldList",void 0),kb(this,"_paramToTypeName",void 0),kb(this,"_varToTypeName",void 0),kb(this,"_returnTypes",void 0),kb(this,"_rewalkDepth",void 0),this._parser=e,this._insideErrorNode="",this._currentFieldList="",this._paramToTypeName=new Map,this._varToTypeName=new Map,this._returnTypes=[],this._rewalkDepth=0}}function kI(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class kC{async processAsync(e,t){let i=kk.fix(e,this._parser,t.console);return{docString:i,modified:i!==e}}constructor(e){kI(this,"_parser",void 0),kI(this,"name",void 0),kI(this,"priority",void 0),this._parser=e,this.name="fixer",this.priority=10}}function kP(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class kx extends SG{get originalText(){return this._originalText}walk(e){this._originalText=e.rootNode.text,this._result="",super.walk(e)}appendText(e){this._result+=e}insertText(e,t){e<0&&(e=this._result.length+e),this._result=this._result.slice(0,e)+t+this._result.slice(e)}getCurrentIndentation(){let e=this._result.lastIndexOf("\n");if(e>=0){let t=this._result.slice(e+1).match(/^(\s+|[ ]+)/);if(t)return t[0].replace(/ /g," ")}return""}removeIndentationOnCurrentLine(){let e=this._result.lastIndexOf("\n");if(e>=0){let t=this._result.slice(e+1),i=t.match(/^(\s+|[ ]+)/);if(i)return this._result=this._result.slice(0,e+1)+t.slice(i[0].length),i[0].replace(/ /g," ")}return""}removeUpToLastLineFeed(){let e=this._result.lastIndexOf("\n");e>=0&&(this._result=this._result.slice(0,e))}replaceText(e,t){this._result=this._result.replace(e,t)}getResult(){return this._result}extractNodeText(e){if(!(e.childCount>0))return e.text;{var t;let i=this._result;this._result="",(null==(t=this.currentNode)?void 0:t.id)!==e.id?this.visitNode(e):this.walkChildren(e);let r=this._result;return this._result=i,r}}handleError(e){let t=this._originalText.slice(e.startIndex);return this.appendText(t),!1}visitText(e){return this.appendText(e.text),!0}visitAdornment(e){return this.appendText(e.text),!0}visitLineFeed(e){return this.appendText("\n"),!0}visitSpace(e){var t;return(null==(t=this.currentNode)?void 0:t.type)!=="|"&&this.appendText(e),!0}visitIndent(e){return this.appendText(e),!0}visitInterpretedText(e){return this.appendText(e.text),!0}visitEmphasis(e){return this.appendText(e.text),!0}visitStrong(e){return this.appendText(e.text),!0}constructor(e){super(e),kP(this,"_result",""),kP(this,"_originalText","")}}function kF(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let kA=/`(.*?\s*.*?)<(.*?)>`_/,kD="https://peps.python.org/pep-",kE=/:pep:`(\d+)(.*)`/,kR=[":func:",":class:",":meth:",":attr:",":mod:",":obj:",":exc:",":data:"];class kN extends kx{static convertToMarkdown(e,t,i,r){let n=new kN(t,!!i,r,void 0);n.walk(e);let a=n.getResult();return n._foundError?(0,uf.H)(n.text):a.replace(/%([^%]+?:\d+)%/g,(e,t)=>n._replacePlaceholder(e,t))}static async convertToMarkdownAsync(e,t,i,r,n){let a=new kN(t,!!i,r,n);a.walk(e);let s=a.getResult();return a._foundError?(0,uf.H)(a.text):(n&&r&&(s=await a._resolveCodeReferences(s)),s.replace(/%([^%]+?:\d+)%/g,(e,t)=>a._replacePlaceholder(e,t)))}pushIndentMode(e){this._indentMode.push(e)}popIndentMode(){this._indentMode.pop()}pushLineFeedMode(e){this._lineFeedMode.push(e)}popLineFeedMode(){this._lineFeedMode.pop()}visitTransition(e){return this.appendText("\n"),!1}visitDocTestBlock(e){return this.appendText("``` python\n"),this.appendText(e.text),this.appendText("\n```\n "),!1}visitSection(e){let t=e.lastChild,i=1;switch(t?t.text[0]:"#"){case"#":case"*":case"=":i=1;break;case"-":i=2;break;case"^":i=3;break;default:i=4}this.appendText(`${"#".repeat(i)} `);let r=e.namedChildren.find(e=>"title"===e.type);return r&&this.walkChildren(r),this.appendText("\n"),!1}visitColon(e){return this._forceLiteral&&this.appendText(e.text),!0}visitListItem(e){if(this._forceLiteral)return super.visitListItem(e);let t=e.firstChild;switch(null==t?void 0:t.type){case"bullet":e.text.startsWith("*")||e.text.startsWith("-")||e.text.startsWith("+")?this.appendText("*"):this.appendText(t.text);break;case"enumerated":this.appendText("1. ");break;case"term":return this.visitTermListItem(t)}return!0}visitSpecialTermListItem(e,t=!1){let i,r=this.extractNodeText(e),n=this.findSiblingOfType(e,"classifier"),a=this.findSiblingOfType(n||e,"definition"),s=r,o=(null==n?void 0:n.text)||"",l="",d=!!n;if((null==a?void 0:a.type)!=="definition"||this._insideSpecialTermListItem)return!0;this._insideSpecialTermListItem=!0,this.removeIndentationOnCurrentLine();let u=/^(.*?)\s+\((.*?)\)\s*(.*)/.exec(r);if(u&&(!t||(i=u[1],/^(\*\*?\w+|\w+)$/.test(i))))s=u[1],o=u[2],d=!1,l=u[3],a=n&&"``"!==n.text?n:a;else if(s.includes(":")&&0===o.length){let e,i=s.split(":",2);(!t||(e=i[0].trim(),/^(\*\*?\w+|\w+)$/.test(e)))&&(o=i[1].trim(),d=!1,s=i[0].trim()),a=n&&"``"!==n.text?n:a}let p=0===this.currentBlockIndent();p&&this.blockIndent(),this.appendText(`**${s}**`),(null==o?void 0:o.length)>0&&"``"!==o?(this.appendText(" : "),d&&n?(this.appendText("_"),this.walkChildren(n),this.appendText("_")):this.appendText(`_${o}_`),this.appendText(` ${l} `)):this.appendText(" "),this.pushIndentMode(1),this.appendText("\n");let c=a;for(;c&&c.text!==SJ;)this.visitNode(c),this.walkWhitespace(c),c=c.nextSibling;return this.popIndentMode(),this.appendText("\n"),p&&this.blockDedent(),this._insideSpecialTermListItem=!1,!1}visitNormalTermListItem(e){let t=this.extractNodeText(e),i=this.findSiblingOfType(e,"classifier"),r=this.findSiblingOfType(i||e,"definition");if((null==r?void 0:r.type)!=="definition")return!0;this.removeIndentationOnCurrentLine();let n=!i&&(!t.includes(":")||t.endsWith(":")||t.includes(":")&&t.split(":")[1].split(" ").length<=1),a=e.parent,s=null==a?void 0:a.previousSibling;for(;s;){if(this.findFirstDescendantWithType(s,"classifier")){n=!1;break}s=s.previousSibling}n||(this.blockIndent(),this.pushIndentMode(1),this.pushLineFeedMode(1)),this.appendText(t),i?this.appendText(` : ${i.text}
`):this.appendText(`
`),n&&(this.blockIndent(),this.pushIndentMode(1),this.pushLineFeedMode(1));let o=r;for(;o&&!o.text.includes(SJ);)this.visitNode(o),this.walkWhitespace(o),o=o.nextSibling;return this.appendText(" \n"),this.popLineFeedMode(),this.popIndentMode(),this.blockDedent(),!1}visitTermListItem(e){if(this._forceLiteral)return!0;let t=this.findPreviousSection(e),i=(null==t?void 0:t.type)==="section"?t.namedChildren[0].text:"";return SY(i)||SQ(i)||i.toLowerCase().includes("attributes")||SX(i)?this.visitSpecialTermListItem(e,SQ(i)):this.visitNormalTermListItem(e)}visitVersionAddedDirective(e){return this.visitDefaultDirective(e,"versionadded")}visitSeeAlsoDirective(e){return this.visitDefaultDirective(e,"seealso")}visitImageDirective(e){var t,i,r;let n=this.findFirstDescendantWithType(e,"arguments"),a=this.findFirstDescendant(e,e=>"field_name"===e.type&&"alt"===e.text),s=this.findFirstDescendant(e,e=>"field_name"===e.type&&"target"===e.text),o=n?this.extractNodeText(n):"";o=this._convertToFileUriIfRelative(o);let l=a&&(null==(t=a.nextNamedSibling)?void 0:t.type)==="field_body"?this.extractNodeText(a.nextNamedSibling):"";if(0===l.length){let e=null==a||null==(r=a.parent)||null==(i=r.parent)?void 0:i.nextNamedSibling;e&&(l=this.extractNodeText(e))}if(s){let e=4===s.childCount?this.extractNodeText(s.children[3]):"";this.appendText(`[](${e})`)}else this.appendText(``);return!1}visitCodeBlockDirective(e){let t=this.findFirstDescendantWithType(e,"arguments"),i=t?this.extractNodeText(t):"python";this.appendText(`
\`\`\` ${i}`);let r=this.findFirstDescendantWithType(e,"content"),n=null!=t?t:null==r?void 0:r.parent;return this.walkWhitespace(n),r&&this.visitNode(r),this.appendText("\n```\n"),!1}visitDefaultDirective(e,t){let i=Math.ceil(this.removeIndentationOnCurrentLine().length/4);return this.currentBlockIndent()>0&&i++,this.blockIndent(i),this.appendText(`**_${t}_** `),this.pushIndentMode(1),this.blockIndent(),this.walkChildren(e),this.blockDedent(),this.popIndentMode(),this.blockDedent(),!1}visitLiteralBlock(e){var t;if(((null==(t=e.previousSibling)?void 0:t.text)||"").endsWith("::")){let e=this.getResult(),t=!1,i=e.length-1;for(;!t&&i>0;)" "===e[i]||" "===e[i]||"\n"===e[i]?i--:i>5&&" "===e.slice(i-5,i+1)?i-=6:t=!0;this.insertText(i+1,":")}let i=this.getNodeIndentation(e);return this.removeIndentationOnCurrentLine(),this.pushIndentMode(0),this.appendText(`\`\`\`
${i}`),this.walkChildren(e),"\n"!==this.getResult().trim().slice(-1)&&this.appendText(`
`),this.appendText("```\n"),this.popIndentMode(),!1}visitLiteral(e){let t=e.text;return t.startsWith("``")&&t.endsWith("``")?this.appendText(t.slice(1,-1)):this.appendText(t),!1}visitStandaloneHyperlink(e){return this.appendText(e.text),!1}visitSubstitutionDefinition(e){let t=e.lastNamedChild,i=this.findFirstDescendantWithType(e,"substitution");return t&&i&&(this._substitutions.set(i.text,this.extractNodeText(t)),this.replaceText(RegExp(`\\|${i.text.slice(1,-1)}\\|`,"g"),this._substitutions.get(i.text)||"")),!1}visitSubstitutionReference(e){let t=e.text,i=this._substitutions.get(t);return i?this.appendText(i):this.appendText(t),!1}visitCitation(e){return this.visitFootNote(e)}visitCitationReference(e){return this.visitReference(e)}visitReference(e){let t=this.extractNodeText(e);if(kA.test(t)){let e=kA.exec(t);if(e)return this.appendText(`[${e[1]}](${e[2]})`),!1}else if(t.endsWith("`_")||t.endsWith("]_")){let e=t.slice(1,-2).replace(/\n/g," ");return this._handleReferenceTarget(e,!1),!1}else if(t.endsWith("_")){let e=t.slice(0,-1).replace(/\n/g," ");return this._handleReferenceTarget(e,!0),!1}return!0}visitTarget(e){let t=e.namedChildren.find(e=>"name"===e.type),i=e.namedChildren.find(e=>"link"===e.type);if(t&&i){let e=this.extractNodeText(t).slice(1,-1),r=this.extractNodeText(i);this._references.set(e,r);let n=e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&");return this.replaceText(RegExp(`%${n}:\\d+%`,"g"),`[${e}](${r})`),this.removeUpToLastLineFeed(),!1}return!0}visitFootNoteReference(e){return this.visitReference(e)}visitFootNote(e){let t=this.findFirstDescendantWithType(e,"label"),i=this.findFirstDescendantWithType(e,"body"),r=this.findFirstDescendantWithType(i,"standalone_hyperlink"),n="",a=t?this.extractNodeText(t).slice(1,-1):"UNNAMED";a=a.replace(/\n/g," "),n=r?`[${a}](${this.extractNodeText(r)})`:`<sup>${a}</sup>`;let s=a.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&");return this.replaceText(RegExp(`%${s}:\\d+%`,"g"),n),this._references.set(a,n),this.pushIndentMode(1),this.appendText(`[${a}]: `),this.walkChildren(i),this.appendText("\n"),this.popIndentMode(),!1}visitIndent(e){switch(this._indentMode[this._indentMode.length-1]){case 0:this.appendText(e);break;case 1:break;case 2:this.appendText(" ".repeat(e.length))}return!0}visitLineFeed(e){switch(this._lineFeedMode[this._lineFeedMode.length-1]){case 0:this.appendText("\n");break;case 1:e||this.appendText(" \n");break;case 2:this.appendText(" \n")}return!0}visitField(e){let t=e.previousNamedSibling;(null==t?void 0:t.type)==="field"&&this.insertText(-1," \\");let i=this.findFirstDescendantWithType(e,"field_name");(null==i?void 0:i.text)!==SH&&(this.appendText("**"),this.walkChildren(i),this.appendText("**"),this.appendText(" : "));let r=this.findFirstDescendantWithType(e,"field_body");return r&&this.visitNode(r),!1}visitFieldBody(e){let t=e.firstChild;for(;t;)this.visitNode(t),this.pushIndentMode(1),this.pushLineFeedMode(1),this.walkWhitespace(t),this.popLineFeedMode(),this.popIndentMode(),t=t.nextSibling;return!1}visitInterpretedText(e){var t;let i=this.findFirstDescendantWithType(e,"role"),r=null==i?void 0:i.text;if(":pep:"===r){let t=e.text.match(kE);if(t){let e=t[1],i=`${kD}${e}${t[2]}`;return this.appendText(`[PEP ${e}](${i})`),!1}let r=null==i?void 0:i.previousSibling;if(r){let e=r.text.trim();e.startsWith("`")&&e.endsWith("`")&&(e=e.slice(1,-1));let t=e.match(/^(\d+)(.*)/);if(t){let e=t[1],i=`${kD}${e}${t[2]}`;return this.appendText(`[PEP ${e}](${i})`),!1}}}if(r&&kR.includes(r)){let t=this._extractReferenceText(e,i);if(t&&t.startsWith("%%REF")&&t.endsWith("%"))return this.appendText(t),!1}let n=null!=(t=null==i?void 0:i.nextSibling)?t:null==i?void 0:i.previousSibling;return r&&n?this.visitNode(n):this.appendText(e.text),!1}visitParagraph(e){var t;let i=e.text;if(i.startsWith("+---")){if(i.split("\n")[0].endsWith("+"))return this.visitGridTableParagraph(e)}else if(i.startsWith("===")&&i.includes(" ==="))return this.visitSimpleTableParagraph(e);return!i.startsWith("```")||!!i.includes("\n")||(null==(t=e.nextNamedSibling)?void 0:t.type)!=="block_quote"}visitBlockQuote(e){var t,i;let r=e.previousNamedSibling;if((null==r?void 0:r.type)==="paragraph"&&r.text.startsWith("```")){let t=/^```\s*(\w*)\s*(.*)/.exec(r.text),i=t?t[1]:"python";if(t){let r=this.removeIndentationOnCurrentLine();this.appendText(`\`\`\` ${i}
`),this.appendText(`${r}${t[2]}
`),this.appendText(r),this.walkChildren(e),this.appendText("\n```\n")}}else if((null==(t=e.firstChild)?void 0:t.type.includes("list"))&&(null==(i=e.firstChild)?void 0:i.type)!=="definition_list")return!0;else if(r&&r.text.endsWith(":")){let t=this._forceLiteral;this._forceLiteral=!0,this.pushIndentMode(2),this.pushLineFeedMode(2),this.appendText("\n");let i=this.getNodeIndentation(e);this.appendText(" ".repeat(i.length)),this.walkChildren(e),this.popLineFeedMode(),this.popIndentMode(),this._forceLiteral=t}else{let t=Math.ceil(this.removeIndentationOnCurrentLine().length/4);this.blockIndent(t),this.getResult().length>0&&this.appendText("\n"),this.walkChildren(e),this.blockDedent()}return!1}blockIndent(e=1){this._blockIndents.push(e),this.appendText("<ul>\n".repeat(e)),e>0&&this.appendText("\n")}blockDedent(){let e=this._blockIndents.pop()||0;this.appendText("</ul>\n".repeat(e))}currentBlockIndent(){return this._blockIndents[this._blockIndents.length-1]||0}visitLine(e){return!e.nextSibling||(this.walkChildren(e),this.appendText(" \\"),!1)}visitSimpleTableParagraph(e){let t=this.getNodeIndentation(e);this.removeIndentationOnCurrentLine();let i=e.text.split("\n").map(e=>e.startsWith(t)?e.slice(t.length):e),r=i[0],n=[];for(let e=1;e<r.length;e++)"="===r[e]&&" "===r[e+1]&&n.push(e+1);let a=[],s=!1;for(let e=1;e<i.length;e++){let t=i[e],r=n.reduce((e,t,i)=>{let r=2*i;return e.slice(0,t+r)+" | "+e.slice(t+1+r)},t),o=r.split("|"),l=0===o[0].trim().length,d=e>1&&!s;if(!(r=`| ${r.trim()} |`).includes("===")||e!==i.length-1)if(r.includes("===")&&0!==e||r.includes("---")&&0!==e){let e=r.replace(/=/g,"-");a.push(e),s=!0}else if(l||d){let e=a.pop().split("|").slice(1,-1).map((e,t)=>`${e.trim()} <br/>${o[t].trim()}`),t=`| ${e.join(" | ")} |`;a.push(t)}else a.push(r)}return this.appendText(a.join("\n")),this.appendText("\n"),!1}visitGridTableParagraph(e){this.removeIndentationOnCurrentLine();let t=e.text.split("\n"),i=[],r=0;for(let e=1;e<t.length;e++){let n=t[e].split("|").slice(1,-1).map(e=>e.trim());if(n.length>0)if(r<i.length){let e=i[i.length-1].map((e,t)=>n[t].length>0?`${e} <br/>${n[t]}`:e);i[r]=e}else i.push(n);if(1===(r=n.length<=0?r+1:r)){let e=i[0].map(e=>"---");i.push(e),r++}}let n=i.map(e=>`| ${e.join(" | ")} |`);return this.appendText(n.join("\n")),this.appendText("\n"),!1}visitText(e){if(!this.findParent(e,e=>{var t;return"literal_block"===e.type||"literal"===e.type||"directive"===e.type&&(null==(t=e.firstNamedChild)?void 0:t.text)==="code-block"||"block_quote"===e.type})&&!(e.text.includes("``__")||e.text.includes("__``")))return this.appendText(e.text.replace(/__/g,"\\_\\_")),!1;if(e.text.startsWith(":pep:`")){let t=e.text.match(kE);if(t){let e=t[1];return this.appendText(`[PEP ${e}](${kD}${e}${t[2]})`),!1}}return this.appendText(e.text),!1}handleError(e){let t=this.originalText.slice(e.startIndex);return this.console.info(`
*Warning*: Pylance failed to parse docstring at offset ${e.startIndex}
Outputting literal text instead.`),this.appendText(t),this._foundError=!0,!1}_extractReferenceText(e,t){var i;let r=null!=(i=t.nextSibling)?i:t.previousSibling;if(!r)return;let n=this.extractNodeText(r).trim();if(n.startsWith("`")&&n.endsWith("`")&&(n=n.slice(1,-1)),this._definitionFinder){let e=n.startsWith("~")?n.slice(1):n,t=n.startsWith("~")?e.split(".").pop()||e:n;return`%%REF:${e}:${t}%%`}if(n.startsWith("~")){let e=n.slice(1);return e.split(".").pop()||e}return n}async _resolveCodeReferences(e){let t=[...e.matchAll(/%%REF:([^:]+):([^%]+)%%/g)];if(0===t.length||!this._definitionFinder||!this._sourceFileUri)return e;let i=e;for(let e of t){let t=e[0],r=e[1],n=e[2];try{let e=await this._definitionFinder.findDefinitionByName(this._sourceFileUri,r);if(e){let r=e.uri.toString(),a=e.range.start.line+1,s=e.range.start.character+1,o=`[${n}](${r}#L${a},${s})`;i=i.replace(t,o)}else i=i.replace(t,`\`${n}\``)}catch(e){i=i.replace(t,`\`${n}\``)}}return i}_convertToFileUriIfRelative(e){return!this._sourceFileUri||/^(https?|file|ftp|data):/i.test(e)||(0,ak.kM)((0,ak.Nw)(e))?e:this._sourceFileUri.getDirectory().resolvePaths(e).toString()}_replacePlaceholder(e,t){let i=t.indexOf(":"),r=i>=0?t.substring(0,i):t;return this._placeholdersWithUnderscore.has(t)?`${r}_`:r}_handleReferenceTarget(e,t=!1){let i=this._references.get(e);if(i)this.appendText(`[${e}](${i})`);else{let i=`${e}:${this._placeholderCounter++}`,r=`%${i}%`;t&&this._placeholdersWithUnderscore.add(i),this.appendText(r)}}constructor(e,t,i,r){super(e),kF(this,"_forceLiteral",void 0),kF(this,"_references",void 0),kF(this,"_substitutions",void 0),kF(this,"_placeholderCounter",void 0),kF(this,"_placeholdersWithUnderscore",void 0),kF(this,"_indentMode",void 0),kF(this,"_lineFeedMode",void 0),kF(this,"_insideSpecialTermListItem",void 0),kF(this,"_blockIndents",void 0),kF(this,"_foundError",void 0),kF(this,"_sourceFileUri",void 0),kF(this,"_definitionFinder",void 0),this._forceLiteral=t,this._references=new Map,this._substitutions=new Map,this._placeholderCounter=0,this._placeholdersWithUnderscore=new Set,this._indentMode=[0],this._lineFeedMode=[0],this._insideSpecialTermListItem=!1,this._blockIndents=[0],this._foundError=!1,this._sourceFileUri=i,this._definitionFinder=r,this._forceLiteral&&(this.pushIndentMode(2),this.pushLineFeedMode(2))}}function kM(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class kO extends kN{static extractParameterDocumentation(e,t,i,r){let n=new kO(t,i,!!r);return n.walk(e),n._paramString}visitSpecialTermListItem(e){if(""===this._paramString&&e.text.includes(this._paramName)){this.removeIndentationOnCurrentLine();let t=this.getResult().length;super.visitSpecialTermListItem(e);let i=this.getResult().slice(t),r=i.match(/\*\*(.+?)\*\*\s*/);r&&r[1].includes(this._paramName)&&(this._paramString=i.replace(/^\s*<ul>([\s\S]*)<\/ul>\s*$/,"$1")+`
---
`)}return!1}constructor(e,t,i){super(t,i),kM(this,"_paramName",void 0),kM(this,"_paramString",void 0),this._paramName=e,this._paramString=""}}function kU(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class kL extends S$.i{async convertDocStringToMarkdownAsync(e,t,i,r){return this.convertDocStringToMarkdown(e,t,i)}async extractParameterDocumentationAsync(e,t,i,r){return this.extractParameterDocumentation(e,t)}async extractAttributeDocumentationAsync(e,t,i,r){return this.extractAttributeDocumentation(e,t)}}class kz{get ready(){return this._ready?this._ready:Promise.resolve()}get isRestParsingEnabled(){return this._restParsingEnabled}registerPlugin(e){let t=this._getPluginService();t&&t.register(e)}clone(){return new kz(this._fs,this._treeSitterWasmUri,this._treeSitterRstWasmUri,this._console,this._serviceProvider,this._supportRestParsing)}convertDocStringToPlainText(e){return this._impl.convertDocStringToPlainText(e)}convertDocStringToMarkdown(e,t,i){this._restParsingEnabled&&this._logEnabled&&(this._console.log("Restructured text parsing enabled"),this._console.log("Converting docstring to markdown"),this._console.log(e));let r=new of.dw,n=this._impl.convertDocStringToMarkdown(e,t,i);return this._restParsingEnabled&&this._logEnabled&&(this._console.log(`Conversion complete in ${r.getDurationInMilliseconds()}ms`),this._console.log(n)),n}async convertDocStringToMarkdownAsync(e,t,i,r){if(await this.ready,this._impl.convertDocStringToMarkdownAsync){var n,a;this._restParsingEnabled&&this._logEnabled&&(this._console.log("Restructured text parsing enabled"),this._console.log("Converting docstring to markdown"),this._console.log(e));let s=new of.dw,o=await (null==(n=(a=this._impl).convertDocStringToMarkdownAsync)?void 0:n.call(a,e,t,i,r));return this._restParsingEnabled&&this._logEnabled&&(this._console.log(`Conversion complete in ${s.getDurationInMilliseconds()}ms`),this._console.log(o)),o}return this.convertDocStringToMarkdown(e,t,i)}extractParameterDocumentation(e,t,i,r){return this._impl.extractParameterDocumentation(e,t,i,r)}async extractParameterDocumentationAsync(e,t,i,r){return await this.ready,await this._impl.extractParameterDocumentationAsync(e,t,i,r)}extractAttributeDocumentation(e,t,i,r){return this._impl.extractAttributeDocumentation(e,t,i,r)}async extractAttributeDocumentationAsync(e,t,i,r){return await this.ready,await this._impl.extractAttributeDocumentationAsync(e,t,i,r)}enableRestParsing(e){if(e&&!this._restParsingEnabled){this._restParsingEnabled=!0;let e=new kW(this._fs,this._treeSitterWasmUri,this._treeSitterRstWasmUri,this._console,this._logEnabled,this._serviceProvider);this._ready=e.ready.then(()=>{this._impl=e}).catch(e=>{this._console.error(`Error initializing RestDocStringService: ${e}`),this._restParsingEnabled=!1,this._impl=new kL})}else!e&&this._restParsingEnabled&&(this._restParsingEnabled=!1,this._ready=Promise.resolve(),this._impl=new kL)}_getPluginService(){var e;return null==(e=this._serviceProvider)?void 0:e.tryGet(nM.docStringPluginService)}constructor(e,t,i,r,n,a=!1){kU(this,"_fs",void 0),kU(this,"_treeSitterWasmUri",void 0),kU(this,"_treeSitterRstWasmUri",void 0),kU(this,"_console",void 0),kU(this,"_serviceProvider",void 0),kU(this,"_supportRestParsing",void 0),kU(this,"_impl",void 0),kU(this,"_ready",void 0),kU(this,"_restParsingEnabled",void 0),kU(this,"_logEnabled",void 0),this._fs=e,this._treeSitterWasmUri=t,this._treeSitterRstWasmUri=i,this._console=r,this._serviceProvider=n,this._supportRestParsing=a,this._restParsingEnabled=!1,this._logEnabled=!1,this._impl=new kL,this.enableRestParsing(a),this._logEnabled=aT}}class kW{get ready(){return this._initialized}clone(){return new kW(this._fs,this._parserWasmUri,this._grammarWasmUri,this._console,this._logEnabled,this._serviceProvider)}convertDocStringToPlainText(e){return(0,uf.R)(e)}convertDocStringToMarkdown(e,t,i){let r=this._convertToDocumentSync(e,t,i);return r?kN.convertToMarkdown(r,this._console,t,i):(0,uf.H)(e)}async convertDocStringToMarkdownAsync(e,t,i,r){let n=await this._convertToDocumentAsync(e,t,i);return n?await kN.convertToMarkdownAsync(n,this._console,t,i,r):(0,uf.H)(e)}extractParameterDocumentation(e,t,i,r){if("plaintext"===i||r)return(0,SB.x4)(e,t);let n=this._convertToDocumentSync(e,r,void 0);if(!n)return(0,SB.x4)(e,t);let a=kO.extractParameterDocumentation(n,t,this._console);return 0===a.length&&(a=(0,SB.x4)(e,t)),a}async extractParameterDocumentationAsync(e,t,i,r){if("plaintext"===i||r)return(0,SB.x4)(e,t);let n=await this._convertToDocumentAsync(e,r,void 0);if(!n)return(0,SB.x4)(e,t);let a=kO.extractParameterDocumentation(n,t,this._console);return 0===a.length&&(a=(0,SB.x4)(e,t)),a}extractAttributeDocumentation(e,t,i,r){if("plaintext"===i||r)return(0,SB.wf)(e,t);let n=this._convertToDocumentSync(e,r,void 0);if(!n)return(0,SB.wf)(e,t);let a=kO.extractParameterDocumentation(n,t,this._console);return 0===a.length&&(a=(0,SB.wf)(e,t)),a}async extractAttributeDocumentationAsync(e,t,i,r){if("plaintext"===i||r)return(0,SB.wf)(e,t);let n=await this._convertToDocumentAsync(e,r,void 0);if(!n)return(0,SB.wf)(e,t);let a=kO.extractParameterDocumentation(n,t,this._console);return 0===a.length&&(a=(0,SB.wf)(e,t)),a}_getPluginService(){var e;return null==(e=this._serviceProvider)?void 0:e.tryGet(nM.docStringPluginService)}_convertToDocumentSync(e,t,i){return e===this._lastDocString&&this._lastTree||(e=S0(e=e.replace(/\r/g,"")),this._logEnabled&&(this._console.log("Processing docstring (sync - no plugins):"),this._console.log(e)),this._lastTree=this._restParser.parse(e,this._console),this._lastDocString=e),this._lastTree}async _convertToDocumentAsync(e,t,i){if(e===this._lastDocString&&this._lastTree)return this._lastTree;e=S0(e=e.replace(/\r/g,""));let r=this._getPluginService(),n=r?await r.processAsync(e,{sourceFileUri:i,forceLiteral:t,console:this._console}):e;return this._logEnabled&&(this._console.log("Processed docstring after plugins:"),this._console.log(n)),this._lastTree=this._restParser.parse(n,this._console),this._lastDocString=e,this._lastTree}constructor(e,t,i,r,n,a){kU(this,"_fs",void 0),kU(this,"_parserWasmUri",void 0),kU(this,"_grammarWasmUri",void 0),kU(this,"_console",void 0),kU(this,"_logEnabled",void 0),kU(this,"_restParser",void 0),kU(this,"_initialized",void 0),kU(this,"_lastDocString",void 0),kU(this,"_lastTree",void 0),kU(this,"_serviceProvider",void 0),this._fs=e,this._parserWasmUri=t,this._grammarWasmUri=i,this._console=r,this._logEnabled=n,this._restParser=new SV,this._lastDocString="";const s=new Uint8Array(this._fs.readFileSync(i));this._initialized=SK(t,s),this._serviceProvider=a;const o=this._getPluginService();o&&(o.getPlugins().some(e=>"fixer"===e.name)||o.register(new kC(this._restParser)))}}function kB(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class k$ extends gX.T{get asyncProgram(){return this._enableAsyncProgram&&this._enableExternalTypeServer&&this._externalProgram?this._externalProgram:this._asyncProgramWrapper}dispose(){var e,t;super.dispose(),null==(e=this._globalIndices)||e.reset(this.serviceId),null==(t=this._externalProgram)||t.dispose()}libraryUpdated(){var e;return null==(e=this.backgroundAnalysis)?void 0:e.cancelIndexing()}invalidateAndForceReanalysis(e,t){if(e===gX.q.LibraryWatcherChanged){let e=this.program.serviceProvider.tryGet(nM.packageDiscoverer);null==e||e.reset(cl(this.program),"libraryUpdated")}if(e===gX.q.LibraryWatcherChanged||e===gX.q.LibraryWatcherContentOnlyChanged){var i;let r={changesOnly:e===gX.q.LibraryWatcherContentOnlyChanged,changedFileUris:null==t?void 0:t.changedFileUris};null==(i=this.backgroundAnalysis)||i.refreshIndexing(r)}super.invalidateAndForceReanalysis(e,t)}filesChanged(e){this.asyncProgram.changedWatchedFiles(e)}refreshWorkspaceSymbols(e,t){var i;null==(i=this.backgroundAnalysis)||i.refreshWorkspaceSymbols(e,t)}updatePthCache(e,t){var i;if(!e.pythonPath.equals(this.configOptions.pythonPath))return;null==(i=this.backgroundAnalysis)||i.notify("syncPthCache",e);let r=t(this.serviceProvider,this.configOptions,this.host);this.setImportResolver(r),this.program.emptyCache(),this.program.markAllFilesDirty(!0),this.invalidateAndForceReanalysis(gX.q.LibraryWatcherChanged)}async getDocumentDiagnostics(e,t,i){return this.backgroundAnalysis?await this.backgroundAnalysis.getDocumentDiagnostics({uri:e,previousResultId:t},i):await lk(this.asyncProgram,e,t,i)}async getSemanticTokens(e,t,i,r,n){return this.backgroundAnalysis?await this.backgroundAnalysis.getSemanticTokens({fileUri:e,range:t,includeSyntaxToken:i,previousResultId:r},n):await vX(cl(this.program),e,t,i,r,n)}async onInlayHints(e,t,i,r){return this.backgroundAnalysis?await this.backgroundAnalysis.run("getInlayHints",{fileUri:e,range:t,options:i},r):this.program.run(n=>vd(n,e,t,i,r),r)}onResolveInlayHint(e,t,i){return this.program.run(r=>oB(this.program.serviceProvider.tryGet(nM.telemetry),oN.RESOLVE_INLAYHINTS_SLOW,()=>(function(e,t,i,r){if((0,n8.Lj)(r),void 0!==t.textEdits&&Array.isArray(t.label)&&t.label.some(e=>void 0!==e.location))return t;let n=(0,o5.uJ)(t.data),a=n4.z.parse(n.fileUri,e.serviceProvider),s=e.getParseResults(a);if(void 0===s||!e.evaluator)return t;let o=(0,aL.Ay)((0,aL.gr)(s.parserOutput.parseTree,n.offset),n.type);if(!o)return t;let l=new vu(e,a,void 0,{callArgumentNameInlayHints:hN.all,variableInlayTypeHints:!0,functionReturnInlayTypeHints:!0,pytestParametersInlayTypeHints:!0,supportedResolveSet:i,lazyEdit:!1},r),d=function(e){switch(e.nodeType){case aO.ye.Name:return l.getVariableInlayHint(e);case aO.ye.Parameter:return l.getParameterInlayHint(e);case aO.ye.Function:return l.getFunctionInlayHint(e);default:return t}}(o);return(null==d?void 0:d.textEdits)&&(t.textEdits=d.textEdits),(null==d?void 0:d.label)&&(t.label=d.label),t})(r,e,t,i),2e3),i)}async enqueueSecondaryTask(e,t,i,r){if(this.backgroundAnalysis)return await this.backgroundAnalysis.enqueueSecondaryTask(e,t,i,r)}async getTopLevelModules(e,t){return this.backgroundAnalysis?await this.backgroundAnalysis.run("getTopLevelModules",e,t):sy(this.program,e,t)}async getImportsUsedInWorkspace(e,t){return this.backgroundAnalysis?await this.backgroundAnalysis.run("getImportsUsedInWorkspace",{fileUri:e},t):se(this.program,e,t)}async getReferences(e,t,i,r,n,a,s){return await this._getReferencesCommon("getReferences",e,t,i,r,n,a,s)}async getCodeLensReferences(e,t,i,r){return await this._getReferencesCommon("getCodeLensReferences",e,t,i,void 0,r,void 0,void 0)}async getCodeLensItems(e,t){if(this.backgroundAnalysis)return await this.backgroundAnalysis.run("getCodeLensItems",{fileUri:e},t);let i=this.program;return i.getParseResults(e)?new fb(i,e,t).collects():[]}async getDiagnosticsForRange(e,t,i){let r=await this.getDocumentDiagnostics(e,void 0,i);return lC(((null==r?void 0:r.kind)==="full"?r.items:[]).filter(e=>(0,aB.B3)(e.range,t)))}startIndexing(e){var t;null==(t=this.backgroundAnalysis)||t.startIndexing(e)}startWorkspaceDiagnostics(e){var t;null==(t=this.backgroundAnalysis)||t.startWorkspaceDiagnostics({partialResultToken:e})}stopWorkspaceDiagnostics(){var e;null==(e=this.backgroundAnalysis)||e.stopWorkspaceDiagnostics()}getIndices(){var e;return null==(e=this._globalIndices)?void 0:e.getIndices(this.program)}setConfigOptions(e){var t;super.setConfigOptions(e),null==(t=this._externalProgram)||t.setConfigOptions(e)}setFileOpened(e,t,i,r){var n;super.setFileOpened(e,t,i,r),null==(n=this._externalProgram)||n.setFileOpened(e,t,i,r.chainedFileUri)}setFileClosed(e,t){var i;super.setFileClosed(e,t),null==(i=this._externalProgram)||i.setFileClosed(e)}updateOpenFileContents(e,t,i,r){var n;super.updateOpenFileContents(e,t,i,r),null==(n=this._externalProgram)||n.updateFileContents(e,i)}updateChainedUri(e,t){var i;super.updateChainedUri(e,t),null==(i=this._externalProgram)||i.updateChainedUri(e,t)}setExperimentOptions(e,t){var i;this._enableAsyncProgram=!!e.enableAsyncProgram,this._enableExternalTypeServer=!!e.enableExternalProgram,null==(i=this._externalProgram)||i.updateSettings(e),this.backgroundAnalysis&&this.backgroundAnalysis.setExperimentOptions(e,t);let r=this.program.serviceProvider.tryGet(n7.y.docStringService);if(r instanceof kz){let t=!!e.supportRestructuredText;t!==r.isRestParsingEnabled&&(r.enableRestParsing(t),r.ready.then(()=>{this.program.markAllFilesDirty(!0)}).catch(()=>{}))}}hasSourceFile(e){return!!this.asyncProgram.getSourceFileInfo(e)}async startProfiling(e){if(this.backgroundAnalysis)return await this.backgroundAnalysis.run("startProfiling",e,dk.CancellationToken.None)}async stopProfiling(){if(this.backgroundAnalysis)return await this.backgroundAnalysis.run("stopProfiling",void 0,dk.CancellationToken.None)}setNotebookData(e){this.backgroundAnalysis&&this.backgroundAnalysis.notify("setNotebookData",e);let t=this.program.serviceProvider.tryGet(n7.y.debugInfoInspector);t&&t.setNotebookData(e)}test_setIndexing(e,t){let i=this.getIndices();if(i){for(let[t,r]of e)i.setWorkspaceIndex(t,r);for(let[e,i]of t){let t=this.configOptions.getExecutionEnvironments().find(t=>{var i;return null==(i=t.root)?void 0:i.equals(e)});if(t)for(let[e,n]of i){var r;null==(r=this._globalIndices)||r.setIndex(this.serviceId,t,e,n)}}}}async _getReferencesCommon(e,t,i,r,n,a,s,o){if(this.backgroundAnalysis){let s=n?{handle:e=>"data"===e,process(e){let t=al(e);n.report(t)}}:void 0;return await this.backgroundAnalysis.run(e,{fileUri:t,position:i,includeDeclaration:r,enableProgressReporting:!!n},a,s)}return this.program.run(e=>new sU.iH(e,a,s,o).reportReferences(t,i,r,n),a)}constructor(e,t,i,r,n,a,s,o){const l=new gi.B(r,i,t,void 0,s,e);super(e,t,i,r,n,a,s,l),kB(this,"_globalIndices",void 0),kB(this,"_externalProgram",void 0),kB(this,"_asyncProgramWrapper",void 0),kB(this,"_enableAsyncProgram",!1),kB(this,"_enableExternalTypeServer",!1),this._globalIndices=t.tryGet(nM.globalIndices);const d=t.tryGet(nM.typeProviderServiceFactory);d&&(this._externalProgram=new gY(l.rootPath,e,i,d,this.serviceProvider)),this._asyncProgramWrapper=cl(l,o)}}var kj=i(10412),kK=i(35942),kV=i(68476),kq=i(46834),kG=i(29022);function kH(e,t){let i=aL._E(e.tokenizerOutput.tokens,t.start);return kJ(e,i,aj.Wg.Def)&&kJ(e,i-1,aj.Wg.Async)}function kJ(e,t,i){if(t<0)return!1;let r=e.tokenizerOutput.tokens.getItemAt(t);return r.type===aj.ks.Keyword&&r.keywordType===i}function kY(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let kQ="__skip__completion__";function kX(e){return oy.isNotebookCell(e)?"vscode-interactive-input"===e.scheme?"interactive":"cell":"regular"}class kZ extends oJ.o2{getMemberAccessInfo(){return this._memberAccessInfo}getAutoImportInfo(){return this._autoImportInfo}getSlowCompletionInfo(){return this._slowCompletionInfo}addAdditionalExpressionCompletions(e,t,i){this._addImplicitSelfMemberCompletions(e,t,i)}createAutoImporter(e,t){let i=this.program.serviceProvider.tryGet(nM.packageDiscoverer);return this._pylanceOptions.showOnlyDirectDependenciesInAutoImport&&(null==i||i.ensureDistributionToPackageMap(cl(this._program)).catch(()=>{})),new la(this.program,this.execEnv,this.parseResults,this.position,e,le(this.program,this.execEnv,this._autoImportMaps.indices,this.fileUri,this._pylanceOptions.includeAliasesFromUserFiles,!1,this.cancellationToken),{indices:this._autoImportMaps.indices,lazyEdit:t,importFormat:this._pylanceOptions.importFormat,includeAliasesFromUserFiles:this._pylanceOptions.includeAliasesFromUserFiles,allowOnlyDirectDependencies:this._pylanceOptions.showOnlyDirectDependenciesInAutoImport?null==i?void 0:i.getDirectDependencyTopLevelModules(cl(this._program)):void 0})}shouldProcessDeclaration(e){if(!this._chainedUri||(null==e?void 0:e.type)!==aF.h3.Alias||!e.moduleName.endsWith(kQ))return!0;let t=(0,ax.R8)(e.node);return!(null==t?void 0:t.fileUri.equals(this._chainedUri))}addAutoImportCompletions(e,t,i,r,n){var a;if(!this.configOptions.autoImportCompletions||!this._pylanceOptions.autoImport)return;let s=this.createAutoImporter(r,i),o=[],l=null==(a=this._autoImportMaps.nameMap)?void 0:a.get(e);l&&e.length>1&&!r.has(e)&&(0,ap.af)(o,s.getAutoImportCandidatesForAbbr(e,l,this.cancellationToken)),o.push(...s.getAutoImportCandidates(e,t,void 0,this.cancellationToken));let d=s.getPerfInfo(),u=new of.dw;this.addImportResults(o,e,r,n),this._autoImportInfo={indexUsed:d.indexUsed,totalTimeInMS:d.totalInMs,moduleTimeInMS:d.moduleTimeInMS,indexTimeInMS:d.indexTimeInMS,importAliasTimeInMS:d.importAliasTimeInMS,itemCount:o.length,symbolCount:d.symbolCount,indexCount:d.indexCount,importAliasCount:d.importAliasCount,additionTimeInMS:u.getDurationInMilliseconds()}}getMethodOverrideCompletions(e,t,i){var r,n,a;let s=aL.Ji(t,!0);if(!s)return;let o=this.evaluator.getTypeOfClass(s);if(!o)return;let l=kH(this.parseResults,t),d=this.program.serviceProvider.tryGet(nM.declarationFinder),u=d?bx(this.evaluator,d,i,this.cancellationToken):[],p=d?bk(this.evaluator,d,this.evaluator.getBuiltInType(t,"property"),this.cancellationToken):[],c=d?bk(this.evaluator,d,this.evaluator.getBuiltInType(t,"staticmethod"),this.cancellationToken):[],h=d?bk(this.evaluator,d,this.evaluator.getBuiltInType(t,"classmethod"),this.cancellationToken):[],m=p.length>0&&u.some(e=>p.some(t=>(0,aA.MY)(e,t)))||null!=(r=null==i?void 0:i.some(e=>aL.uo(e,"property")))&&r,y=c.length>0&&u.some(e=>c.some(t=>(0,aA.MY)(e,t)))||null!=(n=null==i?void 0:i.some(e=>aL.uo(e,"staticmethod")))&&n,g=h.length>0&&u.some(e=>h.some(t=>(0,aA.MY)(e,t)))||null!=(a=null==i?void 0:i.some(e=>aL.uo(e,"classmethod")))&&a,f=i&&i.length>0?(0,aW.l8)(i[0].start,this.parseResults.tokenizerOutput.lines).line:this.position.line,v=new oJ.JB;return(0,aX.Mz)(o.classType).forEach((i,r)=>this._appendMember(e,t,l,m,y,g,f,o,i,r,v)),o.classType.shared.effectiveMetaclass&&!(0,aM.t8)(o.classType.shared.effectiveMetaclass)&&(0,aX.Mz)(o.classType.shared.effectiveMetaclass).forEach((i,r)=>this._appendMember(e,t,l,m,y,g,f,o,i,r,v)),this._slowCompletionInfo={completionType:"override",fileType:kX(this.fileUri)},!t.d.value.startsWith("__")||y||g||this._addDunderMethodCompletions(e,t,v),v}getMemberAccessCompletions(e,t){let i=this._appendGetAttrLiteralMembers(e,t,super.getMemberAccessCompletions(e,t)),r=this.evaluator.getType(e);return r&&(r=this.evaluator.makeTopLevelTypeVarsConcrete(r),(0,aM.t8)(r)&&r.priv.possibleType&&(r=this.evaluator.makeTopLevelTypeVarsConcrete(r.priv.possibleType)),r.category===aM.vb.Module&&this._getSubmoduleCompletion(e,r,i)),this._memberAccessInfo=this._getLastKnownModule(e,r),this._slowCompletionInfo={completionType:"memberAccess",fileType:kX(this.fileUri)},i}addExtraCommitChar(e){if(!this._pylanceOptions.extraCommitChars||!e.kind)return;let t=this._getExtraCommitCharsForKind(e.kind);0!==t.length&&(e.commitCharacters=t)}getCompletionItemData(e){return e.data?oq.fromLSP(e).data:super.getCompletionItemData(e)}addSymbol(e,t,i,r,n){let a,s=(0,o0.IE)(t);if(!s){let e=t.getDeclarations();e.length>0&&(s=e[e.length-1])}if(s&&s.type===aF.h3.Variable&&(s.isConstant||this.evaluator.isFinalVariableDeclaration(s))&&(a=cH(s,this.parseResults)),a&&s){var o;if(n.autoImportSource)return void super.addSymbol(e,t,i,r,n);if(!this.shouldProcessDeclaration(s))return;let l=nZ.CompletionItemKind.Constant;return void this.addNameToCompletions(null!=(o=n.autoImportAlias)?o:e,l,i,r,{extraCommitChars:n.extraCommitChars,funcParensDisabled:n.funcParensDisabled,edits:n.edits,itemDetail:a})}super.addSymbol(e,t,i,r,n)}get _pylanceOptions(){return this.options}_appendGetAttrLiteralMembers(e,t,i){let r=this._getMode(e.parent);return i=null!=i?i:new oJ.JB,this._tryAppendGetAttrLiteralMembersForMode(e,t,i,r)||"get"!==r&&this._tryAppendGetAttrLiteralMembersForMode(e,t,i,"get"),i}_addDunderMethodCompletions(e,t,i){let r=this.parseResults.tokenizerOutput.predominantTabSequence+(this.options.snippet?"${0:pass}":"pass");for(let n of k0().names){if(!sN.OP(t.d.value,n))continue;let a=function(e){let t={__abs__:"self",__aiter__:"self",__anext__:"self",__aenter__:"self",__aexit__:"self, exc_type, exc, tb",__await__:"self",__bool__:"self",__bytes__:"self",__call__:"self, *args, **kwargs",__complex__:"self",__contains__:"self, item",__delattr__:"self, name",__delitem__:"self, key",__delete__:"self, instance",__dir__:"self",__divmod__:"self, other",__enter__:"self",__exit__:"self, exc_type, exc, tb",__float__:"self",__format__:"self, format_spec",__get__:"self, instance, owner",__getattr__:"self, name",__getattribute__:"self, name",__getitem__:"self, key",__hash__:"self",__int__:"self",__iter__:"self",__len__:"self",__next__:"self",__pow__:"self, other",__repr__:"self",__reversed__:"self",__round__:"self, ndigits=None",__set__:"self, instance, value",__setattr__:"self, name, value",__setitem__:"self, key, value",__str__:"self"}[e];if(t)return`${e}(${t})`;if(!aN.SW(e))return;let i=k0();return i.unaryDunderNames.has(e)?`${e}(self)`:i.keywordDunderNames.has(e)?`${e}(self, item)`:i.augmentedAssignmentDunderNames.has(e)||i.binaryDunderNames.has(e)?`${e}(self, other)`:void 0}(n);if(!a)continue;let s=(0,cu.x)(this.fileUri)?`${a}: ...`:`${a}:
${r}`;this.addNameToCompletions(n,nZ.CompletionItemKind.Method,t.d.value,i,{funcParensDisabled:!0,edits:{format:this.options.snippet?nZ.InsertTextFormat.Snippet:void 0,textEdit:this.createReplaceEdits(e,t,s)}})}}_tryAppendGetAttrLiteralMembersForMode(e,t,i,r){let n=function(e,t,i,r=!1){let n,a=[],s=e.getType(t);if(!s||!(0,aM.aE)(s))return a;let o=function(e,t,i,r){if("get"===r){var n;return null!=(n=vI(e,t,i,vc))?n:vI(e,t,i,vh)}return"set"===r?vI(e,t,i,vm):vI(e,t,i,vy)}(e,t,s,i);if(!o||!o.classType)return a;if((0,aM.Tn)(o.type))n=o.type.shared.name;else if((0,aM.Gl)(o.type)&&aM.OF.getOverloads(o.type).length>0)n=aM.OF.getOverloads(o.type)[0].shared.name;else if((0,aM.Gl)(o.type)&&aM.OF.getImplementation(o.type)){var l,d;n=null==(d=aM.OF.getImplementation(o.type))||null==(l=d.shared)?void 0:l.name}if(void 0===n)return a;let u=e.getBoundMagicMethod(s,n);return u&&((0,aM.Tn)(u)&&vS(u,a,r),(0,aM.Gl)(u)&&aM.OF.getOverloads(u).forEach(e=>vS(e,a,r)),(0,aM.Gl)(u)&&aM.OF.getImplementation(u)&&vS(aM.OF.getImplementation(u),a,r)),a}(this.evaluator,e,r);if(0===n.length)return!1;let a=0;for(let e of n){var s;let r=null!=(s=e.shared.declaredReturnType)?s:this.evaluator.getInferredReturnType(e),n=(0,aX.$v)(r)?nZ.CompletionItemKind.Function:nZ.CompletionItemKind.Field,o=vT(e);if(!o)continue;let l=new Set;if(o._type.category===aM.vb.Class)l.add(o._type.priv.literalValue);else{let e=o._type;if(e.priv.literalClasses.literalStrMap)for(let t of e.priv.literalClasses.literalStrMap.keys())l.add(t);if(e.priv.literalInstances.literalStrMap)for(let t of e.priv.literalInstances.literalStrMap.keys())l.add(t)}for(let r of(a+=l.size,l))this.addNameToCompletions(r,n,t,i,{typeDetail:(0,kG.T)(this.evaluator,e,e.shared.declaration,e.shared.name,void 0,this.configOptions.functionSignatureDisplay),documentation:(0,cd.DG)(this.sourceMapper,e,e.shared.declaration,this.evaluator,{name:e.shared.name})})}return a>0}_getMode(e){if((null==e?void 0:e.nodeType)===aO.ye.MemberAccess)return vg(e);if((null==e?void 0:e.nodeType)===aO.ye.Error){var t;if((null==(t=e.parent)?void 0:t.nodeType)===aO.ye.StatementList&&e.parent.d.statements.some(t=>t===e)&&this._containsToken(this.parseResults,e,e=>e.type===aj.ks.Operator&&e.operatorType===aj.hu.Assign))return"set"}return"get"}_containsToken(e,t,i){let r=e.tokenizerOutput.tokens.getItemAtPosition(t.start),n=e.tokenizerOutput.tokens.getItemAtPosition(aB.vY.getEnd(t));for(let t=r;t<=n;t++)if(i(e.tokenizerOutput.tokens.getItemAt(t)))return!0;return!1}_getLastKnownModule(e,t){let i=e,r=t,n=e.nodeType===aO.ye.MemberAccess?null==e?void 0:e.d.member.d.value:void 0;for(;i&&(i.nodeType===aO.ye.Call||i.nodeType===aO.ye.MemberAccess);){if(i=i.d.leftExpr,void 0===n){var a;n=i.nodeType===aO.ye.MemberAccess&&null!=(a=null==i?void 0:i.d.member.d.value)?a:""}if(i&&void 0!==(r=this.evaluator.getType(i))&&!(0,aM.t8)(r)&&!(0,aM.sQ)(r))break}let s={};return r&&!(0,aM.t8)(r)&&!(0,aM.sQ)(r)&&i&&(s.lastKnownModule=(0,aX.UZ)(r).find(e=>"typing"!==e),i.nodeType===aO.ye.MemberAccess?s.lastKnownMemberName=i.d.member.d.value:i.nodeType===aO.ye.Name&&(0,aM.dL)(r)?s.lastKnownMemberName=r.shared.name:i.nodeType===aO.ye.Name&&(0,aM.aE)(r)&&(s.lastKnownMemberName=r.shared.name),s.unknownMemberName=n),s}_getOverrideTargetForMember(e,t,i,r,n){let a,s=this.evaluator.getTypeOfMember(e);if(!s)return;let o=(0,aM.Tn)(s)&&aM.RK.isStaticMethod(s),l=(0,aM.Tn)(s)&&aM.RK.isClassMethod(s)&&"__init_subclass__"!==t;if(r&&!o||n&&!l)return;let d=(0,aM.aE)(s)&&aM.p5.isPropertyClass(s);if(i&&!d||d&&aN.SW(t))return;let u=e.symbol,p=(0,o0.IE)(u);if(d){let e=u.getTypedDeclarations().find(e=>e.type===aF.h3.Function);e&&(p=e)}if(!p||p.type!==aF.h3.Function)return;let c=p;if((0,aM.Tn)(s))a=s;else if(d&&(0,aM.aE)(s)){var h;let e=null==(h=s.priv.fgetInfo)?void 0:h.methodType;e&&(0,aM.Tn)(e)&&(a=e)}let m=this.evaluator.getTypeOfFunction(c.node),y=null==m?void 0:m.functionType;if(y&&(0,aM.dL)(e.classType)){let t=(0,aX._T)(y,e.classType,void 0);(0,aM.Tn)(t)&&(y=t)}if(y||(y=a),y&&y.shared.declaration)return{symbol:u,funcType:y,decoratedType:a,decl:c,isProperty:d,isDeclaredStaticMethod:o,isDeclaredClassMethod:l}}_getLineIndentation(e){let t=this.parseResults.tokenizerOutput.lines.getItemAt(e),i=t.start,r=aB.vY.getEnd(t),n=i;for(;n<r;){let e=this.parseResults.text[n];if(" "!==e&&" "!==e)break;n++}return this.parseResults.text.slice(i,n)}_appendMember(e,t,i,r,n,a,s,o,l,d,u){let p;if(!(0,aM.dL)(l.classType)||l.classType.shared===o.classType.shared||!sN.OP(t.d.value,d))return;let c=this._getOverrideTargetForMember(l,d,r,n,a);if(!c)return;let{symbol:h,funcType:m,decoratedType:y,decl:g,isProperty:f,isDeclaredStaticMethod:v,isDeclaredClassMethod:_}=c,T=this._useLazyEdit(d);if(T&&this.itemToResolve)return;let w=new fV(this._program),b=new bv(this.program,this.fileUri,o.classType,m,y,{importAdder:w,enableTrackingAddImports:T,hasAsyncKeyword:i,dontAddTypeAnnotation:this._pylanceOptions.dontAddTypeAnnotation},this.cancellationToken).getMethodSignature();if((0,cu.x)(this.fileUri))p=`${b.methodSignature}: ...`;else{let e=this.printOverriddenMethodBody(o.classType,v,f,g,i&&b.useAwait);p=`${b.methodSignature}:
${e}`}let S=this.createReplaceEdits(e,t,p),k=T?void 0:w.applyImports(this.fileUri,this.parseResults,t.start,o9.Absolute,this.cancellationToken),I=[];f&&!r&&I.push("property"),v&&!n&&I.push("staticmethod"),_&&!a&&I.push("classmethod");let C=this._getLineIndentation(s),P=this.parseResults.tokenizerOutput.predominantEndOfLineSequence,x=I.map(e=>`${C}@${e}${P}`).join(""),F=x.length>0?[{range:{start:{line:s,character:0},end:{line:s,character:0}},replacementText:x}]:[],A=F.length>0?[...F,...null!=k?k:[]]:k;this.addSymbol(d,h,t.d.value,u,{funcParensDisabled:!0,edits:{format:this.options.snippet?nZ.InsertTextFormat.Snippet:void 0,textEdit:S,additionalTextEdits:A}})}_useLazyEdit(e){return!!this.options.lazyEdit&&(!this.itemToResolve||this.getCompletionItemData(this.itemToResolve).symbolLabel!==e)}_getExtraCommitCharsForKind(e){switch(e){case nZ.CompletionItemKind.Class:return[".","("];case nZ.CompletionItemKind.Function:case nZ.CompletionItemKind.Method:return["("];case nZ.CompletionItemKind.Module:case nZ.CompletionItemKind.Enum:return["."];default:return[]}}_getSubmoduleCompletion(e,t,i){if(this.itemToResolve)return;let r=this._getNodeValue(e,""),n=t.priv.moduleName;if(r!==n)return;let a={leadingDots:0,hasTrailingDot:!0,nameParts:n.split("."),importedSymbols:new Set},s=this.importResolver.getCompletionSuggestions(this.fileUri,this.execEnv,a),o=(0,oG.AG)(this.parseResults.parserOutput.parseTree);s.forEach((e,t)=>{if(i&&i.has(t))return;let r=n+"."+t,a=this.importResolver.getModuleNameForImport(e,this.execEnv);this.addNameToCompletions(t,nZ.CompletionItemKind.Module,this.program.configOptions.autoImportCompletions?n:t,i,this.program.configOptions.autoImportCompletions?{autoImportText:this.getAutoImportText(r),edits:{additionalTextEdits:(0,oG.tH)([],{name:r},o,(0,oG.x$)(a),this.parseResults,this.position)}}:void 0)})}_getNodeValue(e,t){return e.nodeType===aO.ye.Name?e.d.value.concat(t):e.nodeType===aO.ye.MemberAccess?(t="."+e.d.member.d.value.concat(t),this._getNodeValue(e.d.leftExpr,t)):t}_addImplicitSelfMemberCompletions(e,t,i){var r;let n,a=(0,aW.bt)(this.position,this.parseResults.tokenizerOutput.lines);if(void 0===a)return;if(e.nodeType===aO.ye.Name)n=e;else{let e=aL.gr(this.parseResults.parserOutput.parseTree,a);for(;e&&e.nodeType!==aO.ye.Name;)e=e.parent;(null==e?void 0:e.nodeType)===aO.ye.Name&&(n=e)}if(!n)return;let s=Math.max(0,Math.min(a-n.start,n.d.value.length));if(!(t=n.d.value.substring(0,s))||t.length<2)return;let o=aL.hP(n),l=aL.Ji(n,!1);if(!o||!l||aL.Ji(o,!1)!==l)return;let d=o.d.params[0];if(!d||d.d.category!==aO.OP.Simple||!d.d.name||"self"!==d.d.name.d.value||(null==(r=o.d.decorators)?void 0:r.some(e=>aL.uo(e,"staticmethod"))))return;let u=this.evaluator.getTypeOfClass(l);if(!u)return;let p=new Map;for(let[e,r]of((0,aX.DM)(u.classType,p,!0),p)){if(!sN.OP(t,e)||r.isPrivateMember()||r.isExternallyHidden()||aN.$4(e))continue;let a=this.createReplaceEdits(t,n,`self.${e}`);this.addSymbol(e,r,t,i,{edits:{textEdit:a}})}}constructor(e,t,i,r,n,a){var s,o;super(e,t,i,r,a),kY(this,"_program",void 0),kY(this,"_autoImportMaps",void 0),kY(this,"_chainedUri",void 0),kY(this,"_memberAccessInfo",void 0),kY(this,"_autoImportInfo",void 0),kY(this,"_slowCompletionInfo",void 0),this._program=e,this._autoImportMaps=n,this._chainedUri=null==(o=this.program.getSourceFileInfo(t))||null==(s=o.chainedSourceFile)?void 0:s.uri,this._slowCompletionInfo={completionType:"regular",fileType:kX(this.fileUri)}}}function k0(){if(o)return o;let e=new Set,t=new Set,i=new Set,r=new Set,n=new Set;for(let t of vx.values())for(let r of t)aN.SW(r)&&(e.add(r),i.add(r));for(let i of vF.values())for(let r of i)aN.SW(r)&&(e.add(r),t.add(r));for(let t of vA.values())for(let i of t)aN.SW(i)&&(e.add(i),r.add(i));for(let t of vD.values())for(let i of t)aN.SW(i)&&(e.add(i),n.add(i));for(let t of vE.values())!t.useMeta&&aN.SW(t.name)&&e.add(t.name);for(let t of["__call__","__iter__","__aiter__","__anext__","__getitem__","__setitem__","__delitem__","__enter__","__exit__","__aenter__","__aexit__","__getattr__","__getattribute__","__setattr__","__delattr__","__get__","__set__","__delete__","__await__"])e.add(t);return o={names:[...e].sort(),unaryDunderNames:t,binaryDunderNames:i,augmentedAssignmentDunderNames:r,keywordDunderNames:n}}function k1(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class k5{getSlowCompletionInfo(){return this._slowCompletionInfo}getCompletions(){var e;if(!this._fixtureFinder||!this._parseResults)return null;let t=aY((0,aL.cd)(this._parseResults.parserOutput.parseTree,this._position,this._parseResults.tokenizerOutput.lines));if(!t||(null==(e=t.parent)?void 0:e.nodeType)!==aO.ye.Parameter)return null;let i=t.parent;if(i.d.category===aO.OP.ArgsList||i.d.category===aO.OP.KwargsDict)return null;let r=(0,aW.bt)(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===r||r<t.start||r>t.start+t.length||!hl(this._fixtureFinder,i)&&!hu(this._fixtureFinder,i)||aQ(this._parseResults,i))return null;let n=this._fixtureFinder.findMatchingFixtures(t,e=>this._fixtureStartsWith(e,t.d.value),this._token).map(e=>({fixture:e,label:c6(e,!0),type:hc(this._fixtureFinder,e,!1,this._token)})).flat();if(0===n.length)return this._slowCompletionInfo={completionType:"pytest",fileType:kX(this._fileUri)},nZ.CompletionList.create();let a=nZ.CompletionList.create();return n.forEach(e=>{let t=nZ.CompletionItem.create(e.label),i=hm(this._fixtureFinder.getProgram(),e.fixture);t.sortText=e.label,t.data={funcParensDisabled:!0,uri:i.uri.toString(),position:i.range.start},t.kind=nZ.CompletionItemKind.Function;let r=i.type===aF.h3.Class||i.type===aF.h3.Function?i.node.d.name.d.value:e.label,n=(0,cd.DG)(this._sourceMapper,e.type,i,this._evaluator),s=e.type?(0,kG.T)(this._evaluator,e.type,i,r,void 0,this._program.configOptions.functionSignatureDisplay):void 0;t.documentation=(0,kG.k)(this._program.serviceProvider,s,n,this._options.format,i),a.items.push(t)}),this._slowCompletionInfo={completionType:"pytest",fileType:kX(this._fileUri)},a}resolveCompletionItem(e){}get _evaluator(){return this._program.evaluator}_fixtureStartsWith(e,t){return c6(e,!0).startsWith(t)}constructor(e,t,i,r,n){k1(this,"_program",void 0),k1(this,"_fileUri",void 0),k1(this,"_position",void 0),k1(this,"_options",void 0),k1(this,"_token",void 0),k1(this,"_parseResults",void 0),k1(this,"_sourceMapper",void 0),k1(this,"_fixtureFinder",void 0),k1(this,"_slowCompletionInfo",void 0),this._program=e,this._fileUri=t,this._position=i,this._options=r,this._token=n,this._parseResults=this._program.getParseResults(this._fileUri),this._sourceMapper=this._program.getSourceMapper(this._fileUri,this._token,!0),this._fixtureFinder=this._program.serviceProvider.tryGet(nM.fixtureFinder)}}function k4(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class k3{getCompletions(){return this._addTelemetry(this._getCompletions())}resolveCompletionItem(e){for(let t of this._providers)t.resolveCompletionItem(e)}getMemberAccessInfo(){for(let e of this._providers)if(e instanceof kZ)return e.getMemberAccessInfo()}getAutoImportInfo(){for(let e of this._providers)if(e instanceof kZ)return e.getAutoImportInfo()}getSlowCompletionInfo(){for(let e of this._providers)if(void 0!==e.getSlowCompletionInfo){let t=e.getSlowCompletionInfo();if(t)return t}}_getCompletions(){for(let e of this._providers){let t=e.getCompletions();if(t)return oq.toLSP(t)}return null}_addTelemetry(e){if(!this._supportTelemetry)return e;let t=this.getMemberAccessInfo();if(t&&e&&e.items.length>0&&t.lastKnownModule){var i;let r=t.lastKnownModule.split(".")[0]||t.lastKnownModule,n=null==(i=this._program.serviceProvider.tryGet(nM.packageDiscoverer))?void 0:i.getKnownModuleVersion(cl(this._program),r);e.items[0].data={...e.items[0].data,moduleHash:(0,sN.YZ)(r),moduleVersion:n}}return e}constructor(e,t,i,r,n,a,s){k4(this,"_program",void 0),k4(this,"_supportTelemetry",void 0),k4(this,"_providers",void 0),this._program=e,this._supportTelemetry=a;const o=[],l=this._program.serviceProvider.tryGet(nM.completionProviderRegistry);l&&o.push(...l.getProviders(e,t,i,r,s)),o.push(new k5(e,t,i,r,s),new kZ(e,t,i,r,n,s)),this._providers=o}}function k8(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class k2{async getDefinitionsForNode(e,t){var i;(0,n8.Lj)(this.token);let r=[],n=null==(i=this.program.serviceProvider)?void 0:i.tryGet(nM.asyncSymbolDefinitionProvider);if(n)for(let i of n){let n=await i.tryGetDeclarations(e,t,this.snapshot,this.token);await this.resolveDeclarations(n,r)}if(0===r.length){if(e.nodeType===aO.ye.Name){let t=await this.evaluator.getDeclInfoForNameNode(e);t&&(await this.resolveDeclarations(t.decls,r),this.addSynthesizedTypes(t.synthesizedTypes,r))}else if(e.nodeType===aO.ye.String){let t=await this.evaluator.getDeclInfoForStringNode(e);t&&(await this.resolveDeclarations(t.decls,r),this.addSynthesizedTypes(t.synthesizedTypes,r))}}if(0!==r.length)return(0,fC.TM)(this._filter,r)}async resolveDeclarations(e,t){let i=await this.sourceMapperPromise;i&&await It(this.evaluator,i,e,t)}addSynthesizedTypes(e,t){for(let i of e){if(!i.node)continue;let e=(0,ax.R8)(i.node),r=(0,aW.er)(i.node.start,i.node.start+i.node.length,e.lines);t.push({uri:e.fileUri,range:r})}}constructor(e,t,i,r,n,a,s,o){k8(this,"program",void 0),k8(this,"fileUri",void 0),k8(this,"node",void 0),k8(this,"offset",void 0),k8(this,"_filter",void 0),k8(this,"snapshot",void 0),k8(this,"token",void 0),k8(this,"evaluator",void 0),k8(this,"sourceMapperPromise",void 0),this.program=e,this.fileUri=t,this.node=i,this.offset=r,this._filter=n,this.snapshot=s,this.token=o,this.evaluator=e.getEvaluator(s),this.sourceMapperPromise=e.getSourceMapper(t,!1,a,s,o)}}class k6 extends k2{async getDefinitions(){if(void 0!==this.node)return await this.getDefinitionsForNode(this.node,this.offset)}async findDefinitionByName(e,t){(0,n8.Lj)(this.token);let i=t.split(".");if(0===i.length)return;let r=i.slice(0,i.length-1).join("."),n=i.length-1,a=r?await this.program.resolveImport(e,ce(r),this.snapshot,this.token):e;for(;r&&!a;){let t=r.lastIndexOf(".");if(-1===t)break;r=r.substring(0,t),n--,a=await this.program.resolveImport(e,ce(r),this.snapshot,this.token)}if(!a)return;let s=this.program.getParseResults(a);if(!s)return;let o=i.slice(n),l=s.parserOutput.parseTree,d=await this.program.symbolLookup.lookupSymbol(l,o[0]);if(!d){let t=await this.program.symbolLookup.getSymbolsForFile(e);if(!t)return;d=t.get(o[0])}if(!d&&1===o.length&&this.node){let e=(0,aL.Ji)(this.node,!1);if(e){let t=await this.evaluator.getType(e.d.name);if(t&&t.category===aM.vb.Class){let e=(0,aX.Zn)(t,o[0]);e&&(d=e.symbol)}}}if(!d)return;for(let e=1;e<o.length;e++){let t=await this.evaluator.getEffectiveTypeOfSymbol(d);if(!t)return;if(t.category===aM.vb.Module){let i=t.priv.fileUri;if(!i)return;let r=await this.program.symbolLookup.getSymbolsForFile(i);if(!r||!(d=r.get(o[e])))return}else{if(t.category!==aM.vb.Class)return;let i=(0,aX.Zn)(t,o[e]);if(!i||!(d=i.symbol))return}}let u=d.getDeclarations();if(!u||0===u.length)return;let p=[];return await this.resolveDeclarations(u,p),p.length>0?p[0]:void 0}constructor(e,t,i,r,n,a){const{node:s,offset:o}=k9(e.getParseResults(t),i);super(e,t,s,o,r,!1,n,a)}}class k7 extends k2{async getDefinitions(){var e,t,i;if((0,n8.Lj)(this.token),void 0===this.node)return;let r=[];if(this.node.nodeType===aO.ye.Name){let i=await this.evaluator.getType(this.node),n=await this.sourceMapperPromise;if(i&&n){let a=[];await l1(i,async e=>{(null==e?void 0:e.category)===aM.vb.Class&&(0,ap.af)(a,await n.findClassDeclarationsByType(this.fileUri,e))}),0===a.length&&(a=null!=(e=null==(t=await this.evaluator.getDeclInfoForNameNode(this.node))?void 0:t.decls)?e:[]),await this.resolveDeclarations(a,r)}}else if(this.node.nodeType===aO.ye.String){let e=null==(i=await this.evaluator.getDeclInfoForStringNode(this.node))?void 0:i.decls;await this.resolveDeclarations(e,r)}if(0!==r.length)return r}constructor(e,t,i,r,n){const{node:a,offset:s}=k9(e.getParseResults(t),i);super(e,t,a,s,fC.Uu.All,!0,r,n)}}function k9(e,t){if(!e)return{node:void 0,offset:0};let i=(0,aW.bt)(t,e.tokenizerOutput.lines);return void 0===i?{node:void 0,offset:0}:{node:(0,aL.gr)(e.parserOutput.parseTree,i),offset:i}}function Ie(e,t){for(let i of e)if(i.uri.equals(t.uri)&&(0,aB.tW)(i.range,t.range))return;e.push(t)}async function It(e,t,i,r){if(i)for(let a of i){let i=await e.resolveAliasDeclaration(a,!0,{allowExternallyHiddenAccess:!0});if(!(!i||i.uri.isEmpty()||i.type===aF.h3.Alias&&(i.isUnresolved||(0,aF.eH)(i)))){if(i.type===aF.h3.Alias&&i.symbolName&&i.submoduleFallback&&!i.submoduleFallback.uri.isEmpty()&&(i=i.submoduleFallback),Ie(r,{uri:i.uri,range:i.range}),(0,aF.vu)(i)){var n;let t=null==(n=await e.getTypeForDeclaration(i))?void 0:n.type;if(t&&(0,aM.Gl)(t))for(let e of aM.OF.getOverloads(t).map(e=>e.shared.declaration).filter(n2.O9))Ie(r,{uri:e.uri,range:e.range})}if((0,cu.x)(i.uri)){if(i.type===aF.h3.Alias){(await t.findModules(i.uri)).map(e=>{var t;return null==(t=(0,ax.R8)(e))?void 0:t.fileUri}).filter(n2.O9).forEach(e=>Ie(r,{uri:e,range:{start:{line:0,character:0},end:{line:0,character:0}}}));continue}for(let e of(await t.findDeclarations(i)))e&&!e.uri.isEmpty()&&Ie(r,{uri:e.uri,range:e.range})}}}}function Ii(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Ir{async getDefinitions(){if((0,n8.Lj)(this._token),!this._parseResults)return;let e=(0,aW.bt)(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===e)return;let t=(0,aL.gr)(this._parseResults.parserOutput.parseTree,e);if((null==t?void 0:t.nodeType)!==aO.ye.Name)return;let i=t.parent;if((null==i?void 0:i.nodeType)!==aO.ye.MemberAccess)return;let r=vg(i),n=await vf(this._evaluator,i,r),a=[];if(n){let e=this._getDocumentRange(t,n);e&&a.push(e)}return await this._addGenericGetAttributeIfNeeded(t,i,r,n,a),a.length>0?a:void 0}async findDefinitionByName(e,t){}async _addGenericGetAttributeIfNeeded(e,t,i,r,n){if("get"===i&&(null==r?void 0:r.shared.name)!=="__getattribute__"){for(let r of(await v_(this._evaluator,t.d.leftExpr,i,!0)))if(this._isGenericStrGetattributeMethod(r)){let t=this._getDocumentRange(e,r);t&&n.push(t)}}}_isGenericStrGetattributeMethod(e){return"__getattribute__"===e.shared.name&&vv(e)}_getDocumentRange(e,t){let i=t.shared.declaration;if(!i)return;let r=this._program.getParseResults(i.uri),n=vT(t);if(n){if(aM.gk.isTypeDeclared(n)&&r){let t=a1(i.node,n.name);if(!t)return i;let a=a5(t);if(!a)return i;let s=In.find(e.d.value,a);if(s)return{uri:i.uri,range:(0,aW.oG)(s,r.tokenizerOutput.lines)}}return i}}constructor(e,t,i,r,n){Ii(this,"_program",void 0),Ii(this,"_fileUri",void 0),Ii(this,"_position",void 0),Ii(this,"_snapshot",void 0),Ii(this,"_token",void 0),Ii(this,"_parseResults",void 0),Ii(this,"_evaluator",void 0),this._program=e,this._fileUri=t,this._position=i,this._snapshot=r,this._token=n,this._parseResults=this._program.getParseResults(this._fileUri),this._evaluator=this._program.getEvaluator(this._snapshot)}}class In extends aE.gw{static find(e,t){let i=new In(e);return i.walk(t),i._matchingNode}visit(e){return!this._matchingNode&&super.visit(e)}visitString(e){return e.d.value===this._memberName&&(this._matchingNode=e),!1}constructor(e){super(),Ii(this,"_memberName",void 0),Ii(this,"_matchingNode",void 0),this._memberName=e}}function Ia(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Is{async getDefinitions(){if((0,n8.Lj)(this._token),!this._parseResults)return;let e=(0,aW.bt)(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===e)return;let t=(0,aL.XS)(this._parseResults.tokenizerOutput.tokens,e);return(null==t?void 0:t.type)===aj.ks.Operator?await this._handleOperator(t):(null==t?void 0:t.type)===aj.ks.Keyword?await this._handleKeyword(t):(null==t?void 0:t.type)===aj.ks.Identifier?await this._handleIdentifier(t):void 0}async findDefinitionByName(e,t){}get _evaluator(){return this._program.getEvaluator(this._snapshot)}async _handleOperator(e){let t=await vO(this._evaluator,this._parseResults.parserOutput,e);if(t)return await this._handleCore(e,t)}async _handleKeyword(e){let t=await vU(this._evaluator,this._parseResults.parserOutput,e);if(t)return await this._handleCore(e,t)}async _handleIdentifier(e){let t=await vL(this._evaluator,this._parseResults.parserOutput,e);if(t)return await this._handleCore(e,t)}async _handleCore(e,t){let i=t.method;if(!i)return;let r=await this._sourceMapperPromise;if(!r)return;let n=((0,aM.Tn)(i)?[i.shared.declaration]:aM.OF.getOverloads(i).map(e=>e.shared.declaration)).filter(n2.O9),a=[];if(await It(this._evaluator,r,n,a),0!==a.length)return(0,fC.TM)(this._filter,a)}constructor(e,t,i,r,n,a){Ia(this,"_program",void 0),Ia(this,"_fileUri",void 0),Ia(this,"_position",void 0),Ia(this,"_filter",void 0),Ia(this,"_snapshot",void 0),Ia(this,"_token",void 0),Ia(this,"_parseResults",void 0),Ia(this,"_sourceMapperPromise",void 0),this._program=e,this._fileUri=t,this._position=i,this._filter=r,this._snapshot=n,this._token=a,this._parseResults=this._program.getParseResults(this._fileUri),this._sourceMapperPromise=this._program.getSourceMapper(this._fileUri,!1,!1,this._snapshot,this._token)}}class Io{async getDefinitions(){let e;for(let t of this._providers){let i=await t.getDefinitions();i&&(e=null!=e?e:[]).push(...i)}return e}async findDefinitionByName(e,t){for(let i of this._providers){let r=await i.findDefinitionByName(e,t);if(r)return r}}constructor(e,t,i,r,n,a){var s,o;o=void 0,(s="_providers")in this?Object.defineProperty(this,s,{value:o,enumerable:!0,configurable:!0,writable:!0}):this[s]=o,this._providers=[new k6(e,t,i,r,n,a),new Is(e,t,i,r,n,a),new Ir(e,t,i,n,a)]}}class Il extends SR.t{getHierarchicalSymbols(){let e=this.program.getSourceFileInfo(this.uri);if(!e)return[];let t=this._globalIndices.getIndices(this.program).getSourceIndex(this.uri);if(!t||e.isOpenByClient&&t.clientVersion!==e.clientVersion)return super.getHierarchicalSymbols();let i=[];return this.appendDocumentSymbolsRecursive(t.symbols,i),i}constructor(e,t,i,r,n){var a,s;super(t,i,r,{includeAliases:!1},n),s=void 0,(a="_globalIndices")in this?Object.defineProperty(this,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):this[a]=s,this._globalIndices=e}}function Id(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Iu{getSymbols(){let e=[],t=[];for(let i of this._providers){let r=i.getSymbols();0!==r.length&&(nZ.DocumentSymbol.is(r[0])?e.push(...r):t.push(...r))}return t.length>0?(t.push(...(0,SR.$)(this._program,this._fileUri,e)),t):e}constructor(e,t,i,r,n){Id(this,"_program",void 0),Id(this,"_fileUri",void 0),Id(this,"_providers",void 0),this._program=t,this._fileUri=i,this._providers=[new Il(e,t,i,r,n)]}}function Ip(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function Ic(e,t,i){let r=[];for(let n of i)!function e(t,i,r,n,a){let s={name:n.name,kind:n.kind,location:nZ.Location.create((0,ah.JQ)(t,r),n.range)};if(n.tags&&(s.tags=n.tags),a&&(s.containerName=a.name),i.push(s),n.children)for(let a of n.children)e(t,i,r,a,n)}(e,r,t,n);return r}class Ih{getSymbols(){if(!this._parseResults)return[];let e=this._getHierarchicalSymbols();return this._supportHierarchicalDocumentSymbol?e:Ic(this._program.fileSystem,this._fileUri,e)}_getHierarchicalSymbols(){let e=this._program.getSourceFileInfo(this._fileUri);if(!e)return[];let t=this._globalIndices.getIndices(this._program).getSourceIndex(this._fileUri);if(!t||e.isOpenByClient&&t.clientVersion!==e.clientVersion)return this._getHierarchicalSymbolsFromIndexer();let i=[];return this._appendDocumentSymbolsRecursive(t.symbols,i),i}_getHierarchicalSymbolsFromIndexer(){let e=[],t=this._program.getParseResults(this._fileUri);if(!t)return e;let i=(0,ax.R8)(t.parserOutput.parseTree);if(!i)return e;let r=oY.W_.indexSymbols(i,t,{includeAliases:!1},this._token);return this._appendDocumentSymbolsRecursive(r,e),e}_appendDocumentSymbolsRecursive(e,t){if((0,n8.Lj)(this._token),e)for(let i of e){if(i.alias||!i.name)continue;let e=[];this._appendDocumentSymbolsRecursive(i.children,e),t.push({name:i.name,kind:i.kind,range:i.range,selectionRange:i.selectionRange,children:e})}}constructor(e,t,i,r,n){Ip(this,"_globalIndices",void 0),Ip(this,"_program",void 0),Ip(this,"_fileUri",void 0),Ip(this,"_supportHierarchicalDocumentSymbol",void 0),Ip(this,"_token",void 0),Ip(this,"_parseResults",void 0),this._globalIndices=e,this._program=t,this._fileUri=i,this._supportHierarchicalDocumentSymbol=r,this._token=n,this._parseResults=this._program.getParseResults(this._fileUri)}}function Im(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Iy{getSymbols(){let e=[],t=[];for(let i of this._providers){let r=i.getSymbols();0!==r.length&&(nZ.DocumentSymbol.is(r[0])?e.push(...r):t.push(...r))}return t.length>0?(t.push(...Ic(this._program.fileSystem,this._fileUri,e)),t):e}constructor(e,t,i,r,n){Im(this,"_program",void 0),Im(this,"_fileUri",void 0),Im(this,"_providers",void 0),this._program=t,this._fileUri=i,this._providers=[new Ih(e,t,i,r,n)]}}function Ig(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class If{async onPrepare(){(0,n8.Lj)(this._token);let e=await this._getDeclarationForPosition();if(!e||0===e.declarations.length)return null;let{targetDecl:t,callItemUri:i,symbolName:r,resolvedDeclForKind:n}=await this._getTargetDeclaration(e);if(t.type!==aF.h3.Function&&t.type!==aF.h3.Class&&t.type!==aF.h3.Alias)return null;if(t.type===aF.h3.Alias){let e=await this._evaluator.resolveAliasDeclaration(t,!0);if(!e||e.type!==aF.h3.Function&&e.type!==aF.h3.Class)return null}let a={name:r,kind:this._getSymbolKind(null!=n?n:t),uri:(0,ah.JQ)(this._program.fileSystem,i),range:t.range,selectionRange:t.range};return(0,sO.Xv)(this._program.fileSystem,n4.z.parse(a.uri,this._program.serviceProvider))?[a]:null}async getIncomingCalls(){(0,n8.Lj)(this._token);let e=await this._getDeclarationForPosition();if(!e||0===e.declarations.length)return null;let{targetDecl:t,symbolName:i}=await this._getTargetDeclaration(e),r=[];for(let e of t.type===aF.h3.Alias?[this._program.getSourceFileInfo(this._fileUri)]:this._program.getSourceFileInfoList())if((0,aR.xX)(e)||e.isOpenByClient){let n=e.uri,a=await this._getIncomingCallsForDeclaration(n,i,t);a&&(0,ap.af)(r,a)}return 0===r.length?null:r.filter(e=>(0,sO.Xv)(this._program.fileSystem,n4.z.parse(e.from.uri,this._program.serviceProvider)))}async getOutgoingCalls(){let e;(0,n8.Lj)(this._token);let t=this._program.getParseResults(this._fileUri);if(!t)return null;let i=await this._getDeclarationForPosition();if(!i||0===i.declarations.length)return null;let{targetDecl:r}=await this._getTargetDeclaration(i),n=await this._evaluator.resolveAliasDeclaration(r,!0);if(!n)return null;if(n.type===aF.h3.Function)e=n.node;else if(n.type===aF.h3.Class){var a;let t=null==(a=await this._evaluator.getTypeForDeclaration(n))?void 0:a.type;if(t&&(0,aM.dL)(t)){let i=(0,aX.Zn)(t,"__init__",aX.Mh.SkipInstanceMembers|aX.Mh.SkipObjectBaseClass|aX.Mh.SkipBaseClasses);if(i){let t=await this._evaluator.getTypeOfMember(i);if(t&&(0,aM.Tn)(t)){let t=i.symbol.getDeclarations();if(t&&t.length>0){let i=t[0];i.type===aF.h3.Function&&(e=i.node)}}}}}if(!e)return null;let s=new Iv(this._program.fileSystem,e,t,this._evaluator,this._token),o=await s.findCalls();return 0===o.length?null:o.filter(e=>(0,sO.Xv)(this._program.fileSystem,n4.z.parse(e.to.uri,this._program.serviceProvider)))}async _getDeclarationForPosition(){var e,t;let i=this._program.getParseResults(this._fileUri);if(!i)return null;let r=(0,aW.bt)(this._position,i.tokenizerOutput.lines);if(void 0===r)return null;let n=(0,aL.gr)(i.parserOutput.parseTree,r);if(!n)return null;let a=n.nodeType===aO.ye.Name?n:n.nodeType===aO.ye.MemberAccess?n.d.member:void 0;if(a){let t=await this._evaluator.getDeclInfoForNameNode(a,!0);return{declarations:null!=(e=null==t?void 0:t.decls)?e:[],nodeAtOffset:a,symbolName:a.d.value}}if(n.nodeType===aO.ye.String){let e=await this._evaluator.getDeclInfoForStringNode(n);return{declarations:null!=(t=null==e?void 0:e.decls)?t:[],nodeAtOffset:n,symbolName:n.d.value}}return null}async _getTargetDeclaration(e){let t,i,r,n=e.declarations,a=n[0];for(let e of n)(aA.M6(e)||!aA.M6(a))&&(e.type===aF.h3.Function||e.type===aF.h3.Class)&&(a=e);return a.type===aF.h3.Alias?(t=e.nodeAtOffset.d.value,i=this._fileUri):(t=aA.eE(a)||e.symbolName,i=a.uri),a.type===aF.h3.Alias&&(r=await this._evaluator.resolveAliasDeclaration(a,!0)),{targetDecl:a,callItemUri:i,symbolName:t,resolvedDeclForKind:r}}_getSymbolKind(e){switch(e.type){case aF.h3.Class:case aF.h3.SpecialBuiltInClass:return nZ.SymbolKind.Class;case aF.h3.Function:return nZ.SymbolKind.Function;default:return nZ.SymbolKind.Module}}async _getIncomingCallsForDeclaration(e,t,i){(0,n8.Lj)(this._token);let r=new I_(this._program,e,t,i,this._snapshot,this._token),n=await r.findCalls();return n.length>0?n:void 0}constructor(e,t,i,r,n){Ig(this,"_program",void 0),Ig(this,"_fileUri",void 0),Ig(this,"_position",void 0),Ig(this,"_snapshot",void 0),Ig(this,"_token",void 0),Ig(this,"_evaluator",void 0),this._program=e,this._fileUri=t,this._position=i,this._snapshot=r,this._token=n,this._evaluator=this._program.getEvaluator(this._snapshot)}}class Iv extends fx{async findCalls(){return await this.walk(this._parseRoot),this._outgoingCalls}async visitCall(e){let t;if((0,n8.Lj)(this._cancellationToken),e.d.leftExpr.nodeType===aO.ye.Name?t=e.d.leftExpr:e.d.leftExpr.nodeType===aO.ye.MemberAccess&&(t=e.d.leftExpr.d.member),t){var i;let e=null==(i=await this._evaluator.getDeclInfoForNameNode(t))?void 0:i.decls;if(e)for(let i of e)this._addOutgoingCallForDeclaration(t,i)}return!0}async visitMemberAccess(e){(0,n8.Lj)(this._cancellationToken);let t=await this._evaluator.getType(e.d.leftExpr);return t&&await l1(t,async t=>{let i=t;if(i=this._evaluator.makeTopLevelTypeVarsConcrete(i),!(0,aM.aE)(i))return;let r=(0,aX.mN)(i,e.d.member.d.value);if(!r)return;let n=await this._evaluator.getTypeOfMember(r),a=r.symbol.getDeclarations();if(n&&(0,aM.aE)(n)&&aM.p5.isPropertyClass(n))for(let t of a)this._addOutgoingCallForDeclaration(e.d.member,t)}),!0}_addOutgoingCallForDeclaration(e,t){this._addOutgoingCallForDeclarationAsync(e,t)}async _addOutgoingCallForDeclarationAsync(e,t){let i=await this._evaluator.resolveAliasDeclaration(t,!0);if(!i||i.type!==aF.h3.Function&&i.type!==aF.h3.Class)return;let r={name:e.d.value,kind:i.type===aF.h3.Class?nZ.SymbolKind.Class:i.type===aF.h3.Function?nZ.SymbolKind.Function:nZ.SymbolKind.Module,uri:(0,ah.JQ)(this._fs,i.uri),range:i.range,selectionRange:i.range},n=this._outgoingCalls.find(e=>e.to.uri===r.uri&&(0,aB.tW)(e.to.range,r.range));if(n||(n={to:r,fromRanges:[]},this._outgoingCalls.push(n)),n.to.name!==e.d.value){var a;n.to.name=null!=(a=aA.eE(i))?a:e.d.value}let s=(0,aW.er)(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);n.fromRanges.push(s)}constructor(e,t,i,r,n){super(),Ig(this,"_fs",void 0),Ig(this,"_parseRoot",void 0),Ig(this,"_parseResults",void 0),Ig(this,"_evaluator",void 0),Ig(this,"_cancellationToken",void 0),Ig(this,"_outgoingCalls",void 0),this._fs=e,this._parseRoot=t,this._parseResults=i,this._evaluator=r,this._cancellationToken=n,this._outgoingCalls=[]}}class I_ extends fx{async findCalls(){return await this._appendOverrideDeclarations(this._targetDeclarations,this._targetDeclarations),await this.walk(this._parseResults.parserOutput.parseTree),this._incomingCalls}async visitCall(e){let t;if((0,n8.Lj)(this._cancellationToken),e.d.leftExpr.nodeType===aO.ye.Name?t=e.d.leftExpr:e.d.leftExpr.nodeType===aO.ye.MemberAccess&&(t=e.d.leftExpr.d.member),t&&t.d.value===this._symbolName){let e=await this._getDeclarations(t);if(e)if(this._targetDeclaration.type===aF.h3.Alias){let i=await this._evaluator.resolveAliasDeclaration(this._targetDeclaration,!0);i&&e.some(e=>aA.MY(e,i))&&this._addIncomingCallForDeclaration(t)}else e.some(e=>this._targetDeclarations.some(t=>aA.MY(e,t)))&&this._addIncomingCallForDeclaration(t)}return!0}async visitMemberAccess(e){if((0,n8.Lj)(this._cancellationToken),e.d.member.d.value===this._symbolName){let t=await this._evaluator.getType(e.d.leftExpr);t&&await l1(t,async t=>{let i=t;if(i=this._evaluator.makeTopLevelTypeVarsConcrete(i),!(0,aM.aE)(i))return;let r=(0,aX.mN)(i,e.d.member.d.value);if(!r)return;let n=await this._evaluator.getTypeOfMember(r),a=r.symbol.getDeclarations();n&&(0,aM.aE)(n)&&aM.p5.isPropertyClass(n)&&a.some(e=>aA.MY(e,this._targetDeclaration))&&this._addIncomingCallForDeclaration(e.d.member)})}return!0}get _evaluator(){return this._program.getEvaluator(this._snapshot)}async _getDeclarations(e){var t,i;let r=null!=(t=null==(i=await this._evaluator.getDeclInfoForNameNode(e,!0))?void 0:i.decls)?t:[],n=[...r];return await this._appendOverrideDeclarations(r,n),n}async _appendOverrideDeclarations(e,t){let i=[];for(let t of e.filter(IT)){let e=(0,aL.Ji)(t.node),r=e?await this._evaluator.getTypeOfClass(e):void 0;if(r)for(let e of r.classType.shared.mro){if((0,n8.Lj)(this._cancellationToken),!(0,aM.dL)(e))continue;let r=(0,aX.Zn)(e,t.node.d.name.d.value),n=(0,aX.Zn)(e,t.node.d.name.d.value,aX.Mh.SkipOriginalClass);r&&!n&&r.symbol.getDeclarations().filter(e=>(0,aF.vu)(e)&&e.isMethod).forEach(e=>(function(e,t){e.some(e=>aA.MY(e,t))||e.push(t)})(i,e))}}t.push(...i)}_addIncomingCallForDeclaration(e){let t,i=(0,aL.Fy)(e);for(;i&&i.nodeType===aO.ye.TypeParameterList;)i=(0,aL.Fy)(i);if(!i)return;if(i.nodeType===aO.ye.Module){let e=(0,aW.er)(0,0,this._parseResults.tokenizerOutput.lines),i=this._program.fileSystem.getOriginalUri(this._fileUri).fileName;t={name:`(module) ${i}`,kind:nZ.SymbolKind.Module,uri:(0,ah.JQ)(this._program.fileSystem,this._fileUri),range:e,selectionRange:e}}else if(i.nodeType===aO.ye.Lambda){let e=(0,aW.er)(i.start,i.start+i.length,this._parseResults.tokenizerOutput.lines);t={name:"(lambda)",kind:nZ.SymbolKind.Function,uri:(0,ah.JQ)(this._program.fileSystem,this._fileUri),range:e,selectionRange:e}}else{let e=(0,aW.er)(i.d.name.start,i.d.name.start+i.d.name.length,this._parseResults.tokenizerOutput.lines);t={name:i.d.name.d.value,kind:nZ.SymbolKind.Function,uri:(0,ah.JQ)(this._program.fileSystem,this._fileUri),range:e,selectionRange:e}}let r=this._incomingCalls.find(e=>e.from.uri===t.uri&&(0,aB.tW)(e.from.range,t.range));r||(r={from:t,fromRanges:[]},this._incomingCalls.push(r));let n=(0,aW.er)(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);r.fromRanges.push(n)}constructor(e,t,i,r,n,a){super(),Ig(this,"_program",void 0),Ig(this,"_fileUri",void 0),Ig(this,"_symbolName",void 0),Ig(this,"_targetDeclaration",void 0),Ig(this,"_snapshot",void 0),Ig(this,"_cancellationToken",void 0),Ig(this,"_incomingCalls",void 0),Ig(this,"_targetDeclarations",void 0),Ig(this,"_parseResults",void 0),this._program=e,this._fileUri=t,this._symbolName=i,this._targetDeclaration=r,this._snapshot=n,this._cancellationToken=a,this._incomingCalls=[],this._targetDeclarations=[],this._parseResults=this._program.getParseResults(this._fileUri),this._targetDeclarations.push(this._targetDeclaration)}}function IT(e){return(0,aF.vu)(e)&&e.isMethod&&e.node.d.name.d.value.length>0&&"__init__"!==e.node.d.name.d.value&&"__new__"!==e.node.d.name.d.value}function Iw(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Ib{async getDocumentHighlight(){if((0,n8.Lj)(this._token),!this._parseResults)return;let e=(0,aW.bt)(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===e)return;let t=aL.gr(this._parseResults.parserOutput.parseTree,e);if(!t||t.nodeType!==aO.ye.Name)return;let i=this._program.getEvaluator(this._snapshot),r=await this._collectNameResults(i,this._parseResults.parserOutput.parseTree,t,t.d.value),n=this._parseResults.tokenizerOutput.lines;return r.map(e=>({kind:aL.si(e)?nZ.DocumentHighlightKind.Write:nZ.DocumentHighlightKind.Read,range:(0,aW.er)(e.d.token.start,aB.vY.getEnd(e.d.token),n)}))}async _collectNameResults(e,t,i,r){let n=new IS(r,this._token);n.walk(t);let a=await this._getResolvedDeclarations(e,i);if(0===a.length)return n.nodes;let s=[];for(let t of n.nodes){(0,n8.Lj)(this._token);let i=await e.getDeclInfoForNameNode(t,!1);i&&0!==i.decls.length&&await this._nodeSharesDeclaration(e,i.decls,a)&&s.push(t)}return s}async _getResolvedDeclarations(e,t){let i=await e.getDeclInfoForNameNode(t,!1);if(!i||0===i.decls.length)return[];let r=[];for(let t of i.decls){let i=await e.resolveAliasDeclaration(t,!0,{allowExternallyHiddenAccess:!0,skipFileNeededCheck:!0});i&&function(e,t){e.some(e=>(0,aA.MY)(e,t))||e.push(t)}(r,i)}return r}async _nodeSharesDeclaration(e,t,i){for(let r of t){let t=await e.resolveAliasDeclaration(r,!1,{allowExternallyHiddenAccess:!0,skipFileNeededCheck:!0});if(t&&Ik(i,t))return!0;let n=await e.resolveAliasDeclaration(null!=t?t:r,!0,{allowExternallyHiddenAccess:!0,skipFileNeededCheck:!0});if(n&&Ik(i,n))return!0}return!1}constructor(e,t,i,r,n){Iw(this,"_program",void 0),Iw(this,"_fileUri",void 0),Iw(this,"_position",void 0),Iw(this,"_snapshot",void 0),Iw(this,"_token",void 0),Iw(this,"_parseResults",void 0),this._program=e,this._fileUri=t,this._position=i,this._snapshot=r,this._token=n,this._parseResults=this._program.getParseResults(this._fileUri)}}class IS extends aE.gw{visitName(e){return(0,n8.Lj)(this._token),e.d.value===this._symbolName&&this.nodes.push(e),!1}constructor(e,t){super(),Iw(this,"_symbolName",void 0),Iw(this,"_token",void 0),Iw(this,"nodes",void 0),this._symbolName=e,this._token=t,this.nodes=[]}}function Ik(e,t){return e.some(e=>(0,aA.MY)(e,t,!0,!0))}function II(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class IC{async getCodeLenses(){let e=s7(this._workspace);if(!e.program.getParseResults(this._fileUri))return[];let t=await e.getCodeLensItems(this._fileUri,this._cancellationToken);return null!=t?t:[]}async resolveCodeLens(e){let t=e.data.position,{referenceCount:i,locations:r}=await this._getReferencesInfo(t),n=this._fileUri,a=(0,ah.JQ)(this._workspace.service.fs,n);return e.command={title:this._getCodeLensLabel(i),command:"pylance.showReferences",arguments:[a.toString(),t,r]},e}async _getReferencesInfo(e){try{let t=s7(this._workspace),i=await t.getCodeLensReferences(this._fileUri,e,!1,this._cancellationToken);if(!i)return{referenceCount:0,locations:[]};return{referenceCount:i.length,locations:i}}catch(e){return{referenceCount:0,locations:[]}}}_getCodeLensLabel(e){return`${e} ${1===e?"reference":"references"}`}constructor(e,t,i){II(this,"_workspace",void 0),II(this,"_fileUri",void 0),II(this,"_cancellationToken",void 0),this._workspace=e,this._fileUri=t,this._cancellationToken=i}}function IP(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Ix{async getSignatureHelp(){return this._convert(await this._getSignatureHelp())}get _evaluator(){return this._program.getEvaluator(this._snapshot)}async _getSignatureHelp(){var e;if((0,n8.Lj)(this._token),!this._parseResults)return;let t=(0,aW.bt)(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===t)return;let i=aL.gr(this._parseResults.parserOutput.parseTree,t),r=i,n=i?aL.AP(i):0,a=t-1;for(;a>=0;){let e=this._parseResults.text.substr(a,1);if(","===e||"("===e)break;let t=aL.gr(this._parseResults.parserOutput.parseTree,a);if(t&&t!==r){aL.AP(t)>n&&(i=t);break}a--}if(void 0===i)return;let s=aL.R0(i,t,this._parseResults.tokenizerOutput.tokens);if(!s)return;let o=await this._evaluator.getCallSignatureInfo(s.callNode,s.activeIndex,s.activeOrFake);if(o)return{signatures:await lJ(o.signatures,e=>this._makeSignature(o.callNode,e)),callHasParameters:!!(null==(e=o.callNode.d.args)?void 0:e.length)}}_convert(e){var t,i,r;if(!e)return;let n=e.signatures.map(e=>{let t=[];e.parameters&&(t=e.parameters.map(e=>{var t;return{label:this._hasSignatureLabelOffsetCapability?[e.startOffset,e.endOffset]:e.text,documentation:{kind:this._format,value:null!=(t=e.documentation)?t:""}}}));let i=nZ.SignatureInformation.create(e.label,void 0,...t);return void 0!==e.documentation&&(i.documentation=e.documentation),void 0!==e.activeParameter&&(i.activeParameter=e.activeParameter),i}),a=t=>{var i;return void 0!==t.activeParameter||!e.callHasParameters&&!(null==(i=t.parameters)?void 0:i.length)},s=n.findIndex(a);-1===s&&(s=void 0);let o=void 0!==s?n[s].activeParameter:void 0;if((null==(t=this._context)?void 0:t.isRetrigger)&&this._context.triggerKind!==nZ.SignatureHelpTriggerKind.Invoked){let e=null==(i=this._context.activeSignatureHelp)?void 0:i.activeSignature;if(void 0!==e&&e<n.length){let t=n[e];a(t)&&(s=e,o=null!=(r=t.activeParameter)?r:void 0)}}return(this._hasActiveParameterCapability||void 0===s)&&(o=Math.max(...n.map(e=>{var t,i;return null!=(t=null==(i=e.parameters)?void 0:i.length)?t:0}))),{signatures:n,activeSignature:s,activeParameter:o}}async _makeSignature(e,t){var i;let r,n=t.type,a=await this._getWrappedFunctionType(e,n);a&&(n=a);let s=await this._evaluator.printFunctionParts(n,dP.X8.ExpandTypedDictArgs),o=[],l=await this._sourceMapperPromise;l&&(s=await cE(n,s,l));let d=l?null!=(i=await cM(n,l,this._evaluator))?i:await this._getDocStringFromCallNode(e):void 0,u=(0,ax.R8)(e),p=(0,dD.MC)(n),c="(",h=!0,m=n.shared.parameters;if(s[0].forEach((e,i)=>{let n="";i<m.length?n=m[i].name||"":m.length>0&&(n=m[m.length-1].name||""),(!p.params.some(e=>e.param.name===n&&e.kind===dD.OU.Keyword)||aU._.isPythonIdentifier(n))&&(h||(c+=", "),h=!1,o.push({startOffset:c.length,endOffset:c.length+e.length,text:e}),n&&t.activeParam&&t.activeParam.name===n&&(r=o.length-1),c+=e)}),c+=") -> "+s[1],t.activeParam&&void 0===r&&-1===(r=m.indexOf(t.activeParam))&&(r=void 0),void 0!==r){let e=o[r];e&&(e.documentation=this._docStringService.extractParameterDocumentation(d||"",m[r].name||"",this._format))}let y={label:c,parameters:o,activeParameter:r};if(d)if(this._format===nZ.MarkupKind.Markdown){let e=this._docStringService,t=e.convertDocStringToMarkdownAsync?await e.convertDocStringToMarkdownAsync(d,(0,cp.C6)(null==u?void 0:u.fileUri),null==u?void 0:u.fileUri):this._docStringService.convertDocStringToMarkdown(d,(0,cp.C6)(null==u?void 0:u.fileUri),null==u?void 0:u.fileUri);y.documentation={kind:nZ.MarkupKind.Markdown,value:t}}else y.documentation={kind:nZ.MarkupKind.PlainText,value:this._docStringService.convertDocStringToPlainText(d)};return y}async _getDocStringFromCallNode(e){var t,i;let r,n=e.d.leftExpr;if(n.nodeType===aO.ye.Name?r=n:n.nodeType===aO.ye.MemberAccess&&(r=n.d.member),r)for(let e of null!=(t=null==(i=await this._evaluator.getDeclInfoForNameNode(r))?void 0:i.decls)?t:[]){let t=await this._evaluator.resolveAliasDeclaration(e,!0);if(!t)continue;let i=await this._evaluator.getType(r);if(!i)continue;let n=await this._sourceMapperPromise;if(!n)continue;let a=await cz(n,i,t,this._evaluator);if(a)return a}}async _getWrappedFunctionType(e,t){let i=t.shared.declaration;if(!i){let t,a=e.d.leftExpr;if(a.nodeType===aO.ye.Name?t=a:a.nodeType===aO.ye.MemberAccess&&(t=a.d.member),t){var r,n;for(let e of null!=(r=null==(n=await this._evaluator.getDeclInfoForNameNode(t))?void 0:n.decls)?r:[]){let t=await this._evaluator.resolveAliasDeclaration(e,!0);if(t&&t.type===aF.h3.Function){i=t;break}}}}if(i&&i.node.nodeType===aO.ye.Function)for(let e of i.node.d.decorators){if(e.d.expr.nodeType!==aO.ye.Call)continue;let t=e.d.expr,i=await this._evaluator.getType(t.d.leftExpr);if(!i||!(0,aM.Tn)(i)||"functools"!==i.shared.moduleName||"wraps"!==i.shared.name)continue;let r=t.d.args.length>0?t.d.args[0]:void 0;if(!r||r.d.argCategory!==aO.b4.Simple||!r.d.valueExpr)continue;let n=await this._evaluator.getType(r.d.valueExpr);if(n){if((0,aM.Tn)(n))return n;if((0,aM.Gl)(n)){let e=aM.OF.getImplementation(n);if(e&&(0,aM.Tn)(e))return e;let t=aM.OF.getOverloads(n);if(t.length>0)return t[0]}}}}constructor(e,t,i,r,n,a,s,o,l,d){IP(this,"_program",void 0),IP(this,"_snapshot",void 0),IP(this,"_fileUri",void 0),IP(this,"_position",void 0),IP(this,"_format",void 0),IP(this,"_hasSignatureLabelOffsetCapability",void 0),IP(this,"_hasActiveParameterCapability",void 0),IP(this,"_context",void 0),IP(this,"_docStringService",void 0),IP(this,"_token",void 0),IP(this,"_parseResults",void 0),IP(this,"_sourceMapperPromise",void 0),this._program=e,this._snapshot=t,this._fileUri=i,this._position=r,this._format=n,this._hasSignatureLabelOffsetCapability=a,this._hasActiveParameterCapability=s,this._context=o,this._docStringService=l,this._token=d,this._parseResults=this._program.getParseResults(this._fileUri),this._sourceMapperPromise=this._program.getSourceMapper(this._fileUri,!0,!1,this._snapshot,this._token)}}function IF(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class IA{formatOnType(){if(this._parseResults)switch(this._triggerChar){case":":return IA._formatOnTypeColon(this._parseResults,this._position,this._indentationUtils,this._cancellationToken);case"\n":return IA._formatOnTypeEnter(this._parseResults,this._position,this._indentationUtils,this._autoSplitStrings,this._cancellationToken);case"{":return IA._formatOnTypeOpenCurlyBracket(this._fs,this._parseResults,this._sourceFile,this._position,this._connection,this._cancellationToken);default:return}}static _formatOnTypeOpenCurlyBracket(e,t,i,r,n,a){let s=(0,aL.cd)(t.parserOutput.parseTree,r,t.tokenizerOutput.lines);if(s&&s.nodeType===aO.ye.String){let a=(0,aL.M8)(s,aO.ye.StatementList);if(a&&(0,aL.ae)(a))return;let l=(0,aL.dS)(t.tokenizerOutput.tokens,s.start+s.length);if(s.d.value.split("{").length<3&&(!l||l.type!==aj.ks.Dot)){let a=s.d.token,l=a.prefixLength>0,d=(a.flags&aj.IF.Raw)!=0,u=(a.flags&aj.IF.Format)!=0;if(!l||d&&!u){var o;let l=(0,aW.l8)(s.start+ +((a.flags&aj.IF.Raw)!=0),t.tokenizerOutput.lines),d={textDocument:{uri:e.getOriginalUri(i.getUri()).toString(),version:null!=(o=i.getClientVersion())?o:null},edits:[{range:{start:l,end:l},newText:"f"}],cursorPosition:{line:r.line,character:r.character+1}};n.sendRequest(iF.Requests.ApplyCursorMovingEdit,d)}}}}static _formatOnTypeEnter(e,t,i,r,n){var a;let s;(0,n8.Lj)(n);let o=r?function(e,t){var i;let r=(0,aW.tY)(e.tokenizerOutput,e.text,t.line-1),n=(0,aW.bt)(r,e.tokenizerOutput.lines);if(!n)return;let a=(0,aL.JQ)(e.tokenizerOutput.tokens,n),s=(0,aL.c0)(e.tokenizerOutput.tokens,n,e=>e.type===aj.ks.String&&(e.flags&aj.IF.Unterminated)>0,e=>e.type===aj.ks.NewLine);if((null==a?void 0:a.type)!==aj.ks.String||(null==s?void 0:s.type)!==aj.ks.String||!(a.flags&aj.IF.Unterminated))return;let o=(i=a.flags)&aj.IF.SingleQuote?"'":i&aj.IF.DoubleQuote?'"':void 0;if(!o)return;let l=(0,aL.gr)(e.parserOutput.parseTree,a.start),d=(0,aL.NU)(l,e=>e.nodeType!==aO.ye.String&&e.nodeType!==aO.ye.StringList);return[{range:{start:r,end:r},newText:(null==d?void 0:d.nodeType)===aO.ye.Assignment||(null==d?void 0:d.nodeType)===aO.ye.Return||(null==d?void 0:d.nodeType)===aO.ye.Argument?o+" \\":o},{range:{start:t,end:t},newText:o}]}(e,t):void 0;if(o)return o;let l=(0,aW.bt)(t,e.tokenizerOutput.lines);if(!l)return;let d=e.tokenizerOutput.lines.getItemAtPosition(l),u=(0,aW.bH)(e.tokenizerOutput,e.text,d),p=l>0&&u>l?l-1:l,c=i.findNonWhitespaceTokenAtOrBeforeOffset(e.tokenizerOutput.tokens,p);if(c){let r=aB.vY.getEnd(c);if((0,aW.l8)(r,e.tokenizerOutput.lines).line<t.line-1){let r=i.findCommentAtOrBeforeOffset(e.tokenizerOutput.tokens,p);if(!r)return;{let n=aB.vY.getEnd(r);if((0,aW.l8)(n,e.tokenizerOutput.lines).line<t.line-1)return;s=i.getIndentationFromText(e,t.line-1).indentation}}}s=null!=s?s:i.getNewlineIndentation(e,p);let h=null!=(a=IA._getCurrentIndent(e,t,l))?a:t;return 0===i.getSliceFromText(e,t.line,h.character).trim().length?[nZ.TextEdit.replace({start:{character:0,line:t.line},end:h},i.createIndentationString(e,s))]:void 0}static _formatOnTypeColon(e,t,i,r){(0,n8.Lj)(r);let n=(0,aW.bt)(t,e.tokenizerOutput.lines);if(!n||n<1)return;let a=function(t,i){let r=e.tokenizerOutput.tokens.getItemAtPosition(i-1);if(r<0)return;let n=e.tokenizerOutput.tokens.getItemAt(r);if(!n||n.type!==aj.ks.Colon)return;let a=e.tokenizerOutput.lines.getItemAt(t.line).start;for(let t=r;t>=0;--t){let i=e.tokenizerOutput.tokens.getItemAt(t);if(!i||i.start<a)break;if(i.type===aj.ks.Keyword&&function(e){switch(e){case aj.Wg.Elif:case aj.Wg.Else:case aj.Wg.Except:case aj.Wg.Finally:return!0;default:return!1}}(i.keywordType))return i}}(t,n);if(!a)return;let s=function(r,n){let a=(0,aL.gr)(e.parserOutput.parseTree,n),s=(0,aL.gr)(e.parserOutput.parseTree,aB.vY.getEnd(r));if(!a||!s||s.nodeType!==aO.ye.Error)return 0;let o=(0,aL.Ay)(a,aO.ye.Suite),l=(0,aL.Ay)(s,aO.ye.Suite),d=o;if((!d||!d.parent||l&&l.start>d.start)&&(d=l),!d||!d.parent)return 0;let u=(0,aW.l8)(d.parent.start,e.tokenizerOutput.lines),p=i.getIndentationFromText(e,u.line),c=i.getIndentationFromText(e,t.line);return p.containsSpaces&&p.containsTabs||c.containsSpaces&&c.containsTabs||p.charOffset>=c.charOffset||p.charOffset>0&&(p.containsSpaces!==c.containsSpaces||p.containsTabs!==c.containsTabs)?0:c.charOffset-p.charOffset}(a,n);if(!(s<1))return[nZ.TextEdit.del({start:{character:0,line:t.line},end:{character:s,line:t.line}})]}static _getCurrentIndent(e,t,i){let r=i,n=e.tokenizerOutput.tokens.getItemAtPosition(i),a=e.tokenizerOutput.tokens.getItemAt(n);if(a&&a.type===aj.ks.Indent){let i=aB.vY.getEnd(a);e.tokenizerOutput.lines.getItemAtPosition(i)===t.line&&i>r&&(r=i)}return r===i?t:(0,aW.l8)(r,e.tokenizerOutput.lines)}constructor(e,t,i,r,n,a,s,o){IF(this,"_fs",void 0),IF(this,"_sourceFile",void 0),IF(this,"_position",void 0),IF(this,"_triggerChar",void 0),IF(this,"_autoSplitStrings",void 0),IF(this,"_connection",void 0),IF(this,"_cancellationToken",void 0),IF(this,"_parseResults",void 0),IF(this,"_indentationUtils",void 0),this._fs=e,this._sourceFile=t,this._position=i,this._triggerChar=r,this._autoSplitStrings=a,this._connection=s,this._cancellationToken=o,this._parseResults=this._sourceFile.getParseResults(),this._indentationUtils=new ol(null!=n?n:oo)}}class ID{formatOnType(){return this._provider.formatOnType()}constructor(e,t,i,r,n,a,s,o){var l,d;d=void 0,(l="_provider")in this?Object.defineProperty(this,l,{value:d,enumerable:!0,configurable:!0,writable:!0}):this[l]=d,this._provider=new IA(e,t,i,r,n,s,a,o)}}var IE=i(23985);function IR(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function IN(e,t){if(!e)return null;let i=e.parts.map(e=>{if(e.python)if(t===nZ.MarkupKind.Markdown)return"```python\n"+e.text+"\n```\n";else{if(t===nZ.MarkupKind.PlainText)return e.text+"\n\n";(0,n6.fJ)(`Unsupported markup type: ${t}`)}return e.text}).join("").trimEnd();return{contents:{kind:t,value:i},range:e.range}}async function IM(e,t,i,r){let n=e.docStringService();return n.extractParameterDocumentationAsync?await n.extractParameterDocumentationAsync(t,i,r):n.extractParameterDocumentation(t,i,r)}async function IO(e,t,i,r){let n=e.docStringService();return n.extractAttributeDocumentationAsync?await n.extractAttributeDocumentationAsync(t,i,r):n.extractAttributeDocumentation(t,i,r)}async function IU(e,t,i,r){var n,a;let s=aL.hP((null==t?void 0:t.node)||e);if(!s)return;let o=aL.uf(null!=(n=null==s||null==(a=s.d.suite)?void 0:a.d.statements)?n:[]);if(o)return o;if(i&&r){let e=await cq(r,s.d.name);o=await cz(i,e,void 0,r)}return o}async function IL(e,t,i,r,n,a,s){let o=await IU(t,i,a,s);if(o){let i=await IM(e,o,t.d.value,r);if(!i)return;n.push({python:!1,text:i});return}}async function Iz(e,t,i,r,n,a){var s,o,l;let d,u=aL.Ji((null==r?void 0:r.node)||i,!0);if(!u&&(null==(s=i.parent)?void 0:s.nodeType)===aO.ye.MemberAccess){let e=await t.getType(i.parent.d.leftExpr);if(e&&(0,aM.aE)(e)){let t=e.shared.declaration;t&&t.type===aF.h3.Class&&(u=t.node)}}u&&(d=aL.uf(null!=(o=null==u||null==(l=u.d.suite)?void 0:l.d.statements)?o:[]))&&(d=await IO(e,d,i.d.value,n)),d&&a.push({python:!1,text:d})}async function IW(e,t,i,r,n,a,s,o){if(t){if(i===nZ.MarkupKind.Markdown){let i,s=e.docStringService();i=s.convertDocStringToMarkdownAsync?await s.convertDocStringToMarkdownAsync(t,(0,cp.C6)(null==n?void 0:n.uri),null==n?void 0:n.uri,a):s.convertDocStringToMarkdown(t,(0,cp.C6)(null==n?void 0:n.uri),null==n?void 0:n.uri),r.length>0&&i.length>0&&r.push({text:"---\n"}),r.push({text:i,python:!1});return}if(i===nZ.MarkupKind.PlainText)return void r.push({text:e.docStringService().convertDocStringToPlainText(t),python:!1});(0,n6.fJ)(`Unsupported markup type: ${i}`)}}async function IB(e,t,i,r,n,a,s,o){var l,d;let u,p="variable",c=t&&(t.isConstant||e.isFinalVariableDeclaration(t));if(t&&(p=c?"constant":"variable"),(null==(l=r.props)?void 0:l.typeAliasInfo)&&n.nodeType===aO.ye.Name){let t=(0,aM.j$)(r);if((null==t?void 0:t.shared.name)===n.d.value)if(!(0,aM.CP)(r))return`(type) ${i} = `+await e.printType((0,aX.gU)(await cq(e,n)),{expandTypeAlias:!0});else p=(0,aM.Bo)(r)?"param spec":"type variable",u=r.shared.name}if(r.category===aM.vb.Function||r.category===aM.vb.Overloaded||(null==(d=n.parent)?void 0:d.nodeType)===aO.ye.Call)return await cF(r,p,i,e,!1,a,n,s);let h=null!=u?u:i+": "+await e.printType(await cq(e,n));if(c){let e=cH(t,o);e&&(h+=" = "+e)}return`(${p}) `+h}class I${async getHover(){return IN(await this._getHoverResult(),this._format)}static getPrimaryDeclaration(e){let t=e[0];return t.type===aF.h3.Alias&&e.length>1||t.type===aF.h3.Variable&&e.length>1&&t.isDefinedBySlots?e[1]:t}get _evaluator(){return this._program.getEvaluator(this._snapshot)}get _functionSignatureDisplay(){return this._program.configOptions.functionSignatureDisplay}async _getHoverResult(){var e,t;if((0,n8.Lj)(this._token),!this._parseResults)return null;let i=(0,aW.bt)(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===i)return null;let r=aL.gr(this._parseResults.parserOutput.parseTree,i);if(void 0===r)return null;let n={parts:[],range:{start:(0,aW.l8)(r.start,this._parseResults.tokenizerOutput.lines),end:(0,aW.l8)(aB.vY.getEnd(r),this._parseResults.tokenizerOutput.lines)}};if(r.nodeType===aO.ye.Name){let t=await this._evaluator.getDeclInfoForNameNode(r),i=null==t?void 0:t.decls;if(i&&i.length>0){let e=I$.getPrimaryDeclaration(i);await this._addResultsForDeclaration(n.parts,e,r)}else if(t&&t.synthesizedTypes.length>0){for(let e of t.synthesizedTypes)await this._addResultsForSynthesizedType(n.parts,e,r);await this._addDocumentationPart(n.parts,r,void 0)}else if((!r.parent||r.parent.nodeType!==aO.ye.ModuleName)&&0===n.parts.length){let t,i=await this._getType(r);if((0,aM.FS)(i))t="(module) "+r.d.value;else{let n="function",a=!1;if((null==(e=r.parent)?void 0:e.nodeType)===aO.ye.MemberAccess){let e=r.parent;if(e.d.member.id===r.id){let t=vg(e);"get"===t&&await vf(this._evaluator,e,t)&&(n="dynamic attribute")}}(0,aX.jj)(i,!1)&&(a=!0,n="property"),t=await cF(i,n,r.d.value,this._evaluator,a,this._functionSignatureDisplay)}this._addResultsPart(n.parts,t,!0),await this._addDocumentationPart(n.parts,r,void 0)}}else if(r.nodeType===aO.ye.String){let e=null==(t=await this._evaluator.getExpectedType(r))?void 0:t.type;void 0!==e&&await this._tryAddPartsForTypedDictKey(r,e,n.parts);let i=function(e){var t,i,r,n,a;if((null==(t=e.parent)?void 0:t.nodeType)===aO.ye.Argument){let t=e.parent;if(t.d.valueExpr!==e)return;let i=(null==(a=t.parent)?void 0:a.nodeType)===aO.ye.Index?t.parent:void 0;if(!i)return;return{indexNode:i,argumentNode:t}}if((null==(i=e.parent)?void 0:i.nodeType)!==aO.ye.StringList)return;let s=e.parent,o=(null==(r=s.parent)?void 0:r.nodeType)===aO.ye.Argument?s.parent:void 0;if(!o||o.d.valueExpr!==s)return;let l=(null==(n=o.parent)?void 0:n.nodeType)===aO.ye.Index?o.parent:void 0;if(l)return{indexNode:l,argumentNode:o}}(r);if(0===n.parts.length&&i){let e=await this._getType(i.indexNode.d.leftExpr);void 0!==e&&await this._tryAddPartsForTypedDictKey(r,e,n.parts)}}return n.parts.length>0?n:null}async _addResultsForDeclaration(e,t,i){var r,n,a;let s=t.type===aF.h3.Alias?await this._evaluator.resolveAliasDeclaration(t,!0):t;if(!s||s.type===aF.h3.Alias&&(0,aF.eH)(s))return void this._addResultsPart(e,"(import) "+i.d.value+await this._getTypeText(i),!0);switch(s.type){case aF.h3.Intrinsic:this._addResultsPart(e,i.d.value+await this._getTypeText(i),!0),await this._addDocumentationPart(e,i,s);break;case aF.h3.Variable:{let n=i;t.node.nodeType===aO.ye.ImportAs||t.node.nodeType===aO.ye.ImportFromAs?t.node.d.alias&&i!==t.node.d.alias&&s.node.nodeType===aO.ye.Name&&(n=s.node):(null==(r=i.parent)?void 0:r.nodeType)===aO.ye.Argument&&i.parent.d.name===i&&t.node.nodeType===aO.ye.Name&&(n=t.node);let a=await this._getType(n),o=await this._sourceMapperPromise,l=await IB(this._evaluator,s,i.d.value,a,n,this._functionSignatureDisplay,o,this._parseResults);this._addResultsPart(e,l,!0),await Iz(this._program.serviceProvider,this._evaluator,i,s,this._format,e),await this._addDocumentationPart(e,i,s);break}case aF.h3.Param:{this._addResultsPart(e,"(parameter) "+i.d.value+await this._getTypeText(i),!0);let t=await this._sourceMapperPromise;await IL(this._program.serviceProvider,i,s,this._format,e,t,this._evaluator),await this._addDocumentationPart(e,i,s);break}case aF.h3.TypeParam:{let t=aL.M8(i,aO.ye.TypeParameterList),r=null==t||null==(n=t.parent)?void 0:n.nodeType,a=r===aO.ye.Class||r===aO.ye.TypeAlias;this._addResultsPart(e,"(type parameter) "+i.d.value+await this._getTypeText(i,{printTypeVarVariance:a}),!0),await this._addDocumentationPart(e,i,s);break}case aF.h3.Class:case aF.h3.SpecialBuiltInClass:{if(await this._addInitOrNewMethodInsteadIfCallNode(i,e,s))return;let t=s.type===aF.h3.Class?s.node.d.name:i;this._addResultsPart(e,"(class) "+t.d.value,!0),await this._addDocumentationPart(e,i,s);break}case aF.h3.Function:{let t="function",r=!1;if(s.isMethod){let e=null==(a=await this._evaluator.getTypeForDeclaration(s))?void 0:a.type;t=(r=!!e&&(0,aX.jj)(e,!1))?"property":"method"}let n=await this._getType(i),o=await this._getType(s.node.d.name);n=(0,aM.ah)(n)?o:n;let l=await this._sourceMapperPromise,d=await cF(n,t,i.d.value,this._evaluator,r,this._functionSignatureDisplay,void 0,l);this._addResultsPart(e,d,!0),await this._addDocumentationPart(e,i,s);break}case aF.h3.Alias:this._addResultsPart(e,"(module) "+i.d.value,!0),await this._addDocumentationPart(e,i,s);break;case aF.h3.TypeAlias:{let t=(0,aX.gU)(await this._getType(i)),r=await this._evaluator.printType(t,{expandTypeAlias:!0});this._addResultsPart(e,`(type) ${i.d.value} = ${r}`,!0),await this._addDocumentationPart(e,i,s);break}default:(0,n6.xb)(s)}}async _addResultsForSynthesizedType(e,t,i){let r;if((0,aM.FS)(t.type))r="(module) "+i.d.value;else{var n;let e=null!=(n=t.node)?n:i,a=await this._getType(e),s=await this._sourceMapperPromise;r=await IB(this._evaluator,void 0,e.d.value,a,e,this._functionSignatureDisplay,s,this._parseResults)}r&&this._addResultsPart(e,r,!0)}async _tryAddPartsForTypedDictKey(e,t,i){await l1(t,async t=>{if((0,aM.aE)(t)&&aM.p5.isTypedDictClass(t)){var r;let n=null==(r=t.shared.typedDictEntries)?void 0:r.knownItems.get(e.d.value);if(n){i.length>0&&i.push({text:"\n\n---\n"});let r="(key) "+e.d.value+": "+await this._evaluator.printType(n.valueType);this._addResultsPart(i,r,!0);let a=(await l9(t)).get(e.d.value);if(!a)for(let i of t.shared.baseClasses){let t=(0,aM.D4)(i)&&aM.p5.isTypedDictClass(i)?await l9(i):void 0;if(t&&!a&&(a=t.get(e.d.value)),a||!t)break}let s=null==a?void 0:a.getDeclarations();if(void 0!==s&&(null==s?void 0:s.length)!==0){let e=s[0];e.type===aF.h3.Variable&&void 0!==e.docString&&await this._addDocumentationPartForType(i,t,e)}}}})}async _addInitOrNewMethodInsteadIfCallNode(e,t,i){let r=await cj(e,this._evaluator);return!!r&&!!(r.methodType&&(0,aM.BL)(r.methodType))&&(this._addResultsPart(t,await cR(e.d.value,r.methodType,this._evaluator,this._functionSignatureDisplay),!0),await this._addDocumentationPartForType(t,r.methodType,i)||await this._addDocumentationPartForType(t,r.classType,i),!0)}_getType(e){return cq(this._evaluator,e)}async _getTypeText(e,t){let i=await this._getType(e);return": "+await this._evaluator.printType(i,t)}async _addDocumentationPart(e,t,i){let r=await this._getType(t);await this._addDocumentationPartForType(e,r,i,t.d.value)}async _addDocumentationPartForType(e,t,i,r){let n=await this._sourceMapperPromise;if(n){let a=await cz(n,t,i,this._evaluator,{name:r}),s=this._createDefinitionFinder();return await IW(this._program.serviceProvider,a,this._format,e,i,s,this._fileUri,this._token),!!a}return!1}_createDefinitionFinder(){return new Io(this._program,this._fileUri,this._position,fC.Uu.All,this._snapshot,this._token)}_addResultsPart(e,t,i=!1){e.push({python:i,text:t})}constructor(e,t,i,r,n,a){IR(this,"_program",void 0),IR(this,"_fileUri",void 0),IR(this,"_position",void 0),IR(this,"_format",void 0),IR(this,"_snapshot",void 0),IR(this,"_token",void 0),IR(this,"_parseResults",void 0),IR(this,"_sourceMapperPromise",void 0),this._program=e,this._fileUri=t,this._position=i,this._format=r,this._snapshot=n,this._token=a,this._parseResults=this._program.getParseResults(this._fileUri),this._sourceMapperPromise=this._program.getSourceMapper(this._fileUri,!0,!1,n,this._token)}}function Ij(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class IK{async getHover(){return(0,IE.aG)(await this._getHoverResult(),this._format)}get _functionSignatureDisplay(){return this._program.configOptions.functionSignatureDisplay}get _evaluator(){return this._program.getEvaluator(this._snapshot)}async _getHoverResult(){if((0,n8.Lj)(this._token),!this._parseResults)return null;let e=(0,aW.bt)(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===e)return null;let t=(0,aL.gr)(this._parseResults.parserOutput.parseTree,e);if(void 0===t||t.nodeType!==aO.ye.Name)return null;let i=await this._tryGetDeclarations(t);if(0===i.length)return null;let r=[],n=IE.O_.getPrimaryDeclaration(i);return(await this._addResultsForDeclaration(r,n,t),0===r.length)?null:{parts:r,range:{start:(0,aW.l8)(t.start,this._parseResults.tokenizerOutput.lines),end:(0,aW.l8)(aB.vY.getEnd(t),this._parseResults.tokenizerOutput.lines)}}}async _addResultsForDeclaration(e,t,i){(0,aF.cU)(t)?await this._addResultsForParameterDeclaration(e,t,i):(0,aF.bC)(t)?await this._addResultsForVariableDeclaration(e,t,i):(0,aF.vu)(t)?await this._addResultsForFunctionDeclaration(e,t,i):(0,aF.hw)(t)&&await this._addResultsForClassDeclaration(e,t,i)}async _addResultsForClassDeclaration(e,t,i){let r=t.node.d.name;this._addResultsPart(e,"(class) "+r.d.value,!0),await this._addDocumentationPart(e,i,t)}async _addResultsForParameterDeclaration(e,t,i){void 0!==t.inferredName&&void 0!==t.inferredTypeNodes&&(this._addResultsPart(e,"(parameter) "+t.inferredName+await this._getTypesText(t.inferredTypeNodes),!0),(0,IE.sC)(this._program.serviceProvider,i,t,this._format,e),await this._addDocumentationPart(e,i,t))}async _addResultsForVariableDeclaration(e,t,i){let r=i,n=await this._getType(r);if((0,aM.t8)(n)&&t.alternativeTypeNode&&(0,aO.TE)(t.alternativeTypeNode)){let e=await this._getType(t.alternativeTypeNode);(0,aM.t8)(e)||(n=e,r=t.alternativeTypeNode)}let a=await IB(this._evaluator,t,i.d.value,n,r,this._functionSignatureDisplay);this._addResultsPart(e,a,!0),await this._addDocumentationPart(e,i,t)}async _addResultsForFunctionDeclaration(e,t,i){let r=await this._tryGetFunctionNodeType(t.node);if(!r)return;let n="function",a=!1;if(t.isMethod){var s;let e=null==(s=await this._evaluator.getTypeForDeclaration(t))?void 0:s.type;n=(a=!!e&&(0,aX.jj)(e,!1))?"property":"method"}let o=await cF(r,n,i.d.value,this._evaluator,a,this._functionSignatureDisplay);this._addResultsPart(e,o,!0),await this._addDocumentationPart(e,i,t)}async _addDocumentationPart(e,t,i){let r=await this._getType(t);await this._addDocumentationPartForType(e,r,i,t.d.value)}async _addDocumentationPartForType(e,t,i,r){let n=await this._sourceMapperPromise;if(!t||!n)return!1;let a=await cz(n,t,i,this._evaluator,{name:r});return(0,IE.R4)(this._program.serviceProvider,a,this._format,e,i),!!a}_addResultsPart(e,t,i=!1){e.push({python:i,text:t})}async _getTypesText(e,t){let i=await c$(e,this._evaluator);return": "+await this._evaluator.printType(i,t)}async _getType(e){return await cq(this._evaluator,e)}async _tryGetFunctionNodeType(e){if(this._fixtureFinder&&await this._fixtureFinder.isFixtureFunctionAsync(e,this._snapshot,this._token))return await hh(this._fixtureFinder,e,!1,this._snapshot,this._token)}async _tryGetDeclarations(e){return this._fixtureFinder?await this._fixtureFinder.tryGetDeclarations(e,e.start,this._snapshot,this._token):[]}constructor(e,t,i,r,n,a){Ij(this,"_program",void 0),Ij(this,"_fileUri",void 0),Ij(this,"_position",void 0),Ij(this,"_format",void 0),Ij(this,"_snapshot",void 0),Ij(this,"_token",void 0),Ij(this,"_parseResults",void 0),Ij(this,"_sourceMapperPromise",void 0),Ij(this,"_fixtureFinder",void 0),this._program=e,this._fileUri=t,this._position=i,this._format=r,this._snapshot=n,this._token=a,this._parseResults=this._program.getParseResults(this._fileUri),this._sourceMapperPromise=this._program.getSourceMapper(this._fileUri,!0,!1,this._snapshot,this._token),this._fixtureFinder=this._program.serviceProvider.tryGet(nM.asyncFixtureFinder)}}function IV(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Iq{async getHover(){return IN(await this._getHoverResult(),this._format)}get _functionSignatureDisplay(){return this._program.configOptions.functionSignatureDisplay}async _getHoverResult(){var e,t;if((0,n8.Lj)(this._token),!this._parseResults||!this._evaluator)return null;let i=(0,aW.bt)(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===i)return null;let r=(0,aL.gr)(this._parseResults.parserOutput.parseTree,i);if((null==r?void 0:r.nodeType)!==aO.ye.Name)return null;let n=r.parent;if((null==n?void 0:n.nodeType)!==aO.ye.MemberAccess||n.d.member.id!==r.id)return null;let a=await this._evaluator.getDeclInfoForNameNode(r);if((null==a||null==(e=a.decls)?void 0:e.length)||(null==a?void 0:a.synthesizedTypes.length))return null;let s=vg(n);if("get"!==s)return null;let o=await vf(this._evaluator,n,s);if(!o)return null;let l=await this._evaluator.getType(r);if(!l)return null;let d=[];d.push({python:!0,text:await cF(l,"dynamic attribute",r.d.value,this._evaluator,!1,this._functionSignatureDisplay)});let u=null==(t=o.shared)?void 0:t.name;if(!u)return null;let p=await cF(o,"function",u,this._evaluator,!1,this._functionSignatureDisplay);return d.push({python:!0,text:p=this._addImplicitSelfParameter(p,u)}),{parts:d,range:{start:(0,aW.l8)(r.start,this._parseResults.tokenizerOutput.lines),end:(0,aW.l8)(aB.vY.getEnd(r),this._parseResults.tokenizerOutput.lines)}}}_addImplicitSelfParameter(e,t){let i=`def ${t}(`,r=e.indexOf(i);if(r<0)return e;let n=r+i.length,a=n<e.length?e[n]:void 0;return e.slice(0,n)+(")"===a?"self":"self, ")+e.slice(n)}constructor(e,t,i,r,n,a){IV(this,"_program",void 0),IV(this,"_fileUri",void 0),IV(this,"_position",void 0),IV(this,"_format",void 0),IV(this,"_snapshot",void 0),IV(this,"_token",void 0),IV(this,"_parseResults",void 0),IV(this,"_evaluator",void 0),this._program=e,this._fileUri=t,this._position=i,this._format=r,this._snapshot=n,this._token=a,this._parseResults=this._program.getParseResults(this._fileUri),this._evaluator=this._program.getEvaluator(this._snapshot)}}function IG(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class IH{async getHover(){return IN(await this._getHoverResult(),this._format)}get _functionSignatureDisplay(){return this._program.configOptions.functionSignatureDisplay}async _getHoverResult(){if((0,n8.Lj)(this._token),!this._parseResults)return null;let e=(0,aW.bt)(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===e)return null;let t=(0,aL.gr)(this._parseResults.parserOutput.parseTree,e),i=(0,aL.XS)(this._parseResults.tokenizerOutput.tokens,e);return(null==i?void 0:i.type)===aj.ks.Operator?await this._handleOperator(i,t):(null==i?void 0:i.type)===aj.ks.Keyword?await this._handleKeyword(i,t):null}async _handleKeyword(e,t){let i=await vU(this._evaluator,this._parseResults.parserOutput,e);return i?await this._handleCore(e,i,t):null}async _handleOperator(e,t){let i=await vO(this._evaluator,this._parseResults.parserOutput,e);return i?await this._handleCore(e,i,t):null}async _handleCore(e,t,i){if(!t.method||!this._evaluator||(0,aM.Tn)(t.method)&&vW(t.method.shared.moduleName)||(0,aM.Gl)(t.method)&&aM.OF.getOverloads(t.method).every(e=>vW(e.shared.moduleName)))return null;if((0,aM.Gl)(t.method)&&aM.OF.getImplementation(t.method)){var r,n;if(vW(null==(n=aM.OF.getImplementation(t.method))||null==(r=n.shared)?void 0:r.moduleName))return null}let a=[];await this._addResultsForDeclaration(t.name,t.method,a);let s={parts:a,range:{start:(0,aW.l8)(e.start,this._parseResults.tokenizerOutput.lines),end:(0,aW.l8)(aB.vY.getEnd(e),this._parseResults.tokenizerOutput.lines)}};return s.parts.length>0?s:null}async _addResultsForDeclaration(e,t,i){let r=await cF(t,"function",e,this._evaluator,!1,this._functionSignatureDisplay);i.push({text:r,python:!0});let n=await this._sourceMapperPromise;if(n){let e=(0,aM.Tn)(t)?t.shared.declaration:void 0,r=await cz(n,t,e,this._evaluator);await IW(this._program.serviceProvider,r,this._format,i,e)}}constructor(e,t,i,r,n,a){IG(this,"_program",void 0),IG(this,"_fileUri",void 0),IG(this,"_position",void 0),IG(this,"_format",void 0),IG(this,"_snapshot",void 0),IG(this,"_token",void 0),IG(this,"_parseResults",void 0),IG(this,"_evaluator",void 0),IG(this,"_sourceMapperPromise",void 0),this._program=e,this._fileUri=t,this._position=i,this._format=r,this._snapshot=n,this._token=a,this._parseResults=this._program.getParseResults(this._fileUri),this._evaluator=this._program.getEvaluator(this._snapshot),this._sourceMapperPromise=this._program.getSourceMapper(this._fileUri,!0,!1,this._snapshot,this._token)}}function IJ(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class IY{async getHover(){return(0,IE.aG)(await this._getHoverResult(),this._format)}get _functionSignatureDisplay(){return this._program.configOptions.functionSignatureDisplay}get _evaluator(){return this._program.getEvaluator(this._snapshot)}async _getHoverResult(){if((0,n8.Lj)(this._token),!this._parseResults)return null;let e=(0,aW.bt)(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===e)return null;let t=(0,aL.gr)(this._parseResults.parserOutput.parseTree,e);if(void 0===t||t.nodeType!==aO.ye.String)return null;let i=await this._tryGetDeclarations(t,e);if(0===i.length)return null;let r=this._stringDefinitionFinder.getWordAtOffset(t,e).split(".");if(0===r.length)return null;let n=[],a=r[r.length-1];if(0===a.length)return null;let s=IE.O_.getPrimaryDeclaration(i);if(await this._addResultsForDeclaration(n,s,a),0===n.length)return null;let o=this._getTextRange(t,e,a);return{parts:n,range:{start:(0,aW.l8)(o.start,this._parseResults.tokenizerOutput.lines),end:(0,aW.l8)(aB.vY.getEnd(o),this._parseResults.tokenizerOutput.lines)}}}_getTextRange(e,t,i){let r=this._parseResults.text.substring(e.start,aB.vY.getEnd(e)),n=t-e.start,a=e.start,s=0;for(;;){if((s=r.indexOf(i,s))<0)return e;if(s<=n&&n<=s+i.length){a=e.start+s;break}s+=i.length}return{start:a,length:i.length}}async _addResultsForDeclaration(e,t,i){let r=await this._evaluator.resolveAliasDeclaration(t,!0,{allowExternallyHiddenAccess:!0,skipFileNeededCheck:!0});if(!r)return;let n=await this._getTypeForDeclaration(r);if(n.type)switch(r.type){case aF.h3.Variable:{let t=await this._getVariableTypeText(r,i,n);this._addResultsPart(e,t,!0),await this._addDocumentationPartForType(e,n.type,r,i);break}case aF.h3.Class:case aF.h3.SpecialBuiltInClass:this._addResultsPart(e,"(class) "+i,!0),await this._addDocumentationPartForType(e,n.type,r,i);break;case aF.h3.Function:{let t="function",s=!1;if(r.isMethod){var a;let e=null==(a=await this._evaluator.getTypeForDeclaration(r))?void 0:a.type;t=(s=!!e&&(0,aX.jj)(e,!1))?"property":"method"}let o=await cF(n.type,t,i,this._evaluator,s,this._functionSignatureDisplay);this._addResultsPart(e,o,!0),await this._addDocumentationPartForType(e,n.type,r,i);break}case aF.h3.Alias:this._addResultsPart(e,"(module) "+i,!0),await this._addDocumentationPartForType(e,n.type,r,i);break;case aF.h3.TypeAlias:{let t=i+this._getTypeText(n.type,{expandTypeAlias:!0});this._addResultsPart(e,`(type alias) ${t}`,!0),await this._addDocumentationPartForType(e,n.type,r,i)}}}async _getTypeForDeclaration(e){var t;let i=await this._evaluator.getTypeForDeclaration(e);if(i.type)return i;let r=new lM.NI(lM.mk.None),n=await this._evaluator.getInferredTypeOfDeclaration(r,e);return{type:n,isTypeAlias:(null==n||null==(t=n.props)?void 0:t.typeAliasInfo)!==void 0}}async _getVariableTypeText(e,t,i){let r,n=i.type,a=e.isConstant||this._evaluator.isFinalVariableDeclaration(e)?"constant":"variable",s=!1;if(i.isTypeAlias){let e=(0,aM.j$)(n);(null==e?void 0:e.shared.name)===t&&((0,aM.CP)(n)?(a=n.shared.isTypeParamSyntax?"param spec":"type variable",r=n.shared.name):(s=!0,a="type alias"))}return n.category===aM.vb.Function||n.category===aM.vb.Overloaded?await cF(n,a,t,this._evaluator,!1,this._functionSignatureDisplay):`(${a}) `+(r||t+": "+await this._evaluator.printType(n,{expandTypeAlias:s}))}async _addDocumentationPartForType(e,t,i,r){let n=await this._sourceMapperPromise;if(!t||!n||!i)return!1;let a=await cz(n,t,i,this._evaluator,{name:r});return(0,IE.R4)(this._program.serviceProvider,a,this._format,e,i),!!a}_addResultsPart(e,t,i=!1){e.push({python:i,text:t})}async _getTypeText(e,t){return": "+await this._evaluator.printType(e,t)}async _tryGetDeclarations(e,t){return this._stringDefinitionFinder?await this._stringDefinitionFinder.tryGetDeclarations(e,t,this._snapshot,this._token):[]}constructor(e,t,i,r,n,a){IJ(this,"_program",void 0),IJ(this,"_fileUri",void 0),IJ(this,"_position",void 0),IJ(this,"_format",void 0),IJ(this,"_snapshot",void 0),IJ(this,"_token",void 0),IJ(this,"_parseResults",void 0),IJ(this,"_sourceMapperPromise",void 0),IJ(this,"_stringDefinitionFinder",void 0),this._program=e,this._fileUri=t,this._position=i,this._format=r,this._snapshot=n,this._token=a,this._parseResults=this._program.getParseResults(this._fileUri),this._sourceMapperPromise=this._program.getSourceMapper(this._fileUri,!0,!1,this._snapshot,this._token),this._stringDefinitionFinder=this._program.serviceProvider.tryGet(nM.asyncStringDefinitionFinder)}}function IQ(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class IX{async getHover(){return await this._addTelemetry(this._snapshot,await this._getHover())}async _getHover(){for(let e of this._providers){let t=await e.getHover();if(t)return t}return null}async _addTelemetry(e,t){var i,r,n;if(!t||!this._supportTelemetry)return t;let a=this._program.getParseResults(this._fileUri);if(!a)return t;let s=(0,aW.bt)(this._position,a.tokenizerOutput.lines);if(void 0===s)return t;let o=(0,aL.gr)(a.parserOutput.parseTree,s);if(void 0===o||o.nodeType!==aO.ye.Name)return t;let l=this._program.getEvaluator(e),d=null==(i=await l.getDeclInfoForNameNode(o))?void 0:i.decls;if(!d||0===d.length)return t;let u=I$.getPrimaryDeclaration(d);if(this._format===nZ.MarkupKind.Markdown){let e=u.type===aF.h3.Alias?await l.resolveAliasDeclaration(u,!0):u,i=(null==(r=o.parent)?void 0:r.nodeType)===aO.ye.ModuleName?o.parent.d.nameParts[0].d.value:o.d.value,a=(null==e?void 0:e.type)!==aF.h3.Alias||e.moduleName?null==e?void 0:e.moduleName:i;if(a){let e=a.split(".")[0]||a;t.contents.value+=`
<!--moduleHash:${(0,sN.YZ)(e)}-->`;let i=null==(n=this._program.serviceProvider.tryGet(nM.packageDiscoverer))?void 0:n.getKnownModuleVersion(this._program,e);i&&(t.contents.value+=`
<!--moduleVersion:${i}-->`)}}return t}constructor(e,t,i,r,n,a,s){IQ(this,"_program",void 0),IQ(this,"_fileUri",void 0),IQ(this,"_position",void 0),IQ(this,"_format",void 0),IQ(this,"_supportTelemetry",void 0),IQ(this,"_snapshot",void 0),IQ(this,"_providers",void 0),this._program=e,this._fileUri=t,this._position=i,this._format=r,this._supportTelemetry=n,this._snapshot=a,this._providers=[new IK(e,t,i,r,a,s),new Iq(e,t,i,r,a,s),new I$(e,t,i,r,a,s),new IY(e,t,i,r,a,s),new IH(e,t,i,r,a,s)]}}function IZ(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function I0(e){var t;null==(t=e.handleMemoryHighUsage)||t.call(e)}class I1{async reportSymbols(){for(let e of this._workspaces){if(e.disableLanguageServices||e.disableWorkspaceSymbol||!e.isInitialized.resolved())continue;let t=e.service;await t.runAsync(async i=>{e.includeVenvInWorkspaceSymbols?(this._reportSymbolsForProgramWithAllLibraryFiles(e,t,i),e.includeExtraPathSymbolsInSymbolSearch&&this._reportSymbolsForProgramWithExtraPaths(e,t,i)):e.includeExtraPathSymbolsInSymbolSearch?this._reportSymbolsForProgramWithExtraPaths(e,t,i):this._reportSymbolsForProgramLegacy(e,t,i)},this._token)}return this._allSymbols}_createSymlinkSkipPredicate(e,t){var i,r,n;let a=null!=(i=e.symlinkedDirectoryRoots)?i:t.getSymlinkedDirectoryRoots();return o3(null==(r=null==(n=e.indexOptions)?void 0:n.followSymlinkedFolders)||r,a)}_reportSymbolsForProgramLegacy(e,t,i){(0,n8.Lj)(this._token);let r=this._createSymlinkSkipPredicate(e,t);for(let e of i.getSourceFileInfoList()){if(!(0,aR.xX)(e)||r(e.uri))continue;let t=this._getSymbolsForDocument(i,e.uri);t.length>0&&this._reporter(t),I0(i)}}_reportSymbolsForProgramWithAllLibraryFiles(e,t,i){(0,n8.Lj)(this._token);let r=this._createSymlinkSkipPredicate(e,t);if(this._query){let e=this._globalIndices.getIndices(i);for(let t of i.configOptions.getExecutionEnvironments()){(0,n8.Lj)(this._token);let r=e.getLibraryIndices(t.root);if(r)for(let[e,t]of r){var n;if((0,n8.Lj)(this._token),!function(e){let t=e.getPath().toLowerCase();return t.includes("/site-packages/")||t.includes("/dist-packages/")}(e)||!this._markSeen(e))continue;let r=[];this._appendWorkspaceSymbolsRecursive(t.symbols,i,e,"",r,!0,!0,null!=(n=t.pyTypedPackage)&&n),r.length>0&&this._reporter(r),I0(i)}}}for(let e of i.getSourceFileInfoList()){if(!(0,aR.xX)(e))continue;let t=e.uri;if(r(t)||!this._markSeen(t))continue;let n=this._getSymbolsForDocument(i,t);n.length>0&&this._reporter(n),I0(i)}}_reportSymbolsForProgramWithExtraPaths(e,t,i){(0,n8.Lj)(this._token);let r=this._globalIndices.getIndices(i),n=this._getExtraPaths(i),a=this._createSymlinkSkipPredicate(e,t);if(n.length>0)for(let e of i.configOptions.getExecutionEnvironments()){(0,n8.Lj)(this._token);let t=r.getLibraryIndices(e.root);if(t)for(let[e,r]of t){if((0,n8.Lj)(this._token),!this._isInExtraPaths(e,n)||!this._markSeen(e))continue;let t=[];this._appendWorkspaceSymbolsRecursive(r.symbols,i,e,"",t),t.length>0&&this._reporter(t)}}for(let e of i.getSourceFileInfoList()){if(!(0,aR.xX)(e))continue;let t=e.uri;if(a(t)||!this._markSeen(t))continue;let r=this._getSymbolsForDocument(i,t);r.length>0&&this._reporter(r),I0(i)}}_getSymbolsForDocument(e,t){let i=[],r=this._globalIndices.getIndices(e).getSourceIndex(t);if(r)return this._appendWorkspaceSymbolsRecursive(r.symbols,e,t,"",i),i;let n=e.getParseResults(t);if(!n)return i;let a=(0,ax.R8)(n.parserOutput.parseTree);if(!a)return i;let s=oY.W_.indexSymbols(a,n,{includeAliases:!1},this._token);return this._appendWorkspaceSymbolsRecursive(s,e,t,"",i),i}_appendWorkspaceSymbolsRecursive(e,t,i,r,n,a=!1,s=!1,o=!1){if((0,n8.Lj)(this._token),e){for(let c of e)if(!c.alias||a){if(sN.OP(this._query,c.name)){var l,d,u,p;let e=(null==(u=c.alias)?void 0:u.selectionRange)&&(null==(p=c.alias)?void 0:p.moduleUri),a=e?c.alias.moduleUri:i,h=null!=(l=null!=(d=e?c.alias.selectionRange:c.selectionRange)?d:function(e,t,i,r){if(!r.has(t.key))try{r.set(t.key,e.readFileSync(t,"utf-8"))}catch{r.set(t.key,void 0)}let n=r.get(t.key);if(!n)return;let a=sN.Nt(i),s=RegExp(`\\b${a}\\b`),o=n.split("\n");for(let e=0;e<o.length;e++){let t=s.exec(o[e]);if(t){let r=t.index;return{start:{line:e,character:r},end:{line:e,character:r+i.length}}}}}(t.fileSystem,a,e?c.alias.originalName:c.name,this._fileContentCache))?l:{start:{line:0,character:0},end:{line:0,character:0}},m={uri:(0,ah.JQ)(t.fileSystem,a),range:h},y={name:c.name,kind:c.kind,location:m,data:{isThirdPartyImport:s,isInPyTypedPackage:o}};r.length&&(y.containerName=r),n.push(y)}this._appendWorkspaceSymbolsRecursive(c.children,t,i,this._getContainerName(r,c.name),n,a,s,o)}}}_getContainerName(e,t){return e.length>0?`${e}.${t}`:t}_getExtraPaths(e){let t=new Map;for(let i of e.configOptions.getExecutionEnvironments())for(let e of i.extraPaths)e.isEmpty()||t.set(e.key,e);return[...t.values()]}_isInExtraPaths(e,t){for(let i of t)if(e.startsWith(i))return!0;return!1}_markSeen(e){return!this._seenFileKeys.has(e.key)&&(this._seenFileKeys.add(e.key),!0)}constructor(e,t,i,r,n){IZ(this,"_globalIndices",void 0),IZ(this,"_workspaces",void 0),IZ(this,"_query",void 0),IZ(this,"_token",void 0),IZ(this,"_reporter",void 0),IZ(this,"_allSymbols",void 0),IZ(this,"_seenFileKeys",void 0),IZ(this,"_fileContentCache",void 0),this._globalIndices=e,this._workspaces=t,this._query=r,this._token=n,this._allSymbols=[],this._seenFileKeys=new Set,this._fileContentCache=new Map,this._reporter=i?e=>i.report(e):e=>(0,ap.af)(this._allSymbols,e)}}class I5{async reportSymbols(){let e=[];for(let t of this._providers)e.push(...await t.reportSymbols());return e}constructor(e,t,i,r,n){var a,s;s=void 0,(a="_providers")in this?Object.defineProperty(this,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):this[a]=s,this._providers=[new I1(e,t,i,r,n)]}}async function I4(e,t,i,r,n,a){if(!i)return(0,aM.FS)(t)?r:void 0;switch(i.type){case aF.h3.Intrinsic:case aF.h3.Variable:case aF.h3.Param:case aF.h3.TypeParam:{let i=!1;if(t&&aM.Ab.isInstantiable(t)){let e=(0,aM.j$)(t);e&&e.shared.name===r&&(i=!0)}if(t.category===aM.vb.Overloaded||t.category===aM.vb.Function)return await cF(t,"",r,e,!1,a);return r+": "+await e.printType(t,{expandTypeAlias:i})}case aF.h3.Function:{let i=(null==n?void 0:n.boundObjectOrClass)&&(0,aM.BL)(t)?await e.bindFunctionToClassOrObject(n.boundObjectOrClass,t):t;if(!i)return;if((0,aX.uM)(i)&&(null==n?void 0:n.boundObjectOrClass)&&(0,aM.aE)(n.boundObjectOrClass)){let t=e.getGetterTypeFromProperty&&await e.getGetterTypeFromProperty(i)||aM.vn.create();return r+": "+await e.printType(t)+" (property)"}return await cF(i,"",r,e,!1,a)}case aF.h3.Class:case aF.h3.SpecialBuiltInClass:return"class "+r+"()";case aF.h3.Alias:default:return r}}function I3(e,t,i){t&&(e.has(t)||e.set(t,i))}async function I8(e,t,i,r,n){let a,s=e.configOptions.findExecEnvironment(i),o=await e.getPythonSearchPaths(t,n),l=e.fileSystem,d=new Map,u=r.leadingDots>0?(a=function(e,t){let i=e.getDirectory();for(let e=1;e<t;e++)i=i.getDirectory();return i}(i,r.leadingDots))?[a]:[]:function(e,t,i){let r=[];for(let e of(t.root&&r.push(t.root),t.extraPaths))r.push(e);return i&&r.push(...i),r}(0,s,o),p=r.nameParts,c="";for(let e of(!r.hasTrailingDot&&r.nameParts.length>0&&(c=r.nameParts[r.nameParts.length-1],p=r.nameParts.slice(0,-1)),u))for(let t of function(e,t,i){let r=t.combinePaths(...i);try{if(e.statSync(r).isDirectory())return[r]}catch{}return[]}(l,e,p)){let e;try{e=l.readdirSync(t)}catch{continue}for(let i of e){let e=t.combinePaths(i);if(function(e){return au.mM.some(t=>e.endsWith(t))&&"__init__.py"!==e&&"__init__.pyi"!==e}(i)){let t=function(e){for(let t of au.mM)if(e.endsWith(t))return e.slice(0,-t.length);return e}(i);(!c||t.startsWith(c))&&I3(d,t,e);continue}try{l.statSync(e).isDirectory()&&(!c||i.startsWith(c))&&I3(d,i,e)}catch{}}}return d}function I2(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function I6(e){return oy.isNotebookCell(e)?"vscode-interactive-input"===e.scheme?"interactive":"cell":"regular"}ib=nW||(nW={}),D=[...A=[...F=["True","False","None","and","or","not","is","lambda","yield","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","nonlocal","pass","raise","return","try","type","while","with"],"async","await"],"case","match"],ib.forVersion=function(e){return ai.fz.isGreaterOrEqualTo(e,ai.K7)?D:ai.fz.isGreaterOrEqualTo(e,ai.G5)?A:F};let I7=ov.O.Completion.autoImportDetail(),I9=ov.O.Completion.indexValueDetail();class Ce{getMemberAccessInfo(){return this._memberAccessInfo}getAutoImportInfo(){return this._autoImportInfo}getSlowCompletionInfo(){return this._slowCompletionInfo}getProviderKind(){return"pylance"}async getCompletions(){if(!this.program.getSourceFileInfo(this.fileUri))return null;let e=await this._getCompletions();return nZ.CompletionList.create(null==e?void 0:e.toArray())}async resolveCompletionItem(e){(0,n8.Lj)(this.cancellationToken);let t=this.getCompletionItemData(e),i=e.label,r="";t.autoImportText&&(r=t.autoImportText);let n=Ce._mostRecentCompletions.findIndex(e=>e.label===i&&e.autoImportText===r);if(n>0&&(Ce._mostRecentCompletions=Ce._mostRecentCompletions.splice(n,1)),0!==n&&Ce._mostRecentCompletions.unshift({label:i,autoImportText:r}),Ce._mostRecentCompletions.length>128&&Ce._mostRecentCompletions.pop(),t.symbolLabel){if(t.moduleUri&&au.QC.isSupportedImportSourceFile(n4.z.parse(t.moduleUri,this.program.serviceProvider))){let i=n4.z.parse(t.moduleUri,this.program.serviceProvider),r=await this.getSourceMapper(),n=await cT([i],r);if(!n)return;if(this.options.format===nZ.MarkupKind.Markdown){let t=this.program.serviceProvider.docStringService().convertDocStringToMarkdown(n,(0,cp.C6)(i));e.documentation={kind:nZ.MarkupKind.Markdown,value:t}}else if(this.options.format===nZ.MarkupKind.PlainText){let t=this.program.serviceProvider.docStringService().convertDocStringToPlainText(n);e.documentation={kind:nZ.MarkupKind.PlainText,value:t}}return}if(this.itemToResolve=e,t.autoImportText){if(!e.additionalTextEdits){let e=new oJ.JB;await this.addAutoImportCompletions(t.symbolLabel,1,!1,e)}}else await this.getCompletions()}}get evaluator(){return this._asyncEvaluator}get configOptions(){return this.program.configOptions}async getSourceMapper(){return this._sourceMapper||(this._sourceMapper=await this.program.getSourceMapper(this.fileUri,!0,!1,this.snapshot,this.cancellationToken)),this._sourceMapper}getCompletionItemData(e){return e.data?oq.fromLSP(e).data:(0,o5.uJ)(e.data)}async getMethodOverrideCompletions(e,t,i){var r,n,a;let s=aL.Ji(t,!0);if(!s)return;let o=await this.evaluator.getTypeOfClass(s);if(!o)return;let l=kH(this.parseResults,t),d=this.program.serviceProvider.tryGet(nM.asyncDeclarationFinder),u=d?await bF(this.evaluator,d,this.snapshot,i,this.cancellationToken):[],p=d?await bI(this.evaluator,d,this.snapshot,await this.evaluator.getBuiltInType(t,"property"),this.cancellationToken):[],c=d?await bI(this.evaluator,d,this.snapshot,await this.evaluator.getBuiltInType(t,"staticmethod"),this.cancellationToken):[],h=d?await bI(this.evaluator,d,this.snapshot,await this.evaluator.getBuiltInType(t,"classmethod"),this.cancellationToken):[],m=p.length>0&&u.some(e=>p.some(t=>(0,aA.MY)(e,t)))||null!=(r=null==i?void 0:i.some(e=>aL.uo(e,"property")))&&r,y=c.length>0&&u.some(e=>c.some(t=>(0,aA.MY)(e,t)))||null!=(n=null==i?void 0:i.some(e=>aL.uo(e,"staticmethod")))&&n,g=h.length>0&&u.some(e=>h.some(t=>(0,aA.MY)(e,t)))||null!=(a=null==i?void 0:i.some(e=>aL.uo(e,"classmethod")))&&a,f=i&&i.length>0?(0,aW.l8)(i[0].start,this.parseResults.tokenizerOutput.lines).line:this.position.line,v=new oJ.JB;for(let[i,r]of(0,aX.Mz)(o.classType))await this._appendMember(e,t,l,m,y,g,f,o,r,i,v);if(o.classType.shared.effectiveMetaclass&&!(0,aM.t8)(o.classType.shared.effectiveMetaclass))for(let[i,r]of(0,aX.Mz)(o.classType.shared.effectiveMetaclass))await this._appendMember(e,t,l,m,y,g,f,o,r,i,v);return this._slowCompletionInfo={completionType:"override",fileType:I6(this.fileUri)},!t.d.value.startsWith("__")||y||g||this._addDunderMethodCompletions(e,t,v),v}printOverriddenMethodBody(e,t,i,r,n){let a=this.parseResults.tokenizerOutput.predominantTabSequence;if(1===e.shared.baseClasses.length&&(0,aM.D4)(e.shared.baseClasses[0])&&"builtins.object"===e.shared.baseClasses[0].shared.fullName||0===r.node.d.params.length)return a+(this.options.snippet?"${0:pass}":"pass");let s=function(e){let t=[],i=!1;for(let r of e)r.d.name&&t.push([r,r.d.category===aO.OP.Simple&&!!r.d.name&&i]),r.d.category===aO.OP.ArgsList&&(i=!0);return t}(t?r.node.d.params:r.node.d.params.slice(1));return("__init__"!==r.node.d.name.d.value&&(a+="return "),n&&(a+="await "),i)?a+`super().${r.node.d.name.d.value}`:a+`super().${r.node.d.name.d.value}(${s.map(function(e){var t;let i=null==(t=e[0].d.name)?void 0:t.d.value;return e[0].d.category===aO.OP.ArgsList?`*${i}`:e[0].d.category===aO.OP.KwargsDict?`**${i}`:e[1]?`${i}=${i}`:i}).join(", ")})`}createReplaceEdits(e,t,i){let r=(null==t?void 0:t.nodeType)===aO.ye.Name?this.position.character-e.length+t.d.value.length:this.position.character,n={start:{line:this.position.line,character:this.position.character-e.length},end:{line:this.position.line,character:r}};return nZ.TextEdit.replace(n,i)}shouldProcessDeclaration(e){if(!this._chainedUri||(null==e?void 0:e.type)!==aF.h3.Alias||!e.moduleName.endsWith("__skip__completion__"))return!0;let t=ax.R8(e.node);return!(null==t?void 0:t.fileUri.equals(this._chainedUri))}async addSymbol(e,t,i,r,n){var a,s,o,l;let d=(0,o0.IE)(t);if(!d){let e=t.getDeclarations();e.length>0&&(d=e[e.length-1])}if(!this.shouldProcessDeclaration(d))return;d=d?null!=(a=await this.evaluator.resolveAliasDeclaration(d,!0))?a:d:void 0;let u=n.autoImportSource&&this.program.configOptions.autoImportCompletions?this.getAutoImportText(e,n.autoImportSource,n.autoImportAlias):void 0;if(this.itemToResolve){let i=this.getCompletionItemData(this.itemToResolve);if(i.symbolLabel!==e||(void 0===this.itemToResolve.additionalTextEdits&&(null==(s=n.edits)?void 0:s.additionalTextEdits)!==void 0&&(this.itemToResolve.additionalTextEdits=(0,fI.Rp)(n.edits.additionalTextEdits)),i.autoImportText))return;let r=await this._getTypeOfSymbol(t,n,e);if(!r)return;let a=await I4(this.evaluator,r,d,e,n,this.configOptions.functionSignatureDisplay),o=await this.getSourceMapper(),l=await cz(o,r,d,this.evaluator,{name:e,symbol:t,boundObjectOrClass:n.boundObjectOrClass});this.options.format===nZ.MarkupKind.Markdown||this.options.format===nZ.MarkupKind.PlainText?this.itemToResolve.documentation=(0,kG.k)(this.program.serviceProvider,a,l,this.options.format,d):(0,n6.fJ)(`Unsupported markup type: ${this.options.format}`);return}if(d){let t,a=await this._convertDeclarationTypeToItemKind(d);await this._isEnumMember(n.boundObjectOrClass,e)&&(a=nZ.CompletionItemKind.EnumMember),d.type===aF.h3.Variable&&(d.isConstant||this.evaluator.isFinalVariableDeclaration(d))&&(t=cH(d,this.parseResults)),this.addNameToCompletions(null!=(o=n.autoImportAlias)?o:e,a,i,r,{autoImportText:u,extraCommitChars:n.extraCommitChars,funcParensDisabled:n.funcParensDisabled,edits:n.edits,itemDetail:t})}else{let a=null==(l=t.getSynthesizedType())?void 0:l.type;if(a){let t=this._convertTypeToItemKind(a);this.addNameToCompletions(e,t,i,r,{extraCommitChars:n.extraCommitChars,funcParensDisabled:n.funcParensDisabled,edits:n.edits})}}}async getMemberAccessCompletions(e,t){var i;let r=new Map,n=new oJ.JB,a=await this.evaluator.getType(e);if(!a)return n;a=this.evaluator.makeTopLevelTypeVarsConcrete(a),(0,aM.t8)(a)&&a.priv.possibleType&&(a=this.evaluator.makeTopLevelTypeVarsConcrete(a.priv.possibleType));let s=[];for(let i of((0,aX.u6)(a,e=>{s.push(e)}),s)){let a=this.evaluator.makeTopLevelTypeVarsConcrete(i);if((0,aM.D4)(a)){let e=aM.Ab.isInstance(a);if((0,aX.DM)(a,r,e),aM.p5.isEnumClass(a)&&e)for(let e of r.keys())await this._isEnumMember(a,e)&&r.delete(e)}else if((0,aM.FS)(a))(0,aX.n9)(a,r);else if((0,aM.BL)(a)){let t=await this.evaluator.getBuiltInType(e,"function");t&&(0,aM.dL)(t)&&(0,aX.DM)(t,r,!0)}else if((0,aX.Lj)(a)){let t=await this.evaluator.getBuiltInType(e,"object");t&&(0,aM.dL)(t)&&(0,aX.DM)(t,r,aM.Ab.isInstance(a))}await this._addSymbolsForSymbolTable(r,()=>!0,t,e,!1,(0,aM.D4)(a)?a:void 0,n)}let o=await this._appendGetAttrLiteralMembers(e,t,n);return(a=await this.evaluator.getType(e))&&(a=this.evaluator.makeTopLevelTypeVarsConcrete(a),(0,aM.t8)(a)&&a.priv.possibleType&&(a=this.evaluator.makeTopLevelTypeVarsConcrete(a.priv.possibleType)),a.category===aM.vb.Module&&await this._getSubmoduleCompletion(e,a,t,o)),this._memberAccessInfo=await this._getLastKnownModule(e,a),(null==(i=this._slowCompletionInfo)?void 0:i.completionType)!=="module-submodule"&&(this._slowCompletionInfo={completionType:"member-access",fileType:I6(this.fileUri)}),o}async createAutoImporter(e,t){var i;let r=this.program.serviceProvider.tryGet(nM.packageDiscoverer);this._pylanceOptions.showOnlyDirectDependenciesInAutoImport&&await (null==r?void 0:r.ensureDistributionToPackageMap(this.program));let n=null!=(i=await this.program.getPythonSearchPaths(this.snapshot,this.cancellationToken))?i:[];return new fO(this.program,this.execEnv,this.parseResults,this.position,e,await fA(this.program,this.execEnv,this._autoImportMaps.indices,this.fileUri,this._pylanceOptions.includeAliasesFromUserFiles,!1,this.cancellationToken),{indices:this._autoImportMaps.indices,lazyEdit:t,importFormat:this._pylanceOptions.importFormat,includeAliasesFromUserFiles:this._pylanceOptions.includeAliasesFromUserFiles,allowOnlyDirectDependencies:this._pylanceOptions.showOnlyDirectDependenciesInAutoImport?null==r?void 0:r.getDirectDependencyTopLevelModules(this.program):void 0},n)}async addAutoImportCompletions(e,t,i,r,n){var a;if(!this.configOptions.autoImportCompletions||!this._pylanceOptions.autoImport)return;let s=await this.createAutoImporter(r,i),o=[],l=null==(a=this._autoImportMaps.nameMap)?void 0:a.get(e);l&&e.length>1&&!r.has(e)&&(0,ap.af)(o,await s.getAutoImportCandidatesForAbbr(e,l,this.cancellationToken)),o.push(...await s.getAutoImportCandidates(e,t,void 0,this.cancellationToken));let d=s.getPerfInfo(),u=new of.dw;await this.addImportResults(o,e,r,n),o.length>0&&(this._slowCompletionInfo={completionType:"auto-import",fileType:I6(this.fileUri)}),this._autoImportInfo={indexUsed:d.indexUsed,totalTimeInMS:d.totalInMs,moduleTimeInMS:d.moduleTimeInMS,indexTimeInMS:d.indexTimeInMS,importAliasTimeInMS:d.importAliasTimeInMS,itemCount:o.length,symbolCount:d.symbolCount,indexCount:d.indexCount,importAliasCount:d.importAliasCount,additionTimeInMS:u.getDurationInMilliseconds()}}async addImportResults(e,t,i,r){for(let o of e)if(o.symbol)await this.addSymbol(o.name,o.symbol,t,i,{extraCommitChars:!0,autoImportSource:o.source,autoImportAlias:o.alias,edits:{textEdit:this.createReplaceEdits(t,void 0,o.insertionText),additionalTextEdits:o.edits},funcParensDisabled:r});else{var n,a,s;this.addNameToCompletions(null!=(n=o.alias)?n:o.name,null!=(a=o.kind)?a:nZ.CompletionItemKind.Module,this.program.configOptions.autoImportCompletions?t:null!=(s=o.alias)?s:o.name,i,this.program.configOptions.autoImportCompletions?{extraCommitChars:!0,autoImportText:this.getAutoImportText(o.name,o.source,o.alias),edits:{textEdit:this.createReplaceEdits(t,void 0,o.insertionText),additionalTextEdits:o.edits},funcParensDisabled:r}:void 0)}}addExtraCommitChar(e){if(!this._pylanceOptions.extraCommitChars||!e.kind)return;let t=this._getExtraCommitCharsForKind(e.kind);0!==t.length&&(e.commitCharacters=t)}addNameToCompletions(e,t,i,r,n){var a,s,o,l;if(!(null!=n&&n.autoImportText||sN.OP(i,e))||r.has(e,e=>oJ.JB.matchKindAndImportText(e,this.getCompletionItemData.bind(this),t),t,null==n||null==(a=n.autoImportText)?void 0:a.importText))return;let d=nZ.CompletionItem.create(e);d.kind=t,(null==n?void 0:n.extraCommitChars)&&this.addExtraCommitChar(d);let u={uri:this.fileUri.toString(),position:this.position};if(((null==n?void 0:n.funcParensDisabled)||!this.options.snippet)&&(u.funcParensDisabled=!0),(null==n?void 0:n.moduleUri)&&(u.moduleUri=n.moduleUri.toString()),d.data=(0,o5.Nt)(u),(null==n?void 0:n.sortText)||(null==n?void 0:n.itemDetail)?(d.sortText=n.sortText,d.detail=n.itemDetail):(null==n?void 0:n.autoImportText)?(d.sortText=this._makeSortText(12,`${e}.${this._formatInteger(n.autoImportText.source.length,2)}.${n.autoImportText.source}`,n.autoImportText.importText),u.autoImportText=n.autoImportText.importText,d.detail=I7,n.autoImportText.source&&(d.labelDetails={description:n.autoImportText.source})):t===nZ.CompletionItemKind.EnumMember?d.sortText=this._makeSortText(8,e):aN.SW(e)?d.sortText=this._makeSortText(11,e):""===i&&aN.sQ(e)?d.sortText=this._makeSortText(10,e):d.sortText=this._makeSortText(9,e),u.symbolLabel=e,this.options.format===nZ.MarkupKind.Markdown){let e="";(null==n?void 0:n.autoImportText)&&(e+=n.autoImportText.importText,(n.typeDetail||n.documentation)&&(e+="\n\n")),(null==n?void 0:n.typeDetail)&&(e+="```python\n"+n.typeDetail+"\n```\n"),(null==n?void 0:n.documentation)&&(e+="---\n",e+=this.program.serviceProvider.docStringService().convertDocStringToMarkdown(n.documentation,(0,cp.C6)(n.moduleUri))),(e=e.trimEnd())&&(d.documentation={kind:nZ.MarkupKind.Markdown,value:e})}else if(this.options.format===nZ.MarkupKind.PlainText){let e="";(null==n?void 0:n.autoImportText)&&(e+=n.autoImportText.importText,(n.typeDetail||n.documentation)&&(e+="\n\n")),(null==n?void 0:n.typeDetail)&&(e+=n.typeDetail+"\n"),(null==n?void 0:n.documentation)&&(e+="\n"+this.program.serviceProvider.docStringService().convertDocStringToPlainText(n.documentation)),(e=e.trimEnd())&&(d.documentation={kind:nZ.MarkupKind.PlainText,value:e})}else(0,n6.fJ)(`Unsupported markup type: ${this.options.format}`);(null==n||null==(s=n.edits)?void 0:s.format)&&(d.insertTextFormat=n.edits.format),(null==n||null==(o=n.edits)?void 0:o.textEdit)&&(d.textEdit=n.edits.textEdit),(null==n||null==(l=n.edits)?void 0:l.additionalTextEdits)&&(d.additionalTextEdits=(0,fI.Rp)(n.edits.additionalTextEdits),this.itemToResolve&&this.getCompletionItemData(this.itemToResolve).autoImportText===u.autoImportText&&(this.itemToResolve.additionalTextEdits=d.additionalTextEdits)),r.set(d)}getAutoImportText(e,t,i){let r=(0,cd.ib)(e,t,i),n="";return this.options.format===nZ.MarkupKind.Markdown?n=`\`\`\`
${r}
\`\`\``:this.options.format===nZ.MarkupKind.PlainText?n=r:(0,n6.fJ)(`Unsupported markup type: ${this.options.format}`),{source:null!=t?t:"",importText:n}}async addAdditionalExpressionCompletions(e,t,i){await this._addImplicitSelfMemberCompletions(e,t,i)}get _fileContents(){var e,t;return null!=(e=null==(t=this.parseResults)?void 0:t.text)?e:""}get _pylanceOptions(){return this.options}async _getTypeOfSymbol(e,t,i){var r;let n=await this.evaluator.getEffectiveTypeOfSymbol(e);if(!n)return;if(!t.boundObjectOrClass||!aM.Ab.isInstance(t.boundObjectOrClass)||(0,aX.uM)(n)||!(0,aX.jj)(n,!1))return n;let a=(0,aW.bt)(this.position,this.parseResults.tokenizerOutput.lines);if(void 0===a)return n;let s=aL.gr(this.parseResults.parserOutput.parseTree,a),o=s?aL.M8(s,aO.ye.MemberAccess):void 0;if(!o||o.nodeType!==aO.ye.MemberAccess)return n;let l=await this.evaluator.getTypeOfBoundMember(o,t.boundObjectOrClass,i,void 0,aX.Mh.Default);return null!=(r=null==l?void 0:l.type)?r:n}async _getCompletions(){var e,t;let i=(0,aW.bt)(this.position,this.parseResults.tokenizerOutput.lines);if(void 0===i)return;let r=aL.gr(this.parseResults.parserOutput.parseTree,i),n=aL.XS(this.parseResults.tokenizerOutput.tokens,i);if((null==n?void 0:n.type)===aj.ks.String)this._stringLiteralContainer=aB.vY.contains(n,i)||n.flags&aj.IF.Unterminated?n:void 0;else if(r){let e=aL.M8(r,aO.ye.FormatString);e&&(this._stringLiteralContainer=e.d.token)}let a=r,s=r?aL.AP(r):0;if(!a||a.nodeType!==aO.ye.Name){let t=i,n=!1;for(;t>=0;){t--;let o=this._fileContents.substr(t,1);if("("===o||"\n"===o||"}"===o)break;","===o&&(n=!0);let l=aL.gr(this.parseResults.parserOutput.parseTree,t);if(l&&l!==a){if((l.nodeType===aO.ye.StringList||l.nodeType===aO.ye.String||l.nodeType===aO.ye.FormatString)&&!(aB.vY.contains(l,i)||aB.vY.getEnd(l)===i))break;aL.AP(l)>s&&(r=l,n&&(null==(e=r.parent)?void 0:e.nodeType)===aO.ye.ImportFromAs&&(r=r.parent));break}}}if(void 0===r)return;let o=this.parseResults.tokenizerOutput.lines.getItemAt(this.position.line),l=this._fileContents.substr(o.start,o.length),d=l.substr(0,this.position.character),u=l.substr(this.position.character),p=d.search(/[\p{L}\p{N}\p{Pc}\p{Mn}\p{Mc}]+$/u),c=p>=0?d.substr(p):"";if(this._isWithinComment(i))return;let h=r;for(;h&&h.nodeType!==aO.ye.Error;)h=h.parent;let m=h||r;for(;;){if((0,n8.Lj)(this.cancellationToken),m.nodeType===aO.ye.String)return await this._getLiteralCompletions(m,i,c,d,u);if(m.nodeType===aO.ye.StringList||m.nodeType===aO.ye.FormatString)break;if(m.nodeType===aO.ye.ModuleName)return await this._getImportModuleCompletions(m,c);if(m.nodeType===aO.ye.Error)return await this._getExpressionErrorCompletions(m,i,c,d,u);if(m.nodeType===aO.ye.MemberAccess)return await this.getMemberAccessCompletions(m.d.leftExpr,c);if(m.nodeType===aO.ye.Dictionary){let e=new oJ.JB;if(await this._tryAddTypedDictKeysFromDictionary(m,void 0,c,d,u,e))return e}let e=aL.Ay(m,aO.ye.DictionaryKeyEntry);if(e&&(null==(t=e.parent)?void 0:t.nodeType)===aO.ye.Dictionary){let t=e.parent;if(t.d.trailingCommaToken&&t.d.trailingCommaToken.start<i){let e=new oJ.JB;if(await this._tryAddTypedDictKeysFromDictionary(t,void 0,c,d,u,e))return e}}if(m.nodeType===aO.ye.Name){let e=await this._tryGetNameCompletions(m,i,c,d,u);if(e||void 0===e)return e}if(m.nodeType===aO.ye.List&&"["===this.options.triggerCharacter)break;if(m.nodeType===aO.ye.ImportFrom){let e=m.d.module,t=e.start+e.length,r=m.d.imports.length>0?m.d.imports[0].start:Number.MAX_SAFE_INTEGER;if(0===e.d.nameParts.length||i<=t&&i<r)return await this._getImportModuleCompletions(e,c);return await this._getImportFromCompletions(m,i,c)}if((0,aO.TE)(m))return await this._getExpressionCompletions(m,c,d,u);if(m.nodeType===aO.ye.Suite){if(m.parent&&m.parent.nodeType===aO.ye.Except&&!m.parent.d.name&&m.parent.d.typeExpr&&aB.vY.getEnd(m.parent.d.typeExpr)<i&&i<=m.parent.d.exceptSuite.start||m.parent&&m.parent.nodeType===aO.ye.Class&&(!m.parent.d.name||!m.parent.d.name.d.value)&&0===m.parent.d.arguments.length&&i<=m.parent.d.suite.start)return;return await this._getStatementCompletions(m,c,d,u)}if(m.nodeType===aO.ye.Module)return await this._getStatementCompletions(m,c,d,u);if(m.nodeType===aO.ye.Parameter&&0===m.length&&m.parent&&m.parent.nodeType===aO.ye.Lambda||!m.parent)break;m=m.parent}}async _tryGetNameCompletions(e,t,i,r,n){var a,s,o,l;if(!e.parent)return!1;if(e.parent.nodeType!==aO.ye.ImportAs||e.parent.d.alias!==e){if(e.parent.nodeType===aO.ye.ModuleName){if(e.parent.parent&&e.parent.parent.nodeType===aO.ye.ImportAs&&!e.parent.parent.d.alias&&aB.vY.getEnd(e.parent.parent)<t)return;return await this._getImportModuleCompletions(e.parent,i)}if(e.parent.nodeType===aO.ye.ImportFromAs){if(e.parent.d.alias===e)return;let r=e.parent.parent;return!!r&&r.nodeType===aO.ye.ImportFrom&&(!e.parent.d.alias&&aB.vY.getEnd(e.parent)<t?void 0:e.parent.d.name===e?await this._getImportFromCompletions(r,t,i):await this._getImportFromCompletions(r,t,""))}if(e.parent.nodeType===aO.ye.MemberAccess&&e===e.parent.d.member)return await this.getMemberAccessCompletions(e.parent.d.leftExpr,i);if(e.parent.nodeType!==aO.ye.Except||e!==e.parent.d.name){if(e.parent.nodeType===aO.ye.Function&&e===e.parent.d.name)return(null==(o=e.parent.d.decorators)?void 0:o.some(e=>this._isOverload(e)))?await this._getMethodOverloadsCompletions(i,e):void 0;if(!(e.parent.nodeType===aO.ye.Parameter&&e===e.parent.d.name||e.parent.nodeType===aO.ye.Class&&e===e.parent.d.name||e.parent.nodeType===aO.ye.For&&aB.vY.contains(e.parent.d.targetExpr,e.start))&&!(e.parent.nodeType===aO.ye.ComprehensionFor&&aB.vY.contains(e.parent.d.targetExpr,e.start))){if(e.parent.nodeType===aO.ye.Assignment||e.parent.nodeType===aO.ye.AssignmentExpression){if((e.parent.nodeType===aO.ye.AssignmentExpression?e.parent.d.name:e.parent.d.leftExpr)!==e||0===i.length)return!1;let t=null==(l=await this.evaluator.getDeclInfoForNameNode(e))?void 0:l.decls;if((null==t?void 0:t.length)!==1||!(0,aF.bC)(t[0])||t[0].node!==e)return!1;let a=await this._getExpressionCompletions(e,i,r,n);return a&&a.delete(e.d.value),a}if(e.parent.nodeType===aO.ye.StatementList&&(null==(a=e.parent.parent)?void 0:a.nodeType)===aO.ye.Suite&&(null==(s=e.parent.parent.parent)?void 0:s.nodeType)===aO.ye.Class){let t=await this._getClassVariableCompletions(e);if(t)return t}return!1}}}}_isWithinComment(e){var t,i;let r=function(e,t){let i=t.getItemAtPosition(e);if(i<0)return;let r=t.getItemAt(i);if(!(e>r.start)||!(e<r.start+r.length)){for(let e=i-1;e>=0;e--){let i=t.getItemAt(e);if(r.start!==i.start)break;r=i}return e<=r.start?r:(n6.vA(i+1<t.length),t.getItemAt(i+1))}}(e,this.parseResults.tokenizerOutput.tokens);return!!r&&null!=(t=null==(i=r.comments)?void 0:i.some(t=>aB.vY.overlaps(t,e)))&&t}async _getExpressionErrorCompletions(e,t,i,r,n){switch(e.d.category){case aO.NV.MissingIn:return this._createSingleKeywordCompletion("in");case aO.NV.MissingElse:return this._createSingleKeywordCompletion("else");case aO.NV.MissingMemberAccessName:case aO.NV.MissingExpression:{let t=this.parseResults.tokenizerOutput,a=(0,aW.bt)(this.position,t.lines),s=aL._E(t.tokens,a),o=aL.Xk(t.tokens,s),l=aL.Xk(t.tokens,s-1);if(e.d.category===aO.NV.MissingExpression){if((null==o?void 0:o.type)===aj.ks.Dot||(null==o?void 0:o.type)===aj.ks.Ellipsis)break;if((null==o?void 0:o.type)!==aj.ks.Keyword||aB.vY.getEnd(o)!==a||(null==l?void 0:l.type)!==aj.ks.Dot)return await this._getExpressionCompletions(e,i,r,n);let t=aB.vY.getEnd(l),s=aL.gr(this.parseResults.parserOutput.parseTree,t);if((null==s?void 0:s.nodeType)!==aO.ye.Error||s.d.category!==aO.NV.MissingMemberAccessName)return await this._getExpressionCompletions(e,i,r,n);e=s}else if(e.d.category===aO.NV.MissingMemberAccessName&&((null==o?void 0:o.type)===aj.ks.Dot||(null==o?void 0:o.type)===aj.ks.Ellipsis)&&((null==l?void 0:l.type)===aj.ks.Dot||(null==l?void 0:l.type)===aj.ks.Ellipsis))return;return await this._getMissingMemberAccessNameCompletions(e,i)}case aO.NV.MissingDecoratorCallName:return await this._getExpressionCompletions(e,i,r,n);case aO.NV.MissingPattern:case aO.NV.MissingIndexOrSlice:{let a=await this._getLiteralCompletions(e,t,i,r,n);return a||(a=await this._getExpressionCompletions(e,i,r,n)),a}case aO.NV.MissingFunctionParameterList:if(e.d.child&&e.d.child.nodeType===aO.ye.Name){var a;if(null==(a=e.d.decorators)?void 0:a.some(e=>this._isOverload(e)))return await this._getMethodOverloadsCompletions(i,e.d.child);return await this.getMethodOverrideCompletions(i,e.d.child,e.d.decorators)}break;case aO.NV.MissingTupleCloseParen:return await this._getExpressionCompletions(e,i,r,n)}}async _getMissingMemberAccessNameCompletions(e,t){if(e.d.child&&(0,aO.TE)(e.d.child))return await this.getMemberAccessCompletions(e.d.child,t)}_isOverload(e){return aL.uo(e,"overload")}_createSingleKeywordCompletion(e){let t=nZ.CompletionItem.create(e);t.kind=nZ.CompletionItemKind.Keyword,t.sortText=this._makeSortText(0,e);let i=new oJ.JB;return i.set(t),i}async _addClassVariableTypeAnnotationCompletions(e,t,i){var r,n,a,s;if((null==(r=t.parent)?void 0:r.nodeType)!==aO.ye.TypeAnnotation||t.parent.d.valueExpr.nodeType!==aO.ye.Name||t.parent.d.annotation!==t||(null==(n=t.parent.parent)?void 0:n.nodeType)!==aO.ye.StatementList||(null==(a=t.parent.parent.parent)?void 0:a.nodeType)!==aO.ye.Suite||(null==(s=t.parent.parent.parent.parent)?void 0:s.nodeType)!==aO.ye.Class)return;let o=aL.Ji(t,!1);if(!o)return;let l=await this.evaluator.getTypeOfClass(o);if(!l)return;let d=t.parent.d.valueExpr.d.value,u=(0,aX.Zn)(l.classType,d,aX.Mh.SkipInstanceMembers|aX.Mh.SkipOriginalClass);if(u){let t=await this.evaluator.getTypeOfMember(u),r=await this.evaluator.printType(t,{enforcePythonSyntax:!0,expandTypeAlias:!1});this.addNameToCompletions(r,nZ.CompletionItemKind.Reference,e,i,{sortText:this._makeSortText(0,r)});return}let p=new Map;for(let e of l.classType.shared.mro)e!==l.classType&&(0,aM.dL)(e)&&(0,aX.DM)(e,p,!1);let c=p.get(d);if(!c)return;let h=c.getDeclarations().filter(e=>(0,aF.bC)(e)&&"builtins"!==e.moduleName);if(0===h.length||h.some(e=>e.node&&aL.Ji(e.node,!1)===o))return;let m=h.filter(e=>e.typeAnnotationNode);if(0===m.length)return;let y=(0,cu.x)(this.fileUri)?aL.P5.ForwardDeclarations|aL.P5.DoNotLimitStringLength:aL.P5.DoNotLimitStringLength,g=`${aL.W9(m[m.length-1].typeAnnotationNode,y)}`;this.addNameToCompletions(g,nZ.CompletionItemKind.Reference,e,i,{sortText:this._makeSortText(0,g)})}async _getClassVariableCompletions(e){let t=aL.Ji(e,!1);if(!t)return;let i=await this.evaluator.getTypeOfClass(t);if(!i)return;let r=new Map;for(let e of i.classType.shared.mro)(0,aM.dL)(e)&&(0,aX.DM)(e,r,!1);let n=new oJ.JB;for(let[i,a]of r){if(aN.$4(i)||a.isPrivateMember()||a.isExternallyHidden()||!sN.OP(e.d.value,i))continue;let r=a.getDeclarations().filter(e=>(0,aF.bC)(e)&&"builtins"!==e.moduleName);0===r.length||r.some(e=>e.node&&aL.Ji(e.node,!1)===t)||await this.addSymbol(i,a,e.d.value,n,{})}return n.size>0?n:void 0}async _getMethodOverloadsCompletions(e,t){var i;let r=await o(this.evaluator,t);if(!r)return;let n=(null==(i=t.parent)?void 0:i.nodeType)===aO.ye.Function||void 0,a=new oJ.JB,s=aL.hP(t);for(let[i,o]of r){let r=(0,o0.IE)(o);if(!r||r.type!==aF.h3.Function||!r.node.d.decorators.some(e=>this._isOverload(e)))continue;let l=o.getDeclarations();if(!(1===l.length&&l.some(e=>e.node===s))&&sN.OP(t.d.value,i)){let s=this.createReplaceEdits(e,t,r.node.d.name.d.value);await this.addSymbol(i,o,t.d.value,a,{funcParensDisabled:n,edits:{textEdit:s}})}}return a;async function o(e,t){let i=aL.Ji(t,!1);if(i){let t=await e.getTypeOfClass(i);if(!t)return;let r=new Map;for(let e of t.classType.shared.mro)(0,aM.dL)(e)&&(0,aX.DM)(e,r,!1);return r}let r=aL.ZT(t);if(r){let e=ax.Xf(r);return null==e?void 0:e.symbolTable}}}_printMethodSignature(e,t){let i,r=t.node;(0,cu.x)(this.fileUri)?i=!0:e.shared.moduleName===t.moduleName&&(i=!1);let n=(0,cu.x)(this.fileUri)?aL.P5.ForwardDeclarations|aL.P5.DoNotLimitStringLength:aL.P5.DoNotLimitStringLength,a=r.d.params.map((e,t)=>{let a="";e.d.category===aO.OP.ArgsList?a+="*":e.d.category===aO.OP.KwargsDict&&(a+="**"),e.d.name&&(a+=e.d.name.d.value);let s=aL.MK(r,t);return(s&&(a+=": "+aL.W9(s,n)),e.d.defaultValue&&(a+=s?" = ":"=",a+=(null!=i?i:!aL.Qf(e.d.defaultValue))?"...":aL.W9(e.d.defaultValue,n)),a||e.d.name||e.d.category!==aO.OP.Simple)?a:"/"}).join(", "),s=r.d.name.d.value+"("+a+")";return r.d.returnAnnotation?s+=" -> "+aL.W9(r.d.returnAnnotation,n):r.d.funcAnnotationComment&&(s+=" -> "+aL.W9(r.d.funcAnnotationComment.d.returnAnnotation,n)),s}async _getStatementCompletions(e,t,i,r){return await this._getExpressionCompletions(e,t,i,r)}async _getExpressionCompletions(e,t,i,r){var n,a,s;if(!this._isIndexArgument(e)&&e.nodeType===aO.ye.Number||(null==(n=e.parent)?void 0:n.nodeType)===aO.ye.WithItem&&e.parent===(null==(a=e.parent.d.target)?void 0:a.parent))return;let o=new oJ.JB;if(".."===i.slice(-2))return o;if(await this._addClassVariableTypeAnnotationCompletions(t,e,o),await this._addCallArgumentCompletions(e,t,i,r,!1,o),await this._addSymbols(e,t,o),await this.addAdditionalExpressionCompletions(e,t,o),this._findMatchingKeywords(nW.forVersion(this.execEnv.pythonVersion),t).map(e=>{if(o.has(e))return;let t=nZ.CompletionItem.create(e);t.kind=nZ.CompletionItemKind.Keyword,t.sortText=this._makeSortText(7,e),o.set(t)}),!t.startsWith("_")&&!this.itemToResolve){let i=(null==(s=e.parent)?void 0:s.nodeType)===aO.ye.Decorator;await this.addAutoImportCompletions(t,.25,this.options.lazyEdit,o,i)}return await this._tryAddLiterals(e,t,i,r,o),o}async _addImplicitSelfMemberCompletions(e,t,i){var r;let n,a=(0,aW.bt)(this.position,this.parseResults.tokenizerOutput.lines);if(void 0===a)return;if(e.nodeType===aO.ye.Name)n=e;else{let e=aL.gr(this.parseResults.parserOutput.parseTree,a);for(;e&&e.nodeType!==aO.ye.Name;)e=e.parent;(null==e?void 0:e.nodeType)===aO.ye.Name&&(n=e)}if(!n)return;let s=Math.max(0,Math.min(a-n.start,n.d.value.length));if(!(t=n.d.value.substring(0,s))||t.length<2)return;let o=aL.hP(n),l=aL.Ji(n,!1);if(!o||!l||aL.Ji(o,!1)!==l)return;let d=o.d.params[0];if(!d||d.d.category!==aO.OP.Simple||!d.d.name||"self"!==d.d.name.d.value||(null==(r=o.d.decorators)?void 0:r.some(e=>aL.uo(e,"staticmethod"))))return;let u=await this.evaluator.getTypeOfClass(l);if(!u)return;let p=new Map;for(let[e,r]of((0,aX.DM)(u.classType,p,!0),p)){if(!sN.OP(t,e)||r.isPrivateMember()||r.isExternallyHidden()||aN.$4(e))continue;let a=this.createReplaceEdits(t,n,`self.${e}`);await this.addSymbol(e,r,t,i,{edits:{textEdit:a}})}}_isIndexArgument(e){let t=e.parent;return t&&t.nodeType===aO.ye.Argument&&t.d.argCategory===aO.b4.Simple&&t.parent&&t.parent.nodeType===aO.ye.Index&&t.parent.d.leftExpr&&t.parent.d.leftExpr.nodeType===aO.ye.Name}async _addCallArgumentCompletions(e,t,i,r,n,a){let s=(0,aW.bt)(this.position,this.parseResults.tokenizerOutput.lines),o=(0,aL.R0)(e,s,this.parseResults.tokenizerOutput.tokens);if(!o)return;let l=await this.evaluator.getCallSignatureInfo(o.callNode,o.activeIndex,o.activeOrFake);if(l){let e=(0,aW.l8)(l.callNode.d.leftExpr.start+l.callNode.d.leftExpr.length,this.parseResults.tokenizerOutput.lines);(0,aB.Ez)(this.position,e)>0&&(n||await this._addNamedParameters(l,t,a),await this._addLiteralValuesForArgument(l,t,i,r,a))}}async _addLiteralValuesForArgument(e,t,i,r,n){for(let a of e.signatures){if(!a.activeParam)continue;let e=a.type,s=e.shared.parameters.indexOf(a.activeParam);if(s<0)continue;let o=aM.RK.getParamType(e,s);await this._addLiteralValuesForTargetType(o,t,i,r,n)}}async _addLiteralValuesForTargetType(e,t,i,r,n){let a=this._getQuoteInfo(t,i);for(let i of(await this._getSubTypesWithLiteralValues(e)))if(aM.p5.isBuiltIn(i,"str")){let e=(0,dP.gD)(i,a.quoteCharacter);void 0===a.stringValue?this.addNameToCompletions(e,nZ.CompletionItemKind.Constant,t,n,{sortText:this._makeSortText(3,i.priv.literalValue)}):this._addStringLiteralToCompletions(e.substr(1,e.length-2),a,r,n)}}_getDictExpressionStringKeys(e,t){let i=function(e){if(e.nodeType===aO.ye.Dictionary)return e;let t=e;for(;t&&t.nodeType!==aO.ye.Dictionary&&t.nodeType!==aO.ye.Set;)if(!(t=t.parent))return;return t}(e);return i?i.d.items.flatMap(e=>e.nodeType!==aO.ye.DictionaryKeyEntry||(null==t?void 0:t.has(e.d.keyExpr.id))?[]:e.d.keyExpr.nodeType===aO.ye.StringList?[e.d.keyExpr.d.strings.map(e=>e.d.value).join("")]:[]):[]}async _getSubTypesWithLiteralValues(e){let t=[];return(0,aX.u6)(e,e=>{(0,aM.aE)(e)&&(0,aX.aw)(e)&&t.push(e)}),t}async _getIndexKeyType(e){let t=await this.evaluator.getBoundMagicMethod(e,"__getitem__");if(t){let e=[];if((0,aX.ie)(t,t=>{t.shared.parameters.length>=1&&t.shared.parameters[0].category===aO.OP.Simple&&e.push(aM.RK.getParamType(t,0))}),e.length>0)return(0,aM.Do)(e)}}async _getIndexKeys(e,t){var i,r,n,a,s,o,l,d,u,p;let c=await this.evaluator.getType(e.d.leftExpr);if(!c||!(0,aM.aE)(c))return[];let h=await this._getIndexKeyType(c);if(h){let e=[];for(let t of(await this._getSubTypesWithLiteralValues(h)))(aM.p5.isBuiltIn(t,"str")||aM.p5.isBuiltIn(t,"int")||aM.p5.isBuiltIn(t,"bool")||aM.p5.isBuiltIn(t,"bytes")||aM.p5.isEnumClass(t))&&e.push((0,dP.gD)(t,this.parseResults.tokenizerOutput.predominantSingleQuoteCharacter));if(e.length>0)return e}if(e.d.leftExpr.nodeType!==aO.ye.Name)return[];let m=null!=(i=null==(r=await this.evaluator.getDeclInfoForNameNode(e.d.leftExpr))?void 0:r.decls)?i:[],y=m.length>0?m[0]:void 0;if(!y||y.type!==aF.h3.Variable&&y.type!==aF.h3.Param||!y.uri.equals(this.fileUri))return[];let g=e.d.leftExpr;if(y.node){let e=aL.z8(y.node).node;(null==(a=aL.nj(g))?void 0:a.fileUri.equals(null==(n=aL.nj(e))?void 0:n.fileUri))&&(g=e)}let f=await wT(this.program,this.snapshot,e.d.leftExpr,this.cancellationToken,g),v=new Set;for(let e of f){let i=(null==(s=e.node.parent)?void 0:s.nodeType)===aO.ye.TypeAnnotation?e.node.parent:e.node;if((null==(o=i.parent)?void 0:o.nodeType)===aO.ye.Assignment||(null==(l=i.parent)?void 0:l.nodeType)===aO.ye.AssignmentExpression){if(i.parent.d.rightExpr.nodeType===aO.ye.Dictionary)for(let e of i.parent.d.rightExpr.d.items.filter(e=>e.nodeType===aO.ye.DictionaryKeyEntry)){let t=this.parseResults.text.substr(e.d.keyExpr.start,e.d.keyExpr.length).trim();t.length>0&&v.add(t)}if(i.parent.d.rightExpr.nodeType===aO.ye.Call){let e=i.parent.d.rightExpr,t=await this.evaluator.getType(e.d.leftExpr);if(!t||!(0,aM.dL)(t)||!aM.p5.isBuiltIn(t,"dict"))continue;for(let t of e.d.args){let e=null!=(u=null==(p=t.d.name)?void 0:p.d.value.trim())?u:"",i=this.parseResults.tokenizerOutput.predominantSingleQuoteCharacter;e.length>0&&v.add(`${i}${e}${i}`)}}}if((null==(d=i.parent)?void 0:d.nodeType)===aO.ye.Index&&1===i.parent.d.items.length&&i.parent.d.items[0].d.valueExpr.nodeType!==aO.ye.Error&&!aB.vY.containsRange(i.parent,t)){let e=i.parent.d.items[0],t=this.parseResults.text.substr(e.d.valueExpr.start,e.d.valueExpr.length).trim();t.length>0&&v.add(t)}}return Array.from(v)}async _getLiteralCompletions(e,t,i,r,n){if(('"'===this.options.triggerCharacter||"'"===this.options.triggerCharacter)&&e.start!==t-1)return;let a=new oJ.JB;if(await this._tryAddLiterals(e,i,r,n,a))return a}async _tryAddLiterals(e,t,i,r,n){var a,s,o,l,d;let u=e.parent?e.nodeType!==aO.ye.String?{parent:e.parent,child:e}:e.parent.parent?(null==(d=e.parent)?void 0:d.nodeType)!==aO.ye.StringList||e.parent.d.strings.length>1?void 0:{parent:e.parent.parent,child:e.parent}:void 0:void 0;if(!u)return!1;let p=u.parent;if(p.nodeType===aO.ye.Argument&&(null==(a=p.parent)?void 0:a.nodeType)===aO.ye.Index){let a=e.nodeType===aO.ye.String?i:"";if(await this._tryAddTypedDictKeysFromIndexer(p.parent,t,a,r,n))return!0;let s=this._getQuoteInfo(t,a),o=await this._getIndexKeys(p.parent,e),l=!1;for(let i of o){if(n.has(i))continue;let a=/^["|'].*["|']$/.test(i);if(e.nodeType!==aO.ye.String||a)if(l=!0,a){let e=i.substr(1,i.length-2);this._addStringLiteralToCompletions(e,s,r,n,I9)}else this.addNameToCompletions(i,nZ.CompletionItemKind.Constant,t,n,{sortText:this._makeSortText(3,i),itemDetail:I9})}if(l)return this._slowCompletionInfo={completionType:"index-key",fileType:I6(this.fileUri)},!0}let c=u.parent.nodeType===aO.ye.Assignment?u.parent.d.rightExpr===u.child?u.child:void 0:(0,aO.TE)(u.child)?u.child:void 0,h=(0,aW.bt)(this.position,this.parseResults.tokenizerOutput.lines),m=!!(0,aL.R0)(e,h,this.parseResults.tokenizerOutput.tokens);if(c&&(null==(s=c.parent)?void 0:s.nodeType)!==aO.ye.StatementList&&(null==(o=c.parent)?void 0:o.nodeType)!==aO.ye.Module){let e=await this.evaluator.getExpectedType(c);if(e&&(0,aX.th)(e.type)&&(await this._addLiteralValuesForTargetType(e.type,t,i,r,n),!m))return!0}let y=u.parent;if(y){let a;if(y.nodeType===aO.ye.DictionaryKeyEntry&&y.d.keyExpr===u.child&&(null==(l=y.parent)?void 0:l.nodeType)===aO.ye.Dictionary?a=y.parent:(null==y?void 0:y.nodeType)===aO.ye.Set&&(a=y),a&&await this._tryAddTypedDictKeysFromDictionary(a,e.nodeType===aO.ye.String?e:void 0,t,i,r,n))return!0}let g=u.parent,f=[aj.hu.Assign,aj.hu.Equals,aj.hu.NotEquals];if(g.nodeType===aO.ye.BinaryOperation&&f.includes(g.d.operator)){let e=await this.evaluator.getType(g.d.leftExpr);if(e){if((0,aX.th)(e))return await this._addLiteralValuesForTargetType(e,t,i,r,n),!0;let a=await _(this.evaluator,e);if(a)return await this._addLiteralValuesForTargetType(a,t,i,r,n),!0}}let v=u.parent;if(v.nodeType===aO.ye.AssignmentExpression&&v.d.rightExpr===u.child){let e=await this.evaluator.getType(v.d.name);if(e&&(0,aX.th)(e))return await this._addLiteralValuesForTargetType(e,t,i,r,n),!0}if(await this._tryAddMatchCaseLiteralCompletions(u,t,i,r,n))return!0;if(e.nodeType===aO.ye.String){let a=(0,aW.bt)(this.position,this.parseResults.tokenizerOutput.lines),s=e.parent.start<a&&a<aB.vY.getEnd(e);return await this._addCallArgumentCompletions(e,t,i,r,s,n),!0}return!1;async function _(e,t){let i=[],r=[];for(let n of((0,aX.u6)(t,e=>{r.push(e)}),r)){if(!(0,aM.aE)(n)||!aM.p5.isEnumClass(n))continue;let t=aM.p5.cloneAsInstantiable(n),r=new Map;for(let[n]of((0,aX.DM)(t,r,!1),r)){let r=await uU(e,t,n);if(!r||!(0,aM.aE)(r))continue;let a=r.priv.literalValue;a instanceof aM.RR&&(0,aX.u6)(a.itemType,e=>{(0,aM.aE)(e)&&"string"==typeof e.priv.literalValue&&i.push(e)})}}return i.length>0?(0,aM.Do)(i):void 0}}async _tryAddMatchCaseLiteralCompletions(e,t,i,r,n){var a,s,o,l;let d,u,p=e.parent;if(p.nodeType===aO.ye.Case&&p.d.pattern.nodeType===aO.ye.Error&&p.d.pattern.d.category===aO.NV.MissingPattern&&p.d.suite===e.child&&(null==(a=p.parent)?void 0:a.nodeType)===aO.ye.Match)d=p.parent,u=p;else{if(p.nodeType!==aO.ye.PatternLiteral&&p.nodeType!==aO.ye.PatternCapture||(null==(s=p.parent)?void 0:s.nodeType)!==aO.ye.PatternAs||(null==(o=p.parent.parent)?void 0:o.nodeType)!==aO.ye.Case||(null==(l=p.parent.parent.parent)?void 0:l.nodeType)!==aO.ye.Match)return!1;d=p.parent.parent.parent,u=p.parent.parent}let c=await this._getFilteredMatchSubjectTypeForCaseCompletions(d,u);return!!(c&&(0,aX.th)(c))&&(await this._addLiteralValuesForTargetType(c,t,i,r,n),!0)}async _getFilteredMatchSubjectTypeForCaseCompletions(e,t){let i=(e,t)=>{e.nodeType===aO.ye.PatternLiteral?r(e.d.expr,t):e.nodeType===aO.ye.PatternAs&&e.d.orPatterns.forEach(e=>{i(e,t)})},r=(e,t)=>{e.nodeType===aO.ye.String?t.add(e.d.value):e.nodeType===aO.ye.StringList&&e.d.strings.every(e=>e.nodeType===aO.ye.String)&&t.add(e.d.strings.map(e=>e.d.value).join(""))},n=await this.evaluator.getType(e.d.expr);if(!n||!(0,aX.th)(n))return n;let a=(()=>{let r=new Set,n=e.d.cases.findIndex(e=>e===t);if(n<=0)return r;for(let t=0;t<n;t++){let n=e.d.cases[t];n.d.guardExpr||i(n.d.pattern,r)}return r})();if(0===a.size)return n;let s=[];return(0,aX.u6)(n,e=>{(0,aM.aE)(e)&&(0,aX.aw)(e)&&aM.p5.isBuiltIn(e,"str")&&"string"==typeof e.priv.literalValue&&a.has(e.priv.literalValue)||s.push(e)}),s.length>0?(0,aM.Do)(s):void 0}async _tryAddTypedDictKeys(e,t,i,r,n,a){let s=[];if((0,aX.u6)(e,e=>{(0,aM.aE)(e)&&aM.p5.isTypedDictClass(e)&&s.push(e)}),0===s.length)return!1;s=await this._tryNarrowTypedDicts(s,t);let o=this._getQuoteInfo(i,r),l=new Set(t);for(let e of s)(await dn(this.evaluator,e,!0)).knownItems.forEach((e,t)=>{l.has(t)||a.has(t)||(l.add(t),this._addStringLiteralToCompletions(t,o,n,a))});return!0}async _tryAddTypedDictKeysFromDictionary(e,t,i,r,n,a){var s;let o=await this.evaluator.getExpectedType(e);if(!o||aL.AP(o.node)<aL.AP(e))return!1;let l=this._getDictExpressionStringKeys(e,t?new Set([null==(s=t.parent)?void 0:s.id]):void 0);return await this._tryAddTypedDictKeys(o.type,l,i,r,n,a)}async _tryNarrowTypedDicts(e,t){let i=[];for(let r of e){let e=await dn(this.evaluator,r,!0),n=!0;for(let i=0;i<t.length;i++)if(!e.knownItems.has(t[i])){n=!1;break}n&&i.push(r)}return 0===i.length?e:i}_getQuoteInfo(e,t){let i,r=e,n=this.parseResults.tokenizerOutput.predominantSingleQuoteCharacter;if(!this._stringLiteralContainer)return{priorWord:e,priorText:t,filterText:r,stringValue:i,quoteCharacter:n};if(void 0!==t){let e=t.lastIndexOf("'"),r=t.lastIndexOf('"');e>r?(i=t.substr(e+1),n="'"):r>e&&(i=t.substr(r+1),n='"')}return this._stringLiteralContainer.flags&(aj.IF.Format|aj.IF.Template)&&(n=this._stringLiteralContainer.flags&aj.IF.SingleQuote?'"':"'"),i&&(r=i),{priorWord:e,priorText:t,filterText:r,stringValue:i,quoteCharacter:n}}async _tryAddTypedDictKeysFromIndexer(e,t,i,r,n){if(!e)return!1;let a=await this.evaluator.getType(e.d.leftExpr);return!!a&&await this._tryAddTypedDictKeys(a,[],t,i,r,n)}_addStringLiteralToCompletions(e,t,i,r,n){if(!sN.OP(t.filterText||"",e))return;let a=`${t.quoteCharacter}${e}${t.quoteCharacter}`;if(r.has(a))return;let s=nZ.CompletionItem.create(a);s.kind=nZ.CompletionItemKind.Constant,s.sortText=this._makeSortText(3,a);let o=this.position.character;void 0!==t.stringValue?o-=t.stringValue.length+1:t.priorWord&&(o-=t.priorWord.length);let l=this.position.character;void 0!==i&&i.startsWith(t.quoteCharacter)&&l++;let d={start:{line:this.position.line,character:o},end:{line:this.position.line,character:l}};s.textEdit=nZ.TextEdit.replace(d,a),s.detail=n,r.set(s)}async _getImportFromCompletions(e,t,i){if(e.d.isWildcardImport)return;let r=ax.en(e.d.module);if(!r)return;let n=new oJ.JB,a=r.resolvedUris.length>0?r.resolvedUris[r.resolvedUris.length-1]:n4.z.empty();if(!this.program.getParseResults(a))return this._addImplicitImportsToCompletion(r,e,i,n),n;let s=await this.program.symbolLookup.getSymbolsForFile(a);return s&&(await this._addSymbolsForSymbolTable(s,(i,r)=>i.getDeclarations().some(e=>!(0,aF.Mr)(e))&&!e.d.imports.find(e=>e.d.name.d.value===r&&!(aB.vY.contains(e,t)||aB.vY.getEnd(e)===t)),i,e,!0,void 0,n),this._addImplicitImportsToCompletion(r,e,i,n),this._slowCompletionInfo={completionType:"import-from",fileType:I6(this.fileUri)}),n}_addImplicitImportsToCompletion(e,t,i,r){var n;null==(n=e.implicitImports)||n.forEach(e=>{t.d.imports.find(t=>t.d.name.d.value===e.name)||this.addNameToCompletions(e.name,nZ.CompletionItemKind.Module,i,r,{moduleUri:e.uri})})}_findMatchingKeywords(e,t){return e.filter(e=>!t||sN.OP(t,e))}async _addNamedParameters(e,t,i){let r=new Set;for(let t of e.signatures)this._addNamedParametersToMap(t.type,r);let n=!1;for(let t of e.signatures)if(t.type.priv.boundToType){var a;let e=Array.from((null==(a=t.type.priv.boundToType.shared.typedDictEntries)?void 0:a.knownItems.keys())||[]);e.length>0&&(n=!0),e.forEach(e=>r.add(e))}if(!n){let t=await this.evaluator.getType(e.callNode.d.leftExpr);t&&(0,aM.dL)(t)&&aM.p5.isTypedDictClass(t)&&(n=!0)}e.callNode.d.args.forEach(e=>{e.d.name&&r.delete(e.d.name.d.value)}),r.forEach(e=>{if(sN.OP(t,e)){let t=e+"=";if(i.has(t))return;let r=nZ.CompletionItem.create(t);r.kind=nZ.CompletionItemKind.Variable;let n={uri:this.fileUri.toString(),position:this.position};r.data=(0,o5.Nt)(n),r.sortText=this._makeSortText(4,e),r.filterText=e,i.set(r)}}),n&&(this._slowCompletionInfo={completionType:"typed-dict-key",fileType:I6(this.fileUri)})}_addNamedParametersToMap(e,t){(0,dD.MC)(e).params.forEach(e=>{e.param.name&&e.kind!==dD.OU.Positional&&e.kind!==dD.OU.ExpandedArgs&&!aN.sQ(e.param.name)&&aU._.isPythonIdentifier(e.param.name)&&t.add(e.param.name)})}async _addSymbols(e,t,i){let r=e;for(;r;){let n=(0,sY.Yd)(r);if(n){for(;n;)await this._addSymbolsForSymbolTable(n.symbolTable,()=>!0,t,e,!1,void 0,i),n=n.parent;if(r.nodeType===aO.ye.Class){let n=await this.evaluator.getTypeOfClass(r);if(n&&(0,aM.dL)(n.classType))for(let r of n.classType.shared.mro)(0,aM.dL)(r)&&await this._addSymbolsForSymbolTable(aM.p5.getSymbolTable(r),e=>!!e.isClassMember()&&e.getDeclarations().some(e=>e.type===aF.h3.Variable),t,e,!1,void 0,i)}break}r=r.parent}}async _addSymbolsForSymbolTable(e,t,i,r,n,a,s){let o=aL.wI(r)||aL.re(r,!1);for(let[d,u]of e)if(!(!(0,o0.VC)(u)&&!u.getDeclarations().some(e=>(0,aA.nM)(e,this.fileUri)))&&t(u,d)&&!s.has(d)){var l;let e=!this._shouldShowAutoParensForClass(u,r),t=(null==(l=r.parent)?void 0:l.nodeType)===aO.ye.Decorator;await this.addSymbol(d,u,i,s,{boundObjectOrClass:a,funcParensDisabled:n||o||e||t,extraCommitChars:!n&&!!i,edits:{textEdit:this.createReplaceEdits(i,void 0,d)}})}}_shouldShowAutoParensForClass(e,t){var i,r;if(e.getDeclarations().every(e=>e.type!==aF.h3.Class)||(null==(i=t.parent)?void 0:i.nodeType)===aO.ye.Argument&&(null==(r=t.parent.parent)?void 0:r.nodeType)!==aO.ye.Class)return!0;let n=aL._E(this.parseResults.tokenizerOutput.tokens,t.start),a=aL.Xk(this.parseResults.tokenizerOutput.tokens,n);return a&&a.type===aj.ks.Operator&&a.operatorType===aj.hu.Assign}_getRecentListIndex(e,t){return Ce._mostRecentCompletions.findIndex(i=>i.label===e&&i.autoImportText===t)}_makeSortText(e,t,i=""){let r=this._getRecentListIndex(t,i);return r>=0&&(12===e?e=6:2===e?e=1:(7===e||9===e||10===e||11===e)&&(e=5)),this._formatInteger(e,2)+"."+this._formatInteger(r,4)+"."+t}_formatInteger(e,t){let i="";for(let r=0;r<t;r++){let t=Math.floor(e%10);t<0&&(t=9),i=String.fromCharCode(t+48)+i,e=Math.floor(e/10)}return i}async _convertDeclarationTypeToItemKind(e){let t=await this.evaluator.resolveAliasDeclaration(e,!0);if(!t)return nZ.CompletionItemKind.Variable;switch(t.type){case aF.h3.Intrinsic:return"__class__"===t.intrinsicType?nZ.CompletionItemKind.Class:nZ.CompletionItemKind.Variable;case aF.h3.Param:return nZ.CompletionItemKind.Variable;case aF.h3.TypeParam:return nZ.CompletionItemKind.TypeParameter;case aF.h3.Variable:return t.isConstant||t.isFinal?nZ.CompletionItemKind.Constant:nZ.CompletionItemKind.Variable;case aF.h3.TypeAlias:return nZ.CompletionItemKind.Variable;case aF.h3.Function:if(this._isPossiblePropertyDeclaration(t)){let e=await this.evaluator.getTypeOfFunction(t.node);if(e&&(0,aX.jj)(e.decoratedType,!1))return nZ.CompletionItemKind.Property}return t.isMethod?nZ.CompletionItemKind.Method:nZ.CompletionItemKind.Function;case aF.h3.Class:case aF.h3.SpecialBuiltInClass:return nZ.CompletionItemKind.Class;case aF.h3.Alias:return nZ.CompletionItemKind.Module}}_convertTypeToItemKind(e){switch(e.category){case aM.vb.Module:return nZ.CompletionItemKind.Module;case aM.vb.Class:return nZ.CompletionItemKind.Class;case aM.vb.Function:case aM.vb.Overloaded:if((0,aX.jj)(e,!1))return nZ.CompletionItemKind.Property;return nZ.CompletionItemKind.Function;case aM.vb.TypeVar:return nZ.CompletionItemKind.TypeParameter;default:return nZ.CompletionItemKind.Variable}}async _getImportModuleCompletions(e,t){let i={leadingDots:e.d.leadingDots,hasTrailingDot:e.d.hasTrailingDot||!1,nameParts:e.d.nameParts.map(e=>e.d.value),importedSymbols:new Set},r=await I8(this.program,this.snapshot,this.fileUri,i,this.cancellationToken),n=new oJ.JB;if(!e.d.hasTrailingDot&&e.parent&&e.parent.nodeType===aO.ye.ImportFrom&&e.parent.d.missingImport){let e="import",t=nZ.CompletionItem.create(e);t.kind=nZ.CompletionItemKind.Keyword,t.sortText=this._makeSortText(7,e),n.set(t)}return r.forEach((e,i)=>{let r=i.startsWith("_")?10:2;this.addNameToCompletions(i,nZ.CompletionItemKind.Module,"",n,{sortText:this._makeSortText(r,i),moduleUri:e,edits:{textEdit:this.createReplaceEdits(t,void 0,i)}})}),this._slowCompletionInfo={completionType:"import-module",fileType:I6(this.fileUri)},n}_isPossiblePropertyDeclaration(e){return e.isMethod&&e.node.d.decorators.length>0}async _isEnumMember(e,t){if(!e||!aM.p5.isEnumClass(e))return!1;let i=await uU(this.evaluator,e,t);return i&&(0,aM.aE)(i)&&aM.p5.isSameGenericClass(i,aM.Ab.isInstance(e)?e:aM.p5.cloneAsInstance(e))&&i.priv.literalValue instanceof aM.RR}async _appendGetAttrLiteralMembers(e,t,i){let r=this._getMode(e.parent);return i=null!=i?i:new oJ.JB,await this._tryAppendGetAttrLiteralMembersForMode(e,t,i,r)||"get"!==r&&await this._tryAppendGetAttrLiteralMembersForMode(e,t,i,"get"),i}async _tryAppendGetAttrLiteralMembersForMode(e,t,i,r){let n=await v_(this.evaluator,e,r);if(0===n.length)return!1;let a=0;for(let e of n){var s;let r=null!=(s=e.shared.declaredReturnType)?s:await this.evaluator.getInferredReturnType(e),n=(0,aX.$v)(r)?nZ.CompletionItemKind.Function:nZ.CompletionItemKind.Field,o=vT(e);if(!o)continue;let l=new Set;if(o._type.category===aM.vb.Class)l.add(o._type.priv.literalValue);else{let e=o._type;if(e.priv.literalClasses.literalStrMap)for(let t of e.priv.literalClasses.literalStrMap.keys())l.add(t);if(e.priv.literalInstances.literalStrMap)for(let t of e.priv.literalInstances.literalStrMap.keys())l.add(t)}a+=l.size;let d=await this.getSourceMapper();for(let r of l)this.addNameToCompletions(r,n,t,i,{typeDetail:await I4(this.evaluator,e,e.shared.declaration,e.shared.name,void 0,this.configOptions.functionSignatureDisplay),documentation:await cz(d,e,e.shared.declaration,this.evaluator,{name:e.shared.name})})}return a>0}_getMode(e){if((null==e?void 0:e.nodeType)===aO.ye.MemberAccess)return vg(e);if((null==e?void 0:e.nodeType)===aO.ye.Error){var t;if((null==(t=e.parent)?void 0:t.nodeType)===aO.ye.StatementList&&e.parent.d.statements.some(t=>t===e)&&this._containsToken(this.parseResults,e,e=>e.type===aj.ks.Operator&&e.operatorType===aj.hu.Assign))return"set"}return"get"}_containsToken(e,t,i){let r=e.tokenizerOutput.tokens.getItemAtPosition(t.start),n=e.tokenizerOutput.tokens.getItemAtPosition(aB.vY.getEnd(t));for(let t=r;t<=n;t++)if(i(e.tokenizerOutput.tokens.getItemAt(t)))return!0;return!1}async _getLastKnownModule(e,t){let i=e,r=t,n=e.nodeType===aO.ye.MemberAccess?null==e?void 0:e.d.member.d.value:void 0;for(;i&&(void 0===r||(0,aM.t8)(r)||(0,aM.sQ)(r))&&(i.nodeType===aO.ye.Call||i.nodeType===aO.ye.MemberAccess);){if(i=i.d.leftExpr,void 0===n){var a;n=i.nodeType===aO.ye.MemberAccess&&null!=(a=null==i?void 0:i.d.member.d.value)?a:""}if(i&&void 0!==(r=await this.evaluator.getType(i))&&!(0,aM.t8)(r)&&!(0,aM.sQ)(r))break}let s={};return r&&!(0,aM.t8)(r)&&!(0,aM.sQ)(r)&&i&&(s.lastKnownModule=(0,aX.UZ)(r).find(e=>"typing"!==e),i.nodeType===aO.ye.MemberAccess?s.lastKnownMemberName=i.d.member.d.value:i.nodeType===aO.ye.Name&&(0,aM.dL)(r)?s.lastKnownMemberName=r.shared.name:i.nodeType===aO.ye.Name&&(0,aM.aE)(r)&&(s.lastKnownMemberName=r.shared.name),s.unknownMemberName=n),s}async _getOverrideTargetForMember(e,t,i,r,n){let a,s=await this.evaluator.getTypeOfMember(e);if(!s)return;let o=(0,aM.Tn)(s)&&aM.RK.isStaticMethod(s),l=(0,aM.Tn)(s)&&aM.RK.isClassMethod(s)&&"__init_subclass__"!==t;if(r&&!o||n&&!l)return;let d=(0,aM.aE)(s)&&aM.p5.isPropertyClass(s);if(i&&!d||d&&aN.SW(t))return;let u=e.symbol,p=(0,o0.IE)(u);if(d){let e=u.getTypedDeclarations().find(e=>e.type===aF.h3.Function);e&&(p=e)}if(!p||p.type!==aF.h3.Function)return;let c=p;if((0,aM.Tn)(s))a=s;else if(d&&(0,aM.aE)(s)){var h;let e=null==(h=s.priv.fgetInfo)?void 0:h.methodType;e&&(0,aM.Tn)(e)&&(a=e)}let m=await this.evaluator.getTypeOfFunction(c.node),y=null==m?void 0:m.functionType;if(y&&(0,aM.dL)(e.classType)){let t=(0,aX._T)(y,e.classType,void 0);(0,aM.Tn)(t)&&(y=t)}if(y||(y=a),y&&y.shared.declaration)return{symbol:u,funcType:y,decoratedType:a,decl:c,isProperty:d,isDeclaredStaticMethod:o,isDeclaredClassMethod:l}}_getLineIndentation(e){let t=this.parseResults.tokenizerOutput.lines.getItemAt(e),i=t.start,r=aB.vY.getEnd(t),n=i;for(;n<r;){let e=this.parseResults.text[n];if(" "!==e&&" "!==e)break;n++}return this.parseResults.text.slice(i,n)}async _appendMember(e,t,i,r,n,a,s,o,l,d,u){var p;let c;if(!(0,aM.dL)(l.classType)||l.classType.shared===o.classType.shared||!sN.OP(t.d.value,d))return;let h=await this._getOverrideTargetForMember(l,d,r,n,a);if(!h)return;let{symbol:m,funcType:y,decoratedType:g,decl:f,isProperty:v,isDeclaredStaticMethod:_,isDeclaredClassMethod:T}=h,w=this._useLazyEdit(d);if(w&&this.itemToResolve)return;let b=null!=(p=await this.program.getPythonSearchPaths(this.snapshot,this.cancellationToken))?p:[],S=new fz(this.program,b,this.snapshot),k=new bm(this.program,this.snapshot,this.fileUri,o.classType,y,g,{importAdder:S,enableTrackingAddImports:w,hasAsyncKeyword:i,dontAddTypeAnnotation:this._pylanceOptions.dontAddTypeAnnotation},this.cancellationToken),I=await k.getMethodSignatureAsync();if((0,cu.x)(this.fileUri))c=`${I.methodSignature}: ...`;else{let e=this.printOverriddenMethodBody(o.classType,_,v,f,i&&I.useAwait);c=`${I.methodSignature}:
${e}`}let C=this.createReplaceEdits(e,t,c),P=w?void 0:await S.applyImports(this.fileUri,this.parseResults,t.start,o9.Absolute,this.cancellationToken),x=[];v&&!r&&x.push("property"),_&&!n&&x.push("staticmethod"),T&&!a&&x.push("classmethod");let F=this._getLineIndentation(s),A=this.parseResults.tokenizerOutput.predominantEndOfLineSequence,D=x.map(e=>`${F}@${e}${A}`).join(""),E=D.length>0?[{range:{start:{line:s,character:0},end:{line:s,character:0}},replacementText:D}]:[],R=E.length>0?[...E,...null!=P?P:[]]:P;await this.addSymbol(d,m,t.d.value,u,{funcParensDisabled:!0,edits:{format:this.options.snippet?nZ.InsertTextFormat.Snippet:void 0,textEdit:C,additionalTextEdits:R}})}_useLazyEdit(e){return!!this.options.lazyEdit&&(!this.itemToResolve||this.getCompletionItemData(this.itemToResolve).symbolLabel!==e)}_addDunderMethodCompletions(e,t,i){let r=this.parseResults.tokenizerOutput.predominantTabSequence+(this.options.snippet?"${0:pass}":"pass");for(let n of Ct().names){if(!sN.OP(t.d.value,n))continue;let a=function(e){let t={__abs__:"self",__aiter__:"self",__anext__:"self",__aenter__:"self",__aexit__:"self, exc_type, exc, tb",__await__:"self",__bool__:"self",__bytes__:"self",__call__:"self, *args, **kwargs",__complex__:"self",__contains__:"self, item",__delattr__:"self, name",__delitem__:"self, key",__delete__:"self, instance",__dir__:"self",__divmod__:"self, other",__enter__:"self",__exit__:"self, exc_type, exc, tb",__float__:"self",__format__:"self, format_spec",__get__:"self, instance, owner",__getattr__:"self, name",__getattribute__:"self, name",__getitem__:"self, key",__hash__:"self",__int__:"self",__iter__:"self",__len__:"self",__next__:"self",__pow__:"self, other",__repr__:"self",__reversed__:"self",__round__:"self, ndigits=None",__set__:"self, instance, value",__setattr__:"self, name, value",__setitem__:"self, key, value",__str__:"self"}[e];if(t)return`${e}(${t})`;if(!aN.SW(e))return;let i=Ct();return i.unaryDunderNames.has(e)?`${e}(self)`:i.keywordDunderNames.has(e)?`${e}(self, item)`:i.augmentedAssignmentDunderNames.has(e)||i.binaryDunderNames.has(e)?`${e}(self, other)`:void 0}(n);if(!a)continue;let s=(0,cu.x)(this.fileUri)?`${a}: ...`:`${a}:
${r}`;this.addNameToCompletions(n,nZ.CompletionItemKind.Method,t.d.value,i,{funcParensDisabled:!0,edits:{format:this.options.snippet?nZ.InsertTextFormat.Snippet:void 0,textEdit:this.createReplaceEdits(e,t,s)}})}}_getExtraCommitCharsForKind(e){switch(e){case nZ.CompletionItemKind.Class:return[".","("];case nZ.CompletionItemKind.Function:case nZ.CompletionItemKind.Method:return["("];case nZ.CompletionItemKind.Module:case nZ.CompletionItemKind.Enum:return["."];default:return[]}}async _getSubmoduleCompletion(e,t,i,r){var n;if(this.itemToResolve)return;let a=this._getNodeValue(e,""),s=t.priv.moduleName;if(a!==s)return;let o={leadingDots:0,hasTrailingDot:!0,nameParts:s.split("."),importedSymbols:new Set},l=await I8(this.program,this.snapshot,this.fileUri,o,this.cancellationToken),d=null!=(n=await this.program.getPythonSearchPaths(this.snapshot,this.cancellationToken))?n:[],u=(0,oG.AG)(this.parseResults.parserOutput.parseTree);l.forEach((e,t)=>{if(r&&r.has(t))return;let n=s+"."+t,a=sc(this.program.configOptions,e,d);this.addNameToCompletions(t,nZ.CompletionItemKind.Module,this.program.configOptions.autoImportCompletions?s:t,r,this.program.configOptions.autoImportCompletions?{autoImportText:this.getAutoImportText(n),edits:{textEdit:this.createReplaceEdits(i,void 0,t),additionalTextEdits:(0,oG.tH)([],{name:n},u,(0,oG.x$)(a),this.parseResults,this.position)}}:{edits:{textEdit:this.createReplaceEdits(i,void 0,t)}})}),l.size>0&&(this._slowCompletionInfo={completionType:"module-submodule",fileType:I6(this.fileUri)})}_getNodeValue(e,t){return e.nodeType===aO.ye.Name?e.d.value.concat(t):e.nodeType===aO.ye.MemberAccess?(t="."+e.d.member.d.value.concat(t),this._getNodeValue(e.d.leftExpr,t)):t}constructor(e,t,i,r,n,a,s){var o,l;I2(this,"program",void 0),I2(this,"snapshot",void 0),I2(this,"fileUri",void 0),I2(this,"position",void 0),I2(this,"options",void 0),I2(this,"_autoImportMaps",void 0),I2(this,"cancellationToken",void 0),I2(this,"_stringLiteralContainer",void 0),I2(this,"execEnv",void 0),I2(this,"parseResults",void 0),I2(this,"_sourceMapper",void 0),I2(this,"_asyncEvaluator",void 0),I2(this,"itemToResolve",void 0),I2(this,"_chainedUri",void 0),I2(this,"_memberAccessInfo",void 0),I2(this,"_autoImportInfo",void 0),I2(this,"_slowCompletionInfo",void 0),this.program=e,this.snapshot=t,this.fileUri=i,this.position=r,this.options=n,this._autoImportMaps=a,this.cancellationToken=s,this._stringLiteralContainer=void 0,this.execEnv=this.configOptions.findExecEnvironment(this.fileUri),this.parseResults=this.program.getParseResults(this.fileUri),this._asyncEvaluator=this.program.getEvaluator(this.snapshot),this._chainedUri=null==(l=this.program.getSourceFileInfo(i))||null==(o=l.chainedSourceFile)?void 0:o.uri,this._slowCompletionInfo={completionType:"regular",fileType:I6(this.fileUri)}}}function Ct(){if(l)return l;let e=new Set,t=new Set,i=new Set,r=new Set,n=new Set;for(let t of vx.values())for(let r of t)aN.SW(r)&&(e.add(r),i.add(r));for(let i of vF.values())for(let r of i)aN.SW(r)&&(e.add(r),t.add(r));for(let t of vA.values())for(let i of t)aN.SW(i)&&(e.add(i),r.add(i));for(let t of vD.values())for(let i of t)aN.SW(i)&&(e.add(i),n.add(i));for(let t of vE.values())!t.useMeta&&aN.SW(t.name)&&e.add(t.name);for(let t of["__call__","__iter__","__aiter__","__anext__","__getitem__","__setitem__","__delitem__","__enter__","__exit__","__aenter__","__aexit__","__getattr__","__getattribute__","__setattr__","__delattr__","__get__","__set__","__delete__","__await__"])e.add(t);return l={names:[...e].sort(),unaryDunderNames:t,binaryDunderNames:i,augmentedAssignmentDunderNames:r,keywordDunderNames:n}}function Ci(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}I2(Ce,"_mostRecentCompletions",[]);class Cr{getSlowCompletionInfo(){return this._slowCompletionInfo}getProviderKind(){return"pytest"}async getCompletions(){var e;if(!this._parseResults)return null;let t=aY((0,aL.cd)(this._parseResults.parserOutput.parseTree,this._position,this._parseResults.tokenizerOutput.lines));if(!t||(null==(e=t.parent)?void 0:e.nodeType)!==aO.ye.Parameter)return null;let i=t.parent;if(i.d.category===aO.OP.ArgsList||i.d.category===aO.OP.KwargsDict)return null;let r=(0,aW.bt)(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===r||r<t.start||r>t.start+t.length||!await hd(this._fixtureFinder,i)&&!await hp(this._fixtureFinder,i,this._snapshot,this._token)||aQ(this._parseResults,i))return null;let n=(await this._fixtureFinder.findMatchingFixturesAsync(t,e=>this._fixtureStartsWith(e,t.d.value),this._snapshot,this._token)).map(e=>({fixture:e,label:c6(e,!0)})).flat();if(0===n.length)return this._slowCompletionInfo={completionType:"pytest",fileType:I6(this._fileUri)},nZ.CompletionList.create();let a=nZ.CompletionList.create(),s=this._program.getEvaluator(this._snapshot);for(let e of n){let t=nZ.CompletionItem.create(e.label),i=hm(this._fixtureFinder.getProgram(),e.fixture);t.sortText=e.label,t.data={funcParensDisabled:!0,uri:i.uri.toString(),position:i.range.start},t.kind=nZ.CompletionItemKind.Function;let r=i.type===aF.h3.Class||i.type===aF.h3.Function?i.node.d.name.d.value:e.label,n=await hh(this._fixtureFinder,e.fixture,!1,this._snapshot,this._token),o=await this._getTypeDetail(s,n,i.type,r);t.documentation=(0,kG.k)(this._program.serviceProvider,o,void 0,this._options.format,i),a.items.push(t)}return this._slowCompletionInfo={completionType:"pytest",fileType:I6(this._fileUri)},a}resolveCompletionItem(e){}async _getTypeDetail(e,t,i,r){switch(i){case aF.h3.Class:case aF.h3.SpecialBuiltInClass:return`class ${r}()`;case aF.h3.Function:default:{let i=await e.printType(t);return`${r}: ${i}`}}}_fixtureStartsWith(e,t){return c6(e,!0).startsWith(t)}constructor(e,t,i,r,n,a,s){Ci(this,"_program",void 0),Ci(this,"_snapshot",void 0),Ci(this,"_fixtureFinder",void 0),Ci(this,"_fileUri",void 0),Ci(this,"_position",void 0),Ci(this,"_options",void 0),Ci(this,"_token",void 0),Ci(this,"_parseResults",void 0),Ci(this,"_slowCompletionInfo",void 0),this._program=e,this._snapshot=t,this._fixtureFinder=i,this._fileUri=r,this._position=n,this._options=a,this._token=s,this._parseResults=this._program.getParseResults(this._fileUri)}}function Cn(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Ca{async getCompletions(){return this._addTelemetry(await this._getCompletions())}async resolveCompletionItem(e){for(let t of this._providers){let i=t.resolveCompletionItem(e);(0,n2.Qg)(i)&&await i}}getMemberAccessInfo(){for(let e of this._providers)if((null==e?void 0:e.getMemberAccessInfo)!==void 0){let t=e.getMemberAccessInfo();if(t)return t}}getAutoImportInfo(){for(let e of this._providers)if((null==e?void 0:e.getAutoImportInfo)!==void 0){let t=e.getAutoImportInfo();if(t)return t}}getSlowCompletionInfo(){for(let e of this._providers)if((null==e?void 0:e.getSlowCompletionInfo)!==void 0){let t=e.getSlowCompletionInfo();if(t)return t}}getLastProviderKind(){return this._lastProviderKind}async _getCompletions(){for(let t of this._providers){var e;let i=await t.getCompletions();if(i)return this._lastProviderKind=null==(e=t.getProviderKind)?void 0:e.call(t),oq.toLSP(i)}return null}_addTelemetry(e){if(!this._supportTelemetry)return e;let t=this.getMemberAccessInfo();if(t&&e&&e.items.length>0&&t.lastKnownModule){var i;let r=t.lastKnownModule.split(".")[0]||t.lastKnownModule,n=null==(i=this._program.serviceProvider.tryGet(nM.packageDiscoverer))?void 0:i.getKnownModuleVersion(this._program,r);e.items[0].data={...e.items[0].data,moduleHash:(0,sN.YZ)(r),moduleVersion:n}}return e}constructor(e,t,i,r,n,a,s,o){Cn(this,"_program",void 0),Cn(this,"_snapshot",void 0),Cn(this,"_supportTelemetry",void 0),Cn(this,"_providers",void 0),Cn(this,"_lastProviderKind",void 0),this._program=e,this._snapshot=t,this._supportTelemetry=s;const l=[],d=this._program.serviceProvider.tryGet(nM.completionProviderRegistry);d&&l.push(...d.getAsyncProviders(this._program,this._snapshot,i,r,n,o));const u=this._program.serviceProvider.tryGet(nM.asyncFixtureFinder);u&&l.push(new Cr(this._program,this._snapshot,u,i,r,n,o)),l.push(new Ce(this._program,this._snapshot,i,r,n,a,o)),this._providers=l}}function Cs(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Co{get lastModuleName(){return this._moduleNames[this._moduleNames.length-1]||""}get newLastModuleName(){return this._newModuleNames[this._newModuleNames.length-1]||""}get moduleName(){return this._moduleNames.join(".")}get newModuleName(){return this._newModuleNames.join(".")}static getRenameModulePathInfo(e,t){let i,r="__init__"===e.fileNameWithoutExtensions?e.getDirectory():e,n=(i=r.lastExtension,r.getDirectory().combinePaths(`${t}${i}`));if(n)return{fileUri:r,newFileUri:n}}static getRenameModulePath(e){let t=e.find(e=>!e.node);if(t)return t.uri;let i=[...e.reduce((e,t)=>e.set(t.uri.key,t.uri),new Map)],r=i.findIndex(e=>(0,cu.x)(e[1]));return r>=0?i[r][1]:i[0][1]}async renameModule(){if((0,n8.Lj)(this._token),!this._program.fileSystem.existsSync(this._oldModuleUri))return null;if((0,ah.fo)(this._program.fileSystem,this._oldModuleUri)){if(!this._program.getSourceFileInfo(this._oldModuleUri))return null}else if((0,ah.wd)(this._program.fileSystem,this._oldModuleUri)){if("Renamed"!==(0,ah.gT)(this._program.fileSystem,this._oldModuleUri,this._newModuleUri))return null;let e=this._oldModuleUri.initPyiUri;if(!this._program.fileSystem.existsSync(e)&&(e=this._oldModuleUri.initPyUri,!this._program.fileSystem.existsSync(e)))return null}return 0===this._moduleNames.length||0===this._newModuleNames.length?null:(await this._processModuleReferences(),{edits:this._textEditTracker.getEdits(this._token),fileOperations:[]})}getEdits(){return this._textEditTracker.getEdits(this._token)}async _processModuleReferences(){let e=this.lastModuleName;for(let i of this._program.getSourceFileInfoList()){var t;if((0,n8.Lj)(this._token),!(0,aR.xX)(i))continue;let r=i.uri,n=null!=(t=i.contents)?t:"";if(!r.equals(this._oldModuleUri)&&0>n.indexOf(e))continue;let a=this._program.getParseResults(r);a&&await this._renameReferences(a,i)}}async _renameReferences(e,t){let i=new wC(this._program,this._evaluator,[this.lastModuleName],this._declarations,e.parserOutput.parseTree,this._token,{treatModuleInImportAndFromImportSame:!0,skipUnreachableCode:!1}),r=await i.collectAsync();this._isFolderRename?this._renameFolderReferences(e,r):await this._updateModuleReferences(e,r)}_renameFolderReferences(e,t){for(let i of t)this._textEditTracker.addEditWithTextRange(e,i.range,this.newLastModuleName)}async _updateModuleReferences(e,t){for(let i of t){let r=i.node;if(r.nodeType===aO.ye.String){this._textEditTracker.addEditWithTextRange(e,i.range,this.newLastModuleName);continue}if(this._isNameNode(r)){if((0,aL.TS)(r)){this._handleImportModuleName(e,r,i);continue}if((0,aL.ay)(r)){this._textEditTracker.addEditWithTextRange(e,i.range,this.newLastModuleName);continue}if((0,aL.Z7)(r)){await this._handleFromImportModuleName(e,r,t);continue}if((0,aL.t3)(r)||(0,aL.U7)(r)){this._textEditTracker.addEditWithTextRange(e,i.range,this.newLastModuleName);continue}await this._handleRegularUsage(e,r,i)}}await this._updateRelativeModuleNamePath(e,t)}async _handleRegularUsage(e,t,i){var r,n;let a=await this._evaluator.getDeclInfoForNameNode(t),s=null==a||null==(r=a.decls)?void 0:r.filter(e=>(0,aF.D5)(e));if(this._onlyNameChanged)return void this._textEditTracker.addEditWithTextRange(e,i.range,this.newLastModuleName);if(null==s?void 0:s.some(e=>!e.usesLocalName&&(!e.node||e.node.nodeType===aO.ye.ImportAs)&&!this._aliasIntroduced.has(e.node))){let i=(0,aL.W5)(t);if((null==(n=i.parent)?void 0:n.nodeType)!==aO.ye.MemberAccess)return void this._textEditTracker.addEditWithTextRange(e,i,this.newModuleName);let r=await this._evaluator.getDeclInfoForNameNode(i.parent.d.member),a=null==r?void 0:r.decls;return void(a&&0!==a.length&&this._textEditTracker.addEditWithTextRange(e,i,this.newModuleName))}if(i.node.d.value!==this.newLastModuleName)return void this._textEditTracker.addEditWithTextRange(e,i.range,this.newLastModuleName)}_handleImportModuleName(e,t,i){var r;if(!(0,aL.Er)(t))return;let n=(0,aL.Ay)(t,aO.ye.ModuleName);if(n){if(1===n.d.nameParts.length&&(null==(r=n.parent)?void 0:r.nodeType)===aO.ye.ImportAs&&!n.parent.d.alias&&this._newModuleNames.length>1){this._aliasIntroduced.add(n.parent),this._textEditTracker.addEditWithTextRange(e,n,`${this.newModuleName} as ${this.newLastModuleName}`);return}this._textEditTracker.addEditWithTextRange(e,n,this.newModuleName)}}_isNameNode(e){return e.nodeType===aO.ye.Name}async _handleFromImportModuleName(e,t,i){if(!(0,aL.Er)(t))return;let r=(0,aL.Ay)(t,aO.ye.ModuleName);if(!r)return;let n=r.parent,a=(0,ax.R8)(e.parserOutput.parseTree).fileUri,s=[],o=[];for(let e of n.d.imports)await this._isExportedSymbol(e.d.name)?s.push(e):o.push(e);if(0===o.length)return void this._textEditTracker.addEditWithTextRange(e,r,this._getNewModuleName(a,r.d.leadingDots>0,!1));if(0===s.length)return;if(n.d.module.d.leadingDots>0)for(let t of this._getNewRelativeModuleNamesForFileMoved(a,[n.d.module]))this._textEditTracker.addEditWithTextRange(e,t.moduleName,t.newModuleName);for(let t of s)this._textEditTracker.deleteImportName(e,t);let l=(0,oG.AG)(e.parserOutput.parseTree,!1);this._textEditTracker.addOrUpdateImport(e,l,{name:this.newModuleName},(0,oG.x$)({moduleName:this.newModuleName,importType:aD.U.Local,isLocalTypingsFile:!1}),s.map(e=>{var t;return{name:i.findIndex(t=>t.node===e.d.name)>=0?this.newLastModuleName:e.d.name.d.value,alias:i.findIndex(t=>t.node===e.d.alias)>=0?this.newLastModuleName:null==(t=e.d.alias)?void 0:t.d.value}}),{currentFromImport:n,originalModuleName:this.moduleName})}async _updateRelativeModuleNamePath(e,t){let i,r=(0,ax.R8)(e.parserOutput.parseTree).fileUri;if(r.equals(this._oldModuleUri))for(let n of this._getNewRelativeModuleNamesForFileMoved(r,Cl.collect(e.parserOutput.parseTree).filter(e=>!t.some(t=>aB.vY.containsRange(e.parent,t.node))))){if(this._textEditTracker.addEditWithTextRange(e,n.moduleName,n.newModuleName),!n.itemsToMove)continue;let t=n.moduleName.parent;for(let t of n.itemsToMove)this._textEditTracker.deleteImportName(e,t);i=null!=i?i:(0,oG.AG)(e.parserOutput.parseTree,!1),this._textEditTracker.addOrUpdateImport(e,i,{name:this.newModuleName,nameForImportFrom:(0,oG.eM)(this._program.fileSystem,this._newModuleUri,this._newModuleUri,this._program.configOptions,!1,!0)},(0,oG.x$)({moduleName:this.newModuleName,importType:aD.U.Local,isLocalTypingsFile:!1}),n.itemsToMove.map(e=>{var t;return{name:e.d.name.d.value,alias:null==(t=e.d.alias)?void 0:t.d.value}}),{currentFromImport:t,originalModuleName:this.moduleName})}}_getNewRelativeModuleNamesForFileMoved(e,t){if(!e.equals(this._oldModuleUri))return[];let i="__init__"===e.fileNameWithoutExtensions,r=e.getDirectory(),n=[];for(let e of t){if(0===e.d.leadingDots)continue;let t=this._getNewModuleNameInfoForFileMoved(e,i,r);if(!t)continue;let a=(0,oG.eM)(this._program.fileSystem,t.src,t.dest,this._program.configOptions,!1,!0);a&&n.push({moduleName:e,newModuleName:a,itemsToMove:t.itemsToMove})}return n}_getNewModuleNameInfoForFileMoved(e,t,i){let r=(0,ax.en)(e);if(!r)return;let n=r.resolvedUris[r.resolvedUris.length-1];if(!n||n.isEmpty())if(0!==e.d.nameParts.length)return;else{let t=(0,oG._7)(i,e.d.leadingDots);if(!t)return;n=t.initPyUri}if(!this._oldModuleUri.equals(n)||!t)return{src:this._newModuleUri,dest:n};let a=e.parent;return a&&a.nodeType!==aO.ye.ImportFrom,{src:this._newModuleUri,dest:this._newModuleUri}}async _isExportedSymbol(e){let t=await this._evaluator.getDeclInfoForNameNode(e),i=null==t?void 0:t.decls;return!!i&&!i.some(e=>(0,aF.D5)(e)&&e.submoduleFallback)}_getNewModuleName(e,t,i){var r;let n=e.equals(this._oldModuleUri)?this._newModuleUri:e,a=t&&null!=(r=(0,oG.eM)(this._program.fileSystem,n,this._newModuleUri,this._program.configOptions,i,!0))?r:this.newModuleName;if(i&&a.endsWith(this.newLastModuleName)){let e=a===this.newLastModuleName?0:a.length>this.newLastModuleName.length+1?+("."!==a[a.length-this.newLastModuleName.length-2]):0,t=a.length-this.newLastModuleName.length-e,i=a.substring(0,t);return i.length>0?i:"."}return a}constructor(e,t,i,r,n,a){if(Cs(this,"_program",void 0),Cs(this,"_evaluator",void 0),Cs(this,"_oldModuleUri",void 0),Cs(this,"_newModuleUri",void 0),Cs(this,"_snapshot",void 0),Cs(this,"_token",void 0),Cs(this,"_moduleNames",void 0),Cs(this,"_newModuleNames",void 0),Cs(this,"_declarations",void 0),Cs(this,"_textEditTracker",void 0),Cs(this,"_aliasIntroduced",void 0),Cs(this,"_onlyNameChanged",void 0),Cs(this,"_isFolderRename",void 0),Cs(this,"_moduleFileUri",void 0),this._program=e,this._evaluator=t,this._oldModuleUri=i,this._newModuleUri=r,this._snapshot=n,this._token=a,this._declarations=[],this._textEditTracker=new wv.E,this._aliasIntroduced=new Set,this._isFolderRename=(0,ah.wd)(this._program.fileSystem,this._oldModuleUri),this._isFolderRename){let e=this._oldModuleUri.initPyiUri;this._program.fileSystem.existsSync(e)||(e=this._oldModuleUri.initPyUri),this._moduleFileUri=e}else this._moduleFileUri=this._oldModuleUri;const s=this._program.getModuleName(this._oldModuleUri),o=this._program.getModuleName(this._newModuleUri);this._moduleNames=s?s.split("."):[],this._newModuleNames=o?o.split("."):[],this._onlyNameChanged=(0,oG.L$)(this._moduleNames,this._newModuleNames),this._declarations.push((0,aA.HV)(this._moduleFileUri)),(0,cu.x)(this._moduleFileUri)}}class Cl extends aE.gw{walk(e){(0,aO.TE)(e)||super.walk(e)}visitModuleName(e){return this._result.push(e),!1}static collect(e){let t=new Cl;return t.walk(e),t._result}constructor(...e){super(...e),Cs(this,"_result",[])}}function Cd(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Cu{async canRenameSymbol(e,t){(0,n8.Lj)(this._token);let i=this._program.getParseResults(this._fileUri);if(!i)return null;let r=await this._getModuleReferencesResult();return r&&!e&&this._supportRenameModule(r.declarations,e)?(0,aW.oG)(r.nodeAtOffset,i.tokenizerOutput.lines):null}async renameSymbol(e,t,i){if((0,n8.Lj)(this._token),!this._program.getParseResults(this._fileUri))return null;let r=await this._getModuleReferencesResult();if(!r||t||!this._supportRenameModule(r.declarations,t))return null;let n=Co.getRenameModulePathInfo(Co.getRenameModulePath(r.declarations),e);if(!n)return null;let a=await this._program.getSnapshot(this._token),s=await new Co(this._program,this._evaluator,n.fileUri,n.newFileUri,a,this._token).renameModule();if(!s)return null;if(s.fileOperations.push({kind:"rename",oldFileUri:n.fileUri,newFileUri:n.newFileUri}),(0,cu.x)(n.fileUri)){let t=await this._program.getSourceMapper(n.fileUri,!1,!1,a,this._token);if(t)for(let i of(await t.getSourcePathsFromStub(n.fileUri,void 0))){let t=Co.getRenameModulePathInfo(i,e);t&&!s.fileOperations.some(e=>"rename"===e.kind&&e.newFileUri.equals(t.newFileUri)&&e.oldFileUri.equals(t.fileUri))&&s.fileOperations.push({kind:"rename",oldFileUri:t.fileUri,newFileUri:t.newFileUri})}}return(0,fI.WN)(this._program.fileSystem,s)}async isModuleRename(){return void 0!==await this._getModuleReferencesResult()}_supportRenameModule(e,t){return!t&&e.every(e=>(0,aR.xX)(this._program.getSourceFileInfo(e.uri)))}async _getModuleReferencesResult(){let e=this._program.getParseResults(this._fileUri);if(!e)return;let t=(0,aW.bt)(this._position,e.tokenizerOutput.lines);if(void 0===t)return;let i=(0,aL.gr)(e.parserOutput.parseTree,t);if(!i)return;let r=i.nodeType===aO.ye.Name?i:i.nodeType===aO.ye.MemberAccess?i.d.member:void 0;if(!r)return;let n=await this._getDeclarationsForNameNode(r);if(0===n.length)return;let a=n.every(e=>this._isImportDeclaration(e));if(a)return{nodeAtOffset:r,declarations:n,containsOnlyImportDecls:a}}async _getDeclarationsForNameNode(e){var t,i;let r=await this._evaluator.getDeclInfoForNameNode(e,!1),n=null!=(t=null==r?void 0:r.decls)?t:[];if((null==(i=e.parent)?void 0:i.nodeType)===aO.ye.ImportFromAs&&(n=n.filter(t=>t.node===e.parent)),0===n.length){let t=await this._evaluator.getType(e);if((null==t?void 0:t.category)===aM.vb.Module){let e=t.priv.fileUri;if(e&&!e.isEmpty())return[(0,aA.HV)(e)]}}let a=[];for(let e of n){let t=await this._evaluator.resolveAliasDeclaration(e,!1);t&&a.push(t)}return a.length>0?a:n}_isImportDeclaration(e){if(!(0,aF.D5)(e))return!1;if(!e.usesLocalName)return!0;if(e.node){let t=e.node.nodeType;return t===aO.ye.ImportFrom||t===aO.ye.ImportAs||t===aO.ye.ImportFromAs}return!1}constructor(e,t,i,r,n){Cd(this,"_program",void 0),Cd(this,"_evaluator",void 0),Cd(this,"_fileUri",void 0),Cd(this,"_position",void 0),Cd(this,"_token",void 0),this._program=e,this._evaluator=t,this._fileUri=i,this._position=r,this._token=n}}function Cp(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Cc{async canRenameSymbol(e,t){(0,n8.Lj)(this._token);let i=this._program.getParseResults(this._fileUri);if(!i)return null;let r=await this._getReferencesResult();return r&&"none"!==this._getRenameSymbolMode(r,e,t)?(0,aW.oG)(r.nodeAtOffset,i.tokenizerOutput.lines):await this._moduleRenameProvider.canRenameSymbol(e,t)||null}async renameSymbol(e,t,i){if((0,n8.Lj)(this._token),!this._program.getParseResults(this._fileUri))return null;let r=await this._getReferencesResult();if(r){let n=this._getRenameSymbolMode(r,t,i);if("none"!==n)return await this._performSymbolRename(e,r,n)}return await this._moduleRenameProvider.renameSymbol(e,t,i)||null}async _performSymbolRename(e,t,i){let r=[];switch(i){case"singleFileMode":await this._addReferencesFromFile(this._fileUri,t,r);break;case"multiFileMode":for(let e of this._program.getSourceFileInfoList())if((0,n8.Lj)(this._token),(0,aR.xX)(e)){var n;let i=null!=(n=e.contents)?n:"";if(!t.symbolNames.some(e=>i.search(e)>=0))continue;await this._addReferencesFromFile(e.uri,t,r)}}let a=r.filter(e=>e.node!==t.nodeAtOffset||!0).map(t=>({fileUri:t.location.uri,range:t.location.range,replacementText:e}));return(0,fI.WN)(this._program.fileSystem,{edits:a,fileOperations:[]})}async _addReferencesFromFile(e,t,i){let r=this._program.getParseResults(e);if(r&&t.nodeAtOffset.nodeType===aO.ye.Name)for(let n of(await ww(this._program,await this._program.getSnapshot(this._token),t.symbolNames,t.nonImportDeclarations,this._token,r.parserOutput.parseTree,{treatModuleInImportAndFromImportSame:!0,skipUnreachableCode:!1,useCase:sz.P.Rename})))i.push({node:n.node,location:{uri:e,range:{start:(0,aW.l8)(n.range.start,r.tokenizerOutput.lines),end:(0,aW.l8)(aB.vY.getEnd(n.range),r.tokenizerOutput.lines)}}})}_getRenameSymbolMode(e,t,i){let r=this._program.getSourceFileInfo(this._fileUri);if(!r)return"none";let n=(0,aR.xX)(r);return t||n&&!e.requiresGlobalSearch||!n&&r.isOpenByClient&&e.declarations.every(e=>this._program.getSourceFileInfo(e.uri)===r)?"singleFileMode":e.declarations.every(e=>(0,aR.xX)(this._program.getSourceFileInfo(e.uri)))?"multiFileMode":"none"}async _getReferencesResult(){var e;let t=this._program.getParseResults(this._fileUri);if(!t)return;let i=(0,aW.bt)(this._position,t.tokenizerOutput.lines);if(void 0===i)return;let r=(0,aL.gr)(t.parserOutput.parseTree,i);if(!r)return;let n=r.nodeType===aO.ye.Name?r:r.nodeType===aO.ye.MemberAccess?r.d.member:void 0;if(!n)return;let a=await this._evaluator.getDeclInfoForNameNode(n,!1),s=null!=(e=null==a?void 0:a.decls)?e:[];if(0===s.length)return;let o=[];for(let e of s){let t=await this._evaluator.resolveAliasDeclaration(e,!1);t&&o.push(t)}if(0===o.length)return;let l=this._filterNonImportDeclarations(o,[n.d.value]);if(0!==l.length)return{requiresGlobalSearch:this._determineRequiresGlobalSearch(o),nodeAtOffset:n,symbolNames:[n.d.value],declarations:o,nonImportDeclarations:l,containsOnlyImportDecls:o.length>0&&0===l.length}}_filterNonImportDeclarations(e,t){return e.filter(e=>{var i;if(!(0,aF.D5)(e))return!0;if(!e.usesLocalName||!e.node||e.node.nodeType===aO.ye.ImportFrom)return!1;let r=null==(i=e.node.d.alias)?void 0:i.d.value;return!!t.some(e=>e===r)})}_determineRequiresGlobalSearch(e){for(let t of e)if(t.type===aF.h3.Function||t.type===aF.h3.Class||t.type===aF.h3.Variable)return!0;return!1}constructor(e,t,i,r,n){Cp(this,"_program",void 0),Cp(this,"_evaluator",void 0),Cp(this,"_fileUri",void 0),Cp(this,"_position",void 0),Cp(this,"_token",void 0),Cp(this,"_moduleRenameProvider",void 0),this._program=e,this._evaluator=t,this._fileUri=i,this._position=r,this._token=n,this._moduleRenameProvider=new Cu(e,t,i,r,n)}}class Ch{static addAddTypeIgnoreCodeActions(e,t,i,r,n){let a=e.service.getParseResults(t);if(!a)return;let s=a.tokenizerOutput.tokens,o=a.tokenizerOutput.lines,l=i.filter(e=>!!e.getRule()),d=[];for(let e of l){let i,r;(0,n8.Lj)(n);let l=Ch._getAllowedIgnoreKinds(a.parserOutput,t),u=(0,aW.bH)(a.tokenizerOutput,a.text,e.range.end.line),p=(0,aL.i8)(s,u),c=(0,aL.dR)(s,p);if(c&&c.length>0){let e=(0,aW.l8)(c[0].start-1,o),t=/^\s*pyright:\s*ignore\s*\[/.exec(c[0].value);t?(i={line:e.line,character:e.character+t[0].length+1},r="{rule}, ",l=["pyright"]):(i=e,r="{statement} ")}else i=(0,aW.l8)(u,a.tokenizerOutput.lines),r=" {statement}";let h=new ov.X4(r);for(let t of l){let r=this._getTypeIgnoreStatement(e,t),n=h.format({rule:e.getRule()||"",statement:r}),a={title:iI.CodeAction.AddTypeIgnore.title().format({statement:r}),codeActionPosition:i,codeActionText:n};(0,ap.eA)(d,a,(e,t)=>this._areSame(e,t))}}for(let i of d)r.push(this._createFix(e,t,i.title,i.codeActionPosition,i.codeActionText))}static _areSame(e,t){return e.title===t.title&&e.codeActionPosition.character===t.codeActionPosition.character&&e.codeActionPosition.line===t.codeActionPosition.line&&e.codeActionText===t.codeActionText}static _createFix(e,t,i,r,n){let a=nZ.CodeAction.create(i,nZ.CodeActionKind.QuickFix);return a.edit={changes:{[(0,ah.JQ)(e.service.fs,t)]:[nZ.TextEdit.insert(r,n)]}},a}static _getTypeIgnoreStatement(e,t){let i=new ov.X4("# {name}: ignore{postfix}");return"type"===t?i.format({name:"type",postfix:""}):i.format({name:"pyright",postfix:`[${e.getRule()}]`})}static _getAllowedIgnoreKinds(e,t){let i=(0,ax.R8)(e.parseTree);return i?i.diagnosticRuleSet.enableTypeIgnoreComments?["type","pyright"]:["pyright"]:["type"]}}class Cm{static addCodeActions(e,t,i,r,n,a){(0,n8.Lj)(a),e.service.run(e=>{let s=e.serviceProvider.tryGet(nM.fixtureFinder);if(!s||!s.hasPytest()||!s.isTestFile(t))return;let o=[];if(aq(r,aO.ye.Parameter,a,i).forEach(i=>{var n;if(i.d.annotation||i.d.annotationComment||!hn(s,i)||!he(e,i,a))return;let l=(0,aW.oG)(i,r.tokenizerOutput.lines),d=iI.Pytest.addTypeAnnnotation().format({name:(null==(n=i.d.name)?void 0:n.d.value)||""});o.push(nZ.CodeAction.create(d,(0,TE.g)(d,s0.addFixtureTypeAnnotation,t.toString(),l),nZ.CodeActionKind.RefactorInline))}),o.length>0){let e=iI.Pytest.addTypeAnnnotations();o.push(nZ.CodeAction.create(e,(0,TE.g)(e,s0.addAllFixtureTypeAnnotations,t.toString()),nZ.CodeActionKind.RefactorInline)),n.push(...o);return}for(let i of aq(r,aO.ye.Parameter,a)){if((0,n8.Lj)(a),i.d.annotation||i.d.annotationComment||!hn(s,i)||!he(e,i,a))continue;let r=iI.Pytest.addTypeAnnnotations();n.push(nZ.CodeAction.create(r,(0,TE.g)(r,s0.addAllFixtureTypeAnnotations,t.toString()),nZ.CodeActionKind.RefactorInline));return}},a)}}function Cy(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Cg{appendCodeActions(e,t,i,r){let n=this._mapper,a=t.filter(e=>mi(e,me.y.reportUnboundVariable,n)||mi(e,me.y.reportUndefinedVariable,n));this._hasVSCodeExtension?this._newImpl.appendCodeActions(e,a,i,r):this._legacyImpl.appendCodeActions(e,a,i,r)}constructor(e,t){Cy(this,"_workspace",void 0),Cy(this,"_hasVSCodeExtension",void 0),Cy(this,"_newImpl",void 0),Cy(this,"_legacyImpl",void 0),Cy(this,"_mapper",void 0),this._workspace=e,this._hasVSCodeExtension=t,this._newImpl=new Cf(e),this._legacyImpl=new Cv(e),this._mapper=e.service.serviceProvider.tryGet(nM.diagnosticCodeMapper)}}class Cf{appendCodeActions(e,t,i,r){if(0===t.length)return;let n=t[0].range,a=this._workspace.service.run(t=>{var i;return li(t,e,n,1,a8,{lazyEdit:!0,importFormat:this._workspace.importFormat,patternMatcher:(e,t)=>e===t,indices:o6.getIndices(this._workspace),includeAliasesFromUserFiles:null==(i=this._workspace.indexOptions)?void 0:i.includeAliasesFromUserFiles,allowDuplicatedAliases:!0},r)},r);if(0===a.length)return void oX.log(`No matching imports found for computing addImports code action. Diagnostics were: ${t.map(e=>e.message).join(", ")}`);let s=this._workspace.service.getTextOnRange(e,n,r);if(!s)return;let o=null!=(l=null==(d=a8.get(s))?void 0:d.importName)?l:s;var l,d,u=this._importRankers;let p=0;for(let e of u)if((p+=e.setSortKeys(o,a,r))>=3)break;a.sort(TQ);let c=0,h=e.toString();for(let e of a)if(i.push(C_(h,n,e.name,e.source,e.alias)),++c>=3)break}constructor(e){Cy(this,"_workspace",void 0),Cy(this,"_importRankers",void 0),this._workspace=e,this._importRankers=[new Tq(e,3),new TG(e,20,100,3),new TH(e)]}}class Cv{appendCodeActions(e,t,i,r){if(0===t.length)return;let n=t[0].range,a=this._workspace.service.run(t=>{var i;return li(t,e,n,.4,a8,{lazyEdit:!0,importFormat:this._workspace.importFormat,patternMatcher:(e,t)=>e===t,indices:o6.getIndices(this._workspace),includeAliasesFromUserFiles:null==(i=this._workspace.indexOptions)?void 0:i.includeAliasesFromUserFiles,allowDuplicatedAliases:!0},r)},r),s=e.toString(),o=[];for(let e of a)(0,n8.Lj)(r),e.name.startsWith("__")||o.push(C_(s,n,e.name,e.source,e.alias));let l=this._workspace.service.getTextOnRange(e,n,r);i.push(...o.sort((e,t)=>{let i=e.command.arguments[2],r=t.command.arguments[2];return i===r?this._addImportCompare(e,t):i===l?-1:r===l?1:this._addImportCompare(e,t)}))}_addImportCompare(e,t){let i=e.command.arguments[2],r=t.command.arguments[2],n=e.command.arguments[3],a=t.command.arguments[3];if(!n&&!a)return i.localeCompare(r);if(!n&&a)return -1;if(n&&!a)return 1;let s=(0,sN.f7)(n,".")-(0,sN.f7)(a,".");return 0===s?e.title.localeCompare(t.title):s}constructor(e){Cy(this,"_workspace",void 0),this._workspace=e}}function C_(e,t,i,r,n){let a=iI.CodeAction.AutoImport.addAutoImport().format({importText:(0,cd.ib)(i,r,n)});return nZ.CodeAction.create(a,(0,TE.g)(a,s0.addImport,e,t,i,r,n),nZ.CodeActionKind.QuickFix)}function CT(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Cw{appendCodeActions(e,t,i,r){if(!this._hasVSCodeExtension)return;let n=this._workspace.service.serviceProvider.tryGet(nM.diagnosticCodeMapper),a=t.filter(e=>mi(e,me.y.reportUnboundVariable,n)||mi(e,me.y.reportUndefinedVariable,n));if(0===a.length)return;let s=a[0].range;this._workspace.service.run(t=>{let n=t.getParseResults(e);if(!n)return;let a=(0,aW.AP)(s,n.tokenizerOutput.lines);if(!a)return;let o=(0,aL.gr)(n.parserOutput.parseTree,a.start);if(!o)return;let l=new Map,d=n.text.substr(a.start,a.length);if(d.length<3)return;this._collectCandidatesFromSymbols(t,o,d,l,r),this._collectCandidatesFromAddImports(t,e,s,i,d,l,r);let u=this._getBestMatch(l);u&&i.push(this._createCodeAction(e,s,u))},r)}_createCodeAction(e,t,i){let r=iI.CodeAction.ChangeSpelling.changeSpellingTo().format({word:i.name});if(!i.results||i.results.length>1)return nZ.CodeAction.create(r,(0,TE.g)(r,s0.changeSpelling,e,t,i.name),nZ.CodeActionKind.QuickFix);let n=i.results[0];return nZ.CodeAction.create(r,(0,TE.g)(r,s0.addImport,e,t,n.name,n.source,n.alias),nZ.CodeActionKind.QuickFix)}_getBestMatch(e){if(0===e.size)return;let t=[...e.entries()].sort((e,t)=>e[1]===t[1]?e[0].localeCompare(t[0]):e[1].editDistance-t[1].editDistance);return{name:t[0][0],results:t[0][1].results}}_collectCandidatesFromAddImports(e,t,i,r,n,a,s){var o;if(r.some(e=>{var t;return(null==(t=e.command)?void 0:t.command)===s0.addImport}))return;let l=li(e,t,i,0,a8,{lazyEdit:!0,importFormat:this._workspace.importFormat,patternMatcher:(e,t)=>this._patternMatcher(e,t),indices:o6.getIndices(this._workspace),includeAliasesFromUserFiles:null==(o=this._workspace.indexOptions)?void 0:o.includeAliasesFromUserFiles},s);(0,ap.bq)(l,e=>e.name).forEach((e,t)=>{(0,n8.Lj)(s),this._tryAdd(n,t,a,e)})}_collectCandidatesFromSymbols(e,t,i,r,n){let a=t;for(;a;){let t=(0,sY.Yd)(a);if(!t){a=a.parent;continue}for(;t;)(0,n8.Lj)(n),t.symbolTable.forEach((e,t)=>{this._tryAdd(i,t,r)}),t=t.parent;if(a.nodeType!==aO.ye.Class||!e.evaluator)return;let s=e.evaluator.getTypeOfClass(a);if(!s||!(0,aM.dL)(s.classType))return;s.classType.shared.mro.forEach((e,t)=>{(0,n8.Lj)(n),(0,aM.dL)(e)&&e.shared.fields.forEach((e,t)=>{(0,o0.VC)(e)&&e.isClassMember()&&this._tryAdd(i,t,r)})});return}}_tryAdd(e,t,i,r){if(t.length<3||i.has(t)||e===t)return;let n=this._getEditDistance(e,t);n>3||i.set(t,{editDistance:n,results:r})}_getEditDistance(e,t){let i=aP()(e,t);return i>Math.min(3,Math.floor(e.length/3))?4:i}_patternMatcher(e,t){return 3>=this._getEditDistance(e,t)}constructor(e,t){CT(this,"_workspace",void 0),CT(this,"_hasVSCodeExtension",void 0),this._workspace=e,this._hasVSCodeExtension=t}}function Cb(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class CS{appendCodeActions(e,t,i,r){if(!this._hasVSCodeExtension||this._workspace.kinds.some(e=>e===sL.mE.Limited))return;let n=this._workspace.service.serviceProvider.tryGet(nM.diagnosticCodeMapper),a=t.filter(e=>mi(e,me.y.reportUnboundVariable,n)||mi(e,me.y.reportUndefinedVariable,n));if(0===a.length)return;let s=a[0].range,o=this._workspace.service.getTextOnRange(e,s,r);if(!o||0===o.trim().length)return;let l=iI.CodeAction.AutoImport.searchImport();i.push(nZ.CodeAction.create(l,(0,TE.g)(l,s1.searchImports,e,s,o),nZ.CodeActionKind.QuickFix))}constructor(e,t){Cb(this,"_workspace",void 0),Cb(this,"_hasVSCodeExtension",void 0),this._workspace=e,this._hasVSCodeExtension=t}}function Ck(e,t,i,r){if((0,n8.Lj)(i),t.d.module.d.leadingDots>0||0===t.d.module.d.nameParts.length)return!1;if(t.d.isWildcardImport)return!0;let n=t.d.imports.filter(e=>{var t;return(null==(t=e.d.alias)?void 0:t.d.value)!==e.d.name.d.value});if(0===n.length)return!1;let a=new Set;for(let e of n){var s;(0,n8.Lj)(i),a.add((null!=(s=e.d.alias)?s:e.d.name).d.value)}return!(function(e,t,i,r){let n=null!=r?r:CC(e,i);for(let e of t)if((0,n8.Lj)(i),n.has(e))return!0;return!1}(e,a,i,null==r?void 0:r.bindingMutationNames)||function(e,t,i,r,n){(0,n8.Lj)(r);let a=null!=n?n:(0,oG.AG)(e.parserOutput.parseTree).orderedImports.filter(e=>e.node.nodeType===aO.ye.ImportFrom).map(e=>e.node),s=a.indexOf(t);if(s<0)return!1;let o=t.d.module.d.nameParts.map(e=>e.d.value).join(".");for(let e=s+1;e<a.length;e++){(0,n8.Lj)(r);let t=a[e];if(t.d.isWildcardImport)continue;let n=t.d.module.d.nameParts.map(e=>e.d.value).join(".");if(n&&n!==o)for(let e=0;e<t.d.imports.length;e++){var l;(0,n8.Lj)(r);let n=t.d.imports[e],a=(null!=(l=n.d.alias)?l:n.d.name).d.value;if(i.has(a))return!0}}return!1}(e,t,a,i,null==r?void 0:r.imports))}function CI(e,t){return(0,n8.Lj)(t),{imports:(0,oG.AG)(e.parserOutput.parseTree).orderedImports.filter(e=>e.node.nodeType===aO.ye.ImportFrom).map(e=>e.node),bindingMutationNames:CC(e,t)}}function CC(e,t){let i=new Set,r=e.tokenizerOutput.tokens,n=e.parserOutput.parseTree;if(0===r.count)return i;let a=e=>{if(e.nodeType===aO.ye.Del){for(let t of e.d.targets)t.nodeType===aO.ye.Name&&i.add(t.d.value);return}for(let t of e.d.targets)i.add(t.d.value)};for(let e=0;e<r.count;e++){(0,n8.Lj)(t);let i=r.getItemAt(e);if(i.type!==aj.ks.Keyword)continue;let s=i.keywordType;if(s!==aj.Wg.Global&&s!==aj.Wg.Nonlocal&&s!==aj.Wg.Del)continue;let o=(0,aL.gr)(n,i.start);if(o)if(s===aj.Wg.Global){let e=(0,aL.M8)(o,aO.ye.Global);e&&a(e)}else if(s===aj.Wg.Nonlocal){let e=(0,aL.M8)(o,aO.ye.Nonlocal);e&&a(e)}else{let e=(0,aL.M8)(o,aO.ye.Del);e&&a(e)}}return i}function CP(e,t,i,r,n,a){if(!r||!e.pathEndsWith("py"))return;(0,n8.Lj)(a);let s=(0,aW.AP)(t,i.tokenizerOutput.lines);if(!s)return;let o=(0,aL.gr)(i.parserOutput.parseTree,s.start);if(!o)return;let l=(0,aL.M8)(o,aO.ye.ImportFrom);if(!l||!Ck(i,l,a))return;let d=iI.CodeAction.ConvertImportToModule.convertToModuleImport();n.push({title:d,kind:nZ.CodeActionKind.Refactor,command:(0,TE.g)(d,s0.convertImportToModule,e.toString(),s.start.toString())})}async function Cx(e,t,i,r,n,a){if((0,n8.Lj)(a),!e.rootUri||!r)return;let s=e.service.getParseResults(t);if(!s)return;let o=oy.isNotebookCell(t);if(!await CF(e,t,s,i,a))return void function(e,t,i,r,n){let a;(0,n8.Lj)(n);let s=t.filter(e=>{var t;return null==(t=lT(e))?void 0:t.startsWith("Diagnostic.import")});if(0===s.length)return;let o=s[0].range;(0,aW.AP)(o,e.tokenizerOutput.lines)&&(CE(r,i),(0,n8.Lj)(n),a=iI.CodeAction.UnresolvedImports.learnMoreTitle(),i.push(nZ.CodeAction.create(a,(0,TE.g)(a,s1.openUri,["https://aka.ms/pylanceImportResolve"]),nZ.CodeActionKind.QuickFix)))}(s,i,n,o,a);let l=CA(i,s,e.service.serviceProvider.tryGet(nM.diagnosticCodeMapper));await CD(e,t,s,l,n,a)}async function CF(e,t,i,r,n){let a;if(oy.isNotebookCell(t)||!e.enableTroubleshootMissingImports)return!1;let s=e.service.serviceProvider.tryGet(nM.pythonEnvironmentService);return!!await (null==s?void 0:s.checkPythonEnvExtExist(n))&&!!((a=CA(r,i,e.service.serviceProvider.tryGet(nM.diagnosticCodeMapper)))&&void 0!==function(e){var t,i;if(!e||e.startsWith(".")||e.includes("__"))return;let r=a9(e);if(sm.has(r)){let n=sm.get(r)||void 0;if(!n)return;let a=e.split("."),s=e;for(let e=a.length;e>0;e--){if(n.has(s)||(t=s,sh.has(t)))return i=s,sh.get(i)||i;s=a.slice(0,e-1).join(".")}}else if(sh.has(r))return sh.get(r)||r}(a))}function CA(e,t,i){let r=e.filter(e=>mi(e,me.y.reportMissingImports,i)||mi(e,me.y.reportMissingModuleSource,i));if(0===r.length)return;let n=r[0].range,a=(0,aW.AP)(n,t.tokenizerOutput.lines);if(a)return t.text.slice(a.start,a.start+a.length)}async function CD(e,t,i,r,n,a){(0,n8.Lj)(a);let s=(0,aW.oG)(i.parserOutput.parseTree,i.tokenizerOutput.lines),o=await w7(e.service,t,s,a),l=e.service.serviceProvider.tryGet(nM.diagnosticCodeMapper),d=Array.from(new Set(o.map(e=>CA([e],i,l)).filter(e=>null!=e))),u=Array.from(new Set((0,oG.AG)(i.parserOutput.parseTree).orderedImports.map(e=>e.moduleName))),p=iI.CodeAction.UnresolvedImports.troubleshootMissingImports();n.push(nZ.CodeAction.create(p,(0,TE.g)(p,s1.troubleshootMissingImports,[r,d,u,t.toString()]),nZ.CodeActionKind.QuickFix))}function CE(e,t){let i=e?iI.CodeAction.UnresolvedImports.selectKernelTitle():iI.CodeAction.UnresolvedImports.selectInterpreterTitle(),r=e?s1.notebookSelectKernel:s1.pythonSetInterpeter;t.push(nZ.CodeAction.create(i,(0,TE.g)(i,r),nZ.CodeActionKind.QuickFix))}let CR=new Set(["Diagnostic.sublistParamsIncompatible","Diagnostic.backticksIllegal"]);function CN(e,t,i,r,n){(0,n8.Lj)(n),!i||t.some(e=>{let t=lT(e);return void 0!==t&&function(e){if(CR.has(e))return!1;if(e.endsWith("Incompatible")||e.endsWith("Illegal"))return!0;switch(e){case"Diagnostic.unpackOperatorNotAllowed":case"Diagnostic.exceptRequiresParens":case"Diagnostic.expectedDecoratorExpr":case"Diagnostic.assignmentExprInSubscript":return!0;default:return!1}}(t)})&&CE(oy.isNotebookCell(e),r)}async function CM(e,t,i,r,n,a,s){if((0,n8.Lj)(s),!i.pathEndsWith(".py"))return;let o=t.getSourceFileInfo(i);if(!o||o.isTypeshedFile||o.isThirdPartyImport)return;let l=t.getModuleName(o.uri);if(!l||!e.service.run(e=>{let t=e.configOptions.findExecEnvironment(o.uri);return e.importResolver.isStdlibModule((0,au.K6)(l),t)},s))return;let d=b2(t.fileSystem,o.uri,new Set,s);if(!d)return;let u=o.uri.fileName,p=d.fileName,c=iI.CodeAction.RenameShadowedStdlib.renameModule().format({oldName:u,newName:p});a.push(nZ.CodeAction.create(c,(0,TE.g)(c,s0.renameShadowedStdlib,o.uri.toString(),d.toString()),nZ.CodeActionKind.Refactor))}class CO{static matchesKind(e,t){return!e||0===e.length||t.some(t=>e.some(e=>t.startsWith(e)))}static async getCodeActionsForPosition(e,t,i,r,n,a){var s;if((0,n8.Lj)(a),e.disableLanguageServices)return[];let o=r.only,l=[],d=e.service.getParseResults(t);if(!d)return[];r.triggerKind===nZ.CodeActionTriggerKind.Invoked&&await e.service.analyzeFile(t,a),o&&this.matchesKind(o,w1)&&await Cz(e,t,o,d,l,a);let u=[];(!o||o.some(e=>e.startsWith(nZ.CodeActionKind.QuickFix)))&&(u=await w7(e.service,t,i,a),function(e,t,i,r){(0,n8.Lj)(r);let n=be(t);if(0===n.length)return;let a=n[0].range;i.push(nZ.CodeAction.create(iI.CodeAction.RemoveUnusedImport.removeUnusedImport(),(0,TE.g)(iI.CodeAction.RemoveUnusedImport.removeUnusedImport(),s0.removeUnusedImport,e.toString(),a),nZ.CodeActionKind.QuickFix),nZ.CodeAction.create(iI.CodeAction.RemoveUnusedImport.removeAllUnusedImports(),(0,TE.g)(iI.CodeAction.RemoveUnusedImport.removeAllUnusedImports(),s0.removeUnusedImport,e.toString()),nZ.CodeActionKind.QuickFix))}(t,u,l,a),new Cg(e,n).appendCodeActions(t,u,l,a),new Cw(e,n).appendCodeActions(t,u,l,a),new CS(e,n).appendCodeActions(t,u,l,a),function(e,t,i,r,n,a){if((0,n8.Lj)(a),!e.rootUri||!r)return;let s=e.service.getParseResults(t);if(!s)return;let o=e.service.serviceProvider.tryGet(nM.diagnosticCodeMapper),l=i.filter(e=>mi(e,me.y.reportMissingImports,o));if(0===l.length)return;let d=l[0].range,u=(0,aW.AP)(d,s.tokenizerOutput.lines);if(!u)return;let p=s.text.slice(u.start,u.start+u.length);if("."===p[0]||p.includes("__"))return;let c=p.split(".").join("/"),h=[];for(let t of e.service.backgroundAnalysisProgram.program.getUserFiles()){let i=t.uri;[`${c}.py`,`${c}.pyi`,`${c}/__init__.py`,`${c}/__init__.pyi`].filter(e=>i.pathEndsWith(e)).forEach(t=>{let r=i.root.resolvePaths(i.getPath().slice(0,-t.length)),n=e.rootUri.getRelativePath(r);n&&h.push(n)})}h.sort((e,t)=>e.length-t.length);let m=(0,sF.if)(e.service.fs,e.rootUri),y=(0,sF.kt)(e.service.fs,e.rootUri),g=null!=m?m:y;for(let e of h){let i=iI.CodeAction.ExtraPath.addExtraPath().format({name:e});if(g){n.push(nZ.CodeAction.create(i,(0,TE.g)(i,s0.addToExtraPathsInConfig,g.toString(),e,t.toString()),nZ.CodeActionKind.QuickFix));continue}n.push(nZ.CodeAction.create(i,(0,TE.g)(i,s1.addToExtraPaths,t.toString(),e),nZ.CodeActionKind.QuickFix))}}(e,t,u,n,l,a),await Cx(e,t,u,n,l,a),CN(t,u,n,l,a),s=u,(0,n8.Lj)(a),e.service.run(i=>{let r=e.service.getParseResults(t);if(!r)return;let n=s.filter(t=>{let i=e.service.serviceProvider.tryGet(nM.diagnosticCodeMapper);return mi(t,me.y.reportAbstractUsage,i)});if(0!==n.length)for(let t of n){var o;let n=(0,aW.AP)(t.range,r.tokenizerOutput.lines);if(!n)continue;let s=(0,aL.gr)(r.parserOutput.parseTree,n.start);if(!s)continue;let d=(0,aL.Ay)(s,aO.ye.Call);if(!d||!aB.vY.containsRange(n,d))continue;let u=null==(o=i.evaluator)?void 0:o.getType(d);if(!u||!(0,aM.D4)(u))continue;let p=i.serviceProvider.tryGet(nM.declarationFinder);if(p){for(let t of p.getDeclarations(u,a))if((0,aF.hw)(t)&&t.node.d.name&&t.uri){let r=i.getParseResults(t.uri);if(!r)continue;let n=(0,aW.oG)(t.node.d.name,r.tokenizerOutput.lines);CW(e,t.uri,n,r,nZ.CodeActionKind.QuickFix,l,a)}}}},a),TL.addCodeActions(t,u,l,a),Ch.addAddTypeIgnoreCodeActions(e,t,u,l,a)),this.matchesKind(o,w5)&&(await CU(e,t,o,i,d,n,l,a),(0,n8.Lj)(a),e.service.run(e=>{let r=e.evaluator,n=(0,aW.AP)(i,d.tokenizerOutput.lines);if(!n||!r)return;let s=(0,aL.gr)(d.parserOutput.parseTree,n.start),o=s?(0,aL.Ay)(s,aO.ye.Function):void 0;if(!o)return;let u=(0,aL.Ay)(o,aO.ye.Class);if(!u)return;let p=r.getTypeOfClass(u),c=null==p?void 0:p.classType;if(!c||!(0,aM.D4)(c))return;let h=bA(c,o.d.name.d.value);if(0===h.length)return;let m=e.serviceProvider.tryGet(nM.declarationFinder);if(!m)return;let y=r.getTypingType(o,"overload"),g=y?bk(r,m,y,a):[],f=bx(r,m,o.d.decorators,a);if(!h.some(e=>!bD(bC(r,m,e.d.expr,a),g,f)))return;let v=iI.CodeAction.InheritDecorators.inheritAllDecorators(),_={title:v,kind:nZ.CodeActionKind.Refactor,command:(0,TE.g)(v,s0.inheritAllDecorators,t.toString(),n.start.toString())};l.push(_)},a),CW(e,t,i,d,nZ.CodeActionKind.Refactor,l,a),(0,n8.Lj)(a),!e.rootUri||oy.isNotebookCell(t)||e.service.run(r=>{let n=wp(r,e.rootUri,d,i);if(n){if(0===n.importFrom.d.module.d.leadingDots){if(!(0,oG.eM)(r.fileSystem,t,n.targetPath,r.configOptions))return;l.push(nZ.CodeAction.create(iI.CodeAction.ToggleImportPath.convertToRelativePath(),(0,TE.g)(iI.CodeAction.ToggleImportPath.convertToRelativePath(),s0.convertImportFormat,t.toString(),"relative",i),nZ.CodeActionKind.Refactor),nZ.CodeAction.create(iI.CodeAction.ToggleImportPath.convertAllToRelativePath(),(0,TE.g)(iI.CodeAction.ToggleImportPath.convertAllToRelativePath(),s0.convertImportFormat,t.toString(),"relative"),nZ.CodeActionKind.Refactor));return}wc(r,t,n.targetPath)&&l.push(nZ.CodeAction.create(iI.CodeAction.ToggleImportPath.convertToAbsolutePath(),(0,TE.g)(iI.CodeAction.ToggleImportPath.convertToAbsolutePath(),s0.convertImportFormat,t.toString(),"absolute",i),nZ.CodeActionKind.Refactor),nZ.CodeAction.create(iI.CodeAction.ToggleImportPath.convertAllToAbsolutePath(),(0,TE.g)(iI.CodeAction.ToggleImportPath.convertAllToAbsolutePath(),s0.convertImportFormat,t.toString(),"absolute"),nZ.CodeActionKind.Refactor))}},a),(0,n8.Lj)(a),!n||oy.isNotebookCell(t)||e.kinds.some(e=>e===sL.mE.Limited)||e.service.run(r=>{let n=r.evaluator,a=(0,aW.AP)(i,d.tokenizerOutput.lines);if(!a||!n)return;let s=(0,aL.gr)(d.parserOutput.parseTree,a.start);if((null==s?void 0:s.nodeType)!==aO.ye.Name)return;let o=bQ.canMoveSymbol(e.service.getConfigOptions(),n,s);if(!o.succeeded){var u;o.failedReason&&o.failedReason!==iI.Refactoring.moveFileImportableOnly()&&o.failedReason!==iI.Refactoring.moveFileUnsupportedSymbol()&&l.push((u=iI.CodeAction.MoveSymbol.moveSymbolFailed(),{title:u,kind:nL.RefactorMove.ToFile,disabled:{reason:o.failedReason}}));return}let p=e.service.cancellationProvider.createCancellationTokenSource(),c=(0,n8.Er)(p.token);function h(e,r,n,a){return nZ.CodeAction.create(e,(0,TE.g)(iI.CodeAction.MoveSymbol.commandTitle(),s1.moveSymbolWithFileSelection,t.toString(),i,n,a),r)}l.push(h(iI.CodeAction.MoveSymbol.moveSymbolsTo(),nL.RefactorMove.ToFile,"pick",c)),l.push(h(iI.CodeAction.MoveSymbol.moveSymbolsToNewFile(),nL.RefactorMove.ToNewFile,"new",c))},a),Cm.addCodeActions(e,t,i,d,l,a),wg(e,t,i,d,n,l,a),CP(t,i,d,n,l,a),n&&t.pathEndsWith("py")&&((0,n8.Lj)(a),e.service.run(e=>{let r=e.evaluator;if(!r)return;let n=(0,aW.AP)(i,d.tokenizerOutput.lines);if(!n)return;let a=(0,aL.gr)(d.parserOutput.parseTree,n.start);if(!a||a.nodeType!==aO.ye.Name)return;let s=vt(a,r,d);if(!s)return;let{type:o,targetNode:u}=s;if((0,aM.ah)(o)||(0,aX.ZP)(o)||!vp(u,o))return;let p={title:iI.CodeAction.AddTypeAnnotation.addTypeAnnotation(),kind:nZ.CodeActionKind.Refactor,command:(0,TE.g)(iI.CodeAction.AddTypeAnnotation.addTypeAnnotation(),s0.addTypeAnnotation,t.toString(),n.start.toString())};l.push(p)},a)),(0,n8.Lj)(a),t.pathEndsWith(".py")&&e.service.run(i=>{let r=i.getSourceFileInfo(t);if(!r||r.isTypeshedFile||r.isThirdPartyImport)return;let n=i.configOptions.findExecEnvironment(r.uri),s=i.importResolver.getModuleNameForImport(r.uri,n).moduleName;if(!s)return;let o=(0,au.K6)(s);if(!i.importResolver.isStdlibModule(o,n))return;let d=b2(e.service.fs,r.uri,new Set,a);if(!d)return;let u=r.uri.fileName,p=d.fileName,c=iI.CodeAction.RenameShadowedStdlib.renameModule().format({oldName:u,newName:p});l.push(nZ.CodeAction.create(c,(0,TE.g)(c,s0.renameShadowedStdlib,r.uri.toString(),d.toString()),nZ.CodeActionKind.Refactor))},a));let p=e.service.serviceProvider.tryGet(nM.codeActionService);if(p)for(let r of p.providers){let s=await r.provideCodeActions(e,t,i,u,d,o,n,a);l.push(...s)}for(let e of l)w3(e,{uri:t.toString()});return l.filter(e=>!o||!e.kind||o.some(t=>e.kind.startsWith(t)))}}async function CU(e,t,i,r,n,a,s,o){if((0,n8.Lj)(o),!e.enableExtractCodeAction)return;let l=(0,aW.AP)(r,n.tokenizerOutput.lines);l&&(await CL(i,nL.RefactorExtract.Method,i=>{e.service.run(e=>{if(wM.canExtractMethod(n,l,e.evaluator).failedReason===wN.None){let e=iI.CodeAction.Extract.method();s.push(nZ.CodeAction.create(e,(0,TE.g)(e,a?s1.extractMethodWithRename:s0.extractMethod,t.toString(),r),i))}},o)}),await CL(i,nL.RefactorExtract.Variable,e=>{if(wM.canExtractVariable(n,l).failedReason===wN.None){let i=iI.CodeAction.Extract.variable();s.push(nZ.CodeAction.create(i,(0,TE.g)(i,a?s1.extractVariableWithRename:s0.extractVariable,t.toString(),r),e))}}))}async function CL(e,t,i){if(e&&!e.some(e=>t.startsWith(e)))return;let r=i(t);(0,n2.Qg)(r)&&await r}async function Cz(e,t,i,r,n,a){await CL(i,nL.Source.UnusedImports,async i=>{let s=(0,aW.oG)(r.parserOutput.parseTree,r.tokenizerOutput.lines);0!==(await w9(e.service,t,s,a)).length&&n.push(nZ.CodeAction.create(iI.CodeAction.RemoveUnusedImport.removeAllUnusedImports(),(0,TE.g)(iI.CodeAction.RemoveUnusedImport.removeAllUnusedImports(),s0.removeUnusedImport,t.toString()),i))}),await CL(i,nL.Source.ConvertImportFormat,i=>{if(!e.rootUri||!e.importFormat||oy.isNotebookCell(t))return;let a=e.importFormat,s=(0,oG.AG)(r.parserOutput.parseTree).orderedImports.filter(e=>e.node.nodeType===aO.ye.ImportFrom).map(e=>e.node),o=s7(e).program;0!==s.filter(i=>{let n=wp(o,e.rootUri,r,i);return!!n&&(a===o9.Relative?0===i.d.module.d.leadingDots&&(0,oG.eM)(o.fileSystem,t,n.targetPath,o.configOptions):i.d.module.d.leadingDots>0&&wc(o,t,n.targetPath))}).length&&n.push(nZ.CodeAction.create(iI.CodeAction.ToggleImportPath.convertAllFormat(),(0,TE.g)(iI.CodeAction.ToggleImportPath.convertAllFormat(),s0.convertImportFormat,t.toString(),a),i))}),await CL(i,nL.Source.ConvertImportStar,e=>{(0,oG.AG)(r.parserOutput.parseTree).orderedImports.filter(e=>e.node.nodeType===aO.ye.ImportFrom).map(e=>e.node).some(e=>e.d.isWildcardImport)&&n.push(nZ.CodeAction.create(iI.CodeAction.ConvertImportStar.convertAllToExplicitImports(),(0,TE.g)(iI.CodeAction.ConvertImportStar.convertAllToExplicitImports(),s0.convertImportStar,t.toString()),e))}),await CL(i,nL.Source.ConvertImportToModule,e=>{let i=CI(r,a);if(!i.imports.some(e=>Ck(r,e,a,i)))return;let s=iI.CodeAction.ConvertImportToModule.convertAllToModuleImport();n.push(nZ.CodeAction.create(s,(0,TE.g)(s,s0.convertImportToModule,t.toString()),e))}),await CL(i,nL.Source.RenameShadowedStdlibImports,i=>{if(!t.pathEndsWith(".py")||0===e.service.run(i=>{let n=i.getSourceFileInfo(t);return!n||n.isTypeshedFile||n.isThirdPartyImport?[]:b4(e.service.fs,i,t,r,a)},a).length)return;let s=iI.CodeAction.RenameShadowedStdlib.renameShadowedImports();n.push(nZ.CodeAction.create(s,(0,TE.g)(s,s0.renameShadowedStdlib,t.toString(),"imports"),i))}),await CL(i,nL.Source.AddTypeAnnotation,e=>{n.push(nZ.CodeAction.create(iI.CodeAction.AddTypeAnnotation.addAllTypeAnnotations(),(0,TE.g)(iI.CodeAction.AddTypeAnnotation.addAllTypeAnnotations(),s0.addTypeAnnotation,t.toString()),e))}),await CL(i,nL.Source.FixAll,i=>{e.fixAll&&0!==e.fixAll.length&&n.push(nZ.CodeAction.create(iI.CodeAction.FixAll.runFixAll(),(0,TE.g)(iI.CodeAction.FixAll.runFixAll(),s0.fixAll,t.toString()),i))})}function CW(e,t,i,r,n,a,s){(0,n8.Lj)(s),e.service.run(e=>{let s=e.evaluator,o=(0,aW.AP)(i,r.tokenizerOutput.lines);if(!o||!s)return;let l=(0,aL.gr)(r.parserOutput.parseTree,o.start);if((null==l?void 0:l.nodeType)!==aO.ye.Name||void 0===bT.canImplementAbstractClass(s,l))return;let d=iI.CodeAction.ImplementAbstractClass.implementAllAbstractClasses(),u=(0,TE.g)(d,s0.implementAllAbstractClasses,t.toString(),i);a.push(nZ.CodeAction.create(d,u,n))},s)}class CB{static async getCodeActionsForPositionAsync(e,t,i,r,n,a,s,o,l){if((0,n8.Lj)(l),e.disableLanguageServices)return[];let d=s.only,u=[],p=t.getParseResults(n);if(!p)return[];d&&CO.matchesKind(d,w1)&&await Cj(e,t,r,n,d,p,u,l);let c=[];(!d||d.some(e=>e.startsWith(nZ.CodeActionKind.QuickFix)))&&(c=await e.service.getDiagnosticsForRange(n,a,l),function(e,t,i,r){(0,n8.Lj)(r);let n=be(t);if(0===n.length)return;let a=n[0].range;i.push(nZ.CodeAction.create(iI.CodeAction.RemoveUnusedImport.removeUnusedImport(),(0,TE.g)(iI.CodeAction.RemoveUnusedImport.removeUnusedImport(),s0.removeUnusedImport,e.toString(),a),nZ.CodeActionKind.QuickFix),nZ.CodeAction.create(iI.CodeAction.RemoveUnusedImport.removeAllUnusedImports(),(0,TE.g)(iI.CodeAction.RemoveUnusedImport.removeAllUnusedImports(),s0.removeUnusedImport,e.toString()),nZ.CodeActionKind.QuickFix))}(n,c,u,l),await Cq(e,t,n,c,p,o,u,l),await CG(e,t,n,c,p,o,u,l),function(e,t,i,r,n,a,s){if((0,n8.Lj)(s),!n||e.kinds.some(e=>e===sL.mE.Limited))return;let o=e.service.serviceProvider.tryGet(nM.diagnosticCodeMapper),l=i.filter(e=>mi(e,me.y.reportUnboundVariable,o)||mi(e,me.y.reportUndefinedVariable,o));if(0===l.length)return;let d=l[0].range,u=(0,aW.AP)(d,r.tokenizerOutput.lines);if(!u)return;let p=r.text.substr(u.start,u.length);if(!p||0===p.trim().length)return;let c=iI.CodeAction.AutoImport.searchImport();a.push(nZ.CodeAction.create(c,(0,TE.g)(c,s1.searchImports,t,d,p),nZ.CodeActionKind.QuickFix))}(e,n,c,p,o,u,l),await Cx(e,n,c,o,u,l),CN(n,c,o,u,l),TL.addCodeActions(n,c,u,l),Ch.addAddTypeIgnoreCodeActions(e,n,c,u,l),await CZ(e,t,n,c,p,o,u,l),await C5(e,t,i,r,n,c,p,u,l)),CO.matchesKind(d,w5)&&(wg(e,n,a,p,o,u,l),CP(n,a,p,o,u,l),await CJ(e,t,i,n,a,p,o,u,l),await CQ(e,t,i,d,n,a,p,o,u,l),await C$(t,i,r,n,a,p,u,l),await C0(e,t,i,n,a,p,nZ.CodeActionKind.Refactor,u,l),await C4(e,t,r,n,a,p,u,l),await C6(e,t,i,n,a,p,o,u,l),await CM(e,t,n,a,p,u,l));let h=e.service.serviceProvider.tryGet(nM.codeActionService);if(h)for(let t of h.providers){let i=await t.provideCodeActions(e,n,a,c,p,d,o,l);u.push(...i)}for(let e of u)w3(e,{uri:n.toString()});return u.filter(e=>!d||!e.kind||d.some(t=>e.kind.startsWith(t)))}}async function C$(e,t,i,r,n,a,s,o){(0,n8.Lj)(o);let l=(0,aW.AP)(n,a.tokenizerOutput.lines);if(!l)return;let d=(0,aL.gr)(a.parserOutput.parseTree,l.start),u=d?(0,aL.Ay)(d,aO.ye.Function):void 0;if(!u)return;let p=(0,aL.Ay)(u,aO.ye.Class);if(!p)return;let c=await t.getTypeOfClass(p),h=null==c?void 0:c.classType;if(!h||!(0,aM.D4)(h))return;let m=bA(h,u.d.name.d.value);if(0===m.length)return;let y=e.serviceProvider.tryGet(nM.asyncDeclarationFinder);if(!y)return;let g=await t.getTypingType(u,"overload"),f=g?await bI(t,y,i,g,o):[],v=await bF(t,y,i,u.d.decorators,o),_=!1;for(let e of m)if(!bD(await bP(t,y,i,e.d.expr,o),f,v)){_=!0;break}if(!_)return;let T=iI.CodeAction.InheritDecorators.inheritAllDecorators(),w={title:T,kind:nZ.CodeActionKind.Refactor,command:(0,TE.g)(T,s0.inheritAllDecorators,r.toString(),l.start.toString())};s.push(w)}async function Cj(e,t,i,r,n,a,s,o){if(n.some(e=>nL.Source.UnusedImports.startsWith(e))&&await CK(t,r,i,o)&&s.push(nZ.CodeAction.create(iI.CodeAction.RemoveUnusedImport.removeAllUnusedImports(),(0,TE.g)(iI.CodeAction.RemoveUnusedImport.removeAllUnusedImports(),s0.removeUnusedImport,r.toString()),nL.Source.UnusedImports)),n.some(e=>nL.Source.ConvertImportFormat.startsWith(e))&&e.rootUri&&e.importFormat&&!oy.isNotebookCell(r)&&await CV(t,i,e.rootUri,e.importFormat,r,a,o)&&s.push(nZ.CodeAction.create(iI.CodeAction.ToggleImportPath.convertAllFormat(),(0,TE.g)(iI.CodeAction.ToggleImportPath.convertAllFormat(),s0.convertImportFormat,r.toString(),e.importFormat),nL.Source.ConvertImportFormat)),n.some(e=>nL.Source.ConvertImportStar.startsWith(e))&&(0,oG.AG)(a.parserOutput.parseTree).orderedImports.filter(e=>e.node.nodeType===aO.ye.ImportFrom).map(e=>e.node).some(e=>e.d.isWildcardImport)&&s.push(nZ.CodeAction.create(iI.CodeAction.ConvertImportStar.convertAllToExplicitImports(),(0,TE.g)(iI.CodeAction.ConvertImportStar.convertAllToExplicitImports(),s0.convertImportStar,r.toString()),nL.Source.ConvertImportStar)),n.some(e=>nL.Source.ConvertImportToModule.startsWith(e))){let e=CI(a,o);if(e.imports.some(t=>Ck(a,t,o,e))){let e=iI.CodeAction.ConvertImportToModule.convertAllToModuleImport();s.push(nZ.CodeAction.create(e,(0,TE.g)(e,s0.convertImportToModule,r.toString()),nL.Source.ConvertImportToModule))}}if(n.some(e=>nL.Source.RenameShadowedStdlibImports.startsWith(e))&&r.pathEndsWith(".py")){let i=t.getSourceFileInfo(r);if(i&&!i.isTypeshedFile&&!i.isThirdPartyImport){let i=b5(a),n=e.service.run(e=>{let t=e.configOptions.findExecEnvironment(r),n=new Set;for(let r of i)e.importResolver.isStdlibModule((0,au.K6)(r),t)&&n.add(r);return n},o);if((await b3(t.fileSystem,t,r,a,e=>n.has(e.nameParts.join(".")),o)).length>0){let e=iI.CodeAction.RenameShadowedStdlib.renameShadowedImports();s.push(nZ.CodeAction.create(e,(0,TE.g)(e,s0.renameShadowedStdlib,r.toString(),"imports"),nL.Source.RenameShadowedStdlibImports))}}}n.some(e=>nL.Source.AddTypeAnnotation.startsWith(e))&&s.push(nZ.CodeAction.create(iI.CodeAction.AddTypeAnnotation.addAllTypeAnnotations(),(0,TE.g)(iI.CodeAction.AddTypeAnnotation.addAllTypeAnnotations(),s0.addTypeAnnotation,r.toString()),nL.Source.AddTypeAnnotation)),n.some(e=>nL.Source.FixAll.startsWith(e))&&e.fixAll&&e.fixAll.length>0&&s.push(nZ.CodeAction.create(iI.CodeAction.FixAll.runFixAll(),(0,TE.g)(iI.CodeAction.FixAll.runFixAll(),s0.fixAll,r.toString()),nL.Source.FixAll))}async function CK(e,t,i,r){(0,n8.Lj)(r);let n=await e.getDocumentDiagnostics(t,i,void 0,r);return"full"===n.kind&&n.items.some(e=>{var t,i;if("reportUnusedImport"===e.code)return!0;if((null==(t=e.tags)?void 0:t.includes(1))&&"object"==typeof e.data&&null!==e.data){let t=e.data;if("reportUnusedImport"===t.rule||(null==(i=t.actions)?void 0:i.some(e=>"pyright.unusedImport"===e.action)))return!0}return!1})}async function CV(e,t,i,r,n,a,s){var o;(0,n8.Lj)(s);let l=(0,oG.AG)(a.parserOutput.parseTree).orderedImports.filter(e=>e.node.nodeType===aO.ye.ImportFrom).map(e=>e.node);if(0===l.length)return!1;let d=null!=(o=await e.getPythonSearchPaths(t,s))?o:[];for(let o of l){(0,n8.Lj)(s);let l=(0,ax.en)(o.d.module),u=(0,oG.yX)(l);if(u&&C8(e,i,(0,ax.R8)(a.parserOutput.parseTree).fileUri,u)){if(r===o9.Relative){if(0===o.d.module.d.leadingDots&&(0,oG.eM)(e.fileSystem,n,u,e.configOptions))return!0}else if(o.d.module.d.leadingDots>0&&await C2(e,t,n,u,d,s))return!0}}return!1}async function Cq(e,t,i,r,n,a,s,o){var l,d,u,p;if(!a)return;let c=e.service.serviceProvider.tryGet(nM.diagnosticCodeMapper),h=r.filter(e=>mi(e,me.y.reportUnboundVariable,c)||mi(e,me.y.reportUndefinedVariable,c));if(0===h.length)return;let m=h[0].range,y=(0,aW.AP)(m,n.tokenizerOutput.lines);if(!y)return;let g=(0,aL.gr)(n.parserOutput.parseTree,y.start);if(!g)return;let f=await fN(t,i,m.start,{lazyEdit:!0,importFormat:e.importFormat,patternMatcher:(e,t)=>e===t,indices:o6.getIndices(e),includeAliasesFromUserFiles:null==(d=e.indexOptions)?void 0:d.includeAliasesFromUserFiles,allowDuplicatedAliases:!0},o);if(!f)return;let v=await fM(f,g,n.text.substr(y.start,y.length),1,a8,o);if(0===v.length)return;let _=n.text.substr(y.start,y.length);if(!_)return;let T=null!=(l=null==(u=a8.get(_))?void 0:u.importName)?l:_;null==(p=e.service.serviceProvider.tryGet(nM.mruQueues))||p.getGlobalMRUQueue(TV);let w=[new Tq(e,3),new TX(t,e,20,100,3),new TZ(t,e)],b=0;for(let e of w)if((b+=e.setSortKeys(T,v,o))>=3)break;v.sort(TQ);let S=0,k=i.toString();for(let e of v)if(s.push(function(e,t,i,r,n){let a=iI.CodeAction.AutoImport.addAutoImport().format({importText:(0,cd.ib)(i,r,n)});return nZ.CodeAction.create(a,(0,TE.g)(a,s0.addImport,e,t,i,r,n),nZ.CodeActionKind.QuickFix)}(k,m,e.name,e.source,e.alias)),++S>=3)break}async function CG(e,t,i,r,n,a,s,o){if(!a)return;let l=e.service.serviceProvider.tryGet(nM.diagnosticCodeMapper),d=r.filter(e=>mi(e,me.y.reportUnboundVariable,l)||mi(e,me.y.reportUndefinedVariable,l));if(0===d.length)return;let u=d[0].range,p=(0,aW.AP)(u,n.tokenizerOutput.lines);if(!p)return;let c=(0,aL.gr)(n.parserOutput.parseTree,p.start);if(!c)return;let h=n.text.substr(p.start,p.length);if(h.length<3)return;let m=function(e,t,i){let r=new Map;if(!e)return r;(0,n8.Lj)(i);let n=e;for(;n;){(0,n8.Lj)(i);let e=(0,sY.Yd)(n);if(!e){n=n.parent;continue}for(;e;){for(let[n]of((0,n8.Lj)(i),e.symbolTable)){let e=CH(t,n);if(e<=3&&e>0){let t=r.get(n);(!t||t.editDistance>e)&&r.set(n,{name:n,editDistance:e})}}e=e.parent}break}return r}(c,h,o),y=[];if(!s.some(e=>{var t;return(null==(t=e.command)?void 0:t.command)===s0.addImport})){var g;let r=await fN(t,i,u.start,{lazyEdit:!0,importFormat:e.importFormat,patternMatcher:(e,t)=>{let i;return(i=CH(h,t))<=3&&i>0},indices:o6.getIndices(e),includeAliasesFromUserFiles:null==(g=e.indexOptions)?void 0:g.includeAliasesFromUserFiles,allowDuplicatedAliases:!0},o);r&&(y=await fM(r,c,h,0,a8,o))}let f=function(e,t,i){for(let r of t){let t=CH(e,r.name);if(t<=3&&t>0){let e=i.get(r.name);e?(e.importResults||(e.importResults=[]),e.importResults.push(r)):i.set(r.name,{name:r.name,editDistance:t,importResults:[r]})}}if(0!==i.size)return[...i.entries()].sort((e,t)=>e[1].editDistance!==t[1].editDistance?e[1].editDistance-t[1].editDistance:e[0].localeCompare(t[0]))[0][1]}(h,y,m);f&&s.push(function(e,t,i){let r=iI.CodeAction.ChangeSpelling.changeSpellingTo().format({word:i.name});if(i.importResults&&1===i.importResults.length){let n=i.importResults[0];return nZ.CodeAction.create(r,(0,TE.g)(r,s0.addImport,e.toString(),t,n.name,n.source,n.alias),nZ.CodeActionKind.QuickFix)}return nZ.CodeAction.create(r,(0,TE.g)(r,s0.changeSpelling,e.toString(),t,i.name),nZ.CodeActionKind.QuickFix)}(i,u,f))}function CH(e,t){let i=function(e,t){if(0===e.length)return t.length;if(0===t.length)return e.length;let i=[];for(let e=0;e<=t.length;e++)i[e]=[e];for(let t=0;t<=e.length;t++)i[0][t]=t;for(let r=1;r<=t.length;r++)for(let n=1;n<=e.length;n++)t.charAt(r-1)===e.charAt(n-1)?i[r][n]=i[r-1][n-1]:i[r][n]=Math.min(i[r-1][n-1]+1,i[r][n-1]+1,i[r-1][n]+1);return i[t.length][e.length]}(e,t);return i>Math.min(3,Math.floor(e.length/3))?4:i}async function CJ(e,t,i,r,n,a,s,o,l){if((0,n8.Lj)(l),!s||oy.isNotebookCell(r)||e.kinds.some(e=>e===sL.mE.Limited))return;let d=(0,aW.AP)(n,a.tokenizerOutput.lines);if(!d)return;let u=(0,aL.gr)(a.parserOutput.parseTree,d.start);if((null==u?void 0:u.nodeType)!==aO.ye.Name)return;let p=await CY(t,i,u);if(!p.succeeded){var c;p.failedReason&&p.failedReason!==iI.Refactoring.moveFileImportableOnly()&&p.failedReason!==iI.Refactoring.moveFileUnsupportedSymbol()&&o.push((c=iI.CodeAction.MoveSymbol.moveSymbolFailed(),{title:c,kind:nL.RefactorMove.ToFile,disabled:{reason:p.failedReason}}));return}let h=e.service.cancellationProvider.createCancellationTokenSource(),m=(0,n8.Er)(h.token);function y(e,t,i,a){return nZ.CodeAction.create(e,(0,TE.g)(iI.CodeAction.MoveSymbol.commandTitle(),s1.moveSymbolWithFileSelection,r.toString(),n,i,a),t)}o.push(y(iI.CodeAction.MoveSymbol.moveSymbolsTo(),nL.RefactorMove.ToFile,"pick",m)),o.push(y(iI.CodeAction.MoveSymbol.moveSymbolsToNewFile(),nL.RefactorMove.ToNewFile,"new",m))}async function CY(e,t,i){var r,n,a;let s=(0,ax.R8)(i),o=null==s?void 0:s.fileUri;if(!o||!(0,ae.WK)(e.configOptions,o,!0))return{succeeded:!1,failedReason:iI.Refactoring.moveFileNotUserFile().format({name:null!=(r=null==o?void 0:o.fileName)?r:""})};if((0,aN.$4)(i.d.value))return{succeeded:!1,failedReason:iI.Refactoring.moveFilePrivateSymbol().format({name:i.d.value})};let l=await t.lookUpSymbolRecursive(i,i.d.value,!1);if(void 0===l||l.scope.type!==dE.hB.Module)return{succeeded:!1,failedReason:iI.Refactoring.moveFileImportableOnly()};let d=l.symbol.getDeclarations();if(0===d.length)return{succeeded:!1,failedReason:iI.Refactoring.moveFileUnsupportedSymbol()};let u=new Set;for(let e of d){if(!aB.vY.containsRange(e.node,i)){u.add(iI.Refactoring.moveFileMultipleDeclarations());continue}if(!((0,aF.vu)(e)||(0,aF.hw)(e))){if((0,aF.bC)(e)){if(await t.isExplicitTypeAliasDeclaration(e)){u.add(iI.Refactoring.moveFileSimpleAssignmentsOnly());continue}if(e.inferredTypeSource&&(0,aO.TE)(e.inferredTypeSource)){let i=await t.getType(e.inferredTypeSource);if((null==i?void 0:i.category)===aM.vb.TypeVar){u.add(iI.Refactoring.moveFileSimpleAssignmentsOnly());continue}}let i=(null==(n=e.node.parent)?void 0:n.nodeType)===aO.ye.TypeAnnotation?e.node.parent.parent:e.node.parent;if((null==i?void 0:i.nodeType)!==aO.ye.Assignment||(null==i||null==(a=i.parent)?void 0:a.nodeType)!==aO.ye.StatementList){u.add(iI.Refactoring.moveFileSimpleAssignmentsOnly());continue}e.node.start!==i.start&&u.add(iI.Refactoring.moveFileSimpleAssignmentsOnly());continue}u.add(iI.Refactoring.moveFileUnsupportedSymbol())}}return u.size>0?{succeeded:!1,failedReason:[...u].join("\n")}:{succeeded:!0,failedReason:""}}async function CQ(e,t,i,r,n,a,s,o,l,d){if((0,n8.Lj)(d),!e.enableExtractCodeAction)return;let u=(0,aW.AP)(a,s.tokenizerOutput.lines);if(u){let e,t;if(CX(r,nL.RefactorExtract.Method)&&(e=(0,aL.gr)(s.parserOutput.parseTree,u.start),t=(0,aL.gr)(s.parserOutput.parseTree,u.start+u.length),e&&t&&!(u.length<=0))){let e=iI.CodeAction.Extract.method();l.push(nZ.CodeAction.create(e,(0,TE.g)(e,o?s1.extractMethodWithRename:s0.extractMethod,n.toString(),a),nL.RefactorExtract.Method))}if(CX(r,nL.RefactorExtract.Variable)&&(0,aL.gr)(s.parserOutput.parseTree,u.start)&&!(u.length<=0)){let e=iI.CodeAction.Extract.variable();l.push(nZ.CodeAction.create(e,(0,TE.g)(e,o?s1.extractVariableWithRename:s0.extractVariable,n.toString(),a),nL.RefactorExtract.Variable))}}}function CX(e,t){return!e||0===e.length||e.some(e=>t.startsWith(e))}async function CZ(e,t,i,r,n,a,s,o){if((0,n8.Lj)(o),!e.rootUri||!a)return;let l=e.service.serviceProvider.tryGet(nM.diagnosticCodeMapper),d=r.filter(e=>mi(e,me.y.reportMissingImports,l));if(0===d.length)return;let u=d[0].range,p=(0,aW.AP)(u,n.tokenizerOutput.lines);if(!p)return;let c=n.text.slice(p.start,p.start+p.length);if("."===c[0]||c.includes("__"))return;let h=c.split(".").join("/"),m=[];for(let i of t.getSourceFileInfoList()){if(!i.isTracked||i.isThirdPartyImport||i.isTypeshedFile)continue;let t=i.uri;[`${h}.py`,`${h}.pyi`,`${h}/__init__.py`,`${h}/__init__.pyi`].filter(e=>t.pathEndsWith(e)).forEach(i=>{let r=t.root.resolvePaths(t.getPath().slice(0,-i.length)),n=e.rootUri.getRelativePath(r);n&&m.push(n)})}m.sort((e,t)=>e.length-t.length);let y=(0,sF.if)(t.fileSystem,e.rootUri),g=(0,sF.kt)(t.fileSystem,e.rootUri),f=null!=y?y:g;for(let e of m){let t=iI.CodeAction.ExtraPath.addExtraPath().format({name:e});if(f){s.push(nZ.CodeAction.create(t,(0,TE.g)(t,s0.addToExtraPathsInConfig,f.toString(),e,i.toString()),nZ.CodeActionKind.QuickFix));continue}s.push(nZ.CodeAction.create(t,(0,TE.g)(t,s1.addToExtraPaths,i.toString(),e),nZ.CodeActionKind.QuickFix))}}async function C0(e,t,i,r,n,a,s,o,l){(0,n8.Lj)(l);let d=(0,aW.AP)(n,a.tokenizerOutput.lines);if(!d)return;let u=(0,aL.gr)(a.parserOutput.parseTree,d.start);if((null==u?void 0:u.nodeType)!==aO.ye.Name||!await C1(i,u))return;let p=iI.CodeAction.ImplementAbstractClass.implementAllAbstractClasses(),c=(0,TE.g)(p,s0.implementAllAbstractClasses,r.toString(),n);o.push(nZ.CodeAction.create(p,c,s))}async function C1(e,t){let i=await e.lookUpSymbolRecursive(t,t.d.value,!1);if(!i)return!1;let r=i.symbol.getDeclarations();if(0===r.length)return!1;for(let i of r)if((0,aF.hw)(i)){let i=await e.getAbstractSymbols(await e.getType(t));return i&&i.length>0}return!1}async function C5(e,t,i,r,n,a,s,o,l){(0,n8.Lj)(l);let d=e.service.serviceProvider.tryGet(nM.diagnosticCodeMapper),u=a.filter(e=>mi(e,me.y.reportAbstractUsage,d));if(0===u.length)return;let p=t.serviceProvider.tryGet(nM.asyncDeclarationFinder);if(p)for(let n of u){let a=(0,aW.AP)(n.range,s.tokenizerOutput.lines);if(!a)continue;let d=(0,aL.gr)(s.parserOutput.parseTree,a.start);if(!d)continue;let u=(0,aL.Ay)(d,aO.ye.Call);if(!u||!aB.vY.containsRange(a,u))continue;let c=await i.getType(u);if(c&&(0,aM.D4)(c)){for(let n of(await p.getDeclarations(c,r,l)))if((0,aF.hw)(n)&&n.node.d.name&&n.uri){let r=t.getParseResults(n.uri);if(!r)continue;let a=(0,aW.oG)(n.node.d.name,r.tokenizerOutput.lines);await C0(e,t,i,n.uri,a,r,nZ.CodeActionKind.QuickFix,o,l)}}}}async function C4(e,t,i,r,n,a,s,o){if((0,n8.Lj)(o),!e.rootUri||oy.isNotebookCell(r))return;let l=await C3(t,e.rootUri,a,n);if(!l)return;let d=await t.getPythonSearchPaths(i,o);if(d){if(0===l.importFrom.d.module.d.leadingDots){if(!(0,oG.eM)(t.fileSystem,r,l.targetPath,t.configOptions))return;s.push(nZ.CodeAction.create(iI.CodeAction.ToggleImportPath.convertToRelativePath(),(0,TE.g)(iI.CodeAction.ToggleImportPath.convertToRelativePath(),s0.convertImportFormat,r.toString(),"relative",n),nZ.CodeActionKind.Refactor),nZ.CodeAction.create(iI.CodeAction.ToggleImportPath.convertAllToRelativePath(),(0,TE.g)(iI.CodeAction.ToggleImportPath.convertAllToRelativePath(),s0.convertImportFormat,r.toString(),"relative"),nZ.CodeActionKind.Refactor));return}await C2(t,i,r,l.targetPath,d,o)&&s.push(nZ.CodeAction.create(iI.CodeAction.ToggleImportPath.convertToAbsolutePath(),(0,TE.g)(iI.CodeAction.ToggleImportPath.convertToAbsolutePath(),s0.convertImportFormat,r.toString(),"absolute",n),nZ.CodeActionKind.Refactor),nZ.CodeAction.create(iI.CodeAction.ToggleImportPath.convertAllToAbsolutePath(),(0,TE.g)(iI.CodeAction.ToggleImportPath.convertAllToAbsolutePath(),s0.convertImportFormat,r.toString(),"absolute"),nZ.CodeActionKind.Refactor))}}async function C3(e,t,i,r){if(!t)return;let n=aV(r)?(0,aW.AP)(r,i.tokenizerOutput.lines):r;if(!n)return;let a=(0,aL.gr)(i.parserOutput.parseTree,n.start),s=(0,aL.Ay)(a,aO.ye.ImportFrom);if(!s||!aB.vY.overlapsRange(s.d.module,n))return;let o=(0,ax.en)(s.d.module),l=(0,ax.R8)(i.parserOutput.parseTree),d=(0,oG.yX)(o);if(d&&C8(e,t,l.fileUri,d))return{targetPath:d,importFrom:s}}function C8(e,t,i,r){let n=e.getSourceFileInfo(r);if(!r.startsWith(t)||!(null==n?void 0:n.isTracked))return!1;let a=e.configOptions.findExecEnvironment(i).extraPaths.find(e=>r.startsWith(e));return!a||i.startsWith(a)}async function C2(e,t,i,r,n,a){let s=sc(e.configOptions,r,n);if(!s.moduleName)return;let o=s.moduleName.split("."),l=await e.resolveImport(i,{leadingDots:0,nameParts:o},t,a);if(r.equals(l))return s.moduleName}async function C6(e,t,i,r,n,a,s,o,l){if(!s||!r.pathEndsWith("py"))return;(0,n8.Lj)(l);let d=(0,aW.AP)(n,a.tokenizerOutput.lines);if(!d)return;let u=(0,aL.gr)(a.parserOutput.parseTree,d.start);if(!u||u.nodeType!==aO.ye.Name)return;let p=await vo(u,i,a);if(!p)return;let{type:c,targetNode:h}=p;if((0,aM.ah)(c)||(0,aX.ZP)(c)||!vp(h,c))return;let m={title:iI.CodeAction.AddTypeAnnotation.addTypeAnnotation(),kind:nZ.CodeActionKind.Refactor,command:(0,TE.g)(iI.CodeAction.AddTypeAnnotation.addTypeAnnotation(),s0.addTypeAnnotation,r.toString(),d.start.toString())};o.push(m)}function C7(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class C9{async onPrepare(){var e;(0,n8.Lj)(this._token);let t=this._program.getParseResults(this._fileUri);if(!t)return null;let i=(0,aW.bt)(this._position,t.tokenizerOutput.lines);if(void 0===i)return null;let r=(0,aL.gr)(t.parserOutput.parseTree,i);if(void 0===r||r.nodeType!==aO.ye.Name)return null;let n=await this._evaluator.getDeclInfoForNameNode(r,!0),a=null!=(e=null==n?void 0:n.decls)?e:[];if(0===a.length)return null;let s=await this._createTypeHierarchyItem(a,void 0,r);return s&&0!==s.name.length?[s]:null}async onSupertypes(e){(0,n8.Lj)(this._token);let t=e.data;if(!t||!this._isSupportedKind(t.kind))return null;switch(t.kind){case aF.h3.SpecialBuiltInClass:case aF.h3.Class:return await this._handleClassSupertypes(e.data);case aF.h3.Function:return await this._handleMethodSupertypes(e.data)}return null}async onSubtypes(e){(0,n8.Lj)(this._token);let t=e.data;if(!t||!this._isSupportedKind(t.kind))return null;switch(t.kind){case aF.h3.SpecialBuiltInClass:case aF.h3.Class:return await this._handleClassSubtypes(e.data);case aF.h3.Function:return await this._handleMethodSubtypes(e.data)}return null}async _handleMethodSupertypes(e){let t=this._program.getParseResults(this._fileUri);if(!t)return null;let i=(0,aL.Ay)((0,aL.gr)(t.parserOutput.parseTree,e.offset),aO.ye.Function);if(!i||0===i.d.name.d.value.length)return null;let r=(0,aL.Ji)(i,!0);if(!r)return null;let n=await this._evaluator.getTypeOfClass(r);if(!n)return null;let a=[];for(let e of n.classType.shared.baseClasses){if((0,n8.Lj)(this._token),!(0,aM.D4)(e))continue;let t=(0,aX.Zn)(e,i.d.name.d.value,aX.Mh.DeclaredTypesOnly);if(!t)continue;let n=t.symbol.getDeclarations().filter(e=>this._isSupportedDecl(e)),s=await this._createTypeHierarchyItem(n,void 0,r.d.name);s&&this._addIfUnique(a,s)}return a}async _handleMethodSubtypes(e){let t=this._program.getParseResults(this._fileUri);if(!t)return null;let i=(0,aL.Ay)((0,aL.gr)(t.parserOutput.parseTree,e.offset),aO.ye.Function);if(!i||0===i.d.name.d.value.length)return null;let r=await this._evaluator.getTypeOfFunction(i);if(!r)return null;let n=(0,aL.Ji)(i,!0);if(!n)return null;let a=await this._evaluator.getTypeOfClass(n);if(!a)return null;let s=aM.p5.isProtocolClass(a.classType),o=[];for(let e of this._program.getSourceFileInfoList().filter(e=>(0,aR.xX)(e))){(0,n8.Lj)(this._token);let t=e.contents;if(t&&0>t.indexOf(i.d.name.d.value))continue;let d=this._program.getParseResults(e.uri);if(d)for(let e of aq(d,aO.ye.Function,this._token)){if(e.d.name.d.value!==i.d.name.d.value)continue;let t=(0,aL.Ji)(e,!0);if(!t)continue;let d=await this._evaluator.getTypeOfClass(t);if(!d)continue;if(s){if(t===n)continue;if(await pp(this._evaluator,a.classType,aM.p5.cloneAsInstance(d.classType),void 0,lO.fW.Default,0)){var l;let t=null==(l=await this._evaluator.getDeclInfoForNameNode(e.d.name))?void 0:l.decls;if(!t||0===t.length)return null;let i=await this._createTypeHierarchyItem(t,void 0);i&&this._addIfUnique(o,i)}}let u=[];for(let t of function*(e,t,i=aX.Mh.Default,r){let n=e.shared.effectiveMetaclass;if(n&&(0,aM.D4)(n)&&!aM.p5.isBuiltIn(n,"type"))for(let e of(0,aX.h4)(n,t,aX.Mh.SkipClassMembers))e&&!(0,aM.ah)(e.classType)&&(e.isClassMember=!0,yield e);for(let r of(0,aX.h4)(e,t,i,void 0))yield r}(d.classType,i.d.name.d.value,aX.Mh.DeclaredTypesOnly|aX.Mh.SkipOriginalClass)){if(!t)continue;this._addPreviousMemberIfNeeded(t,u);let i=await this._createMethodSubItem(t.symbol,r.functionType,e.d.name);if(i){if(this._isAlreadyOverriden(t,u))break;this._addIfUnique(o,i);break}}}}return o}_addPreviousMemberIfNeeded(e,t){(0,aM.D4)(e.classType)&&t.push(e.classType)}_isAlreadyOverriden(e,t){if(!(0,aM.D4)(e.classType))return!0;let i=new Set;i.add(e.classType.shared);let r=e.classType;for(let e of t)if(!i.has(e.shared)&&e.shared.mro.some(e=>!(0,aM.D4)(e)||(i.add(e.shared),e.shared===r.shared)))return!0;return!1}async _createMethodSubItem(e,t,i){for(let n of e.getDeclarations()){var r;if(!(0,aF.vu)(n))continue;let a=await this._evaluator.getInferredTypeOfDeclaration(e,n);if(!a)continue;let s=(0,aM.Gl)(a)&&aM.OF.getOverloads(a).filter(e=>(0,aM.Tn)(e)).some(e=>this._isSameFunctionType(e,t)),o=!1;if((0,aM.Gl)(a)){let e=aM.OF.getImplementation(a);o=!!e&&(0,aM.Tn)(e)&&this._isSameFunctionType(e,t)}if(!((0,aM.Tn)(a)&&this._isSameFunctionType(a,t)||s||o))continue;let l=null==(r=await this._evaluator.getDeclInfoForNameNode(i))?void 0:r.decls;if(!l||0===l.length)break;return await this._createTypeHierarchyItem(l,void 0)}}_isSameFunctionType(e,t){if(e===t)return!0;let i=e.shared.declaration,r=t.shared.declaration;return!!i&&!!r&&i.uri.equals(r.uri)&&i.range.start.line===r.range.start.line&&i.range.start.character===r.range.start.character}async _handleClassSupertypes(e){let t=this._program.getParseResults(this._fileUri);if(!t)return null;let i=await this._getClassNameAndType(t.parserOutput,e);if(!i)return null;let r=this._program.serviceProvider.tryGet(nM.asyncDeclarationFinder);if(!r)return null;let n=[];for(let e of i.type.shared.baseClasses){if((0,n8.Lj)(this._token),!(0,aM.D4)(e))continue;let t=await r.getDeclarations(e,this._snapshot,this._token);if(0===t.length)continue;let a=await this._createTypeHierarchyItem(t,e.priv.aliasName,i.name);a&&this._addIfUnique(n,a)}return n}async _handleClassSubtypes(e){let t=this._program.getParseResults(this._fileUri);if(!t)return null;let i=await this._getClassNameAndType(t.parserOutput,e);if(!i)return null;let r=aM.p5.isProtocolClass(i.type),n=[];for(let a of this._program.getSourceFileInfoList().filter(e=>(0,aR.xX)(e))){(0,n8.Lj)(this._token);let s=this._program.getParseResults(a.uri);if(s)for(let a of aq(s,aO.ye.Class,this._token)){let s=await this._evaluator.getTypeOfClass(a);if(!s)continue;if(r){if(a===(0,aL.Ay)((0,aL.gr)(t.parserOutput.parseTree,e.offset),aO.ye.Class))continue;let r=await this._createProtocolClassSubItem(i.type,aM.p5.cloneAsInstance(s.classType),s.classType,a.d.name);r&&this._addIfUnique(n,r)}let o=await this._createRegularClassSubItem(s.classType.shared.baseClasses,i.type,s.classType,a.d.name);o&&this._addIfUnique(n,o)}}return n}async _getClassNameAndType(e,t){let i=(0,aL.Ay)((0,aL.gr)(e.parseTree,t.offset),aO.ye.Class);if(i&&i.d.name.d.value.length>0){let e=await this._evaluator.getTypeOfClass(i);if(e)return{name:i.d.name,type:this._getOriginalForm(e.classType)}}let r=(0,aL.Ay)((0,aL.gr)(e.parseTree,t.offset),aO.ye.TypeAnnotation);if(!r||r.d.valueExpr.nodeType!==aO.ye.Name||0===r.d.valueExpr.d.value.length)return;let n=await this._evaluator.getType(r.d.valueExpr);if(n&&(0,aM.D4)(n))return{name:r.d.valueExpr,type:this._getOriginalForm(n)}}_getOriginalForm(e){var t;return(e.priv.typeArgs||(null==(t=e.props)?void 0:t.typeAliasInfo))&&0!==e.shared.mro.length&&(0,aM.D4)(e.shared.mro[0])?this._getOriginalForm(e.shared.mro[0]):e}async _createProtocolClassSubItem(e,t,i,r){var n;if(!await pp(this._evaluator,e,t,void 0,lO.fW.Default,0))return;let a=null==(n=await this._evaluator.getDeclInfoForNameNode(r))?void 0:n.decls;if(a&&0!==a.length)return await this._createTypeHierarchyItem(a,i.priv.aliasName)}async _createRegularClassSubItem(e,t,i,r){for(let a of e){var n;if(!(0,aM.D4)(a)||!aM.p5.isSameGenericClass(this._getOriginalForm(a),t))continue;let e=null==(n=await this._evaluator.getDeclInfoForNameNode(r))?void 0:n.decls;if(!e||0===e.length)break;return await this._createTypeHierarchyItem(e,i.priv.aliasName)}}async _createTypeHierarchyItem(e,t,i){let r=await this._getBestDeclaration(e,t,i);if(!this._isSupportedDecl(r.declaration)||!(0,sO.Xv)(this._program.fileSystem,r.declaration.uri))return;let n=this._getSymbolKind(r.declaration);if(void 0===n)return;let a=this._program.getParseResults(r.declaration.uri),s=a?(0,aW.oG)(r.declaration.node,a.tokenizerOutput.lines):r.declaration.range;return{kind:n,name:r.symbolName,uri:(0,ah.JQ)(this._program.fileSystem,r.declaration.uri),range:s,selectionRange:r.declaration.range,detail:this._getDetail(r.declaration),data:this._getData(r.declaration)}}_getData(e){return{kind:e.type,offset:e.node.start}}_getDetail(e){let t=this._program.fileSystem.getOriginalUri(e.uri).fileName;switch(e.type){case aF.h3.Class:return`(${t})`;case aF.h3.Function:{let i=(0,aL.Ji)(e.node,!0),r=i?`class ${i.d.name.d.value}`:"";return`${r} (${t})`}}}async _getBestDeclaration(e,t,i){var r,n;let a={allowExternallyHiddenAccess:!0,skipFileNeededCheck:!0},s=e[0];for(let t of e){let e=await this._evaluator.resolveAliasDeclaration(t,!0,a);if(e&&((0,aA.M6)(e)||!(0,aA.M6)(s))&&await this._isSupportedDeclAsync(e)){if(s=e,!i)continue;let t=(0,ax.R8)(i),r=(0,ax.R8)(e.node);if(!t||!r||!t.fileUri.equals(r.fileUri)||!aB.vY.containsRange(e.node,i))continue;break}}return{symbolName:null!=(r=null!=(n=null!=t?t:(0,aA.eE)(s))?n:null==i?void 0:i.d.value)?r:"",declaration:s}}_addIfUnique(e,t){(0,ap.eA)(e,t,this._areSame)}_areSame(e,t){let i=e.data,r=t.data;return i.kind===r.kind&&i.offset===r.offset&&e.uri===t.uri}_getSymbolKind(e){switch(e.type){case aF.h3.SpecialBuiltInClass:case aF.h3.Class:return nZ.SymbolKind.Class;case aF.h3.Function:return nZ.SymbolKind.Method;default:return}}_isSupportedDecl(e){return!(!this._isSupportedKind(e.type)||(0,aF.vu)(e)&&!e.isMethod)}async _isSupportedDeclAsync(e){if(!this._isSupportedKind(e.type))return!1;if((0,aF.vu)(e)){var t;if(!e.isMethod)return!1;let i=null==(t=await this._evaluator.getTypeForDeclaration(e))?void 0:t.type;if(i&&(0,aX.jj)(i,!1))return!1}return!0}_isSupportedKind(e){return e===aF.h3.SpecialBuiltInClass||e===aF.h3.Class||e===aF.h3.Function}constructor(e,t,i,r,n){C7(this,"_program",void 0),C7(this,"_fileUri",void 0),C7(this,"_position",void 0),C7(this,"_snapshot",void 0),C7(this,"_token",void 0),C7(this,"_evaluator",void 0),this._program=e,this._fileUri=t,this._position=i,this._snapshot=r,this._token=n,this._evaluator=e.getEvaluator(r)}}function Pe(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Pt{async getImplementations(){(0,n8.Lj)(this._token);let e=new C9(this._program,this._fileUri,this._position,this._snapshot,this._token),t=await e.onPrepare();if(!t||0===t.length)return null;let i=[];await this._shouldIncludeSelfType()&&i.push({uri:t[0].uri,range:t[0].selectionRange});let r=await this._collectTransitiveSubTypes(e,t[0]);if(r.length>0){let e=r.map(e=>({uri:e.uri,range:e.selectionRange}));i.push(...e)}return i.length>0?i:null}async _shouldIncludeSelfType(){let e=this._program.getParseResults(this._fileUri);if(!e)return!1;let t=(0,aL.cd)(e.parserOutput.parseTree,this._position,e.tokenizerOutput.lines),i=null==t?void 0:t.parent;if(!i)return!1;if(i.nodeType===aO.ye.Function){let e=this._program.getEvaluator(this._snapshot),t=await e.getTypeOfFunction(i);if(!t||aM.RK.isAbstractMethod(t.functionType))return!1}return!0}async _collectTransitiveSubTypes(e,t,i=new Set){let r=(await e.onSubtypes(t)||[]).filter(e=>{let t=`${e.uri}:${JSON.stringify(e.selectionRange)}`;return!i.has(t)&&(i.add(t),!0)}),n=await Promise.all(r.map(t=>this._collectTransitiveSubTypes(e,t,i)));return[...r,...n.flat()]}constructor(e,t,i,r,n){Pe(this,"_program",void 0),Pe(this,"_snapshot",void 0),Pe(this,"_fileUri",void 0),Pe(this,"_position",void 0),Pe(this,"_token",void 0),this._program=e,this._snapshot=t,this._fileUri=i,this._position=r,this._token=n}}function Pi(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}async function Pr(e,t,i,r,n){if((0,n8.Lj)(n),void 0!==i.textEdits&&Array.isArray(i.label)&&i.label.some(e=>void 0!==e.location))return i;let a=(0,o5.uJ)(i.data),s=n4.z.parse(a.fileUri,e.serviceProvider),o=e.getParseResults(s);if(void 0===o)return i;let l=(0,aL.Ay)((0,aL.gr)(o.parserOutput.parseTree,a.offset),a.type);if(!l)return i;let d=e.serviceProvider.tryGet(nM.fixtureFinder),u=await e.getSnapshot(n),p=await Pn(e,t,s,o,d,r,l,u,n);return(null==p?void 0:p.textEdits)&&(i.textEdits=p.textEdits),(null==p?void 0:p.label)&&(i.label=p.label),i}async function Pn(e,t,i,r,n,a,s,o,l){switch(s.nodeType){case aO.ye.Name:return await Po(e,t,r,i,s,a,o,l);case aO.ye.Parameter:return await Pl(e,t,r,i,n,s,a,o,l);case aO.ye.Function:return await Pd(e,t,r,i,s,a,o,l);default:return}}async function Pa(e,t){var i,r,n;let a;if((a=e.parent)&&(a.nodeType===aO.ye.TypeAnnotation||a.nodeType===aO.ye.Assignment&&a.d.annotationComment))return;let s=await t.getDeclInfoForNameNode(e),o=null==s?void 0:s.decls;if(!o||0===o.length||o.some(e=>e.type===aF.h3.Variable&&(void 0!==e.typeAnnotationNode||void 0!==e.docString)))return;let l=o.find(t=>(0,aA.Je)(t)===e);if(!l||l.type!==aF.h3.Variable||(null==(i=l.inferredTypeSource)?void 0:i.nodeType)===aO.ye.Constant||(null==(r=l.inferredTypeSource)?void 0:r.nodeType)===aO.ye.Number||(null==(n=l.inferredTypeSource)?void 0:n.nodeType)===aO.ye.Ellipsis)return;let d=await t.getType(e);if(!d)return;let u=await Ph(l,d,t);return{type:d,straightForwardCase:u}}async function Ps(e,t,i){if(e.d.returnAnnotation||!e.d.suite||0===e.d.suite.d.statements.length||function(e){let t=e.d.suite;if(!t||1!==t.d.statements.length)return!1;let i=t.d.statements[0];return i.nodeType===aO.ye.StatementList&&1===i.d.statements.length&&i.d.statements[0].nodeType===aO.ye.Ellipsis}(e))return;let r=await t.getTypeOfFunction(e);if(!r)return;let n=await t.getInferredReturnType(r.functionType);return{functionType:r.functionType,returnType:n}}async function Po(e,t,i,r,n,a,s,o){(0,n8.Lj)(o);let l=await Pa(n,t);if(l&&!l.straightForwardCase)return await Pu(e,t,i,r,n,n,l.type,n.start+n.length,": ",32,a,s,o)}async function Pl(e,t,i,r,n,a,s,o,l){if((0,n8.Lj)(l),a.d.annotation||void 0===a.d.name||!n)return;let d=hs(n,a,l);if(d)return await Pu(e,t,i,r,a,a.d.name,d,a.start+a.length,": ",32,s,o,l,nZ.InlayHintKind.Type)}async function Pd(e,t,i,r,n,a,s,o){(0,n8.Lj)(o);let l=await Ps(n,t,i);if(!l)return;let d=await Pu(e,t,i,r,n,n.d.name,l.returnType,n.d.suite.start," -> ",64,a,s,o);return vp(n,l.returnType)||(d.textEdits=[Pp(d)]),Pc(d.textEdits,l.functionType,l.returnType),d}async function Pu(e,t,i,r,n,a,s,o,l,d,u,p,c,h=nZ.InlayHintKind.Type){(0,n8.Lj)(c);let m=(0,aW.l8)(o,i.tokenizerOutput.lines),y=await t.printType(s,{expandTypeAlias:!1,enforcePythonSyntax:!0}),g=`${l}${y}`,f=nZ.InlayHint.create(m,(0,sN.xv)(g,d),h);if(f.textEdits=[nZ.TextEdit.insert(f.position,g)],u.has("label.location")){let i=await e.getSourceMapper(r,!0,!1,p,c);if(i){let r=await Pb(e,t,i,s,d,l,p,c);r&&r.length>0&&(f.label=r)}}if(u.has("textEdits")){let t=await e.getPythonSearchPaths(p,c)||[],o=await f0(e,t,p,i,r,n,a,s,m,l,!1,c);void 0!==o&&(f.textEdits=o)}return f}function Pp(e){let t=e.label,i=e.position,r="string"==typeof t?t:t.map(e=>e.value).join("");return nZ.TextEdit.insert(i,":#"+r)}function Pc(e,t,i){var r;if(i.category!==aM.vb.Class||!t.shared.methodClass||!(null==(r=i.shared)?void 0:r.name))return;let n=i.shared.name;for(let t of null!=e?e:[])if(t.newText===` -> ${n}`){t.newText=` -> "${n}"`;return}}async function Ph(e,t,i){let r=function(e){var t;let i=(0,aA.Je)(e),r=e.inferredTypeSource;if(!r||!i)return;if((null==(t=i.parent)?void 0:t.nodeType)!==aO.ye.Tuple)return r;let n=i.parent.d.items.findIndex(e=>e===i);if(!(n<0)&&r.nodeType===aO.ye.Tuple){if(n>=r.d.items.length)return;return r.d.items[n]}}(e);return await Pm(e,r,t,i)}async function Pm(e,t,i,r){var n;if(!t)return!1;if(t.nodeType===aO.ye.Call){let e=function(e){if(e.nodeType!==aO.ye.Name&&e.nodeType!==aO.ye.MemberAccess)return;let t=(0,aL.gt)(e);if(t)return t[t.length-1]}(t.d.leftExpr);if(!e)return!1;let i=await r.getType(e);return!!(i&&(0,aM.D4)(i))&&0===i.shared.typeParams.length}return t.nodeType===aO.ye.Assignment?t.d.leftExpr.nodeType===aO.ye.Name&&await Pm(e,t.d.rightExpr,i,r):t.nodeType===aO.ye.Tuple||(0,aM.D4)(i)&&i.priv.literalValue?function e(t){switch(t.nodeType){case aO.ye.Constant:case aO.ye.Number:case aO.ye.StringList:return!0;case aO.ye.UnaryOperation:return e(t.d.expr);case aO.ye.BinaryOperation:return e(t.d.leftExpr)&&e(t.d.rightExpr);case aO.ye.Tuple:return t.d.items.every(e);case aO.ye.Assignment:return t.d.leftExpr.nodeType===aO.ye.Name&&e(t.d.rightExpr);default:return!1}}(t):!!(null==(n=i.props)?void 0:n.typeAliasInfo)||(0,aM.D4)(i)&&!(0,aM.aE)(i)}class Py extends aE.gw{collect(){return this.walk(this._parseResults.parserOutput.parseTree),{functions:this.functions,parameters:this.parameters,assignments:this.assignments,calls:this.calls}}visitSuite(e){return this._isNodeInRange(e)}visitStatementList(e){return this._isNodeInRange(e)}visitFunction(e){return!!this._isNodeInRange(e)&&(this._options.functionReturnInlayTypeHints&&this.functions.push(e),!0)}visitParameter(e){return!!this._isNodeInRange(e)&&(this._options.pytestParametersInlayTypeHints&&this.parameters.push(e),!0)}visitAssignment(e){if(!this._isNodeInRange(e))return!1;if(!this._options.variableInlayTypeHints)return!0;(0,n8.Lj)(this._token);let t=[];return e.d.leftExpr.nodeType===aO.ye.Tuple?e.d.leftExpr.d.items.forEach(e=>{e.nodeType===aO.ye.Name?t.push(e):e.nodeType===aO.ye.MemberAccess&&t.push(e.d.member)}):e.d.leftExpr.nodeType===aO.ye.Name?t.push(e.d.leftExpr):e.d.leftExpr.nodeType===aO.ye.MemberAccess&&t.push(e.d.leftExpr.d.member),t.length>0&&this.assignments.push({node:e,names:t}),!0}visitCall(e){return(0,n8.Lj)(this._token),this._options.callArgumentNameInlayHints===hN.off||(this.calls.push(e),!0)}_isNodeInRange(e){return void 0===this._range||aB.vY.overlapsRange(this._range,e)}constructor(e,t,i,r){super(),Pi(this,"_parseResults",void 0),Pi(this,"_options",void 0),Pi(this,"_token",void 0),Pi(this,"_range",void 0),Pi(this,"functions",void 0),Pi(this,"parameters",void 0),Pi(this,"assignments",void 0),Pi(this,"calls",void 0),this._parseResults=e,this._options=i,this._token=r,this.functions=[],this.parameters=[],this.assignments=[],this.calls=[],t&&(this._range=(0,aW.AP)(t,this._parseResults.tokenizerOutput.lines))}}async function Pg(e,t,i,r,n,a){(0,n8.Lj)(a);let s=e.getParseResults(i);if(void 0===s)return[];let o=e.serviceProvider.tryGet(nM.fixtureFinder),l=new Py(s,r,n,a).collect(),d=[];for(let e of l.functions){(0,n8.Lj)(a);let r=await P_(t,s,i,e,n,a);r&&d.push(r)}for(let e of l.parameters){(0,n8.Lj)(a);let r=await Pv(t,s,i,o,e,n,a);r&&d.push(r)}for(let{names:e}of l.assignments)for(let r of e){(0,n8.Lj)(a);let e=await Pf(t,s,i,r,n,a);e&&d.push(e)}for(let e of l.calls){(0,n8.Lj)(a);let i=await PT(t,s,e,n,a);d.push(...i)}return d}async function Pf(e,t,i,r,n,a){let s=await Pa(r,e);if(s&&!s.straightForwardCase)return await Pw(e,t,i,r,s.type,r.start+r.length,": ",32,n,a)}async function Pv(e,t,i,r,n,a,s){if(n.d.annotation||void 0===n.d.name||!r)return;let o=hs(r,n,s);if(o)return await Pw(e,t,i,n,o,n.start+n.length,": ",32,a,s,nZ.InlayHintKind.Type)}async function P_(e,t,i,r,n,a){let s=await Ps(r,e,t);if(!s)return;let o=await Pw(e,t,i,r,s.returnType,r.d.suite.start," -> ",64,n,a);return vp(r,s.returnType)||(o.textEdits=[Pp(o)]),Pc(o.textEdits,s.functionType,s.returnType),o}async function PT(e,t,i,r,n){let a,s,o=[];if(i.d.leftExpr.nodeType===aO.ye.Name?a=i.d.leftExpr:i.d.leftExpr.nodeType===aO.ye.MemberAccess&&(a=i.d.leftExpr.d.member),!a)return o;let l=await e.getDeclInfoForNameNode(a),d=null==l?void 0:l.decls;if(!d||0===d.length)return o;let u=d[0],p=await e.resolveAliasDeclaration(u,!0);if((null==p?void 0:p.type)===aF.h3.Class)return o;if((null==p?void 0:p.type)===aF.h3.Variable||(null==p?void 0:p.type)===aF.h3.Function){let t=await e.getType(a);if((null==t?void 0:t.category)===aM.vb.Function)s=t;else if((null==t?void 0:t.category)===aM.vb.Class&&(0,aM.aE)(t))return o}if(!s)return o;let c=(0,dD.MC)(s),h=r.callArgumentNameInlayHints;return i.d.args.forEach((e,i)=>{let r;if(e.d.argCategory===aO.b4.UnpackedList||e.d.argCategory===aO.b4.UnpackedDictionary)return;let n=void 0!==e.d.name,a=h===hN.all||h===hN.partial,s=!1;if(a&&!n&&i<c.positionParamCount&&(r=c.params[i].param.name,i<c.positionOnlyParamCount&&(s=!0,r=h===hN.partial?void 0:`${r}/`)),void 0!==r){let i=e.start,n=(0,aW.l8)(i,t.tokenizerOutput.lines),a=s?`${r}`:`${r}=`,l=s?[]:[nZ.TextEdit.insert(n,a)],d=(0,sN.xv)(a,32);o.push({label:d,position:n,kind:nZ.InlayHintKind.Parameter,textEdits:l})}}),o}async function Pw(e,t,i,r,n,a,s,o,l,d,u=nZ.InlayHintKind.Type){(0,n8.Lj)(d);let p=(0,aW.l8)(a,t.tokenizerOutput.lines),c=await e.printType(n,{expandTypeAlias:!1,enforcePythonSyntax:!0}),h=`${s}${c}`,m=nZ.InlayHint.create(p,(0,sN.xv)(h,o),u);return l.lazyEdit?m.data=(0,o5.Nt)({fileUri:i.toString(),offset:r.start,type:r.nodeType}):m.textEdits=[nZ.TextEdit.insert(m.position,h)],m}async function Pb(e,t,i,r,n,a,s,o){let l=[{value:a}],d=0,u=!1,p=e.serviceProvider.tryGet(nM.asyncDeclarationFinder);return await PS(t,i,p,r,l,()=>d,e=>{d=e},()=>u,e=>{u=e},n,a,s,o),l}async function PS(e,t,i,r,n,a,s,o,l,d,u,p,c){if((0,n8.Lj)(c),!(o()||a()>=d))switch(r.category){case aM.vb.Unbound:await PI(e,t,i,r,"Any",n,a,s,o,l,d,u);break;case aM.vb.Any:r.priv.isEllipsis?await PI(e,t,i,r,void 0,n,a,s,o,l,d,u):await PI(e,t,i,r,"Any",n,a,s,o,l,d,u);break;case aM.vb.Unknown:await PI(e,t,i,r,"Any",n,a,s,o,l,d,u);break;case aM.vb.Never:await PI(e,t,i,r,r.priv.isNoReturn?"NoReturn":"Never",n,a,s,o,l,d,u);break;case aM.vb.Function:case aM.vb.Overloaded:await PI(e,t,i,r,void 0,n,a,s,o,l,d,u);break;case aM.vb.Class:{let h=void 0!==r.priv.literalValue?"Literal":void 0;await PC(e,t,i,r,h,n,a,s,o,l,d,u,p,c);break}case aM.vb.Module:await PI(e,t,i,r,"Any",n,a,s,o,l,d,u);break;case aM.vb.Union:for(let h=0;h<r.priv.subtypes.length&&!(o()||a()>=d);h++){let m=r.priv.subtypes[h];await PS(e,t,i,m,n,a,s,o,l,d,u,p,c),h<r.priv.subtypes.length-1&&!o()&&a()<d&&(n.push({value:" | "}),s(a()+3),Pk(n,a,s,d,u,l))}break;case aM.vb.TypeVar:{let p=await e.printType(r,{expandTypeAlias:!1,enforcePythonSyntax:!0});await PI(e,t,i,r,"Any"===p?"Any":void 0,n,a,s,o,l,d,u);break}default:await PI(e,t,i,r,void 0,n,a,s,o,l,d,u)}}function Pk(e,t,i,r,n,a){if(t()>=r){let i=e[e.length-1],s=t()-r+n.length;i.value.length>s&&(i.value=(0,sN.xv)(i.value,i.value.length-s)),a(!0)}}async function PI(e,t,i,r,n,a,s,o,l,d,u,p){let c;if(l())return;let h=await e.printType(r,{expandTypeAlias:!1,enforcePythonSyntax:!0});n&&i&&(c=await PP(e,t,i,n));let m={value:h};c&&(m.location=c),a.push(m),o(s()+h.length),Pk(a,s,o,u,p,d)}async function PC(e,t,i,r,n,a,s,o,l,d,u,p,c,h){var m,y;let g;if(l())return;let f=await e.printType(r,{expandTypeAlias:!1,enforcePythonSyntax:!0});if(n&&i?g=await PP(e,t,i,n):i&&(g=await Px(e,t,i,r,c,h)),!g||void 0!==r.priv.literalValue||aM.p5.isBuiltIn(r,"NoneType")||aM.p5.isPseudoGenericClass(r)||(null==(y=r.props)?void 0:y.typeAliasInfo)){let e={value:f};g&&(e.location=g),a.push(e),o(s()+f.length),Pk(a,s,o,u,p,d);return}let v=null!=(m=r.priv.aliasName)?m:r.shared.name,_=f.indexOf(v);if(-1!==_){if(_>0){let e=f.slice(0,_);a.push({value:e}),o(s()+e.length)}a.push({value:v,location:g}),o(s()+v.length);let e=f.slice(_+v.length);e.length>0&&(a.push({value:e}),o(s()+e.length))}else a.push({value:f,location:g}),o(s()+f.length);Pk(a,s,o,u,p,d)}async function PP(e,t,i,r){let n=await i.getDefinitionFromTypingByName(r);if(!n||0===n.length)return;let a=[];await It(e,t,n,a);let s=a.length;if(0!==s)return{uri:a[s-1].uri.toString(),range:a[s-1].range}}async function Px(e,t,i,r,n,a){var s;let o=await i.getDeclarations(r,n,a,{useTypeAlias:!!(null==(s=r.props)?void 0:s.typeAliasInfo),sourceMapper:t});if(!o||0===o.length)return;let l=[];await It(e,t,o,l);let d=l.length;if(0!==d)return{uri:l[d-1].uri.toString(),range:l[d-1].range}}function PF(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class PA{async getReferences(e){(0,n8.Lj)(this._token);let t=this._program.getSourceFileInfo(this._fileUri);if(!t||!this._program.getParseResults(this._fileUri))return null;let i=[],r=e?t=>e.report((0,sO.$L)(this._program.fileSystem,t,this._convertToLocation)):e=>(0,ap.af)(i,(0,sO.$L)(this._program.fileSystem,e,this._convertToLocation)),n=(0,aR.xX)(t),a=await this._getReferencesResult();if(!a)return i.length>0?i:void 0;if(a.requiresGlobalSearch)for(let e of this._program.getSourceFileInfoList()){var s;if((0,n8.Lj)(this._token),!(0,aR.xX)(e)&&!e.uri.hasExtension(".pyi")&&n)continue;let t=null!=(s=e.contents)?s:"";a.symbolNames.some(e=>t.includes(e))&&await this._addReferencesFromFile(e.uri,a,e=>r(e.map(e=>e.location)))}else await this._addReferencesFromFile(this._fileUri,a,e=>r(e.map(e=>e.location)));return i.length>0?i:void 0}async _addReferencesFromFile(e,t,i){let r=this._program.getParseResults(e);if(!r||t.nodeAtOffset.nodeType!==aO.ye.Name)return;let n=await this._program.getSnapshot(this._token),a=await wT(this._program,n,t.nodeAtOffset,this._token,r.parserOutput.parseTree,{treatModuleInImportAndFromImportSame:!0,skipUnreachableCode:!1,useCase:sz.P.References}),s=[];for(let i of a)if(this._includeDeclaration||i.node!==t.nodeAtOffset){let t=this._createDocumentRange?this._createDocumentRange(e,i,r):this._defaultCreateDocumentRange(e,i,r);s.push({node:i.node,location:t,parentRange:i.node.parent?{start:(0,aW.l8)(i.node.parent.start,r.tokenizerOutput.lines),end:(0,aW.l8)(aB.vY.getEnd(i.node.parent),r.tokenizerOutput.lines)}:void 0})}s.length>0&&i(s)}_defaultCreateDocumentRange(e,t,i){return{uri:e,range:{start:(0,aW.l8)(t.range.start,i.tokenizerOutput.lines),end:(0,aW.l8)(aB.vY.getEnd(t.range),i.tokenizerOutput.lines)}}}async _getReferencesResult(){var e;let t=this._program.getParseResults(this._fileUri);if(!t)return;let i=(0,aW.bt)(this._position,t.tokenizerOutput.lines);if(void 0===i)return;let r=(0,aL.gr)(t.parserOutput.parseTree,i);if(!r||r.nodeType!==aO.ye.Name)return;let n=await this._evaluator.getDeclInfoForNameNode(r,!1),a=null!=(e=null==n?void 0:n.decls)?e:[];if(0===a.length)return;let s=[r.d.value],o=this._requiresGlobalSearch(a),l=a.filter(e=>{var t;if(!(0,aF.D5)(e))return!0;if(!e.usesLocalName||!e.node||e.node.nodeType===aO.ye.ImportFrom)return!1;let i=null==(t=e.node.d.alias)?void 0:t.d.value;return!!s.some(e=>e===i)});return{requiresGlobalSearch:o,nodeAtOffset:r,symbolNames:s,declarations:a,nonImportDeclarations:l}}_requiresGlobalSearch(e){for(let t of e)if(t.type!==aF.h3.Variable||!this._isLocalVariable(t))return!0;return!1}_isLocalVariable(e){if(!e.node)return!1;let t=e.node.parent;for(;t;){if(t.nodeType===aO.ye.Function)return!0;if(t.nodeType===aO.ye.Module)break;t=t.parent}return!1}constructor(e,t,i,r,n,a,s,o){PF(this,"_program",void 0),PF(this,"_evaluator",void 0),PF(this,"_fileUri",void 0),PF(this,"_position",void 0),PF(this,"_includeDeclaration",void 0),PF(this,"_token",void 0),PF(this,"_createDocumentRange",void 0),PF(this,"_convertToLocation",void 0),this._program=e,this._evaluator=t,this._fileUri=i,this._position=r,this._includeDeclaration=n,this._token=a,this._createDocumentRange=s,this._convertToLocation=o}}async function PD(e,t,i,r,n,a,s,o,l){let d=new PA(e,t,i,r,n,a,o,l);return await d.getReferences(s)}function PE(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class PR{getDocumentColors(){if((0,n8.Lj)(this._cancellationToken),!this._parseResults)return;let e=new PN(this._parseResults);return e.walk(this._parseResults.parserOutput.parseTree),e.getColors()}getColorPresentation(e,t){if(!this._parseResults)return;let i=(0,aW.AP)(t,this._parseResults.tokenizerOutput.lines);if(!i)return;let r=this._getColorComponentPresentation(e.red),n=this._getColorComponentPresentation(e.green),a=this._getColorComponentPresentation(e.blue),s=this._getColorComponentPresentation(e.alpha),o=i.length>9||"ff"!==s?`"#${r}${n}${a}${s}"`:`"#${r}${n}${a}"`,l=this._parseResults.text.slice(i.start,i.start+i.length);return l.toUpperCase()===l&&(o=o.toUpperCase()),{label:o}}_getColorComponentPresentation(e){return Math.floor(255*e).toString(16).padStart(2,"0").toLowerCase()}constructor(e,t){PE(this,"_sourceFile",void 0),PE(this,"_cancellationToken",void 0),PE(this,"_parseResults",void 0),this._sourceFile=e,this._cancellationToken=t,this._parseResults=this._sourceFile.getParseResults()}}class PN extends aE.gw{getColors(){return this._colors}visitString(e){let t=e.d.value;if((7===t.length||9===t.length)&&/^#([0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/.test(t)){let i=parseInt(t.slice(1,3),16)/255,r=parseInt(t.slice(3,5),16)/255,n=parseInt(t.slice(5,7),16)/255,a=7===t.length?1:parseInt(t.slice(7,9),16)/255;this._colors.push({range:(0,aW.oG)(e.d.token,this._parseResults.tokenizerOutput.lines),color:nZ.Color.create(i,r,n,a)})}return!0}constructor(e){super(),PE(this,"_parseResults",void 0),PE(this,"_colors",void 0),this._parseResults=e,this._colors=[]}}function PM(e){if(e.nodeType===aO.ye.Module)return e;let t=e;for((e.nodeType===aO.ye.Function||e.nodeType===aO.ye.Class)&&(t=e.parent);t;){switch(t.nodeType){case aO.ye.Module:case aO.ye.Function:case aO.ye.Class:return t}t=t.parent}n6.fJ("Did not find tree scope")}function PO(e,t){let i=null==e?void 0:e.parserOutput.parseTree,r=(0,aW.bt)(t.start,e.tokenizerOutput.lines)||-1,n=(0,aW.bH)(e.tokenizerOutput,e.text,t.end.line),a=r>=0?(0,aL.gr)(i,r):void 0;if(!a)return null;let s=PM(a),o=function(e){let t=ax.Xf(e),i=new Set,r=e=>{if(e)for(let t of e.symbolTable.entries()){let e=t[1].getDeclarations();0!==e.length&&e.some(e=>e.type===aF.h3.Variable||e.type===aF.h3.Param)&&i.add(t[0])}};for(;t;){var n;r(t),t=(null==(n=t.parent)?void 0:n.type)!==dE.hB.Builtin?t.parent:void 0}return i}(s),l=(0,aL.uO)(s,e=>{var t;return!!(e.nodeType===aO.ye.Name&&o.has(e.d.value)&&(null==(t=e.parent)?void 0:t.nodeType)!==aO.ye.MemberAccess&&e.start<=n||e.nodeType===aO.ye.MemberAccess&&e.d.leftExpr.nodeType===aO.ye.Name&&o.has(e.d.leftExpr.d.value)&&e.start<=n)}),d=[];for(let t of l){if(PM(t).id!==s.id)continue;let i=e.text.slice(t.start,t.start+t.length),r=d.findIndex(e=>e.value===i&&e.start<=t.start);-1!==r?d.splice(r,1,{value:i,start:t.start,length:t.length}):d.push({value:i,start:t.start,length:t.length})}let u=[];for(let t of d){let i=(0,aW.l8)(t.start,e.tokenizerOutput.lines),r=(0,aW.l8)(t.start+t.length,e.tokenizerOutput.lines);u.push({range:{start:i,end:r},variableName:t.value,caseSensitiveLookup:!0})}return u}class PU{static getSmartSelectionRange(e,t,i){let r,n;(0,n8.Lj)(i);let a=aL.cd(e.parserOutput.parseTree,t,e.tokenizerOutput.lines);if(a&&(0,aW.bt)(t,e.tokenizerOutput.lines)){for(let t=a;void 0!==t;t=t.parent){switch(t.nodeType){case aO.ye.Call:s(t.d.args);break;case aO.ye.Function:s(t.d.params);break;case aO.ye.Tuple:s(t.d.items);break;case aO.ye.Lambda:s(t.d.params);break;case aO.ye.FormatString:s(t.d.formatExprs),s(t.d.fieldExprs),s([aB.vY.create(t.start+t.d.token.prefixLength+t.d.token.quoteMarkLength,t.length-t.d.token.prefixLength-2*t.d.token.quoteMarkLength)]);break;case aO.ye.Dictionary:case aO.ye.Set:case aO.ye.List:s(t.d.items);break;case aO.ye.Del:s(t.d.targets);break;case aO.ye.String:s([aB.vY.create(t.start+t.d.token.prefixLength+t.d.token.quoteMarkLength,t.length-t.d.token.prefixLength-2*t.d.token.quoteMarkLength)])}!function(t){if(t.nodeType===aO.ye.Suite)return;let i=t.start,r=aB.vY.getEnd(t);i===r||o((0,aW.er)(i,r,e.tokenizerOutput.lines))}(t)}return r}function s(t){let i=aB.vY.combine(t);i&&o((0,aW.oG)(i,e.tokenizerOutput.lines))}function o(e){(0,aB.eJ)(e,t)&&(n?(0,aB.cQ)(n.range,e)||(n.parent={range:e},n=n.parent):n=r={range:e})}}}var PL=((iS={})[iS.Explicit=0]="Explicit",iS[iS.Typing=1]="Typing",iS[iS.Deletion=2]="Deletion",iS);function Pz(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class PW extends ld{async handleDocumentSymbol(e,t,i){if(ll(e),e.disableLanguageServices)return null;let r=this.state.convertLspUriStringToUri(t.textDocument.uri),n=this._serviceProvider.tryGet(nM.globalIndices);if(!e.enableAsyncProgram)return e.service.run(e=>new Iu(null!=n?n:h1.empty,e,r,this.state.clientCapabilities.hasHierarchicalDocumentSymbolCapability,i).getSymbols(),i);{let t=s7(e).asyncProgram;return await this._runAsyncWithMatchingSnapshot(t,i,async(e,t,i)=>new Iy(null!=n?n:h1.empty,e,r,this.state.clientCapabilities.hasHierarchicalDocumentSymbolCapability,i).getSymbols())}}async handleImplementation(e,t,i){if(e.disableLanguageServices)return null;let r=this.state.convertLspUriStringToUri(t.textDocument.uri),n=s7(e).asyncProgram;return await this._runAsyncWithMatchingSnapshot(n,i,async(e,i,n)=>await new Pt(e,i,r,t.position,n).getImplementations())}async handleTypeHierarchyPrepare(e,t,i){if(e.disableLanguageServices)return null;let r=this.state.convertLspUriStringToUri(t.textDocument.uri),n=s7(e).asyncProgram,a=await this._runAsyncWithMatchingSnapshot(n,i,async(e,i,n)=>await new C9(e,r,t.position,i,n).onPrepare());return null!=a?a:null}async handleTypeHierarchySupertypes(e,t,i){if(e.disableLanguageServices)return null;let r=this.state.convertLspUriStringToUri(t.item.uri),n=s7(e).asyncProgram,a=await this._runAsyncWithMatchingSnapshot(n,i,async(e,i,n)=>await new C9(e,r,t.item.range.start,i,n).onSupertypes(t.item));return null!=a?a:null}async handleTypeHierarchySubtypes(e,t,i){if(e.disableLanguageServices)return null;let r=this.state.convertLspUriStringToUri(t.item.uri),n=s7(e).asyncProgram,a=await this._runAsyncWithMatchingSnapshot(n,i,async(e,i,n)=>await new C9(e,r,t.item.range.start,i,n).onSubtypes(t.item));return null!=a?a:null}async handleCallHierarchyPrepare(e,t,i){if(e.disableLanguageServices)return null;let r=this.state.convertLspUriStringToUri(t.textDocument.uri);if(!e.enableAsyncProgram)return e.service.run(e=>new kj.H(e,r,t.position,i).onPrepare(),i);{let n=s7(e).asyncProgram,a=await this._runAsyncWithMatchingSnapshot(n,i,async(e,i,n)=>await new If(e,r,t.position,i,n).onPrepare());return null!=a?a:null}}async handleCallHierarchyIncomingCalls(e,t,i){if(e.disableLanguageServices)return null;let r=this.state.convertLspUriStringToUri(t.item.uri);if(!e.enableAsyncProgram)return e.service.run(e=>new kj.H(e,r,t.item.range.start,i).getIncomingCalls(),i);{let n=s7(e).asyncProgram,a=await this._runAsyncWithMatchingSnapshot(n,i,async(e,i,n)=>await new If(e,r,t.item.range.start,i,n).getIncomingCalls());return null!=a?a:null}}async handleCallHierarchyOutgoingCalls(e,t,i){if(e.disableLanguageServices)return null;let r=this.state.convertLspUriStringToUri(t.item.uri);if(!e.enableAsyncProgram)return e.service.run(e=>new kj.H(e,r,t.item.range.start,i).getOutgoingCalls(),i);{let n=s7(e).asyncProgram,a=await this._runAsyncWithMatchingSnapshot(n,i,async(e,i,n)=>await new If(e,r,t.item.range.start,i,n).getOutgoingCalls());return null!=a?a:null}}handleDocumentHighlight(e,t,i){if(e.disableLanguageServices)return Promise.resolve(null);let r=this.state.convertLspUriStringToUri(t.textDocument.uri);return e.enableAsyncProgram?this._runAsyncWithPositionAndMatchingSnapshot(e,t,i,async(e,t,i,n)=>await new Ib(e,r,i,t,n).getDocumentHighlight()):Promise.resolve(this.state.documentTransformer.runWithPosition(e,t,(e,t)=>new kV.$(e,r,t,i).getDocumentHighlight(),i))}async handleCodeLens(e,t,i){if(!e.referencesCodeLens||!this.state.serverOptions.hasVSCodeExtension)return null;let r=this.state.convertLspUriStringToUri(t.textDocument.uri);if(r.hasExtension(".pyi")||e.kinds.some(e=>e===sL.mE.Limited))return;let n=new IC(e,r,i);return await n.getCodeLenses()}async handleCodeLensResolve(e,t,i){if(!e.referencesCodeLens||!this.state.serverOptions.hasVSCodeExtension)return t;let r=(0,o5.uJ)(t.data);if(!r||!r.fileUri)return t;let n=new IC(e,this.state.convertLspUriStringToUri(r.fileUri),i);return await n.resolveCodeLens(t)}async handleCodeAction(e,t,i){ll(e);let r=this.state.convertLspUriStringToUri(t.textDocument.uri);if(e.enableAsyncProgram){let n=s7(e).asyncProgram;if(n){let a=await this._runAsyncWithMatchingSnapshot(n,i,async(i,n,a)=>{let s=i.getEvaluator(n);return[...await kK.X.getCodeActionsForPosition(e,r,t.range,t.context.only,a),...await CB.getCodeActionsForPositionAsync(e,i,s,n,r,t.range,t.context,!!this.state.serverOptions.hasVSCodeExtension,a)]});return null!=a?a:[]}}return[...await kK.X.getCodeActionsForPosition(e,r,t.range,t.context.only,i),...await CO.getCodeActionsForPosition(e,r,t.range,t.context,!!this.state.serverOptions.hasVSCodeExtension,i)]}async handleReferences(e,t,i,r,n,a,s){this._pendingFindAllRefsCancellationSource&&(this._pendingFindAllRefsCancellationSource.cancel(),this._pendingFindAllRefsCancellationSource=void 0),this._pendingFindAllRefsCancellationSource=r;try{if(ll(e),e.disableLanguageServices)return null;let i=this.state.convertLspUriStringToUri(t.textDocument.uri);if(e.enableAsyncProgram){let o=s7(e).asyncProgram;if(o)return await this._runAsyncWithMatchingSnapshot(o,r.token,async(e,r,o)=>{let l=e.getEvaluator(r);return await PD(e,l,i,t.position,t.context.includeDeclaration,o,n,a,s)})}return await s7(e).getReferences(i,t.position,t.context.includeDeclaration,n,r.token,a,s)}finally{i.done(),r.dispose()}}async handleReferencesForeground(e,t,i,r,n,a,s){this._pendingFindAllRefsCancellationSource&&(this._pendingFindAllRefsCancellationSource.cancel(),this._pendingFindAllRefsCancellationSource=void 0),this._pendingFindAllRefsCancellationSource=r;try{if(ll(e),e.disableLanguageServices)return null;let i=this.state.convertLspUriStringToUri(t.textDocument.uri);if(e.enableAsyncProgram){let o=s7(e).asyncProgram;if(o)return await this._runAsyncWithMatchingSnapshot(o,r.token,async(e,r,o)=>{let l=e.getEvaluator(r);return await PD(e,l,i,t.position,t.context.includeDeclaration,o,n,a,s)})}return await s7(e).getReferences(i,t.position,t.context.includeDeclaration,n,r.token,a,s)}finally{i.done(),r.dispose()}}async handleCodeActionResolve(e,t,i,r){if(ll(e),t.command){let n=i(t.command);if(n&&n.isResolvable){let i=await n.execute(e,{command:t.command.command,arguments:t.command.arguments},r);nZ.WorkspaceEdit.is(i)?t.edit=i:T2.P.is(i)&&(t.edit=i.edits),delete t.command.arguments}}return t}async handleSignatureHelp(e,t,i){if(e.disableLanguageServices)return;let r=this.state.convertLspUriStringToUri(t.textDocument.uri);if(!e.enableAsyncProgram)return this.state.documentTransformer.runWithPosition(e,t,(e,n)=>new kq.h(e,r,n,this.state.clientCapabilities.signatureDocFormat,this.state.clientCapabilities.hasSignatureLabelOffsetCapability,this.state.clientCapabilities.hasActiveParameterCapability,t.context,e.serviceProvider.docStringService(),i).getSignatureHelp(),i);{let n=e.service.asyncProgram;return await this._runAsyncWithPositionAndMatchingSnapshot(e,t,i,async(e,i,n,a)=>await new Ix(e,i,r,n,this.state.clientCapabilities.signatureDocFormat,this.state.clientCapabilities.hasSignatureLabelOffsetCapability,this.state.clientCapabilities.hasActiveParameterCapability,t.context,e.serviceProvider.docStringService(),a).getSignatureHelp(),()=>n)}}async handleCompletion(e,t,i){if(e.disableLanguageServices)return null;if(this.state.clientCapabilities.hasVisualStudioExtensionsCapability){let e=t.context;if((null==e?void 0:e._vs_invokeKind)===PL.Deletion)return null}let r=this.getCompletionOptions(e,t),n=this.state.convertLspUriStringToUri(t.textDocument.uri);return await this._handleCompletionInternal(e,t,n,r,i)}async handleCompletionResolve(e,t,i){let r=oq.fromLSP(t).data;if(!r||!r.uri)return t;let n=this.state.convertLspUriStringToUri(r.uri),a=e.service.asyncProgram,s=await a.getSnapshot(i),o=new Ca(a,s,n,r.position,this.getCompletionOptions(e),{nameMap:a8,indices:o6.getIndices(e)},!!this.state.serverOptions.supportsTelemetry,i);return await o.resolveCompletionItem(t),t}async handleExecuteCommand(e,t,i,r,n,a){this._pendingCommandCancellationSource&&(this._pendingCommandCancellationSource.cancel(),this._pendingCommandCancellationSource=void 0);let s=n(e),o=async t=>{var n,a;let o=i(e,t),l=(0,n2.Qg)(o)?await o:o;return nZ.WorkspaceEdit.is(l)&&await r({label:`Command '${e.command}'`,edit:l,metadata:{isRefactoring:null!=(n=null==s?void 0:s.isRefactoringCommand)&&n}}),T2.P.is(l)&&await r({label:l.label,edit:l.edits,metadata:{isRefactoring:null!=(a=null==s?void 0:s.isRefactoringCommand)&&a}}),l};if(null==s||!s.isLongRunning)return await o(a);{let e=await t(),i=e.source;this._pendingCommandCancellationSource=i;try{return await o(i.token)}finally{e.reporter.done(),i.dispose()}}}async handleSemanticTokens(e,t,i){let r;if(e.disableLanguageServices)return{data:[]};let n=this.state.convertLspUriStringToUri(t.textDocument.uri);if(e.enableAsyncProgram){let t=s7(e).asyncProgram;r=await t.runAsync(async e=>await vX(e,n,void 0,!this.state.clientCapabilities.hasAugmentsSyntaxTokensCapability,void 0,i),i)}else r=await s7(e).getSemanticTokens(n,void 0,!this.state.clientCapabilities.hasAugmentsSyntaxTokensCapability,void 0,i);return n6.vA(nZ.SemanticTokens.is(r),"onSemanticTokens should only return SemanticTokens"),r.resultId&&this._semanticTokensCache.set(this._getSemanticTokensCacheKey(e,n),{resultId:r.resultId,data:r.data}),r}async handleDelta(e,t,i){if(e.disableLanguageServices)return{data:[]};let r=this.state.convertLspUriStringToUri(t.textDocument.uri),n=this._getSemanticTokensCacheKey(e,r),a=this._semanticTokensCache.get(n),s=async t=>{if(e.enableAsyncProgram){let n=s7(e).asyncProgram;return await n.runAsync(async e=>await vX(e,r,void 0,!this.state.clientCapabilities.hasAugmentsSyntaxTokensCapability,t,i),i)}return await s7(e).getSemanticTokens(r,void 0,!this.state.clientCapabilities.hasAugmentsSyntaxTokensCapability,t,i)},o=await s(t.previousResultId);if(!o)return{data:[]};if(!nZ.SemanticTokens.is(o)){var l,d;if(0===o.edits.length&&a&&a.resultId===t.previousResultId){let e=await s(void 0);if(e&&nZ.SemanticTokens.is(e))return e.resultId&&this._semanticTokensCache.set(n,{resultId:e.resultId,data:e.data}),{resultId:null!=(l=e.resultId)?l:t.previousResultId,edits:[{start:0,deleteCount:a.data.length,data:e.data}]}}if(a&&a.resultId===t.previousResultId){let e=a.data.slice();for(let t of o.edits)e.splice(t.start,t.deleteCount,...null!=(d=t.data)?d:[]);o.resultId&&this._semanticTokensCache.set(n,{resultId:o.resultId,data:e})}return o}return a&&a.resultId===t.previousResultId&&o.resultId?(this._semanticTokensCache.set(n,{resultId:o.resultId,data:o.data}),{resultId:o.resultId,edits:[{start:0,deleteCount:a.data.length,data:o.data}]}):(o.resultId&&this._semanticTokensCache.set(n,{resultId:o.resultId,data:o.data}),o)}async handleRange(e,t,i){let r;if(e.disableLanguageServices)return{data:[]};let n=this.state.convertLspUriStringToUri(t.textDocument.uri);if(e.enableAsyncProgram){let a=s7(e).asyncProgram;r=await a.runAsync(async e=>await vX(e,n,t.range,!this.state.clientCapabilities.hasAugmentsSyntaxTokensCapability,void 0,i),i)}else r=await s7(e).getSemanticTokens(n,t.range,!this.state.clientCapabilities.hasAugmentsSyntaxTokensCapability,void 0,i);return n6.vA(nZ.SemanticTokens.is(r),"onRange should only return SemanticTokens"),r}async handleInlayHints(e,t,i){var r,n,a,s;if(e.disableLanguageServices)return null;let o=this.state.convertLspUriStringToUri(t.textDocument.uri);if(o.hasExtension(".pyi"))return null;let l={variableInlayTypeHints:null!=(r=null==e?void 0:e.variableInlayTypeHints)&&r,functionReturnInlayTypeHints:null!=(n=null==e?void 0:e.functionReturnInlayTypeHints)&&n,callArgumentNameInlayHints:null!=(a=null==e?void 0:e.callArgumentNameInlayHints)?a:hN.off,pytestParametersInlayTypeHints:null!=(s=null==e?void 0:e.pytestParameterInlayTypeHints)&&s,supportedResolveSet:this.state.clientCapabilities.supportedInlayResolveCapabilitySet,lazyEdit:!0};if(!l.functionReturnInlayTypeHints&&!l.variableInlayTypeHints&&!l.pytestParametersInlayTypeHints&&l.callArgumentNameInlayHints===hN.off)return null;if(e.enableAsyncProgram){let r=s7(e).asyncProgram;return await this._runAsyncWithMatchingSnapshot(r,i,async(e,i,r)=>{let n=e.getEvaluator(i);return await Pg(e,n,o,t.range,l,r)})}return await s7(e).onInlayHints(o,t.range,l,i)}async handleDocumentDiagnostics(e,t,i){let r=this.state.convertLspUriStringToUri(t.textDocument.uri),n={kind:"full",resultId:"-1",items:[]};if(e.disableLanguageServices||!lo(r,e.service.fs)||i.isCancellationRequested)return n;this._incrementProgress(r);try{let a;if(e.enableAsyncProgram){let n=s7(e).asyncProgram;a=await this._runAsyncWithMatchingSnapshot(n,i,async(e,i,n)=>await e.getDocumentDiagnostics(r,i,t.previousResultId,n))}else a=await s7(e).getDocumentDiagnostics(r,t.previousResultId,i);return a&&"full"===a.kind?(n.kind="full",n.resultId=a.resultId,n.items=a.items):a&&"unchanged"===a.kind&&(n={kind:"unchanged",resultId:a.resultId||"-1"}),n}finally{this._decrementProgress(r)}}handleDefinition(e,t,i){return e.enableAsyncProgram?this._getDefinitions(e,t,r=>{let n=e.service.asyncProgram;return this._runAsyncWithPositionAndMatchingSnapshot(e,t,i,async(e,t,i,n)=>await new Io(e,r,i,this.state.clientCapabilities.hasGoToDeclarationCapability?fC.Uu.PreferSource:fC.Uu.All,t,n).getDefinitions(),()=>n)}):this._getDefinitions(e,t,r=>this._getSyncDefinitions(e,t,r,this.state.clientCapabilities.hasGoToDeclarationCapability?fC.Uu.PreferSource:fC.Uu.All,i))}handleDeclaration(e,t,i){return e.enableAsyncProgram?this._getDefinitions(e,t,r=>{let n=e.service.asyncProgram;return this._runAsyncWithPositionAndMatchingSnapshot(e,t,i,async(e,t,i,n)=>await new Io(e,r,i,this.state.clientCapabilities.hasGoToDeclarationCapability?fC.Uu.PreferStubs:fC.Uu.All,t,n).getDefinitions(),()=>n)}):this._getDefinitions(e,t,r=>this._getSyncDefinitions(e,t,r,this.state.clientCapabilities.hasGoToDeclarationCapability?fC.Uu.PreferStubs:fC.Uu.All,i))}handleTypeDefinition(e,t,i){return e.enableAsyncProgram?this._getDefinitions(e,t,r=>{let n=e.service.asyncProgram;return this._runAsyncWithPositionAndMatchingSnapshot(e,t,i,async(e,t,i,n)=>await new k7(e,r,i,t,n).getDefinitions(),()=>n)}):this._getDefinitions(e,t,r=>Promise.resolve(this.state.documentTransformer.runWithPosition(e,t,(e,t)=>new fC.X9(e,r,t,i).getDefinitions(),i)))}async handleHover(e,t,i){return await oB(e,oN.HOVER_SLOW,r=>{let n=this.state.convertLspUriStringToUri(t.textDocument.uri);return this._runAsyncWithPositionAndMatchingSnapshot(e,t,i,async(e,t,i,r)=>await new IX(e,n,i,this.state.clientCapabilities.hoverContentFormat,!!this.state.serverOptions.supportsTelemetry,t,r).getHover())},2e3)||null}async handleWorkspaceSymbol(e,t,i,r){var n;let a=new I5(null!=(n=this._globalIndices)?n:h1.empty,e,r,t.query,i);return await a.reportSymbols()}async handleFoldingRanges(e,t,i){if(e.disableLanguageServices)return[];let r=this.state.convertLspUriStringToUri(t.textDocument.uri),n=s7(e).asyncProgram;return await n.runAsync(async e=>{let t=e.getParseResults(r);return t?bo.getFoldingRanges(t,i):[]},i)}async handleSelectionRanges(e,t,i){if(e.disableLanguageServices)return[];let r=this.state.convertLspUriStringToUri(t.textDocument.uri),n=s7(e).asyncProgram;return await n.runAsync(async e=>{let n=e.getParseResults(r);return n?t.positions.map(e=>({line:e.line,character:e.character})).map(e=>{var t;return null!=(t=PU.getSmartSelectionRange(n,e,i))?t:nZ.SelectionRange.create((0,aB.rV)(),void 0)}):[]},i)}async handleInlineValues(e,t,i){if(e.disableLanguageServices)return null;let r=this.state.convertLspUriStringToUri(t.textDocument.uri);if(r.hasExtension(".pyi"))return null;let n=s7(e).asyncProgram;return await n.runAsync(async e=>{let i=e.getParseResults(r),n=null==i?void 0:i.parserOutput.parseTree;return i&&n?PO(i,t.context.stoppedLocation):null},i)}async handleDocumentColor(e,t,i){if(e.disableLanguageServices)return[];let r=this.state.convertLspUriStringToUri(t.textDocument.uri),n=s7(e).asyncProgram;return await oB(e,oN.DOCUMENTCOLOR_SLOW,async()=>await n.runAsync(async e=>{var t;if(!e.getSourceFileInfo(r))return[];let n=e.getParseResults(r);return n&&null!=(t=new PR({getParseResults:()=>n},i).getDocumentColors())?t:[]},i),2e3)}async handleColorPresentation(e,t,i){if(e.disableLanguageServices)return[];let r=this.state.convertLspUriStringToUri(t.textDocument.uri),n=s7(e).asyncProgram;return await n.runAsync(async e=>{let n=e.getParseResults(r);if(!n)return[];let a=new PR({getParseResults:()=>n},i).getColorPresentation(t.color,t.range);return a?[a]:[]},i)}async handleDocumentOnTypeFormatting(e,t,i,r){if(e.disableLanguageServices)return[];let n=this.state.convertLspUriStringToUri(t.textDocument.uri),a=s7(e).asyncProgram;return await oB(e,oN.FORMATONTYPE_SLOW,async()=>await a.runAsync(async a=>{var s;let o=a.getParseResults(n);return o&&null!=(s=new ID(this._serviceProvider.fs(),{getParseResults:()=>o},t.position,t.ch,e.editorIndentConfig,r,!!e.autoSplitStrings,i).formatOnType())?s:[]},i),2e3)}async handleResolveInlayHint(e,t,i){if(e.disableLanguageServices)return t;let r=(0,o5.uJ)(t.data);if(!r||!r.fileUri||!this.state.clientCapabilities.supportedInlayResolveCapabilitySet)return t;let n=s7(e).asyncProgram,a=await this._runAsyncWithMatchingSnapshot(n,i,async(e,i,r)=>{let n=e.getEvaluator(i);return await Pr(e,n,t,this.state.clientCapabilities.supportedInlayResolveCapabilitySet,r)});return null!=a?a:t}async handlePrepareRenameRequest(e,t,i){if(e.disableLanguageServices)return null;let r=this.state.convertLspUriStringToUri(t.textDocument.uri),n=r.isUntitled(),a=s7(e).asyncProgram,s=await this._runAsyncWithMatchingSnapshot(a,i,async(i,a,s)=>{let o=i.getEvaluator(a);return await new Cc(i,o,r,t.position,s).canRenameSymbol(e.kinds.includes(sL.mE.Default),n)});return null!=s?s:null}async handleRenameRequest(e,t,i){if(e.disableLanguageServices)return;let r=this.state.convertLspUriStringToUri(t.textDocument.uri),n=r.isUntitled(),a=s7(e).asyncProgram;return await this._runAsyncWithMatchingSnapshot(a,i,async(i,a,s)=>{let o=i.getEvaluator(a);return await new Cc(i,o,r,t.position,s).renameSymbol(t.newName,e.kinds.includes(sL.mE.Default),n)})}dispose(){var e,t,i,r;null==(e=this._pendingCommandCancellationSource)||e.cancel(),null==(t=this._pendingCommandCancellationSource)||t.dispose(),null==(i=this._pendingFindAllRefsCancellationSource)||i.cancel(),null==(r=this._pendingFindAllRefsCancellationSource)||r.dispose()}get _serviceProvider(){return this.state.serverOptions.serviceProvider}get _globalIndices(){return this._serviceProvider.tryGet(nM.globalIndices)}async _runAsyncWithMatchingSnapshot(e,t,i){return await e.runAsync(async e=>await lf(()=>e,async(t,r)=>await i(e,t,r),()=>!1,t),t)}async _runAsyncWithPositionAndMatchingSnapshot(e,t,i,r,n=e=>e){return await this.state.documentTransformer.runAsyncWithPosition(e,t,async(e,t)=>{let a=n(e);return await lf(()=>a,async(e,i)=>await r(a,e,t,i),()=>!1,i)},i)}_getSemanticTokensCacheKey(e,t){var i,r;let n=null!=(i=null==(r=e.rootUri)?void 0:r.toString())?i:"";return`${n}::${t.toString()}`}_incrementProgress(e){oy.isNotebookCell(e)?this._progressReportCellCount++:this._progressReportFileCount++,this._reportProgress(this._progressReportFileCount,this._progressReportCellCount)}_decrementProgress(e){oy.isNotebookCell(e)?this._progressReportCellCount--:this._progressReportFileCount--,this._reportProgress(this._progressReportFileCount,this._progressReportCellCount)}_setCompletionIncomplete(e,t){var i,r;let n=this._lastTriggerKind!==nZ.CompletionTriggerKind.TriggerForIncompleteCompletions||(null==(i=e.context)?void 0:i.triggerKind)!==nZ.CompletionTriggerKind.TriggerForIncompleteCompletions;this._lastTriggerKind=null==(r=e.context)?void 0:r.triggerKind,t&&(t.isIncomplete=n)}async _getSyncDefinitions(e,t,i,r,n){return await this.state.documentTransformer.runAsyncWithPosition(e,t,async(e,t)=>{let a=await e.getSnapshot(n);return await new Io(e,i,t,r,a,n).getDefinitions()},n)}async _getDefinitions(e,t,i){if(ll(e),e.disableLanguageServices)return;let r=this.state.convertLspUriStringToUri(t.textDocument.uri),n=await i(r,t.position);if(n)return n.filter(t=>lo(t.uri,e.service.fs)).map(t=>nZ.Location.create((0,ah.JQ)(e.service.fs,t.uri),t.range))}async _handleCompletionInternal(e,t,i,r,n){let a=(i,r,n,a,s,o,l)=>{var d;if(i)for(let e of i.items){let t=e.kind===nZ.CompletionItemKind.Keyword?ws:e.detail===oJ.Mm?wl:e.detail===oJ.hE?wd:r?wo:wa;e.command=s4(e.command,t)}if(this._setCompletionIncomplete(t,i),i&&this.state.clientCapabilities.hasVisualStudioExtensionsCapability&&(i._vsext_continueCharacters=["Lu","Ll","Lt","Lm","Lo","Mn","Mc","Lo","Me","Nd","Nl","No","Pc"].map(e=>({type:"unicodeClass",unicodeClass:e}))),i&&e.completeFunctionParens&&!l.isCancellationRequested)for(let r of i.items)!function(e,t,i,r,n){let a=oq.fromLSP(e).data;if(!(null==a?void 0:a.funcParensDisabled)&&(e.kind===nZ.CompletionItemKind.Function||e.kind===nZ.CompletionItemKind.Method||e.kind===nZ.CompletionItemKind.Class)){var s,o;let a=r?n4.z.parse(t,r.service.serviceProvider):sM._.instance,l=null==r||null==(s=r.service.backgroundAnalysisProgram.program.getSourceFile(a))?void 0:s.getParseResults(),d=l?(0,aW.bt)(i,l.tokenizerOutput.lines):void 0,u=l&&d?aL.dS(l.tokenizerOutput.tokens,d-1):void 0,p=l&&u?aL.l(l.tokenizerOutput.tokens,u.start):void 0;p&&p.type===aj.ks.OpenParenthesis||(e.textEdit?e.textEdit.newText=e.textEdit.newText+"($0)":e.insertText=(null!=(o=e.insertText)?o:e.label)+"($0)",e.insertTextFormat=nZ.InsertTextFormat.Snippet),n&&(e.command=s4(e.command,{title:"",command:s1.triggerParameterHints,arguments:[t]})),e.commitCharacters&&(e.commitCharacters=void 0)}}(r,t.textDocument.uri,t.position,e,!!this.state.serverOptions.hasVSCodeExtension);return o.addCustomMeasure("completionItems",null!=(d=null==i?void 0:i.items.length)?d:-1),n&&(o.addCustomMeasure("autoImportAdditionTimeInMS",n.additionTimeInMS),o.addCustomMeasure("autoImportIndexUsed",+!!n.indexUsed),o.addCustomMeasure("autoImportTotalTimeInMS",n.totalTimeInMS),o.addCustomMeasure("autoImportItemCount",n.itemCount,1),o.addCustomMeasure("autoImportSymbolCount",n.symbolCount,1),o.addCustomMeasure("autoImportIndexCount",n.indexCount,1),o.addCustomMeasure("autoImportImportAliasCount",n.importAliasCount,1),o.addCustomMeasure("autoImportModuleTimeInMS",n.moduleTimeInMS),o.addCustomMeasure("autoImportIndexTimeInMS",n.indexTimeInMS),o.addCustomMeasure("autoImportImportAliasTimeInMS",n.importAliasTimeInMS)),a&&(o.addCustomProperty("completionType",a.completionType),o.addCustomProperty("fileType",a.fileType)),s&&o.addCustomProperty("completionProviderKind",s),iP.sendStubCompletionTelemetryForMissingTypes(this._telemetry,i,r),this._completionCoverage.update(i,r),i};return e.enableAsyncProgram?await this._handleAsyncCompletions(e,t,i,r,a,n):await this._handleSyncCompletions(e,t,i,r,a,n)}async _handleSyncCompletions(e,t,i,r,n,a){return await oB(e,oN.COMPLETION_SLOW,async s=>this.state.documentTransformer.runWithPosition(e,t,(t,o)=>{let l=new k3(t,i,o,r,{nameMap:a8,indices:o6.getIndices(e)},!!this.state.serverOptions.supportsTelemetry,a);return n(l.getCompletions(),l.getMemberAccessInfo(),l.getAutoImportInfo(),l.getSlowCompletionInfo(),void 0,s,a)},a),1e3)}async _handleAsyncCompletions(e,t,i,r,n,a){let s=this._serviceProvider.tryGet(nM.globalIndices),o=e.service.getConfigOptions().indexing,l=e.service.id;return s&&h1.is(s)&&o&&s.isIndexingInProgress(l)&&await s.waitForIndexingComplete(l,a),await oB(e,oN.COMPLETION_SLOW,async s=>await this.state.documentTransformer.runAsyncWithPosition(e,t,async(t,o)=>{var l;return await t.symbolLookup.getSymbolsForFile(i),null!=(l=await lf(()=>t,async(a,l)=>{let d=new Ca(t,a,i,o,r,{nameMap:a8,indices:o6.getIndices(e)},!!this.state.serverOptions.supportsTelemetry,l);return n(await d.getCompletions(),d.getMemberAccessInfo(),d.getAutoImportInfo(),d.getSlowCompletionInfo(),d.getLastProviderKind(),s,l)},()=>!1,a))?l:null},a),1e3)}constructor(e,t,i){super(e),Pz(this,"_convertDiagnostics",void 0),Pz(this,"_reportProgress",void 0),Pz(this,"_telemetry",void 0),Pz(this,"_completionCoverage",void 0),Pz(this,"_progressReportFileCount",void 0),Pz(this,"_progressReportCellCount",void 0),Pz(this,"_pendingCommandCancellationSource",void 0),Pz(this,"_pendingFindAllRefsCancellationSource",void 0),Pz(this,"_semanticTokensCache",void 0),Pz(this,"_lastTriggerKind",void 0),this._convertDiagnostics=t,this._reportProgress=i,this._progressReportFileCount=0,this._progressReportCellCount=0,this._semanticTokensCache=new Map,this._lastTriggerKind=nZ.CompletionTriggerKind.Invoked,this._telemetry=this._serviceProvider.get(nM.telemetry),this._completionCoverage=new ix.CompletionTelemetry(this._telemetry)}}function PB(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class P${run(e,t,i,r){let n=oq.fromLSP(t).data,a=this._convertLspUriStringToUri(n.uri),s=n.position;return this._runCore(e,a,s,i,e=>(t.data={...n,position:e},t),r)}runWithPosition(e,t,i,r){let n=this._convertLspUriStringToUri(t.textDocument.uri);return this._runCore(e,n,t.position,i,e=>e,r)}runAsyncWithPosition(e,t,i,r){let n=this._convertLspUriStringToUri(t.textDocument.uri),a=e.service.asyncProgram;return this._runCoreAsyncWithProgram(a,e,n,t.position,i,e=>e,r)}_runCore(e,t,i,r,n,a){let s,o=e.service.getSourceFile(t),l=e.service.backgroundAnalysisProgram.program,d=null==o?void 0:o.getFileContent();if(void 0===d)return e.service.run(e=>r(e,n(i)),a);let u=this._transformers.filter(e=>e.canApply(l,t,i,a));if(0===u.length)return e.service.run(e=>r(e,n(i)),a);let p=new SC(t,d,this._console);return e.service.runEditMode(o=>{let l=e.service.backgroundAnalysisProgram.program;if(u.forEach(e=>e.apply(l,t,i,p,a)),!p.containsChange){s=r(l,n(i));return}let d=p.tryConvertFromOriginal(i);if(!d){s=r(l,n(i));return}null!=(s=r(l,n(d)))&&(s=this._convertResults(p,s))},a),s}async _runCoreAsyncWithProgram(e,t,i,r,n,a,s){let o,l=e.getParseResults(i),d=null==l?void 0:l.text;if(void 0===d)return await e.runAsync(e=>n(e,a(r)),s);let u=[];for(let t of this._transformers)await t.canApplyAsync(e,i,r,s)&&u.push(t);if(0===u.length)return await e.runAsync(e=>n(e,a(r)),s);let p=new SC(i,d,this._console);return await e.runEditModeAsync(async e=>{for(let t of u)await t.applyAsync(e,i,r,p,s);if(!p.containsChange){o=await n(e,a(r));return}let t=p.tryConvertFromOriginal(r);if(!t){o=await n(e,a(r));return}null!=(o=await n(e,a(t)))&&(o=this._convertResults(p,o))},s),o}_convertResults(e,t){var i,r;return t&&(0,n2.Lm)(t.isIncomplete)&&Array.isArray(t.items)?Pj.convertCompletionList(e,t):t&&(0,n2.Kg)(t.label)?Pj.convertCompletionItem(e,t):t&&(0,n2.cy)(t)&&(0===t.length||(i=t[0])&&n4.z.is(i.uri)&&aV(i.range))?Pj.convertDocumentRanges(e,t):t&&(0,n2.cy)(t)&&(0===t.length||aV(null==(r=t[0])?void 0:r.range))?Pj.convertDocumentHighlights(e,t):t}constructor(e,t,i){PB(this,"_transformers",void 0),PB(this,"_convertLspUriStringToUri",void 0),PB(this,"_console",void 0),this._transformers=e,this._convertLspUriStringToUri=t,this._console=i}}class Pj{static convertRange(e,t){return e.tryConvertToOriginal(t)}static convertTextEdit(e,t){let i=this.convertRange(e,t.range);if(i)return{...t,range:i}}static convertInsertionEdit(e,t){let i=this.convertRange(e,t.insert);if(!i)return;let r=this.convertRange(e,t.replace);if(r)return{...t,insert:i,replace:r}}static convertCompletionItemData(e,t){let i=e.tryConvertToOriginal(t.position);if(i)return{...t,position:i}}static convertCompletionItem(e,t){let i=t.textEdit?nZ.TextEdit.is(t.textEdit)?this.convertTextEdit(e,t.textEdit):this.convertInsertionEdit(e,t.textEdit):void 0;if(!i)return t;let r=t.additionalTextEdits;if(r)for(let i=0;i<r.length;i++){let n=this.convertTextEdit(e,r[i]);if(!n)return t;r[i]=n}let n=t.data?this.convertCompletionItemData(e,t.data):void 0;return{...t,textEdit:i,additionalTextEdits:r,data:n}}static convertCompletionList(e,t){for(let i=0;i<t.items.length;i++){let r=this.convertCompletionItem(e,t.items[i]);t.items[i]=r}return t}static convertDocumentRange(e,t){let i=this.convertRange(e,t.range);return i?{...t,range:i}:t}static convertDocumentRanges(e,t){for(let i=0;i<t.length;i++){if(!t[i].uri.equals(e.fileUri))continue;let r=this.convertDocumentRange(e,t[i]);t[i]=r}return t}static convertDocumentHighlights(e,t){for(let i=0;i<t.length;i++){let r=this.convertRange(e,t[i].range);r&&(t[i]={...t[i],range:r})}return t}}class PK{async canApplyAsync(e,t,i,r){let n=this._tryGetFixtureFinderAsync(e);if(!n||!n.isTestFile(t))return!1;let a=this._tryGetContainingFunctionNode(e.getParseResults(t),i);if(!a)return!1;await n.hasPytestAsync();let s=await e.getSnapshot(r);return n.isTestFunction(a)||await n.isFixtureFunctionAsync(a,s,r)}canApply(e,t,i,r){(0,n8.Lj)(r);let n=this._tryGetFixtureFinder(e);if(!n||!n.isTestFile(t))return!1;let a=this._tryGetContainingFunctionNode(e.getParseResults(t),i);return!!a&&(n.isTestFunction(a)||n.isFixtureFunction(a))}async applyAsync(e,t,i,r,n){let a=this._tryGetFixtureFinderAsync(e),s=this._tryGetContainingFunctionNode(e.getParseResults(t),i),o=[],l=e.getParseResults(t),d=new Map,u=await e.getSnapshot(n),p=e.getEvaluator(u);for(let e of s.d.params){if((0,n8.Lj)(n),!e.d.name||e.d.annotation||e.d.annotationComment||e.d.defaultValue)continue;let t=await a.findMatchingFixturesAsync(e,t=>this._fixtureEquals(t,e.d.name.d.value),u,n);if(0===t.length)continue;let i=t[0],r=await hh(a,i,!0,u,n);if(!r)continue;d.set(e,r);let s=(0,aW.l8)(aB.vY.getEnd(e),null==l?void 0:l.tokenizerOutput.lines),c=await p.printType(r,{expandTypeAlias:!0,enforcePythonSyntax:!0});o.push({range:{start:s,end:s},replacementText:` : ${c}`})}let c=e.getSourceFileInfo(t),h=await this._generateImportEdits(e,c,d,n);return r.applyChanges([...o,...h]),e.updateFileContents(t,r.currentDocument),await e.waitForPendingUpdates(n),!0}apply(e,t,i,r,n){var a,s;let o=this._tryGetFixtureFinder(e),l=this._tryGetContainingFunctionNode(e.getParseResults(t),i),d=[],u=e.getParseResults(t),p=e.evaluator,c=new Map;for(let e of l.d.params){if((0,n8.Lj)(n),!e.d.name||e.d.annotation||e.d.annotationComment||e.d.defaultValue)continue;let t=o.findMatchingFixtures(e,t=>this._fixtureEquals(t,e.d.name.d.value),n);if(0===t.length)continue;let i=hc(o,t[0],!0,n);c.set(e,i);let r=(0,aW.l8)(aB.vY.getEnd(e),null==u?void 0:u.tokenizerOutput.lines),a=p.printType(i,{expandTypeAlias:!0,enforcePythonSyntax:!0});d.push({range:{start:r,end:r},replacementText:` : ${a}`})}let h=t.addPath(`_chained_${kQ}.py`),m=e.getSourceFileInfo(t),y=this._updateChainedFile(e,m,c,h,n);return e.setFileOpened(h,0,y,{chainedFileUri:null==(s=m.chainedSourceFile)?void 0:s.uri,ipythonMode:m.ipythonMode,isTracked:!1}),r.applyChanges(d),e.setFileOpened(t,null!=(a=m.clientVersion)?a:0,r.currentDocument,{chainedFileUri:h,ipythonMode:m.ipythonMode,isTracked:m.isTracked}),e.updateChainedUri(t,h),!0}_updateChainedFile(e,t,i,r,n){var a;e.setFileOpened(r,0,"",{chainedFileUri:null==(a=t.chainedSourceFile)?void 0:a.uri,ipythonMode:t.ipythonMode,isTracked:!1});let s=new fV(e);s.appendImportInfoForTypes(t.uri,[...i.entries()].map(e=>({type:e[1],node:e[0].d.name})),n);let o=e.getParseResults(r),l=s.applyImports(r,o,0,o9.Absolute,n);return(0,fI.lq)(l,o.tokenizerOutput.lines,"")}async _generateImportEdits(e,t,i,r){let n=await e.getSnapshot(r),a=await e.getPythonSearchPaths(n,r),s=new fz(e,a||[],n);await s.appendImportInfoForTypes(t.uri,[...i.entries()].map(e=>({type:e[1],node:e[0].d.name})),r);let o=e.getParseResults(t.uri);return await s.applyImports(t.uri,o,0,o9.Absolute,r)}_fixtureEquals(e,t){return c6(e,!0)===t}_tryGetFixtureFinder(e){return e.serviceProvider.tryGet(nM.fixtureFinder)}_tryGetFixtureFinderAsync(e){return e.serviceProvider.tryGet(nM.asyncFixtureFinder)}_tryGetContainingFunctionNode(e,t){if(!e)return;let i=(0,aW.bt)(t,e.tokenizerOutput.lines);if(!i)return;let r=(0,aL.gr)(e.parserOutput.parseTree,i);if(r)return this._tryGetModuleLevelFunctionNode(r)}_tryGetModuleLevelFunctionNode(e){var t;let i=(0,aL.hP)(e);if(i)return(null==(t=i.parent)?void 0:t.nodeType)===aO.ye.Module?i:this._tryGetModuleLevelFunctionNode(i)}}function PV(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class Pq{get hostKind(){return this._hostKind}set hostKind(e){this._hostKind=e}get serverMode(){return this._serverMode}set serverMode(e){this._serverMode=e}convertLspUriStringToUri(e){return hJ(e,this._caseSensitiveDetector,this._uriMapper)}registerDynamicFeatures(){this._dynamicFeatures.register()}updateDynamicFeatures(e){this._dynamicFeatures.update(e)}addDynamicFeature(e){this._dynamicFeatures.add(e)}dispose(){this.openFileMap.clear(),this._dynamicFeatures.unregister(),this.serverOptions.serviceProvider.remove(nM.clientCapabilities),this.disposable.forEach(e=>e.dispose()),this.disposable.length=0,this.inExperimentCache.clear()}get _console(){return this.serverOptions.serviceProvider.console()}get _uriMapper(){return this.serverOptions.serviceProvider.uriMapper()}get _caseSensitiveDetector(){return this.serverOptions.serviceProvider.get(n7.y.caseSensitivityDetector)}constructor(e){PV(this,"serverOptions",void 0),PV(this,"_dynamicFeatures",void 0),PV(this,"_hostKind",void 0),PV(this,"_serverMode",void 0),PV(this,"openFileMap",void 0),PV(this,"disposable",void 0),PV(this,"clientCapabilities",void 0),PV(this,"inExperimentCache",void 0),PV(this,"documentTransformer",void 0),this.serverOptions=e,this._dynamicFeatures=new SO.z,this._hostKind=dC.n.LimitedAccess,this._serverMode="language-server",this.openFileMap=new Map,this.disposable=[],this.clientCapabilities={hasConfigurationCapability:!1,hasVisualStudioExtensionsCapability:!1,hasWorkspaceFoldersCapability:!1,hasWatchFileCapability:!1,hasWatchFileRelativePathCapability:!1,hasActiveParameterCapability:!1,hasSignatureLabelOffsetCapability:!1,hasHierarchicalDocumentSymbolCapability:!1,hasWindowProgressCapability:!1,hasGoToDeclarationCapability:!1,hasDocumentChangeCapability:!1,hasDocumentAnnotationCapability:!1,hasCompletionCommitCharCapability:!1,hoverContentFormat:nZ.MarkupKind.PlainText,completionDocFormat:nZ.MarkupKind.PlainText,completionSupportsSnippet:!1,signatureDocFormat:nZ.MarkupKind.PlainText,supportsDeprecatedDiagnosticTag:!1,supportsUnnecessaryDiagnosticTag:!1,supportsTaskItemDiagnosticTag:!1,completionItemResolveSupportsAdditionalTextEdits:!1,supportsPullDiagnostics:!1,requiresPullRelatedInformationCapability:!1,supportsCodeActionResolve:!1},this.inExperimentCache=new Map,global.__rootDirectory=e.rootDirectory.getFilePath(),this._console.info(`Server root directory: ${e.rootDirectory}`);const t=e.serviceProvider.fs(),i=t.getModulePath();i&&t.existsSync(i)&&t.chdir(i),n6.vA(t.existsSync(e.rootDirectory.combinePaths(ac.v3)),`Unable to locate typeshed fallback folder at '${e.rootDirectory}'`),this.documentTransformer=new P$([new PK],this.convertLspUriStringToUri.bind(this),this.serverOptions.serviceProvider.console()),this.serverOptions.serviceProvider.add(nM.clientCapabilities,this.clientCapabilities)}}var PG=i(57159);function PH(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class PJ{canRenameSymbol(e,t){if((0,n8.Lj)(this._token),!this._parseResults)return null;let i=this._getReferenceResult(e);return i&&"none"!==PG.K.getRenameSymbolMode(this._program,this._fileUri,i,e,t)?(0,aW.oG)(i.nodeAtOffset,this._parseResults.tokenizerOutput.lines):null}renameSymbol(e,t,i){if((0,n8.Lj)(this._token),!this._parseResults)return null;let r=this._getReferenceResult(t);if(!r)return null;let n=Su.getRenameModulePathInfo(Su.getRenameModulePath(r.declarations),e);if(!n)return null;let a=new Su(this._program,n.fileUri,n.newFileUri,void 0,this._token).renameModule();if(!a)return null;if(a.fileOperations.push({kind:"rename",oldFileUri:n.fileUri,newFileUri:n.newFileUri}),(0,cu.x)(n.fileUri))for(let t of this._program.importResolver.getSourceFilesFromStub(n.fileUri,this._program.configOptions.findExecEnvironment(this._fileUri),!1)){let i=Su.getRenameModulePathInfo(t,e);i&&!a.fileOperations.some(e=>"rename"===e.kind&&e.newFileUri.equals(i.newFileUri)&&e.oldFileUri.equals(i.fileUri))&&a.fileOperations.push({kind:"rename",oldFileUri:i.fileUri,newFileUri:i.newFileUri})}return(0,fI.WN)(this._program.fileSystem,a)}_supportRenameModule(e,t){return!t&&e.every(e=>(0,aR.xX)(this._program.getSourceFileInfo(e.uri)))}_getReferenceResult(e){let t=sU.iH.getDeclarationForPosition(this._program,this._fileUri,this._position,void 0,sz.P.Rename,this._token);if(t&&t.containsOnlyImportDecls&&this._supportRenameModule(t.declarations,e))return t}constructor(e,t,i,r){PH(this,"_program",void 0),PH(this,"_fileUri",void 0),PH(this,"_position",void 0),PH(this,"_token",void 0),PH(this,"_parseResults",void 0),this._program=e,this._fileUri=t,this._position=i,this._token=r,this._parseResults=this._program.getParseResults(this._fileUri)}}class PY{canRenameSymbol(e,t){for(let i of this._providers){let r=i.canRenameSymbol(e,t);if(r)return r}return null}renameSymbol(e,t,i){for(let r of this._providers){if(!r.canRenameSymbol(t,i))continue;let n=r.renameSymbol(e,t,i);if(n)return n}return null}constructor(e,t,i,r){var n,a;a=void 0,(n="_providers")in this?Object.defineProperty(this,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):this[n]=a,this._providers=[new PG.K(e,t,i,r),new PJ(e,t,i,r)]}}class PQ extends ld{handleCompletionResolve(e,t,i){let r=oq.fromLSP(t).data;if(!r||!r.uri)return t;let n=this.state.convertLspUriStringToUri(r.uri);return this.state.documentTransformer.run(e,t,(t,r)=>{let a=oq.fromLSP(r).data;return new k3(e.service.backgroundAnalysisProgram.program,n,a.position,this.getCompletionOptions(e),{nameMap:a8,indices:o6.getIndices(e)},!!this.state.serverOptions.supportsTelemetry,i).resolveCompletionItem(r),r},i)}handlePrepareRenameRequest(e,t,i){if(e.disableLanguageServices)return null;let r=this.state.convertLspUriStringToUri(t.textDocument.uri);this._ensureFileOpenedInWorkspace(e,r);let n=r.isUntitled();return e.service.run(a=>new PY(a,r,t.position,i).canRenameSymbol(e.kinds.includes(sL.mE.Default),n),i)}handleRenameRequest(e,t,i){if(e.disableLanguageServices)return;let r=this.state.convertLspUriStringToUri(t.textDocument.uri);this._ensureFileOpenedInWorkspace(e,r);let n=r.isUntitled();return e.service.run(a=>new PY(a,r,t.position,i).renameSymbol(t.newName,e.kinds.includes(sL.mE.Default),n),i)}handleDocumentOnTypeFormatting(e,t,i,r){if(e.disableLanguageServices)return[];let n=this.state.convertLspUriStringToUri(t.textDocument.uri),a=e.service.getSourceFile(n);return a?oB(e,oN.FORMATONTYPE_SLOW,()=>{var n;return null!=(n=new ID(this._fs,a,t.position,t.ch,e.editorIndentConfig,r,!!e.autoSplitStrings,i).formatOnType())?n:[]},2e3):[]}handleFoldingRanges(e,t,i){if(e.disableLanguageServices)return[];let r=this.state.convertLspUriStringToUri(t.textDocument.uri),n=e.service.getParseResults(r);return n?bo.getFoldingRanges(n,i):[]}handleSelectionRanges(e,t,i){if(e.disableLanguageServices)return[];let r=this.state.convertLspUriStringToUri(t.textDocument.uri),n=e.service.getParseResults(r);return n?t.positions.map(e=>({line:e.line,character:e.character})).map(e=>{var t;return null!=(t=PU.getSmartSelectionRange(n,e,i))?t:nZ.SelectionRange.create((0,aB.rV)(),void 0)}):[]}handleResolveInlayHint(e,t,i){if(e.disableLanguageServices)return t;let r=(0,o5.uJ)(t.data);return r&&r.fileUri&&this.state.clientCapabilities.supportedInlayResolveCapabilitySet?s7(e).onResolveInlayHint(t,this.state.clientCapabilities.supportedInlayResolveCapabilitySet,i):t}handleInlineValues(e,t,i){if(e.disableLanguageServices)return null;let r=this.state.convertLspUriStringToUri(t.textDocument.uri);if(r.hasExtension(".pyi"))return null;let n=e.service.getSourceFile(r);if(!n)return null;let a=n.getParseResults(),s=null==a?void 0:a.parserOutput.parseTree;return a&&s?PO(a,t.context.stoppedLocation):null}handleDocumentColor(e,t,i){if(e.disableLanguageServices)return[];let r=this.state.convertLspUriStringToUri(t.textDocument.uri),n=e.service.getSourceFile(r);return n?oB(e,oN.DOCUMENTCOLOR_SLOW,()=>{var e;return null!=(e=new PR(n,i).getDocumentColors())?e:[]},2e3):[]}handleColorPresentation(e,t,i){if(e.disableLanguageServices)return[];let r=this.state.convertLspUriStringToUri(t.textDocument.uri),n=e.service.getSourceFile(r);if(!n)return[];let a=new PR(n,i).getColorPresentation(t.color,t.range);return a?[a]:[]}dispose(){}get _fs(){return this.state.serverOptions.serviceProvider.fs()}get _globalIndices(){return this.serviceProvider.tryGet(nM.globalIndices)}_ensureFileOpenedInWorkspace(e,t){let i=this.state.openFileMap.get(t.key);!i||e.service.getSourceFile(t)||e.service.setFileOpened(t,i.version,i.getText(),sA.Bk.None)}constructor(e){super(e)}}function PX(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function PZ(e,t,i,r){var n,a=arguments.length,s=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,r);else for(var o=e.length-1;o>=0;o--)(n=e[o])&&(s=(a<3?n(s):a>3?n(t,i,s):n(t,i))||s);return a>3&&s&&Object.defineProperty(t,i,s),s}function P0(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}class P1{get state(){return this._syncLS.state}get workspacePullHasStarted(){return void 0!==this._workspaceDiagnosticsReporter}initialize(e){this._providerOpt=e}convertLspUriStringToUri(e){return this._syncLS.state.convertLspUriStringToUri(e)}handleAnalysisStarting(e){if(!this._client.supportsPullDiagnostics){var t;null==(t=this._externalServerController)||t.analyzeWorkspaces([e],!!e.service.backgroundAnalysisProgram.configOptions.checkOnlyOpenFiles,nZ.CancellationToken.None)}}handleDidChangeWatchedFiles(e,t){var i;t.changes.forEach(e=>{let t=this._fs.realCasePath(this.convertLspUriStringToUri(e.uri)),i=1===e.type?"add":"change";this._serverOptions.fileWatcherHandler.onFileChange(i,t)}),null==(i=this._externalServerController)||i.handleDidChangeWatchedFiles(t),e.forEach(e=>{e.service.filesChanged(t.changes)})}handleDidOpenTextDocument(e,t,i=sA.Bk.None){var r;null==(r=this._externalServerController)||r.handleDidOpenTextDocument(t);let n=this.convertLspUriStringToUri(t.textDocument.uri),a=this.state.openFileMap.get(n.key);a?(this._console.error(`Received redundant open text document command for ${n}`),h6.TextDocument.update(a,[{text:t.textDocument.text}],t.textDocument.version)):a=h6.TextDocument.create(t.textDocument.uri,"python",t.textDocument.version,t.textDocument.text),this.state.openFileMap.set(n.key,a),e.forEach(e=>{e.service.setFileOpened(n,t.textDocument.version,t.textDocument.text,i)})}handleDidChangeTextDocument(e,t,i=sA.Bk.None){var r;ll(e),null==(r=this._externalServerController)||r.handleDidChangeTextDocument(t);let n=this.convertLspUriStringToUri(t.textDocument.uri),a=this.state.openFileMap.get(n.key);if(!a)return void this._console.error(`Received change text document command for closed file ${n}`);let s=SP(a,t.contentChanges);h6.TextDocument.update(a,t.contentChanges,t.textDocument.version);let o=a.getText();e.forEach(e=>{e.service.updateOpenFileContents(n,t.textDocument.version,o,i,s)})}handleDidCloseTextDocument(e,t){var i;let r=this.convertLspUriStringToUri(t.textDocument.uri);e.forEach(e=>{e.service.setFileClosed(r)}),this.state.openFileMap.delete(r.key),null==(i=this._externalServerController)||i.handleDidCloseTextDocument(t)}async handleShutdown(e){var t,i,r;this.state.openFileMap.clear(),this._serverOptions.serviceProvider.dispose(),this._finishWorkspaceDiagnostics(),await (null==(t=this._externalServerController)?void 0:t.handleShutdown()),await (null==(r=this._typeProviderServiceFactory)||null==(i=r.current)?void 0:i.shutdown())}addDisposables(...e){this.state.disposable.push(...e)}async handleAnalysisCompletedHandler(e,t,i,r){let n=this._serverOptions.serviceProvider.tryGet(nM.pthService);n&&(i.editablePthCount=n.getCountEditablePthFiles(e,t.importResolver.getPythonSearchPaths(),t.configOptions.defaultExtraPaths),i.computedPthCount=n.getCountComputedPthFiles(t.configOptions.pythonPath)),i.diagnosticsSeen=l_(i.diagnostics),(this._externalServerController?await this._externalServerController.combinePushResults(i):i).diagnostics.forEach(t=>{lo(t.fileUri,e)&&r(this.convertDiagnostics(e,t),this._workspaceDiagnosticsReporter)});let a=this._getAnalysisProgressReporter();a.isEnabled(i)?this._sendProgressMessage(i.requiringAnalysisCount.files,i.requiringAnalysisCount.cells):a.end()}handleClearDiagnostics(e,t){e.forEach(e=>{t([{uri:e,diagnostics:[]}],this._workspaceDiagnosticsReporter)})}updateSettingsForAllWorkspaces(){var e;this.registerDynamicFeatures(),null==(e=this._externalServerController)||e.handleDidChangeSettings()}updateOptionsAndRestartService(e,t){var i,r;SE.V.runWithOptions(e,t,{pythonEnvironmentName:e.pythonEnvironmentName}),e.searchPathsToWatch=null!=(i=e.service.librarySearchUrisToWatch)?i:[],e.disableLanguageServices=!!t.disableLanguageServices,e.disableTaggedHints=!!t.disableTaggedHints,e.disableOrganizeImports=!!t.disableOrganizeImports,(r=this._telemetry).enableExtra&&r.enableExtra(!!t.reportExtraTelemetry),hX(e,t).then(()=>{var t;iF.sendNotification(this._connection,iF.Notifications.TestSignal,{uri:(null==(t=e.rootUri)?void 0:t.toString())||"",kind:iF.TestSignalKinds.PackageDiscoveryDone})}).catch(()=>{}),function(e,t,i){let r=i.typeCheckingMode&&"off"!==i.typeCheckingMode,n=i.diagnosticSeverityOverrides&&Object.entries(i.diagnosticSeverityOverrides).length>0;if(t.rootUri&&!t.rootUri.isEmpty()&&(r||n)){let i=(0,sF.if)(t.service.fs,t.rootUri),r=(0,sF.kt)(t.service.fs,t.rootUri);i||r&&t.service.fs.readFileSync(r,"utf8").includes("[tool.pyright]")?e.addPropertyToNextEvent(oN.SETTINGS,"unusableCompilerFlags","true"):e.addPropertyToNextEvent(oN.SETTINGS,"unusableCompilerFlags","false")}else e.addPropertyToNextEvent(oN.SETTINGS,"unusableCompilerFlags","false")}(this._telemetry,e,t)}updateExtensionSettings(e,t){var i,r;e.service.updateSettings(t),null==(i=e.service.serviceProvider.tryGet(n7.y.stateMutationListeners))||i.forEach(e=>{var i;return null==(i=e.onUpdateSettings)?void 0:i.call(e,t)}),e.rootUri&&!n4.z.isDefaultWorkspace(e.rootUri)&&(null==(r=this._externalServerController)||r.handleUpdateSettings({uri:e.rootUri.toString(),name:e.workspaceName},t))}reanalyze(){this._provider.getWorkspaces().forEach(e=>e.service.invalidateAndForceReanalysis(gX.q.Reanalyzed))}restart(){this._provider.getWorkspaces().forEach(e=>e.service.restart())}handleWorkspaceFoldersChanged(e){var t;null==(t=this._externalServerController)||t.handleWorkspaceFoldersChanged({event:e})}registerDynamicFeatures(){this.state.registerDynamicFeatures()}updateDynamicFeatures(e){this.state.updateDynamicFeatures(e)}convertDiagnostics(e,t){return[{uri:(0,ah.JQ)(e,t.fileUri),version:t.version,diagnostics:this._convertDiagnostics(e,t.diagnostics)}]}handleInitialize(e,t,i,r,n){var a,s,o,l,d,u,p,c,h,m,y,g,f,v,_,T,w,b,S,k,I,C,P,x,F,A,D,E,R,N,M,O,U,L,z,W,B,$,j,K,V,q,G,H,J,Y,Q,X,Z,ee,et,ei,er,en,ea,es;let eo=null!=(a=e.initializationOptions)?a:{};this._serverOptions.hasVSCodeExtension&&function(e){if(void 0===e||nG!==JSON.parse(e))throw Error(`${nG}
`)}(eo.clientVerification),e.locale&&(0,ov.zf)(e.locale),this.state.serverMode=null!=(s=eo.serverMode)?s:"language-server";let el=e.capabilities;this._client.hasConfigurationCapability=!!(null==(d=el.workspace)?void 0:d.configuration),this._client.hasWatchFileCapability=!!(null==(p=el.workspace)||null==(u=p.didChangeWatchedFiles)?void 0:u.dynamicRegistration),this._client.hasWatchFileRelativePathCapability=!!(null==(h=el.workspace)||null==(c=h.didChangeWatchedFiles)?void 0:c.relativePatternSupport),this._client.hasWorkspaceFoldersCapability=!!(null==(m=el.workspace)?void 0:m.workspaceFolders),this._client.hasVisualStudioExtensionsCapability=!!el._vs_supportsVisualStudioExtensions,this._client.hasActiveParameterCapability=!!(null==(f=el.textDocument)||null==(g=f.signatureHelp)||null==(y=g.signatureInformation)?void 0:y.activeParameterSupport),this._client.hasSignatureLabelOffsetCapability=!!(null==(w=el.textDocument)||null==(T=w.signatureHelp)||null==(_=T.signatureInformation)||null==(v=_.parameterInformation)?void 0:v.labelOffsetSupport),this._client.hasHierarchicalDocumentSymbolCapability=!!(null==(S=el.textDocument)||null==(b=S.documentSymbol)?void 0:b.hierarchicalDocumentSymbolSupport),this._client.hasDocumentChangeCapability=!!(null==(I=el.workspace)||null==(k=I.workspaceEdit)?void 0:k.documentChanges)&&!!(null==(C=el.workspace.workspaceEdit)?void 0:C.resourceOperations),this._client.hasDocumentAnnotationCapability=!!(null==(x=el.workspace)||null==(P=x.workspaceEdit)?void 0:P.changeAnnotationSupport),this._client.hasCompletionCommitCharCapability=!!(null==(D=el.textDocument)||null==(A=D.completion)||null==(F=A.completionList)?void 0:F.itemDefaults)&&!!(null==(E=el.textDocument.completion.completionItem)?void 0:E.commitCharactersSupport),this._client.hoverContentFormat=this._getCompatibleMarkupKind(null==(N=el.textDocument)||null==(R=N.hover)?void 0:R.contentFormat),this._client.completionDocFormat=this._getCompatibleMarkupKind(null==(U=el.textDocument)||null==(O=U.completion)||null==(M=O.completionItem)?void 0:M.documentationFormat),this._client.completionSupportsSnippet=!!(null==(W=el.textDocument)||null==(z=W.completion)||null==(L=z.completionItem)?void 0:L.snippetSupport),this._client.signatureDocFormat=this._getCompatibleMarkupKind(null==(j=el.textDocument)||null==($=j.signatureHelp)||null==(B=$.signatureInformation)?void 0:B.documentationFormat);let ed=(null==(q=el.textDocument)||null==(V=q.publishDiagnostics)||null==(K=V.tagSupport)?void 0:K.valueSet)||[];return(this._client.supportsUnnecessaryDiagnosticTag=ed.some(e=>e===nZ.DiagnosticTag.Unnecessary),this._client.supportsDeprecatedDiagnosticTag=ed.some(e=>e===nZ.DiagnosticTag.Deprecated),this._client.supportsTaskItemDiagnosticTag=this._client.hasVisualStudioExtensionsCapability,this._client.hasWindowProgressCapability=!!(null==(G=el.window)?void 0:G.workDoneProgress),this._client.hasGoToDeclarationCapability=!!(null==(H=el.textDocument)?void 0:H.declaration),this._client.completionItemResolveSupportsAdditionalTextEdits=!!(null==(X=el.textDocument)||null==(Q=X.completion)||null==(Y=Q.completionItem)||null==(J=Y.resolveSupport)?void 0:J.properties.some(e=>"additionalTextEdits"===e)),this._client.supportsPullDiagnostics=!!(null==(ee=el.textDocument)||null==(Z=ee.diagnostic)?void 0:Z.dynamicRegistration)&&!!eo.supportsPullDiagnostics,this._client.requiresPullRelatedInformationCapability=!!(null==(ei=el.textDocument)||null==(et=ei.diagnostic)?void 0:et.relatedInformation)&&!!eo.supportsPullDiagnostics,this._client.supportsCodeActionResolve=!!(null==(ea=el.textDocument)||null==(en=ea.codeAction)||null==(er=en.resolveSupport)?void 0:er.properties.some(e=>"edit"===e)),i.handleInitialize(e),null==(es=this._externalServerController)||es.handleInitialize(e),this._client.hasWatchFileCapability&&this._addDynamicFeature(new SN.c(t,this._client.hasWatchFileRelativePathCapability,this._fs,i)),this._client.hasExperimentationSupport=null!=(o=null==eo?void 0:eo.experimentationSupport)&&o,this._client.hasTrustedWorkspaceSupport=null!=(l=null==eo?void 0:eo.trustedWorkspaceSupport)&&l,this._serverOptions.disableClientFileWatching&&(this._client.hasWatchFileCapability=!1),"language-server"===this.state.serverMode)?this.createLanguageServerInitializeResult(e,t,n,r):this.createCopilotInitializeResult(e)}createLanguageServerInitializeResult(e,t,i,r){var n,a,s,o,l,d,u,p,c,h,m,y,g,f,v,_,T,w;let b=null!=(n=e.initializationOptions)?n:{},S=e.capabilities,k={capabilities:{textDocumentSync:nZ.TextDocumentSyncKind.Incremental,definitionProvider:{workDoneProgress:!0},declarationProvider:{workDoneProgress:!0},typeDefinitionProvider:{workDoneProgress:!0},referencesProvider:{workDoneProgress:!0},documentSymbolProvider:{workDoneProgress:!0},workspaceSymbolProvider:{workDoneProgress:!0},hoverProvider:{workDoneProgress:!0},documentHighlightProvider:{workDoneProgress:!0},renameProvider:{prepareProvider:!0,workDoneProgress:!0},completionProvider:{triggerCharacters:this._client.hasVisualStudioExtensionsCapability?[".","[","@",'"',"'"]:[".","[",'"',"'"],resolveProvider:!0,workDoneProgress:!0,completionItem:{labelDetailsSupport:!0}},signatureHelpProvider:{triggerCharacters:["(",",",")"],workDoneProgress:!0},codeActionProvider:{codeActionKinds:i,workDoneProgress:!0,resolveProvider:this._client.supportsCodeActionResolve},executeCommandProvider:{commands:r,workDoneProgress:!0},callHierarchyProvider:!0,workspace:{workspaceFolders:{supported:!0,changeNotifications:!0}}}},I=null==(o=S.textDocument)?void 0:o.semanticTokens;if(I){let e=vZ.computeLegend(I);k.capabilities.semanticTokensProvider={legend:e,range:!0,full:{delta:!0}},this._client.hasSemanticTokensRefreshCapability=!!(null==(m=S.workspace)||null==(h=m.semanticTokens)?void 0:h.refreshSupport),this._client.hasAugmentsSyntaxTokensCapability=!!I.augmentsSyntaxTokens||void 0===I.augmentsSyntaxTokens}let C=null==(l=S.textDocument)?void 0:l.inlayHint;return C&&(this._client.hasInlayHintRefreshCapability=!!(null==(g=S.workspace)||null==(y=g.inlayHint)?void 0:y.refreshSupport),this._client.supportedInlayResolveCapabilitySet=new Set((null==b?void 0:b.resolveInlayHintEdit)?null==(f=C.resolveSupport)?void 0:f.properties:[])),(null==(u=e.capabilities.workspace)||null==(d=u.fileOperations)?void 0:d.willRename)&&(k.capabilities.workspace={fileOperations:{willRename:{filters:[{pattern:{glob:`**/*.{${au.ZG.map(e=>e.substr(1)).join(",")}}`,matches:"file"}},{pattern:{glob:"**",matches:"folder"}}]}}}),null!=(a=null==(c=e.capabilities.textDocument)||null==(p=c.onTypeFormatting)?void 0:p.dynamicRegistration)&&a&&b.documentSelector?this._addDynamicFeature(new SL(t,b.documentSelector,null!=(v=b.autoIndent)&&v,null!=(_=b.autoFormatStrings)&&_)):k.capabilities.documentOnTypeFormattingProvider=hY(null!=(T=b.autoIndent)&&T,null!=(w=b.autoFormatStrings)&&w,console),k.capabilities.foldingRangeProvider=!0,k.capabilities.selectionRangeProvider=!0,k.capabilities.inlayHintProvider={resolveProvider:null!=(s=b.resolveInlayHintEdit)&&s},k.capabilities.notebookDocumentSync=b.regularWorkspace?hM:hO,k.capabilities.typeHierarchyProvider=!0,k.capabilities.implementationProvider=!0,k.capabilities.inlineValueProvider=!0,k.capabilities.colorProvider=!!b.enableColorPicker,k.capabilities.codeLensProvider={resolveProvider:!0},this._client.supportsPullDiagnostics&&this._addDynamicFeature(new SM.R(t,this._serverOptions.productName)),k}createCopilotInitializeResult(e){var t;let i=null!=(t=e.initializationOptions)?t:{},r={capabilities:{textDocumentSync:nZ.TextDocumentSyncKind.Incremental,workspace:{workspaceFolders:{supported:!0,changeNotifications:!0}}}};return r.capabilities.notebookDocumentSync=i.regularWorkspace?hM:hO,r}handleSettingsChanged(e,t,i,r,n,a,s){var o;let l={autoSearchPaths:!0,disableLanguageServices:!1,openFilesOnly:!0,useLibraryCodeForTypes:!0,watchForSourceChanges:!0,watchForLibraryChanges:!0,watchForConfigChanges:!0,typeCheckingMode:"off",diagnosticSeverityOverrides:{},diagnosticBooleanOverrides:{},logLevel:n1.$b.Info,autoImportCompletions:!0,indexing:!0,completeFunctionParens:!1,enableExtractCodeAction:!0,indexOptions:JSON.parse(JSON.stringify(hU)),variableInlayTypeHints:!1,callArgumentNameInlayHints:hN.off,functionReturnInlayTypeHints:!1,pytestParametersInlayTypeHints:!1,importFormat:o9.Absolute,includeFileSpecs:[],excludeFileSpecs:[],ignoreFileSpecs:[],formatOnType:!0,taskListTokens:[],enablePytestSupport:!0,gotoDefinitionInStringLiteral:!1,remapDiagnostics:!1,generateWithTypeAnnotation:!1,languageServerMode:"default",enableEditableInstalls:!1,enablePerfTelemetry:!1,enableMangleName:!1,enableAsyncProgram:!1,enableExternalTypeServer:!1,findRefsInBackgroundThread:!1,typeServerExecutable:n4.z.empty(),typeServerArguments:[],referencesCodeLens:!1,supportDocstringTemplate:!1,includeExtraPathSymbolsInSymbolSearch:!1,includeVenvInWorkspaceSymbols:!1},d=!1,u=t.service.serviceProvider.console();try{let o;i&&hq(l,t,i,e),r&&(hG(l,t,r,e),d=!!r._forceProgressBar),n&&hH(l,t,n),a&&((0,n2.Lm)(a.formatOnType)&&(l.formatOnType=a.formatOnType),o={defaultTabSequence:oo.defaultTabSequence,tabSize:oo.tabSize},(0,n2.Lm)(a.insertSpaces)&&(a.insertSpaces?(0,n2.Et)(a.indentSize)?o.defaultTabSequence=" ".repeat(a.indentSize):"tabSize"===a.indentSize&&(0,n2.Et)(a.tabSize)&&(o.defaultTabSequence=" ".repeat(a.tabSize)):o.defaultTabSequence=" "),(0,n2.Et)(a.tabSize)&&(o.tabSize=a.tabSize),l.editorIndentConfig=o),s&&s.localeOverride&&(0,n2.Kg)(s.localeOverride)&&(l.copilotOutputLanguage=s.localeOverride)}catch(e){u.error(`Error reading settings: ${e}`)}let p=t.service.serviceProvider.get(nM.settingTransformer).transformSettings(l,t);return this._progressBarEnabled=d||"off"!==l.typeCheckingMode||Object.values(l.diagnosticSeverityOverrides).some(e=>"none"!==e),l.enableExternalTypeServer&&this.workspacePullHasStarted&&(this._finishWorkspaceDiagnostics(),this._serverOptions.testing)&&iF.sendNotification(this._connection,iF.Notifications.TestSignal,{uri:null==(o=t.rootUri)?void 0:o.toString(),kind:iF.TestSignalKinds.WorkspaceDiagnosticsRefresh}),u.log(`Server settings returned for workspace: ${t.rootUri}: ${JSON.stringify(p,null,2)}`),p}handleUpdateSettingsForWorkspace(e,t,i){var r,n,a,s,o;e.completeFunctionParens=!!t.completeFunctionParens,e.enableExtractCodeAction=!!t.enableExtractCodeAction,e.includeExtraPathSymbolsInSymbolSearch=!!t.includeExtraPathSymbolsInSymbolSearch,e.includeVenvInWorkspaceSymbols=!!t.includeVenvInWorkspaceSymbols,e.disableWorkspaceSymbol=!!t.disableWorkspaceSymbol,e.variableInlayTypeHints=!!t.variableInlayTypeHints,e.functionReturnInlayTypeHints=!!t.functionReturnInlayTypeHints,e.pytestParameterInlayTypeHints=!!t.pytestParametersInlayTypeHints,e.callArgumentNameInlayHints=t.callArgumentNameInlayHints,e.extraCommitChars=!!t.extraCommitChars,e.fixAll=t.fixAll,e.importFormat=t.importFormat,e.editorIndentConfig=t.editorIndentConfig,e.allowAskingUsersPerformanceReporting=this.state.clientCapabilities.allowAskingUsersPerformanceReporting,e.indexOptions=t.indexOptions,e.generateWithTypeAnnotation=t.generateWithTypeAnnotation,e.showOnlyDirectDependenciesInAutoImport=t.showOnlyDirectDependenciesInAutoImport,e.autoSplitStrings=t.autoSplitStrings,e.enableTroubleshootMissingImports=t.enableTroubleshootMissingImports,e.enableExternalTypeServer=t.enableExternalTypeServer,e.referencesCodeLens=!!t.referencesCodeLens,e.supportDocstringTemplate=!!t.supportDocstringTemplate,e.findRefsInBackgroundThread=t.findRefsInBackgroundThread,Object.keys(t).forEach(i=>{hL.has(i)||(e[i]=t[i])}),e.enableSnippetExtraTelemetry=t.enableSnippetExtraTelemetry,e.copilotOutputLanguage=t.copilotOutputLanguage,e.autoTranslateDocstrings=t.autoTranslateDocstrings;let l=e.service.getConfigOptions(),d=new oU(oN.SETTINGS);d.Properties.openFilesOnly=`${t.openFilesOnly}`,d.Properties.typeCheckingMode=`${t.typeCheckingMode}`,d.Properties.useLibraryCodeForTypes=`${l.useLibraryCodeForTypes}`,d.Properties.autoSearchPaths=`${t.autoSearchPaths}`,d.Properties.autoImportCompletions=`${t.autoImportCompletions}`,d.Properties.indexing=`${t.indexing}`,d.Properties.regenerateStdLibIndices=`${!!(null==(r=t.indexOptions)?void 0:r.regenerateStdLibIndices)}`,d.Properties.persistAllIndices=`${!!(null==(n=t.indexOptions)?void 0:n.localStorageUri)}`,d.Properties.includeAliasesFromUserFiles=`${!!(null==(a=t.indexOptions)?void 0:a.includeAliasesFromUserFiles)}`,d.Properties.completeFunctionParens=`${t.completeFunctionParens}`,d.Properties.enableExtractCodeAction=`${t.enableExtractCodeAction}`,d.Properties.hasExtraPaths=`${!!(null==(s=t.extraPaths)?void 0:s.length)}`,d.Properties.hasConfigFile=`${l.initializedFromJson}`,d.Properties.disableWorkspaceSymbol=`${t.disableWorkspaceSymbol}`,d.Properties.watchForLibraryChanges=`${t.watchForLibraryChanges}`,d.Properties.variableInlayTypeHints=`${t.variableInlayTypeHints}`,d.Properties.pytestParameterInlayTypeHints=`${t.pytestParametersInlayTypeHints}`,d.Properties.importFormat=`${t.importFormat}`,d.Properties.functionReturnInlayTypeHints=`${t.functionReturnInlayTypeHints}`,d.Properties.callArgumentNameInlayHints=`${t.callArgumentNameInlayHints}`,d.Properties.formatOnType=`${t.formatOnType}`,d.Properties.extraCommitChars=`${t.extraCommitChars}`,d.Properties.enablePytestSupport=`${t.enablePytestSupport}`,d.Properties.disableTaggedHints=`${t.disableTaggedHints}`,d.Properties.languageServerMode=`${t.languageServerMode}`,d.Properties.nodeExecutable="auto"===t.nodeExecutable?"auto":t.nodeExecutable&&t.nodeExecutable.length>1?"true":"false",d.Properties.diagnosticsSource=`${t.diagnosticsSource||"Pylance"}`,d.Properties.pyrightVersion=`${(null==(o=t.pyrightVersion)?void 0:o.endsWith(".js"))?"local":t.pyrightVersion}`,d.Properties.referencesCodeLens=`${t.referencesCodeLens}`,d.Properties.supportDocstringTemplate=`${t.supportDocstringTemplate}`,d.Measurements.workspaceCount=i.getNonDefaultWorkspaces(sL.mE.Regular).length,this._telemetry.sendTelemetry(d)}registerHandlers(e){let t=e.languages.callHierarchy,i=e.languages.typeHierarchy,r=e.languages.inlineValue;this.addDisposables(e.onCodeAction((e,t)=>this._onCodeAction(e,t)),e.onCodeActionResolve((e,t)=>this._onCodeActionResolve(e,t)),e.onDefinition(async(e,t)=>this._onDefinition(e,t)),e.onDeclaration(async(e,t)=>this._onDeclaration(e,t)),e.onImplementation(async(e,t)=>this._onImplementation(e,t)),e.onTypeDefinition(async(e,t)=>this._onTypeDefinition(e,t)),e.onReferences(async(e,t,i,r)=>this._onReferences(e,t,i,r)),e.onDocumentSymbol(async(e,t)=>this._onDocumentSymbol(e,t)),e.onWorkspaceSymbol(async(e,t,i,r)=>this._onWorkspaceSymbol(e,t,r)),e.onHover(async(e,t)=>this._onHover(e,t)),e.onDocumentHighlight(async(e,t)=>this._onDocumentHighlight(e,t)),e.onSignatureHelp(async(e,t)=>this._onSignatureHelp(e,t)),e.languages.diagnostics.on(async(e,t)=>this._onDiagnostics(e,t)),e.languages.diagnostics.onWorkspace(async(e,t,i,r)=>this._onWorkspaceDiagnostics(e,t,i,r)),e.onCompletion((e,t)=>this._onCompletion(e,t)),e.onCompletionResolve(async(e,t)=>this._onCompletionResolve(e,t)),e.onPrepareRename(async(e,t)=>this._onPrepareRenameRequest(e,t)),e.onRenameRequest(async(e,t)=>this._onRenameRequest(e,t)),t.onPrepare(async(e,t)=>this._onCallHierarchyPrepare(e,t)),t.onIncomingCalls(async(e,t)=>this._onCallHierarchyIncomingCalls(e,t)),t.onOutgoingCalls(async(e,t)=>this._onCallHierarchyOutgoingCalls(e,t)),e.onExecuteCommand(async(e,t,i)=>this._onExecuteCommand(e,t,i)),e.onDidChangeWatchedFiles(e=>this.handleDidChangeWatchedFiles(this._provider.getWorkspaces(),e)),e.onDocumentOnTypeFormatting((t,i)=>this._onDocumentOnTypeFormatting(t,i,e)),e.onDocumentColor((e,t)=>this._onDocumentColor(e,t)),e.onColorPresentation((e,t)=>this._onColorPresentation(e,t)),e.onFoldingRanges((e,t)=>this._onFoldingRanges(e,t)),e.onSelectionRanges((e,t)=>this._onSelectionRanges(e,t)),e.onCodeLens((e,t)=>this._onCodeLens(e,t)),e.onCodeLensResolve((e,t)=>this._onCodeLensResolve(e,t)),e.languages.semanticTokens.on((e,t)=>this._onSemanticTokens(e,t)),e.languages.semanticTokens.onDelta((e,t)=>this._onDelta(e,t)),e.languages.semanticTokens.onRange((e,t)=>this._onRange(e,t)),e.languages.inlayHint.on((e,t)=>this._onInlayHints(e,t)),e.languages.inlayHint.resolve((e,t)=>this._onResolveInlayHint(e,t)),i.onPrepare((e,t)=>this._onTypeHierarchyPrepare(e,t)),i.onSupertypes((e,t)=>this._onTypeHierarchySupertypes(e,t)),i.onSubtypes((e,t)=>this._onTypeHierarchySubtypes(e,t)),r.on((e,t)=>this._onInlineValue(e,t)),iF.onNotification(e,iF.Notifications.WorkspaceTrusted,e=>{this.state.hostKind=e.isTrusted?dC.n.FullAccess:dC.n.LimitedAccess,this.restart()}),iF.onRequest(e,iF.Requests.JupyterDocumentSymbols,(e,t)=>this._onJupyterDocumentSymbols(e,t)),iF.onRequest(e,iF.Requests.JupyterReferences,(t,i)=>this._onReferences(t,i,e.languages.attachWorkDoneProgress(t),e.languages.attachPartialResultProgress(nZ.ReferencesRequest.type,t))),iF.onRequest(e,iF.Requests.GetConfigInfo,(e,t)=>this._onGetConfigInfo(e)))}createProgressReporter(e){let t=!1;return{isDisplayingProgress:()=>t,isEnabled:e=>!!this._progressBarEnabled,begin:()=>{t=!0,iF.sendNotification(e,iF.Notifications.BeginProgress,void 0)},report:t=>{iF.sendNotification(e,iF.Notifications.ReportProgress,t)},end:()=>{t=!1,iF.sendNotification(e,iF.Notifications.EndProgress,void 0)}}}createHost(){let e=this._serverOptions.serviceProvider.tryGet(nM.hostFactory);return e?e.createHost(this.state.hostKind):new gl.Z}createBackgroundAnalysisProgram(e,t,i,r,n,a){return t.add(n7.y.sourceFileFactory,this._diagnosticsRemapper),new k$(e,t,i,r,n,a,this._serverOptions.disableChecker)}dispose(){this._disposables.forEach(e=>e.dispose()),this.state.dispose(),this._syncLS.dispose(),this._asyncLS.dispose()}get _fs(){return this._serverOptions.serviceProvider.fs()}get _provider(){return this._providerOpt}get _client(){return this.state.clientCapabilities}get _console(){return this._serverOptions.serviceProvider.console()}get _serverOptions(){return this.state.serverOptions}_getDocumentationUrlForDiagnostic(e){return hj(e)}_getDiagCode(e,t){return t}_getDiagSource(e){let t=e.getData();return t&&t.source?t.source:this._serverOptions.productName}_pendAnalysisTelemetry(){this._pendingAnalysisTelemetryCount++,-1===this._pendingAnalysisStartTime&&(this._pendingAnalysisStartTime=Date.now())}_finishAnalysisTelemetry(e,t,i,r){let n=Date.now();this._pendingAnalysisTelemetryCount--,this._pendingAnalysisTelemetryResults=[...this._pendingAnalysisTelemetryResults,...i.kind&&t?[hZ(t,i)]:i.items.map(e=>hZ(e.uri,e))],0===this._pendingAnalysisTelemetryCount&&(r.isCancellationRequested||this._sendAnalysisTelemetry(e,this._pendingAnalysisTelemetryResults,n-this._pendingAnalysisStartTime),this._pendingAnalysisTelemetryResults=[],this._pendingAnalysisStartTime=-1)}_sendAnalysisTelemetry(e,t,i){let r=new Sy(!!this._serverOptions.testing),n=e.service.backgroundAnalysisProgram.program,a=new Map;t.forEach(e=>{for(let n of e.diagnostics){var t,i,r;let e=(null==(t=n.data)?void 0:t.diagnosticCode)||(null==(i=n.code)?void 0:i.toString());e&&a.set(e,(null!=(r=a.get(e))?r:0)+1)}});let s={diagnostics:[],diagnosticsSeen:[...a.entries()].map(e=>`${e[0]}:${e[1]}`).join(";"),filesInProgram:n.getUserFileCount(),checkingOnlyOpenFiles:n.isCheckingOnlyOpenFiles(),requiringAnalysisCount:{files:0,cells:0},fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:i/1e3,reason:"analysis",editablePthCount:0,computedPthCount:0,filesAnalyzed:t.length},o=this._serverOptions.serviceProvider.tryGet(nM.pthService);o&&(s.editablePthCount=o.getCountEditablePthFiles(this._fs,n.importResolver.getPythonSearchPaths(),n.configOptions.defaultExtraPaths),s.computedPthCount=o.getCountComputedPthFiles(n.configOptions.pythonPath));let l=r.updateTelemetry(s);l&&this._telemetry.sendTelemetry(l)}_onCodeAction(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleCodeAction(i,e,t))}_onCodeActionResolve(e,t){if(e.data&&e.data.uri){let i=this.convertLspUriStringToUri(e.data.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleCodeActionResolve(i,e,e=>this._provider.getCommand(e),t))}return e}_onDefinition(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleDefinition(i,e,t))}_onDeclaration(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleDeclaration(i,e,t))}_onImplementation(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleImplementation(i,e,t))}_onTypeDefinition(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleTypeDefinition(i,e,t))}_onReferences(e,t,i,r){let n=this.convertLspUriStringToUri(e.textDocument.uri),a=this._provider.getWorkspaceForFile(n);return this._run(a,n=>{let a=this._provider.getWorkDoneProgressReporter(i,ov.O.CodeAction.findingReferences(),t);return this._run(a,t=>n.findRefsInBackgroundThread?this._asyncLS.handleReferences(n,e,t.reporter,t.source,r,hK,hV):this._asyncLS.handleReferencesForeground(n,e,t.reporter,t.source,r,hK,hV))})}_onDocumentSymbol(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleDocumentSymbol(i,e,t))}_onWorkspaceSymbol(e,t,i){return this._asyncLS.handleWorkspaceSymbol(this._provider.getWorkspaces(),e,t,i)}_onHover(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleHover(i,e,t))}_onDocumentHighlight(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleDocumentHighlight(i,e,t))}_onSignatureHelp(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleSignatureHelp(i,e,t))}_onCompletion(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleCompletion(i,e,t))}_onCompletionResolve(e,t){let i=oq.fromLSP(e).data;if(!i||!i.uri)return e;let r=this.convertLspUriStringToUri(i.uri),n=this._provider.getWorkspaceForFile(r);return this._run(n,i=>i.enableAsyncProgram?this._asyncLS.handleCompletionResolve(i,e,t):this._syncLS.handleCompletionResolve(i,e,t))}_onPrepareRenameRequest(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>i.enableAsyncProgram?this._asyncLS.handlePrepareRenameRequest(i,e,t):this._syncLS.handlePrepareRenameRequest(i,e,t))}_onRenameRequest(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>i.enableAsyncProgram?this._asyncLS.handleRenameRequest(i,e,t):this._syncLS.handleRenameRequest(i,e,t))}_onCallHierarchyPrepare(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleCallHierarchyPrepare(i,e,t))}_onCallHierarchyIncomingCalls(e,t){let i=this.convertLspUriStringToUri(e.item.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleCallHierarchyIncomingCalls(i,e,t))}_onCallHierarchyOutgoingCalls(e,t){let i=this.convertLspUriStringToUri(e.item.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleCallHierarchyOutgoingCalls(i,e,t))}_onExecuteCommand(e,t,i){return this._asyncLS.handleExecuteCommand(e,()=>this._provider.getWorkDoneProgressReporter(i,ov.O.CodeAction.executingCommand(),t),this._provider.executeCommand,this._provider.applyWorkspaceEdit,this._provider.getCommand,t)}_onTypeHierarchyPrepare(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleTypeHierarchyPrepare(i,e,t))}_onTypeHierarchySupertypes(e,t){let i=this.convertLspUriStringToUri(e.item.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleTypeHierarchySupertypes(i,e,t))}_onTypeHierarchySubtypes(e,t){let i=this.convertLspUriStringToUri(e.item.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleTypeHierarchySubtypes(i,e,t))}_onRange(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,async i=>(this._serverOptions.waitForClientResponse&&await iF.sendRequest(this._connection,iF.Requests.Wait,{timeout:5e3}),await this._asyncLS.handleRange(i,e,t)))}_onDelta(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleDelta(i,e,t))}_onSemanticTokens(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,async i=>(this._serverOptions.waitForClientResponse&&await iF.sendRequest(this._connection,iF.Requests.Wait,{timeout:5e3}),await this._asyncLS.handleSemanticTokens(i,e,t)))}_onFoldingRanges(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>i.enableAsyncProgram?this._asyncLS.handleFoldingRanges(i,e,t):this._syncLS.handleFoldingRanges(i,e,t))}_onSelectionRanges(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>i.enableAsyncProgram?this._asyncLS.handleSelectionRanges(i,e,t):this._syncLS.handleSelectionRanges(i,e,t))}_onCodeLens(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleCodeLens(i,e,t))}_onCodeLensResolve(e,t){let i=(0,o5.uJ)(e.data);if(!i||!i.fileUri)return e;let r=this.convertLspUriStringToUri(i.fileUri),n=this._provider.getWorkspaceForFile(r);return this._run(n,i=>this._asyncLS.handleCodeLensResolve(i,e,t))}_onInlayHints(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>this._asyncLS.handleInlayHints(i,e,t))}_onInlineValue(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>i.enableAsyncProgram?this._asyncLS.handleInlineValues(i,e,t):this._syncLS.handleInlineValues(i,e,t))}_onResolveInlayHint(e,t){let i=(0,o5.uJ)(e.data);if(!i||!i.fileUri)return e;let r=n4.z.parse(i.fileUri,this._serverOptions.serviceProvider),n=this._provider.getWorkspaceForFile(r);return this._run(n,i=>i.enableAsyncProgram?this._asyncLS.handleResolveInlayHint(i,e,t):this._syncLS.handleResolveInlayHint(i,e,t))}_onDocumentOnTypeFormatting(e,t,i){let r=this.convertLspUriStringToUri(e.textDocument.uri),n=this._provider.getWorkspaceForFile(r);return this._run(n,r=>r.enableAsyncProgram?this._asyncLS.handleDocumentOnTypeFormatting(r,e,t,i):this._syncLS.handleDocumentOnTypeFormatting(r,e,t,i))}_onDocumentColor(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>i.enableAsyncProgram?this._asyncLS.handleDocumentColor(i,e,t):this._syncLS.handleDocumentColor(i,e,t))}_onColorPresentation(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,i=>i.enableAsyncProgram?this._asyncLS.handleColorPresentation(i,e,t):this._syncLS.handleColorPresentation(i,e,t))}_getAnalysisProgressReporter(){return this._workspaceDiagnosticsProgressReporter?this._workspaceDiagnosticsProgressReporter:this._provider.getAnalysisProgressReporter()}_finishWorkspaceDiagnostics(){this._workspaceDiagnosticsResolve&&(this._workspaceDiagnosticsResolve({items:[]}),this._workspaceDiagnosticsResolve=void 0,this._workspaceDiagnosticsProgressReporter=void 0,this._workspaceDiagnosticsReporter=void 0)}_onWorkspaceDiagnostics(e,t,i,r){var n;if(this._finishWorkspaceDiagnostics(),t.isCancellationRequested)return Promise.resolve({items:[]});this._workspaceDiagnosticsProgressReporter=(0,o5.Ik)(i)?void 0:(0,SD.H)(i),this._workspaceDiagnosticsReporter=r,this._provider.getWorkspaces().forEach(e=>{e.service.invalidateAndScheduleReanalysis(gX.q.Reanalyzed)});let a=null==(n=this._serverOptions.serviceProvider.tryGet(nM.messageTracker))?void 0:n.lastInboundRequest;if(a&&a.method===nZ.WorkspaceDiagnosticRequest.type.method&&a.params.partialResultToken){let e=a.params.partialResultToken.toString();this._provider.getWorkspaces().forEach(t=>{t.service.backgroundAnalysisProgram.startWorkspaceDiagnostics(e)})}return new Promise((e,i)=>{this._workspaceDiagnosticsResolve=e,t.onCancellationRequested(()=>{this._workspaceDiagnosticsResolve===e?this._finishWorkspaceDiagnostics():e({items:[]})})})}_onDiagnostics(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._pendAnalysisTelemetry(),this._run(r,async r=>{let n=await this._onDiagnosticsInternal(i,r,e,t);return this._finishAnalysisTelemetry(r,e.textDocument.uri,n,t),n})}async _onDiagnosticsInternal(e,t,i,r){var n,a;null==(n=this._externalServerController)||n.analyzeFile(e,r);let s=await this._asyncLS.handleDocumentDiagnostics(t,i,r),o=(null==(a=t.service.backgroundAnalysisProgram.program.getSourceFile(e))?void 0:a.getDiagnosticVersion())||0,l={items:[{...s,uri:i.textDocument.uri,version:o}]};return(this._externalServerController?await this._externalServerController.combinePullResults(l):l).items[0]}_run(e,t){return(0,n2.Qg)(e)?e.then(e=>t(e)):t(e)}_addDynamicFeature(e){this.state.addDynamicFeature(e)}_getProgressMessage(e,t){if(e+t!==0)return 1===e&&1===t?iI.Messages.singularFileAndSingularCellToAnalyze():1===e&&1!==t?iI.Messages.singularFileAndPluralCellsToAnalyze().format({cellCount:t}):1!==e&&1===t?iI.Messages.pluralFilesAndSingularCellToAnalyze().format({fileCount:e}):iI.Messages.pluralFilesAndPluralCellsToAnalyze().format({fileCount:e,cellCount:t})}_getCompatibleMarkupKind(e){let t=[nZ.MarkupKind.PlainText,nZ.MarkupKind.Markdown];for(let i of null!=e?e:[])if(t.includes(i))return i;return nZ.MarkupKind.PlainText}_onJupyterDocumentSymbols(e,t){let i=this.convertLspUriStringToUri(e.textDocument.uri),r=this._provider.getWorkspaceForFile(i);return this._run(r,e=>e.service.run(e=>new SR.t(e,i,this._client.hasHierarchicalDocumentSymbolCapability,{includeAliases:!0},t).getSymbols(),t))}_sendProgressMessage(e,t){let i=this._getAnalysisProgressReporter(),r=this._getProgressMessage(e,t);r?(i.isDisplayingProgress()||i.begin(),i.report(r)):i.end()}_convertDiagnostics(e,t){let i=[];return t.forEach(t=>{let r=lc(t,e,this.state.clientCapabilities.supportsUnnecessaryDiagnosticTag,this.state.clientCapabilities.supportsTaskItemDiagnosticTag);r&&i.push(r)}),i}_onGetConfigInfo(e){let t=this.convertLspUriStringToUri(e.workspaceUri),i=this._provider.getWorkspaceForFile(t);return this._run(i,e=>{var t,i;let r=e.service.getConfigOptions();return{projectRoot:(null==(t=e.rootUri)?void 0:t.toString())||"",configFileSource:null==(i=r.configFileSource)?void 0:i.toString(),typeCheckingMode:r.effectiveTypeCheckingMode}})}constructor(e,t){PX(this,"_connection",void 0),PX(this,"_diagnosticsRemapper",void 0),PX(this,"_syncLS",void 0),PX(this,"_asyncLS",void 0),PX(this,"_telemetry",void 0),PX(this,"_pendingAnalysisTelemetryCount",void 0),PX(this,"_pendingAnalysisTelemetryResults",void 0),PX(this,"_pendingAnalysisStartTime",void 0),PX(this,"_progressBarEnabled",void 0),PX(this,"_providerOpt",void 0),PX(this,"_disposables",void 0),PX(this,"_externalServerController",void 0),PX(this,"_typeProviderServiceFactory",void 0),PX(this,"_workspaceDiagnosticsReporter",void 0),PX(this,"_workspaceDiagnosticsProgressReporter",void 0),PX(this,"_workspaceDiagnosticsResolve",void 0),this._connection=e,this._diagnosticsRemapper=new gg,this._pendingAnalysisTelemetryCount=0,this._pendingAnalysisTelemetryResults=[],this._pendingAnalysisStartTime=-1,this._disposables=[];const i=new Pq(t);if(this._syncLS=new PQ(i),this._asyncLS=new PW(i,this._convertDiagnostics.bind(this),this._sendProgressMessage.bind(this)),this._telemetry=this._serverOptions.serviceProvider.get(nM.telemetry),this._typeProviderServiceFactory=this._serverOptions.serviceProvider.tryGet(nM.typeProviderServiceFactory),this._serverOptions.serviceProvider.tryGet(nM.externalServerFactory)&&(this._externalServerController=new SW(t.serviceProvider,this.convertLspUriStringToUri.bind(this),e=>{let t=this._provider.getWorkspaceForFile(e||sM._.instance);return(0,n2.Qg)(t)?t.then(e=>this._provider.getSettings(e)):this._provider.getSettings(t)}),this._disposables.push(this._externalServerController.reanalysisRequested(()=>{this._provider.getWorkspaces().forEach(e=>e.service.invalidateAndScheduleReanalysis(gX.q.Reanalyzed));let e=this._serverOptions.serviceProvider.tryGet(nM.test);e&&e.onReanalysisRequested()})),this._disposables.push(this._externalServerController.childProcessCreated(e=>{let t=this._serverOptions.serviceProvider.tryGet(nM.test);t&&t.onChildProcessStarted(e)}))),this._serverOptions.testing){const e=this._serverOptions.serviceProvider.tryGet(nM.pthService);e&&this._disposables.push(e.cachePathsUpdated(e=>{iF.sendNotification(this._connection,iF.Notifications.TestSignal,{uri:e.pythonPath.toString(),kind:iF.TestSignalKinds.PthPathUpdate})}))}const r=this._serverOptions.serviceProvider.tryGet(nM.recommendationService);r&&this._disposables.push(r.onRecommendationsUpdated(e=>{iF.sendNotification(this._connection,iF.Notifications.Recommendation,{details:e});let t=new oU(oN.RECOMMENDATION);t.Properties.hasUserTypeAnno=e.hasTypeAnnotations?"true":"false",this._telemetry.sendTelemetry(t)})),this._serverOptions.serviceProvider.add(nM.versionService,new gz(e=>this._provider.getPythonVersion(e)))}}function P5(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}async function P4(e,t,i,r,n){if(!(0,o5.Ik)(i))return{reporter:i,source:(0,n8.Fx)(t,n)};let a=await e.window.createWorkDoneProgress();return a.begin(r,void 0,void 0,!0),{reporter:a,source:(0,n8.Fx)(t,n,a.token)}}PZ([oj("textDocument/codeAction",void 0,(e,t)=>t?{actions:t.map(e=>{var t,i;return nZ.Command.is(e)?`[c:${e.command}]`:`[a:${null!=(t=null==(i=e.command)?void 0:i.command)?t:e.title}]`}).join(", ")}:{}),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.CodeActionParams?Object:nZ.CodeActionParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype",void 0)],P1.prototype,"_onCodeAction",null),PZ([oj("codeAction/resolve"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.CodeAction?Object:nZ.CodeAction,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype",void 0)],P1.prototype,"_onCodeActionResolve",null),PZ([oj("textDocument/definition"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.TextDocumentPositionParams?Object:nZ.TextDocumentPositionParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype",void 0)],P1.prototype,"_onDefinition",null),PZ([oj("textDocument/declaration"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.TextDocumentPositionParams?Object:nZ.TextDocumentPositionParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype",void 0)],P1.prototype,"_onDeclaration",null),PZ([oj("textDocument/implementation"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.TextDocumentPositionParams?Object:nZ.TextDocumentPositionParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype",void 0)],P1.prototype,"_onImplementation",null),PZ([oj("textDocument/typeDefinition"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.TextDocumentPositionParams?Object:nZ.TextDocumentPositionParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype",void 0)],P1.prototype,"_onTypeDefinition",null),PZ([oj("textDocument/references"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.ReferenceParams?Object:nZ.ReferenceParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken,void 0===nZ.WorkDoneProgressReporter?Object:nZ.WorkDoneProgressReporter,Object]),P0("design:returntype",void 0)],P1.prototype,"_onReferences",null),PZ([oj("textDocument/documentSymbol"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.DocumentSymbolParams?Object:nZ.DocumentSymbolParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype",void 0)],P1.prototype,"_onDocumentSymbol",null),PZ([oj("workspace/symbol"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.WorkspaceSymbolParams?Object:nZ.WorkspaceSymbolParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken,Object]),P0("design:returntype",void 0)],P1.prototype,"_onWorkspaceSymbol",null),PZ([oj("textDocument/hover",void 0,(e,t)=>{let i,r;return t&&(((0,n2.cy)(t.contents)?t.contents:[t.contents]).forEach(e=>{var t,n;let a="string"==typeof e.value?e.value.toString():e.toString();a&&a.includes("\x3c!--moduleHash:")&&!i&&(i=null==(t=a.match(/<!--moduleHash:(.+)-->/m))?void 0:t[1]),a&&a.includes("\x3c!--moduleVersion:")&&!r&&(r=null==(n=a.match(/<!--moduleVersion:(.+)-->/m))?void 0:n[1])}),i)?{moduleHash:parseInt(i,10),moduleVersion:r||"0"}:{}}),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.HoverParams?Object:nZ.HoverParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype",void 0)],P1.prototype,"_onHover",null),PZ([oj("textDocument/documentHighlight"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.DocumentHighlightParams?Object:nZ.DocumentHighlightParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype",void 0)],P1.prototype,"_onDocumentHighlight",null),PZ([oj("textDocument/signatureHelp"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.SignatureHelpParams?Object:nZ.SignatureHelpParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype","u"<typeof SimpleOrPromise?Object:SimpleOrPromise)],P1.prototype,"_onSignatureHelp",null),PZ([oj("textDocument/completion",(e,t)=>t?{resultLength:Array.isArray(t)?t.length:t.items.length}:{resultLength:0},(e,t)=>{var i,r,n,a;if(!t)return{};let s=Array.isArray(t)?t:(null==t?void 0:t.items)||[],o=null==(r=s[0])||null==(i=r.data)?void 0:i.moduleHash,l=null==(a=s[0])||null==(n=a.data)?void 0:n.moduleVersion;return o?{moduleHash:o,moduleVersion:l||"0"}:{}}),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.CompletionParams?Object:nZ.CompletionParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype",void 0)],P1.prototype,"_onCompletion",null),PZ([oj("completionItem/resolve"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.CompletionItem?Object:nZ.CompletionItem,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype",void 0)],P1.prototype,"_onCompletionResolve",null),PZ([oj("textDocument/prepareRename"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.PrepareRenameParams?Object:nZ.PrepareRenameParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype",void 0)],P1.prototype,"_onPrepareRenameRequest",null),PZ([oj("textDocument/rename"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.RenameParams?Object:nZ.RenameParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype",void 0)],P1.prototype,"_onRenameRequest",null),PZ([oj("textDocument/prepareCallHierarchy"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.CallHierarchyPrepareParams?Object:nZ.CallHierarchyPrepareParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype",void 0)],P1.prototype,"_onCallHierarchyPrepare",null),PZ([oj("callHierarchy/incomingCalls"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.CallHierarchyIncomingCallsParams?Object:nZ.CallHierarchyIncomingCallsParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype",void 0)],P1.prototype,"_onCallHierarchyIncomingCalls",null),PZ([oj("callHierarchy/outgoingCalls"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.CallHierarchyOutgoingCallsParams?Object:nZ.CallHierarchyOutgoingCallsParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype",void 0)],P1.prototype,"_onCallHierarchyOutgoingCalls",null),PZ([function(e,t,i){let r=i.value;return i.value=function(...e){return this._telemetry.sendLspRequestTelemetry("workspace/executeCommand",()=>r.apply(this,e),void 0,()=>({command:e[0].command}))},i},P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.ExecuteCommandParams?Object:nZ.ExecuteCommandParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken,void 0===nZ.WorkDoneProgressReporter?Object:nZ.WorkDoneProgressReporter]),P0("design:returntype","u"<typeof Promise?Object:Promise)],P1.prototype,"_onExecuteCommand",null),PZ([oj("textDocument/prepareTypeHierarchy"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.TypeHierarchyPrepareParams?Object:nZ.TypeHierarchyPrepareParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype","u"<typeof SimpleOrPromise?Object:SimpleOrPromise)],P1.prototype,"_onTypeHierarchyPrepare",null),PZ([oj("typeHierarchy/supertypes"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.TypeHierarchySupertypesParams?Object:nZ.TypeHierarchySupertypesParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype","u"<typeof SimpleOrPromise?Object:SimpleOrPromise)],P1.prototype,"_onTypeHierarchySupertypes",null),PZ([oj("typeHierarchy/subtypes"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.TypeHierarchySubtypesParams?Object:nZ.TypeHierarchySubtypesParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype","u"<typeof SimpleOrPromise?Object:SimpleOrPromise)],P1.prototype,"_onTypeHierarchySubtypes",null),PZ([oj("textDocument/semanticTokens/range"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.SemanticTokensRangeParams?Object:nZ.SemanticTokensRangeParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype","u"<typeof SimpleOrPromise?Object:SimpleOrPromise)],P1.prototype,"_onRange",null),PZ([oj("textDocument/semanticTokens/full/delta"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.SemanticTokensDeltaParams?Object:nZ.SemanticTokensDeltaParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype","u"<typeof SimpleOrPromise?Object:SimpleOrPromise)],P1.prototype,"_onDelta",null),PZ([oj("textDocument/semanticTokens/full"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.SemanticTokensParams?Object:nZ.SemanticTokensParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype","u"<typeof SimpleOrPromise?Object:SimpleOrPromise)],P1.prototype,"_onSemanticTokens",null),PZ([oj("textDocument/foldingRange"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.FoldingRangeParams?Object:nZ.FoldingRangeParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype","u"<typeof SimpleOrPromise?Object:SimpleOrPromise)],P1.prototype,"_onFoldingRanges",null),PZ([oj("textDocument/selectionRange"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.SelectionRangeParams?Object:nZ.SelectionRangeParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype","u"<typeof SimpleOrPromise?Object:SimpleOrPromise)],P1.prototype,"_onSelectionRanges",null),PZ([oj("textDocument/codeLens"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.CodeLensParams?Object:nZ.CodeLensParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype","u"<typeof SimpleOrPromise?Object:SimpleOrPromise)],P1.prototype,"_onCodeLens",null),PZ([oj("codeLens/resolve"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.CodeLens?Object:nZ.CodeLens,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype","u"<typeof SimpleOrPromise?Object:SimpleOrPromise)],P1.prototype,"_onCodeLensResolve",null),PZ([oj("textDocument/inlayHint"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.InlayHintParams?Object:nZ.InlayHintParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype","u"<typeof SimpleOrPromise?Object:SimpleOrPromise)],P1.prototype,"_onInlayHints",null),PZ([oj("textDocument/inlineValue"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.InlineValueParams?Object:nZ.InlineValueParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype","u"<typeof SimpleOrPromise?Object:SimpleOrPromise)],P1.prototype,"_onInlineValue",null),PZ([oj("inlayHint/resolve"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.InlayHint?Object:nZ.InlayHint,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype","u"<typeof SimpleOrPromise?Object:SimpleOrPromise)],P1.prototype,"_onResolveInlayHint",null),PZ([oj("textDocument/onTypeFormatting"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.DocumentOnTypeFormattingParams?Object:nZ.DocumentOnTypeFormattingParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken,void 0===nZ.Connection?Object:nZ.Connection]),P0("design:returntype","u"<typeof SimpleOrPromise?Object:SimpleOrPromise)],P1.prototype,"_onDocumentOnTypeFormatting",null),PZ([oj("textDocument/documentColor"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.DocumentColorParams?Object:nZ.DocumentColorParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype","u"<typeof SimpleOrPromise?Object:SimpleOrPromise)],P1.prototype,"_onDocumentColor",null),PZ([oj("textDocument/colorPresentation"),P0("design:type",Function),P0("design:paramtypes",[void 0===nZ.ColorPresentationParams?Object:nZ.ColorPresentationParams,void 0===nZ.CancellationToken?Object:nZ.CancellationToken]),P0("design:returntype","u"<typeof SimpleOrPromise?Object:SimpleOrPromise)],P1.prototype,"_onColorPresentation",null);class P3{get console(){return this._serverOptions.serviceProvider.console()}get window(){return this._connection.window}get clientCapabilities(){return this._state.clientCapabilities}get supportAdvancedEdits(){return this.clientCapabilities.hasDocumentChangeCapability&&this.clientCapabilities.hasDocumentAnnotationCapability}get serviceProvider(){return this._serverOptions.serviceProvider}createBackgroundAnalysis(e,t,i){var r;if((0,n8.xh)()||this._serverOptions.testing)return null==(r=this.serviceProvider.tryGet(nM.backgroundAnalysisFactory))?void 0:r.createBackgroundAnalysis(e,t,i||t.fileNameWithoutExtensions)}reanalyze(){this._languageService.reanalyze()}restart(){this._languageService.restart()}async getWorkspaces(){let e=this._workspaceFactory.items();for(let t of e)await t.isInitialized.promise;return e}async getWorkspaceForFile(e,t){if(oy.isNotebookFile(e)&&n6.fJ(`Notebook file should not be passed to getWorkspaceForFile: ${e}`),void 0===t&&oy.isNotebookCell(e)){let i=await this._notebookManager.getNotebookDataForCell(e);t=null==i?void 0:i.pythonPath}return this._serverOptions.waitForClientResponse&&await iF.sendRequest(this._connection,iF.Requests.Wait,{timeout:5e3}),await this._workspaceFactory.getWorkspaceForFile(e,t)}async getHost(){let e=this.serviceProvider.tryGet(nM.hostFactory);if(e){let t=await this._getHostKind();return e.createHost(t)}}async getSettings(e){let t=await this._getConfiguration(e.rootUri,iN.pythonSectionName),i=await this._getConfiguration(e.rootUri,iN.pythonAnalysisSectionName),r=await this._getConfiguration(e.rootUri,iN.jupyterSectionName),n=await this._getConfiguration(e.rootUri,iN.editorSectionName),a=await this._getConfiguration(e.rootUri,iN.copilotSectionName);i||(i={});let s=this._languageService.handleSettingsChanged(this._workspaceFactory.getNonDefaultWorkspaces(sL.mE.Regular),e,t,i,r,n,a);return this._state.hostKind=await this._getHostKind(),s.hostKind=this._state.hostKind,s}test_getNotebookData(e){return this._notebookManager.test_getNotebookData(e)}test_onDidChangeWatchedFiles(e){return this.getWorkspaces().then(t=>{this._languageService.handleDidChangeWatchedFiles(t,e)})}test_convertDiagnostics(e){return this._languageService.convertDiagnostics(this._fs,e)}dispose(){var e;this._disposed=!0,this._workspaceFactory.clear(),this._documentsWithDiagnostics.clear(),null==(e=this._workspaceFoldersChangedDisposable)||e.dispose(),this._languageService.dispose(),pW()}get _fs(){return this.serviceProvider.fs()}get _state(){return this._languageService.state}get _serverOptions(){return this._state.serverOptions}get _caseSensitiveDetector(){return this.serviceProvider.get(n7.y.caseSensitivityDetector)}get _uriMapper(){return this.serviceProvider.uriMapper()}get _telemetry(){return this.serviceProvider.tryGet(nM.telemetry)}async _getContainingWorkspacesForFile(e){return oy.isNotebookCell(e)&&await this._notebookManager.getNotebookDataForCell(e),await this._workspaceFactory.getContainingWorkspacesForFile(e)}_updateSettingsForAllWorkspaces(){let e=[];this._workspaceFactory.items().forEach(t=>{t.isInitialized=t.isInitialized.reset(),e.push(this._updateSettingsForWorkspace(t,t.isInitialized))}),Promise.all(e).then(()=>this._languageService.updateSettingsForAllWorkspaces()).catch(()=>{}),this._state.clientCapabilities.hasInlayHintRefreshCapability&&this._connection.sendRequest(nZ.InlayHintRefreshRequest.method).catch(()=>{})}_createAnalyzerService(e,t,i,r){var n;this.console.info(`Starting service instance "${e}" for workspace "${t.toUserVisibleString()}"`);let a=(0,w8.A)(e),s=new w6(e,t,this.serviceProvider,{console:n1.Pw.is(this.console)?this.console.clone(`(${process.pid}): FG(${e})`):this.console,configOptions:new ae.N7(t),hostFactory:this._createHost.bind(this),importResolverFactory:this._createImportResolver.bind(this),backgroundAnalysis:i?i.backgroundAnalysis:this.createBackgroundAnalysis(a,t,e),maxAnalysisTime:this._serverOptions.maxAnalysisTimeInForeground,backgroundAnalysisProgramFactory:this._createBackgroundAnalysisProgram.bind(this),libraryReanalysisTimeProvider:r,serviceId:a,fileSystem:null!=(n=null==i?void 0:i.fs)?n:this._serverOptions.serviceProvider.fs(),onInvalidated:e=>{this.clientCapabilities.supportsPullDiagnostics&&this._connection.sendRequest(nZ.DiagnosticRefreshRequest.type)},onSourceEnumerationComplete:async e=>{if(s.setSymlinkedDirectoryRoots(e.getSymlinkedDirectoryRoots().filter(e=>!e.equals(t))),this._serverOptions.testing)try{if(!(await this.getWorkspaceForFile(t,void 0)).enableExternalTypeServer){var i;iF.sendNotification(this._connection,iF.Notifications.TestSignal,{kind:iF.TestSignalKinds.SourceEnumerationDone,uri:null!=(i=null==t?void 0:t.toString())?i:""})}}catch{}},shouldRunAnalysis:()=>{let e=this._workspaceFactory.getWorkspaceForFileSync(t,void 0);return!this.clientCapabilities.supportsPullDiagnostics&&!e.enableExternalTypeServer||this._languageService.workspacePullHasStarted}});return s.configOptionsChanged(()=>{this._connection.sendNotification(iF.Notifications.ConfigOptionsChanged).catch(()=>{})}),s.analysisStarting(()=>{try{if(t&&!t.isEmpty()){let e=this._workspaceFactory.getWorkspaceForFileSync(t,void 0);this._languageService.handleAnalysisStarting(e)}}catch(e){this.console.error(`Error in analysis starting ${e}`)}}),s}_createAnalyzerServiceForWorkspace(e,t,i,r){var n,a;let s,o,l;if(!r&&i.includes(sL.mE.Limited)&&t){this.console.info(`virtual workspace: ${t}`);let e=[];s3(e,(0,sx.g1)(this._fs)),s3(e,o4(this._fs.getModulePath())),s3(e,o8(this._fs.getModulePath())),r={fs:new Sl(t,e,this._serverOptions.serviceProvider.fs()),backgroundAnalysis:void 0}}let d=(n=this._workspaceFactory,s=a=1===i.length&&i[0]===sL.mE.Regular&&n.hasMultipleWorkspaces(i[0])?1e4:5e3,o=!1,(l=()=>s).libraryReanalysisStarted=()=>{o=!0},l.libraryUpdated=e=>{if(!e){o&&(s=a);return}o&&(s=Math.min(2*s,12e5)),o=!1},l);return this._createAnalyzerService(e,t||n4.z.empty(),r,d)}async _updateSettingsForWorkspace(e,t,i){var r,n,a,s,o;try{let r,a,l,d;null==t||t.markCalled();let u=(s=i=null!=i?i:await this.getSettings(e),r=ao(s),(0,sN.YZ)(r));if(e.settingsHash===u){this.console.info("Settings have not changed. Skipping update."),this._sendInitializationTestSignal(e);return}e.settingsHash=u,o=i,hb(e.service.serviceProvider,o,e.service.backgroundAnalysisProgram.program),hS(e.service.serviceProvider,o,()=>e.service.asyncProgram),a=e.service.serviceProvider.get(nM.telemetry),l=e.service.backgroundAnalysisProgram.program,yY(e.service.serviceProvider,new lD(l,{addInterimFile:e=>l.addInterimFile(e),setFileOpened:(e,t,i,r,n)=>{l.setFileOpened(e,t,i,{isTracked:l.owns(e),ipythonMode:r,chainedFileUri:n})},updateOpenFileContents:(e,t,i,r)=>{l.setFileOpened(e,t,i,{isTracked:l.owns(e),ipythonMode:r,chainedFileUri:void 0})}},a),nM.stringDefinitionFinder,n7.y.stateMutationListeners,n7.y.symbolDefinitionProvider),yY(e.service.serviceProvider,new db(l),nM.typedDictKeyDefinitionFinder,n7.y.symbolDefinitionProvider),d=e.service,yY(e.service.serviceProvider,new lE(()=>d.asyncProgram,a),nM.asyncStringDefinitionFinder,n7.y.stateMutationListeners,nM.asyncSymbolDefinitionProvider),yY(e.service.serviceProvider,new dS(()=>d.asyncProgram),nM.asyncTypedDictKeyDefinitionFinder,nM.asyncSymbolDefinitionProvider),yY(e.service.serviceProvider,new hR(()=>e.service.asyncProgram),nM.asyncDeclarationFinder,n7.y.stateMutationListeners),yY(e.service.serviceProvider,oq.get(),nM.completionListConverter,n7.y.stateMutationListeners),sZ(e.service.serviceProvider,l),e.service.serviceProvider.tryGet(n7.y.debugInfoInspector)||e.service.serviceProvider.add(n7.y.debugInfoInspector,new og),e.pythonEnvironmentName=i.pythonEnvironmentName,this.console.level=null!=(n=i.logLevel)?n:n1.$b.Info,i.pythonPath=this._workspaceFactory.applyPythonPath(e,i.pythonPath?i.pythonPath:void 0),this._languageService.updateDynamicFeatures(i),this._languageService.handleUpdateSettingsForWorkspace(e,i,this._workspaceFactory),this._languageService.updateOptionsAndRestartService(e,i),this._languageService.updateExtensionSettings(e,i)}finally{null==t||t.resolve()}e.pythonEnvironmentName=await this._computeWorkspaceEnvironmentName(e,i.pythonEnvironmentName),e.disableLanguageServices||(s7(e).startIndexing(null!=(r=e.indexOptions)?r:s6()),e.kinds.some(e=>e===sL.mE.Limited)&&e.service.fs instanceof Sl&&e.service.fs.setAllowedRoots(null==(a=(0,sx.M9)(this._fs,e.service.getConfigOptions(),e.service.getImportResolver().host,void 0))?void 0:a.map(t=>e.service.fs.realCasePath(t))),this._sendInitializationTestSignal(e))}_sendInitializationTestSignal(e){if(this._serverOptions.testing){var t,i;iF.sendNotification(this._connection,iF.Notifications.TestSignal,{uri:null!=(t=null==(i=e.rootUri)?void 0:i.toString())?t:"",kind:iF.TestSignalKinds.Initialization})}}_isPythonPathImmutable(e){return oy.isNotebookCell(e)}async _getConfiguration(e,t){if(this.clientCapabilities.hasConfigurationCapability){let i={};return void 0!==e&&(i.scopeUri=e.toString()),void 0!==t&&(i.section=t),await this._connection.workspace.getConfiguration(i)}if(this._defaultClientConfig)return(0,ap.p)(this._defaultClientConfig,t)}_setupConnection(e,t){this._languageService.addDisposables(this._connection.onInitialize(i=>this._onInitialize(i,e,t)),this._connection.onInitialized(()=>this._onInitialized()),this._connection.onDidChangeConfiguration(e=>this._onDidChangeConfiguration(e)),this._connection.onDidOpenTextDocument(async e=>await this._onDidOpenTextDocument(e)),this._connection.onDidChangeTextDocument(async e=>await this._onDidChangeTextDocument(e)),this._connection.onDidCloseTextDocument(async e=>await this._onDidCloseTextDocument(e)),this._connection.onShutdown(async e=>await this._onShutdown(e)),this._connection.workspace.onWillRenameFiles((e,t)=>Sc.renameFiles(this,this._telemetry,e,t)),this._connection.notebooks.synchronization.onDidOpenNotebookDocument(e=>this._notebookManager.onDidOpenNotebookDocument(e)),this._connection.notebooks.synchronization.onDidChangeNotebookDocument(e=>this._notebookManager.onDidChangeNotebookDocument(e)),this._connection.notebooks.synchronization.onDidCloseNotebookDocument(e=>this._notebookManager.onDidCloseNotebookDocument(e)),iF.onNotification(this._connection,iF.Notifications.AskForWait,e=>{this._serverOptions.waitForClientResponse=!0}),iF.onNotification(this._connection,iF.Notifications.DidChangeNotebookKernel,e=>{let t=this._languageService.convertLspUriStringToUri(e.notebook);this._notebookManager.onDidChangeNotebookKernel(t)}),iF.onNotification(this._connection,iF.Notifications.RegisterNotebookStartupCommands,async e=>{await this._notebookManager.registerNotebookStartupCommands(e.commands),this.clientCapabilities.supportsPullDiagnostics&&this._connection.sendRequest(nZ.DiagnosticRefreshRequest.type)}),iF.onRequest(this._connection,iF.Requests.LoadBundle,async e=>{let t=await gn(this.console,e.bundleUri,this._serverOptions.serviceProvider);t&&this._languageService.addDisposables(t)})),this._languageService.registerHandlers(this._connection)}_onInitialize(e,t,i){return this._languageService.handleInitialize(e,this._connection,this._workspaceFactory,t,i)}_onInitialized(){this._initialized=!0,(this.clientCapabilities.hasWorkspaceFoldersCapability&&!(this._workspaceFactory.items().length>0)||(this._updateSettingsForAllWorkspaces(),this.clientCapabilities.hasWorkspaceFoldersCapability))&&(this._workspaceFoldersChangedDisposable=this._connection.workspace.onDidChangeWorkspaceFolders(async e=>{let t=[];this._workspaceFactory.items().forEach(e=>{e.isInitialized=e.isInitialized.reset()}),this._languageService.handleWorkspaceFoldersChanged(e);let i=await this._connection.workspace.getWorkspaceFolders();this._workspaceFactory.handleWorkspaceFoldersChanged(e,i),this._workspaceFactory.items().forEach(e=>{t.push(this._updateSettingsForWorkspace(e,e.isInitialized))}),await Promise.all(t),this._languageService.registerDynamicFeatures()}),this._languageService.registerDynamicFeatures())}_onDidChangeConfiguration(e){this.console.log("Received updated settings"),(null==e?void 0:e.settings)&&(this._defaultClientConfig=null==e?void 0:e.settings),this._updateSettingsForAllWorkspaces()}async _onDidOpenTextDocument(e,t){let i=this._languageService.convertLspUriStringToUri(e.textDocument.uri),r=await this._getContainingWorkspacesForFile(i);if(this._languageService.handleDidOpenTextDocument(r,e,t),this._serverOptions.testing&&!this._disposed){let e=await this.getWorkspaceForFile(i);if(!e.enableExternalTypeServer){var n,a;iF.sendNotification(this._connection,iF.Notifications.TestSignal,{uri:null!=(n=null==(a=e.rootUri)?void 0:a.toString())?n:"",kind:iF.TestSignalKinds.DidOpenDocument})}}}async _onDidChangeTextDocument(e,t){let i=this._languageService.convertLspUriStringToUri(e.textDocument.uri),r=await this._getContainingWorkspacesForFile(i);if(this._languageService.handleDidChangeTextDocument(r,e,t),this._serverOptions.testing&&!this._disposed){let e=await this.getWorkspaceForFile(i);if(!e.enableExternalTypeServer){var n,a;iF.sendNotification(this._connection,iF.Notifications.TestSignal,{uri:null!=(n=null==(a=e.rootUri)?void 0:a.toString())?n:"",kind:iF.TestSignalKinds.DidChangeDocument})}}}async _onDidCloseTextDocument(e){var t;let i=this._languageService.convertLspUriStringToUri(e.textDocument.uri),r=await this._getContainingWorkspacesForFile(i);this._languageService.handleDidCloseTextDocument(r,e),null==(t=this._serverOptions.serviceProvider.tryGet(nM.textDocumentTracker))||t.onDidCloseTextDocument(i)}async _onShutdown(e){this._workspaceFactory.clear(),await this._languageService.handleShutdown(e)}_createHost(){return this._languageService.createHost()}_createBackgroundAnalysisProgram(e,t,i,r,n,a){return this._languageService.createBackgroundAnalysisProgram(e,t,i,r,n,a)}_executeCommand(e,t){return this._controller.execute(e,t)}_createImportResolver(e,t,i){return g_(e,t,i)}_onWorkspaceAnalysisCompletedHandler(e,t){if(this._disposed)return;let i=this.serviceProvider.tryGet(nM.recommendationService);i&&i.updateRecommendations(e.service.backgroundAnalysisProgram.program.getSourceFileInfoList(),e.service.getConfigOptions()),this._diagnosticReporterQueue.queue(async()=>{var i,r,n,a,s;if(t.done){if(!this._serverOptions.testing)return;iF.sendNotification(this._connection,iF.Notifications.TestSignal,{uri:null!=(i=null==(r=e.rootUri)?void 0:r.toString())?i:"",kind:iF.TestSignalKinds.DiagnosticsDone})}await this._filterResultsToCurrentWorkspace(e,t),this._languageService.handleAnalysisCompletedHandler(e.service.fs,e.service.backgroundAnalysisProgram.program,t,this._sendDiagnostics.bind(this)),t.error&&(n=this._telemetry,a=oN.ANALYSIS_EXCEPTION,s=t.error,null==n||n.sendTelemetry(new oU(a,s))),0===t.diagnostics.length&&t.requiringAnalysisCount.files+t.requiringAnalysisCount.cells>0&&0===t.elapsedTime||this._sendTelemetry(t)})}_sendDiagnostics(e,t){for(let r of e){var i;0===r.diagnostics.length?this._documentsWithDiagnostics.delete(r.uri):this._documentsWithDiagnostics.add(r.uri),t?t.report({items:[{...r,kind:"full",version:r.version||null,items:r.diagnostics}]}):this._connection.sendDiagnostics(r),null==(i=this._uriMapper)||i.markUsing(n4.z.parse(r.uri,this._caseSensitiveDetector),r.diagnostics.length>0)}}_onWorkspaceCreated(e){e.completeFunctionParens=!1,e.enableExtractCodeAction=!1,this._initialized&&this._updateSettingsForWorkspace(e,e.isInitialized).catch(()=>{}),e.service.setCompletionCallback(t=>this._onWorkspaceAnalysisCompletedHandler(e,t))}_onWorkspaceRemoved(e){let t=[...this._documentsWithDiagnostics],i=this._workspaceFactory.items().filter(t=>t!==e);for(let r of t){let t=this._languageService.convertLspUriStringToUri(r);if(e.service.isTracked(t)){if(i.some(e=>e.service.isTracked(t)))continue;this._languageService.handleClearDiagnostics([r],this._sendDiagnostics.bind(this))}}}async _filterResultsToCurrentWorkspace(e,t){if((await this.getWorkspaces()).length<=1)return;let i=await Promise.all(t.diagnostics.map(async t=>{if(await this.getWorkspaceForFile(t.fileUri)===e)return t}));t.diagnostics=i.filter(e=>void 0!==e)}async _computeWorkspaceEnvironmentName(e,t){if(e.pythonPathKind===Sh.Immutable){let t=await this._notebookManager.getNotebookDataForPythonPath(e.pythonPath);if(t)return t.pythonEnvironmentName}return t}_sendTelemetry(e){var t;let i=this._analysisTracker.updateTelemetry(e);i&&(null==(t=this._telemetry)||t.sendTelemetry(i))}async _getHostKind(){if(!this._state.clientCapabilities.hasTrustedWorkspaceSupport)return dC.n.FullAccess;let{isTrusted:e}=await iF.sendRequest(this._connection,iF.Requests.IsTrustedWorkspace,void 0);return e?dC.n.FullAccess:dC.n.LimitedAccess}async _inExperiment(e){if(!this._state.clientCapabilities.hasExperimentationSupport)return;let t=this._state.inExperimentCache.get(e);if(void 0!==t)return t;let{inExperiment:i}=await iF.sendRequest(this._connection,iF.Requests.InExperiment,{experimentName:e});return this._state.inExperimentCache.set(e,i),i}constructor(e,t){var i,r,n,a;P5(this,"_connection",void 0),P5(this,"_controller",void 0),P5(this,"_analysisTracker",void 0),P5(this,"_initialized",void 0),P5(this,"_disposed",void 0),P5(this,"_workspaceFoldersChangedDisposable",void 0),P5(this,"_progressReporter",void 0),P5(this,"_defaultClientConfig",void 0),P5(this,"_notebookManager",void 0),P5(this,"_workspaceFactory",void 0),P5(this,"_documentsWithDiagnostics",void 0),P5(this,"_diagnosticReporterQueue",void 0),P5(this,"_languageService",void 0),this._connection=t,this._initialized=!1,this._disposed=!1,this._documentsWithDiagnostics=new Set,this._diagnosticReporterQueue=new lm,this._languageService=new P1(t,e),this.console.info(`${e.productName} language server ${e.version&&e.version+" "}starting`),this._workspaceFactory=new SS(this.console,!1,!1,this._createAnalyzerServiceForWorkspace.bind(this),this._isPythonPathImmutable.bind(this),this.serviceProvider),this._workspaceFactory.onWorkspaceCreated(this._onWorkspaceCreated.bind(this)),this._workspaceFactory.onWorkspaceRemoved(this._onWorkspaceRemoved.bind(this)),this.serviceProvider.add(nM.workspaceFactory,{handleInitialize:e=>this._workspaceFactory.handleInitialize(e),handleWorkspaceFoldersChanged:(e,t)=>this._workspaceFactory.handleWorkspaceFoldersChanged(e,t),items:()=>this._workspaceFactory.items(),clear:()=>this._workspaceFactory.clear(),hasMultipleWorkspaces:e=>this._workspaceFactory.hasMultipleWorkspaces(e),getContainingWorkspace:(e,t)=>this._workspaceFactory.getContainingWorkspace(e,t),getNonDefaultWorkspaces:e=>this._workspaceFactory.getNonDefaultWorkspaces(e),getWorkspaceForFile:this.getWorkspaceForFile.bind(this),getContainingWorkspacesForFile:this._getContainingWorkspacesForFile.bind(this)}),this.serviceProvider.add(nM.configuration,{getConfiguration:this._getConfiguration.bind(this)}),this.serviceProvider.add(nM.workspaceEdit,{applyEdit:this._connection.workspace.applyEdit.bind(this._connection.workspace)}),this.serviceProvider.add(nM.uriConverter,{convertLspUriStringToUri:e=>this._languageService.convertLspUriStringToUri(e)}),this.serviceProvider.add(nM.experimentService,{isInExperiment:e=>this._inExperiment(e)}),this._setupConnection(null!=(i=e.supportedCommands)?i:[],null!=(r=e.supportedCodeActions)?r:[]),this._progressReporter=new Ss.K(this._languageService.createProgressReporter(this._connection)),this._analysisTracker=new Sy(!!this._serverOptions.testing),this._controller=new Sa(this,this._telemetry,!!this._state.serverOptions.hasVSCodeExtension),this._languageService.initialize({getWorkspaceForFile:this.getWorkspaceForFile.bind(this),getPythonVersion:e=>{var t;let i=this._workspaceFactory.getWorkspaceForFileSync(e,void 0);return null==i||null==(t=i.service.getConfigOptions().findExecEnvironment(e))?void 0:t.pythonVersion},getWorkspaces:()=>this._workspaceFactory.items(),getWorkDoneProgressReporter:(e,t,i)=>P4(this._connection,this.serviceProvider.cancellationProvider(),e,t,i),getAnalysisProgressReporter:()=>this._progressReporter,getSettings:this.getSettings.bind(this),getCommand:e=>this._controller.getCommand(e),executeCommand:this._executeCommand.bind(this),applyWorkspaceEdit:this._connection.workspace.applyEdit.bind(this._connection.workspace)}),this._notebookManager=new SA(t,this._serverOptions.serviceProvider,this._workspaceFactory,this._getConfiguration.bind(this),null!=(n=this._serverOptions.waitForClientResponse)&&n,null!=(a=this._serverOptions.testing)&&a),this._connection.listen()}}var P8=i(92460);let P2=Object.freeze({TextEncoder:Object.freeze({create:(e="utf-8")=>({encode:t=>Buffer.from(null!=t?t:"",e)})}),TextDecoder:Object.freeze({create:(e="utf-8")=>new P8.TextDecoder(e)}),console:console,timer:Object.freeze({setTimeout(e,t,...i){let r=setTimeout(e,t,...i);return{dispose:()=>clearTimeout(r)}},setImmediate(e,...t){let i=setImmediate(e,...t);return{dispose:()=>clearImmediate(i)}},setInterval(e,t,...i){let r=setInterval(e,t,...i);return{dispose:()=>clearInterval(r)}}}),clock:Object.freeze({realtime:()=>1000000n*BigInt(Date.now()),monotonic:()=>process.hrtime.bigint()}),crypto:Object.freeze({randomGet(e){let t=new Uint8Array(e);return nq.randomFillSync(t),t}}),path:sC.posix,workbench:Object.freeze({hasTrash:!0})});function P6(){return P2}(P6||(P6={})).install=function(){mR.isInstalled()||mR.install(P2)},mR.isInstalled()||mR.install(P2);let P7=P6;class P9{get providers(){return this._providers}registerProvider(e){this._providers.push(e)}unregisterProvider(e){this._providers=this._providers.filter(t=>t!==e)}constructor(){var e,t;t=[],(e="_providers")in this?Object.defineProperty(this,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):this[e]=t}}class xe{get knownCommands(){return Array.from(this._knownCommands.keys())}dispose(){this._knownCommands.clear()}registerCommand(e,t){this._knownCommands.set(e,t)}unregisterCommand(e){this._knownCommands.delete(e)}getCommand(e){var t;let i=e.command===s0.pluginCommand?(null==(t=e.arguments)?void 0:t[0])||"":e.command;return this._knownCommands.get(i)}constructor(){var e,t;e="_knownCommands",t=new Map,e in this?Object.defineProperty(this,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):this[e]=t}}function xt(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class xi{registerProviderCtor(e){return this._providerCtors.push(e),{dispose:()=>{let t=this._providerCtors.indexOf(e);-1!==t&&this._providerCtors.splice(t,1)}}}getProviders(e,t,i,r,n){return this._providerCtors.map(a=>a(e,t,i,r,n))}registerAsyncProviderCtor(e){return this._asyncProviderCtors.push(e),{dispose:()=>{let t=this._asyncProviderCtors.indexOf(e);-1!==t&&this._asyncProviderCtors.splice(t,1)}}}getAsyncProviders(e,t,i,r,n,a){return this._asyncProviderCtors.map(s=>s(e,t,i,r,n,a))}constructor(){xt(this,"_asyncProviderCtors",[]),xt(this,"_providerCtors",[])}}function xr(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class xn{get rootUri(){return this._workspaceRootUri}dispose(){var e,t,i;this.cancelIndexing(),this.notify("shutdown",void 0),null==(e=this._priorityQueueBackgroundRunner)||e.terminate(),null==(t=this._taskBackgroundRunnerRef)||t.terminate(),this._priorityQueueBackgroundRunner=void 0,this._taskBackgroundRunner=void 0,this._taskBackgroundRunnerRef=void 0,this._workersMessageChannel=void 0,null==(i=this._messageTrackerDisposable)||i.dispose(),this._messageTrackerDisposable=void 0}setProgramView(e){this._program=e}setCompletionCallback(e){this._onAnalysisCompletion=null!=e?e:fT.q}setImportResolver(e){this.notify("setImportResolver",e.host.kind)}setConfigOptions(e){this.notify("setConfigOptions",e)}setTrackedFiles(e){this.notify("setTrackedFiles",e)}setAllowedThirdPartyImports(e){this.notify("setAllowedThirdPartyImports",e)}setFileOpened(e,t,i,r){var n;this._openFiles.add(e.key),this.notify("setFileOpened",{fileUri:e,version:t,contents:i,options:r}),null==(n=this._serviceProvider.tryGet(nM.textDocumentTracker))||n.onDidOpenTextDocument(e,null!=t?t:0,r.changedRange),this._pendingIndexingRequest&&(_7.requestIndexingFromBackgroundThread(this._pendingIndexingRequest.type,this._serviceId,this._program,this._indexOptions),this._pendingIndexingRequest=void 0)}setFileClosed(e,t){this._openFiles.delete(e.key),this.notify("setFileClosed",{fileUri:e,isTracked:t})}updateChainedUri(e,t){this.notify("updateChainedFileUri",{fileUri:e,chainedUri:t})}addInterimFile(e){this.notify("addInterimFile",e)}markAllFilesDirty(e){this.notify("markAllFilesDirty",e)}markFilesDirty(e,t){this.notify("markFilesDirty",{fileUris:e,evenIfContentsAreSame:t})}ensurePartialStubPackages(e){this.notify("ensurePartialStubPackages",e)}invalidateAndForceReanalysis(e){this.notify("invalidateAndForceReanalysis",e)}shutdown(){this._priorityQueueBackgroundRunner&&this.notify("shutdown",void 0)}restart(){this.notify("restart",void 0)}analyzeFile(e,t){return this.run("analyzeFile",{fileUri:e},t)}async analyzeFileAndGetDiagnostics(e,t){let i=await this.run("getDocumentDiagnostics",{uri:e,previousResultId:void 0},t);return lC((null==i?void 0:i.kind)==="full"?i.items:[])}async getDiagnosticsForRange(e,t,i){return lC(await this.run("getDiagnosticsForRange",{fileUri:e,range:t},i))}writeTypeStub(e,t,i,r){return this.run("writeTypeStub",{targetImportPath:e,targetIsSingleFile:t,stubPath:i},r)}startAnalysis(e){let t=this._onAnalysisCompletion,i={handle:e=>"data"===e||"cancelled"===e,process(e,i){"cancelled"!==i&&t(xa(al(e)))}},r=this._serviceProvider.cancellationProvider(),n=r.createCancellationTokenSource(),a=r.createCancellationTokenSource(),s=e.onCancellationRequested(()=>{n.cancel(),a.cancel(),(0,at.CB)(e),s.dispose()});this._diagnosticsSource&&"Pylance"!==this._diagnosticsSource||this._usingExternalProgram||this.enqueue("analyzeSyntax",void 0,n.token,i),this.enqueue("analyze",void 0,a.token,i)}startWorkspaceDiagnostics(e){this.notify("startWorkspaceDiagnostics",e)}stopWorkspaceDiagnostics(){this.notify("stopWorkspaceDiagnostics",void 0)}startIndexing(e){(this._indexOptions=e,this.notify("setIndexOptions",e),0===this._openFiles.size)?this._pendIndexingRequest("index"):_7.requestIndexingFromBackgroundThread("index",this._serviceId,this._program,this._indexOptions)}refreshIndexing(e){0===this._openFiles.size?this._pendIndexingRequest("refresh"):_7.requestIndexingFromBackgroundThread("refresh",this._serviceId,this._program,this._indexOptions,e)}cancelIndexing(){return _7.cancelIndexingRequest(this._serviceId)}setExperimentOptions(e,t){this._diagnosticsSource=e.diagnosticsSource,this._usingExternalProgram=!!e.enableExternalTypeServer,this.notify("setExperimentOptions",{settings:e,clientCapabilities:t})}async getDocumentDiagnostics(e,t){return await this.run("getDocumentDiagnostics",e,t)}getSemanticTokens(e,t){return e.range?this.run("getPartialSemanticTokens",{...e,range:e.range},t):this.run("getSemanticTokens",e,t)}refreshWorkspaceSymbols(e,t){let i=this._serviceProvider,r=this._program;this.enqueue("indexWorkspaceSymbols",{symlinkedDirectoryRoots:[...e]},t,{handle:e=>"data"===e||"cancelled"===e,process(e,t){var n;if("cancelled"===t)return;let a=al(e),s=null==(n=i.tryGet(nM.globalIndices))?void 0:n.getIndices(r);null==s||s.setWorkspaceIndex(a.uri,a)}})}notify(e,t){this._enqueueRequest({requestType:e,data:ao(t)})}async run(e,t,i,r){let{port1:n,port2:a}=new nV.MessageChannel,s=TC(n,{deserializer:al,dataHandler:r});this._enqueueRequest({requestType:e,data:ao(t),cancellationId:(0,n8.Er)(i),port:a});let o=await s;return a.close(),n.close(),o}enqueue(e,t,i,r){let{port1:n,port2:a}=new nV.MessageChannel,s=TC(n,{deserializer:al,dataHandler:r});this._enqueueRequest({requestType:e,data:ao(t),cancellationId:(0,n8.Er)(i),port:a}),s.then(()=>{a.close(),n.close(),(0,at.CB)(i)}).catch(()=>{})}async enqueueSecondaryTask(e,t,i,r){let{port1:n,port2:a}=new nV.MessageChannel,s=TC(n,{deserializer:al,dataHandler:{handle:e=>"data"===e,process(e){let t=al(e);null==i||i.report(t)}}}),o={requestType:"secondaryTask",data:ao({task:e.name,data:t}),cancellationId:(0,n8.Er)(r),port:a,priority:e.priority,singleInstance:e.singleInstance};this._enqueueRequest(o);let l=await s;return a.close(),n.close(),l}get _telemetry(){return this._serviceProvider.tryGet(nM.telemetry)}_setup(e,t){return t.on("message",e=>this._onMessage(e)),t.on("error",t=>{this._log(n1.$b.Error,`Error occurred on ${e} background thread: ${JSON.stringify(t)}`)}),t}_enqueueRequest(e){this._ensureWorkerStarted(),this._priorityQueueBackgroundRunner&&(oX.log(`Enqueuing background request: ${e.requestType}`),this._priorityQueueBackgroundRunner.postMessage(e,e.port?[e.port]:void 0))}_log(e,t){(0,n1.Rm)(this._console,e,t)}_onMessage(e){switch(e.requestType){case"log":{let t=al(e.data);this._log(t.level,t.message);break}case"telemetry":var t;null==(t=this._telemetry)||t.sendTelemetry(al(e.data));break;case"analysisResult":this._onAnalysisCompletion(xa(al(e.data)));break;case"typeServerRequest":this._onTypeServerRequest(al(e.data),e.responsePort);break;case"typeServerNotification":this._onTypeServerNotification(al(e.data));break;default:n6.fJ(`${e.requestType} is not expected. Message structure: ${JSON.stringify(e)}`)}}_ensureWorkerStarted(){if(this._createdWorker)return;this._createdWorker=!0,this._workersMessageChannel=new nV.MessageChannel,this._setupBackgroundTaskRunner(this._workersMessageChannel.port1),this._setupPriorityTaskRunner(this._workersMessageChannel.port2);let e=this._serviceProvider.get(nM.messageTracker);this._messageTrackerDisposable=e.onNotification(e=>{this._taskBackgroundRunner&&this.notify("lspNotification",e)}),this.notify("lspNotificationBatch",e.seenNotifications)}_setupPriorityTaskRunner(e){var t,i;let r={rootUri:null!=(t=null==(i=(0,ah.Tc)(this._serviceProvider))?void 0:i.toString())?t:"",workspaceRootUri:this._workspaceRootUri.toString(),workspaceName:this._workspaceName,tempFileName:this._serviceProvider.get(n7.y.tempFile).tmpdir().getFilePath(),serviceId:this._serviceId,cancellationFolderName:(0,n8.xh)(),runner:"priorityQueueBackgroundRunner",workerIndex:++xn._workerIndex};this._priorityQueueBackgroundRunner=new nV.Worker(_A,{workerData:r,name:`Priority Queue for Service ${r.serviceId}`}),this._setup("priorityQueueBackgroundRunner",this._priorityQueueBackgroundRunner),this._priorityQueueBackgroundRunner.postMessage({requestType:"init",data:null,port:e},[e])}_setupBackgroundTaskRunner(e){var t,i,r;let n={rootUri:null!=(t=null==(i=(0,ah.Tc)(this._serviceProvider))?void 0:i.toString())?t:"",workspaceRootUri:this._workspaceRootUri.toString(),workspaceName:this._workspaceName,tempFileName:this._serviceProvider.get(n7.y.tempFile).tmpdir().getFilePath(),serviceId:this._serviceId,cancellationFolderName:(0,n8.xh)(),runner:"taskBackgroundRunner",workerIndex:++xn._workerIndex};this._taskBackgroundRunnerRef=new nV.Worker(_A,{workerData:n,name:`Task Runner for Service ${n.serviceId}`}),this._taskBackgroundRunner=this._setup("taskBackgroundRunner",new TA(this._taskBackgroundRunnerRef,e=>!!e.requestType)),this._taskBackgroundRunner.postMessage({requestType:"init",data:null,port:e},[e]),null==(r=this._serviceProvider.cacheManager())||r.addWorker(n.workerIndex,this._taskBackgroundRunnerRef)}_pendIndexingRequest(e){this.cancelIndexing(),this._pendingIndexingRequest={type:e}}async _onTypeServerRequest(e,t){let i=this._serviceProvider.tryGet(nM.connectionService);if(i&&t){let r={kind:"ok",data:ao(await i.sendRequest(e.method,e.params))};t.postMessage(r)}}_onTypeServerNotification(e){let t=this._serviceProvider.tryGet(nM.connectionService);t&&t.sendNotification(e.method,e.params)}constructor(e,t,i,r){xr(this,"_workspaceRootUri",void 0),xr(this,"_workspaceName",void 0),xr(this,"_serviceId",void 0),xr(this,"_serviceProvider",void 0),xr(this,"_openFiles",void 0),xr(this,"_console",void 0),xr(this,"_onAnalysisCompletion",void 0),xr(this,"_program",void 0),xr(this,"_indexOptions",void 0),xr(this,"_pendingIndexingRequest",void 0),xr(this,"_createdWorker",void 0),xr(this,"_priorityQueueBackgroundRunner",void 0),xr(this,"_taskBackgroundRunner",void 0),xr(this,"_taskBackgroundRunnerRef",void 0),xr(this,"_workersMessageChannel",void 0),xr(this,"_diagnosticsSource",void 0),xr(this,"_usingExternalProgram",void 0),xr(this,"_messageTrackerDisposable",void 0),this._workspaceRootUri=e,this._workspaceName=t,this._serviceId=i,this._serviceProvider=r,this._openFiles=new Set,this._onAnalysisCompletion=fT.q,this._indexOptions=s6(),this._createdWorker=!1,this._usingExternalProgram=!1,this._console=r.console()}}function xa(e){return e.diagnostics=e.diagnostics.map(e=>({fileUri:n4.z.fromJsonObj(e.fileUri),version:e.version,diagnostics:lC(e.diagnostics)})),e}function xs(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}xr(xn,"_workerIndex",0);class xo{get backgroundThreads(){return this._backgroundThreads}get backgroundThreadCreated(){return this._emitter.event}createBackgroundAnalysis(e,t,i){let r=new xn(t,i,e,this._serviceProvider);return this._backgroundThreads.push(r),this._emitter.fire(r),r}constructor(e){xs(this,"_serviceProvider",void 0),xs(this,"_backgroundThreads",void 0),xs(this,"_emitter",void 0),this._serviceProvider=e,this._backgroundThreads=[],this._emitter=new nZ.Emitter}}(nB||(nB={})).is=function(e){return e&&!!e.title&&!!e.__client__};class xl{showErrorMessage(e,...t){return t.some(e=>nB.is(e))?iF.sendRequest(this._connection,iF.Requests.ClientShowMessage,{type:"error",message:e,actions:t}):this._connection.window.showErrorMessage(e,...t)}showWarningMessage(e,...t){return t.some(e=>nB.is(e))?iF.sendRequest(this._connection,iF.Requests.ClientShowMessage,{type:"warning",message:e,actions:t}):this._connection.window.showWarningMessage(e,...t)}showInformationMessage(e,...t){return t.some(e=>nB.is(e))?iF.sendRequest(this._connection,iF.Requests.ClientShowMessage,{type:"information",message:e,actions:t}):this._connection.window.showInformationMessage(e,...t)}sendCommand(e,...t){iF.sendNotification(this._connection,iF.Notifications.ExecuteCommand,{command:e,args:t})}createGoToOutputAction(){return{__client__:!0,title:iI.Commands.gotoOutputCommand(),id:s1.gotoOutputChannel}}createOpenUriAction(e,t){return{__client__:!0,title:e,id:s1.openUri,args:[t]}}async checkPythonEnvExtExist(e){return(await iF.sendRequest(this._connection,iF.Requests.PythonEnvExtensionInstalled,void 0,e)).installed}getEnvironments(e,t){return iF.sendRequest(this._connection,iF.Requests.GetPythonEnvironments,{uri:e.toString()},t)}updateEnvironment(e,t,i){return iF.sendRequest(this._connection,iF.Requests.UpdatePythonEnvironment,{uri:e.toString(),pythonPath:t},i)}constructor(e){var t,i;i=void 0,(t="_connection")in this?Object.defineProperty(this,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):this[t]=i,this._connection=e}}class xd{onRequest(e,t){return this._connection.onRequest(e,t)}onNotification(e,t){return this._connection.onNotification(e,t)}sendRequest(e,t,i){return this._connection.sendRequest(e,t)}sendNotification(e,t){this._connection.sendNotification(e,t)}attachPartialResultProgress(e,t){return this._connection.languages.attachPartialResultProgress(e,t)}constructor(e){var t,i;i=void 0,(t="_connection")in this?Object.defineProperty(this,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):this[t]=i,this._connection=e}}function xu(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class xp{get onRecommendationsUpdated(){return this._emitter.event}static is(e){return e&&e instanceof xp}dispose(){this._disposables.forEach(e=>e.dispose()),this._disposables=[]}updateRecommendations(e,t){"off"===t.effectiveTypeCheckingMode&&void 0!==e.find(e=>(0,aR.xX)(e)&&e.hasTypeAnnotations)&&this._emitter.fire({hasTypeAnnotations:!0})}constructor(e){xu(this,"_serviceProvider",void 0),xu(this,"_emitter",void 0),xu(this,"_disposables",void 0),this._serviceProvider=e,this._emitter=new nZ.Emitter,this._disposables=[],this._disposables.push(this._emitter)}}let xc=i4.fd_read|i4.fd_fdstat_set_flags|i4.fd_write|i4.fd_filestat_get|i4.poll_fd_readwrite;class xh extends mP{with(e){return new xh(this.deviceId,e.fd,this.rights_base,this.rights_inheriting,this.fdflags,this.inode)}constructor(e,t,i,r,n,a){super(e,t,i9.character_device,i,r,n,a)}}let xm=i4.fd_read|i4.fd_fdstat_set_flags|i4.fd_write|i4.fd_filestat_get|i4.poll_fd_readwrite;class xy extends mP{with(e){return new xy(this.deviceId,e.fd,this.rights_base,this.rights_inheriting,this.fdflags,this.inode)}constructor(e,t,i,r,n,a){super(e,t,i9.character_device,i,r,n,a)}}function xg(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}(n$||(n$={})).getDescriptors=function(e){let t=[],i=[];if(void 0===e)return{memoryFileSystems:t,pylanceFileSystems:i};for(let r of e)"memoryFileSystem"===r.kind&&t.push(r),"pylanceFileSystem"===r.kind&&i.push(r);return{memoryFileSystems:t,pylanceFileSystems:i}},(nj||(nj={})).is=function(e){return e&&Array.isArray(e.mountPoints)},(nK||(nK={})).is=function(e){return e&&e.rootFileSystem instanceof m2};class xf{get stdin(){return this._stdin}get stdout(){return this._stdout}get stderr(){return this._stderr}get state(){return this._state}async initialize(){if("created"!==this._state)throw Error("WasiProcess already initialized or running");if(nj.is(this.options)){let{memoryFileSystems:e,pylanceFileSystems:t}=n$.getDescriptors(this.options.mountPoints);if(t.length>0)for(let e of t){let t=await yP.getOrCreateFileSystemByDescriptor(this.localDeviceDrivers,e);this.preOpenDirectories.set(e.mountPoint,t)}if(e.length>0)for(let t of e){let e=await yP.getOrCreateFileSystemByDescriptor(this.localDeviceDrivers,t);this.preOpenDirectories.set(t.mountPoint,e)}let i=!1;for(let e of this.preOpenDirectories.keys())if("/"===e){if(this.preOpenDirectories.size>1)throw Error("Cannot mount root directory when other directories are mounted as well.")}else i=!0;if(i){let e=new Map(Array.from(this.preOpenDirectories.entries()));this.virtualRootFileSystem=yT(yP.nextDeviceId(),this.fileDescriptors,e),this.preOpenDirectories.set("/",this.virtualRootFileSystem),this.localDeviceDrivers.add(this.virtualRootFileSystem)}}else if(nK.is(this.options)){let e=this.options.rootFileSystem.getDeviceDrivers(),t=this.options.rootFileSystem.getPreOpenDirectories();for(let e of(this.virtualRootFileSystem=this.options.rootFileSystem.getVirtualRootFileSystem(),t))this.preOpenDirectories.set(e[0],e[1]);for(let t of e)this.localDeviceDrivers.add(t)}let e=void 0!==this.options.args?[]:void 0;if(void 0!==this.options.args&&void 0!==e){let t=mR().path,i=[];for(let[e,r]of this.preOpenDirectories){let n=r.uri.toString();n.endsWith(t.sep)||(n+=t.sep),i.push([n,e])}for(let r of this.options.args)if("string"==typeof r)e.push(r);else if(n4.z.is(r)){let n=r.toString(),a=!1;for(let[r,s]of i)if(n.startsWith(r)){e.push(t.join(s,n.substring(r.length))),a=!0;break}if(!a)throw Error(`Could not map argument ${n} to a mount point.`)}else throw Error("Invalid argument type")}let t={kind:"console"},i=Object.assign({in:t,out:t,err:t},this.options.stdio);await this.handleConsole(i),await this.handleTerminal(i),await this.handleFiles(i),await this.handlePipes(i);let r=Object.assign({},this.options);delete r.args;let n=Object.assign({},r,{args:e});this.environmentService=nf.create(this.fileDescriptors,this.programName,this.preOpenDirectories.entries(),n),this.processService={proc_exit:async(e,t)=>(this._state="exiting",await this.procExit(),this.resolveRunPromise(t),await Promise.resolve(i5.success)),thread_exit:async(e,t)=>(await this.threadEnded(t),await Promise.resolve(i5.success)),"thread-spawn":async(e,t)=>{try{let e=this.threadIdCounter++,i=nv.create(),r=Object.assign({},this.environmentService,n_.create(i),nT.create(this.localDeviceDrivers,this.fileDescriptors,i,this.virtualRootFileSystem,n),this.processService);return await this.startThread(r,e,t),await Promise.resolve(e)}catch(e){return await Promise.resolve(-1)}}},this._state="initialized"}async run(){if("initialized"!==this._state)throw Error("WasiProcess is not initialized");return await new Promise(async(e,t)=>{this.resolveCallback=e;let i=nv.create(),r=Object.assign({},this.environmentService,n_.create(i),nT.create(this.localDeviceDrivers,this.fileDescriptors,i,this.virtualRootFileSystem,this.options),this.processService);this.startMain(r).catch(t),this._state="running"}).then(e=>(this._state="exited",e))}async destroyStreams(){void 0!==this._stdin&&(this._stdin.destroy(),this._stdin=void 0),void 0!==this._stdout&&(this._stdout.destroy(),this._stdout=void 0),void 0!==this._stderr&&(this._stderr.destroy(),this._stderr=void 0)}async cleanupFileDescriptors(){for(let e of this.fileDescriptors.values())void 0!==e.dispose&&await e.dispose()}resolveRunPromise(e){void 0!==this.resolveCallback&&this.resolveCallback(e)}async handleConsole(e){"console"===e.in.kind&&this.fileDescriptors.add(yP.console.createStdioFileDescriptor(0)),"console"===e.out.kind&&this.fileDescriptors.add(yP.console.createStdioFileDescriptor(1)),"console"===e.out.kind&&this.fileDescriptors.add(yP.console.createStdioFileDescriptor(2))}async handleTerminal(e){let t=new Map;"terminal"===e.in.kind&&this.fileDescriptors.add(this.getTerminalDevice(t,e.in.terminal).createStdioFileDescriptor(0)),"terminal"===e.out.kind&&this.fileDescriptors.add(this.getTerminalDevice(t,e.out.terminal).createStdioFileDescriptor(1)),"terminal"===e.err.kind&&this.fileDescriptors.add(this.getTerminalDevice(t,e.err.terminal).createStdioFileDescriptor(2))}getTerminalDevice(e,t){let i=e.get(t);if(void 0===i){var r;let n;r=yP.nextDeviceId(),n=0n,i=Object.assign({},mk,{kind:mS.character,id:r,uri:ah.m_.parse(`wasi-terminal://${r.toString()}`),createStdioFileDescriptor:e=>new xy(r,e,xm,0n,0,n++),fd_fdstat_get:(e,t)=>(t.fs_filetype=e.fileType,t.fs_flags=e.fdflags,t.fs_rights_base=e.rights_base,t.fs_rights_inheriting=e.rights_inheriting,Promise.resolve()),fd_filestat_get(e,t){t.dev=e.deviceId,t.ino=e.inode,t.filetype=i9.character_device,t.nlink=0n,t.size=101n;let i=BigInt(Date.now());return t.atim=i,t.ctim=i,t.mtim=i,Promise.resolve()},async fd_read(e,i){if(0===i.length)return 0;let r=i.reduce((e,t)=>e+t.length,0),n=await t.read(r),a=0,s=0;for(let e of i){let t=Math.min(e.length,n.length-a);if(e.set(n.subarray(a,a+t)),a+=t,s+=t,t<e.length)break}return s},fd_write(e,i){let r;if(1===i.length)r=i[0];else{r=new Uint8Array(i.reduce((e,t)=>e+t.length,0));let e=0;for(let t of i)r.set(t,e),e=t.byteLength}return t.write(r)}}),e.set(t,i),this.localDeviceDrivers.add(i)}return i}async handleFiles(e){"file"===e.in.kind&&await this.handleFileDescriptor(e.in,0),"file"===e.out.kind&&await this.handleFileDescriptor(e.out,1),"file"===e.err.kind&&await this.handleFileDescriptor(e.err,2)}async handleFileDescriptor(e,t){let i=Array.from(this.preOpenDirectories.entries());for(let e of i){let t=e[0];"/"!==t[t.length-1]&&(e[0]=t+"/")}for(let r of(i.sort((e,t)=>t[0].length-e[0].length),i)){let i=r[0];if(e.path.startsWith(i)){let n=r[1],a=await n.createStdioFileDescriptor(i8.none,e.path.substring(i.length),e.openFlags,void 0,e.openFlags,t);this.fileDescriptors.add(a);break}}}async handlePipes(e){var t,i,r,n,a,s,o;let l;if("pipeIn"===e.in.kind&&(this._stdin=null!=(t=e.in.pipe)?t:new yr(this.options.encoding)),"pipeOut"===e.out.kind&&(this._stdout=null!=(i=e.out.pipe)?i:new ya),"pipeOut"===e.err.kind&&(this._stderr=null!=(r=e.err.pipe)?r:new ya),void 0===this._stdin&&void 0===this._stdout&&void 0===this._stderr)return;let d=(n=yP.nextDeviceId(),a=this._stdin,s=this._stdout,o=this._stderr,l=0n,Object.assign({},mk,{kind:mS.character,id:n,uri:ah.m_.parse(`wasi-pipe://${n.toString()}`),createStdioFileDescriptor(e){if(0===e&&void 0!==a||1===e&&void 0!==s||2===e&&void 0!==o)return new xh(n,e,xc,0n,0,l++);throw new mv(i5.badf)},fd_fdstat_get:(e,t)=>(t.fs_filetype=e.fileType,t.fs_flags=e.fdflags,t.fs_rights_base=e.rights_base,t.fs_rights_inheriting=e.rights_inheriting,Promise.resolve()),fd_filestat_get(e,t){t.dev=e.deviceId,t.ino=e.inode,t.filetype=i9.character_device,t.nlink=0n,t.size=101n;let i=BigInt(Date.now());return t.atim=i,t.ctim=i,t.mtim=i,Promise.resolve()},async fd_read(e,t){if(0===t.length)return 0;if(void 0===a)throw new mv(i5.badf);let i=t.reduce((e,t)=>e+t.length,0),r=await a.read("max",i),n=0,s=0;for(let e of t){let t=Math.min(e.length,r.length-n);if(e.set(r.subarray(n,n+t)),n+=t,s+=t,t<e.length)break}return s},async fd_write(e,t){let i;if(1===t.length)i=t[0];else{i=new Uint8Array(t.reduce((e,t)=>e+t.length,0));let e=0;for(let r of t)i.set(r,e),e=r.byteLength}if(1===e.fd&&void 0!==s)return await s.write(i),await Promise.resolve(i.byteLength);if(2===e.fd&&void 0!==o)return await o.write(i),await Promise.resolve(i.byteLength);throw new mv(i5.badf)}}));void 0!==this._stdin&&this.fileDescriptors.add(d.createStdioFileDescriptor(0)),void 0!==this._stdout&&this.fileDescriptors.add(d.createStdioFileDescriptor(1)),void 0!==this._stderr&&this.fileDescriptors.add(d.createStdioFileDescriptor(2)),this.localDeviceDrivers.add(d)}constructor(e,t={}){xg(this,"_state",void 0),xg(this,"programName",void 0),xg(this,"options",void 0),xg(this,"localDeviceDrivers",void 0),xg(this,"resolveCallback",void 0),xg(this,"threadIdCounter",void 0),xg(this,"fileDescriptors",void 0),xg(this,"environmentService",void 0),xg(this,"processService",void 0),xg(this,"preOpenDirectories",void 0),xg(this,"virtualRootFileSystem",void 0),xg(this,"_stdin",void 0),xg(this,"_stdout",void 0),xg(this,"_stderr",void 0),this.programName=e;const i=Object.assign({},t);delete i.trace,!0===t.trace?this.options=Object.assign({},i,{trace:mR().console}):this.options=Object.assign({},i,{trace:void 0}),this.threadIdCounter=2,this.localDeviceDrivers=yP.createLocalDeviceDrivers(),this.fileDescriptors=new mx,this.preOpenDirectories=new Map,this._state="created",this._stdin=void 0,this._stdout=void 0,this._stderr=void 0}}function xv(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class x_ extends mZ{postMessage(e){this.port.postMessage(e)}constructor(e,t,i){super(e,i),xv(this,"port",void 0),this.port=t,this.port.on("message",e=>{this.handleMessage(e).catch(mR().console.error)})}}class xT extends xf{async startMain(e){this.mainWorker=new nV.Worker(this.mainWorkerBundle.getFilePath()),this.mainWorker.on("exit",async e=>{this.cleanUpWorkers().catch(e=>mR().console.error(e)),this.cleanupFileDescriptors().catch(e=>mR().console.error(e)),"exiting"!==this.state&&this.resolveRunPromise(e)});let t=new x_(e,this.mainWorker,this.options.trace);await t.workerReady();let i=await this.module;if(this.importsMemory=this.doesImportMemory(i),this.importsMemory){if(void 0===this.memoryDescriptor)throw Error("Web assembly imports memory but no memory descriptor was provided.");this.memory=new WebAssembly.Memory(this.memoryDescriptor)}let r={method:"startMain",module:await this.module,memory:this.memory,trace:void 0!==this.options.trace};return t.postMessage(r),await Promise.resolve()}async startThread(e,t,i){if(void 0===this.mainWorker)throw Error("Main worker not started");if(!this.importsMemory||void 0===this.memory)throw Error("Multi threaded applications need to import shared memory.");let r=new nV.Worker(this.threadWorkerBundle.getFilePath());r.on("exit",()=>{this.threadWorkers.delete(t)});let n=new x_(e,r,this.options.trace);await n.workerReady();let a={method:"startThread",module:await this.module,memory:this.memory,tid:t,start_arg:i,trace:void 0!==this.options.trace};return n.postMessage(a),this.threadWorkers.set(t,r),await Promise.resolve()}async procExit(){var e;await (null==(e=this.mainWorker)?void 0:e.terminate()),await this.cleanUpWorkers(),await this.destroyStreams(),await this.cleanupFileDescriptors()}async terminate(){let e=0;return void 0!==this.mainWorker&&(e=await this.mainWorker.terminate()),await this.cleanUpWorkers(),await this.destroyStreams(),await this.cleanupFileDescriptors(),e}async cleanUpWorkers(){for(let e of this.threadWorkers.values())await e.terminate();this.threadWorkers.clear()}async threadEnded(e){let t=this.threadWorkers.get(e);void 0!==t&&(this.threadWorkers.delete(e),await t.terminate())}doesImportMemory(e){for(let t of WebAssembly.Module.imports(e))if("memory"===t.kind&&"memory"===t.name)return!0;return!1}constructor(e,t,i,r,n,a={}){super(i,a),xv(this,"mainWorkerBundle",void 0),xv(this,"threadWorkerBundle",void 0),xv(this,"module",void 0),xv(this,"importsMemory",void 0),xv(this,"memoryDescriptor",void 0),xv(this,"memory",void 0),xv(this,"mainWorker",void 0),xv(this,"threadWorkers",void 0),this.mainWorkerBundle=e,this.threadWorkerBundle=t,this.threadWorkers=new Map,this.module=r instanceof WebAssembly.Module?Promise.resolve(r):r,n instanceof WebAssembly.Memory?this.memory=n:this.memoryDescriptor=n}}var xw=i(65110);function xb(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class xS{get reanalysisRequested(){return this._reanalysisRequestedEmitter.event}get pid(){var e;return null==(e=this._serverProcess)?void 0:e.pid}async start(e){try{if(!this._isStarted){var t,i,r,n;null==(t=this._connection)||t.listen(),await (null==(i=this._connection)?void 0:i.sendRequest(nZ.InitializeRequest.type,this._getInitializeParams(e))),null==(r=this._connection)||r.sendNotification(nZ.InitializedNotification.type,{}),this._pendingNotifications.forEach(e=>{var t;null==(t=this._connection)||t.sendNotification(e.type,e.params)}),null==(n=this._connection)||n.sendNotification(nZ.DidChangeConfigurationNotification.type,{settings:{}}),this._isStarted=!0,this._startedPromise.resolve()}}catch(e){this.console.error(`BLS: Failed to start server: ${e}`),this.dispose()}}dispose(){!this._disposed&&(this._disposed=!0,this.disposables.forEach(e=>e.dispose()),this._reanalysisRequestedEmitter.dispose(),this.disposables=[],this._connection=void 0,this._serverProcess&&((0,gA.k)(this._serverProcess),this._serverProcess=void 0))}async handleShutdown(){!this._disposed&&this._connection&&await this._connection.sendRequest(nZ.ShutdownRequest.type,void 0)}handleDidChangeSettings(){this.sendNotification(nZ.DidChangeConfigurationNotification.type,{settings:{}})}handleDidChangeWatchedFiles(e){let t=[];for(let i of e.changes)if([...this._watchedFileGlobs.values()].flat().find(e=>xw.xF(i.uri,e))){t.push(i);break}t.length>0&&this.sendNotification(nZ.DidChangeWatchedFilesNotification.type,{changes:t})}handleUpdateSettings(e,t){this._lastSettings.set(e.uri,this._cloneSettings(t))}handleDidOpenTextDocument(e){var t;let i=this._convertUri(e.textDocument.uri);this._fileVersions.has(i)||this.sendNotification(nZ.DidOpenTextDocumentNotification.type,e),this._fileVersions.set(i,null!=(t=e.textDocument.version)?t:0)}handleDidChangeTextDocument(e){var t;let i=this._convertUri(e.textDocument.uri);this.sendNotification(nZ.DidChangeTextDocumentNotification.type,e),this._fileVersions.set(i,null!=(t=e.textDocument.version)?t:0)}handleDidCloseTextDocument(e){let t=this._convertUri(e.textDocument.uri);this.sendNotification(nZ.DidCloseTextDocumentNotification.type,e),this._fileVersions.delete(t)}handleWorkspaceFoldersChanged(e){for(let t of e.event.removed){let e=this._openedWorkspaces.findIndex(e=>e.uri===t.uri);e>=0&&this._openedWorkspaces.splice(e,1)}for(let t of e.event.added)this._openedWorkspaces.push(t);this.sendNotification(nZ.DidChangeWorkspaceFoldersNotification.type,e)}get connection(){return this._connection}get console(){return this._serviceProvider.console()}get serviceProvider(){return this._serviceProvider}convertUri(e){return this._convertUri(e)}fireReanalysisRequested(){this._reanalysisRequestedEmitter.fire()}getFileVersion(e){var t;return null!=(t=this._fileVersions.get(e))?t:-1}sendNotification(e,t){if(!this._disposed)if(this._isStarted&&this._connection)return this._connection.sendNotification(e.method,t);else this._pendingNotifications.push({type:e,params:t});return Promise.resolve()}async sendRequest(e,t,i){return!this._disposed&&this._connection?(await this._startedPromise.promise,await this._connection.sendRequest(e.method,t,i)):await Promise.resolve(null)}_cloneSettings(e){let t=function e(t){if(n4.z.is(t))return t.getFilePath();if(Array.isArray(t))return t.map(t=>e(t));if(t&&"object"==typeof t){let i={};for(let r in t)i[r]=e(t[r]);return i}return t}(e);return"log"===t.logLevel&&(t.logLevel="trace"),t}_createGlobPattern(e){return"string"==typeof e?e:e.baseUri.toString()+"/"+e.pattern}_error(e,t){this.console.error(`BLS: ${e}: ${null==t?void 0:t.message}`)}_info(e){this.console.info(`BLS: ${e}`)}_getInitializeParams(e){return{processId:process.pid,clientInfo:{name:"Pylance Background LSP Server",version:"0.0"},locale:"en-us",rootPath:null,rootUri:null,capabilities:{workspace:{applyEdit:!0,workspaceEdit:{documentChanges:!0,resourceOperations:["create","rename","delete"],failureHandling:"textOnlyTransactional",normalizesLineEndings:!0,changeAnnotationSupport:{groupsOnLabel:!0}},configuration:!0,didChangeWatchedFiles:{dynamicRegistration:!0,relativePatternSupport:!0},didChangeConfiguration:{dynamicRegistration:!0},workspaceFolders:!0,fileOperations:{dynamicRegistration:!0,didCreate:!0,didRename:!0,didDelete:!0,willCreate:!0,willRename:!0,willDelete:!0},diagnostics:{refreshSupport:!0}},textDocument:{publishDiagnostics:{relatedInformation:!0,versionSupport:!1,tagSupport:{valueSet:[1,2]},codeDescriptionSupport:!0,dataSupport:!0},synchronization:{dynamicRegistration:!0,willSave:!0,willSaveWaitUntil:!0,didSave:!0},diagnostic:{dynamicRegistration:!0,relatedDocumentSupport:!1}},general:{staleRequestSupport:{cancel:!0,retryOnContentModified:[]},regularExpressions:{engine:"ECMAScript",version:"ES2020"},markdown:{parser:"marked",version:"1.1.0"},positionEncodings:["utf-16"]},notebookDocument:{synchronization:{dynamicRegistration:!0,executionSummarySupport:!0}}},initializationOptions:{},workspaceFolders:e}}_createConnection(e,t,i,r){let n={cancellationStrategy:{receiver:nZ.CancellationReceiverStrategy.Message,sender:nZ.CancellationSenderStrategy.Message}},a=this._createMessageTransports(e,t,i);if(!a)throw Error("Failed to create message transports");let s=(0,gF.createConnection)(a.reader,a.writer,n);return r.push(s.onRequest(nZ.RegistrationRequest.type,e=>{e.registrations.forEach(e=>{if(e.method===nZ.DidChangeWatchedFilesNotification.method){let t=e.registerOptions.watchers.map(e=>this._createGlobPattern(e.globPattern));this._watchedFileGlobs.set(e.id,t)}})}),s.onRequest(nZ.UnregistrationRequest.type,e=>{e.unregisterations.forEach(e=>{e.method===nZ.DidChangeWatchedFilesNotification.method&&this._watchedFileGlobs.delete(e.id)})}),s.onNotification(nZ.LogMessageNotification.type,e=>{this.console.log(`BLS: ${e.type}: ${e.message}`)}),s.onRequest(nZ.DiagnosticRefreshRequest.type,()=>{this._throttledFireReanalysisRequested()}),s.onRequest(nZ.ConfigurationRequest.type,async e=>{let t=[];for(let[i,r]of e.items.entries()){t.push({});let e=await this._getMatchingSettings(r);e&&("python.analysis"===r.section?t[i]={...e}:"python"===r.section&&(t[i]={pythonPath:e.pythonPath}))}return t})),r.push(s),s}async _getMatchingSettings(e){if(e.scopeUri){let t=this._convertUri(e.scopeUri);for(let e of this._lastSettings.entries()){let i=this._convertUri(e[0]);if(t.equals(i))return e[1]}let i=await this._getSettings(t);if(i){let t=this._cloneSettings(i);return this._lastSettings.set(e.scopeUri,t),t}}else if(this._lastSettings.size>0)return[...this._lastSettings.values()][0]}_createMessageTransports(e,t,i){var r,n;let a=i.some(e=>"--stdio"===e)?"stdio":"ipc",s=Object.create(null);s.cwd=t,s.env=process.env,"ipc"===a&&(s.stdio=[null,null,null,"ipc"]);let o=nX.spawn(e,i,s);if(!o||!o.pid)return void this.console.error(`BLS: Launching server using runtime ${e} failed.`);this.console.info(`BLS: Launched server using runtime ${e} with args: ${i.join(" ")}`),o.on("error",e=>this._error("Error launching BLS",e)),o.on("exit",(e,t)=>{this.console.log(`BLS process exited with code ${e} and signal ${t}`)}),this._serverProcess=o,null==(r=o.stderr)||r.on("data",e=>this._error(e.toString()));let l=this._serviceProvider.tryGet(nM.test);return(l&&o.pid&&l.onChildProcessStarted(o.pid),i.some(e=>"--stdio"===e))?{reader:new gx.StreamMessageReader(o.stdout),writer:new gx.StreamMessageWriter(o.stdin)}:(null==(n=o.stdout)||n.on("data",e=>this._info(e.toString())),{reader:new gx.IPCMessageReader(o),writer:new gx.IPCMessageWriter(o)})}constructor(e,t,i,r,n,a,s){xb(this,"_serviceProvider",void 0),xb(this,"_convertUri",void 0),xb(this,"_getSettings",void 0),xb(this,"_connection",void 0),xb(this,"_serverProcess",void 0),xb(this,"_fileVersions",void 0),xb(this,"_openedWorkspaces",void 0),xb(this,"_lastSettings",void 0),xb(this,"_watchedFileGlobs",void 0),xb(this,"disposables",void 0),xb(this,"_disposed",void 0),xb(this,"_startedPromise",void 0),xb(this,"_isStarted",void 0),xb(this,"_pendingNotifications",void 0),xb(this,"_reanalysisRequestedEmitter",void 0),xb(this,"_throttledFireReanalysisRequested",void 0),this._serviceProvider=e,this._convertUri=t,this._getSettings=i,this._fileVersions=new ar.Z,this._openedWorkspaces=[],this._lastSettings=new Map,this._watchedFileGlobs=new Map,this.disposables=[],this._disposed=!1,this._startedPromise=(0,dI.ud)(),this._isStarted=!1,this._pendingNotifications=[],this._reanalysisRequestedEmitter=iR.create(),this._throttledFireReanalysisRequested=(0,Tp.throttle)(this.fireReanalysisRequested.bind(this),1e3),this._connection=this._createConnection(n,a,s,this.disposables)}}function xk(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let xI=sP().resolve(__dirname,"..","dist"),xC=sP().resolve(__dirname,"..","..","pyright");class xP extends xS{static async create(e,t,i,r){let n=await xP._downloadPyrightServerFile(e,r);if(!n||!e.fs().existsSync(n))throw Error(`Pyright server file not found for version: ${r}`);let a=xP._computePyrightVersion(e,n,r);if("local"!==r&&am.lt(a,"1.1.397"))throw Error(`Pyright version ${a} does not support pull diagnostics. Falling back to Pylance.`);return new xP(e,t,i,n.getFilePath(),a)}handleUpdateSettings(e,t){let i=o4(this.serviceProvider.fs().getModulePath());t.extraPaths=[...t.extraPaths||[],i],super.handleUpdateSettings(e,t)}handleDidOpenTextDocument(e){let t=this.convertUri(e.textDocument.uri);oy.isNotebookCell(t)||super.handleDidOpenTextDocument(e)}handleDidCloseTextDocument(e){let t=this.convertUri(e.textDocument.uri);oy.isNotebookCell(t)||super.handleDidCloseTextDocument(e)}handleDidChangeTextDocument(e){let t=this.convertUri(e.textDocument.uri);oy.isNotebookCell(t)||super.handleDidChangeTextDocument(e)}async getDiagnostics(e,t){if(oy.isNotebookCell(e))return;let i=this._cachedResults.get(e.key),r=await this.sendRequest(nZ.DocumentDiagnosticRequest.type,{textDocument:{uri:e.toString()},previousResultId:null==i?void 0:i.resultId},t);if(r&&"full"===r.kind)this._cachedResults.set(e.key,r);else{if(!r||!i)return;r=i}return this.console.log(`Got diagnostics for ${e.toString()}: ${r.items.length} items`),{...r,uri:e.toString(),version:this.getFileVersion(e)}}combineDiagnostics(e,t){let i=[];for(let r of t){let t=this.convertUri(r.uri);if(oy.isNotebookCell(t))i.push(r);else{let t=e.find(e=>(null==e?void 0:e.uri)===r.uri);t&&"full"===t.kind?(t.items.forEach(e=>{e.source=`Pyright ${this._pyrightVersion||""}`}),t.resultId=r.resultId,i.push(t)):i.push(r)}}return i}static async _downloadPyrightServerFile(e,t){if(!t.endsWith(".js")&&((0,n2.Bb)()||"local"===t)){let t=n4.z.file(xC,e).combinePaths("packages","pyright","dist","pyright-langserver.js");if(e.fs().existsSync(t))return t}if(t.endsWith(".js")){let i=n4.z.file(t,e);return e.fs().existsSync(i)&&e.fs().readFileSync(i,"utf-8").split("\n")[1].includes("pyright-langserver.js")?i:void 0}let i="local"===t?"latest":t,r=`https://ms-pyright.gallery.vsassets.io/_apis/public/gallery/publisher/ms-pyright/extension/pyright/${i}/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage`,n=n4.z.file(xI,e).combinePaths("pyright",i),a=n.combinePaths("extension","dist","server.js"),s=e.fs();return s.existsSync(a)||await yU(r,async t=>{for(let i of(s.mkdirSync(n,{recursive:!0}),Object.entries((await ml.loadAsync(t)).files))){let t=i[0],r=n.combinePaths(t);try{let e=i[1];if(e.dir)s.mkdirSync(r,{recursive:!0});else{let t=await e.async("nodebuffer");s.mkdirSync(r.getDirectory(),{recursive:!0}),s.writeFileSync(r,t,"utf-8")}}catch{return e.console().error(`Error extracting ${r} during download of pyright server.`),!1}}return!0},nZ.CancellationToken.None)?a:void 0}static _computePyrightVersion(e,t,i){if("local"===i||i.endsWith(".js")){let i=t.getDirectory().getDirectory().combinePaths("package.json");return e.fs().existsSync(i)?JSON.parse(e.fs().readFileSync(i,"utf-8")).version:""}return i}constructor(e,t,i,r,n){super(e,t,i,"PyrightExternalServer",process.execPath,xI,[r,"--node-ipc"]),xk(this,"_pyrightVersion",void 0),xk(this,"_cachedResults",void 0),this._pyrightVersion=n,this._cachedResults=new Map}}class xx{async create(e,t,i,r){if("pyright"===t.diagnosticsSource&&t.pyrightVersion)return await xP.create(e,i,r,t.pyrightVersion)}}function xF(){if(void 0!==d)try{d.end()}catch(e){}}let xA=!1;!function(){let e="--clientProcessId";function t(e){try{let t=parseInt(e);isNaN(t)||(E=setInterval(()=>{try{process.kill(t,0)}catch(e){xF(),process.exit(+!xA)}},3e3))}catch(e){}}for(let i=2;i<process.argv.length;i++){let r=process.argv[i];if(r===e&&i+1<process.argv.length)return void t(process.argv[i+1]);{let i=r.split("=");i[0]===e&&t(i[1])}}}();let xD={initialize:e=>{let t=e.processId;"number"==typeof t&&void 0===E&&setInterval(()=>{try{process.kill(t,0)}catch(e){process.exit(+!xA)}},3e3)},get shutdownReceived(){return xA},set shutdownReceived(value){xA=value},exit:e=>{xF(),process.exit(e)}},xE=__dirname;async function xR(e){if(await (0,n0.y)(),nV.isMainThread){let t,i,r,n,a,s,o,l,d,u,p,c,h,{connection:m,reader:y,writer:g}=function(e){var t,i;let r,n,a=!1;if(!r&&!n&&process.argv.length>2){let e,t,i=process.argv.slice(2);for(let s=0;s<i.length;s++){let o=i[s];if("--node-ipc"===o){r=new gx.IPCMessageReader(process),n=new gx.IPCMessageWriter(process);break}if("--stdio"===o){a=!0,r=process.stdin,n=process.stdout;break}if("--socket"===o){e=parseInt(i[s+1]);break}if("--pipe"===o){t=i[s+1];break}else{let i=o.split("=");if("--socket"===i[0]){e=parseInt(i[1]);break}if("--pipe"===i[0]){t=i[1];break}}}if(e){let t=(0,gx.createServerSocketTransport)(e);r=t[0],n=t[1]}else if(t){let e=(0,gx.createServerPipeTransport)(t);r=e[0],n=e[1]}}let s="Use arguments of createConnection or set command line parameters: '--node-ipc', '--stdio' or '--socket={number}'";if(!r)throw Error("Connection input stream is not set. "+s);if(!n)throw Error("Connection output stream is not set. "+s);if("function"==typeof r.read&&"function"==typeof r.on){let e=r;e.on("end",()=>{process.exit(0)}),e.on("close",()=>{process.exit(0)})}let o=void 0!==(t=r).read&&void 0!==t.addListener?new gx.StreamMessageReader(r):r,l=void 0!==(i=n).write&&void 0!==i.addListener?new gx.StreamMessageWriter(n):n;return{connection:(0,nZ.createConnection)(t=>{let i=(0,nZ.createProtocolConnection)(o,l,t,e);return a&&function(e){function t(e){return e.map(e=>"string"==typeof e?e:(0,P8.inspect)(e)).join(" ")}let i=new Map;console.assert=function(i,...r){if(!i)if(0===r.length)e.error("Assertion failed");else{let[i,...n]=r;e.error(`Assertion failed: ${i} ${t(n)}`)}},console.count=function(t="default"){var r;let n=String(t),a=null!=(r=i.get(n))?r:0;a+=1,i.set(n,a),e.log(`${n}: ${n}`)},console.countReset=function(e){void 0===e?i.clear():i.delete(String(e))},console.debug=function(...i){e.log(t(i))},console.dir=function(t,i){e.log((0,P8.inspect)(t,i))},console.log=function(...i){e.log(t(i))},console.error=function(...i){e.error(t(i))},console.trace=function(...i){let r=Error().stack.replace(/(.+\n){2}/,""),n="Trace";0!==i.length&&(n+=`: ${t(i)}`),e.log(`${n}
${r}`)},console.warn=function(...i){e.warn(t(i))}}(t),i},xD),reader:o,writer:l}}((0,n3.r)());t=new n5.v1,i=new n1.sw(m.console,`(${process.pid})`),r=new n5.NK,n=(0,n5.GD)(t,i,r),a=new oy(t),s=function(e,t,i,r,n,a,s="FG_"){let o=new oL(t),l=new ms(n),d=new mo,u=new gr.G,p=new h2,c=new n9.Dd(i),h=new xl(t),m=n4.z.file(e,a,!0),y=m.combinePaths("bundled","wasm","web-tree-sitter.wasm"),g=m.combinePaths("bundled","wasm","tree-sitter-rst.wasm"),f=m.combinePaths("mainSandboxWorker.bundle.js"),v=m.combinePaths("threadSandboxWorker.bundle.js"),_=new yB(m,f,v,i,n,xT,e=>{let t=i.readFileSync(e);return WebAssembly.compile(t)},d),T=yJ(i,r,a,n,o,l,d,new h1,u,new y$,p,h,new y0,_,c,new at.yk("bg")),w=new kz(i,y,g,n,T);T.add(nM.docStringService,w),T.add(nM.asyncDocStringService,w);let b=new gp(T);T.add(nM.hostFactory,b),T.add(nM.recommendationService,new xp(T)),yY(T,new Ty(i,n,b,d,_),nM.pthService,n7.y.stateMutationListeners),T.add(nM.profilingService,new gL(T,s));let S=new P9;T.add(nM.codeActionService,S);let k=new xe;T.add(nM.commandRegistry,k);let I=new xi;return T.add(nM.completionProviderRegistry,I),T}(xE,m,gt.createWithoutRemote(n,a),a,i,t),o=new xx,s.add(nM.externalServerFactory,o),l=new mr,s.add(nM.diagnosticCodeMapper,l),s.add(n7.y.stateMutationListeners,l),s.add(nM.backgroundAnalysisFactory,new xo(s)),s.add(nM.recommendationService,new xp(s)),d=new gk(y,g),s.add(nM.messageTracker,d),u=new xd(m),s.add(nM.connectionService,u),p=new gR(s),s.add(nM.typeProviderServiceFactory,p),c=new gs,s.add(nM.textDocumentTracker,c),h=new P3({productName:"Pylance",rootDirectory:n4.z.file(xE,s,!0),version:`${ag} (pyright version ${av}, commit ${af.substring(0,8)})`,serviceProvider:s,fileWatcherHandler:r,supportedCommands:Sa.supportedCommands(),supportedCodeActions:[nZ.CodeActionKind.QuickFix,nZ.CodeActionKind.Refactor,nZ.CodeActionKind.RefactorExtract,nZ.CodeActionKind.SourceFixAll,...w4],supportsTelemetry:!0,hasVSCodeExtension:e,testing:process.argv.includes("--test-mode")},m),s.add(nM.hostProvider,{getHost:async()=>await h.getHost()})}else!function(){let e=nV.workerData;if("priorityQueueBackgroundRunner"===e.runner)return new Tv().start();if("taskBackgroundRunner"===e.runner){let t=TF(e,`BG(${e.workspaceName})`),i=new Tx;t.add(nM.telemetry,i);let r=new y0;t.add(nM.packageDiscoverer,r),new _x(n4.z.parse(e.workspaceRootUri,t),t).start();return}"indexer"===e.runner&&new _9(TF(e,`IDX(${e.workspaceName})`)).start()}()}P7.install(),nX.spawnSync(process.execPath,["--version"]),process.on("uncaughtException",e=>{console.error("Uncaught Exception in Pylance:",e),process.exit(11)}),process.on("unhandledRejection",e=>{console.error("Unhandled Rejection in Pylance:",e),process.exit(10)}),process.noDeprecation=!0,!function(){for(let e of[nQ("4ef2a28c6e535c3d95e7d9071e8340b4b316eeedd69f2eff8efa3b394dd1f090"),nQ("697264da7eb9a44dc414d05bbf96075c26086e5c8f779aecc8625bf9924f6a72")])if(!process.env[e])return!1;for(let e of process.argv)if(e.startsWith(nQ("fb9285f4e9a13e36684ad61a2e316e81"))||e.startsWith(nQ("e9667e9886a774db19b5cb7e0b6be692")))return!1;return!nV.isMainThread||!!process.argv.some(e=>e.startsWith(nQ("1a3d71d8003b1f94bca201d22f695d7b8a7d9b7be61daed5530bd2d12ee03436")))&&!!process.argv.some(e=>e.startsWith(nQ("782cd91f1d1aaa09bdecc44ba7ab5078"))||e.startsWith(nQ("a9030c13c3ccb221b038c0fabdbf7eef")))}()&&(process.stderr.write(nG+"\n"),process.exit(1)),Error.stackTraceLimit=32,xR(!0)},1158(e){"use strict";e.exports=require("buffer")},13200(e){"use strict";e.exports=require("child_process")},38749(e){"use strict";e.exports=require("crypto")},66261(e){"use strict";e.exports=require("events")},94383(e){"use strict";e.exports=require("fs")},77972(e){"use strict";e.exports=require("module")},52135(e){"use strict";e.exports=require("net")},89366(e){"use strict";e.exports=require("os")},62003(e){"use strict";e.exports=require("path")},69778(e){"use strict";e.exports=require("readline")},76272(e){"use strict";e.exports=require("stream")},16857(e){"use strict";e.exports=require("url")},92460(e){"use strict";e.exports=require("util")},75446(e){"use strict";e.exports=require("v8")},52128(e){"use strict";e.exports=require("worker_threads")},33925(e){"use strict";e.exports=require("zlib")},91943(e){"use strict";e.exports=require("fs/promises")},18721(e){"use strict";e.exports=JSON.parse('{"CodeAction":{"AddTypeAnnotation":{"addAllTypeAnnotations":"Přidat všechny pozn\xe1mky typu","addTypeAnnotation":"Přidat anotaci typu"},"AddTypeIgnore":{"title":"Pokud chcete potlačit upozorněn\xed, přidejte {statement}"},"AutoImport":{"addAutoImport":"Přidat {importText}","searchImport":"Hledat dalš\xed shody importu"},"ChangeSpelling":{"changeSpellingTo":"Změnit pravopis na „{word}“"},"ConvertFormatString":{"convertToFString":"Přev\xe9st na f-string pomoc\xed Copilotu","convertToFormat":"Přev\xe9st na vol\xe1n\xed format() pomoc\xed Copilotu"},"ConvertImportStar":{"convertAllToExplicitImports":"Přev\xe9st všechny importy s hvězdičkou na explicitn\xed importy","convertToExplicitImports":"Přev\xe9st na explicitn\xed importy"},"ConvertLambdaToNamedFunction":{"title":"Přev\xe9st v\xfdraz lambda na pojmenovanou funkci pomoc\xed Copilotu"},"DiagnosticRefactor":{"fixformattedString":"Opravit „{name}“"},"ExtraPath":{"addExtraPath":"Přidat „{name}“ do extraPaths"},"Extract":{"method":"Extrahovat metodu","variable":"Extrahovat proměnnou"},"FixAll":{"runFixAll":"Spustit pylance fix all"},"GenerateSymbol":{"generateClass":"Generovat \\"{name}\\" tř\xeddy s Copilot","generateFunction":"Generovat \\"{name}\\" funkce s Copilot","generateMember":"Vygenerovat člena {name} pomoc\xed Copilotu"},"ImplementAbstractClass":{"implementAllAbstractClasses":"Implementovat všechny zděděn\xe9 abstraktn\xed tř\xeddy"},"MoveSymbol":{"commandTitle":"Přesunout symbol","moveSymbolsTo":"Přesunout symbol do...","moveSymbolsToNewFile":"Přesunout symbol do nov\xe9ho souboru"},"RemoveUnusedImport":{"removeAllUnusedImports":"Odstranit všechny nepouž\xedvan\xe9 importy","removeUnusedImport":"Odebrat nepoužit\xfd import"},"ToggleImportPath":{"convertAllFormat":"Přev\xe9st všechny form\xe1ty importu","convertAllToAbsolutePath":"Přev\xe9st všechny importy na absolutn\xed cestu","convertAllToRelativePath":"Přev\xe9st všechny importy na relativn\xed cestu","convertToAbsolutePath":"Přev\xe9st na absolutn\xed cestu","convertToRelativePath":"Přev\xe9st na relativn\xed cestu"},"UnresolvedImports":{"learnMoreTitle":"Dalš\xed informace o řešen\xed importů","selectInterpreterTitle":"Vyberte jin\xe9ho interpreta","selectKernelTitle":"Vyberte jin\xe9 j\xe1dro (kernel) Jupyter","troubleshootMissingImports":"Odstranit pot\xedže s chyběj\xedc\xedmi importy"}},"Commands":{"LoggingCommand":{"loggingDataSaved":"Data protokolov\xe1n\xed se uložila do um\xedstěn\xed [{filePath}]({uri}). Dalš\xed podrobnosti najdete v podokně v\xfdstupu Python Language Server."},"ProfilingCommand":{"profilingDataSaved":"Data profilace se uložila do um\xedstěn\xed [{filePath}]({uri}). Dalš\xed podrobnosti najdete v podokně v\xfdstupu „Python Language Server.“"},"gotoOutputCommand":"Zobrazit v\xfdstup"},"Copilot":{"generateDocstringWithCopilot":"Generovat Docstring pomoc\xed Copilotu","hoverSummary":{"generateSummary":"Vygenerovat souhrn Copilotu","noSummary":"Nen\xed k dispozici ž\xe1dn\xfd souhrn.","summary":"Souhrn","tooltip":"Obsah vygenerovan\xfd umělou inteligenc\xed může b\xfdt nespr\xe1vn\xfd."},"implementAllInheritedAbstractClasseswithCopilot":"Implementovat všechny zděděn\xe9 abstraktn\xed tř\xeddy pomoc\xed Copilotu"},"Diagnostic":{"importResolveRedirect":"Import {importName} se v prostřed\xed {venv} nepovedlo naj\xedt."},"DocstringTemplate":{"description":"Popis","docstringForName":"Docstring pro {name}","generateDocstring":"Generovat řetězec Docstring"},"LargeLog":{"copyToClipboard":"Protokol se zkr\xe1til kvůli limitu textu probl\xe9mu na GitHubu. Do schr\xe1nky byl zkop\xedrov\xe1n \xfapln\xfd protokol.","no":"Ž\xe1dn\xe9","openLink":"Otevř\xedt odkaz","userConsent":"R\xe1di bychom v\xe1š protokol Pylance zahrnuli do probl\xe9mu, kter\xfd hl\xe1s\xedte, ale je př\xedliš velk\xfd. Nevadilo by, kdybychom ho m\xedsto toho nahr\xe1li př\xedmo na GitHub (v probl\xe9mu bude vidět jen č\xe1st protokolu)? Dalš\xed informace najdete na tady: {url}.","yes":"Ano"},"Messages":{"defaultPythonEnvironmentName":"V\xfdchoz\xed prostřed\xed Pythonu","globalEnvironmentName":"glob\xe1ln\xed","pluralFilesAndPluralCellsToAnalyze":"{fileCount} soubory/souborů a {cellCount} buňky/buněk k anal\xfdze","pluralFilesAndSingularCellToAnalyze":"{fileCount} soubory/souborů a 1 buňka k anal\xfdze","singularFileAndPluralCellsToAnalyze":"1 soubor a {cellCount} buňky/buněk k anal\xfdze","singularFileAndSingularCellToAnalyze":"1 soubor a 1 buňka k anal\xfdze","windowsStoreEnvironmentName":"Microsoft Store"},"PerformanceTracking":{"button":"Nahl\xe1sit probl\xe9m","title":"Zjistili jsme probl\xe9m s v\xfdkonem rozš\xedřen\xed Pylance. Chcete nahl\xe1sit probl\xe9m pomoc\xed př\xedkazu Pylance: Nahl\xe1sit probl\xe9m?"},"Pytest":{"addTypeAnnotation":"Přidat pozn\xe1mku typu k n\xe1zvu {name}","addTypeAnnotations":"Přidat pozn\xe1mky typu pro všechny odkazy fixture v tomto souboru","fixtureNotFound":"„{fixture}“ nen\xed zn\xe1m\xfd testovac\xed př\xedpravek (fixture). Testovac\xed metody by měly jako parametry přij\xedmat pouze n\xe1zvy testovac\xedch př\xedpravků (fixture) nebo parametrizace (parametrization)."},"Refactoring":{"moveFile":"Chcete aktualizovat všechny odkazy na import pro {oldModuleName} na {newModuleName}?","moveFileAbsentSymbol":"Nepovedlo se naj\xedt symbol, kter\xfd se m\xe1 přesunout.","moveFileDescription":"Chcete aktualizovat všechny odkazy na import pro {oldModuleName} na {newModuleName}?","moveFileExtensionMismatch":"Pokud chcete přesunout symbol, mus\xed m\xedt zdrojov\xfd soubor ({src}) a c\xedlov\xfd soubor ({dest}) stejnou př\xedponu souboru.","moveFileImportableOnly":"Přesouvat se můžou jenom objekty, kter\xe9 se daj\xed importovat z jin\xfdch modulů, jako jsou tř\xeddy nebo funkce.","moveFileInsertLocation":"Nelze naj\xedt um\xedstěn\xed pro vložen\xed symbolu. Symbol se stejn\xfdm n\xe1zvem už může v {name} existovat.","moveFileLabel":"Chcete aktualizovat všechny odkazy na import pro {oldModuleName} na {newModuleName}?","moveFileMissingInfo":"Nelze naj\xedt informace o souboru pro {name}.","moveFileMultipleDeclarations":"Tento symbol nelze přesunout, protože je deklarov\xe1n v\xedcekr\xe1t.","moveFileNotUserFile":"Tento symbol nelze přesunout. Podporuj\xed se pouze symboly v souboru projektu nebo uživatele.","moveFilePrivateSymbol":"{name} se ned\xe1 přesunout, protože se jedn\xe1 o priv\xe1tn\xed symbol.","moveFileSameFile":"Symbol nelze přesunout do stejn\xe9ho souboru, ve kter\xe9m se pr\xe1vě nach\xe1z\xed.","moveFileSimpleAssignmentsOnly":"Tento v\xfdraz nejde přesunout. Podporuj\xed se pouze jednoduch\xe1 přiřazen\xed, např\xedklad proměnn\xe1, kter\xe9 se přiřazuje hodnota.","moveFileSymbolNotFound":"Na pozici {position} nelze naj\xedt symbol.","moveFileUnsupportedSymbol":"Tento symbol nelze přesunout. Podporuj\xed se pouze proměnn\xe9, funkce a tř\xeddy na \xfarovni modulu."}}')},52420(e){"use strict";e.exports=JSON.parse('{"CodeAction":{"AddTypeAnnotation":{"addAllTypeAnnotations":"Alle Typanmerkungen hinzuf\xfcgen","addTypeAnnotation":"Typanmerkung hinzuf\xfcgen"},"AddTypeIgnore":{"title":"„{statement}“ hinzuf\xfcgen, um Warnung zu unterdr\xfccken"},"AutoImport":{"addAutoImport":"\\"{importText}\\" hinzuf\xfcgen","searchImport":"Nach zus\xe4tzlichen Import\xfcbereinstimmungen suchen"},"ChangeSpelling":{"changeSpellingTo":"Schreibweise in \\"{word}\\" \xe4ndern"},"ConvertFormatString":{"convertToFString":"Mit Copilot in eine f-Zeichenfolge konvertieren","convertToFormat":"Mit Copilot in einen format()-Aufruf konvertieren"},"ConvertImportStar":{"convertAllToExplicitImports":"Konvertieren aller Sternimporte in explizite Importe","convertToExplicitImports":"In explizite Importe konvertieren"},"ConvertLambdaToNamedFunction":{"title":"Lambdafunktion mit Copilot in eine benannte Funktion umwandeln"},"DiagnosticRefactor":{"fixformattedString":"Korrektur von „{name}“"},"ExtraPath":{"addExtraPath":"\\"{name}\\" zu extraPaths hinzuf\xfcgen"},"Extract":{"method":"Methode extrahieren","variable":"Variable extrahieren"},"FixAll":{"runFixAll":"Pylance \\"Alle korrigieren\\" ausf\xfchren"},"GenerateSymbol":{"generateClass":"Klassen-\\"{name}\\" mit Copilot generieren","generateFunction":"Funktion \\"{name}\\" mit Copilot generieren","generateMember":"Mitglied „{name}“ mit Copilot generieren"},"ImplementAbstractClass":{"implementAllAbstractClasses":"Alle geerbten abstrakten Klassen implementieren"},"MoveSymbol":{"commandTitle":"Symbol verschieben","moveSymbolsTo":"Symbol verschieben nach...","moveSymbolsToNewFile":"Symbol in neue Datei verschieben"},"RemoveUnusedImport":{"removeAllUnusedImports":"Alle nicht verwendeten Importe entfernen","removeUnusedImport":"Nicht verwendete Importe entfernen"},"ToggleImportPath":{"convertAllFormat":"Alle Importformate konvertieren","convertAllToAbsolutePath":"Alle Importe in absoluten Pfad konvertieren","convertAllToRelativePath":"Alle Importe in relativen Pfad konvertieren","convertToAbsolutePath":"In absoluten Pfad konvertieren","convertToRelativePath":"In relativen Pfad konvertieren"},"UnresolvedImports":{"learnMoreTitle":"Weitere Informationen zum Aufl\xf6sen von Importen","selectInterpreterTitle":"Anderen Interpreter ausw\xe4hlen","selectKernelTitle":"Anderen Jupyter-kernel ausw\xe4hlen","troubleshootMissingImports":"Problembehandlung bei fehlenden Importen"}},"Commands":{"LoggingCommand":{"loggingDataSaved":"Protokollierungsdaten wurden unter [{filePath}]({uri}) gespeichert. Weitere Informationen finden Sie im Ausgabebereich „Python-Sprachserver“."},"ProfilingCommand":{"profilingDataSaved":"Profilerstellungsdaten wurden unter [{filePath}]({uri}) gespeichert. Weitere Informationen finden Sie im Ausgabebereich „Python-Sprachserver“."},"gotoOutputCommand":"Ausgabe anzeigen"},"Copilot":{"generateDocstringWithCopilot":"Docstring mit Copilot generieren","hoverSummary":{"generateSummary":"Copilot-Zusammenfassung generieren","noSummary":"Keine Zusammenfassung verf\xfcgbar.","summary":"Zusammenfassung","tooltip":"KI-generierte Inhalte k\xf6nnen falsch sein."},"implementAllInheritedAbstractClasseswithCopilot":"Alle geerbten abstrakten Klassen mit Copilot implementieren"},"Diagnostic":{"importResolveRedirect":"Der Import \\"{importName}\\" wurde in der Umgebung \\"{venv}\\" nicht gefunden."},"DocstringTemplate":{"description":"Beschreibung","docstringForName":"Docstring f\xfcr {name}","generateDocstring":"Docstring generieren"},"LargeLog":{"copyToClipboard":"Das Protokoll wurde aufgrund der Begrenzung f\xfcr GitHub-Problemtexte gek\xfcrzt. Das vollst\xe4ndige Protokoll wurde in die Zwischenablage kopiert.","no":"Nein","openLink":"Link \xf6ffnen","userConsent":"Wir w\xfcrden Ihr Pylance-Protokoll gerne in das von Ihnen gemeldete Problem aufnehmen, es ist aber zu gro\xdf. W\xe4re es in Ordnung, wenn wir es stattdessen direkt auf GitHub hochladen (im Problem ist nur ein Teil des Protokolls zu sehen)? Weitere Informationen finden Sie unter {url}","yes":"Ja"},"Messages":{"defaultPythonEnvironmentName":"Python-Standardumgebung","globalEnvironmentName":"global","pluralFilesAndPluralCellsToAnalyze":"{fileCount} Dateien und {cellCount} Zellen zu analysieren","pluralFilesAndSingularCellToAnalyze":"{fileCount} Dateien und 1 Zeile zu analysieren","singularFileAndPluralCellsToAnalyze":"1 Datei und {cellCount} Zellen zu analysieren","singularFileAndSingularCellToAnalyze":"1 Datei und 1 Zelle zu analysieren","windowsStoreEnvironmentName":"Microsoft Store"},"PerformanceTracking":{"button":"Problem melden","title":"Wir haben ein Leistungsproblem mit Pylance erkannt. M\xf6chten Sie ein Problem mithilfe des Befehls „Pylance: Problem melden“ melden?"},"Pytest":{"addTypeAnnotation":"Typanmerkung zu {name} hinzuf\xfcgen","addTypeAnnotations":"Typanmerkungen f\xfcr alle fixture Verweise in dieser Datei hinzuf\xfcgen","fixtureNotFound":"\'{fixture}\' ist keine bekannte Test-fixture. Testmethoden d\xfcrfen nur fixture- oder parametrization Namen als Parameter empfangen."},"Refactoring":{"moveFile":"M\xf6chten Sie alle Importverweise f\xfcr \\"{oldModuleName}\\" auf \\"{newModuleName}\\" aktualisieren?","moveFileAbsentSymbol":"Es wurde kein zu verschiebendes Symbol gefunden.","moveFileDescription":"Alle Importverweise f\xfcr \\"{oldModuleName}\\" auf \\"{newModuleName}\\" aktualisieren?","moveFileExtensionMismatch":"Um ein Symbol zu verschieben, m\xfcssen die Quelldatei („{src}“) und die Zieldatei („{dest}“) dieselbe Dateierweiterung aufweisen.","moveFileImportableOnly":"Nur Objekte, die aus anderen Modulen importiert werden k\xf6nnen, z.\xa0B. Klassen oder Funktionen, d\xfcrfen verschoben werden.","moveFileInsertLocation":"Es wurde keine Position zum Einf\xfcgen des Symbols gefunden. In „{name}“ ist m\xf6glicherweise bereits ein Symbol mit diesem Namen vorhanden.","moveFileLabel":"Alle Importverweise f\xfcr \\"{oldModuleName}\\" auf \\"{newModuleName}\\" aktualisieren?","moveFileMissingInfo":"Es wurden keine Dateiinformationen f\xfcr „{name}“ gefunden.","moveFileMultipleDeclarations":"Dieses Symbol kann nicht verschoben werden, da es mehrmals deklariert ist.","moveFileNotUserFile":"Dieses Symbol kann nicht verschoben werden. Nur Symbole in einer Projekt- oder Benutzerdatei werden unterst\xfctzt.","moveFilePrivateSymbol":"„{name}“ kann nicht verschoben werden, da es sich um ein privates Symbol handelt.","moveFileSameFile":"Ein Symbol kann nicht in dieselbe Datei verschoben werden, in der es sich aktuell befindet.","moveFileSimpleAssignmentsOnly":"Dieser Ausdruck kann nicht verschoben werden. Es werden nur einfache Zuweisungen unterst\xfctzt, z.\xa0B. eine Variable, der ein Wert zugewiesen wird.","moveFileSymbolNotFound":"An Position „{position}“ wurde kein Symbol gefunden.","moveFileUnsupportedSymbol":"Dieses Symbol kann nicht verschoben werden. Nur Variablen, Funktionen und Klassen auf Modulebene werden unterst\xfctzt."}}')},76463(e){"use strict";e.exports=JSON.parse('{"CodeAction":{"AddTypeIgnore":{"title":"Add \'{statement}\' to suppress warning"},"AutoImport":{"addAutoImport":"Add \\"{importText}\\"","searchImport":"Search for additional import matches"},"ChangeSpelling":{"changeSpellingTo":"Change spelling to \\"{word}\\""},"ExtraPath":{"addExtraPath":{"message":"Add \\"{name}\\" to extraPaths","comment":"{Locked=\'extraPaths\'}"}},"Extract":{"method":"Extract method","variable":"Extract variable"},"FixAll":{"runFixAll":"Run pylance fix all"},"ImplementAbstractClass":{"implementAllAbstractClasses":"Implement all inherited abstract classes"},"MoveSymbol":{"commandTitle":"Move symbol","moveSymbolFailed":"Move symbol","moveSymbolsTo":{"message":"Move symbol to...","comment":"{StrEnds=\'...\'}"},"moveSymbolsToNewFile":"Move symbol to new file"},"RemoveUnusedImport":{"removeAllUnusedImports":"Remove all unused imports","removeUnusedImport":"Remove unused import"},"ToggleImportPath":{"convertAllFormat":"Convert all import formats","convertAllToAbsolutePath":"Convert all imports to absolute path","convertAllToRelativePath":"Convert all imports to relative path","convertToAbsolutePath":"Convert to absolute path","convertToRelativePath":"Convert to relative path"},"UnresolvedImports":{"learnMoreTitle":"Learn more about resolving imports","selectInterpreterTitle":"Select a different interpreter","selectKernelTitle":{"message":"Select a different Jupyter kernel","comment":"{Locked=\'Jupyter\',\'kernel\'}"},"troubleshootMissingImports":"Troubleshoot missing imports"},"GenerateSymbol":{"generateClass":{"message":"Generate class \\"{name}\\" with Copilot","comment":"{Locked=\'Copilot\'}"},"generateFunction":{"message":"Generate function \\"{name}\\" with Copilot","comment":"{Locked=\'Copilot\'}"},"generateMember":{"message":"Generate member \\"{name}\\" with Copilot","comment":"{Locked=\'Copilot\'}"}},"InheritDecorators":{"inheritAllDecorators":"Inherit all decorators"},"ConvertLambdaToNamedFunction":{"title":{"message":"Convert lambda to named function with Copilot","comment":"{Locked=\'Copilot\'}"}},"ConvertFormatString":{"convertToFString":{"message":"Convert to f-string with Copilot","comment":"{Locked=\'Copilot\'}"},"convertToFormat":{"message":"Convert to format() call with Copilot","comment":"{Locked=\'Copilot\',\'format\'}"}},"ConvertImportStar":{"convertToExplicitImports":"Convert to explicit imports","convertAllToExplicitImports":"Convert all star imports to explicit imports"},"ConvertImportToModule":{"convertToModuleImport":"Convert to module import","convertAllToModuleImport":"Convert all to module imports"},"RenameShadowedStdlib":{"renameModule":{"message":"Rename \\"{oldName}\\" to \\"{newName}\\" (shadows stdlib module)","comment":"oldName is the current file name, newName is the suggested new name"},"renameShadowedImports":"Rename imported modules that shadow stdlib"},"AddTypeAnnotation":{"addTypeAnnotation":"Add type annotation","addAllTypeAnnotations":"Add all type annotations"},"DiagnosticRefactor":{"fixformattedString":{"message":"Fix \\"{name}\\"","comment":"name is diangnostic error string"}}},"Commands":{"LoggingCommand":{"loggingDataSaved":"Logging data has been saved at [{filePath}]({uri}). See `Python Language Server` output pane for more detail."},"ProfilingCommand":{"profilingDataSaved":"Profiling data has been saved at [{filePath}]({uri}). See `Python Language Server` output pane for more detail."},"gotoOutputCommand":"Show Output"},"Copilot":{"implementAllInheritedAbstractClasseswithCopilot":{"message":"Implement all inherited abstract classes with Copilot","comment":"{Locked=\'Copilot\'}"},"generateDocstringWithCopilot":{"message":"Generate Docstring with Copilot","comment":"{Locked=\'Copilot\', \'Docstring\'}"},"documentation":{"copilotSummary":{"message":"Copilot Summary","comment":"{Locked=\'Copilot\'}"},"tooltip":"Click to fetch documentation for this symbol.","get":"Get documentation","notAvailable":"No documentation available.","fetchFailed":"Failed to fetch documentation."}},"Diagnostic":{"importResolveRedirect":"Import \\"{importName}\\" could not be found in the \\"{venv}\\" environment."},"DocstringTemplate":{"description":"Description","docstringForName":{"message":"Docstring for {name}","comment":"{Locked=\'Docstring\'}"},"generateDocstring":{"message":"Generate Docstring","comment":"{Locked=\'Docstring\'}"}},"Messages":{"defaultPythonEnvironmentName":{"message":"Default Python Environment","comment":"{Locked=\'Python\'}"},"globalEnvironmentName":"global","pluralFilesAndPluralCellsToAnalyze":"{fileCount} files and {cellCount} cells to analyze","pluralFilesAndSingularCellToAnalyze":"{fileCount} files and 1 cell to analyze","singularFileAndPluralCellsToAnalyze":"1 file and {cellCount} cells to analyze","singularFileAndSingularCellToAnalyze":"1 file and 1 cell to analyze","windowsStoreEnvironmentName":"microsoft store"},"PerformanceTracking":{"button":"Report issue","title":{"message":"We have detected a performance issue with Pylance. Would you like to file an issue using the `Pylance: Report Issue` command?","comment":"{Locked=\'Pylance\'}"}},"Pytest":{"addTypeAnnotation":"Add type annotation to {name}","addTypeAnnotations":{"message":"Add type annotations for all fixture references in this file","comment":"{Locked=\'fixture\'}"},"fixtureNotFound":{"message":"\'{fixture}\' is not a known test fixture. Test methods should only receive fixture or parametrization names as parameters.","comment":"{Locked=\'fixture\',\'parametrization\'}"}},"Refactoring":{"moveFile":"Do you want to update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileAbsentSymbol":"Cannot find a symbol to move.","moveFileDescription":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileExtensionMismatch":"To move a symbol, the source file (\\"{src}\\") and destination file (\\"{dest}\\") must have the same file extension.","moveFileImportableOnly":"Only objects that can be imported from other modules, such as classes or functions, are allowed to be moved.","moveFileInsertLocation":"Cannot find a location to insert the symbol. A symbol with the same name might already exist in \\"{name}\\".","moveFileLabel":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileMissingInfo":"Cannot find file information for \\"{name}\\".","moveFileMultipleDeclarations":"This symbol cannot be moved because it is declared multiple times.","moveFileNotUserFile":"This symbol cannot be moved. Only symbols in a project or user file are supported.","moveFilePrivateSymbol":"\\"{name}\\" cannot be moved because it is a private symbol.","moveFileSameFile":"A symbol cannot be moved to the same file where it is currently located.","moveFileSimpleAssignmentsOnly":"This expression can\'t be moved. Only simple assignments, such as a variable being assigned a value, are supported.","moveFileSymbolNotFound":"Cannot find a symbol at position \\"{position}\\".","moveFileUnsupportedSymbol":"This symbol cannot be moved. Only variables, functions, and classes at the module level are supported.","moveFileInvalidModuleName":"\\"{name}\\" is not a valid Python module name. File names used as modules must be valid Python identifiers (cannot start with a digit or contain special characters)."},"LargeLog":{"copyToClipboard":"The log has been truncated due to the GitHub issue body limit. The full log has been copied to the clipboard.","userConsent":{"message":"We would like to include your Pylance log in the issue you\'re reporting, but it\'s too large. Would it be okay if we uploaded it to github directly instead (only a portion of the log will be visible in the issue)? For more information, visit {url}","comment":"{Locked=\'Pylance\'}"},"openLink":"Open link","yes":"Yes","no":"No"}}')},32535(e){"use strict";e.exports=JSON.parse('{"CodeAction":{"AddTypeAnnotation":{"addAllTypeAnnotations":"Agregar todas las anotaciones de tipo","addTypeAnnotation":"Agregar una anotaci\xf3n de tipo"},"AddTypeIgnore":{"title":"Agregar “{statement}” para suprimir la advertencia"},"AutoImport":{"addAutoImport":"Agregar \\"{importText}\\"","searchImport":"Buscar coincidencias de importaci\xf3n adicionales"},"ChangeSpelling":{"changeSpellingTo":"Cambiar la ortograf\xeda a \\"{word}\\""},"ConvertFormatString":{"convertToFString":"Convertir a f-string con Copilot","convertToFormat":"Convertir a una llamada a format() con Copilot"},"ConvertImportStar":{"convertAllToExplicitImports":"Convertir todas las importaciones de estrellas en importaciones expl\xedcitas","convertToExplicitImports":"Convertir a importaciones expl\xedcitas"},"ConvertLambdaToNamedFunction":{"title":"Conversi\xf3n de lambda en funci\xf3n con nombre con Copilot"},"DiagnosticRefactor":{"fixformattedString":"Corregir \\"{name}\\""},"ExtraPath":{"addExtraPath":"Agregar \\"{name}\\" a extraPaths"},"Extract":{"method":"Extraer m\xe9todo","variable":"Extraer variable"},"FixAll":{"runFixAll":"Ejecutar pylance fix all"},"GenerateSymbol":{"generateClass":"Generar \\"{name}\\" de clase con Copilot","generateFunction":"Generar \\"{name}\\" de funci\xf3n con Copilot","generateMember":"Generar el miembro \\"{name}\\" con Copilot"},"ImplementAbstractClass":{"implementAllAbstractClasses":"Implementar todas las clases abstractas heredadas"},"MoveSymbol":{"commandTitle":"Mover s\xedmbolo","moveSymbolsTo":"Mover s\xedmbolo a...","moveSymbolsToNewFile":"Mover el s\xedmbolo a un nuevo archivo"},"RemoveUnusedImport":{"removeAllUnusedImports":"Eliminar todas las importaciones no utilizadas","removeUnusedImport":"Eliminar la importaci\xf3n no utilizada"},"ToggleImportPath":{"convertAllFormat":"Convierte todos los formatos de importaci\xf3n","convertAllToAbsolutePath":"Convertir todas las importaciones en rutas absolutas","convertAllToRelativePath":"Convertir todas las importaciones en rutas relativas","convertToAbsolutePath":"Convertir a ruta absoluta","convertToRelativePath":"Convertir en ruta de acceso relativa"},"UnresolvedImports":{"learnMoreTitle":"M\xe1s informaci\xf3n sobre c\xf3mo resolver importaciones","selectInterpreterTitle":"Seleccionar otro int\xe9rprete","selectKernelTitle":"Seleccionar otro kernel de Jupyter","troubleshootMissingImports":"Soluci\xf3n de problemas de importaciones que faltan"}},"Commands":{"LoggingCommand":{"loggingDataSaved":"Los datos de registro se han guardado en [{filePath}]({uri}). Consulte el panel de salida `Servidor de lenguaje de Python` para obtener m\xe1s detalles."},"ProfilingCommand":{"profilingDataSaved":"Los datos de generaci\xf3n de perfiles se han guardado en [{filePath}]({uri}). Consulte el panel de salida \\"Servidor de lenguaje de Python\\" para obtener m\xe1s detalles."},"gotoOutputCommand":"Mostrar salida"},"Copilot":{"generateDocstringWithCopilot":"Generar Docstring con Copilot","hoverSummary":{"generateSummary":"Generar resumen de Copilot","noSummary":"No hay resumen disponible.","summary":"Resumen","tooltip":"El contenido generado por inteligencia artificial puede ser incorrecto."},"implementAllInheritedAbstractClasseswithCopilot":"Implementaci\xf3n de todas las clases abstractas heredadas con Copilot"},"Diagnostic":{"importResolveRedirect":"No se encontraron \\"{importName}\\" de importaci\xf3n en el entorno de \\"{venv}\\"."},"DocstringTemplate":{"description":"Descripci\xf3n","docstringForName":"Docstring para {name}","generateDocstring":"Generar Docstring"},"LargeLog":{"copyToClipboard":"El registro se ha truncado debido al l\xedmite de cuerpo del problema de GitHub. El registro completo se ha copiado en el Portapapeles.","no":"No","openLink":"Abrir v\xednculo","userConsent":"Nos gustar\xeda incluir el registro de Pylance en el problema que est\xe1 informando, pero es demasiado grande. \xbfEstar\xeda bien si lo subimos directamente a GitHub en su lugar? (Solo una parte del registro ser\xe1 visible en el problema) Para obtener m\xe1s informaci\xf3n, visite {url}","yes":"S\xed"},"Messages":{"defaultPythonEnvironmentName":"Entorno de Python predeterminado","globalEnvironmentName":"global","pluralFilesAndPluralCellsToAnalyze":"{fileCount} archivos y {cellCount} celdas para analizar","pluralFilesAndSingularCellToAnalyze":"{fileCount} archivos y 1 celda para analizar","singularFileAndPluralCellsToAnalyze":"1 archivo y {cellCount} celdas para analizar","singularFileAndSingularCellToAnalyze":"1 archivo y 1 celda para analizar","windowsStoreEnvironmentName":"microsoft store"},"PerformanceTracking":{"button":"Notificar el problema","title":"Hemos detectado un problema de rendimiento con Pylance. \xbfDesea notificar un problema mediante el comando `Pylance: Report Issue`?"},"Pytest":{"addTypeAnnotation":"Agregar anotaci\xf3n de tipo a {name}","addTypeAnnotations":"Agregar anotaciones de tipo para todas las referencias de fixture en este archivo","fixtureNotFound":"\'{fixture}\' no es un fixture de prueba conocido. Los m\xe9todos de prueba solo deben recibir nombres de fixture o parametrization como par\xe1metros."},"Refactoring":{"moveFile":"\xbfDesea actualizar todas las referencias de importaci\xf3n de \\"{oldModuleName}\\" a \\"{newModuleName}\\"?","moveFileAbsentSymbol":"No se encuentra un s\xedmbolo para mover.","moveFileDescription":"\xbfActualizar todas las referencias de importaci\xf3n de \\"{oldModuleName}\\" a \\"{newModuleName}\\"?","moveFileExtensionMismatch":"Para mover un s\xedmbolo, el archivo de origen (\\"{src}\\") y el archivo de destino (\\"{dest}\\") deben tener la misma extensi\xf3n de archivo.","moveFileImportableOnly":"Solo se pueden mover los objetos que se pueden importar de otros m\xf3dulos, como clases o funciones.","moveFileInsertLocation":"No se encuentra una ubicaci\xf3n para insertar el s\xedmbolo. Es posible que ya exista un s\xedmbolo con el mismo nombre en \\"{name}\\".","moveFileLabel":"\xbfActualizar todas las referencias de importaci\xf3n de \\"{oldModuleName}\\" a \\"{newModuleName}\\"?","moveFileMissingInfo":"No se encuentra informaci\xf3n de archivo para \\"{name}\\".","moveFileMultipleDeclarations":"Este s\xedmbolo no se puede mover porque est\xe1 declarado varias veces.","moveFileNotUserFile":"No se puede mover este s\xedmbolo. Solo se admiten s\xedmbolos en un archivo de proyecto o de usuario.","moveFilePrivateSymbol":"\\"{name}\\" no se puede mover porque es un s\xedmbolo privado.","moveFileSameFile":"No se puede mover un s\xedmbolo al mismo archivo en el que se encuentra actualmente.","moveFileSimpleAssignmentsOnly":"Esta expresi\xf3n no se puede mover. Solo se admiten asignaciones simples, como una variable a la que se asigna un valor.","moveFileSymbolNotFound":"No se encuentra un s\xedmbolo en la posici\xf3n \\"{position}\\".","moveFileUnsupportedSymbol":"No se puede mover este s\xedmbolo. Solo se admiten variables, funciones y clases en el nivel de m\xf3dulo."}}')},47011(e){"use strict";e.exports=JSON.parse('{"CodeAction":{"AddTypeAnnotation":{"addAllTypeAnnotations":"Ajouter toutes les annotations de type","addTypeAnnotation":"Ajouter une annotation de type"},"AddTypeIgnore":{"title":"Ajouter \xab\xa0{statement}\xa0\xbb pour supprimer l’avertissement"},"AutoImport":{"addAutoImport":"Ajouter \xab {importText} \xbb","searchImport":"Rechercher d’autres correspondances d’importation"},"ChangeSpelling":{"changeSpellingTo":"Changer l’orthographe en \xab\xa0{word}\xa0\xbb"},"ConvertFormatString":{"convertToFString":"Convertir en f-string avec Copilot","convertToFormat":"Convertir en appel de format() avec Copilot"},"ConvertImportStar":{"convertAllToExplicitImports":"Convertir toutes les importations en \xe9toile en importations explicites","convertToExplicitImports":"Convertir en importations explicites"},"ConvertLambdaToNamedFunction":{"title":"Convertir une fonction lambda en fonction nomm\xe9e avec Copilot"},"DiagnosticRefactor":{"fixformattedString":"Corriger \xab {name} \xbb"},"ExtraPath":{"addExtraPath":"Ajouter \\"{name}\\" \xe0 extraPaths"},"Extract":{"method":"M\xe9thode d\'extraction","variable":"Extraire la variable"},"FixAll":{"runFixAll":"Ex\xe9cutez pylance tout r\xe9parer"},"GenerateSymbol":{"generateClass":"G\xe9n\xe9rer des \\"{name}\\" de classe avec Copilot","generateFunction":"G\xe9n\xe9rer des \\"{name}\\" de fonction avec Copilot","generateMember":"G\xe9n\xe9rer le membre \xab\xa0{name}\xa0\xbb avec Copilot"},"ImplementAbstractClass":{"implementAllAbstractClasses":"Impl\xe9menter toutes les classes abstraites h\xe9rit\xe9es"},"MoveSymbol":{"commandTitle":"D\xe9placer le symbole","moveSymbolsTo":"D\xe9placer le symbole vers ...","moveSymbolsToNewFile":"D\xe9placer le symbole vers un nouveau fichier"},"RemoveUnusedImport":{"removeAllUnusedImports":"Supprimer toutes les importations inutilis\xe9es","removeUnusedImport":"Supprimer l’importation inutilis\xe9e"},"ToggleImportPath":{"convertAllFormat":"Convertir tous les formats d’importation","convertAllToAbsolutePath":"Convertir toutes les importations en chemin absolu","convertAllToRelativePath":"Convertir toutes les importations en chemin d’acc\xe8s relatif","convertToAbsolutePath":"Convertir en chemin absolu","convertToRelativePath":"Convertir en chemin relatif"},"UnresolvedImports":{"learnMoreTitle":"En savoir plus sur la r\xe9solution des importations","selectInterpreterTitle":"S\xe9lectionnez un autre interpr\xe8te","selectKernelTitle":"S\xe9lectionnez un autre Jupyter kernel","troubleshootMissingImports":"R\xe9soudre les probl\xe8mes li\xe9s aux importations manquantes"}},"Commands":{"LoggingCommand":{"loggingDataSaved":"Les donn\xe9es de journalisation ont \xe9t\xe9 enregistr\xe9es sur [{filePath}]({uri}). Pour obtenir plus d’informations, consultez le volet de sortie `Serveur de langage Python`."},"ProfilingCommand":{"profilingDataSaved":"Les donn\xe9es de profilage ont \xe9t\xe9 enregistr\xe9es sur [{filePath}]({uri}). Pour plus d’informations, consultez le volet de sortie \xab\xa0Serveur de langage Python\xa0\xbb."},"gotoOutputCommand":"Afficher la sortie"},"Copilot":{"generateDocstringWithCopilot":"G\xe9n\xe9rez une Docstring avec Copilot","hoverSummary":{"generateSummary":"G\xe9n\xe9rer un r\xe9sum\xe9 de Copilot","noSummary":"Aucun r\xe9sum\xe9 n’est disponible.","summary":"R\xe9sum\xe9","tooltip":"Il est possible que le contenu g\xe9n\xe9r\xe9 par IA soit incorrect."},"implementAllInheritedAbstractClasseswithCopilot":"Impl\xe9menter toutes les classes abstraites h\xe9rit\xe9es avec Copilot"},"Diagnostic":{"importResolveRedirect":"L\'importation \\"{importName}\\" est introuvable dans l\'environnement \\"{venv}\\"."},"DocstringTemplate":{"description":"Description","docstringForName":"Docstring pour {name}","generateDocstring":"G\xe9n\xe9rer Docstring"},"LargeLog":{"copyToClipboard":"Nous avons tronqu\xe9 le journal en raison de la limite du corps du probl\xe8me GitHub. Le journal complet a \xe9t\xe9 copi\xe9 dans le Presse-papiers.","no":"Non","openLink":"Ouvrir le lien","userConsent":"Nous aimerions inclure votre journal Pylance dans le probl\xe8me signal\xe9, mais il est trop volumineux. Serait-il acceptable de le t\xe9l\xe9charger directement sur GitHub \xe0 la place (seule une partie du journal sera visible dans le probl\xe8me)\xa0? Pour d\xe9couvrir plus d’informations, visitez {url}","yes":"Oui"},"Messages":{"defaultPythonEnvironmentName":"Environnement Python par d\xe9faut","globalEnvironmentName":"global","pluralFilesAndPluralCellsToAnalyze":"{fileCount} fichiers et {cellCount} cellules \xe0 analyser","pluralFilesAndSingularCellToAnalyze":"{fileCount}\xa0fichiers et 1\xa0cellule \xe0 analyser","singularFileAndPluralCellsToAnalyze":"1\xa0fichier et {cellCount}\xa0cellules \xe0 analyser","singularFileAndSingularCellToAnalyze":"1 fichier et 1 cellule \xe0 analyser","windowsStoreEnvironmentName":"magasin microsoft"},"PerformanceTracking":{"button":"Signaler un probl\xe8me","title":"Nous avons d\xe9tect\xe9 un probl\xe8me de performances avec Pylance. Voulez-vous signaler un probl\xe8me en utilisant la commande `Pylance\xa0: signaler un probl\xe8me`\xa0?"},"Pytest":{"addTypeAnnotation":"Ajouter une annotation de type \xe0 {name}","addTypeAnnotations":"Ajouter des annotations de type pour toutes les r\xe9f\xe9rences de fixture dans ce fichier","fixtureNotFound":"\'{fixture}\' is not a known test fixture. Test methods should only receive fixture or parametrization names as parameters."},"Refactoring":{"moveFile":"Voulez-vous mettre \xe0 jour toutes les r\xe9f\xe9rences d’importation pour \xab {oldModuleName} \xbb en \xab {newModuleName} \xbb ?","moveFileAbsentSymbol":"Symbole \xe0 d\xe9placer introuvable.","moveFileDescription":"Mettre \xe0 jour toutes les r\xe9f\xe9rences d’importation pour \xab {oldModuleName} \xbb sur \xab {newModuleName} \xbb\xa0?","moveFileExtensionMismatch":"Pour d\xe9placer un symbole, le fichier source (\xab\xa0{src}\xa0\xbb) et le fichier de destination (\xab\xa0{dest}\xa0\xbb) doivent pr\xe9senter la m\xeame extension de fichier.","moveFileImportableOnly":"Seuls les objets pouvant \xeatre import\xe9s \xe0 partir d’autres modules, tels que des classes, peuvent \xeatre d\xe9plac\xe9s.","moveFileInsertLocation":"Impossible de trouver un emplacement o\xf9 ins\xe9rer le symbole. Un symbole portant le m\xeame nom existe peut-\xeatre d\xe9j\xe0 dans \xab\xa0{name}\xa0\xbb.","moveFileLabel":"Mettre \xe0 jour toutes les r\xe9f\xe9rences d’importation pour \xab {oldModuleName} \xbb sur \xab {newModuleName} \xbb\xa0?","moveFileMissingInfo":"Impossible de trouver les informations de fichier pour \xab\xa0{name}\xa0\xbb.","moveFileMultipleDeclarations":"Impossible de d\xe9placer ce symbole, car il est d\xe9clar\xe9 plusieurs fois.","moveFileNotUserFile":"Impossible de d\xe9placer ce symbole. Seuls les symboles d’un projet ou d’un fichier utilisateur sont pris en charge.","moveFilePrivateSymbol":"\xab\xa0{name}\xa0\xbb ne peut pas \xeatre d\xe9plac\xe9, car il s’agit d’un symbole priv\xe9.","moveFileSameFile":"Un symbole ne peut pas \xeatre d\xe9plac\xe9 vers le m\xeame fichier dans lequel il est actuellement.","moveFileSimpleAssignmentsOnly":"Impossible de d\xe9placer cette expression. Seules les affectations simples, telles qu’une variable \xe0 laquelle une valeur est attribu\xe9e, sont prises en charge.","moveFileSymbolNotFound":"Symbole introuvable \xe0 la position \xab\xa0{position}\xa0\xbb.","moveFileUnsupportedSymbol":"Impossible de d\xe9placer ce symbole. Seules les variables, fonctions et classes au niveau du module sont prises en charge."}}')},94814(e){"use strict";e.exports=JSON.parse('{"CodeAction":{"AddTypeAnnotation":{"addAllTypeAnnotations":"Aggiungere tutte le annotazioni di tipo","addTypeAnnotation":"Aggiungere l\'annotazione di tipo"},"AddTypeIgnore":{"title":"Aggiunger \'\'{statement}\'\' per sopprimere l\'avviso"},"AutoImport":{"addAutoImport":"Aggiungi \\"{importText}\\"","searchImport":"Cercare corrispondenze di importazione aggiuntive"},"ChangeSpelling":{"changeSpellingTo":"Cambiare ortografia in \\"{word}\\""},"ConvertFormatString":{"convertToFString":"Converti in f-string con Copilot","convertToFormat":"Converti in chiamata format() con Copilot"},"ConvertImportStar":{"convertAllToExplicitImports":"Convertire tutte le importazioni con asterisco in importazioni esplicite","convertToExplicitImports":"Convertire in importazioni esplicite"},"ConvertLambdaToNamedFunction":{"title":"Convertire lambda in funzione con nome assegnato con Copilot"},"DiagnosticRefactor":{"fixformattedString":"Correggi \\"{name}\\""},"ExtraPath":{"addExtraPath":"Aggiungi \\"{name}\\" a extraPaths"},"Extract":{"method":"Estrai il metodo","variable":"Estrarre variabile"},"FixAll":{"runFixAll":"Esegui correggi tutto di pylance"},"GenerateSymbol":{"generateClass":"Genera \\"{name}\\" di classe con Copilot","generateFunction":"Genera \\"{name}\\" di funzione con Copilot","generateMember":"Genera membro \\"{name}\\" con Copilot"},"ImplementAbstractClass":{"implementAllAbstractClasses":"Implementare tutte le classi astratte ereditate"},"MoveSymbol":{"commandTitle":"Spostare simbolo","moveSymbolsTo":"Sposta simbolo in...","moveSymbolsToNewFile":"Spostare il simbolo in un nuovo file"},"RemoveUnusedImport":{"removeAllUnusedImports":"Rimuovere tutte le importazioni inutilizzate","removeUnusedImport":"Rimuovere importazioni inutilizzate"},"ToggleImportPath":{"convertAllFormat":"Convertire tutti i formati di importazione","convertAllToAbsolutePath":"Converte tutte le importazioni in percorso assoluto","convertAllToRelativePath":"Convertire tutte le importazioni in percorso relativo","convertToAbsolutePath":"Convertire in percorso assoluto","convertToRelativePath":"Converti in percorso relativo"},"UnresolvedImports":{"learnMoreTitle":"Altre informazioni sulla risoluzione delle importazioni","selectInterpreterTitle":"Selezionare un interprete diverso","selectKernelTitle":"Selezionare un kernel Jupyter diverso","troubleshootMissingImports":"Risoluzione dei problemi relative alle importazioni mancanti"}},"Commands":{"LoggingCommand":{"loggingDataSaved":"I dati di registrazione sono stati salvati in [{filePath}]({uri}). Per altri dettagli, vedere il riquadro di output del server di linguaggio Python."},"ProfilingCommand":{"profilingDataSaved":"I dati di profilatura sono stati salvati in [{filePath}]({uri}). Per altri dettagli, vedere il riquadro di output del server di linguaggio Python."},"gotoOutputCommand":"Mostra output"},"Copilot":{"generateDocstringWithCopilot":"Genera Docstring con Copilot","hoverSummary":{"generateSummary":"Genera riepilogo Copilot","noSummary":"Nessun riepilogo disponibile.","summary":"Riepilogo","tooltip":"Il contenuto generato dall\'intelligenza artificiale potrebbe non essere corretto."},"implementAllInheritedAbstractClasseswithCopilot":"Implementare tutte le classi astratte ereditate con Copilot"},"Diagnostic":{"importResolveRedirect":"Impossibile trovare l’importazione \\"{importName}\\" nell\'ambiente \\"{venv}\\"."},"DocstringTemplate":{"description":"Descrizione","docstringForName":"Docstring per {name}","generateDocstring":"Genera Docstring"},"LargeLog":{"copyToClipboard":"Il log \xe8 stato troncato a causa del limite del corpo del problema di GitHub. Il log completo \xe8 stato copiato negli Appunti.","no":"No","openLink":"Apri collegamento","userConsent":"Vorremmo includere il tuo log di Pylance nel problema che stai segnalando, ma \xe8 troppo grande. Possiamo invece caricarlo direttamente su GitHub (solo una parte del log sar\xe0 visibile nel problema)? Per altre informazioni, visita {url}","yes":"S\xec"},"Messages":{"defaultPythonEnvironmentName":"Ambiente Python predefinito","globalEnvironmentName":"globale","pluralFilesAndPluralCellsToAnalyze":"{fileCount} file e {cellCount} celle da analizzare","pluralFilesAndSingularCellToAnalyze":"{fileCount} file e 1 cella da analizzare","singularFileAndPluralCellsToAnalyze":"1 file e {cellCount} celle da analizzare","singularFileAndSingularCellToAnalyze":"1 file e 1 cella da analizzare","windowsStoreEnvironmentName":"microsoft store"},"PerformanceTracking":{"button":"Segnala problema","title":"\xc8 stato rilevato un problema di prestazioni per Pylance. Segnalare un problema usando il comando \'Pylance: Report Issue\'?"},"Pytest":{"addTypeAnnotation":"Aggiungi l’annotazione di tipo a {name}","addTypeAnnotations":"Aggiungere annotazioni di tipo per tutti i riferimenti alle fixture in questo file","fixtureNotFound":"`{fixture}` non \xe8 una fixture di test nota. I metodi di test devono ricevere come parametri solo nomi di fixture o di parametrization."},"Refactoring":{"moveFile":"Aggiornare tutti i riferimenti all\'importazione per \\"{oldModuleName}\\" a \\"{newModuleName}\\"?","moveFileAbsentSymbol":"Impossibile trovare un simbolo da spostare.","moveFileDescription":"Aggiornare tutti i riferimenti all\'importazione per \\"{oldModuleName}\\" a \\"{newModuleName}\\"?","moveFileExtensionMismatch":"Per spostare un simbolo, il file di origine (\\"{src}\\") e il file di destinazione (\\"{dest}\\") devono avere la stessa estensione di file.","moveFileImportableOnly":"\xc8 possibile spostare solo gli oggetti che possono essere importati da altri moduli, ad esempio classi o funzioni.","moveFileInsertLocation":"Impossibile trovare una posizione in cui inserire il simbolo. Un simbolo con lo stesso nome potrebbe gi\xe0 esistere in \\"{name}\\".","moveFileLabel":"Aggiornare tutti i riferimenti all\'importazione per \\"{oldModuleName}\\" a \\"{newModuleName}\\"?","moveFileMissingInfo":"Impossibile trovare le informazioni sul file per \\"{name}\\".","moveFileMultipleDeclarations":"Impossibile spostare questo simbolo perch\xe9 \xe8 dichiarato pi\xf9 volte.","moveFileNotUserFile":"Impossibile spostare questo simbolo. Sono supportati solo i simboli in un progetto o in un file utente.","moveFilePrivateSymbol":"Impossibile spostare \\"{name}\\" perch\xe9 \xe8 un simbolo privato.","moveFileSameFile":"Non \xe8 possibile spostare un simbolo nello stesso file in cui si trova attualmente.","moveFileSimpleAssignmentsOnly":"Questa espressione non pu\xf2 essere spostata. Sono supportate solo le assegnazioni semplici, ad esempio una variabile a cui viene assegnato un valore.","moveFileSymbolNotFound":"Impossibile trovare un simbolo nella posizione \\"{position}\\".","moveFileUnsupportedSymbol":"Impossibile spostare questo simbolo. Sono supportate solo variabili, funzioni e classi a livello di modulo."}}')},29150(e){"use strict";e.exports=JSON.parse('{"CodeAction":{"AddTypeAnnotation":{"addAllTypeAnnotations":"すべての型注釈を追加する","addTypeAnnotation":"型注釈の追加"},"AddTypeIgnore":{"title":"警告を抑制する \'{statement}\' を追加する"},"AutoImport":{"addAutoImport":"\\"{importText}\\" の追加","searchImport":"一致するその他のインポートを検索する"},"ChangeSpelling":{"changeSpellingTo":"スペルを \\"{word}\\" に変更する"},"ConvertFormatString":{"convertToFString":"Copilot を使用して f-string に変換する","convertToFormat":"Copilot を使用して format() 呼び出しに変換する"},"ConvertImportStar":{"convertAllToExplicitImports":"すべてのスター インポートを明示的なインポートに変換する","convertToExplicitImports":"明示的なインポートに変換する"},"ConvertLambdaToNamedFunction":{"title":"Copilot を使用してラムダを名前付き関数に変換する"},"DiagnosticRefactor":{"fixformattedString":"\\"{name}\\" を修正してください"},"ExtraPath":{"addExtraPath":"extraPaths に \\"{name}\\" を追加する"},"Extract":{"method":"メソッドを抽出する","variable":"変数の抽出"},"FixAll":{"runFixAll":"Pylance fix all を実行する"},"GenerateSymbol":{"generateClass":"Copilot を使用してクラス \\"{name}\\" を生成する","generateFunction":"Copilot を使用して関数 \\"{name}\\" を生成する","generateMember":"Copilot でメンバー \\"{name}\\" を生成する"},"ImplementAbstractClass":{"implementAllAbstractClasses":"継承されたすべての抽象クラスを実装します"},"MoveSymbol":{"commandTitle":"シンボルの移動","moveSymbolsTo":"シンボルを以下に移動...","moveSymbolsToNewFile":"シンボルを新しいファイルに移動する"},"RemoveUnusedImport":{"removeAllUnusedImports":"未使用のインポートをすべて削除する","removeUnusedImport":"未使用のインポートを削除する"},"ToggleImportPath":{"convertAllFormat":"すべてのインポート形式を変換する","convertAllToAbsolutePath":"すべてのインポートを絶対パスに変換する","convertAllToRelativePath":"すべてのインポートを相対パスに変換する","convertToAbsolutePath":"絶対パスに変換する","convertToRelativePath":"相対パスに変換する"},"UnresolvedImports":{"learnMoreTitle":"インポートの解決に関する詳細情報","selectInterpreterTitle":"別のインタープリターを選択する","selectKernelTitle":"別の Jupyter kernel を選択する","troubleshootMissingImports":"不足しているインポートのトラブルシューティング"}},"Commands":{"LoggingCommand":{"loggingDataSaved":"ログ データは [{filePath}]({uri}) に保存されました。詳細については、\'Python Language Server\' 出力ウィンドウを参照してください。"},"ProfilingCommand":{"profilingDataSaved":"プロファイル データは [{filePath}]({uri}) に保存されました。詳細については、\'Python Language Server\' 出力ウィンドウを参照してください。"},"gotoOutputCommand":"出力の表示"},"Copilot":{"generateDocstringWithCopilot":"Copilot で Docstring を生成する","hoverSummary":{"generateSummary":"Copilot の要約を生成","noSummary":"利用できる要約はありません。","summary":"要約","tooltip":"AI によって生成されたコンテンツが正しくない可能性があります。"},"implementAllInheritedAbstractClasseswithCopilot":"Copilot を使用して継承されたすべての抽象クラスを実装します"},"Diagnostic":{"importResolveRedirect":"インポート \\"{importName}\\" が \\"{venv}\\" 環境に見つかりませんでした。"},"DocstringTemplate":{"description":"説明","docstringForName":"{name} の Docstring","generateDocstring":"Docstring の生成"},"LargeLog":{"copyToClipboard":"GitHub イシュー本文の上限のため、ログが切り詰められました。ログ全体はクリップボードにコピーされています。","no":"いいえ","openLink":"リンクを開く","userConsent":"報告するイシューに Pylance ログを含めたいのですが、大きすぎます。代わりに、GitHub に直接アップロードしてもよろしいですか (ログの一部のみがイシューに表示されます)?詳細については、{url} をご覧ください","yes":"はい"},"Messages":{"defaultPythonEnvironmentName":"既定の Python 環境","globalEnvironmentName":"グローバル","pluralFilesAndPluralCellsToAnalyze":"分析する {fileCount} 個のファイルと {cellCount} 個のセル","pluralFilesAndSingularCellToAnalyze":"分析する {fileCount} 個ファイルと 1 個のセル","singularFileAndPluralCellsToAnalyze":"分析する 1 個のファイルと {cellCount} 個のセル","singularFileAndSingularCellToAnalyze":"分析する 1 個のファイルと 1 個のセル","windowsStoreEnvironmentName":"Microsoft Store"},"PerformanceTracking":{"button":"問題の報告","title":"Pylance でパフォーマンスの問題が検出されました。`Pylance: Report Issue` コマンドを使用して問題を報告しますか?"},"Pytest":{"addTypeAnnotation":"型の注釈を {name} に追加する","addTypeAnnotations":"このファイル内のすべての fixture 参照の型注釈を追加します","fixtureNotFound":"\'{fixture}\' は既知のテスト fixture ではありません。テスト メソッドは、fixture 名または parametrization 名のみをパラメーターとして受け取る必要があります。"},"Refactoring":{"moveFile":"\\"{oldModuleName}\\" のすべてのインポート参照を \\"{newModuleName}\\" に更新しますか?","moveFileAbsentSymbol":"移動するシンボルが見つかりません。","moveFileDescription":"\\"{oldModuleName}\\" のすべてのインポート参照を \\"{newModuleName}\\" に更新しますか?","moveFileExtensionMismatch":"シンボルを移動するには、移動元ファイル (\\"{src}\\") と移動先ファイル (\\"{dest}\\") のファイル拡張子が同じである必要があります。","moveFileImportableOnly":"他のモジュール (クラスまたは関数など) からインポートできるオブジェクトのみを移動できます。","moveFileInsertLocation":"シンボルを挿入する場所が見つかりません。同じ名前のシンボルが既に \\"{name}\\" に存在している可能性があります。","moveFileLabel":"\\"{oldModuleName}\\" のすべてのインポート参照を \\"{newModuleName}\\" に更新しますか?","moveFileMissingInfo":"\\"{name}\\" のファイル情報が見つかりません。","moveFileMultipleDeclarations":"このシンボルは複数回宣言されているため、移動できません。","moveFileNotUserFile":"このシンボルは移動できません。プロジェクトまたはユーザー ファイル内のシンボルのみがサポートされています。","moveFilePrivateSymbol":"\\"{name}\\" はプライベート シンボルであるため、移動できません。","moveFileSameFile":"シンボルは、現在配置されているファイルと同じファイルに移動できません。","moveFileSimpleAssignmentsOnly":"この式は移動できません。値が割り当てられている変数など、単純な代入のみがサポートされています。","moveFileSymbolNotFound":"位置 \\"{position}\\" にシンボルが見つかりません。","moveFileUnsupportedSymbol":"このシンボルは移動できません。モジュール レベルの変数、関数、クラスのみがサポートされています。"}}')},14997(e){"use strict";e.exports=JSON.parse('{"CodeAction":{"AddTypeAnnotation":{"addAllTypeAnnotations":"모든 형식 주석 추가","addTypeAnnotation":"형식 주석 추가"},"AddTypeIgnore":{"title":"경고를 표시하지 않으려면 \'{statement}\' 추가"},"AutoImport":{"addAutoImport":"\\"{importText}\\" 추가","searchImport":"추가 가져오기 일치 항목 검색"},"ChangeSpelling":{"changeSpellingTo":"철자를 \\"{word}\\"(으)로 변경"},"ConvertFormatString":{"convertToFString":"Copilot을 사용하여 f-string으로 변환","convertToFormat":"Copilot을 사용하여 format() 호출로 변환"},"ConvertImportStar":{"convertAllToExplicitImports":"모든 별 가져오기를 명시적 가져오기로 변환","convertToExplicitImports":"명시적 가져오기로 변환"},"ConvertLambdaToNamedFunction":{"title":"Copilot을 사용하여 람다를 명명된 함수로 변환"},"DiagnosticRefactor":{"fixformattedString":"\\"{name}\\" 수정"},"ExtraPath":{"addExtraPath":"extraPaths에 ‘{name}’ 추가"},"Extract":{"method":"메서드 추출","variable":"변수 추출"},"FixAll":{"runFixAll":"모두 Pylance 수정 실행"},"GenerateSymbol":{"generateClass":"Copilot 사용하여 클래스 \\"{name}\\" 생성","generateFunction":"Copilot 사용하여 함수 \\"{name}\\" 생성","generateMember":"Copilot을 사용하여 멤버 \\"{name}\\" 생성"},"ImplementAbstractClass":{"implementAllAbstractClasses":"상속된 추상 클래스 모두 구현"},"MoveSymbol":{"commandTitle":"기호 이동","moveSymbolsTo":"기호를 다음으로 이동...","moveSymbolsToNewFile":"기호를 새 파일로 이동"},"RemoveUnusedImport":{"removeAllUnusedImports":"사용되지 않는 가져오기 모두 제거","removeUnusedImport":"사용되지 않는 가져오기 제거"},"ToggleImportPath":{"convertAllFormat":"모든 가져오기 형식 변환","convertAllToAbsolutePath":"모든 가져오기를 절대 경로로 변환","convertAllToRelativePath":"모든 가져오기를 상대 경로로 변환","convertToAbsolutePath":"절대 경로로 변환","convertToRelativePath":"상대 경로로 변환"},"UnresolvedImports":{"learnMoreTitle":"가져오기 해결에 대해 자세히 알아보기","selectInterpreterTitle":"다른 인터프리터 선택","selectKernelTitle":"다른 Jupyter kernel 선택","troubleshootMissingImports":"누락된 가져오기 문제 해결"}},"Commands":{"LoggingCommand":{"loggingDataSaved":"로깅 데이터가 [{filePath}]({uri})에 저장되었습니다. 자세한 내용은 \'Python 언어 서버\' 출력 창을 참조하세요."},"ProfilingCommand":{"profilingDataSaved":"프로파일링 데이터가 [{filePath}]({uri})에 저장되었습니다. 자세한 내용은 \'Python 언어 서버\' 출력 창을 참조하세요."},"gotoOutputCommand":"출력 표시"},"Copilot":{"generateDocstringWithCopilot":"Copilot 사용하여 Docstring 생성","hoverSummary":{"generateSummary":"Copilot 요약 생성","noSummary":"사용할 수 있는 요약이 없습니다.","summary":"요약","tooltip":"AI 생성 콘텐츠가 잘못되었을 수 있습니다."},"implementAllInheritedAbstractClasseswithCopilot":"Copilot을 사용하여 상속된 모든 추상 클래스 구현"},"Diagnostic":{"importResolveRedirect":"\\"{venv}\\" 환경에서 \\"{importName}\\" 가져오기를 찾을 수 없습니다."},"DocstringTemplate":{"description":"설명","docstringForName":"{name}의 Docstring","generateDocstring":"Docstring 생성"},"LargeLog":{"copyToClipboard":"GitHub 문제 본문 제한으로 인해 로그가 잘렸습니다. 전체 로그를 클립보드에 복사했습니다.","no":"아니요","openLink":"링크 열기","userConsent":"보고 중인 문제에 Pylance 로그를 포함하고 싶지만, 로그 용량이 너무 큽니다. 대신 GitHub에 직접 업로드해도 괜찮을까요(문제에는 로그의 일부만 표시됨)? 자세한 내용은 {url}을(를) 참조하세요.","yes":"예"},"Messages":{"defaultPythonEnvironmentName":"기본 Python 환경","globalEnvironmentName":"글로벌","pluralFilesAndPluralCellsToAnalyze":"분석할 파일 {fileCount}개 및 셀 {cellCount}개","pluralFilesAndSingularCellToAnalyze":"분석할 파일 {fileCount}개 및 셀 1개","singularFileAndPluralCellsToAnalyze":"분석할 파일 1개 및 셀 {cellCount}개","singularFileAndSingularCellToAnalyze":"분석할 파일 1개 및 셀 1개","windowsStoreEnvironmentName":"microsoft store"},"PerformanceTracking":{"button":"문제 보고","title":"Pylance에서 성능 문제가 발견되었습니다. \'Pylance: Report Issue\' 명령을 사용하여 문제를 제출하시겠습니까?"},"Pytest":{"addTypeAnnotation":"{name}에 형식 주석 추가","addTypeAnnotations":"이 파일의 모든 fixture 참조에 대한 형식 주석 추가","fixtureNotFound":"\'{fixture}\'은(는) 알려진 테스트 fixture가 아닙니다. 테스트 메서드는 fixture 또는 parametrization 이름만 매개 변수로 받아야 합니다."},"Refactoring":{"moveFile":"\\"{oldModuleName}\\"에 대한 모든 가져오기 참조를 \\"{newModuleName}\\"(으)로 업데이트하시겠습니까?","moveFileAbsentSymbol":"이동할 기호를 찾을 수 없습니다.","moveFileDescription":"\\"{oldModuleName}\\"에 대한 모든 가져오기 참조를 \\"{newModuleName}\\"(으)로 업데이트하시겠습니까?","moveFileExtensionMismatch":"기호를 이동하려면 원본 파일(\\"{src}\\") 및 대상 파일(\\"{dest}\\")의 파일 확장명이 같아야 합니다.","moveFileImportableOnly":"클래스 또는 함수와 같은 다른 모듈에서 가져올 수 있는 개체만 이동할 수 있습니다.","moveFileInsertLocation":"기호를 삽입할 위치를 찾을 수 없습니다. 이름이 같은 기호가 \\"{name}\\"에 이미 있을 수 있습니다.","moveFileLabel":"\\"{oldModuleName}\\"에 대한 모든 가져오기 참조를 \\"{newModuleName}\\"(으)로 업데이트하시겠습니까?","moveFileMissingInfo":"\\"{name}\\"에 대한 파일 정보를 찾을 수 없습니다.","moveFileMultipleDeclarations":"이 기호는 여러 번 선언되었으므로 이동할 수 없습니다.","moveFileNotUserFile":"이 기호를 이동할 수 없습니다. 프로젝트 또는 사용자 파일의 기호만 지원됩니다.","moveFilePrivateSymbol":"\\"{name}\\"은 프라이빗 기호이므로 이동할 수 없습니다.","moveFileSameFile":"기호는 현재 있는 동일한 파일로 이동할 수 없습니다.","moveFileSimpleAssignmentsOnly":"이 식을 이동할 수 없습니다. 값이 할당되는 변수와 같은 간단한 할당만 지원됩니다.","moveFileSymbolNotFound":"\\"{position}\\" 위치에서 기호를 찾을 수 없습니다.","moveFileUnsupportedSymbol":"이 기호를 이동할 수 없습니다. 모듈 수준의 변수, 함수, 클래스만 지원됩니다."}}')},42235(e){"use strict";e.exports=JSON.parse('{"CodeAction":{"AddTypeAnnotation":{"addAllTypeAnnotations":"Dodaj wszystkie adnotacje typu","addTypeAnnotation":"Dodaj adnotację typu"},"AddTypeIgnore":{"title":"Dodaj instrukcję „{statement}”, aby pominąć ostrzeżenie"},"AutoImport":{"addAutoImport":"Dodaj element „{importText}”","searchImport":"Wyszukaj dodatkowe dopasowania import\xf3w"},"ChangeSpelling":{"changeSpellingTo":"Zmień pisownię na „{word}”"},"ConvertFormatString":{"convertToFString":"Konwertuj na ciąg f za pomocą funkcji Copilot","convertToFormat":"Konwertuj na wywołanie format() za pomocą funkcji Copilot"},"ConvertImportStar":{"convertAllToExplicitImports":"Konwertuj wszystkie importy gwiazdek na jawne importy","convertToExplicitImports":"Konwertuj na jawne importy"},"ConvertLambdaToNamedFunction":{"title":"Konwertowanie wyrażenia lambda na funkcję nazwaną za pomocą funkcji Copilot"},"DiagnosticRefactor":{"fixformattedString":"Poprawka „{name}”"},"ExtraPath":{"addExtraPath":"Dodaj nazwę „{name}” do element\xf3w extraPaths"},"Extract":{"method":"Metoda wyodrębniania","variable":"Wyodrębnij zmienną"},"FixAll":{"runFixAll":"Uruchom funkcję „Napraw wszystko” rozszerzenia Pylance"},"GenerateSymbol":{"generateClass":"Generuj \\"{name}\\" klasy za pomocą Copilot","generateFunction":"Generuj \\"{name}\\" funkcji z Copilot","generateMember":"Generuj członka „{name}” za pomocą funkcji Copilot"},"ImplementAbstractClass":{"implementAllAbstractClasses":"Zaimplementuj wszystkie dziedziczone klasy abstrakcyjne"},"MoveSymbol":{"commandTitle":"Przenieś symbol","moveSymbolsTo":"Przenieś symbol do...","moveSymbolsToNewFile":"Przenieś symbol do nowego pliku"},"RemoveUnusedImport":{"removeAllUnusedImports":"Usuń wszystkie nieużywane importy","removeUnusedImport":"Usuń nieużywany import"},"ToggleImportPath":{"convertAllFormat":"Konwertuj wszystkie formaty importu","convertAllToAbsolutePath":"Konwertuj wszystkie importy na ścieżkę bezwzględną","convertAllToRelativePath":"Konwertuj wszystkie importy na ścieżkę względną","convertToAbsolutePath":"Konwertuj na ścieżkę bezwzględną","convertToRelativePath":"Konwertuj na ścieżkę względną"},"UnresolvedImports":{"learnMoreTitle":"Dowiedz się więcej o rozwiązywaniu import\xf3w","selectInterpreterTitle":"Wybierz inny interpreter","selectKernelTitle":"Select a different Jupyter kernel","troubleshootMissingImports":"Rozwiązywanie problem\xf3w z brakującymi importami"}},"Commands":{"LoggingCommand":{"loggingDataSaved":"Dane rejestrowania zostały zapisane w ścieżce [{filePath}]({uri}). Zobacz okienko danych wyjściowych `Python Language Server`, aby uzyskać więcej szczeg\xf3ł\xf3w."},"ProfilingCommand":{"profilingDataSaved":"Dane profilowania zostały zapisane w ścieżce [{filePath}]({uri}). Zobacz okienko danych wyjściowych „Python Language Server”, aby uzyskać więcej szczeg\xf3ł\xf3w."},"gotoOutputCommand":"Pokaż dane wyjściowe"},"Copilot":{"generateDocstringWithCopilot":"Wygeneruj Docstring za pomocą funkcji Copilot","hoverSummary":{"generateSummary":"Generuj podsumowanie funkcji Copilot","noSummary":"Brak dostępnego podsumowania.","summary":"Podsumowanie","tooltip":"Zawartość wygenerowana przez sztuczną inteligencję może być niepoprawna."},"implementAllInheritedAbstractClasseswithCopilot":"Zaimplementuj wszystkie dziedziczone klasy abstrakcyjne za pomocą funkcji Copilot"},"Diagnostic":{"importResolveRedirect":"Nie można odnaleźć importu„{importName}” w środowisku „{venv}”."},"DocstringTemplate":{"description":"Opis","docstringForName":"Docstring for {name}","generateDocstring":"Generuj Docstring"},"LargeLog":{"copyToClipboard":"Dziennik został obcięty z powodu limitu treści usługi GitHub. Pełny dziennik został skopiowany do schowka.","no":"Nie","openLink":"Otw\xf3rz link","userConsent":"Chcemy uwzględnić dziennik usługi Pylance w zgłaszanym problemie, ale jest on zbyt duży. Czy możemy przekazać go bezpośrednio do usługi GitHub (tylko część dziennika będzie widoczna w zgłaszanym problemie)? Aby uzyskać więcej informacji, odwiedź stronę {url}","yes":"Tak"},"Messages":{"defaultPythonEnvironmentName":"Bieżące środowisko Python","globalEnvironmentName":"globalny","pluralFilesAndPluralCellsToAnalyze":"Pliki ({fileCount}) i kom\xf3rki ({cellCount}) do przeanalizowania","pluralFilesAndSingularCellToAnalyze":"1 kom\xf3rka i następująca liczba plik\xf3w do przeanalizowania: {fileCount}","singularFileAndPluralCellsToAnalyze":"1 plik i następująca liczba kom\xf3rek do przeanalizowania: {cellCount}","singularFileAndSingularCellToAnalyze":"1 plik i 1 kom\xf3rka do przeanalizowania","windowsStoreEnvironmentName":"microsoft store"},"PerformanceTracking":{"button":"Zgłoś problem","title":"Wykryliśmy problem z wydajnością usługi Pylance. Czy chcesz zgłosić problem przy użyciu polecenia `Pylance: Problem z raportem`?"},"Pytest":{"addTypeAnnotation":"Dodaj adnotację typu do elementu {name}","addTypeAnnotations":"Add type annotations for all fixture references in this file","fixtureNotFound":"\'{fixture}\' is not a known test fixture. Test methods should only receive fixture or parametrization names as parameters."},"Refactoring":{"moveFile":"Czy chcesz aktualizować wszystkie odniesienia importu dla modułu „{oldModuleName}” do modułu „{newModuleName}”?","moveFileAbsentSymbol":"Nie można odnaleźć symbolu do przeniesienia.","moveFileDescription":"Aktualizować wszystkie odniesienia importu dla modułu „{oldModuleName}” do modułu „{newModuleName}”?","moveFileExtensionMismatch":"Aby przenieść symbol, plik źr\xf3dłowy („{src}”) i plik docelowy („{dest}”) muszą mieć to samo rozszerzenie pliku.","moveFileImportableOnly":"Tylko obiekty, kt\xf3re mogą być importowane z innych moduł\xf3w, takie jak klasy lub funkcje, mogą być przenoszone.","moveFileInsertLocation":"Nie można odnaleźć lokalizacji do wstawienia symbolu. Symbol o tej samej nazwie może już istnieć w elemencie „{name}”.","moveFileLabel":"Aktualizować wszystkie odniesienia importu dla modułu „{oldModuleName}” do modułu „{newModuleName}”?","moveFileMissingInfo":"Nie można odnaleźć informacji o pliku dla „{name}”.","moveFileMultipleDeclarations":"Nie można przenieść tego symbolu, ponieważ jest on zadeklarowany wiele razy.","moveFileNotUserFile":"Nie można przenieść tego symbolu. Obsługiwane są tylko symbole w projekcie lub pliku użytkownika.","moveFilePrivateSymbol":"Nie można przenieść elementu „{name}”, ponieważ jest to symbol prywatny.","moveFileSameFile":"Nie można przenieść symbolu do tego samego pliku, w kt\xf3rym się obecnie znajduje.","moveFileSimpleAssignmentsOnly":"Nie można przenieść tego wyrażenia. Obsługiwane są tylko proste przypisania, takie jak zmienna, do kt\xf3rych jest przypisywana wartość.","moveFileSymbolNotFound":"Nie można odnaleźć symbolu na pozycji „{position}”.","moveFileUnsupportedSymbol":"Nie można przenieść tego symbolu. Obsługiwane są tylko zmienne, funkcje i klasy na poziomie modułu."}}')},6842(e){"use strict";e.exports=JSON.parse('{"CodeAction":{"AddTypeAnnotation":{"addAllTypeAnnotations":"Adicionar todas as anota\xe7\xf5es de tipo","addTypeAnnotation":"Adicionar uma anota\xe7\xe3o de tipo"},"AddTypeIgnore":{"title":"Adicionar \\"{statement}\\" para suprimir o aviso"},"AutoImport":{"addAutoImport":"Adicionar \\"{importText}\\"","searchImport":"Procure correspond\xeancias de importa\xe7\xe3o adicionais"},"ChangeSpelling":{"changeSpellingTo":"Alterar a ortografia para \\"{word}\\""},"ConvertFormatString":{"convertToFString":"Converter em cadeia de caracteres-f com Copilot","convertToFormat":"Converter para a chamada de formato() com o Copilot"},"ConvertImportStar":{"convertAllToExplicitImports":"Converter todas as importa\xe7\xf5es em estrela em importa\xe7\xf5es expl\xedcitas","convertToExplicitImports":"Converter em importa\xe7\xf5es expl\xedcitas"},"ConvertLambdaToNamedFunction":{"title":"Converter lambda\xa0em fun\xe7\xe3o nomeada com Copilot"},"DiagnosticRefactor":{"fixformattedString":"Corrigir \\"{name}\\""},"ExtraPath":{"addExtraPath":"Adicionar \\"{name}\\" a extraPaths"},"Extract":{"method":"Extrair m\xe9todo","variable":"Extrair vari\xe1vel"},"FixAll":{"runFixAll":"Executar fix all do Pylance"},"GenerateSymbol":{"generateClass":"Gerar classe \\"{name}\\" com Copilot","generateFunction":"Gerar fun\xe7\xe3o \\"{name}\\" com Copilot","generateMember":"Gerar membro \\"{name}\\" com o Copilot"},"ImplementAbstractClass":{"implementAllAbstractClasses":"Implementar todas as classes abstratas herdadas"},"MoveSymbol":{"commandTitle":"Mover s\xedmbolo","moveSymbolsTo":"Mover s\xedmbolo para...","moveSymbolsToNewFile":"Mover s\xedmbolo para novo arquivo"},"RemoveUnusedImport":{"removeAllUnusedImports":"Excluir todas as importa\xe7\xf5es n\xe3o usadas","removeUnusedImport":"Remover Importa\xe7\xf5es n\xe3o utilizadas"},"ToggleImportPath":{"convertAllFormat":"Converter todos os formatos de importa\xe7\xe3o","convertAllToAbsolutePath":"Converter todas as importa\xe7\xf5es em caminho absoluto","convertAllToRelativePath":"Converter todas as importa\xe7\xf5es em caminho relativo","convertToAbsolutePath":"Converter em caminho absoluto","convertToRelativePath":"Converter em caminho relativo"},"UnresolvedImports":{"learnMoreTitle":"Saiba mais sobre como resolver importa\xe7\xf5es","selectInterpreterTitle":"Selecionar um int\xe9rprete diferente","selectKernelTitle":"Selecionar um kernel do Jupyter diferente","troubleshootMissingImports":"Solu\xe7\xe3o de problemas de importa\xe7\xf5es faltantes"}},"Commands":{"LoggingCommand":{"loggingDataSaved":"Os dados de registro em log foram salvos em [{filePath}]({uri}). Consulte o painel de sa\xedda `Servidor de Linguagem Python` para obter mais detalhes."},"ProfilingCommand":{"profilingDataSaved":"Os dados de cria\xe7\xe3o de perfil foram salvos em [{filePath}]({uri}). Consulte o painel de sa\xedda \\"Servidor de Linguagem Python\\" para obter mais detalhes."},"gotoOutputCommand":"Mostrar Sa\xedda"},"Copilot":{"generateDocstringWithCopilot":"Gerar Docstring com o Copilot","hoverSummary":{"generateSummary":"Gerar resumo do Copilot","noSummary":"Nenhum resumo dispon\xedvel.","summary":"Resumo","tooltip":"O conte\xfado gerado pela IA pode estar incorreto."},"implementAllInheritedAbstractClasseswithCopilot":"Implemente todas as classes abstratas herdadas com o Copilot"},"Diagnostic":{"importResolveRedirect":"N\xe3o foi poss\xedvel localizar a importa\xe7\xe3o \\"{importName}\\" no ambiente \\"{venv}\\"."},"DocstringTemplate":{"description":"Descri\xe7\xe3o","docstringForName":"Docstring para {name}","generateDocstring":"Gerar Docstring"},"LargeLog":{"copyToClipboard":"O log foi truncado devido ao limite do corpo do problema do GitHub. O log completo foi copiado para a \xe1rea de transfer\xeancia.","no":"N\xe3o","openLink":"Abrir link","userConsent":"Queremos incluir seu log do Pylance no problema que voc\xea est\xe1 relatando, mas ele \xe9 muito grande. Tudo bem se enviarmos o arquivo diretamente para o GitHub (apenas uma parte do log ficar\xe1 vis\xedvel no problema)? Para obter mais informa\xe7\xf5es, visite {url}","yes":"Sim"},"Messages":{"defaultPythonEnvironmentName":"Ambiente do Python Padr\xe3o","globalEnvironmentName":"global","pluralFilesAndPluralCellsToAnalyze":"{fileCount} arquivos e {cellCount} c\xe9lulas para analisar","pluralFilesAndSingularCellToAnalyze":"{fileCount} arquivos e 1 c\xe9lula para analisar","singularFileAndPluralCellsToAnalyze":"1 arquivo e {cellCount} c\xe9lulas para analisar","singularFileAndSingularCellToAnalyze":"1 arquivo e 1 c\xe9lula para analisar","windowsStoreEnvironmentName":"Microsoft Store"},"PerformanceTracking":{"button":"Relatar problema","title":"Detectamos um problema de desempenho com o Pylance. Deseja relatar um problema usando o comando `Pylance: Report Issue`?"},"Pytest":{"addTypeAnnotation":"Adicionar anota\xe7\xe3o de tipo a {name}","addTypeAnnotations":"Adicionar anota\xe7\xf5es de tipo para todas as refer\xeancias de fixture de teste neste arquivo","fixtureNotFound":"\'{fixture}\' n\xe3o \xe9 um fixture de teste conhecido. Os m\xe9todos de teste s\xf3 devem receber nomes de fixture ou parametrization como par\xe2metros."},"Refactoring":{"moveFile":"Deseja atualizar todas as refer\xeancias de importa\xe7\xe3o de \\"{oldModuleName}\\" para \\"{newModuleName}\\"?","moveFileAbsentSymbol":"N\xe3o \xe9 poss\xedvel encontrar um s\xedmbolo para mover.","moveFileDescription":"Atualizar todas as refer\xeancias de importa\xe7\xe3o de \\"{oldModuleName}\\" para \\"{newModuleName}\\"?","moveFileExtensionMismatch":"Para mover um s\xedmbolo, o arquivo de origem (\\"{src}\\") e o arquivo de destino (\\"{dest}\\") devem ter a mesma extens\xe3o de arquivo.","moveFileImportableOnly":"Somente objetos que podem ser importados de outros m\xf3dulos, como classes ou fun\xe7\xf5es, podem ser movidos.","moveFileInsertLocation":"N\xe3o \xe9 poss\xedvel encontrar um local para inserir o s\xedmbolo. Um s\xedmbolo com o mesmo nome pode j\xe1 existir em \\"{name}\\".","moveFileLabel":"Atualizar todas as refer\xeancias de importa\xe7\xe3o de \\"{oldModuleName}\\" para \\"{newModuleName}\\"?","moveFileMissingInfo":"N\xe3o foi poss\xedvel encontrar informa\xe7\xf5es do arquivo \\"{name}\\".","moveFileMultipleDeclarations":"Esse s\xedmbolo n\xe3o pode ser movido porque foi declarado v\xe1rias vezes.","moveFileNotUserFile":"Esse s\xedmbolo n\xe3o pode ser movido. Somente s\xedmbolos em um projeto ou arquivo de usu\xe1rio s\xe3o suportados.","moveFilePrivateSymbol":"\\"{name}\\" n\xe3o pode ser movido porque \xe9 um s\xedmbolo privado.","moveFileSameFile":"Um s\xedmbolo n\xe3o pode ser movido para o mesmo arquivo onde est\xe1 localizado atualmente.","moveFileSimpleAssignmentsOnly":"Essa express\xe3o n\xe3o pode ser movida. Somente atribui\xe7\xf5es simples, como a atribui\xe7\xe3o de um valor a uma vari\xe1vel, s\xe3o suportadas.","moveFileSymbolNotFound":"N\xe3o \xe9 poss\xedvel encontrar um s\xedmbolo na posi\xe7\xe3o \\"{position}\\".","moveFileUnsupportedSymbol":"Esse s\xedmbolo n\xe3o pode ser movido. Somente vari\xe1veis, fun\xe7\xf5es e classes no n\xedvel do m\xf3dulo s\xe3o suportadas."}}')},39452(e){"use strict";e.exports=JSON.parse('{"CodeAction":{"AddTypeAnnotation":{"addAllTypeAnnotations":"[ntq5N][นั้\xc6\xf0\xf0 \xe6ll t\xffp\xeb \xe6\xf1\xf1\xf8t\xe6t\xef\xf8\xf1sẤğ倪İЂҰक्र्นั้ढूँ]","addTypeAnnotation":"[jhELI][นั้\xc6\xf0\xf0 t\xffp\xeb \xe6\xf1\xf1\xf8t\xe6t\xef\xf8\xf1Ấğ倪İЂҰक्นั้ढूँ]"},"AddTypeIgnore":{"title":"[skJKI][นั้\xc6\xf0\xf0 \'{st\xe6t\xebm\xeb\xf1t}\' t\xf8 s\xb5ppr\xebss w\xe6r\xf1\xef\xf1gẤğ倪İЂҰक्र्तिृまẤนั้ढूँ]"},"AutoImport":{"addAutoImport":"[6EOWN][นั้\xc6\xf0\xf0 \\"{\xefmp\xf8rtT\xebxt}\\"Ấğ倪İЂҰक्นั้ढूँ]","searchImport":"[SEcEV][นั้\xa7\xeb\xe6r\xe7h f\xf8r \xe6\xf0\xf0\xeft\xef\xf8\xf1\xe6l \xefmp\xf8rt m\xe6t\xe7h\xebsẤğ倪İЂҰक्र्तिृまนั้ढूँ]"},"ChangeSpelling":{"changeSpellingTo":"[S2wV8][นั้\xc7h\xe6\xf1g\xeb sp\xebll\xef\xf1g t\xf8 \\"{w\xf8r\xf0}\\"Ấğ倪İЂҰक्र्तिृนั้ढूँ]"},"ConvertFormatString":{"convertToFString":"[J3nuQ][นั้\xc7\xf8\xf1v\xebrt t\xf8 f-str\xef\xf1g w\xefth CopilotẤğ倪İЂҰक्र्तिृนั้ढूँ]","convertToFormat":"[iUg5T][นั้\xc7\xf8\xf1v\xebrt t\xf8 format() \xe7\xe6ll w\xefth CopilotẤğ倪İЂҰक्र्तिृまẤนั้ढूँ]"},"ConvertImportStar":{"convertAllToExplicitImports":"[Zps0O][นั้\xc7\xf8\xf1v\xebrt \xe6ll st\xe6r \xefmp\xf8rts t\xf8 \xebxpl\xef\xe7\xeft \xefmp\xf8rtsẤğ倪İЂҰक्र्तिृまẤğ倪İนั้ढूँ]","convertToExplicitImports":"[IHNZh][นั้\xc7\xf8\xf1v\xebrt t\xf8 \xebxpl\xef\xe7\xeft \xefmp\xf8rtsẤğ倪İЂҰक्र्तिृนั้ढूँ]"},"ConvertLambdaToNamedFunction":{"title":"[MPXvy][นั้\xc7\xf8\xf1v\xebrt l\xe6m\xfe\xf0\xe6 t\xf8 \xf1\xe6m\xeb\xf0 f\xb5\xf1\xe7t\xef\xf8\xf1 w\xefth CopilotẤğ倪İЂҰक्र्तिृまẤğ倪İนั้ढूँ]"},"DiagnosticRefactor":{"fixformattedString":"[ednfH][นั้F\xefx \\"{\xf1\xe6m\xeb}\\"Ấğ倪İЂนั้ढूँ]"},"ExtraPath":{"addExtraPath":"[vPbBT][นั้\xc6\xf0\xf0 \\"{\xf1\xe6m\xeb}\\" t\xf8 extraPathsẤğ倪İЂҰक्र्นั้ढूँ]"},"Extract":{"method":"[6CJmj][นั้\xcbxtr\xe6\xe7t m\xebth\xf8\xf0Ấğ倪İЂҰนั้ढूँ]","variable":"[yAhZ4][นั้\xcbxtr\xe6\xe7t v\xe6r\xef\xe6\xfel\xebẤğ倪İЂҰนั้ढूँ]"},"FixAll":{"runFixAll":"[kBeph][นั้R\xb5\xf1 p\xffl\xe6\xf1\xe7\xeb f\xefx \xe6llẤğ倪İЂҰक्นั้ढूँ]"},"GenerateSymbol":{"generateClass":"[KsMvJ][นั้G\xeb\xf1\xebr\xe6t\xeb \xe7l\xe6ss \\"{\xf1\xe6m\xeb}\\" w\xefth CopilotẤğ倪İЂҰक्र्तिृまนั้ढूँ]","generateFunction":"[bwRau][นั้G\xeb\xf1\xebr\xe6t\xeb f\xb5\xf1\xe7t\xef\xf8\xf1 \\"{\xf1\xe6m\xeb}\\" w\xefth CopilotẤğ倪İЂҰक्र्तिृまẤğนั้ढूँ]","generateMember":"[Q1THA][นั้G\xeb\xf1\xebr\xe6t\xeb m\xebm\xfe\xebr \\"{\xf1\xe6m\xeb}\\" w\xefth CopilotẤğ倪İЂҰक्र्तिृまẤนั้ढूँ]"},"ImplementAbstractClass":{"implementAllAbstractClasses":"[jVUSx][นั้\xcfmpl\xebm\xeb\xf1t \xe6ll \xef\xf1h\xebr\xeft\xeb\xf0 \xe6\xfestr\xe6\xe7t \xe7l\xe6ss\xebsẤğ倪İЂҰक्र्तिृまẤğนั้ढूँ]"},"MoveSymbol":{"commandTitle":"[tW1Sd][นั้M\xf8v\xeb s\xffm\xfe\xf8lẤğ倪İนั้ढूँ]","moveSymbolsTo":"[jnDNO][นั้M\xf8v\xeb s\xffm\xfe\xf8l t\xf8Ấğ倪İЂҰนั้ढूँ]...","moveSymbolsToNewFile":"[i6bBJ][นั้M\xf8v\xeb s\xffm\xfe\xf8l t\xf8 \xf1\xebw f\xefl\xebẤğ倪İЂҰक्र्นั้ढूँ]"},"RemoveUnusedImport":{"removeAllUnusedImports":"[ji2Ww][นั้R\xebm\xf8v\xeb \xe6ll \xb5\xf1\xb5s\xeb\xf0 \xefmp\xf8rtsẤğ倪İЂҰक्र्นั้ढूँ]","removeUnusedImport":"[a0K5t][นั้R\xebm\xf8v\xeb \xb5\xf1\xb5s\xeb\xf0 \xefmp\xf8rtẤğ倪İЂҰक्นั้ढूँ]"},"ToggleImportPath":{"convertAllFormat":"[Xa2Zv][นั้\xc7\xf8\xf1v\xebrt \xe6ll \xefmp\xf8rt f\xf8rm\xe6tsẤğ倪İЂҰक्र्นั้ढूँ]","convertAllToAbsolutePath":"[rYYle][นั้\xc7\xf8\xf1v\xebrt \xe6ll \xefmp\xf8rts t\xf8 \xe6\xfes\xf8l\xb5t\xeb p\xe6thẤğ倪İЂҰक्र्तिृまนั้ढूँ]","convertAllToRelativePath":"[q94B6][นั้\xc7\xf8\xf1v\xebrt \xe6ll \xefmp\xf8rts t\xf8 r\xebl\xe6t\xefv\xeb p\xe6thẤğ倪İЂҰक्र्तिृまนั้ढूँ]","convertToAbsolutePath":"[kBV0h][นั้\xc7\xf8\xf1v\xebrt t\xf8 \xe6\xfes\xf8l\xb5t\xeb p\xe6thẤğ倪İЂҰक्र्นั้ढूँ]","convertToRelativePath":"[GuQt9][นั้\xc7\xf8\xf1v\xebrt t\xf8 r\xebl\xe6t\xefv\xeb p\xe6thẤğ倪İЂҰक्र्นั้ढूँ]"},"UnresolvedImports":{"learnMoreTitle":"[rCXA3][นั้\xa3\xeb\xe6r\xf1 m\xf8r\xeb \xe6\xfe\xf8\xb5t r\xebs\xf8lv\xef\xf1g \xefmp\xf8rtsẤğ倪İЂҰक्र्तिृまนั้ढूँ]","selectInterpreterTitle":"[v2LhD][นั้\xa7\xebl\xeb\xe7t \xe6 \xf0\xefff\xebr\xeb\xf1t \xef\xf1t\xebrpr\xebt\xebrẤğ倪İЂҰक्र्तिृนั้ढूँ]","selectKernelTitle":"[HutRH][นั้\xa7\xebl\xeb\xe7t \xe6 \xf0\xefff\xebr\xeb\xf1t Jupyter kernelẤğ倪İЂҰक्र्तिृนั้ढूँ]","troubleshootMissingImports":"[GMabi][นั้Tr\xf8\xb5\xfel\xebsh\xf8\xf8t m\xefss\xef\xf1g \xefmp\xf8rtsẤğ倪İЂҰक्र्तिृนั้ढूँ]"}},"Commands":{"LoggingCommand":{"loggingDataSaved":"[kNaJm][นั้\xa3\xf8gg\xef\xf1g \xf0\xe6t\xe6 h\xe6s \xfe\xeb\xeb\xf1 s\xe6v\xeb\xf0 \xe6t [{f\xefl\xebP\xe6th}]({\xb5r\xef}). \xa7\xeb\xeb `P\xffth\xf8\xf1 \xa3\xe6\xf1g\xb5\xe6g\xeb \xa7\xebrv\xebr` \xf8\xb5tp\xb5t p\xe6\xf1\xeb f\xf8r m\xf8r\xeb \xf0\xebt\xe6\xefl.Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğนั้ढूँ]"},"ProfilingCommand":{"profilingDataSaved":"[CpJI3][นั้Pr\xf8f\xefl\xef\xf1g \xf0\xe6t\xe6 h\xe6s \xfe\xeb\xeb\xf1 s\xe6v\xeb\xf0 \xe6t [{f\xefl\xebP\xe6th}]({\xb5r\xef}). \xa7\xeb\xeb `P\xffth\xf8\xf1 \xa3\xe6\xf1g\xb5\xe6g\xeb \xa7\xebrv\xebr` \xf8\xb5tp\xb5t p\xe6\xf1\xeb f\xf8r m\xf8r\xeb \xf0\xebt\xe6\xefl.Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğนั้ढूँ]"},"gotoOutputCommand":"[xTS0O][นั้\xa7h\xf8w \xd8\xb5tp\xb5tẤğ倪İนั้ढूँ]"},"Copilot":{"generateDocstringWithCopilot":"[Rr6pM][นั้G\xeb\xf1\xebr\xe6t\xeb Docstring w\xefth CopilotẤğ倪İЂҰक्र्तिृนั้ढूँ]","hoverSummary":{"generateSummary":"[Up3tj][นั้G\xeb\xf1\xebr\xe6t\xeb Copilot s\xb5mm\xe6r\xffẤğ倪İЂҰक्र्นั้ढूँ]","noSummary":"[J4FP8][นั้\xd1\xf8 s\xb5mm\xe6r\xff \xe6v\xe6\xefl\xe6\xfel\xeb.Ấğ倪İЂҰक्นั้ढूँ]","summary":"[tpIhU][นั้\xa7\xb5mm\xe6r\xffẤğ倪นั้ढूँ]","tooltip":"[SCErI][นั้\xc6\xcf-g\xeb\xf1\xebr\xe6t\xeb\xf0 \xe7\xf8\xf1t\xeb\xf1t m\xe6\xff \xfe\xeb \xef\xf1\xe7\xf8rr\xeb\xe7t.Ấğ倪İЂҰक्र्तिृまẤนั้ढूँ]"},"implementAllInheritedAbstractClasseswithCopilot":"[jx3Bq][นั้\xcfmpl\xebm\xeb\xf1t \xe6ll \xef\xf1h\xebr\xeft\xeb\xf0 \xe6\xfestr\xe6\xe7t \xe7l\xe6ss\xebs w\xefth CopilotẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्นั้ढूँ]"},"Diagnostic":{"importResolveRedirect":"[KGYYn][นั้\xcfmp\xf8rt \\"{\xefmp\xf8rt\xd1\xe6m\xeb}\\" \xe7\xf8\xb5l\xf0 \xf1\xf8t \xfe\xeb f\xf8\xb5\xf1\xf0 \xef\xf1 th\xeb \\"{v\xeb\xf1v}\\" \xeb\xf1v\xefr\xf8\xf1m\xeb\xf1t.Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまนั้ढूँ]"},"DocstringTemplate":{"description":"[ab4Nk][นั้\xd0\xebs\xe7r\xefpt\xef\xf8\xf1Ấğ倪İนั้ढूँ]","docstringForName":"[3r0Lu][นั้Docstring f\xf8r {\xf1\xe6m\xeb}Ấğ倪İЂҰक्นั้ढूँ]","generateDocstring":"[ter4G][นั้G\xeb\xf1\xebr\xe6t\xeb DocstringẤğ倪İЂҰक्นั้ढूँ]"},"LargeLog":{"copyToClipboard":"[DUe3q][นั้Th\xeb l\xf8g h\xe6s \xfe\xeb\xeb\xf1 tr\xb5\xf1\xe7\xe6t\xeb\xf0 \xf0\xb5\xeb t\xf8 th\xeb G\xeftH\xb5\xfe \xefss\xb5\xeb \xfe\xf8\xf0\xff l\xefm\xeft. Th\xeb f\xb5ll l\xf8g h\xe6s \xfe\xeb\xeb\xf1 \xe7\xf8p\xef\xeb\xf0 t\xf8 th\xeb \xe7l\xefp\xfe\xf8\xe6r\xf0.Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğนั้ढूँ]","no":"[DI5EC][นั้\xd1\xf8Ấนั้ढूँ]","openLink":"[naXZF][นั้\xd8p\xeb\xf1 l\xef\xf1kẤğ倪İนั้ढूँ]","userConsent":"[RGFRG][นั้W\xeb w\xf8\xb5l\xf0 l\xefk\xeb t\xf8 \xef\xf1\xe7l\xb5\xf0\xeb \xff\xf8\xb5r Pylance l\xf8g \xef\xf1 th\xeb \xefss\xb5\xeb \xff\xf8\xb5\'r\xeb r\xebp\xf8rt\xef\xf1g, \xfe\xb5t \xeft\'s t\xf8\xf8 l\xe6rg\xeb. W\xf8\xb5l\xf0 \xeft \xfe\xeb \xf8k\xe6\xff \xeff w\xeb \xb5pl\xf8\xe6\xf0\xeb\xf0 \xeft t\xf8 g\xefth\xb5\xfe \xf0\xefr\xeb\xe7tl\xff \xef\xf1st\xeb\xe6\xf0 (\xf8\xf1l\xff \xe6 p\xf8rt\xef\xf8\xf1 \xf8f th\xeb l\xf8g w\xefll \xfe\xeb v\xefs\xef\xfel\xeb \xef\xf1 th\xeb \xefss\xb5\xeb)? F\xf8r m\xf8r\xeb \xef\xf1f\xf8rm\xe6t\xef\xf8\xf1, v\xefs\xeft {\xb5rl}Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまนั้ढूँ]","yes":"[i5Ols][นั้\xdd\xebsẤนั้ढूँ]"},"Messages":{"defaultPythonEnvironmentName":"[oW2bW][นั้\xd0\xebf\xe6\xb5lt Python \xcb\xf1v\xefr\xf8\xf1m\xeb\xf1tẤğ倪İЂҰक्र्นั้ढूँ]","globalEnvironmentName":"[H7OID][นั้gl\xf8\xfe\xe6lẤğนั้ढूँ]","pluralFilesAndPluralCellsToAnalyze":"[EP1hA][นั้{f\xefl\xeb\xc7\xf8\xb5\xf1t} f\xefl\xebs \xe6\xf1\xf0 {\xe7\xebll\xc7\xf8\xb5\xf1t} \xe7\xeblls t\xf8 \xe6\xf1\xe6l\xffz\xebẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰนั้ढूँ]","pluralFilesAndSingularCellToAnalyze":"[Tg5wq][นั้{f\xefl\xeb\xc7\xf8\xb5\xf1t} f\xefl\xebs \xe6\xf1\xf0 1 \xe7\xebll t\xf8 \xe6\xf1\xe6l\xffz\xebẤğ倪İЂҰक्र्तिृまẤğนั้ढूँ]","singularFileAndPluralCellsToAnalyze":"[rwT7l][นั้1 f\xefl\xeb \xe6\xf1\xf0 {\xe7\xebll\xc7\xf8\xb5\xf1t} \xe7\xeblls t\xf8 \xe6\xf1\xe6l\xffz\xebẤğ倪İЂҰक्र्तिृまẤğนั้ढूँ]","singularFileAndSingularCellToAnalyze":"[Lt1RE][นั้1 f\xefl\xeb \xe6\xf1\xf0 1 \xe7\xebll t\xf8 \xe6\xf1\xe6l\xffz\xebẤğ倪İЂҰक्र्तिृนั้ढूँ]","windowsStoreEnvironmentName":"[0RfQa][นั้m\xef\xe7r\xf8s\xf8ft st\xf8r\xebẤğ倪İЂҰนั้ढूँ]"},"PerformanceTracking":{"button":"[PhmTE][นั้R\xebp\xf8rt \xefss\xb5\xebẤğ倪İЂนั้ढूँ]","title":"[6XFDs][นั้W\xeb h\xe6v\xeb \xf0\xebt\xeb\xe7t\xeb\xf0 \xe6 p\xebrf\xf8rm\xe6\xf1\xe7\xeb \xefss\xb5\xeb w\xefth Pylance. W\xf8\xb5l\xf0 \xff\xf8\xb5 l\xefk\xeb t\xf8 f\xefl\xeb \xe6\xf1 \xefss\xb5\xeb \xb5s\xef\xf1g th\xeb `Pylance: R\xebp\xf8rt \xcfss\xb5\xeb` \xe7\xf8mm\xe6\xf1\xf0?Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्นั้ढूँ]"},"Pytest":{"addTypeAnnotation":"[fukwx][นั้\xc6\xf0\xf0 t\xffp\xeb \xe6\xf1\xf1\xf8t\xe6t\xef\xf8\xf1 t\xf8 {\xf1\xe6m\xeb}Ấğ倪İЂҰक्र्तिृนั้ढूँ]","addTypeAnnotations":"[ci8Cb][นั้\xc6\xf0\xf0 t\xffp\xeb \xe6\xf1\xf1\xf8t\xe6t\xef\xf8\xf1s f\xf8r \xe6ll fixture r\xebf\xebr\xeb\xf1\xe7\xebs \xef\xf1 th\xefs f\xefl\xebẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्นั้ढूँ]","fixtureNotFound":"[sIWxh][นั้\'{fixture}\' \xefs \xf1\xf8t \xe6 k\xf1\xf8w\xf1 t\xebst fixture. T\xebst m\xebth\xf8\xf0s sh\xf8\xb5l\xf0 \xf8\xf1l\xff r\xeb\xe7\xeb\xefv\xeb fixture \xf8r parametrization \xf1\xe6m\xebs \xe6s p\xe6r\xe6m\xebt\xebrs.Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰนั้ढूँ]"},"Refactoring":{"moveFile":"[uzRfT][นั้\xd0\xf8 \xff\xf8\xb5 w\xe6\xf1t t\xf8 \xb5p\xf0\xe6t\xeb \xe6ll \xefmp\xf8rt r\xebf\xebr\xeb\xf1\xe7\xebs f\xf8r \\"{\xf8l\xf0M\xf8\xf0\xb5l\xeb\xd1\xe6m\xeb}\\" t\xf8 \\"{\xf1\xebwM\xf8\xf0\xb5l\xeb\xd1\xe6m\xeb}\\"?Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्นั้ढूँ]","moveFileAbsentSymbol":"[3hHvF][นั้\xc7\xe6\xf1\xf1\xf8t f\xef\xf1\xf0 \xe6 s\xffm\xfe\xf8l t\xf8 m\xf8v\xeb.Ấğ倪İЂҰक्र्तिृนั้ढूँ]","moveFileDescription":"[qbSm6][นั้\xdcp\xf0\xe6t\xeb \xe6ll \xefmp\xf8rt r\xebf\xebr\xeb\xf1\xe7\xebs f\xf8r \\"{\xf8l\xf0M\xf8\xf0\xb5l\xeb\xd1\xe6m\xeb}\\" t\xf8 \\"{\xf1\xebwM\xf8\xf0\xb5l\xeb\xd1\xe6m\xeb}\\"?Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤนั้ढूँ]","moveFileExtensionMismatch":"[fpltY][นั้T\xf8 m\xf8v\xeb \xe6 s\xffm\xfe\xf8l, th\xeb s\xf8\xb5r\xe7\xeb f\xefl\xeb (\\"{sr\xe7}\\") \xe6\xf1\xf0 \xf0\xebst\xef\xf1\xe6t\xef\xf8\xf1 f\xefl\xeb (\\"{\xf0\xebst}\\") m\xb5st h\xe6v\xeb th\xeb s\xe6m\xeb f\xefl\xeb \xebxt\xeb\xf1s\xef\xf8\xf1.Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğนั้ढूँ]","moveFileImportableOnly":"[CFuY4][นั้\xd8\xf1l\xff \xf8\xfej\xeb\xe7ts th\xe6t \xe7\xe6\xf1 \xfe\xeb \xefmp\xf8rt\xeb\xf0 fr\xf8m \xf8th\xebr m\xf8\xf0\xb5l\xebs, s\xb5\xe7h \xe6s \xe7l\xe6ss\xebs \xf8r f\xb5\xf1\xe7t\xef\xf8\xf1s, \xe6r\xeb \xe6ll\xf8w\xeb\xf0 t\xf8 \xfe\xeb m\xf8v\xeb\xf0.Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤนั้ढूँ]","moveFileInsertLocation":"[BJOq2][นั้\xc7\xe6\xf1\xf1\xf8t f\xef\xf1\xf0 \xe6 l\xf8\xe7\xe6t\xef\xf8\xf1 t\xf8 \xef\xf1s\xebrt th\xeb s\xffm\xfe\xf8l. \xc6 s\xffm\xfe\xf8l w\xefth th\xeb s\xe6m\xeb \xf1\xe6m\xeb m\xefght \xe6lr\xeb\xe6\xf0\xff \xebx\xefst \xef\xf1 \\"{\xf1\xe6m\xeb}\\".Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまนั้ढूँ]","moveFileLabel":"[TMnnY][นั้\xdcp\xf0\xe6t\xeb \xe6ll \xefmp\xf8rt r\xebf\xebr\xeb\xf1\xe7\xebs f\xf8r \\"{\xf8l\xf0M\xf8\xf0\xb5l\xeb\xd1\xe6m\xeb}\\" t\xf8 \\"{\xf1\xebwM\xf8\xf0\xb5l\xeb\xd1\xe6m\xeb}\\"?Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤนั้ढूँ]","moveFileMissingInfo":"[FctQ6][นั้\xc7\xe6\xf1\xf1\xf8t f\xef\xf1\xf0 f\xefl\xeb \xef\xf1f\xf8rm\xe6t\xef\xf8\xf1 f\xf8r \\"{\xf1\xe6m\xeb}\\".Ấğ倪İЂҰक्र्तिृまẤğ倪นั้ढूँ]","moveFileMultipleDeclarations":"[Icw4C][นั้Th\xefs s\xffm\xfe\xf8l \xe7\xe6\xf1\xf1\xf8t \xfe\xeb m\xf8v\xeb\xf0 \xfe\xeb\xe7\xe6\xb5s\xeb \xeft \xefs \xf0\xeb\xe7l\xe6r\xeb\xf0 m\xb5lt\xefpl\xeb t\xefm\xebs.Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृนั้ढूँ]","moveFileNotUserFile":"[3KMZz][นั้Th\xefs s\xffm\xfe\xf8l \xe7\xe6\xf1\xf1\xf8t \xfe\xeb m\xf8v\xeb\xf0. \xd8\xf1l\xff s\xffm\xfe\xf8ls \xef\xf1 \xe6 pr\xf8j\xeb\xe7t \xf8r \xb5s\xebr f\xefl\xeb \xe6r\xeb s\xb5pp\xf8rt\xeb\xf0.Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂนั้ढूँ]","moveFilePrivateSymbol":"[7EZBN][นั้\\"{\xf1\xe6m\xeb}\\" \xe7\xe6\xf1\xf1\xf8t \xfe\xeb m\xf8v\xeb\xf0 \xfe\xeb\xe7\xe6\xb5s\xeb \xeft \xefs \xe6 pr\xefv\xe6t\xeb s\xffm\xfe\xf8l.Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्นั้ढूँ]","moveFileSameFile":"[QQSb2][นั้\xc6 s\xffm\xfe\xf8l \xe7\xe6\xf1\xf1\xf8t \xfe\xeb m\xf8v\xeb\xf0 t\xf8 th\xeb s\xe6m\xeb f\xefl\xeb wh\xebr\xeb \xeft \xefs \xe7\xb5rr\xeb\xf1tl\xff l\xf8\xe7\xe6t\xeb\xf0.Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤนั้ढूँ]","moveFileSimpleAssignmentsOnly":"[4O7iP][นั้Th\xefs \xebxpr\xebss\xef\xf8\xf1 \xe7\xe6\xf1\'t \xfe\xeb m\xf8v\xeb\xf0. \xd8\xf1l\xff s\xefmpl\xeb \xe6ss\xefg\xf1m\xeb\xf1ts, s\xb5\xe7h \xe6s \xe6 v\xe6r\xef\xe6\xfel\xeb \xfe\xeb\xef\xf1g \xe6ss\xefg\xf1\xeb\xf0 \xe6 v\xe6l\xb5\xeb, \xe6r\xeb s\xb5pp\xf8rt\xeb\xf0.Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İนั้ढूँ]","moveFileSymbolNotFound":"[eCktQ][นั้\xc7\xe6\xf1\xf1\xf8t f\xef\xf1\xf0 \xe6 s\xffm\xfe\xf8l \xe6t p\xf8s\xeft\xef\xf8\xf1 \\"{p\xf8s\xeft\xef\xf8\xf1}\\".Ấğ倪İЂҰक्र्तिृまẤğ倪İนั้ढूँ]","moveFileUnsupportedSymbol":"[cwXih][นั้Th\xefs s\xffm\xfe\xf8l \xe7\xe6\xf1\xf1\xf8t \xfe\xeb m\xf8v\xeb\xf0. \xd8\xf1l\xff v\xe6r\xef\xe6\xfel\xebs, f\xb5\xf1\xe7t\xef\xf8\xf1s, \xe6\xf1\xf0 \xe7l\xe6ss\xebs \xe6t th\xeb m\xf8\xf0\xb5l\xeb l\xebv\xebl \xe6r\xeb s\xb5pp\xf8rt\xeb\xf0.Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृนั้ढूँ]"}}')},53802(e){"use strict";e.exports=JSON.parse('{"CodeAction":{"AddTypeAnnotation":{"addAllTypeAnnotations":"Добавить все примечания типа","addTypeAnnotation":"Добавить заметку типа"},"AddTypeIgnore":{"title":"Добавьте \'{statement}\', чтобы подавить предупреждение"},"AutoImport":{"addAutoImport":"Добавить \\"{importText}\\"","searchImport":"Искать дополнительные совпадающие импортированные данные"},"ChangeSpelling":{"changeSpellingTo":"Изменить написание на \\"{word}\\""},"ConvertFormatString":{"convertToFString":"Преобразовать в f-строку с помощью Copilot","convertToFormat":"Преобразовать в вызов format() с помощью Copilot"},"ConvertImportStar":{"convertAllToExplicitImports":"Преобразовать все импорты со звездочкой в явные импорты","convertToExplicitImports":"Преобразовать в явные импорты"},"ConvertLambdaToNamedFunction":{"title":"Преобразование лямбда-выражения в именованную функцию с помощью Copilot"},"DiagnosticRefactor":{"fixformattedString":"Исправить \\"{name}\\""},"ExtraPath":{"addExtraPath":"Добавить \\"{name}\\" в extraPaths"},"Extract":{"method":"Извлечь метод","variable":"Извлечь переменную"},"FixAll":{"runFixAll":"Выполнить pylance fix all"},"GenerateSymbol":{"generateClass":"Создать класс \\"{name}\\" с Copilot","generateFunction":"Создать функцию \\"{name}\\" с Copilot","generateMember":"Создать участника \\"{name}\\" с помощью Copilot"},"ImplementAbstractClass":{"implementAllAbstractClasses":"Реализовать все унаследованные абстрактные классы"},"MoveSymbol":{"commandTitle":"Переместить символ","moveSymbolsTo":"Переместить символ в...","moveSymbolsToNewFile":"Переместить символ в новый файл"},"RemoveUnusedImport":{"removeAllUnusedImports":"Удалите все неиспользуемые операции импорта","removeUnusedImport":"Удалить неиспользованные операторы импорта"},"ToggleImportPath":{"convertAllFormat":"Преобразовать все форматы импорта","convertAllToAbsolutePath":"Изменить все операторы импорта так, чтобы они использовали абсолютный путь","convertAllToRelativePath":"Изменить все операторы импорта так, чтобы они использовали относительный путь","convertToAbsolutePath":"Преобразовать в абсолютный путь","convertToRelativePath":"Преобразовать в относительный путь"},"UnresolvedImports":{"learnMoreTitle":"Подробнее о решении проблем с импортом","selectInterpreterTitle":"Выберите другой интерпретатор","selectKernelTitle":"Выберите другое Jupyter kernel","troubleshootMissingImports":"Устранение неполадок с отсутствующими импортами"}},"Commands":{"LoggingCommand":{"loggingDataSaved":"Данные ведения журнала сохранены в [{filePath}]({uri}). Дополнительные сведения см. в области вывода \\"Языковой сервер Python\\"."},"ProfilingCommand":{"profilingDataSaved":"Данные профилирования сохранены в [{filePath}]({uri}). Дополнительные сведения см. в области вывода \\"Языковой сервер Python\\"."},"gotoOutputCommand":"Показать вывод"},"Copilot":{"generateDocstringWithCopilot":"Создание Docstring с помощью Copilot","hoverSummary":{"generateSummary":"Создать сводку Copilot","noSummary":"Нет доступных сводок.","summary":"Сводка","tooltip":"Содержимое, создаваемое\xa0ИИ, может быть некорректным."},"implementAllInheritedAbstractClasseswithCopilot":"Реализовать все унаследованные абстрактные классы с помощью Copilot"},"Diagnostic":{"importResolveRedirect":"Импорт \\"{importName}\\" не найден в среде \\"{venv}\\"."},"DocstringTemplate":{"description":"Описание","docstringForName":"Docstring для {name}","generateDocstring":"Генерировать Docstring"},"LargeLog":{"copyToClipboard":"Журнал был усечен из-за ограничения на размер текста проблемы GitHub. Полный журнал скопирован в буфер обмена.","no":"Нет","openLink":"Открыть ссылку","userConsent":"Мы хотели бы включить журнал Pylance в проблему, о которой вы сообщаете, но он слишком большой. Можно ли будет загрузить его на GitHub напрямую (в проблеме будет видна только часть журнала)? Дополнительные сведения см. на странице {url}","yes":"Да"},"Messages":{"defaultPythonEnvironmentName":"Среда Python по умолчанию","globalEnvironmentName":"глобальная","pluralFilesAndPluralCellsToAnalyze":"Файлы ({fileCount}) и ячейки ({cellCount}) для анализа","pluralFilesAndSingularCellToAnalyze":"Файлы ({fileCount}) и 1\xa0ячейка для анализа","singularFileAndPluralCellsToAnalyze":"1\xa0файл и ячейки ({cellCount}) для анализа","singularFileAndSingularCellToAnalyze":"1\xa0файл и 1\xa0ячейка для анализа","windowsStoreEnvironmentName":"microsoft store"},"PerformanceTracking":{"button":"Сообщить о проблеме","title":"Обнаружена проблема производительности с Pylance. Вы хотите отправить сообщение о проблеме с помощью команды \\"Pylance: сообщить о проблеме\\"?"},"Pytest":{"addTypeAnnotation":"Добавление заметки с типом в {name}","addTypeAnnotations":"Добавить заметки типа для всех fixture на средства в этом файле","fixtureNotFound":"\\"{fixture}\\" не является известным тестовым fixture тестирования. Методы тестирования должны получать в качестве параметров только имена fixture тестирования или parametrization."},"Refactoring":{"moveFile":"Хотите заменить все импортирующие ссылки на \\"{oldModuleName}\\" ссылками на \\"{newModuleName}\\"?","moveFileAbsentSymbol":"Не удается найти символ для перемещения.","moveFileDescription":"Заменить все ссылки на \\"{oldModuleName}\\" ссылками на \\"{newModuleName}\\"?","moveFileExtensionMismatch":"Для перемещения символа исходный файл (\\"{src}\\") и конечный файл (\\"{dest}\\") должны иметь одинаковое расширение файла.","moveFileImportableOnly":"Разрешено перемещать только объекты, которые можно импортировать из других модулей, таких как классы или функции.","moveFileInsertLocation":"Не удается найти расположение для вставки символа. Возможно, символ с таким именем уже существует в \\"{name}\\".","moveFileLabel":"Заменить все ссылки на \\"{oldModuleName}\\" ссылками на \\"{newModuleName}\\"?","moveFileMissingInfo":"Не удается найти сведения о файле для \\"{name}\\".","moveFileMultipleDeclarations":"Невозможно переместить этот символ, так как он объявлен несколько раз.","moveFileNotUserFile":"Этот символ не может быть перемещен. Поддерживаются только символы в проекте или пользовательском файле.","moveFilePrivateSymbol":"\\"{name}\\" невозможно переместить, так как это закрытый символ.","moveFileSameFile":"Символ нельзя переместить в тот же файл, где он находится в данный момент.","moveFileSimpleAssignmentsOnly":"Невозможно переместить это выражение. Поддерживаются только простые присвоения, например присвоение значения переменной.","moveFileSymbolNotFound":"Не удается найти символ в позиции \\"{position}\\".","moveFileUnsupportedSymbol":"Этот символ не может быть перемещен. Поддерживаются только переменные, функции и классы на уровне модуля."}}')},49381(e){"use strict";e.exports=JSON.parse('{"CodeAction":{"AddTypeAnnotation":{"addAllTypeAnnotations":"T\xfcm t\xfcr ek a\xe7ıklamalarını ekle","addTypeAnnotation":"T\xfcr ek a\xe7ıklaması ekle"},"AddTypeIgnore":{"title":"Uyarıyı durdurmak i\xe7in \'{statement}\' deyimini ekle"},"AutoImport":{"addAutoImport":"Şunu ekle: \\"{importText}\\"","searchImport":"Ek i\xe7eri aktarma eşleşmelerini ara"},"ChangeSpelling":{"changeSpellingTo":"Yazımı \\"{word}\\" olarak değiştir"},"ConvertFormatString":{"convertToFString":"Copilot ile f-string olarak d\xf6n\xfcşt\xfcr","convertToFormat":"Copilot ile format() \xe7ağrısına d\xf6n\xfcşt\xfcr"},"ConvertImportStar":{"convertAllToExplicitImports":"T\xfcm yıldız i\xe7eri aktarmalarını a\xe7ık i\xe7eri aktarmalara d\xf6n\xfcşt\xfcr","convertToExplicitImports":"A\xe7ık i\xe7eri aktarmalara d\xf6n\xfcşt\xfcr"},"ConvertLambdaToNamedFunction":{"title":"Lambdayı Copilot ile adlandırılmış bir fonksiyona d\xf6n\xfcşt\xfcr"},"DiagnosticRefactor":{"fixformattedString":"\\"{name}\\" hatasını d\xfczelt"},"ExtraPath":{"addExtraPath":"extraPaths i\xe7ine \\"{name}\\" ekle"},"Extract":{"method":"Metodu ayıkla","variable":"Değişken ayıkla"},"FixAll":{"runFixAll":"Pylance t\xfcm\xfcn\xfc d\xfczeltmeyi \xe7alıştır"},"GenerateSymbol":{"generateClass":"Sınıf \\"{name}\\" oluştur Copilot","generateFunction":"İşlev \\"{name}\\" oluştur Copilot","generateMember":"Copilot ile \\"{name}\\" \xfcyesini oluşturun"},"ImplementAbstractClass":{"implementAllAbstractClasses":"Devralınan t\xfcm soyut sınıfları uygula"},"MoveSymbol":{"commandTitle":"Simgeyi taşı","moveSymbolsTo":"Simgeyi taşı...","moveSymbolsToNewFile":"Simgeyi yeni dosyaya taşı"},"RemoveUnusedImport":{"removeAllUnusedImports":"Kullanılmayan t\xfcm i\xe7eri aktarmaları kaldır","removeUnusedImport":"Kullanılmayan i\xe7eri aktarmaları kaldır"},"ToggleImportPath":{"convertAllFormat":"T\xfcm i\xe7eri aktarma bi\xe7imlerini d\xf6n\xfcşt\xfcr","convertAllToAbsolutePath":"T\xfcm i\xe7eri aktarmaları mutlak yola d\xf6n\xfcşt\xfcr","convertAllToRelativePath":"T\xfcm i\xe7eri aktarmaları g\xf6reli yola d\xf6n\xfcşt\xfcr","convertToAbsolutePath":"Mutlak yola d\xf6n\xfcşt\xfcr","convertToRelativePath":"G\xf6reli yola d\xf6n\xfcşt\xfcr"},"UnresolvedImports":{"learnMoreTitle":"İ\xe7eri aktarmaları \xe7\xf6z\xfcmleme hakkında daha fazla bilgi edinin","selectInterpreterTitle":"Farklı bir yorumlayıcı se\xe7in","selectKernelTitle":"Select a different Jupyter kernel","troubleshootMissingImports":"Eksik i\xe7eri aktarma sorunlarını gider"}},"Commands":{"LoggingCommand":{"loggingDataSaved":"G\xfcnl\xfck verileri [{filePath}]({uri}) konumuna kaydedildi. Daha fazla ayrıntı i\xe7in `Python Dil Sunucusu` \xe7ıkış b\xf6lmesine bakın."},"ProfilingCommand":{"profilingDataSaved":"Profil oluşturma verileri [{filePath}]({uri}) konumuna kaydedildi. Daha fazla ayrıntı i\xe7in `Python Language Server` \xe7ıkış b\xf6lmesine bakın."},"gotoOutputCommand":"\xc7ıkışı G\xf6ster"},"Copilot":{"generateDocstringWithCopilot":"Copilot ile Docstring oluşturma","hoverSummary":{"generateSummary":"Copilot \xf6zeti oluştur","noSummary":"Kullanılabilir \xf6zet yok.","summary":"\xd6zet","tooltip":"Yapay zeka tarafından oluşturulan i\xe7erik yanlış olabilir."},"implementAllInheritedAbstractClasseswithCopilot":"Copilot ile devralınan t\xfcm soyut sınıfları uygula"},"Diagnostic":{"importResolveRedirect":"\\"{importName}\\", \\"{venv}\\" ortamında bulunamadı."},"DocstringTemplate":{"description":"A\xe7ıklama","docstringForName":"Docstring for {name}","generateDocstring":"Docstring Oluşturma"},"LargeLog":{"copyToClipboard":"GitHub sorun g\xf6vdesi sınırı nedeniyle g\xfcnl\xfck kesildi. Tam g\xfcnl\xfck panoya kopyalandı.","no":"Hayır","openLink":"Bağlantıyı a\xe7","userConsent":"Pylance g\xfcnl\xfcğ\xfcn\xfcz\xfc bildirdiğiniz soruna eklemek istiyoruz ancak g\xfcnl\xfck \xe7ok b\xfcy\xfck. Bunun yerine g\xfcnl\xfcğ\xfc doğrudan GitHub’a y\xfckleseydik olur muydu (g\xfcnl\xfcğ\xfcn yalnızca bir b\xf6l\xfcm\xfc sorunda g\xf6r\xfcn\xfcr)? Daha fazla bilgi i\xe7in {url} adresini ziyaret edin","yes":"Evet"},"Messages":{"defaultPythonEnvironmentName":"Varsayılan Python Ortamı","globalEnvironmentName":"genel","pluralFilesAndPluralCellsToAnalyze":"{fileCount} dosya ve {cellCount} h\xfccre analiz edilecek","pluralFilesAndSingularCellToAnalyze":"{fileCount} dosya ve 1 h\xfccre analiz edilecek","singularFileAndPluralCellsToAnalyze":"1 dosya ve {cellCount} h\xfccre analiz edilecek","singularFileAndSingularCellToAnalyze":"1 dosya ve 1 h\xfccre analiz edilecek","windowsStoreEnvironmentName":"microsoft store"},"PerformanceTracking":{"button":"Sorun bildir","title":"Pylance ile ilgili bir performans sorunu algılandı. \'Pylance: Sorun Bildir\' komutunu kullanarak bir sorun kaydetmek ister misiniz?"},"Pytest":{"addTypeAnnotation":"{name} i\xe7ine t\xfcr ek a\xe7ıklaması ekle","addTypeAnnotations":"Add type annotations for all fixture references in this file","fixtureNotFound":"\'{fixture}\' is not a known test fixture. Test methods should only receive fixture or parametrization names as parameters."},"Refactoring":{"moveFile":"T\xfcm i\xe7eri aktarma başvurularını \\"{oldModuleName}\\" mod\xfcl\xfcnden \\"{newModuleName}\\" mod\xfcl\xfcne g\xfcncelleştirmek istiyor musunuz?","moveFileAbsentSymbol":"Taşınacak simge bulunamıyor.","moveFileDescription":"T\xfcm i\xe7eri aktarma başvuruları \\"{oldModuleName}\\" mod\xfcl\xfcnden \\"{newModuleName}\\" mod\xfcl\xfcne g\xfcncelleştirilsin mi?","moveFileExtensionMismatch":"Bir simgeyi taşımak i\xe7in kaynak dosya (\\"{src}\\") ile hedef dosyanın (\\"{dest}\\") uzantısı aynı olmalıdır.","moveFileImportableOnly":"Yalnızca sınıflar veya işlevler gibi diğer mod\xfcllerden i\xe7eri aktarılabilen nesnelerin taşınmasına izin verilir.","moveFileInsertLocation":"Simgenin ekleneceği konum bulunamıyor. \\"{name}\\" konumunda aynı ada sahip bir simge zaten var olabilir.","moveFileLabel":"T\xfcm i\xe7eri aktarma başvuruları \\"{oldModuleName}\\" mod\xfcl\xfcnden \\"{newModuleName}\\" mod\xfcl\xfcne g\xfcncelleştirilsin mi?","moveFileMissingInfo":"\\"{name}\\" i\xe7in dosya bilgileri bulunamıyor.","moveFileMultipleDeclarations":"Birden \xe7ok kez bildirildiği i\xe7in bu simge taşınamaz.","moveFileNotUserFile":"Bu simge taşınamıyor. Yalnızca bir projedeki veya kullanıcı dosyasındaki simgeler desteklenir.","moveFilePrivateSymbol":"\xd6zel simge olduğundan \\"{name}\\" taşınamıyor.","moveFileSameFile":"Simge şu anda bulunduğu dosyaya taşınamıyor.","moveFileSimpleAssignmentsOnly":"Bu ifade taşınamıyor. Yalnızca bir değer atanan değişken gibi basit atamalar desteklenir.","moveFileSymbolNotFound":"\\"{position}\\" konumunda simge bulunamıyor.","moveFileUnsupportedSymbol":"Bu simge taşınamıyor. Yalnızca mod\xfcl d\xfczeyindeki değişkenler, işlevler ve sınıflar desteklenir."}}')},70417(e){"use strict";e.exports=JSON.parse('{"CodeAction":{"AddTypeAnnotation":{"addAllTypeAnnotations":"添加所有类型注释","addTypeAnnotation":"添加类型注释"},"AddTypeIgnore":{"title":"添加 \'{statement}\' 以抑制警告"},"AutoImport":{"addAutoImport":"添加“{importText}”","searchImport":"搜索其他导入匹配项"},"ChangeSpelling":{"changeSpellingTo":"将拼写更改为“{word}”"},"ConvertFormatString":{"convertToFString":"使用 Copilot 转换为 f 字符串","convertToFormat":"通过 Copilot 转换为 format() 调用"},"ConvertImportStar":{"convertAllToExplicitImports":"将所有星号导入转换为显式导入","convertToExplicitImports":"转换为显式导入"},"ConvertLambdaToNamedFunction":{"title":"使用 Copilot 将 lambda 转换为命名函数"},"DiagnosticRefactor":{"fixformattedString":"修复“{name}”"},"ExtraPath":{"addExtraPath":"将“{name}”添加到 extraPaths"},"Extract":{"method":"提取方法","variable":"提取变量"},"FixAll":{"runFixAll":"运行 pylance fix all"},"GenerateSymbol":{"generateClass":"使用 Copilot 生成类 \\"{name}\\"","generateFunction":"使用 Copilot 生成函数 \\"{name}\\"","generateMember":"使用 Copilot 生成成员“{name}”"},"ImplementAbstractClass":{"implementAllAbstractClasses":"实现继承的所有抽象类"},"MoveSymbol":{"commandTitle":"移动符号","moveSymbolsTo":"将符号移动到...","moveSymbolsToNewFile":"将符号移动到新文件"},"RemoveUnusedImport":{"removeAllUnusedImports":"删除所有未使用的导入","removeUnusedImport":"删除未使用的导入"},"ToggleImportPath":{"convertAllFormat":"转换所有导入格式","convertAllToAbsolutePath":"将所有导入转换为绝对路径","convertAllToRelativePath":"将所有导入转换为相对路径","convertToAbsolutePath":"转换为绝对路径","convertToRelativePath":"转换为相对路径"},"UnresolvedImports":{"learnMoreTitle":"详细了解如何解析导入","selectInterpreterTitle":"选择其他解释器","selectKernelTitle":"选择其他 Jupyter kernel","troubleshootMissingImports":"排查缺少的导入问题"}},"Commands":{"LoggingCommand":{"loggingDataSaved":"日志记录数据已保存在 [{filePath}]({uri})。有关更多详细信息,请参阅 `Python 语言服务器` 输出窗格。"},"ProfilingCommand":{"profilingDataSaved":"分析数据已保存在 [{filePath}]({uri})。有关更多详细信息,请参阅 `Python 语言服务器` 输出窗格。"},"gotoOutputCommand":"显示输出"},"Copilot":{"generateDocstringWithCopilot":"使用 Copilot 生成 Docstring","hoverSummary":{"generateSummary":"生成 Copilot 摘要","noSummary":"没有可用的摘要。","summary":"摘要","tooltip":"AI 生成的内容可能不正确。"},"implementAllInheritedAbstractClasseswithCopilot":"通过 Copilot 实现继承的所有抽象类"},"Diagnostic":{"importResolveRedirect":"在“{venv}”环境中找不到导入“{importName}”。"},"DocstringTemplate":{"description":"说明","docstringForName":"{name} 的 Docstring","generateDocstring":"生成 Docstring"},"LargeLog":{"copyToClipboard":"由于 GitHub 问题正文限制,日志已被截断。完整日志已复制到剪贴板。","no":"否","openLink":"打开链接","userConsent":"我们希望将你的 Pylance 日志包含在你所报告的问题中,但它太大了。是否可以直接将其上传到 github (问题中只有一部分日志可见)?有关详细信息,请访问 {url}","yes":"是"},"Messages":{"defaultPythonEnvironmentName":"默认 Python 环境","globalEnvironmentName":"全局","pluralFilesAndPluralCellsToAnalyze":"要分析的 {fileCount} 个文件和 {cellCount} 个单元格","pluralFilesAndSingularCellToAnalyze":"要分析的 {fileCount} 个文件和 1 个单元格","singularFileAndPluralCellsToAnalyze":"要分析的 1 个文件和 {cellCount} 个单元格","singularFileAndSingularCellToAnalyze":"要分析的 1 个文件和 1 个单元格","windowsStoreEnvironmentName":"microsoft store"},"PerformanceTracking":{"button":"报告问题","title":"我们检测到 Pylance 存在性能问题。是否要使用 `Pylance: Report Issue` 命令提交问题?"},"Pytest":{"addTypeAnnotation":"将类型批注添加到 {name}","addTypeAnnotations":"为此文件中的所有 fixture 引用添加类型注释","fixtureNotFound":"\'{fixture}\' 不是已知的测试 fixture。测试方法应只接收 fixture 或 parametrization 名称作为参数。"},"Refactoring":{"moveFile":"是否要将“{oldModuleName}”的所有导入引用更新为“{newModuleName}”?","moveFileAbsentSymbol":"找不到要移动的符号。","moveFileDescription":"是否将 “{oldModuleName}” 的所有导入引用更新为 “{newModuleName}”?","moveFileExtensionMismatch":"要移动符号,源文件(“{src}”)和目标文件(“{dest}”)必须具有相同的文件扩展名。","moveFileImportableOnly":"仅允许移动可从其他模块导入的对象,例如类或函数。","moveFileInsertLocation":"找不到要插入符号的位置。“{name}”中可能已存在同名符号。","moveFileLabel":"是否将 “{oldModuleName}” 的所有导入引用更新为 “{newModuleName}”?","moveFileMissingInfo":"找不到“{name}”的文件信息。","moveFileMultipleDeclarations":"无法移动此符号,因为已多次声明它。","moveFileNotUserFile":"无法移动此符号。仅支持项目或用户文件中的符号。","moveFilePrivateSymbol":"无法移动“{name}”,因为它是专用符号。","moveFileSameFile":"无法将符号移动到其当前所在的同一文件。","moveFileSimpleAssignmentsOnly":"无法移动此表达式。仅支持简单的赋值,例如为变量赋值。","moveFileSymbolNotFound":"在位置“{position}”处找不到符号。","moveFileUnsupportedSymbol":"无法移动此符号。仅支持模块级别的变量、函数和类。"}}')},41101(e){"use strict";e.exports=JSON.parse('{"CodeAction":{"AddTypeAnnotation":{"addAllTypeAnnotations":"新增所有類型註釋","addTypeAnnotation":"新增類型註釋"},"AddTypeIgnore":{"title":"新增 \'{statement}\' 以隱藏警告"},"AutoImport":{"addAutoImport":"新增 \\"{importText}\\"","searchImport":"搜尋其他匯入相符項目"},"ChangeSpelling":{"changeSpellingTo":"將拼字變更為 \\"{word}\\""},"ConvertFormatString":{"convertToFString":"使用 Copilot 轉換成 f-string","convertToFormat":"使用 Copilot 轉換成 format() 呼叫"},"ConvertImportStar":{"convertAllToExplicitImports":"將所有加上星號的匯入轉換為明確匯入","convertToExplicitImports":"轉換為明確匯入"},"ConvertLambdaToNamedFunction":{"title":"使用 Copilot 將 Lambda 轉換為具名函式"},"DiagnosticRefactor":{"fixformattedString":"修正 \\"{name}\\""},"ExtraPath":{"addExtraPath":"新增 \\"{name}\\" 至 extraPaths"},"Extract":{"method":"擷取方法","variable":"擷取變數"},"FixAll":{"runFixAll":"執行 pylance fix all"},"GenerateSymbol":{"generateClass":"產生具有 Copilot 的類別 \\"{name}\\"","generateFunction":"產生具有 Copilot 的函式 \\"{name}\\"","generateMember":"使用 Copilot 產生成員 \\"{name}\\""},"ImplementAbstractClass":{"implementAllAbstractClasses":"實作所有繼承的抽象類別"},"MoveSymbol":{"commandTitle":"移動符號","moveSymbolsTo":"移動符號至...","moveSymbolsToNewFile":"移動符號至新檔案"},"RemoveUnusedImport":{"removeAllUnusedImports":"移除所有未使用的匯入","removeUnusedImport":"移除未使用的匯入"},"ToggleImportPath":{"convertAllFormat":"轉換所有匯入格式","convertAllToAbsolutePath":"將所有匯入轉換為絕對路徑","convertAllToRelativePath":"將所有匯入轉換為相對路徑","convertToAbsolutePath":"轉換為絕對路徑","convertToRelativePath":"轉換成相對路徑"},"UnresolvedImports":{"learnMoreTitle":"深入了解如何解析匯入","selectInterpreterTitle":"選取其他解譯器","selectKernelTitle":"選取其他 Jupyter kernel","troubleshootMissingImports":"針對遺失匯入進行疑難排解"}},"Commands":{"LoggingCommand":{"loggingDataSaved":"記錄資料已儲存在 [{filePath}]({uri})。如需詳細資料,請參閱 [Python 語言伺服器] 輸出窗格。"},"ProfilingCommand":{"profilingDataSaved":"分析資料已儲存在 [{filePath}]({uri})。如需詳細資料,請參閱 [Python 語言伺服器] 輸出窗格。"},"gotoOutputCommand":"顯示輸出"},"Copilot":{"generateDocstringWithCopilot":"使用 Copilot 產生 Docstring","hoverSummary":{"generateSummary":"產生 Copilot 摘要","noSummary":"無可用的摘要。","summary":"摘要","tooltip":"AI 產生的內容可能不正確。"},"implementAllInheritedAbstractClasseswithCopilot":"使用 Copilot 來實作所有繼承的抽象類別"},"Diagnostic":{"importResolveRedirect":"在 \\"{venv}\\" 環境中找不到匯入 \\"{importName}\\"。"},"DocstringTemplate":{"description":"說明","docstringForName":"{name} 的 Docstring","generateDocstring":"產生 Docstring"},"LargeLog":{"copyToClipboard":"由於 GitHub 問題的本文限制,系統已截斷記錄。已將完整記錄複製到剪貼簿。","no":"否","openLink":"開啟連結","userConsent":"我們希望將您的 Pylance 記錄包含在您所回報的問題中,但檔案太大了。您是否同意我們改而直接將其上傳到 GitHub (問題中只會顯示一部份記錄)?如需詳細資訊,請瀏覽 {url}","yes":"是"},"Messages":{"defaultPythonEnvironmentName":"預設 Python 環境","globalEnvironmentName":"全域","pluralFilesAndPluralCellsToAnalyze":"{fileCount} 個檔案和 {cellCount} 個儲存格要分析","pluralFilesAndSingularCellToAnalyze":"{fileCount} 個檔案和 1 個儲存格要分析","singularFileAndPluralCellsToAnalyze":"1 個檔案和 {cellCount} 個儲存格要分析","singularFileAndSingularCellToAnalyze":"1 的檔案和 1 個儲存格要分析","windowsStoreEnvironmentName":"microsoft store"},"PerformanceTracking":{"button":"回報問題","title":"偵測到 Pylance 發生效能問題。要使用 `Pylance: Report Issue` 命令提出問題嗎?"},"Pytest":{"addTypeAnnotation":"新增型別註解至 {name}","addTypeAnnotations":"新增此檔案中所有 fixture 參考的類型註釋","fixtureNotFound":"\'{fixture}\' 不是已知的測試 fixture。測試方法應該只接收 fixture 或 parametrization 名稱作為參數。"},"Refactoring":{"moveFile":"是否要將 \\"{oldModuleName}\\" 的所有匯入參考更新為 \\"{newModuleName}\\"?","moveFileAbsentSymbol":"找不到要移動的符號。","moveFileDescription":"將 \\"{oldModuleName}\\" 的所有匯入參考更新為 \\"{newModuleName}\\"?","moveFileExtensionMismatch":"若要移動符號,來源檔案 (\\"{src}\\") 與目的檔案 (\\"{dest}\\") 必須具有相同的檔案副檔名。","moveFileImportableOnly":"=只允許移動可以從其他模組匯入的物件,例如類別或函數。","moveFileInsertLocation":"找不到要插入符號的位置。\\"{name}\\" 中可能已存在相同名稱的符號。","moveFileLabel":"將 \\"{oldModuleName}\\" 的所有匯入參考更新為 \\"{newModuleName}\\"?","moveFileMissingInfo":"找不到 \\"{name}\\" 的檔案資訊。","moveFileMultipleDeclarations":"無法移動此符號,因為它已遭多次宣告。","moveFileNotUserFile":"無法移動此符號。只支援專案或使用者檔案中的符號。","moveFilePrivateSymbol":"無法移動 \\"{name}\\",因為它是私人符號。","moveFileSameFile":"無法將符號移至其目前所在的同一個檔案中。","moveFileSimpleAssignmentsOnly":"無法移動此運算式。只支援例如為變數指派值等簡單的指派。","moveFileSymbolNotFound":"在位置 \\"{position}\\" 找不到符號。","moveFileUnsupportedSymbol":"無法移動此符號。僅支援模組層級的變數、函式和類別。"}}')}},s={};function o(e){var t=s[e];if(void 0!==t)return t.exports;var i=s[e]={id:e,loaded:!1,exports:{}};return a[e].call(i.exports,i,i.exports,o),i.loaded=!0,i.exports}o.m=a,o.x=()=>{var e=o.O(void 0,["474","513"],()=>o(95585));return o.O(e)},o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,o.t=function(i,r){if(1&r&&(i=this(i)),8&r||"object"==typeof i&&i&&(4&r&&i.__esModule||16&r&&"function"==typeof i.then))return i;var n=Object.create(null);o.r(n);var a={};e=e||[null,t({}),t([]),t(t)];for(var s=2&r&&i;("object"==typeof s||"function"==typeof s)&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach(e=>{a[e]=()=>i[e]});return a.default=()=>i,o.d(n,a),n},o.d=(e,t)=>{for(var i in t)o.o(t,i)&&!o.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce((t,i)=>(o.f[i](e,t),t),[])),o.u=e=>""+({474:"vendor",513:"pyright"})[e]+".bundle.js",o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),i=[],o.O=(e,t,r,n)=>{if(t){n=n||0;for(var a=i.length;a>0&&i[a-1][2]>n;a--)i[a]=i[a-1];i[a]=[t,r,n];return}for(var s=1/0,a=0;a<i.length;a++){for(var[t,r,n]=i[a],l=!0,d=0;d<t.length;d++)(!1&n||s>=n)&&Object.keys(o.O).every(e=>o.O[e](t[d]))?t.splice(d--,1):(l=!1,n<s&&(s=n));if(l){i.splice(a--,1);var u=r();void 0!==u&&(e=u)}}return e},o.p="",o.j="451",r=o.x,o.x=()=>(o.e("474"),o.e("513"),r()),o.b=require("url").pathToFileURL(__filename),n={451:1},o.O.require=e=>n[e],o.f.require=(e,t)=>{n[e]||(e=>{var t=e.modules,i=e.ids,r=e.runtime;for(var a in t)o.o(t,a)&&(o.m[a]=t[a]);r&&r(o);for(var s=0;s<i.length;s++)n[i[s]]=1;o.O()})(require("./"+o.u(e)))};var l=o.x();module.exports=l})();
//# sourceMappingURL=server.bundle.js.map