/** * @license * MIT License * * Pyright - A static type checker for the Python language * Copyright (c) Microsoft Corporation. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE */ /*! For license information please see pyright-langserver.js.LICENSE.txt */ (()=>{var __webpack_modules__={1356:(e,t,n)=>{"use strict";const i=n(2548),s=global.Date;class r extends s{constructor(e){super(e),this.isDate=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}`}}e.exports=e=>{const t=new r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},4044:(e,t,n)=>{"use strict";const i=n(2548);class s extends Date{constructor(e){super(e+"Z"),this.isFloating=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}T${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new s(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},6347:e=>{"use strict";e.exports=e=>{const t=new Date(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},2110:(e,t,n)=>{"use strict";const i=n(2548);class s extends Date{constructor(e){super(`0000-01-01T${e}Z`),this.isTime=!0}toISOString(){return`${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new s(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},2548:e=>{"use strict";e.exports=(e,t)=>{for(t=String(t);t.length{"use strict";const t=1114112;class n extends Error{constructor(e,t,i){super("[ParserError] "+e,t,i),this.name="ParserError",this.code="ParserError",Error.captureStackTrace&&Error.captureStackTrace(this,n)}}class i{constructor(e){this.parser=e,this.buf="",this.returned=null,this.result=null,this.resultTable=null,this.resultArr=null}}class s{constructor(){this.pos=0,this.col=0,this.line=0,this.obj={},this.ctx=this.obj,this.stack=[],this._buf="",this.char=null,this.ii=0,this.state=new i(this.parseStart)}parse(e){if(0===e.length||null==e.length)return;let t;for(this._buf=String(e),this.ii=-1,this.char=-1;!1===t||this.nextChar();)t=this.runOne();this._buf=null}nextChar(){return 10===this.char&&(++this.line,this.col=-1),++this.ii,this.char=this._buf.codePointAt(this.ii),++this.pos,++this.col,this.haveBuffer()}haveBuffer(){return this.ii{"use strict";module.exports=makeParserClass(__webpack_require__(8300)),module.exports.makeParserClass=makeParserClass;class TomlError extends Error{constructor(e){super(e),this.name="TomlError",Error.captureStackTrace&&Error.captureStackTrace(this,TomlError),this.fromTOML=!0,this.wrapped=null}}TomlError.wrap=e=>{const t=new TomlError(e.message);return t.code=e.code,t.wrapped=e,t},module.exports.TomlError=TomlError;const createDateTime=__webpack_require__(6347),createDateTimeFloat=__webpack_require__(4044),createDate=__webpack_require__(1356),createTime=__webpack_require__(2110),CTRL_I=9,CTRL_J=10,CTRL_M=13,CTRL_CHAR_BOUNDARY=31,CHAR_SP=32,CHAR_QUOT=34,CHAR_NUM=35,CHAR_APOS=39,CHAR_PLUS=43,CHAR_COMMA=44,CHAR_HYPHEN=45,CHAR_PERIOD=46,CHAR_0=48,CHAR_1=49,CHAR_7=55,CHAR_9=57,CHAR_COLON=58,CHAR_EQUALS=61,CHAR_A=65,CHAR_E=69,CHAR_F=70,CHAR_T=84,CHAR_U=85,CHAR_Z=90,CHAR_LOWBAR=95,CHAR_a=97,CHAR_b=98,CHAR_e=101,CHAR_f=102,CHAR_i=105,CHAR_l=108,CHAR_n=110,CHAR_o=111,CHAR_r=114,CHAR_s=115,CHAR_t=116,CHAR_u=117,CHAR_x=120,CHAR_z=122,CHAR_LCUB=123,CHAR_RCUB=125,CHAR_LSQB=91,CHAR_BSOL=92,CHAR_RSQB=93,CHAR_DEL=127,SURROGATE_FIRST=55296,SURROGATE_LAST=57343,escapes={[CHAR_b]:"\b",[CHAR_t]:"\t",[CHAR_n]:"\n",[CHAR_f]:"\f",[CHAR_r]:"\r",[CHAR_QUOT]:'"',[CHAR_BSOL]:"\\"};function isDigit(e){return e>=CHAR_0&&e<=CHAR_9}function isHexit(e){return e>=CHAR_A&&e<=CHAR_F||e>=CHAR_a&&e<=CHAR_f||e>=CHAR_0&&e<=CHAR_9}function isBit(e){return e===CHAR_1||e===CHAR_0}function isOctit(e){return e>=CHAR_0&&e<=CHAR_7}function isAlphaNumQuoteHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_APOS||e===CHAR_QUOT||e===CHAR_LOWBAR||e===CHAR_HYPHEN}function isAlphaNumHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_LOWBAR||e===CHAR_HYPHEN}const _type=Symbol("type"),_declared=Symbol("declared"),hasOwnProperty=Object.prototype.hasOwnProperty,defineProperty=Object.defineProperty,descriptor={configurable:!0,enumerable:!0,writable:!0,value:void 0};function hasKey(e,t){return!!hasOwnProperty.call(e,t)||("__proto__"===t&&defineProperty(e,"__proto__",descriptor),!1)}const INLINE_TABLE=Symbol("inline-table");function InlineTable(){return Object.defineProperties({},{[_type]:{value:INLINE_TABLE}})}function isInlineTable(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_TABLE}const TABLE=Symbol("table");function Table(){return Object.defineProperties({},{[_type]:{value:TABLE},[_declared]:{value:!1,writable:!0}})}function isTable(e){return null!==e&&"object"==typeof e&&e[_type]===TABLE}const _contentType=Symbol("content-type"),INLINE_LIST=Symbol("inline-list");function InlineList(e){return Object.defineProperties([],{[_type]:{value:INLINE_LIST},[_contentType]:{value:e}})}function isInlineList(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_LIST}const LIST=Symbol("list");function List(){return Object.defineProperties([],{[_type]:{value:LIST}})}function isList(e){return null!==e&&"object"==typeof e&&e[_type]===LIST}let _custom;try{const utilInspect=eval("require('util').inspect");_custom=utilInspect.custom}catch(e){}const _inspect=_custom||"inspect";class BoxedBigInt{constructor(e){try{this.value=global.BigInt.asIntN(64,e)}catch(e){this.value=null}Object.defineProperty(this,_type,{value:INTEGER})}isNaN(){return null===this.value}toString(){return String(this.value)}[_inspect](){return`[BigInt: ${this.toString()}]}`}valueOf(){return this.value}}const INTEGER=Symbol("integer");function Integer(e){let t=Number(e);return Object.is(t,-0)&&(t=0),global.BigInt&&!Number.isSafeInteger(t)?new BoxedBigInt(e):Object.defineProperties(new Number(t),{isNaN:{value:function(){return isNaN(this)}},[_type]:{value:INTEGER},[_inspect]:{value:()=>`[Integer: ${e}]`}})}function isInteger(e){return null!==e&&"object"==typeof e&&e[_type]===INTEGER}const FLOAT=Symbol("float");function Float(e){return Object.defineProperties(new Number(e),{[_type]:{value:FLOAT},[_inspect]:{value:()=>`[Float: ${e}]`}})}function isFloat(e){return null!==e&&"object"==typeof e&&e[_type]===FLOAT}function tomlType(e){const t=typeof e;if("object"===t){if(null===e)return"null";if(e instanceof Date)return"datetime";if(_type in e)switch(e[_type]){case INLINE_TABLE:return"inline-table";case INLINE_LIST:return"inline-list";case TABLE:return"table";case LIST:return"list";case FLOAT:return"float";case INTEGER:return"integer"}}return t}function makeParserClass(e){return class extends e{constructor(){super(),this.ctx=this.obj=Table()}atEndOfWord(){return this.char===CHAR_NUM||this.char===CTRL_I||this.char===CHAR_SP||this.atEndOfLine()}atEndOfLine(){return this.char===e.END||this.char===CTRL_J||this.char===CTRL_M}parseStart(){if(this.char===e.END)return null;if(this.char===CHAR_LSQB)return this.call(this.parseTableOrList);if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(isAlphaNumQuoteHyphen(this.char))return this.callNow(this.parseAssignStatement);throw this.error(new TomlError(`Unknown character "${this.char}"`))}parseWhitespaceToEOL(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(this.char===CHAR_NUM)return this.goto(this.parseComment);if(this.char===e.END||this.char===CTRL_J)return this.return();throw this.error(new TomlError("Unexpected character, expected only whitespace or comments till end of line"))}parseAssignStatement(){return this.callNow(this.parseAssign,this.recordAssignStatement)}recordAssignStatement(e){let t=this.ctx,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseWhitespaceToEOL)}parseAssign(){return this.callNow(this.parseKeyword,this.recordAssignKeyword)}recordAssignKeyword(e){return this.state.resultTable?this.state.resultTable.push(e):this.state.resultTable=[e],this.goto(this.parseAssignKeywordPreDot)}parseAssignKeywordPreDot(){return this.char===CHAR_PERIOD?this.next(this.parseAssignKeywordPostDot):this.char!==CHAR_SP&&this.char!==CTRL_I?this.goto(this.parseAssignEqual):void 0}parseAssignKeywordPostDot(){if(this.char!==CHAR_SP&&this.char!==CTRL_I)return this.callNow(this.parseKeyword,this.recordAssignKeyword)}parseAssignEqual(){if(this.char===CHAR_EQUALS)return this.next(this.parseAssignPreValue);throw this.error(new TomlError('Invalid character, expected "="'))}parseAssignPreValue(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseValue,this.recordAssignValue)}recordAssignValue(e){return this.returnNow({key:this.state.resultTable,value:e})}parseComment(){do{if(this.char===e.END||this.char===CTRL_J)return this.return()}while(this.nextChar())}parseTableOrList(){if(this.char!==CHAR_LSQB)return this.goto(this.parseTable);this.next(this.parseList)}parseTable(){return this.ctx=this.obj,this.goto(this.parseTableNext)}parseTableNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseTableMore)}parseTableMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)&&(!isTable(this.ctx[e])||this.ctx[e][_declared]))throw this.error(new TomlError("Can't redefine existing key"));return this.ctx=this.ctx[e]=this.ctx[e]||Table(),this.ctx[_declared]=!0,this.next(this.parseWhitespaceToEOL)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e))if(isTable(this.ctx[e]))this.ctx=this.ctx[e];else{if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine existing key"));this.ctx=this.ctx[e][this.ctx[e].length-1]}else this.ctx=this.ctx[e]=Table();return this.next(this.parseTableNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseList(){return this.ctx=this.obj,this.goto(this.parseListNext)}parseListNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseListMore)}parseListMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)||(this.ctx[e]=List()),isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));{const t=Table();this.ctx[e].push(t),this.ctx=t}return this.next(this.parseListEnd)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e)){if(isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(isInlineTable(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline table"));if(isList(this.ctx[e]))this.ctx=this.ctx[e][this.ctx[e].length-1];else{if(!isTable(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));this.ctx=this.ctx[e]}}else this.ctx=this.ctx[e]=Table();return this.next(this.parseListNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseListEnd(e){if(this.char===CHAR_RSQB)return this.next(this.parseWhitespaceToEOL);throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseValue(){if(this.char===e.END)throw this.error(new TomlError("Key without value"));if(this.char===CHAR_QUOT)return this.next(this.parseDoubleString);if(this.char===CHAR_APOS)return this.next(this.parseSingleString);if(this.char===CHAR_HYPHEN||this.char===CHAR_PLUS)return this.goto(this.parseNumberSign);if(this.char===CHAR_i)return this.next(this.parseInf);if(this.char===CHAR_n)return this.next(this.parseNan);if(isDigit(this.char))return this.goto(this.parseNumberOrDateTime);if(this.char===CHAR_t||this.char===CHAR_f)return this.goto(this.parseBoolean);if(this.char===CHAR_LSQB)return this.call(this.parseInlineList,this.recordValue);if(this.char===CHAR_LCUB)return this.call(this.parseInlineTable,this.recordValue);throw this.error(new TomlError("Unexpected character, expecting string, number, datetime, boolean, inline array or inline table"))}recordValue(e){return this.returnNow(e)}parseInf(){if(this.char===CHAR_n)return this.next(this.parseInf2);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseInf2(){if(this.char===CHAR_f)return"-"===this.state.buf?this.return(-1/0):this.return(1/0);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseNan(){if(this.char===CHAR_a)return this.next(this.parseNan2);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseNan2(){if(this.char===CHAR_n)return this.return(NaN);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseKeyword(){return this.char===CHAR_QUOT?this.next(this.parseBasicString):this.char===CHAR_APOS?this.next(this.parseLiteralString):this.goto(this.parseBareKey)}parseBareKey(){do{if(this.char===e.END)throw this.error(new TomlError("Key ended without value"));if(!isAlphaNumHyphen(this.char)){if(0===this.state.buf.length)throw this.error(new TomlError("Empty bare keys are not allowed"));return this.returnNow()}this.consume()}while(this.nextChar())}parseSingleString(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiStringMaybe):this.goto(this.parseLiteralString)}parseLiteralString(){do{if(this.char===CHAR_APOS)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiStringMaybe(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiString):this.returnNow()}parseLiteralMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseLiteralMultiStringContent):this.goto(this.parseLiteralMultiStringContent)}parseLiteralMultiStringContent(){do{if(this.char===CHAR_APOS)return this.next(this.parseLiteralMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiEnd(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiEnd2):(this.state.buf+="'",this.goto(this.parseLiteralMultiStringContent))}parseLiteralMultiEnd2(){return this.char===CHAR_APOS?this.return():(this.state.buf+="''",this.goto(this.parseLiteralMultiStringContent))}parseDoubleString(){return this.char===CHAR_QUOT?this.next(this.parseMultiStringMaybe):this.goto(this.parseBasicString)}parseBasicString(){do{if(this.char===CHAR_BSOL)return this.call(this.parseEscape,this.recordEscapeReplacement);if(this.char===CHAR_QUOT)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}recordEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseBasicString)}parseMultiStringMaybe(){return this.char===CHAR_QUOT?this.next(this.parseMultiString):this.returnNow()}parseMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseMultiStringContent):this.goto(this.parseMultiStringContent)}parseMultiStringContent(){do{if(this.char===CHAR_BSOL)return this.call(this.parseMultiEscape,this.recordMultiEscapeReplacement);if(this.char===CHAR_QUOT)return this.next(this.parseMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}errorControlCharInString(){let e="\\u00";return this.char<16&&(e+="0"),e+=this.char.toString(16),this.error(new TomlError(`Control characters (codes < 0x1f and 0x7f) are not allowed in strings, use ${e} instead`))}recordMultiEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseMultiStringContent)}parseMultiEnd(){return this.char===CHAR_QUOT?this.next(this.parseMultiEnd2):(this.state.buf+='"',this.goto(this.parseMultiStringContent))}parseMultiEnd2(){return this.char===CHAR_QUOT?this.return():(this.state.buf+='""',this.goto(this.parseMultiStringContent))}parseMultiEscape(){return this.char===CTRL_M||this.char===CTRL_J?this.next(this.parseMultiTrim):this.char===CHAR_SP||this.char===CTRL_I?this.next(this.parsePreMultiTrim):this.goto(this.parseEscape)}parsePreMultiTrim(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CTRL_M||this.char===CTRL_J)return this.next(this.parseMultiTrim);throw this.error(new TomlError("Can't escape whitespace"))}parseMultiTrim(){return this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M?null:this.returnNow()}parseEscape(){if(this.char in escapes)return this.return(escapes[this.char]);if(this.char===CHAR_u)return this.call(this.parseSmallUnicode,this.parseUnicodeReturn);if(this.char===CHAR_U)return this.call(this.parseLargeUnicode,this.parseUnicodeReturn);throw this.error(new TomlError("Unknown escape character: "+this.char))}parseUnicodeReturn(e){try{const t=parseInt(e,16);if(t>=SURROGATE_FIRST&&t<=SURROGATE_LAST)throw this.error(new TomlError("Invalid unicode, character in range 0xD800 - 0xDFFF is reserved"));return this.returnNow(String.fromCodePoint(t))}catch(e){throw this.error(TomlError.wrap(e))}}parseSmallUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=4)return this.return()}parseLargeUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=8)return this.return()}parseNumberSign(){return this.consume(),this.next(this.parseMaybeSignedInfOrNan)}parseMaybeSignedInfOrNan(){return this.char===CHAR_i?this.next(this.parseInf):this.char===CHAR_n?this.next(this.parseNan):this.callNow(this.parseNoUnder,this.parseNumberIntegerStart)}parseNumberIntegerStart(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberIntegerExponentOrDecimal)):this.goto(this.parseNumberInteger)}parseNumberIntegerExponentOrDecimal(){return this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Integer(this.state.buf))}parseNumberInteger(){if(!isDigit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnder);if(this.char===CHAR_E||this.char===CHAR_e)return this.consume(),this.next(this.parseNumberExponentSign);if(this.char===CHAR_PERIOD)return this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseNoUnder(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD||this.char===CHAR_E||this.char===CHAR_e)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNoUnderHexOctBinLiteral(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNumberFloat(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberFloat):isDigit(this.char)?void this.consume():this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Float(this.state.buf))}parseNumberExponentSign(){if(isDigit(this.char))return this.goto(this.parseNumberExponent);if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS)throw this.error(new TomlError("Unexpected character, expected -, + or digit"));this.consume(),this.call(this.parseNoUnder,this.parseNumberExponent)}parseNumberExponent(){if(!isDigit(this.char))return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder):this.returnNow(Float(this.state.buf));this.consume()}parseNumberOrDateTime(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberBaseOrDateTime)):this.goto(this.parseNumberOrDateTimeOnly)}parseNumberOrDateTimeOnly(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberInteger):isDigit(this.char)?(this.consume(),void(this.state.buf.length>4&&this.next(this.parseNumberInteger))):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_HYPHEN?this.goto(this.parseDateTime):this.char===CHAR_COLON?this.goto(this.parseOnlyTimeHour):this.returnNow(Integer(this.state.buf))}parseDateTimeOnly(){if(this.state.buf.length<4){if(isDigit(this.char))return this.consume();if(this.char===CHAR_COLON)return this.goto(this.parseOnlyTimeHour);throw this.error(new TomlError("Expected digit while parsing year part of a date"))}if(this.char===CHAR_HYPHEN)return this.goto(this.parseDateTime);throw this.error(new TomlError("Expected hyphen (-) while parsing year part of date"))}parseNumberBaseOrDateTime(){return this.char===CHAR_b?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerBin)):this.char===CHAR_o?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerOct)):this.char===CHAR_x?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerHex)):this.char===CHAR_PERIOD?this.goto(this.parseNumberInteger):isDigit(this.char)?this.goto(this.parseDateTimeOnly):this.returnNow(Integer(this.state.buf))}parseIntegerHex(){if(!isHexit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerOct(){if(!isOctit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerBin(){if(!isBit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseDateTime(){if(this.state.buf.length<4)throw this.error(new TomlError("Years less than 1000 must be zero padded to four characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseDateMonth)}parseDateMonth(){if(this.char===CHAR_HYPHEN){if(this.state.buf.length<2)throw this.error(new TomlError("Months less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseDateDay)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseDateDay(){if(this.char===CHAR_T||this.char===CHAR_SP){if(this.state.buf.length<2)throw this.error(new TomlError("Days less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseStartTimeHour)}if(this.atEndOfWord())return this.returnNow(createDate(this.state.result+"-"+this.state.buf));if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseStartTimeHour(){return this.atEndOfWord()?this.returnNow(createDate(this.state.result)):this.goto(this.parseTimeHour)}parseTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result+="T"+this.state.buf,this.state.buf="",this.next(this.parseTimeMin)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeSec);throw this.error(new TomlError("Incomplete datetime"))}this.consume()}parseTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));if(this.consume(),2===this.state.buf.length)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeZoneOrFraction)}parseOnlyTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeMin)}throw this.error(new TomlError("Incomplete time"))}parseOnlyTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeSec);throw this.error(new TomlError("Incomplete time"))}this.consume()}parseOnlyTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete time"));if(this.consume(),2===this.state.buf.length)return this.next(this.parseOnlyTimeFractionMaybe)}parseOnlyTimeFractionMaybe(){if(this.state.result+=":"+this.state.buf,this.char!==CHAR_PERIOD)return this.return(createTime(this.state.result));this.state.buf="",this.next(this.parseOnlyTimeFraction)}parseOnlyTimeFraction(){if(!isDigit(this.char)){if(this.atEndOfWord()){if(0===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));return this.returnNow(createTime(this.state.result+"."+this.state.buf))}throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume()}parseTimeZoneOrFraction(){if(this.char===CHAR_PERIOD)this.consume(),this.next(this.parseDateTimeFraction);else{if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseDateTimeFraction(){if(isDigit(this.char))this.consume();else{if(1===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseTimeZoneHour(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.next(this.parseTimeZoneSep)}parseTimeZoneSep(){if(this.char!==CHAR_COLON)throw this.error(new TomlError("Unexpected character in datetime, expected colon"));this.consume(),this.next(this.parseTimeZoneMin)}parseTimeZoneMin(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.return(createDateTime(this.state.result+this.state.buf))}parseBoolean(){return this.char===CHAR_t?(this.consume(),this.next(this.parseTrue_r)):this.char===CHAR_f?(this.consume(),this.next(this.parseFalse_a)):void 0}parseTrue_r(){if(this.char===CHAR_r)return this.consume(),this.next(this.parseTrue_u);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_u(){if(this.char===CHAR_u)return this.consume(),this.next(this.parseTrue_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_e(){if(this.char===CHAR_e)return this.return(!0);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_a(){if(this.char===CHAR_a)return this.consume(),this.next(this.parseFalse_l);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_l(){if(this.char===CHAR_l)return this.consume(),this.next(this.parseFalse_s);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_s(){if(this.char===CHAR_s)return this.consume(),this.next(this.parseFalse_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_e(){if(this.char===CHAR_e)return this.return(!1);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseInlineList(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===e.END)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_NUM?this.call(this.parseComment):this.char===CHAR_RSQB?this.return(this.state.resultArr||InlineList()):this.callNow(this.parseValue,this.recordInlineListValue)}recordInlineListValue(e){if(this.state.resultArr){const t=this.state.resultArr[_contentType],n=tomlType(e);if(t!==n)throw this.error(new TomlError(`Inline lists must be a single type, not a mix of ${t} and ${n}`))}else this.state.resultArr=InlineList(tomlType(e));return isFloat(e)||isInteger(e)?this.state.resultArr.push(e.valueOf()):this.state.resultArr.push(e),this.goto(this.parseInlineListNext)}parseInlineListNext(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CHAR_COMMA)return this.next(this.parseInlineList);if(this.char===CHAR_RSQB)return this.goto(this.parseInlineList);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}parseInlineTable(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_RCUB?this.return(this.state.resultTable||InlineTable()):(this.state.resultTable||(this.state.resultTable=InlineTable()),this.callNow(this.parseAssign,this.recordInlineTableValue))}recordInlineTableValue(e){let t=this.state.resultTable,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseInlineTableNext)}parseInlineTableNext(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));if(this.char===CHAR_COMMA)return this.next(this.parseInlineTable);if(this.char===CHAR_RCUB)return this.goto(this.parseInlineTable);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}}}},8654:(e,t,n)=>{"use strict";e.exports=function(e,t){t||(t={});const n=t.blocksize||40960,r=new i;return new Promise(((e,t)=>{setImmediate(o,0,n,e,t)}));function o(t,n,i,a){if(t>=e.length)try{return i(r.finish())}catch(t){return a(s(t,e))}try{r.parse(e.slice(t,t+n)),setImmediate(o,t+n,n,i,a)}catch(t){a(s(t,e))}}};const i=n(1531),s=n(6703)},6703:e=>{"use strict";e.exports=function(e,t){if(null==e.pos||null==e.line)return e;let n=e.message;if(n+=` at row ${e.line+1}, col ${e.col+1}, pos ${e.pos}:\n`,t&&t.split){const i=t.split(/\n/),s=String(Math.min(i.length,e.line+3)).length;let r=" ";for(;r.length "+i[t]+"\n",n+=r+" ";for(let t=0;t{"use strict";e.exports=function(e){return e?function(e){const t=new s;return e.setEncoding("utf8"),new Promise(((n,i)=>{let s,r=!1,o=!1;function a(){if(r=!0,!s)try{n(t.finish())}catch(e){i(e)}}function A(e){o=!0,i(e)}e.once("end",a),e.once("error",A),function n(){let i;for(s=!0;null!==(i=e.read());)try{t.parse(i)}catch(e){return A(e)}if(s=!1,r)return a();o||e.once("readable",n)}()}))}(e):function(){const e=new s;return new i.Transform({objectMode:!0,transform(t,n,i){try{e.parse(t.toString(n))}catch(e){this.emit("error",e)}i()},flush(t){try{this.push(e.finish())}catch(e){this.emit("error",e)}t()}})}()};const i=n(2781),s=n(1531)},6259:(e,t,n)=>{"use strict";e.exports=function(e){global.Buffer&&global.Buffer.isBuffer(e)&&(e=e.toString("utf8"));const t=new i;try{return t.parse(e),t.finish()}catch(t){throw s(t,e)}};const i=n(1531),s=n(6703)},8543:(e,t,n)=>{"use strict";e.exports=n(6259),e.exports.async=n(8654),e.exports.stream=n(3186),e.exports.prettyError=n(6703)},2490:e=>{"use strict";function t(e){return new Error("Can only stringify objects, not "+e)}function n(e){return Object.keys(e).filter((t=>r(e[t])))}function i(e){let t=Array.isArray(e)?[]:Object.prototype.hasOwnProperty.call(e,"__proto__")?{["__proto__"]:void 0}:{};for(let n of Object.keys(e))e[n]&&"function"==typeof e[n].toJSON&&!("toISOString"in e[n])?t[n]=e[n].toJSON():t[n]=e[n];return t}function s(e,A,l){var p,g;p=n(l=i(l)),g=function(e){return Object.keys(e).filter((t=>!r(e[t])))}(l);var d=[],h=A||"";p.forEach((e=>{var t=o(l[e]);"undefined"!==t&&"null"!==t&&d.push(h+a(e)+" = "+c(l[e],!0))})),d.length>0&&d.push("");var C=e&&p.length>0?A+" ":"";return g.forEach((r=>{d.push(function(e,r,A,l){var c=o(l);if("array"===c)return function(e,n,r,A){u(A=i(A));var l=o(A[0]);if("table"!==l)throw t(l);var c=e+a(r),p="";return A.forEach((e=>{p.length>0&&(p+="\n"),p+=n+"[["+c+"]]\n",p+=s(c+".",n,e)})),p}(e,r,A,l);if("table"===c)return function(e,t,i,r){var o=e+a(i),A="";return n(r).length>0&&(A+=t+"["+o+"]\n"),A+s(o+".",t,r)}(e,r,A,l);throw t(c)}(e,C,r,l[r]))})),d.join("\n")}function r(e){switch(o(e)){case"undefined":case"null":case"integer":case"nan":case"float":case"boolean":case"string":case"datetime":return!0;case"array":return 0===e.length||"table"!==o(e[0]);case"table":return 0===Object.keys(e).length;default:return!1}}function o(e){return void 0===e?"undefined":null===e?"null":"bigint"==typeof e||Number.isInteger(e)&&!Object.is(e,-0)?"integer":"number"==typeof e?"float":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"toISOString"in e?isNaN(e)?"undefined":"datetime":Array.isArray(e)?"array":"table"}function a(e){var t=String(e);return/^[-A-Za-z0-9_]+$/.test(t)?t:A(t)}function A(e){return'"'+l(e).replace(/"/g,'\\"')+'"'}function l(e){return e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/([\u0000-\u001f\u007f])/,(e=>"\\u"+function(e,t){for(;t.length<4;)t="0"+t;return t}(0,e.codePointAt(0).toString(16))))}function c(e,t){let n=o(e);return"string"===n&&(t&&/\n/.test(e)?n="string-multiline":!/[\b\t\n\f\r']/.test(e)&&/"/.test(e)&&(n="string-literal")),p(e,n)}function p(e,n){switch(n||(n=o(e)),n){case"string-multiline":return function(e){let t=e.split(/\n/).map((e=>l(e).replace(/"(?="")/g,'\\"'))).join("\n");return'"'===t.slice(-1)&&(t+="\\\n"),'"""\n'+t+'"""'}(e);case"string":return A(e);case"string-literal":return"'"+e+"'";case"integer":return g(e);case"float":return function(e){if(e===1/0)return"inf";if(e===-1/0)return"-inf";if(Object.is(e,NaN))return"nan";if(Object.is(e,-0))return"-0.0";var t=String(e).split("."),n=t[0],i=t[1]||0;return g(n)+"."+i}(e);case"boolean":return function(e){return String(e)}(e);case"datetime":return function(e){return e.toISOString()}(e);case"array":return function(e){const t=u(e=i(e));var n="[",s=e.map((e=>p(e,t)));return s.join(", ").length>60||/\n/.test(s)?n+="\n "+s.join(",\n ")+"\n":n+=" "+s.join(", ")+(s.length>0?" ":""),n+"]"}(e.filter((e=>"null"!==o(e)&&"undefined"!==o(e)&&"nan"!==o(e))));case"table":return function(e){e=i(e);var t=[];return Object.keys(e).forEach((n=>{t.push(a(n)+" = "+c(e[n],!1))})),"{ "+t.join(", ")+(t.length>0?" ":"")+"}"}(e);default:throw t(n)}}function g(e){return String(e).replace(/\B(?=(\d{3})+(?!\d))/g,"_")}function u(e){const t=function(e){var t=o(e[0]);return e.every((e=>o(e)===t))?t:e.every((e=>{return"float"===(t=o(e))||"integer"===t;var t}))?"float":"mixed"}(e);if("mixed"===t)throw new Error("Array values can't have mixed types");return t}e.exports=function(e){if(null===e)throw t("null");if(void 0===e)throw t("undefined");if("object"!=typeof e)throw t(typeof e);if("function"==typeof e.toJSON&&(e=e.toJSON()),null==e)return null;const n=o(e);if("table"!==n)throw t(n);return s("","",e)},e.exports.value=p},4724:(e,t,n)=>{"use strict";t.parse=n(8543),t.stringify=n(2490)},3283:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AliasFS=void 0;const i=n(2603);class s extends i.ProxiedFS{constructor(e,{baseFs:t,pathUtils:n}){super(n),this.target=e,this.baseFs=t}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}}t.AliasFS=s},5310:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CwdFS=void 0;const i=n(8461),s=n(2603),r=n(6809);class o extends s.ProxiedFS{constructor(e,{baseFs:t=new i.NodeFS}={}){super(r.ppath),this.target=this.pathUtils.normalize(e),this.baseFs=t}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?r.ppath.normalize(e):this.baseFs.resolve(r.ppath.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}}t.CwdFS=o},6314:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.normalizeLineEndings=t.BasePortableFakeFS=t.FakeFS=void 0;const i=n(2037),s=n(7997),r=n(6809);class o{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:t=!1}={}){const n=[e];for(;n.length>0;){const e=n.shift();if((await this.lstatPromise(e)).isDirectory()){const i=await this.readdirPromise(e);if(!t)throw new Error("Not supported");for(const t of i.sort())n.push(this.pathUtils.join(e,t))}else yield e}}async removePromise(e,{recursive:t=!0,maxRetries:n=5}={}){let i;try{i=await this.lstatPromise(e)}catch(e){if("ENOENT"===e.code)return;throw e}if(i.isDirectory()){if(t){const t=await this.readdirPromise(e);await Promise.all(t.map((t=>this.removePromise(this.pathUtils.resolve(e,t)))))}for(let t=0;t<=n;t++)try{await this.rmdirPromise(e);break}catch(e){if("EBUSY"!==e.code&&"ENOTEMPTY"!==e.code)throw e;tsetTimeout(e,100*t)))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:t=!0}={}){let n;try{n=this.lstatSync(e)}catch(e){if("ENOENT"===e.code)return;throw e}if(n.isDirectory()){if(t)for(const t of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,t));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:t,utimes:n}={}){if((e=this.resolve(e))===this.pathUtils.dirname(e))return;const i=e.split(this.pathUtils.sep);let s;for(let e=2;e<=i.length;++e){const r=i.slice(0,e).join(this.pathUtils.sep);if(!this.existsSync(r)){try{await this.mkdirPromise(r)}catch(e){if("EEXIST"===e.code)continue;throw e}if(null!=s||(s=r),null!=t&&await this.chmodPromise(r,t),null!=n)await this.utimesPromise(r,n[0],n[1]);else{const e=await this.statPromise(this.pathUtils.dirname(r));await this.utimesPromise(r,e.atime,e.mtime)}}}return s}mkdirpSync(e,{chmod:t,utimes:n}={}){if((e=this.resolve(e))===this.pathUtils.dirname(e))return;const i=e.split(this.pathUtils.sep);let s;for(let e=2;e<=i.length;++e){const r=i.slice(0,e).join(this.pathUtils.sep);if(!this.existsSync(r)){try{this.mkdirSync(r)}catch(e){if("EEXIST"===e.code)continue;throw e}if(null!=s||(s=r),null!=t&&this.chmodSync(r,t),null!=n)this.utimesSync(r,n[0],n[1]);else{const e=this.statSync(this.pathUtils.dirname(r));this.utimesSync(r,e.atime,e.mtime)}}}return s}async copyPromise(e,t,{baseFs:n=this,overwrite:i=!0,stableSort:r=!1,stableTime:o=!1,linkStrategy:a=null}={}){return await(0,s.copyPromise)(this,e,n,t,{overwrite:i,stableSort:r,stableTime:o,linkStrategy:a})}copySync(e,t,{baseFs:n=this,overwrite:i=!0}={}){const s=n.lstatSync(t),o=this.existsSync(e);if(s.isDirectory()){this.mkdirpSync(e);const s=n.readdirSync(t);for(const r of s)this.copySync(this.pathUtils.join(e,r),n.pathUtils.join(t,r),{baseFs:n,overwrite:i})}else if(s.isFile()){if(!o||i){o&&this.removeSync(e);const i=n.readFileSync(t);this.writeFileSync(e,i)}}else{if(!s.isSymbolicLink())throw new Error(`Unsupported file type (file: ${t}, mode: 0o${s.mode.toString(8).padStart(6,"0")})`);if(!o||i){o&&this.removeSync(e);const i=n.readlinkSync(t);this.symlinkSync((0,r.convertPath)(this.pathUtils,i),e)}}const a=511&s.mode;this.chmodSync(e,a)}async changeFilePromise(e,t,n={}){return Buffer.isBuffer(t)?this.changeFileBufferPromise(e,t,n):this.changeFileTextPromise(e,t,n)}async changeFileBufferPromise(e,t,{mode:n}={}){let i=Buffer.alloc(0);try{i=await this.readFilePromise(e)}catch(e){}0!==Buffer.compare(i,t)&&await this.writeFilePromise(e,t,{mode:n})}async changeFileTextPromise(e,t,{automaticNewlines:n,mode:i}={}){let s="";try{s=await this.readFilePromise(e,"utf8")}catch(e){}const r=n?a(s,t):t;s!==r&&await this.writeFilePromise(e,r,{mode:i})}changeFileSync(e,t,n={}){return Buffer.isBuffer(t)?this.changeFileBufferSync(e,t,n):this.changeFileTextSync(e,t,n)}changeFileBufferSync(e,t,{mode:n}={}){let i=Buffer.alloc(0);try{i=this.readFileSync(e)}catch(e){}0!==Buffer.compare(i,t)&&this.writeFileSync(e,t,{mode:n})}changeFileTextSync(e,t,{automaticNewlines:n=!1,mode:i}={}){let s="";try{s=this.readFileSync(e,"utf8")}catch(e){}const r=n?a(s,t):t;s!==r&&this.writeFileSync(e,r,{mode:i})}async movePromise(e,t){try{await this.renamePromise(e,t)}catch(n){if("EXDEV"!==n.code)throw n;await this.copyPromise(t,e),await this.removePromise(e)}}moveSync(e,t){try{this.renameSync(e,t)}catch(n){if("EXDEV"!==n.code)throw n;this.copySync(t,e),this.removeSync(e)}}async lockPromise(e,t){const n=`${e}.flock`,i=Date.now();let s=null;const r=async()=>{let e;try{[e]=await this.readJsonPromise(n)}catch(e){return Date.now()-i<500}try{return process.kill(e,0),!0}catch(e){return!1}};for(;null===s;)try{s=await this.openPromise(n,"wx")}catch(e){if("EEXIST"!==e.code)throw e;if(!await r())try{await this.unlinkPromise(n);continue}catch(e){}if(!(Date.now()-i<6e4))throw new Error(`Couldn't acquire a lock in a reasonable time (via ${n})`);await new Promise((e=>setTimeout(e,16.666666666666668)))}await this.writePromise(s,JSON.stringify([process.pid]));try{return await t()}finally{try{await this.closePromise(s),await this.unlinkPromise(n)}catch(e){}}}async readJsonPromise(e){const t=await this.readFilePromise(e,"utf8");try{return JSON.parse(t)}catch(t){throw t.message+=` (in ${e})`,t}}readJsonSync(e){const t=this.readFileSync(e,"utf8");try{return JSON.parse(t)}catch(t){throw t.message+=` (in ${e})`,t}}async writeJsonPromise(e,t){return await this.writeFilePromise(e,`${JSON.stringify(t,null,2)}\n`)}writeJsonSync(e,t){return this.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`)}async preserveTimePromise(e,t){const n=await this.lstatPromise(e),i=await t();void 0!==i&&(e=i),this.lutimesPromise?await this.lutimesPromise(e,n.atime,n.mtime):n.isSymbolicLink()||await this.utimesPromise(e,n.atime,n.mtime)}async preserveTimeSync(e,t){const n=this.lstatSync(e),i=t();void 0!==i&&(e=i),this.lutimesSync?this.lutimesSync(e,n.atime,n.mtime):n.isSymbolicLink()||this.utimesSync(e,n.atime,n.mtime)}}function a(e,t){return t.replace(/\r?\n/g,function(e){const t=e.match(/\r?\n/g);if(null===t)return i.EOL;const n=t.filter((e=>"\r\n"===e)).length;return n>t.length-n?"\r\n":"\n"}(e))}t.FakeFS=o,t.BasePortableFakeFS=class extends o{constructor(){super(r.ppath)}},t.normalizeLineEndings=a},9272:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JailFS=void 0;const i=n(8461),s=n(2603),r=n(6809),o=r.PortablePath.root;class a extends s.ProxiedFS{constructor(e,{baseFs:t=new i.NodeFS}={}){super(r.ppath),this.target=this.pathUtils.resolve(r.PortablePath.root,e),this.baseFs=t}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(r.PortablePath.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){const t=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(o,e));if(t.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(o,this.pathUtils.relative(this.target,e))}}t.JailFS=a},4790:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LazyFS=void 0;const i=n(2603);class s extends i.ProxiedFS{constructor(e,t){super(t),this.instance=null,this.factory=e}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(e){this.instance=e}mapFromBase(e){return e}mapToBase(e){return e}}t.LazyFS=s},6538:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NoFS=void 0;const i=n(6314),s=n(6809),r=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"});class o extends i.FakeFS{constructor(){super(s.ppath)}getExtractHint(){throw r()}getRealPath(){throw r()}resolve(){throw r()}async openPromise(){throw r()}openSync(){throw r()}async opendirPromise(){throw r()}opendirSync(){throw r()}async readPromise(){throw r()}readSync(){throw r()}async writePromise(){throw r()}writeSync(){throw r()}async closePromise(){throw r()}closeSync(){throw r()}createWriteStream(){throw r()}createReadStream(){throw r()}async realpathPromise(){throw r()}realpathSync(){throw r()}async readdirPromise(){throw r()}readdirSync(){throw r()}async existsPromise(e){throw r()}existsSync(e){throw r()}async accessPromise(){throw r()}accessSync(){throw r()}async statPromise(){throw r()}statSync(){throw r()}async fstatPromise(e){throw r()}fstatSync(e){throw r()}async lstatPromise(e){throw r()}lstatSync(e){throw r()}async fchmodPromise(){throw r()}fchmodSync(){throw r()}async chmodPromise(){throw r()}chmodSync(){throw r()}async chownPromise(){throw r()}chownSync(){throw r()}async mkdirPromise(){throw r()}mkdirSync(){throw r()}async rmdirPromise(){throw r()}rmdirSync(){throw r()}async linkPromise(){throw r()}linkSync(){throw r()}async symlinkPromise(){throw r()}symlinkSync(){throw r()}async renamePromise(){throw r()}renameSync(){throw r()}async copyFilePromise(){throw r()}copyFileSync(){throw r()}async appendFilePromise(){throw r()}appendFileSync(){throw r()}async writeFilePromise(){throw r()}writeFileSync(){throw r()}async unlinkPromise(){throw r()}unlinkSync(){throw r()}async utimesPromise(){throw r()}utimesSync(){throw r()}async readFilePromise(){throw r()}readFileSync(){throw r()}async readlinkPromise(){throw r()}readlinkSync(){throw r()}async truncatePromise(){throw r()}truncateSync(){throw r()}async ftruncatePromise(e,t){throw r()}ftruncateSync(e,t){throw r()}watch(){throw r()}watchFile(){throw r()}unwatchFile(){throw r()}}t.NoFS=o,o.instance=new o},8461:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeFS=void 0;const i=n(2042).__importDefault(n(7147)),s=n(6314),r=n(9862),o=n(6809);class a extends s.BasePortableFakeFS{constructor(e=i.default){super(),this.realFs=e,void 0!==this.realFs.lutimes&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return o.PortablePath.root}resolve(e){return o.ppath.resolve(e)}async openPromise(e,t,n){return await new Promise(((i,s)=>{this.realFs.open(o.npath.fromPortablePath(e),t,n,this.makeCallback(i,s))}))}openSync(e,t,n){return this.realFs.openSync(o.npath.fromPortablePath(e),t,n)}async opendirPromise(e,t){return await new Promise(((n,i)=>{void 0!==t?this.realFs.opendir(o.npath.fromPortablePath(e),t,this.makeCallback(n,i)):this.realFs.opendir(o.npath.fromPortablePath(e),this.makeCallback(n,i))})).then((t=>Object.defineProperty(t,"path",{value:e,configurable:!0,writable:!0})))}opendirSync(e,t){const n=void 0!==t?this.realFs.opendirSync(o.npath.fromPortablePath(e),t):this.realFs.opendirSync(o.npath.fromPortablePath(e));return Object.defineProperty(n,"path",{value:e,configurable:!0,writable:!0})}async readPromise(e,t,n=0,i=0,s=-1){return await new Promise(((r,o)=>{this.realFs.read(e,t,n,i,s,((e,t)=>{e?o(e):r(t)}))}))}readSync(e,t,n,i,s){return this.realFs.readSync(e,t,n,i,s)}async writePromise(e,t,n,i,s){return await new Promise(((r,o)=>"string"==typeof t?this.realFs.write(e,t,n,this.makeCallback(r,o)):this.realFs.write(e,t,n,i,s,this.makeCallback(r,o))))}writeSync(e,t,n,i,s){return"string"==typeof t?this.realFs.writeSync(e,t,n):this.realFs.writeSync(e,t,n,i,s)}async closePromise(e){await new Promise(((t,n)=>{this.realFs.close(e,this.makeCallback(t,n))}))}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,t){const n=null!==e?o.npath.fromPortablePath(e):e;return this.realFs.createReadStream(n,t)}createWriteStream(e,t){const n=null!==e?o.npath.fromPortablePath(e):e;return this.realFs.createWriteStream(n,t)}async realpathPromise(e){return await new Promise(((t,n)=>{this.realFs.realpath(o.npath.fromPortablePath(e),{},this.makeCallback(t,n))})).then((e=>o.npath.toPortablePath(e)))}realpathSync(e){return o.npath.toPortablePath(this.realFs.realpathSync(o.npath.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise((t=>{this.realFs.exists(o.npath.fromPortablePath(e),t)}))}accessSync(e,t){return this.realFs.accessSync(o.npath.fromPortablePath(e),t)}async accessPromise(e,t){return await new Promise(((n,i)=>{this.realFs.access(o.npath.fromPortablePath(e),t,this.makeCallback(n,i))}))}existsSync(e){return this.realFs.existsSync(o.npath.fromPortablePath(e))}async statPromise(e,t){return await new Promise(((n,i)=>{t?this.realFs.stat(o.npath.fromPortablePath(e),t,this.makeCallback(n,i)):this.realFs.stat(o.npath.fromPortablePath(e),this.makeCallback(n,i))}))}statSync(e,t){return t?this.realFs.statSync(o.npath.fromPortablePath(e),t):this.realFs.statSync(o.npath.fromPortablePath(e))}async fstatPromise(e,t){return await new Promise(((n,i)=>{t?this.realFs.fstat(e,t,this.makeCallback(n,i)):this.realFs.fstat(e,this.makeCallback(n,i))}))}fstatSync(e,t){return t?this.realFs.fstatSync(e,t):this.realFs.fstatSync(e)}async lstatPromise(e,t){return await new Promise(((n,i)=>{t?this.realFs.lstat(o.npath.fromPortablePath(e),t,this.makeCallback(n,i)):this.realFs.lstat(o.npath.fromPortablePath(e),this.makeCallback(n,i))}))}lstatSync(e,t){return t?this.realFs.lstatSync(o.npath.fromPortablePath(e),t):this.realFs.lstatSync(o.npath.fromPortablePath(e))}async fchmodPromise(e,t){return await new Promise(((n,i)=>{this.realFs.fchmod(e,t,this.makeCallback(n,i))}))}fchmodSync(e,t){return this.realFs.fchmodSync(e,t)}async chmodPromise(e,t){return await new Promise(((n,i)=>{this.realFs.chmod(o.npath.fromPortablePath(e),t,this.makeCallback(n,i))}))}chmodSync(e,t){return this.realFs.chmodSync(o.npath.fromPortablePath(e),t)}async chownPromise(e,t,n){return await new Promise(((i,s)=>{this.realFs.chown(o.npath.fromPortablePath(e),t,n,this.makeCallback(i,s))}))}chownSync(e,t,n){return this.realFs.chownSync(o.npath.fromPortablePath(e),t,n)}async renamePromise(e,t){return await new Promise(((n,i)=>{this.realFs.rename(o.npath.fromPortablePath(e),o.npath.fromPortablePath(t),this.makeCallback(n,i))}))}renameSync(e,t){return this.realFs.renameSync(o.npath.fromPortablePath(e),o.npath.fromPortablePath(t))}async copyFilePromise(e,t,n=0){return await new Promise(((i,s)=>{this.realFs.copyFile(o.npath.fromPortablePath(e),o.npath.fromPortablePath(t),n,this.makeCallback(i,s))}))}copyFileSync(e,t,n=0){return this.realFs.copyFileSync(o.npath.fromPortablePath(e),o.npath.fromPortablePath(t),n)}async appendFilePromise(e,t,n){return await new Promise(((i,s)=>{const r="string"==typeof e?o.npath.fromPortablePath(e):e;n?this.realFs.appendFile(r,t,n,this.makeCallback(i,s)):this.realFs.appendFile(r,t,this.makeCallback(i,s))}))}appendFileSync(e,t,n){const i="string"==typeof e?o.npath.fromPortablePath(e):e;n?this.realFs.appendFileSync(i,t,n):this.realFs.appendFileSync(i,t)}async writeFilePromise(e,t,n){return await new Promise(((i,s)=>{const r="string"==typeof e?o.npath.fromPortablePath(e):e;n?this.realFs.writeFile(r,t,n,this.makeCallback(i,s)):this.realFs.writeFile(r,t,this.makeCallback(i,s))}))}writeFileSync(e,t,n){const i="string"==typeof e?o.npath.fromPortablePath(e):e;n?this.realFs.writeFileSync(i,t,n):this.realFs.writeFileSync(i,t)}async unlinkPromise(e){return await new Promise(((t,n)=>{this.realFs.unlink(o.npath.fromPortablePath(e),this.makeCallback(t,n))}))}unlinkSync(e){return this.realFs.unlinkSync(o.npath.fromPortablePath(e))}async utimesPromise(e,t,n){return await new Promise(((i,s)=>{this.realFs.utimes(o.npath.fromPortablePath(e),t,n,this.makeCallback(i,s))}))}utimesSync(e,t,n){this.realFs.utimesSync(o.npath.fromPortablePath(e),t,n)}async lutimesPromiseImpl(e,t,n){const i=this.realFs.lutimes;if(void 0===i)throw(0,r.ENOSYS)("unavailable Node binding",`lutimes '${e}'`);return await new Promise(((s,r)=>{i.call(this.realFs,o.npath.fromPortablePath(e),t,n,this.makeCallback(s,r))}))}lutimesSyncImpl(e,t,n){const i=this.realFs.lutimesSync;if(void 0===i)throw(0,r.ENOSYS)("unavailable Node binding",`lutimes '${e}'`);i.call(this.realFs,o.npath.fromPortablePath(e),t,n)}async mkdirPromise(e,t){return await new Promise(((n,i)=>{this.realFs.mkdir(o.npath.fromPortablePath(e),t,this.makeCallback(n,i))}))}mkdirSync(e,t){return this.realFs.mkdirSync(o.npath.fromPortablePath(e),t)}async rmdirPromise(e,t){return await new Promise(((n,i)=>{t?this.realFs.rmdir(o.npath.fromPortablePath(e),t,this.makeCallback(n,i)):this.realFs.rmdir(o.npath.fromPortablePath(e),this.makeCallback(n,i))}))}rmdirSync(e,t){return this.realFs.rmdirSync(o.npath.fromPortablePath(e),t)}async linkPromise(e,t){return await new Promise(((n,i)=>{this.realFs.link(o.npath.fromPortablePath(e),o.npath.fromPortablePath(t),this.makeCallback(n,i))}))}linkSync(e,t){return this.realFs.linkSync(o.npath.fromPortablePath(e),o.npath.fromPortablePath(t))}async symlinkPromise(e,t,n){return await new Promise(((i,s)=>{this.realFs.symlink(o.npath.fromPortablePath(e.replace(/\/+$/,"")),o.npath.fromPortablePath(t),n,this.makeCallback(i,s))}))}symlinkSync(e,t,n){return this.realFs.symlinkSync(o.npath.fromPortablePath(e.replace(/\/+$/,"")),o.npath.fromPortablePath(t),n)}async readFilePromise(e,t){return await new Promise(((n,i)=>{const s="string"==typeof e?o.npath.fromPortablePath(e):e;this.realFs.readFile(s,t,this.makeCallback(n,i))}))}readFileSync(e,t){const n="string"==typeof e?o.npath.fromPortablePath(e):e;return this.realFs.readFileSync(n,t)}async readdirPromise(e,t){return await new Promise(((n,i)=>{(null==t?void 0:t.withFileTypes)?this.realFs.readdir(o.npath.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(n,i)):this.realFs.readdir(o.npath.fromPortablePath(e),this.makeCallback((e=>n(e)),i))}))}readdirSync(e,t){return(null==t?void 0:t.withFileTypes)?this.realFs.readdirSync(o.npath.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(o.npath.fromPortablePath(e))}async readlinkPromise(e){return await new Promise(((t,n)=>{this.realFs.readlink(o.npath.fromPortablePath(e),this.makeCallback(t,n))})).then((e=>o.npath.toPortablePath(e)))}readlinkSync(e){return o.npath.toPortablePath(this.realFs.readlinkSync(o.npath.fromPortablePath(e)))}async truncatePromise(e,t){return await new Promise(((n,i)=>{this.realFs.truncate(o.npath.fromPortablePath(e),t,this.makeCallback(n,i))}))}truncateSync(e,t){return this.realFs.truncateSync(o.npath.fromPortablePath(e),t)}async ftruncatePromise(e,t){return await new Promise(((n,i)=>{this.realFs.ftruncate(e,t,this.makeCallback(n,i))}))}ftruncateSync(e,t){return this.realFs.ftruncateSync(e,t)}watch(e,t,n){return this.realFs.watch(o.npath.fromPortablePath(e),t,n)}watchFile(e,t,n){return this.realFs.watchFile(o.npath.fromPortablePath(e),t,n)}unwatchFile(e,t){return this.realFs.unwatchFile(o.npath.fromPortablePath(e),t)}makeCallback(e,t){return(n,i)=>{n?t(n):e(i)}}}t.NodeFS=a},2224:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PosixFS=void 0;const i=n(2603),s=n(6809);class r extends i.ProxiedFS{constructor(e){super(s.npath),this.baseFs=e}mapFromBase(e){return s.npath.fromPortablePath(e)}mapToBase(e){return s.npath.toPortablePath(e)}}t.PosixFS=r},2603:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProxiedFS=void 0;const i=n(6314);class s extends i.FakeFS{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,t,n){return this.baseFs.openPromise(this.mapToBase(e),t,n)}openSync(e,t,n){return this.baseFs.openSync(this.mapToBase(e),t,n)}async opendirPromise(e,t){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),t),{path:e})}opendirSync(e,t){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),t),{path:e})}async readPromise(e,t,n,i,s){return await this.baseFs.readPromise(e,t,n,i,s)}readSync(e,t,n,i,s){return this.baseFs.readSync(e,t,n,i,s)}async writePromise(e,t,n,i,s){return"string"==typeof t?await this.baseFs.writePromise(e,t,n):await this.baseFs.writePromise(e,t,n,i,s)}writeSync(e,t,n,i,s){return"string"==typeof t?this.baseFs.writeSync(e,t,n):this.baseFs.writeSync(e,t,n,i,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,t){return this.baseFs.createReadStream(null!==e?this.mapToBase(e):e,t)}createWriteStream(e,t){return this.baseFs.createWriteStream(null!==e?this.mapToBase(e):e,t)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,t){return this.baseFs.accessSync(this.mapToBase(e),t)}async accessPromise(e,t){return this.baseFs.accessPromise(this.mapToBase(e),t)}async statPromise(e,t){return this.baseFs.statPromise(this.mapToBase(e),t)}statSync(e,t){return this.baseFs.statSync(this.mapToBase(e),t)}async fstatPromise(e,t){return this.baseFs.fstatPromise(e,t)}fstatSync(e,t){return this.baseFs.fstatSync(e,t)}lstatPromise(e,t){return this.baseFs.lstatPromise(this.mapToBase(e),t)}lstatSync(e,t){return this.baseFs.lstatSync(this.mapToBase(e),t)}async fchmodPromise(e,t){return this.baseFs.fchmodPromise(e,t)}fchmodSync(e,t){return this.baseFs.fchmodSync(e,t)}async chmodPromise(e,t){return this.baseFs.chmodPromise(this.mapToBase(e),t)}chmodSync(e,t){return this.baseFs.chmodSync(this.mapToBase(e),t)}async chownPromise(e,t,n){return this.baseFs.chownPromise(this.mapToBase(e),t,n)}chownSync(e,t,n){return this.baseFs.chownSync(this.mapToBase(e),t,n)}async renamePromise(e,t){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(t))}renameSync(e,t){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(t))}async copyFilePromise(e,t,n=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(t),n)}copyFileSync(e,t,n=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(t),n)}async appendFilePromise(e,t,n){return this.baseFs.appendFilePromise(this.fsMapToBase(e),t,n)}appendFileSync(e,t,n){return this.baseFs.appendFileSync(this.fsMapToBase(e),t,n)}async writeFilePromise(e,t,n){return this.baseFs.writeFilePromise(this.fsMapToBase(e),t,n)}writeFileSync(e,t,n){return this.baseFs.writeFileSync(this.fsMapToBase(e),t,n)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,t,n){return this.baseFs.utimesPromise(this.mapToBase(e),t,n)}utimesSync(e,t,n){return this.baseFs.utimesSync(this.mapToBase(e),t,n)}async mkdirPromise(e,t){return this.baseFs.mkdirPromise(this.mapToBase(e),t)}mkdirSync(e,t){return this.baseFs.mkdirSync(this.mapToBase(e),t)}async rmdirPromise(e,t){return this.baseFs.rmdirPromise(this.mapToBase(e),t)}rmdirSync(e,t){return this.baseFs.rmdirSync(this.mapToBase(e),t)}async linkPromise(e,t){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(t))}linkSync(e,t){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(t))}async symlinkPromise(e,t,n){const i=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),i,n);const s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),r=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(i),s);return this.baseFs.symlinkPromise(r,i,n)}symlinkSync(e,t,n){const i=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),i,n);const s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),r=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(i),s);return this.baseFs.symlinkSync(r,i,n)}async readFilePromise(e,t){return this.baseFs.readFilePromise(this.fsMapToBase(e),t)}readFileSync(e,t){return this.baseFs.readFileSync(this.fsMapToBase(e),t)}async readdirPromise(e,t){return this.baseFs.readdirPromise(this.mapToBase(e),t)}readdirSync(e,t){return this.baseFs.readdirSync(this.mapToBase(e),t)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,t){return this.baseFs.truncatePromise(this.mapToBase(e),t)}truncateSync(e,t){return this.baseFs.truncateSync(this.mapToBase(e),t)}async ftruncatePromise(e,t){return this.baseFs.ftruncatePromise(e,t)}ftruncateSync(e,t){return this.baseFs.ftruncateSync(e,t)}watch(e,t,n){return this.baseFs.watch(this.mapToBase(e),t,n)}watchFile(e,t,n){return this.baseFs.watchFile(this.mapToBase(e),t,n)}unwatchFile(e,t){return this.baseFs.unwatchFile(this.mapToBase(e),t)}fsMapToBase(e){return"number"==typeof e?e:this.mapToBase(e)}}t.ProxiedFS=s},4268:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URLFS=void 0;const i=n(7310),s=n(2603),r=n(6809);class o extends s.ProxiedFS{constructor(e){super(r.npath),this.baseFs=e}mapFromBase(e){return e}mapToBase(e){return e instanceof i.URL?(0,i.fileURLToPath)(e):e}}t.URLFS=o},155:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VirtualFS=void 0;const i=n(8461),s=n(2603),r=n(6809),o=/^[0-9]+$/,a=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,A=/^([^/]+-)?[a-f0-9]+$/;class l extends s.ProxiedFS{constructor({baseFs:e=new i.NodeFS}={}){super(r.ppath),this.baseFs=e}static makeVirtualPath(e,t,n){if("__virtual__"!==r.ppath.basename(e))throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!r.ppath.basename(t).match(A))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");const i=r.ppath.relative(r.ppath.dirname(e),n).split("/");let s=0;for(;s{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ZipFS=t.makeEmptyArchive=t.DEFAULT_COMPRESSION_LEVEL=void 0;const i=n(2042),s=n(7147),r=n(2781),o=n(3837),a=i.__importDefault(n(9796)),A=n(6314),l=n(8461),c=n(2216),p=n(7279),g=n(9910),u=i.__importStar(n(9862)),d=n(6809),h=i.__importStar(n(9603));function C(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}t.DEFAULT_COMPRESSION_LEVEL="mixed",t.makeEmptyArchive=C;class m extends A.BasePortableFakeFS{constructor(e,n){super(),this.lzSource=null,this.listings=new Map,this.entries=new Map,this.fileSources=new Map,this.fds=new Map,this.nextFd=0,this.ready=!1,this.readOnly=!1,this.libzip=n.libzip;const i=n;if(this.level=void 0!==i.level?i.level:t.DEFAULT_COMPRESSION_LEVEL,null!=e||(e=C()),"string"==typeof e){const{baseFs:t=new l.NodeFS}=i;this.baseFs=t,this.path=e}else this.path=null,this.baseFs=null;if(n.stats)this.stats=n.stats;else if("string"==typeof e)try{this.stats=this.baseFs.statSync(e)}catch(e){if("ENOENT"!==e.code||!i.create)throw e;this.stats=h.makeDefaultStats()}else this.stats=h.makeDefaultStats();const s=this.libzip.malloc(4);try{let t=0;if("string"==typeof e&&i.create&&(t|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),n.readOnly&&(t|=this.libzip.ZIP_RDONLY,this.readOnly=!0),"string"==typeof e)this.zip=this.libzip.open(d.npath.fromPortablePath(e),t,s);else{const n=this.allocateUnattachedSource(e);try{this.zip=this.libzip.openFromSource(n,t,s),this.lzSource=n}catch(e){throw this.libzip.source.free(n),e}}if(0===this.zip){const e=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(e,this.libzip.getValue(s,"i32")),this.makeLibzipError(e)}}finally{this.libzip.free(s)}this.listings.set(d.PortablePath.root,new Set);const r=this.libzip.getNumEntries(this.zip,0);for(let e=0;ee)throw new Error("Overread");const i=this.libzip.HEAPU8.subarray(t,t+e);return Buffer.from(i)}finally{this.libzip.free(t)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw u.EBUSY("archive closed, close");(0,p.unwatchAllFiles)(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly)return void this.discardAndClose();const e=this.baseFs.existsSync(this.path)||this.stats.mode===h.DEFAULT_MODE?void 0:this.stats.mode;if(0===this.entries.size)this.discardAndClose(),this.baseFs.writeFileSync(this.path,C(),{mode:e});else{if(-1===this.libzip.close(this.zip))throw this.makeLibzipError(this.libzip.getError(this.zip));void 0!==e&&this.baseFs.chmodSync(this.path,e)}this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(e){return d.ppath.resolve(d.PortablePath.root,e)}async openPromise(e,t,n){return this.openSync(e,t,n)}openSync(e,t,n){const i=this.nextFd++;return this.fds.set(i,{cursor:0,p:e}),i}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(e,t){return this.opendirSync(e,t)}opendirSync(e,t={}){const n=this.resolveFilename(`opendir '${e}'`,e);if(!this.entries.has(n)&&!this.listings.has(n))throw u.ENOENT(`opendir '${e}'`);const i=this.listings.get(n);if(!i)throw u.ENOTDIR(`opendir '${e}'`);const s=[...i],r=this.openSync(n,"r");return(0,c.opendir)(this,n,s,{onClose:()=>{this.closeSync(r)}})}async readPromise(e,t,n,i,s){return this.readSync(e,t,n,i,s)}readSync(e,t,n=0,i=t.byteLength,s=-1){const r=this.fds.get(e);if(void 0===r)throw u.EBADF("read");const o=-1===s||null===s?r.cursor:s,a=this.readFileSync(r.p);a.copy(t,n,o,o+i);const A=Math.max(0,Math.min(a.length-o,i));return-1!==s&&null!==s||(r.cursor+=A),A}async writePromise(e,t,n,i,s){return"string"==typeof t?this.writeSync(e,t,s):this.writeSync(e,t,n,i,s)}writeSync(e,t,n,i,s){if(void 0===this.fds.get(e))throw u.EBADF("read");throw new Error("Unimplemented")}async closePromise(e){return this.closeSync(e)}closeSync(e){if(void 0===this.fds.get(e))throw u.EBADF("read");this.fds.delete(e)}createReadStream(e,{encoding:t}={}){if(null===e)throw new Error("Unimplemented");const n=this.openSync(e,"r"),i=Object.assign(new r.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(e,t)=>{clearImmediate(s),this.closeSync(n),t(e)}}),{close(){i.destroy()},bytesRead:0,path:e}),s=setImmediate((async()=>{try{const n=await this.readFilePromise(e,t);i.bytesRead=n.length,i.end(n)}catch(e){i.destroy(e)}}));return i}createWriteStream(e,{encoding:t}={}){if(this.readOnly)throw u.EROFS(`open '${e}'`);if(null===e)throw new Error("Unimplemented");const n=[],i=this.openSync(e,"w"),s=Object.assign(new r.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(s,r)=>{try{s?r(s):(this.writeFileSync(e,Buffer.concat(n),t),r(null))}catch(e){r(e)}finally{this.closeSync(i)}}}),{bytesWritten:0,path:e,close(){s.destroy()}});return s.on("data",(e=>{const t=Buffer.from(e);s.bytesWritten+=t.length,n.push(t)})),s}async realpathPromise(e){return this.realpathSync(e)}realpathSync(e){const t=this.resolveFilename(`lstat '${e}'`,e);if(!this.entries.has(t)&&!this.listings.has(t))throw u.ENOENT(`lstat '${e}'`);return t}async existsPromise(e){return this.existsSync(e)}existsSync(e){if(!this.ready)throw u.EBUSY(`archive closed, existsSync '${e}'`);if(0===this.symlinkCount){const t=d.ppath.resolve(d.PortablePath.root,e);return this.entries.has(t)||this.listings.has(t)}let t;try{t=this.resolveFilename(`stat '${e}'`,e,void 0,!1)}catch(e){return!1}return void 0!==t&&(this.entries.has(t)||this.listings.has(t))}async accessPromise(e,t){return this.accessSync(e,t)}accessSync(e,t=s.constants.F_OK){const n=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(n)&&!this.listings.has(n))throw u.ENOENT(`access '${e}'`);if(this.readOnly&&t&s.constants.W_OK)throw u.EROFS(`access '${e}'`)}async statPromise(e,t={bigint:!1}){return t.bigint?this.statSync(e,{bigint:!0}):this.statSync(e)}statSync(e,t={bigint:!1,throwIfNoEntry:!0}){const n=this.resolveFilename(`stat '${e}'`,e,void 0,t.throwIfNoEntry);if(void 0!==n){if(!this.entries.has(n)&&!this.listings.has(n)){if(!1===t.throwIfNoEntry)return;throw u.ENOENT(`stat '${e}'`)}if("/"===e[e.length-1]&&!this.listings.has(n))throw u.ENOTDIR(`stat '${e}'`);return this.statImpl(`stat '${e}'`,n,t)}}async fstatPromise(e,t){return this.fstatSync(e,t)}fstatSync(e,t){const n=this.fds.get(e);if(void 0===n)throw u.EBADF("fstatSync");const{p:i}=n,s=this.resolveFilename(`stat '${i}'`,i);if(!this.entries.has(s)&&!this.listings.has(s))throw u.ENOENT(`stat '${i}'`);if("/"===i[i.length-1]&&!this.listings.has(s))throw u.ENOTDIR(`stat '${i}'`);return this.statImpl(`fstat '${i}'`,s,t)}async lstatPromise(e,t={bigint:!1}){return t.bigint?this.lstatSync(e,{bigint:!0}):this.lstatSync(e)}lstatSync(e,t={bigint:!1,throwIfNoEntry:!0}){const n=this.resolveFilename(`lstat '${e}'`,e,!1,t.throwIfNoEntry);if(void 0!==n){if(!this.entries.has(n)&&!this.listings.has(n)){if(!1===t.throwIfNoEntry)return;throw u.ENOENT(`lstat '${e}'`)}if("/"===e[e.length-1]&&!this.listings.has(n))throw u.ENOTDIR(`lstat '${e}'`);return this.statImpl(`lstat '${e}'`,n,t)}}statImpl(e,t,n={}){const i=this.entries.get(t);if(void 0!==i){const e=this.libzip.struct.statS();if(-1===this.libzip.statIndex(this.zip,i,0,0,e))throw this.makeLibzipError(this.libzip.getError(this.zip));const s=this.stats.uid,r=this.stats.gid,o=this.libzip.struct.statSize(e)>>>0,a=512,A=Math.ceil(o/a),l=1e3*(this.libzip.struct.statMtime(e)>>>0),c=l,p=l,u=l,d=new Date(c),C=new Date(p),m=new Date(u),y=new Date(l),f=this.listings.has(t)?g.S_IFDIR:this.isSymbolicLink(i)?g.S_IFLNK:g.S_IFREG,I=f===g.S_IFDIR?493:420,E=f|511&this.getUnixMode(i,I),T=this.libzip.struct.statCrc(e),B=Object.assign(new h.StatEntry,{uid:s,gid:r,size:o,blksize:a,blocks:A,atime:d,birthtime:C,ctime:m,mtime:y,atimeMs:c,birthtimeMs:p,ctimeMs:u,mtimeMs:l,mode:E,crc:T});return!0===n.bigint?h.convertToBigIntStats(B):B}if(this.listings.has(t)){const e=this.stats.uid,t=this.stats.gid,i=0,s=512,r=0,o=this.stats.mtimeMs,a=this.stats.mtimeMs,A=this.stats.mtimeMs,l=this.stats.mtimeMs,c=new Date(o),p=new Date(a),u=new Date(A),d=new Date(l),C=493|g.S_IFDIR,m=0,y=Object.assign(new h.StatEntry,{uid:e,gid:t,size:i,blksize:s,blocks:r,atime:c,birthtime:p,ctime:u,mtime:d,atimeMs:o,birthtimeMs:a,ctimeMs:A,mtimeMs:l,mode:C,crc:m});return!0===n.bigint?h.convertToBigIntStats(y):y}throw new Error("Unreachable")}getUnixMode(e,t){if(-1===this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S))throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?t:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(e){const t=this.listings.get(e);if(t)return t;this.registerListing(d.ppath.dirname(e)).add(d.ppath.basename(e));const n=new Set;return this.listings.set(e,n),n}registerEntry(e,t){this.registerListing(d.ppath.dirname(e)).add(d.ppath.basename(e)),this.entries.set(e,t)}unregisterListing(e){this.listings.delete(e);const t=this.listings.get(d.ppath.dirname(e));null==t||t.delete(d.ppath.basename(e))}unregisterEntry(e){this.unregisterListing(e);const t=this.entries.get(e);this.entries.delete(e),void 0!==t&&(this.fileSources.delete(t),this.isSymbolicLink(t)&&this.symlinkCount--)}deleteEntry(e,t){if(this.unregisterEntry(e),-1===this.libzip.delete(this.zip,t))throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(e,t,n=!0,i=!0){if(!this.ready)throw u.EBUSY(`archive closed, ${e}`);let s=d.ppath.resolve(d.PortablePath.root,t);if("/"===s)return d.PortablePath.root;const r=this.entries.get(s);if(n&&void 0!==r){if(0!==this.symlinkCount&&this.isSymbolicLink(r)){const t=this.getFileSource(r).toString();return this.resolveFilename(e,d.ppath.resolve(d.ppath.dirname(s),t),!0,i)}return s}for(;;){const t=this.resolveFilename(e,d.ppath.dirname(s),!0,i);if(void 0===t)return t;const r=this.listings.has(t),o=this.entries.has(t);if(!r&&!o){if(!1===i)return;throw u.ENOENT(e)}if(!r)throw u.ENOTDIR(e);if(s=d.ppath.resolve(t,d.ppath.basename(s)),!n||0===this.symlinkCount)break;const a=this.libzip.name.locate(this.zip,s.slice(1));if(-1===a)break;if(!this.isSymbolicLink(a))break;{const e=this.getFileSource(a).toString();s=d.ppath.resolve(d.ppath.dirname(s),e)}}return s}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));const t=this.libzip.malloc(e.byteLength);if(!t)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,t,e.byteLength).set(e),{buffer:t,byteLength:e.byteLength}}allocateUnattachedSource(e){const t=this.libzip.struct.errorS(),{buffer:n,byteLength:i}=this.allocateBuffer(e),s=this.libzip.source.fromUnattachedBuffer(n,i,0,!0,t);if(0===s)throw this.libzip.free(t),this.makeLibzipError(t);return s}allocateSource(e){const{buffer:t,byteLength:n}=this.allocateBuffer(e),i=this.libzip.source.fromBuffer(this.zip,t,n,0,!0);if(0===i)throw this.libzip.free(t),this.makeLibzipError(this.libzip.getError(this.zip));return i}setFileSource(e,t){const n=Buffer.isBuffer(t)?t:Buffer.from(t),i=d.ppath.relative(d.PortablePath.root,e),s=this.allocateSource(t);try{const e=this.libzip.file.add(this.zip,i,s,this.libzip.ZIP_FL_OVERWRITE);if(-1===e)throw this.makeLibzipError(this.libzip.getError(this.zip));if("mixed"!==this.level){const t=0===this.level?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(-1===this.libzip.file.setCompression(this.zip,e,0,t,this.level))throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(e,n),e}catch(e){throw this.libzip.source.free(s),e}}isSymbolicLink(e){if(0===this.symlinkCount)return!1;if(-1===this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S))throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0===this.libzip.ZIP_OPSYS_UNIX&&(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&g.S_IFMT)===g.S_IFLNK}getFileSource(e,t={asyncDecompress:!1}){const n=this.fileSources.get(e);if(void 0!==n)return n;const i=this.libzip.struct.statS();if(-1===this.libzip.statIndex(this.zip,e,0,0,i))throw this.makeLibzipError(this.libzip.getError(this.zip));const s=this.libzip.struct.statCompSize(i),r=this.libzip.struct.statCompMethod(i),o=this.libzip.malloc(s);try{const n=this.libzip.fopenIndex(this.zip,e,0,this.libzip.ZIP_FL_COMPRESSED);if(0===n)throw this.makeLibzipError(this.libzip.getError(this.zip));try{const i=this.libzip.fread(n,o,s,0);if(-1===i)throw this.makeLibzipError(this.libzip.file.getError(n));if(is)throw new Error("Overread");const A=this.libzip.HEAPU8.subarray(o,o+s),l=Buffer.from(A);if(0===r)return this.fileSources.set(e,l),l;if(t.asyncDecompress)return new Promise(((t,n)=>{a.default.inflateRaw(l,((i,s)=>{i?n(i):(this.fileSources.set(e,s),t(s))}))}));{const t=a.default.inflateRawSync(l);return this.fileSources.set(e,t),t}}finally{this.libzip.fclose(n)}}finally{this.libzip.free(o)}}async fchmodPromise(e,t){return this.chmodPromise(this.fdToPath(e,"fchmod"),t)}fchmodSync(e,t){return this.chmodSync(this.fdToPath(e,"fchmodSync"),t)}async chmodPromise(e,t){return this.chmodSync(e,t)}chmodSync(e,t){if(this.readOnly)throw u.EROFS(`chmod '${e}'`);t&=493;const n=this.resolveFilename(`chmod '${e}'`,e,!1),i=this.entries.get(n);if(void 0===i)throw new Error(`Assertion failed: The entry should have been registered (${n})`);const s=-512&this.getUnixMode(i,0|g.S_IFREG)|t;if(-1===this.libzip.file.setExternalAttributes(this.zip,i,0,0,this.libzip.ZIP_OPSYS_UNIX,s<<16))throw this.makeLibzipError(this.libzip.getError(this.zip))}async chownPromise(e,t,n){return this.chownSync(e,t,n)}chownSync(e,t,n){throw new Error("Unimplemented")}async renamePromise(e,t){return this.renameSync(e,t)}renameSync(e,t){throw new Error("Unimplemented")}async copyFilePromise(e,t,n){const{indexSource:i,indexDest:s,resolvedDestP:r}=this.prepareCopyFile(e,t,n),o=await this.getFileSource(i,{asyncDecompress:!0}),a=this.setFileSource(r,o);a!==s&&this.registerEntry(r,a)}copyFileSync(e,t,n=0){const{indexSource:i,indexDest:s,resolvedDestP:r}=this.prepareCopyFile(e,t,n),o=this.getFileSource(i),a=this.setFileSource(r,o);a!==s&&this.registerEntry(r,a)}prepareCopyFile(e,t,n=0){if(this.readOnly)throw u.EROFS(`copyfile '${e} -> '${t}'`);if(0!=(n&s.constants.COPYFILE_FICLONE_FORCE))throw u.ENOSYS("unsupported clone operation",`copyfile '${e}' -> ${t}'`);const i=this.resolveFilename(`copyfile '${e} -> ${t}'`,e),r=this.entries.get(i);if(void 0===r)throw u.EINVAL(`copyfile '${e}' -> '${t}'`);const o=this.resolveFilename(`copyfile '${e}' -> ${t}'`,t),a=this.entries.get(o);if(0!=(n&(s.constants.COPYFILE_EXCL|s.constants.COPYFILE_FICLONE_FORCE))&&void 0!==a)throw u.EEXIST(`copyfile '${e}' -> '${t}'`);return{indexSource:r,resolvedDestP:o,indexDest:a}}async appendFilePromise(e,t,n){if(this.readOnly)throw u.EROFS(`open '${e}'`);return void 0===n?n={flag:"a"}:"string"==typeof n?n={flag:"a",encoding:n}:void 0===n.flag&&(n={flag:"a",...n}),this.writeFilePromise(e,t,n)}appendFileSync(e,t,n={}){if(this.readOnly)throw u.EROFS(`open '${e}'`);return void 0===n?n={flag:"a"}:"string"==typeof n?n={flag:"a",encoding:n}:void 0===n.flag&&(n={flag:"a",...n}),this.writeFileSync(e,t,n)}fdToPath(e,t){var n;const i=null===(n=this.fds.get(e))||void 0===n?void 0:n.p;if(void 0===i)throw u.EBADF(t);return i}async writeFilePromise(e,t,n){const{encoding:i,mode:s,index:r,resolvedP:o}=this.prepareWriteFile(e,n);void 0!==r&&"object"==typeof n&&n.flag&&n.flag.includes("a")&&(t=Buffer.concat([await this.getFileSource(r,{asyncDecompress:!0}),Buffer.from(t)])),null!==i&&(t=t.toString(i));const a=this.setFileSource(o,t);a!==r&&this.registerEntry(o,a),null!==s&&await this.chmodPromise(o,s)}writeFileSync(e,t,n){const{encoding:i,mode:s,index:r,resolvedP:o}=this.prepareWriteFile(e,n);void 0!==r&&"object"==typeof n&&n.flag&&n.flag.includes("a")&&(t=Buffer.concat([this.getFileSource(r),Buffer.from(t)])),null!==i&&(t=t.toString(i));const a=this.setFileSource(o,t);a!==r&&this.registerEntry(o,a),null!==s&&this.chmodSync(o,s)}prepareWriteFile(e,t){if("number"==typeof e&&(e=this.fdToPath(e,"read")),this.readOnly)throw u.EROFS(`open '${e}'`);const n=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(n))throw u.EISDIR(`open '${e}'`);let i=null,s=null;return"string"==typeof t?i=t:"object"==typeof t&&({encoding:i=null,mode:s=null}=t),{encoding:i,mode:s,resolvedP:n,index:this.entries.get(n)}}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){if(this.readOnly)throw u.EROFS(`unlink '${e}'`);const t=this.resolveFilename(`unlink '${e}'`,e);if(this.listings.has(t))throw u.EISDIR(`unlink '${e}'`);const n=this.entries.get(t);if(void 0===n)throw u.EINVAL(`unlink '${e}'`);this.deleteEntry(t,n)}async utimesPromise(e,t,n){return this.utimesSync(e,t,n)}utimesSync(e,t,n){if(this.readOnly)throw u.EROFS(`utimes '${e}'`);const i=this.resolveFilename(`utimes '${e}'`,e);this.utimesImpl(i,n)}async lutimesPromise(e,t,n){return this.lutimesSync(e,t,n)}lutimesSync(e,t,n){if(this.readOnly)throw u.EROFS(`lutimes '${e}'`);const i=this.resolveFilename(`utimes '${e}'`,e,!1);this.utimesImpl(i,n)}utimesImpl(e,t){this.listings.has(e)&&(this.entries.has(e)||this.hydrateDirectory(e));const n=this.entries.get(e);if(void 0===n)throw new Error("Unreachable");if(-1===this.libzip.file.setMtime(this.zip,n,0,function(e){if("string"==typeof e&&String(+e)===e)return+e;if(Number.isFinite(e))return e<0?Date.now()/1e3:e;if(o.types.isDate(e))return e.getTime()/1e3;throw new Error("Invalid time")}(t),0))throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(e,t){return this.mkdirSync(e,t)}mkdirSync(e,{mode:t=493,recursive:n=!1}={}){if(n)return this.mkdirpSync(e,{chmod:t});if(this.readOnly)throw u.EROFS(`mkdir '${e}'`);const i=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(i)||this.listings.has(i))throw u.EEXIST(`mkdir '${e}'`);this.hydrateDirectory(i),this.chmodSync(i,t)}async rmdirPromise(e,t){return this.rmdirSync(e,t)}rmdirSync(e,{recursive:t=!1}={}){if(this.readOnly)throw u.EROFS(`rmdir '${e}'`);if(t)return void this.removeSync(e);const n=this.resolveFilename(`rmdir '${e}'`,e),i=this.listings.get(n);if(!i)throw u.ENOTDIR(`rmdir '${e}'`);if(i.size>0)throw u.ENOTEMPTY(`rmdir '${e}'`);const s=this.entries.get(n);if(void 0===s)throw u.EINVAL(`rmdir '${e}'`);this.deleteEntry(e,s)}hydrateDirectory(e){const t=this.libzip.dir.add(this.zip,d.ppath.relative(d.PortablePath.root,e));if(-1===t)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(e),this.registerEntry(e,t),t}async linkPromise(e,t){return this.linkSync(e,t)}linkSync(e,t){throw u.EOPNOTSUPP(`link '${e}' -> '${t}'`)}async symlinkPromise(e,t){return this.symlinkSync(e,t)}symlinkSync(e,t){if(this.readOnly)throw u.EROFS(`symlink '${e}' -> '${t}'`);const n=this.resolveFilename(`symlink '${e}' -> '${t}'`,t);if(this.listings.has(n))throw u.EISDIR(`symlink '${e}' -> '${t}'`);if(this.entries.has(n))throw u.EEXIST(`symlink '${e}' -> '${t}'`);const i=this.setFileSource(n,e);if(this.registerEntry(n,i),-1===this.libzip.file.setExternalAttributes(this.zip,i,0,0,this.libzip.ZIP_OPSYS_UNIX,(511|g.S_IFLNK)<<16))throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(e,t){"object"==typeof t&&(t=t?t.encoding:void 0);const n=await this.readFileBuffer(e,{asyncDecompress:!0});return t?n.toString(t):n}readFileSync(e,t){"object"==typeof t&&(t=t?t.encoding:void 0);const n=this.readFileBuffer(e);return t?n.toString(t):n}readFileBuffer(e,t={asyncDecompress:!1}){"number"==typeof e&&(e=this.fdToPath(e,"read"));const n=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(n)&&!this.listings.has(n))throw u.ENOENT(`open '${e}'`);if("/"===e[e.length-1]&&!this.listings.has(n))throw u.ENOTDIR(`open '${e}'`);if(this.listings.has(n))throw u.EISDIR("read");const i=this.entries.get(n);if(void 0===i)throw new Error("Unreachable");return this.getFileSource(i,t)}async readdirPromise(e,t){return this.readdirSync(e,t)}readdirSync(e,t){const n=this.resolveFilename(`scandir '${e}'`,e);if(!this.entries.has(n)&&!this.listings.has(n))throw u.ENOENT(`scandir '${e}'`);const i=this.listings.get(n);if(!i)throw u.ENOTDIR(`scandir '${e}'`);const s=[...i];return(null==t?void 0:t.withFileTypes)?s.map((t=>Object.assign(this.statImpl("lstat",d.ppath.join(e,t)),{name:t}))):s}async readlinkPromise(e){const t=this.prepareReadlink(e);return(await this.getFileSource(t,{asyncDecompress:!0})).toString()}readlinkSync(e){const t=this.prepareReadlink(e);return this.getFileSource(t).toString()}prepareReadlink(e){const t=this.resolveFilename(`readlink '${e}'`,e,!1);if(!this.entries.has(t)&&!this.listings.has(t))throw u.ENOENT(`readlink '${e}'`);if("/"===e[e.length-1]&&!this.listings.has(t))throw u.ENOTDIR(`open '${e}'`);if(this.listings.has(t))throw u.EINVAL(`readlink '${e}'`);const n=this.entries.get(t);if(void 0===n)throw new Error("Unreachable");if(!this.isSymbolicLink(n))throw u.EINVAL(`readlink '${e}'`);return n}async truncatePromise(e,t=0){const n=this.resolveFilename(`open '${e}'`,e),i=this.entries.get(n);if(void 0===i)throw u.EINVAL(`open '${e}'`);const s=await this.getFileSource(i,{asyncDecompress:!0}),r=Buffer.alloc(t,0);return s.copy(r),await this.writeFilePromise(e,r)}truncateSync(e,t=0){const n=this.resolveFilename(`open '${e}'`,e),i=this.entries.get(n);if(void 0===i)throw u.EINVAL(`open '${e}'`);const s=this.getFileSource(i),r=Buffer.alloc(t,0);return s.copy(r),this.writeFileSync(e,r)}async ftruncatePromise(e,t){return this.truncatePromise(this.fdToPath(e,"ftruncate"),t)}ftruncateSync(e,t){return this.truncateSync(this.fdToPath(e,"ftruncateSync"),t)}watch(e,t,n){let i;switch(typeof t){case"function":case"string":case"undefined":i=!0;break;default:({persistent:i=!0}=t)}if(!i)return{on:()=>{},close:()=>{}};const s=setInterval((()=>{}),864e5);return{on:()=>{},close:()=>{clearInterval(s)}}}watchFile(e,t,n){const i=d.ppath.resolve(d.PortablePath.root,e);return(0,p.watchFile)(this,i,t,n)}unwatchFile(e,t){const n=d.ppath.resolve(d.PortablePath.root,e);return(0,p.unwatchFile)(this,n,t)}}t.ZipFS=m},5484:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ZipOpenFS=t.getArchivePart=void 0;const i=n(2042),s=n(7147),r=n(6314),o=n(8461),a=n(9888),A=n(7279),l=i.__importStar(n(9862)),c=n(6809),p=2147483648;t.getArchivePart=(e,t)=>{let n=e.indexOf(t);if(n<=0)return null;let i=n;for(;n>=0&&(i=n+t.length,e[i]!==c.ppath.sep);){if(e[n-1]===c.ppath.sep)return null;n=e.indexOf(t,i)}return e.length>i&&e[i]!==c.ppath.sep?null:e.slice(0,i)};class g extends r.BasePortableFakeFS{constructor({libzip:e,baseFs:t=new o.NodeFS,filter:n=null,maxOpenFiles:i=1/0,readOnlyArchives:s=!1,useCache:r=!0,maxAge:a=5e3,fileExtensions:A=null}){super(),this.fdMap=new Map,this.nextFd=3,this.isZip=new Set,this.notZip=new Set,this.realPaths=new Map,this.limitOpenFilesTimeout=null,this.libzipFactory="function"!=typeof e?()=>e:e,this.baseFs=t,this.zipInstances=r?new Map:null,this.filter=n,this.maxOpenFiles=i,this.readOnlyArchives=s,this.maxAge=a,this.fileExtensions=A}static async openPromise(e,t){const n=new g(t);try{return await e(n)}finally{n.saveAndClose()}}get libzip(){return void 0===this.libzipInstance&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(e){return this.baseFs.getExtractHint(e)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if((0,A.unwatchAllFiles)(this),this.zipInstances)for(const[e,{zipFs:t}]of this.zipInstances.entries())t.saveAndClose(),this.zipInstances.delete(e)}discardAndClose(){if((0,A.unwatchAllFiles)(this),this.zipInstances)for(const[e,{zipFs:t}]of this.zipInstances.entries())t.discardAndClose(),this.zipInstances.delete(e)}resolve(e){return this.baseFs.resolve(e)}remapFd(e,t){const n=this.nextFd++|p;return this.fdMap.set(n,[e,t]),n}async openPromise(e,t,n){return await this.makeCallPromise(e,(async()=>await this.baseFs.openPromise(e,t,n)),(async(e,{subPath:i})=>this.remapFd(e,await e.openPromise(i,t,n))))}openSync(e,t,n){return this.makeCallSync(e,(()=>this.baseFs.openSync(e,t,n)),((e,{subPath:i})=>this.remapFd(e,e.openSync(i,t,n))))}async opendirPromise(e,t){return await this.makeCallPromise(e,(async()=>await this.baseFs.opendirPromise(e,t)),(async(e,{subPath:n})=>await e.opendirPromise(n,t)),{requireSubpath:!1})}opendirSync(e,t){return this.makeCallSync(e,(()=>this.baseFs.opendirSync(e,t)),((e,{subPath:n})=>e.opendirSync(n,t)),{requireSubpath:!1})}async readPromise(e,t,n,i,s){if(0==(e&p))return await this.baseFs.readPromise(e,t,n,i,s);const r=this.fdMap.get(e);if(void 0===r)throw l.EBADF("read");const[o,a]=r;return await o.readPromise(a,t,n,i,s)}readSync(e,t,n,i,s){if(0==(e&p))return this.baseFs.readSync(e,t,n,i,s);const r=this.fdMap.get(e);if(void 0===r)throw l.EBADF("readSync");const[o,a]=r;return o.readSync(a,t,n,i,s)}async writePromise(e,t,n,i,s){if(0==(e&p))return"string"==typeof t?await this.baseFs.writePromise(e,t,n):await this.baseFs.writePromise(e,t,n,i,s);const r=this.fdMap.get(e);if(void 0===r)throw l.EBADF("write");const[o,a]=r;return"string"==typeof t?await o.writePromise(a,t,n):await o.writePromise(a,t,n,i,s)}writeSync(e,t,n,i,s){if(0==(e&p))return"string"==typeof t?this.baseFs.writeSync(e,t,n):this.baseFs.writeSync(e,t,n,i,s);const r=this.fdMap.get(e);if(void 0===r)throw l.EBADF("writeSync");const[o,a]=r;return"string"==typeof t?o.writeSync(a,t,n):o.writeSync(a,t,n,i,s)}async closePromise(e){if(0==(e&p))return await this.baseFs.closePromise(e);const t=this.fdMap.get(e);if(void 0===t)throw l.EBADF("close");this.fdMap.delete(e);const[n,i]=t;return await n.closePromise(i)}closeSync(e){if(0==(e&p))return this.baseFs.closeSync(e);const t=this.fdMap.get(e);if(void 0===t)throw l.EBADF("closeSync");this.fdMap.delete(e);const[n,i]=t;return n.closeSync(i)}createReadStream(e,t){return null===e?this.baseFs.createReadStream(e,t):this.makeCallSync(e,(()=>this.baseFs.createReadStream(e,t)),((e,{archivePath:n,subPath:i})=>{const s=e.createReadStream(i,t);return s.path=c.npath.fromPortablePath(this.pathUtils.join(n,i)),s}))}createWriteStream(e,t){return null===e?this.baseFs.createWriteStream(e,t):this.makeCallSync(e,(()=>this.baseFs.createWriteStream(e,t)),((e,{subPath:n})=>e.createWriteStream(n,t)))}async realpathPromise(e){return await this.makeCallPromise(e,(async()=>await this.baseFs.realpathPromise(e)),(async(e,{archivePath:t,subPath:n})=>{let i=this.realPaths.get(t);return void 0===i&&(i=await this.baseFs.realpathPromise(t),this.realPaths.set(t,i)),this.pathUtils.join(i,this.pathUtils.relative(c.PortablePath.root,await e.realpathPromise(n)))}))}realpathSync(e){return this.makeCallSync(e,(()=>this.baseFs.realpathSync(e)),((e,{archivePath:t,subPath:n})=>{let i=this.realPaths.get(t);return void 0===i&&(i=this.baseFs.realpathSync(t),this.realPaths.set(t,i)),this.pathUtils.join(i,this.pathUtils.relative(c.PortablePath.root,e.realpathSync(n)))}))}async existsPromise(e){return await this.makeCallPromise(e,(async()=>await this.baseFs.existsPromise(e)),(async(e,{subPath:t})=>await e.existsPromise(t)))}existsSync(e){return this.makeCallSync(e,(()=>this.baseFs.existsSync(e)),((e,{subPath:t})=>e.existsSync(t)))}async accessPromise(e,t){return await this.makeCallPromise(e,(async()=>await this.baseFs.accessPromise(e,t)),(async(e,{subPath:n})=>await e.accessPromise(n,t)))}accessSync(e,t){return this.makeCallSync(e,(()=>this.baseFs.accessSync(e,t)),((e,{subPath:n})=>e.accessSync(n,t)))}async statPromise(e,t){return await this.makeCallPromise(e,(async()=>await this.baseFs.statPromise(e,t)),(async(e,{subPath:n})=>await e.statPromise(n,t)))}statSync(e,t){return this.makeCallSync(e,(()=>this.baseFs.statSync(e,t)),((e,{subPath:n})=>e.statSync(n,t)))}async fstatPromise(e,t){if(0==(e&p))return this.baseFs.fstatPromise(e,t);const n=this.fdMap.get(e);if(void 0===n)throw l.EBADF("fstat");const[i,s]=n;return i.fstatPromise(s,t)}fstatSync(e,t){if(0==(e&p))return this.baseFs.fstatSync(e,t);const n=this.fdMap.get(e);if(void 0===n)throw l.EBADF("fstatSync");const[i,s]=n;return i.fstatSync(s,t)}async lstatPromise(e,t){return await this.makeCallPromise(e,(async()=>await this.baseFs.lstatPromise(e,t)),(async(e,{subPath:n})=>await e.lstatPromise(n,t)))}lstatSync(e,t){return this.makeCallSync(e,(()=>this.baseFs.lstatSync(e,t)),((e,{subPath:n})=>e.lstatSync(n,t)))}async fchmodPromise(e,t){if(0==(e&p))return this.baseFs.fchmodPromise(e,t);const n=this.fdMap.get(e);if(void 0===n)throw l.EBADF("fchmod");const[i,s]=n;return i.fchmodPromise(s,t)}fchmodSync(e,t){if(0==(e&p))return this.baseFs.fchmodSync(e,t);const n=this.fdMap.get(e);if(void 0===n)throw l.EBADF("fchmodSync");const[i,s]=n;return i.fchmodSync(s,t)}async chmodPromise(e,t){return await this.makeCallPromise(e,(async()=>await this.baseFs.chmodPromise(e,t)),(async(e,{subPath:n})=>await e.chmodPromise(n,t)))}chmodSync(e,t){return this.makeCallSync(e,(()=>this.baseFs.chmodSync(e,t)),((e,{subPath:n})=>e.chmodSync(n,t)))}async chownPromise(e,t,n){return await this.makeCallPromise(e,(async()=>await this.baseFs.chownPromise(e,t,n)),(async(e,{subPath:i})=>await e.chownPromise(i,t,n)))}chownSync(e,t,n){return this.makeCallSync(e,(()=>this.baseFs.chownSync(e,t,n)),((e,{subPath:i})=>e.chownSync(i,t,n)))}async renamePromise(e,t){return await this.makeCallPromise(e,(async()=>await this.makeCallPromise(t,(async()=>await this.baseFs.renamePromise(e,t)),(async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}))),(async(e,{subPath:n})=>await this.makeCallPromise(t,(async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(async(t,{subPath:i})=>{if(e!==t)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await e.renamePromise(n,i)}))))}renameSync(e,t){return this.makeCallSync(e,(()=>this.makeCallSync(t,(()=>this.baseFs.renameSync(e,t)),(()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}))),((e,{subPath:n})=>this.makeCallSync(t,(()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),((t,{subPath:i})=>{if(e!==t)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return e.renameSync(n,i)}))))}async copyFilePromise(e,t,n=0){const i=async(e,t,i,r)=>{if(0!=(n&s.constants.COPYFILE_FICLONE_FORCE))throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${t}' -> ${r}'`),{code:"EXDEV"});if(n&s.constants.COPYFILE_EXCL&&await this.existsPromise(t))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${t}' -> '${r}'`),{code:"EEXIST"});let o;try{o=await e.readFilePromise(t)}catch(e){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${t}' -> '${r}'`),{code:"EINVAL"})}await i.writeFilePromise(r,o)};return await this.makeCallPromise(e,(async()=>await this.makeCallPromise(t,(async()=>await this.baseFs.copyFilePromise(e,t,n)),(async(t,{subPath:n})=>await i(this.baseFs,e,t,n)))),(async(e,{subPath:s})=>await this.makeCallPromise(t,(async()=>await i(e,s,this.baseFs,t)),(async(t,{subPath:r})=>e!==t?await i(e,s,t,r):await e.copyFilePromise(s,r,n)))))}copyFileSync(e,t,n=0){const i=(e,t,i,r)=>{if(0!=(n&s.constants.COPYFILE_FICLONE_FORCE))throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${t}' -> ${r}'`),{code:"EXDEV"});if(n&s.constants.COPYFILE_EXCL&&this.existsSync(t))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${t}' -> '${r}'`),{code:"EEXIST"});let o;try{o=e.readFileSync(t)}catch(e){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${t}' -> '${r}'`),{code:"EINVAL"})}i.writeFileSync(r,o)};return this.makeCallSync(e,(()=>this.makeCallSync(t,(()=>this.baseFs.copyFileSync(e,t,n)),((t,{subPath:n})=>i(this.baseFs,e,t,n)))),((e,{subPath:s})=>this.makeCallSync(t,(()=>i(e,s,this.baseFs,t)),((t,{subPath:r})=>e!==t?i(e,s,t,r):e.copyFileSync(s,r,n)))))}async appendFilePromise(e,t,n){return await this.makeCallPromise(e,(async()=>await this.baseFs.appendFilePromise(e,t,n)),(async(e,{subPath:i})=>await e.appendFilePromise(i,t,n)))}appendFileSync(e,t,n){return this.makeCallSync(e,(()=>this.baseFs.appendFileSync(e,t,n)),((e,{subPath:i})=>e.appendFileSync(i,t,n)))}async writeFilePromise(e,t,n){return await this.makeCallPromise(e,(async()=>await this.baseFs.writeFilePromise(e,t,n)),(async(e,{subPath:i})=>await e.writeFilePromise(i,t,n)))}writeFileSync(e,t,n){return this.makeCallSync(e,(()=>this.baseFs.writeFileSync(e,t,n)),((e,{subPath:i})=>e.writeFileSync(i,t,n)))}async unlinkPromise(e){return await this.makeCallPromise(e,(async()=>await this.baseFs.unlinkPromise(e)),(async(e,{subPath:t})=>await e.unlinkPromise(t)))}unlinkSync(e){return this.makeCallSync(e,(()=>this.baseFs.unlinkSync(e)),((e,{subPath:t})=>e.unlinkSync(t)))}async utimesPromise(e,t,n){return await this.makeCallPromise(e,(async()=>await this.baseFs.utimesPromise(e,t,n)),(async(e,{subPath:i})=>await e.utimesPromise(i,t,n)))}utimesSync(e,t,n){return this.makeCallSync(e,(()=>this.baseFs.utimesSync(e,t,n)),((e,{subPath:i})=>e.utimesSync(i,t,n)))}async mkdirPromise(e,t){return await this.makeCallPromise(e,(async()=>await this.baseFs.mkdirPromise(e,t)),(async(e,{subPath:n})=>await e.mkdirPromise(n,t)))}mkdirSync(e,t){return this.makeCallSync(e,(()=>this.baseFs.mkdirSync(e,t)),((e,{subPath:n})=>e.mkdirSync(n,t)))}async rmdirPromise(e,t){return await this.makeCallPromise(e,(async()=>await this.baseFs.rmdirPromise(e,t)),(async(e,{subPath:n})=>await e.rmdirPromise(n,t)))}rmdirSync(e,t){return this.makeCallSync(e,(()=>this.baseFs.rmdirSync(e,t)),((e,{subPath:n})=>e.rmdirSync(n,t)))}async linkPromise(e,t){return await this.makeCallPromise(t,(async()=>await this.baseFs.linkPromise(e,t)),(async(t,{subPath:n})=>await t.linkPromise(e,n)))}linkSync(e,t){return this.makeCallSync(t,(()=>this.baseFs.linkSync(e,t)),((t,{subPath:n})=>t.linkSync(e,n)))}async symlinkPromise(e,t,n){return await this.makeCallPromise(t,(async()=>await this.baseFs.symlinkPromise(e,t,n)),(async(t,{subPath:n})=>await t.symlinkPromise(e,n)))}symlinkSync(e,t,n){return this.makeCallSync(t,(()=>this.baseFs.symlinkSync(e,t,n)),((t,{subPath:n})=>t.symlinkSync(e,n)))}async readFilePromise(e,t){return this.makeCallPromise(e,(async()=>await this.baseFs.readFilePromise(e,t)),(async(e,{subPath:n})=>await e.readFilePromise(n,t)))}readFileSync(e,t){return this.makeCallSync(e,(()=>this.baseFs.readFileSync(e,t)),((e,{subPath:n})=>e.readFileSync(n,t)))}async readdirPromise(e,t){return await this.makeCallPromise(e,(async()=>await this.baseFs.readdirPromise(e,t)),(async(e,{subPath:n})=>await e.readdirPromise(n,t)),{requireSubpath:!1})}readdirSync(e,t){return this.makeCallSync(e,(()=>this.baseFs.readdirSync(e,t)),((e,{subPath:n})=>e.readdirSync(n,t)),{requireSubpath:!1})}async readlinkPromise(e){return await this.makeCallPromise(e,(async()=>await this.baseFs.readlinkPromise(e)),(async(e,{subPath:t})=>await e.readlinkPromise(t)))}readlinkSync(e){return this.makeCallSync(e,(()=>this.baseFs.readlinkSync(e)),((e,{subPath:t})=>e.readlinkSync(t)))}async truncatePromise(e,t){return await this.makeCallPromise(e,(async()=>await this.baseFs.truncatePromise(e,t)),(async(e,{subPath:n})=>await e.truncatePromise(n,t)))}truncateSync(e,t){return this.makeCallSync(e,(()=>this.baseFs.truncateSync(e,t)),((e,{subPath:n})=>e.truncateSync(n,t)))}async ftruncatePromise(e,t){if(0==(e&p))return this.baseFs.ftruncatePromise(e,t);const n=this.fdMap.get(e);if(void 0===n)throw l.EBADF("ftruncate");const[i,s]=n;return i.ftruncatePromise(s,t)}ftruncateSync(e,t){if(0==(e&p))return this.baseFs.ftruncateSync(e,t);const n=this.fdMap.get(e);if(void 0===n)throw l.EBADF("ftruncateSync");const[i,s]=n;return i.ftruncateSync(s,t)}watch(e,t,n){return this.makeCallSync(e,(()=>this.baseFs.watch(e,t,n)),((e,{subPath:i})=>e.watch(i,t,n)))}watchFile(e,t,n){return this.makeCallSync(e,(()=>this.baseFs.watchFile(e,t,n)),(()=>(0,A.watchFile)(this,e,t,n)))}unwatchFile(e,t){return this.makeCallSync(e,(()=>this.baseFs.unwatchFile(e,t)),(()=>(0,A.unwatchFile)(this,e,t)))}async makeCallPromise(e,t,n,{requireSubpath:i=!0}={}){if("string"!=typeof e)return await t();const s=this.resolve(e),r=this.findZip(s);return r?i&&"/"===r.subPath?await t():await this.getZipPromise(r.archivePath,(async e=>await n(e,r))):await t()}makeCallSync(e,t,n,{requireSubpath:i=!0}={}){if("string"!=typeof e)return t();const s=this.resolve(e),r=this.findZip(s);return r?i&&"/"===r.subPath?t():this.getZipSync(r.archivePath,(e=>n(e,r))):t()}findZip(e){if(this.filter&&!this.filter.test(e))return null;let n="";for(;;){const i=e.substring(n.length);let s;if(this.fileExtensions){for(const e of this.fileExtensions)if(s=(0,t.getArchivePart)(i,e),s)break}else s=(0,t.getArchivePart)(i,".zip");if(!s)return null;if(n=this.pathUtils.join(n,s),!1===this.isZip.has(n)){if(this.notZip.has(n))continue;try{if(!this.baseFs.lstatSync(n).isFile()){this.notZip.add(n);continue}}catch{return null}this.isZip.add(n)}return{archivePath:n,subPath:this.pathUtils.join(c.PortablePath.root,e.substring(n.length))}}}limitOpenFiles(e){if(null===this.zipInstances)return;const t=Date.now();let n=t+this.maxAge,i=null===e?0:this.zipInstances.size-e;for(const[s,{zipFs:r,expiresAt:o,refCount:a}]of this.zipInstances.entries())if(0===a&&!r.hasOpenFileHandles())if(t>=o)r.saveAndClose(),this.zipInstances.delete(s),i-=1;else{if(null===e||i<=0){n=o;break}r.saveAndClose(),this.zipInstances.delete(s),i-=1}null===this.limitOpenFilesTimeout&&(null===e&&this.zipInstances.size>0||null!==e)&&(this.limitOpenFilesTimeout=setTimeout((()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)}),n-t).unref())}async getZipPromise(e,t){const n=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(e)});if(this.zipInstances){let i=this.zipInstances.get(e);if(!i){const t=await n();i=this.zipInstances.get(e),i||(i={zipFs:new a.ZipFS(e,t),expiresAt:0,refCount:0})}this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,i),i.expiresAt=Date.now()+this.maxAge,i.refCount+=1;try{return await t(i.zipFs)}finally{i.refCount-=1}}else{const i=new a.ZipFS(e,await n());try{return await t(i)}finally{i.saveAndClose()}}}getZipSync(e,t){const n=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(e)});if(this.zipInstances){let i=this.zipInstances.get(e);return i||(i={zipFs:new a.ZipFS(e,n()),expiresAt:0,refCount:0}),this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,i),i.expiresAt=Date.now()+this.maxAge,t(i.zipFs)}{const i=new a.ZipFS(e,n());try{return t(i)}finally{i.saveAndClose()}}}}t.ZipOpenFS=g},7997:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.copyPromise=t.LinkStrategy=void 0;const i=n(2042),s=i.__importDefault(n(7147)),r=i.__importStar(n(9910)),o=n(6809),a=new Date(1e3*r.SAFE_TIME);var A,l;async function c(e,t,n,i,r,A,l,u){var d,h;const C=u.didParentExist?await async function(e,t){try{return await e.lstatPromise(t)}catch(e){return null}}(i,r):null,m=await A.lstatPromise(l),{atime:y,mtime:f}=u.stableTime?{atime:a,mtime:a}:m;let I;switch(!0){case m.isDirectory():I=await async function(e,t,n,i,s,r,o,a,A,l){if(null!==r&&!r.isDirectory()){if(!l.overwrite)return!1;e.push((async()=>i.removePromise(s))),r=null}let p=!1;null===r&&(e.push((async()=>{try{await i.mkdirPromise(s,{mode:A.mode})}catch(e){if("EEXIST"!==e.code)throw e}})),p=!0);const g=await o.readdirPromise(a),u=l.didParentExist&&!r?{...l,didParentExist:!1}:l;if(l.stableSort)for(const r of g.sort())await c(e,t,n,i,i.pathUtils.join(s,r),o,o.pathUtils.join(a,r),u)&&(p=!0);else(await Promise.all(g.map((async r=>{await c(e,t,n,i,i.pathUtils.join(s,r),o,o.pathUtils.join(a,r),u)})))).some((e=>e))&&(p=!0);return p}(e,t,n,i,r,C,A,l,m,u);break;case m.isFile():I=await async function(e,t,n,i,r,o,a,A,l,c){var u;if(null!==o){if(!c.overwrite)return!1;e.push((async()=>i.removePromise(r))),o=null}const d=null!==(u=c.linkStrategy)&&void 0!==u?u:null,h=i===a?null!==d?function(e,t,n,i,r){const o=p.get(e);return void 0===o?async()=>{try{await e.copyFilePromise(n,t,s.default.constants.COPYFILE_FICLONE_FORCE),p.set(e,!0)}catch(s){if("ENOSYS"!==s.code&&"ENOTSUP"!==s.code)throw s;p.set(e,!1),await g(e,t,n,i,r)()}}:o?async()=>e.copyFilePromise(n,t,s.default.constants.COPYFILE_FICLONE_FORCE):g(e,t,n,i,r)}(i,r,A,l,d):async()=>i.copyFilePromise(A,r,s.default.constants.COPYFILE_FICLONE):null!==d?g(i,r,A,l,d):async()=>i.writeFilePromise(r,await a.readFilePromise(A));return e.push((async()=>h())),!0}(e,0,0,i,r,C,A,l,m,u);break;case m.isSymbolicLink():I=await async function(e,t,n,i,s,r,a,A,l,c){if(null!==r){if(!c.overwrite)return!1;e.push((async()=>i.removePromise(s))),r=null}return e.push((async()=>{await i.symlinkPromise((0,o.convertPath)(i.pathUtils,await a.readlinkPromise(A)),s)})),!0}(e,0,0,i,r,C,A,l,0,u);break;default:throw new Error(`Unsupported file type (${m.mode})`)}return(I||(null===(d=null==C?void 0:C.mtime)||void 0===d?void 0:d.getTime())!==f.getTime()||(null===(h=null==C?void 0:C.atime)||void 0===h?void 0:h.getTime())!==y.getTime())&&(t.push((()=>n(r,y,f))),I=!0),null!==C&&(511&C.mode)==(511&m.mode)||(t.push((()=>i.chmodPromise(r,511&m.mode))),I=!0),I}(l=A=t.LinkStrategy||(t.LinkStrategy={})).Allow="allow",l.ReadOnly="readOnly",t.copyPromise=async function(e,t,n,i,s){const r=e.pathUtils.normalize(t),o=n.pathUtils.normalize(i),A=[],l=[],{atime:p,mtime:g}=s.stableTime?{atime:a,mtime:a}:await n.lstatPromise(o);await e.mkdirpPromise(e.pathUtils.dirname(t),{utimes:[p,g]});const u="function"==typeof e.lutimesPromise?e.lutimesPromise.bind(e):e.utimesPromise.bind(e);await c(A,l,u,e,r,n,o,{...s,didParentExist:!0});for(const e of A)await e();await Promise.all(l.map((e=>e())))};const p=new WeakMap;function g(e,t,n,i,s){return async()=>{await e.linkPromise(n,t),s===A.ReadOnly&&(i.mode&=-147,await e.chmodPromise(t,i.mode))}}},2216:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.opendir=t.CustomDir=void 0;const i=n(2042).__importStar(n(9862));class s{constructor(e,t,n={}){this.path=e,this.nextDirent=t,this.opts=n,this.closed=!1}throwIfClosed(){if(this.closed)throw i.ERR_DIR_CLOSED()}async*[Symbol.asyncIterator](){try{let e;for(;null!==(e=await this.read());)yield e}finally{await this.close()}}read(e){const t=this.readSync();return void 0!==e?e(null,t):Promise.resolve(t)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),void 0!==e?e(null):Promise.resolve()}closeSync(){var e,t;this.throwIfClosed(),null===(t=(e=this.opts).onClose)||void 0===t||t.call(e),this.closed=!0}}t.CustomDir=s,t.opendir=function(e,t,n,i){return new s(t,(()=>{const i=n.shift();return void 0===i?null:Object.assign(e.statSync(e.pathUtils.join(t,i)),{name:i})}),i)}},7279:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.unwatchAllFiles=t.unwatchFile=t.watchFile=void 0;const i=n(2011),s=new WeakMap;function r(e,t,n){const i=s.get(e);if(void 0===i)return;const r=i.get(t);void 0!==r&&(void 0===n?r.unregisterAllChangeListeners():r.unregisterChangeListener(n),r.hasChangeListeners()||(r.stop(),i.delete(t)))}t.watchFile=function(e,t,n,r){let o,a,A,l;"function"==typeof n?(o=!1,a=!0,A=5007,l=n):(({bigint:o=!1,persistent:a=!0,interval:A=5007}=n),l=r);let c=s.get(e);void 0===c&&s.set(e,c=new Map);let p=c.get(t);return void 0===p&&(p=i.CustomStatWatcher.create(e,t,{bigint:o}),c.set(t,p)),p.registerChangeListener(l,{persistent:a,interval:A}),p},t.unwatchFile=r,t.unwatchAllFiles=function(e){const t=s.get(e);if(void 0!==t)for(const n of t.keys())r(e,n)}},2011:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CustomStatWatcher=t.assertStatus=t.Status=t.Event=void 0;const i=n(2042),s=n(2361),r=i.__importStar(n(9603));var o,a,A,l;function c(e,t){if(e!==t)throw new Error(`Invalid StatWatcher status: expected '${t}', got '${e}'`)}(a=o=t.Event||(t.Event={})).Change="change",a.Stop="stop",(l=A=t.Status||(t.Status={})).Ready="ready",l.Running="running",l.Stopped="stopped",t.assertStatus=c;class p extends s.EventEmitter{constructor(e,t,{bigint:n=!1}={}){super(),this.status=A.Ready,this.changeListeners=new Map,this.startTimeout=null,this.fakeFs=e,this.path=t,this.bigint=n,this.lastStats=this.stat()}static create(e,t,n){const i=new p(e,t,n);return i.start(),i}start(){c(this.status,A.Ready),this.status=A.Running,this.startTimeout=setTimeout((()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(o.Change,this.lastStats,this.lastStats)}),3)}stop(){c(this.status,A.Running),this.status=A.Stopped,null!==this.startTimeout&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(o.Stop)}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch(e){const t=this.bigint?new r.BigIntStatsEntry:new r.StatEntry;return r.clearStats(t)}}makeInterval(e){const t=setInterval((()=>{const e=this.stat(),t=this.lastStats;r.areStatsEqual(e,t)||(this.lastStats=e,this.emit(o.Change,e,t))}),e.interval);return e.persistent?t:t.unref()}registerChangeListener(e,t){this.addListener(o.Change,e),this.changeListeners.set(e,this.makeInterval(t))}unregisterChangeListener(e){this.removeListener(o.Change,e);const t=this.changeListeners.get(e);void 0!==t&&clearInterval(t),this.changeListeners.delete(e)}unregisterAllChangeListeners(){for(const e of this.changeListeners.keys())this.unregisterChangeListener(e)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(const e of this.changeListeners.values())e.ref();return this}unref(){for(const e of this.changeListeners.values())e.unref();return this}}t.CustomStatWatcher=p},9910:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SAFE_TIME=t.S_IFLNK=t.S_IFREG=t.S_IFDIR=t.S_IFMT=void 0,t.S_IFMT=61440,t.S_IFDIR=16384,t.S_IFREG=32768,t.S_IFLNK=40960,t.SAFE_TIME=456789e3},9862:(e,t)=>{"use strict";function n(e,t){return Object.assign(new Error(`${e}: ${t}`),{code:e})}Object.defineProperty(t,"__esModule",{value:!0}),t.LibzipError=t.ERR_DIR_CLOSED=t.EOPNOTSUPP=t.ENOTEMPTY=t.EROFS=t.EEXIST=t.EISDIR=t.ENOTDIR=t.ENOENT=t.EBADF=t.EINVAL=t.ENOSYS=t.EBUSY=void 0,t.EBUSY=function(e){return n("EBUSY",e)},t.ENOSYS=function(e,t){return n("ENOSYS",`${e}, ${t}`)},t.EINVAL=function(e){return n("EINVAL",`invalid argument, ${e}`)},t.EBADF=function(e){return n("EBADF",`bad file descriptor, ${e}`)},t.ENOENT=function(e){return n("ENOENT",`no such file or directory, ${e}`)},t.ENOTDIR=function(e){return n("ENOTDIR",`not a directory, ${e}`)},t.EISDIR=function(e){return n("EISDIR",`illegal operation on a directory, ${e}`)},t.EEXIST=function(e){return n("EEXIST",`file already exists, ${e}`)},t.EROFS=function(e){return n("EROFS",`read-only filesystem, ${e}`)},t.ENOTEMPTY=function(e){return n("ENOTEMPTY",`directory not empty, ${e}`)},t.EOPNOTSUPP=function(e){return n("EOPNOTSUPP",`operation not supported, ${e}`)},t.ERR_DIR_CLOSED=function(){return n("ERR_DIR_CLOSED","Directory handle was closed")};class i extends Error{constructor(e,t){super(e),this.name="Libzip Error",this.code=t}}t.LibzipError=i},3539:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.xfs=t.extendFs=t.patchFs=t.ZipOpenFS=t.ZipFS=t.VirtualFS=t.ProxiedFS=t.PosixFS=t.NodeFS=t.NoFS=t.LazyFS=t.JailFS=t.CwdFS=t.FakeFS=t.AliasFS=t.toFilename=t.ppath=t.npath=t.Filename=t.PortablePath=t.DEFAULT_COMPRESSION_LEVEL=t.normalizeLineEndings=t.statUtils=t.opendir=t.LinkStrategy=t.constants=void 0;const i=n(2042),s=i.__importStar(n(9910));t.constants=s;const r=i.__importStar(n(9603));t.statUtils=r;var o=n(7997);Object.defineProperty(t,"LinkStrategy",{enumerable:!0,get:function(){return o.LinkStrategy}});var a=n(2216);Object.defineProperty(t,"opendir",{enumerable:!0,get:function(){return a.opendir}});var A=n(6314);Object.defineProperty(t,"normalizeLineEndings",{enumerable:!0,get:function(){return A.normalizeLineEndings}});var l=n(9888);Object.defineProperty(t,"DEFAULT_COMPRESSION_LEVEL",{enumerable:!0,get:function(){return l.DEFAULT_COMPRESSION_LEVEL}});var c=n(6809);Object.defineProperty(t,"PortablePath",{enumerable:!0,get:function(){return c.PortablePath}}),Object.defineProperty(t,"Filename",{enumerable:!0,get:function(){return c.Filename}});var p=n(6809);Object.defineProperty(t,"npath",{enumerable:!0,get:function(){return p.npath}}),Object.defineProperty(t,"ppath",{enumerable:!0,get:function(){return p.ppath}}),Object.defineProperty(t,"toFilename",{enumerable:!0,get:function(){return p.toFilename}});var g=n(3283);Object.defineProperty(t,"AliasFS",{enumerable:!0,get:function(){return g.AliasFS}});var u=n(6314);Object.defineProperty(t,"FakeFS",{enumerable:!0,get:function(){return u.FakeFS}});var d=n(5310);Object.defineProperty(t,"CwdFS",{enumerable:!0,get:function(){return d.CwdFS}});var h=n(9272);Object.defineProperty(t,"JailFS",{enumerable:!0,get:function(){return h.JailFS}});var C=n(4790);Object.defineProperty(t,"LazyFS",{enumerable:!0,get:function(){return C.LazyFS}});var m=n(6538);Object.defineProperty(t,"NoFS",{enumerable:!0,get:function(){return m.NoFS}});var y=n(8461);Object.defineProperty(t,"NodeFS",{enumerable:!0,get:function(){return y.NodeFS}});var f=n(2224);Object.defineProperty(t,"PosixFS",{enumerable:!0,get:function(){return f.PosixFS}});var I=n(2603);Object.defineProperty(t,"ProxiedFS",{enumerable:!0,get:function(){return I.ProxiedFS}});var E=n(155);Object.defineProperty(t,"VirtualFS",{enumerable:!0,get:function(){return E.VirtualFS}});var T=n(9888);Object.defineProperty(t,"ZipFS",{enumerable:!0,get:function(){return T.ZipFS}});var B=n(5484);Object.defineProperty(t,"ZipOpenFS",{enumerable:!0,get:function(){return B.ZipOpenFS}});var v=n(767);Object.defineProperty(t,"patchFs",{enumerable:!0,get:function(){return v.patchFs}}),Object.defineProperty(t,"extendFs",{enumerable:!0,get:function(){return v.extendFs}});var Q=n(6934);Object.defineProperty(t,"xfs",{enumerable:!0,get:function(){return Q.xfs}})},692:(e,t)=>{"use strict";var n,i,s,r;Object.defineProperty(t,"__esModule",{value:!0}),t.FileHandle=void 0;const o=Symbol("kBaseFs"),a=Symbol("kFd"),A=Symbol("kClosePromise"),l=Symbol("kCloseResolve"),c=Symbol("kCloseReject"),p=Symbol("kRefs"),g=Symbol("kRef"),u=Symbol("kUnref");class d{constructor(e,t){this[n]=1,this[i]=void 0,this[s]=void 0,this[r]=void 0,this[o]=t,this[a]=e}get fd(){return this[a]}async appendFile(e,t){var n;try{this[g](this.appendFile);const i=null!==(n="string"==typeof t?t:null==t?void 0:t.encoding)&&void 0!==n?n:void 0;return await this[o].appendFilePromise(this.fd,e,i?{encoding:i}:void 0)}finally{this[u]()}}chown(e,t){throw new Error("Method not implemented.")}async chmod(e){try{return this[g](this.chmod),await this[o].fchmodPromise(this.fd,e)}finally{this[u]()}}createReadStream(e){return this[o].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[o].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(e,t,n,i){var s,r,a;try{let A;return this[g](this.read),Buffer.isBuffer(e)?A=e:(null!=e||(e={}),A=null!==(s=e.buffer)&&void 0!==s?s:Buffer.alloc(16384),t=e.offset||0,n=null!==(r=e.length)&&void 0!==r?r:A.byteLength,i=null!==(a=e.position)&&void 0!==a?a:null),null!=t||(t=0),null!=n||(n=0),0===n?{bytesRead:n,buffer:A}:{bytesRead:await this[o].readPromise(this.fd,A,t,n,i),buffer:A}}finally{this[u]()}}async readFile(e){var t;try{this[g](this.readFile);const n=null!==(t="string"==typeof e?e:null==e?void 0:e.encoding)&&void 0!==t?t:void 0;return await this[o].readFilePromise(this.fd,n)}finally{this[u]()}}async stat(e){try{return this[g](this.stat),await this[o].fstatPromise(this.fd,e)}finally{this[u]()}}async truncate(e){try{return this[g](this.truncate),await this[o].ftruncatePromise(this.fd,e)}finally{this[u]()}}utimes(e,t){throw new Error("Method not implemented.")}async writeFile(e,t){var n;try{this[g](this.writeFile);const i=null!==(n="string"==typeof t?t:null==t?void 0:t.encoding)&&void 0!==n?n:void 0;await this[o].writeFilePromise(this.fd,e,i)}finally{this[u]()}}async write(...e){try{if(this[g](this.write),ArrayBuffer.isView(e[0])){const[t,n,i,s]=e;return{bytesWritten:await this[o].writePromise(this.fd,t,null!=n?n:void 0,null!=i?i:void 0,null!=s?s:void 0),buffer:t}}{const[t,n,i]=e;return{bytesWritten:await this[o].writePromise(this.fd,t,n,i),buffer:t}}}finally{this[u]()}}async writev(e,t){try{this[g](this.writev);let n=0;if(void 0!==t)for(const i of e){const e=await this.write(i,void 0,void 0,t);n+=e.bytesWritten,t+=e.bytesWritten}else for(const t of e)n+=(await this.write(t)).bytesWritten;return{buffers:e,bytesWritten:n}}finally{this[u]()}}readv(e,t){throw new Error("Method not implemented.")}close(){if(-1===this[a])return Promise.resolve();if(this[A])return this[A];if(this[p]--,0===this[p]){const e=this[a];this[a]=-1,this[A]=this[o].closePromise(e).finally((()=>{this[A]=void 0}))}else this[A]=new Promise(((e,t)=>{this[l]=e,this[c]=t})).finally((()=>{this[A]=void 0,this[c]=void 0,this[l]=void 0}));return this[A]}[(n=p,i=A,s=l,r=c,g)](e){if(-1===this[a]){const t=new Error("file closed");throw t.code="EBADF",t.syscall=e.name,t}this[p]++}[u](){if(this[p]--,0===this[p]){const e=this[a];this[a]=-1,this[o].closePromise(e).then(this[l],this[c])}}}t.FileHandle=d},767:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendFs=t.patchFs=void 0;const i=n(3837),s=n(4268),r=n(692),o=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),a=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]);function A(e,t){t=new s.URLFS(t);const n=(e,t,n)=>{const s=e[t];e[t]=n,void 0!==(null==s?void 0:s[i.promisify.custom])&&(n[i.promisify.custom]=s[i.promisify.custom])};n(e,"exists",((e,...n)=>{const i="function"==typeof n[n.length-1]?n.pop():()=>{};process.nextTick((()=>{t.existsPromise(e).then((e=>{i(e)}),(()=>{i(!1)}))}))})),n(e,"read",((...e)=>{let[n,i,s,r,o,a]=e;if(e.length<=3){let t={};e.length<3?a=e[1]:(t=e[1],a=e[2]),({buffer:i=Buffer.alloc(16384),offset:s=0,length:r=i.byteLength,position:o}=t)}null==s&&(s=0),r|=0,0!==r?(null==o&&(o=-1),process.nextTick((()=>{t.readPromise(n,i,s,r,o).then((e=>{a(null,e,i)}),(e=>{a(e,0,i)}))}))):process.nextTick((()=>{a(null,0,i)}))}));for(const i of a){const s=i.replace(/Promise$/,"");if(void 0===e[s])continue;const r=t[i];void 0!==r&&n(e,s,((...e)=>{const n="function"==typeof e[e.length-1]?e.pop():()=>{};process.nextTick((()=>{r.apply(t,e).then((e=>{n(null,e)}),(e=>{n(e)}))}))}))}e.realpath.native=e.realpath,n(e,"existsSync",(e=>{try{return t.existsSync(e)}catch(e){return!1}})),n(e,"readSync",((...e)=>{let[n,i,s,r,o]=e;if(e.length<=3){const t=e[2]||{};({offset:s=0,length:r=i.byteLength,position:o}=t)}return null==s&&(s=0),r|=0,0===r?0:(null==o&&(o=-1),t.readSync(n,i,s,r,o))}));for(const i of o){const s=i;if(void 0===e[s])continue;const r=t[i];void 0!==r&&n(e,s,r.bind(t))}e.realpathSync.native=e.realpathSync;{const i=process.emitWarning;let s;process.emitWarning=()=>{};try{s=e.promises}finally{process.emitWarning=i}if(void 0!==s){for(const e of a){const i=e.replace(/Promise$/,"");if(void 0===s[i])continue;const o=t[e];void 0!==o&&"open"!==e&&n(s,i,((e,...n)=>e instanceof r.FileHandle?e[i].apply(e,n):o.call(t,e,...n)))}n(s,"open",(async(...e)=>{const n=await t.openPromise(...e);return new r.FileHandle(n,t)}))}}e.read[i.promisify.custom]=async(e,n,...i)=>{const s=t.readPromise(e,n,...i);return{bytesRead:await s,buffer:n}},e.write[i.promisify.custom]=async(e,n,...i)=>{const s=t.writePromise(e,n,...i);return{bytesWritten:await s,buffer:n}}}t.patchFs=A,t.extendFs=function(e,t){const n=Object.create(e);return A(n,t),n}},6809:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toFilename=t.convertPath=t.ppath=t.npath=t.Filename=t.PortablePath=void 0;const i=n(2042).__importDefault(n(1017));var s,r;(r=s||(s={}))[r.File=0]="File",r[r.Portable=1]="Portable",r[r.Native=2]="Native",t.PortablePath={root:"/",dot:"."},t.Filename={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},t.npath=Object.create(i.default),t.ppath=Object.create(i.default.posix),t.npath.cwd=()=>process.cwd(),t.ppath.cwd=()=>g(process.cwd()),t.ppath.resolve=(...e)=>e.length>0&&t.ppath.isAbsolute(e[0])?i.default.posix.resolve(...e):i.default.posix.resolve(t.ppath.cwd(),...e);const o=function(e,t,n){return(t=e.normalize(t))===(n=e.normalize(n))?".":(t.endsWith(e.sep)||(t+=e.sep),n.startsWith(t)?n.slice(t.length):null)};t.npath.fromPortablePath=p,t.npath.toPortablePath=g,t.npath.contains=(e,n)=>o(t.npath,e,n),t.ppath.contains=(e,n)=>o(t.ppath,e,n);const a=/^([a-zA-Z]:.*)$/,A=/^\/\/(\.\/)?(.*)$/,l=/^\/([a-zA-Z]:.*)$/,c=/^\/unc\/(\.dot\/)?(.*)$/;function p(e){if("win32"!==process.platform)return e;let t,n;if(t=e.match(l))e=t[1];else{if(!(n=e.match(c)))return e;e=`\\\\${n[1]?".\\":""}${n[2]}`}return e.replace(/\//g,"\\")}function g(e){if("win32"!==process.platform)return e;let t,n;return(t=(e=e.replace(/\\/g,"/")).match(a))?e=`/${t[1]}`:(n=e.match(A))&&(e=`/unc/${n[1]?".dot/":""}${n[2]}`),e}t.convertPath=function(e,n){return e===t.npath?p(n):g(n)},t.toFilename=function(e){if(""!==t.npath.parse(e).dir||""!==t.ppath.parse(e).dir)throw new Error(`Invalid filename: "${e}"`);return e}},9603:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.areStatsEqual=t.convertToBigIntStats=t.clearStats=t.makeEmptyStats=t.makeDefaultStats=t.BigIntStatsEntry=t.StatEntry=t.DirEntry=t.DEFAULT_MODE=void 0;const i=n(2042).__importStar(n(3837)),s=n(9910);t.DEFAULT_MODE=420|s.S_IFREG,t.DirEntry=class{constructor(){this.name="",this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&s.S_IFMT)===s.S_IFDIR}isFIFO(){return!1}isFile(){return(this.mode&s.S_IFMT)===s.S_IFREG}isSocket(){return!1}isSymbolicLink(){return(this.mode&s.S_IFMT)===s.S_IFLNK}};class r{constructor(){this.uid=0,this.gid=0,this.size=0,this.blksize=0,this.atimeMs=0,this.mtimeMs=0,this.ctimeMs=0,this.birthtimeMs=0,this.atime=new Date(0),this.mtime=new Date(0),this.ctime=new Date(0),this.birthtime=new Date(0),this.dev=0,this.ino=0,this.mode=t.DEFAULT_MODE,this.nlink=1,this.rdev=0,this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&s.S_IFMT)===s.S_IFDIR}isFIFO(){return!1}isFile(){return(this.mode&s.S_IFMT)===s.S_IFREG}isSocket(){return!1}isSymbolicLink(){return(this.mode&s.S_IFMT)===s.S_IFLNK}}t.StatEntry=r;class o{constructor(){this.uid=BigInt(0),this.gid=BigInt(0),this.size=BigInt(0),this.blksize=BigInt(0),this.atimeMs=BigInt(0),this.mtimeMs=BigInt(0),this.ctimeMs=BigInt(0),this.birthtimeMs=BigInt(0),this.atimeNs=BigInt(0),this.mtimeNs=BigInt(0),this.ctimeNs=BigInt(0),this.birthtimeNs=BigInt(0),this.atime=new Date(0),this.mtime=new Date(0),this.ctime=new Date(0),this.birthtime=new Date(0),this.dev=BigInt(0),this.ino=BigInt(0),this.mode=BigInt(t.DEFAULT_MODE),this.nlink=BigInt(1),this.rdev=BigInt(0),this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(s.S_IFMT))===BigInt(s.S_IFDIR)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(s.S_IFMT))===BigInt(s.S_IFREG)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(s.S_IFMT))===BigInt(s.S_IFLNK)}}function a(){return new r}function A(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const n=e[t];"number"==typeof n?e[t]=0:"bigint"==typeof n?e[t]=BigInt(0):i.types.isDate(n)&&(e[t]=new Date(0))}return e}t.BigIntStatsEntry=o,t.makeDefaultStats=a,t.makeEmptyStats=function(){return A(a())},t.clearStats=A,t.convertToBigIntStats=function(e){const t=new o;for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)){const s=e[n];"number"==typeof s?t[n]=BigInt(s):i.types.isDate(s)&&(t[n]=new Date(s))}return t.atimeNs=t.atimeMs*BigInt(1e6),t.mtimeNs=t.mtimeMs*BigInt(1e6),t.ctimeNs=t.ctimeMs*BigInt(1e6),t.birthtimeNs=t.birthtimeMs*BigInt(1e6),t},t.areStatsEqual=function(e,t){if(e.atimeMs!==t.atimeMs)return!1;if(e.birthtimeMs!==t.birthtimeMs)return!1;if(e.blksize!==t.blksize)return!1;if(e.blocks!==t.blocks)return!1;if(e.ctimeMs!==t.ctimeMs)return!1;if(e.dev!==t.dev)return!1;if(e.gid!==t.gid)return!1;if(e.ino!==t.ino)return!1;if(e.isBlockDevice()!==t.isBlockDevice())return!1;if(e.isCharacterDevice()!==t.isCharacterDevice())return!1;if(e.isDirectory()!==t.isDirectory())return!1;if(e.isFIFO()!==t.isFIFO())return!1;if(e.isFile()!==t.isFile())return!1;if(e.isSocket()!==t.isSocket())return!1;if(e.isSymbolicLink()!==t.isSymbolicLink())return!1;if(e.mode!==t.mode)return!1;if(e.mtimeMs!==t.mtimeMs)return!1;if(e.nlink!==t.nlink)return!1;if(e.rdev!==t.rdev)return!1;if(e.size!==t.size)return!1;if(e.uid!==t.uid)return!1;const n=e,i=t;return n.atimeNs===i.atimeNs&&n.mtimeNs===i.mtimeNs&&n.ctimeNs===i.ctimeNs&&n.birthtimeNs===i.birthtimeNs}},6934:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.xfs=void 0;const i=n(2042).__importDefault(n(2037)),s=n(8461),r=n(6809);function o(e){return`${e}${Math.ceil(4294967296*Math.random()).toString(16).padStart(8,"0")}`}const a=new Set;let A=null;function l(){if(A)return A;const e=r.npath.toPortablePath(i.default.tmpdir()),n=t.xfs.realpathSync(e);return process.once("exit",(()=>{t.xfs.rmtempSync()})),A={tmpdir:e,realTmpdir:n}}t.xfs=Object.assign(new s.NodeFS,{detachTemp(e){a.delete(e)},mktempSync(e){const{tmpdir:t,realTmpdir:n}=l();for(;;){const i=o("xfs-");try{this.mkdirSync(r.ppath.join(t,i))}catch(e){if("EEXIST"===e.code)continue;throw e}const s=r.ppath.join(n,i);if(a.add(s),void 0===e)return s;try{return e(s)}finally{if(a.has(s)){a.delete(s);try{this.removeSync(s)}catch{}}}}},async mktempPromise(e){const{tmpdir:t,realTmpdir:n}=l();for(;;){const i=o("xfs-");try{await this.mkdirPromise(r.ppath.join(t,i))}catch(e){if("EEXIST"===e.code)continue;throw e}const s=r.ppath.join(n,i);if(a.add(s),void 0===e)return s;try{return await e(s)}finally{if(a.has(s)){a.delete(s);try{await this.removePromise(s)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(a.values()).map((async e=>{try{await t.xfs.removePromise(e,{maxRetries:0}),a.delete(e)}catch{}})))},rmtempSync(){for(const e of a)try{t.xfs.removeSync(e),a.delete(e)}catch{}}})},9629:(e,t,n)=>{var i=Object.assign({},n(7147)),s=(("undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||__filename,function(e){var t,s,r=void 0!==(e=e||{})?e:{};r.ready=new Promise((function(e,n){t=e,s=n}));var o,a={};for(o in r)r.hasOwnProperty(o)&&(a[o]=r[o]);var A,l,c,p,g,u=[];g=__dirname+"/",A=function(e,t){var s=Ie(e);return s?t?s:s.toString():(c||(c=i),p||(p=n(1017)),e=p.normalize(e),c.readFileSync(e,t?null:"utf8"))},l=function(e){var t=A(e,!0);return t.buffer||(t=new Uint8Array(t)),f(t.buffer),t},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),u=process.argv.slice(2),r.inspect=function(){return"[Emscripten Module object]"};var d,h,C=r.print||console.log.bind(console),m=r.printErr||console.warn.bind(console);for(o in a)a.hasOwnProperty(o)&&(r[o]=a[o]);a=null,r.arguments&&(u=r.arguments),r.thisProgram&&r.thisProgram,r.quit&&r.quit,r.wasmBinary&&(d=r.wasmBinary),r.noExitRuntime,"object"!=typeof WebAssembly&&J("no native wasm support detected");var y=!1;function f(e,t){e||J("Assertion failed: "+t)}function I(e){var t=r["_"+e];return f(t,"Cannot call unknown function "+e+", make sure it is exported"),t}function E(e,t,n,i,s){var r={string:function(e){var t=0;if(null!=e&&0!==e){var n=1+(e.length<<2);N(e,t=Fe(n),n)}return t},array:function(e){var t,n,i=Fe(e.length);return t=e,n=i,B.set(t,n),i}},o=I(e),a=[],A=0;if(i)for(var l=0;l=i);)++s;if(s-t>16&&e.subarray&&S)return S.decode(e.subarray(t,s));for(var r="";t>10,56320|1023&l)}}else r+=String.fromCharCode((31&o)<<6|a)}else r+=String.fromCharCode(o)}return r}function F(e,t){return e?b(v,e,t):""}function k(e,t,n,i){if(!(i>0))return 0;for(var s=n,r=n+i-1,o=0;o=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++o)),a<=127){if(n>=r)break;t[n++]=a}else if(a<=2047){if(n+1>=r)break;t[n++]=192|a>>6,t[n++]=128|63&a}else if(a<=65535){if(n+2>=r)break;t[n++]=224|a>>12,t[n++]=128|a>>6&63,t[n++]=128|63&a}else{if(n+3>=r)break;t[n++]=240|a>>18,t[n++]=128|a>>12&63,t[n++]=128|a>>6&63,t[n++]=128|63&a}}return t[n]=0,n-s}function N(e,t,n){return k(e,v,t,n)}function P(e){for(var t=0,n=0;n=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++n)),i<=127?++t:t+=i<=2047?2:i<=65535?3:4}return t}function x(e){var t=P(e)+1,n=ve(t);return n&&k(e,B,n,t),n}function R(e){T=e,r.HEAP8=B=new Int8Array(e),r.HEAP16=Q=new Int16Array(e),r.HEAP32=_=new Int32Array(e),r.HEAPU8=v=new Uint8Array(e),r.HEAPU16=new Uint16Array(e),r.HEAPU32=new Uint32Array(e),r.HEAPF32=w=new Float32Array(e),r.HEAPF64=D=new Float64Array(e)}r.INITIAL_MEMORY;var M,L=[],K=[],O=[],U=0,G=null,Y=null;function V(e){U++,r.monitorRunDependencies&&r.monitorRunDependencies(U)}function z(e){if(U--,r.monitorRunDependencies&&r.monitorRunDependencies(U),0==U&&(null!==G&&(clearInterval(G),G=null),Y)){var t=Y;Y=null,t()}}function J(e){r.onAbort&&r.onAbort(e),m(e+=""),y=!0,e="abort("+e+"). Build with -s ASSERTIONS=1 for more info.";var t=new WebAssembly.RuntimeError(e);throw s(t),t}r.preloadedImages={},r.preloadedAudios={};var j="data:application/octet-stream;base64,";function q(e){return e.startsWith(j)}var H,W,X,$="data:application/octet-stream;base64,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ACgCFC0AAiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQADIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAQgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAGIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAcgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAJIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAogACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAMIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA0gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAPIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhRBEGo2AhQgACAAKAIIQQFrIgE2AgggAQ0ACyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAwBCwsgACgCEARAA0AgACgCEEEQTwRAIAAgACgCEEEQazYCECAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAkgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQALIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAwgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAOIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA8gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFEEQajYCFAwBCwsDQCAAIAAoAhAiAUEBazYCECABBEAgACAAKAIUIgFBAWo2AhQgACABLQAAIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDAwBCwsgACAAKAIYQfH/A3A2AhggACAAKAIMQfH/A3A2AgwLIAAgACgCGCAAKAIMQRB0cjYCHAsgACgCHCEAIANBEGokACAAC1IBAn9BkJcBKAIAIgEgAEEDakF8cSICaiEAAkAgAkEAIAAgAU0bDQAgAD8AQRB0SwRAIAAQDEUNAQtBkJcBIAA2AgAgAQ8LQbSbAUEwNgIAQX8LvAIBAX8jAEEgayIEJAAgBCAANgIYIAQgATcDECAEIAI2AgwgBCADNgIIIAQoAghFBEAgBCAEKAIYQQhqNgIICwJAIAQpAxAgBCgCGCkDMFoEQCAEKAIIQRJBABAUIARBADYCHAwBCwJAIAQoAgxBCHFFBEAgBCgCGCgCQCAEKQMQp0EEdGooAgQNAQsgBCgCGCgCQCAEKQMQp0EEdGooAgBFBEAgBCgCCEESQQAQFCAEQQA2AhwMAgsCQCAEKAIYKAJAIAQpAxCnQQR0ai0ADEEBcUUNACAEKAIMQQhxDQAgBCgCCEEXQQAQFCAEQQA2AhwMAgsgBCAEKAIYKAJAIAQpAxCnQQR0aigCADYCHAwBCyAEIAQoAhgoAkAgBCkDEKdBBHRqKAIENgIcCyAEKAIcIQAgBEEgaiQAIAALhAEBAX8jAEEQayIBJAAgASAANgIIIAFB2AAQGCIANgIEAkAgAEUEQCABQQA2AgwMAQsCQCABKAIIBEAgASgCBCABKAIIQdgAEBkaDAELIAEoAgQQUwsgASgCBEEANgIAIAEoAgRBAToABSABIAEoAgQ2AgwLIAEoAgwhACABQRBqJAAgAAtvAQF/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNgIQIAMgAygCGCADKAIQrRAeNgIMAkAgAygCDEUEQCADQX82AhwMAQsgAygCDCADKAIUIAMoAhAQGRogA0EANgIcCyADKAIcGiADQSBqJAALogEBAX8jAEEgayIEJAAgBCAANgIYIAQgATcDECAEIAI2AgwgBCADNgIIIAQgBCgCDCAEKQMQECkiADYCBAJAIABFBEAgBCgCCEEOQQAQFCAEQQA2AhwMAQsgBCgCGCAEKAIEKAIEIAQpAxAgBCgCCBBkQQBIBEAgBCgCBBAWIARBADYCHAwBCyAEIAQoAgQ2AhwLIAQoAhwhACAEQSBqJAAgAAugAQEBfyMAQSBrIgMkACADIAA2AhQgAyABNgIQIAMgAjcDCCADIAMoAhA2AgQCQCADKQMIQghUBEAgA0J/NwMYDAELIwBBEGsiACADKAIUNgIMIAAoAgwoAgAhACADKAIEIAA2AgAjAEEQayIAIAMoAhQ2AgwgACgCDCgCBCEAIAMoAgQgADYCBCADQgg3AxgLIAMpAxghAiADQSBqJAAgAguDAQIDfwF+AkAgAEKAgICAEFQEQCAAIQUMAQsDQCABQQFrIgEgACAAQgqAIgVCCn59p0EwcjoAACAAQv////+fAVYhAiAFIQAgAg0ACwsgBaciAgRAA0AgAUEBayIBIAIgAkEKbiIDQQpsa0EwcjoAACACQQlLIQQgAyECIAQNAAsLIAELPwEBfyMAQRBrIgIgADYCDCACIAE2AgggAigCDARAIAIoAgwgAigCCCgCADYCACACKAIMIAIoAggoAgQ2AgQLC9IIAQJ/IwBBIGsiBCQAIAQgADYCGCAEIAE2AhQgBCACNgIQIAQgAzYCDAJAIAQoAhhFBEAgBCgCFARAIAQoAhRBADYCAAsgBEGVFTYCHAwBCyAEKAIQQcAAcUUEQCAEKAIYKAIIRQRAIAQoAhhBABA6GgsCQAJAAkAgBCgCEEGAAXFFDQAgBCgCGCgCCEEBRg0AIAQoAhgoAghBAkcNAQsgBCgCGCgCCEEERw0BCyAEKAIYKAIMRQRAIAQoAhgoAgAhASAEKAIYLwEEIQIgBCgCGEEQaiEDIAQoAgwhBSMAQTBrIgAkACAAIAE2AiggACACNgIkIAAgAzYCICAAIAU2AhwgACAAKAIoNgIYAkAgACgCJEUEQCAAKAIgBEAgACgCIEEANgIACyAAQQA2AiwMAQsgAEEBNgIQIABBADYCDANAIAAoAgwgACgCJEkEQCMAQRBrIgEgACgCGCAAKAIMai0AAEEBdEGgFWovAQA2AggCQCABKAIIQYABSQRAIAFBATYCDAwBCyABKAIIQYAQSQRAIAFBAjYCDAwBCyABKAIIQYCABEkEQCABQQM2AgwMAQsgAUEENgIMCyAAIAEoAgwgACgCEGo2AhAgACAAKAIMQQFqNgIMDAELCyAAIAAoAhAQGCIBNgIUIAFFBEAgACgCHEEOQQAQFCAAQQA2AiwMAQsgAEEANgIIIABBADYCDANAIAAoAgwgACgCJEkEQCAAKAIUIAAoAghqIQIjAEEQayIBIAAoAhggACgCDGotAABBAXRBoBVqLwEANgIIIAEgAjYCBAJAIAEoAghBgAFJBEAgASgCBCABKAIIOgAAIAFBATYCDAwBCyABKAIIQYAQSQRAIAEoAgQgASgCCEEGdkEfcUHAAXI6AAAgASgCBCABKAIIQT9xQYABcjoAASABQQI2AgwMAQsgASgCCEGAgARJBEAgASgCBCABKAIIQQx2QQ9xQeABcjoAACABKAIEIAEoAghBBnZBP3FBgAFyOgABIAEoAgQgASgCCEE/cUGAAXI6AAIgAUEDNgIMDAELIAEoAgQgASgCCEESdkEHcUHwAXI6AAAgASgCBCABKAIIQQx2QT9xQYABcjoAASABKAIEIAEoAghBBnZBP3FBgAFyOgACIAEoAgQgASgCCEE/cUGAAXI6AAMgAUEENgIMCyAAIAEoAgwgACgCCGo2AgggACAAKAIMQQFqNgIMDAELCyAAKAIUIAAoAhBBAWtqQQA6AAAgACgCIARAIAAoAiAgACgCEEEBazYCAAsgACAAKAIUNgIsCyAAKAIsIQEgAEEwaiQAIAQoAhggATYCDCABRQRAIARBADYCHAwECwsgBCgCFARAIAQoAhQgBCgCGCgCEDYCAAsgBCAEKAIYKAIMNgIcDAILCyAEKAIUBEAgBCgCFCAEKAIYLwEENgIACyAEIAQoAhgoAgA2AhwLIAQoAhwhACAEQSBqJAAgAAs5AQF/IwBBEGsiASAANgIMQQAhACABKAIMLQAAQQFxBH8gASgCDCkDECABKAIMKQMIUQVBAAtBAXEL7wIBAX8jAEEQayIBJAAgASAANgIIAkAgASgCCC0AKEEBcQRAIAFBfzYCDAwBCyABKAIIKAIkQQNGBEAgASgCCEEMakEXQQAQFCABQX82AgwMAQsCQCABKAIIKAIgBEACfyMAQRBrIgAgASgCCDYCDCAAKAIMKQMYQsAAg1ALBEAgASgCCEEMakEdQQAQFCABQX82AgwMAwsMAQsgASgCCCgCAARAIAEoAggoAgAQSEEASARAIAEoAghBDGogASgCCCgCABAXIAFBfzYCDAwDCwsgASgCCEEAQgBBABAgQgBTBEAgASgCCCgCAARAIAEoAggoAgAQLxoLIAFBfzYCDAwCCwsgASgCCEEAOgA0IAEoAghBADoANSMAQRBrIgAgASgCCEEMajYCDCAAKAIMBEAgACgCDEEANgIAIAAoAgxBADYCBAsgASgCCCIAIAAoAiBBAWo2AiAgAUEANgIMCyABKAIMIQAgAUEQaiQAIAALdQIBfwF+IwBBEGsiASQAIAEgADYCBAJAIAEoAgQtAChBAXEEQCABQn83AwgMAQsgASgCBCgCIEUEQCABKAIEQQxqQRJBABAUIAFCfzcDCAwBCyABIAEoAgRBAEIAQQcQIDcDCAsgASkDCCECIAFBEGokACACC50BAQF/IwBBEGsiASAANgIIAkACQAJAIAEoAghFDQAgASgCCCgCIEUNACABKAIIKAIkDQELIAFBATYCDAwBCyABIAEoAggoAhw2AgQCQAJAIAEoAgRFDQAgASgCBCgCACABKAIIRw0AIAEoAgQoAgRBtP4ASQ0AIAEoAgQoAgRB0/4ATQ0BCyABQQE2AgwMAQsgAUEANgIMCyABKAIMC4ABAQN/IwBBEGsiAiAANgIMIAIgATYCCCACKAIIQQh2IQEgAigCDCgCCCEDIAIoAgwiBCgCFCEAIAQgAEEBajYCFCAAIANqIAE6AAAgAigCCEH/AXEhASACKAIMKAIIIQMgAigCDCICKAIUIQAgAiAAQQFqNgIUIAAgA2ogAToAAAuZBQEBfyMAQUBqIgQkACAEIAA2AjggBCABNwMwIAQgAjYCLCAEIAM2AiggBEHIABAYIgA2AiQCQCAARQRAIARBADYCPAwBCyAEKAIkQgA3AzggBCgCJEIANwMYIAQoAiRCADcDMCAEKAIkQQA2AgAgBCgCJEEANgIEIAQoAiRCADcDCCAEKAIkQgA3AxAgBCgCJEEANgIoIAQoAiRCADcDIAJAIAQpAzBQBEBBCBAYIQAgBCgCJCAANgIEIABFBEAgBCgCJBAVIAQoAihBDkEAEBQgBEEANgI8DAMLIAQoAiQoAgRCADcDAAwBCyAEKAIkIAQpAzBBABDCAUEBcUUEQCAEKAIoQQ5BABAUIAQoAiQQMiAEQQA2AjwMAgsgBEIANwMIIARCADcDGCAEQgA3AxADQCAEKQMYIAQpAzBUBEAgBCgCOCAEKQMYp0EEdGopAwhQRQRAIAQoAjggBCkDGKdBBHRqKAIARQRAIAQoAihBEkEAEBQgBCgCJBAyIARBADYCPAwFCyAEKAIkKAIAIAQpAxCnQQR0aiAEKAI4IAQpAxinQQR0aigCADYCACAEKAIkKAIAIAQpAxCnQQR0aiAEKAI4IAQpAxinQQR0aikDCDcDCCAEKAIkKAIEIAQpAxinQQN0aiAEKQMINwMAIAQgBCgCOCAEKQMYp0EEdGopAwggBCkDCHw3AwggBCAEKQMQQgF8NwMQCyAEIAQpAxhCAXw3AxgMAQsLIAQoAiQgBCkDEDcDCCAEKAIkIAQoAiwEfkIABSAEKAIkKQMICzcDGCAEKAIkKAIEIAQoAiQpAwinQQN0aiAEKQMINwMAIAQoAiQgBCkDCDcDMAsgBCAEKAIkNgI8CyAEKAI8IQAgBEFAayQAIAALngEBAX8jAEEgayIEJAAgBCAANgIYIAQgATcDECAEIAI2AgwgBCADNgIIIAQgBCgCGCAEKQMQIAQoAgwgBCgCCBA/IgA2AgQCQCAARQRAIARBADYCHAwBCyAEIAQoAgQoAjBBACAEKAIMIAQoAggQRiIANgIAIABFBEAgBEEANgIcDAELIAQgBCgCADYCHAsgBCgCHCEAIARBIGokACAAC5wIAQt/IABFBEAgARAYDwsgAUFATwRAQbSbAUEwNgIAQQAPCwJ/QRAgAUELakF4cSABQQtJGyEGIABBCGsiBSgCBCIJQXhxIQQCQCAJQQNxRQRAQQAgBkGAAkkNAhogBkEEaiAETQRAIAUhAiAEIAZrQcSfASgCAEEBdE0NAgtBAAwCCyAEIAVqIQcCQCAEIAZPBEAgBCAGayIDQRBJDQEgBSAJQQFxIAZyQQJyNgIEIAUgBmoiAiADQQNyNgIEIAcgBygCBEEBcjYCBCACIAMQxgEMAQsgB0H8mwEoAgBGBEBB8JsBKAIAIARqIgQgBk0NAiAFIAlBAXEgBnJBAnI2AgQgBSAGaiIDIAQgBmsiAkEBcjYCBEHwmwEgAjYCAEH8mwEgAzYCAAwBCyAHQfibASgCAEYEQEHsmwEoAgAgBGoiAyAGSQ0CAkAgAyAGayICQRBPBEAgBSAJQQFxIAZyQQJyNgIEIAUgBmoiBCACQQFyNgIEIAMgBWoiAyACNgIAIAMgAygCBEF+cTYCBAwBCyAFIAlBAXEgA3JBAnI2AgQgAyAFaiICIAIoAgRBAXI2AgRBACECQQAhBAtB+JsBIAQ2AgBB7JsBIAI2AgAMAQsgBygCBCIDQQJxDQEgA0F4cSAEaiIKIAZJDQEgCiAGayEMAkAgA0H/AU0EQCAHKAIIIgQgA0EDdiICQQN0QYycAWpGGiAEIAcoAgwiA0YEQEHkmwFB5JsBKAIAQX4gAndxNgIADAILIAQgAzYCDCADIAQ2AggMAQsgBygCGCELAkAgByAHKAIMIghHBEAgBygCCCICQfSbASgCAEkaIAIgCDYCDCAIIAI2AggMAQsCQCAHQRRqIgQoAgAiAg0AIAdBEGoiBCgCACICDQBBACEIDAELA0AgBCEDIAIiCEEUaiIEKAIAIgINACAIQRBqIQQgCCgCECICDQALIANBADYCAAsgC0UNAAJAIAcgBygCHCIDQQJ0QZSeAWoiAigCAEYEQCACIAg2AgAgCA0BQeibAUHomwEoAgBBfiADd3E2AgAMAgsgC0EQQRQgCygCECAHRhtqIAg2AgAgCEUNAQsgCCALNgIYIAcoAhAiAgRAIAggAjYCECACIAg2AhgLIAcoAhQiAkUNACAIIAI2AhQgAiAINgIYCyAMQQ9NBEAgBSAJQQFxIApyQQJyNgIEIAUgCmoiAiACKAIEQQFyNgIEDAELIAUgCUEBcSAGckECcjYCBCAFIAZqIgMgDEEDcjYCBCAFIApqIgIgAigCBEEBcjYCBCADIAwQxgELIAUhAgsgAgsiAgRAIAJBCGoPCyABEBgiBUUEQEEADwsgBSAAQXxBeCAAQQRrKAIAIgJBA3EbIAJBeHFqIgIgASABIAJLGxAZGiAAEBUgBQtDAQN/AkAgAkUNAANAIAAtAAAiBCABLQAAIgVGBEAgAUEBaiEBIABBAWohACACQQFrIgINAQwCCwsgBCAFayEDCyADC4wDAQF/IwBBIGsiBCQAIAQgADYCGCAEIAE7ARYgBCACNgIQIAQgAzYCDAJAIAQvARZFBEAgBEEANgIcDAELAkACQAJAAkAgBCgCEEGAMHEiAARAIABBgBBGDQEgAEGAIEYNAgwDCyAEQQA2AgQMAwsgBEECNgIEDAILIARBBDYCBAwBCyAEKAIMQRJBABAUIARBADYCHAwBCyAEQRQQGCIANgIIIABFBEAgBCgCDEEOQQAQFCAEQQA2AhwMAQsgBC8BFkEBahAYIQAgBCgCCCAANgIAIABFBEAgBCgCCBAVIARBADYCHAwBCyAEKAIIKAIAIAQoAhggBC8BFhAZGiAEKAIIKAIAIAQvARZqQQA6AAAgBCgCCCAELwEWOwEEIAQoAghBADYCCCAEKAIIQQA2AgwgBCgCCEEANgIQIAQoAgQEQCAEKAIIIAQoAgQQOkEFRgRAIAQoAggQJCAEKAIMQRJBABAUIARBADYCHAwCCwsgBCAEKAIINgIcCyAEKAIcIQAgBEEgaiQAIAALNwEBfyMAQRBrIgEgADYCCAJAIAEoAghFBEAgAUEAOwEODAELIAEgASgCCC8BBDsBDgsgAS8BDguJAgEBfyMAQRBrIgEkACABIAA2AgwCQCABKAIMLQAFQQFxBEAgASgCDCgCAEECcUUNAQsgASgCDCgCMBAkIAEoAgxBADYCMAsCQCABKAIMLQAFQQFxBEAgASgCDCgCAEEIcUUNAQsgASgCDCgCNBAjIAEoAgxBADYCNAsCQCABKAIMLQAFQQFxBEAgASgCDCgCAEEEcUUNAQsgASgCDCgCOBAkIAEoAgxBADYCOAsCQCABKAIMLQAFQQFxBEAgASgCDCgCAEGAAXFFDQELIAEoAgwoAlQEQCABKAIMKAJUQQAgASgCDCgCVBAuEDMLIAEoAgwoAlQQFSABKAIMQQA2AlQLIAFBEGokAAvxAQEBfyMAQRBrIgEgADYCDCABKAIMQQA2AgAgASgCDEEAOgAEIAEoAgxBADoABSABKAIMQQE6AAYgASgCDEG/BjsBCCABKAIMQQo7AQogASgCDEEAOwEMIAEoAgxBfzYCECABKAIMQQA2AhQgASgCDEEANgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvSEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQOjYClAEgAyADKAKkASgCOEEAEDo2ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEI4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQjgE2AkggAygCSEUEQCADKAKQARAjIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyMAQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAMoApABNgIAIAMgAygCDDYCkAELIAMgA0HQAGpCLhApIgA2AkwgAEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAQsgAygCTEHxEkH2EiADKAKgAUGAAnEbQQQQQSADKAKgAUGAAnFFBEAgAygCTCADLQCGAUEBcQR/QS0FIAMoAqQBLwEIC0H//wNxEB8LIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCgtB//8DcRAfIAMoAkwgAygCpAEvAQwQHwJAIAMtAIUBQQFxBEAgAygCTEHjABAfDAELIAMoAkwgAygCpAEoAhBB//8DcRAfCyADKAKkASgCFCADQZ4BaiADQZwBahCNASADKAJMIAMvAZ4BEB8gAygCTCADLwGcARAfAkACQCADLQCFAUEBcUUNACADKAKkASkDKEIUWg0AIAMoAkxBABAhDAELIAMoAkwgAygCpAEoAhgQIQsCQAJAIAMoAqABQYACcUGAAkcNACADKAKkASkDIEL/////D1QEQCADKAKkASkDKEL/////D1QNAQsgAygCTEF/ECEgAygCTEF/ECEMAQsCQCADKAKkASkDIEL/////D1QEQCADKAJMIAMoAqQBKQMgpxAhDAELIAMoAkxBfxAhCwJAIAMoAqQBKQMoQv////8PVARAIAMoAkwgAygCpAEpAyinECEMAQsgAygCTEF/ECELCyADKAJMIAMoAqQBKAIwEFFB//8DcRAfIAMgAygCpAEoAjQgAygCoAEQkgFB//8DcSADKAKQAUGABhCSAUH//wNxajYCiAEgAygCTCADKAKIAUH//wNxEB8gAygCoAFBgAJxRQRAIAMoAkwgAygCpAEoAjgQUUH//wNxEB8gAygCTCADKAKkASgCPEH//wNxEB8gAygCTCADKAKkAS8BQBAfIAMoAkwgAygCpAEoAkQQIQJAIAMoAqQBKQNIQv////8PVARAIAMoAkwgAygCpAEpA0inECEMAQsgAygCTEF/ECELCwJ/IwBBEGsiACADKAJMNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAUIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCqAEgA0HQAGoCfiMAQRBrIgAgAygCTDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCTBAWIAMoApABECMgA0F/NgKsAQwBCyADKAJMEBYgAygCpAEoAjAEQCADKAKoASADKAKkASgCMBCFAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEEQCADKAKoASADKAKQAUGABhCRAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEQIyADKAKkASgCNARAIAMoAqgBIAMoAqQBKAI0IAMoAqABEJEBQQBIBEAgA0F/NgKsAQwCCwsgAygCoAFBgAJxRQRAIAMoAqQBKAI4BEAgAygCqAEgAygCpAEoAjgQhQFBAEgEQCADQX82AqwBDAMLCwsgAyADLQCHAUEBcTYCrAELIAMoAqwBIQAgA0GwAWokACAAC+ACAQF/IwBBIGsiBCQAIAQgADsBGiAEIAE7ARggBCACNgIUIAQgAzYCECAEQRAQGCIANgIMAkAg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AAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAIANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAIoKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAA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AQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAIIEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAMoAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCgCADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEGBsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2AgwMAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAUvATatECkiADYC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IAEoAhBB//8DRgRAIAEgASgCDDYCEAsgASgCCEH//wNGBEAgASABKAIENgIICwJAIAEoApQBQQRxRQ0AIAEoAgggASgCBEYEQCABKAIQIAEoAgxGDQELIAEoApABQRVBABAUIAEtABdBAXEEQCABKAKkARAWCyABQQA2AqwBDAELAkAgASgCEEUEQCABKAIIRQ0BCyABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AyggASABKAKkARAxNwMgIAEpAyggASkDIFIEQCABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AzAgASABKAKkARAxNwOAAQJ/IwBBEGsiBSABKAKkATYCDCAFKAIMLQAAQQFxRQsEQCABKAKQAUEUQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABLQAXQQFxBEAgASgCpAEQFgsCQCABKQOAAUL///////////8AWARAIAEpA4ABIAEpA4ABIAEpAzB8WA0BCyABKAKQAUEEQRYQFCABQQA2AqwBDAELIAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCQASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQMEIWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJI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ECADQcgAEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjwgAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgRLBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIc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DQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMIQgSGIAgpAwAiA0I8iIQhAiAIKQMQIAgpAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACIVCAFINACACQgGDIAJ8IQILIAhBIGokACACIAZCgICAgICAgICAf4OEvws5AwALrRcDEn8CfgF8IwBBsARrIgkkACAJQQA2AiwCQCABvSIYQn9XBEBBASESQa4IIRMgAZoiAb0hGAwBCyAEQYAQcQRAQQEhEkGxCCETDAELQbQIQa8IIARBAXEiEhshEyASRSEXCwJAIBhCgICAgICAgPj/AINCgICAgICAgPj/AFEEQCAAQSAgAiASQQNqIg0gBEH//3txECYgACATIBIQIiAAQeQLQbUSIAVBIHEiAxtBjw1BuRIgAxsgASABYhtBAxAiDAELIAlBEGohEAJAAn8CQCABIAlBLGoQqQEiASABoCIBRAAAAAAAAAAAYgRAIAkgCSgCLCIGQQFrNgIsIAVBIHIiFEHhAEcNAQwDCyAFQSByIhRB4QBGDQIgCSgCLCELQQYgAyADQQBIGwwBCyAJIAZBHWsiCzYCLCABRAAAAAAAALBBoiEBQQYgAyADQQBIGwshCiAJQTBqIAlB0AJqIAtBAEgbIg4hBwNAIAcCfyABRAAAAAAAAPBBYyABRAAAAAAAAAAAZnEEQCABqwwBC0EACyIDNgIAIAdBBGohByABIAO4oUQAAAAAZc3NQaIiAUQAAAAAAAAAAGINAAsCQCALQQFIBEAgCyEDIAchBiAOIQgMAQsgDiEIIAshAwNAIANBHSADQR1IGyEMAkAgB0EEayIGIAhJDQAgDK0hGUIAIRgDQCAGIAY1AgAgGYYgGHwiGCAYQoCU69wDgCIYQoCU69wDfn0+AgAgCCAGQQRrIgZNBEAgGEL/////D4MhGAwBCwsgGKciA0UNACAIQQRrIgggAzYCAAsDQCAIIAciBkkEQCAGQQRrIgcoAgBFDQELCyAJIAkoAiwgDGsiAzYCLCAGIQcgA0EASg0ACwsgCkEZakEJbSEHIANBf0wEQCAHQQFqIQ0gFEHmAEYhFQNAQQlBACADayADQXdIGyEWAkAgBiAISwRAQYCU69wDIBZ2IQ9BfyAWdEF/cyERQQAhAyAIIQcDQCAHIAMgBygCACIMIBZ2ajYCACAMIBFxIA9sIQMgB0EEaiIHIAZJDQALIAggCEEEaiAIKAIAGyEIIANFDQEgBiADNgIAIAZBBGohBgwBCyAIIAhBBGogCCgCABshCAsgCSAJKAIsIBZqIgM2AiwgDiAIIBUbIgcgDUECdGogBiAGIAdrQQJ1IA1KGyEGIANBAEgNAAsLQQAhBwJAIAYgCE0NACAOIAhrQQJ1QQlsIQcgCCgCACIMQQpJDQBB5AAhAwNAIAdBAWohByADIAxLDQEgA0EKbCEDDAALAAsgCkEAIAcgFEHmAEYbayAUQecARiAKQQBHcWsiAyAGIA5rQQJ1QQlsQQlrSARAIANBgMgAaiIRQQltIgxBAnQgCUEwakEEciAJQdQCaiALQQBIG2pBgCBrIQ1BCiEDAkAgESAMQQlsayIMQQdKDQBB5AAhAwNAIAxBAWoiDEEIRg0BIANBCmwhAwwACwALAkAgDSgCACIRIBEgA24iDCADbGsiD0EBIA1BBGoiCyAGRhtFDQBEAAAAAAAA4D9EAAAAAAAA8D9EAAAAAAAA+D8gBiALRhtEAAAAAAAA+D8gDyADQQF2IgtGGyALIA9LGyEaRAEAAAAAAEBDRAAAAAAAAEBDIAxBAXEbIQECQCAXDQAgEy0AAEEtRw0AIBqaIRogAZohAQsgDSARIA9rIgs2AgAgASAaoCABYQ0AIA0gAyALaiIDNgIAIANBgJTr3ANPBEADQCANQQA2AgAgCCANQQRrIg1LBEAgCEEEayIIQQA2AgALIA0gDSgCAEEBaiIDNgIAIANB/5Pr3ANLDQALCyAOIAhrQQJ1QQlsIQcgCCgCACILQQpJDQBB5AAhAwNAIAdBAWohByADIAtLDQEgA0EKbCEDDAALAAsgDUEEaiIDIAYgAyAGSRshBgsDQCAGIgsgCE0iDEUEQCALQQRrIgYoAgBFDQELCwJAIBRB5wBHBEAgBEEIcSEPDAELIAdBf3NBfyAKQQEgChsiBiAHSiAHQXtKcSIDGyAGaiEKQX9BfiADGyAFaiEFIARBCHEiDw0AQXchBgJAIAwNACALQQRrKAIAIgNFDQBBACEGIANBCnANAEEAIQxB5AAhBgNAIAMgBnBFBEAgDEEBaiEMIAZBCmwhBgwBCwsgDEF/cyEGCyALIA5rQQJ1QQlsIQMgBUFfcUHGAEYEQEEAIQ8gCiADIAZqQQlrIgNBACADQQBKGyIDIAMgCkobIQoMAQtBACEPIAogAyAHaiAGakEJayIDQQAgA0EAShsiAyADIApKGyEKCyAKIA9yQQBHIREgAEEgIAIgBUFfcSIMQcYARgR/IAdBACAHQQBKGwUgECAHIAdBH3UiA2ogA3OtIBAQRCIGa0EBTARAA0AgBkEBayIGQTA6AAAgECAGa0ECSA0ACwsgBkECayIVIAU6AAAgBkEBa0EtQSsgB0EASBs6AAAgECAVawsgCiASaiARampBAWoiDSAEECYgACATIBIQIiAAQTAgAiANIARBgIAEcxAmAkACQAJAIAxBxgBGBEAgCUEQakEIciEDIAlBEGpBCXIhByAOIAggCCAOSxsiBSEIA0AgCDUCACAHEEQhBgJAIAUgCEcEQCAGIAlBEGpNDQEDQCAGQQFrIgZBMDoAACAGIAlBEGpLDQALDAELIAYgB0cNACAJQTA6ABggAyEGCyAAIAYgByAGaxAiIAhBBGoiCCAOTQ0AC0EAIQYgEUUNAiAAQdYSQQEQIiAIIAtPDQEgCkEBSA0BA0AgCDUCACAHEEQiBiAJQRBqSwRAA0AgBkEBayIGQTA6AAAgBiAJQRBqSw0ACwsgACAGIApBCSAKQQlIGxAiIApBCWshBiAIQQRqIgggC08NAyAKQQlKIQMgBiEKIAMNAAsMAgsCQCAKQQBIDQAgCyAIQQRqIAggC0kbIQUgCUEQakEJciELIAlBEGpBCHIhAyAIIQcDQCALIAc1AgAgCxBEIgZGBEAgCUEwOgAYIAMhBgsCQCAHIAhHBEAgBiAJQRBqTQ0BA0AgBkEBayIGQTA6AAAgBiAJQRBqSw0ACwwBCyAAIAZBARAiIAZBAWohBkEAIApBAEwgDxsNACAAQdYSQQEQIgsgACAGIAsgBmsiBiAKIAYgCkgbECIgCiAGayEKIAdBBGoiByAFTw0BIApBf0oNAAsLIABBMCAKQRJqQRJBABAmIAAgFSAQIBVrECIMAgsgCiEGCyAAQTAgBkEJakEJQQAQJgsMAQsgE0EJaiATIAVBIHEiCxshCgJAIANBC0sNAEEMIANrIgZFDQBEAAAAAAAAIEAhGgNAIBpEAAAAAAAAMECiIRogBkEBayIGDQALIAotAABBLUYEQCAaIAGaIBqhoJohAQwBCyABIBqgIBqhIQELIBAgCSgCLCIGIAZBH3UiBmogBnOtIBAQRCIGRgRAIAlBMDoADyAJQQ9qIQYLIBJBAnIhDiAJKAIsIQcgBkECayIMIAVBD2o6AAAgBkEBa0EtQSsgB0EASBs6AAAgBEEIcSEHIAlBEGohCANAIAgiBQJ/IAGZRAAAAAAAAOBBYwRAIAGqDAELQYCAgIB4CyIGQYCHAWotAAAgC3I6AAAgASAGt6FEAAAAAAAAMECiIQECQCAFQQFqIgggCUEQamtBAUcNAAJAIAFEAAAAAAAAAABiDQAgA0EASg0AIAdFDQELIAVBLjoAASAFQQJqIQgLIAFEAAAAAAAAAABiDQALIABBICACIA4CfwJAIANFDQAgCCAJa0ESayADTg0AIAMgEGogDGtBAmoMAQsgECAJQRBqIAxqayAIagsiA2oiDSAEECYgACAKIA4QIiAAQTAgAiANIARBgIAEcxAmIAAgCUEQaiAIIAlBEGprIgUQIiAAQTAgAyAFIBAgDGsiA2prQQBBABAmIAAgDCADECILIABBICACIA0gBEGAwABzECYgCUGwBGokACACIA0gAiANShsLBgBB4J8BCwYAQdyfAQsGAEHUnwELGAEBfyMAQRBrIgEgADYCDCABKAIMQQRqCxgBAX8jAEEQayIBIAA2AgwgASgCDEEIagtpAQF/IwBBEGsiASQAIAEgADYCDCABKAIMKAIUBEAgASgCDCgCFBAbCyABQQA2AgggASgCDCgCBARAIAEgASgCDCgCBDYCCAsgASgCDEEEahA4IAEoAgwQFSABKAIIIQAgAUEQaiQAIAALqQEBA38CQCAALQAAIgJFDQADQCABLQAAIgRFBEAgAiEDDAILAkAgAiAERg0AIAJBIHIgAiACQcEAa0EaSRsgAS0AACICQSByIAIgAkHBAGtBGkkbRg0AIAAtAAAhAwwCCyABQQFqIQEgAC0AASECIABBAWohACACDQALCyADQf8BcSIAQSByIAAgAEHBAGtBGkkbIAEtAAAiAEEgciAAIABBwQBrQRpJG2sLiAEBAX8jAEEQayICJAAgAiAANgIMIAIgATYCCCMAQRBrIgAgAigCDDYCDCAAKAIMQQA2AgAgACgCDEEANgIEIAAoAgxBADYCCCACKAIMIAIoAgg2AgACQCACKAIMEKwBQQFGBEAgAigCDEG0mwEoAgA2AgQMAQsgAigCDEEANgIECyACQRBqJAAL2AkBAX8jAEGwAWsiBSQAIAUgADYCpAEgBSABNgKgASAFIAI2ApwBIAUgAzcDkAEgBSAENgKMASAFIAUoAqABNgKIAQJAAkACQAJAAkACQAJAAkACQAJAAkAgBSgCjAEODwABAgMEBQcICQkJCQkJBgkLIAUoAogBQgA3AyAgBUIANwOoAQwJCyAFIAUoAqQBIAUoApwBIAUpA5ABECsiAzcDgAEgA0IAUwRAIAUoAogBQQhqIAUoAqQBEBcgBUJ/NwOoAQwJCwJAIAUpA4ABUARAIAUoAogBKQMoIAUoAogBKQMgUQRAIAUoAogBQQE2AgQgBSgCiAEgBSgCiAEpAyA3AxggBSgCiAEoAgAEQCAFKAKkASAFQcgAahA5QQBIBEAgBSgCiAFBCGogBSgCpAEQFyAFQn83A6gBDA0LAkAgBSkDSEIgg1ANACAFKAJ0IAUoAogBKAIwRg0AIAUoAogBQQhqQQdBABAUIAVCfzcDqAEMDQsCQCAFKQNIQgSDUA0AIAUpA2AgBSgCiAEpAxhRDQAgBSgCiAFBCGpBFUEAEBQgBUJ/NwOoAQwNCwsLDAELAkAgBSgCiAEoAgQNACAFKAKIASkDICAFKAKIASkDKFYNACAFIAUoAogBKQMoIAUoAogBKQMgfTcDQANAIAUpA0AgBSkDgAFUBEAgBSAFKQOAASAFKQNAfUL/////D1YEfkL/////DwUgBSkDgAEgBSkDQH0LNwM4IAUoAogBKAIwIAUoApwBIAUpA0CnaiAFKQM4pxAaIQAgBSgCiAEgADYCMCAFKAKIASIAIAUpAzggACkDKHw3AyggBSAFKQM4IAUpA0B8NwNADAELCwsLIAUoAogBIgAgBSkDgAEgACkDIHw3AyAgBSAFKQOAATcDqAEMCAsgBUIANwOoAQwHCyAFIAUoApwBNgI0IAUoAogBKAIEBEAgBSgCNCAFKAKIASkDGDcDGCAFKAI0IAUoAogBKAIwNgIsIAUoAjQgBSgCiAEpAxg3AyAgBSgCNEEAOwEwIAUoAjRBADsBMiAFKAI0IgAgACkDAELsAYQ3AwALIAVCADcDqAEMBgsgBSAFKAKIAUEIaiAFKAKcASAFKQOQARBDNwOoAQwFCyAFKAKIARAVIAVCADcDqAEMBAsjAEEQayIAIAUoAqQBNgIMIAUgACgCDCkDGDcDKCAFKQMoQgBTBEAgBSgCiAFBCGogBSgCpAEQFyAFQn83A6gBDAQLIAUpAyghAyAFQX82AhggBUEQNgIUIAVBDzYCECAFQQ02AgwgBUEMNgIIIAVBCjYCBCAFQQk2AgAgBUEIIAUQNEJ/hSADgzcDqAEMAwsgBQJ/IAUpA5ABQhBUBEAgBSgCiAFBCGpBEkEAEBRBAAwBCyAFKAKcAQs2AhwgBSgCHEUEQCAFQn83A6gBDAMLAkAgBSgCpAEgBSgCHCkDACAFKAIcKAIIECdBAE4EQCAFIAUoAqQBEEkiAzcDICADQgBZDQELIAUoAogBQQhqIAUoAqQBEBcgBUJ/NwOoAQwDCyAFKAKIASAFKQMgNwMgIAVCADcDqAEMAgsgBSAFKAKIASkDIDcDqAEMAQsgBSgCiAFBCGpBHEEAEBQgBUJ/NwOoAQsgBSkDqAEhAyAFQbABaiQAIAMLnAwBAX8jAEEwayIFJAAgBSAANgIkIAUgATYCICAFIAI2AhwgBSADNwMQIAUgBDYCDCAFIAUoAiA2AggCQAJAAkACQAJAAkACQAJAAkACQCAFKAIMDhEAAQIDBQYICAgICAgICAcIBAgLIAUoAghCADcDGCAFKAIIQQA6AAwgBSgCCEEAOgANIAUoAghBADoADyAFKAIIQn83AyAgBSgCCCgCrEAgBSgCCCgCqEAoAgwRAABBAXFFBEAgBUJ/NwMoDAkLIAVCADcDKAwICyAFKAIkIQEgBSgCCCECIAUoAhwhBCAFKQMQIQMjAEFAaiIAJAAgACABNgI0IAAgAjYCMCAAIAQ2AiwgACADNwMgAkACfyMAQRBrIgEgACgCMDYCDCABKAIMKAIACwRAIABCfzcDOAwBCwJAIAApAyBQRQRAIAAoAjAtAA1BAXFFDQELIABCADcDOAwBCyAAQgA3AwggAEEAOgAbA0AgAC0AG0EBcQR/QQAFIAApAwggACkDIFQLQQFxBEAgACAAKQMgIAApAwh9NwMAIAAgACgCMCgCrEAgACgCLCAAKQMIp2ogACAAKAIwKAKoQCgCHBEBADYCHCAAKAIcQQJHBEAgACAAKQMAIAApAwh8NwMICwJAAkACQAJAIAAoAhxBAWsOAwACAQMLIAAoAjBBAToADQJAIAAoAjAtAAxBAXENAAsgACgCMCkDIEIAUwRAIAAoAjBBFEEAEBQgAEEBOgAbDAMLAkAgACgCMC0ADkEBcUUNACAAKAIwKQMgIAApAwhWDQAgACgCMEEBOgAPIAAoAjAgACgCMCkDIDcDGCAAKAIsIAAoAjBBKGogACgCMCkDGKcQGRogACAAKAIwKQMYNwM4DAYLIABBAToAGwwCCyAAKAIwLQAMQQFxBEAgAEEBOgAbDAILIAAgACgCNCAAKAIwQShqQoDAABArIgM3AxAgA0IAUwRAIAAoAjAgACgCNBAXIABBAToAGwwCCwJAIAApAxBQBEAgACgCMEEBOgAMIAAoAjAoAqxAIAAoAjAoAqhAKAIYEQIAIAAoAjApAyBCAFMEQCAAKAIwQgA3AyALDAELAkAgACgCMCkDIEIAWQRAIAAoAjBBADoADgwBCyAAKAIwIAApAxA3AyALIAAoAjAoAqxAIAAoAjBBKGogACkDECAAKAIwKAKoQCgCFBEQABoLDAELAn8jAEEQayIBIAAoAjA2AgwgASgCDCgCAEULBEAgACgCMEEUQQAQFAsgAEEBOgAbCwwBCwsgACkDCEIAUgRAIAAoAjBBADoADiAAKAIwIgEgACkDCCABKQMYfDcDGCAAIAApAwg3AzgMAQsgAEF/QQACfyMAQRBrIgEgACgCMDYCDCABKAIMKAIACxusNwM4CyAAKQM4IQMgAEFAayQAIAUgAzcDKAwHCyAFKAIIKAKsQCAFKAIIKAKoQCgCEBEAAEEBcUUEQCAFQn83AygMBwsgBUIANwMoDAYLIAUgBSgCHDYCBAJAIAUoAggtABBBAXEEQCAFKAIILQANQQFxBEAgBSgCBCAFKAIILQAPQQFxBH9BAAUCfwJAIAUoAggoAhRBf0cEQCAFKAIIKAIUQX5HDQELQQgMAQsgBSgCCCgCFAtB//8DcQs7ATAgBSgCBCAFKAIIKQMYNwMgIAUoAgQiACAAKQMAQsgAhDcDAAwCCyAFKAIEIgAgACkDAEK3////D4M3AwAMAQsgBSgCBEEAOwEwIAUoAgQiACAAKQMAQsAAhDcDAAJAIAUoAggtAA1BAXEEQCAFKAIEIAUoAggpAxg3AxggBSgCBCIAIAApAwBCBIQ3AwAMAQsgBSgCBCIAIAApAwBC+////w+DNwMACwsgBUIANwMoDAULIAUgBSgCCC0AD0EBcQR/QQAFIAUoAggoAqxAIAUoAggoAqhAKAIIEQAAC6w3AygMBAsgBSAFKAIIIAUoAhwgBSkDEBBDNwMoDAMLIAUoAggQsQEgBUIANwMoDAILIAVBfzYCACAFQRAgBRA0Qj+ENwMoDAELIAUoAghBFEEAEBQgBUJ/NwMoCyAFKQMoIQMgBUEwaiQAIAMLPAEBfyMAQRBrIgMkACADIAA7AQ4gAyABNgIIIAMgAjYCBEEAIAMoAgggAygCBBC0ASEAIANBEGokACAAC46nAQEEfyMAQSBrIgUkACAFIAA2AhggBSABNgIUIAUgAjYCECAFIAUoAhg2AgwgBSgCDCAFKAIQKQMAQv////8PVgR+Qv////8PBSAFKAIQKQMACz4CICAFKAIMIAUoAhQ2AhwCQCAFKAIMLQAEQQFxBEAgBSgCDEEQaiEBQQRBACAFKAIMLQAMQQFxGyECIwBBQGoiACQAIAAgATYCOCAAIAI2AjQCQAJAAkAgACgCOBB4DQAgACgCNEEFSg0AIAAoAjRBAE4NAQsgAEF+NgI8DAELIAAgACgCOCgCHDYCLAJAAkAgACgCOCgCDEUNACAAKAI4KAIEBEAgACgCOCgCAEUNAQsgACgCLCgCBEGaBUcNASAAKAI0QQRGDQELIAAoAjhBsNkAKAIANgIYIABBfjYCPAwBCyAAKAI4KAIQRQRAIAAoAjhBvNkAKAIANgIYIABBezYCPAwBCyAAIAAoAiwoAig2AjAgACgCLCAAKAI0NgIoAkAgACgCLCgCFARAIAAoAjgQHCAAKAI4KAIQRQRAIAAoAixBfzYCKCAAQQA2AjwMAwsMAQsCQCAAKAI4KAIEDQAgACgCNEEBdEEJQQAgACgCNEEEShtrIAAoAjBBAXRBCUEAIAAoAjBBBEoba0oNACAAKAI0QQRGDQAgACgCOEG82QAoAgA2AhggAEF7NgI8DAILCwJAIAAoAiwoAgRBmgVHDQAgACgCOCgCBEUNACAAKAI4QbzZACgCADYCGCAAQXs2AjwMAQsgACgCLCgCBEEqRgRAIAAgACgCLCgCMEEEdEH4AGtBCHQ2AigCQAJAIAAoAiwoAogBQQJIBEAgACgCLCgChAFBAk4NAQsgAEEANgIkDAELAkAgACgCLCgChAFBBkgEQCAAQQE2AiQMAQsCQCAAKAIsKAKEAUEGRgRAIABBAjYCJAwBCyAAQQM2AiQLCwsgACAAKAIoIAAoAiRBBnRyNgIoIAAoAiwoAmwEQCAAIAAoAihBIHI2AigLIAAgACgCKEEfIAAoAihBH3BrajYCKCAAKAIsIAAoAigQSyAAKAIsKAJsBEAgACgCLCAAKAI4KAIwQRB2EEsgACgCLCAAKAI4KAIwQf//A3EQSwtBAEEAQQAQPSEBIAAoAjggATYCMCAAKAIsQfEANgIEIAAoAjgQHCAAKAIsKAIUBEAgACgCLEF/NgIoIABBADYCPAwCCwsgACgCLCgCBEE5RgRAQQBBAEEAEBohASAAKAI4IAE2AjAgACgCLCgCCCECIAAoAiwiAygCFCEBIAMgAUEBajYCFCABIAJqQR86AAAgACgCLCgCCCECIAAoAiwiAygCFCEBIAMgAUEBajYCFCABIAJqQYsBOgAAIAAoAiwoAgghAiAAKAIsIgMoAhQhASADIAFBAWo2AhQgASACakEIOgAAAkAgACgCLCgCHEUEQCAAKAIsKAIIIQIgACgCLCIDKAIUIQEgAyABQQFqNgIUIAEgAmpBADoAACAAKAIsKAIIIQIgACgCLCIDKAIUIQEgAyABQQFqNgIUIAEgAmpBADoAACAAKAIsKAIIIQIgACgCLCIDKAIUIQEgAyABQQFqNgIUIAEgAmpBADoAACAAKAIsKAIIIQIgACgCLCIDKAIUIQEgAyABQQFqNgIUIAEgAmpBADoAACAAKAIsKAIIIQIgACgCLCIDKAIUIQEgAyABQQFqNgIUIAEgAmpBADoAACAAKAIsKAKEAUEJRgR/QQIFQQRBACAAKAIsKAKIAUECSAR/IAAoAiwoAoQBQQJIBUEBC0EBcRsLIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCLCgCCCECIAAoAiwiAygCFCEBIAMgAUEBajYCFCABIAJqQQM6AAAgACgCLEHxADYCBCAAKAI4EBwgACgCLCgCFARAIAAoAixBfzYCKCAAQQA2AjwMBAsMAQsgACgCLCgCHCgCAEVFQQJBACAAKAIsKAIcKAIsG2pBBEEAIAAoAiwoAhwoAhAbakEIQQAgACgCLCgCHCgCHBtqQRBBACAAKAIsKAIcKAIkG2ohAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAACAAKAIsKAIcKAIEQf8BcSECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAAIAAoAiwoAhwoAgRBCHZB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCLCgCHCgCBEEQdkH/AXEhAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAACAAKAIsKAIcKAIEQRh2IQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCLCgChAFBCUYEf0ECBUEEQQAgACgCLCgCiAFBAkgEfyAAKAIsKAKEAUECSAVBAQtBAXEbCyECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAAIAAoAiwoAhwoAgxB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCLCgCHCgCEARAIAAoAiwoAhwoAhRB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCLCgCHCgCFEEIdkH/AXEhAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAAAsgACgCLCgCHCgCLARAIAAoAjgoAjAgACgCLCgCCCAAKAIsKAIUEBohASAAKAI4IAE2AjALIAAoAixBADYCICAAKAIsQcUANgIECwsgACgCLCgCBEHFAEYEQCAAKAIsKAIcKAIQBEAgACAAKAIsKAIUNgIgIAAgACgCLCgCHCgCFEH//wNxIAAoAiwoAiBrNgIcA0AgACgCLCgCDCAAKAIsKAIUIAAoAhxqSQRAIAAgACgCLCgCDCAAKAIsKAIUazYCGCAAKAIsKAIIIAAoAiwoAhRqIAAoAiwoAhwoAhAgACgCLCgCIGogACgCGBAZGiAAKAIsIAAoAiwoAgw2AhQCQCAAKAIsKAIcKAIsRQ0AIAAoAiwoAhQgACgCIE0NACAAKAI4KAIwIAAoAiwoAgggACgCIGogACgCLCgCFCAAKAIgaxAaIQEgACgCOCABNgIwCyAAKAIsIgEgACgCGCABKAIgajYCICAAKAI4EBwgACgCLCgCFARAIAAoAixBfzYCKCAAQQA2AjwMBQUgAEEANgIgIAAgACgCHCAAKAIYazYCHAwCCwALCyAAKAIsKAIIIAAoAiwoAhRqIAAoAiwoAhwoAhAgACgCLCgCIGogACgCHBAZGiAAKAIsIgEgACgCHCABKAIUajYCFAJAIAAoAiwoAhwoAixFDQAgACgCLCgCFCAAKAIgTQ0AIAAoAjgoAjAgACgCLCgCCCAAKAIgaiAAKAIsKAIUIAAoAiBrEBohASAAKAI4IAE2AjALIAAoAixBADYCIAsgACgCLEHJADYCBAsgACgCLCgCBEHJAEYEQCAAKAIsKAIcKAIcBEAgACAAKAIsKAIUNgIUA0AgACgCLCgCFCAAKAIsKAIMRgRAAkAgACgCLCgCHCgCLEUNACAAKAIsKAIUIAAoAhRNDQAgACgCOCgCMCAAKAIsKAIIIAAoAhRqIAAoAiwoAhQgACgCFGsQGiEBIAAoAjggATYCMAsgACgCOBAcIAAoAiwoAhQEQCAAKAIsQX82AiggAEEANgI8DAULIABBADYCFAsgACgCLCgCHCgCHCECIAAoAiwiAygCICEBIAMgAUEBajYCICAAIAEgAmotAAA2AhAgACgCECECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAAIAAoAhANAAsCQCAAKAIsKAIcKAIsRQ0AIAAoAiwoAhQgACgCFE0NACAAKAI4KAIwIAAoAiwoAgggACgCFGogACgCLCgCFCAAKAIUaxAaIQEgACgCOCABNgIwCyAAKAIsQQA2AiALIAAoAixB2wA2AgQLIAAoAiwoAgRB2wBGBEAgACgCLCgCHCgCJARAIAAgACgCLCgCFDYCDANAIAAoAiwoAhQgACgCLCgCDEYEQAJAIAAoAiwoAhwoAixFDQAgACgCLCgCFCAAKAIMTQ0AIAAoAjgoAjAgACgCLCgCCCAAKAIMaiAAKAIsKAIUIAAoAgxrEBohASAAKAI4IAE2AjALIAAoAjgQHCAAKAIsKAIUBEAgACgCLEF/NgIoIABBADYCPAwFCyAAQQA2AgwLIAAoAiwoAhwoAiQhAiAAKAIsIgMoAiAhASADIAFBAWo2AiAgACABIAJqLQAANgIIIAAoAgghAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAACAAKAIIDQALAkAgACgCLCgCHCgCLEUNACAAKAIsKAIUIAAoAgxNDQAgACgCOCgCMCAAKAIsKAIIIAAoAgxqIAAoAiwoAhQgACgCDGsQGiEBIAAoAjggATYCMAsLIAAoAixB5wA2AgQLIAAoAiwoAgRB5wBGBEAgACgCLCgCHCgCLARAIAAoAiwoAgwgACgCLCgCFEECakkEQCAAKAI4EBwgACgCLCgCFARAIAAoAixBfzYCKCAAQQA2AjwMBAsLIAAoAjgoAjBB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCMEEIdkH/AXEhAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAAEEAQQBBABAaIQEgACgCOCABNgIwCyAAKAIsQfEANgIEIAAoAjgQHCAAKAIsKAIUBEAgACgCLEF/NgIoIABBADYCPAwCCwsCQAJAIAAoAjgoAgQNACAAKAIsKAJ0DQAgACgCNEUNASAAKAIsKAIEQZoFRg0BCyAAAn8gACgCLCgChAFFBEAgACgCLCAAKAI0ELcBDAELAn8gACgCLCgCiAFBAkYEQCAAKAIsIQIgACgCNCEDIwBBIGsiASQAIAEgAjYCGCABIAM2AhQCQANAAkAgASgCGCgCdEUEQCABKAIYEFwgASgCGCgCdEUEQCABKAIURQRAIAFBADYCHAwFCwwCCwsgASgCGEEANgJgIAEgASgCGCICKAI4IAIoAmxqLQAAOgAPIAEoAhgiAigCpC0gAigCoC1BAXRqQQA7AQAgAS0ADyEDIAEoAhgiAigCmC0hBCACIAIoAqAtIgJBAWo2AqAtIAIgBGogAzoAACABKAIYIAEtAA9BAnRqIgIgAi8BlAFBAWo7AZQBIAEgASgCGCgCoC0gASgCGCgCnC1BAWtGNgIQIAEoAhgiAiACKAJ0QQFrNgJ0IAEoAhgiAiACKAJsQQFqNgJsIAEoAhAEQCABKAIYAn8gASgCGCgCXEEATgRAIAEoAhgoAjggASgCGCgCXGoMAQtBAAsgASgCGCgCbCABKAIYKAJca0EAECggASgCGCABKAIYKAJsNgJcIAEoAhgoAgAQHCABKAIYKAIAKAIQRQRAIAFBADYCHAwECwsMAQsLIAEoAhhBADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgIcDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEAgASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJsakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQFqNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABog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AS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyAB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AG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGlkIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmVtb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHppcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcA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0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";function Z(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var n=t.func;"number"==typeof n?void 0===t.arg?M.get(n)():M.get(n)(t.arg):n(void 0===t.arg?null:t.arg)}else t(r)}}function ee(e,t){var n=new Date(1e3*_[e>>2]);_[t>>2]=n.getUTCSeconds(),_[t+4>>2]=n.getUTCMinutes(),_[t+8>>2]=n.getUTCHours(),_[t+12>>2]=n.getUTCDate(),_[t+16>>2]=n.getUTCMonth(),_[t+20>>2]=n.getUTCFullYear()-1900,_[t+24>>2]=n.getUTCDay(),_[t+36>>2]=0,_[t+32>>2]=0;var i=Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0),s=(n.getTime()-i)/864e5|0;return _[t+28>>2]=s,ee.GMTString||(ee.GMTString=x("GMT")),_[t+40>>2]=ee.GMTString,t}q($)||(H=$,$=r.locateFile?r.locateFile(H,g):g+H);var te={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var n=0,i=e.length-1;i>=0;i--){var s=e[i];"."===s?e.splice(i,1):".."===s?(e.splice(i,1),n++):n&&(e.splice(i,1),n--)}if(t)for(;n;n--)e.unshift("..");return e},normalize:function(e){var t="/"===e.charAt(0),n="/"===e.substr(-1);return(e=te.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},dirname:function(e){var t=te.splitPath(e),n=t[0],i=t[1];return n||i?(i&&(i=i.substr(0,i.length-1)),n+i):"."},basename:function(e){if("/"===e)return"/";var t=(e=(e=te.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},extname:function(e){return te.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return te.normalize(e.join("/"))},join2:function(e,t){return te.normalize(e+"/"+t)}},ne={resolve:function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var i=n>=0?arguments[n]:le.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t="/"===i.charAt(0)}return(t?"/":"")+(e=te.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"))||"."},relative:function(e,t){function n(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=ne.resolve(e).substr(1),t=ne.resolve(t).substr(1);for(var i=n(e.split("/")),s=n(t.split("/")),r=Math.min(i.length,s.length),o=r,a=0;a0?n.slice(0,i).toString("utf-8"):null))return null;e.input=fe(t,!0)}return e.input.shift()},put_char:function(e,t){null===t||10===t?(C(b(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(C(b(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(m(b(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(m(b(e.output,0)),e.output=[])}}};function se(e){for(var t=function(e,t){return t||(t=16),Math.ceil(e/t)*t}(e,65536),n=ve(t);e=t)){t=Math.max(t,n*(n<1048576?2:1.125)>>>0),0!=n&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var n=e.contents;e.contents=new Uint8Array(t),n&&e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=le.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,le.isDir(e.mode)?t.size=4096:le.isFile(e.mode)?t.size=e.usedBytes:le.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&re.resizeFileStorage(e,t.size)},lookup:function(e,t){throw le.genericErrors[44]},mknod:function(e,t,n,i){return re.createNode(e,t,n,i)},rename:function(e,t,n){if(le.isDir(e.mode)){var i;try{i=le.lookupNode(t,n)}catch(e){}if(i)for(var s in i.contents)throw new le.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=n,t.contents[n]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var n=le.lookupNode(e,t);for(var i in n.contents)throw new le.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var n in e.contents)e.contents.hasOwnProperty(n)&&t.push(n);return t},symlink:function(e,t,n){var i=re.createNode(e,t,41471,0);return i.link=n,i},readlink:function(e){if(!le.isLink(e.mode))throw new le.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,n,i,s){var r=e.node.contents;if(s>=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-s,i);if(o>8&&r.subarray)t.set(r.subarray(s,s+o),n);else for(var a=0;a0||i+n>2)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(ae.convertNodeCode(e))}return t.mode},realPath:function(e){for(var t=[];e.parent!==e;)t.push(e.name),e=e.parent;return t.push(e.mount.opts.root),t.reverse(),te.join.apply(null,t)},flagsForNode:function(e){e&=-2097153,e&=-2049,e&=-32769,e&=-524289;var t=0;for(var n in ae.flagsForNodeMap)e&n&&(t|=ae.flagsForNodeMap[n],e^=n);if(e)throw new le.ErrnoError(28);return t},node_ops:{getattr:function(e){var t,n=ae.realPath(e);try{t=de.lstatSync(n)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(ae.convertNodeCode(e))}return ae.isWindows&&!t.blksize&&(t.blksize=4096),ae.isWindows&&!t.blocks&&(t.blocks=(t.size+t.blksize-1)/t.blksize|0),{dev:t.dev,ino:t.ino,mode:t.mode,nlink:t.nlink,uid:t.uid,gid:t.gid,rdev:t.rdev,size:t.size,atime:t.atime,mtime:t.mtime,ctime:t.ctime,blksize:t.blksize,blocks:t.blocks}},setattr:function(e,t){var n=ae.realPath(e);try{if(void 0!==t.mode&&(de.chmodSync(n,t.mode),e.mode=t.mode),void 0!==t.timestamp){var i=new Date(t.timestamp);de.utimesSync(n,i,i)}void 0!==t.size&&de.truncateSync(n,t.size)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(ae.convertNodeCode(e))}},lookup:function(e,t){var n=te.join2(ae.realPath(e),t),i=ae.getMode(n);return ae.createNode(e,t,i)},mknod:function(e,t,n,i){var s=ae.createNode(e,t,n,i),r=ae.realPath(s);try{le.isDir(s.mode)?de.mkdirSync(r,s.mode):de.writeFileSync(r,"",{mode:s.mode})}catch(e){if(!e.code)throw e;throw new le.ErrnoError(ae.convertNodeCode(e))}return s},rename:function(e,t,n){var i=ae.realPath(e),s=te.join2(ae.realPath(t),n);try{de.renameSync(i,s)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(ae.convertNodeCode(e))}e.name=n},unlink:function(e,t){var n=te.join2(ae.realPath(e),t);try{de.unlinkSync(n)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(ae.convertNodeCode(e))}},rmdir:function(e,t){var n=te.join2(ae.realPath(e),t);try{de.rmdirSync(n)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(ae.convertNodeCode(e))}},readdir:function(e){var t=ae.realPath(e);try{return de.readdirSync(t)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(ae.convertNodeCode(e))}},symlink:function(e,t,n){var i=te.join2(ae.realPath(e),t);try{de.symlinkSync(n,i)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(ae.convertNodeCode(e))}},readlink:function(e){var t=ae.realPath(e);try{return t=de.readlinkSync(t),t=he.relative(he.resolve(e.mount.opts.root),t)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(ae.convertNodeCode(e))}}},stream_ops:{open:function(e){var t=ae.realPath(e.node);try{le.isFile(e.node.mode)&&(e.nfd=de.openSync(t,ae.flagsForNode(e.flags)))}catch(e){if(!e.code)throw e;throw new le.ErrnoError(ae.convertNodeCode(e))}},close:function(e){try{le.isFile(e.node.mode)&&e.nfd&&de.closeSync(e.nfd)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(ae.convertNodeCode(e))}},read:function(e,t,n,i,s){if(0===i)return 0;try{return de.readSync(e.nfd,ae.bufferFrom(t.buffer),n,i,s)}catch(e){throw new le.ErrnoError(ae.convertNodeCode(e))}},write:function(e,t,n,i,s){try{return de.writeSync(e.nfd,ae.bufferFrom(t.buffer),n,i,s)}catch(e){throw new le.ErrnoError(ae.convertNodeCode(e))}},llseek:function(e,t,n){var i=t;if(1===n)i+=e.position;else if(2===n&&le.isFile(e.node.mode))try{i+=de.fstatSync(e.nfd).size}catch(e){throw new le.ErrnoError(ae.convertNodeCode(e))}if(i<0)throw new le.ErrnoError(28);return i},mmap:function(e,t,n,i,s,r){if(0!==t)throw new le.ErrnoError(28);if(!le.isFile(e.node.mode))throw new le.ErrnoError(43);var o=se(n);return ae.stream_ops.read(e,B,o,n,i),{ptr:o,allocated:!0}},msync:function(e,t,n,i,s){if(!le.isFile(e.node.mode))throw new le.ErrnoError(43);return 2&s||ae.stream_ops.write(e,t,0,i,n,!1),0}}},Ae={lookupPath:function(e){return{path:e,node:{mode:ae.getMode(e)}}},createStandardStreams:function(){le.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var e=1;e<3;e++)le.streams[e]={fd:e,nfd:e,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(e,t){le.isDir(e)?de.mkdirSync(e,t):de.writeFileSync(e,"",{mode:t})},mkdir:function(){de.mkdirSync.apply(void 0,arguments)},symlink:function(){de.symlinkSync.apply(void 0,arguments)},rename:function(){de.renameSync.apply(void 0,arguments)},rmdir:function(){de.rmdirSync.apply(void 0,arguments)},readdir:function(){de.readdirSync.apply(void 0,arguments)},unlink:function(){de.unlinkSync.apply(void 0,arguments)},readlink:function(){return de.readlinkSync.apply(void 0,arguments)},stat:function(){return de.statSync.apply(void 0,arguments)},lstat:function(){return de.lstatSync.apply(void 0,arguments)},chmod:function(){de.chmodSync.apply(void 0,arguments)},fchmod:function(){de.fchmodSync.apply(void 0,arguments)},chown:function(){de.chownSync.apply(void 0,arguments)},fchown:function(){de.fchownSync.apply(void 0,arguments)},truncate:function(){de.truncateSync.apply(void 0,arguments)},ftruncate:function(e,t){if(t<0)throw new le.ErrnoError(28);de.ftruncateSync.apply(void 0,arguments)},utime:function(){de.utimesSync.apply(void 0,arguments)},open:function(e,t,n,i){"string"==typeof t&&(t=me.modeStringToFlags(t));var s=de.openSync(e,ae.flagsForNode(t),n),r=null!=i?i:le.nextfd(s),o={fd:r,nfd:s,position:0,path:e,flags:t,seekable:!0};return le.streams[r]=o,o},close:function(e){e.stream_ops||de.closeSync(e.nfd),le.closeStream(e.fd)},llseek:function(e,t,n){if(e.stream_ops)return me.llseek(e,t,n);var i=t;if(1===n)i+=e.position;else if(2===n)i+=de.fstatSync(e.nfd).size;else if(0!==n)throw new le.ErrnoError(oe.EINVAL);if(i<0)throw new le.ErrnoError(oe.EINVAL);return e.position=i,i},read:function(e,t,n,i,s){if(e.stream_ops)return me.read(e,t,n,i,s);var r=void 0!==s;!r&&e.seekable&&(s=e.position);var o=de.readSync(e.nfd,ae.bufferFrom(t.buffer),n,i,s);return r||(e.position+=o),o},write:function(e,t,n,i,s){if(e.stream_ops)return me.write(e,t,n,i,s);1024&e.flags&&le.llseek(e,0,2);var r=void 0!==s;!r&&e.seekable&&(s=e.position);var o=de.writeSync(e.nfd,ae.bufferFrom(t.buffer),n,i,s);return r||(e.position+=o),o},allocate:function(){throw new le.ErrnoError(oe.EOPNOTSUPP)},mmap:function(e,t,n,i,s,r){if(e.stream_ops)return me.mmap(e,t,n,i,s,r);if(0!==t)throw new le.ErrnoError(28);var o=se(n);return le.read(e,B,o,n,i),{ptr:o,allocated:!0}},msync:function(e,t,n,i,s){return e.stream_ops?me.msync(e,t,n,i,s):(2&s||le.write(e,t,0,i,n),0)},munmap:function(){return 0},ioctl:function(){throw new le.ErrnoError(oe.ENOTTY)}},le={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e,t){if(t=t||{},!(e=ne.resolve(le.cwd(),e)))return{path:"",node:null};var n={follow_mount:!0,recurse_count:0};for(var i in n)void 0===t[i]&&(t[i]=n[i]);if(t.recurse_count>8)throw new le.ErrnoError(32);for(var s=te.normalizeArray(e.split("/").filter((function(e){return!!e})),!1),r=le.root,o="/",a=0;a40)throw new le.ErrnoError(32)}}return{path:o,node:r}},getPath:function(e){for(var t;;){if(le.isRoot(e)){var n=e.mount.mountpoint;return t?"/"!==n[n.length-1]?n+"/"+t:n+t:n}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:function(e,t){for(var n=0,i=0;i>>0)%le.nameTable.length},hashAddNode:function(e){var t=le.hashName(e.parent.id,e.name);e.name_next=le.nameTable[t],le.nameTable[t]=e},hashRemoveNode:function(e){var t=le.hashName(e.parent.id,e.name);if(le.nameTable[t]===e)le.nameTable[t]=e.name_next;else for(var n=le.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode:function(e,t){var n=le.mayLookup(e);if(n)throw new le.ErrnoError(n,e);for(var i=le.hashName(e.id,t),s=le.nameTable[i];s;s=s.name_next){var r=s.name;if(s.parent.id===e.id&&r===t)return s}return le.lookup(e,t)},createNode:function(e,t,n,i){var s=new le.FSNode(e,t,n,i);return le.hashAddNode(s),s},destroyNode:function(e){le.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(e){var t=le.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:function(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:function(e,t){return le.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2},mayLookup:function(e){return le.nodePermissions(e,"x")||(e.node_ops.lookup?0:2)},mayCreate:function(e,t){try{return le.lookupNode(e,t),20}catch(e){}return le.nodePermissions(e,"wx")},mayDelete:function(e,t,n){var i;try{i=le.lookupNode(e,t)}catch(e){return e.errno}var s=le.nodePermissions(e,"wx");if(s)return s;if(n){if(!le.isDir(i.mode))return 54;if(le.isRoot(i)||le.getPath(i)===le.cwd())return 10}else if(le.isDir(i.mode))return 31;return 0},mayOpen:function(e,t){return e?le.isLink(e.mode)?32:le.isDir(e.mode)&&("r"!==le.flagsToPermissionString(t)||512&t)?31:le.nodePermissions(e,le.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd:function(e,t){e=e||0,t=t||le.MAX_OPEN_FDS;for(var n=e;n<=t;n++)if(!le.streams[n])return n;throw new le.ErrnoError(33)},getStream:function(e){return le.streams[e]},createStream:function(e,t,n){le.FSStream||(le.FSStream=function(){},le.FSStream.prototype={object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}});var i=new le.FSStream;for(var s in e)i[s]=e[s];e=i;var r=le.nextfd(t,n);return e.fd=r,le.streams[r]=e,e},closeStream:function(e){le.streams[e]=null},chrdev_stream_ops:{open:function(e){var t=le.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new le.ErrnoError(70)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,t){return e<<8|t},registerDevice:function(e,t){le.devices[e]={stream_ops:t}},getDevice:function(e){return le.devices[e]},getMounts:function(e){for(var t=[],n=[e];n.length;){var i=n.pop();t.push(i),n.push.apply(n,i.mounts)}return t},syncfs:function(e,t){"function"==typeof e&&(t=e,e=!1),le.syncFSRequests++,le.syncFSRequests>1&&m("warning: "+le.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var n=le.getMounts(le.root.mount),i=0;function s(e){return le.syncFSRequests--,t(e)}function r(e){if(e)return r.errored?void 0:(r.errored=!0,s(e));++i>=n.length&&s(null)}n.forEach((function(t){if(!t.type.syncfs)return r(null);t.type.syncfs(t,e,r)}))},mount:function(e,t,n){var i,s="/"===n,r=!n;if(s&&le.root)throw new le.ErrnoError(10);if(!s&&!r){var o=le.lookupPath(n,{follow_mount:!1});if(n=o.path,i=o.node,le.isMountpoint(i))throw new le.ErrnoError(10);if(!le.isDir(i.mode))throw new le.ErrnoError(54)}var a={type:e,opts:t,mountpoint:n,mounts:[]},A=e.mount(a);return A.mount=a,a.root=A,s?le.root=A:i&&(i.mounted=a,i.mount&&i.mount.mounts.push(a)),A},unmount:function(e){var t=le.lookupPath(e,{follow_mount:!1});if(!le.isMountpoint(t.node))throw new le.ErrnoError(28);var n=t.node,i=n.mounted,s=le.getMounts(i);Object.keys(le.nameTable).forEach((function(e){for(var t=le.nameTable[e];t;){var n=t.name_next;s.includes(t.mount)&&le.destroyNode(t),t=n}})),n.mounted=null;var r=n.mount.mounts.indexOf(i);n.mount.mounts.splice(r,1)},lookup:function(e,t){return e.node_ops.lookup(e,t)},mknod:function(e,t,n){var i=le.lookupPath(e,{parent:!0}).node,s=te.basename(e);if(!s||"."===s||".."===s)throw new le.ErrnoError(28);var r=le.mayCreate(i,s);if(r)throw new le.ErrnoError(r);if(!i.node_ops.mknod)throw new le.ErrnoError(63);return i.node_ops.mknod(i,s,t,n)},create:function(e,t){return t=void 0!==t?t:438,t&=4095,t|=32768,le.mknod(e,t,0)},mkdir:function(e,t){return t=void 0!==t?t:511,t&=1023,t|=16384,le.mknod(e,t,0)},mkdirTree:function(e,t){for(var n=e.split("/"),i="",s=0;sthis.length-1||e<0)){var t=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[t]}},r.prototype.setDataGetter=function(e){this.getter=e},r.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",n,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+n+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),s=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,r=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,o=1048576;s||(o=i);var a=this;a.setDataGetter((function(e){var t=e*o,s=(e+1)*o-1;if(s=Math.min(s,i-1),void 0===a.chunks[e]&&(a.chunks[e]=function(e,t){if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var s=new XMLHttpRequest;if(s.open("GET",n,!1),i!==o&&s.setRequestHeader("Range","bytes="+e+"-"+t),"undefined"!=typeof Uint8Array&&(s.responseType="arraybuffer"),s.overrideMimeType&&s.overrideMimeType("text/plain; charset=x-user-defined"),s.send(null),!(s.status>=200&&s.status<300||304===s.status))throw new Error("Couldn't load "+n+". Status: "+s.status);return void 0!==s.response?new Uint8Array(s.response||[]):fe(s.responseText||"",!0)}(t,s)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),!r&&i||(o=i=1,i=this.getter(0).length,o=i,C("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=o,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o={isDevice:!1,url:n},a=le.createFile(e,t,o,i,s);o.contents?a.contents=o.contents:o.url&&(a.contents=null,a.url=o.url),Object.defineProperties(a,{usedBytes:{get:function(){return this.contents.length}}});var A={};return Object.keys(a.stream_ops).forEach((function(e){var t=a.stream_ops[e];A[e]=function(){return le.forceLoadFile(a),t.apply(null,arguments)}})),A.read=function(e,t,n,i,s){le.forceLoadFile(a);var r=e.node.contents;if(s>=r.length)return 0;var o=Math.min(r.length-s,i);if(r.slice)for(var A=0;A>2]=i.dev,_[n+4>>2]=0,_[n+8>>2]=i.ino,_[n+12>>2]=i.mode,_[n+16>>2]=i.nlink,_[n+20>>2]=i.uid,_[n+24>>2]=i.gid,_[n+28>>2]=i.rdev,_[n+32>>2]=0,X=[i.size>>>0,(W=i.size,+Math.abs(W)>=1?W>0?(0|Math.min(+Math.floor(W/4294967296),4294967295))>>>0:~~+Math.ceil((W-+(~~W>>>0))/4294967296)>>>0:0)],_[n+40>>2]=X[0],_[n+44>>2]=X[1],_[n+48>>2]=4096,_[n+52>>2]=i.blocks,_[n+56>>2]=i.atime.getTime()/1e3|0,_[n+60>>2]=0,_[n+64>>2]=i.mtime.getTime()/1e3|0,_[n+68>>2]=0,_[n+72>>2]=i.ctime.getTime()/1e3|0,_[n+76>>2]=0,X=[i.ino>>>0,(W=i.ino,+Math.abs(W)>=1?W>0?(0|Math.min(+Math.floor(W/4294967296),4294967295))>>>0:~~+Math.ceil((W-+(~~W>>>0))/4294967296)>>>0:0)],_[n+80>>2]=X[0],_[n+84>>2]=X[1],0},doMsync:function(e,t,n,i,s){var r=v.slice(e,e+n);le.msync(t,r,s,n,i)},doMkdir:function(e,t){return"/"===(e=te.normalize(e))[e.length-1]&&(e=e.substr(0,e.length-1)),le.mkdir(e,t,0),0},doMknod:function(e,t,n){switch(61440&t){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return le.mknod(e,t,n),0},doReadlink:function(e,t,n){if(n<=0)return-28;var i=le.readlink(e),s=Math.min(n,P(i)),r=B[t+s];return N(i,t,n+1),B[t+s]=r,s},doAccess:function(e,t){if(-8&t)return-28;var n;if(!(n=le.lookupPath(e,{follow:!0}).node))return-44;var i="";return 4&t&&(i+="r"),2&t&&(i+="w"),1&t&&(i+="x"),i&&le.nodePermissions(n,i)?-2:0},doDup:function(e,t,n){var i=le.getStream(n);return i&&le.close(i),le.open(e,t,0,n,n).fd},doReadv:function(e,t,n,i){for(var s=0,r=0;r>2],a=_[t+(8*r+4)>>2],A=le.read(e,B,o,a,i);if(A<0)return-1;if(s+=A,A>2],a=_[t+(8*r+4)>>2],A=le.write(e,B,o,a,i);if(A<0)return-1;s+=A}return s},varargs:void 0,get:function(){return ce.varargs+=4,_[ce.varargs-4>>2]},getStr:function(e){return F(e)},getStreamFromFD:function(e){var t=le.getStream(e);if(!t)throw new le.ErrnoError(8);return t},get64:function(e,t){return e}};function pe(e){try{return h.grow(e-T.byteLength+65535>>>16),R(h.buffer),1}catch(e){}}function ge(){if(!ge.called){ge.called=!0;var e=(new Date).getFullYear(),t=new Date(e,0,1),n=new Date(e,6,1),i=t.getTimezoneOffset(),s=n.getTimezoneOffset(),r=Math.max(i,s);_[De()>>2]=60*r,_[we()>>2]=Number(i!=s);var o=c(t),a=c(n),A=x(o),l=x(a);s>2]=A,_[_e()+4>>2]=l):(_[_e()>>2]=l,_[_e()+4>>2]=A)}function c(e){var t=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return t?t[1]:"GMT"}}var ue=function(e,t,n,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=le.nextInode++,this.name=t,this.mode=n,this.node_ops={},this.stream_ops={},this.rdev=i};Object.defineProperties(ue.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return le.isDir(this.mode)}},isDevice:{get:function(){return le.isChrdev(this.mode)}}}),le.FSNode=ue,le.staticInit();var de=i,he=n(1017);ae.staticInit();var Ce=function(e){return function(){try{return e.apply(this,arguments)}catch(e){if(!e.code)throw e;throw new le.ErrnoError(oe[e.code])}}},me=Object.assign({},le);for(var ye in Ae)le[ye]=Ce(Ae[ye]);function fe(e,t,n){var i=n>0?n:P(e)+1,s=new Array(i),r=k(e,s,0,s.length);return t&&(s.length=r),s}function Ie(e){if(q(e))return function(e){var t;try{t=Buffer.from(e,"base64")}catch(n){t=new Buffer(e,"base64")}return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}(e.slice(j.length))}"function"==typeof atob&&atob;var Ee,Te={s:function(e,t){return ee(e,t)},p:function(e,t){try{return e=ce.getStr(e),le.chmod(e,t),0}catch(e){return void 0!==le&&e instanceof le.ErrnoError||J(e),-e.errno}},e:function(e,t,n){ce.varargs=n;try{var i=ce.getStreamFromFD(e);switch(t){case 0:return(s=ce.get())<0?-28:le.open(i.path,i.flags,0,s).fd;case 1:case 2:case 13:case 14:return 0;case 3:return i.flags;case 4:var s=ce.get();return i.flags|=s,0;case 12:return s=ce.get(),Q[s+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return 28,_[Qe()>>2]=28,-1}}catch(e){return void 0!==le&&e instanceof le.ErrnoError||J(e),-e.errno}},k:function(e,t){try{var n=ce.getStreamFromFD(e);return ce.doStat(le.stat,n.path,t)}catch(e){return void 0!==le&&e instanceof le.ErrnoError||J(e),-e.errno}},o:function(e,t,n){ce.varargs=n;try{var i=ce.getStreamFromFD(e);switch(t){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return i.tty?0:-59;case 21519:if(!i.tty)return-59;var s=ce.get();return _[s>>2]=0,0;case 21520:return i.tty?-28:-59;case 21531:return s=ce.get(),le.ioctl(i,t,s);default:J("bad ioctl syscall "+t)}}catch(e){return void 0!==le&&e instanceof le.ErrnoError||J(e),-e.errno}},q:function(e,t,n){ce.varargs=n;try{var i=ce.getStr(e),s=n?ce.get():0;return le.open(i,t,s).fd}catch(e){return void 0!==le&&e instanceof le.ErrnoError||J(e),-e.errno}},i:function(e,t){try{return e=ce.getStr(e),t=ce.getStr(t),le.rename(e,t),0}catch(e){return void 0!==le&&e instanceof le.ErrnoError||J(e),-e.errno}},r:function(e){try{return e=ce.getStr(e),le.rmdir(e),0}catch(e){return void 0!==le&&e instanceof le.ErrnoError||J(e),-e.errno}},c:function(e,t){try{return e=ce.getStr(e),ce.doStat(le.stat,e,t)}catch(e){return void 0!==le&&e instanceof le.ErrnoError||J(e),-e.errno}},h:function(e){try{return e=ce.getStr(e),le.unlink(e),0}catch(e){return void 0!==le&&e instanceof le.ErrnoError||J(e),-e.errno}},l:function(e,t,n){v.copyWithin(e,t,t+n)},m:function(e){var t,n=v.length,i=2147483648;if((e>>>=0)>i)return!1;for(var s=1;s<=4;s*=2){var r=n*(1+.2/s);if(r=Math.min(r,e+100663296),pe(Math.min(i,((t=Math.max(e,r))%65536>0&&(t+=65536-t%65536),t))))return!0}return!1},f:function(e){try{var t=ce.getStreamFromFD(e);return le.close(t),0}catch(e){return void 0!==le&&e instanceof le.ErrnoError||J(e),e.errno}},j:function(e,t){try{var n=ce.getStreamFromFD(e),i=n.tty?2:le.isDir(n.mode)?3:le.isLink(n.mode)?7:4;return B[t>>0]=i,0}catch(e){return void 0!==le&&e instanceof le.ErrnoError||J(e),e.errno}},g:function(e,t,n,i){try{var s=ce.getStreamFromFD(e),r=ce.doReadv(s,t,n);return _[i>>2]=r,0}catch(e){return void 0!==le&&e instanceof le.ErrnoError||J(e),e.errno}},n:function(e,t,n,i,s){try{var r=ce.getStreamFromFD(e),o=4294967296*n+(t>>>0),a=9007199254740992;return o<=-a||o>=a?-61:(le.llseek(r,o,i),X=[r.position>>>0,(W=r.position,+Math.abs(W)>=1?W>0?(0|Math.min(+Math.floor(W/4294967296),4294967295))>>>0:~~+Math.ceil((W-+(~~W>>>0))/4294967296)>>>0:0)],_[s>>2]=X[0],_[s+4>>2]=X[1],r.getdents&&0===o&&0===i&&(r.getdents=null),0)}catch(e){return void 0!==le&&e instanceof le.ErrnoError||J(e),e.errno}},d:function(e,t,n,i){try{var s=ce.getStreamFromFD(e),r=ce.doWritev(s,t,n);return _[i>>2]=r,0}catch(e){return void 0!==le&&e instanceof le.ErrnoError||J(e),e.errno}},a:function(e){},b:function(e){var t=Date.now()/1e3|0;return e&&(_[e>>2]=t),t},t:function(e){ge();var t=Date.UTC(_[e+20>>2]+1900,_[e+16>>2],_[e+12>>2],_[e+8>>2],_[e+4>>2],_[e>>2],0),n=new Date(t);_[e+24>>2]=n.getUTCDay();var i=Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0),s=(n.getTime()-i)/864e5|0;return _[e+28>>2]=s,n.getTime()/1e3|0}},Be=function(){var e={a:Te};function t(e,t){var n,i=e.exports;r.asm=i,R((h=r.asm.u).buffer),M=r.asm.pa,n=r.asm.v,K.unshift(n),z()}if(V(),r.instantiateWasm)try{return r.instantiateWasm(e,t)}catch(e){return m("Module.instantiateWasm callback failed with error: "+e),!1}return t(function(e,t){var n,i,s;try{s=function(e){try{if(e==$&&d)return new Uint8Array(d);var t=Ie(e);if(t)return t;if(l)return l(e);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(e){J(e)}}(e),i=new WebAssembly.Module(s),n=new WebAssembly.Instance(i,t)}catch(e){var r=e.toString();throw m("failed to compile wasm module: "+r),(r.includes("imported Memory")||r.includes("memory import"))&&m("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),e}return[n,i]}($,e)[0]),r.asm}(),ve=(r.___wasm_call_ctors=Be.v,r._zip_ext_count_symlinks=Be.w,r._zip_file_get_external_attributes=Be.x,r._zipstruct_stat=Be.y,r._zipstruct_statS=Be.z,r._zipstruct_stat_name=Be.A,r._zipstruct_stat_index=Be.B,r._zipstruct_stat_size=Be.C,r._zipstruct_stat_mtime=Be.D,r._zipstruct_stat_crc=Be.E,r._zipstruct_error=Be.F,r._zipstruct_errorS=Be.G,r._zipstruct_error_code_zip=Be.H,r._zipstruct_stat_comp_size=Be.I,r._zipstruct_stat_comp_method=Be.J,r._zip_close=Be.K,r._zip_delete=Be.L,r._zip_dir_add=Be.M,r._zip_discard=Be.N,r._zip_error_init_with_code=Be.O,r._zip_get_error=Be.P,r._zip_file_get_error=Be.Q,r._zip_error_strerror=Be.R,r._zip_fclose=Be.S,r._zip_file_add=Be.T,r._free=Be.U,r._malloc=Be.V),Qe=r.___errno_location=Be.W,_e=(r._zip_source_error=Be.X,r._zip_source_seek=Be.Y,r._zip_file_set_external_attributes=Be.Z,r._zip_file_set_mtime=Be._,r._zip_fopen=Be.$,r._zip_fopen_index=Be.aa,r._zip_fread=Be.ba,r._zip_get_name=Be.ca,r._zip_get_num_entries=Be.da,r._zip_source_read=Be.ea,r._zip_name_locate=Be.fa,r._zip_open=Be.ga,r._zip_open_from_source=Be.ha,r._zip_set_file_compression=Be.ia,r._zip_source_buffer=Be.ja,r._zip_source_buffer_create=Be.ka,r._zip_source_close=Be.la,r._zip_source_free=Be.ma,r._zip_source_keep=Be.na,r._zip_source_open=Be.oa,r._zip_source_set_mtime=Be.qa,r._zip_source_tell=Be.ra,r._zip_stat=Be.sa,r._zip_stat_index=Be.ta,r.__get_tzname=Be.ua),we=r.__get_daylight=Be.va,De=r.__get_timezone=Be.wa,Se=r.stackSave=Be.xa,be=r.stackRestore=Be.ya,Fe=r.stackAlloc=Be.za;function ke(e){function n(){Ee||(Ee=!0,r.calledRun=!0,y||(r.noFSInit||le.init.initialized||le.init(),ie.init(),Z(K),t(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),function(){if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;)e=r.postRun.shift(),O.unshift(e);var e;Z(O)}()))}e=e||u,U>0||(function(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;)e=r.preRun.shift(),L.unshift(e);var e;Z(L)}(),U>0||(r.setStatus?(r.setStatus("Running..."),setTimeout((function(){setTimeout((function(){r.setStatus("")}),1),n()}),1)):n()))}if(r.cwrap=function(e,t,n,i){var s=(n=n||[]).every((function(e){return"number"===e}));return"string"!==t&&s&&!i?I(e):function(){return E(e,t,n,arguments)}},r.getValue=function(e,t,n){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return B[e>>0];case"i16":return Q[e>>1];case"i32":case"i64":return _[e>>2];case"float":return w[e>>2];case"double":return D[e>>3];default:J("invalid type for getValue: "+t)}return null},Y=function e(){Ee||ke(),Ee||(Y=e)},r.run=ke,r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return ke(),e});e.exports=s},2414:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.makeInterface=t.Errors=void 0;const n=["number","number"];var i,s;(s=i=t.Errors||(t.Errors={}))[s.ZIP_ER_OK=0]="ZIP_ER_OK",s[s.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",s[s.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",s[s.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",s[s.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",s[s.ZIP_ER_READ=5]="ZIP_ER_READ",s[s.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",s[s.ZIP_ER_CRC=7]="ZIP_ER_CRC",s[s.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",s[s.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",s[s.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",s[s.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",s[s.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",s[s.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",s[s.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",s[s.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",s[s.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",s[s.ZIP_ER_EOF=17]="ZIP_ER_EOF",s[s.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",s[s.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",s[s.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",s[s.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",s[s.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",s[s.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",s[s.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",s[s.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",s[s.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",s[s.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",s[s.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",s[s.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",s[s.ZIP_ER_TELL=30]="ZIP_ER_TELL",s[s.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA",t.makeInterface=e=>({get HEAP8(){return e.HEAP8},get HEAPU8(){return e.HEAPU8},errors:i,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:e._malloc(1),uint16S:e._malloc(2),uint32S:e._malloc(4),uint64S:e._malloc(8),malloc:e._malloc,free:e._free,getValue:e.getValue,open:e.cwrap("zip_open","number",["string","number","number"]),openFromSource:e.cwrap("zip_open_from_source","number",["number","number","number"]),close:e.cwrap("zip_close","number",["number"]),discard:e.cwrap("zip_discard",null,["number"]),getError:e.cwrap("zip_get_error","number",["number"]),getName:e.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:e.cwrap("zip_get_num_entries","number",["number","number"]),delete:e.cwrap("zip_delete","number",["number","number"]),stat:e.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:e.cwrap("zip_stat_index","number",["number",...n,"number","number"]),fopen:e.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:e.cwrap("zip_fopen_index","number",["number",...n,"number"]),fread:e.cwrap("zip_fread","number",["number","number","number","number"]),fclose:e.cwrap("zip_fclose","number",["number"]),dir:{add:e.cwrap("zip_dir_add","number",["number","string"])},file:{add:e.cwrap("zip_file_add","number",["number","string","number","number"]),getError:e.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:e.cwrap("zip_file_get_external_attributes","number",["number",...n,"number","number","number"]),setExternalAttributes:e.cwrap("zip_file_set_external_attributes","number",["number",...n,"number","number","number"]),setMtime:e.cwrap("zip_file_set_mtime","number",["number",...n,"number","number"]),setCompression:e.cwrap("zip_set_file_compression","number",["number",...n,"number","number"])},ext:{countSymlinks:e.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:e.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:e.cwrap("zip_error_strerror","string",["number"])},name:{locate:e.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:e.cwrap("zip_source_buffer_create","number",["number","number","number","number"]),fromBuffer:e.cwrap("zip_source_buffer","number",["number","number",...n,"number"]),free:e.cwrap("zip_source_free",null,["number"]),keep:e.cwrap("zip_source_keep",null,["number"]),open:e.cwrap("zip_source_open","number",["number"]),close:e.cwrap("zip_source_close","number",["number"]),seek:e.cwrap("zip_source_seek","number",["number",...n,"number"]),tell:e.cwrap("zip_source_tell","number",["number"]),read:e.cwrap("zip_source_read","number",["number","number","number"]),error:e.cwrap("zip_source_error","number",["number"]),setMtime:e.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:e.cwrap("zipstruct_stat","number",[]),statS:e.cwrap("zipstruct_statS","number",[]),statName:e.cwrap("zipstruct_stat_name","string",["number"]),statIndex:e.cwrap("zipstruct_stat_index","number",["number"]),statSize:e.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:e.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:e.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:e.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:e.cwrap("zipstruct_stat_crc","number",["number"]),error:e.cwrap("zipstruct_error","number",[]),errorS:e.cwrap("zipstruct_errorS","number",[]),errorCodeZip:e.cwrap("zipstruct_error_code_zip","number",["number"])}})},970:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getLibzipPromise=t.getLibzipSync=void 0;const i=n(2042).__importDefault(n(9629)),s=n(2414);let r=null;function o(){return null===r&&(r=(0,s.makeInterface)((0,i.default)())),r}t.getLibzipSync=o,t.getLibzipPromise=async function(){return o()}},1671:e=>{"use strict";function t(e,t,s){e instanceof RegExp&&(e=n(e,s)),t instanceof RegExp&&(t=n(t,s));var r=i(e,t,s);return r&&{start:r[0],end:r[1],pre:s.slice(0,r[0]),body:s.slice(r[0]+e.length,r[1]),post:s.slice(r[1]+t.length)}}function n(e,t){var n=t.match(e);return n?n[0]:null}function i(e,t,n){var i,s,r,o,a,A=n.indexOf(e),l=n.indexOf(t,A+1),c=A;if(A>=0&&l>0){if(e===t)return[A,l];for(i=[],r=n.length;c>=0&&!a;)c==A?(i.push(c),A=n.indexOf(e,c+1)):1==i.length?a=[i.pop(),l]:((s=i.pop())=0?A:l;i.length&&(a=[r,o])}return a}e.exports=t,t.range=i},4390:(e,t,n)=>{var i=n(8754),s=n(1671);e.exports=function(e){return e?("{}"===e.substr(0,2)&&(e="\\{\\}"+e.substr(2)),m(function(e){return e.split("\\\\").join(r).split("\\{").join(o).split("\\}").join(a).split("\\,").join(A).split("\\.").join(l)}(e),!0).map(p)):[]};var r="\0SLASH"+Math.random()+"\0",o="\0OPEN"+Math.random()+"\0",a="\0CLOSE"+Math.random()+"\0",A="\0COMMA"+Math.random()+"\0",l="\0PERIOD"+Math.random()+"\0";function c(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function p(e){return e.split(r).join("\\").split(o).join("{").split(a).join("}").split(A).join(",").split(l).join(".")}function g(e){if(!e)return[""];var t=[],n=s("{","}",e);if(!n)return e.split(",");var i=n.pre,r=n.body,o=n.post,a=i.split(",");a[a.length-1]+="{"+r+"}";var A=g(o);return o.length&&(a[a.length-1]+=A.shift(),a.push.apply(a,A)),t.push.apply(t,a),t}function u(e){return"{"+e+"}"}function d(e){return/^-?0\d/.test(e)}function h(e,t){return e<=t}function C(e,t){return e>=t}function m(e,t){var n=[],r=s("{","}",e);if(!r||/\$$/.test(r.pre))return[e];var o,A=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(r.body),l=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(r.body),p=A||l,y=r.body.indexOf(",")>=0;if(!p&&!y)return r.post.match(/,.*\}/)?m(e=r.pre+"{"+r.body+a+r.post):[e];if(p)o=r.body.split(/\.\./);else if(1===(o=g(r.body)).length&&1===(o=m(o[0],!1).map(u)).length)return(E=r.post.length?m(r.post,!1):[""]).map((function(e){return r.pre+o[0]+e}));var f,I=r.pre,E=r.post.length?m(r.post,!1):[""];if(p){var T=c(o[0]),B=c(o[1]),v=Math.max(o[0].length,o[1].length),Q=3==o.length?Math.abs(c(o[2])):1,_=h;B0){var F=new Array(b+1).join("0");S=D<0?"-"+F+S.slice(1):F+S}}f.push(S)}}else f=i(o,(function(e){return m(e,!1)}));for(var k=0;k{var t=Object.prototype.toString,n="undefined"!=typeof Buffer&&"function"==typeof Buffer.alloc&&"function"==typeof Buffer.allocUnsafe&&"function"==typeof Buffer.from;e.exports=function(e,i,s){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return r=e,"ArrayBuffer"===t.call(r).slice(8,-1)?function(e,t,i){t>>>=0;var s=e.byteLength-t;if(s<0)throw new RangeError("'offset' is out of bounds");if(void 0===i)i=s;else if((i>>>=0)>s)throw new RangeError("'length' is out of bounds");return n?Buffer.from(e.slice(t,t+i)):new Buffer(new Uint8Array(e.slice(t,t+i)))}(e,i,s):"string"==typeof e?function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!Buffer.isEncoding(t))throw new TypeError('"encoding" must be a valid string encoding');return n?Buffer.from(e,t):new Buffer(e,t)}(e,i):n?Buffer.from(e):new Buffer(e);var r}},8754:e=>{e.exports=function(e,n){for(var i=[],s=0;s{e.exports=c,c.realpath=c,c.sync=p,c.realpathSync=p,c.monkeypatch=function(){i.realpath=c,i.realpathSync=p},c.unmonkeypatch=function(){i.realpath=s,i.realpathSync=r};var i=n(7147),s=i.realpath,r=i.realpathSync,o=process.version,a=/^v[0-5]\./.test(o),A=n(1787);function l(e){return e&&"realpath"===e.syscall&&("ELOOP"===e.code||"ENOMEM"===e.code||"ENAMETOOLONG"===e.code)}function c(e,t,n){if(a)return s(e,t,n);"function"==typeof t&&(n=t,t=null),s(e,t,(function(i,s){l(i)?A.realpath(e,t,n):n(i,s)}))}function p(e,t){if(a)return r(e,t);try{return r(e,t)}catch(n){if(l(n))return A.realpathSync(e,t);throw n}}},1787:(e,t,n)=>{var i=n(1017),s="win32"===process.platform,r=n(7147),o=process.env.NODE_DEBUG&&/fs/.test(process.env.NODE_DEBUG);if(i.normalize,s)var a=/(.*?)(?:[\/\\]+|$)/g;else a=/(.*?)(?:[\/]+|$)/g;if(s)var A=/^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/;else A=/^[\/]*/;t.realpathSync=function(e,t){if(e=i.resolve(e),t&&Object.prototype.hasOwnProperty.call(t,e))return t[e];var n,o,l,c,p=e,g={},u={};function d(){var t=A.exec(e);n=t[0].length,o=t[0],l=t[0],c="",s&&!u[l]&&(r.lstatSync(l),u[l]=!0)}for(d();n=e.length)return t&&(t[u]=e),n(null,e);a.lastIndex=l;var i=a.exec(e);return g=c,c+=i[0],p=g+i[1],l=a.lastIndex,h[p]||t&&t[p]===p?process.nextTick(m):t&&Object.prototype.hasOwnProperty.call(t,p)?I(t[p]):r.lstat(p,y)}function y(e,i){if(e)return n(e);if(!i.isSymbolicLink())return h[p]=!0,t&&(t[p]=p),process.nextTick(m);if(!s){var o=i.dev.toString(32)+":"+i.ino.toString(32);if(d.hasOwnProperty(o))return f(null,d[o],p)}r.stat(p,(function(e){if(e)return n(e);r.readlink(p,(function(e,t){s||(d[o]=t),f(e,t)}))}))}function f(e,s,r){if(e)return n(e);var o=i.resolve(g,s);t&&(t[r]=o),I(o)}function I(t){e=i.resolve(t,e.slice(l)),C()}C()}},7167:(e,t,n)=>{function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.setopts=function(e,t,n){if(n||(n={}),n.matchBase&&-1===t.indexOf("/")){if(n.noglobstar)throw new Error("base matching requires globstar");t="**/"+t}e.silent=!!n.silent,e.pattern=t,e.strict=!1!==n.strict,e.realpath=!!n.realpath,e.realpathCache=n.realpathCache||Object.create(null),e.follow=!!n.follow,e.dot=!!n.dot,e.mark=!!n.mark,e.nodir=!!n.nodir,e.nodir&&(e.mark=!0),e.sync=!!n.sync,e.nounique=!!n.nounique,e.nonull=!!n.nonull,e.nosort=!!n.nosort,e.nocase=!!n.nocase,e.stat=!!n.stat,e.noprocess=!!n.noprocess,e.absolute=!!n.absolute,e.fs=n.fs||s,e.maxLength=n.maxLength||1/0,e.cache=n.cache||Object.create(null),e.statCache=n.statCache||Object.create(null),e.symlinks=n.symlinks||Object.create(null),function(e,t){e.ignore=t.ignore||[],Array.isArray(e.ignore)||(e.ignore=[e.ignore]),e.ignore.length&&(e.ignore=e.ignore.map(c))}(e,n),e.changedCwd=!1;var o=process.cwd();i(n,"cwd")?(e.cwd=r.resolve(n.cwd),e.changedCwd=e.cwd!==o):e.cwd=o,e.root=n.root||r.resolve(e.cwd,"/"),e.root=r.resolve(e.root),"win32"===process.platform&&(e.root=e.root.replace(/\\/g,"/")),e.cwdAbs=a(e.cwd)?e.cwd:p(e,e.cwd),"win32"===process.platform&&(e.cwdAbs=e.cwdAbs.replace(/\\/g,"/")),e.nomount=!!n.nomount,n.nonegate=!0,n.nocomment=!0,e.minimatch=new A(t,n),e.options=e.minimatch.options},t.ownProp=i,t.makeAbs=p,t.finish=function(e){for(var t=e.nounique,n=t?[]:Object.create(null),i=0,s=e.matches.length;i{e.exports=y;var i=n(9787),s=n(8459),r=(s.Minimatch,n(1984)),o=n(2361).EventEmitter,a=n(1017),A=n(9491),l=n(4229),c=n(2945),p=n(7167),g=p.setopts,u=p.ownProp,d=n(6878),h=(n(3837),p.childrenIgnored),C=p.isIgnored,m=n(4649);function y(e,t,n){if("function"==typeof t&&(n=t,t={}),t||(t={}),t.sync){if(n)throw new TypeError("callback provided to sync glob");return c(e,t)}return new I(e,t,n)}y.sync=c;var f=y.GlobSync=c.GlobSync;function I(e,t,n){if("function"==typeof t&&(n=t,t=null),t&&t.sync){if(n)throw new TypeError("callback provided to sync glob");return new f(e,t)}if(!(this instanceof I))return new I(e,t,n);g(this,e,t),this._didRealPath=!1;var i=this.minimatch.set.length;this.matches=new Array(i),"function"==typeof n&&(n=m(n),this.on("error",n),this.on("end",(function(e){n(null,e)})));var s=this;if(this._processing=0,this._emitQueue=[],this._processQueue=[],this.paused=!1,this.noprocess)return this;if(0===i)return o();for(var r=0;r1)return!0;for(var s=0;sthis.maxLength)return t();if(!this.stat&&u(this.cache,n)){var s=this.cache[n];if(Array.isArray(s)&&(s="DIR"),!i||"DIR"===s)return t(null,s);if(i&&"FILE"===s)return t()}var r=this.statCache[n];if(void 0!==r){if(!1===r)return t(null,r);var o=r.isDirectory()?"DIR":"FILE";return i&&"FILE"===o?t():t(null,o,r)}var a=this,A=d("stat\0"+n,(function(i,s){if(s&&s.isSymbolicLink())return a.fs.stat(n,(function(i,r){i?a._stat2(e,n,null,s,t):a._stat2(e,n,i,r,t)}));a._stat2(e,n,i,s,t)}));A&&a.fs.lstat(n,A)},I.prototype._stat2=function(e,t,n,i,s){if(n&&("ENOENT"===n.code||"ENOTDIR"===n.code))return this.statCache[t]=!1,s();var r="/"===e.slice(-1);if(this.statCache[t]=i,"/"===t.slice(-1)&&i&&!i.isDirectory())return s(null,!1,i);var o=!0;return i&&(o=i.isDirectory()?"DIR":"FILE"),this.cache[t]=this.cache[t]||o,r&&"FILE"===o?s():s(null,o,i)}},2945:(e,t,n)=>{e.exports=u,u.GlobSync=d;var i=n(9787),s=n(8459),r=(s.Minimatch,n(2689).Glob,n(3837),n(1017)),o=n(9491),a=n(4229),A=n(7167),l=A.setopts,c=A.ownProp,p=A.childrenIgnored,g=A.isIgnored;function u(e,t){if("function"==typeof t||3===arguments.length)throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");return new d(e,t).found}function d(e,t){if(!e)throw new Error("must provide pattern");if("function"==typeof t||3===arguments.length)throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");if(!(this instanceof d))return new d(e,t);if(l(this,e,t),this.noprocess)return this;var n=this.minimatch.set.length;this.matches=new Array(n);for(var i=0;ithis.maxLength)return!1;if(!this.stat&&c(this.cache,t)){var i=this.cache[t];if(Array.isArray(i)&&(i="DIR"),!n||"DIR"===i)return i;if(n&&"FILE"===i)return!1}var s=this.statCache[t];if(!s){var r;try{r=this.fs.lstatSync(t)}catch(e){if(e&&("ENOENT"===e.code||"ENOTDIR"===e.code))return this.statCache[t]=!1,!1}if(r&&r.isSymbolicLink())try{s=this.fs.statSync(t)}catch(e){s=r}else s=r}return this.statCache[t]=s,i=!0,s&&(i=s.isDirectory()?"DIR":"FILE"),this.cache[t]=this.cache[t]||i,(!n||"FILE"!==i)&&i},d.prototype._mark=function(e){return A.mark(this,e)},d.prototype._makeAbs=function(e){return A.makeAbs(this,e)}},6878:(e,t,n)=>{var i=n(2239),s=Object.create(null),r=n(4649);function o(e){for(var t=e.length,n=[],i=0;ii?(n.splice(0,i),process.nextTick((function(){t.apply(null,r)}))):delete s[e]}}))}(e))}))},1984:(e,t,n)=>{try{var i=n(3837);if("function"!=typeof i.inherits)throw"";e.exports=i.inherits}catch(t){e.exports=n(4405)}},4405:e=>{"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},171:(e,t,n)=>{"use strict";function i(e,t){void 0===t&&(t=!1);var n=e.length,i=0,a="",A=0,l=16,c=0,p=0,g=0,u=0,d=0;function h(t,n){for(var s=0,r=0;s=48&&o<=57)r=16*r+o-48;else if(o>=65&&o<=70)r=16*r+o-65+10;else{if(!(o>=97&&o<=102))break;r=16*r+o-97+10}i++,s++}return s=n)return A=n,l=17;var t=e.charCodeAt(i);if(s(t)){do{i++,a+=String.fromCharCode(t),t=e.charCodeAt(i)}while(s(t));return l=15}if(r(t))return i++,a+=String.fromCharCode(t),13===t&&10===e.charCodeAt(i)&&(i++,a+="\n"),c++,g=i,l=14;switch(t){case 123:return i++,l=1;case 125:return i++,l=2;case 91:return i++,l=3;case 93:return i++,l=4;case 58:return i++,l=6;case 44:return i++,l=5;case 34:return i++,a=function(){for(var t="",s=i;;){if(i>=n){t+=e.substring(s,i),d=2;break}var o=e.charCodeAt(i);if(34===o){t+=e.substring(s,i),i++;break}if(92!==o){if(o>=0&&o<=31){if(r(o)){t+=e.substring(s,i),d=2;break}d=6}i++}else{if(t+=e.substring(s,i),++i>=n){d=2;break}switch(e.charCodeAt(i++)){case 34:t+='"';break;case 92:t+="\\";break;case 47:t+="/";break;case 98:t+="\b";break;case 102:t+="\f";break;case 110:t+="\n";break;case 114:t+="\r";break;case 116:t+="\t";break;case 117:var a=h(4,!0);a>=0?t+=String.fromCharCode(a):d=4;break;default:d=5}s=i}}return t}(),l=10;case 47:var C=i-1;if(47===e.charCodeAt(i+1)){for(i+=2;i=12&&e<=15);return e}:C,getToken:function(){return l},getTokenValue:function(){return a},getTokenOffset:function(){return A},getTokenLength:function(){return i-A},getTokenStartLine:function(){return p},getTokenStartCharacter:function(){return A-u},getTokenError:function(){return d}}}function s(e){return 32===e||9===e}function r(e){return 10===e||13===e}function o(e){return e>=48&&e<=57}function a(e,t,n){var s,r,o,a,c;if(t){for(a=t.offset,c=a+t.length,o=a;o>0&&!l(e,o-1);)o--;for(var p=c;p1?A(u,d)+A(g,s+h):u+A(g,s+h)}function f(){var e=C.scan();for(d=0;15===e||14===e;)14===e&&n.keepLines?d+=1:14===e&&(d=1),e=C.scan();return m=16===e||0!==C.getTokenError(),e}var I=[];function E(n,i,s){m||t&&!(ia)||e.substring(i,s)===n||I.push({offset:i,length:s-i,content:n})}var T=f();if(n.keepLines&&d>0&&E(A(u,d),0,0),17!==T){var B=C.getTokenOffset()+o;E(A(g,s),o,B)}for(;17!==T;){for(var v=C.getTokenOffset()+C.getTokenLength()+o,Q=f(),_="",w=!1;0===d&&(12===Q||13===Q);)E(" ",v,C.getTokenOffset()+o),v=C.getTokenOffset()+C.getTokenLength()+o,_=(w=12===Q)?y():"",Q=f();if(2===Q)1!==T&&h--,n.keepLines&&d>0||!n.keepLines&&1!==T?_=y():n.keepLines&&(_=" ");else if(4===Q)3!==T&&h--,n.keepLines&&d>0||!n.keepLines&&3!==T?_=y():n.keepLines&&(_=" ");else{switch(T){case 3:case 1:h++,_=n.keepLines&&d>0||!n.keepLines?y():" ";break;case 5:_=n.keepLines&&d>0||!n.keepLines?y():" ";break;case 12:_=y();break;case 13:d>0?_=y():w||(_=" ");break;case 6:n.keepLines&&d>0?_=y():w||(_=" ");break;case 10:n.keepLines&&d>0?_=y():6!==Q||w||(_="");break;case 7:case 8:case 9:case 11:case 2:case 4:n.keepLines&&d>0?_=y():12!==Q&&13!==Q||w?5!==Q&&17!==Q&&(m=!0):_=" ";break;case 16:m=!0}d>0&&(12===Q||13===Q)&&(_=y())}17===Q&&(_=n.keepLines&&d>0?y():n.insertFinalNewline?u:""),E(_,v,C.getTokenOffset()+o),T=Q}return I}function A(e,t){for(var n="",i=0;i=n.children.length)return;n=n.children[c]}}return n}}function u(e,t,n){void 0===n&&(n=c.DEFAULT);var s=i(e,!1),r=[];function o(e){return e?function(){return e(s.getTokenOffset(),s.getTokenLength(),s.getTokenStartLine(),s.getTokenStartCharacter())}:function(){return!0}}function a(e){return e?function(){return e(s.getTokenOffset(),s.getTokenLength(),s.getTokenStartLine(),s.getTokenStartCharacter(),(function(){return r.slice()}))}:function(){return!0}}function A(e){return e?function(t){return e(t,s.getTokenOffset(),s.getTokenLength(),s.getTokenStartLine(),s.getTokenStartCharacter())}:function(){return!0}}function l(e){return e?function(t){return e(t,s.getTokenOffset(),s.getTokenLength(),s.getTokenStartLine(),s.getTokenStartCharacter(),(function(){return r.slice()}))}:function(){return!0}}var p=a(t.onObjectBegin),g=l(t.onObjectProperty),u=o(t.onObjectEnd),d=a(t.onArrayBegin),h=o(t.onArrayEnd),C=l(t.onLiteralValue),m=A(t.onSeparator),y=o(t.onComment),f=A(t.onError),I=n&&n.disallowComments,E=n&&n.allowTrailingComma;function T(){for(;;){var e=s.scan();switch(s.getTokenError()){case 4:B(14);break;case 5:B(15);break;case 3:B(13);break;case 1:I||B(11);break;case 2:B(12);break;case 6:B(16)}switch(e){case 12:case 13:I?B(10):y();break;case 16:B(1);break;case 15:case 14:break;default:return e}}}function B(e,t,n){if(void 0===t&&(t=[]),void 0===n&&(n=[]),f(e),t.length+n.length>0)for(var i=s.getToken();17!==i;){if(-1!==t.indexOf(i)){T();break}if(-1!==n.indexOf(i))break;i=T()}}function v(e){var t=s.getTokenValue();return e?C(t):(g(t),r.push(t)),T(),!0}return T(),17===s.getToken()?!!n.allowEmptyContent||(B(4,[],[]),!1):function e(){switch(s.getToken()){case 3:return function(){d(),T();for(var t=!0,n=!1;4!==s.getToken()&&17!==s.getToken();){if(5===s.getToken()){if(n||B(4,[],[]),m(","),T(),4===s.getToken()&&E)break}else n&&B(6,[],[]);t?(r.push(0),t=!1):r[r.length-1]++,e()||B(4,[],[4,5]),n=!0}return h(),t||r.pop(),4!==s.getToken()?B(8,[4],[]):T(),!0}();case 1:return function(){p(),T();for(var t=!1;2!==s.getToken()&&17!==s.getToken();){if(5===s.getToken()){if(t||B(4,[],[]),m(","),T(),2===s.getToken()&&E)break}else t&&B(6,[],[]);(10!==s.getToken()?(B(3,[],[2,5]),0):(v(!1),6===s.getToken()?(m(":"),T(),e()||B(4,[],[2,5])):B(5,[],[2,5]),r.pop(),1))||B(4,[],[2,5]),t=!0}return u(),2!==s.getToken()?B(7,[2],[]):T(),!0}();case 10:return v(!0);default:return function(){switch(s.getToken()){case 11:var e=s.getTokenValue(),t=Number(e);isNaN(t)&&(B(2),t=0),C(t);break;case 7:C(null);break;case 8:C(!0);break;case 9:C(!1);break;default:return!1}return T(),!0}()}}()?(17!==s.getToken()&&B(9,[],[]),!0):(B(4,[],[]),!1)}function d(e){switch(typeof e){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":return e?Array.isArray(e)?"array":"object":"null";default:return"null"}}n.r(t),n.d(t,{applyEdits:()=>F,createScanner:()=>y,findNodeAtLocation:()=>T,findNodeAtOffset:()=>B,format:()=>S,getLocation:()=>f,getNodePath:()=>v,getNodeValue:()=>Q,modify:()=>b,parse:()=>I,parseTree:()=>E,printParseErrorCode:()=>D,stripComments:()=>w,visit:()=>_}),(c||(c={})).DEFAULT={allowTrailingComma:!1};var h=function(){return h=Object.assign||function(e){for(var t,n=1,i=arguments.length;n0&&!l(i,s-1);)s--;for(;r=0;A--){var c=o[A];i=m(i,c),s=Math.min(s,c.offset),r=Math.max(r,c.offset+c.length),r+=c.content.length-c.length}return[{offset:s,length:e.length-(i.length-r)-s,content:i.substring(s,r)}]}function m(e,t){return e.substring(0,t.offset)+t.content+e.substring(t.offset+t.length)}var y=i,f=function(e,t){var n=[],i=new Object,s=void 0,r={value:{},offset:0,length:0,type:"object",parent:void 0},o=!1;function a(e,t,n,i){r.value=e,r.offset=t,r.length=n,r.type=i,r.colonOffset=void 0,s=r}try{u(e,{onObjectBegin:function(e,r){if(t<=e)throw i;s=void 0,o=t>e,n.push("")},onObjectProperty:function(e,s,r){if(t=e.offset&&t"}function S(e,t,n){return a(e,t,n)}function b(e,t,n,i){return function(e,t,n,i){for(var s,r=t.slice(),o=p(e,[]),a=void 0,A=void 0;r.length>0&&(A=r.pop(),void 0===(a=g(o,r))&&void 0!==n);)"string"==typeof A?((s={})[A]=n,n=s):n=[n];if(a){if("object"===a.type&&"string"==typeof A&&Array.isArray(a.children)){var l=g(a,[A]);if(void 0!==l){if(void 0===n){if(!l.parent)throw new Error("Malformed AST");var c=a.children.indexOf(l.parent),u=void 0,d=l.parent.offset+l.parent.length;return c>0?u=(B=a.children[c-1]).offset+B.length:(u=a.offset+1,a.children.length>1&&(d=a.children[1].offset)),C(e,{offset:u,length:d-u,content:""},i)}return C(e,{offset:l.offset,length:l.length,content:JSON.stringify(n)},i)}if(void 0===n)return[];var h="".concat(JSON.stringify(A),": ").concat(JSON.stringify(n)),m=void 0;return C(e,m=(v=i.getInsertionIndex?i.getInsertionIndex(a.children.map((function(e){return e.children[0].value}))):a.children.length)>0?{offset:(B=a.children[v-1]).offset+B.length,length:0,content:","+h}:0===a.children.length?{offset:a.offset+1,length:0,content:h}:{offset:a.offset+1,length:0,content:h+","},i)}if("array"===a.type&&"number"==typeof A&&Array.isArray(a.children)){var y=A;if(-1===y)return h="".concat(JSON.stringify(n)),m=void 0,C(e,m=0===a.children.length?{offset:a.offset+1,length:0,content:h}:{offset:(B=a.children[a.children.length-1]).offset+B.length,length:0,content:","+h},i);if(void 0===n&&a.children.length>=0){var f=A,I=a.children[f];if(m=void 0,1===a.children.length)m={offset:a.offset+1,length:a.length-2,content:""};else if(a.children.length-1===f){var E=(B=a.children[f-1]).offset+B.length;m={offset:E,length:a.offset+a.length-2-E,content:""}}else m={offset:I.offset,length:a.children[f+1].offset-I.offset,content:""};return C(e,m,i)}if(void 0!==n){if(m=void 0,h="".concat(JSON.stringify(n)),!i.isArrayInsertion&&a.children.length>A){var T=a.children[A];m={offset:T.offset,length:T.length,content:h}}else if(0===a.children.length||0===A)m={offset:a.offset+1,length:0,content:0===a.children.length?h:h+","};else{var B,v=A>a.children.length?a.children.length:A;m={offset:(B=a.children[v-1]).offset+B.length,length:0,content:","+h}}return C(e,m,i)}throw new Error("Can not ".concat(void 0===n?"remove":i.isArrayInsertion?"insert":"modify"," Array index ").concat(y," as length is not sufficient"))}throw new Error("Can not add ".concat("number"!=typeof A?"index":"property"," to parent of type ").concat(a.type))}if(void 0===n)throw new Error("Can not delete in empty document");return C(e,{offset:o?o.offset:0,length:o?o.length:0,content:JSON.stringify(n)},i)}(e,t,n,i)}function F(e,t){for(var n=t.length-1;n>=0;n--)e=m(e,t[n]);return e}},1593:e=>{"use strict";const t=[],n=[],i=(e,i)=>{if(e===i)return 0;const s=e;e.length>i.length&&(e=i,i=s);let r=e.length,o=i.length;for(;r>0&&e.charCodeAt(~-r)===i.charCodeAt(~-o);)r--,o--;let a,A,l,c,p=0;for(;pA?c>A?A+1:c:c>l?l+1:c;return A};e.exports=i,e.exports.default=i},8459:(e,t,n)=>{e.exports=g,g.Minimatch=u;var i={sep:"/"};try{i=n(1017)}catch(e){}var s=g.GLOBSTAR=u.GLOBSTAR={},r=n(4390),o={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},a="[^/]",A="[^/]*?",l="().*{}+?[]^$\\!".split("").reduce((function(e,t){return e[t]=!0,e}),{}),c=/\/+/;function p(e,t){e=e||{},t=t||{};var n={};return Object.keys(t).forEach((function(e){n[e]=t[e]})),Object.keys(e).forEach((function(t){n[t]=e[t]})),n}function g(e,t,n){if("string"!=typeof t)throw new TypeError("glob pattern string required");return n||(n={}),!(!n.nocomment&&"#"===t.charAt(0))&&(""===t.trim()?""===e:new u(t,n).match(e))}function u(e,t){if(!(this instanceof u))return new u(e,t);if("string"!=typeof e)throw new TypeError("glob pattern string required");t||(t={}),e=e.trim(),"/"!==i.sep&&(e=e.split(i.sep).join("/")),this.options=t,this.set=[],this.pattern=e,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.make()}function d(e,t){if(t||(t=this instanceof u?this.options:{}),void 0===(e=void 0===e?this.pattern:e))throw new TypeError("undefined pattern");return t.nobrace||!e.match(/\{.*\}/)?[e]:r(e)}g.filter=function(e,t){return t=t||{},function(n,i,s){return g(n,e,t)}},g.defaults=function(e){if(!e||!Object.keys(e).length)return g;var t=g,n=function(n,i,s){return t.minimatch(n,i,p(e,s))};return n.Minimatch=function(n,i){return new t.Minimatch(n,p(e,i))},n},u.defaults=function(e){return e&&Object.keys(e).length?g.defaults(e).Minimatch:u},u.prototype.debug=function(){},u.prototype.make=function(){if(!this._made){var e=this.pattern,t=this.options;if(t.nocomment||"#"!==e.charAt(0))if(e){this.parseNegate();var n=this.globSet=this.braceExpand();t.debug&&(this.debug=console.error),this.debug(this.pattern,n),n=this.globParts=n.map((function(e){return e.split(c)})),this.debug(this.pattern,n),n=n.map((function(e,t,n){return e.map(this.parse,this)}),this),this.debug(this.pattern,n),n=n.filter((function(e){return-1===e.indexOf(!1)})),this.debug(this.pattern,n),this.set=n}else this.empty=!0;else this.comment=!0}},u.prototype.parseNegate=function(){var e=this.pattern,t=!1,n=0;if(!this.options.nonegate){for(var i=0,s=e.length;i65536)throw new TypeError("pattern is too long");var n=this.options;if(!n.noglobstar&&"**"===e)return s;if(""===e)return"";var i,r="",c=!!n.nocase,p=!1,g=[],u=[],d=!1,C=-1,m=-1,y="."===e.charAt(0)?"":n.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",f=this;function I(){if(i){switch(i){case"*":r+=A,c=!0;break;case"?":r+=a,c=!0;break;default:r+="\\"+i}f.debug("clearStateChar %j %j",i,r),i=!1}}for(var E,T=0,B=e.length;T-1;b--){var F=u[b],k=r.slice(0,F.reStart),N=r.slice(F.reStart,F.reEnd-8),P=r.slice(F.reEnd-8,F.reEnd),x=r.slice(F.reEnd);P+=x;var R=k.split("(").length-1,M=x;for(T=0;T=0&&!(s=e[r]);r--);for(r=0;r>> no match, partial?",e,g,t,u),g!==a))}if("string"==typeof c?(l=i.nocase?p.toLowerCase()===c.toLowerCase():p===c,this.debug("string match",c,p,l)):(l=p.match(c),this.debug("pattern match",c,p,l)),!l)return!1}if(r===a&&o===A)return!0;if(r===a)return n;if(o===A)return r===a-1&&""===e[r];throw new Error("wtf?")}},4649:(e,t,n)=>{var i=n(2239);function s(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function r(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},n=e.name||"Function wrapped with `once`";return t.onceError=n+" shouldn't be called more than once",t.called=!1,t}e.exports=i(s),e.exports.strict=i(r),s.proto=s((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return s(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return r(this)},configurable:!0})}))},4229:e=>{"use strict";function t(e){return"/"===e.charAt(0)}function n(e){var t=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/.exec(e),n=t[1]||"",i=Boolean(n&&":"!==n.charAt(1));return Boolean(t[2]||i)}e.exports="win32"===process.platform?n:t,e.exports.posix=t,e.exports.win32=n},5195:(e,t,n)=>{const i=n(9491),s=n(1017),r=n(7147);let o;try{o=n(2689)}catch(e){}const a={nosort:!0,silent:!0};let A=0;const l="win32"===process.platform,c=e=>{if(["unlink","chmod","stat","lstat","rmdir","readdir"].forEach((t=>{e[t]=e[t]||r[t],e[t+="Sync"]=e[t]||r[t]})),e.maxBusyTries=e.maxBusyTries||3,e.emfileWait=e.emfileWait||1e3,!1===e.glob&&(e.disableGlob=!0),!0!==e.disableGlob&&void 0===o)throw Error("glob dependency not found, set `options.disableGlob = true` if intentional");e.disableGlob=e.disableGlob||!1,e.glob=e.glob||a},p=(e,t,n)=>{"function"==typeof t&&(n=t,t={}),i(e,"rimraf: missing path"),i.equal(typeof e,"string","rimraf: path should be a string"),i.equal(typeof n,"function","rimraf: callback function required"),i(t,"rimraf: invalid options argument provided"),i.equal(typeof t,"object","rimraf: options should be object"),c(t);let s=0,r=null,a=0;const l=(e,i)=>e?n(e):(a=i.length,0===a?n():void i.forEach((e=>{const i=o=>{if(o){if(("EBUSY"===o.code||"ENOTEMPTY"===o.code||"EPERM"===o.code)&&sg(e,t,i)),100*s);if("EMFILE"===o.code&&Ag(e,t,i)),A++);"ENOENT"===o.code&&(o=null)}A=0,(e=>{r=r||e,0==--a&&n(r)})(o)};g(e,t,i)})));if(t.disableGlob||!o.hasMagic(e))return l(null,[e]);t.lstat(e,((n,i)=>{if(!n)return l(null,[e]);o(e,t.glob,l)}))},g=(e,t,n)=>{i(e),i(t),i("function"==typeof n),t.lstat(e,((i,s)=>i&&"ENOENT"===i.code?n(null):(i&&"EPERM"===i.code&&l&&u(e,t,i,n),s&&s.isDirectory()?h(e,t,i,n):void t.unlink(e,(i=>{if(i){if("ENOENT"===i.code)return n(null);if("EPERM"===i.code)return l?u(e,t,i,n):h(e,t,i,n);if("EISDIR"===i.code)return h(e,t,i,n)}return n(i)})))))},u=(e,t,n,s)=>{i(e),i(t),i("function"==typeof s),t.chmod(e,438,(i=>{i?s("ENOENT"===i.code?null:n):t.stat(e,((i,r)=>{i?s("ENOENT"===i.code?null:n):r.isDirectory()?h(e,t,n,s):t.unlink(e,s)}))}))},d=(e,t,n)=>{i(e),i(t);try{t.chmodSync(e,438)}catch(e){if("ENOENT"===e.code)return;throw n}let s;try{s=t.statSync(e)}catch(e){if("ENOENT"===e.code)return;throw n}s.isDirectory()?y(e,t,n):t.unlinkSync(e)},h=(e,t,n,s)=>{i(e),i(t),i("function"==typeof s),t.rmdir(e,(i=>{!i||"ENOTEMPTY"!==i.code&&"EEXIST"!==i.code&&"EPERM"!==i.code?i&&"ENOTDIR"===i.code?s(n):s(i):C(e,t,s)}))},C=(e,t,n)=>{i(e),i(t),i("function"==typeof n),t.readdir(e,((i,r)=>{if(i)return n(i);let o,a=r.length;if(0===a)return t.rmdir(e,n);r.forEach((i=>{p(s.join(e,i),t,(i=>{if(!o)return i?n(o=i):void(0==--a&&t.rmdir(e,n))}))}))}))},m=(e,t)=>{let n;if(c(t=t||{}),i(e,"rimraf: missing path"),i.equal(typeof e,"string","rimraf: path should be a string"),i(t,"rimraf: missing options"),i.equal(typeof t,"object","rimraf: options should be object"),t.disableGlob||!o.hasMagic(e))n=[e];else try{t.lstatSync(e),n=[e]}catch(i){n=o.sync(e,t.glob)}if(n.length)for(let e=0;e{i(e),i(t);try{t.rmdirSync(e)}catch(i){if("ENOENT"===i.code)return;if("ENOTDIR"===i.code)throw n;"ENOTEMPTY"!==i.code&&"EEXIST"!==i.code&&"EPERM"!==i.code||f(e,t)}},f=(e,t)=>{i(e),i(t),t.readdirSync(e).forEach((n=>m(s.join(e,n),t)));const n=l?100:1;let r=0;for(;;){let i=!0;try{const s=t.rmdirSync(e,t);return i=!1,s}finally{if(++r{e=n.nmd(e);var i,s=n(8444).SourceMapConsumer,r=n(1017);try{(i=n(7147)).existsSync&&i.readFileSync||(i=null)}catch(e){}var o=n(2252);function a(e,t){return e.require(t)}var A=!1,l=!1,c=!1,p="auto",g={},u={},d=/^data:application\/json[^,]+base64,/,h=[],C=[];function m(){return"browser"===p||"node"!==p&&"undefined"!=typeof window&&"function"==typeof XMLHttpRequest&&!(window.require&&window.module&&window.process&&"renderer"===window.process.type)}function y(e){return function(t){for(var n=0;n";var n=this.getLineNumber();if(null!=n){t+=":"+n;var i=this.getColumnNumber();i&&(t+=":"+i)}}var s="",r=this.getFunctionName(),o=!0,a=this.isConstructor();if(this.isToplevel()||a)a?s+="new "+(r||""):r?s+=r:(s+=t,o=!1);else{var A=this.getTypeName();"[object Object]"===A&&(A="null");var l=this.getMethodName();r?(A&&0!=r.indexOf(A)&&(s+=A+"."),s+=r,l&&r.indexOf("."+l)!=r.length-l.length-1&&(s+=" [as "+l+"]")):s+=A+"."+(l||"")}return o&&(s+=" ("+t+")"),s}function Q(e){var t={};return Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach((function(n){t[n]=/^(?:is|get)/.test(n)?function(){return e[n].call(e)}:e[n]})),t.toString=v,t}function _(e,t){if(void 0===t&&(t={nextPosition:null,curPosition:null}),e.isNative())return t.curPosition=null,e;var n=e.getFileName()||e.getScriptNameOrSourceURL();if(n){var i=e.getLineNumber(),s=e.getColumnNumber()-1,r=/^v(10\.1[6-9]|10\.[2-9][0-9]|10\.[0-9]{3,}|1[2-9]\d*|[2-9]\d|\d{3,}|11\.11)/.test("object"==typeof process&&null!==process?process.version:"")?0:62;1===i&&s>r&&!m()&&!e.isEval()&&(s-=r);var o=T({source:n,line:i,column:s});t.curPosition=o;var a=(e=Q(e)).getFunctionName;return e.getFunctionName=function(){return null==t.nextPosition?a():t.nextPosition.name||a()},e.getFileName=function(){return o.source},e.getLineNumber=function(){return o.line},e.getColumnNumber=function(){return o.column+1},e.getScriptNameOrSourceURL=function(){return o.source},e}var A=e.isEval()&&e.getEvalOrigin();return A?(A=B(A),(e=Q(e)).getEvalOrigin=function(){return A},e):e}function w(e,t){c&&(g={},u={});for(var n=(e.name||"Error")+": "+(e.message||""),i={nextPosition:null,curPosition:null},s=[],r=t.length-1;r>=0;r--)s.push("\n at "+_(t[r],i)),i.nextPosition=i.curPosition;return i.curPosition=i.nextPosition=null,n+s.reverse().join("")}function D(e){var t=/\n at [^(]+ \((.*):(\d+):(\d+)\)/.exec(e.stack);if(t){var n=t[1],s=+t[2],r=+t[3],o=g[n];if(!o&&i&&i.existsSync(n))try{o=i.readFileSync(n,"utf8")}catch(e){o=""}if(o){var a=o.split(/(?:\r\n|\r|\n)/)[s-1];if(a)return n+":"+s+"\n"+a+"\n"+new Array(r).join(" ")+"^"}}return null}function S(e){var t=D(e),n=function(){if("object"==typeof process&&null!==process)return process.stderr}();n&&n._handle&&n._handle.setBlocking&&n._handle.setBlocking(!0),t&&(console.error(),console.error(t)),console.error(e.stack),"object"==typeof process&&null!==process&&"function"==typeof process.exit&&process.exit(1)}C.push((function(e){var t,n=function(e){var t;if(m())try{var n=new XMLHttpRequest;n.open("GET",e,!1),n.send(null),t=4===n.readyState?n.responseText:null;var i=n.getResponseHeader("SourceMap")||n.getResponseHeader("X-SourceMap");if(i)return i}catch(e){}t=f(e);for(var s,r,o=/(?:\/\/[@#][\s]*sourceMappingURL=([^\s'"]+)[\s]*$)|(?:\/\*[@#][\s]*sourceMappingURL=([^\s*'"]+)[\s]*(?:\*\/)[\s]*$)/gm;r=o.exec(t);)s=r;return s?s[1]:null}(e);if(!n)return null;if(d.test(n)){var i=n.slice(n.indexOf(",")+1);t=o(i,"base64").toString(),n=e}else n=I(e,n),t=f(n);return t?{url:n,map:t}:null}));var b=h.slice(0),F=C.slice(0);t.wrapCallSite=_,t.getErrorSource=D,t.mapSourcePosition=T,t.retrieveSourceMap=E,t.install=function(t){if((t=t||{}).environment&&(p=t.environment,-1===["node","browser","auto"].indexOf(p)))throw new Error("environment "+p+" was unknown. Available options are {auto, browser, node}");if(t.retrieveFile&&(t.overrideRetrieveFile&&(h.length=0),h.unshift(t.retrieveFile)),t.retrieveSourceMap&&(t.overrideRetrieveSourceMap&&(C.length=0),C.unshift(t.retrieveSourceMap)),t.hookRequire&&!m()){var n=a(e,"module"),i=n.prototype._compile;i.__sourceMapSupport||(n.prototype._compile=function(e,t){return g[t]=e,u[t]=void 0,i.call(this,e,t)},n.prototype._compile.__sourceMapSupport=!0)}if(c||(c="emptyCacheBetweenOperations"in t&&t.emptyCacheBetweenOperations),A||(A=!0,Error.prepareStackTrace=w),!l){var s=!("handleUncaughtExceptions"in t)||t.handleUncaughtExceptions;try{!1===a(e,"worker_threads").isMainThread&&(s=!1)}catch(e){}s&&"object"==typeof process&&null!==process&&"function"==typeof process.on&&(l=!0,r=process.emit,process.emit=function(e){if("uncaughtException"===e){var t=arguments[1]&&arguments[1].stack,n=this.listeners(e).length>0;if(t&&!n)return S(arguments[1])}return r.apply(this,arguments)})}var r},t.resetRetrieveHandlers=function(){h.length=0,C.length=0,h=b.slice(0),C=F.slice(0),E=y(C),f=y(h)}},2855:(e,t,n)=>{var i=n(2047),s=Object.prototype.hasOwnProperty,r="undefined"!=typeof Map;function o(){this._array=[],this._set=r?new Map:Object.create(null)}o.fromArray=function(e,t){for(var n=new o,i=0,s=e.length;i=0)return t}else{var n=i.toSetString(e);if(s.call(this._set,n))return this._set[n]}throw new Error('"'+e+'" is not in the set.')},o.prototype.at=function(e){if(e>=0&&e{var i=n(6201);t.encode=function(e){var t,n="",s=function(e){return e<0?1+(-e<<1):0+(e<<1)}(e);do{t=31&s,(s>>>=5)>0&&(t|=32),n+=i.encode(t)}while(s>0);return n},t.decode=function(e,t,n){var s,r,o,a,A=e.length,l=0,c=0;do{if(t>=A)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(r=i.decode(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));s=!!(32&r),l+=(r&=31)<>1,1==(1&o)?-a:a),n.rest=t}},6201:(e,t)=>{var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");t.encode=function(e){if(0<=e&&e{function n(e,i,s,r,o,a){var A=Math.floor((i-e)/2)+e,l=o(s,r[A],!0);return 0===l?A:l>0?i-A>1?n(A,i,s,r,o,a):a==t.LEAST_UPPER_BOUND?i1?n(e,A,s,r,o,a):a==t.LEAST_UPPER_BOUND?A:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,i,s,r){if(0===i.length)return-1;var o=n(-1,i.length,e,i,s,r||t.GREATEST_LOWER_BOUND);if(o<0)return-1;for(;o-1>=0&&0===s(i[o],i[o-1],!0);)--o;return o}},2139:(e,t,n)=>{var i=n(2047);function s(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}s.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},s.prototype.add=function(e){var t,n,s,r,o,a;n=e,s=(t=this._last).generatedLine,r=n.generatedLine,o=t.generatedColumn,a=n.generatedColumn,r>s||r==s&&a>=o||i.compareByGeneratedPositionsInflated(t,n)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},s.prototype.toArray=function(){return this._sorted||(this._array.sort(i.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},t.H=s},6989:(e,t)=>{function n(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function i(e,t,s,r){if(s{var i=n(2047),s=n(5320),r=n(2855).I,o=n(5821),a=n(6989).U;function A(e,t){var n=e;return"string"==typeof e&&(n=i.parseSourceMapInput(e)),null!=n.sections?new p(n,t):new l(n,t)}function l(e,t){var n=e;"string"==typeof e&&(n=i.parseSourceMapInput(e));var s=i.getArg(n,"version"),o=i.getArg(n,"sources"),a=i.getArg(n,"names",[]),A=i.getArg(n,"sourceRoot",null),l=i.getArg(n,"sourcesContent",null),c=i.getArg(n,"mappings"),p=i.getArg(n,"file",null);if(s!=this._version)throw new Error("Unsupported version: "+s);A&&(A=i.normalize(A)),o=o.map(String).map(i.normalize).map((function(e){return A&&i.isAbsolute(A)&&i.isAbsolute(e)?i.relative(A,e):e})),this._names=r.fromArray(a.map(String),!0),this._sources=r.fromArray(o,!0),this._absoluteSources=this._sources.toArray().map((function(e){return i.computeSourceURL(A,e,t)})),this.sourceRoot=A,this.sourcesContent=l,this._mappings=c,this._sourceMapURL=t,this.file=p}function c(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function p(e,t){var n=e;"string"==typeof e&&(n=i.parseSourceMapInput(e));var s=i.getArg(n,"version"),o=i.getArg(n,"sections");if(s!=this._version)throw new Error("Unsupported version: "+s);this._sources=new r,this._names=new r;var a={line:-1,column:0};this._sections=o.map((function(e){if(e.url)throw new Error("Support for url field in sections not implemented.");var n=i.getArg(e,"offset"),s=i.getArg(n,"line"),r=i.getArg(n,"column");if(s=0){var a=this._originalMappings[o];if(void 0===e.column)for(var A=a.originalLine;a&&a.originalLine===A;)r.push({line:i.getArg(a,"generatedLine",null),column:i.getArg(a,"generatedColumn",null),lastColumn:i.getArg(a,"lastGeneratedColumn",null)}),a=this._originalMappings[++o];else for(var l=a.originalColumn;a&&a.originalLine===t&&a.originalColumn==l;)r.push({line:i.getArg(a,"generatedLine",null),column:i.getArg(a,"generatedColumn",null),lastColumn:i.getArg(a,"lastGeneratedColumn",null)}),a=this._originalMappings[++o]}return r},t.SourceMapConsumer=A,l.prototype=Object.create(A.prototype),l.prototype.consumer=A,l.prototype._findSourceIndex=function(e){var t,n=e;if(null!=this.sourceRoot&&(n=i.relative(this.sourceRoot,n)),this._sources.has(n))return this._sources.indexOf(n);for(t=0;t1&&(n.source=h+r[1],h+=r[1],n.originalLine=u+r[2],u=n.originalLine,n.originalLine+=1,n.originalColumn=d+r[3],d=n.originalColumn,r.length>4&&(n.name=C+r[4],C+=r[4])),T.push(n),"number"==typeof n.originalLine&&E.push(n)}a(T,i.compareByGeneratedPositionsDeflated),this.__generatedMappings=T,a(E,i.compareByOriginalPositions),this.__originalMappings=E},l.prototype._findMapping=function(e,t,n,i,r,o){if(e[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[n]);if(e[i]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[i]);return s.search(e,t,r,o)},l.prototype.computeColumnSpans=function(){for(var e=0;e=0){var s=this._generatedMappings[n];if(s.generatedLine===t.generatedLine){var r=i.getArg(s,"source",null);null!==r&&(r=this._sources.at(r),r=i.computeSourceURL(this.sourceRoot,r,this._sourceMapURL));var o=i.getArg(s,"name",null);return null!==o&&(o=this._names.at(o)),{source:r,line:i.getArg(s,"originalLine",null),column:i.getArg(s,"originalColumn",null),name:o}}}return{source:null,line:null,column:null,name:null}},l.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e}))},l.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;var n=this._findSourceIndex(e);if(n>=0)return this.sourcesContent[n];var s,r=e;if(null!=this.sourceRoot&&(r=i.relative(this.sourceRoot,r)),null!=this.sourceRoot&&(s=i.urlParse(this.sourceRoot))){var o=r.replace(/^file:\/\//,"");if("file"==s.scheme&&this._sources.has(o))return this.sourcesContent[this._sources.indexOf(o)];if((!s.path||"/"==s.path)&&this._sources.has("/"+r))return this.sourcesContent[this._sources.indexOf("/"+r)]}if(t)return null;throw new Error('"'+r+'" is not in the SourceMap.')},l.prototype.generatedPositionFor=function(e){var t=i.getArg(e,"source");if((t=this._findSourceIndex(t))<0)return{line:null,column:null,lastColumn:null};var n={source:t,originalLine:i.getArg(e,"line"),originalColumn:i.getArg(e,"column")},s=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",i.compareByOriginalPositions,i.getArg(e,"bias",A.GREATEST_LOWER_BOUND));if(s>=0){var r=this._originalMappings[s];if(r.source===n.source)return{line:i.getArg(r,"generatedLine",null),column:i.getArg(r,"generatedColumn",null),lastColumn:i.getArg(r,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},p.prototype=Object.create(A.prototype),p.prototype.constructor=A,p.prototype._version=3,Object.defineProperty(p.prototype,"sources",{get:function(){for(var e=[],t=0;t{var i=n(5821),s=n(2047),r=n(2855).I,o=n(2139).H;function a(e){e||(e={}),this._file=s.getArg(e,"file",null),this._sourceRoot=s.getArg(e,"sourceRoot",null),this._skipValidation=s.getArg(e,"skipValidation",!1),this._sources=new r,this._names=new r,this._mappings=new o,this._sourcesContents=null}a.prototype._version=3,a.fromSourceMap=function(e){var t=e.sourceRoot,n=new a({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var i={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(i.source=e.source,null!=t&&(i.source=s.relative(t,i.source)),i.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(i.name=e.name)),n.addMapping(i)})),e.sources.forEach((function(i){var r=i;null!==t&&(r=s.relative(t,i)),n._sources.has(r)||n._sources.add(r);var o=e.sourceContentFor(i);null!=o&&n.setSourceContent(i,o)})),n},a.prototype.addMapping=function(e){var t=s.getArg(e,"generated"),n=s.getArg(e,"original",null),i=s.getArg(e,"source",null),r=s.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,n,i,r),null!=i&&(i=String(i),this._sources.has(i)||this._sources.add(i)),null!=r&&(r=String(r),this._names.has(r)||this._names.add(r)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=n&&n.line,originalColumn:null!=n&&n.column,source:i,name:r})},a.prototype.setSourceContent=function(e,t){var n=e;null!=this._sourceRoot&&(n=s.relative(this._sourceRoot,n)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[s.toSetString(n)]=t):this._sourcesContents&&(delete this._sourcesContents[s.toSetString(n)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},a.prototype.applySourceMap=function(e,t,n){var i=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');i=e.file}var o=this._sourceRoot;null!=o&&(i=s.relative(o,i));var a=new r,A=new r;this._mappings.unsortedForEach((function(t){if(t.source===i&&null!=t.originalLine){var r=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=r.source&&(t.source=r.source,null!=n&&(t.source=s.join(n,t.source)),null!=o&&(t.source=s.relative(o,t.source)),t.originalLine=r.line,t.originalColumn=r.column,null!=r.name&&(t.name=r.name))}var l=t.source;null==l||a.has(l)||a.add(l);var c=t.name;null==c||A.has(c)||A.add(c)}),this),this._sources=a,this._names=A,e.sources.forEach((function(t){var i=e.sourceContentFor(t);null!=i&&(null!=n&&(t=s.join(n,t)),null!=o&&(t=s.relative(o,t)),this.setSourceContent(t,i))}),this)},a.prototype._validateMapping=function(e,t,n,i){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||n||i)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:i}))},a.prototype._serializeMappings=function(){for(var e,t,n,r,o=0,a=1,A=0,l=0,c=0,p=0,g="",u=this._mappings.toArray(),d=0,h=u.length;d0){if(!s.compareByGeneratedPositionsInflated(t,u[d-1]))continue;e+=","}e+=i.encode(t.generatedColumn-o),o=t.generatedColumn,null!=t.source&&(r=this._sources.indexOf(t.source),e+=i.encode(r-p),p=r,e+=i.encode(t.originalLine-1-l),l=t.originalLine-1,e+=i.encode(t.originalColumn-A),A=t.originalColumn,null!=t.name&&(n=this._names.indexOf(t.name),e+=i.encode(n-c),c=n)),g+=e}return g},a.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=s.relative(t,e));var n=s.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null}),this)},a.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},a.prototype.toString=function(){return JSON.stringify(this.toJSON())},t.h=a},8014:(e,t,n)=>{var i=n(9395).h,s=n(2047),r=/(\r?\n)/,o="$$$isSourceNode$$$";function a(e,t,n,i,s){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==n?null:n,this.name=null==s?null:s,this[o]=!0,null!=i&&this.add(i)}a.fromStringWithSourceMap=function(e,t,n){var i=new a,o=e.split(r),A=0,l=function(){return e()+(e()||"");function e(){return A=0;t--)this.prepend(e[t]);else{if(!e[o]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},a.prototype.walk=function(e){for(var t,n=0,i=this.children.length;n0){for(t=[],n=0;n{t.getArg=function(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('"'+t+'" is a required argument.')};var n=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,i=/^data:.+\,.+$/;function s(e){var t=e.match(n);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function r(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function o(e){var n=e,i=s(e);if(i){if(!i.path)return e;n=i.path}for(var o,a=t.isAbsolute(n),A=n.split(/\/+/),l=0,c=A.length-1;c>=0;c--)"."===(o=A[c])?A.splice(c,1):".."===o?l++:l>0&&(""===o?(A.splice(c+1,l),l=0):(A.splice(c,2),l--));return""===(n=A.join("/"))&&(n=a?"/":"."),i?(i.path=n,r(i)):n}function a(e,t){""===e&&(e="."),""===t&&(t=".");var n=s(t),a=s(e);if(a&&(e=a.path||"/"),n&&!n.scheme)return a&&(n.scheme=a.scheme),r(n);if(n||t.match(i))return t;if(a&&!a.host&&!a.path)return a.host=t,r(a);var A="/"===t.charAt(0)?t:o(e.replace(/\/+$/,"")+"/"+t);return a?(a.path=A,r(a)):A}t.urlParse=s,t.urlGenerate=r,t.normalize=o,t.join=a,t.isAbsolute=function(e){return"/"===e.charAt(0)||n.test(e)},t.relative=function(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var n=0;0!==t.indexOf(e+"/");){var i=e.lastIndexOf("/");if(i<0)return t;if((e=e.slice(0,i)).match(/^([^\/]+:\/)?\/*$/))return t;++n}return Array(n+1).join("../")+t.substr(e.length+1)};var A=!("__proto__"in Object.create(null));function l(e){return e}function c(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function p(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}t.toSetString=A?l:function(e){return c(e)?"$"+e:e},t.fromSetString=A?l:function(e){return c(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,n){var i=p(e.source,t.source);return 0!==i||0!=(i=e.originalLine-t.originalLine)||0!=(i=e.originalColumn-t.originalColumn)||n||0!=(i=e.generatedColumn-t.generatedColumn)||0!=(i=e.generatedLine-t.generatedLine)?i:p(e.name,t.name)},t.compareByGeneratedPositionsDeflated=function(e,t,n){var i=e.generatedLine-t.generatedLine;return 0!==i||0!=(i=e.generatedColumn-t.generatedColumn)||n||0!==(i=p(e.source,t.source))||0!=(i=e.originalLine-t.originalLine)||0!=(i=e.originalColumn-t.originalColumn)?i:p(e.name,t.name)},t.compareByGeneratedPositionsInflated=function(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n||0!=(n=e.generatedColumn-t.generatedColumn)||0!==(n=p(e.source,t.source))||0!=(n=e.originalLine-t.originalLine)||0!=(n=e.originalColumn-t.originalColumn)?n:p(e.name,t.name)},t.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))},t.computeSourceURL=function(e,t,n){if(t=t||"",e&&("/"!==e[e.length-1]&&"/"!==t[0]&&(e+="/"),t=e+t),n){var i=s(n);if(!i)throw new Error("sourceMapURL could not be parsed");if(i.path){var A=i.path.lastIndexOf("/");A>=0&&(i.path=i.path.substring(0,A+1))}t=a(r(i),t)}return o(t)}},8444:(e,t,n)=>{n(9395).h,t.SourceMapConsumer=n(3691).SourceMapConsumer,n(8014)},7266:(e,t,n)=>{const i=n(7147),s=n(2037),r=n(1017),o=n(6113),a={fs:i.constants,os:s.constants},A=n(5195),l="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",c=/XXXXXX/,p=(a.O_CREAT||a.fs.O_CREAT)|(a.O_EXCL||a.fs.O_EXCL)|(a.O_RDWR||a.fs.O_RDWR),g="win32"===s.platform(),u=a.EBADF||a.os.errno.EBADF,d=a.ENOENT||a.os.errno.ENOENT,h=[],C=i.rmdirSync.bind(i),m=A.sync;let y=!1;function f(e,t){const n=S(e,t),s=n[0],r=n[1];try{F(s)}catch(e){return r(e)}let o=s.tries;!function e(){try{const t=b(s);i.stat(t,(function(n){if(!n)return o-- >0?e():r(new Error("Could not get a unique tmp filename, max tries reached "+t));r(null,t)}))}catch(e){r(e)}}()}function I(e){const t=S(e)[0];F(t);let n=t.tries;do{const e=b(t);try{i.statSync(e)}catch(t){return e}}while(n-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function E(e,t){const n=function(e){if(e&&!x(e))return t(e);t()};0<=e[0]?i.close(e[0],(function(){i.unlink(e[1],n)})):i.unlink(e[1],n)}function T(e){let t=null;try{0<=e[0]&&i.closeSync(e[0])}catch(e){if(!R(e,-u,"EBADF")&&!x(e))throw e}finally{try{i.unlinkSync(e[1])}catch(e){x(e)||(t=e)}}if(null!==t)throw t}function B(e,t,n,i){const s=Q(T,[t,e],i),r=Q(E,[t,e],i,s);return n.keep||h.unshift(s),i?s:r}function v(e,t,n){const s=t.unsafeCleanup?A:i.rmdir.bind(i),r=Q(t.unsafeCleanup?m:C,e,n),o=Q(s,e,n,r);return t.keep||h.unshift(r),n?r:o}function Q(e,t,n,i){let s=!1;return function r(o){if(!s){const a=i||r,A=h.indexOf(a);return A>=0&&h.splice(A,1),s=!0,n||e===C||e===m?e(t):e(t,o||function(){})}}}function _(e){let t=[],n=null;try{n=o.randomBytes(e)}catch(t){n=o.pseudoRandomBytes(e)}for(var i=0;i{"use strict";n.r(t),n.d(t,{__assign:()=>r,__asyncDelegator:()=>I,__asyncGenerator:()=>f,__asyncValues:()=>E,__await:()=>y,__awaiter:()=>c,__classPrivateFieldGet:()=>Q,__classPrivateFieldSet:()=>_,__createBinding:()=>g,__decorate:()=>a,__exportStar:()=>u,__extends:()=>s,__generator:()=>p,__importDefault:()=>v,__importStar:()=>B,__makeTemplateObject:()=>T,__metadata:()=>l,__param:()=>A,__read:()=>h,__rest:()=>o,__spread:()=>C,__spreadArrays:()=>m,__values:()=>d});var i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function s(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var r=function(){return r=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;a--)(s=e[a])&&(o=(r<3?s(o):r>3?s(t,n,o):s(t,n))||o);return r>3&&o&&Object.defineProperty(t,n,o),o}function A(e,t){return function(n,i){t(n,i,e)}}function l(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function c(e,t,n,i){return new(n||(n=Promise))((function(s,r){function o(e){try{A(i.next(e))}catch(e){r(e)}}function a(e){try{A(i.throw(e))}catch(e){r(e)}}function A(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}A((i=i.apply(e,t||[])).next())}))}function p(e,t){var n,i,s,r,o={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,i&&(s=2&r[0]?i.return:r[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,r[1])).done)return s;switch(i=0,s&&(r=[2&r[0],s.value]),r[0]){case 0:case 1:s=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,i=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!((s=(s=o.trys).length>0&&s[s.length-1])||6!==r[0]&&2!==r[0])){o=0;continue}if(3===r[0]&&(!s||r[1]>s[0]&&r[1]=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function h(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,s,r=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(i=r.next()).done;)o.push(i.value)}catch(e){s={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(s)throw s.error}}return o}function C(){for(var e=[],t=0;t1||a(e,t)}))})}function a(e,t){try{(n=s[e](t)).value instanceof y?Promise.resolve(n.value.v).then(A,l):c(r[0][2],n)}catch(e){c(r[0][3],e)}var n}function A(e){a("next",e)}function l(e){a("throw",e)}function c(e,t){e(t),r.shift(),r.length&&a(r[0][0],r[0][1])}}function I(e){var t,n;return t={},i("next"),i("throw",(function(e){throw e})),i("return"),t[Symbol.iterator]=function(){return this},t;function i(i,s){t[i]=e[i]?function(t){return(n=!n)?{value:y(e[i](t)),done:"return"===i}:s?s(t):t}:s}}function E(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=d(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(n){t[n]=e[n]&&function(t){return new Promise((function(i,s){!function(e,t,n,i){Promise.resolve(i).then((function(t){e({value:t,done:n})}),t)}(i,s,(t=e[n](t)).done,t.value)}))}}}function T(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function B(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function v(e){return e&&e.__esModule?e:{default:e}}function Q(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function _(e,t,n){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,n),n}},5351:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TraceFormat=t.TraceValues=t.Trace=t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=void 0;const i=n(5177);Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return i.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const s=n(1695);Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return s.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return s.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return s.Touch}});const r=n(114);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const o=n(9530);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return o.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return o.Emitter}});const a=n(6e3);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return a.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return a.CancellationToken}});const A=n(3580);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return A.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return A.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return A.ReadableStreamMessageReader}});const l=n(4728);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=n(3180);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return c.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return c.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const p=n(8974);t.RAL=p.default},6e3:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(8974),s=n(7341),r=n(9530);var o,a;(a=o=t.CancellationToken||(t.CancellationToken={})).None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),a.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None}),a.is=function(e){const t=e;return t&&(t===a.None||t===a.Cancelled||s.boolean(t.isCancellationRequested)&&!!t.onCancellationRequested)};const A=Object.freeze((function(e,t){const n=(0,i.default)().timer.setTimeout(e.bind(t),0);return{dispose(){n.dispose()}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?A:(this._emitter||(this._emitter=new r.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=o.None}}},3180:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const i=n(8974),s=n(7341),r=n(5177),o=n(1695),a=n(9530),A=n(6e3);var l,c,p,g,u,d,h,C,m,y,f,I,E,T,B,v,Q,_,w,D,S,b;(l||(l={})).type=new r.NotificationType("$/cancelRequest"),(c=t.ProgressToken||(t.ProgressToken={})).is=function(e){return"string"==typeof e||"number"==typeof e},(p||(p={})).type=new r.NotificationType("$/progress"),t.ProgressType=class{constructor(){}},(g||(g={})).is=function(e){return s.func(e)},t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),(d=u=t.Trace||(t.Trace={}))[d.Off=0]="Off",d[d.Messages=1]="Messages",d[d.Compact=2]="Compact",d[d.Verbose=3]="Verbose",(h=t.TraceValues||(t.TraceValues={})).Off="off",h.Messages="messages",h.Compact="compact",h.Verbose="verbose",function(e){e.fromString=function(t){if(!s.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":default:return e.Off;case"messages":return e.Messages;case"compact":return e.Compact;case"verbose":return e.Verbose}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Compact:return"compact";case e.Verbose:return"verbose";default:return"off"}}}(u=t.Trace||(t.Trace={})),(m=t.TraceFormat||(t.TraceFormat={})).Text="text",m.JSON="json",function(e){e.fromString=function(t){return s.string(t)&&"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(C=t.TraceFormat||(t.TraceFormat={})),(y=t.SetTraceNotification||(t.SetTraceNotification={})).type=new r.NotificationType("$/setTrace"),(f=t.LogTraceNotification||(t.LogTraceNotification={})).type=new r.NotificationType("$/logTrace"),(E=I=t.ConnectionErrors||(t.ConnectionErrors={}))[E.Closed=1]="Closed",E[E.Disposed=2]="Disposed",E[E.AlreadyListening=3]="AlreadyListening";class F extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,F.prototype)}}t.ConnectionError=F,(T=t.ConnectionStrategy||(t.ConnectionStrategy={})).is=function(e){const t=e;return t&&s.func(t.cancelUndispatched)},(v=B=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})).Message=Object.freeze({createCancellationTokenSource:e=>new A.CancellationTokenSource}),v.is=function(e){const t=e;return t&&s.func(t.createCancellationTokenSource)},(_=Q=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})).Message=Object.freeze({sendCancellation:(e,t)=>e.sendNotification(l.type,{id:t}),cleanup(e){}}),_.is=function(e){const t=e;return t&&s.func(t.sendCancellation)&&s.func(t.cleanup)},(D=w=t.CancellationStrategy||(t.CancellationStrategy={})).Message=Object.freeze({receiver:B.Message,sender:Q.Message}),D.is=function(e){const t=e;return t&&B.is(t.receiver)&&Q.is(t.sender)},(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(w.is(t.cancellationStrategy)||T.is(t.connectionStrategy))},(b=S||(S={}))[b.New=1]="New",b[b.Listening=2]="Listening",b[b.Closed=3]="Closed",b[b.Disposed=4]="Disposed",t.createMessageConnection=function(e,n,d,h){const m=void 0!==d?d:t.NullLogger;let E=0,T=0,B=0;const v="2.0";let Q;const _=new Map;let D;const b=new Map,k=new Map;let N,P,x=new o.LinkedMap,R=new Map,M=new Set,L=new Map,K=u.Off,O=C.Text,U=S.New;const G=new a.Emitter,Y=new a.Emitter,V=new a.Emitter,z=new a.Emitter,J=new a.Emitter,j=h&&h.cancellationStrategy?h.cancellationStrategy:w.Message;function q(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function H(e){}function W(){return U===S.Listening}function X(){return U===S.Closed}function $(){return U===S.Disposed}function Z(){U!==S.New&&U!==S.Listening||(U=S.Closed,Y.fire(void 0))}function ee(){N||0===x.size||(N=(0,i.default)().timer.setImmediate((()=>{N=void 0,function(){if(0===x.size)return;const e=x.shift();try{r.Message.isRequest(e)?function(e){var t;if($())return;function i(t,i,s){const o={jsonrpc:v,id:e.id};t instanceof r.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ie(o,i,s),n.write(o).catch((()=>m.error("Sending response failed.")))}function o(t,i,s){const r={jsonrpc:v,id:e.id,error:t.toJson()};ie(r,i,s),n.write(r).catch((()=>m.error("Sending response failed.")))}!function(e){if(K!==u.Off&&P)if(O===C.Text){let t;K!==u.Verbose&&K!==u.Compact||!e.params||(t=`Params: ${ne(e.params)}\n\n`),P.log(`Received request '${e.method} - (${e.id})'.`,t)}else re("receive-request",e)}(e);const a=_.get(e.method);let A,l;a&&(A=a.type,l=a.handler);const c=Date.now();if(l||Q){const a=null!=(t=e.id)?t:String(Date.now()),p=j.receiver.createCancellationTokenSource(a);null!==e.id&&M.has(e.id)&&p.cancel(),null!==e.id&&L.set(a,p);try{let t;if(l)if(void 0===e.params){if(void 0!==A&&0!==A.numberOfParams)return void o(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${e.method} defines ${A.numberOfParams} params but received none.`),e.method,c);t=l(p.token)}else if(Array.isArray(e.params)){if(void 0!==A&&A.parameterStructures===r.ParameterStructures.byName)return void o(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);t=l(...e.params,p.token)}else{if(void 0!==A&&A.parameterStructures===r.ParameterStructures.byPosition)return void o(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);t=l(e.params,p.token)}else Q&&(t=Q(e.method,e.params,p.token));const g=t;t?g.then?g.then((t=>{L.delete(a),i(t,e.method,c)}),(t=>{L.delete(a),t instanceof r.ResponseError?o(t,e.method,c):t&&s.string(t.message)?o(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):o(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(L.delete(a),i(t,e.method,c)):(L.delete(a),function(t,i,s){void 0===t&&(t=null);const r={jsonrpc:v,id:e.id,result:t};ie(r,i,s),n.write(r).catch((()=>m.error("Sending response failed.")))}(t,e.method,c))}catch(t){L.delete(a),t instanceof r.ResponseError?i(t,e.method,c):t&&s.string(t.message)?o(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):o(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else o(new r.ResponseError(r.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):r.Message.isNotification(e)?function(e){if($())return;let t,n;if(e.method===l.type.method){const t=e.params.id;return M.delete(t),void se(e)}{const i=b.get(e.method);i&&(n=i.handler,t=i.type)}if(n||D)try{if(se(e),n)if(void 0===e.params)void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==r.ParameterStructures.byName&&m.error(`Notification ${e.method} defines ${t.numberOfParams} params but received none.`),n();else if(Array.isArray(e.params)){const i=e.params;e.method===p.type.method&&2===i.length&&c.is(i[0])?n({token:i[0],value:i[1]}):(void 0!==t&&(t.parameterStructures===r.ParameterStructures.byName&&m.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&m.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${i.length} arguments`)),n(...i))}else void 0!==t&&t.parameterStructures===r.ParameterStructures.byPosition&&m.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params);else D&&D(e.method,e.params)}catch(t){t.message?m.error(`Notification handler '${e.method}' failed with message: ${t.message}`):m.error(`Notification handler '${e.method}' failed unexpectedly.`)}else V.fire(e)}(e):r.Message.isResponse(e)?function(e){if(!$())if(null===e.id)e.error?m.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):m.error("Received response message without id. No further error information provided.");else{const t=e.id,n=R.get(t);if(function(e,t){if(K!==u.Off&&P)if(O===C.Text){let n;if(K!==u.Verbose&&K!==u.Compact||(e.error&&e.error.data?n=`Error data: ${ne(e.error.data)}\n\n`:e.result?n=`Result: ${ne(e.result)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";P.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else P.log(`Received response ${e.id} without active response promise.`,n)}else re("receive-response",e)}(e,n),void 0!==n){R.delete(t);try{if(e.error){const t=e.error;n.reject(new r.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?m.error(`Response handler '${n.method}' failed with message: ${e.message}`):m.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void m.error("Received empty message.");m.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(s.string(t.id)||s.number(t.id)){const e=t.id,n=R.get(e);n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{ee()}}()})))}e.onClose(Z),e.onError((function(e){G.fire([e,void 0,void 0])})),n.onClose(Z),n.onError((function(e){G.fire(e)}));const te=e=>{try{if(r.Message.isNotification(e)&&e.method===l.type.method){const t=e.params.id,i=q(t),s=x.get(i);if(r.Message.isRequest(s)){const r=null==h?void 0:h.connectionStrategy,o=r&&r.cancelUndispatched?r.cancelUndispatched(s,H):void 0;if(o&&(void 0!==o.error||void 0!==o.result))return x.delete(i),L.delete(t),o.id=s.id,ie(o,e.method,Date.now()),void n.write(o).catch((()=>m.error("Sending response for canceled message failed.")))}const o=L.get(t);if(void 0!==o)return o.cancel(),void se(e);M.add(t)}!function(e,t){var n;r.Message.isRequest(t)?e.set(q(t.id),t):r.Message.isResponse(t)?e.set(null===(n=t.id)?"res-unknown-"+(++B).toString():"res-"+n.toString(),t):e.set("not-"+(++T).toString(),t)}(x,e)}finally{ee()}};function ne(e){if(null!=e)switch(K){case u.Verbose:return JSON.stringify(e,null,4);case u.Compact:return JSON.stringify(e);default:return}}function ie(e,t,n){if(K!==u.Off&&P)if(O===C.Text){let i;K!==u.Verbose&&K!==u.Compact||(e.error&&e.error.data?i=`Error data: ${ne(e.error.data)}\n\n`:e.result?i=`Result: ${ne(e.result)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),P.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else re("send-response",e)}function se(e){if(K!==u.Off&&P&&e.method!==f.type.method)if(O===C.Text){let t;K!==u.Verbose&&K!==u.Compact||(t=e.params?`Params: ${ne(e.params)}\n\n`:"No parameters provided.\n\n"),P.log(`Received notification '${e.method}'.`,t)}else re("receive-notification",e)}function re(e,t){if(!P||K===u.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};P.log(n)}function oe(){if(X())throw new F(I.Closed,"Connection is closed.");if($())throw new F(I.Disposed,"Connection is disposed.")}function ae(e){return void 0===e?null:e}function Ae(e){return null===e?void 0:e}function le(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function ce(e,t){switch(e){case r.ParameterStructures.auto:return le(t)?Ae(t):[ae(t)];case r.ParameterStructures.byName:if(!le(t))throw new Error("Received parameters by name but param is not an object literal.");return Ae(t);case r.ParameterStructures.byPosition:return[ae(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function pe(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=ce(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(oe(),s.string(e)){i=e;const n=t[0];let s=0,a=r.ParameterStructures.auto;r.ParameterStructures.is(n)&&(s=1,a=n);let A=t.length;const l=A-s;switch(l){case 0:o=void 0;break;case 1:o=ce(a,t[s]);break;default:if(a===r.ParameterStructures.byName)throw new Error(`Received ${l} parameters for 'by Name' notification parameter structure.`);o=t.slice(s,A).map((e=>ae(e)))}}else{const n=t;i=e.method,o=pe(e,n)}const a={jsonrpc:v,method:i,params:o};return function(e){if(K!==u.Off&&P)if(O===C.Text){let t;K!==u.Verbose&&K!==u.Compact||(t=e.params?`Params: ${ne(e.params)}\n\n`:"No parameters provided.\n\n"),P.log(`Sending notification '${e.method}'.`,t)}else re("send-notification",e)}(a),n.write(a).catch((()=>m.error("Sending notification failed.")))},onNotification:(e,t)=>{let n;return oe(),s.func(e)?D=e:t&&(s.string(e)?(n=e,b.set(e,{type:void 0,handler:t})):(n=e.method,b.set(e.method,{type:e,handler:t}))),{dispose:()=>{void 0!==n?b.delete(n):D=void 0}}},onProgress:(e,t,n)=>{if(k.has(t))throw new Error(`Progress handler for token ${t} already registered`);return k.set(t,n),{dispose:()=>{k.delete(t)}}},sendProgress:(e,t,n)=>ge.sendNotification(p.type,{token:t,value:n}),onUnhandledProgress:z.event,sendRequest:(e,...t)=>{let i,o,a;if(oe(),function(){if(!W())throw new Error("Call listen() first.")}(),s.string(e)){i=e;const n=t[0],s=t[t.length-1];let l=0,c=r.ParameterStructures.auto;r.ParameterStructures.is(n)&&(l=1,c=n);let p=t.length;A.CancellationToken.is(s)&&(p-=1,a=s);const g=p-l;switch(g){case 0:o=void 0;break;case 1:o=ce(c,t[l]);break;default:if(c===r.ParameterStructures.byName)throw new Error(`Received ${g} parameters for 'by Name' request parameter structure.`);o=t.slice(l,p).map((e=>ae(e)))}}else{const n=t;i=e.method,o=pe(e,n);const s=e.numberOfParams;a=A.CancellationToken.is(n[s])?n[s]:void 0}const l=E++;let c;return a&&(c=a.onCancellationRequested((()=>{const e=j.sender.sendCancellation(ge,l);return void 0===e?(m.log(`Received no promise from cancellation strategy when cancelling id ${l}`),Promise.resolve()):e.catch((()=>{m.log(`Sending cancellation messages for id ${l} failed`)}))}))),new Promise(((e,t)=>{const s={jsonrpc:v,id:l,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),j.sender.cleanup(l),null==c||c.dispose()},reject:e=>{t(e),j.sender.cleanup(l),null==c||c.dispose()}};!function(e){if(K!==u.Off&&P)if(O===C.Text){let t;K!==u.Verbose&&K!==u.Compact||!e.params||(t=`Params: ${ne(e.params)}\n\n`),P.log(`Sending request '${e.method} - (${e.id})'.`,t)}else re("send-request",e)}(s);try{n.write(s).catch((()=>m.error("Sending request failed.")))}catch(e){a.reject(new r.ResponseError(r.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&R.set(l,a)}))},onRequest:(e,t)=>{oe();let n=null;return g.is(e)?(n=void 0,Q=e):s.string(e)?(n=null,void 0!==t&&(n=e,_.set(e,{handler:t,type:void 0}))):void 0!==t&&(n=e.method,_.set(e.method,{type:e,handler:t})),{dispose:()=>{null!==n&&(void 0!==n?_.delete(n):Q=void 0)}}},hasPendingResponse:()=>R.size>0,trace:async(e,t,n)=>{let i=!1,r=C.Text;void 0!==n&&(s.boolean(n)?i=n:(i=n.sendNotification||!1,r=n.traceFormat||C.Text)),K=e,O=r,P=K===u.Off?void 0:t,!i||X()||$()||await ge.sendNotification(y.type,{value:u.toString(e)})},onError:G.event,onClose:Y.event,onUnhandledNotification:V.event,onDispose:J.event,end:()=>{n.end()},dispose:()=>{if($())return;U=S.Disposed,J.fire(void 0);const t=new r.ResponseError(r.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const e of R.values())e.reject(t);R=new Map,L=new Map,M=new Set,x=new o.LinkedMap,s.func(n.dispose)&&n.dispose(),s.func(e.dispose)&&e.dispose()},listen:()=>{oe(),function(){if(W())throw new F(I.AlreadyListening,"Connection is already listening")}(),U=S.Listening,e.listen(te)},inspect:()=>{(0,i.default)().console.log("inspect")}};return ge.onNotification(f.type,(e=>{if(K===u.Off||!P)return;const t=K===u.Verbose||K===u.Compact;P.log(e.message,t?e.verbose:void 0)})),ge.onNotification(p.type,(e=>{const t=k.get(e.token);t?t(e.value):z.fire(e)})),ge}},114:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},9530:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(8974);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class s{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,s=this._callbacks.length;i{this._callbacks||(this._callbacks=new s),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=r._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=r,r._noop=function(){}},7341:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},1695:(e,t)=>{"use strict";var n,i,s;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,(s=i=t.Touch||(t.Touch={})).None=0,s.First=1,s.AsOld=s.First,s.Last=2,s.AsNew=s.Last;class r{constructor(){this[n]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){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=i.None){const n=this._map.get(e);if(n)return t!==i.None&&this.touch(n,t),n.value}set(e,t,n=i.None){let s=this._map.get(e);if(s)s.value=t,n!==i.None&&this.touch(s,n);else{switch(s={key:e,value:t,next:void 0,previous:void 0},n){case i.None:this.addItemLast(s);break;case i.First:this.addItemFirst(s);break;case i.Last:default:this.addItemLast(s)}this._map.set(e,s),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this._state;let t=this._head;const n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){const e={value:t.key,done:!1};return t=t.next,e}return{value:void 0,done:!0}}};return n}values(){const e=this._state;let t=this._head;const n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){const e={value:t.value,done:!1};return t=t.next,e}return{value:void 0,done:!0}}};return n}entries(){const e=this._state;let t=this._head;const n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){const e={value:[t.key,t.value],done:!1};return t=t.next,e}return{value:void 0,done:!0}}};return n}[(n=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}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 new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===i.First||t===i.Last)if(t===i.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===i.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=r,t.LRUCache=class extends r{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}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=i.AsNew){return super.get(e,t)}peek(e){return super.get(e,i.None)}set(e,t){return super.set(e,t,i.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},9263:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const s=i.slice(0,e);t.set(s,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},3580:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(8974),s=n(7341),r=n(9530);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&s.func(t.listen)&&s.func(t.dispose)&&s.func(t.onError)&&s.func(t.onClose)&&s.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter,this.partialMessageEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${s.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,(o||(o={})).fromOptions=function(e){var t;let n,s;const r=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!=(t=e.charset)?t:"utf-8",void 0!==e.contentDecoder&&(s=e.contentDecoder,r.set(s.name,s)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)r.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=(0,i.default)().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:s,contentDecoders:r,contentTypeDecoder:o,contentTypeDecoders:a}},t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=(0,i.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=(0,i.default)().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},4728:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(8974),s=n(7341),r=n(8588),o=n(9530);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&s.func(t.dispose)&&s.func(t.onClose)&&s.func(t.onError)&&s.func(t.write)};class A{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${s.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=A,(a||(a={})).fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:(0,i.default)().applicationJson.encoder}:{charset:null!=(t=e.charset)?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!=(n=e.contentTypeEncoder)?n:(0,i.default)().applicationJson.encoder}},t.WriteableStreamMessageWriter=class extends A{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new r.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},5177:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Message=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(7341);var s,r,o;(r=s=t.ErrorCodes||(t.ErrorCodes={})).ParseError=-32700,r.InvalidRequest=-32600,r.MethodNotFound=-32601,r.InvalidParams=-32602,r.InternalError=-32603,r.jsonrpcReservedErrorRangeStart=-32099,r.serverErrorStart=-32099,r.MessageWriteError=-32099,r.MessageReadError=-32098,r.PendingResponseRejected=-32097,r.ConnectionInactive=-32096,r.ServerNotInitialized=-32002,r.UnknownErrorCode=-32001,r.jsonrpcReservedErrorRangeEnd=-32e3,r.serverErrorEnd=-32e3;class a extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:s.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,a.prototype)}toJson(){const e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data),e}}t.ResponseError=a;class A{constructor(e){this.kind=e}static is(e){return e===A.auto||e===A.byName||e===A.byPosition}toString(){return this.kind}}t.ParameterStructures=A,A.auto=new A("auto"),A.byPosition=new A("byPosition"),A.byName=new A("byName");class l{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return A.auto}}t.AbstractMessageSignature=l,t.RequestType0=class extends l{constructor(e){super(e,0)}},t.RequestType=class extends l{constructor(e,t=A.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends l{constructor(e,t=A.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends l{constructor(e){super(e,2)}},t.RequestType3=class extends l{constructor(e){super(e,3)}},t.RequestType4=class extends l{constructor(e){super(e,4)}},t.RequestType5=class extends l{constructor(e){super(e,5)}},t.RequestType6=class extends l{constructor(e){super(e,6)}},t.RequestType7=class extends l{constructor(e){super(e,7)}},t.RequestType8=class extends l{constructor(e){super(e,8)}},t.RequestType9=class extends l{constructor(e){super(e,9)}},t.NotificationType=class extends l{constructor(e,t=A.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends l{constructor(e){super(e,0)}},t.NotificationType1=class extends l{constructor(e,t=A.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends l{constructor(e){super(e,2)}},t.NotificationType3=class extends l{constructor(e){super(e,3)}},t.NotificationType4=class extends l{constructor(e){super(e,4)}},t.NotificationType5=class extends l{constructor(e){super(e,5)}},t.NotificationType6=class extends l{constructor(e){super(e,6)}},t.NotificationType7=class extends l{constructor(e){super(e,7)}},t.NotificationType8=class extends l{constructor(e){super(e,8)}},t.NotificationType9=class extends l{constructor(e){super(e,9)}},(o=t.Message||(t.Message={})).isRequest=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},o.isNotification=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},o.isResponse=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},8974:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),(i||(i={})).install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e},t.default=i},8588:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(8974);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&(0,i.default)().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},7184:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,s)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.createServerSocketTransport=t.createClientSocketTransport=t.createServerPipeTransport=t.createClientPipeTransport=t.generateRandomPipeName=t.StreamMessageWriter=t.StreamMessageReader=t.SocketMessageWriter=t.SocketMessageReader=t.IPCMessageWriter=t.IPCMessageReader=void 0;const r=n(6213);r.default.install();const o=n(5351),a=n(1017),A=n(2037),l=n(6113),c=n(1808);s(n(5351),t);class p extends o.AbstractMessageReader{constructor(e){super(),this.process=e;let t=this.process;t.on("error",(e=>this.fireError(e))),t.on("close",(()=>this.fireClose()))}listen(e){return this.process.on("message",e),o.Disposable.create((()=>this.process.off("message",e)))}}t.IPCMessageReader=p;class g extends o.AbstractMessageWriter{constructor(e){super(),this.process=e,this.errorCount=0;let t=this.process;t.on("error",(e=>this.fireError(e))),t.on("close",(()=>this.fireClose))}write(e){try{return"function"==typeof this.process.send&&this.process.send(e,void 0,void 0,(t=>{t?(this.errorCount++,this.handleError(t,e)):this.errorCount=0})),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.IPCMessageWriter=g;class u extends o.ReadableStreamMessageReader{constructor(e,t="utf-8"){super((0,r.default)().stream.asReadableStream(e),t)}}t.SocketMessageReader=u;class d extends o.WriteableStreamMessageWriter{constructor(e,t){super((0,r.default)().stream.asWritableStream(e),t),this.socket=e}dispose(){super.dispose(),this.socket.destroy()}}t.SocketMessageWriter=d;class h extends o.ReadableStreamMessageReader{constructor(e,t){super((0,r.default)().stream.asReadableStream(e),t)}}t.StreamMessageReader=h;class C extends o.WriteableStreamMessageWriter{constructor(e,t){super((0,r.default)().stream.asWritableStream(e),t)}}t.StreamMessageWriter=C;const m=process.env.XDG_RUNTIME_DIR,y=new Map([["linux",107],["darwin",103]]);t.generateRandomPipeName=function(){const e=(0,l.randomBytes)(21).toString("hex");if("win32"===process.platform)return`\\\\.\\pipe\\vscode-jsonrpc-${e}-sock`;let t;t=m?a.join(m,`vscode-ipc-${e}.sock`):a.join(A.tmpdir(),`vscode-${e}.sock`);const n=y.get(process.platform);return void 0!==n&&t.length>=n&&(0,r.default)().console.warn(`WARNING: IPC handle "${t}" is longer than ${n} characters.`),t},t.createClientPipeTransport=function(e,t="utf-8"){let n;const i=new Promise(((e,t)=>{n=e}));return new Promise(((s,r)=>{let o=(0,c.createServer)((e=>{o.close(),n([new u(e,t),new d(e,t)])}));o.on("error",r),o.listen(e,(()=>{o.removeListener("error",r),s({onConnected:()=>i})}))}))},t.createServerPipeTransport=function(e,t="utf-8"){const n=(0,c.createConnection)(e);return[new u(n,t),new d(n,t)]},t.createClientSocketTransport=function(e,t="utf-8"){let n;const i=new Promise(((e,t)=>{n=e}));return new Promise(((s,r)=>{const o=(0,c.createServer)((e=>{o.close(),n([new u(e,t),new d(e,t)])}));o.on("error",r),o.listen(e,"127.0.0.1",(()=>{o.removeListener("error",r),s({onConnected:()=>i})}))}))},t.createServerSocketTransport=function(e,t="utf-8"){const n=(0,c.createConnection)(e,"127.0.0.1");return[new u(n,t),new d(n,t)]},t.createMessageConnection=function(e,t,n,i){n||(n=o.NullLogger);const s=function(e){const t=e;return void 0!==t.read&&void 0!==t.addListener}(e)?new h(e):e,r=function(e){const t=e;return void 0!==t.write&&void 0!==t.addListener}(t)?new C(t):t;return o.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,o.createMessageConnection)(s,r,n,i)}},6213:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(8974),s=n(3837),r=n(114),o=n(9263);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e)}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return Buffer.from(e,t)}toString(e,t){return e instanceof Buffer?e.toString(t):new s.TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e instanceof Buffer?e:Buffer.from(e):e instanceof Buffer?e.slice(0,t):Buffer.from(e,0,t)}allocNative(e){return Buffer.allocUnsafe(e)}}a.emptyBuffer=Buffer.allocUnsafe(0);class A{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),r.Disposable.create((()=>this.stream.off("close",e)))}onError(e){return this.stream.on("error",e),r.Disposable.create((()=>this.stream.off("error",e)))}onEnd(e){return this.stream.on("end",e),r.Disposable.create((()=>this.stream.off("end",e)))}onData(e){return this.stream.on("data",e),r.Disposable.create((()=>this.stream.off("data",e)))}}class l{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),r.Disposable.create((()=>this.stream.off("close",e)))}onError(e){return this.stream.on("error",e),r.Disposable.create((()=>this.stream.off("error",e)))}onEnd(e){return this.stream.on("end",e),r.Disposable.create((()=>this.stream.off("end",e)))}write(e,t){return new Promise(((n,i)=>{const s=e=>{null==e?n():i(e)};"string"==typeof e?this.stream.write(e,t,s):this.stream.write(e,s)}))}end(){this.stream.end()}}const c=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{try{return Promise.resolve(Buffer.from(JSON.stringify(e,void 0,0),t.charset))}catch(e){return Promise.reject(e)}}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{try{return e instanceof Buffer?Promise.resolve(JSON.parse(e.toString(t.charset))):Promise.resolve(JSON.parse(new s.TextDecoder(t.charset).decode(e)))}catch(e){return Promise.reject(e)}}})}),stream:Object.freeze({asReadableStream:e=>new A(e),asWritableStream:e=>new l(e)}),console,timer:Object.freeze({setTimeout(e,t,...n){const i=setTimeout(e,t,...n);return{dispose:()=>clearTimeout(i)}},setImmediate(e,...t){const n=setImmediate(e,...t);return{dispose:()=>clearImmediate(n)}},setInterval(e,t,...n){const i=setInterval(e,t,...n);return{dispose:()=>clearInterval(i)}}})});function p(){return c}(p||(p={})).install=function(){i.default.install(c)},t.default=p},3753:(e,t,n)=>{"use strict";e.exports=n(7184)},7632:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,s)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,s(n(7184),t),s(n(1313),t),s(n(3966),t),s(n(9553),t);var r,o=n(2146);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(r=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,r.RequestFailed=-32803,r.ServerCancelled=-32802,r.ContentModified=-32801,r.RequestCancelled=-32800,r.lspReservedErrorRangeEnd=-32800},2146:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(7184);t.createProtocolConnection=function(e,t,n,s){return i.ConnectionStrategy.is(s)&&(s={connectionStrategy:s}),(0,i.createMessageConnection)(e,t,n,s)}},3966:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(7184);t.RegistrationType=class{constructor(e){this.method=e}};class s extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=s;class r extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=r;class o extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},9548:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(3966);var s,r,o;(s=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",r.type=new i.ProtocolRequestType(r.method),(o=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",o.type=new i.ProtocolRequestType(o.method)},7331:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(3966);var s;(s=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",s.type=new i.ProtocolRequestType(s.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},3755:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(3966);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},3948:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(3966);var s;(s=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",s.type=new i.ProtocolRequestType(s.method)},5137:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=void 0;const i=n(7184),s=n(249),r=n(3966);var o,a,A,l;(t.DiagnosticServerCancellationData||(t.DiagnosticServerCancellationData={})).is=function(e){const t=e;return t&&s.boolean(t.retriggerRequest)},(o=t.DocumentDiagnosticReportKind||(t.DocumentDiagnosticReportKind={})).Full="full",o.Unchanged="unchanged",(a=t.DocumentDiagnosticRequest||(t.DocumentDiagnosticRequest={})).method="textDocument/diagnostic",a.type=new r.ProtocolRequestType(a.method),a.partialResult=new i.ProgressType,(A=t.WorkspaceDiagnosticRequest||(t.WorkspaceDiagnosticRequest={})).method="workspace/diagnostic",A.type=new r.ProtocolRequestType(A.method),A.partialResult=new i.ProgressType,(l=t.DiagnosticRefreshRequest||(t.DiagnosticRefreshRequest={})).method="workspace/diagnostic/refresh",l.type=new r.ProtocolRequestType0(l.method)},7466:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(3966);var s,r,o,a,A,l,c;(s=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",s.folder="folder",(r=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",r.type=new i.ProtocolRequestType(r.method),(o=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",o.type=new i.ProtocolNotificationType(o.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(A=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",A.type=new i.ProtocolNotificationType(A.method),(l=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",l.type=new i.ProtocolNotificationType(l.method),(c=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",c.type=new i.ProtocolRequestType(c.method)},16:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=void 0;const i=n(3966);var s;(s=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",s.type=new i.ProtocolRequestType(s.method)},3421:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(3966);var s;(s=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",s.type=new i.ProtocolRequestType(s.method)},993:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=void 0;const i=n(3966);var s,r,o;(s=t.InlayHintRequest||(t.InlayHintRequest={})).method="textDocument/inlayHint",s.type=new i.ProtocolRequestType(s.method),(r=t.InlayHintResolveRequest||(t.InlayHintResolveRequest={})).method="inlayHint/resolve",r.type=new i.ProtocolRequestType(r.method),(o=t.InlayHintRefreshRequest||(t.InlayHintRefreshRequest={})).method="workspace/inlayHint/refresh",o.type=new i.ProtocolRequestType0(o.method)},5034:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineValueRefreshRequest=t.InlineValueRequest=void 0;const i=n(3966);var s,r;(s=t.InlineValueRequest||(t.InlineValueRequest={})).method="textDocument/inlineValue",s.type=new i.ProtocolRequestType(s.method),(r=t.InlineValueRefreshRequest||(t.InlineValueRefreshRequest={})).method="workspace/inlineValue/refresh",r.type=new i.ProtocolRequestType0(r.method)},9553:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.RelativePattern=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeErrorCodes=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.PositionEncodingKind=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.NotebookCellTextDocumentFilter=t.NotebookDocumentFilter=t.TextDocumentFilter=void 0,t.TypeHierarchySubtypesRequest=t.TypeHierarchyPrepareRequest=t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolResolveRequest=void 0,t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=t.InlineValueRefreshRequest=t.InlineValueRequest=t.TypeHierarchySupertypesRequest=void 0;const i=n(3966),s=n(1313),r=n(249),o=n(3421);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return o.ImplementationRequest}});const a=n(4913);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return a.TypeDefinitionRequest}});const A=n(8323);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return A.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return A.DidChangeWorkspaceFoldersNotification}});const l=n(3755);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(7331);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const p=n(16);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return p.FoldingRangeRequest}});const g=n(3948);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return g.DeclarationRequest}});const u=n(7043);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return u.SelectionRangeRequest}});const d=n(6835);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return d.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return d.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return d.WorkDoneProgressCancelNotification}});const h=n(9548);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return h.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return h.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return h.CallHierarchyPrepareRequest}});const C=n(7453);Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return C.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return C.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return C.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return C.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return C.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return C.SemanticTokensRegistrationType}});const m=n(9995);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return m.ShowDocumentRequest}});const y=n(183);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const f=n(7466);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return f.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return f.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return f.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return f.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return f.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return f.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return f.WillDeleteFilesRequest}});const I=n(754);Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return I.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return I.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return I.MonikerRequest}});const E=n(9505);Object.defineProperty(t,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return E.TypeHierarchyPrepareRequest}}),Object.defineProperty(t,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return E.TypeHierarchySubtypesRequest}}),Object.defineProperty(t,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return E.TypeHierarchySupertypesRequest}});const T=n(5034);Object.defineProperty(t,"InlineValueRequest",{enumerable:!0,get:function(){return T.InlineValueRequest}}),Object.defineProperty(t,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return T.InlineValueRefreshRequest}});const B=n(993);Object.defineProperty(t,"InlayHintRequest",{enumerable:!0,get:function(){return B.InlayHintRequest}}),Object.defineProperty(t,"InlayHintResolveRequest",{enumerable:!0,get:function(){return B.InlayHintResolveRequest}}),Object.defineProperty(t,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return B.InlayHintRefreshRequest}});const v=n(5137);Object.defineProperty(t,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return v.DiagnosticServerCancellationData}}),Object.defineProperty(t,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return v.DocumentDiagnosticReportKind}}),Object.defineProperty(t,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return v.DocumentDiagnosticRequest}}),Object.defineProperty(t,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return v.WorkspaceDiagnosticRequest}}),Object.defineProperty(t,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return v.DiagnosticRefreshRequest}});const Q=n(5741);var _,w,D,S,b,F,k,N,P,x,R,M,L,K,O,U,G,Y,V,z,J,j,q,H,W,X,$,Z,ee,te,ne,ie,se,re,oe,ae,Ae,le,ce,pe,ge,ue,de,he;Object.defineProperty(t,"NotebookCellKind",{enumerable:!0,get:function(){return Q.NotebookCellKind}}),Object.defineProperty(t,"ExecutionSummary",{enumerable:!0,get:function(){return Q.ExecutionSummary}}),Object.defineProperty(t,"NotebookCell",{enumerable:!0,get:function(){return Q.NotebookCell}}),Object.defineProperty(t,"NotebookDocument",{enumerable:!0,get:function(){return Q.NotebookDocument}}),Object.defineProperty(t,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return Q.NotebookDocumentSyncRegistrationType}}),Object.defineProperty(t,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return Q.DidOpenNotebookDocumentNotification}}),Object.defineProperty(t,"NotebookCellArrayChange",{enumerable:!0,get:function(){return Q.NotebookCellArrayChange}}),Object.defineProperty(t,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return Q.DidChangeNotebookDocumentNotification}}),Object.defineProperty(t,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return Q.DidSaveNotebookDocumentNotification}}),Object.defineProperty(t,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return Q.DidCloseNotebookDocumentNotification}}),(_=t.TextDocumentFilter||(t.TextDocumentFilter={})).is=function(e){const t=e;return r.string(t.language)||r.string(t.scheme)||r.string(t.pattern)},(w=t.NotebookDocumentFilter||(t.NotebookDocumentFilter={})).is=function(e){const t=e;return r.objectLiteral(t)&&(r.string(t.notebookType)||r.string(t.scheme)||r.string(t.pattern))},(D=t.NotebookCellTextDocumentFilter||(t.NotebookCellTextDocumentFilter={})).is=function(e){const t=e;return r.objectLiteral(t)&&(r.string(t.notebook)||w.is(t.notebook))&&(void 0===t.language||r.string(t.language))},(S=t.DocumentSelector||(t.DocumentSelector={})).is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!r.string(t)&&!_.is(t)&&!D.is(t))return!1;return!0},(t.RegistrationRequest||(t.RegistrationRequest={})).type=new i.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new i.ProtocolRequestType("client/unregisterCapability"),(b=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",b.Rename="rename",b.Delete="delete",(F=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",F.Transactional="transactional",F.TextOnlyTransactional="textOnlyTransactional",F.Undo="undo",(k=t.PositionEncodingKind||(t.PositionEncodingKind={})).UTF8="utf-8",k.UTF16="utf-16",k.UTF32="utf-32",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&r.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||S.is(t.documentSelector))},(N=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return r.objectLiteral(t)&&(void 0===t.workDoneProgress||r.boolean(t.workDoneProgress))},N.hasWorkDoneProgress=function(e){const t=e;return t&&r.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new i.ProtocolRequestType("initialize"),(t.InitializeErrorCodes||(t.InitializeErrorCodes={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new i.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new i.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new i.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeConfiguration"),(P=t.MessageType||(t.MessageType={})).Error=1,P.Warning=2,P.Info=3,P.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new i.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new i.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new i.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new i.ProtocolNotificationType("telemetry/event"),(x=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,x.Full=1,x.Incremental=2,(R=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",R.type=new i.ProtocolNotificationType(R.method),(M=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},M.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(L=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",L.type=new i.ProtocolNotificationType(L.method),(K=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",K.type=new i.ProtocolNotificationType(K.method),(O=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",O.type=new i.ProtocolNotificationType(O.method),(U=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,U.AfterDelay=2,U.FocusOut=3,(G=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",G.type=new i.ProtocolNotificationType(G.method),(Y=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",Y.type=new i.ProtocolRequestType(Y.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(V=t.FileChangeType||(t.FileChangeType={})).Created=1,V.Changed=2,V.Deleted=3,(t.RelativePattern||(t.RelativePattern={})).is=function(e){const t=e;return r.objectLiteral(t)&&(s.URI.is(t.baseUri)||s.WorkspaceFolder.is(t.baseUri))&&r.string(t.pattern)},(z=t.WatchKind||(t.WatchKind={})).Create=1,z.Change=2,z.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new i.ProtocolNotificationType("textDocument/publishDiagnostics"),(J=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,J.TriggerCharacter=2,J.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new i.ProtocolRequestType(j.method),(q=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",q.type=new i.ProtocolRequestType(q.method),(H=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",H.type=new i.ProtocolRequestType(H.method),(W=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,W.TriggerCharacter=2,W.ContentChange=3,(X=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",X.type=new i.ProtocolRequestType(X.method),($=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",$.type=new i.ProtocolRequestType($.method),(Z=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",Z.type=new i.ProtocolRequestType(Z.method),(ee=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",ee.type=new i.ProtocolRequestType(ee.method),(te=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",te.type=new i.ProtocolRequestType(te.method),(ne=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",ne.type=new i.ProtocolRequestType(ne.method),(ie=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",ie.type=new i.ProtocolRequestType(ie.method),(se=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",se.type=new i.ProtocolRequestType(se.method),(re=t.WorkspaceSymbolResolveRequest||(t.WorkspaceSymbolResolveRequest={})).method="workspaceSymbol/resolve",re.type=new i.ProtocolRequestType(re.method),(oe=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",oe.type=new i.ProtocolRequestType(oe.method),(ae=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",ae.type=new i.ProtocolRequestType(ae.method),(Ae=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",Ae.type=new i.ProtocolRequestType0(Ae.method),(le=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",le.type=new i.ProtocolRequestType(le.method),(ce=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",ce.type=new i.ProtocolRequestType(ce.method),(pe=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",pe.type=new i.ProtocolRequestType(pe.method),(ge=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",ge.type=new i.ProtocolRequestType(ge.method),(ue=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",ue.type=new i.ProtocolRequestType(ue.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(de=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",de.type=new i.ProtocolRequestType(de.method),(he=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",he.type=new i.ProtocolRequestType(he.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new i.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new i.ProtocolRequestType("workspace/applyEdit")},183:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(3966);var s;(s=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",s.type=new i.ProtocolRequestType(s.method)},754:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(3966);var s,r,o;(s=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",s.project="project",s.group="group",s.scheme="scheme",s.global="global",(r=t.MonikerKind||(t.MonikerKind={})).$import="import",r.$export="export",r.local="local",(o=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",o.type=new i.ProtocolRequestType(o.method)},5741:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=void 0;const i=n(1313),s=n(249),r=n(3966);var o,a,A,l,c,p,g,u,d,h,C,m;(a=o=t.NotebookCellKind||(t.NotebookCellKind={})).Markup=1,a.Code=2,a.is=function(e){return 1===e||2===e},(l=A=t.ExecutionSummary||(t.ExecutionSummary={})).create=function(e,t){const n={executionOrder:e};return!0!==t&&!1!==t||(n.success=t),n},l.is=function(e){const t=e;return s.objectLiteral(t)&&i.uinteger.is(t.executionOrder)&&(void 0===t.success||s.boolean(t.success))},l.equals=function(e,t){return e===t||null!=e&&null!=t&&e.executionOrder===t.executionOrder&&e.success===t.success},function(e){function t(e,n){if(e===n)return!0;if(null==e||null==n)return!1;if(typeof e!=typeof n)return!1;if("object"!=typeof e)return!1;const i=Array.isArray(e),r=Array.isArray(n);if(i!==r)return!1;if(i&&r){if(e.length!==n.length)return!1;for(let i=0;i{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(7184),s=n(3966);var r,o,a;(r=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,r.is=function(e){return e===r.type},(o=t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).method="window/workDoneProgress/create",o.type=new s.ProtocolRequestType(o.method),(a=t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).method="window/workDoneProgress/cancel",a.type=new s.ProtocolNotificationType(a.method)},7043:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(3966);var s;(s=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",s.type=new i.ProtocolRequestType(s.method)},7453:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=void 0;const i=n(3966);var s,r,o,a,A;(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(s=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",s.type=new i.RegistrationType(s.method),(r=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",r.type=new i.ProtocolRequestType(r.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(a=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",a.type=new i.ProtocolRequestType(a.method),(A=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",A.type=new i.ProtocolRequestType0(A.method)},9995:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(3966);var s;(s=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",s.type=new i.ProtocolRequestType(s.method)},4913:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(3966);var s;(s=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",s.type=new i.ProtocolRequestType(s.method)},9505:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHierarchySubtypesRequest=t.TypeHierarchySupertypesRequest=t.TypeHierarchyPrepareRequest=void 0;const i=n(3966);var s,r,o;(s=t.TypeHierarchyPrepareRequest||(t.TypeHierarchyPrepareRequest={})).method="textDocument/prepareTypeHierarchy",s.type=new i.ProtocolRequestType(s.method),(r=t.TypeHierarchySupertypesRequest||(t.TypeHierarchySupertypesRequest={})).method="typeHierarchy/supertypes",r.type=new i.ProtocolRequestType(r.method),(o=t.TypeHierarchySubtypesRequest||(t.TypeHierarchySubtypesRequest={})).method="typeHierarchy/subtypes",o.type=new i.ProtocolRequestType(o.method)},8323:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(3966);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},249:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},9755:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,s)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const r=n(3753);s(n(3753),t),s(n(7632),t),t.createProtocolConnection=function(e,t,n,i){return(0,r.createMessageConnection)(e,t,n,i)}},1400:(e,t,n)=>{"use strict";e.exports=n(9755)},1449:(e,t,n)=>{"use strict";n.r(t),n.d(t,{TextDocument:()=>s});class i{constructor(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){for(let t of e)if(i.isIncremental(t)){const e=A(t.range),n=this.offsetAt(e.start),i=this.offsetAt(e.end);this._content=this._content.substring(0,n)+t.text+this._content.substring(i,this._content.length);const s=Math.max(e.start.line,0),r=Math.max(e.end.line,0);let o=this._lineOffsets;const l=a(t.text,!1,n);if(r-s===l.length)for(let e=0,t=l.length;ee?i=s:n=s+1}let s=n-1;return{line:s,character:e-t[s]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],i=e.line+1n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function l(e){const t=A(e.range);return t!==e.range?{newText:e.newText,range:t}:e}(r=s||(s={})).create=function(e,t,n,s){return new i(e,t,n,s)},r.update=function(e,t,n){if(e instanceof i)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},r.applyEdits=function(e,t){let n=e.getText(),i=o(t.map(l),((e,t)=>{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),s=0;const r=[];for(const t of i){let i=e.offsetAt(t.range.start);if(is&&r.push(n.substring(s,i)),t.newText.length&&r.push(t.newText),s=e.offsetAt(t.range.end)}return r.push(n.substr(s)),r.join("")}},1313:(e,t,n)=>{"use strict";var i,s,r,o,a,A,l,c,p,g,u,d,h,C,m,y,f,I,E,T,B,v,Q,_,w,D,S,b,F,k,N,P,x,R,M,L,K,O,U,G,Y,V,z,J,j,q,H,W,X,$,Z;n.r(t),n.d(t,{AnnotatedTextEdit:()=>Y,ChangeAnnotation:()=>O,ChangeAnnotationIdentifier:()=>G,CodeAction:()=>Ve,CodeActionContext:()=>Ge,CodeActionKind:()=>Le,CodeActionTriggerKind:()=>Oe,CodeDescription:()=>N,CodeLens:()=>Je,Color:()=>m,ColorInformation:()=>f,ColorPresentation:()=>E,Command:()=>R,CompletionItem:()=>Ee,CompletionItemKind:()=>pe,CompletionItemLabelDetails:()=>Ie,CompletionItemTag:()=>he,CompletionList:()=>Te,CreateFile:()=>j,DeleteFile:()=>X,Diagnostic:()=>P,DiagnosticRelatedInformation:()=>w,DiagnosticSeverity:()=>S,DiagnosticTag:()=>F,DocumentHighlight:()=>be,DocumentHighlightKind:()=>De,DocumentLink:()=>We,DocumentSymbol:()=>Re,DocumentUri:()=>i,EOL:()=>vt,FoldingRange:()=>Q,FoldingRangeKind:()=>B,FormattingOptions:()=>qe,Hover:()=>Qe,InlayHint:()=>mt,InlayHintKind:()=>ut,InlayHintLabelPart:()=>ht,InlineValueContext:()=>pt,InlineValueEvaluatableExpression:()=>lt,InlineValueText:()=>rt,InlineValueVariableLookup:()=>at,InsertReplaceEdit:()=>Ce,InsertTextFormat:()=>ue,InsertTextMode:()=>ye,Location:()=>u,LocationLink:()=>h,MarkedString:()=>Be,MarkupContent:()=>ce,MarkupKind:()=>Ae,OptionalVersionedTextDocumentIdentifier:()=>se,ParameterInformation:()=>_e,Position:()=>l,Range:()=>p,RenameFile:()=>H,SelectionRange:()=>$e,SemanticTokenModifiers:()=>nt,SemanticTokenTypes:()=>et,SemanticTokens:()=>st,SignatureInformation:()=>we,SymbolInformation:()=>Pe,SymbolKind:()=>Fe,SymbolTag:()=>Ne,TextDocument:()=>Bt,TextDocumentEdit:()=>z,TextDocumentIdentifier:()=>ee,TextDocumentItem:()=>oe,TextEdit:()=>L,URI:()=>s,VersionedTextDocumentIdentifier:()=>ne,WorkspaceChange:()=>Tt,WorkspaceEdit:()=>Z,WorkspaceFolder:()=>ft,WorkspaceSymbol:()=>xe,integer:()=>r,uinteger:()=>a}),(i||(i={})).is=function(e){return"string"==typeof e},(s||(s={})).is=function(e){return"string"==typeof e},(o=r||(r={})).MIN_VALUE=-2147483648,o.MAX_VALUE=2147483647,o.is=function(e){return"number"==typeof e&&o.MIN_VALUE<=e&&e<=o.MAX_VALUE},(A=a||(a={})).MIN_VALUE=0,A.MAX_VALUE=2147483647,A.is=function(e){return"number"==typeof e&&A.MIN_VALUE<=e&&e<=A.MAX_VALUE},(c=l||(l={})).create=function(e,t){return e===Number.MAX_VALUE&&(e=a.MAX_VALUE),t===Number.MAX_VALUE&&(t=a.MAX_VALUE),{line:e,character:t}},c.is=function(e){var t=e;return Qt.objectLiteral(t)&&Qt.uinteger(t.line)&&Qt.uinteger(t.character)},(g=p||(p={})).create=function(e,t,n,i){if(Qt.uinteger(e)&&Qt.uinteger(t)&&Qt.uinteger(n)&&Qt.uinteger(i))return{start:l.create(e,t),end:l.create(n,i)};if(l.is(e)&&l.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments[".concat(e,", ").concat(t,", ").concat(n,", ").concat(i,"]"))},g.is=function(e){var t=e;return Qt.objectLiteral(t)&&l.is(t.start)&&l.is(t.end)},(d=u||(u={})).create=function(e,t){return{uri:e,range:t}},d.is=function(e){var t=e;return Qt.defined(t)&&p.is(t.range)&&(Qt.string(t.uri)||Qt.undefined(t.uri))},(C=h||(h={})).create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},C.is=function(e){var t=e;return Qt.defined(t)&&p.is(t.targetRange)&&Qt.string(t.targetUri)&&p.is(t.targetSelectionRange)&&(p.is(t.originSelectionRange)||Qt.undefined(t.originSelectionRange))},(y=m||(m={})).create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},y.is=function(e){var t=e;return Qt.objectLiteral(t)&&Qt.numberRange(t.red,0,1)&&Qt.numberRange(t.green,0,1)&&Qt.numberRange(t.blue,0,1)&&Qt.numberRange(t.alpha,0,1)},(I=f||(f={})).create=function(e,t){return{range:e,color:t}},I.is=function(e){var t=e;return Qt.objectLiteral(t)&&p.is(t.range)&&m.is(t.color)},(T=E||(E={})).create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},T.is=function(e){var t=e;return Qt.objectLiteral(t)&&Qt.string(t.label)&&(Qt.undefined(t.textEdit)||L.is(t))&&(Qt.undefined(t.additionalTextEdits)||Qt.typedArray(t.additionalTextEdits,L.is))},(v=B||(B={})).Comment="comment",v.Imports="imports",v.Region="region",(_=Q||(Q={})).create=function(e,t,n,i,s,r){var o={startLine:e,endLine:t};return Qt.defined(n)&&(o.startCharacter=n),Qt.defined(i)&&(o.endCharacter=i),Qt.defined(s)&&(o.kind=s),Qt.defined(r)&&(o.collapsedText=r),o},_.is=function(e){var t=e;return Qt.objectLiteral(t)&&Qt.uinteger(t.startLine)&&Qt.uinteger(t.startLine)&&(Qt.undefined(t.startCharacter)||Qt.uinteger(t.startCharacter))&&(Qt.undefined(t.endCharacter)||Qt.uinteger(t.endCharacter))&&(Qt.undefined(t.kind)||Qt.string(t.kind))},(D=w||(w={})).create=function(e,t){return{location:e,message:t}},D.is=function(e){var t=e;return Qt.defined(t)&&u.is(t.location)&&Qt.string(t.message)},(b=S||(S={})).Error=1,b.Warning=2,b.Information=3,b.Hint=4,(k=F||(F={})).Unnecessary=1,k.Deprecated=2,(N||(N={})).is=function(e){var t=e;return Qt.objectLiteral(t)&&Qt.string(t.href)},(x=P||(P={})).create=function(e,t,n,i,s,r){var o={range:e,message:t};return Qt.defined(n)&&(o.severity=n),Qt.defined(i)&&(o.code=i),Qt.defined(s)&&(o.source=s),Qt.defined(r)&&(o.relatedInformation=r),o},x.is=function(e){var t,n=e;return Qt.defined(n)&&p.is(n.range)&&Qt.string(n.message)&&(Qt.number(n.severity)||Qt.undefined(n.severity))&&(Qt.integer(n.code)||Qt.string(n.code)||Qt.undefined(n.code))&&(Qt.undefined(n.codeDescription)||Qt.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(Qt.string(n.source)||Qt.undefined(n.source))&&(Qt.undefined(n.relatedInformation)||Qt.typedArray(n.relatedInformation,w.is))},(M=R||(R={})).create=function(e,t){for(var n=[],i=2;i0&&(s.arguments=n),s},M.is=function(e){var t=e;return Qt.defined(t)&&Qt.string(t.title)&&Qt.string(t.command)},(K=L||(L={})).replace=function(e,t){return{range:e,newText:t}},K.insert=function(e,t){return{range:{start:e,end:e},newText:t}},K.del=function(e){return{range:e,newText:""}},K.is=function(e){var t=e;return Qt.objectLiteral(t)&&Qt.string(t.newText)&&p.is(t.range)},(U=O||(O={})).create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},U.is=function(e){var t=e;return Qt.objectLiteral(t)&&Qt.string(t.label)&&(Qt.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(Qt.string(t.description)||void 0===t.description)},(G||(G={})).is=function(e){var t=e;return Qt.string(t)},(V=Y||(Y={})).replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},V.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},V.del=function(e,t){return{range:e,newText:"",annotationId:t}},V.is=function(e){var t=e;return L.is(t)&&(O.is(t.annotationId)||G.is(t.annotationId))},(J=z||(z={})).create=function(e,t){return{textDocument:e,edits:t}},J.is=function(e){var t=e;return Qt.defined(t)&&se.is(t.textDocument)&&Array.isArray(t.edits)},(q=j||(j={})).create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},q.is=function(e){var t=e;return t&&"create"===t.kind&&Qt.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||Qt.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||Qt.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||G.is(t.annotationId))},(W=H||(H={})).create=function(e,t,n,i){var s={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(s.options=n),void 0!==i&&(s.annotationId=i),s},W.is=function(e){var t=e;return t&&"rename"===t.kind&&Qt.string(t.oldUri)&&Qt.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||Qt.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||Qt.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||G.is(t.annotationId))},($=X||(X={})).create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},$.is=function(e){var t=e;return t&&"delete"===t.kind&&Qt.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||Qt.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||Qt.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||G.is(t.annotationId))},(Z||(Z={})).is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return Qt.string(e.kind)?j.is(e)||H.is(e)||X.is(e):z.is(e)})))};var ee,te,ne,ie,se,re,oe,ae,Ae,le,ce,pe,ge,ue,de,he,Ce,me,ye,fe,Ie,Ee,Te,Be,ve,Qe,_e,we,De,Se,be,Fe,ke,Ne,Pe,xe,Re,Me,Le,Ke,Oe,Ue,Ge,Ye,Ve,ze,Je,je,qe,He,We,Xe,$e,Ze,et,tt,nt,it,st,rt,ot,at,At,lt,ct,pt,gt,ut,dt,ht,Ct,mt,yt,ft,It=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,s;if(void 0===n?i=L.insert(e,t):G.is(n)?(s=n,i=Y.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(n),i=Y.insert(e,t,s)),this.edits.push(i),void 0!==s)return s},e.prototype.replace=function(e,t,n){var i,s;if(void 0===n?i=L.replace(e,t):G.is(n)?(s=n,i=Y.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(n),i=Y.replace(e,t,s)),this.edits.push(i),void 0!==s)return s},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=L.del(e):G.is(t)?(i=t,n=Y.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=Y.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),Et=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(G.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id ".concat(n," is already in use."));if(void 0===t)throw new Error("No annotation provided for id ".concat(n));return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),Tt=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new Et(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(z.is(e)){var n=new It(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new It(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(se.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:s=[]};this._workspaceEdit.documentChanges.push(n),i=new It(s,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var s=[];this._workspaceEdit.changes[e]=s,i=new It(s),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new Et,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,s,r;if(O.is(t)||G.is(t)?i=t:n=t,void 0===i?s=j.create(e,n):(r=G.is(i)?i:this._changeAnnotations.manage(i),s=j.create(e,n,r)),this._workspaceEdit.documentChanges.push(s),void 0!==r)return r},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var s,r,o;if(O.is(n)||G.is(n)?s=n:i=n,void 0===s?r=H.create(e,t,i):(o=G.is(s)?s:this._changeAnnotations.manage(s),r=H.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(r),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,s,r;if(O.is(t)||G.is(t)?i=t:n=t,void 0===i?s=X.create(e,n):(r=G.is(i)?i:this._changeAnnotations.manage(i),s=X.create(e,n,r)),this._workspaceEdit.documentChanges.push(s),void 0!==r)return r},e}();(te=ee||(ee={})).create=function(e){return{uri:e}},te.is=function(e){var t=e;return Qt.defined(t)&&Qt.string(t.uri)},(ie=ne||(ne={})).create=function(e,t){return{uri:e,version:t}},ie.is=function(e){var t=e;return Qt.defined(t)&&Qt.string(t.uri)&&Qt.integer(t.version)},(re=se||(se={})).create=function(e,t){return{uri:e,version:t}},re.is=function(e){var t=e;return Qt.defined(t)&&Qt.string(t.uri)&&(null===t.version||Qt.integer(t.version))},(ae=oe||(oe={})).create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},ae.is=function(e){var t=e;return Qt.defined(t)&&Qt.string(t.uri)&&Qt.string(t.languageId)&&Qt.integer(t.version)&&Qt.string(t.text)},(le=Ae||(Ae={})).PlainText="plaintext",le.Markdown="markdown",le.is=function(e){var t=e;return t===le.PlainText||t===le.Markdown},(ce||(ce={})).is=function(e){var t=e;return Qt.objectLiteral(e)&&Ae.is(t.kind)&&Qt.string(t.value)},(ge=pe||(pe={})).Text=1,ge.Method=2,ge.Function=3,ge.Constructor=4,ge.Field=5,ge.Variable=6,ge.Class=7,ge.Interface=8,ge.Module=9,ge.Property=10,ge.Unit=11,ge.Value=12,ge.Enum=13,ge.Keyword=14,ge.Snippet=15,ge.Color=16,ge.File=17,ge.Reference=18,ge.Folder=19,ge.EnumMember=20,ge.Constant=21,ge.Struct=22,ge.Event=23,ge.Operator=24,ge.TypeParameter=25,(de=ue||(ue={})).PlainText=1,de.Snippet=2,(he||(he={})).Deprecated=1,(me=Ce||(Ce={})).create=function(e,t,n){return{newText:e,insert:t,replace:n}},me.is=function(e){var t=e;return t&&Qt.string(t.newText)&&p.is(t.insert)&&p.is(t.replace)},(fe=ye||(ye={})).asIs=1,fe.adjustIndentation=2,(Ie||(Ie={})).is=function(e){var t=e;return t&&(Qt.string(t.detail)||void 0===t.detail)&&(Qt.string(t.description)||void 0===t.description)},(Ee||(Ee={})).create=function(e){return{label:e}},(Te||(Te={})).create=function(e,t){return{items:e||[],isIncomplete:!!t}},(ve=Be||(Be={})).fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},ve.is=function(e){var t=e;return Qt.string(t)||Qt.objectLiteral(t)&&Qt.string(t.language)&&Qt.string(t.value)},(Qe||(Qe={})).is=function(e){var t=e;return!!t&&Qt.objectLiteral(t)&&(ce.is(t.contents)||Be.is(t.contents)||Qt.typedArray(t.contents,Be.is))&&(void 0===e.range||p.is(e.range))},(_e||(_e={})).create=function(e,t){return t?{label:e,documentation:t}:{label:e}},(we||(we={})).create=function(e,t){for(var n=[],i=2;i=0;o--){var a=s[o],A=e.offsetAt(a.range.start),l=e.offsetAt(a.range.end);if(!(l<=r))throw new Error("Overlapping edit");i=i.substring(0,A)+a.newText+i.substring(l,i.length),r=A}return i}}(Bt||(Bt={}));var Qt,_t,wt,Dt=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return l.create(0,e);for(;ne?i=s:n=s+1}var r=n-1;return l.create(r,e-t[r])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(9755);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0))),onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;return this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;return this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},1729:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(9755),s=n(8985);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?s.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(t)?Array.isArray(e)?t:t[0]:Array.isArray(e)?[]:null))}}},4930:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DiagnosticFeature=void 0;const i=n(9755);t.DiagnosticFeature=e=>class extends e{get diagnostics(){return{refresh:()=>this.connection.sendRequest(i.DiagnosticRefreshRequest.type),on:e=>this.connection.onRequest(i.DocumentDiagnosticRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),this.attachPartialResultProgress(i.DocumentDiagnosticRequest.partialResult,t)))),onWorkspace:e=>this.connection.onRequest(i.WorkspaceDiagnosticRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),this.attachPartialResultProgress(i.WorkspaceDiagnosticRequest.partialResult,t))))}}}},5910:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(9755);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){return this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){return this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){return this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},5138:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlayHintFeature=void 0;const i=n(9755);t.InlayHintFeature=e=>class extends e{get inlayHint(){return{refresh:()=>this.connection.sendRequest(i.InlayHintRefreshRequest.type),on:e=>this.connection.onRequest(i.InlayHintRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t)))),resolve:e=>this.connection.onRequest(i.InlayHintResolveRequest.type,((t,n)=>e(t,n)))}}}},2152:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineValueFeature=void 0;const i=n(9755);t.InlineValueFeature=e=>class extends e{get inlineValue(){return{refresh:()=>this.connection.sendRequest(i.InlineValueRefreshRequest.type),on:e=>this.connection.onRequest(i.InlineValueRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t))))}}}},4442:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(9755);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){return this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},1763:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(9755);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;return this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2440:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NotebookDocuments=t.NotebookSyncFeature=void 0;const i=n(9755),s=n(5455);t.NotebookSyncFeature=e=>class extends e{get synchronization(){return{onDidOpenNotebookDocument:e=>this.connection.onNotification(i.DidOpenNotebookDocumentNotification.type,(t=>{e(t)})),onDidChangeNotebookDocument:e=>this.connection.onNotification(i.DidChangeNotebookDocumentNotification.type,(t=>{e(t)})),onDidSaveNotebookDocument:e=>this.connection.onNotification(i.DidSaveNotebookDocumentNotification.type,(t=>{e(t)})),onDidCloseNotebookDocument:e=>this.connection.onNotification(i.DidCloseNotebookDocumentNotification.type,(t=>{e(t)}))}}};class r{onDidOpenTextDocument(e){return this.openHandler=e,i.Disposable.create((()=>{this.openHandler=void 0}))}openTextDocument(e){this.openHandler&&this.openHandler(e)}onDidChangeTextDocument(e){return this.changeHandler=e,i.Disposable.create((()=>{this.changeHandler=e}))}changeTextDocument(e){this.changeHandler&&this.changeHandler(e)}onDidCloseTextDocument(e){return this.closeHandler=e,i.Disposable.create((()=>{this.closeHandler=void 0}))}closeTextDocument(e){this.closeHandler&&this.closeHandler(e)}onWillSaveTextDocument(){return r.NULL_DISPOSE}onWillSaveTextDocumentWaitUntil(){return r.NULL_DISPOSE}onDidSaveTextDocument(){return r.NULL_DISPOSE}}r.NULL_DISPOSE=Object.freeze({dispose:()=>{}}),t.NotebookDocuments=class{constructor(e){e instanceof s.TextDocuments?this._cellTextDocuments=e:this._cellTextDocuments=new s.TextDocuments(e),this.notebookDocuments=new Map,this.notebookCellMap=new Map,this._onDidOpen=new i.Emitter,this._onDidChange=new i.Emitter,this._onDidSave=new i.Emitter,this._onDidClose=new i.Emitter}get cellTextDocuments(){return this._cellTextDocuments}getCellTextDocument(e){return this._cellTextDocuments.get(e.document)}getNotebookDocument(e){return this.notebookDocuments.get(e)}getNotebookCell(e){const t=this.notebookCellMap.get(e);return t&&t[0]}findNotebookDocumentForCell(e){const t="string"==typeof e?e:e.document,n=this.notebookCellMap.get(t);return n&&n[1]}get onDidOpen(){return this._onDidOpen.event}get onDidSave(){return this._onDidSave.event}get onDidChange(){return this._onDidChange.event}get onDidClose(){return this._onDidClose.event}listen(e){const t=new r,n=[];return n.push(this.cellTextDocuments.listen(t)),n.push(e.notebooks.synchronization.onDidOpenNotebookDocument((e=>{this.notebookDocuments.set(e.notebookDocument.uri,e.notebookDocument);for(const n of e.cellTextDocuments)t.openTextDocument({textDocument:n});this.updateCellMap(e.notebookDocument),this._onDidOpen.fire(e.notebookDocument)}))),n.push(e.notebooks.synchronization.onDidChangeNotebookDocument((e=>{const n=this.notebookDocuments.get(e.notebookDocument.uri);if(void 0===n)return;n.version=e.notebookDocument.version;const i=n.metadata;let s=!1;const r=e.change;void 0!==r.metadata&&(s=!0,n.metadata=r.metadata);const o=[],a=[],A=[],l=[];if(void 0!==r.cells){const e=r.cells;if(void 0!==e.structure){const i=e.structure.array;if(n.cells.splice(i.start,i.deleteCount,...void 0!==i.cells?i.cells:[]),void 0!==e.structure.didOpen)for(const n of e.structure.didOpen)t.openTextDocument({textDocument:n}),o.push(n.uri);if(e.structure.didClose)for(const n of e.structure.didClose)t.closeTextDocument({textDocument:n}),a.push(n.uri)}if(void 0!==e.data){const t=new Map(e.data.map((e=>[e.document,e])));for(let e=0;e<=n.cells.length;e++){const i=t.get(n.cells[e].document);if(void 0!==i){const s=n.cells.splice(e,1,i);if(A.push({old:s[0],new:i}),t.delete(i.document),0===t.size)break}}}if(void 0!==e.textContent)for(const n of e.textContent)t.changeTextDocument({textDocument:n.document,contentChanges:n.changes}),l.push(n.document.uri)}this.updateCellMap(n);const c={notebookDocument:n};s&&(c.metadata={old:i,new:n.metadata});const p=[];for(const e of o)p.push(this.getNotebookCell(e));const g=[];for(const e of a)g.push(this.getNotebookCell(e));const u=[];for(const e of l)u.push(this.getNotebookCell(e));(p.length>0||g.length>0||A.length>0||u.length>0)&&(c.cells={added:p,removed:g,changed:{data:A,textContent:u}}),void 0===c.metadata&&void 0===c.cells||this._onDidChange.fire(c)}))),n.push(e.notebooks.synchronization.onDidSaveNotebookDocument((e=>{const t=this.notebookDocuments.get(e.notebookDocument.uri);void 0!==t&&this._onDidSave.fire(t)}))),n.push(e.notebooks.synchronization.onDidCloseNotebookDocument((e=>{const n=this.notebookDocuments.get(e.notebookDocument.uri);if(void 0!==n){this._onDidClose.fire(n);for(const n of e.cellTextDocuments)t.closeTextDocument({textDocument:n});this.notebookDocuments.delete(e.notebookDocument.uri);for(const e of n.cells)this.notebookCellMap.delete(e.document)}}))),i.Disposable.create((()=>{n.forEach((e=>e.dispose()))}))}updateCellMap(e){for(const t of e.cells)this.notebookCellMap.set(t.document,[t,e])}}},9715:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(9755),s=n(8952);class r{constructor(e,t){this._connection=e,this._token=t,r.Instances.set(this._token,this)}begin(e,t,n,s){let r={kind:"begin",title:e,percentage:t,message:n,cancellable:s};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,r)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){r.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}r.Instances=new Map;class o extends r{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class A extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var l;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new r(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;super.initialize(e),!0===(null==(t=null==e?void 0:e.window)?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=r.Instances.get(e.token);(t instanceof o||t instanceof A)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new r(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=(0,s.generateUuid)();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new A)}},(l||(l={})).type=new i.ProgressType;class c{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(l.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new c(e,n)}},5156:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensDiff=t.SemanticTokensFeature=void 0;const i=n(9755);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{refresh:()=>this.connection.sendRequest(i.SemanticTokensRefreshRequest.type),on:e=>{const t=i.SemanticTokensRequest.type;return this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;return this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;return this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}};class s{constructor(e,t){this.originalSequence=e,this.modifiedSequence=t}computeDiff(){const e=this.originalSequence.length,t=this.modifiedSequence.length;let n=0;for(;n=n&&s>=n&&this.originalSequence[i]===this.modifiedSequence[s];)i--,s--;(i0&&(r-=this._prevLine,0===r&&(o-=this._prevChar)),this._data[this._dataLen++]=r,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=s,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){return void 0!==this._prevData?{resultId:this.id,edits:new s(this._prevData,this._data).computeDiff()}:this.build()}}},1261:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineNotebooksFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._NotebooksImpl=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=void 0;const i=n(9755),s=n(8985),r=n(8952),o=n(9715),a=n(1729),A=n(9325),l=n(4540),c=n(5156),p=n(8925),g=n(5910),u=n(4442),d=n(5324),h=n(2152),C=n(5138),m=n(4930),y=n(2440),f=n(1763);function I(e){if(null!==e)return e}t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class E{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t}).catch((()=>{(0,i.RAL)().console.error("Sending log message failed")}))}}const T=(0,p.ShowDocumentFeature)((0,o.ProgressFeature)(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(I)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(I)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(I)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new B};class B{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=s.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=r.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new v(void 0,[])};class v{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).catch((()=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=s.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let r={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,r).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class Q{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof B?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=s.string(t)?t:t.method,a=r.generateUuid();let A={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,A).then((t=>(e.add({id:a,method:o}),e)),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=s.string(e)?e:e.method,o=r.generateUuid();let a={registrations:[{id:o,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(o,n).catch((()=>{this.connection.console.info(`Un-registering capability with id ${o} failed.`)}))}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).catch((()=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new v(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const _=(0,g.FileOperationsFeature)((0,A.WorkspaceFoldersFeature)((0,a.ConfigurationFeature)(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class w{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0}).catch((()=>{}))}}class D{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e).catch((()=>{this.connection.console.log("Sending TelemetryEventNotification failed")}))}}class S{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return(0,o.attachWorkDone)(this.connection,e)}attachPartialResultProgress(e,t){return(0,o.attachPartialResult)(this.connection,t)}}t._LanguagesImpl=S;const b=(0,f.MonikerFeature)((0,m.DiagnosticFeature)((0,C.InlayHintFeature)((0,h.InlineValueFeature)((0,d.TypeHierarchyFeature)((0,u.LinkedEditingRangeFeature)((0,c.SemanticTokensFeature)((0,l.CallHierarchyFeature)(S))))))));class F{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return(0,o.attachWorkDone)(this.connection,e)}attachPartialResultProgress(e,t){return(0,o.attachPartialResult)(this.connection,t)}}t._NotebooksImpl=F;const k=(0,y.NotebookSyncFeature)(F);function N(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}function x(e,t){return function(n){return t(e(n))}}function R(e,t){return function(n){return t(e(n))}}function M(e,t){return function(n){return t(e(n))}}function L(e,t){return function(n){return t(e(n))}}function K(e,t){return function(n){return t(e(n))}}function O(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=N,t.combineTelemetryFeatures=P,t.combineTracerFeatures=x,t.combineClientFeatures=R,t.combineWindowFeatures=M,t.combineWorkspaceFeatures=L,t.combineLanguagesFeatures=K,t.combineNotebooksFeatures=O,t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,N),tracer:n(e.tracer,t.tracer,x),telemetry:n(e.telemetry,t.telemetry,P),client:n(e.client,t.client,R),window:n(e.window,t.window,M),workspace:n(e.workspace,t.workspace,L),languages:n(e.languages,t.languages,K),notebooks:n(e.notebooks,t.notebooks,O)}},t.createConnection=function(e,t,n){const r=n&&n.console?new(n.console(E)):new E,a=e(r);r.rawAttach(a);const A=n&&n.tracer?new(n.tracer(w)):new w,l=n&&n.telemetry?new(n.telemetry(D)):new D,c=n&&n.client?new(n.client(Q)):new Q,p=n&&n.window?new(n.window(T)):new T,g=n&&n.workspace?new(n.workspace(_)):new _,u=n&&n.languages?new(n.languages(b)):new b,d=n&&n.notebooks?new(n.notebooks(k)):new k,h=[r,A,l,c,p,g,u,d];function C(e){return e instanceof Promise?e:s.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let m,y,f,I={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(s.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=s.string(e)?e:e.method;return 1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>(y=e,{dispose:()=>{y=void 0}}),onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>(m=e,{dispose:()=>{m=void 0}}),onExit:e=>(f=e,{dispose:()=>{f=void 0}}),get console(){return r},get telemetry(){return l},get tracer(){return A},get client(){return c},get window(){return p},get workspace(){return g},get languages(){return u},get notebooks(){return d},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),(0,o.attachPartialResult)(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),(0,o.attachPartialResult)(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),(0,o.attachPartialResult)(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),(0,o.attachPartialResult)(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),(0,o.attachPartialResult)(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),(0,o.attachPartialResult)(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),(0,o.attachPartialResult)(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),(0,o.attachPartialResult)(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),(0,o.attachPartialResult)(a,t)))),onWorkspaceSymbolResolve:e=>a.onRequest(i.WorkspaceSymbolResolveRequest.type,e),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),(0,o.attachPartialResult)(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),(0,o.attachPartialResult)(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),(0,o.attachPartialResult)(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),(0,o.attachPartialResult)(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),(0,o.attachPartialResult)(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),(0,o.attachPartialResult)(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),(0,o.attachPartialResult)(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,(0,o.attachWorkDone)(a,t),void 0))),dispose:()=>a.dispose()};for(let e of h)e.attach(I);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),s.string(e.trace)&&(A.trace=i.Trace.fromString(e.trace));for(let t of h)t.initialize(e.capabilities);if(y)return C(y(e,(new i.CancellationTokenSource).token,(0,o.attachWorkDone)(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=s.number(I.__textDocumentSync)?I.__textDocumentSync:i.TextDocumentSyncKind.None:s.number(n.textDocumentSync)||s.number(n.textDocumentSync.change)||(n.textDocumentSync.change=s.number(I.__textDocumentSync)?I.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of h)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of h)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,m?m((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{f&&f()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{A.trace=i.Trace.fromString(e.value)})),I}},8925:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(9755);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},5455:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TextDocuments=void 0;const i=n(9755);t.TextDocuments=class{constructor(e){this._configuration=e,this._syncedDocuments=new Map,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidOpen(){return this._onDidOpen.event}get onDidChangeContent(){return this._onDidChangeContent.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._syncedDocuments.get(e)}all(){return Array.from(this._syncedDocuments.values())}keys(){return Array.from(this._syncedDocuments.keys())}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Incremental;const t=[];return t.push(e.onDidOpenTextDocument((e=>{const t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._syncedDocuments.set(t.uri,n);const i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)}))),t.push(e.onDidChangeTextDocument((e=>{const t=e.textDocument,n=e.contentChanges;if(0===n.length)return;const{version:i}=t;if(null==i)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);let s=this._syncedDocuments.get(t.uri);void 0!==s&&(s=this._configuration.update(s,n,i),this._syncedDocuments.set(t.uri,s),this._onDidChangeContent.fire(Object.freeze({document:s})))}))),t.push(e.onDidCloseTextDocument((e=>{let t=this._syncedDocuments.get(e.textDocument.uri);void 0!==t&&(this._syncedDocuments.delete(e.textDocument.uri),this._onDidClose.fire(Object.freeze({document:t})))}))),t.push(e.onWillSaveTextDocument((e=>{let t=this._syncedDocuments.get(e.textDocument.uri);void 0!==t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))}))),t.push(e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._syncedDocuments.get(e.textDocument.uri);return void 0!==n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]}))),t.push(e.onDidSaveTextDocument((e=>{let t=this._syncedDocuments.get(e.textDocument.uri);void 0!==t&&this._onDidSave.fire(Object.freeze({document:t}))}))),i.Disposable.create((()=>{t.forEach((e=>e.dispose()))}))}}},5324:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHierarchyFeature=void 0;const i=n(9755);t.TypeHierarchyFeature=e=>class extends e{get typeHierarchy(){return{onPrepare:e=>this.connection.onRequest(i.TypeHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0))),onSupertypes:e=>{const t=i.TypeHierarchySupertypesRequest.type;return this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onSubtypes:e=>{const t=i.TypeHierarchySubtypesRequest.type;return this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},8985:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function s(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=s,t.stringArray=function(e){return s(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},8952:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function s(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=s;const r=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return r.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return s().asHex()}},9325:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(9755);t.WorkspaceFoldersFeature=e=>class extends e{constructor(){super(),this._notificationIsAutoRegistered=!1}initialize(e){super.initialize(e);let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}fillServerCapabilities(e){var t,n;super.fillServerCapabilities(e);const i=null==(n=null==(t=e.workspace)?void 0:t.workspaceFolders)?void 0:n.changeNotifications;this._notificationIsAutoRegistered=!0===i||"string"==typeof i}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._notificationIsAutoRegistered||this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},6178:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resolveModulePath=t.FileSystem=t.resolveGlobalYarnPath=t.resolveGlobalNodePath=t.resolve=t.uriToFilePath=void 0;const i=n(7310),s=n(1017),r=n(7147),o=n(2081);function a(){return"win32"===process.platform}function A(e,t,n,i){const a=["var p = process;","p.on('message',function(m){","if(m.c==='e'){","p.exit(0);","}","else if(m.c==='rs'){","try{","var r=require.resolve(m.a);","p.send({c:'r',s:true,r:r});","}","catch(err){","p.send({c:'r',s:false});","}","}","});"].join("");return new Promise(((A,l)=>{let c=process.env,p=Object.create(null);Object.keys(c).forEach((e=>p[e]=c[e])),t&&r.existsSync(t)&&(p.NODE_PATH?p.NODE_PATH=t+s.delimiter+p.NODE_PATH:p.NODE_PATH=t,i&&i(`NODE_PATH value is: ${p.NODE_PATH}`)),p.ELECTRON_RUN_AS_NODE="1";try{let t=(0,o.fork)("",[],{cwd:n,env:p,execArgv:["-e",a]});if(void 0===t.pid)return void l(new Error(`Starting process to resolve node module ${e} failed`));t.on("error",(e=>{l(e)})),t.on("message",(n=>{"r"===n.c&&(t.send({c:"e"}),n.s?A(n.r):l(new Error(`Failed to resolve module: ${e}`)))}));let i={c:"rs",a:e};t.send(i)}catch(e){l(e)}}))}function l(e){let t="npm";const n=Object.create(null);Object.keys(process.env).forEach((e=>n[e]=process.env[e])),n.NO_UPDATE_NOTIFIER="true";const i={encoding:"utf8",env:n};a()&&(t="npm.cmd",i.shell=!0);let r=()=>{};try{process.on("SIGPIPE",r);let n=(0,o.spawnSync)(t,["config","get","prefix"],i).stdout;if(!n)return void(e&&e("'npm config get prefix' didn't return a value."));let A=n.trim();return e&&e(`'npm config get prefix' value is: ${A}`),A.length>0?a()?s.join(A,"node_modules"):s.join(A,"lib","node_modules"):void 0}catch(e){return}finally{process.removeListener("SIGPIPE",r)}}var c;t.uriToFilePath=function(e){let t=i.parse(e);if("file:"!==t.protocol||!t.path)return;let n=t.path.split("/");for(var r=0,o=n.length;r1){let e=n[0],t=n[1];0===e.length&&t.length>1&&":"===t[1]&&n.shift()}return s.normalize(n.join("/"))},t.resolve=A,t.resolveGlobalNodePath=l,t.resolveGlobalYarnPath=function(e){let t="yarn",n={encoding:"utf8"};a()&&(t="yarn.cmd",n.shell=!0);let i=()=>{};try{process.on("SIGPIPE",i);let r=(0,o.spawnSync)(t,["global","dir","--json"],n),a=r.stdout;if(!a)return void(e&&(e("'yarn global dir' didn't return a value."),r.stderr&&e(r.stderr)));let A=a.trim().split(/\r?\n/);for(let e of A)try{let t=JSON.parse(e);if("log"===t.type)return s.join(t.data,"node_modules")}catch(e){}return}catch(e){return}finally{process.removeListener("SIGPIPE",i)}},function(e){let t;function n(){return void 0!==t||(t=!("win32"===process.platform||r.existsSync(__filename.toUpperCase())&&r.existsSync(__filename.toLowerCase()))),t}e.isCaseSensitive=n,e.isParent=function(e,t){return n()?0===s.normalize(t).indexOf(s.normalize(e)):0===s.normalize(t).toLowerCase().indexOf(s.normalize(e).toLowerCase())}}(c=t.FileSystem||(t.FileSystem={})),t.resolveModulePath=function(e,t,n,i){return n?(s.isAbsolute(n)||(n=s.join(e,n)),A(t,n,n,i).then((e=>c.isParent(n,e)?e:Promise.reject(new Error(`Failed to load ${t} from node path location.`)))).then(void 0,(n=>A(t,l(i),e,i)))):A(t,l(i),e,i)}},7192:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var s=Object.getOwnPropertyDescriptor(t,n);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,s)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.Files=void 0;const r=n(8985),o=n(1261),a=n(6178),A=n(1400);var l;s(n(1400),t),s(n(3969),t),(l=t.Files||(t.Files={})).uriToFilePath=a.uriToFilePath,l.resolveGlobalNodePath=a.resolveGlobalNodePath,l.resolveGlobalYarnPath=a.resolveGlobalYarnPath,l.resolve=a.resolve,l.resolveModulePath=a.resolveModulePath;let c,p=!1;!function(){const e="--clientProcessId";function t(e){try{let t=parseInt(e);isNaN(t)||(c=setInterval((()=>{try{process.kill(t,0)}catch(e){process.exit(p?0:1)}}),3e3))}catch(e){}}for(let n=2;n{const t=e.processId;r.number(t)&&void 0===c&&setInterval((()=>{try{process.kill(t,0)}catch(e){process.exit(p?0:1)}}),3e3)},get shutdownReceived(){return p},set shutdownReceived(e){p=e},exit:e=>{process.exit(e)}};t.createConnection=function(e,t,n,i){let s,a,l,c;return void 0!==e&&"features"===e.__brand&&(s=e,e=t,t=n,n=i),A.ConnectionStrategy.is(e)||A.ConnectionOptions.is(e)?c=e:(a=e,l=t,c=n),function(e,t,n,i){if(!e&&!t&&process.argv.length>2){let n,i,r=process.argv.slice(2);for(let o=0;o{process.exit(p?0:1)})),t.on("close",(()=>{process.exit(p?0:1)}))}return(0,o.createConnection)((i=>(0,A.createProtocolConnection)(e,t,i,n)),g,i)}(a,l,c,s)}},4376:(e,t,n)=>{"use strict";e.exports=n(7192)},761:(e,t,n)=>{"use strict";var i;n.r(t),n.d(t,{URI:()=>s,Utils:()=>r}),i=(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",s=0,r=-1,o=0,a=0;a<=e.length;++a){if(a2){var A=i.lastIndexOf("/");if(A!==i.length-1){-1===A?(i="",s=0):s=(i=i.slice(0,A)).length-1-i.lastIndexOf("/"),r=a,o=0;continue}}else if(2===i.length||1===i.length){i="",s=0,r=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",s=2)}else i.length>0?i+="/"+e.slice(r+1,a):i=e.slice(r+1,a),s=a-r-1;r=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",s=!1,r=arguments.length-1;r>=-1&&!s;r--){var o;r>=0?o=arguments[r]:(void 0===e&&(e=process.cwd()),o=e),t(o),0!==o.length&&(i=o+"/"+i,s=47===o.charCodeAt(0))}return i=n(i,!s),s?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),s=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&s&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=s:e+="/"+s)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var s=1;sl){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>l&&(47===e.charCodeAt(s+p)?c=p:0===p&&(c=0));break}var g=e.charCodeAt(s+p);if(g!==n.charCodeAt(a+p))break;47===g&&(c=p)}var u="";for(p=s+c+1;p<=r;++p)p!==r&&47!==e.charCodeAt(p)||(0===u.length?u+="..":u+="/..");return u.length>0?u+n.slice(a+c):(a+=c,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,s=-1,r=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!r){s=o;break}}else r=!1;return-1===s?i?"/":".":i&&1===s?"//":e.slice(0,s)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,s=0,r=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,A=-1;for(i=e.length-1;i>=0;--i){var l=e.charCodeAt(i);if(47===l){if(!o){s=i+1;break}}else-1===A&&(o=!1,A=i+1),a>=0&&(l===n.charCodeAt(a)?-1==--a&&(r=i):(a=-1,r=A))}return s===r?r=A:-1===r&&(r=e.length),e.slice(s,r)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){s=i+1;break}}else-1===r&&(o=!1,r=i+1);return-1===r?"":e.slice(s,r)},extname:function(e){t(e);for(var n=-1,i=0,s=-1,r=!0,o=0,a=e.length-1;a>=0;--a){var A=e.charCodeAt(a);if(47!==A)-1===s&&(r=!1,s=a+1),46===A?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!r){i=a+1;break}}return-1===n||-1===s||0===o||1===o&&n===s-1&&n===i+1?"":e.slice(n,s)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return n=(t=e).dir||t.root,i=t.base||(t.name||"")+(t.ext||""),n?n===t.root?n+i:n+"/"+i:i;var t,n,i},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,s=e.charCodeAt(0),r=47===s;r?(n.root="/",i=1):i=0;for(var o=-1,a=0,A=-1,l=!0,c=e.length-1,p=0;c>=i;--c)if(47!==(s=e.charCodeAt(c)))-1===A&&(l=!1,A=c+1),46===s?-1===o?o=c:1!==p&&(p=1):-1!==o&&(p=-1);else if(!l){a=c+1;break}return-1===o||-1===A||0===p||1===p&&o===A-1&&o===a+1?-1!==A&&(n.base=n.name=0===a&&r?e.slice(1,A):e.slice(a,A)):(0===a&&r?(n.name=e.slice(1,o),n.base=e.slice(1,A)):(n.name=e.slice(a,o),n.base=e.slice(a,A)),n.ext=e.slice(o,A)),a>0?n.dir=e.slice(0,a-1):r&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},447:(e,t,n)=>{var i;if(n.r(t),n.d(t,{URI:()=>h,Utils:()=>_}),"object"==typeof process)i="win32"===process.platform;else if("object"==typeof navigator){var s=navigator.userAgent;i=s.indexOf("Windows")>=0}var r,o,a=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),A=/^\w[\w\d+.-]*$/,l=/^\//,c=/^\/\//;function p(e,t){if(!e.scheme&&t)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'.concat(e.authority,'", path: "').concat(e.path,'", query: "').concat(e.query,'", fragment: "').concat(e.fragment,'"}'));if(e.scheme&&!A.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!l.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(c.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}var g="",u="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,h=function(){function e(e,t,n,i,s,r){var o;void 0===r&&(r=!1),"object"==typeof e?(this.scheme=e.scheme||g,this.authority=e.authority||g,this.path=e.path||g,this.query=e.query||g,this.fragment=e.fragment||g):(this.scheme=(o=e)||r?o:"file",this.authority=t||g,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==u&&(t=u+t):t=u}return t}(this.scheme,n||g),this.query=i||g,this.fragment=s||g,p(this,r))}return e.isUri=function(t){return t instanceof e||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString},Object.defineProperty(e.prototype,"fsPath",{get:function(){return E(this,!1)},enumerable:!1,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,i=e.path,s=e.query,r=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=g),void 0===n?n=this.authority:null===n&&(n=g),void 0===i?i=this.path:null===i&&(i=g),void 0===s?s=this.query:null===s&&(s=g),void 0===r?r=this.fragment:null===r&&(r=g),t===this.scheme&&n===this.authority&&i===this.path&&s===this.query&&r===this.fragment?this:new m(t,n,i,s,r)},e.parse=function(e,t){void 0===t&&(t=!1);var n=d.exec(e);return n?new m(n[2]||g,Q(n[4]||g),Q(n[5]||g),Q(n[7]||g),Q(n[9]||g),t):new m(g,g,g,g,g)},e.file=function(e){var t=g;if(i&&(e=e.replace(/\\/g,u)),e[0]===u&&e[1]===u){var n=e.indexOf(u,2);-1===n?(t=e.substring(2),e=u):(t=e.substring(2,n),e=e.substring(n)||u)}return new m("file",t,e,g,g)},e.from=function(e){var t=new m(e.scheme,e.authority,e.path,e.query,e.fragment);return p(t,!0),t},e.prototype.toString=function(e){return void 0===e&&(e=!1),T(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new m(t);return n._formatted=t.external,n._fsPath=t._sep===C?t.fsPath:null,n}return t},e}(),C=i?1:void 0,m=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return a(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=E(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=C),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(h),y=((o={})[58]="%3A",o[47]="%2F",o[63]="%3F",o[35]="%23",o[91]="%5B",o[93]="%5D",o[64]="%40",o[33]="%21",o[36]="%24",o[38]="%26",o[39]="%27",o[40]="%28",o[41]="%29",o[42]="%2A",o[43]="%2B",o[44]="%2C",o[59]="%3B",o[61]="%3D",o[32]="%20",o);function f(e,t){for(var n=void 0,i=-1,s=0;s=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||45===r||46===r||95===r||126===r||t&&47===r)-1!==i&&(n+=encodeURIComponent(e.substring(i,s)),i=-1),void 0!==n&&(n+=e.charAt(s));else{void 0===n&&(n=e.substr(0,s));var o=y[r];void 0!==o?(-1!==i&&(n+=encodeURIComponent(e.substring(i,s)),i=-1),n+=o):-1===i&&(i=s)}}return-1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function I(e){for(var t=void 0,n=0;n1&&"file"===e.scheme?"//".concat(e.authority).concat(e.path):47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,i&&(n=n.replace(/\//g,"\\")),n}function T(e,t){var n=t?I:f,i="",s=e.scheme,r=e.authority,o=e.path,a=e.query,A=e.fragment;if(s&&(i+=s,i+=":"),(r||"file"===s)&&(i+=u,i+=u),r){var l=r.indexOf("@");if(-1!==l){var c=r.substr(0,l);r=r.substr(l+1),-1===(l=c.indexOf(":"))?i+=n(c,!1):(i+=n(c.substr(0,l),!1),i+=":",i+=n(c.substr(l+1),!1)),i+="@"}-1===(l=(r=r.toLowerCase()).indexOf(":"))?i+=n(r,!1):(i+=n(r.substr(0,l),!1),i+=r.substr(l))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2))(p=o.charCodeAt(1))>=65&&p<=90&&(o="/".concat(String.fromCharCode(p+32),":").concat(o.substr(3)));else if(o.length>=2&&58===o.charCodeAt(1)){var p;(p=o.charCodeAt(0))>=65&&p<=90&&(o="".concat(String.fromCharCode(p+32),":").concat(o.substr(2)))}i+=n(o,!0)}return a&&(i+="?",i+=n(a,!1)),A&&(i+="#",i+=t?A:f(A,!1)),i}function B(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+B(e.substr(3)):e}}var v=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Q(e){return e.match(v)?e.replace(v,(function(e){return B(e)})):e}var _,w,D=n(470),S=function(e,t,n){if(n||2===arguments.length)for(var i,s=0,r=t.length;s{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(447)})();const{URI:s,Utils:r}=i},2239:e=>{e.exports=function e(t,n){if(t&&n)return e(t)(n);if("function"!=typeof t)throw new TypeError("need wrapper function");return Object.keys(t).forEach((function(e){i[e]=t[e]})),i;function i(){for(var e=new Array(arguments.length),n=0;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resolveAliasDeclaration=void 0,t.resolveAliasDeclaration=function e(t,n,i,s){let r=n;const o=[];let a,A,l=!1,c=!1;for(;;){if(8!==r.type||!r.symbolName)return{declaration:r,isPrivate:l,privatePyTypedImported:a,privatePyTypedImporter:A};if(!i&&r.usesLocalName)return{declaration:r,isPrivate:l,privatePyTypedImported:a,privatePyTypedImporter:A};let p;r.path&&r.loadSymbolsFromPath&&(p=t(r.path));const g=p?p.symbolTable.get(r.symbolName):void 0;if(!g)return r.submoduleFallback?e(t,r.submoduleFallback,i,s):r.isNativeLib?{declaration:void 0,isPrivate:l}:void 0;if(g.isPrivateMember()&&(l=!0),g.isExternallyHidden()&&!s)return;let u=g.getTypedDeclarations();if(u=u.filter((e=>!e.isInExceptSuite)),0===u.length&&(u=g.getDeclarations(),u=u.filter((e=>!e.isInExceptSuite))),0===u.length&&(u=g.getDeclarations()),0===u.length)return;const d=u.filter((e=>!o.includes(e)));if(r=d.length>0?d[d.length-1]:u[u.length-1],c&&(a=null!=a?a:null==r?void 0:r.moduleName),g.isPrivatePyTypedImport()&&(c=!0),c&&(A=null!=A?A:null==r?void 0:r.moduleName),o.find((e=>e===r)))return r.path===n.path&&8===r.type&&r.submoduleFallback?e(t,r.submoduleFallback,i,s):{declaration:n,isPrivate:l,privatePyTypedImported:a,privatePyTypedImporter:A};o.push(r)}}},1241:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.analyzeProgram=t.nullCallback=void 0;const o=n(3213),a=r(n(5839)),A=n(8718);t.nullCallback=()=>{},t.analyzeProgram=function(e,n,i,s,r,l){let c=!1;s=null!=s?s:t.nullCallback;try{(0,o.throwIfCancellationRequested)(l);const t=new A.Duration;c=e.analyze(n,l);const r=e.getFilesToAnalyzeCount(),a=e.getDiagnostics(i),p=a.length,g=t.getDurationInSeconds();(p>0||!c)&&s({diagnostics:a,filesInProgram:e.getFileCount(),filesRequiringAnalysis:r,checkingOnlyOpenFiles:e.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:g})}catch(e){if(o.OperationCanceledException.is(e))return!1;const t=a.getErrorString(e);r.error("Error performing analysis: "+t),s({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!0,configParseErrorOccurred:!1,elapsedTime:0,error:a.getSerializableError(e)})}return c}},691:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isAnnotationEvaluationPostponed=void 0,t.isAnnotationEvaluationPostponed=function(e){return void 0!==e.futureImports.get("annotations")||e.isStubFile}},563:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isCodeUnreachable=t.setTypeParameterSymbol=t.getTypeParameterSymbol=t.setDunderAllInfo=t.getDunderAllInfo=t.setCodeFlowComplexity=t.getCodeFlowComplexity=t.setCodeFlowExpressions=t.getCodeFlowExpressions=t.setFileInfo=t.getFileInfo=t.setAfterFlowNode=t.getAfterFlowNode=t.setFlowNode=t.getFlowNode=t.setDeclaration=t.getDeclaration=t.setScope=t.getScope=t.setImportInfo=t.getImportInfo=t.cleanNodeAnalysisInfo=void 0;const i=n(4972);function s(e){return e.flowNode}t.cleanNodeAnalysisInfo=function(e){const t=e;delete t.scope,delete t.declaration,delete t.flowNode,delete t.afterFlowNode,delete t.fileInfo,delete t.codeFlowExpressions,delete t.codeFlowComplexity,delete t.dunderAllInfo,delete t.typeParameterSymbol},t.getImportInfo=function(e){return e.importInfo},t.setImportInfo=function(e,t){e.importInfo=t},t.getScope=function(e){return e.scope},t.setScope=function(e,t){e.scope=t},t.getDeclaration=function(e){return e.declaration},t.setDeclaration=function(e,t){e.declaration=t},t.getFlowNode=s,t.setFlowNode=function(e,t){e.flowNode=t},t.getAfterFlowNode=function(e){return e.afterFlowNode},t.setAfterFlowNode=function(e,t){e.afterFlowNode=t},t.getFileInfo=function(e){for(;36!==e.nodeType;)e=e.parent;return e.fileInfo},t.setFileInfo=function(e,t){e.fileInfo=t},t.getCodeFlowExpressions=function(e){return e.codeFlowExpressions},t.setCodeFlowExpressions=function(e,t){e.codeFlowExpressions=t},t.getCodeFlowComplexity=function(e){var t;return null!==(t=e.codeFlowComplexity)&&void 0!==t?t:0},t.setCodeFlowComplexity=function(e,t){e.codeFlowComplexity=t},t.getDunderAllInfo=function(e){return e.dunderAllInfo},t.setDunderAllInfo=function(e,t){e.dunderAllInfo=t},t.getTypeParameterSymbol=function(e){return e.typeParameterSymbol},t.setTypeParameterSymbol=function(e,t){e.typeParameterSymbol=t},t.isCodeUnreachable=function(e){let t=e;for(;t;){const e=s(t);if(e)return!!(e.flags&i.FlowFlags.Unreachable);t=t.parent}return!1}},5674:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BackgroundAnalysisProgram=void 0;const i=n(1241),s=n(8408);t.BackgroundAnalysisProgram=class{constructor(e,t,n,i,r,o,a){this._console=e,this._configOptions=t,this._importResolver=n,this._backgroundAnalysis=r,this._maxAnalysisTime=o,this._disableChecker=a,this._program=new s.Program(this._importResolver,this._configOptions,this._console,i,void 0,this._disableChecker)}get configOptions(){return this._configOptions}get importResolver(){return this._importResolver}get program(){return this._program}get host(){return this._importResolver.host}get backgroundAnalysis(){return this._backgroundAnalysis}setConfigOptions(e){var t;this._configOptions=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setConfigOptions(e),this._program.setConfigOptions(e)}setImportResolver(e){var t;this._importResolver=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setImportResolver(e),this._program.setImportResolver(e),this._configOptions.getExecutionEnvironments().forEach((e=>this._ensurePartialStubPackages(e)))}setTrackedFiles(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setTrackedFiles(e);const n=this._program.setTrackedFiles(e);this._reportDiagnosticsForRemovedFiles(n)}setAllowedThirdPartyImports(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setAllowedThirdPartyImports(e),this._program.setAllowedThirdPartyImports(e)}setFileOpened(e,t,n,i){var s;null===(s=this._backgroundAnalysis)||void 0===s||s.setFileOpened(e,t,[{text:n}],i),this._program.setFileOpened(e,t,[{text:n}],i)}getChainedFilePath(e){return this._program.getChainedFilePath(e)}updateChainedFilePath(e,t){var n;null===(n=this._backgroundAnalysis)||void 0===n||n.updateChainedFilePath(e,t),this._program.updateChainedFilePath(e,t)}updateOpenFileContents(e,t,n,i){var s;null===(s=this._backgroundAnalysis)||void 0===s||s.setFileOpened(e,t,n,i),this._program.setFileOpened(e,t,n,i),this.markFilesDirty([e],!0)}setFileClosed(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setFileClosed(e);const n=this._program.setFileClosed(e);this._reportDiagnosticsForRemovedFiles(n)}markAllFilesDirty(e,t=!0){var n;null===(n=this._backgroundAnalysis)||void 0===n||n.markAllFilesDirty(e,t),this._program.markAllFilesDirty(e,t)}markFilesDirty(e,t,n=!0){var i;null===(i=this._backgroundAnalysis)||void 0===i||i.markFilesDirty(e,t,n),this._program.markFilesDirty(e,t,n)}setCompletionCallback(e){var t;this._onAnalysisCompletion=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setCompletionCallback(e)}startAnalysis(e){return this._backgroundAnalysis?(this._backgroundAnalysis.startAnalysis(this._indices,e),!1):(0,i.analyzeProgram)(this._program,this._maxAnalysisTime,this._configOptions,this._onAnalysisCompletion,this._console,e)}test_setIndexing(e,t){const n=this._getIndices();for(const[t,i]of e)n.setWorkspaceIndex(t,i);for(const[e,i]of t)for(const[t,s]of i)n.setIndex(e,t,s)}startIndexing(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.startIndexing(e,this._configOptions,this.importResolver,this.host.kind,this._getIndices())}refreshIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.refreshIndexing(this._configOptions,this.importResolver,this.host.kind,this._indices)}cancelIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.cancelIndexing(this._configOptions)}getIndexing(e){var t;return null===(t=this._indices)||void 0===t?void 0:t.getIndex(this._configOptions.findExecEnvironment(e).root)}async getDiagnosticsForRange(e,t,n){return this._backgroundAnalysis?this._backgroundAnalysis.getDiagnosticsForRange(e,t,n):this._program.getDiagnosticsForRange(e,t)}async writeTypeStub(e,t,n,s){return this._backgroundAnalysis?this._backgroundAnalysis.writeTypeStub(e,t,n,s):((0,i.analyzeProgram)(this._program,void 0,this._configOptions,this._onAnalysisCompletion,this._console,s),this._program.writeTypeStub(e,t,n,s))}invalidateAndForceReanalysis(e,t){var n;t&&this.refreshIndexing(),null===(n=this._backgroundAnalysis)||void 0===n||n.invalidateAndForceReanalysis(e),this._importResolver.invalidateCache(),this._program.markAllFilesDirty(!0,e)}restart(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.restart()}_ensurePartialStubPackages(e){var t;return null===(t=this._backgroundAnalysis)||void 0===t||t.ensurePartialStubPackages(e.root),this._importResolver.ensurePartialStubPackages(e)}_getIndices(){if(!this._indices){const e=this._program,t=new Map;this._indices={setWorkspaceIndex(t,n){var i;null===(i=e.getSourceFile(t))||void 0===i||i.cacheIndexResults(n)},getIndex:e=>t.get(e),setIndex(e,n,i){let s=t.get(e);s||(s=new Map,t.set(e,s)),s.set(n,i)},reset(){t.clear()}}}return this._indices}_reportDiagnosticsForRemovedFiles(e){e.length>0&&!this._backgroundAnalysis&&this._onAnalysisCompletion&&this._onAnalysisCompletion({diagnostics:e,filesInProgram:this._program.getFileCount(),filesRequiringAnalysis:this._program.getFilesToAnalyzeCount(),checkingOnlyOpenFiles:this._program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0})}}},6052:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.ReturnFinder=t.YieldFinder=t.Binder=void 0;const o=n(9489),a=n(5839),A=n(9744),l=n(6657),c=n(1464),p=n(3550),g=n(3550),u=n(2122),d=n(691),h=r(n(563)),C=n(4972),m=r(n(8494)),y=n(427),f=n(1561),I=r(n(8235)),E=n(817),T=n(1766);class B extends y.ParseTreeWalker{constructor(e,t=!1){super(),this._moduleSymbolOnly=t,this._deferredBindingTasks=[],this._activeTypeParams=new Map,this._currentExceptTargets=[],this._finallyTargets=[],this._typingImportAliases=[],this._sysImportAliases=[],this._dataclassesImportAliases=[],this._typingSymbolAliases=new Map,this._dataclassesSymbolAliases=new Map,this._dunderAllStringNodes=[],this._usesUnsupportedDunderAllForm=!1,this._isInExceptSuite=!1,this._potentialHiddenSymbols=new Map,this._potentialPrivateSymbols=new Map,this._codeFlowComplexity=0,this._fileInfo=e}bindModule(e){var t;const n=void 0===this._fileInfo.builtinsScope;this._createNewScope(n?4:3,this._fileInfo.builtinsScope,(()=>{h.setScope(e,this._currentScope),h.setFlowNode(e,this._currentFlowNode),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__name__",e,"str"),this._addImplicitSymbolToCurrentScope("__qualname__",e,"str"),this._addImplicitSymbolToCurrentScope("__loader__",e,"Any"),this._addImplicitSymbolToCurrentScope("__package__",e,"str"),this._addImplicitSymbolToCurrentScope("__spec__",e,"Any"),this._addImplicitSymbolToCurrentScope("__path__",e,"Iterable[str]"),this._addImplicitSymbolToCurrentScope("__file__",e,"str"),this._addImplicitSymbolToCurrentScope("__cached__",e,"str"),this._addImplicitSymbolToCurrentScope("__dict__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__annotations__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__builtins__",e,"Any"),this._currentFlowNode=this._createStartFlowNode(),this._walkStatementsAndReportUnreachable(e.statements),h.setAfterFlowNode(e,this._currentFlowNode),h.setCodeFlowExpressions(e,this._currentScopeCodeFlowExpressions),h.setCodeFlowComplexity(e,this._codeFlowComplexity)})),this._bindDeferred(),this._potentialHiddenSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||(this._fileInfo.isStubFile?e.setIsExternallyHidden():e.setPrivatePyTypedImport())})),this._potentialPrivateSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||e.setIsPrivateMember()})),this._dunderAllNames?h.setDunderAllInfo(e,{names:this._dunderAllNames,stringNodes:this._dunderAllStringNodes,usesUnsupportedDunderAllForm:this._usesUnsupportedDunderAllForm}):h.setDunderAllInfo(e,void 0);const i=h.getScope(e);if(i&&this._dunderAllNames)for(const e of this._dunderAllNames)null===(t=i.symbolTable.get(e))||void 0===t||t.setIsInDunderAll()}visitModule(e){return(0,a.fail)("We should never get here"),!1}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitModuleName(e){const t=h.getImportInfo(e);if((0,a.assert)(void 0!==t),t.isNativeLib)return!0;if(!t.isImportFound)return this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingImports,A.DiagnosticRule.reportMissingImports,u.Localizer.Diagnostic.importResolveFailure().format({importName:t.importName}),e),!0;if(!t.isStubFile&&1===t.importType&&!t.pyTypedInfo){const n=this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingTypeStubs,A.DiagnosticRule.reportMissingTypeStubs,u.Localizer.Diagnostic.stubFileMissing().format({importName:t.importName}),e);if(n){const e={action:"pyright.createtypestub",moduleName:t.importName};n.addAction(e)}}return!0}visitClass(e){this.walkMultiple(e.decorators);const t={type:6,node:e,path:this._fileInfo.filePath,range:(0,c.convertOffsetsToRange)(e.name.start,g.TextRange.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},n=this._bindNameToScope(this._currentScope,e.name);return n&&n.addDeclaration(t),h.setDeclaration(e,t),e.typeParameters&&this.walk(e.typeParameters),this.walkMultiple(e.arguments),this._createNewScope(2,this._getNonClassParentScope(),(()=>{h.setScope(e,this._currentScope),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__module__",e,"str"),this._dunderSlotsEntries=void 0,this._moduleSymbolOnly||this.walk(e.suite),this._dunderSlotsEntries&&this._addSlotsToCurrentScope(this._dunderSlotsEntries),this._dunderSlotsEntries=void 0})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),e.typeParameters&&this._removeActiveTypeParameters(e.typeParameters),!1}visitFunction(e){this._createVariableAnnotationFlowNode(),h.setFlowNode(e,this._currentFlowNode);const t=this._bindNameToScope(this._currentScope,e.name),n=m.getEnclosingClass(e,!0),i={type:5,node:e,isMethod:!!n,isGenerator:!1,path:this._fileInfo.filePath,range:(0,c.convertOffsetsToRange)(e.name.start,g.TextRange.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};return t&&t.addDeclaration(i),h.setDeclaration(e,i),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue)})),e.typeParameters&&this.walk(e.typeParameters),this.walkMultiple(e.decorators),e.parameters.forEach((e=>{e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment)})),e.returnTypeAnnotation&&this.walk(e.returnTypeAnnotation),e.functionAnnotationComment&&this.walk(e.functionAnnotationComment),this._createNewScope(1,this._getNonClassParentScope(),(()=>{h.setScope(e,this._currentScope),m.getEnclosingClass(e)&&this._addImplicitSymbolToCurrentScope("__class__",e,"class"),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),this._codeFlowComplexity=0,e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:(0,c.convertOffsetsToRange)(e.start,g.TextRange.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),h.setDeclaration(e.name,n)}this._createFlowAssignment(e.name)}})),this._targetFunctionDeclaration=i,this._currentReturnTarget=this._createBranchLabel(),this.walk(e.suite),h.setAfterFlowNode(e.suite,this._currentFlowNode),this._addAntecedent(this._currentReturnTarget,this._currentFlowNode);const t=this._finishFlowLabel(this._currentReturnTarget);h.setAfterFlowNode(e,t),h.setCodeFlowExpressions(e,this._currentScopeCodeFlowExpressions),h.setCodeFlowComplexity(e,this._codeFlowComplexity)}))})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),e.typeParameters&&this._removeActiveTypeParameters(e.typeParameters),!1}visitLambda(e){return this._createVariableAnnotationFlowNode(),h.setFlowNode(e,this._currentFlowNode),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue)})),this._createNewScope(1,this._getNonClassParentScope(),(()=>{h.setScope(e,this._currentScope),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:(0,c.convertOffsetsToRange)(e.start,g.TextRange.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),h.setDeclaration(e.name,n)}this._createFlowAssignment(e.name),this.walk(e.name),h.setFlowNode(e,this._currentFlowNode)}})),this.walk(e.expression),h.setCodeFlowExpressions(e,this._currentScopeCodeFlowExpressions)}))})),!1}visitCall(e){var t,n;if(this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),e.arguments.forEach((e=>{this._currentFlowNode&&h.setFlowNode(e,this._currentFlowNode),this.walk(e)}))})),m.isNodeContainedWithinNodeType(e,13)||this._createCallFlowNode(e),3===this._currentScope.type&&35===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"__all__"===e.leftExpression.leftExpression.value){let i=!0;if("extend"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;if(31===t.nodeType)t.entries.forEach((e=>{var t,n;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(e.strings[0]),i=!1)}));else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&e.length>0&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),i=!1)}}else if("remove"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;48===t.nodeType&&1===t.strings.length&&49===t.strings[0].nodeType&&this._dunderAllNames&&(this._dunderAllNames=this._dunderAllNames.filter((e=>e!==t.strings[0].value)),this._dunderAllStringNodes=this._dunderAllStringNodes.filter((e=>e.value!==t.strings[0].value)),i=!1)}else if("append"===e.leftExpression.memberName.value&&1===e.arguments.length){const s=e.arguments[0].valueExpression;48===s.nodeType&&1===s.strings.length&&49===s.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(s.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(s.strings[0]),i=!1)}i&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,A.DiagnosticRule.reportUnsupportedDunderAll,u.Localizer.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitTypeParameterList(e){return e.parameters.forEach((e=>{e.boundExpression&&this.walk(e.boundExpression)})),e.parameters.forEach((t=>{const n=t.name,i=new E.Symbol(0),s={type:3,node:t,path:this._fileInfo.filePath,range:(0,c.convertOffsetsToRange)(e.start,g.TextRange.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(s),h.setDeclaration(n,s),h.setTypeParameterSymbol(n,i),this._activeTypeParams.has(n.value)?this._addError(u.Localizer.Diagnostic.typeParameterExistingTypeParameter().format({name:n.value}),n):this._activeTypeParams.set(n.value,i)})),!1}visitTypeAlias(e){this._bindNameToScope(this._currentScope,e.name),this.walk(e.name),e.typeParameters&&this.walk(e.typeParameters);const t={type:4,node:e,path:this._fileInfo.filePath,range:(0,c.convertOffsetsToRange)(e.name.start,g.TextRange.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},n=this._bindNameToScope(this._currentScope,e.name);return n&&n.addDeclaration(t),h.setDeclaration(e,t),this._createAssignmentTargetFlowNodes(e.name,!0,!1),this.walk(e.expression),e.typeParameters&&this._removeActiveTypeParameters(e.typeParameters),!1}visitAssignment(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this._bindPossibleTupleNamedTarget(e.leftExpression),e.typeAnnotationComment&&(this.walk(e.typeAnnotationComment),this._addTypeDeclarationForVariable(e.leftExpression,e.typeAnnotationComment));let t=!1;if(54!==e.leftExpression.nodeType||(0,d.isAnnotationEvaluationPostponed)(this._fileInfo)||(this._createAssignmentTargetFlowNodes(e.leftExpression,!0,!1),t=!0),24===e.leftExpression.nodeType){const t=e.leftExpression;if(1===t.items.length&&!t.trailingComma&&48===t.items[0].valueExpression.nodeType&&(0,C.isCodeFlowSupportedForReference)(t.baseExpression)){const e=(0,C.createKeyForReference)(t.baseExpression);this._currentScopeCodeFlowExpressions.add(e)}}this.walk(e.rightExpression);let n=!0;if((m.getEnclosingFunction(e)||9===e.rightExpression.nodeType&&this._fileInfo.isTypingStubFile||m.isWithinLoop(e))&&(n=!1),this._addInferredTypeAssignmentForVariable(e.leftExpression,e.rightExpression,n),t||this._createAssignmentTargetFlowNodes(e.leftExpression,!0,!1),3===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__all__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression;this._dunderAllNames=[];let n=!1;31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):n=!0,n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,A.DiagnosticRule.reportUnsupportedDunderAll,u.Localizer.Diagnostic.unsupportedDunderAllOperation(),e))}if(2===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__slots__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__slots__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression;this._dunderSlotsEntries=[];let n=!0;48===t.nodeType?this._dunderSlotsEntries.push(t):31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?this._dunderSlotsEntries.push(e):n=!1})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?this._dunderSlotsEntries.push(e):n=!1})):n=!1,n||(this._dunderSlotsEntries=void 0)}return!1}visitAssignmentExpression(e){this._disableTrueFalseTargets((()=>{this.walk(e.rightExpression)}));const t=m.getEvaluationNodeForAssignmentExpression(e);if(t){const n=h.getScope(t);let i=this._currentScope;for(;i&&i!==n;){if(i.lookUpSymbol(e.name.value)){this._addError(u.Localizer.Diagnostic.assignmentExprComprehension().format({name:e.name.value}),e.name);break}i=i.parent}this._bindNameToScope(n,e.name),this._addInferredTypeAssignmentForVariable(e.name,e.rightExpression),this._createAssignmentTargetFlowNodes(e.name,!0,!1)}else this._addError(u.Localizer.Diagnostic.assignmentExprContext(),e),this.walk(e.name);return!1}visitAugmentedAssignment(e){if(this.walk(e.leftExpression),this.walk(e.rightExpression),this._bindPossibleTupleNamedTarget(e.destExpression),this._createAssignmentTargetFlowNodes(e.destExpression,!1,!1),1===e.operator&&3===this._currentScope.type&&38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value){const t=e.rightExpression;let n=!0;if(31===t.nodeType)t.entries.forEach((e=>{var t;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0]))})),n=!1;else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),n=!1)}n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,A.DiagnosticRule.reportUnsupportedDunderAll,u.Localizer.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitDel(e){return e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e),this.walk(e),this._createAssignmentTargetFlowNodes(e,!1,!0)})),!1}visitTypeAnnotation(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this.walk(e.typeAnnotation),this._createVariableAnnotationFlowNode(),this._bindPossibleTupleNamedTarget(e.valueExpression),this._addTypeDeclarationForVariable(e.valueExpression,e.typeAnnotation);const t=[];return this._isNarrowingExpression(e.valueExpression,t)&&t.forEach((e=>{const t=(0,C.createKeyForReference)(e);this._currentScopeCodeFlowExpressions.add(t)})),this.walk(e.valueExpression),!1}visitFor(e){this._bindPossibleTupleNamedTarget(e.targetExpression),this._addInferredTypeAssignmentForVariable(e.targetExpression,e),this.walk(e.iterableExpression);const t=this._createLoopLabel(),n=this._createBranchLabel(),i=this._createBranchLabel();this._addAntecedent(t,this._currentFlowNode),this._currentFlowNode=t,this._addAntecedent(n,this._currentFlowNode);const s=this._trackCodeFlowExpressions((()=>{this._createAssignmentTargetFlowNodes(e.targetExpression,!0,!1)}));if(this._bindLoopStatement(t,i,(()=>{this.walk(e.forSuite),this._addAntecedent(t,this._currentFlowNode),s.forEach((e=>{var t;null===(t=this._currentScopeCodeFlowExpressions)||void 0===t||t.add(e)}))})),this._currentFlowNode=this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),e.asyncToken){const t=m.getEnclosingFunction(e);t&&t.isAsync||this._addError(u.Localizer.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}return!1}visitContinue(e){return this._currentContinueTarget&&this._addAntecedent(this._currentContinueTarget,this._currentFlowNode),this._currentFlowNode=B._unreachableFlowNode,!1}visitBreak(e){return this._currentBreakTarget&&this._addAntecedent(this._currentBreakTarget,this._currentFlowNode),this._currentFlowNode=B._unreachableFlowNode,!1}visitReturn(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.returnStatements||(this._targetFunctionDeclaration.returnStatements=[]),this._targetFunctionDeclaration.returnStatements.push(e)),e.returnExpression&&this.walk(e.returnExpression),h.setFlowNode(e,this._currentFlowNode),this._currentReturnTarget&&this._addAntecedent(this._currentReturnTarget,this._currentFlowNode),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=B._unreachableFlowNode,!1}visitYield(e){return this._isInListComprehension(e,!0)&&this._addError(u.Localizer.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitYieldFrom(e){return this._isInListComprehension(e,!0)&&this._addError(u.Localizer.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitMemberAccess(e){return this.walk(e.leftExpression),h.setFlowNode(e,this._currentFlowNode),!1}visitName(e){h.setFlowNode(e,this._currentFlowNode);const t=this._activeTypeParams.get(e.value);return t&&h.setTypeParameterSymbol(e,t),!1}visitIndex(e){return h.setFlowNode(e,this._currentFlowNode),!0}visitIf(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),s=this._createBranchLabel(t);return s.affectedExpressions=this._trackCodeFlowExpressions((()=>{const t=I.evaluateStaticBoolLikeExpression(e.testExpression,this._fileInfo.executionEnvironment,this._fileInfo.definedConstants,this._typingImportAliases,this._sysImportAliases);this._bindConditional(e.testExpression,n,i),this._currentFlowNode=!1===t?B._unreachableFlowNode:this._finishFlowLabel(n),this.walk(e.ifSuite),this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=!0===t?B._unreachableFlowNode:this._finishFlowLabel(i),e.elseSuite?this.walk(e.elseSuite):this._bindNeverCondition(e.testExpression,s,!1),this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(s)})),!1}visitWhile(e){const t=this._createBranchLabel(),n=this._createBranchLabel(),i=this._createBranchLabel(),s=I.evaluateStaticBoolLikeExpression(e.testExpression,this._fileInfo.executionEnvironment,this._fileInfo.definedConstants,this._typingImportAliases,this._sysImportAliases),r=this._createLoopLabel();return this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=r,this._bindConditional(e.testExpression,t,n),this._currentFlowNode=!1===s?B._unreachableFlowNode:this._finishFlowLabel(t),this._bindLoopStatement(r,i,(()=>{this.walk(e.whileSuite)})),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=!0===s?B._unreachableFlowNode:this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitAssert(e){const t=this._createBranchLabel(),n=this._createBranchLabel();return this._bindConditional(e.testExpression,t,n),e.exceptionExpression&&(this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.exceptionExpression)),this._currentFlowNode=this._finishFlowLabel(t),!1}visitExcept(e){if(e.typeExpression&&this.walk(e.typeExpression),e.name){this.walk(e.name);const t=this._bindNameToScope(this._currentScope,e.name);if(this._createAssignmentTargetFlowNodes(e.name,!0,!1),t){const n={type:1,node:e.name,isConstant:(0,T.isConstantName)(e.name.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:(0,c.convertOffsetsToRange)(e.name.start,g.TextRange.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}const t=this._isInExceptSuite;return this._isInExceptSuite=!0,this.walk(e.exceptSuite),this._isInExceptSuite=t,e.name&&this._createFlowAssignment(e.name,!0),!1}visitRaise(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.raiseStatements||(this._targetFunctionDeclaration.raiseStatements=[]),this._targetFunctionDeclaration.raiseStatements.push(e)),e.typeExpression&&this.walk(e.typeExpression),e.valueExpression&&this.walk(e.valueExpression),e.tracebackExpression&&this.walk(e.tracebackExpression),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=B._unreachableFlowNode,!1}visitTry(e){const t=this._currentFlowNode,n=e.exceptClauses.map((()=>this._createBranchLabel())),i=this._createBranchLabel(t);let s=!1;const r=this._createBranchLabel(t),o={flags:C.FlowFlags.PreFinallyGate,id:this._getUniqueFlowNodeId(),antecedent:r,isGateClosed:!1};if(i.affectedExpressions=this._trackCodeFlowExpressions((()=>{e.finallySuite&&this._addAntecedent(i,o),e.exceptClauses.some((e=>!e.typeExpression))||n.push(r),n.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),e.finallySuite&&this._finallyTargets.push(r),this._useExceptTargets(n,(()=>{this.walk(e.trySuite)})),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(s=!0),e.exceptClauses.forEach(((e,t)=>{this._currentFlowNode=this._finishFlowLabel(n[t]),this.walk(e),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(s=!0)})),e.finallySuite&&this._finallyTargets.pop(),this._currentFlowNode=this._finishFlowLabel(i)})),e.finallySuite){this.walk(e.finallySuite);const t={flags:C.FlowFlags.PostFinally,id:this._getUniqueFlowNodeId(),finallyNode:e.finallySuite,antecedent:this._currentFlowNode,preFinallyGate:o};this._currentFlowNode=s?t:B._unreachableFlowNode}return!1}visitAwait(e){var t;const n=m.getEnclosingFunction(e);if(void 0===n||!n.isAsync){if(this._fileInfo.ipythonMode&&void 0===n)return!0;32!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&this._addError(u.Localizer.Diagnostic.awaitNotInAsync(),e)}return!0}visitGlobal(e){const t=this._currentScope.getGlobalScope().scope;return e.nameList.forEach((e=>{const n=e.value;0===this._currentScope.getBindingType(n)&&this._addError(u.Localizer.Diagnostic.nonLocalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope&&this._addError(u.Localizer.Diagnostic.globalReassignment().format({name:n}),e),this._bindNameToScope(t,e),this._currentScope!==t&&this._currentScope.setBindingType(n,1)})),!0}visitNonlocal(e){const t=this._currentScope.getGlobalScope().scope;return this._currentScope===t?this._addError(u.Localizer.Diagnostic.nonLocalInModule(),e):e.nameList.forEach((e=>{const n=e.value;1===this._currentScope.getBindingType(n)&&this._addError(u.Localizer.Diagnostic.globalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope?this._addError(u.Localizer.Diagnostic.nonLocalReassignment().format({name:n}),e):i&&i.scope!==t||this._addError(u.Localizer.Diagnostic.nonLocalNoBinding().format({name:n}),e),i&&this._currentScope.setBindingType(n,0)})),!0}visitImportAs(e){var t,n,i,s,r,o;if(e.module.nameParts.length>0){const A=e.module.nameParts[0].value;let l,c;e.alias?(l=e.alias.value,c=e.alias):(l=A,c=e.module.nameParts[0]);const p=this._bindNameToScope(this._currentScope,c);!p||3!==this._currentScope.type&&4!==this._currentScope.type||e.alias&&1===e.module.nameParts.length&&e.module.nameParts[0].value===e.alias.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(l,p);const g=h.getImportInfo(e.module);(0,a.assert)(void 0!==g),p&&this._createAliasDeclarationForMultipartImportName(e,e.alias,g,p),this._createFlowAssignment(e.alias?e.alias:e.module.nameParts[0]),1===e.module.nameParts.length&&("typing"===A||"typing_extensions"===A?this._typingImportAliases.push(null!==(n=null===(t=e.alias)||void 0===t?void 0:t.value)&&void 0!==n?n:A):"sys"===A?this._sysImportAliases.push(null!==(s=null===(i=e.alias)||void 0===i?void 0:i.value)&&void 0!==s?s:A):"dataclasses"===A&&this._dataclassesImportAliases.push(null!==(o=null===(r=e.alias)||void 0===r?void 0:r.value)&&void 0!==o?o:A))}return!0}visitImportFrom(e){const t=["Final","TypeAlias","ClassVar","Required","NotRequired","Annotated"],n=["InitVar"],i=h.getImportInfo(e.module);let s="";i&&i.isImportFound&&!i.isNativeLib&&(s=i.resolvedPaths[i.resolvedPaths.length-1]);const r=(0,l.stripFileExtension)((0,l.getFileName)(this._fileInfo.filePath)),o="__init__"===r&&1===e.module.leadingDots&&1===e.module.nameParts.length;let a=!1,A=!1;if(1===e.module.nameParts.length){const t=e.module.nameParts[0].value;"typing"!==t&&"typing_extensions"!==t||(a=!0),"dataclasses"===t&&(A=!0)}if(e.isWildcardImport){if((m.getEnclosingClass(e)||m.getEnclosingFunction(e))&&this._addError(u.Localizer.Diagnostic.wildcardInFunction(),e),i){const r=[],l=this._fileInfo.importLookup(s);if(l){const t=this._getWildcardImportNames(l);o&&(t.some((t=>t===e.module.nameParts[0].value))||this._addImplicitFromImport(e,i)),t.forEach((t=>{const n=this._bindNameValueToScope(this._currentScope,t);if(n)if(l.symbolTable.get(t)){const i={type:8,node:e,path:s,loadSymbolsFromPath:!0,range:(0,p.getEmptyRange)(),usesLocalName:!1,symbolName:t,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(i),r.push(t)}else if(i&&i.filteredImplicitImports){const r=i.filteredImplicitImports.find((e=>e.name===t));if(r){const i={type:8,node:e,path:r.path,loadSymbolsFromPath:!0,range:(0,p.getEmptyRange)(),usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},o={type:8,node:e,path:s,loadSymbolsFromPath:!0,usesLocalName:!1,symbolName:t,submoduleFallback:i,range:(0,p.getEmptyRange)(),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(o)}}}))}this._createFlowWildcardImport(e,r),a&&t.forEach((e=>{this._typingSymbolAliases.set(e,e)})),A&&n.forEach((e=>{this._dataclassesSymbolAliases.set(e,e)}))}}else o&&this._addImplicitFromImport(e,i),e.imports.forEach((o=>{const l=o.name.value,c=o.alias||o.name,g=this._bindNameToScope(this._currentScope,c);if(g){let u,d;e.module.nameParts.length>0&&(3!==this._currentScope.type&&4!==this._currentScope.type||o.alias&&o.alias.value===o.name.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(c.value,g)),i&&i.filteredImplicitImports&&(u=i.filteredImplicitImports.find((e=>e.name===l)));let h=!0;u&&(d={type:8,node:o,path:u.path,loadSymbolsFromPath:!0,range:(0,p.getEmptyRange)(),usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},"__init__"===r&&1===e.module.leadingDots&&0===e.module.nameParts.length&&(h=!1));const C={type:8,node:o,path:s,loadSymbolsFromPath:h,usesLocalName:!!o.alias,symbolName:l,submoduleFallback:d,range:(0,p.getEmptyRange)(),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,isNativeLib:null==i?void 0:i.isNativeLib};g.addDeclaration(C),this._createFlowAssignment(o.alias||o.name),a&&t.some((e=>e===o.name.value))&&this._typingSymbolAliases.set(c.value,o.name.value),A&&n.some((e=>e===o.name.value))&&this._dataclassesSymbolAliases.set(c.value,o.name.value)}}));return!0}visitWith(e){e.withItems.forEach((e=>{this.walk(e.expression),e.target&&(this._bindPossibleTupleNamedTarget(e.target),this._addInferredTypeAssignmentForVariable(e.target,e),this._createAssignmentTargetFlowNodes(e.target,!0,!1))}));const t=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!1);this._addAntecedent(t,this._currentFlowNode);const n=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!0);this._currentExceptTargets.forEach((e=>{this._addAntecedent(e,n)}));const i=this._currentFlowNode,s=this._createBranchLabel(i);return this._addAntecedent(s,t),s.affectedExpressions=this._trackCodeFlowExpressions((()=>{if(this._useExceptTargets([t,n],(()=>{this.walk(e.suite)})),this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=s,this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode),e.asyncToken){const t=m.getEnclosingFunction(e);t&&t.isAsync||this._addError(u.Localizer.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}})),!1}visitTernary(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),s=this._createBranchLabel(t);return s.affectedExpressions=this._trackCodeFlowExpressions((()=>{this._bindConditional(e.testExpression,n,i),this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.ifExpression),this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),this.walk(e.elseExpression),this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(s)})),!1}visitUnaryOperation(e){return 38===e.operator&&this._currentFalseTarget&&this._currentTrueTarget?this._bindConditional(e.expression,this._currentFalseTarget,this._currentTrueTarget):this._disableTrueFalseTargets((()=>{this.walk(e.expression)})),!1}visitBinaryOperation(e){if(36===e.operator||37===e.operator){let t,n=this._currentTrueTarget,i=this._currentFalseTarget;n&&i||(t=this._createBranchLabel(),n=i=t);const s=this._createBranchLabel();36===e.operator?this._bindConditional(e.leftExpression,s,i):this._bindConditional(e.leftExpression,n,s),this._currentFlowNode=this._finishFlowLabel(s),this._bindConditional(e.rightExpression,n,i),t&&(this._currentFlowNode=this._finishFlowLabel(t))}else this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walk(e.rightExpression)}));return!1}visitListComprehension(e){const t=m.getEnclosingFunction(e);return this._createNewScope(0,this._getNonClassParentScope(),(()=>{var n;h.setScope(e,this._currentScope);const i=this._createBranchLabel();for(let i=0;i{const t=(0,C.createKeyForReference)(e);this._currentScopeCodeFlowExpressions.add(t)}));const i=this._createBranchLabel();let s=!1;return e.cases.forEach((t=>{const r=this._createBranchLabel(),o=this._createBranchLabel(),a=this._createBranchLabel();this._addAntecedent(o,this._currentFlowNode),t.isIrrefutable?t.guardExpression||(s=!0):this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(o),this.walk(t.pattern),n&&this._createFlowNarrowForPattern(e.subjectExpression,t),t.guardExpression?this._bindConditional(t.guardExpression,a,r):this._addAntecedent(a,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(a),this.walk(t.suite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),n&&this._createFlowNarrowForPattern(e.subjectExpression,e),s||this._createFlowExhaustedMatch(e),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitPatternAs(e){const t=this._createBranchLabel();if(e.orPatterns.forEach((e=>{this.walk(e),this._addAntecedent(t,this._currentFlowNode)})),this._currentFlowNode=this._finishFlowLabel(t),e.target){this.walk(e.target);const t=this._bindNameToScope(this._currentScope,e.target);if(this._createAssignmentTargetFlowNodes(e.target,!1,!1),t){const n={type:1,node:e.target,isConstant:(0,T.isConstantName)(e.target.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:(0,c.convertOffsetsToRange)(e.target.start,g.TextRange.getEnd(e.target),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}return!1}visitPatternCapture(e){return e.isWildcard||this._addPatternCaptureTarget(e.target),!0}visitPatternMappingExpandEntry(e){return"_"!==e.target.value&&this._addPatternCaptureTarget(e.target),!0}_removeActiveTypeParameters(e){e.parameters.forEach((e=>{const t=this._activeTypeParams.get(e.name.value);if(t){const n=t.getDeclarations();(0,a.assert)(n&&1===n.length&&3===n[0].type),n[0].node===e&&this._activeTypeParams.delete(e.name.value)}}))}_getNonClassParentScope(){let e=this._currentScope;for(;2===e.type;)e=e.parent;return e}_addSlotsToCurrentScope(e){(0,a.assert)(2===this._currentScope.type);let t=!1;for(const n of e){const e=n.strings[0].value;if("__dict__"===e){t=!0;continue}let i=this._currentScope.lookUpSymbol(e);if(!i){i=this._currentScope.addSymbol(e,5);const t="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;(0,T.isPrivateOrProtectedName)(e)&&t&&i.setIsPrivateMember()}const s={type:1,node:n,isConstant:(0,T.isConstantName)(e),isDefinedBySlots:!0,path:this._fileInfo.filePath,range:(0,c.convertOffsetsToRange)(n.start,n.start+n.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(s)}t||this._currentScope.setSlotsNames(e.map((e=>e.strings[0].value)))}_isInListComprehension(e,t=!1){let n,i,s=e;for(;s;){if(32===s.nodeType){if(t&&s.forIfNodes.length>0){const e=s.forIfNodes[0];if(n===e&&33===e.nodeType&&i===e.iterableExpression)return!1}return!0}i=n,n=s,s=s.parent}return!1}_addPatternCaptureTarget(e){const t=this._bindNameToScope(this._currentScope,e);if(this._createAssignmentTargetFlowNodes(e,!1,!1),t){const n={type:1,node:e,isConstant:(0,T.isConstantName)(e.value),inferredTypeSource:e.parent,path:this._fileInfo.filePath,range:(0,c.convertOffsetsToRange)(e.start,g.TextRange.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}_useExceptTargets(e,t){const n=this._currentExceptTargets;this._currentExceptTargets=e,t(),this._currentExceptTargets=n}_getDunderAllNamesFromImport(e){var t,n;const i=this._currentScope.lookUpSymbol(e);if(!i)return;const s=i.getDeclarations().find((e=>8===e.type)),r=(null==s?void 0:s.path)&&s.loadSymbolsFromPath?s.path:(null===(t=null==s?void 0:s.submoduleFallback)||void 0===t?void 0:t.path)&&s.submoduleFallback.loadSymbolsFromPath?s.submoduleFallback.path:void 0;if(!r)return;let o=this._fileInfo.importLookup(r);return(null==o?void 0:o.dunderAllNames)?o.dunderAllNames:(null===(n=null==s?void 0:s.submoduleFallback)||void 0===n?void 0:n.path)?(o=this._fileInfo.importLookup(s.submoduleFallback.path),null==o?void 0:o.dunderAllNames):void 0}_addImplicitFromImport(e,t){const n=e.module.nameParts[0].value,i=this._bindNameValueToScope(this._currentScope,n);i&&this._createAliasDeclarationForMultipartImportName(e,void 0,t,i),this._createFlowAssignment(e.module.nameParts[0])}_createAliasDeclarationForMultipartImportName(e,t,n,i){var s;const r=e.module.nameParts[0].value,o=i.getDeclarations().find((e=>8===e.type&&e.firstNamePart===r));let a,A;A=n&&n.isImportFound&&!n.isNativeLib&&n.resolvedPaths.length>0?n.resolvedPaths[n.resolvedPaths.length-1]:"*** unresolved ***";const l=n&&n.isImportFound&&!n.isNativeLib&&n.resolvedPaths.length>0;if(a=o||(l?{type:8,node:e,path:A,loadSymbolsFromPath:!1,range:(0,p.getEmptyRange)(),usesLocalName:!!t,moduleName:n.importName,firstNamePart:r,isInExceptSuite:this._isInExceptSuite}:{type:8,node:e,path:A,loadSymbolsFromPath:!0,range:(0,p.getEmptyRange)(),usesLocalName:!!t,moduleName:null!==(s=null==n?void 0:n.importName)&&void 0!==s?s:"",firstNamePart:r,isUnresolved:!0,isInExceptSuite:this._isInExceptSuite}),t||1===e.module.nameParts.length)a.path=A,a.loadSymbolsFromPath=!0,a.isUnresolved=!1,n&&this._addImplicitImportsToLoaderActions(n,a);else{let t=a;for(let i=1;i{e.isExternallyHidden()||(0,T.isPrivateOrProtectedName)(n)||t.push(n)})),t}_walkStatementsAndReportUnreachable(e){let t=!1;for(const n of e)h.setFlowNode(n,this._currentFlowNode),t||(t=this._isCodeUnreachable()),t?this._targetFunctionDeclaration&&!this._targetFunctionDeclaration.isGenerator&&(new v).checkContainsYield(n)&&(this._targetFunctionDeclaration.isGenerator=!0):this.walk(n);return!1}_createStartFlowNode(){return{flags:C.FlowFlags.Start,id:this._getUniqueFlowNodeId()}}_createBranchLabel(e){return{flags:C.FlowFlags.BranchLabel,id:this._getUniqueFlowNodeId(),antecedents:[],preBranchAntecedent:e,affectedExpressions:void 0}}_createFlowNarrowForPattern(e,t){const n={flags:C.FlowFlags.NarrowForPattern,id:this._getUniqueFlowNodeId(),subjectExpression:e,statement:t,antecedent:this._currentFlowNode};this._currentFlowNode=n}_createContextManagerLabel(e,t,n){return{flags:C.FlowFlags.PostContextManager|C.FlowFlags.BranchLabel,id:this._getUniqueFlowNodeId(),antecedents:[],expressions:e,affectedExpressions:void 0,isAsync:t,blockIfSwallowsExceptions:n}}_createLoopLabel(){return{flags:C.FlowFlags.LoopLabel,id:this._getUniqueFlowNodeId(),antecedents:[],affectedExpressions:void 0}}_finishFlowLabel(e){return 0===e.antecedents.length?B._unreachableFlowNode:1===e.antecedents.length&&e.flags===C.FlowFlags.BranchLabel?e.antecedents[0]:(this._codeFlowComplexity+=e.antecedents.length-1,e)}_bindNeverCondition(e,t,n){const i=[];if(55===e.nodeType&&38===e.operator)this._bindNeverCondition(e.expression,t,!n);else if(7!==e.nodeType||36!==e.operator&&37!==e.operator)this._isNarrowingExpression(e,i,!0)&&i.filter((e=>38===e.nodeType)).length>0&&(this._currentFlowNode=this._createFlowConditional(n?C.FlowFlags.TrueNeverCondition:C.FlowFlags.FalseNeverCondition,this._currentFlowNode,e)),this._addAntecedent(t,this._currentFlowNode);else{let i=36===e.operator;if(n&&(i=!i),i){const i=this._currentFlowNode;this._bindNeverCondition(e.leftExpression,t,n),this._currentFlowNode=i,this._bindNeverCondition(e.rightExpression,t,n)}else{const i=this._currentFlowNode,s=this._createBranchLabel();if(this._bindNeverCondition(e.leftExpression,s,n),i!==this._currentFlowNode){this._currentFlowNode=this._finishFlowLabel(s);const r=this._currentFlowNode;this._bindNeverCondition(e.rightExpression,t,n),r===this._currentFlowNode&&(this._currentFlowNode=i)}}}}_bindConditional(e,t,n){this._setTrueFalseTargets(t,n,(()=>{this.walk(e)})),this._isLogicalExpression(e)||(this._addAntecedent(t,this._createFlowConditional(C.FlowFlags.TrueCondition,this._currentFlowNode,e)),this._addAntecedent(n,this._createFlowConditional(C.FlowFlags.FalseCondition,this._currentFlowNode,e)))}_disableTrueFalseTargets(e){this._setTrueFalseTargets(void 0,void 0,e)}_setTrueFalseTargets(e,t,n){const i=this._currentTrueTarget,s=this._currentFalseTarget;this._currentTrueTarget=e,this._currentFalseTarget=t,n(),this._currentTrueTarget=i,this._currentFalseTarget=s}_createFlowConditional(e,t,n){if(t.flags&C.FlowFlags.Unreachable)return t;const i=I.evaluateStaticBoolLikeExpression(n,this._fileInfo.executionEnvironment,this._fileInfo.definedConstants,this._typingImportAliases,this._sysImportAliases);if(!0===i&&e&C.FlowFlags.FalseCondition||!1===i&&e&C.FlowFlags.TrueCondition)return B._unreachableFlowNode;const s=[];if(!this._isNarrowingExpression(n,s))return t;s.forEach((e=>{const t=(0,C.createKeyForReference)(e);this._currentScopeCodeFlowExpressions.add(t)}));const r=s.filter((e=>38===e.nodeType)),o={flags:e,id:this._getUniqueFlowNodeId(),reference:r.length>0?r[0]:void 0,expression:n,antecedent:t};return this._addExceptTargets(o),o}_isLogicalExpression(e){switch(e.nodeType){case 55:return 38===e.operator;case 7:return 36===e.operator||37===e.operator}return!1}_isNarrowingExpression(e,t,n=!1,i=!1){switch(e.nodeType){case 38:case 35:case 24:if(n){if(38!==e.nodeType)return!1;if(!i)return!1}return!!(0,C.isCodeFlowSupportedForReference)(e)&&(t.push(e),!0);case 4:return t.push(e.name),this._isNarrowingExpression(e.rightExpression,t,n,!0),!0;case 7:{const i=39===e.operator||40===e.operator,s=12===e.operator||28===e.operator;if(i||s){if(11===e.rightExpression.nodeType&&26===e.rightExpression.constType)return this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i&&9===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"type"===e.leftExpression.leftExpression.value&&1===e.leftExpression.arguments.length&&0===e.leftExpression.arguments[0].argumentCategory)return this._isNarrowingExpression(e.leftExpression.arguments[0].valueExpression,t,n,!0);const r=this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i)return r;if(s){const i=this._isNarrowingExpression(e.rightExpression,t,n,!0);return r||i}}return!(41!==e.operator&&42!==e.operator||48!==e.leftExpression.nodeType||!this._isNarrowingExpression(e.rightExpression,t,n,!0))||(41===e.operator||42===e.operator)&&this._isNarrowingExpression(e.leftExpression,t,n,!0)}case 55:return 38===e.operator&&this._isNarrowingExpression(e.expression,t,n,!1);case 5:return this._isNarrowingExpression(e.rightExpression,t,n,!0);case 9:if(38===e.leftExpression.nodeType&&("isinstance"===e.leftExpression.value||"issubclass"===e.leftExpression.value)&&2===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(38===e.leftExpression.nodeType&&"callable"===e.leftExpression.value&&1===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(e.arguments.length>=1)return!n&&this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0)}return!1}_createAssignmentTargetFlowNodes(e,t,n){switch(e.nodeType){case 38:case 35:case 24:this._createFlowAssignment(e,n),t&&this.walk(e);break;case 52:e.expressions.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;case 54:this._createAssignmentTargetFlowNodes(e.valueExpression,!1,n),t&&this.walk(e);break;case 56:this._createAssignmentTargetFlowNodes(e.expression,!1,n),t&&this.walk(e);break;case 31:e.entries.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;default:t&&this.walk(e)}}_createCallFlowNode(e){if(!this._isCodeUnreachable()){const t={flags:C.FlowFlags.Call,id:this._getUniqueFlowNodeId(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode)}_createVariableAnnotationFlowNode(){if(!this._isCodeUnreachable()){const e={flags:C.FlowFlags.VariableAnnotation,id:this._getUniqueFlowNodeId(),antecedent:this._currentFlowNode};this._currentFlowNode=e}}_createFlowAssignment(e,t=!1){let n=E.indeterminateSymbolId;if(38===e.nodeType){const t=this._currentScope.lookUpSymbolRecursive(e.value);(0,a.assert)(void 0!==t),n=t.symbol.id}const i=this._currentFlowNode;if(!this._isCodeUnreachable()&&(0,C.isCodeFlowSupportedForReference)(e)){const i={flags:C.FlowFlags.Assignment,id:this._getUniqueFlowNodeId(),node:e,antecedent:this._currentFlowNode,targetSymbolId:n},s=(0,C.createKeyForReference)(e);this._currentScopeCodeFlowExpressions.add(s),t&&(i.flags|=C.FlowFlags.Unbind),35===e.nodeType&&this._addExceptTargets(i),this._currentFlowNode=i}t&&void 0!==h.getFlowNode(e)||h.setFlowNode(e,t?i:this._currentFlowNode)}_createFlowWildcardImport(e,t){if(!this._isCodeUnreachable()){const n={flags:C.FlowFlags.WildcardImport,id:this._getUniqueFlowNodeId(),node:e,names:t,antecedent:this._currentFlowNode};this._addExceptTargets(n),this._currentFlowNode=n}h.setFlowNode(e,this._currentFlowNode)}_createFlowExhaustedMatch(e){if(!this._isCodeUnreachable()){const t={flags:C.FlowFlags.ExhaustedMatch,id:this._getUniqueFlowNodeId(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}h.setAfterFlowNode(e,this._currentFlowNode)}_isCodeUnreachable(){return!!(this._currentFlowNode.flags&C.FlowFlags.Unreachable)}_addExceptTargets(e){this._currentExceptTargets&&this._currentExceptTargets.forEach((t=>{this._addAntecedent(t,e)}))}_trackCodeFlowExpressions(e){const t=this._currentScopeCodeFlowExpressions;this._currentScopeCodeFlowExpressions=new Set,e();const n=this._currentScopeCodeFlowExpressions;return t&&this._currentScopeCodeFlowExpressions.forEach((e=>{t.add(e)})),this._currentScopeCodeFlowExpressions=t,n}_bindLoopStatement(e,t,n){const i=this._currentContinueTarget,s=this._currentBreakTarget;this._currentContinueTarget=e,this._currentBreakTarget=t,e.affectedExpressions=this._trackCodeFlowExpressions(n),this._currentContinueTarget=i,this._currentBreakTarget=s}_addAntecedent(e,t){this._currentFlowNode.flags&C.FlowFlags.Unreachable||e.antecedents.some((e=>e.id===t.id))||e.antecedents.push(t)}_bindNameToScope(e,t,n){return this._activeTypeParams.get(t.value)&&this._addError(u.Localizer.Diagnostic.overwriteTypeParameter().format({name:t.value}),t),this._bindNameValueToScope(e,t.value,n)}_bindNameValueToScope(e,t,n){const i=this._currentScope.getBindingType(t);if(void 0===i){let i=e.lookUpSymbol(t);return i||(i=e.addSymbol(t,5),3!==this._currentScope.type&&4!==this._currentScope.type||(0,T.isPrivateOrProtectedName)(t)&&((0,T.isPrivateName)(t)?i.setIsExternallyHidden():this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage?4===this._currentScope.type?i.setIsExternallyHidden():this._potentialPrivateSymbols.set(t,i):i.setIsPrivateMember()),n&&n.set(t,i)),i}{const e=(0===i?this._currentScope.parent:this._currentScope.getGlobalScope().scope).lookUpSymbolRecursive(t);if(e)return e.symbol}}_bindPossibleTupleNamedTarget(e,t){switch(e.nodeType){case 38:this._bindNameToScope(this._currentScope,e,t);break;case 52:e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 31:e.entries.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 54:this._bindPossibleTupleNamedTarget(e.valueExpression,t);break;case 56:this._bindPossibleTupleNamedTarget(e.expression,t)}}_addImplicitSymbolToCurrentScope(e,t,n){const i=this._addSymbolToCurrentScope(e,!1);i&&(i.addDeclaration({type:0,node:t,intrinsicType:n,path:this._fileInfo.filePath,range:(0,p.getEmptyRange)(),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),i.setIsIgnoredForProtocolMatch())}_addSymbolToCurrentScope(e,t){let n=this._currentScope.lookUpSymbol(e);if(!n){let i=0;t&&(i|=1),2===this._currentScope.type&&(i|=4),this._fileInfo.isStubFile&&(0,T.isPrivateOrProtectedName)(e)&&(i|=2),n=this._currentScope.addSymbol(e,i)}return n}_createNewScope(e,t,n){const i=this._currentScope,s=new f.Scope(e,t);this._currentScope=s;const r=4===e||3===e||1===e,o=this._currentScopeCodeFlowExpressions;return r&&(this._currentScopeCodeFlowExpressions=new Set),n(),this._currentScopeCodeFlowExpressions=o,this._currentScope=i,s}_addInferredTypeAssignmentForVariable(e,t,n=!1){switch(e.nodeType){case 38:{const i=e,s=this._currentScope.lookUpSymbolRecursive(i.value);if(s&&s.symbol){const r={type:1,node:e,isConstant:(0,T.isConstantName)(e.value),inferredTypeSource:t,isInferenceAllowedInPyTyped:this._isInferenceAllowedInPyTyped(i.value),typeAliasName:n?e:void 0,path:this._fileInfo.filePath,range:(0,c.convertOffsetsToRange)(i.start,g.TextRange.getEnd(i),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};s.symbol.addDeclaration(r)}break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let s=n.classScope.lookUpSymbol(i.value);if(!s){s=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;(0,T.isPrivateOrProtectedName)(i.value)&&e&&s.setIsPrivateMember()}n.isInstanceMember?s.isClassMember()&&s.getDeclarations().some((e=>5===e.type&&e.isMethod))||s.setIsInstanceMember():s.setIsClassMember();const r={type:1,node:e.memberName,isConstant:(0,T.isConstantName)(i.value),inferredTypeSource:t,isDefinedByMemberAccess:!0,path:this._fileInfo.filePath,range:(0,c.convertOffsetsToRange)(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};s.addDeclaration(r)}break}case 52:e.expressions.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}));break;case 54:this._addInferredTypeAssignmentForVariable(e.valueExpression,t);break;case 56:this._addInferredTypeAssignmentForVariable(e.expression,t);break;case 31:e.entries.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}))}}_isInferenceAllowedInPyTyped(e){return["__match_args__","__slots__","__all__"].some((t=>t===e))}_addTypeDeclarationForVariable(e,t){var n,i,s;let r=!1;switch(e.nodeType){case 38:{const o=e,a=this._currentScope.lookUpSymbolRecursive(o.value);if(a&&a.symbol){const r=this._isAnnotationFinal(t),A=this._isAnnotationTypeAlias(t);let l=t,p=t;A?(l=void 0,p=void 0,2!==this._currentScope.type&&3!==this._currentScope.type&&4!==this._currentScope.type&&this._addError(u.Localizer.Diagnostic.typeAliasNotInModuleOrClass(),t)):r.isFinal&&(p=r.finalTypeNode,r.finalTypeNode||(l=void 0));let d=this._isAnnotationClassVar(t);if(d.isClassVar&&(p=d.classVarTypeNode,d.classVarTypeNode||(l=void 0)),r.isFinal){const t=m.getEnclosingClassOrFunction(e);t&&10===t.nodeType&&(3!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&3!==(null===(s=null===(i=e.parent)||void 0===i?void 0:i.parent)||void 0===s?void 0:s.nodeType)||(d={isClassVar:!0,classVarTypeNode:void 0}))}const h={type:1,node:e,isConstant:(0,T.isConstantName)(o.value),isFinal:r.isFinal,isClassVar:d.isClassVar,isRequired:this._isRequiredAnnotation(p),isNotRequired:this._isNotRequiredAnnotation(p),typeAliasAnnotation:A?t:void 0,typeAliasName:A?e:void 0,path:this._fileInfo.filePath,typeAnnotationNode:l,range:(0,c.convertOffsetsToRange)(o.start,g.TextRange.getEnd(o),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};if(a.symbol.addDeclaration(h),d.isClassVar?a.symbol.setIsClassVar():a.symbol.setIsInstanceMember(),24===t.nodeType)if(this._isDataclassesAnnotation(t.baseExpression,"InitVar"))a.symbol.setIsInitVar();else if(this._isTypingAnnotation(t.baseExpression,"Annotated")&&t.items.length>0){const e=t.items[0].valueExpression;24===e.nodeType&&this._isDataclassesAnnotation(e.baseExpression,"InitVar")&&a.symbol.setIsInitVar()}}r=!0;break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let s=n.classScope.lookUpSymbol(i.value);if(!s){s=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;(0,T.isPrivateOrProtectedName)(i.value)&&e&&s.setIsPrivateMember()}n.isInstanceMember?s.setIsInstanceMember():s.setIsClassMember();const o=this._isAnnotationFinal(t),a={type:1,node:e.memberName,isConstant:(0,T.isConstantName)(i.value),isDefinedByMemberAccess:!0,isFinal:o.isFinal,path:this._fileInfo.filePath,typeAnnotationNode:o.isFinal&&!o.finalTypeNode?void 0:t,range:(0,c.convertOffsetsToRange)(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};s.addDeclaration(a),r=!0}break}}r||this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,u.Localizer.Diagnostic.annotationNotSupported(),t)}_isTypingAnnotation(e,t){return this._isKnownAnnotation(e,t,this._typingImportAliases,this._typingSymbolAliases)}_isDataclassesAnnotation(e,t){return this._isKnownAnnotation(e,t,this._dataclassesImportAliases,this._dataclassesSymbolAliases)}_isKnownAnnotation(e,t,n,i){if(38===e.nodeType){if(i.get(e.value)===t)return!0}else if(35===e.nodeType&&38===e.leftExpression.nodeType&&e.memberName.value===t){const t=e.leftExpression.value;return n.some((e=>e===t))}return!1}_getVariableDocString(e){var t,n,i,s;let r,o=e;for(;o&&3!==o.nodeType;)54!==o.nodeType||r||(r=o),o=o.parent;if(3!==(null==o?void 0:o.nodeType)){if(!r)return;o=r}const a=o.parent;if(47!==(null==a?void 0:a.nodeType))return;const A=a.parent;if(!A||36!==A.nodeType&&50!==A.nodeType)return;const l=A.statements.findIndex((e=>e===a));if(l<0||l===A.statements.length-1)return;const c=A.statements[l+1];if(47!==c.nodeType||!m.isDocString(c))return;let p=!1;if(36===(null===(t=null==a?void 0:a.parent)||void 0===t?void 0:t.nodeType))p=!0;else if(50===(null===(n=null==a?void 0:a.parent)||void 0===n?void 0:n.nodeType)&&10===(null===(s=null===(i=null==a?void 0:a.parent)||void 0===i?void 0:i.parent)||void 0===s?void 0:s.nodeType))p=!0;else{const e=m.getEnclosingFunction(a);e&&"__init__"===e.name.value&&m.getEnclosingClass(e,!0)&&(p=!0)}if(!p)return;const g=c.statements[0].strings;return 1===g.length?g[0].value:g.map((e=>e.value)).join("")}_isAnnotationFinal(e){let t,n=!1;return e&&(this._isTypingAnnotation(e,"Final")?n=!0:24===e.nodeType&&1===e.items.length&&(!this._isAnnotationFinal(e.baseExpression).isFinal||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression))),{isFinal:n,finalTypeNode:t}}_isAnnotationClassVar(e){let t,n=!1;for(;e;){if(!(24===e.nodeType&&e.items.length>0&&this._isTypingAnnotation(e.baseExpression,"Annotated"))){if(this._isTypingAnnotation(e,"ClassVar")){n=!0;break}if(24===e.nodeType&&1===e.items.length){!this._isAnnotationClassVar(e.baseExpression).isClassVar||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression);break}break}e=e.items[0].valueExpression}return{isClassVar:n,classVarTypeNode:t}}_isRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"Required"))}_isNotRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"NotRequired"))}_isAnnotationTypeAlias(e){return!!e&&this._isTypingAnnotation(e,"TypeAlias")}_getMemberAccessInfo(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value,n=m.getEnclosingFunction(e);if(!n)return;const i=m.getEnclosingClass(n,!0);if(!i)return;let s=!1;if(n.parameters.length<1||!n.parameters[0].name)return;const r=i.name.value,o=n.parameters[0].name.value;if(t===r)s=!1;else{if(t!==o)return;if("__new__"===n.name.value)s=!1;else{s=!0;for(const e of n.decorators)if(38===e.expression.nodeType){const t=e.expression.value;if("staticmethod"===t)return;if("classmethod"===t){s=!1;break}}}}const A=h.getScope(i);return(0,a.assert)(void 0!==A),{classNode:i,methodNode:n,classScope:A,isInstanceMember:s}}_addImplicitImportsToLoaderActions(e,t){e.filteredImplicitImports.forEach((e=>{const n=t.implicitImports?t.implicitImports.get(e.name):void 0;n?(n.path=e.path,n.loadSymbolsFromPath=!0):(t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(e.name,{path:e.path,loadSymbolsFromPath:!0,implicitImports:new Map}))}))}_handleTypingStubAssignmentOrAnnotation(e){if(!this._fileInfo.isTypingStubFile)return!1;let t;if(54===e.nodeType)t=e;else{if(54!==e.leftExpression.nodeType)return!1;t=e.leftExpression}if(38!==t.valueExpression.nodeType)return!1;const n=t.valueExpression,i=new Map([["Tuple",!0],["Generic",!0],["Protocol",!0],["Callable",!0],["Type",!0],["ClassVar",!0],["Final",!0],["Literal",!0],["TypedDict",!0],["Union",!0],["Optional",!0],["Annotated",!0],["TypeAlias",!0],["OrderedDict",!0],["Concatenate",!0],["TypeGuard",!0],["StrictTypeGuard",!0],["Unpack",!0],["Self",!0],["NoReturn",!0],["Never",!0],["LiteralString",!0]]),s=n.value;if(!i.has(s))return!1;const r=this._bindNameToScope(this._currentScope,t.valueExpression);return r&&r.addDeclaration({type:7,node:t,path:this._fileInfo.filePath,range:(0,c.convertOffsetsToRange)(t.start,g.TextRange.getEnd(t),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),!0}_deferBinding(e){this._moduleSymbolOnly||this._deferredBindingTasks.push({scope:this._currentScope,codeFlowExpressions:this._currentScopeCodeFlowExpressions,activeTypeParams:new Map(this._activeTypeParams),callback:e})}_bindDeferred(){for(;this._deferredBindingTasks.length>0;){const e=this._deferredBindingTasks.shift();this._currentScope=e.scope,this._currentScopeCodeFlowExpressions=e.codeFlowExpressions,this._activeTypeParams=e.activeTypeParams,e.callback()}}_bindYield(e){const t=m.getEnclosingFunction(e);t?t.isAsync&&61===e.nodeType&&this._addError(u.Localizer.Diagnostic.yieldFromOutsideAsync(),e):m.getEnclosingLambda(e)||this._addError(u.Localizer.Diagnostic.yieldOutsideFunction(),e),this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.yieldStatements||(this._targetFunctionDeclaration.yieldStatements=[]),this._targetFunctionDeclaration.yieldStatements.push(e),this._targetFunctionDeclaration.isGenerator=!0),e.expression&&this.walk(e.expression),h.setFlowNode(e,this._currentFlowNode)}_getUniqueFlowNodeId(){return this._codeFlowComplexity+=.05,(0,C.getUniqueFlowNodeId)()}_addDiagnostic(e,t,n,i){let s;switch(e){case"error":s=this._addError(n,i);break;case"warning":s=this._addWarning(n,i);break;case"information":s=this._addInformation(n,i);break;case"none":break;default:return(0,a.assertNever)(e,`${e} is not expected`)}return s&&s.setRule(t),s}_addError(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("error",e,t)}_addWarning(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("warning",e,t)}_addInformation(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("information",e,t)}}t.Binder=B,B._unreachableFlowNode={flags:C.FlowFlags.Unreachable,id:(0,C.getUniqueFlowNodeId)()};class v extends y.ParseTreeWalker{constructor(){super(...arguments),this._containsYield=!1}checkContainsYield(e){return this.walk(e),this._containsYield}visitYield(e){return this._containsYield=!0,!1}visitYieldFrom(e){return this._containsYield=!0,!1}}t.YieldFinder=v;class Q extends y.ParseTreeWalker{constructor(){super(...arguments),this._containsReturn=!1}checkContainsReturn(e){return this.walk(e),this._containsReturn}visitReturn(e){return this._containsReturn=!0,!1}}t.ReturnFinder=Q},6329:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.Checker=void 0;const o=n(5839),a=n(1290),A=n(9744),l=n(6657),c=n(6886),p=n(3550),g=n(2122),u=n(5275),d=n(5136),h=r(n(563)),C=n(8905),m=n(5523),y=n(2374),f=n(7012),I=r(n(8494)),E=n(427),T=n(6061),B=n(5083),v=n(4221),Q=n(8816),_=n(8235),w=r(n(1766)),D=n(2917),S=n(7887),b=n(4610),F=n(1133),k=n(5168),N=n(4447),P=new Map([["Tuple",{version:c.PythonVersion.V3_9,fullName:"builtins.tuple",replacementText:"tuple"}],["List",{version:c.PythonVersion.V3_9,fullName:"builtins.list",replacementText:"list"}],["Dict",{version:c.PythonVersion.V3_9,fullName:"builtins.dict",replacementText:"dict"}],["Set",{version:c.PythonVersion.V3_9,fullName:"builtins.set",replacementText:"set"}],["FrozenSet",{version:c.PythonVersion.V3_9,fullName:"builtins.frozenset",replacementText:"frozenset"}],["Type",{version:c.PythonVersion.V3_9,fullName:"builtins.type",replacementText:"type"}],["Deque",{version:c.PythonVersion.V3_9,fullName:"collections.deque",replacementText:"collections.deque"}],["DefaultDict",{version:c.PythonVersion.V3_9,fullName:"collections.defaultdict",replacementText:"collections.defaultdict"}],["OrderedDict",{version:c.PythonVersion.V3_9,fullName:"collections.OrderedDict",replacementText:"collections.OrderedDict"}],["Counter",{version:c.PythonVersion.V3_9,fullName:"collections.Counter",replacementText:"collections.Counter"}],["ChainMap",{version:c.PythonVersion.V3_9,fullName:"collections.ChainMap",replacementText:"collections.ChainMap"}]]),x=new Map([["Optional",{version:c.PythonVersion.V3_10,fullName:"typing.Optional",replacementText:"| None"}],["Union",{version:c.PythonVersion.V3_10,fullName:"typing.Union",replacementText:"|"}]]);class R extends E.ParseTreeWalker{constructor(e,t,n){super(),this._importResolver=e,this._evaluator=t,this._moduleNode=n,this._isUnboundCheckSuppressed=!1,this._scopedNodes=[],this._typeParameterLists=[],this._fileInfo=h.getFileInfo(n)}check(){this._scopedNodes.push(this._moduleNode),this._walkStatementsAndReportUnreachable(this._moduleNode.statements);const e=h.getDunderAllInfo(this._moduleNode);e&&(this._evaluator.markNamesAccessed(this._moduleNode,e.names),this._reportUnusedDunderAllSymbols(e.stringNodes)),this._validateSymbolTables(),this._reportDuplicateImports(),M.report(this._importResolver,this._evaluator,this._fileInfo,this._moduleNode)}walk(e){h.isCodeUnreachable(e)?this._evaluator.suppressDiagnostics(e,(()=>{super.walk(e)})):super.walk(e)}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitStatementList(e){return e.statements.forEach((e=>{(0,u.isExpressionNode)(e)&&(this._evaluator.getType(e),this._reportUnusedExpression(e))})),!0}visitClass(e){const t=this._evaluator.getTypeOfClass(e);return e.typeParameters&&this.walk(e.typeParameters),this.walk(e.suite),this.walkMultiple(e.decorators),this.walkMultiple(e.arguments),t&&(F.ClassType.isProtocolClass(t.classType)&&(e.arguments.forEach((e=>{if(!e.name){const n=this._evaluator.getType(e.valueExpression);n&&(0,F.isInstantiableClass)(n)&&!F.ClassType.isBuiltIn(n,"Protocol")&&!F.ClassType.isBuiltIn(n,"Generic")&&(F.ClassType.isProtocolClass(n)||this._evaluator.addError(g.Localizer.Diagnostic.protocolBaseClass().format({classType:this._evaluator.printType(t.classType,!1),baseType:this._evaluator.printType(n,!1)}),e.valueExpression))}})),this._validateProtocolTypeParamVariance(e,t.classType)),this._fileInfo.isStubFile||(this._validateBaseClassOverrides(t.classType),this._validateSlotsClassVarConflict(t.classType)),this._validateMultipleInheritanceCompatibility(t.classType,e.name),this._validateConstructorConsistency(t.classType),this._validateFinalMemberOverrides(t.classType),this._validateInstanceVariableInitialization(t.classType),this._validateFinalClassNotAbstract(t.classType,e),this._validateDataClassPostInit(t.classType,e),this._validateProtocolCompatibility(t.classType,e),this._reportDuplicateEnumMembers(t.classType),F.ClassType.isTypedDictClass(t.classType)&&this._validateTypedDictClassSuite(e.suite),F.ClassType.isEnumClass(t.classType)&&this._validateEnumClassOverride(e,t.classType)),this._scopedNodes.push(e),!1}visitFunction(e){var t;e.typeParameters&&this.walk(e.typeParameters);const n=this._evaluator.getTypeOfFunction(e),i=I.getEnclosingClass(e,!0);if(n){let s=!1;e.parameters.forEach(((e,t)=>{if(e.name)if(1===e.category){const t=e.typeAnnotation||e.typeAnnotationComment;if(t&&35===t.nodeType&&"args"===t.memberName.value){const e=this._evaluator.getType(t.leftExpression);e&&(0,F.isTypeVar)(e)&&e.details.isParamSpec&&(s=!0)}}else 2===e.category&&(s=!1);if(e.name&&0===e.category&&s&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.namedParamAfterParamSpecArgs().format({name:e.name.value}),e.name),e.name&&"_"!==e.name.value){const t=n.functionType.details.parameters.find((t=>{var n;return t.name===(null===(n=e.name)||void 0===n?void 0:n.value)}));if(t){const n=t.type;if((0,F.isUnknown)(n)||(0,F.isTypeVar)(n)&&n.details.isSynthesized&&!n.details.isSynthesizedSelf)this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,A.DiagnosticRule.reportUnknownParameterType,g.Localizer.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name);else if((0,k.isPartlyUnknown)(n)){const t=new a.DiagnosticAddendum;t.addMessage(g.Localizer.DiagnosticAddendum.paramType().format({paramType:this._evaluator.printType(n,!0)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,A.DiagnosticRule.reportUnknownParameterType,g.Localizer.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value})+t.getString(),e.name)}let i=!1;(t.typeAnnotation||(0,F.isTypeVar)(n)&&n.details.isSynthesizedSelf)&&(i=!0),i||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingParameterType,A.DiagnosticRule.reportMissingParameterType,g.Localizer.Diagnostic.paramAnnotationMissing().format({name:e.name.value}),e.name)}}if(e.defaultValue&&this._fileInfo.isStubFile){const t=this._evaluator.getType(e.defaultValue);t&&(0,k.isEllipsisType)(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidStubStatement,A.DiagnosticRule.reportInvalidStubStatement,g.Localizer.Diagnostic.defaultValueNotEllipsis(),e.defaultValue)}}));const r=n.functionType.details.parameters.filter((e=>!!(e.typeAnnotation&&(0,F.isTypeVar)(e.type)&&(0,F.isParamSpec)(e.type)&&0!==e.category&&e.name&&e.type.paramSpecAccess)));1===r.length&&r[0].typeAnnotation&&this._evaluator.addError(g.Localizer.Diagnostic.paramSpecArgsKwargsUsage(),r[0].typeAnnotation),this._fileInfo.isStubFile&&(e.returnTypeAnnotation||(null===(t=e.functionAnnotationComment)||void 0===t?void 0:t.returnTypeAnnotation)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,A.DiagnosticRule.reportUnknownParameterType,g.Localizer.Diagnostic.returnTypeUnknown(),e.name)),i&&this._validateMethod(e,n.functionType,i)}e.parameters.forEach(((e,t)=>{if(e.defaultValue&&this.walk(e.defaultValue),e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment),n){const i=e.typeAnnotation||e.typeAnnotationComment;if(i&&t=c.PythonVersion.V3_5&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportTypeCommentUsage,A.DiagnosticRule.reportTypeCommentUsage,g.Localizer.Diagnostic.typeCommentDeprecated(),e.functionAnnotationComment)),this.walkMultiple(e.decorators),e.parameters.forEach((e=>{e.name&&this.walk(e.name)}));const s=h.getCodeFlowComplexity(e)>S.maxCodeComplexity;if(s?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.codeTooComplexToAnalyze(),e.name):this.walk(e.suite),n&&(s||this._validateFunctionReturn(e,n.functionType),this._validateDunderSignatures(e,n.functionType,void 0!==i),this._validateStrictTypeGuardFunction(e,n.functionType,void 0!==i),this._validateFunctionTypeVarUsage(e,n.functionType)),this._fileInfo.isStubFile&&"__getattr__"===e.name.value){const t=(0,B.getScopeForNode)(e);3===(null==t?void 0:t.type)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompleteStub,A.DiagnosticRule.reportIncompleteStub,g.Localizer.Diagnostic.stubUsesGetAttr(),e.name)}if(this._scopedNodes.push(e),n&&(0,F.isOverloadedFunction)(n.decoratedType)&&F.OverloadedFunctionType.getImplementation(n.decoratedType)!==n.functionType){const t=F.OverloadedFunctionType.getOverloads(n.decoratedType);if(t.length>1){const n=100;t.length{if(e.name){const t=this._evaluator.getType(e.name);t&&((0,F.isUnknown)(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,A.DiagnosticRule.reportUnknownLambdaType,g.Localizer.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name):(0,k.isPartlyUnknown)(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,A.DiagnosticRule.reportUnknownLambdaType,g.Localizer.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value}),e.name))}}));const t=this._evaluator.getType(e.expression);return t&&((0,F.isUnknown)(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,A.DiagnosticRule.reportUnknownLambdaType,g.Localizer.Diagnostic.lambdaReturnTypeUnknown(),e.expression):(0,k.isPartlyUnknown)(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,A.DiagnosticRule.reportUnknownLambdaType,g.Localizer.Diagnostic.lambdaReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.expression)),this._scopedNodes.push(e),!1}visitCall(e){var t;if(this._validateIsInstanceCall(e),this._validateIllegalDefaultParamInitializer(e),("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult||"none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine)&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value,n=this._evaluator.getType(e);!t&&n&&this._isTypeValidForUnusedValueTest(n)&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,A.DiagnosticRule.reportUnusedCallResult,g.Localizer.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(n,!1)}),e),(0,F.isClassInstance)(n)&&F.ClassType.isBuiltIn(n,"Coroutine")&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine,A.DiagnosticRule.reportUnusedCoroutine,g.Localizer.Diagnostic.unusedCoroutine(),e))}return!0}visitAwait(e){var t;if("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&9===e.expression.nodeType){const t=this._evaluator.getType(e);t&&this._isTypeValidForUnusedValueTest(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,A.DiagnosticRule.reportUnusedCallResult,g.Localizer.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(t,!1)}),e)}return!0}visitFor(e){return this._evaluator.evaluateTypesForStatement(e),e.typeComment&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.annotationNotSupported(),e.typeComment),!0}visitList(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitSet(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitDictionary(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitListComprehension(e){return this._scopedNodes.push(e),!0}visitListComprehensionIf(e){return this._reportUnnecessaryConditionExpression(e.testExpression),!0}visitIf(e){return this._evaluator.getType(e.testExpression),this._reportUnnecessaryConditionExpression(e.testExpression),!0}visitWhile(e){return this._evaluator.getType(e.testExpression),this._reportUnnecessaryConditionExpression(e.testExpression),!0}visitWith(e){return e.withItems.forEach((e=>{this._evaluator.evaluateTypesForStatement(e)})),e.typeComment&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.annotationNotSupported(),e.typeComment),!0}visitReturn(e){let t;const n=I.getEnclosingFunction(e),i=n?this._evaluator.getFunctionDeclaredReturnType(n):void 0;if(t=e.returnExpression?this._evaluator.getType(e.returnExpression)||F.UnknownType.create():F.NoneType.createInstance(),this._evaluator.isNodeReachable(e,void 0)&&n){if(i)if((0,F.isNever)(i))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.noReturnContainsReturn(),e);else{const n=new a.DiagnosticAddendum;let s=!1;if(this._evaluator.assignType(i,t,n,new N.TypeVarContext,void 0,64))s=!0;else{const r=(0,k.getTypeVarArgumentsRecursive)(i);if(r&&r.some((e=>e.details.constraints.length>0))){const o=new N.TypeVarContext;for(const t of r)if(t.details.constraints.length>0){const n=this._evaluator.narrowConstrainedTypeVar(e,t);n&&(o.setTypeVarType(t,n),o.addSolveForScope((0,k.getTypeVarScopeId)(t)))}if(!o.isEmpty()){const e=(0,k.applySolvedTypeVars)(i,o);this._evaluator.assignType(e,t,n,void 0,void 0,64)&&(s=!0)}}}s||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.returnTypeMismatch().format({exprType:this._evaluator.printType(t,!1),returnType:this._evaluator.printType(i,!1)})+n.getString(),e.returnExpression?e.returnExpression:e)}(0,F.isUnknown)(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,A.DiagnosticRule.reportUnknownVariableType,g.Localizer.Diagnostic.returnTypeUnknown(),e.returnExpression):(0,k.isPartlyUnknown)(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,A.DiagnosticRule.reportUnknownVariableType,g.Localizer.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.returnExpression)}return!0}visitYield(e){const t=e.expression?this._evaluator.getType(e.expression):F.NoneType.createInstance();return this._validateYieldType(e,t||F.UnknownType.create()),!0}visitYieldFrom(e){const t=this._evaluator.getType(e.expression)||F.UnknownType.create();let n;if((0,F.isClassInstance)(t)&&F.ClassType.isBuiltIn(t,"Coroutine"))n=F.UnknownType.create();else{n=this._evaluator.getTypeOfIterable(t,!1,e)||F.UnknownType.create();const i=(0,k.getGeneratorTypeArgs)(n);n=i?i.length>=1?i[0]:F.UnknownType.create():this._evaluator.getTypeOfIterator(t,!1,e)||F.UnknownType.create()}return this._validateYieldType(e,n),!0}visitRaise(e){if(this._evaluator.verifyRaiseExceptionType(e),e.valueExpression){const t=this._evaluator.getBuiltInType(e,"BaseException"),n=this._evaluator.getType(e.valueExpression);if(n&&t&&(0,F.isInstantiableClass)(t)){const i=new a.DiagnosticAddendum;(0,k.doForEachSubtype)(n,(e=>{e=this._evaluator.makeTopLevelTypeVarsConcrete(e),(0,F.isAnyOrUnknown)(e)||(0,F.isNoneInstance)(e)||(0,F.isClass)(e)&&(0,k.derivesFromClassRecursive)(e,t,!1)||i.addMessage(g.Localizer.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)}))})),i.isEmpty()||this._evaluator.addError(g.Localizer.Diagnostic.expectedExceptionObj()+i.getString(),e.valueExpression)}}return!0}visitExcept(e){if(e.typeExpression){this._evaluator.evaluateTypesForStatement(e);const t=this._evaluator.getType(e.typeExpression);t&&this._validateExceptionType(t,e.typeExpression)}return!0}visitAssert(e){e.exceptionExpression&&this._evaluator.getType(e.exceptionExpression);const t=this._evaluator.getType(e.testExpression);return t&&(0,F.isClassInstance)(t)&&(0,k.isTupleClass)(t)&&t.tupleTypeArguments&&t.tupleTypeArguments.length>0&&((0,k.isUnboundedTupleClass)(t)||this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportAssertAlwaysTrue,A.DiagnosticRule.reportAssertAlwaysTrue,g.Localizer.Diagnostic.assertAlwaysTrue(),e.testExpression)),!0}visitAssignment(e){return this._evaluator.evaluateTypesForStatement(e),e.typeAnnotationComment&&(this._evaluator.getType(e.typeAnnotationComment),"none"!==this._fileInfo.diagnosticRuleSet.reportTypeCommentUsage&&this._fileInfo.executionEnvironment.pythonVersion>=c.PythonVersion.V3_6&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportTypeCommentUsage,A.DiagnosticRule.reportTypeCommentUsage,g.Localizer.Diagnostic.typeCommentDeprecated(),e.typeAnnotationComment)),!0}visitAssignmentExpression(e){return this._evaluator.getType(e),!0}visitAugmentedAssignment(e){return this._evaluator.evaluateTypesForStatement(e),!0}visitIndex(e){this._evaluator.getType(e);const t=this._evaluator.getType(e.baseExpression);return t&&(0,k.doForEachSubtype)(t,(t=>{if((0,F.isClassInstance)(t)&&t.tupleTypeArguments&&!(0,k.isUnboundedTupleClass)(t)){const n=t.tupleTypeArguments.length;if(1===e.items.length&&!e.trailingComma&&0===e.items[0].argumentCategory&&!e.items[0].name){const i=this._evaluator.getType(e.items[0].valueExpression);i&&(0,F.isClassInstance)(i)&&F.ClassType.isBuiltIn(i,"int")&&(0,k.isLiteralType)(i)&&"number"==typeof i.literalValue&&(i.literalValue>=0&&i.literalValue>=n||i.literalValue<0&&i.literalValue+n<0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.tupleIndexOutOfRange().format({index:i.literalValue,type:this._evaluator.printType(t)}),e)}}})),!0}visitBinaryOperation(e){return 12===e.operator||28===e.operator?I.isWithinAssertExpression(e)||this._validateComparisonTypes(e):41!==e.operator&&42!==e.operator||I.isWithinAssertExpression(e)||this._validateContainmentTypes(e),this._evaluator.getType(e),!0}visitSlice(e){return this._evaluator.getType(e),!0}visitUnpack(e){return this._evaluator.getType(e),!0}visitTuple(e){return this._evaluator.getType(e),!0}visitUnaryOperation(e){return this._evaluator.getType(e),!0}visitTernary(e){return this._evaluator.getType(e),this._reportUnnecessaryConditionExpression(e.testExpression),!0}visitStringList(e){for(const t of e.strings)t.hasUnescapeErrors&&(0,d.getUnescapedString)(t.token).unescapeErrors.forEach((e=>{const n={start:t.token.start+t.token.prefixLength+t.token.quoteMarkLength+e.offset,length:e.length};0===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportInvalidStringEscapeSequence,A.DiagnosticRule.reportInvalidStringEscapeSequence,g.Localizer.Diagnostic.stringUnsupportedEscape(),n):1===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",g.Localizer.Diagnostic.formatStringEscape(),n):2===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",g.Localizer.Diagnostic.formatStringBrace(),n):3===e.errorType&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",g.Localizer.Diagnostic.formatStringUnterminated(),n)}));return e.typeAnnotation&&this._evaluator.getType(e),e.strings.length>1&&!e.isParenthesized&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportImplicitStringConcatenation,A.DiagnosticRule.reportImplicitStringConcatenation,g.Localizer.Diagnostic.implicitStringConcat(),e),!0}visitFormatString(e){return e.expressions.forEach((e=>{this._evaluator.getType(e)})),!0}visitGlobal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitNonlocal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitName(e){return this._conditionallyReportPrivateUsage(e),this._isUnboundCheckSuppressed||this._reportUnboundName(e),!0}visitDel(e){return e.expressions.forEach((e=>{this._evaluator.verifyDeleteExpression(e),this.walk(e)})),!1}visitMemberAccess(e){return this._evaluator.getType(e),this._conditionallyReportPrivateUsage(e.memberName),this.walk(e.leftExpression),!1}visitImportAs(e){return this._evaluator.evaluateTypesForStatement(e),!1}visitImportFrom(e){if(e.isWildcardImport){const t=h.getImportInfo(e.module);t&&t.isImportFound&&2!==t.importType&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportWildcardImportFromLibrary,A.DiagnosticRule.reportWildcardImportFromLibrary,g.Localizer.Diagnostic.wildcardLibraryImport(),e.wildcardToken||e)}else e.imports.forEach((e=>{this._evaluator.evaluateTypesForStatement(e)}));return!1}visitTypeParameterList(e){return this._typeParameterLists.push(e),!0}visitTypeParameter(e){return!1}visitTypeAnnotation(e){return this._evaluator.getType(e.typeAnnotation),!0}visitMatch(e){return this._evaluator.getType(e.subjectExpression),this._validateExhaustiveMatch(e),!0}visitCase(e){return e.guardExpression&&this._evaluator.getType(e.guardExpression),this._evaluator.evaluateTypesForStatement(e.pattern),!0}visitPatternClass(e){return(0,T.validateClassPattern)(this._evaluator,e),!0}visitTry(e){return this._reportUnusedExceptStatements(e),!0}visitError(e){return e.child&&this._evaluator.getType(e.child),!1}_reportUnnecessaryConditionExpression(e){if(7===e.nodeType)return void(36!==e.operator&&37!==e.operator||(this._reportUnnecessaryConditionExpression(e.leftExpression),this._reportUnnecessaryConditionExpression(e.rightExpression)));if(55===e.nodeType)return void(38===e.operator&&this._reportUnnecessaryConditionExpression(e.expression));const t=this._evaluator.getTypeOfExpression(e);let n=!0;(0,k.doForEachSubtype)(t.type,(e=>{e=this._evaluator.makeTopLevelTypeVarsConcrete(e),(0,F.isFunction)(e)||(0,F.isOverloadedFunction)(e)||(n=!1)})),n&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,A.DiagnosticRule.reportUnnecessaryComparison,g.Localizer.Diagnostic.functionInConditionalExpression(),e)}_reportUnusedExpression(e){"none"!==this._fileInfo.diagnosticRuleSet.reportUnusedExpression&&[55,7,40,11,38].some((t=>t===e.nodeType))&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedExpression,A.DiagnosticRule.reportUnusedExpression,g.Localizer.Diagnostic.unusedExpression(),e)}_validateExhaustiveMatch(e){if("none"===this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive)return;const t=this._evaluator.evaluateTypeForSubnode(e,(()=>{this._evaluator.evaluateTypesForMatchStatement(e)}));if(t&&!(0,F.isNever)(t.type)){const n=new a.DiagnosticAddendum;n.addMessage(g.Localizer.DiagnosticAddendum.matchIsNotExhaustiveType().format({type:this._evaluator.printType(t.type)})),n.addMessage(g.Localizer.DiagnosticAddendum.matchIsNotExhaustiveHint()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive,A.DiagnosticRule.reportMatchNotExhaustive,g.Localizer.Diagnostic.matchIsNotExhaustive()+n.getString(),e.subjectExpression)}}_suppressUnboundCheck(e){const t=this._isUnboundCheckSuppressed;this._isUnboundCheckSuppressed=!0;try{e()}finally{this._isUnboundCheckSuppressed=t}}_validateIllegalDefaultParamInitializer(e){"none"!==this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer&&I.isWithinDefaultParamInitializer(e)&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer,A.DiagnosticRule.reportCallInDefaultInitializer,g.Localizer.Diagnostic.defaultValueContainsCall(),e)}_validateContainmentTypes(e){const t=this._evaluator.getType(e.leftExpression),n=this._evaluator.getType(e.rightExpression);if(!t||!n)return;if((0,F.isNever)(t)||(0,F.isNever)(n))return;const i=(0,b.getElementTypeForContainerNarrowing)(n);if(!i)return;const s=(0,b.narrowTypeForContainerElementType)(this._evaluator,t,this._evaluator.makeTopLevelTypeVarsConcrete(i));if((0,F.isNever)(s)){const n=()=>41===e.operator?g.Localizer.Diagnostic.containmentAlwaysFalse():g.Localizer.Diagnostic.containmentAlwaysTrue();this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryContains,A.DiagnosticRule.reportUnnecessaryContains,n().format({leftType:this._evaluator.printType(t,!0),rightType:this._evaluator.printType(i,!0)}),e)}}_validateComparisonTypes(e){let t=e.rightExpression;7===t.nodeType&&!t.parenthesized&&I.operatorSupportsChaining(t.operator)&&(t=t.leftExpression);const n=this._evaluator.getType(e.leftExpression),i=this._evaluator.getType(t);if(!n||!i)return;if((0,F.isNever)(n)||(0,F.isNever)(i))return;const s=()=>12===e.operator?g.Localizer.Diagnostic.comparisonAlwaysFalse():g.Localizer.Diagnostic.comparisonAlwaysTrue();if((0,k.isLiteralTypeOrUnion)(i)&&(0,k.isLiteralTypeOrUnion)(n)){if(void 0===(0,_.evaluateStaticBoolExpression)(e,this._fileInfo.executionEnvironment,this._fileInfo.definedConstants)){let t=!1;(0,k.doForEachSubtype)(n,(e=>{this._evaluator.assignType(i,e)&&(t=!0)})),t||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,A.DiagnosticRule.reportUnnecessaryComparison,s().format({leftType:this._evaluator.printType(n,!0),rightType:this._evaluator.printType(i,!0)}),e)}}else{let t=!1;if((0,k.doForEachSubtype)(n,(e=>{t||(e=this._evaluator.makeTopLevelTypeVarsConcrete(e),(0,k.doForEachSubtype)(i,(n=>{t||(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),this._isTypeComparable(e,n)&&(t=!0))})))})),!t){const t=this._evaluator.printType(n,!0),r=this._evaluator.printType(i,!0);this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,A.DiagnosticRule.reportUnnecessaryComparison,s().format({leftType:t,rightType:r}),e)}}}_isTypeComparable(e,t){if((0,F.isAnyOrUnknown)(e)||(0,F.isAnyOrUnknown)(t))return!0;if((0,F.isNever)(e)||(0,F.isNever)(t))return!1;if((0,F.isModule)(e)||(0,F.isModule)(t))return(0,F.isTypeSame)(e,t);if((0,F.isNoneInstance)(e)||(0,F.isNoneInstance)(t))return(0,F.isTypeSame)(e,t);if(((0,F.isFunction)(e)||(0,F.isOverloadedFunction)(e))!==((0,F.isFunction)(t)||(0,F.isOverloadedFunction)(t)))return!1;if((0,F.isInstantiableClass)(e)||(0,F.isClassInstance)(e)&&F.ClassType.isBuiltIn(e,"type")){if((0,F.isInstantiableClass)(t)||(0,F.isClassInstance)(t)&&F.ClassType.isBuiltIn(t,"type")){const n=F.ClassType.cloneForSpecialization(e,void 0,!1),i=F.ClassType.cloneForSpecialization(t,void 0,!1);if(this._evaluator.assignType(n,i)||this._evaluator.assignType(i,n))return!0}const n=e.details.effectiveMetaclass;return!!(n&&(0,F.isClass)(n)&&(0,k.lookUpClassMember)(n,"__eq__",4))}if((0,F.isClassInstance)(e)){if((0,F.isClassInstance)(t)){const n=F.ClassType.cloneForSpecialization(e,void 0,!1),i=F.ClassType.cloneForSpecialization(t,void 0,!1);if(this._evaluator.assignType(n,i)||this._evaluator.assignType(i,n))return!0;if(F.ClassType.isBuiltIn(e)&&F.ClassType.isBuiltIn(t))return!1}return!!(0,k.lookUpClassMember)(F.ClassType.cloneAsInstantiable(e),"__eq__",4)}return!0}_isTypeValidForUnusedValueTest(e){return!(0,F.isNoneInstance)(e)&&!(0,F.isNever)(e)&&!(0,F.isAnyOrUnknown)(e)}_validateFunctionTypeVarUsage(e,t){if("none"===this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse)return;const n=new Map,i=new Map;let s,r,o=!0;if(F.FunctionType.isInstanceMethod(t)&&"__init__"===e.name.value){const t=I.getEnclosingClassOrFunction(e);if(t&&10===t.nodeType){const e=this._evaluator.getTypeOfClass(t);e&&(0,F.isClass)(e.classType)&&(r=e.classType)}}const l=new I.NameNodeWalker(((t,a,A)=>{var l,c,p,g,u,d;const h=this._evaluator.getType(t);if(h&&(0,F.isTypeVar)(h)){if(h.scopeId===this._evaluator.getScopeIdForNode(e)){let e=h.details.constraints.length>0||o&&void 0!==h.details.boundType&&void 0!==a||(0,F.isParamSpec)(h);if(!e&&A&&void 0!==a){const t=this._evaluator.getType(A);(null==t?void 0:t.typeAliasInfo)&&t.typeAliasInfo.typeParameters&&a{const t=e.typeAnnotation||e.typeAnnotationComment;t&&(s=e,l.walk(t))})),s=void 0,e.returnTypeAnnotation&&(o=!1,l.walk(e.returnTypeAnnotation)),n.forEach((e=>{var n;1!==e.nodes.length||e.isExempt||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,A.DiagnosticRule.reportInvalidTypeVarUse,g.Localizer.Diagnostic.typeVarUsedOnlyOnce().format({name:e.nodes[0].value}),e.nodes[0]);let i=e.returnTypeUsageCount>0;if(1===e.returnTypeUsageCount&&t.details.declaredReturnType){const n=t.details.declaredReturnType;(0,F.isUnion)(n)&&n.subtypes.some((t=>(0,F.isTypeVar)(t)&&t.details.name===e.nodes[0].value))&&(i=!1)}if(i&&e.paramTypeWithEllipsisUsageCount>0&&e.paramTypeUsageCount===e.paramTypeWithEllipsisUsageCount){const t=new a.DiagnosticAddendum;t.addMessage(g.Localizer.DiagnosticAddendum.typeVarUnsolvableRemedy()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,A.DiagnosticRule.reportInvalidTypeVarUse,g.Localizer.Diagnostic.typeVarPossiblyUnsolvable().format({name:e.nodes[0].value,param:null!==(n=e.paramWithEllipsis)&&void 0!==n?n:""})+t.getString(),e.nodes[0])}})),i.forEach((e=>{var t;if(e.paramTypeWithEllipsisUsageCount>0&&e.paramTypeUsageCount===e.paramTypeWithEllipsisUsageCount){const n=new a.DiagnosticAddendum;n.addMessage(g.Localizer.DiagnosticAddendum.typeVarUnsolvableRemedy()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,A.DiagnosticRule.reportInvalidTypeVarUse,g.Localizer.Diagnostic.typeVarPossiblyUnsolvable().format({name:e.nodes[0].value,param:null!==(t=e.paramWithEllipsis)&&void 0!==t?t:""})+n.getString(),e.nodes[0])}}))}_validateOverloadConsistency(e,t,n){for(let i=0;i!n||!(0,F.isInstantiableClass)(n)||(0,k.derivesFromClassRecursive)(e,n,!1),s=new a.DiagnosticAddendum;let r;if((0,F.isAnyOrUnknown)(e))r=e;else if((0,F.isInstantiableClass)(e))i(e)||s.addMessage(g.Localizer.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),r=F.ClassType.cloneAsInstance(e);else if((0,F.isClassInstance)(e)){const n=this._evaluator.getTypeOfIterator(e,!1,t)||F.UnknownType.create();r=(0,k.mapSubtypes)(n,(t=>(0,F.isAnyOrUnknown)(t)?t:(0,F.isInstantiableClass)(t)?(i(t)||s.addMessage(g.Localizer.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),F.ClassType.cloneAsInstance(t)):(s.addMessage(g.Localizer.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),F.UnknownType.create())))}return s.isEmpty()||this._evaluator.addError(g.Localizer.Diagnostic.exceptionTypeNotClass().format({type:this._evaluator.printType(e,!1)}),t),r||F.UnknownType.create()}_reportUnusedDunderAllSymbols(e){if("none"===this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll)return;const t=h.getScope(this._moduleNode);t&&e.forEach((e=>{t.symbolTable.has(e.value)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,A.DiagnosticRule.reportUnsupportedDunderAll,g.Localizer.Diagnostic.dunderAllSymbolNotPresent().format({name:e.value}),e)}))}_validateSymbolTables(){for(const e of this._scopedNodes){const t=h.getScope(e);t&&t.symbolTable.forEach(((e,n)=>{this._conditionallyReportUnusedSymbol(n,e,t.type),this._reportIncompatibleDeclarations(n,e),this._reportMultipleFinalDeclarations(n,e,t.type),this._reportMultipleTypeAliasDeclarations(n,e),this._reportInvalidOverload(n,e)}))}const e=this._fileInfo.accessedSymbolSet;for(const t of this._typeParameterLists)for(const n of t.parameters){const t=h.getTypeParameterSymbol(n.name);(0,o.assert)(t),e.has(t.id)||t.getDeclarations().forEach((e=>{this._conditionallyReportUnusedDeclaration(e,!1)}))}}_reportInvalidOverload(e,t){const n=t.getTypedDeclarations();if(n.length>=1){const i=n[0];if(5===i.type){const n=this._evaluator.getEffectiveTypeOfSymbol(t),s=(0,F.isOverloadedFunction)(n)?F.OverloadedFunctionType.getOverloads(n):(0,F.isFunction)(n)&&F.FunctionType.isOverloaded(n)?[n]:[];if(1===s.length&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.singleOverload().format({name:e}),i.node.name),s.forEach((t=>{if(t.details.declaration&&!I.isFunctionSuiteEmpty(t.details.declaration.node)){const n=new a.DiagnosticAddendum;n.addMessage(g.Localizer.DiagnosticAddendum.overloadWithImplementation()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.overloadWithImplementation().format({name:e})+n.getString(),t.details.declaration.node.name)}})),!this._fileInfo.isStubFile&&s.length>0){let t;if((0,F.isOverloadedFunction)(n)&&F.OverloadedFunctionType.getImplementation(n)?t=F.OverloadedFunctionType.getImplementation(n):(0,F.isFunction)(n)&&!F.FunctionType.isOverloaded(n)&&(t=n),t)(0,F.isOverloadedFunction)(n)&&F.OverloadedFunctionType.getOverloads(n).forEach(((n,s)=>{var r,o,l,c;const p=new a.DiagnosticAddendum;if(!this._isLegalOverloadImplementation(n,t,p)&&t.details.declaration){const a=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.overloadImplementationMismatch().format({name:e,index:s+1})+p.getString(),t.details.declaration.node.name);a&&n.details.declaration&&a.addRelatedInfo(g.Localizer.DiagnosticAddendum.overloadSignature(),null!==(o=null===(r=n.details.declaration)||void 0===r?void 0:r.path)&&void 0!==o?o:i.path,null!==(c=null===(l=n.details.declaration)||void 0===l?void 0:l.range)&&void 0!==c?c:i.range)}}));else{let e=!1;const t=I.getEnclosingClassOrFunction(i.node);if(t&&10===t.nodeType){const n=this._evaluator.getTypeOfClass(t);n&&F.ClassType.isProtocolClass(n.classType)&&(e=!0)}e||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.overloadWithoutImplementation().format({name:i.node.name.value}),i.node.name)}}}}}_reportMultipleFinalDeclarations(e,t,n){if(!(0,D.isFinalVariable)(t))return;const i=t.getDeclarations();let s=!1,r=!1;if(i.forEach((t=>{(0,m.isFinalVariableDeclaration)(t)&&(s&&this._evaluator.addError(g.Localizer.Diagnostic.finalRedeclaration().format({name:e}),t.node),s=!0),1===t.type&&t.inferredTypeSource&&(r&&2!==n&&this._evaluator.addError(g.Localizer.Diagnostic.finalReassigned().format({name:e}),t.node),r=!0)})),!r&&!this._fileInfo.isStubFile){const n=i.find((e=>1===e.type&&e.isFinal));if(n){let i=!1;if(t.isClassMember()&&!t.isClassVar()){const e=I.getEnclosingClass(n.node,!0);if(e){const t=this._evaluator.getTypeOfClass(e);t&&(0,F.isClass)(t.decoratedType)&&F.ClassType.isDataClass(t.decoratedType)&&(i=!0)}}i||this._evaluator.addError(g.Localizer.Diagnostic.finalUnassigned().format({name:e}),n.node)}}}_reportMultipleTypeAliasDeclarations(e,t){const n=t.getDeclarations(),i=n.find((e=>(0,m.isExplicitTypeAliasDeclaration)(e)));i&&n.length>1&&n.forEach((t=>{t!==i&&this._evaluator.addError(g.Localizer.Diagnostic.typeAliasRedeclared().format({name:e}),t.node)}))}_reportIncompatibleDeclarations(e,t){const n=(0,D.getLastTypedDeclaredForSymbol)(t);if(!n)return;if("_"===e)return;let i,s=t.getDeclarations().filter((e=>e!==n));if(5===n.type){const e=this._evaluator.getTypeOfFunction(n.node);s=s.filter((t=>{if(5!==t.type)return!0;const n=this._evaluator.getTypeOfFunction(t.node);if(!n)return!0;const i=e?this._evaluator.makeTopLevelTypeVarsConcrete(e.decoratedType):void 0;return i&&(0,F.isClassInstance)(i)&&F.ClassType.isPropertyClass(i)&&(0,F.isClassInstance)(n.decoratedType)&&F.ClassType.isPropertyClass(n.decoratedType)?n.decoratedType.details.typeSourceId!==i.details.typeSourceId:!F.FunctionType.isOverloaded(n.functionType)}))}if(0===s.length)return;i=5===n.type?n.isMethod?g.Localizer.DiagnosticAddendum.seeMethodDeclaration():g.Localizer.DiagnosticAddendum.seeFunctionDeclaration():6===n.type?g.Localizer.DiagnosticAddendum.seeClassDeclaration():2===n.type?g.Localizer.DiagnosticAddendum.seeParameterDeclaration():1===n.type?g.Localizer.DiagnosticAddendum.seeVariableDeclaration():4===n.type?g.Localizer.DiagnosticAddendum.seeTypeAliasDeclaration():g.Localizer.DiagnosticAddendum.seeDeclaration();const r=e=>{if(e){let t;5===n.type||6===n.type?t=n.node.name:1===n.type?38===n.node.nodeType&&(t=n.node):2!==n.type&&3!==n.type||n.node.name&&(t=n.node.name),t&&e.addRelatedInfo(i,n.path,n.range)}};for(const t of s)if(6===t.type){let i=!1;3===n.type&&(i=!0),i||r(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.obscuredClassDeclaration().format({name:e}),t.node.name))}else if(5===t.type){const i=this._evaluator.getTypeForDeclaration(n);let s=!1;i&&(0,F.isFunction)(i)&&this._evaluator.getFunctionInferredReturnType(i);const o=this._evaluator.getTypeForDeclaration(t),a=I.getEnclosingSuite(n.node)===I.getEnclosingSuite(t.node);o&&(0,F.isFunction)(o)&&this._evaluator.getFunctionInferredReturnType(o),!a&&i&&o&&(0,F.isTypeSame)(i,o)&&(s=!0),3===n.type&&(s=!0),s||r(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,t.isMethod?g.Localizer.Diagnostic.obscuredMethodDeclaration().format({name:e}):g.Localizer.Diagnostic.obscuredFunctionDeclaration().format({name:e}),t.node.name))}else if(2===t.type){if(t.node.name){let i=!1;if(3===n.type&&(i=!0),!i){const n=g.Localizer.Diagnostic.obscuredParameterDeclaration();r(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,n.format({name:e}),t.node.name))}}}else if(1===t.type){const i=this._evaluator.getTypeForDeclaration(n);if(t.typeAnnotationNode&&38===t.node.nodeType){let s=!1;const o=this._evaluator.getTypeForDeclaration(t);i&&o&&(0,F.isTypeSame)(i,o)&&(s=!0),3===n.type&&(s=!0),s||r(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}else 4===t.type&&r(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.obscuredTypeAliasDeclaration().format({name:e}),t.node.name))}_conditionallyReportUnusedSymbol(e,t,n){const i=this._fileInfo.accessedSymbolSet;t.isIgnoredForProtocolMatch()||i.has(t.id)||this._fileInfo.ipythonMode===v.IPythonMode.CellDocs||"_"!==e&&(w.isDunderName(e)||t.getDeclarations().forEach((t=>{this._conditionallyReportUnusedDeclaration(t,this._isSymbolPrivate(e,n))})))}_conditionallyReportUnusedDeclaration(e,t){let n,i,s,r;switch(e.type){case 8:if(n=this._fileInfo.diagnosticRuleSet.reportUnusedImport,r=A.DiagnosticRule.reportUnusedImport,21===e.node.nodeType)if(e.node.alias)this._fileInfo.isStubFile||(i=e.node.alias);else{const t=e.node.module.nameParts;if(t.length>0){const e=t.map((e=>e.value)).join("."),n={start:t[0].start,length:t[0].length};return p.TextRange.extend(n,t[t.length-1]),this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(g.Localizer.Diagnostic.unaccessedSymbol().format({name:e}),n,{action:"pyright.unusedImport"}),void this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportUnusedImport,A.DiagnosticRule.reportUnusedImport,g.Localizer.Diagnostic.unaccessedImport().format({name:e}),n)}}else if(23===e.node.nodeType){const t=e.node.parent,n=this._fileInfo.isStubFile&&void 0!==e.node.alias,s=1===t.module.nameParts.length&&"__future__"===t.module.nameParts[0].value;n||s||(i=e.node.alias||e.node.name)}i&&(s=g.Localizer.Diagnostic.unaccessedImport().format({name:i.value}));break;case 4:case 1:case 2:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedVariable,38===e.node.nodeType?(i=e.node,i.value.startsWith("_")&&(n="none")):41===e.node.nodeType&&(i=e.node.name,n="none"),i&&(r=A.DiagnosticRule.reportUnusedVariable,s=g.Localizer.Diagnostic.unaccessedVariable().format({name:i.value}));break;case 6:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedClass,i=e.node.name,r=A.DiagnosticRule.reportUnusedClass,s=g.Localizer.Diagnostic.unaccessedClass().format({name:i.value});break;case 5:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedFunction,i=e.node.name,r=A.DiagnosticRule.reportUnusedFunction,s=g.Localizer.Diagnostic.unaccessedFunction().format({name:i.value});break;case 3:n="none",i=e.node.name;break;case 0:case 7:return;default:(0,o.assertNever)(e)}const a=r===A.DiagnosticRule.reportUnusedImport?{action:"pyright.unusedImport"}:void 0;i&&(this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(g.Localizer.Diagnostic.unaccessedSymbol().format({name:i.value}),i,a),void 0!==r&&s&&this._evaluator.addDiagnostic(n,r,s,i))}_validateIsInstanceCall(e){if(38!==e.leftExpression.nodeType||"isinstance"!==e.leftExpression.value&&"issubclass"!==e.leftExpression.value||2!==e.arguments.length)return;const t=e.leftExpression.value,n="isinstance"===t;let i=this._evaluator.getType(e.arguments[0].valueExpression);if(!i)return;i=(0,k.mapSubtypes)(i,(e=>(0,k.transformPossibleRecursiveTypeAlias)(e)));const s=this._evaluator.getType(e.arguments[1].valueExpression);if(!s)return;let r=!0;if((0,k.doForEachSubtype)(s,(e=>{(0,F.isClassInstance)(e)&&F.ClassType.isTupleClass(e)&&e.tupleTypeArguments?e.tupleTypeArguments.some((e=>!this._isTypeSupportedTypeForIsInstance(e.type,n)))&&(r=!1):this._isTypeSupportedTypeForIsInstance(e,n)||(r=!1)})),!r){const t=new a.DiagnosticAddendum;t.addMessage(g.Localizer.DiagnosticAddendum.typeVarNotAllowed()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,n?g.Localizer.Diagnostic.isInstanceInvalidType().format({type:this._evaluator.printType(s,!1)})+t.getString():g.Localizer.Diagnostic.isSubclassInvalidType().format({type:this._evaluator.printType(s,!1)})+t.getString(),e.arguments[1])}let o=e;for(;o;){if(2===o.nodeType)return;o=o.parent}const l=["FunctionType","LambdaType","BuiltinFunctionType","BuiltinMethodType","type","Type"],c=[];let p=!1;if((0,k.doForEachSubtype)(s,(e=>{(0,F.isClass)(e)?F.TypeBase.isInstantiable(e)?void 0===e.literalValue&&(c.push(e),F.ClassType.isBuiltIn(e)&&l.some((t=>t===e.details.name))&&(r=!1),e.includeSubclasses&&(p=!0)):((0,k.isTupleClass)(e)?e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{(0,F.isInstantiableClass)(e.type)?(c.push(e.type),e.type.includeSubclasses&&(p=!0)):r=!1})):e.includeSubclasses&&(p=!0),F.ClassType.isBuiltIn(e)&&l.some((t=>t===e.details.name))&&(r=!1)):r=!1})),!r)return;if(c.some((e=>F.ClassType.isProtocolClass(e)&&!F.ClassType.isRuntimeCheckable(e)))&&this._evaluator.addError(g.Localizer.Diagnostic.protocolUsedInCall().format({name:t}),e.arguments[1].valueExpression),(0,k.derivesFromAnyOrUnknown)(i))return;const u=e=>(0,F.combineTypes)(e),d=e=>{const t=[];for(const i of c){const s=(0,b.isIsinstanceFilterSuperclass)(this._evaluator,e,i,i,n),r=(0,b.isIsinstanceFilterSubclass)(this._evaluator,e,i,i,n);r&&r&&!F.ClassType.isSameGenericClass(e,i)?t.push(F.UnknownType.create()):s?t.push(e):r&&t.push(i)}return n?t.map((e=>(0,F.isInstantiableClass)(e)?F.ClassType.cloneAsInstance(e):e)):t};let h;if(n&&(0,F.isClassInstance)(i))h=u(d(F.ClassType.cloneAsInstantiable(i)));else if(!n&&(0,F.isInstantiableClass)(i))h=u(d(i));else{if(!(0,F.isUnion)(i))return;{let e=[],t=!1;if((0,k.doForEachSubtype)(i,(i=>{(0,F.isAnyOrUnknown)(i)&&(t=!0),n&&(0,F.isClassInstance)(i)?e=e.concat(d(F.ClassType.cloneAsInstantiable(i))):!n&&(0,F.isInstantiableClass)(i)&&(e=e.concat(d(i)))})),h=u(e),t)return}}const C=()=>{const e=c.map((e=>F.ClassType.cloneAsInstance(e)));return(0,F.combineTypes)(e)};!p&&(0,F.isTypeSame)(h,i,{ignorePseudoGeneric:!0})&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryIsInstance,A.DiagnosticRule.reportUnnecessaryIsInstance,n?g.Localizer.Diagnostic.unnecessaryIsInstanceAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(C(),!1)}):g.Localizer.Diagnostic.unnecessaryIsSubclassAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(C(),!1)}),e)}_isTypeSupportedTypeForIsInstance(e,t){let n=!0;return(0,k.doForEachSubtype)(e,(e=>{switch((e=this._evaluator.makeTopLevelTypeVarsConcrete(e)).category){case 2:case 1:case 0:break;case 7:e.isTypeArgumentExplicit&&!e.includeSubclasses&&(n=!1);break;case 3:n=!!t&&F.TypeBase.isInstantiable(e);break;case 5:n=F.TypeBase.isInstantiable(e);break;case 9:n=this._isTypeSupportedTypeForIsInstance(e,t);break;default:n=!1}})),n}_isSymbolPrivate(e,t){return 1===t||0===t||(!!w.isPrivateName(e)||!!w.isProtectedName(e)&&!(2===t))}_reportDeprecatedUse(e){var t;const n=null!==(t=P.get(e.value))&&void 0!==t?t:x.get(e.value);if(!n)return;const i=this._evaluator.getType(e);i&&(0,F.isInstantiableClass)(i)&&i.details.fullName===n.fullName&&this._fileInfo.executionEnvironment.pythonVersion>=n.version&&this._evaluator.addDeprecated(g.Localizer.Diagnostic.deprecatedType().format({version:(0,c.versionToString)(n.version),replacement:n.replacementText}),e)}_reportUnboundName(e){if("none"!==this._fileInfo.diagnosticRuleSet.reportUnboundVariable&&!h.isCodeUnreachable(e)){const t=this._evaluator.getType(e);t&&((0,F.isUnbound)(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,A.DiagnosticRule.reportUnboundVariable,g.Localizer.Diagnostic.symbolIsUnbound().format({name:e.value}),e):(0,F.isPossiblyUnbound)(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,A.DiagnosticRule.reportUnboundVariable,g.Localizer.Diagnostic.symbolIsPossiblyUnbound().format({name:e.value}),e))}}_conditionallyReportPrivateUsage(e){var t;if("none"===this._fileInfo.diagnosticRuleSet.reportPrivateUsage)return;if(this._fileInfo.isStubFile)return;if(1===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e)return;const n=e.value,i=w.isPrivateName(n),s=w.isProtectedName(n);if(!i&&!s)return;const r=this._evaluator.getDeclarationsForNameNode(e);let o,a=r&&r.length>0?r[r.length-1]:void 0;if(!a||a.node===e)return;if(8===a.type){if(a.usesLocalName)return;const e=this._evaluator.resolveAliasDeclarationWithInfo(a,!0);if(!e)return;if(a=e.declaration,!e.isPrivate)return}if(!a||a.node===e)return;a.node&&(o=I.getEnclosingClass(a.node)),a.node&&a.node.parent&&a.node.parent===o&&(o=I.getEnclosingClass(o));let l=!1;if(o&&s){const t=this._evaluator.getTypeOfClass(o);if(t&&(0,F.isInstantiableClass)(t.decoratedType)){if(F.ClassType.isDefinedInStub(t.decoratedType))return;l=!0;const n=I.getEnclosingClass(e);if(n){const e=this._evaluator.getTypeOfClass(n);if(e&&(0,F.isInstantiableClass)(e.decoratedType)&&(0,k.derivesFromClassRecursive)(e.decoratedType,t.decoratedType,!0))return}}}o&&!I.isNodeContainedWithin(e,o)&&(l?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,A.DiagnosticRule.reportPrivateUsage,g.Localizer.Diagnostic.protectedUsedOutsideOfClass().format({name:n}),e):this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,A.DiagnosticRule.reportPrivateUsage,g.Localizer.Diagnostic.privateUsedOutsideOfClass().format({name:n}),e))}_validateEnumClassOverride(e,t){t.details.baseClasses.forEach(((t,n)=>{if((0,F.isClass)(t)&&F.ClassType.isEnumClass(t)){let i=!1;t.details.fields.forEach((e=>{const n=this._evaluator.getEffectiveTypeOfSymbol(e);(0,F.isClassInstance)(n)&&F.ClassType.isSameGenericClass(n,t)&&(i=!0)})),i&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.enumClassOverride().format({name:t.details.name}),e.arguments[n])}}))}_validateTypedDictClassSuite(e){const t=e=>{this._evaluator.addError(g.Localizer.Diagnostic.typedDictBadVar(),e)};e.statements.forEach((e=>{if(!h.isCodeUnreachable(e))if(47===e.nodeType)for(const n of e.statements)54!==n.nodeType&&18!==n.nodeType&&48!==n.nodeType&&42!==n.nodeType&&t(n);else t(e)}))}_validateStrictTypeGuardFunction(e,t,n){var i;if(!t.details.declaredReturnType)return;if(!(0,F.isClassInstance)(t.details.declaredReturnType)||!F.ClassType.isBuiltIn(t.details.declaredReturnType,"StrictTypeGuard")||!t.details.declaredReturnType.typeArguments||t.details.declaredReturnType.typeArguments.length<1)return;const s=t.details.declaredReturnType.typeArguments[0],r=n&&!F.FunctionType.isStaticMethod(t)?1:0;if(r>=t.details.parameters.length)return;const o=F.FunctionType.getEffectiveParameterType(t,r);if(!this._evaluator.assignType(o,s)){const t=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation);t&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.strictTypeGuardReturnType().format({type:this._evaluator.printType(o),returnType:this._evaluator.printType(s)}),t)}}_validateDunderSignatures(e,t,n){var i;const s=t.details.name;if(n&&"__init__"===s){const n=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation),s=t.details.declaredReturnType;if(n&&s)(0,F.isNoneInstance)(s)||(0,F.isNever)(s)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.initMustReturnNone(),n);else{const n=this._evaluator.getFunctionInferredReturnType(t);(0,F.isNever)(n)||(0,F.isNoneInstance)(n)||(0,F.isAnyOrUnknown)(n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.initMustReturnNone(),e.name)}}}_validateFunctionReturn(e,t){var n;if(this._fileInfo.isStubFile)return;const i=e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation);if(i){const n=!this._evaluator.isAfterNodeReachable(e),s=this._evaluator.isAfterNodeReachable(e.suite);let r=t.details.declaredReturnType;if(r){(0,F.isUnknown)(r)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,A.DiagnosticRule.reportUnknownVariableType,g.Localizer.Diagnostic.declaredReturnTypeUnknown(),i):(0,k.isPartlyUnknown)(r)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,A.DiagnosticRule.reportUnknownVariableType,g.Localizer.Diagnostic.declaredReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(r,!0)}),i);const e=new a.DiagnosticAddendum;(0,F.isTypeVar)(r)&&4===r.details.declaredVariance&&(e.addMessage(g.Localizer.DiagnosticAddendum.typeVarIsContravariant().format({name:F.TypeVarType.getReadableName(r)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.returnTypeContravariant()+e.getString(),i))}if(F.FunctionType.isGenerator(t)&&(r=(0,k.getDeclaredGeneratorReturnType)(t)),r&&!n&&s)if((0,F.isNever)(r))I.isSuiteEmpty(e.suite)||F.FunctionType.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.noReturnReturnsNone(),i);else if(!F.FunctionType.isAbstractMethod(t)){const n=new a.DiagnosticAddendum;this._evaluator.assignType(r,F.NoneType.createInstance(),n)||I.isSuiteEmpty(e.suite)||F.FunctionType.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.returnMissing().format({returnType:this._evaluator.printType(r,!1)})+n.getString(),i)}}else{const n=this._evaluator.getFunctionInferredReturnType(t);(0,F.isUnknown)(n)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,A.DiagnosticRule.reportUnknownParameterType,g.Localizer.Diagnostic.returnTypeUnknown(),e.name):(0,k.isPartlyUnknown)(n)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,A.DiagnosticRule.reportUnknownParameterType,g.Localizer.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(n,!0)}),e.name)}}_validateFinalMemberOverrides(e){e.details.fields.forEach(((t,n)=>{const i=(0,k.lookUpClassMember)(e,n,1);if(i&&(0,F.isInstantiableClass)(i.classType)&&(0,D.isFinalVariable)(i.symbol)&&!w.isPrivateName(n)){const e=t.getDeclarations()[0];this._evaluator.addError(g.Localizer.Diagnostic.finalRedeclarationBySubclass().format({name:n,className:i.classType.details.name}),e.node)}}))}_reportDuplicateEnumMembers(e){F.ClassType.isEnumClass(e)&&!F.ClassType.isBuiltIn(e)&&e.details.fields.forEach(((t,n)=>{if(t.getTypedDeclarations().length>0)return;const i=t.getDeclarations();if(i.length>=2&&1===i[0].type){const s=this._evaluator.getEffectiveTypeOfSymbol(t);(0,F.isClassInstance)(s)&&F.ClassType.isSameGenericClass(s,e)&&void 0!==s.literalValue&&this._evaluator.addError(g.Localizer.Diagnostic.duplicateEnumMember().format({name:n}),i[1].node)}}))}_validateProtocolCompatibility(e,t){if(F.ClassType.isProtocolClass(e))return;const n=new a.DiagnosticAddendum,i=t=>e.details.mro.some((e=>(0,F.isClass)(e)&&!F.ClassType.isProtocolClass(e)&&e.details.fields.has(t)));e.details.baseClasses.forEach((e=>{(0,F.isClass)(e)&&F.ClassType.isProtocolClass(e)&&(0,k.getProtocolSymbols)(e).forEach(((e,t)=>{const s=e.symbol.getDeclarations();0!==s.length&&(0,F.isClass)(e.classType)&&(1===s[0].type?s.some((e=>1===e.type&&!!e.inferredTypeSource))||i(t)||n.addMessage(g.Localizer.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name})):5===s[0].type&&I.isSuiteEmpty(s[0].node.suite)&&s[0]&&".pyi"!==(0,l.getFileExtension)(s[0].path).toLowerCase()&&(i(t)||n.addMessage(g.Localizer.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name}))))}))})),n.isEmpty()||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.missingProtocolMembers()+n.getString(),t.name)}_validateDataClassPostInit(e,t){if(!F.ClassType.isDataClass(e))return;const n=(0,k.lookUpClassMember)(e,"__post_init__",18);if(!n)return;if(F.ClassType.derivesFromAnyOrUnknown(e))return;const i=new Map;F.ClassType.getReverseMro(e).forEach((e=>{(0,F.isClass)(e)&&F.ClassType.isDataClass(e)&&e.details.fields.forEach(((e,t)=>{e.isInitVar()&&i.set(t,e)}))}));const s=this._evaluator.getTypeOfMember(n);if(!(0,F.isFunction)(s)||!F.FunctionType.isInstanceMethod(s)||!s.details.declaration)return;const r=(0,k.getParameterListDetails)(s);if(void 0!==r.argsIndex||void 0!==r.kwargsIndex||void 0!==r.firstKeywordOnlyIndex)return;const o=r.params.filter((e=>!e.param.hasDefault)),l=i.size+1;(lr.params.length)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.dataClassPostInitParamCount().format({expected:i.size}),s.details.declaration.node.name);let c=1;i.forEach(((e,t)=>{if(c>=r.params.length)return;const n=r.params[c].param;if(n.hasDeclaredType&&n.typeAnnotation){const i=this._evaluator.getDeclaredTypeOfSymbol(e),o=F.FunctionType.getEffectiveParameterType(s,r.params[c].index),l=new a.DiagnosticAddendum;if(i&&!this._evaluator.assignType(o,i,l)){const i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.dataClassPostInitType().format({fieldName:t})+l.getString(),n.typeAnnotation);if(i){const t=e.getTypedDeclarations();t.length>0&&i.addRelatedInfo(g.Localizer.DiagnosticAddendum.dataClassFieldLocation(),t[0].path,t[0].range)}}}c++}))}_validateFinalClassNotAbstract(e,t){if(!F.ClassType.isFinal(e))return;if(!F.ClassType.supportsAbstractMethods(e))return;const n=this._evaluator.getAbstractMethods(e);if(0===n.length)return;const i=new a.DiagnosticAddendum;n.forEach(((e,t)=>{if(2===t)i.addMessage(g.Localizer.DiagnosticAddendum.memberIsAbstractMore().format({count:n.length-2}));else if(t<2&&(0,F.isInstantiableClass)(e.classType)){const t=e.classType.details.name;i.addMessage(g.Localizer.DiagnosticAddendum.memberIsAbstract().format({type:t,name:e.symbolName}))}})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.finalClassIsAbstract().format({type:e.details.name})+i.getString(),t.name)}_validateInstanceVariableInitialization(e){"none"!==this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable&&(F.ClassType.isProtocolClass(e)||e.details.fields.forEach(((t,n)=>{if(!t.isInstanceMember())return;const i=t.getDeclarations();i.find((t=>{var n,i,s;const r=I.getEnclosingClassOrFunction(t.node);if(!r)return!0;if(10===r.nodeType){if(3===(null===(n=t.node.parent)||void 0===n?void 0:n.nodeType))return!0;if(54===(null===(i=t.node.parent)||void 0===i?void 0:i.nodeType)&&3===(null===(s=t.node.parent.parent)||void 0===s?void 0:s.nodeType))return!0;if(F.ClassType.isDataClass(e))return!0;if(F.ClassType.isTypedDictClass(e))return!0}return"__init__"===r.name.value}))||(0,k.lookUpClassMember)(e,n,1)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable,A.DiagnosticRule.reportUninitializedInstanceVariable,g.Localizer.Diagnostic.uninitializedInstanceVariable().format({name:n}),i[0].node)})))}_validateProtocolTypeParamVariance(e,t){if(0===t.details.typeParameters.length)return;const n=this._evaluator.getBuiltInType(e,"object");if(!(0,F.isInstantiableClass)(n))return;const i=t.details.typeParameters.map((e=>F.TypeVarType.cloneAsInvariant(e))),s=F.ClassType.cloneWithNewTypeParameters(t,i),r=F.ClassType.cloneAsInstance(n),o=F.ClassType.createInstantiable("__varianceDummy","","","",0,0,void 0,void 0);i.forEach(((n,a)=>{if(n.details.isVariadic||n.details.isParamSpec)return;if(0===n.details.declaredVariance)return;const l=i.map(((e,t)=>e.details.isVariadic?e:t===a?r:o)),c=i.map(((e,t)=>t===a||e.details.isVariadic?e:o)),p=F.ClassType.cloneForSpecialization(s,l,!0),u=F.ClassType.cloneForSpecialization(s,c,!0);let d;if(d=this._evaluator.assignClassToSelf(p,u)?3:this._evaluator.assignClassToSelf(u,p)?4:2,d!==t.details.typeParameters[a].details.declaredVariance){let i;i=3===d?g.Localizer.Diagnostic.protocolVarianceCovariant().format({variable:n.details.name,class:t.details.name}):4===d?g.Localizer.Diagnostic.protocolVarianceContravariant().format({variable:n.details.name,class:t.details.name}):g.Localizer.Diagnostic.protocolVarianceInvariant().format({variable:n.details.name,class:t.details.name}),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,A.DiagnosticRule.reportInvalidTypeVarUse,i,e.name)}}))}_validateSlotsClassVarConflict(e){e.details.localSlotsNames&&(F.ClassType.isDataClass(e)||e.details.fields.forEach(((e,t)=>{const n=e.getDeclarations();n.some((e=>1===e.type&&e.isDefinedBySlots))&&n.forEach((e=>{1!==e.type||e.isDefinedBySlots||e.isDefinedByMemberAccess||38===e.node.nodeType&&I.isWriteAccess(e.node)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.slotsClassVarConflict().format({name:t}),e.node)}))})))}_validateConstructorConsistency(e){const t=(0,k.lookUpClassMember)(e,"__init__",12),n=(0,k.lookUpClassMember)(e,"__new__",12);if(!(t&&n&&(0,F.isClass)(t.classType)&&(0,F.isClass)(n.classType)))return;if(!F.ClassType.isSameGenericClass(n.classType,e)&&!F.ClassType.isSameGenericClass(t.classType,e))return;const i=n.classType.details.effectiveMetaclass;if(i&&(0,F.isClass)(i)&&!F.ClassType.isBuiltIn(i,"type")&&(0,k.lookUpClassMember)(i,"__call__",40))return;let s=this._evaluator.getTypeOfMember(n);if(!(0,F.isFunction)(s)&&!(0,F.isOverloadedFunction)(s))return;if(s=this._evaluator.bindFunctionToClassOrObject(e,s,void 0,void 0,void 0,!0),!s)return;if((0,F.isOverloadedFunction)(s)&&(s=F.OverloadedFunctionType.getImplementation(s),!s))return;let r=this._evaluator.getTypeOfMember(t);if(((0,F.isFunction)(r)||(0,F.isOverloadedFunction)(r))&&(r=this._evaluator.bindFunctionToClassOrObject(F.ClassType.cloneAsInstance(e),r),r&&(!(0,F.isOverloadedFunction)(r)||(r=F.OverloadedFunctionType.getImplementation(r),r))&&(0,F.isFunction)(r)&&(0,F.isFunction)(s)&&!(F.FunctionType.hasDefaultParameters(r)||F.FunctionType.hasDefaultParameters(s)||(r=F.FunctionType.cloneWithNewFlags(r,98304|r.details.flags),s=F.FunctionType.cloneWithNewFlags(s,98304|r.details.flags),this._evaluator.assignType(s,r,void 0,void 0,void 0,32)&&this._evaluator.assignType(r,s,void 0,void 0,void 0,32))))){const i=F.ClassType.isSameGenericClass(t.classType,e),o=(0,D.getLastTypedDeclaredForSymbol)(t.symbol),l=(0,D.getLastTypedDeclaredForSymbol)(n.symbol);if(o&&l){const e=i?o:l,c=28===e.node.nodeType?e.node.name:e.node,p=new a.DiagnosticAddendum,u=this._evaluator.printType(r),d=this._evaluator.printType(s);p.addMessage(g.Localizer.DiagnosticAddendum.initMethodSignature().format({type:u})),p.addMessage(g.Localizer.DiagnosticAddendum.newMethodSignature().format({type:d}));const h=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInconsistentConstructor,A.DiagnosticRule.reportInconsistentConstructor,g.Localizer.Diagnostic.constructorParametersMismatch().format({classType:this._evaluator.printType(F.ClassType.cloneAsInstance(i?t.classType:n.classType))})+p.getString(),c);if(h){const e=i?l:o;h.addRelatedInfo((i?g.Localizer.DiagnosticAddendum.newMethodLocation():g.Localizer.DiagnosticAddendum.initMethodLocation()).format({type:this._evaluator.printType(F.ClassType.cloneAsInstance(i?n.classType:t.classType))}),e.path,e.range)}}}}_validateMultipleInheritanceCompatibility(e,t){if("none"===this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride&&"none"===this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride)return;const n=[];if(e.details.baseClasses.forEach((e=>{!(0,F.isClass)(e)||F.ClassType.isBuiltIn(e,"Generic")||F.ClassType.isBuiltIn(e,"Protocol")||n.push(e)})),n.length<2)return;const i=n.map((t=>{const n=e.details.mro.find((e=>(0,F.isClass)(e)&&F.ClassType.isSameGenericClass(e,t)));return n&&(0,F.isClass)(n)?(0,k.getClassFieldsRecursive)(n):new Map}));for(let s=1;s0&&(p=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,A.DiagnosticRule.reportIncompatibleVariableOverride,g.Localizer.Diagnostic.baseClassVariableTypeIncompatible().format({classType:n.details.name,name:i}),o)):"none"!==this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride&&((0,F.isAnyOrUnknown)(l)||(0,F.isAnyOrUnknown)(u)||(0,F.isTypeSame)(l,u)||(p=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,A.DiagnosticRule.reportIncompatibleVariableOverride,g.Localizer.Diagnostic.baseClassVariableTypeIncompatible().format({classType:n.details.name,name:i}),o)));p&&d&&h&&(p.addRelatedInfo(g.Localizer.DiagnosticAddendum.baseClassProvidesType().format({baseClass:this._evaluator.printType((0,k.convertToInstance)(s)),type:this._evaluator.printType(u)}),d.path,d.range),p.addRelatedInfo(g.Localizer.DiagnosticAddendum.baseClassProvidesType().format({baseClass:this._evaluator.printType((0,k.convertToInstance)(r)),type:this._evaluator.printType(l)}),h.path,h.range))}_validateBaseClassOverrides(e){e.details.fields.forEach(((t,n)=>{if(w.isPrivateName(n))return;if(!t.hasTypedDeclarations()&&!(0,D.isFinalVariable)(t))return;const i=this._evaluator.getEffectiveTypeOfSymbol(t);if(!(0,F.isAnyOrUnknown)(i))for(const s of e.details.baseClasses){if(!(0,F.isClass)(s))continue;const r=e.details.mro.find((e=>(0,F.isClass)(e)&&F.ClassType.isSameGenericClass(e,s)));if(!r)continue;const o=(0,k.lookUpClassMember)(r,n,0);o&&this._validateBaseClassOverride(o,t,i,e,n)}}))}_validateBaseClassOverride(e,t,n,i,s){if(!(0,F.isInstantiableClass)(e.classType))return;if(!e.symbol.hasTypedDeclarations())return;if("_"===s)return;const r=(0,k.partiallySpecializeType)(this._evaluator.getEffectiveTypeOfSymbol(e.symbol),e.classType);if((0,F.isFunction)(r)||(0,F.isOverloadedFunction)(r)){const i=new a.DiagnosticAddendum;if((0,F.isFunction)(n)||(0,F.isOverloadedFunction)(n)){const o=["__init__","__new__","__init_subclass__"],a=!w.isDunderName(s);if(!o.some((e=>e===s))&&!w.isPrivateName(s)&&!this._evaluator.validateOverrideMethod(r,n,i,a)){const r=(0,F.isFunction)(n)&&n.details.declaration?n.details.declaration:(0,D.getLastTypedDeclaredForSymbol)(t);if(r){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,A.DiagnosticRule.reportIncompatibleMethodOverride,g.Localizer.Diagnostic.incompatibleMethodOverride().format({name:s,className:e.classType.details.name})+i.getString(),5===r.type?r.node.name:r.node),n=(0,D.getLastTypedDeclaredForSymbol)(e.symbol);t&&n&&t.addRelatedInfo(g.Localizer.DiagnosticAddendum.overriddenMethod(),n.path,n.range)}}if((0,F.isFunction)(r)&&!w.isPrivateName(s)&&F.FunctionType.isFinal(r)){const n=(0,D.getLastTypedDeclaredForSymbol)(t);if(n&&5===n.type){const t=this._evaluator.addError(g.Localizer.Diagnostic.finalMethodOverride().format({name:s,className:e.classType.details.name}),n.node.name),i=(0,D.getLastTypedDeclaredForSymbol)(e.symbol);t&&i&&t.addRelatedInfo(g.Localizer.DiagnosticAddendum.finalMethod(),i.path,i.range)}}}else if(!(0,F.isAnyOrUnknown)(n)&&!F.ClassType.isBuiltIn(e.classType,"_TypedDict")){const i=t.getDeclarations();if(i.length>0){const t=i[i.length-1],r=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,A.DiagnosticRule.reportIncompatibleMethodOverride,g.Localizer.Diagnostic.methodOverridden().format({name:s,className:e.classType.details.name,type:this._evaluator.printType(n,!1)}),t.node),o=(0,D.getLastTypedDeclaredForSymbol)(e.symbol);r&&o&&r.addRelatedInfo(g.Localizer.DiagnosticAddendum.overriddenMethod(),o.path,o.range)}}}else if((0,k.isProperty)(r))if((0,k.isProperty)(n)){const o=r.details.fields,l=n.details.fields,c=e.classType;["fget","fset","fdel"].forEach((e=>{const n=new a.DiagnosticAddendum,r=o.get(e),p=l.get(e);if(r){const o=(0,k.partiallySpecializeType)(this._evaluator.getEffectiveTypeOfSymbol(r),c);if((0,F.isFunction)(o))if(p){const t=(0,k.partiallySpecializeType)(this._evaluator.getEffectiveTypeOfSymbol(p),i);if((0,F.isFunction)(t)&&!this._evaluator.validateOverrideMethod(o,t,n.createAddendum())){n.addMessage(g.Localizer.DiagnosticAddendum.propertyMethodIncompatible().format({name:e}));const i=t.details.declaration;if(i&&5===i.type){const e=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,A.DiagnosticRule.reportIncompatibleMethodOverride,g.Localizer.Diagnostic.propertyOverridden().format({name:s,className:c.details.name})+n.getString(),i.node.name),t=o.details.declaration;e&&t&&e.addRelatedInfo(g.Localizer.DiagnosticAddendum.overriddenMethod(),t.path,t.range)}}}else{n.addMessage(g.Localizer.DiagnosticAddendum.propertyMethodMissing().format({name:e}));const i=t.getDeclarations();if(i.length>0){const e=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,A.DiagnosticRule.reportIncompatibleMethodOverride,g.Localizer.Diagnostic.propertyOverridden().format({name:s,className:c.details.name})+n.getString(),i[i.length-1].node),t=o.details.declaration;e&&t&&e.addRelatedInfo(g.Localizer.DiagnosticAddendum.overriddenMethod(),t.path,t.range)}}}}))}else{const n=t.getDeclarations();n.length>0&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,A.DiagnosticRule.reportIncompatibleMethodOverride,g.Localizer.Diagnostic.propertyOverridden().format({name:s,className:e.classType.details.name}),n[n.length-1].node)}else if("none"!==this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride){const i=t.getDeclarations();if(i.length>0){const o=i[i.length-1],l=new a.DiagnosticAddendum;if(!this._evaluator.assignType(r,n,l)){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,A.DiagnosticRule.reportIncompatibleVariableOverride,g.Localizer.Diagnostic.symbolOverridden().format({name:s,className:e.classType.details.name})+l.getString(),o.node),n=(0,D.getLastTypedDeclaredForSymbol)(e.symbol);t&&n&&t.addRelatedInfo(g.Localizer.DiagnosticAddendum.overriddenSymbol(),n.path,n.range)}const c=(0,D.isFinalVariable)(e.symbol),p=i.find((e=>(0,m.isFinalVariableDeclaration)(e)));if(!c&&p){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,A.DiagnosticRule.reportIncompatibleVariableOverride,g.Localizer.Diagnostic.variableFinalOverride().format({name:s,className:e.classType.details.name}),o.node);t&&t.addRelatedInfo(g.Localizer.DiagnosticAddendum.overriddenSymbol(),p.path,p.range)}const u=e.symbol.isClassVar();let d=t.isClassVar();if(u&&!d&&(t.hasTypedDeclarations()||(d=!0),t.getTypedDeclarations().every((e=>6===e.type))&&(d=!0)),u!==d){const n=t.isClassVar()?g.Localizer.Diagnostic.classVarOverridesInstanceVar():g.Localizer.Diagnostic.instanceVarOverridesClassVar(),i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,A.DiagnosticRule.reportIncompatibleVariableOverride,n.format({name:s,className:e.classType.details.name}),o.node),r=(0,D.getLastTypedDeclaredForSymbol)(e.symbol);i&&r&&i.addRelatedInfo(g.Localizer.DiagnosticAddendum.overriddenSymbol(),r.path,r.range)}}}}_validateMethod(e,t,n){var i,s,r,o;const a=this._evaluator.getTypeOfClass(n),l=null==a?void 0:a.classType;if(e.name&&l&&["__init__","__init_subclass__","__enter__","__exit__"].some((t=>t===e.name.value))&&(F.FunctionType.isAbstractMethod(t)||F.FunctionType.isOverloaded(t)||this._fileInfo.isStubFile||this._validateSuperCallForMethod(e,t,l)),"__new__"===(null===(i=e.name)||void 0===i?void 0:i.value))0!==e.parameters.length&&e.parameters[0].name&&["cls","_cls","__cls","__mcls"].some((t=>e.parameters[0].name.value===t))||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,A.DiagnosticRule.reportSelfClsParameterName,g.Localizer.Diagnostic.newClsParam(),e.parameters.length>0?e.parameters[0]:e.name),l&&this._validateClsSelfParameterType(t,l,!0);else if("__init_subclass__"===(null===(s=e.name)||void 0===s?void 0:s.value))0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,A.DiagnosticRule.reportSelfClsParameterName,g.Localizer.Diagnostic.initSubclassClsParam(),e.parameters.length>0?e.parameters[0]:e.name),l&&this._validateClsSelfParameterType(t,l,!0);else if("__class_getitem__"===(null===(r=e.name)||void 0===r?void 0:r.value))0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,A.DiagnosticRule.reportSelfClsParameterName,g.Localizer.Diagnostic.classGetItemClsParam(),e.parameters.length>0?e.parameters[0]:e.name),l&&this._validateClsSelfParameterType(t,l,!0);else if("_generate_next_value_"===(null===(o=e.name)||void 0===o?void 0:o.value));else if(F.FunctionType.isStaticMethod(t)){if(e.parameters.length>0&&e.parameters[0].name){const t=e.parameters[0].name.value;"self"!==t&&"cls"!==t||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,A.DiagnosticRule.reportSelfClsParameterName,g.Localizer.Diagnostic.staticClsSelfParam(),e.parameters[0].name)}}else if(F.FunctionType.isClassMethod(t)){let n="";e.parameters.length>0&&e.parameters[0].name&&(n=e.parameters[0].name.value),"cls"!==n&&(this._fileInfo.isStubFile&&(n.startsWith("_")||"metacls"===n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,A.DiagnosticRule.reportSelfClsParameterName,g.Localizer.Diagnostic.classMethodClsParam(),e.parameters.length>0?e.parameters[0]:e.name)),l&&this._validateClsSelfParameterType(t,l,!0)}else{if(0===e.decorators.length){let t="",i=!0;if(e.parameters.length>0&&(e.parameters[0].name&&(t=e.parameters[0].name.value),0!==e.parameters[0].category&&(i=!1)),i&&"self"!==t){let i=!1;if("cls"===t){const e=this._evaluator.getTypeOfClass(n),t=this._evaluator.getBuiltInType(n,"type");t&&(0,F.isInstantiableClass)(t)&&e&&(0,F.isInstantiableClass)(e.classType)&&(0,k.derivesFromClassRecursive)(e.classType,t,!0)&&(i=!0)}const s=w.isPrivateOrProtectedName(t);i||s||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,A.DiagnosticRule.reportSelfClsParameterName,g.Localizer.Diagnostic.instanceMethodSelfParam(),e.parameters.length>0?e.parameters[0]:e.name)}}l&&this._validateClsSelfParameterType(t,l,!1)}}_validateSuperCallForMethod(e,t,n){if("none"===this._fileInfo.diagnosticRuleSet.reportMissingSuperCall)return;let i=9;if(F.ClassType.isFinal(n)&&(i|=4),!(0,k.lookUpClassMember)(n,t.details.name,i))return;let s=!1;const r=new I.CallNodeWalker((e=>{if(35===e.leftExpression.nodeType&&e.leftExpression.memberName.value===t.details.name){const t=e.leftExpression.leftExpression;if(9===t.nodeType&&38===t.leftExpression.nodeType&&"super"===t.leftExpression.value)s=!0;else{const e=this._evaluator.getType(t);e&&(0,F.isInstantiableClass)(e)&&(s=!0)}}}));r.walk(e.suite),s||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingSuperCall,A.DiagnosticRule.reportMissingSuperCall,g.Localizer.Diagnostic.missingSuperCall().format({methodName:t.details.name}),e.name)}_validateClsSelfParameterType(e,t,n){if(e.details.parameters.length<1)return;const i=e.details.parameters[0];if(!i.typeAnnotation||!i.name)return;if(F.ClassType.isProtocolClass(t))return;const s=this._evaluator.makeTopLevelTypeVarsConcrete(i.type),r=n?t:(0,k.convertToInstance)(t);(0,F.isInstantiableClass)(s)&&F.ClassType.isProtocolClass(s)||(0,F.isClassInstance)(s)&&F.ClassType.isProtocolClass(s)||F.FunctionType.isOverloaded(e)||this._evaluator.assignType(s,r)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.clsSelfParamTypeMismatch().format({name:i.name,classType:this._evaluator.printType(r,!1)}),i.typeAnnotation)}_validateYieldType(e,t){let n,i;const s=I.getEnclosingFunction(e);if(s){const e=this._evaluator.getTypeOfFunction(s);e&&((0,o.assert)((0,F.isFunction)(e.functionType)),n=F.FunctionType.getSpecializedReturnType(e.functionType),n&&(i=(0,k.getGeneratorYieldType)(n,!!s.isAsync)),n&&!i&&s.returnTypeAnnotation&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,s.isAsync?g.Localizer.Diagnostic.generatorAsyncReturnType():g.Localizer.Diagnostic.generatorSyncReturnType(),s.returnTypeAnnotation))}if(this._evaluator.isNodeReachable(e,void 0))if(n&&(0,F.isNever)(n))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.noReturnContainsYield(),e);else if(i){const n=new a.DiagnosticAddendum;this._evaluator.assignType(i,t,n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.yieldTypeMismatch().format({exprType:this._evaluator.printType(t,!1),yieldType:this._evaluator.printType(i,!1)})+n.getString(),e.expression||e)}}_reportUnusedExceptStatements(e){let t=!1;const n=[];e.exceptClauses.forEach((e=>{if(t||e.isExceptGroup||!e.typeExpression)return;const i=this._evaluator.getType(e.typeExpression);if(!i||(0,F.isAnyOrUnknown)(i))return void(t=!0);const s=[];if((0,F.isInstantiableClass)(i))i.includeSubclasses&&(t=!0),s.push(i);else if((0,F.isClassInstance)(i)){const e=this._evaluator.getTypeOfIterator(i,!1,void 0)||F.UnknownType.create();(0,k.doForEachSubtype)(e,(e=>{(0,F.isAnyOrUnknown)(e)&&(t=!0),(0,F.isInstantiableClass)(e)&&(e.includeSubclasses&&(t=!0),s.push(e))}))}else t=!0;if(n.length>0&&!t){const t=new a.DiagnosticAddendum;let i=0;s.forEach((e=>{const s=n.find((t=>(0,k.derivesFromClassRecursive)(e,t,!0)));s&&(t.addMessage(g.Localizer.DiagnosticAddendum.unreachableExcept().format({exceptionType:this._evaluator.printType((0,k.convertToInstance)(e)),parentType:this._evaluator.printType((0,k.convertToInstance)(s))})),i++)})),s.length===i&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.unreachableExcept()+t.getString(),e.typeExpression),this._evaluator.addUnreachableCode(e,e.exceptSuite))}n.push(...s)}))}_reportDuplicateImports(){const e=(0,f.getTopLevelImports)(this._moduleNode),t=new Map;e.orderedImports.forEach((e=>{if(22===e.node.nodeType){const t=new Map;e.node.imports.forEach((e=>{e.alias||(t.get(e.name.value)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,A.DiagnosticRule.reportDuplicateImport,g.Localizer.Diagnostic.duplicateImport().format({importName:e.name.value}),e.name):t.set(e.name.value,e))}))}else e.subnode&&!e.subnode.alias&&(t.get(e.moduleName)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,A.DiagnosticRule.reportDuplicateImport,g.Localizer.Diagnostic.duplicateImport().format({importName:e.moduleName}),e.subnode):t.set(e.moduleName,e.subnode))}))}}t.Checker=R;class M extends E.ParseTreeWalker{constructor(e,t,n){super(),this._importResolver=e,this._evaluator=t,this._fileInfo=n}static report(e,t,n,i){n.isStubFile||new M(e,t,n).walk(i)}visitNode(e){return(0,u.isExpressionNode)(e)?[]:super.visitNode(e)}visitModule(e){return!(h.getCodeFlowComplexity(e)>S.maxCodeComplexity&&(this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,A.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.codeTooComplexToAnalyze(),{start:0,length:0}),1))}visitModuleName(e){const t=h.getImportInfo(e);return(0,o.assert)(void 0!==t),this._addMissingModuleSourceDiagnosticIfNeeded(t,e),!1}visitImportFromAs(e){const t=this._evaluator.getDeclarationsForNameNode(e.name);if(!t)return!1;for(const n of t){if(!(0,C.isAliasDeclaration)(n)||!n.submoduleFallback||n.node!==e)continue;const t=this._evaluator.resolveAliasDeclaration(n,!0);if(!(null==t?void 0:t.path)||!(0,Q.isStubFile)(t.path))continue;const i=this._getImportResult(e,t.path);if(i){this._addMissingModuleSourceDiagnosticIfNeeded(i,e.name);break}}return!1}_getImportResult(e,t){const n=this._importResolver.getConfigOption().findExecEnvironment(t),i=0===e.parent.module.leadingDots?this._importResolver.getModuleNameForImport(t,n).moduleName:(0,f.getRelativeModuleName)(this._importResolver.fileSystem,this._fileInfo.filePath,t);if(i)return this._importResolver.resolveImport(this._fileInfo.filePath,n,(0,y.createImportedModuleDescriptor)(i))}_addMissingModuleSourceDiagnosticIfNeeded(e,t){!e.isNativeLib&&e.isStubFile&&0!==e.importType&&e.nonStubImportResult&&!e.nonStubImportResult.isImportFound&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingModuleSource,A.DiagnosticRule.reportMissingModuleSource,g.Localizer.Diagnostic.importSourceResolveFailure().format({importName:e.importName}),t)}}},2835:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CircularDependency=void 0,t.CircularDependency=class{constructor(){this._paths=[]}appendPath(e){this._paths.push(e)}getPaths(){return this._paths}normalizeOrder(){let e=0;this._paths.forEach(((t,n)=>{t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getCodeFlowEngine=void 0;const i=n(5839),s=(n(1464),n(563)),r=n(4972),o=(n(7280),n(8494)),a=n(3090),A=n(9453),l=n(4610),c=n(1133),p=n(5168);t.getCodeFlowEngine=function(e,t){const n=new Map,g=new Map,u=new Map;let d=1,h=0,C=0;function m(t,s,o=!1){const a=new Set;if(n.has(t.id))return!0;n.set(t.id,!0);try{return function t(n,s,A=0){if(A>64)return!0;A++;let l=n;for(;;){if(a.has(l.id))return!1;if(a.add(l.id),l.flags&r.FlowFlags.Unreachable)return!1;if(l===s)return!0;if(l.flags&(r.FlowFlags.VariableAnnotation|r.FlowFlags.Assignment|r.FlowFlags.TrueCondition|r.FlowFlags.FalseCondition|r.FlowFlags.WildcardImport|r.FlowFlags.TrueNeverCondition|r.FlowFlags.FalseNeverCondition|r.FlowFlags.NarrowForPattern|r.FlowFlags.ExhaustedMatch))l=l.antecedent;else if(l.flags&r.FlowFlags.Call){const t=l;if(!o&&f(e,t))return!1;l=t.antecedent}else{if(l.flags&(r.FlowFlags.BranchLabel|r.FlowFlags.LoopLabel)){if(l.flags&r.FlowFlags.PostContextManager){const t=l;if(!t.expressions.some((n=>E(e,n,t.isAsync))))return!1}const n=l;for(const e of n.antecedents)if(t(e,s,A))return!0;return!1}if(l.flags&r.FlowFlags.Start)return!s;if(!(l.flags&r.FlowFlags.PreFinallyGate)){if(l.flags&r.FlowFlags.PostFinally){const e=l,n=e.preFinallyGate.isGateClosed;try{return e.preFinallyGate.isGateClosed=!0,t(e.antecedent,s,A)}finally{e.preFinallyGate.isGateClosed=n}}return(0,i.fail)("Unexpected flow node flags"),!1}{const e=l;if(e.isGateClosed)return!1;l=e.antecedent}}}}(t,s)}finally{n.delete(t.id)}}function y(e,t){let n=!0;return(0,p.doForEachSubtype)(e,(e=>{(0,c.isTypeVar)(e)?(0,c.isTypeSame)(e,t)||(n=!1):e.condition&&e.condition.some((e=>e.isConstrainedTypeVar&&e.typeVarName===t.nameWithScope))||(n=!1)})),n}function f(e,t){const n=t.node;if(g.has(n.id)){return g.get(n.id)}if(h>c.maxTypeRecursionCount)return!1;g.set(n.id,!1),h++;try{let t=0,i=0;const s=e.getTypeOfExpression(n.leftExpression,2).type;(0,p.doForEachSubtype)(s,(s=>{var r;if(i++,(0,c.isInstantiableClass)(s)){if(s.details.effectiveMetaclass&&(0,c.isClass)(s.details.effectiveMetaclass)&&!c.ClassType.isBuiltIn(s.details.effectiveMetaclass,"type")&&(0,p.lookUpClassMember)(s.details.effectiveMetaclass,"__call__",12))return;let t=(0,p.lookUpClassMember)(s,"__init__",12);if(void 0===t&&(t=(0,p.lookUpClassMember)(s,"__new__",12)),t){const n=e.getTypeOfMember(t);if(n&&((0,c.isFunction)(n)||(0,c.isOverloadedFunction)(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(s=t)}}}else if((0,c.isClassInstance)(s)){const t=(0,p.lookUpClassMember)(s,"__call__",8);if(t){const n=e.getTypeOfMember(t);if(n&&((0,c.isFunction)(n)||(0,c.isOverloadedFunction)(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(s=t)}}}const o=6===(null===(r=n.parent)||void 0===r?void 0:r.nodeType);if((0,c.isFunction)(s))I(s,o)&&t++;else if((0,c.isOverloadedFunction)(s)){let i=0,r=0;if(c.OverloadedFunctionType.getOverloads(s).forEach((e=>{i++,I(e,o)&&r++})),r>0)if(r===i)t++;else{const i=e.validateOverloadedFunctionArguments(n,n.arguments,s,void 0,!1,void 0);i.returnType&&(0,c.isNever)(i.returnType)&&t++}}}));const r=i>0&&t===i;return g.set(n.id,r),r}finally{h--}}function I(t,n){const i=t.details.declaredReturnType;if(c.FunctionType.isAsync(t)){if(i&&(0,c.isClassInstance)(i)&&c.ClassType.isBuiltIn(i,"Coroutine")&&i.typeArguments&&i.typeArguments.length>=3&&(0,c.isNever)(i.typeArguments[2])&&n)return!0}else{if(i)return(0,c.isNever)(i);if(t.details.declaration&&!(t.details.declaration.yieldStatements||c.FunctionType.isAbstractMethod(t)||c.FunctionType.isStubDefinition(t)||c.FunctionType.isPyTypedDefinition(t))){const n=t.details.declaration.node.suite.statements;let i=!1;for(const e of n){if(47!==e.nodeType||1!==e.statements.length)break;const t=e.statements[0];if(48!==t.nodeType){if(43===t.nodeType&&t.typeExpression){const e=e=>38===(null==e?void 0:e.nodeType)&&"NotImplementedError"===e.value;(e(t.typeExpression)||9===t.typeExpression.nodeType&&e(t.typeExpression.leftExpression))&&(i=!0)}break}}if(!i&&!function(e,t){return!t.details.declaration||e.isAfterNodeReachable(t.details.declaration.node)}(e,t))return!0}}return!1}function E(e,t,n){var i;if(u.has(t.id))return u.get(t.id);if(u.set(t.id,!1),C>c.maxTypeRecursionCount)return!1;C++;let s=!1;try{const r=e.getTypeOfExpression(t).type;if(r&&(0,c.isClassInstance)(r)){const o=n?"__aexit__":"__exit__",a=null===(i=e.getTypeOfObjectMember(t,r,o))||void 0===i?void 0:i.type;if(a&&(0,c.isFunction)(a)&&a.details.declaredReturnType){const e=a.details.declaredReturnType;s=!1,(0,c.isClassInstance)(e)&&c.ClassType.isBuiltIn(e,"bool")&&(void 0!==e.literalValue&&!0!==e.literalValue||(s=!0))}}}finally{C--}return u.set(t.id,s),s}function T(t,n){const r=(0,s.getImportInfo)(t.node.module);(0,i.assert)(void 0!==r&&r.isImportFound),(0,i.assert)(t.node.isWildcardImport);const o=e.lookUpSymbolRecursive(t.node,n,!1);(0,i.assert)(void 0!==o);const a=o.symbol.getDeclarations().find((e=>e.node===t.node));return a&&e.getInferredTypeOfDeclaration(o.symbol,a)||c.UnknownType.create()}return{createCodeFlowAnalyzer:function(){const n=new Map;return{getTypeFromCodeFlow:function(s,g,u,h,C,y){const I=void 0!==g?(0,r.createKeyForReference)(g):void 0;let B;const v=function(e){let t=n.get(e);return t||(t={cache:new Map,pendingNodes:new Set},n.set(e,t)),t}(void 0!==I&&void 0!==u?I+`.${u.toString()}`:".");function Q(e,n,i){if(i){if(n){const t=v.cache.get(e.id);if(t){const e=t;e.isIncompleteType&&e.type&&!(0,c.isTypeSame)(e.type,n)&&d++}}}else d++;const s=i?{isIncompleteType:!0,type:n,incompleteSubtypes:[],generationCount:d}:n;return v.cache.set(e.id,s),t.trackEntry(v.cache,e.id),{type:n,isIncomplete:i,generationCount:d,incompleteSubtypes:i?[]:void 0}}function _(e,t,n,s,r,o){const A=v.cache.get(e.id);void 0!==A&&(0,a.isIncompleteType)(A)||(0,i.fail)("setIncompleteSubtype can be called only on a valid incomplete cache entry");const l=A.incompleteSubtypes;if(t0){const e=[];t.incompleteSubtypes.forEach((t=>{t.type&&e.push(t.type)})),n=e.length>0?(0,c.combineTypes)(e):void 0}return{type:n,isIncomplete:!0,incompleteSubtypes:t.incompleteSubtypes,generationCount:t.generationCount}}function D(t){let n=t.node;const i=t.node.parent;return i&&(28!==i.nodeType&&10!==i.nodeType||(n=i)),e.evaluateTypeForSubnode(n,(()=>{e.evaluateTypesForStatement(t.node)}))}function S(e,t){v.pendingNodes.add(e.id);try{return t()}finally{v.pendingNodes.delete(e.id)}}function b(t){var n;let s=t;for(e.checkForCancellation();;){const t=w(s);if(t){if(!t.isIncomplete)return t;if(t.generationCount===d)return{type:t.type,isIncomplete:!0}}if(v.pendingNodes.has(s.id))return{type:null==t?void 0:t.type,isIncomplete:!0};if(s.flags&r.FlowFlags.Unreachable)return Q(s,c.NeverType.createNever(),!1);if(s.flags&r.FlowFlags.VariableAnnotation)s=s.antecedent;else if(s.flags&r.FlowFlags.Call){const t=s;if(!y&&f(e,t))return Q(s,void 0,!1);s=t.antecedent}else if(s.flags&r.FlowFlags.Assignment){const t=s,i=t.node;if(g){if(u===t.targetSymbolId&&(0,o.isMatchingExpression)(g,i)){if(s.flags&r.FlowFlags.Unbind)return Q(s,c.UnboundType.create(),!1);let n=S(s,(()=>D(t)));return n&&((0,p.isTypeAliasPlaceholder)(n.type)||35===g.nodeType&&e.isAsymmetricDescriptorAssignment(i))&&(n=void 0),Q(s,null==n?void 0:n.type,!!(null==n?void 0:n.isIncomplete))}if(24===i.nodeType&&(0,o.isMatchingExpression)(g,i.baseExpression)&&3===(null===(n=i.parent)||void 0===n?void 0:n.nodeType)&&1===i.items.length&&!i.trailingComma&&!i.items[0].name&&0===i.items[0].argumentCategory&&48===i.items[0].valueExpression.nodeType&&1===i.items[0].valueExpression.strings.length&&49===i.items[0].valueExpression.strings[0].nodeType){const e=i.items[0].valueExpression.strings[0].value,n=S(t,(()=>{const n=b(t.antecedent);return n.type&&(n.type=(0,p.mapSubtypes)(n.type,(t=>(0,c.isClass)(t)&&c.ClassType.isTypedDictClass(t)?(0,A.narrowForKeyAssignment)(t,e):t))),n}));return Q(s,null==n?void 0:n.type,!!(null==n?void 0:n.isIncomplete))}if((0,o.isPartialMatchingExpression)(g,i))return{type:h,isIncomplete:C}}s=t.antecedent}else{if(s.flags&r.FlowFlags.BranchLabel){const t=s;if(s.flags&r.FlowFlags.PostContextManager){const t=s;if(t.expressions.some((n=>E(e,n,t.isAsync)))===t.blockIfSwallowsExceptions)return Q(s,void 0,!1)}if(g&&t.preBranchAntecedent&&t.affectedExpressions&&(B||(B=(0,r.createKeysForReferenceSubexpressions)(g)),!B.some((e=>t.affectedExpressions.has(e)))&&m(s,t.preBranchAntecedent))){s=t.preBranchAntecedent;continue}return F(s)}if(s.flags&r.FlowFlags.LoopLabel){const e=s;if(g&&(B||(B=(0,r.createKeysForReferenceSubexpressions)(g)),!B.some((t=>e.affectedExpressions.has(t))))){s=e.antecedents[0];continue}return k(e,t)}if(s.flags&(r.FlowFlags.TrueCondition|r.FlowFlags.FalseCondition)){const t=s;if(g){const n=S(s,(()=>{const n=(0,l.getTypeNarrowingCallback)(e,g,t.expression,!!(t.flags&(r.FlowFlags.TrueCondition|r.FlowFlags.TrueNeverCondition)));if(n){const e=b(t.antecedent);let i=e.type;return i&&(i=n(i)),Q(s,i,e.isIncomplete)}}));if(n)return n}s=t.antecedent}else if(s.flags&(r.FlowFlags.TrueNeverCondition|r.FlowFlags.FalseNeverCondition)){const t=s;if(t.reference&&(0,r.createKeyForReference)(t.reference)!==I){const n=e.lookUpSymbolRecursive(t.reference,t.reference.value,!1);if(n&&n.symbol.getTypedDeclarations().length>0){const n=S(s,(()=>{const n=(0,l.getTypeNarrowingCallback)(e,t.reference,t.expression,!!(t.flags&(r.FlowFlags.TrueCondition|r.FlowFlags.TrueNeverCondition)));if(n){const i=e.getTypeOfExpression(t.reference),r=n(i.type)||i.type;if((0,c.isNever)(r))return Q(s,void 0,!!i.isIncomplete)}}));if(n)return n}}s=t.antecedent}else if(s.flags&r.FlowFlags.ExhaustedMatch){const t=s,n=e.evaluateTypeForSubnode(t.node,(()=>{e.evaluateTypesForMatchStatement(t.node)}));if(n&&(0,c.isNever)(n.type))return Q(s,void 0,!!n.isIncomplete);s=t.antecedent}else if(s.flags&r.FlowFlags.NarrowForPattern){const t=s;if(!g||(0,o.isMatchingExpression)(g,t.subjectExpression)){const n=e.evaluateTypeForSubnode(t.statement,(()=>{64===t.statement.nodeType?e.evaluateTypesForCaseStatement(t.statement):e.evaluateTypesForMatchStatement(t.statement)}));if(n){if(g)return Q(s,n.type,!!n.isIncomplete);if((0,c.isNever)(n.type))return Q(s,void 0,!!n.isIncomplete)}}s=t.antecedent}else{if(s.flags&r.FlowFlags.PreFinallyGate)return N(s);if(s.flags&r.FlowFlags.PostFinally)return P(s);if(s.flags&r.FlowFlags.Start)return Q(s,h,C);if(!(s.flags&r.FlowFlags.WildcardImport))return(0,i.fail)("Unexpected flow node flags"),Q(s,void 0,!1);{const e=s;if(g&&38===g.nodeType){const t=g.value;if(e.names.some((e=>e===t)))return S(s,(()=>{const n=T(e,t);return Q(s,n,!1)}))}s=e.antecedent}}}}}function F(e){const t=[];let n=!1,i=!1;return S(e,(()=>{if(e.antecedents.forEach((e=>{if(void 0===g&&i)return;const s=b(e);s.isIncomplete&&(n=!0),void 0===g&&void 0!==s.type&&(i=!0),s.type&&t.push(s.type)})),i)return Q(e,h,!1);const s=t.length>0?(0,c.combineTypes)(t):void 0;return Q(e,s,n)}))}function k(e,t){const n=e.antecedents.length;return S(e,(()=>{var i,s;if(void 0===t)t=Q(e,g?void 0:h,!0);else if(null===(i=t.incompleteSubtypes)||void 0===i?void 0:i.some((e=>e.isPending))){const i=t.incompleteSubtypes.lengthe.isPending&&e.evaluationCountvoid 0!==e.type)));if(e.antecedents.forEach(((n,s)=>{var r;if(void 0===g&&o)return;const a=void 0!==(t=w(e)).incompleteSubtypes&&s=n)return Q(e,a,!1);r++}}))}function N(e){return e.isGateClosed?{type:void 0,isIncomplete:!1}:S(e,(()=>{const t=b(e.antecedent);return function(e){v.cache.delete(e.id)}(e),{type:t.type,isIncomplete:t.isIncomplete}}))}function P(t){const n=t.preFinallyGate.isGateClosed;try{let i;return t.preFinallyGate.isGateClosed=!0,e.useSpeculativeMode(t.finallyNode,(()=>{i=b(t.antecedent)})),i.isIncomplete?i:Q(t,i.type,!1)}finally{t.preFinallyGate.isGateClosed=n}}return s?b(s):{type:h,isIncomplete:C}}}},isFlowNodeReachable:m,narrowConstrainedTypeVar:function(t,n){(0,i.assert)(!n.details.isParamSpec),(0,i.assert)(!n.details.isVariadic),(0,i.assert)(!n.details.boundType),(0,i.assert)(n.details.constraints.length>0);const s=new Set,o=[];for(const e of n.details.constraints){if(!(0,c.isClassInstance)(e))return;o.push(e)}const a=function t(n,a){let A=n;for(;;){if(s.has(A.id))return o;if(A.flags&(r.FlowFlags.Unreachable|r.FlowFlags.Start))return o;if(A.flags&(r.FlowFlags.VariableAnnotation|r.FlowFlags.Assignment|r.FlowFlags.WildcardImport|r.FlowFlags.TrueNeverCondition|r.FlowFlags.FalseNeverCondition|r.FlowFlags.NarrowForPattern|r.FlowFlags.ExhaustedMatch|r.FlowFlags.PostFinally|r.FlowFlags.PreFinallyGate|r.FlowFlags.Call))A=A.antecedent;else{if(!(A.flags&(r.FlowFlags.TrueCondition|r.FlowFlags.FalseCondition))){if(A.flags&(r.FlowFlags.BranchLabel|r.FlowFlags.LoopLabel)){const e=A,n=[];s.add(A.id);for(const i of e.antecedents){const e=t(i,a);for(const t of e)n.some((e=>(0,c.isTypeSame)(e,t)))||n.push(t)}return s.delete(A.id),n}return(0,i.fail)("Unexpected flow node flags"),o}{const n=A,i=n.expression,o=0!=(A.flags&r.FlowFlags.TrueCondition);if(9===i.nodeType&&38===i.leftExpression.nodeType&&"isinstance"===i.leftExpression.value&&2===i.arguments.length){const r=i.arguments[0].valueExpression;if(y(e.getTypeOfExpression(r).type,a)){s.add(A.id);const r=t(n.antecedent,a);s.delete(A.id);const l=i.arguments[1].valueExpression,p=e.getTypeOfExpression(l,168).type;if((0,c.isInstantiableClass)(p))return r.filter((e=>c.ClassType.isSameGenericClass(e,p)?o:!o))}}A=n.antecedent}}}}(t,n);return 1===a.length?a[0]:void 0}}}},4972:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createKeysForReferenceSubexpressions=t.createKeyForReference=t.isCodeFlowSupportedForReference=t.getUniqueFlowNodeId=t.FlowFlags=void 0;const i=n(5839);var s;(s=t.FlowFlags||(t.FlowFlags={}))[s.Unreachable=1]="Unreachable",s[s.Start=2]="Start",s[s.BranchLabel=4]="BranchLabel",s[s.LoopLabel=8]="LoopLabel",s[s.Assignment=16]="Assignment",s[s.Unbind=32]="Unbind",s[s.WildcardImport=64]="WildcardImport",s[s.TrueCondition=128]="TrueCondition",s[s.FalseCondition=512]="FalseCondition",s[s.Call=1024]="Call",s[s.PreFinallyGate=2048]="PreFinallyGate",s[s.PostFinally=4096]="PostFinally",s[s.VariableAnnotation=16384]="VariableAnnotation",s[s.PostContextManager=32768]="PostContextManager",s[s.TrueNeverCondition=65536]="TrueNeverCondition",s[s.FalseNeverCondition=131072]="FalseNeverCondition",s[s.NarrowForPattern=262144]="NarrowForPattern",s[s.ExhaustedMatch=524288]="ExhaustedMatch";let r=1;function o(e){let t;if(38===e.nodeType)t=e.value;else if(35===e.nodeType)t=`${o(e.leftExpression)}.${e.memberName.value}`;else if(24===e.nodeType){const n=o(e.baseExpression);(0,i.assert)(1===e.items.length);const s=e.items[0].valueExpression;if(40===s.nodeType)t=`${n}[${s.value.toString()}]`;else if(48===s.nodeType){const e=s;(0,i.assert)(1===e.strings.length&&49===e.strings[0].nodeType),t=`${n}["${e.strings[0].value}"]`}else 55===s.nodeType&&33===s.operator&&40===s.expression.nodeType?t=`${n}[-${s.expression.value.toString()}]`:(0,i.fail)("createKeyForReference received unexpected index type")}else(0,i.fail)("createKeyForReference received unexpected expression type");return t}t.getUniqueFlowNodeId=function(){return r++},t.isCodeFlowSupportedForReference=function e(t){if(38===t.nodeType)return!0;if(35===t.nodeType)return e(t.leftExpression);if(24===t.nodeType){if(1!==t.items.length||t.trailingComma||void 0!==t.items[0].name||0!==t.items[0].argumentCategory)return!1;const n=t.items[0].valueExpression,i=40===n.nodeType&&!n.isImaginary&&n.isInteger,s=55===n.nodeType&&33===n.operator&&40===n.expression.nodeType&&!n.expression.isImaginary&&n.expression.isInteger,r=48===n.nodeType&&1===n.strings.length&&49===n.strings[0].nodeType;return!!(i||s||r)&&e(t.baseExpression)}return!1},t.createKeyForReference=o,t.createKeysForReferenceSubexpressions=function e(t){return 38===t.nodeType?[o(t)]:35===t.nodeType?[...e(t.leftExpression),o(t)]:24===t.nodeType?[...e(t.baseExpression),o(t)]:void(0,i.fail)("createKeyForReference received unexpected expression type")}},7280:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.formatControlFlowGraph=void 0;const i=n(1464),s=n(563),r=n(4972);t.formatControlFlowGraph=function(e){const t=Object.create(null),n=[],o=[],a=p(e,new Set);for(const e of n)e.text=d(e.flowNode,e.circular),u(e);const A=function(e){const t=C(Array(e),0);for(const e of n)t[e.level]=Math.max(t[e.level],e.text.length);return t}(function e(t){let n=0;for(const i of l(t))n=Math.max(n,e(i));return n+1}(a));return function e(t,n){if(-1===t.lane){t.lane=n,t.endLane=n;const i=l(t);for(let s=0;s0&&n++;const r=i[s];e(r,n),r.endLane>t.endLane&&(n=r.endLane)}t.endLane=n}}(a,0),function(){const e=A.length,t=n.reduce(((e,t)=>Math.max(e,t.lane)),0)+1,i=C(Array(t),""),s=A.map((()=>Array(t))),r=A.map((()=>C(Array(t),0)));for(const e of n){s[e.level][e.lane]=e;const t=l(e);for(let n=0;n0&&(s|=1),n0&&(s|=1),t0?r[n-1][e]:0,i=e>0?r[n][e-1]:0;let s=r[n][e];s||(8&t&&(s|=12),2&i&&(s|=3),r[n][e]=s)}for(let t=0;t0?e.repeat(t):"";let n="";for(;n.length{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getFileLevelDirectives=void 0;const i=n(2930);function s(e){r(e,(0,i.getStrictDiagnosticRuleSet)(),(0,i.getStrictModeNotOverriddenRules)())}function r(e,t,n){const s=(0,i.getBooleanDiagnosticRules)(),r=(0,i.getDiagLevelDiagnosticRules)();for(const i of s)n.find((e=>e===i))||t[i]&&(e[i]=!0);for(const i of r){if(n.find((e=>e===i)))continue;const s=t[i],r=e[i];("error"===s||"warning"===s&&"error"!==r||"information"===s&&"error"!==r&&"warning"!==r)&&(e[i]=s)}}function o(e,t){const n=["pyright:","mspython:"].find((t=>e.startsWith(t)));if(n){const o=e.substr(n.length).trim().split(",").map((e=>e.trim()));o.some((e=>"strict"===e))?s(t):o.some((e=>"basic"===e))&&function(e){r(e,(0,i.getBasicDiagnosticRuleSet)(),[])}(t);for(const e of o)t=a(e,t)}return t}function a(e,t){const n=e.split("=").map((e=>e.trim()));if(2!==n.length)return t;const s=n[0],r=(0,i.getBooleanDiagnosticRules)();if((0,i.getDiagLevelDiagnosticRules)().find((e=>e===s))){const e=function(e){switch(e){case"false":case"none":return"none";case"true":case"error":return"error";case"warning":return"warning";case"information":return"information";default:return}}(n[1]);void 0!==e&&(t[s]=e)}else if(r.find((e=>e===s))){const e="false"!==(o=n[1])&&("true"===o||void 0);void 0!==e&&(t[s]=e)}var o;return t}t.getFileLevelDirectives=function(e,t,n){let r=(0,i.cloneDiagnosticRuleSet)(t);n&&s(r);for(let t=0;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.populateTypeVarContextBasedOnExpectedType=t.assignTypeToTypeVar=void 0;const i=n(1290),s=n(2122),r=n(503),o=n(1133),a=n(5168),A=n(4447);t.assignTypeToTypeVar=function(e,t,n,l,c,p=0,g=0){var u;let d=!0;const h=0!=(2&p);if(!t.scopeId)return!0;if(!c.hasSolveForScope(t.scopeId)){if((0,o.isAnyOrUnknown)(n)||(0,o.isClass)(n)&&o.ClassType.derivesFromAnyOrUnknown(n))return!0;if(0!=(512&p))return!0;if(h&&e.assignType(e.makeTopLevelTypeVarsConcrete(t),e.makeTopLevelTypeVarsConcrete(n),void 0,void 0,void 0,p,g))return!0;if(d=!1,!t.details.isSynthesized)return null==l||l.addMessage(s.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:e.printType(n),destType:e.printType(t)})),!1}if(0!=(8&p))return e.assignType(e.makeTopLevelTypeVarsConcrete(t),e.makeTopLevelTypeVarsConcrete(n),l,void 0,void 0,p,g);if(t.details.isParamSpec)return function(e,t,n,i,r,A=0){if((0,o.isTypeVar)(n)&&n.details.isParamSpec){const e=r.getParamSpec(t);if(!e)return!r.isLocked()&&r.hasSolveForScope(t.scopeId)&&r.setParamSpec(t,{flags:0,parameters:[],typeVarScopeId:void 0,docString:void 0,paramSpec:n}),!0;if(0===e.parameters.length&&e.paramSpec&&(0,o.isTypeSame)(e.paramSpec,n,{},A))return!0}else if((0,o.isFunction)(n)){const i=n,s=n.details.parameters.map(((e,t)=>({category:e.category,name:e.name,isNameSynthesized:e.isNameSynthesized,hasDefault:!!e.hasDefault,type:o.FunctionType.getEffectiveParameterType(i,t)}))),l=r.getParamSpec(t);if(!l)return!r.isLocked()&&r.hasSolveForScope(t.scopeId)&&r.setParamSpec(t,{parameters:s,typeVarScopeId:n.details.typeVarScopeId,flags:n.details.flags,docString:n.details.docString,paramSpec:n.details.paramSpec}),!0;if(l.paramSpec===n.details.paramSpec){const t=(0,a.convertParamSpecValueToType)(l,!0),i=(0,a.convertParamSpecValueToType)({parameters:s,flags:n.details.flags,typeVarScopeId:n.details.typeVarScopeId,docString:void 0,paramSpec:void 0},!0);if(e.assignType(t,i,void 0,void 0,void 0,32,A))return!0}}else if((0,o.isAnyOrUnknown)(n))return!0;return null==i||i.addMessage(s.Localizer.DiagnosticAddendum.typeParamSpec().format({type:e.printType(n),name:t.details.name})),!1}(e,t,n,l,c,g);if(t.details.isVariadic&&!(0,o.isUnpacked)(n)){const t=e.getTupleClassType();n=t&&(0,o.isInstantiableClass)(t)?(0,a.convertToInstance)((0,a.specializeTupleClass)(t,[{type:n,isUnbounded:!1}],!0,!0)):o.UnknownType.create()}o.TypeBase.isInstantiable(t)&&(0,o.isClassInstance)(n)&&o.ClassType.isBuiltIn(n,"type")&&!n.typeArguments&&(n=o.AnyType.create());const C=c.getTypeVar(t),m=null==C?void 0:C.narrowBound,y=null!==(u=null==C?void 0:C.wideBound)&&void 0!==u?u:t.details.boundType;if(t.details.constraints.length>0){let i;const r=e.makeTopLevelTypeVarsConcrete(n);if((0,o.isTypeVar)(n))e.assignType(t,r,void 0,new A.TypeVarContext(t.scopeId),void 0,0,g)&&(i=n,o.TypeBase.isInstantiable(n)&&(i=(0,a.convertToInstance)(n,!1)));else{let n,s=!0;i=(0,a.mapSubtypes)(r,(i=>{let r,A;return(0,o.isAnyOrUnknown)(i)?i:(t.details.constraints.forEach(((n,s)=>{const l=o.TypeBase.isInstantiable(t)?(0,a.convertToInstantiable)(n):n;e.assignType(l,i,void 0,void 0,void 0,0,g)&&(r&&!e.assignType(o.TypeBase.isInstantiable(t)?(0,a.convertToInstantiable)(r):r,l,void 0,void 0,void 0,0,g)||(r=(0,a.addConditionToType)(n,(0,a.getTypeCondition)(i)),A=s))})),r||h||(s=!1),void 0===A||(0,a.getTypeCondition)(i)||(void 0!==n&&n!==A&&(s=!1),n=A),r)})),!(0,o.isNever)(i)&&s||(i=void 0),!i&&(0,o.isUnion)(r)&&(i=t.details.constraints.find((n=>{const i=o.TypeBase.isInstantiable(t)?(0,a.convertToInstantiable)(n):n;return e.assignType(i,r,void 0,void 0,void 0,0,g)})))}if(!i)return null==l||l.addMessage(s.Localizer.DiagnosticAddendum.typeConstrainedTypeVar().format({type:e.printType(n),name:t.details.name})),!1;if(m&&!(0,o.isAnyOrUnknown)(m)){if(!e.assignType(m,i,void 0,void 0,void 0,0,g)){if(!e.assignType(i,m,void 0,void 0,void 0,0,g))return null==l||l.addMessage(s.Localizer.DiagnosticAddendum.typeConstrainedTypeVar().format({type:e.printType(i),name:e.printType(m)})),!1;!c.isLocked()&&d&&c.setTypeVarType(t,i)}}else!c.isLocked()&&d&&c.setTypeVarType(t,i);return!0}let f=m,I=y;const E=l?new i.DiagnosticAddendum:void 0,T=0!=(128&p)||c.getRetainLiterals(t)||t.details.boundType&&(0,a.containsLiteralType)(t.details.boundType)||t.details.constraints.some((e=>(0,a.containsLiteralType)(e)));let B=T?n:e.stripLiteralValue(n);if(o.TypeBase.isInstantiable(t)){if(!(0,a.isEffectivelyInstantiable)(B))return null==l||l.addMessage(s.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:e.printType(B),destType:e.printType(t)})),!1;B=(0,a.convertToInstance)(B,!1)}if(h||0!=(4&p)){if(y){if(!(0,o.isTypeSame)(y,B,{},g))if(e.assignType(y,e.makeTopLevelTypeVarsConcrete(B),E,void 0,void 0,512&p,g))I=B;else if(!e.assignType(B,y,E,void 0,void 0,512&p,g))return l&&E&&(l.addMessage(s.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:e.printType(B),destType:e.printType(y)})),l.addAddendum(E)),!1}else I=B;if(m&&!e.assignType(I,m,void 0,void 0,void 0,512&p,g))return l&&E&&(l.addMessage(s.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:e.printType(B),destType:e.printType(m)})),l.addAddendum(E)),!1}else{if(m){if(!(0,o.isTypeSame)(m,B,{},g))if(e.assignType(m,B,E,new A.TypeVarContext(t.scopeId),void 0,p,g))f=(0,a.isPartlyUnknown)(m)&&!(0,o.isUnknown)(B)&&e.assignType(B,m,void 0,new A.TypeVarContext(t.scopeId),void 0,512&p,g)?B:m;else{if(c.isLocked())return null==l||l.addMessage(s.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:e.printType(m),destType:e.printType(B)})),!1;const n=t;if((0,o.isVariadicTypeVar)(n))return null==l||l.addMessage(s.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:e.printType(m),destType:e.printType(B)})),!1;if(e.assignType(B,m,void 0,new A.TypeVarContext(t.scopeId),void 0,512&p,g))f=B;else{const n=e.getObjectType();f=(0,o.isUnion)(m)&&m.subtypes.length>r.maxSubtypesForInferredType&&void 0!==t.details.boundType&&n&&(0,o.isClassInstance)(n)?(0,o.combineTypes)([m,n]):(0,o.combineTypes)([m,B])}}}else f=B;if(y&&f&&!(0,o.isTypeSame)(y,f,{},g)){let n=!0;if((0,o.isTypeVar)(y)&&((0,o.isTypeSame)(f,y)||(0,o.isUnion)(f)&&f.subtypes.some((e=>(0,o.isTypeSame)(e,y))))&&(n=!1),!e.assignType(n?e.makeTopLevelTypeVarsConcrete(y):y,f,null==l?void 0:l.createAddendum(),new A.TypeVarContext(t.scopeId),void 0,512&p,g))return l&&E&&l.addMessage(s.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:e.printType(B),destType:e.printType(y)})),!1}}if(t.details.boundType){const i=f||I;if(o.TypeBase.isInstantiable(t)&&!o.TypeBase.isInstantiable(n))return!1;const r=t.details.isSynthesizedSelf?c:new A.TypeVarContext(t.scopeId);if(!e.assignType(t.details.boundType,e.makeTopLevelTypeVarsConcrete(i),null==l?void 0:l.createAddendum(),r,void 0,512&p,g))return t.details.isSynthesized||null==l||l.addMessage(s.Localizer.DiagnosticAddendum.typeBound().format({sourceType:e.printType(i),destType:e.printType(t.details.boundType),name:o.TypeVarType.getReadableName(t)})),!1}return!c.isLocked()&&d&&c.setTypeVarType(t,f,I,T),!0},t.populateTypeVarContextBasedOnExpectedType=function(e,t,n,i,s){if((0,o.isAny)(n))return t.details.typeParameters.forEach((e=>{i.setTypeVarType(e,n)})),!0;if((0,o.isTypeVar)(n)&&n.details.isSynthesizedSelf&&n.details.boundType&&(n=n.details.boundType),!(0,o.isClass)(n))return!1;const r=n.typeArguments;if(!r)return e.assignType(t,n,void 0,i,void 0,1024);if(e.inferTypeParameterVarianceForClass(t),o.ClassType.isSameGenericClass(n,t)){const e=(0,a.buildTypeVarContextFromSpecializedClass)(n);return e.getTypeVars().forEach((n=>{const s=e.getTypeVarType(n.typeVar);s&&((0,o.isTypeVar)(s)&&s.scopeId===t.details.typeVarScopeId||i.setTypeVarType(n.typeVar,3===o.TypeVarType.getVariance(n.typeVar)?void 0:s,4===o.TypeVarType.getVariance(n.typeVar)?void 0:s,n.retainLiteral))})),!0}const l=(0,a.getTypeVarScopeId)(n),c=o.ClassType.getTypeParameters(n).map(((e,t)=>{const n=o.TypeVarType.createInstance(`__dest${t}`);return n.details.isSynthesized=!0,n.details.declaredVariance=2,n.scopeId=l,n})),p=o.ClassType.cloneForSpecialization(n,c,!0),g=o.ClassType.getTypeParameters(t).map(((e,t)=>{const n=o.TypeVarType.createInstance(`__source${t}`);return n.details.isSynthesized=!0,n.details.synthesizedIndex=t,n.details.isExemptFromBoundCheck=!0,n})),u=o.ClassType.cloneForSpecialization(t,g,!0),d=new A.TypeVarContext(l);if(e.assignType(p,u,void 0,d,void 0,1024)){let e=!0;return c.forEach(((t,n)=>{const A=d.getTypeVarType(t);if(A&&(0,o.isTypeVar)(A)&&A.details.isSynthesized&&void 0!==A.details.synthesizedIndex){const l=o.ClassType.getTypeParameters(u)[A.details.synthesizedIndex];if(n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.applyConstructorTransform=void 0;const i=n(1290),s=n(9744),r=n(2122),o=n(563),a=n(817),A=n(1133),l=n(5168),c=n(4447);t.applyConstructorTransform=function(e,t,n,p,g){return"functools.partial"===p.details.fullName?function(e,t,n,p){if(!(0,A.isClassInstance)(p.returnType)||"functools.partial"!==p.returnType.details.fullName)return p;const g=(0,l.lookUpObjectMember)(p.returnType,"__call__");if(!g||!(0,A.isTypeSame)((0,l.convertToInstance)(g.classType),p.returnType))return p;const u=e.getTypeOfMember(g);if(!(0,A.isFunction)(u)||u.details.parameters.length<1)return p;if(n.length<1)return p;const d=e.getTypeOfArgument(n[0]).type;if(e.inferReturnTypeIfNecessary(d),!(0,A.isFunction)(d))return p;if(n.some((e=>0!==e.argumentCategory)))return p;const h=new Map,C=(0,l.getParameterListDetails)(d);let m=!1,y=!1;const f=new c.TypeVarContext((0,l.getTypeVarScopeId)(d));n.slice(1).forEach(((n,a)=>{var c,p,g,u,I,E,T,B;const v=e.getTypeOfArgument(n);if(n.name){const a=C.params.find((e=>{var t;return e.param.name===(null===(t=n.name)||void 0===t?void 0:t.value)&&e.source!==l.ParameterSource.PositionOnly}));if(a){const l=a.param.name,c=A.FunctionType.getEffectiveParameterType(d,a.index);if(h.has(l))e.addDiagnostic((0,o.getFileInfo)(t).diagnosticRuleSet.reportGeneralTypeIssues,s.DiagnosticRule.reportGeneralTypeIssues,r.Localizer.Diagnostic.paramAlreadyAssigned().format({name:n.name.value}),n.name),m=!0;else{const a=new i.DiagnosticAddendum;e.assignType(c,v.type,a,f)||(e.addDiagnostic((0,o.getFileInfo)(t).diagnosticRuleSet.reportGeneralTypeIssues,s.DiagnosticRule.reportGeneralTypeIssues,r.Localizer.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(v.type),paramType:e.printType(c),functionName:d.details.name,paramName:l}),null!==(B=n.valueExpression)&&void 0!==B?B:t),m=!0),h.set(l,!0)}}else if(void 0===C.kwargsIndex)e.addDiagnostic((0,o.getFileInfo)(t).diagnosticRuleSet.reportGeneralTypeIssues,s.DiagnosticRule.reportGeneralTypeIssues,r.Localizer.Diagnostic.paramNameMissing().format({name:n.name.value}),n.name),m=!0;else{const a=A.FunctionType.getEffectiveParameterType(d,C.params[C.kwargsIndex].index),l=new i.DiagnosticAddendum;e.assignType(a,v.type,l,f)||(e.addDiagnostic((0,o.getFileInfo)(t).diagnosticRuleSet.reportGeneralTypeIssues,s.DiagnosticRule.reportGeneralTypeIssues,r.Localizer.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(v.type),paramType:e.printType(a),functionName:d.details.name,paramName:null!==(E=C.params[C.kwargsIndex].param.name)&&void 0!==E?E:""}),null!==(T=n.valueExpression)&&void 0!==T?T:t),m=!0)}}else if(a>=C.params.length||C.params[a].source===l.ParameterSource.KeywordOnly)if(void 0!==C.argsIndex){const a=A.FunctionType.getEffectiveParameterType(d,C.params[C.argsIndex].index),l=new i.DiagnosticAddendum;e.assignType(a,v.type,l,f)||(e.addDiagnostic((0,o.getFileInfo)(t).diagnosticRuleSet.reportGeneralTypeIssues,s.DiagnosticRule.reportGeneralTypeIssues,r.Localizer.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(v.type),paramType:e.printType(a),functionName:d.details.name,paramName:null!==(c=C.params[C.argsIndex].param.name)&&void 0!==c?c:""}),null!==(p=n.valueExpression)&&void 0!==p?p:t),m=!0)}else y||e.addDiagnostic((0,o.getFileInfo)(t).diagnosticRuleSet.reportGeneralTypeIssues,s.DiagnosticRule.reportGeneralTypeIssues,1===C.positionParamCount?r.Localizer.Diagnostic.argPositionalExpectedOne():r.Localizer.Diagnostic.argPositionalExpectedCount().format({expected:C.positionParamCount}),null!==(g=n.valueExpression)&&void 0!==g?g:t),y=!0,m=!0;else{const l=A.FunctionType.getEffectiveParameterType(d,a),c=new i.DiagnosticAddendum,p=null!==(u=C.params[a].param.name)&&void 0!==u?u:"";e.assignType(l,v.type,c,f)||(e.addDiagnostic((0,o.getFileInfo)(t).diagnosticRuleSet.reportGeneralTypeIssues,s.DiagnosticRule.reportGeneralTypeIssues,r.Localizer.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(v.type),paramType:e.printType(l),functionName:d.details.name,paramName:p}),null!==(I=n.valueExpression)&&void 0!==I?I:t),m=!0),h.set(p,!1)}}));const I=(0,l.applySolvedTypeVars)(d,f);if(!(0,A.isFunction)(I))return p;const E=I.details.parameters.map(((e,t)=>{const n={...e};return n.type=A.FunctionType.getEffectiveParameterType(I,t),e.name&&h.get(e.name)&&(n.hasDefault=!0),n})),T=[...E.filter((e=>!(2===e.category||1!==e.category&&e.name&&h.has(e.name)))),...E.filter((e=>e.name&&h.get(e.name))),...E.filter((e=>2===e.category))],B=A.FunctionType.createInstance(u.details.name,u.details.fullName,u.details.moduleName,u.details.flags,I.details.docString);u.details.parameters.length>0&&A.FunctionType.addParameter(B,u.details.parameters[0]),T.forEach((e=>{A.FunctionType.addParameter(B,e)})),B.details.declaredReturnType=I.details.declaredReturnType?A.FunctionType.getSpecializedReturnType(I):I.inferredReturnType,B.details.declaration=u.details.declaration,B.details.typeVarScopeId=I.details.typeVarScopeId;const v=A.ClassType.cloneForSymbolTableUpdate(p.returnType);return v.details.fields.set("__call__",a.Symbol.createWithType(4,B)),{returnType:v,isTypeIncomplete:!1,argumentErrors:m}}(e,t,n,g):g}},6168:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.applyDataClassDecorator=t.applyDataClassDefaultBehaviors=t.applyDataClassClassBehaviorOverrides=t.getDataclassDecoratorBehaviors=t.validateDataClassTransformDecorator=t.synthesizeDataClassMethods=void 0;const o=n(5839),a=n(9744),A=n(2122),l=r(n(563)),c=n(118),p=n(8494),g=n(8235),u=n(817),d=n(1133),h=n(5168),C=n(4447);function m(e,t){let n;return(0,d.isFunction)(e)?n=e.details.fullName:(0,d.isOverloadedFunction)(e)?n=e.overloads[0].details.fullName:(0,d.isInstantiableClass)(e)&&(n=e.details.fullName),!!n&&t.some((e=>e===n))}function y(e,t,n){n.forEach((n=>{n.valueExpression&&n.name&&function(e,t,n,i,s){const r=l.getFileInfo(t),o=(0,g.evaluateStaticBoolExpression)(s,r.executionEnvironment,r.definedConstants);switch(i){case"order":!0===o?n.details.flags|=64:!1===o&&(n.details.flags&=-65);break;case"kw_only":!1===o?n.details.flags&=-2097153:!0===o&&(n.details.flags|=2097152);break;case"frozen":{let i=!1,s=!1;n.details.baseClasses.forEach((e=>{(0,d.isInstantiableClass)(e)&&d.ClassType.isDataClass(e)&&(d.ClassType.isFrozenDataClass(e)?s=!0:e.details.classDataClassTransform||e.details.declaredMetaclass&&(0,d.isInstantiableClass)(e.details.declaredMetaclass)&&e.details.declaredMetaclass.details.classDataClassTransform||(i=!0))})),(!0===o||s)&&(n.details.flags|=8,i&&e.addDiagnostic(r.diagnosticRuleSet.reportGeneralTypeIssues,a.DiagnosticRule.reportGeneralTypeIssues,A.Localizer.Diagnostic.dataClassBaseClassNotFrozen(),t));break}case"init":!1===o?n.details.flags|=16:!0===o&&(n.details.flags&=-17);break;case"eq":!1===o?n.details.flags|=32:!0===o&&(n.details.flags&=-33);break;case"slots":!0===o?(n.details.flags|=33554432,n.details.localSlotsNames&&e.addDiagnostic(r.diagnosticRuleSet.reportGeneralTypeIssues,a.DiagnosticRule.reportGeneralTypeIssues,A.Localizer.Diagnostic.dataClassSlotsOverwrite(),t)):!1===o&&(n.details.flags&=-33554433);break;case"hash":case"unsafe_hash":!0===o&&(n.details.flags|=67108864)}}(e,n.name,t,n.name.value,n.valueExpression)}))}function f(e,t){e.details.dataClassBehaviors=t,e.details.flags|=4,t.keywordOnlyParams&&(e.details.flags|=2097152),t.generateEq||(e.details.flags|=32),t.generateOrder&&(e.details.flags|=64)}t.synthesizeDataClassMethods=function(e,t,n,i,s,r){(0,o.assert)(d.ClassType.isDataClass(n));const y=(0,h.synthesizeTypeVarForSelfCls)(n,!0),f=d.FunctionType.createSynthesizedInstance("__new__",1),I=d.FunctionType.createSynthesizedInstance("__init__");d.FunctionType.addParameter(f,{category:0,name:"cls",type:y,hasDeclaredType:!0}),d.FunctionType.addDefaultParameters(f),f.details.declaredReturnType=(0,h.convertToInstance)(y);const E={category:0,name:"self",type:(0,h.synthesizeTypeVarForSelfCls)(n,!1),hasDeclaredType:!0};d.FunctionType.addParameter(I,E),I.details.declaredReturnType=d.NoneType.createInstance();const T=[],B=[],v=function(e,t){let n=!0;return d.ClassType.getReverseMro(e).forEach((e=>{if((0,d.isInstantiableClass)(e)){const n=(0,h.buildTypeVarContextFromSpecializedClass)(e,!1);d.ClassType.getDataClassEntries(e).forEach((e=>{const i=t.findIndex((t=>t.name===e.name)),s={...e};s.type=(0,h.applySolvedTypeVars)(s.type,n),e.isClassVar?i>=0&&t.splice(i,1):i>=0?t[i]=s:t.push(s)}))}else n=!1})),n}(n,B);v||d.FunctionType.addDefaultParameters(I);const Q=[];let _=!1;n.details.fields.forEach((s=>{var r,o,c;if(!s.isIgnoredForProtocolMatch()){const u=s.getTypedDeclarations().find((e=>{if(1!==e.type)return!1;const t=(0,p.getEnclosingClassOrFunction)(e.node);return!(!t||10!==t.nodeType)}));if(u){let s,a,c,p=u.node;for(;p&&3!==p.nodeType;){if(54===p.nodeType){3===(null===(r=p.parent)||void 0===r?void 0:r.nodeType)&&(p=p.parent);break}p=p.parent}if(!p)return;let C,y=!1,f=d.ClassType.isDataClassKeywordOnlyParams(n)||_,I=!0;if(3===p.nodeType){if(54===p.leftExpression.nodeType&&38===p.leftExpression.valueExpression.nodeType){s=p.leftExpression.valueExpression;const t=p;c=()=>e.getTypeOfAnnotation(t.leftExpression.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0})}if(y=!0,C=p.rightExpression,9===p.rightExpression.nodeType){const i=e.getTypeOfExpression(p.rightExpression.leftExpression,2).type;if(m(i,(null===(o=n.details.dataClassBehaviors)||void 0===o?void 0:o.fieldDescriptorNames)||[])){const n=p.rightExpression.arguments.find((e=>{var t;return"init"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(n&&n.valueExpression){const e=l.getFileInfo(t);!1===(0,g.evaluateStaticBoolExpression)(n.valueExpression,e.executionEnvironment,e.definedConstants)&&(I=!1)}else{let t;if((0,d.isFunction)(i))t=i;else if((0,d.isOverloadedFunction)(i))t=e.getBestOverloadForArguments(p.rightExpression,i,p.rightExpression.arguments);else if((0,d.isInstantiableClass)(i)){const n=e.getBoundMethod(i,"__init__");n&&((0,d.isFunction)(n)?t=n:(0,d.isOverloadedFunction)(n)&&(t=e.getBestOverloadForArguments(p.rightExpression,n,p.rightExpression.arguments)))}if(t){const e=t.details.parameters.find((e=>"init"===e.name));e&&e.defaultValueExpression&&e.hasDeclaredType&&(0,d.isClass)(e.type)&&d.ClassType.isBuiltIn(e.type,"bool")&&(0,h.isLiteralType)(e.type)&&!1===e.type.literalValue&&(I=!1)}}const s=p.rightExpression.arguments.find((e=>{var t;return"kw_only"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(s&&s.valueExpression){const e=l.getFileInfo(t),n=(0,g.evaluateStaticBoolExpression)(s.valueExpression,e.executionEnvironment,e.definedConstants);!1===n?f=!1:!0===n&&(f=!0)}const r=p.rightExpression.arguments.find((e=>{var t,n,i;return"default"===(null===(t=e.name)||void 0===t?void 0:t.value)||"default_factory"===(null===(n=e.name)||void 0===n?void 0:n.value)||"factory"===(null===(i=e.name)||void 0===i?void 0:i.value)}));y=!!r,(null==r?void 0:r.valueExpression)&&(C=r.valueExpression);const o=p.rightExpression.arguments.find((e=>{var t;return"alias"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(o){const t=e.getTypeOfExpression(o.valueExpression).type;(0,d.isClassInstance)(t)&&d.ClassType.isBuiltIn(t,"str")&&(0,h.isLiteralType)(t)&&(a=t.literalValue)}}}}else if(54===p.nodeType&&38===p.valueExpression.nodeType){s=p.valueExpression;const t=p;if(c=()=>e.getTypeOfAnnotation(t.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0}),"_"===p.valueExpression.value){const e=c();(0,d.isClassInstance)(e)&&d.ClassType.isBuiltIn(e,"KW_ONLY")&&(_=!0,s=void 0,c=void 0)}}if(s&&c){const t=s.value,r=n.details.fields.get(t),o=null==r?void 0:r.getDeclarations().some((e=>1===e.type&&e.isFinal));if((null==r?void 0:r.isClassVar())&&!o){const e=B.findIndex((e=>e.name===t));e>=0&&B.splice(e,1);const i={name:t,classType:n,alias:a,isKeywordOnly:!1,hasDefault:y,defaultValueExpression:C,includeInInit:I,type:d.UnknownType.create(),isClassVar:!0};T.push(i)}else{const r={name:t,classType:n,alias:a,isKeywordOnly:f,hasDefault:y,defaultValueExpression:C,includeInInit:I,type:d.UnknownType.create(),isClassVar:!1};Q.push({entry:r,evaluator:c});let o=T.findIndex((e=>e.name===t));if(o>=0?T[o]=r:T.push(r),o=B.findIndex((e=>e.name===t)),o>=0){const e=B[o];!r.hasDefault&&e.hasDefault&&(r.hasDefault=!0,r.defaultValueExpression=e.defaultValueExpression,y=!0),B[o]=r}else B.push(r),o=B.length-1;if(!f&&I&&!i&&!y){const t=B.findIndex((e=>e.hasDefault&&e.includeInInit&&!e.isKeywordOnly));t>=0&&t{e.entry.type=e.evaluator()}));const w=n.details.fields,D=[];i||s||!v||(B.forEach((t=>{if(t.includeInInit){let i=t.type;if(t.classType!==n&&(0,h.requiresSpecialization)(i)){const e=new C.TypeVarContext((0,h.getTypeVarScopeId)(t.classType));(0,h.populateTypeVarContextForSelfType)(e,t.classType,n),i=(0,h.applySolvedTypeVars)(i,e)}i=function(e,t){if(!(0,d.isClassInstance)(t))return t;const n=(0,h.lookUpObjectMember)(t,"__set__");if(!n)return t;const i=e.getTypeOfMember(n);if(!(0,d.isFunction)(i))return t;const s=e.bindFunctionToClassOrObject(t,i);return!s||!(0,d.isFunction)(s)||s.details.parameters.length<2?t:d.FunctionType.getEffectiveParameterType(s,1)}(e,i);const s={category:0,name:t.alias||t.name,hasDefault:t.hasDefault,defaultValueExpression:t.defaultValueExpression,type:i,hasDeclaredType:!0};t.isKeywordOnly?D.push(s):d.FunctionType.addParameter(I,s)}})),D.length>0&&(d.FunctionType.addParameter(I,{category:1,type:d.AnyType.create()}),D.forEach((e=>{d.FunctionType.addParameter(I,e)}))),w.set("__init__",u.Symbol.createWithType(4,I)),w.set("__new__",u.Symbol.createWithType(4,f)));const S=e.getBuiltInType(t,"str"),b=e.getBuiltInType(t,"tuple");if(b&&(0,d.isInstantiableClass)(b)&&S&&(0,d.isInstantiableClass)(S)&&!w.has("__match_args__")){const e=[];B.forEach((t=>{t.includeInInit&&!t.isKeywordOnly&&e.push(t.name)}));const t=e.map((e=>({type:d.ClassType.cloneAsInstance(d.ClassType.cloneWithLiteral(S,e)),isUnbounded:!1}))),n=d.ClassType.cloneAsInstance((0,h.specializeTupleClass)(b,t));w.set("__match_args__",u.Symbol.createWithType(4,n))}const F=(n,i)=>{const s=d.FunctionType.createSynthesizedInstance(n);d.FunctionType.addParameter(s,E),d.FunctionType.addParameter(s,{category:0,name:"other",type:i,hasDeclaredType:!0}),s.details.declaredReturnType=e.getBuiltInObject(t,"bool"),w.get(n)||w.set(n,u.Symbol.createWithType(4,s))};if(d.ClassType.isSkipSynthesizedDataClassEq(n)||F("__eq__",e.getBuiltInObject(t,"object")),d.ClassType.isSynthesizedDataclassOrder(n)){const e=d.ClassType.cloneAsInstance(n);["__lt__","__le__","__gt__","__ge__"].forEach((t=>{F(t,e)}))}let k=!d.ClassType.isSkipSynthesizedDataClassEq(n)&&d.ClassType.isFrozenDataClass(n);const N=!d.ClassType.isSkipSynthesizedDataClassEq(n)&&!d.ClassType.isFrozenDataClass(n);if(r&&(k=!1),d.ClassType.isSynthesizeDataClassUnsafeHash(n)&&(k=!0),k){const n=d.FunctionType.createSynthesizedInstance("__hash__");d.FunctionType.addParameter(n,E),n.details.declaredReturnType=e.getBuiltInObject(t,"int"),w.set("__hash__",u.Symbol.createWithType(4,n))}else N&&!r&&w.set("__hash__",u.Symbol.createWithType(4,d.NoneType.createInstance()));let P=e.getBuiltInType(t,"dict");(0,d.isInstantiableClass)(P)&&(P=d.ClassType.cloneAsInstance(d.ClassType.cloneForSpecialization(P,[e.getBuiltInObject(t,"str"),d.AnyType.create()],!0))),w.set("__dataclass_fields__",u.Symbol.createWithType(4,P)),d.ClassType.isGeneratedDataClassSlots(n)&&void 0===n.details.localSlotsNames&&(n.details.localSlotsNames=T.map((e=>e.name))),(0,c.updateNamedTupleBaseClass)(n,B.map((e=>e.type)),!0)},t.validateDataClassTransformDecorator=function(e,t){const n={keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,fieldDescriptorNames:[]},i=l.getFileInfo(t);return t.arguments.forEach((t=>{if(t.name&&0===t.argumentCategory)switch(t.name.value){case"kw_only_default":{const s=(0,g.evaluateStaticBoolExpression)(t.valueExpression,i.executionEnvironment,i.definedConstants);if(void 0===s)return void e.addError(A.Localizer.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.keywordOnlyParams=s;break}case"eq_default":{const s=(0,g.evaluateStaticBoolExpression)(t.valueExpression,i.executionEnvironment,i.definedConstants);if(void 0===s)return void e.addError(A.Localizer.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateEq=s;break}case"order_default":{const s=(0,g.evaluateStaticBoolExpression)(t.valueExpression,i.executionEnvironment,i.definedConstants);if(void 0===s)return void e.addError(A.Localizer.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateOrder=s;break}case"field_descriptors":case"field_specifiers":{const i=e.getTypeOfExpression(t.valueExpression).type;if(!(0,d.isClassInstance)(i)||!d.ClassType.isBuiltIn(i,"tuple")||!i.tupleTypeArguments||i.tupleTypeArguments.some((e=>!(0,d.isInstantiableClass)(e.type)&&!(0,d.isFunction)(e.type)&&!(0,d.isOverloadedFunction)(e.type))))return void e.addError(A.Localizer.Diagnostic.dataClassTransformFieldSpecifier().format({type:e.printType(i)}),t.valueExpression);n.fieldDescriptorNames||(n.fieldDescriptorNames=[]),i.tupleTypeArguments.forEach((e=>{(0,d.isInstantiableClass)(e.type)||(0,d.isFunction)(e.type)?n.fieldDescriptorNames.push(e.type.details.fullName):(0,d.isOverloadedFunction)(e.type)&&n.fieldDescriptorNames.push(e.type.overloads[0].details.fullName)}));break}default:e.addError(A.Localizer.Diagnostic.dataClassTransformUnknownArgument().format({name:t.name.value}),t.valueExpression)}else e.addError(A.Localizer.Diagnostic.dataClassTransformPositionalParam(),t)})),n},t.getDataclassDecoratorBehaviors=function(e){var t;let n;if((0,d.isFunction)(e)?n=e:(0,d.isOverloadedFunction)(e)&&(n=null!==(t=e.overloads.find((e=>!!e.details.decoratorDataClassBehaviors)))&&void 0!==t?t:e.overloads[0]),n)return n.details.decoratorDataClassBehaviors?n.details.decoratorDataClassBehaviors:"dataclasses.dataclass"===n.details.fullName?{keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,fieldDescriptorNames:["dataclasses.field","dataclasses.Field"]}:void 0},t.applyDataClassClassBehaviorOverrides=y,t.applyDataClassDefaultBehaviors=f,t.applyDataClassDecorator=function(e,t,n,i){f(t,n),(null==i?void 0:i.arguments)&&y(e,t,i.arguments)}},8905:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isIntrinsicDeclaration=t.isSpecialBuiltInClassDeclaration=t.isAliasDeclaration=t.isVariableDeclaration=t.isTypeAliasDeclaration=t.isTypeParameterDeclaration=t.isParameterDeclaration=t.isClassDeclaration=t.isFunctionDeclaration=void 0,t.isFunctionDeclaration=function(e){return 5===e.type},t.isClassDeclaration=function(e){return 6===e.type},t.isParameterDeclaration=function(e){return 2===e.type},t.isTypeParameterDeclaration=function(e){return 3===e.type},t.isTypeAliasDeclaration=function(e){return 4===e.type},t.isVariableDeclaration=function(e){return 1===e.type},t.isAliasDeclaration=function(e){return 8===e.type},t.isSpecialBuiltInClassDeclaration=function(e){return 7===e.type},t.isIntrinsicDeclaration=function(e){return 0===e.type}},5523:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createSynthesizedAliasDeclaration=t.getDeclarationsWithUsesLocalNameRemoved=t.isDefinedInFile=t.getNameNodeForDeclaration=t.getNameFromDeclaration=t.isPossibleTypeAliasDeclaration=t.isExplicitTypeAliasDeclaration=t.isFinalVariableDeclaration=t.areDeclarationsSame=t.hasTypeForDeclaration=void 0;const i=n(3550),s=n(8905),r=n(8494);t.hasTypeForDeclaration=function(e){switch(e.type){case 0:case 6:case 7:case 5:case 3:case 4:return!0;case 2:{if(e.node.typeAnnotation||e.node.typeAnnotationComment)return!0;const t=e.node.parent;if(28===(null==t?void 0:t.nodeType)&&t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const n=t.functionAnnotationComment.paramTypeAnnotations;return!(t.parameters.length>n.length&&e.node===t.parameters[0])}return!1}case 1:return!!e.typeAnnotationNode;case 8:return!1}},t.areDeclarationsSame=function(e,t,n=!1){if(e.type!==t.type)return!1;if(e.path!==t.path)return!1;if(e.range.start.line!==t.range.start.line||e.range.start.character!==t.range.start.character)return!1;if(8===e.type&&8===t.type){if(e.symbolName!==t.symbolName||e.usesLocalName!==t.usesLocalName)return!1;if(n)return!0;if(e.firstNamePart!==t.firstNamePart)return!1}return!0},t.isFinalVariableDeclaration=function(e){return 1===e.type&&!!e.isFinal},t.isExplicitTypeAliasDeclaration=function(e){return 1===e.type&&!!e.typeAliasAnnotation},t.isPossibleTypeAliasDeclaration=function(e){var t;if(1!==e.type||!e.typeAliasName||e.typeAnnotationNode)return!1;if(3!==(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType))return!1;switch(e.node.parent.rightExpression.nodeType){case 0:case 55:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 46:case 60:case 61:case 30:case 40:case 15:case 31:case 45:return!1}return!0},t.getNameFromDeclaration=function(e){var t;switch(e.type){case 8:return e.symbolName;case 6:case 5:case 3:return e.node.name.value;case 2:return null===(t=e.node.name)||void 0===t?void 0:t.value;case 1:return 38===e.node.nodeType?e.node.value:void 0;case 0:case 7:return}throw new Error("Shouldn't reach here")},t.getNameNodeForDeclaration=function(e){var t,n;switch(e.type){case 8:return 21===e.node.nodeType?null!==(t=e.node.alias)&&void 0!==t?t:e.node.module.nameParts[0]:23===e.node.nodeType?null!==(n=e.node.alias)&&void 0!==n?n:e.node.name:e.node.module.nameParts[0];case 6:case 5:case 3:case 2:return e.node.name;case 1:return 38===e.node.nodeType?e.node:void 0;case 0:case 7:return}throw new Error("Shouldn't reach here")},t.isDefinedInFile=function(e,t){var n;return(0,s.isAliasDeclaration)(e)?(null===(n=(0,r.getFileInfoFromNode)(e.node))||void 0===n?void 0:n.filePath)===t:e.path===t},t.getDeclarationsWithUsesLocalNameRemoved=function(e){return e.map((e=>{if(8!==e.type)return e;const t={...e};return t.usesLocalName=!1,t}))},t.createSynthesizedAliasDeclaration=function(e){return{type:8,node:void 0,path:e,loadSymbolsFromPath:!1,range:(0,i.getEmptyRange)(),implicitImports:new Map,usesLocalName:!1,moduleName:"",isInExceptSuite:!1}}},1272:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertDocStringToPlainText=t.convertDocStringToMarkdown=void 0;const i=n(5678);t.convertDocStringToMarkdown=function(e){return new F(e).convert()},t.convertDocStringToPlainText=function(e){const t=(0,i.cleanAndSplitDocString)(e),n=[];for(const e of t){const t=n.length>0?n[n.length-1]:void 0;N(e)&&N(t)||n.push(e)}return n.join("\n").trimEnd()};const s=/\S|$/,r=/\S/,o=/^\s*~~~+$/,a=/^\s*\+\+\++$/,A=/^\s*===+\s+===+$/,l=/^\s*---+\s+---+$/,c=/^(\s*)-\s/,p=/^(\s*)\*\s/,g=/^(\s*)\d+\.\s/,u=/^(\s+\* )(.*)$/,d=/^\s*\.\. /,h=/^\s*\.\.\s+(\w+)::\s*(.*)$/,C=/ *>>> /,m=/^\s*:(param|arg|type|return|rtype|raise|except|var|ivar|cvar|copyright|license)/,y=/^[.\s\t]+(@\w+)/,f=/^(\.\s{3})|^(\.)/,I=[{exp:/^\s*=+(\s+=+)+$/,replacement:"="},{exp:/^\s*-+(\s+-+)+$/,replacement:"-"},{exp:/^\s*~+(\s+-+)+$/,replacement:"~"},{exp:/^\s*\++(\s+\++)+$/,replacement:"+"}],E=/\s/g,T=/``/g,B=/~/g,v=/\+/g;let Q;try{Q=new RegExp("(?/g,replacement:">"}],D=" \n",S=/^\s*::$/,b=[{exp:/\s+::$/g,replacement:""},{exp:/(\S)\s*::$/g,replacement:"$1:"},{exp:/:[\w_\-+:.]+:`/g,replacement:"`"},{exp:/`:[\w_\-+:.]+:/g,replacement:"`"}];class F{constructor(e){this._builder="",this._skipAppendEmptyLine=!0,this._insideInlineCode=!1,this._appendDirectiveBlock=!1,this._stateStack=[],this._lineNum=0,this._blockIndent=0,this._state=this._parseText,this._lines=(0,i.cleanAndSplitDocString)(e)}convert(){for(this._lines.some((e=>y.exec(e)))&&(this._lines=this._lines.map((e=>e.replace(f,""))));void 0!==this._currentLineOrUndefined();){const e=this._state,t=this._lineNum;if(this._state(),this._state===e&&this._lineNum===t)break}return this._state===this._parseBacktickBlock||this._state===this._parseDocTest||this._state===this._parseLiteralBlock?this._trimOutputAndAppendLine("```"):this._insideInlineCode&&this._trimOutputAndAppendLine("`",!0),this._builder.trim()}_eatLine(){this._lineNum++}_currentLineOrUndefined(){return this._lineNum!N(e)))||"")}_currentLineIsOutsideBlock(){return this._currentIndent()n)||N(t)||this._builder.endsWith(D)||this._builder.endsWith("\n\n")||P(t)||(this._builder=this._builder.slice(0,-1)+D),n>i&&!N(t)&&!this._builder.endsWith(D)&&!this._builder.endsWith("\n\n")&&(this._builder=this._builder.slice(0,-1)+D),0===n||this._builder.endsWith(D)||this._builder.endsWith("\n\n")?this._convertIndent(e):e.trimStart()}_convertIndent(e){return e.replace(/^([ \t]+)(.+)$/g,((e,t,n)=>" ".repeat(t.length)+n))}_escapeHtml(e){return w.forEach((t=>{e=e.replace(t.exp,t.replacement)})),e}_appendTextLine(e){const t=(e=this._preprocessTextLine(e)).split("`");for(let e=0;e0&&(this._insideInlineCode=!this._insideInlineCode,this._append("`")),this._insideInlineCode)this._append(n);else{if(n=this._escapeHtml(n),0===e){if(1===t.length){for(const e of I)if(e.exp.test(n)){n=n.replace(E,e.replacement);break}if(o.test(n)){this._append(n.replace(B,"-"));continue}if(a.test(n)){this._append(n.replace(v,"-"));continue}}const e=u.exec(n);null!==e&&3===e.length&&(this._append(e[1]),n=e[2])}n.split(_).forEach((e=>{_.test(e)?this._append(e):Q&&this._append(e.replace(Q,"\\$1"))}))}}this._builder+="\n"}_preprocessTextLine(e){return S.test(e)?"":(b.forEach((t=>e=e.replace(t.exp,t.replacement))),e=e.replace(T,"`"))}_parseEmpty(){if(N(this._currentLineOrUndefined()))return this._appendLine(),void this._eatLine();this._state=this._parseText}_beginMinIndentCodeBlock(e){this._appendLine("```"),this._pushAndSetState(e),this._blockIndent=this._currentIndent()}_beginBacktickBlock(){return!!this._currentLine().startsWith("```")&&(this._appendLine(this._currentLine()),this._pushAndSetState(this._parseBacktickBlock),this._eatLine(),!0)}_parseBacktickBlock(){this._currentLine().startsWith("```")?(this._appendLine("```"),this._appendLine(),this._popState()):this._appendLine(this._currentLine()),this._eatLine()}_beginDocTest(){return!!C.test(this._currentLine())&&(this._beginMinIndentCodeBlock(this._parseDocTest),this._appendLine(this._currentLineWithinBlock()),this._eatLine(),!0)}_parseDocTest(){if(this._currentLineIsOutsideBlock()||N(this._currentLine()))return this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState();this._appendLine(this._currentLineWithinBlock()),this._eatLine()}_beginLiteralBlock(){const e=this._lineAt(this._lineNum-1);if(void 0===e)return!1;if(!N(e))return!1;let t=this._lineNum-2;for(;t>=0;t--){const e=this._lineAt(t);if(!N(e)){if(e.endsWith("::"))break;return!1}}return!(t<0||(0===this._currentIndent()?(this._appendLine("```"),this._pushAndSetState(this._parseLiteralBlockSingleLine),0):(this._beginMinIndentCodeBlock(this._parseLiteralBlock),0)))}_parseLiteralBlock(){return N(this._currentLineOrUndefined())?(this._appendLine(),void this._eatLine()):this._currentLineIsOutsideBlock()?(this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState()):(this._appendLine(this._currentLineWithinBlock()),void this._eatLine())}_parseLiteralBlockSingleLine(){this._appendLine(this._currentLine()),this._appendLine("```"),this._appendLine(),this._popState(),this._eatLine()}_beginDirective(){return!!d.test(this._currentLine())&&(this._pushAndSetState(this._parseDirective),this._blockIndent=this._nextBlockIndent(),this._appendDirectiveBlock=!1,!0)}_beginFieldList(){var e,t;if(this._insideInlineCode)return!1;let n=this._currentLine();if(n.startsWith("@"))return this._appendLine(),this._appendTextLine(n),this._eatLine(),!0;const i=!(null==n?void 0:n.endsWith(":"))&&!(null==n?void 0:n.endsWith("::"))&&(null!==(t=null===(e=n.match(/:/g))||void 0===e?void 0:e.length)&&void 0!==t?t:0)%2==1,s=m.test(n);if(i||s){const e=this._lineAt(this._lineNum-1);return this._builder.endsWith(D)||this._builder.endsWith("\n\n")||P(e)||(this._builder=this._builder.slice(0,-1)+D),n=this._convertIndent(n),this._appendTextLine(n),this._eatLine(),!0}return!1}_beginTableBlock(){if(this._insideInlineCode)return!1;const e=this._currentLine();return!!A.test(e)&&(this._tableState={header:e.trimStart(),inHeader:!0},this._eatLine(),this._pushAndSetState(this._parseTableBlock),!0)}_parseTableBlock(){if(N(this._currentLineOrUndefined())||!this._tableState)return this._tableState=void 0,void this._popState();let e=this._currentLine();if(A.test(e))return this._eatLine(),this._appendLine("\n
\n"),this._popState(),void(this._tableState=void 0);{let t="|";const n=this._tableState.header.split(" "),i=[];if(this._tableState.inHeader){do{let t=0;for(let s=0;s${o} `),t+=r}this._eatLine(),e=this._currentLine()}while(!N(this._currentLineOrUndefined())&&!l.test(e)&&!A.test(e));this._tableState.inHeader=!1,i.forEach((e=>{t+=`${e}|`})),this._appendLine(t);const s=e.trimStart().replace(/=/g,"-").replace(" ","|");this._appendLine(`|${s}|`),this._eatLine()}else{let i=0;n.forEach((n=>{const s=n.length+1,r=e.slice(i,i+s);t+=`${r}|`,i+=s})),this._appendLine(t),this._eatLine()}}}_beginList(){if(this._insideInlineCode)return!1;let e=this._currentLine();const t=c.exec(e);if(2===(null==t?void 0:t.length))return t[1].length>=4&&(e=" ".repeat(t[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const n=p.exec(e);if(2===(null==n?void 0:n.length))return 0===n[1].length?e=e=" "+e:n[1].length>=4&&(e=" ".repeat(n[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const i=g.exec(e);return 2===(null==i?void 0:i.length)&&(this._appendTextLine(e),this._eatLine(),!0)}_parseList(){if(N(this._currentLineOrUndefined())||this._currentLineIsOutsideBlock())this._popState();else if(!this._beginList()){const e=this._currentLine().trimStart();this._appendTextLine(e),this._eatLine()}}_parseDirective(){const e=h.exec(this._currentLine());if(null!==e&&3===e.length){const t=e[1],n=e[2];"class"===t&&(this._appendDirectiveBlock=!0,this._appendLine(),this._appendLine("```"),this._appendLine(n),this._appendLine("```"),this._appendLine())}0===this._blockIndent?this._popState():this._state=this._parseDirectiveBlock,this._eatLine()}_parseDirectiveBlock(){N(this._currentLineOrUndefined())||!this._currentLineIsOutsideBlock()?(this._appendDirectiveBlock&&this._appendTextLine(this._currentLine().trimLeft()),this._eatLine()):this._popState()}_appendLine(e){N(e)?this._skipAppendEmptyLine||(this._builder+="\n",this._skipAppendEmptyLine=!0):(this._builder+=e+"\n",this._skipAppendEmptyLine=!1)}_append(e){this._builder+=e,this._skipAppendEmptyLine=!1}_trimOutputAndAppendLine(e,t=!1){this._builder=this._builder.trimRight(),this._skipAppendEmptyLine=!1,t||this._appendLine(),this._appendLine(e)}}function k(e){return e.search(s)}function N(e){return void 0===e||!r.test(e)}function P(e){var t,n;return void 0!==e&&(null!==(n=null===(t=e.match(/^\s*[#`~=-]{3,}/))||void 0===t?void 0:t.length)&&void 0!==n?n:0)>0}},5678:(e,t)=>{"use strict";function n(e){const t=e.replace(/\r/g,"").replace(/\t/g," ").split("\n");let n=Number.MAX_VALUE;t.forEach(((e,i)=>{if(t.length<=1||i>0){const t=e.trimLeft();t&&(n=Math.min(n,e.length-t.length))}})),n>=Number.MAX_VALUE&&(n=0);const i=[];for(t.forEach(((e,t)=>{0===t?i.push(e.trim()):i.push(e.substr(n).trimRight())}));i.length>0&&0===i[0].length;)i.shift();for(;i.length>0&&0===i[i.length-1].length;)i.pop();return i}Object.defineProperty(t,"__esModule",{value:!0}),t.extractParameterDocumentation=t.cleanAndSplitDocString=t.cleanDocString=void 0,t.cleanDocString=function(e){return n(e).join("\n")},t.cleanAndSplitDocString=n,t.extractParameterDocumentation=function(e,t){if(!e||!t)return;const i=n(e);for(const e of i){const n=e.trim();let i=n.indexOf("@param "+t);if(i>=0)return n.substr(i+7);if(i=n.indexOf(":param "+t),i>=0)return n.substr(i+7);if(i=n.indexOf(t+": "),i>=0)return n.substr(i);if(i=n.indexOf(t+" ("),i>=0)return n.substr(i)}}},1985:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getEnumAutoValueType=t.getTypeOfEnumMember=t.isDeclInEnumClass=t.transformTypeForPossibleEnumClass=t.createEnumType=t.isKnownEnumType=void 0;const i=n(5839),s=n(1464),r=n(3550),o=n(563),a=n(8494),A=n(817),l=n(1766),c=n(1133),p=n(5168);t.isKnownEnumType=function(e){return["Enum","IntEnum","StrEnum","Flag","IntFlag"].some((t=>t===e))},t.createEnumType=function(e,t,n){const l=(0,o.getFileInfo)(e);let g="enum";if(0===n.length)return;{const e=n[0];if(0!==e.argumentCategory||!e.valueExpression||48!==e.valueExpression.nodeType)return;g=e.valueExpression.strings.map((e=>e.value)).join("")}const u=c.ClassType.createInstantiable(g,(0,a.getClassFullName)(e,l.moduleName,g),l.moduleName,l.filePath,1048576,(0,a.getTypeSourceId)(e),void 0,t.details.effectiveMetaclass);u.details.baseClasses.push(t),(0,p.computeMroLinearization)(u);const d=u.details.fields;if(d.set("__class__",A.Symbol.createWithType(68,u)),!(n.length<2)){{const t=n[1];if(0!==t.argumentCategory||!t.valueExpression||48!==t.valueExpression.nodeType)return;t.valueExpression.strings.map((e=>e.value)).join("").split(" ").forEach((n=>{if(n=n.trim()){const a=c.UnknownType.create(),l=A.Symbol.createWithType(4,a),p=t.valueExpression;(0,i.assert)(48===p.nodeType);const g=(0,o.getFileInfo)(e),u={type:1,node:p,isRuntimeTypeExpression:!0,path:g.filePath,range:(0,s.convertOffsetsToRange)(p.start,r.TextRange.getEnd(p),g.lines),moduleName:g.moduleName,isInExceptSuite:!1};l.addDeclaration(u),d.set(n,l)}}))}return u}},t.transformTypeForPossibleEnumClass=function(e,t,n){var i,s,r,A;const p=(0,a.getEnclosingClass)(t,!0);if(!p)return;const g=e.getTypeOfClass(p);if(!g||!c.ClassType.isEnumClass(g.classType))return;let u=3===(null===(i=t.parent)||void 0===i?void 0:i.nodeType)&&t.parent.leftExpression===t||54===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&t.parent.valueExpression===t&&3===(null===(r=t.parent.parent)||void 0===r?void 0:r.nodeType)||(0,o.getFileInfo)(t).isStubFile&&54===(null===(A=t.parent)||void 0===A?void 0:A.nodeType)&&t.parent.valueExpression===t;(0,l.isSingleDunderName)(t.value)&&(u=!1),"name"!==t.value&&"value"!==t.value||(u=!1);const d=n();if((0,c.isClassInstance)(d)&&d.details.fields.get("__get__")&&(u=!1),u){const e=new c.EnumLiteral(g.classType.details.name,t.value,d);return c.ClassType.cloneAsInstance(c.ClassType.cloneWithLiteral(g.classType,e))}},t.isDeclInEnumClass=function(e,t){const n=(0,a.getEnclosingClass)(t.node,!0);if(!n)return!1;const i=e.getTypeOfClass(n);return!!i&&c.ClassType.isEnumClass(i.classType)},t.getTypeOfEnumMember=function(e,t,n,i,s){if(!c.ClassType.isEnumClass(n))return;const r=n.literalValue;if(r instanceof c.EnumLiteral){if("name"===i||"_name_"===i){const n=e.getBuiltInType(t,"str");if((0,c.isInstantiableClass)(n))return{type:c.ClassType.cloneAsInstance(c.ClassType.cloneWithLiteral(n,r.itemName)),isIncomplete:s}}return"value"===i||"_value_"===i?{type:r.itemType,isIncomplete:s}:void 0}},t.getEnumAutoValueType=function(e,t){const n=(0,a.getEnclosingClass)(t);if(n){const i=e.getTypeOfClass(n);if(i){const n=e.getTypeOfObjectMember(t,c.ClassType.cloneAsInstance(i.classType),"_generate_next_value_");if(n&&(0,c.isFunction)(n.type)&&n.classType&&(0,c.isClass)(n.classType)&&!c.ClassType.isBuiltIn(n.classType,"Enum")&&n.type.details.declaredReturnType)return n.type.details.declaredReturnType}}return e.getBuiltInObject(t,"int")}},4289:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.applyFunctionTransform=void 0;const i=n(9744),s=n(2122),r=n(563),o=n(817),a=n(1133),A=n(5168);t.applyFunctionTransform=function(e,t,n,l,c){return(0,a.isFunction)(l)&&"functools.total_ordering"===l.details.fullName?function(e,t,n,l){var c;if(1!==n.length)return l;const p=null===(c=n[0].typeResult)||void 0===c?void 0:c.type;if(!p||!(0,a.isInstantiableClass)(p)||p.includeSubclasses)return l;const g=a.ClassType.cloneAsInstance(p);let u;const d=["__lt__","__le__","__gt__","__ge__"].filter((e=>{const t=(0,A.lookUpObjectMember)(g,e,8);return t&&!u&&(u=t),!t}));if(!u)return e.addDiagnostic((0,r.getFileInfo)(t).diagnosticRuleSet.reportGeneralTypeIssues,i.DiagnosticRule.reportGeneralTypeIssues,s.Localizer.Diagnostic.totalOrderingMissingMethod(),t),l;let h;const C=e.getTypeOfMember(u);if((0,a.isFunction)(C)&&C.details.parameters.length>=2&&C.details.parameters[1].hasDeclaredType&&(h=C.details.parameters[1].type),!h){const n=e.getBuiltInObject(t,"object");if(!n||!(0,a.isClassInstance)(n))return l;h=n}const m=e.getBuiltInObject(t,"bool");if(!m||!(0,a.isClassInstance)(m))return l;const y={category:0,name:"self",type:(0,A.synthesizeTypeVarForSelfCls)(p,!1),hasDeclaredType:!0},f={category:0,name:"__value",type:h,hasDeclaredType:!0};return d.forEach((e=>{const t=a.FunctionType.createSynthesizedInstance(e);a.FunctionType.addParameter(t,y),a.FunctionType.addParameter(t,f),t.details.declaredReturnType=m,p.details.fields.set(e,o.Symbol.createWithType(4,t))})),l}(e,t,n,c):c}},2374:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.ImportResolver=t.supportedFileExtensions=t.createImportedModuleDescriptor=void 0;const o=n(9489),a=n(3188),A=n(6657),l=n(6886),c=n(7559),p=r(n(7559)),g=n(6956),u=n(1447),d=n(7012),h=n(1012),C=r(n(1887)),m=n(1277),y=n(1766);t.createImportedModuleDescriptor=function(e){if(0===e.length)return{leadingDots:0,nameParts:[],importedSymbols:[]};let t=0,n=0;for(;tthis.getPythonSearchPaths([])))}invalidateCache(){this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this.cachedParentImportResults.reset(),this._invalidateFileSystemCache(),u.SupportPartialStubs.is(this.fileSystem)&&this.fileSystem.clearPartialStubs()}resolveImport(e,t,n){return this._resolveImport(e,t,n)}_resolveImport(e,t,n){const i=this.formatImportName(n),s=this._resolveImportStrict(i,e,t,n,[]);if(s.isImportFound||n.leadingDots>0)return s;e=(0,A.normalizePathCase)(this.fileSystem,(0,A.normalizePath)(e));const r=(0,A.ensureTrailingDirectorySeparator)((0,A.getDirectoryPath)(e)),o=this.cachedParentImportResults.getImportResult(r,i,s);if(o)return this.filterImplicitImports(o,n.importedSymbols);const a=this.getParentImportResolutionRoot(e,t.root);if(!this.cachedParentImportResults.checkValidPath(this.fileSystem,e,a))return s;const l={importPath:void 0};let c=r;for(;this._shouldWalkUp(c,a,t);){const e=this.resolveAbsoluteImport(c,t,n,i,[],void 0,void 0,!1,!0);if(this.cachedParentImportResults.checked(c,i,l),e.isImportFound)return l.importPath=c,this.cachedParentImportResults.add({importResult:e,path:c,importName:i}),this.filterImplicitImports(e,n.importedSymbols);let s;if([s,c]=this._tryWalkUp(c),!s)break}return this.cachedParentImportResults.checked(c,i,l),s}_resolveImportStrict(e,t,n,i,s){const r={importName:e,isRelative:!1,isImportFound:!1,isPartlyResolved:!1,isNamespacePackage:!1,isStubPackage:!1,importFailureInfo:s,resolvedPaths:[],importType:2,isStubFile:!1,isNativeLib:!1,implicitImports:[],filteredImplicitImports:[],nonStubImportResult:void 0};if(this.ensurePartialStubPackages(n),i.leadingDots>0){const r=this._resolveRelativeImport(t,n,i,e,s);if(r)return r.isRelative=!0,r}else{const s=this._lookUpResultsInCache(n,e,i.importedSymbols);if(s&&(!s.isImportFound||!s.isNamespacePackage||this._isNamespacePackageResolved(i,s.implicitImports)))return s;const o=this._resolveBestAbsoluteImport(t,n,i,!0);if(o)return o.isStubFile&&(o.nonStubImportResult=this._resolveBestAbsoluteImport(t,n,i,!1)||r),this.addResultsToCache(n,e,o,i.importedSymbols)}return this.addResultsToCache(n,e,r,void 0)}getCompletionSuggestions(e,t,n){const i=this._getCompletionSuggestionsStrict(e,t,n);if(n.leadingDots>0)return i;const s=this.getParentImportResolutionRoot(e,t.root);let r=(0,A.ensureTrailingDirectorySeparator)((0,A.getDirectoryPath)((0,A.normalizePathCase)(this.fileSystem,(0,A.normalizePath)(e))));for(;this._shouldWalkUp(r,s,t);){let s;if(this._getCompletionSuggestionsAbsolute(e,t,r,n,i,!1),[s,r]=this._tryWalkUp(r),!s)break}return i}getConfigOption(){return this._configOptions}_getCompletionSuggestionsStrict(e,t,n){const i=[],s=new Set;if(n.leadingDots>0)this._getCompletionSuggestionsRelative(e,t,n,s);else{n.nameParts.length>0&&this._getCompletionSuggestionsTypeshedPath(e,t,n,!0,s),t.root&&this._getCompletionSuggestionsAbsolute(e,t,t.root,n,s);for(const i of t.extraPaths)this._getCompletionSuggestionsAbsolute(e,t,i,n,s);this._configOptions.stubPath&&this._getCompletionSuggestionsAbsolute(e,t,this._configOptions.stubPath,n,s),this._getCompletionSuggestionsTypeshedPath(e,t,n,!1,s);const r=this.getPythonSearchPaths(i);for(const i of r)this._getCompletionSuggestionsAbsolute(e,t,i,n,s)}return s}getSourceFilesFromStub(e,t,n){const i=[];if(this._cachedImportResults.forEach((t=>{t.forEach((t=>{if(t.isStubFile&&t.isImportFound&&t.nonStubImportResult&&t.resolvedPaths[t.resolvedPaths.length-1]===e&&t.nonStubImportResult.isImportFound){const e=t.nonStubImportResult.resolvedPaths[t.nonStubImportResult.resolvedPaths.length-1];(e.endsWith(".py")||e.endsWith(".pyi"))&&i.push(e)}}))})),0===i.length){const t=(0,A.changeAnyExtension)(e,".py");this.dirExistsCached(t)&&i.push(t)}if(0===i.length){const n=this.getImportRoots(t),s=[];for(const t of n)if((0,A.containsPath)(t,e,!0)){const n=(0,A.getRelativePathComponentsFromDirectory)(t,e,!0);if(n.length>1){n[1].endsWith(a.stubsSuffix)&&(n[1]=n[1].substr(0,n[1].length-a.stubsSuffix.length));const e=(0,A.combinePathComponents)(n);e&&s.push(e)}}for(const e of s)for(const t of n){const n=(0,A.resolvePaths)(t,e);let s=(0,A.changeAnyExtension)(n,".py");if(this.fileExistsCached(s))i.push(s);else{const e=(0,A.stripFileExtension)(s);e.endsWith("__init__")?(s=e.substr(0,e.length-9)+".py",this.fileExistsCached(s)&&i.push(s)):(s=(0,A.combinePaths)(e,"__init__.py"),this.fileExistsCached(s)&&i.push(s))}}}return i}getModuleNameForImport(e,t){const n=(0,o.getOrAdd)(this._cachedModuleNameResults,t.root,(()=>new Map));return(0,o.getOrAdd)(n,e,(()=>this._getModuleNameForImport(e,t)))}_getModuleNameForImport(e,t){let n,i=0,s=!1;const r=[],o=this._getStdlibTypeshedPath(t,r);if(o&&(n=this.getModuleNameFromPath(o,e),n)){const e={leadingDots:0,nameParts:n.split("."),importedSymbols:void 0};if(this._isStdlibTypeshedStubValidForVersion(e,t,[]))return{moduleName:n,importType:i,isLocalTypingsFile:s}}t.root&&(n=this.getModuleNameFromPath(t.root,e),i=2);for(const s of t.extraPaths){const t=this.getModuleNameFromPath(s,e);(!n||t&&t.length0&&(0,o.appendArray)(i,a),i}readdirEntriesCached(e){const t=this._cachedEntriesForPath.get(e);if(t)return t;let n;try{n=this.fileSystem.readdirEntriesSync(e)}catch{n=[]}return this._cachedEntriesForPath.set(e,n),n}fileExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=(0,A.tryStat)(this.fileSystem,e))||void 0===t?void 0:t.isFile())&&void 0!==n&&n;const s=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==s?void 0:s.isFile())return!0;if(null==s?void 0:s.isSymbolicLink()){const t=(0,A.tryRealpath)(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&(0,A.isFile)(this.fileSystem,t))return!0}return!1}dirExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=(0,A.tryStat)(this.fileSystem,e))||void 0===t?void 0:t.isDirectory())&&void 0!==n&&n;const s=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==s?void 0:s.isDirectory())return!0;if(null==s?void 0:s.isSymbolicLink()){const t=(0,A.tryRealpath)(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&(0,A.isDirectory)(this.fileSystem,t))return!0}return!1}ensurePartialStubPackages(e){if(!u.SupportPartialStubs.is(this.fileSystem))return!1;if(this.fileSystem.isPartialStubPackagesScanned(e))return!1;const t=this.fileSystem,n=[],i=[],s=this.getTypeshedPathEx(e,n);return r(this._configOptions.stubPath),r(e.root),e.extraPaths.forEach((e=>r(e))),r(s),this.getPythonSearchPaths(n).forEach((e=>r(e))),this.fileSystem.processPartialStubPackages(i,this.getImportRoots(e),s),this._invalidateFileSystemCache(),!0;function r(e){e&&!t.isPathScanned(e)&&i.push(e)}}addResultsToCache(e,t,n,i){return(0,o.getOrAdd)(this._cachedImportResults,e.root,(()=>new Map)).set(t,n),this.filterImplicitImports(n,i)}resolveAbsoluteImport(e,t,n,i,s,r=!1,o=!1,a=!1,A=!0,l=!1){if(A&&a){const o=this._resolveAbsoluteImport(e,t,n,i,s,r,!1,!0,!0,!0);if(o.packageDirectory&&(!o.isNamespacePackage||o.isImportFound))return o}return this._resolveAbsoluteImport(e,t,n,i,s,r,o,!1,A,l)}_invalidateFileSystemCache(){this._cachedEntriesForPath.clear()}_splitPath(e){const t=(0,A.getPathComponents)(e);return t.length<=1?[e,""]:[(0,A.combinePathComponents)(t.slice(0,-1)),t[t.length-1]]}_resolveAbsoluteImport(e,t,n,i,s,r,o,l,c,p){l?s.push(`Attempting to resolve stub package using root path '${e}'`):s.push(`Attempting to resolve using root path '${e}'`);const g=[];let u,d,h,C=e,y=!1,f=!1,I=!1,E=!1,T=[];if(0===n.nameParts.length){const e="__init__",t=(0,A.combinePaths)(C,e+".py"),n=(0,A.combinePaths)(C,e+".pyi");c&&this.fileExistsCached(n)?(s.push(`Resolved import with file '${n}'`),g.push(n),I=!0):this.fileExistsCached(t)?(s.push(`Resolved import with file '${t}'`),g.push(t)):(s.push(`Partially resolved import with directory '${C}'`),g.push(""),y=!0),T=this._findImplicitImports(i,C,[t,n])}else for(let e=0;ethis._isNativeModuleFileName(Q,e)));if(e){const r=(0,A.combinePaths)(v,e);E=this._resolveNativeModuleStub(r,t,i,n,s,g)}}!E&&B?(s.push(`Partially resolved import with directory '${C}'`),g.push(""),h&&(T=this._findImplicitImports(i,C,[_,w]),y=!0)):E&&s.push(`Did not find file '${w}' or '${_}'`)}break}const B=g.length>0&&g.length0:g.length>=n.nameParts.length,{importName:i,isRelative:!1,isNamespacePackage:y,isStubPackage:f,isImportFound:h,isPartlyResolved:B,importFailureInfo:s,importType:2,resolvedPaths:g,searchPath:e,isStubFile:I,isNativeLib:E,implicitImports:T,pyTypedInfo:d,filteredImplicitImports:T,packageDirectory:u}}getTypeshedPathEx(e,t){}resolveImportEx(e,t,n,i,s=[],r=!0){}resolveNativeImportEx(e,t,n=[]){}getNativeModuleName(e){const t=(0,A.getFileExtension)(e,!1).toLowerCase();if(this._isNativeModuleFileExtension(t))return(0,A.stripFileExtension)((0,A.stripFileExtension)(e))}_lookUpResultsInCache(e,t,n){const i=this._cachedImportResults.get(e.root);if(!i)return;const s=i.get(t);return s?this.filterImplicitImports(s,n):void 0}_isNamespacePackageResolved(e,t){if(e.importedSymbols){if(!e.importedSymbols.some((e=>t.some((t=>t.name===e)))))return!1}else if(0===t.length)return!1;return!0}getModuleNameFromPath(e,t,n=!1){e=(0,A.ensureTrailingDirectorySeparator)(e);let i=(0,A.stripFileExtension)(t);if(this._isNativeModuleFileExtension((0,A.getFileExtension)(t))&&(i=(0,A.stripFileExtension)(i)),!i.startsWith(e))return;i.endsWith("__init__")&&(i=i.substr(0,i.length-9));const s=i.substr(e.length),r=(0,A.getPathComponents)(s);if(r.shift(),n){if(0===r.length)return;r.shift()}return 0===r.length||(r[0].endsWith(a.stubsSuffix)&&(r[0]=r[0].substr(0,r[0].length-a.stubsSuffix.length)),r.some((e=>!this._isIdentifier(e))))?void 0:r.join(".")}_resolveBestAbsoluteImport(e,t,n,i){const s=this.formatImportName(n),r=[];if(i&&this._configOptions.stubPath){r.push(`Looking in stubPath '${this._configOptions.stubPath}'`);const e=this.resolveAbsoluteImport(this._configOptions.stubPath,t,n,s,r,void 0,!1,!0,i,!1);if(e.isImportFound){if(e.importType=2,e.isLocalTypingsFile=!0,!e.isNamespacePackage||e.resolvedPaths[e.resolvedPaths.length-1])return e;if(this._isNamespacePackageResolved(n,e.implicitImports))return e}}let o,a;t.root&&(r.push(`Looking in root directory of execution environment '${t.root}'`),a=this.resolveAbsoluteImport(t.root,t,n,s,r,void 0,!0,!0,i,!1),o=a);for(const e of t.extraPaths)r.push(`Looking in extraPath '${e}'`),a=this.resolveAbsoluteImport(e,t,n,s,r,void 0,!0,!0,i,!1),o=this._pickBestImport(o,a,n);const A=this.getPythonSearchPaths(r);if(A.length>0)for(const e of A){r.push(`Looking in python search path '${e}'`);const a=this.resolveAbsoluteImport(e,t,n,s,r,!1,!0,!0,i,!0);a&&(a.importType=1,o=this._pickBestImport(o,a,n))}else r.push("No python interpreter search path");if(t.root!==this._getTypeshedRoot(t,r)&&(null==o?void 0:o.pyTypedInfo)&&!o.isPartlyResolved)return o;const l=this.resolveImportEx(e,t,n,s,r,i);if(l)return l;if(i&&n.nameParts.length>0){r.push("Looking for typeshed stdlib path");const e=this._findTypeshedPath(t,n,s,!0,r);if(e)return e.isStdlibTypeshedFile=!0,e;r.push("Looking for typeshed third-party path");const i=this._findTypeshedPath(t,n,s,!1,r);i&&(i.isThirdPartyTypeshedFile=!0,o=this._pickBestImport(o,i,n))}return o}_pickBestImport(e,t,n){if(!e)return t;if(!t)return e;if(t.isImportFound){if(!e.isImportFound)return t;if(e.isNamespacePackage&&!t.isNamespacePackage)return t;if(2===e.importType&&!e.isNamespacePackage)return e;if(e.isNamespacePackage&&t.isNamespacePackage&&n.importedSymbols&&!this._isNamespacePackageResolved(n,e.implicitImports)&&this._isNamespacePackageResolved(n,t.implicitImports))return t;if(e.pyTypedInfo&&!t.pyTypedInfo)return e;if(!e.pyTypedInfo&&t.pyTypedInfo)return t;if(e.isStubFile&&!t.isStubFile)return e;if(!e.isStubFile&&t.isStubFile)return t;if(e.resolvedPaths.length>t.resolvedPaths.length)return t}else if(t.isPartlyResolved&&e.isNamespacePackage&&!t.isNamespacePackage)return t;return e}_isIdentifier(e){for(let t=0;tthis.fileSystem.realCasePath(e)));this._cachedPythonSearchPaths=[...new Set(t)]}return this._cachedPythonSearchPaths}_findTypeshedPath(e,t,n,i,s){let r;if(s.push(`Looking for typeshed ${i?C.stdLibFolderName:C.thirdPartyFolderName} path`),i){const n=this._getStdlibTypeshedPath(e,s,t);n&&(r=[n])}else r=this._getThirdPartyTypeshedPackagePaths(t,e,s);if(r)for(const o of r)if(this.dirExistsCached(o)){const r=this.resolveAbsoluteImport(o,e,t,n,s);if(r.isImportFound)return r.importType=i?0:1,r}s.push("Typeshed path not found")}_buildTypeshedThirdPartyPackageMap(e){this._cachedTypeshedThirdPartyPackagePaths=new Map,e&&this.readdirEntriesCached(e).forEach((t=>{if(t.isDirectory()){const n=(0,A.combinePaths)(e,t.name);this.readdirEntriesCached(n).forEach((e=>{if("@python2"!==e.name)if(e.isDirectory()){const t=this._cachedTypeshedThirdPartyPackagePaths.get(e.name);t?t.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(e.name,[n])}else if(e.isFile()&&e.name.endsWith(".pyi")){const t=(0,A.stripFileExtension)(e.name),i=this._cachedTypeshedThirdPartyPackagePaths.get(t);i?i.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(t,[n])}}))}}));const t=[...this._cachedTypeshedThirdPartyPackagePaths.values()].flatMap((e=>e));this._cachedTypeshedThirdPartyPackageRoots=[...new Set(t)].sort()}_getCompletionSuggestionsTypeshedPath(e,t,n,i,s){const r=[];let o;if(i){const e=this._getStdlibTypeshedPath(t,r,n);e&&(o=[e])}else{o=this._getThirdPartyTypeshedPackagePaths(n,t,r,!1);const e=this.getTypeshedPathEx(t,r);e&&(o=null!=o?o:[],o.push(e))}o&&o.forEach((i=>{this.dirExistsCached(i)&&this._getCompletionSuggestionsAbsolute(e,t,i,n,s)}))}_getStdlibTypeshedPath(e,t,n){const i=this._getTypeshedSubdirectory(!0,e,t);if(!i||!n||this._isStdlibTypeshedStubValidForVersion(n,e,t))return i}_getThirdPartyTypeshedPath(e,t){return this._getTypeshedSubdirectory(!1,e,t)}_isStdlibTypeshedStubValidForVersion(e,t,n){this._cachedTypeshedStdLibModuleVersions||(this._cachedTypeshedStdLibModuleVersions=this._readTypeshedStdLibVersions(t,n));for(let n=1;n<=e.nameParts.length;n++){const i=e.nameParts.slice(0,n),s=this._cachedTypeshedStdLibModuleVersions.get(i.join("."));if(s){if(t.pythonVersions.max)return!1}}return!0}_readTypeshedStdLibVersions(e,t){const n=new Map,i=this._getTypeshedSubdirectory(!0,e,t);if(i){const e=(0,A.combinePaths)(i,"VERSIONS");try{const i=this.fileSystem.statSync(e);i.size>0&&i.size<262144?this.fileSystem.readFileSync(e,"utf8").split(/\r?\n/).forEach((e=>{const t=e.split("#")[0].split(":");if(2!==t.length)return;const i=t[1].split("-");if(i.length>2)return;const s=t[0].trim();if(!s)return;let r=i[0].trim();r.endsWith("+")&&(r=r.substr(0,r.length-1));let o,a=(0,l.versionFromString)(r);a||(a=l.PythonVersion.V3_0),i.length>1&&(o=(0,l.versionFromString)(i[1].trim())),n.set(s,{min:a,max:o})})):t.push("Typeshed stdlib VERSIONS file is unexpectedly large")}catch(e){t.push(`Could not read typeshed stdlib VERSIONS file: '${JSON.stringify(e)}'`)}}return n}_getThirdPartyTypeshedPackagePaths(e,t,n,i=!0){const s=this._getThirdPartyTypeshedPath(t,n);this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(s);const r=e.nameParts.length>0?e.nameParts[0]:"";return i?this._cachedTypeshedThirdPartyPackagePaths.get(r):r?(0,o.flatten)((0,o.getMapValues)(this._cachedTypeshedThirdPartyPackagePaths,(e=>e.startsWith(r)))):[]}_getThirdPartyTypeshedPackageRoots(e,t){const n=this._getThirdPartyTypeshedPath(e,t);return this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(n),this._cachedTypeshedThirdPartyPackageRoots}_getTypeshedRoot(e,t){if(void 0!==this._cachedTypeshedRoot)return this._cachedTypeshedRoot;let n="";if(this._configOptions.typeshedPath){const e=this._configOptions.typeshedPath;this.dirExistsCached(e)&&(n=e)}else{const e=this.getPythonSearchPaths(t);for(const t of e){const e=(0,A.combinePaths)(t,"typeshed");if(this.dirExistsCached(e)){n=e;break}}}return n||(n=C.getTypeShedFallbackPath(this.fileSystem)||""),this._cachedTypeshedRoot=n,n}_getTypeshedSubdirectory(e,t,n){if(e){if(void 0!==this._cachedTypeshedStdLibPath)return this._cachedTypeshedStdLibPath}else if(void 0!==this._cachedTypeshedThirdPartyPath)return this._cachedTypeshedThirdPartyPath;let i=this._getTypeshedRoot(t,n);if(i=C.getTypeshedSubdirectory(i,e),this.dirExistsCached(i))return e?this._cachedTypeshedStdLibPath=i:this._cachedTypeshedThirdPartyPath=i,i}_resolveRelativeImport(e,t,n,i,s){s.push("Attempting to resolve relative import");const r=(0,d.getDirectoryLeadingDotsPointsTo)((0,A.getDirectoryPath)(e),n.leadingDots);if(!r)return void s.push(`Invalid relative path '${i}'`);const o=this.resolveAbsoluteImport(r,t,n,i,s,!1,!0);return o&&o.isStubFile&&(o.nonStubImportResult=this.resolveAbsoluteImport(r,t,n,i,s,!1,!0,!1,!1)||{importName:i,isRelative:!0,isImportFound:!1,isPartlyResolved:!1,isNamespacePackage:!1,isStubPackage:!1,importFailureInfo:s,resolvedPaths:[],importType:2,isStubFile:!1,isNativeLib:!1,implicitImports:[],filteredImplicitImports:[],nonStubImportResult:void 0}),this.filterImplicitImports(o,n.importedSymbols)}_getCompletionSuggestionsRelative(e,t,n,i){const s=(0,d.getDirectoryLeadingDotsPointsTo)((0,A.getDirectoryPath)(e),n.leadingDots);s&&this._getCompletionSuggestionsAbsolute(e,t,s,n,i)}_getFilesInDirectory(e){const t=this.readdirEntriesCached(e),n=t.filter((e=>e.isFile())).map((e=>e.name));return t.forEach((t=>{var i;const s=(0,A.combinePaths)(e,t.name);t.isSymbolicLink()&&(null===(i=(0,A.tryStat)(this.fileSystem,s))||void 0===i?void 0:i.isFile())&&n.push(t.name)})),n}_getCompletionSuggestionsAbsolute(e,t,n,i,s,r=!0){let o=n;const a=i.nameParts.map((e=>e));i.hasTrailingDot&&a.push("");const l=i.leadingDots,c=a.slice(0,-1);if(0===a.length)this._addFilteredSuggestionsAbsolute(e,t,o,"",s,l,c,r);else for(let n=0;n{const c=(0,A.getFileExtension)(i,!1).toLowerCase(),g=(0,A.stripFileExtension)(i,!0);if(t.supportedFileExtensions.some((e=>e===c))){if("__init__"===g)return;if(s&&!p.isPatternInSymbol(s,g))return;if(!this._isUniqueValidSuggestion(g,r)||!this._isResolvableSuggestion(g,o,a,e,n,l))return;r.add(g)}})),c.directories.forEach((t=>{s&&!t.startsWith(s)||this._isUniqueValidSuggestion(t,r)&&this._isResolvableSuggestion(t,o,a,e,n,l)&&r.add(t)}))}_isResolvableSuggestion(e,t,n,i,s,r){const o={leadingDots:t,nameParts:[...n,e],importedSymbols:[]};if(r){const e=this.formatImportName(o),t=[];return this._resolveImportStrict(e,i,s,o,t).isImportFound}return this._resolveImport(i,s,o).isImportFound}_isUniqueValidSuggestion(e,t){return!(t.has(e)||/[.-]/.test(e)||(0,y.isDunderName)(e)&&"__future__"!==e)}filterImplicitImports(e,t){if(void 0===t){const t=Object.assign({},e);return t.filteredImplicitImports=[],t}if(0===t.length)return e;if(0===e.implicitImports.length)return e;const n=e.implicitImports.filter((e=>t.some((t=>t===e.name))));if(n.length===e.implicitImports.length)return e;const i=Object.assign({},e);return i.filteredImplicitImports=n,i}_findImplicitImports(e,t,n){const i=new Map,s=(0,A.getFileSystemEntriesFromDirEntries)(this.readdirEntriesCached(t),this.fileSystem,t);for(const r of s.files){const s=(0,A.getFileExtension)(r);let o,a=!1;if(".py"===s||".pyi"===s)o=(0,A.stripFileExtension)(r);else{if(!this._isNativeModuleFileExtension(s)||this.fileExistsCached(`${r}.py`)||this.fileExistsCached(`${r}.pyi`))continue;o=r.substr(0,r.indexOf(".")),a=!0}const l=(0,A.combinePaths)(t,r);if(!n.find((e=>e===l))){const n={isStubFile:r.endsWith(".pyi"),isNativeLib:a,name:o,path:l},s=i.get(n.name);if(!s||!s.isStubFile){if(a){const i=(0,A.combinePaths)(t,r),s=this.resolveNativeImportEx(i,`${e}.${o}`,[]);s&&(n.path=s,n.isNativeLib=!1)}i.set(n.name,n)}}}for(const e of s.directories){const s=(0,A.combinePaths)(t,e,"__init__.py"),r=s+"i";let o=!1,a="";if(this.fileExistsCached(r)?(o=!0,a=r):this.fileExistsCached(s)&&(a=s),a&&!n.find((e=>e===a))){const t={isStubFile:o,isNativeLib:!1,name:e,path:a};i.set(t.name,t)}}return[...i.values()]}formatImportName(e){return".".repeat(e.leadingDots)+e.nameParts.join(".")}_resolveNativeModuleStub(e,t,n,i,s,r){let o=n;if(i.leadingDots>0){const n=this.getModuleNameForImport(e,t);o=n.moduleName.length>0?n.moduleName:o}const a=this.resolveNativeImportEx(e,o,s);return a?(s.push(`Resolved native import ${n} with stub '${a}'`),r.push(a),!1):(s.push(`Resolved import with file '${e}'`),r.push(e),!0)}_isNativeModuleFileName(e,t){const n=(0,A.getFileExtension)(t,!1).toLowerCase(),i=(0,A.stripFileExtension)(t,!0);return this._isNativeModuleFileExtension(n)&&(0,c.equateStringsCaseInsensitive)(e,i)}_isNativeModuleFileExtension(e){return f.some((t=>t===e))}_tryWalkUp(e){return(0,A.isDiskPathRoot)(e)?[!1,""]:[!0,(0,A.ensureTrailingDirectorySeparator)((0,A.normalizePathCase)(this.fileSystem,(0,A.normalizePath)((0,A.combinePaths)(e,".."))))]}_shouldWalkUp(e,t,n){return e.length>t.length||e===t&&!n.root}getParentImportResolutionRoot(e,t){return t?(0,A.ensureTrailingDirectorySeparator)((0,A.normalizePathCase)(this.fileSystem,(0,A.normalizePath)(t))):(0,A.ensureTrailingDirectorySeparator)((0,A.getDirectoryPath)(e))}}},7012:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getResolvedFilePath=t.getDirectoryLeadingDotsPointsTo=t.getRelativeModuleName=t.getTextRangeForImportNameDeletion=t.getImportGroupFromModuleNameAndType=t.getAllImportNames=t.getContainingImportStatement=t.getTextEditsForAutoImportInsertion=t.getTextEditsForAutoImportInsertions=t.getTextEditsForAutoImportSymbolAddition=t.getTopLevelImports=t.compareImportStatements=t.getImportGroup=void 0;const o=n(3213),a=n(9489),A=n(6657),l=n(1464),c=n(7559),p=n(3550),g=r(n(563)),u=r(n(1766));function d(e){return e.importResult?0===e.importResult.importType?0:1===e.importResult.importType||e.importResult.isLocalTypingsFile?1:e.importResult.isRelative?3:2:2}function h(e){return u.isConstantName(e)?0:u.isTypeAliasName(e)?1:2}function C(e,t){const n=h(e)-h(t);if(0!==n)return n;const i=e.replace(/_/g,"="),s=t.replace(/_/g,"=");return(0,c.compareStringsCaseSensitive)(i,s)}function m(e,t,n,i){let s;for(const t of n.imports){if(C(t.name.value,e)>0)break;s=t}let r=!1,o="";if(n.imports.length>0){const e=(0,l.convertOffsetToPosition)(n.start,i.tokenizerOutput.lines),t=(0,l.convertOffsetToPosition)(n.imports[0].start,i.tokenizerOutput.lines),s=n.imports.length>1?(0,l.convertOffsetToPosition)(n.imports[1].start,i.tokenizerOutput.lines):void 0;if(t.line>e.line&&(void 0===s||s.line>t.line)){const e=i.tokenizerOutput.lines.getItemAt(t.line);o=i.text.substr(e.start,t.character),/^\s*$/.test(o)&&(r=!0)}}const a=s?p.TextRange.getEnd(s):n.imports.length>0?n.imports[0].start:n.start+n.length,A=(0,l.convertOffsetToPosition)(a,i.tokenizerOutput.lines),c=t?`${e} as ${t}`:`${e}`;let g;if(r){const e=i.tokenizerOutput.predominantEndOfLineSequence;g=s?`,${e}${o}${c}`:`${c},${e}${o}`}else g=s?`, ${c}`:`${c}, `;return{range:{start:A,end:A},importName:e,replacementText:g}}function y(e,t){if(t.length<2)return t.map((e=>s(e)));const n=[...(0,a.createMapFromItems)(t,(e=>`${e.importGroup} ${p.Range.print(e.range)}`))].sort(((e,t)=>(0,c.compareStringsCaseSensitive)(e[0],t[0]))).map((e=>e[1])),i=[];for(const t of n)1===t.length?i.push(s(t[0])):i.push({range:t[0].range,replacementText:t[0].preChange+t.map((e=>e.importStatement)).sort(((e,t)=>r(e,t))).join(e.tokenizerOutput.predominantEndOfLineSequence)+t[0].postChange});return i;function s(e){return{range:e.range,replacementText:e.preChange+e.importStatement+e.postChange}}function r(e,t){const n=e.startsWith("import");return n===t.startsWith("import")?ee.name?"from":"import")),c=A.get("import");c&&h(c,(e=>`import ${e.join(", ")}`));const g=A.get("from");return g&&h(g,(e=>{var n;return`from ${null!==(n=t.nameForImportFrom)&&void 0!==n?n:t.name} import ${e.join(", ")}`})),o;function h(e,A){const c=e.map((e=>function(e,t){const n=e.name?e.name:t;return{sortText:n,text:e.alias?`${n} as ${e.alias}`:n}}(e,t.name))).sort(((e,t)=>C(e.sortText,t.sortText))).reduce(((e,t)=>(0,a.addIfUnique)(e,t.text)),[]);o.push(function(e,t,n,i,s,r){let o,a="",A="";const c=(0,l.convertPositionToOffset)(r,s.tokenizerOutput.lines);if(t.orderedImports.length>0&&c>t.orderedImports[0].node.start){let e=!0,r=t.orderedImports[0],c=0;for(const o of t.orderedImports){const A=o.importResult?d(o):c;if(in)break;if(o.followsNonImportStatement){i>c&&(a=s.tokenizerOutput.predominantEndOfLineSequence+a);break}o===t.orderedImports[t.orderedImports.length-1]&&i>A&&(a=s.tokenizerOutput.predominantEndOfLineSequence+a),e=!e&&ie.value)).join("."),t}function E(e){let t=2;return e.isLocalTypingsFile||1===e.importType?t=1:0===e.importType&&(t=0),t}t.getImportGroup=d,t.compareImportStatements=function(e,t){const n=d(e),i=d(t);return ni?1:e.moduleName{47===e.nodeType?e.statements.forEach((e=>{20===e.nodeType?(s=!0,function(e,t,n){e.list.forEach((i=>{const s=g.getImportInfo(i.module);let r;s&&s.isImportFound&&(r=s.resolvedPaths[s.resolvedPaths.length-1]);const o={node:e,subnode:i,importResult:s,resolvedPath:r,moduleName:I(i.module),followsNonImportStatement:n};t.orderedImports.push(o),r&&(t.mapByFilePath.has(r)||t.mapByFilePath.set(r,o))}))}(e,n,i),i=!1):22===e.nodeType?(s=!0,function(e,t,n,i){var s;const r=g.getImportInfo(e.module);let o;if(r&&r.isImportFound&&(o=r.resolvedPaths[r.resolvedPaths.length-1]),i&&r){t.implicitImports=null!==(s=t.implicitImports)&&void 0!==s?s:new Map;for(const n of r.implicitImports){const i=e.imports.find((e=>e.name.value===n.name));i&&t.implicitImports.set(n.path,i)}}const a={node:e,importResult:r,resolvedPath:o,moduleName:I(e.module),followsNonImportStatement:n};if(t.orderedImports.push(a),o){const e=t.mapByFilePath.get(o);(!e||20===e.node.nodeType||e.moduleName.length>a.moduleName.length)&&t.mapByFilePath.set(o,a)}}(e,n,i,t),i=!1):i=s})):i=s})),n},t.getTextEditsForAutoImportSymbolAddition=function(e,t,n){const i=[];if(!t.node||22!==t.node.nodeType||t.node.isWildcardImport)return i;const s=t.node;if(0===(e=(Array.isArray(e)?e:[e]).filter((e=>!!e.name&&!s.imports.some((t=>t.name.value===e.name&&t.alias===e.alias))))).length)return i;for(const s of e)i.push(m(s.name,s.alias,t.node,n));const r=(0,a.createMapFromItems)(i,(e=>p.Range.print(e.range))),o=[];for(const e of r.values())1===e.length?o.push(e[0]):o.push({range:e[0].range,replacementText:e.sort(((e,t)=>C(e.importName,t.importName))).map((e=>e.replacementText)).join("")});return o},t.getTextEditsForAutoImportInsertions=function(e,t,n,i){const s=[];if(0===(e=Array.isArray(e)?e:[e]).length)return[];const r=(0,a.createMapFromItems)(e,(e=>{var t;return`${e.module.moduleName}-${null!==(t=e.nameForImportFrom)&&void 0!==t?t:""}`}));for(const e of r.values())s.push(...f(e,{name:e[0].module.moduleName,nameForImportFrom:e[0].nameForImportFrom},t,E(e[0].module),n,i));return y(n,s)},t.getTextEditsForAutoImportInsertion=function(e,t,n,i,s,r){return y(s,f(e,t,n,i,s,r))},t.getContainingImportStatement=function(e,t){for(;e&&((0,o.throwIfCancellationRequested)(t),20!==e.nodeType&&22!==e.nodeType);)e=e.parent;return e},t.getAllImportNames=function(e){return 20===e.nodeType?e.list:e.imports},t.getImportGroupFromModuleNameAndType=E,t.getTextRangeForImportNameDeletion=function(e,...t){const n=[];for(const i of function(e){if(0===e.length)return[];if(1===e.length)return[{start:e[0],end:e[0]}];const t=[];let n=e[0],i=n;for(const s of e)i!==s&&(i+1!==s?(t.push({start:n,end:i}),n=s,i=s):i=s);return t.push({start:n,end:i}),t}(t)){const t=e[i.start],s=e[i.end];if(0===i.start&&e.length===i.end-i.start+1)n.push(p.TextRange.fromBounds(t.start,p.TextRange.getEnd(s)));else if(i.end===e.length-1){const t=p.TextRange.getEnd(e[i.start-1]),r=p.TextRange.getEnd(s)-t;n.push({start:t,length:r})}else{const s=t.start,r=e[i.end+1].start-s;n.push({start:s,length:r})}}return n},t.getRelativeModuleName=function(e,t,n,i=!1,s){let r,o=t;(s=void 0!==s?s:(0,A.isFile)(e,t))&&(o=(0,A.getDirectoryPath)(t));let a=n;if(s){a=(0,A.getDirectoryPath)(n);const e=(0,A.stripFileExtension)((0,A.getFileName)(n));"__init__"!==e?r=e:i&&(r=(0,A.getFileName)(a),a=(0,A.getDirectoryPath)(a))}const l=(0,A.getRelativePathComponentsFromDirectory)(o,a,(t=>e.realCasePath(t)));let c=".";for(let e=1;e(0,g.isInstantiableClass)(e)&&g.ClassType.isBuiltIn(e,"NamedTuple")));if(i<0||e.details.mro.length{o.push({type:e,isUnbounded:!1})})):o.push({type:t.length>0?(0,g.combineTypes)(t):g.UnknownType.create(),isUnbounded:!0});const a=(0,u.specializeTupleClass)(r,o,n),A=g.ClassType.cloneForSpecialization(s,[],n);A.details={...A.details},A.details.mro=[...A.details.mro],A.details.mro[1]=a.details.mro[0],A.details.baseClasses=A.details.baseClasses.map((e=>(0,g.isInstantiableClass)(e)&&(0,u.isTupleClass)(e)?a:e)),e.details.mro[i]=A,e.details.mro[i+1]=a,e.details.baseClasses=e.details.baseClasses.map((e=>(0,g.isInstantiableClass)(e)&&g.ClassType.isBuiltIn(e,"NamedTuple")?A:e))}t.createNamedTupleType=function(e,t,n,i){var s,r,h;const C=(0,l.getFileInfo)(t);let m="namedtuple";if(0===n.length)e.addError(A.Localizer.Diagnostic.namedTupleFirstArg(),t);else{const i=n[0];0!==i.argumentCategory?e.addError(A.Localizer.Diagnostic.namedTupleFirstArg(),n[0].valueExpression||t):i.valueExpression&&48===i.valueExpression.nodeType&&(m=i.valueExpression.strings.map((e=>e.value)).join(""))}const y=n.find((e=>{var t;return"defaults"===(null===(t=e.name)||void 0===t?void 0:t.value)}));let f=0;if(y&&y.valueExpression){const t=e.getTypeOfExpression(y.valueExpression).type;f=(0,g.isClassInstance)(t)&&(0,u.isTupleClass)(t)&&!(0,u.isUnboundedTupleClass)(t)&&t.tupleTypeArguments?t.tupleTypeArguments.length:void 0}const I=e.getTypingType(t,"NamedTuple")||g.UnknownType.create(),E=g.ClassType.createInstantiable(m,c.getClassFullName(t,C.moduleName,m),C.moduleName,C.filePath,16777216,c.getTypeSourceId(t),void 0,(0,g.isInstantiableClass)(I)?I.details.effectiveMetaclass:g.UnknownType.create());E.details.baseClasses.push(I),E.details.typeVarScopeId=e.getScopeIdForNode(t);const T=E.details.fields;T.set("__class__",p.Symbol.createWithType(68,E));const B=(0,u.synthesizeTypeVarForSelfCls)(E,!0),v=g.FunctionType.createSynthesizedInstance("__new__",1);v.details.declaredReturnType=(0,u.convertToInstance)(B),c.isAssignmentToDefaultsFollowingNamedTuple(t)&&(v.details.flags|=32),g.FunctionType.addParameter(v,{category:0,name:"cls",type:B,hasDeclaredType:!0});const Q=[],_={category:0,name:"self",type:(0,u.synthesizeTypeVarForSelfCls)(E,!1),hasDeclaredType:!0};let w=!1;const D=[];if(n.length<2)e.addError(A.Localizer.Diagnostic.namedTupleSecondArg(),t),w=!0;else{const t=n[1];if(0!==t.argumentCategory)w=!0;else if(!i&&t.valueExpression&&48===t.valueExpression.nodeType){const e=t.valueExpression.strings.map((e=>e.value)).join("").split(/[,\s]+/),n=void 0===f?0:Math.max(0,e.length-f);e.forEach(((e,s)=>{if(e=e.trim()){const r=g.UnknownType.create(),A={category:0,name:e,type:r,hasDeclaredType:i,hasDefault:s>=n};g.FunctionType.addParameter(v,A);const l=p.Symbol.createWithType(8,r);Q.push(e);const c=t.valueExpression,u={type:1,node:c,isRuntimeTypeExpression:!0,path:C.filePath,range:(0,o.convertOffsetsToRange)(c.start,a.TextRange.getEnd(c),C.lines),moduleName:C.moduleName,isInExceptSuite:!1};l.addDeclaration(u),T.set(e,l),D.push(r)}}))}else if(31===(null===(s=t.valueExpression)||void 0===s?void 0:s.nodeType)||52===(null===(r=t.valueExpression)||void 0===r?void 0:r.nodeType)){const n=t.valueExpression,s=new Map,r=31===(null===(h=t.valueExpression)||void 0===h?void 0:h.nodeType)?t.valueExpression.entries:t.valueExpression.expressions,l=void 0===f?0:Math.max(0,r.length-f);r.forEach(((t,n)=>{let r,c,d,h="";i?52===t.nodeType&&2===t.expressions.length?(d=t.expressions[0],r=t.expressions[1],c=(0,u.convertToInstance)(e.getTypeOfExpressionExpectingType(r,!1).type)):e.addError(A.Localizer.Diagnostic.namedTupleNameType(),t):(d=t,c=g.UnknownType.create()),d&&48===d.nodeType?(h=d.strings.map((e=>e.value)).join(""),h||e.addError(A.Localizer.Diagnostic.namedTupleEmptyName(),d)):w=!0,h||(h=`_${n.toString()}`),s.has(h)&&e.addError(A.Localizer.Diagnostic.namedTupleNameUnique(),d||t),s.set(h,h),c||(c=g.UnknownType.create());const m={category:0,name:h,type:c,hasDeclaredType:i,hasDefault:n>=l};g.FunctionType.addParameter(v,m),D.push(c),Q.push(h);const y=p.Symbol.createWithType(2056,c);if(d&&48===d.nodeType){const e={type:1,node:d,path:C.filePath,typeAnnotationNode:r,range:(0,o.convertOffsetsToRange)(d.start,a.TextRange.getEnd(d),C.lines),moduleName:C.moduleName,isInExceptSuite:!1};y.addDeclaration(e)}T.set(h,y)})),e.setTypeForNode(n)}else w=!0}w&&(v.details.parameters=[],g.FunctionType.addDefaultParameters(v),D.push(g.AnyType.create(!1)),D.push(g.AnyType.create(!0)));const S=g.FunctionType.createSynthesizedInstance("__init__",128);g.FunctionType.addParameter(S,_),g.FunctionType.addDefaultParameters(S),S.details.declaredReturnType=g.NoneType.createInstance(),T.set("__new__",p.Symbol.createWithType(4,v)),T.set("__init__",p.Symbol.createWithType(4,S));const b=g.FunctionType.createSynthesizedInstance("keys"),F=g.FunctionType.createSynthesizedInstance("items");b.details.declaredReturnType=e.getBuiltInObject(t,"list",[e.getBuiltInObject(t,"str")]),F.details.declaredReturnType=b.details.declaredReturnType,T.set("keys",p.Symbol.createWithType(8,b)),T.set("items",p.Symbol.createWithType(8,F));const k=g.FunctionType.createSynthesizedInstance("__len__");if(k.details.declaredReturnType=e.getBuiltInObject(t,"int"),g.FunctionType.addParameter(k,_),T.set("__len__",p.Symbol.createWithType(4,k)),w){const n=g.FunctionType.createSynthesizedInstance("__getattribute__");n.details.declaredReturnType=g.AnyType.create(),g.FunctionType.addParameter(n,_),g.FunctionType.addParameter(n,{category:0,name:"name",type:e.getBuiltInObject(t,"str")}),T.set("__getattribute__",p.Symbol.createWithType(4,n))}const N=e.getBuiltInType(t,"tuple"),P=e.getBuiltInType(t,"str");if(!w&&P&&(0,g.isInstantiableClass)(P)&&N&&(0,g.isInstantiableClass)(N)){const e=Q.map((e=>({type:g.ClassType.cloneAsInstance(g.ClassType.cloneWithLiteral(P,e)),isUnbounded:!1}))),t=g.ClassType.cloneAsInstance((0,u.specializeTupleClass)(N,e));T.set("__match_args__",p.Symbol.createWithType(4,t))}return(0,u.computeMroLinearization)(E),d(E,D,!w),E},t.updateNamedTupleBaseClass=d},1012:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ParentDirectoryCache=void 0;const i=n(9489),s=n(6657);t.ParentDirectoryCache=class{constructor(e){this._importRootGetter=e,this._importChecked=new Map,this._cachedResults=new Map,this._libPathCache=void 0}getImportResult(e,t,n){var i,s,r,o;const a=null===(i=this._cachedResults.get(t))||void 0===i?void 0:i.get(e);if(a)return null!=a?a:n;const A=null===(s=this._importChecked.get(t))||void 0===s?void 0:s.get(e);return A?A.importPath&&null!==(o=null===(r=this._cachedResults.get(t))||void 0===r?void 0:r.get(A.importPath))&&void 0!==o?o:n:void 0}checkValidPath(e,t,n){var i;return!!t.startsWith(n)&&(this._libPathCache=null!==(i=this._libPathCache)&&void 0!==i?i:this._importRootGetter().map((t=>(0,s.ensureTrailingDirectorySeparator)((0,s.normalizePathCase)(e,(0,s.normalizePath)(t))))).filter((e=>e!==n)).filter((e=>e.startsWith(n))),!this._libPathCache.some((e=>t.startsWith(e))))}checked(e,t,n){(0,i.getOrAdd)(this._importChecked,t,(()=>new Map)).set(e,n)}add(e){(0,i.getOrAdd)(this._cachedResults,e.importName,(()=>new Map)).set(e.path,e.importResult)}reset(){this._importChecked.clear(),this._cachedResults.clear(),this._libPathCache=void 0}}},4482:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.ParseTreeCleanerWalker=void 0;const o=r(n(563)),a=n(427);class A extends a.ParseTreeWalker{constructor(e){super(),this._parseTree=e}clean(){this.walk(this._parseTree)}visitNode(e){return o.cleanNodeAnalysisInfo(e),super.visitNode(e)}}t.ParseTreeCleanerWalker=A},8494:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.isWriteAccess=t.printParseNodeType=t.getTokenOverlapping=t.getTokenAt=t.getTokenAtIndex=t.getTokenAtLeft=t.getTokenIndexAtLeft=t.getCallNodeAndActiveParameterIndex=t.getEnclosingParameter=t.CallNodeWalker=t.NameNodeWalker=t.isAssignmentToDefaultsFollowingNamedTuple=t.isDocString=t.getDocString=t.isWithinAssertExpression=t.isWithinTryBlock=t.isWithinLoop=t.isWithinAnnotationComment=t.isWithinTypeAnnotation=t.isWithinDefaultParamInitializer=t.isPartialMatchingExpression=t.isMatchingExpression=t.isSuiteEmpty=t.isNodeContainedWithinNodeType=t.getParentAnnotationNode=t.getParentNodeOfType=t.isNodeContainedWithin=t.isClassVarAllowedForAssignmentTarget=t.isFinalAllowedForAssignmentTarget=t.getTypeAnnotationNode=t.getExecutionScopeNode=t.getTypeVarScopeNode=t.getEvaluationScopeNode=t.getEvaluationNodeForAssignmentExpression=t.getEnclosingSuiteOrModule=t.getEnclosingClassOrFunction=t.getEnclosingLambda=t.getEnclosingFunction=t.getEnclosingClassOrModule=t.getEnclosingModule=t.getEnclosingClass=t.getEnclosingSuite=t.printOperator=t.printExpression=t.printArgument=t.getTypeSourceId=t.getClassFullName=t.findNodeByOffset=t.findNodeByPosition=t.getNodeDepth=void 0,t.operatorSupportsChaining=t.isUnannotatedFunction=t.getFullStatementRange=t.getStringValueRange=t.getStringNodeValueRange=t.isLastNameOfDottedName=t.isFirstNameOfDottedName=t.getFirstNameOfDottedName=t.getDottedName=t.getDottedNameWithGivenNodeAsLastName=t.getFirstAncestorOrSelf=t.getFirstAncestorOrSelfOfKind=t.isLastNameOfModuleName=t.isFromImportAlias=t.isFromImportName=t.isFromImportModuleName=t.isImportAlias=t.isImportModuleName=t.getTypeAnnotationForParameter=t.isFunctionSuiteEmpty=t.getFileInfoFromNode=t.getModuleNode=void 0;const o=r(n(563)),a=n(5839),A=n(1464),l=n(3550),c=n(5275),p=n(563),g=n(427);function u(e,t){if(tl.TextRange.getEnd(e))return;const n=(new g.ParseTreeWalker).visitNode(e);for(const i of n)if(i){const n=u(i,t);if(n)return 5===e.nodeType&&n===e.leftExpression?e.destExpression:n}return e}function d(e,t){let n="";return 1===e.argumentCategory?n="*":2===e.argumentCategory&&(n="**"),e.name&&(n+=e.name.value+"="),n+=h(e.valueExpression,t),n}function h(e,t=0){switch(e.nodeType){case 38:return e.value;case 35:return h(e.leftExpression,t)+"."+e.memberName.value;case 9:return h(e.leftExpression,t)+"("+e.arguments.map((e=>d(e,t))).join(", ")+")";case 24:return h(e.baseExpression,t)+"["+e.items.map((e=>d(e,t))).join(", ")+(e.trailingComma?",":"")+"]";case 55:return C(e.operator)+h(e.expression,t);case 7:{const n=h(e.leftExpression,t)+" "+C(e.operator)+" "+h(e.rightExpression,t);return e.parenthesized?`(${n})`:n}case 40:{let t=e.value.toString();return t.endsWith("n")&&(t=t.substring(0,t.length-1)),e.isImaginary&&(t+="j"),t}case 48:return 1&t&&e.typeAnnotation?h(e.typeAnnotation,t):e.strings.map((e=>h(e,t))).join(" ");case 49:{let n="";8&e.token.flags&&(n+="r"),16&e.token.flags&&(n+="u"),32&e.token.flags&&(n+="b"),64&e.token.flags&&(n+="f");let i=e.token.escapedValue;if(0==(2&t)){const e=32;i=i.substring(0,e)}return 4&e.token.flags?1&e.token.flags?n+=`'''${i}'''`:n+=`"""${i}"""`:1&e.token.flags?n+=`'${i}'`:n+=`"${i}"`,n}case 3:return h(e.leftExpression,t)+" = "+h(e.rightExpression,t);case 4:return h(e.name,t)+" := "+h(e.rightExpression,t);case 54:return h(e.valueExpression,t)+": "+h(e.typeAnnotation,t);case 5:return h(e.leftExpression,t)+" "+C(e.operator)+" "+h(e.rightExpression,t);case 6:return"await "+h(e.expression,t);case 51:return h(e.ifExpression,t)+" if "+h(e.testExpression,t)+" else "+h(e.elseExpression,t);case 31:return`[${e.entries.map((e=>h(e,t))).join(", ")}]`;case 56:return"*"+h(e.expression,t);case 52:{const n=e.expressions.map((e=>h(e,t)));return 1===n.length?`(${n[0]}, )`:`(${n.join(", ")})`}case 60:return e.expression?"yield "+h(e.expression,t):"yield";case 61:return"yield from "+h(e.expression,t);case 18:return"...";case 32:{let n="";return(0,c.isExpressionNode)(e.expression)?n=h(e.expression,t):17===e.expression.nodeType&&(n=`${h(e.expression.keyExpression,t)}: ${h(e.expression.valueExpression,t)}`),n=n+" "+e.forIfNodes.map((e=>33===e.nodeType?(e.isAsync?"async ":"")+"for "+h(e.targetExpression,t)+` in ${h(e.iterableExpression,t)}`:`if ${h(e.testExpression,t)}`)).join(" "),e.isParenthesized?`(${n}})`:n}case 46:{let n="";return e.startValue||e.endValue||e.stepValue?(e.startValue&&(n+=h(e.startValue,t)),e.endValue&&(n+=": "+h(e.endValue,t)),e.stepValue&&(n+=": "+h(e.stepValue,t))):n+=":",n}case 30:return"lambda "+e.parameters.map((e=>{let n="";return 1===e.category?n+="*":2===e.category&&(n+="**"),e.name?n+=e.name.value:0===e.category&&(n+="/"),e.defaultValue&&(n+=" = "+h(e.defaultValue,t)),n})).join(", ")+": "+h(e.expression,t);case 11:if(33===e.constType)return"True";if(15===e.constType)return"False";if(9===e.constType)return"__debug__";if(26===e.constType)return"None";break;case 15:{const n=`${e.entries.map((e=>17===e.nodeType?`${h(e.keyExpression,t)}: ${h(e.valueExpression,t)}`:16===e.nodeType?`**${h(e.expandExpression,t)}`:h(e,t)))}`;return n?`{ ${n} }`:"{}"}case 45:return e.entries.map((e=>h(e,t))).join(", ")}return""}function C(e){const t={0:"+",1:"+=",2:"=",3:"&",4:"&=",5:"~",6:"|",7:"|=",8:"^",9:"^=",10:"/",11:"/=",12:"==",13:"//",14:"//=",15:">",16:">=",17:"<<",18:"<<=",19:"<>",20:"<",21:"<=",22:"@",23:"@=",24:"%",25:"%=",26:"*",27:"*=",28:"!=",29:"**",30:"**=",31:">>",32:">>=",33:"-",34:"-=",36:"and",37:"or",38:"not",39:"is",40:"is not",41:"in",42:"not in"};return t[e]?t[e]:"unknown"}function m(e,t=!1){let n=e.parent;for(;n;){if(10===n.nodeType)return n;if(36===n.nodeType)return;if(28===n.nodeType&&t)return;n=n.parent}}function y(e){let t,n=e.parent;for(;n;){if(28===n.nodeType&&!n.decorators.some((e=>e===t)))return n;if(10===n.nodeType)return;t=n,n=n.parent}}function f(e){let t,n,i=e,s=!1;for(;i;){switch(41===i.nodeType&&t===i.name&&(s=!0),i.nodeType){case 28:if(i.parameters.some((e=>e===t))){if(s&&void 0!==(0,p.getScope)(i))return i}else if(t===i.suite&&void 0!==(0,p.getScope)(i))return i;break;case 30:if(i.parameters.some((e=>e===t))){if(s&&void 0!==(0,p.getScope)(i))return i}else if((!t||t===i.expression)&&void 0!==(0,p.getScope)(i))return i;break;case 10:if(t===i.suite&&void 0!==(0,p.getScope)(i))return i;break;case 32:if(void 0!==(0,p.getScope)(i)&&(t!==i.forIfNodes[0]||33!==i.forIfNodes[0].nodeType||i.forIfNodes[0].iterableExpression!==n))return i;break;case 36:if(void 0!==(0,p.getScope)(i))return i}n=t,t=i,i=i.parent}(0,a.fail)("Did not find evaluation scope")}function I(e,t){let n=e;for(;n;){if(n.nodeType===t)return n;n=n.parent}}function E(e,t){if(38===e.nodeType)return 38===t.nodeType?e.value===t.value:4===t.nodeType&&e.value===t.name.value;if(35===e.nodeType&&35===t.nodeType)return E(e.leftExpression,t.leftExpression)&&e.memberName.value===t.memberName.value;if(24===e.nodeType&&24===t.nodeType){if(!E(e.baseExpression,t.baseExpression))return!1;if(1!==t.items.length||t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return!1;const n=e.items[0].valueExpression;if(40===n.nodeType){const e=t.items[0].valueExpression;return!(40!==e.nodeType||e.isImaginary||!e.isInteger)&&n.value===e.value}if(55===n.nodeType&&33===n.operator&&40===n.expression.nodeType){const e=t.items[0].valueExpression;return!(55!==e.nodeType||33!==e.operator||40!==e.expression.nodeType||e.expression.isImaginary||!e.expression.isInteger)&&n.expression.value===e.expression.value}if(48===n.nodeType){const e=n,i=t.items[0].valueExpression;if(1===e.strings.length&&49===e.strings[0].nodeType&&48===i.nodeType&&1===i.strings.length&&49===i.strings[0].nodeType)return e.strings[0].value===i.strings[0].value}return!1}return!1}function T(e){if(0===e.statements.length||48!==e.statements[0].nodeType)return!1;const t=e.statements[0].strings;return 0!==t.length&&!t.some((e=>0!=(64&e.token.flags)))}t.getNodeDepth=function(e){let t=0,n=e;for(;n;)t++,n=n.parent;return t},t.findNodeByPosition=function(e,t,n){const i=(0,A.convertPositionToOffset)(t,n);if(void 0!==i)return u(e,i)},t.findNodeByOffset=u,t.getClassFullName=function(e,t,n){const i=[n];let s=e;for(;s;)s=m(s),s&&i.push(s.name.value);return i.push(t),i.reverse().join(".")},t.getTypeSourceId=function(e){return e.start},t.printArgument=d,t.printExpression=h,t.printOperator=C,t.getEnclosingSuite=function(e){let t=e.parent;for(;t;){if(50===t.nodeType)return t;t=t.parent}},t.getEnclosingClass=m,t.getEnclosingModule=function(e){let t=e.parent;for(;t;){if(36===t.nodeType)return t;t=t.parent}(0,a.fail)("Module node not found")},t.getEnclosingClassOrModule=function(e,t=!1){let n=e.parent;for(;n;){if(10===n.nodeType)return n;if(36===n.nodeType)return n;if(28===n.nodeType&&t)return;n=n.parent}},t.getEnclosingFunction=y,t.getEnclosingLambda=function(e){let t=e.parent;for(;t;){if(30===t.nodeType)return t;if(50===t.nodeType)return;t=t.parent}},t.getEnclosingClassOrFunction=function(e){let t=e.parent;for(;t;){if(28===t.nodeType)return t;if(10===t.nodeType)return t;t=t.parent}},t.getEnclosingSuiteOrModule=function(e,t=!1,n=!0){let i=e.parent;for(;i;){if(50===i.nodeType)return i;if(36===i.nodeType)return i;if(30===i.nodeType&&n)return;if(28===i.nodeType&&t)return;i=i.parent}},t.getEvaluationNodeForAssignmentExpression=function(e){let t=!1,n=f(e);for(;void 0!==n;)switch(n.nodeType){case 28:case 30:case 36:return n;case 10:return t?void 0:n;case 32:t=!0,n=f(n.parent);break;default:return}},t.getEvaluationScopeNode=f,t.getTypeVarScopeNode=function(e){let t,n=e;for(;n;){switch(n.nodeType){case 28:case 10:if(!n.decorators.some((e=>e===t)))return n;break;case 77:return n}t=n,n=n.parent}},t.getExecutionScopeNode=function(e){let t=f(e);for(;10===t.nodeType||32===t.nodeType;)t=f(t.parent);return t},t.getTypeAnnotationNode=function(e){let t=e,n=e.parent;for(;n;){if(54===n.nodeType){if(n.typeAnnotation===t)return n;break}t=n,n=n.parent}},t.isFinalAllowedForAssignmentTarget=function(e){if(38===e.nodeType)return!0;if(35===e.nodeType){if(38!==e.leftExpression.nodeType)return!1;if(!m(e))return!1;const t=y(e);return!!t&&"__init__"===t.name.value}return!1},t.isClassVarAllowedForAssignmentTarget=function(e){return!!m(e,!0)},t.isNodeContainedWithin=function(e,t){let n=e;for(;n;){if(n===t)return!0;n=n.parent}return!1},t.getParentNodeOfType=I,t.getParentAnnotationNode=function(e){let t,n=e;for(;n;){if(28===n.nodeType)return t===n.returnTypeAnnotation?t:void 0;if(41===n.nodeType)return t===n.typeAnnotation||t===n.typeAnnotationComment?t:void 0;if(3===n.nodeType)return t===n.typeAnnotationComment?t:void 0;if(54===n.nodeType)return t===n.typeAnnotation?t:void 0;if(62===n.nodeType)return t===n.returnTypeAnnotation||n.paramTypeAnnotations.some((e=>e===t))?((0,a.assert)(!t||(0,c.isExpressionNode)(t)),t):void 0;if(48===n.nodeType)return t===n.typeAnnotation?t:void 0;t=n,n=n.parent}},t.isNodeContainedWithinNodeType=function(e,t){return void 0!==I(e,t)},t.isSuiteEmpty=function(e){let t=!1;for(const n of e.statements){if(47!==n.nodeType)return!1;for(const e of n.statements)if(18===e.nodeType)t=!0;else if(48!==e.nodeType)return!1}return t},t.isMatchingExpression=E,t.isPartialMatchingExpression=function e(t,n){return 35===t.nodeType?E(t.leftExpression,n)||e(t.leftExpression,n):24===t.nodeType&&(E(t.baseExpression,n)||e(t.baseExpression,n))},t.isWithinDefaultParamInitializer=function(e){let t,n=e;for(;n;){if(41===n.nodeType&&t===n.defaultValue)return!0;if(30===n.nodeType||28===n.nodeType||10===n.nodeType||36===n.nodeType)return!1;t=n,n=n.parent}return!1},t.isWithinTypeAnnotation=function(e,t){let n,i=e,s=!1;for(;i;){if(41===i.nodeType&&(n===i.typeAnnotation||n===i.typeAnnotationComment))return s||!t;if(28===i.nodeType&&n===i.returnTypeAnnotation)return s||!t;if(28===i.nodeType&&n===i.functionAnnotationComment)return!0;if(54===i.nodeType&&n===i.typeAnnotation)return s||!t;if(3===i.nodeType&&n===i.typeAnnotationComment)return!0;if(48===i.nodeType&&n===i.typeAnnotation&&(s=!0),30===i.nodeType||28===i.nodeType||10===i.nodeType||36===i.nodeType)return!1;n=i,i=i.parent}return!1},t.isWithinAnnotationComment=function(e){let t,n=e;for(;n;){if(28===n.nodeType&&t===n.functionAnnotationComment)return!0;if(3===n.nodeType&&t===n.typeAnnotationComment)return!0;if(30===n.nodeType||28===n.nodeType||10===n.nodeType||36===n.nodeType)return!1;t=n,n=n.parent}return!1},t.isWithinLoop=function(e){let t=e;for(;t;){switch(t.nodeType){case 26:case 57:return!0}t=t.parent}return!1},t.isWithinTryBlock=function(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 53:return i.trySuite===n;case 58:if(t&&i.suite===n)return!0;break;case 28:case 36:case 10:return!1}n=i,i=i.parent}return!1},t.isWithinAssertExpression=function(e){let t,n=e;for(;n;){if(2===n.nodeType)return n.testExpression===t;t=n,n=n.parent}return!1},t.getDocString=function(e){if(0===e.length)return;if(47!==e[0].nodeType)return;if(!T(e[0]))return;const t=e[0].statements[0].strings;return 1===t.length?t[0].value:t.map((e=>e.value)).join("")},t.isDocString=T,t.isAssignmentToDefaultsFollowingNamedTuple=function(e){var t,n;if(9!==e.nodeType||!e.parent||3!==e.parent.nodeType||38!==e.parent.leftExpression.nodeType||!e.parent.parent||47!==e.parent.parent.nodeType)return!1;const i=e.parent.leftExpression.value,s=e.parent.parent;if(s.statements[0]!==e.parent||!s.parent||36!==s.parent.nodeType&&50!==s.parent.nodeType)return!1;const r=s.parent;let o=r.statements.findIndex((e=>e===s));if(o<0)return!1;for(o++;o{this._subscriptIndex=t,this.walk(e)})),this._subscriptIndex=t,this._baseExpression=n,!1}}t.NameNodeWalker=B;class v extends g.ParseTreeWalker{constructor(e){super(),this._callback=e}visitCall(e){return this._callback(e),!0}}function Q(e,t,n=!1,i=!1){const s=e.getItemAtPosition(t);if(s<0)return-1;for(let r=s;r>=0;r--){const s=e.getItemAt(r);if((i||0!==s.length)&&(n||!_(s))&&l.TextRange.getEnd(s)<=t)return r}return-1}function _(e){return 2===e.type||3===e.type||4===e.type}function w(e,t){if(!(t<0))return e.getItemAt(t)}function D(e,t){return w(e,e.getItemAtPosition(t))}function S(e){let t=e;for(;t&&36!==t.nodeType;)t=t.parent;return t}function b(e,t){return F(e,(e=>e.nodeType===t))}function F(e,t){for(const n of function*(e){for(;void 0!==e;)yield e,e=e.parent}(e))if(t(n))return n}function k(e){const t=e.quoteMarkLength,n=!(65536&e.flags);return l.TextRange.create(e.start+t,e.length-t-(n?t:0))}t.CallNodeWalker=v,t.getEnclosingParameter=function(e){let t=e;for(;t;){if(41===t.nodeType)return t;t=t.parent}},t.getCallNodeAndActiveParameterIndex=function(e,t,n){let i,s=e;for(;void 0!==s;){if(9===s.nodeType&&p(s)){i=s;break}s=s.parent}if(!i||!i.arguments)return;const r=l.TextRange.getEnd(i);if(t>r)return;const o=D(n,r-1);if(t===r&&14===(null==o?void 0:o.type))return;let a=!1,A=-1,c=!1;return i.arguments.forEach(((e,i)=>{if(a)return;let s=e.start;const r=n.getItemAtPosition(s);r>=0&&(s=l.TextRange.getEnd(n.getItemAt(r-1)));let o=l.TextRange.getEnd(e);const p=n.getItemAtPosition(o);if(p>=0)for(let e=p;e=s,a=!0)})),a||(A=i.arguments.length+1),{callNode:i,activeIndex:A,activeOrFake:c};function p(e,i){let s=!0;const r=e.leftExpression.length>0?l.TextRange.getEnd(e.leftExpression)-1:e.leftExpression.start,o=n.getItemAtPosition(r);if(o>=0&&o+10&&t===n.module.nameParts[0];case 23:return t===n.alias||!n.alias&&t===n.name;case 35:if(t!==n.memberName)return!1;break;case 58:return n.withItems.some((e=>e===t));case 54:if(t===n.typeAnnotation)return!1;break;case 28:case 10:case 36:return!1}t=n,n=n.parent}return!1},t.getModuleNode=S,t.getFileInfoFromNode=function(e){const t=S(e);return t?o.getFileInfo(t):void 0},t.isFunctionSuiteEmpty=function(e){let t=!0;return e.suite.statements.forEach((e=>{0!==e.nodeType&&(47===e.nodeType?e.statements.forEach((e=>{18!==e.nodeType&&48!==e.nodeType&&42!==e.nodeType&&(t=!1)})):t=!1)})),t},t.getTypeAnnotationForParameter=function(e,t){if(t>=e.parameters.length)return;const n=e.parameters[t];if(n.typeAnnotation)return n.typeAnnotation;if(n.typeAnnotationComment)return n.typeAnnotationComment;if(!e.functionAnnotationComment||e.functionAnnotationComment.isParamListEllipsis)return;let i=0;const s=e.functionAnnotationComment.paramTypeAnnotations;s.length=s.length?void 0:s[r]},t.isImportModuleName=function(e){var t,n;return 21===(null===(n=null===(t=b(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)},t.isImportAlias=function(e){var t;return 21===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e},t.isFromImportModuleName=function(e){var t,n;return 22===(null===(n=null===(t=b(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)},t.isFromImportName=function(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e},t.isFromImportAlias=function(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e},t.isLastNameOfModuleName=function(e){var t;if(37!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType))return!1;const n=e.parent;return 0!==n.nameParts.length&&n.nameParts[n.nameParts.length-1]===e},t.getFirstAncestorOrSelfOfKind=b,t.getFirstAncestorOrSelf=F,t.getDottedNameWithGivenNodeAsLastName=function(e){var t;return 35!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||e.parent.leftExpression===e?e:e.parent},t.getDottedName=function(e){if(38===e.nodeType)return[e];const t=[];return function e(t,n){return 38===t.nodeType?(n.push(t),!0):(n.push(t.memberName),(38===t.leftExpression.nodeType||35===t.leftExpression.nodeType)&&e(t.leftExpression,n))}(e,t)?t.reverse():void 0},t.getFirstNameOfDottedName=function e(t){return 38===t.nodeType?t:38===t.leftExpression.nodeType||35===t.leftExpression.nodeType?e(t.leftExpression):void 0},t.isFirstNameOfDottedName=function(e){var t;return 35!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||e.parent.leftExpression===e},t.isLastNameOfDottedName=function(e){var t,n;return 35!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||(38===e.parent.leftExpression.nodeType||35===e.parent.leftExpression.nodeType)&&e.parent.leftExpression!==e&&35!==(null===(n=e.parent.parent)||void 0===n?void 0:n.nodeType)},t.getStringNodeValueRange=function(e){return k(e.token)},t.getStringValueRange=k,t.getFullStatementRange=function(e,t){const n=(0,A.convertTextRangeToRange)(e,t.lines),i=function(e,t,n){const i=n.tokens.getItemAtPosition(t);if(i<0)return;let s=i;for(;svoid 0===e.typeAnnotation&&void 0===e.typeAnnotationComment))},t.operatorSupportsChaining=function(e){switch(e){case 12:case 28:case 20:case 21:case 15:case 16:case 39:case 40:case 41:case 42:return!0}return!1}},427:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ParseTreeWalker=void 0,t.ParseTreeWalker=class{walk(e){const t=this.visitNode(e);t.length>0&&this.walkMultiple(t)}walkMultiple(e){e.forEach((e=>{e&&this.walk(e)}))}visitNode(e){var t;switch(e.nodeType){case 0:return this.visitError(e)?[e.child,...null!==(t=e.decorators)&&void 0!==t?t:[]]:[];case 1:return this.visitArgument(e)?[e.name,e.valueExpression]:[];case 2:return this.visitAssert(e)?[e.testExpression,e.exceptionExpression]:[];case 4:return this.visitAssignmentExpression(e)?[e.name,e.rightExpression]:[];case 3:return this.visitAssignment(e)?[e.leftExpression,e.rightExpression,e.typeAnnotationComment]:[];case 5:return this.visitAugmentedAssignment(e)?[e.leftExpression,e.rightExpression]:[];case 6:return this.visitAwait(e)?[e.expression]:[];case 7:return this.visitBinaryOperation(e)?[e.leftExpression,e.rightExpression]:[];case 8:return this.visitBreak(e),[];case 9:return this.visitCall(e)?[e.leftExpression,...e.arguments]:[];case 64:return this.visitCase(e)?[e.pattern,e.guardExpression,e.suite]:[];case 10:return this.visitClass(e)?[...e.decorators,e.name,e.typeParameters,...e.arguments,e.suite]:[];case 11:return this.visitConstant(e),[];case 12:return this.visitContinue(e),[];case 13:return this.visitDecorator(e)?[e.expression]:[];case 14:return this.visitDel(e)?e.expressions:[];case 15:return this.visitDictionary(e)?e.entries:[];case 16:return this.visitDictionaryExpandEntry(e)?[e.expandExpression]:[];case 17:return this.visitDictionaryKeyEntry(e)?[e.keyExpression,e.valueExpression]:[];case 18:return this.visitEllipsis(e),[];case 19:return this.visitIf(e)?[e.testExpression,e.ifSuite,e.elseSuite]:[];case 20:return this.visitImport(e)?e.list:[];case 21:return this.visitImportAs(e)?[e.module,e.alias]:[];case 22:return this.visitImportFrom(e)?[e.module,...e.imports]:[];case 23:return this.visitImportFromAs(e)?[e.name,e.alias]:[];case 24:return this.visitIndex(e)?[e.baseExpression,...e.items]:[];case 25:return this.visitExcept(e)?[e.typeExpression,e.name,e.exceptSuite]:[];case 26:return this.visitFor(e)?[e.targetExpression,e.iterableExpression,e.forSuite,e.elseSuite]:[];case 27:return this.visitFormatString(e)?e.expressions:[];case 28:return this.visitFunction(e)?[...e.decorators,e.name,e.typeParameters,...e.parameters,e.returnTypeAnnotation,e.functionAnnotationComment,e.suite]:[];case 62:return this.visitFunctionAnnotation(e)?[...e.paramTypeAnnotations,e.returnTypeAnnotation]:[];case 29:return this.visitGlobal(e)?e.nameList:[];case 30:return this.visitLambda(e)?[...e.parameters,e.expression]:[];case 31:return this.visitList(e)?e.entries:[];case 32:return this.visitListComprehension(e)?[e.expression,...e.forIfNodes]:[];case 33:return this.visitListComprehensionFor(e)?[e.targetExpression,e.iterableExpression]:[];case 34:return this.visitListComprehensionIf(e)?[e.testExpression]:[];case 63:return this.visitMatch(e)?[e.subjectExpression,...e.cases]:[];case 35:return this.visitMemberAccess(e)?[e.leftExpression,e.memberName]:[];case 37:return this.visitModuleName(e)?e.nameParts:[];case 36:return this.visitModule(e)?[...e.statements]:[];case 38:return this.visitName(e),[];case 39:return this.visitNonlocal(e)?e.nameList:[];case 40:return this.visitNumber(e),[];case 41:return this.visitParameter(e)?[e.name,e.typeAnnotation,e.typeAnnotationComment,e.defaultValue]:[];case 42:return this.visitPass(e),[];case 66:return this.visitPatternAs(e)?[...e.orPatterns,e.target]:[];case 68:return this.visitPatternClass(e)?[e.className,...e.arguments]:[];case 74:return this.visitPatternClassArgument(e)?[e.name,e.pattern]:[];case 69:return this.visitPatternCapture(e)?[e.target]:[];case 67:return this.visitPatternLiteral(e)?[e.expression]:[];case 72:return this.visitPatternMappingExpandEntry(e)?[e.target]:[];case 71:return this.visitPatternMappingKeyEntry(e)?[e.keyPattern,e.valuePattern]:[];case 70:return this.visitPatternMapping(e)?[...e.entries]:[];case 65:return this.visitPatternSequence(e)?[...e.entries]:[];case 73:return this.visitPatternValue(e)?[e.expression]:[];case 43:return this.visitRaise(e)?[e.typeExpression,e.valueExpression,e.tracebackExpression]:[];case 44:return this.visitReturn(e)?[e.returnExpression]:[];case 45:return this.visitSet(e)?e.entries:[];case 46:return this.visitSlice(e)?[e.startValue,e.endValue,e.stepValue]:[];case 47:return this.visitStatementList(e)?e.statements:[];case 48:return this.visitStringList(e)?[e.typeAnnotation,...e.strings]:[];case 49:return this.visitString(e),[];case 50:return this.visitSuite(e)?[...e.statements]:[];case 51:return this.visitTernary(e)?[e.ifExpression,e.testExpression,e.elseExpression]:[];case 52:return this.visitTuple(e)?e.expressions:[];case 53:return this.visitTry(e)?[e.trySuite,...e.exceptClauses,e.elseSuite,e.finallySuite]:[];case 77:return this.visitTypeAlias(e)?[e.name,e.typeParameters,e.expression]:[];case 54:return this.visitTypeAnnotation(e)?[e.valueExpression,e.typeAnnotation]:[];case 75:return this.visitTypeParameter(e)?[e.name,e.boundExpression]:[];case 76:return this.visitTypeParameterList(e)?[...e.parameters]:[];case 55:return this.visitUnaryOperation(e)?[e.expression]:[];case 56:return this.visitUnpack(e)?[e.expression]:[];case 57:return this.visitWhile(e)?[e.testExpression,e.whileSuite,e.elseSuite]:[];case 58:return this.visitWith(e)?[...e.withItems,e.suite]:[];case 59:return this.visitWithItem(e)?[e.expression,e.target]:[];case 60:return this.visitYield(e)?[e.expression]:[];case 61:return this.visitYieldFrom(e)?[e.expression]:[]}}visitArgument(e){return!0}visitAssert(e){return!0}visitAssignment(e){return!0}visitAssignmentExpression(e){return!0}visitAugmentedAssignment(e){return!0}visitAwait(e){return!0}visitBinaryOperation(e){return!0}visitBreak(e){return!0}visitCall(e){return!0}visitCase(e){return!0}visitClass(e){return!0}visitTernary(e){return!0}visitContinue(e){return!0}visitConstant(e){return!0}visitDecorator(e){return!0}visitDel(e){return!0}visitDictionary(e){return!0}visitDictionaryKeyEntry(e){return!0}visitDictionaryExpandEntry(e){return!0}visitError(e){return!0}visitEllipsis(e){return!0}visitIf(e){return!0}visitImport(e){return!0}visitImportAs(e){return!0}visitImportFrom(e){return!0}visitImportFromAs(e){return!0}visitIndex(e){return!0}visitExcept(e){return!0}visitFor(e){return!0}visitFormatString(e){return!0}visitFunction(e){return!0}visitFunctionAnnotation(e){return!0}visitGlobal(e){return!0}visitLambda(e){return!0}visitList(e){return!0}visitListComprehension(e){return!0}visitListComprehensionFor(e){return!0}visitListComprehensionIf(e){return!0}visitMatch(e){return!0}visitMemberAccess(e){return!0}visitModule(e){return!0}visitModuleName(e){return!0}visitName(e){return!0}visitNonlocal(e){return!0}visitNumber(e){return!0}visitParameter(e){return!0}visitPass(e){return!0}visitPatternCapture(e){return!0}visitPatternClass(e){return!0}visitPatternClassArgument(e){return!0}visitPatternAs(e){return!0}visitPatternLiteral(e){return!0}visitPatternMappingExpandEntry(e){return!0}visitPatternSequence(e){return!0}visitPatternValue(e){return!0}visitPatternMappingKeyEntry(e){return!0}visitPatternMapping(e){return!0}visitRaise(e){return!0}visitReturn(e){return!0}visitSet(e){return!0}visitSlice(e){return!0}visitStatementList(e){return!0}visitString(e){return!0}visitStringList(e){return!0}visitSuite(e){return!0}visitTuple(e){return!0}visitTry(e){return!0}visitTypeAlias(e){return!0}visitTypeAnnotation(e){return!0}visitTypeParameter(e){return!0}visitTypeParameterList(e){return!0}visitUnaryOperation(e){return!0}visitUnpack(e){return!0}visitWhile(e){return!0}visitWith(e){return!0}visitWithItem(e){return!0}visitYield(e){return!0}visitYieldFrom(e){return!0}}},6061:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateClassPattern=t.assignTypeToPatternTargets=t.narrowTypeBasedOnPattern=void 0;const i=n(9489),s=n(5839),r=n(9744),o=n(2122),a=n(563),A=n(2044),l=n(9453),c=n(4610),p=n(1133),g=n(5168),u=n(4447),d=["builtins.bool","builtins.bytearray","builtins.bytes","builtins.dict","builtins.float","builtins.frozenset","builtins.int","builtins.list","builtins.set","builtins.str","builtins.tuple"];function h(e,t,n,s){switch(n.nodeType){case 65:return function(e,t,n,s){let r=f(e,t,n.entries.length,n.starEntryIndex);return r=r.filter((t=>{if(t.definiteNoMatch)return!s;let r=!0,o=!0;const a=[];let A=t.isTuple;if(t.isIndeterminateLength&&(1===n.entries.length&&0===n.starEntryIndex||(o=!1)),n.entries.forEach(((l,c)=>{const u=I(e,n,t,c,n.entries.length,n.starEntryIndex,!0,!1),d=h(e,u,l,s);s?c===n.starEntryIndex?(0,p.isClassInstance)(d)&&d.tupleTypeArguments&&!(0,g.isUnboundedTupleClass)(d)&&d.tupleTypeArguments?(0,i.appendArray)(a,d.tupleTypeArguments.map((e=>e.type))):(a.push(d),A=!1):(a.push(d),(0,p.isNever)(d)&&(r=!1)):(0,p.isNever)(d)&&!(0,p.isAnyOrUnknown)(u)||(o=!1)})),!s)return!o;if(r){if(A){const i=e.getBuiltInType(n,"tuple");i&&(0,p.isInstantiableClass)(i)&&(t.subtype=p.ClassType.cloneAsInstance((0,g.specializeTupleClass)(i,a.map((e=>({type:e,isUnbounded:!1}))))))}if(t.isObject){const i=e.getTypingType(n,"Sequence");i&&(0,p.isInstantiableClass)(i)&&(t.subtype=p.ClassType.cloneAsInstance(p.ClassType.cloneForSpecialization(i,[e.stripLiteralValue((0,p.combineTypes)(a))],!0)))}}return r})),(0,p.combineTypes)(r.map((e=>e.subtype)))}(e,t,n,s);case 67:return function(e,t,n,i){const s=e.getTypeOfExpression(n.expression).type;return i?(0,g.mapSubtypes)(t,(t=>{if(e.assignType(t,s))return s})):(0,g.mapSubtypes)(t,(t=>{if(!((0,p.isClassInstance)(s)&&(0,g.isLiteralType)(s)&&(0,p.isClassInstance)(t)&&(0,g.isLiteralType)(t)&&e.assignType(s,t)||(0,p.isNoneInstance)(t)&&(0,p.isNoneInstance)(s)))return(0,p.isClassInstance)(t)&&p.ClassType.isBuiltIn(t,"bool")&&void 0===t.literalValue&&(0,p.isClassInstance)(s)&&p.ClassType.isBuiltIn(s,"bool")&&void 0!==s.literalValue?p.ClassType.cloneWithLiteral(s,!s.literalValue):t}))}(e,t,n,s);case 68:return function(e,t,n,i){let s=e.getTypeOfExpression(n.className,2).type;if((0,p.isClass)(s)&&!s.typeAliasInfo&&(s=(0,g.specializeClassType)(s)),!i){if(!(0,p.isInstantiableClass)(s))return t;let r=s;r.details.typeParameters.length>0&&(r=p.ClassType.cloneForSpecialization(r,void 0,!1));const o=(0,g.convertToInstance)(r);return e.mapSubtypesExpandTypeVars(t,void 0,((t,s)=>{if(!(0,p.isClassInstance)(t))return s;if(!e.assignType(o,t))return t;if(0===n.arguments.length)return;if(!e.assignType(t,o)&&!p.ClassType.isFinal(t))return t;let r=[];n.arguments.some((e=>!e.name))&&(0,p.isClass)(t)&&(r=C(e,t));for(let o=0;o(0,p.isAnyOrUnknown)(s)?r:(0,p.isInstantiableClass)(s)?e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if((0,p.isAnyOrUnknown)(t))return(0,g.convertToInstance)(r);if((0,p.isClassInstance)(t)){let o;if(e.assignType(s,p.ClassType.cloneAsInstantiable(t)))o=t;else{if(!e.assignType(p.ClassType.cloneAsInstantiable(t),s))return;if(o=(0,g.addConditionToType)((0,g.convertToInstance)(r),(0,g.getTypeCondition)(t)),(0,p.isInstantiableClass)(r)&&(0,p.isClassInstance)(t)&&(p.ClassType.isSpecialBuiltIn(r)||r.details.typeParameters.length>0)){const n=new u.TypeVarContext((0,g.getTypeVarScopeId)(r)),i=p.ClassType.cloneForSpecialization(r,void 0,!1),s=p.ClassType.cloneAsInstance(i);(0,A.populateTypeVarContextBasedOnExpectedType)(e,s,t,n,[])&&(o=(0,g.applySolvedTypeVars)(s,n,!0))}}let a=[];n.arguments.some((e=>!e.name))&&(a=C(e,s));let l=!0;if(n.arguments.forEach(((t,n)=>{const s=m(e,t,n,a,o,i);(0,p.isNever)(s)&&(l=!1)})),l)return o}})):void 0)):(e.addDiagnostic((0,a.getFileInfo)(n).diagnosticRuleSet.reportGeneralTypeIssues,r.DiagnosticRule.reportGeneralTypeIssues,o.Localizer.DiagnosticAddendum.typeNotClass().format({type:e.printType(s)}),n.className),p.NeverType.createNever())}(e,t,n,s);case 66:return function(e,t,n,i){let s=t;if(!i)return n.orPatterns.forEach((t=>{s=h(e,s,t,!1)})),s;const r=n.orPatterns.map((t=>{const n=h(e,s,t,!0);return s=h(e,s,t,!1),n}));return(0,p.combineTypes)(r)}(e,t,n,s);case 70:return function(e,t,n,i){if(!i)return t;let s=y(e,t);return s=s.filter((t=>{let s=!0;return n.entries.forEach((r=>{if(t.typedDict){if(71===r.nodeType){const o=h(e,e.getBuiltInObject(n,"str"),r.keyPattern,i);(0,p.isNever)(o)&&(s=!1);const a=(0,g.mapSubtypes)(o,(n=>{if((0,p.isAnyOrUnknown)(n))return n;if((0,p.isClassInstance)(n)&&p.ClassType.isBuiltIn(n,"str")){if(!(0,g.isLiteralType)(n))return p.UnknownType.create();const i=(0,l.getTypedDictMembersForClass)(e,t.typedDict).get(n.literalValue);if(i){const t=h(e,i.valueType,r.valuePattern,!0);if(!(0,p.isNever)(t))return t}}}));(0,p.isNever)(a)&&(s=!1)}}else if(t.dictTypeArgs&&71===r.nodeType){const n=h(e,t.dictTypeArgs.key,r.keyPattern,i),o=h(e,t.dictTypeArgs.value,r.valuePattern,i);((0,p.isNever)(n)||(0,p.isNever)(o))&&(s=!1)}})),s})),(0,p.combineTypes)(s.map((e=>e.subtype)))}(e,t,n,s);case 73:return function(e,t,n,i){const s=e.getTypeOfExpression(n.expression).type,r=[];return e.mapSubtypesExpandTypeVars(s,void 0,((s,o)=>{r.push(e.mapSubtypesExpandTypeVars(t,(0,g.getTypeCondition)(s),(t=>{if(!i){if((0,p.isClassInstance)(t)&&p.ClassType.isEnumClass(t)&&!(0,g.isLiteralType)(t)&&(0,p.isClassInstance)(s)&&(0,p.isSameWithoutLiteralValue)(t,s)&&(0,g.isLiteralType)(s)){const n=(0,c.enumerateLiteralsForType)(e,t);if(n)return(0,p.combineTypes)(n.filter((e=>!p.ClassType.isLiteralValueSame(s,e))))}else if((0,p.isClassInstance)(t)&&(0,p.isClassInstance)(s)&&p.ClassType.isLiteralValueSame(s,t))return;return t}return(0,p.isNever)(s)||(0,p.isNever)(t)?p.NeverType.createNever():(0,p.isAnyOrUnknown)(s)||(0,p.isAnyOrUnknown)(t)?(0,p.isUnknown)(s)||(0,p.isUnknown)(t)?p.UnknownType.create():p.AnyType.create():e.useSpeculativeMode(n.expression,(()=>e.getTypeOfMagicMethodReturn(s,[{type:t}],"__eq__",n.expression,void 0)))?o:void 0})))})),(0,p.combineTypes)(r)}(e,t,n,s);case 69:return s?t:p.NeverType.createNever();case 0:return t}}function C(e,t){const n=(0,g.lookUpClassMember)(t,"__match_args__");if(n){const t=e.getTypeOfMember(n);if((0,p.isClassInstance)(t)&&(0,g.isTupleClass)(t)&&!(0,g.isUnboundedTupleClass)(t)&&t.tupleTypeArguments){const e=t.tupleTypeArguments;if(e.every((e=>(0,p.isClassInstance)(e.type)&&p.ClassType.isBuiltIn(e.type,"str")&&(0,g.isLiteralType)(e.type))))return e.map((e=>e.type.literalValue))}}return[]}function m(e,t,n,i,s,r){var o;let a,A;if(t.name?a=t.name.value:ns.details.fullName===e))&&0===n&&!t.name)A=p.ClassType.cloneAsInstance(s);else if(a&&(A=null===(o=e.useSpeculativeMode(t,(()=>e.getTypeOfObjectMember(t,p.ClassType.cloneAsInstance(s),a))))||void 0===o?void 0:o.type),!A){if(!r)return s;if(p.ClassType.isFinal(s))return p.NeverType.createNever();A=p.UnknownType.create()}return h(e,A,t.pattern,r)}function y(e,t){const n=[];return(0,g.doForEachSubtype)(t,(t=>{const i=e.makeTopLevelTypeVarsConcrete(t);if((0,p.isAnyOrUnknown)(i))n.push({subtype:t,dictTypeArgs:{key:i,value:i}});else if((0,p.isClassInstance)(i))if(p.ClassType.isTypedDictClass(i))n.push({subtype:t,typedDict:i});else{let e;for(const t of i.details.mro)if((0,p.isInstantiableClass)(t)&&p.ClassType.isBuiltIn(t,"Mapping")){e=t;break}if(e){const s=(0,g.partiallySpecializeType)(e,i);s.typeArguments&&s.typeArguments.length>=2&&n.push({subtype:t,dictTypeArgs:{key:s.typeArguments[0],value:s.typeArguments[1]}})}}})),n}function f(e,t,n,i){const s=[],r=void 0===i?n:n-1;return(0,g.doForEachSubtype)(t,(t=>{const n=e.makeTopLevelTypeVarsConcrete(t);let o,a=!1;if((0,p.isAnyOrUnknown)(n))s.push({subtype:t,entryTypes:[n],isIndeterminateLength:!0,definiteNoMatch:!1});else{if((0,p.isClassInstance)(n)){if(p.ClassType.isBuiltIn(n,"object"))return void s.push({subtype:t,entryTypes:[(0,g.convertToInstance)(n)],isIndeterminateLength:!0,isObject:!0,definiteNoMatch:!1});for(const e of n.details.mro){if(!(0,p.isInstantiableClass)(e))break;if(p.ClassType.isBuiltIn(e,"str")||p.ClassType.isBuiltIn(e,"bytes")||p.ClassType.isBuiltIn(e,"bytearray"))break;if(p.ClassType.isBuiltIn(e,"Sequence")){o=e;break}if((0,g.isTupleClass)(e)){o=e;break}}if(o){const e=(0,g.partiallySpecializeType)(o,n);(0,g.isTupleClass)(e)?e.tupleTypeArguments&&((0,g.isUnboundedTupleClass)(e)?(s.push({subtype:t,entryTypes:[(0,p.combineTypes)(e.tupleTypeArguments.map((e=>e.type)))],isIndeterminateLength:!0,isTuple:!0,definiteNoMatch:!1}),a=!0):e.tupleTypeArguments.length>=r&&(void 0!==i||e.tupleTypeArguments.length===r)&&(s.push({subtype:t,entryTypes:e.tupleTypeArguments.map((e=>e.type)),isIndeterminateLength:!1,isTuple:!0,definiteNoMatch:!1}),a=!0)):(s.push({subtype:t,entryTypes:[e.typeArguments&&e.typeArguments.length>0?e.typeArguments[0]:p.UnknownType.create()],isIndeterminateLength:!0,definiteNoMatch:!1}),a=!0)}}a||s.push({subtype:t,entryTypes:[],isIndeterminateLength:!0,definiteNoMatch:!0})}})),s}function I(e,t,n,i,r,o,a,A){if(n.isIndeterminateLength){let s=n.entryTypes[0];if(A){const n=e.getBuiltInObject(t,"object");n&&(0,p.isClassInstance)(n)&&(s=n)}return a||i!==o||(0,p.isNever)(s)||(s=E(e,t,s)),s}if(void 0===o||ie.stripLiteralValue(t)));let s=(0,p.combineTypes)(i);return a||(s=E(e,t,s)),s}const l=n.entryTypes.length-(r-i);return(0,s.assert)(l>=0&&l!e.definiteNoMatch));r.entries.forEach(((n,a)=>{const A=(0,p.combineTypes)(o.map((e=>I(t,r,e,a,r.entries.length,r.starEntryIndex,!1,s))));e(t,A,i,!1,n)}));break}case 66:r.target&&t.assignTypeToExpression(r.target,n,i,r.target),r.orPatterns.forEach((r=>{e(t,n,i,s,r),n=h(t,n,r,!1)}));break;case 69:t.assignTypeToExpression(r.target,r.isWildcard?p.AnyType.create():n,i,r.target);break;case 70:{const s=y(t,n);r.entries.forEach((n=>{const o=[],a=[];s.forEach((e=>{if(e.typedDict)if(71===n.nodeType){const i=h(t,t.getBuiltInObject(r,"str"),n.keyPattern,!0);o.push(i),(0,g.doForEachSubtype)(i,(n=>{if((0,p.isClassInstance)(n)&&p.ClassType.isBuiltIn(n,"str")&&(0,g.isLiteralType)(n)){const i=(0,l.getTypedDictMembersForClass)(t,e.typedDict).get(n.literalValue);a.push(i?i.valueType:p.UnknownType.create())}else a.push(p.UnknownType.create())}))}else 72===n.nodeType&&(o.push(t.getBuiltInObject(r,"str")),a.push(p.UnknownType.create()));else if(e.dictTypeArgs)if(71===n.nodeType){const i=h(t,e.dictTypeArgs.key,n.keyPattern,!0);o.push(i),a.push(h(t,e.dictTypeArgs.value,n.valuePattern,!0))}else 72===n.nodeType&&(o.push(e.dictTypeArgs.key),a.push(e.dictTypeArgs.value))}));const A=(0,p.combineTypes)(o),c=(0,p.combineTypes)(a);if(71===n.nodeType)e(t,A,i,!1,n.keyPattern),e(t,c,i,!1,n.valuePattern);else if(72===n.nodeType){const e=t.getBuiltInType(r,"dict"),s=t.getBuiltInObject(r,"str"),o=e&&(0,p.isInstantiableClass)(e)&&(0,p.isClassInstance)(s)?p.ClassType.cloneAsInstance(p.ClassType.cloneForSpecialization(e,[A,c],!0)):p.UnknownType.create();t.assignTypeToExpression(n.target,o,i,n.target)}}));break}case 68:{const s=r.arguments.map((e=>[]));t.mapSubtypesExpandTypeVars(n,void 0,(e=>{(0,p.isClassInstance)(e)?(0,g.doForEachSubtype)(n,(n=>{const i=t.makeTopLevelTypeVarsConcrete(n);if((0,p.isAnyOrUnknown)(i))r.arguments.forEach(((e,t)=>{s[t].push(i)}));else if((0,p.isClassInstance)(i)){let n=[];r.arguments.some((e=>!e.name))&&(n=C(t,p.ClassType.cloneAsInstantiable(e))),r.arguments.forEach(((i,r)=>{const o=m(t,i,r,n,p.ClassType.cloneAsInstantiable(e),!0);s[r].push(o)}))}})):r.arguments.forEach(((e,t)=>{s[t].push(p.UnknownType.create())}))})),r.arguments.forEach(((n,r)=>{e(t,(0,p.combineTypes)(s[r]),i,!1,n.pattern)}));break}}},t.validateClassPattern=function(e,t){const n=e.getTypeOfExpression(t.className,2).type;(0,p.isAnyOrUnknown)(n)||(n.typeAliasInfo&&(0,p.isInstantiableClass)(n)&&n.typeArguments&&n.isTypeArgumentExplicit?e.addDiagnostic((0,a.getFileInfo)(t).diagnosticRuleSet.reportGeneralTypeIssues,r.DiagnosticRule.reportGeneralTypeIssues,o.Localizer.Diagnostic.classPatternTypeAlias().format({type:e.printType(n)}),t.className):(0,p.isInstantiableClass)(n)?d.some((e=>n.details.fullName===e))&&(t.arguments.length>1?e.addDiagnostic((0,a.getFileInfo)(t).diagnosticRuleSet.reportGeneralTypeIssues,r.DiagnosticRule.reportGeneralTypeIssues,o.Localizer.Diagnostic.classPatternBuiltInArgCount(),t.arguments[1]):1===t.arguments.length&&t.arguments[0].name&&e.addDiagnostic((0,a.getFileInfo)(t).diagnosticRuleSet.reportGeneralTypeIssues,r.DiagnosticRule.reportGeneralTypeIssues,o.Localizer.Diagnostic.classPatternBuiltInArgPositional(),t.arguments[0].name)):(0,p.isNever)(n)||e.addDiagnostic((0,a.getFileInfo)(t).diagnosticRuleSet.reportGeneralTypeIssues,r.DiagnosticRule.reportGeneralTypeIssues,o.Localizer.DiagnosticAddendum.typeNotClass().format({type:e.printType(n)}),t.className))}},8408:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.Program=t.MaxWorkspaceIndexFileCount=void 0;const o=n(4655),a=n(7192),A=n(1313),l=n(3213),c=n(9489),p=n(2211),g=n(5839),u=n(7345),d=n(6657),h=n(1464),C=n(7559),m=n(3550),y=n(8718),f=n(8566),I=n(7087),E=n(9209),T=n(8127),B=n(4952),v=n(1670),Q=r(n(563)),_=n(2835),w=n(8494),D=n(5083),S=n(4221),b=n(6025),F=n(8816),k=n(1766),N=n(1943),P=n(558),x=n(2590);t.MaxWorkspaceIndexFileCount=2e3;class R{constructor(e,t,n,i,s,r){this._extension=i,this._disableChecker=r,this._sourceFileList=[],this._sourceFileMap=new Map,this._parsedFileCount=0,this._lookUpImport=e=>{var t;let n;if("string"==typeof e)n=this._getSourceFileInfoFromPath(e);else{const t=this._importResolver.resolveImport(e.importingFilePath,this._configOptions.findExecEnvironment(e.importingFilePath),{leadingDots:0,nameParts:e.nameParts,importedSymbols:void 0});if(t.isImportFound&&!t.isNativeLib&&t.resolvedPaths.length>0){let e=t.resolvedPaths[t.resolvedPaths.length-1];e&&(n=this._getSourceFileInfoFromPath(e),n||(e=(0,d.normalizePathCase)(this._fs,e),this.addTrackedFile(e),n=this._getSourceFileInfoFromPath(e)))}}if(!n)return;n.sourceFile.isBindingRequired()&&y.timingStats.typeCheckerTime.subtractFromTime((()=>{this._bindFile(n)}));const i=n.sourceFile.getModuleSymbolTable();if(!i)return;const s=n.sourceFile.getParseResults(),r=s.parseTree,o=Q.getDunderAllInfo(s.parseTree);return{symbolTable:i,dunderAllNames:null==o?void 0:o.names,usesUnsupportedDunderAllForm:null!==(t=null==o?void 0:o.usesUnsupportedDunderAllForm)&&void 0!==t&&t,get docString(){return(0,w.getDocString)(r.statements)}}},this._console=n||new p.StandardConsole,this._logTracker=null!=s?s:new u.LogTracker(n,"FG"),this._importResolver=e,this._configOptions=t,this._createNewEvaluator()}get evaluator(){return this._evaluator}setConfigOptions(e){this._configOptions=e,this._createNewEvaluator()}setImportResolver(e){this._importResolver=e,this._createNewEvaluator()}setTrackedFiles(e){if(this._sourceFileList.length>0){const t=new Map;e.forEach((e=>{t.set((0,d.normalizePathCase)(this._fs,e),e)})),this._sourceFileList.forEach((e=>{const n=(0,d.normalizePathCase)(this._fs,e.sourceFile.getFilePath());t.has(n)||(e.isTracked=!1)}))}return this.addTrackedFiles(e),this._removeUnneededFiles()}setPreCheckCallback(e){this._preCheckCallback=e}setAllowedThirdPartyImports(e){this._allowedThirdPartyImports=e}addTrackedFiles(e,t=!1,n=!1){e.forEach((e=>{this.addTrackedFile(e,t,n)}))}addTrackedFile(e,t=!1,n=!1){let i=this._getSourceFileInfoFromPath(e);const s=this._getImportNameForFile(e);if(i)return i.sourceFile.setModuleName(s),i.isTracked=!0,i.sourceFile;const r=new S.SourceFile(this._fs,e,s,t,n,this._console,this._logTracker);return i={sourceFile:r,isTracked:!0,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:t,isThirdPartyPyTypedPresent:n,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(i),r}setFileOpened(e,t,n,i){var s,r;let o=this._getSourceFileInfoFromPath(e);if(o)o.isOpenByClient=!0,o.diagnosticsVersion=0;else{const t=this._getImportNameForFile(e),n=new S.SourceFile(this._fs,e,t,!1,!1,this._console,this._logTracker,null!==(s=null==i?void 0:i.ipythonMode)&&void 0!==s?s:S.IPythonMode.None),a=null==i?void 0:i.chainedFilePath;o={sourceFile:n,isTracked:null!==(r=null==i?void 0:i.isTracked)&&void 0!==r&&r,chainedSourceFile:a?this._getSourceFileInfoFromPath(a):void 0,isOpenByClient:!0,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(o)}o.sourceFile.setClientVersion(t,n)}getChainedFilePath(e){var t;const n=this._getSourceFileInfoFromPath(e);return null===(t=null==n?void 0:n.chainedSourceFile)||void 0===t?void 0:t.sourceFile.getFilePath()}updateChainedFilePath(e,t){const n=this._getSourceFileInfoFromPath(e);n&&(n.chainedSourceFile=t?this._getSourceFileInfoFromPath(t):void 0,n.sourceFile.markDirty(),this._markFileDirtyRecursive(n,new Map))}setFileClosed(e){const t=this._getSourceFileInfoFromPath(e);return t&&(t.isOpenByClient=!1,t.sourceFile.setClientVersion(null,[]),t.sourceFile.didContentsChangeOnDisk()&&(t.sourceFile.markDirty(),this._markFileDirtyRecursive(t,new Map))),this._removeUnneededFiles()}isFileOpen(e){return void 0!==this._getSourceFileInfoFromPath(e)}markAllFilesDirty(e,t=!0){const n=new Map;this._sourceFileList.forEach((i=>{e?i.sourceFile.markDirty(t):i.sourceFile.didContentsChangeOnDisk()&&(i.sourceFile.markDirty(t),this._markFileDirtyRecursive(i,n))})),n.size>0&&this._createNewEvaluator()}markFilesDirty(e,t,n=!0){const i=new Map;e.forEach((e=>{const s=this._getSourceFileInfoFromPath(e);if(s){const r=(0,d.getFileName)(e);if("builtins.pyi"===r||"__builtins__.pyi"===r)return void this.markAllFilesDirty(t,n);(t||!s.isOpenByClient&&s.sourceFile.didContentsChangeOnDisk())&&(s.sourceFile.markDirty(n),this._markFileDirtyRecursive(s,i))}})),i.size>0&&this._createNewEvaluator()}getFileCount(){return this._sourceFileList.length}getUserFileCount(){return this._sourceFileList.filter((e=>(0,b.isUserCode)(e))).length}getTracked(){return this._sourceFileList.filter((e=>e.isTracked))}getOpened(){return this._sourceFileList.filter((e=>e.isOpenByClient))}getFilesToAnalyzeCount(){let e=0;return this._disableChecker||this._sourceFileList.forEach((t=>{t.sourceFile.isCheckingRequired()&&this._shouldCheckFile(t)&&e++})),e}isCheckingOnlyOpenFiles(){return this._configOptions.checkOnlyOpenFiles||!1}containsSourceFileIn(e){const t=(0,d.normalizePathCase)(this._fs,e);return this._sourceFileList.some((e=>e.sourceFile.getFilePath().startsWith(t)))}getSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return t.sourceFile}getBoundSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return this._bindFile(t),this.getSourceFile(e)}analyze(e,t=a.CancellationToken.None){return this._runEvaluatorWithCancellationToken(t,(()=>{const t=new y.Duration,n=this._sourceFileList.filter((e=>e.isOpenByClient&&e.sourceFile.isCheckingRequired()));if(n.length>0){const i=e?e.openFilesTimeInMs:Number.MAX_VALUE;for(const e of n)if(this._checkTypes(e)&&t.getDurationInMilliseconds()>i)return!0;if(void 0!==e)return!0}if(!this._configOptions.checkOnlyOpenFiles){const n=e?e.noOpenFilesTimeInMs:Number.MAX_VALUE;for(const e of this._sourceFileList)if((0,b.isUserCode)(e)&&this._checkTypes(e)&&t.getDurationInMilliseconds()>n)return!0}return!1}))}indexWorkspace(e,n){return this._configOptions.indexing?this._runEvaluatorWithCancellationToken(n,(()=>{const s=new Set;for(const e of this._sourceFileList)e.sourceFile.isParseRequired()||s.add(e);let r=0;for(const o of this._sourceFileList){if(!(0,b.isUserCode)(o)||!o.sourceFile.isIndexingRequired())continue;this._bindFile(o);const a=o.sourceFile.index({indexingForAutoImportMode:!1},n);if(a){if(++r>t.MaxWorkspaceIndexFileCount)return this._console.warn("Workspace indexing has hit its upper limit: 2000 files"),i(this._sourceFileList,s),r;e(o.sourceFile.getFilePath(),a)}this._handleMemoryHighUsage()}return i(this._sourceFileList,s),r})):0;function i(e,t){for(const n of e)n.sourceFile.isParseRequired()||t.has(n)||n.sourceFile.dropParseAndBindInfo()}}printDetailedAnalysisTimes(){const e=this._sourceFileList.filter((e=>void 0!==e.sourceFile.getCheckTime())).sort(((e,t)=>t.sourceFile.getCheckTime()-e.sourceFile.getCheckTime()));this._console.info(""),this._console.info("Analysis time by file"),e.forEach((e=>{const t=e.sourceFile.getCheckTime();this._console.info(`${t}ms: ${e.sourceFile.getFilePath()}`)}))}printDependencies(e,t){const n=this._importResolver.fileSystem,i=this._sourceFileList.filter((e=>!e.isTypeshedFile)).sort(((e,t)=>n.getOriginalFilePath(e.sourceFile.getFilePath()){this._console.info("");let r=n.getOriginalFilePath(i.sourceFile.getFilePath());const o=(0,d.getRelativePath)(r,e);o&&(r=o),this._console.info(`${r}`),this._console.info(` Imports ${i.imports.length} file`+(1===i.imports.length?"":"s")),t&&i.imports.forEach((e=>{this._console.info(` ${n.getOriginalFilePath(e.sourceFile.getFilePath())}`)})),this._console.info(` Imported by ${i.importedBy.length} file`+(1===i.importedBy.length?"":"s")),t&&i.importedBy.forEach((e=>{this._console.info(` ${n.getOriginalFilePath(e.sourceFile.getFilePath())}`)})),0===i.importedBy.length&&s.push(i.sourceFile)})),s.length>0&&(this._console.info(""),this._console.info(`${s.length} file${1===s.length?"":"s"} not explicitly imported`),s.forEach((e=>{this._console.info(` ${n.getOriginalFilePath(e.getFilePath())}`)})))}writeTypeStub(e,t,n,i){for(const s of this._sourceFileList){(0,l.throwIfCancellationRequested)(i);const r=s.sourceFile.getFilePath(),o=(0,d.getRelativePath)(r,e);if(void 0!==o){let e=(0,d.normalizePath)((0,d.combinePaths)(n,o));e=t?(0,d.combinePaths)((0,d.getDirectoryPath)(e),"__init__.pyi"):(0,d.stripFileExtension)(e)+".pyi";const r=(0,d.getDirectoryPath)(e);try{(0,d.makeDirectories)(this._fs,r,n)}catch(e){throw new Error(`Could not create directory for '${r}'`)}this._bindFile(s),this._runEvaluatorWithCancellationToken(i,(()=>{new x.TypeStubWriter(e,s.sourceFile,this._evaluator).write()})),this._handleMemoryHighUsage()}}}getTypeOfSymbol(e){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).getEffectiveTypeOfSymbol(e)}printType(e,t){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).printType(e,t)}static _getPrintTypeFlags(e){let t=0;return e.diagnosticRuleSet.printUnknownAsAny&&(t|=1),e.diagnosticRuleSet.omitConditionalConstraint&&(t|=64),e.diagnosticRuleSet.omitTypeArgsIfAny&&(t|=2),e.diagnosticRuleSet.omitUnannotatedParamType&&(t|=4),e.diagnosticRuleSet.pep604Printing&&(t|=8),t}get _fs(){return this._importResolver.fileSystem}_getImportNameForFile(e){return this._importResolver.getModuleNameForImport(e,this._configOptions.getDefaultExecEnvironment()).moduleName}_addShadowedFile(e,t){let n=this._getSourceFileInfoFromPath(t);if(!n){const e=this._getImportNameForFile(t);n={sourceFile:new S.SourceFile(this._fs,t,e,!1,!1,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(n)}return n.shadows.includes(e)||n.shadows.push(e),e.shadowedBy.includes(n)||e.shadowedBy.push(n),n.sourceFile}_createNewEvaluator(){return this._evaluator&&this._evaluator.disposeEvaluator(),this._evaluator=(0,P.createTypeEvaluatorWithTracker)(this._lookUpImport,{printTypeFlags:R._getPrintTypeFlags(this._configOptions),logCalls:this._configOptions.logTypeEvaluationTime,minimumLoggingThreshold:this._configOptions.typeEvaluationTimeThreshold,analyzeUnannotatedFunctions:this._configOptions.analyzeUnannotatedFunctions,evaluateUnknownImportsAsAny:!!this._configOptions.evaluateUnknownImportsAsAny,verifyTypeCacheEvaluatorFlags:!!this._configOptions.internalTestMode},this._logTracker,this._configOptions.logTypeEvaluationTime?(0,N.createTracePrinter)(this._importResolver.getImportRoots(this._configOptions.findExecEnvironment(this._configOptions.projectRoot))):void 0),this._evaluator}_parseFile(e,t){if(this._isFileNeeded(e)&&e.sourceFile.isParseRequired()&&(e.sourceFile.parse(this._configOptions,this._importResolver,t)&&(this._parsedFileCount++,this._updateSourceFileImports(e,this._configOptions)),e.sourceFile.isFileDeleted())){e.isTracked=!1;const t=new Map;this._markFileDirtyRecursive(e,t),this._importResolver.invalidateCache()}}_bindFile(e,t){var n,i;if(!this._isFileNeeded(e)||!e.sourceFile.isBindingRequired())return;this._parseFile(e,t);const s=t=>{if(!t||t===e)return;if(this._bindFile(t),t.sourceFile.isFileDeleted())return;const n=t.sourceFile.getParseResults();if(!n)return;const i=Q.getScope(n.parseTree);return(0,g.assert)(void 0!==i),i};let r;e.builtinsImport&&e.builtinsImport!==e&&(r=null!==(i=null!==(n=s(e.chainedSourceFile))&&void 0!==n?n:s(e.ipythonDisplayImport))&&void 0!==i?i:s(e.builtinsImport)),e.sourceFile.bind(this._configOptions,this._lookUpImport,r)}_buildModuleSymbolsMap(e,t,n,i){return(0,f.buildModuleSymbolsMap)(this._sourceFileList.filter((n=>n!==e&&(!t||(0,b.isUserCode)(n)))),n,i)}_shouldCheckFile(e){return!!e.isOpenByClient||!(this._configOptions.checkOnlyOpenFiles||!e.isTracked)}_checkTypes(e){return this._logTracker.log(`analyzing: ${e.sourceFile.getFilePath()}`,(t=>{if(!this._isFileNeeded(e))return t.suppress(),!1;if(!e.sourceFile.isCheckingRequired())return t.suppress(),!1;if(!this._shouldCheckFile(e))return t.suppress(),!1;if(this._bindFile(e),this._preCheckCallback){const t=e.sourceFile.getParseResults();t&&this._preCheckCallback(t,this._evaluator)}if(this._disableChecker||e.sourceFile.check(this._importResolver,this._evaluator),this._handleMemoryHighUsage(),"none"!==this._configOptions.diagnosticRuleSet.reportImportCycles&&!this._allowedThirdPartyImports){const t=new Map;this._getImportsRecursive(e,t,0),t.forEach((e=>{y.timingStats.cycleDetectionTime.timeOperation((()=>{const t=new Map;this._detectAndReportImportCycles(e,t)||t.forEach((e=>{e.sourceFile.setNoCircularDependencyConfirmed()}))}))}))}return!0}))}_getImportsRecursive(e,t,n){const i=(0,d.normalizePathCase)(this._fs,e.sourceFile.getFilePath());if(!t.has(i))if(n>256)e.sourceFile.setHitMaxImportDepth(256);else{t.set(i,e);for(const i of e.imports)this._getImportsRecursive(i,t,n+1)}}_detectAndReportImportCycles(e,t,n=[],i=new Map){if(e.sourceFile.isStubFile()||e.isThirdPartyImport)return!1;if(e.sourceFile.isNoCircularDependencyConfirmed())return!1;t.set(e.sourceFile.getFilePath(),e);let s=!1;const r=(0,d.normalizePathCase)(this._fs,e.sourceFile.getFilePath());if(i.has(r))n.length>1&&e===n[0]&&(this._logImportCycle(n),s=!0);else{if(i.has(r))return!1;i.set(r,!0),n.push(e);for(const r of e.imports)this._detectAndReportImportCycles(r,t,n,i)&&(s=!0);i.set(r,!1),n.pop()}return s}_logImportCycle(e){const t=new _.CircularDependency;e.forEach((e=>{t.appendPath(e.sourceFile.getFilePath())})),t.normalizeOrder();const n=t.getPaths()[0],i=this._getSourceFileInfoFromPath(n);(0,g.assert)(void 0!==i),i.sourceFile.addCircularDependency(t)}_markFileDirtyRecursive(e,t,n=!1){const i=(0,d.normalizePathCase)(this._fs,e.sourceFile.getFilePath());t.has(i)||(e.sourceFile.markReanalysisRequired(n),t.set(i,!0),e.importedBy.forEach((n=>{const i=n.chainedSourceFile===e;this._markFileDirtyRecursive(n,t,i)})))}getTextOnRange(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;const s=i.sourceFile,r=s.getOpenFileContents();return void 0!==r?this._runEvaluatorWithCancellationToken(n,(()=>{this._parseFile(i);const e=s.getParseResults(),n=(0,h.convertRangeToTextRange)(t,e.tokenizerOutput.lines);if(n)return r.substr(n.start,n.length)})):void 0}getAutoImports(e,t,n,i,s,r){const o=this._getSourceFileInfoFromPath(e);if(!o)return[];const a=o.sourceFile,A=a.getOpenFileContents();return void 0===A?[]:this._runEvaluatorWithCancellationToken(r,(()=>{var l;this._bindFile(o);const p=a.getParseResults(),g=(0,h.convertRangeToTextRange)(t,p.tokenizerOutput.lines);if(!g)return[];const u=(0,w.findNodeByOffset)(p.parseTree,g.start);if(!u)return[];const d=A.substr(g.start,g.length),m=this._buildModuleSymbolsMap(o,!!s.libraryMap,!0,r);s.patternMatcher=null!==(l=s.patternMatcher)&&void 0!==l?l:(e,t)=>(0,C.computeCompletionSimilarity)(e,t)>n;const y=new f.AutoImporter(this._configOptions.findExecEnvironment(e),this._importResolver,p,t.start,new E.CompletionMap,m,s),I=[],T=(0,D.getScopeForNode)(u);if(T){const e=null==i?void 0:i.get(d);e&&(0,c.appendArray)(I,y.getAutoImportCandidatesForAbbr(d,e,r)),I.push(...y.getAutoImportCandidates(d,n,void 0,r).filter((e=>!T.lookUpSymbolRecursive(e.name))))}return I}))}getDiagnostics(e){const t=this._removeUnneededFiles();return this._sourceFileList.forEach((n=>{if(this._shouldCheckFile(n)){const i=n.sourceFile.getDiagnostics(e,n.diagnosticsVersion);void 0!==i&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:i}),n.diagnosticsVersion=n.sourceFile.getDiagnosticVersion())}else!n.isOpenByClient&&e.checkOnlyOpenFiles&&void 0!==n.diagnosticsVersion&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:[]}),n.diagnosticsVersion=void 0)})),t}getDiagnosticsForRange(e,t){const n=this.getSourceFile(e);if(!n)return[];const i=n.getDiagnostics(this._configOptions);return i?i.filter((e=>(0,m.doRangesIntersect)(e.range,t))):[]}getDefinitionsForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;this._bindFile(s);const r=this._configOptions.findExecEnvironment(e);return s.sourceFile.getDefinitionsForPosition(this._createSourceMapper(r),t,n,this._evaluator,i)}))}getTypeDefinitionsForPosition(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const s=this._configOptions.findExecEnvironment(e);return i.sourceFile.getTypeDefinitionsForPosition(this._createSourceMapper(s,!1,!0),t,this._evaluator,e,n)}))}reportReferencesForPosition(e,t,n,i,s){this._runEvaluatorWithCancellationToken(s,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;const o=(0,b.isUserCode)(r);this._bindFile(r);const a=this._configOptions.findExecEnvironment(e),A=r.sourceFile.getDeclarationForPosition(this._createSourceMapper(a),t,this._evaluator,i,s);if(A)if(A.requiresGlobalSearch){for(const e of this._sourceFileList)if((0,l.throwIfCancellationRequested)(s),e.isOpenByClient||!o||(0,b.isUserCode)(e)){const t=e.sourceFile.getFileContent();(!t||t.search(A.symbolName)>=0)&&(this._bindFile(e),e.sourceFile.addReferences(A,n,this._evaluator,s)),this._handleMemoryHighUsage()}if(n)for(const e of A.declarations){if((0,l.throwIfCancellationRequested)(s),A.locations.some((t=>t.path===e.path)))continue;const t=this._getSourceFileInfoFromPath(e.path);if(!t)continue;const i=new B.ReferencesResult(A.requiresGlobalSearch,A.nodeAtOffset,A.symbolName,A.declarations);t.sourceFile.addReferences(i,n,this._evaluator,s);for(const t of i.locations)t.path===e.path&&(0,m.doesRangeContain)(e.range,t.range)&&A.addLocations(t)}}else r.sourceFile.addReferences(A,n,this._evaluator,s)}))}getFileIndex(e,t,n){if(t.indexingForAutoImportMode){const t=(0,d.stripFileExtension)((0,d.getFileName)(e));if((0,k.isPrivateOrProtectedName)(t))return}return this._handleMemoryHighUsage(),this._runEvaluatorWithCancellationToken(n,(()=>{var i;const s=this._getSourceFileInfoFromPath(e);if(!s)return;const r=null!==(i=s.sourceFile.getFileContent())&&void 0!==i?i:"";return t.indexingForAutoImportMode&&!t.forceIndexing&&!s.sourceFile.isStubFile()&&!s.sourceFile.isThirdPartyPyTypedPresent()&&r.indexOf("__all__")<0?void 0:(this._bindFile(s,r),s.sourceFile.index(t,n))}))}addSymbolsForDocument(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);i&&(i.sourceFile.getCachedIndexResults()||this._bindFile(i),i.sourceFile.addHierarchicalSymbolsForDocument(t,n))}))}reportSymbolsForWorkspace(e,t,n){this._runEvaluatorWithCancellationToken(n,(()=>{if(e)for(const i of this._sourceFileList){if(!(0,b.isUserCode)(i))continue;i.sourceFile.getCachedIndexResults()||this._bindFile(i);const s=i.sourceFile.getSymbolsForDocument(e,n);s.length>0&&t(s),this._handleMemoryHighUsage()}}))}getHoverForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;this._bindFile(s);const r=this._configOptions.findExecEnvironment(e);return s.sourceFile.getHoverForPosition(this._createSourceMapper(r,!0),t,n,this._evaluator,i)}))}getDocumentHighlight(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const s=this._configOptions.findExecEnvironment(e);return i.sourceFile.getDocumentHighlight(this._createSourceMapper(s),t,this._evaluator,n)}))}getSignatureHelpForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;this._bindFile(s);const r=this._configOptions.findExecEnvironment(e);return s.sourceFile.getSignatureHelpForPosition(t,this._createSourceMapper(r,!0),this._evaluator,n,i)}))}async getCompletionsForPosition(e,t,n,i,s,r,o){var a;const l=this._getSourceFileInfoFromPath(e);if(!l)return;const c=this._logTracker.log(`completion at ${e}:${t.line}:${t.character}`,(a=>{var A;const c=this._runEvaluatorWithCancellationToken(o,(()=>{this._bindFile(l);const a=this._configOptions.findExecEnvironment(e);return l.sourceFile.getCompletionsForPosition(t,n,this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,i,this._createSourceMapper(a,!0),s,r,(()=>this._buildModuleSymbolsMap(l,!!r,!1,o)),o)}));return a.add(`found ${null!==(A=null==c?void 0:c.completionMap.size)&&void 0!==A?A:"null"} items`),c})),p={completionList:A.CompletionList.create(null==c?void 0:c.completionMap.toArray()),memberAccessInfo:null==c?void 0:c.memberAccessInfo,autoImportInfo:null==c?void 0:c.autoImportInfo,extensionInfo:null==c?void 0:c.extensionInfo};if(!c||!(null===(a=this._extension)||void 0===a?void 0:a.completionListExtension))return p;const g=l.sourceFile.getParseResults();if((null==g?void 0:g.parseTree)&&(null==g?void 0:g.text)){const e=(0,h.convertPositionToOffset)(t,g.tokenizerOutput.lines);void 0!==e&&await this._extension.completionListExtension.updateCompletionResults(p,g,e,o)}return p}resolveCompletionItem(e,t,n,i,s,r){return this._runEvaluatorWithCancellationToken(r,(()=>{const o=this._getSourceFileInfoFromPath(e);if(!o)return;this._bindFile(o);const a=this._configOptions.findExecEnvironment(e);o.sourceFile.resolveCompletionItem(this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,n,this._createSourceMapper(a,!0),i,s,(()=>this._buildModuleSymbolsMap(o,!!s,!1,r)),t,r)}))}renameModule(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{if((0,d.isFile)(this._fs,e)&&!this._getSourceFileInfoFromPath(e))return;const i=v.RenameModuleProvider.createForModule(this._importResolver,this._configOptions,this._evaluator,e,t,n);return i?(this._processModuleReferences(i,i.lastModuleName,e),{edits:i.getEdits(),fileOperations:[]}):void 0}))}moveSymbolAtPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;this._bindFile(s);const r=s.sourceFile.getParseResults();if(!r)return;const o=(0,h.convertPositionToOffset)(n,r.tokenizerOutput.lines);if(void 0===o)return;const a=(0,w.findNodeByOffset)(r.parseTree,o);if(void 0===a)return;if(38!==a.nodeType)return;const A=this._configOptions.findExecEnvironment(e),l=T.DocumentSymbolCollector.getDeclarationsForNode(a,this._evaluator,!1,i,this._createSourceMapper(A)),c=v.RenameModuleProvider.createForSymbol(this._importResolver,this._configOptions,this._evaluator,e,t,l,i);return c?(this._processModuleReferences(c,a.value,e),{edits:c.getEdits(),fileOperations:[]}):void 0}))}canRenameSymbolAtPosition(e,t,n,i,s){return this._runEvaluatorWithCancellationToken(s,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const o=this._getReferenceResult(r,e,t,i,s);if(!o)return;if(o.containsOnlyImportDecls&&!this._supportRenameModule(o.declarations,n))return;if("none"===this._getRenameSymbolMode(r,o,n))return;const a=r.sourceFile.getParseResults();return{range:(0,h.convertTextRangeToRange)(o.nodeAtOffset,a.tokenizerOutput.lines),declarations:o.declarations}}))}renameSymbolAtPosition(e,t,n,i,s,r){return this._runEvaluatorWithCancellationToken(r,(()=>{var o;const a=this._getSourceFileInfoFromPath(e);if(!a)return;this._bindFile(a);const A=this._getReferenceResult(a,e,t,s,r);if(!A)return;if(A.containsOnlyImportDecls){if(!this._supportRenameModule(A.declarations,i))return;const t=v.RenameModuleProvider.getRenameModulePathInfo(v.RenameModuleProvider.getRenameModulePath(A.declarations),n);if(!t)return;const s=this.renameModule(t.filePath,t.newFilePath,r);if(null==s||s.fileOperations.push({kind:"rename",oldFilePath:t.filePath,newFilePath:t.newFilePath}),(0,F.isStubFile)(t.filePath)){const i=this._importResolver.getSourceFilesFromStub(t.filePath,this._configOptions.findExecEnvironment(e),!1);for(const e of i){const t=v.RenameModuleProvider.getRenameModulePathInfo(e,n);t&&(null==s||s.fileOperations.push({kind:"rename",oldFilePath:t.filePath,newFilePath:t.newFilePath}))}}return s}const l=this._getRenameSymbolMode(a,A,i);switch(l){case"singleFileMode":a.sourceFile.addReferences(A,!0,this._evaluator,r);break;case"multiFileMode":for(const e of this._sourceFileList){if((0,b.isUserCode)(e)){const t=null!==(o=e.sourceFile.getFileContent())&&void 0!==o?o:"";if(t.indexOf(A.symbolName)<0)continue;this._bindFile(e,t),e.sourceFile.addReferences(A,!0,this._evaluator,r)}this._handleMemoryHighUsage()}break;case"none":return;default:(0,g.assertNever)(l)}const c=[];return A.locations.forEach((e=>{c.push({filePath:e.path,range:e.range,replacementText:n})})),{edits:c,fileOperations:[]}}))}getCallForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const s=this._configOptions.findExecEnvironment(e),r=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(s),t,this._evaluator,void 0,n);if(!r||0===r.declarations.length)return;const o=I.CallHierarchyProvider.getTargetDeclaration(r.declarations,r.nodeAtOffset);return I.CallHierarchyProvider.getCallForDeclaration(r.symbolName,o,this._evaluator,n)}getIncomingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const s=this._configOptions.findExecEnvironment(e),r=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(s),t,this._evaluator,void 0,n);if(!r||0===r.declarations.length)return;const o=I.CallHierarchyProvider.getTargetDeclaration(r.declarations,r.nodeAtOffset);let a=[];for(const e of this._sourceFileList)if((0,b.isUserCode)(e)||e.isOpenByClient){this._bindFile(e);const t=I.CallHierarchyProvider.getIncomingCallsForDeclaration(e.sourceFile.getFilePath(),r.symbolName,o,e.sourceFile.getParseResults(),this._evaluator,n);t&&(a=a.concat(...t)),this._handleMemoryHighUsage()}return a}getOutgoingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const s=this._configOptions.findExecEnvironment(e),r=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(s),t,this._evaluator,void 0,n);if(!r||0===r.declarations.length)return;const o=I.CallHierarchyProvider.getTargetDeclaration(r.declarations,r.nodeAtOffset);return I.CallHierarchyProvider.getOutgoingCallsForDeclaration(o,i.sourceFile.getParseResults(),this._evaluator,n)}performQuickAction(e,t,n,i){const s=this._getSourceFileInfoFromPath(e);if(s)return this._bindFile(s),s.sourceFile.performQuickAction(t,n,i)}test_createSourceMapper(e){return this._createSourceMapper(e,!1)}_getRenameSymbolMode(e,t,n){const i=(0,b.isUserCode)(e);return n||i&&!t.requiresGlobalSearch||!i&&e.isOpenByClient&&t.declarations.every((t=>this._getSourceFileInfoFromPath(t.path)===e))?"singleFileMode":t.declarations.every((e=>(0,b.isUserCode)(this._getSourceFileInfoFromPath(e.path))))?"multiFileMode":"none"}_supportRenameModule(e,t){return!t&&e.every((e=>(0,b.isUserCode)(this._getSourceFileInfoFromPath(e.path))))}_getReferenceResult(e,t,n,i,s){const r=this._configOptions.findExecEnvironment(t),o=e.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),n,this._evaluator,void 0,s);if(o){if(i&&o.containsOnlyImportDecls)return o;if(0!==o.nonImportDeclarations.length)return new B.ReferencesResult(o.requiresGlobalSearch,o.nodeAtOffset,o.symbolName,o.nonImportDeclarations)}}_processModuleReferences(e,t,n){var i;for(const s of this._sourceFileList){if(!(0,b.isUserCode)(s))continue;const r=s.sourceFile.getFilePath(),o=null!==(i=s.sourceFile.getFileContent())&&void 0!==i?i:"";if(r!==n&&o.indexOf(t)<0)continue;this._bindFile(s,o);const a=s.sourceFile.getParseResults();a&&(e.renameReferences(r,a),this._handleMemoryHighUsage())}}_handleMemoryHighUsage(){const e=this._evaluator.getTypeCacheEntryCount(),t=e=>`${Math.round(e/1048576)}MB`;if(e>75e4||this._parsedFileCount>1e3){const n=(0,o.getHeapStatistics)();this._configOptions.verboseOutput&&this._console.info(`Heap stats: total_heap_size=${t(n.total_heap_size)}, used_heap_size=${t(n.used_heap_size)}, total_physical_size=${t(n.total_physical_size)}, total_available_size=${t(n.total_available_size)}, heap_size_limit=${t(n.heap_size_limit)}`),(e>15099494.4||n.used_heap_size>.9*n.heap_size_limit)&&(this._console.info(`Emptying type cache to avoid heap overflow. Used ${t(n.used_heap_size)} out of ${t(n.heap_size_limit)} (${e} cache entries).`),this._createNewEvaluator(),this._discardCachedParseResults(),this._parsedFileCount=0)}}_discardCachedParseResults(){for(const e of this._sourceFileList)e.sourceFile.dropParseAndBindInfo()}_runEvaluatorWithCancellationToken(e,t){try{return e?this._evaluator.runWithCancellationToken(e,t):t()}catch(e){throw e instanceof l.OperationCanceledException||this._createNewEvaluator(),e}}_removeUnneededFiles(){const e=[];for(let t=0;t{const s=i.importedBy.findIndex((e=>e===n));if(!(s<0||(i.importedBy.splice(s,1),this._isFileNeeded(i)))){const n=this._sourceFileList.findIndex((e=>e===i));n>=0&&n{e.shadows=e.shadows.filter((e=>e!==n))})),n.shadowedBy=[])}return e}_isFileNeeded(e){return!e.sourceFile.isFileDeleted()&&(!(!e.isTracked&&!e.isOpenByClient)||e.shadows.length>0||0!==e.importedBy.length&&this._isImportNeededRecursive(e,new Map))}_isImportNeededRecursive(e,t){if(e.isTracked||e.isOpenByClient||e.shadows.length>0)return!0;const n=(0,d.normalizePathCase)(this._fs,e.sourceFile.getFilePath());if(t.has(n))return!1;t.set(n,!0);for(const n of e.importedBy)if(this._isImportNeededRecursive(n,t))return!0;return!1}_createSourceMapper(e,t,n){return new F.SourceMapper(this._importResolver,e,this._evaluator,((e,t)=>{const n=this._getSourceFileInfoFromPath(e);if(n)return this._addShadowedFile(n,t),this.getBoundSourceFile(t)}),(e=>this.getBoundSourceFile(e)),null!=t&&t,null!=n&&n)}_isImportAllowed(e,t,n){if(t.isNativeLib)return!1;let i=this._configOptions.useLibraryCodeForTypes||1===t.importType&&!!t.pyTypedInfo||2===t.importType&&e.isThirdPartyPyTypedPresent;return!((1===t.importType||e.isThirdPartyImport&&2===t.importType)&&(this._allowedThirdPartyImports&&(t.isRelative||this._allowedThirdPartyImports.some((e=>t.importName===e||!!t.importName.startsWith(e+"."))))&&(i=!0),!n))||i}_updateSourceFileImports(e,t){const n=[],i=e.sourceFile.getImports(),s=t=>{let n=!1,i=!1;return 1===t.importType?(n=!0,t.pyTypedInfo&&(i=!0)):e.isThirdPartyImport&&2===t.importType&&(n=!0,e.isThirdPartyPyTypedPresent&&(i=!0)),{isThirdPartyImport:n,isPyTypedPresent:i}},r=new Map;if(e.chainedSourceFile)if(e.chainedSourceFile.sourceFile.isFileDeleted())e.chainedSourceFile=void 0;else{const t=e.chainedSourceFile.sourceFile.getFilePath();r.set((0,d.normalizePathCase)(this._fs,t),{path:t,isTypeshedFile:!1,isThirdPartyImport:!1,isPyTypedPresent:!1})}i.forEach((n=>{if(n.isImportFound){if(this._isImportAllowed(e,n,n.isStubFile)&&n.resolvedPaths.length>0){const e=n.resolvedPaths[n.resolvedPaths.length-1];if(e){const t=s(n);r.set((0,d.normalizePathCase)(this._fs,e),{path:e,isTypeshedFile:!!n.isStdlibTypeshedFile||!!n.isThirdPartyTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isPyTypedPresent:t.isPyTypedPresent})}}n.filteredImplicitImports.forEach((t=>{if(this._isImportAllowed(e,n,t.isStubFile)&&!t.isNativeLib){const e=s(n);r.set((0,d.normalizePathCase)(this._fs,t.path),{path:t.path,isTypeshedFile:!!n.isStdlibTypeshedFile||!!n.isThirdPartyTypeshedFile,isThirdPartyImport:e.isThirdPartyImport,isPyTypedPresent:e.isPyTypedPresent})}})),n.nonStubImportResult&&!n.nonStubImportResult.isImportFound&&(e.sourceFile.isStubFile()||n.isStdlibTypeshedFile||t.verboseOutput&&(this._console.info(`Could not resolve source for '${n.importName}' in file '${e.sourceFile.getFilePath()}'`),n.nonStubImportResult.importFailureInfo&&n.nonStubImportResult.importFailureInfo.forEach((e=>{this._console.info(` ${e}`)}))))}else t.verboseOutput&&(this._console.info(`Could not import '${n.importName}' in file '${e.sourceFile.getFilePath()}'`),n.importFailureInfo&&n.importFailureInfo.forEach((e=>{this._console.info(` ${e}`)})))}));const o=new Map;e.imports.forEach((t=>{const n=(0,d.normalizePathCase)(this._fs,t.sourceFile.getFilePath());r.has(n)?o.set(n,t):t.importedBy=t.importedBy.filter((t=>(0,d.normalizePathCase)(this._fs,t.sourceFile.getFilePath())!==(0,d.normalizePathCase)(this._fs,e.sourceFile.getFilePath())))})),r.forEach(((t,i)=>{if(!o.has(i)){let s;if(this._getSourceFileInfoFromPath(t.path))s=this._getSourceFileInfoFromPath(t.path);else{const e=this._getImportNameForFile(t.path);s={sourceFile:new S.SourceFile(this._fs,t.path,e,t.isThirdPartyImport,t.isPyTypedPresent,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:t.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isThirdPartyPyTypedPresent:t.isPyTypedPresent,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(s),n.push(s)}s.importedBy.push(e),o.set(i,s)}})),e.imports=[],r.forEach(((t,n)=>{this._getSourceFileInfoFromPath(n)&&e.imports.push(this._getSourceFileInfoFromPath(n))})),e.builtinsImport=void 0;const a=e.sourceFile.getBuiltinsImport();if(a&&a.isImportFound){const t=a.resolvedPaths[a.resolvedPaths.length-1];e.builtinsImport=this._getSourceFileInfoFromPath(t)}e.ipythonDisplayImport=void 0;const A=e.sourceFile.getIPythonDisplayImport();if(A&&A.isImportFound){const t=A.resolvedPaths[A.resolvedPaths.length-1];e.ipythonDisplayImport=this._getSourceFileInfoFromPath(t)}return n}_getSourceFileInfoFromPath(e){return this._sourceFileMap.get((0,d.normalizePathCase)(this._fs,e))}_removeSourceFileFromListAndMap(e,t){this._sourceFileMap.delete((0,d.normalizePathCase)(this._fs,e)),this._sourceFileList.splice(t,1)}_addToSourceFileListAndMap(e){const t=(0,d.normalizePathCase)(this._fs,e.sourceFile.getFilePath());(0,g.assert)(!this._sourceFileMap.has(t)),this._sourceFileList.push(e),this._sourceFileMap.set(t,e)}}t.Program=R},9335:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assignProperty=t.clonePropertyWithDeleter=t.clonePropertyWithSetter=t.createProperty=t.validatePropertyMethod=void 0;const i=n(1290),s=n(9744),r=n(2122),o=n(563),a=n(8494),A=n(817),l=n(1133),c=n(5168);function p(e,t){const n=e.details.fields,i=l.FunctionType.createSynthesizedInstance("__get__",256);l.FunctionType.addParameter(i,{category:0,name:"self",type:l.AnyType.create(),hasDeclaredType:!0}),l.FunctionType.addParameter(i,{category:0,name:"obj",type:l.NoneType.createInstance(),hasDeclaredType:!0}),l.FunctionType.addParameter(i,{category:0,name:"objtype",type:l.AnyType.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:l.AnyType.create()}),i.details.declaredReturnType=l.FunctionType.isClassMethod(t)?l.FunctionType.getSpecializedReturnType(t):e,i.details.declaration=t.details.declaration;const s=l.FunctionType.createSynthesizedInstance("__get__",256);l.FunctionType.addParameter(s,{category:0,name:"self",type:l.AnyType.create(),hasDeclaredType:!0});const r=t.details.parameters.length>0?t.details.parameters[0].type:l.AnyType.create();l.FunctionType.addParameter(s,{category:0,name:"obj",type:r,hasDeclaredType:!0}),l.FunctionType.addParameter(s,{category:0,name:"objtype",type:l.AnyType.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:l.AnyType.create()}),s.details.declaredReturnType=l.FunctionType.getSpecializedReturnType(t),s.details.declaration=t.details.declaration,s.details.typeVarScopeId=(0,c.getTypeVarScopeId)(t);const o=l.OverloadedFunctionType.create([i,s]),a=A.Symbol.createWithType(4,o);n.set("__get__",a)}function g(e,t,n){const i=e.details.fields,s=l.FunctionType.createSynthesizedInstance("__set__");l.FunctionType.addParameter(s,{category:0,name:"self",type:l.AnyType.create(),hasDeclaredType:!0});let r=t.details.parameters.length>0?t.details.parameters[0].type:l.AnyType.create();(0,l.isTypeVar)(r)&&r.details.isSynthesizedSelf&&(r=n.makeTopLevelTypeVarsConcrete(r)),l.FunctionType.addParameter(s,{category:0,name:"obj",type:(0,l.combineTypes)([r,l.NoneType.createInstance()]),hasDeclaredType:!0}),s.details.declaredReturnType=l.NoneType.createInstance();let o=l.UnknownType.create();t.details.parameters.length>=2&&0===t.details.parameters[1].category&&t.details.parameters[1].name&&(o=t.details.parameters[1].type),l.FunctionType.addParameter(s,{category:0,name:"value",type:o,hasDeclaredType:!0});const a=A.Symbol.createWithType(4,s);i.set("__set__",a)}function u(e,t,n){const i=e.details.fields,s=l.FunctionType.createSynthesizedInstance("__delete__");l.FunctionType.addParameter(s,{category:0,name:"self",type:l.AnyType.create(),hasDeclaredType:!0});let r=t.details.parameters.length>0?t.details.parameters[0].type:l.AnyType.create();(0,l.isTypeVar)(r)&&r.details.isSynthesizedSelf&&(r=n.makeTopLevelTypeVarsConcrete(r)),l.FunctionType.addParameter(s,{category:0,name:"obj",type:(0,l.combineTypes)([r,l.NoneType.createInstance()]),hasDeclaredType:!0}),s.details.declaredReturnType=l.NoneType.createInstance();const o=A.Symbol.createWithType(4,s);i.set("__delete__",o)}function d(e,t){const n=e.details.fields,i=n.get("fget"),s=null==i?void 0:i.getSynthesizedType();s&&(0,l.isFunction)(s)&&p(e,s);const r=n.get("fset"),o=null==r?void 0:r.getSynthesizedType();o&&(0,l.isFunction)(o)&&g(e,o,t);const a=n.get("fdel"),A=null==a?void 0:a.getSynthesizedType();A&&(0,l.isFunction)(A)&&u(e,A,t)}function h(e){const t=e.details.fields;["getter","setter","deleter"].forEach((n=>{const i=l.FunctionType.createSynthesizedInstance(n);l.FunctionType.addParameter(i,{category:0,name:"self",type:l.AnyType.create(),hasDeclaredType:!0}),l.FunctionType.addParameter(i,{category:0,name:"accessor",type:l.AnyType.create(),hasDeclaredType:!0}),i.details.declaredReturnType=e;const s=A.Symbol.createWithType(4,i);t.set(n,s)}))}t.validatePropertyMethod=function(e,t,n){l.FunctionType.isStaticMethod(t)&&e.addDiagnostic((0,o.getFileInfo)(n).diagnosticRuleSet.reportGeneralTypeIssues,s.DiagnosticRule.reportGeneralTypeIssues,r.Localizer.Diagnostic.propertyStaticMethod(),n)},t.createProperty=function(e,t,n,i){const s=(0,o.getFileInfo)(t),r=e.getBuiltInType(t,"type"),g=l.ClassType.isBuiltIn(n,"property")?(0,a.getTypeSourceId)(t):n.details.typeSourceId,u=l.ClassType.createInstantiable(n.details.name,(0,a.getClassFullName)(t,s.moduleName,`__property_${i.details.name}`),s.moduleName,s.filePath,2049,g,void 0,(0,l.isInstantiableClass)(r)?r:l.UnknownType.create());u.details.typeVarScopeId=n.details.typeVarScopeId;const C=e.getBuiltInType(t,"object");u.details.baseClasses.push((0,l.isInstantiableClass)(C)?C:l.UnknownType.create()),(0,c.computeMroLinearization)(u);const m=u.details.fields;n.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||["__get__","__set__","__delete__","fget","fset","fdel"].some((e=>e===t))||m.set(t,e)}));const y=l.ClassType.cloneAsInstance(u);u.isAsymmetricDescriptor=!1,d(y,e);const f=A.Symbol.createWithType(4,l.FunctionType.cloneWithNewFlags(i,4|i.details.flags));return m.set("fget",f),l.FunctionType.isClassMethod(i)&&(u.details.flags|=4194304),p(y,i),h(y),y},t.clonePropertyWithSetter=function(e,t,n,p){if(!(0,c.isProperty)(t))return t;const u=t,C=u.details.flags;let m=!!u.isAsymmetricDescriptor;const y=(0,o.getFileInfo)(p);if(p.parameters.length>=2){const t=(0,a.getTypeAnnotationForParameter)(p,1);if(t){const n=e.getGetterTypeFromProperty(u,!1);if(n&&!(0,l.isAnyOrUnknown)(n)){const o=e.getTypeOfAnnotation(t,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if("none"!==y.diagnosticRuleSet.reportPropertyTypeMismatch){const a=new i.DiagnosticAddendum;e.assignType(n,o,a)||e.addDiagnostic(y.diagnosticRuleSet.reportPropertyTypeMismatch,s.DiagnosticRule.reportPropertyTypeMismatch,r.Localizer.Diagnostic.setterGetterTypeMismatch()+a.getString(),t)}(0,l.isTypeSame)(n,o)||(m=!0)}}}const f=l.ClassType.createInstantiable(u.details.name,u.details.fullName,u.details.moduleName,(0,o.getFileInfo)(p).filePath,C,u.details.typeSourceId,u.details.declaredMetaclass,u.details.effectiveMetaclass);f.details.typeVarScopeId=u.details.typeVarScopeId;const I=e.getBuiltInType(p,"object");f.details.baseClasses.push((0,l.isInstantiableClass)(I)?I:l.UnknownType.create()),(0,c.computeMroLinearization)(f),f.isAsymmetricDescriptor=m;const E=l.ClassType.cloneAsInstance(f),T=f.details.fields;u.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||T.set(t,e)})),d(E,e);const B=A.Symbol.createWithType(4,l.FunctionType.cloneWithNewFlags(n,4|n.details.flags));return T.set("fset",B),g(E,n,e),h(E),E},t.clonePropertyWithDeleter=function(e,t,n,i){var s;if(!(0,c.isProperty)(t))return t;const r=t,a=l.ClassType.createInstantiable(r.details.name,r.details.fullName,r.details.moduleName,(0,o.getFileInfo)(i).filePath,r.details.flags,r.details.typeSourceId,r.details.declaredMetaclass,r.details.effectiveMetaclass);a.details.typeVarScopeId=r.details.typeVarScopeId;const p=e.getBuiltInType(i,"object");a.details.baseClasses.push((0,l.isInstantiableClass)(p)?p:l.UnknownType.create()),(0,c.computeMroLinearization)(a);const g=l.ClassType.cloneAsInstance(a);a.isAsymmetricDescriptor=null!==(s=r.isAsymmetricDescriptor)&&void 0!==s&&s;const C=a.details.fields;r.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||C.set(t,e)})),d(g,e);const m=A.Symbol.createWithType(4,l.FunctionType.cloneWithNewFlags(n,4|n.details.flags));return C.set("fdel",m),u(g,n,e),h(g),g},t.assignProperty=function(e,t,n,i,s,o,a,A,p=0){const g=l.ClassType.cloneAsInstance(s);let u=!0;return[{name:"fget",missingDiagMsg:r.Localizer.DiagnosticAddendum.missingGetter,incompatibleDiagMsg:r.Localizer.DiagnosticAddendum.incompatibleGetter},{name:"fset",missingDiagMsg:r.Localizer.DiagnosticAddendum.missingSetter,incompatibleDiagMsg:r.Localizer.DiagnosticAddendum.incompatibleSetter},{name:"fdel",missingDiagMsg:r.Localizer.DiagnosticAddendum.missingDeleter,incompatibleDiagMsg:r.Localizer.DiagnosticAddendum.incompatibleDeleter}].forEach((r=>{const d=t.details.fields.get(r.name);let h=d?e.getDeclaredTypeOfSymbol(d):void 0;if(h&&(0,l.isFunction)(h)){const t=n.details.fields.get(r.name);let d=t?e.getDeclaredTypeOfSymbol(t):void 0;if(!d||!(0,l.isFunction)(d))return null==o||o.addMessage(r.missingDiagMsg()),void(u=!1);e.inferReturnTypeIfNecessary(d),d=(0,c.partiallySpecializeType)(d,s),e.inferReturnTypeIfNecessary(h),h=(0,c.partiallySpecializeType)(h,i),A&&(h=(0,c.applySolvedTypeVars)(h,A));const C=e.bindFunctionToClassOrObject(g,h,void 0,void 0,p),m=e.bindFunctionToClassOrObject(g,d,void 0,void 0,p);C&&m&&e.assignType(C,m,o,a,void 0,0,p)||(u=!1)}})),u}},4124:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assignModuleToProtocol=t.assignClassToProtocol=void 0;const i=n(2122),s=n(9335),r=n(1133),o=n(5168),a=n(4447),A=[];t.assignClassToProtocol=function(e,t,n,l,c,p,g,u,d){var h;const C=0!=(1&g);if(d>r.maxTypeRecursionCount)return!0;if(d++,A.some((e=>(0,r.isTypeSame)(e.srcType,n)&&(0,r.isTypeSame)(e.destType,t))))return!0;if(!C&&!u&&0===t.details.typeParameters.length&&0===n.details.typeParameters.length&&(null===(h=n.details.compatibleProtocols)||void 0===h?void 0:h.has(t.details.fullName)))return!0;A.push({srcType:n,destType:t});let m=!0;try{m=function(e,t,n,A,l,c,p,g,u){if(0!=(1&p))return(0,r.isTypeSame)(t,n);const d=r.ClassType.cloneForSpecialization(t,void 0,!1),h=new a.TypeVarContext((0,o.getTypeVarScopeId)(t)),C=new a.TypeVarContext((0,o.getTypeVarScopeId)(t));if((0,o.populateTypeVarContextForSelfType)(C,t,n),r.ClassType.isTypedDictClass(n)){const t=e.getTypedDictClassType();t&&(0,r.isInstantiableClass)(t)&&(n=t)}let m=!0;const y=new Set,f=(0,o.buildTypeVarContextFromSpecializedClass)(n),I=(0,o.containsLiteralType)(n,!0)?128:0;if(t.details.mro.forEach((a=>{(0,r.isInstantiableClass)(a)&&r.ClassType.isProtocolClass(a)&&(m||A)&&a.details.fields.forEach(((l,c)=>{if((m||A)&&l.isClassMember()&&!l.isIgnoredForProtocolMatch()&&!y.has(c)){let p,d=!1;if(!g&&"__class_getitem__"===c)return;if("__slots__"===c)return;if(y.add(c),g&&n.details.effectiveMetaclass&&(0,r.isInstantiableClass)(n.details.effectiveMetaclass)&&(p=(0,o.lookUpClassMember)(n.details.effectiveMetaclass,c),p&&(f.addSolveForScope((0,o.getTypeVarScopeId)(n.details.effectiveMetaclass)),d=!0)),p||(p=(0,o.lookUpClassMember)(n,c)),p){let y=e.getDeclaredTypeOfSymbol(l);if(y){let f;if(r.ClassType.isSameGenericClass(a,t)||(y=(0,o.partiallySpecializeType)(y,a)),(0,r.isInstantiableClass)(p.classType)){const t=e.getEffectiveTypeOfSymbol(p.symbol);(0,r.isFunction)(t)&&e.inferReturnTypeIfNecessary(t),f=(0,o.partiallySpecializeType)(t,p.classType,n)}else f=r.UnknownType.create();if((0,r.isFunction)(f)||(0,r.isOverloadedFunction)(f)){if(d){const t=e.bindFunctionToClassOrObject(n,f,void 0,void 0,u,!1,n);if(t&&(f=(0,o.removeParamSpecVariadicsFromSignature)(t)),(0,r.isFunction)(y)||(0,r.isOverloadedFunction)(y)){const t=e.bindFunctionToClassOrObject(n,y,void 0,void 0,u,!1,n);t&&(y=(0,o.removeParamSpecVariadicsFromSignature)(t))}}else if((0,r.isInstantiableClass)(p.classType)){y=(0,o.applySolvedTypeVars)(y,C);const t=e.bindFunctionToClassOrObject(g?n:r.ClassType.cloneAsInstance(n),f,p.classType,void 0,u);if(t&&(f=(0,o.removeParamSpecVariadicsFromSignature)(t)),(0,r.isFunction)(y)||(0,r.isOverloadedFunction)(y)){const t=e.bindFunctionToClassOrObject(r.ClassType.cloneAsInstance(n),y,p.classType,void 0,u);t&&(y=(0,o.removeParamSpecVariadicsFromSignature)(t))}}}else y=(0,o.applySolvedTypeVars)(y,C);const E=null==A?void 0:A.createAddendum();if((0,r.isClassInstance)(y)&&r.ClassType.isPropertyClass(y))if((0,r.isClassInstance)(f)&&r.ClassType.isPropertyClass(f)&&!g)(0,s.assignProperty)(e,r.ClassType.cloneAsInstantiable(y),r.ClassType.cloneAsInstantiable(f),a,n,null==E?void 0:E.createAddendum(),h,C,u)||(E&&E.addMessage(i.Localizer.DiagnosticAddendum.memberTypeMismatch().format({name:c})),m=!1);else{const t=e.getGetterTypeFromProperty(y,!0);t&&e.assignType(t,f,null==E?void 0:E.createAddendum(),h,void 0,I,u)||(E&&E.addMessage(i.Localizer.DiagnosticAddendum.memberTypeMismatch().format({name:c})),m=!1)}else{const t=l.getDeclarations()[0],n=1===(null==t?void 0:t.type)&&!t.isFinal;e.assignType(y,f,null==E?void 0:E.createAddendum(),h,void 0,n?1|I:I,u)||(E&&(n&&E.addMessage(i.Localizer.DiagnosticAddendum.memberIsInvariant().format({name:c})),E.addMessage(i.Localizer.DiagnosticAddendum.memberTypeMismatch().format({name:c}))),m=!1)}const T=l.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal));T!==p.symbol.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal))&&(T?E&&E.addMessage(i.Localizer.DiagnosticAddendum.memberIsFinalInProtocol().format({name:c})):E&&E.addMessage(i.Localizer.DiagnosticAddendum.memberIsNotFinalInProtocol().format({name:c})),m=!1)}l.isClassVar()&&!p.symbol.isClassMember()&&(null==A||A.addMessage(i.Localizer.DiagnosticAddendum.protocolMemberClassVar().format({name:c})),m=!1)}else null==A||A.addMessage(i.Localizer.DiagnosticAddendum.protocolMemberMissing().format({name:c})),m=!1}}))})),m&&t.details.typeParameters.length>0&&t.typeArguments){const n=(0,o.applySolvedTypeVars)(d,h);e.verifyTypeArgumentsAssignable(t,n,A,l,c,p,u)||(m=!1)}return m}(e,t,n,l,c,p,g,u,d)}catch(e){throw A.pop(),e}return A.pop(),m&&!u&&0===t.details.typeParameters.length&&0===n.details.typeParameters.length&&(n.details.compatibleProtocols||(n.details.compatibleProtocols=new Set),n.details.compatibleProtocols.add(t.details.fullName)),m},t.assignModuleToProtocol=function(e,t,n,s,A,l,c){if(c>r.maxTypeRecursionCount)return!0;c++;let p=!0;const g=new Set,u=r.ClassType.cloneForSpecialization(t,void 0,!1),d=new a.TypeVarContext((0,o.getTypeVarScopeId)(t));if(t.details.mro.forEach((a=>{(0,r.isInstantiableClass)(a)&&r.ClassType.isProtocolClass(a)&&a.details.fields.forEach(((a,A)=>{if(a.isClassMember()&&!a.isIgnoredForProtocolMatch()&&!g.has(A)){g.add(A);const l=n.fields.get(A);if(l){let n=e.getDeclaredTypeOfSymbol(a);if(n){n=(0,o.partiallySpecializeType)(n,t);const a=e.getEffectiveTypeOfSymbol(l);if(((0,r.isFunction)(a)||(0,r.isOverloadedFunction)(a))&&((0,r.isFunction)(n)||(0,r.isOverloadedFunction)(n))){const i=e.bindFunctionToClassOrObject(r.ClassType.cloneAsInstance(t),n,t,void 0,c);i&&(n=i)}const g=null==s?void 0:s.createAddendum();e.assignType(n,a,null==g?void 0:g.createAddendum(),d,void 0,0,c)||(g&&g.addMessage(i.Localizer.DiagnosticAddendum.memberTypeMismatch().format({name:A})),p=!1)}}else null==s||s.addMessage(i.Localizer.DiagnosticAddendum.protocolMemberMissing().format({name:A})),p=!1}}))})),p&&t.details.typeParameters.length>0&&t.typeArguments){const n=(0,o.applySolvedTypeVars)(u,d);e.verifyTypeArgumentsAssignable(t,n,s,A,void 0,l,c)||(p=!1)}return p}},1277:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getPyTypedInfo=void 0;const i=n(6657);t.getPyTypedInfo=function(e,t){if(!e.existsSync(t)||!(0,i.isDirectory)(e,t))return;let n=!1;const s=(0,i.combinePaths)(t,"py.typed");if(!e.existsSync(t)||!(0,i.isFile)(e,s))return;const r=e.statSync(s);if(r.size>0&&r.size<65536){const t=e.readFileSync(s,"utf8");(t.match(/partial\n/)||t.match(/partial\r\n/))&&(n=!0)}return{pyTypedPath:s,isPartiallyTyped:n}}},1887:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getPathsFromPthFiles=t.isPythonBinary=t.findPythonSearchPaths=t.getTypeshedSubdirectory=t.getTypeShedFallbackPath=t.thirdPartyFolderName=t.stdLibFolderName=void 0;const o=n(2489),a=r(n(3188)),A=n(6657);function l(e,t){const n=[];return e.readdirEntriesSync(t).filter((e=>(e.isFile()||e.isSymbolicLink())&&e.name.endsWith(".pth"))).sort(((e,t)=>(0,o.compareComparableValues)(e.name,t.name))).forEach((i=>{const s=(0,A.combinePaths)(t,i.name),r=(0,A.tryStat)(e,s);(null==r?void 0:r.isFile())&&r.size>0&&r.size<65536&&e.readFileSync(s,"utf8").split(/\r?\n/).forEach((i=>{const s=i.trim();if(s.length>0&&!s.startsWith("#")&&!s.match(/^import\s/)){const i=(0,A.combinePaths)(t,s);e.existsSync(i)&&(0,A.isDirectory)(e,i)&&n.push(i)}}))})),n}function c(e,t){return!e.some((e=>e===t))&&(e.push(t),!0)}t.stdLibFolderName="stdlib",t.thirdPartyFolderName="stubs",t.getTypeShedFallbackPath=function(e){let t=e.getModulePath();if(!t)return;t=(0,A.getDirectoryPath)((0,A.ensureTrailingDirectorySeparator)((0,A.normalizePath)(t)));const n=(0,A.combinePaths)(t,a.typeshedFallback);if(e.existsSync(n))return n;const i=(0,A.combinePaths)((0,A.getDirectoryPath)(t),a.typeshedFallback);return e.existsSync(i)?i:void 0},t.getTypeshedSubdirectory=function(e,n){return(0,A.combinePaths)(e,n?t.stdLibFolderName:t.thirdPartyFolderName)},t.findPythonSearchPaths=function(e,t,n,i,s,r){if(i.push("Finding python search paths"),void 0!==t.venvPath&&t.venv){const n=t.venv,s=(0,A.combinePaths)(t.venvPath,n),r=[],o=[];if([a.lib,a.lib64,a.libAlternate].forEach((t=>{const n=function(e,t,n){if(!e.existsSync(t))return void n.push(`Did not find '${t}'`);n.push(`Found path '${t}'; looking for ${a.sitePackages}`);const i=(0,A.combinePaths)(t,a.sitePackages);if(e.existsSync(i))return n.push(`Found path '${i}'`),i;n.push(`Did not find '${i}', so looking for python subdirectory`);const s=(0,A.getFileSystemEntries)(e,t);for(let i=0;i{l(e,t).forEach((e=>{c(r,e)}))})),r.length>0)return i.push(`Found the following '${a.sitePackages}' dirs`),r.forEach((e=>{i.push(` ${e}`)})),r;i.push(`Did not find any '${a.sitePackages}' dirs. Falling back on python interpreter.`)}const o=n.getPythonSearchPaths(t.pythonPath,i);return s&&r?o.paths.filter((e=>!(0,A.containsPath)(r,e,!0)||(0,A.containsPath)(o.prefix,e,!0))):o.paths},t.isPythonBinary=function(e){return"python"===(e=e.trim())||"python3"===e},t.getPathsFromPthFiles=l},1561:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Scope=void 0;const i=n(5839),s=n(817);t.Scope=class{constructor(e,t){this.symbolTable=new Map,this.notLocalBindings=new Map,this.type=e,this.parent=t}getGlobalScope(){let e=this,t=!1;for(;e;){if(3===e.type||4===e.type)return{scope:e,isBeyondExecutionScope:t};1===e.type&&(t=!0),e=e.parent}return(0,i.fail)("failed to find scope"),{scope:this,isBeyondExecutionScope:t}}isIndependentlyExecutable(){return 3===this.type||1===this.type}lookUpSymbol(e){return this.symbolTable.get(e)}lookUpSymbolRecursive(e,t=!1,n=!1){const i=this.symbolTable.get(e);if(i){if(t&&i.isExternallyHidden())return;const e=i.getDeclarations();if(0===e.length||e.some((e=>1!==e.type||!e.isDefinedByMemberAccess)))return{symbol:i,isOutsideCallerModule:t,isBeyondExecutionScope:n,scope:this}}let s,r=n||this.isIndependentlyExecutable();if(1===this.notLocalBindings.get(e)){const e=this.getGlobalScope();s=e.scope,e.isBeyondExecutionScope&&(r=!0)}else s=this.parent;if(s)return s.lookUpSymbolRecursive(e,t||3===this.type,r)}addSymbol(e,t){const n=new s.Symbol(t);return this.symbolTable.set(e,n),n}getBindingType(e){return this.notLocalBindings.get(e)}setBindingType(e,t){return this.notLocalBindings.set(e,t)}setSlotsNames(e){this.slotsNames=e}getSlotsNames(){return this.slotsNames}}},5083:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findTopNodeInScope=t.getScopeHierarchy=t.getScopeForNode=t.getBuiltInScope=void 0;const i=n(563),s=n(8494);function r(e){const t=(0,s.getEvaluationScopeNode)(e);return(0,i.getScope)(t)}t.getBuiltInScope=function(e){let t=e;for(;4!==t.type;)t=t.parent;return t},t.getScopeForNode=r,t.getScopeHierarchy=function(e,t){const n=[];let i=e;for(;i;){const e=r(i);if(!e)return;if(0!==n.length&&n[n.length-1]===e||n.push(e),e===t)return n;i=i.parent}return t?void 0:n},t.findTopNodeInScope=function(e,t){let n,s=e,r=!1;for(;s;){if((0,i.getScope)(s)===t)r=!0;else if(r)return n;n=s,s=s.parent}}},6708:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.AnalyzerService=t.pyprojectTomlName=t.configFileNames=void 0;const o=r(n(4724)),a=r(n(171)),A=n(3213),l=n(2930),c=n(2211),p=n(7830),g=n(8442),u=n(6657),d=n(8718),h=n(5674),C=n(2374),m=n(1887),y=n(4221);t.configFileNames=["pyrightconfig.json"],t.pyprojectTomlName="pyproject.toml";const f=(0,u.normalizeSlashes)("/.git/"),I=/\.pyi?$/;class E{constructor(e,t,n){var i,s,r,o;this._typeStubTargetIsSingleFile=!1,this._requireTrackedFileUpdate=!0,this._lastUserInteractionTime=Date.now(),this._disposed=!1,this._instanceName=e,this._executionRootPath="",this._options=n,this._options.console=n.console||new c.StandardConsole,this._options.importResolverFactory=null!==(i=n.importResolverFactory)&&void 0!==i?i:E.createImportResolver,this._options.cancellationProvider=null!==(s=n.cancellationProvider)&&void 0!==s?s:new A.DefaultCancellationProvider,this._options.hostFactory=null!==(r=n.hostFactory)&&void 0!==r?r:()=>new g.NoAccessHost,this._options.configOptions=null!==(o=n.configOptions)&&void 0!==o?o:new l.ConfigOptions(process.cwd());const a=this._options.importResolverFactory(t,this._options.configOptions,this._options.hostFactory());this._backgroundAnalysisProgram=void 0!==this._options.backgroundAnalysisProgramFactory?this._options.backgroundAnalysisProgramFactory(this._options.console,this._options.configOptions,a,this._options.extension,this._options.backgroundAnalysis,this._options.maxAnalysisTime):new h.BackgroundAnalysisProgram(this._options.console,this._options.configOptions,a,this._options.extension,this._options.backgroundAnalysis,this._options.maxAnalysisTime)}clone(e,t,n){const i=new E(e,null!=n?n:this.fs,{...this._options,backgroundAnalysis:t});for(const e of this.backgroundAnalysisProgram.program.getOpened()){const t=e.sourceFile.getClientVersion();void 0!==t&&i.setFileOpened(e.sourceFile.getFilePath(),t,e.sourceFile.getOpenFileContents())}return i}dispose(){this._disposed=!0,this._removeSourceFileWatchers(),this._removeConfigFileWatcher(),this._removeLibraryFileWatcher(),this._clearReloadConfigTimer(),this._clearReanalysisTimer(),this._clearLibraryReanalysisTimer()}get _console(){return this._options.console}get _hostFactory(){return this._options.hostFactory}get _importResolverFactory(){return this._options.importResolverFactory}get _cancellationProvider(){return this._options.cancellationProvider}get librarySearchPathsToWatch(){return this._librarySearchPathsToWatch}get backgroundAnalysisProgram(){return this._backgroundAnalysisProgram}static createImportResolver(e,t,n){return new C.ImportResolver(e,t,n)}setCompletionCallback(e){this._onCompletionCallback=e,this._backgroundAnalysisProgram.setCompletionCallback(e)}setOptions(e){this._commandLineOptions=e;const t=this._hostFactory(),n=this._getConfigOptions(t,e);n.pythonPath&&n.ensureDefaultPythonVersion(t,this._console),n.ensureDefaultPythonPlatform(t,this._console),this._backgroundAnalysisProgram.setConfigOptions(n),this._executionRootPath=(0,u.normalizePath)((0,u.combinePaths)(e.executionRoot,n.projectRoot)),this._applyConfigOptions(t)}isTracked(e){for(const t of this._configOptions.include)if(this._matchIncludeFileSpec(t.regExp,this._configOptions.exclude,e))return!0;return!1}setFileOpened(e,t,n,i=y.IPythonMode.None,s){this._backgroundAnalysisProgram.setFileOpened(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:s}),this._scheduleReanalysis(!1)}getChainedFilePath(e){return this._backgroundAnalysisProgram.getChainedFilePath(e)}updateChainedFilePath(e,t){this._backgroundAnalysisProgram.updateChainedFilePath(e,t),this._scheduleReanalysis(!1)}updateOpenFileContents(e,t,n,i=y.IPythonMode.None,s){this._backgroundAnalysisProgram.updateOpenFileContents(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:s}),this._scheduleReanalysis(!1)}test_setIndexing(e,t){this._backgroundAnalysisProgram.test_setIndexing(e,t)}startIndexing(e){this._backgroundAnalysisProgram.startIndexing(e)}setFileClosed(e){this._backgroundAnalysisProgram.setFileClosed(e),this._scheduleReanalysis(!1)}isFileOpen(e){return this._program.isFileOpen(e)}getParseResult(e){var t;return null===(t=this._program.getBoundSourceFile(e))||void 0===t?void 0:t.getParseResults()}getTextOnRange(e,t,n){return this._program.getTextOnRange(e,t,n)}getAutoImports(e,t,n,i,s,r){var o;return s.libraryMap=null!==(o=s.libraryMap)&&void 0!==o?o:this._backgroundAnalysisProgram.getIndexing(e),this._program.getAutoImports(e,t,n,i,s,r)}getDefinitionForPosition(e,t,n,i){return this._program.getDefinitionsForPosition(e,t,n,i)}getTypeDefinitionForPosition(e,t,n){return this._program.getTypeDefinitionsForPosition(e,t,n)}reportReferencesForPosition(e,t,n,i,s){this._program.reportReferencesForPosition(e,t,n,i,s)}addSymbolsForDocument(e,t,n){this._program.addSymbolsForDocument(e,t,n)}reportSymbolsForWorkspace(e,t,n){this._program.reportSymbolsForWorkspace(e,t,n)}getHoverForPosition(e,t,n,i){return this._program.getHoverForPosition(e,t,n,i)}getDocumentHighlight(e,t,n){return this._program.getDocumentHighlight(e,t,n)}getSignatureHelpForPosition(e,t,n,i){return this._program.getSignatureHelpForPosition(e,t,n,i)}getCompletionsForPosition(e,t,n,i,s,r){return this._program.getCompletionsForPosition(e,t,n,i,s,this._backgroundAnalysisProgram.getIndexing(e),r)}getEvaluator(){return this._program.evaluator}resolveCompletionItem(e,t,n,i,s){this._program.resolveCompletionItem(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),s)}performQuickAction(e,t,n,i){return this._program.performQuickAction(e,t,n,i)}renameModule(e,t,n){return this._program.renameModule(e,t,n)}canRenameSymbolAtPosition(e,t,n,i,s){return this._program.canRenameSymbolAtPosition(e,t,n,i,s)}renameSymbolAtPosition(e,t,n,i,s,r){return this._program.renameSymbolAtPosition(e,t,n,i,s,r)}getCallForPosition(e,t,n){return this._program.getCallForPosition(e,t,n)}getIncomingCallsForPosition(e,t,n){return this._program.getIncomingCallsForPosition(e,t,n)}getOutgoingCallsForPosition(e,t,n){return this._program.getOutgoingCallsForPosition(e,t,n)}printStats(){this._console.info(""),this._console.info("Analysis stats");const e=this._program.getFileCount();this._console.info("Total files parsed and bound: "+e.toString());const t=this._program.getUserFileCount();this._console.info("Total files checked: "+t.toString())}printDetailedAnalysisTimes(){this._program.printDetailedAnalysisTimes()}printDependencies(e){this._program.printDependencies(this._executionRootPath,e)}getDiagnosticsForRange(e,t,n){return this._backgroundAnalysisProgram.getDiagnosticsForRange(e,t,n)}getConfigOptions(){return this._configOptions}getImportResolver(){return this._backgroundAnalysisProgram.importResolver}recordUserInteractionTime(){this._lastUserInteractionTime=Date.now(),this._analyzeTimer&&this._scheduleReanalysis(!1)}get test_program(){return this._program}test_getConfigOptions(e){return this._getConfigOptions(this._backgroundAnalysisProgram.host,e)}test_getFileNamesFromFileSpecs(){return this._getFileNamesFromFileSpecs()}_getConfigOptions(e,t){var n,i,s;let r,o,a=t.executionRoot;t.configFilePath?(r=(0,u.combinePaths)(t.executionRoot,(0,u.normalizePath)(t.configFilePath)),this.fs.existsSync(r)?r.toLowerCase().endsWith(".json")?a=(0,u.getDirectoryPath)(r):(a=r,r=this._findConfigFile(r),r||this._console.info(`Configuration file not found at ${a}.`)):(this._console.info(`Configuration file not found at ${r}.`),r=t.executionRoot)):a&&(r=this._findConfigFile(a),r||t.fromVsCodeExtension||(r=this._findConfigFileHereOrUp(a)),r?a=(0,u.getDirectoryPath)(r):(this._console.info("No configuration file found."),r=void 0)),r||(o=this._findPyprojectTomlFile(a),o||t.fromVsCodeExtension||(o=this._findPyprojectTomlFileHereOrUp(a)),o?(a=(0,u.getDirectoryPath)(o),this._console.info(`pyproject.toml file found at ${a}.`)):this._console.info("No pyproject.toml file found."));const A=new l.ConfigOptions(a,this._typeCheckingMode),c=["**/node_modules","**/__pycache__","**/.*"];let p;if(t.pythonPath&&(this._console.info(`Setting pythonPath for service "${this._instanceName}": "${t.pythonPath}"`),A.pythonPath=t.pythonPath),A.defaultPythonPlatform=t.pythonPlatform,A.defaultPythonVersion=t.pythonVersion,A.ensureDefaultExtraPaths(this.fs,t.autoSearchPaths||!1,t.extraPaths),t.fileSpecs.length>0?t.fileSpecs.forEach((e=>{A.include.push((0,u.getFileSpec)(this.fs,a,e))})):r||t.executionRoot&&(A.include.push((0,u.getFileSpec)(this.fs,t.executionRoot,".")),c.forEach((e=>{A.exclude.push((0,u.getFileSpec)(this.fs,t.executionRoot,e))}))),this._configFilePath=r||o,r?(this._console.info(`Loading configuration file at ${r}`),p=this._parseJsonConfigFile(r)):o&&(this._console.info(`Loading pyproject.toml file at ${o}`),p=this._parsePyprojectTomlFile(o)),p){A.initializeFromJson(p,this._typeCheckingMode,this._console,this.fs,e,t.diagnosticSeverityOverrides,t.fileSpecs.length>0);const n=(0,u.getDirectoryPath)(this._configFilePath);0===A.include.length&&(this._console.info(`No include entries specified; assuming ${n}`),A.include.push((0,u.getFileSpec)(this.fs,n,"."))),0===A.exclude.length&&(c.forEach((e=>{this._console.info(`Auto-excluding ${e}`),A.exclude.push((0,u.getFileSpec)(this.fs,n,e))})),void 0===A.autoExcludeVenv&&(A.autoExcludeVenv=!0))}else A.autoExcludeVenv=!0,A.applyDiagnosticOverrides(t.diagnosticSeverityOverrides);A.analyzeUnannotatedFunctions=null===(n=t.analyzeUnannotatedFunctions)||void 0===n||n;const g=(e,n)=>{const i=t.fromVsCodeExtension?"the client settings":"a command-line option";this._console.warn(`The ${e} has been specified in both the config file and ${i}. The value in the config file (${n}) will take precedence`)};if(t.venvPath&&(A.venvPath?g("venvPath",A.venvPath):A.venvPath=t.venvPath),t.typeshedPath&&(A.typeshedPath?g("typeshedPath",A.typeshedPath):A.typeshedPath=t.typeshedPath),A.verboseOutput=null!==(i=t.verboseOutput)&&void 0!==i?i:A.verboseOutput,A.checkOnlyOpenFiles=!!t.checkOnlyOpenFiles,A.autoImportCompletions=!!t.autoImportCompletions,A.indexing=!!t.indexing,A.logTypeEvaluationTime=!!t.logTypeEvaluationTime,A.typeEvaluationTimeThreshold=t.typeEvaluationTimeThreshold,void 0===A.useLibraryCodeForTypes?A.useLibraryCodeForTypes=!!t.useLibraryCodeForTypes:void 0!==t.useLibraryCodeForTypes&&g("useLibraryCodeForTypes",A.useLibraryCodeForTypes),t.stubPath?A.stubPath?g("stubPath",A.stubPath):A.stubPath=t.stubPath:A.stubPath||(A.stubPath=(0,u.normalizePath)((0,u.combinePaths)(A.projectRoot,"typings"))),A.venvPath&&(this.fs.existsSync(A.venvPath)&&(0,u.isDirectory)(this.fs,A.venvPath)||this._console.error(`venvPath ${A.venvPath} is not a valid directory.`),A.venv=null!==(s=A.venv)&&void 0!==s?s:this._configOptions.venv,A.venv)){const t=(0,u.combinePaths)(A.venvPath,A.venv);if(this.fs.existsSync(t)&&(0,u.isDirectory)(this.fs,t)){const t=[];void 0===(0,m.findPythonSearchPaths)(this.fs,A,e,t)&&(this._console.error(`site-packages directory cannot be located for venvPath ${A.venvPath} and venv ${A.venv}.`),A.verboseOutput&&t.forEach((e=>{this._console.error(` ${e}`)})))}else this._console.error(`venv ${A.venv} subdirectory not found in venv path ${A.venvPath}.`)}return A.venv&&(A.venvPath||this._console.warn("venvPath not specified, so venv settings will be ignored.")),A.typeshedPath&&(this.fs.existsSync(A.typeshedPath)&&(0,u.isDirectory)(this.fs,A.typeshedPath)||this._console.error(`typeshedPath ${A.typeshedPath} is not a valid directory.`)),A.stubPath&&(this.fs.existsSync(A.stubPath)&&(0,u.isDirectory)(this.fs,A.stubPath)||this._console.warn(`stubPath ${A.stubPath} is not a valid directory.`)),A}writeTypeStub(e){var t;const n=this._getTypeStubFolder();this._program.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}writeTypeStubInBackground(e){var t;const n=this._getTypeStubFolder();return this._backgroundAnalysisProgram.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}invalidateAndForceReanalysis(e=!0,t=!0,n=!1){n&&this._updateTrackedFileList(!1),this._backgroundAnalysisProgram.invalidateAndForceReanalysis(e,t)}restart(){this._applyConfigOptions(this._hostFactory()),this._backgroundAnalysisProgram.restart()}get fs(){return this._backgroundAnalysisProgram.importResolver.fileSystem}get _program(){return this._backgroundAnalysisProgram.program}get _configOptions(){return this._backgroundAnalysisProgram.configOptions}get _watchForSourceChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForSourceChanges)}get _watchForLibraryChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForLibraryChanges)&&!!this._options.libraryReanalysisTimeProvider}get _watchForConfigChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForConfigChanges)}get _typeCheckingMode(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeCheckingMode}get _verboseOutput(){return!!this._configOptions.verboseOutput}get _typeStubTargetImportName(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeStubTargetImportName}_getTypeStubFolder(){const e=this._configOptions.stubPath;if(!this._typeStubTargetPath||!this._typeStubTargetImportName){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}if(!e){const e="No typings path was specified";throw this._console.info(e),new Error(e)}const t=this._typeStubTargetImportName.split(".");if(0===t[0].length){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}try{this.fs.existsSync(e)||this.fs.mkdirSync(e)}catch(t){const n=`Could not create typings directory '${e}'`;throw this._console.error(n),new Error(n)}const n=(0,u.combinePaths)(e,t[0]),i=(0,u.combinePaths)(e,...t);try{this.fs.existsSync(i)||(0,u.makeDirectories)(this.fs,i,e)}catch(e){const t=`Could not create typings subdirectory '${i}'`;throw this._console.error(t),new Error(t)}return n}_findConfigFileHereOrUp(e){return(0,u.forEachAncestorDirectory)(e,(e=>this._findConfigFile(e)))}_findConfigFile(e){for(const n of t.configFileNames){const t=(0,u.combinePaths)(e,n);if(this.fs.existsSync(t))return t}}_findPyprojectTomlFileHereOrUp(e){return(0,u.forEachAncestorDirectory)(e,(e=>this._findPyprojectTomlFile(e)))}_findPyprojectTomlFile(e){const n=(0,u.combinePaths)(e,t.pyprojectTomlName);if(this.fs.existsSync(n))return n}_parseJsonConfigFile(e){return this._attemptParseFile(e,(e=>a.parse(e)))}_parsePyprojectTomlFile(e){return this._attemptParseFile(e,((t,n)=>{try{const e=o.parse(t);if(e&&e.tool&&e.tool.pyright)return e.tool.pyright}catch(e){throw this._console.error(`Pyproject file parse attempt ${n} error: ${JSON.stringify(e)}`),e}this._console.error(`Pyproject file "${e}" is missing "[tool.pyright]" section.`)}))}_attemptParseFile(e,t){let n="",i=0;for(;;){try{n=this.fs.readFileSync(e,"utf8")}catch{return this._console.error(`Config file "${e}" could not be read.`),void this._reportConfigParseError()}let s=!1;try{return t(n,i+1)}catch(e){s=!0}if(!s)break;if(i++>=5)return this._console.error(`Config file "${e}" could not be parsed. Verify that format is correct.`),void this._reportConfigParseError()}}_getFileNamesFromFileSpecs(){const e=new Map;return d.timingStats.findFilesTime.timeOperation((()=>{const t=this._matchFiles(this._configOptions.include,this._configOptions.exclude);for(const n of t)e.set(n,n)})),[...e.values()]}_updateTrackedFileList(e){if(this._typeStubTargetImportName){const e=this._configOptions.findExecEnvironment(this._executionRootPath),t=(0,C.createImportedModuleDescriptor)(this._typeStubTargetImportName),n=this._backgroundAnalysisProgram.importResolver.resolveImport("",e,t);if(n.isImportFound){const e=[],t=n.resolvedPaths[n.resolvedPaths.length-1],i=(0,u.isFile)(this.fs,t),s=i&&"__init__"===(0,u.stripFileExtension)((0,u.getFileName)(t));let r=t;i&&(r=(0,u.getDirectoryPath)(r));for(let e=n.resolvedPaths.length-2;e>=0;e--)r=n.resolvedPaths[e]?n.resolvedPaths[e]:(0,u.getDirectoryPath)(r);(0,u.isDirectory)(this.fs,r)?this._typeStubTargetPath=r:(0,u.isFile)(this.fs,r)&&(this._typeStubTargetPath=(0,u.getDirectoryPath)(r)),t?(e.push(t),this._typeStubTargetIsSingleFile=1===n.resolvedPaths.length&&!s):this._typeStubTargetIsSingleFile=!1,n.filteredImplicitImports.forEach((t=>{e.push(t.path)})),this._backgroundAnalysisProgram.setAllowedThirdPartyImports([this._typeStubTargetImportName]),this._backgroundAnalysisProgram.setTrackedFiles(e)}else this._console.error(`Import '${this._typeStubTargetImportName}' not found`)}else{let t=[];this._console.info("Searching for source files"),t=this._getFileNamesFromFileSpecs(),this._backgroundAnalysisProgram.setTrackedFiles(t),this._backgroundAnalysisProgram.markAllFilesDirty(e),0===t.length?this._console.info("No source files found."):this._console.info(`Found ${t.length} source `+(1===t.length?"file":"files"))}this._requireTrackedFileUpdate=!1}_matchFiles(e,t){const n=[["bin","activate"],["Scripts","activate"],["pyvenv.cfg"]],i=[],s=Date.now();let r=!1;const o=(e,o)=>{if(r||.001*(Date.now()-s)>=10&&(this._console.error('Enumeration of workspace source files is taking longer than 10 seconds.\nThis may be because:\n* You have opened your home directory or entire hard drive as a workspace\n* Your workspace contains a very large number of directories and files\n* Your workspace contains a symlink to a directory with many files\n* Your workspace is remote, and file enumeration is slow\nTo reduce this time, open a workspace directory with fewer files or add a pyrightconfig.json configuration file with an "exclude" section to exclude subdirectories from your workspace. For more details, refer to https://github.com/microsoft/pyright/blob/main/docs/configuration.md.'),r=!0),this._configOptions.autoExcludeVenv&&n.some((t=>this.fs.existsSync((0,u.combinePaths)(e,...t)))))return void this._console.info(`Auto-excluding ${e}`);const{files:a,directories:l}=(0,u.getFileSystemEntries)(this.fs,e);for(const n of a){const s=(0,u.combinePaths)(e,n);this._matchIncludeFileSpec(o,t,s)&&i.push(s)}for(const n of l){const i=(0,u.combinePaths)(e,n);o.test(i)&&(this._isInExcludePath(i,t)||A(i,o))}},a=new Set,A=(e,t)=>{const n=(0,u.tryRealpath)(this.fs,e);if(n)if(a.has(n))this._console.warn(`Skipping recursive symlink "${e}" -> "${n}"`);else{a.add(n);try{o(e,t)}finally{a.delete(n)}}else this._console.warn(`Skipping broken link "${e}"`)};return e.forEach((e=>{if(!this._isInExcludePath(e.wildcardRoot,t)){let t=!1,n=!0;const s=(0,u.tryStat)(this.fs,e.wildcardRoot);(null==s?void 0:s.isFile())?(this._shouldIncludeFile(e.wildcardRoot)?i.push(e.wildcardRoot):n=!1,t=!0):(null==s?void 0:s.isDirectory())&&(A(e.wildcardRoot,e.regExp),t=!0),t?n||this._console.error(`File "${e.wildcardRoot}" is not a Python source file.`):this._console.error(`File or directory "${e.wildcardRoot}" does not exist.`)}})),i}_removeSourceFileWatchers(){this._sourceFileWatcher&&(this._sourceFileWatcher.close(),this._sourceFileWatcher=void 0)}_updateSourceFileWatchers(){if(this._removeSourceFileWatchers(),this._watchForSourceChanges&&this._configOptions.include.length>0){const e=this._configOptions.include.map((e=>(0,u.combinePaths)(this._executionRootPath,e.wildcardRoot)));try{this._verboseOutput&&this._console.info(`Adding fs watcher for directories:\n ${e.join("\n")}`);const t=(0,p.ignoredWatchEventFunction)(e);this._sourceFileWatcher=this.fs.createFileSystemWatcher(e,((e,n)=>{if(!n)return;if(this._verboseOutput&&this._console.info(`SourceFile: Received fs event '${e}' for path '${n}'`),t(n))return;if(n.endsWith(".tmp")||n.endsWith(".git")||n.includes(f))return;const i=function(e,t,n,i,s){const r=(0,u.tryStat)(e,s);if("add"===i){if(!r)return;return{event:i,isFile:r.isFile()}}if("change"===i){if(!r){const e=!!n.getSourceFile(s);if(!e&&!n.containsSourceFileIn(s))return;return{event:"unlink",isFile:e}}return{event:i,isFile:r.isFile()}}t.warn(`Received unknown file change event: '${i}' for '${s}'`)}(this.fs,this._console,this._program,e,n);i&&(!i.isFile||(0,u.hasPythonExtension)(n)&&!function(e){const t=(0,u.getFileName)(e).split(".");return 4===t.length&&t[3]===t[1]&&32===t[2].length}(n)&&this.isTracked(n))&&(!i.isFile||"change"!==i.event&&"unlink"!==i.event?(this.invalidateAndForceReanalysis(!1,!1),this._scheduleReanalysis(!0)):(this._backgroundAnalysisProgram.markFilesDirty([n],!1),this._scheduleReanalysis(!1)))}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}}_removeLibraryFileWatcher(){this._libraryFileWatcher&&(this._libraryFileWatcher.close(),this._libraryFileWatcher=void 0)}_updateLibraryFileWatcher(){if(this._removeLibraryFileWatcher(),!this._watchForLibraryChanges)return void(this._librarySearchPathsToWatch=void 0);this._librarySearchPathsToWatch=(0,m.findPythonSearchPaths)(this.fs,this._backgroundAnalysisProgram.configOptions,this._backgroundAnalysisProgram.host,[],!0,this._executionRootPath);const e=this._librarySearchPathsToWatch;if(e&&e.length>0)try{this._verboseOutput&&this._console.info(`Adding fs watcher for library directories:\n ${e.join("\n")}`);const t=(0,p.ignoredWatchEventFunction)(e);this._libraryFileWatcher=this.fs.createFileSystemWatcher(e,((e,n)=>{n&&(this._verboseOutput&&this._console.info(`LibraryFile: Received fs event '${e}' for path '${n}'`),t(n)||this._scheduleLibraryAnalysis())}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}_clearLibraryReanalysisTimer(){var e;this._libraryReanalysisTimer&&(clearTimeout(this._libraryReanalysisTimer),this._libraryReanalysisTimer=void 0,null===(e=this._backgroundAnalysisProgram)||void 0===e||e.cancelIndexing())}_scheduleLibraryAnalysis(){var e,t;if(this._disposed)return;this._clearLibraryReanalysisTimer();const n=null===(t=(e=this._options).libraryReanalysisTimeProvider)||void 0===t?void 0:t.call(e);n&&(this._libraryReanalysisTimer=setTimeout((()=>{this._clearLibraryReanalysisTimer(),this.invalidateAndForceReanalysis(!1),this._scheduleReanalysis(!1)}),n))}_removeConfigFileWatcher(){this._configFileWatcher&&(this._configFileWatcher.close(),this._configFileWatcher=void 0)}_updateConfigFileWatcher(){this._removeConfigFileWatcher(),this._watchForConfigChanges&&(this._configFilePath?this._configFileWatcher=this.fs.createFileSystemWatcher([this._configFilePath],(e=>{this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._scheduleReloadConfigFile()})):this._executionRootPath&&(this._configFileWatcher=this.fs.createFileSystemWatcher([this._executionRootPath],((e,n)=>{if(n&&("add"===e||"change"===e)){const i=(0,u.getFileName)(n);i&&t.configFileNames.some((e=>e===i))&&(this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._commandLineOptions&&this.setOptions(this._commandLineOptions))}}))))}_clearReloadConfigTimer(){this._reloadConfigTimer&&(clearTimeout(this._reloadConfigTimer),this._reloadConfigTimer=void 0)}_scheduleReloadConfigFile(){this._clearReloadConfigTimer(),this._reloadConfigTimer=setTimeout((()=>{this._clearReloadConfigTimer(),this._reloadConfigFile()}),100)}_reloadConfigFile(){if(this._updateConfigFileWatcher(),this._configFilePath){this._console.info(`Reloading configuration file at ${this._configFilePath}`);const e=this._backgroundAnalysisProgram.host,t=this._getConfigOptions(e,this._commandLineOptions);this._backgroundAnalysisProgram.setConfigOptions(t),this._applyConfigOptions(e)}}_applyConfigOptions(e){var t;const n=this._importResolverFactory(this.fs,this._backgroundAnalysisProgram.configOptions,e);if(this._backgroundAnalysisProgram.setImportResolver(n),(null===(t=this._commandLineOptions)||void 0===t?void 0:t.fromVsCodeExtension)||this._configOptions.verboseOutput){const e=this._configOptions.verboseOutput?c.LogLevel.Info:c.LogLevel.Log;for(const t of this._configOptions.getExecutionEnvironments())(0,c.log)(this._console,e,`Search paths for ${t.root||""}`),n.getImportRoots(t,!0).forEach((t=>{(0,c.log)(this._console,e,` ${t}`)}))}this._updateLibraryFileWatcher(),this._updateConfigFileWatcher(),this._updateSourceFileWatchers(),this._updateTrackedFileList(!0),this._scheduleReanalysis(!1)}_clearReanalysisTimer(){this._analyzeTimer&&(clearTimeout(this._analyzeTimer),this._analyzeTimer=void 0)}_scheduleReanalysis(e){var t,n;if(this._disposed||!(null===(t=this._commandLineOptions)||void 0===t?void 0:t.enableAmbientAnalysis))return;e&&(this._requireTrackedFileUpdate=!0),null===(n=this._backgroundAnalysisCancellationSource)||void 0===n||n.cancel(),this._clearReanalysisTimer();const i=Date.now()-this._lastUserInteractionTime,s=Math.max(250-i,20);this._analyzeTimer=setTimeout((()=>{this._analyzeTimer=void 0,this._requireTrackedFileUpdate&&this._updateTrackedFileList(!1),this._backgroundAnalysisCancellationSource=this._cancellationProvider.createCancellationTokenSource(),this._backgroundAnalysisProgram.startAnalysis(this._backgroundAnalysisCancellationSource.token)&&this._scheduleReanalysis(!1)}),s)}_reportConfigParseError(){this._onCompletionCallback&&this._onCompletionCallback({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!1,configParseErrorOccurred:!0,elapsedTime:0})}_shouldIncludeFile(e){return I.test(e)}_isInExcludePath(e,t){return!!t.find((t=>t.regExp.test(e)))}_matchIncludeFileSpec(e,t,n){return!(!e.test(n)||this._isInExcludePath(n,t)||!this._shouldIncludeFile(n))}}t.AnalyzerService=E},4221:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.SourceFile=t.IPythonMode=void 0;const o=n(1449),a=n(1267),A=r(n(1766)),l=n(3213),c=n(2930),p=n(2211),g=n(5839),u=n(1290),d=n(3980),h=n(7345),C=n(1049),m=n(6657),y=n(1464),f=r(n(7559)),I=n(3550),E=n(3420),T=n(8718),B=n(9209),v=n(3778),Q=n(8221),_=n(2816),w=n(3334),D=n(2858),S=n(4952),b=n(9437),F=n(2122),k=n(5275),N=n(5303),P=r(n(563)),x=n(6052),R=n(6329),M=r(n(2272)),L=n(4482),K=n(2041);var O;!function(e){e[e.None=0]="None",e[e.ConcatDoc=1]="ConcatDoc",e[e.CellDocs=2]="CellDocs"}(O=t.IPythonMode||(t.IPythonMode={})),t.SourceFile=class{constructor(e,t,n,i,s,r,o,A=O.None){this._isFileDeleted=!1,this._diagnosticVersion=0,this._fileContentsVersion=0,this._lastFileContentLength=void 0,this._lastFileContentHash=void 0,this._analyzedFileContentsVersion=-1,this._parseTreeNeedsCleaning=!1,this._isBindingInProgress=!1,this._parseDiagnostics=[],this._bindDiagnostics=[],this._checkerDiagnostics=[],this._typeIgnoreLines=new Map,this._pyrightIgnoreLines=new Map,this._diagnosticRuleSet=(0,c.getBasicDiagnosticRuleSet)(),this._circularDependencies=[],this._noCircularDependencyConfirmed=!1,this._isBindingNeeded=!0,this._isCheckingNeeded=!0,this._indexingNeeded=!0,this._ipythonMode=O.None,this.fileSystem=e,this._console=r||new p.StandardConsole,this._filePath=t,this._moduleName=n,this._isStubFile=t.endsWith(".pyi"),this._isThirdPartyImport=i,this._isThirdPartyPyTypedPresent=s;const l=(0,m.getFileName)(t);this._isTypingStubFile=this._isStubFile&&(this._filePath.endsWith((0,m.normalizeSlashes)("stdlib/typing.pyi"))||"typing_extensions.pyi"===l),this._isTypingExtensionsStubFile=this._isStubFile&&"typing_extensions.pyi"===l,this._isBuiltInStubFile=!1,this._isStubFile&&(this._filePath.endsWith((0,m.normalizeSlashes)("stdlib/collections/__init__.pyi"))||this._filePath.endsWith((0,m.normalizeSlashes)("stdlib/asyncio/futures.pyi"))||this._filePath.endsWith((0,m.normalizeSlashes)("stdlib/asyncio/tasks.pyi"))||this._filePath.endsWith((0,m.normalizeSlashes)("stdlib/builtins.pyi"))||this._filePath.endsWith((0,m.normalizeSlashes)("stdlib/_importlib_modulespec.pyi"))||this._filePath.endsWith((0,m.normalizeSlashes)("stdlib/dataclasses.pyi"))||this._filePath.endsWith((0,m.normalizeSlashes)("stdlib/abc.pyi"))||this._filePath.endsWith((0,m.normalizeSlashes)("stdlib/enum.pyi"))||this._filePath.endsWith((0,m.normalizeSlashes)("stdlib/queue.pyi"))||this._filePath.endsWith((0,m.normalizeSlashes)("stdlib/types.pyi")))&&(this._isBuiltInStubFile=!0),this._logTracker=null!=o?o:new h.LogTracker(r,a.isMainThread?"FG":"BG"),this._ipythonMode=A}getFilePath(){return this._filePath}getModuleName(){return this._moduleName}setModuleName(e){this._moduleName=e}getDiagnosticVersion(){return this._diagnosticVersion}isStubFile(){return this._isStubFile}isThirdPartyPyTypedPresent(){return this._isThirdPartyPyTypedPresent}getDiagnostics(e,t){if(this._diagnosticVersion===t)return;let n=!0;this._isThirdPartyImport&&(n=!1);let i=[...this._parseDiagnostics,...this._bindDiagnostics,...this._checkerDiagnostics];const s=i,r=new Map(this._typeIgnoreLines),o=new Map(this._pyrightIgnoreLines);this._diagnosticRuleSet.enableTypeIgnoreComments&&this._typeIgnoreLines.size>0&&(i=i.filter((e=>{if(3!==e.category&&4!==e.category&&5!==e.category)for(let t=e.range.start.line;t<=e.range.end.line;t++)if(this._typeIgnoreLines.has(t))return r.delete(t),!1;return!0}))),this._pyrightIgnoreLines.size>0&&(i=i.filter((e=>{if(3!==e.category&&4!==e.category&&5!==e.category)for(let t=e.range.start.line;t<=e.range.end.line;t++){const n=this._pyrightIgnoreLines.get(t);if(n){if(!n.rulesList)return o.delete(t),!1;const i=e.getRule();if(!i)return!0;if(n.rulesList.find((e=>e.text===i))){const e=o.get(t);if(null==e?void 0:e.rulesList){const n=e.rulesList.filter((e=>e.text!==i));0===n.length?o.delete(t):o.set(t,{range:e.range,rulesList:n})}return!1}return!0}}return!0})));const a=[];if("none"!==this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment){const e=(0,u.convertLevelToCategory)(this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment),t=s.filter((e=>0===e.category||1===e.category||2===e.category)),n=e=>s.find((t=>4===t.category&&t.range.start.line<=e.start.line&&t.range.end.line>=e.end.line));if(0===t.length&&void 0!==this._typeIgnoreAll){const t=this._typeIgnoreAll.range.start,i=t+this._typeIgnoreAll.range.length,s=(0,y.convertOffsetsToRange)(t,i,this._parseResults.tokenizerOutput.lines);n(s)||a.push(new u.Diagnostic(e,F.Localizer.Diagnostic.unnecessaryTypeIgnore(),s))}r.forEach((t=>{var i;if(null===(i=this._parseResults)||void 0===i?void 0:i.tokenizerOutput.lines){const i=t.range.start,s=i+t.range.length,r=(0,y.convertOffsetsToRange)(i,s,this._parseResults.tokenizerOutput.lines);n(r)||a.push(new u.Diagnostic(e,F.Localizer.Diagnostic.unnecessaryTypeIgnore(),r))}})),o.forEach((t=>{var i;if(null===(i=this._parseResults)||void 0===i?void 0:i.tokenizerOutput.lines)if(t.rulesList)t.rulesList.forEach((t=>{const i=t.range.start,s=i+t.range.length,r=(0,y.convertOffsetsToRange)(i,s,this._parseResults.tokenizerOutput.lines);n(r)||a.push(new u.Diagnostic(e,F.Localizer.Diagnostic.unnecessaryPyrightIgnoreRule().format({name:t.text}),r))}));else{const i=t.range.start,s=i+t.range.length,r=(0,y.convertOffsetsToRange)(i,s,this._parseResults.tokenizerOutput.lines);n(r)||a.push(new u.Diagnostic(e,F.Localizer.Diagnostic.unnecessaryPyrightIgnore(),r))}}))}if("none"!==this._diagnosticRuleSet.reportImportCycles&&this._circularDependencies.length>0){const e=(0,u.convertLevelToCategory)(this._diagnosticRuleSet.reportImportCycles);this._circularDependencies.forEach((t=>{i.push(new u.Diagnostic(e,F.Localizer.Diagnostic.importCycleDetected()+"\n"+t.getPaths().map((e=>" "+e)).join("\n"),(0,I.getEmptyRange)()))}))}return void 0!==this._hitMaxImportDepth&&i.push(new u.Diagnostic(0,F.Localizer.Diagnostic.importDepthExceeded().format({depth:this._hitMaxImportDepth}),(0,I.getEmptyRange)())),e.ignore.find((e=>e.regExp.test(this._filePath)))&&(i=[]),this._diagnosticRuleSet.enableTypeIgnoreComments&&void 0!==this._typeIgnoreAll&&(i=i.filter((e=>0!==e.category&&1!==e.category&&2!==e.category))),i=i.concat(a),n||(i=i.filter((e=>3===e.category||4===e.category||5===e.category))),i}getImports(){return this._imports||[]}getBuiltinsImport(){return this._builtinsImport}getIPythonDisplayImport(){return this._ipythonDisplayImport}getModuleSymbolTable(){return this._moduleSymbolTable}getCheckTime(){return this._checkTime}didContentsChangeOnDisk(){if(this._clientDocument)return!1;if(void 0===this._lastFileContentLength)return!1;try{const e=this.fileSystem.readFileSync(this._filePath,"utf8");if(e.length!==this._lastFileContentLength)return!0;if(f.hashString(e)!==this._lastFileContentHash)return!0}catch(e){return!0}return!1}dropParseAndBindInfo(){this._parseResults=void 0,this._moduleSymbolTable=void 0,this._isBindingNeeded=!0}markDirty(e=!0){this._fileContentsVersion++,this._noCircularDependencyConfirmed=!1,this._isCheckingNeeded=!0,this._isBindingNeeded=!0,this._indexingNeeded=e,this._moduleSymbolTable=void 0,this._cachedIndexResults=void 0}markReanalysisRequired(e){this._isCheckingNeeded=!0,this._parseResults&&(this._parseResults.containsWildcardImport||void 0!==P.getDunderAllInfo(this._parseResults.parseTree)||e)&&(this._parseTreeNeedsCleaning=!0,this._isBindingNeeded=!0,this._moduleSymbolTable=void 0)}getClientVersion(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.version}getOpenFileContents(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.getText()}getFileContent(){const e=this.getOpenFileContents();if(e)return e;try{const e=this.fileSystem.statSync(this._filePath);if(e.size>52428800)throw this._console.error(`File length of "${this._filePath}" is ${e.size} which exceeds the maximum supported file size of 52428800`),new Error("File larger than max");return this.fileSystem.readFileSync(this._filePath,"utf8")}catch(e){return}}setClientVersion(e,t){if(null===e)this._clientDocument=void 0;else{this._clientDocument||(this._clientDocument=o.TextDocument.create(this._filePath,"python",e,"")),this._clientDocument=o.TextDocument.update(this._clientDocument,t,e);const n=this._clientDocument.getText(),i=f.hashString(n);n.length===this._lastFileContentLength&&i===this._lastFileContentHash||this.markDirty(),this._lastFileContentLength=n.length,this._lastFileContentHash=i,this._isFileDeleted=!1}}prepareForClose(){}isFileDeleted(){return this._isFileDeleted}isParseRequired(){return!this._parseResults||this._analyzedFileContentsVersion!==this._fileContentsVersion}isBindingRequired(){return!this._isBindingInProgress&&(!!this.isParseRequired()||this._isBindingNeeded)}isIndexingRequired(){return this._indexingNeeded}isCheckingRequired(){return this._isCheckingNeeded}getParseResults(){if(!this.isParseRequired())return this._parseResults}getCachedIndexResults(){return this._cachedIndexResults}cacheIndexResults(e){this._cachedIndexResults=e}addCircularDependency(e){let t=!1;this._circularDependencies.length<4&&(this._circularDependencies.some((t=>t.isEqual(e)))||(this._circularDependencies.push(e),t=!0)),t&&this._diagnosticVersion++}setNoCircularDependencyConfirmed(){this._noCircularDependencyConfirmed=!0}isNoCircularDependencyConfirmed(){return!this.isParseRequired()&&this._noCircularDependencyConfirmed}setHitMaxImportDepth(e){this._hitMaxImportDepth=e}parse(e,t,n){return this._logTracker.log(`parsing: ${this._getPathForLogging(this._filePath)}`,(i=>{var s;if(!this.isParseRequired())return i.suppress(),!1;const r=new d.DiagnosticSink;let o=this.getOpenFileContents();if(void 0===o)try{const e=T.timingStats.readFileTime.totalTime;T.timingStats.readFileTime.timeOperation((()=>{if(o=null!=n?n:this.getFileContent(),void 0===o)throw new Error("Can't get file content");this._lastFileContentLength=o.length,this._lastFileContentHash=f.hashString(o)})),i.add(`fs read ${T.timingStats.readFileTime.totalTime-e}ms`)}catch(e){r.addError("Source file could not be read",(0,I.getEmptyRange)()),o="",this.fileSystem.existsSync(this._filePath)||(this._isFileDeleted=!0)}const a=e.findExecEnvironment(this._filePath),A=new N.ParseOptions;A.ipythonMode=this._ipythonMode,this._filePath.endsWith("pyi")&&(A.isStubFile=!0),A.pythonVersion=a.pythonVersion,A.skipFunctionAndClassBody=null!==(s=e.indexGenerationMode)&&void 0!==s&&s;try{const n=(new N.Parser).parseSourceFile(o,A,r);(0,g.assert)(void 0!==n&&void 0!==n.tokenizerOutput),this._parseResults=n,this._typeIgnoreLines=this._parseResults.tokenizerOutput.typeIgnoreLines,this._typeIgnoreAll=this._parseResults.tokenizerOutput.typeIgnoreAll,this._pyrightIgnoreLines=this._parseResults.tokenizerOutput.pyrightIgnoreLines,T.timingStats.resolveImportsTime.timeOperation((()=>{const e=this._resolveImports(t,n.importedModules,a);this._imports=e.imports,this._builtinsImport=e.builtinsImportResult,this._ipythonDisplayImport=e.ipythonDisplayImportResult,this._parseDiagnostics=r.fetchAndClear()}));const i=void 0!==e.strict.find((e=>e.regExp.test(this._filePath)));this._diagnosticRuleSet=M.getFileLevelDirectives(this._parseResults.tokenizerOutput.tokens,e.diagnosticRuleSet,i)}catch(e){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(F.Localizer.Diagnostic.internalParseError().format({file:this.getFilePath(),message:t})),this._parseResults={text:"",parseTree:k.ModuleNode.create({start:0,length:0}),importedModules:[],futureImports:new Map,tokenizerOutput:{tokens:new E.TextRangeCollection([]),lines:new E.TextRangeCollection([]),typeIgnoreAll:void 0,typeIgnoreLines:new Map,pyrightIgnoreLines:new Map,predominantEndOfLineSequence:"\n",predominantTabSequence:" ",predominantSingleQuoteCharacter:"'"},containsWildcardImport:!1,typingSymbolAliases:new Map},this._imports=void 0,this._builtinsImport=void 0,this._ipythonDisplayImport=void 0;const n=new d.DiagnosticSink;n.addError(F.Localizer.Diagnostic.internalParseError().format({file:this.getFilePath(),message:t}),(0,I.getEmptyRange)()),this._parseDiagnostics=n.fetchAndClear()}return this._analyzedFileContentsVersion=this._fileContentsVersion,this._indexingNeeded=!0,this._isBindingNeeded=!0,this._isCheckingNeeded=!0,this._parseTreeNeedsCleaning=!1,this._hitMaxImportDepth=void 0,this._diagnosticVersion++,!0}))}index(e,t){return this._logTracker.log(`indexing: ${this._getPathForLogging(this._filePath)}`,(n=>{if(!this._parseResults||!this.isIndexingRequired())return void n.suppress();this._indexingNeeded=!1;const i=_.DocumentSymbolProvider.indexSymbols(P.getFileInfo(this._parseResults.parseTree),this._parseResults,e,t);n.add(`found ${i.length}`);const s=(0,m.stripFileExtension)((0,m.getFileName)(this._filePath));return{privateOrProtected:A.isPrivateOrProtectedName(s),symbols:i}}))}getDefinitionsForPosition(e,t,n,i,s){if(this._parseResults)return v.DefinitionProvider.getDefinitionsForPosition(e,this._parseResults,t,n,i,s)}getTypeDefinitionsForPosition(e,t,n,i,s){if(this._parseResults)return v.DefinitionProvider.getTypeDefinitionsForPosition(e,this._parseResults,t,n,i,s)}getDeclarationForNode(e,t,n,i,s){if(this._parseResults)return S.ReferencesProvider.getDeclarationForNode(e,this._filePath,t,n,i,s)}getDeclarationForPosition(e,t,n,i,s){if(this._parseResults)return S.ReferencesProvider.getDeclarationForPosition(e,this._parseResults,this._filePath,t,n,i,s)}addReferences(e,t,n,i){this._parseResults&&S.ReferencesProvider.addReferences(this._parseResults,this._filePath,e,t,n,i)}addHierarchicalSymbolsForDocument(e,t){(this._parseResults||this._cachedIndexResults)&&_.DocumentSymbolProvider.addHierarchicalSymbolsForDocument(this._parseResults?P.getFileInfo(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,e,t)}getSymbolsForDocument(e,t){return this._parseResults||this._cachedIndexResults?_.DocumentSymbolProvider.getSymbolsForDocument(this._parseResults?P.getFileInfo(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,this._filePath,e,t):[]}getHoverForPosition(e,t,n,i,s){if(!this._isBindingNeeded&&this._parseResults)return w.HoverProvider.getHoverForPosition(e,this._parseResults,t,n,i,s)}getDocumentHighlight(e,t,n,i){if(!this._isBindingNeeded&&this._parseResults)return Q.DocumentHighlightProvider.getDocumentHighlight(this._parseResults,t,n,i)}getSignatureHelpForPosition(e,t,n,i,s){if(this._parseResults)return b.SignatureHelpProvider.getSignatureHelpForPosition(this._parseResults,e,t,n,i,s)}getCompletionsForPosition(e,t,n,i,s,r,o,a,A,l,c,p){if(!this._parseResults)return;const g=this.getOpenFileContents();return void 0!==g?new B.CompletionProvider(t,this._parseResults,g,i,e,this._filePath,n,s,r,o,a,{nameMap:A,libraryMap:l,getModuleSymbolsMap:c},p).getCompletionsForPosition():void 0}resolveCompletionItem(e,t,n,i,s,r,o,a,A,l,c){const p=this.getOpenFileContents();if(!this._parseResults||void 0===p)return;const g=(0,C.fromLSPAny)(l.data);new B.CompletionProvider(g.workspacePath,this._parseResults,p,t,g.position,this._filePath,e,n,i,s,r,{nameMap:o,libraryMap:a,getModuleSymbolsMap:A},c).resolveCompletionItem(l)}performQuickAction(e,t,n){if(this._parseResults&&void 0!==this.getClientVersion())return(0,D.performQuickAction)(e,t,this._parseResults,n)}bind(e,t,n){return(0,g.assert)(!this.isParseRequired(),"Bind called before parsing"),(0,g.assert)(this.isBindingRequired(),"Bind called unnecessarily"),(0,g.assert)(!this._isBindingInProgress,"Bind called while binding in progress"),(0,g.assert)(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`binding: ${this._getPathForLogging(this._filePath)}`,(()=>{try{T.timingStats.bindTime.timeOperation((()=>{this._cleanParseTreeIfRequired();const i=this._buildFileInfo(e,this._parseResults.text,t,n);P.setFileInfo(this._parseResults.parseTree,i);const s=new x.Binder(i,e.indexGenerationMode);this._isBindingInProgress=!0,s.bindModule(this._parseResults.parseTree),e.internalTestMode&&(new K.TestWalker).walk(this._parseResults.parseTree),this._bindDiagnostics=i.diagnosticSink.fetchAndClear();const r=P.getScope(this._parseResults.parseTree);(0,g.assert)(void 0!==r,"Module scope not returned by binder"),this._moduleSymbolTable=r.symbolTable}))}catch(e){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(F.Localizer.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}));const n=new d.DiagnosticSink;n.addError(F.Localizer.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}),(0,I.getEmptyRange)()),this._bindDiagnostics=n.fetchAndClear()}finally{this._isBindingInProgress=!1}this._diagnosticVersion++,this._isCheckingNeeded=!0,this._indexingNeeded=!0,this._isBindingNeeded=!1}))}check(e,t){return(0,g.assert)(!this.isParseRequired(),"Check called before parsing"),(0,g.assert)(!this.isBindingRequired(),"Check called before binding"),(0,g.assert)(!this._isBindingInProgress,"Check called while binding in progress"),(0,g.assert)(this.isCheckingRequired(),"Check called unnecessarily"),(0,g.assert)(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`checking: ${this._getPathForLogging(this._filePath)}`,(()=>{try{T.timingStats.typeCheckerTime.timeOperation((()=>{const n=new T.Duration;new R.Checker(e,t,this._parseResults.parseTree).check(),this._isCheckingNeeded=!1;const i=P.getFileInfo(this._parseResults.parseTree);this._checkerDiagnostics=i.diagnosticSink.fetchAndClear(),this._checkTime=n.getDurationInMilliseconds()}))}catch(e){if(!l.OperationCanceledException.is(e)){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(F.Localizer.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}));const n=new d.DiagnosticSink;n.addError(F.Localizer.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}),(0,I.getEmptyRange)()),this._checkerDiagnostics=n.fetchAndClear(),this._isCheckingNeeded=!1}throw e}finally{this._circularDependencies=[],this._diagnosticVersion++}}))}test_enableIPythonMode(e){this._ipythonMode=e?O.ConcatDoc:O.None}_buildFileInfo(e,t,n,i){(0,g.assert)(void 0!==this._parseResults,"Parse results not available");const s=new d.TextRangeDiagnosticSink(this._parseResults.tokenizerOutput.lines);return{importLookup:n,futureImports:this._parseResults.futureImports,builtinsScope:i,diagnosticSink:s,executionEnvironment:e.findExecEnvironment(this._filePath),diagnosticRuleSet:this._diagnosticRuleSet,fileContents:t,lines:this._parseResults.tokenizerOutput.lines,typingSymbolAliases:this._parseResults.typingSymbolAliases,definedConstants:e.defineConstant,filePath:this._filePath,moduleName:this._moduleName,isStubFile:this._isStubFile,isTypingStubFile:this._isTypingStubFile,isTypingExtensionsStubFile:this._isTypingExtensionsStubFile,isBuiltInStubFile:this._isBuiltInStubFile,isInPyTypedPackage:this._isThirdPartyPyTypedPresent,ipythonMode:this._ipythonMode,accessedSymbolSet:new Set}}_cleanParseTreeIfRequired(){this._parseResults&&this._parseTreeNeedsCleaning&&(new L.ParseTreeCleanerWalker(this._parseResults.parseTree).clean(),this._parseTreeNeedsCleaning=!1)}_resolveImports(e,t,n){const i=[],s=(t,s=!1)=>{const r=e.resolveImport(this._filePath,n,{leadingDots:0,nameParts:t,importedSymbols:void 0});if(!s||r.isImportFound)return 0===r.resolvedPaths.length||r.resolvedPaths[0]!==this._filePath?(i.push(r),r):void 0};let r;this._isThirdPartyImport||this._isStubFile||(r=s(["__builtins__"],!0)),r||(r=s(["builtins"]));const o=this._ipythonMode?s(["IPython","display"]):void 0;for(const s of t){const t=e.resolveImport(this._filePath,n,{leadingDots:s.leadingDots,nameParts:s.nameParts,importedSymbols:s.importedSymbols});i.push(t),P.setImportInfo(s.nameNode,t)}return{imports:i,builtinsImportResult:r,ipythonDisplayImportResult:o}}_getPathForLogging(e){return this.fileSystem.isMappedFilePath(e)?this.fileSystem.getOriginalFilePath(e):e}}},6025:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isUserCode=void 0,t.isUserCode=function(e){return e&&e.isTracked&&!e.isThirdPartyImport&&!e.isTypeshedFile}},8816:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.isStubFile=t.SourceMapper=void 0;const o=r(n(563)),a=r(n(8494)),A=n(9489),l=n(2489),c=n(5839),p=n(6657),g=n(8905),u=n(1133),d=n(5168);function h(e){return".pyi"===(0,p.getAnyExtensionFromPath)(e,[".pyi"],!1)}t.SourceMapper=class{constructor(e,t,n,i,s,r,o){this._importResolver=e,this._execEnv=t,this._evaluator=n,this._fileBinder=i,this._boundSourceGetter=s,this._mapCompiled=r,this._preferStubs=o}findModules(e){return this._getBoundSourceFilesFromStubFile(e).map((e=>{var t;return null===(t=e.getParseResults())||void 0===t?void 0:t.parseTree})).filter(l.isDefined)}findDeclarations(e){return(0,g.isClassDeclaration)(e)?this._findClassOrTypeAliasDeclarations(e):(0,g.isFunctionDeclaration)(e)?this._findFunctionOrTypeAliasDeclarations(e):(0,g.isVariableDeclaration)(e)?this._findVariableDeclarations(e):(0,g.isParameterDeclaration)(e)?this._findParameterDeclarations(e):(0,g.isSpecialBuiltInClassDeclaration)(e)?this._findSpecialBuiltInClassDeclarations(e):[]}findClassDeclarations(e){return this._findClassOrTypeAliasDeclarations(e).filter((e=>(0,g.isClassDeclaration)(e))).map((e=>e))}findClassDeclarationsByType(e,t){const n=[];return this._addClassTypeDeclarations(e,t,n,new Set),n.filter((e=>(0,g.isClassDeclaration)(e))).map((e=>e))}findFunctionDeclarations(e){return this._findFunctionOrTypeAliasDeclarations(e).filter((e=>(0,g.isFunctionDeclaration)(e))).map((e=>e))}_findSpecialBuiltInClassDeclarations(e,t=new Set){if(38===e.node.valueExpression.nodeType){const n=e.node.valueExpression.value;return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}return[]}_findClassOrTypeAliasDeclarations(e,t=new Set){const n=this._getFullClassName(e.node);return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}_findFunctionOrTypeAliasDeclarations(e,t=new Set){const n=e.node.name.value,i=this._getBoundSourceFilesFromStubFile(e.path);if(e.isMethod){const s=a.getEnclosingClass(e.node);if(void 0===s)return[];const r=this._getFullClassName(s);return i.flatMap((e=>this._findMethodDeclarationsByName(e,r,n,t)))}return i.flatMap((e=>this._findFunctionDeclarationsByName(e,n,t)))}_findVariableDeclarations(e,t=new Set){if(38!==e.node.nodeType)return[];const n=e.node.value,i=this._getBoundSourceFilesFromStubFile(e.path),s=a.getEnclosingClass(e.node);if(s){const e=this._getFullClassName(s);return i.flatMap((i=>this._findFieldDeclarationsByName(i,e,n,t)))}return i.flatMap((e=>this._findVariableDeclarationsByName(e,n,t)))}_findParameterDeclarations(e){const t=[];if(!e.node.name)return t;const n=a.getEnclosingFunction(e.node);if(!n)return t;const i=this._evaluator.getDeclarationsForNameNode(n.name);if(!i)return t;const s=new Set;for(const n of i)for(const i of this._findFunctionOrTypeAliasDeclarations(n,s))t.push(...this._lookUpSymbolDeclarations(i.node,e.node.name.value).filter((e=>(0,g.isParameterDeclaration)(e))).map((e=>e)));return t}_findMemberDeclarationsByName(e,t,n,i,s){const r=[],o=this._findClassDeclarationsByName(e,t,s);for(const e of o.filter((e=>(0,g.isClassDeclaration)(e))).map((e=>e))){const t=this._evaluator.getTypeOfClass(e.node);if(!t)continue;const o=(0,d.lookUpClassMember)(t.classType,n);if(o)for(const e of o.symbol.getDeclarations())i(e,s,r)}return r}_findFieldDeclarationsByName(e,t,n,i){let s=[];const r=`@${e.getFilePath()}/c/${t}/v/${n}`;return i.has(r)||(i.add(r),s=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{if((0,g.isVariableDeclaration)(e))if(this._isStubThatShouldBeMappedToImplementation(e.path))for(const i of this._findVariableDeclarations(e,t))(0,g.isVariableDeclaration)(i)&&n.push(i);else n.push(e)}),i),i.delete(r)),s}_findMethodDeclarationsByName(e,t,n,i){let s=[];const r=`@${e.getFilePath()}/c/${t}/f/${n}`;return i.has(r)||(i.add(r),s=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{(0,g.isFunctionDeclaration)(e)&&(this._isStubThatShouldBeMappedToImplementation(e.path)?(0,A.appendArray)(n,this._findFunctionOrTypeAliasDeclarations(e,t)):n.push(e))}),i),i.delete(r)),s}_findVariableDeclarationsByName(e,t,n){var i;const s=[],r=`@${e.getFilePath()}/v/${t}`;if(n.has(r))return s;n.add(r);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return s;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,s,n);else for(const e of a)this._addVariableDeclarations(e,s,n);return n.delete(r),s}_findFunctionDeclarationsByName(e,t,n){var i;const s=[],r=`@${e.getFilePath()}/f/${t}`;if(n.has(r))return s;n.add(r);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return s;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,s,n);else for(const e of a)this._addClassOrFunctionDeclarations(e,s,n);return n.delete(r),s}_findClassDeclarationsByName(e,t,n){var i;let s=[];const r=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(r){let i=t.split(".");i.length>0&&(s=this._findClassDeclarations(e,i[0],r,n),i=i.slice(1));for(const t of i)s=s.flatMap((i=>this._findClassDeclarations(e,t,i.node,n)))}return s}_findClassDeclarations(e,t,n,i){const s=[],r=`@${e.getFilePath()}[${n.start}]${t}`;if(i.has(r))return s;i.add(r);const o=this._lookUpSymbolDeclarations(n,t);if(0===o.length&&36===n.nodeType)this._addDeclarationsFollowingWildcardImports(n,t,s,i);else for(const e of o)this._addClassOrFunctionDeclarations(e,s,i);return i.delete(r),s}_addVariableDeclarations(e,t,n){if((0,g.isVariableDeclaration)(e))this._isStubThatShouldBeMappedToImplementation(e.path)?(0,A.appendArray)(t,this._findVariableDeclarations(e,n)):t.push(e);else if((0,g.isAliasDeclaration)(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&((0,g.isVariableDeclaration)(i)?this._addVariableDeclarations(i,t,n):((0,g.isClassDeclaration)(i)||(0,g.isFunctionDeclaration)(i))&&this._addClassOrFunctionDeclarations(i,t,n))}}_addClassOrFunctionDeclarations(e,t,n){var i;if((0,g.isClassDeclaration)(e))this._isStubThatShouldBeMappedToImplementation(e.path)?(0,A.appendArray)(t,this._findClassOrTypeAliasDeclarations(e,n)):t.push(e);else if((0,g.isFunctionDeclaration)(e))this._isStubThatShouldBeMappedToImplementation(e.path)?(0,A.appendArray)(t,this._findFunctionOrTypeAliasDeclarations(e,n)):t.push(e);else if((0,g.isAliasDeclaration)(e)){const i=this._handleSpecialBuiltInModule(e),s=this._evaluator.resolveAliasDeclaration(i,!0);s&&!(0,g.isAliasDeclaration)(s)&&this._addClassOrFunctionDeclarations(s,t,n)}else if((0,g.isVariableDeclaration)(e)){this._addVariableDeclarations(e,t,n);const s=null!==(i=e.typeAliasName)&&void 0!==i?i:e.node,r=this._evaluator.getType(s);if(!r)return;if((0,u.isFunction)(r)&&r.details.declaration)this._addClassOrFunctionDeclarations(r.details.declaration,t,n);else if((0,u.isOverloadedFunction)(r))for(const e of r.overloads.map((e=>e.details.declaration)).filter(l.isDefined))this._addClassOrFunctionDeclarations(e,t,n);else(0,u.isInstantiableClass)(r)&&this._addClassTypeDeclarations(e.path,r,t,n)}}_handleSpecialBuiltInModule(e){if(e.path||!e.node)return e;if("io"!==e.moduleName&&"collections"!==e.moduleName)return e;const t=this._importResolver.getTypeshedStdLibPath(this._execEnv);if(!t)return e;const n=a.getFileInfoFromNode(e.node);if(!n)return e;const i=(0,p.combinePaths)(t,function(){switch(e.node.nodeType){case 21:case 22:return e.node.module;case 23:return e.node.parent.module;default:return(0,c.assertNever)(e.node)}}().nameParts.map((e=>e.value)).join(".")+".pyi"),s=this._getSourceFiles(i,n.filePath);if(0===s.length)return e;const r={...e};return r.path=s[0].getFilePath(),r}_addClassTypeDeclarations(e,t,n,i){const s=t.details.filePath,r=this._getSourceFiles(s),o=t.details.fullName.substring(t.details.moduleName.length+1);for(const e of r)(0,A.appendArray)(n,this._findClassDeclarationsByName(e,o,i))}_getSourceFiles(e,t){const n=[];if(this._isStubThatShouldBeMappedToImplementation(e))(0,A.appendArray)(n,this._getBoundSourceFilesFromStubFile(e,t));else{const t=this._boundSourceGetter(e);t&&n.push(t)}return n}_addDeclarationsFollowingWildcardImports(e,t,n,i){var s,r;const a=null===(s=o.getScope(e))||void 0===s?void 0:s.symbolTable;if(a)for(const e of a.values())for(const s of e.getDeclarations()){if(!(0,g.isAliasDeclaration)(s)||!s.path||22!==s.node.nodeType||!s.node.isWildcardImport)continue;const e=`@${s.path}/l/${t}`;if(i.has(e))continue;i.add(e);const o=this._getSourceFiles(s.path);for(const e of o){const s=null===(r=e.getParseResults())||void 0===r?void 0:r.parseTree;if(!s)continue;const o=this._lookUpSymbolDeclarations(s,t);if(0===o.length)this._addDeclarationsFollowingWildcardImports(s,t,n,i);else for(const e of o){const t=this._evaluator.resolveAliasDeclaration(e,!0);t&&((0,g.isFunctionDeclaration)(t)||(0,g.isClassDeclaration)(t)?this._addClassOrFunctionDeclarations(t,n,i):(0,g.isVariableDeclaration)(t)&&this._addVariableDeclarations(t,n,i))}}}}_lookUpSymbolDeclarations(e,t){if(void 0===e)return[];const n=o.getScope(e),i=null==n?void 0:n.lookUpSymbol(t),s=null==i?void 0:i.getDeclarations();return null!=s?s:[]}_getFullClassName(e){const t=[];let n=e;for(;void 0!==n;)t.push(n.name.value),n=a.getEnclosingClass(n);return t.reverse().join(".")}_getBoundSourceFilesFromStubFile(e,t){return this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).map((n=>this._fileBinder(null!=t?t:e,n))).filter(l.isDefined)}_isStubThatShouldBeMappedToImplementation(e){return!this._preferStubs&&(!!h(e)&&this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).every((t=>t!==e)))}},t.isStubFile=h},8235:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.evaluateStaticBoolLikeExpression=t.evaluateStaticBoolExpression=void 0;const i=n(2930);function s(e,t,n,l,c){if(4===e.nodeType)return s(e.rightExpression,t,n,l,c);if(55===e.nodeType){if(38===e.operator){const i=r(e.expression,t,n,l,c);if(void 0!==i)return!i}}else if(7===e.nodeType){if(37===e.operator||36===e.operator){const i=s(e.leftExpression,t,n,l,c),r=s(e.rightExpression,t,n,l,c);if(void 0===i||void 0===r)return;return 37===e.operator?i||r:i&&r}if(A(e.leftExpression,c)&&52===e.rightExpression.nodeType){const n=function(e){let t;if(e.expressions.length>=2){if(40===e.expressions[0].nodeType&&!e.expressions[0].isImaginary&&40===e.expressions[1].nodeType&&!e.expressions[1].isImaginary){const n=e.expressions[0],i=e.expressions[1];"number"==typeof n.value&&"number"==typeof i.value&&(t=256*n.value+i.value)}}else if(1===e.expressions.length){const n=e.expressions[0];"number"==typeof n.value&&(t=256*n.value)}return t}(e.rightExpression);return o(e.operator,t.pythonVersion,n)}if(24===e.leftExpression.nodeType&&A(e.leftExpression.baseExpression,c)&&1===e.leftExpression.items.length&&!e.leftExpression.trailingComma&&!e.leftExpression.items[0].name&&0===e.leftExpression.items[0].argumentCategory&&40===e.leftExpression.items[0].valueExpression.nodeType&&!e.leftExpression.items[0].valueExpression.isImaginary&&0===e.leftExpression.items[0].valueExpression.value&&40===e.rightExpression.nodeType)return o(e.operator,Math.floor(t.pythonVersion/256),e.rightExpression.value);if(function(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"platform"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}(e.leftExpression,c)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),s=function(e){return e.pythonPlatform===i.PythonPlatform.Darwin?"darwin":e.pythonPlatform===i.PythonPlatform.Windows?"win32":e.pythonPlatform===i.PythonPlatform.Linux?"linux":void 0}(t);return a(e.operator,s,n)}if(function(e){return 35===e.nodeType&&38===e.leftExpression.nodeType&&"os"===e.leftExpression.value&&"name"===e.memberName.value}(e.leftExpression)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),s=function(e){return e.pythonPlatform===i.PythonPlatform.Darwin?"posix":e.pythonPlatform===i.PythonPlatform.Windows?"nt":e.pythonPlatform===i.PythonPlatform.Linux?"posix":void 0}(t);if(void 0!==s)return a(e.operator,s,n)}else if(38===e.leftExpression.nodeType&&48===e.rightExpression.nodeType){const t=n.get(e.leftExpression.value);if(void 0!==t&&"string"==typeof t){const n=e.rightExpression.strings.map((e=>e.value)).join("");return a(e.operator,t,n)}}}else if(11===e.nodeType){if(33===e.constType)return!0;if(15===e.constType)return!1}else if(38===e.nodeType){if("TYPE_CHECKING"===e.value)return!0;const t=n.get(e.value);if(void 0!==t)return!!t}else if(l&&35===e.nodeType&&"TYPE_CHECKING"===e.memberName.value&&38===e.leftExpression.nodeType&&l.some((t=>t===e.leftExpression.value)))return!0}function r(e,t,n,i,r){return(11!==e.nodeType||26!==e.constType)&&s(e,t,n,i,r)}function o(e,t,n){if(void 0!==t&&void 0!==n){if(t=BigInt(t),n=BigInt(n),20===e)return tn;if(16===e)return t>=n;if(12===e)return t===n;if(28===e)return t!==n}}function a(e,t,n){if(void 0!==t&&void 0!==n){if(12===e)return t===n;if(28===e)return t!==n}}function A(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"version_info"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}t.evaluateStaticBoolExpression=s,t.evaluateStaticBoolLikeExpression=r},817:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Symbol=t.indeterminateSymbolId=void 0;const i=n(5523);let s=1;t.indeterminateSymbolId=0;class r{constructor(e){this.id=s++,this._flags=e}static createWithType(e,t){const n=new r(e);return n._synthesizedType=t,n}isInitiallyUnbound(){return!!(1&this._flags)}setIsExternallyHidden(){this._flags|=2}isExternallyHidden(){return!!(2&this._flags)}setIsIgnoredForProtocolMatch(){this._flags|=64}isIgnoredForProtocolMatch(){return!!(64&this._flags)}setIsClassMember(){this._flags|=4}isClassMember(){return!!(4&this._flags)}setIsInstanceMember(){this._flags|=8}isInstanceMember(){return!!(8&this._flags)}setIsClassVar(){this._flags|=128}isClassVar(){return!!(128&this._flags)}setIsInitVar(){this._flags|=1024}isInitVar(){return!!(1024&this._flags)}setIsInDunderAll(){this._flags|=256}isInDunderAll(){return!!(256&this._flags)}setIsPrivateMember(){this._flags|=32}isPrivateMember(){return!!(32&this._flags)}setPrivatePyTypedImport(){this._flags|=512}isPrivatePyTypedImport(){return!!(512&this._flags)}isNamedTupleMemberMember(){return!!(2048&this._flags)}addDeclaration(e){if(this._declarations){const t=this._declarations.findIndex((t=>(0,i.areDeclarationsSame)(t,e)));if(t<0)this._declarations.push(e),this._declarations.forEach((e=>{1===e.type&&e.typeAliasName&&delete e.typeAliasName}));else{const n=this._declarations[t];(0,i.hasTypeForDeclaration)(e)?(this._declarations[t]=e,1===n.type&&1===e.type&&!e.inferredTypeSource&&n.inferredTypeSource&&(e.inferredTypeSource=n.inferredTypeSource)):1===e.type&&1===n.type&&(e.isFinal&&(n.isFinal=!0),e.typeAliasAnnotation&&(n.typeAliasAnnotation=e.typeAliasAnnotation,n.typeAliasName=e.typeAliasName),!n.inferredTypeSource&&e.inferredTypeSource&&(n.inferredTypeSource=e.inferredTypeSource))}}else this._declarations=[e]}hasDeclarations(){return!!this._declarations&&this._declarations.length>0}getDeclarations(){return this._declarations?this._declarations:[]}hasTypedDeclarations(){return!!this._synthesizedType||this.getDeclarations().some((e=>(0,i.hasTypeForDeclaration)(e)))}getTypedDeclarations(){return this.getDeclarations().filter((e=>(0,i.hasTypeForDeclaration)(e)))}getSynthesizedType(){return this._synthesizedType}}t.Symbol=r},1766:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isPublicConstantOrTypeAlias=t.isTypeAliasName=t.isConstantName=t.isSingleDunderName=t.isDunderName=t.isPrivateOrProtectedName=t.isProtectedName=t.isPrivateName=void 0;const n=/^[A-Z0-9_]+$/,i=/^[_]+$/,s=/^_{0,2}[A-Z][A-Za-z0-9_]+$/;function r(e){return e.length>2&&e.startsWith("__")&&!e.endsWith("__")}function o(e){return e.length>1&&e.startsWith("_")&&!e.startsWith("__")}function a(e){return r(e)||o(e)}function A(e){return!!e.match(n)&&!e.match(i)}function l(e){return!!e.match(s)}t.isPrivateName=r,t.isProtectedName=o,t.isPrivateOrProtectedName=a,t.isDunderName=function(e){return e.length>4&&e.startsWith("__")&&e.endsWith("__")},t.isSingleDunderName=function(e){return e.length>2&&e.startsWith("_")&&e.endsWith("_")},t.isConstantName=A,t.isTypeAliasName=l,t.isPublicConstantOrTypeAlias=function(e){return!a(e)&&(A(e)||l(e))}},2917:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isNotRequiredTypedDictVariable=t.isRequiredTypedDictVariable=t.isFinalVariable=t.isTypedDictMemberAccessedThroughIndex=t.getLastTypedDeclaredForSymbol=void 0;const i=n(5523);t.getLastTypedDeclaredForSymbol=function(e){const t=e.getTypedDeclarations();if(t.length>0)return t[t.length-1]},t.isTypedDictMemberAccessedThroughIndex=function(e){const t=e.getTypedDeclarations();return t.length>0&&1===t[t.length-1].type},t.isFinalVariable=function(e){return e.getDeclarations().some((e=>(0,i.isFinalVariableDeclaration)(e)))},t.isRequiredTypedDictVariable=function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isRequired))},t.isNotRequiredTypedDictVariable=function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isNotRequired))}},2041:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NameTypeWalker=t.TestWalker=void 0;const i=n(427),s=n(5839),r=n(3550);class o extends i.ParseTreeWalker{constructor(){super()}visitNode(e){const t=super.visitNode(e);return this._verifyParentChildLinks(e,t),this._verifyChildRanges(e,t),t}_verifyParentChildLinks(e,t){t.forEach((t=>{t&&t.parent!==e&&(0,s.fail)(`Child node ${t.nodeType} does not contain a reference to its parent ${e.nodeType}`)}))}_verifyChildRanges(e,t){let n;t.forEach((t=>{if(t){let i=!1;3===e.nodeType&&t===e.typeAnnotationComment&&(i=!0),48===e.nodeType&&t===e.typeAnnotation&&(i=!0),i||((t.startr.TextRange.getEnd(e))&&(0,s.fail)(`Child node ${t.nodeType} is not contained within its parent ${e.nodeType}`),n&&t.start(0,A.ensureTrailingDirectorySeparator)(e))).sort(((e,t)=>e.localeCompare(t))).reverse();const n=/[\\/]/g;function i(t){if(t){if("string"==typeof t){for(const i of e)if(t.startsWith(i)){const e=t.substring(i.length);return(0,A.stripFileExtension)(e).replace(n,".")}return t}return t.nameParts.join(".")}return""}function s(e){var n,i,r,o,A,l;if(e)switch(e.category){case 2:return`Any ${t(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}`;case 7:return d.TypeBase.isInstantiable(e)?`Class '${e.details.name}' (${e.details.moduleName})`:`Object '${e.details.name}' (${e.details.moduleName})`;case 5:return`Function '${e.details.name}' (${e.details.moduleName})`;case 8:return`Module '${e.moduleName}' (${e.moduleName})`;case 4:return`Never ${t(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.fullName)}`;case 3:return`None ${t(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.fullName)}`;case 6:return`OverloadedFunction [${e.overloads.map((e=>t(s(e),'"'))).join(",")}]`;case 10:return`TypeVar '${e.details.name}' ${t(null===(o=e.typeAliasInfo)||void 0===o?void 0:o.fullName)}`;case 0:return`Unbound ${t(null===(A=e.typeAliasInfo)||void 0===A?void 0:A.fullName)}`;case 9:return`Union [${e.subtypes.map((e=>t(s(e),'"'))).join(",")}]`;case 1:return`Unknown ${t(null===(l=e.typeAliasInfo)||void 0===l?void 0:l.fullName)}`;default:(0,a.assertNever)(e)}return""}function r(e){if(e)switch(e.type){case 8:return`Alias, ${C(e.node)} (${i(e.path)})`;case 6:return`Class, ${C(e.node)} (${i(e.path)})`;case 5:return`Function, ${C(e.node)} (${i(e.path)})`;case 0:return`Intrinsic, ${C(e.node)} ${e.intrinsicType} (${i(e.path)})`;case 2:return`Parameter, ${C(e.node)} (${i(e.path)})`;case 3:return`TypeParameter, ${C(e.node)} (${i(e.path)})`;case 7:return`SpecialBuiltInClass, ${C(e.node)} (${i(e.path)})`;case 1:return`Variable, ${C(e.node)} (${i(e.path)})`;case 4:return`TypeAlias, ${C(e.node)} (${i(e.path)})`;default:(0,a.assertNever)(e)}return""}function h(e){for(;36!==e.nodeType&&e.parent;)e=e.parent;return 36===e.nodeType?p.getFileInfo(e):void 0}function C(e,n=!1){var s;if(!e)return"";let r=n?`(${i(null===(s=h(e))||void 0===s?void 0:s.filePath)})`:"";const o=h(e);if(null==o?void 0:o.lines){const t=(0,l.convertOffsetToPosition)(e.start,o.lines);r+=` [${t.line+1}:${t.character+1}]`}if((0,c.isExpressionNode)(e))return t(function(e,t=30){return e.length "}(g.printExpression(e)),'"')+` ${r}`;switch(e.nodeType){case 21:return`importAs '${C(e.module)}' ${t(e.alias?C(e.alias):"")} ${r}`;case 22:return`importFrom [${e.imports.map((e=>t(C(e),'"'))).join(",")}]`;case 23:return`ImportFromAs '${C(e.name)}' ${t(e.alias?C(e.alias):"")} ${r}`;case 36:return`module ${r}`;case 10:return`class '${C(e.name)}' ${r}`;case 28:return`function '${C(e.name)}' ${r}`;case 37:return`moduleName '${e.nameParts.map((e=>C(e))).join(".")}' ${r}`;case 1:return`argument '${e.name?C(e.name):"N/A"}' ${r}`;case 41:return`parameter '${e.name?C(e.name):"N/A"}' ${r}`;default:return`${g.printParseNodeType(e.nodeType)} ${r}`}}return{print:function(e){return e?function(e){const t=e;return t&&(0,o.isNumber)(t.nodeType)}(e)?C(e,!0):function(e){const t=e;return t&&(0,o.isNumber)(t.type)&&(0,o.isString)(t.path)&&(0,o.isString)(t.moduleName)}(e)?r(e):e instanceof u.Symbol?(t=e)?t.hasDeclarations()?`symbol ${r(t.getDeclarations()[0])}`:"":"":function(e){const t=e;return t&&(0,o.isNumber)(t.category)&&(0,o.isNumber)(t.flags)}(e)?s(e):void(0,a.assertNever)(e):"";var t},printFileOrModuleName:i}}},3090:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.SpeculativeTypeTracker=t.isIncompleteType=void 0;const o=n(5839),a=r(n(8494)),A=n(1133);t.isIncompleteType=function(e){return!!e.isIncompleteType},t.SpeculativeTypeTracker=class{constructor(){this._speculativeContextStack=[],this._speculativeTypeCache=new Map}enterSpeculativeContext(e,t){this._speculativeContextStack.push({speculativeRootNode:e,entriesToUndo:[],allowCacheRetention:t})}leaveSpeculativeContext(){(0,o.assert)(this._speculativeContextStack.length>0),this._speculativeContextStack.pop().entriesToUndo.forEach((e=>{e.cache.delete(e.id)}))}isSpeculative(e){if(0===this._speculativeContextStack.length)return!1;if(!e)return!0;for(let t=this._speculativeContextStack.length-1;t>=0;t--)if(a.isNodeContainedWithin(e,this._speculativeContextStack[t].speculativeRootNode))return!0;return!1}trackEntry(e,t){const n=this._speculativeContextStack.length;n>0&&this._speculativeContextStack[n-1].entriesToUndo.push({cache:e,id:t})}disableSpeculativeMode(){const e=this._speculativeContextStack;return this._speculativeContextStack=[],e}enableSpeculativeMode(e){(0,o.assert)(0===this._speculativeContextStack.length),this._speculativeContextStack=e}addSpeculativeType(e,t,n){if((0,o.assert)(this._speculativeContextStack.length>0),this._speculativeContextStack.some((e=>!e.allowCacheRetention)))return;let i=this._speculativeTypeCache.get(e.id);i||(i=[],this._speculativeTypeCache.set(e.id,i)),i.push({type:t,expectedType:n})}getSpeculativeType(e,t){if(this._speculativeContextStack.some((t=>a.isNodeContainedWithin(e,t.speculativeRootNode)))){const n=this._speculativeTypeCache.get(e.id);if(n)for(const e of n)if(t){if(e.expectedType&&(0,A.isTypeSame)(t,e.expectedType))return e.type}else if(!e.expectedType)return e.type}}}},3371:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getVariableDocString=t.getFunctionOrClassDeclDocString=t.getClassDocString=t.getModuleDocString=t.getVariableInStubFileDocStrings=t.getPropertyDocStringInherited=t.getOverloadedFunctionDocStringsInherited=t.getFunctionDocStringInherited=void 0;const o=n(8905),a=r(n(8494)),A=n(8816),l=n(1133),c=n(5168);function p(e,t){if(6===e.category){if(0===e.overloads.length)return!1;e=e.overloads[0]}return"builtins"===e.details.moduleName&&!!t&&!!e.boundToType&&!l.ClassType.isSameGenericClass(t,e.boundToType)}function g(e,t){const n=[];if(!(0,A.isStubFile)(e.path))return n;for(const i of t.findDeclarations(e))if((0,o.isVariableDeclaration)(i)&&i.docString)n.push(i.docString);else if((0,o.isClassDeclaration)(i)||(0,o.isFunctionDeclaration)(i)){const e=u(i);e&&n.push(e)}return n}function u(e){var t,n,i;return a.getDocString(null!==(i=null===(n=null===(t=e.node)||void 0===t?void 0:t.suite)||void 0===n?void 0:n.statements)&&void 0!==i?i:[])}function d(e,t,n){if(!(0,l.isOverloadedFunction)(e))return;const i=[];if(e.overloads.some((e=>e.details.docString)))e.overloads.forEach((e=>{e.details.docString&&i.push(e.details.docString)}));else if(t&&(0,A.isStubFile)(t.path)&&(0,o.isFunctionDeclaration)(t)){const e=C(n.findFunctionDeclarations(t));e&&i.push(e)}return i}function h(e,t){let n=C([e]);return!n&&(0,A.isStubFile)(e.path)&&(n=C(t.findFunctionDeclarations(e))),n}function C(e){for(const t of e){const e=u(t);if(e)return e}}t.getFunctionDocStringInherited=function(e,t,n,i){let s;if(!p(e,i)&&t&&(0,o.isFunctionDeclaration)(t)&&(s=function(e,t,n){if(!(0,l.isFunction)(e))return;let i=e.details.docString;return!i&&t&&(i=h(t,n)),!i&&e.details.declaration&&(i=h(e.details.declaration,n)),i}(e,t,n)),!s&&i){const t=e.details.name,r=(0,c.getClassMemberIterator)(i,t,29);for(const e of r)if(e.symbol.getDeclarations().length>0){const t=e.symbol.getDeclarations().slice(-1)[0];if((0,o.isFunctionDeclaration)(t)&&(s=h(t,n),s))break}}return s||e.details.docString},t.getOverloadedFunctionDocStringsInherited=function(e,t,n,i,s){let r;if(!p(e,s))for(const i of t)if(r=d(e,i,n),r&&r.length>0)return r;if(s&&e.overloads.length>0){const t=e.overloads[0].details.name,o=(0,c.getClassMemberIterator)(s,t,29);for(const e of o){const t=e.symbol.getDeclarations().slice(-1)[0],s=i.getTypeForDeclaration(t);if(s&&(r=d(s,t,n),r&&r.length>0))break}}return null!=r?r:[]},t.getPropertyDocStringInherited=function(e,t,n){const i=a.getEnclosingClass(e.node.name,!1),s=i?n.getTypeOfClass(i):void 0;if(s)return function(e,t,n,i){if(!e||!(0,o.isFunctionDeclaration)(e))return;const s=n.getTypeForDeclaration(e);if(!s||!(0,c.isMaybeDescriptorInstance)(s))return;const r=28===e.node.nodeType?e.node.name.value:void 0;if(!r)return;const a=(0,c.getClassIterator)(i,0);for(const[e]of a){if(!(0,l.isInstantiableClass)(e))continue;const i=e.details.fields.get(r),s=null==i?void 0:i.getDeclarations();if(s)for(const e of s)if((0,o.isFunctionDeclaration)(e)){const i=n.getTypeForDeclaration(e);if(i&&(0,c.isMaybeDescriptorInstance)(i)){const n=h(e,t);if(n)return n}}}}(e,t,n,s.classType)},t.getVariableInStubFileDocStrings=g,t.getModuleDocString=function(e,t,n){let i=e.docString;return!i&&t&&(0,A.isStubFile)(t.path)&&(i=function(e){for(const t of e)if(t.statements){const e=a.getDocString(t.statements);if(e)return e}}(n.findModules(t.path))),i},t.getClassDocString=function(e,t,n){let i=e.details.docString;if(!i&&t&&(0,o.isClassDeclaration)(t)&&(i=C([t]),!i&&t&&(0,A.isStubFile)(t.path)&&6===t.type))for(const e of n.findDeclarations(t)){if((0,o.isVariableDeclaration)(e)&&e.docString){i=e.docString;break}if((0,o.isClassDeclaration)(e)||(0,o.isFunctionDeclaration)(e)){i=u(e);break}}if(!i&&t){const s=n.findClassDeclarationsByType(t.path,e);s&&(i=C(s.filter((e=>(0,o.isClassDeclaration)(e))).map((e=>e))))}return i},t.getFunctionOrClassDeclDocString=u,t.getVariableDocString=function(e,t){if(e)return void 0!==e.docString?e.docString:g(e,t).find((e=>e))}},7887:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.createTypeEvaluator=t.maxCodeComplexity=void 0;const o=n(3213),a=n(9489),A=n(5839),l=n(1290),c=n(9744),p=n(1464),g=n(6886),u=n(3550),d=n(2122),h=n(5275),C=n(5303),m=r(n(6673)),y=n(691),f=r(n(563)),I=n(4184),E=n(4972),T=n(2044),B=n(1901),v=n(6168),Q=n(5523),_=n(1985),w=n(4289),D=n(118),S=r(n(8494)),b=n(6061),F=n(9335),k=n(4124),N=r(n(5083)),P=n(8235),x=n(817),R=n(1766),M=n(2917),L=n(3090),K=n(9453),O=n(503),U=r(n(3843)),G=n(1133),Y=n(5168),V=n(4447),z={0:["__add__","__radd__"],33:["__sub__","__rsub__"],26:["__mul__","__rmul__"],13:["__floordiv__","__rfloordiv__"],10:["__truediv__","__rtruediv__"],24:["__mod__","__rmod__"],29:["__pow__","__rpow__"],22:["__matmul__","__rmatmul__"],3:["__and__","__rand__"],6:["__or__","__ror__"],8:["__xor__","__rxor__"],17:["__lshift__","__rlshift__"],31:["__rshift__","__rrshift__"],12:["__eq__","__ne__"],28:["__ne__","__eq__"],20:["__lt__","__ge__"],21:["__le__","__gt__"],15:["__gt__","__le__"],16:["__ge__","__lt__"]},J={36:!0,37:!0,39:!0,40:!0,41:!0,42:!0},j=new Map([["asyncio.futures.Future",g.PythonVersion.V3_9],["asyncio.tasks.Task",g.PythonVersion.V3_9],["builtins.dict",g.PythonVersion.V3_9],["builtins.frozenset",g.PythonVersion.V3_9],["builtins.list",g.PythonVersion.V3_9],["builtins._PathLike",g.PythonVersion.V3_9],["builtins.set",g.PythonVersion.V3_9],["builtins.tuple",g.PythonVersion.V3_9],["collections.ChainMap",g.PythonVersion.V3_9],["collections.Counter",g.PythonVersion.V3_9],["collections.defaultdict",g.PythonVersion.V3_9],["collections.DefaultDict",g.PythonVersion.V3_9],["collections.deque",g.PythonVersion.V3_9],["collections.OrderedDict",g.PythonVersion.V3_9],["queue.Queue",g.PythonVersion.V3_9]]),q=new Map([["builtins.float",["builtins.int"]],["builtins.complex",["builtins.float","builtins.int"]],["builtins.bytes",["builtins.bytearray","builtins.memoryview"]]]);t.maxCodeComplexity=768,t.createTypeEvaluator=function(e,n){const i=[],s=new Map,r=new Set,H=new L.SpeculativeTypeTracker,W=[];let X,$,Z,ee,te,ne,ie,se,re,oe,ae,Ae,le,ce=new Set,pe=new Map,ge=new Map,ue=new Map,de=new Map,he=[],Ce=!1;const me=[];let ye;function fe(){X&&(0,o.throwIfCancellationRequested)(X)}function Ie(e){let t;return t=ye&&Qe(e)?ye.get(e.id):ge.get(e.id),void 0!==t}function Ee(e,t){var i,r;let o;if(o=ye&&Qe(e)?ye.get(e.id):ge.get(e.id),void 0!==o){if(n.verifyTypeCacheEvaluatorFlags&&void 0!==t){const o=s.get(e.id);if(void 0!==o&&t!==o){const s=f.getFileInfo(e),a=(0,p.convertOffsetToPosition)(e.start,s.lines),l=`Type cache flag mismatch for node type ${e.nodeType} (parent ${null!==(r=null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&void 0!==r?r:"none"}): cached flags = ${o}, access flags = ${t}, file = {${s.filePath} [${a.line+1}:${a.character+1}]}`;n.verifyTypeCacheEvaluatorFlags?(0,A.fail)(l):console.log(l)}}return(0,A.assert)(!(0,L.isIncompleteType)(o)),o}}function Te(e,t,i,r,o,a=!1){if(r)return void(le&&le.set(e.id,t));const A=ye&&Qe(e)?ye:ge;A.set(e.id,t),n.verifyTypeCacheEvaluatorFlags&&A===ge&&void 0!==i&&s.set(e.id,i),H.isSpeculative(e)&&(H.trackEntry(A,e.id),a&&H.addSpeculativeType(e,t,o))}function Be(e){(ye&&Qe(e)?ye:ge).delete(e.id)}function ve(e,t=G.UnknownType.create(),n=0){Te(e,t,n,!1)}function Qe(e){const t=me.length;if(0===t)return!1;const n=me[t-1];let i=e;for(;i;){if(i===n.functionNode)return!0;i=i.parent}return!1}function _e(e,t){return i.findIndex((n=>n.symbolId===e.id&&n.declaration===t))}function we(e,t){const n=_e(e,t);if(n>=0){for(let e=n+1;e=0&&(i[s].partialType=n)}function be(e,t){const n=_e(e,t);if(n>=0)return i[n].partialType}function Fe(e){var t;return null===(t=Wn(e,(()=>{jn(e)})))||void 0===t?void 0:t.type}function ke(e){let t=e,n=e;for(;n;)(0,h.isExpressionNode)(n)&&(t=n),n=n.parent;for(jn(t),n=e;n;){const e=de.get(n.id);if(e)return{type:e,node:n};if(n===t)break;n=n.parent}}function Ne(e){Ce||(Ce=!0,ee=si(e,"object"),te=ii(e,"type"),ne=si(e,"function"),$e(e,"Collection"),$=Ze(e,"NoneType")||G.AnyType.create(),ie=ii(e,"tuple"),se=ii(e,"bool"),re=ii(e,"int"),oe=ii(e,"str"),ae=ii(e,"dict"),Ae=$e(e,"_TypedDict"))}function Pe(e,t=0,i){var s;const r=Ee(e,t);if(r)return{type:r};{const t=H.getSpeculativeType(e,i);if(t)return{type:t}}let o;fe(),i=(0,Y.transformPossibleRecursiveTypeAlias)(i),Ne(e);let a=0!=(64&t);switch(e.nodeType){case 38:o=function(e,t){var i,s;const r=f.getFileInfo(e),o=e.value;let a,A,l=!1;const p=0!=(4&t)||r.isStubFile;if(!n.analyzeUnannotatedFunctions){const t=S.getEnclosingFunction(e);if(t&&S.isUnannotatedFunction(t))return{type:G.AnyType.create(),isIncomplete:!1}}const g=f.getTypeParameterSymbol(e);if(g)a=g,A=null!==(i=hi(g))&&void 0!==i?i:G.UnknownType.create(),yt(r,a,e);else{const n=ri(e,o,!p,p&&0!=(1024&t));if(n){let i=!p;4===n.scope.type&&(i=!1),a=n.symbol;const s=di(a,i?e:void 0);let g=(0,Y.transformPossibleRecursiveTypeAlias)(s.type);s.isIncomplete&&((0,G.isUnbound)(g)&&(g=G.UnknownType.create(!0)),l=!0),s.isRecursiveDefinition&&nt(e)&<(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.recursiveDefinition().format({name:o}),e);const u=!!g&&(0,G.isInstantiableClass)(g)&&G.ClassType.isSpecialBuiltIn(g);if(A=g,i&&!u){const t=n.isBeyondExecutionScope||!a.isInitiallyUnbound()?g:G.UnboundType.create(),i=$n(e,a.id,t,!1,void 0);if(i.type&&(A=i.type),i.isIncomplete&&(l=!0),!i.type&&n.isBeyondExecutionScope){const t=function(e,t,n){if(!t.symbol.getDeclarations().every((e=>1===e.type||2===e.type)))return;const i=N.getScopeHierarchy(e,t.scope);if(i&&i.length>=2&&i.every((e=>1===e.type||3===e.type))){const s=N.findTopNodeInScope(e,i[i.length-2]);if(s&&(28===s.nodeType||30===s.nodeType)){const i=f.getFlowNode(s);if(i&&t.symbol.getDeclarations().every((e=>{if(2===e.type)return!0;const t=f.getFlowNode(e.node);return!!t&&!Oi.isFlowNodeReachable(t,i,!0)})))return $n(e,t.symbol.id,n,!1,s)}}}(e,n,g);(null==t?void 0:t.type)&&(A=t.type),(null==t?void 0:t.isIncomplete)&&(l=!0)}}if(A=Et(e,A,t),yt(r,a,e),0!=(1024&t)&&s.includesVariableDecl&&!A.typeAliasInfo){let n=(0,G.isTypeVar)(A)||(0,Y.isTypeAliasPlaceholder)(A);(0,G.isClass)(A)&&!A.includeSubclasses&&(n=!0),n||r.isTypingStubFile||!s.includesIllegalTypeAliasDecl&&G.TypeBase.isInstantiable(A)&&0==(2&t)||(lt(r.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeAnnotationVariable(),e),A=G.UnknownType.create())}}else"reveal_type"===o||"reveal_locals"===o?A=G.AnyType.create():(lt(r.diagnosticRuleSet.reportUndefinedVariable,c.DiagnosticRule.reportUndefinedVariable,d.Localizer.Diagnostic.symbolIsUndefined().format({name:o}),e),A=G.UnknownType.create())}if((0,G.isParamSpec)(A)&&32&t&&(ot(d.Localizer.Diagnostic.paramSpecContext(),e),A=G.UnknownType.create()),(0,G.isTypeVar)(A)&&!A.details.isParamSpec&&0==(64&t)&&A.details.name===o&&(7!==(null===(s=e.parent)||void 0===s?void 0:s.nodeType)||6!==e.parent.operator)){const t=A.details.isVariadic?$e(e,"TypeVarTuple"):$e(e,"TypeVar");A=t&&(0,G.isInstantiableClass)(t)?G.ClassType.cloneAsInstance(t):G.UnknownType.create()}return 0!=(64&t)&&0==(512&t)&&(0,G.isInstantiableClass)(A)&&G.ClassType.isBuiltIn(A,"Generic")&<(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.genericNotAllowed(),e),(0,G.isTypeVar)(A)&&!A.details.isSynthesized&&(A=It(e,A,t)),{type:A,isIncomplete:l}}(e,t);break;case 35:o=function(e,t){const n=2|572420&t,i=Pe(e.leftExpression,n);if((0,Y.isTypeAliasPlaceholder)(i.type))return{type:G.UnknownType.create(!0),isIncomplete:!0};const s=vt(e,i,{method:"get"},2|t);if((0,E.isCodeFlowSupportedForReference)(e)){Te(e,s.type,t,!0),Te(e.memberName,s.type,t,!0);let n=s.type,r=!!s.isIncomplete;if((0,G.isUnbound)(n)){const t=dt(i.type);let s;(0,G.isInstantiableClass)(t)?s=(0,Y.lookUpClassMember)(t,e.memberName.value,1):(0,G.isClassInstance)(t)&&(s=(0,Y.lookUpObjectMember)(t,e.memberName.value,1)),s&&(n=Ii(s),r=!1)}const o=$n(e,x.indeterminateSymbolId,n,r);o.type&&(s.type=o.type),o.isIncomplete&&(s.isIncomplete=!0),s.type=Et(e,s.type,t),Be(e),Be(e.memberName)}return i.isIncomplete&&(s.isIncomplete=!0),Te(e.memberName,s.type,t,!!s.isIncomplete),s}(e,t);break;case 24:o=function(e,t=0){const n=Pe(e.baseExpression,2|t);if(64&t&&48===e.baseExpression.nodeType){const t=f.getFileInfo(e);!t.isStubFile&&t.executionEnvironment.pythonVersion{(0,G.isClassInstance)(e)&&(G.ClassType.isBuiltIn(e)||G.ClassType.isTypedDictClass(e))||(s=!1)})),s){Te(e,i.type,t,!1);const s=$n(e,x.indeterminateSymbolId,i.type,!!n.isIncomplete||!!i.isIncomplete);s.type&&(i.type=s.type),s.isIncomplete&&(i.isIncomplete=!0),Be(e)}}return n.isIncomplete&&(i.isIncomplete=!0),0!=(1048576&t)&&(0,G.isInstantiableClass)(n.type)&&(G.ClassType.isBuiltIn(n.type,"Required")?i.isRequired=!0:G.ClassType.isBuiltIn(n.type,"NotRequired")&&(i.isNotRequired=!0)),i}(e,t);break;case 9:o=function(e,t,n){var i;const s=Pe(e.leftExpression,2),r=e.arguments.map((e=>({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,node:e,name:e.name})));let o={type:G.UnknownType.create()};if((0,Y.isTypeAliasPlaceholder)(s.type))o.isIncomplete=!0;else{if(38===e.leftExpression.nodeType&&"super"===e.leftExpression.value)o=function(e){let t,n;if(e.arguments.length>2&&ot(d.Localizer.Diagnostic.superCallArgCount(),e.arguments[2]),e.arguments.length>0){t=Pe(e.arguments[0].valueExpression).type;const n=dt(t);(0,G.isAnyOrUnknown)(n)||(0,G.isInstantiableClass)(n)||lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.superCallFirstArg().format({type:Li(t)}),e.arguments[0].valueExpression)}else{const n=S.getEnclosingClass(e);if(n){const e=Qn(n);t=e?e.classType:G.UnknownType.create()}else ot(d.Localizer.Diagnostic.superCallZeroArgForm(),e.leftExpression),t=G.UnknownType.create()}if(e.arguments.length>1){const i=dt(Pe(e.arguments[1].valueExpression).type);let s=!1;(0,G.isAnyOrUnknown)(i)||((0,G.isClassInstance)(i)?((0,G.isInstantiableClass)(t)&&((0,Y.derivesFromClassRecursive)(G.ClassType.cloneAsInstantiable(i),t,!0)||(s=!0)),n=i):(0,G.isInstantiableClass)(i)?((0,G.isInstantiableClass)(t)&&((0,Y.derivesFromClassRecursive)(i,t,!0)||(s=!0)),n=i):s=!0),s&<(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.superCallSecondArg().format({type:Li(t)}),e.arguments[1].valueExpression)}else{const i=S.getEnclosingFunction(e);let s;if(i){const e=bn(i);if(e){const t=e.functionType;G.FunctionType.isClassMethod(t)?t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(s=dt(t.details.parameters[0].type)):G.FunctionType.isInstanceMethod(t)&&t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(s=dt((0,Y.convertToInstantiable)(t.details.parameters[0].type)))}}s&&(0,G.isInstantiableClass)(s)?n=s:(0,G.isInstantiableClass)(t)&&(n=t)}let i=!0;if(e.arguments.length<=1){const t=S.getEnclosingFunction(e);if(t){const e=bn(t);e&&(G.FunctionType.isStaticMethod(e.functionType)||G.FunctionType.isConstructorMethod(e.functionType)||G.FunctionType.isClassMethod(e.functionType))&&(i=!1)}}const s=e.parent;if(35===s.nodeType){const e=s.memberName.value,r=(0,Y.lookUpClassMember)(t,e,1);if(r&&(0,G.isInstantiableClass)(r.classType))return{type:i?G.ClassType.cloneAsInstance(r.classType):r.classType,bindToType:i&&n&&(0,G.isInstantiableClass)(n)?G.ClassType.cloneAsInstance(n):n}}if((0,G.isInstantiableClass)(t)){if(t.details.mro.some((e=>(0,G.isAnyOrUnknown)(e))))return{type:G.UnknownType.create()};const e=t.details.baseClasses;if(e.length>0){const t=e[0];if((0,G.isInstantiableClass)(t))return{type:i?G.ClassType.cloneAsInstance(t):t}}}return{type:G.UnknownType.create()}}(e);else if((0,G.isAnyOrUnknown)(s.type)&&38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value)o=xt(e,t);else if((0,G.isFunction)(s.type)&&"reveal_type"===s.type.details.builtInName)o=xt(e,t);else if((0,G.isFunction)(s.type)&&"assert_type"===s.type.details.builtInName)o=function(e,t){if(2!==e.arguments.length||0!==e.arguments[0].argumentCategory||void 0!==e.arguments[0].name||0!==e.arguments[0].argumentCategory||void 0!==e.arguments[1].name)return ot(d.Localizer.Diagnostic.assertTypeArgs(),e),{type:G.UnknownType.create()};const n=Pe(e.arguments[0].valueExpression,void 0,t);if(n.isIncomplete)return{type:G.UnknownType.create(!0),isIncomplete:!0};const i=(0,Y.convertToInstance)(ti(e.arguments[1]).type);return(0,G.isTypeSame)(i,n.type,{treatAnySameAsUnknown:!0})||lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.assertTypeTypeMismatch().format({expected:Li(i),received:Li(n.type)}),e.arguments[0].valueExpression),{type:n.type}}(e,t);else if((0,G.isAnyOrUnknown)(s.type)&&38===e.leftExpression.nodeType&&"reveal_locals"===e.leftExpression.value)0===e.arguments.length?o.type=function(e){let t,n=e;for(;n&&(t=N.getScopeForNode(n),!t||0===t.type);)n=n.parent;const i=[];return t&&t.symbolTable.forEach(((e,t)=>{if(!e.isIgnoredForProtocolMatch()){const n=ui(e);i.push(d.Localizer.DiagnosticAddendum.typeOfSymbol().format({name:t,type:Li(n,!0)}))}})),i.length>0?rt(i.join("\n"),e):rt(d.Localizer.Diagnostic.revealLocalsNone(),e),G.NoneType.createInstance()}(e):ot(d.Localizer.Diagnostic.revealLocalsArgs(),e);else{const n=zt(e,r,s,void 0,!1,t);o.type=null!==(i=n.returnType)&&void 0!==i?i:G.UnknownType.create(),n.argumentErrors&&(o.typeErrors=!0),n.isTypeIncomplete&&(o.isIncomplete=!0)}s.isIncomplete&&(o.isIncomplete=!0)}return H.isSpeculative(e)||s.isIncomplete||(0,G.isInstantiableClass)(s.type)&&G.ClassType.isBuiltIn(s.type,"TypeVar")&&f.getFileInfo(e).isTypingStubFile||r.forEach((e=>{e.valueExpression&&48!==e.valueExpression.nodeType&&!Ie(e.valueExpression)&&Pe(e.valueExpression)})),0!=(1024&n)&&(lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeAnnotationCall(),e),o={type:G.UnknownType.create()}),o}(e,i,t);break;case 52:o=function(e,t,n){if(0!=(64&n)&&0===e.expressions.length&&!t)return{type:St([]),isEmptyTupleShorthand:!0};let i=t,s=t&&(0,G.isAny)(t);if(t&&(0,G.isUnion)(t)){let n;(0,Y.doForEachSubtype)(t,(t=>{if((0,G.isAny)(t)&&(s=!0),!n){const i=ai(e,(()=>Nt(e,t)));i&&Qi(t,i.type)&&(n=t)}})),i=n}if(i){const t=Nt(e,i);if(t)return t}const r=function(e){const t=e.expressions.map((e=>Pe(e))),n=t.some((e=>e.isIncomplete));return ie&&(0,G.isInstantiableClass)(ie)?{type:(0,Y.convertToInstance)((0,Y.specializeTupleClass)(ie,Pt(t))),isIncomplete:n}:{type:G.UnknownType.create()}}(e);return s&&(r.type=G.AnyType.create()),r}(e,i,t);break;case 11:o=function(e,t){let n;if(26===e.constType?n=0!=(64&t)?G.NoneType.createType():G.NoneType.createInstance():33!==e.constType&&15!==e.constType&&9!==e.constType||(n=si(e,"bool"),n&&(0,G.isClassInstance)(n)&&(33===e.constType?n=G.ClassType.cloneWithLiteral(n,!0):15===e.constType&&(n=G.ClassType.cloneWithLiteral(n,!1)))),n)return{type:n}}(e,t);break;case 48:{const n=0!=(8&t)&&!function(e){if(e.parent&&24===e.parent.nodeType){const t=Pe(e.parent.baseExpression).type;if(t&&(0,G.isInstantiableClass)(t)&&G.ClassType.isSpecialBuiltIn(t,"Literal"))return!0}return!1}(e);n&&(a=!1),o=function(e,t,n){let i;if(n){let n=68|t;if(0==(4194304&t)&&(n|=524288),e.typeAnnotation)i=Pe(e.typeAnnotation,n);else if(!e.typeAnnotation&&1===e.strings.length){const t=function(e){const t=f.getFileInfo(e),n=new C.Parser,i=e.strings[0].value,s=e.strings[0].start+e.strings[0].token.prefixLength+e.strings[0].token.quoteMarkLength,r=new C.ParseOptions;r.isStubFile=t.isStubFile,r.pythonVersion=t.executionEnvironment.pythonVersion,r.reportErrorsForParsedStringContents=!0;const o=n.parseTextExpression(t.fileContents,s,i.length,r,void 0,void 0,t.typingSymbolAliases);if(o.parseTree&&62!==o.parseTree.nodeType)return o.diagnostics.forEach((t=>{ot(t.message,e)})),o.parseTree.parent=e,o.parseTree}(e);t&&(i=Pe(t,n))}i||(lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.expectedTypeNotString(),e),i={type:G.UnknownType.create()})}else{let t=!0,n=!1;e.strings.forEach((e=>{const i=xe(e);i.isIncomplete&&(n=!0);let s=!1;(0,G.isClassInstance)(i.type)&&(G.ClassType.isBuiltIn(i.type,"str")&&void 0!==i.type.literalValue||G.ClassType.isBuiltIn(null==i?void 0:i.type,"LiteralString"))&&(s=!0),s||(t=!1)}));const s=0!=(32&e.strings[0].token.flags);if(e.strings.some((e=>27===e.nodeType))){if(t){const t=$e(e,"LiteralString");t&&(0,G.isInstantiableClass)(t)&&(i={type:G.ClassType.cloneAsInstance(t)})}i||(i={type:si(e,s?"bytes":"str"),isIncomplete:n})}else i={type:Cn(e,s?"bytes":"str",e.strings.map((e=>e.value)).join("")),isIncomplete:n}}return i}(e,t,n);break}case 40:o=function(e,t){return e.isImaginary?{type:si(e,"complex")}:e.isInteger?{type:Cn(e,"int",e.value)}:{type:si(e,"float")}}(e);break;case 18:o=function(e,t,n){return 0!=(1&e)?{type:G.AnyType.create(!0)}:0!=(256&e)?{type:G.UnknownType.create()}:{type:si(n,"ellipsis")||G.AnyType.create()}}(t,0,e);break;case 55:o=function(e,t){const n=Pe(e.expression);let i=dt(n.type);const s=n.isIncomplete;if((0,G.isNever)(i))return{type:G.NeverType.createNever(),isIncomplete:s};const r={0:"__pos__",33:"__neg__",5:"__invert__"};let o;if(38!==e.operator&&(0,Y.isOptionalType)(i)&&(lt(f.getFileInfo(e).diagnosticRuleSet.reportOptionalOperand,c.DiagnosticRule.reportOptionalOperand,d.Localizer.Diagnostic.noneOperator().format({operator:S.printOperator(e.operator)}),e.expression),i=(0,G.removeNoneFromUnion)(i)),!n.isIncomplete){const t=(0,Y.getLiteralTypeClassName)(i);"int"===t?0===e.operator?o=i:33===e.operator&&(o=(0,Y.mapSubtypes)(i,(e=>{const t=e;return G.ClassType.cloneWithLiteral(t,-t.literalValue)}))):"bool"===t&&38===e.operator&&(o=(0,Y.mapSubtypes)(i,(e=>{const t=e;return G.ClassType.cloneWithLiteral(t,!t.literalValue)})))}if(!o)if(38===e.operator)o=si(e,"bool"),o||(o=G.UnknownType.create());else if(o=(0,G.isAnyOrUnknown)(i)?i:rn(i,[],r[e.operator],e,t),!o){lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,t?d.Localizer.Diagnostic.typeNotSupportUnaryOperatorBidirectional().format({operator:S.printOperator(e.operator),type:Li(i),expectedType:Li(t)}):d.Localizer.Diagnostic.typeNotSupportUnaryOperator().format({operator:S.printOperator(e.operator),type:Li(i)}),e),o=G.UnknownType.create()}return{type:o,isIncomplete:s}}(e,i);break;case 7:o=en(e,i,t);break;case 5:o=nn(e,i);break;case 31:case 45:o=function(e,t){let n=t;if(t&&(0,G.isUnion)(t)){let i;(0,Y.doForEachSubtype)(t,(t=>{if(!i){const n=ai(e,(()=>cn(e,t)));n&&Qi(t,n.type)&&(i=t)}})),n=i}if(n){const t=cn(e,n);if(t)return t}return function(e,t){const n=31===e.nodeType?"list":"set";let i=!1,s=!1,r=!1,o=[];e.entries.forEach(((e,n)=>{let i;i=32===e.nodeType?dn(e):Pe(e,void 0,t?G.NeverType.createNever():void 0),i.isIncomplete&&(s=!0),i.typeErrors&&(r=!0),n<64&&o.push(i.type)})),o=o.map((e=>Re(e)));let a=t?G.AnyType.create():G.UnknownType.create();if(o.length>0){const i=f.getFileInfo(e);a="list"===n&&i.diagnosticRuleSet.strictListInference||"set"===n&&i.diagnosticRuleSet.strictSetInference||t?(0,G.combineTypes)(o,O.maxSubtypesForInferredType):(0,Y.areTypesSame)(o,{ignorePseudoGeneric:!0})?o[0]:a}else i=!0;const A=ii(e,n);return{type:(0,G.isInstantiableClass)(A)?G.ClassType.cloneAsInstance(G.ClassType.cloneForSpecialization(A,[a],!0,void 0,void 0,i)):G.UnknownType.create(),isIncomplete:s,typeErrors:r}}(e,void 0!==t)}(e,i);break;case 46:o=function(e){return H.isSpeculative(e)||(e.startValue&&Pe(e.startValue),e.endValue&&Pe(e.endValue),e.stepValue&&Pe(e.stepValue)),{type:si(e,"slice")}}(e);break;case 6:o=function(e,t,n){const i=n?Rn(e,n,!1):void 0,s=Pe(e.expression,t,i),r={type:He(s.type,e.expression)};return s.isIncomplete&&(r.isIncomplete=!0),r}(e,t,i);break;case 51:o=function(e,t,n){Pe(e.testExpression);const i=[];let s=!1,r=!1;if(nt(e.ifExpression)){const o=Pe(e.ifExpression,t,n);i.push(o.type),o.isIncomplete&&(s=!0),o.typeErrors&&(r=!0)}if(nt(e.elseExpression)){const o=Pe(e.elseExpression,t,n);i.push(o.type),o.isIncomplete&&(s=!0),o.typeErrors&&(r=!0)}return{type:(0,G.combineTypes)(i),isIncomplete:s,typeErrors:r}}(e,t,i);break;case 32:o=function(e,t){let n=!1,i=!1;const s=dn(e);s.isIncomplete&&(n=!0),s.typeErrors&&(i=!0);const r=s.type;let o=e.forIfNodes.some((e=>33===e.nodeType&&e.isAsync||34===e.nodeType&&6===e.testExpression.nodeType)),a=G.UnknownType.create();6===e.expression.nodeType&&(o=!0),!o&&t&&(0,G.isClassInstance)(t)&&G.ClassType.isBuiltIn(t,"AsyncGenerator")&&(o=!0);const A=$e(e,o?"AsyncGenerator":"Generator");return A&&(0,G.isInstantiableClass)(A)&&(a=G.ClassType.cloneAsInstance(G.ClassType.cloneForSpecialization(A,o?[r,G.NoneType.createInstance()]:[r,G.NoneType.createInstance(),G.NoneType.createInstance()],!0))),{type:a,isIncomplete:n,typeErrors:i}}(e,i);break;case 15:o=function(e,t){let n,i=t;if(t&&(0,G.isUnion)(t)){let n;(0,Y.doForEachSubtype)(t,(t=>{if(!n){const i=ai(e,(()=>an(e,t)));i&&Qi(t,i.type)&&(n=t)}})),i=n}if(i){n=new l.DiagnosticAddendum;const t=an(e,i,n);if(t)return t}return{...An(e,!!t),expectedTypeDiagAddendum:n}}(e,i);break;case 30:o=function(e,t){let n=!1;const i=G.FunctionType.createInstance("","","",131072);i.details.typeVarScopeId=Tt(e),Te(e,i,0,!0);let s=[];if(t){(0,Y.mapSubtypes)(t,(e=>{if((0,G.isFunction)(e)&&s.push(e),(0,G.isClassInstance)(e)){const t=Je(e,"__call__");t&&(0,G.isFunction)(t)&&s.push(t)}}));const n=e.parameters.filter((e=>0===e.category&&void 0===e.defaultValue)).length,i=e.parameters.filter((e=>0===e.category)).length;s=s.filter((e=>{const t=e.details.parameters.filter((e=>!!e.name&&!e.hasDefault)).length;return e.details.parameters.some((e=>!!e.name&&0!==e.category))||t>=n&&t<=i}))}const r=s.length>0?s[0]:void 0;let o=!0;e.parameters.forEach(((t,n)=>{let s=G.UnknownType.create();if(r&&n=0){let e=!1;0===t.category&&t.name?(0,R.isPrivateName)(t.name.value)&&(e=!0):o=!1,o&&!e&&i.details.parameters.length>0&&G.FunctionType.addParameter(i,{category:0,type:G.UnknownType.create()}),e||(o=!1)}const a={category:t.category,name:t.name?t.name.value:void 0,hasDefault:!!t.defaultValue,defaultValueExpression:t.defaultValue,hasDeclaredType:!0,type:s};G.FunctionType.addParameter(i,a)})),o&&i.details.parameters.length>0&&G.FunctionType.addParameter(i,{category:0,type:G.UnknownType.create()});const a=r?mi(r):void 0,A=()=>{const t=Pe(e.expression,void 0,a);i.inferredReturnType=t.type,t.isIncomplete&&(n=!0)};return H.isSpeculative(e)?ai(e.expression,(()=>{A()}),!1):A(),i.details.flags&=-131073,{type:i,isIncomplete:n}}(e,i);break;case 3:o=Pe(e.rightExpression),Ct(e.leftExpression,o.type,!1,e.rightExpression,!0,!0);break;case 4:o=Pe(e.rightExpression),Ct(e.name,o.type,!1,e.rightExpression,!0);break;case 60:o=function(e){let t,n,i=!1;const s=S.getEnclosingFunction(e);if(s){const e=bn(s);if(e){const i=G.FunctionType.getSpecializedReturnType(e.functionType);if(i){const e=(0,Y.getGeneratorTypeArgs)(i);e&&(e.length>=1&&(t=e[0]),e.length>=2&&(n=e[1]))}}}return e.expression&&Pe(e.expression,void 0,t).isIncomplete&&(i=!0),{type:n||G.UnknownType.create(),isIncomplete:i}}(e);break;case 61:o=function(e){var t;const n=Pe(e.expression).type;let i,s=(0,Y.getGeneratorTypeArgs)(n);if(s)i=s.length>=2?s[2]:G.UnknownType.create();else if((0,G.isClassInstance)(n)&&G.ClassType.isBuiltIn(n,"Coroutine"))i=G.UnknownType.create();else{const r=null!==(t=Xe(n,!1,e))&&void 0!==t?t:G.UnknownType.create();s=(0,Y.getGeneratorTypeArgs)(r),s&&(i=s.length>=2?s[2]:G.UnknownType.create())}return{type:i||G.UnknownType.create()}}(e);break;case 56:o=function(e,t,n){var i;let s,r;if(n){const t=ii(e,"Iterable");t&&(0,G.isInstantiableClass)(t)&&(r=G.ClassType.cloneAsInstance(G.ClassType.cloneForSpecialization(t,[n],!0)))}const o=Pe(e.expression,t,r),a=o.type;return s=0==(128&t)&&(0,G.isVariadicTypeVar)(a)&&!a.isVariadicUnpacked?{type:G.TypeVarType.cloneForUnpacked(a)}:0!=(2097152&t)&&(0,G.isInstantiableClass)(a)&&G.ClassType.isBuiltIn(a,"tuple")?{type:G.ClassType.cloneForUnpacked(a)}:{type:null!==(i=We(a,!1,e))&&void 0!==i?i:G.UnknownType.create(!!o.isIncomplete),unpackedType:a,isIncomplete:o.isIncomplete},s}(e,t,i);break;case 54:o=Pe(e.typeAnnotation,34024);break;case 49:case 27:o=xe(e);break;case 0:oi(e,(()=>{e.child&&Pe(e.child)})),o={type:G.UnknownType.create()};break;default:(0,A.assertNever)(e)}return o||(0,A.fail)(`Unhandled expression type '${S.printExpression(e)}'`),!a||o.isIncomplete||(128&t&&(0,G.isTypeVar)(o.type)&&o.type.details.isVariadic&&!o.type.isVariadicInUnion&&(ot(d.Localizer.Diagnostic.typeVarTupleContext(),e),o.type=G.UnknownType.create()),G.TypeBase.isInstantiable(o.type))||(0,G.isClassInstance)(o.type)&&G.ClassType.isTupleClass(o.type)&&0===(null===(s=o.type.tupleTypeArguments)||void 0===s?void 0:s.length)||(pt(o.type,e),o.type=G.UnknownType.create()),65536&t&&(0,Y.isTypeAliasPlaceholder)(o.type)&&(o.type.details.illegalRecursionDetected=!0),Te(e,o.type,t,!!o.isIncomplete,i,!0),!i||(0,G.isAnyOrUnknown)(i)||(0,G.isNever)(i)||de.set(e.id,i),o}function xe(e){const t=0!=(32&e.token.flags);let n;if(27===e.nodeType){let i=!0;if(e.expressions.forEach((e=>{const t=Pe(e).type;(0,G.isClassInstance)(t)&&(G.ClassType.isBuiltIn(t,"LiteralString")||G.ClassType.isBuiltIn(t,"str")&&void 0!==t.literalValue)||(i=!1)})),!t&&i){const t=$e(e,"LiteralString");t&&(0,G.isInstantiableClass)(t)&&(n={type:G.ClassType.cloneAsInstance(t)})}n||(n={type:si(e,t?"bytes":"str")})}else n={type:Cn(e,t?"bytes":"str",e.value)};return n}function Re(e){return(0,G.isClass)(e)?(void 0!==e.literalValue?e=G.ClassType.cloneWithLiteral(e,void 0):G.ClassType.isBuiltIn(e,"LiteralString")&&oe&&(0,G.isInstantiableClass)(oe)&&(e=G.ClassType.cloneAsInstance(oe)),e):(0,G.isUnion)(e)?(0,Y.mapSubtypes)(e,(e=>Re(e))):e}function Me(e,t){return Le(e,{associateTypeVarsWithScope:!0,allowTypeVarTuple:1===t,disallowRecursiveTypeAlias:!0,allowUnpackedTypedDict:2===t,allowUnpackedTuple:1===t})}function Le(e,t){var n,i,s;const r=f.getFileInfo(e);if(r.isTypingStubFile||r.isTypingExtensionsStubFile){const t=function(e){if(!e.parent||54!==e.parent.nodeType)return;if(38!==e.parent.valueExpression.nodeType)return;const t=e.parent.valueExpression.value,n=new Map([["Tuple",{alias:"tuple",module:"builtins"}],["Generic",{alias:"",module:"builtins"}],["Protocol",{alias:"",module:"builtins"}],["Callable",{alias:"",module:"builtins"}],["Type",{alias:"type",module:"builtins"}],["ClassVar",{alias:"",module:"builtins"}],["Final",{alias:"",module:"builtins"}],["Literal",{alias:"",module:"builtins"}],["TypedDict",{alias:"_TypedDict",module:"self"}],["Union",{alias:"",module:"builtins"}],["Optional",{alias:"",module:"builtins"}],["Annotated",{alias:"",module:"builtins"}],["TypeAlias",{alias:"",module:"builtins"}],["Concatenate",{alias:"",module:"builtins"}],["TypeGuard",{alias:"",module:"builtins"}],["StrictTypeGuard",{alias:"",module:"builtins"}],["Unpack",{alias:"",module:"builtins"}],["Required",{alias:"",module:"builtins"}],["NotRequired",{alias:"",module:"builtins"}],["Self",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["LiteralString",{alias:"",module:"builtins"}]]).get(t);if(n){const i=Ee(e,0);if(i)return(0,A.assert)((0,G.isInstantiableClass)(i)),i;const s=In(e,t,n);return"LiteralString"===t&&(s.details.baseClasses.push(null!=oe?oe:G.AnyType.create()),(0,Y.computeMroLinearization)(s)),Te(e,s,0,!1),s}}(e);if(t)return t}let o=1097;(null==t?void 0:t.isVariableAnnotation)&&(o|=32768),(null==t?void 0:t.allowFinal)||(o|=16),(null==t?void 0:t.allowClassVar)||(o|=131072),(null==t?void 0:t.allowTypeVarTuple)?o|=2097152:o|=128,(null==t?void 0:t.allowParamSpec)||(o|=32),(null==t?void 0:t.associateTypeVarsWithScope)?o|=8192:o|=4096,(null==t?void 0:t.disallowRecursiveTypeAlias)&&(o|=65536),(null==t?void 0:t.allowUnpackedTypedDict)&&(o|=8388608),(null==t?void 0:t.allowUnpackedTuple)&&(o|=2097152),(null==t?void 0:t.notParsedByInterpreter)&&(o|=524288),(0,y.isAnnotationEvaluationPostponed)(r)&&(o|=4),3===(null===(n=null==e?void 0:e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.typeAnnotationComment===e?o|=524292:62===(null===(i=null==e?void 0:e.parent)||void 0===i?void 0:i.nodeType)?(e.parent.returnTypeAnnotation===e||e.parent.paramTypeAnnotations.some((t=>t===e)))&&(o|=524292):41===(null===(s=null==e?void 0:e.parent)||void 0===s?void 0:s.nodeType)&&e.parent.typeAnnotationComment===e&&(o|=524292);const a=Pe(e,o).type;return(0,G.isModule)(a)&<(r.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.moduleAsType(),e),(0,Y.convertToInstance)(a)}function Ke(e,t){let n=f.getFileInfo(e).isStubFile?4:0;9!==e.expression.nodeType&&(n|=2);const i=Pe(e.expression,n);if((0,G.isInstantiableClass)(i.type)&&G.ClassType.isBuiltIn(i.type,"classmethod")&&(0,Y.isProperty)(t))return t;const s=[{argumentCategory:0,typeResult:{type:t}}],r=zt(e.expression,s,i,void 0,!0).returnType||G.UnknownType.create();return!(0,G.isFunction)(r)||r.details.declaredReturnType||r.details.parameters.some(((e,t)=>!(e.name&&!e.hasDeclaredType&&(0!==e.category||0===t&&e.isTypeInferred))))?(0,Y.isPartlyUnknown)(r)&&(0,G.isFunction)(i.type)&&!i.type.details.parameters.find((e=>void 0!==e.typeAnnotation))&&void 0===i.type.details.declaredReturnType?t:r:t}function Oe(e,t=0){if(t>G.maxTypeRecursionCount)return!0;switch(t++,e.category){case 0:case 1:case 2:case 4:case 3:return!0;case 9:return void 0!==(0,G.findSubtype)(e,(e=>Oe(e,t)));case 5:case 6:case 8:case 10:return!1;case 7:{if(G.TypeBase.isInstantiable(e))return!1;if((0,Y.isTupleClass)(e)&&e.tupleTypeArguments)return(0,Y.isUnboundedTupleClass)(e)||0===e.tupleTypeArguments.length;if(G.ClassType.isBuiltIn(e,"bool")&&void 0!==e.literalValue)return!1===e.literalValue;if(G.ClassType.isProtocolClass(e))return!0;if((0,Y.lookUpObjectMember)(e,"__len__"))return!0;const t=(0,Y.lookUpObjectMember)(e,"__bool__");if(t){const e=Ii(t);if((0,G.isFunction)(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if((0,G.isClassInstance)(t)&&G.ClassType.isBuiltIn(t,"bool")&&!0===t.literalValue)return!1}return!0}return!1}}}function Ue(e,t=0){if(t>G.maxTypeRecursionCount)return!0;switch(t++,e.category){case 1:case 5:case 6:case 8:case 10:case 4:case 2:return!0;case 9:return void 0!==(0,G.findSubtype)(e,(e=>Ue(e,t)));case 0:case 3:return!1;case 7:{if(G.TypeBase.isInstantiable(e))return!0;if((0,Y.isTupleClass)(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return!1;if(!1===e.literalValue||0===e.literalValue||e.literalValue===BigInt(0)||""===e.literalValue)return!1;if(G.ClassType.isProtocolClass(e))return!0;const t=(0,Y.lookUpObjectMember)(e,"__bool__");if(t){const e=Ii(t);if((0,G.isFunction)(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if((0,G.isClassInstance)(t)&&G.ClassType.isBuiltIn(t,"bool")&&!1===t.literalValue)return!1}}return!0}}}function Ge(e){return(0,Y.mapSubtypes)(e,(e=>{if((0,G.isClassInstance)(e)){if(void 0!==e.literalValue)return e.literalValue?void 0:e;if(G.ClassType.isBuiltIn(e,"bool"))return G.ClassType.cloneWithLiteral(e,!1)}if(Oe(e))return e}))}function Ye(e){return(0,Y.mapSubtypes)(e,(e=>{if((0,G.isClassInstance)(e)){if(void 0!==e.literalValue)return e.literalValue?e:void 0;if(G.ClassType.isBuiltIn(e,"bool"))return G.ClassType.cloneWithLiteral(e,!0)}if(Ue(e))return e}))}function Ve(e,t,n,i={method:"get"},s,r=0,o){const a=Qt(e,G.ClassType.cloneAsInstantiable(t),!0,n,i,s,8|r,o);if(a)return{type:a.type,classType:a.classType,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}}function ze(e,t,n,i={method:"get"},s,r=0,o){let a;if(G.ClassType.isPartiallyEvaluated(t))return lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.classDefinitionCycle().format({name:t.details.name}),e),{type:G.UnknownType.create()};if(0==(32&r)&&(a=Qt(e,t,!1,n,i,s,1|r,o)),a&&a.classType&&a.symbol&&(0,G.isClass)(a.classType)&&G.ClassType.isProtocolClass(a.classType)){const t=(0,M.getLastTypedDeclaredForSymbol)(a.symbol);t&&1===t.type&&!a.isClassVar&<(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.protocolMemberNotClassVar().format({memberName:n,className:a.classType.details.name}),e)}if(!a){const s=t.details.effectiveMetaclass;s&&(0,G.isInstantiableClass)(s)&&!G.ClassType.isSameGenericClass(s,t)&&(a=Qt(e,s,!0,n,i,void 0,r,t))}return a?{type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}:void 0}function Je(e,t,n=0,i=!1){const s=(0,Y.lookUpClassMember)(e,t,8);if(s){const t=Ii(s);if((0,G.isFunction)(t)||(0,G.isOverloadedFunction)(t)){const s=xi(G.ClassType.cloneAsInstance(e),t,void 0,void 0,n,i);if(s)return s}else if((0,G.isAnyOrUnknown)(t)){const e=G.FunctionType.createSynthesizedInstance("",32768);return G.FunctionType.addDefaultParameters(e),e}}}function je(e){if(54===e.nodeType&&38===e.valueExpression.nodeType){const t=ri(e,e.valueExpression.value,!1);if(t)return void 0!==t.symbol.getDeclarations().find((e=>(0,Q.isExplicitTypeAliasDeclaration)(e)))}return!1}function qe(e,t){let n,i,s,r=!0;switch(e.nodeType){case 38:{const t=ri(e,e.value,!0);if(t&&(n=t.symbol,void 0===hi(n,e)&&2===t.scope.type)){const t=S.getEnclosingClassOrFunction(e);if(t&&10===t.nodeType){const i=Qn(t);if(i){const t=(0,Y.lookUpClassMember)(i.classType,e.value,24);t&&(n=t.symbol)}}}break}case 54:return qe(e.valueExpression,t);case 35:{const t=dt(Pe(e.leftExpression,2).type);let o;(0,G.isClassInstance)(t)?(o=(0,Y.lookUpObjectMember)(t,e.memberName.value,16),i=t,s=null==o?void 0:o.classType,(null==o?void 0:o.isInstanceMember)&&(r=!1)):(0,G.isInstantiableClass)(t)&&(o=(0,Y.lookUpClassMember)(t,e.memberName.value,24),i=t,s=null==o?void 0:o.classType),o&&(n=o.symbol);break}case 24:{const n=dt(Pe(e.baseExpression,2).type);if(n&&(0,G.isClassInstance)(n)){const i=(0,Y.lookUpClassMember)(n,"__setitem__");if(i){const t=Ii(i);if((0,G.isFunction)(t)){const s=xi(n,t,(0,G.isInstantiableClass)(i.classType)?i.classType:void 0,e,void 0,!1);if(s&&(0,G.isFunction)(s)&&s.details.parameters.length>=2){const e=G.FunctionType.getEffectiveParameterType(s,1);if(!(0,G.isAnyOrUnknown)(e))return e}}}else if(G.ClassType.isTypedDictClass(n)){const i=(0,K.getTypeOfIndexedTypedDict)(Ki,e,n,t||{method:"get"});if(i)return i.type}}break}}if(n){let t=hi(n);if(t){if((0,G.isClassInstance)(t)){const e=(0,Y.lookUpClassMember)(t,"__set__"),n=e?Ii(e):void 0;if(n&&(0,G.isFunction)(n)&&n.details.parameters.length>=3&&(t=n.details.parameters[2].type,(0,G.isAnyOrUnknown)(t)))return}return i&&(s&&(0,G.isInstantiableClass)(s)&&(t=(0,Y.partiallySpecializeType)(t,s)),((0,G.isFunction)(t)||(0,G.isOverloadedFunction)(t))&&r&&(t=xi(i,t,void 0,e))),t}}}function He(e,t){return(0,Y.mapSubtypes)(e,(e=>{if(e=dt(e),(0,G.isAnyOrUnknown)(e))return e;if((0,G.isClassInstance)(e)){const n=ft(e,"__await__",[],t);if(n){if((0,G.isAnyOrUnknown)(n))return n;if((0,G.isClassInstance)(n)&&ft(n,"__iter__",[],t)){const e=function(e){if((0,G.isAnyOrUnknown)(e))return e;if((0,G.isClassInstance)(e)&&G.ClassType.isBuiltIn(e,"Generator")){const t=e.typeArguments;if(t&&t.length>=3)return t[2]}}(n);if(e)return e}}}return t&<(f.getFileInfo(t).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeNotAwaitable().format({type:Li(e)}),t),G.UnknownType.create()}))}function We(e,t,n){const i=t?"__aiter__":"__iter__",s=t?"__anext__":"__next__";let r=!0;e=dt(e=(0,Y.transformPossibleRecursiveTypeAlias)(e)),(0,Y.isOptionalType)(e)&&(n&<(f.getFileInfo(n).diagnosticRuleSet.reportOptionalIterable,c.DiagnosticRule.reportOptionalIterable,d.Localizer.Diagnostic.noneNotIterable(),n),e=(0,G.removeNoneFromUnion)(e));const o=(0,Y.mapSubtypes)(e,(e=>{if(e=dt(e),(0,G.isAnyOrUnknown)(e))return e;const o=new l.DiagnosticAddendum;if((0,G.isClass)(e)){let r;if(G.TypeBase.isInstance(e)){if((0,Y.isTupleClass)(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return G.NeverType.createNever();r=ft(e,i,[],n)}else G.TypeBase.isInstantiable(e)&&e.details.effectiveMetaclass&&(0,G.isInstantiableClass)(e.details.effectiveMetaclass)&&(r=ft(G.ClassType.cloneAsInstance(e.details.effectiveMetaclass),i,[],n,e));if(r){const e=new l.DiagnosticAddendum,a=ht(r,void 0,(r=>{if((0,G.isAnyOrUnknown)(r))return r;if((0,G.isClassInstance)(r)){const i=ft(r,s,[],n);if(i)return t?He(i,n):i;e.addMessage(d.Localizer.Diagnostic.methodNotDefinedOnType().format({name:s,type:Li(r)}))}else e.addMessage(d.Localizer.Diagnostic.methodReturnsNonObject().format({name:i}))}));if(e.isEmpty())return a;o.addAddendum(e)}else{if(!t&&(0,G.isClassInstance)(e)){const t=ft(e,"__getitem__",[{argumentCategory:0,typeResult:{type:re&&(0,G.isInstantiableClass)(re)?G.ClassType.cloneAsInstance(re):G.UnknownType.create()}}],n);if(t)return t}o.addMessage(d.Localizer.Diagnostic.methodNotDefined().format({name:i}))}}n&<(f.getFileInfo(n).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeNotIterable().format({type:Li(e)})+o.getString(),n),r=!1}));return r?o:void 0}function Xe(e,t,n){const i=t?"__aiter__":"__iter__";let s=!0;e=dt(e),(0,Y.isOptionalType)(e)&&(n&<(f.getFileInfo(n).diagnosticRuleSet.reportOptionalIterable,c.DiagnosticRule.reportOptionalIterable,d.Localizer.Diagnostic.noneNotIterable(),n),e=(0,G.removeNoneFromUnion)(e));const r=(0,Y.mapSubtypes)(e,(e=>{if((0,G.isAnyOrUnknown)(e))return e;if((0,G.isClass)(e)){let t;if(G.TypeBase.isInstance(e)?t=ft(e,i,[],n):G.TypeBase.isInstantiable(e)&&e.details.effectiveMetaclass&&(0,G.isInstantiableClass)(e.details.effectiveMetaclass)&&(t=ft(G.ClassType.cloneAsInstance(e.details.effectiveMetaclass),i,[],n,e)),t)return dt(t)}n&<(f.getFileInfo(n).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeNotIterable().format({type:Li(e)}),n),s=!1}));return s?r:void 0}function $e(e,t){var n;return null!==(n=et(e,t,["typing"]))&&void 0!==n?n:et(e,t,["typing_extensions"])}function Ze(e,t){return et(e,t,["_typeshed"])}function et(t,n,i){const s=f.getFileInfo(t),r=e({nameParts:i,importingFilePath:s.filePath});if(!r)return;const o=r.symbolTable.get(n);return o?ui(o):void 0}function tt(e){const n=28===e.nodeType?e:S.getExecutionScopeNode(e);if(f.getCodeFlowComplexity(n)>t.maxCodeComplexity){let t=n;28===n.nodeType?t=n.name:36===n.nodeType&&(t={start:0,length:0});const i=f.getFileInfo(e);return ct(i,i.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.codeTooComplexToAnalyze(),t),!0}return!1}function nt(e,t){if(tt(e))return!0;const n=f.getFlowNode(e);if(!n)return!!e.parent&&nt(e.parent,t);const i=t?f.getFlowNode(t):void 0;return Oi.isFlowNodeReachable(n,i)}function it(e){const t=f.getAfterFlowNode(e);return!!(t&&(tt(e)||Oi.isFlowNodeReachable(t)&&function(e,t){const n=Xn(e.id);return!!tt(e)||void 0!==n.getTypeFromCodeFlow(t,void 0,void 0,G.UnboundType.create(),!1,!0).type}(e,t)))}function st(e,t,n=!0){if(tt(e))return!0;const i=f.getFlowNode(e),s=f.getFlowNode(t);return!(!i||!s)&&(i===s?n:Oi.isFlowNodeReachable(s,i,!0))}function rt(e,t,n){return at("information",e,t,n)}function ot(e,t,n){return at("error",e,t,n)}function at(e,t,n,i){if(!At(n)&&nt(n))return f.getFileInfo(n).diagnosticSink.addDiagnosticWithTextRange(e,t,i||n)}function At(e){return W.some((t=>S.isNodeContainedWithin(e,t)))||H.isSpeculative(e)}function lt(e,t,n,i){if("none"===e)return;const s=at(e,n,i);return s&&s.setRule(t),s}function ct(e,t,n,i,s){if("none"===t)return;const r=e.diagnosticSink.addDiagnosticWithTextRange(t,i,s);return n&&r.setRule(n),r}function pt(e,t){const n=f.getFileInfo(t),i=new l.DiagnosticAddendum;(0,G.isUnion)(e)&&(0,Y.doForEachSubtype)(e,(e=>{G.TypeBase.isInstantiable(e)||i.addMessage(d.Localizer.DiagnosticAddendum.typeNotClass().format({type:Li(e)}))})),lt(n.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeExpectedClass().format({type:Li(e)})+i.getString(),t)}function gt(e,t,n,i,s,r=!1,o){const a=e.value,A=ri(e,a,!1);if(!A)return;const p=A.symbol.getDeclarations();let g=hi(A.symbol);const u=f.getFileInfo(e);if(void 0===g&&2===A.scope.type){const t=S.getEnclosingClass(e);if(t){const n=Qn(t);if(n){const t=(0,Y.lookUpClassMember)(n.classType,e.value,1);(null==t?void 0:t.isTypeDeclared)&&(g=Ii(t))}}}let h=t;if(g){let n=new l.DiagnosticAddendum;Qi(g,t,n)?h=ki(g,t):(o&&(n=o),lt(u.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeAssignmentMismatch().format({sourceType:Li(t),destType:Li(g)})+n.getString(),null!=s?s:e),h=g)}else{const t=N.getScopeForNode(e);2===(null==t?void 0:t.type)&&(!G.TypeBase.isInstance(h)||(0,R.isConstantName)(a)||(0,M.isFinalVariable)(A.symbol)||(h=Re(h)))}const C=p.find((e=>1===e.type));C&&1===C.type&&(C.isConstant?e!==(0,Q.getNameNodeForDeclaration)(p[0])&<(u.diagnosticRuleSet.reportConstantRedefinition,c.DiagnosticRule.reportConstantRedefinition,d.Localizer.Diagnostic.constantRedefinition().format({name:a}),e):C.isFinal&&!r&<(u.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.finalReassigned().format({name:a}),e)),n||gn(u.diagnosticRuleSet.reportUnknownVariableType,c.DiagnosticRule.reportUnknownVariableType,e,h,e,i),Te(e,h,0,n)}function ut(e,t,n,i,s){const r=e.memberName.value,o=f.getFileInfo(e),a=S.getEnclosingClass(e);if(!a)return;const l=Qn(a);if(l&&(0,G.isInstantiableClass)(l.classType)){let a=(0,Y.lookUpClassMember)(l.classType,r,i?0:8);const p=l.classType.details.fields;if(a){const n=(0,G.isInstantiableClass)(a.classType)?a.classType:void 0,g=n&&G.ClassType.isSameGenericClass(l.classType,n);if(g&&i&&(null==n?void 0:n.details.inheritedSlotsNames)&&n.details.localSlotsNames&&n.details.localSlotsNames.length>0&&!n.details.inheritedSlotsNames.some((e=>e===r))){const t=(0,Y.lookUpClassMember)(n,r,8);let i=!1;if(t){const e=ui(t.symbol);((0,G.isAnyOrUnknown)(e)||(0,G.isUnbound)(e)||(0,Y.isMaybeDescriptorInstance)(e))&&(i=!0)}i||lt(o.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.slotsAttributeError().format({name:r}),e.memberName)}if(g&&a.isInstanceMember===i){const t=p.get(r);(0,A.assert)(void 0!==t);const n=t.getDeclarations();n.length>0&&1===n[0].type&&s&&e.memberName!==n[0].node&&n[0].isConstant&<(o.diagnosticRuleSet.reportConstantRedefinition,c.DiagnosticRule.reportConstantRedefinition,d.Localizer.Diagnostic.constantRedefinition().format({name:e.memberName.value}),e.memberName)}else{const n=hi(a.symbol);if(n&&!(0,Y.isProperty)(n)&&!a.isInstanceMember&&i){yt(o,a.symbol,e.memberName);const n=Ii(a);t=(0,G.combineTypes)([t,n])}}}a=(0,Y.lookUpClassMember)(l.classType,r,16),a||!s||n||gn(o.diagnosticRuleSet.reportUnknownMemberType,c.DiagnosticRule.reportUnknownMemberType,e.memberName,t,e,!0)}}function dt(e,t){return(0,Y.mapSubtypes)(e,(e=>{if((0,G.isParamSpec)(e)){if("args"===e.paramSpecAccess)return ie&&(0,G.isInstantiableClass)(ie)&&ee&&(0,G.isClassInstance)(ee)?G.ClassType.cloneAsInstance((0,Y.specializeTupleClass)(ie,[{type:ee,isUnbounded:!0}])):G.UnknownType.create();if("kwargs"===e.paramSpecAccess)return ae&&(0,G.isInstantiableClass)(ae)&&oe&&(0,G.isInstantiableClass)(oe)&&ee&&(0,G.isClassInstance)(ee)?G.ClassType.cloneAsInstance(G.ClassType.cloneForSpecialization(ae,[(0,Y.convertToInstance)(oe),ee],!0)):G.UnknownType.create()}if((0,G.isVariadicTypeVar)(e)&&ie&&(0,G.isInstantiableClass)(ie))return(0,Y.convertToInstance)((0,Y.specializeTupleClass)(ie,[],!0,!0));if((0,G.isTypeVar)(e)&&!e.details.recursiveTypeAliasName){if(e.details.boundType){const t=G.TypeBase.isInstantiable(e)?(0,Y.convertToInstantiable)(e.details.boundType):e.details.boundType;return e.details.isSynthesized?t:(0,Y.addConditionToType)(t,[{typeVarName:G.TypeVarType.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}if(e.details.recursiveTypeAliasName)return e;if(e.details.constraints.length>0){const n=[];return e.details.constraints.forEach(((i,s)=>{if(t){const n=G.TypeVarType.getNameWithScope(e),i=t.find((e=>e.typeVarName===n));if(i&&i.constraintIndex!==s)return}G.TypeBase.isInstantiable(e)&&(i=(0,Y.convertToInstantiable)(i)),n.push((0,Y.addConditionToType)(i,[{typeVarName:G.TypeVarType.getNameWithScope(e),constraintIndex:s,isConstrainedTypeVar:!0}]))})),(0,G.combineTypes)(n)}if(e.details.isExemptFromBoundCheck)return G.AnyType.create();if(G.TypeBase.isInstantiable(e)){if(te&&(0,G.isInstantiableClass)(te))return e.details.isSynthesized?te:(0,Y.addConditionToType)(G.ClassType.cloneAsInstance(te),[{typeVarName:G.TypeVarType.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}else if(ee)return e.details.isSynthesized?ee:(0,Y.addConditionToType)(ee,[{typeVarName:G.TypeVarType.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}]);return G.AnyType.create()}return e}))}function ht(e,t,n){const i=[];let s=!1;const r=e=>{let r=(0,G.isUnion)(e)?e:dt(e);r=(0,Y.transformPossibleRecursiveTypeAlias)(r),(0,Y.doForEachSubtype)(r,(r=>{var o;if(t&&!G.TypeCondition.isCompatible((0,Y.getTypeCondition)(r),t))return;let a=n(r,e);if(a!==e&&(s=!0),a){const e=null===(o=(0,Y.getTypeCondition)(r))||void 0===o?void 0:o.filter((e=>e.isConstrainedTypeVar));e&&e.length>0&&(a=(0,Y.addConditionToType)(a,e)),i.push(a)}}))};if((0,G.isUnion)(e)?e.subtypes.forEach((e=>{r(e)})):r(e),!s)return e;const o=(0,G.combineTypes)(i);return 9===o.category&&G.UnionType.addTypeAliasSource(o,e),o}function Ct(e,t,n,i,s=!1,o=!1,a){if((0,G.isTypeVar)(t)&&i&&9===i.nodeType){const n=Pe(i.leftExpression,2).type;(0,G.isInstantiableClass)(n)&&(G.ClassType.isBuiltIn(n,"TypeVar")||G.ClassType.isBuiltIn(n,"TypeVarTuple")||G.ClassType.isBuiltIn(n,"ParamSpec"))&&(38===e.nodeType&&e.value===t.details.name||ot(t.details.isParamSpec?d.Localizer.Diagnostic.paramSpecAssignedName().format({name:G.TypeVarType.getReadableName(t)}):d.Localizer.Diagnostic.typeVarAssignedName().format({name:G.TypeVarType.getReadableName(t)}),e))}switch(t=(0,G.removeUnbound)(t),e.nodeType){case 38:gt(e,t,n,s,i,o,a);break;case 35:!function(e,t,n,i,s){const o=Pe(e.leftExpression,2),a=dt(o.type);if(38===e.leftExpression.nodeType){const s=S.getEnclosingClass(e);if(s){const r=Qn(s);if(r&&(0,G.isInstantiableClass)(r.classType)&&((0,G.isClassInstance)(a)?G.ClassType.isSameGenericClass(a,r.classType)&&ut(e,t,n,!0,i):(0,G.isInstantiableClass)(a)&&G.ClassType.isSameGenericClass(a,r.classType)&&ut(e,t,n,!1,i),G.ClassType.isProtocolClass(r.classType))){const t=r.classType.details.fields.get(e.memberName.value);t&&0===t.getDeclarations().filter((e=>!S.getEnclosingFunction(e.node))).length&&ot(d.Localizer.Diagnostic.assignmentInProtocol(),e.memberName)}}}var A;vt(e,o,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:s},0).isAsymmetricDescriptor&&(A=e,H.isSpeculative(void 0)||r.add(A.id)),Te(e.memberName,t,0,n),Te(e,t,0,n)}(e,t,n,i,a);break;case 24:{const s=Pe(e.baseExpression,2);Dt(e,s,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:a},0),Te(e,t,0,n);break}case 31:case 52:!function(e,t,n,i){const s=31===e.nodeType?e.entries:e.expressions,r=new Array(s.length);for(let e=0;e56===e.nodeType)),a=s.findIndex((e=>56===e.nodeType));t=dt(t);const A=new l.DiagnosticAddendum;(0,Y.doForEachSubtype)(t,(t=>{const n=(0,Y.getSpecializedTupleType)(t);if(n&&n.tupleTypeArguments){const i=n.tupleTypeArguments.map((e=>(0,Y.addConditionToType)(e.type,(0,Y.getTypeCondition)(t)))),l=n.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(l>=0)if(i.length>r.length)i.splice(l,1);else if(i.length0?i[l]:G.AnyType.create();for(;i.length=0)if(i.length>r.length){const t=i.splice(o,i.length-r.length+1);let n=(0,G.combineTypes)(t);31===e.nodeType&&(n=Re(n)),i.splice(o,0,n)}else i.length===r.length-1&&i.splice(o,0,G.NeverType.createNever());if(i.forEach(((e,t)=>{t=0?s.length-1:s.length,r=A.createAddendum();r.addMessage((31===e.nodeType?d.Localizer.DiagnosticAddendum.listAssignmentMismatch():d.Localizer.DiagnosticAddendum.tupleAssignmentMismatch()).format({type:Li(t)})),r.createAddendum().addMessage(d.Localizer.DiagnosticAddendum.tupleSizeMismatch().format({expected:n,received:i.length}))}}else{const e=We(t,!1,i)||G.UnknownType.create();for(let n=0;n{const s=r[t];Ct(e,0===s.length?G.UnknownType.create():(0,G.combineTypes)(s),n,i,!0)})),Te(e,t,0,n)}(e,t,n,i);break;case 54:{const n=Le(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:S.isFinalAllowedForAssignmentTarget(e.valueExpression),allowClassVar:S.isClassVarAllowedForAssignmentTarget(e.valueExpression)});(0,G.isClassInstance)(n)&&(G.ClassType.isBuiltIn(n,"Final")||G.ClassType.isBuiltIn(n,"ClassVar"))||(0,G.isClassInstance)(n)&&G.ClassType.isBuiltIn(n,"TypeAlias")||Qi(n,t)&&((0,G.isClassInstance)(t)&&G.ClassType.isEnumClass(t)||(t=ki(n,t))),Ct(e.valueExpression,t,!1,i,s,o,a);break}case 56:38===e.expression.nodeType&>(e.expression,si(e.expression,"list",[t]),!1,s,i);break;case 0:e.child&&oi(e.child,(()=>{Pe(e.child)}));break;default:ot(d.Localizer.Diagnostic.assignmentTargetExpr(),e)}}function mt(e){switch(e.nodeType){case 38:Pe(e);break;case 35:{const t=Pe(e.leftExpression,2),n=vt(e,t,{method:"del"},0);Te(e.memberName,n.type,0,!1),Te(e,n.type,0,!1);break}case 24:{const t=Pe(e.baseExpression,2);Dt(e,t,{method:"del"},0),Te(e,G.UnboundType.create(),0,!1);break}case 52:e.expressions.forEach((e=>{mt(e)}));break;case 0:e.child&&oi(e.child,(()=>{Pe(e.child)}));break;default:lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.delTargetExpr(),e)}}function yt(e,t,n){H.isSpeculative(n)||e.accessedSymbolSet.add(t.id)}function ft(e,t,n,i,s){const r=(0,Y.lookUpObjectMember)(e,t,8);if(!r)return;const o=Ii(r);if((0,G.isAnyOrUnknown)(o))return o;if((0,G.isFunction)(o)||(0,G.isOverloadedFunction)(o)){const t=xi(s||e,o,r&&(0,G.isInstantiableClass)(r.classType)?r.classType:void 0,i,void 0,!1,s);if(t){if(!(0,G.isOverloadedFunction)(t))return mi(t);if(i){const e=Mt(i,t,n);if(e)return mi(e)}}}}function It(e,t,n){var i;if(G.TypeBase.isInstantiable(t)&&!t.scopeId&&!(0,Y.isTypeAliasPlaceholder)(t)){const s=function(e,t){let n=e,i=0;for((0,A.assert)(G.TypeBase.isInstantiable(t));n&&(n=S.getTypeVarScopeNode(n),n);){let e,s=!1;if(10===n.nodeType){const t=Qn(n);t&&!G.ClassType.isPartiallyEvaluated(t.classType)&&(e=t.classType.details.typeParameters),s=!!n.typeParameters,i++}else if(28===n.nodeType){const t=bn(n);t&&(e=[],t.functionType.details.parameters.forEach((t=>{t.hasDeclaredType&&(0,Y.addTypeVarsToListIfUnique)(e,(0,Y.getTypeVarArgumentsRecursive)(t.type))})),t.functionType.details.declaredReturnType&&(0,Y.addTypeVarsToListIfUnique)(e,(0,Y.getTypeVarArgumentsRecursive)(t.functionType.details.declaredReturnType))),s=!!n.typeParameters}else 77===n.nodeType&&(s=!!n.typeParameters);if(e){const n=e.find((e=>e.details.name===t.details.name));if(null==n?void 0:n.scopeId)return{type:t=G.TypeVarType.cloneForScopeId(t,n.scopeId,n.scopeName,n.scopeType),foundInterveningClass:i>1&&!s}}n=n.parent}for(n=e;n;){let i,s;if(77===n.nodeType?(i=Ee(n.name,0),s=n):3===n.nodeType&&(i=Ee(n.leftExpression,0)),i&&i&&(0,G.isTypeVar)(i)&&i.details.recursiveTypeAliasScopeId&&i.details.recursiveTypeAliasName)return s&&!t.details.isTypeParamSyntax&<(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeParameterNotDeclared().format({name:t.details.name,container:s.name.value}),e),{type:G.TypeVarType.cloneForScopeId(t,i.details.recursiveTypeAliasScopeId,i.details.recursiveTypeAliasName,2),foundInterveningClass:!1};n=n.parent}return{type:t,foundInterveningClass:!1}}(e,t);if(t=s.type,0!=(2048&n)&&void 0!==t.scopeId){if(!t.details.isSynthesized&&!t.details.isParamSpec){if(t.details.isTypeParamSyntax)return t;const n=S.getTypeVarScopeNode(e);if(n&&n.typeParameters&&!n.typeParameters.parameters.some((t=>t.name===e)))return t;lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e)}}else if(0!=(8192&n)){if(void 0===t.scopeId)if(s.foundInterveningClass)lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else{let n=S.getEnclosingClassOrFunction(e);if(n&&35===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.leftExpression===e){const i=e.parent.memberName.value;if("args"===i||"kwargs"===i){const i=S.getEnclosingClassOrFunction(n);28===(null==i?void 0:i.nodeType)?n=i:s.type.scopeId||lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.paramSpecNotUsedByOuterScope().format({name:t.details.name}),e)}}n?(n.typeParameters&<(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeParameterNotDeclared().format({name:t.details.name,container:n.name.value}),e),t=G.TypeVarType.cloneForScopeId(t,Tt(n),n.name.value,28===n.nodeType?1:0)):(0,A.fail)("AssociateTypeVarsWithCurrentScope flag was set but enclosing scope not found")}}else if(0!=(4096&n)&&(void 0===t.scopeId||s.foundInterveningClass)&&!t.details.isSynthesized){const n=(0,G.isParamSpec)(t)?d.Localizer.Diagnostic.paramSpecNotUsedByOuterScope():d.Localizer.Diagnostic.typeVarNotUsedByOuterScope();lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,n.format({name:t.details.name}),e)}}return t.isVariadicUnpacked&&(t=G.TypeVarType.cloneForPacked(t)),t}function Et(e,t,n){return 0==(2&n)&&((0,G.isInstantiableClass)(t)&&(0!=(64&n)&&(0,Y.requiresTypeArguments)(t)&&!t.typeArguments&<(f.getFileInfo(e).diagnosticRuleSet.reportMissingTypeArgument,c.DiagnosticRule.reportMissingTypeArgument,d.Localizer.Diagnostic.typeArgsMissingForClass().format({name:t.aliasName||t.details.name}),e),t.typeArguments||(t=Zn(t,void 0,n,e))),0!=(64&n)&&t.typeAliasInfo&&t.typeAliasInfo.typeParameters&&t.typeAliasInfo.typeParameters.length>0&&!t.typeAliasInfo.typeArguments&&(lt(f.getFileInfo(e).diagnosticRuleSet.reportMissingTypeArgument,c.DiagnosticRule.reportMissingTypeArgument,d.Localizer.Diagnostic.typeArgsMissingForAlias().format({name:t.typeAliasInfo.name}),e),t=G.TypeBase.cloneForTypeAlias((0,Y.applySolvedTypeVars)(t,new V.TypeVarContext(t.typeAliasInfo.typeVarScopeId),!0),t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,t.typeAliasInfo.typeParameters.map((e=>G.UnknownType.create()))))),t}function Tt(e){let t="";return(10===e.nodeType||28===e.nodeType)&&(t=e.name.value),`${f.getFileInfo(e).filePath}.${e.start.toString()}-${t}`}function Bt(e){const t=[];let n=e;for(;n&&(n=S.getTypeVarScopeNode(n),n);)t.push(Tt(n)),n=n.parent;return t}function vt(e,t,i,s){var r;let o=t.type;const a=e.memberName.value;let A=new l.DiagnosticAddendum;const p=f.getFileInfo(e);let u,h,C=!!t.isIncomplete;if(t.isIncomplete&&(0,G.isUnbound)(t.type))return{type:G.UnknownType.create(!0),isIncomplete:!0};(0,G.isUnion)(o)&&G.TypeBase.isSpecialForm(o)&&ee&&(o=ee);const m=t=>{if($&&(0,G.isInstantiableClass)($))return G.TypeBase.isInstance(t)?Ve(e.memberName,$,a,i,A):ze(e.memberName,$,a,i,A)};switch((0,G.isParamSpec)(o)&&o.paramSpecAccess&&(o=dt(o)),o.category){case 2:case 1:case 4:u=o;break;case 10:if(o.details.isParamSpec){if("args"===a){const t=S.getEnclosingParameter(e);return t&&1===t.category?{type:G.TypeVarType.cloneForParamSpecAccess(o,"args"),isIncomplete:C}:(ot(d.Localizer.Diagnostic.paramSpecArgsUsage(),e),{type:G.UnknownType.create(C),isIncomplete:C})}if("kwargs"===a){const t=S.getEnclosingParameter(e);return t&&2===t.category?{type:G.TypeVarType.cloneForParamSpecAccess(o,"kwargs"),isIncomplete:C}:(ot(d.Localizer.Diagnostic.paramSpecKwargsUsage(),e),{type:G.UnknownType.create(C),isIncomplete:C})}return C||lt(p.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.paramSpecUnknownMember().format({name:a}),e),{type:G.UnknownType.create(C),isIncomplete:C}}return 64&s?(C||lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeVarNoMember().format({type:Li(o),name:a}),e.leftExpression),{type:G.UnknownType.create(C),isIncomplete:C}):o.details.recursiveTypeAliasName?{type:G.UnknownType.create(!0),isIncomplete:!0}:vt(e,{type:dt(o),bindToType:o,isIncomplete:C},i,0);case 7:if(G.TypeBase.isInstantiable(o)){const n=ze(e.memberName,o,a,i,A,0,t.bindToType);u=null==n?void 0:n.type,(null==n?void 0:n.isIncomplete)&&(C=!0),(null==n?void 0:n.isAsymmetricDescriptor)&&(h=!0)}else{const n=(0,_.getTypeOfEnumMember)(Ki,e,o,a,C);if(n)return n;const s=Ve(e.memberName,o,a,i,A,void 0,t.bindToType);s&&(u=(0,Y.addConditionToType)(s.type,(0,Y.getTypeCondition)(o))),(null==s?void 0:s.isIncomplete)&&(C=!0),(null==s?void 0:s.isAsymmetricDescriptor)&&(h=!0)}break;case 8:{const t=G.ModuleType.getField(o,a);if(t&&!t.isExternallyHidden())"get"===i.method&&yt(f.getFileInfo(e),t,e.memberName),u=di(t,void 0,!0).type,(0,G.isTypeVar)(u)&&(u=It(e,u,s)),(0,G.isUnbound)(u)&&(u=G.UnknownType.create(!0)),t.isPrivateMember()&<(f.getFileInfo(e).diagnosticRuleSet.reportPrivateUsage,c.DiagnosticRule.reportPrivateUsage,d.Localizer.Diagnostic.privateUsedOutsideOfModule().format({name:a}),e.memberName),t.isPrivatePyTypedImport()&<(f.getFileInfo(e).diagnosticRuleSet.reportPrivateImportUsage,c.DiagnosticRule.reportPrivateImportUsage,d.Localizer.Diagnostic.privateImportFromPyTypedModule().format({name:a,module:o.moduleName}),e.memberName);else{if("get"===i.method){const e=G.ModuleType.getField(o,"__getattr__");if(e&&(p.executionEnvironment.pythonVersion>=g.PythonVersion.V3_7||e.getDeclarations().some((e=>e.path.toLowerCase().endsWith(".pyi"))))){const t=di(e);(0,G.isFunction)(t.type)&&(u=mi(t.type),t.isIncomplete&&(C=!0))}}u||(C||lt(p.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.moduleUnknownMember().format({name:a}),e.memberName),u=n.evaluateUnknownImportsAsAny?G.AnyType.create():G.UnknownType.create())}break}case 9:u=(0,Y.mapSubtypes)(o,(n=>{if((0,G.isNoneInstance)(n)){const t=m(n);return t?(u=(0,Y.addConditionToType)(t.type,(0,Y.getTypeCondition)(o)),t.isIncomplete&&(C=!0),u):void(C||lt(f.getFileInfo(e).diagnosticRuleSet.reportOptionalMemberAccess,c.DiagnosticRule.reportOptionalMemberAccess,d.Localizer.Diagnostic.noneUnknownMember().format({name:a}),e.memberName))}if(!(0,G.isUnbound)(n)){const s=vt(e,{type:n,isIncomplete:t.isIncomplete},i,0);return s.isIncomplete&&(C=!0),s.type}}));break;case 5:case 6:if("__defaults__"===a)u=G.AnyType.create();else if("__self__"===a){const e=(0,G.isFunction)(o)?o:o.overloads[0];void 0!==e.preBoundFlags&&0==(4&e.preBoundFlags)&&(u=e.boundToType)}else u=ne?vt(e,{type:ne},i,s).type:G.AnyType.create();break;case 3:{const e=m(o);e&&(u=(0,Y.addConditionToType)(e.type,(0,Y.getTypeCondition)(o)),e.isIncomplete&&(C=!0));break}default:A.addMessage(d.Localizer.DiagnosticAddendum.typeUnsupported().format({type:Li(o)}))}if(!u){const n=(0,G.isFunction)(o)||(0,G.isOverloadedFunction)(o)||(0,G.isClassInstance)(o)&&G.ClassType.isBuiltIn(o,"function");if(!t.isIncomplete){let t=d.Localizer.Diagnostic.memberAccess();"set"===i.method?t=d.Localizer.Diagnostic.memberSet():"del"===i.method&&(t=d.Localizer.Diagnostic.memberDelete()),i.setExpectedTypeDiag&&(A=i.setExpectedTypeDiag);const[s,r]=n?[p.diagnosticRuleSet.reportFunctionMemberAccess,c.DiagnosticRule.reportFunctionMemberAccess]:[p.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues];lt(s,r,t.format({name:a,type:Li(o)})+A.getString(),e.memberName)}u=n?G.AnyType.create():G.UnknownType.create()}if(0==(2&s)&&(0,G.isInstantiableClass)(u)&&!u.typeArguments&&(u=Zn(u,void 0,s,e)),"get"===i.method){let t=C;if((0,G.isInstantiableClass)(u)){const n=S.getParentNodeOfType(e,1);n&&9===(null===(r=null==n?void 0:n.parent)||void 0===r?void 0:r.nodeType)&&(t=!0)}t||gn(p.diagnosticRuleSet.reportUnknownMemberType,c.DiagnosticRule.reportUnknownMemberType,e.memberName,u,e,!1)}return{type:u,isIncomplete:C,isAsymmetricDescriptor:h}}function Qt(e,t,n,i,s,r,o,a){var l,c;let p=0;1&o&&(p|=8),2&o&&(p|=2),4&o&&(p|=4),256&o&&(p|=32),128&o&&(p|=1);let g=(0,Y.lookUpClassMember)(t,i,16|p);if(g||(g=(0,Y.lookUpClassMember)(t,i,p)),g){let A,p=!1;if(g.symbol.isInitVar())return void(null==r||r.addMessage(d.Localizer.DiagnosticAddendum.memberIsInitVar().format({name:i})));if("get"!==s.method){const n=S.getEnclosingClass(e);if(n){const e=null===(l=Qn(n))||void 0===l?void 0:l.classType;e&&(0,G.isInstantiableClass)(e)&&G.ClassType.isSameGenericClass(e,t)&&(A=null!==(c=hi(g.symbol))&&void 0!==c?c:G.UnknownType.create(),A&&(0,G.isInstantiableClass)(g.classType)&&(A=(0,Y.partiallySpecializeType)(A,g.classType)))}}if(!A){const e=function(e,t){if((0,G.isInstantiableClass)(e.classType)){const n=di(e.symbol);if(n)return Ci(n.type),{type:(0,Y.partiallySpecializeType)(n.type,e.classType,t),isIncomplete:!!n.isIncomplete}}}(g,a?void 0:t);e?(A=e.type,e.isIncomplete&&(p=!0)):A=G.UnknownType.create()}if(G.ClassType.isTypedDictClass(t)){const e=g.symbol.getTypedDeclarations();if(e.length>0&&1===e[0].type)return void(null==r||r.addMessage(d.Localizer.DiagnosticAddendum.memberUnknown().format({name:i})))}"get"===s.method&&(0,G.isInstantiableClass)(g.classType)&&G.ClassType.isSameGenericClass(g.classType,t)&&yt(f.getFileInfo(e),g.symbol,e);const u=function(e,t,n,i,s,r,o,a,A,l){const c=0!=(16&r);let p=!0,g=!1;if(e=(0,Y.mapSubtypes)(e,(e=>{var u;const h=dt(e),C=!t||t.isClassMember;if((0,G.isClass)(h)&&C){let e=h,c=!1;if(G.TypeBase.isInstantiable(h)&&(h.details.effectiveMetaclass&&(0,G.isInstantiableClass)(h.details.effectiveMetaclass)&&(s||"get"===A.method)?(e=(0,Y.convertToInstance)(h.details.effectiveMetaclass),c=!0):e=void 0),e){let C;C="get"===A.method?"__get__":"set"===A.method?"__set__":"__delete__";const m=(0,Y.lookUpClassMember)(e,C,8);if(G.ClassType.isPropertyClass(e))if("set"===A.method){if(!m)return null==l||l.addMessage(d.Localizer.DiagnosticAddendum.propertyMissingSetter().format({name:a})),void(p=!1)}else if("del"===A.method&&!m)return null==l||l.addMessage(d.Localizer.DiagnosticAddendum.propertyMissingDeleter().format({name:a})),void(p=!1);if(m){let a=Ii(m);const y=[{argumentCategory:0,typeResult:{type:G.ClassType.isClassProperty(e)?n:s?i||G.ClassType.cloneAsInstance(n):G.NoneType.createInstance()}}];if("get"===A.method?y.push({argumentCategory:0,typeResult:{type:n}}):"set"===A.method&&y.push({argumentCategory:0,typeResult:{type:null!==(u=A.setType)&&void 0!==u?u:G.UnknownType.create()}}),G.ClassType.isPropertyClass(e)&&t&&(0,G.isInstantiableClass)(t.classType)&&(Ci(a),a=(0,Y.partiallySpecializeType)(a,t.classType),0!=(1&r)&&G.ClassType.isProtocolClass(n)&&(null==l||l.addMessage(d.Localizer.DiagnosticAddendum.propertyAccessFromProtocolClass()),p=!1)),a&&((0,G.isFunction)(a)||(0,G.isOverloadedFunction)(a))){const i=a,s=oi(o,(()=>{var s;let r;G.ClassType.isPropertyClass(h)&&!c?t&&(0,G.isInstantiableClass)(t.classType)&&(r=t.classType):(0,G.isInstantiableClass)(m.classType)&&(r=m.classType);let a=xi(e,i,r,o,void 0,void 0,c?h:void 0);if(a&&((0,G.isFunction)(a)||(0,G.isOverloadedFunction)(a))){const e=new V.TypeVarContext((0,Y.getTypeVarScopeId)(a));if(r){const e=(0,Y.partiallySpecializeType)(a,r,n);e&&((0,G.isFunction)(e)||(0,G.isOverloadedFunction)(e))&&(a=e)}const t=zt(o,y,{type:a},e,!0);if(t.argumentErrors){if("set"===A.method)if(A.setType&&(0,G.isFunction)(a)&&a.details.parameters.length>=2){const e=G.FunctionType.getEffectiveParameterType(a,1);null==l||l.addMessage(d.Localizer.DiagnosticAddendum.typeIncompatible().format({destType:Li(e),sourceType:Li(A.setType)}))}else(0,G.isOverloadedFunction)(a)&&(null==l||l.addMessage(d.Localizer.Diagnostic.noOverload().format({name:C})));return p=!1,G.AnyType.create()}return"get"===A.method?null!==(s=t.returnType)&&void 0!==s?s:G.UnknownType.create():G.AnyType.create()}}));if("set"===A.method&&(0,G.isClass)(m.classType)&&function(e){var t;if(void 0!==e.isAsymmetricDescriptor)return e.isAsymmetricDescriptor;let n=!1;const i=(0,Y.lookUpClassMember)(e,"__get__",2),s=(0,Y.lookUpClassMember)(e,"__set__",2);if(i&&s){const e=ui(i.symbol),r=ui(s.symbol);if((0,G.isFunction)(e)&&(0,G.isFunction)(r)&&r.details.parameters.length>=3&&e.details.declaredReturnType){const i=G.FunctionType.getEffectiveParameterType(r,2),s=null!==(t=G.FunctionType.getSpecializedReturnType(e))&&void 0!==t?t:G.UnknownType.create();(0,G.isTypeSame)(i,s)||(n=!0)}}else n=!1;return e.isAsymmetricDescriptor=n,n}(m.classType)&&(g=!0),s)return s}}}}else if((0,G.isFunction)(h)||(0,G.isOverloadedFunction)(h)){if("set"===A.method){let e=!1;if((0,G.isFunction)(h))e=G.FunctionType.isFinal(h);else{const t=G.OverloadedFunctionType.getImplementation(h);t&&(e=G.FunctionType.isFinal(t))}if(e&&t&&(0,G.isClass)(t.classType))return null==l||l.addMessage(d.Localizer.Diagnostic.finalMethodOverride().format({name:a,className:t.classType.details.name})),void(p=!1)}if(!s||t&&!t.isInstanceMember)return xi(s?G.ClassType.cloneAsInstance(n):n,h,t&&(0,G.isInstantiableClass)(t.classType)?t.classType:void 0,o,void 0,c,i)}if("set"===A.method){if((null==t?void 0:t.symbol.isClassVar())&&8&r)return null==l||l.addMessage(d.Localizer.DiagnosticAddendum.memberSetClassVar().format({name:a})),void(p=!1);const e=null==t?void 0:t.symbol.getDeclarations().find((e=>(0,Q.isFinalVariableDeclaration)(e)));if(e&&!S.isNodeContainedWithin(o,e.node)){const e=S.getEnclosingFunction(o);if(!e||"__init__"!==e.name.value)return null==l||l.addMessage(d.Localizer.Diagnostic.finalReassigned().format({name:a})),void(p=!1)}if((null==t?void 0:t.isInstanceMember)&&(0,G.isClass)(t.classType)&&G.ClassType.isReadOnlyInstanceVariables(t.classType))return null==l||l.addMessage(d.Localizer.DiagnosticAddendum.readOnlyAttribute().format({name:a})),void(p=!1);let n=!1;if((t&&t.symbol.hasTypedDeclarations()||t&&!t.symbol.getDeclarations().some((e=>e.node===o)))&&(n=!0),n){let e=h;return s&&!t.isInstanceMember&&(0,G.isFunction)(h)&&(G.FunctionType.isClassMethod(h)||G.FunctionType.isInstanceMethod(h))&&(e=G.FunctionType.clone(h,!0)),e}}return e})),p)return{type:e,isAsymmetricDescriptor:g}}(A,g,t,a,n,o,e,i,s,r);if(!u)return;if(A=u.type,"set"===s.method&&s.setType){if(!Qi(A,s.setType,null==r?void 0:r.createAddendum()))return void(null==r||r.addMessage(d.Localizer.DiagnosticAddendum.memberAssignment().format({type:Li(s.setType),name:i,classType:Mi(t)})));if((0,G.isInstantiableClass)(g.classType)&&G.ClassType.isFrozenDataClass(g.classType)&&n)return void(null==r||r.addMessage(d.Localizer.DiagnosticAddendum.dataClassFrozen().format({name:Li(G.ClassType.cloneAsInstance(g.classType))})))}return{symbol:g.symbol,type:A,isTypeIncomplete:p,isClassMember:!g.isInstanceMember,isClassVar:g.isClassVar,classType:g.classType,isAsymmetricDescriptor:u.isAsymmetricDescriptor}}if(0==(65&o)){const n=function(e,t,n,i){var s,r,o;const a=n=>{var i;return null===(i=ze(t,e,n,{method:"get"},void 0,68))||void 0===i?void 0:i.type};let l;if("get"===n.method?l=null!==(s=a("__getattribute__"))&&void 0!==s?s:a("__getattr__"):"set"===n.method?l=a("__setattr__"):((0,A.assert)("del"===n.method),l=a("__delattr__")),l){let s=G.AnyType.create();oe&&(0,G.isInstantiableClass)(oe)&&(s=G.ClassType.cloneWithLiteral(G.ClassType.cloneAsInstance(oe),i));const a=[{argumentCategory:0,typeResult:{type:G.ClassType.cloneAsInstance(e)}},{argumentCategory:0,typeResult:{type:s}}];if("set"===n.method&&a.push({argumentCategory:0,typeResult:{type:null!==(r=n.setType)&&void 0!==r?r:G.UnknownType.create()}}),(0,G.isFunction)(l)||(0,G.isOverloadedFunction)(l)){const n=xi(e,l,e,t);if(n&&((0,G.isFunction)(n)||(0,G.isOverloadedFunction)(n))){const e=new V.TypeVarContext((0,Y.getTypeVarScopeId)(n));return null!==(o=zt(t,a,{type:n},e,!0).returnType)&&void 0!==o?o:G.UnknownType.create()}}}}(t,e,s,i);if(n)return{symbol:void 0,type:n,isTypeIncomplete:!1,isClassMember:!1,isClassVar:!1,isAsymmetricDescriptor:!1}}null==r||r.addMessage(d.Localizer.DiagnosticAddendum.memberUnknown().format({name:i}))}function _t(e,t,n){const i=t.findIndex((e=>(0,G.isVariadicTypeVar)(e)));if(i>=0&&ie&&(0,G.isInstantiableClass)(ie))if(i{hn(e,{allowEmptyTuple:0===t,allowVariadicTypeVar:!0,allowUnpackedTuples:!0})}));const s=[];1===n.length&&n[0].isEmptyTupleShorthand||n.forEach((e=>{(0,G.isUnpackedClass)(e.type)&&e.type.tupleTypeArguments?(0,a.appendArray)(s,e.type.tupleTypeArguments):s.push({type:(0,Y.convertToInstance)(e.type),isUnbounded:!1})}));const r=(0,Y.convertToInstance)((0,Y.specializeTupleClass)(ie,s,!0,!0));e=[...e.slice(0,i),{node:e[i].node,type:r},...e.slice(i+1+e.length-t.length,e.length)]}}else e.push({node:n,type:(0,Y.convertToInstance)((0,Y.specializeTupleClass)(ie,[],!0,!0))});return e}function wt(e,t){return!!e.isVariadicUnpacked||(ot(d.Localizer.Diagnostic.unpackedTypeVarTupleExpected().format({name1:e.details.name,name2:e.details.name}),t),!1)}function Dt(e,t,n,i){const s=function(e,t,n){var i,s;if(!(null===(i=t.typeAliasInfo)||void 0===i?void 0:i.typeParameters)||0===t.typeAliasInfo.typeParameters.length&&t.typeAliasInfo.typeArguments)return;if(!G.TypeBase.isInstantiable(t))return;if(t.typeAliasInfo.typeArguments)return;const r=t.typeAliasInfo.typeParameters;let o=_t(kt(e,n),r,e);if(1===r.length&&r[0].details.isParamSpec&&o&&o.every((e=>!(0,Y.isEllipsisType)(e.type)&&!e.typeList&&!(0,G.isParamSpec)(e.type)))&&(o=[{type:G.UnknownType.create(),node:o[0].node,typeList:o}]),o.length>r.length&&!r.some((e=>e.details.isVariadic))&&ot(d.Localizer.Diagnostic.typeArgsTooMany().format({name:Li(t),expected:r.length,received:o.length}),o[r.length].node),(0,G.isInstantiableClass)(t)&&"mypy_extensions.FlexibleAlias"===t.details.fullName&&o.length>=1)return{node:e,type:o[0].type};const a=new V.TypeVarContext(t.typeAliasInfo.typeVarScopeId),A=new l.DiagnosticAddendum;r.forEach(((e,t)=>{if(e.details.isParamSpec&&t{G.FunctionType.addParameter(n,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:(0,Y.convertToInstance)(e.type),hasDeclaredType:!0})})),(0,T.assignTypeToTypeVar)(Ki,e,n,A,a,128)}else if((0,G.isParamSpec)(n))(0,T.assignTypeToTypeVar)(Ki,e,(0,Y.convertToInstance)(n),A,a,128);else if((0,G.isInstantiableClass)(n)&&G.ClassType.isBuiltIn(n,"Concatenate")){const t=n.typeArguments,i=G.FunctionType.createInstance("","","",0);t&&t.length>0&&t.forEach(((e,n)=>{n===t.length-1?(G.FunctionType.addParameter(i,{category:0,isNameSynthesized:!1,type:G.UnknownType.create()}),(0,G.isParamSpec)(e)&&(i.details.paramSpec=e)):G.FunctionType.addParameter(i,{category:0,name:`__p${n}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})})),(0,T.assignTypeToTypeVar)(Ki,e,i,A,a,128)}else if((0,Y.isEllipsisType)(n)){const t=G.FunctionType.createInstantiable(98304);G.TypeBase.setSpecialForm(t),G.FunctionType.addDefaultParameters(t),(0,T.assignTypeToTypeVar)(Ki,e,t,A,a)}else ot(d.Localizer.Diagnostic.typeArgListExpected(),o[t].node)}else{t{let t;if((0,G.isParamSpec)(e)){const n=a.getParamSpec(e);t=n?(0,Y.convertParamSpecValueToType)(n):G.UnknownType.create()}else t=a.getTypeVarType(e);c.push(t||G.UnknownType.create())})),{type:G.TypeBase.cloneForTypeAlias((0,Y.applySolvedTypeVars)(t,a),t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,c),node:e}}(e,t.type,i);if(s)return s;if((0,Y.isTypeAliasPlaceholder)(t.type)){const n=kt(e,i).map((e=>(0,Y.convertToInstance)(e.type)));return{type:G.TypeBase.cloneForTypeAlias(t.type,t.type.details.recursiveTypeAliasName,"",t.type.details.recursiveTypeAliasScopeId,t.type.details.recursiveTypeParameters,n)}}let r=t.isIncomplete;const o=ht(t.type,void 0,((t,s)=>{var o;if((0,G.isAnyOrUnknown)(t))return t;if(64&i&&(0,G.isTypeVar)(s))return lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeVarNotSubscriptable().format({type:Li(s)}),e.baseExpression),kt(e,i,!1,!1),G.UnknownType.create();if((0,G.isInstantiableClass)(t)){if(t.details.effectiveMetaclass&&(0,G.isInstantiableClass)(t.details.effectiveMetaclass)&&!G.ClassType.isBuiltIn(t.details.effectiveMetaclass,"type")&&ze(e,t,bt(n),void 0,void 0,96))return Ft(e,t,n).type;if("set"===n.method?lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.genericClassAssigned(),e.baseExpression):"del"===n.method&<(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.genericClassDeleted(),e.baseExpression),G.ClassType.isSpecialBuiltIn(t,"Literal"))return function(e,t){if(0===e.items.length)return ot(d.Localizer.Diagnostic.literalEmptyArgs(),e.baseExpression),G.UnknownType.create();const n=[];for(const t of e.items){let i;const s=t.valueExpression;if(0!==t.argumentCategory)ot(d.Localizer.Diagnostic.unpackedArgInTypeArgument(),s),i=G.UnknownType.create();else if(t.name)ot(d.Localizer.Diagnostic.keywordArgInTypeArgument(),s),i=G.UnknownType.create();else if(48===s.nodeType){i=mn(e,0!=(32&s.strings[0].token.flags)?"bytes":"str",s.strings.map((e=>e.value)).join(""))}else 40===s.nodeType?!s.isImaginary&&s.isInteger&&(i=mn(e,"int",s.value)):11===s.nodeType?33===s.constType?i=mn(e,"bool",!0):15===s.constType?i=mn(e,"bool",!1):26===s.constType&&(i=G.NoneType.createType()):55===s.nodeType&&33===s.operator&&40===s.expression.nodeType&&!s.expression.isImaginary&&s.expression.isInteger&&(i=mn(e,"int",-s.expression.value));if(!i){const e=Pe(s);if((0,G.isClassInstance)(e.type)&&G.ClassType.isEnumClass(e.type)&&void 0!==e.type.literalValue)i=G.ClassType.cloneAsInstantiable(e.type);else{let t=!0;(0,Y.doForEachSubtype)(e.type,(e=>{(0,G.isInstantiableClass)(e)&&void 0!==e.literalValue||(t=!1)})),t&&(i=e.type)}}i||(ot(d.Localizer.Diagnostic.literalUnsupportedType(),t),i=G.UnknownType.create()),n.push(i)}return(0,G.combineTypes)(n)}(e);if(G.ClassType.isBuiltIn(t,"InitVar")){const t=kt(e,i);return 1===t.length?t[0].type:(ot(d.Localizer.Diagnostic.typeArgsMismatchOne().format({received:t.length}),e.baseExpression),G.UnknownType.create())}if(G.ClassType.isEnumClass(t))return G.ClassType.cloneAsInstance(t);const s=(0,G.isInstantiableClass)(t)&&G.ClassType.isBuiltIn(t,"Annotated"),r=(0,G.isInstantiableClass)(t)&&G.ClassType.hasCustomClassGetItem(t),a=(null===(o=t.details.typeParameters)||void 0===o?void 0:o.length)>0||G.ClassType.isSpecialBuiltIn(t)||G.ClassType.isBuiltIn(t,"type")||G.ClassType.isPartiallyEvaluated(t),A=(0,G.isInstantiableClass)(t)&&G.ClassType.isBuiltIn(t,"Final"),l=(0,G.isInstantiableClass)(t)&&G.ClassType.isBuiltIn(t,"ClassVar");let p=kt(e,i,s,r||!a,A,l);return s||(p=_t(p,t.details.typeParameters,e)),r?t:t.typeArguments?(lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.classAlreadySpecialized().format({type:Li((0,Y.convertToInstance)(t),!0)}),e.baseExpression),t):Zn(t,p,i,e)}if((0,G.isClassInstance)(t)){const i=Ft(e,t,n);return i.isIncomplete&&(r=!0),i.type}return(0,G.isNever)(t)?G.UnknownType.create():(0,G.isNoneInstance)(t)&&!r?(lt(f.getFileInfo(e).diagnosticRuleSet.reportOptionalSubscript,c.DiagnosticRule.reportOptionalSubscript,d.Localizer.Diagnostic.noneNotSubscriptable(),e.baseExpression),G.UnknownType.create()):((0,G.isUnbound)(t)||r||lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeNotSubscriptable().format({type:Li(t)}),e.baseExpression),G.UnknownType.create())}));return t.isIncomplete||e.items.forEach((e=>{Ie(e.valueExpression)||Pe(e.valueExpression,4&i)})),{type:o,isIncomplete:r}}function St(e,t=!1){return ie&&(0,G.isInstantiableClass)(ie)?(0,Y.convertToInstance)((0,Y.specializeTupleClass)(ie,e.map((e=>({type:e,isUnbounded:t}))))):G.UnknownType.create()}function bt(e){return"get"===e.method?"__getitem__":"set"===e.method?"__setitem__":((0,A.assert)("del"===e.method),"__delitem__")}function Ft(e,t,n){var i,s,r;if((0,G.isClassInstance)(t)&&G.ClassType.isTypedDictClass(t)){const i=(0,K.getTypeOfIndexedTypedDict)(Ki,e,t,n);if(i)return i}const o=bt(n),a=(0,G.isClassInstance)(t)?null===(i=Ve(e,t,o,void 0,void 0,64))||void 0===i?void 0:i.type:null===(s=ze(e,t,o,void 0,void 0,96))||void 0===s?void 0:s.type;if(!a)return lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.methodNotDefinedOnType().format({name:o,type:Li(t)}),e.baseExpression),{type:G.UnknownType.create()};if(1===e.items.length&&!e.trailingComma&&!e.items[0].name&&0===e.items[0].argumentCategory&&(0,G.isClassInstance)(t)){const n=e.items[0].valueExpression,i=Pe(n).type;if((0,G.isClassInstance)(i)&&G.ClassType.isBuiltIn(i,"int")&&(0,Y.isLiteralType)(i)&&"number"==typeof i.literalValue){const e=i.literalValue,n=(0,Y.getSpecializedTupleType)(t);if(n&&n.tupleTypeArguments&&!(0,Y.isUnboundedTupleClass)(n)){if(e>=0&&e=0)return{type:n.tupleTypeArguments[n.tupleTypeArguments.length+e].type}}}else if((0,G.isClassInstance)(i)&&G.ClassType.isBuiltIn(i,"slice")){const e=(0,Y.getSpecializedTupleType)(t);if(e&&e.tupleTypeArguments&&!(0,Y.isUnboundedTupleClass)(e)&&46===n.nodeType&&!n.stepValue){const t=(t,n)=>{let i=n;if(t){const n=Pe(t).type;(0,G.isClassInstance)(n)&&G.ClassType.isBuiltIn(n,"int")&&(0,Y.isLiteralType)(n)&&"number"==typeof n.literalValue?(i=n.literalValue,i<0&&(i=e.tupleTypeArguments.length+i)):i=-1}return i},i=t(n.startValue,0),s=t(n.endValue,e.tupleTypeArguments.length);if(i>=0&&s>0&&s<=e.tupleTypeArguments.length&&ie&&(0,G.isInstantiableClass)(ie))return{type:G.ClassType.cloneAsInstance((0,Y.specializeTupleClass)(ie,e.tupleTypeArguments.slice(i,s)))}}}}const A=e.items.filter((e=>0===e.argumentCategory&&!e.name)),l=e.items.filter((e=>1===e.argumentCategory)),p=e.items.filter((e=>0===e.argumentCategory&&!!e.name)),g=e.items.filter((e=>2===e.argumentCategory));let u,h=!1;if(1!==A.length||0!==l.length||e.trailingComma)if(0===A.length&&0===l.length)u=ie&&(0,G.isInstantiableClass)(ie)?(0,Y.convertToInstance)((0,Y.specializeTupleClass)(ie,[])):G.UnknownType.create();else{const e=[];A.forEach((t=>{const n=Pe(t.valueExpression);e.push(n.type),n.isIncomplete&&(h=!0)})),l.forEach((t=>{const n=Pe(t.valueExpression),i=n.type;n.isIncomplete&&(h=!0);const s=We(i,!1,t.valueExpression)||G.UnknownType.create();e.push(s)})),u=St(e,l.length>0)}else{const e=Pe(A[0].valueExpression);u=e.type,e.isIncomplete&&(h=!0)}let C,m=[{argumentCategory:0,typeResult:{type:u,isIncomplete:h}}];if("set"===n.method){let e=n.setType||G.AnyType.create();(0,G.isTypeVar)(e)&&e.details.constraints.length>0&&(e=dt(e,(0,G.isClassInstance)(t)?t.condition:void 0)),m.push({argumentCategory:0,typeResult:{type:e,isIncomplete:h}})}return p.forEach((e=>{m.push({argumentCategory:0,valueExpression:e.valueExpression,node:e,name:e.name})})),g.forEach((e=>{m.push({argumentCategory:2,valueExpression:e.valueExpression,node:e})})),0===p.length&&0===g.length&&1===A.length&&ai(e,(()=>{if(C=zt(e,m,{type:a}),C.argumentErrors&&(0,G.isClassInstance)(u)){const t=[...m];if(t[0]={...t[0]},Ve(e,u,"__index__")){const n=si(e,"int");(0,G.isClassInstance)(n)&&(t[0].typeResult={type:n})}C=zt(e,t,{type:a}),C.argumentErrors||(m=t)}})),C=zt(e,m,{type:a}),{type:null!==(r=C.returnType)&&void 0!==r?r:G.UnknownType.create(),isIncomplete:!!C.isTypeIncomplete}}function kt(e,t,n=!1,i=!1,s=!1,r=!1){const o=[];let a=t;s||r?a|=131088:(a&=-1048739,n||(a|=131088),a|=2097152);const A=(e,t)=>{let s;return s=i||n&&t>0?{...Pe(e,131234),node:e}:function(e,t){let n,i=73|t;return f.getFileInfo(e).isStubFile&&(i|=4),31===e.nodeType?(n={type:G.UnknownType.create(),typeList:e.entries.map((e=>({...Pe(e,i),node:e}))),node:e},ve(e,G.UnknownType.create())):(n={...Pe(e,i),node:e},(0,G.isClass)(n.type)&&G.ClassType.isBuiltIn(n.type,"Protocol")&&ot(d.Localizer.Diagnostic.protocolNotAllowedInTypeArgument(),e),0!=(131072&t)&&(0,G.isClass)(n.type)&&G.ClassType.isBuiltIn(n.type,"ClassVar")&&ot(d.Localizer.Diagnostic.classVarNotAllowed(),e)),n}(e,a),s};return 1===e.items.length&&!e.trailingComma&&!e.items[0].name&&52===e.items[0].valueExpression.nodeType&&e.items[0].valueExpression.expressions.length>0?(e.items[0].valueExpression.expressions.forEach(((e,t)=>{o.push(A(e,t))})),ve(e.items[0].valueExpression,G.UnknownType.create())):e.items.forEach(((e,t)=>{const n=A(e.valueExpression,t);0!==e.argumentCategory&&1===e.argumentCategory&&((0,G.isVariadicTypeVar)(n.type)&&!n.type.isVariadicUnpacked?n.type=G.TypeVarType.cloneForUnpacked(n.type):(0,G.isInstantiableClass)(n.type)&&!n.type.includeSubclasses&&(0,Y.isTupleClass)(n.type)&&(n.type=G.ClassType.cloneForUnpacked(n.type))),e.name&&ot(d.Localizer.Diagnostic.keywordArgInTypeArgument(),e.valueExpression),o.push(n)})),o}function Nt(e,t){if(t=(0,Y.transformPossibleRecursiveTypeAlias)(t),!(0,G.isClassInstance)(t))return;if(!ie||!(0,G.isInstantiableClass)(ie))return;let n=[];if((0,Y.isTupleClass)(t)&&t.tupleTypeArguments){n=t.tupleTypeArguments.map((e=>(0,Y.transformPossibleRecursiveTypeAlias)(e.type)));const i=t.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(i>=0)if(n.length>e.expressions.length)n.splice(i,1);else for(;n.lengthPe(e,void 0,te.isUnbounded)).length>1){const e=t.findIndex((e=>e.isUnbounded)),n=t.splice(e);t.push({type:(0,G.combineTypes)(n.map((e=>e.type))),isUnbounded:!0})}return t}function xt(e,t){let n,i,s,r,o;if(e.arguments.forEach(((e,t)=>{if(0===t)0!==e.argumentCategory||e.name||(n=e.valueExpression);else if(0===e.argumentCategory&&e.name)if("expected_text"===e.name.value){r=e.valueExpression;const t=Pe(e.valueExpression).type;(0,G.isClassInstance)(t)&&G.ClassType.isBuiltIn(t,"str")&&"string"==typeof t.literalValue?o=t.literalValue:ot(d.Localizer.Diagnostic.revealTypeExpectedTextArg(),e.valueExpression)}else"expected_type"===e.name.value&&(i=e.valueExpression,s=(0,Y.convertToInstance)(ti(e).type));else n=void 0})),!n)return ot(d.Localizer.Diagnostic.revealTypeArgs(),e),{type:G.UnknownType.create()};const a=Pe(n,void 0,t),A=a.type,l=S.printExpression(n),c=Li(A,!0);if(void 0!==o&&o!==c&&ot(d.Localizer.Diagnostic.revealTypeExpectedTextMismatch().format({expected:o,received:c}),null!=r?r:n),s&&!(0,G.isTypeSame)(s,A)){const e=Li(s);ot(d.Localizer.Diagnostic.revealTypeExpectedTypeMismatch().format({expected:e,received:c}),null!=i?i:n)}return rt(d.Localizer.DiagnosticAddendum.typeOfSymbol().format({name:l,type:c}),e.arguments[0]),{type:A,isIncomplete:a.isIncomplete}}function Rt(e,t,n,i,s,r){var o;const a=[],A=[];let l=!1;for(let s=0;svoid 0!==e));for(let t=0;t{if(!p[t])return e;const n={...e};return n.argType=p[t],n})));const d=A.length>0?A[A.length-1].typeVarContext.clone():i,h=null!==(o=null==d?void 0:d.clone())&&void 0!==o?o:new V.TypeVarContext((0,Y.getTypeVarScopeId)(s));h.addSolveForScope((0,Y.getTypeVarScopeId)(s)),h.unlock();const C=ai(e,(()=>jt(e,u,h,!0,r)));if(C.isTypeIncomplete&&(l=!0),!C.argumentErrors&&C.returnType){c=s,A.push({overload:c,matchResults:u,typeVarContext:h}),a.push(C.returnType);break}}if(!c)return{argumentErrors:!0,isTypeIncomplete:l}}i&&i.copyFromClone(A[A.length-1].typeVarContext);const c=null!=i?i:A[0].typeVarContext;c.unlock(),c.addSolveForScope((0,Y.getTypeVarScopeId)(A[0].overload));const p=jt(e,A[0].matchResults,c,s,r);return p.isTypeIncomplete&&(l=!0),{argumentErrors:!1,returnType:(0,G.combineTypes)(a),isTypeIncomplete:l,specializedInitSelfType:p.specializedInitSelfType}}function Mt(e,t,n){let i,s=0,r=[];return G.OverloadedFunctionType.getOverloads(t).forEach((t=>{ai(e,(()=>{const i=Jt(e,n,t,s);i.argumentErrors||r.push(i),s++}))})),r=Lt(r),r.forEach(((t,n)=>{void 0===i&&ai(e,(()=>{const s=qt(e,t,new V.TypeVarContext((0,Y.getTypeVarScopeId)(t.overload)),!0);s&&!s.argumentErrors&&(i=n)}))})),void 0===i?void 0:r[i].overload}function Lt(e){return e.sort(((e,t)=>e.relevance!==t.relevance?t.relevance-e.relevance:e.overloadIndex-t.overloadIndex))}function Kt(e,t,n,i,s,r){let o,a=[];if(ai(e,(()=>{let i=0;G.OverloadedFunctionType.getOverloads(n).forEach((n=>{const s=Jt(e,t,n,i);s.argumentErrors||a.push(s),i++}))})),a=Lt(a),0===a.length){if(!At(e)){const i=n.overloads[0].details.name||"",s=new l.DiagnosticAddendum,r=t.map((e=>Li(ei(e).type)));s.addMessage(d.Localizer.DiagnosticAddendum.argumentTypes().format({types:r.join(", ")})),lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.noOverload().format({name:i})+s.getString(),e)}return{argumentErrors:!0,isTypeIncomplete:!1}}const A=t=>{const n=a.reduce(((e,t)=>t.overloadIndex>e.overloadIndex?t:e)),s=null!=i?i:new V.TypeVarContext;return s.addSolveForScope((0,Y.getTypeVarScopeId)(n.overload)),s.unlock(),jt(e,n,s,t,r)};if(1===a.length)return A(!1);let p=[t.map((e=>{}))],g=!1;for(;;){const n=Rt(e,p,a,i,s,r);if(n.isTypeIncomplete&&(g=!0),!n.argumentErrors)return n;if(o||ai(e,(()=>{o=t.map((e=>{if(e.typeResult)return e.typeResult.type;if(e.valueExpression){const t=e.valueExpression;return ai(t,(()=>Pe(t).type))}return G.AnyType.create()}))})),p=Ot(o,p),!p||p.length>64)break}if(!At(e)&&!g){const e=A(!0);return e.returnType=G.UnknownType.create(),e}return{argumentErrors:!0,isTypeIncomplete:!1}}function Ot(e,t){let n,i=e.length-1;for(;i>=0&&!t[0][i];)i--;if(i++,i>=e.length)return;for(;i1){n=dt(t);break}i++}if(!n)return;const s=[];return t.forEach((e=>{(0,Y.doForEachSubtype)(n,(t=>{const n=[...e];n[i]=t,s.push(n)}))})),s}function Ut(e,t,n,i,s){var r;let o,a=!1,A=!1,l=!1,p=!1;const g=e=>(0,G.isFunction)(e)&&G.FunctionType.isSkipConstructorCheck(e),u=null===(r=Ve(e,G.ClassType.cloneAsInstance(n),"__init__",{method:"get"},void 0,68))||void 0===r?void 0:r.type;if(u&&!g(u)){if(s){const r=Gt(e,t,n,i,s,u);r&&(o=r.returnType,r.isTypeIncomplete&&(l=!0))}if(!o){const s=n.typeArguments?(0,Y.buildTypeVarContextFromSpecializedClass)(n,!1):new V.TypeVarContext((0,Y.getTypeVarScopeId)(n));s.addSolveForScope((0,Y.getTypeVarScopeId)(u));const r=zt(e,t,{type:u},s,i);if(r.argumentErrors)A=!0;else{let e=n;r.specializedInitSelfType&&(0,G.isClassInstance)(r.specializedInitSelfType)&&G.ClassType.isSameGenericClass(r.specializedInitSelfType,n)&&(e=G.ClassType.cloneAsInstantiable(r.specializedInitSelfType)),o=Vt(e,void 0,s),r.isTypeIncomplete&&(l=!0)}}a=!0,i=!0}if(!A){const r=n.details.effectiveMetaclass;let c;if(r&&(0,G.isInstantiableClass)(r)&&!G.ClassType.isSameGenericClass(r,n)&&(c=Qt(e,r,!0,"__call__",{method:"get"},void 0,352,n),c&&(p=!0)),c||(c=Qt(e,n,!1,"__new__",{method:"get"},void 0,21,n)),c&&!g(c.type)){const r=c.type;if(s&&!o){const a=Gt(e,t,n,i,s,r);a&&(o=a.returnType,a.isTypeIncomplete&&(l=!0))}const p=new V.TypeVarContext((0,Y.getTypeVarScopeId)(n));n.typeAliasInfo&&p.addSolveForScope(n.typeAliasInfo.typeVarScopeId),p.addSolveForScope((0,Y.getTypeVarScopeId)(r));const g=zt(e,t,c,p,i);if(g.argumentErrors)A=!0;else{let e=g.returnType;g.isTypeIncomplete&&(l=!0),e&&((0,G.isClassInstance)(e)&&G.ClassType.isSameGenericClass(e,n)?((0,Y.isPartlyUnknown)(e)||(0,Y.requiresSpecialization)(e))&&void 0!==o||((0,G.isClassInstance)(e)&&G.ClassType.isTupleClass(e)&&!e.tupleTypeArguments&&e.typeArguments&&1===e.typeArguments.length&&(e=(0,Y.specializeTupleClass)(e,[{type:e.typeArguments[0],isUnbounded:!0}])),o=e):o||(0,G.isUnknown)(e)||(o=e))}o?(0,G.isClassInstance)(o)&&(0,Y.isTupleClass)(o)&&!o.tupleTypeArguments&&(o=function(e,t){let n=e;return t&&(0,G.isClassInstance)(t)&&(0,Y.isTupleClass)(t)&&t.tupleTypeArguments&&(n=(0,Y.specializeTupleClass)(e,t.tupleTypeArguments)),n}(o,s)):o=Vt(n,s,p),a=!0}}if(a||t.forEach((e=>{e.valueExpression&&!H.isSpeculative(e.valueExpression)&&Pe(e.valueExpression)})),!a&&t.length>0&&(n.details.effectiveMetaclass&&(0,G.isInstantiableClass)(n.details.effectiveMetaclass)&&!G.ClassType.isBuiltIn(n.details.effectiveMetaclass)||p||lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.constructorNoArgs().format({type:n.aliasName||n.details.name}),e)),!o)if(!s&&n.typeArguments)o=(0,Y.convertToInstance)(n);else{const t=new V.TypeVarContext((0,Y.getTypeVarScopeId)(n));s&&(0,T.populateTypeVarContextBasedOnExpectedType)(Ki,G.ClassType.cloneAsInstance(n),s,t,Bt(e)),o=Vt(n,s,t)}if(!A){const i=(0,B.applyConstructorTransform)(Ki,e,t,n,{argumentErrors:A,returnType:o,isTypeIncomplete:l});o=i.returnType,i.isTypeIncomplete&&(l=!0),i.argumentErrors&&(A=!0)}return{argumentErrors:A,returnType:o,isTypeIncomplete:l}}function Gt(e,t,n,i,s,r){let o=!1,a=!1;const A=(0,Y.mapSubtypes)(s,(s=>{s=(0,Y.transformPossibleRecursiveTypeAlias)(s);const A=new V.TypeVarContext((0,Y.getTypeVarScopeId)(n));if((0,T.populateTypeVarContextBasedOnExpectedType)(Ki,G.ClassType.cloneAsInstance(n),s,A,Bt(e))){let l;if(ai(e,(()=>{l=zt(e,t,{type:r},A.clone(),i)})),!(null==l?void 0:l.argumentErrors)){const l=zt(e,t,{type:r},A,i);return l.isTypeIncomplete&&(o=!0),l.argumentErrors&&(a=!0),Yt(n,s,A)}}}));if(!(0,G.isNever)(A))return{returnType:A,isTypeIncomplete:o,argumentErrors:a}}function Yt(e,t,n){const i=(0,Y.applySolvedTypeVars)(G.ClassType.cloneAsInstance(e),n);if(Qi(t,i))return(0,G.isAny)(t)?t:i}function Vt(e,t,n){let i=!0;if(t){const s=(0,Y.mapSubtypes)(t,(t=>Yt(e,t,n)));if(!(0,G.isNever)(s))return s;e.typeArguments&&(i=!1)}const s=(0,Y.applySolvedTypeVars)(e,n,i);return G.ClassType.cloneAsInstance(s)}function zt(e,t,n,i,s=!1,r,o=0){let a,A=!1,p=!1;if(o>G.maxTypeRecursionCount)return{returnType:G.UnknownType.create(),argumentErrors:!0};if(o++,G.TypeBase.isSpecialForm(n.type)){const t=9===e.nodeType?e.leftExpression:e;return lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeNotCallable().format({expression:S.printExpression(t),type:Li(n.type,!0)}),t),{returnType:G.UnknownType.create(),argumentErrors:!0}}const g=ht(n.type,void 0,((g,u)=>{var h,C,m,y,I,E;switch(g.category){case 1:case 2:return n.isIncomplete||t.forEach((e=>{e.valueExpression&&!H.isSpeculative(e.valueExpression)&&ei(e)})),g;case 5:{if("namedtuple"===g.details.builtInName)return lt(f.getFileInfo(e).diagnosticRuleSet.reportUntypedNamedTuple,c.DiagnosticRule.reportUntypedNamedTuple,d.Localizer.Diagnostic.namedTupleNoTypes(),e),(0,D.createNamedTupleType)(Ki,e,t,!1);if("NewType"===g.details.builtInName)return Zt(e,t);let n=i;n||(n=new V.TypeVarContext((0,Y.getTypeVarScopeId)(g)),!n.getSolveForScopes()&&G.FunctionType.isConstructorMethod(g)&&n.addSolveForScope(G.WildcardTypeVarScopeId));const o=Wt(e,t,g,n,s,r);if(o.isTypeIncomplete&&(p=!0),o.argumentErrors)A=!0;else{a=o.specializedInitSelfType;const n=(0,w.applyFunctionTransform)(Ki,e,t,g,{argumentErrors:o.argumentErrors,returnType:null!==(h=o.returnType)&&void 0!==h?h:G.UnknownType.create(p),isTypeIncomplete:p});o.returnType=n.returnType,n.isTypeIncomplete&&(p=!0),n.argumentErrors&&(A=!0)}return"__import__"===g.details.builtInName?G.AnyType.create():o.returnType}case 6:{if("cast"===g.overloads[0].details.builtInName&&2===t.length){const n=ti(t[0]).type,i=ei(t[1]).type;return(0,G.isInstantiableClass)(n)&&(0,G.isClassInstance)(i)&&(0,G.isTypeSame)(n,G.ClassType.cloneAsInstantiable(i),{ignorePseudoGeneric:!0})&<(f.getFileInfo(e).diagnosticRuleSet.reportUnnecessaryCast,c.DiagnosticRule.reportUnnecessaryCast,d.Localizer.Diagnostic.unnecessaryCast().format({type:Li(i)}),e),(0,Y.convertToInstance)(n)}const n=Kt(e,t,g,i,s,r);if(n.isTypeIncomplete&&(p=!0),n.argumentErrors)A=!0;else{a=n.specializedInitSelfType;const i=(0,w.applyFunctionTransform)(Ki,e,t,g,{argumentErrors:n.argumentErrors,returnType:null!==(C=n.returnType)&&void 0!==C?C:G.UnknownType.create(p),isTypeIncomplete:p});n.returnType=i.returnType,i.isTypeIncomplete&&(p=!0),i.argumentErrors&&(A=!0)}return null!==(m=n.returnType)&&void 0!==m?m:G.UnknownType.create()}case 7:if(G.TypeBase.isInstantiable(g)){if(void 0!==g.literalValue)return lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.literalNotCallable(),e),A=!0,G.UnknownType.create();if(G.ClassType.isBuiltIn(g)){const n=g.aliasName||g.details.name;if("type"===n){if(Ut(e,t,g,s,r),1===t.length){const e=ei(t[0]).type;return(0,Y.mapSubtypes)(e,(e=>(0,G.isClassInstance)(e)||(0,G.isTypeVar)(e)&&G.TypeBase.isInstance(e)||(0,G.isNoneInstance)(e)?(0,Y.convertToInstantiable)(Re(e)):G.AnyType.create()))}return t.length>=2&&function(e,t){const n=f.getFileInfo(e),i=ei(t[0]).type;if(!(0,G.isClassInstance)(i)||!G.ClassType.isBuiltIn(i,"str"))return;const s=i.literalValue||"_",r=ei(t[1]).type;if(!(0,G.isClassInstance)(r)||!(0,Y.isTupleClass)(r)||void 0===r.tupleTypeArguments)return;const o=G.ClassType.createInstantiable(s,S.getClassFullName(e,n.moduleName,s),n.moduleName,n.filePath,0,S.getTypeSourceId(e),void 0,r.details.effectiveMetaclass);return r.tupleTypeArguments.forEach((n=>{const i=dt(n.type);(0,G.isInstantiableClass)(i)||(0,G.isAnyOrUnknown)(i)||(0,G.isClassInstance)(i)&&G.ClassType.isBuiltIn(i,"type")?o.details.baseClasses.push(i):pt(n.type,t[1].valueExpression||e)})),(0,Y.computeMroLinearization)(o)||ot(d.Localizer.Diagnostic.methodOrdering(),e),o}(e,t)||G.AnyType.create()}if("TypeVar"===n)return function(e,t){var n,i,s,r,o;let a,A="";if(0===t.length)return void ot(d.Localizer.Diagnostic.typeVarFirstArg(),e);const l=t[0];l.valueExpression&&48===l.valueExpression.nodeType?A=l.valueExpression.strings.map((e=>e.value)).join(""):ot(d.Localizer.Diagnostic.typeVarFirstArg(),l.valueExpression||e);const p=G.TypeVarType.createInstantiable(A,!1);for(let A=1;A0)ot(d.Localizer.Diagnostic.typeVarBoundAndConstrained(),t[A].valueExpression||e);else{const s=null!==(i=null===(n=t[A].typeResult)||void 0===n?void 0:n.type)&&void 0!==i?i:ni(t[A].valueExpression).type;(0,Y.requiresSpecialization)(s,!0)&&ot(d.Localizer.Diagnostic.typeVarGeneric(),t[A].valueExpression||e),p.details.boundType=(0,Y.convertToInstance)(s)}else"covariant"===c?t[A].valueExpression&&$t(t[A].valueExpression)&&(4===p.details.declaredVariance?ot(d.Localizer.Diagnostic.typeVarVariance(),t[A].valueExpression):p.details.declaredVariance=3):"contravariant"===c?t[A].valueExpression&&$t(t[A].valueExpression)&&(3===p.details.declaredVariance?ot(d.Localizer.Diagnostic.typeVarVariance(),t[A].valueExpression):p.details.declaredVariance=4):ot(d.Localizer.Diagnostic.typeVarUnknownParam().format({name:c}),(null===(s=t[A].node)||void 0===s?void 0:s.name)||t[A].valueExpression||e);g.set(c,c)}else if(p.details.boundType)ot(d.Localizer.Diagnostic.typeVarBoundAndConstrained(),t[A].valueExpression||e);else{const n=null!==(o=null===(r=t[A].typeResult)||void 0===r?void 0:r.type)&&void 0!==o?o:ni(t[A].valueExpression).type;(0,Y.requiresSpecialization)(n,!0)&&ot(d.Localizer.Diagnostic.typeVarGeneric(),t[A].valueExpression||e),G.TypeVarType.addConstraint(p,(0,Y.convertToInstance)(n)),void 0===a&&(a=t[A])}}return 1===p.details.constraints.length&&a&<(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeVarSingleConstraint(),a.valueExpression||e),p}(e,t);if("TypeVarTuple"===n)return function(e,t){var n,i;let s="";if(0===t.length)return void ot(d.Localizer.Diagnostic.typeVarFirstArg(),e);const r=t[0];r.valueExpression&&48===r.valueExpression.nodeType?s=r.valueExpression.strings.map((e=>e.value)).join(""):ot(d.Localizer.Diagnostic.typeVarFirstArg(),r.valueExpression||e);const o=G.TypeVarType.createInstantiable(s,!1);o.details.isVariadic=!0;for(let s=1;se.value)).join(""):ot(d.Localizer.Diagnostic.paramSpecFirstArg(),s.valueExpression||e);const o=G.TypeVarType.createInstantiable(r,!0);for(let s=1;s0&&!g.includeSubclasses&&!(0,G.isTypeVar)(u)){const n=new l.DiagnosticAddendum,i=2;t.forEach(((e,s)=>{if(s===i)n.addMessage(d.Localizer.DiagnosticAddendum.memberIsAbstractMore().format({count:t.length-i}));else if(s(0,G.isInstantiableClass)(e)&&G.ClassType.isBuiltIn(e,"type")))){let n="__class_"+i.details.name;if(3===t.length){const e=ei(t[0]).type;(0,G.isClassInstance)(e)&&G.ClassType.isBuiltIn(e,"str")&&"string"==typeof e.literalValue&&(n=e.literalValue)}const s=G.ClassType.createInstantiable(n,"","",f.getFileInfo(e).filePath,0,S.getTypeSourceId(e),G.ClassType.cloneAsInstantiable(i),G.ClassType.cloneAsInstantiable(i));return s.details.baseClasses.push(ii(e,"object")),s.details.effectiveMetaclass=g,(0,Y.computeMroLinearization)(s),s}return i}{const n=null===(y=Ve(e,g,"__call__"))||void 0===y?void 0:y.type;if(n&&((0,G.isFunction)(n)||(0,G.isOverloadedFunction)(n))){const a=zt(e,t,{type:n},i,s,r,o);return a.argumentErrors&&(A=!0),(0,G.isTypeVar)(u)&&G.TypeBase.isInstantiable(u)&&(0,G.isClass)(g)&&G.ClassType.isBuiltIn(g,"type")?(0,Y.convertToInstance)(u):null!==(I=a.returnType)&&void 0!==I?I:G.UnknownType.create()}return n&&(0,G.isAnyOrUnknown)(n)||lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.objectNotCallable().format({type:Li(g)}),e),G.UnknownType.create()}case 3:return void lt(f.getFileInfo(e).diagnosticRuleSet.reportOptionalCall,c.DiagnosticRule.reportOptionalCall,d.Localizer.Diagnostic.noneNotCallable(),e);case 10:{g=(0,Y.transformPossibleRecursiveTypeAlias)(g);const n=zt(e,t,{type:g},i,s,r,o);return n.argumentErrors&&(A=!0),null!==(E=n.returnType)&&void 0!==E?E:G.UnknownType.create()}case 8:return void lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.moduleNotCallable(),e)}}));return{argumentErrors:A,returnType:(0,G.isNever)(g)&&!g.isNoReturn?void 0:g,isTypeIncomplete:p,specializedInitSelfType:a}}function Jt(e,t,n,i){var s;const r=(0,Y.getParameterListDetails)(n);let o=0,a=!1,p=!1,g=!1,u=!1;const h=new Map;r.params.forEach((e=>{const t=e.param;t.name&&0===t.category&&h.set(t.name,{argsNeeded:0!==t.category||t.hasDefault?0:1,argsReceived:0,isPositionalOnly:e.source===Y.ParameterSource.PositionOnly})}));let C=r.positionOnlyParamCount,m=null!==(s=r.firstKeywordOnlyIndex)&&void 0!==s?s:r.params.length;const y=r.argsIndex,I=r.kwargsIndex;let E,T,B=!1;if(void 0!==y&&void 0!==I){(0,A.assert)(r.params[y],"varArgListParamIndex params entry is undefined");const e=r.params[y].param;(0,A.assert)(r.params[I],"varArgDictParamIndex params entry is undefined");const t=r.params[I].param;(0,G.isParamSpec)(e.type)&&"args"===e.type.paramSpecAccess&&(0,G.isParamSpec)(t.type)&&"kwargs"===t.type.paramSpecAccess&&e.type.details.name===t.type.details.name&&(B=!0,e.type.scopeId===n.details.typeVarScopeId||e.type.scopeId===n.details.constructorTypeVarScopeId?(E=[],T=G.TypeVarType.cloneForParamSpecAccess(e.type,void 0)):C=y)}t.some((e=>1===e.argumentCategory))&&t.forEach((e=>{if(e.name){const t=r.params.findIndex((t=>t.param.name===e.name.value&&0===t.param.category));t>=0&&t>=C&&(m<0||t2===e.argumentCategory||void 0!==e.name));v<0&&(v=t.length);let Q,_=[];function w(e,t){e.active&&(Q=t)}let D=void 0!==t.find((e=>1===e.argumentCategory)),S=0,b=0;for(;o=m){D&&1===t[o].argumentCategory||(lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,1===m?d.Localizer.Diagnostic.argPositionalExpectedOne():d.Localizer.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),p=!0);break}if(S>=r.params.length)break;(0,A.assert)(r.params[S],"paramIndex params entry is undefined");const i=r.params[S].type;if(1===t[o].argumentCategory){if(!t[o].valueExpression)break;const s=1===r.params[S].param.category&&(0,G.isVariadicTypeVar)(i);let A=!1;const l=ei(t[o]),C=l.type;let y,I=!1;n.details.paramSpec&&S0&&bt>o&&1===e.argumentCategory)),b++,b>=T.tupleTypeArguments.length&&(b=0,I=!0)):s&&(0,G.isVariadicTypeVar)(C)?(y=C,A=!0,I=!0,u=!0):(0,G.isClassInstance)(C)&&(0,Y.isTupleClass)(C)&&C.tupleTypeArguments&&1===C.tupleTypeArguments.length&&(0,G.isVariadicTypeVar)(C.tupleTypeArguments[0].type)?(y=C.tupleTypeArguments[0].type,A=!0,I=!0,u=!0):(0,G.isParamSpec)(C)&&"args"===C.paramSpecAccess?y=void 0:(y=We(C,!1,t[o].valueExpression)||G.UnknownType.create(),1!==r.params[S].param.category&&(a=!0));const B=y?{argumentCategory:0,typeResult:{type:y,isIncomplete:l.isIncomplete}}:void 0;B&&l.isIncomplete&&(g=!0);const v=r.params[S].param.name;s&&!A?(lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.unpackedArgWithVariadicParam(),t[o].valueExpression||e),p=!0):(E&&E.push(t[o]),B&&_.push({paramCategory:r.params[S].param.category,paramType:i,requiresTypeVarMatching:(0,Y.requiresSpecialization)(i),argument:B,errorNode:t[o].valueExpression||e,paramName:v,isParamNameSynthesized:r.params[S].param.isNameSynthesized})),w(t[o],r.params[S].param),v&&0===r.params[S].param.category&&h.has(v)&&h.get(v).argsReceived++,(I||1===r.params[S].param.category)&&o++,(u||1!==r.params[S].param.category)&&S++}else if(1===r.params[S].param.category)if(w(t[o],r.params[S].param),E)E.push(t[o]),o++;else{let n=r.params[S].param.category,s=i;const a=r.params[S].param.name;(0,G.isUnpackedClass)(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.length>0&&(s=i.tupleTypeArguments[0].type),n=(0,G.isVariadicTypeVar)(s)?1:0;const A=v-o,l=m-S-1;A<=l?(A=0&&Se.param.hasDefault)),i=(n>=0&&n0&&(lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,1===i?d.Localizer.Diagnostic.argMorePositionalExpectedOne():d.Localizer.Diagnostic.argMorePositionalExpectedCount().format({expected:i}),t.length>v&&t[v].valueExpression||e),p=!0)}if(!p){let i;for(;o{const a=h.get(s);if(a&&!a.isPositionalOnly)if(a.argsReceived>0)i.addMessage(d.Localizer.Diagnostic.paramAlreadyAssigned().format({name:s}));else{a.argsReceived++;const i=r.params.findIndex((e=>e.param.name===s));(0,A.assert)(i>=0);const l=r.params[i].type;_.push({paramCategory:0,paramType:l,requiresTypeVarMatching:(0,Y.requiresSpecialization)(l),argument:{argumentCategory:0,typeResult:{type:n.valueType}},errorNode:t[o].valueExpression||e,paramName:s})}else if(void 0!==r.kwargsIndex){const i=r.params[r.kwargsIndex].type;_.push({paramCategory:2,paramType:i,requiresTypeVarMatching:(0,Y.requiresSpecialization)(i),argument:{argumentCategory:0,typeResult:{type:n.valueType}},errorNode:t[o].valueExpression||e,paramName:s}),h.set(s,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}else r.hasUnpackedTypedDict||i.addMessage(d.Localizer.Diagnostic.paramNameMissing().format({name:s}))})),i.isEmpty()||(lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.unpackedTypedDictArgument()+i.getString(),t[o].valueExpression||e),p=!0)}else if((0,G.isParamSpec)(s)&&"kwargs"===s.paramSpecAccess)i=G.AnyType.create(),n.details.paramSpec&&_.push({paramCategory:2,paramType:n.details.paramSpec,requiresTypeVarMatching:!1,argument:t[o],errorNode:t[o].valueExpression||e});else{const n=$e(e,"Mapping"),r=si(e,"str");if(n&&(0,G.isInstantiableClass)(n)&&r&&(0,G.isClassInstance)(r)){const a=new V.TypeVarContext((0,Y.getTypeVarScopeId)(n));let A=!1;if((0,G.isTypeVar)(s))A=!0;else if(Qi(G.ClassType.cloneAsInstance(n),s,void 0,a)){const e=(0,Y.applySolvedTypeVars)(n,a).typeArguments;e&&e.length>=2?(Qi(r,e[0])&&(A=!0),i=e[1]):(A=!0,i=G.UnknownType.create())}A||(lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.unpackedDictArgumentNotMapping(),t[o].valueExpression||e),p=!0)}}E&&E.push(t[o])}else{const i=t[o].name;if(i){const n=i.value,s=h.get(n);if(s&&!s.isPositionalOnly)if(s.argsReceived>0)lt(f.getFileInfo(i).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.paramAlreadyAssigned().format({name:n}),i),p=!0;else{s.argsReceived++;const i=r.params.findIndex((e=>e.param.name===n));(0,A.assert)(i>=0);const a=r.params[i].type;_.push({paramCategory:0,paramType:a,requiresTypeVarMatching:(0,Y.requiresSpecialization)(a),argument:t[o],errorNode:t[o].valueExpression||e,paramName:n}),w(t[o],r.params[i].param)}else if(void 0!==r.kwargsIndex){if(E)E.push(t[o]);else{const i=r.params[r.kwargsIndex].type;_.push({paramCategory:2,paramType:i,requiresTypeVarMatching:(0,Y.requiresSpecialization)(i),argument:t[o],errorNode:t[o].valueExpression||e,paramName:n}),h.set(n,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}(0,A.assert)(r.params[r.kwargsIndex],"paramDetails.kwargsIndex params entry is undefined"),w(t[o],r.params[r.kwargsIndex].param)}else lt(f.getFileInfo(i).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.paramNameMissing().format({name:i.value}),i),p=!0}else if(0===t[o].argumentCategory)lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,1===m?d.Localizer.Diagnostic.argPositionalExpectedOne():d.Localizer.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),p=!0;else if(1===t[o].argumentCategory&&n.details.paramSpec){const i=ei(t[o]),s=i.type;i.isIncomplete&&(g=!0),(0,G.isParamSpec)(s)&&"args"===s.paramSpecAccess&&_.push({paramCategory:1,paramType:n.details.paramSpec,requiresTypeVarMatching:!1,argument:t[o],errorNode:t[o].valueExpression||e})}}o++}if(!i||D&&void 0===r.argsIndex||r.params.forEach(((n,s)=>{var o,a;const A=n.param;if(s>=r.firstPositionOrKeywordIndex&&0===A.category&&A.name&&!A.hasDefault&&h.has(A.name)&&0===h.get(A.name).argsReceived){const n=r.params[s].type;_.push({paramCategory:0,paramType:n,requiresTypeVarMatching:(0,Y.requiresSpecialization)(n),argument:{argumentCategory:0,typeResult:{type:i}},errorNode:null!==(a=null===(o=t.find((e=>2===e.argumentCategory)))||void 0===o?void 0:o.valueExpression)&&void 0!==a?a:e,paramName:A.name,isParamNameSynthesized:A.isNameSynthesized}),h.get(A.name).argsReceived=1}})),!i&&!G.FunctionType.isDefaultParameterCheckDisabled(n)){const t=[...h.keys()].filter((e=>{const t=h.get(e);return!t||t.argsReceived0){const n=t.map((e=>`"${e}"`)).join(", ");lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,1===t.length?d.Localizer.Diagnostic.argMissingForParam().format({name:n}):d.Localizer.Diagnostic.argMissingForParams().format({names:n}),e),p=!0}r.params.forEach((t=>{var n;const i=t.param;if(0===i.category&&i.name){const s=h.get(i.name);if(0===s.argsNeeded&&0===s.argsReceived){const s=null!==(n=t.defaultArgType)&&void 0!==n?n:i.defaultType;s&&!(0,Y.isEllipsisType)(s)&&(0,Y.requiresSpecialization)(i.type)&&_.push({paramCategory:i.category,paramType:t.type,requiresTypeVarMatching:!0,argument:{argumentCategory:0,typeResult:{type:s}},errorNode:e,paramName:i.name,isParamNameSynthesized:i.isNameSynthesized})}}}))}}if((!p||!H.isSpeculative(void 0))&&void 0!==r.argsIndex&&r.argsIndex>=0&&r.params[r.argsIndex].param.hasDeclaredType&&!u){const t=r.params[r.argsIndex].type,n=_.filter((e=>e.mapsToVarArgList));if((0,G.isTypeVar)(t)&&t.details.isVariadic&&ie&&(0,G.isInstantiableClass)(ie)){const i=n.map((t=>{var n;const i=ei(t.argument).type;return((0,G.isUnpackedVariadicTypeVar)(i)||(0,G.isClassInstance)(i)&&(0,Y.isTupleClass)(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.some((e=>(0,G.isUnpackedVariadicTypeVar)(e.type))))&&1!==t.argument.argumentCategory&&(lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeVarTupleMustBeUnpacked(),null!==(n=t.argument.valueExpression)&&void 0!==n?n:e),p=!0),{type:Re(i),isUnbounded:1===t.argument.argumentCategory}})),s={paramCategory:1,paramType:t,requiresTypeVarMatching:!0,argument:{argumentCategory:0,typeResult:{type:G.ClassType.cloneAsInstance((0,Y.specializeTupleClass)(ie,i,!0,!0))}},errorNode:e,paramName:r.params[r.argsIndex].param.name,isParamNameSynthesized:r.params[r.argsIndex].param.isNameSynthesized,mapsToVarArgList:!0};_=[..._.filter((e=>!e.mapsToVarArgList)),s]}}let F=0;return a&&F--,["isinstance","issubclass"].some((e=>e===n.details.builtInName))&&2===_.length&&(_[1].expectingType=!0),{overload:n,overloadIndex:i,argumentErrors:p,isTypeIncomplete:g,argParams:_,paramSpecTarget:T,paramSpecArgList:E,activeParam:Q,relevance:F}}function jt(e,t,n,i=!1,s){const r=t.overload;if(!s||(0,G.isAnyOrUnknown)(s)||(0,G.isNever)(s)||(0,Y.requiresSpecialization)(s)||!r.details.declaredReturnType)return qt(e,t,n,i);const o=mi(r);let a=s,A=4;if((0,Y.containsLiteralType)(a,!0)&&(A|=128),(0,G.isUnion)(s)){let s;ai(e,(()=>{const r=n.clone();Qi(o,a,void 0,r,void 0,1024|A),s=qt(e,t,r,i)})),s&&s.argumentErrors&&(a=void 0)}if(a){if((0,G.isClassInstance)(o)&&(0,G.isClassInstance)(a)&&!G.ClassType.isSameGenericClass(o,a)){const t=new V.TypeVarContext((0,Y.getTypeVarScopeId)(o));(0,T.populateTypeVarContextBasedOnExpectedType)(Ki,o,a,t,Bt(e));const n=G.ClassType.cloneForSpecialization(o,void 0,!1);a=(0,Y.applySolvedTypeVars)(n,t)}Qi(o,a,void 0,n,void 0,1024|A)}return qt(e,t,n,i)}function qt(e,t,n,i=!1){const s=t.overload;let r,o=t.isTypeIncomplete,a=!1;const A=(0,Y.getTypeCondition)(s);if(s.boundTypeVarScopeId&&(void 0!==s.preBoundFlags&&s.boundToType&&(0,Y.requiresSpecialization)(s.boundToType)&&6&s.preBoundFlags&&n.addSolveForScope(s.boundTypeVarScopeId),"__init__"===s.details.name&&G.FunctionType.isOverloaded(s)&&s.strippedFirstParamType&&s.boundToType&&(0,G.isClassInstance)(s.strippedFirstParamType)&&(0,G.isClassInstance)(s.boundToType)&&G.ClassType.isSameGenericClass(s.strippedFirstParamType,s.boundToType)&&s.strippedFirstParamType.typeArguments)){const e=s.strippedFirstParamType.details.typeParameters;r=s.strippedFirstParamType,s.strippedFirstParamType.typeArguments.forEach(((t,i)=>{if(ie===s.details.builtInName))&&(i=!0);const l=t.argParams.filter((e=>e.requiresTypeVarMatching)).length;if(l>0){let r=Math.min(l,2);for(let a=0;a{t.argParams.forEach((e=>{if(e.requiresTypeVarMatching){const t=Xt(e,n,s,i,0===a,r>1&&0===a,A);t.isTypeIncomplete&&(o=!0),0===a&&t.skippedOverloadArg&&r++}}))}));n.lock()}let p=!1,g=!1,u=[];t.argParams.forEach((e=>{var t;const r=Xt(e,n,s,i,!1,!1,A);r.isCompatible||(a=!0),r.isTypeIncomplete&&(o=!0),r.condition&&(u=null!==(t=G.TypeCondition.combine(u,r.condition))&&void 0!==t?t:[]),s.details.paramSpec&&(1===e.argument.argumentCategory&&(0,G.isParamSpec)(r.argType)&&"args"===r.argType.paramSpecAccess&&(p=!0),2===e.argument.argumentCategory&&(0,G.isParamSpec)(r.argType)&&"kwargs"===r.argType.paramSpecAccess&&(g=!0))})),t.paramSpecArgList&&t.paramSpecTarget?function(e,t,n,i,s){var r;const o=i.getParamSpec(n);if(!o)return lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.paramSpecNotBound().format({type:Li(n)}),(null===(r=t[0])||void 0===r?void 0:r.valueExpression)||e),!1;i.addSolveForScope(o.typeVarScopeId);let a=!1;const A=new Map,l=o.parameters;l.forEach((e=>{e.name&&A.set(e.name,e)}));let p=0,g=l.findIndex((e=>0!==e.category));g<0&&(g=l.length);const u=l.find((e=>1===e.category)),h=l.find((e=>2===e.category));if(t.forEach((t=>{var n;if(0===t.argumentCategory){let r;if(t.name){const n=A.get(t.name.value);n?(r=n.type,A.delete(t.name.value)):h?r=h.type:(lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.paramNameMissing().format({name:t.name.value}),t.name||e),a=!0)}else{if(p{const t=A.get(e);return 0===t.category&&!t.hasDefault})),t.length>0&&!o.paramSpec){const n=t.map((e=>`"${e}"`)).join(", ");lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,1===t.length?d.Localizer.Diagnostic.argMissingForParam().format({name:n}):d.Localizer.Diagnostic.argMissingForParams().format({names:n}),e),a=!0}}return!a}(e,t.paramSpecArgList,t.paramSpecTarget,n,A)||(a=!0):s.details.paramSpec&&(p&&g||(o||lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.paramSpecArgsMissing().format({type:Li(s.details.paramSpec)}),e),a=!0));let h=mi(s,t.argParams);u.length>0&&(h=G.TypeBase.cloneForCondition(h,u));let C=!0,m=e;for(;m;){const e=S.getTypeVarScopeNode(m);if(!e)break;const t=Tt(e);n.hasSolveForScope(t)&&(C=!1),m=e.parent}((0,G.isFunction)(h)||(0,G.isOverloadedFunction)(h)||s.details.typeVarScopeId===G.WildcardTypeVarScopeId)&&(C=!1);let y=!(0,G.isFunction)(h);Bt(e).some((e=>n.hasSolveForScope(e)))&&(y=!1);let I=(0,Y.addConditionToType)((0,Y.applySolvedTypeVars)(h,n,y,!1,C),A);return(0,G.isUnpackedClass)(I)&&(I=G.ClassType.cloneForUnpacked(I,!1)),(0,G.isClassInstance)(I)&&G.ClassType.isBuiltIn(I,["TypeGuard","StrictTypeGuard"])&&I.typeArguments&&I.typeArguments.length>0&&se&&(0,G.isInstantiableClass)(se)&&(I=G.ClassType.cloneAsInstance(G.ClassType.cloneForTypeGuard(se,I.typeArguments[0],G.ClassType.isBuiltIn(I,"StrictTypeGuard")))),I=Ht(I),r&&(r=(0,Y.applySolvedTypeVars)(r,n)),{argumentErrors:a,returnType:I,isTypeIncomplete:o,activeParam:t.activeParam,specializedInitSelfType:r}}function Ht(e){return(0,G.isFunction)(e)&&!e.details.name&&(e.details={...e.details,typeVarScopeId:G.WildcardTypeVarScopeId}),e}function Wt(e,t,n,i,s=!1,r){const o=Jt(e,t,n,0);return o.argumentErrors?(t.forEach((e=>{e.valueExpression&&!H.isSpeculative(e.valueExpression)&&Pe(e.valueExpression)})),{argumentErrors:!0,activeParam:o.activeParam}):jt(e,o,i,s,r)}function Xt(e,t,n,i,s,r,o){let a,A,p=!1,g=!0;const u=null==n?void 0:n.details.name;if(e.argument.valueExpression){let i=(0,G.isTypeVar)(e.paramType)&&void 0!==n&&e.paramType.scopeId===n.details.typeVarScopeId?void 0:(0,Y.applySolvedTypeVars)(e.paramType,t,!1,r);if(i&&(0,G.isUnknown)(i)&&(i=void 0),e.argType)a=e.argType;else{const t=e.expectingType?168:0,n=Pe(e.argument.valueExpression,t,i);a=n.type,n.isIncomplete&&(p=!0),n.typeErrors&&(g=!1),A=n.expectedTypeDiagAddendum}e.argument&&e.argument.name&&!H.isSpeculative(e.errorNode)&&Te(e.argument.name,i||a,0,p)}else if(e.argType)a=e.argType;else if(e.expectingType&&!e.argument.typeResult&&e.argument.valueExpression){const t=Pe(e.argument.valueExpression,168);a=t.type,t.isIncomplete&&(p=!0)}else{const t=ei(e.argument);a=t.type,t.isIncomplete&&(p=!0)}2===e.paramCategory&&(0,G.isTypeVar)(e.paramType)&&(a=Re(a)),o&&(a=ht(a,o,(e=>e)));const h=a.condition;let C=new l.DiagnosticAddendum;if((0,G.isParamSpec)(e.paramType)&&void 0!==e.paramType.paramSpecAccess)return{isCompatible:g,argType:a,isTypeIncomplete:p,condition:h};if((0,G.isParamSpec)(a)&&void 0!==a.paramSpecAccess)return{isCompatible:g,argType:a,isTypeIncomplete:p,condition:h};if(s){if((0,G.isOverloadedFunction)(a))return{isCompatible:g,argType:a,isTypeIncomplete:p,skippedOverloadArg:!0,condition:h};const t=dt(e.paramType);if((0,G.isFunction)(t)||(0,G.isOverloadedFunction)(t)){if((0,G.isInstantiableClass)(a)){const e=Di(a);if(e&&(0,G.isOverloadedFunction)(e))return{isCompatible:g,argType:a,isTypeIncomplete:p,skippedOverloadArg:!0,condition:h}}if((0,G.isClassInstance)(a)){const e=(0,Y.lookUpObjectMember)(a,"__call__");if(e){const t=Ii(e);if((0,G.isOverloadedFunction)(t))return{isCompatible:g,argType:a,isTypeIncomplete:p,skippedOverloadArg:!0,condition:h}}}}}if(!Qi(e.paramType,a,C.createAddendum(),t)){if("none"!==f.getFileInfo(e.errorNode).diagnosticRuleSet.reportGeneralTypeIssues&&!At(e.errorNode)&&!p){const t=f.getFileInfo(e.errorNode),n=Li(a),i=Li(e.paramType);let s;s=e.paramName&&!e.isParamNameSynthesized?u?d.Localizer.Diagnostic.argAssignmentParamFunction().format({argType:n,paramType:i,functionName:u,paramName:e.paramName}):d.Localizer.Diagnostic.argAssignmentParam().format({argType:n,paramType:i,paramName:e.paramName}):u?d.Localizer.Diagnostic.argAssignmentFunction().format({argType:n,paramType:i,functionName:u}):d.Localizer.Diagnostic.argAssignment().format({argType:n,paramType:i}),A&&(C=A),lt(t.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,s+C.getString(),e.errorNode)}return{isCompatible:!1,argType:a,isTypeIncomplete:p,condition:h}}if(!i){const t=(0,G.removeUnbound)(a),n=f.getFileInfo(e.errorNode),i=()=>{const t=new l.DiagnosticAddendum;return e.paramName&&t.addMessage((u?d.Localizer.DiagnosticAddendum.argParamFunction().format({paramName:e.paramName,functionName:u}):d.Localizer.DiagnosticAddendum.argParam().format({paramName:e.paramName}))+t.getString()),t};if("none"!==n.diagnosticRuleSet.reportUnknownArgumentType&&!(0,G.isAny)(e.paramType)&&!p)if((0,G.isUnknown)(t)){const t=i();lt(n.diagnosticRuleSet.reportUnknownArgumentType,c.DiagnosticRule.reportUnknownArgumentType,d.Localizer.Diagnostic.argTypeUnknown()+t.getString(),e.errorNode)}else if((0,Y.isPartlyUnknown)(t,!0)){let s=!1;if((0,G.isInstantiableClass)(t)&&(s=!0),(0,Y.isPartlyUnknown)(e.paramType)&&(s=!0),(0,G.isClassInstance)(t)&&t.isEmptyContainer&&(s=!0),!s){const s=i();s.addMessage(d.Localizer.DiagnosticAddendum.argumentType().format({type:Li(t,!0)})),lt(n.diagnosticRuleSet.reportUnknownArgumentType,c.DiagnosticRule.reportUnknownArgumentType,d.Localizer.Diagnostic.argTypePartiallyUnknown()+s.getString(),e.errorNode)}}}return{isCompatible:g,argType:a,isTypeIncomplete:p,condition:h}}function $t(e){if(11===e.nodeType){if(15===e.constType)return!1;if(33===e.constType)return!0}return ot(d.Localizer.Diagnostic.expectedBoolLiteral(),e),!1}function Zt(e,t){const n=f.getFileInfo(e);let i="_";if(t.length>=1){const e=t[0];0===e.argumentCategory&&e.valueExpression&&48===e.valueExpression.nodeType&&(i=e.valueExpression.strings.map((e=>e.value)).join(""))}if(t.length>=2){const s=ti(t[1]).type;if((0,G.isInstantiableClass)(s)){G.ClassType.isProtocolClass(s)?ot(d.Localizer.Diagnostic.newTypeProtocolClass(),t[1].node||e):void 0!==s.literalValue&&ot(d.Localizer.Diagnostic.newTypeLiteral(),t[1].node||e);const r=-4&s.details.flags,o=G.ClassType.createInstantiable(i,S.getClassFullName(e,n.moduleName,i),n.moduleName,n.filePath,r,S.getTypeSourceId(e),void 0,s.details.effectiveMetaclass);o.details.baseClasses.push(s),(0,Y.computeMroLinearization)(o);const a=G.FunctionType.createSynthesizedInstance("__init__");G.FunctionType.addParameter(a,{category:0,name:"self",type:G.ClassType.cloneAsInstance(o),hasDeclaredType:!0}),G.FunctionType.addParameter(a,{category:0,name:"_x",type:G.ClassType.cloneAsInstance(s),hasDeclaredType:!0}),a.details.declaredReturnType=G.NoneType.createInstance(),o.details.fields.set("__init__",x.Symbol.createWithType(4,a));const A=G.FunctionType.createSynthesizedInstance("__new__",1);return G.FunctionType.addParameter(A,{category:0,name:"cls",type:o,hasDeclaredType:!0}),G.FunctionType.addDefaultParameters(A),A.details.declaredReturnType=G.ClassType.cloneAsInstance(o),o.details.fields.set("__new__",x.Symbol.createWithType(4,A)),o}(0,G.isAnyOrUnknown)(s)||ot(d.Localizer.Diagnostic.newTypeNotAClass(),t[1].node||e)}}function en(e,t,n){const i=e.leftExpression;let s=e.rightExpression,r=!1;S.operatorSupportsChaining(e.operator)&&7===s.nodeType&&!s.parenthesized&&S.operatorSupportsChaining(s.operator)&&(en(s,t,n),s=s.leftExpression);let o,a=37===e.operator||36===e.operator?t:void 0;26===e.operator&&t&&(0,G.isClassInstance)(t)&&G.ClassType.isBuiltIn(t,"list")&&t.typeArguments&&t.typeArguments.length>=1&&31===e.leftExpression.nodeType&&(o=t);const A=Pe(i,n,a||o);let p=A.type;a||(37===e.operator||36===e.operator||0===e.operator&&31===e.rightExpression.nodeType||6===e.operator)&&(a=p);const u=Pe(s,n,a);let h=u.type;if((A.isIncomplete||u.isIncomplete)&&(r=!0),6===e.operator&&!tn(p,"__or__")&&!tn(h,"__ror__")){let t=h,r=p;if(!(0,G.isNoneInstance)(p)&&(0,G.isNoneInstance)(h)?t=G.NoneType.createType():!(0,G.isNoneInstance)(h)&&(0,G.isNoneInstance)(p)&&(r=G.NoneType.createType()),(0,Y.isUnionableType)([r,t])){const o=f.getFileInfo(e);if(o.isStubFile||0!=(4&n)||o.executionEnvironment.pythonVersion>=g.PythonVersion.V3_10||(0,G.isAnyOrUnknown)(r)||ot(d.Localizer.Diagnostic.unionSyntaxIllegal(),e,e.operatorToken),!hn({...A,node:i},{allowVariadicTypeVar:!0,allowUnpackedTuples:!0})||!hn({...u,node:s},{allowVariadicTypeVar:!0,allowUnpackedTuples:!0}))return{type:G.UnknownType.create()};const a=(0,G.combineTypes)([r,t]);return(0,G.isUnion)(a)&&G.TypeBase.setSpecialForm(a),{type:a}}}let C=!1;void 0===J[e.operator]&&(12===e.operator||28===e.operator?p=(0,G.removeNoneFromUnion)(p):C=(0,Y.isOptionalType)(p),12!==e.operator&&28!==e.operator||(h=(0,G.removeNoneFromUnion)(h)));const m=new l.DiagnosticAddendum,y=!S.isWithinLoop(e);let I=sn(e.operator,{type:p,isIncomplete:A.isIncomplete},{type:h,isIncomplete:u.isIncomplete},e,t,m,y);if(!m.isEmpty()||!I){if(!r){const t=f.getFileInfo(e);C&&1===m.getMessages().length?lt(f.getFileInfo(e).diagnosticRuleSet.reportOptionalOperand,c.DiagnosticRule.reportOptionalOperand,d.Localizer.Diagnostic.noneOperator().format({operator:S.printOperator(e.operator)}),e.leftExpression):lt(t.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeNotSupportBinaryOperator().format({operator:S.printOperator(e.operator),leftType:Li(p),rightType:Li(h)})+m.getString(),e)}I=G.UnknownType.create()}return{type:I,isIncomplete:r}}function tn(e,t){if(!(0,G.isInstantiableClass)(e))return!1;const n=e.details.effectiveMetaclass;if(!n||!(0,G.isInstantiableClass)(n))return!1;if(G.ClassType.isBuiltIn(n,"type"))return!1;const i=(0,Y.lookUpClassMember)(n,t);return!(!i||(0,G.isInstantiableClass)(i.classType)&&G.ClassType.isBuiltIn(i.classType,"type"))}function nn(e,t){const n={1:["__iadd__",0],34:["__isub__",33],27:["__imul__",26],14:["__ifloordiv__",13],11:["__itruediv__",10],25:["__imod__",24],30:["__ipow__",29],23:["__imatmul__",22],4:["__iand__",3],7:["__ior__",6],9:["__ixor__",8],18:["__ilshift__",17],32:["__irshift__",31]};let i,s;const r=new l.DiagnosticAddendum,o=Pe(e.leftExpression),a=o.type;let A;7===e.operator&&(A=a);const p=Pe(e.rightExpression,void 0,A),g=p.type,u=!!p.isIncomplete||!!o.isIncomplete;return(0,G.isNever)(a)||(0,G.isNever)(g)?s={type:G.NeverType.createNever(),isIncomplete:u}:(i=ht(a,void 0,((i,s)=>ht(g,(0,Y.getTypeCondition)(i),((A,l)=>{if((0,G.isAnyOrUnknown)(s)||(0,G.isAnyOrUnknown)(l))return(0,Y.preserveUnknown)(s,l);const c=n[e.operator][0];let u=rn(s,[{type:l,isIncomplete:p.isIncomplete}],c,e,t);if(u||s===i||(u=rn(i,[{type:l,isIncomplete:p.isIncomplete}],c,e,t)),u||l===A||(u=rn(i,[{type:A,isIncomplete:p.isIncomplete}],c,e,t)),!u){const i=n[e.operator][1],A=!o.isIncomplete&&!p.isIncomplete&&(0,Y.getUnionSubtypeCount)(a)*(0,Y.getUnionSubtypeCount)(g)<64;u=sn(i,{type:s,isIncomplete:o.isIncomplete},{type:l,isIncomplete:p.isIncomplete},e,t,r,A)}return u})))),r.isEmpty()&&i&&!(0,G.isNever)(i)||(u||lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeNotSupportBinaryOperator().format({operator:S.printOperator(e.operator),leftType:Li(a),rightType:Li(g)})+r.getString(),e),i=G.UnknownType.create()),s={type:i,isIncomplete:u}),Ct(e.destExpression,s.type,!!s.isIncomplete,e.rightExpression),s}function sn(e,t,n,i,s,r,o){const a=t.type,A=n.type;let l,c=dt(a);if(void 0!==J[e]){if(36===e){if(!Ue(c))return a;if(!Oe(c))return A;if(c=Ge(c),(0,G.isNever)(A))return c}else if(37===e){if(!Oe(c))return a;if(!Ue(c))return A;if(c=Ye(c),(0,G.isNever)(A))return c}if((0,G.isNever)(a)||(0,G.isNever)(A))return G.NeverType.createNever();41===e||42===e?(l=ht(A,void 0,((n,s)=>ht(c,(0,Y.getTypeCondition)(n),(o=>{if((0,G.isAnyOrUnknown)(o)||(0,G.isAnyOrUnknown)(s))return(0,Y.preserveUnknown)(o,n);let a=rn(n,[{type:o,isIncomplete:t.isIncomplete}],"__contains__",i,void 0);if(!a){const e=We(n,!1,void 0);e&&Qi(e,o)&&(a=si(i,"bool"))}return a||r.addMessage(d.Localizer.Diagnostic.typeNotSupportBinaryOperator().format({operator:S.printOperator(e),leftType:Li(o),rightType:Li(n)})),a})))),l&&!(0,G.isNever)(l)&&(l=si(i,"bool"))):l=ht(c,void 0,((t,n)=>ht(A,(0,Y.getTypeCondition)(t),((t,s)=>36===e||37===e?(0,G.combineTypes)([n,s]):si(i,"bool")))))}else if(z[e]){if((0,G.isNever)(a)||(0,G.isNever)(A))return G.NeverType.createNever();if(o){const t=(0,Y.getLiteralTypeClassName)(a);if(t&&!(0,Y.getTypeCondition)(a)&&t===(0,Y.getLiteralTypeClassName)(A)&&!(0,Y.getTypeCondition)(A)&&(0,Y.getUnionSubtypeCount)(a)*(0,Y.getUnionSubtypeCount)(A)<64)if("str"===t||"bytes"===t)0===e&&(l=(0,Y.mapSubtypes)(a,(e=>(0,Y.mapSubtypes)(A,(t=>{const n=e,i=t;return G.ClassType.cloneWithLiteral(n,n.literalValue+i.literalValue)})))));else if("int"===t&&(0===e||33===e||26===e||13===e||24===e)){let t=!0;l=(0,Y.mapSubtypes)(a,(n=>(0,Y.mapSubtypes)(A,(i=>{try{const s=n,r=i,o=BigInt(s.literalValue),a=BigInt(r.literalValue);let A;return 0===e?A=o+a:33===e?A=o-a:26===e?A=o*a:13===e?a!==BigInt(0)&&(A=o/a):24===e&&a!==BigInt(0)&&(A=o%a),void 0===A||"number"==typeof A&&isNaN(A)?void(t=!1):(A===BigInt(Number(A))&&(A=Number(A)),G.ClassType.cloneWithLiteral(s,A))}catch{return void(t=!1)}})))),t||(l=void 0)}}l||(l=ht(a,void 0,((o,a)=>ht(A,(0,Y.getTypeCondition)(o),((A,l)=>{if((0,G.isAnyOrUnknown)(a)||(0,G.isAnyOrUnknown)(l))return(0,Y.preserveUnknown)(a,l);if(0===e&&(0,G.isClassInstance)(o)&&(0,Y.isTupleClass)(o)&&o.tupleTypeArguments&&!(0,Y.isUnboundedTupleClass)(o)&&(0,G.isClassInstance)(A)&&(0,Y.isTupleClass)(A)&&A.tupleTypeArguments&&!(0,Y.isUnboundedTupleClass)(A)&&ie&&(0,G.isInstantiableClass)(ie))return G.ClassType.cloneAsInstance((0,Y.specializeTupleClass)(ie,[...o.tupleTypeArguments,...A.tupleTypeArguments]));const c=z[e][0];let p=rn(on(a),[{type:l,isIncomplete:n.isIncomplete}],c,i,s);if(p||a===o||(p=rn(on(o),[{type:l,isIncomplete:n.isIncomplete}],c,i,s)),p||l===A||(p=rn(on(o),[{type:A,isIncomplete:n.isIncomplete}],c,i,s)),!p){const n=z[e][1];p=rn(on(l),[{type:a,isIncomplete:t.isIncomplete}],n,i,s),p||l===A||(p=rn(on(A),[{type:a,isIncomplete:t.isIncomplete}],n,i,s)),p||a===o||(p=rn(on(A),[{type:o,isIncomplete:t.isIncomplete}],n,i,s))}return p||(s?r.addMessage(d.Localizer.Diagnostic.typeNotSupportBinaryOperatorBidirectional().format({operator:S.printOperator(e),leftType:Li(o),rightType:Li(A),expectedType:Li(s)})):r.addMessage(d.Localizer.Diagnostic.typeNotSupportBinaryOperator().format({operator:S.printOperator(e),leftType:Li(o),rightType:Li(A)}))),p})))))}return l&&(0,G.isNever)(l)?void 0:l}function rn(e,t,n,i,s){let r=!0;const o=e=>{var o,a;let A;const l=dt(e);if((0,G.isClassInstance)(l)?A=null===(o=Ve(i,l,n,void 0,void 0,65,e))||void 0===o?void 0:o.type:(0,G.isInstantiableClass)(l)&&(A=null===(a=ze(i,l,n,void 0,void 0,96))||void 0===a?void 0:a.type),A){const e=t.map((e=>({argumentCategory:0,typeResult:e})));let n;return ai(i,(()=>{n=zt(i,e,{type:A},void 0,!0,s)})),n.argumentErrors&&(r=!1),n.returnType}r=!1},a=(0,Y.mapSubtypes)(e,(e=>(0,G.isAnyOrUnknown)(e)?e:(0,G.isClassInstance)(e)||(0,G.isInstantiableClass)(e)||(0,G.isTypeVar)(e)?o(e):(0,G.isNoneInstance)(e)&&ee&&(0,G.isClassInstance)(ee)?o(ee):(0,G.isNoneTypeClass)(e)&&te&&(0,G.isInstantiableClass)(te)?o(G.ClassType.cloneAsInstance(te)):void(r=!1)));if(r)return a}function on(e){return((0,G.isFunction)(e)||(0,G.isOverloadedFunction)(e))&&ee?ee:e}function an(e,t,n){if(t=(0,Y.transformPossibleRecursiveTypeAlias)(t),!(0,G.isClassInstance)(t))return;const i=[],s=[];let r=!1;if(G.ClassType.isTypedDictClass(t)){if(ln(e,i,s,!0,void 0,void 0,(0,K.getTypedDictMembersForClass)(Ki,t),n)&&(r=!0),G.ClassType.isTypedDictClass(t)){const e=(0,K.assignToTypedDict)(Ki,t,i,s,n);if(e)return{type:e,isIncomplete:r}}return}const o=si(e,"dict");if(!(0,G.isClassInstance)(o))return;const a=new V.TypeVarContext((0,Y.getTypeVarScopeId)(o));if(!(0,T.populateTypeVarContextBasedOnExpectedType)(Ki,o,t,a,Bt(e)))return;const A=(0,Y.applySolvedTypeVars)(G.ClassType.cloneAsInstantiable(o),a);if(!A.typeArguments||2!==A.typeArguments.length)return;const l=A.typeArguments[0],c=A.typeArguments[1];ln(e,i,s,!0,l,c,void 0,n)&&(r=!0);const p=(0,G.isClassInstance)(t)&&(G.ClassType.isBuiltIn(t,"dict")||G.ClassType.isBuiltIn(t,"MutableMapping")),g=pn(l,i,!1),u=pn(c,s,!p);return g&&u?{type:si(e,"dict",[g,u]),isIncomplete:r}:void 0}function An(e,t){const n=t?G.AnyType.create():G.UnknownType.create();let i=n,s=n,r=[],o=[],a=!1,A=!1;ln(e,r,o,t)&&(A=!0),r=r.map((e=>Re(e))),o=o.map((e=>Re(e))),i=r.length>0?(0,G.combineTypes)(r):n,o.length>0?s=f.getFileInfo(e).diagnosticRuleSet.strictDictionaryInference||t?(0,G.combineTypes)(o):(0,Y.areTypesSame)(o,{ignorePseudoGeneric:!0})?o[0]:n:(s=n,a=!0);const l=ii(e,"dict");return{type:(0,G.isInstantiableClass)(l)?G.ClassType.cloneAsInstance(G.ClassType.cloneForSpecialization(l,[i,s],!0,void 0,void 0,a)):G.UnknownType.create(),isIncomplete:A}}function ln(e,t,n,i,s,r,o,a){let A=!1;return e.entries.forEach(((l,p)=>{var g;let u=!0;if(17===l.nodeType){const e=Pe(l.keyExpression,void 0,null!=s?s:i?G.NeverType.createNever():void 0);e.isIncomplete&&(A=!0);const c=e.type;let g;g=o&&(0,G.isClassInstance)(c)&&G.ClassType.isBuiltIn(c,"str")&&(0,Y.isLiteralType)(c)&&o.has(c.literalValue)?Pe(l.valueExpression,void 0,o.get(c.literalValue).valueType):Pe(l.valueExpression,void 0,null!=r?r:i?G.NeverType.createNever():void 0),a&&g.expectedTypeDiagAddendum&&a.addAddendum(g.expectedTypeDiagAddendum);const d=g.type;g.isIncomplete&&(A=!0),(i||p<64)&&(t.push(c),n.push(d)),u=!1}else if(16===l.nodeType){const s=Pe(l.expandExpression);s.isIncomplete&&(A=!0);const r=s.type;if((0,G.isAnyOrUnknown)(r))u=!1;else if((0,G.isClassInstance)(r)&&G.ClassType.isTypedDictClass(r)){if(oe&&(0,G.isInstantiableClass)(oe)){const e=G.ClassType.cloneAsInstance(oe);(0,K.getTypedDictMembersForClass)(Ki,r,!0).forEach(((i,s)=>{(i.isRequired||i.isProvided)&&(t.push(G.ClassType.cloneWithLiteral(e,s)),n.push(i.valueType))})),u=!1}}else{let s=Ze(e,"SupportsKeysAndGetItem");if(s||(s=$e(e,"Mapping")),s&&(0,G.isInstantiableClass)(s)){const o=new V.TypeVarContext((0,Y.getTypeVarScopeId)(s));if(s=G.ClassType.cloneForSpecialization(s,s.details.typeParameters,!0),Qi(G.ClassType.cloneAsInstance(s),r,void 0,o)){const e=(0,Y.applySolvedTypeVars)(s,o).typeArguments;e&&e.length>=2&&((i||p<64)&&(t.push(e[0]),n.push(e[1])),u=!1)}else lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.dictUnpackIsNotMapping(),l)}}}else if(32===l.nodeType){const e=dn(l,r,s),o=e.type;if(e.isIncomplete&&(A=!0),(0,G.isClassInstance)(o)&&(0,Y.isTupleClass)(o)){const e=null===(g=o.tupleTypeArguments)||void 0===g?void 0:g.map((e=>e.type));e&&2===e.length&&((i||p<64)&&(t.push(e[0]),n.push(e[1])),u=!1)}}u&&(i||p<64)&&(t.push(G.UnknownType.create()),n.push(G.UnknownType.create()))})),A}function cn(e,t){const n=31===e.nodeType?"list":"set";t=(0,Y.transformPossibleRecursiveTypeAlias)(t);let i=!1,s=!1;if(!(0,G.isClassInstance)(t))return;const r=si(e,n);if(!(0,G.isClassInstance)(r))return;const o=new V.TypeVarContext((0,Y.getTypeVarScopeId)(r));if(!(0,T.populateTypeVarContextBasedOnExpectedType)(Ki,r,t,o,Bt(e)))return;const a=(0,Y.applySolvedTypeVars)(G.ClassType.cloneAsInstantiable(r),o);if(!a.typeArguments||1!==a.typeArguments.length)return;const A=a.typeArguments[0],l=[];e.entries.forEach((e=>{let t;t=32===e.nodeType?dn(e,A):Pe(e,void 0,A),l.push(t.type),t.isIncomplete&&(i=!0),t.typeErrors&&(s=!0)}));const c=(0,G.isClassInstance)(t)&&G.ClassType.isBuiltIn(t,n),p=pn(A,l,!c);return p?{type:si(e,n,[p]),isIncomplete:i,typeErrors:s}:void 0}function pn(e,t,n){let i,s=!1;if((0,G.isTypeVar)(e)){if(e.details.isParamSpec||e.details.isVariadic)return;i=e}else i=G.TypeVarType.createInstance("__typeArg"),i.details.isSynthesized=!0,i.details.boundType=dt(e),i.scopeId="__typeArgScopeId",s=!0;let r=new V.TypeVarContext(i.scopeId);return s&&r.setTypeVarType(i,n?void 0:e,e),t.every((e=>Qi(i,Re(e),void 0,r)))?(0,Y.applySolvedTypeVars)(i,r):(r=new V.TypeVarContext(i.scopeId),s&&r.setTypeVarType(i,n?void 0:e,e,!0),t.every((e=>Qi(i,e,void 0,r)))?(0,Y.applySolvedTypeVars)(i,r):void 0)}function gn(e,t,n,i,s,r){if("none"===e)return;const o=n.value,a=(0,G.removeUnbound)(i);if((0,G.isUnknown)(a))lt(e,t,d.Localizer.Diagnostic.typeUnknown().format({name:o}),s);else if((0,Y.isPartlyUnknown)(a)&&(!r||!(0,G.isClassInstance)(i)||!i.isEmptyContainer)){const n=new l.DiagnosticAddendum;n.addMessage(d.Localizer.DiagnosticAddendum.typeOfSymbol().format({name:o,type:Li(a,!0)})),lt(e,t,d.Localizer.Diagnostic.typePartiallyUnknown().format({name:o})+n.getString(),s)}}function un(e){var t;let n=!1;if(33===e.nodeType){const i=Pe(e.iterableExpression);i.isIncomplete&&(n=!0);const s=null!==(t=We(Re(i.type),!!e.isAsync,e.iterableExpression))&&void 0!==t?t:G.UnknownType.create();Ct(e.targetExpression,s,!!i.isIncomplete,e.iterableExpression)}else(0,A.assert)(34===e.nodeType),H.isSpeculative(e.testExpression)||Pe(e.testExpression);return n}function dn(e,t,n){let i=!1,s=!1;for(const t of e.forIfNodes)un(t)&&(i=!0);let r=G.UnknownType.create();if(17===e.expression.nodeType){const o=Pe(e.expression.keyExpression,void 0,n);o.isIncomplete&&(i=!0),o.typeErrors&&(s=!0);let a=o.type;n&&(0,Y.containsLiteralType)(n)||(a=Re(a));const A=Pe(e.expression.valueExpression,void 0,t);A.isIncomplete&&(i=!0),A.typeErrors&&(s=!0);let l=A.type;t&&(0,Y.containsLiteralType)(t)||(l=Re(l)),r=St([a,l])}else if(16===e.expression.nodeType)Pe(e.expression.expandExpression,void 0,t);else if((0,h.isExpressionNode)(e)){const n=Pe(e.expression,void 0,t);n.isIncomplete&&(i=!0),n.typeErrors&&(s=!0),r=n.type}return{type:r,isIncomplete:i,typeErrors:s}}function hn(e,t){if(e.typeList){if(!(null==t?void 0:t.allowTypeArgList))return ot(d.Localizer.Diagnostic.typeArgListNotAllowed(),e.node),!1;e.typeList.forEach((e=>{hn(e)}))}if((0,Y.isEllipsisType)(e.type)&&!(null==t?void 0:t.allowTypeArgList))return ot(d.Localizer.Diagnostic.ellipsisContext(),e.node),!1;if((0,G.isModule)(e.type))return ot(d.Localizer.Diagnostic.moduleAsType(),e.node),!1;if((0,G.isParamSpec)(e.type)&&!(null==t?void 0:t.allowParamSpec))return ot(d.Localizer.Diagnostic.paramSpecContext(),e.node),!1;if((0,G.isVariadicTypeVar)(e.type)&&!e.type.isVariadicInUnion){if(!(null==t?void 0:t.allowVariadicTypeVar))return ot(d.Localizer.Diagnostic.typeVarTupleContext(),e.node),!1;wt(e.type,e.node)}return!(null==t?void 0:t.allowEmptyTuple)&&e.isEmptyTupleShorthand?(ot(d.Localizer.Diagnostic.zeroLengthTupleNotAllowed(),e.node),!1):!((0,G.isUnpackedClass)(e.type)&&!(null==t?void 0:t.allowUnpackedTuples)&&(ot(d.Localizer.Diagnostic.unpackedArgInTypeArgument(),e.node),1))}function Cn(e,t,n){const i=si(e,t);return(0,G.isClassInstance)(i)?G.ClassType.cloneWithLiteral(i,n):G.UnknownType.create()}function mn(e,t,n){const i=ii(e,t);return(0,G.isInstantiableClass)(i)?G.ClassType.cloneWithLiteral(i,n):G.UnknownType.create()}function yn(e,t,n,i=!1,s=!1){const r=G.ClassType.isTupleClass(e);if(t)if(r&&1===t.length&&t[0].isEmptyTupleShorthand)t=[];else{let e=!1;const s=t=>{e&&(o||(ot(d.Localizer.Diagnostic.variadicTypeArgsTooMany(),t.node),o=!0)),e=!0};let o=!1;t.forEach(((e,o)=>{(0,Y.isEllipsisType)(e.type)?r?2!==t.length||1!==o?ot(d.Localizer.Diagnostic.ellipsisSecondArg(),e.node):(0,G.isTypeVar)(t[0].type)&&(0,G.isVariadicTypeVar)(t[0].type)&&!t[0].type.isVariadicInUnion&&ot(d.Localizer.Diagnostic.typeVarTupleContext(),t[0].node):ot(d.Localizer.Diagnostic.ellipsisContext(),e.node):(0,G.isParamSpec)(e.type)&&i||((0,G.isVariadicTypeVar)(e.type)&&void 0===n?(s(e),wt(e.type,e.node)):void 0===n&&(0,G.isUnpacked)(e.type)?(s(e),hn(e,{allowUnpackedTuples:!0})):hn(e))}))}let o,A=t?t.map((e=>(0,Y.convertToInstance)(e.type))):[];if(void 0!==n)if(t&&A.length>n)ot(d.Localizer.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:n,received:A.length}),t[n].node),A=A.slice(0,n);else if(A.length{1===t&&(0,Y.isEllipsisType)(A[t])?1!==n.length||n[0].isUnbounded?ot(d.Localizer.Diagnostic.ellipsisSecondArg(),e.node):n[0]={type:n[0].type,isUnbounded:!0}:(0,G.isUnpackedClass)(e.type)&&e.type.tupleTypeArguments?(0,a.appendArray)(n,e.type.tupleTypeArguments):n.push({type:A[t],isUnbounded:!1})})):n.push({type:G.UnknownType.create(),isUnbounded:!0}),o=(0,Y.specializeTupleClass)(e,n,void 0!==t)}else o=G.ClassType.cloneForSpecialization(e,A,void 0!==t);return s||G.TypeBase.setSpecialForm(o),o}function fn(e,t,n,i){if(!G.TypeBase.isInstantiable(e))return e;if((0,Y.isTypeAliasPlaceholder)(e))return e;i||(i=[],(0,G.isTypeVar)(e)&&!G.TypeBase.isAnnotated(e)||(0,Y.doForEachSubtype)(e,(e=>{(0,Y.addTypeVarsToListIfUnique)(i,(0,Y.getTypeVarArgumentsRecursive)(e))})),i=i.filter((e=>!e.details.isSynthesized)));const s=(i=i.map((e=>G.TypeBase.isInstance(e)?e:(0,Y.convertToInstance)(e)))).filter((e=>(0,G.isVariadicTypeVar)(e)));s.length>1&&ot(d.Localizer.Diagnostic.variadicTypeParamTooManyAlias().format({names:s.map((e=>`"${e.details.name}"`)).join(", ")}),n);const r=f.getFileInfo(t),o=Tt(t),a=i.filter((e=>e.scopeId!==o&&0===e.scopeType));return a.length>0&&ot(d.Localizer.Diagnostic.genericTypeAliasBoundTypeVar().format({names:a.map((e=>`${e.details.name}`)).join(", ")}),n),G.TypeBase.cloneForTypeAlias(e,t.value,`${r.moduleName}.${t.value}`,o,i.length>0?i:void 0)}function In(e,t,n){const i=f.getFileInfo(e);let s=G.ClassType.createInstantiable(t,S.getClassFullName(e,i.moduleName,t),i.moduleName,i.filePath,3,0,void 0,void 0);i.isTypingExtensionsStubFile&&(s.details.flags|=65536);const r=n.alias||"object";let o;if("builtins"===n.module)o=ii(e,r);else if("collections"===n.module)o=et(e,r,["collections"]);else if("self"===n.module){const t=ri(e,r,!1);t&&(o=ui(t.symbol),(0,G.isInstantiableClass)(o)&&G.ClassType.isBuiltIn(o,"_TypedDict")&&(o.details.flags&=-513))}return o&&(0,G.isInstantiableClass)(o)?n.alias?s=G.ClassType.cloneForTypingAlias(o,t):(s.details.baseClasses.push(o),s.details.effectiveMetaclass=o.details.effectiveMetaclass,(0,Y.computeMroLinearization)(s)):(s.details.baseClasses.push(G.UnknownType.create()),s.details.effectiveMetaclass=G.UnknownType.create(),(0,Y.computeMroLinearization)(s)),s}function En(e){var t;const n=f.getFileInfo(e);if(Ee(e,0))return;let i=0;n.isStubFile&&(i|=256),38!==e.rightExpression.nodeType&&35!==e.rightExpression.nodeType||(i|=2),je(e.leftExpression)&&(i|=131304,i&=-3);let s,r=Ee(e.rightExpression,i),o=!1;if(!r&&((n.isTypingStubFile||n.isTypingExtensionsStubFile)&&(r=function(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value;if("Any"===t)return G.AnyType.create();const n=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);return n?(Pe(e.rightExpression),In(e,t,n)):void 0}(e),r&&Te(e.rightExpression,r,0,!1)),!r)){const a=qe(e.leftExpression,{method:"set"});let A,l,p=!1;if(je(e.leftExpression))A=e.leftExpression.valueExpression;else if(38===e.leftExpression.nodeType){const t=ri(e.leftExpression,e.leftExpression.value,!1);if(t){const n=t.symbol.getDeclarations();1===n.length&&(0,Q.isPossibleTypeAliasDeclaration)(n[0])&&(A=e.leftExpression,p=!0)}}if(A){l=G.TypeVarType.createInstantiable(`__type_alias_${A.value}`),l.details.isSynthesized=!0,l.details.recursiveTypeAliasName=A.value;const t=Tt(A);l.details.recursiveTypeAliasScopeId=t,l.scopeId=t,Te(e,l,void 0,!1),Te(e.leftExpression,l,void 0,!1),54===e.leftExpression.nodeType&&Te(e.leftExpression.valueExpression,l,void 0,!1)}const g=Pe(e.rightExpression,i,a);let u=g.type;s=g.expectedTypeDiagAddendum,g.isIncomplete&&(o=!0);const h=(0,P.evaluateStaticBoolExpression)(e.rightExpression,n.executionEnvironment,n.definedConstants);if(void 0!==h){const t=si(e,"bool");(0,G.isClassInstance)(t)&&(u=G.ClassType.cloneWithLiteral(t,h))}a&&Qi(a,u)&&((0,G.isAnyOrUnknown)(u)||(u=ki(a,u))),r=u,38!==e.leftExpression.nodeType||e.typeAnnotationComment||(r=(0,_.transformTypeForPossibleEnumClass)(Ki,e.leftExpression,(()=>r))||r),A&&(Be(e),Be(e.leftExpression),54===e.leftExpression.nodeType&&Be(e.leftExpression.valueExpression),(!p||G.TypeBase.isInstantiable(r)&&!(0,G.isUnknown)(r))&&(r=fn(r,A,e.rightExpression),(0,Y.isTypeAliasRecursive)(l,r)&&(lt(n.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeAliasIsRecursiveDirect().format({name:A.value}),e.rightExpression),r=G.UnknownType.create()),l.details.boundType=r,l.details.recursiveTypeParameters=null===(t=r.typeAliasInfo)||void 0===t?void 0:t.typeParameters),l.details.illegalRecursionDetected&<(n.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeAliasIsRecursiveIndirect().format({name:A.value}),e.leftExpression))}Ct(e.leftExpression,r,o,e.rightExpression,!0,!0,s),Te(e,r,0,o)}function Tn(e){const t=Ee(e.name,0);if(t)return t;const n=G.TypeVarType.createInstantiable(`__type_alias_${e.name.value}`);n.details.isSynthesized=!0,n.details.recursiveTypeAliasName=e.name.value;const i=Tt(e.name);n.details.recursiveTypeAliasScopeId=i,n.scopeId=i,Te(e.name,n,void 0,!1);const s=N.getScopeForNode(e),r=null==s?void 0:s.lookUpSymbolRecursive(e.name.value),o=f.getDeclaration(e);o&&r&&Se(r.symbol,o,n);let a=[];e.typeParameters&&(a=wn(e.typeParameters),n.details.recursiveTypeParameters=a);const A=ni(e.expression);let l=!1,p=A.type;return A.isIncomplete&&(l=!0),Be(e.name),p=fn(p,e.name,e.expression,a),(0,Y.isTypeAliasRecursive)(n,p)&&(lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeAliasIsRecursiveDirect().format({name:e.name.value}),e.expression),p=G.UnknownType.create()),n.details.boundType=p,n.details.illegalRecursionDetected&<(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeAliasIsRecursiveIndirect().format({name:e.name.value}),e.name),Te(e.name,p,0,l),p}function Bn(e){if(Ee(e,0))return;const t=nn(e,void 0);Te(e,t.type,0,!!t.isIncomplete)}function vn(e){return`__type_of_${e}`}function Qn(e){const t=Ee(e.name,0);if(t){if(!(0,G.isInstantiableClass)(t))return;return{classType:t,decoratedType:Ee(e,0)||G.UnknownType.create()}}const n=N.getScopeForNode(e),i=f.getFileInfo(e);let s=0;(4===(null==n?void 0:n.type)||i.isTypingStubFile||i.isTypingExtensionsStubFile||i.isBuiltInStubFile)&&(s|=1,i.isTypingExtensionsStubFile&&(s|=65536),"property"===e.name.value&&(s|=2048),"tuple"===e.name.value&&(s|=524288)),i.isStubFile&&(s|=8388608);const r=G.ClassType.createInstantiable(e.name.value,S.getClassFullName(e,i.moduleName,e.name.value),i.moduleName,i.filePath,s,0,void 0,void 0,S.getDocString(e.suite.statements));r.details.typeVarScopeId=Tt(e);const o=null==n?void 0:n.lookUpSymbol(e.name.value);let A;const p=f.getDeclaration(e);p&&(A=p),A&&o&&Se(o,A,r),r.details.flags|=131072,Te(e,r,void 0,!1),Te(e.name,r,void 0,!1);let h,C,m=[];e.typeParameters&&(m=wn(e.typeParameters).map((e=>G.TypeVarType.cloneAsInstance(e))));const y=[];let I,E=272960;if(i.isStubFile&&(E|=4),e.arguments.forEach((t=>{if(0===t.argumentCategory)if(t.name)if("metaclass"===t.name.value)I?ot(d.Localizer.Diagnostic.metaclassDuplicate(),t):I=t.valueExpression;else if("total"===t.name.value&&G.ClassType.isTypedDictClass(r)){const e=(0,P.evaluateStaticBoolExpression)(t.valueExpression,i.executionEnvironment,i.definedConstants);void 0===e?ot(d.Localizer.Diagnostic.typedDictTotalParam(),t.valueExpression):e||(r.details.flags|=256)}else y.push({argumentCategory:0,node:t,name:t.name,valueExpression:t.valueExpression});else{let n=Pe(t.valueExpression,E).type;if((0,G.isUnion)(n)&&(n=(0,G.removeUnbound)(n)),(0,G.isAnyOrUnknown)(n)||(0,G.isUnbound)(n)||((0,G.isInstantiableClass)(n)?(G.ClassType.isPartiallyEvaluated(n)&&he.push({dependency:n,callback:()=>function(e,t){(0,Y.computeMroLinearization)(e)||ot(d.Localizer.Diagnostic.methodOrdering(),t),Dn(e,t)}(r,e.name)}),G.ClassType.isBuiltIn(n,"Protocol")&&(!i.isStubFile&&!G.ClassType.isTypingExtensionClass(n)&&i.executionEnvironment.pythonVersion=g.PythonVersion.V3_6&&G.ClassType.isBuiltIn(n,"NamedTuple")&&(r.details.flags|=16777252),G.ClassType.isBuiltIn(n,"TypedDict")||G.ClassType.isTypedDictClass(n)?r.details.flags|=128:G.ClassType.isTypedDictClass(r)&&!G.ClassType.isTypedDictClass(n)&&((0,G.isInstantiableClass)(n)&&G.ClassType.isBuiltIn(n,"Generic")||ot(d.Localizer.Diagnostic.typedDictBaseClass(),t)),(0,Y.derivesFromClassRecursive)(n,r,!0)&&(ot(d.Localizer.Diagnostic.baseClassCircular(),t),n=G.UnknownType.create())):(lt(i.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.baseClassInvalid(),t),n=G.UnknownType.create())),(0,G.isUnknown)(n)&<(i.diagnosticRuleSet.reportUntypedBaseClass,c.DiagnosticRule.reportUntypedBaseClass,d.Localizer.Diagnostic.baseClassUnknown(),t),r.details.baseClasses.some((e=>(0,G.isInstantiableClass)(e)&&(0,G.isInstantiableClass)(n)&&G.ClassType.isSameGenericClass(n,e)))&<(i.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.duplicateBaseClass(),t.name||t),r.details.baseClasses.push(n),(0,G.isInstantiableClass)(n)&&(G.ClassType.isEnumClass(n)&&(r.details.flags|=1048576),(G.ClassType.supportsAbstractMethods(n)||G.ClassType.isProtocolClass(n)&&!G.ClassType.isBuiltIn(n))&&(r.details.flags|=512),G.ClassType.isPropertyClass(n)&&(r.details.flags|=2048),G.ClassType.isFinal(n))){const e=Mi(n);ot(d.Localizer.Diagnostic.baseClassFinal().format({type:e}),t.valueExpression)}(0,Y.addTypeVarsToListIfUnique)(m,(0,Y.getTypeVarArgumentsRecursive)(n)),(0,G.isInstantiableClass)(n)&&(G.ClassType.isBuiltIn(n,"Generic")?e.typeParameters?lt(i.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.genericBaseClassNotAllowed(),t.valueExpression):h||(C&<(i.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.duplicateGenericAndProtocolBase(),t.valueExpression),h=[],(0,Y.addTypeVarsToListIfUnique)(h,(0,Y.getTypeVarArgumentsRecursive)(n))):G.ClassType.isBuiltIn(n,"Protocol")&&n.typeArguments&&n.typeArguments.length>0&&(C||(h&<(i.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.duplicateGenericAndProtocolBase(),t.valueExpression),C=[],(0,Y.addTypeVarsToListIfUnique)(C,(0,Y.getTypeVarArgumentsRecursive)(n)),e.typeParameters&&C.length>0&&(lt(i.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.protocolBaseClassWithTypeArgs(),t.valueExpression),C=[]))))}})),r.details.baseClasses.length>1){let t=!1,n=!1;r.details.baseClasses.forEach((e=>{(0,G.isInstantiableClass)(e)&&(G.ClassType.isBuiltIn(e,"NamedTuple")?t=!0:G.ClassType.isBuiltIn(e,"Generic")||(n=!0))})),t&&n&<(i.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.namedTupleMultipleInheritance(),e.name)}G.ClassType.isBuiltIn(r,"object")||0!==r.details.baseClasses.filter((e=>(0,G.isClass)(e))).length||r.details.baseClasses.push(ii(e,"object")),h=null!=h?h:C,h&&!e.typeParameters&&function(e,t,n){const i=t.filter((e=>!n.some((t=>t.details.name===e.details.name))));if(i.length>0){const t=new l.DiagnosticAddendum;t.addMessage(d.Localizer.DiagnosticAddendum.typeVarsMissing().format({names:i.map((e=>`"${e.details.name}"`)).join(", ")})),lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeVarsNotInGenericOrProtocol()+t.getString(),e)}}(e.name,m,h),r.details.typeParameters=null!=h?h:m,r.details.typeParameters.some((e=>0===e.details.declaredVariance&&void 0===e.computedVariance))&&(r.details.requiresVarianceInference=!0);const T=r.details.typeParameters.filter((e=>(0,G.isVariadicTypeVar)(e)));T.length>1&&ot(d.Localizer.Diagnostic.variadicTypeParamTooManyClass().format({names:T.map((e=>`"${e.details.name}"`)).join(", ")}),e.name,u.TextRange.combine(e.arguments)||e.name),(0,Y.computeMroLinearization)(r)||ot(d.Localizer.Diagnostic.methodOrdering(),e.name);const B=N.getScopeForNode(e.suite);r.details.fields=(null==B?void 0:B.symbolTable)||new Map;const Q=null==B?void 0:B.getSlotsNames();if(Q&&(r.details.localSlotsNames=Q),!i.isStubFile&&0===r.details.typeParameters.length){const t=r.details.fields.get("__init__");if(t){const n=t.getTypedDeclarations();if(1===n.length&&5===n[0].type){const t=n[0].node,i=t.parameters;if(i.length>1&&!i.some(((e,n)=>!!S.getTypeAnnotationForParameter(t,n)))){const n=i.filter(((e,t)=>t>0&&e.name&&0===e.category&&!e.defaultValue));n.length>0&&(r.details.flags|=16384,r.details.typeParameters=n.map((n=>{const i=G.TypeVarType.createInstance(vn(n.name.value));return i.details.isSynthesized=!0,i.scopeId=Tt(t),i.details.boundType=G.UnknownType.create(),G.TypeVarType.cloneForScopeId(i,Tt(e),e.name.value,0)})))}}}}if(0!==r.details.typeParameters.length||G.ClassType.isBuiltIn(r,"type")||(r.details.baseClasses.some((e=>(0,G.isInstantiableClass)(e)&&G.ClassType.hasCustomClassGetItem(e)))||r.details.fields.has("__class_getitem__"))&&(r.details.flags|=262144),I){const e=Pe(I,E).type;((0,G.isInstantiableClass)(e)||(0,G.isUnknown)(e))&&((0,Y.requiresSpecialization)(e)&<(i.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.metaclassIsGeneric(),I),r.details.declaredMetaclass=e,(0,G.isInstantiableClass)(e)&&(G.ClassType.isBuiltIn(e,"EnumMeta")?r.details.flags|=1048576:G.ClassType.isBuiltIn(e,"ABCMeta")&&(r.details.flags|=512)))}const _=Dn(r,e.name);r.details.flags&=-131073;let w,D=r,b=!1;for(let t=e.decorators.length-1;t>=0;t--){const n=e.decorators[t],s=Sn(D,r,n);(0,Y.containsUnknown)(s)?b||(lt(i.diagnosticRuleSet.reportUntypedClassDecorator,c.DiagnosticRule.reportUntypedClassDecorator,d.Localizer.Diagnostic.classDecoratorTypeUnknown(),e.decorators[t].expression),b=!0):D=s}if((0,G.isInstantiableClass)(_)&&_.details.classDataClassTransform)w=_.details.classDataClassTransform;else{const e=r.details.mro.find((e=>(0,G.isClass)(e)&&void 0!==e.details.classDataClassTransform));e&&(w=e.details.classDataClassTransform)}var F;if(w&&((0,v.applyDataClassDefaultBehaviors)(r,w),(0,v.applyDataClassClassBehaviorOverrides)(Ki,r,y)),F=r,he.forEach((e=>{e.dependency===F&&e.callback()})),he=he.filter((e=>e.dependency!==F)),G.ClassType.isTypedDictClass(r)&&(0,K.synthesizeTypedDictClassMethods)(Ki,e,r,(0,G.isClass)(D)&&G.ClassType.isFinal(D)),G.ClassType.isDataClass(r)){const t=G.ClassType.isSkipSynthesizedDataClassInit(r);let n=t;if(!t){const e=(0,Y.lookUpClassMember)(r,"__init__",2);if(e){const t=Ii(e);(0,G.isFunction)(t)&&G.FunctionType.isSynthesizedMethod(t)||(n=!0)}}let i=!1;const s=(0,Y.lookUpClassMember)(r,"__hash__",2);if(s){const e=Ii(s);(0,G.isFunction)(e)&&!G.FunctionType.isSynthesizedMethod(e)&&(i=!0)}(0,v.synthesizeDataClassMethods)(Ki,e,r,t,n,i)}if(r.details.localSlotsNames){let e=!0;const t=[...r.details.localSlotsNames];r.details.baseClasses.forEach((n=>{(0,G.isInstantiableClass)(n)?G.ClassType.isBuiltIn(n,"object")||G.ClassType.isBuiltIn(n,"type")||G.ClassType.isBuiltIn(n,"Generic")||(void 0===n.details.inheritedSlotsNames?e=!1:(0,a.appendArray)(t,n.details.inheritedSlotsNames)):e=!1})),e&&(r.details.inheritedSlotsNames=t)}return Te(e.name,r,0,!1),Te(e,D,0,!1),function(e,t,n){const i=n.length>0?n[0].node.name:e.name,s=Qt(i,t,!1,"__init_subclass__",{method:"get"},void 0,133,t);if(s){const e=s.type;e&&zt(i,n,{type:e},void 0,!1,G.NoneType.createInstance())}else if(t.details.effectiveMetaclass&&(0,G.isClass)(t.details.effectiveMetaclass)){const s=(0,Y.lookUpClassMember)(t.details.effectiveMetaclass,"__new__",32);if(s){const t=Ii(s);if((0,G.isFunction)(t)){const s=(0,Y.getParameterListDetails)(t);if(void 0!==s.firstKeywordOnlyIndex){const r=new Map;for(let e=s.firstKeywordOnlyIndex;e{var o,a,A;if(0===n.argumentCategory&&n.name){const l=null!==(o=r.get(n.name.value))&&void 0!==o?o:s.kwargsIndex;if(void 0!==l){const e=s.params[l];Xt({paramCategory:e.param.category,paramType:G.FunctionType.getEffectiveParameterType(t,e.index),requiresTypeVarMatching:!1,argument:n,errorNode:null!==(a=n.valueExpression)&&void 0!==a?a:i},new V.TypeVarContext,t,!0,!0,!1,void 0),r.delete(n.name.value)}else lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.paramNameMissing().format({name:n.name.value}),null!==(A=n.name)&&void 0!==A?A:i)}}));const o=[];if(r.forEach(((e,t)=>{s.params[e].param.hasDefault||o.push(t)})),o.length>0){const e=o.map((e=>`"${e}"`)).join(", ");lt(f.getFileInfo(i).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,1===o.length?d.Localizer.Diagnostic.argMissingForParam().format({name:e}):d.Localizer.Diagnostic.argMissingForParams().format({names:e}),i)}}}}}n.forEach((e=>{e.valueExpression&&Pe(e.valueExpression)}))}(e,r,y),G.ClassType.isBuiltIn(r,"UnionType")&&(Z=G.ClassType.cloneAsInstance(r)),{classType:r,decoratedType:D}}function _n(e){if(!e.details.requiresVarianceInference)return;if(!ee||!(0,G.isClassInstance)(ee))return;e.details.requiresVarianceInference=!1,e.details.typeParameters.forEach((e=>{0===e.details.declaredVariance&&(e.computedVariance=1)}));const t=e.details.typeParameters.map((e=>G.TypeVarType.cloneAsInvariant(e))),n=G.ClassType.cloneWithNewTypeParameters(e,t),i=G.ClassType.createInstantiable("__varianceDummy","","","",0,0,void 0,void 0);t.forEach(((s,r)=>{if(s.details.isVariadic||s.details.isParamSpec)return;if(0!==s.details.declaredVariance)return;const o=t.map(((e,t)=>e.details.isVariadic?e:t===r?ee:i)),a=t.map(((e,t)=>t===r||e.details.isVariadic?e:i)),A=G.ClassType.cloneForSpecialization(n,o,!0),l=G.ClassType.cloneForSpecialization(n,a,!0);let c;c=Ti(A,l)?3:Ti(l,A)?4:2,e.details.typeParameters[r].computedVariance=c}))}function wn(e){const t=[];return e.parameters.forEach((e=>{const n=f.getTypeParameterSymbol(e.name);(0,A.assert)(n);const i=hi(n,e.name);i&&(0,G.isTypeVar)(i)&&(Te(e.name,i,0,!1),t.push(i))})),t}function Dn(e,t){let n=e.details.declaredMetaclass,i=!1;if(!n||(0,G.isInstantiableClass)(n))for(const s of e.details.baseClasses){if(!(0,G.isInstantiableClass)(s)){n=G.UnknownType.create();break}{const e=s.details.effectiveMetaclass||te;if(!e||!(0,G.isInstantiableClass)(e)){n=e?G.UnknownType.create():void 0;break}n?(0,Y.derivesFromClassRecursive)(e,n,!1)?n=e:(0,Y.derivesFromClassRecursive)(n,e,!1)||i||(lt(f.getFileInfo(t).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.metaclassConflict(),t),i=!0):n=e}}if(!n){const e=ii(t,"type");n=e&&(0,G.isInstantiableClass)(e)?e:G.UnknownType.create()}return e.details.effectiveMetaclass=n,n}function Sn(e,t,n){let i=f.getFileInfo(n).isStubFile?4:0;9!==n.expression.nodeType&&(i|=2);const s=Pe(n.expression,i).type;if(9===n.expression.nodeType){const e=Pe(n.expression.leftExpression,2|i).type;(0,G.isFunction)(e)&&("__dataclass_transform__"!==e.details.name&&"dataclass_transform"!==e.details.builtInName||(t.details.classDataClassTransform=(0,v.validateDataClassTransformDecorator)(Ki,n.expression)))}if((0,G.isOverloadedFunction)(s)){const n=(0,v.getDataclassDecoratorBehaviors)(s);if(n)return(0,v.applyDataClassDecorator)(Ki,t,n,void 0),e}else if((0,G.isFunction)(s)){if("final"===s.details.builtInName)return t.details.flags|=4096,e;if("runtime_checkable"===s.details.builtInName)return t.details.flags|=32768,e;let r,o;if(9===n.expression.nodeType){o=n.expression;const e=Pe(o.leftExpression,2|i).type;r=(0,v.getDataclassDecoratorBehaviors)(e)}else{const e=Pe(n.expression,i).type;r=(0,v.getDataclassDecoratorBehaviors)(e)}if(r)return(0,v.applyDataClassDecorator)(Ki,t,r,o),e}return Ke(n,e)}function bn(e){const t=f.getFileInfo(e),n=Ee(e.name,0);if(n){if(!(0,G.isFunction)(n))return;return{functionType:n,decoratedType:Ee(e,0)||G.UnknownType.create()}}let i;const s=f.getDeclaration(e);s&&(i=s);const r=S.getEnclosingClass(e,!0);let o;if(r){const e=Qn(r);if(!e)return;o=e.classType}let A=Pn(e,!!r);(null==i?void 0:i.isGenerator)&&(A|=16),r&&"__class_getitem__"===e.name.value&&(A|=2),t.isStubFile?A|=2048:t.isInPyTypedPackage&&(A|=4096),e.isAsync&&(A|=512);const p=G.FunctionType.createInstance(e.name.value,function(e,t,n){const i=[n];let s=e;for(;s;)s=S.getEnclosingClassOrFunction(s),s&&i.push(s.name.value);return i.push(t),i.reverse().join(".")}(e,t.moduleName,e.name.value),t.moduleName,131072|A,S.getDocString(e.suite.statements));p.details.typeVarScopeId=Tt(e),"__init__"!==e.name.value&&"__new__"!==e.name.value||r&&(p.details.constructorTypeVarScopeId=Tt(r)),(t.isBuiltInStubFile||t.isTypingStubFile||t.isTypingExtensionsStubFile)&&(p.details.builtInName=e.name.value),p.details.declaration=i;const g=N.getScopeForNode(e),u=null==g?void 0:g.lookUpSymbolRecursive(e.name.value);i&&u&&Se(u.symbol,i,p),Te(e,p,void 0,!1),Te(e.name,p,void 0,!1);const h=o&&G.ClassType.isPseudoGenericClass(o)&&"__init__"===e.name.value,C=[];let m=0;if(o&&0==(4&p.details.flags)&&(m=1),e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=e.parameters.length-m,n=e.functionAnnotationComment.paramTypeAnnotations.length;m>0&&n===e.parameters.length?m=0:n!==t&&ot(d.Localizer.Diagnostic.annotatedParamCountMismatch().format({expected:t,received:n}),e.functionAnnotationComment)}e.typeParameters&&wn(e.typeParameters);const y=e=>{if(e.name){const n=ri(e.name,e.name.value,!1);n&&yt(t,n.symbol,e.name)}};let I=!0;const E=o&&(G.FunctionType.isClassMethod(p)||G.FunctionType.isInstanceMethod(p)||G.FunctionType.isConstructorMethod(p)),T=E?1:0;if(e.parameters.forEach(((n,i)=>{let s,r,a,A,g=!1;if(n.name&&(0===i&&E||G.FunctionType.isAbstractMethod(p)||o&&G.ClassType.isProtocolClass(o))&&y(n),n.typeAnnotation)a=n.typeAnnotation;else if(n.typeAnnotationComment)a=n.typeAnnotationComment;else if(e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=i-m;t>=0&&t0&&0===n.category&&n.name&&!n.defaultValue){const e=vn(n.name.value);r=o.details.typeParameters.find((t=>t.details.name===e))}if(r){const e=Fn(n,r);e!==r&&(r=e,g=!0)}if(n.defaultValue&&(A=Pe(n.defaultValue,1,r).type),r){if(n.defaultValue&&A){const i=new l.DiagnosticAddendum,s=new V.TypeVarContext(p.details.typeVarScopeId);if(o&&void 0!==o.details.typeVarScopeId&&("__init__"!==e.name.value&&"__new__"!==e.name.value||s.addSolveForScope(o.details.typeVarScopeId)),!Qi(r,A,i,s)){const e=lt(t.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.paramAssignmentMismatch().format({sourceType:Li(A),paramType:Li(r)})+i.getString(),n.defaultValue);if(g&&a){const t={action:"pyright.addoptionalforparam",offsetOfTypeNode:a.start+1};null==e||e.addAction(t)}}}s=r}if(i>=T){let e=!1;0===n.category&&n.name?(0,R.isPrivateName)(n.name.value)&&(e=!0):I=!1,I&&!e&&p.details.parameters.length>T&&G.FunctionType.addParameter(p,{category:0,type:G.UnknownType.create()}),e||(I=!1)}let u=!1;s||(u=!0,s=kn(e,p.details.flags,i,o));const f={category:n.category,name:n.name?n.name.value:void 0,hasDefault:!!n.defaultValue,defaultValueExpression:n.defaultValue,defaultType:A,type:null!=s?s:G.UnknownType.create(),typeAnnotation:a,hasDeclaredType:!!a,isTypeInferred:u};if(G.FunctionType.addParameter(p,f),n.name){const t=Nn(e,n.category,f.type);C.push(t)}else C.push(f.type)})),I&&p.details.parameters.length>T&&G.FunctionType.addParameter(p,{category:0,type:G.UnknownType.create()}),C.forEach(((t,n)=>{const i=e.parameters[n].name;i&&((0,G.isUnknown)(t)&&(p.details.flags|=16384),Te(i,t,0,!1))})),C.length>=2){const e=C[C.length-2],t=C[C.length-1];(0,G.isParamSpec)(e)&&"args"===e.paramSpecAccess&&(0,G.isParamSpec)(t)&&"kwargs"===t.paramSpecAccess&&(p.details.flags|=32768)}if(e.returnTypeAnnotation){p.details.declaredReturnType=G.UnknownType.create();const t=Le(e.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});p.details.declaredReturnType=t}else if(e.functionAnnotationComment){p.details.declaredReturnType=G.UnknownType.create();const t=Le(e.functionAnnotationComment.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});p.details.declaredReturnType=t}else t.isStubFile&&("__init__"===e.name.value?p.details.declaredReturnType=G.NoneType.createInstance():p.details.declaredReturnType=G.UnknownType.create());(t.isStubFile||S.isSuiteEmpty(e.suite))&&p.details.declaredReturnType&&(0,G.isClassInstance)(p.details.declaredReturnType)&&G.ClassType.isBuiltIn(p.details.declaredReturnType,["Generator","AsyncGenerator","AwaitableGenerator"])&&(p.details.flags|=16),p.details.flags&=-131073;const B=e.isAsync?function(e,t){const n=G.FunctionType.clone(t);return t.details.declaredReturnType&&(n.details.declaredReturnType=Rn(e,t.details.declaredReturnType,G.FunctionType.isGenerator(t))),n.details.flags|=1024,n}(e,p):p;let v=B,Q=!1;for(let n=e.decorators.length-1;n>=0;n--){const i=e.decorators[n],s=xn(v,p,i,e);(0,Y.containsUnknown)(s)?Q||(lt(t.diagnosticRuleSet.reportUntypedFunctionDecorator,c.DiagnosticRule.reportUntypedFunctionDecorator,d.Localizer.Diagnostic.functionDecoratorTypeUnknown(),e.decorators[n].expression),Q=!0):v=s}return(0,G.isFunction)(v)&&(G.FunctionType.isOverloaded(v)&&e.parameters.forEach((e=>{y(e)})),v=function(e,t){let n;const i=f.getDeclaration(e);i&&(n=i);const s=ri(e,e.name.value,!1);if(s){const i=s.symbol.getDeclarations(),r=i.findIndex((e=>e===n));if(r>0){for(let e=0;e{var i,s;const r=e.parameters[n];return(null===(i=r.name)||void 0===i?void 0:i.value)===(null===(s=t.name)||void 0===s?void 0:s.value)&&r.category===t.category}))){const t=i.parameters[n],r=null!==(s=t.typeAnnotation)&&void 0!==s?s:t.typeAnnotationComment;if(r){let t=Me(r,e.parameters[n].category);const i=f.getFileInfo(e);return i.isInPyTypedPackage&&!i.isStubFile&&(t=G.TypeBase.cloneForAmbiguousType(t)),t}}}}}const r=e.parameters[n].defaultValue;if(r){const t=Pe(r,1).type;let n;if((0,G.isNoneInstance)(t)?n=(0,G.combineTypes)([G.NoneType.createInstance(),G.UnknownType.create()]):(0,G.isClassInstance)(t)&&G.ClassType.isBuiltIn(t,["tuple","list","set","dict"])||(n=Re(t)),n){const t=f.getFileInfo(e);t.isInPyTypedPackage&&!t.isStubFile&&(n=G.TypeBase.cloneForAmbiguousType(n))}return n}}function Nn(e,t,n){switch(t){case 0:return n;case 1:return(0,G.isTypeVar)(n)&&n.paramSpecAccess?n:(0,G.isUnpackedClass)(n)?G.ClassType.cloneForUnpacked(n,!1):ie&&(0,G.isInstantiableClass)(ie)?G.ClassType.cloneAsInstance((0,Y.specializeTupleClass)(ie,[{type:n,isUnbounded:!(0,G.isVariadicTypeVar)(n)}],!0)):G.UnknownType.create();case 2:{if((0,G.isTypeVar)(n)&&n.paramSpecAccess)return n;if((0,G.isClassInstance)(n)&&G.ClassType.isTypedDictClass(n)&&n.isUnpacked)return n;const t=ii(e,"dict"),i=si(e,"str");return(0,G.isInstantiableClass)(t)&&(0,G.isClassInstance)(i)?G.ClassType.cloneAsInstance(G.ClassType.cloneForSpecialization(t,[i,n],!0)):G.UnknownType.create()}}}function Pn(e,t){const n=f.getFileInfo(e);let i=0;"__new__"===e.name.value&&t&&(i|=1),"__init_subclass__"===e.name.value&&t&&(i|=2);for(const s of e.decorators){let e=n.isStubFile?4:0;9!==s.expression.nodeType&&(e|=2);const r=Pe(s.expression,e).type;(0,G.isFunction)(r)?"abstractmethod"===r.details.builtInName?t&&(i|=8):"final"===r.details.builtInName&&(i|=8192):(0,G.isInstantiableClass)(r)&&(G.ClassType.isBuiltIn(r,"staticmethod")?t&&(i|=4):G.ClassType.isBuiltIn(r,"classmethod")&&t&&(i|=2))}return i}function xn(e,t,n,i){let s=f.getFileInfo(n).isStubFile?4:0;9!==n.expression.nodeType&&(s|=2);const r=Pe(n.expression,s).type;if(((0,G.isInstantiableClass)(r)&&G.ClassType.isSpecialBuiltIn(r,"overload")||(0,G.isFunction)(r)&&"overload"===r.details.builtInName)&&(0,G.isFunction)(e))return e.details.flags|=256,t.details.flags|=256,e;if(9===n.expression.nodeType){const i=Pe(n.expression.leftExpression,2|s).type;if((0,G.isFunction)(i)&&("__dataclass_transform__"===i.details.name||"dataclass_transform"===i.details.builtInName))return t.details.decoratorDataClassBehaviors=(0,v.validateDataClassTransformDecorator)(Ki,n.expression),e}let o=Ke(n,e);if((0,G.isFunction)(r)){if("abstractmethod"===r.details.builtInName)return e;if(35===n.expression.nodeType){const t=Pe(n.expression.leftExpression,2|s).type;if((0,Y.isProperty)(t)){const s=n.expression.memberName.value;if("setter"===s)return(0,G.isFunction)(e)?((0,F.validatePropertyMethod)(Ki,e,n),(0,F.clonePropertyWithSetter)(Ki,t,e,i)):e;if("deleter"===s)return(0,G.isFunction)(e)?((0,F.validatePropertyMethod)(Ki,e,n),(0,F.clonePropertyWithDeleter)(Ki,t,e,i)):e}}}else if((0,G.isInstantiableClass)(r)){if(G.ClassType.isBuiltIn(r))switch(r.details.name){case"classmethod":case"staticmethod":{const t="classmethod"===r.details.name?2:4;if((0,G.isFunction)(e)&&0==(e.details.flags&t)){const n=G.FunctionType.clone(e);return n.details.flags&=-8,n.details.flags|=t,n}return e}}if(G.ClassType.isPropertyClass(r)){if((0,G.isFunction)(e))return(0,F.validatePropertyMethod)(Ki,e,n),(0,F.createProperty)(Ki,n,r,e);if((0,G.isClassInstance)(e)){const t=Je(e,"__call__");return t&&(0,G.isFunction)(t)?(0,F.createProperty)(Ki,n,r,t):G.UnknownType.create()}}}return(0,G.isFunction)(e)&&(0,G.isFunction)(o)&&(o=G.FunctionType.clone(o),G.FunctionType.isOverloaded(e)&&(o.details.flags|=256),o.details.docString||(o.details.docString=e.details.docString)),o}function Rn(e,t,n){let i;if((0,G.isClassInstance)(t)&&G.ClassType.isBuiltIn(t))if("Generator"===t.details.name){const n=$e(e,"AsyncGenerator");if(n&&(0,G.isInstantiableClass)(n)){const e=[],s=t.typeArguments;s&&s.length>0&&e.push(s[0]),s&&s.length>1&&e.push(s[1]),i=G.ClassType.cloneAsInstance(G.ClassType.cloneForSpecialization(n,e,!0))}}else["AsyncGenerator","AsyncIterator","AsyncIterable"].some((e=>e===t.details.name))&&(i=t);if(!i||!n){const n=$e(e,"Coroutine");i=n&&(0,G.isInstantiableClass)(n)?G.ClassType.cloneAsInstance(G.ClassType.cloneForSpecialization(n,[G.AnyType.create(),G.AnyType.create(),t],!0)):G.UnknownType.create()}return i}function Mn(e,t){var n;if(e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation))return;let i=Ee(e.suite,0),s=!1;if(i)return{type:i,isIncomplete:s};if(ce.has(e.id)||ce.size>=12)i=G.UnknownType.create(),s=!0;else{ce.add(e.id);try{let n;const r=f.getDeclaration(e);r&&(n=r);const o=!it(e),a=it(e.suite);if(f.getFileInfo(e).isStubFile)i=G.UnknownType.create();else{if(o)i=t||function(e){if(!e||!e.isMethod||e.returnStatements||e.yieldStatements||!e.raiseStatements)return!1;for(const t of e.raiseStatements){if(!t.typeExpression||t.valueExpression)return!1;const e=Pe(t.typeExpression).type,n=(0,G.isInstantiableClass)(e)||(0,G.isClassInstance)(e)?e:void 0;if(!n||!G.ClassType.isBuiltIn(n,"NotImplementedError"))return!1}return!0}(n)?G.UnknownType.create():G.NeverType.createNoReturn();else{const e=[];(null==n?void 0:n.returnStatements)&&n.returnStatements.forEach((t=>{var n;if(nt(t))if(t.returnExpression){const i=Pe(t.returnExpression);i.isIncomplete&&(s=!0),e.push(null!==(n=i.type)&&void 0!==n?n:G.UnknownType.create())}else e.push(G.NoneType.createInstance())})),!o&&a&&e.push(G.NoneType.createInstance()),i=(0,G.combineTypes)(e),i=(0,G.removeUnbound)(i)}if(null==n?void 0:n.isGenerator){const t=[];let s=!1;n.yieldStatements&&n.yieldStatements.forEach((e=>{if(nt(e))if(61===e.nodeType){const n=Pe(e.expression).type;if((0,G.isClassInstance)(n)&&G.ClassType.isBuiltIn(n,"Coroutine"))t.push(),s=!0;else{const i=We(n,!1,e);t.push(null!=i?i:G.UnknownType.create())}}else if(e.expression){const n=Pe(e.expression).type;t.push(null!=n?n:G.UnknownType.create())}else t.push(G.NoneType.createInstance())})),0===t.length&&t.push(G.NoneType.createInstance());const r=(0,G.combineTypes)(t),o=$e(e,s?"AwaitableGenerator":"Generator");if(o&&(0,G.isInstantiableClass)(o)){const e=[];s&&e.push(G.AnyType.create()),e.push(r,G.NoneType.createInstance(),(0,G.isNever)(i)?G.NoneType.createInstance():i),i=G.ClassType.cloneAsInstance(G.ClassType.cloneForSpecialization(o,e,!0))}else i=G.UnknownType.create()}}Te(e.suite,i,0,s)}finally{ce.delete(e.id)}}return i?{type:i,isIncomplete:s}:void 0}function Ln(e){var t;if(Ee(e,0))return;const n=Pe(e.iterableExpression),i=null!==(t=We(n.type,!!e.isAsync,e.iterableExpression))&&void 0!==t?t:G.UnknownType.create();Ct(e.targetExpression,i,!!n.isIncomplete,e.targetExpression),Te(e,i,0,!!n.isIncomplete)}function Kn(e){if((0,A.assert)(void 0!==e.typeExpression),Ee(e,0))return;const t=Pe(e.typeExpression).type;function n(e,t){var n;if(e=dt(e),(0,G.isAnyOrUnknown)(e))return e;if((0,G.isInstantiableClass)(e))return G.ClassType.cloneAsInstance(e);if((0,G.isClassInstance)(e)){const i=null!==(n=We(e,!1,t))&&void 0!==n?n:G.UnknownType.create();return(0,Y.mapSubtypes)(i,(e=>(0,G.isAnyOrUnknown)(e)?e:G.UnknownType.create()))}return G.UnknownType.create()}let i=(0,Y.mapSubtypes)(t,(t=>{const i=(0,Y.getSpecializedTupleType)(t);if(i&&i.tupleTypeArguments){const t=i.tupleTypeArguments.map((t=>n(t.type,e.typeExpression)));return(0,G.combineTypes)(t)}return n(t,e.typeExpression)}));e.isExceptGroup&&(i=si(e,"ExceptionGroup",[i])),e.name&&Ct(e.name,i,!1,e.name),Te(e,i,0,!1)}function On(e){if(Ee(e,0))return;const t=Pe(e.expression);let n=t.type;const i=e.parent&&58===e.parent.nodeType&&!!e.parent.isAsync;(0,Y.isOptionalType)(n)&&(lt(f.getFileInfo(e).diagnosticRuleSet.reportOptionalContextManager,c.DiagnosticRule.reportOptionalContextManager,d.Localizer.Diagnostic.noneNotUsableWith(),e.expression),n=(0,G.removeNoneFromUnion)(n));const s=i?"__aenter__":"__enter__",r=(0,Y.mapSubtypes)(n,(t=>{var n;if(t=dt(t),(0,G.isAnyOrUnknown)(t))return t;const r=new l.DiagnosticAddendum,o=new l.DiagnosticAddendum;if((0,G.isClassInstance)(t)){const a=null===(n=Ve(e.expression,t,s,{method:"get"},r))||void 0===n?void 0:n.type;if(a){let t;return t=(0,G.isFunction)(a)?mi(a):G.UnknownType.create(),i&&(t=He(t,e.expression)),t}i||Ve(e.expression,t,"__aenter__",{method:"get"},r)&&o.addMessage(d.Localizer.DiagnosticAddendum.asyncHelp())}return lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeNotUsableWith().format({type:Li(t),method:s})+o.getString(),e.expression),G.UnknownType.create()})),o=i?"__aexit__":"__exit__";(0,Y.doForEachSubtype)(n,(t=>{if(t=dt(t),(0,G.isAnyOrUnknown)(t))return;const n=new l.DiagnosticAddendum;(0,G.isClassInstance)(t)&&Ve(e.expression,t,o,{method:"get"},n)||lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeNotUsableWith().format({type:Li(t),method:o}),e.expression)})),e.target&&Ct(e.target,r,!!t.isIncomplete,e.target),Te(e,r,0,!!t.isIncomplete)}function Un(e){var t;if(Ee(e,0))return;let n;if(n=e.alias?e.alias:e.module.nameParts[0],!n)return;let i=null!==(t=Jn(e,n.value))&&void 0!==t?t:G.UnknownType.create();const s=Ee(e,0);s&&(0,G.isModule)(s)&&i&&(0,G.isTypeSame)(i,s)&&(i=s),gt(n,i,!1,!1),Te(e,i,0,!1)}function Gn(t){var n;if(Ee(t,0))return;const i=t.alias||t.name,s=f.getFileInfo(t);if((null===(n=t.alias)||void 0===n?void 0:n.value)===t.name.value){const e=ri(t,t.name.value,!0);e&&yt(s,e.symbol,t)}let r=Jn(t,i.value);if(!r){const n=t.parent;(0,A.assert)(n&&22===n.nodeType),(0,A.assert)(!n.isWildcardImport);const i=f.getImportInfo(n.module);if(i&&i.isImportFound&&!i.isNativeLib){const n=i.resolvedPaths[i.resolvedPaths.length-1],o=e(n);let a=!1;if(o){if(a=!0,s.executionEnvironment.pythonVersion>=g.PythonVersion.V3_7||s.isStubFile){const e=o.symbolTable.get("__getattr__");if(e){const t=ui(e);(0,G.isFunction)(t)&&(r=mi(t),a=!1)}}}else n||(a=!0);a&<(s.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.importSymbolUnknown().format({name:t.name.value}),t.name)}r||(r=G.UnknownType.create())}gt(i,r,!1,!1),Te(t,r,0,!1)}function Yn(e){if(Ee(e,0))return;if(!e.parent||63!==e.parent.nodeType)return void(0,A.fail)("Expected parent of case statement to be match statement");const t=Pe(e.parent.subjectExpression);let n=t.type;for(const t of e.parent.cases){if(t===e)break;t.guardExpression||(n=(0,b.narrowTypeBasedOnPattern)(Ki,n,t.pattern,!1))}let i=!1;(0,Y.doForEachSubtype)(dt(n),(e=>{(0,G.isClassInstance)(e)&&G.ClassType.isBuiltIn(e,"object")&&(i=!0)})),n=(0,b.narrowTypeBasedOnPattern)(Ki,n,e.pattern,!0),(0,b.assignTypeToPatternTargets)(Ki,n,!!t.isIncomplete,i,e.pattern),Te(e,n,0,!!t.isIncomplete)}function Vn(e){if(Ee(e,0))return;const t=e.module.nameParts[0];let n=Jn(e,t.value);if(!n)return;const i=Ee(e,0);i&&(0,G.isModule)(i)&&n&&(0,G.isTypeSame)(n,i)&&(n=i),gt(t,n,!1,!1),Te(e,n,0,!1)}function zn(e){var t;if(3===(null===(t=e.parent)||void 0===t?void 0:t.nodeType))En(e.parent);else{const t=Le(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:S.isFinalAllowedForAssignmentTarget(e.valueExpression),allowClassVar:S.isClassVarAllowedForAssignmentTarget(e.valueExpression)});Te(e.valueExpression,t,0,!1)}}function Jn(e,t){const i=ri(e,t,!0);if(!i)return;const s=i.symbol.getDeclarations().filter((t=>S.isNodeContainedWithin(e,t.node)&&8===t.type));let r=s.length>0?s[s.length-1]:void 0;if(r||(r=i.symbol.getDeclarations().find((e=>8===e.type))),!r)return;(0,A.assert)(8===r.type);const o=f.getFileInfo(e),a=gi(r,!0,o.isStubFile);if(a){if(!a.declaration)return n.evaluateUnknownImportsAsAny?G.AnyType.create():G.UnknownType.create();if(23===e.nodeType&&(a.isPrivate&<(o.diagnosticRuleSet.reportPrivateUsage,c.DiagnosticRule.reportPrivateUsage,d.Localizer.Diagnostic.privateUsedOutsideOfModule().format({name:e.name.value}),e.name),a.privatePyTypedImporter)){const t=new l.DiagnosticAddendum;a.privatePyTypedImported&&t.addMessage(d.Localizer.DiagnosticAddendum.privateImportFromPyTypedSource().format({module:a.privatePyTypedImported})),lt(o.diagnosticRuleSet.reportPrivateImportUsage,c.DiagnosticRule.reportPrivateImportUsage,d.Localizer.Diagnostic.privateImportFromPyTypedModule().format({name:e.name.value,module:a.privatePyTypedImporter})+t.getString(),e.name)}return ci(i.symbol,r)}}function jn(e){var t,n,i,s,r;if(38===e.nodeType&&e.parent){if(28===e.parent.nodeType&&e.parent.name===e)return void bn(e.parent);if(10===e.parent.nodeType&&e.parent.name===e)return void Qn(e.parent);if(77===e.parent.nodeType&&e.parent.name===e)return void Tn(e.parent);if(29===e.parent.nodeType||39===e.parent.nodeType)return void Pe(e,4);if(37===e.parent.nodeType)return}const o=S.getParentAnnotationNode(e);if(o){const e=o.parent;return(0,A.assert)(void 0!==e),3===e.nodeType?void(o===e.typeAnnotationComment?Le(o,{isVariableAnnotation:!0,allowFinal:S.isFinalAllowedForAssignmentTarget(e.leftExpression),allowClassVar:S.isClassVarAllowedForAssignmentTarget(e.leftExpression)}):En(e)):54===e.nodeType?void zn(e):28===e.nodeType&&o===e.returnTypeAnnotation?void Le(o,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0}):void Le(o)}const a=S.getParentNodeOfType(e,64);if(a){const t=a;if(S.isNodeContainedWithin(e,t.pattern))return void Yn(t)}let l=e,c=0;for(;;){const e=S.getParentNodeOfType(l,1);if(e&&e!==l&&((0,A.assert)(void 0!==e.parent),9===e.parent.nodeType||24===e.parent.nodeType)){l=e.parent;continue}let t=l.parent;if(!t)break;if(4!==t.nodeType||l!==t.name){if(9===t.nodeType||35===t.nodeType){if(l===t.leftExpression){if(9===l.nodeType&&38===l.leftExpression.nodeType&&"super"===l.leftExpression.value){l=t;continue}c=2;break}}else if(24===t.nodeType){if(l===t.baseExpression){c=2;break}}else if(15!==l.nodeType&&31!==l.nodeType&&30!==l.nodeType&&45!==l.nodeType&&52!==l.nodeType&&56!==l.nodeType&&32!==l.nodeType)break;if(!(0,h.isExpressionNode)(t))if(17===t.nodeType||16===t.nodeType||33===t.nodeType||34===t.nodeType)(0,A.assert)(void 0!==t.parent&&(0,h.isExpressionNode)(t.parent)),t=t.parent;else{if(41!==t.nodeType)break;if((0,A.assert)(void 0!==t.parent),30!==t.parent.nodeType)break;t=t.parent}l=t}else l=t}const p=l.parent;switch((0,A.assert)(void 0!==p),p.nodeType){case 14:return void mt(l);case 75:if(l===p.name&&76===(null===(t=p.parent)||void 0===t?void 0:t.nodeType)&&77===(null===(n=p.parent.parent)||void 0===n?void 0:n.nodeType))return void Tn(p.parent.parent);break;case 77:return void Tn(p);case 13:return void(10===(null===(i=p.parent)||void 0===i?void 0:i.nodeType)?Qn(p.parent):28===(null===(s=p.parent)||void 0===s?void 0:s.nodeType)&&bn(p.parent));case 41:if(l!==p.defaultValue)return void qn(p);break;case 1:if(l===p.name)return;if(10===(null===(r=p.parent)||void 0===r?void 0:r.nodeType))return void Qn(p.parent);break;case 44:if(p.returnExpression){const t=S.getEnclosingFunction(e),n=t?fi(t):void 0;return void Pe(p.returnExpression,0,n)}break;case 54:return void zn(p);case 3:return void En(p)}54!==l.nodeType?Pe(l,c):zn(l)}function qn(e){if(!e.name)return;const t=e.parent;if(30===t.nodeType)return void jn(t);(0,A.assert)(28===t.nodeType);const n=t,i=n.parameters.findIndex((t=>t===e)),s=S.getTypeAnnotationForParameter(n,i);if(s){const t=n.parameters[i],r=Me(s,n.parameters[i].category),o=Nn(e,e.category,Fn(t,r));return void Te(e.name,o,0,!1)}const r=S.getEnclosingClass(n,!0),o=r?Qn(r):void 0;if(o&&G.ClassType.isPseudoGenericClass(null==o?void 0:o.classType)&&"__init__"===n.name.value){const t=vn(e.name.value),n=o.classType.details.typeParameters.find((e=>e.details.name===t));if(n)return void Te(e.name,n,0,!1)}const a=kn(n,Pn(n,!0),i,null==o?void 0:o.classType);Te(e.name,Nn(e,e.category,null!=a?a:G.UnknownType.create()),0,!1)}function Hn(e){Ne(e);let t=e;for(;t;){switch(t.nodeType){case 3:if(!t.parent||3!==t.parent.nodeType&&4!==t.parent.nodeType&&5!==t.parent.nodeType||t.parent.rightExpression!==t)return void En(t);break;case 77:return void Tn(t);case 4:return void Pe(t);case 5:return void Bn(t);case 10:return void Qn(t);case 41:return void qn(t);case 30:return void jn(t);case 28:return void bn(t);case 26:return void Ln(t);case 25:return void Kn(t);case 59:return void On(t);case 33:{const e=t.parent;if((0,A.assert)(32===e.nodeType),t===e.expression)jn(e);else for(const n of e.forIfNodes)if(un(n),n===t)break;return}case 21:return void Un(t);case 23:return void Gn(t);case 22:return void Vn(t);case 64:return void Yn(t)}t=t.parent}(0,A.fail)("Unexpected statement")}function Wn(e,t){let n=Ee(e,void 0);if(n)return{type:n};const i=le;try{if(le||(le=new Map),t(),n=Ee(e,void 0),n)return{type:n};if(n=le.get(e.id),n)return{type:n,isIncomplete:!0};le=i}catch(e){throw le=i,e}}function Xn(e){let t=pe.get(e);return t||(t=Oi.createCodeFlowAnalyzer(),pe.set(e,t)),t}function $n(e,t,n,i,s,r=!1){var o;const a=(0,E.createKeyForReference)(e),l=S.getExecutionScopeNode(null!==(o=null==s?void 0:s.parent)&&void 0!==o?o:e),c=f.getCodeFlowExpressions(l);if(!c||!c.has(a))return{type:void 0,isIncomplete:!1};if(tt(e))return{type:void 0,isIncomplete:!0};let p;p=Qe(l)?function(){const e=me.length;return(0,A.assert)(e>0),me[e-1].codeFlowAnalyzer}():Xn(l.id);const g=f.getFlowNode(null!=s?s:e);return void 0===g?{type:void 0,isIncomplete:!1}:p.getTypeFromCodeFlow(g,e,t,n,i,r)}function Zn(e,t,n,i){if(G.ClassType.isSpecialBuiltIn(e)){const s=e.aliasName||e.details.name;switch(s){case"Callable":return function(e,t){const n=G.FunctionType.createInstantiable(0);if(G.TypeBase.setSpecialForm(n),n.details.declaredReturnType=G.UnknownType.create(),n.details.typeVarScopeId=Tt(t),e&&e.length>0){if(e[0].typeList){const t=e[0].typeList;let i=!1,s=!1;const r=e=>{i&&(s||(ot(d.Localizer.Diagnostic.variadicTypeArgsTooMany(),e.node),s=!0)),i=!0};t.forEach(((e,t)=>{let i=e.type,s=0;const o=`__p${t.toString()}`;(0,G.isVariadicTypeVar)(i)?(wt(i,e.node),s=1,r(e)):hn(e,{allowUnpackedTuples:!0})?(0,G.isUnpackedClass)(i)&&(s=1,r(e)):i=G.UnknownType.create(),G.FunctionType.addParameter(n,{category:s,name:o,isNameSynthesized:!0,type:(0,Y.convertToInstance)(i),hasDeclaredType:!0})})),G.FunctionType.addParameter(n,{category:0,isNameSynthesized:!1,type:G.UnknownType.create()})}else if((0,Y.isEllipsisType)(e[0].type))G.FunctionType.addDefaultParameters(n),n.details.flags|=32768;else if((0,G.isParamSpec)(e[0].type))n.details.paramSpec=e[0].type;else if((0,G.isInstantiableClass)(e[0].type)&&G.ClassType.isBuiltIn(e[0].type,"Concatenate")){const t=e[0].type.typeArguments;t&&t.length>0&&t.forEach(((e,i)=>{i===t.length-1?(G.FunctionType.addParameter(n,{category:0,isNameSynthesized:!1,type:G.UnknownType.create()}),(0,G.isParamSpec)(e)&&(n.details.paramSpec=e)):G.FunctionType.addParameter(n,{category:0,name:`__p${i}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})}))}else ot(d.Localizer.Diagnostic.callableFirstArg(),e[0].node);if(e.length>1){let t=e[1].type;hn(e[1])||(t=G.UnknownType.create()),n.details.declaredReturnType=(0,Y.convertToInstance)(t)}else lt(f.getFileInfo(t).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.callableSecondArg(),t),n.details.declaredReturnType=G.UnknownType.create();e.length>2&&ot(d.Localizer.Diagnostic.callableExtraArgs(),e[2].node)}else G.FunctionType.addDefaultParameters(n,!0),n.details.flags|=32768;return n}(t,i);case"Never":return t&&t.length>0&&ot(d.Localizer.Diagnostic.typeArgsExpectingNone().format({name:"Never"}),t[0].node),G.NeverType.createNever();case"NoReturn":return t&&t.length>0&&ot(d.Localizer.Diagnostic.typeArgsExpectingNone().format({name:"NoReturn"}),t[0].node),G.NeverType.createNoReturn();case"Optional":return function(e,t,n,i){if(!n)return 0!=(1024&i)?(ot(d.Localizer.Diagnostic.optionalExtraArgs(),t),G.UnknownType.create()):e;if(n.length>1)return ot(d.Localizer.Diagnostic.optionalExtraArgs(),t),G.UnknownType.create();let s=n[0].type;hn(n[0])?G.TypeBase.isInstantiable(s)||(pt(s,n[0].node),s=G.UnknownType.create()):s=G.UnknownType.create();const r=(0,G.combineTypes)([s,G.NoneType.createType()]);return(0,G.isUnion)(r)&&G.TypeBase.setSpecialForm(r),r}(e,i,t,n);case"Type":{if(1===(null==t?void 0:t.length)&&(0,G.isAnyOrUnknown)(t[0].type)&&te&&(0,G.isInstantiableClass)(te))return te;let n=yn(e,t,1);return(0,G.isInstantiableClass)(n)&&(n=(0,Y.explodeGenericClass)(n)),n}case"ClassVar":return function(e,t,n,i){var s;if(131072&i)return ot(d.Localizer.Diagnostic.classVarNotAllowed(),t),G.AnyType.create();if(!n)return e;if(0===n.length)return ot(d.Localizer.Diagnostic.classVarFirstArgMissing(),t),G.UnknownType.create();if(n.length>1)return ot(d.Localizer.Diagnostic.classVarTooManyArgs(),n[1].node),G.UnknownType.create();const r=n[0].type;return(0,Y.requiresSpecialization)(r,!0,!0)&<(f.getFileInfo(t).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.classVarWithTypeVar(),null!==(s=n[0].node)&&void 0!==s?s:t),r}(e,i,t,n);case"Protocol":return yn(e,t,void 0,!0);case"Tuple":return yn(e,t,void 0);case"Union":return function(e,t,n,i){const s=[];if(!n)return 0!=(1024&i)?(ot(d.Localizer.Diagnostic.unionTypeArgCount(),t),G.NeverType.createNever()):e;for(const e of n){let t=e.type;hn(e,{allowVariadicTypeVar:!0,allowUnpackedTuples:!0})?G.TypeBase.isInstantiable(t)||(pt(t,e.node),t=G.UnknownType.create()):t=G.UnknownType.create(),(0,G.isUnpackedClass)(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach((e=>{s.push((0,Y.convertToInstantiable)(e.type))})):((0,G.isTypeVar)(t)&&(0,G.isVariadicTypeVar)(t)&&t.isVariadicUnpacked&&(t=G.TypeVarType.cloneForUnpacked(t,!0)),s.push(t))}1===s.length&&((0,G.isVariadicTypeVar)(s[0])||(0,G.isUnpacked)(s[0])||(0,G.isNoneInstance)(s[0])||ot(d.Localizer.Diagnostic.unionTypeArgCount(),t));const r=(0,G.combineTypes)(s);return(0,G.isUnion)(r)&&G.TypeBase.setSpecialForm(r),r}(e,i,t,n);case"Generic":return function(e,t,n,i){if(!n)return 0!=(263168&i)&&ot(d.Localizer.Diagnostic.genericTypeArgMissing(),t),e;const s=[];return n&&(0===n.length&&ot(d.Localizer.Diagnostic.genericTypeArgMissing(),t),n.forEach((e=>{(0,G.isTypeVar)(e.type)?(s.some((t=>(0,G.isTypeSame)(t,e.type)))&&ot(d.Localizer.Diagnostic.genericTypeArgUnique(),e.node),s.push(e.type)):ot(d.Localizer.Diagnostic.genericTypeArgTypeVar(),e.node)}))),yn(e,n,void 0,!0)}(e,i,t,n);case"Final":return function(e,t,n,i){return 16&i?(ot(d.Localizer.Diagnostic.finalContext(),t),G.AnyType.create()):n&&0!==n.length?(n.length>1&&ot(d.Localizer.Diagnostic.finalTooManyArgs(),t),n[0].type):e}(e,i,t,n);case"Annotated":return function(e,t){return t&&t.length<2&&ot(d.Localizer.Diagnostic.annotatedTypeArgMissing(),e),t&&0!==t.length?G.TypeBase.cloneForAnnotated(t[0].type):G.AnyType.create()}(i,t);case"Concatenate":return function(e,t,n){return n&&0!==n.length?n.forEach(((e,t)=>{t===n.length-1?(0,G.isParamSpec)(e.type)||ot(d.Localizer.Diagnostic.concatenateParamSpecMissing(),e.node):(0,G.isParamSpec)(e.type)&&ot(d.Localizer.Diagnostic.paramSpecContext(),e.node)})):ot(d.Localizer.Diagnostic.concatenateTypeArgsMissing(),e),yn(t,n,void 0,!0)}(i,e,t);case"TypeGuard":case"StrictTypeGuard":return function(e,t,n,i){if(!n)return 0!=(1024&i)&&ot(d.Localizer.Diagnostic.typeGuardArgCount(),e),t;if(1!==n.length)return ot(d.Localizer.Diagnostic.typeGuardArgCount(),e),G.UnknownType.create();const s=n.map((e=>(0,Y.convertToInstance)(hn(e)?e.type:G.UnknownType.create())));return G.ClassType.cloneForSpecialization(t,s,!0)}(i,e,t,n);case"Unpack":return function(e,t,n,i){if(!n&&0==(1024&i))return e;if(!n||1!==n.length)return ot(d.Localizer.Diagnostic.unpackArgCount(),t),G.UnknownType.create();let s=n[0].type;(0,G.isUnion)(s)&&1===s.subtypes.length&&(s=s.subtypes[0]);const r=f.getFileInfo(t);return 0!=(2097152&i)?(0,G.isInstantiableClass)(s)&&!s.includeSubclasses&&(0,Y.isTupleClass)(s)?G.ClassType.cloneForUnpacked(s):(0,G.isVariadicTypeVar)(s)&&!s.isVariadicUnpacked?G.TypeVarType.cloneForUnpacked(s):(lt(r.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.unpackExpectedTypeVarTuple(),t),G.UnknownType.create()):0!=(8388608&i)?(0,G.isInstantiableClass)(s)&&G.ClassType.isTypedDictClass(s)?G.ClassType.cloneForUnpacked(s):(lt(r.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.unpackExpectedTypedDict(),t),G.UnknownType.create()):(lt(r.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.unpackNotAllowed(),t),G.UnknownType.create())}(e,i,t,n);case"Required":case"NotRequired":return function(e,t,n,i,s){var r;if(!i&&0==(1024&s))return e;if(!i||1!==i.length)return ot(n?d.Localizer.Diagnostic.requiredArgCount():d.Localizer.Diagnostic.notRequiredArgCount(),t),e;const o=i[0].type,a=S.getEnclosingClass(t,!0),A=a?Qn(a):void 0;let l=!1;return A&&(0,G.isInstantiableClass)(A.classType)&&G.ClassType.isTypedDictClass(A.classType)&&54===(null===(r=t.parent)||void 0===r?void 0:r.nodeType)&&t.parent.typeAnnotation===t&&(l=!0),0!=(1048576&s)&&(l=!0),l?o:(ot(n?d.Localizer.Diagnostic.requiredNotInTypedDict():d.Localizer.Diagnostic.notRequiredNotInTypedDict(),t),G.ClassType.cloneForSpecialization(e,[(0,Y.convertToInstance)(o)],!!i))}(e,i,"Required"===s,t,n);case"Self":return function(e,t,n){var i;const s=f.getFileInfo(t);n&<(s.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeArgsExpectingNone().format({name:e.details.name}),null!==(i=n[0].node)&&void 0!==i?i:t);const r=S.getEnclosingClass(t),o=r?Qn(r):void 0;if(!o)return lt(s.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.selfTypeContext(),t),G.UnknownType.create();const a=S.getEnclosingFunction(t);if(a){const e=Pn(a,!0);if(!S.getEnclosingFunction(a)){if(4&e)return lt(s.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.selfTypeContext(),t),G.UnknownType.create();if(a.parameters.length>0){const e=S.getTypeAnnotationForParameter(a,0);if(e&&!S.isNodeContainedWithin(t,e)){const n=Le(e,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});(0,G.isTypeVar)(n)&&n.details.isSynthesizedSelf||lt(s.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.selfTypeWithTypedSelfOrCls(),t)}}}}return(0,Y.synthesizeTypeVarForSelfCls)(o.classType,!0)}(e,i,t);case"LiteralString":return yn(e,t,0)}}const s=f.getFileInfo(i);if(s.isStubFile||s.executionEnvironment.pythonVersion>=g.PythonVersion.V3_9||(0,y.isAnnotationEvaluationPostponed)(f.getFileInfo(i))||0!=(4&n)){if(G.ClassType.isBuiltIn(e,"type")&&t){if(1===t.length&&(0,G.isAnyOrUnknown)(t[0].type))return e;const n=$e(i,"Type");if(n&&(0,G.isInstantiableClass)(n)){let e=yn(n,t,1,void 0,!0);return(0,G.isInstantiableClass)(e)&&(e=(0,Y.explodeGenericClass)(e)),e}}if((0,Y.isTupleClass)(e))return yn(e,t,void 0,void 0,!0)}let r=t?t.length:0;const o=G.ClassType.isPseudoGenericClass(e)?[]:G.ClassType.getTypeParameters(e);if(0===o.length&&0===r)return e;const a=o.findIndex((e=>(0,G.isVariadicTypeVar)(e)));if(t){if(r>o.length){if(!G.ClassType.isPartiallyEvaluated(e)&&!G.ClassType.isTupleClass(e)){const n=f.getFileInfo(i);0===o.length?lt(n.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeArgsExpectingNone().format({name:e.aliasName||e.details.name}),t[o.length].node):1===o.length&&(0,G.isParamSpec)(o[0])||lt(n.diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:o.length,received:r}),t[o.length].node)}r=o.length}else r0?t[0].node.parent:i);t.forEach(((e,t)=>{if(t===a){if((0,G.isClassInstance)(e.type)&&(0,Y.isTupleClass)(e.type))return;if((0,G.isVariadicTypeVar)(e.type))return void wt(e.type,e.node)}const n=t!(0,Y.isEllipsisType)(e.type)&&!e.typeList&&!(0,G.isParamSpec)(e.type))))1===t.length&&(0,G.isInstantiableClass)(t[0].type)&&G.ClassType.isBuiltIn(t[0].type,"Concatenate")||(t=[{type:G.UnknownType.create(),node:t[0].node,typeList:t}]);else if(t.length>1){const e=t.find((e=>(0,G.isParamSpec)(e.type)));e&&ot(d.Localizer.Diagnostic.paramSpecContext(),e.node);const n=t.find((e=>!!e.typeList));n&&ot(d.Localizer.Diagnostic.typeArgListNotAllowed(),n.node)}return p.forEach(((e,n)=>{if(t&&n{G.FunctionType.addParameter(i,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:(0,Y.convertToInstance)(e.type),hasDeclaredType:!0})})),void A.push(i);if((0,G.isInstantiableClass)(e.type)&&G.ClassType.isBuiltIn(e.type,"Concatenate")){const t=e.type.typeArguments;return t&&t.length>0&&t.forEach(((e,n)=>{n===t.length-1?(0,G.isParamSpec)(e)&&(i.details.paramSpec=e):G.FunctionType.addParameter(i,{category:0,name:`__p${n}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})})),void A.push(i)}}A.push((0,Y.convertToInstance)(t[n].type))}else A.push(G.UnknownType.create())})),A=A.map(((e,n)=>{if(nG.maxTypeRecursionCount)return t;if(s++,(0,G.isAnyOrUnknown)(t))return t;let r=t;if((0,G.isTypeVar)(t)){if((0,G.isTypeSame)(t,e,{},s))return t;r=dt(t)}if(e.details.boundType&&!Qi(e.details.boundType,r,n.createAddendum(),void 0,void 0,i,s))return void(e.details.isSynthesized||n.addMessage(d.Localizer.DiagnosticAddendum.typeBound().format({sourceType:Li(r),destType:Li(e.details.boundType),name:G.TypeVarType.getReadableName(e)})));if(e.details.isParamSpec)return(0,G.isParamSpec)(t)||(0,G.isFunction)(t)&&G.FunctionType.isParamSpecValue(t)||(0,G.isClassInstance)(t)&&G.ClassType.isBuiltIn(t,"Concatenate")?t:void n.addMessage(d.Localizer.DiagnosticAddendum.typeParamSpec().format({type:Li(t),name:G.TypeVarType.getReadableName(e)}));if((0,G.isTypeVar)(t)&&t.details.isParamSpec)return void n.addMessage(d.Localizer.Diagnostic.paramSpecContext());const o=e.details.constraints;if(0===o.length)return t;if((0,G.isTypeVar)(t)&&t.details.constraints.length>0){if(t.details.constraints.every((e=>o.some((t=>Qi(t,e,void 0,void 0,void 0,0,s))))))return t}else{let e;for(const t of o)Qi(t,r,void 0,void 0,void 0,0,s)&&(e&&!Qi(e,t,void 0,void 0,void 0,0,s)||(e=t));if(e)return e}n.addMessage(d.Localizer.DiagnosticAddendum.typeConstrainedTypeVar().format({type:Li(t),name:G.TypeVarType.getReadableName(e)}))}(o[n],e,i);s?e=s:(0,G.isClassInstance)(e)&&G.ClassType.isPartiallyEvaluated(e)||lt(f.getFileInfo(t[n].node).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeVarAssignmentMismatch().format({type:Li(e),name:G.TypeVarType.getReadableName(o[n])})+i.getString(),t[n].node)}return e})),G.ClassType.cloneForSpecialization(e,A,void 0!==t)}function ei(e){return e.typeResult?{type:e.typeResult.type,isIncomplete:e.typeResult.isIncomplete}:e.valueExpression?Pe(e.valueExpression):{type:G.UnknownType.create()}}function ti(e){return e.typeResult?{type:e.typeResult.type,isIncomplete:e.typeResult.isIncomplete}:ni(e.valueExpression)}function ni(e,t=!1,n=!1){let i=131304;return f.getFileInfo(e).isStubFile?i|=4:i|=4194304,t||(i|=16),n&&(i|=1048576),Pe(e,i)}function ii(e,t){const n=N.getScopeForNode(e);if(n){const e=N.getBuiltInScope(n).lookUpSymbol(t);if(e)return ui(e)}return G.UnknownType.create()}function si(e,t,n){const i=ii(e,t);if((0,G.isInstantiableClass)(i)){let e=i;return n&&(e=G.ClassType.cloneForSpecialization(e,n,void 0!==n)),G.ClassType.cloneAsInstance(e)}return i}function ri(e,t,n,i=!1){var s;const r=N.getScopeForNode(e);let o=null==r?void 0:r.lookUpSymbolRecursive(t);const a=null!==(s=null==r?void 0:r.type)&&void 0!==s?s:3;if(o&&n&&1!==a&&0!==a&&0===o.symbol.getDeclarations().filter((t=>{if(8!==t.type&&0!==t.type){const n=S.getExecutionScopeNode(e),i=6===t.type||5===t.type||4===t.type?t.node.name:t.node;if(n===S.getExecutionScopeNode(i)&&!st(i,e)){const t=f.getFlowNode(e);return!(t&&Oi.isFlowNodeReachable(t,void 0,!0))}}return!0})).length)if(1!==o.scope.type){let e=o.scope.parent;const n=o.isOutsideCallerModule||3===o.scope.type;let i=o.isBeyondExecutionScope||o.scope.isIndependentlyExecutable();if(2===o.scope.type){const t=o.scope.getGlobalScope();e=t.scope,t.isBeyondExecutionScope&&(i=!0)}o=e?e.lookUpSymbolRecursive(t,n,i):void 0}else o=void 0;if(o&&i){let e=o;for(;3!==e.scope.type&&4!==e.scope.type&&e.scope.parent&&(e=e.scope.parent.lookUpSymbolRecursive(t,e.isOutsideCallerModule,e.isBeyondExecutionScope||e.scope.isIndependentlyExecutable()),e););3!==(null==e?void 0:e.scope.type)&&4!==(null==e?void 0:e.scope.type)||(o=e)}return o}function oi(e,t){W.push(e);try{const e=t();return W.pop(),e}catch(e){throw W.pop(),e}}function ai(e,t,n=!0){H.enterSpeculativeContext(e,n);try{const e=t();return H.leaveSpeculativeContext(),e}catch(e){throw H.leaveSpeculativeContext(),e}}function Ai(e,t){if((0,G.isFunction)(e)&&e.details.declaration){const n=e.details.declaration;if(5===n.type){const e=n.node,i=f.getScope(e);if(i){const e=i.lookUpSymbol(t);if(e)return e.getDeclarations().find((e=>2===e.type))}}}}function li(e){var t,n;switch(e.type){case 0:{if("Any"===e.intrinsicType)return G.AnyType.create();if("class"===e.intrinsicType){const t=Qn(S.getEnclosingClass(e.node));return null==t?void 0:t.classType}const t=si(e.node,"str"),n=si(e.node,"int");if((0,G.isClassInstance)(n)&&(0,G.isClassInstance)(t)){if("str"===e.intrinsicType)return t;if("str | None"===e.intrinsicType)return(0,G.combineTypes)([t,G.NoneType.createInstance()]);if("int"===e.intrinsicType)return n;if("Iterable[str]"===e.intrinsicType){const n=ii(e.node,"Iterable");if((0,G.isInstantiableClass)(n))return G.ClassType.cloneAsInstance(G.ClassType.cloneForSpecialization(n,[t],!0))}if("Dict[str, Any]"===e.intrinsicType){const n=ii(e.node,"dict");if((0,G.isInstantiableClass)(n))return G.ClassType.cloneAsInstance(G.ClassType.cloneForSpecialization(n,[t,G.AnyType.create()],!0))}}return G.UnknownType.create()}case 6:{const t=Qn(e.node);return null==t?void 0:t.decoratedType}case 7:return Le(e.node.typeAnnotation);case 5:{const t=bn(e.node);return null==t?void 0:t.decoratedType}case 4:return Tn(e.node);case 2:{let n=e.node.typeAnnotation||e.node.typeAnnotationComment;if(!n&&28===(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType)){const t=e.node.parent;if(t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const i=t.parameters.findIndex((t=>t===e.node));n=S.getTypeAnnotationForParameter(t,i)}}if(n){const t=Me(n,e.node.category);return Nn(e.node,e.node.category,Fn(e.node,t))}return}case 3:{let t=G.TypeVarType.createInstantiable(e.node.name.value);if(e.node.typeParamCategory===h.TypeParameterCategory.TypeVarTuple?t.details.isVariadic=!0:e.node.typeParamCategory===h.TypeParameterCategory.ParamSpec&&(t.details.isParamSpec=!0),e.node.boundExpression)if(52===e.node.boundExpression.nodeType){const n=e.node.boundExpression.expressions.map((e=>{const t=ni(e).type;return(0,Y.requiresSpecialization)(t,!0)&&ot(d.Localizer.Diagnostic.typeVarGeneric(),e),(0,Y.convertToInstance)(t)}));n.length<2?lt(f.getFileInfo(e.node.boundExpression).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.typeVarSingleConstraint(),e.node.boundExpression):e.node.typeParamCategory===h.TypeParameterCategory.TypeVar&&(t.details.constraints=n)}else{const n=ni(e.node.boundExpression).type;(0,Y.requiresSpecialization)(n,!0)&&ot(d.Localizer.Diagnostic.typeVarGeneric(),e.node.boundExpression),e.node.typeParamCategory===h.TypeParameterCategory.TypeVar&&(t.details.boundType=(0,Y.convertToInstance)(n))}t.details.isTypeParamSyntax=!0;const n=S.getTypeVarScopeNode(e.node);if(n){let e;10===n.nodeType?(e=0,t.details.declaredVariance=0):28===n.nodeType?e=1:((0,A.assert)(77===n.nodeType),e=2),t=G.TypeVarType.cloneForScopeId(t,Tt(77===n.nodeType?n.name:n),n.name.value,e)}return t}case 1:{const t=e.typeAnnotationNode;if(t){const i=je(t)?S.getTypeAnnotationNode(t):void 0;let s;if(e.isRuntimeTypeExpression)s=(0,Y.convertToInstance)(ni(t,!0,!0).type);else{const i=e.isDefinedByMemberAccess&&35===(null===(n=e.node.parent)||void 0===n?void 0:n.nodeType)?e.node.parent:e.node;s=Le(t,{isVariableAnnotation:!0,allowClassVar:S.isClassVarAllowedForAssignmentTarget(i),allowFinal:S.isFinalAllowedForAssignmentTarget(i)})}if(s)return 38===e.node.nodeType&&(s=(0,_.transformTypeForPossibleEnumClass)(Ki,e.node,(()=>s))||s),i&&38===i.valueExpression.nodeType&&(s=fn(s,i.valueExpression,e.node)),s}return}case 8:return}}function ci(t,i){var s,r;const o=pi(i,!0,f.getFileInfo(i.node).isStubFile);if(!o)return n.evaluateUnknownImportsAsAny?G.AnyType.create():G.UnknownType.create();function a(e,t,i){if(t.path&&t.loadSymbolsFromPath){const s=i(t.path);if(!s)return n.evaluateUnknownImportsAsAny?G.AnyType.create():G.UnknownType.create();e.fields=s.symbolTable,e.docString=s.docString}return t.implicitImports&&t.implicitImports.forEach(((t,n)=>{let s;if(t.isUnresolved)s=G.UnknownType.create();else{const r=e.moduleName?e.moduleName+"."+n:"";s=a(G.ModuleType.create(r,t.path),t,i)}const r=x.Symbol.createWithType(0,s);e.loaderFields.set(n,r)})),e}if(8===o.type){let t=o.moduleName;if(8===i.type&&(i.symbolName&&(t+="."+i.symbolName),t.startsWith("."))){const e=f.getFileInfo(i.node).moduleName.split(".");for(t=t.substr(1);t.startsWith(".")&&e.length>0;)t=t.substr(1),e.pop();t=e.join(".")+"."+t}const n=G.ModuleType.create(t,o.path);return o.symbolName&&o.submoduleFallback?a(n,o.submoduleFallback,e):a(n,o,e)}const A=li(o);if(A)return A;const l=f.getFileInfo(o.node);let c=!l.isInPyTypedPackage||l.isStubFile;if(!c&&1===o.type){const e=S.getEnclosingClass(o.node,!0);if(e){const t=Qn(e);t&&G.ClassType.isEnumClass(t.classType)&&(c=!0)}(o.isFinal||o.isConstant)&&(c=!0)}if(2===o.type)return null===(s=Wn(o.node.name,(()=>{qn(o.node)})))||void 0===s?void 0:s.type;if(1===o.type&&o.inferredTypeSource){const e=o.typeAliasName&&o.inferredTypeSource.parent?o.inferredTypeSource.parent:o.inferredTypeSource;let n=null===(r=Wn(o.node,(()=>{Hn(e)})))||void 0===r?void 0:r.type;if(n&&38===o.node.nodeType){const e=(0,_.transformTypeForPossibleEnumClass)(Ki,o.node,(()=>{var e,t;return null!==(t=null===(e=Wn(o.inferredTypeSource,(()=>{Hn(o.inferredTypeSource)})))||void 0===e?void 0:e.type)&&void 0!==t?t:G.UnknownType.create()}));e&&(n=e)}return n&&o.typeAliasName&&(!G.TypeBase.isInstantiable(n)||(0,G.isUnknown)(n)||(0,Y.isEllipsisType)(n)||(n=fn(n,o.typeAliasName,o.node),c=!0)),n&&l.isInPyTypedPackage&&!l.isStubFile&&(c||function(e,t,n){var i;const s=e.getDeclarations().filter((e=>1!==e.type||!e.isInferenceAllowedInPyTyped));if(s.length>1)return!1;if(1!==t.type)return!1;if(0===s.length)return!0;if((0,G.isTypeVar)(n))return!0;let r;const o=t.node.parent;if(o&&(3===o.nodeType?r=o:35===o.nodeType&&3===(null===(i=o.parent)||void 0===i?void 0:i.nodeType)&&(r=o.parent)),!r)return!1;const a=Pe(r.rightExpression).type;return!(!(0,G.isClassInstance)(a)||!(0,Y.isLiteralType)(a))||38===r.rightExpression.nodeType&&!G.TypeBase.isAmbiguous(a)}(t,i,n)&&(c=!0),c||(n=G.TypeBase.cloneForAmbiguousType(n))),n}}function pi(t,n,i=!1){var s;return null===(s=m.resolveAliasDeclaration(e,t,n,i))||void 0===s?void 0:s.declaration}function gi(t,n,i=!1){return m.resolveAliasDeclaration(e,t,n,i)}function ui(e){return di(e).type}function di(e,t,n=!1){if(e.hasTypedDeclarations()){const n=hi(e,t),i=e.getTypedDeclarations();let s=!1;return n&&((0,G.isFunction)(n)&&G.FunctionType.isPartiallyEvaluated(n)||(0,G.isClass)(n)&&G.ClassType.isPartiallyEvaluated(n))&&(s=!0),{type:null!=n?n:G.UnknownType.create(),isIncomplete:s,includesVariableDecl:i.some((e=>1===e.type)),includesIllegalTypeAliasDecl:!i.every((e=>(0,Q.isPossibleTypeAliasDeclaration)(e))),isRecursiveDefinition:!n}}let i=ue.get(e.id);const s=t?t.id:void 0,r=`${void 0===s?".":s.toString()}${n?"*":""}`;if(i){const e=i.get(r);if(e)return e}const o=[],a=e.getDeclarations(),A=(0,M.isFinalVariable)(e);let l,c=!1,p=!1,g=!1;if(a.length>64)return{type:G.UnknownType.create(),isIncomplete:!1,includesVariableDecl:!1,includesIllegalTypeAliasDecl:!a.every((e=>(0,Q.isPossibleTypeAliasDeclaration)(e))),isRecursiveDefinition:!1};n&&a.forEach(((e,t)=>{e.isInExceptSuite||(l=t)}));let u=!1;if(a.forEach(((n,i)=>{var s,r;let a=void 0===l||i===l;if(u&&(a=!1),void 0!==t&&8!==n.type&&S.getExecutionScopeNode(t)===S.getExecutionScopeNode(n.node)&&(st(n.node,t)||(a=!1)),a){const t=(0,Q.isExplicitTypeAliasDeclaration)(n),i=t||(0,Q.isPossibleTypeAliasDeclaration)(n);if(t&&(u=!0),i&&1===n.type&&3===(null===(r=null===(s=n.inferredTypeSource)||void 0===s?void 0:s.parent)||void 0===r?void 0:r.nodeType)&&(En(n.inferredTypeSource.parent),n.typeAliasAnnotation&&Le(n.typeAliasAnnotation,{isVariableAnnotation:!0,allowFinal:S.isFinalAllowedForAssignmentTarget(n.node),allowClassVar:S.isClassVarAllowedForAssignmentTarget(n.node)})),we(e,n))try{let i=ci(e,n);if(De(e)||(c=!0),i){if(1===n.type){p=!0;let e=1===n.type&&!!n.isConstant;(0,G.isClassInstance)(i)&&G.ClassType.isEnumClass(i)&&(0,_.isDeclInEnumClass)(Ki,n)&&(e=!0),!G.TypeBase.isInstance(i)||t||e||A||(i=Re(i))}o.push(i),H.isSpeculative(n.node)&&(g=!0)}else c=!0}catch(t){throw De(e),t}else c=!0}})),o.length>0){const t={type:(0,G.combineTypes)(o),isIncomplete:!1,includesVariableDecl:p,includesIllegalTypeAliasDecl:!a.every((e=>(0,Q.isPossibleTypeAliasDeclaration)(e))),isRecursiveDefinition:!1};return g||(i||(i=new Map,ue.set(e.id,i)),i.set(r,t)),t}return{type:G.UnboundType.create(),isIncomplete:c,includesVariableDecl:p,includesIllegalTypeAliasDecl:!a.every((e=>(0,Q.isPossibleTypeAliasDeclaration)(e))),isRecursiveDefinition:!1}}function hi(e,t){const n=e.getSynthesizedType();if(n)return n;let i=e.getTypedDeclarations();if(0===i.length)return;if(t&&i.length>1){const e=i.filter((e=>!(8!==e.type&&S.getExecutionScopeNode(t)===S.getExecutionScopeNode(e.node)&&!st(e.node,t,!1))));if(0===e.length)return G.UnboundType.create();i=e}let s=i.length-1;for(;s>=0;){const t=i[s],n=be(e,t);if(n)return n;if(_e(e,t)<0&&we(e,t))try{const n=li(t);if(De(e)||6===t.type)return n}catch(t){throw De(e),t}s--}}function Ci(e){(0,G.isFunction)(e)?mi(e):(0,G.isOverloadedFunction)(e)&&e.overloads.forEach((e=>{mi(e)}))}function mi(e,t,n=!0){const i=G.FunctionType.getSpecializedReturnType(e);return i?Ht(i):n?yi(e,t):G.UnknownType.create()}function yi(e,t){var i;let s,r=!1;if(G.FunctionType.isStubDefinition(e))return G.UnknownType.create();if(e.inferredReturnType)s=e.inferredReturnType;else{if(G.FunctionType.isInstanceMethod(e)&&"__init__"===e.details.name)s=G.NoneType.createInstance();else if(e.details.declaration){const t=e.details.declaration.node;if(n.analyzeUnannotatedFunctions&&!tt(t.suite)){const n=f.getCodeFlowComplexity(t);if(e.details.parameters.length<=1||e.details.parameters.some((e=>e.hasDeclaredType))||n<8){let n;!function(i){const s=H.disableSpeculativeMode();try{n=Mn(t,G.FunctionType.isAbstractMethod(e)),H.enableSpeculativeMode(s)}catch(e){throw H.enableSpeculativeMode(s),e}}(),s=null==n?void 0:n.type,(null==n?void 0:n.isIncomplete)&&(r=!0),s&&G.FunctionType.isWrapReturnTypeInAwait(e)&&(s=Rn(t,s,!!(null===(i=e.details.declaration)||void 0===i?void 0:i.isGenerator)))}}}s||(s=G.UnknownType.create()),r||(e.inferredReturnType=s)}if(!r&&n.analyzeUnannotatedFunctions&&(0,Y.isPartlyUnknown)(s)&&G.FunctionType.hasUnannotatedParams(e)&&!G.FunctionType.isStubDefinition(e)&&!G.FunctionType.isPyTypedDefinition(e)&&t){const n=function(e,t){var n;let i;if(!e.details.declaration)return;const s=e.details.declaration.node;if(f.getCodeFlowComplexity(s)>=8)return;if(t.some((e=>!e.paramName)))return;if(me.some((e=>e.functionNode===s)))return;const r=bn(s);if(!r)return;if(t.length>6)return;if(me.length>=2)return;const o=[];let a=!1;return oi(s,(()=>{var n,A;const l=ye;me.push({functionNode:s,codeFlowAnalyzer:Oi.createCodeFlowAnalyzer()});try{ye=new Map;let c=!0;if(s.parameters.forEach(((e,n)=>{if(e.name){let i;const a=t.find((t=>e.name.value===t.paramName));a&&a.argument.valueExpression?(i=Pe(a.argument.valueExpression).type,(0,G.isUnknown)(i)||(c=!1)):e.defaultValue?(i=Pe(e.defaultValue).type,(0,G.isUnknown)(i)||(c=!1)):0===n&&(G.FunctionType.isInstanceMethod(r.functionType)||G.FunctionType.isClassMethod(r.functionType))&&r.functionType.details.parameters.length>0&&s.parameters[0].name&&(i=r.functionType.details.parameters[0].type),i||(i=G.UnknownType.create()),o.push(i),Te(e.name,i,0,!1)}})),!c){const t=null===(n=r.functionType.callSiteReturnTypeCache)||void 0===n?void 0:n.find((e=>e.paramTypes.length===o.length&&e.paramTypes.every(((e,t)=>(0,G.isTypeSame)(e,o[t])))));t?(i=t.returnType,a=!0):i=null===(A=Mn(s,G.FunctionType.isAbstractMethod(e)))||void 0===A?void 0:A.type}}finally{me.pop(),ye=l}})),i?(i=(0,G.removeUnbound)(i),G.FunctionType.isWrapReturnTypeInAwait(e)&&!(0,G.isNever)(i)&&(i=Rn(s,i,!!(null===(n=e.details.declaration)||void 0===n?void 0:n.isGenerator))),a||(r.functionType.callSiteReturnTypeCache||(r.functionType.callSiteReturnTypeCache=[]),r.functionType.callSiteReturnTypeCache.length>=8&&(r.functionType.callSiteReturnTypeCache=r.functionType.callSiteReturnTypeCache.slice(1)),r.functionType.callSiteReturnTypeCache.push({paramTypes:o,returnType:i})),i):void 0}(e,t);n&&(s=n)}return s}function fi(e){const t=bn(e);return t?G.FunctionType.isAbstractMethod(t.functionType)?G.AnyType.create():G.FunctionType.isGenerator(t.functionType)?(0,Y.getDeclaredGeneratorReturnType)(t.functionType):t.functionType.details.declaredReturnType:G.AnyType.create()}function Ii(e){return(0,G.isInstantiableClass)(e.classType)?(0,Y.partiallySpecializeType)(ui(e.symbol),e.classType,void 0,null!=te?te:G.UnknownType.create()):G.UnknownType.create()}function Ei(e,t,n,i,s,r,o,a){if(G.ClassType.isHierarchyPartiallyEvaluated(e)||G.ClassType.isHierarchyPartiallyEvaluated(t))return!0;if(G.ClassType.isTypedDictClass(e)&&G.ClassType.isTypedDictClass(t)&&!G.ClassType.isSameGenericClass(e,t))return!!(0,K.assignTypedDictToTypedDict)(Ki,e,t,n,i,r,o)&&(G.ClassType.isFinal(e)!==G.ClassType.isFinal(t)?(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.typedDictFinalMismatch().format({sourceType:Li((0,Y.convertToInstance)(t)),destType:Li((0,Y.convertToInstance)(e))})),!1):0==(1&r)||(0,K.assignTypedDictToTypedDict)(Ki,t,e,void 0,void 0,r,o));const l=q.get(e.details.fullName);if(l&&l.some((e=>t.details.mro.some((t=>(0,G.isClass)(t)&&e===t.details.fullName))))&&0==(1&r))return!0;const c=[],p=G.ClassType.isDerivedFrom(t,e,c);if(G.ClassType.isProtocolClass(e)&&!p)return!!(0,k.assignClassToProtocol)(Ki,e,t,null==n?void 0:n.createAddendum(),i,s,r,!1,o)||(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.protocolIncompatible().format({sourceType:Li((0,Y.convertToInstance)(t)),destType:Li((0,Y.convertToInstance)(e))})),!1);if((0==(1&r)||G.ClassType.isSameGenericClass(t,e))&&p)return(0,A.assert)(c.length>0),function(e,t,n,i,s,r,o,a){let A=t,l=null!=s?s:new V.TypeVarContext((0,Y.getTypeVarScopeId)(e)),c=o;_n(e),s||(c&=-9);for(let t=n.length-1;t>=0;t--){const s=n[t];if((0,G.isUnknown)(s))return!0;if(G.ClassType.isBuiltIn(s,"object"))return!0;if(t0&&A.typeArguments&&!s.isLocked()){const t=A.typeArguments;for(let n=0;n0);const i=new l.DiagnosticAddendum,s=new V.TypeVarContext;let r=!0;return e.details.fields.forEach(((o,a)=>{if(r&&o.isClassMember()&&!o.isIgnoredForProtocolMatch()){const l=(0,Y.lookUpClassMember)(t,a);(0,A.assert)(void 0!==l);let c=hi(o);if(c){const a=Ii(l);if(c=(0,Y.partiallySpecializeType)(c,e),(0,G.isClassInstance)(c)&&G.ClassType.isPropertyClass(c)&&(0,G.isClassInstance)(a)&&G.ClassType.isPropertyClass(a))(0,F.assignProperty)(Ki,G.ClassType.cloneAsInstantiable(c),G.ClassType.cloneAsInstantiable(a),e,t,i,s,void 0,n)||(r=!1);else{const e=o.getDeclarations()[0],t=1!==(null==e?void 0:e.type)||e.isFinal?0:1;Qi(c,a,i,s,void 0,t,n)||(r=!1)}}}})),e.details.baseClasses.forEach((i=>{(0,G.isInstantiableClass)(i)&&!G.ClassType.isBuiltIn(i,"object")&&!G.ClassType.isBuiltIn(i,"Protocol")&&!G.ClassType.isBuiltIn(i,"Generic")&&i.details.typeParameters.length>0&&(Ti((0,Y.specializeForBaseClass)(e,i),(0,Y.specializeForBaseClass)(t,i),n)||(r=!1))})),r}function Bi(e,t,n,i,s,r){var o,a;const A=[...null!==(o=e.tupleTypeArguments)&&void 0!==o?o:[]],l=[...null!==(a=t.tupleTypeArguments)&&void 0!==a?a:[]],c=A.findIndex((e=>(0,G.isVariadicTypeVar)(e.type))),p=A.findIndex((e=>e.isUnbounded)),g=l.findIndex((e=>e.isUnbounded));if(g>=0){const e=c>=0||p>=0?A.length-1:A.length,t=l.length>0?l[g].type:G.AnyType.create();for(;l.length=0&&g>=0)return null==n||n.addMessage(d.Localizer.DiagnosticAddendum.typeVarTupleRequiresKnownLength()),!1;if(p>=0||c>=0){const e=l.length-A.length+1;if(e>=0)if(c>=0){if(ie&&(0,G.isInstantiableClass)(ie)){const t=l.splice(c,e),n=(0,Y.convertToInstance)((0,Y.specializeTupleClass)(ie,t.map((e=>({type:Re(e.type),isUnbounded:!1}))),!0,!0));l.splice(c,0,{type:n,isUnbounded:!1})}}else{const t=l.splice(p,e);l.splice(p,0,{type:t.length>0?(0,G.combineTypes)(t.map((e=>e.type))):G.AnyType.create(),isUnbounded:!1})}}if(l.length===A.length)for(let e=0;e=0))return null==n||n.addMessage(d.Localizer.DiagnosticAddendum.tupleSizeMismatch().format({expected:A.length,received:l.length})),!1;if(!e.isUnpacked)return null==n||n.addMessage(d.Localizer.DiagnosticAddendum.tupleSizeMismatchIndeterminate().format({expected:A.length})),!1}return!0}function vi(e,t,n,i,s,r,o){var a,c,p;(0,A.assert)(G.ClassType.isSameGenericClass(e,t)),_n(e);const g=G.ClassType.getTypeParameters(e);let u,h;if(!e.typeArguments||!t.typeArguments)return!0;if(G.ClassType.isTupleClass(e)?(u=null!==(c=null===(a=e.tupleTypeArguments)||void 0===a?void 0:a.map((e=>e.type)))&&void 0!==c?c:[],h=null===(p=t.tupleTypeArguments)||void 0===p?void 0:p.map((e=>e.type))):(u=e.typeArguments,h=t.typeArguments),h)for(let t=0;t=u.length?u.length-1:t,c=A>=0?u[A]:G.UnknownType.create(),p=AG.maxTypeRecursionCount)return!0;if(o++,(0,G.isTypeVar)(e)&&e.details.recursiveTypeAliasScopeId&&(0,G.isTypeVar)(t)&&t.details.recursiveTypeAliasScopeId){if((null===(l=e.typeAliasInfo)||void 0===l?void 0:l.typeArguments)&&(null===(c=t.typeAliasInfo)||void 0===c?void 0:c.typeArguments)&&e.details.recursiveTypeAliasScopeId===t.details.recursiveTypeAliasScopeId){let a=!0;const A=t.typeAliasInfo.typeArguments;return e.typeAliasInfo.typeArguments.forEach(((e,t)=>{Qi(e,t{var i;if((0,G.isTypeSame)(e,t,{ignorePseudoGeneric:!0},n))return!1;const s=G.TypeVarType.getNameWithScope(e),r=(null!==(i=(0,Y.getTypeCondition)(t))&&void 0!==i?i:[]).filter((e=>e.typeVarName===s));return 0===r.length||!r.some((i=>i.typeVarName===G.TypeVarType.getNameWithScope(e)&&(e.details.boundType?((0,A.assert)(0===i.constraintIndex,"Expected constraint for bound TypeVar to have index of 0"),Qi(e.details.boundType,t,void 0,void 0,void 0,0,n)):!(e.details.constraints.length>0)||((0,A.assert)(i.constraintIndex(0,G.isAnyOrUnknown)(e)));if((0,G.isTypeSame)(e,n))return!0}if((0,G.isTypeVar)(t)&&t.details.isSynthesizedSelf&&t.details.boundType&&e.details.isSynthesizedSelf&&e.details.boundType)return 0==(2&r)&&i&&(0,T.assignTypeToTypeVar)(Ki,e,t,n,i,p,o),!0;if((0,G.isVariadicTypeVar)(e)&&(0,G.isClassInstance)(t)&&(0,Y.isTupleClass)(t)&&t.tupleTypeArguments&&1===t.tupleTypeArguments.length&&(0,G.isTypeSame)(e,t.tupleTypeArguments[0].type,{},o))return!0;if(0==(2&r)||!(0,G.isTypeVar)(t)){const a=0==(2&r)?i:s;return!(!(0,T.assignTypeToTypeVar)(Ki,e,t,n,null!=a?a:new V.TypeVarContext,p,o)||(0,G.isAnyOrUnknown)(t)&&0!=(16&r))}}if((0,G.isTypeVar)(t)){if(0!=(2&r)){if(s&&s.hasSolveForScope((0,Y.getTypeVarScopeId)(t))){let i=p;if(0!=(1024&p)?i&=-7:i|=4,(0,T.assignTypeToTypeVar)(Ki,t,e,n,s,i,o))return!0;let r=!1;return(0,G.isUnion)(e)&&(0,Y.doForEachSubtype)(e,(e=>{(0,T.assignTypeToTypeVar)(Ki,t,e,n,s,4|p,o)&&(r=!0)})),r}return Qi(dt(e),dt(t),n,void 0,void 0,p,o)}if(0!=(1&r))return!!(0,G.isAnyOrUnknown)(e)||!!((0,G.isParamSpec)(t)&&(0,G.isFunction)(e)&&G.FunctionType.shouldSkipArgsKwargsCompatibilityCheck(e)&&e.details.parameters.length<=2)||(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:Li(t),destType:Li(e)})),!1)}if((0,G.isAnyOrUnknown)(e))return!0;if((0,G.isAnyOrUnknown)(t)){const n=0==(2&r)?i:s;if(n){const i=(0,Y.isEllipsisType)(t)?G.AnyType.create():t;(0,Y.setTypeArgumentsRecursive)(e,i,n,o)}if(0==(16&r))return!0}if((0,G.isNever)(t)){const t=0==(2&r)?i:s;return t&&(0,Y.setTypeArgumentsRecursive)(e,G.UnknownType.create(),t,o),!0}if((0,G.isUnion)(t)&&G.TypeBase.isSpecialForm(t)&&(t=Z||ee||G.AnyType.create()),(0,G.isUnion)(e))if((0,G.isUnion)(t)){if(_i(e,t,void 0,i,s,p,o))return!0}else{const n=null==i?void 0:i.clone(),r=null==s?void 0:s.clone();if(wi(e,t,void 0,n,r,p,o))return i&&n&&i.copyFromClone(n),s&&r&&s.copyFromClone(r),!0}const g=dt(t);if((0,G.isUnion)(g))return _i(e,g,n,i,s,p,o);if((0,G.isUnion)(e))return wi(e,t,n,i,s,p,o);if((0,G.isNoneInstance)(e)&&(0,G.isNoneInstance)(t))return!0;if((0,G.isNoneTypeClass)(e)){if((0,G.isNoneTypeClass)(t))return!0;if((0,G.isInstantiableClass)(t)&&G.ClassType.isBuiltIn(t,"NoneType"))return!0}if((0,G.isClassInstance)(t)&&G.ClassType.isBuiltIn(t,"type")){const a=t.typeArguments;if(a&&a.length>=1){if((0,G.isAnyOrUnknown)(a[0]))return!(!(0,G.isClassInstance)(e)||!G.ClassType.isBuiltIn(t,"type"))||G.TypeBase.isInstantiable(e);if((0,G.isClassInstance)(a[0])||(0,G.isTypeVar)(a[0]))return!!Qi(e,(0,Y.convertToInstantiable)(a[0]),null==n?void 0:n.createAddendum(),i,s,r,o)||(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:Li(t),destType:Li(e)})),!1)}}if((0,G.isInstantiableClass)(e)){const a=dt(t);if((0,G.isInstantiableClass)(a))return G.ClassType.isProtocolClass(e)&&G.ClassType.isProtocolClass(a)&&(0,G.isInstantiableClass)(t)&&!t.includeSubclasses?(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.protocolSourceIsNotConcrete().format({sourceType:Li((0,Y.convertToInstance)(t)),destType:Li(e)})),!1):!!Ei(e,a,n,i,s,r,o,!1)||(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:Li(t),destType:Li(e)})),!1)}if((0,G.isClassInstance)(e)){if(G.ClassType.isBuiltIn(e,"Type")){const a=e.typeArguments;if(a&&a.length>=1&&G.TypeBase.isInstance(a[0])&&G.TypeBase.isInstantiable(t))return Qi(a[0],(0,Y.convertToInstance)(t),n,i,s,r,o)}else if(G.ClassType.isBuiltIn(e,"type")){if((0,G.isAnyOrUnknown)(t)&&0!=(16&r))return!1;if(G.TypeBase.isInstantiable(t))return!((0,G.isClass)(t)&&void 0!==t.literalValue)}else if(G.ClassType.isBuiltIn(e,["TypeGuard","StrictTypeGuard"])&&0!=(64&p)&&(0,G.isClassInstance)(t)&&G.ClassType.isBuiltIn(t,"bool"))return!0;let a=dt(t);if((0,G.isClass)(a)&&G.TypeBase.isInstance(a)){if(void 0!==e.literalValue&&(void 0===a.literalValue||!G.ClassType.isLiteralValueSame(a,e)))return null==n||n.addMessage(d.Localizer.DiagnosticAddendum.literalAssignmentMismatch().format({sourceType:Li(t),destType:Li(e)})),!1;if(G.ClassType.isBuiltIn(e,"LiteralString")){if(G.ClassType.isBuiltIn(a,"str")&&void 0!==a.literalValue)return!0;if(G.ClassType.isBuiltIn(a,"LiteralString"))return!0}else G.ClassType.isBuiltIn(a,"LiteralString")&&oe&&(0,G.isInstantiableClass)(oe)&&(a=G.ClassType.cloneAsInstance(oe));return!!Ei(G.ClassType.cloneAsInstantiable(e),G.ClassType.cloneAsInstantiable(a),n,i,s,r,o,!0)}if((0,G.isFunction)(a)||(0,G.isOverloadedFunction)(a)){const t=Si(e,o);if(t)return Qi(t,a,n,i,s,r,o);if(ee&&(0,G.isClassInstance)(ee))return Qi(e,ee,n,i,s,r,o)}else if((0,G.isModule)(a)){if(G.ClassType.isBuiltIn(e,"ModuleType"))return!0;if(G.ClassType.isProtocolClass(e))return(0,k.assignModuleToProtocol)(Ki,G.ClassType.cloneAsInstantiable(e),a,n,i,r,o)}else if((0,G.isInstantiableClass)(a)){const t=Si(e,o);if(t)return Qi(t,a,n,i,s,r,o);if(G.ClassType.isProtocolClass(e))return(0,k.assignClassToProtocol)(Ki,G.ClassType.cloneAsInstantiable(e),a,n,i,s,r,!0,o);const A=a.details.effectiveMetaclass;if(A)return!!(0,G.isAnyOrUnknown)(A)||Ei(G.ClassType.cloneAsInstantiable(e),A,n,i,s,r,o,!1)}else{if((0,G.isAnyOrUnknown)(a))return 0==(16&r);if((0,G.isUnion)(a))return Qi(e,a,n,i,s,r,o)}}if((0,G.isFunction)(e)){let A,l=dt(t);if((0,G.isClassInstance)(l)){const e=Je(l,"__call__",o);e&&(l=(0,Y.removeParamSpecVariadicsFromSignature)(e))}if((0,G.isInstantiableClass)(l)&&void 0===l.literalValue){const e=Di(l,o);e&&(l=e)}if((0,G.isOverloadedFunction)(l)){if(e.details.paramSpec)return null==n||n.addMessage(d.Localizer.DiagnosticAddendum.paramSpecOverload()),!1;const t=G.OverloadedFunctionType.getOverloads(l),a=t.findIndex((t=>Qi(e,t,null==n?void 0:n.createAddendum(),null==i?void 0:i.clone(),null==s?void 0:s.clone(),r,o)));if(a<0)return null==n||n.addMessage(d.Localizer.DiagnosticAddendum.noOverloadAssignable().format({type:Li(e)})),!1;A=t[a]}else if((0,G.isFunction)(l))A=l;else if((0,G.isAnyOrUnknown)(l))return 0==(16&r);if(A&&function(e,t,n,i,s,r,o){var A,l,c,p,g,u,h,C,m,y;let f=!0;const I=0==(32&r);r&=-33,e=(0,Y.removeParamSpecVariadicsFromFunction)(e),t=(0,Y.removeParamSpecVariadicsFromFunction)(t);const E=(0,Y.getParameterListDetails)(e),B=(0,Y.getParameterListDetails)(t);!function(e,t){var n;if(void 0===t.argsIndex)return;if(e.params.lengthn>=t.argsIndex&&e.source===Y.ParameterSource.KeywordOnly));i<0&&(i=e.params.length);const s=(null!==(n=t.firstKeywordOnlyIndex)&&void 0!==n?n:t.params.length)-t.argsIndex-1,r=e.params.slice(t.argsIndex,i-s),o=[];if(r.forEach((e=>{1===e.param.category?(0,G.isUnpackedVariadicTypeVar)(e.type)?o.push({type:e.type,isUnbounded:!1}):(0,G.isUnpackedClass)(e.type)&&e.type.tupleTypeArguments?(0,a.appendArray)(o,e.type.tupleTypeArguments):o.push({type:e.type,isUnbounded:!0}):o.push({type:e.type,isUnbounded:!1})})),1!==o.length||!(0,G.isVariadicTypeVar)(o[0].type)){let n;n=ie&&(0,G.isInstantiableClass)(ie)?(0,Y.convertToInstance)((0,Y.specializeTupleClass)(ie,o,!0,!0)):G.UnknownType.create(),e.params=[...e.params.slice(0,t.argsIndex),{param:{category:1,name:"_arg_combined",isNameSynthesized:!0,hasDeclaredType:!0,type:n},type:n,index:-1,source:Y.ParameterSource.PositionOnly},...e.params.slice(t.argsIndex+r.length,e.params.length)];const i=e.params.findIndex((e=>1===e.param.category));e.argsIndex=i>=0?i:void 0;const s=e.params.findIndex((e=>2===e.param.category));e.kwargsIndex=s>=0?s:void 0;const a=e.params.findIndex((e=>e.source===Y.ParameterSource.KeywordOnly));e.firstKeywordOnlyIndex=a>=0?a:void 0,e.positionOnlyParamCount=Math.max(0,e.params.findIndex((e=>e.source!==Y.ParameterSource.PositionOnly||0!==e.param.category||e.param.hasDefault)))}}(B,E);const v=0!=(2&r)?!!t.details.paramSpec:!!e.details.paramSpec,Q=null!==(l=null!==(A=E.argsIndex)&&void 0!==A?A:E.firstKeywordOnlyIndex)&&void 0!==l?l:E.params.length,_=null!==(p=null!==(c=B.argsIndex)&&void 0!==c?c:B.firstKeywordOnlyIndex)&&void 0!==p?p:B.params.length,w=Math.min(Q,_);for(let a=0;a!!e.param.name&&!e.param.hasDefault&&0===e.param.category)).length;if(void 0===E.argsIndex)Q0&&E.firstPositionOrKeywordIndex<_&&(null==n||n.createAddendum().addMessage(d.Localizer.DiagnosticAddendum.functionTooFewParams().format({expected:e,received:Q})),f=!1);else{const e=E.params[E.argsIndex].type;if(!(0,G.isAnyOrUnknown)(e))for(let t=Q;t<_;t++)bi(e,B.params[t].type,t,null==n?void 0:n.createAddendum(),i,s,r,o)||(f=!1)}}}else if(_{t>=E.firstKeywordOnlyIndex&&e.param.name&&0===e.param.category&&a.set(e.param.name,e)}));let A=void 0!==B.firstKeywordOnlyIndex?B.firstKeywordOnlyIndex:B.params.length;Q<_&&void 0===E.argsIndex&&(A=Q),A>=0&&B.params.forEach(((e,t)=>{if(t>=A&&e.param.name&&0===e.param.category){const t=a.get(e.param.name),A=null==n?void 0:n.createAddendum(),l=e.type;if(t){const c=t.type,p=i?(0,Y.applySolvedTypeVars)(c,i):c;bi(t.type,l,void 0,null==A?void 0:A.createAddendum(),i,s,r,o)||(A&&A.addMessage(d.Localizer.DiagnosticAddendum.namedParamTypeMismatch().format({name:e.param.name,sourceType:Li(p),destType:Li(l)})),f=!1),t.param.hasDefault&&!e.param.hasDefault&&(null==n||n.createAddendum().addMessage(d.Localizer.DiagnosticAddendum.functionParamDefaultMissing().format({name:e.param.name})),f=!1),a.delete(e.param.name)}else void 0!==E.kwargsIndex||e.param.hasDefault?void 0!==E.kwargsIndex&&(bi(E.params[E.kwargsIndex].type,l,E.params[E.kwargsIndex].index,null==n?void 0:n.createAddendum(),i,s,r,o)||(f=!1)):(A&&A.addMessage(d.Localizer.DiagnosticAddendum.namedParamMissingInDest().format({name:e.param.name})),f=!1)}})),a.forEach(((e,t)=>{void 0!==B.kwargsIndex&&e.param.name?(bi(e.param.type,B.params[B.kwargsIndex].type,e.index,null==n?void 0:n.createAddendum(),i,s,r,o)||(f=!1),a.delete(t)):(null==n||n.createAddendum().addMessage(d.Localizer.DiagnosticAddendum.namedParamMissingInSource().format({name:t})),f=!1)})),void 0!==B.kwargsIndex&&void 0!==E.kwargsIndex&&(bi(E.params[E.kwargsIndex].type,B.params[B.kwargsIndex].type,E.params[E.kwargsIndex].index,null==n?void 0:n.createAddendum(),i,s,r,o)||(f=!1)),G.FunctionType.shouldSkipArgsKwargsCompatibilityCheck(e)||void 0!==B.kwargsIndex||void 0!==t.details.paramSpec||void 0===E.kwargsIndex||(null==n||n.createAddendum().addMessage(d.Localizer.DiagnosticAddendum.kwargsParamMissing().format({paramName:E.params[E.kwargsIndex].param.name})),f=!1)}if(v&&(null===(m=t.details.paramSpec)||void 0===m?void 0:m.nameWithScope)===(null===(y=e.details.paramSpec)||void 0===y?void 0:y.nameWithScope)){const n=t.details.parameters.length,i=e.details.parameters.length;n!==i&&(n!==i-1||0!==e.details.parameters[i-1].category||e.details.parameters[i-1].name)&&(f=!1)}const D=0==(2&r)?s:i;if(D.getTypeVars().forEach((e=>{Qi(e.typeVar,D.getTypeVarType(e.typeVar),void 0,i,s,0,o)})),i.isLocked()||i.getTypeVars().forEach((e=>{if(e.narrowBound){const t=(0,Y.applySolvedTypeVars)(e.narrowBound,i);t!==e.narrowBound&&i.setTypeVarType(e.typeVar,t,e.wideBound,e.retainLiteral)}})),v){const n=0==(2&r)?e:t,o=0==(2&r)?t:e;if(n.details.paramSpec){const e=n.details.parameters.filter((e=>!(!e.name||0===e.category&&(0,G.isParamSpec)(e.type)))).length;let t=0;const a=[];o.details.parameters.forEach(((n,i)=>{t{G.FunctionType.addParameter(e,t)})),e.details.paramSpec=A?(0,Y.convertToInstance)(A):void 0,(0,T.assignTypeToTypeVar)(Ki,l,e,void 0,c)||(a.length>0||!A||!(0,T.assignTypeToTypeVar)(Ki,l,(0,Y.convertToInstance)(A),void 0,c))&&(f=!1)}else(!A||!(0,G.isTypeSame)(A,l,{ignoreTypeFlags:!0})||a.length>0)&&(f=!1)}}if(I){const a=mi(e);if(!(0,G.isAnyOrUnknown)(a)){const e=(0,Y.applySolvedTypeVars)(mi(t),s),A=null==n?void 0:n.createAddendum();let l=!1,c=r;t.details.declaredReturnType&&(0,Y.containsLiteralType)(t.details.declaredReturnType,!0)&&(c|=128),((0,G.isNever)(e)||Qi(a,e,null==A?void 0:A.createAddendum(),i,s,c,o)||(0,G.isClassInstance)(e)&&G.ClassType.isBuiltIn(e,["TypeGuard","StrictTypeGuard"])&&se&&(0,G.isInstantiableClass)(se)&&Qi(a,G.ClassType.cloneAsInstance(se),null==A?void 0:A.createAddendum(),i,s,r,o))&&(l=!0),l||(A&&A.addMessage(d.Localizer.DiagnosticAddendum.functionReturnTypeMismatch().format({sourceType:Li(e),destType:Li(a)})),f=!1)}}return f}(e,A,null==n?void 0:n.createAddendum(),null!=i?i:new V.TypeVarContext((0,Y.getTypeVarScopeId)(e)),null!=s?s:new V.TypeVarContext((0,Y.getTypeVarScopeId)(A)),r,o))return!0}if((0,G.isOverloadedFunction)(e)){const a=null==n?void 0:n.createAddendum();return!!G.OverloadedFunctionType.getOverloads(e).every((e=>(i&&i.addSolveForScope((0,Y.getTypeVarScopeId)(e)),Qi(e,t,null==a?void 0:a.createAddendum(),null!=i?i:new V.TypeVarContext((0,Y.getTypeVarScopeId)(e)),s,r,o))))||(a&&a.addMessage(d.Localizer.DiagnosticAddendum.overloadNotAssignable().format({name:e.overloads[0].details.name})),!1)}return!(!(0,G.isClassInstance)(e)||!G.ClassType.isBuiltIn(e,"object")||0!=(1&r))||((0,G.isNoneInstance)(t)&&(0,G.isClassInstance)(e)&&G.ClassType.isProtocolClass(e)&&$&&(0,G.isInstantiableClass)($)?(0,k.assignClassToProtocol)(Ki,G.ClassType.cloneAsInstantiable(e),$,n,i,s,r,!1,o):(0,G.isNoneInstance)(e)?(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.assignToNone()),!1):(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:Li(t),destType:Li(e)})),!1))}function _i(e,t,n,i,s,r,o){if((0,G.isTypeSame)(t,e,{},o))return!0;if((0,G.isUnion)(e)){if(0!=(4&r)){const n=e.subtypes.filter((e=>!(0,G.isAnyOrUnknown)(e)));if(1===n.length&&(0,G.isTypeVar)(n[0]))return Qi(n[0],t,void 0,i,s,r,o),!0}const a=[];let A=[...t.subtypes],l=!1;if(e.subtypes.forEach((e=>{if((0,Y.requiresSpecialization)(e))a.push(e);else{const t=A.findIndex((t=>(0,G.isTypeSame)(t,e,{},o)));t>=0?A.splice(t,1):l=!0}})),l||(0,Y.sortTypes)(A).forEach((e=>{const t=a.findIndex((t=>!!((0,G.isClass)(e)&&(0,G.isClass)(t)&&G.TypeBase.isInstance(e)===G.TypeBase.isInstance(t)&&G.ClassType.isSameGenericClass(e,t))||!(!(0,G.isFunction)(e)&&!(0,G.isOverloadedFunction)(e)||!(0,G.isFunction)(t)&&!(0,G.isOverloadedFunction)(t))));t>=0&&(Qi(a[t],e,null==n?void 0:n.createAddendum(),i,s,r,o)||(l=!0),a.splice(t,1),A=A.filter((t=>t!==e)))})),l||0===a.length&&0===A.length||(0===a.length||a.some((e=>!(0,G.isTypeVar)(e)))?l=!0:a.length===A.length?a.forEach(((e,t)=>{Qi(e,A[t],null==n?void 0:n.createAddendum(),i,s,r,o)||(l=!0)})):Qi(a[0],(0,G.combineTypes)(A),null==n?void 0:n.createAddendum(),i,s,r,o)||(l=!0)),!l)return!0}let a=!1;return(0,Y.doForEachSubtype)(t,((A,l)=>{if(!a&&!Qi(e,A,void 0,i,s,r,o)){const c=dt(A);let p=!1;(0,Y.doForEachSubtype)(t,((e,t)=>{p||l===t||(0,G.isAnyOrUnknown)(e)||function(e,t,n){return!(!(0,G.isAnyOrUnknown)(e)&&!(0,G.isAnyOrUnknown)(t))||(!(!(0,G.isClass)(e)||!e.details.mro.some((e=>(0,G.isAnyOrUnknown)(e))))||(!(!(0,G.isClass)(t)||!t.details.mro.some((e=>(0,G.isAnyOrUnknown)(e))))||Qi(e,t,void 0,void 0,void 0,0,n)&&!Qi(t,e,void 0,void 0,void 0,0,n)))}(e,c,o)&&(p=!0)})),p||Qi(e,c,null==n?void 0:n.createAddendum(),i,s,r,o)||(a=!0)}}),!0),!a||(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:Li(t),destType:Li(e)})),!1)}function wi(e,t,n,i,s,r,o){if(1&r){let a=!1;return(0,Y.doForEachSubtype)(e,((A,l)=>{if(!a&&!Qi(A,t,null==n?void 0:n.createAddendum(),i,s,r,o)){let t=!1;(0,G.isAnyOrUnknown)(A)||(0,Y.doForEachSubtype)(e,((e,n)=>{l===n||t||Qi(e,A,void 0,void 0,void 0,0,o)&&(t=!0)})),t||(a=!0)}})),!a||(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:Li(t),destType:Li(e)})),!1)}const a=n?new l.DiagnosticAddendum:void 0;let A=!1;if((0,Y.requiresSpecialization)(e))if((0,G.isNoneInstance)(t)&&(0,Y.isOptionalType)(e))A=!0;else{let n,l,c;if((0,G.isClassInstance)(t)&&(0,Y.isLiteralType)(t)&&G.UnionType.containsType(e,t,o))return!0;(0,Y.doForEachSubtype)(e,(e=>{const p=null==i?void 0:i.clone(),g=null==s?void 0:s.clone();if(Qi(e,t,null==a?void 0:a.createAddendum(),p,g,r,o)&&(A=!0,p)){let i=p.getScore();(0,G.isTypeSame)(e,Re(t))&&(i=Number.POSITIVE_INFINITY),(void 0===c||c<=i)&&(c=i,n=p,l=g)}})),i&&n&&i.copyFromClone(n),s&&l&&s.copyFromClone(l)}else for(const n of e.subtypes)if(Qi(n,t,null==a?void 0:a.createAddendum(),void 0,void 0,r,o)){A=!0;break}return A||(0,G.isTypeVar)(t)&&t.details.constraints.length>0&&(A=Qi(e,dt(t),null==a?void 0:a.createAddendum(),i,s,r,o)),!!A||(n&&a&&(n.addMessage(d.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:Li(t),destType:Li(e)})),n.addAddendum(a)),!1)}function Di(e,t=0){const n=(0,Y.lookUpClassMember)(e,"__init__",12);if(n){const i=Ii(n),s=G.ClassType.cloneAsInstance(e),r=e=>{let n=xi(s,e,void 0,void 0,t);return n&&(n=G.FunctionType.clone(n),n.details.declaredReturnType=s,n.specializedTypes&&(n.specializedTypes.returnType=s)),n};if((0,G.isFunction)(i))return r(i);if((0,G.isOverloadedFunction)(i)){const e=[];if(i.overloads.forEach((t=>{const n=r(t);n&&e.push(n)})),0===e.length)return;return 1===e.length?e[0]:G.OverloadedFunctionType.create(e)}}const i=(0,Y.lookUpClassMember)(e,"__new__",12);if(i){const n=Ii(i),s=n=>xi(e,n,void 0,void 0,t,!0);if((0,G.isFunction)(n))return s(n);if((0,G.isOverloadedFunction)(n)){const e=[];if(n.overloads.forEach((t=>{const n=s(t);n&&e.push(n)})),0===e.length)return;return 1===e.length?e[0]:G.OverloadedFunctionType.create(e)}}const s=G.FunctionType.createSynthesizedInstance("__new__",1);return s.details.declaredReturnType=G.ClassType.cloneAsInstance(e),G.FunctionType.addDefaultParameters(s),s}function Si(e,t=0){if(!(0,G.isClassInstance)(e)||!G.ClassType.isProtocolClass(e))return;for(const t of e.details.mro)if((0,G.isClass)(t)&&G.ClassType.isProtocolClass(t))for(const e of t.details.fields)if("__call__"!==e[0]&&!e[1].isIgnoredForProtocolMatch()){let t=!1;if(ne&&(0,G.isClass)(ne)&&ne.details.fields.has(e[0])&&(t=!0),!t)return}const n=Je(e,"__call__",t);return n?(0,Y.removeParamSpecVariadicsFromSignature)(n):void 0}function bi(e,t,n,i,s,r,o,a){if((0,G.isTypeVar)(e)&&e.details.isSynthesized&&e.details.boundType&&(0,G.isClassInstance)(e.details.boundType)&&G.ClassType.isProtocolClass(e.details.boundType))return!0;if((0,G.isVariadicTypeVar)(e)&&!(0,G.isUnpacked)(t))return!1;let A=t,l=e,c=!1;if(0==(2&o))l=(0,Y.applySolvedTypeVars)(e,s),(0,Y.requiresSpecialization)(l)&&(c=!Qi(A,l,void 0,r,s,640|2^o,a),l=(0,Y.applySolvedTypeVars)(e,s));else if(A=(0,Y.applySolvedTypeVars)(t,r),(0,Y.requiresSpecialization)(A)&&(c=!Qi(A,l,void 0,r,s,640|2^o,a),A=(0,Y.applySolvedTypeVars)(t,r)),c)return i&&void 0!==n&&i.addMessage(d.Localizer.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:Li(e),destType:Li(t)})),!1;return(0,G.isTypeVar)(l)&&l.details.isSynthesizedSelf||(0,G.isTypeVar)(A)&&A.details.isSynthesizedSelf&&A.details.boundType&&(A=(0,Y.applySolvedTypeVars)(A.details.boundType,new V.TypeVarContext((0,Y.getTypeVarScopeId)(A)),!0)),!(!Qi(A,l,null==i?void 0:i.createAddendum(),r,s,o,a)&&!(0,G.isTypeSame)(e,t)&&(i&&void 0!==n&&i.addMessage(d.Localizer.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:Li(e),destType:Li(t)})),1))}function Fi(e,t){if(!t.tupleTypeArguments&&t.details.typeParameters.length>0&&t.typeArguments&&t.typeArguments.length<=t.details.typeParameters.length){const n=new V.TypeVarContext((0,Y.getTypeVarScopeId)(t));(0,T.populateTypeVarContextBasedOnExpectedType)(Ki,G.ClassType.cloneForSpecialization(t,void 0,!1),e,n,[]);let i=!1;const s=t.typeArguments.map(((e,s)=>{const r=t.details.typeParameters[s],o=n.getTypeVarType(r);return o&&((0,G.isAny)(o)||(0,G.isAnyOrUnknown)(e))?(i=!0,o):e}));if(i)return G.ClassType.cloneForSpecialization(t,s,!0)}}function ki(e,t){const n=new l.DiagnosticAddendum,i=(0,Y.mapSubtypes)(t,(t=>{const i=(0,Y.mapSubtypes)(e,(i=>{if((0,G.isAnyOrUnknown)(e))return e;if(Qi(i,t,n)){if((0,G.isInstantiableClass)(i)&&(0,G.isInstantiableClass)(t)){const e=Fi(i,t);e&&(t=e)}else if((0,G.isClassInstance)(i)&&(0,G.isClassInstance)(t)){const e=Fi(G.ClassType.cloneAsInstantiable(i),G.ClassType.cloneAsInstantiable(t));e&&(t=G.ClassType.cloneAsInstance(e))}else{if(!(0,G.isTypeVar)(i)&&(0,G.isTypeVar)(t))return i;if((0,G.isAnyOrUnknown)(t))return i}return t}}));return(0,G.isNever)(i)?t:i}));return(0,G.isAnyOrUnknown)(t)?e:i}function Ni(e,t,n,i){var s,r;const o=(0,Y.getParameterListDetails)(e),a=(0,Y.getParameterListDetails)(t);let A=!0;G.FunctionType.isStaticMethod(e)?G.FunctionType.isStaticMethod(t)||(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.overrideNotStaticMethod()),A=!1):G.FunctionType.isClassMethod(e)&&(G.FunctionType.isClassMethod(t)||(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.overrideNotClassMethod()),A=!1)),G.FunctionType.isInstanceMethod(e)&&(G.FunctionType.isInstanceMethod(t)||(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.overrideNotInstanceMethod()),A=!1));let l=!1;if(a.positionParamCounto.positionParamCount)for(let e=o.positionParamCount;e=o.positionOnlyParamCount&&!(0,R.isPrivateOrProtectedName)(r.name||"")&&0===r.category&&r.name!==l.name)0===l.category&&i&&(a.params[s].source===Y.ParameterSource.PositionOnly?null==n||n.addMessage(d.Localizer.DiagnosticAddendum.overrideParamNamePositionOnly().format({index:s+1,baseName:r.name||"*"})):null==n||n.addMessage(d.Localizer.DiagnosticAddendum.overrideParamName().format({index:s+1,baseName:r.name||"*",overrideName:l.name||"*"})),A=!1);else if(s=o.positionOnlyParamCount)null==n||n.addMessage(d.Localizer.DiagnosticAddendum.overrideParamNamePositionOnly().format({index:s+1,baseName:r.name||"*"})),A=!1;else{const i=o.params[s].type,c=a.params[s].type,p=(0,G.isTypeVar)(i)&&i.details.isSynthesized,g=(0,G.isTypeVar)(c)&&c.details.isSynthesized;p||g||r.category===l.category&&Qi(c,i,null==n?void 0:n.createAddendum(),new V.TypeVarContext((0,Y.getTypeVarScopeId)(t)),new V.TypeVarContext((0,Y.getTypeVarScopeId)(e)),8)||(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.overrideParamType().format({index:s+1,baseType:Li(i),overrideType:Li(c)})),A=!1),o.params[s].param.hasDefault&&!a.params[s].param.hasDefault&&(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.overrideParamNoDefault().format({index:s+1})),A=!1)}}if(void 0!==o.argsIndex)if(void 0===a.argsIndex)null==n||n.addMessage(d.Localizer.DiagnosticAddendum.overrideParamNameMissing().format({name:null!==(s=o.params[o.argsIndex].param.name)&&void 0!==s?s:"?"})),A=!1;else{const e=a.params[a.argsIndex].type,i=o.params[o.argsIndex].type;Qi(e,i,null==n?void 0:n.createAddendum(),new V.TypeVarContext((0,Y.getTypeVarScopeId)(t)),void 0,8)||(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.overrideParamKeywordType().format({name:null!==(r=a.params[a.argsIndex].param.name)&&void 0!==r?r:"?",baseType:Li(i),overrideType:Li(e)})),A=!1)}const p=o.params.filter((e=>e.source===Y.ParameterSource.KeywordOnly&&0===e.param.category)),g=a.params.filter((e=>e.source===Y.ParameterSource.KeywordOnly&&0===e.param.category));p.forEach((e=>{var i,s,r;const o=g.find((t=>e.param.name===t.param.name));if(o||void 0!==a.kwargsIndex){let i=null==o?void 0:o.type;i||(i=a.params[a.kwargsIndex].type),Qi(i,e.type,null==n?void 0:n.createAddendum(),new V.TypeVarContext((0,Y.getTypeVarScopeId)(t)),void 0,8)||(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.overrideParamKeywordType().format({name:null!==(s=e.param.name)&&void 0!==s?s:"?",baseType:Li(e.type),overrideType:Li(i)})),A=!1),o&&e.param.hasDefault&&!o.param.hasDefault&&(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.overrideParamKeywordNoDefault().format({name:null!==(r=o.param.name)&&void 0!==r?r:"?"})),A=!1)}else null==n||n.addMessage(d.Localizer.DiagnosticAddendum.overrideParamNameMissing().format({name:null!==(i=e.param.name)&&void 0!==i?i:"?"})),A=!1})),g.forEach((e=>{var t;p.find((t=>e.param.name===t.param.name))||void 0===o.kwargsIndex&&(e.param.hasDefault||(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.overrideParamNameExtra().format({name:null!==(t=e.param.name)&&void 0!==t?t:"?"})),A=!1))}));const u=mi(e),h=mi(t);return Qi(u,h,null==n?void 0:n.createAddendum(),new V.TypeVarContext((0,Y.getTypeVarScopeId)(e)),void 0,8)||(null==n||n.addMessage(d.Localizer.DiagnosticAddendum.overrideReturnType().format({baseType:Li(u),overrideType:Li(h)})),A=!1),A}function Pi(e){const t=new Map;G.ClassType.getReverseMro(e).forEach((e=>{(0,G.isInstantiableClass)(e)&&e.details.fields.forEach(((n,i)=>{if(n.isClassMember()||n.isNamedTupleMemberMember()){let s;const r=(0,M.getLastTypedDeclaredForSymbol)(n);s=!(!r||5!==r.type)&&!!(8&Pn(r.node,!0)),s?t.set(i,{symbol:n,symbolName:i,classType:e}):t.delete(i)}}))}));const n=[];return t.forEach((e=>{n.push(e)})),n}function xi(e,t,n,i,s=0,r=!1,o){if((0,G.isFunction)(t)){if(!e)return G.FunctionType.clone(t,!0);if(G.FunctionType.isInstanceMethod(t)){const r=(0,G.isClassInstance)(e)?e:G.ClassType.cloneAsInstance((0,Y.specializeClassType)(e));return Ri(e,t,n||G.ClassType.cloneAsInstantiable(r),i,s,o||r,(0,G.isClassInstance)(e))}if(G.FunctionType.isClassMethod(t)||r&&G.FunctionType.isConstructorMethod(t)){const r=(0,G.isInstantiableClass)(e)?e:G.ClassType.cloneAsInstantiable(e),a=o?(0,G.isInstantiableClass)(e)?o:(0,Y.convertToInstantiable)(o):r;return Ri(G.TypeBase.isInstance(e)?G.ClassType.cloneAsInstantiable(e):e,t,n||r,i,s,a,!0)}if(G.FunctionType.isStaticMethod(t)){const r=(0,G.isInstantiableClass)(e)?e:G.ClassType.cloneAsInstantiable(e);return Ri(G.TypeBase.isInstance(e)?G.ClassType.cloneAsInstantiable(e):e,t,n||r,i,s,void 0,!1)}}else if((0,G.isOverloadedFunction)(t)){const a=G.OverloadedFunctionType.create([]);return t.overloads.forEach((t=>{const i=xi(e,t,n,void 0,s,r,o);i&&G.OverloadedFunctionType.addOverload(a,i)})),1===a.overloads.length?a.overloads[0]:0===a.overloads.length?void(i&&t.overloads.forEach((t=>{xi(e,t,n,i,s,r,o)}))):a}return t}function Ri(e,t,n,i,s,r,o=!0){const a=new V.TypeVarContext((0,Y.getTypeVarScopeId)(n));if(r&&t.details.parameters.length>0){const n=t.details.parameters[0],o=G.FunctionType.getEffectiveParameterType(t,0);a.addSolveForScope((0,Y.getTypeVarScopeId)(t));const A=new l.DiagnosticAddendum;if((0,G.isTypeVar)(o)&&o.details.boundType&&(0,G.isClassInstance)(o.details.boundType)&&G.ClassType.isProtocolClass(o.details.boundType))a.isLocked()||a.setTypeVarType(o,G.TypeBase.isInstantiable(o)?(0,Y.convertToInstance)(r):r);else if(!Qi(o,r,A,a,void 0,0,s)&&n.name&&!n.isNameSynthesized&&n.hasDeclaredType){if(!i)return;{const s=t.details.name||"(unnamed)";lt(f.getFileInfo(i).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.bindTypeMismatch().format({type:Li(e),methodName:s,paramName:n.name})+A.getString(),i)}}}mi(t);const A=(0,Y.applySolvedTypeVars)(t,a);return G.FunctionType.clone(A,o,e,(0,Y.getTypeVarScopeId)(e))}function Mi(e){return U.printObjectTypeForClass(e,n.printTypeFlags,mi)}function Li(e,t=!1){let i=n.printTypeFlags;return t&&(i|=32),U.printType(e,i,mi)}const Ki={runWithCancellationToken:function(e,t){try{return X=e,t()}finally{X=void 0}},getType:Fe,getTypeOfExpression:Pe,getTypeOfAnnotation:Le,getTypeOfClass:Qn,getTypeOfFunction:bn,getTypeOfExpressionExpectingType:ni,getExpectedType:ke,evaluateTypeForSubnode:Wn,evaluateTypesForStatement:Hn,evaluateTypesForMatchStatement:function(e){if(Ee(e,0))return;const t=Pe(e.subjectExpression);let n=t.type;for(const t of e.cases)t.guardExpression||(n=(0,b.narrowTypeBasedOnPattern)(Ki,n,t.pattern,!1));Te(e,n,0,!!t.isIncomplete)},evaluateTypesForCaseStatement:Yn,evaluateTypeOfParameter:qn,canBeTruthy:Ue,canBeFalsy:Oe,stripLiteralValue:Re,removeTruthinessFromType:Ge,removeFalsinessFromType:Ye,verifyRaiseExceptionType:function(e){const t=ii(e,"BaseException");if(e.typeExpression){const n=Pe(e.typeExpression).type;if(n&&t&&(0,G.isInstantiableClass)(t)){const i=new l.DiagnosticAddendum;(0,Y.doForEachSubtype)(n,(n=>{const s=dt(n);if(!(0,G.isAnyOrUnknown)(s))if((0,G.isInstantiableClass)(s)&&void 0===s.literalValue)if((0,Y.derivesFromClassRecursive)(s,t,!1)){let t;oi(e.typeExpression,(()=>{t=Ut(e.typeExpression,[],s,!1,void 0)})),t&&t.argumentErrors&&i.addMessage(d.Localizer.Diagnostic.exceptionTypeNotInstantiable().format({type:Li(n,!1)}))}else i.addMessage(d.Localizer.Diagnostic.exceptionTypeIncorrect().format({type:Li(n,!1)}));else(0,G.isClassInstance)(s)&&(0,Y.derivesFromClassRecursive)(G.ClassType.cloneAsInstantiable(s),t,!1)||i.addMessage(d.Localizer.Diagnostic.exceptionTypeIncorrect().format({type:Li(n,!1)}))})),i.isEmpty()||lt(f.getFileInfo(e).diagnosticRuleSet.reportGeneralTypeIssues,c.DiagnosticRule.reportGeneralTypeIssues,d.Localizer.Diagnostic.expectedExceptionClass()+i.getString(),e.typeExpression)}}},verifyDeleteExpression:mt,validateOverloadedFunctionArguments:Kt,isAfterNodeReachable:it,isNodeReachable:nt,isAsymmetricDescriptorAssignment:function(e){return r.has(e.id)},suppressDiagnostics:oi,getDeclarationsForStringNode:function(e){var t;const n=[],i=null===(t=ke(e))||void 0===t?void 0:t.type;return i&&(0,Y.doForEachSubtype)(i,(t=>{var i,s;if((0,G.isClassInstance)(t)&&G.ClassType.isTypedDictClass(t)&&(null===(i=t.details.typedDictEntries)||void 0===i?void 0:i.get(e.value))){const i=null===(s=(0,Y.lookUpObjectMember)(t,e.value))||void 0===s?void 0:s.symbol;i&&(0,a.appendArray)(n,i.getDeclarations())}})),0===n.length?void 0:n},getDeclarationsForNameNode:function(e,t=!0){var n;if(t&&f.isCodeUnreachable(e))return;const i=[];if(e.parent&&23===e.parent.nodeType&&e.parent.alias&&e===e.parent.name){const t=N.getScopeForNode(e);if(t){const n=t.lookUpSymbolRecursive(e.parent.alias.value);if(n){const t=n.symbol.getDeclarations().filter((t=>8===t.type&&t.node===e.parent));(0,a.appendArray)(i,(0,Q.getDeclarationsWithUsesLocalNameRemoved)(t))}}}else if(e.parent&&35===e.parent.nodeType&&e===e.parent.memberName){let t=Fe(e.parent.leftExpression);if(t){t=dt(t);const n=e.parent.memberName.value;(0,Y.doForEachSubtype)(t,(e=>{let t;if(e=dt(e),(0,G.isInstantiableClass)(e)){let i=(0,Y.lookUpClassMember)(e,n,16);if(i||(i=(0,Y.lookUpClassMember)(e,n)),!i){const t=e.details.effectiveMetaclass;t&&(0,G.isInstantiableClass)(t)&&(i=(0,Y.lookUpClassMember)(t,n))}i&&(t=i.symbol)}else if((0,G.isClassInstance)(e)){let i=(0,Y.lookUpObjectMember)(e,n,16);i||(i=(0,Y.lookUpObjectMember)(e,n)),i&&(t=i.symbol)}else(0,G.isModule)(e)&&(t=G.ModuleType.getField(e,n));if(t){const e=t.getTypedDeclarations();e.length>0?(0,a.appendArray)(i,e):(0,a.appendArray)(i,t.getDeclarations())}}))}}else if(e.parent&&37===e.parent.nodeType){const t=e.parent.nameParts.findIndex((t=>t===e)),n=f.getImportInfo(e.parent);t>=0&&n&&!n.isNativeLib&&t{const t=Ai(e,s);t&&i.push(t)}));else if((0,G.isInstantiableClass)(e)){const r=null===(n=Ve(t.parent.leftExpression,G.ClassType.cloneAsInstance(e),"__init__",{method:"get"},void 0,4))||void 0===n?void 0:n.type;if(r&&(0,G.isFunction)(r)){const t=Ai(r,s);if(t)i.push(t);else if(G.ClassType.isDataClass(e)){const t=(0,Y.lookUpClassMember)(e,s);t&&(0,a.appendArray)(i,t.symbol.getDeclarations())}}}}}else{const t=f.getFileInfo(e),n=S.isWithinTypeAnnotation(e,!(0,y.isAnnotationEvaluationPostponed)(f.getFileInfo(e))),s=n||t.isStubFile;let r;const o=f.getTypeParameterSymbol(e);if(o)r=o;else{const t=ri(e,e.value,!s,n);r=null==t?void 0:t.symbol}r&&(0,a.appendArray)(i,r.getDeclarations())}return i},getTypeForDeclaration:li,resolveAliasDeclaration:pi,resolveAliasDeclarationWithInfo:gi,getTypeOfIterable:Xe,getTypeOfIterator:We,getGetterTypeFromProperty:function(e,t){if(!G.ClassType.isPropertyClass(e))return;const n=e.details.fields.get("fget");if(n){const e=hi(n);if(e&&(0,G.isFunction)(e))return mi(e,void 0,t)}},getTypeOfArgument:ei,markNamesAccessed:function(e,t){const n=f.getFileInfo(e),i=N.getScopeForNode(e);i&&t.forEach((t=>{const s=i.lookUpSymbolRecursive(t);s&&yt(n,s.symbol,e)}))},getScopeIdForNode:Tt,makeTopLevelTypeVarsConcrete:dt,mapSubtypesExpandTypeVars:ht,lookUpSymbolRecursive:ri,getDeclaredTypeOfSymbol:hi,getEffectiveTypeOfSymbol:ui,getEffectiveTypeOfSymbolForUsage:di,getInferredTypeOfDeclaration:ci,getDeclaredTypeForExpression:qe,getFunctionDeclaredReturnType:fi,getFunctionInferredReturnType:yi,getBestOverloadForArguments:Mt,getBuiltInType:ii,getTypeOfMember:Ii,getTypeOfObjectMember:Ve,getBoundMethod:Je,getTypeOfMagicMethodReturn:rn,bindFunctionToClassOrObject:xi,getCallSignatureInfo:function(e,t,n){const i=e.leftExpression,s=Fe(i);if(void 0===s)return;const r=[];let o=0;function a(){r.push({argumentCategory:o,typeResult:{type:G.UnknownType.create()},active:!0})}e.arguments.forEach(((e,i)=>{let s=!1;i===t&&(n?s=!0:a()),o=e.argumentCategory,r.push({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,name:e.name,active:s})})),e.arguments.length{n=Wt(i,r,t,new V.TypeVarContext((0,Y.getTypeVarScopeId)(t)),!0)})),A.push({type:t,activeParam:null==n?void 0:n.activeParam})}function c(e){(0,G.isFunction)(e)?l(e):G.OverloadedFunctionType.getOverloads(e).forEach((e=>{l(e)}))}return(0,Y.doForEachSubtype)(s,(e=>{switch(e.category){case 5:case 6:c(e);break;case 7:if(G.TypeBase.isInstantiable(e)){let t;t=Je(e,"__init__");const n=!!t&&(0,G.isFunction)(t)&&"builtins.object.__init__"===t.details.fullName,i=!!t&&(0,G.isFunction)(t)&&G.FunctionType.isSkipConstructorCheck(t);if(!t||n||i){const n=Je(e,"__new__",void 0,!0);n&&((0,G.isFunction)(n)&&"builtins.object.__new__"===n.details.fullName||(t=n))}t&&c(t)}else{const t=Je(e,"__call__");t&&c(t)}}})),0!==A.length?{callNode:e,signatures:A}:void 0},getAbstractMethods:Pi,narrowConstrainedTypeVar:function(e,t){const n=f.getFlowNode(e);if(n)return Oi.narrowConstrainedTypeVar(n,t)},assignType:Qi,validateOverrideMethod:function(e,t,n,i=!0){if(!(0,G.isFunction)(e)&&!(0,G.isOverloadedFunction)(e))return n.addMessage(d.Localizer.DiagnosticAddendum.overrideType().format({type:Li(e)})),!1;if((0,G.isFunction)(e)){if((0,G.isFunction)(t))return Ni(e,t,n,i);if(G.OverloadedFunctionType.getOverloads(t).some((t=>Ni(e,t,void 0,i))))return!0;const s=G.OverloadedFunctionType.getImplementation(t);return!(!s||!Ni(e,s,void 0,i))||(n.addMessage(d.Localizer.DiagnosticAddendum.overrideNoOverloadMatches()),!1)}return!0},assignTypeToExpression:Ct,assignClassToSelf:Ti,getTypedDictClassType:function(){return Ae},getTupleClassType:function(){return ie},getObjectType:function(){return ee},getBuiltInObject:si,getTypingType:$e,verifyTypeArgumentsAssignable:vi,inferReturnTypeIfNecessary:Ci,inferTypeParameterVarianceForClass:_n,addError:ot,addWarning:function(e,t,n){return at("warning",e,t,n)},addInformation:rt,addUnusedCode:function(e,t){At(e)||f.getFileInfo(e).diagnosticSink.addUnusedCodeWithTextRange(d.Localizer.Diagnostic.unreachableCode(),t)},addUnreachableCode:function(e,t){At(e)||f.getFileInfo(e).diagnosticSink.addUnreachableCodeWithTextRange(d.Localizer.Diagnostic.unreachableCode(),t)},addDeprecated:function(e,t){At(t)||f.getFileInfo(t).diagnosticSink.addDeprecatedWithTextRange(e,t)},addDiagnostic:lt,addDiagnosticForTextRange:ct,printType:Li,printFunctionParts:function(e){return U.printFunctionParts(e,n.printTypeFlags,mi)},getTypeCacheEntryCount:function(){return ge.size},disposeEvaluator:function(){ce=new Set,pe=new Map,ge=new Map,ue=new Map,de=new Map},useSpeculativeMode:ai,setTypeForNode:ve,checkForCancellation:fe},Oi=(0,I.getCodeFlowEngine)(Ki,H);return Ki}},503:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.maxSubtypesForInferredType=void 0,t.maxSubtypesForInferredType=64},558:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createTypeEvaluatorWithTracker=void 0;const i=n(2489),s=n(8718),r=n(7887);t.createTypeEvaluatorWithTracker=function(e,t,n,o){if(!t.logCalls&&(0,i.isDebugMode)())return(0,r.createTypeEvaluator)(e,t);function a(e,i,r){return t.logCalls?n.log(e,(e=>(e.add(null==o?void 0:o.print(r)),s.timingStats.typeEvaluationTime.timeOperation(i))),t.minimumLoggingThreshold,!0):s.timingStats.typeEvaluationTime.timeOperation(i)}const A=t.logCalls?i=>n.log("import lookup",(t=>(t.add(null==o?void 0:o.printFileOrModuleName(i)),e(i))),t.minimumLoggingThreshold,!0):e,l=(0,r.createTypeEvaluator)(A,t);return{runWithCancellationToken:l.runWithCancellationToken,getType:e=>a("getType",(()=>l.getType(e)),e),getTypeOfExpression:(e,t,n)=>a("getTypeOfExpression",(()=>l.getTypeOfExpression(e,t,n)),e),getTypeOfAnnotation:l.getTypeOfAnnotation,getTypeOfClass:e=>a("getTypeOfClass",(()=>l.getTypeOfClass(e)),e),getTypeOfFunction:e=>a("getTypeOfFunction",(()=>l.getTypeOfFunction(e)),e),getTypeOfExpressionExpectingType:l.getTypeOfExpressionExpectingType,evaluateTypeForSubnode:l.evaluateTypeForSubnode,evaluateTypesForStatement:e=>a("evaluateTypesForStatement",(()=>l.evaluateTypesForStatement(e)),e),evaluateTypesForMatchStatement:l.evaluateTypesForMatchStatement,evaluateTypesForCaseStatement:l.evaluateTypesForCaseStatement,evaluateTypeOfParameter:l.evaluateTypeOfParameter,canBeTruthy:l.canBeTruthy,canBeFalsy:l.canBeFalsy,stripLiteralValue:l.stripLiteralValue,removeTruthinessFromType:l.removeTruthinessFromType,removeFalsinessFromType:l.removeFalsinessFromType,getExpectedType:e=>a("getExpectedType",(()=>l.getExpectedType(e)),e),verifyRaiseExceptionType:e=>a("verifyRaiseExceptionType",(()=>l.verifyRaiseExceptionType(e)),e),verifyDeleteExpression:e=>a("verifyDeleteExpression",(()=>l.verifyDeleteExpression(e)),e),validateOverloadedFunctionArguments:l.validateOverloadedFunctionArguments,isAfterNodeReachable:e=>a("isAfterNodeReachable",(()=>l.isAfterNodeReachable(e)),e),isNodeReachable:(e,t)=>a("isNodeReachable",(()=>l.isNodeReachable(e,t)),e),isAsymmetricDescriptorAssignment:l.isAsymmetricDescriptorAssignment,suppressDiagnostics:(e,t)=>a("suppressDiagnostics",(()=>l.suppressDiagnostics(e,t))),getDeclarationsForStringNode:e=>a("getDeclarationsForStringNode",(()=>l.getDeclarationsForStringNode(e)),e),getDeclarationsForNameNode:(e,t)=>a("getDeclarationsForNameNode",(()=>l.getDeclarationsForNameNode(e,t)),e),getTypeForDeclaration:e=>a("getTypeForDeclaration",(()=>l.getTypeForDeclaration(e)),e),resolveAliasDeclaration:(e,t,n)=>a("resolveAliasDeclaration",(()=>l.resolveAliasDeclaration(e,t,n)),e),resolveAliasDeclarationWithInfo:(e,t,n)=>a("resolveAliasDeclarationWithInfo",(()=>l.resolveAliasDeclarationWithInfo(e,t,n)),e),getTypeOfIterable:(e,t,n)=>a("getTypeOfIterable",(()=>l.getTypeOfIterable(e,t,n)),e),getTypeOfIterator:(e,t,n)=>a("getTypeOfIterator",(()=>l.getTypeOfIterator(e,t,n)),e),getGetterTypeFromProperty:(e,t)=>a("getGetterTypeFromProperty",(()=>l.getGetterTypeFromProperty(e,t)),e),getTypeOfArgument:l.getTypeOfArgument,markNamesAccessed:(e,t)=>a("markNamesAccessed",(()=>l.markNamesAccessed(e,t)),e),getScopeIdForNode:l.getScopeIdForNode,makeTopLevelTypeVarsConcrete:e=>a("makeTopLevelTypeVarsConcrete",(()=>l.makeTopLevelTypeVarsConcrete(e)),e),mapSubtypesExpandTypeVars:l.mapSubtypesExpandTypeVars,lookUpSymbolRecursive:l.lookUpSymbolRecursive,getDeclaredTypeOfSymbol:l.getDeclaredTypeOfSymbol,getEffectiveTypeOfSymbol:e=>a("getEffectiveTypeOfSymbol",(()=>l.getEffectiveTypeOfSymbol(e)),e),getEffectiveTypeOfSymbolForUsage:(e,t,n)=>a("getEffectiveTypeOfSymbolForUsage",(()=>l.getEffectiveTypeOfSymbolForUsage(e,t,n)),e),getInferredTypeOfDeclaration:l.getInferredTypeOfDeclaration,getDeclaredTypeForExpression:l.getDeclaredTypeForExpression,getFunctionDeclaredReturnType:e=>a("getFunctionDeclaredReturnType",(()=>l.getFunctionDeclaredReturnType(e)),e),getFunctionInferredReturnType:(e,t)=>a("getFunctionInferredReturnType",(()=>l.getFunctionInferredReturnType(e,t)),e),getBestOverloadForArguments:(e,t,n)=>l.getBestOverloadForArguments(e,t,n),getBuiltInType:(e,t)=>a("getBuiltInType",(()=>l.getBuiltInType(e,t)),e),getTypeOfMember:e=>a("getTypeOfMember",(()=>l.getTypeOfMember(e)),e.symbol),getTypeOfObjectMember:l.getTypeOfObjectMember,getBoundMethod:l.getBoundMethod,getTypeOfMagicMethodReturn:l.getTypeOfMagicMethodReturn,bindFunctionToClassOrObject:l.bindFunctionToClassOrObject,getCallSignatureInfo:(e,t,n)=>a("getCallSignatureInfo",(()=>l.getCallSignatureInfo(e,t,n)),e),getAbstractMethods:e=>a("getAbstractMethods",(()=>l.getAbstractMethods(e)),e),narrowConstrainedTypeVar:l.narrowConstrainedTypeVar,assignType:(e,t,n,i,s,r,o)=>a("assignType",(()=>l.assignType(e,t,n,i,s,r,o)),e),validateOverrideMethod:(e,t,n,i)=>a("validateOverrideMethod",(()=>l.validateOverrideMethod(e,t,n,i)),t),assignTypeToExpression:l.assignTypeToExpression,assignClassToSelf:l.assignClassToSelf,getBuiltInObject:l.getBuiltInObject,getTypedDictClassType:l.getTypedDictClassType,getTupleClassType:l.getTupleClassType,getObjectType:l.getObjectType,getTypingType:l.getTypingType,inferReturnTypeIfNecessary:l.inferReturnTypeIfNecessary,inferTypeParameterVarianceForClass:l.inferTypeParameterVarianceForClass,verifyTypeArgumentsAssignable:l.verifyTypeArgumentsAssignable,addError:l.addError,addWarning:l.addWarning,addInformation:l.addInformation,addUnusedCode:l.addUnusedCode,addUnreachableCode:l.addUnreachableCode,addDeprecated:l.addDeprecated,addDiagnostic:l.addDiagnostic,addDiagnosticForTextRange:l.addDiagnosticForTextRange,printType:(e,t)=>a("printType",(()=>l.printType(e,t)),e),printFunctionParts:e=>a("printFunctionParts",(()=>l.printFunctionParts(e)),e),getTypeCacheEntryCount:l.getTypeCacheEntryCount,disposeEvaluator:l.disposeEvaluator,useSpeculativeMode:l.useSpeculativeMode,setTypeForNode:l.setTypeForNode,checkForCancellation:l.checkForCancellation}}},4610:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.enumerateLiteralsForType=t.narrowTypeForContainerElementType=t.getElementTypeForContainerNarrowing=t.isIsinstanceFilterSubclass=t.isIsinstanceFilterSuperclass=t.getTypeNarrowingCallback=void 0;const o=n(5275),a=n(563),A=n(2044),l=r(n(8494)),c=n(5083),p=n(817),g=n(9453),u=n(1133),d=n(5168),h=n(4447);function C(e,t,n){const i=(0,c.getScopeForNode)(t);if(1!==(null==i?void 0:i.type)&&3!==(null==i?void 0:i.type))return;const s=i.lookUpSymbol(t.value);if(!s)return;const r=s.getDeclarations();if(0===r.length||r.some((e=>1!==e.type&&2!==e.type)))return;let o;if(r.some((e=>{const t=2===e.type?e.node.name:e.node,n=l.getExecutionScopeNode(t);return!(!o||n===o)||(o=n,!1)})))return;const a=r.filter((t=>e.isNodeReachable(n,t.node)));return a.length>0?a:void 0}function m(e,t,n){return(0,d.mapSubtypes)(t,(t=>{if(n){if(e.canBeTruthy(t))return e.removeFalsinessFromType(t)}else if(e.canBeFalsy(t))return e.removeTruthinessFromType(t)}))}function y(e,t,n,i,s){return!(i.includeSubclasses||(0,u.isTypeVar)(n)||!u.ClassType.isDerivedFrom(t,i)&&!(s&&u.ClassType.isProtocolClass(i)&&e.assignType(i,t))&&(!u.ClassType.isBuiltIn(i,"dict")||!u.ClassType.isTypedDictClass(t)))}function f(e,t,n,i,s){return!!u.ClassType.isDerivedFrom(i,t)||!!(s&&u.ClassType.isProtocolClass(t)&&e.assignType(t,i))}function I(e,t,n,i,s,r,o){const c=(0,d.mapSubtypes)(t,(e=>(0,d.transformPossibleRecursiveTypeAlias)(e))),p=(t,c,p,g)=>{const C=[];let m=!1,I=!1;for(const g of n){const n=e.makeTopLevelTypeVarsConcrete(g);if((0,u.isInstantiableClass)(n)){const E=y(e,t,g,n,i),T=f(e,t,0,n,i);if(E&&(m=!0),T&&E&&!u.ClassType.isSameGenericClass(t,n)&&(I=!0),s)if(E)C.push((0,d.addConditionToType)(t,p));else if(T){let n=g;if((0,u.isClass)(g)&&(u.ClassType.isSpecialBuiltIn(g)||g.details.typeParameters.length>0)){const i=new h.TypeVarContext((0,d.getTypeVarScopeId)(g)),s=u.ClassType.cloneForSpecialization(g,void 0,!1);(0,A.populateTypeVarContextBasedOnExpectedType)(e,s,t,i,void 0)&&(n=(0,d.applySolvedTypeVars)(s,i,!0))}C.push((0,d.addConditionToType)(n,p))}else if(r){const e=``,s=(0,a.getFileInfo)(o);let r=u.ClassType.createInstantiable(e,l.getClassFullName(o,s.moduleName,e),s.moduleName,s.filePath,0,l.getTypeSourceId(o),void 0,t.details.effectiveMetaclass,t.details.docString);r.details.baseClasses=[u.ClassType.cloneAsInstantiable(t),n],(0,d.computeMroLinearization)(r),r=(0,d.addConditionToType)(r,n.condition),(0,u.isTypeVar)(c)&&!c.details.isParamSpec&&0===c.details.constraints.length&&(r=(0,d.addConditionToType)(r,[{typeVarName:u.TypeVarType.getNameWithScope(c),constraintIndex:0,isConstrainedTypeVar:!1}]));const A=u.ClassType.cloneAsInstance(r);C.push(i?A:u.ClassType.cloneAsInstantiable(A))}}else if((0,u.isTypeVar)(g)&&u.TypeBase.isInstantiable(g))i&&u.TypeBase.isInstance(c)?(0,u.isTypeVar)(c)&&(0,u.isTypeSame)((0,d.convertToInstance)(g),c)?s&&C.push(c):s?C.push((0,d.convertToInstance)(g)):(C.push(c),I=!0):!i&&u.TypeBase.isInstantiable(c)&&((0,u.isTypeVar)(c)&&(0,u.isTypeSame)(g,c)?s&&C.push(c):s?C.push(g):(C.push(c),I=!0));else if((0,u.isFunction)(g)&&i){let e=!1;(0,u.isClass)(t)&&(e=!!u.TypeBase.isInstantiable(c)||!!(0,d.lookUpClassMember)(t,"__call__")),e&&(s?C.push(c):m=!0)}}return s||m&&!I||C.push(g),i?C.map((e=>(0,d.convertToInstance)(e))):C.map((e=>(0,u.isInstantiableClass)(e)?(0,d.convertToInstantiable)((0,d.convertToInstance)(e)):e))},g=[],C=[],m=e.mapSubtypesExpandTypeVars(c,void 0,((t,r)=>{const a=(0,d.getTypeCondition)(t)?t:r,A=(0,u.isClassInstance)(t)&&u.ClassType.isBuiltIn(t,"type");if(s&&(0,u.isAnyOrUnknown)(t))return i?g.push((0,u.combineTypes)(n.map((e=>(0,d.convertToInstance)(e))))):g.push((0,u.combineTypes)(n.map((e=>(0,d.convertToInstantiable)((0,d.convertToInstance)(e)))))),void C.push(t);if(i){if((0,u.isNoneInstance)(t)){const e=n.some((e=>(0,u.isNoneTypeClass)(e)));return s?e?t:void 0:e?void 0:t}if(((0,u.isModule)(t)||(0,u.isClassInstance)(t)&&u.ClassType.isBuiltIn(t,"ModuleType"))&&s){const t=n.filter((t=>{const n=e.makeTopLevelTypeVarsConcrete(t);return(0,u.isInstantiableClass)(n)&&u.ClassType.isProtocolClass(n)}));if(t.length>0)return(0,d.convertToInstance)((0,u.combineTypes)(t))}if((0,u.isClassInstance)(t)&&!A)return(0,u.combineTypes)(p(u.ClassType.cloneAsInstantiable(t),(0,d.convertToInstance)(r),(0,d.getTypeCondition)(t),a));if(((0,u.isFunction)(t)||(0,u.isOverloadedFunction)(t))&&i)return(0,u.combineTypes)(((t,i)=>{const r=[];if(s)for(const s of n){const n=e.makeTopLevelTypeVarsConcrete(s);e.assignType(t,(0,d.convertToInstance)(n))&&((0,u.isFunction)(s)?r.push(i):r.push((0,d.convertToInstance)(s)))}else n.some((n=>{const i=e.makeTopLevelTypeVarsConcrete(n);return!((0,u.isClass)(i)&&!u.ClassType.isProtocolClass(i))&&e.assignType(t,(0,d.convertToInstance)(i))}))||r.push(i);return r})(t,(0,d.convertToInstance)(r)));if((0,u.isInstantiableClass)(t)||A){const e=n.some((e=>(0,u.isInstantiableClass)(e)&&u.ClassType.isBuiltIn(e,"type")));return s?e?a:void 0:e?void 0:a}}else{if((0,u.isInstantiableClass)(t))return(0,u.combineTypes)(p(t,r,(0,d.getTypeCondition)(t),a));if(A){const n=e.getBuiltInObject(o,"object");if(n&&(0,u.isClassInstance)(n))return(0,u.combineTypes)(p(u.ClassType.cloneAsInstantiable(n),(0,d.convertToInstantiable)(r),(0,d.getTypeCondition)(t),a))}}return s?void 0:a}));return(0,u.isNever)(m)&&g.length>0?(0,u.combineTypes)(g):C.length>0?(0,u.combineTypes)([m,...C]):m}function E(e){if(!(0,u.isClassInstance)(e)||!u.ClassType.isBuiltIn(e,["list","set","frozenset","deque","tuple","dict","defaultdict","OrderedDict"]))return;if(!e.typeArguments||e.typeArguments.length<1)return;let t=e.typeArguments[0];return(0,d.isTupleClass)(e)&&e.tupleTypeArguments&&(t=(0,u.combineTypes)(e.tupleTypeArguments.map((e=>e.type)))),t}function T(e,t,n){let i=!0;const s=e.stripLiteralValue(n),r=(0,d.mapSubtypes)(t,(t=>{const r=e.makeTopLevelTypeVarsConcrete(t);return(0,u.isAnyOrUnknown)(r)||(0,u.isClassInstance)(r)&&u.ClassType.isBuiltIn(r,"type")?(i=!1,t):e.assignType(n,r)?t:e.assignType(s,r)?(0,d.mapSubtypes)(n,(e=>{if((0,u.isClassInstance)(e)&&(0,u.isSameWithoutLiteralValue)(t,e))return e})):void 0})),o=(0,d.mapSubtypes)(n,(n=>{const s=e.makeTopLevelTypeVarsConcrete(n);return(0,u.isAnyOrUnknown)(s)?(i=!1,t):e.assignType(t,s)?s:void 0}));return i?(0,u.combineTypes)([r,o]):t}function B(e,t,n,i,s){return(0,d.mapSubtypes)(t,(t=>{let r;if((0,u.isClassInstance)(t)?r=(0,d.lookUpObjectMember)(t,n):(0,u.isInstantiableClass)(t)&&(r=(0,d.lookUpClassMember)(t,n)),r&&r.isTypeDeclared){let n=e.getTypeOfMember(r);if((0,u.isClassInstance)(t)&&(0,d.isProperty)(n)){const t=(0,d.lookUpObjectMember)(n,"fget");if(t&&t.isTypeDeclared){const i=e.getTypeOfMember(t);if((0,u.isFunction)(i)&&i.details.declaredReturnType){const e=u.FunctionType.getSpecializedReturnType(i);e&&(n=e)}}}if((0,d.isLiteralTypeOrUnion)(n))return s?e.assignType(n,i)?t:void 0:e.assignType(i,n)?void 0:t}return t}))}function v(e,t,n,i,s){return(0,d.mapSubtypes)(t,(t=>{if(t=e.makeTopLevelTypeVarsConcrete(t),(0,u.isClassInstance)(t)&&u.ClassType.isSameGenericClass(n,t)){if(void 0!==t.literalValue){const e=u.ClassType.isLiteralValueSame(t,n);if(e&&!i||!e&&i)return;return t}if(i)return n;{const i=Q(e,t);if(i&&i.length>0)return(0,u.combineTypes)(i.filter((e=>!u.ClassType.isLiteralValueSame(e,n))))}}else if(i&&(s||(0,u.isNoneInstance)(t)))return;return t}))}function Q(e,t){if(u.ClassType.isBuiltIn(t,"bool"))return[u.ClassType.cloneWithLiteral(t,!0),u.ClassType.cloneWithLiteral(t,!1)];if(u.ClassType.isEnumClass(t)){const n=[];return t.details.fields.forEach((i=>{if(!i.isIgnoredForProtocolMatch()){const s=e.getEffectiveTypeOfSymbol(i);(0,u.isClassInstance)(s)&&u.ClassType.isSameGenericClass(t,s)&&void 0!==s.literalValue&&n.push(s)}})),n}}function _(e,t,n,i,s){return e.mapSubtypesExpandTypeVars(t,void 0,(e=>{switch(e.category){case 5:case 6:return n?e:void 0;case 3:case 8:return n?void 0:e;case 7:if(u.TypeBase.isInstantiable(e))return n?e:void 0;if((0,d.lookUpClassMember)(e,"__call__"))return n?e:void 0;if(!n)return e;if(s){const t=``,n=(0,a.getFileInfo)(i);let s=u.ClassType.createInstantiable(t,l.getClassFullName(i,n.moduleName,t),n.moduleName,n.filePath,0,l.getTypeSourceId(i),void 0,e.details.effectiveMetaclass,e.details.docString);s.details.baseClasses=[u.ClassType.cloneAsInstantiable(e)],(0,d.computeMroLinearization)(s),s=(0,d.addConditionToType)(s,e.condition);const r=u.FunctionType.createSynthesizedInstance("__call__"),o={category:0,name:"self",type:u.ClassType.cloneAsInstance(s),hasDeclaredType:!0};return u.FunctionType.addParameter(r,o),u.FunctionType.addDefaultParameters(r),r.details.declaredReturnType=u.UnknownType.create(),s.details.fields.set("__call__",p.Symbol.createWithType(4,r)),u.ClassType.cloneAsInstance(s)}return;default:return e}}))}t.getTypeNarrowingCallback=function e(t,n,i,s,r=0){if(r>u.maxTypeRecursionCount)return;if(r++,4===i.nodeType)return function(t,n,i,s,r){var o;return null!==(o=e(t,n,i.rightExpression,s,r))&&void 0!==o?o:e(t,n,i.name,s,r)}(t,n,i,s,r);if(7===i.nodeType){const e=39===i.operator||40===i.operator,r=12===i.operator||28===i.operator;if(e||r){const o=39===i.operator||12===i.operator?s:!s;if(11===i.rightExpression.nodeType&&26===i.rightExpression.constType){let e=i.leftExpression;if(4===e.nodeType&&(e=e.name),l.isMatchingExpression(n,e))return e=>function(e,t,n){const i=(0,d.mapSubtypes)(t,(e=>(0,d.transformPossibleRecursiveTypeAlias)(e)));return e.mapSubtypesExpandTypeVars(i,void 0,((e,t)=>{if((0,u.isAnyOrUnknown)(e))return e;const i=(0,u.isTypeVar)(t)&&0===t.details.constraints.length?t:e;return(0,u.isClassInstance)(e)&&u.ClassType.isBuiltIn(e,"object")?n?(0,d.addConditionToType)(u.NoneType.createInstance(),e.condition):i:(0,u.isNoneInstance)(e)===n?e:void 0}))}(t,e,o);if(24===e.nodeType&&l.isMatchingExpression(n,e.baseExpression)&&1===e.items.length&&!e.trailingComma&&0===e.items[0].argumentCategory&&!e.items[0].name&&40===e.items[0].valueExpression.nodeType&&e.items[0].valueExpression.isInteger&&!e.items[0].valueExpression.isImaginary){const n=e.items[0].valueExpression.value;if("number"==typeof n)return e=>function(e,t,n,i){return e.mapSubtypesExpandTypeVars(t,void 0,(t=>{const s=(0,d.getSpecializedTupleType)(t);if(!s||(0,d.isUnboundedTupleClass)(s)||!s.tupleTypeArguments)return t;const r=s.tupleTypeArguments.length;if(i<0||i>=r)return t;const o=e.makeTopLevelTypeVarsConcrete(s.tupleTypeArguments[i].type);if(n){if(!e.assignType(o,u.NoneType.createInstance()))return}else if((0,u.isNoneInstance)(o))return;return t}))}(t,e,o,n)}}if(e&&9===i.leftExpression.nodeType&&1===i.leftExpression.arguments.length&&0===i.leftExpression.arguments[0].argumentCategory){const e=i.leftExpression.arguments[0].valueExpression;if(l.isMatchingExpression(n,e)){const e=t.getTypeOfExpression(i.leftExpression.leftExpression,2).type;if((0,u.isInstantiableClass)(e)&&u.ClassType.isBuiltIn(e,"type")){const e=t.makeTopLevelTypeVarsConcrete(t.getTypeOfExpression(i.rightExpression).type);if((0,u.isInstantiableClass)(e))return t=>function(e,t,n){return(0,d.mapSubtypes)(e,(e=>{if((0,u.isClassInstance)(e)){const i=u.ClassType.isDerivedFrom(t,u.ClassType.cloneAsInstantiable(e));if(n)return i?u.ClassType.isSameGenericClass(e,t)?e:u.ClassType.cloneAsInstance(t):void 0;if(i&&u.ClassType.isFinal(e))return;return e}return(0,u.isNoneInstance)(e)?n?void 0:e:(0,u.isAnyOrUnknown)(e)&&n?u.ClassType.cloneAsInstance(t):e}))}(t,e,o)}}}if(e&&l.isMatchingExpression(n,i.leftExpression)){const e=t.getTypeOfExpression(i.rightExpression).type;if((0,u.isClassInstance)(e)&&(u.ClassType.isEnumClass(e)||u.ClassType.isBuiltIn(e,"bool"))&&void 0!==e.literalValue)return n=>v(t,n,e,o,!0)}if(r){const e=12===i.operator?s:!s;if(l.isMatchingExpression(n,i.leftExpression)){const n=t.getTypeOfExpression(i.rightExpression).type;if((0,u.isClassInstance)(n)&&void 0!==n.literalValue)return i=>v(t,i,n,e,!1)}if(l.isMatchingExpression(n,i.rightExpression)){const n=t.getTypeOfExpression(i.leftExpression).type;if((0,u.isClassInstance)(n)&&void 0!==n.literalValue)return i=>v(t,i,n,e,!1)}if(24===i.leftExpression.nodeType&&1===i.leftExpression.items.length&&!i.leftExpression.trailingComma&&0===i.leftExpression.items[0].argumentCategory&&l.isMatchingExpression(n,i.leftExpression.baseExpression)){const n=t.getTypeOfExpression(i.leftExpression.items[0].valueExpression).type;if((0,u.isClassInstance)(n)&&(0,d.isLiteralType)(n))if(u.ClassType.isBuiltIn(n,"str")){const s=t.getTypeOfExpression(i.rightExpression).type;if((0,u.isClassInstance)(s)&&void 0!==s.literalValue)return i=>function(e,t,n,i,s){let r=!0;const o=(0,d.mapSubtypes)(t,(t=>{if((0,u.isClassInstance)(t)&&u.ClassType.isTypedDictClass(t)){const r=(0,g.getTypedDictMembersForClass)(e,t).get(n.literalValue);if(r&&(0,d.isLiteralTypeOrUnion)(r.valueType))return s?e.assignType(r.valueType,i)?t:void 0:e.assignType(i,r.valueType)?void 0:t}return r=!1,t}));return r?o:t}(t,i,n,s,e)}else if(u.ClassType.isBuiltIn(n,"int")){const s=t.getTypeOfExpression(i.rightExpression).type;if((0,u.isClassInstance)(s)&&void 0!==s.literalValue)return i=>function(e,t,n,i,s){let r=!0;const o=(0,d.mapSubtypes)(t,(t=>{var o;if((0,u.isClassInstance)(t)&&u.ClassType.isTupleClass(t)&&!(0,d.isUnboundedTupleClass)(t)&&"number"==typeof n.literalValue){const r=n.literalValue;if(t.tupleTypeArguments&&r>=0&&rfunction(e,t,n,i){return(0,d.mapSubtypes)(t,(t=>{const s=e.makeTopLevelTypeVarsConcrete(t);return(0,u.isClassInstance)(s)&&(0,d.isTupleClass)(s)&&!(0,d.isUnboundedTupleClass)(s)&&s.tupleTypeArguments?s.tupleTypeArguments.length===n===i?t:void 0:t}))}(t,n,e,o)}}}if(r&&35===i.leftExpression.nodeType&&l.isMatchingExpression(n,i.leftExpression.leftExpression)){const e=t.getTypeOfExpression(i.rightExpression).type,n=i.leftExpression.memberName;if((0,u.isClassInstance)(e)&&void 0!==e.literalValue)return i=>B(t,i,n.value,e,o)}if(35===i.leftExpression.nodeType&&l.isMatchingExpression(n,i.leftExpression.leftExpression)){const e=t.getTypeOfExpression(i.rightExpression).type,n=i.leftExpression.memberName;if((0,u.isClassInstance)(e)&&(u.ClassType.isEnumClass(e)||u.ClassType.isBuiltIn(e,"bool"))&&void 0!==e.literalValue)return i=>B(t,i,n.value,e,o)}if(35===i.leftExpression.nodeType&&l.isMatchingExpression(n,i.leftExpression.leftExpression)&&11===i.rightExpression.nodeType&&26===i.rightExpression.constType){const e=i.leftExpression.memberName;return n=>function(e,t,n,i){return(0,d.mapSubtypes)(t,(t=>{let s;if((0,u.isClassInstance)(t)?s=(0,d.lookUpObjectMember)(t,n):(0,u.isInstantiableClass)(t)&&(s=(0,d.lookUpClassMember)(t,n)),s&&s.isTypeDeclared){const t=e.makeTopLevelTypeVarsConcrete(e.getTypeOfMember(s));let n=!0;if(i?(0,d.doForEachSubtype)(t,(t=>{t=e.makeTopLevelTypeVarsConcrete(t),((0,d.isProperty)(t)||(0,d.isMaybeDescriptorInstance)(t))&&(n=!1),((0,u.isAnyOrUnknown)(t)||(0,u.isNoneInstance)(t)||(0,u.isNever)(t))&&(n=!1)})):n=(0,u.isNoneInstance)(t),n)return}return t}))}(t,n,e.value,o)}}if(41===i.operator||42===i.operator){if(l.isMatchingExpression(n,i.leftExpression)){const e=t.getTypeOfExpression(i.rightExpression).type;if(41===i.operator?s:!s)return n=>function(e,t,n){const i=E(n);return i?T(e,t,e.makeTopLevelTypeVarsConcrete(i)):t}(t,n,e)}if(l.isMatchingExpression(n,i.rightExpression)){const e=t.getTypeOfExpression(i.leftExpression).type;if((0,u.isClassInstance)(e)&&u.ClassType.isBuiltIn(e,"str")&&(0,d.isLiteralType)(e)){const n=41===i.operator?s:!s;return i=>function(e,t,n,i){return(0,d.mapSubtypes)(t,(t=>{if((0,u.isClassInstance)(t)&&u.ClassType.isTypedDictClass(t)){const s=(0,g.getTypedDictMembersForClass)(e,t,!0).get(n.literalValue);if(i){if(!s)return u.ClassType.isFinal(t)?void 0:t;if(s.isRequired||s.isProvided)return t;const e=t.typedDictNarrowedEntries,i=new Map;return e&&e.forEach(((e,t)=>{i.set(t,e)})),i.set(n.literalValue,{valueType:s.valueType,isRequired:!1,isProvided:!0}),u.ClassType.cloneAsInstance(u.ClassType.cloneForNarrowedTypedDictEntries(u.ClassType.cloneAsInstantiable(t),i))}return void 0!==s&&(s.isRequired||s.isProvided)?void 0:t}return t}))}(t,i,u.ClassType.cloneAsInstantiable(e),n)}}}}if(9===i.nodeType){if(2===i.arguments.length){const e=i.arguments[0].valueExpression,r=i.arguments[1].valueExpression;if(l.isMatchingExpression(n,e)){const e=t.getTypeOfExpression(i.leftExpression,2).type;if((0,u.isFunction)(e)&&("isinstance"===e.details.builtInName||"issubclass"===e.details.builtInName)){const n="isinstance"===e.details.builtInName,o=function(e){let t=!1;const n=[],i=(e,s=0)=>{s>u.maxTypeRecursionCount||((0,u.isClass)(e)&&u.TypeBase.isInstance(e)&&(0,d.isTupleClass)(e)?e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{i(e.type,s+1)})):[e].forEach((e=>{(0,u.isInstantiableClass)(e)||(0,u.isTypeVar)(e)&&u.TypeBase.isInstantiable(e)||(0,u.isNoneTypeClass)(e)||(0,u.isFunction)(e)&&2===e.details.parameters.length&&1===e.details.parameters[0].category&&2===e.details.parameters[1].category?n.push(e):t=!0})))};return(0,d.doForEachSubtype)(e,(e=>{i(e)})),t?void 0:n}(t.getTypeOfExpression(r,168).type);if(o)return e=>{const r=I(t,e,o,n,s,!1,i);return(0,u.isNever)(r)?I(t,e,o,n,s,!0,i):r}}}}if(1===i.arguments.length){const e=i.arguments[0].valueExpression;if(l.isMatchingExpression(n,e)){const e=t.getTypeOfExpression(i.leftExpression,2).type;if((0,u.isFunction)(e)&&"callable"===e.details.builtInName)return e=>{let n=_(t,e,s,i,!1);return s&&(0,u.isNever)(n)&&(n=_(t,e,s,i,!0)),n}}}if(1===i.arguments.length&&!i.arguments[0].name&&l.isMatchingExpression(n,i.arguments[0].valueExpression)){const e=t.getTypeOfExpression(i.leftExpression,2).type;if((0,u.isInstantiableClass)(e)&&u.ClassType.isBuiltIn(e,"bool"))return e=>m(t,e,s)}if(i.arguments.length>=1){const e=i.arguments[0].valueExpression;if(l.isMatchingExpression(n,e)){let e=!1;const n=e=>e.details.declaredReturnType&&(0,u.isClassInstance)(e.details.declaredReturnType)&&u.ClassType.isBuiltIn(e.details.declaredReturnType,["TypeGuard","StrictTypeGuard"]),r=t.getTypeOfExpression(i.leftExpression,2).type;if(((0,u.isFunction)(r)&&n(r)||(0,u.isOverloadedFunction)(r)&&u.OverloadedFunctionType.getOverloads(r).some((e=>n(e))))&&(e=!0),e){const e=t.getTypeOfExpression(i).type;if((0,u.isClassInstance)(e)&&u.ClassType.isBuiltIn(e,"bool")&&e.typeGuardType){const n=!!e.isStrictTypeGuard,i=e.typeGuardType;return e=>function(e,t,n,i,s){return s?(0,d.mapSubtypes)(t,(t=>(0,d.mapSubtypes)(n,(s=>{const r=e.assignType(n,t),o=e.assignType(t,s);if(i){if(r)return t;if(o)return s}else if(!r&&!r)return t})))):i?n:t}(t,e,i,s,n)}}}}}if(l.isMatchingExpression(n,i))return e=>m(t,e,s);const a=function(t,n,i,s,r){if(38!==i.nodeType||38!==n.nodeType||i===n)return;const a=C(t,i,i);if(!a||1!==a.length||1!==a[0].type)return;const A=C(t,n,i);if(!A)return;let c=[];if(A.length>1&&(c=A.filter((e=>t.isNodeReachable(i,e.node)&&t.isNodeReachable(e.node,a[0].node)))),0!==c.length)return;const p=a[0].inferredTypeSource;return p&&!l.isNodeContainedWithin(i,p)&&(0,o.isExpressionNode)(p)?e(t,n,p,s,r):void 0}(t,n,i,s,r);return a||(38===n.nodeType&&55===i.nodeType&&38===i.operator?e(t,n,i.expression,!s,r):void 0)},t.isIsinstanceFilterSuperclass=y,t.isIsinstanceFilterSubclass=f,t.getElementTypeForContainerNarrowing=E,t.narrowTypeForContainerElementType=T,t.enumerateLiteralsForType=Q},3843:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.printFunctionParts=t.printObjectTypeForClass=t.printLiteralValue=t.printType=void 0;const o=r(n(8494)),a=n(1133),A=n(5168),l=/'/g,c=/\\"/g;function p(e,t,n,i=[]){const s=0!=(16&t),r=0!=(128&t);if(t&=-145,e.typeAliasInfo){let s=!0;if((0==(32&t)||i.find((t=>t===e)))&&(s=!1),!s)try{i.push(e);let s=e.typeAliasInfo.name;const r=e.typeAliasInfo.typeParameters;if(r){let o;e.typeAliasInfo.typeArguments?(0==(2&t)||e.typeAliasInfo.typeArguments.some((e=>!(0,a.isAnyOrUnknown)(e))))&&(o=[],e.typeAliasInfo.typeArguments.forEach(((e,s)=>{const l=s{o.push(p(e.type,t,n,i))})):o.push(p(e,t,n,i))}))):(0==(2&t)||r.some((e=>!(0,a.isAnyOrUnknown)(e))))&&(o=[],r.forEach((e=>{o.push(p(e,t,n,i))}))),o&&(0===o.length?s+="[()]":s+=`[${o.join(", ")}]`)}if(10!==e.category)return s}finally{i.pop()}}if(i.find((t=>{var n;return t===e||void 0!==t.typeAliasInfo&&t.typeAliasInfo.fullName===(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}))||i.length>a.maxTypeRecursionCount){if((0,a.isTypeVar)(e)&&e.details.isSynthesized&&e.details.recursiveTypeAliasName)return e.details.recursiveTypeAliasName;if(e.typeAliasInfo){if(!e.typeAliasInfo.typeParameters)return e.typeAliasInfo.name;try{return i.push(e),p(e,-33&t,n,i)}finally{i.pop()}}return"..."}try{i.push(e);const o=0==(64&t),l=e=>void 0!==e.condition&&o?"*":"";switch(e.category){case 0:return"Unbound";case 1:return 0!=(1&t)?"Any":"Unknown";case 8:return`Module("${e.moduleName}")`;case 7:if(a.TypeBase.isInstance(e))return void 0!==e.literalValue?`Literal[${g(e)}]`:`${u(e,t,n,i)}${l(e)}`;{let s;return s=void 0!==e.literalValue?`Literal[${g(e)}]`:`${u(e,t,n,i)}`,`${h(e,s)}${l(e)}`}case 5:{const s=d(e,t,n,i),o=`(${s[0].join(", ")})`;if(a.FunctionType.isParamSpecValue(e))return o;const A=`${o} -> ${s[1]}`;return r?`(${A})`:A}case 6:return`Overload[${e.overloads.map((e=>p(e,t,n,i))).join(", ")}]`;case 9:{const r=new Set,o=new Set,l=8&t?128|t:t;if(0==(32&t)&&e.typeAliasSources)for(const t of e.typeAliasSources){let s=!0,A=!0;const c=new Set;for(const n of t.subtypes){let t=0,i=!1;for(const s of e.subtypes){if((0,a.isTypeSame)(n,s,{ignoreTypeFlags:!0})){r.has(t)||(A=!1),c.add(t),i=!0;break}t++}if(!i){s=!1;break}}s&&!A&&(o.add(p(t,l,n,i)),c.forEach((e=>r.add(e))))}const c=e.subtypes.findIndex((e=>(0,a.isNoneInstance)(e)));if(c>=0&&!r.has(c)){const r=(0,a.removeNoneFromUnion)(e);if((0,a.isNever)(r))return"None";const o=p(r,l,n,i);if(8&t){const e=o+" | None";return s?`(${e})`:e}return"Optional["+o+"]"}const u=new Set,d=new Set;(0,A.doForEachSubtype)(e,((e,t)=>{r.has(t)||((0,a.isClassInstance)(e)&&void 0!==e.literalValue?u.add(g(e)):(0,a.isInstantiableClass)(e)&&void 0!==e.literalValue?d.add(g(e)):o.add(p(e,l,n,i)))}));const h=[];if(o.forEach((e=>h.push(e))),u.size>0){const e=[];u.forEach((t=>e.push(t))),h.push(`Literal[${e.join(", ")}]`)}if(d.size>0){const e=[];d.forEach((t=>e.push(t))),h.push(`Type[Literal[${e.join(", ")}]]`)}if(1===h.length)return h[0];if(8&t){const e=h.join(" | ");return s?`(${e})`:e}return`Union[${h.join(", ")}]`}case 10:{if(e.details.isSynthesized){if(e.details.recursiveTypeAliasName)return 0!=(32&t)&&e.details.boundType?p(a.TypeBase.isInstance(e)?(0,A.convertToInstance)(e.details.boundType):e.details.boundType,t,n,i):e.details.recursiveTypeAliasName;if(e.details.isSynthesizedSelf&&e.details.boundType){let s=p(e.details.boundType,-33&t,n,i);return(0,a.isAnyOrUnknown)(e.details.boundType)||(s=`Self@${s}`),a.TypeBase.isInstantiable(e)?`${h(e,s)}`:s}return 0!=(1&t)?"Any":"Unknown"}if(e.details.isParamSpec)return e.paramSpecAccess?`${e.details.name}.${e.paramSpecAccess}`:`${a.TypeVarType.getReadableName(e)}`;let s=a.TypeVarType.getReadableName(e);return e.isVariadicUnpacked&&(s=`*${s}`),a.TypeBase.isInstantiable(e)?`${h(e,s)}`:s}case 3:return`${a.TypeBase.isInstantiable(e)?`${h(e,"None")}`:"None"}${l(e)}`;case 4:return e.isNoReturn?"NoReturn":"Never";case 2:return e.isEllipsis?"...":"Any"}return""}finally{i.pop()}}function g(e,t="'"){const n=e.literalValue;if(void 0===n)return"";let i;if("string"==typeof n){const s="bytes"===e.details.name?"b":"";let r=n;const o=50;n.length>o&&(r=n.substring(0,o)+"…"),i=JSON.stringify(r).toString(),'"'!==t&&(i=`'${i.substring(1,i.length-1).replace(c,'"').replace(l,"\\'")}'`),s&&(i=`${s}${i}`)}else"boolean"==typeof n?i=n?"True":"False":n instanceof a.EnumLiteral?i=`${n.className}.${n.itemName}`:"bigint"==typeof n?(i=n.toString(),i.endsWith("n")&&(i=i.substring(0,i.length-1))):i=n.toString();return i}function u(e,t,n,i=[]){var s,r;let o=e.aliasName||e.details.name;if(!a.ClassType.isPseudoGenericClass(e)){const A=a.ClassType.getTypeParameters(e),l=A.length>0?A[A.length-1]:void 0,c=!!l&&l.details.isVariadic,g=null!==(s=e.tupleTypeArguments)&&void 0!==s?s:null===(r=e.typeArguments)||void 0===r?void 0:r.map((e=>({type:e,isUnbounded:!1})));if(g)if(g.length>0){const s=[];let r=!0;g.forEach(((e,o)=>{const l=o{(0,a.isAnyOrUnknown)(e.type)||(r=!1);const s=p(e.type,t,n,i);return e.isUnbounded?`*tuple[${s}, ...]`:s})));else{(0,a.isAnyOrUnknown)(e.type)||(r=!1);const o=p(e.type,t,n,i);e.isUnbounded?1===g.length?s.push(o,"..."):s.push(`*tuple[${o}, ...]`):s.push(o)}})),e.isUnpacked&&(o="*"+o),0!=(2&t)&&r||(o+="["+s.join(", ")+"]")}else(a.ClassType.isTupleClass(e)||c)&&(o+="[()]");else A.length>0&&(0==(2&t)||A.some((e=>!(0,a.isAnyOrUnknown)(e))))&&(o+="["+A.map((e=>p(e,t,n,i))).join(", ")+"]")}return o}function d(e,t,n,i=[]){const s=[];let r=!1;e.details.parameters.forEach(((A,l)=>{if(l===e.details.parameters.length-1&&1===A.category&&(0,a.isVariadicTypeVar)(A.type)){const r=a.FunctionType.getEffectiveParameterType(e,l);if((0,a.isClassInstance)(r)&&a.ClassType.isBuiltIn(r,"tuple")&&r.tupleTypeArguments)return void r.tupleTypeArguments.forEach((e=>{const r=p(e.type,t,n,i);s.push(r)}))}let c="";1===A.category?A.name&&A.isNameSynthesized||(c+="*"):2===A.category&&(c+="**"),A.name&&!A.isNameSynthesized&&(c+=A.name,r=!0);let g="=",u=!1;if(A.name)if(A.hasDeclaredType||A.isTypeInferred){const s=a.FunctionType.getEffectiveParameterType(e,l),r=i.lengthe.name===t))||this.symbols.push({symbol:e,name:t,alias:n,isAccessed:i})}}class C extends l.ParseTreeWalker{constructor(e,t){super(),this._accessedImportedSymbols=e,this._treatStringsAsSymbols=t}analyze(e){this.walk(e)}walk(e){a.isCodeUnreachable(e)||super.walk(e)}visitName(e){return this._accessedImportedSymbols.set(e.value,!0),!0}visitMemberAccess(e){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);return t&&this._accessedImportedSymbols.set(`${t}.${e.memberName.value}`,!0),!0}visitString(e){return this._treatStringsAsSymbols&&this._accessedImportedSymbols.set(e.value,!0),!0}_getRecursiveModuleAccessExpression(e){if(38===e.nodeType)return e.value;if(35===e.nodeType){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);if(!t)return;return`${t}.${e.memberName.value}`}}}class m extends l.ParseTreeWalker{constructor(e,t,n){super(),this._stubPath=e,this._sourceFile=t,this._evaluator=n,this._indentAmount=0,this._includeAllImports=!1,this._typeStubText="",this._lineEnd="\n",this._tab=" ",this._classNestCount=0,this._functionNestCount=0,this._ifNestCount=0,this._emittedSuite=!1,this._emitDocString=!0,this._trackedImportAs=new Map,this._trackedImportFrom=new Map,this._accessedImportedSymbols=new Map,this._stubPath.endsWith("__init__.pyi")&&(this._includeAllImports=!0)}write(){const e=this._sourceFile.getParseResults();this._lineEnd=e.tokenizerOutput.predominantEndOfLineSequence,this._tab=e.tokenizerOutput.predominantTabSequence,this.walk(e.parseTree),this._writeFile()}walk(e){a.isCodeUnreachable(e)||super.walk(e)}visitClass(e){const t=e.name.value;this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n=`class ${t}`;e.typeParameters&&(n+=this._printTypeParameters(e.typeParameters));const i=e.arguments.filter((e=>void 0!==e.name||0!==e.argumentCategory||38!==e.valueExpression.nodeType||"object"!==e.valueExpression.value));return i.length>0&&(n+=`(${i.map((e=>{let t="";return e.name&&(t=e.name.value+"="),t+=this._printExpression(e.valueExpression),t})).join(", ")})`),n+=":",this._emitLine(n),this._emitSuite((()=>{this._classNestCount++,this.walk(e.suite),this._classNestCount--})),this._emitLine(""),this._emitLine(""),!1}visitFunction(e){const t=e.name.value;if(0===this._functionNestCount&&!p.isPrivateOrProtectedName(t)){this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n,i=e.isAsync?"async ":"";if(i+=`def ${t}`,e.typeParameters&&(i+=this._printTypeParameters(e.typeParameters)),i+=`(${e.parameters.map(((t,n)=>this._printParameter(t,e,n))).join(", ")})`,e.returnTypeAnnotation?n=this._printExpression(e.returnTypeAnnotation,!0):e.functionAnnotationComment?n=this._printExpression(e.functionAnnotationComment.returnTypeAnnotation,!0):"__init__"===e.name.value?n="None":"__str__"===e.name.value?n="str":["__int__","__hash__"].some((t=>t===e.name.value))?n="int":["__eq__","__ne__","__gt__","__lt__","__ge__","__le__"].some((t=>t===e.name.value))&&(n="bool"),n&&(i+=" -> "+n),i+=":",!n){const t=this._evaluator.getTypeOfFunction(e);if(t&&(0,g.isFunction)(t.functionType)){let e=this._evaluator.getFunctionInferredReturnType(t.functionType);e=(0,g.removeUnknownFromUnion)(e),(0,g.isNever)(e)||(0,g.isUnknown)(e)||(i+=` # -> ${this._evaluator.printType(e,!1)}:`)}}this._emitLine(i),this._emitSuite((()=>{this._functionNestCount++,this.walk(e.suite),this._functionNestCount--})),this._emitLine("")}return!1}visitWhile(e){return this._emitDocString=!1,!1}visitFor(e){return this._emitDocString=!1,!1}visitTry(e){return this._emitDocString=!1,!1}visitWith(e){return this._emitDocString=!1,!1}visitIf(e){if(this._emitDocString=!1,0===this._functionNestCount&&0===this._ifNestCount){this._ifNestCount++,this._emittedSuite=!0,this._emitLine("if "+this._printExpression(e.testExpression)+":"),this._emitSuite((()=>{this.walkMultiple(e.ifSuite.statements)}));const t=e.elseSuite;t&&(this._emitLine("else:"),this._emitSuite((()=>{19===t.nodeType?this.walkMultiple([t.testExpression,t.ifSuite,t.elseSuite]):this.walkMultiple(t.statements)}))),this._ifNestCount--}return!1}visitTypeAlias(e){let t="";return t=this._printExpression(e.name),e.typeParameters&&(t+=this._printTypeParameters(e.typeParameters)),t+=" = ",t+=this._printExpression(e.expression),this._emitLine(t),!1}visitAssignment(e){let t=!1,n="";if(38===e.leftExpression.nodeType){if("__all__"===e.leftExpression.value)return 0===this._functionNestCount&&0===this._ifNestCount&&(this._emittedSuite=!0,n=this._printExpression(e.leftExpression),n+=" = ",n+=this._printExpression(e.rightExpression),this._emitLine(n)),!1;if(0===this._functionNestCount){n=this._printExpression(e.leftExpression),e.typeAnnotationComment&&(n+=": "+this._printExpression(e.typeAnnotationComment,!0));const i=this._evaluator.getType(e.leftExpression);if(null==i?void 0:i.typeAliasInfo)t=!0;else if(9===e.rightExpression.nodeType){const n=this._evaluator.getType(e.rightExpression.leftExpression);n&&(0,g.isInstantiableClass)(n)&&g.ClassType.isBuiltIn(n,["TypeVar","TypeVarTuple","ParamSpec","NewType"])&&(t=!0)}}}else if(54===e.leftExpression.nodeType){const t=e.leftExpression.valueExpression;38===t.nodeType&&0===this._functionNestCount&&(n=`${this._printExpression(t)}: ${this._printExpression(e.leftExpression.typeAnnotation,!0)}`)}return n&&(this._emittedSuite=!0,n+=" = ",n+=t?this._printExpression(e.rightExpression):"...",this._emitLine(n)),!1}visitAugmentedAssignment(e){if(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value&&1===e.operator&&0===this._functionNestCount&&0===this._ifNestCount){let t=this._printExpression(e.leftExpression);t+=" += ",t+=this._printExpression(e.rightExpression),this._emitLine(t)}return!1}visitTypeAnnotation(e){if(0===this._functionNestCount){let t="";if(38===e.valueExpression.nodeType)t=this._printExpression(e.valueExpression);else if(35===e.valueExpression.nodeType){const n=e.valueExpression.leftExpression;if(38===n.nodeType&&"self"===n.value){const n=e.valueExpression.memberName.value;p.isPrivateOrProtectedName(n)||(t=this._printExpression(e.valueExpression))}}t&&(t+=": "+this._printExpression(e.typeAnnotation,!0),this._emitLine(t))}return!1}visitImport(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=(0,c.getScopeForNode)(e);return t&&e.list.forEach((e=>{const n=this._printModuleName(e.module);if(!this._trackedImportAs.has(n)){const i=e.alias?e.alias.value:e.module.nameParts.length>0?e.module.nameParts[0].value:"",s=t.lookUpSymbolRecursive(i);if(s){const t=new d(n,e.alias?e.alias.value:void 0,s.symbol);this._trackedImportAs.set(n,t)}}})),!1}visitImportFrom(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=(0,c.getScopeForNode)(e);if(t){const n=this._printModuleName(e.module);let i=this._trackedImportFrom.get(n);i||(i=new h(n,e.isWildcardImport,e),this._trackedImportFrom.set(n,i)),e.imports.forEach((e=>{const n=e.alias?e.alias.value:e.name.value,s=t.lookUpSymbolRecursive(n);s&&i.addSymbol(s.symbol,e.name.value,e.alias?e.alias.value:void 0,!1)}))}return!1}visitStatementList(e){return e.statements.length>0&&48===e.statements[0].nodeType&&!this._emittedSuite&&this._emitDocString&&this._emitLine(this._printExpression(e.statements[0])),this._emitDocString=!1,this.walkMultiple(e.statements),!1}_emitSuite(e){this._increaseIndent((()=>{const t=this._emittedSuite;this._emittedSuite=!1,e(),this._emittedSuite||this._emitLine("..."),this._emittedSuite=t}))}_increaseIndent(e){this._indentAmount++,e(),this._indentAmount--}_emitDecorators(e){e.forEach((e=>{this._emitLine("@"+this._printExpression(e.expression))}))}_printHeaderDocString(){return'"""'+this._lineEnd+"This type stub file was generated by pyright."+this._lineEnd+'"""'+this._lineEnd+this._lineEnd}_emitLine(e){for(let e=0;ethis._printTypeParameter(e))).join(",")}]`}_printTypeParameter(e){let t="";return e.typeParamCategory===o.TypeParameterCategory.TypeVarTuple?t+="*":e.typeParamCategory===o.TypeParameterCategory.ParamSpec&&(t+="**"),t+=e.name.value,e.boundExpression&&(t+=": ",t+=this._printExpression(e.boundExpression)),t}_printModuleName(e){let t="";for(let n=0;ne.value)).join("."),t}_printParameter(e,t,n){let i="";1===e.category?i+="*":2===e.category&&(i+="**"),e.name?i+=e.name.value:0===e.category&&(i+="/");const s=A.getTypeAnnotationForParameter(t,n);let r="";return s&&(r=this._printExpression(s,!0)),r&&(i+=": "+r),e.defaultValue&&(i+=r?" = ...":"=..."),i}_printExpression(e,t=!1,n=!1){new C(this._accessedImportedSymbols,n).analyze(e);let i=t?1:0;return i|=2,A.printExpression(e,i)}_printTrackedImports(){let e="",t=!1;return this._trackedImportAs.forEach((n=>{this._accessedImportedSymbols.get(n.alias||n.importName)&&(n.isAccessed=!0),(n.isAccessed||this._includeAllImports)&&(e+=`import ${n.importName}`,n.alias&&(e+=` as ${n.alias}`),e+=this._lineEnd,t=!0)})),this._trackedImportFrom.forEach((n=>{n.symbols.forEach((e=>{this._accessedImportedSymbols.get(e.alias||e.name)&&(e.isAccessed=!0)})),n.isWildcardImport&&(e+=`from ${n.importName} import *`+this._lineEnd,t=!0);const i=n.symbols.filter((e=>e.isAccessed||this._includeAllImports)).sort(((e,t)=>e.namet.name?1:0));i.length>0&&(e+=`from ${n.importName} import `,e+=i.map((e=>{let t=e.name;return e.alias&&(t+=" as "+e.alias),t})).join(", "),e+=this._lineEnd,t=!0)})),t&&(e+=this._lineEnd),e}_writeFile(){let e=this._printHeaderDocString();e+=this._printTrackedImports(),e+=this._typeStubText,this._sourceFile.fileSystem.writeFileSync(this._stubPath,e,"utf8")}}t.TypeStubWriter=m},5168:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDeclaredGeneratorReturnType=t.synthesizeTypeVarForSelfCls=t.derivesFromClassRecursive=t.specializeForBaseClass=t.buildTypeVarContext=t.buildTypeVarContextFromSpecializedClass=t.setTypeArgumentsRecursive=t.specializeClassType=t.getTypeVarArgumentsRecursive=t.addTypeVarsToListIfUnique=t.getClassFieldsRecursive=t.getClassIterator=t.getClassMemberIterator=t.lookUpClassMember=t.lookUpObjectMember=t.getProtocolSymbols=t.transformExpectedTypeForConstructor=t.applySolvedTypeVars=t.populateTypeVarContextForSelfType=t.partiallySpecializeType=t.isUnboundedTupleClass=t.isTupleClass=t.isMaybeDescriptorInstance=t.isDescriptorInstance=t.isProperty=t.isEllipsisType=t.getUnionSubtypeCount=t.getLiteralTypeClassName=t.containsLiteralType=t.containsType=t.isLiteralTypeOrUnion=t.isLiteralType=t.getSpecializedTupleType=t.getTypeVarScopeId=t.transformPossibleRecursiveTypeAlias=t.isTypeAliasRecursive=t.isTypeAliasPlaceholder=t.getTypeCondition=t.addConditionToType=t.getFullNameOfType=t.derivesFromAnyOrUnknown=t.isUnionableType=t.preserveUnknown=t.areTypesSame=t.doForEachSubtype=t.sortTypes=t.mapSubtypes=t.isOptionalType=t.getParameterListDetails=t.ParameterSource=void 0,t.convertParamSpecValueToType=t.getDeclaringModulesForType=t.computeMroLinearization=t.requiresSpecialization=t.requiresTypeArguments=t.getGeneratorTypeArgs=t.removeParamSpecVariadicsFromFunction=t.removeParamSpecVariadicsFromSignature=t.specializeTupleClass=t.combineSameSizedTuples=t.explodeGenericClass=t.isPartlyUnknown=t.containsUnknown=t.getMembersForModule=t.getMembersForClass=t.convertToInstantiable=t.convertToInstance=t.isEffectivelyInstantiable=t.getGeneratorYieldType=void 0;const i=n(9489),s=n(5839),r=n(817),o=n(1766),a=n(2917),A=n(1133),l=n(4447);var c;function p(e,t){if((0,A.isUnion)(e)){const n=[];let i=!1;if(e.subtypes.forEach((s=>{const r=t(s);r?r!==s?(n.push(h(r,C(e))),i=!0):n.push(s):i=!0})),!i)return e;const s=(0,A.combineTypes)(n);return 9===s.category&&A.UnionType.addTypeAliasSource(s,e),s}return t(e)||A.NeverType.createNever()}function g(e){return e.slice(0).sort(((e,t)=>u(e,t)))}function u(e,t){var n,i;if(e.category!==t.category)return t.category-e.category;switch(e.category){case 0:case 1:case 2:case 3:case 4:case 9:return 0;case 5:{const s=t,r=e.details.parameters.length,o=s.details.parameters.length;if(r!==o)return o-r;for(let t=0;tc?1:0}case 6:{const n=t,i=e.overloads.length,s=n.overloads.length;if(i!==s)return s-i;for(let t=0;t0||T(e)){if(0===n.details.typeParameters.length)return 1}else if(n.details.typeParameters.length>0||T(n))return-1;const i=e.details.name,s=t.details.name;return i{t(e,n)})):t(e,0)}function h(e,t){if(!t)return e;switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:return e;case 3:case 5:case 7:return A.TypeBase.cloneForCondition(e,A.TypeCondition.combine(e.condition,t));case 6:return A.OverloadedFunctionType.create(e.overloads.map((e=>h(e,t))));case 9:return(0,A.combineTypes)(e.subtypes.map((e=>h(e,t))))}}function C(e){switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:case 6:case 9:return;case 3:case 7:case 5:return e.condition}}function m(e){return(0,A.isClass)(e)||(0,A.isFunction)(e)?e.details.typeVarScopeId:(0,A.isTypeVar)(e)?e.scopeId:void 0}function y(e){return A.TypeBase.isInstance(e)&&void 0!==e.literalValue}function f(e,t,n=!1,i=0){var s;if(i>A.maxTypeRecursionCount)return!1;if(i++,t(e))return!0;if(n&&(0,A.isClass)(e)){const r=(null===(s=e.tupleTypeArguments)||void 0===s?void 0:s.map((e=>e.type)))||e.typeArguments;if(r)return r.some((e=>f(e,t,n,i)))}if((0,A.isUnion)(e))return e.subtypes.some((e=>f(e,t,n,i)));if((0,A.isOverloadedFunction)(e))return e.overloads.some((e=>f(e,t,n,i)));if((0,A.isFunction)(e)){const s=A.FunctionType.getSpecializedReturnType(e);if(s&&f(s,t,n,i))return!0;for(let s=0;s!!(0,A.isClassInstance)(e)&&(y(e)||A.ClassType.isBuiltIn(e,"LiteralString"))),t,n)}function E(e,t=!1){return(0,A.isUnion)(e)?e.subtypes.some((e=>E(e,t))):!(!(0,A.isClassInstance)(e)||!e.details.fields.has("__get__")||t&&!e.details.fields.has("__set__"))}function T(e){return A.ClassType.isBuiltIn(e,"tuple")}function B(e){return e.tupleTypeArguments&&e.tupleTypeArguments.some((e=>e.isUnbounded))}function v(e,t,n,i){if(A.ClassType.isUnspecialized(t))return e;const s=k(t,void 0);return n&&Q(s,t,n),_(e,s,void 0,void 0,void 0,i)}function Q(e,t,n){const i=P(t,!1);e.setTypeVarType(i,x(n))}function _(e,t,n=!1,i=!1,s=!1,r){return!t.isEmpty()||n||s?new z(t,n,i,s,r).apply(e):e}function w(e,t,n=0){n>A.maxTypeRecursionCount||(e.details.baseClasses.forEach((e=>{(0,A.isClass)(e)&&A.ClassType.isProtocolClass(e)&&w(e,t,n+1)})),e.details.fields.forEach(((n,i)=>{n.isIgnoredForProtocolMatch()||t.set(i,{symbol:n,classType:e,isInstanceMember:n.isInstanceMember(),isClassMember:n.isClassMember(),isClassVar:n.isClassVar(),isTypeDeclared:n.hasTypedDeclarations(),skippedUndeclaredType:!1})})))}function D(e,t,n=0){var i;return null===(i=S(e,t,n).next())||void 0===i?void 0:i.value}function*S(e,t,n=0){const i=0!=(16&n);let s=!1;if((0,A.isClass)(e)){let o=0;1&n&&(o|=1),2&n&&(o|=2),4&n&&(o|=4),32&n&&(o|=8);const a=b(e,o);for(const[e,o]of a){if(!(0,A.isInstantiableClass)(e)){if(!i){const e={symbol:r.Symbol.createWithType(0,A.UnknownType.create()),isInstanceMember:!1,isClassMember:!0,isClassVar:!1,classType:A.UnknownType.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}continue}if(!(0,A.isInstantiableClass)(o))continue;const a=o.details.fields;if(0==(8&n)){const e=a.get(t);if(e&&e.isInstanceMember()){const t=e.hasTypedDeclarations();if(!i||t){const n={symbol:e,isInstanceMember:!0,isClassMember:e.isClassMember(),isClassVar:e.isClassVar(),classType:o,isTypeDeclared:t,skippedUndeclaredType:s};yield n}else s=!0}}const l=a.get(t);if(l&&l.isClassMember()){const e=l.hasTypedDeclarations();if(!i||e){let t=l.isInstanceMember(),n=!0;const i=A.ClassType.isDataClass(o),r=A.ClassType.isTypedDictClass(o);if(i||r){const e=l.getDeclarations();e.length>0&&1===e[0].type&&(t=!0,n=i)}const a={symbol:l,isInstanceMember:t,isClassMember:n,isClassVar:l.isClassVar(),classType:o,isTypeDeclared:e,skippedUndeclaredType:s};yield a}else s=!0}}}else if((0,A.isAnyOrUnknown)(e)){const e={symbol:r.Symbol.createWithType(0,A.UnknownType.create()),isInstanceMember:!1,isClassMember:!0,isClassVar:!1,classType:A.UnknownType.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}}function*b(e,t=0){if((0,A.isClass)(e)){let n=0!=(1&t);for(const i of e.details.mro){if(n){n=!1;continue}const s=v(i,e);if(4&t&&(0,A.isInstantiableClass)(s)&&A.ClassType.isBuiltIn(s,"object"))break;if(8&t&&(0,A.isInstantiableClass)(s)&&A.ClassType.isBuiltIn(s,"type"))break;if(yield[i,s],0!=(2&t))break}}}function F(e,t){for(const n of t)e.find((e=>(0,A.isTypeSame)(x(e),x(n))))||e.push(n)}function k(e,t=!0){const n=A.ClassType.getTypeParameters(e);let i=e.typeArguments;i||t||(i=n);const s=N(n,i,m(e));return A.ClassType.isTupleClass(e)&&e.tupleTypeArguments&&n.length>=1&&s.setVariadicTypeVar(n[0],e.tupleTypeArguments),s}function N(e,t,n){const i=new l.TypeVarContext(n);return e.forEach(((e,n)=>{let s;if(t)if((0,A.isParamSpec)(e)){if(n{t.push({category:e.category,name:e.name,hasDefault:!!e.hasDefault,isNameSynthesized:e.isNameSynthesized,type:A.FunctionType.getEffectiveParameterType(n,i)})})),i.setParamSpec(e,{parameters:t,typeVarScopeId:s.details.typeVarScopeId,flags:s.details.flags,docString:s.details.docString,paramSpec:s.details.paramSpec})}else(0,A.isParamSpec)(s)?i.setParamSpec(e,{flags:0,parameters:[],typeVarScopeId:void 0,docString:void 0,paramSpec:s}):(0,A.isAnyOrUnknown)(s)&&i.setParamSpec(e,{flags:32768,parameters:A.FunctionType.getDefaultParameters(),typeVarScopeId:void 0,docString:void 0,paramSpec:void 0})}else s=n>=t.length?A.AnyType.create():t[n],i.setTypeVarType(e,s,s,!0)})),i}function P(e,t){var n;const i=A.TypeVarType.createInstance("__type_of_self__"),s=null!==(n=m(e))&&void 0!==n?n:"";i.details.isSynthesized=!0,i.details.isSynthesizedSelf=!0,i.nameWithScope=A.TypeVarType.makeNameWithScope(i.details.name,s),i.scopeId=s;const r=A.ClassType.cloneForSpecialization(e,A.ClassType.getTypeParameters(e),!1,!0);return i.details.boundType=A.ClassType.cloneAsInstance(r),t?A.TypeVarType.cloneAsInstantiable(i):i}function x(e,t=!0){let n=p(e,(e=>{switch(e.category){case 7:return A.ClassType.isBuiltIn(e,"Type")?!e.typeArguments||e.typeArguments.length<1?A.UnknownType.create():R(e.typeArguments[0]):A.ClassType.cloneAsInstance(e,t);case 3:return A.NoneType.createInstance();case 5:if(A.TypeBase.isInstantiable(e))return A.FunctionType.cloneAsInstance(e);break;case 10:if(A.TypeBase.isInstantiable(e))return A.TypeVarType.cloneAsInstance(e)}return e}));return e.typeAliasInfo&&e!==n&&(n=A.TypeBase.cloneForTypeAlias(n,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),n}function R(e){let t=p(e,(e=>{switch(e.category){case 7:return A.ClassType.cloneAsInstantiable(e);case 3:return A.NoneType.createType();case 5:return A.FunctionType.cloneAsInstantiable(e);case 10:return A.TypeVarType.cloneAsInstantiable(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=A.TypeBase.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function M(e,t,n=!0,i=!1){let s=(0,A.combineTypes)(t.map((e=>e.type)));(0,A.isNever)(s)&&(s=A.AnyType.create());const r=A.ClassType.cloneForSpecialization(e,[s],n,void 0,t);return i&&(r.isUnpacked=!0),r}function L(e){const t=e.details.parameters.length;if(t<2)return e;const n=e.details.parameters[t-2],i=e.details.parameters[t-1];return 1===n.category&&2===i.category&&(0,A.isParamSpec)(n.type)&&(0,A.isParamSpec)(i.type)&&(0,A.isTypeSame)(n.type,i.type)?A.FunctionType.cloneRemoveParamSpecVariadics(e,n.type):e}function K(e){return(0,A.isClassInstance)(e)&&T(e)&&e.tupleTypeArguments&&e.isUnpacked?(0,A.combineTypes)(e.tupleTypeArguments.map((e=>e.type))):e}function O(e){var t;if((0,A.isClassInstance)(e)){if(A.ClassType.isBuiltIn(e,["Generator","AsyncGenerator"]))return e.typeArguments;if(A.ClassType.isBuiltIn(e,"AwaitableGenerator"))return null===(t=e.typeArguments)||void 0===t?void 0:t.slice(1)}}function U(e,t=!1,n=!1,i=0){var s;if(i>A.maxTypeRecursionCount)return!1;switch(i++,e.category){case 7:return(!A.ClassType.isPseudoGenericClass(e)||!t)&&(e.typeArguments?void 0!==e.typeArguments.find((e=>U(e,t,n,i))):A.ClassType.getTypeParameters(e).length>0);case 5:{if(e.details.paramSpec)return!0;for(let s=0;sU(e,t,n,i)));case 9:return void 0!==(0,A.findSubtype)(e,(e=>U(e,t,n,i)));case 10:if(!e.details.recursiveTypeAliasName)return!e.details.isSynthesizedSelf||!n;if(null===(s=e.typeAliasInfo)||void 0===s?void 0:s.typeArguments)return e.typeAliasInfo.typeArguments.some((e=>U(e,t,n,i)))}return!1}function G(e,t,n=0){if(n>A.maxTypeRecursionCount)return;n++;const i=e=>{e&&!t.some((t=>t===e))&&t.push(e)};switch(e.category){case 7:case 5:i(e.details.moduleName);break;case 6:e.overloads.forEach((e=>{G(e,t,n)}));break;case 9:d(e,(e=>{G(e,t,n)}));break;case 8:i(e.moduleName)}}function Y(e,t=!1){let n=e.parameters.length>0;if(1===e.parameters.length){const t=e.parameters[0];0!==t.category||t.name||(n=!1)}if(n||!e.paramSpec||t){const n=A.FunctionType.createInstance("","","",65536|e.flags);return e.parameters.forEach((e=>{A.FunctionType.addParameter(n,{category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),t||(n.details.paramSpec=e.paramSpec),n.details.docString=e.docString,n}return e.paramSpec}!function(e){e[e.PositionOnly=0]="PositionOnly",e[e.PositionOrKeyword=1]="PositionOrKeyword",e[e.KeywordOnly=2]="KeywordOnly"}(c=t.ParameterSource||(t.ParameterSource={})),t.getParameterListDetails=function(e){const t={firstPositionOrKeywordIndex:0,positionParamCount:0,positionOnlyParamCount:0,params:[],hasUnpackedVariadicTypeVar:!1,hasUnpackedTypedDict:!1};let n=e.details.parameters.findIndex((e=>0===e.category&&!e.name));if(n<0)for(let t=0;t=0&&(t.firstPositionOrKeywordIndex=n);for(let i=0;i{if(s.name){let l;l=1===s.category?c.PositionOnly:i?c.KeywordOnly:n>=0&&r{var a,l;if(1===r.category){const a=A.FunctionType.getEffectiveParameterType(e,o);r.name&&(0,A.isUnpackedClass)(a)&&a.tupleTypeArguments?a.tupleTypeArguments.forEach(((e,n)=>{const i=(0,A.isVariadicTypeVar)(e.type)||e.isUnbounded?1:0;1===i&&(t.argsIndex=t.params.length),(0,A.isVariadicTypeVar)(r.type)&&(t.hasUnpackedVariadicTypeVar=!0),s({category:i,name:`${r.name}[${n.toString()}]`,isNameSynthesized:!0,type:e.type,hasDeclaredType:!0},n,e.type)})):(r.name&&void 0===t.argsIndex&&(t.argsIndex=t.params.length,(0,A.isVariadicTypeVar)(r.type)&&(t.hasUnpackedVariadicTypeVar=!0)),!i&&(n<0||o>=n)&&(t.firstKeywordOnlyIndex=t.params.length,r.name&&t.firstKeywordOnlyIndex++,i=!0),s(r,o))}else 2===r.category?(i=!0,(0,A.isClassInstance)(r.type)&&(0,A.isUnpackedClass)(r.type)&&r.type.details.typedDictEntries?(void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),r.type.details.typedDictEntries.forEach(((e,t)=>{s({category:0,name:t,type:e.valueType,hasDeclaredType:!0,hasDefault:!e.isRequired},o,e.valueType)})),t.hasUnpackedTypedDict=!0):r.name&&(void 0===t.kwargsIndex&&(t.kwargsIndex=t.params.length),void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),s(r,o))):0===r.category&&(r.name&&!i&&t.positionParamCount++,s(r,o,void 0,(null===(a=e.specializedTypes)||void 0===a?void 0:a.parameterDefaultArgs)?null===(l=e.specializedTypes)||void 0===l?void 0:l.parameterDefaultArgs[o]:void 0))})),t},t.isOptionalType=function(e){return!!(0,A.isUnion)(e)&&void 0!==(0,A.findSubtype)(e,(e=>(0,A.isNoneInstance)(e)))},t.mapSubtypes=p,t.sortTypes=g,t.doForEachSubtype=d,t.areTypesSame=function(e,t){if(e.length<2)return!0;for(let n=1;n{(0,A.isAnyOrUnknown)(e)?t=!0:(0,A.isInstantiableClass)(n)?A.ClassType.hasUnknownBaseClass(n)&&(t=!0):(0,A.isClassInstance)(n)&&A.ClassType.hasUnknownBaseClass(n)&&(t=!0)})),t},t.getFullNameOfType=function(e){var t;if(null===(t=e.typeAliasInfo)||void 0===t?void 0:t.fullName)return e.typeAliasInfo.fullName;switch(e.category){case 2:case 1:return"typing.Any";case 3:return"builtins.None";case 7:case 5:return e.details.fullName;case 8:return e.moduleName;case 6:return e.overloads[0].details.fullName}},t.addConditionToType=h,t.getTypeCondition=C,t.isTypeAliasPlaceholder=function(e){return!!(0,A.isTypeVar)(e)&&!!e.details.recursiveTypeAliasName&&!e.details.boundType},t.isTypeAliasRecursive=function(e,t){return 9!==t.category?t===e||(0,A.isUnbound)(t)&&t.typeAliasInfo&&t.typeAliasInfo.name===e.details.recursiveTypeAliasName:void 0!==(0,A.findSubtype)(t,(t=>(0,A.isTypeVar)(t)&&t.details===e.details))},t.transformPossibleRecursiveTypeAlias=function(e){var t;if(e&&(0,A.isTypeVar)(e)&&e.details.recursiveTypeAliasName&&e.details.boundType){const n=A.TypeBase.isInstance(e)?x(e.details.boundType):e.details.boundType;return(null===(t=e.typeAliasInfo)||void 0===t?void 0:t.typeArguments)&&e.details.recursiveTypeParameters?_(n,N(e.details.recursiveTypeParameters,e.typeAliasInfo.typeArguments,m(e))):n}return e},t.getTypeVarScopeId=m,t.getSpecializedTupleType=function(e){let t;if((0,A.isInstantiableClass)(e)?t=e:(0,A.isClassInstance)(e)&&(t=A.ClassType.cloneAsInstantiable(e)),!t)return;const n=t.details.mro.find((e=>(0,A.isInstantiableClass)(e)&&T(e)));return n&&(0,A.isInstantiableClass)(n)?A.ClassType.isSameGenericClass(t,n)?t:_(n,k(t)):void 0},t.isLiteralType=y,t.isLiteralTypeOrUnion=function(e){return(0,A.isClassInstance)(e)?void 0!==e.literalValue:!!(0,A.isUnion)(e)&&!(0,A.findSubtype)(e,(e=>!(0,A.isClassInstance)(e)||void 0===e.literalValue))},t.containsType=f,t.containsLiteralType=I,t.getLiteralTypeClassName=function e(t){if((0,A.isClassInstance)(t))return void 0!==t.literalValue&&A.ClassType.isBuiltIn(t)?t.details.name:void 0;if((0,A.isUnion)(t)){let n,i=!1;return d(t,(t=>{const s=e(t);s?n||(n=s):i=!0})),i?void 0:n}},t.getUnionSubtypeCount=function(e){return(0,A.isUnion)(e)?e.subtypes.length:1},t.isEllipsisType=function(e){return(0,A.isAny)(e)&&e.isEllipsis},t.isProperty=function(e){return(0,A.isClassInstance)(e)&&A.ClassType.isPropertyClass(e)},t.isDescriptorInstance=function(e,t=!1){return(0,A.isUnion)(e)?e.subtypes.every((e=>E(e,t))):E(e,t)},t.isMaybeDescriptorInstance=E,t.isTupleClass=T,t.isUnboundedTupleClass=B,t.partiallySpecializeType=v,t.populateTypeVarContextForSelfType=Q,t.applySolvedTypeVars=_,t.transformExpectedTypeForConstructor=function(e,t,n){return(0,A.isTypeVar)(e)?(i=e,n.some((e=>i.scopeId===e))?e:void 0):new J(t,n).apply(e);var i},t.getProtocolSymbols=function(e){const t=new Map;return A.ClassType.isProtocolClass(e)&&w(e,t),t},t.lookUpObjectMember=function(e,t,n=0){if((0,A.isClassInstance)(e))return D(e,t,n)},t.lookUpClassMember=D,t.getClassMemberIterator=S,t.getClassIterator=b,t.getClassFieldsRecursive=function(e){const t=new Map;return A.ClassType.getReverseMro(e).forEach((n=>{const i=v(n,e);(0,A.isClass)(i)?i.details.fields.forEach(((e,n)=>{!e.isIgnoredForProtocolMatch()&&e.hasTypedDeclarations()&&t.set(n,{classType:i,symbol:e,isInstanceMember:e.isInstanceMember(),isClassMember:e.isClassMember(),isClassVar:e.isClassVar(),isTypeDeclared:!0,skippedUndeclaredType:!1})})):t.clear()})),t},t.addTypeVarsToListIfUnique=F,t.getTypeVarArgumentsRecursive=function e(t,n=0){var i,s;if(n>A.maxTypeRecursionCount)return[];if(n++,null===(i=t.typeAliasInfo)||void 0===i?void 0:i.typeArguments){const i=[];return null===(s=t.typeAliasInfo)||void 0===s||s.typeArguments.forEach((t=>{F(i,e(t,n))})),i}if((0,A.isTypeVar)(t))return t.details.recursiveTypeAliasName||(0,A.isParamSpec)(t)&&t.paramSpecAccess?[]:[A.TypeBase.isInstantiable(t)?A.TypeVarType.cloneAsInstance(t):t];if((0,A.isClass)(t))return(t=>{const i=[];return t.typeArguments&&t.typeArguments.forEach((t=>{F(i,e(t,n))})),i})(t);if((0,A.isUnion)(t)){const i=[];return d(t,(t=>{F(i,e(t,n))})),i}if((0,A.isFunction)(t)){const i=[];for(let s=0;s{t.setTypeVarType(e,A.UnknownType.create())})),_(e,t)},t.setTypeArgumentsRecursive=function e(t,n,i,s=0){if(!(s>A.maxTypeRecursionCount||(s++,i.isLocked())))switch(t.category){case 9:d(t,(t=>{e(t,n,i,s)}));break;case 7:t.typeArguments&&t.typeArguments.forEach((t=>{e(t,n,i,s)})),t.tupleTypeArguments&&t.tupleTypeArguments.forEach((t=>{e(t.type,n,i,s)}));break;case 5:t.specializedTypes?(t.specializedTypes.parameterTypes.forEach((t=>{e(t,n,i,s)})),t.specializedTypes.returnType&&e(t.specializedTypes.returnType,n,i,s)):(t.details.parameters.forEach((t=>{e(t.type,n,i,s)})),t.details.declaredReturnType&&e(t.details.declaredReturnType,n,i,s),t.details.paramSpec&&!i.hasTypeVar(t.details.paramSpec)&&(0,A.isAnyOrUnknown)(n)&&i.setParamSpec(t.details.paramSpec,{flags:0,parameters:A.FunctionType.getDefaultParameters(),typeVarScopeId:void 0,docString:void 0,paramSpec:void 0}));break;case 6:t.overloads.forEach((t=>{e(t,n,i,s)}));break;case 10:i.hasTypeVar(t)||i.setTypeVarType(t,n)}},t.buildTypeVarContextFromSpecializedClass=k,t.buildTypeVarContext=N,t.specializeForBaseClass=function(e,t){if(0===A.ClassType.getTypeParameters(t).length)return t;const n=_(t,k(e));return(0,s.assert)((0,A.isInstantiableClass)(n)),n},t.derivesFromClassRecursive=function e(t,n,i){if(A.ClassType.isSameGenericClass(t,n))return!0;for(const s of t.details.baseClasses)if((0,A.isInstantiableClass)(s)){if(e(s,n,i))return!0}else if(!i&&(0,A.isAnyOrUnknown)(s))return!0;return!1},t.synthesizeTypeVarForSelfCls=P,t.getDeclaredGeneratorReturnType=function(e){const t=A.FunctionType.getSpecializedReturnType(e);if(t){const e=O(t);if(e)return e.length>=3?e[2]:A.UnknownType.create()}},t.getGeneratorYieldType=function(e,t){let n=!0;const i=p(e,(e=>(0,A.isAnyOrUnknown)(e)?e:(0,A.isClassInstance)(e)&&[["AsyncIterable","Iterable"],["AsyncIterator","Iterator"],["AsyncGenerator","Generator"],["","AwaitableGenerator"]].some((n=>A.ClassType.isBuiltIn(e,t?n[0]:n[1])))?e.typeArguments&&e.typeArguments.length>=1?e.typeArguments[0]:A.UnknownType.create():void(n=!1)));return n?i:void 0},t.isEffectivelyInstantiable=function e(t){return!!A.TypeBase.isInstantiable(t)||!(!(0,A.isClassInstance)(t)||!A.ClassType.isBuiltIn(t,"type"))||!!(0,A.isUnion)(t)&&t.subtypes.every((t=>e(t)))},t.convertToInstance=x,t.convertToInstantiable=R,t.getMembersForClass=function(e,t,n){if(e.details.mro.forEach((e=>{if((0,A.isInstantiableClass)(e)){const i=A.ClassType.isTypedDictClass(e);e.details.fields.forEach(((e,s)=>{if((e.isClassMember()||n&&e.isInstanceMember())&&!(i&&(0,a.isTypedDictMemberAccessedThroughIndex)(e)||e.isInitVar())){const n=t.get(s);n?!n.hasTypedDeclarations()&&e.hasTypedDeclarations()&&t.set(s,e):t.set(s,e)}}))}})),!n){const n=e.details.effectiveMetaclass;if(n&&(0,A.isInstantiableClass)(n))for(const e of n.details.mro){if(!(0,A.isInstantiableClass)(e))break;e.details.fields.forEach(((e,n)=>{const i=t.get(n);i?!i.hasTypedDeclarations()&&e.hasTypedDeclarations()&&t.set(n,e):t.set(n,e)}))}}},t.getMembersForModule=function(e,t){e.loaderFields&&e.loaderFields.forEach(((e,n)=>{t.set(n,e)})),e.fields.forEach(((e,n)=>{t.set(n,e)}))},t.containsUnknown=function(e){let t=!1;return d(e,(e=>{(0,A.isUnknown)(e)&&(t=!0)})),t},t.isPartlyUnknown=function e(t,n=!1,i=0){var s,r;if(i>A.maxTypeRecursionCount)return!1;if(i++,(0,A.isUnknown)(t))return!0;if((null===(s=t.typeAliasInfo)||void 0===s?void 0:s.typeArguments)&&t.typeAliasInfo.typeArguments.some((t=>e(t,n,i))))return!0;if((0,A.isUnion)(t))return void 0!==(0,A.findSubtype)(t,(t=>e(t,n,i)));if((0,A.isClass)(t)){if(A.TypeBase.isInstance(t)&&(n=!1),!n&&!A.ClassType.isPseudoGenericClass(t)){const s=(null===(r=t.tupleTypeArguments)||void 0===r?void 0:r.map((e=>e.type)))||t.typeArguments;if(s)for(const t of s)if(e(t,n,i))return!0}return!1}if((0,A.isOverloadedFunction)(t))return t.overloads.some((t=>e(t,!1,i)));if((0,A.isFunction)(t)){for(let n=0;nA.ClassType.cloneForSpecialization(e,[t],!0)))):e},t.combineSameSizedTuples=function(e,t){if(!t||!(0,A.isInstantiableClass)(t)||B(t))return;let n,i=!0;return d(e,(e=>{if((0,A.isClassInstance)(e)){let t;(0,A.isClass)(e)&&T(e)&&!B(e)&&(t=e),t||(t=e.details.mro.find((e=>(0,A.isClass)(e)&&T(e)&&!B(e)))),t&&(0,A.isClass)(t)&&t.tupleTypeArguments?n?n.length===t.tupleTypeArguments.length?t.tupleTypeArguments.forEach(((e,t)=>{n[t].push(e.type)})):i=!1:n=t.tupleTypeArguments.map((e=>[e.type])):i=!1}else i=!1})),i&&n?x(M(t,n.map((e=>({type:(0,A.combineTypes)(e),isUnbounded:!1}))))):void 0},t.specializeTupleClass=M,t.removeParamSpecVariadicsFromSignature=function(e){if((0,A.isFunction)(e))return L(e);const t=[];let n=!1;for(const i of e.overloads){const e=L(i);t.push(e),e!==i&&(n=!0)}return n?A.OverloadedFunctionType.create(t):e},t.removeParamSpecVariadicsFromFunction=L,t.getGeneratorTypeArgs=O,t.requiresTypeArguments=function(e){return e.details.typeParameters.length>0?!e.details.typeParameters[0].details.isSynthesized:!(!A.ClassType.isSpecialBuiltIn(e)||!["Tuple","Callable","Generic","Type","Optional","Union","Literal","Annotated","TypeGuard","StrictTypeGuard"].some((t=>t===(e.aliasName||e.details.name))))},t.requiresSpecialization=U,t.computeMroLinearization=function(e){let t=!0;e.details.mro=[];const n=e.details.baseClasses.filter(((t,n)=>{if((0,A.isInstantiableClass)(t)&&A.ClassType.isBuiltIn(t,"Generic")){if(A.ClassType.isProtocolClass(e))return!1;if(e.details.baseClasses.some(((e,t)=>t>n&&(0,A.isInstantiableClass)(e)&&e.typeArguments&&e.isTypeArgumentExplicit)))return!1}return!0})),i=[];n.forEach(((e,t)=>{if((0,A.isInstantiableClass)(e)){const t=k(e,!1);i.push(e.details.mro.map((e=>_(e,t))))}else i.push([e])})),i.push(n.map((t=>_(t,k(e,!1)))));const s=k(e,!1);e.details.mro.push(_(e,s));const r=(e,t)=>t.some((t=>t.findIndex((t=>(0,A.isInstantiableClass)(t)&&A.ClassType.isSameGenericClass(t,e)))>0)),o=(e,t)=>{for(let n=0;n!(0,A.isInstantiableClass)(t)||!A.ClassType.isSameGenericClass(t,e)))};for(;;){let n,s=!1;for(let t=0;t0){if(void 0===n&&(n=a),!(0,A.isInstantiableClass)(a[0])){s=!0,e.details.mro.push(a[0]),a.shift();break}if(!r(a[0],i)){s=!0,e.details.mro.push(a[0]),o(a[0],i);break}}}if(!n)break;s||(t=!1,(0,A.isInstantiableClass)(n[0])?(e.details.mro.push(n[0]),o(n[0],i)):(e.details.mro.push(n[0]),n.shift()))}return t},t.getDeclaringModulesForType=function(e){const t=[];return G(e,t),t},t.convertParamSpecValueToType=Y;class V{constructor(){this._isTransformingTypeArg=!1,this._pendingTypeVarTransformations=new Set}apply(e,t=0){var n;if(t>A.maxTypeRecursionCount)return e;if(t++,!U(e=this._transformGenericTypeAlias(e,t)))return e;if((0,A.isAnyOrUnknown)(e))return e;if((0,A.isNoneInstance)(e))return e;if((0,A.isTypeVar)(e)){if(e.details.recursiveTypeAliasName){if(!(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.typeArguments))return e;let i=!1;const s=e.typeAliasInfo.typeArguments.map((e=>{const n=this.apply(e,t);return n!==e&&(i=!0),n}));return i?A.TypeBase.cloneForTypeAlias(e,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,s):e}let i=e;const s=A.TypeVarType.getNameWithScope(e);return this._pendingTypeVarTransformations.has(s)||(i=this.transformTypeVar(e),this._isTransformingTypeArg||(this._pendingTypeVarTransformations.add(s),i=this.apply(i,t),this._pendingTypeVarTransformations.delete(s)),(0,A.isVariadicTypeVar)(e)&&e.isVariadicInUnion&&(i=K(i))),i}if((0,A.isUnion)(e)){const n=p(e,(e=>{let n=this.apply(e,t);if((0,A.isVariadicTypeVar)(e)&&!(0,A.isVariadicTypeVar)(n)){const e=[];d(n,(t=>{e.push(K(t))})),n=(0,A.combineTypes)(e)}return this.transformUnionSubtype?this.transformUnionSubtype(e,n):n}));return(0,A.isNever)(n)?A.UnknownType.create():n}if((0,A.isClass)(e))return this._transformTypeVarsInClassType(e,t);if((0,A.isFunction)(e))return this._transformTypeVarsInFunctionType(e,t);if((0,A.isOverloadedFunction)(e)){let n=!1;const i=[];return e.overloads.forEach((e=>{const s=this._transformTypeVarsInFunctionType(e,t);i.push(s),s!==e&&(n=!0)})),n?A.OverloadedFunctionType.create(i):e}return e}transformTypeVar(e){return e}transformVariadicTypeVar(e){}transformParamSpec(e){}transformUnionSubtype(e,t){return t}_transformGenericTypeAlias(e,t){if(!e.typeAliasInfo||!e.typeAliasInfo.typeParameters||!e.typeAliasInfo.typeArguments)return e;let n=!1;const i=e.typeAliasInfo.typeArguments.map((i=>{const s=this.apply(i,t);return e!==s&&(n=!0),s}));return n?A.TypeBase.cloneForTypeAlias(e,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,i):e}_transformTypeVarsInClassType(e,t){if(0===A.ClassType.getTypeParameters(e).length&&!A.ClassType.isSpecialBuiltIn(e))return e;let n,s=[],r=!1;const o=A.ClassType.getTypeParameters(e),a=e=>{const t=this.transformParamSpec(e);return t?(r=!0,Y(t)):e},l=this._isTransformingTypeArg;return this._isTransformingTypeArg=!0,e.typeArguments?s=e.typeArguments.map((e=>{if((0,A.isTypeVar)(e)&&e.details.isParamSpec)return a(e);let n=this.apply(e,t);return n!==e&&(r=!0,(0,A.isTypeVar)(e)&&(0,A.isVariadicTypeVar)(e)&&e.isVariadicInUnion&&(n=K(n))),n})):o.forEach((e=>{let n=e;if(e.details.isParamSpec)n=a(e),n!==e&&(r=!0);else{const i=A.TypeVarType.getNameWithScope(e);this._pendingTypeVarTransformations.has(i)||(n=this.transformTypeVar(e),n!==e&&(this._isTransformingTypeArg||(this._pendingTypeVarTransformations.add(i),n=this.apply(n,t),this._pendingTypeVarTransformations.delete(i)),r=!0))}s.push(n)})),A.ClassType.isTupleClass(e)&&(e.tupleTypeArguments?(n=[],e.tupleTypeArguments.forEach((e=>{const s=this.apply(e.type,t);s!==e.type&&(r=!0),(0,A.isVariadicTypeVar)(e.type)&&(0,A.isClassInstance)(s)&&T(s)&&s.tupleTypeArguments?(0,i.appendArray)(n,s.tupleTypeArguments):n.push({type:s,isUnbounded:e.isUnbounded})}))):o.length>0&&(n=this.transformVariadicTypeVar(o[0]),n&&(r=!0))),this._isTransformingTypeArg=l,r?A.ClassType.cloneForSpecialization(e,s,!0,void 0,n):e}_transformTypeVarsInFunctionType(e,t){let n=e;if(n.details.paramSpec){const e=this.transformParamSpec(n.details.paramSpec);e&&(n=A.FunctionType.cloneForParamSpec(n,e))}const i=A.FunctionType.getSpecializedReturnType(n),s=i?this.apply(i,t):void 0;let r=i!==s;const o={parameterTypes:[],returnType:s};if(n.details.parameters.length>=2){const e=n.details.parameters[n.details.parameters.length-2],t=n.details.parameters[n.details.parameters.length-1],i=A.FunctionType.getEffectiveParameterType(n,n.details.parameters.length-2),s=A.FunctionType.getEffectiveParameterType(n,n.details.parameters.length-1);if(1===e.category&&2===t.category&&(0,A.isParamSpec)(i)&&(0,A.isParamSpec)(s)&&(0,A.isTypeSame)(i,s)){const e=this.transformParamSpec(i);e&&(e.parameters.length>0||void 0===e.paramSpec||!(0,A.isTypeSame)(i,e.paramSpec))&&(n=A.FunctionType.cloneForParamSpecApplication(n,e))}}let a,l;const c=[],p=this._isTransformingTypeArg;this._isTransformingTypeArg=!0;for(let e=0;evoid 0!==e))&&(o.parameterDefaultArgs=c),!l)return A.FunctionType.cloneForSpecialization(n,o,g);const u=A.FunctionType.createSynthesizedInstance("");let d=!1,h=!1;return o.parameterTypes.forEach(((e,t)=>{if(t===a){let e=!1;l.forEach((t=>{A.FunctionType.addParameter(u,{category:t.isUnbounded?1:0,name:`__p${u.details.parameters.length}`,isNameSynthesized:!0,type:t.type,hasDeclaredType:!0}),t.isUnbounded&&(e=!0)})),e?h=!0:d=!0}else{const i={...n.details.parameters[t]};1!==i.category||i.name?2===i.category&&(d=!1):d=!1,0===i.category&&i.name&&d&&(A.FunctionType.addParameter(u,{category:1,type:A.UnknownType.create()}),d=!1),i.type=e,i.name&&i.isNameSynthesized&&(i.name=`__p${u.details.parameters.length}`),0===i.category&&!i.name&&h||A.FunctionType.addParameter(u,i)}})),u.details.declaredReturnType=o.returnType,u}}class z extends V{constructor(e,t=!1,n=!1,i=!1,s){super(),this._typeVarContext=e,this._unknownIfNotFound=t,this._useNarrowBoundOnly=n,this._eliminateUnsolvedInUnions=i,this._typeClassType=s}transformTypeVar(e){if(e.scopeId&&this._typeVarContext.hasSolveForScope(e.scopeId)){let t=this._typeVarContext.getTypeVarType(e,this._useNarrowBoundOnly);if(!t&&this._useNarrowBoundOnly){const n=this._typeVarContext.getTypeVarType(e);n&&I(n,!0)&&(t=n)}if(t)return A.TypeBase.isInstantiable(e)&&(t=(0,A.isAnyOrUnknown)(t)&&this._typeClassType&&(0,A.isInstantiableClass)(this._typeClassType)?A.ClassType.cloneForSpecialization(A.ClassType.cloneAsInstance(this._typeClassType),[t],!0):R(t)),t;if(this._unknownIfNotFound&&!this._typeVarContext.hasSolveForScope(A.WildcardTypeVarScopeId))return A.UnknownType.create()}return e}transformUnionSubtype(e,t){if(this._eliminateUnsolvedInUnions&&(0,A.isTypeVar)(e)&&void 0!==e.scopeId&&this._typeVarContext.hasSolveForScope(e.scopeId)){if(e===t)return;if((0,A.isUnknown)(t)&&this._unknownIfNotFound)return}return t}transformVariadicTypeVar(e){if(e.scopeId&&this._typeVarContext.hasSolveForScope(e.scopeId))return this._typeVarContext.getVariadicTypeVar(e)}transformParamSpec(e){if(!e.scopeId||!this._typeVarContext.hasSolveForScope(e.scopeId))return;const t=this._typeVarContext.getParamSpec(e);return t||(this._unknownIfNotFound&&!this._typeVarContext.hasSolveForScope(A.WildcardTypeVarScopeId)?{flags:32768,parameters:A.FunctionType.getDefaultParameters(!0),typeVarScopeId:void 0,docString:void 0,paramSpec:void 0}:void 0)}}class J extends V{constructor(e,t){super(),this._typeVarContext=e,this._liveTypeVarScopes=t,this.dummyScopeId="__expected_type_scope_id",this.dummyTypeVarPrefix="__expected_type_",this._typeVarContext.addSolveForScope(this.dummyScopeId)}_isTypeVarLive(e){return this._liveTypeVarScopes.some((t=>e.scopeId===t))}_createDummyTypeVar(e){if(e.details.isSynthesized&&e.details.name.startsWith(this.dummyTypeVarPrefix))return e;const t=A.TypeBase.isInstance(e);let n=A.TypeVarType.createInstance(`__expected_type_${J.synthesizedTypeVarIndexForExpectedType}`);return n.details.isSynthesized=!0,n.scopeId=this.dummyScopeId,n.nameWithScope=A.TypeVarType.makeNameWithScope(n.details.name,this.dummyScopeId),t||(n=R(n)),n.details.boundType=e.details.boundType,n.details.constraints=e.details.constraints,n.details.declaredVariance=e.details.declaredVariance,n.computedVariance=e.computedVariance,J.synthesizedTypeVarIndexForExpectedType++,n}transformTypeVar(e){return this._isTypeVarLive(e)?e:this._createDummyTypeVar(e)}}J.synthesizedTypeVarIndexForExpectedType=1},4447:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeVarContext=void 0;const i=n(5839),s=n(1133),r=n(5168);class o{constructor(e){this._isLocked=!1,Array.isArray(e)?this._solveForScopes=e:this._solveForScopes=void 0!==e?[e]:void 0,this._typeVarMap=new Map,this._paramSpecMap=new Map}clone(){const e=new o;return this._solveForScopes&&(e._solveForScopes=[...this._solveForScopes]),this._typeVarMap.forEach((t=>{e.setTypeVarType(t.typeVar,t.narrowBound,t.wideBound,t.retainLiteral)})),this._paramSpecMap.forEach((t=>{e.setParamSpec(t.paramSpec,t.type)})),this._variadicTypeVarMap&&this._variadicTypeVarMap.forEach((t=>{e.setVariadicTypeVar(t.typeVar,t.types)})),e._isLocked=this._isLocked,e}copyFromClone(e){this._typeVarMap=e._typeVarMap,this._paramSpecMap=e._paramSpecMap,this._variadicTypeVarMap=e._variadicTypeVarMap,this._isLocked=e._isLocked}getSolveForScopes(){return this._solveForScopes}hasSolveForScope(e){return void 0!==e&&void 0!==this._solveForScopes&&this._solveForScopes.some((t=>t===e||t===s.WildcardTypeVarScopeId))}setSolveForScopes(e){this._solveForScopes=e}addSolveForScope(e){void 0===e||this.hasSolveForScope(e)||(this._solveForScopes||(this._solveForScopes=[]),this._solveForScopes.push(e))}isEmpty(){return 0===this._typeVarMap.size&&0===this._paramSpecMap.size}getScore(){let e=0;return this._typeVarMap.forEach((t=>{e+=1;const n=this.getTypeVarType(t.typeVar);e+=1-this._getComplexityScoreForType(n)})),e+=this._paramSpecMap.size,e}hasTypeVar(e){return this._typeVarMap.has(this._getKey(e))}getTypeVarType(e,t=!1){const n=this._typeVarMap.get(this._getKey(e));if(n)return n.narrowBound?n.narrowBound:t?void 0:n.wideBound}setTypeVarType(e,t,n,s){(0,i.assert)(!this._isLocked);const r=this._getKey(e);this._typeVarMap.set(r,{typeVar:e,narrowBound:t,wideBound:n,retainLiteral:s})}getVariadicTypeVar(e){var t,n;return null===(n=null===(t=this._variadicTypeVarMap)||void 0===t?void 0:t.get(this._getKey(e)))||void 0===n?void 0:n.types}setVariadicTypeVar(e,t){(0,i.assert)(!this._isLocked);const n=this._getKey(e);this._variadicTypeVarMap||(this._variadicTypeVarMap=new Map),this._variadicTypeVarMap.set(n,{typeVar:e,types:t})}getTypeVar(e){const t=this._getKey(e);return this._typeVarMap.get(t)}getTypeVars(){const e=[];return this._typeVarMap.forEach((t=>{e.push(t)})),e}hasParamSpec(e){return this._paramSpecMap.has(this._getKey(e))}getParamSpec(e){var t;return null===(t=this._paramSpecMap.get(this._getKey(e)))||void 0===t?void 0:t.type}setParamSpec(e,t){(0,i.assert)(!this._isLocked),this._paramSpecMap.set(this._getKey(e),{paramSpec:e,type:t})}typeVarCount(){return this._typeVarMap.size}getWideTypeBound(e){const t=this._typeVarMap.get(this._getKey(e));if(t)return t.wideBound}getRetainLiterals(e){const t=this._typeVarMap.get(this._getKey(e));return!!(null==t?void 0:t.retainLiteral)}lock(){(0,i.assert)(!this._isLocked),this._isLocked=!0}unlock(){this._isLocked=!1}isLocked(){return this._isLocked}_getKey(e){return s.TypeVarType.getNameWithScope(e)}_getComplexityScoreForType(e,t=0){if(t>s.maxTypeRecursionCount)return 1;switch(t++,e.category){case 1:case 2:case 3:case 5:case 6:case 10:return.5;case 0:case 4:return 1;case 9:{let n=0;return e.subtypes.length<16&&(0,r.doForEachSubtype)(e,(e=>{const i=this._getComplexityScoreForType(e,t);n=Math.max(n,i)})),.75+n/4}case 7:return this._getComplexityScoreForClass(e,t)}return 0}_getComplexityScoreForClass(e,t){let n=0,i=0;return e.tupleTypeArguments?e.tupleTypeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e.type,t),i++})):e.typeArguments?e.typeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e,t),i++})):e.details.typeParameters&&e.details.typeParameters.forEach((e=>{n+=this._getComplexityScoreForType(s.AnyType.create(),t),i++})),.5+.25*(i>0?n/i:0)}}t.TypeVarContext=o},9453:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.narrowForKeyAssignment=t.getTypeOfIndexedTypedDict=t.assignToTypedDict=t.assignTypedDictToTypedDict=t.getTypedDictMembersForClass=t.synthesizeTypedDictClassMethods=t.createTypedDictType=void 0;const o=n(9489),a=n(5839),A=n(1290),l=n(9744),c=n(1464),p=n(3550),g=n(2122),u=r(n(563)),d=r(n(8494)),h=n(817),C=n(2917),m=n(1133),y=n(5168),f=n(4447);function I(e,t,n,i){(0,a.assert)(m.ClassType.isTypedDictClass(n));const s=m.FunctionType.createSynthesizedInstance("__new__",1);m.FunctionType.addParameter(s,{category:0,name:"cls",type:n,hasDeclaredType:!0}),m.FunctionType.addDefaultParameters(s),s.details.declaredReturnType=m.ClassType.cloneAsInstance(n);const r=m.FunctionType.createSynthesizedInstance("__init__");m.FunctionType.addParameter(r,{category:0,name:"self",type:m.ClassType.cloneAsInstance(n),hasDeclaredType:!0}),r.details.declaredReturnType=m.NoneType.createInstance(),m.FunctionType.addParameter(r,{category:1,type:m.AnyType.create(),hasDeclaredType:!0});const A=E(e,n);A.forEach(((e,t)=>{m.FunctionType.addParameter(r,{category:0,name:t,hasDefault:!e.isRequired,type:e.valueType,hasDeclaredType:!0})}));const l=n.details.fields;l.set("__init__",h.Symbol.createWithType(4,r)),l.set("__new__",h.Symbol.createWithType(4,s));const c=e.getBuiltInType(t,"str");if((0,m.isInstantiableClass)(c)){const s={category:0,name:"self",type:m.ClassType.cloneAsInstance(n),hasDeclaredType:!0},r=e=>{let t=m.TypeVarType.createInstance("__TDefault");return t=m.TypeVarType.cloneForScopeId(t,e.details.typeVarScopeId,n.details.name,1),t},a=(n,i,o,a=!1,A=!1)=>{const l=m.FunctionType.createSynthesizedInstance("get",256);if(m.FunctionType.addParameter(l,s),l.details.typeVarScopeId=e.getScopeIdForNode(t),m.FunctionType.addParameter(l,{category:0,name:"k",type:n,hasDeclaredType:!0}),o){const e=r(l);let t,n;a?(t=m.AnyType.create(),n=null!=i?i:m.AnyType.create()):(t=A&&i?i:e,n=i?A?i:(0,m.combineTypes)([i,e]):e),m.FunctionType.addParameter(l,{category:0,name:"default",type:t,hasDeclaredType:!0}),l.details.declaredReturnType=n}else l.details.declaredReturnType=a?i:(0,m.combineTypes)([null!=i?i:m.AnyType.create(),m.NoneType.createInstance()]);return l},p=(n,i)=>{const o={category:0,name:"k",type:n,hasDeclaredType:!0},a=m.FunctionType.createSynthesizedInstance("pop",256);m.FunctionType.addParameter(a,s),m.FunctionType.addParameter(a,o),a.details.declaredReturnType=i;const A=m.FunctionType.createSynthesizedInstance("pop",256);m.FunctionType.addParameter(A,s),m.FunctionType.addParameter(A,o),A.details.typeVarScopeId=e.getScopeIdForNode(t);const l=r(A);return m.FunctionType.addParameter(A,{category:0,name:"default",hasDeclaredType:!0,type:l,hasDefault:!0}),A.details.declaredReturnType=(0,m.combineTypes)([i,l]),[a,A]},g=(e,t)=>{const n=m.FunctionType.createSynthesizedInstance("setdefault",256);return m.FunctionType.addParameter(n,s),m.FunctionType.addParameter(n,{category:0,name:"k",hasDeclaredType:!0,type:e}),m.FunctionType.addParameter(n,{category:0,name:"default",hasDeclaredType:!0,type:t}),n.details.declaredReturnType=t,n},u=e=>{const t=m.FunctionType.createSynthesizedInstance("delitem",256);return m.FunctionType.addParameter(t,s),m.FunctionType.addParameter(t,{category:0,name:"k",hasDeclaredType:!0,type:e}),t.details.declaredReturnType=m.NoneType.createInstance(),t},d=[],C=[],y=[];if(A.forEach(((e,t)=>{const n=m.ClassType.cloneAsInstance(m.ClassType.cloneWithLiteral(c,t));d.push(a(n,e.valueType,!1,e.isRequired)),e.isRequired?d.push(a(n,e.valueType,!0,!0,!0)):(d.push(a(n,e.valueType,!0,!1,!0)),d.push(a(n,e.valueType,!0,!1,!1))),e.isRequired||(0,o.appendArray)(C,p(n,e.valueType)),y.push(g(n,e.valueType))})),i){const n=e.getTypingType(t,"LiteralString");if(n&&(0,m.isInstantiableClass)(n)){const e=m.ClassType.cloneAsInstance(n);d.push(a(e,m.NoneType.createInstance(),!1,!0)),d.push(a(e,void 0,!0))}}const f=m.ClassType.cloneAsInstance(c);d.push(a(f,m.AnyType.create(),!1)),d.push(a(f,m.AnyType.create(),!0)),l.set("get",h.Symbol.createWithType(4,m.OverloadedFunctionType.create(d))),C.length>0&&l.set("pop",h.Symbol.createWithType(4,m.OverloadedFunctionType.create(C))),y.length>0&&l.set("setdefault",h.Symbol.createWithType(4,m.OverloadedFunctionType.create(y))),l.set("__delitem__",h.Symbol.createWithType(4,u(f)))}}function E(e,t,n=!1){if(!t.details.typedDictEntries){const n=new Map;T(e,t,n),t.details.typedDictEntries=n}const i=(0,y.buildTypeVarContextFromSpecializedClass)(t),s=new Map;return t.details.typedDictEntries.forEach(((e,t)=>{const n={...e};n.valueType=(0,y.applySolvedTypeVars)(n.valueType,i),s.set(t,n)})),n&&t.typedDictNarrowedEntries&&t.typedDictNarrowedEntries.forEach(((e,t)=>{const n={...e};n.valueType=(0,y.applySolvedTypeVars)(n.valueType,i),s.set(t,n)})),s}function T(e,t,n,i=0){if((0,a.assert)(m.ClassType.isTypedDictClass(t)),i>m.maxTypeRecursionCount)return;i++,t.details.baseClasses.forEach((s=>{if((0,m.isInstantiableClass)(s)&&m.ClassType.isTypedDictClass(s)){const r=(0,y.partiallySpecializeType)(s,t);(0,a.assert)((0,m.isClass)(r)),T(e,r,n,i)}}));const s=(0,y.buildTypeVarContextFromSpecializedClass)(t);t.details.fields.forEach(((i,r)=>{if(!i.isIgnoredForProtocolMatch()){const o=(0,C.getLastTypedDeclaredForSymbol)(i);if(o&&1===o.type){let a=e.getEffectiveTypeOfSymbol(i);a=(0,y.applySolvedTypeVars)(a,s);let c=!m.ClassType.isCanOmitDictValues(t);(0,C.isRequiredTypedDictVariable)(i)?c=!0:(0,C.isNotRequiredTypedDictVariable)(i)&&(c=!1);const p=n.get(r);if(p&&!(0,m.isTypeSame)(p.valueType,a)){const t=new A.DiagnosticAddendum;t.addMessage(g.Localizer.DiagnosticAddendum.typedDictFieldRedefinition().format({parentType:e.printType(p.valueType),childType:e.printType(a)})),e.addDiagnostic(u.getFileInfo(o.node).diagnosticRuleSet.reportGeneralTypeIssues,l.DiagnosticRule.reportGeneralTypeIssues,g.Localizer.Diagnostic.typedDictFieldRedefinition().format({name:r})+t.getString(),o.node)}n.set(r,{valueType:a,isRequired:c,isProvided:!1})}}}))}t.createTypedDictType=function(e,t,n,i){const s=u.getFileInfo(t);let r="TypedDict";if(0===i.length)e.addError(g.Localizer.Diagnostic.typedDictFirstArg(),t);else{const n=i[0];0===n.argumentCategory&&n.valueExpression&&48===n.valueExpression.nodeType?r=n.valueExpression.strings.map((e=>e.value)).join(""):e.addError(g.Localizer.Diagnostic.typedDictFirstArg(),i[0].valueExpression||t)}const o=m.ClassType.createInstantiable(r,d.getClassFullName(t,s.moduleName,r),s.moduleName,s.filePath,128,d.getTypeSourceId(t),void 0,n.details.effectiveMetaclass);o.details.baseClasses.push(n),(0,y.computeMroLinearization)(o);const a=o.details.fields;a.set("__class__",h.Symbol.createWithType(68,o));let A=!1;if(i.length<2)e.addError(g.Localizer.Diagnostic.typedDictSecondArgDict(),t);else{const n=i[1],r=new Map;if(0===n.argumentCategory&&n.valueExpression&&15===n.valueExpression.nodeType){A=!0;const t=n.valueExpression;t.entries.forEach((t=>{if(17!==t.nodeType)return void e.addError(g.Localizer.Diagnostic.typedDictSecondArgDictEntry(),t);if(48!==t.keyExpression.nodeType)return void e.addError(g.Localizer.Diagnostic.typedDictEntryName(),t.keyExpression);const n=t.keyExpression.strings.map((e=>e.value)).join("");if(!n)return void e.addError(g.Localizer.Diagnostic.typedDictEmptyName(),t.keyExpression);if(r.has(n))return void e.addError(g.Localizer.Diagnostic.typedDictEntryUnique(),t.keyExpression);r.set(n,!0);const i=e.getTypeOfExpressionExpectingType(t.valueExpression,!0,!0),o=new h.Symbol(8),A={type:1,node:t.keyExpression,path:s.filePath,typeAnnotationNode:t.valueExpression,isRequired:i.isRequired,isNotRequired:i.isNotRequired,isRuntimeTypeExpression:!0,range:(0,c.convertOffsetsToRange)(t.keyExpression.start,p.TextRange.getEnd(t.keyExpression),s.lines),moduleName:s.moduleName,isInExceptSuite:!1};o.addDeclaration(A),a.set(n,o)})),e.setTypeForNode(t)}else if(n.name)for(let n=1;n=3&&(!i[2].name||"total"!==i[2].name.value||!i[2].valueExpression||11!==i[2].valueExpression.nodeType||15!==i[2].valueExpression.constType&&33!==i[2].valueExpression.constType?e.addError(g.Localizer.Diagnostic.typedDictTotalParam(),i[2].valueExpression||t):15===i[2].valueExpression.constType&&(o.details.flags|=256)),i.length>3&&e.addError(g.Localizer.Diagnostic.typedDictExtraArgs(),i[3].valueExpression||t)),I(e,t,o,!1),o},t.synthesizeTypedDictClassMethods=I,t.getTypedDictMembersForClass=E,t.assignTypedDictToTypedDict=function(e,t,n,i,s,r,o=0){let a=!0;const A=E(e,t),l=E(e,n,!0);return A.forEach(((A,c)=>{const p=l.get(c);if(p){A.isRequired&&!p.isRequired?(null==i||i.createAddendum().addMessage(g.Localizer.DiagnosticAddendum.typedDictFieldRequired().format({name:c,type:e.printType(t)})),a=!1):!A.isRequired&&p.isRequired&&(null==i||i.createAddendum().addMessage(g.Localizer.DiagnosticAddendum.typedDictFieldNotRequired().format({name:c,type:e.printType(t)})),a=!1);const n=null==i?void 0:i.createAddendum();e.assignType(A.valueType,p.valueType,null==n?void 0:n.createAddendum(),s,void 0,r,o)||(null==n||n.addMessage(g.Localizer.DiagnosticAddendum.memberTypeMismatch().format({name:c})),a=!1)}else null==i||i.createAddendum().addMessage(g.Localizer.DiagnosticAddendum.typedDictFieldMissing().format({name:c,type:e.printType(n)})),a=!1})),a},t.assignToTypedDict=function(e,t,n,i,s){(0,a.assert)((0,m.isClassInstance)(t)),(0,a.assert)(m.ClassType.isTypedDictClass(t)),(0,a.assert)(n.length===i.length);let r=!0;const o=new Map;let A,l=t;t.details.typeParameters.length>0&&(A=new f.TypeVarContext((0,y.getTypeVarScopeId)(t)),t.typeArguments&&(l=m.ClassType.cloneForSpecialization(t,void 0,!1)));const c=E(e,l);if(n.forEach(((n,a)=>{if((0,m.isClassInstance)(n)&&m.ClassType.isBuiltIn(n,"str")&&(0,y.isLiteralType)(n)){const l=n.literalValue,p=c.get(l);if(p){const t=null==s?void 0:s.createAddendum();e.assignType(p.valueType,i[a],null==t?void 0:t.createAddendum(),A,void 0,128)||(t&&t.addMessage(g.Localizer.DiagnosticAddendum.typedDictFieldTypeMismatch().format({name:n.literalValue,type:e.printType(i[a])})),r=!1),p.isRequired||o.set(l,{valueType:i[a],isRequired:!1,isProvided:!0}),p.isProvided=!0}else r=!1,s&&s.addMessage(g.Localizer.DiagnosticAddendum.typedDictFieldUndefined().format({name:n.literalValue,type:e.printType(m.ClassType.cloneAsInstance(t))}))}else r=!1})),!r)return;if(c.forEach(((n,i)=>{n.isRequired&&!n.isProvided&&(s&&s.addMessage(g.Localizer.DiagnosticAddendum.typedDictFieldRequired().format({name:i,type:e.printType(t)})),r=!1)})),!r)return;const p=A?(0,y.applySolvedTypeVars)(l,A):t;return 0===o.size?p:m.ClassType.cloneForNarrowedTypedDictEntries(p,o)},t.getTypeOfIndexedTypedDict=function(e,t,n,i){if(1!==t.items.length)return e.addError(g.Localizer.Diagnostic.typeArgsMismatchOne().format({received:t.items.length}),t),{type:m.UnknownType.create()};if(t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return;const s=E(e,n,"get"===i.method),r=e.getTypeOfExpression(t.items[0].valueExpression),o=r.type;let a=new A.DiagnosticAddendum,c=!0;const p=(0,y.mapSubtypes)(o,(r=>{if((0,m.isAnyOrUnknown)(r))return r;if((0,m.isClassInstance)(r)&&m.ClassType.isBuiltIn(r,"str")){if(void 0===r.literalValue)return m.UnknownType.create();const o=r.literalValue,A=s.get(o);return A?(A.isRequired||A.isProvided||"get"!==i.method||d.isWithinTryBlock(t,!0)||a.addMessage(g.Localizer.DiagnosticAddendum.keyNotRequired().format({name:o,type:e.printType(n)})),"set"===i.method?e.assignType(A.valueType,i.setType||m.AnyType.create(),a)||(c=!1):"del"===i.method&&A.isRequired&&(a.addMessage(g.Localizer.DiagnosticAddendum.keyRequiredDeleted().format({name:o})),c=!1),A.valueType):(a.addMessage(g.Localizer.DiagnosticAddendum.keyUndefined().format({name:o,type:e.printType(n)})),c=!1,m.UnknownType.create())}return a.addMessage(g.Localizer.DiagnosticAddendum.typeNotStringLiteral().format({type:e.printType(r)})),c=!1,m.UnknownType.create()}));if(!i.setExpectedTypeDiag||a.isEmpty()||i.setExpectedTypeDiag.isEmpty()||(a=i.setExpectedTypeDiag),!a.isEmpty()){let n;n="set"===i.method?g.Localizer.Diagnostic.typedDictSet():"del"===i.method?g.Localizer.Diagnostic.typedDictDelete():g.Localizer.Diagnostic.typedDictAccess();const s=u.getFileInfo(t);e.addDiagnostic(c?s.diagnosticRuleSet.reportTypedDictNotRequiredAccess:s.diagnosticRuleSet.reportGeneralTypeIssues,c?l.DiagnosticRule.reportTypedDictNotRequiredAccess:l.DiagnosticRule.reportGeneralTypeIssues,n+a.getString(),t)}return{type:p,isIncomplete:!!r.isIncomplete}},t.narrowForKeyAssignment=function(e,t){var n;(0,a.assert)(m.ClassType.isTypedDictClass(e)),(0,a.assert)(e.details.typedDictEntries);const i=e.details.typedDictEntries.get(t);if(!i||i.isRequired)return e;const s=null===(n=e.typedDictNarrowedEntries)||void 0===n?void 0:n.get(t);if(null==s?void 0:s.isProvided)return e;const r=e.typedDictNarrowedEntries?new Map(e.typedDictNarrowedEntries):new Map;return r.set(t,{isProvided:!0,isRequired:!1,valueType:i.valueType}),m.ClassType.cloneForNarrowedTypedDictEntries(e,r)}},1133:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSameWithoutLiteralValue=t.combineTypes=t.findSubtype=t.removeFromUnion=t.removeNoneFromUnion=t.removeUnbound=t.removeIncompleteUnknownFromUnion=t.removeUnknownFromUnion=t.isTypeSame=t.getTypeAliasInfo=t.isOverloadedFunction=t.isFunction=t.isParamSpec=t.isUnpacked=t.isUnpackedClass=t.isUnpackedVariadicTypeVar=t.isVariadicTypeVar=t.isTypeVar=t.isModule=t.isClassInstance=t.isInstantiableClass=t.isClass=t.isPossiblyUnbound=t.isUnion=t.isUnbound=t.isAnyOrUnknown=t.isUnknown=t.isAny=t.isNoneTypeClass=t.isNoneInstance=t.isNever=t.TypeVarType=t.UnionType=t.TypeCondition=t.AnyType=t.NeverType=t.NoneType=t.OverloadedFunctionType=t.FunctionType=t.ClassType=t.ModuleType=t.UnknownType=t.UnboundType=t.TypeBase=t.maxTypeRecursionCount=t.EnumLiteral=t.WildcardTypeVarScopeId=void 0;const i=n(5839);t.WildcardTypeVarScopeId="*";class s{constructor(e,t,n){this.className=e,this.itemName=t,this.itemType=n}}var r,o,a,A,l,c,p,g,u,d;function h(e){return 4===e.category}function C(e){return 3===e.category&&r.isInstance(e)}function m(e){return 1===e.category}function y(e){return 2===e.category||1===e.category||!!I(e)&&void 0===e.subtypes.find((e=>!y(e)))}function f(e){return 0===e.category}function I(e){return 9===e.category}function E(e){return 7===e.category}function T(e){return 7===e.category&&r.isInstantiable(e)}function B(e){return 7===e.category&&r.isInstance(e)}function v(e){return 10===e.category}function Q(e){return I(e)&&1===e.subtypes.length&&(e=e.subtypes[0]),10===e.category&&e.details.isVariadic&&!!e.isVariadicUnpacked}function _(e){return!(!E(e)||!e.isUnpacked)}function w(e,n,i={},s=0){var r,o;if(e===n)return!0;if(e.category!==n.category){if(i.treatAnySameAsUnknown){if(2===e.category&&1===n.category)return!0;if(1===e.category&&2===n.category)return!0}return!1}if(!i.ignoreTypeFlags&&e.flags!==n.flags)return!1;if(s>t.maxTypeRecursionCount)return!0;switch(s++,e.category){case 7:{const t=n;if(!a.isSameGenericClass(e,t,s))return!1;if(!p.isSame(e.condition,n.condition))return!1;if(!i.ignorePseudoGeneric||!a.isPseudoGenericClass(e))if(e.tupleTypeArguments&&t.tupleTypeArguments){const n=e.tupleTypeArguments||[],r=t.tupleTypeArguments||[];if(n.length!==r.length)return!1;for(let e=0;e0===e.category&&!e.name)),l=o.findIndex((e=>0===e.category&&!e.name));for(let n=0;n=a;if(g!==(void 0!==l&&n>=l))return!1;if(g&&c.name!==p.name)return!1;if(!w(A.getEffectiveParameterType(e,n),A.getEffectiveParameterType(t,n),{...i,ignoreTypeFlags:!1},s))return!1}let c=e.details.declaredReturnType;e.specializedTypes&&e.specializedTypes.returnType&&(c=e.specializedTypes.returnType),!c&&e.inferredReturnType&&(c=e.inferredReturnType);let p=t.details.declaredReturnType;return t.specializedTypes&&t.specializedTypes.returnType&&(p=t.specializedTypes.returnType),!p&&t.inferredReturnType&&(p=t.inferredReturnType),!!(!c&&!p||c&&p&&w(c,p,{...i,ignoreTypeFlags:!1},s))}case 6:{const t=n;if(e.overloads.length!==t.overloads.length)return!1;for(let n=0;n!g.containsType(t,e,s)))}case 10:{const t=n;if(e.scopeId!==t.scopeId)return!1;if(e.details.recursiveTypeParameters&&t.details.recursiveTypeParameters){const t=(null===(r=null==e?void 0:e.typeAliasInfo)||void 0===r?void 0:r.typeArguments)||[],a=(null===(o=null==n?void 0:n.typeAliasInfo)||void 0===o?void 0:o.typeArguments)||[],A=Math.max(t.length,a.length);for(let e=0;e!t(e)));if(n.lengtht(e))):t(e)?e:void 0}function b(e,t){let n=!1;if(e.some((e=>4===e.category))&&(e=e.filter((e=>(4===e.category&&e.isNoReturn&&(n=!0),4!==e.category)))),0===e.length)return n?l.createNoReturn():l.createNever();let i=!0;if(e.length>1)for(let t=1;t{r.add(e)}))):s.push(t);if(s=s.sort(((e,t)=>B(e)&&void 0!==e.literalValue||T(e)&&void 0!==e.literalValue?1:B(t)&&void 0!==t.literalValue||T(t)&&void 0!==t.literalValue?-1:B(e)&&e.isEmptyContainer?1:B(t)&&t.isEmptyContainer?-1:0)),0===s.length)return o.create();const A=g.create();r.size>0&&(A.typeAliasSources=r);let p=!1;return s.forEach(((e,n)=>{0===n?g.addType(A,e):void 0===t||A.subtypes.lengtho.create())),!0)),B(s)&&B(t)){if(F(s,t)&&void 0===s.literalValue)return;if(a.isBuiltIn(s,"bool")&&!s.condition&&a.isBuiltIn(t,"bool")&&!t.condition&&void 0!==t.literalValue&&!t.literalValue===s.literalValue)return void(e.subtypes[i]=a.cloneWithLiteral(s,void 0));if(a.isTypedDictClass(s)&&a.isSameGenericClass(s,t)){if(a.isTypedDictNarrower(t,s))return;if(a.isTypedDictNarrower(s,t))return void(e.subtypes[i]=t)}}if(B(t)&&t.isEmptyContainer&&B(s)&&a.isSameGenericClass(s,t))return}g.addType(e,t)}(A,e):p=!0})),p?c.create():1===A.subtypes.length?A.subtypes[0]:A}function F(e,t){return!!w(e,t)||(T(t)&&void 0!==t.literalValue||!(!B(t)||void 0===t.literalValue))&&w(e,t=a.cloneWithLiteral(t,void 0))}t.EnumLiteral=s,t.maxTypeRecursionCount=14,function(e){function t(e){return{...e}}e.isInstantiable=function(e){return 0!=(1&e.flags)},e.isInstance=function(e){return 0!=(2&e.flags)},e.isAnnotated=function(e){return 0!=(4&e.flags)},e.isSpecialForm=function(e){return 0!=(8&e.flags)},e.setSpecialForm=function(e){return e.flags|=8},e.isAmbiguous=function(e){return!!e.isAmbiguous},e.cloneType=t,e.cloneTypeAsInstance=function(t){(0,i.assert)(e.isInstantiable(t));const n=e.cloneType(t);return void 0===n.instantiableNestingLevel?(n.flags&=-2,n.flags|=2,delete n.instantiableNestingLevel):1===n.instantiableNestingLevel?delete n.instantiableNestingLevel:n.instantiableNestingLevel--,n},e.cloneTypeAsInstantiable=function(t){const n=e.cloneType(t);return e.isInstance(t)?(n.flags&=-3,n.flags|=1):n.instantiableNestingLevel=void 0===n.instantiableNestingLevel?1:n.instantiableNestingLevel,n},e.cloneForTypeAlias=function(e,n,i,s,r,o){const a=t(e);return a.typeAliasInfo={name:n,fullName:i,typeParameters:r,typeArguments:o,typeVarScopeId:s},a},e.cloneForAnnotated=function(e){const n=t(e);return n.flags|=4,n},e.cloneForCondition=function(e,n){if(void 0===e.condition&&void 0===n)return e;const i=t(e);return i.condition=n,i},e.cloneForAmbiguousType=function(e){if(e.isAmbiguous)return e;const n=t(e);return n.isAmbiguous=!0,n}}(r=t.TypeBase||(t.TypeBase={})),function(e){const t={category:0,flags:3};e.create=function(){return t}}(t.UnboundType||(t.UnboundType={})),function(e){const t={category:1,flags:3,isIncomplete:!1},n={category:1,flags:3,isIncomplete:!0};e.create=function(e=!1){return e?n:t}}(o=t.UnknownType||(t.UnknownType={})),(d=t.ModuleType||(t.ModuleType={})).create=function(e,t,n){return{category:8,fields:n||new Map,loaderFields:new Map,flags:1,moduleName:e,filePath:t}},d.getField=function(e,t){let n=e.fields.get(t);if(e.loaderFields)if(n){const i=e.loaderFields.get(t);i&&!i.isExternallyHidden()&&(n=i)}else n=e.loaderFields.get(t);return n},function(e){function n(e){return r.cloneTypeAsInstantiable(e)}function i(e,t){if(!(1&e.details.flags))return!1;if(void 0!==t){const n=Array.isArray(t)?t:[t];return n.some((t=>t===e.details.name))||n.some((t=>t===e.aliasName))}return!0}function a(n,i,s=0){if(s>t.maxTypeRecursionCount)return!0;if(s++,n.details===i.details)return!0;const r=n.details,o=i.details;if(r===o)return!0;if(r.fullName!==o.fullName||r.flags!==o.flags||r.typeSourceId!==o.typeSourceId||r.baseClasses.length!==o.baseClasses.length||r.typeParameters.length!==o.typeParameters.length)return!1;if(e.isBuiltIn(n,"NamedTuple")&&e.isBuiltIn(i,"NamedTuple"))return!0;if(e.isBuiltIn(n,"tuple")&&e.isBuiltIn(i,"tuple"))return!0;for(let e=0;eh(e)&&!e.isNoReturn?o.create():e)):void 0,A.isTypeArgumentExplicit=n,i&&(A.includeSubclasses=!0),A.tupleTypeArguments=s?s.map((e=>h(e.type)?{type:o.create(),isUnbounded:e.isUnbounded}:e)):void 0,void 0!==a&&(A.isEmptyContainer=a),A},e.cloneWithLiteral=function(e,t){const n=r.cloneType(e);return n.literalValue=t,n},e.cloneForTypingAlias=function(e,t){const n=r.cloneType(e);return n.aliasName=t,n},e.cloneForNarrowedTypedDictEntries=function(e,t){const n=r.cloneType(e);return n.typedDictNarrowedEntries=t,n},e.cloneWithNewTypeParameters=function(e,t){const n=r.cloneType(e);return n.details={...n.details},n.details.typeParameters=t,n.details.requiresVarianceInference=!1,n},e.cloneForTypeGuard=function(e,t,n){const i=r.cloneType(e);return i.typeGuardType=t,i.isStrictTypeGuard=n,i},e.cloneForSymbolTableUpdate=function(e){const t=r.cloneType(e);return t.details={...t.details},t.details.fields=new Map(t.details.fields),t.details.mro=[...t.details.mro],t.details.mro[0]=n(t),t},e.cloneForUnpacked=function(e,t=!0){const n=r.cloneType(e);return n.isUnpacked=t,n},e.isLiteralValueSame=function(e,t){return void 0===e.literalValue?void 0===t.literalValue:void 0!==t.literalValue&&(e.literalValue instanceof s?t.literalValue instanceof s&&e.literalValue.itemName===t.literalValue.itemName:e.literalValue===t.literalValue)},e.isTypedDictNarrowedEntriesSame=function(e,t){if(e.typedDictNarrowedEntries){if(!t.typedDictNarrowedEntries)return!1;const n=e.typedDictNarrowedEntries,i=t.typedDictNarrowedEntries;if(n.size!==i.size)return!1;let s,r;for([s,r]of n.entries()){const e=i.get(s);if(!e)return!1;if(r.isProvided!==e.isProvided)return!1}}else if(t.typedDictNarrowedEntries)return!1;return!0},e.isTypedDictNarrower=function(e,t){var n;const i=t.typedDictNarrowedEntries;if(!i)return!0;const s=null!==(n=e.typedDictNarrowedEntries)&&void 0!==n?n:new Map;let r,o;for([r,o]of i.entries())if(o.isProvided){const e=s.get(r);if(!(null==e?void 0:e.isProvided))return!1}return!0},e.isUnspecialized=function(e){return e.details.typeParameters.length>0&&void 0===e.typeArguments},e.isSpecialBuiltIn=function(e,t){return!!(2&e.details.flags||e.aliasName)&&(void 0===t||e.details.name===t)},e.isBuiltIn=i,e.derivesFromAnyOrUnknown=function(e){return e.details.mro.some((e=>!E(e)))},e.supportsAbstractMethods=function(e){return!!(512&e.details.flags)},e.isDataClass=function(e){return!!(4&e.details.flags)},e.isSkipSynthesizedDataClassInit=function(e){return!!(16&e.details.flags)},e.isSkipSynthesizedDataClassEq=function(e){return!!(32&e.details.flags)},e.isFrozenDataClass=function(e){return!!(8&e.details.flags)},e.isSynthesizedDataclassOrder=function(e){return!!(64&e.details.flags)},e.isDataClassKeywordOnlyParams=function(e){return!!(2097152&e.details.flags)},e.isGeneratedDataClassSlots=function(e){return!!(33554432&e.details.flags)},e.isSynthesizeDataClassUnsafeHash=function(e){return!!(67108864&e.details.flags)},e.isTypedDictClass=function(e){return!!(128&e.details.flags)},e.isCanOmitDictValues=function(e){return!!(256&e.details.flags)},e.isEnumClass=function(e){return!!(1048576&e.details.flags)},e.isPropertyClass=function(e){return!!(2048&e.details.flags)},e.isClassProperty=function(e){return!!(4194304&e.details.flags)},e.isFinal=function(e){return!!(4096&e.details.flags)},e.isProtocolClass=function(e){return!!(8192&e.details.flags)},e.isDefinedInStub=function(e){return!!(8388608&e.details.flags)},e.isPseudoGenericClass=function(e){return!!(16384&e.details.flags)},e.getDataClassEntries=function(e){return e.details.dataClassEntries||[]},e.isRuntimeCheckable=function(e){return!!(32768&e.details.flags)},e.isTypingExtensionClass=function(e){return!!(65536&e.details.flags)},e.isPartiallyEvaluated=function(e){return!!(131072&e.details.flags)},e.hasCustomClassGetItem=function(e){return!!(262144&e.details.flags)},e.isTupleClass=function(e){return!!(524288&e.details.flags)},e.isReadOnlyInstanceVariables=function(e){return!!(16777216&e.details.flags)},e.getTypeParameters=function(e){return e.details.typeParameters},e.hasUnknownBaseClass=function(e){return e.details.mro.some((e=>y(e)))},e.isHierarchyPartiallyEvaluated=function(t){return e.isPartiallyEvaluated(t)||t.details.mro.some((t=>E(t)&&e.isPartiallyEvaluated(t)))},e.isSameGenericClass=a,e.isDerivedFrom=function t(n,s,r){if(a(n,s))return r&&r.push(n),!0;if(i(n)&&i(s,"object"))return r&&r.push(s),!0;if(e.isBuiltIn(n,"property")&&e.isBuiltIn(s,"property"))return r&&r.push(n),!0;for(const e of n.details.baseClasses)if(T(e)){if(t(e,s,r))return r&&r.push(n),!0}else if(y(e))return r&&r.push(o.create()),!0;return!1},e.getReverseMro=function(e){return e.details.mro.slice(0).reverse()}}(a=t.ClassType||(t.ClassType={})),function(e){function t(e,t,n,i,s,r){return{category:5,details:{name:e,fullName:t,moduleName:n,flags:i,parameters:[],typeParameters:[],docString:r},flags:s}}function n(e=!1){return[{category:1,name:"args",type:e?o.create():c.create(),hasDeclaredType:!e},{category:2,name:"kwargs",type:e?o.create():c.create(),hasDeclaredType:!e}]}function s(e,t){return(0,i.assert)(t0&&0===e.details.parameters[0].category?(e.details.parameters.length>0&&!e.details.parameters[0].isTypeInferred&&(a.strippedFirstParamType=s(e,0)),a.details.parameters=e.details.parameters.slice(1)):n=!1,a.details.flags&=-4,a.details.flags|=4),void 0!==e.typeAliasInfo&&(a.typeAliasInfo=e.typeAliasInfo),e.specializedTypes&&(a.specializedTypes={parameterTypes:n?e.specializedTypes.parameterTypes.slice(1):e.specializedTypes.parameterTypes,parameterDefaultArgs:n?null===(o=e.specializedTypes.parameterDefaultArgs)||void 0===o?void 0:o.slice(1):e.specializedTypes.parameterDefaultArgs,returnType:e.specializedTypes.returnType}),a.inferredReturnType=e.inferredReturnType,a.boundTypeVarScopeId=r,a},e.cloneAsInstance=function(e){const t=r.cloneTypeAsInstance(e);return t.flags&=-9,t},e.cloneAsInstantiable=function(e){const t=r.cloneTypeAsInstantiable(e);return t.flags&=-9,t},e.cloneForSpecialization=function(e,n,s){const r=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return r.details=e.details,(0,i.assert)(n.parameterTypes.length===e.details.parameters.length),n.parameterDefaultArgs&&(0,i.assert)(n.parameterDefaultArgs.length===e.details.parameters.length),r.specializedTypes=n,s&&(r.inferredReturnType=s),r},e.cloneForParamSpec=function(n,i){const s=t(n.details.name,n.details.fullName,n.details.moduleName,n.details.flags,n.flags,n.details.docString);return s.details={...n.details},delete s.details.paramSpec,i&&(s.details.parameters=[...n.details.parameters,...i.parameters.map((e=>({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})))],s.details.docString||(s.details.docString=i.docString),s.details.flags=32775&i.flags|64,e.isParamSpecValue(n)&&(s.details.flags|=65536),n.specializedTypes&&(s.specializedTypes={parameterTypes:[...n.specializedTypes.parameterTypes],returnType:n.specializedTypes.returnType},n.specializedTypes.parameterDefaultArgs&&(s.specializedTypes.parameterDefaultArgs=[...n.specializedTypes.parameterDefaultArgs]),i.parameters.forEach((e=>{s.specializedTypes.parameterTypes.push(e.type),s.specializedTypes.parameterDefaultArgs&&s.specializedTypes.parameterDefaultArgs.push(void 0)}))),s.details.paramSpec=i.paramSpec),s},e.cloneWithNewFlags=function(e,t){const n=r.cloneType(e);return n.details={...e.details},n.details.flags=t,n},e.cloneForParamSpecApplication=function(e,t){const n=r.cloneType(e);if(n.details={...e.details},n.details.parameters=n.details.parameters.slice(0,n.details.parameters.length-2),n.details.flags&=-32769,32768&t.flags&&(n.details.flags|=32768),t.parameters.some((e=>0===e.category&&!e.name))&&n.details.parameters.length>0){const e=n.details.parameters[n.details.parameters.length-1];0!==e.category||e.name||n.details.parameters.pop()}return t.parameters.forEach((e=>{n.details.parameters.push({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),n.details.paramSpec=t.paramSpec,n.details.docString||(n.details.docString=t.docString),n},e.cloneRemoveParamSpecVariadics=function(e,n){const i=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return i.details={...e.details},i.details.parameters=i.details.parameters.slice(0,i.details.parameters.length-2),e.specializedTypes&&(i.specializedTypes={...e.specializedTypes},i.specializedTypes.parameterTypes=i.specializedTypes.parameterTypes.slice(0,i.specializedTypes.parameterTypes.length-2),i.specializedTypes.parameterDefaultArgs&&(i.specializedTypes.parameterDefaultArgs=i.specializedTypes.parameterDefaultArgs.slice(0,i.specializedTypes.parameterDefaultArgs.length-2))),i.details.paramSpec||(i.details.paramSpec=n),i},e.addDefaultParameters=function(t,i=!1){n(i).forEach((n=>{e.addParameter(t,n)}))},e.getDefaultParameters=n,e.hasDefaultParameters=function(t){let n=!1,i=!1;for(let s=0;sA.isOverloaded(e)))},u.getImplementation=function(e){return e.overloads.find((e=>!A.isOverloaded(e)))},function(e){const t={category:3,flags:2},n={category:3,flags:1};e.createInstance=function(){return t},e.createType=function(){return n}}(t.NoneType||(t.NoneType={})),function(e){const t={category:4,flags:3,isNoReturn:!1},n={category:4,flags:3,isNoReturn:!0};e.createNever=function(){return t},e.createNoReturn=function(){return n}}(l=t.NeverType||(t.NeverType={})),function(e){const t={category:2,isEllipsis:!1,flags:3},n={category:2,isEllipsis:!0,flags:3};e.create=function(e=!1){return e?n:t}}(c=t.AnyType||(t.AnyType={})),function(e){function t(e,t){return e.typeVarNamet.typeVarName?1:e.constraintIndext.constraintIndex?1:0}e.combine=function(e,n){if(!e)return n;if(!n)return e;const i=[...e];return n.forEach((e=>{i.some((n=>0===t(e,n)))||i.push(e)})),i.sort(t)},e.isSame=function(e,t){return e?!(!t||e.length!==t.length)&&void 0===e.find(((e,n)=>e.typeVarName!==t[n].typeVarName||e.constraintIndex!==t[n].constraintIndex)):!t},e.isCompatible=function(e,t){if(!e||!t)return!0;for(const n of e){let e=!1;const i=t.find((t=>n.typeVarName===t.typeVarName&&(e=!0,n.constraintIndex===t.constraintIndex)));if(e&&!i)return!1}return!0}}(p=t.TypeCondition||(t.TypeCondition={})),function(e){e.create=function(){return{category:9,subtypes:[],flags:3}},e.addType=function(e,t){B(t)&&void 0!==t.literalValue&&void 0===t.condition&&(a.isBuiltIn(t,"str")?(void 0===e.literalStrMap&&(e.literalStrMap=new Map),e.literalStrMap.set(t.literalValue,t)):a.isBuiltIn(t,"int")&&(void 0===e.literalIntMap&&(e.literalIntMap=new Map),e.literalIntMap.set(t.literalValue,t))),e.flags&=t.flags,e.subtypes.push(t)},e.containsType=function(e,t,n=0){if(B(t)&&void 0===t.condition&&void 0!==t.literalValue){if(a.isBuiltIn(t,"str")&&void 0!==e.literalStrMap)return e.literalStrMap.has(t.literalValue);if(a.isBuiltIn(t,"int")&&void 0!==e.literalIntMap)return e.literalIntMap.has(t.literalValue)}return void 0!==e.subtypes.find((e=>w(e,t,{},n)))},e.addTypeAliasSource=function(e,t){if(9===t.category){const n=t.typeAliasInfo?[t]:t.typeAliasSources;n&&(e.typeAliasSources||(e.typeAliasSources=new Set),n.forEach((t=>{e.typeAliasSources.add(t)})))}}}(g=t.UnionType||(t.UnionType={})),function(e){function t(e,t){return`${e}.${t}`}function n(e,t,n){return{category:10,details:{name:e,constraints:[],declaredVariance:2,isParamSpec:t,isVariadic:!1,isSynthesized:!1},flags:n}}e.createInstance=function(e){return n(e,!1,2)},e.createInstantiable=function(e,t=!1){return n(e,t,1)},e.cloneAsInstance=function(e){(0,i.assert)(r.isInstantiable(e));const t=r.cloneTypeAsInstance(e);return t.flags&=-9,t},e.cloneAsInstantiable=function(e){const t=r.cloneTypeAsInstantiable(e);return t.flags&=-9,t},e.cloneForScopeId=function(e,n,i,s){const o=r.cloneType(e);return o.nameWithScope=t(e.details.name,n),o.scopeId=n,o.scopeName=i,o.scopeType=s,o},e.cloneForUnpacked=function(e,t=!1){(0,i.assert)(e.details.isVariadic);const n=r.cloneType(e);return n.isVariadicUnpacked=!0,n.isVariadicInUnion=t,n},e.cloneForPacked=function(e){(0,i.assert)(e.details.isVariadic);const t=r.cloneType(e);return t.isVariadicUnpacked=!1,t.isVariadicInUnion=!1,t},e.cloneAsInvariant=function(e){if(e.details.isParamSpec||e.details.isVariadic)return e;if(0===e.details.declaredVariance)return e;if(2===e.details.declaredVariance&&void 0===e.details.boundType&&0===e.details.constraints.length)return e;const t=r.cloneType(e);return t.details={...t.details},t.details.declaredVariance=2,t.details.boundType=void 0,t.details.constraints=[],t},e.cloneForParamSpecAccess=function(e,t){const n=r.cloneType(e);return n.paramSpecAccess=t,n},e.cloneAsSpecializedSelf=function(e,t){(0,i.assert)(e.details.isSynthesizedSelf);const n=r.cloneType(e);return n.details={...n.details},n.details.boundType=t,n},e.makeNameWithScope=t,e.addConstraint=function(e,t){e.details.constraints.push(t)},e.getNameWithScope=function(e){return e.nameWithScope||e.details.name},e.getReadableName=function(e){return e.scopeName?`${e.details.name}@${e.scopeName}`:e.details.name},e.getVariance=function(e){var t;const n=null!==(t=e.computedVariance)&&void 0!==t?t:e.details.declaredVariance;return(0,i.assert)(0!==n),n}}(t.TypeVarType||(t.TypeVarType={})),t.isNever=h,t.isNoneInstance=C,t.isNoneTypeClass=function(e){return 3===e.category&&r.isInstantiable(e)},t.isAny=function(e){return 2===e.category},t.isUnknown=m,t.isAnyOrUnknown=y,t.isUnbound=f,t.isUnion=I,t.isPossiblyUnbound=function e(t){return!!f(t)||!!I(t)&&void 0!==t.subtypes.find((t=>e(t)))},t.isClass=E,t.isInstantiableClass=T,t.isClassInstance=B,t.isModule=function(e){return 8===e.category},t.isTypeVar=v,t.isVariadicTypeVar=function(e){return 10===e.category&&e.details.isVariadic},t.isUnpackedVariadicTypeVar=Q,t.isUnpackedClass=_,t.isUnpacked=function(e){return Q(e)||_(e)},t.isParamSpec=function(e){return 10===e.category&&e.details.isParamSpec},t.isFunction=function(e){return 5===e.category},t.isOverloadedFunction=function(e){return 6===e.category},t.getTypeAliasInfo=function(e){return e.typeAliasInfo?e.typeAliasInfo:v(e)&&e.details.recursiveTypeAliasName&&e.details.boundType&&e.details.boundType.typeAliasInfo?e.details.boundType.typeAliasInfo:void 0},t.isTypeSame=w,t.removeUnknownFromUnion=function(e){return D(e,(e=>m(e)))},t.removeIncompleteUnknownFromUnion=function(e){return D(e,(e=>m(e)&&e.isIncomplete))},t.removeUnbound=function(e){return I(e)?D(e,(e=>f(e))):f(e)?o.create():e},t.removeNoneFromUnion=function(e){return D(e,(e=>C(e)))},t.removeFromUnion=D,t.findSubtype=S,t.combineTypes=b,t.isSameWithoutLiteralValue=F},9560:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BackgroundAnalysisRunner=t.BackgroundAnalysis=void 0;const i=n(1267),s=n(2374),r=n(4795),o=n(3213),a=n(3584);class A extends r.BackgroundAnalysisBase{constructor(e){super(e);const t={rootDirectory:global.__rootDirectory,cancellationFolderName:(0,o.getCancellationFolderName)(),runner:void 0},n=new i.Worker(__filename,{workerData:t});this.setup(n)}}t.BackgroundAnalysis=A;class l extends r.BackgroundAnalysisRunnerBase{constructor(){super()}createHost(){return new a.FullAccessHost(this.fs)}createImportResolver(e,t,n){return new s.ImportResolver(e,t,n)}}t.BackgroundAnalysisRunner=l},4795:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.BackgroundAnalysisRunnerBase=t.BackgroundAnalysisBase=void 0;const o=n(1267),a=n(1241),A=n(8408),l=n(5055),c=n(3213),p=n(2930),g=n(2211),u=r(n(5839)),d=n(1290),h=n(9241),C=n(7345);t.BackgroundAnalysisBase=class{constructor(e){this.console=e,this._onAnalysisCompletion=a.nullCallback}setup(e){this._worker=e,e.on("message",(e=>this.onMessage(e))),e.on("error",(e=>{this.log(g.LogLevel.Error,`Error occurred on background thread: ${JSON.stringify(e)}`)}))}onMessage(e){switch(e.requestType){case"log":{const t=e.data;this.log(t.level,t.message);break}case"analysisResult":this._onAnalysisCompletion(y(e.data));break;default:u.fail(`${e.requestType} is not expected`)}}setCompletionCallback(e){this._onAnalysisCompletion=null!=e?e:a.nullCallback}setImportResolver(e){this.enqueueRequest({requestType:"setImportResolver",data:e.host.kind})}setConfigOptions(e){this.enqueueRequest({requestType:"setConfigOptions",data:e})}setTrackedFiles(e){this.enqueueRequest({requestType:"setTrackedFiles",data:e})}setAllowedThirdPartyImports(e){this.enqueueRequest({requestType:"setAllowedThirdPartyImports",data:e})}ensurePartialStubPackages(e){this.enqueueRequest({requestType:"ensurePartialStubPackages",data:{executionRoot:e}})}setFileOpened(e,t,n,i){this.enqueueRequest({requestType:"setFileOpened",data:{filePath:e,version:t,contents:n,options:i}})}updateChainedFilePath(e,t){this.enqueueRequest({requestType:"updateChainedFilePath",data:{filePath:e,chainedFilePath:t}})}setFileClosed(e){this.enqueueRequest({requestType:"setFileClosed",data:e})}markAllFilesDirty(e,t){this.enqueueRequest({requestType:"markAllFilesDirty",data:{evenIfContentsAreSame:e,indexingNeeded:t}})}markFilesDirty(e,t,n){this.enqueueRequest({requestType:"markFilesDirty",data:{filePaths:e,evenIfContentsAreSame:t,indexingNeeded:n}})}startAnalysis(e,t){this._startOrResumeAnalysis("analyze",e,t)}_startOrResumeAnalysis(e,t,n){const{port1:i,port2:s}=new o.MessageChannel;i.on("message",(e=>{switch(e.requestType){case"analysisResult":this._onAnalysisCompletion(y(e.data));break;case"analysisPaused":s.close(),i.close(),this._startOrResumeAnalysis("resumeAnalysis",t,n);break;case"indexResult":{const{path:n,indexResults:i}=e.data;null==t||t.setWorkspaceIndex(n,i);break}case"analysisDone":(0,h.disposeCancellationToken)(n),s.close(),i.close();break;default:u.fail(`${e.requestType} is not expected`)}}));const r=(0,h.getCancellationTokenId)(n);this.enqueueRequest({requestType:e,data:r,port:s})}startIndexing(e,t,n,i,s){}refreshIndexing(e,t,n,i){}cancelIndexing(e){}async getDiagnosticsForRange(e,t,n){(0,c.throwIfCancellationRequested)(n);const{port1:i,port2:s}=new o.MessageChannel,r=(0,l.getBackgroundWaiter)(i),a=(0,h.getCancellationTokenId)(n);this.enqueueRequest({requestType:"getDiagnosticsForRange",data:{filePath:e,range:t,cancellationId:a},port:s});const A=await r;return s.close(),i.close(),f(A)}async writeTypeStub(e,t,n,i){(0,c.throwIfCancellationRequested)(i);const{port1:s,port2:r}=new o.MessageChannel,a=(0,l.getBackgroundWaiter)(s),A=(0,h.getCancellationTokenId)(i);this.enqueueRequest({requestType:"writeTypeStub",data:{targetImportPath:e,targetIsSingleFile:t,stubPath:n,cancellationId:A},port:r}),await a,r.close(),s.close()}invalidateAndForceReanalysis(e){this.enqueueRequest({requestType:"invalidateAndForceReanalysis",data:e})}restart(){this.enqueueRequest({requestType:"restart",data:null})}shutdown(){this.enqueueRequest({requestType:"shutdown",data:null})}enqueueRequest(e){this._worker&&this._worker.postMessage(e,e.port?[e.port]:void 0)}log(e,t){(0,g.log)(this.console,e,t)}};class m extends l.BackgroundThreadBase{constructor(e){super(o.workerData),this._extension=e;const t=o.workerData;this.log(g.LogLevel.Info,`Background analysis(${o.threadId}) root directory: ${t.rootDirectory}`),this._configOptions=new p.ConfigOptions(t.rootDirectory),this._host=this.createHost(),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host);const n=this.getConsole();this._logTracker=new C.LogTracker(n,`BG(${o.threadId})`),this._program=new A.Program(this._importResolver,this._configOptions,n,this._extension,this._logTracker)}get program(){return this._program}start(){this.log(g.LogLevel.Info,`Background analysis(${o.threadId}) started`),null===o.parentPort||void 0===o.parentPort||o.parentPort.on("message",(e=>this.onMessage(e))),null===o.parentPort||void 0===o.parentPort||o.parentPort.on("error",(e=>u.fail(`failed ${e}`))),null===o.parentPort||void 0===o.parentPort||o.parentPort.on("exit",(e=>{0!==e&&u.fail(`worker stopped with exit code ${e}`)}))}onMessage(e){switch(this.log(g.LogLevel.Log,`Background analysis message: ${e.requestType}`),e.requestType){case"analyze":{const t=e.port,n=(0,h.getCancellationTokenFromId)(e.data),i=this.program.getFilesToAnalyzeCount();this._onAnalysisCompletion(t,{diagnostics:[],filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:i,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0}),this._analyzeOneChunk(t,n,e);break}case"resumeAnalysis":{const t=e.port,n=(0,h.getCancellationTokenFromId)(e.data);this._analyzeOneChunk(t,n,e);break}case"getDiagnosticsForRange":(0,l.run)((()=>{const{filePath:t,range:n,cancellationId:i}=e.data,s=(0,h.getCancellationTokenFromId)(i);return(0,c.throwIfCancellationRequested)(s),this.program.getDiagnosticsForRange(t,n)}),e.port);break;case"writeTypeStub":(0,l.run)((()=>{const{targetImportPath:t,targetIsSingleFile:n,stubPath:i,cancellationId:s}=e.data,r=(0,h.getCancellationTokenFromId)(s);(0,a.analyzeProgram)(this.program,void 0,this._configOptions,a.nullCallback,this.getConsole(),r),this.program.writeTypeStub(t,n,i,r)}),e.port);break;case"setImportResolver":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this.createHost()),this.program.setImportResolver(this._importResolver);break;case"setConfigOptions":this._configOptions=(0,l.createConfigOptionsFrom)(e.data),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setConfigOptions(this._configOptions),this.program.setImportResolver(this._importResolver);break;case"setTrackedFiles":{const t=this.program.setTrackedFiles(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"setAllowedThirdPartyImports":this.program.setAllowedThirdPartyImports(e.data);break;case"ensurePartialStubPackages":{const{executionRoot:t}=e.data,n=this._configOptions.getExecutionEnvironments().find((e=>e.root===t));n&&this._importResolver.ensurePartialStubPackages(n);break}case"setFileOpened":{const{filePath:t,version:n,contents:i,options:s}=e.data;this.program.setFileOpened(t,n,i,s);break}case"updateChainedFilePath":{const{filePath:t,chainedFilePath:n}=e.data;this.program.updateChainedFilePath(t,n);break}case"setFileClosed":{const t=this.program.setFileClosed(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"markAllFilesDirty":{const{evenIfContentsAreSame:t,indexingNeeded:n}=e.data;this.program.markAllFilesDirty(t,n);break}case"markFilesDirty":{const{filePaths:t,evenIfContentsAreSame:n,indexingNeeded:i}=e.data;this.program.markFilesDirty(t,n,i);break}case"invalidateAndForceReanalysis":this._importResolver.invalidateCache(),this.program.markAllFilesDirty(!0,e.data);break;case"restart":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setImportResolver(this._importResolver);break;case"shutdown":null===o.parentPort||void 0===o.parentPort||o.parentPort.close();break;default:u.fail(`${e.requestType} is not expected`)}}_analyzeOneChunk(e,t,n){(0,a.analyzeProgram)(this.program,{openFilesTimeInMs:50,noOpenFilesTimeInMs:200},this._configOptions,(t=>this._onAnalysisCompletion(e,t)),this.getConsole(),t)?this._analysisPaused(e,n.data):(this.processIndexing(e,t),this.analysisDone(e,n.data))}processIndexing(e,t){}reportIndex(e,t){e.postMessage({requestType:"indexResult",data:t})}_reportDiagnostics(e,t,n){o.parentPort&&this._onAnalysisCompletion(o.parentPort,{diagnostics:e,filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:t,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:n})}_onAnalysisCompletion(e,t){e.postMessage({requestType:"analysisResult",data:t})}_analysisPaused(e,t){e.postMessage({requestType:"analysisPaused",data:t})}analysisDone(e,t){e.postMessage({requestType:"analysisDone",data:t})}}function y(e){return e.diagnostics=e.diagnostics.map((e=>({filePath:e.filePath,version:e.version,diagnostics:f(e.diagnostics)}))),e}function f(e){return e.map((e=>{const t=new d.Diagnostic(e.category,e.message,e.range);if(e._actions)for(const n of e._actions)t.addAction(n);if(e._rule&&t.setRule(e._rule),e._relatedInfo)for(const n of e._relatedInfo)t.addRelatedInfo(n.message,n.filePath,n.range);return t}))}t.BackgroundAnalysisRunnerBase=m},5055:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getBackgroundWaiter=t.run=t.createConfigOptionsFrom=t.BackgroundThreadBase=void 0;const o=n(1267),a=n(3213),A=n(2930),l=n(2211),c=r(n(5839)),p=n(7720),g=n(1447);t.BackgroundThreadBase=class{constructor(e){(0,a.setCancellationFolderName)(e.cancellationFolderName),global.__rootDirectory=e.rootDirectory,this.fs=new g.PyrightFileSystem((0,p.createFromRealFileSystem)(this.getConsole()))}log(e,t){null===o.parentPort||void 0===o.parentPort||o.parentPort.postMessage({requestType:"log",data:{level:e,message:t}})}getConsole(){return{log:e=>{this.log(l.LogLevel.Log,e)},info:e=>{this.log(l.LogLevel.Info,e)},warn:e=>{this.log(l.LogLevel.Warn,e)},error:e=>{this.log(l.LogLevel.Error,e)},level:l.LogLevel.Log}}},t.createConfigOptionsFrom=function(e){const t=new A.ConfigOptions(e.projectRoot),n=e=>({wildcardRoot:e.wildcardRoot,regExp:new RegExp(e.regExp.source)});return t.pythonPath=e.pythonPath,t.typeshedPath=e.typeshedPath,t.stubPath=e.stubPath,t.autoExcludeVenv=e.autoExcludeVenv,t.verboseOutput=e.verboseOutput,t.defineConstant=new Map(e.defineConstant),t.checkOnlyOpenFiles=e.checkOnlyOpenFiles,t.useLibraryCodeForTypes=e.useLibraryCodeForTypes,t.internalTestMode=e.internalTestMode,t.indexGenerationMode=e.indexGenerationMode,t.venvPath=e.venvPath,t.venv=e.venv,t.defaultPythonVersion=e.defaultPythonVersion,t.defaultPythonPlatform=e.defaultPythonPlatform,t.defaultExtraPaths=e.defaultExtraPaths,t.diagnosticRuleSet=e.diagnosticRuleSet,t.executionEnvironments=e.executionEnvironments,t.autoImportCompletions=e.autoImportCompletions,t.indexing=e.indexing,t.logTypeEvaluationTime=e.logTypeEvaluationTime,t.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold,t.include=e.include.map((e=>n(e))),t.exclude=e.exclude.map((e=>n(e))),t.ignore=e.ignore.map((e=>n(e))),t.strict=e.strict.map((e=>n(e))),t},t.run=function(e,t){try{const n=e();t.postMessage({kind:"ok",data:n})}catch(e){if(a.OperationCanceledException.is(e))return void t.postMessage({kind:"cancelled",data:e.message});t.postMessage({kind:"failed",data:`Exception: ${e.message} in ${e.stack}`})}},t.getBackgroundWaiter=function(e){return new Promise(((t,n)=>{e.on("message",(e=>{switch(e.kind){case"ok":t(e.data);break;case"cancelled":n(new a.OperationCanceledException);break;case"failed":n(e.data);break;default:c.fail(`unknown kind ${e.kind}`)}}))}))}},9926:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommandController=void 0;const i=n(7192),s=n(739),r=n(7601),o=n(2719);t.CommandController=class{constructor(e){this._createStub=new s.CreateTypeStubCommand(e),this._restartServer=new o.RestartServerCommand(e),this._quickAction=new r.QuickActionCommand(e)}async execute(e,t){switch(e.command){case"pyright.organizeimports":case"pyright.addoptionalforparam":return this._quickAction.execute(e,t);case"pyright.createtypestub":return this._createStub.execute(e,t);case"pyright.restartserver":return this._restartServer.execute(e);default:return new i.ResponseError(1,"Unsupported command")}}isLongRunningCommand(e){return"pyright.createtypestub"===e}}},2921:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommandResult=void 0;const i=n(1313);(t.CommandResult||(t.CommandResult={})).is=function(e){return e&&void 0!==e.label&&e.edits&&i.WorkspaceEdit.is(e.edits)}},739:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateTypeStubCommand=void 0;const i=n(3213),s=n(31);t.CreateTypeStubCommand=class{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=2){const n=e.arguments[0],r=e.arguments[1],o=e.arguments[2],a=await s.AnalyzerServiceExecutor.cloneService(this._ls,await this._ls.getWorkspaceForFile(null!=o?o:n),r,this._ls.createBackgroundAnalysis());try{await a.writeTypeStubInBackground(t),a.dispose();const e=`Type stub was successfully created for '${r}'.`;this._ls.window.showInformationMessage(e),this._ls.reanalyze()}catch(e){if(i.OperationCanceledException.is(e)){const e=`Type stub creation for '${r}' was canceled`;this._ls.console.error(e)}else{let t="";e instanceof Error&&(t=": "+e.message),t=`An error occurred when creating type stub for '${r}'`+t,this._ls.console.error(t),this._ls.window.showErrorMessage(t)}}}}}},7601:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickActionCommand=void 0;const i=n(743);t.QuickActionCommand=class{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=1){const n=e.arguments[0],s=e.arguments.slice(1),r=this._ls.decodeTextDocumentUri(n),o=await this._ls.getWorkspaceForFile(r);if("pyright.organizeimports"===e.command&&o.disableOrganizeImports)return[];const a=o.serviceInstance.performQuickAction(r,e.command,s,t);return(0,i.convertTextEdits)(n,a)}}}},2719:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RestartServerCommand=void 0,t.RestartServerCommand=class{constructor(e){this._ls=e}async execute(e){this._ls.restart()}}},3213:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultCancellationProvider=t.CancelAfter=t.throwIfCancellationRequested=t.OperationCanceledException=t.setCancellationFolderName=t.getCancellationFolderName=void 0;const i=n(7184),s=n(7192),r=n(2489);let o;t.getCancellationFolderName=function(){return o},t.setCancellationFolderName=function(e){o=e};class a extends s.ResponseError{constructor(){super(s.LSPErrorCodes.RequestCancelled,"request cancelled")}static is(e){return e.code===s.LSPErrorCodes.RequestCancelled}}t.OperationCanceledException=a,t.throwIfCancellationRequested=function(e){if(!(0,r.isDebugMode)()&&e.isCancellationRequested)throw new a},t.CancelAfter=function(...e){const t=new i.CancellationTokenSource,n=[];for(const i of e)n.push(i.onCancellationRequested((e=>{t.cancel()})));return n.push(t.token.onCancellationRequested((e=>{n.forEach((e=>e.dispose()))}))),t},t.DefaultCancellationProvider=class{createCancellationTokenSource(){return new i.CancellationTokenSource}}},9489:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getMapValues=t.addIfUnique=t.createMapFromItems=t.removeArrayElements=t.getOrAdd=t.getNestedProperty=t.flatten=t.binarySearchKey=t.binarySearch=t.every=t.some=t.map=t.stableSort=t.cloneAndSort=t.insertAt=t.addRange=t.find=t.appendArray=t.append=t.contains=t.emptyArray=void 0;const i=n(2489);function s(e,t,n=i.equateValues){if(e)for(const i of e)if(n(i,t))return!0;return!1}function r(e,t){return t<0?e.length+t:t}function o(e,t,n,i){if(void 0===t||0===t.length)return e;if(void 0===e)return t.slice(n,i);n=void 0===n?0:r(t,n),i=void 0===i?t.length:r(t,i);for(let s=n;s0)}function l(e,t,n,i,s){if(!A(e))return-1;let r=s||0,o=e.length-1;for(;r<=o;){const s=r+(o-r>>1);switch(i(n(e[s]),t)){case-1:r=s+1;break;case 0:return s;case 1:o=s-1}}return~r}t.emptyArray=[],t.contains=s,t.append=function(e,t){return void 0===t?e:void 0===e?[t]:(e.push(t),e)},t.appendArray=function(e,t){if(t.length<256)e.push(...t);else for(const n of t)e.push(n)},t.find=function(e,t){for(let n=0;nt;n--)e[n]=e[n-1];e[t]=n}return e},t.cloneAndSort=function(e,t){return 0===e.length?e:e.slice().sort(t)},t.stableSort=function(e,t){const n=function(e){return e.map(a)}(e);return function(e,t,n){t.sort(((t,s)=>n(e[t],e[s])||(0,i.compareValues)(t,s)))}(e,n,t),n.map((t=>e[t]))},t.map=function(e,t){if(e)return e.map(t)},t.some=A,t.every=function(e,t){return!e||e.every(t)},t.binarySearch=function(e,t,n,i,s){return l(e,n(t),n,i,s)},t.binarySearchKey=l,t.flatten=function(e){const t=[];for(const n of e)n&&((0,i.isArray)(n)?o(t,n):t.push(n));return t},t.getNestedProperty=function(e,t){return t.split(".").reduce(((e,t)=>e&&e[t]),e)},t.getOrAdd=function(e,t,n){const i=e.get(t);if(void 0!==i)return i;const s=n();return e.set(t,s),s},t.removeArrayElements=function(e,t){for(let n=0;nt(e))).reduce(((t,n,i)=>(t.set(n,(t.get(n)||[]).concat(e[i])),t)),new Map)},t.addIfUnique=function(e,t,n=i.equateValues){return s(e,t,n)||e.push(t),e},t.getMapValues=function(e,t){const n=[];return e.forEach(((e,i)=>{t(i,e)&&n.push(e)})),n}},1775:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommandLineOptions=t.getDiagnosticSeverityOverrides=void 0,t.getDiagnosticSeverityOverrides=function(){return["error","warning","information","none"]},t.CommandLineOptions=class{constructor(e,t){this.fileSpecs=[],this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.enableAmbientAnalysis=!0,this.analyzeUnannotatedFunctions=!0,this.executionRoot=e,this.fromVsCodeExtension=t}}},2930:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigOptions=t.getStrictDiagnosticRuleSet=t.getBasicDiagnosticRuleSet=t.getOffDiagnosticRuleSet=t.getStrictModeNotOverriddenRules=t.getDiagLevelDiagnosticRules=t.getBooleanDiagnosticRules=t.cloneDiagnosticRuleSet=t.ExecutionEnvironment=t.PythonPlatform=void 0;const o=n(1017),a=n(1887),A=r(n(3188)),l=n(9489),c=n(9744),p=n(6657),g=n(6886);var u;(u=t.PythonPlatform||(t.PythonPlatform={})).Darwin="Darwin",u.Windows="Windows",u.Linux="Linux";class d{constructor(e,t,n,i){this.extraPaths=[],this.root=e||void 0,this.pythonVersion=t||g.latestStablePythonVersion,this.pythonPlatform=n,this.extraPaths=[...null!=i?i:[]]}}function h(e=!1){const t=[c.DiagnosticRule.strictListInference,c.DiagnosticRule.strictSetInference,c.DiagnosticRule.strictDictionaryInference,c.DiagnosticRule.strictParameterNoneValue];return e&&t.push(c.DiagnosticRule.enableTypeIgnoreComments),t}function C(){return[c.DiagnosticRule.reportGeneralTypeIssues,c.DiagnosticRule.reportPropertyTypeMismatch,c.DiagnosticRule.reportFunctionMemberAccess,c.DiagnosticRule.reportMissingImports,c.DiagnosticRule.reportMissingModuleSource,c.DiagnosticRule.reportMissingTypeStubs,c.DiagnosticRule.reportImportCycles,c.DiagnosticRule.reportUnusedImport,c.DiagnosticRule.reportUnusedClass,c.DiagnosticRule.reportUnusedFunction,c.DiagnosticRule.reportUnusedVariable,c.DiagnosticRule.reportDuplicateImport,c.DiagnosticRule.reportWildcardImportFromLibrary,c.DiagnosticRule.reportOptionalSubscript,c.DiagnosticRule.reportOptionalMemberAccess,c.DiagnosticRule.reportOptionalCall,c.DiagnosticRule.reportOptionalIterable,c.DiagnosticRule.reportOptionalContextManager,c.DiagnosticRule.reportOptionalOperand,c.DiagnosticRule.reportTypedDictNotRequiredAccess,c.DiagnosticRule.reportUntypedFunctionDecorator,c.DiagnosticRule.reportUntypedClassDecorator,c.DiagnosticRule.reportUntypedBaseClass,c.DiagnosticRule.reportUntypedNamedTuple,c.DiagnosticRule.reportPrivateUsage,c.DiagnosticRule.reportTypeCommentUsage,c.DiagnosticRule.reportPrivateImportUsage,c.DiagnosticRule.reportConstantRedefinition,c.DiagnosticRule.reportIncompatibleMethodOverride,c.DiagnosticRule.reportIncompatibleVariableOverride,c.DiagnosticRule.reportInconsistentConstructor,c.DiagnosticRule.reportOverlappingOverload,c.DiagnosticRule.reportMissingSuperCall,c.DiagnosticRule.reportUninitializedInstanceVariable,c.DiagnosticRule.reportInvalidStringEscapeSequence,c.DiagnosticRule.reportUnknownParameterType,c.DiagnosticRule.reportUnknownArgumentType,c.DiagnosticRule.reportUnknownLambdaType,c.DiagnosticRule.reportUnknownVariableType,c.DiagnosticRule.reportUnknownMemberType,c.DiagnosticRule.reportMissingParameterType,c.DiagnosticRule.reportMissingTypeArgument,c.DiagnosticRule.reportInvalidTypeVarUse,c.DiagnosticRule.reportCallInDefaultInitializer,c.DiagnosticRule.reportUnnecessaryIsInstance,c.DiagnosticRule.reportUnnecessaryCast,c.DiagnosticRule.reportUnnecessaryComparison,c.DiagnosticRule.reportUnnecessaryContains,c.DiagnosticRule.reportAssertAlwaysTrue,c.DiagnosticRule.reportSelfClsParameterName,c.DiagnosticRule.reportImplicitStringConcatenation,c.DiagnosticRule.reportUndefinedVariable,c.DiagnosticRule.reportUnboundVariable,c.DiagnosticRule.reportInvalidStubStatement,c.DiagnosticRule.reportIncompleteStub,c.DiagnosticRule.reportUnsupportedDunderAll,c.DiagnosticRule.reportUnusedCallResult,c.DiagnosticRule.reportUnusedCoroutine,c.DiagnosticRule.reportUnusedExpression,c.DiagnosticRule.reportUnnecessaryTypeIgnoreComment,c.DiagnosticRule.reportMatchNotExhaustive]}t.ExecutionEnvironment=d,t.cloneDiagnosticRuleSet=function(e){return Object.assign({},e)},t.getBooleanDiagnosticRules=h,t.getDiagLevelDiagnosticRules=C,t.getStrictModeNotOverriddenRules=function(){return[c.DiagnosticRule.reportMissingModuleSource]},t.getOffDiagnosticRuleSet=function(){return{printUnknownAsAny:!0,omitTypeArgsIfAny:!0,omitUnannotatedParamType:!0,omitConditionalConstraint:!0,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"none",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"warning",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"none",reportOptionalSubscript:"none",reportOptionalMemberAccess:"none",reportOptionalCall:"none",reportOptionalIterable:"none",reportOptionalContextManager:"none",reportOptionalOperand:"none",reportTypedDictNotRequiredAccess:"none",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportTypeCommentUsage:"none",reportPrivateImportUsage:"none",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"none",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"none",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportUnnecessaryContains:"none",reportAssertAlwaysTrue:"none",reportSelfClsParameterName:"none",reportImplicitStringConcatenation:"none",reportUnboundVariable:"none",reportUndefinedVariable:"warning",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"none",reportUnusedCallResult:"none",reportUnusedCoroutine:"none",reportUnusedExpression:"none",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none"}},t.getBasicDiagnosticRuleSet=function(){return{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportTypeCommentUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportUnnecessaryContains:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnusedExpression:"warning",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none"}},t.getStrictDiagnosticRuleSet=function(){return{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportTypeCommentUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportUnnecessaryContains:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnusedExpression:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error"}};class m{constructor(e,t){this.include=[],this.exclude=[],this.ignore=[],this.strict=[],this.defineConstant=new Map,this.autoImportCompletions=!0,this.indexing=!1,this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.initializedFromJson=!1,this.analyzeUnannotatedFunctions=!0,this.executionEnvironments=[],this.projectRoot=e,this.typeCheckingMode=t,this.diagnosticRuleSet=m.getDiagnosticRuleSet(t)}static getDiagnosticRuleSet(e){return"strict"===e?{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportTypeCommentUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportUnnecessaryContains:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnusedExpression:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error"}:"off"===e?{printUnknownAsAny:!0,omitTypeArgsIfAny:!0,omitUnannotatedParamType:!0,omitConditionalConstraint:!0,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"none",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"warning",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"none",reportOptionalSubscript:"none",reportOptionalMemberAccess:"none",reportOptionalCall:"none",reportOptionalIterable:"none",reportOptionalContextManager:"none",reportOptionalOperand:"none",reportTypedDictNotRequiredAccess:"none",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportTypeCommentUsage:"none",reportPrivateImportUsage:"none",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"none",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"none",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportUnnecessaryContains:"none",reportAssertAlwaysTrue:"none",reportSelfClsParameterName:"none",reportImplicitStringConcatenation:"none",reportUnboundVariable:"none",reportUndefinedVariable:"warning",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"none",reportUnusedCallResult:"none",reportUnusedCoroutine:"none",reportUnusedExpression:"none",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none"}:{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportTypeCommentUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportUnnecessaryContains:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnusedExpression:"warning",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none"}}getDefaultExecEnvironment(){return new d(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths)}findExecEnvironment(e){var t;return null!==(t=this.executionEnvironments.find((t=>{const n=(0,p.ensureTrailingDirectorySeparator)((0,p.normalizePath)((0,p.combinePaths)(this.projectRoot,t.root)));return e.startsWith(n)})))&&void 0!==t?t:this.getDefaultExecEnvironment()}getExecutionEnvironments(){return this.executionEnvironments.length>0?this.executionEnvironments:[this.getDefaultExecEnvironment()]}initializeFromJson(e,t,n,i,s,r,a=!1){let A;this.initializedFromJson=!0,a||(this.include=[],void 0===e.include)||(Array.isArray(e.include)?e.include.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "include" array should be a string.`):(0,o.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "include" array because it is not relative.`):this.include.push((0,p.getFileSpec)(i,this.projectRoot,e))})):n.error('Config "include" entry must must contain an array.')),this.exclude=[],void 0!==e.exclude&&(Array.isArray(e.exclude)?e.exclude.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "exclude" array should be a string.`):(0,o.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "exclude" array because it is not relative.`):this.exclude.push((0,p.getFileSpec)(i,this.projectRoot,e))})):n.error('Config "exclude" entry must contain an array.')),this.ignore=[],void 0!==e.ignore&&(Array.isArray(e.ignore)?e.ignore.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "ignore" array should be a string.`):(0,o.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "ignore" array because it is not relative.`):this.ignore.push((0,p.getFileSpec)(i,this.projectRoot,e))})):n.error('Config "ignore" entry must contain an array.')),this.strict=[],void 0!==e.strict&&(Array.isArray(e.strict)?e.strict.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "strict" array should be a string.`):(0,o.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "strict" array because it is not relative.`):this.strict.push((0,p.getFileSpec)(i,this.projectRoot,e))})):n.error('Config "strict" entry must contain an array.')),void 0!==e.typeCheckingMode&&("off"===e.typeCheckingMode||"basic"===e.typeCheckingMode||"strict"===e.typeCheckingMode?A=e.typeCheckingMode:n.error('Config "typeCheckingMode" entry must contain "off", "basic", or "strict".')),void 0!==e.useLibraryCodeForTypes&&("boolean"==typeof e.useLibraryCodeForTypes?this.useLibraryCodeForTypes=e.useLibraryCodeForTypes:n.error('Config "useLibraryCodeForTypes" entry must be true or false.')),this.typeCheckingMode=A||t;const l=m.getDiagnosticRuleSet(this.typeCheckingMode);if(this.diagnosticRuleSet={...l},this.applyDiagnosticOverrides(r),h(!0).forEach((t=>{this.diagnosticRuleSet[t]=this._convertBoolean(e[t],t,this.diagnosticRuleSet[t])})),C().forEach((t=>{this.diagnosticRuleSet[t]=this._convertDiagnosticLevel(e[t],t,this.diagnosticRuleSet[t])})),this.venvPath=void 0,void 0!==e.venvPath&&("string"!=typeof e.venvPath?n.error('Config "venvPath" field must contain a string.'):this.venvPath=(0,p.normalizePath)((0,p.combinePaths)(this.projectRoot,e.venvPath))),this.venv=void 0,void 0!==e.venv&&("string"!=typeof e.venv?n.error('Config "venv" field must contain a string.'):this.venv=e.venv),void 0!==e.extraPaths&&(this.defaultExtraPaths=[],Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,t)=>{"string"!=typeof e?n.error(`Config "extraPaths" field ${t} must be a string.`):this.defaultExtraPaths.push((0,p.normalizePath)((0,p.combinePaths)(this.projectRoot,e)))})):n.error('Config "extraPaths" field must contain an array.')),void 0!==e.pythonVersion)if("string"==typeof e.pythonVersion){const t=(0,g.versionFromString)(e.pythonVersion);t?this.defaultPythonVersion=t:n.error('Config "pythonVersion" field contains unsupported version.')}else n.error('Config "pythonVersion" field must contain a string.');this.ensureDefaultPythonVersion(s,n),void 0!==e.pythonPlatform&&("string"!=typeof e.pythonPlatform?n.error('Config "pythonPlatform" field must contain a string.'):this.defaultPythonPlatform=e.pythonPlatform),this.ensureDefaultPythonPlatform(s,n),this.typeshedPath=void 0,void 0!==e.typeshedPath&&("string"!=typeof e.typeshedPath?n.error('Config "typeshedPath" field must contain a string.'):this.typeshedPath=e.typeshedPath?(0,p.normalizePath)((0,p.combinePaths)(this.projectRoot,e.typeshedPath)):""),this.stubPath=void 0,void 0!==e.typingsPath&&("string"!=typeof e.typingsPath?n.error('Config "typingsPath" field must contain a string.'):(n.error('Config "typingsPath" is now deprecated. Please, use stubPath instead.'),this.stubPath=(0,p.normalizePath)((0,p.combinePaths)(this.projectRoot,e.typingsPath)))),void 0!==e.stubPath&&("string"!=typeof e.stubPath?n.error('Config "stubPath" field must contain a string.'):this.stubPath=(0,p.normalizePath)((0,p.combinePaths)(this.projectRoot,e.stubPath))),void 0!==e.verboseOutput&&("boolean"!=typeof e.verboseOutput?n.error('Config "verboseOutput" field must be true or false.'):this.verboseOutput=e.verboseOutput),void 0!==e.defineConstant&&("object"!=typeof e.defineConstant||Array.isArray(e.defineConstant)?n.error('Config "defineConstant" field must contain a map indexed by constant names.'):Object.getOwnPropertyNames(e.defineConstant).forEach((t=>{const i=e.defineConstant[t],s=typeof i;"boolean"!==s&&"string"!==s?n.error(`Defined constant "${t}" must be associated with a boolean or string value.`):this.defineConstant.set(t,i)}))),void 0!==e.useLibraryCodeForTypes&&("boolean"!=typeof e.useLibraryCodeForTypes?n.error('Config "useLibraryCodeForTypes" field must be true or false.'):this.useLibraryCodeForTypes=e.useLibraryCodeForTypes),this.executionEnvironments=[],void 0!==e.executionEnvironments&&(Array.isArray(e.executionEnvironments)?e.executionEnvironments.forEach(((e,t)=>{const i=this._initExecutionEnvironmentFromJson(e,t,n);i&&this.executionEnvironments.push(i)})):n.error('Config "executionEnvironments" field must contain an array.')),void 0!==e.autoImportCompletions&&("boolean"!=typeof e.autoImportCompletions?n.error('Config "autoImportCompletions" field must be true or false.'):this.autoImportCompletions=e.autoImportCompletions),void 0!==e.indexing&&("boolean"!=typeof e.indexing?n.error('Config "indexing" field must be true or false.'):this.indexing=e.indexing),void 0!==e.logTypeEvaluationTime&&("boolean"!=typeof e.logTypeEvaluationTime?n.error('Config "logTypeEvaluationTime" field must be true or false.'):this.logTypeEvaluationTime=e.logTypeEvaluationTime),void 0!==e.typeEvaluationTimeThreshold&&("number"!=typeof e.typeEvaluationTimeThreshold?n.error('Config "typeEvaluationTimeThreshold" field must be a number.'):this.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold)}ensureDefaultPythonPlatform(e,t){void 0===this.defaultPythonPlatform&&(this.defaultPythonPlatform=e.getPythonPlatform(),void 0!==this.defaultPythonPlatform&&t.info(`Assuming Python platform ${this.defaultPythonPlatform}`))}ensureDefaultPythonVersion(e,t){if(void 0!==this.defaultPythonVersion)return;const n=[];this.defaultPythonVersion=e.getPythonVersion(this.pythonPath,n),void 0!==this.defaultPythonVersion&&t.info(`Assuming Python version ${(0,g.versionToString)(this.defaultPythonVersion)}`);for(const e of n)t.info(e)}ensureDefaultExtraPaths(e,t,n){const i=[];if(t){const t=(0,p.resolvePaths)(this.projectRoot,A.src);e.existsSync(t)&&!e.existsSync((0,p.resolvePaths)(t,"__init__.py"))&&i.push(t)}if(n&&n.length>0)for(const t of n){const n=(0,p.resolvePaths)(this.projectRoot,t);i.push(n),(0,p.isDirectory)(e,n)&&(0,l.appendArray)(i,(0,a.getPathsFromPthFiles)(e,n))}i.length>0&&(this.defaultExtraPaths=i)}applyDiagnosticOverrides(e){if(e)for(const t of C()){const n=e[t];void 0!==n&&(this.diagnosticRuleSet[t]=n)}}_convertBoolean(e,t,n){return void 0===e?n:"boolean"==typeof e?!!e:(console.log(`Config "${t}" entry must be true or false.`),n)}_convertDiagnosticLevel(e,t,n){return void 0===e?n:"boolean"==typeof e?e?"error":"none":"string"!=typeof e||"error"!==e&&"warning"!==e&&"information"!==e&&"none"!==e?(console.log(`Config "${t}" entry must be true, false, "error", "warning", "information" or "none".`),n):e}_initExecutionEnvironmentFromJson(e,t,n){try{const i=new d(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths);if(e.root&&"string"==typeof e.root?i.root=(0,p.normalizePath)((0,p.combinePaths)(this.projectRoot,e.root)):n.error(`Config executionEnvironments index ${t}: missing root value.`),e.extraPaths&&(Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,s)=>{"string"!=typeof e?n.error(`Config executionEnvironments index ${t}: extraPaths field ${s} must be a string.`):i.extraPaths.push((0,p.normalizePath)((0,p.combinePaths)(this.projectRoot,e)))})):n.error(`Config executionEnvironments index ${t}: extraPaths field must contain an array.`)),e.pythonVersion)if("string"==typeof e.pythonVersion){const s=(0,g.versionFromString)(e.pythonVersion);s?i.pythonVersion=s:n.warn(`Config executionEnvironments index ${t} contains unsupported pythonVersion.`)}else n.error(`Config executionEnvironments index ${t} pythonVersion must be a string.`);return e.pythonPlatform&&("string"==typeof e.pythonPlatform?i.pythonPlatform=e.pythonPlatform:n.error(`Config executionEnvironments index ${t} pythonPlatform must be a string.`)),i}catch{n.error(`Config executionEnvironments index ${t} is not accessible.`)}}}t.ConfigOptions=m},2211:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.log=t.ConsoleWithLogLevel=t.StderrConsoleWithLevel=t.StderrConsole=t.StandardConsoleWithLevel=t.StandardConsole=t.NullConsole=t.LogLevel=void 0;const o=r(n(5839));var a;!function(e){e.Error="error",e.Warn="warn",e.Info="info",e.Log="log"}(a=t.LogLevel||(t.LogLevel={})),t.NullConsole=class{constructor(){this.logCount=0,this.infoCount=0,this.warnCount=0,this.errorCount=0}log(e){this.logCount++}info(e){this.infoCount++}warn(e){this.warnCount++}error(e){this.errorCount++}};class A{log(e){console.info(e)}info(e){console.info(e)}warn(e){console.warn(e)}error(e){console.error(e)}}t.StandardConsole=A,t.StandardConsoleWithLevel=class extends A{constructor(e=a.Log){super(),this._maxLevel=e}get level(){return this._maxLevel}};class l{log(e){console.error(e)}info(e){console.error(e)}warn(e){console.error(e)}error(e){console.error(e)}}function c(e,t,n){switch(t){case a.Log:e.log(n);break;case a.Info:e.info(n);break;case a.Warn:e.warn(n);break;case a.Error:e.error(n);break;default:o.fail(`${t} is not expected`)}}t.StderrConsole=l,t.StderrConsoleWithLevel=class extends l{constructor(e=a.Log){super(),this._maxLevel=e}get level(){return this._maxLevel}},t.ConsoleWithLogLevel=class{constructor(e,t=""){this._console=e,this._name=t,this._levelMap=new Map([[a.Error,0],[a.Warn,1],[a.Info,2],[a.Log,3]]),this._maxLevel=2}get level(){switch(this._maxLevel){case 0:return a.Error;case 1:return a.Warn;case 2:return a.Info}return a.Log}set level(e){let t=this._levelMap.get(e);void 0===t&&(t=this._levelMap.get(a.Info)),this._maxLevel=t}error(e){this._log(a.Error,`${this._prefix}${e}`)}warn(e){this._log(a.Warn,`${this._prefix}${e}`)}info(e){this._log(a.Info,`${this._prefix}${e}`)}log(e){this._log(a.Log,`${this._prefix}${e}`)}get _prefix(){return this._name?`(${this._name}) `:""}_log(e,t){this._getNumericalLevel(e)>this._maxLevel||c(this._console,e,t)}_getNumericalLevel(e){const t=this._levelMap.get(e);return o.assert(void 0!==t,"Logger: unknown log level."),void 0!==t?t:2}},t.log=c},2489:(e,t)=>{"use strict";function n(e,t){return e===t?0:void 0===e?-1:void 0===t?1:e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.randomBytesHex=void 0;const i=n(5839);let s;try{s=n(6113),(null==s?void 0:s.randomBytes)||(s=void 0)}catch{}t.randomBytesHex=function(e){if(s)return s.randomBytes(e).toString("hex");if(crypto){return t=crypto.getRandomValues(new Uint8Array(e)),[...t].map((e=>e.toString(16).padStart(2,"0"))).join("")}var t;(0,i.fail)("crypto library not found")}},5839:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSerializableError=t.getErrorString=t.formatEnum=t.getFunctionName=t.assertNever=t.assertEachDefined=t.assertDefined=t.fail=t.assert=void 0;const i=n(9489),s=n(2489);function r(e,t){const n=new Error(e?`Debug Failure. ${e}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(n,t||r),n}function o(e,t,n){null==e&&r(t,n||o)}t.assert=function e(t,n,i,s){t||(i&&(n+="\r\nVerbose Debug Information: "+("string"==typeof i?i:i())),r(n?"False expression: "+n:"False expression.",s||e))},t.fail=r,t.assertDefined=o,t.assertEachDefined=function e(t,n,i){for(const s of t)o(s,n,i||e)},t.assertNever=function e(t,n="Illegal value:",i){r(`${n} ${JSON.stringify(t)}`,i||e)},t.getFunctionName=function(e){if("function"!=typeof e)return"";if((0,s.hasProperty)(e,"name"))return e.name;{const t=Function.prototype.toString.call(e),n=/^function\s+([\w$]+)\s*\(/.exec(t);return n?n[1]:""}},t.formatEnum=function(e=0,t,n){const r=function(e){const t=[];for(const n of Object.keys(e)){const i=e[n];"number"==typeof i&&t.push([i,n])}return(0,i.stableSort)(t,((e,t)=>(0,s.compareValues)(e[0],t[0])))}(t);if(0===e)return r.length>0&&0===r[0][0]?r[0][1]:"0";if(n){let t="",n=e;for(const[i,s]of r){if(i>e)break;0!==i&&i&e&&(t=`${t}${t?"|":""}${s}`,n&=~i)}if(0===n)return t}else for(const[t,n]of r)if(t===e)return n;return e.toString()},t.getErrorString=function(e){return(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e)},t.getSerializableError=function(e){if(e)return JSON.stringify(e).length>2?e:{name:e.name&&(0,s.isString)(e.name)?e.name:"noname",message:e.message&&(0,s.isString)(e.message)?e.message:"nomessage",stack:e.stack&&(0,s.isString)(e.stack)?e.stack:void 0}}},8304:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createDeferredFromPromise=t.createDeferredFrom=t.createDeferred=void 0;class n{constructor(e=null){this._scope=e,this._resolved=!1,this._rejected=!1,this._promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(e){this._resolve.apply(this._scope?this._scope:this,arguments),this._resolved=!0}reject(e){this._reject.apply(this._scope?this._scope:this,arguments),this._rejected=!0}get promise(){return this._promise}get resolved(){return this._resolved}get rejected(){return this._rejected}get completed(){return this._rejected||this._resolved}}function i(e=null){return new n(e)}t.createDeferred=i,t.createDeferredFrom=function(...e){const t=i();return Promise.all(e).then(t.resolve.bind(t)).catch(t.reject.bind(t)),t},t.createDeferredFromPromise=function(e){const t=i();return e.then(t.resolve.bind(t)).catch(t.reject.bind(t)),t}},1290:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DiagnosticAddendum=t.Diagnostic=t.convertLevelToCategory=void 0;const i=n(9489);t.convertLevelToCategory=function(e){switch(e){case"error":return 0;case"warning":return 1;case"information":return 2;default:throw new Error(`${e} is not expected`)}},t.Diagnostic=class{constructor(e,t,n){this.category=e,this.message=t,this.range=n,this._relatedInfo=[]}addAction(e){void 0===this._actions?this._actions=[e]:this._actions.push(e)}getActions(){return this._actions}setRule(e){this._rule=e}getRule(){return this._rule}addRelatedInfo(e,t,n){this._relatedInfo.push({filePath:t,message:e,range:n})}getRelatedInfo(){return this._relatedInfo}};class s{constructor(){this._messages=[],this._childAddenda=[]}addMessage(e){this._messages.push(e)}createAddendum(){const e=new s;return this.addAddendum(e),e}getString(e=5,t=8){let n=this._getLinesRecursive(e,t);n.length>t&&(n=n.slice(0,t),n.push(" ..."));const i=n.join("\n");return i.length>0?"\n"+i:""}isEmpty(){return 0===this._getMessageCount()}addAddendum(e){this._childAddenda.push(e)}getChildren(){return this._childAddenda}getMessages(){return this._messages}_getMessageCount(e=0){if(e>64)return 0;let t=this._messages.length;for(const n of this._childAddenda)t+=n._getMessageCount(e+1);return t}_getLinesRecursive(e,t,n=0){if(e<=0||n>64)return[];let s=[];for(const r of this._childAddenda){const o=this._messages.length>0?e-1:e;if((0,i.appendArray)(s,r._getLinesRecursive(o,t,n+1)),s.length>=t){s=s.slice(0,t);break}}const r=this._messages.length>0?"  ":"";return this._messages.concat(s).map((e=>r+e))}}t.DiagnosticAddendum=s},9744:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.DiagnosticRule=void 0,(n=t.DiagnosticRule||(t.DiagnosticRule={})).strictListInference="strictListInference",n.strictSetInference="strictSetInference",n.strictDictionaryInference="strictDictionaryInference",n.strictParameterNoneValue="strictParameterNoneValue",n.enableTypeIgnoreComments="enableTypeIgnoreComments",n.reportGeneralTypeIssues="reportGeneralTypeIssues",n.reportPropertyTypeMismatch="reportPropertyTypeMismatch",n.reportFunctionMemberAccess="reportFunctionMemberAccess",n.reportMissingImports="reportMissingImports",n.reportMissingModuleSource="reportMissingModuleSource",n.reportMissingTypeStubs="reportMissingTypeStubs",n.reportImportCycles="reportImportCycles",n.reportUnusedImport="reportUnusedImport",n.reportUnusedClass="reportUnusedClass",n.reportUnusedFunction="reportUnusedFunction",n.reportUnusedVariable="reportUnusedVariable",n.reportDuplicateImport="reportDuplicateImport",n.reportWildcardImportFromLibrary="reportWildcardImportFromLibrary",n.reportOptionalSubscript="reportOptionalSubscript",n.reportOptionalMemberAccess="reportOptionalMemberAccess",n.reportOptionalCall="reportOptionalCall",n.reportOptionalIterable="reportOptionalIterable",n.reportOptionalContextManager="reportOptionalContextManager",n.reportOptionalOperand="reportOptionalOperand",n.reportTypedDictNotRequiredAccess="reportTypedDictNotRequiredAccess",n.reportUntypedFunctionDecorator="reportUntypedFunctionDecorator",n.reportUntypedClassDecorator="reportUntypedClassDecorator",n.reportUntypedBaseClass="reportUntypedBaseClass",n.reportUntypedNamedTuple="reportUntypedNamedTuple",n.reportPrivateUsage="reportPrivateUsage",n.reportTypeCommentUsage="reportTypeCommentUsage",n.reportPrivateImportUsage="reportPrivateImportUsage",n.reportConstantRedefinition="reportConstantRedefinition",n.reportIncompatibleMethodOverride="reportIncompatibleMethodOverride",n.reportIncompatibleVariableOverride="reportIncompatibleVariableOverride",n.reportInconsistentConstructor="reportInconsistentConstructor",n.reportOverlappingOverload="reportOverlappingOverload",n.reportMissingSuperCall="reportMissingSuperCall",n.reportUninitializedInstanceVariable="reportUninitializedInstanceVariable",n.reportInvalidStringEscapeSequence="reportInvalidStringEscapeSequence",n.reportUnknownParameterType="reportUnknownParameterType",n.reportUnknownArgumentType="reportUnknownArgumentType",n.reportUnknownLambdaType="reportUnknownLambdaType",n.reportUnknownVariableType="reportUnknownVariableType",n.reportUnknownMemberType="reportUnknownMemberType",n.reportMissingParameterType="reportMissingParameterType",n.reportMissingTypeArgument="reportMissingTypeArgument",n.reportInvalidTypeVarUse="reportInvalidTypeVarUse",n.reportCallInDefaultInitializer="reportCallInDefaultInitializer",n.reportUnnecessaryIsInstance="reportUnnecessaryIsInstance",n.reportUnnecessaryCast="reportUnnecessaryCast",n.reportUnnecessaryComparison="reportUnnecessaryComparison",n.reportUnnecessaryContains="reportUnnecessaryContains",n.reportAssertAlwaysTrue="reportAssertAlwaysTrue",n.reportSelfClsParameterName="reportSelfClsParameterName",n.reportImplicitStringConcatenation="reportImplicitStringConcatenation",n.reportUndefinedVariable="reportUndefinedVariable",n.reportUnboundVariable="reportUnboundVariable",n.reportInvalidStubStatement="reportInvalidStubStatement",n.reportIncompleteStub="reportIncompleteStub",n.reportUnsupportedDunderAll="reportUnsupportedDunderAll",n.reportUnusedCallResult="reportUnusedCallResult",n.reportUnusedCoroutine="reportUnusedCoroutine",n.reportUnusedExpression="reportUnusedExpression",n.reportUnnecessaryTypeIgnoreComment="reportUnnecessaryTypeIgnoreComment",n.reportMatchNotExhaustive="reportMatchNotExhaustive"},3980:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TextRangeDiagnosticSink=t.DiagnosticSink=void 0;const i=n(9489),s=n(1290),r=n(1464),o=n(7559);class a{constructor(e){this._diagnosticList=e||[],this._diagnosticMap=new Map}fetchAndClear(){const e=this._diagnosticList;return this._diagnosticList=[],this._diagnosticMap.clear(),e}addError(e,t){return this.addDiagnostic(new s.Diagnostic(0,e,t))}addWarning(e,t){return this.addDiagnostic(new s.Diagnostic(1,e,t))}addInformation(e,t){return this.addDiagnostic(new s.Diagnostic(2,e,t))}addUnusedCode(e,t,n){const i=new s.Diagnostic(3,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addUnreachableCode(e,t,n){const i=new s.Diagnostic(4,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDeprecated(e,t,n){const i=new s.Diagnostic(5,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDiagnostic(e){const t=`${e.range.start.line},${e.range.start.character}-${e.range.end.line}-${e.range.end.character}:${(0,o.hashString)(e.message)}}`;return this._diagnosticMap.has(t)||(this._diagnosticList.push(e),this._diagnosticMap.set(t,e)),e}addDiagnostics(e){(0,i.appendArray)(this._diagnosticList,e)}getErrors(){return this._diagnosticList.filter((e=>0===e.category))}getWarnings(){return this._diagnosticList.filter((e=>1===e.category))}getInformation(){return this._diagnosticList.filter((e=>2===e.category))}getUnusedCode(){return this._diagnosticList.filter((e=>3===e.category))}getUnreachableCode(){return this._diagnosticList.filter((e=>4===e.category))}getDeprecated(){return this._diagnosticList.filter((e=>5===e.category))}}t.DiagnosticSink=a,t.TextRangeDiagnosticSink=class extends a{constructor(e,t){super(t),this._lines=e}addDiagnosticWithTextRange(e,t,n){const i=(0,r.convertOffsetsToRange)(n.start,n.start+n.length,this._lines);switch(e){case"error":return this.addError(t,i);case"warning":return this.addWarning(t,i);case"information":return this.addInformation(t,i);default:throw new Error(`${e} is not expected value`)}}addUnusedCodeWithTextRange(e,t,n){return this.addUnusedCode(e,(0,r.convertOffsetsToRange)(t.start,t.start+t.length,this._lines),n)}addUnreachableCodeWithTextRange(e,t,n){return this.addUnreachableCode(e,(0,r.convertOffsetsToRange)(t.start,t.start+t.length,this._lines),n)}addDeprecatedWithTextRange(e,t,n){return this.addDeprecated(e,(0,r.convertOffsetsToRange)(t.start,t.start+t.length,this._lines),n)}}},6755:()=>{"use strict";Promise.prototype.ignoreErrors=function(){this.catch((()=>{}))}},9241:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.FileBasedCancellationProvider=t.getCancellationTokenId=t.getCancellationTokenFromId=t.disposeCancellationToken=t.getCancellationStrategyFromArgv=void 0;const o=r(n(7147)),a=r(n(2037)),A=r(n(1017)),l=n(7184),c=n(7192),p=n(3213);class g{static shouldCheck(){const e=Date.now().valueOf();return e-this._lastCheckTimestamp>=5&&(this._lastCheckTimestamp=e,!0)}}g._lastCheckTimestamp=0;class u{constructor(e){this.cancellationFilePath=e,this.isCancelled=!1}cancel(){this.isCancelled||(this.isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this._disposeEmitter()))}get isCancellationRequested(){return!!this.isCancelled||(g.shouldCheck()&&this._pipeExists()&&this.cancel(),this.isCancelled)}get onCancellationRequested(){return this._emitter||(this._emitter=new c.Emitter),this._emitter.event}dispose(){this._disposeEmitter()}_disposeEmitter(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}_pipeExists(){try{return o.statSync(this.cancellationFilePath),!0}catch(e){return!1}}}class d extends u{constructor(e){super(e),this._disposed=!1}cancel(){this._disposed||this.isCancelled||(this._createPipe(),super.cancel())}get isCancellationRequested(){return this.isCancelled}dispose(){this._disposed=!0,super.dispose(),this._removePipe()}_createPipe(){try{o.writeFileSync(this.cancellationFilePath,"",{flag:"w"})}catch{}}_removePipe(){try{o.unlinkSync(this.cancellationFilePath)}catch{}}}class h{constructor(e,t=!1){this._cancellationFilePath=e,this._ownFile=t}get token(){return this._token||(this._token=this._ownFile?new d(this._cancellationFilePath):new u(this._cancellationFilePath)),this._token}cancel(){this._token?this._token.cancel():this._token=c.CancellationToken.Cancelled}dispose(){this._token?this._token instanceof u&&this._token.dispose():this._token=c.CancellationToken.None}}function C(e,t){return A.join(function(e){return A.join(a.tmpdir(),"python-languageserver-cancellation",e)}(e),`cancellation-${String(t)}.tmp`)}class m{constructor(e){this.folderName=e}createCancellationTokenSource(e){return new h(C(this.folderName,e))}}t.getCancellationStrategyFromArgv=function(e){let t;for(let i=0;i{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VirtualDirent=t.nullFileWatcherProvider=t.nullFileWatcherHandler=t.ignoredWatchEventFunction=void 0,t.ignoredWatchEventFunction=function(e){const t=e.map((e=>e.toLowerCase()));return e=>{if(!e||e.indexOf("__pycache__")>=0)return!0;const n=e.toLowerCase();return t.every((e=>n.indexOf(e)<0))}};const n={close(){}};t.nullFileWatcherHandler={onFileChange(e,t){}},t.nullFileWatcherProvider={createFileWatcher:(e,t)=>n},t.VirtualDirent=class{constructor(e,t){this.name=e,this._file=t}isFile(){return this._file}isDirectory(){return!this._file}isBlockDevice(){return!1}isCharacterDevice(){return!1}isSymbolicLink(){return!1}isFIFO(){return!1}isSocket(){return!1}}},3584:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.FullAccessHost=t.LimitedAccessHost=void 0;const o=r(n(2081)),a=n(2930),A=n(5839),l=n(8442),c=n(6657),p=n(6886),g=["import os, os.path, sys","normalize = lambda p: os.path.normcase(os.path.normpath(p))","cwd = normalize(os.getcwd())",'orig_sys_path = [p for p in sys.path if p != ""]','sys.path[:] = [p for p in sys.path if p != "" and normalize(p) != cwd]'],u=[...g,"import sys, json","json.dump(dict(path=orig_sys_path, prefix=sys.prefix), sys.stdout)"].join("; "),d=[...g,"import sys, json","json.dump(dict(major=sys.version_info[0], minor=sys.version_info[1]), sys.stdout)"].join("; ");class h extends l.NoAccessHost{get kind(){return 1}getPythonPlatform(e){return"darwin"===process.platform?a.PythonPlatform.Darwin:"linux"===process.platform?a.PythonPlatform.Linux:"win32"===process.platform?a.PythonPlatform.Windows:void 0}}t.LimitedAccessHost=h;class C extends h{constructor(e){super(),this._fs=e}static createHost(e,t){switch(e){case 2:return new l.NoAccessHost;case 1:return new h;case 0:return new C(t);default:(0,A.assertNever)(e)}}get kind(){return 0}getPythonSearchPaths(e,t){const n=null!=t?t:[];let i=this._executePythonInterpreter(e,(e=>this._getSearchPathResultFromInterpreter(this._fs,e,n)));return i||(i={paths:[],prefix:""}),n.push(`Received ${i.paths.length} paths from interpreter`),i.paths.forEach((e=>{n.push(` ${e}`)})),i}getPythonVersion(e,t){const n=null!=t?t:[];try{const t=["-c",d],i=this._executePythonInterpreter(e,(e=>o.execFileSync(e,t,{encoding:"utf8"}))),s=JSON.parse(i),r=(0,p.versionFromMajorMinor)(s.major,s.minor);return void 0===r?void n.push(`Python version ${s.major}.${s.minor} from interpreter is unsupported`):r}catch{return void n.push("Unable to get Python version from interpreter")}}_executePythonInterpreter(e,t){if(e)return t(e);{let e;try{"win32"!==process.platform&&(e=t("python3"))}catch{}return void 0!==e?e:t("python")}}_getSearchPathResultFromInterpreter(e,t,n){const i={paths:[],prefix:""};try{const s=["-c",u];n.push(`Executing interpreter: '${t}'`);const r=o.execFileSync(t,s,{encoding:"utf8"});try{const t=JSON.parse(r);for(let s of t.path)if(s=s.trim(),s){const t=(0,c.normalizePath)(s);e.existsSync(t)&&(0,c.isDirectory)(e,t)?i.paths.push(t):n.push(`Skipping '${t}' because it is not a valid directory`)}i.prefix=t.prefix,0===i.paths.length&&n.push("Found no valid directories")}catch(e){throw n.push(`Could not parse output: '${r}'`),e}}catch{return}return i}}t.FullAccessHost=C},8442:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NoAccessHost=void 0,t.NoAccessHost=class{get kind(){return 2}getPythonSearchPaths(e,t){return null==t||t.push("No access to python executable."),{paths:[],prefix:""}}getPythonVersion(e,t){}getPythonPlatform(e){}}},7345:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LogTracker=void 0;const i=n(2211),s=n(8718);t.LogTracker=class{constructor(e,t){this._console=e,this._prefix=t,this._dummyState=new r,this._indentation="",this._previousTitles=[]}log(e,t,n=-1,s=!1){if(void 0===this._console)return t(this._dummyState);const o=this._console.level;if(void 0===o||o!==i.LogLevel.Log&&o!==i.LogLevel.Info)return t(this._dummyState);const a=this._indentation;this._previousTitles.push(`${a}${e} ...`),this._indentation+=" ";const A=new r;try{return t(A)}finally{const t=A.duration;if(this._indentation=a,this._previousTitles.length>0&&(A.isSuppressed()||t<=n))this._previousTitles.pop();else{this._printPreviousTitles();let n=`[${this._prefix}] ${this._indentation}${e}${A.get()} (${t}ms)`;s&&A.fileReadTotal+A.tokenizeTotal+A.parsingTotal+A.resolveImportsTotal+A.bindingTotal>0&&(n+=` [f:${A.fileReadTotal}, t:${A.tokenizeTotal}, p:${A.parsingTotal}, i:${A.resolveImportsTotal}, b:${A.bindingTotal}]`),this._console.log(n),t>=2e3&&this._console.info(`[${this._prefix}] Long operation: ${e} (${t}ms)`)}}}_printPreviousTitles(){if(this._previousTitles.pop(),!(this._previousTitles.length<=0)){for(const e of this._previousTitles)this._console.log(`[${this._prefix}] ${e}`);this._previousTitles.length=0}}};class r{constructor(){this._start=new s.Duration,this._startFile=s.timingStats.readFileTime.totalTime,this._startToken=s.timingStats.tokenizeFileTime.totalTime,this._startParse=s.timingStats.parseFileTime.totalTime,this._startImport=s.timingStats.resolveImportsTime.totalTime,this._startBind=s.timingStats.bindTime.totalTime}get duration(){return this._start.getDurationInMilliseconds()}get fileReadTotal(){return s.timingStats.readFileTime.totalTime-this._startFile}get tokenizeTotal(){return s.timingStats.tokenizeFileTime.totalTime-this._startToken}get parsingTotal(){return s.timingStats.parseFileTime.totalTime-this._startParse}get resolveImportsTotal(){return s.timingStats.resolveImportsTime.totalTime-this._startImport}get bindingTotal(){return s.timingStats.bindTime.totalTime-this._startBind}add(e){e&&(this._addendum=e)}get(){return this._addendum?` [${this._addendum}]`:""}suppress(){this._suppress=!0}isSuppressed(){return!!this._suppress}}},1049:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fromLSPAny=t.toLSPAny=void 0,t.toLSPAny=function(e){return e},t.fromLSPAny=function(e){return e}},3188:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.stubsSuffix=t.src=t.distPackages=t.sitePackages=t.lib64=t.libAlternate=t.lib=t.typeshedFallback=void 0,t.typeshedFallback="typeshed-fallback",t.lib="lib",t.libAlternate="Lib",t.lib64="lib64",t.sitePackages="site-packages",t.distPackages="dist-packages",t.src="src",t.stubsSuffix="-stubs"},6657:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.isFileSystemCaseSensitiveInternal=t.isFileSystemCaseSensitive=t.normalizePathCase=t.convertPathToUri=t.extractPathFromUri=t.convertUriToPath=t.isDiskPathRoot=t.isRootedDiskPath=t.getRegexEscapedSeparator=t.getFileSpec=t.hasPythonExtension=t.getWildcardRoot=t.getWildcardRegexPattern=t.getFileSystemEntriesFromDirEntries=t.getFileSystemEntries=t.tryRealpath=t.tryStat=t.isFile=t.isDirectory=t.normalizePath=t.stripFileExtension=t.getFileName=t.getFileExtension=t.stripTrailingDirectorySeparator=t.hasTrailingDirectorySeparator=t.ensureTrailingDirectorySeparator=t.comparePathsCaseInsensitive=t.comparePathsCaseSensitive=t.getRelativePathComponentsFromDirectory=t.getRelativePathFromDirectory=t.getBaseFileName=t.getAnyExtensionFromPath=t.changeAnyExtension=t.containsPath=t.comparePaths=t.combinePaths=t.resolvePaths=t.normalizeSlashes=t.directoryExists=t.fileExists=t.getFileSize=t.makeDirectories=t.getRelativePath=t.combinePathComponents=t.reducePathComponents=t.getPathComponents=t.getRootLength=t.getDirectoryPath=t.forEachAncestorDirectory=t.FileSpec=void 0,t.deduplicateFolders=t.getDirectoryChangeKind=t.getLibraryPathWithoutExtension=void 0;const o=r(n(1017)),a=n(761),A=n(9489),l=n(2489),c=n(8916),p=r(n(5839)),g=n(7559);let u;function d(e){return e.substr(0,Math.max(h(e),e.lastIndexOf(o.sep)))}function h(e){if(e.charAt(0)===o.sep){if(e.charAt(1)!==o.sep)return 1;const t=e.indexOf(o.sep,2);if(t<0)return 2;const n=e.indexOf(o.sep,t+1);return n<0?t+1:n+1}return":"===e.charAt(1)&&e.charAt(2)===o.sep?3:0}function C(e){const t=f(e),n=h(t),i=t.substring(0,n),s=t.substring(n).split(o.sep);return s.length>0&&!s[s.length-1]&&s.pop(),m([i,...s])}function m(e){if(!(0,A.some)(e))return[];const t=[e[0]];for(let n=1;n1){if(".."!==t[t.length-1]){t.pop();continue}}else if(t[0])continue;t.push(i)}}return t}function y(e){return 0===e.length?"":f((e[0]&&v(e[0]))+e.slice(1).join(o.sep))}function f(e,t=o.sep){if(e.includes((e=>"/"===e?"\\":"/")(t))){const n=/[\\/]/g;return e.replace(n,t)}return e}function I(e,...t){e&&(e=f(e));for(let n of t)n&&(n=f(n),e=e&&0===h(n)?v(e)+n:n);return e}function E(e,t,n){if(t)return function(e,t,n){if("string"==typeof t)return L(e,t,n)||"";for(const i of t){const t=L(e,i,n);if(t)return t}return""}(_(e),t,n?g.equateStringsCaseInsensitive:g.equateStringsCaseSensitive);const i=T(e),s=i.lastIndexOf(".");return s>=0?i.substring(s):""}function T(e,t,n){if(h(e=f(e))===e.length)return"";const i=(e=_(e)).slice(Math.max(h(e),e.lastIndexOf(o.sep)+1)),s=void 0!==t&&void 0!==n?E(i,t,n):void 0;return s?i.slice(0,i.length-s.length):i}function B(e,t,n){p.assert(h(e)>0==h(t)>0,"Paths must either both be absolute or both be relative");const i="function"==typeof n?n:l.identity,s=function(e,t,n,i){const s=C(e),r=C(t);let o;for(o=0;oe.namet.name?1:0)),s=[],r=[];for(const e of i)if("."!==e.name&&".."!==e.name)if(e.isFile())s.push(e.name);else if(e.isDirectory())r.push(e.name);else if(e.isSymbolicLink()){const i=F(t,I(n,e.name));(null==i?void 0:i.isFile())?s.push(e.name):(null==i?void 0:i.isDirectory())&&r.push(e.name)}return{files:s,directories:r}}function N(e,t){let n=b(I(e,t));x(n)||(n=v(n));const i=C(n),s=R(),r=`(${s}[^${s}.][^${s}]*)*?`,o=new RegExp(`[^\\w\\s${s}]`,"g");i.length>0&&(i[0]=_(i[0]));let a="",A=!0;for(let e of i)"**"===e?a+=r:(A||(e=s+e),a+=e.replace(o,(e=>"*"===e?`[^${s}]*`:"?"===e?`[^${s}]`:"\\"+e)),A=!1);return a}function P(e,t){let n=b(I(e,t));x(n)||(n=v(n));const i=C(n);if(i.length>0&&(i[0]=_(i[0])),1===i.length&&!i[0])return o.sep;let s="",r=!0;for(let e of i){if("**"===e)break;if(e.match(/[*?]/))break;r||(e=o.sep+e),s+=e,r=!1}return s}function x(e){return e.endsWith(".py")||e.endsWith(".pyi")}function R(){return"/"===o.sep?"/":"\\\\"}function M(e,t,n){if(e===t)return 0;if(void 0===e)return-1;if(void 0===t)return 1;const i=e.substring(0,h(e)),s=t.substring(0,h(t)),r=(0,g.compareStringsCaseInsensitive)(i,s);if(0!==r)return r;const o=R(),a=new RegExp(`(^|${o}).{0,2}($|${o})`),A=e.substring(i.length),c=t.substring(s.length);if(!a.test(A)&&!a.test(c))return n(A,c);const p=C(e),u=C(t),d=Math.min(p.length,u.length);for(let e=1;e=t.length&&46===e.charCodeAt(e.length-t.length)){const i=e.slice(e.length-t.length);if(n(i,t))return i}}function K(e,t,n){try{const i=e.statSync(t);switch(n){case 0:return i.isFile();case 1:return i.isDirectory();default:return!1}}catch(e){return!1}}function O(e){let t=b(a.URI.parse(e).path);return t.match(/^\\[a-zA-Z]:\\/)&&(t=t.substr(1)),t}function U(e){return void 0!==u||(u=G(e)),u}function G(e){let t;try{let n,i;do{n=`${(0,c.randomBytesHex)(21)}-a`,t=o.join(e.tmpdir(),n),i=o.join(e.tmpdir(),n.toUpperCase())}while(e.existsSync(t)||e.existsSync(i));return e.writeFileSync(t,"","utf8"),!e.existsSync(i)}catch(e){return!1}finally{t&&e.unlinkSync(t)}}(t.FileSpec||(t.FileSpec={})).is=function(e){const t=e;return t&&!!t.wildcardRoot&&!!t.regExp},t.forEachAncestorDirectory=function(e,t){for(;;){const n=t(e);if(void 0!==n)return n;const i=d(e);if(i===e)return;e=i}},t.getDirectoryPath=d,t.getRootLength=h,t.getPathComponents=C,t.reducePathComponents=m,t.combinePathComponents=y,t.getRelativePath=function(e,t){if(!e.startsWith(v(t)))return;const n=C(e);let i=".";for(let e=C(t).length;e0},t.isDiskPathRoot=function(e){const t=h(e);return t>0&&t===e.length},t.convertUriToPath=function(e,t){return e.getMappedFilePath(O(t))},t.extractPathFromUri=O,t.convertPathToUri=function(e,t){return e.getUri(e.getOriginalFilePath(t))},t.normalizePathCase=function(e,t){return U(e)?t:t.toLowerCase()},t.isFileSystemCaseSensitive=U,t.isFileSystemCaseSensitiveInternal=G,t.getLibraryPathWithoutExtension=function(e){let t=S(e);return t.endsWith("__init__")&&(t=t.substr(0,t.length-9)),t},t.getDirectoryChangeKind=function(e,t,n){if(e.realCasePath(t)===e.realCasePath(n))return"Same";const i=B(t,n,(t=>e.realCasePath(t)));return 3===i.length&&".."===i[1]&&".."!==i[2]?"Renamed":"Moved"},t.deduplicateFolders=function(e){const t=new Set;return e.forEach((e=>{e.forEach((e=>{if(!t.has(e)){for(const n of t){if(e.startsWith(n))return;if(n.startsWith(e))return t.delete(n),void t.add(e)}t.add(e)}}))})),[...t]}},1464:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertTextRangeToRange=t.convertRangeToTextRange=t.convertPositionToOffset=t.convertOffsetsToRange=t.convertOffsetToPosition=void 0;const i=n(5839),s=n(3550);function r(e,t){if(0===t.end)return{line:0,character:0};let n=0;e>=t.end&&(e=t.end-1,n=1);const s=t.getItemContaining(e);(0,i.assert)(s>=0&&s<=t.length);const r=t.getItemAt(s);return(0,i.assert)(void 0!==r),{line:s,character:e-r.start+n}}function o(e,t,n){return{start:r(e,n),end:r(t,n)}}function a(e,t){if(!(e.line>=t.count))return t.getItemAt(e.line).start+e.character}t.convertOffsetToPosition=r,t.convertOffsetsToRange=o,t.convertPositionToOffset=a,t.convertRangeToTextRange=function(e,t){const n=a(e.start,t);if(void 0===n)return;const i=a(e.end,t);return void 0!==i?s.TextRange.fromBounds(n,i):void 0},t.convertTextRangeToRange=function(e,t){return o(e.start,s.TextRange.getEnd(e),t)}},2150:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressReportTracker=void 0,t.ProgressReportTracker=class{constructor(e){this._reporter=e,this._isDisplayingProgress=!1}isEnabled(e){var t;return!!this._isDisplayingProgress||null!==(t=this._reporter.isEnabled(e))&&void 0!==t&&t}begin(){this._isDisplayingProgress||(this._isDisplayingProgress=!0,this._reporter.begin())}report(e){this._isDisplayingProgress&&this._reporter.report(e)}end(){this._isDisplayingProgress&&(this._isDisplayingProgress=!1,this._reporter.end())}}},6886:(e,t)=>{"use strict";var n;function i(e,t){if(isNaN(e)||isNaN(t))return;if(e>255||t>255)return;const i=256*e+t;return void 0!==n[i]&&s(i)?i:void 0}function s(e){return e>>8==3}Object.defineProperty(t,"__esModule",{value:!0}),t.is3x=t.versionFromMajorMinor=t.versionFromString=t.versionToString=t.latestStablePythonVersion=t.PythonVersion=void 0,function(e){e[e.V3_0=768]="V3_0",e[e.V3_1=769]="V3_1",e[e.V3_2=770]="V3_2",e[e.V3_3=771]="V3_3",e[e.V3_4=772]="V3_4",e[e.V3_5=773]="V3_5",e[e.V3_6=774]="V3_6",e[e.V3_7=775]="V3_7",e[e.V3_8=776]="V3_8",e[e.V3_9=777]="V3_9",e[e.V3_10=778]="V3_10",e[e.V3_11=779]="V3_11",e[e.V3_12=780]="V3_12"}(n=t.PythonVersion||(t.PythonVersion={})),t.latestStablePythonVersion=n.V3_10,t.versionToString=function(e){return`${e>>8&255}.${255&e}`},t.versionFromString=function(e){const t=e.split(".");if(!(t.length<2))return i(parseInt(t[0],10),parseInt(t[1],10))},t.versionFromMajorMinor=i,t.is3x=s},7720:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFileWatcherProvider=t.createFromRealFileSystem=void 0;const o=n(3539),a=n(970),A=r(n(7147)),l=r(n(7266)),c=n(761),p=n(2211),g=n(7830),u=n(6657);l.setGracefulCleanup(),t.createFromRealFileSystem=function(e,t){return e=null!=e?e:new p.NullConsole,new B(null!=t?t:g.nullFileWatcherProvider,e)};const d=".zip",h=".egg";function C(e){let t=e.indexOf(d);if(t<=0&&(t=e.indexOf(h),t<=0))return null;if(e[t-1]===o.ppath.sep)return null;const n=t+d.length;return e.length>n&&e[n]!==o.ppath.sep?null:e.slice(0,n)}function m(e){return e.endsWith(d)||e.endsWith(h)}const y=[Buffer.from([80,75,3,4]),Buffer.from([80,75,5,6]),Buffer.from([80,75,7,8])];function f(e,t){let n;try{n=e.openSync(t,"r");const i=Buffer.alloc(4);if(e.readSync(n,i,0,4,0)<4)return!1;for(const e of y)if(0===i.compare(e))return!0;return!1}catch{return!1}finally{void 0!==n&&e.closeSync(n)}}class I extends o.ZipOpenFS{getZipSync(e,t){return super.getZipSync(e,t)}findZip(e){if(this.filter&&!this.filter.test(e))return null;let t="";for(;;){const n=C(e.substr(t.length));if(!n)return null;if(t=this.pathUtils.join(t,n),!1===this.isZip.has(t)){if(this.notZip.has(t))continue;try{if(!this.baseFs.lstatSync(t).isFile()){this.notZip.add(t);continue}if(!f(this.baseFs,t)){this.notZip.add(t);continue}try{this.getZipSync(t,(()=>{}))}catch{this.notZip.add(t);continue}}catch{return null}this.isZip.add(t)}return{archivePath:t,subPath:this.pathUtils.join(o.PortablePath.root,e.substr(t.length))}}}}class E extends o.PosixFS{constructor(){const e=new I({libzip:()=>(0,a.getLibzipSync)(),useCache:!0,maxOpenFiles:80,readOnlyArchives:!0});super(new o.VirtualFS({baseFs:e})),this._eggZipOpenFS=e}isZip(e){return!!this._eggZipOpenFS.findZip(this.mapToBase(e))}}const T=new E;class B{constructor(e,t){this._fileWatcherProvider=e,this._console=t}existsSync(e){try{return T.existsSync(e)}catch{return!1}}mkdirSync(e,t){T.mkdirSync(e,t)}chdir(e){process.chdir(e)}readdirSync(e){return T.readdirSync(e)}readdirEntriesSync(e){return T.readdirSync(e,{withFileTypes:!0}).map((t=>m(t.name)&&t.isFile()&&T.isZip(e)?{name:t.name,isFile:()=>!1,isDirectory:()=>!0,isBlockDevice:()=>!1,isCharacterDevice:()=>!1,isSymbolicLink:()=>!1,isFIFO:()=>!1,isSocket:()=>!1}:t))}readFileSync(e,t=null){return"utf8"===t||"utf-8"===t?T.readFileSync(e,"utf8"):T.readFileSync(e)}writeFileSync(e,t,n){T.writeFileSync(e,t,n||void 0)}statSync(e){const t=T.statSync(e);return m(e)&&t.isFile()&&T.isZip(e)?{...t,isFile:()=>!1,isDirectory:()=>!0,isZipDirectory:()=>!0}:t}unlinkSync(e){T.unlinkSync(e)}realpathSync(e){return T.realpathSync(e)}getModulePath(){return global.__rootDirectory}createFileSystemWatcher(e,t){return this._fileWatcherProvider.createFileWatcher(e.map((e=>this.realCasePath(e))),t)}createReadStream(e){return T.createReadStream(e)}createWriteStream(e){return T.createWriteStream(e)}copyFileSync(e,t){T.copyFileSync(e,t)}readFile(e){return T.readFilePromise(e)}async readFileText(e,t){return"utf8"===t||"utf-8"===t?T.readFilePromise(e,"utf8"):(await T.readFilePromise(e)).toString(t)}tmpdir(){if(!this._tmpdir){const e=l.dirSync({prefix:"pyright"});this._tmpdir=e.name}return this._tmpdir}tmpfile(e){return l.fileSync({dir:this.tmpdir(),discardDescriptor:!0,...e}).name}realCasePath(e){try{if(!A.existsSync(e))return e;const t=A.realpathSync.native(e),n=(0,u.getRootLength)(t);return n<=0?t:t.substr(0,n).toLowerCase()+t.substr(n)}catch(t){return this._console.error(`Failed to get real file system casing for ${e}: ${t}`),e}}isMappedFilePath(e){return!1}getOriginalFilePath(e){return e}getMappedFilePath(e){return e}getUri(e){return c.URI.file(e).toString()}isInZipOrEgg(e){return/[^\\/]\.(?:egg|zip)[\\/]/.test(e)&&T.isZip(e)}}t.WorkspaceFileWatcherProvider=class{constructor(){this._fileWatchers=[]}createFileWatcher(e,t){const n=this,i={close(){n._fileWatchers=n._fileWatchers.filter((e=>e!==i))},workspacePaths:e,eventHandler:t};return n._fileWatchers.push(i),i}onFileChange(e,t){this._fileWatchers.forEach((n=>{n.workspacePaths.some((e=>t.startsWith(e)))&&n.eventHandler(e,t)}))}}},7559:function(e,t,n){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.truncate=t.getLastDottedString=t.getCharacterCount=t.equateStringsCaseSensitive=t.equateStringsCaseInsensitive=t.getStringComparer=t.compareStringsCaseSensitive=t.compareStringsCaseInsensitive=t.hashString=t.isPatternInSymbol=t.computeCompletionSimilarity=void 0;const s=i(n(1593)),r=n(2489);function o(e,t){return e===t?0:void 0===e?-1:void 0===t?1:(0,r.compareComparableValues)(e.toUpperCase(),t.toUpperCase())}function a(e,t){return(0,r.compareComparableValues)(e,t)}t.computeCompletionSimilarity=function(e,t){if(t.startsWith(e))return 1;const n=t.toLocaleLowerCase(),i=e.toLocaleLowerCase();if(n.startsWith(i))return.75;let r=n.length,o=Number.MAX_VALUE;for(;r>0;){const e=(0,s.default)(n.substr(0,r),i);e=e.length?0:(e.length-o)/e.length*.5},t.isPatternInSymbol=function(e,t){const n=e.toLocaleLowerCase(),i=t.toLocaleLowerCase(),s=n.length,r=i.length;let o=0,a=0;for(;o0?e.substring(t+1):e},t.truncate=function(e,t){return e.length>t?e.substring(0,t-"...".length)+"...":e}},743:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.TextEditTracker=t.convertTextEdits=void 0;const o=n(563),a=n(7012),A=r(n(8494)),l=r(n(5839)),c=n(9489),p=n(2489),g=n(1464),u=n(3550);t.convertTextEdits=function(e,t){if(!t)return{};const n=[];return t.forEach((e=>{n.push({range:e.range,newText:e.replacementText})})),{changes:{[e]:n}}},t.TextEditTracker=class{constructor(){this._nodesRemoved=[],this._results=new Map}addEdits(...e){e.forEach((e=>this.addEdit(e.filePath,e.range,e.replacementText)))}addEdit(e,t,n){const i=(0,c.getOrAdd)(this._results,e,(()=>[]));if(""===n){const e=this.getDeletionsForSpan(i,t);e.length>0&&(this.removeEdits(i,e),(0,u.extendRange)(t,e.map((e=>e.range))))}i.some((e=>(0,u.rangesAreEqual)(e.range,t)&&e.replacementText===n))||i.push({filePath:e,range:t,replacementText:n})}getDeletionsForSpan(e,t){var n;return(0,p.isString)(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),e.filter((e=>""===e.replacementText&&(0,u.doRangesIntersect)(e.range,t)))}removeEdits(e,t){var n;(0,p.isString)(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),(0,c.removeArrayElements)(e,(e=>t.findIndex((t=>t===e))>=0))}removeNodes(...e){this._nodesRemoved.push(...e)}getEdits(e){this._processNodeRemoved(e);const t=[];return this._results.forEach((e=>(0,c.appendArray)(t,e))),t}_processNodeRemoved(e){for(;this._nodesRemoved.length>0;){const t=this._nodesRemoved.length,n=this._nodesRemoved[this._nodesRemoved.length-1];if(this._handleImportNameNode(n,e),this._nodesRemoved.length===t){l.assert(`please add handler for ${n.node.nodeType}`),this._nodesRemoved.pop();const e=(0,o.getFileInfo)(n.parseResults.parseTree);this.addEdit(e.filePath,(0,g.convertTextRangeToRange)(n.node,e.lines),"")}}}_handleImportNameNode(e,t){const n=e.node;if(38!==n.nodeType)return!1;const i=e.parseResults.parseTree,s=(0,o.getFileInfo)(i),r=(0,a.getContainingImportStatement)(A.findNodeByOffset(i,n.start),t);if(!r)return!1;const l=(0,a.getAllImportNames)(r),c=this._nodesRemoved.filter((e=>l.some((t=>u.TextRange.overlapsRange(e.node,t)))));if(l.length===c.length)return this.addEdit(s.filePath,A.getFullStatementRange(r,e.parseResults.tokenizerOutput),""),this._removeNodesHandled(c),!0;const p=[];for(let e=0;eu.TextRange.overlapsRange(e.node,t)))&&p.push(e)}return 0!==p.length&&((0,a.getTextRangeForImportNameDeletion)(l,...p).forEach((e=>this.addEdit(s.filePath,(0,g.convertTextRangeToRange)(e,s.lines),""))),this._removeNodesHandled(c),!0)}_removeNodesHandled(e){(0,c.removeArrayElements)(this._nodesRemoved,(t=>e.some((e=>e===t))))}}},3550:(e,t)=>{"use strict";var n,i;function s(e,t){return e.linet.line?1:e.charactert.character?1:0}function r(e,t){return 0===s(e,t)}function o(e){return 0===e.character&&0===e.line}function a(e,t){t&&(Array.isArray(t)?t.forEach((t=>{a(e,t)})):(s(t.start,e.start)<0&&(e.start=t.start),s(t.end,e.end)>0&&(e.end=t.end)))}Object.defineProperty(t,"__esModule",{value:!0}),t.combineRange=t.extendRange=t.isEmptyRange=t.isEmptyPosition=t.getEmptyRange=t.rangesAreEqual=t.positionsAreEqual=t.doesRangeContain=t.doRangesIntersect=t.doRangesOverlap=t.getEmptyPosition=t.comparePositions=t.Range=t.Position=t.TextRange=void 0,function(e){function t(e,t){if(e<0)throw new Error("start must be non-negative");if(t<0)throw new Error("length must be non-negative");return{start:e,length:t}}function n(e){return e.start+e.length}function i(e,t){return t>=e.start&&t<=n(e)}function s(e,t){t&&(Array.isArray(t)?t.forEach((t=>{s(e,t)})):(t.startn(e)&&(e.length+=n(t)-n(e))))}e.create=t,e.fromBounds=function(e,n){if(e<0)throw new Error("start must be non-negative");if(e>n)throw new Error("end must be greater than or equal to start");return t(e,n-e)},e.getEnd=n,e.contains=function(e,t){return t>=e.start&&t=e.start&&n(t)<=n(e)},e.overlaps=i,e.overlapsRange=function(e,t){return i(e,t.start)||i(t,e.start)},e.extend=s,e.combine=function(e){if(0===e.length)return;const t=e[0];for(let n=1;n=0||s(e.start,t.end)>=0)},t.doRangesIntersect=function(e,t){return!(s(t.start,e.end)>0||s(e.start,t.end)>0)},t.doesRangeContain=function e(t,i){return n.is(i)?s(t.start,i)<=0&&s(t.end,i)>=0:e(t,i.start)&&e(t,i.end)},t.positionsAreEqual=r,t.rangesAreEqual=function(e,t){return r(e.start,t.start)&&r(e.end,t.end)},t.getEmptyRange=function(){return{start:{line:0,character:0},end:{line:0,character:0}}},t.isEmptyPosition=o,t.isEmptyRange=function(e){return o(e.start)&&o(e.end)},t.extendRange=a,t.combineRange=function(e){if(0===e.length)return;const t=e[0];for(let n=1;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TextRangeCollection=void 0;const i=n(3550);t.TextRangeCollection=class{constructor(e){this._items=e}get start(){return this._items.length>0?this._items[0].start:0}get end(){const e=this._items[this._items.length-1];return this._items.length>0?e.start+e.length:0}get length(){return this.end-this.start}get count(){return this._items.length}contains(e){return e>=this.start&&e=this._items.length)throw new Error("index is out of range");return this._items[e]}getItemAtPosition(e){if(0===this.count)return-1;if(ethis.end)return-1;let t=0,n=this.count-1;for(;t=s.start&&(i>=this.count-1||ethis.end)return-1;let t=0,n=this.count-1;for(;t<=n;){const s=Math.floor(t+(n-t)/2),r=this._items[s];if(i.TextRange.contains(r,e))return s;if(s{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.timingStats=t.TimingStats=t.TimingStat=t.Duration=void 0;class n{constructor(){this._startTime=Date.now()}getDurationInMilliseconds(){return Date.now()-this._startTime}getDurationInSeconds(){return this.getDurationInMilliseconds()/1e3}}t.Duration=n;class i{constructor(){this.totalTime=0,this.callCount=0,this.isTiming=!1}timeOperation(e){if(this.callCount++,this.isTiming)return e();{this.isTiming=!0;const t=new n,i=e();return this.totalTime+=t.getDurationInMilliseconds(),this.isTiming=!1,i}}subtractFromTime(e){if(this.isTiming){this.isTiming=!1;const t=new n;e(),this.totalTime-=t.getDurationInMilliseconds(),this.isTiming=!0}else e()}printTime(){const e=this.totalTime/1e3;return(Math.round(100*e)/100).toString()+"sec"}}t.TimingStat=i;class s{constructor(){this.totalDuration=new n,this.findFilesTime=new i,this.readFileTime=new i,this.tokenizeFileTime=new i,this.parseFileTime=new i,this.resolveImportsTime=new i,this.cycleDetectionTime=new i,this.bindTime=new i,this.typeCheckerTime=new i,this.typeEvaluationTime=new i}printSummary(e){e.info(`Completed in ${this.totalDuration.getDurationInSeconds()}sec`)}printDetails(e){e.info(""),e.info("Timing stats"),e.info("Find Source Files: "+this.findFilesTime.printTime()),e.info("Read Source Files: "+this.readFileTime.printTime()),e.info("Tokenize: "+this.tokenizeFileTime.printTime()),e.info("Parse: "+this.parseFileTime.printTime()),e.info("Resolve Imports: "+this.resolveImportsTime.printTime()),e.info("Bind: "+this.bindTime.printTime()),e.info("Check: "+this.typeCheckerTime.printTime()),e.info("Detect Cycles: "+this.cycleDetectionTime.printTime())}getTotalDuration(){return this.totalDuration.getDurationInSeconds()}}t.TimingStats=s,t.timingStats=new s},2185:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UriParser=void 0;const i=n(761),s=n(2489),r=n(6657);t.UriParser=class{constructor(e){this._fs=e}decodeTextDocumentPosition(e,t){return{filePath:this.decodeTextDocumentUri(e.uri),position:t}}decodeTextDocumentUri(e){return(0,r.convertUriToPath)(this._fs,e)}isLocal(e){return!!e&&((0,s.isString)(e)&&(e=i.URI.parse(e)),"file"===e.scheme)}}},8798:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertWorkspaceDocumentEdits=t.AddToWorkspaceEdit=t.convertWorkspaceEdits=void 0;const i=n(7192),s=n(6657),r=n(9489),o=n(5839);function a(e,t,n){n.forEach((n=>{const i=(0,s.convertPathToUri)(e,n.filePath);t.changes[i]=t.changes[i]||[],t.changes[i].push({range:n.range,newText:n.replacementText})}))}t.convertWorkspaceEdits=function(e,t){const n={changes:{}};return a(e,n,t),n},t.AddToWorkspaceEdit=a,t.convertWorkspaceDocumentEdits=function(e,t,n,a="default"){const A={documentChanges:[],changeAnnotations:n},l=(0,r.createMapFromItems)(t.edits,(e=>e.filePath));for(const[t,n]of l)A.documentChanges.push(i.TextDocumentEdit.create({uri:(0,s.convertPathToUri)(e,t),version:null},[...n.map((e=>({range:e.range,newText:e.replacementText,annotationId:a})))]));for(const n of t.fileOperations)switch(n.kind){case"create":A.documentChanges.push(i.CreateFile.create((0,s.convertPathToUri)(e,n.filePath),void 0,a));break;case"rename":A.documentChanges.push(i.RenameFile.create((0,s.convertPathToUri)(e,n.oldFilePath),(0,s.convertPathToUri)(e,n.newFilePath),void 0,a));break;case"delete":A.documentChanges.push(i.DeleteFile.create((0,s.convertPathToUri)(e,n.filePath),void 0,a));break;default:(0,o.assertNever)(n)}return A}},8992:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageServerBase=t.WellKnownWorkspaceKinds=void 0,n(6755);const i=n(7192),s=n(9715),r=n(5674),o=n(6708),a=n(4221),A=n(2921),l=n(3213),c=n(9489),p=n(1775),g=n(2930),u=n(2211),d=n(8304),h=n(1049),C=n(6657),m=n(2150),y=n(2185),f=n(8798),I=n(31),E=n(3778),T=n(2816),B=n(3334),v=n(2122),Q=n(1447);var _;!function(e){e.Default="default",e.Regular="regular",e.Limited="limited",e.Cloned="cloned",e.Test="test"}(_=t.WellKnownWorkspaceKinds||(t.WellKnownWorkspaceKinds={}));const w=(0,s.attachWorkDone)(void 0,void 0);t.LanguageServerBase=class{constructor(e,t,n,s=(e=>new y.UriParser(e))){var r,o;this._serverOptions=e,this._connection=t,this.console=n,this._lastTriggerKind=i.CompletionTriggerKind.Invoked,this.rootPath="",this.client={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:i.MarkupKind.PlainText,completionDocFormat:i.MarkupKind.PlainText,completionSupportsSnippet:!1,signatureDocFormat:i.MarkupKind.PlainText,supportsDeprecatedDiagnosticTag:!1,supportsUnnecessaryDiagnosticTag:!1,completionItemResolveSupportsAdditionalTextEdits:!1},global.__rootDirectory=e.rootDirectory,this.console.info(`${e.productName} language server ${e.version&&e.version+" "}starting`),this.console.info(`Server root directory: ${e.rootDirectory}`),this._workspaceMap=this._serverOptions.workspaceMap,this._serviceFS=new Q.PyrightFileSystem(this._serverOptions.fileSystem),this._uriParser=s(this._serviceFS);const a=this._serviceFS.getModulePath();a&&this._serviceFS.chdir(a),this.setupConnection(null!==(r=e.supportedCommands)&&void 0!==r?r:[],null!==(o=e.supportedCodeActions)&&void 0!==o?o:[]),this._progressReporter=new m.ProgressReportTracker(this.createProgressReporter()),this._connection.listen()}decodeTextDocumentUri(e){return this._uriParser.decodeTextDocumentUri(e)}async getConfiguration(e,t){if(this.client.hasConfigurationCapability){const n={};return void 0!==e&&(n.scopeUri=e),void 0!==t&&(n.section=t),this._connection.workspace.getConfiguration(n)}if(this._defaultClientConfig)return(0,c.getNestedProperty)(this._defaultClientConfig,t)}isOpenFilesOnly(e){return"workspace"!==e}get allowModuleRename(){return!1}getSeverityOverrides(e){const t=e;if((0,p.getDiagnosticSeverityOverrides)().includes(t))return t}getDiagnosticRuleName(e){const t=e;if((0,g.getDiagLevelDiagnosticRules)().includes(t))return t}createBackgroundAnalysisProgram(e,t,n,i,s,o){return new r.BackgroundAnalysisProgram(e,t,n,i,s,o)}setExtension(e){this._serverOptions.extension=e}get window(){return this._connection.window}get supportAdvancedEdits(){return this.client.hasDocumentChangeCapability&&this.client.hasDocumentAnnotationCapability}createAnalyzerService(e,t,n){var i;this.console.info(`Starting service instance "${e}"`);const s=new o.AnalyzerService(e,null!==(i=null==t?void 0:t.fs)&&void 0!==i?i:this._serviceFS,{console:this.console,hostFactory:this.createHost.bind(this),importResolverFactory:this.createImportResolver.bind(this),extension:this._serverOptions.extension,backgroundAnalysis:t?t.backgroundAnalysis:this.createBackgroundAnalysis(),maxAnalysisTime:this._serverOptions.maxAnalysisTimeInForeground,backgroundAnalysisProgramFactory:this.createBackgroundAnalysisProgram.bind(this),cancellationProvider:this._serverOptions.cancellationProvider,libraryReanalysisTimeProvider:n});return s.setCompletionCallback((e=>this.onAnalysisCompletedHandler(s.fs,e))),s}async getWorkspaceForFile(e){const t=this._workspaceMap.getWorkspaceForFile(this,e);return await t.isInitialized.promise,t}reanalyze(){this._workspaceMap.forEach((e=>{e.serviceInstance.invalidateAndForceReanalysis()}))}restart(){this._workspaceMap.forEach((e=>{e.serviceInstance.restart()}))}setupConnection(e,t){this._connection.onInitialize((n=>this.initialize(n,e,t))),this._connection.onInitialized((()=>this.onInitialized())),this._connection.onDidChangeConfiguration((e=>this.onDidChangeConfiguration(e))),this._connection.onCodeAction(((e,t)=>this.executeCodeAction(e,t))),this._connection.onDefinition((async(e,t)=>this.onDefinition(e,t))),this._connection.onDeclaration((async(e,t)=>this.onDeclaration(e,t))),this._connection.onTypeDefinition((async(e,t)=>this.onTypeDefinition(e,t))),this._connection.onReferences((async(e,t,n,i)=>this.onReferences(e,t,n,i))),this._connection.onDocumentSymbol((async(e,t)=>this.onDocumentSymbol(e,t))),this._connection.onWorkspaceSymbol((async(e,t,n,i)=>this.onWorkspaceSymbol(e,t,i))),this._connection.onHover((async(e,t)=>this.onHover(e,t))),this._connection.onDocumentHighlight((async(e,t)=>this.onDocumentHighlight(e,t))),this._connection.onSignatureHelp((async(e,t)=>this.onSignatureHelp(e,t))),this._connection.onCompletion(((e,t)=>this.onCompletion(e,t))),this._connection.onCompletionResolve((async(e,t)=>this.onCompletionResolve(e,t))),this._connection.onPrepareRename((async(e,t)=>this.onPrepareRenameRequest(e,t))),this._connection.onRenameRequest((async(e,t)=>this.onRenameRequest(e,t)));const n=this._connection.languages.callHierarchy;n.onPrepare((async(e,t)=>this.onPrepare(e,t))),n.onIncomingCalls((async(e,t)=>this.onIncomingCalls(e,t))),n.onOutgoingCalls((async(e,t)=>this.onOutgoingCalls(e,t))),this._connection.onDidOpenTextDocument((async e=>this.onDidOpenTextDocument(e))),this._connection.onDidChangeTextDocument((async e=>this.onDidChangeTextDocument(e))),this._connection.onDidCloseTextDocument((async e=>this.onDidCloseTextDocument(e))),this._connection.onDidChangeWatchedFiles((e=>this.onDidChangeWatchedFiles(e))),this._connection.onExecuteCommand((async(e,t,n)=>this.onExecuteCommand(e,t,n)))}initialize(e,t,n){var s,r,o,a,A,l,c,p,g,u,d,h,C,m,y,f,I,E,T,B,Q,_,w,D,S,b,F,k,N,P,x,R,M,L,K,O,U,G,Y,V,z,J,j,q;e.locale&&(0,v.setLocaleOverride)(e.locale),this.rootPath=e.rootPath||"";const H=e.capabilities;this.client.hasConfigurationCapability=!!(null===(s=H.workspace)||void 0===s?void 0:s.configuration),this.client.hasWatchFileCapability=!!(null===(o=null===(r=H.workspace)||void 0===r?void 0:r.didChangeWatchedFiles)||void 0===o?void 0:o.dynamicRegistration),this.client.hasWatchFileRelativePathCapability=!!(null===(A=null===(a=H.workspace)||void 0===a?void 0:a.didChangeWatchedFiles)||void 0===A?void 0:A.relativePatternSupport),this.client.hasWorkspaceFoldersCapability=!!(null===(l=H.workspace)||void 0===l?void 0:l.workspaceFolders),this.client.hasVisualStudioExtensionsCapability=!!H.supportsVisualStudioExtensions,this.client.hasActiveParameterCapability=!!(null===(g=null===(p=null===(c=H.textDocument)||void 0===c?void 0:c.signatureHelp)||void 0===p?void 0:p.signatureInformation)||void 0===g?void 0:g.activeParameterSupport),this.client.hasSignatureLabelOffsetCapability=!!(null===(C=null===(h=null===(d=null===(u=H.textDocument)||void 0===u?void 0:u.signatureHelp)||void 0===d?void 0:d.signatureInformation)||void 0===h?void 0:h.parameterInformation)||void 0===C?void 0:C.labelOffsetSupport),this.client.hasHierarchicalDocumentSymbolCapability=!!(null===(y=null===(m=H.textDocument)||void 0===m?void 0:m.documentSymbol)||void 0===y?void 0:y.hierarchicalDocumentSymbolSupport),this.client.hasDocumentChangeCapability=!!(null===(I=null===(f=H.workspace)||void 0===f?void 0:f.workspaceEdit)||void 0===I?void 0:I.documentChanges)&&!!(null===(E=H.workspace.workspaceEdit)||void 0===E?void 0:E.resourceOperations),this.client.hasDocumentAnnotationCapability=!!(null===(B=null===(T=H.workspace)||void 0===T?void 0:T.workspaceEdit)||void 0===B?void 0:B.changeAnnotationSupport),this.client.hasCompletionCommitCharCapability=!!(null===(w=null===(_=null===(Q=H.textDocument)||void 0===Q?void 0:Q.completion)||void 0===_?void 0:_.completionList)||void 0===w?void 0:w.itemDefaults)&&!!(null===(D=H.textDocument.completion.completionItem)||void 0===D?void 0:D.commitCharactersSupport),this.client.hoverContentFormat=this._getCompatibleMarkupKind(null===(b=null===(S=H.textDocument)||void 0===S?void 0:S.hover)||void 0===b?void 0:b.contentFormat),this.client.completionDocFormat=this._getCompatibleMarkupKind(null===(N=null===(k=null===(F=H.textDocument)||void 0===F?void 0:F.completion)||void 0===k?void 0:k.completionItem)||void 0===N?void 0:N.documentationFormat),this.client.completionSupportsSnippet=!!(null===(R=null===(x=null===(P=H.textDocument)||void 0===P?void 0:P.completion)||void 0===x?void 0:x.completionItem)||void 0===R?void 0:R.snippetSupport),this.client.signatureDocFormat=this._getCompatibleMarkupKind(null===(K=null===(L=null===(M=H.textDocument)||void 0===M?void 0:M.signatureHelp)||void 0===L?void 0:L.signatureInformation)||void 0===K?void 0:K.documentationFormat);const W=(null===(G=null===(U=null===(O=H.textDocument)||void 0===O?void 0:O.publishDiagnostics)||void 0===U?void 0:U.tagSupport)||void 0===G?void 0:G.valueSet)||[];return this.client.supportsUnnecessaryDiagnosticTag=W.some((e=>e===i.DiagnosticTag.Unnecessary)),this.client.supportsDeprecatedDiagnosticTag=W.some((e=>e===i.DiagnosticTag.Deprecated)),this.client.hasWindowProgressCapability=!!(null===(Y=H.window)||void 0===Y?void 0:Y.workDoneProgress),this.client.hasGoToDeclarationCapability=!!(null===(V=H.textDocument)||void 0===V?void 0:V.declaration),this.client.completionItemResolveSupportsAdditionalTextEdits=!!(null===(q=null===(j=null===(J=null===(z=H.textDocument)||void 0===z?void 0:z.completion)||void 0===J?void 0:J.completionItem)||void 0===j?void 0:j.resolveSupport)||void 0===q?void 0:q.properties.some((e=>"additionalTextEdits"===e))),e.workspaceFolders?e.workspaceFolders.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.set(t,this.createWorkspaceServiceInstance(e,t,t))})):e.rootPath&&this._workspaceMap.set(e.rootPath,this.createWorkspaceServiceInstance(void 0,e.rootPath,e.rootPath)),{capabilities:{textDocumentSync:i.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:n,workDoneProgress:!0},executeCommandProvider:{commands:t,workDoneProgress:!0},callHierarchyProvider:!0}}}onInitialized(){this.client.hasWorkspaceFoldersCapability&&(this._connection.workspace.onDidChangeWorkspaceFolders((e=>{e.removed.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.delete(t)})),e.added.forEach((async e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=this.createWorkspaceServiceInstance(e,t,t);this._workspaceMap.set(t,n),await this.updateSettingsForWorkspace(n)})),this._setupFileWatcher()})),this._setupFileWatcher())}_setupFileWatcher(){if(!this.client.hasWatchFileCapability)return;const e=i.WatchKind.Create|i.WatchKind.Change|i.WatchKind.Delete,t=[...o.configFileNames.map((t=>({globPattern:`**/${t}`,kind:e}))),{globPattern:"**",kind:e}];this.client.hasWatchFileRelativePathCapability&&(0,C.deduplicateFolders)(this._workspaceMap.getNonDefaultWorkspaces().map((e=>e.searchPathsToWatch.filter((t=>!t.startsWith(e.rootPath)))))).forEach((n=>{const i=(0,C.isFile)(this._serviceFS,n,!0)?{baseUri:(0,C.convertPathToUri)(this._serviceFS,(0,C.getDirectoryPath)(n)),pattern:(0,C.getFileName)(n)}:{baseUri:(0,C.convertPathToUri)(this._serviceFS,n),pattern:"**"};t.push({globPattern:i,kind:e})})),this._connection.client.register(i.DidChangeWatchedFilesNotification.type,{watchers:t}).then((e=>{this._lastFileWatcherRegistration&&this._lastFileWatcherRegistration.dispose(),this._lastFileWatcherRegistration=e}))}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 onDefinition(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?E.DefinitionFilter.PreferSource:E.DefinitionFilter.All,((e,t,n,i,s)=>e.serviceInstance.getDefinitionForPosition(t,n,i,s)))}async onDeclaration(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?E.DefinitionFilter.PreferStubs:E.DefinitionFilter.All,((e,t,n,i,s)=>e.serviceInstance.getDefinitionForPosition(t,n,i,s)))}async onTypeDefinition(e,t){return this.getDefinitions(e,t,E.DefinitionFilter.All,((e,t,n,i,s)=>e.serviceInstance.getTypeDefinitionForPosition(t,n,s)))}async getDefinitions(e,t,n,s){this.recordUserInteractionTime();const{filePath:r,position:o}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),a=await this.getWorkspaceForFile(r);if(a.disableLanguageServices)return;const A=s(a,r,o,n,t);return A?A.filter((e=>!a.serviceInstance.fs.isInZipOrEgg(e.path))).map((e=>i.Location.create((0,C.convertPathToUri)(a.serviceInstance.fs,e.path),e.range))):void 0}async onReferences(e,t,n,s){this._pendingFindAllRefsCancellationSource&&(this._pendingFindAllRefsCancellationSource.cancel(),this._pendingFindAllRefsCancellationSource=void 0);const r=await this._getProgressReporter(n,v.Localizer.CodeAction.findingReferences(),t),o=r.source;this._pendingFindAllRefsCancellationSource=o;try{const{filePath:t,position:n}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),a=await this.getWorkspaceForFile(t);if(a.disableLanguageServices)return;const A=e=>e.filter((e=>!a.serviceInstance.fs.isInZipOrEgg(e.path))).map((e=>i.Location.create((0,C.convertPathToUri)(a.serviceInstance.fs,e.path),e.range))),l=[],p=s?e=>s.report(A(e)):e=>(0,c.appendArray)(l,A(e));return a.serviceInstance.reportReferencesForPosition(t,n,e.context.includeDeclaration,p,o.token),l}finally{r.reporter.done(),o.dispose()}}async onDocumentSymbol(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);if(i.disableLanguageServices)return;const s=[];return i.serviceInstance.addSymbolsForDocument(n,s,t),this.client.hasHierarchicalDocumentSymbolCapability?s:(0,T.convertToFlatSymbols)(e.textDocument.uri,s)}async onWorkspaceSymbol(e,t,n){const i=[],s=n?e=>n.report(e):e=>(0,c.appendArray)(i,e);for(const n of this._workspaceMap.values())await n.isInitialized.promise,n.disableLanguageServices||n.disableWorkspaceSymbol||n.serviceInstance.reportSymbolsForWorkspace(e.query,s,t);return i}async onHover(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),s=(await this.getWorkspaceForFile(n)).serviceInstance.getHoverForPosition(n,i,this.client.hoverContentFormat,t);return(0,B.convertHoverResults)(this.client.hoverContentFormat,s)}async onDocumentHighlight(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position);return(await this.getWorkspaceForFile(n)).serviceInstance.getDocumentHighlight(n,i,t)}async onSignatureHelp(e,t){var n,s;const{filePath:r,position:o}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),a=await this.getWorkspaceForFile(r);if(a.disableLanguageServices)return;const A=a.serviceInstance.getSignatureHelpForPosition(r,o,this.client.signatureDocFormat,t);if(!A)return;const l=A.signatures.map((e=>{let t=[];e.parameters&&(t=e.parameters.map((e=>i.ParameterInformation.create(this.client.hasSignatureLabelOffsetCapability?[e.startOffset,e.endOffset]:e.text,e.documentation))));const n=i.SignatureInformation.create(e.label,void 0,...t);return void 0!==e.documentation&&(n.documentation=e.documentation),void 0!==e.activeParameter&&(n.activeParameter=e.activeParameter),n})),c=e=>{var t;return void 0!==e.activeParameter||!A.callHasParameters&&!(null===(t=e.parameters)||void 0===t?void 0:t.length)};let p=l.findIndex(c);-1===p&&(p=void 0);let g=void 0!==p?l[p].activeParameter:void 0;if((null===(n=e.context)||void 0===n?void 0:n.isRetrigger)&&e.context.triggerKind!==i.SignatureHelpTriggerKind.Invoked){const t=null===(s=e.context.activeSignatureHelp)||void 0===s?void 0:s.activeSignature;if(void 0!==t&&t{var t,n;return null!==(n=null===(t=e.parameters)||void 0===t?void 0:t.length)&&void 0!==n?n:0})))),{signatures:l,activeSignature:p,activeParameter:g}}async onCompletion(e,t){var n,s;const r=this._lastTriggerKind!==i.CompletionTriggerKind.TriggerForIncompleteCompletions||(null===(n=e.context)||void 0===n?void 0:n.triggerKind)!==i.CompletionTriggerKind.TriggerForIncompleteCompletions;this._lastTriggerKind=null===(s=e.context)||void 0===s?void 0:s.triggerKind;const{filePath:o,position:a}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),A=await this.getWorkspaceForFile(o);if(A.disableLanguageServices)return;const l=await this.getWorkspaceCompletionsForPosition(A,o,a,this.getCompletionOptions(A,e),t);return l&&(l.completionList.isIncomplete=r),null==l?void 0:l.completionList}async onCompletionResolve(e,t){const n=(0,h.fromLSPAny)(e.data);if(n&&n.filePath){const i=await this.getWorkspaceForFile(n.workspacePath);this.resolveWorkspaceCompletionItem(i,n.filePath,e,t)}return e}async onPrepareRenameRequest(e,t){var n;const{filePath:i,position:s}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(i);if(r.disableLanguageServices)return null;const o=r.serviceInstance.canRenameSymbolAtPosition(i,s,""===r.path,this.allowModuleRename,t);return o&&o.declarations.some((e=>e.path&&!r.owns(e.path)))?null:null!==(n=null==o?void 0:o.range)&&void 0!==n?n:null}async onRenameRequest(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),s=await this.getWorkspaceForFile(n);if(s.disableLanguageServices)return;const r=s.serviceInstance.renameSymbolAtPosition(n,i,e.newName,""===s.path,this.allowModuleRename,t);return r?(0,f.convertWorkspaceDocumentEdits)(s.serviceInstance.fs,r):void 0}async onPrepare(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),s=await this.getWorkspaceForFile(n);if(s.disableLanguageServices)return null;const r=s.serviceInstance.getCallForPosition(n,i,t)||null;return r?s.serviceInstance.fs.isInZipOrEgg(r.uri)?null:(r.uri=(0,C.convertPathToUri)(s.serviceInstance.fs,r.uri),[r]):null}async onIncomingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),s=await this.getWorkspaceForFile(n);if(s.disableLanguageServices)return null;let r=s.serviceInstance.getIncomingCallsForPosition(n,i,t)||null;return r&&0!==r.length?(r=r.filter((e=>!s.serviceInstance.fs.isInZipOrEgg(e.from.uri))),r.forEach((e=>{e.from.uri=(0,C.convertPathToUri)(s.serviceInstance.fs,e.from.uri)})),r):null}async onOutgoingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),s=await this.getWorkspaceForFile(n);if(s.disableLanguageServices)return null;let r=s.serviceInstance.getOutgoingCallsForPosition(n,i,t)||null;return r&&0!==r.length?(r=r.filter((e=>!s.serviceInstance.fs.isInZipOrEgg(e.to.uri))),r.forEach((e=>{e.to.uri=(0,C.convertPathToUri)(s.serviceInstance.fs,e.to.uri)})),r):null}async onDidOpenTextDocument(e,t=a.IPythonMode.None){const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this._serviceFS.addUriMap(e.textDocument.uri,n)&&(await this.getWorkspaceForFile(n)).serviceInstance.setFileOpened(n,e.textDocument.version,e.textDocument.text,t)}async onDidChangeTextDocument(e,t=a.IPythonMode.None){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this._serviceFS.hasUriMapEntry(e.textDocument.uri,n)&&(await this.getWorkspaceForFile(n)).serviceInstance.updateOpenFileContents(n,e.textDocument.version,e.contentChanges,t)}async onDidCloseTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this._serviceFS.removeUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileClosed(t)}onDidChangeWatchedFiles(e){e.changes.forEach((e=>{const t=this._serviceFS.realCasePath(this._uriParser.decodeTextDocumentUri(e.uri)),n=1===e.type?"add":"change";this._serverOptions.fileWatcherHandler.onFileChange(n,t)}))}async onExecuteCommand(e,t,n){this._pendingCommandCancellationSource&&(this._pendingCommandCancellationSource.cancel(),this._pendingCommandCancellationSource=void 0);const s=async t=>{const n=await this.executeCommand(e,t);return i.WorkspaceEdit.is(n)&&this._connection.workspace.applyEdit({label:`Command '${e.command}'`,edit:n}),A.CommandResult.is(n)&&await this._connection.workspace.applyEdit({label:n.label,edit:n.edits}),n};if(!this.isLongRunningCommand(e.command))return await s(t);{const e=await this._getProgressReporter(n,v.Localizer.CodeAction.executingCommand(),t),i=e.source;this._pendingCommandCancellationSource=i;try{return await s(i.token)}finally{e.reporter.done(),i.dispose()}}}resolveWorkspaceCompletionItem(e,t,n,i){e.serviceInstance.resolveCompletionItem(t,n,this.getCompletionOptions(e),void 0,i)}getWorkspaceCompletionsForPosition(e,t,n,i,s){return e.serviceInstance.getCompletionsForPosition(t,n,e.path,i,void 0,s)}updateSettingsForAllWorkspaces(){const e=[];this._workspaceMap.forEach((t=>{e.push(this.updateSettingsForWorkspace(t))})),Promise.all(e).then((()=>{this._setupFileWatcher()}))}getCompletionOptions(e,t){return{format:this.client.completionDocFormat,snippet:this.client.completionSupportsSnippet,lazyEdit:this.client.completionItemResolveSupportsAdditionalTextEdits,autoImport:!0,extraCommitChars:!1,importFormat:"absolute"}}createWorkspaceServiceInstance(e,t,n,i=[_.Regular],s,r){var o,a,A;const l=1===i.length&&i[0]===_.Regular?()=>this._workspaceMap.hasMultipleWorkspaces(i[0])?6e5:5e3:()=>5e3,c=null!==(o=null==e?void 0:e.uri)&&void 0!==o?o:"";return s=null!=s?s:e=>e.startsWith(t),{workspaceName:null!==(a=null==e?void 0:e.name)&&void 0!==a?a:"",rootPath:t,path:n,uri:c,kinds:i,serviceInstance:this.createAnalyzerService(null!==(A=null==e?void 0:e.name)&&void 0!==A?A:n,r,l),disableLanguageServices:!1,disableOrganizeImports:!1,disableWorkspaceSymbol:!1,isInitialized:(0,d.createDeferred)(),searchPathsToWatch:[],owns:s}}convertDiagnostics(e,t){return[{uri:(0,C.convertPathToUri)(e,t.filePath),version:t.version,diagnostics:this._convertDiagnostics(e,t.diagnostics)}]}onAnalysisCompletedHandler(e,t){if(t.diagnostics.forEach((t=>{e.isInZipOrEgg(t.filePath)||(this._sendDiagnostics(this.convertDiagnostics(e,t)),this._serviceFS.pendingRequest(t.filePath,t.diagnostics.length>0))})),this._progressReporter.isEnabled(t))if(t.filesRequiringAnalysis>0){this._progressReporter.begin();const e=1===t.filesRequiringAnalysis?v.Localizer.CodeAction.filesToAnalyzeOne():v.Localizer.CodeAction.filesToAnalyzeCount().format({count:t.filesRequiringAnalysis});this._progressReporter.report(e)}else this._progressReporter.end();else this._progressReporter.end()}async updateSettingsForWorkspace(e,t){var n;t=null!=t?t:await this.getSettings(e),this.console.level=null!==(n=t.logLevel)&&void 0!==n?n:u.LogLevel.Info,this.updateOptionsAndRestartService(e,t),e.disableLanguageServices=!!t.disableLanguageServices,e.disableOrganizeImports=!!t.disableOrganizeImports,e.isInitialized.resolve(!0)}updateOptionsAndRestartService(e,t,n){var i;I.AnalyzerServiceExecutor.runWithOptions(this.rootPath,e,t,n),e.searchPathsToWatch=null!==(i=e.serviceInstance.librarySearchPathsToWatch)&&void 0!==i?i:[]}convertLogLevel(e){if(!e)return u.LogLevel.Info;switch(e.toLowerCase()){case"error":return u.LogLevel.Error;case"warning":return u.LogLevel.Warn;case"information":default:return u.LogLevel.Info;case"trace":return u.LogLevel.Log}}_sendDiagnostics(e){for(const t of e)this._connection.sendDiagnostics(t)}_getCompatibleMarkupKind(e){const t=[i.MarkupKind.PlainText,i.MarkupKind.Markdown];for(const n of null!=e?e:[])if(t.includes(n))return n;return i.MarkupKind.PlainText}async _getProgressReporter(e,t,n){if(e.constructor!==w.constructor)return{reporter:e,source:(0,l.CancelAfter)(n)};const i=await this._connection.window.createWorkDoneProgress();return i.begin(t,void 0,void 0,!0),{reporter:i,source:(0,l.CancelAfter)(n,i.token)}}_convertDiagnostics(e,t){const n=[];return t.forEach((t=>{const s=function(e){switch(e){case 0:return i.DiagnosticSeverity.Error;case 1:return i.DiagnosticSeverity.Warning;case 2:return i.DiagnosticSeverity.Information;case 3:case 4:case 5:return i.DiagnosticSeverity.Hint}}(t.category),r=t.getRule(),o=i.Diagnostic.create(t.range,t.message,s,r,this._serverOptions.productName);if(3===t.category||4===t.category){if(o.tags=[i.DiagnosticTag.Unnecessary],o.severity=i.DiagnosticSeverity.Hint,!this.client.supportsUnnecessaryDiagnosticTag)return}else if(5===t.category&&(o.tags=[i.DiagnosticTag.Deprecated],o.severity=i.DiagnosticSeverity.Hint,!this.client.supportsDeprecatedDiagnosticTag))return;if(r){const e=this.getDocumentationUrlForDiagnosticRule(r);e&&(o.codeDescription={href:e})}const a=t.getRelatedInfo();a.length>0&&(o.relatedInformation=a.filter((t=>!e.isInZipOrEgg(t.filePath))).map((t=>i.DiagnosticRelatedInformation.create(i.Location.create((0,C.convertPathToUri)(e,t.filePath),t.range),t.message)))),n.push(o)})),n}recordUserInteractionTime(){this._workspaceMap.forEach((e=>{e.serviceInstance.recordUserInteractionTime()}))}getDocumentationUrlForDiagnosticRule(e){return"https://github.com/microsoft/pyright/blob/main/docs/configuration.md"}expandPathVariables(e,t){return t.replace(/\$\{(.*?)\}/g,((t,n)=>{const i=n.trim();return"workspaceFolder"===i?e:"env:HOME"===i&&void 0!==process.env.HOME?process.env.HOME:"env:USERNAME"===i&&void 0!==process.env.USERNAME?process.env.USERNAME:"env:VIRTUAL_ENV"===i&&void 0!==process.env.VIRTUAL_ENV?process.env.VIRTUAL_ENV:t}))}}},31:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnalyzerServiceExecutor=void 0;const i=n(1887),s=n(1775),r=n(2211),o=n(8304),a=n(6657),A=n(8992);class l{static runWithOptions(e,t,n,o,A=!0){const l=function(e,t,n,o,A){var l,c;const p=new s.CommandLineOptions(t,!0);return p.checkOnlyOpenFiles=n.openFilesOnly,p.useLibraryCodeForTypes=n.useLibraryCodeForTypes,p.typeCheckingMode=n.typeCheckingMode,p.autoImportCompletions=n.autoImportCompletions,p.indexing=n.indexing,p.logTypeEvaluationTime=null!==(l=n.logTypeEvaluationTime)&&void 0!==l&&l,p.typeEvaluationTimeThreshold=null!==(c=n.typeEvaluationTimeThreshold)&&void 0!==c?c:50,p.enableAmbientAnalysis=o,o?(p.watchForSourceChanges=n.watchForSourceChanges,p.watchForLibraryChanges=n.watchForLibraryChanges,p.watchForConfigChanges=n.watchForConfigChanges):(p.watchForSourceChanges=!1,p.watchForLibraryChanges=!1,p.watchForConfigChanges=!1),n.venvPath&&(p.venvPath=(0,a.combinePaths)(t||e,n.venvPath)),n.pythonPath&&((0,i.isPythonBinary)(n.pythonPath)||(p.pythonPath=(0,a.combinePaths)(t||e,n.pythonPath))),n.typeshedPath&&(p.typeshedPath=n.typeshedPath),n.stubPath&&(p.stubPath=n.stubPath),n.logLevel===r.LogLevel.Log&&(p.verboseOutput=!0),A&&(p.typeStubTargetImportName=A),p.autoSearchPaths=n.autoSearchPaths,p.extraPaths=n.extraPaths,p.diagnosticSeverityOverrides=n.diagnosticSeverityOverrides,p}(e,t.rootPath,n,A,o);t.serviceInstance.setOptions(l)}static async cloneService(e,t,n,i,s){const r={workspaceName:"temp workspace for cloned service",rootPath:t.rootPath,path:t.path,uri:t.uri,kinds:[...t.kinds,A.WellKnownWorkspaceKinds.Cloned],serviceInstance:t.serviceInstance.clone("cloned service",i,s),disableLanguageServices:!0,disableOrganizeImports:!0,disableWorkspaceSymbol:!0,isInitialized:(0,o.createDeferred)(),searchPathsToWatch:[],owns:t.owns},a=await e.getSettings(t);return l.runWithOptions(e.rootPath,r,a,n,!1),r.serviceInstance}}t.AnalyzerServiceExecutor=l},8566:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.convertSymbolKindToCompletionItemKind=t.AutoImporter=t.buildModuleSymbolsMap=void 0;const o=n(7192),a=n(563),A=n(7012),l=n(6025),c=r(n(1766)),p=n(3213),g=n(9489),u=n(6657),d=r(n(7559)),h=n(8718),C=n(9209);function m(e,t){return{forEach(n){e.symbols.forEach((e=>{e.externallyVisible&&n({importAlias:e.alias,kind:e.kind,itemKind:e.itemKind},e.name,t)}))}}}function y(e){switch(e){case o.SymbolKind.File:return o.CompletionItemKind.File;case o.SymbolKind.Module:case o.SymbolKind.Namespace:return o.CompletionItemKind.Module;case o.SymbolKind.Package:return o.CompletionItemKind.Folder;case o.SymbolKind.Class:return o.CompletionItemKind.Class;case o.SymbolKind.Method:return o.CompletionItemKind.Method;case o.SymbolKind.Property:return o.CompletionItemKind.Property;case o.SymbolKind.Field:return o.CompletionItemKind.Field;case o.SymbolKind.Constructor:return o.CompletionItemKind.Constructor;case o.SymbolKind.Enum:return o.CompletionItemKind.Enum;case o.SymbolKind.Interface:return o.CompletionItemKind.Interface;case o.SymbolKind.Function:return o.CompletionItemKind.Function;case o.SymbolKind.Variable:case o.SymbolKind.Array:return o.CompletionItemKind.Variable;case o.SymbolKind.String:return o.CompletionItemKind.Constant;case o.SymbolKind.Number:case o.SymbolKind.Boolean:return o.CompletionItemKind.Value;case o.SymbolKind.Constant:case o.SymbolKind.Null:return o.CompletionItemKind.Constant;case o.SymbolKind.Object:case o.SymbolKind.Key:return o.CompletionItemKind.Value;case o.SymbolKind.EnumMember:return o.CompletionItemKind.EnumMember;case o.SymbolKind.Struct:return o.CompletionItemKind.Struct;case o.SymbolKind.Event:return o.CompletionItemKind.Event;case o.SymbolKind.Operator:return o.CompletionItemKind.Operator;case o.SymbolKind.TypeParameter:return o.CompletionItemKind.TypeParameter;default:return}}t.buildModuleSymbolsMap=function(e,t,n){const i=new Map;return(0,p.throwIfCancellationRequested)(n),e.forEach((e=>{if(e.shadows.length>0)return;const n=e.sourceFile.getFilePath(),s=e.sourceFile.getModuleSymbolTable();if(s){const t=(0,u.stripFileExtension)((0,u.getFileName)(n));if(c.isPrivateOrProtectedName(t))return;return void i.set(n,{forEach(t){s.forEach(((n,i)=>{if(n.isExternallyHidden())return;const s=n.getDeclarations();if(!s||0===s.length)return;const r=s[0];if(!r)return;if(8===r.type&&(0,l.isUserCode)(e))return;const a=1!==r.type||r.isConstant||r.isFinal?void 0:o.SymbolKind.Variable;t({symbol:n,kind:a},i,!(0,l.isUserCode)(e))}))}})}const r=e.sourceFile.getCachedIndexResults();r&&t&&!r.privateOrProtected&&i.set(n,m(r,!1))})),i},t.AutoImporter=class{constructor(e,t,n,i,s,r,o){this._execEnvironment=e,this._importResolver=t,this._parseResults=n,this._invocationPosition=i,this._excludes=s,this._moduleSymbolMap=r,this._options=o,this._stopWatch=new h.Duration,this._perfInfo={indexUsed:!1,totalInMs:0,moduleTimeInMS:0,indexTimeInMS:0,importAliasTimeInMS:0,symbolCount:0,indexCount:0,importAliasCount:0},this._filePath=(0,a.getFileInfo)(n.parseTree).filePath,this._importStatements=(0,A.getTopLevelImports)(this._parseResults.parseTree,!0),this._perfInfo.indexUsed=!!this._options.libraryMap}getAutoImportCandidatesForAbbr(e,t,n){const i=this._getCandidates(t.importName,1,e,n).get(t.importName);return i?i.filter((e=>e.source===t.importFrom)):[]}getAutoImportCandidates(e,t,n,i){const s=[];return this._getCandidates(e,t,n,i).forEach((e=>(0,g.appendArray)(s,e))),s}getPerfInfo(){return this._perfInfo.totalInMs=this._stopWatch.getDurationInMilliseconds(),this._perfInfo}_getCandidates(e,t,n,i){const s=new Map,r=new Map;return this._addImportsFromModuleMap(e,t,n,r,s,i),this._addImportsFromLibraryMap(e,t,n,r,s,i),this._addImportsFromImportAliasMap(r,n,s,i),s}_addImportsFromLibraryMap(e,t,n,i,s,r){var o;const a=this._stopWatch.getDurationInMilliseconds();null===(o=this._options.libraryMap)||void 0===o||o.forEach(((o,a)=>{if(o.privateOrProtected)return;if(this._moduleSymbolMap.has(a))return;const A=this._isStubFileOrHasInit(this._options.libraryMap,a);this._processModuleSymbolTable(m(o,!0),a,e,t,A,n,i,s,r)})),this._perfInfo.indexTimeInMS=this._stopWatch.getDurationInMilliseconds()-a}_addImportsFromModuleMap(e,t,n,i,s,r){const o=this._stopWatch.getDurationInMilliseconds();this._moduleSymbolMap.forEach(((o,a)=>{const A=this._isStubFileOrHasInit(this._moduleSymbolMap,a);this._processModuleSymbolTable(o,a,e,t,A,n,i,s,r)})),this._perfInfo.moduleTimeInMS=this._stopWatch.getDurationInMilliseconds()-o}_isStubFileOrHasInit(e,t){const n=(0,u.getDirectoryPath)(t),i=(0,u.combinePaths)(n,"__init__.py"),s=i+"i";return{isStub:t.endsWith(".pyi"),hasInit:e.has(i)||e.has(s)}}_processModuleSymbolTable(e,t,n,i,s,r,a,l,c){(0,p.throwIfCancellationRequested)(c);const[g,u,h]=this._getImportPartsForSymbols(t);if(!g)return;const C=d.getCharacterCount(g,".");if(e.forEach(((e,o,c)=>{var p;if(this._perfIndexCount(e,c),!this._shouldIncludeVariable(e,o,s.isStub,c))return;if(!this._isSimilar(n,o,i))return;if(this._containsName(o,g,l))return;if(e.importAlias)return void this._addToImportAliasMap(e.importAlias,{importParts:{symbolName:o,importName:o,importFrom:g,filePath:t,dotCount:C,moduleNameAndType:h},importGroup:u,symbol:e.symbol,kind:e.importAlias.kind,itemKind:e.importAlias.itemKind},a);const d="relative"!==this._options.importFormat||c?void 0:(0,A.getRelativeModuleName)(this._importResolver.fileSystem,this._filePath,t),m=this._getTextEditsForAutoImportByFilePath({name:o,alias:r},{name:g,nameForImportFrom:d},o,u,t);this._addResult(l,{name:o,alias:r,symbol:e.symbol,source:g,kind:null!==(p=e.itemKind)&&void 0!==p?p:y(e.kind),insertionText:m.insertionText,edits:m.edits})})),!s.isStub&&!s.hasInit)return;const m=this._getImportParts(t);m&&this._isSimilar(n,m.importName,i)&&(this._containsName(m.importName,m.importFrom,l)||this._addToImportAliasMap({modulePath:t,originalName:m.importName,kind:o.SymbolKind.Module,itemKind:o.CompletionItemKind.Module},{importParts:m,importGroup:u,kind:o.SymbolKind.Module,itemKind:o.CompletionItemKind.Module},a))}_shouldIncludeVariable(e,t,n,i){var s;return!(!n&&e.kind===o.SymbolKind.Variable)||!(!this._options.allowVariableInAll||i||!(null===(s=e.symbol)||void 0===s?void 0:s.isInDunderAll()))||c.isPublicConstantOrTypeAlias(t)}_addImportsFromImportAliasMap(e,t,n,i){(0,p.throwIfCancellationRequested)(i);const s=this._stopWatch.getDurationInMilliseconds();e.forEach((e=>{this._perfInfo.importAliasCount+=e.size,e.forEach((e=>{var i,s;if(t){if(this._importStatements.mapByFilePath.has(e.importParts.filePath))return;if(e.importParts.importFrom){const t=this._importStatements.orderedImports.find((t=>t.moduleName===e.importParts.importFrom));if(t&&22===t.node.nodeType&&t.node.imports.some((t=>t.name.value===e.importParts.symbolName)))return}}if(this._containsName(e.importParts.importName,e.importParts.importFrom,n))return;const r=this._getTextEditsForAutoImportByFilePath({name:e.importParts.symbolName,alias:t},{name:null!==(i=e.importParts.importFrom)&&void 0!==i?i:e.importParts.importName},e.importParts.importName,e.importGroup,e.importParts.filePath);this._addResult(n,{name:e.importParts.importName,alias:t,symbol:e.symbol,kind:null!==(s=e.itemKind)&&void 0!==s?s:y(e.kind),source:e.importParts.importFrom,insertionText:r.insertionText,edits:r.edits})}))})),this._perfInfo.importAliasTimeInMS=this._stopWatch.getDurationInMilliseconds()-s}_addToImportAliasMap(e,t,n){if(!n.has(e.modulePath)){const i=new Map;return i.set(e.originalName,t),void n.set(e.modulePath,i)}const i=n.get(e.modulePath);if(!i.has(e.originalName))return void i.set(e.originalName,t);const s=i.get(e.originalName);this._compareImportAliasData(s,t)<=0||i.set(e.originalName,t)}_compareImportAliasData(e,t){const n=e.importGroup-t.importGroup;if(0!==n)return n;const i=e.importParts.dotCount-t.importParts.dotCount;return 0!==i?i:e.symbol&&!t.symbol?-1:!e.symbol&&t.symbol?1:d.getStringComparer()(e.importParts.importName,t.importParts.importName)}_getImportPartsForSymbols(e){const t=this._importStatements.mapByFilePath.get(e);if(t)return[t.moduleName,(0,A.getImportGroup)(t),{importType:2,isLocalTypingsFile:!1,moduleName:t.moduleName}];{const t=this._getModuleNameAndTypeFromFilePath(e);return[t.moduleName,(0,A.getImportGroupFromModuleNameAndType)(t),t]}}_getImportParts(e){return function(t){const n=t.moduleName;if(!n)return;const i=n.lastIndexOf("."),s=i>0?n.substring(i+1):void 0,r=i>0?n.substring(0,i):void 0;return{symbolName:s,importName:null!=s?s:n,importFrom:r,filePath:e,dotCount:d.getCharacterCount(n,"."),moduleNameAndType:t}}("__init__"===(0,u.stripFileExtension)((0,u.getFileName)(e))?this._getModuleNameAndTypeFromFilePath((0,u.getDirectoryPath)(e)):this._getModuleNameAndTypeFromFilePath(e))}_isSimilar(e,t,n){if(1===n)return e===t;if(e.length<=0||t.length<=0)return!1;if(!this._options.patternMatcher){const n="_"!==e[0]&&"_"===t[0]&&t.length>1?1:0;return e[0].toLocaleLowerCase()===t[n].toLocaleLowerCase()&&d.isPatternInSymbol(e,t)}return this._options.patternMatcher(e,t)}_shouldExclude(e){return this._excludes.has(e,C.CompletionMap.labelOnlyIgnoringAutoImports)}_containsName(e,t,n){if(this._shouldExclude(e))return!0;const i=n.get(e);return!!(null==i?void 0:i.some((e=>e.source===t)))}_getModuleNameAndTypeFromFilePath(e){return this._importResolver.getModuleNameForImport(e,this._execEnvironment)}_getTextEditsForAutoImportByFilePath(e,t,n,i,s){var r,o,a,l,c,p,g,u,d;const h=this._importStatements.mapByFilePath.get(s);if(h){if(20===h.node.nodeType){const t=null===(o=null===(r=h.subnode)||void 0===r?void 0:r.alias)||void 0===o?void 0:o.value;if(e.name)return{insertionText:`${null!=t?t:h.moduleName}.${e.name}`,edits:[]};if(t)return{insertionText:`${t}`,edits:[]}}if(e.name&&22===h.node.nodeType&&!h.node.isWildcardImport){const i=h.node.imports.find((t=>t.name.value===e.name));if(i){const t=null===(a=i.alias)||void 0===a?void 0:a.value;return{insertionText:`${null!=t?t:e.name}`,edits:[]}}if(t.name===h.moduleName)return{insertionText:null!==(l=e.alias)&&void 0!==l?l:n,edits:this._options.lazyEdit?void 0:(0,A.getTextEditsForAutoImportSymbolAddition)(e,h,this._parseResults)}}}else if(e.name){const i=this._importStatements.orderedImports.find((e=>e.moduleName===t.name));if(i&&22===i.node.nodeType&&!i.node.isWildcardImport){const t=i.node.imports.find((t=>t.name.value===e.name));if(!t)return{insertionText:null!==(p=e.alias)&&void 0!==p?p:n,edits:this._options.lazyEdit?void 0:(0,A.getTextEditsForAutoImportSymbolAddition)(e,i,this._parseResults)};{const e=null===(c=t.alias)||void 0===c?void 0:c.value;if(e)return{insertionText:`${e}`,edits:[]}}}const r=null===(g=this._importStatements.implicitImports)||void 0===g?void 0:g.get(s);if(r){const t=null===(u=r.alias)||void 0===u?void 0:u.value;return{insertionText:`${null!=t?t:r.name.value}.${e.name}`,edits:[]}}}return{insertionText:null!==(d=e.alias)&&void 0!==d?d:n,edits:this._options.lazyEdit?void 0:(0,A.getTextEditsForAutoImportInsertion)(e,t,this._importStatements,i,this._parseResults,this._invocationPosition)}}_perfIndexCount(e,t){e.symbol?this._perfInfo.symbolCount++:t&&this._perfInfo.indexCount++}_addResult(e,t){let n=e.get(t.name);n||(n=[],e.set(t.name,n)),n.push(t)}},t.convertSymbolKindToCompletionItemKind=y},7087:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyProvider=void 0;const o=n(7192),a=r(n(5523)),A=r(n(8494)),l=n(427),c=n(1133),p=n(5168),g=n(3213),u=n(6657),d=n(1464),h=n(3550);t.CallHierarchyProvider=class{static getCallForDeclaration(e,t,n,i){if((0,g.throwIfCancellationRequested)(i),5===t.type||6===t.type)return{name:e,kind:y(t,n),uri:t.path,range:t.range,selectionRange:t.range}}static getIncomingCallsForDeclaration(e,t,n,i,s,r){(0,g.throwIfCancellationRequested)(r);const o=new m(e,t,n,i,s,r).findCalls();return o.length>0?o:void 0}static getOutgoingCallsForDeclaration(e,t,n,i){let s;if((0,g.throwIfCancellationRequested)(i),5===e.type)s=e.node;else if(6===e.type){const t=n.getTypeForDeclaration(e);if(t&&(0,c.isInstantiableClass)(t)){const e=(0,p.lookUpClassMember)(t,"__init__",14);if(e){const t=n.getTypeOfMember(e);if(t&&(0,c.isFunction)(t)){const t=e.symbol.getDeclarations();if(t&&t.length>0){const e=t[0];5===e.type&&(s=e.node)}}}}}if(!s)return;const r=new C(s,t,n,i).findCalls();return r.length>0?r:void 0}static getTargetDeclaration(e,t){let n=e[0];for(const i of e)if((a.hasTypeForDeclaration(i)||!a.hasTypeForDeclaration(n))&&(5===i.type||6===i.type)&&(n=i,i.node===t))break;return n}};class C extends l.ParseTreeWalker{constructor(e,t,n,i){super(),this._parseRoot=e,this._parseResults=t,this._evaluator=n,this._cancellationToken=i,this._outgoingCalls=[]}findCalls(){return this.walk(this._parseRoot),this._outgoingCalls}visitCall(e){let t;if((0,g.throwIfCancellationRequested)(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.forEach((e=>{this._addOutgoingCallForDeclaration(t,e)}))}return!0}visitMemberAccess(e){(0,g.throwIfCancellationRequested)(this._cancellationToken);const t=this._evaluator.getType(e.leftExpression);return t&&(0,p.doForEachSubtype)(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!(0,c.isClassInstance)(n))return;const i=(0,p.lookUpObjectMember)(n,e.memberName.value);if(!i)return;const s=this._evaluator.getTypeOfMember(i),r=i.symbol.getDeclarations();s&&(0,c.isClassInstance)(s)&&c.ClassType.isPropertyClass(s)&&r.forEach((t=>{this._addOutgoingCallForDeclaration(e.memberName,t)}))})),!0}_addOutgoingCallForDeclaration(e,t){const n=this._evaluator.resolveAliasDeclaration(t,!0);if(!n)return;if(5!==n.type&&6!==n.type)return;const i={name:e.value,kind:y(n,this._evaluator),uri:n.path,range:n.range,selectionRange:n.range};let s=this._outgoingCalls.find((e=>e.to.uri===i.uri&&(0,h.rangesAreEqual)(e.to.range,i.range)));s||(s={to:i,fromRanges:[]},this._outgoingCalls.push(s));const r=(0,d.convertOffsetsToRange)(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);s.fromRanges.push(r)}}class m extends l.ParseTreeWalker{constructor(e,t,n,i,s,r){super(),this._filePath=e,this._symbolName=t,this._declaration=n,this._parseResults=i,this._evaluator=s,this._cancellationToken=r,this._incomingCalls=[]}findCalls(){return this.walk(this._parseResults.parseTree),this._incomingCalls}visitCall(e){let t;if((0,g.throwIfCancellationRequested)(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t&&t.value===this._symbolName){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.map((e=>this._evaluator.resolveAliasDeclaration(e,!0))).filter((e=>void 0!==e)).some((e=>a.areDeclarationsSame(e,this._declaration)))&&this._addIncomingCallForDeclaration(t)}return!0}visitMemberAccess(e){if((0,g.throwIfCancellationRequested)(this._cancellationToken),e.memberName.value===this._symbolName){const t=this._evaluator.getType(e.leftExpression);t&&(0,p.doForEachSubtype)(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!(0,c.isClassInstance)(n))return;const i=(0,p.lookUpObjectMember)(n,e.memberName.value);if(!i)return;const s=this._evaluator.getTypeOfMember(i),r=i.symbol.getDeclarations();s&&r.some((e=>a.areDeclarationsSame(e,this._declaration)))&&this._addIncomingCallForDeclaration(e.memberName)}))}return!0}_addIncomingCallForDeclaration(e){const t=A.getExecutionScopeNode(e);if(!t)return;let n;if(36===t.nodeType){const e=(0,d.convertOffsetsToRange)(0,0,this._parseResults.tokenizerOutput.lines),t=(0,u.getFileName)(this._filePath);n={name:`(module) ${t}`,kind:o.SymbolKind.Module,uri:this._filePath,range:e,selectionRange:e}}else if(30===t.nodeType){const e=(0,d.convertOffsetsToRange)(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines);n={name:"(lambda)",kind:o.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}else{const e=(0,d.convertOffsetsToRange)(t.name.start,t.name.start+t.name.length,this._parseResults.tokenizerOutput.lines);n={name:t.name.value,kind:o.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}let i=this._incomingCalls.find((e=>e.from.uri===n.uri&&(0,h.rangesAreEqual)(e.from.range,n.range)));i||(i={from:n,fromRanges:[]},this._incomingCalls.push(i));const s=(0,d.convertOffsetsToRange)(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);i.fromRanges.push(s)}}function y(e,t){let n;switch(e.type){case 6:case 7:n=o.SymbolKind.Class;break;case 5:if(e.isMethod){const i=t.getTypeForDeclaration(e);n=i&&(0,p.isProperty)(i)?o.SymbolKind.Property:o.SymbolKind.Method}else n=o.SymbolKind.Function;break;default:n=o.SymbolKind.Function}return n}},8590:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeActionProvider=void 0;const i=n(7192),s=n(3213),r=n(6657),o=n(2122);t.CodeActionProvider=class{static async getCodeActionsForPosition(e,t,n,a,A){(0,s.throwIfCancellationRequested)(A);const l=[];if(!e.disableLanguageServices){const s=await e.serviceInstance.getDiagnosticsForRange(t,n,A),a=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.createtypestub"===e.action))}));if(a){const n=a.getActions().find((e=>"pyright.createtypestub"===e.action));if(n){const s=i.CodeAction.create(o.Localizer.CodeAction.createTypeStubFor().format({moduleName:n.moduleName}),i.Command.create(o.Localizer.CodeAction.createTypeStub(),"pyright.createtypestub",e.path,n.moduleName,t),i.CodeActionKind.QuickFix);l.push(s)}}const c=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.addoptionalforparam"===e.action))}));if(c){const n=c.getActions().find((e=>"pyright.addoptionalforparam"===e.action));if(n){const s=e.serviceInstance.getImportResolver().fileSystem,a=i.CodeAction.create(o.Localizer.CodeAction.addOptionalToAnnotation(),i.Command.create(o.Localizer.CodeAction.addOptionalToAnnotation(),"pyright.addoptionalforparam",(0,r.convertPathToUri)(s,t),n.offsetOfTypeNode),i.CodeActionKind.QuickFix);l.push(a)}}}return l}}},9209:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.CompletionMap=t.CompletionProvider=t.dictionaryKeyDetail=t.autoImportDetail=void 0;const o=n(7192),a=r(n(563)),A=n(8905),l=n(5523),c=n(1272),p=r(n(8494)),g=n(8494),u=n(5083),d=n(8816),h=r(n(1766)),C=n(2917),m=n(9453),y=n(3843),f=n(1133),I=n(5168),E=n(3213),T=n(9489),B=r(n(5839)),v=n(5839),Q=n(1049),_=n(1464),w=n(6886),D=r(n(7559)),S=n(3550),b=n(3550),F=n(8718),k=n(5275),N=n(8566),P=n(8127),x=n(3490);var R,M;!function(e){const t=["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"],n=[...t,"async","await"],i=[...n,"case","match"];e.forVersion=function(e){return e>=w.PythonVersion.V3_10?i:e>=w.PythonVersion.V3_5?n:t}}(R||(R={})),function(e){e[e.LikelyKeyword=0]="LikelyKeyword",e[e.RecentImportModuleName=1]="RecentImportModuleName",e[e.ImportModuleName=2]="ImportModuleName",e[e.LiteralValue=3]="LiteralValue",e[e.NamedParameter=4]="NamedParameter",e[e.RecentKeywordOrSymbol=5]="RecentKeywordOrSymbol",e[e.RecentAutoImport=6]="RecentAutoImport",e[e.Keyword=7]="Keyword",e[e.EnumMember=8]="EnumMember",e[e.NormalSymbol=9]="NormalSymbol",e[e.PrivateSymbol=10]="PrivateSymbol",e[e.DunderSymbol=11]="DunderSymbol",e[e.AutoImport=12]="AutoImport"}(M||(M={})),t.autoImportDetail="Auto-import",t.dictionaryKeyDetail="Dictionary key";class L{constructor(e,t,n,i,s,r,o,a,A,l,c,p,g){this._workspacePath=e,this._parseResults=t,this._fileContents=n,this._importResolver=i,this._position=s,this._filePath=r,this._configOptions=o,this._importLookup=a,this._evaluator=A,this._options=l,this._sourceMapper=c,this._autoImportMaps=p,this._cancellationToken=g,this._insideStringLiteral=void 0,this._execEnv=this._configOptions.findExecEnvironment(this._filePath)}getCompletionsForPosition(){var e,t;const n=(0,_.convertPositionToOffset)(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===n)return;const i=p.getTokenOverlapping(this._parseResults.tokenizerOutput.tokens,n);if(5===(null==i?void 0:i.type)){const e=i;this._insideStringLiteral=b.TextRange.contains(e,n)||65536&e.flags?e:void 0}let s=p.findNodeByOffset(this._parseResults.parseTree,n);const r=s,o=s?p.getNodeDepth(s):0;if(!r||38!==r.nodeType){let t=n,i=!1;for(;t>=0;){t--;const n=this._fileContents.substr(t,1);if("("===n||"\n"===n||"}"===n)break;","===n&&(i=!0);const a=p.findNodeByOffset(this._parseResults.parseTree,t);if(a&&a!==r){p.getNodeDepth(a)>o&&(s=a,i&&23===(null===(e=s.parent)||void 0===e?void 0:e.nodeType)&&(s=s.parent));break}}}if(void 0===s)return;const a=this._parseResults.tokenizerOutput.lines.getItemAt(this._position.line),A=this._fileContents.substr(a.start,a.length),l=A.substr(0,this._position.character),c=A.substr(this._position.character),g=l.search(/\w+$/),u=g>=0?l.substr(g):"";if(this._isWithinComment(n))return;let d=s;for(;d&&0!==d.nodeType;)d=d.parent;let h=d||s;for(;;){if((0,E.throwIfCancellationRequested)(this._cancellationToken),49===h.nodeType)return this._getLiteralCompletions(h,u,l,c);if(48===h.nodeType||27===h.nodeType)return;if(37===h.nodeType)return this._getImportModuleCompletions(h);if(0===h.nodeType)return this._getExpressionErrorCompletions(h,u,l,c);if(35===h.nodeType)return this._getMemberAccessCompletions(h.leftExpression,u);if(15===h.nodeType){const e=new K;if(this._addTypedDictKeys(h,void 0,l,c,e))return{completionMap:e}}const e=p.getFirstAncestorOrSelfOfKind(h,17);if(e&&15===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=e.parent;if(t.trailingCommaToken&&t.trailingCommaToken.starte.label===n&&e.autoImportText===i));if(s>0&&(L._mostRecentCompletions=L._mostRecentCompletions.splice(s,1)),0!==s&&L._mostRecentCompletions.unshift({label:n,autoImportText:i}),L._mostRecentCompletions.length>128&&L._mostRecentCompletions.pop(),t.symbolLabel)if(this._itemToResolve=e,t.autoImportText){if(!e.additionalTextEdits){const e={completionMap:new K};this._addAutoImportCompletions(t.symbolLabel,1,!1,e)}}else this.getCompletionsForPosition()}_tryGetNameCompletions(e,t,n,i,s){var r,o,a;if(!e.parent)return!1;if(21!==e.parent.nodeType||e.parent.alias!==e){if(37===e.parent.nodeType){if(e.parent.parent&&21===e.parent.parent.nodeType&&!e.parent.parent.alias&&b.TextRange.getEnd(e.parent.parent)this._isOverload(e))))?this._getMethodOverloadsCompletions(n,e):void 0;if(!(41===e.parent.nodeType&&e===e.parent.name||10===e.parent.nodeType&&e===e.parent.name||26===e.parent.nodeType&&b.TextRange.contains(e.parent.targetExpression,e.start)||33===e.parent.nodeType&&b.TextRange.contains(e.parent.targetExpression,e.start))){if(3===e.parent.nodeType||4===e.parent.nodeType){if((4===e.parent.nodeType?e.parent.name:e.parent.leftExpression)!==e||0===n.length)return!1;const t=this._evaluator.getDeclarationsForNameNode(e);if(1!==(null==t?void 0:t.length)||!(0,A.isVariableDeclaration)(t[0])||t[0].node!==e)return!1;const r=this._getExpressionCompletions(e,n,i,s);return r&&r.completionMap.delete(e.value),r}if(47===e.parent.nodeType&&50===(null===(o=e.parent.parent)||void 0===o?void 0:o.nodeType)&&10===(null===(a=e.parent.parent.parent)||void 0===a?void 0:a.nodeType)){const t=this._getClassVariableCompletions(n,e);if(t)return t}return!1}}}}_isWithinComment(e){var t,n;const i=function(e,t){const n=t.getItemAtPosition(e);if(n<0)return;let i=t.getItemAt(n);if(!(e>i.start&&e=0;e--){const n=t.getItemAt(e);if(i.start!==n.start)break;i=n}return e<=i.start?i:(B.assert(n+1b.TextRange.overlaps(t,e))))&&void 0!==n&&n}_getExpressionErrorCompletions(e,t,n,i){var s;switch(e.category){case 0:return this._createSingleKeywordCompletion("in");case 1:return this._createSingleKeywordCompletion("else");case 2:{const s=this._parseResults.tokenizerOutput,r=(0,_.convertPositionToOffset)(this._position,s.lines),o=p.getTokenIndexAtLeft(s.tokens,r),a=p.getTokenAtIndex(s.tokens,o);if(20===(null==a?void 0:a.type)||19===(null==a?void 0:a.type))break;if(8!==(null==a?void 0:a.type)||b.TextRange.getEnd(a)!==r)return this._getExpressionCompletions(e,t,n,i);const A=p.getTokenAtIndex(s.tokens,o-1);if(20!==(null==A?void 0:A.type))return this._getExpressionCompletions(e,t,n,i);const l=b.TextRange.getEnd(A),c=p.findNodeByOffset(this._parseResults.parseTree,l);return 0!==(null==c?void 0:c.nodeType)||7!==c.category?this._getExpressionCompletions(e,t,n,i):this._getMissingMemberAccessNameCompletions(c,l,t)}case 4:return this._getExpressionCompletions(e,t,n,i);case 3:{let s=this._getLiteralCompletions(e,t,n,i);return s||(s=this._getExpressionCompletions(e,t,n,i)),s}case 7:{const n=(0,_.convertPositionToOffset)(this._position,this._parseResults.tokenizerOutput.lines);return this._getMissingMemberAccessNameCompletions(e,n,t)}case 10:if(e.child&&38===e.child.nodeType)return(null===(s=e.decorators)||void 0===s?void 0:s.some((e=>this._isOverload(e))))?this._getMethodOverloadsCompletions(t,e.child):this._getMethodOverrideCompletions(t,e.child,e.decorators)}}_getMissingMemberAccessNameCompletions(e,t,n){const i=p.getTokenIndexAtLeft(this._parseResults.tokenizerOutput.tokens,t)-1,s=p.getTokenAtIndex(this._parseResults.tokenizerOutput.tokens,i);if(20!==(null==s?void 0:s.type)&&19!==(null==s?void 0:s.type)&&e.child&&(0,k.isExpressionNode)(e.child))return this._getMemberAccessCompletions(e.child,n)}_isOverload(e){return this._checkDecorator(e,"overload")}_checkDecorator(e,t){return 38===e.expression.nodeType&&e.expression.value===t}_createSingleKeywordCompletion(e){const t=o.CompletionItem.create(e);t.kind=o.CompletionItemKind.Keyword,t.sortText=this._makeSortText(M.LikelyKeyword,e);const n=new K;return n.set(t),{completionMap:n}}_getClassVariableCompletions(e,t){const n=p.getEnclosingClass(t,!1);if(!n)return;const i=this._evaluator.getTypeOfClass(n);if(!i)return;const s=new Map;for(const e of i.classType.details.mro)(0,f.isInstantiableClass)(e)&&(0,I.getMembersForClass)(e,s,!1);const r=(0,d.isStubFile)(this._filePath)?3:2,o=new K;return s.forEach(((i,s)=>{if(h.isPrivateName(s)||i.isPrivateMember()||i.isExternallyHidden()||!D.isPatternInSymbol(t.value,s))return;const a=i.getDeclarations().filter((e=>(0,A.isVariableDeclaration)(e)&&"builtins"!==e.moduleName));if(0===a.length||a.some((e=>e.node&&p.getEnclosingClass(e.node,!1)===n)))return;let l;const c=a.filter((e=>e.typeAnnotationNode));if(c.length>0){const n=`${s}: ${p.printExpression(c[c.length-1].typeAnnotationNode,r)}`;l={textEdit:this._createReplaceEdits(e,t,n)}}this._addSymbol(s,i,t.value,o,{edits:l})})),o.size>0?{completionMap:o}:void 0}_getMethodOverloadsCompletions(e,t){var n;const i=function(e,t){const n=p.getEnclosingClass(t,!1);if(n){const t=e.getTypeOfClass(n);if(!t)return;const i=new Map;for(const e of t.classType.details.mro)(0,f.isInstantiableClass)(e)&&(0,I.getMembersForClass)(e,i,!1);return i}const i=p.getEnclosingModule(t);if(i){const e=a.getScope(i);return null==e?void 0:e.symbolTable}}(this._evaluator,t);if(!i)return;const s=28===(null===(n=t.parent)||void 0===n?void 0:n.nodeType)||void 0,r=new K,o=p.getEnclosingFunction(t);return i.forEach(((n,i)=>{const a=(0,C.getLastTypedDeclaredForSymbol)(n);if(!a||5!==a.type)return;if(!a.node.decorators.some((e=>this._isOverload(e))))return;const A=n.getDeclarations();if((1!==A.length||!A.some((e=>e.node===o)))&&D.isPatternInSymbol(t.value,i)){const o=this._createReplaceEdits(e,t,a.node.name.value);this._addSymbol(i,n,t.value,r,{funcParensDisabled:s,edits:{textEdit:o}})}})),{completionMap:r}}_getMethodOverrideCompletions(e,t,n){var i,s;const r=p.getEnclosingClass(t,!0);if(!r)return;const a=this._evaluator.getTypeOfClass(r);if(!a)return;const A=new Map;for(let e=1;ethis._checkDecorator(e,"staticmethod"))))&&void 0!==i&&i,c=null!==(s=null==n?void 0:n.some((e=>this._checkDecorator(e,"classmethod"))))&&void 0!==s&&s,g=new K;return A.forEach(((n,i)=>{let s=(0,C.getLastTypedDeclaredForSymbol)(n);if(s&&5===s.type&&D.isPatternInSymbol(t.value,i)){const r=this._evaluator.getTypeForDeclaration(s);if(!r)return;let A=(0,f.isClassInstance)(r)&&f.ClassType.isPropertyClass(r);if(h.isDunderName(i)&&(A=!1),!(0,f.isFunction)(r)&&!A)return;if(A){const e=n.getTypedDeclarations();e.length>0&&5===e[0].type&&(s=e[0])}const p=(0,f.isFunction)(r)&&f.FunctionType.isStaticMethod(r),u=(0,f.isFunction)(r)&&f.FunctionType.isClassMethod(r)&&"__init_subclass__"!==i;if(l!==p||c!==u)return;const C=this._printMethodSignature(a.classType,s);let m;m=(0,d.isStubFile)(this._filePath)?`${C}: ...`:`${C}:\n${this._printOverriddenMethodBody(a.classType,p,A,s)}`;const y=this._createReplaceEdits(e,t,m);this._addSymbol(i,n,t.value,g,{funcParensDisabled:!0,edits:{format:this._options.snippet?o.InsertTextFormat.Snippet:void 0,textEdit:y}})}})),{completionMap:g}}_createReplaceEdits(e,t,n){const i=38===(null==t?void 0:t.nodeType)?this._position.character-e.length+t.value.length:this._position.character,s={start:{line:this._position.line,character:this._position.character-e.length},end:{line:this._position.line,character:i}};return o.TextEdit.replace(s,n)}_printMethodSignature(e,t){const n=t.node;let i;(0,d.isStubFile)(this._filePath)?i=!0:e.details.moduleName===t.moduleName&&(i=!1);const s=(0,d.isStubFile)(this._filePath)?3:2,r=n.parameters.map(((e,t)=>{let r="";1===e.category?r+="*":2===e.category&&(r+="**"),e.name&&(r+=e.name.value);const o=p.getTypeAnnotationForParameter(n,t);return o&&(r+=": "+p.printExpression(o,s)),e.defaultValue&&(r+=o?" = ":"=",r+=(null!=i?i:!a(e.defaultValue))?"...":p.printExpression(e.defaultValue,s)),r||e.name||0!==e.category?r:"/"})).join(", ");let o=n.name.value+"("+r+")";return n.returnTypeAnnotation?o+=" -> "+p.printExpression(n.returnTypeAnnotation,s):n.functionAnnotationComment&&(o+=" -> "+p.printExpression(n.functionAnnotationComment.returnTypeAnnotation,s)),o;function a(e){switch(e.nodeType){case 40:case 11:return!0;case 49:return 0==(64&e.token.flags);case 48:return e.strings.every(a);case 55:return a(e.expression);case 7:return a(e.leftExpression)&&a(e.rightExpression);default:return!1}}}_printOverriddenMethodBody(e,t,n,i){let s=this._parseResults.tokenizerOutput.predominantTabSequence;if(1===e.details.baseClasses.length&&(0,f.isClass)(e.details.baseClasses[0])&&"builtins.object"===e.details.baseClasses[0].details.fullName)return s+=this._options.snippet?"${0:pass}":"pass",s;if(0===i.node.parameters.length)return s+=this._options.snippet?"${0:pass}":"pass",s;const r=function(e){const t=[];let n=!1;for(const i of e)i.name&&t.push([i,n]),n=1===i.category||2===i.category;return t}(t?i.node.parameters:i.node.parameters.slice(1));return"__init__"!==i.node.name.value&&(s+="return "),i.node.isAsync&&(s+="await "),n?s+`super().${i.node.name.value}`:s+`super().${i.node.name.value}(${r.map((function(e){var t;const n=null===(t=e[0].name)||void 0===t?void 0:t.value;return 1===e[0].category?`*${n}`:2===e[0].category?`**${n}`:e[1]?`${n}=${n}`:n})).join(", ")})`}_getMemberAccessCompletions(e,t){const n=new Map,i=new K;let s={},r=this._evaluator.getType(e);return r&&(r=this._evaluator.makeTopLevelTypeVarsConcrete(r),(0,I.doForEachSubtype)(r,(s=>{if(s=this._evaluator.makeTopLevelTypeVarsConcrete(s),(0,f.isClass)(s))(0,I.getMembersForClass)(s,n,f.TypeBase.isInstance(s));else if((0,f.isModule)(s))(0,I.getMembersForModule)(s,n);else if((0,f.isFunction)(s)||(0,f.isOverloadedFunction)(s)){const t=this._evaluator.getBuiltInType(e,"function");t&&(0,f.isInstantiableClass)(t)&&(0,I.getMembersForClass)(t,n,!0)}else if((0,f.isNoneInstance)(s)){const t=this._evaluator.getBuiltInType(e,"object");t&&(0,f.isInstantiableClass)(t)&&(0,I.getMembersForClass)(t,n,f.TypeBase.isInstance(s))}this._addSymbolsForSymbolTable(n,(()=>!0),t,!1,(0,f.isClass)(s)?s:void 0,i)}))),(!r||(0,f.isUnknown)(r)||(0,f.isUnbound)(r))&&(s=this._getLastKnownModule(e,r)),{completionMap:i,memberAccessInfo:s}}_getLastKnownModule(e,t){var n;let i=e,s=t,r=35===e.nodeType?null==e?void 0:e.memberName.value:void 0;for(;i&&(9===i.nodeType||35===i.nodeType?(i=i.leftExpression,void 0===r&&(r=35===i.nodeType&&null!==(n=null==i?void 0:i.memberName.value)&&void 0!==n?n:"")):i=void 0,!i||(s=this._evaluator.getType(i),void 0===s||(0,f.isUnknown)(s)||(0,f.isUnbound)(s))););const o={};if(s&&!(0,f.isUnknown)(s)&&!(0,f.isUnbound)(s)&&i){const e=(0,I.getDeclaringModulesForType)(s);o.lastKnownModule=e.find((e=>"typing"!==e)),35===i.nodeType?o.lastKnownMemberName=i.memberName.value:(38===i.nodeType&&(0,f.isInstantiableClass)(s)||38===i.nodeType&&(0,f.isClassInstance)(s))&&(o.lastKnownMemberName=s.details.name),o.unknownMemberName=r}return o}_getStatementCompletions(e,t,n,i){return this._getExpressionCompletions(e,t,n,i)}_getExpressionCompletions(e,n,i,s){var r,a,A,l;const c=this._isIndexArgument(e);if(!c&&40===e.nodeType)return;if(59===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)&&e.parent===(null===(a=e.parent.target)||void 0===a?void 0:a.parent))return;const p=new K,g={completionMap:p};if(".."===i.slice(-2))return g;if(this._addCallArgumentCompletions(e,n,i,s,!1,p),this._addSymbols(e,n,p),this._findMatchingKeywords(R.forVersion(this._execEnv.pythonVersion),n).map((e=>{if(p.has(e))return;const t=o.CompletionItem.create(e);t.kind=o.CompletionItemKind.Keyword,t.sortText=this._makeSortText(M.Keyword,e),p.set(t)})),n.startsWith("_")||this._itemToResolve||this._addAutoImportCompletions(n,.25,this._options.lazyEdit,g),0===e.nodeType)if(3===e.category&&24===(null===(A=e.parent)||void 0===A?void 0:A.nodeType))this._tryAddTypedDictStringLiteral(e.parent,void 0,void 0,p);else if(2===e.category&&e.parent&&3===e.parent.nodeType){const t=null===(l=this._evaluator.getExpectedType(e))||void 0===l?void 0:l.type;t&&this._addLiteralValuesForTargetType(t,i,n,s,p)}if(c){const i=e.parent.parent;this._getIndexerKeys(i,e).forEach((e=>{p.has(e)||this._addNameToCompletions(e,o.CompletionItemKind.Constant,n,p,{sortText:this._makeSortText(M.LiteralValue,e),itemDetail:t.dictionaryKeyDetail})}))}return g}_isIndexArgument(e){const t=e.parent;return t&&1===t.nodeType&&0===t.argumentCategory&&t.parent&&24===t.parent.nodeType&&t.parent.baseExpression&&38===t.parent.baseExpression.nodeType}_addCallArgumentCompletions(e,t,n,i,s,r){const o=(0,_.convertPositionToOffset)(this._position,this._parseResults.tokenizerOutput.lines),a=(0,g.getCallNodeAndActiveParameterIndex)(e,o,this._parseResults.tokenizerOutput.tokens);if(!a)return;const A=this._evaluator.getCallSignatureInfo(a.callNode,a.activeIndex,a.activeOrFake);if(A){const e=(0,_.convertOffsetToPosition)(A.callNode.leftExpression.start+A.callNode.leftExpression.length,this._parseResults.tokenizerOutput.lines);(0,S.comparePositions)(this._position,e)>0&&(s||this._addNamedParameters(A,t,r),this._addLiteralValuesForArgument(A,n,t,i,r))}}_addLiteralValuesForArgument(e,t,n,i,s){e.signatures.forEach((e=>{if(!e.activeParam)return;const r=e.type,o=r.details.parameters.indexOf(e.activeParam);if(o<0)return;const a=r.details.parameters[o].type;this._addLiteralValuesForTargetType(a,t,n,i,s)}))}_addLiteralValuesForTargetType(e,t,n,i,s){const r=this._getQuoteInfo(t);this._getSubTypesWithLiteralValues(e).forEach((e=>{if(f.ClassType.isBuiltIn(e,"str")){const t=(0,y.printLiteralValue)(e,r.quoteCharacter);void 0===r.stringValue?this._addNameToCompletions(t,o.CompletionItemKind.Constant,n,s,{sortText:this._makeSortText(M.LiteralValue,e.literalValue)}):this._addStringLiteralToCompletions(t.substr(1,t.length-2),r.stringValue,i,r.quoteCharacter,s)}}))}_getDictExpressionStringKeys(e,t){const n=function(e){if(15===e.nodeType)return e;let t=e;for(;t&&15!==t.nodeType&&45!==t.nodeType;)if(t=t.parent,!t)return;return t}(e);return n?n.entries.flatMap((e=>17!==e.nodeType||(null==t?void 0:t.has(e.keyExpression.id))?[]:48===e.keyExpression.nodeType?[e.keyExpression.strings.map((e=>e.value)).join("")]:[])):[]}_getSubTypesWithLiteralValues(e){const t=[];return(0,I.doForEachSubtype)(e,(e=>{(0,f.isClassInstance)(e)&&(0,I.isLiteralType)(e)&&t.push(e)})),t}_getIndexerKeyType(e){var t;if((f.ClassType.isBuiltIn(e,"dict")||f.ClassType.isBuiltIn(e,"Mapping"))&&2===(null===(t=e.typeArguments)||void 0===t?void 0:t.length))return e.typeArguments[0];const n=(0,I.lookUpObjectMember)(e,"__getitem__");if(null==n?void 0:n.symbol.hasDeclarations()){const e=n.symbol.getDeclarations()[0];if((0,A.isFunctionDeclaration)(e)&&e.isMethod){const t=this._evaluator.getTypeForDeclaration(e);if(t&&(0,f.isFunction)(t)&&2===t.details.parameters.length)return t.details.parameters[1].type}}}_getIndexerKeys(e,t){var n,i,s,r,o,a,A,l,c;if(38!==e.baseExpression.nodeType)return[];const g=this._evaluator.getType(e.baseExpression);if(!g||!(0,f.isClassInstance)(g))return[];const u=this._getIndexerKeyType(g);if(u){const e=[];if(this._getSubTypesWithLiteralValues(u).forEach((t=>{(f.ClassType.isBuiltIn(t,"str")||f.ClassType.isBuiltIn(t,"int")||f.ClassType.isBuiltIn(t,"bool")||f.ClassType.isBuiltIn(t,"bytes")||f.ClassType.isEnumClass(t))&&e.push((0,y.printLiteralValue)(t,this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter))})),e.length>0)return e}const d=null!==(n=this._evaluator.getDeclarationsForNameNode(e.baseExpression))&&void 0!==n?n:[],h=d.length>0?d[0]:void 0;if(!h||1!==h.type&&2!==h.type)return[];if(h.path!==this._filePath)return[];let C=e.baseExpression;if(h.node){const e=p.getEvaluationScopeNode(h.node);(null===(i=p.getFileInfoFromNode(C))||void 0===i?void 0:i.filePath)===(null===(s=p.getFileInfoFromNode(e))||void 0===s?void 0:s.filePath)&&(C=e)}const m=P.DocumentSymbolCollector.collectFromNode(e.baseExpression,this._evaluator,this._cancellationToken,C),I=new Set;for(const e of m){const n=54===(null===(r=e.node.parent)||void 0===r?void 0:r.nodeType)?e.node.parent:e.node;if(3===(null===(o=n.parent)||void 0===o?void 0:o.nodeType)||4===(null===(a=n.parent)||void 0===a?void 0:a.nodeType)){if(15===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression;for(const t of e.entries.filter((e=>17===e.nodeType))){const e=this._parseResults.text.substr(t.keyExpression.start,t.keyExpression.length).trim();e.length>0&&I.add(e)}}if(9===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression,t=this._evaluator.getType(e.leftExpression);if(!t||!(0,f.isInstantiableClass)(t)||!f.ClassType.isBuiltIn(t,"dict"))continue;for(const t of e.arguments){const e=null!==(l=null===(A=t.name)||void 0===A?void 0:A.value.trim())&&void 0!==l?l:"",n=this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter;e.length>0&&I.add(`${n}${e}${n}`)}}}if(24===(null===(c=n.parent)||void 0===c?void 0:c.nodeType)&&1===n.parent.items.length&&0!==n.parent.items[0].valueExpression.nodeType&&!b.TextRange.containsRange(n.parent,t)){const e=n.parent.items[0],t=this._parseResults.text.substr(e.valueExpression.start,e.valueExpression.length).trim();t.length>0&&I.add(t)}}return[...I]}_getLiteralCompletions(e,n,i,s){var r,a,A;let l=e.parent;if(!l)return;const c=new K;if((0,k.isExpressionNode)(l)){const t=this._evaluator.getExpectedType(l);if(t&&(0,I.isLiteralTypeOrUnion)(t.type))return this._addLiteralValuesForTargetType(t.type,i,n,s,c),{completionMap:c};if(49===e.nodeType&&(null===(r=e.parent)||void 0===r?void 0:r.parent)){const t=e.parent.parent;let n;if(17===t.nodeType&&t.keyExpression===e.parent&&15===(null===(a=t.parent)||void 0===a?void 0:a.nodeType)?n=t.parent:45===(null==t?void 0:t.nodeType)&&(n=t),n&&this._addTypedDictKeys(n,e,i,s,c))return{completionMap:c}}}if(1!==l.nodeType){if(48!==l.nodeType||l.strings.length>1)return;if(l=l.parent,!l)return}if(1===l.nodeType&&24===(null===(A=l.parent)||void 0===A?void 0:A.nodeType)){const r=49===e.nodeType?i:"";if(!this._tryAddTypedDictStringLiteral(l.parent,r,s,c)){const i=this._getIndexerKeys(l.parent,e),a=this._getQuoteInfo(r);for(const r of i){const i=/^["|'].*["|']$/.test(r);if(49!==e.nodeType||i)if(i){const e=r.substr(1,r.length-2);this._addStringLiteralToCompletions(e,a.stringValue,s,a.quoteCharacter,c,t.dictionaryKeyDetail)}else this._addNameToCompletions(r,o.CompletionItemKind.Constant,n,c,{sortText:this._makeSortText(M.LiteralValue,r),itemDetail:t.dictionaryKeyDetail})}if(0===c.size)return}}else{B.assert(49===e.nodeType);const t=(0,_.convertPositionToOffset)(this._position,this._parseResults.tokenizerOutput.lines),r=l.start{(0,f.isClassInstance)(e)&&f.ClassType.isTypedDictClass(e)&&a.push(e)})),0===a.length)return!1;const A=this._getDictExpressionStringKeys(e,t?new Set([null===(r=t.parent)||void 0===r?void 0:r.id]):void 0);a=this._tryNarrowTypedDicts(a,A);const l=this._getQuoteInfo(n),c=new Set(A);return a.forEach((e=>{(0,m.getTypedDictMembersForClass)(this._evaluator,e,!0).forEach(((e,t)=>{c.has(t)||s.has(t)||(c.add(t),this._addStringLiteralToCompletions(t,l?l.stringValue:void 0,i,l?l.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,s))}))})),!0}_tryNarrowTypedDicts(e,t){const n=e.flatMap((e=>{const n=(0,m.getTypedDictMembersForClass)(this._evaluator,e,!0);for(let e=0;es?(t=e.substr(i+1),n="'"):s>i&&(t=e.substr(s+1),n='"')}return 64&this._insideStringLiteral.flags&&(n=1&this._insideStringLiteral.flags?'"':"'"),{stringValue:t,quoteCharacter:n}}_tryAddTypedDictStringLiteral(e,t,n,i){if(!e)return!1;const s=this._evaluator.getType(e.baseExpression);if(!s)return!1;let r=!1;return(0,I.doForEachSubtype)(s,(e=>{if(!(0,f.isClassInstance)(e))return;if(!f.ClassType.isTypedDictClass(e))return;const s=(0,m.getTypedDictMembersForClass)(this._evaluator,e,!0),o=this._getQuoteInfo(t);s.forEach(((e,t)=>{this._addStringLiteralToCompletions(t,o.stringValue,n,o.quoteCharacter,i)})),r=!0})),r}_addStringLiteralToCompletions(e,t,n,i,s,r){if(D.isPatternInSymbol(t||"",e)){const a=`${i}${e}${i}`;if(s.has(a))return;const A=o.CompletionItem.create(a);A.kind=o.CompletionItemKind.Constant,A.sortText=this._makeSortText(M.LiteralValue,a);let l=this._position.character;void 0!==t&&(l-=t.length+1);let c=this._position.character;void 0!==n&&n.startsWith(i)&&c++;const p={start:{line:this._position.line,character:l},end:{line:this._position.line,character:c}};A.textEdit=o.TextEdit.replace(p,a),A.detail=r,s.set(A)}}_addAutoImportCompletions(e,t,n,i){var s,r,a;if(!this._configOptions.autoImportCompletions||!this._options.autoImport)return;const A=this._autoImportMaps.getModuleSymbolsMap(),l=new N.AutoImporter(this._execEnv,this._importResolver,this._parseResults,this._position,i.completionMap,A,{libraryMap:this._autoImportMaps.libraryMap,lazyEdit:n,importFormat:this._options.importFormat}),c=[],p=null===(s=this._autoImportMaps.nameMap)||void 0===s?void 0:s.get(e);p&&e.length>1&&!i.completionMap.has(e)&&(0,T.appendArray)(c,l.getAutoImportCandidatesForAbbr(e,p,this._cancellationToken)),c.push(...l.getAutoImportCandidates(e,t,void 0,this._cancellationToken));const g=l.getPerfInfo(),u=new F.Duration;for(const t of c)t.symbol?this._addSymbol(t.name,t.symbol,e,i.completionMap,{extraCommitChars:!0,autoImportSource:t.source,autoImportAlias:t.alias,edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}}):this._addNameToCompletions(null!==(r=t.alias)&&void 0!==r?r:t.name,null!==(a=t.kind)&&void 0!==a?a:o.CompletionItemKind.Module,e,i.completionMap,{extraCommitChars:!0,autoImportText:this._getAutoImportText(t.name,t.source,t.alias),edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}});i.autoImportInfo={indexUsed:g.indexUsed,totalTimeInMS:g.totalInMs,moduleTimeInMS:g.moduleTimeInMS,indexTimeInMS:g.indexTimeInMS,importAliasTimeInMS:g.importAliasTimeInMS,itemCount:c.length,symbolCount:g.symbolCount,indexCount:g.indexCount,importAliasCount:g.importAliasCount,additionTimeInMS:u.getDurationInMilliseconds()}}_getImportFromCompletions(e,t){if(e.isWildcardImport)return;const n=a.getImportInfo(e.module);if(!n)return;const i=new K,s=n.resolvedPaths.length>0?n.resolvedPaths[n.resolvedPaths.length-1]:"",r=this._importLookup(s);return r&&this._addSymbolsForSymbolTable(r.symbolTable,((t,n)=>t.getDeclarations().some((e=>!(0,A.isIntrinsicDeclaration)(e)))&&!e.imports.find((e=>e.name.value===n))),t,!0,void 0,i),n.implicitImports.forEach((n=>{e.imports.find((e=>e.name.value===n.name))||this._addNameToCompletions(n.name,o.CompletionItemKind.Module,t,i)})),{completionMap:i}}_findMatchingKeywords(e,t){return e.filter((e=>!t||D.isPatternInSymbol(t,e)))}_addNamedParameters(e,t,n){const i=new Map;e.signatures.forEach((e=>{this._addNamedParametersToMap(e.type,i)})),e.callNode.arguments.forEach((e=>{e.name&&i.delete(e.name.value)})),i.forEach((e=>{if(D.isPatternInSymbol(t,e)){const t=e+"=";if(n.has(t))return;const i=o.CompletionItem.create(t);i.kind=o.CompletionItemKind.Variable;const s={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};i.data=(0,Q.toLSPAny)(s),i.sortText=this._makeSortText(M.NamedParameter,e),i.filterText=e,n.set(i)}}))}_addNamedParametersToMap(e,t){e.details.parameters.forEach((e=>{e.name&&!e.isNameSynthesized&&(h.isPrivateOrProtectedName(e.name)||t.set(e.name,e.name))}))}_addSymbols(e,t,n){let i=e;for(;i;){let e=(0,u.getScopeForNode)(i);if(e){for(;e;)this._addSymbolsForSymbolTable(e.symbolTable,(()=>!0),t,!1,void 0,n),e=e.parent;if(10===i.nodeType){const e=this._evaluator.getTypeOfClass(i);e&&(0,f.isInstantiableClass)(e.classType)&&e.classType.details.mro.forEach(((e,i)=>{(0,f.isInstantiableClass)(e)&&this._addSymbolsForSymbolTable(e.details.fields,(e=>!!e.isClassMember()&&e.getDeclarations().some((e=>1===e.type))),t,!1,void 0,n)}))}break}i=i.parent}}_addSymbolsForSymbolTable(e,t,n,i,s,r){e.forEach(((e,o)=>{(!e.isExternallyHidden()||e.getDeclarations().some((e=>(0,l.isDefinedInFile)(e,this._filePath))))&&t(e,o)&&(r.has(o)||this._addSymbol(o,e,n,r,{boundObjectOrClass:s,funcParensDisabled:i,extraCommitChars:!i}))}))}_addSymbol(e,t,n,i,s){var r,a;if(t.isPrivatePyTypedImport())return;let A=(0,C.getLastTypedDeclaredForSymbol)(t);if(!A){const e=t.getDeclarations();e.length>0&&(A=e[e.length-1])}if(A){let l=o.CompletionItemKind.Variable;if(A=this._evaluator.resolveAliasDeclaration(A,!0),A&&(l=this._convertDeclarationTypeToItemKind(A),1===A.type&&s.boundObjectOrClass&&(0,f.isInstantiableClass)(s.boundObjectOrClass)&&f.ClassType.isEnumClass(s.boundObjectOrClass)&&3===(null===(r=A.node.parent)||void 0===r?void 0:r.nodeType)&&(l=o.CompletionItemKind.EnumMember),this._itemToResolve)){const n=(0,Q.fromLSPAny)(this._itemToResolve.data);if(n.symbolLabel===e&&!n.autoImportText){const n=this._evaluator.getEffectiveTypeOfSymbol(t);if(n){let i,r;switch(A.type){case 0:case 1:case 2:case 3:{let t=!1;if(n&&f.TypeBase.isInstantiable(n)){const i=(0,f.getTypeAliasInfo)(n);i&&i.name===e&&(t=!0)}i=e+": "+this._evaluator.printType(n,t);break}case 5:{const t=s.boundObjectOrClass&&((0,f.isFunction)(n)||(0,f.isOverloadedFunction)(n))?this._evaluator.bindFunctionToClassOrObject(s.boundObjectOrClass,n):n;if(t)if((0,I.isProperty)(t)&&s.boundObjectOrClass&&(0,f.isClassInstance)(s.boundObjectOrClass)){const n=this._evaluator.getGetterTypeFromProperty(t,!0)||f.UnknownType.create();i=e+": "+this._evaluator.printType(n,!1)+" (property)"}else i=(0,f.isOverloadedFunction)(t)?(0,x.getOverloadedFunctionTooltip)(t,this._evaluator,35):e+": "+this._evaluator.printType(t,!1);break}case 6:case 7:i="class "+e+"()";break;case 8:if(i=e,A.path){const e=this._importLookup(A.path);e&&(r=e.docString)}break;default:i=e}if(r=(0,x.getDocumentationPartsForTypeAndDecl)(this._sourceMapper,n,A,this._evaluator,t,s.boundObjectOrClass),this._options.format===o.MarkupKind.Markdown){let e="```python\n"+i+"\n```\n";r&&(e+="---\n",e+=(0,c.convertDocStringToMarkdown)(r)),e=e.trimEnd(),this._itemToResolve.documentation={kind:o.MarkupKind.Markdown,value:e}}else if(this._options.format===o.MarkupKind.PlainText){let e=i+"\n";r&&(e+="\n",e+=(0,c.convertDocStringToPlainText)(r)),e=e.trimEnd(),this._itemToResolve.documentation={kind:o.MarkupKind.PlainText,value:e}}else(0,v.fail)(`Unsupported markup type: ${this._options.format}`)}}}const p=s.autoImportSource?this._getAutoImportText(e,s.autoImportSource,s.autoImportAlias):void 0;this._addNameToCompletions(null!==(a=s.autoImportAlias)&&void 0!==a?a:e,l,n,i,{autoImportText:p,extraCommitChars:s.extraCommitChars,funcParensDisabled:s.funcParensDisabled,edits:s.edits})}else if(t.getSynthesizedType()){const t=o.CompletionItemKind.Variable;this._addNameToCompletions(e,t,n,i,{extraCommitChars:s.extraCommitChars,funcParensDisabled:s.funcParensDisabled,edits:s.edits})}}_getAutoImportText(e,t,n){const i=(0,x.getAutoImportText)(e,t,n);let s="";return this._options.format===o.MarkupKind.Markdown?s=`\`\`\`\n${i}\n\`\`\``:this._options.format===o.MarkupKind.PlainText?s=i:(0,v.fail)(`Unsupported markup type: ${this._options.format}`),{source:null!=t?t:"",importText:s}}_addNameToCompletions(e,n,i,s,r){var a,A,l,p;if(!(null==r?void 0:r.autoImportText)&&!D.isPatternInSymbol(i,e))return;if(s.has(e,K.matchKindAndImportText,n,null===(a=null==r?void 0:r.autoImportText)||void 0===a?void 0:a.importText))return;const g=o.CompletionItem.create(e);g.kind=n,(null==r?void 0:r.extraCommitChars)&&this._addExtraCommitChar(g,...this._getExtraCommitCharsForKind(n));const u={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};if((null==r?void 0:r.funcParensDisabled)&&(u.funcParensDisabled=!0),g.data=(0,Q.toLSPAny)(u),(null==r?void 0:r.sortText)||(null==r?void 0:r.itemDetail)?(g.sortText=r.sortText,g.detail=r.itemDetail):(null==r?void 0:r.autoImportText)?(g.sortText=this._makeSortText(M.AutoImport,e,r.autoImportText.importText),u.autoImportText=r.autoImportText.importText,g.detail=t.autoImportDetail,r.autoImportText.source&&(g.labelDetails={description:r.autoImportText.source})):n===o.CompletionItemKind.EnumMember?g.sortText=this._makeSortText(M.EnumMember,e):h.isDunderName(e)?g.sortText=this._makeSortText(M.DunderSymbol,e):""===i&&h.isPrivateOrProtectedName(e)?g.sortText=this._makeSortText(M.PrivateSymbol,e):g.sortText=this._makeSortText(M.NormalSymbol,e),u.symbolLabel=e,this._options.format===o.MarkupKind.Markdown){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText.importText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+="```python\n"+r.typeDetail+"\n```\n"),(null==r?void 0:r.documentation)&&(e+="---\n",e+=(0,c.convertDocStringToMarkdown)(r.documentation)),e=e.trimEnd(),e&&(g.documentation={kind:o.MarkupKind.Markdown,value:e})}else if(this._options.format===o.MarkupKind.PlainText){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText.importText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+=r.typeDetail+"\n"),(null==r?void 0:r.documentation)&&(e+="\n"+(0,c.convertDocStringToPlainText)(r.documentation)),e=e.trimEnd(),e&&(g.documentation={kind:o.MarkupKind.PlainText,value:e})}else(0,v.fail)(`Unsupported markup type: ${this._options.format}`);(null===(A=null==r?void 0:r.edits)||void 0===A?void 0:A.format)&&(g.insertTextFormat=r.edits.format),(null===(l=null==r?void 0:r.edits)||void 0===l?void 0:l.textEdit)&&(g.textEdit=r.edits.textEdit),(null===(p=null==r?void 0:r.edits)||void 0===p?void 0:p.additionalTextEdits)&&(g.additionalTextEdits=r.edits.additionalTextEdits.map((e=>({range:{start:{line:e.range.start.line,character:e.range.start.character},end:{line:e.range.end.line,character:e.range.end.character}},newText:e.replacementText}))),this._itemToResolve)&&(0,Q.fromLSPAny)(this._itemToResolve.data).autoImportText===u.autoImportText&&(this._itemToResolve.additionalTextEdits=g.additionalTextEdits),s.set(g)}_getRecentListIndex(e,t){return L._mostRecentCompletions.findIndex((n=>n.label===e&&n.autoImportText===t))}_makeSortText(e,t,n=""){const i=this._getRecentListIndex(t,n);return i>=0&&(e===M.AutoImport?e=M.RecentAutoImport:e===M.ImportModuleName?e=M.RecentImportModuleName:e!==M.Keyword&&e!==M.NormalSymbol&&e!==M.PrivateSymbol&&e!==M.DunderSymbol||(e=M.RecentKeywordOrSymbol)),this._formatInteger(e,2)+"."+this._formatInteger(i,4)+"."+t}_formatInteger(e,t){const n="0".charCodeAt(0);let i="";for(let s=0;se.value)),importedSymbols:[]},n=this._importResolver.getCompletionSuggestions(this._filePath,this._execEnv,t),i=new K;if(!e.hasTrailingDot&&e.parent&&22===e.parent.nodeType&&e.parent.missingImportKeyword){const e="import",t=o.CompletionItem.create(e);t.kind=o.CompletionItemKind.Keyword,t.sortText=this._makeSortText(M.Keyword,e),i.set(t)}return n.forEach((e=>{if(i.has(e))return;const t=o.CompletionItem.create(e);t.kind=o.CompletionItemKind.Module,t.sortText=this._makeSortText(M.ImportModuleName,e),i.set(t)})),{completionMap:i}}_getExtraCommitCharsForKind(e){switch(e){case o.CompletionItemKind.Class:return[".","("];case o.CompletionItemKind.Function:case o.CompletionItemKind.Method:return["("];case o.CompletionItemKind.Module:case o.CompletionItemKind.Enum:return["."];default:return[]}}_addExtraCommitChar(e,...t){this._options.extraCommitChars&&0!==t.length&&(e.commitCharacters=t)}_isPossiblePropertyDeclaration(e){return e.isMethod&&e.node.decorators.length>0}}t.CompletionProvider=L,L._mostRecentCompletions=[];class K{constructor(){this._completions=new Map}get size(){return this._completions.size}set(e){const t=this._completions.get(e.label);t?Array.isArray(t)?t.push(e):this._completions.set(e.label,[t,e]):this._completions.set(e.label,e)}get(e){return this._completions.get(e)}has(e,t,n,i){const s=this._completions.get(e);return!!s&&(!t||t(s,n,i))}clear(){this._completions.clear()}delete(e){return this._completions.delete(e)}toArray(){var e;const t=[];return null===(e=this._completions)||void 0===e||e.forEach((e=>{Array.isArray(e)?e.forEach((e=>{t.push(e)})):t.push(e)})),t}static matchKindAndImportText(e,t,n){var i;return Array.isArray(e)?!!e.find((e=>{var i;return e.kind===t&&(null===(i=O(e))||void 0===i?void 0:i.autoImportText)===n})):e.kind===t&&(null===(i=O(e))||void 0===i?void 0:i.autoImportText)===n}static labelOnlyIgnoringAutoImports(e){var t;if(Array.isArray(e)){if(e.find((e=>{var t;return!(null===(t=O(e))||void 0===t?void 0:t.autoImportText)})))return!0}else if(!(null===(t=O(e))||void 0===t?void 0:t.autoImportText))return!0;return!1}}function O(e){return(0,Q.fromLSPAny)(e.data)}t.CompletionMap=K},3778:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.DefinitionProvider=t.DefinitionFilter=void 0;const o=n(563),a=n(8905),A=r(n(8494)),l=n(8816),c=n(1133),p=n(5168),g=n(3213),u=n(9489),d=n(2489),h=n(1464),C=n(3550);var m;!function(e){e.All="all",e.PreferSource="preferSource",e.PreferStubs="preferStubs"}(m=t.DefinitionFilter||(t.DefinitionFilter={}));class y{static getDefinitionsForPosition(e,t,n,i,s,r){(0,g.throwIfCancellationRequested)(r);const o=(0,h.convertPositionToOffset)(n,t.tokenizerOutput.lines);if(void 0===o)return;const a=A.findNodeByOffset(t.parseTree,o);if(void 0===a)return;const c=[];if(38===a.nodeType){const t=s.getDeclarationsForNameNode(a);y._resolveDeclarations(t,s,c,e)}else if(49===a.nodeType){const t=s.getDeclarationsForStringNode(a);y._resolveDeclarations(t,s,c,e)}if(0===c.length)return;if(i===m.All)return c;const p=i===m.PreferStubs,u=e=>p===(0,l.isStubFile)(e.path);return c.find(u)?c.filter(u):c}static getTypeDefinitionsForPosition(e,t,n,i,s,r){var o;(0,g.throwIfCancellationRequested)(r);const a=(0,h.convertPositionToOffset)(n,t.tokenizerOutput.lines);if(void 0===a)return;const l=A.findNodeByOffset(t.parseTree,a);if(void 0===l)return;const c=[];if(38===l.nodeType){const t=i.getType(l);if(t){let n=[];(0,p.doForEachSubtype)(t,(t=>{7===(null==t?void 0:t.category)&&(0,u.appendArray)(n,e.findClassDeclarationsByType(s,t))})),0===n.length&&(n=null!==(o=i.getDeclarationsForNameNode(l))&&void 0!==o?o:[]),y._resolveDeclarations(n,i,c,e)}}else if(49===l.nodeType){const t=i.getDeclarationsForStringNode(l);y._resolveDeclarations(t,i,c,e)}return 0!==c.length?c:void 0}static _resolveDeclarations(e,t,n,i){e&&e.forEach((e=>{let s=t.resolveAliasDeclaration(e,!0,!0);if(s&&s.path){if(8===s.type&&s.isUnresolved)return;if(8===s.type&&s.symbolName&&s.submoduleFallback&&s.submoduleFallback.path&&(s=s.submoduleFallback),this._addIfUnique(n,{path:s.path,range:s.range}),(0,a.isFunctionDeclaration)(s)){const e=t.getTypeForDeclaration(s);if(e&&(0,c.isOverloadedFunction)(e))for(const t of e.overloads.map((e=>e.details.declaration)).filter(d.isDefined))this._addIfUnique(n,{path:t.path,range:t.range})}if((0,l.isStubFile)(s.path))if(8===s.type)i.findModules(s.path).map((e=>{var t;return null===(t=(0,o.getFileInfo)(e))||void 0===t?void 0:t.filePath})).filter(d.isDefined).forEach((e=>this._addIfUnique(n,this._createModuleEntry(e))));else{const e=i.findDeclarations(s);for(const t of e)t&&t.path&&this._addIfUnique(n,{path:t.path,range:t.range})}}}))}static _createModuleEntry(e){return{path:e,range:{start:{line:0,character:0},end:{line:0,character:0}}}}static _addIfUnique(e,t){for(const n of e)if(n.path===t.path&&(0,C.rangesAreEqual)(n.range,t.range))return;e.push(t)}}t.DefinitionProvider=y},8221:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentHighlightProvider=void 0;const o=n(7192),a=r(n(8494)),A=n(3213),l=n(1464),c=n(3550),p=n(8127);t.DocumentHighlightProvider=class{static getDocumentHighlight(e,t,n,i){(0,A.throwIfCancellationRequested)(i);const s=(0,l.convertPositionToOffset)(t,e.tokenizerOutput.lines);if(void 0===s)return;const r=a.findNodeByOffset(e.parseTree,s);return void 0!==r&&38===r.nodeType?p.DocumentSymbolCollector.collectFromNode(r,n,i,e.parseTree,!0).map((t=>({kind:38===t.node.nodeType&&a.isWriteAccess(t.node)?o.DocumentHighlightKind.Write:o.DocumentHighlightKind.Read,range:(0,l.convertOffsetsToRange)(t.range.start,c.TextRange.getEnd(t.range),e.tokenizerOutput.lines)}))):void 0}}},8127:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentSymbolCollector=void 0;const o=r(n(563)),a=n(8905),A=n(5523),l=n(8494),c=r(n(8494)),p=n(427),g=r(n(5083)),u=n(8816),d=n(1133),h=n(5168),C=n(3213),m=n(9489),y=n(5839);class f extends p.ParseTreeWalker{constructor(e,t,n,i,s,r=!1,o=!0){super(),this._symbolName=e,this._declarations=t,this._evaluator=n,this._cancellationToken=i,this._startingNode=s,this._treatModuleInImportAndFromImportSame=r,this._skipUnreachableCode=o,this._results=[],this._dunderAllNameNodes=new Set,this._setDunderAllNodes(this._startingNode)}static collectFromNode(e,t,n,i,s=!1,r=!0){const o=e.value,a=this.getDeclarationsForNode(e,t,!0,n);return(i=null!=i?i:(0,l.getModuleNode)(e))?new f(o,a,t,n,i,s,r).collect():[]}static getDeclarationsForNode(e,t,n,i,s){(0,C.throwIfCancellationRequested)(i);const r=this._getDeclarationsForNode(e,t),o=[];return r.forEach((e=>{const i=t.resolveAliasDeclaration(e,n);if(i&&(o.push(i),s&&(0,u.isStubFile)(i.path))){const e=s.findDeclarations(i);for(const t of e)t&&t.path&&this._addIfUnique(o,t)}})),o}collect(){return this.walk(this._startingNode),this._results}walk(e){this._skipUnreachableCode&&o.isCodeUnreachable(e)||super.walk(e)}visitName(e){if((0,C.throwIfCancellationRequested)(this._cancellationToken),e.value!==this._symbolName)return!1;if(this._declarations.length>0){const t=f._getDeclarationsForNode(e,this._evaluator,this._skipUnreachableCode);t&&t.length>0&&t.some((e=>this._resultsContainsDeclaration(e)))&&this._addResult(e)}else this._addResult(e);return!1}visitString(e){return(0,C.throwIfCancellationRequested)(this._cancellationToken),this._dunderAllNameNodes.has(e)&&this._addResult(e),!1}_addResult(e){const t=38===e.nodeType?e:(0,l.getStringNodeValueRange)(e);this._results.push({node:e,range:t})}_resultsContainsDeclaration(e){const t=this._evaluator.resolveAliasDeclaration(e,!1);if(!t)return!1;if(this._declarations.some((e=>(0,A.areDeclarationsSame)(e,t,this._treatModuleInImportAndFromImportSame))))return!0;const n=this._getResolveAliasDeclaration(t);return!(!n||n===t)&&this._declarations.some((e=>(0,A.areDeclarationsSame)(e,n,this._treatModuleInImportAndFromImportSame)))}_getResolveAliasDeclaration(e){if(n(e))return(0,A.getDeclarationsWithUsesLocalNameRemoved)([e])[0];const t=this._evaluator.resolveAliasDeclaration(e,!0);return n(t)?(0,A.getDeclarationsWithUsesLocalNameRemoved)([t])[0]:t;function n(e){return!!e&&8===e.type&&e.node&&e.usesLocalName&&21===e.node.nodeType}}_setDunderAllNodes(e){if(36!==e.nodeType)return;const t=o.getDunderAllInfo(e);if(!t)return;const n=g.getScopeForNode(e);n&&t.stringNodes.forEach((e=>{if(e.value!==this._symbolName)return;const t=n.lookUpSymbolRecursive(e.value);t&&t.symbol.getDeclarations().some((e=>this._resultsContainsDeclaration(e)))&&this._dunderAllNameNodes.add(e)}))}static _addIfUnique(e,t){for(const n of e)if((0,A.areDeclarationsSame)(n,t))return;e.push(t)}static _getDeclarationsForNode(e,t,n=!0){var i;return 37!==(null===(i=e.parent)||void 0===i?void 0:i.nodeType)?this._getDeclarationsForNonModuleNameNode(e,t,n):this._getDeclarationsForModuleNameNode(e,t)}static _getDeclarationsForNonModuleNameNode(e,t,n=!0){var i,s;(0,y.assert)(37!==(null===(i=e.parent)||void 0===i?void 0:i.nodeType));let r=t.getDeclarationsForNameNode(e,n)||[];if(23===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&(r=r.filter((t=>t.node===e.parent))),0===r.length){const n=t.getType(e);if(8===(null==n?void 0:n.category))return[(0,A.createSynthesizedAliasDeclaration)(n.filePath)]}for(const e of r.filter((e=>(0,a.isAliasDeclaration)(e)&&!e.loadSymbolsFromPath))){const i=e.node;23!==i.nodeType&&r.push(...t.getDeclarationsForNameNode(i.module.nameParts[0],n)||[])}for(const e of r.filter((e=>(0,a.isFunctionDeclaration)(e)&&e.isMethod&&e.node.name.value.length>0))){const n=e,i=c.getEnclosingClass(n.node),s=i?t.getTypeOfClass(i):void 0;if(s)for(const e of s.classType.details.mro)if((0,d.isInstantiableClass)(e)){const t=(0,h.lookUpClassMember)(e,n.node.name.value),i=(0,h.lookUpClassMember)(e,n.node.name.value,1);t&&!i&&t.symbol.getDeclarations().filter((e=>(0,a.isFunctionDeclaration)(e)&&e.isMethod)).forEach((e=>this._addIfUnique(r,e)))}}return r}static _getDeclarationsForModuleNameNode(e,t){var n,i,s,r,o;(0,y.assert)(37===(null===(n=e.parent)||void 0===n?void 0:n.nodeType));const l=e.parent;if(21===(null===(i=l.parent)||void 0===i?void 0:i.nodeType)||22===(null===(s=l.parent)||void 0===s?void 0:s.nodeType)){const n=l.nameParts.findIndex((t=>t===e));if(0===n){const n=[];if(n.push(...(null===(r=t.getDeclarationsForNameNode(l.nameParts[0]))||void 0===r?void 0:r.filter((e=>(0,a.isAliasDeclaration)(e))))||[]),0===n.length)return n;const i=1===l.nameParts.length&&21===l.parent.nodeType&&!!l.parent.alias,s=i?l.parent.alias.value:l.nameParts[0].value,c=null===(o=g.getScopeForNode(e))||void 0===o?void 0:o.lookUpSymbolRecursive(s);if(c&&1===l.nameParts.length){let e=[];(0,m.appendArray)(e,c.symbol.getDeclarations().filter((e=>(0,a.isAliasDeclaration)(e)))),e.length>1&&(e=e.filter((e=>void 0!==e.firstNamePart?e.firstNamePart===l.nameParts[0].value:e.node===l.parent))),i&&(e=(0,A.getDeclarationsWithUsesLocalNameRemoved)(e)),n.push(...e)}return n}return n>0&&t.getDeclarationsForNameNode(l.nameParts[n])||[]}return[]}}t.DocumentSymbolCollector=f},2816:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentSymbolProvider=t.convertToFlatSymbols=t.getIndexAliasData=void 0;const o=n(7192),a=n(761),A=n(6673),l=r(n(563)),c=n(5523),p=n(2917),g=n(5168),u=n(3213),d=n(1464),h=r(n(7559)),C=n(8566);function m(e,t){var n;if(!t.symbolName)return;const i=(0,A.resolveAliasDeclaration)(e,t,!0,!1);if(!i||!i.declaration)return;if(i.isPrivate)return;const s=(0,c.getNameFromDeclaration)(i.declaration);if(!s||i.declaration.path.length<=0)return;const r=null!==(n=f(s,i.declaration))&&void 0!==n?n:o.SymbolKind.Module;return{originalName:s,modulePath:i.declaration.path,kind:r,itemKind:(0,C.convertSymbolKindToCompletionItemKind)(r)}}t.getIndexAliasData=m,t.convertToFlatSymbols=function(e,t){const n=[];for(const i of t)B(n,e,i);return n};class y{static getSymbolsForDocument(e,t,n,i,s,r){var o;const a=[];return t||n?(I(null!==(o=null==t?void 0:t.symbols)&&void 0!==o?o:y.indexSymbols(e,n,{indexingForAutoImportMode:!1},r),i,s,"",a,r),a):a}static addHierarchicalSymbolsForDocument(e,t,n,i,s){var r;(t||n)&&E(null!==(r=null==t?void 0:t.symbols)&&void 0!==r?r:y.indexSymbols(e,n,{indexingForAutoImportMode:!1},s),i,s)}static indexSymbols(e,t,n,i){const s=[];return T(e,t,t.parseTree,n,s,i),s}}function f(e,t,n){let i;switch(t.type){case 6:case 7:i=o.SymbolKind.Class;break;case 5:if(t.isMethod){const e=null==n?void 0:n.getTypeForDeclaration(t);i=e&&(0,g.isProperty)(e)?o.SymbolKind.Property:o.SymbolKind.Method}else i=o.SymbolKind.Function;break;case 8:i=o.SymbolKind.Module;break;case 2:if("self"===e||"cls"===e||"_"===e)return;i=o.SymbolKind.Variable;break;case 3:i=o.SymbolKind.TypeParameter;break;case 1:if("_"===e)return;i=t.isConstant||t.isFinal?o.SymbolKind.Constant:o.SymbolKind.Variable;break;default:i=o.SymbolKind.Variable}return i}function I(e,t,n,i,s,r){if((0,u.throwIfCancellationRequested)(r),e)for(const A of e)if(!A.alias){if(h.isPatternInSymbol(n,A.name)){const e={uri:a.URI.file(t).toString(),range:A.selectionRange},n={name:A.name,kind:A.kind,location:e};i.length&&(n.containerName=i),s.push(n)}I(A.children,t,n,o(i,A.name),s,r)}function o(e,t){return e.length>0?`${e}.${t}`:t}}function E(e,t,n){if((0,u.throwIfCancellationRequested)(n),e)for(const i of e){if(i.alias)continue;const e=[];E(i.children,e,n);const s={name:i.name,kind:i.kind,range:i.range,selectionRange:i.selectionRange,children:e};t.push(s)}}function T(e,t,n,i,s,r){(0,u.throwIfCancellationRequested)(r);const o=l.getScope(n);o&&o.symbolTable.forEach(((n,o)=>{if(n.isIgnoredForProtocolMatch())return;if(i.indexingForAutoImportMode&&!i.forceIndexing&&!e.isStubFile&&!e.isInPyTypedPackage&&!n.isInDunderAll())return;let a=(0,p.getLastTypedDeclaredForSymbol)(n);if(!a&&n.hasDeclarations()&&(a=n.getDeclarations()[0]),a){if(8===a.type){if(!i.indexingForAutoImportMode)return;if(!a.loadSymbolsFromPath||a.path.length<=0)return}!function(e,t,n,i,s,r,o,a){if(i.indexingForAutoImportMode&&!s)return;const A=f(r,n);if(void 0===A)return;const c=n.range;let p=c;const g=[];let u;if(6!==n.type&&5!==n.type||(i.indexingForAutoImportMode||T(e,t,n.node,i,g,a),p=(0,d.convertOffsetsToRange)(n.node.start,n.node.start+n.node.length,t.tokenizerOutput.lines)),8===n.type&&(u=m(l.getFileInfo(t.parseTree).importLookup,n),!u))return;const h={name:r,externallyVisible:s,kind:A,itemKind:(0,C.convertSymbolKindToCompletionItemKind)(A),alias:u,range:i.indexingForAutoImportMode?void 0:p,selectionRange:i.indexingForAutoImportMode?void 0:c,children:i.indexingForAutoImportMode?void 0:g};o.push(h)}(e,t,a,i,!n.isExternallyHidden(),o,s,r)}}))}function B(e,t,n,i){const s={name:n.name,kind:n.kind,location:o.Location.create(t,n.range)};if(n.tags&&(s.tags=n.tags),i&&(s.containerName=i.name),e.push(s),n.children)for(const i of n.children)B(e,t,i,n)}t.DocumentSymbolProvider=y},3334:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.convertHoverResults=t.HoverProvider=void 0;const o=n(7192),a=n(1272),A=r(n(8494)),l=n(1133),c=n(5168),p=n(3213),g=n(5839),u=n(1464),d=n(3550),h=n(3490);t.HoverProvider=class{static getHoverForPosition(e,t,n,i,s,r){var o;(0,p.throwIfCancellationRequested)(r);const a=(0,u.convertPositionToOffset)(n,t.tokenizerOutput.lines);if(void 0===a)return;const c=A.findNodeByOffset(t.parseTree,a);if(void 0===c)return;const g={parts:[],range:{start:(0,u.convertOffsetToPosition)(c.start,t.tokenizerOutput.lines),end:(0,u.convertOffsetToPosition)(d.TextRange.getEnd(c),t.tokenizerOutput.lines)}};if(38===c.nodeType){const t=s.getDeclarationsForNameNode(c);if(t&&t.length>0){let n=t[0];8===n.type&&t.length>1&&(n=t[1]),this._addResultsForDeclaration(i,e,g.parts,n,c,s)}else if((!c.parent||37!==c.parent.nodeType)&&0===g.parts.length){const t=s.getType(c)||l.UnknownType.create();let n="";n=(0,l.isModule)(t)?"(module) "+c.value:c.value+": "+s.printType(t,!1),this._addResultsPart(g.parts,n,!0),this._addDocumentationPart(i,e,g.parts,c,s,void 0)}}else if(49===c.nodeType){const t=null===(o=s.getExpectedType(c))||void 0===o?void 0:o.type;void 0!==t&&this._tryAddPartsForTypedDictKey(i,e,s,c,t,g.parts)}return g.parts.length>0?g:void 0}static _addResultsForDeclaration(e,t,n,i,s,r){var o;const a=r.resolveAliasDeclaration(i,!0);if(a)switch(a.type){case 0:this._addResultsPart(n,s.value+this._getTypeText(s,r),!0),this._addDocumentationPart(e,t,n,s,r,a);break;case 1:{let A=a.isConstant||a.isFinal?"constant":"variable",c=s;21===i.node.nodeType||23===i.node.nodeType?i.node.alias&&s!==i.node.alias&&38===a.node.nodeType&&(c=a.node):1===(null===(o=s.parent)||void 0===o?void 0:o.nodeType)&&s.parent.name===s&&38===i.node.nodeType&&(c=i.node);const p=r.getType(c);let g,u=!1;if(null==p?void 0:p.typeAliasInfo){const e=(0,l.getTypeAliasInfo)(p);(null==e?void 0:e.name)===c.value&&((0,l.isTypeVar)(p)?(A=p.details.isParamSpec?"param spec":"type variable",g=p.details.name):(u=!0,A="type alias"))}const d=g||s.value+this._getTypeText(c,r,u);this._addResultsPart(n,`(${A}) ${d}`,!0),this._addDocumentationPart(e,t,n,s,r,a);break}case 2:this._addResultsPart(n,"(parameter) "+s.value+this._getTypeText(s,r),!0),this._addDocumentationPart(e,t,n,s,r,a);break;case 3:this._addResultsPart(n,"(type parameter) "+s.value+this._getTypeText(s,r),!0),this._addDocumentationPart(e,t,n,s,r,a);break;case 6:case 7:if(this._addInitMethodInsteadIfCallNode(e,s,r,n,t,a))return;this._addResultsPart(n,"(class) "+s.value,!0),this._addDocumentationPart(e,t,n,s,r,a);break;case 5:{let i="function";if(a.isMethod){const e=r.getTypeForDeclaration(a);i=e&&(0,c.isMaybeDescriptorInstance)(e,!1)?"property":"method"}const o=r.getType(s);o&&(0,l.isOverloadedFunction)(o)?this._addResultsPart(n,`(${i})\n${(0,h.getOverloadedFunctionTooltip)(o,r)}`,!0):this._addResultsPart(n,`(${i}) `+s.value+this._getTypeText(s,r),!0),this._addDocumentationPart(e,t,n,s,r,a);break}case 8:this._addResultsPart(n,"(module) "+s.value,!0),this._addDocumentationPart(e,t,n,s,r,a);break;case 4:{const i=s.value+this._getTypeText(s,r,!0);this._addResultsPart(n,`(type alias) ${i}`,!0),this._addDocumentationPart(e,t,n,s,r,a);break}default:(0,g.assertNever)(a)}else this._addResultsPart(n,"(import) "+s.value+this._getTypeText(s,r),!0)}static _tryAddPartsForTypedDictKey(e,t,n,i,s,r){(0,c.doForEachSubtype)(s,(s=>{var o,a;if((0,l.isClassInstance)(s)&&l.ClassType.isTypedDictClass(s)){const A=null===(o=s.details.typedDictEntries)||void 0===o?void 0:o.get(i.value);if(A){r.length>0&&r.push({text:"\n\n---\n"});const o="(key) "+i.value+": "+n.printType(A.valueType,!1);this._addResultsPart(r,o,!0);const l=null===(a=s.details.fields.get(i.value))||void 0===a?void 0:a.getDeclarations();if(void 0!==l&&0!==(null==l?void 0:l.length)){const i=l[0];1===i.type&&void 0!==i.docString&&this._addDocumentationPartForType(e,t,r,s,i,n)}}}}))}static _addInitMethodInsteadIfCallNode(e,t,n,i,s,r){let o=t;if(o.parent&&35===o.parent.nodeType&&t===o.parent.memberName&&(o=t.parent),!o||!o.parent||9!==o.parent.nodeType||o.parent.leftExpression!==o)return!1;const a=n.getType(t);if(!a||!(0,l.isInstantiableClass)(a))return!1;const A=(0,c.lookUpClassMember)(a,"__init__",8);if(!A)return!1;const p=n.getType(o.parent),g=n.getTypeOfMember(A);if(!(p&&g&&(0,l.isClassInstance)(p)&&(0,l.isFunction)(g)))return!1;const u=n.bindFunctionToClassOrObject(p,g);if(!u||!(0,l.isFunction)(u))return!1;const d=n.printFunctionParts(u),h=`${t.value}(${d[0].join(", ")})`;return this._addResultsPart(i,"(class) "+h,!0),this._addDocumentationPartForType(e,s,i,u,r,n)||this._addDocumentationPartForType(e,s,i,a,r,n),!0}static _getTypeText(e,t,n=!1){const i=t.getType(e)||l.UnknownType.create();return": "+t.printType(i,n)}static _addDocumentationPart(e,t,n,i,s,r){const o=s.getType(i);o&&this._addDocumentationPartForType(e,t,n,o,r,s)}static _addDocumentationPartForType(e,t,n,i,s,r){const o=(0,h.getDocumentationPartsForTypeAndDecl)(t,i,s,r);return!!o&&(this._addDocumentationResultsPart(e,n,o),!0)}static _addDocumentationResultsPart(e,t,n){if(n)if(e===o.MarkupKind.Markdown){const e=(0,a.convertDocStringToMarkdown)(n);t.length>0&&e.length>0&&t.push({text:"---\n"}),this._addResultsPart(t,e)}else e===o.MarkupKind.PlainText?this._addResultsPart(t,(0,a.convertDocStringToPlainText)(n)):(0,g.fail)(`Unsupported markup type: ${e}`)}static _addResultsPart(e,t,n=!1){e.push({python:n,text:t})}},t.convertHoverResults=function(e,t){if(!t)return;const n=t.parts.map((t=>{if(t.python){if(e===o.MarkupKind.Markdown)return"```python\n"+t.text+"\n```\n";if(e===o.MarkupKind.PlainText)return t.text+"\n\n";(0,g.fail)(`Unsupported markup type: ${e}`)}return t.text})).join("").trimEnd();return{contents:{kind:e,value:n},range:t.range}}},4969:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImportSorter=void 0;const i=n(7012),s=n(3213),r=n(1464),o=n(3550);t.ImportSorter=class{constructor(e,t){this._parseResults=e,this._cancellationToken=t}sort(){(0,s.throwIfCancellationRequested)(this._cancellationToken);const e=[],t=(0,i.getTopLevelImports)(this._parseResults.parseTree),n=t.orderedImports.map((e=>e)).sort(((e,t)=>(0,i.compareImportStatements)(e,t)));if(0===n.length)return[];const r=this._getPrimaryReplacementRange(t.orderedImports);return e.push({range:r,replacementText:this._generateSortedImportText(n)}),this._addSecondaryReplacementRanges(t.orderedImports,e),e}_getPrimaryReplacementRange(e){let t=e.findIndex((e=>e.followsNonImportStatement));t<0&&(t=e.length);const n=e[t-1].node;return{start:(0,r.convertOffsetToPosition)(e[0].node.start,this._parseResults.tokenizerOutput.lines),end:(0,r.convertOffsetToPosition)(o.TextRange.getEnd(n),this._parseResults.tokenizerOutput.lines)}}_addSecondaryReplacementRanges(e,t){let n=e.findIndex((e=>e.followsNonImportStatement));if(!(n<0))for(;;){let i=e.findIndex(((e,t)=>t>n&&e.followsNonImportStatement));if(i<0&&(i=e.length),t.push({range:{start:(0,r.convertOffsetToPosition)(e[n].node.start,this._parseResults.tokenizerOutput.lines),end:(0,r.convertOffsetToPosition)(o.TextRange.getEnd(e[i-1].node),this._parseResults.tokenizerOutput.lines)},replacementText:""}),n=i,n>=e.length)break}}_generateSortedImportText(e){let t="",n=(0,i.getImportGroup)(e[0]);for(const s of e){const r=(0,i.getImportGroup)(s);let o;n!==r&&(t+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence,n=r),o=20===s.node.nodeType?this._formatImportNode(s.subnode,s.moduleName):this._formatImportFromNode(s.node,s.moduleName),s!==e[e.length-1]&&(o+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence),t+=o}return t}_formatImportNode(e,t){let n=`import ${t}`;return e.alias&&(n+=` as ${e.alias.value}`),n}_formatImportFromNode(e,t){const n=e.imports.sort(((e,t)=>this._compareSymbols(e,t))).map((e=>{let t=e.name.value;return e.alias&&(t+=` as ${e.alias.value}`),t}));let i=`from ${t} import `;if(e.isWildcardImport)return i+"*";const s=n.join(", ");if(i.length+s.length<=88)return i+s;i+="("+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;for(const e of n)i+=this._parseResults.tokenizerOutput.predominantTabSequence+e+","+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;return i+=")",i}_compareSymbols(e,t){return e.name.value=1?function(e,t,n){(0,A.throwIfCancellationRequested)(n);let i=a.findNodeByOffset(e.parseTree,t);for(;i&&41!==i.nodeType;)i=i.parent;if(!i)return[];const s=i.typeAnnotation||i.typeAnnotationComment;if(!s)return[];const r=[],g=(0,c.convertOffsetToPosition)(s.start,e.tokenizerOutput.lines),u=(0,c.convertOffsetToPosition)(p.TextRange.getEnd(s),e.tokenizerOutput.lines);r.push({range:{start:g,end:g},replacementText:"Optional["}),r.push({range:{start:u,end:u},replacementText:"]"});const d=(0,o.getTopLevelImports)(e.parseTree),h=d.orderedImports.find((e=>"typing"===e.moduleName));if(h&&22===h.node.nodeType&&!h.node.isWildcardImport){const t=(0,o.getTextEditsForAutoImportSymbolAddition)({name:"Optional"},h,e);(0,l.appendArray)(r,t)}else{const t=(0,o.getTextEditsForAutoImportInsertion)({name:"Optional"},{name:"typing"},d,0,e,g);(0,l.appendArray)(r,t)}return r}(n,parseInt(t[0],10),i):[]}},4952:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.ReferencesProvider=t.FindReferencesTreeWalker=t.ReferencesResult=void 0;const o=n(8905),a=r(n(8494)),A=n(1133),l=n(3213),c=n(9489),p=n(5839),g=n(1464),u=n(3550),d=n(8127);class h{constructor(e,t,n,i,s){this.requiresGlobalSearch=e,this.nodeAtOffset=t,this.symbolName=n,this.declarations=i,this._reporter=s,this._locations=[],this.nonImportDeclarations=i.filter((e=>{var t;return!(0,o.isAliasDeclaration)(e)||!(!e.usesLocalName||!e.node)&&22!==e.node.nodeType&&(null===(t=e.node.alias)||void 0===t?void 0:t.value)===n}))}get containsOnlyImportDecls(){return this.declarations.length>0&&0===this.nonImportDeclarations.length}get locations(){return this._locations}addLocations(...e){0!==e.length&&(this._reporter&&this._reporter(e),(0,c.appendArray)(this._locations,e))}}t.ReferencesResult=h;class C{constructor(e,t,n,i,s,r){this._parseResults=e,this._filePath=t,this._referencesResult=n,this._includeDeclaration=i,this._evaluator=s,this._cancellationToken=r}findReferences(e=this._parseResults.parseTree){const t=new d.DocumentSymbolCollector(this._referencesResult.symbolName,this._referencesResult.declarations,this._evaluator,this._cancellationToken,e,!0,!1),n=[];for(const e of t.collect())(this._includeDeclaration||e.node!==this._referencesResult.nodeAtOffset)&&n.push({path:this._filePath,range:{start:(0,g.convertOffsetToPosition)(e.range.start,this._parseResults.tokenizerOutput.lines),end:(0,g.convertOffsetToPosition)(u.TextRange.getEnd(e.range),this._parseResults.tokenizerOutput.lines)}});return n}}t.FindReferencesTreeWalker=C,t.ReferencesProvider=class{static getDeclarationForNode(e,t,n,i,s,r){(0,l.throwIfCancellationRequested)(r);const o=d.DocumentSymbolCollector.getDeclarationsForNode(n,i,!1,r,e);if(0===o.length)return;const c=function(e,t,n,i){const s=e.lookUpSymbolRecursive(n,n.value,!1);return!(s&&!r(s.symbol))&&i.some((e=>{var n,i;if(e.path!==t)return!0;const s=a.getEvaluationScopeNode(e.node);return 36===s.nodeType||10===s.nodeType||35===(null===(i=null===(n=e.node)||void 0===n?void 0:n.parent)||void 0===i?void 0:i.nodeType)&&e.node===e.node.parent.memberName}));function r(e,t=0){return!(t>A.maxTypeRecursionCount)&&(t++,!e.isExternallyHidden()&&e.getDeclarations().reduce(((e,n)=>{if(!e)return!1;switch(n.type){case 8:case 0:case 7:return e;case 6:case 5:case 2:return e&&o(n.node.name,t);case 3:return!1;case 1:case 4:return 38===n.node.nodeType&&e&&o(n.node,t);default:(0,p.assertNever)(n)}}),!0))}function o(t,n){const i=a.getEvaluationScopeNode(t);switch(i.nodeType){case 10:case 28:{const t=i.name,s=e.lookUpSymbolRecursive(t,t.value,!1);return!s||r(s.symbol,n)}case 30:case 32:return!1;case 36:return!0;default:(0,p.assertNever)(i)}}}(i,t,n,o);return new h(c,n,n.value,o,s)}static getDeclarationForPosition(e,t,n,i,s,r,o){(0,l.throwIfCancellationRequested)(o);const A=(0,g.convertPositionToOffset)(i,t.tokenizerOutput.lines);if(void 0===A)return;const c=a.findNodeByOffset(t.parseTree,A);return void 0!==c&&38===c.nodeType?this.getDeclarationForNode(e,n,c,s,r,o):void 0}static addReferences(e,t,n,i,s,r){const o=new C(e,t,n,i,s,r);n.addLocations(...o.findReferences())}}},1670:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RenameModuleProvider=void 0;const i=n(7192),s=n(563),r=n(8905),o=n(5523),a=n(2374),A=n(7012),l=n(8494),c=n(427),p=n(8816),g=n(9489),u=n(5839),d=n(6657),h=n(1464),C=n(743),m=n(3550),y=n(5275),f=n(8127);var I;!function(e){e[e.File=0]="File",e[e.Folder=1]="Folder",e[e.Symbol=2]="Symbol"}(I||(I={}));class E{constructor(e,t,n,i,s,r,o,a,A){if(this._fs=e,this._evaluator=t,this._moduleFilePath=n,this._moduleNameAndType=s,this._newModuleNameAndType=r,this._type=o,this._declarations=a,this._token=A,this._aliasIntroduced=new Set,this._textEditTracker=new C.TextEditTracker,this._newModuleFilePath=(0,d.resolvePaths)(i),this._moduleNames=this._moduleName.split("."),this._newModuleNames=this._newModuleName.split("."),this._moduleNames.length!==this._newModuleNames.length)return void(this._onlyNameChanged=!1);let l=0;for(l=0;l(0,r.isClassDeclaration)(e)||(0,r.isFunctionDeclaration)(e)||(0,r.isVariableDeclaration)(e)));return 0!==A.length?this._create(e,t,n,i,s,I.Symbol,A,a):void 0}static getRenameModulePath(e){const t=e.find((e=>!e.node));if(t)return t.path;const n=[...e.reduce(((e,t)=>e.add(t.path)),new Set)],i=n.findIndex((e=>(0,p.isStubFile)(e)));return i>=0?n[i]:n[0]}static getRenameModulePathInfo(e,t){const n=function(e){return"__init__"===(0,d.stripFileExtension)((0,d.getFileName)(e))?(0,d.getDirectoryPath)(e):e}(e),i=function(e,t){const n=(0,d.getFileExtension)(e),i=(0,d.getDirectoryPath)(e);return(0,d.combinePaths)(i,`${t}${n}`)}(n,t);return{filePath:n,newFilePath:i}}static _create(e,t,n,s,r,A,l,c){const g=t.findExecEnvironment(s),u=e.getModuleNameForImport(s,g);if(!u.moduleName)return;const d=e.getModuleNameForImport(r,g);if(!d.moduleName)return;c=i.CancellationToken.is(l)?l:c;const h=i.CancellationToken.is(l)?[]:l;return 0===h.length&&(h.push((0,o.createSynthesizedAliasDeclaration)(s)),(0,p.isStubFile)(s)&&(e.resolveImport(s,g,(0,a.createImportedModuleDescriptor)(u.moduleName)),e.getSourceFilesFromStub(s,g,!1).forEach((e=>h.push((0,o.createSynthesizedAliasDeclaration)(e)))))),new E(e.fileSystem,n,s,r,u,d,A,h,c)}renameReferences(e,t){switch(this._type){case I.Folder:return this._renameFolderReferences(e,t);case I.File:return this._renameModuleReferences(e,t);case I.Symbol:return this._updateSymbolReferences(e,t);default:return(0,u.assertNever)(this._type,`${this._type} is unknown`)}}_updateSymbolReferences(e,t){var n,i,s,a;const c=new f.DocumentSymbolCollector(null!==(n=(0,o.getNameFromDeclaration)(this._declarations[0]))&&void 0!==n?n:"",this._declarations,this._evaluator,this._token,t.parseTree,!0,!1),p=(0,A.getTopLevelImports)(t.parseTree,!0),u=p.orderedImports.find((e=>e.moduleName===this._newModuleName)),d=new Set,C=new Map;for(const n of c.collect()){const o=n.node;if(49===o.nodeType)continue;if((0,l.isFromImportName)(o)){const n=null===(i=o.parent)||void 0===i?void 0:i.parent,r=this._getNewModuleName(e,n.module.leadingDots>0,!1);if(1===n.imports.length)this._addResultWithTextRange(e,n.module,t,r);else{const i=o.parent;this._addFromImportNameDeletion(e,t,d,n.imports,i);const a={name:i.name.value,alias:null===(s=i.alias)||void 0===s?void 0:s.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,n,t,d,p,r,[a]))}continue}const A=(0,l.getDottedNameWithGivenNodeAsLastName)(o);if(A===o||35!==A.nodeType)continue;const c=35===A.leftExpression.nodeType?A.leftExpression.memberName:38===A.leftExpression.nodeType?A.leftExpression:void 0;if(!c)continue;const u=null===(a=this._evaluator.getDeclarationsForNameNode(c))||void 0===a?void 0:a.filter((e=>(0,r.isAliasDeclaration)(e)&&(21===e.node.nodeType||23===e.node.nodeType)));if(!u||0===u.length)continue;const h=u[0].node;(0,g.getOrAdd)(C,h,(()=>[])).push(A)}for(const[n,i]of C){let s;if(this._canReplaceImportName(t,n,i)){const i=this._getReferenceModuleName(p,u);if(21===n.nodeType)i?(s=i,this._addImportNameDeletion(e,t,d,n.parent.list,n)):(s=n.alias?n.alias.value:this._newModuleName,this._addResultWithTextRange(e,n.module,t,this._newModuleName));else if(i)s=i,this._addFromImportNameDeletion(e,t,d,n.parent.imports,n);else{const i=n.parent,r=this._getNewModuleName(e,i.module.leadingDots>0,!0);s=n.alias?n.alias.value:this._newLastModuleName,this._addResultWithTextRange(e,i.module,t,r),this._addResultWithTextRange(e,n.name,t,this._newLastModuleName)}}else{const n=this._getReferenceModuleName(p,u);n?s=n:(s=this._newModuleName,this._addResultEdits((0,A.getTextEditsForAutoImportInsertion)([],{name:this._newModuleName},p,(0,A.getImportGroupFromModuleNameAndType)(this._newModuleNameAndType),t,(0,h.convertOffsetToPosition)(t.parseTree.length,t.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))))}for(const n of i)this._addResultWithTextRange(e,n.leftExpression,t,s)}}_getReferenceModuleName(e,t){var n,i;if(t&&20===t.node.nodeType)return(null===(n=t.subnode)||void 0===n?void 0:n.alias)?t.subnode.alias.value:this._newModuleName;if(null===(i=e.implicitImports)||void 0===i?void 0:i.has(this._newModuleFilePath)){const t=e.implicitImports.get(this._newModuleFilePath);return t.alias?t.alias.value:t.name.value}}_canReplaceImportName(e,t,n){var i;const s=null!==(i=t.alias)&&void 0!==i?i:21===t.nodeType?t.module.nameParts[t.module.nameParts.length-1]:t.name,r=f.DocumentSymbolCollector.getDeclarationsForNode(s,this._evaluator,!1,this._token);if(0===r.length)return!1;const o=new f.DocumentSymbolCollector(s.value,r,this._evaluator,this._token,e.parseTree,!0,!1);for(const e of o.collect())if(!((0,l.isImportModuleName)(e.node)||(0,l.isImportAlias)(e.node)||(0,l.isFromImportModuleName)(e.node)||(0,l.isFromImportName)(e.node)||(0,l.isFromImportAlias)(e.node)||n.some((t=>m.TextRange.containsRange(t,e.node)))))return!1;return!0}_renameFolderReferences(e,t){const n=new f.DocumentSymbolCollector(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0,!1);for(const i of n.collect())this._addResultWithTextRange(e,i.range,t,this._newLastModuleName)}_renameModuleReferences(e,t){const n=new f.DocumentSymbolCollector(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0,!1),i=new Set,s=n.collect();this._updateModuleReferences(e,t,i,s),this._updateRelativeModuleNamePath(e,t,i,s)}_updateRelativeModuleNamePath(e,t,n,i){if(e!==this._moduleFilePath)return;let s;for(const r of this._getNewRelativeModuleNamesForFileMoved(e,T.collect(t.parseTree).filter((e=>!i.some((t=>m.TextRange.containsRange(e.parent,t.node))))))){if(this._addResultWithTextRange(e,r.moduleName,t,r.newModuleName),!r.itemsToMove)continue;const i=r.moduleName.parent;for(const s of r.itemsToMove)this._addFromImportNameDeletion(e,t,n,i.imports,s);s=null!=s?s:(0,A.getTopLevelImports)(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,s,(0,A.getRelativeModuleName)(this._fs,this._newModuleFilePath,this._newModuleFilePath,!1,!0),r.itemsToMove.map((e=>{var t;return{name:e.name.value,alias:null===(t=e.alias)||void 0===t?void 0:t.value}}))))}}_updateModuleReferences(e,t,n,i){var s,o,a,c,p;let g;for(const u of i){const d=u.node;if(49===d.nodeType){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if((0,l.isImportModuleName)(d)){if(!(0,l.isLastNameOfModuleName)(d))continue;const n=(0,l.getFirstAncestorOrSelfOfKind)(d,37);if(1===n.nameParts.length&&21===(null===(s=n.parent)||void 0===s?void 0:s.nodeType)&&!n.parent.alias&&this._newModuleNames.length>1){this._aliasIntroduced.add(n.parent),this._addResultWithTextRange(e,n,t,`${this._newModuleName} as ${this._newLastModuleName}`);continue}this._addResultWithTextRange(e,n,t,this._newModuleName);continue}if((0,l.isImportAlias)(d)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if((0,l.isFromImportModuleName)(d)){if(!(0,l.isLastNameOfModuleName)(d))continue;const s=(0,l.getFirstAncestorOrSelfOfKind)(d,37),r=s.parent,o=[],a=[];for(const e of r.imports)this._isExportedSymbol(e.name)?o.push(e):a.push(e);if(0===a.length){this._addResultWithTextRange(e,s,t,this._getNewModuleName(e,s.leadingDots>0,!1));continue}if(0===o.length)continue;if(r.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[r.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);for(const i of o)this._addFromImportNameDeletion(e,t,n,r.imports,i);g=null!=g?g:(0,A.getTopLevelImports)(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,r,t,n,g,this._newModuleName,o.map((e=>{var t;return{name:i.findIndex((t=>t.node===e.name))>=0?this._newLastModuleName:e.name.value,alias:i.findIndex((t=>t.node===e.alias))>=0?this._newLastModuleName:null===(t=e.alias)||void 0===t?void 0:t.value}}))));continue}if((0,l.isFromImportName)(d)){if(n.has(d.id))continue;const i=null===(o=d.parent)||void 0===o?void 0:o.parent,s=this._getNewModuleName(e,i.module.leadingDots>0,!0);if(this._isExportedSymbol(d)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(1===i.imports.length)this._addResultWithTextRange(e,i.module,t,s),this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else{const r=d.parent;if(i.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[i.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);this._addFromImportNameDeletion(e,t,n,i.imports,r),g=null!=g?g:(0,A.getTopLevelImports)(t.parseTree,!1);const o={name:this._newLastModuleName,alias:(null===(a=r.alias)||void 0===a?void 0:a.value)===this.lastModuleName?this._newLastModuleName:null===(c=r.alias)||void 0===c?void 0:c.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,g,s,[o]))}continue}if((0,l.isFromImportAlias)(d)){if(n.has(d.id))continue;this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}const h=f.DocumentSymbolCollector.getDeclarationsForNode(d,this._evaluator,!1,this._token).filter((e=>(0,r.isAliasDeclaration)(e)));if(this._onlyNameChanged)this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else if(null==h?void 0:h.some((e=>!(e.usesLocalName||e.node&&21!==e.node.nodeType||this._aliasIntroduced.has(e.node))))){const n=(0,l.getDottedNameWithGivenNodeAsLastName)(d);if(35!==(null===(p=n.parent)||void 0===p?void 0:p.nodeType)){this._addResultWithTextRange(e,n,t,this._newModuleName);continue}const i=this._evaluator.getDeclarationsForNameNode(n.parent.memberName);if(!i||0===i.length)continue;this._addResultWithTextRange(e,n,t,this._newModuleName)}else u.node.value===this._newLastModuleName||this._addResultWithTextRange(e,u.range,t,this._newLastModuleName)}}_getNewRelativeModuleNamesForFileMoved(e,t){if(e!==this._moduleFilePath)return[];const n="__init__"===(0,d.stripFileExtension)((0,d.getFileName)(e)),i=(0,d.getDirectoryPath)(e),s=[];for(const e of t){if(0===e.leadingDots)continue;const t=this._getNewModuleNameInfoForFileMoved(e,n,i);if(!t)continue;const r=(0,A.getRelativeModuleName)(this._fs,t.src,t.dest,!1,!0);s.push({moduleName:e,newModuleName:r,itemsToMove:t.itemsToMove})}return s}_getNewModuleNameInfoForFileMoved(e,t,n){const i=(0,s.getImportInfo)(e);if(!i)return;let r=i.resolvedPaths[i.resolvedPaths.length-1];if(!r){if(0!==e.nameParts.length)return;{const t=(0,A.getDirectoryLeadingDotsPointsTo)(n,e.leadingDots);if(!t)return;r=(0,d.combinePaths)(t,"__init__.py")}}if(this._moduleFilePath!==r||!t)return{src:this._newModuleFilePath,dest:r};const o=[],a=[];for(const t of e.parent.imports)this._isExportedSymbol(t.name)?o.push(t):a.push(t);return 0===a.length?{src:this._newModuleFilePath,dest:this._newModuleFilePath}:0===o.length?{src:this._newModuleFilePath,dest:this._moduleFilePath}:{src:this._newModuleFilePath,dest:this._moduleFilePath,itemsToMove:[...o]}}_isExportedSymbol(e){const t=this._evaluator.getDeclarationsForNameNode(e);return!!t&&!t.some((e=>(0,r.isAliasDeclaration)(e)&&e.submoduleFallback))}_getNewModuleName(e,t,n){const i=e===this._moduleFilePath?this._newModuleFilePath:e,s=t?(0,A.getRelativeModuleName)(this._fs,i,this._newModuleFilePath,n,!0):this._newModuleName;if(n&&s.endsWith(this._newLastModuleName)){const e=s===this._newLastModuleName?0:s.length>this._newLastModuleName.length+1&&"."!==s[s.length-this._newLastModuleName.length-2]?1:0,t=s.length-this._newLastModuleName.length-e,n=s.substr(0,t);return n.length>0?n:"."}return s}getEdits(){return this._textEditTracker.getEdits(this._token)}get lastModuleName(){return this._moduleNames[this._moduleNames.length-1]}get _moduleName(){return this._moduleNameAndType.moduleName}get _newLastModuleName(){return this._newModuleNames[this._newModuleNames.length-1]}get _newModuleName(){return this._newModuleNameAndType.moduleName}_addImportNameDeletion(e,t,n,i,s){this._addImportNameDeletionInternal(e,t,n,i,s,20),n.add(s.module.id),s.module.nameParts.forEach((e=>n.add(e.id))),s.alias&&n.add(s.alias.id)}_addFromImportNameDeletion(e,t,n,i,s){this._addImportNameDeletionInternal(e,t,n,i,s,22),n.add(s.name.id),s.alias&&n.add(s.alias.id)}_addImportNameDeletionInternal(e,t,n,i,s,r){(0,A.getTextRangeForImportNameDeletion)(i,i.findIndex((e=>e===s))).forEach((n=>this._addResultWithTextRange(e,n,t,""))),n.add(s.id);let o=0;for(o=i.length-1;o>=0&&n.has(i[o].id);o--);if(-1===o){const n=(0,l.getFirstAncestorOrSelfOfKind)(s,r);n&&this._textEditTracker.addEdit(e,(0,l.getFullStatementRange)(n,t.tokenizerOutput),"")}else if(o>=0&&oe.moduleName===r));if(a&&22===a.node.nodeType&&!a.node.isWildcardImport){const s=(0,A.getTextEditsForAutoImportSymbolAddition)(o,a,n);if(a.node!==t)return s.map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})));if(this._onlyNameChanged&&1===o.length&&1===s.length){const r=this._textEditTracker.getDeletionsForSpan(e,s[0].range);if(0===r.length)return[{filePath:e,range:s[0].range,replacementText:s[0].replacementText}];{const s=o[0].alias===this._newLastModuleName?this.lastModuleName:o[0].alias,a=t.imports.find((e=>{var t;return e.name.value===this.lastModuleName&&(null===(t=e.alias)||void 0===t?void 0:t.value)===s}));if(a)return this._textEditTracker.removeEdits(e,r),a.alias&&i.delete(a.alias.id),[{filePath:e,range:(0,h.convertTextRangeToRange)(a.name,n.tokenizerOutput.lines),replacementText:this._newLastModuleName}]}}}return(0,A.getTextEditsForAutoImportInsertion)(o,{name:r},s,(0,A.getImportGroupFromModuleNameAndType)(this._newModuleNameAndType),n,(0,h.convertOffsetToPosition)(n.parseTree.length,n.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))}}t.RenameModuleProvider=E;class T extends c.ParseTreeWalker{constructor(){super(...arguments),this._result=[]}walk(e){(0,y.isExpressionNode)(e)||super.walk(e)}visitModuleName(e){return this._result.push(e),!1}static collect(e){const t=new T;return t.walk(e),t._result}}},9437:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.SignatureHelpProvider=void 0;const o=n(7192),a=n(1272),A=n(5678),l=r(n(8494)),c=n(8494),p=n(3213),g=n(1464),u=n(3490);t.SignatureHelpProvider=class{static getSignatureHelpForPosition(e,t,n,i,s,r){var o;(0,p.throwIfCancellationRequested)(r);const a=(0,g.convertPositionToOffset)(t,e.tokenizerOutput.lines);if(void 0===a)return;let A=l.findNodeByOffset(e.parseTree,a);const u=A,d=A?l.getNodeDepth(A):0;let h=a-1;for(;h>=0;){const t=e.text.substr(h,1);if(","===t||"("===t)break;const n=l.findNodeByOffset(e.parseTree,h);if(n&&n!==u){l.getNodeDepth(n)>d&&(A=n);break}h--}if(void 0===A)return;const C=(0,c.getCallNodeAndActiveParameterIndex)(A,a,e.tokenizerOutput.tokens);if(!C)return;const m=i.getCallSignatureInfo(C.callNode,C.activeIndex,C.activeOrFake);return m?{signatures:m.signatures.map((e=>this._makeSignature(m.callNode,e,n,i,s))),callHasParameters:!!(null===(o=m.callNode.arguments)||void 0===o?void 0:o.length)}:void 0}static _makeSignature(e,t,n,i,s){var r;const l=t.type,c=i.printFunctionParts(l),p=[],g=null!==(r=(0,u.getFunctionDocStringFromType)(l,n,i))&&void 0!==r?r:this._getDocStringFromCallNode(e,n,i);let d="(";const h=l.details.parameters;let C;c[0].forEach(((e,t)=>{let n="";t0&&(n=h[h.length-1].name||""),p.push({startOffset:d.length,endOffset:d.length+e.length,text:e,documentation:(0,A.extractParameterDocumentation)(g||"",n)}),d+=e,te.details.declaration)).filter(l.isDefined),t,n,null==r?void 0:r.classType)}t.getOverloadedFunctionTooltip=function(e,t,n=70){let i="";const s=A.OverloadedFunctionType.getOverloads(e).map((e=>e.details.name+t.printType(e,!1)));for(let e=0;en&&s[e-1].length<=n&&(i+="\n"),i+=s[e],en&&(i+="\n"));return i},t.getFunctionDocStringFromType=c,t.getOverloadedFunctionDocStringsFromType=p,t.getDocumentationPartsForTypeAndDecl=function(e,t,n,i,s,r){var o;if((0,A.isModule)(t)){const i=(0,a.getModuleDocString)(t,n,e);if(i)return i}else if((0,A.isInstantiableClass)(t)){const i=(0,a.getClassDocString)(t,n,e);if(i)return i}else if((0,A.isFunction)(t)){const n=r?i.bindFunctionToClassOrObject(r,t):t;if(n&&(0,A.isFunction)(n)){const t=c(n,e,i);if(t)return t}}else if((0,A.isOverloadedFunction)(t)){const n=r?i.bindFunctionToClassOrObject(r,t):t;if(n&&(0,A.isOverloadedFunction)(n)){const t=p(n,e,i).find((e=>e));if(t)return t}}if(1===(null==n?void 0:n.type)&&n.typeAliasName&&n.docString)return n.docString;if(1===(null==n?void 0:n.type)){const t=null!==(o=null==s?void 0:s.getDeclarations().find((e=>1===e.type&&!!e.docString)))&&void 0!==o?o:n,i=(0,a.getVariableDocString)(t,e);if(i)return i}else if(5===(null==n?void 0:n.type)){const t=(0,a.getPropertyDocStringInherited)(n,e,i);if(t)return t}},t.getAutoImportText=function(e,t,n){let i;return i=t?`from ${t} import ${e}`:`import ${e}`,n&&(i=`${i} as ${n}`),i}},2122:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Localizer=t.setLocaleOverride=t.ParameterizedString=void 0;const i=n(5839),s=n(603),r=n(1783),o=n(1859),a=n(3409),A=n(6687),l=n(5491),c=n(3559),p=n(1308);class g{constructor(e){this._formatString=e}format(e){let t=this._formatString;return Object.keys(e).forEach((n=>{t=t.replace(`{${n}}`,e[n].toString())})),t}getFormatString(){return this._formatString}}t.ParameterizedString=g;const u="en-us",d=new Map([["de",r],["en-us",s],["es",o],["fr",a],["ja",A],["ru",l],["zh-cn",c],["zh-tw",p]]);let h,C,m={};function y(e){void 0===h&&(m=function(){const e=I(u);return e||(console.error("Could not load default strings"),{})}(),h=function(e){if(e===u)return{};let t=I(e);if(void 0!==t)return t;const n=e.split("-");return n.length>0&&n[0]&&(t=I(n[0]),void 0!==t)?t:{}}(function(){if(C)return C;try{if(null===navigator||void 0===navigator?void 0:navigator.language)return navigator.language.toLowerCase()}catch{}const e=process.env,t=e.VSCODE_NLS_CONFIG;if(t)try{return JSON.parse(t).locale}catch{}const n=e.LC_ALL||e.LC_MESSAGES||e.LANG||e.LANGUAGE;if(n){const e=n.split(".");if(e.length>0&&e[0])return e[0]}return u}()));const t=e.split("."),n=f(h,t)||f(m,t);if(n)return n;(0,i.fail)(`Missing localized string for key "${e}"`)}function f(e,t){let n=e;for(const e of t){if(!n[e])return;n=n[e]}return n}function I(e){return d.get(e)}t.setLocaleOverride=function(e){C=e.toLowerCase()},function(e){let t,n,i,s;!function(e){e.annotatedParamCountMismatch=()=>new g(y("Diagnostic.annotatedParamCountMismatch")),e.annotatedTypeArgMissing=()=>y("Diagnostic.annotatedTypeArgMissing"),e.annotationFormatString=()=>y("Diagnostic.annotationFormatString"),e.annotationNotSupported=()=>y("Diagnostic.annotationNotSupported"),e.annotationSpansStrings=()=>y("Diagnostic.annotationSpansStrings"),e.annotationStringEscape=()=>y("Diagnostic.annotationStringEscape"),e.argAssignment=()=>new g(y("Diagnostic.argAssignment")),e.argAssignmentFunction=()=>new g(y("Diagnostic.argAssignmentFunction")),e.argAssignmentParam=()=>new g(y("Diagnostic.argAssignmentParam")),e.argAssignmentParamFunction=()=>new g(y("Diagnostic.argAssignmentParamFunction")),e.argMissingForParam=()=>new g(y("Diagnostic.argMissingForParam")),e.argMissingForParams=()=>new g(y("Diagnostic.argMissingForParams")),e.argMorePositionalExpectedCount=()=>new g(y("Diagnostic.argMorePositionalExpectedCount")),e.argMorePositionalExpectedOne=()=>y("Diagnostic.argMorePositionalExpectedOne"),e.argPositional=()=>y("Diagnostic.argPositional"),e.argPositionalExpectedCount=()=>new g(y("Diagnostic.argPositionalExpectedCount")),e.argPositionalExpectedOne=()=>y("Diagnostic.argPositionalExpectedOne"),e.argTypePartiallyUnknown=()=>y("Diagnostic.argTypePartiallyUnknown"),e.argTypeUnknown=()=>y("Diagnostic.argTypeUnknown"),e.assertAlwaysTrue=()=>y("Diagnostic.assertAlwaysTrue"),e.assertTypeArgs=()=>y("Diagnostic.assertTypeArgs"),e.assertTypeTypeMismatch=()=>new g(y("Diagnostic.assertTypeTypeMismatch")),e.assignmentExprContext=()=>y("Diagnostic.assignmentExprContext"),e.assignmentExprComprehension=()=>new g(y("Diagnostic.assignmentExprComprehension")),e.assignmentExprInSubscript=()=>y("Diagnostic.assignmentExprInSubscript"),e.assignmentInProtocol=()=>y("Diagnostic.assignmentInProtocol"),e.assignmentTargetExpr=()=>y("Diagnostic.assignmentTargetExpr"),e.asyncNotInAsyncFunction=()=>y("Diagnostic.asyncNotInAsyncFunction"),e.awaitIllegal=()=>y("Diagnostic.awaitIllegal"),e.awaitNotInAsync=()=>y("Diagnostic.awaitNotInAsync"),e.backticksIllegal=()=>y("Diagnostic.backticksIllegal"),e.baseClassCircular=()=>y("Diagnostic.baseClassCircular"),e.baseClassInvalid=()=>y("Diagnostic.baseClassInvalid"),e.baseClassFinal=()=>new g(y("Diagnostic.baseClassFinal")),e.baseClassMethodTypeIncompatible=()=>new g(y("Diagnostic.baseClassMethodTypeIncompatible")),e.baseClassVariableTypeIncompatible=()=>new g(y("Diagnostic.baseClassVariableTypeIncompatible")),e.baseClassUnknown=()=>y("Diagnostic.baseClassUnknown"),e.bindTypeMismatch=()=>new g(y("Diagnostic.bindTypeMismatch")),e.breakOutsideLoop=()=>y("Diagnostic.breakOutsideLoop"),e.callableExtraArgs=()=>y("Diagnostic.callableExtraArgs"),e.callableFirstArg=()=>y("Diagnostic.callableFirstArg"),e.callableSecondArg=()=>y("Diagnostic.callableSecondArg"),e.casePatternIsIrrefutable=()=>y("Diagnostic.casePatternIsIrrefutable"),e.classAlreadySpecialized=()=>new g(y("Diagnostic.classAlreadySpecialized")),e.classDecoratorTypeUnknown=()=>y("Diagnostic.classDecoratorTypeUnknown"),e.classDefinitionCycle=()=>new g(y("Diagnostic.classDefinitionCycle")),e.classGetItemClsParam=()=>y("Diagnostic.classGetItemClsParam"),e.classMethodClsParam=()=>y("Diagnostic.classMethodClsParam"),e.classNotRuntimeSubscriptable=()=>new g(y("Diagnostic.classNotRuntimeSubscriptable")),e.classPatternBuiltInArgCount=()=>y("Diagnostic.classPatternBuiltInArgCount"),e.classPatternBuiltInArgPositional=()=>y("Diagnostic.classPatternBuiltInArgPositional"),e.classPatternTypeAlias=()=>new g(y("Diagnostic.classPatternTypeAlias")),e.classTypeParametersIllegal=()=>y("Diagnostic.classTypeParametersIllegal"),e.classVarNotAllowed=()=>y("Diagnostic.classVarNotAllowed"),e.classVarFirstArgMissing=()=>y("Diagnostic.classVarFirstArgMissing"),e.classVarOverridesInstanceVar=()=>new g(y("Diagnostic.classVarOverridesInstanceVar")),e.classVarTooManyArgs=()=>y("Diagnostic.classVarTooManyArgs"),e.classVarWithTypeVar=()=>y("Diagnostic.classVarWithTypeVar"),e.clsSelfParamTypeMismatch=()=>new g(y("Diagnostic.clsSelfParamTypeMismatch")),e.codeTooComplexToAnalyze=()=>y("Diagnostic.codeTooComplexToAnalyze"),e.comparisonAlwaysFalse=()=>new g(y("Diagnostic.comparisonAlwaysFalse")),e.comparisonAlwaysTrue=()=>new g(y("Diagnostic.comparisonAlwaysTrue")),e.comprehensionInDict=()=>y("Diagnostic.comprehensionInDict"),e.comprehensionInSet=()=>y("Diagnostic.comprehensionInSet"),e.concatenateParamSpecMissing=()=>y("Diagnostic.concatenateParamSpecMissing"),e.concatenateTypeArgsMissing=()=>y("Diagnostic.concatenateTypeArgsMissing"),e.constantRedefinition=()=>new g(y("Diagnostic.constantRedefinition")),e.constructorNoArgs=()=>new g(y("Diagnostic.constructorNoArgs")),e.constructorParametersMismatch=()=>new g(y("Diagnostic.constructorParametersMismatch")),e.containmentAlwaysFalse=()=>new g(y("Diagnostic.containmentAlwaysFalse")),e.containmentAlwaysTrue=()=>new g(y("Diagnostic.containmentAlwaysTrue")),e.continueInFinally=()=>y("Diagnostic.continueInFinally"),e.continueOutsideLoop=()=>y("Diagnostic.continueOutsideLoop"),e.dataClassBaseClassNotFrozen=()=>y("Diagnostic.dataClassBaseClassNotFrozen"),e.dataClassFieldWithDefault=()=>y("Diagnostic.dataClassFieldWithDefault"),e.dataClassFieldWithoutAnnotation=()=>y("Diagnostic.dataClassFieldWithoutAnnotation"),e.dataClassPostInitParamCount=()=>new g(y("Diagnostic.dataClassPostInitParamCount")),e.dataClassPostInitType=()=>new g(y("Diagnostic.dataClassPostInitType")),e.dataClassSlotsOverwrite=()=>y("Diagnostic.dataClassSlotsOverwrite"),e.dataClassTransformExpectedBoolLiteral=()=>y("Diagnostic.dataClassTransformExpectedBoolLiteral"),e.dataClassTransformFieldSpecifier=()=>new g(y("Diagnostic.dataClassTransformFieldSpecifier")),e.dataClassTransformPositionalParam=()=>y("Diagnostic.dataClassTransformPositionalParam"),e.dataClassTransformUnknownArgument=()=>new g(y("Diagnostic.dataClassTransformUnknownArgument")),e.declaredReturnTypePartiallyUnknown=()=>new g(y("Diagnostic.declaredReturnTypePartiallyUnknown")),e.declaredReturnTypeUnknown=()=>y("Diagnostic.declaredReturnTypeUnknown"),e.defaultValueContainsCall=()=>y("Diagnostic.defaultValueContainsCall"),e.defaultValueNotAllowed=()=>y("Diagnostic.defaultValueNotAllowed"),e.defaultValueNotEllipsis=()=>y("Diagnostic.defaultValueNotEllipsis"),e.deprecatedType=()=>new g(y("Diagnostic.deprecatedType")),e.dictExpandIllegalInComprehension=()=>y("Diagnostic.dictExpandIllegalInComprehension"),e.dictInAnnotation=()=>y("Diagnostic.dictInAnnotation"),e.dictKeyValuePairs=()=>y("Diagnostic.dictKeyValuePairs"),e.dictUnpackIsNotMapping=()=>y("Diagnostic.dictUnpackIsNotMapping"),e.delTargetExpr=()=>y("Diagnostic.delTargetExpr"),e.dunderAllSymbolNotPresent=()=>new g(y("Diagnostic.dunderAllSymbolNotPresent")),e.duplicateArgsParam=()=>y("Diagnostic.duplicateArgsParam"),e.duplicateBaseClass=()=>y("Diagnostic.duplicateBaseClass"),e.duplicateCatchAll=()=>y("Diagnostic.duplicateCatchAll"),e.duplicateEnumMember=()=>new g(y("Diagnostic.duplicateEnumMember")),e.duplicateGenericAndProtocolBase=()=>y("Diagnostic.duplicateGenericAndProtocolBase"),e.duplicateImport=()=>new g(y("Diagnostic.duplicateImport")),e.duplicateKwargsParam=()=>y("Diagnostic.duplicateKwargsParam"),e.duplicateKeywordOnly=()=>y("Diagnostic.duplicateKeywordOnly"),e.duplicateParam=()=>new g(y("Diagnostic.duplicateParam")),e.duplicateCapturePatternTarget=()=>new g(y("Diagnostic.duplicateCapturePatternTarget")),e.duplicateStarPattern=()=>y("Diagnostic.duplicateStarPattern"),e.duplicateStarStarPattern=()=>y("Diagnostic.duplicateStarStarPattern"),e.duplicatePositionOnly=()=>y("Diagnostic.duplicatePositionOnly"),e.duplicateUnpack=()=>y("Diagnostic.duplicateUnpack"),e.ellipsisContext=()=>y("Diagnostic.ellipsisContext"),e.ellipsisSecondArg=()=>y("Diagnostic.ellipsisSecondArg"),e.enumClassOverride=()=>new g(y("Diagnostic.enumClassOverride")),e.exceptionGroupIncompatible=()=>y("Diagnostic.exceptionGroupIncompatible"),e.exceptionTypeIncorrect=()=>new g(y("Diagnostic.exceptionTypeIncorrect")),e.exceptionTypeNotClass=()=>new g(y("Diagnostic.exceptionTypeNotClass")),e.exceptionTypeNotInstantiable=()=>new g(y("Diagnostic.exceptionTypeNotInstantiable")),e.expectedAfterDecorator=()=>y("Diagnostic.expectedAfterDecorator"),e.expectedArrow=()=>y("Diagnostic.expectedArrow"),e.expectedAsAfterException=()=>y("Diagnostic.expectedAsAfterException"),e.expectedAssignRightHandExpr=()=>y("Diagnostic.expectedAssignRightHandExpr"),e.expectedBinaryRightHandExpr=()=>y("Diagnostic.expectedBinaryRightHandExpr"),e.expectedBoolLiteral=()=>y("Diagnostic.expectedBoolLiteral"),e.expectedCase=()=>y("Diagnostic.expectedCase"),e.expectedClassName=()=>y("Diagnostic.expectedClassName"),e.expectedCloseBrace=()=>y("Diagnostic.expectedCloseBrace"),e.expectedCloseBracket=()=>y("Diagnostic.expectedCloseBracket"),e.expectedCloseParen=()=>y("Diagnostic.expectedCloseParen"),e.expectedColon=()=>y("Diagnostic.expectedColon"),e.expectedComplexNumberLiteral=()=>y("Diagnostic.expectedComplexNumberLiteral"),e.expectedDecoratorExpr=()=>y("Diagnostic.expectedDecoratorExpr"),e.expectedDecoratorName=()=>y("Diagnostic.expectedDecoratorName"),e.expectedDecoratorNewline=()=>y("Diagnostic.expectedDecoratorNewline"),e.expectedDelExpr=()=>y("Diagnostic.expectedDelExpr"),e.expectedElse=()=>y("Diagnostic.expectedElse"),e.expectedEquals=()=>y("Diagnostic.expectedEquals"),e.expectedExceptionClass=()=>y("Diagnostic.expectedExceptionClass"),e.expectedExceptionObj=()=>y("Diagnostic.expectedExceptionObj"),e.expectedExpr=()=>y("Diagnostic.expectedExpr"),e.expectedImport=()=>y("Diagnostic.expectedImport"),e.expectedImportAlias=()=>y("Diagnostic.expectedImportAlias"),e.expectedImportSymbols=()=>y("Diagnostic.expectedImportSymbols"),e.expectedIdentifier=()=>y("Diagnostic.expectedIdentifier"),e.expectedIndentedBlock=()=>y("Diagnostic.expectedIndentedBlock"),e.expectedIn=()=>y("Diagnostic.expectedIn"),e.expectedInExpr=()=>y("Diagnostic.expectedInExpr"),e.expectedFunctionAfterAsync=()=>y("Diagnostic.expectedFunctionAfterAsync"),e.expectedFunctionName=()=>y("Diagnostic.expectedFunctionName"),e.expectedMemberName=()=>y("Diagnostic.expectedMemberName"),e.expectedModuleName=()=>y("Diagnostic.expectedModuleName"),e.expectedNameAfterAs=()=>y("Diagnostic.expectedNameAfterAs"),e.expectedNamedParameter=()=>y("Diagnostic.expectedNamedParameter"),e.expectedNewline=()=>y("Diagnostic.expectedNewline"),e.expectedNewlineOrSemicolon=()=>y("Diagnostic.expectedNewlineOrSemicolon"),e.expectedOpenParen=()=>y("Diagnostic.expectedOpenParen"),e.expectedParamName=()=>y("Diagnostic.expectedParamName"),e.expectedPatternExpr=()=>y("Diagnostic.expectedPatternExpr"),e.expectedPatternSubjectExpr=()=>y("Diagnostic.expectedPatternSubjectExpr"),e.expectedPatternValue=()=>y("Diagnostic.expectedPatternValue"),e.expectedReturnExpr=()=>y("Diagnostic.expectedReturnExpr"),e.expectedSliceIndex=()=>y("Diagnostic.expectedSliceIndex"),e.expectedTypeNotString=()=>y("Diagnostic.expectedTypeNotString"),e.expectedTypeParameterName=()=>y("Diagnostic.expectedTypeParameterName"),e.expectedYieldExpr=()=>y("Diagnostic.expectedYieldExpr"),e.finalClassIsAbstract=()=>new g(y("Diagnostic.finalClassIsAbstract")),e.finalContext=()=>y("Diagnostic.finalContext"),e.finalMethodOverride=()=>new g(y("Diagnostic.finalMethodOverride")),e.finalReassigned=()=>new g(y("Diagnostic.finalReassigned")),e.finalRedeclaration=()=>new g(y("Diagnostic.finalRedeclaration")),e.finalRedeclarationBySubclass=()=>new g(y("Diagnostic.finalRedeclarationBySubclass")),e.finalTooManyArgs=()=>y("Diagnostic.finalTooManyArgs"),e.finalUnassigned=()=>new g(y("Diagnostic.finalUnassigned")),e.formatStringBrace=()=>y("Diagnostic.formatStringBrace"),e.formatStringBytes=()=>y("Diagnostic.formatStringBytes"),e.formatStringEscape=()=>y("Diagnostic.formatStringEscape"),e.formatStringInPattern=()=>y("Diagnostic.formatStringInPattern"),e.formatStringIllegal=()=>y("Diagnostic.formatStringIllegal"),e.formatStringUnicode=()=>y("Diagnostic.formatStringUnicode"),e.formatStringUnterminated=()=>y("Diagnostic.formatStringUnterminated"),e.functionDecoratorTypeUnknown=()=>y("Diagnostic.functionDecoratorTypeUnknown"),e.functionInConditionalExpression=()=>y("Diagnostic.functionInConditionalExpression"),e.functionTypeParametersIllegal=()=>y("Diagnostic.functionTypeParametersIllegal"),e.generatorAsyncReturnType=()=>y("Diagnostic.generatorAsyncReturnType"),e.generatorNotParenthesized=()=>y("Diagnostic.generatorNotParenthesized"),e.generatorSyncReturnType=()=>y("Diagnostic.generatorSyncReturnType"),e.genericBaseClassNotAllowed=()=>y("Diagnostic.genericBaseClassNotAllowed"),e.genericClassAssigned=()=>y("Diagnostic.genericClassAssigned"),e.genericClassDeleted=()=>y("Diagnostic.genericClassDeleted"),e.genericNotAllowed=()=>y("Diagnostic.genericNotAllowed"),e.genericTypeAliasBoundTypeVar=()=>new g(y("Diagnostic.genericTypeAliasBoundTypeVar")),e.genericTypeArgMissing=()=>y("Diagnostic.genericTypeArgMissing"),e.genericTypeArgTypeVar=()=>y("Diagnostic.genericTypeArgTypeVar"),e.genericTypeArgUnique=()=>y("Diagnostic.genericTypeArgUnique"),e.globalReassignment=()=>new g(y("Diagnostic.globalReassignment")),e.globalRedefinition=()=>new g(y("Diagnostic.globalRedefinition")),e.implicitStringConcat=()=>y("Diagnostic.implicitStringConcat"),e.importCycleDetected=()=>y("Diagnostic.importCycleDetected"),e.importDepthExceeded=()=>new g(y("Diagnostic.importDepthExceeded")),e.importResolveFailure=()=>new g(y("Diagnostic.importResolveFailure")),e.importSourceResolveFailure=()=>new g(y("Diagnostic.importSourceResolveFailure")),e.importSymbolUnknown=()=>new g(y("Diagnostic.importSymbolUnknown")),e.incompatibleMethodOverride=()=>new g(y("Diagnostic.incompatibleMethodOverride")),e.inconsistentIndent=()=>y("Diagnostic.inconsistentIndent"),e.inconsistentTabs=()=>y("Diagnostic.inconsistentTabs"),e.initMustReturnNone=()=>y("Diagnostic.initMustReturnNone"),e.initSubclassClsParam=()=>y("Diagnostic.initSubclassClsParam"),e.instanceMethodSelfParam=()=>y("Diagnostic.instanceMethodSelfParam"),e.instanceVarOverridesClassVar=()=>new g(y("Diagnostic.instanceVarOverridesClassVar")),e.instantiateAbstract=()=>new g(y("Diagnostic.instantiateAbstract")),e.instantiateProtocol=()=>new g(y("Diagnostic.instantiateProtocol")),e.internalBindError=()=>new g(y("Diagnostic.internalBindError")),e.internalParseError=()=>new g(y("Diagnostic.internalParseError")),e.internalTypeCheckingError=()=>new g(y("Diagnostic.internalTypeCheckingError")),e.invalidIdentifierChar=()=>y("Diagnostic.invalidIdentifierChar"),e.invalidStubStatement=()=>y("Diagnostic.invalidStubStatement"),e.invalidTokenChars=()=>new g(y("Diagnostic.invalidTokenChars")),e.isInstanceInvalidType=()=>new g(y("Diagnostic.isInstanceInvalidType")),e.isSubclassInvalidType=()=>new g(y("Diagnostic.isSubclassInvalidType")),e.keyValueInSet=()=>y("Diagnostic.keyValueInSet"),e.keywordArgInTypeArgument=()=>y("Diagnostic.keywordArgInTypeArgument"),e.keywordOnlyAfterArgs=()=>y("Diagnostic.keywordOnlyAfterArgs"),e.keywordSubscriptIllegal=()=>y("Diagnostic.keywordSubscriptIllegal"),e.lambdaReturnTypeUnknown=()=>y("Diagnostic.lambdaReturnTypeUnknown"),e.lambdaReturnTypePartiallyUnknown=()=>new g(y("Diagnostic.lambdaReturnTypePartiallyUnknown")),e.listAssignmentMismatch=()=>new g(y("Diagnostic.listAssignmentMismatch")),e.listInAnnotation=()=>y("Diagnostic.listInAnnotation"),e.literalUnsupportedType=()=>y("Diagnostic.literalUnsupportedType"),e.literalEmptyArgs=()=>y("Diagnostic.literalEmptyArgs"),e.literalNotCallable=()=>y("Diagnostic.literalNotCallable"),e.matchIncompatible=()=>y("Diagnostic.matchIncompatible"),e.matchIsNotExhaustive=()=>y("Diagnostic.matchIsNotExhaustive"),e.maxParseDepthExceeded=()=>y("Diagnostic.maxParseDepthExceeded"),e.memberAccess=()=>new g(y("Diagnostic.memberAccess")),e.memberDelete=()=>new g(y("Diagnostic.memberDelete")),e.memberSet=()=>new g(y("Diagnostic.memberSet")),e.metaclassConflict=()=>y("Diagnostic.metaclassConflict"),e.metaclassDuplicate=()=>y("Diagnostic.metaclassDuplicate"),e.metaclassIsGeneric=()=>y("Diagnostic.metaclassIsGeneric"),e.methodNotDefined=()=>new g(y("Diagnostic.methodNotDefined")),e.methodNotDefinedOnType=()=>new g(y("Diagnostic.methodNotDefinedOnType")),e.methodOrdering=()=>y("Diagnostic.methodOrdering"),e.methodOverridden=()=>new g(y("Diagnostic.methodOverridden")),e.methodReturnsNonObject=()=>new g(y("Diagnostic.methodReturnsNonObject")),e.missingProtocolMembers=()=>y("Diagnostic.missingProtocolMembers"),e.missingSuperCall=()=>new g(y("Diagnostic.missingSuperCall")),e.moduleAsType=()=>y("Diagnostic.moduleAsType"),e.moduleNotCallable=()=>y("Diagnostic.moduleNotCallable"),e.moduleUnknownMember=()=>new g(y("Diagnostic.moduleUnknownMember")),e.namedExceptAfterCatchAll=()=>y("Diagnostic.namedExceptAfterCatchAll"),e.namedParamAfterParamSpecArgs=()=>new g(y("Diagnostic.namedParamAfterParamSpecArgs")),e.namedTupleEmptyName=()=>y("Diagnostic.namedTupleEmptyName"),e.namedTupleFirstArg=()=>y("Diagnostic.namedTupleFirstArg"),e.namedTupleMultipleInheritance=()=>y("Diagnostic.namedTupleMultipleInheritance"),e.namedTupleNameType=()=>y("Diagnostic.namedTupleNameType"),e.namedTupleNameUnique=()=>y("Diagnostic.namedTupleNameUnique"),e.namedTupleNoTypes=()=>y("Diagnostic.namedTupleNoTypes"),e.namedTupleSecondArg=()=>y("Diagnostic.namedTupleSecondArg"),e.newClsParam=()=>y("Diagnostic.newClsParam"),e.newTypeLiteral=()=>y("Diagnostic.newTypeLiteral"),e.newTypeNotAClass=()=>y("Diagnostic.newTypeNotAClass"),e.newTypeProtocolClass=()=>y("Diagnostic.newTypeProtocolClass"),e.nonDefaultAfterDefault=()=>y("Diagnostic.nonDefaultAfterDefault"),e.noneNotCallable=()=>y("Diagnostic.noneNotCallable"),e.noneNotIterable=()=>y("Diagnostic.noneNotIterable"),e.noneNotSubscriptable=()=>y("Diagnostic.noneNotSubscriptable"),e.noneNotUsableWith=()=>y("Diagnostic.noneNotUsableWith"),e.noneOperator=()=>new g(y("Diagnostic.noneOperator")),e.noneUnknownMember=()=>new g(y("Diagnostic.noneUnknownMember")),e.nonLocalNoBinding=()=>new g(y("Diagnostic.nonLocalNoBinding")),e.nonLocalReassignment=()=>new g(y("Diagnostic.nonLocalReassignment")),e.nonLocalRedefinition=()=>new g(y("Diagnostic.nonLocalRedefinition")),e.nonLocalInModule=()=>y("Diagnostic.nonLocalInModule"),e.noOverload=()=>new g(y("Diagnostic.noOverload")),e.noReturnContainsReturn=()=>y("Diagnostic.noReturnContainsReturn"),e.noReturnContainsYield=()=>y("Diagnostic.noReturnContainsYield"),e.noReturnReturnsNone=()=>y("Diagnostic.noReturnReturnsNone"),e.notRequiredArgCount=()=>y("Diagnostic.notRequiredArgCount"),e.notRequiredNotInTypedDict=()=>y("Diagnostic.notRequiredNotInTypedDict"),e.objectNotCallable=()=>new g(y("Diagnostic.objectNotCallable")),e.obscuredClassDeclaration=()=>new g(y("Diagnostic.obscuredClassDeclaration")),e.obscuredFunctionDeclaration=()=>new g(y("Diagnostic.obscuredFunctionDeclaration")),e.obscuredMethodDeclaration=()=>new g(y("Diagnostic.obscuredMethodDeclaration")),e.obscuredParameterDeclaration=()=>new g(y("Diagnostic.obscuredParameterDeclaration")),e.obscuredTypeAliasDeclaration=()=>new g(y("Diagnostic.obscuredTypeAliasDeclaration")),e.obscuredVariableDeclaration=()=>new g(y("Diagnostic.obscuredVariableDeclaration")),e.operatorLessOrGreaterDeprecated=()=>y("Diagnostic.operatorLessOrGreaterDeprecated"),e.optionalExtraArgs=()=>y("Diagnostic.optionalExtraArgs"),e.orPatternIrrefutable=()=>y("Diagnostic.orPatternIrrefutable"),e.orPatternMissingName=()=>y("Diagnostic.orPatternMissingName"),e.overlappingOverload=()=>new g(y("Diagnostic.overlappingOverload")),e.overloadAbstractMismatch=()=>new g(y("Diagnostic.overloadAbstractMismatch")),e.overloadImplementationMismatch=()=>new g(y("Diagnostic.overloadImplementationMismatch")),e.overloadReturnTypeMismatch=()=>new g(y("Diagnostic.overloadReturnTypeMismatch")),e.overloadWithImplementation=()=>new g(y("Diagnostic.overloadWithImplementation")),e.overloadWithoutImplementation=()=>new g(y("Diagnostic.overloadWithoutImplementation")),e.overwriteTypeParameter=()=>new g(y("Diagnostic.overwriteTypeParameter")),e.paramAfterKwargsParam=()=>y("Diagnostic.paramAfterKwargsParam"),e.paramAlreadyAssigned=()=>new g(y("Diagnostic.paramAlreadyAssigned")),e.paramAnnotationMissing=()=>new g(y("Diagnostic.paramAnnotationMissing")),e.paramNameMissing=()=>new g(y("Diagnostic.paramNameMissing")),e.paramSpecArgsKwargsUsage=()=>y("Diagnostic.paramSpecArgsKwargsUsage"),e.paramSpecArgsMissing=()=>new g(y("Diagnostic.paramSpecArgsMissing")),e.paramSpecArgsUsage=()=>y("Diagnostic.paramSpecArgsUsage"),e.paramSpecAssignedName=()=>new g(y("Diagnostic.paramSpecAssignedName")),e.paramSpecContext=()=>y("Diagnostic.paramSpecContext"),e.paramSpecFirstArg=()=>y("Diagnostic.paramSpecFirstArg"),e.paramSpecKwargsUsage=()=>y("Diagnostic.paramSpecKwargsUsage"),e.paramSpecNotBound=()=>new g(y("Diagnostic.paramSpecNotBound")),e.paramSpecNotUsedByOuterScope=()=>new g(y("Diagnostic.paramSpecNotUsedByOuterScope")),e.paramSpecUnknownArg=()=>y("Diagnostic.paramSpecUnknownArg"),e.paramSpecUnknownMember=()=>new g(y("Diagnostic.paramSpecUnknownMember")),e.paramSpecUnknownParam=()=>new g(y("Diagnostic.paramSpecUnknownParam")),e.paramTypeCovariant=()=>y("Diagnostic.paramTypeCovariant"),e.paramTypeUnknown=()=>new g(y("Diagnostic.paramTypeUnknown")),e.paramAssignmentMismatch=()=>new g(y("Diagnostic.paramAssignmentMismatch")),e.paramTypePartiallyUnknown=()=>new g(y("Diagnostic.paramTypePartiallyUnknown")),e.parenthesizedContextManagerIllegal=()=>y("Diagnostic.parenthesizedContextManagerIllegal"),e.positionArgAfterNamedArg=()=>y("Diagnostic.positionArgAfterNamedArg"),e.privateImportFromPyTypedModule=()=>new g(y("Diagnostic.privateImportFromPyTypedModule")),e.positionOnlyAfterArgs=()=>y("Diagnostic.positionOnlyAfterArgs"),e.positionOnlyAfterKeywordOnly=()=>y("Diagnostic.positionOnlyAfterKeywordOnly"),e.positionOnlyIncompatible=()=>y("Diagnostic.positionOnlyIncompatible"),e.positionOnlyFirstParam=()=>y("Diagnostic.positionOnlyFirstParam"),e.privateUsedOutsideOfClass=()=>new g(y("Diagnostic.privateUsedOutsideOfClass")),e.privateUsedOutsideOfModule=()=>new g(y("Diagnostic.privateUsedOutsideOfModule")),e.propertyOverridden=()=>new g(y("Diagnostic.propertyOverridden")),e.propertyStaticMethod=()=>y("Diagnostic.propertyStaticMethod"),e.protectedUsedOutsideOfClass=()=>new g(y("Diagnostic.protectedUsedOutsideOfClass")),e.protocolBaseClass=()=>new g(y("Diagnostic.protocolBaseClass")),e.protocolBaseClassWithTypeArgs=()=>y("Diagnostic.protocolBaseClassWithTypeArgs"),e.protocolIllegal=()=>y("Diagnostic.protocolIllegal"),e.protocolMemberNotClassVar=()=>new g(y("Diagnostic.protocolMemberNotClassVar")),e.protocolNotAllowedInTypeArgument=()=>y("Diagnostic.protocolNotAllowedInTypeArgument"),e.protocolUsedInCall=()=>new g(y("Diagnostic.protocolUsedInCall")),e.protocolVarianceContravariant=()=>new g(y("Diagnostic.protocolVarianceContravariant")),e.protocolVarianceCovariant=()=>new g(y("Diagnostic.protocolVarianceCovariant")),e.protocolVarianceInvariant=()=>new g(y("Diagnostic.protocolVarianceInvariant")),e.recursiveDefinition=()=>new g(y("Diagnostic.recursiveDefinition")),e.relativeImportNotAllowed=()=>y("Diagnostic.relativeImportNotAllowed"),e.requiredArgCount=()=>y("Diagnostic.requiredArgCount"),e.requiredNotInTypedDict=()=>y("Diagnostic.requiredNotInTypedDict"),e.returnMissing=()=>new g(y("Diagnostic.returnMissing")),e.returnOutsideFunction=()=>y("Diagnostic.returnOutsideFunction"),e.returnTypeContravariant=()=>y("Diagnostic.returnTypeContravariant"),e.returnTypeMismatch=()=>new g(y("Diagnostic.returnTypeMismatch")),e.returnTypeUnknown=()=>y("Diagnostic.returnTypeUnknown"),e.returnTypePartiallyUnknown=()=>new g(y("Diagnostic.returnTypePartiallyUnknown")),e.revealLocalsArgs=()=>y("Diagnostic.revealLocalsArgs"),e.revealLocalsNone=()=>y("Diagnostic.revealLocalsNone"),e.revealTypeArgs=()=>y("Diagnostic.revealTypeArgs"),e.revealTypeExpectedTextArg=()=>y("Diagnostic.revealTypeExpectedTextArg"),e.revealTypeExpectedTextMismatch=()=>new g(y("Diagnostic.revealTypeExpectedTextMismatch")),e.revealTypeExpectedTypeMismatch=()=>new g(y("Diagnostic.revealTypeExpectedTypeMismatch")),e.selfTypeContext=()=>y("Diagnostic.selfTypeContext"),e.selfTypeWithTypedSelfOrCls=()=>y("Diagnostic.selfTypeWithTypedSelfOrCls"),e.setterGetterTypeMismatch=()=>y("Diagnostic.setterGetterTypeMismatch"),e.starPatternInAsPattern=()=>y("Diagnostic.starPatternInAsPattern"),e.starPatternInOrPattern=()=>y("Diagnostic.starPatternInOrPattern"),e.singleOverload=()=>new g(y("Diagnostic.singleOverload")),e.slotsAttributeError=()=>new g(y("Diagnostic.slotsAttributeError")),e.slotsClassVarConflict=()=>new g(y("Diagnostic.slotsClassVarConflict")),e.starStarWildcardNotAllowed=()=>y("Diagnostic.starStarWildcardNotAllowed"),e.staticClsSelfParam=()=>y("Diagnostic.staticClsSelfParam"),e.strictTypeGuardReturnType=()=>new g(y("Diagnostic.strictTypeGuardReturnType")),e.stringNonAsciiBytes=()=>y("Diagnostic.stringNonAsciiBytes"),e.stringNotSubscriptable=()=>y("Diagnostic.stringNotSubscriptable"),e.stringUnsupportedEscape=()=>y("Diagnostic.stringUnsupportedEscape"),e.stringUnterminated=()=>y("Diagnostic.stringUnterminated"),e.stubFileMissing=()=>new g(y("Diagnostic.stubFileMissing")),e.stubUsesGetAttr=()=>y("Diagnostic.stubUsesGetAttr"),e.sublistParamsIncompatible=()=>y("Diagnostic.sublistParamsIncompatible"),e.superCallArgCount=()=>y("Diagnostic.superCallArgCount"),e.superCallFirstArg=()=>new g(y("Diagnostic.superCallFirstArg")),e.superCallSecondArg=()=>new g(y("Diagnostic.superCallSecondArg")),e.superCallZeroArgForm=()=>y("Diagnostic.superCallZeroArgForm"),e.symbolIsUnbound=()=>new g(y("Diagnostic.symbolIsUnbound")),e.symbolIsUndefined=()=>new g(y("Diagnostic.symbolIsUndefined")),e.symbolIsPossiblyUnbound=()=>new g(y("Diagnostic.symbolIsPossiblyUnbound")),e.symbolOverridden=()=>new g(y("Diagnostic.symbolOverridden")),e.totalOrderingMissingMethod=()=>y("Diagnostic.totalOrderingMissingMethod"),e.trailingCommaInFromImport=()=>y("Diagnostic.trailingCommaInFromImport"),e.tryWithoutExcept=()=>y("Diagnostic.tryWithoutExcept"),e.tupleAssignmentMismatch=()=>new g(y("Diagnostic.tupleAssignmentMismatch")),e.tupleInAnnotation=()=>y("Diagnostic.tupleInAnnotation"),e.tupleIndexOutOfRange=()=>new g(y("Diagnostic.tupleIndexOutOfRange")),e.typeAliasIsRecursiveDirect=()=>new g(y("Diagnostic.typeAliasIsRecursiveDirect")),e.typeAliasIsRecursiveIndirect=()=>new g(y("Diagnostic.typeAliasIsRecursiveIndirect")),e.typeAliasNotInModuleOrClass=()=>y("Diagnostic.typeAliasNotInModuleOrClass"),e.typeAliasRedeclared=()=>new g(y("Diagnostic.typeAliasRedeclared")),e.typeAliasStatementIllegal=()=>y("Diagnostic.typeAliasStatementIllegal"),e.typeAnnotationCall=()=>y("Diagnostic.typeAnnotationCall"),e.typeAnnotationVariable=()=>y("Diagnostic.typeAnnotationVariable"),e.typeArgListExpected=()=>y("Diagnostic.typeArgListExpected"),e.typeArgListNotAllowed=()=>y("Diagnostic.typeArgListNotAllowed"),e.typeArgsExpectingNone=()=>new g(y("Diagnostic.typeArgsExpectingNone")),e.typeArgsMismatchOne=()=>new g(y("Diagnostic.typeArgsMismatchOne")),e.typeArgsMissingForAlias=()=>new g(y("Diagnostic.typeArgsMissingForAlias")),e.typeArgsMissingForClass=()=>new g(y("Diagnostic.typeArgsMissingForClass")),e.typeArgsTooFew=()=>new g(y("Diagnostic.typeArgsTooFew")),e.typeArgsTooMany=()=>new g(y("Diagnostic.typeArgsTooMany")),e.typeAssignmentMismatch=()=>new g(y("Diagnostic.typeAssignmentMismatch")),e.typeCallNotAllowed=()=>y("Diagnostic.typeCallNotAllowed"),e.typeCommentDeprecated=()=>y("Diagnostic.typeCommentDeprecated"),e.typedDictAccess=()=>y("Diagnostic.typedDictAccess"),e.typedDictBadVar=()=>y("Diagnostic.typedDictBadVar"),e.typedDictBaseClass=()=>y("Diagnostic.typedDictBaseClass"),e.typedDictDelete=()=>y("Diagnostic.typedDictDelete"),e.typedDictEmptyName=()=>y("Diagnostic.typedDictEmptyName"),e.typedDictEntryName=()=>y("Diagnostic.typedDictEntryName"),e.typedDictEntryUnique=()=>y("Diagnostic.typedDictEntryUnique"),e.typedDictExtraArgs=()=>y("Diagnostic.typedDictExtraArgs"),e.typedDictFieldRedefinition=()=>new g(y("Diagnostic.typedDictFieldRedefinition")),e.typedDictFirstArg=()=>y("Diagnostic.typedDictFirstArg"),e.typedDictSecondArgDict=()=>y("Diagnostic.typedDictSecondArgDict"),e.typedDictSecondArgDictEntry=()=>y("Diagnostic.typedDictSecondArgDictEntry"),e.typedDictSet=()=>y("Diagnostic.typedDictSet"),e.typedDictTotalParam=()=>y("Diagnostic.typedDictTotalParam"),e.typeExpectedClass=()=>new g(y("Diagnostic.typeExpectedClass")),e.typeGuardArgCount=()=>y("Diagnostic.typeGuardArgCount"),e.typeNotAwaitable=()=>new g(y("Diagnostic.typeNotAwaitable")),e.typeNotCallable=()=>new g(y("Diagnostic.typeNotCallable")),e.typeNotIntantiable=()=>new g(y("Diagnostic.typeNotIntantiable")),e.typeNotIterable=()=>new g(y("Diagnostic.typeNotIterable")),e.typeNotSpecializable=()=>new g(y("Diagnostic.typeNotSpecializable")),e.typeNotSubscriptable=()=>new g(y("Diagnostic.typeNotSubscriptable")),e.typeNotUsableWith=()=>new g(y("Diagnostic.typeNotUsableWith")),e.typeNotSupportBinaryOperator=()=>new g(y("Diagnostic.typeNotSupportBinaryOperator")),e.typeNotSupportBinaryOperatorBidirectional=()=>new g(y("Diagnostic.typeNotSupportBinaryOperatorBidirectional")),e.typeNotSupportUnaryOperator=()=>new g(y("Diagnostic.typeNotSupportUnaryOperator")),e.typeNotSupportUnaryOperatorBidirectional=()=>new g(y("Diagnostic.typeNotSupportUnaryOperatorBidirectional")),e.typeParameterBoundNotAllowed=()=>y("Diagnostic.typeParameterBoundNotAllowed"),e.typeParameterConstraintTuple=()=>y("Diagnostic.typeParameterConstraintTuple"),e.typeParameterExistingTypeParameter=()=>new g(y("Diagnostic.typeParameterExistingTypeParameter")),e.typeParametersMissing=()=>y("Diagnostic.typeParametersMissing"),e.typeParameterNotDeclared=()=>new g(y("Diagnostic.typeParameterNotDeclared")),e.typeParameterOutOfScope=()=>new g(y("Diagnostic.typeParameterOutOfScope")),e.typePartiallyUnknown=()=>new g(y("Diagnostic.typePartiallyUnknown")),e.typeUnknown=()=>new g(y("Diagnostic.typeUnknown")),e.typeVarAssignedName=()=>new g(y("Diagnostic.typeVarAssignedName")),e.typeVarAssignmentMismatch=()=>new g(y("Diagnostic.typeVarAssignmentMismatch")),e.typeVarBoundAndConstrained=()=>y("Diagnostic.typeVarBoundAndConstrained"),e.typeVarFirstArg=()=>y("Diagnostic.typeVarFirstArg"),e.typeVarGeneric=()=>y("Diagnostic.typeVarGeneric"),e.typeVarNoMember=()=>new g(y("Diagnostic.typeVarNoMember")),e.typeVarNotSubscriptable=()=>new g(y("Diagnostic.typeVarNotSubscriptable")),e.typeVarNotUsedByOuterScope=()=>new g(y("Diagnostic.typeVarNotUsedByOuterScope")),e.typeVarPossiblyUnsolvable=()=>new g(y("Diagnostic.typeVarPossiblyUnsolvable")),e.typeVarSingleConstraint=()=>y("Diagnostic.typeVarSingleConstraint"),e.typeVarsNotInGenericOrProtocol=()=>y("Diagnostic.typeVarsNotInGenericOrProtocol"),e.typeVarTupleMustBeUnpacked=()=>y("Diagnostic.typeVarTupleMustBeUnpacked"),e.typeVarTupleContext=()=>y("Diagnostic.typeVarTupleContext"),e.typeVarUnknownParam=()=>new g(y("Diagnostic.typeVarUnknownParam")),e.typeVarUsedByOuterScope=()=>new g(y("Diagnostic.typeVarUsedByOuterScope")),e.typeVarUsedOnlyOnce=()=>new g(y("Diagnostic.typeVarUsedOnlyOnce")),e.typeVarVariance=()=>y("Diagnostic.typeVarVariance"),e.unaccessedClass=()=>new g(y("Diagnostic.unaccessedClass")),e.unaccessedFunction=()=>new g(y("Diagnostic.unaccessedFunction")),e.unaccessedImport=()=>new g(y("Diagnostic.unaccessedImport")),e.unaccessedSymbol=()=>new g(y("Diagnostic.unaccessedSymbol")),e.unaccessedVariable=()=>new g(y("Diagnostic.unaccessedVariable")),e.unexpectedAsyncToken=()=>y("Diagnostic.unexpectedAsyncToken"),e.unexpectedExprToken=()=>y("Diagnostic.unexpectedExprToken"),e.unexpectedIndent=()=>y("Diagnostic.unexpectedIndent"),e.unexpectedUnindent=()=>y("Diagnostic.unexpectedUnindent"),e.unionSyntaxIllegal=()=>y("Diagnostic.unionSyntaxIllegal"),e.unionTypeArgCount=()=>y("Diagnostic.unionTypeArgCount"),e.uninitializedInstanceVariable=()=>new g(y("Diagnostic.uninitializedInstanceVariable")),e.unnecessaryCast=()=>new g(y("Diagnostic.unnecessaryCast")),e.unnecessaryIsInstanceAlways=()=>new g(y("Diagnostic.unnecessaryIsInstanceAlways")),e.unnecessaryIsSubclassAlways=()=>new g(y("Diagnostic.unnecessaryIsSubclassAlways")),e.unnecessaryPyrightIgnore=()=>y("Diagnostic.unnecessaryPyrightIgnore"),e.unnecessaryPyrightIgnoreRule=()=>new g(y("Diagnostic.unnecessaryPyrightIgnoreRule")),e.unnecessaryTypeIgnore=()=>y("Diagnostic.unnecessaryTypeIgnore"),e.unpackArgCount=()=>y("Diagnostic.unpackArgCount"),e.unpackedArgInTypeArgument=()=>y("Diagnostic.unpackedArgInTypeArgument"),e.unpackedArgWithVariadicParam=()=>y("Diagnostic.unpackedArgWithVariadicParam"),e.unpackedDictArgumentNotMapping=()=>y("Diagnostic.unpackedDictArgumentNotMapping"),e.unpackedSubscriptIllegal=()=>y("Diagnostic.unpackedSubscriptIllegal"),e.unpackedTypedDictArgument=()=>y("Diagnostic.unpackedTypedDictArgument"),e.unpackedTypeVarTupleExpected=()=>new g(y("Diagnostic.unpackedTypeVarTupleExpected")),e.unpackExpectedTypedDict=()=>y("Diagnostic.unpackExpectedTypedDict"),e.unpackExpectedTypeVarTuple=()=>y("Diagnostic.unpackExpectedTypeVarTuple"),e.unpackIllegalInComprehension=()=>y("Diagnostic.unpackIllegalInComprehension"),e.unpackInAnnotation=()=>y("Diagnostic.unpackInAnnotation"),e.unpackInDict=()=>y("Diagnostic.unpackInDict"),e.unpackInSet=()=>y("Diagnostic.unpackInSet"),e.unpackNotAllowed=()=>y("Diagnostic.unpackNotAllowed"),e.unpackOperatorNotAllowed=()=>y("Diagnostic.unpackOperatorNotAllowed"),e.unpackTuplesIllegal=()=>y("Diagnostic.unpackTuplesIllegal"),e.unreachableCode=()=>y("Diagnostic.unreachableCode"),e.unreachableExcept=()=>y("Diagnostic.unreachableExcept"),e.unsupportedDunderAllOperation=()=>y("Diagnostic.unsupportedDunderAllOperation"),e.unusedCallResult=()=>new g(y("Diagnostic.unusedCallResult")),e.unusedCoroutine=()=>y("Diagnostic.unusedCoroutine"),e.unusedExpression=()=>y("Diagnostic.unusedExpression"),e.varAnnotationIllegal=()=>y("Diagnostic.varAnnotationIllegal"),e.variableFinalOverride=()=>new g(y("Diagnostic.variableFinalOverride")),e.variadicTypeArgsTooMany=()=>y("Diagnostic.variadicTypeArgsTooMany"),e.variadicTypeParamTooManyAlias=()=>new g(y("Diagnostic.variadicTypeParamTooManyAlias")),e.variadicTypeParamTooManyClass=()=>new g(y("Diagnostic.variadicTypeParamTooManyClass")),e.walrusIllegal=()=>y("Diagnostic.walrusIllegal"),e.walrusNotAllowed=()=>y("Diagnostic.walrusNotAllowed"),e.wildcardInFunction=()=>y("Diagnostic.wildcardInFunction"),e.wildcardLibraryImport=()=>y("Diagnostic.wildcardLibraryImport"),e.yieldFromIllegal=()=>y("Diagnostic.yieldFromIllegal"),e.yieldFromOutsideAsync=()=>y("Diagnostic.yieldFromOutsideAsync"),e.yieldOutsideFunction=()=>y("Diagnostic.yieldOutsideFunction"),e.yieldTypeMismatch=()=>new g(y("Diagnostic.yieldTypeMismatch")),e.yieldWithinListCompr=()=>y("Diagnostic.yieldWithinListCompr"),e.zeroCaseStatementsFound=()=>y("Diagnostic.zeroCaseStatementsFound"),e.zeroLengthTupleNotAllowed=()=>y("Diagnostic.zeroLengthTupleNotAllowed")}(t=e.Diagnostic||(e.Diagnostic={})),function(e){e.argParam=()=>new g(y("DiagnosticAddendum.argParam")),e.argParamFunction=()=>new g(y("DiagnosticAddendum.argParamFunction")),e.argsParamMissing=()=>new g(y("DiagnosticAddendum.argsParamMissing")),e.argsPositionOnly=()=>new g(y("DiagnosticAddendum.argsPositionOnly")),e.argumentType=()=>new g(y("DiagnosticAddendum.argumentType")),e.argumentTypes=()=>new g(y("DiagnosticAddendum.argumentTypes")),e.assignToNone=()=>y("DiagnosticAddendum.assignToNone"),e.asyncHelp=()=>y("DiagnosticAddendum.asyncHelp"),e.baseClassProvidesType=()=>new g(y("DiagnosticAddendum.baseClassProvidesType")),e.dataClassFrozen=()=>new g(y("DiagnosticAddendum.dataClassFrozen")),e.dataClassFieldLocation=()=>y("DiagnosticAddendum.dataClassFieldLocation"),e.finalMethod=()=>y("DiagnosticAddendum.finalMethod"),e.functionParamDefaultMissing=()=>new g(y("DiagnosticAddendum.functionParamDefaultMissing")),e.functionParamName=()=>new g(y("DiagnosticAddendum.functionParamName")),e.functionReturnTypeMismatch=()=>new g(y("DiagnosticAddendum.functionReturnTypeMismatch")),e.functionTooFewParams=()=>new g(y("DiagnosticAddendum.functionTooFewParams")),e.incompatibleGetter=()=>y("DiagnosticAddendum.incompatibleGetter"),e.incompatibleSetter=()=>y("DiagnosticAddendum.incompatibleSetter"),e.incompatibleDeleter=()=>y("DiagnosticAddendum.incompatibleDeleter"),e.initMethodLocation=()=>new g(y("DiagnosticAddendum.initMethodLocation")),e.initMethodSignature=()=>new g(y("DiagnosticAddendum.initMethodSignature")),e.functionTooManyParams=()=>new g(y("DiagnosticAddendum.functionTooManyParams")),e.keyNotRequired=()=>new g(y("DiagnosticAddendum.keyNotRequired")),e.keyRequiredDeleted=()=>new g(y("DiagnosticAddendum.keyRequiredDeleted")),e.keyUndefined=()=>new g(y("DiagnosticAddendum.keyUndefined")),e.kwargsParamMissing=()=>new g(y("DiagnosticAddendum.kwargsParamMissing")),e.listAssignmentMismatch=()=>new g(y("DiagnosticAddendum.listAssignmentMismatch")),e.literalAssignmentMismatch=()=>new g(y("DiagnosticAddendum.literalAssignmentMismatch")),e.matchIsNotExhaustiveType=()=>new g(y("DiagnosticAddendum.matchIsNotExhaustiveType")),e.matchIsNotExhaustiveHint=()=>y("DiagnosticAddendum.matchIsNotExhaustiveHint"),e.memberAssignment=()=>new g(y("DiagnosticAddendum.memberAssignment")),e.memberIsAbstract=()=>new g(y("DiagnosticAddendum.memberIsAbstract")),e.memberIsAbstractMore=()=>new g(y("DiagnosticAddendum.memberIsAbstractMore")),e.memberIsFinalInProtocol=()=>new g(y("DiagnosticAddendum.memberIsFinalInProtocol")),e.memberIsInitVar=()=>new g(y("DiagnosticAddendum.memberIsInitVar")),e.memberIsInvariant=()=>new g(y("DiagnosticAddendum.memberIsInvariant")),e.memberIsNotFinalInProtocol=()=>new g(y("DiagnosticAddendum.memberIsNotFinalInProtocol")),e.memberSetClassVar=()=>new g(y("DiagnosticAddendum.memberSetClassVar")),e.memberTypeMismatch=()=>new g(y("DiagnosticAddendum.memberTypeMismatch")),e.memberUnknown=()=>new g(y("DiagnosticAddendum.memberUnknown")),e.missingProtocolMember=()=>new g(y("DiagnosticAddendum.missingProtocolMember")),e.missingGetter=()=>y("DiagnosticAddendum.missingGetter"),e.missingSetter=()=>y("DiagnosticAddendum.missingSetter"),e.missingDeleter=()=>y("DiagnosticAddendum.missingDeleter"),e.namedParamMissingInDest=()=>new g(y("DiagnosticAddendum.namedParamMissingInDest")),e.namedParamMissingInSource=()=>new g(y("DiagnosticAddendum.namedParamMissingInSource")),e.namedParamTypeMismatch=()=>new g(y("DiagnosticAddendum.namedParamTypeMismatch")),e.newMethodLocation=()=>new g(y("DiagnosticAddendum.newMethodLocation")),e.newMethodSignature=()=>new g(y("DiagnosticAddendum.newMethodSignature")),e.noOverloadAssignable=()=>new g(y("DiagnosticAddendum.noOverloadAssignable")),e.orPatternMissingName=()=>new g(y("DiagnosticAddendum.orPatternMissingName")),e.overloadSignature=()=>y("DiagnosticAddendum.overloadSignature"),e.overloadNotAssignable=()=>new g(y("DiagnosticAddendum.overloadNotAssignable")),e.overloadWithImplementation=()=>y("DiagnosticAddendum.overloadWithImplementation"),e.overriddenMethod=()=>y("DiagnosticAddendum.overriddenMethod"),e.overriddenSymbol=()=>y("DiagnosticAddendum.overriddenSymbol"),e.overrideNoOverloadMatches=()=>y("DiagnosticAddendum.overrideNoOverloadMatches"),e.overrideNotClassMethod=()=>y("DiagnosticAddendum.overrideNotClassMethod"),e.overrideNotInstanceMethod=()=>y("DiagnosticAddendum.overrideNotInstanceMethod"),e.overrideNotStaticMethod=()=>y("DiagnosticAddendum.overrideNotStaticMethod"),e.overrideParamKeywordNoDefault=()=>new g(y("DiagnosticAddendum.overrideParamKeywordNoDefault")),e.overrideParamKeywordType=()=>new g(y("DiagnosticAddendum.overrideParamKeywordType")),e.overrideParamName=()=>new g(y("DiagnosticAddendum.overrideParamName")),e.overrideParamNameExtra=()=>new g(y("DiagnosticAddendum.overrideParamNameExtra")),e.overrideParamNameMissing=()=>new g(y("DiagnosticAddendum.overrideParamNameMissing")),e.overrideParamNamePositionOnly=()=>new g(y("DiagnosticAddendum.overrideParamNamePositionOnly")),e.overrideParamNoDefault=()=>new g(y("DiagnosticAddendum.overrideParamNoDefault")),e.overrideParamType=()=>new g(y("DiagnosticAddendum.overrideParamType")),e.overridePositionalParamCount=()=>new g(y("DiagnosticAddendum.overridePositionalParamCount")),e.overrideReturnType=()=>new g(y("DiagnosticAddendum.overrideReturnType")),e.overrideType=()=>new g(y("DiagnosticAddendum.overrideType")),e.paramAssignment=()=>new g(y("DiagnosticAddendum.paramAssignment")),e.paramSpecOverload=()=>y("DiagnosticAddendum.paramSpecOverload"),e.paramType=()=>new g(y("DiagnosticAddendum.paramType")),e.privateImportFromPyTypedSource=()=>new g(y("DiagnosticAddendum.privateImportFromPyTypedSource")),e.propertyAccessFromProtocolClass=()=>y("DiagnosticAddendum.propertyAccessFromProtocolClass"),e.propertyMethodIncompatible=()=>new g(y("DiagnosticAddendum.propertyMethodIncompatible")),e.propertyMethodMissing=()=>new g(y("DiagnosticAddendum.propertyMethodMissing")),e.propertyMissingDeleter=()=>new g(y("DiagnosticAddendum.propertyMissingDeleter")),e.propertyMissingSetter=()=>new g(y("DiagnosticAddendum.propertyMissingSetter")),e.protocolMemberClassVar=()=>new g(y("DiagnosticAddendum.protocolMemberClassVar")),e.protocolIncompatible=()=>new g(y("DiagnosticAddendum.protocolIncompatible")),e.protocolMemberMissing=()=>new g(y("DiagnosticAddendum.protocolMemberMissing")),e.protocolSourceIsNotConcrete=()=>new g(y("DiagnosticAddendum.protocolSourceIsNotConcrete")),e.readOnlyAttribute=()=>new g(y("DiagnosticAddendum.readOnlyAttribute")),e.seeDeclaration=()=>y("DiagnosticAddendum.seeDeclaration"),e.seeClassDeclaration=()=>y("DiagnosticAddendum.seeClassDeclaration"),e.seeFunctionDeclaration=()=>y("DiagnosticAddendum.seeFunctionDeclaration"),e.seeMethodDeclaration=()=>y("DiagnosticAddendum.seeMethodDeclaration"),e.seeParameterDeclaration=()=>y("DiagnosticAddendum.seeParameterDeclaration"),e.seeTypeAliasDeclaration=()=>y("DiagnosticAddendum.seeTypeAliasDeclaration"),e.seeVariableDeclaration=()=>y("DiagnosticAddendum.seeVariableDeclaration"),e.tupleEntryTypeMismatch=()=>new g(y("DiagnosticAddendum.tupleEntryTypeMismatch")),e.tupleAssignmentMismatch=()=>new g(y("DiagnosticAddendum.tupleAssignmentMismatch")),e.tupleSizeMismatch=()=>new g(y("DiagnosticAddendum.tupleSizeMismatch")),e.tupleSizeMismatchIndeterminate=()=>new g(y("DiagnosticAddendum.tupleSizeMismatchIndeterminate")),e.typeAssignmentMismatch=()=>new g(y("DiagnosticAddendum.typeAssignmentMismatch")),e.typeBound=()=>new g(y("DiagnosticAddendum.typeBound")),e.typeConstrainedTypeVar=()=>new g(y("DiagnosticAddendum.typeConstrainedTypeVar")),e.typedDictFieldMissing=()=>new g(y("DiagnosticAddendum.typedDictFieldMissing")),e.typedDictFieldNotRequired=()=>new g(y("DiagnosticAddendum.typedDictFieldNotRequired")),e.typedDictFieldRedefinition=()=>new g(y("DiagnosticAddendum.typedDictFieldRedefinition")),e.typedDictFieldRequired=()=>new g(y("DiagnosticAddendum.typedDictFieldRequired")),e.typedDictFieldTypeMismatch=()=>new g(y("DiagnosticAddendum.typedDictFieldTypeMismatch")),e.typedDictFieldUndefined=()=>new g(y("DiagnosticAddendum.typedDictFieldUndefined")),e.typedDictFinalMismatch=()=>new g(y("DiagnosticAddendum.typedDictFinalMismatch")),e.typeIncompatible=()=>new g(y("DiagnosticAddendum.typeIncompatible")),e.typeNotCallable=()=>new g(y("DiagnosticAddendum.typeNotCallable")),e.typeNotClass=()=>new g(y("DiagnosticAddendum.typeNotClass")),e.typeParamSpec=()=>new g(y("DiagnosticAddendum.typeParamSpec")),e.typeNotStringLiteral=()=>new g(y("DiagnosticAddendum.typeNotStringLiteral")),e.typeOfSymbol=()=>new g(y("DiagnosticAddendum.typeOfSymbol")),e.typeUnsupported=()=>new g(y("DiagnosticAddendum.typeUnsupported")),e.typeVarIsContravariant=()=>new g(y("DiagnosticAddendum.typeVarIsContravariant")),e.typeVarIsCovariant=()=>new g(y("DiagnosticAddendum.typeVarIsCovariant")),e.typeVarIsInvariant=()=>new g(y("DiagnosticAddendum.typeVarIsInvariant")),e.typeVarTupleRequiresKnownLength=()=>y("DiagnosticAddendum.typeVarTupleRequiresKnownLength"),e.typeVarNotAllowed=()=>y("DiagnosticAddendum.typeVarNotAllowed"),e.typeVarsMissing=()=>new g(y("DiagnosticAddendum.typeVarsMissing")),e.typeVarUnsolvableRemedy=()=>y("DiagnosticAddendum.typeVarUnsolvableRemedy"),e.unreachableExcept=()=>new g(y("DiagnosticAddendum.unreachableExcept")),e.useDictInstead=()=>y("DiagnosticAddendum.useDictInstead"),e.useListInstead=()=>y("DiagnosticAddendum.useListInstead"),e.useTupleInstead=()=>y("DiagnosticAddendum.useTupleInstead"),e.useTypeInstead=()=>y("DiagnosticAddendum.useTypeInstead")}(n=e.DiagnosticAddendum||(e.DiagnosticAddendum={})),function(e){e.addOptionalToAnnotation=()=>y("CodeAction.addOptionalToAnnotation"),e.createTypeStub=()=>y("CodeAction.createTypeStub"),e.createTypeStubFor=()=>new g(y("CodeAction.createTypeStubFor")),e.executingCommand=()=>y("CodeAction.executingCommand"),e.filesToAnalyzeOne=()=>y("CodeAction.filesToAnalyzeOne"),e.filesToAnalyzeCount=()=>new g(y("CodeAction.filesToAnalyzeCount")),e.findingReferences=()=>y("CodeAction.findingReferences"),e.organizeImports=()=>y("CodeAction.organizeImports")}(i=e.CodeAction||(e.CodeAction={})),function(e){e.moveFile=()=>new g(y("Refactoring.moveFile")),e.moveFileLabel=()=>new g(y("Refactoring.moveFileLabel")),e.moveFileDescription=()=>new g(y("Refactoring.moveFileDescription"))}(s=e.Refactoring||(e.Refactoring={}))}(t.Localizer||(t.Localizer={}))},6334:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.main=void 0;const i=n(9560),s=n(4448),r=n(8863);t.main=function(){(0,s.run)((e=>new r.PyrightServer(e)),(()=>{(new i.BackgroundAnalysisRunner).start()}))}},4448:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getConnectionOptions=t.run=void 0;const i=n(4376),s=n(1267),r=n(9241);function o(){return{cancellationStrategy:(0,r.getCancellationStrategyFromArgv)(process.argv)}}t.run=function(e,t){n(2585).install(),s.isMainThread?e((0,i.createConnection)(o())):t()},t.getConnectionOptions=o},9671:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CharacterStream=void 0;const i=n(6956);t.CharacterStream=class{constructor(e){this._text=e,this._position=0,this._currentChar=e.length>0?e.charCodeAt(0):0,this._isEndOfStream=0===e.length}getText(){return this._text}get position(){return this._position}set position(e){this._position=e,this._checkBounds()}get currentChar(){return this._currentChar}getCurrentChar(){return this._currentChar}get nextChar(){return this.position+1=0?this._text.charCodeAt(this.position-1):0}isEndOfStream(){return this._isEndOfStream}lookAhead(e){const t=this._position+e;return t<0||t>=this._text.length?0:this._text.charCodeAt(t)}advance(e){this.position+=e}moveNext(){return this._position=this._text.length,this._isEndOfStream&&(this._position=this._text.length),this._currentChar=this._isEndOfStream?0:this._text.charCodeAt(this._position)}}},6956:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.isBinary=t.isOctal=t.isHex=t.isDecimal=t.isNumber=t.isLineBreak=t.isWhiteSpace=t.isSurrogateChar=t.isIdentifierChar=t.isIdentifierStartChar=void 0;const o=r(n(7770));var a;!function(e){e[e.NotIdentifierChar=0]="NotIdentifierChar",e[e.StartIdentifierChar=1]="StartIdentifierChar",e[e.IdentifierChar=2]="IdentifierChar",e[e.SurrogateChar=3]="SurrogateChar"}(a||(a={}));const A=256,l=new Array(A),c={},p={};let g=!1;function u(e){return e>=48&&e<=57||95===e}function d(e,t){if(c[e]!==a.SurrogateChar)return a.NotIdentifierChar;const n=p[e];return n?n[t]:a.NotIdentifierChar}t.isIdentifierStartChar=function(e,t){if(e=48&&e<=57||95===e},t.isDecimal=u,t.isHex=function(e){return u(e)||e>=97&&e<=102||e>=65&&e<=70||95===e},t.isOctal=function(e){return e>=48&&e<=55||95===e},t.isBinary=function(e){return 48===e||49===e||95===e};const h=[[95,6277,6278,8472,8494,12443,12444],o.unicodeLu,o.unicodeLl,o.unicodeLt,o.unicodeLo,o.unicodeLm,o.unicodeNl],C=[o.unicodeLuSurrogate,o.unicodeLlSurrogate,o.unicodeLoSurrogate,o.unicodeLmSurrogate,o.unicodeNlSurrogate],m=[[183,903,4969,4970,4971,4972,4973,4974,4975,4976,4977,6618],o.unicodeMn,o.unicodeMc,o.unicodeNd,o.unicodePc],y=[o.unicodeMnSurrogate,o.unicodeMcSurrogate,o.unicodeNdSurrogate];function f(e,t,n,i,s){for(let r=0;r=A)break}}function I(e,t){for(const n in e)p[n]||(p[n]={},c[n]=a.SurrogateChar),f(e[n],t,!1,p[n],p[n])}function E(e){if(l.fill(a.NotIdentifierChar),m.forEach((t=>{f(t,a.IdentifierChar,e,l,c)})),h.forEach((t=>{f(t,a.StartIdentifierChar,e,l,c)})),!e){for(const e of y)I(e,a.IdentifierChar);for(const e of C)I(e,a.StartIdentifierChar)}}E(!0)},5275:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringListNode=t.FormatStringNode=t.StringNode=t.NumberNode=t.EllipsisNode=t.ConstantNode=t.NameNode=t.LambdaNode=t.MemberAccessNode=t.YieldFromNode=t.YieldNode=t.SliceNode=t.IndexNode=t.ListComprehensionNode=t.CallNode=t.TupleNode=t.UnpackNode=t.TernaryNode=t.AwaitNode=t.AugmentedAssignmentNode=t.FunctionAnnotationNode=t.TypeAnnotationNode=t.TypeAliasNode=t.TypeParameterListNode=t.TypeParameterNode=t.TypeParameterCategory=t.AssignmentNode=t.AssignmentExpressionNode=t.BinaryOperationNode=t.UnaryOperationNode=t.ErrorNode=t.isExpressionNode=t.StatementListNode=t.DecoratorNode=t.WithItemNode=t.WithNode=t.ClassNode=t.ParameterNode=t.FunctionNode=t.ExceptNode=t.TryNode=t.ListComprehensionIfNode=t.ListComprehensionForNode=t.ForNode=t.WhileNode=t.IfNode=t.SuiteNode=t.ModuleNode=t.extendRange=t.getNextNodeId=void 0,t.PatternValueNode=t.PatternMappingExpandEntryNode=t.PatternMappingKeyEntryNode=t.PatternMappingNode=t.PatternCaptureNode=t.PatternClassArgumentNode=t.PatternClassNode=t.PatternLiteralNode=t.PatternAsNode=t.PatternSequenceNode=t.CaseNode=t.MatchNode=t.RaiseNode=t.ReturnNode=t.ContinueNode=t.BreakNode=t.AssertNode=t.NonlocalNode=t.GlobalNode=t.ImportFromAsNode=t.ImportFromNode=t.ImportAsNode=t.ModuleNameNode=t.ImportNode=t.PassNode=t.DelNode=t.ArgumentNode=t.ListNode=t.SetNode=t.DictionaryExpandEntryNode=t.DictionaryKeyEntryNode=t.DictionaryNode=void 0;const i=n(3550);let s=1;function r(e,t){t.starti.TextRange.getEnd(e)&&(e.length=i.TextRange.getEnd(t)-e.start)}var o,a;t.getNextNodeId=function(){return s++},t.extendRange=r,(t.ModuleNode||(t.ModuleNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:36,id:s++,statements:[]}},(t.SuiteNode||(t.SuiteNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:50,id:s++,statements:[]}},(t.IfNode||(t.IfNode={})).create=function(e,t,n,i){const o={start:e.start,length:e.length,nodeType:19,id:s++,testExpression:t,ifSuite:n,elseSuite:i};return t.parent=o,n.parent=o,r(o,t),r(o,n),i&&(r(o,i),i.parent=o),o},(t.WhileNode||(t.WhileNode={})).create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:57,id:s++,testExpression:t,whileSuite:n};return t.parent=i,n.parent=i,r(i,n),i},(t.ForNode||(t.ForNode={})).create=function(e,t,n,i){const o={start:e.start,length:e.length,nodeType:26,id:s++,targetExpression:t,iterableExpression:n,forSuite:i};return t.parent=o,n.parent=o,i.parent=o,r(o,i),o},(t.ListComprehensionForNode||(t.ListComprehensionForNode={})).create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:33,id:s++,targetExpression:t,iterableExpression:n};return t.parent=i,n.parent=i,r(i,t),r(i,n),i},(t.ListComprehensionIfNode||(t.ListComprehensionIfNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:34,id:s++,testExpression:t};return t.parent=n,r(n,t),n},(t.TryNode||(t.TryNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:53,id:s++,trySuite:t,exceptClauses:[]};return t.parent=n,r(n,t),n},(t.ExceptNode||(t.ExceptNode={})).create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:25,id:s++,exceptSuite:t,isExceptGroup:n};return t.parent=i,r(i,t),i},(t.FunctionNode||(t.FunctionNode={})).create=function(e,t,n,i){const o={start:e.start,length:e.length,nodeType:28,id:s++,decorators:[],name:t,typeParameters:i,parameters:[],suite:n};return t.parent=o,n.parent=o,i&&(i.parent=o),r(o,n),o},(t.ParameterNode||(t.ParameterNode={})).create=function(e,t){return{start:e.start,length:e.length,nodeType:41,id:s++,category:t}},(a=t.ClassNode||(t.ClassNode={})).create=function(e,t,n,i){const o={start:e.start,length:e.length,nodeType:10,id:s++,decorators:[],name:t,typeParameters:i,arguments:[],suite:n};return t.parent=o,n.parent=o,i&&(i.parent=o),r(o,n),o},a.createDummyForDecorators=function(e){const t={start:e[0].start,length:0,nodeType:10,id:s++,decorators:e,name:{start:e[0].start,length:0,id:0,nodeType:38,token:{type:7,start:0,length:0,comments:[],value:""},value:""},arguments:[],suite:{start:e[0].start,length:0,id:0,nodeType:50,statements:[]}};return e.forEach((e=>{e.parent=t,r(t,e)})),t.name.parent=t,t.suite.parent=t,t},(t.WithNode||(t.WithNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:58,id:s++,withItems:[],suite:t};return t.parent=n,r(n,t),n},(t.WithItemNode||(t.WithItemNode={})).create=function(e){const t={start:e.start,length:e.length,nodeType:59,id:s++,expression:e};return e.parent=t,t},(t.DecoratorNode||(t.DecoratorNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:13,id:s++,expression:t};return t.parent=n,r(n,t),n},(t.StatementListNode||(t.StatementListNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:47,id:s++,statements:[]}},t.isExpressionNode=function(e){switch(e.nodeType){case 0:case 55:case 7:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 24:case 46:case 60:case 61:case 35:case 30:case 38:case 11:case 18:case 40:case 49:case 27:case 48:case 15:case 16:case 31:case 45:return!0;default:return!1}},(t.ErrorNode||(t.ErrorNode={})).create=function(e,t,n,i){const o={start:e.start,length:e.length,nodeType:0,id:s++,category:t,child:n,decorators:i};return n&&(n.parent=o,r(o,n)),i&&(i.forEach((e=>{e.parent=o})),i.length>0&&r(o,i[0])),o},(t.UnaryOperationNode||(t.UnaryOperationNode={})).create=function(e,t,n){var i;const o={start:e.start,length:e.length,nodeType:55,id:s++,operator:n,operatorToken:e,expression:t};return t.parent=o,o.maxChildDepth=1+(null!==(i=t.maxChildDepth)&&void 0!==i?i:0),r(o,t),o},(t.BinaryOperationNode||(t.BinaryOperationNode={})).create=function(e,t,n,i){var o,a;const A={start:e.start,length:e.length,nodeType:7,id:s++,leftExpression:e,operatorToken:n,operator:i,rightExpression:t};return e.parent=A,t.parent=A,A.maxChildDepth=1+Math.max(null!==(o=e.maxChildDepth)&&void 0!==o?o:0,null!==(a=t.maxChildDepth)&&void 0!==a?a:0),r(A,t),A},(t.AssignmentExpressionNode||(t.AssignmentExpressionNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:4,id:s++,name:e,rightExpression:t};return e.parent=n,t.parent=n,r(n,t),n},(t.AssignmentNode||(t.AssignmentNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:3,id:s++,leftExpression:e,rightExpression:t};return e.parent=n,t.parent=n,r(n,t),n},(o=t.TypeParameterCategory||(t.TypeParameterCategory={}))[o.TypeVar=0]="TypeVar",o[o.TypeVarTuple=1]="TypeVarTuple",o[o.ParamSpec=2]="ParamSpec",(t.TypeParameterNode||(t.TypeParameterNode={})).create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:75,id:s++,name:e,typeParamCategory:t,boundExpression:n};return e.parent=i,n&&(n.parent=i,r(i,n)),i},(t.TypeParameterListNode||(t.TypeParameterListNode={})).create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:76,id:s++,parameters:n};return r(i,t),n.forEach((e=>{r(i,e),e.parent=i})),i},(t.TypeAliasNode||(t.TypeAliasNode={})).create=function(e,t,n,i){const o={start:e.start,length:e.length,nodeType:77,id:s++,name:t,typeParameters:i,expression:n};return t.parent=o,n.parent=o,i&&(i.parent=o),r(o,n),o},(t.TypeAnnotationNode||(t.TypeAnnotationNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:54,id:s++,valueExpression:e,typeAnnotation:t};return e.parent=n,t.parent=n,r(n,t),n},(t.FunctionAnnotationNode||(t.FunctionAnnotationNode={})).create=function(e,t,n,i){const o={start:e.start,length:e.length,nodeType:62,id:s++,isParamListEllipsis:t,paramTypeAnnotations:n,returnTypeAnnotation:i};return n.forEach((e=>{e.parent=o})),i.parent=o,r(o,i),o},(t.AugmentedAssignmentNode||(t.AugmentedAssignmentNode={})).create=function(e,t,n,i){const o={start:e.start,length:e.length,nodeType:5,id:s++,leftExpression:e,operator:n,rightExpression:t,destExpression:i};return e.parent=o,t.parent=o,i.parent=o,r(o,t),o},(t.AwaitNode||(t.AwaitNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:6,id:s++,expression:t};return t.parent=n,r(n,t),n},(t.TernaryNode||(t.TernaryNode={})).create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:51,id:s++,ifExpression:e,testExpression:t,elseExpression:n};return e.parent=i,t.parent=i,n.parent=i,r(i,n),i},(t.UnpackNode||(t.UnpackNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:56,id:s++,expression:t};return t.parent=n,r(n,t),n},(t.TupleNode||(t.TupleNode={})).create=function(e,t){return{start:e.start,length:e.length,nodeType:52,id:s++,expressions:[],enclosedInParens:t}},(t.CallNode||(t.CallNode={})).create=function(e,t,n){var i;const o={start:e.start,length:e.length,nodeType:9,id:s++,leftExpression:e,arguments:t,trailingComma:n};return e.parent=o,o.maxChildDepth=1+(null!==(i=e.maxChildDepth)&&void 0!==i?i:0),t.length>0&&(t.forEach((e=>{e.parent=o})),r(o,t[t.length-1])),o},(t.ListComprehensionNode||(t.ListComprehensionNode={})).create=function(e){const t={start:e.start,length:e.length,nodeType:32,id:s++,expression:e,forIfNodes:[]};return e.parent=t,t},(t.IndexNode||(t.IndexNode={})).create=function(e,t,n,i){var o;const a={start:e.start,length:e.length,nodeType:24,id:s++,baseExpression:e,items:t,trailingComma:n};return e.parent=a,t.forEach((e=>{e.parent=a})),r(a,i),a.maxChildDepth=1+(null!==(o=e.maxChildDepth)&&void 0!==o?o:0),a},(t.SliceNode||(t.SliceNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:46,id:s++}},(t.YieldNode||(t.YieldNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:60,id:s++,expression:t};return t&&(t.parent=n,r(n,t)),n},(t.YieldFromNode||(t.YieldFromNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:61,id:s++,expression:t};return t.parent=n,r(n,t),n},(t.MemberAccessNode||(t.MemberAccessNode={})).create=function(e,t){var n;const i={start:e.start,length:e.length,nodeType:35,id:s++,leftExpression:e,memberName:t};return e.parent=i,t.parent=i,r(i,t),i.maxChildDepth=1+(null!==(n=e.maxChildDepth)&&void 0!==n?n:0),i},(t.LambdaNode||(t.LambdaNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:30,id:s++,parameters:[],expression:t};return t.parent=n,r(n,t),n},(t.NameNode||(t.NameNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:38,id:s++,token:e,value:e.value}},(t.ConstantNode||(t.ConstantNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:11,id:s++,constType:e.keywordType}},(t.EllipsisNode||(t.EllipsisNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:18,id:s++}},(t.NumberNode||(t.NumberNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:40,id:s++,value:e.value,isInteger:e.isInteger,isImaginary:e.isImaginary}},(t.StringNode||(t.StringNode={})).create=function(e,t,n){return{start:e.start,length:e.length,nodeType:49,id:s++,token:e,value:t,hasUnescapeErrors:n}},(t.FormatStringNode||(t.FormatStringNode={})).create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:27,id:s++,token:e,value:t,hasUnescapeErrors:n,expressions:i};return i.forEach((e=>{e.parent=r})),r},(t.StringListNode||(t.StringListNode={})).create=function(e){const t={start:e[0].start,length:e[0].length,nodeType:48,id:s++,strings:e};return e.length>0&&(e.forEach((e=>{e.parent=t})),r(t,e[e.length-1])),t},(t.DictionaryNode||(t.DictionaryNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:15,id:s++,entries:[]}},(t.DictionaryKeyEntryNode||(t.DictionaryKeyEntryNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:17,id:s++,keyExpression:e,valueExpression:t};return e.parent=n,t.parent=n,r(n,t),n},(t.DictionaryExpandEntryNode||(t.DictionaryExpandEntryNode={})).create=function(e){const t={start:e.start,length:e.length,nodeType:16,id:s++,expandExpression:e};return e.parent=t,t},(t.SetNode||(t.SetNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:45,id:s++,entries:[]}},(t.ListNode||(t.ListNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:31,id:s++,entries:[]}},(t.ArgumentNode||(t.ArgumentNode={})).create=function(e,t,n){const i={start:e?e.start:t.start,length:e?e.length:t.length,nodeType:1,id:s++,valueExpression:t,argumentCategory:n};return t.parent=i,r(i,t),i},(t.DelNode||(t.DelNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:14,id:s++,expressions:[]}},(t.PassNode||(t.PassNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:42,id:s++}},(t.ImportNode||(t.ImportNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:20,id:s++,list:[]}},(t.ModuleNameNode||(t.ModuleNameNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:37,id:s++,leadingDots:0,nameParts:[]}},(t.ImportAsNode||(t.ImportAsNode={})).create=function(e){const t={start:e.start,length:e.length,nodeType:21,id:s++,module:e};return e.parent=t,t},(t.ImportFromNode||(t.ImportFromNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:22,id:s++,module:t,imports:[],isWildcardImport:!1,usesParens:!1};return t.parent=n,r(n,t),n},(t.ImportFromAsNode||(t.ImportFromAsNode={})).create=function(e){const t={start:e.start,length:e.length,nodeType:23,id:s++,name:e};return e.parent=t,t},(t.GlobalNode||(t.GlobalNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:29,id:s++,nameList:[]}},(t.NonlocalNode||(t.NonlocalNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:39,id:s++,nameList:[]}},(t.AssertNode||(t.AssertNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:2,id:s++,testExpression:t};return t.parent=n,r(n,t),n},(t.BreakNode||(t.BreakNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:8,id:s++}},(t.ContinueNode||(t.ContinueNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:12,id:s++}},(t.ReturnNode||(t.ReturnNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:44,id:s++}},(t.RaiseNode||(t.RaiseNode={})).create=function(e){return{start:e.start,length:e.length,nodeType:43,id:s++}},(t.MatchNode||(t.MatchNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:63,id:s++,subjectExpression:t,cases:[]};return t.parent=n,r(n,t),n},(t.CaseNode||(t.CaseNode={})).create=function(e,t,n,i,o){const a={start:e.start,length:e.length,nodeType:64,id:s++,pattern:t,isIrrefutable:n,guardExpression:i,suite:o};return r(a,o),t.parent=a,o.parent=a,i&&(i.parent=a),a},(t.PatternSequenceNode||(t.PatternSequenceNode={})).create=function(e,t){const n=t.findIndex((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar)),i={start:e.start,length:e.length,nodeType:65,id:s++,entries:t,starEntryIndex:n>=0?n:void 0};return t.length>0&&r(i,t[t.length-1]),t.forEach((e=>{e.parent=i})),i},(t.PatternAsNode||(t.PatternAsNode={})).create=function(e,t){const n={start:e[0].start,length:e[0].length,nodeType:66,id:s++,orPatterns:e,target:t};return e.length>1&&r(n,e[e.length-1]),e.forEach((e=>{e.parent=n})),t&&(r(n,t),t.parent=n),n},(t.PatternLiteralNode||(t.PatternLiteralNode={})).create=function(e){const t={start:e.start,length:e.length,nodeType:67,id:s++,expression:e};return e.parent=t,t},(t.PatternClassNode||(t.PatternClassNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:68,id:s++,className:e,arguments:t};return e.parent=n,t.forEach((e=>{e.parent=n})),t.length>0&&r(n,t[t.length-1]),n},(t.PatternClassArgumentNode||(t.PatternClassArgumentNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:74,id:s++,pattern:e,name:t};return e.parent=n,t&&(r(n,t),t.parent=n),n},(t.PatternCaptureNode||(t.PatternCaptureNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:69,id:s++,target:e,isStar:void 0!==t,isWildcard:"_"===e.value};return e.parent=n,t&&r(n,t),n},(t.PatternMappingNode||(t.PatternMappingNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:70,id:s++,entries:t};return t.length>0&&r(n,t[t.length-1]),t.forEach((e=>{e.parent=n})),n},(t.PatternMappingKeyEntryNode||(t.PatternMappingKeyEntryNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:71,id:s++,keyPattern:e,valuePattern:t};return e.parent=n,t.parent=n,r(n,t),n},(t.PatternMappingExpandEntryNode||(t.PatternMappingExpandEntryNode={})).create=function(e,t){const n={start:e.start,length:e.length,nodeType:72,id:s++,target:t};return t.parent=n,r(n,t),n},(t.PatternValueNode||(t.PatternValueNode={})).create=function(e){const t={start:e.start,length:e.length,nodeType:73,id:s++,expression:e};return e.parent=t,t}},5303:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.Parser=t.ParseOptions=void 0;const o=n(4221),a=n(9489),A=n(5839),l=n(1290),c=n(3980),p=n(1464),g=n(6886),u=n(3550),d=n(8718),h=n(2122),C=n(5275),m=r(n(5136)),y=n(7093),f=n(6180);class I{constructor(){this.isStubFile=!1,this.pythonVersion=g.latestStablePythonVersion,this.reportInvalidStringEscapeSequence=!1,this.skipFunctionAndClassBody=!1,this.ipythonMode=o.IPythonMode.None,this.reportErrorsForParsedStringContents=!1}}t.ParseOptions=I;const E=256;class T{constructor(){this._tokenIndex=0,this._areErrorsSuppressed=!1,this._parseOptions=new I,this._diagSink=new c.DiagnosticSink,this._isInLoop=!1,this._isInFunction=!1,this._isInFinally=!1,this._isParsingTypeAnnotation=!1,this._isParsingIndexTrailer=!1,this._isParsingQuotedText=!1,this._futureImportMap=new Map,this._importedModules=[],this._containsWildcardImport=!1,this._assignmentExpressionsAllowed=!0,this._typingImportAliases=[],this._typingSymbolAliases=new Map}parseSourceFile(e,t,n){d.timingStats.tokenizeFileTime.timeOperation((()=>{this._startNewParse(e,0,e.length,t,n)}));const i=C.ModuleNode.create({start:0,length:e.length});return d.timingStats.parseFileTime.timeOperation((()=>{for(;!this._atEof();)if(!this._consumeTokenIfType(2)){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(h.Localizer.Diagnostic.inconsistentTabs(),t):this._addError(h.Localizer.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=i,i.statements.push(t)):this._consumeTokensUntilType([2])}})),(0,A.assert)(void 0!==this._tokenizerOutput),{text:e,parseTree:i,importedModules:this._importedModules,futureImports:this._futureImportMap,tokenizerOutput:this._tokenizerOutput,containsWildcardImport:this._containsWildcardImport,typingSymbolAliases:this._typingSymbolAliases}}parseTextExpression(e,t,n,i,s=0,r=0,o){const a=new c.DiagnosticSink;let A;if(this._startNewParse(e,t,n,i,a,r),o&&(this._typingSymbolAliases=new Map(o)),1===s)this._isParsingQuotedText=!0,A=this._parseTypeAnnotation();else if(2===s)this._isParsingQuotedText=!0,A=this._parseFunctionTypeAnnotation();else{const e=this._parseTestOrStarExpressionList(!1,!0);e.parseError?A=e.parseError:(0===e.list.length&&this._addError(h.Localizer.Diagnostic.expectedExpr(),this._peekToken()),A=this._makeExpressionOrTuple(e,!1))}return 2===this._peekTokenType()&&this._getNextToken(),this._atEof()||this._addError(h.Localizer.Diagnostic.unexpectedExprToken(),this._peekToken()),{parseTree:A,lines:this._tokenizerOutput.lines,diagnostics:a.fetchAndClear()}}_startNewParse(e,t,n,i,s,r=0){this._fileContents=e,this._parseOptions=i,this._diagSink=s;const o=new y.Tokenizer;this._tokenizerOutput=o.tokenize(e,t,n,r,this._parseOptions.ipythonMode),this._tokenIndex=0}_parseStatement(){switch(this._consumeTokenIfType(4)&&this._addError(h.Localizer.Diagnostic.unexpectedUnindent(),this._peekToken()),this._peekKeywordType()){case 20:return this._parseIfStatement();case 36:return this._parseWhileStatement();case 17:return this._parseForStatement();case 34:return this._parseTryStatement();case 37:return this._parseWithStatement();case 10:return this._parseFunctionDef();case 7:return this._parseClassDef();case 3:return this._parseAsyncStatement();case 25:{const e=this._peekToken(1);let t=!1;if(10===e.type||11===e.type||12===e.type||20===e.type||2===e.type||1===e.type)t=!0;else if(9===e.type){const n=e;26!==n.operatorType&&33!==n.operatorType&&(t=!0)}if(!t){const e=this._parseMatchStatement();if(e)return e}break}}return 22===this._peekOperatorType()?this._parseDecorated():this._parseSimpleStatement()}_parseAsyncStatement(){const e=this._getKeywordToken(3);switch(this._peekKeywordType()){case 10:return this._parseFunctionDef(e);case 37:return this._parseWithStatement(e);case 17:return this._parseForStatement(e)}this._addError(h.Localizer.Diagnostic.unexpectedAsyncToken(),e)}_parseTypeAliasStatement(){const e=this._getKeywordToken(35);!this._parseOptions.isStubFile&&this._getLanguageVersion(){const t=this._tokenIndex;this._getKeywordToken(25);const n=this._parseTestOrStarListAsExpression(!0,!0,12,h.Localizer.Diagnostic.expectedReturnExpr());e=0!==n.nodeType&&10===this._peekToken().type,this._tokenIndex=t})),!e)return;const t=this._getKeywordToken(25),n=this._parseTestOrStarListAsExpression(!0,!0,12,h.Localizer.Diagnostic.expectedReturnExpr()),i=C.MatchNode.create(t,n),s=this._peekToken();if(this._consumeTokenIfType(10))if(this._consumeTokenIfType(2)){const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(h.Localizer.Diagnostic.inconsistentTabs(),t)}else this._addError(h.Localizer.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(h.Localizer.Diagnostic.inconsistentTabs(),t):this._addError(h.Localizer.Diagnostic.unexpectedIndent(),e)}const t=this._parseCaseStatement();t?(t.parent=i,i.cases.push(t)):this._consumeTokensUntilType([2,10])&&this._getNextToken();const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(h.Localizer.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(h.Localizer.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}i.cases.length>0?(0,C.extendRange)(i,i.cases[i.cases.length-1]):this._addError(h.Localizer.Diagnostic.zeroCaseStatementsFound(),t)}else this._addError(h.Localizer.Diagnostic.expectedNewline(),s);else this._addError(h.Localizer.Diagnostic.expectedColon(),s),this._consumeTokensUntilType([2,10])&&this._getNextToken();this._getLanguageVersion()this._isPatternIrrefutable(e)))}_getPatternTargetNames(e,t){switch(e.nodeType){case 65:e.entries.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 68:e.arguments.forEach((e=>{this._getPatternTargetNames(e.pattern,t)}));break;case 66:e.target&&t.set(e.target.value,!0),e.orPatterns.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 69:e.isWildcard||t.set(e.target.value,!0);break;case 70:e.entries.forEach((e=>{72===e.nodeType?t.set(e.target.value,!0):(this._getPatternTargetNames(e.keyPattern,t),this._getPatternTargetNames(e.valuePattern,t))}))}}_parsePatternSequence(){const e=this._parseExpressionListGeneric((()=>this._parsePatternAs())),t=e.list.filter((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar));t.length>1&&this._addError(h.Localizer.Diagnostic.duplicateStarPattern(),t[1].orPatterns[0]);const n=new Map;return e.list.forEach((e=>{e.orPatterns.forEach((e=>{69!==e.nodeType||e.isStar||e.isWildcard||(n.has(e.target.value)?this._addError(h.Localizer.Diagnostic.duplicateCapturePatternTarget().format({name:e.target.value}),e):n.set(e.target.value,e))}))})),e}_parsePatternAs(){const e=[];for(;;){const t=this._parsePatternAtom();if(e.push(t),!this._consumeTokenIfOperator(6))break}let t;if(e.length>1&&e.forEach((e=>{69===e.nodeType&&e.isStar&&this._addError(h.Localizer.Diagnostic.starPatternInOrPattern(),e)})),this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?t=C.NameNode.create(e):this._addError(h.Localizer.Diagnostic.expectedNameAfterAs(),this._peekToken())}t&&1===e.length&&69===e[0].nodeType&&e[0].isStar&&this._addError(h.Localizer.Diagnostic.starPatternInAsPattern(),e[0]),e.forEach(((t,n)=>{n{this._getPatternTargetNames(e,n)})),e.forEach((e=>{const t=new Map;if(this._getPatternTargetNames(e,t),t.size!t.has(e))),s=new l.DiagnosticAddendum;s.addMessage(h.Localizer.DiagnosticAddendum.orPatternMissingName().format({name:i.map((e=>`"${e}"`)).join(", ")})),this._addError(h.Localizer.Diagnostic.orPatternMissingName()+s.getString(),e)}})),C.PatternAsNode.create(e,t)}_parsePatternAtom(){const e=this._parsePatternLiteral();if(e)return e;const t=this._parsePatternCaptureOrValue();if(t){const e=this._peekToken();if(0===t.nodeType||!this._consumeTokenIfType(13))return t;const n=this._parseClassPatternArgList(),i=69===t.nodeType?t.target:t.expression,s=C.PatternClassNode.create(i,n);return this._consumeTokenIfType(14)||(this._addError(h.Localizer.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),(0,C.extendRange)(s,this._peekToken())),s}const n=this._peekToken();if(26===this._peekOperatorType()){const e=this._getNextToken(),t=this._getTokenIfIdentifier();return t?C.PatternCaptureNode.create(C.NameNode.create(t),e):(this._addError(h.Localizer.Diagnostic.expectedIdentifier(),this._peekToken()),C.ErrorNode.create(e,2))}if(13===n.type||15===n.type){const e=this._getNextToken(),t=this._parsePatternSequence();let i;if(t.parseError)i=t.parseError;else if(1!==t.list.length||t.trailingComma||13!==e.type)i=C.PatternSequenceNode.create(e,t.list);else{const s=t.list[0].orPatterns[0];i=69===s.nodeType&&s.isStar?C.PatternSequenceNode.create(e,t.list):t.list[0],(0,C.extendRange)(i,n)}const s=this._peekToken();return this._consumeTokenIfType(13===n.type?14:16)?(0,C.extendRange)(i,s):(this._addError(13===n.type?h.Localizer.Diagnostic.expectedCloseParen():h.Localizer.Diagnostic.expectedCloseBracket(),n),this._consumeTokensUntilType([10,13===n.type?14:16])),i}if(17===n.type){const e=this._getNextToken(),t=this._parsePatternMapping(e),i=this._peekToken();return this._consumeTokenIfType(18)?(0,C.extendRange)(t,i):(this._addError(h.Localizer.Diagnostic.expectedCloseBrace(),n),this._consumeTokensUntilType([10,18])),t}return this._handleExpressionParseError(11,h.Localizer.Diagnostic.expectedPatternExpr())}_parseClassPatternArgList(){const e=[];let t=!1;for(;;){const n=this._peekTokenType();if(14===n||2===n||1===n)break;const i=this._parseClassPatternArgument();if(i.name?t=!0:t&&!i.name&&this._addError(h.Localizer.Diagnostic.positionArgAfterNamedArg(),i),e.push(i),!this._consumeTokenIfType(12))break}return e}_parseClassPatternArgument(){const e=this._peekToken(),t=this._peekToken(1);let n;if((7===e.type||8===e.type)&&9===t.type&&2===t.operatorType){const e=this._getTokenIfIdentifier();void 0!==e&&(n=C.NameNode.create(e),this._getNextToken())}const i=this._parsePatternAs();return C.PatternClassArgumentNode.create(i,n)}_parsePatternLiteral(){const e=this._peekToken(),t=this._peekOperatorType();if(6===e.type||33===t)return this._parsePatternLiteralNumber();if(5===e.type){const e=this._parseAtom();return(0,A.assert)(48===e.nodeType),e.strings.forEach((e=>{64&e.token.flags&&this._addError(h.Localizer.Diagnostic.formatStringInPattern(),e)})),C.PatternLiteralNode.create(e)}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||26===t.keywordType)return C.PatternLiteralNode.create(this._parseAtom())}}_parsePatternLiteralNumber(){const e=this._parseArithmeticExpression();let t,n;return 7===e.nodeType?33!==e.operator&&0!==e.operator||(t=e.leftExpression,n=e.rightExpression):t=e,t&&(55===t.nodeType&&33===t.operator&&(t=t.expression),(40!==t.nodeType||void 0!==n&&t.isImaginary)&&(this._addError(h.Localizer.Diagnostic.expectedComplexNumberLiteral(),e),n=void 0)),n&&(55===n.nodeType&&33===n.operator&&(n=n.expression),40===n.nodeType&&n.isImaginary||this._addError(h.Localizer.Diagnostic.expectedComplexNumberLiteral(),e)),C.PatternLiteralNode.create(e)}_parsePatternMapping(e){const t=this._parseExpressionListGeneric((()=>this._parsePatternMappingItem()));if(t.list.length>0){const n=t.list.filter((e=>72===e.nodeType));return n.length>1&&this._addError(h.Localizer.Diagnostic.duplicateStarStarPattern(),n[1]),C.PatternMappingNode.create(e,t.list)}return t.parseError||C.ErrorNode.create(this._peekToken(),11)}_parsePatternMappingItem(){let e;const t=this._peekToken();if(this._consumeTokenIfOperator(29)){const e=this._getTokenIfIdentifier();if(!e)return this._addError(h.Localizer.Diagnostic.expectedIdentifier(),this._peekToken()),C.ErrorNode.create(this._peekToken(),11);const n=C.NameNode.create(e);return"_"===e.value&&this._addError(h.Localizer.Diagnostic.starStarWildcardNotAllowed(),n),C.PatternMappingExpandEntryNode.create(t,n)}const n=this._parsePatternLiteral();if(n)e=n;else{const t=this._parsePatternCaptureOrValue();t&&(73===t.nodeType?e=t:(this._addError(h.Localizer.Diagnostic.expectedPatternValue(),t),e=C.ErrorNode.create(this._peekToken(),11)))}let i;return e||(this._addError(h.Localizer.Diagnostic.expectedPatternExpr(),this._peekToken()),e=C.ErrorNode.create(this._peekToken(),11)),this._consumeTokenIfType(10)?i=this._parsePatternAs():(this._addError(h.Localizer.Diagnostic.expectedColon(),this._peekToken()),i=C.ErrorNode.create(this._peekToken(),11)),C.PatternMappingKeyEntryNode.create(e,i)}_parsePatternCaptureOrValue(){const e=this._peekToken();if(7===e.type||8===e.type){let e;for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(h.Localizer.Diagnostic.expectedIdentifier(),this._peekToken());break}{const n=C.NameNode.create(t);e=e?C.MemberAccessNode.create(e,n):n}if(!this._consumeTokenIfType(20))break}return e?35===e.nodeType?C.PatternValueNode.create(e):C.PatternCaptureNode.create(e):(this._addError(h.Localizer.Diagnostic.expectedIdentifier(),this._peekToken()),C.ErrorNode.create(this._peekToken(),11))}}_parseIfStatement(e=20){const t=this._getKeywordToken(e),n=this._parseTestExpression(!0),i=this._parseSuite(this._isInFunction),s=C.IfNode.create(t,n,i);return this._consumeTokenIfKeyword(13)?(s.elseSuite=this._parseSuite(this._isInFunction),s.elseSuite.parent=s,(0,C.extendRange)(s,s.elseSuite)):12===this._peekKeywordType()&&(s.elseSuite=this._parseIfStatement(12),s.elseSuite.parent=s,(0,C.extendRange)(s,s.elseSuite)),s}_parseLoopSuite(){const e=this._isInLoop,t=this._isInFinally;let n;this._isInLoop=!0,this._isInFinally=!1;const i=this._parseSuite(this._isInFunction,!1,(()=>{const e=this._getTypeAnnotationCommentText();e&&(n=e)}));return this._isInLoop=e,this._isInFinally=t,n&&(i.typeComment=n),i}_parseSuite(e=!1,t=!1,n){const i=this._peekToken(),s=C.SuiteNode.create(i);if(!this._consumeTokenIfType(10)&&(this._addError(h.Localizer.Diagnostic.expectedColon(),i),this._consumeTokensUntilType([2,10])))if(10===this._peekTokenType())this._getNextToken();else if(3!==this._peekToken(1).type)return this._getNextToken(),s;if(t){if(this._consumeTokenIfType(2)){let e=0;for(;;){const t=this._getNextToken();if(3===t.type&&e++,4===t.type&&(t.isDedentAmbiguous&&this._addError(h.Localizer.Diagnostic.inconsistentTabs(),t),e--,0===e))break;if(1===t.type)break}}else this._parseSimpleStatement();return this._tokenIndex>0&&(0,C.extendRange)(s,this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1)),s}n&&n();const r=this._isInFunction;if(this._isInFunction=e,this._consumeTokenIfType(2)){n&&n();const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(h.Localizer.Diagnostic.inconsistentTabs(),t)}else this._addError(h.Localizer.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(h.Localizer.Diagnostic.inconsistentTabs(),t):this._addError(h.Localizer.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=s,s.statements.push(t)):this._consumeTokensUntilType([2]);const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(h.Localizer.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(h.Localizer.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}}else{const e=this._parseSimpleStatement();s.statements.push(e),e.parent=s}return s.statements.length>0&&(0,C.extendRange)(s,s.statements[s.statements.length-1]),this._isInFunction=r,s}_parseForStatement(e){const t=this._getKeywordToken(17),n=this._parseExpressionListAsPossibleTuple(2,h.Localizer.Diagnostic.expectedExpr(),t);let i,s,r;if(this._consumeTokenIfKeyword(22)){if(i=this._parseTestOrStarListAsExpression(!1,!0,2,h.Localizer.Diagnostic.expectedInExpr()),s=this._parseLoopSuite(),this._getLanguageVersion(){56!==t.nodeType||e||(this._addError(h.Localizer.Diagnostic.unpackOperatorNotAllowed(),t),e=!0)}))}this._consumeTokenIfKeyword(13)&&(r=this._parseSuite(this._isInFunction))}else i=this._handleExpressionParseError(0,h.Localizer.Diagnostic.expectedIn()),s=C.SuiteNode.create(this._peekToken());const o=C.ForNode.create(t,n,i,s);return o.elseSuite=r,r&&((0,C.extendRange)(o,r),r.parent=o),e&&(o.isAsync=!0,o.asyncToken=e,(0,C.extendRange)(o,e)),s.typeComment&&(o.typeComment=s.typeComment),o}_tryParseListComprehension(e){const t=this._tryParseCompForStatement();if(!t)return;56===e.nodeType?this._addError(h.Localizer.Diagnostic.unpackIllegalInComprehension(),e):16===e.nodeType&&this._addError(h.Localizer.Diagnostic.dictExpandIllegalInComprehension(),e);const n=C.ListComprehensionNode.create(e),i=[t];for(;;){const e=this._tryParseCompForStatement()||this._tryParseCompIfStatement();if(!e)break;e.parent=n,i.push(e)}return n.forIfNodes=i,i.length>0&&(i.forEach((e=>{e.parent=n})),(0,C.extendRange)(n,i[i.length-1])),n}_tryParseCompForStatement(){const e=this._peekKeywordType();if(3===e){const e=this._peekToken(1);if(8!==e.type||17!==e.keywordType)return}else if(17!==e)return;let t;3===this._peekKeywordType()&&(t=this._getKeywordToken(3));const n=this._getKeywordToken(17),i=this._parseExpressionListAsPossibleTuple(2,h.Localizer.Diagnostic.expectedExpr(),n);let s;this._consumeTokenIfKeyword(22)?this._disallowAssignmentExpression((()=>{s=this._parseOrTest()})):s=this._handleExpressionParseError(0,h.Localizer.Diagnostic.expectedIn());const r=C.ListComprehensionForNode.create(t||n,i,s);return t&&(r.isAsync=!0,r.asyncToken=t),r}_tryParseCompIfStatement(){if(20!==this._peekKeywordType())return;const e=this._getKeywordToken(20),t=this._tryParseLambdaExpression()||this._parseAssignmentExpression(!0);return C.ListComprehensionIfNode.create(e,t)}_parseWhileStatement(){const e=this._getKeywordToken(36),t=C.WhileNode.create(e,this._parseTestExpression(!0),this._parseLoopSuite());return this._consumeTokenIfKeyword(13)&&(t.elseSuite=this._parseSuite(this._isInFunction),t.elseSuite.parent=t,(0,C.extendRange)(t,t.elseSuite)),t}_parseTryStatement(){const e=this._getKeywordToken(34),t=this._parseSuite(this._isInFunction),n=C.TryNode.create(e,t);let i=!1;for(;;){const e=this._peekToken();if(!this._consumeTokenIfKeyword(14))break;const t=this._peekToken();let s,r,o=!1;if(this._consumeTokenIfOperator(26)&&(this._getLanguageVersion()0&&((0,C.extendRange)(n,n.exceptClauses[n.exceptClauses.length-1]),this._consumeTokenIfKeyword(13)&&(n.elseSuite=this._parseSuite(this._isInFunction),n.elseSuite.parent=n,(0,C.extendRange)(n,n.elseSuite))),this._consumeTokenIfKeyword(16)&&(n.finallySuite=this._parseSuite(this._isInFunction),n.finallySuite.parent=n,(0,C.extendRange)(n,n.finallySuite)),n.finallySuite||0!==n.exceptClauses.length||this._addError(h.Localizer.Diagnostic.tryWithoutExcept(),e),n}_parseFunctionDef(e,t){const n=this._getKeywordToken(10),i=this._getTokenIfIdentifier();if(!i)return this._addError(h.Localizer.Diagnostic.expectedFunctionName(),n),C.ErrorNode.create(n,10,void 0,t);let s;15===this._peekToken().type&&(s=this._parseTypeParameterList(),!this._parseOptions.isStubFile&&this._getLanguageVersion(){A||(A=this._getTypeAnnotationCommentText())})),c=C.FunctionNode.create(n,C.NameNode.create(i),l,s);return e&&(c.isAsync=!0,(0,C.extendRange)(c,e)),c.parameters=o,o.forEach((e=>{e.parent=c})),t&&(c.decorators=t,t.forEach((e=>{e.parent=c})),t.length>0&&(0,C.extendRange)(c,t[0])),a&&(c.returnTypeAnnotation=a,c.returnTypeAnnotation.parent=c,(0,C.extendRange)(c,a)),A&&this._parseFunctionTypeAnnotationComment(A,c),c}_parseVarArgsList(e,t){const n=new Map,i=[];let s=!1,r=!1,o=!1,a=!1,A=!1,l=!1;for(;this._peekTokenType()!==e;){const c=this._parseParameter(t);if(!c){this._consumeTokensUntilType([e]);break}if(c.name){const e=c.name.value;n.has(e)?this._addError(h.Localizer.Diagnostic.duplicateParam().format({name:e}),c.name):n.set(e,e)}else 0===c.category&&0===i.length&&this._addError(h.Localizer.Diagnostic.positionOnlyFirstParam(),c);0===c.category&&(c.name?c.defaultValue?s=!0:!s||o||A||r||(this._addError(h.Localizer.Diagnostic.nonDefaultAfterDefault(),c),r=!0):(a?this._addError(h.Localizer.Diagnostic.duplicatePositionOnly(),c):o?this._addError(h.Localizer.Diagnostic.positionOnlyAfterKeywordOnly(),c):A&&this._addError(h.Localizer.Diagnostic.positionOnlyAfterArgs(),c),a=!0)),i.push(c),1===c.category&&(c.name?((o||A)&&this._addError(h.Localizer.Diagnostic.duplicateArgsParam(),c),A=!0):(o?this._addError(h.Localizer.Diagnostic.duplicateKeywordOnly(),c):A&&this._addError(h.Localizer.Diagnostic.keywordOnlyAfterArgs(),c),o=!0)),2===c.category?(l&&this._addError(h.Localizer.Diagnostic.duplicateKwargsParam(),c),l=!0):l&&this._addError(h.Localizer.Diagnostic.paramAfterKwargsParam(),c);const p=this._consumeTokenIfType(12);if(t&&!c.typeAnnotation){const e=this._parseVariableTypeAnnotationComment();e&&(c.typeAnnotationComment=e,c.typeAnnotationComment.parent=c,(0,C.extendRange)(c,c.typeAnnotationComment))}if(!p)break}if(i.length>0){const e=i[i.length-1];1!==e.category||e.name||this._addError(h.Localizer.Diagnostic.expectedNamedParameter(),e)}return i}_parseParameter(e){let t=0,n=0;const i=this._peekToken();this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)?t=2:this._consumeTokenIfOperator(10)&&(this._getLanguageVersion()0&&this._addError(h.Localizer.Diagnostic.defaultValueNotAllowed(),o.defaultValue)),o}_parseWithStatement(e){const t=this._getKeywordToken(37);let n=[];const i=this._peekToken();let s,r=!1;if(13===i.type){const e=this._tokenIndex;this._suppressErrors((()=>{for(this._getNextToken();n.push(this._parseWithItem()),this._consumeTokenIfType(12)&&14!==this._peekToken().type;);14===this._peekToken().type&&10===this._peekToken(1).type&&(r=1!==n.length||void 0!==n[0].target),this._tokenIndex=e,n=[]}))}for(r&&(this._consumeTokenIfType(13),this._getLanguageVersion(){const e=this._getTypeAnnotationCommentText();e&&(s=e)})),a=C.WithNode.create(t,o);return e&&(a.isAsync=!0,a.asyncToken=e,(0,C.extendRange)(a,e)),s&&(a.typeComment=s),a.withItems=n,n.forEach((e=>{e.parent=a})),a}_parseWithItem(){const e=this._parseTestExpression(!0),t=C.WithItemNode.create(e);return this._consumeTokenIfKeyword(1)&&(t.target=this._parseExpression(!1),t.target.parent=t,(0,C.extendRange)(t,t.target)),t}_parseDecorated(){const e=[];for(;22===this._peekOperatorType();)e.push(this._parseDecorator());const t=this._peekToken();if(8===t.type)if(3===t.keywordType){if(this._getNextToken(),10===this._peekKeywordType())return this._parseFunctionDef(t,e);this._addError(h.Localizer.Diagnostic.expectedFunctionAfterAsync(),this._peekToken())}else{if(10===t.keywordType)return this._parseFunctionDef(void 0,e);if(7===t.keywordType)return this._parseClassDef(e)}return this._addError(h.Localizer.Diagnostic.expectedAfterDecorator(),this._peekToken()),C.ClassNode.createDummyForDecorators(e)}_parseDecorator(){const e=this._getNextToken();(0,A.assert)(22===e.operatorType);const t=this._parseTestExpression(!0);if(this._getLanguageVersion(){e.parent=a})),e&&(a.decorators=e,e.length>0&&(e.forEach((e=>{e.parent=a})),(0,C.extendRange)(a,e[0]))),a}_parsePassStatement(){return C.PassNode.create(this._getKeywordToken(30))}_parseBreakStatement(){const e=this._getKeywordToken(5);return this._isInLoop||this._addError(h.Localizer.Diagnostic.breakOutsideLoop(),e),C.BreakNode.create(e)}_parseContinueStatement(){const e=this._getKeywordToken(8);return this._isInLoop?this._isInFinally&&this._addError(h.Localizer.Diagnostic.continueInFinally(),e):this._addError(h.Localizer.Diagnostic.continueOutsideLoop(),e),C.ContinueNode.create(e)}_parseReturnStatement(){const e=this._getKeywordToken(32),t=C.ReturnNode.create(e);if(this._isInFunction||this._addError(h.Localizer.Diagnostic.returnOutsideFunction(),e),!this._isNextTokenNeverExpression()){const e=this._parseTestOrStarListAsExpression(!0,!0,2,h.Localizer.Diagnostic.expectedReturnExpr());this._reportConditionalErrorForStarTupleElement(e),t.returnExpression=e,t.returnExpression.parent=t,(0,C.extendRange)(t,e)}return t}_parseFromStatement(){const e=this._getKeywordToken(18),t=this._parseDottedModuleName(!0),n=C.ImportFromNode.create(e,t),i=0===t.leadingDots&&1===t.nameParts.length&&"__future__"===t.nameParts[0].value,s=this._peekToken();if(this._consumeTokenIfKeyword(21)){(0,C.extendRange)(n,s);const e=this._peekToken();if(this._consumeTokenIfOperator(26))(0,C.extendRange)(n,e),n.isWildcardImport=!0,n.wildcardToken=e,this._containsWildcardImport=!0;else{const e=this._peekToken(),t=this._consumeTokenIfType(13);let s;for(;;){const e=this._getTokenIfIdentifier();if(!e)break;s=void 0;const t=C.ImportFromAsNode.create(C.NameNode.create(e));if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(t.alias=C.NameNode.create(e),t.alias.parent=t,(0,C.extendRange)(t,e)):this._addError(h.Localizer.Diagnostic.expectedImportAlias(),this._peekToken())}n.imports.push(t),t.parent=n,(0,C.extendRange)(n,t),i&&this._futureImportMap.set(e.value,!0);const r=this._peekToken();if(!this._consumeTokenIfType(12))break;s=r}if(0===n.imports.length&&this._addError(h.Localizer.Diagnostic.expectedImportSymbols(),this._peekToken()),t){n.usesParens=!0;const t=this._peekToken();this._consumeTokenIfType(14)?(0,C.extendRange)(n,t):this._addError(h.Localizer.Diagnostic.expectedCloseParen(),e)}else s&&this._addError(h.Localizer.Diagnostic.trailingCommaInFromImport(),s)}}else this._addError(h.Localizer.Diagnostic.expectedImport(),this._peekToken()),t.hasTrailingDot||(n.missingImportKeyword=!0);this._importedModules.push({nameNode:n.module,leadingDots:n.module.leadingDots,nameParts:n.module.nameParts.map((e=>e.value)),importedSymbols:n.imports.map((e=>e.name.value))});let r=!1;if(1===n.module.nameParts.length){const e=n.module.nameParts[0].value;"typing"!==e&&"typing_extensions"!==e||(r=!0)}if(r){const e=["Literal","TypeAlias","Annotated"];n.isWildcardImport?e.forEach((e=>{this._typingSymbolAliases.set(e,e)})):n.imports.forEach((t=>{var n;e.some((e=>e===t.name.value))&&this._typingSymbolAliases.set((null===(n=t.alias)||void 0===n?void 0:n.value)||t.name.value,t.name.value)}))}return n}_parseImportStatement(){var e;const t=this._getKeywordToken(21),n=C.ImportNode.create(t);for(;;){const t=this._parseDottedModuleName(),i=C.ImportAsNode.create(t);if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(i.alias=C.NameNode.create(e),i.alias.parent=i,(0,C.extendRange)(i,i.alias)):this._addError(h.Localizer.Diagnostic.expectedImportAlias(),this._peekToken())}if(i.module.leadingDots>0&&this._addError(h.Localizer.Diagnostic.relativeImportNotAllowed(),i.module),n.list.push(i),i.parent=n,this._importedModules.push({nameNode:i.module,leadingDots:i.module.leadingDots,nameParts:i.module.nameParts.map((e=>e.value)),importedSymbols:void 0}),1===t.nameParts.length){const n=t.nameParts[0].value;"typing"!==n&&"typing_extensions"!==n||this._typingImportAliases.push((null===(e=i.alias)||void 0===e?void 0:e.value)||n)}if(!this._consumeTokenIfType(12))break}return n.list.length>0&&(0,C.extendRange)(n,n.list[n.list.length-1]),n}_parseDottedModuleName(e=!1){var t;const n=C.ModuleNameNode.create(this._peekToken());for(;;){const e=null!==(t=this._getTokenIfType(19))&&void 0!==t?t:this._getTokenIfType(20);if(!e)break;19===e.type?n.leadingDots+=3:n.leadingDots++,(0,C.extendRange)(n,e)}for(;;){const t=this._getTokenIfIdentifier();if(!t){(!e||0===n.leadingDots||n.nameParts.length>0)&&(this._addError(h.Localizer.Diagnostic.expectedModuleName(),this._peekToken()),n.hasTrailingDot=!0);break}const i=C.NameNode.create(t);n.nameParts.push(i),i.parent=n,(0,C.extendRange)(n,i);const s=this._peekToken();if(!this._consumeTokenIfType(20))break;(0,C.extendRange)(n,s)}return n}_parseGlobalStatement(){const e=this._getKeywordToken(19),t=C.GlobalNode.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),(0,C.extendRange)(t,t.nameList[t.nameList.length-1])),t}_parseNonlocalStatement(){const e=this._getKeywordToken(27),t=C.NonlocalNode.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),(0,C.extendRange)(t,t.nameList[t.nameList.length-1])),t}_parseNameList(){const e=[];for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(h.Localizer.Diagnostic.expectedIdentifier(),this._peekToken());break}if(e.push(C.NameNode.create(t)),!this._consumeTokenIfType(12))break}return e}_parseRaiseStatement(){const e=this._getKeywordToken(31),t=C.RaiseNode.create(e);return this._isNextTokenNeverExpression()||(t.typeExpression=this._parseTestExpression(!0),t.typeExpression.parent=t,(0,C.extendRange)(t,t.typeExpression),this._consumeTokenIfKeyword(18)?(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,(0,C.extendRange)(t,t.valueExpression)):this._consumeTokenIfType(12)&&(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,(0,C.extendRange)(t,t.valueExpression),this._consumeTokenIfType(12)&&(t.tracebackExpression=this._parseTestExpression(!0),t.tracebackExpression.parent=t,(0,C.extendRange)(t,t.tracebackExpression)))),t}_parseAssertStatement(){const e=this._getKeywordToken(2),t=this._parseTestExpression(!0),n=C.AssertNode.create(e,t);if(this._consumeTokenIfType(12)){const e=this._parseTestExpression(!0);n.exceptionExpression=e,n.exceptionExpression.parent=n,(0,C.extendRange)(n,e)}return n}_parseDelStatement(){const e=this._getKeywordToken(11),t=this._parseExpressionList(!0);t.parseError||0!==t.list.length||this._addError(h.Localizer.Diagnostic.expectedDelExpr(),this._peekToken());const n=C.DelNode.create(e);return n.expressions=t.list,n.expressions.length>0&&(n.expressions.forEach((e=>{e.parent=n})),(0,C.extendRange)(n,n.expressions[n.expressions.length-1])),n}_parseYieldExpression(){const e=this._getKeywordToken(38),t=this._peekToken();if(this._consumeTokenIfKeyword(18))return this._getLanguageVersion()0?e.list[0]:this._peekToken(-1),i=C.TupleNode.create(n,t);return i.expressions=e.list,e.list.length>0&&(e.list.forEach((e=>{e.parent=i})),(0,C.extendRange)(i,e.list[e.list.length-1])),i}_parseExpressionListAsPossibleTuple(e,t,n){if(this._isNextTokenNeverExpression())return this._addError(t,n),C.ErrorNode.create(n,e);const i=this._parseExpressionList(!0);return i.parseError?i.parseError:this._makeExpressionOrTuple(i,!1)}_parseTestListAsExpression(e,t){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(e,t);const n=this._parseTestExpressionList();return n.parseError?n.parseError:this._makeExpressionOrTuple(n,!1)}_parseTestOrStarListAsExpression(e,t,n,i){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(n,i);const s=this._parseTestOrStarExpressionList(e,t);return s.parseError?s.parseError:this._makeExpressionOrTuple(s,!1)}_parseExpressionList(e){return this._parseExpressionListGeneric((()=>this._parseExpression(e)))}_parseTestExpressionList(){return this._parseExpressionListGeneric((()=>this._parseTestExpression(!1)))}_parseTestOrStarExpressionList(e,t){const n=this._parseExpressionListGeneric((()=>this._parseTestOrStarExpression(e)));if(!t&&!n.parseError){let e=!1;for(const t of n.list)if(56===t.nodeType){if(e){this._addError(h.Localizer.Diagnostic.duplicateUnpack(),t);break}e=!0}}return n}_parseExpression(e){const t=this._peekToken();return e&&this._consumeTokenIfOperator(26)?C.UnpackNode.create(t,this._parseExpression(!1)):this._parseBitwiseOrExpression()}_parseTestOrStarExpression(e){return 26===this._peekOperatorType()?this._parseExpression(!0):this._parseTestExpression(e)}_parseTestExpression(e){if(24===this._peekKeywordType())return this._parseLambdaExpression();const t=e?this._parseAssignmentExpression():this._parseOrTest();if(0===t.nodeType)return t;if(!this._consumeTokenIfKeyword(20))return t;const n=this._parseOrTest();if(0===n.nodeType)return n;if(!this._consumeTokenIfKeyword(13))return this._handleExpressionParseError(1,h.Localizer.Diagnostic.expectedElse());const i=this._parseTestExpression(!0);return 0===i.nodeType?i:C.TernaryNode.create(t,n,i)}_parseAssignmentExpression(e=!1){const t=this._parseOrTest();if(0===t.nodeType)return t;if(38!==t.nodeType)return t;const n=this._peekToken();if(!this._consumeTokenIfOperator(35))return t;(!this._assignmentExpressionsAllowed||this._isParsingTypeAnnotation||e)&&this._addError(h.Localizer.Diagnostic.walrusNotAllowed(),n),this._getLanguageVersion()e===t))}return!1}_parseAtomExpression(){let e;4!==this._peekKeywordType()||this._isParsingTypeAnnotation||(e=this._getKeywordToken(4),this._getLanguageVersion()1||i.trailingComma)&&i.args.forEach((e=>{32===e.valueExpression.nodeType&&(e.valueExpression.isParenthesized||this._addError(h.Localizer.Diagnostic.generatorNotParenthesized(),e.valueExpression))}));const r=this._peekToken();let o=!1;if(this._consumeTokenIfType(14)?((0,C.extendRange)(s,r),o=!0):(this._addError(h.Localizer.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),(0,C.extendRange)(s,this._peekToken())),this._isParsingTypeAnnotation=n,this._isParsingTypeAnnotation){const e=new l.DiagnosticAddendum;38===t.nodeType&&"type"===t.value&&(e.addMessage(h.Localizer.DiagnosticAddendum.useTypeInstead()),this._addError(h.Localizer.Diagnostic.typeCallNotAllowed()+e.getString(),s))}if(t=s,void 0!==t.maxChildDepth&&t.maxChildDepth>=E&&(t=C.ErrorNode.create(t,14),this._addError(h.Localizer.Diagnostic.maxParseDepthExceeded(),t)),!o)break}else if(this._consumeTokenIfType(15)){const n=this._isParsingIndexTrailer,i=this._isParsingTypeAnnotation;(this._isTypingAnnotation(t,"Literal")||this._isTypingAnnotation(t,"Annotated"))&&(this._isParsingTypeAnnotation=!1),this._isParsingIndexTrailer=!0;const s=this._parseSubscriptList();this._isParsingTypeAnnotation=i,this._isParsingIndexTrailer=n;const r=this._peekToken(),o=C.IndexNode.create(t,s.list,s.trailingComma,r);(0,C.extendRange)(o,o),this._consumeTokenIfType(16)||this._handleExpressionParseError(6,h.Localizer.Diagnostic.expectedCloseBracket(),e,o),t=o,void 0!==t.maxChildDepth&&t.maxChildDepth>=E&&(t=C.ErrorNode.create(t,14),this._addError(h.Localizer.Diagnostic.maxParseDepthExceeded(),t))}else{if(!this._consumeTokenIfType(20))break;{const n=this._getTokenIfIdentifier();if(!n)return this._handleExpressionParseError(7,h.Localizer.Diagnostic.expectedMemberName(),e,t,[8]);t=C.MemberAccessNode.create(t,C.NameNode.create(n)),void 0!==t.maxChildDepth&&t.maxChildDepth>=E&&(t=C.ErrorNode.create(t,14),this._addError(h.Localizer.Diagnostic.maxParseDepthExceeded(),t))}}}return e?C.AwaitNode.create(e,t):t}_parseSubscriptList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekToken();if(10!==i.type&&this._isNextTokenNeverExpression())break;let s=0;this._consumeTokenIfOperator(26)?s=1:this._consumeTokenIfOperator(29)&&(s=2);const r=this._tokenIndex;let o,a=this._parsePossibleSlice();if(0===s)if(this._consumeTokenIfOperator(2)){const e=a;a=this._parsePossibleSlice(),38===e.nodeType?o=e.token:this._addError(h.Localizer.Diagnostic.expectedParamName(),e)}else 38===a.nodeType&&35===this._peekOperatorType()&&(this._tokenIndex=r,a=this._parseTestExpression(!0),!this._parseOptions.isStubFile&&this._getLanguageVersion()=g.PythonVersion.V3_11;2!==s&&e||this._addError(h.Localizer.Diagnostic.unpackedSubscriptIllegal(),A)}if(!this._consumeTokenIfType(12)){n=!1;break}n=!0}if(0===e.length){const t=this._handleExpressionParseError(3,h.Localizer.Diagnostic.expectedSliceIndex(),void 0,void 0,[16]);e.push(C.ArgumentNode.create(this._peekToken(),t,0))}return{list:e,trailingComma:n}}_parsePossibleSlice(){const e=this._peekToken(),t=[void 0,void 0,void 0];let n=0,i=!1;for(;;){const e=this._peekTokenType();if(16===e||12===e)break;if(10!==e&&(t[n]=this._parseTestExpression(!1)),n++,n>=3||!this._consumeTokenIfType(10))break;i=!0}if(!i)return t[0]?t[0]:C.ErrorNode.create(this._peekToken(),3);const s=C.SliceNode.create(e);s.startValue=t[0],s.startValue&&(s.startValue.parent=s),s.endValue=t[1],s.endValue&&(s.endValue.parent=s),s.stepValue=t[2],s.stepValue&&(s.stepValue.parent=s);const r=t[2]||t[1]||t[0];return r&&(0,C.extendRange)(s,r),s}_parseArgList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekTokenType();if(14===i||2===i||1===i)break;n=!1;const s=this._parseArgument();if(s.name?t=!0:t&&0===s.argumentCategory&&this._addError(h.Localizer.Diagnostic.positionArgAfterNamedArg(),s),e.push(s),!this._consumeTokenIfType(12))break;n=!0}return{args:e,trailingComma:n}}_parseArgument(){const e=this._peekToken();let t=0;this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)&&(t=2);let n,i=this._parseTestExpression(!0);if(0===t)if(this._consumeTokenIfOperator(2)){const e=i;i=this._parseTestExpression(!1),38===e.nodeType?n=e.token:this._addError(h.Localizer.Diagnostic.expectedParamName(),e)}else{const e=this._tryParseListComprehension(i);e&&(i=e)}const s=C.ArgumentNode.create(e,i,t);return n&&(s.name=C.NameNode.create(n),s.name.parent=s),s}_parseAtom(){const e=this._peekToken();if(19===e.type)return C.EllipsisNode.create(this._getNextToken());if(6===e.type)return C.NumberNode.create(this._getNextToken());if(7===e.type)return C.NameNode.create(this._getNextToken());if(5===e.type)return this._parseStringList();if(22===e.type){this._getNextToken(),this._addError(h.Localizer.Diagnostic.backticksIllegal(),e);const t=this._parseTestListAsExpression(2,h.Localizer.Diagnostic.expectedExpr());return this._consumeTokenIfType(22),t}if(13===e.type){const e=this._parseTupleAtom();if(52===e.nodeType&&this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new l.DiagnosticAddendum;t.addMessage(h.Localizer.DiagnosticAddendum.useTupleInstead()),this._addError(h.Localizer.Diagnostic.tupleInAnnotation()+t.getString(),e)}return 7===e.nodeType&&(e.parenthesized=!0),48===e.nodeType&&(e.isParenthesized=!0),32===e.nodeType&&(e.isParenthesized=!0),e}if(15===e.type){const e=this._parseListAtom();if(this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new l.DiagnosticAddendum;t.addMessage(h.Localizer.DiagnosticAddendum.useListInstead()),this._addError(h.Localizer.Diagnostic.listInAnnotation()+t.getString(),e)}return e}if(17===e.type){const e=this._parseDictionaryOrSetAtom();if(this._isParsingTypeAnnotation){const t=new l.DiagnosticAddendum;t.addMessage(h.Localizer.DiagnosticAddendum.useDictInstead()),this._addError(h.Localizer.Diagnostic.dictInAnnotation()+t.getString(),e)}return e}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||9===t.keywordType||26===t.keywordType)return C.ConstantNode.create(this._getNextToken());const n=this._getTokenIfIdentifier();if(n)return C.NameNode.create(n)}return this._handleExpressionParseError(2,h.Localizer.Diagnostic.expectedExpr())}_handleExpressionParseError(e,t,n,i,s){var r;this._addError(t,null!=n?n:this._peekToken());const o=[2];s&&(0,a.appendArray)(o,s);const A=this._peekToken(),l=o.some((e=>A.type===e))?null!==(r=null!=n?n:i)&&void 0!==r?r:u.TextRange.create(A.start,0):A,c=C.ErrorNode.create(l,e,i);return this._consumeTokensUntilType(o),c}_parseLambdaExpression(e=!0){const t=this._getKeywordToken(24),n=this._parseVarArgsList(10,!1);let i;this._consumeTokenIfType(10)||this._addError(h.Localizer.Diagnostic.expectedColon(),this._peekToken()),i=e?this._parseTestExpression(!1):this._tryParseLambdaExpression(!1)||this._parseOrTest();const s=C.LambdaNode.create(t,i);return s.parameters=n,n.forEach((e=>{e.parent=s})),s}_tryParseLambdaExpression(e=!0){if(24===this._peekKeywordType())return this._parseLambdaExpression(e)}_parseTupleAtom(){var e;const t=this._getNextToken();(0,A.assert)(13===t.type);const n=this._tryParseYieldExpression();if(n)return 14!==this._peekTokenType()?this._handleExpressionParseError(8,h.Localizer.Diagnostic.expectedCloseParen(),t,n):((0,C.extendRange)(n,this._getNextToken()),n);const i=this._parseTestListWithComprehension(),s=this._makeExpressionOrTuple(i,!0),r=1===i.list.length&&!i.trailingComma;if(r||(0,C.extendRange)(s,t),14!==this._peekTokenType())return this._handleExpressionParseError(8,h.Localizer.Diagnostic.expectedCloseParen(),t,null!==(e=i.parseError)&&void 0!==e?e:s);{const e=this._getNextToken();r||(0,C.extendRange)(s,e)}return s}_parseListAtom(){var e;const t=this._getNextToken();(0,A.assert)(15===t.type);const n=this._parseTestListWithComprehension(),i=this._peekToken();return this._consumeTokenIfType(16)?s():this._handleExpressionParseError(9,h.Localizer.Diagnostic.expectedCloseBracket(),t,null!==(e=n.parseError)&&void 0!==e?e:s());function s(){const e=C.ListNode.create(t);return i&&(0,C.extendRange)(e,i),n.list.length>0&&(n.list.forEach((t=>{t.parent=e})),(0,C.extendRange)(e,n.list[n.list.length-1])),e.entries=n.list,e}}_parseTestListWithComprehension(){let e=!1;return this._parseExpressionListGeneric((()=>{let t=this._parseTestOrStarExpression(!0);const n=this._tryParseListComprehension(t);return n&&(t=n,e=!0),t}),(()=>this._isNextTokenNeverExpression()),(()=>e))}_parseDictionaryOrSetAtom(){const e=this._getNextToken();(0,A.assert)(17===e.type);const t=[],n=[];let i,s=!1,r=!1,o=!1,a=!0;for(;18!==this._peekTokenType();){let e,l,c;i=void 0;const p=this._peekToken();if(this._consumeTokenIfOperator(29)?e=this._parseExpression(!1):(l=this._parseTestOrStarExpression(!0),this._consumeTokenIfType(10)&&(c=this._parseTestExpression(!1))),l&&c)if(56===l.nodeType&&this._addError(h.Localizer.Diagnostic.unpackInDict(),l),r)this._addError(h.Localizer.Diagnostic.keyValueInSet(),c);else{const e=C.DictionaryKeyEntryNode.create(l,c);let n=e;const i=this._tryParseListComprehension(e);i&&(n=i,o=!0,a||this._addError(h.Localizer.Diagnostic.comprehensionInDict(),n)),t.push(n),s=!0}else if(e)if(r)this._addError(h.Localizer.Diagnostic.unpackInSet(),e);else{const n=C.DictionaryExpandEntryNode.create(e);(0,C.extendRange)(n,p);let i=n;const r=this._tryParseListComprehension(n);r&&(i=r,o=!0,a||this._addError(h.Localizer.Diagnostic.comprehensionInDict(),e)),t.push(i),s=!0}else if((0,A.assert)(void 0!==l),l)if(s){const e=C.ErrorNode.create(this._peekToken(),13),n=C.DictionaryKeyEntryNode.create(l,e);t.push(n),this._addError(h.Localizer.Diagnostic.dictKeyValuePairs(),l)}else{const e=this._tryParseListComprehension(l);e&&(l=e,o=!0,a||this._addError(h.Localizer.Diagnostic.comprehensionInSet(),l)),n.push(l),r=!0}if(o)break;if(12!==this._peekTokenType())break;i=this._getNextToken(),a=!1}let l=this._peekToken();if(this._consumeTokenIfType(18)||(this._addError(h.Localizer.Diagnostic.expectedCloseBrace(),e),l=void 0),r){const t=C.SetNode.create(e);return l&&(0,C.extendRange)(t,l),n.length>0&&(0,C.extendRange)(t,n[n.length-1]),n.forEach((e=>{e.parent=t})),t.entries=n,t}const c=C.DictionaryNode.create(e);return i&&(c.trailingCommaToken=i,(0,C.extendRange)(c,i)),l&&(0,C.extendRange)(c,l),t.length>0&&(t.forEach((e=>{e.parent=c})),(0,C.extendRange)(c,t[t.length-1])),c.entries=t,c}_parseExpressionListGeneric(e,t=(()=>this._isNextTokenNeverExpression()),n=(()=>!1)){let i=!1;const s=[];let r;for(;!t();){const t=e();if(0===t.nodeType){r=t;break}if(s.push(t),n())break;if(!this._consumeTokenIfType(12)){i=!1;break}i=!0}return{trailingComma:i,list:s,parseError:r}}_parseExpressionStatement(){let e,t=this._parseTestOrStarListAsExpression(!1,!1,2,h.Localizer.Diagnostic.expectedExpr());if(0===t.nodeType)return t;if(this._consumeTokenIfType(10)){if(e=this._parseTypeAnnotation(),t=C.TypeAnnotationNode.create(t,e),!this._parseOptions.isStubFile&&this._getLanguageVersion()0)}_getTypeAnnotationCommentText(){if(0===this._tokenIndex)return;const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1),t=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);if(e.start+e.length===t.start)return;const n=this._fileContents.substring(e.start+e.length,t.start).match(/^(\s*#\s*type:\s*)([^\r\n]*)/);if(!n)return;const i=n[2];if(i.trim().match(/^ignore(\s|\[|$)/))return;const s=e.start+e.length+n[1].length;return f.StringToken.create(s,i.length,0,i,0,void 0)}_parseVariableTypeAnnotationComment(){const e=this._getTypeAnnotationCommentText();if(!e)return;const t=this._makeStringNode(e),n=C.StringListNode.create([t]),i=(new T).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,1,void 0,this._typingSymbolAliases);return i.diagnostics.forEach((e=>{this._addError(e.message,n)})),i.parseTree?((0,A.assert)(62!==i.parseTree.nodeType),i.parseTree):void 0}_parseFunctionTypeAnnotationComment(e,t){const n=this._makeStringNode(e),i=C.StringListNode.create([n]),s=(new T).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,2,void 0,this._typingSymbolAliases);if(s.diagnostics.forEach((e=>{this._addError(e.message,i)})),!s.parseTree||62!==s.parseTree.nodeType)return;const r=s.parseTree;t.functionAnnotationComment=r,r.parent=t,(0,C.extendRange)(t,r)}_parseFormatStringSegment(e,t,n,i){(0,A.assert)(t.isExpression);const s=(new T).parseTextExpression(this._fileContents,e.start+e.prefixLength+e.quoteMarkLength+t.offset+n,i,this._parseOptions,0,1,this._typingSymbolAliases);return s.diagnostics.forEach((t=>{const n=(t.range?(0,p.convertPositionToOffset)(t.range.start,s.lines):e.start)||e.start,i={start:n,length:((t.range?((0,p.convertPositionToOffset)(t.range.end,s.lines)||0)+1:e.start+e.length)||e.start+e.length)-n};this._addError(t.message,i)})),s.parseTree}_parseFormatString(e){const t=m.getUnescapedString(e);this._reportStringTokenErrors(e,t);const n=[];for(const i of t.formatStringSegments)if(i.isExpression){const t=this._getFormatStringExpressionLength(i.value.trimEnd()),s=this._parseFormatStringSegment(e,i,0,t);s&&((0,A.assert)(62!==s.nodeType),n.push(s));const r=i.value.substr(t);let o=0,a=0;for(let s=0;s0&&(o--,0===o)){const r=this._getFormatStringExpressionLength(i.value.substr(t+a,s-a)),o=this._parseFormatStringSegment(e,i,t+a,r);o&&((0,A.assert)(62!==o.nodeType),n.push(o))}}return C.FormatStringNode.create(e,t.value,t.unescapeErrors.length>0,n)}_getFormatStringExpressionLength(e){let t=0;const n=[];let i,s=0,r=0,o=0;for(;t0||s>0||r>0||o>0,l=n.length>0;if("="===a)i=t;else{if(":"===a){if(!A)break}else if("!"===a){if(!A&&(t===e.length-1||"="!==e[t+1]))break}else if("'"===a||'"'===a){let i=a;t+20&&n[n.length-1]===i?n.pop():0===n.length&&n.push(i)}else"("===a?l||r++:")"===a?!l&&r>0&&r--:"{"===a?l||s++:"}"===a?!l&&s>0&&s--:"["===a?l||o++:"]"===a&&!l&&o>0&&o--;" "!==a&&(i=void 0)}t++}return this._parseOptions.pythonVersion>=g.PythonVersion.V3_8&&void 0!==i&&(t=i),t}_createBinaryOperationNode(e,t,n,i){return void 0!==e.maxChildDepth&&e.maxChildDepth>=E&&(e=C.ErrorNode.create(e,14),this._addError(h.Localizer.Diagnostic.maxParseDepthExceeded(),e)),void 0!==t.maxChildDepth&&t.maxChildDepth>=E&&(t=C.ErrorNode.create(t,14),this._addError(h.Localizer.Diagnostic.maxParseDepthExceeded(),t)),C.BinaryOperationNode.create(e,t,n,i)}_createUnaryOperationNode(e,t,n){return void 0!==t.maxChildDepth&&t.maxChildDepth>=E&&(t=C.ErrorNode.create(t,14),this._addError(h.Localizer.Diagnostic.maxParseDepthExceeded(),t)),C.UnaryOperationNode.create(e,t,n)}_parseStringList(){const e=[];for(;5===this._peekTokenType();){const t=this._getNextToken();64&t.flags?e.push(this._parseFormatString(t)):e.push(this._makeStringNode(t))}const t=C.StringListNode.create(e);if(this._isParsingTypeAnnotation)if(t.strings.length>1)this._addError(h.Localizer.Diagnostic.annotationSpansStrings(),t);else if(64&t.strings[0].token.flags)this._addError(h.Localizer.Diagnostic.annotationFormatString(),t);else{const e=t.strings[0].token,n=m.getUnescapedString(t.strings[0].token).value,i=e.start,s=e.prefixLength+e.quoteMarkLength;if(n.length!==e.length-s-e.quoteMarkLength)this._addError(h.Localizer.Diagnostic.annotationStringEscape(),t);else{const e=(new T).parseTextExpression(this._fileContents,i+s,n.length,this._parseOptions,1,0!=(4&t.strings[0].token.flags)?1:0,this._typingSymbolAliases);(0===e.diagnostics.length||this._parseOptions.reportErrorsForParsedStringContents)&&(e.diagnostics.forEach((e=>{this._addError(e.message,t)})),e.parseTree&&((0,A.assert)(62!==e.parseTree.nodeType),t.typeAnnotation=e.parseTree,t.typeAnnotation.parent=t))}}return t}_reportConditionalErrorForStarTupleElement(e){if(52===e.nodeType&&!(e.enclosedInParens||this._parseOptions.pythonVersion>=g.PythonVersion.V3_8))for(const t of e.expressions)if(56===t.nodeType)return void this._addError(h.Localizer.Diagnostic.unpackTuplesIllegal(),t)}_isNextTokenNeverExpression(){switch(this._peekToken().type){case 8:switch(this._peekKeywordType()){case 17:case 22:case 20:return!0}break;case 9:switch(this._peekOperatorType()){case 1:case 34:case 27:case 11:case 25:case 4:case 7:case 9:case 18:case 32:case 30:case 14:case 2:return!0}break;case 3:case 4:case 2:case 1:case 11:case 14:case 16:case 18:case 12:case 10:return!0}return!1}_disallowAssignmentExpression(e){const t=this._assignmentExpressionsAllowed;this._assignmentExpressionsAllowed=!1,e(),this._assignmentExpressionsAllowed=t}_getNextToken(){const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);return this._atEof()||this._tokenIndex++,e}_atEof(){return this._tokenIndex>=this._tokenizerOutput.tokens.count-1}_peekToken(e=0){return this._tokenIndex+e<0?this._tokenizerOutput.tokens.getItemAt(0):this._tokenIndex+e>=this._tokenizerOutput.tokens.count?this._tokenizerOutput.tokens.getItemAt(this._tokenizerOutput.tokens.count-1):this._tokenizerOutput.tokens.getItemAt(this._tokenIndex+e)}_peekTokenType(){return this._peekToken().type}_peekKeywordType(){const e=this._peekToken();if(8===e.type)return e.keywordType}_peekOperatorType(){const e=this._peekToken();if(9===e.type)return e.operatorType}_getTokenIfIdentifier(){const e=this._peekToken();if(7===e.type)return this._getNextToken();if(0===e.type)return this._getNextToken(),this._addError(h.Localizer.Diagnostic.invalidIdentifierChar(),e),f.IdentifierToken.create(e.start,e.length,"",e.comments);if(8===e.type){const t=this._peekKeywordType();if(f.softKeywords.find((e=>e===t))){const t=this._fileContents.substr(e.start,e.length);return this._getNextToken(),f.IdentifierToken.create(e.start,e.length,t,e.comments)}}}_consumeTokensUntilType(e){for(;;){const t=this._peekToken();if(e.some((e=>e===t.type)))return!0;if(1===t.type)return!1;this._getNextToken()}}_getTokenIfType(e){if(this._peekTokenType()===e)return this._getNextToken()}_consumeTokenIfType(e){return!!this._getTokenIfType(e)}_consumeTokenIfKeyword(e){return this._peekKeywordType()===e&&(this._getNextToken(),!0)}_consumeTokenIfOperator(e){return this._peekOperatorType()===e&&(this._getNextToken(),!0)}_getKeywordToken(e){const t=this._getNextToken();return(0,A.assert)(8===t.type),(0,A.assert)(t.keywordType===e),t}_getLanguageVersion(){return this._parseOptions.pythonVersion}_suppressErrors(e){const t=this._areErrorsSuppressed;try{this._areErrorsSuppressed=!0,e()}finally{this._areErrorsSuppressed=t}}_addError(e,t){(0,A.assert)(void 0!==t),this._areErrorsSuppressed||this._diagSink.addError(e,(0,p.convertOffsetsToRange)(t.start,t.start+t.length,this._tokenizerOutput.lines))}}t.Parser=T},5136:(e,t)=>{"use strict";function n(e){return e>=48&&e<=57||e>=97&&e<=122||e>=65&&e<=90}function i(e){return e>=48&&e<=55}function s(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function r(e){return e>=48&&e<=57?e-48:e>=97&&e<=102?e-97+10:e>=65&&e<=70?e-65+10:0}Object.defineProperty(t,"__esModule",{value:!0}),t.getUnescapedString=void 0,t.getUnescapedString=function(e){const t=e.escapedValue,o=0!=(8&e.flags),a=0!=(64&e.flags);if(o&&!a)return{value:t,unescapeErrors:[],nonAsciiInBytes:!1,formatStringSegments:[]};const A=[];for(let e=0;e13===e||10===e||92===e)))return{value:t,unescapeErrors:[],nonAsciiInBytes:l&&A.some((e=>e>=128)),formatStringSegments:[]};let c=0,p={offset:0,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1},g=0;const u={valueParts:[],unescapeErrors:[],nonAsciiInBytes:!1,formatStringSegments:[]},d=()=>{o||u.unescapeErrors.push({offset:g-1,length:2,errorType:0})},h=(e=0)=>g+e>=A.length?3:A[g+e],C=e=>{let t=!1,n=0,i="";for(let i=0;i{const t=String.fromCharCode(e);u.valueParts.push(t),p.valueParts.push(t)};for(;;){let e=h();if(3===e)return a&&(p.isExpression&&u.unescapeErrors.push({offset:p.offset,length:g-p.offset,errorType:3}),g!==p.offset&&(p.length=g-p.offset,u.formatStringSegments.push(p))),f=u,{...f,value:f.valueParts.join(""),formatStringSegments:f.formatStringSegments.map((e=>({...e,value:e.valueParts.join("")})))};if(92===e){if(a&&p.isExpression&&!p.hasFormatSpecifier&&u.unescapeErrors.push({offset:g,length:1,errorType:1}),g++,o){m(e);continue}e=h();let t="";if(13===e||10===e)13===e&&10===h(1)&&(o&&(t+=String.fromCharCode(e)),g++,e=h()),o&&(t="\\"+t+String.fromCharCode(e)),g++;else if(o)t="\\"+String.fromCharCode(e),g++;else switch(e){case 92:case 39:case 34:t=String.fromCharCode(e),g++;break;case 97:t="",g++;break;case 98:t="\b",g++;break;case 102:t="\f",g++;break;case 110:t="\n",g++;break;case 114:t="\r",g++;break;case 116:t="\t",g++;break;case 118:t="\v",g++;break;case 120:t=C(2);break;case 78:{let i=!1,s=1;if(123!==h(s))i=!0;else for(s++;;){const e=h(s);if(125===e)break;if(!n(e)&&45!==e&&32!==(y=e)&&9!==y){i=!0;break}s++}i?(d(),t="\\"+String.fromCharCode(e),g++):(t="-",g+=1+s);break}case 117:t=C(4);break;case 85:t=C(8);break;default:if(i(e)){let n=e-48;g++,e=h(),i(e)&&(n=8*n+e-48,g++,e=h(),i(e)&&(n=8*n+e-48,g++)),t=String.fromCharCode(n)}else t="\\",d()}u.valueParts.push(t),p.valueParts.push(t)}else if(10===e||13===e)13===e&&10===h(1)&&(m(e),g++,e=h()),m(e),g++;else if(a&&123===e)p.isExpression||123!==h(1)?(0===c?(p.length=g-p.offset,p.length>0&&u.formatStringSegments.push(p),g++,p={offset:g,length:0,valueParts:[],isExpression:!0,hasFormatSpecifier:!1}):(m(e),g++),c++):(m(e),g+=2);else if(a&&125===e)p.isExpression||125!==h(1)?0===c?(u.unescapeErrors.push({offset:g,length:1,errorType:2}),g++):(c--,0===c?(p.length=g-p.offset,u.formatStringSegments.push(p),g++,p={offset:g,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1}):(m(e),g++)):(m(e),g+=2);else if(!p.isExpression||39!==e&&34!==e)p.isExpression&&58===e&&(p.hasFormatSpecifier=!0),l&&e>=128&&(u.nonAsciiInBytes=!0),m(e),g++;else{const t=e;m(e);const n=h(1)===t&&h(2)===t;for(n&&(g+=2,m(e),m(e),u.valueParts.push(String.fromCharCode(e)),u.valueParts.push(String.fromCharCode(e)));;){g++;let e=h();if(3===e)break;if(92!==e){if((10===e||13===e)&&!n)break;if(e===t){if(!n){g++,m(e);break}if(h(1)===t&&h(2)===t){g+=3,m(e),m(e),m(e);break}}m(e)}else m(e),g++,e=h(),m(e)}}}var y,f}},7093:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Tokenizer=t.defaultTabSize=void 0;const i=n(4221),s=n(3420),r=n(6956),o=n(9671),a=n(6180),A=new Map([["and",0],["as",1],["assert",2],["async",3],["await",4],["break",5],["case",6],["class",7],["continue",8],["__debug__",9],["def",10],["del",11],["elif",12],["else",13],["except",14],["finally",16],["for",17],["from",18],["global",19],["if",20],["import",21],["in",22],["is",23],["lambda",24],["match",25],["nonlocal",27],["not",28],["or",29],["pass",30],["raise",31],["return",32],["try",34],["type",35],["while",36],["with",37],["yield",38],["False",15],["None",26],["True",33]]),l={0:3,1:4,2:4,3:2,4:4,5:1,6:2,7:4,8:2,9:4,10:2,11:4,12:10,13:2,14:4,15:10,16:10,17:2,18:4,19:26,20:10,21:10,22:2,23:4,24:2,25:4,26:2,27:4,28:10,29:2,30:4,31:2,32:4,33:2,34:4,36:2,37:2,38:1,39:2,40:2,41:2,42:2};t.defaultTabSize=8,t.Tokenizer=class{constructor(){this._cs=new o.CharacterStream(""),this._tokens=[],this._prevLineStart=0,this._parenDepth=0,this._lineRanges=[],this._indentAmounts=[],this._typeIgnoreLines=new Map,this._pyrightIgnoreLines=new Map,this._crCount=0,this._crLfCount=0,this._lfCount=0,this._indentCount=0,this._indentTabCount=0,this._indentSpacesTotal=0,this._singleQuoteCount=0,this._doubleQuoteCount=0,this._ipythonMode=i.IPythonMode.None}tokenize(e,n,r,A=0,l=i.IPythonMode.None){if(void 0===n)n=0;else if(n<0||n>e.length)throw new Error(`Invalid range start (start=${n}, text.length=${e.length})`);if(void 0===r)r=e.length;else{if(r<0||n+r>e.length)throw new Error(`Invalid range length (start=${n}, length=${r}, text.length=${e.length})`);n+r=c)););0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(a.NewLineToken.create(this._cs.position,0,3,this._getComments())),this._setIndent(0,0,!1,!1),this._tokens.push(a.Token.create(1,this._cs.position,0,this._getComments())),this._addLineRange();let p="\n";this._crCount>this._crLfCount&&this._crCount>this._lfCount?p="\r":this._crLfCount>this._crCount&&this._crLfCount>this._lfCount&&(p="\r\n");let g=" ";if(this._indentTabCount>this._indentCount/2)g="\t";else if(this._indentCount>0){let e=Math.round(this._indentSpacesTotal/this._indentCount);e<1?e=1:e>t.defaultTabSize&&(e=t.defaultTabSize),g="";for(let t=0;t=this._doubleQuoteCount?"'":'"'}}static getOperatorInfo(e){return l[e]}static isOperatorAssignment(e){return void 0!==e&&void 0!==l[e]&&0!=(4&l[e])}static isOperatorComparison(e){return void 0!==e&&void 0!==l[e]&&0!=(8&l[e])}_addNextToken(){this._cs.skipWhitespace(),this._cs.isEndOfStream()||this._handleCharacter()||this._cs.moveNext()}_handleCharacter(){const e=this._getStringPrefixLength();if(e>=0){let t="";e>0&&(t=this._cs.getText().substring(this._cs.position,this._cs.position+e),this._cs.advance(e));const n=this._getQuoteTypeFlags(t);if(0!==n)return this._handleString(n,e),!0}if(35===this._cs.currentChar)return this._handleComment(),!0;if(this._ipythonMode&&this._isIPythonMagics())return this._handleIPythonMagics(37===this._cs.currentChar?1:2),!0;switch(this._cs.currentChar){case 65279:return 0!==this._cs.position&&this._handleInvalid();case 13:{const e=10===this._cs.nextChar?2:1,t=2===e?2:0;return this._handleNewLine(e,t),!0}case 10:return this._handleNewLine(1,1),!0;case 92:return 13===this._cs.nextChar?(10===this._cs.lookAhead(2)?this._cs.advance(3):this._cs.advance(2),this._addLineRange(),!0):10===this._cs.nextChar?(this._cs.advance(2),this._addLineRange(),!0):this._handleInvalid();case 40:this._parenDepth++,this._tokens.push(a.Token.create(13,this._cs.position,1,this._getComments()));break;case 41:this._parenDepth>0&&this._parenDepth--,this._tokens.push(a.Token.create(14,this._cs.position,1,this._getComments()));break;case 91:this._parenDepth++,this._tokens.push(a.Token.create(15,this._cs.position,1,this._getComments()));break;case 93:this._parenDepth>0&&this._parenDepth--,this._tokens.push(a.Token.create(16,this._cs.position,1,this._getComments()));break;case 123:this._parenDepth++,this._tokens.push(a.Token.create(17,this._cs.position,1,this._getComments()));break;case 125:this._parenDepth>0&&this._parenDepth--,this._tokens.push(a.Token.create(18,this._cs.position,1,this._getComments()));break;case 44:this._tokens.push(a.Token.create(12,this._cs.position,1,this._getComments()));break;case 96:this._tokens.push(a.Token.create(22,this._cs.position,1,this._getComments()));break;case 59:this._tokens.push(a.Token.create(11,this._cs.position,1,this._getComments()));break;case 58:if(61===this._cs.nextChar){this._tokens.push(a.OperatorToken.create(this._cs.position,2,35,this._getComments())),this._cs.advance(1);break}this._tokens.push(a.Token.create(10,this._cs.position,1,this._getComments()));break;default:if(this._isPossibleNumber()&&this._tryNumber())return!0;if(46===this._cs.currentChar){if(46===this._cs.nextChar&&46===this._cs.lookAhead(2))return this._tokens.push(a.Token.create(19,this._cs.position,3,this._getComments())),this._cs.advance(3),!0;this._tokens.push(a.Token.create(20,this._cs.position,1,this._getComments()));break}return!(!this._tryIdentifier()&&!this._tryOperator())||this._handleInvalid()}return!1}_addLineRange(){const e=this._cs.position-this._prevLineStart;e>0&&this._lineRanges.push({start:this._prevLineStart,length:e}),this._prevLineStart=this._cs.position}_handleNewLine(e,t){0===this._parenDepth&&3!==t&&(0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(a.NewLineToken.create(this._cs.position,e,t,this._getComments()))),0===t?this._crCount++:2===t?this._crLfCount++:this._lfCount++,this._cs.advance(e),this._addLineRange(),this._readIndentationAfterNewLine()}_readIndentationAfterNewLine(){let e=0,n=0,i=!1,s=!1;for(;!this._cs.isEndOfStream();)switch(this._cs.currentChar){case 32:e++,n++,s=!0,this._cs.moveNext();break;case 9:e++,n+=t.defaultTabSize-n%t.defaultTabSize,i=!0,this._cs.moveNext();break;case 12:e=0,n=0,i=!1,s=!1,this._cs.moveNext();break;default:return void this._setIndent(e,n,s,i);case 35:case 10:case 13:return}}_setIndent(e,t,n,i){if(!(this._parenDepth>0))if(0===this._indentAmounts.length)t>0&&(this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(a.IndentToken.create(this._cs.position,0,t,!1,this._getComments())));else{const s=this._indentAmounts[this._indentAmounts.length-1];if(s.tab8Spaces=e;this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t-this._indentAmounts[this._indentAmounts.length-1].tab8Spaces,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(a.IndentToken.create(this._cs.position,0,t,r,this._getComments()))}else if(s.tab8Spaces===t)(s.isSpacePresent&&i||s.isTabPresent&&n)&&this._tokens.push(a.IndentToken.create(this._cs.position,0,t,!0,this._getComments()));else{let e=s.isSpacePresent&&i||s.isTabPresent&&n;const r=[];for(;this._indentAmounts.length>0&&this._indentAmounts[this._indentAmounts.length-1].tab8Spaces>t;)r.push(this._indentAmounts.length>1?this._indentAmounts[this._indentAmounts.length-2].tab8Spaces:0),this._indentAmounts.pop();r.forEach(((n,i)=>{const s=i{for(;;)if((0,r.isIdentifierChar)(this._cs.currentChar))this._cs.moveNext();else{if(!(0,r.isIdentifierChar)(this._cs.currentChar,this._cs.nextChar))break;this._cs.moveNext(),this._cs.moveNext()}},t=this._cs.position;if((0,r.isIdentifierStartChar)(this._cs.currentChar)?(this._cs.moveNext(),e()):(0,r.isIdentifierStartChar)(this._cs.currentChar,this._cs.nextChar)&&(this._cs.moveNext(),this._cs.moveNext(),e()),this._cs.position>t){const e=this._cs.getText().substring(t,this._cs.position);return A.has(e)?this._tokens.push(a.KeywordToken.create(t,this._cs.position-t,A.get(e),this._getComments())):this._tokens.push(a.IdentifierToken.create(t,this._cs.position-t,e,this._getComments())),!0}return!1}_isPossibleNumber(){return!!(0,r.isDecimal)(this._cs.currentChar)||!(46!==this._cs.currentChar||!(0,r.isDecimal)(this._cs.nextChar))}_tryNumber(){const e=this._cs.position;if(48===this._cs.currentChar){let t=0,n=0;if(120!==this._cs.nextChar&&88!==this._cs.nextChar||!(0,r.isHex)(this._cs.lookAhead(2)))if(98!==this._cs.nextChar&&66!==this._cs.nextChar||!(0,r.isBinary)(this._cs.lookAhead(2))){if((111===this._cs.nextChar||79===this._cs.nextChar)&&(0,r.isOctal)(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;(0,r.isOctal)(this._cs.currentChar);)this._cs.moveNext();t=8}}else{for(this._cs.advance(2),n=2;(0,r.isBinary)(this._cs.currentChar);)this._cs.moveNext();t=2}else{for(this._cs.advance(2),n=2;(0,r.isHex)(this._cs.currentChar);)this._cs.moveNext();t=16}if(t>0){const i=this._cs.getText().substring(e,this._cs.position),s=i.replace(/_/g,"");let r=parseInt(s.substring(n),t);if(!isNaN(r)){const t=BigInt(s);return isFinite(r)&&BigInt(r)===t||(r=t),this._tokens.push(a.NumberToken.create(e,i.length,r,!0,!1,this._getComments())),!0}}}let t=!1,n=!1;if(this._cs.currentChar>=49&&this._cs.currentChar<=57){for(;(0,r.isDecimal)(this._cs.currentChar);)n=!0,this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(48===this._cs.currentChar){for(n=!0;48===this._cs.currentChar||95===this._cs.currentChar;)this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(t){let t=this._cs.getText().substring(e,this._cs.position);const n=t.replace(/_/g,"");let i=parseInt(n,10);if(!isNaN(i)){let s=!1;const r=BigInt(n);return isFinite(i)&&BigInt(i)===r||(i=r),106!==this._cs.currentChar&&74!==this._cs.currentChar||(s=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(a.NumberToken.create(e,t.length,i,!0,s,this._getComments())),!0}}if(this._cs.position=e,(n||46===this._cs.currentChar&&this._cs.nextChar>=48&&this._cs.nextChar<=57)&&this._skipFloatingPointCandidate()){let t=this._cs.getText().substring(e,this._cs.position);const n=parseFloat(t);if(!isNaN(n)){let i=!1;return 106!==this._cs.currentChar&&74!==this._cs.currentChar||(i=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(a.NumberToken.create(e,this._cs.position-e,n,!1,i,this._getComments())),!0}}return this._cs.position=e,!1}_tryOperator(){let e=0;const t=this._cs.nextChar;let n;switch(this._cs.currentChar){case 43:e=61===t?2:1,n=2===e?1:0;break;case 38:e=61===t?2:1,n=2===e?4:3;break;case 124:e=61===t?2:1,n=2===e?7:6;break;case 94:e=61===t?2:1,n=2===e?9:8;break;case 61:e=61===t?2:1,n=2===e?12:2;break;case 33:if(61!==t)return!1;e=2,n=28;break;case 37:e=61===t?2:1,n=2===e?25:24;break;case 126:e=1,n=5;break;case 45:if(62===t)return this._tokens.push(a.Token.create(21,this._cs.position,2,this._getComments())),this._cs.advance(2),!0;e=61===t?2:1,n=2===e?34:33;break;case 42:42===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?30:29):(e=61===t?2:1,n=2===e?27:26);break;case 47:47===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?14:13):(e=61===t?2:1,n=2===e?11:10);break;case 60:60===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?18:17):62===t?(e=2,n=19):(e=61===t?2:1,n=2===e?21:20);break;case 62:62===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?32:31):(e=61===t?2:1,n=2===e?16:15);break;case 64:e=61===t?2:1,n=2===e?23:22;break;default:return!1}return this._tokens.push(a.OperatorToken.create(this._cs.position,e,n,this._getComments())),this._cs.advance(e),e>0}_handleInvalid(){const e=this._cs.position;for(;10!==this._cs.currentChar&&13!==this._cs.currentChar&&!this._cs.isAtWhiteSpace()&&!this._cs.isEndOfStream();)(0,r.isSurrogateChar)(this._cs.currentChar)?(this._cs.moveNext(),this._cs.moveNext()):this._cs.moveNext();const t=this._cs.position-e;return t>0&&(this._tokens.push(a.Token.create(0,e,t,this._getComments())),!0)}_getComments(){const e=this._comments;return this._comments=void 0,e}_isIPythonMagics(){const e=this._tokens.length>0?this._tokens[this._tokens.length-1]:void 0;return!(void 0!==e&&2!==e.type&&3!==e.type||37!==this._cs.currentChar&&33!==this._cs.currentChar)}_handleIPythonMagics(e){const t=this._cs.position+1;let n=t;do{this._cs.skipToEol();const e=this._cs.position-n;if(!this._cs.getText().substring(n,n+e).match(/\\\s*$/))break;n=this._cs.position+1}while(!this._cs.isEndOfStream());const i=this._cs.position-t,s=this._cs.getText().substring(t,t+i),r=a.Comment.create(t,i,s,e);this._addComments(r)}_handleComment(){const e=this._cs.position+1;this._cs.skipToEol();const t=this._cs.position-e,n=this._cs.getText().substring(e,e+t),i=a.Comment.create(e,t,n),s=n.match(/^\s*type:\s*ignore(\s*\[([\s*\w-,]*)\]|\s|$)/);if(s){const t={range:{start:e,length:s[0].length},rulesList:this._getIgnoreCommentRulesList(e,s)};this._tokens.findIndex((e=>2!==e.type&&e&&3!==e.type))<0?this._typeIgnoreAll=t:this._typeIgnoreLines.set(this._lineRanges.length,t)}const r=n.match(/^\s*pyright:\s*ignore(\s*\[([\s*\w-,]*)\]|\s|$)/);if(r){const t={range:{start:e,length:r[0].length},rulesList:this._getIgnoreCommentRulesList(e,r)};this._pyrightIgnoreLines.set(this._lineRanges.length,t)}this._addComments(i)}_getIgnoreCommentRulesList(e,t){if(t.length<3||void 0===t[2])return;const n=t[2].split(","),i=[];let s=e+t[0].indexOf("[")+1;for(const e of n){const t=e.trimStart();s+=e.length-t.length;const n=t.trimEnd();n.length>0&&i.push({range:{start:s,length:n.length},text:n}),s+=t.length+1}return i}_addComments(e){this._comments?this._comments.push(e):this._comments=[e]}_getStringPrefixLength(){if(39===this._cs.currentChar||34===this._cs.currentChar)return 0;if(39===this._cs.nextChar||34===this._cs.nextChar)switch(this._cs.currentChar){case 102:case 70:case 114:case 82:case 98:case 66:case 117:case 85:return 1}if(39===this._cs.lookAhead(2)||34===this._cs.lookAhead(2))switch(this._cs.getText().substring(this._cs.position,this._cs.position+2).toLowerCase()){case"rf":case"fr":case"ur":case"ru":case"br":case"rb":return 2}return-1}_getQuoteTypeFlags(e){let t=0;e=e.toLowerCase();for(let n=0;n32768&&(i=i.slice(0,32768),e|=131072),{escapedValue:String.fromCharCode.apply(void 0,i),flags:e}}_skipFloatingPointCandidate(){const e=this._cs.position;return this._skipFractionalNumber(),this._cs.position>e&&(101!==this._cs.currentChar&&69!==this._cs.currentChar||(this._cs.moveNext(),this._skipDecimalNumber(!0))),this._cs.position>e}_skipFractionalNumber(){this._skipDecimalNumber(!1),46===this._cs.currentChar&&this._cs.moveNext(),this._skipDecimalNumber(!1)}_skipDecimalNumber(e){for(!e||45!==this._cs.currentChar&&43!==this._cs.currentChar||this._cs.moveNext();(0,r.isDecimal)(this._cs.currentChar);)this._cs.moveNext()}}},6180:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IdentifierToken=t.OperatorToken=t.NumberToken=t.StringToken=t.KeywordToken=t.NewLineToken=t.DedentToken=t.IndentToken=t.Token=t.Comment=t.softKeywords=void 0,t.softKeywords=[9,25,6,35],(t.Comment||(t.Comment={})).create=function(e,t,n,i=0){return{type:i,start:e,length:t,value:n}},(t.Token||(t.Token={})).create=function(e,t,n,i){return{start:t,length:n,type:e,comments:i}},(t.IndentToken||(t.IndentToken={})).create=function(e,t,n,i,s){return{start:e,length:t,type:3,isIndentAmbiguous:i,comments:s,indentAmount:n}},(t.DedentToken||(t.DedentToken={})).create=function(e,t,n,i,s,r){return{start:e,length:t,type:4,comments:r,indentAmount:n,matchesIndent:i,isDedentAmbiguous:s}},(t.NewLineToken||(t.NewLineToken={})).create=function(e,t,n,i){return{start:e,length:t,type:2,comments:i,newLineType:n}},(t.KeywordToken||(t.KeywordToken={})).create=function(e,t,n,i){return{start:e,length:t,type:8,comments:i,keywordType:n}},(t.StringToken||(t.StringToken={})).create=function(e,t,n,i,s,r){return{start:e,length:t,type:5,flags:n,escapedValue:i,prefixLength:s,quoteMarkLength:4&n?3:1,comments:r}},(t.NumberToken||(t.NumberToken={})).create=function(e,t,n,i,s,r){return{start:e,length:t,type:6,isInteger:i,isImaginary:s,value:n,comments:r}},(t.OperatorToken||(t.OperatorToken={})).create=function(e,t,n,i){return{start:e,length:t,type:9,operatorType:n,comments:i}},(t.IdentifierToken||(t.IdentifierToken={})).create=function(e,t,n,i){return{start:e,length:t,type:7,value:n.normalize("NFKC"),comments:i}}},7770:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.unicodePc=t.unicodeNdSurrogate=t.unicodeNd=t.unicodeMcSurrogate=t.unicodeMc=t.unicodeMnSurrogate=t.unicodeMn=t.unicodeNlSurrogate=t.unicodeNl=t.unicodeLmSurrogate=t.unicodeLm=t.unicodeLoSurrogate=t.unicodeLo=t.unicodeLt=t.unicodeLlSurrogate=t.unicodeLl=t.unicodeLuSurrogate=t.unicodeLu=void 0,t.unicodeLu=[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,[978,980],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8120,8123],[8136,8139],[8152,8155],[8168,8172],[8184,8187],8450,8455,[8459,8461],[8464,8466],8469,[8473,8477],8484,8486,8488,[8490,8493],[8496,8499],[8510,8511],8517,8579,[11264,11310],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,[65313,65338],[66560,66599],[66736,66771],[68736,68786],[71840,71871],[119808,119833],[119860,119885],[119912,119937],119964,[119966,119967],119970,[119973,119974],[119977,119980],[119982,119989],[120016,120041],[120068,120069],[120071,120074],[120077,120084],[120086,120092],[120120,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120172,120197],[120224,120249],[120276,120301],[120328,120353],[120380,120405],[120432,120457],[120488,120512],[120546,120570],[120604,120628],[120662,120686],[120720,120744],120778,[125184,125217]],t.unicodeLuSurrogate={55297:[[56320,56359],[56496,56531]],55299:[[56448,56498]],55302:[[56480,56511]],55323:[[56896,56927]],55349:[[56320,56345],[56372,56397],[56424,56449],56476,[56478,56479],56482,[56485,56486],[56489,56492],[56494,56501],[56528,56553],[56580,56581],[56583,56586],[56589,56596],[56598,56604],[56632,56633],[56635,56638],[56640,56644],56646,[56650,56656],[56684,56709],[56736,56761],[56788,56813],[56840,56865],[56892,56917],[56944,56969],[57e3,57024],[57058,57082],[57116,57140],[57174,57198],[57232,57256],[57290,57290]],55354:[[56576,56609]]},t.unicodeLl=[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,[311,312],314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,[396,397],402,405,[409,411],414,417,419,421,424,[426,427],429,432,436,438,[441,442],[445,447],454,457,460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,[563,569],572,[575,576],578,583,585,587,589,[591,659],[661,687],881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,[1019,1020],[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1377,1415],[5112,5117],[7296,7304],[7424,7467],[7531,7543],[7545,7578],7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7837],7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8458,[8462,8463],8467,8495,8500,8505,[8508,8509],[8518,8521],8526,8580,[11312,11358],11361,[11365,11366],11368,11370,11372,11377,[11379,11380],[11382,11387],11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,[11491,11492],11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,2581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,[42799,42801],42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,[42865,42872],42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,[42899,42901],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,43002,[43824,43866],[43872,43877],[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[68800,68850],[71872,71903],[119834,119859],[119886,119892],[119894,119911],[119938,119963],[119990,119993],119995,[119997,120003],[120005,120015],[120042,120067],[120094,120119],[120146,120171],[120198,120223],[120250,120275],[120302,120327],[120354,120379],[120406,120431],[120458,120485],[120514,120538],[120540,120545],[120572,120596],[120598,120603],[120630,120654],[120656,120661],[120688,120712],[120714,120719],[120746,120770],[120772,120777],120779,[125218,125251]],t.unicodeLlSurrogate={55297:[[56360,56399],[56536,56571]],55299:[[56512,56562]],55302:[[56512,56543]],55323:[[56928,56959]],55349:[[56346,56371],[56398,56404],[56406,56423],[56450,56475],[56502,56505],56507,[56509,56515],[56517,56527],[56554,56579],[56606,56631],[56658,56683],[56710,56735],[56762,56787],[56814,56839],[56866,56891],[56918,56943],[56970,56997],[57026,57050],[57052,57057],[57084,57108],[57110,57115],[57142,57166],[57168,57173],[57200,57224],[57226,57231],[57258,57282],[57284,57289],[57291,57291]],55354:[[56610,56643]]},t.unicodeLt=[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],t.unicodeLo=[170,186,443,[448,451],660,[1488,1514],[1520,1522],[1568,1599],[1601,1610],[1646,1647],[1649,1747],1749,[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2048,2069],[2112,2136],[2144,2154],[2208,2228],[2230,2237],[2308,2361],2365,2384,[2392,2401],[2418,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,3294,[3296,3297],[3313,3314],[3333,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3653],[3713,3714],3716,[3719,3720],3722,3725,[3732,3735],[3737,3743],[3745,3747],3749,3751,[3754,3755],[3757,3760],[3762,3763],3773,[3776,3780],[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4304,4346],[4349,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5873,5880],[5888,5900],[5902,5905],[5920,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6108,[6176,6210],[6212,6263],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],[6917,6963],[6981,6987],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7287],[7401,7404],[7406,7409],[7413,7414],[8501,8504],[11568,11623],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],12294,12348,[12353,12438],12447,[12449,12538],12543,[12549,12590],[12593,12686],[12704,12730],[12784,12799],[13312,19893],[19968,40938],[40960,40980],[40982,42124],[42192,42231],[42240,42507],[42512,42527],[42538,42539],42606,[42656,42725],42895,42999,[43003,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,43261,[43274,43301],[43312,43334],[43360,43388],[43396,43442],[43488,43492],[43495,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43631],[43633,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43740],[43744,43754],43762,[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43968,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65382,65391],[65393,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[66176,66204],[66208,66256],[66304,66335],[66349,66368],[66370,66377],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66640,66717],[66816,66855],[66864,66915],[67072,67382],[67392,67413],[67424,67431],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68147],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[69635,69687],[69763,69807],[69840,69864],[69891,69926],[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],[71424,71449],71935,72192,[72203,72242],72250,72272,[72284,72323],[72326,72329],[72384,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73728,74649],[74880,75075],[77824,78894],[82944,83526],[92160,92728],[92736,92766],[92880,92909],[92928,92975],[93027,93047],[93053,93071],[93952,94020],94032,[94208,100332],[100352,101106],[110592,110878],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[124928,125124],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173782],[173824,177972],[177984,178205],[178208,183969],[183984,191456],[194560,195101]],t.unicodeLoSurrogate={55296:[[56320,56331],[56333,56358],[56360,56378],[56380,56381],[56383,56397],[56400,56413],[56448,56570],[56960,56988],[56992,57040],[57088,57119],[57133,57152],[57154,57161],[57168,57205],[57216,57245],[57248,57283],[57288,57295]],55297:[[56400,56477],[56576,56615],[56624,56675],[56832,57142],[57152,57173],[57184,57191]],55298:[[56320,56325],[56328,56328],[56330,56373],[56375,56376],[56380,56380],[56383,56405],[56416,56438],[56448,56478],[56544,56562],[56564,56565],[56576,56597],[56608,56633],[56704,56759],[56766,56767],[56832,56832],[56848,56851],[56853,56855],[56857,56885],[56928,56956],[56960,56988],[57024,57031],[57033,57060],[57088,57141],[57152,57173],[57184,57202],[57216,57233]],55299:[[56320,56392],[56576,56611],[56960,57001],[57008,57009],[57088,57116],57127,[57136,57157],[57264,57284],[57312,57334]],55300:[[56323,56375],[56451,56495],[56528,56552],[56579,56614],56644,56647,[56656,56690],56694,[56707,56754],[56769,56772],56794,56796,[56832,56849],[56851,56875],[56960,56966],56968,[56970,56973],[56975,56989],[56991,57e3],[57008,57054],[57093,57100],[57103,57104],[57107,57128],[57130,57136],[57138,57139],[57141,57145],57149,57168,[57181,57185]],55301:[[56320,56372],[56391,56394],[56415,56417],[56448,56495],[56516,56517],56519,[56704,56750],[56792,56795],[56832,56879],56900,[56960,57002],57016,[57088,57114]],55302:[[56320,56363],[56575,56582],56585,[56588,56595],[56597,56598],[56600,56623],56639,56641,[56736,56743],[56746,56784],56801,56803,56832,[56843,56882],56890,56912,[56924,56969],56989,[57024,57080]],55303:[[56320,56328],[56330,56366],56384,56434,[56576,56582],[56584,56585],[56587,56624],56646,[56672,56677],[56679,56680],[56682,56713],56728,[57056,57074],57264],55304:[[56320,57241]],55305:[[56448,56643]],55308:[[56320,57343]],55309:[[56320,56366]],55313:[[56320,56902]],55322:[[56320,56888],[56896,56926],[57040,57069],[57088,57135],[57187,57207],[57213,57231]],55323:[[57088,57162],57168],55324:[56320],55329:[57335],55330:[[56320,57343]],55331:[[56320,56533],[56576,56576],[56584,56584]],55340:[[56320,56606],[56656,56658],[56676,56679],[56688,57083]],55343:[[56320,56426],[56432,56444],[56448,56456],[56464,56473]],55352:[[56576,56620],56654,[57024,57067]],55354:[[56320,56516]],55355:[[56832,56835],[56837,56863],[56865,56866],56868,56871,[56873,56882],[56884,56887],56889,56891,56898,56903,56905,56907,[56909,56911],[56913,56914],56916,56919,56921,56923,56925,56927,[56929,56930],56932,[56935,56938],[56940,56946],[56948,56951],[56953,56956],56958,[56960,56969],[56971,56987],[56993,56995],[56997,57001],[57003,57019]],55360:[56320],55401:[57053,57088],55405:[57140,57152],55406:[56349,56352],55411:[56993,57008],55418:[57312],55422:[[56320,56861]],55424:[56320],55428:[57162]},t.unicodeLm=[[688,705],[710,721],[736,740],748,750,884,890,1369,1600,[1765,1766],[2036,2037],2042,2074,2084,2088,2417,3654,3782,4348,6103,6211,6823,[7288,7293],[7468,7530],7544,[7579,7615],8305,8319,[8336,8348],[11388,11389],11631,11823,12293,[12337,12341],12347,[12445,12446],[12540,12542],40981,[42232,42237],42508,42623,[42652,42653],[42775,42783],42864,42888,[43e3,43001],43471,43494,43632,43741,[43763,43764],[43868,43871],65392,[65438,65439],[92992,92995],[94099,94111],[94176,94177]],t.unicodeLmSurrogate={55322:[[57152,57155]],55323:[[57235,57247],[57312,57313],57315],55352:[[56631,56637]],55354:[56651]},t.unicodeNl=[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862]],t.unicodeNlSurrogate={55296:[[56640,56692],57153,57162,[57297,57301]],55305:[[56320,56430]]},t.unicodeMn=[[768,879],[1155,1159],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2260,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,[2497,2500],2509,[2530,2531],[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,2902,[2914,2915],2946,3008,3021,3072,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3270,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3530,[3538,3540],3542,3633,[3636,3642],[3655,3662],3761,[3764,3769],[3771,3772],[3784,3789],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6845],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7673],[7675,7679],[8400,8412],8417,[8421,8432],[11503,11505],11647,[11744,11775],[12330,12333],[12441,12442],42607,[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],[43204,43205],[43232,43249],[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],43452,43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],69633,[69688,69702],[69759,69761],[69811,69814],[69817,69818],[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70090,70092],[70191,70193],70196,[70198,70199],70206,70367,[70371,70378],[70400,70401],70460,70464,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[72193,72198],[72201,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[92912,92916],[92976,92982],[94095,94098],[113821,113822],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[125136,125142],[125252,125258],[917760,917999]],t.unicodeMnSurrogate={55296:[56829,57056,[57206,57210]],55298:[[56833,56835],[56837,56838],[56844,56847],[56888,56890],56895,[57061,57062]],55299:[[56612,56615],[57003,57004],[57158,57168]],55300:[56321,[56376,56390],[56447,56449],[56499,56502],[56505,56506],[56576,56578],[56615,56619],[56621,56628],56691,[56704,56705],[56758,56766],[56777,56780],56783,[56879,56881],56884,[56886,56887],56894,57055,[57059,57066],[57088,57089],[57147,57148],57152,[57190,57196],[57200,57204]],55301:[[56376,56383],[56386,56388],56390,56414,[56499,56504],56506,[56511,56512],[56514,56515],[56754,56757],[56764,56765],[56767,56768],[56796,56797],[56883,56890],56893,[56895,56896],57003,57005,[57008,57013],57015,[57117,57119],[57122,57125],[57127,57131]],55302:[[56367,56375],[56377,56378],[56635,56636],56638,56643,[56788,56791],[56794,56795],56800,[56833,56842],[56883,56888],[56891,56894],56903,[56913,56918],[56921,56923],[56970,56982],[56984,56985]],55303:[[56368,56374],[56376,56381],56383,[56466,56487],[56490,56496],[56498,56499],[56501,56502],[56625,56630],56634,[56636,56637],[56639,56645],56647,[56720,56721],56725,56727,[57075,57076]],55322:[[57072,57076],[57136,57142]],55323:[57167,[57231,57234],57316],55343:[[56477,56478]],55348:[[56679,56681],[56699,56706],[56709,56715],[56746,56749],[56898,56900]],55350:[[56832,56886],[56891,56940],56949,56964,[56987,56991],[56993,57007]],55352:[[56320,56326],[56328,56344],[56347,56353],[56355,56356],[56358,56362],[56624,56630],[57068,57071]],55354:[[56528,56534],[56644,56650]],56128:[[56576,56815]]},t.unicodeMc=[2307,2363,[2366,2368],[2377,2380],[2382,2383],[2434,2435],[2494,2496],[2503,2504],[2507,2508],2519,2563,[2622,2624],2691,[2750,2752],2761,[2763,2764],[2818,2819],2878,2880,[2887,2888],[2891,2892],2903,[3006,3007],[3009,3010],[3014,3016],[3018,3020],3031,[3073,3075],[3137,3140],[3202,3203],3262,[3264,3268],[3271,3272],[3274,3275],[3285,3286],[3330,3331],[3390,3392],[3398,3400],[3402,3404],3415,[3458,3459],[3535,3537],[3544,3551],[3570,3571],[3902,3903],3967,[4139,4140],4145,4152,[4155,4156],[4182,4183],[4194,4196],[4199,4205],[4227,4228],[4231,4236],4239,[4250,4252],6070,[6078,6085],[6087,6088],[6435,6438],[6441,6443],[6448,6449],[6451,6456],[6681,6682],6741,6743,6753,[6755,6756],[6765,6770],6916,6965,6971,[6973,6977],[6979,6980],7042,7073,[7078,7079],7082,7143,[7146,7148],7150,[7154,7155],[7204,7211],[7220,7221],7393,[7410,7411],7415,[12334,12335],[43043,43044],43047,[43136,43137],[43188,43203],[43346,43347],43395,[43444,43445],[43450,43451],[43453,43456],[43567,43568],[43571,43572],43597,43643,43645,43755,[43758,43759],43765,[44003,44004],[44006,44007],[44009,44010],44012,69632,69634,69762,[69808,69810],[69815,69816],69932,70018,[70067,70069],[70079,70080],[70188,70190],[70194,70195],70197,[70368,70370],[70402,70403],[70462,70463],[70465,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70709,70711],[70720,70721],70725,[70832,70834],70841,[70843,70846],70849,[71087,71089],[71096,71099],71102,[71216,71218],[71227,71228],71230,71340,[71342,71343],71350,[71456,71457],71462,[72199,72200],72249,[72279,72280],72343,72751,72766,72873,72881,72884,[94033,94078],[119141,119142],[119149,119154]],t.unicodeMcSurrogate={55300:[56320,56322,56450,[56496,56498],[56503,56504],56620,[56645,56646],56706,[56755,56757],[56767,56768],56782,[56876,56878],[56882,56883],56885,[57056,57058],[57090,57091],[57150,57151],[57153,57156],[57159,57160],[57163,57165],57175,[57186,57187]],55301:[[56373,56375],[56384,56385],56389,[56496,56498],56505,[56507,56510],56513,[56751,56753],[56760,56763],56766,[56880,56882],[56891,56892],56894,57004,[57006,57007],57014,[57120,57121],57126],55302:[[56364,56366],56376,[56624,56629],[56631,56632],56637,56640,56642,[56785,56787],[56796,56799],56804,56889,[56919,56920],56983],55303:[56367,56382,56489,56497,56500,[56714,56718],[56723,56724],56726,[57077,57078]],55323:[[57169,57223],[57328,57329]],55348:[[56677,56678],[56685,56690]]},t.unicodeNd=[[48,57],[1632,1641],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[66720,66729],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71481],[71904,71913],[72784,72793],[73040,73049],[92768,92777],[93008,93017],[120782,120831],[125264,125273]],t.unicodeNdSurrogate={55297:[[56480,56489]],55299:[[56624,56633]],55300:[[56422,56431],[56560,56569],[56630,56639],[56784,56793],[57072,57081]],55301:[[56400,56409],[56528,56537],[56912,56921],[57024,57033],[57136,57145]],55302:[[56544,56553],56656],55303:[[56400,56409],[56656,56665],[56736,56745]],55322:[[56928,56937],[57168,57177]],55349:[[57294,57343]],55352:[[56640,56649],[57072,57081]],55354:[[56656,56665]],55358:[[57328,57337]]},t.unicodePc=[95,[8255,8256],8276,[65075,65076],[65101,65103],65343]},1447:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PyrightFileSystem=t.SupportUriToPathMapping=t.SupportPartialStubs=void 0;const i=n(1277),s=n(3188),r=n(6657),o=n(9459);(t.SupportPartialStubs||(t.SupportPartialStubs={})).is=function(e){return e.isPartialStubPackagesScanned&&e.isPathScanned&&e.processPartialStubPackages&&e.clearPartialStubs},(t.SupportUriToPathMapping||(t.SupportUriToPathMapping={})).is=function(e){return e.hasUriMapEntry&&e.addUriMap&&e.removeUriMap&&e.pendingRequest};class a extends o.ReadOnlyAugmentedFileSystem{constructor(e){super(e),this._rootSearched=new Set,this._partialStubPackagePaths=new Set,this._customUriMap=new Map}mkdirSync(e,t){this._realFS.mkdirSync(e,t)}chdir(e){this._realFS.chdir(e)}writeFileSync(e,t,n){this._realFS.writeFileSync(this._getOriginalPath(e),t,n)}unlinkSync(e){this._realFS.unlinkSync(this._getOriginalPath(e))}createWriteStream(e){return this._realFS.createWriteStream(this._getOriginalPath(e))}copyFileSync(e,t){this._realFS.copyFileSync(this._getOriginalPath(e),this._getOriginalPath(t))}getUri(e){const t=this._customUriMap.get(this.getMappedFilePath(e));return t?t.uri:this._realFS.getUri(e)}hasUriMapEntry(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e)}addUriMap(e,t){const n=this._customUriMap.get(t);return n?n.uri===e&&(n.closed=!1,!0):(this._customUriMap.set(t,{uri:e,closed:!1,hasPendingRequest:!1}),!0)}removeUriMap(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e||(n.hasPendingRequest?(n.closed=!0,0):(this._customUriMap.delete(t),0)))}pendingRequest(e,t){const n=this._customUriMap.get(e);n&&(t||!n.closed?n.hasPendingRequest=t:this._customUriMap.delete(e))}isPartialStubPackagesScanned(e){var t;return this.isPathScanned(null!==(t=e.root)&&void 0!==t?t:"")}isPathScanned(e){return this._rootSearched.has(e)}processPartialStubPackages(e,t,n){var o;for(const a of e){if(this._rootSearched.add(a),!this._realFS.existsSync(a)||!(0,r.isDirectory)(this._realFS,a))continue;let e=[];try{e=this._realFS.readdirEntriesSync(a)}catch{}const A=a===n;for(const n of e){const e=(0,r.combinePaths)(a,n.name);if(!(n.isSymbolicLink()?null===(o=(0,r.tryStat)(this._realFS,e))||void 0===o?void 0:o.isDirectory():n.isDirectory())||!n.name.endsWith(s.stubsSuffix))continue;const l=(0,i.getPyTypedInfo)(this._realFS,e);if(!l||!l.isPartiallyTyped)continue;let c;this._partialStubPackagePaths.add(e);const p=n.name.substr(0,n.name.length-s.stubsSuffix.length);for(const n of t){const t=(0,r.combinePaths)(n,p);try{const n=(0,r.tryStat)(this._realFS,t);if(!(null==n?void 0:n.isDirectory()))continue;if(A){const e=(0,i.getPyTypedInfo)(this._realFS,t);if(e&&!e.isPartiallyTyped)continue}c=null!=c?c:this._getRelativePathPartialStubs(e);for(const n of c){const i=(0,r.combinePaths)(e,n),s=(0,r.combinePaths)(t,n);this._recordMovedEntry(s,i)}}catch{}}}}}clearPartialStubs(){super._clear(),this._rootSearched.clear(),this._partialStubPackagePaths.clear()}_getRelativePathPartialStubs(e){const t=[],n=(0,r.ensureTrailingDirectorySeparator)(e).length,i=e=>{for(const s of this._realFS.readdirEntriesSync(e)){const o=(0,r.combinePaths)(e,s.name);let a=s.isDirectory(),A=s.isFile();if(s.isSymbolicLink()){const e=(0,r.tryStat)(this._realFS,o);e&&(a=e.isDirectory(),A=e.isFile())}if(a&&i(o),A&&s.name.endsWith(".pyi")){const e=o.substring(n);e&&t.push(e)}}};return i(e),t}_isMovedEntry(e){return this._partialStubPackagePaths.has(e)||super._isMovedEntry(e)}}t.PyrightFileSystem=a},9459:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadOnlyAugmentedFileSystem=void 0;const i=n(9489),s=n(7830),r=n(6657);t.ReadOnlyAugmentedFileSystem=class{constructor(e){this._realFS=e,this._entryMap=new Map,this._reverseEntryMap=new Map,this._folderMap=new Map}existsSync(e){return!this._isMovedEntry(e)&&this._realFS.existsSync(this._getOriginalPath(e))}mkdirSync(e,t){throw new Error("Operation is not allowed.")}chdir(e){throw new Error("Operation is not allowed.")}readdirEntriesSync(e){const t=(0,r.ensureTrailingDirectorySeparator)(e),n=[],i=this._folderMap.get(t);return i&&!this._realFS.existsSync(e)||n.push(...this._realFS.readdirEntriesSync(e).filter((t=>!this._isMovedEntry((0,r.combinePaths)(e,t.name))&&!(null==i?void 0:i.some((e=>e.name===t.name)))))),i?n.concat(i.map((e=>new s.VirtualDirent(e.name,e.isFile)))):n}readdirSync(e){return this.readdirEntriesSync(e).map((e=>e.name))}readFileSync(e,t){return this._realFS.readFileSync(this._getOriginalPath(e),t)}writeFileSync(e,t,n){throw new Error("Operation is not allowed.")}statSync(e){return this._realFS.statSync(this._getOriginalPath(e))}unlinkSync(e){throw new Error("Operation is not allowed.")}realpathSync(e){return this._entryMap.has(e)?e:this._realFS.realpathSync(e)}getModulePath(){return this._realFS.getModulePath()}createFileSystemWatcher(e,t){return this._realFS.createFileSystemWatcher(e,t)}createReadStream(e){return this._realFS.createReadStream(this._getOriginalPath(e))}createWriteStream(e){throw new Error("Operation is not allowed.")}copyFileSync(e,t){throw new Error("Operation is not allowed.")}readFile(e){return this._realFS.readFile(this._getOriginalPath(e))}readFileText(e,t){return this._realFS.readFileText(this._getOriginalPath(e),t)}tmpdir(){return this._realFS.tmpdir()}tmpfile(e){return this._realFS.tmpfile(e)}realCasePath(e){return this._realFS.realCasePath(e)}getUri(e){return this._realFS.getUri(e)}isMappedFilePath(e){return this._entryMap.has(e)||this._realFS.isMappedFilePath(e)}getOriginalFilePath(e){return this._realFS.getOriginalFilePath(this._getOriginalPath(e))}getMappedFilePath(e){var t;const n=this._realFS.getMappedFilePath(e);return null!==(t=this._reverseEntryMap.get(n))&&void 0!==t?t:n}isInZipOrEgg(e){return this._realFS.isInZipOrEgg(e)}_recordMovedEntry(e,t,n=!0,s=!0){this._entryMap.set(e,t),n&&this._reverseEntryMap.set(t,e);const o=(0,r.ensureTrailingDirectorySeparator)((0,r.getDirectoryPath)(e)),a=(0,i.getOrAdd)(this._folderMap,o,(()=>[])),A=(0,r.getFileName)(e);a.some((e=>e.name===A))||a.push({name:A,isFile:s})}_getOriginalPath(e){var t;return null!==(t=this._entryMap.get(e))&&void 0!==t?t:e}_isMovedEntry(e){return this._reverseEntryMap.has(e)}_clear(){this._entryMap.clear(),this._reverseEntryMap.clear(),this._folderMap.clear()}}},8863:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PyrightServer=void 0;const i=n(7192),s=n(2374),r=n(1887),o=n(9560),a=n(9926),A=n(3213),l=n(2211),c=n(2489),p=n(9241),g=n(3584),u=n(6657),d=n(7720),h=n(8992),C=n(8590),m=n(214),y={openFilesTimeInMs:50,noOpenFilesTimeInMs:200};class f extends h.LanguageServerBase{constructor(e){const t=n(6183).i8||"",s=global.__rootDirectory||__dirname,r=new l.ConsoleWithLogLevel(e.console),o=new m.WorkspaceMap,A=new d.WorkspaceFileWatcherProvider;super({productName:"Pyright",rootDirectory:s,version:t,workspaceMap:o,fileSystem:(0,d.createFromRealFileSystem)(r,A),fileWatcherHandler:A,cancellationProvider:new p.FileBasedCancellationProvider("bg"),maxAnalysisTimeInForeground:y,supportedCodeActions:[i.CodeActionKind.QuickFix,i.CodeActionKind.SourceOrganizeImports]},e,r),this._controller=new a.CommandController(this)}async getSettings(e){const t={watchForSourceChanges:!0,watchForLibraryChanges:!0,watchForConfigChanges:!0,openFilesOnly:!0,useLibraryCodeForTypes:!1,disableLanguageServices:!1,disableOrganizeImports:!1,typeCheckingMode:"basic",diagnosticSeverityOverrides:{},logLevel:l.LogLevel.Info,autoImportCompletions:!0};try{const n=await this.getConfiguration(e.uri,"python");if(n){const i=n.pythonPath;i&&(0,c.isString)(i)&&!(0,r.isPythonBinary)(i)&&(t.pythonPath=(0,u.resolvePaths)(e.rootPath,this.expandPathVariables(e.rootPath,i)));const s=n.venvPath;s&&(0,c.isString)(s)&&(t.venvPath=(0,u.resolvePaths)(e.rootPath,this.expandPathVariables(e.rootPath,s)))}const i=await this.getConfiguration(e.uri,"python.analysis");if(i){const n=i.typeshedPaths;if(n&&Array.isArray(n)&&n.length>0){const i=n[0];i&&(0,c.isString)(i)&&(t.typeshedPath=(0,u.resolvePaths)(e.rootPath,this.expandPathVariables(e.rootPath,i)))}const s=i.stubPath;s&&(0,c.isString)(s)&&(t.stubPath=(0,u.resolvePaths)(e.rootPath,this.expandPathVariables(e.rootPath,s)));const r=i.diagnosticSeverityOverrides;if(r)for(const[e,n]of Object.entries(r)){const i=this.getDiagnosticRuleName(e),s=this.getSeverityOverrides(n);i&&s&&(t.diagnosticSeverityOverrides[i]=s)}void 0!==i.diagnosticMode?t.openFilesOnly=this.isOpenFilesOnly(i.diagnosticMode):void 0!==i.openFilesOnly&&(t.openFilesOnly=!!i.openFilesOnly),void 0!==i.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!i.useLibraryCodeForTypes),t.logLevel=this.convertLogLevel(i.logLevel),t.autoSearchPaths=!!i.autoSearchPaths;const o=i.extraPaths;o&&Array.isArray(o)&&o.length>0&&(t.extraPaths=o.filter((e=>e&&(0,c.isString)(e))).map((t=>(0,u.resolvePaths)(e.rootPath,this.expandPathVariables(e.rootPath,t))))),void 0!==i.typeCheckingMode&&(t.typeCheckingMode=i.typeCheckingMode),void 0!==i.autoImportCompletions&&(t.autoImportCompletions=i.autoImportCompletions),t.logLevel===l.LogLevel.Log&&void 0!==i.logTypeEvaluationTime&&(t.logTypeEvaluationTime=i.logTypeEvaluationTime),void 0!==i.typeEvaluationTimeThreshold&&(t.typeEvaluationTimeThreshold=i.typeEvaluationTimeThreshold)}else t.autoSearchPaths=!0;const s=await this.getConfiguration(e.uri,"pyright");if(s){void 0!==s.openFilesOnly&&(t.openFilesOnly=!!s.openFilesOnly),void 0!==s.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!s.useLibraryCodeForTypes),t.disableLanguageServices=!!s.disableLanguageServices,t.disableOrganizeImports=!!s.disableOrganizeImports;const e=s.typeCheckingMode;e&&(0,c.isString)(e)&&(t.typeCheckingMode=e)}}catch(e){this.console.error(`Error reading settings: ${e}`)}return t}createBackgroundAnalysis(){if(!(0,c.isDebugMode)()&&(0,A.getCancellationFolderName)())return new o.BackgroundAnalysis(this.console)}createHost(){return new g.FullAccessHost(this._serviceFS)}createImportResolver(e,t,n){const i=new s.ImportResolver(e,t,n);return i.invalidateCache(),i}executeCommand(e,t){return this._controller.execute(e,t)}isLongRunningCommand(e){return this._controller.isLongRunningCommand(e)}async executeCodeAction(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);return C.CodeActionProvider.getCodeActionsForPosition(i,n,e.range,e.context.only,t)}createProgressReporter(){let e;return{isEnabled:e=>!0,begin:()=>{this.client.hasWindowProgressCapability?(e=this._connection.window.createWorkDoneProgress(),e.then((e=>{e.begin("")})).ignoreErrors()):this._connection.sendNotification("pyright/beginProgress")},report:t=>{e?e.then((e=>{e.report(t)})).ignoreErrors():this._connection.sendNotification("pyright/reportProgress",t)},end:()=>{e?(e.then((e=>{e.done()})).ignoreErrors(),e=void 0):this._connection.sendNotification("pyright/endProgress")}}}}t.PyrightServer=f},214:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceMap=void 0;const i=n(8304),s=n(8992);class r extends Map{constructor(){super(...arguments),this._defaultWorkspacePath=""}delete(e){var t;const n=this.get(e);return!!n&&(null===(t=n.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis)||void 0===t||t.shutdown(),super.delete(e))}hasMultipleWorkspaces(e){if(0===this.size||1===this.size)return!1;let t=0;for(const n of this)if(e&&!n[1].kinds.some((t=>t===e))||t++,t>1)return!0;return!1}getNonDefaultWorkspaces(e){const t=[];return this.forEach((n=>{n.path&&(e&&!n.kinds.some((t=>t===e))||t.push(n))})),t}getWorkspaceForFile(e,t){let n,r;if(this.forEach((e=>{if(e.path){if(!e.owns(t))return;(void 0===n||e.path.startsWith(n))&&(n=e.path,r=e)}})),void 0===r){let t=this.get(this._defaultWorkspacePath);if(!t){const n=[...this.keys()];if(1===n.length)return this.get(n[0]);t={workspaceName:"",rootPath:"",path:"",uri:"",serviceInstance:e.createAnalyzerService(this._defaultWorkspacePath),kinds:[s.WellKnownWorkspaceKinds.Default],disableLanguageServices:!1,disableOrganizeImports:!1,disableWorkspaceSymbol:!1,isInitialized:(0,i.createDeferred)(),searchPathsToWatch:[],owns:e=>!0},this.set(this._defaultWorkspacePath,t),e.updateSettingsForWorkspace(t).ignoreErrors()}return t}return r}}t.WorkspaceMap=r},9491:e=>{"use strict";e.exports=require("assert")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},2781:e=>{"use strict";e.exports=require("stream")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},4655:e=>{"use strict";e.exports=require("v8")},1267:e=>{"use strict";e.exports=require("worker_threads")},9796:e=>{"use strict";e.exports=require("zlib")},6183:e=>{"use strict";e.exports={i8:"1.1.267"}},1783:e=>{"use strict";e.exports={}},603:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"annotatedParamCountMismatch":"Parameter annotation count mismatch: expected {expected} but received {received}","annotatedTypeArgMissing":"Expected one type argument and one or more annotations for \\"Annotated\\"","annotationFormatString":"Type annotations cannot use format string literals (f-strings)","annotationNotSupported":"Type annotation not supported for this type of expression","annotationSpansStrings":"Type annotations cannot span multiple string literals","annotationStringEscape":"Type annotations cannot contain escape characters","argAssignment":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","argAssignmentFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\" in function \\"{functionName}\\"","argAssignmentParam":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\"","argAssignmentParamFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\" in function \\"{functionName}\\"","argMissingForParam":"Argument missing for parameter {name}","argMissingForParams":"Arguments missing for parameters {names}","argMorePositionalExpectedCount":"Expected {expected} more positional arguments","argMorePositionalExpectedOne":"Expected 1 more positional argument","argPositional":"Expected positional argument","argPositionalExpectedCount":"Expected {expected} positional arguments","argPositionalExpectedOne":"Expected 1 positional argument","argTypePartiallyUnknown":"Argument type is partially unknown","argTypeUnknown":"Argument type is unknown","assertAlwaysTrue":"Assert expression always evaluates to true","assertTypeArgs":"\\"assert_type\\" expects two positional arguments","assertTypeTypeMismatch":"\\"assert_type\\" mismatch: expected \\"{expected}\\" but received \\"{received}\\"","assignmentExprContext":"Assignment expression must be within module, function or lambda","assignmentExprComprehension":"Assignment expression target \\"{name}\\" cannot use same name as comprehension for target","assignmentInProtocol":"Instance or class variables within a Protocol class must be explicitly declared within the class body","assignmentExprInSubscript":"Assignment expressions within a subscript are supported only in Python 3.10 and newer","assignmentTargetExpr":"Expression cannot be assignment target","asyncNotInAsyncFunction":"Use of \\"async\\" not allowed outside of async function","awaitIllegal":"Use of \\"await\\" requires Python 3.5 or newer","awaitNotInAsync":"\\"await\\" allowed only within async function","backticksIllegal":"Expressions surrounded by backticks are not supported in Python 3.x; use repr instead","baseClassCircular":"Class cannot derive from itself","baseClassFinal":"Base class \\"{type}\\" is marked final and cannot be subclassed","baseClassInvalid":"Argument to class must be a base class","baseClassMethodTypeIncompatible":"Base classes for class \\"{classType}\\" define method \\"{name}\\" in incompatible way","baseClassVariableTypeIncompatible":"Base classes for class \\"{classType}\\" define variable \\"{name}\\" in incompatible way","baseClassUnknown":"Base class type is unknown, obscuring type of derived class","bindTypeMismatch":"Could not bind method \\"{methodName}\\" because \\"{type}\\" is not assignable to parameter \\"{paramName}\\"","breakOutsideLoop":"\\"break\\" can be used only within a loop","callableExtraArgs":"Expected only two type arguments to \\"Callable\\"","callableFirstArg":"Expected parameter type list or \\"...\\"","callableSecondArg":"Expected return type as second type argument for \\"Callable\\"","casePatternIsIrrefutable":"Irrefutable pattern is allowed only for the last case statement","classAlreadySpecialized":"Type \\"{type}\\" is already specialized","classDecoratorTypeUnknown":"Untyped class decorator obscures type of class; ignoring decorator","classDefinitionCycle":"Class definition for \\"{name}\\" depends on itself","classGetItemClsParam":"__class_getitem__ override should take a \\"cls\\" parameter","classMethodClsParam":"Class methods should take a \\"cls\\" parameter","classNotRuntimeSubscriptable":"Subscript for class \\"{name}\\" will generate runtime exception; enclose type annotation in quotes","classPatternBuiltInArgCount":"Class pattern accepts at most 1 positional sub-pattern","classPatternBuiltInArgPositional":"Class pattern accepts only positional sub-pattern","classPatternTypeAlias":"\\"{type}\\" cannot be used in a class pattern because it is a specialized type alias","classTypeParametersIllegal":"Class type parameter syntax requires Python 3.12 or newer","classVarNotAllowed":"\\"ClassVar\\" is not allowed in this context","classVarFirstArgMissing":"Expected a type argument after \\"ClassVar\\"","classVarOverridesInstanceVar":"Class variable \\"{name}\\" overrides instance variable of same name in class \\"{className}\\"","classVarTooManyArgs":"Expected only one type argument after \\"ClassVar\\"","classVarWithTypeVar":"\\"ClassVar\\" type cannot include type variables","clsSelfParamTypeMismatch":"Type of parameter \\"{name}\\" must be a supertype of its class \\"{classType}\\"","codeTooComplexToAnalyze":"Code is too complex to analyze; reduce complexity by refactoring into subroutines or reducing conditional code paths","comparisonAlwaysFalse":"Condition will always evaluate to False since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comparisonAlwaysTrue":"Condition will always evaluate to True since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comprehensionInDict":"Comprehension cannot be used with other dictionary entries","comprehensionInSet":"Comprehension cannot be used with other set entries","concatenateParamSpecMissing":"Last type argument for \\"Concatenate\\" must be a ParamSpec","concatenateTypeArgsMissing":"\\"Concatenate\\" requires at least two type arguments","constantRedefinition":"\\"{name}\\" is constant (because it is uppercase) and cannot be redefined","constructorParametersMismatch":"Mismatch between signature of __new__ and __init__ in class \\"{classType}\\"","containmentAlwaysFalse":"Expression will always evaluate to False since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","containmentAlwaysTrue":"Expression will always evaluate to True since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","continueInFinally":"\\"continue\\" cannot be used within a finally clause","continueOutsideLoop":"\\"continue\\" can be used only within a loop","constructorNoArgs":"Expected no arguments to \\"{type}\\" constructor","dataClassBaseClassNotFrozen":"A frozen class cannot inherit from a class that is not frozen","dataClassFieldWithDefault":"Fields without default values cannot appear after fields with default values","dataClassFieldWithoutAnnotation":"Dataclass field without type annotation will cause runtime exception","dataClassPostInitParamCount":"Dataclass __post_init__ incorrect parameter count; number of InitVar fields is {expected}","dataClassPostInitType":"Dataclass __post_init__ method parameter type mismatch for field \\"{fieldName}\\"","dataClassSlotsOverwrite":"__slots__ is already defined in class","dataClassTransformExpectedBoolLiteral":"Expected expression that statically evaluates to True or False","dataClassTransformFieldSpecifier":"Expected tuple of classes or functions but received type \\"{type}\\"","dataClassTransformPositionalParam":"All arguments to \\"dataclass_transform\\" must be keyword arguments","dataClassTransformUnknownArgument":"Argument \\"{name}\\" is not supported by dataclass_transform","declaredReturnTypePartiallyUnknown":"Declared return type, \\"{returnType}\\", is partially unknown","declaredReturnTypeUnknown":"Declared return type is unknown","defaultValueContainsCall":"Function calls and mutable objects not allowed within parameter default value expression","defaultValueNotAllowed":"Parameter with \\"*\\" or \\"**\\" cannot have default value","defaultValueNotEllipsis":"Default values in stub files should be specified as \\"...\\"","deprecatedType":"This type is deprecated as of Python {version}; use \\"{replacement}\\" instead","delTargetExpr":"Expression cannot be deleted","dictExpandIllegalInComprehension":"Dictionary expansion not allowed in comprehension","dictInAnnotation":"Dictionary expression not allowed in type annotation","dictKeyValuePairs":"Dictionary entries must contain key/value pairs","dictUnpackIsNotMapping":"Expected mapping for dictionary unpack operator","dunderAllSymbolNotPresent":"\\"{name}\\" is specified in __all__ but is not present in module","duplicateArgsParam":"Only one \\"*\\" parameter allowed","duplicateBaseClass":"Duplicate base class not allowed","duplicateCatchAll":"Only one catch-all except clause allowed","duplicateEnumMember":"Enum member \\"{name}\\" is already declared","duplicateGenericAndProtocolBase":"Only one Generic[...] or Protocol[...] base class allowed","duplicateImport":"\\"{importName}\\" is imported more than once","duplicateKwargsParam":"Only one \\"**\\" parameter allowed","duplicateKeywordOnly":"Only one \\"*\\" separator allowed","duplicateParam":"Duplicate parameter \\"{name}\\"","duplicateCapturePatternTarget":"Capture target \\"{name}\\" cannot appear more than once within the same pattern","duplicateStarPattern":"Only one \\"*\\" pattern allowed in a pattern sequence","duplicateStarStarPattern":"Only one \\"**\\" entry allowed","duplicatePositionOnly":"Only one \\"/\\" parameter allowed","duplicateUnpack":"Only one unpack operation allowed in list","ellipsisContext":"\\"...\\" not allowed in this context","ellipsisSecondArg":"\\"...\\" allowed only as the second of two arguments","enumClassOverride":"Enum class \\"{name}\\" is final and cannot be subclassed","exceptionGroupIncompatible":"Exception group syntax (\\"except*\\") requires Python 3.11 or newer","exceptionTypeIncorrect":"\\"{type}\\" does not derive from BaseException","exceptionTypeNotClass":"\\"{type}\\" is not valid exception class","exceptionTypeNotInstantiable":"Constructor for exception type \\"{type}\\" requires one or more arguments","expectedAfterDecorator":"Expected function or class declaration after decorator","expectedArrow":"Expected \\"->\\" followed by return type annotation","expectedAsAfterException":"Expected \\"as\\" after exception type","expectedAssignRightHandExpr":"Expected expression to the right of \\"=\\"","expectedBinaryRightHandExpr":"Expected expression to the right of operator","expectedBoolLiteral":"Expected True or False","expectedCase":"Expected \\"case\\" statement","expectedClassName":"Expected class name","expectedCloseBrace":"\\"{\\" was not closed","expectedCloseBracket":"\\"[\\" was not closed","expectedCloseParen":"\\"(\\" was not closed","expectedColon":"Expected \\":\\"","expectedComplexNumberLiteral":"Expected complex number literal for pattern matching","expectedDecoratorExpr":"Expression form not supported for decorator prior to Python 3.9","expectedDecoratorName":"Expected decorator name","expectedDecoratorNewline":"Expected new line at end of decorator","expectedDelExpr":"Expected expression after \\"del\\"","expectedElse":"Expected \\"else\\"","expectedEquals":"Expected \\"=\\"","expectedExceptionClass":"Invalid exception class or object","expectedExceptionObj":"Expected exception object, exception class or None","expectedExpr":"Expected expression","expectedIdentifier":"Expected identifier","expectedImport":"Expected \\"import\\"","expectedImportAlias":"Expected symbol after \\"as\\"","expectedImportSymbols":"Expected one or more symbol names after import","expectedIndentedBlock":"Expected indented block","expectedInExpr":"Expected expression after \\"in\\"","expectedIn":"Expected \\"in\\"","expectedFunctionAfterAsync":"Expected function definition after \\"async\\"","expectedFunctionName":"Expected function name after \\"def\\"","expectedMemberName":"Expected member name after \\".\\"","expectedModuleName":"Expected module name","expectedNameAfterAs":"Expected symbol name after \\"as\\"","expectedNamedParameter":"Keyword parameter must follow \\"*\\"","expectedNewline":"Expected newline","expectedNewlineOrSemicolon":"Statements must be separated by newlines or semicolons","expectedOpenParen":"Expected \\"(\\"","expectedParamName":"Expected parameter name","expectedPatternExpr":"Expected pattern expression","expectedPatternSubjectExpr":"Expected pattern subject expression","expectedPatternValue":"Expected pattern value expression of the form \\"a.b\\"","expectedReturnExpr":"Expected expression after \\"return\\"","expectedSliceIndex":"Expected index or slice expression","expectedTypeNotString":"Expected type but received a string literal","expectedTypeParameterName":"Expected type parameter name","expectedYieldExpr":"Expected expression in yield statement","finalClassIsAbstract":"Class \\"{type}\\" is marked final and must implement all abstract methods","finalContext":"\\"Final\\" not allowed in this context","finalMethodOverride":"Method \\"{name}\\" cannot override final method defined in class \\"{className}\\"","finalReassigned":"\\"{name}\\" is declared as Final and cannot be reassigned","finalRedeclaration":"\\"{name}\\" was previously declared as Final","finalRedeclarationBySubclass":"\\"{name}\\" cannot be redeclared because parent class \\"{className}\\" declares it as Final","finalTooManyArgs":"Expected a single type argument after \\"Final\\"","finalUnassigned":"\\"{name}\\" is declared Final, but value is not assigned","formatStringBrace":"Single close brace not allowed within f-string literal; use double close brace","formatStringBytes":"Format string literals (f-strings) cannot be binary","formatStringEscape":"Escape sequence (backslash) not allowed in expression portion of f-string","formatStringInPattern":"Format string not allowed in pattern","formatStringUnicode":"Format string literals (f-strings) cannot be unicode","formatStringIllegal":"Format string literals (f-strings) require Python 3.6 or newer","formatStringUnterminated":"Unterminated expression in f-string; missing close brace","functionDecoratorTypeUnknown":"Untyped function decorator obscures type of function; ignoring decorator","functionInConditionalExpression":"Conditional expression references function which always evaluates to True","functionTypeParametersIllegal":"Function type parameter syntax requires Python 3.12 or newer","generatorAsyncReturnType":"Return type of async generator function must be \\"AsyncGenerator\\" or \\"AsyncIterable\\"","generatorNotParenthesized":"Generator expressions must be parenthesized if not sole argument","generatorSyncReturnType":"Return type of generator function must be \\"Generator\\" or \\"Iterable\\"","genericBaseClassNotAllowed":"\\"Generic\\" base class cannot be used with type parameter syntax","genericClassAssigned":"Generic class type cannot be assigned","genericClassDeleted":"Generic class type cannot be deleted","genericNotAllowed":"\\"Generic\\" is not valid in this context","genericTypeAliasBoundTypeVar":"Generic type alias within class cannot use bound type variables {names}","genericTypeArgMissing":"\\"Generic\\" requires at least one type argument","genericTypeArgTypeVar":"Type argument for \\"Generic\\" must be a type variable","genericTypeArgUnique":"Type arguments for \\"Generic\\" must be unique","globalReassignment":"\\"{name}\\" is assigned before global declaration","globalRedefinition":"\\"{name}\\" was already declared global","implicitStringConcat":"Implicit string concatenation not allowed","importCycleDetected":"Cycle detected in import chain","importDepthExceeded":"Import chain depth exceeded {depth}","importResolveFailure":"Import \\"{importName}\\" could not be resolved","importSourceResolveFailure":"Import \\"{importName}\\" could not be resolved from source","importSymbolUnknown":"\\"{name}\\" is unknown import symbol","incompatibleMethodOverride":"Method \\"{name}\\" overrides class \\"{className}\\" in an incompatible manner","inconsistentIndent":"Unindent amount does not match previous indent","initMustReturnNone":"Return type of \\"__init__\\" must be None","inconsistentTabs":"Inconsistent use of tabs and spaces in indentation","initSubclassClsParam":"__init_subclass__ override should take a \\"cls\\" parameter","instanceMethodSelfParam":"Instance methods should take a \\"self\\" parameter","instanceVarOverridesClassVar":"Instance variable \\"{name}\\" overrides class variable of same name in class \\"{className}\\"","instantiateAbstract":"Cannot instantiate abstract class \\"{type}\\"","instantiateProtocol":"Cannot instantiate protocol class \\"{type}\\"","internalBindError":"An internal error occurred while binding file \\"{file}\\": {message}","internalParseError":"An internal error occurred while parsing file \\"{file}\\": {message}","internalTypeCheckingError":"An internal error occurred while type checking file \\"{file}\\": {message}","invalidIdentifierChar":"Invalid character in identifier","invalidStubStatement":"Statement is meaningless within a type stub file","invalidTokenChars":"Invalid character \\"{text}\\" in token","isInstanceInvalidType":"Second argument to \\"isinstance\\" must be a class or tuple of classes","isSubclassInvalidType":"Second argument to \\"issubclass\\" must be a class or tuple of classes","keyValueInSet":"Key/value pairs are not allowed within a set","keywordArgInTypeArgument":"Keyword arguments cannot be used in type argument lists","keywordOnlyAfterArgs":"Keyword-only argument separator not allowed after \\"*\\" parameter","keywordSubscriptIllegal":"Keyword arguments within subscripts are not supported","lambdaReturnTypeUnknown":"Return type of lambda is unknown","lambdaReturnTypePartiallyUnknown":"Return type of lambda, \\"{returnType}\\", is partially unknown","listAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target list","listInAnnotation":"List expression not allowed in type annotation","literalUnsupportedType":"Type arguments for \\"Literal\\" must be None, a literal value (int, bool, str, or bytes), or an enum value","literalEmptyArgs":"Expected one or more type arguments after \\"Literal\\"","literalNotCallable":"Literal type cannot be instantiated","matchIncompatible":"Match statements require Python 3.10 or newer","matchIsNotExhaustive":"Cases within match statement do not exhaustively handle all values","maxParseDepthExceeded":"Maximum parse depth exceeded; break expression into smaller sub-expressions","memberAccess":"Cannot access member \\"{name}\\" for type \\"{type}\\"","memberDelete":"Cannot delete member \\"{name}\\" for type \\"{type}\\"","memberSet":"Cannot assign member \\"{name}\\" for type \\"{type}\\"","metaclassConflict":"The metaclass of a derived class must be a subclass of the metaclasses of all its base classes","metaclassDuplicate":"Only one metaclass can be provided","metaclassIsGeneric":"Metaclass cannot be generic","methodNotDefined":"\\"{name}\\" method not defined","methodNotDefinedOnType":"\\"{name}\\" method not defined on type \\"{type}\\"","methodOrdering":"Cannot create consistent method ordering","methodOverridden":"\\"{name}\\" overrides method of same name in class \\"{className}\\" with incompatible type \\"{type}\\"","methodReturnsNonObject":"\\"{name}\\" method does not return an object","missingProtocolMembers":"Class derives from one or more protocol classes but does not implement all required members","missingSuperCall":"Method \\"{methodName}\\" does not call the method of the same name in parent class","moduleAsType":"Module cannot be used as a type","moduleNotCallable":"Module is not callable","moduleUnknownMember":"\\"{name}\\" is not a known member of module","namedExceptAfterCatchAll":"A named except clause cannot appear after catch-all except clause","namedParamAfterParamSpecArgs":"Keyword parameter \\"{name}\\" cannot appear in signature after ParamSpec args parameter","namedTupleEmptyName":"Names within a named tuple cannot be empty","namedTupleMultipleInheritance":"Multiple inheritance with NamedTuple is not supported","namedTupleFirstArg":"Expected named tuple class name as first argument","namedTupleNameType":"Expected two-entry tuple specifying entry name and type","namedTupleNameUnique":"Names within a named tuple must be unique","namedTupleNoTypes":"\\"namedtuple\\" provides no types for tuple entries; use \\"NamedTuple\\" instead","namedTupleSecondArg":"Expected named tuple entry list as second argument","newClsParam":"__new__ override should take a \\"cls\\" parameter","newTypeLiteral":"NewType cannot be used with Literal type","newTypeNotAClass":"Expected class as second argument to NewType","newTypeProtocolClass":"NewType cannot be used with protocol class","nonDefaultAfterDefault":"Non-default argument follows default argument","noneNotCallable":"Object of type \\"None\\" cannot be called","noneNotIterable":"Object of type \\"None\\" cannot be used as iterable value","noneOperator":"Operator \\"{operator}\\" not supported for \\"None\\"","noneNotSubscriptable":"Object of type \\"None\\" is not subscriptable","noneNotUsableWith":"Object of type \\"None\\" cannot be used with \\"with\\"","noneUnknownMember":"\\"{name}\\" is not a known member of \\"None\\"","nonLocalNoBinding":"No binding for nonlocal \\"{name}\\" found","nonLocalReassignment":"\\"{name}\\" is assigned before nonlocal declaration","nonLocalRedefinition":"\\"{name}\\" was already declared nonlocal","nonLocalInModule":"Nonlocal declaration not allowed at module level","noOverload":"No overloads for \\"{name}\\" match the provided arguments","noReturnContainsReturn":"Function with declared return type \\"NoReturn\\" cannot include a return statement","noReturnContainsYield":"Function with declared return type \\"NoReturn\\" cannot include a yield statement","noReturnReturnsNone":"Function with declared type of \\"NoReturn\\" cannot return \\"None\\"","notRequiredArgCount":"Expected a single type argument after \\"NotRequired\\"","notRequiredNotInTypedDict":"\\"NotRequired\\" is not allowed in this context","objectNotCallable":"Object of type \\"{type}\\" is not callable","obscuredClassDeclaration":"Class declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredFunctionDeclaration":"Function declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredMethodDeclaration":"Method declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredParameterDeclaration":"Parameter declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredTypeAliasDeclaration":"Type alias declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredVariableDeclaration":"Declaration \\"{name}\\" is obscured by a declaration of the same name","operatorLessOrGreaterDeprecated":"Operator \\"<>\\" is not supported in Python 3; use \\"!=\\" instead","optionalExtraArgs":"Expected one type argument after \\"Optional\\"","orPatternIrrefutable":"Irrefutable pattern allowed only as the last subpattern in an \\"or\\" pattern","orPatternMissingName":"All subpatterns within an \\"or\\" pattern must target the same names","overlappingOverload":"Overload {obscured} for \\"{name}\\" will never be used because its parameters overlap overload {obscuredBy}","overloadAbstractMismatch":"Overloaded methods must all be abstract or not","overloadImplementationMismatch":"Overloaded implementation is not consistent with signature of overload {index}","overloadReturnTypeMismatch":"Overload {prevIndex} for \\"{name}\\" overlaps overload {newIndex} and returns an incompatible type","overloadWithImplementation":"\\"{name}\\" is marked as overload, but it includes an implementation","overloadWithoutImplementation":"\\"{name}\\" is marked as overload, but no implementation is provided","overwriteTypeParameter":"Cannot overwrite type parameter \\"{name}\\"","paramAfterKwargsParam":"Parameter cannot follow \\"**\\" parameter","paramAlreadyAssigned":"Parameter \\"{name}\\" is already assigned","paramAnnotationMissing":"Type annotation is missing for parameter \\"{name}\\"","paramNameMissing":"No parameter named \\"{name}\\"","paramSpecArgsKwargsUsage":"\\"args\\" and \\"kwargs\\" members of ParamSpec must both appear within a function signature","paramSpecArgsMissing":"Arguments for ParamSpec \\"{type}\\" are missing","paramSpecArgsUsage":"\\"args\\" member of ParamSpec is valid only when used with *args parameter","paramSpecAssignedName":"ParamSpec must be assigned to a variable named \\"{name}\\"","paramSpecContext":"ParamSpec not allowed in this context","paramSpecFirstArg":"Expected name of ParamSpec as first argument","paramSpecKwargsUsage":"\\"kwargs\\" member of ParamSpec is valid only when used with **kwargs parameter","paramSpecNotBound":"Param spec \\"{type}\\" has no bound value","paramSpecNotUsedByOuterScope":"ParamSpec \\"{name}\\" has no meaning in this context","paramSpecUnknownArg":"ParamSpec does not support more than one argument","paramSpecUnknownMember":"\\"{name}\\" is not a known member of ParamSpec","paramSpecUnknownParam":"\\"{name}\\" is unknown parameter to ParamSpec","paramAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","paramTypeCovariant":"Covariant type variable cannot be used in parameter type","paramTypeUnknown":"Type of parameter \\"{paramName}\\" is unknown","paramTypePartiallyUnknown":"Type of parameter \\"{paramName}\\" is partially unknown","parenthesizedContextManagerIllegal":"Parentheses within \\"with\\" statement requires Python 3.9 or newer","positionArgAfterNamedArg":"Positional argument cannot appear after keyword arguments","privateImportFromPyTypedModule":"\\"{name}\\" is not exported from module \\"{module}\\"","positionOnlyAfterArgs":"Position-only argument separator not allowed after \\"*\\" parameter","positionOnlyAfterKeywordOnly":"\\"/\\" parameter must appear before \\"*\\" parameter","positionOnlyIncompatible":"Position-only argument separator requires Python 3.8 or newer","positionOnlyFirstParam":"Position-only argument separator not allowed as first parameter","privateUsedOutsideOfClass":"\\"{name}\\" is private and used outside of the class in which it is declared","privateUsedOutsideOfModule":"\\"{name}\\" is private and used outside of the module in which it is declared","propertyOverridden":"\\"{name}\\" incorrectly overrides property of same name in class \\"{className}\\"","propertyStaticMethod":"Static methods not allowed for property getter, setter or deleter","protectedUsedOutsideOfClass":"\\"{name}\\" is protected and used outside of the class in which it is declared","protocolBaseClass":"Protocol class \\"{classType}\\" cannot derive from non-protocol class \\"{baseType}\\"","protocolBaseClassWithTypeArgs":"Type arguments are not allowed with Protocol class when using type parameter syntax","protocolIllegal":"Use of \\"Protocol\\" requires Python 3.7 or newer","protocolMemberNotClassVar":"Protocol class \\"{className}\\" does not define \\"{memberName}\\" as a ClassVar","protocolNotAllowedInTypeArgument":"\\"Protocol\\" cannot be used as a type argument","protocolVarianceContravariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be contravariant","protocolVarianceCovariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be covariant","protocolVarianceInvariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be invariant","protocolUsedInCall":"Protocol class cannot be used in \\"{name}\\" call","relativeImportNotAllowed":"Relative imports cannot be used with \\"import .a\\" form; use \\"from . import a\\" instead","recursiveDefinition":"Type of \\"{name}\\" could not be determined because it refers to itself","requiredArgCount":"Expected a single type argument after \\"Required\\"","requiredNotInTypedDict":"\\"Required\\" is not allowed in this context","returnOutsideFunction":"\\"return\\" can be used only within a function","returnMissing":"Function with declared type of \\"{returnType}\\" must return value","returnTypeContravariant":"Contravariant type variable cannot be used in return type","returnTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to return type \\"{returnType}\\"","returnTypeUnknown":"Return type is unknown","returnTypePartiallyUnknown":"Return type, \\"{returnType}\\", is partially unknown","revealLocalsArgs":"Expected no arguments for \\"reveal_locals\\" call","revealLocalsNone":"No locals in this scope","revealTypeArgs":"Expected a single positional argument for \\"reveal_type\\" call","revealTypeExpectedTextArg":"The \\"expected_text\\" argument for function \\"reveal_type\\" must be a str literal value","revealTypeExpectedTextMismatch":"Type text mismatch; expected \\"{expected}\\" but received \\"{received}\\"","revealTypeExpectedTypeMismatch":"Type mismatch; expected \\"{expected}\\" but received \\"{received}\\"","selfTypeContext":"\\"Self\\" is not valid in this context","selfTypeWithTypedSelfOrCls":"\\"Self\\" cannot be used in a function with a `self` or `cls` parameter that has a type annotation other than \\"Self\\"","setterGetterTypeMismatch":"Property setter value type is not assignable to the getter return type","singleOverload":"\\"{name}\\" is marked as overload, but additional overloads are missing","slotsAttributeError":"\\"{name}\\" is not specified in __slots__","slotsClassVarConflict":"\\"{name}\\" conflicts with instance variable declared in __slots__","starPatternInAsPattern":"Star pattern cannot be used with \\"as\\" target","starPatternInOrPattern":"Star pattern cannot be ORed within other patterns","starStarWildcardNotAllowed":"** cannot be used with wildcard \\"_\\"","staticClsSelfParam":"Static methods should not take a \\"self\\" or \\"cls\\" parameter","strictTypeGuardReturnType":"Return type of StrictTypeGuard (\\"{returnType}\\") is not assignable to value parameter type (\\"{type}\\")","stringNonAsciiBytes":"Non-ASCII character not allowed in bytes string literal","stringNotSubscriptable":"String expression cannot be subscripted in type annotation; enclose entire annotation in quotes","stringUnsupportedEscape":"Unsupported escape sequence in string literal","stringUnterminated":"String literal is unterminated","stubFileMissing":"Stub file not found for \\"{importName}\\"","stubUsesGetAttr":"Type stub file is incomplete; \\"__getattr__\\" obscures type errors for module","sublistParamsIncompatible":"Sublist parameters are not supported in Python 3.x","superCallArgCount":"Expected no more than two arguments to \\"super\\" call","superCallFirstArg":"Expected class type as first argument to \\"super\\" call but received \\"{type}\\"","superCallSecondArg":"Second argument to \\"super\\" call must be object or class that derives from \\"{type}\\"","superCallZeroArgForm":"Zero-argument form of \\"super\\" call is valid only within a class","symbolIsUnbound":"\\"{name}\\" is unbound","symbolIsUndefined":"\\"{name}\\" is not defined","symbolIsPossiblyUnbound":"\\"{name}\\" is possibly unbound","symbolOverridden":"\\"{name}\\" overrides symbol of same name in class \\"{className}\\"","totalOrderingMissingMethod":"Class must define one of \\"__lt__\\", \\"__le__\\", \\"__gt__\\", or \\"__ge__\\" to use total_ordering","trailingCommaInFromImport":"Trailing comma not allowed without surrounding parentheses","tryWithoutExcept":"Try statement must have at least one except or finally clause","tupleAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target tuple","tupleInAnnotation":"Tuple expression not allowed in type annotation","tupleIndexOutOfRange":"Index {index} is out of range for type {type}","typeAliasIsRecursiveDirect":"Type alias \\"{name}\\" cannot use itself in its definition","typeAliasIsRecursiveIndirect":"Type alias \\"{name}\\" cannot refer to itself indirectly in its definition","typeAliasNotInModuleOrClass":"A TypeAlias can be defined only within a module or class scope","typeAliasRedeclared":"\\"{name}\\" is declared as a TypeAlias and can be assigned only once","typeAliasStatementIllegal":"Type alias statement requires Python 3.12 or newer","typeArgListExpected":"Expected ParamSpec, ellipsis, or list of types","typeAnnotationCall":"Illegal type annotation: call expression not allowed","typeAnnotationVariable":"Illegal type annotation: variable not allowed unless it is a type alias","typeArgListNotAllowed":"List expression not allowed for this type argument","typeArgsExpectingNone":"Expected no type arguments for class \\"{name}\\"","typeArgsMismatchOne":"Expected one type argument but received {received}","typeArgsMissingForAlias":"Expected type arguments for generic type alias \\"{name}\\"","typeArgsMissingForClass":"Expected type arguments for generic class \\"{name}\\"","typeArgsTooFew":"Too few type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeArgsTooMany":"Too many type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to declared type \\"{destType}\\"","typeCallNotAllowed":"type() call should not be used in type annotation","typeCommentDeprecated":"Use of type comments is deprecated; use type annotation instead","typedDictAccess":"Could not access item in TypedDict","typedDictBadVar":"TypedDict classes can contain only type annotations","typedDictBaseClass":"All base classes for TypedDict classes must also be TypedDict classes","typedDictDelete":"Could not delete item in TypedDict","typedDictEmptyName":"Names within a TypedDict cannot be empty","typedDictEntryName":"Expected string literal for dictionary entry name","typedDictEntryUnique":"Names within a dictionary must be unique","typedDictExtraArgs":"Extra TypedDict arguments not supported","typedDictFieldRedefinition":"Type of TypedDict field \\"{name}\\" cannot be redefined","typedDictFirstArg":"Expected TypedDict class name as first argument","typedDictSecondArgDict":"Expected dict or keyword parameter as second parameter","typedDictSecondArgDictEntry":"Expected simple dictionary entry","typedDictSet":"Could not assign item in TypedDict","typedDictTotalParam":"Expected \\"total\\" parameter to have a value of True or False","typeExpectedClass":"Expected class type but received \\"{type}\\"","typeGuardArgCount":"Expected a single type argument after \\"TypeGuard\\"","typeNotAwaitable":"\\"{type}\\" is not awaitable","typeNotCallable":"\\"{expression}\\" has type \\"{type}\\" and is not callable","typeNotIntantiable":"\\"{type}\\" cannot be instantiated","typeNotIterable":"\\"{type}\\" is not iterable","typeNotSpecializable":"Could not specialize type \\"{type}\\"","typeNotSubscriptable":"Object of type \\"{type}\\" is not subscriptable","typeNotUsableWith":"Object of type \\"{type}\\" cannot be used with \\"with\\" because it does not implement {method}","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\"","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\" when expected type is \\"{expectedType}\\"","typeNotSupportUnaryOperator":"Operator \\"{operator}\\" not supported for type \\"{type}\\"","typeNotSupportUnaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for type \\"{type}\\" when expected type is \\"{expectedType}\\"","typeParameterBoundNotAllowed":"Bound or constraint cannot be used with a variadic type parameter or ParamSpec","typeParameterConstraintTuple":"Type parameter constraint must be a tuple of two or more types","typeParameterExistingTypeParameter":"Type parameter \\"{name}\\" is already in use","typeParametersMissing":"At least one type parameter must be specified","typeParameterNotDeclared":"Type parameter \\"{name}\\" is not included in the type parameter list for \\"{container}\\"","typeParameterOutOfScope":"Type parameter \\"{name}\\" has no meaning in this context","typePartiallyUnknown":"Type of \\"{name}\\" is partially unknown","typeUnknown":"Type of \\"{name}\\" is unknown","typeVarAssignedName":"TypeVar must be assigned to a variable named \\"{name}\\"","typeVarAssignmentMismatch":"Type \\"{type}\\" cannot be assigned to type variable \\"{name}\\"","typeVarBoundAndConstrained":"TypeVar cannot be both bound and constrained","typeVarFirstArg":"Expected name of TypeVar as first argument","typeVarGeneric":"TypeVar bound type cannot be generic","typeVarNoMember":"TypeVar \\"{type}\\" has no member \\"{name}\\"","typeVarNotSubscriptable":"TypeVar \\"{type}\\" is not subscriptable","typeVarNotUsedByOuterScope":"Type variable \\"{name}\\" has no meaning in this context","typeVarPossiblyUnsolvable":"Type variable \\"{name}\\" may go unsolved if caller supplies no argument for parameter \\"{param}\\"","typeVarSingleConstraint":"TypeVar must have at least two constrained types","typeVarsNotInGenericOrProtocol":"Generic[] or Protocol[] must include all type variables","typeVarTupleContext":"TypeVarTuple not allowed in this context","typeVarTupleMustBeUnpacked":"Unpack operator is required for TypeVarTuple value","typeVarUnknownParam":"\\"{name}\\" is unknown parameter to TypeVar","typeVarUsedByOuterScope":"TypeVar \\"{name}\\" is already in use by an outer scope","typeVarUsedOnlyOnce":"TypeVar \\"{name}\\" appears only once in generic function signature","typeVarVariance":"TypeVar cannot be both covariant and contravariant","unaccessedClass":"Class \\"{name}\\" is not accessed","unaccessedFunction":"Function \\"{name}\\" is not accessed","unaccessedImport":"Import \\"{name}\\" is not accessed","unaccessedSymbol":"\\"{name}\\" is not accessed","unaccessedVariable":"Variable \\"{name}\\" is not accessed","unexpectedAsyncToken":"Expected \\"def\\", \\"with\\" or \\"for\\" to follow \\"async\\"","unexpectedExprToken":"Unexpected token at end of expression","unexpectedIndent":"Unexpected indentation","unexpectedUnindent":"Unindent not expected","unionSyntaxIllegal":"Alternative syntax for unions requires Python 3.10 or newer","unionTypeArgCount":"Union requires two or more type arguments","uninitializedInstanceVariable":"Instance variable \\"{name}\\" is not initialized in the class body or __init__ method","unnecessaryCast":"Unnecessary \\"cast\\" call; type is already \\"{type}\\"","unnecessaryIsInstanceAlways":"Unnecessary isinstance call; \\"{testType}\\" is always an instance of \\"{classType}\\"","unnecessaryIsSubclassAlways":"Unnecessary issubclass call; \\"{testType}\\" is always a subclass of \\"{classType}\\"","unnecessaryPyrightIgnore":"Unnecessary \\"# pyright: ignore\\" comment","unnecessaryPyrightIgnoreRule":"Unnecessary \\"# pyright: ignore\\" rule: \\"{name}\\"","unnecessaryTypeIgnore":"Unnecessary \\"# type: ignore\\" comment","unpackArgCount":"Expected a single type argument after \\"Unpack\\"","unpackedArgInTypeArgument":"Unpacked arguments cannot be used in type argument lists","unpackedArgWithVariadicParam":"Unpacked argument cannot be used for TupleTypeVar parameter","unpackedDictArgumentNotMapping":"Argument expression after ** must be a mapping with a \\"str\\" key type","unpackedSubscriptIllegal":"Unpack operator in subscript requires Python 3.11 or newer","unpackedTypedDictArgument":"Unable to match unpacked TypedDict argument to parameters","unpackedTypeVarTupleExpected":"Expected unpacked TypeVarTuple; use Unpack[{name1}] or *{name2}","unpackExpectedTypedDict":"Expected TypedDict type argument for Unpack","unpackExpectedTypeVarTuple":"Expected TypeVarTuple or Tuple as type argument for Unpack","unpackIllegalInComprehension":"Unpack operation not allowed in comprehension","unpackInAnnotation":"Unpack operator not allowed in type annotation","unpackInDict":"Unpack operation not allowed in dictionaries","unpackInSet":"Unpack operator not allowed within a set","unpackNotAllowed":"Unpack not allowed in this context","unpackOperatorNotAllowed":"Unpack operation not allowed in this context","unpackTuplesIllegal":"Unpack operation not allowed in tuples prior to Python 3.8","unreachableCode":"Code is unreachable","unreachableExcept":"Except clause is unreachable because exception is already handled","unsupportedDunderAllOperation":"Operation on \\"__all__\\" is not supported, so exported symbol list may be incorrect","unusedCallResult":"Result of call expression is of type \\"{type}\\" and is not used; assign to variable \\"_\\" if this is intentional","unusedCoroutine":"Result of async function call is not used; use \\"await\\" or assign result to variable","unusedExpression":"Expression value is unused","varAnnotationIllegal":"Type annotations for variables requires Python 3.6 or newer; use type comment for compatibility with previous versions","variableFinalOverride":"Variable \\"{name}\\" is marked Final and overrides non-Final variable of same name in class \\"{className}\\"","variadicTypeArgsTooMany":"Type argument list can have at most one unpacked TypeVarTuple or Tuple","variadicTypeParamTooManyAlias":"Type alias can have at most one TypeVarTuple type parameter but received multiple ({names})","variadicTypeParamTooManyClass":"Generic class can have at most one TypeVarTuple type parameter but received multiple ({names})","walrusIllegal":"Operator \\":=\\" requires Python 3.8 or newer","walrusNotAllowed":"Operator \\":=\\" not allowed in this context","wildcardInFunction":"Wildcard import not allowed within a class or function","wildcardLibraryImport":"Wildcard import from a library not allowed","yieldFromIllegal":"Use of \\"yield from\\" requires Python 3.3 or newer","yieldFromOutsideAsync":"\\"yield from\\" not allowed in an async function","yieldOutsideFunction":"\\"yield\\" not allowed outside of a function or lambda","yieldTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to yield type \\"{yieldType}\\"","yieldWithinListCompr":"\\"yield\\" not allowed inside a list comprehension","zeroCaseStatementsFound":"Match statement must include at least one case statement","zeroLengthTupleNotAllowed":"Zero-length tuple not allowed in this context"},"DiagnosticAddendum":{"argParam":"Argument corresponds to parameter \\"{paramName}\\"","argParamFunction":"Argument corresponds to parameter \\"{paramName}\\" in function \\"{functionName}\\"","argsParamMissing":"Parameter \\"*{paramName}\\" has no corresponding parameter","argsPositionOnly":"Position-only parameter mismatch; expected {expected} but received {received}","argumentType":"Argument type is \\"{type}\\"","argumentTypes":"Argument types: ({types})","assignToNone":"Type cannot be assigned to type \\"None\\"","asyncHelp":"Did you mean \\"async with\\"?","baseClassProvidesType":"Base class \\"{baseClass}\\" provides type \\"{type}\\"","dataClassFieldLocation":"Field declaration","dataClassFrozen":"\\"{name}\\" is frozen","finalMethod":"Final method","keyNotRequired":"\\"{name}\\" is not a required key in \\"{type}\\", so access may result in runtime exception","keyRequiredDeleted":"\\"{name}\\" is a required key and cannot be deleted","keyUndefined":"\\"{name}\\" is not a defined key in \\"{type}\\"","functionParamDefaultMissing":"Parameter \\"{name}\\" is missing default argument","functionParamName":"Parameter name mismatch: \\"{destName}\\" versus \\"{srcName}\\"","functionReturnTypeMismatch":"Function return type \\"{sourceType}\\" is incompatible with type \\"{destType}\\"","functionTooFewParams":"Function accepts too few positional parameters; expected {expected} but received {received}","functionTooManyParams":"Function accepts too many positional parameters; expected {expected} but received {received}","incompatibleGetter":"Property getter method is incompatible","incompatibleSetter":"Property setter method is incompatible","initMethodLocation":"The __init__ method is defined in class \\"{type}\\"","incompatibleDeleter":"Property deleter method is incompatible","initMethodSignature":"Signature of __init__ is \\"{type}\\"","kwargsParamMissing":"Parameter \\"**{paramName}\\" has no corresponding parameter","listAssignmentMismatch":"Type \\"{type}\\" is incompatible with target list","literalAssignmentMismatch":"\\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","matchIsNotExhaustiveType":"Unhandled type: \\"{type}\\"","matchIsNotExhaustiveHint":"If exhaustive handling is not intended, add \\"case _: pass\\"","memberSetClassVar":"Member \\"{name}\\" cannot be assigned through a class instance because it is a ClassVar","memberAssignment":"Expression of type \\"{type}\\" cannot be assigned to member \\"{name}\\" of class \\"{classType}\\"","memberIsAbstract":"\\"{type}.{name}\\" is abstract","memberIsAbstractMore":"and {count} more...","memberIsFinalInProtocol":"\\"{name}\\" is marked Final in protocol","memberIsInitVar":"Member \\"{name}\\" is an init-only field","memberIsInvariant":"\\"{name}\\" is invariant because it is mutable","memberIsNotFinalInProtocol":"\\"{name}\\" is not marked Final in protocol","memberTypeMismatch":"\\"{name}\\" is an incompatible type","memberUnknown":"Member \\"{name}\\" is unknown","missingProtocolMember":"Member \\"{name}\\" is declared in protocol class \\"{classType}\\"","missingGetter":"Property getter method is missing","missingSetter":"Property setter method is missing","missingDeleter":"Property deleter method is missing","namedParamMissingInDest":"Keyword parameter \\"{name}\\" is missing in destination","namedParamMissingInSource":"Keyword parameter \\"{name}\\" is missing in source","namedParamTypeMismatch":"Keyword parameter \\"{name}\\" of type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","newMethodLocation":"The __new__ method is defined in class \\"{type}\\"","newMethodSignature":"Signature of __new__ is \\"{type}\\"","noOverloadAssignable":"No overloaded function matches type \\"{type}\\"","orPatternMissingName":"Missing names: {name}","overloadSignature":"Overload signature is defined here","overloadNotAssignable":"One or more overloads of \\"{name}\\" is not assignable","overloadWithImplementation":"The body of a function overload should be \\"...\\"","overriddenMethod":"Overridden method","overriddenSymbol":"Overridden symbol","overrideNoOverloadMatches":"No overload signature in override is compatible with base method","overrideNotClassMethod":"Base method is declared as a classmethod but override is not","overrideNotInstanceMethod":"Base method is declared as an instance method but override is not","overrideNotStaticMethod":"Base method is declared as a staticmethod but override is not","overrideParamKeywordNoDefault":"Keyword parameter \\"{name}\\" mismatch: base parameter has default argument value, override parameter does not","overrideParamKeywordType":"Keyword parameter \\"{name}\\" type mismatch: base parameter is type \\"{baseType}\\", override parameter is type \\"{overrideType}\\"","overrideParamName":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is named \\"{overrideName}\\"","overrideParamNameExtra":"Parameter \\"{name}\\" is missing in base","overrideParamNameMissing":"Parameter \\"{name}\\" is missing in override","overrideParamNamePositionOnly":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is position-only\\"","overrideParamNoDefault":"Parameter {index} mismatch: base parameter has default argument value, override parameter does not","overrideParamType":"Parameter {index} type mismatch: base parameter is type \\"{baseType}\\", override parameter is type \\"{overrideType}\\"","overridePositionalParamCount":"Positional parameter count mismatch; base method has {baseCount}, but override has {overrideCount}","overrideReturnType":"Return type mismatch: base method returns type \\"{baseType}\\", override returns type \\"{overrideType}\\"","overrideType":"Base class defines type as \\"{type}\\"","paramAssignment":"Parameter {index}: type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","paramSpecOverload":"ParamSpec cannot be used with overloaded function","paramType":"Parameter type is \\"{paramType}\\"","privateImportFromPyTypedSource":"Import from \\"{module}\\" instead","propertyAccessFromProtocolClass":"A property defined within a protocol class cannot be accessed as a class variable","propertyMethodIncompatible":"Property method \\"{name}\\" is incompatible","propertyMethodMissing":"Property method \\"{name}\\" is missing in override","propertyMissingDeleter":"Property \\"{name}\\" has no defined deleter","propertyMissingSetter":"Property \\"{name}\\" has no defined setter","protocolIncompatible":"\\"{sourceType}\\" is incompatible with protocol \\"{destType}\\"","protocolMemberClassVar":"\\"{name}\\" is not a class variable","protocolMemberMissing":"\\"{name}\\" is not present","protocolSourceIsNotConcrete":"\\"{sourceType}\\" is not a concrete class type and cannot be assigned to type \\"{destType}\\"","readOnlyAttribute":"Attribute \\"{name}\\" is read-only","seeDeclaration":"See declaration","seeClassDeclaration":"See class declaration","seeFunctionDeclaration":"See function declaration","seeMethodDeclaration":"See method declaration","seeParameterDeclaration":"See parameter declaration","seeTypeAliasDeclaration":"See type alias declaration","seeVariableDeclaration":"See variable declaration","tupleEntryTypeMismatch":"Tuple entry {entry} is incorrect type","tupleAssignmentMismatch":"Type \\"{type}\\" is incompatible with target tuple","tupleSizeMismatch":"Element size mismatch; expected {expected} but received {received}","tupleSizeMismatchIndeterminate":"Tuple size mismatch; expected {expected} but received indeterminate number","typeAssignmentMismatch":"Type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","typeBound":"Type \\"{sourceType}\\" is incompatible with bound type \\"{destType}\\" for type variable \\"{name}\\"","typeConstrainedTypeVar":"Type \\"{type}\\" is incompatible with constrained type variable \\"{name}\\"","typedDictFieldMissing":"\\"{name}\\" is missing from \\"{type}\\"","typedDictFieldNotRequired":"\\"{name}\\" is not required in \\"{type}\\"","typedDictFieldRequired":"\\"{name}\\" is required in \\"{type}\\"","typedDictFieldTypeMismatch":"Type \\"{type}\\" is not assignable to field \\"{name}\\"","typedDictFieldRedefinition":"Type in parent class is \\"{parentType}\\" and type in child class is \\"{childType}\\"","typedDictFieldUndefined":"\\"{name}\\" is an undefined field in type \\"{type}\\"","typedDictFinalMismatch":"\\"{sourceType}\\" is incompatible with \\"{destType}\\" because of a @final mismatch","typeIncompatible":"\\"{sourceType}\\" is incompatible with \\"{destType}\\"","typeNotCallable":"Type \\"{type}\\" is not callable","typeNotClass":"\\"{type}\\" is not a class","typeParamSpec":"Type \\"{type}\\" is incompatible with ParamSpec \\"{name}\\"","typeNotStringLiteral":"\\"{type}\\" is not a string literal","typeOfSymbol":"Type of \\"{name}\\" is \\"{type}\\"","typeUnsupported":"Type \\"{type}\\" is unsupported","typeVarIsContravariant":"TypeVar \\"{name}\\" is contravariant","typeVarIsCovariant":"TypeVar \\"{name}\\" is covariant","typeVarIsInvariant":"TypeVar \\"{name}\\" is invariant","typeVarNotAllowed":"TypeVar or generic type with type arguments not allowed","typeVarUnsolvableRemedy":"Provide an overload that specifies the return type when the argument is not supplied","typeVarsMissing":"Missing type variables: {names}","typeVarTupleRequiresKnownLength":"TypeVarTuple cannot be bound to a tuple of unknown length","unreachableExcept":"\\"{exceptionType}\\" is a subclass of \\"{parentType}\\"","useDictInstead":"Use Dict[T1, T2] to indicate a dictionary type","useListInstead":"Use List[T] to indicate a list type or Union[T1, T2] to indicate a union type","useTupleInstead":"Use Tuple[T1, ..., Tn] to indicate a tuple type or Union[T1, T2] to indicate a union type","useTypeInstead":"Use Type[T] instead"},"CodeAction":{"addOptionalToAnnotation":"Add \\"Optional\\" to Type Annotation","createTypeStub":"Create Type Stub","createTypeStubFor":"Create Type Stub For \\"{moduleName}\\"","executingCommand":"Executing command","filesToAnalyzeOne":"1 file to analyze","filesToAnalyzeCount":"{count} files to analyze","findingReferences":"Finding references","organizeImports":"Organize Imports"},"Refactoring":{"moveFile":"Do you want to update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileLabel":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileDescription":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?"}}')},1859:e=>{"use strict";e.exports={}},3409:e=>{"use strict";e.exports={}},6687:e=>{"use strict";e.exports={}},5491:e=>{"use strict";e.exports={}},3559:e=>{"use strict";e.exports={}},1308:e=>{"use strict";e.exports={}}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.loaded=!0,n.exports}__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var __webpack_exports__={};(()=>{"use strict";(0,__webpack_require__(6334).main)()})()})(); //# sourceMappingURL=pyright-langserver.js.map