diff --git a/lang/ui.es-es.json b/lang/ui.es-es.json index 0c702f70a..345cdc2a8 100644 --- a/lang/ui.es-es.json +++ b/lang/ui.es-es.json @@ -391,7 +391,7 @@ "description": "Language option text" }, "less-action": { - "defaultMessage": "menos", + "defaultMessage": "Less", "description": "Less button text (showing less content)" }, "load-error-makecode-info": { @@ -439,7 +439,7 @@ "description": "Links to the MicroPython source code in the about dialog" }, "more-action": { - "defaultMessage": "mas", + "defaultMessage": "More", "description": "More button text (showing more/further content)" }, "more-connect-options": { @@ -1035,7 +1035,7 @@ "description": "Support menu option text" }, "terms-of-use": { - "defaultMessage": "Términos de uso", + "defaultMessage": "Terms of use", "description": "Terms of use menu option text" }, "third-party-module-explanation": { diff --git a/lang/ui.ja.json b/lang/ui.ja.json index 774f88ef4..8f507037e 100644 --- a/lang/ui.ja.json +++ b/lang/ui.ja.json @@ -391,7 +391,7 @@ "description": "Language option text" }, "less-action": { - "defaultMessage": "減らす", + "defaultMessage": "少なく表示", "description": "Less button text (showing less content)" }, "load-error-makecode-info": { @@ -439,7 +439,7 @@ "description": "Links to the MicroPython source code in the about dialog" }, "more-action": { - "defaultMessage": "増やす", + "defaultMessage": "もっと見る", "description": "More button text (showing more/further content)" }, "more-connect-options": { @@ -863,7 +863,7 @@ "description": "Simulator gesture option" }, "simulator-gesture-down": { - "defaultMessage": "ロゴが下になった", + "defaultMessage": "下", "description": "Simulator gesture option" }, "simulator-gesture-face-down": { @@ -899,7 +899,7 @@ "description": "Simulator gesture option" }, "simulator-gesture-up": { - "defaultMessage": "ロゴが上になった", + "defaultMessage": "上", "description": "Simulator gesture option" }, "simulator-hide": { diff --git a/lang/ui.ko.json b/lang/ui.ko.json index 0f148421f..856169ef0 100644 --- a/lang/ui.ko.json +++ b/lang/ui.ko.json @@ -1035,7 +1035,7 @@ "description": "Support menu option text" }, "terms-of-use": { - "defaultMessage": "이용 약관", + "defaultMessage": "Terms of use", "description": "Terms of use menu option text" }, "third-party-module-explanation": { diff --git a/lang/ui.nl.json b/lang/ui.nl.json index 52555630e..41f041b2d 100644 --- a/lang/ui.nl.json +++ b/lang/ui.nl.json @@ -1035,7 +1035,7 @@ "description": "Support menu option text" }, "terms-of-use": { - "defaultMessage": "Gebruikers voorwaarden", + "defaultMessage": "Gebruiksvoorwaarden", "description": "Terms of use menu option text" }, "third-party-module-explanation": { diff --git a/lang/ui.zh-cn.json b/lang/ui.zh-cn.json index 8bd9b2c88..3f9d7c1f4 100644 --- a/lang/ui.zh-cn.json +++ b/lang/ui.zh-cn.json @@ -320,7 +320,7 @@ "description": "Title for the firmware update dialog" }, "flash-action": { - "defaultMessage": "烧录", + "defaultMessage": "下载", "description": "Text for flash button" }, "flash-hover": { @@ -391,7 +391,7 @@ "description": "Language option text" }, "less-action": { - "defaultMessage": "更少", + "defaultMessage": "Less", "description": "Less button text (showing less content)" }, "load-error-makecode-info": { @@ -439,7 +439,7 @@ "description": "Links to the MicroPython source code in the about dialog" }, "more-action": { - "defaultMessage": "更多", + "defaultMessage": "More", "description": "More button text (showing more/further content)" }, "more-connect-options": { @@ -1035,7 +1035,7 @@ "description": "Support menu option text" }, "terms-of-use": { - "defaultMessage": "使用条款", + "defaultMessage": "Terms of use", "description": "Terms of use menu option text" }, "third-party-module-explanation": { diff --git a/lang/ui.zh-tw.json b/lang/ui.zh-tw.json index 8cb18f409..4460c15f1 100644 --- a/lang/ui.zh-tw.json +++ b/lang/ui.zh-tw.json @@ -320,7 +320,7 @@ "description": "Title for the firmware update dialog" }, "flash-action": { - "defaultMessage": "讀寫", + "defaultMessage": "燒錄", "description": "Text for flash button" }, "flash-hover": { @@ -391,7 +391,7 @@ "description": "Language option text" }, "less-action": { - "defaultMessage": "查看較少", + "defaultMessage": "Less", "description": "Less button text (showing less content)" }, "load-error-makecode-info": { @@ -439,7 +439,7 @@ "description": "Links to the MicroPython source code in the about dialog" }, "more-action": { - "defaultMessage": "查看較多", + "defaultMessage": "More", "description": "More button text (showing more/further content)" }, "more-connect-options": { @@ -1035,7 +1035,7 @@ "description": "Support menu option text" }, "terms-of-use": { - "defaultMessage": "網站使用條款", + "defaultMessage": "Terms of use", "description": "Terms of use menu option text" }, "third-party-module-explanation": { diff --git a/public/workers/pyright-locale-372-0169930372300256482e.worker.js b/public/workers/pyright-locale-372-0169930372300256482e.worker.js new file mode 100644 index 000000000..7940791ff --- /dev/null +++ b/public/workers/pyright-locale-372-0169930372300256482e.worker.js @@ -0,0 +1 @@ +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[372],{1372:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"오류: 인자가 매개변수 유형과 일치하지 않습니다.","argAssignmentFunction":"오류: 인자가 \\"{functionName}\\" 함수의 매개변수 유형과 일치하지 않습니다.","argAssignmentParam":"오류: 인자가 \\"{paramName}\\" 함수의 매개변수 유형과 일치하지 않습니다.","argAssignmentParamFunction":"오류: 인자가 \\"{paramName}\\" 함수의 매개변수 유형과 일치하지 않습니다.","argMissingForParam":"{name} 매개변수의 인자가 누락되어 있습니다.","argMissingForParams":"{name} 매개변수들의 인자가 누락됨","argMorePositionalExpectedCount":"위치 인자가 {expected}개 더 필요합니다.","argMorePositionalExpectedOne":"위치 인자를 1개 더 예상했습니다.","argPositional":"위치 인자가 필요합니다.","argPositionalExpectedOne":"위치 인자가 1개 필요합니다.","assignmentTargetExpr":"수학식은 값을 지정하는 대상이 될 수 없습니다.","booleanIsLowerCase":"변수 \'{name}\'은(는) 정의되지 않았습니다. \'{booleanName}\' 변수를 쓰려 했나요?","breakOutsideLoop":"\\"break\\"는 \\"while\\" 또는 \\"for\\" 루프에서만 사용될 수 있음","constructorNoArgs":"\\"{type}\\" 생성자에는 인자가 필요하지 않음","continueOutsideLoop":"\\"continue\\"는 \\"while\\" 또는 \\"for\\" 루프에서만 사용될 수 있음","delTargetExpr":"표현식은 삭제할 수 없음","duplicateParam":"매개변수 \\"{name}\\"(이)가 중복됨","expectedAssignRightHandExpr":"\\"=\\" 오른쪽에 표현식이 필요함","expectedBinaryRightHandExpr":"연산자 오른쪽에 표현식이 필요함","expectedClassName":"클래스 이름이 누락됨","expectedCloseBrace":"닫는 괄호 \\"}\\"가 누락됨","expectedCloseBracket":"닫는 괄호 \\"]\\"가 누락됨","expectedCloseParen":"닫는 괄호 \\")\\"가 누락됨","expectedColon":"콜론 \\":\\"이 누락됨 ","expectedDelExpr":"\\"del\\" 이후 표현식이 누락됨","expectedElse":"\\"else\\"가 누락됨","expectedEqualityOperator":"동등 연산자가 필요합니다. \\"==\\"입니까?","expectedExpr":"표현식이 누락됨","expectedFunctionName":"\\"def\\" 뒤의 함수 이름이 누락됨","expectedIdentifier":"식별자가 누락됨","expectedImport":"\\"import\\"가 누락됨","expectedImportAlias":"\\"as\\" 뒤의 기호가 누락됨","expectedImportSymbols":"가져오기 후 1개 이상의 기호 이름이 필요함","expectedIn":"\\"in\\"이 누락됨","expectedIndentedBlock":"들여쓰기가 누락됨","expectedInExpr":"\\"in\\" 뒤의 표현식이 누락됨","expectedMemberName":"\\".\\" 뒤의 멤버 이름이 누락됨","expectedModuleName":"모듈 이름이 누락됨","expectedNamedParameter":"키워드 매개변수 뒤에는 반드시 \\"*\\"를 붙여야 함","expectedNewlineOrSemicolon":"예상치 못한 추가 콘텐츠\\n구문은 한 줄이어야 함","expectedOpenParen":"여는 괄호 \\"(\\"가 누락됨","expectedParamName":"매개변수 이름이 누락됨","expectedSliceIndex":"인덱스 또는 슬라이스가 누락됨","expectedYieldExpr":"yield 구문에 표현식이 필요함","globalReassignment":"\\"{name}\\"(이)가 전역 선언 전에 할당되어 있음","globalRedefinition":"\\"{name}\\"(이)가 이미 전역 선언됨","importResolveFailure":"\\"{importName}\\" 모듈이 발견되지 않음","importSymbolUnknown":"\\"{moduleName}\\" 모듈에서 \\"{name}\\"(이)가 발견되지 않음","inconsistentIndent":"들여쓰기가 이전 줄과 일치하지 않음","inconsistentTabs":"들여쓰기에 탭과 스페이스가 불규칙적으로 사용됨","instanceMethodSelfParam":"인스턴스 메소드는 \\"self\\" 매개변수가 필요함","invalidIdentifierChar":"인식자의 문자가 올바르지 않음","invalidTokenChars":"토큰 내 문자 \\"{text}\\"(이)가 올바르지 않음","memberAccess":"\\"{type}\\" 유형으로 \\"{name}\\" 멤버에 접근할 수 없음","memberDelete":"\\"{type}\\" 유형으로 \\"{name}\\" 멤버를 삭제할 수 없음","memberSet":"\\"{type}\\" 유형으로 \\"{name}\\" 멤버를 할당할 수 없음","moduleNotCallable":"모듈을 호출할 수 없음","moduleUnknownMember":"\\"{name}\\"(이)가 \\"{module}\\"의 기존 멤버가 아님","nonDefaultAfterDefault":"기본값 인자 뒤에 기본값이 아닌 인자가 입력됨","noOverload":"인자가 매개변수 유형과 일치하지 않음","objectNotCallable":"개체를 호출할 수 없음","obscuredClassDeclaration":"\\"{name}\\" 클래스가 같은 이름의 다른 선언과 충돌함","obscuredFunctionDeclaration":"\\"{name}\\" 함수가 같은 이름의 다른 선언과 충돌함","obscuredMethodDeclaration":"\\"{name}\\" 메소드가 같은 이름의 다른 선언과 충돌함","obscuredParameterDeclaration":"\\"{name}\\" 매개변수가 같은 이름의 다른 선언과 충돌함","obscuredVariableDeclaration":"\\"{name}\\" 선언이 같은 이름의 다른 선언과 충돌함","paramAfterKwargsParam":"\\"**\\" 매개변수 뒤에는 매개변수를 입력할 수 없음","paramAlreadyAssigned":"\\"{name}\\" 매개변수가 이미 할당됨","paramNameMissing":"이름이 \\"{name}\\"인 매개변수가 없음","positionArgAfterNamedArg":"키워드 인자 뒤에 위치 인자를 입력할 수 없음","returnOutsideFunction":"\\"return\\"은 함수 내에서만 사용해야 함","stringUnsupportedEscape":"문자열 리터럴 내에서 해당 이스케이프 시퀀스를 지원하지 않음","stringUnterminated":"문자열이 닫혀있지 않음 — 따옴표가 필요함","symbolIsUndefined":"\\"{name}\\"(이)가 정의되지 않음","trailingCommaInFromImport":"소괄호 없이는 후행 쉼표를 사용할 수 없음","tupleIndexOutOfRange":"{index} 인덱스가 {type} 유형의 범위 밖임","typeNotIterable":"Type은 연속형이 아님","typeNotSupportBinaryOperator":"\\"{operator}\\" 연산자가 해당 조합 유형을 지원하지 않음","typeNotSupportBinaryOperatorBidirectional":"오류: \\"{operator}\\" 연산자가 해당 조합 유형을 지원하지 않습니다.","unaccessedClass":"\\"{name}\\" 클래스가 사용되지 않음","unaccessedFunction":"\\"{name}\\" 함수가 사용되지 않음","unaccessedImport":"\\"{name}\\" 가져오기가 사용되지 않음","unaccessedSymbol":"\\"{name}\\"(이)가 사용되지 않음","unaccessedVariable":"\\"{name}\\" 변수가 사용되지 않음\\n","unexpectedIndent":"예상치 못한 들여쓰기","unreachableCode":"코드에 접근할 수 없음\\n프로그램의 논리에 따르면 이 코드는 절대로 실행할 수 없음"},"DiagnosticAddendum":{"tupleSizeMismatch":"요소 크기가 일치하지 않음: {expected}(이)가 필요하지만 {received}(을)를 받음"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-372-2f2f20ca0313ae5dd1d6.worker.js b/public/workers/pyright-locale-372-2f2f20ca0313ae5dd1d6.worker.js deleted file mode 100644 index a1d22cfd7..000000000 --- a/public/workers/pyright-locale-372-2f2f20ca0313ae5dd1d6.worker.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[372],{1372:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"인자가 매개변수 유형과 일치하지 않음","argAssignmentFunction":"인자가 \\"{functionName}\\" 함수의 매개변수 유형과 일치하지 않음","argAssignmentParam":"인자가 \\"{paramName}\\" 함수의 매개변수 유형과 일치하지 않음","argAssignmentParamFunction":"인자가 \\"{paramName}\\" 함수의 매개변수 유형과 일치하지 않음","argMissingForParam":"{name} 매개변수의 인자가 누락됨","argMissingForParams":"{name} 매개변수들의 인자가 누락됨","argMorePositionalExpectedCount":"위치 인자가 {expected}개 더 필요함","argMorePositionalExpectedOne":"위치 인자가 1개 더 필요함","argPositional":"위치 인자가 필요함","argPositionalExpectedOne":"위치 인자가 1개 필요함","assignmentTargetExpr":"표현식은 할당 대상이 될 수 없음","booleanIsLowerCase":"\\"{name}\\"(이)가 정의되지 않았습니다. \\"{booleanName}\\"입니까?","breakOutsideLoop":"\\"break\\"는 \\"while\\" 또는 \\"for\\" 루프에서만 사용될 수 있음","constructorNoArgs":"\\"{type}\\" 생성자에는 인자가 필요하지 않음","continueOutsideLoop":"\\"continue\\"는 \\"while\\" 또는 \\"for\\" 루프에서만 사용될 수 있음","delTargetExpr":"표현식은 삭제할 수 없음","duplicateParam":"매개변수 \\"{name}\\"(이)가 중복됨","expectedAssignRightHandExpr":"\\"=\\" 오른쪽에 표현식이 필요함","expectedBinaryRightHandExpr":"연산자 오른쪽에 표현식이 필요함","expectedClassName":"클래스 이름이 누락됨","expectedCloseBrace":"닫는 괄호 \\"}\\"가 누락됨","expectedCloseBracket":"닫는 괄호 \\"]\\"가 누락됨","expectedCloseParen":"닫는 괄호 \\")\\"가 누락됨","expectedColon":"콜론 \\":\\"이 누락됨 ","expectedDelExpr":"\\"del\\" 이후 표현식이 누락됨","expectedElse":"\\"else\\"가 누락됨","expectedEqualityOperator":"동등 연산자가 필요합니다. \\"==\\"입니까?","expectedExpr":"표현식이 누락됨","expectedFunctionName":"\\"def\\" 뒤의 함수 이름이 누락됨","expectedIdentifier":"식별자가 누락됨","expectedImport":"\\"import\\"가 누락됨","expectedImportAlias":"\\"as\\" 뒤의 기호가 누락됨","expectedImportSymbols":"가져오기 후 1개 이상의 기호 이름이 필요함","expectedIn":"\\"in\\"이 누락됨","expectedIndentedBlock":"들여쓰기가 누락됨","expectedInExpr":"\\"in\\" 뒤의 표현식이 누락됨","expectedMemberName":"\\".\\" 뒤의 멤버 이름이 누락됨","expectedModuleName":"모듈 이름이 누락됨","expectedNamedParameter":"키워드 매개변수 뒤에는 반드시 \\"*\\"를 붙여야 함","expectedNewlineOrSemicolon":"예상치 못한 추가 콘텐츠\\n구문은 한 줄이어야 함","expectedOpenParen":"여는 괄호 \\"(\\"가 누락됨","expectedParamName":"매개변수 이름이 누락됨","expectedSliceIndex":"인덱스 또는 슬라이스가 누락됨","expectedYieldExpr":"yield 구문에 표현식이 필요함","globalReassignment":"\\"{name}\\"(이)가 전역 선언 전에 할당되어 있음","globalRedefinition":"\\"{name}\\"(이)가 이미 전역 선언됨","importResolveFailure":"\\"{importName}\\" 모듈이 발견되지 않음","importSymbolUnknown":"\\"{moduleName}\\" 모듈에서 \\"{name}\\"(이)가 발견되지 않음","inconsistentIndent":"들여쓰기가 이전 줄과 일치하지 않음","inconsistentTabs":"들여쓰기에 탭과 스페이스가 불규칙적으로 사용됨","instanceMethodSelfParam":"인스턴스 메소드는 \\"self\\" 매개변수가 필요함","invalidIdentifierChar":"인식자의 문자가 올바르지 않음","invalidTokenChars":"토큰 내 문자 \\"{text}\\"(이)가 올바르지 않음","memberAccess":"\\"{type}\\" 유형으로 \\"{name}\\" 멤버에 접근할 수 없음","memberDelete":"\\"{type}\\" 유형으로 \\"{name}\\" 멤버를 삭제할 수 없음","memberSet":"\\"{type}\\" 유형으로 \\"{name}\\" 멤버를 할당할 수 없음","moduleNotCallable":"모듈을 호출할 수 없음","moduleUnknownMember":"\\"{name}\\"(이)가 \\"{module}\\"의 기존 멤버가 아님","nonDefaultAfterDefault":"기본값 인자 뒤에 기본값이 아닌 인자가 입력됨","noOverload":"인자가 매개변수 유형과 일치하지 않음","objectNotCallable":"개체를 호출할 수 없음","obscuredClassDeclaration":"\\"{name}\\" 클래스가 같은 이름의 다른 선언과 충돌함","obscuredFunctionDeclaration":"\\"{name}\\" 함수가 같은 이름의 다른 선언과 충돌함","obscuredMethodDeclaration":"\\"{name}\\" 메소드가 같은 이름의 다른 선언과 충돌함","obscuredParameterDeclaration":"\\"{name}\\" 매개변수가 같은 이름의 다른 선언과 충돌함","obscuredVariableDeclaration":"\\"{name}\\" 선언이 같은 이름의 다른 선언과 충돌함","paramAfterKwargsParam":"\\"**\\" 매개변수 뒤에는 매개변수를 입력할 수 없음","paramAlreadyAssigned":"\\"{name}\\" 매개변수가 이미 할당됨","paramNameMissing":"이름이 \\"{name}\\"인 매개변수가 없음","positionArgAfterNamedArg":"키워드 인자 뒤에 위치 인자를 입력할 수 없음","returnOutsideFunction":"\\"return\\"은 함수 내에서만 사용해야 함","stringUnsupportedEscape":"문자열 리터럴 내에서 해당 이스케이프 시퀀스를 지원하지 않음","stringUnterminated":"문자열이 닫혀있지 않음 — 따옴표가 필요함","symbolIsUndefined":"\\"{name}\\"(이)가 정의되지 않음","trailingCommaInFromImport":"소괄호 없이는 후행 쉼표를 사용할 수 없음","tupleIndexOutOfRange":"{index} 인덱스가 {type} 유형의 범위 밖임","typeNotIterable":"Type은 연속형이 아님","typeNotSupportBinaryOperator":"\\"{operator}\\" 연산자가 해당 조합 유형을 지원하지 않음","typeNotSupportBinaryOperatorBidirectional":"\\"{operator}\\" 연산자가 해당 조합 유형을 지원하지 않음","unaccessedClass":"\\"{name}\\" 클래스가 사용되지 않음","unaccessedFunction":"\\"{name}\\" 함수가 사용되지 않음","unaccessedImport":"\\"{name}\\" 가져오기가 사용되지 않음","unaccessedSymbol":"\\"{name}\\"(이)가 사용되지 않음","unaccessedVariable":"\\"{name}\\" 변수가 사용되지 않음\\n","unexpectedIndent":"예상치 못한 들여쓰기","unreachableCode":"코드에 접근할 수 없음\\n프로그램의 논리에 따르면 이 코드는 절대로 실행할 수 없음"},"DiagnosticAddendum":{"tupleSizeMismatch":"요소 크기가 일치하지 않음: {expected}(이)가 필요하지만 {received}(을)를 받음"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-main-99cf7dc02c2324815d13.worker.js b/public/workers/pyright-main-8d89bff7a80da04790e7.worker.js similarity index 99% rename from public/workers/pyright-main-99cf7dc02c2324815d13.worker.js rename to public/workers/pyright-main-8d89bff7a80da04790e7.worker.js index eb5295596..c1e018a06 100644 --- a/public/workers/pyright-main-99cf7dc02c2324815d13.worker.js +++ b/public/workers/pyright-main-8d89bff7a80da04790e7.worker.js @@ -1,3 +1,3 @@ -/*! For license information please see pyright-main-99cf7dc02c2324815d13.worker.js.LICENSE.txt */ -(()=>{var __webpack_modules__={9742:(e,t)=>{"use strict";t.byteLength=function(e){var t=l(e),n=t[0],i=t[1];return 3*(n+i)/4-i},t.toByteArray=function(e){var t,n,s=l(e),o=s[0],a=s[1],c=new r(function(e,t,n){return 3*(t+n)/4-n}(0,o,a)),u=0,p=a>0?o-4:o;for(n=0;n>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===a&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,c[u++]=255&t),1===a&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,s=[],o=16383,a=0,l=i-r;al?l:a+o));return 1===r?(t=e[i-1],s.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),s.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,i){for(var r,s,o=[],a=t;a>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},8764:(e,t,n)=>{"use strict";const i=n(9742),r=n(645),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50;const o=2147483647;function a(e){if(e>o)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return p(e)}return c(e,t,n)}function c(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const n=0|f(e,t);let i=a(n);const r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(J(e,Uint8Array)){const t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return d(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(J(e,ArrayBuffer)||e&&J(e.buffer,ArrayBuffer))return h(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(J(e,SharedArrayBuffer)||e&&J(e.buffer,SharedArrayBuffer)))return h(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return l.from(i,t,n);const r=function(e){if(l.isBuffer(e)){const t=0|m(e.length),n=a(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||Y(e.length)?a(0):d(e):"Buffer"===e.type&&Array.isArray(e.data)?d(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function p(e){return u(e),a(e<0?0:0|m(e))}function d(e){const t=e.length<0?0:0|m(e.length),n=a(t);for(let i=0;i=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||J(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;let r=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return G(e).length;default:if(r)return i?-1:H(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){let i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return A(this,t,n);case"utf8":case"utf-8":return w(this,t,n);case"ascii":return k(this,t,n);case"latin1":case"binary":return D(this,t,n);case"base64":return C(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function y(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}function _(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),Y(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:v(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function v(e,t,n,i,r){let s,o=1,a=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){let i=-1;for(s=n;sa&&(n=a-l),s=n;s>=0;s--){let n=!0;for(let i=0;ir&&(i=r):i=r;const s=t.length;let o;for(i>s/2&&(i=s/2),o=0;o>8,r=n%256,s.push(r),s.push(i);return s}(t,e.length-n),e,n,i)}function C(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function w(e,t,n){n=Math.min(e.length,n);const i=[];let r=t;for(;r239?4:t>223?3:t>191?2:1;if(r+o<=n){let n,i,a,l;switch(o){case 1:t<128&&(s=t);break;case 2:n=e[r+1],128==(192&n)&&(l=(31&t)<<6|63&n,l>127&&(s=l));break;case 3:n=e[r+1],i=e[r+2],128==(192&n)&&128==(192&i)&&(l=(15&t)<<12|(63&n)<<6|63&i,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:n=e[r+1],i=e[r+2],a=e[r+3],128==(192&n)&&128==(192&i)&&128==(192&a)&&(l=(15&t)<<18|(63&n)<<12|(63&i)<<6|63&a,l>65535&&l<1114112&&(s=l))}}null===s?(s=65533,o=1):s>65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|1023&s),i.push(s),r+=o}return function(e){const t=e.length;if(t<=E)return String.fromCharCode.apply(String,e);let n="",i=0;for(;ii.length?(l.isBuffer(t)||(t=l.from(t)),t.copy(i,r)):Uint8Array.prototype.set.call(i,t,r);else{if(!l.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(i,r)}r+=t.length}return i},l.byteLength=f,l.prototype._isBuffer=!0,l.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tn&&(e+=" ... "),""},s&&(l.prototype[s]=l.prototype.inspect),l.prototype.compare=function(e,t,n,i,r){if(J(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;let s=(r>>>=0)-(i>>>=0),o=(n>>>=0)-(t>>>=0);const a=Math.min(s,o),c=this.slice(i,r),u=e.slice(t,n);for(let e=0;e>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}const r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return T(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":case"latin1":case"binary":return I(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const E=4096;function k(e,t,n){let i="";n=Math.min(e.length,n);for(let r=t;ri)&&(n=i);let r="";for(let i=t;in)throw new RangeError("Trying to access beyond buffer length")}function F(e,t,n,i,r,s){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function N(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,n}function M(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n+7]=s,s>>=8,e[n+6]=s,s>>=8,e[n+5]=s,s>>=8,e[n+4]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=o,o>>=8,e[n+2]=o,o>>=8,e[n+1]=o,o>>=8,e[n]=o,n+8}function O(e,t,n,i,r,s){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function U(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,8),r.write(e,t,n,i,52,8),n+8}l.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e+--t],r=1;for(;t>0&&(r*=256);)i+=this[e+--t]*r;return i},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readBigUInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,r=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(i)+(BigInt(r)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t*2**24+65536*this[++e]+256*this[++e]+this[++e],r=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(i)<>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s=r&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||R(e,t,this.length);let i=t,r=1,s=this[e+--i];for(;i>0&&(r*=256);)s+=this[e+--i]*r;return r*=128,s>=r&&(s-=Math.pow(2,8*t)),s},l.prototype.readInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readBigInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(i)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(i)<>>=0,t||R(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||R(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=1,s=0;for(this[t]=255&e;++s>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=n-1,s=1;for(this[t+r]=255&e;--r>=0&&(s*=256);)this[t+r]=e/s&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigUInt64LE=Z((function(e,t=0){return N(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeBigUInt64BE=Z((function(e,t=0){return M(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=0,s=1,o=0;for(this[t]=255&e;++r>0)-o&255;return t+n},l.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=n-1,s=1,o=0;for(this[t+r]=255&e;--r>=0&&(s*=256);)e<0&&0===o&&0!==this[t+r+1]&&(o=1),this[t+r]=(e/s>>0)-o&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigInt64LE=Z((function(e,t=0){return N(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeBigInt64BE=Z((function(e,t=0){return M(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,i){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(r=t;r=i+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function W(e,t,n,i,r,s){if(e>n||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(s+1)}${i}`:`>= -(2${i} ** ${8*(s+1)-1}${i}) and < 2 ** ${8*(s+1)-1}${i}`:`>= ${t}${i} and <= ${n}${i}`,new q.ERR_OUT_OF_RANGE("value",r,e)}!function(e,t,n){j(t,"offset"),void 0!==e[t]&&void 0!==e[t+n]||z(t,e.length-(n+1))}(i,r,s)}function j(e,t){if("number"!=typeof e)throw new q.ERR_INVALID_ARG_TYPE(t,"number",e)}function z(e,t,n){if(Math.floor(e)!==e)throw j(e,n),new q.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new q.ERR_BUFFER_OUT_OF_BOUNDS;throw new q.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}V("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),V("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),V("ERR_OUT_OF_RANGE",(function(e,t,n){let i=`The value of "${e}" is out of range.`,r=n;return Number.isInteger(n)&&Math.abs(n)>2**32?r=B(String(n)):"bigint"==typeof n&&(r=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(r=B(r)),r+="n"),i+=` It must be ${t}. Received ${r}`,i}),RangeError);const $=/[^+/0-9A-Za-z-_]/g;function H(e,t){let n;t=t||1/0;const i=e.length;let r=null;const s=[];for(let o=0;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function G(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace($,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function K(e,t,n,i){let r;for(r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function J(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Y(e){return e!=e}const Q=function(){const e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){const i=16*n;for(let r=0;r<16;++r)t[i+r]=e[n]+e[r]}return t}();function Z(e){return"undefined"==typeof BigInt?X:e}function X(){throw new Error("BigInt not supported")}},645:(e,t)=>{t.read=function(e,t,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,p=n?r-1:0,d=n?-1:1,h=e[t+p];for(p+=d,s=h&(1<<-u)-1,h>>=-u,u+=a;u>0;s=256*s+e[t+p],p+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=256*o+e[t+p],p+=d,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(h?-1:1);o+=Math.pow(2,i),s-=c}return(h?-1:1)*o*Math.pow(2,s-i)},t.write=function(e,t,n,i,r,s){var o,a,l,c=8*s-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,h=i?0:s-1,m=i?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+p>=1?d/l:d*Math.pow(2,1-p))*l>=2&&(o++,l/=2),o+p>=u?(a=0,o=u):o+p>=1?(a=(t*l-1)*Math.pow(2,r),o+=p):(a=t*Math.pow(2,p-1)*Math.pow(2,r),o=0));r>=8;e[n+h]=255&a,h+=m,a/=256,r-=8);for(o=o<0;e[n+h]=255&o,h+=m,o/=256,c-=8);e[n+h-m]|=128*f}},6470:e=>{"use strict";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="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(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=r:e+="/"+r)}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 r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,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,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-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,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},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 function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},6755:()=>{"use strict";Promise.prototype.ignoreErrors=function(){this.catch((()=>{}))}},1169:(e,t,n)=>{"use strict";e.exports=n(9054)},9054: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]}),r=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.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(5669).default.install();const s=n(3870);r(n(3870),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),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.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},5669:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(147),r=n(3911),s=n(7135),o=n(5530);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},3870:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=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.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.RAL=void 0,t.CancellationStrategy=void 0;const i=n(839);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 r=n(3911);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(7135);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(3881);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(6525);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(6654);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(1343);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,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),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 u=n(147);t.RAL=u.default},3881:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(147),r=n(7574),s=n(7135);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));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 s.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}}},1343:(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.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(147),r=n(7574),s=n(839),o=n(6184),a=n(7135),l=n(3881);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,q=b.New;const V=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(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 G(e){}function K(){return q===b.Listening}function J(){return q===b.Closed}function Y(){return q===b.Disposed}function Q(){q!==b.New&&q!==b.Listening||(q=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\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}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.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?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){V.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){V.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:V.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;q=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),q=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},3911:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},7135:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(147);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{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,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),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=s._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=s,s._noop=function(){}},7574:(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)))}},6184:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="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?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),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,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,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===n.First||t===n.Last)if(t===n.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===n.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=i,t.LRUCache=class extends i{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=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},5530:(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 r=i.slice(0,e);t.set(r,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}}},6525:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(147),r=n(7574),s=n(7135);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.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: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=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)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.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=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=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&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=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))}}},6654:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(147),r=n(7574),s=n(142),o=n(7135);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{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: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.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()}}},839:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=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(7574);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},147:(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}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},142:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(147);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&&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()}}}},5224:(e,t,n)=>{"use strict";e.exports=n(152)},152: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]}),r=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 s=n(1169);r(n(1169),t),r(n(1661),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},1661: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]}),r=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,r(n(9054),t),r(n(1674),t),r(n(6140),t),r(n(542),t);var s,o=n(3767);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},3767:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(9054);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},6140:(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(9054);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;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},2918:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(6140);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},9891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(6140);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},5934:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(6140);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},764:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(6140);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},7846:(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(6140);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3394:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(6140);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},2122:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(6140);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},542:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=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.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.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,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.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=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=void 0;const i=n(9533),r=n(6140),s=n(2122);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(1589);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(9795);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(5934);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(9891);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3394);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(764);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(5206);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(1862);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(2918);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(9434);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5726);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(6305);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(7846);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(3443);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,q,V,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=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)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(V=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,V.TriggerCharacter=2,V.ContentChange=3,(q=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",q.type=new r.ProtocolRequestType(q.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},6305:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(6140);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},3443:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(6140);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},1862:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(9054),r=n(6140);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},5206:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(6140);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},9434:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5726:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(6140);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},1589:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(6140);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},9795:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(6140);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},9533:(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}},1674:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>q,CompletionItem:()=>V,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.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},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.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},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.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 ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,q,V,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.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}(),oe=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(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(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(P.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:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,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 r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,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,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},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 r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),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,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(q||(q={})),function(e){e.create=function(e){return{label:e}}}(V||(V={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=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 s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},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";e.exports=n(7630)},7630: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]}),r=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=void 0;const s=n(6265);r(n(5224),t),r(n(6265),t);let o=!1;const a={initialize:e=>{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},6265: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]}),r=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.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(9817);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(152),t),r(n(5878),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7985:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(152);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;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2507:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(152),r=n(289);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.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(e)?t:t[0]))}}},828:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(152);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){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)))}}},2776:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(152);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},8120:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(152);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2731:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(152),r=n(7560);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}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(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{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 l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;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 s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.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 u(e,n)}},9817:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(152);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,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(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(152),r=n(289),s=n(7560),o=n(2731),a=n(2507),l=n(8634),c=n(7985),u=n(9817),p=n(5421),d=n(828),h=n(2776),m=n(8120);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,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 onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.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._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},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 g{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})}}const y=p.ShowDocumentFeature(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(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.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).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{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 _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).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=r.string(e)?e:e.method,o=s.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)}))),(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).then(void 0,(t=>{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 b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(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 I{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})}}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){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{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 o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},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,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;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=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},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,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),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,o.attachWorkDone(a,t),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,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,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,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,o.attachWorkDone(a,t),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,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,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=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},5421:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(152);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},289:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(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=r,t.stringArray=function(e){return r(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)}},7560:(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 r(){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=r;const s=/^[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 s.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 r().asHex()}},8634:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(152);t.WorkspaceFoldersFeature=e=>class extends e{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)})))}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._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},306:e=>{"use strict";e.exports={i8:"1.1.159"}},3574:(e,t,n)=>{"use strict";const i=n(9149),r=n.g.Date;class s extends r{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 s(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},8477:(e,t,n)=>{"use strict";const i=n(9149);class r 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 r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},350:e=>{"use strict";e.exports=e=>{const t=new Date(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},7571:(e,t,n)=>{"use strict";const i=n(9149);class r 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 r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},9149: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 r{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__(2306)),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__(350),createDateTimeFloat=__webpack_require__(8477),createDate=__webpack_require__(3574),createTime=__webpack_require__(7571),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=__webpack_require__.g.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),__webpack_require__.g.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 (])"))}}}},5352:(e,t,n)=>{"use strict";e.exports=function(e,t){t||(t={});const n=t.blocksize||40960,s=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(s.finish())}catch(t){return a(r(t,e))}try{s.parse(e.slice(t,t+n)),setImmediate(o,t+n,n,i,a)}catch(t){a(r(t,e))}}};const i=n(2725),r=n(4354)},4354: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/),r=String(Math.min(i.length,e.line+3)).length;let s=" ";for(;s.length "+i[t]+"\n",n+=s+" ";for(let t=0;t{"use strict";e.exports=function(e){return e?function(e){const t=new r;return e.setEncoding("utf8"),new Promise(((n,i)=>{let r,s=!1,o=!1;function a(){if(s=!0,!r)try{n(t.finish())}catch(e){i(e)}}function l(e){o=!0,i(e)}e.once("end",a),e.once("error",l),function n(){let i;for(r=!0;null!==(i=e.read());)try{t.parse(i)}catch(e){return l(e)}if(r=!1,s)return a();o||e.once("readable",n)}()}))}(e):function(){const e=new r;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(9191),r=n(2725)},4567:(e,t,n)=>{"use strict";e.exports=function(e){n.g.Buffer&&n.g.Buffer.isBuffer(e)&&(e=e.toString("utf8"));const t=new i;try{return t.parse(e),t.finish()}catch(t){throw r(t,e)}};const i=n(2725),r=n(4354)},2884:(e,t,n)=>{"use strict";e.exports=n(4567),e.exports.async=n(5352),e.exports.stream=n(2173),e.exports.prettyError=n(4354)},5249:e=>{"use strict";function t(e){return new Error("Can only stringify objects, not "+e)}function n(e){return Object.keys(e).filter((t=>s(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 r(e,l,c){var p,d;p=n(c=i(c)),d=function(e){return Object.keys(e).filter((t=>!s(e[t])))}(c);var m=[],f=l||"";p.forEach((e=>{var t=o(c[e]);"undefined"!==t&&"null"!==t&&m.push(f+a(e)+" = "+u(c[e],!0))})),m.length>0&&m.push("");var g=e&&p.length>0?l+" ":"";return d.forEach((s=>{m.push(function(e,s,l,c){var u=o(c);if("array"===u)return function(e,n,s,l){h(l=i(l));var c=o(l[0]);if("table"!==c)throw t(c);var u=e+a(s),p="";return l.forEach((e=>{p.length>0&&(p+="\n"),p+=n+"[["+u+"]]\n",p+=r(u+".",n,e)})),p}(e,s,l,c);if("table"===u)return function(e,t,i,s){var o=e+a(i),l="";return n(s).length>0&&(l+=t+"["+o+"]\n"),l+r(o+".",t,s)}(e,s,l,c);throw t(u)}(e,g,s,c[s]))})),m.join("\n")}function s(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:l(t)}function l(e){return'"'+c(e).replace(/"/g,'\\"')+'"'}function c(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 u(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=>c(e).replace(/"(?="")/g,'\\"'))).join("\n");return'"'===t.slice(-1)&&(t+="\\\n"),'"""\n'+t+'"""'}(e);case"string":return l(e);case"string-literal":return"'"+e+"'";case"integer":return d(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 d(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=h(e=i(e));var n="[",r=e.map((e=>p(e,t)));return r.join(", ").length>60||/\n/.test(r)?n+="\n "+r.join(",\n ")+"\n":n+=" "+r.join(", ")+(r.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)+" = "+u(e[n],!1))})),"{ "+t.join(", ")+(t.length>0?" ":"")+"}"}(e);default:throw t(n)}}function d(e){return String(e).replace(/\B(?=(\d{3})+(?!\d))/g,"_")}function h(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 r("","",e)},e.exports.value=p},2125:(e,t,n)=>{"use strict";t.parse=n(2884),n(5249)},7588:e=>{"use strict";const t=[],n=[],i=(e,i)=>{if(e===i)return 0;const r=e;e.length>i.length&&(e=i,i=r);let s=e.length,o=i.length;for(;s>0&&e.charCodeAt(~-s)===i.charCodeAt(~-o);)s--,o--;let a,l,c,u,p=0;for(;pl?u>l?l+1:u:u>c?c+1:u;return l};e.exports=i,e.exports.default=i},2797:(e,t,n)=>{"use strict";e.exports=n(3374)},3374: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]}),r=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.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(485).default.install();const s=n(7504);r(n(7504),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),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.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},485:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9872),r=n(4469),s=n(2479),o=n(9053);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},7504:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=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.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.RAL=void 0,t.CancellationStrategy=void 0;const i=n(9263);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 r=n(4469);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(2479);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(6368);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(5132);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(8633);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(3467);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,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),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 u=n(9872);t.RAL=u.default},6368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));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 s.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}}},3467:(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.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(9872),r=n(5306),s=n(9263),o=n(3820),a=n(2479),l=n(6368);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,q=b.New;const V=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(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 G(e){}function K(){return q===b.Listening}function J(){return q===b.Closed}function Y(){return q===b.Disposed}function Q(){q!==b.New&&q!==b.Listening||(q=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\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}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.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?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){V.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){V.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:V.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;q=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),q=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},4469:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},2479:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(9872);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{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,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),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=s._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=s,s._noop=function(){}},5306:(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)))}},3820:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="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?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),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,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,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===n.First||t===n.Last)if(t===n.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===n.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=i,t.LRUCache=class extends i{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=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},9053:(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 r=i.slice(0,e);t.set(r,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}}},5132:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.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: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=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)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.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=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=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&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=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))}}},8633:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(9872),r=n(5306),s=n(3360),o=n(2479);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{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: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.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()}}},9263:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=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(5306);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},9872:(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}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},3360:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(9872);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&&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()}}}},9290:(e,t,n)=>{"use strict";e.exports=n(2477)},2477: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]}),r=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 s=n(2797);r(n(2797),t),r(n(6156),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},6156: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]}),r=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,r(n(3374),t),r(n(5269),t),r(n(9368),t),r(n(8253),t);var s,o=n(2213);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},2213:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(3374);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},9368:(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(3374);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;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},7350:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(9368);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},7994:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(9368);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},6139:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(9368);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},8746:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(9368);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},5580:(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(9368);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3996:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(9368);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},487:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(9368);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},8253:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=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.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.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,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.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=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=void 0;const i=n(2524),r=n(9368),s=n(487);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(4951);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(1618);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(6139);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(7994);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3996);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(8746);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(9998);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(9784);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(7350);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(7614);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5636);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(7036);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(5580);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(2779);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,q,V,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=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)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(V=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,V.TriggerCharacter=2,V.ContentChange=3,(q=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",q.type=new r.ProtocolRequestType(q.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},7036:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(9368);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},2779:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(9368);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},9784:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(3374),r=n(9368);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},9998:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(9368);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},7614:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5636:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(9368);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},4951:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(9368);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},1618:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(9368);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},2524:(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}},5269:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>q,CompletionItem:()=>V,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.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},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.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},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.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 ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,q,V,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.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}(),oe=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(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(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(P.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:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,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 r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,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,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},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 r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),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,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(q||(q={})),function(e){e.create=function(e){return{label:e}}}(V||(V={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=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 s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},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{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},8132: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]}),r=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.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(6063);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(2477),t),r(n(1486),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7522:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(2477);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;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2965:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(2477),r=n(9079);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.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(e)?t:t[0]))}}},2027:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(2477);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){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)))}}},7891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(2477);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},6046:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(2477);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},7256:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(2477),r=n(5075);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}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(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{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 l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;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 s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.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 u(e,n)}},6063:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(2477);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,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(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(2477),r=n(9079),s=n(5075),o=n(7256),a=n(2965),l=n(1252),c=n(7522),u=n(6063),p=n(736),d=n(2027),h=n(7891),m=n(6046);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,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 onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.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._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},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 g{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})}}const y=p.ShowDocumentFeature(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(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.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).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{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 _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).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=r.string(e)?e:e.method,o=s.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)}))),(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).then(void 0,(t=>{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 b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(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 I{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})}}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){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{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 o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},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,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;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=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},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,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),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,o.attachWorkDone(a,t),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,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,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,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,o.attachWorkDone(a,t),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,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,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=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},736:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(2477);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},9079:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(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=r,t.stringArray=function(e){return r(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)}},5075:(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 r(){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=r;const s=/^[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 s.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 r().asHex()}},1252:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(2477);t.WorkspaceFoldersFeature=e=>class extends e{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)})))}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._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},6395: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","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","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}\\"","booleanIsLowerCase":"\\"{name}\\" is not defined, did you mean \\"{booleanName}\\"?","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","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}\\"","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}\\"","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","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","dataClassTransformFieldDescriptor":"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","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\\"","expectedEqualityOperator":"Expected equality operator, did you mean \\"==\\"?","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","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","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\\"","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 in module \\"{moduleName}\\"","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 \\"{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","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 function 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","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","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}\\"","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","typeArgListExpected":"Expected ParamSpec, ellipsis, or list of types","typeArgListNotAllowed":"List expression not allowed for this type argument","typeAnnotationCall":"Illegal type annotation: call expression not allowed","typeAnnotationVariable":"Illegal type annotation: variable not allowed unless it is a type alias","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","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}\\"","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","typeVarSingleConstraint":"TypeVar cannot have only a single constraint","typeVarsNotInGeneric":"Generic[] 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}\\"","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","varAnnotationIllegal":"Type annotations for variables requires Python 3.6 or newer; use type comment for compatibility with previous versions","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","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}","overloadMethod":"Overload method 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","overrideParamCount":"Parameter count mismatch; base method has {baseCount}, but override has {overrideCount}","overrideParamName":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is named \\"{overrideName}\\"","overrideParamNamePositionOnly":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is position-only\\"","overrideParamType":"Parameter {index} type mismatch: base parameter is type \\"{baseType}\\", override parameter is type \\"{overrideType}\\"","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","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","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}\\"?"}}')},9191:()=>{},2016:()=>{},6341:()=>{},198:()=>{}},__webpack_module_cache__={},leafPrototypes,getProto;function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},getProto=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var n=Object.create(null);__webpack_require__.r(n);var i={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var r=2&t&&e;"object"==typeof r&&!~leafPrototypes.indexOf(r);r=getProto(r))Object.getOwnPropertyNames(r).forEach((t=>i[t]=()=>e[t]));return i.default=()=>e,__webpack_require__.d(n,i),n},__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__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((t,n)=>(__webpack_require__.f[n](e,t),t)),[])),__webpack_require__.u=e=>"pyright-locale-"+e+"-"+{101:"c121083e2a7a54d431db",131:"ab4e388ba76ce41a9bbe",162:"52858c93d4cbe348333a",244:"93121a06520a592814db",372:"2f2f20ca0313ae5dd1d6",416:"213af665ac61b39bb90a",464:"9ad967bc01f802ec7036",753:"025cc0f8d4b408b3f912",846:"49df54db2b702b64a1c6"}[e]+".worker.js",__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__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})},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={885:1};__webpack_require__.f.i=(t,n)=>{e[t]||importScripts(__webpack_require__.p+__webpack_require__.u(t))};var t=self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[],n=t.push.bind(t);t.push=t=>{var[i,r,s]=t;for(var o in r)__webpack_require__.o(r,o)&&(__webpack_require__.m[o]=r[o]);for(s&&s(__webpack_require__);i.length;)e[i.pop()]=1;n(t)}})();var __webpack_exports__={};(()=>{"use strict";var e=__webpack_require__(3984);function t(e){return e}function n(e,t){return e===t}function i(e,t){return e===t?0:void 0===e?-1:void 0===t?1:et;n--)e[n]=e[n-1];e[t]=n}return e}function p(e,t){return!!e&&(t?e.some(t):e.length>0)}function d(e,t,n,i,r){return function(e,t,n,i,r){if(!p(e))return-1;let s=r||0,o=e.length-1;for(;s<=o;){const r=s+(o-s>>1);switch(i(n(e[r]),t)){case-1:s=r+1;break;case 0:return r;case 1:o=r-1}}return~s}(e,n(t),n,i,r)}function h(e,t,n){const i=e.get(t);if(void 0!==i)return i;const r=n();return e.set(t,r),r}function m(e,t){for(let n=0;nt(e))).reduce(((t,n,i)=>(t.set(n,(t.get(n)||[]).concat(e[i])),t)),new Map)}Object.prototype.hasOwnProperty;const g="typeshed-fallback",y="lib",_="Lib",v="lib64",T="site-packages",b="-stubs";var I,S=__webpack_require__(6470);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="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(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=r:e+="/"+r)}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 r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,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,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-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,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},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 function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(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:()=>f,Utils:()=>w}),"object"==typeof{env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})})i="win32"==={env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})}.platform;else if("object"==typeof navigator){var r=navigator.userAgent;i=r.indexOf("Windows")>=0}var s,o,a=(s=function(e,t){return(s=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}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=/^\w[\w\d+.-]*$/,c=/^\//,u=/^\/\//;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&&!l.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!c.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(u.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 d="",h="/",m=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,f=function(){function e(e,t,n,i,r,s){void 0===s&&(s=!1),"object"==typeof e?(this.scheme=e.scheme||d,this.authority=e.authority||d,this.path=e.path||d,this.query=e.query||d,this.fragment=e.fragment||d):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||d,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==h&&(t=h+t):t=h}return t}(this.scheme,n||d),this.query=i||d,this.fragment=r||d,p(this,s))}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 b(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,r=e.query,s=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=d),void 0===n?n=this.authority:null===n&&(n=d),void 0===i?i=this.path:null===i&&(i=d),void 0===r?r=this.query:null===r&&(r=d),void 0===s?s=this.fragment:null===s&&(s=d),t===this.scheme&&n===this.authority&&i===this.path&&r===this.query&&s===this.fragment?this:new y(t,n,i,r,s)},e.parse=function(e,t){void 0===t&&(t=!1);var n=m.exec(e);return n?new y(n[2]||d,C(n[4]||d),C(n[5]||d),C(n[7]||d),C(n[9]||d),t):new y(d,d,d,d,d)},e.file=function(e){var t=d;if(i&&(e=e.replace(/\\/g,h)),e[0]===h&&e[1]===h){var n=e.indexOf(h,2);-1===n?(t=e.substring(2),e=h):(t=e.substring(2,n),e=e.substring(n)||h)}return new y("file",t,e,d,d)},e.from=function(e){var t=new y(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),I(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new y(t);return n._formatted=t.external,n._fsPath=t._sep===g?t.fsPath:null,n}return t},e}(),g=i?1:void 0,y=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=b(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?I(this,!0):(this._formatted||(this._formatted=I(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=g),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}(f),_=((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 v(e,t){for(var n=void 0,i=-1,r=0;r=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s)-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),void 0!==n&&(n+=e.charAt(r));else{void 0===n&&(n=e.substr(0,r));var o=_[s];void 0!==o?(-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),n+=o):-1===i&&(i=r)}}return-1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function T(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 I(e,t){var n=t?T:v,i="",r=e.scheme,s=e.authority,o=e.path,a=e.query,l=e.fragment;if(r&&(i+=r,i+=":"),(s||"file"===r)&&(i+=h,i+=h),s){var c=s.indexOf("@");if(-1!==c){var u=s.substr(0,c);s=s.substr(c+1),-1===(c=u.indexOf(":"))?i+=n(u,!1):(i+=n(u.substr(0,c),!1),i+=":",i+=n(u.substr(c+1),!1)),i+="@"}-1===(c=(s=s.toLowerCase()).indexOf(":"))?i+=n(s,!1):(i+=n(s.substr(0,c),!1),i+=s.substr(c))}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)),l&&(i+="#",i+=t?l:v(l,!1)),i}function S(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+S(e.substr(3)):e}}var x=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(e){return e.match(x)?e.replace(x,(function(e){return S(e)})):e}var w,E=n(470),k=function(e,t,n){if(n||2===arguments.length)for(var i,r=0,s=t.length;r{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:x,Utils:C}=I;function w(e,t,n,i){e||(n&&(t+="\r\nVerbose Debug Information: "+("string"==typeof n?n:n())),E(t?"False expression: "+t:"False expression.",i||w))}function E(e,t){const n=new Error(e?`Debug Failure. ${e}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(n,t||E),n}function k(e,t="Illegal value:",n){E(`${t} ${JSON.stringify(e)}`,n||k)}function D(e){if(e)return JSON.stringify(e).length>2?e:{name:e.name&&r(e.name)?e.name:"noname",message:e.message&&r(e.message)?e.message:"nomessage",stack:e.stack&&r(e.stack)?e.stack:void 0}}let A;try{A=__webpack_require__(2016),(null==A?void 0:A.randomBytes)||(A=void 0)}catch{}function P(e){if(A)return A.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;E("crypto library not found")}var R=__webpack_require__(7588),F=__webpack_require__.n(R);function N(e,t){const n=e.toLocaleLowerCase(),i=t.toLocaleLowerCase(),r=n.length,s=i.length;let o=0,a=0;for(;o0&&!r[r.length-1]&&r.pop(),K([i,...r])}function K(e){if(!p(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 J(e){return 0===e.length?"":X((e[0]&&le(e[0]))+e.slice(1).join(S.sep))}function Y(e,t){if(!e.startsWith(le(t)))return;const n=G(e);let i=".";for(let e=G(t).length;e=0?i.substring(r):""}function se(e,n,i){return w(H(e)>0==H(n)>0,"Paths must either both be absolute or both be relative"),function(e,t,n,i){const r=G(e),s=G(t);let o;for(o=0;oe.namet.name?1:0)),r=[],s=[];for(const e of i)if("."!==e.name&&".."!==e.name)if(e.isFile())r.push(e.name);else if(e.isDirectory())s.push(e.name);else if(e.isSymbolicLink()){const i=ye(t,te(n,e.name));(null==i?void 0:i.isFile())?r.push(e.name):(null==i?void 0:i.isDirectory())&&s.push(e.name)}return{files:r,directories:s}}function be(e,t){let n=function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n),r=Ie(),s=`(${r}[^${r}.][^${r}]*)*?`,o=new RegExp(`[^\\w\\s${r}]`,"g");i.length>0&&(i[0]=ue(i[0]));let a="",l=!0;for(let e of i)"**"===e?a+=s:(l||(e=r+e),a+=e.replace(o,(e=>"*"===e?`[^${r}]*`:"?"===e?`[^${r}]`:"\\"+e)),l=!1);return a}(e,t);n=`^(${n})($|${Ie()})`;const i=new RegExp(n);return{wildcardRoot:function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n);if(i.length>0&&(i[0]=ue(i[0])),1===i.length&&!i[0])return S.sep;let r="",s=!0;for(let e of i){if("**"===e)break;if(e.match(/[*?]/))break;s||(e=S.sep+e),r+=e,s=!1}return r}(e,t),regExp:i}}function Ie(){return"/"===S.sep?"/":"\\\\"}function Se(e){const t=H(e);return t>0&&t===e.length}function xe(e,t,n){if(e===t)return 0;if(void 0===e)return-1;if(void 0===t)return 1;const r=e.substring(0,H(e)),s=t.substring(0,H(t)),o=O(r,s);if(0!==o)return o;const a=Ie(),l=new RegExp(`(^|${a}).{0,2}($|${a})`),c=e.substring(r.length),u=t.substring(s.length);if(!l.test(c)&&!l.test(u))return n(c,u);const p=G(e),d=G(t),h=Math.min(p.length,d.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 we(e,t){return e.getMappedFilePath(function(e){let t=me(x.parse(e).path);return t.match(/^\\[a-zA-Z]:\\/)&&(t=t.substr(1)),t}(t))}function Ee(e,t){return e.getUri(e.getOriginalFilePath(t))}function ke(e,t){return function(e){return void 0!==W||(W=function(e){let t;try{let n,i;do{n=`${P(21)}-a`,t=S.join(e.tmpdir(),n),i=S.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)}}(e)),W}(e)?t:t.toLowerCase()}var De;!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"}(De||(De={}));const Ae=De.V3_10;function Pe(e){return`${e>>8&255}.${255&e}`}function Re(e){const t=e.split(".");if(!(t.length<2))return function(e,t){if(isNaN(e)||isNaN(t))return;if(e>255||t>255)return;const n=256*e+t;if(void 0!==De[n]&&n>>8==3)return n}(parseInt(t[0],10),parseInt(t[1],10))}var Fe;!function(e){e[e.NotIdentifierChar=0]="NotIdentifierChar",e[e.StartIdentifierChar=1]="StartIdentifierChar",e[e.IdentifierChar=2]="IdentifierChar",e[e.SurrogateChar=3]="SurrogateChar"}(Fe||(Fe={}));const Ne=256,Me=new Array(Ne),Oe={},Le={};let Ue=!1;function qe(e,t){if(e=48&&e<=57||95===e}function We(e){return Be(e)||e>=97&&e<=102||e>=65&&e<=70||95===e}function je(e){return e>=48&&e<=55||95===e}function ze(e){return 48===e||49===e||95===e}function $e(e,t){if(Oe[e]!==Fe.SurrogateChar)return Fe.NotIdentifierChar;const n=Le[e];return n?n[t]:Fe.NotIdentifierChar}const He=[[95,6277,6278,8472,8494,12443,12444],[[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]],[[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]],[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],[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]],[[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]],[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862]]],Ge=[{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]]},{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]]},{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]},{55322:[[57152,57155]],55323:[[57235,57247],[57312,57313],57315],55352:[[56631,56637]],55354:[56651]},{55296:[[56640,56692],57153,57162,[57297,57301]],55305:[[56320,56430]]}],Ke=[[183,903,4969,4970,4971,4972,4973,4974,4975,4976,4977,6618],[[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]],[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]],[[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]],[95,[8255,8256],8276,[65075,65076],[65101,65103],65343]],Je=[{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]]},{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]]},{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]]}];function Ye(e,t,n,i,r){for(let s=0;s=Ne)break}}function Qe(e,t){for(const n in e)Le[n]||(Le[n]={},Oe[n]=Fe.SurrogateChar),Ye(e[n],t,!1,Le[n],Le[n])}function Ze(e){if(Me.fill(Fe.NotIdentifierChar),Ke.forEach((t=>{Ye(t,Fe.IdentifierChar,e,Me,Oe)})),He.forEach((t=>{Ye(t,Fe.StartIdentifierChar,e,Me,Oe)})),!e){for(const e of Je)Qe(e,Fe.IdentifierChar);for(const e of Ge)Qe(e,Fe.StartIdentifierChar)}}function Xe(e,t){if(!e.existsSync(t)||!fe(e,t))return;let n=!1;const i=te(t,"py.typed");if(!e.existsSync(t)||!ge(e,i))return;const r=e.statSync(i);if(r.size>0&&r.size<65536){const t=e.readFileSync(i,"utf8");(t.match(/partial\n/)||t.match(/partial\r\n/))&&(n=!0)}return{pyTypedPath:i,isPartiallyTyped:n}}function et(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))}}Ze(!0);const tt={close(){}},nt={createFileWatcher:(e,t)=>tt,onFileChange(e,t){}};class it{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}}class rt extends 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=le(e),n=[],i=this._folderMap.get(t);return i&&!this._realFS.existsSync(e)||n.push(...this._realFS.readdirEntriesSync(e).filter((t=>!this._isMovedEntry(te(e,t.name))))),i?n.concat(i.map((e=>new it(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,i=!0){this._entryMap.set(e,t),n&&this._reverseEntryMap.set(t,e);const r=le($(e)),s=h(this._folderMap,r,(()=>[])),o=de(e);s.some((e=>e.name===o))||s.push({name:o,isFile:i})}_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()}}{constructor(e){super(e),this._rootSearched=new Set,this._partialStubPackagePaths=new Set,this._conflictMap=new Map,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){var n;for(const i of e)if(this._rootSearched.add(i),this._realFS.existsSync(i)&&fe(this._realFS,i))for(const e of this._realFS.readdirEntriesSync(i)){const r=te(i,e.name);if(!(e.isSymbolicLink()?null===(n=ye(this._realFS,r))||void 0===n?void 0:n.isDirectory():e.isDirectory())||!e.name.endsWith(b))continue;const s=Xe(this._realFS,r);if(!s||!s.isPartiallyTyped)continue;let o;this._partialStubPackagePaths.add(r);const a=e.name.substr(0,e.name.length-b.length);for(const e of t){const t=te(e,a);try{const e=ye(this._realFS,t);if(!(null==e?void 0:e.isDirectory()))continue;const n=Xe(this._realFS,t);if(n&&!n.isPartiallyTyped)continue;o=null!=o?o:this._getRelativePathPartialStubs(r);for(const e of o){const n=te(r,e),i=te(t,e);if(this.existsSync(i)){const t=ie(i,"py"),r=ie(te(this.tmpdir(),"conflictFiles",a,e),"py");this._conflictMap.has(i)||this.existsSync(t)||this.existsSync(r)||(this._recordMovedEntry(r,n,!1),this._conflictMap.set(i,r))}else this._recordMovedEntry(i,n)}}catch{}}}}clearPartialStubs(){super._clear(),this._rootSearched.clear(),this._partialStubPackagePaths.clear(),this._conflictMap.clear()}getConflictedFile(e){return this._conflictMap.get(e)}_getRelativePathPartialStubs(e){const t=[],n=le(e).length,i=e=>{for(const r of this._realFS.readdirEntriesSync(e)){const s=te(e,r.name);let o=r.isDirectory(),a=r.isFile();if(r.isSymbolicLink()){const e=ye(this._realFS,s);e&&(o=e.isDirectory(),a=e.isFile())}if(o&&i(s),a&&r.name.endsWith(".pyi")){const e=s.substring(n);e&&t.push(e)}}};return i(e),t}_isMovedEntry(e){return this._partialStubPackagePaths.has(e)||super._isMovedEntry(e)}}var st=__webpack_require__(3374),ot=__webpack_require__(8934);let at;class lt extends ot.ResponseError{constructor(){super(ot.LSPErrorCodes.RequestCancelled,"request cancelled")}static is(e){return e.code===ot.LSPErrorCodes.RequestCancelled}}function ct(e){if(!o()&&e.isCancellationRequested)throw new lt}function ut(...e){const t=new st.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}class pt{createCancellationTokenSource(){return new st.CancellationTokenSource}}var dt,ht,mt,ft;function gt(e,t){return e.linet.line?1:e.charactert.character?1:0}function yt(e,t){return!(gt(t.start,e.end)>0||gt(e.start,t.end)>0)}function _t(e,t){return ht.is(t)?gt(e.start,t)<=0&>(e.end,t)>=0:_t(e,t.start)&&_t(e,t.end)}function vt(e,t){return 0===gt(e,t)}function Tt(e,t){return vt(e.start,t.start)&&vt(e.end,t.end)}function bt(e,t){t&&(Array.isArray(t)?t.forEach((t=>{bt(e,t)})):(gt(t.start,e.start)<0&&(e.start=t.start),gt(t.end,e.end)>0&&(e.end=t.end)))}function It(e,t){if(0===t.end)return{line:0,character:0};let n=0;e>=t.end&&(e=t.end-1,n=1);const i=t.getItemContaining(e);w(i>=0&&i<=t.length);const r=t.getItemAt(i);return w(void 0!==r),{line:i,character:e-r.start+n}}function St(e,t,n){return{start:It(e,n),end:It(t,n)}}function xt(e,t){if(!(e.line>=t.count))return t.getItemAt(e.line).start+e.character}function Ct(e,t){const n=xt(e.start,t);if(void 0===n)return;const i=xt(e.end,t);return void 0!==i?dt.fromBounds(n,i):void 0}function wt(e,t){return St(e.start,dt.getEnd(e),t)}!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 r(e,t){t&&(Array.isArray(t)?t.forEach((t=>{r(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=r,e.combine=function(e){if(0===e.length)return;const t=e[0];for(let n=1;n2&&e.startsWith("__")&&!e.endsWith("__")}function Jt(e){return e.length>1&&e.startsWith("_")&&!e.startsWith("__")}function Yt(e){return Kt(e)||Jt(e)}function Qt(e){return e.length>4&&e.startsWith("__")&&e.endsWith("__")}function Zt(e){return!!e.match($t)&&!e.match(Ht)}function Xt(e){return!!e.match(Gt)}function en(e){return e.importResult?0===e.importResult.importType?0:1===e.importResult.importType||e.importResult.isLocalTypingsFile?1:e.importResult.isRelative?3:2:2}function tn(e,t=!1){const n={orderedImports:[],mapByFilePath:new Map};let i=!1,r=!1;return e.statements.forEach((e=>{47===e.nodeType?e.statements.forEach((e=>{20===e.nodeType?(r=!0,function(e,t,n){e.list.forEach((i=>{const r=Rt(i.module);let s;r&&r.isImportFound&&(s=r.resolvedPaths[r.resolvedPaths.length-1]);const o={node:e,subnode:i,importResult:r,resolvedPath:s,moduleName:ln(i.module),followsNonImportStatement:n};t.orderedImports.push(o),s&&(t.mapByFilePath.has(s)||t.mapByFilePath.set(s,o))}))}(e,n,i),i=!1):22===e.nodeType?(r=!0,function(e,t,n,i){var r;const s=Rt(e.module);let o;if(s&&s.isImportFound&&(o=s.resolvedPaths[s.resolvedPaths.length-1]),i&&s){t.implicitImports=null!==(r=t.implicitImports)&&void 0!==r?r:new Map;for(const n of s.implicitImports){const i=e.imports.find((e=>e.name.value===n.name));i&&t.implicitImports.set(n.path,i)}}const a={node:e,importResult:s,resolvedPath:o,moduleName:ln(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=r})):i=r})),n}function nn(e){return Zt(e)?0:Xt(e)?1:2}function rn(e,t,n){const i=[];if(!t.node||22!==t.node.nodeType||t.node.isWildcardImport)return i;const r=t.node;if(0===(e=(Array.isArray(e)?e:[e]).filter((e=>!!e.name&&!r.imports.some((t=>t.name.value===e.name&&t.alias===e.alias))))).length)return i;for(const r of e)i.push(on(r.name,r.alias,t.node,n));const s=f(i,(e=>mt.print(e.range))),o=[];for(const e of s.values())1===e.length?o.push(e[0]):o.push({range:e[0].range,replacementText:e.sort(((e,t)=>sn(e.importName,t.importName))).map((e=>e.replacementText)).join("")});return o}function sn(e,t){const n=nn(e)-nn(t);return 0!==n?n:L(e.replace(/_/g,"="),t.replace(/_/g,"="))}function on(e,t,n,i){let r;for(const t of n.imports){if(sn(t.name.value,e)>0)break;r=t}let s=!1,o="";if(n.imports.length>0){const e=It(n.start,i.tokenizerOutput.lines),t=It(n.imports[0].start,i.tokenizerOutput.lines),r=n.imports.length>1?It(n.imports[1].start,i.tokenizerOutput.lines):void 0;if(t.line>e.line&&(void 0===r||r.line>t.line)){const e=i.tokenizerOutput.lines.getItemAt(t.line);o=i.text.substr(e.start,t.character),/^\s*$/.test(o)&&(s=!0)}}const a=It(r?dt.getEnd(r):n.imports.length>0?n.imports[0].start:n.start+n.length,i.tokenizerOutput.lines),l=t?`${e} as ${t}`:`${e}`;let c;if(s){const e=i.tokenizerOutput.predominantEndOfLineSequence;c=r?`,${e}${o}${l}`:`${l},${e}${o}`}else c=r?`, ${l}`:`${l}, `;return{range:{start:a,end:a},importName:e,replacementText:c}}function an(e,t,i,r,s,o){return function(e,t){if(t.length<2)return t.map((e=>r(e)));const n=[...f(t,(e=>`${e.importGroup} ${mt.print(e.range)}`))].sort(((e,t)=>L(e[0],t[0]))).map((e=>e[1])),i=[];for(const t of n)1===t.length?i.push(r(t[0])):i.push({range:t[0].range,replacementText:t[0].preChange+t.map((e=>e.importStatement)).sort(((e,t)=>s(e,t))).join(e.tokenizerOutput.predominantEndOfLineSequence)+t[0].postChange});return i;function r(e){return{range:e.range,replacementText:e.preChange+e.importStatement+e.postChange}}function s(e,t){const n=e.startsWith("import");return n===t.startsWith("import")?ee.name?"from":"import")),c=l.get("import");c&&p(c,(e=>`import ${e.join(", ")}`));const u=l.get("from");return u&&p(u,(e=>`from ${i} import ${e.join(", ")}`)),a;function p(e,l){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,i))).sort(((e,t)=>sn(e.sortText,t.sortText))).reduce(((e,t)=>function(e,t,i=n){return function(e,t,i=n){if(e)for(const n of e)if(i(n,t))return!0;return!1}(e,t,i)||e.push(t),e}(e,t.text)),[]);a.push(function(e,t,n,i,r,s){let o,a="",l="";const c=xt(s,r.tokenizerOutput.lines);if(t.orderedImports.length>0&&c>t.orderedImports[0].node.start){let e=!0,s=t.orderedImports[0],c=0;for(const o of t.orderedImports){const l=o.importResult?en(o):c;if(in)break;if(o.followsNonImportStatement){i>c&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a);break}o===t.orderedImports[t.orderedImports.length-1]&&i>l&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a),e=!e&&ie.value)).join("."),t}function cn(e){let t=2;return e.isLocalTypingsFile||1===e.importType?t=1:0===e.importType&&(t=0),t}function un(e,t,n,i=!1,r){let s,o=t;(r=void 0!==r?r:ge(e,t))&&(o=$(t));let a=n;if(r){a=$(n);const e=he(de(n));"__init__"!==e?s=e:i&&(s=de(a),a=$(a))}const l=se(o,a,(t=>e.realCasePath(t)));let c=".";for(let e=1;ele(ke(e,me(t))))).filter((e=>e!==n)).filter((e=>e.startsWith(n))),!this._libPathCache.some((e=>t.startsWith(e))))}checked(e,t,n){h(this._importChecked,t,(()=>new Map)).set(e,n)}add(e){h(this._cachedResults,e.importName,(()=>new Map)).set(e.path,e.importResult)}reset(){this._importChecked.clear(),this._cachedResults.clear(),this._libPathCache=void 0}}const hn="stdlib",mn="stubs";function fn(e,t,n,i,r,s){if(i.push("Finding python search paths"),void 0!==t.venvPath&&t.venv){const n=t.venv,r=te(t.venvPath,n),s=[],o=[];if([y,v,_].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 site-packages`);const i=te(t,T);if(e.existsSync(i))return n.push(`Found path '${i}'`),i;n.push(`Did not find '${i}', so looking for python subdirectory`);const r=ve(e,t);for(let i=0;i{yn(e,t).forEach((e=>{_n(s,e)}))})),s.length>0)return i.push("Found the following 'site-packages' dirs"),s.forEach((e=>{i.push(` ${e}`)})),s;i.push("Did not find any 'site-packages' dirs. Falling back on python interpreter.")}const o=n.getPythonSearchPaths(t.pythonPath,i);return r&&s?o.paths.filter((e=>!ne(s,e,!0)||ne(o.prefix,e,!0))):o.paths}function gn(e){return"python"===(e=e.trim())||"python3"===e}function yn(e,t){const n=[];return e.readdirEntriesSync(t).filter((e=>(e.isFile()||e.isSymbolicLink())&&e.name.endsWith(".pth"))).sort(((e,t)=>i(e.name,t.name))).forEach((i=>{const r=te(t,i.name),s=ye(e,r);(null==s?void 0:s.isFile())&&s.size>0&&s.size<65536&&e.readFileSync(r,"utf8").split(/\r?\n/).forEach((i=>{const r=i.trim();if(r.length>0&&!r.startsWith("#")&&!r.match(/^import\s/)){const i=te(t,r);e.existsSync(i)&&fe(e,i)&&n.push(i)}}))})),n}function _n(e,t){return!e.some((e=>e===t))&&(e.push(t),!0)}function vn(e){return{leadingDots:0,nameParts:e.split("."),importedSymbols:[]}}const Tn=[".pyd",".so",".dylib"],bn=[".py",".pyi",...Tn];class In{constructor(e,t,n){this.fileSystem=e,this._configOptions=t,this.host=n,this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this._cachedEntriesForPath=new Map,this.cachedParentImportResults=new dn((()=>this.getPythonSearchPaths([])))}invalidateCache(){this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this.cachedParentImportResults.reset(),this._invalidateFileSystemCache(),this.fileSystem instanceof rt&&this.fileSystem.clearPartialStubs()}resolveImport(e,t,n){return this._resolveImport(e,t,n)}_resolveImport(e,t,n){const i=this.formatImportName(n),r=this._resolveImportStrict(i,e,t,n,[]);if(r.isImportFound||n.leadingDots>0)return r;const s=le($(e=ke(this.fileSystem,me(e)))),o=this.cachedParentImportResults.getImportResult(s,i,r);if(o)return this.filterImplicitImports(o,n.importedSymbols);const a=this.getParentImportResolutionRoot(e,t.root);if(!this.cachedParentImportResults.checkValidPath(this.fileSystem,e,a))return r;const l={importPath:void 0};let c=s;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 r;if([r,c]=this._tryWalkUp(c),!r)break}return this.cachedParentImportResults.checked(c,i,l),r}_resolveImportStrict(e,t,n,i,r){const s={importName:e,isRelative:!1,isImportFound:!1,isPartlyResolved:!1,isNamespacePackage:!1,isStubPackage:!1,importFailureInfo:r,resolvedPaths:[],importType:2,isStubFile:!1,isNativeLib:!1,implicitImports:[],filteredImplicitImports:[],nonStubImportResult:void 0};if(this.ensurePartialStubPackages(n),i.leadingDots>0){const s=this._resolveRelativeImport(t,n,i,e,r);if(s)return s.isRelative=!0,s}else{const r=this._lookUpResultsInCache(n,e,i.importedSymbols);if(r&&(!r.isImportFound||!r.isNamespacePackage||this._isNamespacePackageResolved(i,r.implicitImports)))return r;const o=this._resolveBestAbsoluteImport(t,n,i,!0);if(o)return o.isStubFile&&(o.nonStubImportResult=this._resolveBestAbsoluteImport(t,n,i,!1)||s),this.addResultsToCache(n,e,o,i.importedSymbols)}return this.addResultsToCache(n,e,s,void 0)}getCompletionSuggestions(e,t,n){const i=this._getCompletionSuggestionsStrict(e,t,n);if(n.leadingDots>0)return i;const r=this.getParentImportResolutionRoot(e,t.root);let s=le($(ke(this.fileSystem,me(e))));for(;this._shouldWalkUp(s,r,t);){let r;if(this._getCompletionSuggestionsAbsolute(e,t,s,n,i,!1),[r,s]=this._tryWalkUp(s),!r)break}return i}_getCompletionSuggestionsStrict(e,t,n){const i=[],r=new Set;if(n.leadingDots>0)this._getCompletionSuggestionsRelative(e,t,n,r);else{n.nameParts.length>0&&this._getCompletionSuggestionsTypeshedPath(e,t,n,!0,r),t.root&&this._getCompletionSuggestionsAbsolute(e,t,t.root,n,r);for(const i of t.extraPaths)this._getCompletionSuggestionsAbsolute(e,t,i,n,r);this._configOptions.stubPath&&this._getCompletionSuggestionsAbsolute(e,t,this._configOptions.stubPath,n,r),this._getCompletionSuggestionsTypeshedPath(e,t,n,!1,r);const s=this.getPythonSearchPaths(i);for(const i of s)this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}return r}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=ie(e,".py");this.dirExistsCached(t)&&i.push(t)}if(0===i.length){const n=this.getImportRoots(t),r=[];for(const t of n)if(ne(t,e,!0)){const n=se(t,e,!0);if(n.length>1){n[1].endsWith(b)&&(n[1]=n[1].substr(0,n[1].length-b.length));const e=J(n);e&&r.push(e)}}for(const e of r)for(const t of n){let n=ie(ee(t,e),".py");if(this.fileExistsCached(n))i.push(n);else{const e=he(n);e.endsWith("__init__")?(n=e.substr(0,e.length-9)+".py",this.fileExistsCached(n)&&i.push(n)):(n=te(e,"__init__.py"),this.fileExistsCached(n)&&i.push(n))}}}return i}getModuleNameForImport(e,t){const n=h(this._cachedModuleNameResults,t.root,(()=>new Map));return h(n,e,(()=>this._getModuleNameForImport(e,t)))}_getModuleNameForImport(e,t){let n,i=0,r=!1;const s=[],o=this._getStdlibTypeshedPath(t,s);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:r}}t.root&&(n=this.getModuleNameFromPath(t.root,e),i=2);for(const r of t.extraPaths){const t=this.getModuleNameFromPath(r,e);(!n||t&&t.length0&&i.push(...o),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=ye(this.fileSystem,e))||void 0===t?void 0:t.isFile())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isFile())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&ge(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=ye(this.fileSystem,e))||void 0===t?void 0:t.isDirectory())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isDirectory())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&fe(this.fileSystem,t))return!0}return!1}ensurePartialStubPackages(e){if(!(this.fileSystem instanceof rt))return!1;if(this.fileSystem.isPartialStubPackagesScanned(e))return!1;const t=this.fileSystem,n=[],i=[];return r(this._configOptions.stubPath),r(e.root),e.extraPaths.forEach((e=>r(e))),r(this.getTypeshedPathEx(e,n)),this.getPythonSearchPaths(n).forEach((e=>r(e))),this.fileSystem.processPartialStubPackages(i,this.getImportRoots(e)),this._invalidateFileSystemCache(),!0;function r(e){e&&!t.isPathScanned(e)&&i.push(e)}}addResultsToCache(e,t,n,i){return h(this._cachedImportResults,e.root,(()=>new Map)).set(t,n),this.filterImplicitImports(n,i)}resolveAbsoluteImport(e,t,n,i,r,s=!1,o=!1,a=!1,l=!0,c=!1){if(l&&a){const o=this._resolveAbsoluteImport(e,t,n,i,r,s,!1,!0,!0,!0);if(o.packageDirectory&&(!o.isNamespacePackage||o.isImportFound))return o}return this._resolveAbsoluteImport(e,t,n,i,r,s,o,!1,l,c)}_invalidateFileSystemCache(){this._cachedEntriesForPath.clear()}_splitPath(e){const t=G(e);return t.length<=1?[e,""]:[J(t.slice(0,-1)),t[t.length-1]]}_resolveAbsoluteImport(e,t,n,i,r,s,o,a,l,c){a?r.push(`Attempting to resolve stub package using root path '${e}'`):r.push(`Attempting to resolve using root path '${e}'`);const u=[];let p,d,h,m=e,f=!1,g=!1,y=!1,_=!1,v=[];if(0===n.nameParts.length){const e="__init__",t=te(m,e+".py"),n=te(m,e+".pyi");l&&this.fileExistsCached(n)?(r.push(`Resolved import with file '${n}'`),u.push(n),y=!0):this.fileExistsCached(t)?(r.push(`Resolved import with file '${t}'`),u.push(t)):(r.push(`Partially resolved import with directory '${m}'`),u.push(""),f=!0),v=this._findImplicitImports(i,m,[t,n])}else for(let e=0;ethis._isNativeModuleFileName(S,e)));if(e){const s=te(I,e);_=this._resolveNativeModuleStub(s,t,i,n,r,u)}}!_&&T?(r.push(`Partially resolved import with directory '${m}'`),u.push(""),h&&(v=this._findImplicitImports(i,m,[x,C]),f=!0)):_&&r.push(`Did not find file '${C}' or '${x}'`)}break}const T=u.length>0&&u.length0:u.length>=n.nameParts.length,{importName:i,isRelative:!1,isNamespacePackage:f,isStubPackage:g,isImportFound:h,isPartlyResolved:T,importFailureInfo:r,importType:2,resolvedPaths:u,searchPath:e,isStubFile:y,isNativeLib:_,implicitImports:v,pyTypedInfo:d,filteredImplicitImports:v,packageDirectory:p}}getTypeshedPathEx(e,t){}resolveImportEx(e,t,n,i,r=[],s=!0){}resolveNativeImportEx(e,t,n=[]){}getNativeModuleName(e){const t=pe(e,!1).toLowerCase();if(this._isNativeModuleFileExtension(t))return he(he(e))}_lookUpResultsInCache(e,t,n){const i=this._cachedImportResults.get(e.root);if(!i)return;const r=i.get(t);return r?this.filterImplicitImports(r,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=le(e);let i=he(t);if(this._isNativeModuleFileExtension(pe(t))&&(i=he(i)),!i.startsWith(e))return;i.endsWith("__init__")&&(i=i.substr(0,i.length-9));const r=G(i.substr(e.length));if(r.shift(),n){if(0===r.length)return;r.shift()}return 0===r.length||(r[0].endsWith(b)&&(r[0]=r[0].substr(0,r[0].length-b.length)),r.some((e=>!this._isIdentifier(e))))?void 0:r.join(".")}_resolveBestAbsoluteImport(e,t,n,i){const r=this.formatImportName(n),s=[];if(i&&this._configOptions.stubPath){s.push(`Looking in stubPath '${this._configOptions.stubPath}'`);const e=this.resolveAbsoluteImport(this._configOptions.stubPath,t,n,r,s,void 0,!1,!0,i,!1);if(e.isImportFound)return e.importType=2,e.isLocalTypingsFile=!0,e}let o,a;t.root&&(s.push(`Looking in root directory of execution environment '${t.root}'`),a=this.resolveAbsoluteImport(t.root,t,n,r,s,void 0,!0,!0,i,!1),o=a);for(const e of t.extraPaths)s.push(`Looking in extraPath '${e}'`),a=this.resolveAbsoluteImport(e,t,n,r,s,void 0,!0,!0,i,!1),o=this._pickBestImport(o,a,n);const l=this.getPythonSearchPaths(s);if(l.length>0)for(const e of l){s.push(`Looking in python search path '${e}'`);const a=this.resolveAbsoluteImport(e,t,n,r,s,!1,!0,!0,i,!0);if(a){if(a.importType=1,a.isImportFound&&a.isStubFile)return a;o=this._pickBestImport(o,a,n)}}else s.push("No python interpreter search path");if(t.root!==this._getTypeshedRoot(t,s)&&(null==o?void 0:o.pyTypedInfo)&&!o.isPartlyResolved)return o;const c=this.resolveImportEx(e,t,n,r,s,i);if(c)return c;if(i&&n.nameParts.length>0){s.push("Looking for typeshed stdlib path");const e=this._findTypeshedPath(t,n,r,!0,s);if(e)return e.isTypeshedFile=!0,e;s.push("Looking for typeshed third-party path");const i=this._findTypeshedPath(t,n,r,!1,s);i&&(i.isTypeshedFile=!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,r){let s;if(r.push(`Looking for typeshed ${i?hn:mn} path`),i){const n=this._getStdlibTypeshedPath(e,r,t);n&&(s=[n])}else s=this._getThirdPartyTypeshedPackagePaths(t,e,r);if(s)for(const o of s)if(this.dirExistsCached(o)){const s=this.resolveAbsoluteImport(o,e,t,n,r);if(s.isImportFound)return s.importType=i?0:1,s}r.push("Typeshed path not found")}_buildTypeshedThirdPartyPackageMap(e){this._cachedTypeshedThirdPartyPackagePaths=new Map,e&&this.readdirEntriesCached(e).forEach((t=>{if(t.isDirectory()){const n=te(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=he(e.name),i=this._cachedTypeshedThirdPartyPackagePaths.get(t);i?i.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(t,[n])}}))}})),this._cachedTypeshedThirdPartyPackageRoots=[...new Set(...this._cachedTypeshedThirdPartyPackagePaths.values())].sort()}_getCompletionSuggestionsTypeshedPath(e,t,n,i,r){const s=[];let o;if(i){const e=this._getStdlibTypeshedPath(t,s,n);e&&(o=[e])}else{o=this._getThirdPartyTypeshedPackagePaths(n,t,s,!1);const e=this.getTypeshedPathEx(t,s);e&&(o=null!=o?o:[],o.push(e))}o&&o.forEach((i=>{this.dirExistsCached(i)&&this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}))}_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),r=this._cachedTypeshedStdLibModuleVersions.get(i.join("."));if(r){if(t.pythonVersionr.max)return!1}}return!0}_readTypeshedStdLibVersions(e,t){const n=new Map,i=this._getTypeshedSubdirectory(!0,e,t);if(i){const e=te(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 r=t[0].trim();if(!r)return;let s=i[0].trim();s.endsWith("+")&&(s=s.substr(0,s.length-1));let o,a=Re(s);a||(a=De.V3_0),i.length>1&&(o=Re(i[1].trim())),n.set(r,{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 r=this._getThirdPartyTypeshedPath(t,n);this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(r);const s=e.nameParts.length>0?e.nameParts[0]:"";return i?this._cachedTypeshedThirdPartyPackagePaths.get(s):s?function(e){const t=[];for(const i of e)i&&(n=i,(Array.isArray?Array.isArray(n):n instanceof Array)?c(t,i):t.push(i));var n;return t}(function(e,t){const n=[];return e.forEach(((e,t)=>{(e=>e.startsWith(s))(t)&&n.push(e)})),n}(this._cachedTypeshedThirdPartyPackagePaths)):[]}_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=te(t,"typeshed");if(this.dirExistsCached(e)){n=e;break}}}return n||(n=function(e){let t=e.getModulePath();if(!t)return;t=$(le(me(t)));const n=te(t,g);if(e.existsSync(n))return n;const i=te($(t),g);return e.existsSync(i)?i:void 0}(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=function(e,t){return te(e,t?hn:mn)}(i,e),this.dirExistsCached(i))return e?this._cachedTypeshedStdLibPath=i:this._cachedTypeshedThirdPartyPath=i,i}_resolveRelativeImport(e,t,n,i,r){r.push("Attempting to resolve relative import");const s=pn($(e),n.leadingDots);if(!s)return void r.push(`Invalid relative path '${i}'`);const o=this.resolveAbsoluteImport(s,t,n,i,r,!1,!0);return this.filterImplicitImports(o,n.importedSymbols)}_getCompletionSuggestionsRelative(e,t,n,i){const r=pn($(e),n.leadingDots);r&&this._getCompletionSuggestionsAbsolute(e,t,r,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 r=te(e,t.name);t.isSymbolicLink()&&(null===(i=ye(this.fileSystem,r))||void 0===i?void 0:i.isFile())&&n.push(t.name)})),n}_getCompletionSuggestionsAbsolute(e,t,n,i,r,s=!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,"",r,l,c,s);else for(let n=0;n{const l=pe(n,!1).toLowerCase(),c=he(n,!0);if(bn.some((e=>e===l))){if("__init__"===c)return;if(i&&!N(i,c))return;if(!this._isUniqueValidSuggestion(c,r)||!this._isResolvableSuggestion(c,s,o,e,t,a))return;r.add(c)}})),l.directories.forEach((n=>{i&&!n.startsWith(i)||this._isUniqueValidSuggestion(n,r)&&this._isResolvableSuggestion(n,s,o,e,t,a)&&r.add(n)}))}_isResolvableSuggestion(e,t,n,i,r,s){const o={leadingDots:t,nameParts:[...n,e],importedSymbols:[]};if(s){const e=this.formatImportName(o),t=[];return this._resolveImportStrict(e,i,r,o,t).isImportFound}return this._resolveImport(i,r,o).isImportFound}_isUniqueValidSuggestion(e,t){return!(t.has(e)||/[.-]/.test(e)||Qt(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,r=Te(this.readdirEntriesCached(t),this.fileSystem,t);for(const s of r.files){const r=pe(s);let o,a=!1;if(".py"===r||".pyi"===r)o=he(s);else{if(!this._isNativeModuleFileExtension(r)||this.fileExistsCached(`${s}.py`)||this.fileExistsCached(`${s}.pyi`))continue;o=s.substr(0,s.indexOf(".")),a=!0}const l=te(t,s);if(!n.find((e=>e===l))){const n={isStubFile:s.endsWith(".pyi"),isNativeLib:a,name:o,path:l},r=i.get(n.name);if(!r||!r.isStubFile){if(a){const i=te(t,s),r=this.resolveNativeImportEx(i,`${e}.${o}`,[]);r&&(n.path=r,n.isNativeLib=!1)}i.set(n.name,n)}}}for(const e of r.directories){const r=te(t,e,"__init__.py"),s=r+"i";let o=!1,a="";if(this.fileExistsCached(s)?(o=!0,a=s):this.fileExistsCached(r)&&(a=r),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,r,s){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,r);return a?(r.push(`Resolved native import ${n} with stub '${a}'`),s.push(a),!1):(r.push(`Resolved import with file '${e}'`),s.push(e),!0)}_isNativeModuleFileName(e,t){const n=pe(t,!1).toLowerCase(),i=he(t,!0);return this._isNativeModuleFileExtension(n)&&q(e,i)}_isNativeModuleFileExtension(e){return Tn.some((t=>t===e))}_tryWalkUp(e){return Se(e)?[!1,""]:[!0,le(ke(this.fileSystem,me(te(e,".."))))]}_shouldWalkUp(e,t,n){return e.length>t.length||e===t&&!n.root}getParentImportResolutionRoot(e,t){return le(t?ke(this.fileSystem,me(t)):$(e))}}const Sn=new(__webpack_require__(2477).ProtocolRequestType)("pyright/apidocs");let xn;function Cn(e){xn=e}function wn(){if(!xn)throw new Error("Host must be initialized");return xn}function En(){return wn().createMessageChannel()}function kn(){return wn().parentPort()}function Dn(){return wn().threadId()}function An(e,t){if(Array.isArray(e))return e.map(t);if(n=e,"[object Object]"===Object.prototype.toString.call(n)){const n=Object.create(null);return Object.entries(e).forEach((([e,i])=>{n[e]=t(i)})),n}var n;return t(e)}class Pn{constructor(){this._startTime=Date.now()}getDurationInMilliseconds(){return Date.now()-this._startTime}getDurationInSeconds(){return this.getDurationInMilliseconds()/1e3}}class Rn{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 Pn,n=e();return this.totalTime+=t.getDurationInMilliseconds(),this.isTiming=!1,n}}subtractFromTime(e){if(this.isTiming){this.isTiming=!1;const t=new Pn;e(),this.totalTime-=t.getDurationInMilliseconds(),this.isTiming=!0}else e()}printTime(){const e=this.totalTime/1e3;return(Math.round(100*e)/100).toString()+"sec"}}const Fn=new class{constructor(){this.totalDuration=new Pn,this.findFilesTime=new Rn,this.readFileTime=new Rn,this.tokenizeFileTime=new Rn,this.parseFileTime=new Rn,this.resolveImportsTime=new Rn,this.cycleDetectionTime=new Rn,this.bindTime=new Rn,this.typeCheckerTime=new Rn,this.typeEvaluationTime=new Rn}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()}},Nn=e=>{};function Mn(e,t,n,i,r,s){let o=!1;i=null!=i?i:Nn;try{ct(s);const r=new Pn;o=e.analyze(t,s);const a=e.getFilesToAnalyzeCount(),l=e.getDiagnostics(n),c=l.length,u=r.getDurationInSeconds();(c>0||!o)&&i({diagnostics:l,filesInProgram:e.getFileCount(),filesRequiringAnalysis:a,checkingOnlyOpenFiles:e.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:u})}catch(e){if(lt.is(e))return!1;const t=((a=e).stack?a.stack.toString():void 0)||("string"==typeof a.message?a.message:void 0)||JSON.stringify(a);r.error("Error performing analysis: "+t),i({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!0,configParseErrorOccurred:!1,elapsedTime:0,error:D(e)})}var a;return o}var On,Ln=__webpack_require__(5269);!function(e){e.Error="error",e.Warn="warn",e.Info="info",e.Log="log"}(On||(On={}));class Un{log(e){console.info(e)}info(e){console.info(e)}warn(e){console.warn(e)}error(e){console.error(e)}}class qn{constructor(e,t=""){this._console=e,this._name=t,this._levelMap=new Map([[On.Error,0],[On.Warn,1],[On.Info,2],[On.Log,3]]),this._maxLevel=2}get level(){switch(this._maxLevel){case 0:return On.Error;case 1:return On.Warn;case 2:return On.Info}return On.Log}set level(e){let t=this._levelMap.get(e);void 0===t&&(t=this._levelMap.get(On.Info)),this._maxLevel=t}error(e){this._log(On.Error,`${this._prefix}${e}`)}warn(e){this._log(On.Warn,`${this._prefix}${e}`)}info(e){this._log(On.Info,`${this._prefix}${e}`)}log(e){this._log(On.Log,`${this._prefix}${e}`)}get _prefix(){return this._name?`(${this._name}) `:""}_log(e,t){this._getNumericalLevel(e)>this._maxLevel||Vn(this._console,e,t)}_getNumericalLevel(e){const t=this._levelMap.get(e);return w(void 0!==t,"Logger: unknown log level."),void 0!==t?t:2}}function Vn(e,t,n){switch(t){case On.Log:e.log(n);break;case On.Info:e.info(n);break;case On.Warn:e.warn(n);break;case On.Error:e.error(n);break;default:E(`${t} is not expected`)}}class Bn{constructor(e,t){this._console=e,this._prefix=t,this._dummyState=new Wn,this._indentation="",this._previousTitles=[]}log(e,t,n=-1,i=!1){if(void 0===this._console)return t(this._dummyState);const r=this._console.level;if(void 0===r||r!==On.Log&&r!==On.Info)return t(this._dummyState);const s=this._indentation;this._previousTitles.push(`${s}${e} ...`),this._indentation+=" ";const o=new Wn;try{return t(o)}finally{const t=o.duration;if(this._indentation=s,this._previousTitles.length>0&&(o.isSuppressed()||t<=n))this._previousTitles.pop();else{this._printPreviousTitles();let n=`[${this._prefix}] ${this._indentation}${e}${o.get()} (${t}ms)`;i&&o.fileReadTotal+o.tokenizeTotal+o.parsingTotal+o.resolveImportsTotal+o.bindingTotal>0&&(n+=` [f:${o.fileReadTotal}, t:${o.tokenizeTotal}, p:${o.parsingTotal}, i:${o.resolveImportsTotal}, b:${o.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 Wn{constructor(){this._start=new Pn,this._startFile=Fn.readFileTime.totalTime,this._startToken=Fn.tokenizeFileTime.totalTime,this._startParse=Fn.parseFileTime.totalTime,this._startImport=Fn.resolveImportsTime.totalTime,this._startBind=Fn.bindTime.totalTime}get duration(){return this._start.getDurationInMilliseconds()}get fileReadTotal(){return Fn.readFileTime.totalTime-this._startFile}get tokenizeTotal(){return Fn.tokenizeFileTime.totalTime-this._startToken}get parsingTotal(){return Fn.parseFileTime.totalTime-this._startParse}get resolveImportsTotal(){return Fn.resolveImportsTime.totalTime-this._startImport}get bindingTotal(){return Fn.bindTime.totalTime-this._startBind}add(e){e&&(this._addendum=e)}get(){return this._addendum?` [${this._addendum}]`:""}suppress(){this._suppress=!0}isSuppressed(){return!!this._suppress}}function jn(e){return 3===e.type}function zn(e){return 4===e.type}function $n(e){return 2===e.type}function Hn(e){return 1===e.type}function Gn(e){return 6===e.type}let Kn=1;function Jn(e,t){t.startdt.getEnd(e)&&(e.length=dt.getEnd(t)-e.start)}var Yn,Qn,Zn,Xn,ei,ti,ni,ii,ri,si,oi,ai,li,ci,ui,pi,di,hi,mi,fi,gi,yi,_i,vi,Ti,bi,Ii,Si,xi,Ci,wi,Ei,ki,Di,Ai,Pi,Ri,Fi,Ni,Mi,Oi,Li,Ui,qi,Vi,Bi,Wi,ji,zi,$i,Hi,Gi,Ki,Ji,Yi,Qi,Zi,Xi,er,tr,nr,ir,rr,sr,or,ar,lr,cr,ur,pr,dr,hr,mr,fr,gr;function yr(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}}!function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:36,id:Kn++,statements:[]}}}(Yn||(Yn={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:50,id:Kn++,statements:[]}}}(Qn||(Qn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:19,id:Kn++,testExpression:t,ifSuite:n,elseSuite:i};return t.parent=r,n.parent=r,Jn(r,t),Jn(r,n),i&&(Jn(r,i),i.parent=r),r}}(Zn||(Zn={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:57,id:Kn++,testExpression:t,whileSuite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(Xn||(Xn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:26,id:Kn++,targetExpression:t,iterableExpression:n,forSuite:i};return t.parent=r,n.parent=r,i.parent=r,Jn(r,i),r}}(ei||(ei={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:33,id:Kn++,targetExpression:t,iterableExpression:n};return t.parent=i,n.parent=i,Jn(i,t),Jn(i,n),i}}(ti||(ti={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:34,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(ni||(ni={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:53,id:Kn++,trySuite:t,exceptClauses:[]};return t.parent=n,Jn(n,t),n}}(ii||(ii={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:25,id:Kn++,exceptSuite:t,isExceptGroup:n};return t.parent=i,Jn(i,t),i}}(ri||(ri={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:28,id:Kn++,decorators:[],name:t,parameters:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(si||(si={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:41,id:Kn++,category:t}}}(oi||(oi={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:10,id:Kn++,decorators:[],name:t,arguments:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i},e.createDummyForDecorators=function(e){const t={start:e[0].start,length:0,nodeType:10,id:Kn++,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,Jn(t,e)})),t.name.parent=t,t.suite.parent=t,t}}(ai||(ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:58,id:Kn++,withItems:[],suite:t};return t.parent=n,Jn(n,t),n}}(li||(li={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:59,id:Kn++,expression:e};return e.parent=t,t}}(ci||(ci={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:13,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(ui||(ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:47,id:Kn++,statements:[]}}}(pi||(pi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:0,id:Kn++,category:t,child:n,decorators:i};return n&&(n.parent=r,Jn(r,n)),i&&(i.forEach((e=>{e.parent=r})),i.length>0&&Jn(r,i[0])),r}}(di||(di={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:55,id:Kn++,operator:n,operatorToken:e,expression:t};return t.parent=r,r.maxChildDepth=1+(null!==(i=t.maxChildDepth)&&void 0!==i?i:0),Jn(r,t),r}}(hi||(hi={})),function(e){e.create=function(e,t,n,i){var r,s;const o={start:e.start,length:e.length,nodeType:7,id:Kn++,leftExpression:e,operatorToken:n,operator:i,rightExpression:t};return e.parent=o,t.parent=o,o.maxChildDepth=1+Math.max(null!==(r=e.maxChildDepth)&&void 0!==r?r:0,null!==(s=t.maxChildDepth)&&void 0!==s?s:0),Jn(o,t),o}}(mi||(mi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:4,id:Kn++,name:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(fi||(fi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:3,id:Kn++,leftExpression:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(gi||(gi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:54,id:Kn++,valueExpression:e,typeAnnotation:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(yi||(yi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:62,id:Kn++,isParamListEllipsis:t,paramTypeAnnotations:n,returnTypeAnnotation:i};return n.forEach((e=>{e.parent=r})),i.parent=r,Jn(r,i),r}}(_i||(_i={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:5,id:Kn++,leftExpression:e,operator:n,rightExpression:t,destExpression:i};return e.parent=r,t.parent=r,i.parent=r,Jn(r,t),r}}(vi||(vi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:6,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ti||(Ti={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:51,id:Kn++,ifExpression:e,testExpression:t,elseExpression:n};return e.parent=i,t.parent=i,n.parent=i,Jn(i,n),i}}(bi||(bi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:56,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ii||(Ii={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:52,id:Kn++,expressions:[],enclosedInParens:t}}}(Si||(Si={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:9,id:Kn++,leftExpression:e,arguments:t,trailingComma:n};return e.parent=r,r.maxChildDepth=1+(null!==(i=e.maxChildDepth)&&void 0!==i?i:0),t.length>0&&(t.forEach((e=>{e.parent=r})),Jn(r,t[t.length-1])),r}}(xi||(xi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:32,id:Kn++,expression:e,forIfNodes:[]};return e.parent=t,t}}(Ci||(Ci={})),function(e){e.create=function(e,t,n,i){var r;const s={start:e.start,length:e.length,nodeType:24,id:Kn++,baseExpression:e,items:t,trailingComma:n};return e.parent=s,t.forEach((e=>{e.parent=s})),Jn(s,i),s.maxChildDepth=1+(null!==(r=e.maxChildDepth)&&void 0!==r?r:0),s}}(wi||(wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:46,id:Kn++}}}(Ei||(Ei={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:60,id:Kn++,expression:t};return t&&(t.parent=n,Jn(n,t)),n}}(ki||(ki={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:61,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Di||(Di={})),function(e){e.create=function(e,t){var n;const i={start:e.start,length:e.length,nodeType:35,id:Kn++,leftExpression:e,memberName:t};return e.parent=i,t.parent=i,Jn(i,t),i.maxChildDepth=1+(null!==(n=e.maxChildDepth)&&void 0!==n?n:0),i}}(Ai||(Ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:30,id:Kn++,parameters:[],expression:t};return t.parent=n,Jn(n,t),n}}(Pi||(Pi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:38,id:Kn++,token:e,value:e.value}}}(Ri||(Ri={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:11,id:Kn++,constType:e.keywordType}}}(Fi||(Fi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:18,id:Kn++}}}(Ni||(Ni={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:40,id:Kn++,value:e.value,isInteger:e.isInteger,isImaginary:e.isImaginary}}}(Mi||(Mi={})),function(e){e.create=function(e,t,n){return{start:e.start,length:e.length,nodeType:49,id:Kn++,token:e,value:t,hasUnescapeErrors:n}}}(Oi||(Oi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:27,id:Kn++,token:e,value:t,hasUnescapeErrors:n,expressions:i};return i.forEach((e=>{e.parent=r})),r}}(Li||(Li={})),function(e){e.create=function(e){const t={start:e[0].start,length:e[0].length,nodeType:48,id:Kn++,strings:e};return e.length>0&&(e.forEach((e=>{e.parent=t})),Jn(t,e[e.length-1])),t}}(Ui||(Ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:15,id:Kn++,entries:[]}}}(qi||(qi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:17,id:Kn++,keyExpression:e,valueExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(Vi||(Vi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:16,id:Kn++,expandExpression:e};return e.parent=t,t}}(Bi||(Bi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:45,id:Kn++,entries:[]}}}(Wi||(Wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:31,id:Kn++,entries:[]}}}(ji||(ji={})),function(e){e.create=function(e,t,n){const i={start:e?e.start:t.start,length:e?e.length:t.length,nodeType:1,id:Kn++,valueExpression:t,argumentCategory:n};return t.parent=i,Jn(i,t),i}}(zi||(zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:14,id:Kn++,expressions:[]}}}($i||($i={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:42,id:Kn++}}}(Hi||(Hi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:20,id:Kn++,list:[]}}}(Gi||(Gi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:37,id:Kn++,leadingDots:0,nameParts:[]}}}(Ki||(Ki={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:21,id:Kn++,module:e};return e.parent=t,t}}(Ji||(Ji={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:22,id:Kn++,module:t,imports:[],isWildcardImport:!1,usesParens:!1};return t.parent=n,Jn(n,t),n}}(Yi||(Yi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:23,id:Kn++,name:e};return e.parent=t,t}}(Qi||(Qi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:29,id:Kn++,nameList:[]}}}(Zi||(Zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:39,id:Kn++,nameList:[]}}}(Xi||(Xi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:2,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(er||(er={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:8,id:Kn++}}}(tr||(tr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:12,id:Kn++}}}(nr||(nr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:44,id:Kn++}}}(ir||(ir={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:43,id:Kn++}}}(rr||(rr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:63,id:Kn++,subjectExpression:t,cases:[]};return t.parent=n,Jn(n,t),n}}(sr||(sr={})),function(e){e.create=function(e,t,n,i,r){const s={start:e.start,length:e.length,nodeType:64,id:Kn++,pattern:t,isIrrefutable:n,guardExpression:i,suite:r};return Jn(s,r),t.parent=s,r.parent=s,i&&(i.parent=s),s}}(or||(or={})),function(e){e.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:Kn++,entries:t,starEntryIndex:n>=0?n:void 0};return t.length>0&&Jn(i,t[t.length-1]),t.forEach((e=>{e.parent=i})),i}}(ar||(ar={})),function(e){e.create=function(e,t){const n={start:e[0].start,length:e[0].length,nodeType:66,id:Kn++,orPatterns:e,target:t};return e.length>1&&Jn(n,e[e.length-1]),e.forEach((e=>{e.parent=n})),t&&(Jn(n,t),t.parent=n),n}}(lr||(lr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:67,id:Kn++,expression:e};return e.parent=t,t}}(cr||(cr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:68,id:Kn++,className:e,arguments:t};return e.parent=n,t.forEach((e=>{e.parent=n})),t.length>0&&Jn(n,t[t.length-1]),n}}(ur||(ur={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:74,id:Kn++,pattern:e,name:t};return e.parent=n,t&&(Jn(n,t),t.parent=n),n}}(pr||(pr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:69,id:Kn++,target:e,isStar:void 0!==t,isWildcard:"_"===e.value};return e.parent=n,t&&Jn(n,t),n}}(dr||(dr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:70,id:Kn++,entries:t};return t.length>0&&Jn(n,t[t.length-1]),t.forEach((e=>{e.parent=n})),n}}(hr||(hr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:71,id:Kn++,keyPattern:e,valuePattern:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(mr||(mr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:72,id:Kn++,target:t};return t.parent=n,Jn(n,t),n}}(fr||(fr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:73,id:Kn++,expression:e};return e.parent=t,t}}(gr||(gr={}));class _r{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:if(this.visitError(e))return[e.child,...null!==(t=e.decorators)&&void 0!==t?t:[]];break;case 1:if(this.visitArgument(e))return[e.name,e.valueExpression];break;case 2:if(this.visitAssert(e))return[e.testExpression,e.exceptionExpression];break;case 3:if(this.visitAssignment(e))return[e.leftExpression,e.rightExpression,e.typeAnnotationComment];break;case 4:if(this.visitAssignmentExpression(e))return[e.name,e.rightExpression];break;case 5:if(this.visitAugmentedAssignment(e))return[e.leftExpression,e.rightExpression];break;case 6:if(this.visitAwait(e))return[e.expression];break;case 7:if(this.visitBinaryOperation(e))return[e.leftExpression,e.rightExpression];break;case 8:if(this.visitBreak(e))return[];break;case 9:if(this.visitCall(e))return[e.leftExpression,...e.arguments];break;case 10:if(this.visitClass(e))return[...e.decorators,e.name,...e.arguments,e.suite];break;case 11:if(this.visitConstant(e))return[];break;case 12:if(this.visitContinue(e))return[];break;case 13:if(this.visitDecorator(e))return[e.expression];break;case 14:if(this.visitDel(e))return e.expressions;break;case 15:if(this.visitDictionary(e))return e.entries;break;case 16:if(this.visitDictionaryExpandEntry(e))return[e.expandExpression];break;case 17:if(this.visitDictionaryKeyEntry(e))return[e.keyExpression,e.valueExpression];break;case 18:if(this.visitEllipsis(e))return[];break;case 19:if(this.visitIf(e))return[e.testExpression,e.ifSuite,e.elseSuite];break;case 20:if(this.visitImport(e))return e.list;break;case 21:if(this.visitImportAs(e))return[e.module,e.alias];break;case 22:if(this.visitImportFrom(e))return[e.module,...e.imports];break;case 23:if(this.visitImportFromAs(e))return[e.name,e.alias];break;case 24:if(this.visitIndex(e))return[e.baseExpression,...e.items];break;case 25:if(this.visitExcept(e))return[e.typeExpression,e.name,e.exceptSuite];break;case 26:if(this.visitFor(e))return[e.targetExpression,e.iterableExpression,e.forSuite,e.elseSuite];break;case 27:if(this.visitFormatString(e))return e.expressions;break;case 28:if(this.visitFunction(e))return[...e.decorators,e.name,...e.parameters,e.returnTypeAnnotation,e.functionAnnotationComment,e.suite];break;case 29:if(this.visitGlobal(e))return e.nameList;break;case 30:if(this.visitLambda(e))return[...e.parameters,e.expression];break;case 31:if(this.visitList(e))return e.entries;break;case 32:if(this.visitListComprehension(e))return[e.expression,...e.forIfNodes];break;case 33:if(this.visitListComprehensionFor(e))return[e.targetExpression,e.iterableExpression];break;case 34:if(this.visitListComprehensionIf(e))return[e.testExpression];break;case 35:if(this.visitMemberAccess(e))return[e.leftExpression,e.memberName];break;case 36:if(this.visitModule(e))return[...e.statements];break;case 37:if(this.visitModuleName(e))return e.nameParts;break;case 38:if(this.visitName(e))return[];break;case 39:if(this.visitNonlocal(e))return e.nameList;break;case 40:if(this.visitNumber(e))return[];break;case 41:if(this.visitParameter(e))return[e.name,e.typeAnnotation,e.typeAnnotationComment,e.defaultValue];break;case 42:if(this.visitPass(e))return[];break;case 43:if(this.visitRaise(e))return[e.typeExpression,e.valueExpression,e.tracebackExpression];break;case 44:if(this.visitReturn(e))return[e.returnExpression];break;case 45:if(this.visitSet(e))return e.entries;break;case 46:if(this.visitSlice(e))return[e.startValue,e.endValue,e.stepValue];break;case 47:if(this.visitStatementList(e))return e.statements;break;case 48:if(this.visitStringList(e))return[e.typeAnnotation,...e.strings];break;case 49:if(this.visitString(e))return[];break;case 50:if(this.visitSuite(e))return[...e.statements];break;case 51:if(this.visitTernary(e))return[e.ifExpression,e.testExpression,e.elseExpression];break;case 52:if(this.visitTuple(e))return e.expressions;break;case 53:if(this.visitTry(e))return[e.trySuite,...e.exceptClauses,e.elseSuite,e.finallySuite];break;case 54:if(this.visitTypeAnnotation(e))return[e.valueExpression,e.typeAnnotation];break;case 55:if(this.visitUnaryOperation(e))return[e.expression];break;case 56:if(this.visitUnpack(e))return[e.expression];break;case 57:if(this.visitWhile(e))return[e.testExpression,e.whileSuite,e.elseSuite];break;case 58:if(this.visitWith(e))return[...e.withItems,e.suite];break;case 59:if(this.visitWithItem(e))return[e.expression,e.target];break;case 60:if(this.visitYield(e))return[e.expression];break;case 61:if(this.visitYieldFrom(e))return[e.expression];break;case 62:if(this.visitFunctionAnnotation(e))return[...e.paramTypeAnnotations,e.returnTypeAnnotation];break;case 63:if(this.visitMatch(e))return[e.subjectExpression,...e.cases];break;case 64:if(this.visitCase(e))return[e.pattern,e.guardExpression,e.suite];break;case 65:if(this.visitPatternSequence(e))return[...e.entries];break;case 66:if(this.visitPatternAs(e))return[...e.orPatterns,e.target];break;case 67:if(this.visitPatternLiteral(e))return[e.expression];break;case 68:if(this.visitPatternClass(e))return[e.className,...e.arguments];break;case 69:if(this.visitPatternCapture(e))return[e.target];break;case 70:if(this.visitPatternMapping(e))return[...e.entries];break;case 71:if(this.visitPatternMappingKeyEntry(e))return[e.keyPattern,e.valuePattern];break;case 72:if(this.visitPatternMappingExpandEntry(e))return[e.target];break;case 73:if(this.visitPatternValue(e))return[e.expression];break;case 74:if(this.visitPatternClassArgument(e))return[e.name,e.pattern];break;default:E("Unexpected node type")}return[]}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}visitTypeAnnotation(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}}function vr(e){let t=0,n=e;for(;n;)t++,n=n.parent;return t}function Tr(e,t){if(tdt.getEnd(e))return;const n=(new _r).visitNode(e);for(const e of n)if(e){const n=Tr(e,t);if(n)return n}return e}function br(e,t,n){const i=[n];let r=e;for(;r;)r=Er(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}function Ir(e){return e.start}function Sr(e,t){let n="";return 1===e.argumentCategory?n="*":2===e.argumentCategory&&(n="**"),e.name&&(n+=e.name.value+"="),n+=xr(e.valueExpression,t),n}function xr(e,t=0){switch(e.nodeType){case 38:return e.value;case 35:return xr(e.leftExpression,t)+"."+e.memberName.value;case 9:return xr(e.leftExpression,t)+"("+e.arguments.map((e=>Sr(e,t))).join(", ")+")";case 24:return xr(e.baseExpression,t)+"["+e.items.map((e=>Sr(e,t))).join(", ")+"]"+(e.trailingComma?",":"");case 55:return Cr(e.operator)+xr(e.expression,t);case 7:{const n=xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(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?xr(e.typeAnnotation,t):e.strings.map((e=>xr(e,t))).join(" ");case 49:{let t="";return 8&e.token.flags&&(t+="r"),16&e.token.flags&&(t+="u"),32&e.token.flags&&(t+="b"),64&e.token.flags&&(t+="f"),4&e.token.flags?1&e.token.flags?t+=`'''${e.token.escapedValue}'''`:t+=`"""${e.token.escapedValue}"""`:1&e.token.flags?t+=`'${e.token.escapedValue}'`:t+=`"${e.token.escapedValue}"`,t}case 3:return xr(e.leftExpression,t)+" = "+xr(e.rightExpression,t);case 4:return xr(e.name,t)+" := "+xr(e.rightExpression,t);case 54:return xr(e.valueExpression,t)+": "+xr(e.typeAnnotation,t);case 5:return xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);case 6:return"await "+xr(e.expression,t);case 51:return xr(e.ifExpression,t)+" if "+xr(e.testExpression,t)+" else "+xr(e.elseExpression,t);case 31:return`[${e.entries.map((e=>xr(e,t))).join(", ")}]`;case 56:return"*"+xr(e.expression,t);case 52:{const n=e.expressions.map((e=>xr(e,t)));return 1===n.length?`(${n[0]}, )`:`(${n.join(", ")})`}case 60:return e.expression?"yield "+xr(e.expression,t):"yield";case 61:return"yield from "+xr(e.expression,t);case 18:return"...";case 32:{let n="";return yr(e.expression)?n=xr(e.expression,t):17===e.expression.nodeType&&(n=`${xr(e.expression.keyExpression,t)}: ${xr(e.expression.valueExpression,t)}`),n=n+" "+e.forIfNodes.map((e=>33===e.nodeType?(e.isAsync?"async ":"")+"for "+xr(e.targetExpression,t)+` in ${xr(e.iterableExpression,t)}`:`if ${xr(e.testExpression,t)}`)).join(" "),e.isParenthesized?`(${n}})`:n}case 46:{let n="";return e.startValue&&(n+=xr(e.startValue,t)),e.endValue&&(n+=": "+xr(e.endValue,t)),e.stepValue&&(n+=": "+xr(e.stepValue,t)),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),e.defaultValue&&(n+=" = "+xr(e.defaultValue,t)),n})).join(", ")+": "+xr(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?`${xr(e.keyExpression,t)}: ${xr(e.valueExpression,t)}`:xr(e,t)))}`;return n?`{ ${n} }`:"{}"}case 16:return`**${xr(e.expandExpression,t)}`;case 45:return e.entries.map((e=>xr(e,t))).join(", ")}return""}function Cr(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 wr(e){let t=e.parent;for(;t;){if(50===t.nodeType)return t;t=t.parent}}function Er(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 kr(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 Dr(e){let t=e.parent;for(;t;){if(28===t.nodeType)return t;if(10===t.nodeType)return t;t=t.parent}}function Ar(e){let t,n,i=e,r=!1;for(;i;){switch(41===i.nodeType&&t===i.name&&(r=!0),i.nodeType){case 28:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if(t===i.suite&&void 0!==Ft(i))return i;break;case 30:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if((!t||t===i.expression)&&void 0!==Ft(i))return i;break;case 10:if(t===i.suite&&void 0!==Ft(i))return i;break;case 32:if(void 0!==Ft(i)&&(t!==i.forIfNodes[0]||33!==i.forIfNodes[0].nodeType||i.forIfNodes[0].iterableExpression!==n))return i;break;case 36:if(void 0!==Ft(i))return i}n=t,t=i,i=i.parent}E("Did not find evaluation scope")}function Pr(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 28:if((n===i.suite||t)&&!i.decorators.some((e=>e===n)))return i;break;case 10:if(n===i.suite&&!i.decorators.some((e=>e===n)))return i}n=i,i=i.parent}}function Rr(e){let t=Ar(e);for(;10===t.nodeType||32===t.nodeType;)t=Ar(t.parent);return t}function Fr(e){if(38===e.nodeType)return!0;if(35===e.nodeType){if(38!==e.leftExpression.nodeType)return!1;if(!Er(e))return!1;const t=kr(e);return!!t&&"__init__"===t.name.value}return!1}function Nr(e){return!!Er(e,!0)}function Mr(e,t){let n=e;for(;n;){if(n===t)return!0;n=n.parent}return!1}function Or(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}function Lr(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 Lr(e.leftExpression,t.leftExpression)&&e.memberName.value===t.memberName.value;if(24===e.nodeType&&24===t.nodeType){if(!Lr(e.baseExpression,t.baseExpression))return!1;if(1!==t.items.length||t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return!1;if(40===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;return!(40!==i.nodeType||i.isImaginary||!i.isInteger)&&n.value===i.value}if(48===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;if(1===n.strings.length&&49===n.strings[0].nodeType&&48===i.nodeType&&1===i.strings.length&&49===i.strings[0].nodeType)return n.strings[0].value===i.strings[0].value}return!1}return!1}function Ur(e,t){return 35===e.nodeType?Lr(e.leftExpression,t)||Ur(e.leftExpression,t):24===e.nodeType&&(Lr(e.baseExpression,t)||Ur(e.baseExpression,t))}function qr(e){if(0===e.length)return;if(47!==e[0].nodeType)return;if(!Vr(e[0]))return;const t=e[0].statements[0].strings;return 1===t.length?t[0].value:t.map((e=>e.value)).join("")}function Vr(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)))}class Br extends _r{constructor(e){super(),this._callback=e}visitName(e){return this._callback(e,this._subscriptIndex,this._baseExpression),!0}visitIndex(e){this.walk(e.baseExpression);const t=this._subscriptIndex,n=this._baseExpression;return this._baseExpression=e.baseExpression,e.items.forEach(((e,t)=>{this._subscriptIndex=t,this.walk(e)})),this._subscriptIndex=t,this._baseExpression=n,!1}}class Wr extends _r{constructor(e){super(),this._callback=e}visitCall(e){return this._callback(e),!0}}function jr(e){let t=e;for(;t;){if(41===t.nodeType)return t;t=t.parent}}function zr(e,t,n){let i,r=e;for(;void 0!==r;){if(9===r.nodeType&&u(r)){i=r;break}r=r.parent}if(!i||!i.arguments)return;const s=dt.getEnd(i);if(t>s)return;const o=function(e,t){const n=e.getItemAtPosition(t);if(!(n<0))return e.getItemAt(n)}(n,s-1);if(t===s&&14===(null==o?void 0:o.type))return;let a=!1,l=-1,c=!1;return i.arguments.forEach(((e,i)=>{if(a)return;let r=e.start;const s=n.getItemAtPosition(r);s>=0&&(r=dt.getEnd(n.getItemAt(s-1)));let o=dt.getEnd(e);const u=n.getItemAtPosition(o);if(u>=0)for(let e=u;e=r,a=!0)})),a||(l=i.arguments.length+1),{callNode:i,activeIndex:l,activeOrFake:c};function u(e,i){let r=!0;const s=e.leftExpression.length>0?dt.getEnd(e.leftExpression)-1:e.leftExpression.start,o=n.getItemAtPosition(s);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 25:return t===n.name;case 58:return n.withItems.some((e=>e===t));case 33:return t===n.targetExpression;case 54:if(t===n.typeAnnotation)return!1;break;case 28:case 10:case 36:return!1}t=n,n=n.parent}return!1}function Hr(e){let t=e;for(;t&&36!==t.nodeType;)t=t.parent;return t}function Gr(e){const t=Hr(e);return t?Vt(t):void 0}function Kr(e){var t,n;return 21===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Jr(e){var t;return 21===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Yr(e){var t,n;return 22===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Qr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e}function Zr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Xr(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}function es(e,t){return function(e,n){for(const n of function*(e){for(;void 0!==e;)yield e,e=e.parent}(e))if(n.nodeType===t)return n}(e)}function ts(e){var t;return 35!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||e.parent.leftExpression===e?e:e.parent}function ns(e){switch(e.type){case 0:case 4:case 5:case 3: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 6:return!1}}function is(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(6===e.type&&6===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}function rs(e){return 1===e.type&&!!e.isFinal}function ss(e){return 1===e.type&&!!e.typeAliasAnnotation}function os(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}function as(e){var t;switch(e.type){case 6:return e.symbolName;case 4: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 5:return}throw new Error("Shouldn't reach here")}function ls(e){return e.map((e=>{if(6!==e.type)return e;const t={...e};return t.usesLocalName=!1,t}))}function cs(e){return{type:6,node:void 0,path:e,loadSymbolsFromPath:!1,range:{start:{line:0,character:0},end:{line:0,character:0}},implicitImports:new Map,usesLocalName:!1,moduleName:"",isInExceptSuite:!1}}function us(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}function ps(e,t){if(!e||!t)return;const n=us(e);for(const e of n){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)}}function ds(e){return new Vs(e).convert()}function hs(e){const t=us(e),n=[];for(const e of t){const t=n.length>0?n[n.length-1]:void 0;Ws(e)&&Ws(t)||n.push(e)}return n.join("\n").trimEnd()}const ms=/\S|$/,fs=/\S/,gs=/^\s*~~~+$/,ys=/^\s*\+\+\++$/,_s=/^\s*===+\s+===+$/,vs=/^\s*---+\s+---+$/,Ts=/^(\s*)-\s/,bs=/^(\s*)\*\s/,Is=/^(\s*)\d+\.\s/,Ss=/^(\s+\* )(.*)$/,xs=/^\s*\.\. /,Cs=/^\s*\.\.\s+(\w+)::\s*(.*)$/,ws=/ *>>> /,Es=/^\s*:(param|arg|type|return|rtype|raise|except|var|ivar|cvar|copyright|license)/,ks=/^[.\s\t]+(@\w+)/,Ds=/^(\.\s{3})|^(\.)/,As=[{exp:/^\s*=+(\s+=+)+$/,replacement:"="},{exp:/^\s*-+(\s+-+)+$/,replacement:"-"},{exp:/^\s*~+(\s+-+)+$/,replacement:"~"},{exp:/^\s*\++(\s+\++)+$/,replacement:"+"}],Ps=/\s/g,Rs=/``/g,Fs=/~/g,Ns=/\+/g,Ms=/[_*~[\]]/g,Os=/(\[.*\]\(.*\))/g,Ls=[{exp://g,replacement:">"}],Us=/^\s*::$/,qs=[{exp:/\s+::$/g,replacement:""},{exp:/(\S)\s*::$/g,replacement:"$1:"},{exp:/:[\w_\-+:.]+:`/g,replacement:"`"},{exp:/`:[\w_\-+:.]+:/g,replacement:"`"}];class Vs{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=us(e)}convert(){for(this._lines.some((e=>ks.exec(e)))&&(this._lines=this._lines.map((e=>e.replace(Ds,""))));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!Ws(e)))||"")}_currentLineIsOutsideBlock(){return this._currentIndent()n)||Ws(t)||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(t)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n>i&&!Ws(t)&&!this._builder.endsWith("\\\n")&&!this._builder.endsWith("\n\n")&&(this._builder=this._builder.slice(0,-1)+"\\\n"),0===n||this._builder.endsWith("\\\n")||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 Ls.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 As)if(e.exp.test(n)){n=n.replace(Ps,e.replacement);break}if(gs.test(n)){this._append(n.replace(Fs,"-"));continue}if(ys.test(n)){this._append(n.replace(Ns,"-"));continue}}const e=Ss.exec(n);null!==e&&3===e.length&&(this._append(e[1]),n=e[2])}n.split(Os).forEach((e=>{Os.test(e)?this._append(e):this._append(e.replace(Ms,((e,t,n)=>"\\"===n.charAt(t-1)?e:"\\"+e)))}))}}this._builder+="\n"}_preprocessTextLine(e){return Us.test(e)?"":(qs.forEach((t=>e=e.replace(t.exp,t.replacement))),e=e.replace(Rs,"`"))}_parseEmpty(){if(Ws(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!!ws.test(this._currentLine())&&(this._beginMinIndentCodeBlock(this._parseDocTest),this._appendLine(this._currentLineWithinBlock()),this._eatLine(),!0)}_parseDocTest(){if(this._currentLineIsOutsideBlock()||Ws(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(!Ws(e))return!1;let t=this._lineNum-2;for(;t>=0;t--){const e=this._lineAt(t);if(!Ws(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 Ws(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!!xs.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,r=Es.test(n);if(i||r){const e=this._lineAt(this._lineNum-1);return this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(e)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n=this._convertIndent(n),this._appendTextLine(n),this._eatLine(),!0}return!1}_beginTableBlock(){if(this._insideInlineCode)return!1;const e=this._currentLine();return!!_s.test(e)&&(this._tableState={header:e.trimStart(),inHeader:!0},this._eatLine(),this._pushAndSetState(this._parseTableBlock),!0)}_parseTableBlock(){if(Ws(this._currentLineOrUndefined())||!this._tableState)return this._tableState=void 0,void this._popState();let e=this._currentLine();if(_s.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 r=0;r${o} `),t+=s}this._eatLine(),e=this._currentLine()}while(!Ws(this._currentLineOrUndefined())&&!vs.test(e)&&!_s.test(e));this._tableState.inHeader=!1,i.forEach((e=>{t+=`${e}|`})),this._appendLine(t);const r=e.trimStart().replace(/=/g,"-").replace(" ","|");this._appendLine(`|${r}|`),this._eatLine()}else{let i=0;n.forEach((n=>{const r=n.length+1,s=e.slice(i,i+r);t+=`${s}|`,i+=r})),this._appendLine(t),this._eatLine()}}}_beginList(){if(this._insideInlineCode)return!1;let e=this._currentLine();const t=Ts.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=bs.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=Is.exec(e);return 2===(null==i?void 0:i.length)&&(this._appendTextLine(e),this._eatLine(),!0)}_parseList(){if(Ws(this._currentLineOrUndefined())||this._currentLineIsOutsideBlock())this._popState();else if(!this._beginList()){const e=this._currentLine().trimStart();this._appendTextLine(e),this._eatLine()}}_parseDirective(){const e=Cs.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(){Ws(this._currentLineOrUndefined())||!this._currentLineIsOutsideBlock()?(this._appendDirectiveBlock&&this._appendTextLine(this._currentLine().trimLeft()),this._eatLine()):this._popState()}_appendLine(e){Ws(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 Bs(e){return e.search(ms)}function Ws(e){return void 0===e||!fs.test(e)}function js(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}function zs(e){return Ft(Ar(e))}const $s="*";class Hs{constructor(e,t,n){this.className=e,this.itemName=t,this.itemType=n}}const Gs=14;var Ks,Js,Ys,Qs,Zs,Xs,eo,to,no,io,ro,so,oo;function ao(e){return 4===e.category}function lo(e){return 3===e.category&&Ks.isInstance(e)}function co(e){return 3===e.category&&Ks.isInstantiable(e)}function uo(e){return 2===e.category}function po(e){return 1===e.category}function ho(e){return 2===e.category||1===e.category||!!fo(e)&&void 0===e.subtypes.find((e=>!ho(e)))}function mo(e){return 0===e.category}function fo(e){return 9===e.category}function go(e){return!!mo(e)||!!fo(e)&&void 0!==e.subtypes.find((e=>go(e)))}function yo(e){return 7===e.category}function _o(e){return 7===e.category&&Ks.isInstantiable(e)}function vo(e){return 7===e.category&&Ks.isInstance(e)}function To(e){return 8===e.category}function bo(e){return 10===e.category}function Io(e){return 10===e.category&&e.details.isVariadic}function So(e){return fo(e)&&1===e.subtypes.length&&(e=e.subtypes[0]),10===e.category&&e.details.isVariadic&&!!e.isVariadicUnpacked}function xo(e){return!(!yo(e)||!e.isUnpacked)}function Co(e){return So(e)||xo(e)}function wo(e){return 10===e.category&&e.details.isParamSpec}function Eo(e){return 5===e.category}function ko(e){return 6===e.category}function Do(e){return e.typeAliasInfo?e.typeAliasInfo:bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType&&e.details.boundType.typeAliasInfo?e.details.boundType.typeAliasInfo:void 0}function Ao(e,t,n=!1,i=!1,r=0){var s,o;if(e===t)return!0;if(e.category!==t.category)return!1;if(!i&&e.flags!==t.flags)return!1;if(r>Gs)return!0;switch(r++,e.category){case 7:{const i=t;if(!Zs.isSameGenericClass(e,i,r))return!1;if(!ro.isSame(e.condition,t.condition))return!1;if(!n||!Zs.isPseudoGenericClass(e))if(e.tupleTypeArguments&&i.tupleTypeArguments){const t=e.tupleTypeArguments||[],s=i.tupleTypeArguments||[];if(t.length!==s.length)return!1;for(let e=0;e0===e.category&&!e.name)),l=o.findIndex((e=>0===e.category&&!e.name));for(let t=0;t=a;if(p!==(void 0!==l&&t>=l))return!1;if(p&&c.name!==u.name)return!1;if(!Ao(Xs.getEffectiveParameterType(e,t),Xs.getEffectiveParameterType(i,t),n,!1,r))return!1}let c=e.details.declaredReturnType;e.specializedTypes&&e.specializedTypes.returnType&&(c=e.specializedTypes.returnType),!c&&e.inferredReturnType&&(c=e.inferredReturnType);let u=i.details.declaredReturnType;return i.specializedTypes&&i.specializedTypes.returnType&&(u=i.specializedTypes.returnType),!u&&i.inferredReturnType&&(u=i.inferredReturnType),!!(!c&&!u||c&&u&&Ao(c,u,n,!1,r))}case 6:{const s=t;if(e.overloads.length!==s.overloads.length)return!1;for(let t=0;t!so.containsType(n,e,r)))}case 10:{const i=t;if(e.scopeId!==i.scopeId)return!1;if(e.details.recursiveTypeParameters&&i.details.recursiveTypeParameters){const i=(null===(s=null==e?void 0:e.typeAliasInfo)||void 0===s?void 0:s.typeArguments)||[],a=(null===(o=null==t?void 0:t.typeAliasInfo)||void 0===o?void 0:o.typeArguments)||[],l=Math.max(i.length,a.length);for(let e=0;epo(e)))}function Ro(e){return fo(e)?No(e,(e=>mo(e))):mo(e)?Ys.create():e}function Fo(e){return No(e,(e=>lo(e)))}function No(e,t){if(fo(e)){const n=e.subtypes.filter((e=>!t(e)));if(n.lengtht(e))):t(e)?e:void 0}function Oo(e,t){let n=!1;if(0===(e=e.filter((e=>(4===e.category&&e.isNoReturn&&(n=!0),4!==e.category)))).length)return n?no.createNoReturn():no.createNever();let i=!0;for(let t=1;tvo(e)&&void 0!==e.literalValue||_o(e)&&void 0!==e.literalValue?1:vo(t)&&void 0!==t.literalValue||_o(t)&&void 0!==t.literalValue?-1:vo(e)&&e.isEmptyContainer?1:vo(t)&&t.isEmptyContainer?-1:0)),0===r.length)return Ys.create();const o=so.create();s.length>0&&(o.typeAliasSources=new Set,s.forEach((e=>{o.typeAliasSources.add(e)})));let a=!1;return r.forEach(((e,n)=>{0===n?so.addType(o,e):void 0===t||o.subtypes.lengtht===e.details.name))||n.some((t=>t===e.aliasName))}return!0}function i(t,n,i=0){if(i>Gs)return!0;if(i++,t.details===n.details)return!0;const r=t.details,s=n.details;if(r===s)return!0;if(r.fullName!==s.fullName||r.flags!==s.flags||r.typeSourceId!==s.typeSourceId||r.baseClasses.length!==s.baseClasses.length||r.typeParameters.length!==s.typeParameters.length)return!1;if(e.isBuiltIn(t,"NamedTuple")&&e.isBuiltIn(n,"NamedTuple"))return!0;if(e.isBuiltIn(t,"tuple")&&e.isBuiltIn(n,"tuple"))return!0;for(let e=0;eao(e)&&!e.isNoReturn?Ys.create():e)):void 0,o.isTypeArgumentExplicit=n,i&&(o.includeSubclasses=!0),o.tupleTypeArguments=r?r.map((e=>ao(e.type)?{type:Ys.create(),isUnbounded:e.isUnbounded}:e)):void 0,void 0!==s&&(o.isEmptyContainer=s),o},e.cloneWithLiteral=function(e,t){const n=Ks.cloneType(e);return n.literalValue=t,n},e.cloneForTypingAlias=function(e,t){const n=Ks.cloneType(e);return n.aliasName=t,n},e.cloneForNarrowedTypedDictEntries=function(e,t){const n=Ks.cloneType(e);return n.typedDictNarrowedEntries=t,n},e.cloneWithNewTypeParameters=function(e,t){const n=Ks.cloneType(e);return n.details={...n.details},n.details.typeParameters=t,n},e.cloneForTypeGuard=function(e,t,n){const i=Ks.cloneType(e);return i.typeGuardType=t,i.isStrictTypeGuard=n,i},e.cloneForSymbolTableUpdate=function(e){const n=Ks.cloneType(e);return n.details={...n.details},n.details.fields=new Map(n.details.fields),n.details.mro=[...n.details.mro],n.details.mro[0]=t(n),n},e.cloneForUnpacked=function(e,t=!0){const n=Ks.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 Hs?t.literalValue instanceof Hs&&e.literalValue.itemName===t.literalValue.itemName:e.literalValue===t.literalValue)},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=n,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.isPartiallyConstructed=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=>ho(e)))},e.isSameGenericClass=i,e.isDerivedFrom=function e(t,r,s){if(i(t,r))return s&&s.push(t),!0;if(n(t)&&n(r,"object"))return s&&s.push(r),!0;for(const n of t.details.baseClasses)if(_o(n)){if(e(n,r,s))return s&&s.push(t),!0}else if(ho(n))return s&&s.push(Ys.create()),!0;return!1}}(Zs||(Zs={})),function(e){function t(e,t,n,i,r,s){return{category:5,details:{name:e,fullName:t,moduleName:n,flags:i,parameters:[],docString:s},flags:r}}function n(e,t){return w(t0&&0===e.details.parameters[0].category?(e.details.parameters.length>0&&!e.details.parameters[0].isTypeInferred&&(o.strippedFirstParamType=n(e,0)),o.details.parameters=e.details.parameters.slice(1)):i=!1,o.details.flags&=-4,o.details.flags|=4),void 0!==e.typeAliasInfo&&(o.typeAliasInfo=e.typeAliasInfo),e.specializedTypes&&(o.specializedTypes={parameterTypes:i?e.specializedTypes.parameterTypes.slice(1):e.specializedTypes.parameterTypes,returnType:e.specializedTypes.returnType}),o.inferredReturnType=e.inferredReturnType,o.boundTypeVarScopeId=s,o},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForSpecialization=function(e,n,i){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,w(n.parameterTypes.length===e.details.parameters.length),r.specializedTypes=n,i&&(r.inferredReturnType=i),r},e.cloneForParamSpec=function(n,i){const r=t(n.details.name,n.details.fullName,n.details.moduleName,n.details.flags,n.flags,n.details.docString);return r.specializedTypes=n.specializedTypes,r.details={...n.details},delete r.details.paramSpec,i&&(r.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})))],r.details.docString||(r.details.docString=i.docString),r.details.flags=98311&i.flags|64,e.isParamSpecValue(n)&&(r.details.flags|=65536),r.specializedTypes&&i.parameters.forEach((e=>{r.specializedTypes.parameterTypes.push(e.type)})),r.details.paramSpec=i.paramSpec),r},e.cloneWithNewFlags=function(e,t){const n=Ks.cloneType(e);return n.details={...e.details},n.details.flags=t,n},e.cloneForParamSpecApplication=function(e,t){const n=Ks.cloneType(e);if(n.details={...e.details},n.details.parameters=n.details.parameters.slice(0,n.details.parameters.length-2),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.details.paramSpec||(i.details.paramSpec=n),i},e.addDefaultParameters=function(t,n=!1){e.addParameter(t,{category:1,name:"args",type:n?Ys.create():io.create(),hasDeclaredType:!n}),e.addParameter(t,{category:2,name:"kwargs",type:n?Ys.create():io.create(),hasDeclaredType:!n})},e.hasDefaultParameters=function(t){let n=!1,i=!1;for(let r=0;rt.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}}(ro||(ro={})),function(e){e.create=function(){return{category:9,subtypes:[],flags:3}},e.addType=function(e,t){vo(t)&&Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0===t.condition?(void 0===e.literalStrMap&&(e.literalStrMap=new Map),e.literalStrMap.set(t.literalValue,t)):vo(t)&&Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0===t.condition&&(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(vo(t)&&void 0===t.condition){if(Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0!==e.literalStrMap)return e.literalStrMap.has(t.literalValue);if(Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0!==e.literalIntMap)return e.literalIntMap.has(t.literalValue)}return void 0!==e.subtypes.find((e=>Ao(e,t,void 0,void 0,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)})))}}}(so||(so={})),function(e){function t(e,t){return`${e}.${t}`}function n(e,t,n){return{category:10,details:{name:e,constraints:[],variance:0,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){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForScopeId=function(e,n,i,r){const s=Ks.cloneType(e);return s.nameWithScope=t(e.details.name,n),s.scopeId=n,s.scopeName=i,s.scopeType=r,s},e.cloneForUnpacked=function(e,t=!1){w(e.details.isVariadic);const n=Ks.cloneType(e);return n.isVariadicUnpacked=!0,n.isVariadicInUnion=t,n},e.cloneForPacked=function(e){w(e.details.isVariadic);const t=Ks.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.variance&&void 0===e.details.boundType&&0===e.details.constraints.length)return e;const t=Ks.cloneType(e);return t.details={...t.details},t.details.variance=0,t.details.boundType=void 0,t.details.constraints=[],t},e.cloneForParamSpecAccess=function(e,t){const n=Ks.cloneType(e);return n.paramSpecAccess=t,n},e.cloneAsSpecializedSelf=function(e,t){w(e.details.isSynthesizedSelf);const n=Ks.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}}(oo||(oo={}));let Uo=1;class qo{constructor(e=4){this.id=Uo++,this._flags=e}static createWithType(e,t){const n=new qo(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)}addDeclaration(e){if(this._declarations){const t=this._declarations.findIndex((t=>is(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];ns(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=>ns(e)))}getTypedDeclarations(){return this.getDeclarations().filter((e=>ns(e)))}getSynthesizedType(){return this._synthesizedType}}function Vo(e){const t=e.getTypedDeclarations();if(t.length>0)return t[t.length-1]}function Bo(e){const t=e.getTypedDeclarations();return t.length>0&&1===t[t.length-1].type}function Wo(e){return e.getDeclarations().some((e=>rs(e)))}class jo{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 jo;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))}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,i){w(!this._isLocked);const r=this._getKey(e);this._typeVarMap.set(r,{typeVar:e,narrowBound:t,wideBound:n,retainLiteral:i})}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){w(!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){w(!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(){w(!this._isLocked),this._isLocked=!0}unlock(){this._isLocked=!1}isLocked(){return this._isLocked}_getKey(e){return oo.getNameWithScope(e)}_getComplexityScoreForType(e,t=0){if(t>Gs)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&&Jo(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(io.create(),t),i++})),.5+.25*(i>0?n/i:0)}}var zo,$o;function Ho(e){const t={firstPositionOrKeywordIndex:0,positionParamCount:0,positionOnlyParamCount:0,params:[],hasUnpackedVariadicTypeVar:!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(r.name){let a;a=1===r.category?zo.PositionOnly:i?zo.KeywordOnly:n>=0&&s{1===e.category?e.name&&xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach(((n,i)=>{const s=Io(n.type)||n.isUnbounded?1:0;1===s&&(t.argsIndex=t.params.length),Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0),r({category:s,name:`${e.name}[${i.toString()}]`,type:n.type,hasDeclaredType:!0},i,n.type)})):(e.name&&void 0===t.argsIndex&&(t.argsIndex=t.params.length,Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0)),!i&&(n<0||s>=n)&&(t.firstKeywordOnlyIndex=t.params.length,e.name&&t.firstKeywordOnlyIndex++,i=!0),r(e,s)):2===e.category?(i=!0,vo(e.type)&&xo(e.type)&&e.type.details.typedDictEntries?(void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),e.type.details.typedDictEntries.forEach(((e,t)=>{r({category:0,name:t,type:e.valueType,hasDeclaredType:!0,hasDefault:!e.isRequired},s,e.valueType)}))):e.name&&(void 0===t.kwargsIndex&&(t.kwargsIndex=t.params.length),void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),r(e,s))):0===e.category&&(e.name&&!i&&t.positionParamCount++,r(e,s))})),t}function Go(e){return!!fo(e)&&void 0!==Mo(e,(e=>lo(e)))}function Ko(e,t){if(fo(e)){const n=[];let i=!1;if(e.subtypes.forEach((r=>{const s=t(r);s?s!==r?(n.push(Zo(s,Xo(e))),i=!0):n.push(r):i=!0})),!i)return e;const r=Oo(n);return 9===r.category&&so.addTypeAliasSource(r,e),r}return t(e)||no.createNever()}function Jo(e,t){fo(e)?e.subtypes.forEach(((e,n)=>{t(e,n)})):t(e,0)}function Yo(e,t){if(e.length<2)return!0;for(let n=1;nQo(e))):e}function Zo(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:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 6:return eo.create(e.overloads.map((e=>Zo(e,t))));case 7:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 9:return Oo(e.subtypes.map((e=>Zo(e,t))))}}function Xo(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 ea(e){return!!bo(e)&&!!e.details.recursiveTypeAliasName&&!e.details.boundType}function ta(e){var t;if(e&&bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType){const n=Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType;return(null===(t=e.typeAliasInfo)||void 0===t?void 0:t.typeArguments)&&e.details.recursiveTypeParameters?fa(n,Ea(e.details.recursiveTypeParameters,e.typeAliasInfo.typeArguments,na(e))):n}return e}function na(e){return yo(e)||Eo(e)?e.details.typeVarScopeId:bo(e)?e.scopeId:void 0}function ia(e){let t;if(_o(e)?t=e:vo(e)&&(t=Zs.cloneAsInstantiable(e)),!t)return;const n=t.details.mro.find((e=>_o(e)&&pa(e)));return n&&_o(n)?Zs.isSameGenericClass(t,n)?t:fa(n,wa(t)):void 0}function ra(e){return Ks.isInstance(e)&&void 0!==e.literalValue}function sa(e){return vo(e)?void 0!==e.literalValue:!!fo(e)&&!Mo(e,(e=>!vo(e)||void 0===e.literalValue))}function oa(e,t=!1,n=0){var i;if(n>Gs)return!1;if(n++,vo(e)&&ra(e))return!0;if(t&&yo(e)){const r=(null===(i=e.tupleTypeArguments)||void 0===i?void 0:i.map((e=>e.type)))||e.typeArguments;if(r)return r.some((e=>oa(e,t,n)))}if(fo(e))return e.subtypes.some((e=>oa(e,t,n)));if(ko(e))return e.overloads.some((e=>oa(e,t,n)));if(Eo(e)){const i=Xs.getSpecializedReturnType(e);if(i&&oa(i,t,n))return!0;for(let i=0;i{const i=aa(e);i?t||(t=i):n=!0})),n?void 0:t}}function la(e){return fo(e)?e.subtypes.length:1}function ca(e){return uo(e)&&e.isEllipsis}function ua(e){return vo(e)&&Zs.isPropertyClass(e)}function pa(e){return Zs.isBuiltIn(e,"tuple")}function da(e){return e.tupleTypeArguments&&e.tupleTypeArguments.some((e=>e.isUnbounded))}function ha(e,t,n){if(Zs.isUnspecialized(t))return e;const i=wa(t,void 0);return n&&ma(i,t,n),fa(e,i)}function ma(e,t,n){const i=Aa(t,!1);e.setTypeVarType(i,Fa(n))}function fa(e,t,n=!1,i=!1,r=!1){return!t.isEmpty()||n||r?new Qa(t,n,i,r).apply(e):e}function ga(e){const t=new Map;return Zs.isProtocolClass(e)&&ya(e,t),t}function ya(e,t,n=0){n>Gs||(e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ya(e,t,n+1)})),e.details.fields.forEach(((n,i)=>{n.isIgnoredForProtocolMatch()||t.set(i,{symbol:n,classType:e,isInstanceMember:n.isInstanceMember(),isClassVar:n.isClassVar(),isTypeDeclared:n.hasTypedDeclarations(),skippedUndeclaredType:!1})})))}function _a(e,t,n=0){if(vo(e))return va(e,t,n)}function va(e,t,n=0){var i;return null===(i=Ta(e,t,n).next())||void 0===i?void 0:i.value}function*Ta(e,t,n=0){const i=0!=(16&n);let r=!1;if(yo(e)){let s=0;1&n&&(s|=1),2&n&&(s|=2),4&n&&(s|=4),32&n&&(s|=8);const o=ba(e,s);for(const[e,s]of o){if(!_o(e)){if(!i){const e={symbol:qo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}continue}if(!_o(s))continue;const o=s.details.fields;if(0==(8&n)){const e=o.get(t);if(e&&e.isInstanceMember()){const t=e.hasTypedDeclarations();if(!i||t){const n={symbol:e,isInstanceMember:!0,isClassVar:e.isClassVar(),classType:s,isTypeDeclared:t,skippedUndeclaredType:r};yield n}else r=!0}}const a=o.get(t);if(a&&a.isClassMember()){const e=a.hasTypedDeclarations();if(!i||e){let t=!1;if(Zs.isDataClass(s)||Zs.isTypedDictClass(s)){const e=a.getDeclarations();e.length>0&&1===e[0].type&&(t=!0)}const n={symbol:a,isInstanceMember:t,isClassVar:a.isClassVar(),classType:s,isTypeDeclared:e,skippedUndeclaredType:r};yield n}else r=!0}}}else if(ho(e)){const e={symbol:qo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}}function*ba(e,t=0){if(yo(e)){let n=0!=(1&t);for(const i of e.details.mro){if(n){n=!1;continue}const r=ha(i,e);if(4&t&&_o(r)&&Zs.isBuiltIn(r,"object"))break;if(8&t&&_o(r)&&Zs.isBuiltIn(r,"type"))break;if(yield[i,r],0!=(2&t))break}}}function Ia(e,t){for(const n of t)e.find((e=>Ao(Fa(e),Fa(n))))||e.push(n)}function Sa(e,t=0){var n,i;if(t>Gs)return[];if(t++,null===(n=e.typeAliasInfo)||void 0===n?void 0:n.typeArguments){const n=[];return null===(i=e.typeAliasInfo)||void 0===i||i.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n}if(bo(e))return e.details.recursiveTypeAliasName||wo(e)&&e.paramSpecAccess?[]:[Ks.isInstantiable(e)?oo.cloneAsInstance(e):e];if(yo(e))return(e=>{const n=[];return e.typeArguments&&e.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n})(e);if(fo(e)){const n=[];return Jo(e,(e=>{Ia(n,Sa(e,t))})),n}if(Eo(e)){const n=[];for(let i=0;i{t.setTypeVarType(e,Ys.create())})),fa(e,t)}function Ca(e,t,n,i=0){if(!(i>Gs||(i++,n.isLocked())))switch(e.category){case 9:Jo(e,(e=>{Ca(e,t,n,i)}));break;case 7:e.typeArguments&&e.typeArguments.forEach((e=>{Ca(e,t,n,i)})),e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{Ca(e.type,t,n,i)}));break;case 5:e.specializedTypes?(e.specializedTypes.parameterTypes.forEach((e=>{Ca(e,t,n,i)})),e.specializedTypes.returnType&&Ca(e.specializedTypes.returnType,t,n,i)):(e.details.parameters.forEach((e=>{Ca(e.type,t,n,i)})),e.details.declaredReturnType&&Ca(e.details.declaredReturnType,t,n,i));break;case 6:e.overloads.forEach((e=>{Ca(e,t,n,i)}));break;case 10:n.hasTypeVar(e)||n.setTypeVarType(e,t)}}function wa(e,t=!0){const n=Zs.getTypeParameters(e);let i=e.typeArguments;i||t||(i=n);const r=Ea(n,i,na(e));return Zs.isTupleClass(e)&&e.tupleTypeArguments&&n.length>=1&&r.setVariadicTypeVar(n[0],e.tupleTypeArguments),r}function Ea(e,t,n){const i=new jo(n);return e.forEach(((e,n)=>{let r;if(t)if(wo(e)){if(n{t.push({category:e.category,name:e.name,hasDefault:!!e.hasDefault,isNameSynthesized:e.isNameSynthesized,type:Xs.getEffectiveParameterType(n,i)})})),i.setParamSpec(e,{parameters:t,typeVarScopeId:r.details.typeVarScopeId,flags:r.details.flags,docString:r.details.docString,paramSpec:r.details.paramSpec})}else wo(r)&&i.setParamSpec(e,{flags:0,parameters:[],typeVarScopeId:void 0,docString:void 0,paramSpec:r})}else r=n>=t.length?io.create():t[n],i.setTypeVarType(e,r,r,!0)})),i}function ka(e,t){if(0===Zs.getTypeParameters(t).length)return t;const n=fa(t,wa(e));return w(_o(n)),n}function Da(e,t,n){if(Zs.isSameGenericClass(e,t))return!0;for(const i of e.details.baseClasses)if(_o(i)){if(Da(i,t,n))return!0}else if(!n&&ho(i))return!0;return!1}function Aa(e,t){var n;const i=oo.createInstance("__type_of_self__"),r=null!==(n=na(e))&&void 0!==n?n:"";i.details.isSynthesized=!0,i.details.isSynthesizedSelf=!0,i.nameWithScope=oo.makeNameWithScope(i.details.name,r),i.scopeId=r;const s=Zs.cloneForSpecialization(e,Zs.getTypeParameters(e),!1,!0);return i.details.boundType=Zs.cloneAsInstance(s),t?oo.cloneAsInstantiable(i):i}function Pa(e){const t=Xs.getSpecializedReturnType(e);if(t){const e=za(t);if(e)return e.length>=3?e[2]:Ys.create()}}function Ra(e){return!!Ks.isInstantiable(e)||!(!vo(e)||!Zs.isBuiltIn(e,"type"))||!!fo(e)&&e.subtypes.every((e=>Ra(e)))}function Fa(e){let t=Ko(e,(e=>{switch(e.category){case 7:return Zs.isBuiltIn(e,"Type")?!e.typeArguments||e.typeArguments.length<1?Ys.create():Na(e.typeArguments[0]):Zs.cloneAsInstance(e);case 3:return to.createInstance();case 5:if(Ks.isInstantiable(e))return Xs.cloneAsInstance(e);break;case 10:if(Ks.isInstantiable(e))return oo.cloneAsInstance(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Na(e){let t=Ko(e,(e=>{switch(e.category){case 7:if(Ks.isInstance(e))return Zs.cloneAsInstantiable(e);break;case 3:return to.createType();case 5:if(Ks.isInstance(e))return Xs.cloneAsInstantiable(e);break;case 10:if(Ks.isInstance(e))return oo.cloneAsInstantiable(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Ma(e,t,n){for(let i=0;i{if((i.isClassMember()||n&&i.isInstanceMember())&&!(e&&Bo(i)||i.isInitVar())){const e=t.get(r);e?!e.hasTypedDeclarations()&&i.hasTypedDeclarations()&&t.set(r,i):t.set(r,i)}}))}}if(!n){const n=e.details.effectiveMetaclass;if(n&&_o(n))for(const e of n.details.mro){if(!_o(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)}))}}}function Oa(e){let t=!1;return Jo(e,(e=>{po(e)&&(t=!0)})),t}function La(e,t=!1,n=0){var i,r;if(n>Gs)return!1;if(n++,po(e))return!0;if((null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments)&&e.typeAliasInfo.typeArguments.some((e=>La(e,t,n))))return!0;if(fo(e))return void 0!==Mo(e,(e=>La(e,t,n)));if(yo(e)){if(Ks.isInstance(e)&&(t=!1),!t&&!Zs.isPseudoGenericClass(e)){const i=(null===(r=e.tupleTypeArguments)||void 0===r?void 0:r.map((e=>e.type)))||e.typeArguments;if(i)for(const e of i)if(La(e,t,n))return!0}return!1}if(ko(e))return e.overloads.some((e=>La(e,!1,n)));if(Eo(e)){for(let t=0;tZs.cloneForSpecialization(e,[t],!0)))):e}function qa(e,t){if(!t||!_o(t)||da(t))return;let n,i=!0;return Jo(e,(e=>{if(vo(e)){let t;yo(e)&&pa(e)&&!da(e)&&(t=e),t||(t=e.details.mro.find((e=>yo(e)&&pa(e)&&!da(e)))),t&&yo(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?Fa(Va(t,n.map((e=>({type:Oo(e),isUnbounded:!1}))))):void 0}function Va(e,t,n=!0,i=!0,r=!1){let s=Oo(t.map((e=>e.type)));i&&(s=Qo(s)),ao(s)&&(s=io.create());const o=Zs.cloneForSpecialization(e,[s],n,void 0,t);return r&&(o.isUnpacked=!0),o}function Ba(e){if(Eo(e))return Wa(e);const t=[];let n=!1;for(const i of e.overloads){const e=Wa(i);t.push(e),e!==i&&(n=!0)}return n?eo.create(t):e}function Wa(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&&wo(n.type)&&wo(i.type)&&Ao(n.type,i.type)?Xs.cloneRemoveParamSpecVariadics(e,n.type):e}function ja(e){return vo(e)&&pa(e)&&e.tupleTypeArguments&&e.isUnpacked?Oo(e.tupleTypeArguments.map((e=>e.type))):e}function za(e){var t;if(vo(e)){if(Zs.isBuiltIn(e,["Generator","AsyncGenerator"]))return e.typeArguments;if(Zs.isBuiltIn(e,"AwaitableGenerator"))return null===(t=e.typeArguments)||void 0===t?void 0:t.slice(1)}}function $a(e,t=!1,n=!1,i=0){var r;if(i>Gs)return!1;switch(i++,e.category){case 7:return(!Zs.isPseudoGenericClass(e)||!t)&&(e.typeArguments?void 0!==e.typeArguments.find((e=>$a(e,t,n,i))):Zs.getTypeParameters(e).length>0);case 5:{if(e.details.paramSpec)return!0;for(let r=0;r$a(e,t,n,i)));case 9:return void 0!==Mo(e,(e=>$a(e,t,n,i)));case 10:if(!e.details.recursiveTypeAliasName)return!e.details.isSynthesizedSelf||!n;if(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.typeArguments)return e.typeAliasInfo.typeArguments.some((e=>$a(e,t,n,i)))}return!1}function Ha(e){let t=!0;const n=e.details.baseClasses.filter(((t,n)=>{if(_o(t)&&Zs.isBuiltIn(t,"Generic")){if(Zs.isProtocolClass(e))return!1;if(e.details.baseClasses.some(((e,t)=>t>n&&_o(e)&&e.typeArguments&&e.isTypeArgumentExplicit)))return!1}return!0})),i=[];n.forEach(((e,t)=>{if(_o(e)){const t=wa(e,!1);i.push(e.details.mro.map((e=>fa(e,t))))}else i.push([e])})),i.push(n.map((t=>fa(t,wa(e,!1)))));const r=wa(e,!1);e.details.mro.push(fa(e,r));const s=(e,t)=>t.some((t=>t.findIndex((t=>_o(t)&&Zs.isSameGenericClass(t,e)))>0)),o=(e,t)=>{for(let n=0;n!_o(t)||!Zs.isSameGenericClass(t,e)))};for(;;){let n,r=!1;for(let t=0;t0){if(void 0===n&&(n=a),!_o(a[0])){r=!0,e.details.mro.push(a[0]),a.shift();break}if(!s(a[0],i)){r=!0,e.details.mro.push(a[0]),o(a[0],i);break}}}if(!n)break;r||(t=!1,_o(n[0])?(e.details.mro.push(n[0]),o(n[0],i)):(e.details.mro.push(n[0]),n.shift()))}return t}function Ga(e){const t=[];return Ka(e,t),t}function Ka(e,t,n=0){if(n>Gs)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=>{Ka(e,t,n)}));break;case 9:Jo(e,(e=>{Ka(e,t,n)}));break;case 8:i(e.moduleName)}}function Ja(e){let t=e.parameters.length>0;if(1===e.parameters.length){const n=e.parameters[0];0!==n.category||n.name||(t=!1)}if(t||!e.paramSpec){const t=Xs.createInstance("","","",65536);return e.parameters.forEach((e=>{Xs.addParameter(t,{category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),t.details.paramSpec=e.paramSpec,t.details.docString=e.docString,t}return e.paramSpec}!function(e){e[e.PositionOnly=0]="PositionOnly",e[e.PositionOrKeyword=1]="PositionOrKeyword",e[e.KeywordOnly=2]="KeywordOnly"}(zo||(zo={}));class Ya{constructor(){this._isTransformingTypeArg=!1}apply(e,t=new Set,n=0){var i;if(n>Gs)return e;if(n++,!$a(e))return e;if(ho(e))return e;if(lo(e))return e;if(bo(e)){if(e.details.recursiveTypeAliasName){if(!(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments))return e;let r=!1;const s=e.typeAliasInfo.typeArguments.map((e=>{const i=this.apply(e,t,n);return i!==e&&(r=!0),i}));return r?Ks.cloneForTypeAlias(e,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,s):e}let r=e;const s=oo.getNameWithScope(e);return t.has(s)||(r=this.transformTypeVar(e),this._isTransformingTypeArg||(t.add(s),r=this.apply(r,t,n),t.delete(s)),Io(e)&&e.isVariadicInUnion&&(r=ja(r))),r}if(fo(e)){const i=Ko(e,(e=>{let i=this.apply(e,t,n);if(Io(e)&&!Io(i)){const e=[];Jo(i,(t=>{e.push(ja(t))})),i=Oo(e)}return i}));return this.transformUnion&&fo(i)?this.transformUnion(i):i}if(yo(e))return this._transformTypeVarsInClassType(e,t,n);if(Eo(e))return this._transformTypeVarsInFunctionType(e,t,n);if(ko(e)){let i=!1;const r=[];return e.overloads.forEach((e=>{const s=this._transformTypeVarsInFunctionType(e,t,n);r.push(s),s!==e&&(i=!0)})),i?eo.create(r):e}return e}transformTypeVar(e){return e}transformVariadicTypeVar(e){}transformParamSpec(e){}transformUnion(e){return e}_transformTypeVarsInClassType(e,t,n){if(0===Zs.getTypeParameters(e).length&&!Zs.isSpecialBuiltIn(e))return e;let i,r=[],s=!1;const o=Zs.getTypeParameters(e),a=e=>{const t=this.transformParamSpec(e);return t?(s=!0,Ja(t)):e},l=this._isTransformingTypeArg;return this._isTransformingTypeArg=!0,e.typeArguments?r=e.typeArguments.map((e=>{if(bo(e)&&e.details.isParamSpec)return a(e);let i=this.apply(e,t,n);return i!==e&&(s=!0,bo(e)&&Io(e)&&e.isVariadicInUnion&&(i=ja(i))),i})):o.forEach((e=>{let i=e;if(e.details.isParamSpec)i=a(e),i!==e&&(s=!0);else{const r=oo.getNameWithScope(e);t.has(r)||(i=this.transformTypeVar(e),i!==e&&(this._isTransformingTypeArg||(t.add(r),i=this.apply(i,t,n),t.delete(r)),s=!0))}r.push(i)})),Zs.isTupleClass(e)&&(e.tupleTypeArguments?(i=[],e.tupleTypeArguments.forEach((e=>{const r=this.apply(e.type,t,n);r!==e.type&&(s=!0),Io(e.type)&&vo(r)&&pa(r)&&r.tupleTypeArguments?i.push(...r.tupleTypeArguments):i.push({type:r,isUnbounded:e.isUnbounded})}))):o.length>0&&(i=this.transformVariadicTypeVar(o[0]),i&&(s=!0))),this._isTransformingTypeArg=l,s?Zs.cloneForSpecialization(e,r,!0,void 0,i):e}_transformTypeVarsInFunctionType(e,t,n){let i=e;if(i.details.paramSpec){const e=this.transformParamSpec(i.details.paramSpec);e&&(i=Xs.cloneForParamSpec(i,e))}const r=Xs.getSpecializedReturnType(i),s=r?this.apply(r,t,n):void 0;let o=r!==s;const a={parameterTypes:[],returnType:s};if(i.details.parameters.length>=2){const e=i.details.parameters[i.details.parameters.length-2],t=i.details.parameters[i.details.parameters.length-1],n=Xs.getEffectiveParameterType(i,i.details.parameters.length-2),r=Xs.getEffectiveParameterType(i,i.details.parameters.length-1);if(1===e.category&&2===t.category&&wo(n)&&wo(r)&&Ao(n,r)){const e=this.transformParamSpec(n);e&&(i=Xs.cloneForParamSpecApplication(i,e))}}let l,c,u;for(let e=0;e{if(t===l){let e=!1;c.forEach((t=>{Xs.addParameter(p,{category:t.isUnbounded?1:0,name:`__p${p.details.parameters.length}`,isNameSynthesized:!0,type:t.type,hasDeclaredType:!0}),t.isUnbounded&&(e=!0)})),e?h=!0:d=!0}else{const n={...i.details.parameters[t]};1!==n.category||n.name?2===n.category&&(d=!1):d=!1,0===n.category&&n.name&&d&&(Xs.addParameter(p,{category:1,type:Ys.create()}),d=!1),n.type=e,n.name&&n.isNameSynthesized&&(n.name=`__p${p.details.parameters.length}`),0===n.category&&!n.name&&h||Xs.addParameter(p,n)}})),p.details.declaredReturnType=a.returnType,p}}class Qa extends Ya{constructor(e,t=!1,n=!1,i=!1){super(),this._typeVarMap=e,this._unknownIfNotFound=t,this._useNarrowBoundOnly=n,this._eliminateUnsolvedInUnions=i}transformTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId)){let t=this._typeVarMap.getTypeVarType(e,this._useNarrowBoundOnly);if(!t&&this._useNarrowBoundOnly){const n=this._typeVarMap.getTypeVarType(e);n&&oa(n,!0)&&(t=n)}if(t)return Ks.isInstantiable(e)&&(t=Na(t)),t;if(this._unknownIfNotFound)return Ys.create()}return e}transformUnion(e){if(this._eliminateUnsolvedInUnions){const t=Ko(e,(e=>{if(!bo(e)||void 0===e.scopeId||!this._typeVarMap.hasSolveForScope(e.scopeId))return e}));return ao(t)?e:t}return e}transformVariadicTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getVariadicTypeVar(e)}transformParamSpec(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getParamSpec(e)}}class Za extends Ya{constructor(e,t){super(),this._typeVarMap=e,this._liveTypeVarScopes=t,this.dummyScopeId="__expected_type_scope_id",this.dummyTypeVarPrefix="__expected_type_",this._typeVarMap.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=Ks.isInstance(e);let n=oo.createInstance(`__expected_type_${Za.synthesizedTypeVarIndexForExpectedType}`);return n.details.isSynthesized=!0,n.scopeId=this.dummyScopeId,n.nameWithScope=oo.makeNameWithScope(n.details.name,this.dummyScopeId),t||(n=Na(n)),n.details.boundType=e.details.boundType,n.details.constraints=e.details.constraints,n.details.variance=e.details.variance,Za.synthesizedTypeVarIndexForExpectedType++,n}transformTypeVar(e){return this._isTypeVarLive(e)?e:this._createDummyTypeVar(e)}}Za.synthesizedTypeVarIndexForExpectedType=1;class Xa{constructor(e,t,n,i,r,s,o){this._importResolver=e,this._execEnv=t,this._evaluator=n,this._fileBinder=i,this._boundSourceGetter=r,this._mapCompiled=s,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(a)}findDeclarations(e){return zn(e)?this._findClassOrTypeAliasDeclarations(e):jn(e)?this._findFunctionOrTypeAliasDeclarations(e):Hn(e)?this._findVariableDeclarations(e):$n(e)?this._findParameterDeclarations(e):5===e.type?this._findSpecialBuiltInClassDeclarations(e):[]}findClassDeclarations(e){return this._findClassOrTypeAliasDeclarations(e).filter((e=>zn(e))).map((e=>e))}findClassDeclarationsByType(e,t){const n=[];return this._addClassTypeDeclarations(e,t,n,new Set),n.filter((e=>zn(e))).map((e=>e))}findFunctionDeclarations(e){return this._findFunctionOrTypeAliasDeclarations(e).filter((e=>jn(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 r=Er(e.node);if(void 0===r)return[];const s=this._getFullClassName(r);return i.flatMap((e=>this._findMethodDeclarationsByName(e,s,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),r=Er(e.node);if(r){const e=this._getFullClassName(r);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=kr(e.node);if(!n)return t;const i=this._evaluator.getDeclarationsForNameNode(n.name);if(!i)return t;const r=new Set;for(const n of i)for(const i of this._findFunctionOrTypeAliasDeclarations(n,r))t.push(...this._lookUpSymbolDeclarations(i.node,e.node.name.value).filter((e=>$n(e))).map((e=>e)));return t}_findMemberDeclarationsByName(e,t,n,i,r){const s=[],o=this._findClassDeclarationsByName(e,t,r);for(const e of o.filter((e=>zn(e))).map((e=>e))){const t=this._evaluator.getTypeOfClass(e.node);if(!t)continue;const o=va(t.classType,n);if(o)for(const e of o.symbol.getDeclarations())i(e,r,s)}return s}_findFieldDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/v/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{if(Hn(e))if(this._isStubThatShouldBeMappedToImplementation(e.path))for(const i of this._findVariableDeclarations(e,t))Hn(i)&&n.push(i);else n.push(e)}),i),i.delete(s)),r}_findMethodDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/f/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{jn(e)&&(this._isStubThatShouldBeMappedToImplementation(e.path)?n.push(...this._findFunctionOrTypeAliasDeclarations(e,t)):n.push(e))}),i),i.delete(s)),r}_findVariableDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/v/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addVariableDeclarations(e,r,n);return n.delete(s),r}_findFunctionDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/f/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addClassOrFunctionDeclarations(e,r,n);return n.delete(s),r}_findClassDeclarationsByName(e,t,n){var i;let r=[];const s=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(s){let i=t.split(".");i.length>0&&(r=this._findClassDeclarations(e,i[0],s,n),i=i.slice(1));for(const t of i)r=r.flatMap((i=>this._findClassDeclarations(e,t,i.node,n)))}return r}_findClassDeclarations(e,t,n,i){const r=[],s=`@${e.getFilePath()}[${n.start}]${t}`;if(i.has(s))return r;i.add(s);const o=this._lookUpSymbolDeclarations(n,t);if(0===o.length&&36===n.nodeType)this._addDeclarationsFollowingWildcardImports(n,t,r,i);else for(const e of o)this._addClassOrFunctionDeclarations(e,r,i);return i.delete(s),r}_addVariableDeclarations(e,t,n){if(Hn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findVariableDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&(Hn(i)?this._addVariableDeclarations(i,t,n):(zn(i)||jn(i))&&this._addClassOrFunctionDeclarations(i,t,n))}}_addClassOrFunctionDeclarations(e,t,n){var i;if(zn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findClassOrTypeAliasDeclarations(e,n)):t.push(e);else if(jn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findFunctionOrTypeAliasDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&!Gn(i)&&this._addClassOrFunctionDeclarations(i,t,n)}else if(Hn(e)){this._addVariableDeclarations(e,t,n);const r=null!==(i=e.typeAliasName)&&void 0!==i?i:e.node,s=this._evaluator.getType(r);if(!s)return;if(Eo(s)&&s.details.declaration)this._addClassOrFunctionDeclarations(s.details.declaration,t,n);else if(ko(s))for(const e of s.overloads.map((e=>e.details.declaration)).filter(a))this._addClassOrFunctionDeclarations(e,t,n);else _o(s)&&this._addClassTypeDeclarations(e.path,s,t,n)}}_addClassTypeDeclarations(e,t,n,i){const r=t.details.filePath,s=this._getSourceFiles(r),o=t.details.fullName.substring(t.details.moduleName.length+1);for(const e of s)n.push(...this._findClassDeclarationsByName(e,o,i))}_getSourceFiles(e){const t=[];if(this._isStubThatShouldBeMappedToImplementation(e))t.push(...this._getBoundSourceFilesFromStubFile(e));else{const n=this._boundSourceGetter(e);n&&t.push(n)}return t}_addDeclarationsFollowingWildcardImports(e,t,n,i){var r,s;const o=null===(r=Ft(e))||void 0===r?void 0:r.symbolTable;if(o)for(const e of o.values())for(const r of e.getDeclarations()){if(!Gn(r)||!r.path||22!==r.node.nodeType||!r.node.isWildcardImport)continue;const e=`@${r.path}/l/${t}`;if(i.has(e))continue;i.add(e);const o=this._getSourceFiles(r.path);for(const e of o){const r=null===(s=e.getParseResults())||void 0===s?void 0:s.parseTree;if(!r)continue;const o=this._lookUpSymbolDeclarations(r,t);if(0===o.length)this._addDeclarationsFollowingWildcardImports(r,t,n,i);else for(const e of o){const t=this._evaluator.resolveAliasDeclaration(e,!0);t&&(jn(t)||zn(t)?this._addClassOrFunctionDeclarations(t,n,i):Hn(t)&&this._addVariableDeclarations(t,n,i))}}}}_lookUpSymbolDeclarations(e,t){if(void 0===e)return[];const n=Ft(e),i=null==n?void 0:n.lookUpSymbol(t),r=null==i?void 0:i.getDeclarations();return null!=r?r:[]}_getFullClassName(e){const t=[];let n=e;for(;void 0!==n;)t.push(n.name.value),n=Er(n);return t.reverse().join(".")}_getBoundSourceFilesFromStubFile(e){return this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).map((t=>this._fileBinder(e,t))).filter(a)}_isStubThatShouldBeMappedToImplementation(e){return!this._preferStubs&&(!!el(e)&&this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).every((t=>t!==e)))}}function el(e){return".pyi"===re(e,[".pyi"],!1)}function tl(e){switch(e){case"error":return 0;case"warning":return 1;case"information":return 2;default:throw new Error(`${e} is not expected`)}}class nl{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 il{constructor(){this._messages=[],this._childAddenda=[]}addMessage(e){this._messages.push(e)}createAddendum(){const e=new il;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 i=[];for(const r of this._childAddenda){const s=this._messages.length>0?e-1:e;if(i.push(...r._getLinesRecursive(s,t,n+1)),i.length>=t){i=i.slice(0,t);break}}const r=this._messages.length>0?"  ":"";return this._messages.concat(i).map((e=>r+e))}}!function(e){e.strictListInference="strictListInference",e.strictSetInference="strictSetInference",e.strictDictionaryInference="strictDictionaryInference",e.strictParameterNoneValue="strictParameterNoneValue",e.enableTypeIgnoreComments="enableTypeIgnoreComments",e.reportGeneralTypeIssues="reportGeneralTypeIssues",e.reportPropertyTypeMismatch="reportPropertyTypeMismatch",e.reportFunctionMemberAccess="reportFunctionMemberAccess",e.reportMissingImports="reportMissingImports",e.reportMissingModuleSource="reportMissingModuleSource",e.reportMissingTypeStubs="reportMissingTypeStubs",e.reportImportCycles="reportImportCycles",e.reportUnusedImport="reportUnusedImport",e.reportUnusedClass="reportUnusedClass",e.reportUnusedFunction="reportUnusedFunction",e.reportUnusedVariable="reportUnusedVariable",e.reportDuplicateImport="reportDuplicateImport",e.reportWildcardImportFromLibrary="reportWildcardImportFromLibrary",e.reportOptionalSubscript="reportOptionalSubscript",e.reportOptionalMemberAccess="reportOptionalMemberAccess",e.reportOptionalCall="reportOptionalCall",e.reportOptionalIterable="reportOptionalIterable",e.reportOptionalContextManager="reportOptionalContextManager",e.reportOptionalOperand="reportOptionalOperand",e.reportTypedDictNotRequiredAccess="reportTypedDictNotRequiredAccess",e.reportUntypedFunctionDecorator="reportUntypedFunctionDecorator",e.reportUntypedClassDecorator="reportUntypedClassDecorator",e.reportUntypedBaseClass="reportUntypedBaseClass",e.reportUntypedNamedTuple="reportUntypedNamedTuple",e.reportPrivateUsage="reportPrivateUsage",e.reportPrivateImportUsage="reportPrivateImportUsage",e.reportConstantRedefinition="reportConstantRedefinition",e.reportIncompatibleMethodOverride="reportIncompatibleMethodOverride",e.reportIncompatibleVariableOverride="reportIncompatibleVariableOverride",e.reportInconsistentConstructor="reportInconsistentConstructor",e.reportOverlappingOverload="reportOverlappingOverload",e.reportMissingSuperCall="reportMissingSuperCall",e.reportUninitializedInstanceVariable="reportUninitializedInstanceVariable",e.reportInvalidStringEscapeSequence="reportInvalidStringEscapeSequence",e.reportUnknownParameterType="reportUnknownParameterType",e.reportUnknownArgumentType="reportUnknownArgumentType",e.reportUnknownLambdaType="reportUnknownLambdaType",e.reportUnknownVariableType="reportUnknownVariableType",e.reportUnknownMemberType="reportUnknownMemberType",e.reportMissingParameterType="reportMissingParameterType",e.reportMissingTypeArgument="reportMissingTypeArgument",e.reportInvalidTypeVarUse="reportInvalidTypeVarUse",e.reportCallInDefaultInitializer="reportCallInDefaultInitializer",e.reportUnnecessaryIsInstance="reportUnnecessaryIsInstance",e.reportUnnecessaryCast="reportUnnecessaryCast",e.reportUnnecessaryComparison="reportUnnecessaryComparison",e.reportAssertAlwaysTrue="reportAssertAlwaysTrue",e.reportSelfClsParameterName="reportSelfClsParameterName",e.reportImplicitStringConcatenation="reportImplicitStringConcatenation",e.reportUndefinedVariable="reportUndefinedVariable",e.reportUnboundVariable="reportUnboundVariable",e.reportInvalidStubStatement="reportInvalidStubStatement",e.reportIncompleteStub="reportIncompleteStub",e.reportUnsupportedDunderAll="reportUnsupportedDunderAll",e.reportUnusedCallResult="reportUnusedCallResult",e.reportUnusedCoroutine="reportUnusedCoroutine",e.reportUnnecessaryTypeIgnoreComment="reportUnnecessaryTypeIgnoreComment",e.reportMatchNotExhaustive="reportMatchNotExhaustive"}($o||($o={}));class rl{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}}let sl="default";function ol(){return"simplified"===sl}function al(e){return ol()?"":e.getString()}let ll;const cl=__webpack_require__(6395);function ul(e){void 0===ll&&(ll={});const t=e.split("."),n=pl(ll,t)||pl(cl,t);if(n)return n;E(`Missing localized string for key "${e}"`)}function pl(e,t){let n=e;for(const e of t){if(!n[e])return;n=n[e]}return n}async function dl({locale:e,style:t}={}){t&&(sl=t);const n=e?e.toLowerCase():function(){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"en-us"}();ll=await async function(e){let t=await hl(e);if(void 0!==t)return t;const n=e.split("-");return n.length>0&&n[0]&&(t=await hl(n[0]),void 0!==t)?t:{}}(n)}async function hl(e){switch(e){case"ca":return(await __webpack_require__.e(464).then(__webpack_require__.t.bind(__webpack_require__,6464,19))).default;case"fr":return(await __webpack_require__.e(846).then(__webpack_require__.t.bind(__webpack_require__,4846,19))).default;case"es-es":return(await __webpack_require__.e(162).then(__webpack_require__.t.bind(__webpack_require__,4162,19))).default;case"ja":return(await __webpack_require__.e(244).then(__webpack_require__.t.bind(__webpack_require__,244,19))).default;case"ko":return(await __webpack_require__.e(372).then(__webpack_require__.t.bind(__webpack_require__,1372,19))).default;case"nl":return(await __webpack_require__.e(101).then(__webpack_require__.t.bind(__webpack_require__,5101,19))).default;case"zh-cn":return(await __webpack_require__.e(131).then(__webpack_require__.t.bind(__webpack_require__,8131,19))).default;case"zh-tw":return(await __webpack_require__.e(753).then(__webpack_require__.t.bind(__webpack_require__,9753,19))).default;default:return(await __webpack_require__.e(416).then(__webpack_require__.t.bind(__webpack_require__,8416,19))).default}}var ml;function fl(e,t,n){w(Zs.isTypedDictClass(n));const i=Xs.createInstance("__new__","","",65);Xs.addParameter(i,{category:0,name:"cls",type:n,hasDeclaredType:!0}),Xs.addDefaultParameters(i),i.details.declaredReturnType=Zs.cloneAsInstance(n);const r=Xs.createInstance("__init__","","",64);Xs.addParameter(r,{category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0}),r.details.declaredReturnType=to.createInstance(),Xs.addParameter(r,{category:1,type:io.create(),hasDeclaredType:!0});const s=gl(e,n);s.forEach(((e,t)=>{Xs.addParameter(r,{category:0,name:t,hasDefault:!e.isRequired,type:e.valueType,hasDeclaredType:!0})}));const o=n.details.fields;o.set("__init__",qo.createWithType(4,r)),o.set("__new__",qo.createWithType(4,i));const a=e.getBuiltInType(t,"str");if(_o(a)){const i={category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0},r=e=>{let t=oo.createInstance(`__${e.details.name}_default`);return t.details.isSynthesized=!0,t=oo.cloneForScopeId(t,e.details.typeVarScopeId,n.details.name,1),t},l=(n,s,o,a=!1)=>{const l=Xs.createInstance("get","","",320);if(Xs.addParameter(l,i),l.details.typeVarScopeId=e.getScopeIdForNode(t),Xs.addParameter(l,{category:0,name:"k",type:n,hasDeclaredType:!0}),o){const e=r(l);Xs.addParameter(l,{category:0,name:"default",type:a?s:e,hasDeclaredType:!0}),l.details.declaredReturnType=a?s:Oo([s,e])}else l.details.declaredReturnType=Oo([s,to.createInstance()]);return l},c=(n,s)=>{const o={category:0,name:"k",type:n,hasDeclaredType:!0},a=Xs.createInstance("pop","","",320);Xs.addParameter(a,i),Xs.addParameter(a,o),a.details.declaredReturnType=s;const l=Xs.createInstance("pop","","",320);Xs.addParameter(l,i),Xs.addParameter(l,o),l.details.typeVarScopeId=e.getScopeIdForNode(t);const c=r(l);return Xs.addParameter(l,{category:0,name:"default",hasDeclaredType:!0,type:c,hasDefault:!0}),l.details.declaredReturnType=Oo([s,c]),[a,l]},u=(e,t)=>{const n=Xs.createInstance("setdefault","","",320);return Xs.addParameter(n,i),Xs.addParameter(n,{category:0,name:"k",hasDeclaredType:!0,type:e}),Xs.addParameter(n,{category:0,name:"default",hasDeclaredType:!0,type:t}),n.details.declaredReturnType=t,n},p=e=>{const t=Xs.createInstance("delitem","","",320);return Xs.addParameter(t,i),Xs.addParameter(t,{category:0,name:"k",hasDeclaredType:!0,type:e}),t.details.declaredReturnType=to.createInstance(),t},d=[],h=[],m=[];s.forEach(((e,t)=>{const n=Zs.cloneAsInstance(Zs.cloneWithLiteral(a,t));d.push(l(n,e.valueType,!1)),d.push(l(n,e.valueType,!0,!0)),d.push(l(n,e.valueType,!0,!1)),h.push(...c(n,e.valueType)),m.push(u(n,e.valueType))}));const f=Zs.cloneAsInstance(a);d.push(l(f,io.create(),!1)),d.push(l(f,io.create(),!0)),o.set("get",qo.createWithType(4,eo.create(d))),h.length>0&&o.set("pop",qo.createWithType(4,eo.create(h))),m.length>0&&o.set("setdefault",qo.createWithType(4,eo.create(m))),o.set("__delitem__",qo.createWithType(4,p(f)))}}function gl(e,t,n=!1){if(!t.details.typedDictEntries){const n=new Map;yl(e,t,n),t.details.typedDictEntries=n}const i=new Map;return t.details.typedDictEntries.forEach(((e,t)=>{i.set(t,{...e})})),n&&t.typedDictNarrowedEntries&&t.typedDictNarrowedEntries.forEach(((e,t)=>{i.set(t,{...e})})),i}function yl(e,t,n,i=0){w(Zs.isTypedDictClass(t)),i>Gs||(i++,t.details.baseClasses.forEach((t=>{_o(t)&&Zs.isTypedDictClass(t)&&yl(e,t,n,i)})),t.details.fields.forEach(((i,r)=>{if(!i.isIgnoredForProtocolMatch()){const s=Vo(i);if(s&&1===s.type){const o=e.getEffectiveTypeOfSymbol(i);let a=!Zs.isCanOmitDictValues(t);!function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isRequired))}(i)?function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isNotRequired))}(i)&&(a=!1):a=!0;const l=n.get(r);if(l&&!Ao(l.valueType,o)){const t=new il;t.addMessage(ml.DiagnosticAddendum.typedDictFieldRedefinition().format({parentType:e.printType(l.valueType),childType:e.printType(o)})),e.addDiagnostic(Vt(s.node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typedDictFieldRedefinition().format({name:r})+t.getString(),s.node)}n.set(r,{valueType:o,isRequired:a,isProvided:!1})}}})))}function _l(e,t,n,i,r=0){let s=!0;const o=gl(e,t),a=gl(e,n,!0);return o.forEach(((o,l)=>{const c=a.get(l);c?(o.isRequired&&!c.isRequired?(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:l,type:e.printType(t)})),s=!1):!o.isRequired&&c.isRequired&&(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldNotRequired().format({name:l,type:e.printType(t)})),s=!1),e.canAssignType(o.valueType,c.valueType,void 0,void 0,void 0,r)||(i&&i.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:l})),s=!1)):(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldMissing().format({name:l,type:e.printType(n)})),s=!1)})),s}function vl(e,t,n,i){if(1!==t.items.length)return e.addError(ml.Diagnostic.typeArgsMismatchOne().format({received:t.items.length}),t),{node:t,type:Ys.create()};if(t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return;const r=gl(e,n,"get"===i.method),s=e.getTypeOfExpression(t.items[0].valueExpression),o=s.type;let a=new il,l=!0;const c=Ko(o,(s=>{if(ho(s))return s;if(vo(s)&&Zs.isBuiltIn(s,"str")){if(void 0===s.literalValue)return Ys.create();const o=s.literalValue,c=r.get(o);return c?(c.isRequired||c.isProvided||"get"!==i.method||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,!0)||a.addMessage(ml.DiagnosticAddendum.keyNotRequired().format({name:o,type:e.printType(n)})),"set"===i.method?e.canAssignType(c.valueType,i.setType||io.create(),a)||(l=!1):"del"===i.method&&c.isRequired&&(a.addMessage(ml.DiagnosticAddendum.keyRequiredDeleted().format({name:o})),l=!1),c.valueType):(a.addMessage(ml.DiagnosticAddendum.keyUndefined().format({name:o,type:e.printType(n)})),l=!1,Ys.create())}return a.addMessage(ml.DiagnosticAddendum.typeNotStringLiteral().format({type:e.printType(s)})),l=!1,Ys.create()}));if(i.setExpectedTypeDiag&&(a=i.setExpectedTypeDiag),!a.isEmpty()){let n;n="set"===i.method?ml.Diagnostic.typedDictSet():"del"===i.method?ml.Diagnostic.typedDictDelete():ml.Diagnostic.typedDictAccess();const r=Vt(t);e.addDiagnostic(l?r.diagnosticRuleSet.reportTypedDictNotRequiredAccess:r.diagnosticRuleSet.reportGeneralTypeIssues,l?$o.reportTypedDictNotRequiredAccess:$o.reportGeneralTypeIssues,n+a.getString(),t)}return{node:t,type:c,isIncomplete:!!s.isIncomplete}}function Tl(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&&!Zs.isSameGenericClass(t,e.boundToType)}function bl(e,t,n){const i=Er(e.node.name,!1),r=i?n.getTypeOfClass(i):void 0;if(r)return function(e,t,n,i){if(!e||!jn(e))return;const r=n.getTypeForDeclaration(e);if(!r||!ua(r))return;const s=28===e.node.nodeType?e.node.name.value:void 0;if(!s)return;const o=ba(i,0);for(const[e]of o){if(!_o(e))continue;const i=e.details.fields.get(s),r=null==i?void 0:i.getDeclarations();if(r)for(const e of r)if(jn(e)){const i=n.getTypeForDeclaration(e);if(i&&ua(i)){const n=El(e,t);if(n)return n}}}}(e,t,n,r.classType)}function Il(e,t,n){let i=e.docString;return!i&&t&&el(t.path)&&(i=function(e){for(const t of e)if(t.statements){const e=qr(t.statements);if(e)return e}}(n.findModules(t.path))),i}function Sl(e,t,n){let i=e.details.docString;if(!i&&t&&zn(t)&&(i=kl([t]),!i&&t&&el(t.path)&&4===t.type)&&(i=kl(n.findClassDeclarations(t))),!i&&t){const r=n.findClassDeclarationsByType(t.path,e);r&&(i=kl(r.filter((e=>zn(e))).map((e=>e))))}return i}function xl(e){var t,n,i;return qr(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 Cl(e,t){if(e)return void 0!==e.docString?e.docString:function(e,t){const n=[];if(!el(e.path))return n;for(const i of t.findDeclarations(e))if(Hn(i)&&i.docString)n.push(i.docString);else if(zn(i)||jn(i)){const e=xl(i);e&&n.push(e)}return n}(e,t).find((e=>e))}function wl(e,t,n){if(!ko(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&&el(t.path)&&jn(t)){const e=kl(n.findFunctionDeclarations(t));e&&i.push(e)}return i}function El(e,t){let n=kl([e]);return!n&&el(e.path)&&(n=kl(t.findFunctionDeclarations(e))),n}function kl(e){for(const t of e){const e=xl(t);if(e)return e}}!function(e){let t,n,i,r;!function(e){e.annotatedParamCountMismatch=()=>new rl(ul("Diagnostic.annotatedParamCountMismatch")),e.annotatedTypeArgMissing=()=>ul("Diagnostic.annotatedTypeArgMissing"),e.annotationFormatString=()=>ul("Diagnostic.annotationFormatString"),e.annotationNotSupported=()=>ul("Diagnostic.annotationNotSupported"),e.annotationSpansStrings=()=>ul("Diagnostic.annotationSpansStrings"),e.annotationStringEscape=()=>ul("Diagnostic.annotationStringEscape"),e.argAssignment=()=>new rl(ul("Diagnostic.argAssignment")),e.argAssignmentFunction=()=>new rl(ul("Diagnostic.argAssignmentFunction")),e.argAssignmentParam=()=>new rl(ul("Diagnostic.argAssignmentParam")),e.argAssignmentParamFunction=()=>new rl(ul("Diagnostic.argAssignmentParamFunction")),e.argMissingForParam=()=>new rl(ul("Diagnostic.argMissingForParam")),e.argMissingForParams=()=>new rl(ul("Diagnostic.argMissingForParams")),e.argMorePositionalExpectedCount=()=>new rl(ul("Diagnostic.argMorePositionalExpectedCount")),e.argMorePositionalExpectedOne=()=>ul("Diagnostic.argMorePositionalExpectedOne"),e.argPositional=()=>ul("Diagnostic.argPositional"),e.argPositionalExpectedCount=()=>new rl(ul("Diagnostic.argPositionalExpectedCount")),e.argPositionalExpectedOne=()=>ul("Diagnostic.argPositionalExpectedOne"),e.argTypePartiallyUnknown=()=>ul("Diagnostic.argTypePartiallyUnknown"),e.argTypeUnknown=()=>ul("Diagnostic.argTypeUnknown"),e.assertAlwaysTrue=()=>ul("Diagnostic.assertAlwaysTrue"),e.assignmentExprContext=()=>ul("Diagnostic.assignmentExprContext"),e.assignmentExprComprehension=()=>new rl(ul("Diagnostic.assignmentExprComprehension")),e.assignmentExprInSubscript=()=>ul("Diagnostic.assignmentExprInSubscript"),e.assignmentInProtocol=()=>ul("Diagnostic.assignmentInProtocol"),e.assignmentTargetExpr=()=>ul("Diagnostic.assignmentTargetExpr"),e.asyncNotInAsyncFunction=()=>ul("Diagnostic.asyncNotInAsyncFunction"),e.awaitIllegal=()=>ul("Diagnostic.awaitIllegal"),e.awaitNotInAsync=()=>ul("Diagnostic.awaitNotInAsync"),e.backticksIllegal=()=>ul("Diagnostic.backticksIllegal"),e.baseClassCircular=()=>ul("Diagnostic.baseClassCircular"),e.baseClassInvalid=()=>ul("Diagnostic.baseClassInvalid"),e.baseClassFinal=()=>new rl(ul("Diagnostic.baseClassFinal")),e.baseClassMethodTypeIncompatible=()=>new rl(ul("Diagnostic.baseClassMethodTypeIncompatible")),e.baseClassUnknown=()=>ul("Diagnostic.baseClassUnknown"),e.bindTypeMismatch=()=>new rl(ul("Diagnostic.bindTypeMismatch")),e.booleanIsLowerCase=()=>new rl(ul("Diagnostic.booleanIsLowerCase")),e.breakOutsideLoop=()=>ul("Diagnostic.breakOutsideLoop"),e.callableExtraArgs=()=>ul("Diagnostic.callableExtraArgs"),e.callableFirstArg=()=>ul("Diagnostic.callableFirstArg"),e.callableSecondArg=()=>ul("Diagnostic.callableSecondArg"),e.casePatternIsIrrefutable=()=>ul("Diagnostic.casePatternIsIrrefutable"),e.classAlreadySpecialized=()=>new rl(ul("Diagnostic.classAlreadySpecialized")),e.classDecoratorTypeUnknown=()=>ul("Diagnostic.classDecoratorTypeUnknown"),e.classDefinitionCycle=()=>new rl(ul("Diagnostic.classDefinitionCycle")),e.classGetItemClsParam=()=>ul("Diagnostic.classGetItemClsParam"),e.classMethodClsParam=()=>ul("Diagnostic.classMethodClsParam"),e.classNotRuntimeSubscriptable=()=>new rl(ul("Diagnostic.classNotRuntimeSubscriptable")),e.classPatternBuiltInArgCount=()=>ul("Diagnostic.classPatternBuiltInArgCount"),e.classPatternBuiltInArgPositional=()=>ul("Diagnostic.classPatternBuiltInArgPositional"),e.classPatternTypeAlias=()=>new rl(ul("Diagnostic.classPatternTypeAlias")),e.classVarNotAllowed=()=>ul("Diagnostic.classVarNotAllowed"),e.classVarFirstArgMissing=()=>ul("Diagnostic.classVarFirstArgMissing"),e.classVarOverridesInstanceVar=()=>new rl(ul("Diagnostic.classVarOverridesInstanceVar")),e.classVarTooManyArgs=()=>ul("Diagnostic.classVarTooManyArgs"),e.classVarWithTypeVar=()=>ul("Diagnostic.classVarWithTypeVar"),e.clsSelfParamTypeMismatch=()=>new rl(ul("Diagnostic.clsSelfParamTypeMismatch")),e.comparisonAlwaysFalse=()=>new rl(ul("Diagnostic.comparisonAlwaysFalse")),e.comparisonAlwaysTrue=()=>new rl(ul("Diagnostic.comparisonAlwaysTrue")),e.comprehensionInDict=()=>ul("Diagnostic.comprehensionInDict"),e.comprehensionInSet=()=>ul("Diagnostic.comprehensionInSet"),e.concatenateParamSpecMissing=()=>ul("Diagnostic.concatenateParamSpecMissing"),e.concatenateTypeArgsMissing=()=>ul("Diagnostic.concatenateTypeArgsMissing"),e.constantRedefinition=()=>new rl(ul("Diagnostic.constantRedefinition")),e.constructorNoArgs=()=>new rl(ul("Diagnostic.constructorNoArgs")),e.constructorParametersMismatch=()=>new rl(ul("Diagnostic.constructorParametersMismatch")),e.continueInFinally=()=>ul("Diagnostic.continueInFinally"),e.continueOutsideLoop=()=>ul("Diagnostic.continueOutsideLoop"),e.dataClassBaseClassNotFrozen=()=>ul("Diagnostic.dataClassBaseClassNotFrozen"),e.dataClassFieldWithDefault=()=>ul("Diagnostic.dataClassFieldWithDefault"),e.dataClassPostInitParamCount=()=>new rl(ul("Diagnostic.dataClassPostInitParamCount")),e.dataClassPostInitType=()=>new rl(ul("Diagnostic.dataClassPostInitType")),e.dataClassSlotsOverwrite=()=>ul("Diagnostic.dataClassSlotsOverwrite"),e.dataClassTransformExpectedBoolLiteral=()=>ul("Diagnostic.dataClassTransformExpectedBoolLiteral"),e.dataClassTransformFieldDescriptor=()=>new rl(ul("Diagnostic.dataClassTransformFieldDescriptor")),e.dataClassTransformPositionalParam=()=>ul("Diagnostic.dataClassTransformPositionalParam"),e.dataClassTransformUnknownArgument=()=>new rl(ul("Diagnostic.dataClassTransformUnknownArgument")),e.declaredReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.declaredReturnTypePartiallyUnknown")),e.declaredReturnTypeUnknown=()=>ul("Diagnostic.declaredReturnTypeUnknown"),e.defaultValueContainsCall=()=>ul("Diagnostic.defaultValueContainsCall"),e.defaultValueNotAllowed=()=>ul("Diagnostic.defaultValueNotAllowed"),e.defaultValueNotEllipsis=()=>ul("Diagnostic.defaultValueNotEllipsis"),e.deprecatedType=()=>new rl(ul("Diagnostic.deprecatedType")),e.dictExpandIllegalInComprehension=()=>ul("Diagnostic.dictExpandIllegalInComprehension"),e.dictInAnnotation=()=>ul("Diagnostic.dictInAnnotation"),e.dictKeyValuePairs=()=>ul("Diagnostic.dictKeyValuePairs"),e.dictUnpackIsNotMapping=()=>ul("Diagnostic.dictUnpackIsNotMapping"),e.delTargetExpr=()=>ul("Diagnostic.delTargetExpr"),e.dunderAllSymbolNotPresent=()=>new rl(ul("Diagnostic.dunderAllSymbolNotPresent")),e.duplicateArgsParam=()=>ul("Diagnostic.duplicateArgsParam"),e.duplicateBaseClass=()=>ul("Diagnostic.duplicateBaseClass"),e.duplicateCatchAll=()=>ul("Diagnostic.duplicateCatchAll"),e.duplicateEnumMember=()=>new rl(ul("Diagnostic.duplicateEnumMember")),e.duplicateImport=()=>new rl(ul("Diagnostic.duplicateImport")),e.duplicateKwargsParam=()=>ul("Diagnostic.duplicateKwargsParam"),e.duplicateKeywordOnly=()=>ul("Diagnostic.duplicateKeywordOnly"),e.duplicateParam=()=>new rl(ul("Diagnostic.duplicateParam")),e.duplicateCapturePatternTarget=()=>new rl(ul("Diagnostic.duplicateCapturePatternTarget")),e.duplicateStarPattern=()=>ul("Diagnostic.duplicateStarPattern"),e.duplicateStarStarPattern=()=>ul("Diagnostic.duplicateStarStarPattern"),e.duplicatePositionOnly=()=>ul("Diagnostic.duplicatePositionOnly"),e.duplicateUnpack=()=>ul("Diagnostic.duplicateUnpack"),e.ellipsisContext=()=>ul("Diagnostic.ellipsisContext"),e.ellipsisSecondArg=()=>ul("Diagnostic.ellipsisSecondArg"),e.enumClassOverride=()=>new rl(ul("Diagnostic.enumClassOverride")),e.exceptionGroupIncompatible=()=>ul("Diagnostic.exceptionGroupIncompatible"),e.exceptionTypeIncorrect=()=>new rl(ul("Diagnostic.exceptionTypeIncorrect")),e.exceptionTypeNotClass=()=>new rl(ul("Diagnostic.exceptionTypeNotClass")),e.exceptionTypeNotInstantiable=()=>new rl(ul("Diagnostic.exceptionTypeNotInstantiable")),e.expectedAfterDecorator=()=>ul("Diagnostic.expectedAfterDecorator"),e.expectedArrow=()=>ul("Diagnostic.expectedArrow"),e.expectedAsAfterException=()=>ul("Diagnostic.expectedAsAfterException"),e.expectedAssignRightHandExpr=()=>ul("Diagnostic.expectedAssignRightHandExpr"),e.expectedBinaryRightHandExpr=()=>ul("Diagnostic.expectedBinaryRightHandExpr"),e.expectedBoolLiteral=()=>ul("Diagnostic.expectedBoolLiteral"),e.expectedCase=()=>ul("Diagnostic.expectedCase"),e.expectedClassName=()=>ul("Diagnostic.expectedClassName"),e.expectedCloseBrace=()=>ul("Diagnostic.expectedCloseBrace"),e.expectedCloseBracket=()=>ul("Diagnostic.expectedCloseBracket"),e.expectedCloseParen=()=>ul("Diagnostic.expectedCloseParen"),e.expectedColon=()=>ul("Diagnostic.expectedColon"),e.expectedComplexNumberLiteral=()=>ul("Diagnostic.expectedComplexNumberLiteral"),e.expectedDecoratorExpr=()=>ul("Diagnostic.expectedDecoratorExpr"),e.expectedDecoratorName=()=>ul("Diagnostic.expectedDecoratorName"),e.expectedDecoratorNewline=()=>ul("Diagnostic.expectedDecoratorNewline"),e.expectedDelExpr=()=>ul("Diagnostic.expectedDelExpr"),e.expectedElse=()=>ul("Diagnostic.expectedElse"),e.expectedEqualityOperator=()=>ul("Diagnostic.expectedEqualityOperator"),e.expectedExceptionClass=()=>ul("Diagnostic.expectedExceptionClass"),e.expectedExceptionObj=()=>ul("Diagnostic.expectedExceptionObj"),e.expectedExpr=()=>ul("Diagnostic.expectedExpr"),e.expectedImport=()=>ul("Diagnostic.expectedImport"),e.expectedImportAlias=()=>ul("Diagnostic.expectedImportAlias"),e.expectedImportSymbols=()=>ul("Diagnostic.expectedImportSymbols"),e.expectedIdentifier=()=>ul("Diagnostic.expectedIdentifier"),e.expectedIndentedBlock=()=>ul("Diagnostic.expectedIndentedBlock"),e.expectedIn=()=>ul("Diagnostic.expectedIn"),e.expectedInExpr=()=>ul("Diagnostic.expectedInExpr"),e.expectedFunctionAfterAsync=()=>ul("Diagnostic.expectedFunctionAfterAsync"),e.expectedFunctionName=()=>ul("Diagnostic.expectedFunctionName"),e.expectedMemberName=()=>ul("Diagnostic.expectedMemberName"),e.expectedModuleName=()=>ul("Diagnostic.expectedModuleName"),e.expectedNameAfterAs=()=>ul("Diagnostic.expectedNameAfterAs"),e.expectedNamedParameter=()=>ul("Diagnostic.expectedNamedParameter"),e.expectedNewline=()=>ul("Diagnostic.expectedNewline"),e.expectedNewlineOrSemicolon=()=>ul("Diagnostic.expectedNewlineOrSemicolon"),e.expectedOpenParen=()=>ul("Diagnostic.expectedOpenParen"),e.expectedParamName=()=>ul("Diagnostic.expectedParamName"),e.expectedPatternExpr=()=>ul("Diagnostic.expectedPatternExpr"),e.expectedPatternSubjectExpr=()=>ul("Diagnostic.expectedPatternSubjectExpr"),e.expectedPatternValue=()=>ul("Diagnostic.expectedPatternValue"),e.expectedReturnExpr=()=>ul("Diagnostic.expectedReturnExpr"),e.expectedSliceIndex=()=>ul("Diagnostic.expectedSliceIndex"),e.expectedTypeNotString=()=>ul("Diagnostic.expectedTypeNotString"),e.expectedYieldExpr=()=>ul("Diagnostic.expectedYieldExpr"),e.finalClassIsAbstract=()=>new rl(ul("Diagnostic.finalClassIsAbstract")),e.finalContext=()=>ul("Diagnostic.finalContext"),e.finalMethodOverride=()=>new rl(ul("Diagnostic.finalMethodOverride")),e.finalReassigned=()=>new rl(ul("Diagnostic.finalReassigned")),e.finalRedeclaration=()=>new rl(ul("Diagnostic.finalRedeclaration")),e.finalRedeclarationBySubclass=()=>new rl(ul("Diagnostic.finalRedeclarationBySubclass")),e.finalTooManyArgs=()=>ul("Diagnostic.finalTooManyArgs"),e.finalUnassigned=()=>new rl(ul("Diagnostic.finalUnassigned")),e.formatStringBrace=()=>ul("Diagnostic.formatStringBrace"),e.formatStringBytes=()=>ul("Diagnostic.formatStringBytes"),e.formatStringEscape=()=>ul("Diagnostic.formatStringEscape"),e.formatStringInPattern=()=>ul("Diagnostic.formatStringInPattern"),e.formatStringIllegal=()=>ul("Diagnostic.formatStringIllegal"),e.formatStringUnicode=()=>ul("Diagnostic.formatStringUnicode"),e.formatStringUnterminated=()=>ul("Diagnostic.formatStringUnterminated"),e.functionDecoratorTypeUnknown=()=>ul("Diagnostic.functionDecoratorTypeUnknown"),e.generatorAsyncReturnType=()=>ul("Diagnostic.generatorAsyncReturnType"),e.generatorNotParenthesized=()=>ul("Diagnostic.generatorNotParenthesized"),e.generatorSyncReturnType=()=>ul("Diagnostic.generatorSyncReturnType"),e.genericClassAssigned=()=>ul("Diagnostic.genericClassAssigned"),e.genericClassDeleted=()=>ul("Diagnostic.genericClassDeleted"),e.genericNotAllowed=()=>ul("Diagnostic.genericNotAllowed"),e.genericTypeAliasBoundTypeVar=()=>new rl(ul("Diagnostic.genericTypeAliasBoundTypeVar")),e.genericTypeArgMissing=()=>ul("Diagnostic.genericTypeArgMissing"),e.genericTypeArgTypeVar=()=>ul("Diagnostic.genericTypeArgTypeVar"),e.genericTypeArgUnique=()=>ul("Diagnostic.genericTypeArgUnique"),e.globalReassignment=()=>new rl(ul("Diagnostic.globalReassignment")),e.globalRedefinition=()=>new rl(ul("Diagnostic.globalRedefinition")),e.implicitStringConcat=()=>ul("Diagnostic.implicitStringConcat"),e.importCycleDetected=()=>ul("Diagnostic.importCycleDetected"),e.importDepthExceeded=()=>new rl(ul("Diagnostic.importDepthExceeded")),e.importResolveFailure=()=>new rl(ul("Diagnostic.importResolveFailure")),e.importSourceResolveFailure=()=>new rl(ul("Diagnostic.importSourceResolveFailure")),e.importSymbolUnknown=()=>new rl(ul("Diagnostic.importSymbolUnknown")),e.incompatibleMethodOverride=()=>new rl(ul("Diagnostic.incompatibleMethodOverride")),e.inconsistentIndent=()=>ul("Diagnostic.inconsistentIndent"),e.inconsistentTabs=()=>ul("Diagnostic.inconsistentTabs"),e.initMustReturnNone=()=>ul("Diagnostic.initMustReturnNone"),e.initSubclassClsParam=()=>ul("Diagnostic.initSubclassClsParam"),e.instanceMethodSelfParam=()=>ul("Diagnostic.instanceMethodSelfParam"),e.instanceVarOverridesClassVar=()=>new rl(ul("Diagnostic.instanceVarOverridesClassVar")),e.instantiateAbstract=()=>new rl(ul("Diagnostic.instantiateAbstract")),e.instantiateProtocol=()=>new rl(ul("Diagnostic.instantiateProtocol")),e.internalBindError=()=>new rl(ul("Diagnostic.internalBindError")),e.internalParseError=()=>new rl(ul("Diagnostic.internalParseError")),e.internalTypeCheckingError=()=>new rl(ul("Diagnostic.internalTypeCheckingError")),e.invalidIdentifierChar=()=>ul("Diagnostic.invalidIdentifierChar"),e.invalidStubStatement=()=>ul("Diagnostic.invalidStubStatement"),e.invalidTokenChars=()=>new rl(ul("Diagnostic.invalidTokenChars")),e.isInstanceInvalidType=()=>new rl(ul("Diagnostic.isInstanceInvalidType")),e.isSubclassInvalidType=()=>new rl(ul("Diagnostic.isSubclassInvalidType")),e.keyValueInSet=()=>ul("Diagnostic.keyValueInSet"),e.keywordArgInTypeArgument=()=>ul("Diagnostic.keywordArgInTypeArgument"),e.keywordOnlyAfterArgs=()=>ul("Diagnostic.keywordOnlyAfterArgs"),e.keywordSubscriptIllegal=()=>ul("Diagnostic.keywordSubscriptIllegal"),e.lambdaReturnTypeUnknown=()=>ul("Diagnostic.lambdaReturnTypeUnknown"),e.lambdaReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.lambdaReturnTypePartiallyUnknown")),e.listAssignmentMismatch=()=>new rl(ul("Diagnostic.listAssignmentMismatch")),e.listInAnnotation=()=>ul("Diagnostic.listInAnnotation"),e.literalUnsupportedType=()=>ul("Diagnostic.literalUnsupportedType"),e.literalEmptyArgs=()=>ul("Diagnostic.literalEmptyArgs"),e.literalNotCallable=()=>ul("Diagnostic.literalNotCallable"),e.matchIncompatible=()=>ul("Diagnostic.matchIncompatible"),e.matchIsNotExhaustive=()=>ul("Diagnostic.matchIsNotExhaustive"),e.maxParseDepthExceeded=()=>ul("Diagnostic.maxParseDepthExceeded"),e.memberAccess=()=>new rl(ul("Diagnostic.memberAccess")),e.memberDelete=()=>new rl(ul("Diagnostic.memberDelete")),e.memberSet=()=>new rl(ul("Diagnostic.memberSet")),e.metaclassConflict=()=>ul("Diagnostic.metaclassConflict"),e.metaclassDuplicate=()=>ul("Diagnostic.metaclassDuplicate"),e.metaclassIsGeneric=()=>ul("Diagnostic.metaclassIsGeneric"),e.methodNotDefined=()=>new rl(ul("Diagnostic.methodNotDefined")),e.methodNotDefinedOnType=()=>new rl(ul("Diagnostic.methodNotDefinedOnType")),e.methodOrdering=()=>ul("Diagnostic.methodOrdering"),e.methodOverridden=()=>new rl(ul("Diagnostic.methodOverridden")),e.methodReturnsNonObject=()=>new rl(ul("Diagnostic.methodReturnsNonObject")),e.missingProtocolMembers=()=>ul("Diagnostic.missingProtocolMembers"),e.missingSuperCall=()=>new rl(ul("Diagnostic.missingSuperCall")),e.moduleAsType=()=>ul("Diagnostic.moduleAsType"),e.moduleNotCallable=()=>ul("Diagnostic.moduleNotCallable"),e.moduleUnknownMember=()=>new rl(ul("Diagnostic.moduleUnknownMember")),e.namedExceptAfterCatchAll=()=>ul("Diagnostic.namedExceptAfterCatchAll"),e.namedParamAfterParamSpecArgs=()=>new rl(ul("Diagnostic.namedParamAfterParamSpecArgs")),e.namedTupleEmptyName=()=>ul("Diagnostic.namedTupleEmptyName"),e.namedTupleFirstArg=()=>ul("Diagnostic.namedTupleFirstArg"),e.namedTupleMultipleInheritance=()=>ul("Diagnostic.namedTupleMultipleInheritance"),e.namedTupleNameType=()=>ul("Diagnostic.namedTupleNameType"),e.namedTupleNameUnique=()=>ul("Diagnostic.namedTupleNameUnique"),e.namedTupleNoTypes=()=>ul("Diagnostic.namedTupleNoTypes"),e.namedTupleSecondArg=()=>ul("Diagnostic.namedTupleSecondArg"),e.newClsParam=()=>ul("Diagnostic.newClsParam"),e.newTypeLiteral=()=>ul("Diagnostic.newTypeLiteral"),e.newTypeNotAClass=()=>ul("Diagnostic.newTypeNotAClass"),e.newTypeProtocolClass=()=>ul("Diagnostic.newTypeProtocolClass"),e.nonDefaultAfterDefault=()=>ul("Diagnostic.nonDefaultAfterDefault"),e.noneNotCallable=()=>ul("Diagnostic.noneNotCallable"),e.noneNotIterable=()=>ul("Diagnostic.noneNotIterable"),e.noneNotSubscriptable=()=>ul("Diagnostic.noneNotSubscriptable"),e.noneNotUsableWith=()=>ul("Diagnostic.noneNotUsableWith"),e.noneOperator=()=>new rl(ul("Diagnostic.noneOperator")),e.noneUnknownMember=()=>new rl(ul("Diagnostic.noneUnknownMember")),e.nonLocalNoBinding=()=>new rl(ul("Diagnostic.nonLocalNoBinding")),e.nonLocalReassignment=()=>new rl(ul("Diagnostic.nonLocalReassignment")),e.nonLocalRedefinition=()=>new rl(ul("Diagnostic.nonLocalRedefinition")),e.nonLocalInModule=()=>ul("Diagnostic.nonLocalInModule"),e.noOverload=()=>new rl(ul("Diagnostic.noOverload")),e.noReturnContainsReturn=()=>ul("Diagnostic.noReturnContainsReturn"),e.noReturnContainsYield=()=>ul("Diagnostic.noReturnContainsYield"),e.noReturnReturnsNone=()=>ul("Diagnostic.noReturnReturnsNone"),e.notRequiredArgCount=()=>ul("Diagnostic.notRequiredArgCount"),e.notRequiredNotInTypedDict=()=>ul("Diagnostic.notRequiredNotInTypedDict"),e.objectNotCallable=()=>new rl(ul("Diagnostic.objectNotCallable")),e.obscuredClassDeclaration=()=>new rl(ul("Diagnostic.obscuredClassDeclaration")),e.obscuredFunctionDeclaration=()=>new rl(ul("Diagnostic.obscuredFunctionDeclaration")),e.obscuredMethodDeclaration=()=>new rl(ul("Diagnostic.obscuredMethodDeclaration")),e.obscuredParameterDeclaration=()=>new rl(ul("Diagnostic.obscuredParameterDeclaration")),e.obscuredVariableDeclaration=()=>new rl(ul("Diagnostic.obscuredVariableDeclaration")),e.operatorLessOrGreaterDeprecated=()=>ul("Diagnostic.operatorLessOrGreaterDeprecated"),e.optionalExtraArgs=()=>ul("Diagnostic.optionalExtraArgs"),e.orPatternIrrefutable=()=>ul("Diagnostic.orPatternIrrefutable"),e.orPatternMissingName=()=>ul("Diagnostic.orPatternMissingName"),e.overlappingOverload=()=>new rl(ul("Diagnostic.overlappingOverload")),e.overloadAbstractMismatch=()=>new rl(ul("Diagnostic.overloadAbstractMismatch")),e.overloadImplementationMismatch=()=>new rl(ul("Diagnostic.overloadImplementationMismatch")),e.overloadReturnTypeMismatch=()=>new rl(ul("Diagnostic.overloadReturnTypeMismatch")),e.overloadWithImplementation=()=>new rl(ul("Diagnostic.overloadWithImplementation")),e.overloadWithoutImplementation=()=>new rl(ul("Diagnostic.overloadWithoutImplementation")),e.paramAfterKwargsParam=()=>ul("Diagnostic.paramAfterKwargsParam"),e.paramAlreadyAssigned=()=>new rl(ul("Diagnostic.paramAlreadyAssigned")),e.paramAnnotationMissing=()=>new rl(ul("Diagnostic.paramAnnotationMissing")),e.paramNameMissing=()=>new rl(ul("Diagnostic.paramNameMissing")),e.paramSpecArgsKwargsUsage=()=>ul("Diagnostic.paramSpecArgsKwargsUsage"),e.paramSpecArgsUsage=()=>ul("Diagnostic.paramSpecArgsUsage"),e.paramSpecAssignedName=()=>new rl(ul("Diagnostic.paramSpecAssignedName")),e.paramSpecContext=()=>ul("Diagnostic.paramSpecContext"),e.paramSpecFirstArg=()=>ul("Diagnostic.paramSpecFirstArg"),e.paramSpecKwargsUsage=()=>ul("Diagnostic.paramSpecKwargsUsage"),e.paramSpecNotBound=()=>new rl(ul("Diagnostic.paramSpecNotBound")),e.paramSpecNotUsedByOuterScope=()=>new rl(ul("Diagnostic.paramSpecNotUsedByOuterScope")),e.paramSpecUnknownArg=()=>ul("Diagnostic.paramSpecUnknownArg"),e.paramSpecUnknownMember=()=>new rl(ul("Diagnostic.paramSpecUnknownMember")),e.paramSpecUnknownParam=()=>new rl(ul("Diagnostic.paramSpecUnknownParam")),e.paramTypeCovariant=()=>ul("Diagnostic.paramTypeCovariant"),e.paramTypeUnknown=()=>new rl(ul("Diagnostic.paramTypeUnknown")),e.paramAssignmentMismatch=()=>new rl(ul("Diagnostic.paramAssignmentMismatch")),e.paramTypePartiallyUnknown=()=>new rl(ul("Diagnostic.paramTypePartiallyUnknown")),e.parenthesizedContextManagerIllegal=()=>ul("Diagnostic.parenthesizedContextManagerIllegal"),e.positionArgAfterNamedArg=()=>ul("Diagnostic.positionArgAfterNamedArg"),e.privateImportFromPyTypedModule=()=>new rl(ul("Diagnostic.privateImportFromPyTypedModule")),e.positionOnlyAfterArgs=()=>ul("Diagnostic.positionOnlyAfterArgs"),e.positionOnlyAfterKeywordOnly=()=>ul("Diagnostic.positionOnlyAfterKeywordOnly"),e.positionOnlyIncompatible=()=>ul("Diagnostic.positionOnlyIncompatible"),e.positionOnlyFirstParam=()=>ul("Diagnostic.positionOnlyFirstParam"),e.privateUsedOutsideOfClass=()=>new rl(ul("Diagnostic.privateUsedOutsideOfClass")),e.privateUsedOutsideOfModule=()=>new rl(ul("Diagnostic.privateUsedOutsideOfModule")),e.propertyOverridden=()=>new rl(ul("Diagnostic.propertyOverridden")),e.propertyStaticMethod=()=>ul("Diagnostic.propertyStaticMethod"),e.protectedUsedOutsideOfClass=()=>new rl(ul("Diagnostic.protectedUsedOutsideOfClass")),e.protocolBaseClass=()=>new rl(ul("Diagnostic.protocolBaseClass")),e.protocolIllegal=()=>ul("Diagnostic.protocolIllegal"),e.protocolMemberNotClassVar=()=>new rl(ul("Diagnostic.protocolMemberNotClassVar")),e.protocolNotAllowedInTypeArgument=()=>ul("Diagnostic.protocolNotAllowedInTypeArgument"),e.protocolUsedInCall=()=>new rl(ul("Diagnostic.protocolUsedInCall")),e.protocolVarianceContravariant=()=>new rl(ul("Diagnostic.protocolVarianceContravariant")),e.protocolVarianceCovariant=()=>new rl(ul("Diagnostic.protocolVarianceCovariant")),e.protocolVarianceInvariant=()=>new rl(ul("Diagnostic.protocolVarianceInvariant")),e.recursiveDefinition=()=>new rl(ul("Diagnostic.recursiveDefinition")),e.relativeImportNotAllowed=()=>ul("Diagnostic.relativeImportNotAllowed"),e.requiredArgCount=()=>ul("Diagnostic.requiredArgCount"),e.requiredNotInTypedDict=()=>ul("Diagnostic.requiredNotInTypedDict"),e.returnMissing=()=>new rl(ul("Diagnostic.returnMissing")),e.returnOutsideFunction=()=>ul("Diagnostic.returnOutsideFunction"),e.returnTypeContravariant=()=>ul("Diagnostic.returnTypeContravariant"),e.returnTypeMismatch=()=>new rl(ul("Diagnostic.returnTypeMismatch")),e.returnTypeUnknown=()=>ul("Diagnostic.returnTypeUnknown"),e.returnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.returnTypePartiallyUnknown")),e.revealLocalsArgs=()=>ul("Diagnostic.revealLocalsArgs"),e.revealLocalsNone=()=>ul("Diagnostic.revealLocalsNone"),e.revealTypeArgs=()=>ul("Diagnostic.revealTypeArgs"),e.revealTypeExpectedTextArg=()=>ul("Diagnostic.revealTypeExpectedTextArg"),e.revealTypeExpectedTextMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTextMismatch")),e.revealTypeExpectedTypeMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTypeMismatch")),e.selfTypeContext=()=>ul("Diagnostic.selfTypeContext"),e.selfTypeWithTypedSelfOrCls=()=>ul("Diagnostic.selfTypeWithTypedSelfOrCls"),e.setterGetterTypeMismatch=()=>ul("Diagnostic.setterGetterTypeMismatch"),e.starPatternInAsPattern=()=>ul("Diagnostic.starPatternInAsPattern"),e.starPatternInOrPattern=()=>ul("Diagnostic.starPatternInOrPattern"),e.singleOverload=()=>new rl(ul("Diagnostic.singleOverload")),e.slotsAttributeError=()=>new rl(ul("Diagnostic.slotsAttributeError")),e.slotsClassVarConflict=()=>new rl(ul("Diagnostic.slotsClassVarConflict")),e.starStarWildcardNotAllowed=()=>ul("Diagnostic.starStarWildcardNotAllowed"),e.staticClsSelfParam=()=>ul("Diagnostic.staticClsSelfParam"),e.strictTypeGuardReturnType=()=>new rl(ul("Diagnostic.strictTypeGuardReturnType")),e.stringNonAsciiBytes=()=>ul("Diagnostic.stringNonAsciiBytes"),e.stringNotSubscriptable=()=>ul("Diagnostic.stringNotSubscriptable"),e.stringUnsupportedEscape=()=>ul("Diagnostic.stringUnsupportedEscape"),e.stringUnterminated=()=>ul("Diagnostic.stringUnterminated"),e.stubFileMissing=()=>new rl(ul("Diagnostic.stubFileMissing")),e.stubUsesGetAttr=()=>ul("Diagnostic.stubUsesGetAttr"),e.sublistParamsIncompatible=()=>ul("Diagnostic.sublistParamsIncompatible"),e.superCallArgCount=()=>ul("Diagnostic.superCallArgCount"),e.superCallFirstArg=()=>new rl(ul("Diagnostic.superCallFirstArg")),e.superCallSecondArg=()=>new rl(ul("Diagnostic.superCallSecondArg")),e.superCallZeroArgForm=()=>ul("Diagnostic.superCallZeroArgForm"),e.symbolIsUnbound=()=>new rl(ul("Diagnostic.symbolIsUnbound")),e.symbolIsUndefined=()=>new rl(ul("Diagnostic.symbolIsUndefined")),e.symbolIsPossiblyUnbound=()=>new rl(ul("Diagnostic.symbolIsPossiblyUnbound")),e.symbolOverridden=()=>new rl(ul("Diagnostic.symbolOverridden")),e.totalOrderingMissingMethod=()=>ul("Diagnostic.totalOrderingMissingMethod"),e.trailingCommaInFromImport=()=>ul("Diagnostic.trailingCommaInFromImport"),e.tryWithoutExcept=()=>ul("Diagnostic.tryWithoutExcept"),e.tupleAssignmentMismatch=()=>new rl(ul("Diagnostic.tupleAssignmentMismatch")),e.tupleInAnnotation=()=>ul("Diagnostic.tupleInAnnotation"),e.tupleIndexOutOfRange=()=>new rl(ul("Diagnostic.tupleIndexOutOfRange")),e.typeAliasIsRecursiveDirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveDirect")),e.typeAliasIsRecursiveIndirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveIndirect")),e.typeAliasNotInModuleOrClass=()=>ul("Diagnostic.typeAliasNotInModuleOrClass"),e.typeAliasRedeclared=()=>new rl(ul("Diagnostic.typeAliasRedeclared")),e.typeAnnotationCall=()=>ul("Diagnostic.typeAnnotationCall"),e.typeAnnotationVariable=()=>ul("Diagnostic.typeAnnotationVariable"),e.typeArgListExpected=()=>ul("Diagnostic.typeArgListExpected"),e.typeArgListNotAllowed=()=>ul("Diagnostic.typeArgListNotAllowed"),e.typeArgsExpectingNone=()=>new rl(ul("Diagnostic.typeArgsExpectingNone")),e.typeArgsMismatchOne=()=>new rl(ul("Diagnostic.typeArgsMismatchOne")),e.typeArgsMissingForAlias=()=>new rl(ul("Diagnostic.typeArgsMissingForAlias")),e.typeArgsMissingForClass=()=>new rl(ul("Diagnostic.typeArgsMissingForClass")),e.typeArgsTooFew=()=>new rl(ul("Diagnostic.typeArgsTooFew")),e.typeArgsTooMany=()=>new rl(ul("Diagnostic.typeArgsTooMany")),e.typeAssignmentMismatch=()=>new rl(ul("Diagnostic.typeAssignmentMismatch")),e.typeCallNotAllowed=()=>ul("Diagnostic.typeCallNotAllowed"),e.typedDictAccess=()=>ul("Diagnostic.typedDictAccess"),e.typedDictBadVar=()=>ul("Diagnostic.typedDictBadVar"),e.typedDictBaseClass=()=>ul("Diagnostic.typedDictBaseClass"),e.typedDictDelete=()=>ul("Diagnostic.typedDictDelete"),e.typedDictEmptyName=()=>ul("Diagnostic.typedDictEmptyName"),e.typedDictEntryName=()=>ul("Diagnostic.typedDictEntryName"),e.typedDictEntryUnique=()=>ul("Diagnostic.typedDictEntryUnique"),e.typedDictExtraArgs=()=>ul("Diagnostic.typedDictExtraArgs"),e.typedDictFieldRedefinition=()=>new rl(ul("Diagnostic.typedDictFieldRedefinition")),e.typedDictFirstArg=()=>ul("Diagnostic.typedDictFirstArg"),e.typedDictSecondArgDict=()=>ul("Diagnostic.typedDictSecondArgDict"),e.typedDictSecondArgDictEntry=()=>ul("Diagnostic.typedDictSecondArgDictEntry"),e.typedDictSet=()=>ul("Diagnostic.typedDictSet"),e.typedDictTotalParam=()=>ul("Diagnostic.typedDictTotalParam"),e.typeExpectedClass=()=>new rl(ul("Diagnostic.typeExpectedClass")),e.typeGuardArgCount=()=>ul("Diagnostic.typeGuardArgCount"),e.typeNotAwaitable=()=>new rl(ul("Diagnostic.typeNotAwaitable")),e.typeNotCallable=()=>new rl(ul("Diagnostic.typeNotCallable")),e.typeNotIntantiable=()=>new rl(ul("Diagnostic.typeNotIntantiable")),e.typeNotIterable=()=>new rl(ul("Diagnostic.typeNotIterable")),e.typeNotSpecializable=()=>new rl(ul("Diagnostic.typeNotSpecializable")),e.typeNotSubscriptable=()=>new rl(ul("Diagnostic.typeNotSubscriptable")),e.typeNotUsableWith=()=>new rl(ul("Diagnostic.typeNotUsableWith")),e.typeNotSupportBinaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperator")),e.typeNotSupportBinaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperatorBidirectional")),e.typeNotSupportUnaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperator")),e.typeNotSupportUnaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperatorBidirectional")),e.typePartiallyUnknown=()=>new rl(ul("Diagnostic.typePartiallyUnknown")),e.typeUnknown=()=>new rl(ul("Diagnostic.typeUnknown")),e.typeVarAssignedName=()=>new rl(ul("Diagnostic.typeVarAssignedName")),e.typeVarAssignmentMismatch=()=>new rl(ul("Diagnostic.typeVarAssignmentMismatch")),e.typeVarBoundAndConstrained=()=>ul("Diagnostic.typeVarBoundAndConstrained"),e.typeVarFirstArg=()=>ul("Diagnostic.typeVarFirstArg"),e.typeVarGeneric=()=>ul("Diagnostic.typeVarGeneric"),e.typeVarNoMember=()=>new rl(ul("Diagnostic.typeVarNoMember")),e.typeVarNotSubscriptable=()=>new rl(ul("Diagnostic.typeVarNotSubscriptable")),e.typeVarNotUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarNotUsedByOuterScope")),e.typeVarSingleConstraint=()=>ul("Diagnostic.typeVarSingleConstraint"),e.typeVarsNotInGeneric=()=>ul("Diagnostic.typeVarsNotInGeneric"),e.typeVarTupleMustBeUnpacked=()=>ul("Diagnostic.typeVarTupleMustBeUnpacked"),e.typeVarTupleContext=()=>ul("Diagnostic.typeVarTupleContext"),e.typeVarUnknownParam=()=>new rl(ul("Diagnostic.typeVarUnknownParam")),e.typeVarUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarUsedByOuterScope")),e.typeVarUsedOnlyOnce=()=>new rl(ul("Diagnostic.typeVarUsedOnlyOnce")),e.typeVarVariance=()=>ul("Diagnostic.typeVarVariance"),e.unaccessedClass=()=>new rl(ul("Diagnostic.unaccessedClass")),e.unaccessedFunction=()=>new rl(ul("Diagnostic.unaccessedFunction")),e.unaccessedImport=()=>new rl(ul("Diagnostic.unaccessedImport")),e.unaccessedSymbol=()=>new rl(ul("Diagnostic.unaccessedSymbol")),e.unaccessedVariable=()=>new rl(ul("Diagnostic.unaccessedVariable")),e.unexpectedAsyncToken=()=>ul("Diagnostic.unexpectedAsyncToken"),e.unexpectedExprToken=()=>ul("Diagnostic.unexpectedExprToken"),e.unexpectedIndent=()=>ul("Diagnostic.unexpectedIndent"),e.unexpectedUnindent=()=>ul("Diagnostic.unexpectedUnindent"),e.unionSyntaxIllegal=()=>ul("Diagnostic.unionSyntaxIllegal"),e.unionTypeArgCount=()=>ul("Diagnostic.unionTypeArgCount"),e.uninitializedInstanceVariable=()=>new rl(ul("Diagnostic.uninitializedInstanceVariable")),e.unnecessaryCast=()=>new rl(ul("Diagnostic.unnecessaryCast")),e.unnecessaryIsInstanceAlways=()=>new rl(ul("Diagnostic.unnecessaryIsInstanceAlways")),e.unnecessaryIsSubclassAlways=()=>new rl(ul("Diagnostic.unnecessaryIsSubclassAlways")),e.unnecessaryTypeIgnore=()=>ul("Diagnostic.unnecessaryTypeIgnore"),e.unpackArgCount=()=>ul("Diagnostic.unpackArgCount"),e.unpackedArgInTypeArgument=()=>ul("Diagnostic.unpackedArgInTypeArgument"),e.unpackedArgWithVariadicParam=()=>ul("Diagnostic.unpackedArgWithVariadicParam"),e.unpackedDictArgumentNotMapping=()=>ul("Diagnostic.unpackedDictArgumentNotMapping"),e.unpackedSubscriptIllegal=()=>ul("Diagnostic.unpackedSubscriptIllegal"),e.unpackedTypedDictArgument=()=>ul("Diagnostic.unpackedTypedDictArgument"),e.unpackedTypeVarTupleExpected=()=>new rl(ul("Diagnostic.unpackedTypeVarTupleExpected")),e.unpackExpectedTypedDict=()=>ul("Diagnostic.unpackExpectedTypedDict"),e.unpackExpectedTypeVarTuple=()=>ul("Diagnostic.unpackExpectedTypeVarTuple"),e.unpackIllegalInComprehension=()=>ul("Diagnostic.unpackIllegalInComprehension"),e.unpackInAnnotation=()=>ul("Diagnostic.unpackInAnnotation"),e.unpackInDict=()=>ul("Diagnostic.unpackInDict"),e.unpackInSet=()=>ul("Diagnostic.unpackInSet"),e.unpackNotAllowed=()=>ul("Diagnostic.unpackNotAllowed"),e.unpackOperatorNotAllowed=()=>ul("Diagnostic.unpackOperatorNotAllowed"),e.unpackTuplesIllegal=()=>ul("Diagnostic.unpackTuplesIllegal"),e.unreachableCode=()=>ul("Diagnostic.unreachableCode"),e.unreachableExcept=()=>ul("Diagnostic.unreachableExcept"),e.unsupportedDunderAllOperation=()=>ul("Diagnostic.unsupportedDunderAllOperation"),e.unusedCallResult=()=>new rl(ul("Diagnostic.unusedCallResult")),e.unusedCoroutine=()=>ul("Diagnostic.unusedCoroutine"),e.varAnnotationIllegal=()=>ul("Diagnostic.varAnnotationIllegal"),e.variadicTypeArgsTooMany=()=>ul("Diagnostic.variadicTypeArgsTooMany"),e.variadicTypeParamTooManyAlias=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyAlias")),e.variadicTypeParamTooManyClass=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyClass")),e.walrusIllegal=()=>ul("Diagnostic.walrusIllegal"),e.walrusNotAllowed=()=>ul("Diagnostic.walrusNotAllowed"),e.wildcardInFunction=()=>ul("Diagnostic.wildcardInFunction"),e.wildcardLibraryImport=()=>ul("Diagnostic.wildcardLibraryImport"),e.yieldFromIllegal=()=>ul("Diagnostic.yieldFromIllegal"),e.yieldFromOutsideAsync=()=>ul("Diagnostic.yieldFromOutsideAsync"),e.yieldOutsideFunction=()=>ul("Diagnostic.yieldOutsideFunction"),e.yieldTypeMismatch=()=>new rl(ul("Diagnostic.yieldTypeMismatch")),e.yieldWithinListCompr=()=>ul("Diagnostic.yieldWithinListCompr"),e.zeroCaseStatementsFound=()=>ul("Diagnostic.zeroCaseStatementsFound"),e.zeroLengthTupleNotAllowed=()=>ul("Diagnostic.zeroLengthTupleNotAllowed")}(t=e.Diagnostic||(e.Diagnostic={})),function(e){e.argParam=()=>new rl(ul("DiagnosticAddendum.argParam")),e.argParamFunction=()=>new rl(ul("DiagnosticAddendum.argParamFunction")),e.argsParamMissing=()=>new rl(ul("DiagnosticAddendum.argsParamMissing")),e.argsPositionOnly=()=>new rl(ul("DiagnosticAddendum.argsPositionOnly")),e.argumentType=()=>new rl(ul("DiagnosticAddendum.argumentType")),e.argumentTypes=()=>new rl(ul("DiagnosticAddendum.argumentTypes")),e.assignToNone=()=>ul("DiagnosticAddendum.assignToNone"),e.asyncHelp=()=>ul("DiagnosticAddendum.asyncHelp"),e.baseClassProvidesType=()=>new rl(ul("DiagnosticAddendum.baseClassProvidesType")),e.dataClassFrozen=()=>new rl(ul("DiagnosticAddendum.dataClassFrozen")),e.dataClassFieldLocation=()=>ul("DiagnosticAddendum.dataClassFieldLocation"),e.finalMethod=()=>ul("DiagnosticAddendum.finalMethod"),e.functionParamDefaultMissing=()=>new rl(ul("DiagnosticAddendum.functionParamDefaultMissing")),e.functionParamName=()=>new rl(ul("DiagnosticAddendum.functionParamName")),e.functionReturnTypeMismatch=()=>new rl(ul("DiagnosticAddendum.functionReturnTypeMismatch")),e.functionTooFewParams=()=>new rl(ul("DiagnosticAddendum.functionTooFewParams")),e.incompatibleGetter=()=>ul("DiagnosticAddendum.incompatibleGetter"),e.incompatibleSetter=()=>ul("DiagnosticAddendum.incompatibleSetter"),e.incompatibleDeleter=()=>ul("DiagnosticAddendum.incompatibleDeleter"),e.initMethodLocation=()=>new rl(ul("DiagnosticAddendum.initMethodLocation")),e.initMethodSignature=()=>new rl(ul("DiagnosticAddendum.initMethodSignature")),e.functionTooManyParams=()=>new rl(ul("DiagnosticAddendum.functionTooManyParams")),e.keyNotRequired=()=>new rl(ul("DiagnosticAddendum.keyNotRequired")),e.keyRequiredDeleted=()=>new rl(ul("DiagnosticAddendum.keyRequiredDeleted")),e.keyUndefined=()=>new rl(ul("DiagnosticAddendum.keyUndefined")),e.kwargsParamMissing=()=>new rl(ul("DiagnosticAddendum.kwargsParamMissing")),e.listAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.listAssignmentMismatch")),e.literalAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.literalAssignmentMismatch")),e.matchIsNotExhaustiveType=()=>new rl(ul("DiagnosticAddendum.matchIsNotExhaustiveType")),e.matchIsNotExhaustiveHint=()=>ul("DiagnosticAddendum.matchIsNotExhaustiveHint"),e.memberAssignment=()=>new rl(ul("DiagnosticAddendum.memberAssignment")),e.memberIsAbstract=()=>new rl(ul("DiagnosticAddendum.memberIsAbstract")),e.memberIsAbstractMore=()=>new rl(ul("DiagnosticAddendum.memberIsAbstractMore")),e.memberIsFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsFinalInProtocol")),e.memberIsInitVar=()=>new rl(ul("DiagnosticAddendum.memberIsInitVar")),e.memberIsNotFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsNotFinalInProtocol")),e.memberSetClassVar=()=>new rl(ul("DiagnosticAddendum.memberSetClassVar")),e.memberTypeMismatch=()=>new rl(ul("DiagnosticAddendum.memberTypeMismatch")),e.memberUnknown=()=>new rl(ul("DiagnosticAddendum.memberUnknown")),e.missingProtocolMember=()=>new rl(ul("DiagnosticAddendum.missingProtocolMember")),e.missingGetter=()=>ul("DiagnosticAddendum.missingGetter"),e.missingSetter=()=>ul("DiagnosticAddendum.missingSetter"),e.missingDeleter=()=>ul("DiagnosticAddendum.missingDeleter"),e.namedParamMissingInDest=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInDest")),e.namedParamMissingInSource=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInSource")),e.namedParamTypeMismatch=()=>new rl(ul("DiagnosticAddendum.namedParamTypeMismatch")),e.newMethodLocation=()=>new rl(ul("DiagnosticAddendum.newMethodLocation")),e.newMethodSignature=()=>new rl(ul("DiagnosticAddendum.newMethodSignature")),e.noOverloadAssignable=()=>new rl(ul("DiagnosticAddendum.noOverloadAssignable")),e.orPatternMissingName=()=>new rl(ul("DiagnosticAddendum.orPatternMissingName")),e.overloadMethod=()=>ul("DiagnosticAddendum.overloadMethod"),e.overloadNotAssignable=()=>new rl(ul("DiagnosticAddendum.overloadNotAssignable")),e.overloadWithImplementation=()=>ul("DiagnosticAddendum.overloadWithImplementation"),e.overriddenMethod=()=>ul("DiagnosticAddendum.overriddenMethod"),e.overriddenSymbol=()=>ul("DiagnosticAddendum.overriddenSymbol"),e.overrideParamCount=()=>new rl(ul("DiagnosticAddendum.overrideParamCount")),e.overrideParamName=()=>new rl(ul("DiagnosticAddendum.overrideParamName")),e.overrideParamNamePositionOnly=()=>new rl(ul("DiagnosticAddendum.overrideParamNamePositionOnly")),e.overrideParamType=()=>new rl(ul("DiagnosticAddendum.overrideParamType")),e.overrideReturnType=()=>new rl(ul("DiagnosticAddendum.overrideReturnType")),e.overrideType=()=>new rl(ul("DiagnosticAddendum.overrideType")),e.paramAssignment=()=>new rl(ul("DiagnosticAddendum.paramAssignment")),e.paramSpecOverload=()=>ul("DiagnosticAddendum.paramSpecOverload"),e.paramType=()=>new rl(ul("DiagnosticAddendum.paramType")),e.privateImportFromPyTypedSource=()=>new rl(ul("DiagnosticAddendum.privateImportFromPyTypedSource")),e.propertyAccessFromProtocolClass=()=>ul("DiagnosticAddendum.propertyAccessFromProtocolClass"),e.propertyMethodIncompatible=()=>new rl(ul("DiagnosticAddendum.propertyMethodIncompatible")),e.propertyMethodMissing=()=>new rl(ul("DiagnosticAddendum.propertyMethodMissing")),e.propertyMissingDeleter=()=>new rl(ul("DiagnosticAddendum.propertyMissingDeleter")),e.propertyMissingSetter=()=>new rl(ul("DiagnosticAddendum.propertyMissingSetter")),e.protocolMemberClassVar=()=>new rl(ul("DiagnosticAddendum.protocolMemberClassVar")),e.protocolIncompatible=()=>new rl(ul("DiagnosticAddendum.protocolIncompatible")),e.protocolMemberMissing=()=>new rl(ul("DiagnosticAddendum.protocolMemberMissing")),e.protocolSourceIsNotConcrete=()=>new rl(ul("DiagnosticAddendum.protocolSourceIsNotConcrete")),e.readOnlyAttribute=()=>new rl(ul("DiagnosticAddendum.readOnlyAttribute")),e.seeDeclaration=()=>ul("DiagnosticAddendum.seeDeclaration"),e.seeClassDeclaration=()=>ul("DiagnosticAddendum.seeClassDeclaration"),e.seeFunctionDeclaration=()=>ul("DiagnosticAddendum.seeFunctionDeclaration"),e.seeMethodDeclaration=()=>ul("DiagnosticAddendum.seeMethodDeclaration"),e.seeParameterDeclaration=()=>ul("DiagnosticAddendum.seeParameterDeclaration"),e.seeVariableDeclaration=()=>ul("DiagnosticAddendum.seeVariableDeclaration"),e.tupleEntryTypeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleEntryTypeMismatch")),e.tupleAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.tupleAssignmentMismatch")),e.tupleSizeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatch")),e.tupleSizeMismatchIndeterminate=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatchIndeterminate")),e.typeAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.typeAssignmentMismatch")),e.typeBound=()=>new rl(ul("DiagnosticAddendum.typeBound")),e.typeConstrainedTypeVar=()=>new rl(ul("DiagnosticAddendum.typeConstrainedTypeVar")),e.typedDictFieldMissing=()=>new rl(ul("DiagnosticAddendum.typedDictFieldMissing")),e.typedDictFieldNotRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldNotRequired")),e.typedDictFieldRedefinition=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRedefinition")),e.typedDictFieldRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRequired")),e.typedDictFieldTypeMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFieldTypeMismatch")),e.typedDictFieldUndefined=()=>new rl(ul("DiagnosticAddendum.typedDictFieldUndefined")),e.typedDictFinalMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFinalMismatch")),e.typeIncompatible=()=>new rl(ul("DiagnosticAddendum.typeIncompatible")),e.typeNotCallable=()=>new rl(ul("DiagnosticAddendum.typeNotCallable")),e.typeNotClass=()=>new rl(ul("DiagnosticAddendum.typeNotClass")),e.typeParamSpec=()=>new rl(ul("DiagnosticAddendum.typeParamSpec")),e.typeNotStringLiteral=()=>new rl(ul("DiagnosticAddendum.typeNotStringLiteral")),e.typeOfSymbol=()=>new rl(ul("DiagnosticAddendum.typeOfSymbol")),e.typeUnsupported=()=>new rl(ul("DiagnosticAddendum.typeUnsupported")),e.typeVarIsContravariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsContravariant")),e.typeVarIsCovariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsCovariant")),e.typeVarIsInvariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsInvariant")),e.typeVarTupleRequiresKnownLength=()=>ul("DiagnosticAddendum.typeVarTupleRequiresKnownLength"),e.typeVarNotAllowed=()=>ul("DiagnosticAddendum.typeVarNotAllowed"),e.typeVarsMissing=()=>new rl(ul("DiagnosticAddendum.typeVarsMissing")),e.unreachableExcept=()=>new rl(ul("DiagnosticAddendum.unreachableExcept")),e.useDictInstead=()=>ul("DiagnosticAddendum.useDictInstead"),e.useListInstead=()=>ul("DiagnosticAddendum.useListInstead"),e.useTupleInstead=()=>ul("DiagnosticAddendum.useTupleInstead"),e.useTypeInstead=()=>ul("DiagnosticAddendum.useTypeInstead")}(n=e.DiagnosticAddendum||(e.DiagnosticAddendum={})),function(e){e.addOptionalToAnnotation=()=>ul("CodeAction.addOptionalToAnnotation"),e.createTypeStub=()=>ul("CodeAction.createTypeStub"),e.createTypeStubFor=()=>new rl(ul("CodeAction.createTypeStubFor")),e.executingCommand=()=>ul("CodeAction.executingCommand"),e.filesToAnalyzeOne=()=>ul("CodeAction.filesToAnalyzeOne"),e.filesToAnalyzeCount=()=>new rl(ul("CodeAction.filesToAnalyzeCount")),e.findingReferences=()=>ul("CodeAction.findingReferences"),e.organizeImports=()=>ul("CodeAction.organizeImports")}(i=e.CodeAction||(e.CodeAction={})),function(e){e.moveFile=()=>new rl(ul("Refactoring.moveFile")),e.moveFileLabel=()=>new rl(ul("Refactoring.moveFileLabel")),e.moveFileDescription=()=>new rl(ul("Refactoring.moveFileDescription"))}(r=e.Refactoring||(e.Refactoring={}))}(ml||(ml={}));const Dl=/'/g,Al=/\\"/g;function Pl(e,t,n,i=[]){const r=0!=(16&t),s=0!=(128&t);if(t&=-145,e.typeAliasInfo){let r=!0;if((0==(32&t)||i.find((t=>t===e)))&&(r=!1),!r)try{i.push(e);let r=e.typeAliasInfo.name;const s=e.typeAliasInfo.typeParameters;if(s){let o;e.typeAliasInfo.typeArguments?(0==(2&t)||e.typeAliasInfo.typeArguments.some((e=>!ho(e))))&&(o=[],e.typeAliasInfo.typeArguments.forEach(((e,r)=>{Io(r{o.push(Pl(e.type,t,n,i))})):o.push(Pl(e,t,n,i))}))):(0==(2&t)||s.some((e=>!ho(e))))&&(o=[],s.forEach((e=>{o.push(Pl(e,t,n,i))}))),o&&(0===o.length?r+="[()]":r+=`[${o.join(", ")}]`)}if(10!==e.category)return r}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>Gs)return bo(e)&&e.details.isSynthesized&&e.details.recursiveTypeAliasName?e.details.recursiveTypeAliasName:e.typeAliasInfo?e.typeAliasInfo.name:"...";try{i.push(e);const o=0==(64&t),a=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:return Ks.isInstance(e)?void 0!==e.literalValue?`Literal[${Rl(e)}]`:`${Fl(e,t,n,i)}${a(e)}`:void 0!==e.literalValue?`Type[Literal[${Rl(e)}]]${a(e)}`:`Type[${Fl(e,t,n,i)}]${a(e)}`;case 5:{const r=Nl(e,t,n,i),o=`(${r[0].join(", ")})`;if(Xs.isParamSpecValue(e))return o;const a=`${o} -> ${r[1]}`;return s?`(${a})`:a}case 6:return`Overload[${e.overloads.map((e=>Pl(e,t,n,i))).join(", ")}]`;case 9:{const s=new Set,o=new Set,a=8&t?128|t:t;if(0==(32&t)&&e.typeAliasSources)for(const t of e.typeAliasSources){let r=!0,l=!0;const c=new Set;for(const n of t.subtypes){let t=0,i=!1;for(const r of e.subtypes){if(Ao(n,r,void 0,!0)){s.has(t)||(l=!1),c.add(t),i=!0;break}t++}if(!i){r=!1;break}}r&&!l&&(o.add(Pl(t,a,n,i)),c.forEach((e=>s.add(e))))}const l=e.subtypes.findIndex((e=>lo(e)));if(l>=0&&!s.has(l)){const r=Fo(e);if(ao(r))return"None";const s=Pl(r,a,n,i);return 8&t?s+" | None":"Optional["+s+"]"}const c=new Set,u=new Set;Jo(e,((e,t)=>{s.has(t)||(vo(e)&&void 0!==e.literalValue?c.add(Rl(e)):_o(e)&&void 0!==e.literalValue?u.add(Rl(e)):o.add(Pl(e,a,n,i)))}));const p=[];if(o.forEach((e=>p.push(e))),c.size>0){const e=[];c.forEach((t=>e.push(t))),p.push(`Literal[${e.join(", ")}]`)}if(u.size>0){const e=[];u.forEach((t=>e.push(t))),p.push(`Type[Literal[${e.join(", ")}]]`)}if(1===p.length)return p[0];if(8&t){const e=p.join(" | ");return r?`(${e})`:e}return`Union[${p.join(", ")}]`}case 10:{if(e.details.isSynthesized){if(e.details.recursiveTypeAliasName)return 0!=(32&t)&&e.details.boundType?Pl(Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType,t,n,i):e.details.recursiveTypeAliasName;if(e.details.isSynthesizedSelf&&e.details.boundType){let r=Pl(e.details.boundType,-33&t,n,i);return ho(e.details.boundType)||(r=`Self@${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}return 0!=(1&t)?"Any":"Unknown"}if(e.details.isParamSpec)return e.paramSpecAccess?`${e.details.name}.${e.paramSpecAccess}`:`${oo.getReadableName(e)}`;let r=oo.getReadableName(e);return e.isVariadicUnpacked&&(r=`*${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}case 3:return`${Ks.isInstantiable(e)?"Type[None]":"None"}${a(e)}`;case 4:return e.isNoReturn?"NoReturn":"Never";case 2:return e.isEllipsis?"...":"Any"}return""}finally{i.pop()}}function Rl(e,t="'"){const n=e.literalValue;if(void 0===n)return"";let i;if("string"==typeof n){const r="bytes"===e.details.name?"b":"";i=JSON.stringify(n).toString(),'"'!==t&&(i=`'${i.substring(1,i.length-1).replace(Al,'"').replace(Dl,"\\'")}'`),r&&(i=`${r}${i}`)}else"boolean"==typeof n?i=n?"True":"False":n instanceof Hs?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 Fl(e,t,n,i=[]){var r,s;let o=e.aliasName||e.details.name;if(!Zs.isPseudoGenericClass(e)){const a=Zs.getTypeParameters(e),l=a.length>0?a[a.length-1]:void 0,c=!!l&&l.details.isVariadic,u=null!==(r=e.tupleTypeArguments)&&void 0!==r?r:null===(s=e.typeArguments)||void 0===s?void 0:s.map((e=>({type:e,isUnbounded:!1})));if(u)if(u.length>0){const r=[];let s=!0;u.forEach(((e,o)=>{const l=o{ho(e.type)||(s=!1);const r=Pl(e.type,t,n,i);return e.isUnbounded?`*tuple[${r}, ...]`:r})));else{ho(e.type)||(s=!1);const o=Pl(e.type,t,n,i);e.isUnbounded?1===u.length?r.push(o,"..."):r.push(`*tuple[${o}, ...]`):r.push(o)}})),e.isUnpacked&&(o="*"+o),0!=(2&t)&&s||(o+="["+r.join(", ")+"]")}else(Zs.isTupleClass(e)||c)&&(o+="[()]");else a.length>0&&(0==(2&t)||a.some((e=>!ho(e))))&&(o+="["+a.map((e=>Pl(e,t,n,i))).join(", ")+"]")}return o}function Nl(e,t,n,i=[]){const r=[];let s=!1;e.details.parameters.forEach(((o,a)=>{if(a===e.details.parameters.length-1&&1===o.category&&Io(o.type)){const s=Xs.getEffectiveParameterType(e,a);if(vo(s)&&Zs.isBuiltIn(s,"tuple")&&s.tupleTypeArguments)return void s.tupleTypeArguments.forEach((e=>{const s=Pl(e.type,t,n,i);r.push(s)}))}let l="";1===o.category?o.name&&o.isNameSynthesized||(l+="*"):2===o.category&&(l+="**"),o.name&&!o.isNameSynthesized&&(l+=o.name,s=!0);let c="=",u=!1;if(o.name)if(o.hasDeclaredType||o.isTypeInferred){const r=Xs.getEffectiveParameterType(e,a),s=i.length{const i=t.resolveAliasDeclaration(e,n);if(i&&(o.push(i),r&&el(i.path))){const e=r.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){zt(e)||super.walk(e)}visitName(e){if(ct(this._cancellationToken),e.value!==this._symbolName)return!1;if(this._declarations.length>0){const t=Ml._getDeclarationsForNode(e,this._evaluator);t&&t.length>0&&t.some((e=>this._resultsContainsDeclaration(e)))&&this._addResult(e)}else this._addResult(e);return!1}visitString(e){return ct(this._cancellationToken),this._dunderAllNameNodes.has(e)&&this._addResult(e),!1}_addResult(e){const t=38===e.nodeType?e:function(e){return function(e){const t=e.quoteMarkLength,n=!(65536&e.flags);return dt.create(e.start+t,e.length-t-(n?t:0))}(e.token)}(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=>is(e,t,this._treatModuleInImportAndFromImportSame))))return!0;const n=this._getResolveAliasDeclaration(t);return!(!n||n===t)&&this._declarations.some((e=>is(e,n,this._treatModuleInImportAndFromImportSame)))}_getResolveAliasDeclaration(e){if(n(e))return ls([e])[0];const t=this._evaluator.resolveAliasDeclaration(e,!0);return n(t)?ls([t])[0]:t;function n(e){return!!e&&6===e.type&&e.node&&e.usesLocalName&&21===e.node.nodeType}}_setDunderAllNodes(e){if(36!==e.nodeType)return;const t=Wt(e);if(!t)return;const n=zs(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(is(n,t))return;e.push(t)}static _getDeclarationsForNode(e,t){var n,i,r,s,o,a;if(37!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)){let n=t.getDeclarationsForNameNode(e)||[];if(23===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&(n=n.filter((t=>t.node===e.parent))),0===n.length){const n=t.getType(e);if(8===(null==n?void 0:n.category))return[cs(n.filePath)]}for(const e of n.filter((e=>Gn(e)&&!e.loadSymbolsFromPath))){const i=e.node;23!==i.nodeType&&n.push(...t.getDeclarationsForNameNode(i.module.nameParts[0])||[])}return n}const l=e.parent;if(21===(null===(r=l.parent)||void 0===r?void 0:r.nodeType)||22===(null===(s=l.parent)||void 0===s?void 0:s.nodeType)){const n=l.nameParts.findIndex((t=>t===e));if(0===n){let n=[];const i=1===l.nameParts.length&&21===l.parent.nodeType&&!!l.parent.alias,r=i?l.parent.alias.value:l.nameParts[0].value,s=null===(o=zs(e))||void 0===o?void 0:o.lookUpSymbolRecursive(r);return s&&1===l.nameParts.length&&(n.push(...s.symbol.getDeclarations().filter((e=>Gn(e)))),n.length>1&&(n=n.filter((e=>void 0!==(e=e).firstNamePart?e.firstNamePart===l.nameParts[0].value:e.node===l.parent))),i&&(n=ls(n))),n.push(...(null===(a=t.getDeclarationsForNameNode(l.nameParts[0]))||void 0===a?void 0:a.filter((e=>Gn(e))))||[]),n}return n>0&&t.getDeclarationsForNameNode(l.nameParts[n])||[]}return[]}}function Ol(e,t,n=70){let i="";const r=e.overloads.filter((e=>Xs.isOverloaded(e))).map((e=>e.details.name+t.printType(e,!1)));for(let e=0;en&&r[e-1].length<=n&&(i+="\n"),i+=r[e],en&&(i+="\n"));return i}function Ll(e,t,n){const i=e.details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i){let r;if(!Tl(e,i)&&t&&jn(t)&&(r=function(e,t,n){if(!Eo(e))return;let i=e.details.docString;return!i&&t&&(i=El(t,n)),!i&&e.details.declaration&&(i=El(e.details.declaration,n)),i}(e,t,n)),!r&&i){const t=Ta(i,e.details.name,29);for(const e of t)if(e.symbol.getDeclarations().length>0){const t=e.symbol.getDeclarations().slice(-1)[0];if(jn(t)&&(r=El(t,n),r))break}}return r||e.details.docString}(e,i,t,null==s?void 0:s.classType)}function Ul(e,t,n){if(0===e.overloads.length)return[];const i=e.overloads[0].details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i,r){let s;if(!Tl(e,r))for(const i of t)if(s=wl(e,i,n),s&&s.length>0)return s;if(r&&e.overloads.length>0){const t=Ta(r,e.overloads[0].details.name,29);for(const e of t){const t=e.symbol.getDeclarations().slice(-1)[0],r=i.getTypeForDeclaration(t);if(r&&(s=wl(r,t,n),s&&s.length>0))break}}return null!=s?s:[]}(e,e.overloads.map((e=>e.details.declaration)).filter(a),t,n,null==s?void 0:s.classType)}function ql(e,t,n,i){if(1===(null==n?void 0:n.type)&&n.typeAliasName&&n.docString)return[n.docString];if(To(t)){const i=Il(t,n,e);if(i)return[i]}else if(_o(t)){const i=Sl(t,n,e);if(i)return[i]}else if(Eo(t)){const n=Ll(t,e,i);if(n)return[n]}else{if(ko(t))return Ul(t,e,i);if(1===(null==n?void 0:n.type)){const t=Cl(n,e);if(t)return[t]}else if(3===(null==n?void 0:n.type)){const t=bl(n,e,i);if(t)return[t]}}return[]}var Vl,Bl;!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","while","with"],n=[...t,"async","await"],i=[...n,"case","match"];e.forVersion=function(e){return e>=De.V3_10?i:e>=De.V3_5?n:t}}(Vl||(Vl={})),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"}(Bl||(Bl={}));const Wl="Dictionary key";class jl{constructor(e,t,n,i,r,s,o,a,l,c,u,p,d){this._workspacePath=e,this._parseResults=t,this._fileContents=n,this._importResolver=i,this._position=r,this._filePath=s,this._configOptions=o,this._importLookup=a,this._evaluator=l,this._options=c,this._sourceMapper=u,this._autoImportMaps=p,this._cancellationToken=d,this._insideStringLiteral=!1,this._execEnv=this._configOptions.findExecEnvironment(this._filePath)}getCompletionsForPosition(){var e,t;const n=xt(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===n)return;const i=function(e,t){const n=e.getItemAtPosition(t);if(n<0)return;const i=e.getItemAt(n);return dt.overlaps(i,t)?i:void 0}(this._parseResults.tokenizerOutput.tokens,n);5===(null==i?void 0:i.type)&&(this._insideStringLiteral=!!dt.contains(i,n)||!!(65536&i.flags));let r=Tr(this._parseResults.parseTree,n);const s=r,o=r?vr(r):0;if(!s||38!==s.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=Tr(this._parseResults.parseTree,t);if(a&&a!==s){vr(a)>o&&(r=a,i&&23===(null===(e=r.parent)||void 0===e?void 0:e.nodeType)&&(r=r.parent));break}}}if(void 0===r)return;const a=this._parseResults.tokenizerOutput.lines.getItemAt(this._position.line),l=this._fileContents.substr(a.start,a.length),c=l.substr(0,this._position.character),u=l.substr(this._position.character),p=c.search(/\w+$/),d=p>=0?c.substr(p):"";if(this._isWithinComment(n))return;let h=r;for(;h&&0!==h.nodeType;)h=h.parent;let m=h||r;for(;;){if(ct(this._cancellationToken),49===m.nodeType)return this._getLiteralCompletions(m,d,c,u);if(48===m.nodeType||27===m.nodeType)return;if(37===m.nodeType)return this._getImportModuleCompletions(m);if(0===m.nodeType)return this._getExpressionErrorCompletions(m,d,c,u);if(35===m.nodeType)return this._getMemberAccessCompletions(m.leftExpression,d);if(15===m.nodeType){const e=new $l;if(this._addTypedDictKeys(m,void 0,c,u,e))return{completionMap:e}}const e=es(m,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(r>0&&(jl._mostRecentCompletions=jl._mostRecentCompletions.splice(r,1)),0!==r&&jl._mostRecentCompletions.unshift({label:n,autoImportText:i}),jl._mostRecentCompletions.length>128&&jl._mostRecentCompletions.pop(),t.symbolLabel)if(this._itemToResolve=e,t.autoImportText){if(!e.additionalTextEdits){const e={completionMap:new $l};this._addAutoImportCompletions(t.symbolLabel,1,!1,e)}}else this.getCompletionsForPosition()}_tryGetNameCompletions(e,t,n){var i;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&&dt.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&&dt.contains(e.parent.targetExpression,e.start)||33===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)))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:(w(n+1dt.overlaps(t,e))))&&void 0!==n&&n}_getExpressionErrorCompletions(e,t,n,i){var r;switch(e.category){case 0:return this._createSingleKeywordCompletion("in");case 1:return this._createSingleKeywordCompletion("else");case 2:case 4:return this._getExpressionCompletions(e,t,n,i);case 3:{let r=this._getLiteralCompletions(e,t,n,i);return r&&r.completionMap||(r=this._getExpressionCompletions(e,t,n,i)),r}case 7:if(e.child&&yr(e.child))return this._getMemberAccessCompletions(e.child,t);break;case 10:if(e.child&&38===e.child.nodeType)return(null===(r=e.decorators)||void 0===r?void 0:r.some((e=>this._isOverload(e))))?this._getMethodOverloadsCompletions(t,e.child):this._getMethodOverrideCompletions(t,e.child,e.decorators)}}_isOverload(e){return this._checkDecorator(e,"overload")}_checkDecorator(e,t){return 38===e.expression.nodeType&&e.expression.value===t}_createSingleKeywordCompletion(e){const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.LikelyKeyword,e);const n=new $l;return n.set(t),{completionMap:n}}_getMethodOverloadsCompletions(e,t){var n;const i=function(e,t){const n=Er(t,!1);if(n){const t=e.getTypeOfClass(n);if(!t)return;const i=new Map;for(const e of t.classType.details.mro)_o(e)&&Ma(e,i,!1);return i}const i=function(e){let t=e.parent;for(;t;){if(36===t.nodeType)return t;t=t.parent}E("Module node not found")}(t);if(i){const e=Ft(i);return null==e?void 0:e.symbolTable}}(this._evaluator,t);if(!i)return;const r=28===(null===(n=t.parent)||void 0===n?void 0:n.nodeType)||void 0,s=new $l,o=kr(t);return i.forEach(((n,i)=>{const a=Vo(n);if(!a||3!==a.type)return;if(!a.node.decorators.some((e=>this._isOverload(e))))return;const l=n.getDeclarations();if((1!==l.length||!l.some((e=>e.node===o)))&&N(t.value,i)){const o=this._createReplaceEdits(e,t,a.node.name.value);this._addSymbol(i,n,t.value,s,{funcParensDisabled:r,edits:{textEdit:o}})}})),{completionMap:s}}_getMethodOverrideCompletions(e,t,n){var i,r;const s=Er(t,!0);if(!s)return;const o=this._evaluator.getTypeOfClass(s);if(!o)return;const a=new Map;for(let e=1;ethis._checkDecorator(e,"staticmethod"))))&&void 0!==i&&i,c=null!==(r=null==n?void 0:n.some((e=>this._checkDecorator(e,"classmethod"))))&&void 0!==r&&r,u=new $l;return a.forEach(((n,i)=>{let r=Vo(n);if(r&&3===r.type&&N(t.value,i)){const s=this._evaluator.getTypeForDeclaration(r);if(!s)return;let a=vo(s)&&Zs.isPropertyClass(s);if(Qt(i)&&(a=!1),!Eo(s)&&!a)return;if(a){const e=n.getTypedDeclarations();e.length>0&&3===e[0].type&&(r=e[0])}const p=Eo(s)&&Xs.isStaticMethod(s),d=Eo(s)&&Xs.isClassMethod(s)&&"__init_subclass__"!==i;if(l!==p||c!==d)return;const h=this._printMethodSignature(o.classType,r);let m;m=el(this._filePath)?`${h}: ...`:`${h}:\n${this._printOverriddenMethodBody(o.classType,p,a,r)}`;const f=this._createReplaceEdits(e,t,m);this._addSymbol(i,n,t.value,u,{funcParensDisabled:!0,edits:{format:this._options.snippet?ot.InsertTextFormat.Snippet:void 0,textEdit:f}})}})),{completionMap:u}}_createReplaceEdits(e,t,n){const i=38===(null==t?void 0:t.nodeType)?this._position.character-e.length+t.value.length:this._position.character,r={start:{line:this._position.line,character:this._position.character-e.length},end:{line:this._position.line,character:i}};return ot.TextEdit.replace(r,n)}_printMethodSignature(e,t){const n=t.node;let i;el(this._filePath)?i=!0:e.details.moduleName===t.moduleName&&(i=!1);const r=el(this._filePath)?1:void 0,s=n.parameters.map(((e,t)=>{let s="";1===e.category?s+="*":2===e.category&&(s+="**"),e.name&&(s+=e.name.value);const o=this._evaluator.getTypeAnnotationForParameter(n,t);return o&&(s+=": "+xr(o,r)),e.defaultValue&&(s+=o?" = ":"=",s+=(null!=i?i:!a(e.defaultValue))?"...":xr(e.defaultValue,r)),s||e.name||0!==e.category?s:"/"})).join(", ");let o=n.name.value+"("+s+")";return n.returnTypeAnnotation?o+=" -> "+xr(n.returnTypeAnnotation,r):n.functionAnnotationComment&&(o+=" -> "+xr(n.functionAnnotationComment.returnTypeAnnotation,r)),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 r=" ";if(1===e.details.baseClasses.length&&yo(e.details.baseClasses[0])&&"builtins.object"===e.details.baseClasses[0].details.fullName)return r+=this._options.snippet?"${0:pass}":"pass",r;if(0===i.node.parameters.length)return r+=this._options.snippet?"${0:pass}":"pass",r;const s=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&&(r+="return "),i.node.isAsync&&(r+="await "),n?r+`super().${i.node.name.value}`:r+`super().${i.node.name.value}(${s.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 $l;let r={},s=this._evaluator.getType(e);return s&&(s=this._evaluator.makeTopLevelTypeVarsConcrete(s),Jo(s,(r=>{if(yo(r=this._evaluator.makeTopLevelTypeVarsConcrete(r)))Ma(r,n,Ks.isInstance(r));else if(To(r))!function(e,t){e.loaderFields&&e.loaderFields.forEach(((e,n)=>{t.set(n,e)})),e.fields.forEach(((e,n)=>{t.set(n,e)}))}(r,n);else if(Eo(r)||ko(r)){const t=this._evaluator.getBuiltInType(e,"function");t&&_o(t)&&Ma(t,n,!0)}else if(lo(r)){const t=this._evaluator.getBuiltInType(e,"object");t&&_o(t)&&Ma(t,n,Ks.isInstance(r))}this._addSymbolsForSymbolTable(n,(()=>!0),t,!1,yo(r)?r:void 0,i)}))),(!s||po(s)||mo(s))&&(r=this._getLastKnownModule(e,s)),{completionMap:i,memberAccessInfo:r}}_getLastKnownModule(e,t){var n;let i=e,r=t,s=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===s&&(s=35===i.nodeType&&null!==(n=null==i?void 0:i.memberName.value)&&void 0!==n?n:"")):i=void 0,!i||(r=this._evaluator.getType(i),void 0===r||po(r)||mo(r))););const o={};if(r&&!po(r)&&!mo(r)&&i){const e=Ga(r);o.lastKnownModule=e.find((e=>"typing"!==e)),35===i.nodeType?o.lastKnownMemberName=i.memberName.value:(38===i.nodeType&&_o(r)||38===i.nodeType&&vo(r))&&(o.lastKnownMemberName=r.details.name),o.unknownMemberName=s}return o}_getStatementCompletions(e,t,n,i){return this._getExpressionCompletions(e,t,n,i)}_getExpressionCompletions(e,t,n,i){var r,s,o,a;const l=this._isIndexArgument(e);if(!l&&40===e.nodeType)return;if(59===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)&&e.parent===(null===(s=e.parent.target)||void 0===s?void 0:s.parent))return;const c=new $l,u={completionMap:c};if(".."===n.slice(-2))return u;if(this._addCallArgumentCompletions(e,t,n,i,!1,c),this._addSymbols(e,t,c),this._findMatchingKeywords(Vl.forVersion(this._execEnv.pythonVersion),t).map((e=>{if(c.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),c.set(t)})),t.startsWith("_")||this._itemToResolve||this._addAutoImportCompletions(t,.25,this._options.lazyEdit,u),0===e.nodeType)if(3===e.category&&24===(null===(o=e.parent)||void 0===o?void 0:o.nodeType))this._tryAddTypedDictStringLiteral(e.parent,void 0,void 0,c);else if(2===e.category&&e.parent&&3===e.parent.nodeType){const r=null===(a=this._evaluator.getExpectedType(e))||void 0===a?void 0:a.type;r&&this._addLiteralValuesForTargetType(r,n,t,i,c)}if(l){const n=e.parent.parent;this._getIndexerKeys(n,e).forEach((e=>{c.has(e)||this._addNameToCompletions(e,ot.CompletionItemKind.Constant,t,c,{sortText:this._makeSortText(Bl.LiteralValue,e),itemDetail:Wl})}))}return u}_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,r,s){const o=zr(e,xt(this._position,this._parseResults.tokenizerOutput.lines),this._parseResults.tokenizerOutput.tokens);if(!o)return;const a=this._evaluator.getCallSignatureInfo(o.callNode,o.activeIndex,o.activeOrFake);if(a){const e=It(a.callNode.leftExpression.start+a.callNode.leftExpression.length,this._parseResults.tokenizerOutput.lines);gt(this._position,e)>0&&(r||this._addNamedParameters(a,t,s),this._addLiteralValuesForArgument(a,n,t,i,s))}}_addLiteralValuesForArgument(e,t,n,i,r){e.signatures.forEach((e=>{if(!e.activeParam)return;const s=e.type,o=s.details.parameters.indexOf(e.activeParam);if(o<0)return;const a=s.details.parameters[o].type;this._addLiteralValuesForTargetType(a,t,n,i,r)}))}_addLiteralValuesForTargetType(e,t,n,i,r){const s=this._getQuoteValueFromPriorText(t);this._getSubTypesWithLiteralValues(e).forEach((e=>{if(Zs.isBuiltIn(e,"str")){const t=Rl(e,s.quoteCharacter);void 0===s.stringValue?this._addNameToCompletions(t,ot.CompletionItemKind.Constant,n,r,{sortText:this._makeSortText(Bl.LiteralValue,e.literalValue)}):this._addStringLiteralToCompletions(t.substr(1,t.length-2),s.stringValue,i,s.quoteCharacter,r)}}))}_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 Jo(e,(e=>{vo(e)&&ra(e)&&t.push(e)})),t}_getIndexerKeyType(e){var t;if((Zs.isBuiltIn(e,"dict")||Zs.isBuiltIn(e,"Mapping"))&&2===(null===(t=e.typeArguments)||void 0===t?void 0:t.length))return e.typeArguments[0];const n=_a(e,"__getitem__");if(null==n?void 0:n.symbol.hasDeclarations()){const e=n.symbol.getDeclarations()[0];if(jn(e)&&e.isMethod){const t=this._evaluator.getTypeForDeclaration(e);if(t&&Eo(t)&&2===t.details.parameters.length)return t.details.parameters[1].type}}}_getIndexerKeys(e,t){var n,i,r,s,o,a,l,c,u;if(38!==e.baseExpression.nodeType)return[];const p=this._evaluator.getType(e.baseExpression);if(!p||!vo(p))return[];const d=this._getIndexerKeyType(p);if(d){const e=[];if(this._getSubTypesWithLiteralValues(d).forEach((t=>{(Zs.isBuiltIn(t,"str")||Zs.isBuiltIn(t,"int")||Zs.isBuiltIn(t,"bool")||Zs.isBuiltIn(t,"bytes")||Zs.isEnumClass(t))&&e.push(Rl(t,this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter))})),e.length>0)return e}const h=null!==(n=this._evaluator.getDeclarationsForNameNode(e.baseExpression))&&void 0!==n?n:[],m=h.length>0?h[0]:void 0;if(!m||1!==m.type&&2!==m.type)return[];if(m.path!==this._filePath)return[];let f=e.baseExpression;if(m.node){const e=Ar(m.node);(null===(i=Gr(f))||void 0===i?void 0:i.filePath)===(null===(r=Gr(e))||void 0===r?void 0:r.filePath)&&(f=e)}const g=Ml.collectFromNode(e.baseExpression,this._evaluator,this._cancellationToken,f),y=new Set;for(const e of g){const n=54===(null===(s=e.node.parent)||void 0===s?void 0:s.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&&y.add(e)}}if(9===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression,t=this._evaluator.getType(e.leftExpression);if(!t||!_o(t)||!Zs.isBuiltIn(t,"dict"))continue;for(const t of e.arguments){const e=null!==(c=null===(l=t.name)||void 0===l?void 0:l.value.trim())&&void 0!==c?c:"",n=this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter;e.length>0&&y.add(`${n}${e}${n}`)}}}if(24===(null===(u=n.parent)||void 0===u?void 0:u.nodeType)&&1===n.parent.items.length&&0!==n.parent.items[0].valueExpression.nodeType&&!dt.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&&y.add(t)}}return[...y]}_getLiteralCompletions(e,t,n,i){var r,s,o;let a=e.parent;if(!a)return;const l=new $l;if(yr(a)){const o=this._evaluator.getExpectedType(a);if(o&&sa(o.type))return this._addLiteralValuesForTargetType(o.type,n,t,i,l),{completionMap:l};if(49===e.nodeType&&(null===(r=e.parent)||void 0===r?void 0:r.parent)){const t=e.parent.parent;let r;if(17===t.nodeType&&t.keyExpression===e.parent&&15===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)?r=t.parent:45===(null==t?void 0:t.nodeType)&&(r=t),r&&this._addTypedDictKeys(r,e,n,i,l))return{completionMap:l}}}if(1!==a.nodeType){if(48!==a.nodeType||a.strings.length>1)return;if(a=a.parent,!a)return}if(1===a.nodeType&&24===(null===(o=a.parent)||void 0===o?void 0:o.nodeType)){if(!this._tryAddTypedDictStringLiteral(a.parent,49===e.nodeType?n:"",i,l)){const r=this._getIndexerKeys(a.parent,e),s=this._getQuoteValueFromPriorText(n);for(const n of r){const r=/^["|'].*["|']$/.test(n);if(49!==e.nodeType||r)if(r){const e=n.substr(1,n.length-2);this._addStringLiteralToCompletions(e,s.stringValue,i,s.quoteCharacter,l,Wl)}else this._addNameToCompletions(n,ot.CompletionItemKind.Constant,t,l,{sortText:this._makeSortText(Bl.LiteralValue,n),itemDetail:Wl})}if(0===l.size)return}}else{w(49===e.nodeType);const r=xt(this._position,this._parseResults.tokenizerOutput.lines),s=a.start{vo(e)&&Zs.isTypedDictClass(e)&&a.push(e)})),0===a.length)return!1;const l=this._getDictExpressionStringKeys(e,t?new Set([null===(s=t.parent)||void 0===s?void 0:s.id]):void 0);a=this._tryNarrowTypedDicts(a,l);const c=this._getQuoteValueFromPriorText(n),u=new Set(l);return a.forEach((e=>{gl(this._evaluator,e,!0).forEach(((e,t)=>{u.has(t)||r.has(t)||(u.add(t),this._addStringLiteralToCompletions(t,c?c.stringValue:void 0,i,c?c.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,r))}))})),!0}_tryNarrowTypedDicts(e,t){const n=e.flatMap((e=>{const n=gl(this._evaluator,e,!0);for(let e=0;en)return{quoteCharacter:"'",stringValue:e.substr(t+1)};if(n>t)return{quoteCharacter:'"',stringValue:e.substr(n+1)}}return{stringValue:void 0,quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter}}_tryAddTypedDictStringLiteral(e,t,n,i){if(!e)return!1;const r=this._evaluator.getType(e.baseExpression);if(!r||!vo(r))return!1;if(!Zs.isTypedDictClass(r))return!1;const s=gl(this._evaluator,r,!0),o=t?this._getQuoteValueFromPriorText(t):void 0;return s.forEach(((e,t)=>{this._addStringLiteralToCompletions(t,o?o.stringValue:void 0,n,o?o.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,i)})),!0}_addStringLiteralToCompletions(e,t,n,i,r,s){if(N(t||"",e)){const o=`${i}${e}${i}`;if(r.has(o))return;const a=ot.CompletionItem.create(o);a.kind=ot.CompletionItemKind.Constant,a.sortText=this._makeSortText(Bl.LiteralValue,o);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 u={start:{line:this._position.line,character:l},end:{line:this._position.line,character:c}};a.textEdit=ot.TextEdit.replace(u,o),a.detail=s,r.set(a)}}_addAutoImportCompletions(e,t,n,i){var r,s,o;if(!i.completionMap||!this._configOptions.autoImportCompletions||!this._options.autoImport)return;const a=this._autoImportMaps.getModuleSymbolsMap(),l=new Hl(this._execEnv,this._importResolver,this._parseResults,this._position,i.completionMap,a,{libraryMap:this._autoImportMaps.libraryMap,lazyEdit:n}),c=[],u=null===(r=this._autoImportMaps.nameMap)||void 0===r?void 0:r.get(e);u&&e.length>1&&!i.completionMap.has(e)&&c.push(...l.getAutoImportCandidatesForAbbr(e,u,this._cancellationToken)),c.push(...l.getAutoImportCandidates(e,t,void 0,this._cancellationToken));const p=l.getPerfInfo(),d=new Pn;for(const t of c)t.symbol?this._addSymbol(t.name,t.symbol,e,i.completionMap,{autoImportSource:t.source,autoImportAlias:t.alias,edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}}):this._addNameToCompletions(null!==(s=t.alias)&&void 0!==s?s:t.name,null!==(o=t.kind)&&void 0!==o?o:ot.CompletionItemKind.Module,e,i.completionMap,{autoImportText:this._getAutoImportText(t.name,t.source,t.alias),edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}});i.autoImportInfo={indexUsed:p.indexUsed,totalTimeInMS:p.totalInMs,moduleTimeInMS:p.moduleTimeInMS,indexTimeInMS:p.indexTimeInMS,importAliasTimeInMS:p.importAliasTimeInMS,itemCount:c.length,symbolCount:p.symbolCount,indexCount:p.indexCount,importAliasCount:p.importAliasCount,additionTimeInMS:d.getDurationInMilliseconds()}}_getImportFromCompletions(e,t){if(e.isWildcardImport)return;const n=Rt(e.module);if(!n)return;const i=new $l,r=n.resolvedPaths.length>0?n.resolvedPaths[n.resolvedPaths.length-1]:"",s=this._importLookup(r);return s&&this._addSymbolsForSymbolTable(s.symbolTable,((t,n)=>t.getDeclarations().some((e=>!(0===e.type)))&&!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,ot.CompletionItemKind.Module,t,i)})),{completionMap:i}}_findMatchingKeywords(e,t){return e.filter((e=>!t||N(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(N(t,e)){const t=e+"=";if(n.has(t))return;const i=ot.CompletionItem.create(t);i.kind=ot.CompletionItemKind.Variable;const r={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};i.data=r,i.sortText=this._makeSortText(Bl.NamedParameter,e),n.set(i)}}))}_addNamedParametersToMap(e,t){e.details.parameters.forEach((e=>{e.name&&!e.isNameSynthesized&&(Yt(e.name)||t.set(e.name,e.name))}))}_addSymbols(e,t,n){let i=e;for(;i;){let e=zs(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&&_o(e.classType)&&e.classType.details.mro.forEach(((e,i)=>{_o(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,r,s){e.forEach(((e,o)=>{(!e.isExternallyHidden()||e.getDeclarations().some((e=>{return t=e,n=this._filePath,Gn(t)?(null===(i=Gr(t.node))||void 0===i?void 0:i.filePath)===n:t.path===n;var t,n,i})))&&t(e,o)&&(s.has(o)||this._addSymbol(o,e,n,s,{boundObjectOrClass:r,funcParensDisabled:i}))}))}_addSymbol(e,t,n,i,r){var s,o,a;if(t.isPrivatePyTypedImport())return;let l=Vo(t);if(!l){const e=t.getDeclarations();e.length>0&&(l=e[e.length-1])}if(l){let c=ot.CompletionItemKind.Variable;if(l=this._evaluator.resolveAliasDeclaration(l,!0),l&&(c=this._convertDeclarationTypeToItemKind(l),1===l.type&&r.boundObjectOrClass&&_o(r.boundObjectOrClass)&&Zs.isEnumClass(r.boundObjectOrClass)&&3===(null===(s=l.node.parent)||void 0===s?void 0:s.nodeType)&&(c=ot.CompletionItemKind.EnumMember),this._itemToResolve)){const n=this._itemToResolve.data;if(n.symbolLabel===e&&!n.autoImportText){const n=this._evaluator.getEffectiveTypeOfSymbol(t);if(n){let i,s,a;switch(l.type){case 0:case 1:case 2:{let t=!1;if(n&&Ks.isInstantiable(n)){const i=Do(n);i&&i.name===e&&(t=!0)}i=e+": "+this._evaluator.printType(n,t);break}case 3:{const t=r.boundObjectOrClass&&(Eo(n)||ko(n))?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;if(t)if(ua(t)&&r.boundObjectOrClass&&vo(r.boundObjectOrClass)){const n=this._evaluator.getGetterTypeFromProperty(t,!0)||Ys.create();i=e+": "+this._evaluator.printType(n,!1)+" (property)",s=r.boundObjectOrClass.details.fullName+"."+e+" (property)"}else ko(t)?(i=Ol(t,this._evaluator,35),s=zl(t.overloads[0])):(i=e+": "+this._evaluator.printType(t,!1),Eo(t)&&(s=zl(t)));break}case 4:case 5:i="class "+e+"()";break;case 6:if(i=e,l.path){const e=this._importLookup(l.path);e&&(a=e.docString)}break;default:i=e}if(1===l.type&&l.typeAliasName&&l.docString)a=l.docString;else if(To(n))a=Il(n,l,this._sourceMapper);else if(_o(n))a=Sl(n,l,this._sourceMapper);else if(Eo(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&Eo(e)&&(a=Ll(e,this._sourceMapper,this._evaluator))}else if(ko(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&ko(e)&&(a=Ul(e,this._sourceMapper,this._evaluator).find((e=>e)))}else 3===(null==l?void 0:l.type)?a=bl(l,this._sourceMapper,this._evaluator):1===(null==l?void 0:l.type)&&(a=Cl(null!==(o=t.getDeclarations().find((e=>1===e.type&&!!e.docString)))&&void 0!==o?o:l,this._sourceMapper));if(!s&&!a)return;if(this._options.format===ot.MarkupKind.Markdown){let e="";s&&(e+="```python\n"+s+"\n```\n"),s&&a&&(e+="---\n"),a&&(e+=ds(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.Markdown,value:e}}else if(this._options.format===ot.MarkupKind.PlainText){let e="";s&&(e+=s+"\n"),s&&a&&(e+="\n"),a&&(e+=hs(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.PlainText,value:e}}else E(`Unsupported markup type: ${this._options.format}`)}}}const u=r.autoImportSource?this._getAutoImportText(e,r.autoImportSource,r.autoImportAlias):void 0;this._addNameToCompletions(null!==(a=r.autoImportAlias)&&void 0!==a?a:e,c,n,i,{autoImportText:u,funcParensDisabled:r.funcParensDisabled,edits:r.edits})}else if(t.getSynthesizedType()){const t=ot.CompletionItemKind.Variable;this._addNameToCompletions(e,t,n,i,{funcParensDisabled:r.funcParensDisabled,edits:r.edits})}}_getAutoImportText(e,t,n){const i=function(e,t,n){let i;return i=t?`from ${t} import ${e}`:`import ${e}`,n&&(i=`${i} as ${n}`),i}(e,t,n);return this._options.format===ot.MarkupKind.Markdown?`\`\`\`\n${i}\n\`\`\``:this._options.format===ot.MarkupKind.PlainText?i:void E(`Unsupported markup type: ${this._options.format}`)}_addNameToCompletions(e,t,n,i,r){var s,o,a;if(!(null==r?void 0:r.autoImportText)&&!N(n,e))return;if(i.has(e,$l.matchKindAndImportText,t,null==r?void 0:r.autoImportText))return;const l=ot.CompletionItem.create(e);l.kind=t;const c={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};if((null==r?void 0:r.funcParensDisabled)&&(c.funcParensDisabled=!0),l.data=c,(null==r?void 0:r.sortText)||(null==r?void 0:r.itemDetail)?(l.sortText=r.sortText,l.detail=r.itemDetail):(null==r?void 0:r.autoImportText)?(l.sortText=this._makeSortText(Bl.AutoImport,e,r.autoImportText),c.autoImportText=r.autoImportText,l.detail="Auto-import"):t===ot.CompletionItemKind.EnumMember?l.sortText=this._makeSortText(Bl.EnumMember,e):Qt(e)?l.sortText=this._makeSortText(Bl.DunderSymbol,e):""===n&&Yt(e)?l.sortText=this._makeSortText(Bl.PrivateSymbol,e):l.sortText=this._makeSortText(Bl.NormalSymbol,e),c.symbolLabel=e,this._options.format===ot.MarkupKind.Markdown){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(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+=ds(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.Markdown,value:e})}else if(this._options.format===ot.MarkupKind.PlainText){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(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"+hs(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.PlainText,value:e})}else E(`Unsupported markup type: ${this._options.format}`);(null===(s=null==r?void 0:r.edits)||void 0===s?void 0:s.format)&&(l.insertTextFormat=r.edits.format),(null===(o=null==r?void 0:r.edits)||void 0===o?void 0:o.textEdit)&&(l.textEdit=r.edits.textEdit),(null===(a=null==r?void 0:r.edits)||void 0===a?void 0:a.additionalTextEdits)&&(l.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)&&this._itemToResolve.data.autoImportText===c.autoImportText&&(this._itemToResolve.additionalTextEdits=l.additionalTextEdits),i.set(l)}_getRecentListIndex(e,t){return jl._mostRecentCompletions.findIndex((n=>n.label===e&&n.autoImportText===t))}_makeSortText(e,t,n=""){const i=this._getRecentListIndex(t,n);return i>=0&&(e===Bl.AutoImport?e=Bl.RecentAutoImport:e===Bl.ImportModuleName?e=Bl.RecentImportModuleName:e!==Bl.Keyword&&e!==Bl.NormalSymbol&&e!==Bl.PrivateSymbol&&e!==Bl.DunderSymbol||(e=Bl.RecentKeywordOrSymbol)),this._formatInteger(e,2)+"."+this._formatInteger(i,4)+"."+t}_formatInteger(e,t){const n="0".charCodeAt(0);let i="";for(let r=0;re.value)),importedSymbols:[]},n=this._importResolver.getCompletionSuggestions(this._filePath,this._execEnv,t),i=new $l;if(!e.hasTrailingDot&&e.parent&&22===e.parent.nodeType&&e.parent.missingImportKeyword){const e="import",t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),i.set(t)}return n.forEach((e=>{if(i.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Module,t.sortText=this._makeSortText(Bl.ImportModuleName,e),i.set(t)})),{completionMap:i}}_isPossiblePropertyDeclaration(e){return e.isMethod&&e.node.decorators.length>0}}function zl(e){const t=e.details.parameters.filter(((e,t)=>!(e.hasDefault||0===t&&"self"===e.name)));return e.details.fullName+"("+t.map((e=>1===e.category?"*"+e.name:2===e.category?"**"+e.name:e.name)).join(", ")+")"}jl._mostRecentCompletions=[];class $l{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 r=this._completions.get(e);return!!r&&(!t||t(r,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!!e&&(Array.isArray(e)?!!e.find((e=>e.kind===t&&e.data.autoImport===n)):e.kind===t&&(null===(i=e.data)||void 0===i?void 0:i.autoImport)===n)}static labelOnlyIgnoringAutoImports(e,t,n){var i;if(!e)return!1;if(Array.isArray(e)){if(e.find((e=>{var t;return!(null===(t=e.data)||void 0===t?void 0:t.autoImport)})))return!0}else if(!(null===(i=e.data)||void 0===i?void 0:i.autoImport))return!0;return!1}}class Hl{constructor(e,t,n,i,r,s,o){this._execEnvironment=e,this._importResolver=t,this._parseResults=n,this._invocationPosition=i,this._excludes=r,this._moduleSymbolMap=s,this._options=o,this._stopWatch=new Pn,this._perfInfo={indexUsed:!1,totalInMs:0,moduleTimeInMS:0,indexTimeInMS:0,importAliasTimeInMS:0,symbolCount:0,indexCount:0,importAliasCount:0},this._importStatements=tn(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 r=[];return this._getCandidates(e,t,n,i).forEach((e=>r.push(...e))),r}getPerfInfo(){return this._perfInfo.totalInMs=this._stopWatch.getDurationInMilliseconds(),this._perfInfo}_getCandidates(e,t,n,i){const r=new Map,s=new Map;return this._addImportsFromModuleMap(e,t,n,s,r,i),this._addImportsFromLibraryMap(e,t,n,s,r,i),this._addImportsFromImportAliasMap(s,n,r,i),r}_addImportsFromLibraryMap(e,t,n,i,r,s){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 l=this._isStubFileOrHasInit(this._options.libraryMap,a);this._processModuleSymbolTable(Gl(o,!0),a,e,t,l,n,i,r,s)})),this._perfInfo.indexTimeInMS=this._stopWatch.getDurationInMilliseconds()-a}_addImportsFromModuleMap(e,t,n,i,r,s){const o=this._stopWatch.getDurationInMilliseconds();this._moduleSymbolMap.forEach(((o,a)=>{const l=this._isStubFileOrHasInit(this._moduleSymbolMap,a);this._processModuleSymbolTable(o,a,e,t,l,n,i,r,s)})),this._perfInfo.moduleTimeInMS=this._stopWatch.getDurationInMilliseconds()-o}_isStubFileOrHasInit(e,t){const n=te($(t),"__init__.py"),i=n+"i";return{isStub:t.endsWith(".pyi"),hasInit:e.has(n)||e.has(i)}}_processModuleSymbolTable(e,t,n,i,r,s,o,a,l){ct(l);const[c,u,p]=this._getImportPartsForSymbols(t);if(!c)return;const d=B(c,".");if(e.forEach(((e,l,h)=>{var m;if(this._perfIndexCount(e,h),!this._shouldIncludeVariable(e,l,r.isStub,h))return;if(!this._isSimilar(n,l,i))return;if(this._containsName(l,c,a))return;if(e.importAlias)return void this._addToImportAliasMap(e.importAlias,{importParts:{symbolName:l,importName:l,importFrom:c,filePath:t,dotCount:d,moduleNameAndType:p},importGroup:u,symbol:e.symbol,kind:e.importAlias.kind,itemKind:e.importAlias.itemKind},o);const f=this._getTextEditsForAutoImportByFilePath(c,l,s,l,u,t);this._addResult(a,{name:l,alias:s,symbol:e.symbol,source:c,kind:null!==(m=e.itemKind)&&void 0!==m?m:Kl(e.kind),insertionText:f.insertionText,edits:f.edits})})),!r.isStub&&!r.hasInit)return;const h=this._getImportParts(t);h&&this._isSimilar(n,h.importName,i)&&(this._containsName(h.importName,h.importFrom,a)||this._addToImportAliasMap({modulePath:t,originalName:h.importName,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},{importParts:h,importGroup:u,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},o))}_shouldIncludeVariable(e,t,n,i){var r;return!(!n&&e.kind===ot.SymbolKind.Variable)||!(!this._options.allowVariableInAll||i||!(null===(r=e.symbol)||void 0===r?void 0:r.isInDunderAll()))||function(e){return!Yt(e)&&(Zt(e)||Xt(e))}(t)}_addImportsFromImportAliasMap(e,t,n,i){ct(i);const r=this._stopWatch.getDurationInMilliseconds();e.forEach((e=>{this._perfInfo.importAliasCount+=e.size,e.forEach((e=>{var i,r;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 s=this._getTextEditsForAutoImportByFilePath(null!==(i=e.importParts.importFrom)&&void 0!==i?i:e.importParts.importName,e.importParts.symbolName,t,e.importParts.importName,e.importGroup,e.importParts.filePath);this._addResult(n,{name:e.importParts.importName,alias:t,symbol:e.symbol,kind:null!==(r=e.itemKind)&&void 0!==r?r:Kl(e.kind),source:e.importParts.importFrom,insertionText:s.insertionText,edits:s.edits})}))})),this._perfInfo.importAliasTimeInMS=this._stopWatch.getDurationInMilliseconds()-r}_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 r=i.get(e.originalName);this._compareImportAliasData(r,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:U()(e.importParts.importName,t.importParts.importName)}_getImportPartsForSymbols(e){const t=this._importStatements.mapByFilePath.get(e);if(t)return[t.moduleName,en(t),{importType:2,isLocalTypingsFile:!1,moduleName:t.moduleName}];{const t=this._getModuleNameAndTypeFromFilePath(e);return[t.moduleName,cn(t),t]}}_getImportParts(e){return function(t){const n=t.moduleName;if(!n)return;const i=n.lastIndexOf("."),r=i>0?n.substring(i+1):void 0,s=i>0?n.substring(0,i):void 0;return{symbolName:r,importName:null!=r?r:n,importFrom:s,filePath:e,dotCount:B(n,"."),moduleNameAndType:t}}("__init__"===he(de(e))?this._getModuleNameAndTypeFromFilePath($(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()&&N(e,t)}return this._options.patternMatcher(e,t)}_shouldExclude(e){return this._excludes.has(e,$l.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,r,s){var o,a,l,c,u,p;const d=this._importStatements.mapByFilePath.get(s);if(d){if(20===d.node.nodeType){const e=null===(a=null===(o=d.subnode)||void 0===o?void 0:o.alias)||void 0===a?void 0:a.value;if(t)return{insertionText:`${null!=e?e:d.moduleName}.${t}`,edits:[]};if(e)return{insertionText:`${e}`,edits:[]}}if(t&&22===d.node.nodeType&&!d.node.isWildcardImport){const r=d.node.imports.find((e=>e.name.value===t));if(r){const e=null===(l=r.alias)||void 0===l?void 0:l.value;return{insertionText:`${null!=e?e:t}`,edits:[]}}if(e===d.moduleName)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},d,this._parseResults)}}}else if(t){const r=this._importStatements.orderedImports.find((t=>t.moduleName===e));if(r&&22===r.node.nodeType&&!r.node.isWildcardImport){const e=r.node.imports.find((e=>e.name.value===t));if(!e)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},r,this._parseResults)};{const t=null===(c=e.alias)||void 0===c?void 0:c.value;if(t)return{insertionText:`${t}`,edits:[]}}}const o=null===(u=this._importStatements.implicitImports)||void 0===u?void 0:u.get(s);if(o){const e=null===(p=o.alias)||void 0===p?void 0:p.value;return{insertionText:`${null!=e?e:o.name.value}.${t}`,edits:[]}}}return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:an({name:t,alias:n},this._importStatements,e,r,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)}}function Gl(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 Kl(e){switch(e){case ot.SymbolKind.File:return ot.CompletionItemKind.File;case ot.SymbolKind.Module:case ot.SymbolKind.Namespace:return ot.CompletionItemKind.Module;case ot.SymbolKind.Package:return ot.CompletionItemKind.Folder;case ot.SymbolKind.Class:return ot.CompletionItemKind.Class;case ot.SymbolKind.Method:return ot.CompletionItemKind.Method;case ot.SymbolKind.Property:return ot.CompletionItemKind.Property;case ot.SymbolKind.Field:return ot.CompletionItemKind.Field;case ot.SymbolKind.Constructor:return ot.CompletionItemKind.Constructor;case ot.SymbolKind.Enum:return ot.CompletionItemKind.Enum;case ot.SymbolKind.Interface:return ot.CompletionItemKind.Interface;case ot.SymbolKind.Function:return ot.CompletionItemKind.Function;case ot.SymbolKind.Variable:case ot.SymbolKind.Array:return ot.CompletionItemKind.Variable;case ot.SymbolKind.String:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Number:case ot.SymbolKind.Boolean:return ot.CompletionItemKind.Value;case ot.SymbolKind.Constant:case ot.SymbolKind.Null:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Object:case ot.SymbolKind.Key:return ot.CompletionItemKind.Value;case ot.SymbolKind.EnumMember:return ot.CompletionItemKind.EnumMember;case ot.SymbolKind.Struct:return ot.CompletionItemKind.Struct;case ot.SymbolKind.Event:return ot.CompletionItemKind.Event;case ot.SymbolKind.Operator:return ot.CompletionItemKind.Operator;case ot.SymbolKind.TypeParameter:return ot.CompletionItemKind.TypeParameter;default:return}}class Jl{static getCallForDeclaration(e,t,n,i){if(ct(i),3===t.type||4===t.type)return{name:e,kind:Zl(t,n),uri:t.path,range:t.range,selectionRange:t.range}}static getIncomingCallsForDeclaration(e,t,n,i,r,s){ct(s);const o=new Ql(e,t,n,i,r,s).findCalls();return o.length>0?o:void 0}static getOutgoingCallsForDeclaration(e,t,n,i){let r;if(ct(i),3===e.type)r=e.node;else if(4===e.type){const t=n.getTypeForDeclaration(e);if(t&&_o(t)){const e=va(t,"__init__",14);if(e){const t=n.getTypeOfMember(e);if(t&&Eo(t)){const t=e.symbol.getDeclarations();if(t&&t.length>0){const e=t[0];3===e.type&&(r=e.node)}}}}}if(!r)return;const s=new Yl(r,t,n,i).findCalls();return s.length>0?s:void 0}static getTargetDeclaration(e,t){let n=e[0];for(const i of e)if((ns(i)||!ns(n))&&(3===i.type||4===i.type)&&(n=i,i.node===t))break;return n}}class Yl extends _r{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(ct(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){ct(this._cancellationToken);const t=this._evaluator.getType(e.leftExpression);return t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&vo(r)&&Zs.isPropertyClass(r)&&s.forEach((t=>{this._addOutgoingCallForDeclaration(e.memberName,t)}))})),!0}_addOutgoingCallForDeclaration(e,t){const n=this._evaluator.resolveAliasDeclaration(t,!0);if(!n)return;if(3!==n.type&&4!==n.type)return;const i={name:e.value,kind:Zl(n,this._evaluator),uri:n.path,range:n.range,selectionRange:n.range};let r=this._outgoingCalls.find((e=>e.to.uri===i.uri&&Tt(e.to.range,i.range)));r||(r={to:i,fromRanges:[]},this._outgoingCalls.push(r));const s=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);r.fromRanges.push(s)}}class Ql extends _r{constructor(e,t,n,i,r,s){super(),this._filePath=e,this._symbolName=t,this._declaration=n,this._parseResults=i,this._evaluator=r,this._cancellationToken=s,this._incomingCalls=[]}findCalls(){return this.walk(this._parseResults.parseTree),this._incomingCalls}visitCall(e){let t;if(ct(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=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(t)}return!0}visitMemberAccess(e){if(ct(this._cancellationToken),e.memberName.value===this._symbolName){const t=this._evaluator.getType(e.leftExpression);t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&s.some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(e.memberName)}))}return!0}_addIncomingCallForDeclaration(e){const t=Rr(e);if(!t)return;let n;if(36===t.nodeType){const e=St(0,0,this._parseResults.tokenizerOutput.lines),t=de(this._filePath);n={name:`(module) ${t}`,kind:ot.SymbolKind.Module,uri:this._filePath,range:e,selectionRange:e}}else if(30===t.nodeType){const e=St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines);n={name:"(lambda)",kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}else{const e=St(t.name.start,t.name.start+t.name.length,this._parseResults.tokenizerOutput.lines);n={name:t.name.value,kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}let i=this._incomingCalls.find((e=>e.from.uri===n.uri&&Tt(e.from.range,n.range)));i||(i={from:n,fromRanges:[]},this._incomingCalls.push(i));const r=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);i.fromRanges.push(r)}}function Zl(e,t){let n;switch(e.type){case 4:case 5:n=ot.SymbolKind.Class;break;case 3:if(e.isMethod){const i=t.getTypeForDeclaration(e);n=i&&ua(i)?ot.SymbolKind.Property:ot.SymbolKind.Method}else n=ot.SymbolKind.Function;break;default:n=ot.SymbolKind.Function}return n}class Xl{constructor(e,t,n,i,r){this.requiresGlobalSearch=e,this.nodeAtOffset=t,this.symbolName=n,this.declarations=i,this._reporter=r,this._locations=[]}get locations(){return this._locations}addLocations(...e){0!==e.length&&(this._reporter&&this._reporter(e),this._locations.push(...e))}}class ec{constructor(e,t,n,i,r,s){this._parseResults=e,this._filePath=t,this._referencesResult=n,this._includeDeclaration=i,this._evaluator=r,this._cancellationToken=s}findReferences(e=this._parseResults.parseTree){const t=new Ml(this._referencesResult.symbolName,this._referencesResult.declarations,this._evaluator,this._cancellationToken,e,!0),n=[];for(const e of t.collect())(this._includeDeclaration||e.node!==this._referencesResult.nodeAtOffset)&&n.push({path:this._filePath,range:{start:It(e.range.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e.range),this._parseResults.tokenizerOutput.lines)}});return n}}class tc{static getDeclarationForNode(e,t,n,i,r,s){ct(s);const o=Ml.getDeclarationsForNode(n,i,!1,s,e);if(0===o.length)return;const a=o.some((e=>{var n,i;if(e.path!==t)return!0;const r=Ar(e.node);return 36===r.nodeType||10===r.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}));return new Xl(a,n,n.value,o,r)}static getDeclarationForPosition(e,t,n,i,r,s,o){ct(o);const a=xt(i,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);return void 0!==l&&38===l.nodeType?this.getDeclarationForNode(e,n,l,r,s,o):void 0}static addReferences(e,t,n,i,r,s){const o=new ec(e,t,n,i,r,s);n.addLocations(...o.findReferences())}}var nc,ic,rc,sc,oc,ac,lc,cc,uc,pc,dc,hc,mc,fc;!function(e){e[e.File=0]="File",e[e.Folder=1]="Folder",e[e.Symbol=2]="Symbol"}(nc||(nc={}));class gc{constructor(e,t,n,i,r,s,o,a,l){if(this._fs=e,this._evaluator=t,this._moduleFilePath=n,this._moduleNameAndType=r,this._newModuleNameAndType=s,this._type=o,this._declarations=a,this._token=l,this._results=new Map,this._aliasIntroduced=new Set,this._newModuleFilePath=ee(i),this._moduleNames=this._moduleName.split("."),this._newModuleNames=this._newModuleName.split("."),this._moduleNames.length!==this._newModuleNames.length)return void(this._onlyNameChanged=!1);let c=0;for(c=0;ce.realCasePath(t)));return 3===i.length&&".."===i[1]&&".."!==i[2]?"Renamed":"Moved"}(e.fileSystem,i,r))return;let o=te(i,"__init__.pyi");if(!e.fileSystem.existsSync(o)&&(o=te(i,"__init__.py"),!e.fileSystem.existsSync(o)))return;return this._create(e,t,n,o,te(r,de(o)),nc.Folder,s)}}}static createForSymbol(e,t,n,i,r,s,o){if(!e.fileSystem.existsSync(i))return;const a=s.filter((e=>zn(e)||jn(e)||Hn(e)));return 0!==a.length?this._create(e,t,n,i,r,nc.Symbol,a,o):void 0}static _create(e,t,n,i,r,s,o,a){const l=t.findExecEnvironment(i),c=e.getModuleNameForImport(i,l);if(!c.moduleName)return;const u=e.getModuleNameForImport(r,l);if(!u.moduleName)return;a=ot.CancellationToken.is(o)?o:a;const p=ot.CancellationToken.is(o)?[]:o;return 0===p.length&&(p.push(cs(i)),el(i)&&(e.resolveImport(i,l,vn(c.moduleName)),e.getSourceFilesFromStub(i,l,!1).forEach((e=>p.push(cs(e)))))),new gc(e.fileSystem,n,i,r,c,u,s,p,a)}renameReferences(e,t){switch(this._type){case nc.Folder:return this._renameFolderReferences(e,t);case nc.File:return this._renameModuleReferences(e,t);case nc.Symbol:return this._updateSymbolReferences(e,t);default:return k(this._type,`${this._type} is unknown`)}}_updateSymbolReferences(e,t){var n,i,r,s;const o=new Ml(null!==(n=as(this._declarations[0]))&&void 0!==n?n:"",this._declarations,this._evaluator,this._token,t.parseTree,!0),a=tn(t.parseTree,!0),l=a.orderedImports.find((e=>e.moduleName===this._newModuleName)),c=new Set,u=new Map;for(const n of o.collect()){const o=n.node;if(49===o.nodeType)continue;if(Qr(o)){const n=null===(i=o.parent)||void 0===i?void 0:i.parent,s=this._getNewModuleName(e,n.module.leadingDots>0,!1);if(1===n.imports.length)this._addResultWithTextRange(e,n.module,t,s);else{const i=o.parent;this._addFromImportNameDeletion(e,t,c,n.imports,i);const l={name:i.name.value,alias:null===(r=i.alias)||void 0===r?void 0:r.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,n,t,c,a,s,[l]))}continue}const l=ts(o);if(l===o||35!==l.nodeType)continue;const p=35===l.leftExpression.nodeType?l.leftExpression.memberName:38===l.leftExpression.nodeType?l.leftExpression:void 0;if(!p)continue;const d=null===(s=this._evaluator.getDeclarationsForNameNode(p))||void 0===s?void 0:s.filter((e=>Gn(e)&&(21===e.node.nodeType||23===e.node.nodeType)));d&&0!==d.length&&h(u,d[0].node,(()=>[])).push(l)}for(const[n,i]of u){let r;if(this._canReplaceImportName(t,n,i)){const i=this._getReferenceModuleName(a,l);if(21===n.nodeType)i?(r=i,this._addImportNameDeletion(e,t,c,n.parent.list,n)):(r=n.alias?n.alias.value:this._newModuleName,this._addResultWithTextRange(e,n.module,t,this._newModuleName));else if(i)r=i,this._addFromImportNameDeletion(e,t,c,n.parent.imports,n);else{const i=n.parent,s=this._getNewModuleName(e,i.module.leadingDots>0,!0);r=n.alias?n.alias.value:this._newLastModuleName,this._addResultWithTextRange(e,i.module,t,s),this._addResultWithTextRange(e,n.name,t,this._newLastModuleName)}}else{const n=this._getReferenceModuleName(a,l);n?r=n:(r=this._newModuleName,this._addResultEdits(an([],a,this._newModuleName,cn(this._newModuleNameAndType),t,It(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,r)}}_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 r=null!==(i=t.alias)&&void 0!==i?i:21===t.nodeType?t.module.nameParts[t.module.nameParts.length-1]:t.name,s=Ml.getDeclarationsForNode(r,this._evaluator,!1,this._token);if(0===s.length)return!1;const o=new Ml(r.value,s,this._evaluator,this._token,e.parseTree,!0);for(const e of o.collect())if(!(Kr(e.node)||Jr(e.node)||Yr(e.node)||Qr(e.node)||Zr(e.node)||n.some((t=>dt.containsRange(t,e.node)))))return!1;return!0}_renameFolderReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0);for(const i of n.collect())this._addResultWithTextRange(e,i.range,t,this._newLastModuleName)}_renameModuleReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0),i=new Set,r=n.collect();this._updateModuleReferences(e,t,i,r),this._updateRelativeModuleNamePath(e,t,i,r)}_updateRelativeModuleNamePath(e,t,n,i){if(e!==this._moduleFilePath)return;let r;for(const s of this._getNewRelativeModuleNamesForFileMoved(e,yc.collect(t.parseTree).filter((e=>!i.some((t=>dt.containsRange(e.parent,t.node))))))){if(this._addResultWithTextRange(e,s.moduleName,t,s.newModuleName),!s.itemsToMove)continue;const i=s.moduleName.parent;for(const r of s.itemsToMove)this._addFromImportNameDeletion(e,t,n,i.imports,r);r=null!=r?r:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,r,un(this._fs,this._newModuleFilePath,this._newModuleFilePath,!1,!0),s.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 r,s,o,a,l;let c;for(const u of i){const p=u.node;if(49===p.nodeType){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Kr(p)){if(!Xr(p))continue;const n=es(p,37);if(1===n.nameParts.length&&21===(null===(r=n.parent)||void 0===r?void 0:r.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(Jr(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Yr(p)){if(!Xr(p))continue;const r=es(p,37),s=r.parent,o=[],a=[];for(const e of s.imports)this._isExportedSymbol(e.name)?o.push(e):a.push(e);if(0===a.length){this._addResultWithTextRange(e,r,t,this._getNewModuleName(e,r.leadingDots>0,!1));continue}if(0===o.length)continue;if(s.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[s.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);for(const i of o)this._addFromImportNameDeletion(e,t,n,s.imports,i);c=null!=c?c:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,s,t,n,c,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(Qr(p)){if(n.has(p.id))continue;const i=null===(s=p.parent)||void 0===s?void 0:s.parent,r=this._getNewModuleName(e,i.module.leadingDots>0,!0);if(this._isExportedSymbol(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(1===i.imports.length)this._addResultWithTextRange(e,i.module,t,r),this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else{const s=p.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,s),c=null!=c?c:tn(t.parseTree,!1);const l={name:this._newLastModuleName,alias:(null===(o=s.alias)||void 0===o?void 0:o.value)===this.lastModuleName?this._newLastModuleName:null===(a=s.alias)||void 0===a?void 0:a.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,c,r,[l]))}continue}if(Zr(p)){if(n.has(p.id))continue;this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}const d=Ml.getDeclarationsForNode(p,this._evaluator,!1,this._token).filter((e=>Gn(e)));if(this._onlyNameChanged)this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else if(null==d?void 0:d.some((e=>!(e.usesLocalName||e.node&&21!==e.node.nodeType||this._aliasIntroduced.has(e.node))))){const n=ts(p);if(35!==(null===(l=n.parent)||void 0===l?void 0:l.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__"===he(de(e)),i=$(e),r=[];for(const e of t){if(0===e.leadingDots)continue;const t=this._getNewModuleNameInfoForFileMoved(e,n,i);if(!t)continue;const s=un(this._fs,t.src,t.dest,!1,!0);r.push({moduleName:e,newModuleName:s,itemsToMove:t.itemsToMove})}return r}_getNewModuleNameInfoForFileMoved(e,t,n){const i=Rt(e);if(!i)return;let r=i.resolvedPaths[i.resolvedPaths.length-1];if(!r){if(0!==e.nameParts.length)return;{const t=pn(n,e.leadingDots);if(!t)return;r=te(t,"__init__.py")}}if(this._moduleFilePath!==r||!t)return{src:this._newModuleFilePath,dest:r};const s=[],o=[];for(const t of e.parent.imports)this._isExportedSymbol(t.name)?s.push(t):o.push(t);return 0===o.length?{src:this._newModuleFilePath,dest:this._newModuleFilePath}:0===s.length?{src:this._newModuleFilePath,dest:this._moduleFilePath}:{src:this._newModuleFilePath,dest:this._moduleFilePath,itemsToMove:[...s]}}_isExportedSymbol(e){const t=this._evaluator.getDeclarationsForNameNode(e);return!!t&&!t.some((e=>Gn(e)&&e.submoduleFallback))}_getNewModuleName(e,t,n){const i=e===this._moduleFilePath?this._newModuleFilePath:e,r=t?un(this._fs,i,this._newModuleFilePath,n,!0):this._newModuleName;if(n&&r.endsWith(this._newLastModuleName)){const e=r===this._newLastModuleName?0:r.length>this._newLastModuleName.length+1&&"."!==r[r.length-this._newLastModuleName.length-2]?1:0,t=r.length-this._newLastModuleName.length-e,n=r.substr(0,t);return n.length>0?n:"."}return r}getEdits(){const e=[];return this._results.forEach((t=>e.push(...t))),e}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,r){this._addImportNameDeletionInternal(e,t,n,i,r,20),n.add(r.module.id),r.module.nameParts.forEach((e=>n.add(e.id))),r.alias&&n.add(r.alias.id)}_addFromImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,22),n.add(r.name.id),r.alias&&n.add(r.alias.id)}_addImportNameDeletionInternal(e,t,n,i,r,s){const o=function(e,t){let n;if(1===e.length&&0===t)n=e[0];else if(t===e.length-1){const i=dt.getEnd(e[t-1]);n={start:i,length:dt.getEnd(e[t])-i}}else{const i=e[t].start;n={start:i,length:e[t+1].start-i}}return n}(i,i.findIndex((e=>e===r)));this._addResultWithTextRange(e,o,t,""),n.add(r.id);let a=0;for(a=i.length-1;a>=0&&n.has(i[a].id);a--);if(-1===a){const n=es(r,s);n&&this._addResultWithRange(e,function(e,t){const n=wt(e,t.lines),i=function(e,t,n){const i=n.tokens.getItemAtPosition(t);if(i<0)return;let r=i;for(;r=0&&athis._addResultWithRange(e.filePath,e.range,e.replacementText)))}_getDeletionsForSpan(e,t){var n;return r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),e.filter((e=>""===e.replacementText&&yt(e.range,t)))}_removeEdits(e,t){var n;r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),m(e,(e=>t.findIndex((t=>t===e))>=0))}_addResultWithRange(e,t,n){const i=h(this._results,e,(()=>[]));if(""===n){const e=this._getDeletionsForSpan(i,t);e.length>0&&(this._removeEdits(i,e),bt(t,e.map((e=>e.range))))}i.some((e=>Tt(e.range,t)&&e.replacementText===n))||i.push({filePath:e,range:t,replacementText:n})}_getTextEditsForNewOrExistingFromImport(e,t,n,i,r,s,o){const a=r.orderedImports.find((e=>e.moduleName===s));if(a&&22===a.node.nodeType&&!a.node.isWildcardImport){const r=rn(o,a,n);if(a.node!==t)return r.map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})));if(this._onlyNameChanged&&1===o.length&&1===r.length){const s=this._getDeletionsForSpan(e,r[0].range);if(0===s.length)return[{filePath:e,range:r[0].range,replacementText:r[0].replacementText}];{const r=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)===r}));if(a)return this._removeEdits(e,s),a.alias&&i.delete(a.alias.id),[{filePath:e,range:wt(a.name,n.tokenizerOutput.lines),replacementText:this._newLastModuleName}]}}}return an(o,r,s,cn(this._newModuleNameAndType),n,It(n.parseTree.length,n.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))}}class yc extends _r{constructor(){super(...arguments),this._result=[]}walk(e){yr(e)||super.walk(e)}visitModuleName(e){return this._result.push(e),!1}static collect(e){const t=new yc;return t.walk(e),t._result}}class _c{constructor(){this._paths=[]}appendPath(e){this._paths.push(e)}getPaths(){return this._paths}normalizeOrder(){let e=0;this._paths.forEach(((t,n)=>{te?i=r:n=r+1}let r=n-1;return{line:r,character:e-t[r]}}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 Sc(e){const t=Ic(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){e.create=function(e,t,n,i){return new vc(e,t,n,i)},e.update=function(e,t,n){if(e instanceof vc)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},e.applyEdits=function(e,t){let n=e.getText(),i=Tc(t.map(Sc),((e,t)=>{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),r=0;const s=[];for(const t of i){let i=e.offsetAt(t.range.start);if(ir&&s.push(n.substring(r,i)),t.newText.length&&s.push(t.newText),r=e.offsetAt(t.range.end)}return s.push(n.substr(r)),s.join("")}}(ic||(ic={})),function(e){e.Darwin="Darwin",e.Windows="Windows",e.Linux="Linux"}(rc||(rc={}));class xc{constructor(e,t,n,i){this.extraPaths=[],this.root=e||void 0,this.pythonVersion=t||Ae,this.pythonPlatform=n,this.extraPaths=[...null!=i?i:[]]}}function Cc(e=!1){const t=[$o.strictListInference,$o.strictSetInference,$o.strictDictionaryInference,$o.strictParameterNoneValue];return e&&t.push($o.enableTypeIgnoreComments),t}function wc(){return[$o.reportGeneralTypeIssues,$o.reportPropertyTypeMismatch,$o.reportFunctionMemberAccess,$o.reportMissingImports,$o.reportMissingModuleSource,$o.reportMissingTypeStubs,$o.reportImportCycles,$o.reportUnusedImport,$o.reportUnusedClass,$o.reportUnusedFunction,$o.reportUnusedVariable,$o.reportDuplicateImport,$o.reportWildcardImportFromLibrary,$o.reportOptionalSubscript,$o.reportOptionalMemberAccess,$o.reportOptionalCall,$o.reportOptionalIterable,$o.reportOptionalContextManager,$o.reportOptionalOperand,$o.reportTypedDictNotRequiredAccess,$o.reportUntypedFunctionDecorator,$o.reportUntypedClassDecorator,$o.reportUntypedBaseClass,$o.reportUntypedNamedTuple,$o.reportPrivateUsage,$o.reportPrivateImportUsage,$o.reportConstantRedefinition,$o.reportIncompatibleMethodOverride,$o.reportIncompatibleVariableOverride,$o.reportInconsistentConstructor,$o.reportOverlappingOverload,$o.reportMissingSuperCall,$o.reportUninitializedInstanceVariable,$o.reportInvalidStringEscapeSequence,$o.reportUnknownParameterType,$o.reportUnknownArgumentType,$o.reportUnknownLambdaType,$o.reportUnknownVariableType,$o.reportUnknownMemberType,$o.reportMissingParameterType,$o.reportMissingTypeArgument,$o.reportInvalidTypeVarUse,$o.reportCallInDefaultInitializer,$o.reportUnnecessaryIsInstance,$o.reportUnnecessaryCast,$o.reportUnnecessaryComparison,$o.reportAssertAlwaysTrue,$o.reportSelfClsParameterName,$o.reportImplicitStringConcatenation,$o.reportUndefinedVariable,$o.reportUnboundVariable,$o.reportInvalidStubStatement,$o.reportIncompleteStub,$o.reportUnsupportedDunderAll,$o.reportUnusedCallResult,$o.reportUnusedCoroutine,$o.reportUnnecessaryTypeIgnoreComment,$o.reportMatchNotExhaustive]}class Ec{constructor(e,t){this.include=[],this.exclude=[],this.ignore=[],this.strict=[],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=Ec.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",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",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"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",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",reportAssertAlwaysTrue:"none",reportSelfClsParameterName:"none",reportImplicitStringConcatenation:"none",reportUnboundVariable:"none",reportUndefinedVariable:"warning",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"none",reportUnusedCallResult:"none",reportUnusedCoroutine:"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",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",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none"}}getDefaultExecEnvironment(){return new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths)}findExecEnvironment(e){var t;return null!==(t=this.executionEnvironments.find((t=>{const n=le(me(te(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,r,s=!1){let o;this.initializedFromJson=!0,s||(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,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "include" array because it is not relative.`):this.include.push(be(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,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "exclude" array because it is not relative.`):this.exclude.push(be(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,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "ignore" array because it is not relative.`):this.ignore.push(be(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,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "strict" array because it is not relative.`):this.strict.push(be(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?o=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=o||t;const a=Ec.getDiagnosticRuleSet(this.typeCheckingMode);if(this.diagnosticRuleSet={...a},this.applyDiagnosticOverrides(r),Cc(!0).forEach((t=>{this.diagnosticRuleSet[t]=this._convertBoolean(e[t],t,this.diagnosticRuleSet[t])})),wc().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=me(te(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(me(te(this.projectRoot,e)))})):n.error('Config "extraPaths" field must contain an array.')),void 0!==e.pythonVersion)if("string"==typeof e.pythonVersion){const t=Re(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(i,n),void 0!==e.pythonPlatform&&("string"!=typeof e.pythonPlatform?n.error('Config "pythonPlatform" field must contain a string.'):this.defaultPythonPlatform=e.pythonPlatform),this.ensureDefaultPythonPlatform(i,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?me(te(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=me(te(this.projectRoot,e.typingsPath)))),void 0!==e.stubPath&&("string"!=typeof e.stubPath?n.error('Config "stubPath" field must contain a string.'):this.stubPath=me(te(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.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 ${Pe(this.defaultPythonVersion)}`);for(const e of n)t.info(e)}ensureDefaultExtraPaths(e,t,n){const i=[];if(t){const t=ee(this.projectRoot,"src");e.existsSync(t)&&!e.existsSync(ee(t,"__init__.py"))&&i.push(t)}if(n&&n.length>0)for(const t of n){const n=ee(this.projectRoot,t);i.push(n),fe(e,n)&&i.push(...yn(e,n))}i.length>0&&(this.defaultExtraPaths=i)}applyDiagnosticOverrides(e){if(e)for(const t of wc()){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 xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths);if(e.root&&"string"==typeof e.root?i.root=me(te(this.projectRoot,e.root)):n.error(`Config executionEnvironments index ${t}: missing root value.`),e.extraPaths&&(Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,r)=>{"string"!=typeof e?n.error(`Config executionEnvironments index ${t}: extraPaths field ${r} must be a string.`):i.extraPaths.push(me(te(this.projectRoot,e)))})):n.error(`Config executionEnvironments index ${t}: extraPaths field must contain an array.`)),e.pythonVersion)if("string"==typeof e.pythonVersion){const r=Re(e.pythonVersion);r?i.pythonVersion=r: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.`)}}}class kc{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 nl(0,e,t))}addWarning(e,t){return this.addDiagnostic(new nl(1,e,t))}addInformation(e,t){return this.addDiagnostic(new nl(2,e,t))}addUnusedCode(e,t,n){const i=new nl(3,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDeprecated(e,t,n){const i=new nl(4,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}:${M(e.message)}}`;return this._diagnosticMap.has(t)||(this._diagnosticList.push(e),this._diagnosticMap.set(t,e)),e}addDiagnostics(e){this._diagnosticList.push(...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))}getDeprecated(){return this._diagnosticList.filter((e=>4===e.category))}}class Dc extends kc{constructor(e,t){super(t),this._lines=e}addDiagnosticWithTextRange(e,t,n){const i=St(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,St(t.start,t.start+t.length,this._lines),n)}addDeprecatedWithTextRange(e,t,n){return this.addDeprecated(e,St(t.start,t.start+t.length,this._lines),n)}}class Ac{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=r.start&&(i>=this.count-1||ethis.end)return-1;let t=0,n=this.count-1;for(;t<=n;){const i=Math.floor(t+(n-t)/2),r=this._items[i];if(dt.contains(r,e))return i;if(ic===el(e.path);return l.find(u)?l.filter(u):l}static getTypeDefinitionsForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(n,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);if(void 0===l)return;const c=[];if(38===l.nodeType){const t=i.getType(l);if(t){let n=[];Jo(t,(t=>{7===(null==t?void 0:t.category)&&n.push(...e.findClassDeclarationsByType(r,t))})),0===n.length&&(n=null!==(o=i.getDeclarationsForNameNode(l))&&void 0!==o?o:[]),Pc._resolveDeclarations(n,i,c,e)}}return 0!==c.length?c:void 0}static _resolveDeclarations(e,t,n,i){e&&e.forEach((e=>{let r=t.resolveAliasDeclaration(e,!0,!0);if(r&&r.path){if(6===r.type&&r.isUnresolved)return;if(6===r.type&&r.symbolName&&r.submoduleFallback&&r.submoduleFallback.path&&(r=r.submoduleFallback),this._addIfUnique(n,{path:r.path,range:r.range}),jn(r)){const e=t.getTypeForDeclaration(r);if(e&&ko(e))for(const t of e.overloads.map((e=>e.details.declaration)).filter(a))this._addIfUnique(n,{path:t.path,range:t.range})}if(el(r.path))if(6===r.type)i.findModules(r.path).map((e=>{var t;return null===(t=Vt(e))||void 0===t?void 0:t.filePath})).filter(a).forEach((e=>this._addIfUnique(n,this._createModuleEntry(e))));else{const e=i.findDeclarations(r);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&&Tt(n.range,t.range))return;e.push(t)}}function Rc(e,t,n,i){let r=t;const s=[];let o,a,l=!1,c=!1;for(;;){if(6!==r.type||!r.symbolName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};if(!n&&r.usesLocalName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};let u;r.path&&r.loadSymbolsFromPath&&(u=e(r.path));const p=u?u.symbolTable.get(r.symbolName):void 0;if(!p)return r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):r.isNativeLib?{declaration:void 0,isPrivate:l}:void 0;if(p.isPrivateMember()&&(l=!0),p.isExternallyHidden()&&!i)return;let d=p.getTypedDeclarations();if(0===d.length&&(d=p.getDeclarations(),0===d.length))return;const h=d.filter((e=>!s.includes(e)));if(r=h.length>0?h[h.length-1]:d[d.length-1],c&&(o=null!=o?o:null==r?void 0:r.moduleName),p.isPrivatePyTypedImport()&&(c=!0),c&&(a=null!=a?a:null==r?void 0:r.moduleName),s.find((e=>e===r)))return r.path===t.path&&6===r.type&&r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):{declaration:t,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};s.push(r)}}class Fc{static getSymbolsForDocument(e,t,n,i,r,s){var o;const a=[];return t||n?(Mc(null!==(o=null==t?void 0:t.symbols)&&void 0!==o?o:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},s),i,r,"",a,s),a):a}static addHierarchicalSymbolsForDocument(e,t,n,i,r){var s;(t||n)&&Oc(null!==(s=null==t?void 0:t.symbols)&&void 0!==s?s:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},r),i,r)}static indexSymbols(e,t,n,i){const r=[];return Lc(e,t,t.parseTree,n,r,i),r}}function Nc(e,t,n){let i;switch(t.type){case 4:case 5:i=ot.SymbolKind.Class;break;case 3:if(t.isMethod){const e=null==n?void 0:n.getTypeForDeclaration(t);i=e&&ua(e)?ot.SymbolKind.Property:ot.SymbolKind.Method}else i=ot.SymbolKind.Function;break;case 6:i=ot.SymbolKind.Module;break;case 2:if("self"===e||"cls"===e||"_"===e)return;i=ot.SymbolKind.Variable;break;case 1:if("_"===e)return;i=t.isConstant||t.isFinal?ot.SymbolKind.Constant:ot.SymbolKind.Variable;break;default:i=ot.SymbolKind.Variable}return i}function Mc(e,t,n,i,r,s){if(ct(s),e)for(const a of e)if(!a.alias){if(N(n,a.name)){const e={uri:x.file(t).toString(),range:a.selectionRange},n={name:a.name,kind:a.kind,location:e};i.length&&(n.containerName=i),r.push(n)}Mc(a.children,t,n,o(i,a.name),r,s)}function o(e,t){return e.length>0?`${e}.${t}`:t}}function Oc(e,t,n){if(ct(n),e)for(const i of e){if(i.alias)continue;const e=[];Oc(i.children,e,n);const r={name:i.name,kind:i.kind,range:i.range,selectionRange:i.selectionRange,children:e};t.push(r)}}function Lc(e,t,n,i,r,s){ct(s);const o=Ft(n);o&&o.symbolTable.forEach(((n,o)=>{if(n.isIgnoredForProtocolMatch())return;if(i.indexingForAutoImportMode&&!e.isStubFile&&!e.isInPyTypedPackage&&!n.isInDunderAll())return;let a=Vo(n);if(!a&&n.hasDeclarations()&&(a=n.getDeclarations()[0]),a){if(6===a.type){if(!i.indexingForAutoImportMode)return;if(!a.loadSymbolsFromPath||a.path.length<=0)return}!function(e,t,n,i,r,s,o,a){if(i.indexingForAutoImportMode&&!r)return;const l=Nc(s,n);if(void 0===l)return;const c=n.range;let u=c;const p=[];let d;if(4!==n.type&&3!==n.type||(i.indexingForAutoImportMode||Lc(e,t,n.node,i,p,a),u=St(n.node.start,n.node.start+n.node.length,t.tokenizerOutput.lines)),6===n.type&&(d=function(e,t){var n;if(!t.symbolName)return;const i=Rc(e,t,!0,!1);if(!i||!i.declaration)return;if(i.isPrivate)return;const r=as(i.declaration);if(!r||i.declaration.path.length<=0)return;const s=null!==(n=Nc(r,i.declaration))&&void 0!==n?n:ot.SymbolKind.Module;return{originalName:r,modulePath:i.declaration.path,kind:s,itemKind:Kl(s)}}(Vt(t.parseTree).importLookup,n),!d))return;const h={name:s,externallyVisible:r,kind:l,itemKind:Kl(l),alias:d,range:i.indexingForAutoImportMode?void 0:u,selectionRange:i.indexingForAutoImportMode?void 0:c,children:i.indexingForAutoImportMode?void 0:p};o.push(h)}(e,t,a,i,!n.isExternallyHidden(),o,r,s)}}))}function Uc(e,t,n,i){const r={name:n.name,kind:n.kind,location:ot.Location.create(t,n.range)};if(n.tags&&(r.tags=n.tags),i&&(r.containerName=i.name),e.push(r),n.children)for(const i of n.children)Uc(e,t,i,n)}class qc{constructor(e,t){this._parseResults=e,this._cancellationToken=t}sort(){ct(this._cancellationToken);const e=[],t=tn(this._parseResults.parseTree),n=t.orderedImports.map((e=>e)).sort(((e,t)=>function(e,t){const n=en(e),i=en(t);return ni?1:e.moduleNamee.followsNonImportStatement));t<0&&(t=e.length);const n=e[t-1].node;return{start:It(e[0].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.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:It(e[n].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e[i-1].node),this._parseResults.tokenizerOutput.lines)},replacementText:""}),n=i,n>=e.length)break}}_generateSortedImportText(e){let t="",n=en(e[0]);for(const i of e){const r=en(i);let s;n!==r&&(t+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence,n=r),s=20===i.node.nodeType?this._formatImportNode(i.subnode,i.moduleName):this._formatImportFromNode(i.node,i.moduleName),i!==e[e.length-1]&&(s+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence),t+=s}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 r=n.join(", ");if(i.length+r.length<=88)return i+r;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.value13===e||10===e||92===e)))return{value:t,unescapeErrors:[],nonAsciiInBytes:s&&r.some((e=>e>=128)),formatStringSegments:[]};let o=0,a={offset:0,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1},l=0;const c={valueParts:[],unescapeErrors:[],nonAsciiInBytes:!1,formatStringSegments:[]},u=()=>{n||c.unescapeErrors.push({offset:l-1,length:2,errorType:0})},p=(e=0)=>l+e>=r.length?3:r[l+e],d=e=>{let t=!1,n=0,i="";for(let i=0;i{const t=String.fromCharCode(e);c.valueParts.push(t),a.valueParts.push(t)};for(;;){let e=p();if(3===e)return i&&(a.isExpression&&c.unescapeErrors.push({offset:a.offset,length:l-a.offset,errorType:3}),l!==a.offset&&(a.length=l-a.offset,c.formatStringSegments.push(a))),f=c,{...f,value:f.valueParts.join(""),formatStringSegments:f.formatStringSegments.map((e=>({...e,value:e.valueParts.join("")})))};if(92===e){if(i&&a.isExpression&&!a.hasFormatSpecifier&&c.unescapeErrors.push({offset:l,length:1,errorType:1}),l++,n){h(e);continue}e=p();let t="";if(13===e||10===e)13===e&&10===p(1)&&(n&&(t+=String.fromCharCode(e)),l++,e=p()),n&&(t="\\"+t+String.fromCharCode(e)),l++;else if(n)t="\\"+String.fromCharCode(e),l++;else switch(e){case 92:case 39:case 34:t=String.fromCharCode(e),l++;break;case 97:t="",l++;break;case 98:t="\b",l++;break;case 102:t="\f",l++;break;case 110:t="\n",l++;break;case 114:t="\r",l++;break;case 116:t="\t",l++;break;case 118:t="\v",l++;break;case 120:t=d(2);break;case 78:{let n=!1,i=1;if(123!==p(i))n=!0;else for(i++;;){const e=p(i);if(125===e)break;if(!Bc(e)&&45!==e&&32!==(m=e)&&9!==m){n=!0;break}i++}n?(u(),t="\\"+String.fromCharCode(e),l++):(t="-",l+=1+i);break}case 117:t=d(4);break;case 85:t=d(8);break;default:if(Wc(e)){let n=e-48;l++,e=p(),Wc(e)&&(n=8*n+e-48,l++,e=p(),Wc(e)&&(n=8*n+e-48,l++)),t=String.fromCharCode(n)}else t="\\",u()}c.valueParts.push(t),a.valueParts.push(t)}else if(10===e||13===e)13===e&&10===p(1)&&(h(e),l++,e=p()),h(e),l++;else if(i&&123===e)a.isExpression||123!==p(1)?(0===o?(a.length=l-a.offset,a.length>0&&c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!0,hasFormatSpecifier:!1}):(h(e),l++),o++):(h(e),l+=2);else if(i&&125===e)a.isExpression||125!==p(1)?0===o?(c.unescapeErrors.push({offset:l,length:1,errorType:2}),l++):(o--,0===o?(a.length=l-a.offset,c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1}):(h(e),l++)):(h(e),l+=2);else if(!a.isExpression||39!==e&&34!==e)a.isExpression&&58===e&&(a.hasFormatSpecifier=!0),s&&e>=128&&(c.nonAsciiInBytes=!0),h(e),l++;else{const t=e;h(e);const n=p(1)===t&&p(2)===t;for(n&&(l+=2,h(e),h(e),c.valueParts.push(String.fromCharCode(e)),c.valueParts.push(String.fromCharCode(e)));;){l++;let e=p();if(3===e)break;if(92!==e){if((10===e||13===e)&&!n)break;if(e===t){if(!n){l++,h(e);break}if(p(1)===t&&p(2)===t){l+=3,h(e),h(e),h(e);break}}h(e)}else h(e),l++,e=p(),h(e)}}}var m,f}function Bc(e){return e>=48&&e<=57||e>=97&&e<=122||e>=65&&e<=90}function Wc(e){return e>=48&&e<=55}function jc(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function zc(e){return e>=48&&e<=57?e-48:e>=97&&e<=102?e-97+10:e>=65&&e<=70?e-65+10:0}class $c{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)}}!function(e){e.create=function(e,t,n,i=0){return{type:i,start:e,length:t,value:n}}}(oc||(oc={})),function(e){e.create=function(e,t,n,i){return{start:t,length:n,type:e,comments:i}}}(ac||(ac={})),function(e){e.create=function(e,t,n,i,r){return{start:e,length:t,type:3,isIndentAmbiguous:i,comments:r,indentAmount:n}}}(lc||(lc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:4,comments:s,indentAmount:n,matchesIndent:i,isDedentAmbiguous:r}}}(cc||(cc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:2,comments:i,newLineType:n}}}(uc||(uc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:8,comments:i,keywordType:n}}}(pc||(pc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:5,flags:n,escapedValue:i,prefixLength:r,quoteMarkLength:4&n?3:1,comments:s}}}(dc||(dc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:6,isInteger:i,isImaginary:r,value:n,comments:s}}}(hc||(hc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:9,operatorType:n,comments:i}}}(mc||(mc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:7,value:n.normalize("NFKC"),comments:i}}}(fc||(fc={}));const Hc=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],["while",35],["with",36],["yield",37],["False",15],["None",26],["True",33]]),Gc={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};class Kc{constructor(){this._cs=new $c(""),this._tokens=[],this._prevLineStart=0,this._parenDepth=0,this._lineRanges=[],this._indentAmounts=[],this._typeIgnoreLines=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=!1}tokenize(e,t,n,i=0,r=!1){if(void 0===t)t=0;else if(t<0||t>e.length)throw new Error("Invalid range start");if(void 0===n)n=e.length;else{if(n<0||t+n>e.length)throw new Error("Invalid range length");t+n=s)););0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(uc.create(this._cs.position,0,3,this._getComments())),this._setIndent(0,0,!1,!1),this._tokens.push(ac.create(1,this._cs.position,0,this._getComments())),this._addLineRange();let o="\n";this._crCount>this._crLfCount&&this._crCount>this._lfCount?o="\r":this._crLfCount>this._crCount&&this._crLfCount>this._lfCount&&(o="\r\n");let a=" ";if(this._indentTabCount>this._indentCount/2)a="\t";else if(this._indentCount>0){let e=Math.round(this._indentSpacesTotal/this._indentCount);e<1?e=1:e>8&&(e=8),a="";for(let t=0;t=this._doubleQuoteCount?"'":'"'}}static getOperatorInfo(e){return Gc[e]}static isOperatorAssignment(e){return void 0!==e&&void 0!==Gc[e]&&0!=(4&Gc[e])}static isOperatorComparison(e){return void 0!==e&&void 0!==Gc[e]&&0!=(8&Gc[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().substr(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(ac.create(13,this._cs.position,1,this._getComments()));break;case 41:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(14,this._cs.position,1,this._getComments()));break;case 91:this._parenDepth++,this._tokens.push(ac.create(15,this._cs.position,1,this._getComments()));break;case 93:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(16,this._cs.position,1,this._getComments()));break;case 123:this._parenDepth++,this._tokens.push(ac.create(17,this._cs.position,1,this._getComments()));break;case 125:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(18,this._cs.position,1,this._getComments()));break;case 44:this._tokens.push(ac.create(12,this._cs.position,1,this._getComments()));break;case 96:this._tokens.push(ac.create(22,this._cs.position,1,this._getComments()));break;case 59:this._tokens.push(ac.create(11,this._cs.position,1,this._getComments()));break;case 58:if(61===this._cs.nextChar){this._tokens.push(mc.create(this._cs.position,2,35,this._getComments())),this._cs.advance(1);break}this._tokens.push(ac.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(ac.create(19,this._cs.position,3,this._getComments())),this._cs.advance(3),!0;this._tokens.push(ac.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(uc.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,t=0,n=!1,i=!1;for(;!this._cs.isEndOfStream();)switch(this._cs.currentChar){case 32:e++,t++,i=!0,this._cs.moveNext();break;case 9:e++,t+=8-t%8,n=!0,this._cs.moveNext();break;case 12:e=0,t=0,n=!1,i=!1,this._cs.moveNext();break;default:return void this._setIndent(e,t,i,n);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(lc.create(this._cs.position,0,t,!1,this._getComments())));else{const r=this._indentAmounts[this._indentAmounts.length-1];if(r.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(lc.create(this._cs.position,0,t,s,this._getComments()))}else if(r.tab8Spaces===t)(r.isSpacePresent&&i||r.isTabPresent&&n)&&this._tokens.push(lc.create(this._cs.position,0,t,!0,this._getComments()));else{let e=r.isSpacePresent&&i||r.isTabPresent&&n;const s=[];for(;this._indentAmounts.length>0&&this._indentAmounts[this._indentAmounts.length-1].tab8Spaces>t;)s.push(this._indentAmounts.length>1?this._indentAmounts[this._indentAmounts.length-2].tab8Spaces:0),this._indentAmounts.pop();s.forEach(((n,i)=>{const r=i{for(;;)if(Ve(this._cs.currentChar))this._cs.moveNext();else{if(!Ve(this._cs.currentChar,this._cs.nextChar))break;this._cs.moveNext(),this._cs.moveNext()}},t=this._cs.position;if(qe(this._cs.currentChar)?(this._cs.moveNext(),e()):qe(this._cs.currentChar,this._cs.nextChar)&&(this._cs.moveNext(),this._cs.moveNext(),e()),this._cs.position>t){const e=this._cs.getText().substr(t,this._cs.position-t);return Hc.has(e)?this._tokens.push(pc.create(t,this._cs.position-t,Hc.get(e),this._getComments())):this._tokens.push(fc.create(t,this._cs.position-t,e,this._getComments())),!0}return!1}_isPossibleNumber(){return!!Be(this._cs.currentChar)||!(46!==this._cs.currentChar||!Be(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)&&We(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;We(this._cs.currentChar);)this._cs.moveNext();t=16}if((98===this._cs.nextChar||66===this._cs.nextChar)&&ze(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;ze(this._cs.currentChar);)this._cs.moveNext();t=2}if((111===this._cs.nextChar||79===this._cs.nextChar)&&je(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;je(this._cs.currentChar);)this._cs.moveNext();t=8}if(t>0){const i=this._cs.getText().substr(e,this._cs.position-e),r=i.replace(/_/g,"");let s=parseInt(r.substr(n),t);if(!isNaN(s)){const t=BigInt(r);return isFinite(s)&&BigInt(s)===t||(s=t),this._tokens.push(hc.create(e,i.length,s,!0,!1,this._getComments())),!0}}}let t=!1,n=!1;if(this._cs.currentChar>=49&&this._cs.currentChar<=57){for(;Be(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().substr(e,this._cs.position-e);const n=t.replace(/_/g,"");let i=parseInt(n,10);if(!isNaN(i)){let r=!1;const s=BigInt(n);return isFinite(i)&&BigInt(i)===s||(i=s),106!==this._cs.currentChar&&74!==this._cs.currentChar||(r=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(hc.create(e,t.length,i,!0,r,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().substr(e,this._cs.position-e);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(hc.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(ac.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(mc.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();)(t=this._cs.currentChar)0&&(this._tokens.push(ac.create(0,e,n,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().substr(n,e).match(/\\\s*$/))break;n=this._cs.position+1}while(!this._cs.isEndOfStream());const i=this._cs.position-t,r=this._cs.getText().substr(t,i),s=oc.create(t,i,r,e);this._addComments(s)}_handleComment(){const e=this._cs.position+1;this._cs.skipToEol();const t=this._cs.position-e,n=this._cs.getText().substr(e,t),i=oc.create(e,t,n),r=n.match(/^\s*type:\s*ignore(\s|\[|$)/);if(r){const t={start:e,length:r[0].length};r[0].endsWith("[")&&t.length--,this._tokens.findIndex((e=>2!==e.type&&e&&3!==e.type))<0?this._typeIgnoreAll=t:this._typeIgnoreLines.set(this._lineRanges.length,t)}this._addComments(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().substr(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();Be(this._cs.currentChar);)this._cs.moveNext()}}class Jc{constructor(){this.isStubFile=!1,this.pythonVersion=Ae,this.reportInvalidStringEscapeSequence=!1,this.skipFunctionAndClassBody=!1,this.ipythonMode=!1}}const Yc=256;class Qc{constructor(){this._tokenIndex=0,this._areErrorsSuppressed=!1,this._parseOptions=new Jc,this._diagSink=new kc,this._isInLoop=!1,this._isInFunction=!1,this._isInFinally=!1,this._isParsingTypeAnnotation=!1,this._isParsingIndexTrailer=!1,this._futureImportMap=new Map,this._importedModules=[],this._containsWildcardImport=!1,this._assignmentExpressionsAllowed=!0,this._typingImportAliases=[],this._typingSymbolAliases=new Map}parseSourceFile(e,t,n){Fn.tokenizeFileTime.timeOperation((()=>{this._startNewParse(e,0,e.length,t,n)}));const i=Yn.create({start:0,length:e.length});return Fn.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(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=i,i.statements.push(t)):this._consumeTokensUntilType([2])}})),w(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,r=0,s=0,o){const a=new kc;let l;if(this._startNewParse(e,t,n,i,a,s),o&&(this._typingSymbolAliases=new Map(o)),1===r)l=this._parseTypeAnnotation();else if(2===r)l=this._parseFunctionTypeAnnotation();else{const e=this._parseTestOrStarExpressionList(!1,!0);e.parseError?l=e.parseError:(0===e.list.length&&this._addError(ml.Diagnostic.expectedExpr(),this._peekToken()),l=this._makeExpressionOrTuple(e,!1))}return 2===this._peekTokenType()&&this._getNextToken(),this._atEof()||this._addError(ml.Diagnostic.unexpectedExprToken(),this._peekToken()),{parseTree:l,lines:this._tokenizerOutput.lines,diagnostics:a.fetchAndClear()}}_startNewParse(e,t,n,i,r,s=0){this._fileContents=e,this._parseOptions=i,this._diagSink=r;const o=new Kc;this._tokenizerOutput=o.tokenize(e,t,n,s,this._parseOptions.ipythonMode),this._tokenIndex=0}_parseStatement(){switch(this._consumeTokenIfType(4)&&this._addError(ml.Diagnostic.unexpectedUnindent(),this._peekToken()),this._peekKeywordType()){case 20:return this._parseIfStatement();case 35:return this._parseWhileStatement();case 17:return this._parseForStatement();case 34:return this._parseTryStatement();case 36: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}}}return 22===this._peekOperatorType()?this._parseDecorated():this._parseSimpleStatement()}_parseAsyncStatement(){const e=this._getKeywordToken(3);switch(this._peekKeywordType()){case 10:return this._parseFunctionDef(e);case 36:return this._parseWithStatement(e);case 17:return this._parseForStatement(e)}this._addError(ml.Diagnostic.unexpectedAsyncToken(),e)}_parseMatchStatement(){let e=!1;if(this._suppressErrors((()=>{const t=this._tokenIndex;this._getKeywordToken(25);const n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.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,ml.Diagnostic.expectedReturnExpr()),i=sr.create(t,n),r=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(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.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(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}i.cases.length>0?Jn(i,i.cases[i.cases.length-1]):this._addError(ml.Diagnostic.zeroCaseStatementsFound(),t)}else this._addError(ml.Diagnostic.expectedNewline(),r);else this._addError(ml.Diagnostic.expectedColon(),r),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(ml.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(ml.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(ml.Diagnostic.starPatternInOrPattern(),e)})),this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?t=Ri.create(e):this._addError(ml.Diagnostic.expectedNameAfterAs(),this._peekToken())}t&&1===e.length&&69===e[0].nodeType&&e[0].isStar&&this._addError(ml.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))),r=new il;r.addMessage(ml.DiagnosticAddendum.orPatternMissingName().format({name:i.map((e=>`"${e}"`)).join(", ")})),this._addError(ml.Diagnostic.orPatternMissingName()+r.getString(),e)}})),lr.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,r=ur.create(i,n);return this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),r}const n=this._peekToken();if(26===this._peekOperatorType()){const e=this._getNextToken(),t=this._getTokenIfIdentifier();return t?dr.create(Ri.create(t),e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.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=ar.create(e,t.list);else{const r=t.list[0].orPatterns[0];i=69===r.nodeType&&r.isStar?ar.create(e,t.list):t.list[0],Jn(i,n)}const r=this._peekToken();return this._consumeTokenIfType(13===n.type?14:16)?Jn(i,r):(this._addError(13===n.type?ml.Diagnostic.expectedCloseParen():ml.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)?Jn(t,i):(this._addError(ml.Diagnostic.expectedCloseBrace(),n),this._consumeTokensUntilType([10,18])),t}return this._handleExpressionParseError(11,ml.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(ml.Diagnostic.positionArgAfterNamedArg(),i),e.push(i),!this._consumeTokenIfType(12))break}return e}_parseClassPatternArgument(){const e=this._peekToken(),t=this._peekToken(1);let n;7!==e.type&&8!==e.type||9!==t.type||2!==t.operatorType||(this._getNextToken(),n=Ri.create(e),this._getNextToken());const i=this._parsePatternAs();return pr.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 w(48===e.nodeType),e.strings.forEach((e=>{64&e.token.flags&&this._addError(ml.Diagnostic.formatStringInPattern(),e)})),cr.create(e)}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||26===t.keywordType)return cr.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(ml.Diagnostic.expectedComplexNumberLiteral(),e),n=void 0)),n&&(55===n.nodeType&&33===n.operator&&(n=n.expression),40===n.nodeType&&n.isImaginary||this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e)),cr.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(ml.Diagnostic.duplicateStarStarPattern(),n[1]),hr.create(e,t.list)}return t.parseError||di.create(this._peekToken(),11)}_parsePatternMappingItem(){let e;const t=this._peekToken();if(this._consumeTokenIfOperator(29)){const e=this._getTokenIfIdentifier();if(!e)return this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11);const n=Ri.create(e);return"_"===e.value&&this._addError(ml.Diagnostic.starStarWildcardNotAllowed(),n),fr.create(t,n)}const n=this._parsePatternLiteral();if(n)e=n;else{const t=this._parsePatternCaptureOrValue();t&&(73===t.nodeType?e=t:(this._addError(ml.Diagnostic.expectedPatternValue(),t),e=di.create(this._peekToken(),11)))}let i;return e||(this._addError(ml.Diagnostic.expectedPatternExpr(),this._peekToken()),e=di.create(this._peekToken(),11)),this._consumeTokenIfType(10)?i=this._parsePatternAs():(this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=di.create(this._peekToken(),11)),mr.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(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}{const n=Ri.create(t);e=e?Ai.create(e,n):n}if(!this._consumeTokenIfType(20))break}return e?35===e.nodeType?gr.create(e):dr.create(e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11))}}_parseIfStatement(e=20){const t=this._getKeywordToken(e),n=this._parseTestExpression(!0),i=this._parseSuite(this._isInFunction),r=Zn.create(t,n,i);return this._consumeTokenIfKeyword(13)?(r.elseSuite=this._parseSuite(this._isInFunction),r.elseSuite.parent=r,Jn(r,r.elseSuite)):12===this._peekKeywordType()&&(r.elseSuite=this._parseIfStatement(12),r.elseSuite.parent=r,Jn(r,r.elseSuite)),r}_parseLoopSuite(){const e=this._isInLoop,t=this._isInFinally;this._isInLoop=!0,this._isInFinally=!1;const n=this._parseSuite(this._isInFunction);return this._isInLoop=e,this._isInFinally=t,n}_parseSuite(e=!1,t=!1,n){const i=this._peekToken(),r=Qn.create(i);if(!this._consumeTokenIfType(10)&&(9===i.type?2===this._peekOperatorType()&&this._addError(ml.Diagnostic.expectedEqualityOperator(),i):this._addError(ml.Diagnostic.expectedColon(),i),this._consumeTokensUntilType([2,10])))if(10===this._peekTokenType())this._getNextToken();else if(3!==this._peekToken(1).type)return this._getNextToken(),r;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(ml.Diagnostic.inconsistentTabs(),t),e--,0===e))break;if(1===t.type)break}}else this._parseSimpleStatement();return this._tokenIndex>0&&Jn(r,this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1)),r}n&&n();const s=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(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=r,r.statements.push(t)):this._consumeTokensUntilType([2]);const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}}else{const e=this._parseSimpleStatement();r.statements.push(e),e.parent=r}return r.statements.length>0&&Jn(r,r.statements[r.statements.length-1]),this._isInFunction=s,r}_parseForStatement(e){const t=this._getKeywordToken(17),n=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),t);let i,r,s;if(this._consumeTokenIfKeyword(22)){if(i=this._parseTestOrStarListAsExpression(!1,!0,2,ml.Diagnostic.expectedInExpr()),r=this._parseLoopSuite(),this._getLanguageVersion(){56!==t.nodeType||e||(this._addError(ml.Diagnostic.unpackOperatorNotAllowed(),t),e=!0)}))}this._consumeTokenIfKeyword(13)&&(s=this._parseSuite(this._isInFunction))}else i=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn()),r=Qn.create(this._peekToken());const o=ei.create(t,n,i,r);return o.elseSuite=s,s&&(Jn(o,s),s.parent=o),e&&(o.isAsync=!0,o.asyncToken=e,Jn(o,e)),o}_tryParseListComprehension(e){const t=this._tryParseCompForStatement();if(!t)return;56===e.nodeType?this._addError(ml.Diagnostic.unpackIllegalInComprehension(),e):16===e.nodeType&&this._addError(ml.Diagnostic.dictExpandIllegalInComprehension(),e);const n=Ci.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})),Jn(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,ml.Diagnostic.expectedExpr(),n);let r;this._consumeTokenIfKeyword(22)?this._disallowAssignmentExpression((()=>{r=this._parseOrTest()})):r=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn());const s=ti.create(t||n,i,r);return t&&(s.isAsync=!0,s.asyncToken=t),s}_tryParseCompIfStatement(){if(20!==this._peekKeywordType())return;const e=this._getKeywordToken(20),t=this._tryParseLambdaExpression()||this._parseAssignmentExpression(!0);return ni.create(e,t)}_parseWhileStatement(){const e=this._getKeywordToken(35),t=Xn.create(e,this._parseTestExpression(!0),this._parseLoopSuite());return this._consumeTokenIfKeyword(13)&&(t.elseSuite=this._parseSuite(this._isInFunction),t.elseSuite.parent=t,Jn(t,t.elseSuite)),t}_parseTryStatement(){const e=this._getKeywordToken(34),t=this._parseSuite(this._isInFunction),n=ii.create(e,t);let i=!1;for(;;){const e=this._peekToken();if(!this._consumeTokenIfKeyword(14))break;const t=this._peekToken();let r,s,o=!1;if(this._consumeTokenIfOperator(26)&&(this._getLanguageVersion()0&&(Jn(n,n.exceptClauses[n.exceptClauses.length-1]),this._consumeTokenIfKeyword(13)&&(n.elseSuite=this._parseSuite(this._isInFunction),n.elseSuite.parent=n,Jn(n,n.elseSuite))),this._consumeTokenIfKeyword(16)&&(n.finallySuite=this._parseSuite(this._isInFunction),n.finallySuite.parent=n,Jn(n,n.finallySuite)),n.finallySuite||0!==n.exceptClauses.length||this._addError(ml.Diagnostic.tryWithoutExcept(),e),n}_parseFunctionDef(e,t){const n=this._getKeywordToken(10),i=this._getTokenIfIdentifier();if(!i)return this._addError(ml.Diagnostic.expectedFunctionName(),n),di.create(n,10,void 0,t);const r=this._peekToken();if(!this._consumeTokenIfType(13))return this._addError(ml.Diagnostic.expectedOpenParen(),this._peekToken()),di.create(i,10,Ri.create(i),t);const s=this._parseVarArgsList(14,!0);let o,a;this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),r),this._consumeTokensUntilType([10])),this._consumeTokenIfType(21)&&(o=this._parseTypeAnnotation());const l=this._parseSuite(!0,this._parseOptions.skipFunctionAndClassBody,(()=>{a||(a=this._getTypeAnnotationCommentText())})),c=si.create(n,Ri.create(i),l);return e&&(c.isAsync=!0,Jn(c,e)),c.parameters=s,s.forEach((e=>{e.parent=c})),t&&(c.decorators=t,t.forEach((e=>{e.parent=c})),t.length>0&&Jn(c,t[0])),o&&(c.returnTypeAnnotation=o,c.returnTypeAnnotation.parent=c,Jn(c,o)),a&&this._parseFunctionTypeAnnotationComment(a,c),c}_parseVarArgsList(e,t){const n=new Map,i=[];let r=!1,s=!1,o=!1,a=!1,l=!1,c=!1;for(;this._peekTokenType()!==e;){const u=this._parseParameter(t);if(!u){this._consumeTokensUntilType([e]);break}if(u.name){const e=u.name.value;n.has(e)?this._addError(ml.Diagnostic.duplicateParam().format({name:e}),u.name):n.set(e,e)}else 0===u.category&&0===i.length&&this._addError(ml.Diagnostic.positionOnlyFirstParam(),u);0===u.category&&(u.name?u.defaultValue?r=!0:!r||o||l||s||(this._addError(ml.Diagnostic.nonDefaultAfterDefault(),u),s=!0):(a?this._addError(ml.Diagnostic.duplicatePositionOnly(),u):o?this._addError(ml.Diagnostic.positionOnlyAfterKeywordOnly(),u):l&&this._addError(ml.Diagnostic.positionOnlyAfterArgs(),u),a=!0)),i.push(u),1===u.category&&(u.name?((o||l)&&this._addError(ml.Diagnostic.duplicateArgsParam(),u),l=!0):(o?this._addError(ml.Diagnostic.duplicateKeywordOnly(),u):l&&this._addError(ml.Diagnostic.keywordOnlyAfterArgs(),u),o=!0)),2===u.category?(c&&this._addError(ml.Diagnostic.duplicateKwargsParam(),u),c=!0):c&&this._addError(ml.Diagnostic.paramAfterKwargsParam(),u);const p=this._consumeTokenIfType(12);if(t&&!u.typeAnnotation){const e=this._parseVariableTypeAnnotationComment();e&&(u.typeAnnotationComment=e,u.typeAnnotationComment.parent=u,Jn(u,u.typeAnnotationComment))}if(!p)break}if(i.length>0){const e=i[i.length-1];1!==e.category||e.name||this._addError(ml.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(ml.Diagnostic.defaultValueNotAllowed(),o.defaultValue)),o}_parseWithStatement(e){const t=this._getKeywordToken(36);let n=[];const i=this._peekToken();let 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(){e.parent=o})),o}_parseWithItem(){const e=this._parseTestExpression(!0),t=ci.create(e);return this._consumeTokenIfKeyword(1)&&(t.target=this._parseExpression(!1),t.target.parent=t,Jn(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(ml.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(ml.Diagnostic.expectedAfterDecorator(),this._peekToken()),ai.createDummyForDecorators(e)}_parseDecorator(){const e=this._getNextToken();w(22===e.operatorType);const t=this._parseTestExpression(!0);if(this._getLanguageVersion(){e.parent=o})),e&&(o.decorators=e,e.length>0&&(e.forEach((e=>{e.parent=o})),Jn(o,e[0]))),o}_parsePassStatement(){return Hi.create(this._getKeywordToken(30))}_parseBreakStatement(){const e=this._getKeywordToken(5);return this._isInLoop||this._addError(ml.Diagnostic.breakOutsideLoop(),e),tr.create(e)}_parseContinueStatement(){const e=this._getKeywordToken(8);return this._isInLoop?this._isInFinally&&this._addError(ml.Diagnostic.continueInFinally(),e):this._addError(ml.Diagnostic.continueOutsideLoop(),e),nr.create(e)}_parseReturnStatement(){const e=this._getKeywordToken(32),t=ir.create(e);if(this._isInFunction||this._addError(ml.Diagnostic.returnOutsideFunction(),e),!this._isNextTokenNeverExpression()){const e=this._parseTestOrStarListAsExpression(!0,!0,2,ml.Diagnostic.expectedReturnExpr());this._reportConditionalErrorForStarTupleElement(e),t.returnExpression=e,t.returnExpression.parent=t,Jn(t,e)}return t}_parseFromStatement(){const e=this._getKeywordToken(18),t=this._parseDottedModuleName(!0),n=Yi.create(e,t),i=0===t.leadingDots&&1===t.nameParts.length&&"__future__"===t.nameParts[0].value,r=this._peekToken();if(this._consumeTokenIfKeyword(21)){Jn(n,r);const e=this._peekToken();if(this._consumeTokenIfOperator(26))Jn(n,e),n.isWildcardImport=!0,n.wildcardToken=e,this._containsWildcardImport=!0;else{const e=this._peekToken(),t=this._consumeTokenIfType(13);let r;for(;;){const e=this._getTokenIfIdentifier();if(!e)break;r=void 0;const t=Qi.create(Ri.create(e));if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(t.alias=Ri.create(e),t.alias.parent=t,Jn(t,e)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}n.imports.push(t),t.parent=n,Jn(n,t),i&&this._futureImportMap.set(e.value,!0);const s=this._peekToken();if(!this._consumeTokenIfType(12))break;r=s}if(0===n.imports.length&&this._addError(ml.Diagnostic.expectedImportSymbols(),this._peekToken()),t){n.usesParens=!0;const t=this._peekToken();this._consumeTokenIfType(14)?Jn(n,t):this._addError(ml.Diagnostic.expectedCloseParen(),e)}else r&&this._addError(ml.Diagnostic.trailingCommaInFromImport(),r)}}else this._addError(ml.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 s=!1;if(1===n.module.nameParts.length){const e=n.module.nameParts[0].value;"typing"!==e&&"typing_extensions"!==e||(s=!0)}if(s){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=Gi.create(t);for(;;){const t=this._parseDottedModuleName(),i=Ji.create(t);if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(i.alias=Ri.create(e),i.alias.parent=i,Jn(i,i.alias)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}if(i.module.leadingDots>0&&this._addError(ml.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&&Jn(n,n.list[n.list.length-1]),n}_parseDottedModuleName(e=!1){var t;const n=Ki.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++,Jn(n,e)}for(;;){const t=this._getTokenIfIdentifier();if(!t){(!e||0===n.leadingDots||n.nameParts.length>0)&&(this._addError(ml.Diagnostic.expectedModuleName(),this._peekToken()),n.hasTrailingDot=!0);break}const i=Ri.create(t);n.nameParts.push(i),i.parent=n,Jn(n,i);const r=this._peekToken();if(!this._consumeTokenIfType(20))break;Jn(n,r)}return n}_parseGlobalStatement(){const e=this._getKeywordToken(19),t=Zi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNonlocalStatement(){const e=this._getKeywordToken(27),t=Xi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNameList(){const e=[];for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}if(e.push(Ri.create(t)),!this._consumeTokenIfType(12))break}return e}_parseRaiseStatement(){const e=this._getKeywordToken(31),t=rr.create(e);return this._isNextTokenNeverExpression()||(t.typeExpression=this._parseTestExpression(!0),t.typeExpression.parent=t,Jn(t,t.typeExpression),this._consumeTokenIfKeyword(18)?(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression)):this._consumeTokenIfType(12)&&(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression),this._consumeTokenIfType(12)&&(t.tracebackExpression=this._parseTestExpression(!0),t.tracebackExpression.parent=t,Jn(t,t.tracebackExpression)))),t}_parseAssertStatement(){const e=this._getKeywordToken(2),t=this._parseTestExpression(!0),n=er.create(e,t);if(this._consumeTokenIfType(12)){const e=this._parseTestExpression(!0);n.exceptionExpression=e,n.exceptionExpression.parent=n,Jn(n,e)}return n}_parseDelStatement(){const e=this._getKeywordToken(11),t=this._parseExpressionList(!0);t.parseError||0!==t.list.length||this._addError(ml.Diagnostic.expectedDelExpr(),this._peekToken());const n=$i.create(e);return n.expressions=t.list,n.expressions.length>0&&(n.expressions.forEach((e=>{e.parent=n})),Jn(n,n.expressions[n.expressions.length-1])),n}_parseYieldExpression(){const e=this._getKeywordToken(37),t=this._peekToken();if(this._consumeTokenIfKeyword(18))return this._getLanguageVersion()0?e.list[0]:this._peekToken(-1),i=Si.create(n,t);return i.expressions=e.list,e.list.length>0&&(e.list.forEach((e=>{e.parent=i})),Jn(i,e.list[e.list.length-1])),i}_parseExpressionListAsPossibleTuple(e,t,n){if(this._isNextTokenNeverExpression())return this._addError(t,n),di.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 r=this._parseTestOrStarExpressionList(e,t);return r.parseError?r.parseError:this._makeExpressionOrTuple(r,!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(ml.Diagnostic.duplicateUnpack(),t);break}e=!0}}return n}_parseExpression(e){const t=this._peekToken();return e&&this._consumeTokenIfOperator(26)?Ii.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,ml.Diagnostic.expectedElse());const i=this._parseTestExpression(!0);return 0===i.nodeType?i:bi.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(ml.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(ml.Diagnostic.generatorNotParenthesized(),e.valueExpression))}));const s=this._peekToken();let o=!1;if(this._consumeTokenIfType(14)?(Jn(r,s),o=!0):(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),this._isParsingTypeAnnotation=n,this._isParsingTypeAnnotation){const e=new il;38===t.nodeType&&"type"===t.value&&(e.addMessage(ml.DiagnosticAddendum.useTypeInstead()),this._addError(ml.Diagnostic.typeCallNotAllowed()+e.getString(),r))}if(t=r,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.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 r=this._parseSubscriptList();this._isParsingTypeAnnotation=i,this._isParsingIndexTrailer=n;const s=this._peekToken(),o=wi.create(t,r.list,r.trailingComma,s);Jn(o,o),this._consumeTokenIfType(16)||this._handleExpressionParseError(6,ml.Diagnostic.expectedCloseBracket(),e,o),t=o,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}else{if(!this._consumeTokenIfType(20))break;{const n=this._getTokenIfIdentifier();if(!n)return this._handleExpressionParseError(7,ml.Diagnostic.expectedMemberName(),e,t);t=Ai.create(t,Ri.create(n)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}}}return e?Ti.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 r=0;this._consumeTokenIfOperator(26)?r=1:this._consumeTokenIfOperator(29)&&(r=2);const s=this._tokenIndex;let o,a=this._parsePossibleSlice();if(0===r)if(this._consumeTokenIfOperator(2)){const e=a;a=this._parsePossibleSlice(),38===e.nodeType?o=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else 38===a.nodeType&&35===this._peekOperatorType()&&(this._tokenIndex=s,a=this._parseTestExpression(!0),!this._parseOptions.isStubFile&&this._getLanguageVersion()=De.V3_11;2!==r&&e||this._addError(ml.Diagnostic.unpackedSubscriptIllegal(),l)}if(!this._consumeTokenIfType(12)){n=!1;break}n=!0}if(0===e.length){const t=this._handleExpressionParseError(3,ml.Diagnostic.expectedSliceIndex(),void 0,void 0,[16]);e.push(zi.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]:di.create(this._peekToken(),3);const r=Ei.create(e);r.startValue=t[0],r.startValue&&(r.startValue.parent=r),r.endValue=t[1],r.endValue&&(r.endValue.parent=r),r.stepValue=t[2],r.stepValue&&(r.stepValue.parent=r);const s=t[2]||t[1]||t[0];return s&&Jn(r,s),r}_parseArgList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekTokenType();if(14===i||2===i||1===i)break;n=!1;const r=this._parseArgument();if(r.name?t=!0:t&&0===r.argumentCategory&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),r),e.push(r),!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(ml.Diagnostic.expectedParamName(),e)}else{const e=this._tryParseListComprehension(i);e&&(i=e)}const r=zi.create(e,i,t);return n&&(r.name=Ri.create(n),r.name.parent=r),r}_parseAtom(){const e=this._peekToken();if(19===e.type)return Ni.create(this._getNextToken());if(6===e.type)return Mi.create(this._getNextToken());if(7===e.type)return Ri.create(this._getNextToken());if(5===e.type)return this._parseStringList();if(22===e.type){this._getNextToken(),this._addError(ml.Diagnostic.backticksIllegal(),e);const t=this._parseTestListAsExpression(2,ml.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 il;t.addMessage(ml.DiagnosticAddendum.useTupleInstead()),this._addError(ml.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 il;t.addMessage(ml.DiagnosticAddendum.useListInstead()),this._addError(ml.Diagnostic.listInAnnotation()+t.getString(),e)}return e}if(17===e.type){const e=this._parseDictionaryOrSetAtom();if(this._isParsingTypeAnnotation){const t=new il;t.addMessage(ml.DiagnosticAddendum.useDictInstead()),this._addError(ml.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 Fi.create(this._getNextToken());const n=this._getTokenIfIdentifier();if(n)return Ri.create(n)}return this._handleExpressionParseError(2,ml.Diagnostic.expectedExpr())}_handleExpressionParseError(e,t,n,i,r){this._addError(t,null!=n?n:this._peekToken());const s=di.create(this._peekToken(),e,i),o=[2];return r&&o.push(...r),this._consumeTokensUntilType(o),s}_parseLambdaExpression(e=!0){const t=this._getKeywordToken(24),n=this._parseVarArgsList(10,!1);let i;this._consumeTokenIfType(10)||this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=e?this._parseTestExpression(!1):this._tryParseLambdaExpression(!1)||this._parseOrTest();const r=Pi.create(t,i);return r.parameters=n,n.forEach((e=>{e.parent=r})),r}_tryParseLambdaExpression(e=!0){if(24===this._peekKeywordType())return this._parseLambdaExpression(e)}_parseTupleAtom(){var e;const t=this._getNextToken();w(13===t.type);const n=this._tryParseYieldExpression();if(n)return 14!==this._peekTokenType()?this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,n):(Jn(n,this._getNextToken()),n);const i=this._parseTestListWithComprehension(),r=this._makeExpressionOrTuple(i,!0),s=1===i.list.length&&!i.trailingComma;if(s||Jn(r,t),14!==this._peekTokenType())return this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,null!==(e=i.parseError)&&void 0!==e?e:r);{const e=this._getNextToken();s||Jn(r,e)}return r}_parseListAtom(){var e;const t=this._getNextToken();w(15===t.type);const n=this._parseTestListWithComprehension(),i=this._peekToken();return this._consumeTokenIfType(16)?r():this._handleExpressionParseError(9,ml.Diagnostic.expectedCloseBracket(),t,null!==(e=n.parseError)&&void 0!==e?e:r());function r(){const e=ji.create(t);return i&&Jn(e,i),n.list.length>0&&(n.list.forEach((t=>{t.parent=e})),Jn(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();w(17===e.type);const t=[],n=[];let i,r=!1,s=!1,o=!1,a=!0;for(;18!==this._peekTokenType();){let e,l,c;i=void 0;const u=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(ml.Diagnostic.unpackInDict(),l),s)this._addError(ml.Diagnostic.keyValueInSet(),c);else{const e=Vi.create(l,c);let n=e;const i=this._tryParseListComprehension(e);i&&(n=i,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),n)),t.push(n),r=!0}else if(e)if(s)this._addError(ml.Diagnostic.unpackInSet(),e);else{const n=Bi.create(e);Jn(n,u);let i=n;const s=this._tryParseListComprehension(n);s&&(i=s,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),e)),t.push(i),r=!0}else if(w(void 0!==l),l)if(r){const e=di.create(this._peekToken(),13),n=Vi.create(l,e);t.push(n),this._addError(ml.Diagnostic.dictKeyValuePairs(),l)}else{const e=this._tryParseListComprehension(l);e&&(l=e,o=!0,a||this._addError(ml.Diagnostic.comprehensionInSet(),l)),n.push(l),s=!0}if(o)break;if(12!==this._peekTokenType())break;i=this._getNextToken(),a=!1}let l=this._peekToken();if(this._consumeTokenIfType(18)||(this._addError(ml.Diagnostic.expectedCloseBrace(),e),l=void 0),s){const t=Wi.create(e);return l&&Jn(t,l),n.length>0&&Jn(t,n[n.length-1]),n.forEach((e=>{e.parent=t})),t.entries=n,t}const c=qi.create(e);return i&&(c.trailingCommaToken=i,Jn(c,i)),l&&Jn(c,l),t.length>0&&(t.forEach((e=>{e.parent=c})),Jn(c,t[t.length-1])),c.entries=t,c}_parseExpressionListGeneric(e,t=(()=>this._isNextTokenNeverExpression()),n=(()=>!1)){let i=!1;const r=[];let s;for(;!t();){const t=e();if(0===t.nodeType){s=t;break}if(r.push(t),n())break;if(!this._consumeTokenIfType(12)){i=!1;break}i=!0}return{trailingComma:i,list:r,parseError:s}}_parseExpressionStatement(){let e,t=this._parseTestOrStarListAsExpression(!1,!1,2,ml.Diagnostic.expectedExpr());if(0===t.nodeType)return t;if(this._consumeTokenIfType(10)){if(e=this._parseTypeAnnotation(),t=yi.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 r=e.start+e.length+n[1].length;return dc.create(r,i.length,0,i,0,void 0)}_parseVariableTypeAnnotationComment(){const e=this._getTypeAnnotationCommentText();if(!e)return;const t=this._makeStringNode(e),n=Ui.create([t]),i=(new Qc).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?i.parseTree:void 0}_parseFunctionTypeAnnotationComment(e,t){const n=this._makeStringNode(e),i=Ui.create([n]),r=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,2,void 0,this._typingSymbolAliases);if(r.diagnostics.forEach((e=>{this._addError(e.message,i)})),!r.parseTree||62!==r.parseTree.nodeType)return;const s=r.parseTree;t.functionAnnotationComment=s,s.parent=t,Jn(t,s)}_parseFormatStringSegment(e,t,n,i){w(t.isExpression);const r=(new Qc).parseTextExpression(this._fileContents,e.start+e.prefixLength+e.quoteMarkLength+t.offset+n,i,this._parseOptions,0,1,this._typingSymbolAliases);return r.diagnostics.forEach((t=>{const n=(t.range?xt(t.range.start,r.lines):e.start)||e.start,i={start:n,length:((t.range?(xt(t.range.end,r.lines)||0)+1:e.start+e.length)||e.start+e.length)-n};this._addError(t.message,i)})),r.parseTree}_parseFormatString(e){const t=Vc(e);this._reportStringTokenErrors(e,t);const n=[];for(const i of t.formatStringSegments)if(i.isExpression){const t=this._getFormatStringExpressionLength(i.value.trimEnd()),r=this._parseFormatStringSegment(e,i,0,t);r&&n.push(r);const s=i.value.substr(t);let o=0,a=0;for(let r=0;r0&&(o--,0===o)){const s=this._getFormatStringExpressionLength(i.value.substr(t+a,r-a)),o=this._parseFormatStringSegment(e,i,t+a,s);o&&n.push(o)}}return Li.create(e,t.value,t.unescapeErrors.length>0,n)}_getFormatStringExpressionLength(e){let t=0;const n=[];let i,r=0,s=0,o=0;for(;t0||r>0||s>0||o>0,c=n.length>0;if("="===a)i=t;else{if(":"===a){if(!l)break}else if("!"===a){if(!l&&(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?c||s++:")"===a?!c&&s>0&&s--:"{"===a?c||r++:"}"===a?!c&&r>0&&r--:"["===a?c||o++:"]"===a&&!c&&o>0&&o--;" "!==a&&(i=void 0)}t++}return this._parseOptions.pythonVersion>=De.V3_8&&void 0!==i&&(t=i),t}_createBinaryOperationNode(e,t,n,i){return void 0!==e.maxChildDepth&&e.maxChildDepth>=Yc&&(e=di.create(e,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),e)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),mi.create(e,t,n,i)}_createUnaryOperationNode(e,t,n){return void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),hi.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=Ui.create(e);if(this._isParsingTypeAnnotation)if(t.strings.length>1)this._addError(ml.Diagnostic.annotationSpansStrings(),t);else if(64&t.strings[0].token.flags)this._addError(ml.Diagnostic.annotationFormatString(),t);else{const e=t.strings[0].token,n=Vc(t.strings[0].token).value,i=e.start,r=e.prefixLength+e.quoteMarkLength;if(n.length!==e.length-r-e.quoteMarkLength)this._addError(ml.Diagnostic.annotationStringEscape(),t);else{const e=(new Qc).parseTextExpression(this._fileContents,i+r,n.length,this._parseOptions,1,0!=(4&t.strings[0].token.flags)?1:0,this._typingSymbolAliases);e.diagnostics.forEach((e=>{this._addError(e.message,t)})),e.parseTree&&(t.typeAnnotation=e.parseTree,t.typeAnnotation.parent=t)}}return t}_reportConditionalErrorForStarTupleElement(e){if(52===e.nodeType&&!(e.enclosedInParens||this._parseOptions.pythonVersion>=De.V3_8))for(const t of e.expressions)if(56===t.nodeType)return void this._addError(ml.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(ml.Diagnostic.invalidIdentifierChar(),e),fc.create(e.start,e.length,"",e.comments);if(8===e.type){const t=this._peekKeywordType();if([9,25,6].find((e=>e===t))){const t=this._fileContents.substr(e.start,e.length);return this._getNextToken(),fc.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 w(8===t.type),w(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){w(void 0!==t),this._areErrorsSuppressed||this._diagSink.addError(e,St(t.start,t.start+t.length,this._tokenizerOutput.lines))}}class Zc{constructor(e,t){this.symbolTable=new Map,this.notLocalBindings=new Map,this.type=e,this.parent=t}getGlobalScope(){let e=this;for(;e;){if(3===e.type||4===e.type)return e;e=e.parent}return E("failed to find scope"),this}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 r;if(r=1===this.notLocalBindings.get(e)?this.getGlobalScope():this.parent,r)return r.lookUpSymbolRecursive(e,t||3===this.type,n||this.isIndependentlyExecutable())}addSymbol(e,t){const n=new qo(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}}function Xc(e,t,n,i){if(4===e.nodeType)return Xc(e.rightExpression,t,n,i);if(55===e.nodeType){if(37===e.operator||36===e.operator){const r=eu(e.expression,t,n,i);if(void 0!==r)return!r}}else if(7===e.nodeType){if(37===e.operator||36===e.operator){const r=Xc(e.leftExpression,t,n,i),s=Xc(e.rightExpression,t,n,i);if(void 0===r||void 0===s)return;return 37===e.operator?r||s:r&&s}if(iu(e.leftExpression,i)&&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 tu(e.operator,t.pythonVersion,n)}if(24===e.leftExpression.nodeType&&iu(e.leftExpression.baseExpression,i)&&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 tu(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,i)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===rc.Darwin?"darwin":e.pythonPlatform===rc.Windows?"win32":e.pythonPlatform===rc.Linux?"linux":void 0}(t);return nu(e.operator,i,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(""),i=function(e){return e.pythonPlatform===rc.Darwin?"posix":e.pythonPlatform===rc.Windows?"nt":e.pythonPlatform===rc.Linux?"posix":void 0}(t);if(void 0!==i)return nu(e.operator,i,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}else if(n&&35===e.nodeType&&"TYPE_CHECKING"===e.memberName.value&&38===e.leftExpression.nodeType&&n.some((t=>t===e.leftExpression.value)))return!0}function eu(e,t,n,i){return(11!==e.nodeType||26!==e.constType)&&Xc(e,t,n,i)}function tu(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 nu(e,t,n){if(void 0!==t&&void 0!==n){if(12===e)return t===n;if(28===e)return t!==n}}function iu(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"version_info"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}class ru extends _r{constructor(e,t=!1){super(),this._moduleSymbolOnly=t,this._deferredBindingTasks=[],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._functionCodeFlowComplexity=0,this._fileInfo=e}bindModule(e){var t;const n=void 0===this._fileInfo.builtinsScope;this._createNewScope(n?4:3,this._fileInfo.builtinsScope,(()=>{Nt(e,this._currentScope),Ut(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),Bt(e,this._currentScopeCodeFlowExpressions),qt(e,this._currentFlowNode)})),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?jt(e,{names:this._dunderAllNames,stringNodes:this._dunderAllStringNodes,usesUnsupportedDunderAllForm:this._usesUnsupportedDunderAllForm}):jt(e,void 0);const i=Ft(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 E("We should never get here"),!1}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitModuleName(e){const t=Rt(e);if(w(void 0!==t),!t||t.isNativeLib)return!0;if(!t.isImportFound)return this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingImports,$o.reportMissingImports,ml.Diagnostic.importResolveFailure().format({importName:t.importName}),e),!0;if(!t.isStubFile&&1===t.importType&&!t.pyTypedInfo){const n=this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingTypeStubs,$o.reportMissingTypeStubs,ml.Diagnostic.stubFileMissing().format({importName:t.importName}),e);if(n){const e={action:"pyright.createtypestub",moduleName:t.importName};n.addAction(e)}}return t.isStubFile&&0!==t.importType&&t.nonStubImportResult&&!t.nonStubImportResult.isImportFound&&(this._fileInfo.isStubFile||this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingModuleSource,$o.reportMissingModuleSource,ml.Diagnostic.importSourceResolveFailure().format({importName:t.importName}),e)),!0}visitClass(e){this.walkMultiple(e.decorators);const t={type:4,node:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},n=this._bindNameToScope(this._currentScope,e.name.value);n&&n.addDeclaration(t),Ot(e,t),this.walkMultiple(e.arguments);let i=this._currentScope;for(;2===i.type;)i=i.parent;return this._createNewScope(2,i,(()=>{Nt(e,this._currentScope),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__module__",e,"str"),this._moduleSymbolOnly||this.walk(e.suite)})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitFunction(e){Ut(e,this._currentFlowNode);const t=this._bindNameToScope(this._currentScope,e.name.value),n=Er(e,!0),i={type:3,node:e,isMethod:!!n,isGenerator:!1,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};return t&&t.addDeclaration(i),Ot(e,i),this.walkMultiple(e.decorators),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue),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(),(()=>{Nt(e,this._currentScope),Er(e)&&this._addImplicitSymbolToCurrentScope("__class__",e,"class"),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),this._functionCodeFlowComplexity=0,e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name)}})),this._targetFunctionDeclaration=i,this._currentReturnTarget=this._createBranchLabel(),this.walk(e.suite),qt(e.suite,this._currentFlowNode),this._addAntecedent(this._currentReturnTarget,this._currentFlowNode);const t=this._finishFlowLabel(this._currentReturnTarget);qt(e,t),Bt(e,this._currentScopeCodeFlowExpressions),function(e,t){e.codeFlowComplexity=t}(e,this._functionCodeFlowComplexity)}))})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitLambda(e){return Ut(e,this._currentFlowNode),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue)})),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name),this.walk(e.name)}})),this.walk(e.expression),Bt(e,this._currentScopeCodeFlowExpressions)}))})),!1}visitCall(e){var t,n;if(this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walkMultiple(e.arguments)})),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 r=e.arguments[0].valueExpression;48===r.nodeType&&1===r.strings.length&&49===r.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(r.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(r.strings[0]),i=!1)}i&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!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)),this.walk(e.rightExpression);let t=!0;if((kr(e)||9===e.rightExpression.nodeType&&this._fileInfo.isTypingStubFile||function(e){let t=e;for(;t;){switch(t.nodeType){case 26:case 57:return!0}t=t.parent}return!1}(e))&&(t=!1),this._addInferredTypeAssignmentForVariable(e.leftExpression,e.rightExpression,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,$o.reportUnsupportedDunderAll,ml.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,n=[];let i=!0;48===t.nodeType?n.push(t):31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):i=!1,i&&this._addSlotsToCurrentScope(n)}return!1}visitAssignmentExpression(e){this._disableTrueFalseTargets((()=>{this.walk(e.rightExpression)}));const t=function(e){let t=!1,n=Ar(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=Ar(n.parent);break;default:return}}(e);if(t){const n=Ft(t);let i=this._currentScope;for(;i&&i!==n;){if(i.lookUpSymbol(e.name.value)){this._addError(ml.Diagnostic.assignmentExprComprehension().format({name:e.name.value}),e.name);break}i=i.parent}this._bindNameToScope(n,e.name.value),this._addInferredTypeAssignmentForVariable(e.name,e.rightExpression),this._createAssignmentTargetFlowNodes(e.name,!0,!1)}else this._addError(ml.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,$o.reportUnsupportedDunderAll,ml.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=At(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();if(this._addAntecedent(t,this._currentFlowNode),this._currentFlowNode=t,this._addAntecedent(n,this._currentFlowNode),this._createAssignmentTargetFlowNodes(e.targetExpression,!0,!1),this._bindLoopStatement(t,i,(()=>{this.walk(e.forSuite),this._addAntecedent(t,this._currentFlowNode)})),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=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}return!1}visitContinue(e){return this._currentContinueTarget&&this._addAntecedent(this._currentContinueTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitBreak(e){return this._currentBreakTarget&&this._addAntecedent(this._currentBreakTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitReturn(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.returnStatements||(this._targetFunctionDeclaration.returnStatements=[]),this._targetFunctionDeclaration.returnStatements.push(e)),e.returnExpression&&this.walk(e.returnExpression),Ut(e,this._currentFlowNode),this._currentReturnTarget&&this._addAntecedent(this._currentReturnTarget,this._currentFlowNode),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitYield(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitYieldFrom(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitMemberAccess(e){return Ut(e,this._currentFlowNode),!0}visitName(e){return Ut(e,this._currentFlowNode),!1}visitIndex(e){return Ut(e,this._currentFlowNode),!0}visitIf(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{const t=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);this._bindConditional(e.testExpression,n,i),this._currentFlowNode=!1===t?ru._unreachableFlowNode:this._finishFlowLabel(n),this.walk(e.ifSuite),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=!0===t?ru._unreachableFlowNode:this._finishFlowLabel(i),e.elseSuite?this.walk(e.elseSuite):this._bindNeverCondition(e.testExpression,r,!1),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitWhile(e){const t=this._createBranchLabel(),n=this._createBranchLabel(),i=this._createBranchLabel(),r=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases),s=this._createLoopLabel();return this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=s,this._bindConditional(e.testExpression,t,n),this._currentFlowNode=!1===r?ru._unreachableFlowNode:this._finishFlowLabel(t),this._bindLoopStatement(s,i,(()=>{this.walk(e.whileSuite)})),this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=!0===r?ru._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.value);if(this._createAssignmentTargetFlowNodes(e.name,!0,!1),t){const n={type:1,node:e.name,isConstant:Zt(e.name.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.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=ru._unreachableFlowNode,!1}visitTry(e){const t=this._currentFlowNode,n=e.exceptClauses.map((()=>this._createBranchLabel())),i=this._createBranchLabel(t);let r=!1;const s=this._createBranchLabel(t),o={flags:ft.PreFinallyGate,id:kt(),antecedent:s,isGateClosed:!1};if(i.affectedExpressions=this._trackCodeFlowExpressions((()=>{e.finallySuite&&this._addAntecedent(i,o),e.exceptClauses.some((e=>!e.typeExpression))||n.push(s),n.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),e.finallySuite&&this._finallyTargets.push(s),this._useExceptTargets(n,(()=>{this.walk(e.trySuite)})),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0),e.exceptClauses.forEach(((e,t)=>{this._currentFlowNode=this._finishFlowLabel(n[t]),this.walk(e),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0)})),e.finallySuite&&this._finallyTargets.pop(),this._currentFlowNode=this._finishFlowLabel(i)})),e.finallySuite){this.walk(e.finallySuite);const t={flags:ft.PostFinally,id:kt(),finallyNode:e.finallySuite,antecedent:this._currentFlowNode,preFinallyGate:o};this._currentFlowNode=r?t:ru._unreachableFlowNode}return this._functionCodeFlowComplexity+=4,!1}visitAwait(e){var t;const n=kr(e);if(void 0===n||!n.isAsync){if(this._fileInfo.isIPythonMode&&void 0===n)return!0;32!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&this._addError(ml.Diagnostic.awaitNotInAsync(),e)}return!0}visitGlobal(e){const t=this._currentScope.getGlobalScope();return e.nameList.forEach((e=>{const n=e.value;0===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.nonLocalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope&&this._addError(ml.Diagnostic.globalReassignment().format({name:n}),e),this._bindNameToScope(t,n),this._currentScope!==t&&this._currentScope.setBindingType(n,1)})),!0}visitNonlocal(e){const t=this._currentScope.getGlobalScope();return this._currentScope===t?this._addError(ml.Diagnostic.nonLocalInModule(),e):e.nameList.forEach((e=>{const n=e.value;1===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.globalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope?this._addError(ml.Diagnostic.nonLocalReassignment().format({name:n}),e):i&&i.scope!==t||this._addError(ml.Diagnostic.nonLocalNoBinding().format({name:n}),e),i&&this._currentScope.setBindingType(n,0)})),!0}visitImportAs(e){var t,n,i,r,s,o;if(e.module.nameParts.length>0){const a=e.module.nameParts[0].value;let l;l=e.alias?e.alias.value:a;const c=this._bindNameToScope(this._currentScope,l);!c||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,c);const u=Rt(e.module);w(void 0!==u),c&&this._createAliasDeclarationForMultipartImportName(e,e.alias,u,c),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!==(r=null===(i=e.alias)||void 0===i?void 0:i.value)&&void 0!==r?r:a):"dataclasses"===a&&this._dataclassesImportAliases.push(null!==(o=null===(s=e.alias)||void 0===s?void 0:s.value)&&void 0!==o?o:a))}return!0}visitImportFrom(e){const t=["Final","TypeAlias","ClassVar","Required","NotRequired","Annotated"],n=["InitVar"],i=Rt(e.module);let r="";i&&i.isImportFound&&!i.isNativeLib&&(r=i.resolvedPaths[i.resolvedPaths.length-1]);const s=he(de(this._fileInfo.filePath)),o="__init__"===s&&1===e.module.leadingDots&&1===e.module.nameParts.length;let a=!1,l=!1;if(1===e.module.nameParts.length){const t=e.module.nameParts[0].value;"typing"!==t&&"typing_extensions"!==t||(a=!0),"dataclasses"===t&&(l=!0)}if(e.isWildcardImport){if((Er(e)||kr(e))&&this._addError(ml.Diagnostic.wildcardInFunction(),e),i){const s=[],c=this._fileInfo.importLookup(r);if(c){const t=this._getWildcardImportNames(c);o&&(t.some((t=>t===e.module.nameParts[0].value))||this._addImplicitFromImport(e,i)),t.forEach((t=>{const n=this._bindNameToScope(this._currentScope,t);if(n)if(c.symbolTable.get(t)){const i={type:6,node:e,path:r,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,symbolName:t,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(i),s.push(t)}else if(i&&i.filteredImplicitImports){const s=i.filteredImplicitImports.find((e=>e.name===t));if(s){const i={type:6,node:e,path:s.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},o={type:6,node:e,path:r,loadSymbolsFromPath:!0,usesLocalName:!1,symbolName:t,submoduleFallback:i,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(o)}}}))}this._createFlowWildcardImport(e,s),a&&t.forEach((e=>{this._typingSymbolAliases.set(e,e)})),l&&n.forEach((e=>{this._dataclassesSymbolAliases.set(e,e)}))}}else o&&this._addImplicitFromImport(e,i),e.imports.forEach((o=>{const c=o.name.value,u=o.alias||o.name,p=this._bindNameToScope(this._currentScope,u.value);if(p){let d,h;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(u.value,p)),i&&i.filteredImplicitImports&&(d=i.filteredImplicitImports.find((e=>e.name===c)));let m=!0;d&&(h={type:6,node:o,path:d.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},"__init__"===s&&1===e.module.leadingDots&&0===e.module.nameParts.length&&(m=!1));const f={type:6,node:o,path:r,loadSymbolsFromPath:m,usesLocalName:!!o.alias,symbolName:c,submoduleFallback:h,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,isNativeLib:null==i?void 0:i.isNativeLib};p.addDeclaration(f),this._createFlowAssignment(o.alias||o.name),a&&t.some((e=>e===o.name.value))&&this._typingSymbolAliases.set(u.value,o.name.value),l&&n.some((e=>e===o.name.value))&&this._dataclassesSymbolAliases.set(u.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,r=this._createBranchLabel(i);return this._addAntecedent(r,t),r.affectedExpressions=this._trackCodeFlowExpressions((()=>{if(this._useExceptTargets([t,n],(()=>{this.walk(e.suite)})),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=r,this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}})),!1}visitTernary(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{this._bindConditional(e.testExpression,n,i),this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.ifExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),this.walk(e.elseExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!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 r=this._createBranchLabel();36===e.operator?this._bindConditional(e.leftExpression,r,i):this._bindConditional(e.leftExpression,n,r),this._currentFlowNode=this._finishFlowLabel(r),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=kr(e);return this._createNewScope(0,this._getNonClassParentScope(),(()=>{var n;Nt(e,this._currentScope);const i=this._createBranchLabel();for(let i=0;i{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const i=this._createBranchLabel();let r=!1;return e.cases.forEach((t=>{const s=this._createBranchLabel(),o=this._createBranchLabel(),a=this._createBranchLabel();this._addAntecedent(o,this._currentFlowNode),t.isIrrefutable?t.guardExpression||(r=!0):this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(o),this.walk(t.pattern),n&&this._createFlowNarrowForPattern(e.subjectExpression,t),t.guardExpression?this._bindConditional(t.guardExpression,a,s):this._addAntecedent(a,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(a),this.walk(t.suite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(s)})),n&&(this._createFlowNarrowForPattern(e.subjectExpression,e),r||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.value);if(this._createAssignmentTargetFlowNodes(e.target,!1,!1),t){const n={type:1,node:e.target,isConstant:Zt(e.target.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.target.start,dt.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}_getNonClassParentScope(){let e=this._currentScope;for(;2===e.type;)e=e.parent;return e}_addSlotsToCurrentScope(e){w(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,9);const t="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(e)&&t&&i.setIsPrivateMember()}const r={type:1,node:n,isConstant:Zt(e),isDefinedBySlots:!0,path:this._fileInfo.filePath,range:St(n.start,n.start+n.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(r)}t||this._currentScope.setSlotsNames(e.map((e=>e.strings[0].value)))}_isInListComprehension(e,t=!1){let n,i,r=e;for(;r;){if(32===r.nodeType){if(t&&r.forIfNodes.length>0){const e=r.forIfNodes[0];if(n===e&&33===e.nodeType&&i===e.iterableExpression)return!1}return!0}i=n,n=r,r=r.parent}return!1}_addPatternCaptureTarget(e){const t=this._bindNameToScope(this._currentScope,e.value);if(this._createAssignmentTargetFlowNodes(e,!1,!1),t){const n={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:e.parent,path:this._fileInfo.filePath,range:St(e.start,dt.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;const n=this._currentScope.lookUpSymbol(e);if(!n)return;const i=n.getDeclarations().find((e=>6===e.type)),r=(null==i?void 0:i.path)&&i.loadSymbolsFromPath?i.path:(null===(t=null==i?void 0:i.submoduleFallback)||void 0===t?void 0:t.path)&&i.submoduleFallback.loadSymbolsFromPath?i.submoduleFallback.path:void 0;if(!r)return;const s=this._fileInfo.importLookup(r);return s?s.dunderAllNames:void 0}_addImplicitFromImport(e,t){const n=e.module.nameParts[0].value,i=this._bindNameToScope(this._currentScope,n);i&&this._createAliasDeclarationForMultipartImportName(e,void 0,t,i),this._createFlowAssignment(e.module.nameParts[0])}_createAliasDeclarationForMultipartImportName(e,t,n,i){const r=e.module.nameParts[0].value;if(n&&n.isImportFound&&!n.isNativeLib&&n.resolvedPaths.length>0){const s=i.getDeclarations().find((e=>6===e.type&&e.firstNamePart===r));let o;if(o=s||{type:6,node:e,path:n.resolvedPaths[n.resolvedPaths.length-1],loadSymbolsFromPath:!1,moduleName:n.importName,isInExceptSuite:this._isInExceptSuite,range:{start:{line:0,character:0},end:{line:0,character:0}},firstNamePart:r,usesLocalName:!!t},t||1===e.module.nameParts.length)o.path=n.resolvedPaths[n.resolvedPaths.length-1],o.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,o);else{let t=o;for(let i=1;i=n.resolvedPaths.length);i++){const r=e.module.nameParts[i].value;let s=t.implicitImports?t.implicitImports.get(r):void 0;s||(s={path:n.resolvedPaths[i],loadSymbolsFromPath:!1,implicitImports:new Map},t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(r,s)),i===e.module.nameParts.length-1&&(s.path=n.resolvedPaths[i],s.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,s)),t=s}}s||i.addDeclaration(o)}else{const n={type:6,node:e,path:"*** unresolved ***",loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!!t,moduleName:"",isUnresolved:!0,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(n)}}_getWildcardImportNames(e){const t=[];if(e.dunderAllNames){if(!e.usesUnsupportedDunderAllForm)return e.dunderAllNames;t.push(...e.dunderAllNames)}return e.symbolTable.forEach(((e,n)=>{e.isExternallyHidden()||Yt(n)||t.push(n)})),t}_walkStatementsAndReportUnreachable(e){let t=!1;for(const n of e)Ut(n,this._currentFlowNode),t||(t=this._isCodeUnreachable()),t?this._targetFunctionDeclaration&&!this._targetFunctionDeclaration.isGenerator&&(new su).checkContainsYield(n)&&(this._targetFunctionDeclaration.isGenerator=!0):this.walk(n);return!1}_createStartFlowNode(){return{flags:ft.Start,id:kt()}}_createBranchLabel(e){return{flags:ft.BranchLabel,id:kt(),antecedents:[],preBranchAntecedent:e,affectedExpressions:void 0}}_createFlowNarrowForPattern(e,t){const n={flags:ft.NarrowForPattern,id:kt(),subjectExpression:e,statement:t,antecedent:this._currentFlowNode};this._currentFlowNode=n}_createContextManagerLabel(e,t,n){return{flags:ft.PostContextManager|ft.BranchLabel,id:kt(),antecedents:[],expressions:e,affectedExpressions:void 0,isAsync:t,blockIfSwallowsExceptions:n}}_createLoopLabel(){return{flags:ft.LoopLabel,id:kt(),antecedents:[],affectedExpressions:void 0}}_finishFlowLabel(e){return 0===e.antecedents.length?ru._unreachableFlowNode:1===e.antecedents.length&&e.flags===ft.BranchLabel?e.antecedents[0]:(this._functionCodeFlowComplexity+=e.antecedents.length,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?ft.TrueNeverCondition:ft.FalseNeverCondition,this._currentFlowNode,e)),this._addAntecedent(t,this._currentFlowNode);else if(36===e.operator){const i=this._currentFlowNode;this._bindNeverCondition(e.leftExpression,t,n),this._currentFlowNode=i,this._bindNeverCondition(e.rightExpression,t,n)}else{const i=this._currentFlowNode,r=this._createBranchLabel();if(this._bindNeverCondition(e.leftExpression,r,n),i!==this._currentFlowNode){this._currentFlowNode=this._finishFlowLabel(r);const s=this._currentFlowNode;this._bindNeverCondition(e.rightExpression,t,n),s===this._currentFlowNode&&(this._currentFlowNode=i)}}}_bindConditional(e,t,n){this._setTrueFalseTargets(t,n,(()=>{this.walk(e)})),this._isLogicalExpression(e)||(this._addAntecedent(t,this._createFlowConditional(ft.TrueCondition,this._currentFlowNode,e)),this._addAntecedent(n,this._createFlowConditional(ft.FalseCondition,this._currentFlowNode,e)))}_disableTrueFalseTargets(e){this._setTrueFalseTargets(void 0,void 0,e)}_setTrueFalseTargets(e,t,n){const i=this._currentTrueTarget,r=this._currentFalseTarget;this._currentTrueTarget=e,this._currentFalseTarget=t,n(),this._currentTrueTarget=i,this._currentFalseTarget=r}_createFlowConditional(e,t,n){if(t.flags&ft.Unreachable)return t;const i=eu(n,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);if(!0===i&&e&ft.FalseCondition||!1===i&&e&ft.TrueCondition)return ru._unreachableFlowNode;const r=[];if(!this._isNarrowingExpression(n,r))return t;r.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const s=r.filter((e=>38===e.nodeType)),o={flags:e,id:kt(),reference:s.length>0?s[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!!Dt(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,r=12===e.operator||28===e.operator;if(i||r){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 s=this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i)return s;if(r){const i=this._isNarrowingExpression(e.rightExpression,t,n,!0);return s||i}}return!(41!==e.operator&&42!==e.operator||48!==e.leftExpression.nodeType||!this._isNarrowingExpression(e.rightExpression,t,n,!0))||41===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:ft.Call,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode),this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode)}_createVariableAnnotationFlowNode(){if(!this._isCodeUnreachable()){const e={flags:ft.VariableAnnotation,id:kt(),antecedent:this._currentFlowNode};this._currentFlowNode=e}}_createFlowAssignment(e,t=!1){let n=0;if(38===e.nodeType){const t=this._currentScope.lookUpSymbolRecursive(e.value);w(void 0!==t),n=t.symbol.id}const i=this._currentFlowNode;if(!this._isCodeUnreachable()&&Dt(e)){const i={flags:ft.Assignment,id:kt(),node:e,antecedent:this._currentFlowNode,targetSymbolId:n},r=At(e);this._currentScopeCodeFlowExpressions.add(r),t&&(i.flags|=ft.Unbind),35===e.nodeType&&this._addExceptTargets(i),this._currentFlowNode=i}t&&void 0!==Lt(e)||Ut(e,t?i:this._currentFlowNode)}_createFlowWildcardImport(e,t){if(!this._isCodeUnreachable()){const n={flags:ft.WildcardImport,id:kt(),node:e,names:t,antecedent:this._currentFlowNode};this._addExceptTargets(n),this._currentFlowNode=n}Ut(e,this._currentFlowNode)}_createFlowExhaustedMatch(e){if(!this._isCodeUnreachable()){const t={flags:ft.ExhaustedMatch,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode)}_isCodeUnreachable(){return!!(this._currentFlowNode.flags&ft.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,r=this._currentBreakTarget,s=this._functionCodeFlowComplexity;this._currentContinueTarget=e,this._currentBreakTarget=t,this._functionCodeFlowComplexity=1,e.affectedExpressions=this._trackCodeFlowExpressions(n),this._currentContinueTarget=i,this._currentBreakTarget=r,this._functionCodeFlowComplexity=2*this._functionCodeFlowComplexity+s}_addAntecedent(e,t){this._currentFlowNode.flags&ft.Unreachable||e.antecedents.some((e=>e.id===t.id))||e.antecedents.push(t)}_bindNameToScope(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||Yt(t)&&(Kt(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()).lookUpSymbolRecursive(t);if(e)return e.symbol}}_bindPossibleTupleNamedTarget(e,t){switch(e.nodeType){case 38:this._bindNameToScope(this._currentScope,e.value,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:{start:{line:0,character:0},end:{line:0,character:0}},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&&Yt(e)&&(i|=2),n=this._currentScope.addSymbol(e,i)}return n}_createNewScope(e,t,n){const i=this._currentScope,r=new Zc(e,t);this._currentScope=r;const s=4===e||3===e||1===e,o=this._currentScopeCodeFlowExpressions;return s&&(this._currentScopeCodeFlowExpressions=new Set),n(),this._currentScopeCodeFlowExpressions=o,this._currentScope=i,r}_addInferredTypeAssignmentForVariable(e,t,n=!1){switch(e.nodeType){case 38:{const i=e,r=this._currentScope.lookUpSymbolRecursive(i.value);if(r&&r.symbol){const s={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:t,isInferenceAllowedInPyTyped:this._isInferenceAllowedInPyTyped(i.value),typeAliasName:n?e:void 0,path:this._fileInfo.filePath,range:St(i.start,dt.getEnd(i),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.symbol.addDeclaration(s)}break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.isClassMember()&&r.getDeclarations().some((e=>3===e.type&&e.isMethod))||r.setIsInstanceMember():r.setIsClassMember();const s={type:1,node:e.memberName,isConstant:Zt(i.value),inferredTypeSource:t,isDefinedByMemberAccess:!0,path:this._fileInfo.filePath,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(s)}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,r;let s=!1;switch(e.nodeType){case 38:{const o=e,a=this._currentScope.lookUpSymbolRecursive(o.value);if(a&&a.symbol){const s=this._isAnnotationFinal(t),l=this._isAnnotationTypeAlias(t);let c=t,u=t;l?(c=void 0,u=void 0,2!==this._currentScope.type&&3!==this._currentScope.type&&4!==this._currentScope.type&&this._addError(ml.Diagnostic.typeAliasNotInModuleOrClass(),t)):s.isFinal&&(u=s.finalTypeNode,s.finalTypeNode||(c=void 0));let p=this._isAnnotationClassVar(t);if(p.isClassVar&&(u=p.classVarTypeNode,p.classVarTypeNode||(c=void 0)),s.isFinal){const t=Dr(e);t&&10===t.nodeType&&(3!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&3!==(null===(r=null===(i=e.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType)||(p={isClassVar:!0,classVarTypeNode:void 0}))}const d={type:1,node:e,isConstant:Zt(o.value),isFinal:s.isFinal,isClassVar:p.isClassVar,isRequired:this._isRequiredAnnotation(u),isNotRequired:this._isNotRequiredAnnotation(u),typeAliasAnnotation:l?t:void 0,typeAliasName:l?e:void 0,path:this._fileInfo.filePath,typeAnnotationNode:c,range:St(o.start,dt.getEnd(o),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};if(a.symbol.addDeclaration(d),p.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()}}s=!0;break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.setIsInstanceMember():r.setIsClassMember();const o=this._isAnnotationFinal(t),a={type:1,node:e.memberName,isConstant:Zt(i.value),isDefinedByMemberAccess:!0,isFinal:o.isFinal,path:this._fileInfo.filePath,typeAnnotationNode:o.isFinal&&!o.finalTypeNode?void 0:t,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(a),s=!0}break}}s||this._addError(ml.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,r;let s,o=e;for(;o&&3!==o.nodeType;)54!==o.nodeType||s||(s=o),o=o.parent;if(3!==(null==o?void 0:o.nodeType)){if(!s)return;o=s}const a=o.parent;if(47!==(null==a?void 0:a.nodeType))return;const l=a.parent;if(!l||36!==l.nodeType&&50!==l.nodeType)return;const c=l.statements.findIndex((e=>e===a));if(c<0||c===l.statements.length-1)return;const u=l.statements[c+1];if(47!==u.nodeType||!Vr(u))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===(r=null===(i=null==a?void 0:a.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType))p=!0;else{const e=kr(a);e&&"__init__"===e.name.value&&Er(e,!0)&&(p=!0)}if(!p)return;const d=u.statements[0].strings;return 1===d.length?d[0].value:d.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=kr(e);if(!n)return;const i=Er(n,!0);if(!i)return;let r=!1;if(n.parameters.length<1||!n.parameters[0].name)return;const s=i.name.value,o=n.parameters[0].name.value;if(t===s)r=!1;else{if(t!==o)return;if("__new__"===n.name.value)r=!1;else{r=!0;for(const e of n.decorators)if(38===e.expression.nodeType){const t=e.expression.value;if("staticmethod"===t)return;if("classmethod"===t){r=!1;break}}}}const a=Ft(i);return w(void 0!==a),{classNode:i,methodNode:n,classScope:a,isInstanceMember:r}}_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]]),r=n.value;if(!i.has(r))return!1;const s=this._bindNameToScope(this._currentScope,r);return s&&s.addDeclaration({type:5,node:t,path:this._fileInfo.filePath,range:St(t.start,dt.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,callback:e})}_bindDeferred(){for(;this._deferredBindingTasks.length>0;){const e=this._deferredBindingTasks.shift();this._currentScope=e.scope,this._currentScopeCodeFlowExpressions=e.codeFlowExpressions,e.callback()}}_bindYield(e){const t=kr(e);t?t.isAsync&&61===e.nodeType&&this._addError(ml.Diagnostic.yieldFromOutsideAsync(),e):function(e){let t=e.parent;for(;t;){if(30===t.nodeType)return t;if(50===t.nodeType)return;t=t.parent}}(e)||this._addError(ml.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),Ut(e,this._currentFlowNode)}_addDiagnostic(e,t,n,i){let r;switch(e){case"error":r=this._addError(n,i);break;case"warning":r=this._addWarning(n,i);break;case"information":r=this._addInformation(n,i);break;case"none":break;default:return k(e,`${e} is not expected`)}return r&&r.setRule(t),r}_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)}}ru._unreachableFlowNode={flags:ft.Unreachable,id:kt()};class su extends _r{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}}function ou(e,t,n,i){var r;if(4===n.nodeType)return null!==(r=ou(e,t,n.rightExpression,i))&&void 0!==r?r:ou(e,t,n.name,i);if(7===n.nodeType){const r=39===n.operator||40===n.operator,s=12===n.operator||28===n.operator;if(r||s){const o=39===n.operator||12===n.operator?i:!i;if(11===n.rightExpression.nodeType&&26===n.rightExpression.constType){let i=n.leftExpression;if(4===i.nodeType&&(i=i.name),Lr(t,i))return t=>function(e,t,n){const i=Ko(t,(e=>ta(e)));return e.mapSubtypesExpandTypeVars(i,void 0,((e,t)=>{if(ho(e))return e;const i=bo(t)&&0===t.details.constraints.length?t:e;return vo(e)&&Zs.isBuiltIn(e,"object")?n?Zo(to.createInstance(),e.condition):i:lo(e)===n?e:void 0}))}(e,t,o);if(24===i.nodeType&&Lr(t,i.baseExpression)&&1===i.items.length&&!i.trailingComma&&0===i.items[0].argumentCategory&&!i.items[0].name&&40===i.items[0].valueExpression.nodeType&&i.items[0].valueExpression.isInteger&&!i.items[0].valueExpression.isImaginary){const t=i.items[0].valueExpression.value;if("number"==typeof t)return n=>function(e,t,n,i){return e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(!vo(t)||!pa(t)||da(t)||!t.tupleTypeArguments)return t;const r=t.tupleTypeArguments.length;if(i<0||i>=r)return t;const s=e.makeTopLevelTypeVarsConcrete(t.tupleTypeArguments[i].type);if(n){if(!e.canAssignType(s,to.createInstance()))return}else if(lo(s))return;return t}))}(e,n,o,t)}}if(r&&9===n.leftExpression.nodeType){const i=e.getTypeOfExpression(n.leftExpression.leftExpression,void 0,2).type;if(_o(i)&&Zs.isBuiltIn(i,"type")&&1===n.leftExpression.arguments.length&&0===n.leftExpression.arguments[0].argumentCategory&&Lr(t,n.leftExpression.arguments[0].valueExpression)){const t=e.makeTopLevelTypeVarsConcrete(e.getTypeOfExpression(n.rightExpression).type);if(_o(t))return e=>function(e,t,n){return Ko(e,(e=>{if(vo(e)){const i=Zs.isDerivedFrom(t,Zs.cloneAsInstantiable(e));if(n)return i?Zs.isSameGenericClass(e,t)?e:Zs.cloneAsInstance(t):void 0;if(i&&Zs.isFinal(e))return;return e}return lo(e)?n?void 0:e:ho(e)&&n?Zs.cloneAsInstance(t):e}))}(e,t,o)}}if(r&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>pu(e,n,t,o,!0)}if(s){const r=12===n.operator?i:!i;if(Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(24===n.leftExpression.nodeType&&1===n.leftExpression.items.length&&!n.leftExpression.trailingComma&&0===n.leftExpression.items[0].argumentCategory&&Lr(t,n.leftExpression.baseExpression)){const t=e.getTypeOfExpression(n.leftExpression.items[0].valueExpression).type;if(vo(t)&&ra(t))if(Zs.isBuiltIn(t,"str")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const s=gl(e,t).get(n.literalValue);if(s&&sa(s.valueType))return r?e.canAssignType(s.valueType,i)?t:void 0:e.canAssignType(i,s.valueType)?void 0:t}return s=!1,t}));return s?o:t}(e,n,t,i,r)}else if(Zs.isBuiltIn(t,"int")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{var o;if(vo(t)&&Zs.isTupleClass(t)&&!da(t)&&"number"==typeof n.literalValue){const s=n.literalValue;if(t.tupleTypeArguments&&s>=0&&sfunction(e,t,n,i){return Ko(t,(t=>{const r=e.makeTopLevelTypeVarsConcrete(t);return vo(r)&&pa(r)&&!da(r)&&r.tupleTypeArguments?r.tupleTypeArguments.length===n===i?t:void 0:t}))}(e,n,t,o)}}if(s&&35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}if(35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}}if(41===n.operator&&i&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;return n=>function(e,t,n){if(!vo(n)||!Zs.isBuiltIn(n))return t;const i=n.details.name;if(!["list","set","frozenset","deque","tuple"].some((e=>e===i)))return t;if(!n.typeArguments||1!==n.typeArguments.length)return t;let r=n.typeArguments[0];pa(n)&&n.tupleTypeArguments&&(r=Oo(n.tupleTypeArguments.map((e=>e.type))));let s=!0;const o=Qo(r),a=Ko(t,(t=>ho(t)?(s=!1,t):e.canAssignType(r,t)?t:e.canAssignType(o,t)?Ko(r,(e=>{if(vo(e)&&Lo(t,e))return e})):void 0));return s?a:t}(e,n,t)}if((41===n.operator||42===n.operator)&&Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const r=41===n.operator?i:!i;return n=>function(e,t,n,i){return Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const r=gl(e,t,!0).get(n.literalValue);if(i){if(!r)return Zs.isFinal(t)?void 0:t;if(r.isRequired||r.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:r.valueType,isRequired:!1,isProvided:!0}),Zs.cloneAsInstance(Zs.cloneForNarrowedTypedDictEntries(Zs.cloneAsInstantiable(t),i))}return void 0!==r&&(r.isRequired||r.isProvided)?void 0:t}return t}))}(e,n,Zs.cloneAsInstantiable(t),r)}}}if(9===n.nodeType){const r=e.getTypeOfExpression(n.leftExpression,void 0,2).type;if(Eo(r)&&("isinstance"===r.details.builtInName||"issubclass"===r.details.builtInName)&&2===n.arguments.length){const s="isinstance"===r.details.builtInName,o=n.arguments[0].valueExpression,a=n.arguments[1].valueExpression;if(Lr(t,o)){const t=function(e){let t=!1;const n=[],i=e=>{e.forEach((e=>{_o(e)||bo(e)&&Ks.isInstantiable(e)||co(e)||Eo(e)&&2===e.details.parameters.length&&1===e.details.parameters[0].category&&2===e.details.parameters[1].category?n.push(e):t=!0}))};return Jo(e,(e=>{yo(e)&&Ks.isInstance(e)&&pa(e)?e.tupleTypeArguments&&i(e.tupleTypeArguments.map((e=>e.type))):i([e])})),t?void 0:n}(e.getTypeOfExpression(a,void 0,168).type);if(t)return r=>{const o=cu(e,r,t,s,i,!1,n);return ao(o)?cu(e,r,t,s,i,!0,n):o}}}if(Eo(r)&&"callable"===r.details.builtInName&&1===n.arguments.length&&Lr(t,n.arguments[0].valueExpression))return t=>{let r=hu(e,t,i,n,!1);return i&&ao(r)&&(r=hu(e,t,i,n,!0)),r};if(_o(r)&&Zs.isBuiltIn(r,"bool")&&1===n.arguments.length&&!n.arguments[0].name&&Lr(t,n.arguments[0].valueExpression))return t=>lu(e,t,i);if(n.arguments.length>=1&&Lr(t,n.arguments[0].valueExpression)&&Eo(r)&&r.details.declaredReturnType&&vo(r.details.declaredReturnType)&&Zs.isBuiltIn(r.details.declaredReturnType,["TypeGuard","StrictTypeGuard"])){const t=e.getTypeOfExpression(n).type;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&t.typeGuardType){const n=Zs.isBuiltIn(r.details.declaredReturnType,"StrictTypeGuard"),s=t.typeGuardType;return t=>function(e,t,n,i,r){return r?Ko(t,(t=>Ko(n,(r=>{const s=e.canAssignType(n,t),o=e.canAssignType(t,r);if(i){if(s)return t;if(o)return r}else if(!s&&!s)return t})))):i?n:t}(e,t,s,i,n)}}}if(Lr(t,n))return t=>lu(e,t,i);if(38===n.nodeType&&38===t.nodeType&&n!==t){const r=au(e,n,n);if(r&&1===r.length&&1===r[0].type){const s=au(e,t,n);if(s){let o=[];if(s.length>1&&(o=s.filter((t=>e.isNodeReachable(n,t.node)&&e.isNodeReachable(t.node,r[0].node)))),0===o.length){const s=r[0].inferredTypeSource;if(s&&!Mr(n,s)&&yr(s))return ou(e,t,s,i)}}}}return 55===n.nodeType&&38===n.operator?ou(e,t,n.expression,!i):void 0}function au(e,t,n){const i=zs(t);if(1!==(null==i?void 0:i.type)&&3!==(null==i?void 0:i.type))return;const r=i.lookUpSymbol(t.value);if(!r)return;const s=r.getDeclarations();if(0===s.length||s.some((e=>1!==e.type&&2!==e.type)))return;let o;if(s.some((e=>{const t=Rr(2===e.type?e.node.name:e.node);return!(!o||t===o)||(o=t,!1)})))return;const a=s.filter((t=>e.isNodeReachable(n,t.node)));return a.length>0?a:void 0}function lu(e,t,n){return Ko(t,(t=>{if(n){if(e.canBeTruthy(t))return e.removeFalsinessFromType(t)}else if(e.canBeFalsy(t))return e.removeTruthinessFromType(t)}))}function cu(e,t,n,i,r,s,o){const a=Ko(t,(e=>ta(e))),l=(t,a,l,c)=>{const u=[];let p=!1,d=!1;for(const c of n){const n=e.makeTopLevelTypeVarsConcrete(c);if(_o(n)){const h=!bo(c)&&(Zs.isDerivedFrom(t,n)||i&&Zs.isProtocolClass(n)&&e.canAssignType(n,t)||Zs.isBuiltIn(n,"dict")&&Zs.isTypedDictClass(t)),m=Zs.isDerivedFrom(n,t)||i&&Zs.isProtocolClass(t)&&e.canAssignType(t,n);if(h&&(p=!0),m&&h&&!Zs.isSameGenericClass(t,n)&&(d=!0),r)if(h)u.push(Zo(t,l));else if(m){let n=c;if(yo(c)&&(Zs.isSpecialBuiltIn(c)||c.details.typeParameters.length>0)){const i=new jo(na(c)),r=Zs.cloneForSpecialization(c,void 0,!1);e.populateTypeVarMapBasedOnExpectedType(r,t,i,void 0)&&(n=fa(r,i,!0))}u.push(Zo(n,l))}else if(s){const e=``,r=Vt(o);let s=Zs.createInstantiable(e,br(o,r.moduleName,e),r.moduleName,r.filePath,0,Ir(o),void 0,t.details.effectiveMetaclass,t.details.docString);s.details.baseClasses=[Zs.cloneAsInstantiable(t),n],Ha(s),s=Zo(s,n.condition),bo(a)&&!a.details.isParamSpec&&0===a.details.constraints.length&&(s=Zo(s,[{typeVarName:oo.getNameWithScope(a),constraintIndex:0,isConstrainedTypeVar:!1}])),u.push(i?Zs.cloneAsInstance(s):s)}}else if(bo(c)&&Ks.isInstantiable(c))i&&Ks.isInstance(a)?bo(a)&&Ao(Fa(c),a)?r&&u.push(a):r?u.push(Fa(c)):(u.push(a),d=!0):!i&&Ks.isInstantiable(a)&&(bo(a)&&Ao(c,a)?r&&u.push(a):r?u.push(c):(u.push(a),d=!0));else if(Eo(c)&&i){let e=!1;yo(t)&&(e=!!Ks.isInstantiable(a)||!!va(t,"__call__")),e&&(r?u.push(a):p=!0)}}return r||p&&!d||u.push(c),i?u.map((e=>Fa(e))):u},c=[],u=[],p=e.mapSubtypesExpandTypeVars(a,void 0,((t,s)=>{const a=Xo(t)?t:s,p=vo(t)&&Zs.isBuiltIn(t,"type");if(r&&ho(t))return i?c.push(Oo(n.map((e=>Fa(e))))):c.push(Oo(n)),void u.push(t);if(i){if(lo(t)){const e=n.some((e=>co(e)));return r?e?t:void 0:e?void 0:t}if((To(t)||vo(t)&&Zs.isBuiltIn(t,"ModuleType"))&&r){const t=n.filter((t=>{const n=e.makeTopLevelTypeVarsConcrete(t);return _o(n)&&Zs.isProtocolClass(n)}));if(t.length>0)return Fa(Oo(t))}if(vo(t)&&!p)return Oo(l(Zs.cloneAsInstantiable(t),Fa(s),Xo(t),a));if((Eo(t)||ko(t))&&i)return Oo(((t,i)=>{const s=[];if(r)for(const r of n){const n=e.makeTopLevelTypeVarsConcrete(r);e.canAssignType(t,Fa(n))&&(Eo(r)?s.push(i):s.push(Fa(r)))}else n.some((n=>{const i=e.makeTopLevelTypeVarsConcrete(n);return!(yo(i)&&!Zs.isProtocolClass(i))&&e.canAssignType(t,Fa(i))}))||s.push(i);return s})(t,Fa(s)));if(_o(t)||p){const e=n.some((e=>_o(e)&&Zs.isBuiltIn(e,"type")));return r?e?a:void 0:e?void 0:a}}else{if(_o(t))return Oo(l(t,s,Xo(t),a));if(p){const n=e.getBuiltInObject(o,"object");if(n&&vo(n))return Oo(l(Zs.cloneAsInstantiable(n),Na(s),Xo(t),a))}}return r?void 0:a}));return ao(p)&&c.length>0?Oo(c):u.length>0?Oo([p,...u]):p}function uu(e,t,n,i,r){return Ko(t,(t=>{let s;if(vo(t)?s=_a(t,n):_o(t)&&(s=va(t,n)),s&&s.isTypeDeclared){const n=e.getTypeOfMember(s);if(sa(n))return r?e.canAssignType(n,i)?t:void 0:e.canAssignType(i,n)?void 0:t}return t}))}function pu(e,t,n,i,r){return Ko(t,(t=>{if(vo(t=e.makeTopLevelTypeVarsConcrete(t))&&Zs.isSameGenericClass(n,t)){if(void 0!==t.literalValue){const e=Zs.isLiteralValueSame(t,n);if(e&&!i||!e&&i)return;return t}if(i)return n;{const i=du(e,t);if(i&&i.length>0)return Oo(i.filter((e=>!Zs.isLiteralValueSame(e,n))))}}else if(i&&(r||lo(t)))return;return t}))}function du(e,t){if(Zs.isBuiltIn(t,"bool"))return[Zs.cloneWithLiteral(t,!0),Zs.cloneWithLiteral(t,!1)];if(Zs.isEnumClass(t)){const n=[];return t.details.fields.forEach((i=>{if(!i.isIgnoredForProtocolMatch()){const r=e.getEffectiveTypeOfSymbol(i);vo(r)&&Zs.isSameGenericClass(t,r)&&void 0!==r.literalValue&&n.push(r)}})),n}}function hu(e,t,n,i,r){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(Ks.isInstantiable(e))return n?e:void 0;if(va(e,"__call__"))return n?e:void 0;if(!n)return e;if(r){const t=``,n=Vt(i);let r=Zs.createInstantiable(t,br(i,n.moduleName,t),n.moduleName,n.filePath,0,Ir(i),void 0,e.details.effectiveMetaclass,e.details.docString);r.details.baseClasses=[Zs.cloneAsInstantiable(e)],Ha(r),r=Zo(r,e.condition);const s=Xs.createInstance("__call__","","",64),o={category:0,name:"self",type:Zs.cloneAsInstance(r),hasDeclaredType:!0};return Xs.addParameter(s,o),Xs.addDefaultParameters(s),s.details.declaredReturnType=Ys.create(),r.details.fields.set("__call__",qo.createWithType(4,s)),Zs.cloneAsInstance(r)}return;default:return e}}))}const mu=["builtins.bool","builtins.bytearray","builtins.bytes","builtins.dict","builtins.float","builtins.frozenset","builtins.int","builtins.list","builtins.set","builtins.str","builtins.tuple"];function fu(e,t,n,i){switch(n.nodeType){case 65:return function(e,t,n,i){if(!i)return t;let r=vu(e,t,n.entries.length,n.starEntryIndex);return r=r.filter((t=>{let i=!0;const r=[];let s=t.isTuple;if(n.entries.forEach(((o,a)=>{const l=Tu(e,n,t,a,n.entries.length,n.starEntryIndex,!0,!1),c=fu(e,l,o,!0);a===n.starEntryIndex?vo(c)&&c.tupleTypeArguments&&!da(c)&&c.tupleTypeArguments?r.push(...c.tupleTypeArguments.map((e=>e.type))):(r.push(c),s=!1):(r.push(c),ao(c)&&(i=!1))})),i){if(s){const i=e.getBuiltInType(n,"tuple");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(Va(i,r.map((e=>({type:e,isUnbounded:!1}))))))}if(t.isObject){const i=e.getTypingType(n,"Sequence");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[Qo(Oo(r))],!0)))}}return i})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 67:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type;return Ko(t,i?t=>{if(e.canAssignType(t,r))return r}:t=>{if(!(vo(r)&&ra(r)&&vo(t)&&ra(t)&&e.canAssignType(r,t)||lo(t)&&lo(r)))return vo(t)&&Zs.isBuiltIn(t,"bool")&&void 0===t.literalValue&&vo(r)&&Zs.isBuiltIn(r,"bool")&&void 0!==r.literalValue?Zs.cloneWithLiteral(r,!r.literalValue):t})}(e,t,n,i);case 68:return function(e,t,n,i){let r=e.getTypeOfExpression(n.className,void 0,2).type;if(yo(r)&&!r.typeAliasInfo&&(r=xa(r)),!i){if(!_o(r))return t;let s=r;s.details.typeParameters.length>0&&(s=Zs.cloneForSpecialization(s,void 0,!1));const o=Fa(s);return e.mapSubtypesExpandTypeVars(t,void 0,((t,r)=>{if(!vo(t))return r;if(!e.canAssignType(o,t))return t;if(0===n.arguments.length)return;if(!e.canAssignType(t,o)&&!Zs.isFinal(t))return t;if(1===n.arguments.length&&!n.arguments[0].name&&mu.some((e=>s.details.fullName===e)))return;let a=[];n.arguments.some((e=>!e.name))&&yo(t)&&(a=gu(e,t));for(let s=0;sho(r)?s:_o(r)?e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(ho(t))return Fa(s);if(vo(t)){let o;if(e.canAssignType(r,Zs.cloneAsInstantiable(t)))o=t;else{if(!e.canAssignType(Zs.cloneAsInstantiable(t),r))return;if(o=Zo(Fa(s),Xo(t)),_o(s)&&vo(t)&&(Zs.isSpecialBuiltIn(s)||s.details.typeParameters.length>0)){const n=new jo(na(s)),i=Zs.cloneForSpecialization(s,void 0,!1),r=Zs.cloneAsInstance(i);e.populateTypeVarMapBasedOnExpectedType(r,t,n,[])&&(o=fa(r,n,!0))}}let a=[];n.arguments.some((e=>!e.name))&&(a=gu(e,r));let l=!0;if(n.arguments.forEach(((t,n)=>{ao(yu(e,t,n,a,o,i))&&(l=!1)})),l)return o}})):void 0)):(e.addDiagnostic(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(r)}),n.className),no.createNever())}(e,t,n,i);case 66:return function(e,t,n,i){let r=t;return i?Oo(n.orPatterns.map((t=>{const n=fu(e,r,t,!0);return r=fu(e,r,t,!1),n}))):(n.orPatterns.forEach((t=>{r=fu(e,r,t,!1)})),r)}(e,t,n,i);case 70:return function(e,t,n,i){if(!i)return t;let r=_u(e,t);return r=r.filter((t=>{let r=!0;return n.entries.forEach((s=>{if(t.typedDict){if(71===s.nodeType){const o=fu(e,e.getBuiltInObject(n,"str"),s.keyPattern,i);ao(o)&&(r=!1);const a=Ko(o,(n=>{if(ho(n))return n;if(vo(n)&&Zs.isBuiltIn(n,"str")){if(!ra(n))return Ys.create();const i=gl(e,t.typedDict).get(n.literalValue);if(i){const t=fu(e,i.valueType,s.valuePattern,!0);if(!ao(t))return t}}}));ao(a)&&(r=!1)}}else if(t.dictTypeArgs&&71===s.nodeType){const n=fu(e,t.dictTypeArgs.key,s.keyPattern,i),o=fu(e,t.dictTypeArgs.value,s.valuePattern,i);(ao(n)||ao(o))&&(r=!1)}})),r})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 73:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type,s=[];return e.mapSubtypesExpandTypeVars(r,void 0,((r,o)=>{s.push(e.mapSubtypesExpandTypeVars(t,Xo(r),(t=>{if(!i){if(vo(t)&&Zs.isEnumClass(t)&&!ra(t)&&vo(r)&&Lo(t,r)&&ra(r)){const n=du(e,t);if(n)return Oo(n.filter((e=>!Zs.isLiteralValueSame(r,e))))}else if(vo(t)&&vo(r)&&Zs.isLiteralValueSame(r,t))return;return t}return ao(r)||ao(t)?no.createNever():ho(r)||ho(t)?po(r)||po(t)?Ys.create():io.create():e.useSpeculativeMode(n.expression,(()=>e.getTypeFromMagicMethodReturn(r,[t],"__eq__",n.expression,void 0)))?o:void 0})))})),Oo(s)}(e,t,n,i);case 69:return i?t:no.createNever();case 0:return t}}function gu(e,t){const n=va(t,"__match_args__");if(n){const t=e.getTypeOfMember(n);if(vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments){const e=t.tupleTypeArguments;if(e.every((e=>vo(e.type)&&Zs.isBuiltIn(e.type,"str")&&ra(e.type))))return e.map((e=>e.type.literalValue))}}return[]}function yu(e,t,n,i,r,s){var o;let a,l;if(t.name?a=t.name.value:nr.details.fullName===e))&&0===n&&!t.name)l=Zs.cloneAsInstance(r);else if(a&&(l=null===(o=e.useSpeculativeMode(t,(()=>e.getTypeFromObjectMember(t,Zs.cloneAsInstance(r),a))))||void 0===o?void 0:o.type),!l){if(!s)return r;if(Zs.isFinal(r))return no.createNever();l=Ys.create()}return fu(e,l,t.pattern,s)}function _u(e,t){const n=[];return Jo(t,(t=>{const i=e.makeTopLevelTypeVarsConcrete(t);if(ho(i))n.push({subtype:t,dictTypeArgs:{key:i,value:i}});else if(vo(i))if(Zs.isTypedDictClass(i))n.push({subtype:t,typedDict:i});else{let e;for(const t of i.details.mro)if(_o(t)&&Zs.isBuiltIn(t,"Mapping")){e=t;break}if(e){const r=ha(e,i);r.typeArguments&&r.typeArguments.length>=2&&n.push({subtype:t,dictTypeArgs:{key:r.typeArguments[0],value:r.typeArguments[1]}})}}})),n}function vu(e,t,n,i){const r=[],s=void 0===i?n:n-1;return Jo(t,(t=>{const n=e.makeTopLevelTypeVarsConcrete(t);let o;if(ho(n))r.push({subtype:t,entryTypes:[n],isIndeterminateLength:!0});else if(vo(n)){if(Zs.isBuiltIn(n,"object"))return void r.push({subtype:t,entryTypes:[Fa(n)],isIndeterminateLength:!0,isObject:!0});for(const e of n.details.mro){if(!_o(e))break;if(Zs.isBuiltIn(e,"str")||Zs.isBuiltIn(e,"bytes")||Zs.isBuiltIn(e,"bytearray"))break;if(Zs.isBuiltIn(e,"Sequence")){o=e;break}if(pa(e)){o=e;break}}if(o){const e=ha(o,n);pa(e)?e.tupleTypeArguments&&(da(e)?r.push({subtype:t,entryTypes:[Oo(e.tupleTypeArguments.map((e=>e.type)))],isIndeterminateLength:!0,isTuple:!0}):e.tupleTypeArguments.length>=s&&(void 0!==i||e.tupleTypeArguments.length===s)&&r.push({subtype:t,entryTypes:e.tupleTypeArguments.map((e=>e.type)),isIndeterminateLength:!1,isTuple:!0})):r.push({subtype:t,entryTypes:[e.typeArguments&&e.typeArguments.length>0?e.typeArguments[0]:Ys.create()],isIndeterminateLength:!0})}}})),r}function Tu(e,t,n,i,r,s,o,a){if(n.isIndeterminateLength){let r=n.entryTypes[0];if(a){const n=e.getBuiltInObject(t,"object");n&&vo(n)&&(r=n)}return o||i!==s||ao(r)||(r=Iu(e,t,r)),r}if(void 0===s||iQo(e))));return o||(i=Iu(e,t,i)),i}const l=n.entryTypes.length-(r-i);return w(l>=0&&l{const a=Oo(s.map((t=>Tu(e,r,t,o,r.entries.length,r.starEntryIndex,!1,i))));bu(e,a,n,!1,t)}));break}case 66:r.target&&e.assignTypeToExpression(r.target,t,n,r.target),r.orPatterns.forEach((r=>{bu(e,t,n,i,r),t=fu(e,t,r,!1)}));break;case 69:e.assignTypeToExpression(r.target,r.isWildcard?io.create():t,n,r.target);break;case 70:{const i=_u(e,t);r.entries.forEach((t=>{const s=[],o=[];i.forEach((n=>{if(n.typedDict)if(71===t.nodeType){const i=fu(e,e.getBuiltInObject(r,"str"),t.keyPattern,!0);s.push(i),Jo(i,(t=>{if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const i=gl(e,n.typedDict).get(t.literalValue);o.push(i?i.valueType:Ys.create())}else o.push(Ys.create())}))}else 72===t.nodeType&&(s.push(e.getBuiltInObject(r,"str")),o.push(Ys.create()));else if(n.dictTypeArgs)if(71===t.nodeType){const i=fu(e,n.dictTypeArgs.key,t.keyPattern,!0);s.push(i),o.push(fu(e,n.dictTypeArgs.value,t.valuePattern,!0))}else 72===t.nodeType&&(s.push(n.dictTypeArgs.key),o.push(n.dictTypeArgs.value))}));const a=Oo(s),l=Oo(o);if(71===t.nodeType)bu(e,a,n,!1,t.keyPattern),bu(e,l,n,!1,t.valuePattern);else if(72===t.nodeType){const i=e.getBuiltInType(r,"dict"),s=e.getBuiltInObject(r,"str"),o=i&&_o(i)&&vo(s)?Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[a,l],!0)):Ys.create();e.assignTypeToExpression(t.target,o,n,t.target)}}));break}case 68:{const i=r.arguments.map((e=>[]));e.mapSubtypesExpandTypeVars(t,void 0,(n=>{vo(n)?Jo(t,(t=>{const s=e.makeTopLevelTypeVarsConcrete(t);if(ho(s))r.arguments.forEach(((e,t)=>{i[t].push(s)}));else if(vo(s)){let t=[];r.arguments.some((e=>!e.name))&&(t=gu(e,Zs.cloneAsInstantiable(n))),r.arguments.forEach(((r,s)=>{const o=yu(e,r,s,t,Zs.cloneAsInstantiable(n),!0);i[s].push(o)}))}})):r.arguments.forEach(((e,t)=>{i[t].push(Ys.create())}))})),r.arguments.forEach(((t,r)=>{bu(e,Oo(i[r]),n,!1,t.pattern)}));break}}}function Iu(e,t,n){if(ao(n))return n;const i=Fa(e.getBuiltInObject(t,"list"));return i&&vo(i)?Zs.cloneForSpecialization(i,[n],!0):Ys.create()}const Su=new Map([["Tuple",{version:De.V3_9,fullName:"builtins.tuple",replacementText:"tuple"}],["List",{version:De.V3_9,fullName:"builtins.list",replacementText:"list"}],["Dict",{version:De.V3_9,fullName:"builtins.dict",replacementText:"dict"}],["Set",{version:De.V3_9,fullName:"builtins.set",replacementText:"set"}],["FrozenSet",{version:De.V3_9,fullName:"builtins.frozenset",replacementText:"frozenset"}],["Type",{version:De.V3_9,fullName:"builtins.type",replacementText:"type"}],["Deque",{version:De.V3_9,fullName:"collections.deque",replacementText:"collections.deque"}],["DefaultDict",{version:De.V3_9,fullName:"collections.defaultdict",replacementText:"collections.defaultdict"}],["OrderedDict",{version:De.V3_9,fullName:"collections.OrderedDict",replacementText:"collections.OrderedDict"}],["Counter",{version:De.V3_9,fullName:"collections.Counter",replacementText:"collections.Counter"}],["ChainMap",{version:De.V3_9,fullName:"collections.ChainMap",replacementText:"collections.ChainMap"}]]),xu=new Map([["Optional",{version:De.V3_10,fullName:"typing.Optional",replacementText:"| None"}],["Union",{version:De.V3_10,fullName:"typing.Union",replacementText:"|"}]]);class Cu extends _r{constructor(e,t){super(),this._isUnboundCheckSuppressed=!1,this._scopedNodes=[],this._moduleNode=e,this._fileInfo=Vt(e),this._evaluator=t}check(){this._scopedNodes.push(this._moduleNode),this._walkStatementsAndReportUnreachable(this._moduleNode.statements);const e=Wt(this._moduleNode);e&&(this._evaluator.markNamesAccessed(this._moduleNode,e.names),this._reportUnusedDunderAllSymbols(e.stringNodes)),this._validateSymbolTables(),this._reportDuplicateImports()}walk(e){zt(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=>{yr(e)&&this._evaluator.getType(e)})),!0}visitClass(e){const t=this._evaluator.getTypeOfClass(e);return this.walk(e.suite),this.walkMultiple(e.decorators),this.walkMultiple(e.arguments),t&&(Zs.isProtocolClass(t.classType)&&(e.arguments.forEach((e=>{if(!e.name){const n=this._evaluator.getType(e.valueExpression);n&&_o(n)&&!Zs.isBuiltIn(n,"Protocol")&&!Zs.isBuiltIn(n,"Generic")&&(Zs.isProtocolClass(n)||this._evaluator.addError(ml.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),Zs.isTypedDictClass(t.classType)&&this._validateTypedDictClassSuite(e.suite),Zs.isEnumClass(t.classType)&&this._validateEnumClassOverride(e,t.classType)),this._scopedNodes.push(e),!1}visitFunction(e){var t;const n=this._evaluator.getTypeOfFunction(e),i=Er(e,!0);if(n){let r=!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&&bo(e)&&e.details.isParamSpec&&(r=!0)}}else 2===e.category&&(r=!1);if(e.name&&0===e.category&&r&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedParamAfterParamSpecArgs().format({name:e.name.value}),e.name),e.name&&"_"!==e.name.value){const i=n.functionType.details.parameters.find((t=>{var n;return t.name===(null===(n=e.name)||void 0===n?void 0:n.value)}));if(i){const r=i.type;if(po(r)||bo(r)&&r.details.isSynthesized&&!r.details.isSynthesizedSelf)this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name);else if(La(r)){const t=new il;t.addMessage(ml.DiagnosticAddendum.paramType().format({paramType:this._evaluator.printType(r,!0)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value})+t.getString(),e.name)}let s=!1;(n.functionType.details.parameters[t].typeAnnotation||bo(r)&&r.details.isSynthesizedSelf)&&(s=!0),s||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingParameterType,$o.reportMissingParameterType,ml.Diagnostic.paramAnnotationMissing().format({name:e.name.value}),e.name)}}if(e.defaultValue&&this._fileInfo.isStubFile){const t=this._evaluator.getType(e.defaultValue);t&&ca(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidStubStatement,$o.reportInvalidStubStatement,ml.Diagnostic.defaultValueNotEllipsis(),e.defaultValue)}}));const s=n.functionType.details.parameters.filter((e=>!!(e.typeAnnotation&&bo(e.type)&&wo(e.type)&&0!==e.category&&e.name&&e.type.paramSpecAccess)));1===s.length&&s[0].typeAnnotation&&this._evaluator.addError(ml.Diagnostic.paramSpecArgsKwargsUsage(),s[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,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name)),i&&this._validateMethod(e,n.functionType,i)}if(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{e.name&&this.walk(e.name)})),this.walk(e.suite),n&&(this._validateFunctionReturn(e,n.functionType),this._validateDunderSignatures(e,n.functionType,void 0!==i),this._validateStrictTypeGuardFunction(e,n.functionType,void 0!==i)),this._fileInfo.isStubFile&&"__getattr__"===e.name.value){const t=zs(e);3===(null==t?void 0:t.type)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompleteStub,$o.reportIncompleteStub,ml.Diagnostic.stubUsesGetAttr(),e.name)}if(this._scopedNodes.push(e),this._validateFunctionTypeVarUsage(e),n&&ko(n.decoratedType)){const t=n.decoratedType.overloads;if(t.length>1){const n=100;t.length{if(e.name){const t=this._evaluator.getType(e.name);t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value}),e.name))}}));const t=this._evaluator.getType(e.expression);return t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypeUnknown(),e.expression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.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,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(n,!1)}),e),vo(n)&&Zs.isBuiltIn(n,"Coroutine")&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine,$o.reportUnusedCoroutine,ml.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,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(t,!1)}),e)}return!0}visitFor(e){return this._evaluator.evaluateTypesForStatement(e),!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}visitIf(e){return this._evaluator.getType(e.testExpression),!0}visitWhile(e){return this._evaluator.getType(e.testExpression),!0}visitWith(e){return e.withItems.forEach((e=>{this._evaluator.evaluateTypesForStatement(e)})),!0}visitReturn(e){let t;const n=kr(e),i=n?this._evaluator.getFunctionDeclaredReturnType(n):void 0;if(t=e.returnExpression?this._evaluator.getType(e.returnExpression)||Ys.create():to.createInstance(),this._evaluator.isNodeReachable(e,void 0)&&n){if(i)if(ao(i))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsReturn(),e);else{const n=new il;let r=!1;if(this._evaluator.canAssignType(i,t,n,new jo,64))r=!0;else{const s=Sa(i);if(s&&s.some((e=>e.details.constraints.length>0))){const o=new jo;for(const t of s)if(t.details.constraints.length>0){const n=this._evaluator.narrowConstrainedTypeVar(e,t);n&&(o.setTypeVarType(t,n),o.addSolveForScope(na(t)))}if(!o.isEmpty()){const e=fa(i,o);this._evaluator.canAssignType(e,t,n,void 0,64)&&(r=!0)}}}r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeMismatch().format({exprType:this._evaluator.printType(t,!1),returnType:this._evaluator.printType(i,!1)})+n.getString(),e.returnExpression?e.returnExpression:e)}po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypeUnknown(),e.returnExpression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.returnExpression)}return!0}visitYield(e){const t=e.expression?this._evaluator.getType(e.expression):to.createInstance();return this._validateYieldType(e,t||Ys.create()),!0}visitYieldFrom(e){const t=this._evaluator.getType(e.expression)||Ys.create();let n;if(vo(t)&&Zs.isBuiltIn(t,"Coroutine"))n=Ys.create();else{n=this._evaluator.getTypeFromIterable(t,!1,e)||Ys.create();const i=za(n);n=i?i.length>=1?i[0]:Ys.create():this._evaluator.getTypeFromIterator(t,!1,e)||Ys.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&&_o(t)){const i=new il;Jo(n,(e=>{ho(e=this._evaluator.makeTopLevelTypeVarsConcrete(e))||lo(e)||yo(e)&&Da(e,t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)}))})),i.isEmpty()||this._evaluator.addError(ml.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&&vo(t)&&pa(t)&&t.tupleTypeArguments&&t.tupleTypeArguments.length>0&&(da(t)||this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportAssertAlwaysTrue,$o.reportAssertAlwaysTrue,ml.Diagnostic.assertAlwaysTrue(),e.testExpression)),!0}visitAssignment(e){return this._evaluator.evaluateTypesForStatement(e),e.typeAnnotationComment&&this._evaluator.getType(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&&Jo(t,(t=>{if(vo(t)&&t.tupleTypeArguments&&!da(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&&vo(i)&&Zs.isBuiltIn(i,"int")&&ra(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,$o.reportGeneralTypeIssues,ml.Diagnostic.tupleIndexOutOfRange().format({index:i.literalValue,type:this._evaluator.printType(t)}),e)}}})),!0}visitBinaryOperation(e){return 12!==e.operator&&28!==e.operator||function(e){let t,n=e;for(;n;){switch(n.nodeType){case 2:return n.testExpression===t}t=n,n=n.parent}return!1}(e)||this._validateComparisonTypes(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),!0}visitStringList(e){for(const t of e.strings)t.hasUnescapeErrors&&Vc(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,$o.reportInvalidStringEscapeSequence,ml.Diagnostic.stringUnsupportedEscape(),n):1===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringEscape(),n):2===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringBrace(),n):3===e.errorType&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.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,$o.reportImplicitStringConcatenation,ml.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 this._suppressUnboundCheck((()=>{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=Rt(e.module);t&&t.isImportFound&&2!==t.importType&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportWildcardImportFromLibrary,$o.reportWildcardImportFromLibrary,ml.Diagnostic.wildcardLibraryImport(),e.wildcardToken||e)}else e.imports.forEach((e=>{this._evaluator.evaluateTypesForStatement(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 function(e,t){const n=e.getTypeOfExpression(t.className,void 0,2).type;ho(n)||(n.typeAliasInfo&&_o(n)&&n.typeArguments&&n.isTypeArgumentExplicit?e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternTypeAlias().format({type:e.printType(n)}),t.className):!_o(n)||n.includeSubclasses?e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(n)}),t.className):mu.some((e=>n.details.fullName===e))&&(t.arguments.length>1?e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgCount(),t.arguments[1]):1===t.arguments.length&&t.arguments[0].name&&e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgPositional(),t.arguments[0].name)))}(this._evaluator,e),!0}visitTry(e){return this._reportUnusedExceptStatements(e),!0}visitError(e){return e.child&&this._evaluator.getType(e.child),!1}_validateExhaustiveMatch(e){if("none"===this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive)return;const t=this._evaluator.evaluateTypeForSubnode(e,(()=>{this._evaluator.evaluateTypesForMatchNode(e)}));if(t&&!ao(t.type)){const n=new il;n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveType().format({type:this._evaluator.printType(t.type)})),n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveHint()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive,$o.reportMatchNotExhaustive,ml.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&&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}(e)&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer,$o.reportCallInDefaultInitializer,ml.Diagnostic.defaultValueContainsCall(),e)}_validateComparisonTypes(e){const t=this._evaluator.getType(e.leftExpression),n=this._evaluator.getType(e.rightExpression);if(t&&n)if(sa(n)&&sa(t)){if(void 0===Xc(e,this._fileInfo.executionEnvironment)){let i=!1;Jo(t,(e=>{this._evaluator.canAssignType(n,e)&&(i=!0)})),i||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,ml.Diagnostic.comparisonAlwaysFalse().format({leftType:this._evaluator.printType(t,!0),rightType:this._evaluator.printType(n,!0)}),e)}}else{let i=!1;if(Jo(t,(e=>{i||(e=this._evaluator.makeTopLevelTypeVarsConcrete(e),Jo(n,(t=>{i||(t=this._evaluator.makeTopLevelTypeVarsConcrete(t),this._isTypeComparable(e,t)&&(i=!0))})))})),!i){const i=this._evaluator.printType(t,!0),r=this._evaluator.printType(n,!0),s=12===e.operator?ml.Diagnostic.comparisonAlwaysFalse():ml.Diagnostic.comparisonAlwaysTrue();this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,s.format({leftType:i,rightType:r}),e)}}}_isTypeComparable(e,t){if(ho(e)||ho(t))return!0;if(ao(e)||ao(t))return!1;if(To(e)||To(t))return!Ao(e,t);if(lo(e)||lo(t))return!Ao(e,t);if(_o(e)||vo(e)&&Zs.isBuiltIn(e,"type")){if(_o(t)||vo(t)&&Zs.isBuiltIn(t,"type")){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}const n=e.details.effectiveMetaclass;return!!(n&&yo(n)&&va(n,"__eq__",4))}if(vo(e)){if(vo(t)){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}return!!va(Zs.cloneAsInstantiable(e),"__eq__",4)}return!0}_isTypeValidForUnusedValueTest(e){return!lo(e)&&!ao(e)&&!ho(e)}_validateFunctionTypeVarUsage(e){if("none"===this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse)return;const t=new Map;let n=!0;const i=new Br(((i,r,s)=>{const o=this._evaluator.getType(i);if(o&&bo(o)&&o.scopeId===this._evaluator.getScopeIdForNode(e)){let e=o.details.constraints.length>0||n&&void 0!==o.details.boundType&&void 0!==r||wo(o);if(!e&&s&&void 0!==r){const t=this._evaluator.getType(s);(null==t?void 0:t.typeAliasInfo)&&t.typeAliasInfo.typeParameters&&r{const t=e.typeAnnotation||e.typeAnnotationComment;t&&i.walk(t)})),e.returnTypeAnnotation&&(n=!1,i.walk(e.returnTypeAnnotation)),t.forEach((e=>{1!==e.nodes.length||e.isExempt||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,ml.Diagnostic.typeVarUsedOnlyOnce().format({name:e.nodes[0].value}),e.nodes[0])}))}_validateOverloadConsistency(e,t,n){for(let i=0;i!n||!_o(n)||Da(e,n,!1),r=new il;let s;return ho(e)?s=e:_o(e)?(i(e)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),s=Zs.cloneAsInstance(e)):vo(e)&&(s=Ko(this._evaluator.getTypeFromIterator(e,!1,t)||Ys.create(),(t=>ho(t)?t:_o(t)?(i(t)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Zs.cloneAsInstance(t)):(r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Ys.create())))),r.isEmpty()||this._evaluator.addError(ml.Diagnostic.exceptionTypeNotClass().format({type:this._evaluator.printType(e,!1)}),t),s||Ys.create()}_reportUnusedDunderAllSymbols(e){if("none"===this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll)return;const t=Ft(this._moduleNode);t&&e.forEach((e=>{t.symbolTable.has(e.value)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.dunderAllSymbolNotPresent().format({name:e.value}),e)}))}_validateSymbolTables(){for(const e of this._scopedNodes){const t=Ft(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)}))}}_reportInvalidOverload(e,t){const n=t.getTypedDeclarations();if(n.length>=1){const i=n[0];if(3===i.type){const n=this._evaluator.getEffectiveTypeOfSymbol(t),r=(ko(n)?n.overloads:Eo(n)?[n]:[]).filter((e=>Xs.isOverloaded(e)));if(1===r.length&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.singleOverload().format({name:e}),i.node.name),r.forEach((t=>{if(t.details.declaration&&!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.details.declaration.node)){const n=new il;n.addMessage(ml.DiagnosticAddendum.overloadWithImplementation()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithImplementation().format({name:e})+n.getString(),t.details.declaration.node.name)}})),!this._fileInfo.isStubFile&&r.length>0){let t;if(ko(n)&&!Xs.isOverloaded(n.overloads[n.overloads.length-1])?t=n.overloads[n.overloads.length-1]:Eo(n)&&!Xs.isOverloaded(n)&&(t=n),t)ko(n)&&n.overloads.forEach(((n,r)=>{if(n===t||!Xs.isOverloaded(n))return;const s=new il;if(!this._isLegalOverloadImplementation(n,t,s)&&t.details.declaration){const o=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadImplementationMismatch().format({name:e,index:r+1})+s.getString(),t.details.declaration.node.name);o&&n.details.declaration&&o.addRelatedInfo(ml.DiagnosticAddendum.overloadMethod(),i.path,i.range)}}));else{let e=!1;const t=Dr(i.node);if(t&&10===t.nodeType){const n=this._evaluator.getTypeOfClass(t);n&&Zs.isProtocolClass(n.classType)&&(e=!0)}e||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithoutImplementation().format({name:i.node.name.value}),i.node.name)}}}}}_reportMultipleFinalDeclarations(e,t,n){if(!Wo(t))return;const i=t.getDeclarations();let r=!1,s=!1;if(i.forEach((t=>{rs(t)&&(r&&this._evaluator.addError(ml.Diagnostic.finalRedeclaration().format({name:e}),t.node),r=!0),1===t.type&&t.inferredTypeSource&&(s&&2!==n&&this._evaluator.addError(ml.Diagnostic.finalReassigned().format({name:e}),t.node),s=!0)})),!s&&!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=Er(n.node,!0);if(e){const t=this._evaluator.getTypeOfClass(e);t&&yo(t.decoratedType)&&Zs.isDataClass(t.decoratedType)&&(i=!0)}}i||this._evaluator.addError(ml.Diagnostic.finalUnassigned().format({name:e}),n.node)}}}_reportMultipleTypeAliasDeclarations(e,t){const n=t.getDeclarations(),i=n.find((e=>ss(e)));i&&n.length>1&&n.forEach((t=>{t!==i&&this._evaluator.addError(ml.Diagnostic.typeAliasRedeclared().format({name:e}),t.node)}))}_reportIncompatibleDeclarations(e,t){const n=Vo(t);if(!n)return;if("_"===e)return;let i,r=t.getDeclarations().filter((e=>e!==n));if(3===n.type){const e=this._evaluator.getTypeOfFunction(n.node);r=r.filter((t=>{if(3!==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&&vo(i)&&Zs.isPropertyClass(i)&&vo(n.decoratedType)&&Zs.isPropertyClass(n.decoratedType)?n.decoratedType.details.typeSourceId!==i.details.typeSourceId:!Xs.isOverloaded(n.functionType)}))}if(0===r.length)return;i=3===n.type?n.isMethod?ml.DiagnosticAddendum.seeMethodDeclaration():ml.DiagnosticAddendum.seeFunctionDeclaration():4===n.type?ml.DiagnosticAddendum.seeClassDeclaration():2===n.type?ml.DiagnosticAddendum.seeParameterDeclaration():1===n.type?ml.DiagnosticAddendum.seeVariableDeclaration():ml.DiagnosticAddendum.seeDeclaration();const s=e=>{if(e){let t;3===n.type||4===n.type?t=n.node.name:1===n.type?38===n.node.nodeType&&(t=n.node):2===n.type&&n.node.name&&(t=n.node.name),t&&e.addRelatedInfo(i,n.path,n.range)}};for(const t of r)if(4===t.type)s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredClassDeclaration().format({name:e}),t.node.name));else if(3===t.type){const i=this._evaluator.getTypeForDeclaration(n);i&&Eo(i)&&this._evaluator.getFunctionInferredReturnType(i);let r=!1;const o=this._evaluator.getTypeForDeclaration(t),a=wr(n.node)===wr(t.node);o&&Eo(o)&&this._evaluator.getFunctionInferredReturnType(o),i&&o&&Ao(i,o)&&(r=!0),(!r||a)&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t.isMethod?ml.Diagnostic.obscuredMethodDeclaration().format({name:e}):ml.Diagnostic.obscuredFunctionDeclaration().format({name:e}),t.node.name))}else if(2===t.type)t.node.name&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredParameterDeclaration().format({name:e}),t.node.name));else if(1===t.type){const i=this._evaluator.getTypeForDeclaration(n);if(t.typeAnnotationNode){if(38===t.node.nodeType){let n=!1;const r=this._evaluator.getTypeForDeclaration(t);i&&r&&Ao(i,r)&&(n=!0),n||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}else!i||ua(i)||3!==n.type&&4!==n.type||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}_conditionallyReportUnusedSymbol(e,t,n){const i=this._fileInfo.accessedSymbolMap;t.isIgnoredForProtocolMatch()||i.has(t.id)||"_"!==e&&(Qt(e)||t.getDeclarations().forEach((t=>{this._conditionallyReportUnusedDeclaration(t,this._isSymbolPrivate(e,n))})))}_conditionallyReportUnusedDeclaration(e,t){let n,i,r,s;switch(e.type){case 6:if(n=this._fileInfo.diagnosticRuleSet.reportUnusedImport,s=$o.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 dt.extend(n,t[t.length-1]),this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:e}),n,{action:"pyright.unusedImport"}),void this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportUnusedImport,$o.reportUnusedImport,ml.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,r=1===t.module.nameParts.length&&"__future__"===t.module.nameParts[0].value;n||r||(i=e.node.alias||e.node.name)}i&&(r=ml.Diagnostic.unaccessedImport().format({name:i.value}));break;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&&(s=$o.reportUnusedVariable,r=ml.Diagnostic.unaccessedVariable().format({name:i.value}));break;case 4:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedClass,i=e.node.name,s=$o.reportUnusedClass,r=ml.Diagnostic.unaccessedClass().format({name:i.value});break;case 3:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedFunction,i=e.node.name,s=$o.reportUnusedFunction,r=ml.Diagnostic.unaccessedFunction().format({name:i.value});break;default:return}if(i&&void 0!==s&&r){const e=s===$o.reportUnusedImport?{action:"pyright.unusedImport"}:void 0;this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:i.value}),i,e),this._evaluator.addDiagnostic(n,s,r,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=Ko(i,(e=>ta(e)));const r=this._evaluator.getType(e.arguments[1].valueExpression);if(!r)return;let s=!0;if(Jo(r,(e=>{vo(e)&&Zs.isTupleClass(e)&&e.tupleTypeArguments?e.tupleTypeArguments.some((e=>!this._isTypeSupportedTypeForIsInstance(e.type,n)))&&(s=!1):this._isTypeSupportedTypeForIsInstance(e,n)||(s=!1)})),!s){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarNotAllowed()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n?ml.Diagnostic.isInstanceInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString():ml.Diagnostic.isSubclassInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString(),e.arguments[1])}let o=e;for(;o;){if(2===o.nodeType)return;o=o.parent}const a=["FunctionType","LambdaType","BuiltinFunctionType","BuiltinMethodType","type","Type"],l=[];let c=!1;if(Jo(r,(e=>{yo(e)?Ks.isInstantiable(e)?void 0===e.literalValue&&(l.push(e),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1),e.includeSubclasses&&(c=!0)):(pa(e)?e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{_o(e.type)?(l.push(e.type),e.type.includeSubclasses&&(c=!0)):s=!1})):e.includeSubclasses&&(c=!0),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1)):s=!1})),!s)return;if(l.some((e=>Zs.isProtocolClass(e)&&!Zs.isRuntimeCheckable(e)))&&this._evaluator.addError(ml.Diagnostic.protocolUsedInCall().format({name:t}),e.arguments[1].valueExpression),function(e){let t=!1;return Jo(e,(n=>{ho(e)?t=!0:_o(n)?Zs.hasUnknownBaseClass(n)&&(t=!0):vo(n)&&Zs.hasUnknownBaseClass(n)&&(t=!0)})),t}(i))return;const u=e=>Oo(e),p=e=>{const t=[];for(const i of l){const r=Zs.isDerivedFrom(e,i)||n&&Zs.isProtocolClass(i)&&this._evaluator.canAssignType(i,e)||Zs.isBuiltIn(i,"dict")&&Zs.isTypedDictClass(e),s=Zs.isDerivedFrom(i,e)||n&&Zs.isProtocolClass(e)&&this._evaluator.canAssignType(e,i);s&&s&&!Zs.isSameGenericClass(e,i)?t.push(Ys.create()):r?t.push(e):s&&t.push(i)}return n?t.map((e=>_o(e)?Zs.cloneAsInstance(e):e)):t};let d;if(n&&vo(i))d=u(p(Zs.cloneAsInstantiable(i)));else if(!n&&_o(i))d=u(p(i));else{if(!fo(i))return;{let e=[],t=!1;if(Jo(i,(i=>{ho(i)&&(t=!0),n&&vo(i)?e=e.concat(p(Zs.cloneAsInstantiable(i))):!n&&_o(i)&&(e=e.concat(p(i)))})),d=u(e),t)return}}const h=()=>Oo(l.map((e=>Zs.cloneAsInstance(e))));!c&&Ao(d,i,!0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryIsInstance,$o.reportUnnecessaryIsInstance,n?ml.Diagnostic.unnecessaryIsInstanceAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}):ml.Diagnostic.unnecessaryIsSubclassAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}),e)}_isTypeSupportedTypeForIsInstance(e,t){let n=!0;return Jo(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&&Ks.isInstantiable(e);break;case 5:n=Ks.isInstantiable(e);break;case 9:n=this._isTypeSupportedTypeForIsInstance(e,t);break;default:n=!1}})),n}_isSymbolPrivate(e,t){return 1===t||0===t||(!!Kt(e)||!!Jt(e)&&!(2===t))}_reportDeprecatedUse(e){var t;const n=null!==(t=Su.get(e.value))&&void 0!==t?t:xu.get(e.value);if(!n)return;const i=this._evaluator.getType(e);i&&_o(i)&&i.details.fullName===n.fullName&&this._fileInfo.executionEnvironment.pythonVersion>=n.version&&this._evaluator.addDeprecated(ml.Diagnostic.deprecatedType().format({version:Pe(n.version),replacement:n.replacementText}),e)}_reportUnboundName(e){if("none"!==this._fileInfo.diagnosticRuleSet.reportUnboundVariable&&!zt(e)){const t=this._evaluator.getType(e);t&&(mo(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsUnbound().format({name:e.value}),e):go(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.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=Kt(n),r=Jt(n);if(!i&&!r)return;const s=this._evaluator.getDeclarationsForNameNode(e);let o,a=s&&s.length>0?s[s.length-1]:void 0;if(!a||a.node===e)return;if(6===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=Er(a.node)),a.node&&a.node.parent&&a.node.parent===o&&(o=Er(o));let l=!1;if(o&&r){const t=this._evaluator.getTypeOfClass(o);if(t&&_o(t.decoratedType)){if(Zs.isDefinedInStub(t.decoratedType))return;l=!0;const n=Er(e);if(n){const e=this._evaluator.getTypeOfClass(n);if(e&&_o(e.decoratedType)&&Da(e.decoratedType,t.decoratedType,!0))return}}}o&&!Mr(e,o)&&(l?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.protectedUsedOutsideOfClass().format({name:n}),e):this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfClass().format({name:n}),e))}_validateEnumClassOverride(e,t){t.details.baseClasses.forEach(((t,n)=>{if(yo(t)&&Zs.isEnumClass(t)){let i=!1;t.details.fields.forEach((e=>{const n=this._evaluator.getEffectiveTypeOfSymbol(e);vo(n)&&Zs.isSameGenericClass(n,t)&&(i=!0)})),i&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.enumClassOverride().format({name:t.details.name}),e.arguments[n])}}))}_validateTypedDictClassSuite(e){const t=e=>{this._evaluator.addError(ml.Diagnostic.typedDictBadVar(),e)};e.statements.forEach((e=>{if(!zt(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(!vo(t.details.declaredReturnType)||!Zs.isBuiltIn(t.details.declaredReturnType,"StrictTypeGuard")||!t.details.declaredReturnType.typeArguments||t.details.declaredReturnType.typeArguments.length<1)return;const r=t.details.declaredReturnType.typeArguments[0],s=n&&!Xs.isStaticMethod(t)?1:0;if(s>=t.details.parameters.length)return;const o=Xs.getEffectiveParameterType(t,s);if(!this._evaluator.canAssignType(o,r)){const t=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation);t&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.strictTypeGuardReturnType().format({type:this._evaluator.printType(o),returnType:this._evaluator.printType(r)}),t)}}_validateDunderSignatures(e,t,n){var i;const r=t.details.name;if(n&&"__init__"===r){const n=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation),r=t.details.declaredReturnType;if(n&&r)lo(r)||ao(r)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),n);else{const n=this._evaluator.getFunctionInferredReturnType(t);ao(n)||lo(n)||ho(n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.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),r=this._evaluator.isAfterNodeReachable(e.suite);let s=t.details.declaredReturnType;if(s){po(s)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypeUnknown(),i):La(s)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(s,!0)}),i);const e=new il;bo(s)&&2===s.details.variance&&(e.addMessage(ml.DiagnosticAddendum.typeVarIsContravariant().format({name:oo.getReadableName(s)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeContravariant()+e.getString(),i))}if(Xs.isGenerator(t)&&(s=Pa(t)),s&&!n&&r)if(ao(s))Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnReturnsNone(),i);else if(!Xs.isAbstractMethod(t)){const n=new il;this._evaluator.canAssignType(s,to.createInstance(),n)||Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnMissing().format({returnType:this._evaluator.printType(s,!1)})+n.getString(),i)}}else{const n=this._evaluator.getFunctionInferredReturnType(t);po(n)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name):La(n)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(n,!0)}),e.name)}}_validateFinalMemberOverrides(e){e.details.fields.forEach(((t,n)=>{const i=va(e,n,1);if(i&&_o(i.classType)&&Wo(i.symbol)&&!Kt(n)){const e=t.getDeclarations()[0];this._evaluator.addError(ml.Diagnostic.finalRedeclarationBySubclass().format({name:n,className:i.classType.details.name}),e.node)}}))}_reportDuplicateEnumMembers(e){Zs.isEnumClass(e)&&!Zs.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 r=this._evaluator.getEffectiveTypeOfSymbol(t);vo(r)&&Zs.isSameGenericClass(r,e)&&void 0!==r.literalValue&&this._evaluator.addError(ml.Diagnostic.duplicateEnumMember().format({name:n}),i[1].node)}}))}_validateProtocolCompatibility(e,t){if(Zs.isProtocolClass(e))return;const n=new il,i=t=>e.details.mro.some((e=>yo(e)&&!Zs.isProtocolClass(e)&&e.details.fields.has(t)));e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ga(e).forEach(((e,t)=>{const r=e.symbol.getDeclarations();0!==r.length&&yo(e.classType)&&(1===r[0].type?r.some((e=>1===e.type&&!!e.inferredTypeSource))||i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name})):3===r[0].type&&Or(r[0].node.suite)&&r[0]&&".pyi"!==pe(r[0].path).toLowerCase()&&(i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name}))))}))})),n.isEmpty()||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.missingProtocolMembers()+n.getString(),t.name)}_validateDataClassPostInit(e,t){if(!Zs.isDataClass(e))return;const n=va(e,"__post_init__",18);if(!n)return;const i=new Map;e.details.fields.forEach(((e,t)=>{e.isInitVar()&&i.set(t,e)}));const r=this._evaluator.getTypeOfMember(n);if(!Eo(r)||!Xs.isInstanceMethod(r)||!r.details.declaration)return;const s=Ho(r);if(void 0!==s.argsIndex||void 0!==s.kwargsIndex||void 0!==s.firstKeywordOnlyIndex)return;const o=s.params.filter((e=>!e.param.hasDefault)),a=i.size+1;(as.params.length)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitParamCount().format({expected:i.size}),r.details.declaration.node.name);let l=1;i.forEach(((e,t)=>{if(l>=s.params.length)return;const n=s.params[l].param;if(n.hasDeclaredType&&n.typeAnnotation){const i=this._evaluator.getDeclaredTypeOfSymbol(e),o=Xs.getEffectiveParameterType(r,s.params[l].index),a=new il;if(i&&!this._evaluator.canAssignType(o,i,a)){const i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitType().format({fieldName:t})+a.getString(),n.typeAnnotation);if(i){const t=e.getTypedDeclarations();t.length>0&&i.addRelatedInfo(ml.DiagnosticAddendum.dataClassFieldLocation(),t[0].path,t[0].range)}}}l++}))}_validateFinalClassNotAbstract(e,t){if(!Zs.isFinal(e))return;if(!Zs.supportsAbstractMethods(e))return;const n=this._evaluator.getAbstractMethods(e);if(0===n.length)return;const i=new il;n.forEach(((e,t)=>{if(2===t)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:n.length-2}));else if(t<2&&_o(e.classType)){const t=e.classType.details.name;i.addMessage(ml.DiagnosticAddendum.memberIsAbstract().format({type:t,name:e.symbolName}))}})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalClassIsAbstract().format({type:e.details.name})+i.getString(),t.name)}_validateInstanceVariableInitialization(e){"none"!==this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable&&e.details.fields.forEach(((t,n)=>{if(!t.isInstanceMember())return;const i=t.getDeclarations();i.find((e=>{const t=Dr(e.node);return!t||10===t.nodeType||"__init__"===t.name.value}))||va(e,n,1)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable,$o.reportUninitializedInstanceVariable,ml.Diagnostic.uninitializedInstanceVariable().format({name:n}),i[0].node)}))}_validateProtocolTypeParamVariance(e,t){const n=t.details.typeParameters.filter((e=>!wo(e)));if(0===n.length)return;const i=this._evaluator.getBuiltInType(e,"object");if(!_o(i))return;const r=n.map((e=>Io(e)?e:oo.cloneAsInvariant(e))),s=Zs.cloneWithNewTypeParameters(t,r),o=Zs.cloneAsInstance(i),a=Zs.createInstantiable("__protocolVarianceDummy","","","",0,0,void 0,void 0);r.forEach(((i,l)=>{if(i.details.isVariadic)return;const c=r.map(((e,t)=>e.details.isVariadic?e:t===l?o:a)),u=r.map(((e,t)=>t===l||e.details.isVariadic?e:a)),p=Zs.cloneForSpecialization(s,c,!0),d=Zs.cloneForSpecialization(s,u,!0);let h;if(h=this._evaluator.canAssignProtocolClassToSelf(p,d)?1:this._evaluator.canAssignProtocolClassToSelf(d,p)?2:0,h!==n[l].details.variance){let n;n=1===h?ml.Diagnostic.protocolVarianceCovariant().format({variable:i.details.name,class:t.details.name}):2===h?ml.Diagnostic.protocolVarianceContravariant().format({variable:i.details.name,class:t.details.name}):ml.Diagnostic.protocolVarianceInvariant().format({variable:i.details.name,class:t.details.name}),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,n,e.name)}}))}_validateSlotsClassVarConflict(e){e.details.localSlotsNames&&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&&$r(e.node)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsClassVarConflict().format({name:t}),e.node)}))}))}_validateConstructorConsistency(e){const t=va(e,"__init__",12),n=va(e,"__new__",12);if(!(t&&n&&yo(t.classType)&&yo(n.classType)))return;if(!Zs.isSameGenericClass(n.classType,e)&&!Zs.isSameGenericClass(t.classType,e))return;const i=n.classType.details.effectiveMetaclass;if(i&&yo(i)&&!Zs.isBuiltIn(i,"type")&&va(i,"__call__",40))return;let r=this._evaluator.getTypeOfMember(n);if(!Eo(r)&&!ko(r))return;if(r=this._evaluator.bindFunctionToClassOrObject(e,r,void 0,void 0,void 0,!0),!r)return;if(ko(r)&&(r=r.overloads.find((e=>!Xs.isOverloaded(e))),!r))return;let s=this._evaluator.getTypeOfMember(t);if((Eo(s)||ko(s))&&(s=this._evaluator.bindFunctionToClassOrObject(Zs.cloneAsInstance(e),s),s&&(!ko(s)||(s=s.overloads.find((e=>!Xs.isOverloaded(e))),s))&&Eo(s)&&Eo(r)&&!(Xs.hasDefaultParameters(s)||Xs.hasDefaultParameters(r)||(s=Xs.cloneWithNewFlags(s,98304|s.details.flags),r=Xs.cloneWithNewFlags(r,98304|s.details.flags),this._evaluator.canAssignType(r,s,void 0,void 0,32)&&this._evaluator.canAssignType(s,r,void 0,void 0,32))))){const i=Zs.isSameGenericClass(t.classType,e),o=Vo(t.symbol),a=Vo(n.symbol);if(o&&a){const e=i?o:a,l=28===e.node.nodeType?e.node.name:e.node,c=new il,u=this._evaluator.printType(s),p=this._evaluator.printType(r);c.addMessage(ml.DiagnosticAddendum.initMethodSignature().format({type:u})),c.addMessage(ml.DiagnosticAddendum.newMethodSignature().format({type:p}));const d=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInconsistentConstructor,$o.reportInconsistentConstructor,ml.Diagnostic.constructorParametersMismatch().format({classType:this._evaluator.printType(Zs.cloneAsInstance(i?t.classType:n.classType))})+c.getString(),l);if(d){const e=i?a:o;d.addRelatedInfo((i?ml.DiagnosticAddendum.newMethodLocation():ml.DiagnosticAddendum.initMethodLocation()).format({type:this._evaluator.printType(Zs.cloneAsInstance(i?n.classType:t.classType))}),e.path,e.range)}}}}_validateMultipleInheritanceCompatibility(e,t){if("none"===this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride)return;const n=[];if(e.details.baseClasses.forEach((e=>{!yo(e)||Zs.isBuiltIn(e,"Generic")||Zs.isBuiltIn(e,"Protocol")||n.push(e)})),n.length<2)return;const i=n.map((t=>{const n=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,t)));return n&&yo(n)?function(e){const t=new Map;for(let n=e.details.mro.length-1;n>=0;n--){const i=ha(e.details.mro[n],e);yo(i)?i.details.fields.forEach(((e,n)=>{!e.isIgnoredForProtocolMatch()&&e.hasTypedDeclarations()&&t.set(n,{classType:i,symbol:e,isInstanceMember:e.isInstanceMember(),isClassVar:e.isClassVar(),isTypeDeclared:!0,skippedUndeclaredType:!1})})):t.clear()}return t}(n):new Map}));for(let r=1;r{var i;if(Kt(n))return;if(!t.hasTypedDeclarations())return;const r=this._evaluator.getEffectiveTypeOfSymbol(t);if(!ho(r))for(const s of e.details.baseClasses){if(!yo(s))continue;const o=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,s)));if(!o)continue;const a=va(o,n,0);if(!a||!_o(a.classType))continue;if(!a.symbol.hasTypedDeclarations())continue;const l=ha(this._evaluator.getEffectiveTypeOfSymbol(a.symbol),a.classType);if(Eo(l)||ko(l)){const e=new il;let s;if(Eo(r)?s=r:ko(r)&&(s=r.overloads[r.overloads.length-1]),s){const r=["__init__","__new__","__init_subclass__"],o=!Qt(n);if(!r.some((e=>e===n))&&!Kt(n)&&!this._evaluator.canOverrideMethod(l,s,e,o)){const r=null!==(i=s.details.declaration)&&void 0!==i?i:Vo(t);if(r){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.incompatibleMethodOverride().format({name:n,className:a.classType.details.name})+e.getString(),3===r.type?r.node.name:r.node),i=Vo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),i.path,i.range)}}if(Eo(l)&&!Kt(n)&&Xs.isFinal(l)){const e=Vo(t);if(e&&3===e.type){const t=this._evaluator.addError(ml.Diagnostic.finalMethodOverride().format({name:n,className:a.classType.details.name}),e.node.name),i=Vo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.finalMethod(),i.path,i.range)}}}else if(!ho(r)&&!Zs.isBuiltIn(a.classType,"_TypedDict")){const e=t.getDeclarations();if(e.length>0){const t=e[e.length-1],i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.methodOverridden().format({name:n,className:a.classType.details.name,type:this._evaluator.printType(r,!1)}),t.node),s=Vo(a.symbol);i&&s&&i.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),s.path,s.range)}}}else if(ua(l))if(ua(r)){const i=l.details.fields,s=r.details.fields,o=a.classType;["fget","fset","fdel"].forEach((r=>{const a=new il,l=i.get(r),c=s.get(r);if(l){const i=ha(this._evaluator.getEffectiveTypeOfSymbol(l),o);if(Eo(i))if(c){const t=ha(this._evaluator.getEffectiveTypeOfSymbol(c),e);if(Eo(t)&&!this._evaluator.canOverrideMethod(i,t,a.createAddendum())){a.addMessage(ml.DiagnosticAddendum.propertyMethodIncompatible().format({name:r}));const e=t.details.declaration;if(e&&3===e.type){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e.node.name),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}else{a.addMessage(ml.DiagnosticAddendum.propertyMethodMissing().format({name:r}));const e=t.getDeclarations();if(e.length>0){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e[e.length-1].node),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}}))}else{const e=t.getDeclarations();e.length>0&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:a.classType.details.name}),e[e.length-1].node)}else if("none"!==this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride){const e=t.getDeclarations();if(e.length>0){const i=e[e.length-1],s=new il;if(!this._evaluator.canAssignType(l,r,s)){const e=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,ml.Diagnostic.symbolOverridden().format({name:n,className:a.classType.details.name})+s.getString(),i.node),t=Vo(a.symbol);e&&t&&e.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),t.path,t.range)}const o=a.symbol.isClassVar();let c=t.isClassVar();if(o&&!c&&(t.hasTypedDeclarations()||(c=!0),t.getTypedDeclarations().every((e=>4===e.type))&&(c=!0)),o!==c){const e=t.isClassVar()?ml.Diagnostic.classVarOverridesInstanceVar():ml.Diagnostic.instanceVarOverridesClassVar(),r=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,e.format({name:n,className:a.classType.details.name}),i.node),s=Vo(a.symbol);r&&s&&r.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),s.path,s.range)}}}}}))}_validateMethod(e,t,n){const i=this._evaluator.getTypeOfClass(n),r=null==i?void 0:i.classType;if(e.name&&r&&["__init__","__init_subclass__","__enter__","__exit__"].some((t=>t===e.name.value))&&(Xs.isAbstractMethod(t)||Xs.isOverloaded(t)||this._fileInfo.isStubFile||this._validateSuperCallForMethod(e,t,r)),e.name&&"__new__"===e.name.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,$o.reportSelfClsParameterName,ml.Diagnostic.newClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__init_subclass__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.initSubclassClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__class_getitem__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classGetItemClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(Xs.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,$o.reportSelfClsParameterName,ml.Diagnostic.staticClsSelfParam(),e.parameters[0].name)}}else if(Xs.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,$o.reportSelfClsParameterName,ml.Diagnostic.classMethodClsParam(),e.parameters.length>0?e.parameters[0]:e.name)),r&&this._validateClsSelfParameterType(t,r,!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&&_o(t)&&e&&_o(e.classType)&&Da(e.classType,t,!0)&&(i=!0)}const r=Yt(t);i||r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.instanceMethodSelfParam(),e.parameters.length>0?e.parameters[0]:e.name)}}r&&this._validateClsSelfParameterType(t,r,!1)}}_validateSuperCallForMethod(e,t,n){if("none"===this._fileInfo.diagnosticRuleSet.reportMissingSuperCall)return;let i=9;if(Zs.isFinal(n)&&(i|=4),!va(n,t.details.name,i))return;let r=!1;new Wr((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)r=!0;else{const e=this._evaluator.getType(t);e&&_o(e)&&(r=!0)}}})).walk(e.suite),r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingSuperCall,$o.reportMissingSuperCall,ml.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(Zs.isProtocolClass(t))return;const r=this._evaluator.makeTopLevelTypeVarsConcrete(i.type),s=n?t:Fa(t);_o(r)&&Zs.isProtocolClass(r)||vo(r)&&Zs.isProtocolClass(r)||Xs.isOverloaded(e)||this._evaluator.canAssignType(r,s)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.clsSelfParamTypeMismatch().format({name:i.name,classType:this._evaluator.printType(s,!1)}),i.typeAnnotation)}_validateYieldType(e,t){let n,i;const r=kr(e);if(r){const e=this._evaluator.getTypeOfFunction(r);e&&(w(Eo(e.functionType)),n=Xs.getSpecializedReturnType(e.functionType),n&&(i=function(e,t){let n=!0;const i=Ko(e,(e=>ho(e)?e:vo(e)&&[["AsyncIterable","Iterable"],["AsyncIterator","Iterator"],["AsyncGenerator","Generator"],["","AwaitableGenerator"]].some((n=>Zs.isBuiltIn(e,t?n[0]:n[1])))?e.typeArguments&&e.typeArguments.length>=1?e.typeArguments[0]:Ys.create():void(n=!1)));return n?i:void 0}(n,!!r.isAsync)),n&&!i&&r.returnTypeAnnotation&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r.isAsync?ml.Diagnostic.generatorAsyncReturnType():ml.Diagnostic.generatorSyncReturnType(),r.returnTypeAnnotation))}if(this._evaluator.isNodeReachable(e,void 0))if(n&&ao(n))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsYield(),e);else if(i){const n=new il;this._evaluator.canAssignType(i,t,n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.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||ho(i))return void(t=!0);const r=[];if(_o(i)?(i.includeSubclasses&&(t=!0),r.push(i)):vo(i)&&Jo(this._evaluator.getTypeFromIterator(i,!1,void 0)||Ys.create(),(e=>{ho(e)&&(t=!0),_o(e)&&(e.includeSubclasses&&(t=!0),r.push(e))})),n.length>0){const t=new il;let i=0;r.forEach((e=>{const r=n.find((t=>Da(e,t,!0)));r&&(t.addMessage(ml.DiagnosticAddendum.unreachableExcept().format({exceptionType:this._evaluator.printType(Fa(e)),parentType:this._evaluator.printType(Fa(r))})),i++)})),r.length===i&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unreachableExcept()+t.getString(),e.typeExpression),this._evaluator.addUnusedCode(e,e.exceptSuite))}n.push(...r)}))}_reportDuplicateImports(){const e=tn(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,$o.reportDuplicateImport,ml.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,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.moduleName}),e.subnode):t.set(e.moduleName,e.subnode))}))}}function wu(e){Eu(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",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",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error"},[$o.reportMissingModuleSource])}function Eu(e,t,n){const i=Cc(),r=wc();for(const r of i)n.find((e=>e===r))||t[r]&&(e[r]=!0);for(const i of r){if(n.find((e=>e===i)))continue;const r=t[i],s=e[i];("error"===r||"warning"===r&&"error"!==s||"information"===r&&"error"!==s&&"warning"!==s)&&(e[i]=r)}}function ku(e,t){const n=["pyright:","mspython:"].find((t=>e.startsWith(t)));if(n){const i=e.substr(n.length).trim().split(",").map((e=>e.trim()));i.some((e=>"strict"===e))?wu(t):i.some((e=>"basic"===e))&&function(e){Eu(e,{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",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",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none"},[])}(t);for(const e of i)t=Du(e,t)}return t}function Du(e,t){const n=e.split("=").map((e=>e.trim()));if(2!==n.length)return t;const i=n[0],r=Cc();if(wc().find((e=>e===i))){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[i]=e)}else if(r.find((e=>e===i))){const e="false"!==(s=n[1])&&("true"===s||void 0);void 0!==e&&(t[i]=e)}var s;return t}class Au extends _r{constructor(e){super(),this._parseTree=e}clean(){this.walk(this._parseTree)}visitNode(e){return 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}(e),super.visitNode(e)}}class Pu extends _r{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&&E(`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.startdt.getEnd(e))&&E(`Child node ${t.nodeType} is not contained within its parent ${e.nodeType}`),n&&t.start0&&(i=i.filter((e=>{if(3!==e.category&&4!==e.category)for(let t=e.range.start.line;t<=e.range.end.line;t++)if(this._typeIgnoreLines.has(t))return s.delete(t),!1;return!0})));const o=[];if("none"!==this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment){const e=tl(this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment);0===r.filter((e=>0===e.category||1===e.category||2===e.category)).length&&void 0!==this._typeIgnoreAll&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(this._typeIgnoreAll.start,this._typeIgnoreAll.start+this._typeIgnoreAll.length,this._parseResults.tokenizerOutput.lines))),s.forEach((t=>{var n;(null===(n=this._parseResults)||void 0===n?void 0:n.tokenizerOutput.lines)&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines)))}))}if("none"!==this._diagnosticRuleSet.reportImportCycles&&this._circularDependencies.length>0){const e=tl(this._diagnosticRuleSet.reportImportCycles);this._circularDependencies.forEach((t=>{i.push(new nl(e,ml.Diagnostic.importCycleDetected()+"\n"+t.getPaths().map((e=>" "+e)).join("\n"),{start:{line:0,character:0},end:{line:0,character:0}}))}))}return void 0!==this._hitMaxImportDepth&&i.push(new nl(0,ml.Diagnostic.importDepthExceeded().format({depth:this._hitMaxImportDepth}),{start:{line:0,character:0},end:{line:0,character:0}})),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.push(...o),n||(i=i.filter((e=>3===e.category||4===e.category))),i}getImports(){return this._imports||[]}getBuiltinsImport(){return this._builtinsImport}getIPythonDisplayImport(){return this._ipythonDisplayImport}getModuleSymbolTable(){return this._moduleSymbolTable}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(M(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._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!==Wt(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=ic.create(this._filePath,"python",e,"")),this._clientDocument=ic.update(this._clientDocument,t,e);const n=this._clientDocument.getText(),i=M(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++}setHitMaxImportDepth(e){this._hitMaxImportDepth=e}parse(e,t,n){return this._logTracker.log(`parsing: ${this._getPathForLogging(this._filePath)}`,(i=>{var r;if(!this.isParseRequired())return i.suppress(),!1;const s=new kc;let o=this.getOpenFileContents();if(void 0===o)try{const e=Fn.readFileTime.totalTime;Fn.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=M(o)})),i.add(`fs read ${Fn.readFileTime.totalTime-e}ms`)}catch(e){s.addError("Source file could not be read",{start:{line:0,character:0},end:{line:0,character:0}}),o="",this.fileSystem.existsSync(this._filePath)||(this._isFileDeleted=!0)}const a=e.findExecEnvironment(this._filePath),l=new Jc;l.ipythonMode=this._ipythonMode,this._filePath.endsWith("pyi")&&(l.isStubFile=!0),l.pythonVersion=a.pythonVersion,l.skipFunctionAndClassBody=null!==(r=e.indexGenerationMode)&&void 0!==r&&r;try{const n=(new Qc).parseSourceFile(o,l,s);w(void 0!==n&&void 0!==n.tokenizerOutput),this._parseResults=n,this._typeIgnoreLines=this._parseResults.tokenizerOutput.typeIgnoreLines,this._typeIgnoreAll=this._parseResults.tokenizerOutput.typeIgnoreAll,Fn.resolveImportsTime.timeOperation((()=>{const e=this._resolveImports(t,n.importedModules,a);this._imports=e.imports,this._builtinsImport=e.builtinsImportResult,this._ipythonDisplayImport=e.ipythonDisplayImportResult,this._parseDiagnostics=s.fetchAndClear()}));const i=void 0!==e.strict.find((e=>e.regExp.test(this._filePath)));this._diagnosticRuleSet=function(e,t,n){let i=(r=t,Object.assign({},r));var r;n&&wu(i);for(let t=0;t{if(!this._parseResults||!this.isIndexingRequired())return void n.suppress();this._indexingNeeded=!1;const i=Fc.indexSymbols(Vt(this._parseResults.parseTree),this._parseResults,e,t);return n.add(`found ${i.length}`),{privateOrProtected:Yt(he(de(this._filePath))),symbols:i}}))}getDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getTypeDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getTypeDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getDeclarationForNode(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForNode(e,this._filePath,t,n,i,r)}getDeclarationForPosition(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForPosition(e,this._parseResults,this._filePath,t,n,i,r)}addReferences(e,t,n,i){this._parseResults&&tc.addReferences(this._parseResults,this._filePath,e,t,n,i)}addHierarchicalSymbolsForDocument(e,t){(this._parseResults||this._cachedIndexResults)&&Fc.addHierarchicalSymbolsForDocument(this._parseResults?Vt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,e,t)}getSymbolsForDocument(e,t){return this._parseResults||this._cachedIndexResults?Fc.getSymbolsForDocument(this._parseResults?Vt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,this._filePath,e,t):[]}getHoverForPosition(e,t,n,i,r){if(!this._isBindingNeeded&&this._parseResults)return class{static getHoverForPosition(e,t,n,i,r,s){ct(s);const o=xt(n,t.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(t.parseTree,o);if(void 0===a)return;const l={parts:[],range:{start:It(a.start,t.tokenizerOutput.lines),end:It(dt.getEnd(a),t.tokenizerOutput.lines)}};if(38===a.nodeType){const t=r.getDeclarationsForNameNode(a);if(t&&t.length>0){let n=t[0];6===n.type&&t.length>1&&(n=t[1]),this._addResultsForDeclaration(i,e,l.parts,n,a,r)}else if((!a.parent||37!==a.parent.nodeType)&&0===l.parts.length){const t=r.getType(a)||Ys.create();let n="";n=To(t)?"(module) "+a.value:a.value+": "+r.printType(t,!1),this._addResultsPart(l.parts,n,!0),this._addDocumentationPart(i,e,l.parts,a,r,void 0)}}return l.parts.length>0?l:void 0}static _addResultsForDeclaration(e,t,n,i,r,s){var o;const a=s.resolveAliasDeclaration(i,!0);if(a)switch(a.type){case 0:this._addResultsPart(n,r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 1:{let l=a.isConstant||a.isFinal?"constant":"variable",c=r;21===i.node.nodeType||23===i.node.nodeType?i.node.alias&&r!==i.node.alias&&38===a.node.nodeType&&(c=a.node):1===(null===(o=r.parent)||void 0===o?void 0:o.nodeType)&&r.parent.name===r&&38===i.node.nodeType&&(c=i.node);const u=s.getType(c);let p,d=!1;if(null==u?void 0:u.typeAliasInfo){const e=Do(u);(null==e?void 0:e.name)===c.value&&(bo(u)?(l=u.details.isParamSpec?"param spec":"type variable",p=u.details.name):(d=!0,l="type alias"))}const h=p||r.value+this._getTypeText(c,s,d);this._addResultsPart(n,`(${l}) ${h}`,!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 2:this._addResultsPart(n,"(parameter) "+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 4:case 5:if(this._addInitMethodInsteadIfCallNode(e,r,s,n,t,a))return;this._addResultsPart(n,"(class) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 3:{let i="function";if(a.isMethod){const e=s.getTypeForDeclaration(a);i=e&&ua(e)?"property":"method"}const o=s.getType(r);o&&ko(o)?this._addResultsPart(n,`(${i})\n${Ol(o,s)}`,!0):this._addResultsPart(n,`(${i}) `+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 6:this._addResultsPart(n,"(module) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a)}else this._addResultsPart(n,"(import) "+r.value+this._getTypeText(r,s),!0)}static _addInitMethodInsteadIfCallNode(e,t,n,i,r,s){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||!_o(a))return!1;const l=va(a,"__init__",8);if(!l)return!1;const c=n.getType(o.parent),u=n.getTypeOfMember(l);if(!(c&&u&&vo(c)&&Eo(u)))return!1;const p=n.bindFunctionToClassOrObject(c,u);if(!p||!Eo(p))return!1;const d=n.printFunctionParts(p),h=`${t.value}(${d[0].join(", ")})`;return this._addResultsPart(i,"(class) "+h,!0),this._addDocumentationPartForType(e,r,i,p,s,n)||this._addDocumentationPartForType(e,r,i,a,s,n),!0}static _getTypeText(e,t,n=!1){const i=t.getType(e)||Ys.create();return": "+t.printType(i,n)}static _addDocumentationPart(e,t,n,i,r,s){const o=r.getType(i);o&&this._addDocumentationPartForType(e,t,n,o,s,r)}static _addDocumentationPartForType(e,t,n,i,r,s){const o=ql(t,i,r,s);let a=!1;for(const t of o)t&&(a=!0,this._addDocumentationResultsPart(e,n,t));return a}static _addDocumentationResultsPart(e,t,n){if(n)if(e===ot.MarkupKind.Markdown){const e=ds(n);t.length>0&&e.length>0&&t.push({text:"---\n"}),this._addResultsPart(t,e)}else e===ot.MarkupKind.PlainText?this._addResultsPart(t,hs(n)):E(`Unsupported markup type: ${e}`)}static _addResultsPart(e,t,n=!1){e.push({python:n,text:t})}}.getHoverForPosition(e,this._parseResults,t,n,i,r)}getDocumentHighlight(e,t,n,i){if(!this._isBindingNeeded&&this._parseResults)return class{static getDocumentHighlight(e,t,n,i){ct(i);const r=xt(t,e.tokenizerOutput.lines);if(void 0===r)return;const s=Tr(e.parseTree,r);return void 0!==s&&38===s.nodeType?Ml.collectFromNode(s,n,i,e.parseTree,!0).map((t=>({kind:38===t.node.nodeType&&$r(t.node)?ot.DocumentHighlightKind.Write:ot.DocumentHighlightKind.Read,range:St(t.range.start,dt.getEnd(t.range),e.tokenizerOutput.lines)}))):void 0}}.getDocumentHighlight(this._parseResults,t,n,i)}getSignatureHelpForPosition(e,t,n,i,r){if(this._parseResults)return class{static getSignatureHelpForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(t,e.tokenizerOutput.lines);if(void 0===a)return;let l=Tr(e.parseTree,a);const c=l,u=l?vr(l):0;let p=a-1;for(;p>=0&&","!==e.text.substr(p,1);){const t=Tr(e.parseTree,p);if(t&&t!==c){vr(t)>u&&(l=t);break}p--}if(void 0===l)return;const d=zr(l,a,e.tokenizerOutput.tokens);if(!d)return;const h=i.getCallSignatureInfo(d.callNode,d.activeIndex,d.activeOrFake);return h?{signatures:h.signatures.map((e=>this._makeSignature(h.callNode,e,n,i,r))),callHasParameters:!!(null===(o=h.callNode.arguments)||void 0===o?void 0:o.length)}:void 0}static _makeSignature(e,t,n,i,r){var s;const o=t.type,a=[],l=null!==(s=Ll(o,n,i))&&void 0!==s?s:this._getDocStringFromCallNode(e,n,i);let c=o.details.fullName+"(";const u=o.details.parameters.filter(((e,t)=>!(0===t&&"self"===e.name)));let p;u.forEach(((e,t)=>{const n=e.name||"";let i=e.name||"";1===e.category?i="*"+i:2===e.category&&(i="**"+i),e.hasDefault&&e.defaultValueExpression&&(i+="=",i+=xr(e.defaultValueExpression,1)),a.push({startOffset:c.length,endOffset:c.length+i.length,text:i,documentation:ps(l||"",n)}),c+=i,t0)return o.join("\n\n")}}}.getSignatureHelpForPosition(this._parseResults,e,t,n,i,r)}getCompletionsForPosition(e,t,n,i,r,s,o,a,l,c,u,p){if(!this._parseResults)return;const d=this.getOpenFileContents();return void 0!==d?new jl(t,this._parseResults,d,i,e,this._filePath,n,r,s,o,a,{nameMap:l,libraryMap:c,getModuleSymbolsMap:u},p).getCompletionsForPosition():void 0}resolveCompletionItem(e,t,n,i,r,s,o,a,l,c,u){const p=this.getOpenFileContents();if(!this._parseResults||void 0===p)return;const d=c.data;new jl(d.workspacePath,this._parseResults,p,t,d.position,this._filePath,e,n,i,r,s,{nameMap:o,libraryMap:a,getModuleSymbolsMap:l},u).resolveCompletionItem(c)}performQuickAction(e,t,n){if(this._parseResults&&void 0!==this.getClientVersion())return function(e,t,n,i){return"pyright.organizeimports"===e?new qc(n,i).sort():"pyright.addoptionalforparam"===e&&t.length>=1?function(e,t,n){ct(n);let i=Tr(e.parseTree,t);for(;i&&41!==i.nodeType;)i=i.parent;if(!i)return[];const r=i.typeAnnotation||i.typeAnnotationComment;if(!r)return[];const s=[],o=It(r.start,e.tokenizerOutput.lines),a=It(dt.getEnd(r),e.tokenizerOutput.lines);s.push({range:{start:o,end:o},replacementText:"Optional["}),s.push({range:{start:a,end:a},replacementText:"]"});const l=tn(e.parseTree),c=l.orderedImports.find((e=>"typing"===e.moduleName));if(c&&22===c.node.nodeType&&!c.node.isWildcardImport){const t=rn({name:"Optional"},c,e);s.push(...t)}else{const t=an({name:"Optional"},l,"typing",0,e,o);s.push(...t)}return s}(n,parseInt(t[0],10),i):[]}(e,t,this._parseResults,n)}bind(e,t,n){return w(!this.isParseRequired(),"Bind called before parsing"),w(this.isBindingRequired(),"Bind called unnecessarily"),w(!this._isBindingInProgress,"Bind called while binding in progress"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`binding: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.bindTime.timeOperation((()=>{this._cleanParseTreeIfRequired();const i=this._buildFileInfo(e,this._parseResults.text,t,n);!function(e,t){e.fileInfo=t}(this._parseResults.parseTree,i);const r=new ru(i,e.indexGenerationMode);this._isBindingInProgress=!0,r.bindModule(this._parseResults.parseTree),e.internalTestMode&&(new Pu).walk(this._parseResults.parseTree),this._bindDiagnostics=i.diagnosticSink.fetchAndClear();const s=Ft(this._parseResults.parseTree);w(void 0!==s,"Module scope not returned by binder"),this._moduleSymbolTable=s.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(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._bindDiagnostics=n.fetchAndClear()}finally{this._isBindingInProgress=!1}this._diagnosticVersion++,this._isCheckingNeeded=!0,this._indexingNeeded=!0,this._isBindingNeeded=!1}))}check(e){return w(!this.isParseRequired(),"Check called before parsing"),w(!this.isBindingRequired(),"Check called before binding"),w(!this._isBindingInProgress,"Check called while binding in progress"),w(this.isCheckingRequired(),"Check called unnecessarily"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`checking: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.typeCheckerTime.timeOperation((()=>{new Cu(this._parseResults.parseTree,e).check(),this._isCheckingNeeded=!1;const t=Vt(this._parseResults.parseTree);this._checkerDiagnostics=t.diagnosticSink.fetchAndClear()}))}catch(e){if(!lt.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(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._checkerDiagnostics=n.fetchAndClear(),this._isCheckingNeeded=!1}throw e}finally{this._circularDependencies=[],this._diagnosticVersion++}}))}test_enableIPythonMode(e){this._ipythonMode=e}_buildFileInfo(e,t,n,i){w(void 0!==this._parseResults,"Parse results not available");const r=new Dc(this._parseResults.tokenizerOutput.lines);return{importLookup:n,futureImports:this._parseResults.futureImports,builtinsScope:i,diagnosticSink:r,executionEnvironment:e.findExecEnvironment(this._filePath),diagnosticRuleSet:this._diagnosticRuleSet,fileContents:t,lines:this._parseResults.tokenizerOutput.lines,typingSymbolAliases:this._parseResults.typingSymbolAliases,filePath:this._filePath,moduleName:this._moduleName,isStubFile:this._isStubFile,isTypingStubFile:this._isTypingStubFile,isTypingExtensionsStubFile:this._isTypingExtensionsStubFile,isBuiltInStubFile:this._isBuiltInStubFile,isInPyTypedPackage:this._isThirdPartyPyTypedPresent,isIPythonMode:this._ipythonMode,accessedSymbolMap:new Map}}_cleanParseTreeIfRequired(){this._parseResults&&this._parseTreeNeedsCleaning&&(new Au(this._parseResults.parseTree).clean(),this._parseTreeNeedsCleaning=!1)}_resolveImports(e,t,n){const i=[],r=(t,r=!1)=>{const s=e.resolveImport(this._filePath,n,{leadingDots:0,nameParts:t,importedSymbols:void 0});if(!r||s.isImportFound)return 0===s.resolvedPaths.length||s.resolvedPaths[0]!==this._filePath?(i.push(s),s):void 0};let s;this._isThirdPartyImport||this._isStubFile||(s=r(["__builtins__"],!0)),s||(s=r(["builtins"]));const o=this._ipythonMode?r(["IPython","display"]):void 0;for(const r of t){const t=e.resolveImport(this._filePath,n,{leadingDots:r.leadingDots,nameParts:r.nameParts,importedSymbols:r.importedSymbols});i.push(t),a=t,r.nameNode.importInfo=a}var a;return{imports:i,builtinsImportResult:s,ipythonDisplayImportResult:o}}_getPathForLogging(e){return this.fileSystem.isMappedFilePath(e)?"[virtual] "+e:e}}function Fu(e){function t(e,t="'"){return e?`${t}${e}${t}`:""}e=e.map((e=>le(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))return he(t.substring(i.length)).replace(n,".");return t}return t.nameParts.join(".")}return""}function o(e){var n,i,r,s,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 Ks.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(o(e),'"'))).join(",")}]`;case 10:return`TypeVar '${e.details.name}' ${t(null===(s=e.typeAliasInfo)||void 0===s?void 0:s.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(o(e),'"'))).join(",")}]`;case 1:return`Unknown ${t(null===(l=e.typeAliasInfo)||void 0===l?void 0:l.fullName)}`;default:k(e)}return""}function a(e){if(e)switch(e.type){case 6:return`Alias, ${l(e.node)} (${i(e.path)})`;case 4:return`Class, ${l(e.node)} (${i(e.path)})`;case 3:return`Function, ${l(e.node)} (${i(e.path)})`;case 0:return`Intrinsic, ${l(e.node)} ${e.intrinsicType} (${i(e.path)})`;case 2:return`Parameter, ${l(e.node)} (${i(e.path)})`;case 5:return`SpecialBuiltInClass, ${l(e.node)} (${i(e.path)})`;case 1:return`Variable, ${l(e.node)} (${i(e.path)})`;default:k(e)}return""}function l(e,n=!1){var r;if(!e)return"";const s=n?`(${i(null===(r=function(e){for(;36!==e.nodeType&&e.parent;)e=e.parent;return 36===e.nodeType?Vt(e):void 0}(e))||void 0===r?void 0:r.filePath)})`:"";if(yr(e))return t(function(e,t=30){return e.length "}(xr(e)),'"')+` ${s}`;switch(e.nodeType){case 21:return`importAs '${l(e.module)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 22:return`importFrom [${e.imports.map((e=>t(l(e),'"'))).join(",")}]`;case 23:return`ImportFromAs '${l(e.name)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 36:return`module ${s}`;case 10:return`class '${l(e.name)}' ${s}`;case 28:return`function '${l(e.name)}' ${s}`;case 37:return`moduleName '${e.nameParts.map((e=>l(e))).join(".")}' ${s}`;case 1:return`argument '${e.name?l(e.name):"N/A"}' ${s}`;case 41:return`parameter '${e.name?l(e.name):"N/A"}' ${s}`;default:return`${function(e){switch(e){case 0:return"Error";case 1:return"Argument";case 2:return"Assert";case 3:return"Assignment";case 4:return"AssignmentExpression";case 5:return"AugmentedAssignment";case 6:return"Await";case 7:return"BinaryOperation";case 8:return"Break";case 9:return"Call";case 10:return"Class";case 11:return"Constant";case 12:return"Continue";case 13:return"Decorator";case 14:return"Del";case 15:return"Dictionary";case 16:return"DictionaryExpandEntry";case 17:return"DictionaryKeyEntry";case 18:return"Ellipsis";case 19:return"If";case 20:return"Import";case 21:return"ImportAs";case 22:return"ImportFrom";case 23:return"ImportFromAs";case 24:return"Index";case 25:return"Except";case 26:return"For";case 27:return"FormatString";case 28:return"Function";case 29:return"Global";case 30:return"Lambda";case 31:return"List";case 32:return"ListComprehension";case 33:return"ListComprehensionFor";case 34:return"ListComprehensionIf";case 35:return"MemberAccess";case 36:return"Module";case 37:return"ModuleName";case 38:return"Name";case 39:return"Nonlocal";case 40:return"Number";case 41:return"Parameter";case 42:return"Pass";case 43:return"Raise";case 44:return"Return";case 45:return"Set";case 46:return"Slice";case 47:return"StatementList";case 48:return"StringList";case 49:return"String";case 50:return"Suite";case 51:return"Ternary";case 52:return"Tuple";case 53:return"Try";case 54:return"TypeAnnotation";case 55:return"UnaryOperation";case 56:return"Unpack";case 57:return"While";case 58:return"With";case 59:return"WithItem";case 60:return"Yield";case 61:return"YieldFrom";case 62:return"FunctionAnnotation";case 63:return"Match";case 64:return"Case";case 65:return"PatternSequence";case 66:return"PatternAs";case 67:return"PatternLiteral";case 68:return"PatternClass";case 69:return"PatternCapture";case 70:return"PatternMapping";case 71:return"PatternMappingKeyEntry";case 72:return"PatternMappingExpandEntry";case 73:return"PatternValue";case 74:return"PatternClassArgument"}k(e)}(e.nodeType)} ${s}`}}return{print:function(e){return e?function(e){return e&&s(e.nodeType)}(e)?l(e,!0):function(e){const t=e;return t&&s(t.type)&&r(t.path)&&r(t.moduleName)}(e)?a(e):e instanceof qo?(t=e)?t.hasDeclarations()?`symbol ${a(t.getDeclarations()[0])}`:"":"":function(e){const t=e;return t&&s(t.category)&&s(t.flags)}(e)?o(e):void k(e):"";var t},printFileOrModuleName:i}}function Nu(e){return!!e.isIncompleteType}class Mu{constructor(){this._speculativeContextStack=[],this._speculativeTypeCache=new Map}enterSpeculativeContext(e,t){this._speculativeContextStack.push({speculativeRootNode:e,entriesToUndo:[],allowCacheRetention:t})}leaveSpeculativeContext(){w(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(Mr(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){w(0===this._speculativeContextStack.length),this._speculativeContextStack=e}addSpeculativeType(e,t,n){if(w(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=>Mr(e,t.speculativeRootNode)))){const n=this._speculativeTypeCache.get(e.id);if(n)for(const e of n)if(t){if(e.expectedType&&Ao(t,e.expectedType))return e.type}else if(!e.expectedType)return e.type}}}class Ou{constructor(){this._trackerStack=[],this._isUndoTrackingEnabled=!1}trackEntry(e,t){this._isUndoTrackingEnabled&&this._trackerStack[this._trackerStack.length-1].push({cache:e,id:t})}enterTrackingScope(){this._trackerStack.push([])}exitTrackingScope(){this._trackerStack.pop().forEach((e=>{e.cache.delete(e.id)})),0===this._trackerStack.length&&(this._isUndoTrackingEnabled=!1)}enableUndoTracking(){this._trackerStack.length>0&&(this._isUndoTrackingEnabled=!0)}isUndoTrackingEnabled(){return this._isUndoTrackingEnabled}}function Lu(e,t,n,i){var r,s,o;const a=Vt(t);let l="namedtuple";if(0===n.length)e.addError(ml.Diagnostic.namedTupleFirstArg(),t);else{const i=n[0];0!==i.argumentCategory?e.addError(ml.Diagnostic.namedTupleFirstArg(),n[0].valueExpression||t):i.valueExpression&&48===i.valueExpression.nodeType&&(l=i.valueExpression.strings.map((e=>e.value)).join(""))}const c=n.find((e=>{var t;return"defaults"===(null===(t=e.name)||void 0===t?void 0:t.value)}));let u=0;if(c&&c.valueExpression){const t=e.getTypeOfExpression(c.valueExpression).type;u=vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments?t.tupleTypeArguments.length:void 0}const p=e.getTypingType(t,"NamedTuple")||Ys.create(),d=Zs.createInstantiable(l,br(t,a.moduleName,l),a.moduleName,a.filePath,16777216,Ir(t),void 0,_o(p)?p.details.effectiveMetaclass:Ys.create());d.details.baseClasses.push(p),d.details.typeVarScopeId=e.getScopeIdForNode(t);const h=d.details.fields;h.set("__class__",qo.createWithType(68,d));const m=Aa(d,!0),f=Xs.createInstance("__new__","","",65);f.details.declaredReturnType=Fa(m),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,r=e.parent.parent;if(r.statements[0]!==e.parent||!r.parent||36!==r.parent.nodeType&&50!==r.parent.nodeType)return!1;const s=r.parent;let o=s.statements.findIndex((e=>e===r));if(o<0)return!1;for(o++;oe.value)).join("").split(/[,\s]+/),n=void 0===u?0:Math.max(0,e.length-u);e.forEach(((e,r)=>{if(e=e.trim()){const s=Ys.create(),o={category:0,name:e,type:s,hasDeclaredType:i,hasDefault:r>=n};Xs.addParameter(f,o);const l=qo.createWithType(8,s);g.push(e);const c=t.valueExpression,u={type:1,node:c,isRuntimeTypeExpression:!0,path:a.filePath,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};l.addDeclaration(u),h.set(e,l),v.push(s)}}))}else if(31===(null===(r=t.valueExpression)||void 0===r?void 0:r.nodeType)||52===(null===(s=t.valueExpression)||void 0===s?void 0:s.nodeType)){const n=t.valueExpression,r=new Map,s=31===(null===(o=t.valueExpression)||void 0===o?void 0:o.nodeType)?t.valueExpression.entries:t.valueExpression.expressions,l=void 0===u?0:Math.max(0,s.length-u);s.forEach(((t,n)=>{let s,o,c,u="";i?52===t.nodeType&&2===t.expressions.length?(c=t.expressions[0],s=t.expressions[1],o=Fa(e.getTypeForExpressionExpectingType(s,!1).type)):e.addError(ml.Diagnostic.namedTupleNameType(),t):(c=t,o=Ys.create()),c&&48===c.nodeType?(u=c.strings.map((e=>e.value)).join(""),u||e.addError(ml.Diagnostic.namedTupleEmptyName(),c)):_=!0,u||(u=`_${n.toString()}`),r.has(u)&&e.addError(ml.Diagnostic.namedTupleNameUnique(),c||t),r.set(u,u),o||(o=Ys.create());const p={category:0,name:u,type:o,hasDeclaredType:i,hasDefault:n>=l};Xs.addParameter(f,p),v.push(o),g.push(u);const d=qo.createWithType(8,o);if(c&&48===c.nodeType){const e={type:1,node:c,path:a.filePath,typeAnnotationNode:s,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};d.addDeclaration(e)}h.set(u,d)})),e.setTypeForNode(n)}else _=!0}_&&(f.details.parameters=[],Xs.addDefaultParameters(f),v.push(io.create(!1)),v.push(io.create(!0)));const T=Xs.createInstance("__init__","","",192);Xs.addParameter(T,y),Xs.addDefaultParameters(T),T.details.declaredReturnType=to.createInstance(),h.set("__new__",qo.createWithType(4,f)),h.set("__init__",qo.createWithType(4,T));const b=Xs.createInstance("keys","","",64),I=Xs.createInstance("items","","",64);b.details.declaredReturnType=e.getBuiltInObject(t,"list",[e.getBuiltInObject(t,"str")]),I.details.declaredReturnType=b.details.declaredReturnType,h.set("keys",qo.createWithType(8,b)),h.set("items",qo.createWithType(8,I));const S=Xs.createInstance("__len__","","",64);if(S.details.declaredReturnType=e.getBuiltInObject(t,"int"),Xs.addParameter(S,y),h.set("__len__",qo.createWithType(4,S)),_){const n=Xs.createInstance("__getattribute__","","",64);n.details.declaredReturnType=io.create(),Xs.addParameter(n,y),Xs.addParameter(n,{category:0,name:"name",type:e.getBuiltInObject(t,"str")}),h.set("__getattribute__",qo.createWithType(4,n))}const x=e.getBuiltInType(t,"tuple"),C=e.getBuiltInType(t,"str");if(!_&&C&&_o(C)&&x&&_o(x)){const e=g.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(C,e)),isUnbounded:!1}))),t=Zs.cloneAsInstance(Va(x,e));h.set("__match_args__",qo.createWithType(4,t))}return Ha(d),Uu(d,v,!_),d}function Uu(e,t,n){const i=e.details.mro.findIndex((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")));if(i<0||e.details.mro.length{o.push({type:e,isUnbounded:!1})})):o.push({type:t.length>0?Oo(t):Ys.create(),isUnbounded:!0});const a=Va(s,o,n),l=Zs.cloneForSpecialization(r,[],n);l.details={...l.details},l.details.mro=[...l.details.mro],l.details.mro[1]=a.details.mro[0],l.details.baseClasses=l.details.baseClasses.map((e=>_o(e)&&pa(e)?a:e)),e.details.mro[i]=l,e.details.mro[i+1]=a,e.details.baseClasses=e.details.baseClasses.map((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")?l:e))}function qu(e,t){const n={keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:[]},i=Vt(t);return t.arguments.forEach((t=>{if(t.name&&0===t.argumentCategory)switch(t.name.value){case"kw_only_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.keywordOnlyParams=r;break}case"eq_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateEq=r;break}case"order_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateOrder=r;break}case"transform_descriptor_types":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.transformDescriptorTypes=r;break}case"field_descriptors":{const i=e.getTypeOfExpression(t.valueExpression).type;if(!vo(i)||!Zs.isBuiltIn(i,"tuple")||!i.tupleTypeArguments||i.tupleTypeArguments.some((e=>!_o(e.type)&&!Eo(e.type)&&!ko(e.type))))return void e.addError(ml.Diagnostic.dataClassTransformFieldDescriptor().format({type:e.printType(i)}),t.valueExpression);n.fieldDescriptorNames||(n.fieldDescriptorNames=[]),i.tupleTypeArguments.forEach((e=>{_o(e.type)||Eo(e.type)?n.fieldDescriptorNames.push(e.type.details.fullName):ko(e.type)&&n.fieldDescriptorNames.push(e.type.overloads[0].details.fullName)}));break}default:e.addError(ml.Diagnostic.dataClassTransformUnknownArgument().format({name:t.name.value}),t.valueExpression)}else e.addError(ml.Diagnostic.dataClassTransformPositionalParam(),t)})),n}function Vu(e){let t;if(Eo(e)?t=e:ko(e)&&(t=e.overloads[0]),t)return t.details.decoratorDataClassBehaviors?t.details.decoratorDataClassBehaviors:"dataclasses.dataclass"===t.details.fullName?{keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:["dataclasses.field","dataclasses.Field"]}:void 0}function Bu(e,t,n){n.forEach((n=>{n.valueExpression&&n.name&&function(e,t,n,i,r){const s=Vt(t),o=Xc(r,s.executionEnvironment);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,r=!1;n.details.baseClasses.forEach((e=>{_o(e)&&Zs.isDataClass(e)&&(Zs.isFrozenDataClass(e)?r=!0:e.details.classDataClassTransform||e.details.declaredMetaclass&&_o(e.details.declaredMetaclass)&&e.details.declaredMetaclass.details.classDataClassTransform||(i=!0))})),(!0===o||r)&&(n.details.flags|=8,i&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.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(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.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 Wu(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)}function ju(e,t,n,i){Wu(t,n),(null==i?void 0:i.arguments)&&Bu(e,t,i.arguments)}function zu(e,t,n,i,r){return Eo(i)&&"functools.total_ordering"===i.details.fullName?function(e,t,n,i){if(1!==n.length)return i;const r=n[0].type;if(!r||!_o(r)||r.includeSubclasses)return i;const s=["__lt__","__le__","__gt__","__ge__"],o=Zs.cloneAsInstance(r),a=s.filter((e=>!_a(o,e,8)));if(a.length===s.length)return e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.totalOrderingMissingMethod(),t),i;const l=e.getBuiltInObject(t,"object");if(!l||!vo(l))return i;const c=e.getBuiltInObject(t,"bool");if(!c||!vo(c))return i;const u={category:0,name:"self",type:Aa(r,!1),hasDeclaredType:!0},p={category:0,name:"__value",type:l,hasDeclaredType:!0};return a.forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,u),Xs.addParameter(t,p),t.details.declaredReturnType=c,r.details.fields.set(e,qo.createWithType(4,t))})),i}(e,t,n,r):r}function $u(e,t,n){Xs.isStaticMethod(t)&&e.addDiagnostic(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.propertyStaticMethod(),n)}function Hu(e,t,n,i){const r=Vt(t),s=e.getBuiltInType(t,"type"),o=Zs.isBuiltIn(n,"property")?Ir(t):n.details.typeSourceId,a=Zs.createInstantiable(n.details.name,br(t,r.moduleName,`__property_${i.details.name}`),r.moduleName,r.filePath,2048,o,void 0,_o(s)?s:Ys.create());a.details.typeVarScopeId=n.details.typeVarScopeId,Ha(a);const l=a.details.fields;n.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||["__get__","__set__","__delete__","fget","fset","fdel"].some((e=>e===t))||l.set(t,e)}));const c=Zs.cloneAsInstance(a);a.isAsymmetricDescriptor=!1;const u=qo.createWithType(4,i);l.set("fget",u),Xs.isClassMethod(i)&&(a.details.flags|=4194304);const p=Xs.createInstance("__get__","","",320);Xs.addParameter(p,{category:0,name:"self",type:c,hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"obj",type:to.createInstance(),hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),p.details.declaredReturnType=Xs.isClassMethod(i)?Xs.getSpecializedReturnType(i):c,p.details.declaration=i.details.declaration;const d=Xs.createInstance("__get__","","",320);Xs.addParameter(d,{category:0,name:"self",type:c,hasDeclaredType:!0});const h=i.details.parameters.length>0?i.details.parameters[0].type:io.create();Xs.addParameter(d,{category:0,name:"obj",type:h,hasDeclaredType:!0}),Xs.addParameter(d,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),d.details.declaredReturnType=Xs.getSpecializedReturnType(i),d.details.declaration=i.details.declaration,d.details.typeVarScopeId=na(i);const m=eo.create([p,d]),f=qo.createWithType(4,m);return l.set("__get__",f),["getter","setter","deleter"].forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,{category:0,name:"self",type:io.create(),hasDeclaredType:!0}),Xs.addParameter(t,{category:0,name:"accessor",type:io.create(),hasDeclaredType:!0}),t.details.declaredReturnType=c;const n=qo.createWithType(4,t);l.set(e,n)})),c}function Gu(e,t,n,i,r,s,o=0){const a=Zs.cloneAsInstance(i);let l=!0;return[{name:"fget",missingDiagMsg:ml.DiagnosticAddendum.missingGetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleGetter},{name:"fset",missingDiagMsg:ml.DiagnosticAddendum.missingSetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleSetter},{name:"fdel",missingDiagMsg:ml.DiagnosticAddendum.missingDeleter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleDeleter}].forEach((i=>{const c=t.details.fields.get(i.name),u=c?e.getDeclaredTypeOfSymbol(c):void 0;if(u&&Eo(u)){const t=n.details.fields.get(i.name),c=t?e.getDeclaredTypeOfSymbol(t):void 0;if(!c||!Eo(c))return r&&r.addMessage(i.missingDiagMsg()),void(l=!1);const p=e.bindFunctionToClassOrObject(a,u,void 0,void 0,o),d=e.bindFunctionToClassOrObject(a,c,void 0,void 0,o);if(!p||!d||!e.canAssignType(p,d,null==r?void 0:r.createAddendum(),s,0,o))return r&&r.addMessage("getter type is incompatible"),void(l=!1)}})),l}const Ku={0:["__add__","__radd__",!1],33:["__sub__","__rsub__",!1],26:["__mul__","__rmul__",!1],13:["__floordiv__","__rfloordiv__",!1],10:["__truediv__","__rtruediv__",!1],24:["__mod__","__rmod__",!1],29:["__pow__","__rpow__",!1],22:["__matmul__","__rmatmul__",!1],3:["__and__","__rand__",!1],6:["__or__","__ror__",!1],8:["__xor__","__rxor__",!1],17:["__lshift__","__rlshift__",!1],31:["__rshift__","__rrshift__",!1],12:["__eq__","__ne__",!0],28:["__ne__","__eq__",!0],20:["__lt__","__ge__",!0],21:["__le__","__gt__",!0],15:["__gt__","__le__",!0],16:["__ge__","__lt__",!0]},Ju={36:!1,37:!1,39:!0,40:!0,41:!0,42:!0},Yu=new Map([["asyncio.futures.Future",De.V3_9],["asyncio.tasks.Task",De.V3_9],["builtins.dict",De.V3_9],["builtins.frozenset",De.V3_9],["builtins.list",De.V3_9],["builtins._PathLike",De.V3_9],["builtins.set",De.V3_9],["builtins.tuple",De.V3_9],["collections.ChainMap",De.V3_9],["collections.Counter",De.V3_9],["collections.defaultdict",De.V3_9],["collections.DefaultDict",De.V3_9],["collections.deque",De.V3_9],["collections.OrderedDict",De.V3_9],["queue.Queue",De.V3_9]]),Qu=new Map([["builtins.float",["builtins.int"]],["builtins.complex",["builtins.float","builtins.int"]],["builtins.bytes",["builtins.bytearray","builtins.memoryview"]]]);function Zu(e,t){const n=[],i=new Map,r=new Map,s=new Map,o=new Map,a=new Set,l=new Map,c=new Mu,u=new Map,p=[],d=new Ou,h=[];let m,f,g,y,_,v,T,b,I,S,x,C,k=!1;const D=[];let A;function P(){m&&ct(m)}function R(e){let t;return t=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==t}function F(e,n){let i;if(i=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==i){if(t.verifyTypeCacheEvaluatorFlags&&void 0!==n){const t=o.get(e.id);void 0!==t&&n!==t&&E(`Type cache flag mismatch for node type ${e.nodeType}: cached flags = ${t}, access flags = ${n}`)}return w(!Nu(i)),i}}function N(e,n,i,r,a,l=!1){if(r)return void(C&&C.set(e.id,n));const u=A&&L(e)?A:s;u.set(e.id,n),t.verifyTypeCacheEvaluatorFlags&&u===s&&void 0!==i&&o.set(e.id,i),c.isSpeculative(e)&&(c.trackEntry(u,e.id),l&&c.addSpeculativeType(e,n,a)),d.trackEntry(u,e.id)}function M(e){(A&&L(e)?A:s).delete(e.id)}function O(e,t=Ys.create(),n=0){N(e,t,n,!1)}function L(e){const t=D.length;if(0===t)return!1;const n=D[t-1];let i=e;for(;i;){if(i===n.functionNode)return!0;i=i.parent}return!1}function U(e,t){return n.findIndex((n=>n.symbolId===e.id&&n.declaration===t))}function q(e,t){const i=U(e,t);if(i>=0){for(let e=i+1;e=0&&(n[r].partialType=i)}function W(e,t){const i=U(e,t);if(i>=0)return n[i].partialType}function j(e){var t;return null===(t=gn(e,(()=>{hn(e)})))||void 0===t?void 0:t.type}function z(e){k||(k=!0,y=Cn(e,"object"),_=xn(e,"type"),v=Cn(e,"function"),ce(e,"Collection"),f=function(e,t){return ue(e,"NoneType",["_typeshed"])}(e)||io.create(),T=xn(e,"tuple"),b=xn(e,"bool"),I=xn(e,"str"),S=xn(e,"dict"),x=ce(e,"_TypedDict"))}function $(e,n,i=0){var r;const s=F(e,i);if(s)return{type:s,node:e};{const t=c.getSpeculativeType(e,n);if(t)return{type:t,node:e}}P();const o=ta(n);let a;z(e);let u=0!=(64&i);switch(e.nodeType){case 38:a=function(e,n){const i=Vt(e),r=e.value;let s,o=!1;const a=0!=(4&n)||i.isStubFile;if(!t.analyzeUnannotatedFunctions){const t=kr(e);if(t&&function(e){return void 0===e.returnTypeAnnotation&&e.parameters.every((e=>void 0===e.typeAnnotation&&void 0===e.typeAnnotationComment))}(t))return{node:e,type:io.create(),isIncomplete:!1}}const l=wn(e,r,!a,a&&0!=(1024&n));if(l){let t=!a;4===l.scope.type&&(t=!1);const c=l.symbol,u=Mn(c,t?e:void 0),p=ta(u.type);u.isIncomplete&&(o=!0),u.isRecursiveDefinition&&pe(e)&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.recursiveDefinition().format({name:r}),e);const d=!!p&&_o(p)&&Zs.isSpecialBuiltIn(p);if(s=p,t&&!d){const t=l.isBeyondExecutionScope||!c.isInitiallyUnbound()?p:Js.create(),n=_n(e,c.id,t,!1);if(n.type&&(s=n.type),n.isIncomplete&&(o=!0),!n.type&&l.isBeyondExecutionScope){const t=function(e,t,n){if(!t.symbol.getDeclarations().every((e=>1===e.type||2===e.type)))return;const i=function(e,t){const n=[];let i=e;for(;i;){const e=zs(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}(e,t.scope);if(i&&i.length>=2&&i.every((e=>1===e.type||3===e.type))){const r=function(e,t){let n,i=e,r=!1;for(;i;){if(Ft(i)===t)r=!0;else if(r)return n;n=i,i=i.parent}}(e,i[i.length-2]);if(r&&(28===r.nodeType||30===r.nodeType)){const i=Lt(r);if(i&&t.symbol.getDeclarations().every((e=>{if(2===e.type)return!0;const t=Lt(e.node);return!(!t||t!==i&&ci.isFlowNodeReachable(t,i))})))return _n(e,t.symbol.id,n,!1,r)}}}(e,l,p);(null==t?void 0:t.type)&&(s=t.type),(null==t?void 0:t.isIncomplete)&&(o=!0)}}s=Ae(e,s,n),we(i,c,e),0!=(1024&n)&&u.includesVariableDecl&&!s.typeAliasInfo&&(ea(s)||bo(s)||po(s)||i.isTypingStubFile||Ks.isInstantiable(s)&&0==(2&n)||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationVariable(),e),s=Ys.create()))}else{if("true"===r||"false"===r){const t=r.split("");t[0]=t[0].toUpperCase();const n=t.join("");_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.booleanIsLowerCase().format({name:r,booleanName:n}),e)}else"reveal_type"!==r&&"reveal_locals"!==r&&_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.symbolIsUndefined().format({name:r}),e);s=Ys.create()}if(wo(s)&&32&n&&(fe(ml.Diagnostic.paramSpecContext(),e),s=Ys.create()),bo(s)&&0==(64&n)&&s.details.name===r){const t=s.details.isVariadic?ce(e,"TypeVarTuple"):ce(e,"TypeVar");s=t&&_o(t)?Zs.cloneAsInstance(t):Ys.create()}return 0!=(64&n)&&0==(512&n)&&_o(s)&&Zs.isBuiltIn(s,"Generic")&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.genericNotAllowed(),e),bo(s)&&!s.details.isSynthesized&&(s=ke(e,s,n)),{type:s,node:e,isIncomplete:o}}(e,i);break;case 35:a=function(e,t){const n=2|572484&t,i=$(e.leftExpression,void 0,n);if(ea(i.type))return{node:e,type:Ys.create(),isIncomplete:!0};const r=Fe(e,i,{method:"get"},t);if(Dt(e)){N(e,r.type,t,!0),N(e.memberName,r.type,t,!0);let n=r.type,s=!!r.isIncomplete;if(mo(n)){const t=Ie(i.type);let r;_o(t)?r=va(t,e.memberName.value,1):vo(t)&&(r=_a(t,e.memberName.value,1)),r&&(n=Bn(r),s=!1)}const o=_n(e,0,n,s);o.type&&(r.type=o.type),o.isIncomplete&&(r.isIncomplete=!0),r.type=Ae(e,r.type,t),M(e),M(e.memberName)}return i.isIncomplete&&(r.isIncomplete=!0),r}(e,i),ea(a.type)||N(e.memberName,a.type,i,!!a.isIncomplete);break;case 24:a=function(e,t=0){const n=$(e.baseExpression,void 0,2|t);if(64&t&&48===e.baseExpression.nodeType){const t=Vt(e);!t.isStubFile&&t.executionEnvironment.pythonVersion{vo(e)&&(Zs.isBuiltIn(e)||Zs.isTypedDictClass(e))||(r=!1)})),r){N(e,i.type,t,!1);const r=_n(e,0,i.type,!!n.isIncomplete||!!i.isIncomplete);r.type&&(i.type=r.type),r.isIncomplete&&(i.isIncomplete=!0),M(e)}}return n.isIncomplete&&(i.isIncomplete=!0),0!=(1048576&t)&&_o(n.type)&&(Zs.isBuiltIn(n.type,"Required")?i.isRequired=!0:Zs.isBuiltIn(n.type,"NotRequired")&&(i.isNotRequired=!0)),i}(e,i);break;case 9:0!=(1024&i)?(ze(e,o),_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationCall(),e),a={node:e,type:Ys.create()}):a=ze(e,o);break;case 52:a=function(e,t,n){if(0!=(64&n)&&0===e.expressions.length&&!t)return{type:Ue([]),node:e,isEmptyTupleShorthand:!0};let i=t,r=t&&uo(t);if(t&&fo(t)){let n;Jo(t,(t=>{if(uo(t)&&(r=!0),!n){const i=kn(e,(()=>We(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){const t=We(e,i);if(t)return t}const s=function(e){const t=e.expressions.map((e=>$(e))),n=t.some((e=>e.isIncomplete));return T&&_o(T)?{type:Fa(Va(T,je(t))),node:e,isIncomplete:n}:{type:Ys.create(),node:e}}(e);return r&&(s.type=io.create()),s}(e,o,i);break;case 11:a=function(e,t){let n;if(26===e.constType?n=0!=(64&t)?to.createType():to.createInstance():33!==e.constType&&15!==e.constType&&9!==e.constType||(n=Cn(e,"bool"),n&&vo(n)&&(33===e.constType?n=Zs.cloneWithLiteral(n,!0):15===e.constType&&(n=Zs.cloneWithLiteral(n,!1)))),n)return{type:n,node:e}}(e,i);break;case 48:if(0==(8&i)||function(e){if(e.parent&&24===e.parent.nodeType){const t=$(e.parent.baseExpression).type;if(t&&_o(t)&&Zs.isSpecialBuiltIn(t,"Literal"))return!0}return!1}(e)){e.strings.forEach((e=>{27===e.nodeType&&e.expressions.forEach((e=>{$(e)}))}));const t=0!=(32&e.strings[0].token.flags);a=e.strings.some((e=>27===e.nodeType))?{node:e,type:Cn(e,t?"bytes":"str")}:{node:e,type:kt(e,t?"bytes":"str",e.strings.map((e=>e.value)).join(""))}}else{let t=68|i;if(0==(4194304&i)&&(t|=524288),e.typeAnnotation)a=$(e.typeAnnotation,void 0,t);else if(!e.typeAnnotation&&1===e.strings.length){const n=function(e){const t=Vt(e),n=new Qc,i=e.strings[0].value,r=e.strings[0].start+e.strings[0].token.prefixLength+e.strings[0].token.quoteMarkLength,s=new Jc;s.isStubFile=t.isStubFile,s.pythonVersion=t.executionEnvironment.pythonVersion;const o=n.parseTextExpression(t.fileContents,r,i.length,s,void 0,void 0,t.typingSymbolAliases);if(o.parseTree)return o.diagnostics.forEach((t=>{fe(t.message,e)})),o.parseTree.parent=e,o.parseTree}(e);n&&(a=$(n,void 0,t))}a||(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedTypeNotString(),e),a={node:e,type:Ys.create()}),u=!1}break;case 40:a=e.isImaginary?{node:e,type:Cn(e,"complex")}:e.isInteger?{node:e,type:kt(e,"int",e.value)}:{node:e,type:Cn(e,"float")};break;case 18:a=0!=(1&i)?{type:io.create(!0),node:e}:0!=(256&i)?{type:Ys.create(),node:e}:{type:Cn(e,"ellipsis")||io.create(),node:e};break;case 55:a=function(e,t){const n=$(e.expression);let i=Ie(n.type);const r=n.isIncomplete;if(ao(i))return{node:e,type:no.createNever(),isIncomplete:r};const s={0:"__pos__",33:"__neg__",5:"__invert__"};let o;if(38!==e.operator&&Go(i)&&(_e(Vt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.expression),i=Fo(i)),!n.isIncomplete){const t=aa(i);"int"===t?0===e.operator?o=i:33===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,-t.literalValue)}))):"bool"===t&&38===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,!t.literalValue)})))}if(!o)if(38===e.operator)o=Cn(e,"bool"),o||(o=Ys.create());else if(o=ho(i)?i:gt(i,[],s[e.operator],e,t),!o){_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t?ml.Diagnostic.typeNotSupportUnaryOperatorBidirectional().format({operator:Cr(e.operator),type:ai(i),expectedType:ai(t)}):ml.Diagnostic.typeNotSupportUnaryOperator().format({operator:Cr(e.operator),type:ai(i)}),e),o=Ys.create()}return{type:o,node:e,isIncomplete:r}}(e,o);break;case 7:a=ut(e,o,i);break;case 5:a=ht(e,o),xe(e.destExpression,a.type,!!a.isIncomplete,e.rightExpression);break;case 31:case 45:a=function(e,t){let n=t;if(t&&fo(t)){let i;Jo(t,(t=>{if(!i){const n=kn(e,(()=>bt(e,t)));n&&Jn(t,n.type)&&(i=t)}})),n=i}if(n){const t=bt(e,n);if(t)return t}return function(e,t){const n=31===e.nodeType?"list":"set";let i=!1,r=!1,s=[];e.entries.forEach(((e,n)=>{let i;i=32===e.nodeType?wt(e):$(e,t?no.createNever():void 0),i.isIncomplete&&(r=!0),n<64&&s.push(i.type)})),s=s.map((e=>Qo(e)));let o=t?io.create():Ys.create();if(s.length>0){const i=Vt(e);o="list"===n&&i.diagnosticRuleSet.strictListInference||"set"===n&&i.diagnosticRuleSet.strictSetInference||t?Oo(s,64):Yo(s,!0)?s[0]:o}else i=!0;const a=xn(e,n);return{type:_o(a)?Zs.cloneAsInstance(Zs.cloneForSpecialization(a,[o],!0,void 0,void 0,i)):Ys.create(),node:e,isIncomplete:r}}(e,void 0!==t)}(e,o);break;case 46:a=function(e){return e.startValue&&$(e.startValue),e.endValue&&$(e.endValue),e.stepValue&&$(e.stepValue),{type:Cn(e,"slice"),node:e}}(e);break;case 6:{const t=n?nn(e,n,!1):void 0,r=$(e.expression,t,i);a={type:oe(r.type,e.expression),node:e},r.isIncomplete&&(a.isIncomplete=!0);break}case 51:a=function(e,t,n){$(e.testExpression);const i=[];let r=!1;if(pe(e.ifExpression)){const s=$(e.ifExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}if(pe(e.elseExpression)){const s=$(e.elseExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}return{type:Oo(i),node:e,isIncomplete:r}}(e,i,o);break;case 32:a=function(e,t){let n=!1;const i=wt(e);i.isIncomplete&&(n=!0);const r=i.type;let s=e.forIfNodes.some((e=>33===e.nodeType&&e.isAsync||34===e.nodeType&&6===e.testExpression.nodeType)),o=Ys.create();6===e.expression.nodeType&&(s=!0),!s&&t&&vo(t)&&Zs.isBuiltIn(t,"AsyncGenerator")&&(s=!0);const a=ce(e,s?"AsyncGenerator":"Generator");return a&&_o(a)&&(o=Zs.cloneAsInstance(Zs.cloneForSpecialization(a,s?[r,to.createInstance()]:[r,to.createInstance(),to.createInstance()],!0))),{type:o,node:e,isIncomplete:n}}(e,o);break;case 15:a=function(e,t){let n,i=t;if(t&&fo(t)){let n;Jo(t,(t=>{if(!n){const i=kn(e,(()=>_t(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){n=new il;const t=_t(e,i,n);if(t)return t}return{...vt(e,!!t),expectedTypeDiagAddendum:n}}(e,o);break;case 30:a=function(e,t){const n=Xs.createInstance("","","",0);n.details.typeVarScopeId=Pe(e),N(e,n,0,!1);let i=[];if(t){Ko(t,(e=>{if(Eo(e)&&i.push(e),vo(e)){const t=_a(e,"__call__");if(t){const n=Bn(t);if(n&&Eo(n)){const t=ri(e,n);t&&i.push(t)}}}}));const n=e.parameters.filter((e=>0===e.category&&void 0===e.defaultValue)).length,r=e.parameters.filter((e=>0===e.category)).length;i=i.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<=r}))}const r=i.length>0?i[0]:void 0;e.parameters.forEach(((t,i)=>{let s=Ys.create();r&&i{n.inferredReturnType=$(e.expression,s).type}),!1):n.inferredReturnType=$(e.expression,s).type,{type:n,node:e}}(e,o);break;case 3:a=$(e.rightExpression),xe(e.leftExpression,a.type,!1,e.rightExpression,!0,!0);break;case 4:a=$(e.rightExpression),xe(e.name,a.type,!1,e.rightExpression,!0);break;case 60:a=function(e){let t,n,i=!1;const r=kr(e);if(r){const e=Gt(r);if(e){const i=Xs.getSpecializedReturnType(e.functionType);if(i){const e=za(i);e&&(e.length>=1&&(t=e[0]),e.length>=2&&(n=e[1]))}}}return e.expression&&$(e.expression,t).isIncomplete&&(i=!0),{type:n||Ys.create(),node:e,isIncomplete:i}}(e);break;case 61:a=function(e){const t=$(e.expression).type;let n,i=za(t);return i?n=i.length>=2?i[2]:Ys.create():vo(t)&&Zs.isBuiltIn(t,"Coroutine")?n=Ys.create():(i=za(le(t,!1,e)||Ys.create()),i&&(n=i.length>=2?i[2]:Ys.create())),{type:n||Ys.create(),node:e}}(e);break;case 56:{let t;if(o){const n=xn(e,"Iterable");n&&_o(n)&&(t=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[o],!0)))}const n=$(e.expression,t,i),r=n.type;a=0==(128&i)&&Io(r)&&!r.isVariadicUnpacked?{type:oo.cloneForUnpacked(r),node:e}:0!=(2097152&i)&&_o(r)&&Zs.isBuiltIn(r,"tuple")?{type:Zs.cloneForUnpacked(r),node:e}:{type:ae(r,!1,e)||Ys.create(),unpackedType:r,node:e,isIncomplete:n.isIncomplete};break}case 54:a=$(e.typeAnnotation,void 0,34024);break;case 0:En(e,(()=>{e.child&&$(e.child)})),a={type:Ys.create(),node:e}}return a||E(`Unhandled expression type '${xr(e)}'`),!u||a.isIncomplete||(128&i&&bo(a.type)&&a.type.details.isVariadic&&!a.type.isVariadicInUnion&&(fe(ml.Diagnostic.typeVarTupleContext(),e),a.type=Ys.create()),Ks.isInstantiable(a.type))||vo(a.type)&&Zs.isTupleClass(a.type)&&0===(null===(r=a.type.tupleTypeArguments)||void 0===r?void 0:r.length)||(ve(a.type,e),a.type=Ys.create()),65536&i&&ea(a.type)&&(a.type.details.illegalRecursionDetected=!0),ea(a.type)||(N(e,a.type,i,!!a.isIncomplete,n,!0),!n||ho(n)||ao(n)||l.set(e.id,n)),a}function H(e){return void 0!==e.futureImports.get("annotations")||e.executionEnvironment.pythonVersion>=De.V3_11||e.isStubFile}function G(e,t){return K(e,{associateTypeVarsWithScope:!0,allowTypeVarTuple:1===t,disallowRecursiveTypeAlias:!0,allowUnpackedTypedDict:2===t,allowUnpackedTuple:1===t})}function K(e,t){var n,i,r;const s=Vt(e);if(s.isTypingStubFile||s.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=F(e,0);if(i)return w(_o(i)),i;const r=Bt(e,t,n);return N(e,r,0,!1),r}}(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),H(s)&&(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===(r=null==e?void 0:e.parent)||void 0===r?void 0:r.nodeType)&&e.parent.typeAnnotationComment===e&&(o|=524292);const a=$(e,void 0,o).type;return To(a)&&_e(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleAsType(),e),Fa(a)}function J(e,t){let n=Vt(e).isStubFile?4:0;9!==e.expression.nodeType&&(n|=2);const i=$(e.expression,void 0,n);if(_o(i.type)&&Zs.isBuiltIn(i.type,"classmethod")&&ua(t))return t;const r=[{argumentCategory:0,type:t}],s=et(e.expression,r,i.type,void 0,!0).returnType||Ys.create();return!Eo(s)||s.details.declaredReturnType||s.details.parameters.some(((e,t)=>!(e.name&&!e.hasDeclaredType&&(0!==e.category||0===t&&e.isTypeInferred))))?La(s)&&Eo(i.type)&&!i.type.details.parameters.find((e=>void 0!==e.typeAnnotation))&&void 0===i.type.details.declaredReturnType?t:s:t}function Y(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 0:case 1:case 2:case 4:case 3:return!0;case 9:return void 0!==Mo(e,(e=>Y(e,t)));case 5:case 6:case 8:case 10:return!1;case 7:{if(Ks.isInstantiable(e))return!1;if(pa(e)&&e.tupleTypeArguments)return da(e)||0===e.tupleTypeArguments.length;if(Zs.isBuiltIn(e,"bool")&&void 0!==e.literalValue)return!1===e.literalValue;if(Zs.isProtocolClass(e))return!0;if(_a(e,"__len__"))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!0===t.literalValue)return!1}return!0}return!1}}}function Q(e,t=0){if(t>Gs)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!==Mo(e,(e=>Q(e,t)));case 0:case 3:return!1;case 7:{if(Ks.isInstantiable(e))return!0;if(pa(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(Zs.isProtocolClass(e))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!1===t.literalValue)return!1}}return!0}}}function Z(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?void 0:e;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!1)}if(Y(e))return e}))}function X(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?e:void 0;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!0)}if(Q(e))return e}))}function ee(e,t,n,i={method:"get"},r,s=0,o){const a=Ne(e,Zs.cloneAsInstantiable(t),n,i,r,8|s,o);if(a)return{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}}function te(e,t,n,i={method:"get"},r,s=0,o){let a;if(Zs.isPartiallyConstructed(t))return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classDefinitionCycle().format({name:t.details.name}),e),{node:e,type:Ys.create()};if(0==(32&s)&&(a=Ne(e,t,n,i,r,1|s,o)),a&&a.classType&&a.symbol&&yo(a.classType)&&Zs.isProtocolClass(a.classType)){const t=Vo(a.symbol);t&&1===t.type&&!a.isClassVar&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.protocolMemberNotClassVar().format({memberName:n,className:a.classType.details.name}),e)}if(!a){const r=t.details.effectiveMetaclass;r&&_o(r)&&!Zs.isSameGenericClass(r,t)&&(a=Ne(e,r,n,i,void 0,s,t))}return a?{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}:void 0}function ne(e,t,n=!1){const i=va(e,t,8);if(i){const t=Bn(i);if(Eo(t)||ko(t)){const i=ri(Zs.cloneAsInstance(e),t,void 0,void 0,void 0,n);if(i)return i}}}function ie(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 r=e.functionAnnotationComment.paramTypeAnnotations;r.length=r.length?void 0:r[s]}function re(e){if(54===e.nodeType&&38===e.valueExpression.nodeType){const t=wn(e,e.valueExpression.value,!1);if(t)return void 0!==t.symbol.getDeclarations().find((e=>ss(e)))}return!1}function se(e,t){let n,i,r,s=!0;switch(e.nodeType){case 38:{const t=wn(e,e.value,!0);if(t&&(n=t.symbol,void 0===On(n)&&2===t.scope.type)){const t=Dr(e);if(t&&10===t.nodeType){const i=$t(t);if(i){const t=va(i.classType,e.value,24);t&&(n=t.symbol)}}}break}case 54:return se(e.valueExpression);case 35:{const t=Ie($(e.leftExpression,void 0,2).type);let o;vo(t)?(o=_a(t,e.memberName.value,16),i=t,r=null==o?void 0:o.classType,(null==o?void 0:o.isInstanceMember)&&(s=!1)):_o(t)&&(o=va(t,e.memberName.value,24),i=t,r=null==o?void 0:o.classType),o&&(n=o.symbol);break}case 24:{const n=se(e.baseExpression);if(n&&vo(n)){const i=va(n,"__setitem__");if(i){const t=Bn(i);if(Eo(t)){const r=ri(n,t,_o(i.classType)?i.classType:void 0,e,void 0,!1);if(r&&Eo(r)&&2===r.details.parameters.length){const e=Xs.getEffectiveParameterType(r,1);if(!ho(e))return e}}}else if(Zs.isTypedDictClass(n)){const i=vl(li,e,n,t||{method:"get"});if(i)return i.type}}break}}if(n){let t=On(n);if(t){if(ua(t)){const e=va(t,"fset"),n=e?Bn(e):void 0;if(!n||!Eo(n)||n.details.parameters.length<2)return;t=n.details.parameters[1].type}return i&&(r&&_o(r)&&(t=ha(t,r)),(Eo(t)||ko(t))&&s&&(t=ri(i,t,void 0,e))),t}}}function oe(e,t){return Ko(e,(e=>{if(ho(e))return e;if(vo(e)){const n=Ee(e,"__await__",t);if(n){if(ho(n))return n;if(vo(n)&&Ee(n,"__iter__",t)){const e=function(e){if(ho(e))return e;if(vo(e)&&Zs.isBuiltIn(e,"Generator")){const t=e.typeArguments;if(t&&t.length>=3)return t[2]}}(n);if(e)return e}}}return t&&_e(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotAwaitable().format({type:ai(e)}),t),Ys.create()}))}function ae(e,t,n){const i=t?"__aiter__":"__iter__",r=t?"__anext__":"__next__";let s=!0;Go(e=Ie(e))&&(n&&_e(Vt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const o=Ko(e,(e=>{if(ho(e=Ie(e)))return e;const o=new il;if(yo(e)){let s;if(Ks.isInstance(e)){if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return no.createNever();s=Ee(e,i,n)}else Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(s=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e));if(s){const e=new il,a=Se(s,void 0,(s=>{if(ho(s))return s;if(vo(s)){const i=Ee(s,r,n);if(i)return t?oe(i,n):i;e.addMessage(ml.Diagnostic.methodNotDefinedOnType().format({name:r,type:ai(s)}))}else e.addMessage(ml.Diagnostic.methodReturnsNonObject().format({name:i}))}));if(e.isEmpty())return a;o.addAddendum(e)}else{if(vo(e)){const t=Ee(e,"__getitem__",n);if(t)return t}o.addMessage(ml.Diagnostic.methodNotDefined().format({name:i}))}}n&&_e(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)})+al(o),n),s=!1}));return s?o:void 0}function le(e,t,n){const i=t?"__aiter__":"__iter__";let r=!0;Go(e=Ie(e))&&(n&&_e(Vt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const s=Ko(e,(e=>{if(ho(e))return e;if(yo(e)){let t;if(Ks.isInstance(e)?t=Ee(e,i,n):Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(t=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e)),t)return Ie(t)}n&&_e(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)}),n),r=!1}));return r?s:void 0}function ce(e,t){return ue(e,t,["typing"])}function ue(t,n,i){const r=Vt(t),s=e({nameParts:i,importingFilePath:r.filePath});if(!s)return;const o=s.symbolTable.get(n);return o?Nn(o):void 0}function pe(e,t){const n=Lt(e);if(!n)return!!e.parent&&pe(e.parent,t);const i=t?Lt(t):void 0;return!!ci.isFlowNodeReachable(n,i)}function de(e){const t=function(e){return e.afterFlowNode}(e);return!!t&&!!ci.isFlowNodeReachable(t)&&!!function(e,t){return void 0!==vn(yn(e.id),t,void 0,void 0,Js.create(),!1).type}(e,t)}function he(e,t,n=!0){const i=Lt(e),r=Lt(t);return!(!i||!r)&&(i===r?n:ci.isFlowNodeReachable(r,i))}function me(e,t,n){return ge("information",e,t,n)}function fe(e,t,n){return ge("error",e,t,n)}function ge(e,t,n,i){if(!ye(n))return Vt(n).diagnosticSink.addDiagnosticWithTextRange(e,t,i||n)}function ye(e){return p.some((t=>Mr(e,t)))||c.isSpeculative(e)||d.isUndoTrackingEnabled()}function _e(e,t,n,i){if("none"===e)return;const r=ge(e,n,i);return r&&r.setRule(t),r}function ve(e,t){const n=Vt(t),i=new il;fo(e)&&Jo(e,(e=>{Ks.isInstantiable(e)||i.addMessage(ml.DiagnosticAddendum.typeNotClass().format({type:ai(e)}))})),_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeExpectedClass().format({type:ai(e)})+i.getString(),t)}function Te(e,t,n,i,r=!1,s){const o=e.value,a=wn(e,o,!1);if(!a)return;const l=a.symbol.getDeclarations();let c=On(a.symbol);const u=Vt(e);if(void 0===c&&2===a.scope.type){const t=Er(e);if(t){const n=$t(t);if(n){const t=va(n.classType,e.value,1);(null==t?void 0:t.isTypeDeclared)&&(c=Bn(t))}}}let p=t;if(c&&i){let n=new il;Jn(c,t,n)?p=ni(c,t):(s&&(n=s),_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(c)})+n.getString(),i||e),p=c)}else{const t=zs(e);2===(null==t?void 0:t.type)&&(!Ks.isInstance(p)||Zt(o)||Wo(a.symbol)||(p=Qo(p)))}const d=l.find((e=>1===e.type));d&&1===d.type&&i&&(d.isConstant?e!==l[0].node&&_e(u.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:o}),e):d.isFinal&&!r&&_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalReassigned().format({name:o}),e)),N(e,p,0,n,void 0,!1)}function be(e,t,n,i,r){const s=e.memberName.value,o=Vt(e),a=Er(e);if(!a)return;const l=$t(a);if(l&&_o(l.classType)){let a=va(l.classType,s,i?0:8);const c=l.classType.details.fields;if(a){const n=_o(a.classType)?a.classType:void 0,u=n&&Zs.isSameGenericClass(l.classType,n);if(u&&i&&(null==n?void 0:n.details.inheritedSlotsNames)&&(null==n?void 0:n.details.localSlotsNames)&&n.details.localSlotsNames.length>0&&!n.details.inheritedSlotsNames.some((e=>e===s))){const t=On(a.symbol);t&&ua(t)||_e(o.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsAttributeError().format({name:s}),e.memberName)}if(u&&a.isInstanceMember===i){const t=c.get(s);w(void 0!==t);const n=t.getDeclarations();n.length>0&&1===n[0].type&&r&&e.memberName!==n[0].node&&n[0].isConstant&&_e(o.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:e.memberName.value}),e.memberName)}else{const n=On(a.symbol);n&&!ua(n)&&!a.isInstanceMember&&i&&(we(o,a.symbol,e.memberName),t=Oo([t,Bn(a)]))}}a=va(l.classType,s,16),a||!r||n||xt(o.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,t,e,!0)}}function Ie(e,t){return Ko(e,(e=>{if(wo(e)){if("args"===e.paramSpecAccess)return T&&_o(T)&&y&&vo(y)?Zs.cloneAsInstance(Va(T,[{type:y,isUnbounded:!0}])):Ys.create();if("kwargs"===e.paramSpecAccess)return S&&_o(S)&&I&&_o(I)&&y&&vo(y)?Zs.cloneAsInstance(Zs.cloneForSpecialization(S,[Fa(I),y],!0)):Ys.create()}if(Io(e)&&T&&_o(T))return Fa(Va(T,[],!0,!0,!0));if(bo(e)&&!e.details.recursiveTypeAliasName){if(e.details.boundType){const t=Ks.isInstantiable(e)?Na(e.details.boundType):e.details.boundType;return e.details.isSynthesized?t:Zo(t,[{typeVarName:oo.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,r)=>{if(t){const n=oo.getNameWithScope(e),i=t.find((e=>e.typeVarName===n));if(i&&i.constraintIndex!==r)return}Ks.isInstantiable(e)&&(i=Na(i)),n.push(Zo(i,[{typeVarName:oo.getNameWithScope(e),constraintIndex:r,isConstrainedTypeVar:!0}]))})),Oo(n)}if(e.details.isExemptFromBoundCheck)return io.create();if(Ks.isInstantiable(e)){if(_&&_o(_))return e.details.isSynthesized?_:Zo(Zs.cloneAsInstance(_),[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}else if(y)return e.details.isSynthesized?y:Zo(y,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}]);return io.create()}return e}))}function Se(e,t,n){const i=[];let r=!1;const s=e=>{let s=fo(e)?e:Ie(e);s=ta(s),Jo(s,(s=>{var o;if(t&&!ro.isCompatible(Xo(s),t))return;let a=n(s,e);if(a!==e&&(r=!0),a){const e=null===(o=Xo(s))||void 0===o?void 0:o.filter((e=>e.isConstrainedTypeVar));e&&e.length>0&&(a=Zo(a,e)),i.push(a)}}))};if(fo(e)?e.subtypes.forEach((e=>{s(e)})):s(e),!r)return e;const o=Oo(i);return 9===o.category&&so.addTypeAliasSource(o,e),o}function xe(e,t,n,i,r=!1,s=!1,o){if(bo(t)&&i&&9===i.nodeType){const n=$(i.leftExpression,void 0,2).type;_o(n)&&(Zs.isBuiltIn(n,"TypeVar")||Zs.isBuiltIn(n,"TypeVarTuple")||Zs.isBuiltIn(n,"ParamSpec"))&&(38===e.nodeType&&e.value===t.details.name||fe(t.details.isParamSpec?ml.Diagnostic.paramSpecAssignedName().format({name:oo.getReadableName(t)}):ml.Diagnostic.typeVarAssignedName().format({name:oo.getReadableName(t)}),e))}switch(t=Ro(t),e.nodeType){case 38:n||xt(Vt(e).diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,e,t,e,r),Te(e,t,n,i,s,o);break;case 35:!function(e,t,n,i,r){const s=$(e.leftExpression,void 0,2),o=Ie(s.type);if(38===e.leftExpression.nodeType){const r=Er(e);if(r){const s=$t(r);if(s&&_o(s.classType)&&(vo(o)?Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!0,i):_o(o)&&Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!1,i),Zs.isProtocolClass(s.classType))){const t=s.classType.details.fields.get(e.memberName.value);t&&0===t.getDeclarations().filter((e=>!kr(e.node))).length&&fe(ml.Diagnostic.assignmentInProtocol(),e.memberName)}}}var l;Fe(e,s,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:r},0).isAsymmetricDescriptor&&(l=e,c.isSpeculative(void 0)||a.add(l.id)),N(e.memberName,t,0,n,void 0,!1),N(e,t,0,n,void 0,!1)}(e,t,n,i,o);break;case 24:{const r=$(e.baseExpression,void 0,2);Le(e,r.type,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:o},0),N(e,t,0,n);break}case 31:case 52:!function(e,t,n,i){const r=31===e.nodeType?e.entries:e.expressions,s=new Array(r.length);for(let e=0;e56===e.nodeType)),a=r.findIndex((e=>56===e.nodeType));t=Ie(t);const l=new il;if(Jo(t,(t=>{const n=ia(t);if(n&&n.tupleTypeArguments){const i=n.tupleTypeArguments.map((e=>Zo(e.type,Xo(t)))),c=n.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(c>=0)if(i.length>s.length)i.splice(c,1);else if(i.length0?i[c]:io.create();for(;i.length=0)if(i.length>s.length){let t=Oo(i.splice(o,i.length-s.length+1));31===e.nodeType&&(t=Qo(t)),i.splice(o,0,t)}else i.length===s.length-1&&i.splice(o,0,no.createNever());if(i.forEach(((e,t)=>{t=0?r.length-1:r.length,s=l.createAddendum();s.addMessage((31===e.nodeType?ml.DiagnosticAddendum.listAssignmentMismatch():ml.DiagnosticAddendum.tupleAssignmentMismatch()).format({type:ai(t)})),s.createAddendum().addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:n,received:i.length}))}}else{const e=ae(t,!1,i)||Ys.create();for(let n=0;n{const r=s[t];xe(e,0===r.length?Ys.create():Oo(r),n,i,!0)})),N(e,t,0,n)}(e,t,n,i);break;case 54:{const n=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});vo(n)&&(Zs.isBuiltIn(n,"Final")||Zs.isBuiltIn(n,"ClassVar"))||vo(n)&&Zs.isBuiltIn(n,"TypeAlias")||Jn(n,t)&&(vo(t)&&Zs.isEnumClass(t)||(t=ni(n,t))),xe(e.valueExpression,t,!1,i,r,s,o);break}case 56:38===e.expression.nodeType&&Te(e.expression,Cn(e.expression,"list",[t]),!1,i);break;case 0:e.child&&En(e.child,(()=>{$(e.child)}));break;default:fe(ml.Diagnostic.assignmentTargetExpr(),e)}}function Ce(e){switch(e.nodeType){case 38:$(e);break;case 35:{const t=$(e.leftExpression),n=Fe(e,t,{method:"del"},0);N(e.memberName,n.type,0,!1),N(e,n.type,0,!1);break}case 24:{const t=$(e.baseExpression,void 0,2);Le(e,t.type,{method:"del"},0),N(e,Js.create(),0,!1);break}case 52:e.expressions.forEach((e=>{Ce(e)}));break;case 0:e.child&&En(e.child,(()=>{$(e.child,void 0)}));break;default:_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.delTargetExpr(),e)}}function we(e,t,n){c.isSpeculative(n)||d.isUndoTrackingEnabled()||e.accessedSymbolMap.set(t.id,!0)}function Ee(e,t,n,i){const r=_a(e,t,8);if(!r)return;const s=Bn(r);if(ho(s))return s;if(Eo(s)){const t=ri(i||e,s,r&&_o(r.classType)?r.classType:void 0,n,void 0,!1,i);if(t)return Un(t)}}function ke(e,t,n){var i;if(Ks.isInstantiable(t)&&!ea(t)){const r=function(e,t){var n;let i=e,r=0;for(w(Ks.isInstantiable(t));i&&(i=Pr(i,35===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)),i);){let e;if(10===i.nodeType){const t=$t(i);t&&(e=t.classType.details.typeParameters),r++}else if(28===i.nodeType){const t=Gt(i);t&&(e=[],t.functionType.details.parameters.forEach((t=>{t.hasDeclaredType&&Ia(e,Sa(t.type))})),t.functionType.details.declaredReturnType&&Ia(e,Sa(t.functionType.details.declaredReturnType)))}else if(36===i.nodeType)break;if(e){const n=e.find((e=>e.details.name===t.details.name));if(n&&n.scopeId)return{type:r>1?t:Na(n),foundInterveningClass:r>1}}i=i.parent}for(i=e;i;){if(3===i.nodeType){const e=F(i.leftExpression,0);if(e&&bo(e)&&e.details.recursiveTypeAliasScopeId&&e.details.recursiveTypeAliasName)return{type:oo.cloneForScopeId(t,e.details.recursiveTypeAliasScopeId,e.details.recursiveTypeAliasName,2),foundInterveningClass:!1}}i=i.parent}return{type:t,foundInterveningClass:!1}}(e,t);if(t=r.type,0!=(2048&n)&&void 0!==t.scopeId)t.details.isSynthesized||t.details.isParamSpec||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else if(0!=(8192&n)){if(void 0===t.scopeId)if(r.foundInterveningClass)_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else{let n=Dr(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=Dr(n);28===(null==i?void 0:i.nodeType)?n=i:r.type.scopeId||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotUsedByOuterScope().format({name:t.details.name}),e)}}n?t=oo.cloneForScopeId(t,Pe(n),n.name.value,28===n.nodeType?1:0):E("AssociateTypeVarsWithCurrentScope flag was set but enclosing scope not found")}}else if(0!=(4096&n)&&(void 0===t.scopeId||r.foundInterveningClass)&&!t.details.isSynthesized){const n=wo(t)?ml.Diagnostic.paramSpecNotUsedByOuterScope():ml.Diagnostic.typeVarNotUsedByOuterScope();_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n.format({name:t.details.name}),e)}}return t.isVariadicUnpacked&&(t=oo.cloneForPacked(t)),t}function Ae(e,t,n){return 0==(2&n)&&(_o(t)&&(0!=(64&n)&&((i=t).details.typeParameters.length>0?!i.details.typeParameters[0].details.isSynthesized:!(!Zs.isSpecialBuiltIn(i)||!["Tuple","Callable","Generic","Type","Optional","Union","Literal","Annotated","TypeGuard","StrictTypeGuard"].some((e=>e===(i.aliasName||i.details.name)))))&&!t.typeArguments&&_e(Vt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForClass().format({name:t.aliasName||t.details.name}),e),t.typeArguments||(t=Tn(t,void 0,n,e))),0!=(64&n)&&t.typeAliasInfo&&t.typeAliasInfo.typeParameters&&t.typeAliasInfo.typeParameters.length>0&&!t.typeAliasInfo.typeArguments&&(_e(Vt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForAlias().format({name:t.typeAliasInfo.name}),e),t=Ks.cloneForTypeAlias(t,t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,t.typeAliasInfo.typeParameters.map((e=>Ys.create()))))),t;var i}function Pe(e){let t="";return(10===e.nodeType||28===e.nodeType)&&(t=e.name.value),`${Vt(e).filePath}.${e.start.toString()}-${t}`}function Re(e){const t=[];let n=e;for(;n&&(n=Pr(n),n);)t.push(Pe(n)),n=n.parent;return t}function Fe(e,n,i,r){var s;let o=n.type;const a=e.memberName.value;let l=new il;const c=Vt(e);let u,p,d=!!n.isIncomplete;if(n.isIncomplete&&mo(n.type))return{type:Ys.create(),node:e,isIncomplete:!0};fo(o)&&Ks.isSpecialForm(o)&&y&&(o=y);const h=()=>{if(f&&_o(f))return ee(e.memberName,f,a,i,l,void 0,n.bindToType)};switch(wo(o)&&o.paramSpecAccess&&(o=Ie(o)),o.category){case 2:case 1:u=o;break;case 4:u=Ys.create();break;case 10:if(o.details.isParamSpec){if("args"===a){const t=jr(e);return t&&1===t.category?{type:oo.cloneForParamSpecAccess(o,"args"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecArgsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}if("kwargs"===a){const t=jr(e);return t&&2===t.category?{type:oo.cloneForParamSpecAccess(o,"kwargs"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecKwargsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}return d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecUnknownMember().format({name:a}),e),{type:Ys.create(),node:e,isIncomplete:d}}return 64&r?(d||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNoMember().format({type:ai(o),name:a}),e.leftExpression),{type:Ys.create(),node:e,isIncomplete:d}):o.details.recursiveTypeAliasName?{type:Ys.create(),node:e,isIncomplete:!0}:Fe(e,{type:Ie(o),node:e,bindToType:o,isIncomplete:d},i,0);case 7:if(Ks.isInstantiable(o)){const t=te(e.memberName,o,a,i,l,0,n.bindToType);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else if(Zs.isBuiltIn(o,"type")&&y&&vo(y)&&!n.isSuperCall){const t=te(e.memberName,Zs.cloneAsInstantiable(y),a,i,l,0,n.bindToType?Fa(n.bindToType):void 0);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else{if(Zs.isBuiltIn(o,"LiteralString")&&I&&_o(I)&&(o=Zs.cloneAsInstance(I)),Zs.isEnumClass(o)){const t=o.literalValue;if(t instanceof Hs)if("name"===a||"_name_"===a){const n=xn(e,"str");if(_o(n))return{node:e,type:Zs.cloneAsInstance(Zs.cloneWithLiteral(n,t.itemName)),isIncomplete:d}}else if("value"===a||"_value_"===a)return{node:e,type:t.itemType,isIncomplete:d}}const t=ee(e.memberName,o,a,i,l,void 0,n.bindToType);t&&(u=Zo(t.type,Xo(o))),(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}break;case 8:{const n=Qs.getField(o,a);if(n&&!n.isExternallyHidden())"get"===i.method&&we(Vt(e),n,e.memberName),u=Mn(n,void 0,!0).type,bo(u)&&(u=ke(e,u,r)),mo(u)&&(u=Ys.create()),n.isPrivateMember()&&_e(Vt(e).diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:a}),e.memberName),n.isPrivatePyTypedImport()&&_e(Vt(e).diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:a,module:o.moduleName}),e.memberName);else{if("get"===i.method){const e=Qs.getField(o,"__getattr__");if(e&&(c.executionEnvironment.pythonVersion>=De.V3_7||e.getDeclarations().some((e=>e.path.toLowerCase().endsWith(".pyi"))))){const t=Mn(e);Eo(t.type)&&(u=Un(t.type),t.isIncomplete&&(d=!0))}}u||(d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleUnknownMember().format({name:a,module:o.moduleName}),e.memberName),u=t.evaluateUnknownImportsAsAny?io.create():Ys.create())}break}case 9:u=Ko(o,(t=>{if(lo(t)){const t=h();return t?(u=Zo(t.type,Xo(o)),t.isIncomplete&&(d=!0),u):void(d||_e(Vt(e).diagnosticRuleSet.reportOptionalMemberAccess,$o.reportOptionalMemberAccess,ml.Diagnostic.noneUnknownMember().format({name:a}),e.memberName))}if(!mo(t)){const r=Fe(e,{type:t,node:e,isIncomplete:n.isIncomplete},i,0);return r.isIncomplete&&(d=!0),r.type}}));break;case 5:case 6:if("__defaults__"===a)u=io.create();else if("__self__"===a){const e=Eo(o)?o:o.overloads[0];void 0!==e.preBoundFlags&&0==(4&e.preBoundFlags)&&(u=e.boundToType)}else u=v?Fe(e,{type:v,node:e},i,r).type:io.create();break;case 3:{const e=h();e&&(u=Zo(e.type,Xo(o)),e.isIncomplete&&(d=!0));break}default:l.addMessage(ml.DiagnosticAddendum.typeUnsupported().format({type:ai(o)}))}if(!u){const t=Eo(o)||ko(o)||vo(o)&&Zs.isBuiltIn(o,"function");if(!n.isIncomplete){let n=ml.Diagnostic.memberAccess();"set"===i.method?n=ml.Diagnostic.memberSet():"del"===i.method&&(n=ml.Diagnostic.memberDelete()),i.setExpectedTypeDiag&&(l=i.setExpectedTypeDiag);const[r,s]=t?[c.diagnosticRuleSet.reportFunctionMemberAccess,$o.reportFunctionMemberAccess]:[c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues];_e(r,s,n.format({name:a,type:ai(o)})+al(l),e.memberName)}u=t?io.create():Ys.create()}if(0==(2&r)&&_o(u)&&!u.typeArguments&&(u=Tn(u,void 0,r,e)),"get"===i.method){let t=d;if(_o(u)){const n=function(e,t){let n=e;for(;n;){if(n.nodeType===t)return n;n=n.parent}}(e,1);n&&9===(null===(s=null==n?void 0:n.parent)||void 0===s?void 0:s.nodeType)&&(t=!0)}t||xt(c.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,u,e,!1)}return{type:u,node:e,isIncomplete:d,isAsymmetricDescriptor:p}}function Ne(e,t,n,i,r,s,o){var a;let l=0;1&s&&(l|=8),2&s&&(l|=2),4&s&&(l|=4),256&s&&(l|=32),128&s&&(l|=1);let c=va(t,n,16|l);if(c||(c=va(t,n,l)),c){let l,u=!1;if(c.symbol.isInitVar())return void(r&&r.addMessage(ml.DiagnosticAddendum.memberIsInitVar().format({name:n})));if("get"!==i.method){const n=Er(e);if(n){const e=null===(a=$t(n))||void 0===a?void 0:a.classType;e&&_o(e)&&Zs.isSameGenericClass(e,t)&&(l=On(c.symbol)||Ys.create(),l&&_o(c.classType)&&(l=ha(l,c.classType)))}}if(!l){const n=function(e,t,n){if(_o(t.classType)){const i=Mn(t.symbol);if(i)return Ln(i.type),{node:e,type:ha(i.type,t.classType,n),isIncomplete:!!i.isIncomplete}}}(e,c,o?void 0:t);n?(l=n.type,n.isIncomplete&&(u=!0)):l=Ys.create()}if(Zs.isTypedDictClass(t)){const e=c.symbol.getTypedDeclarations();if(e.length>0&&1===e[0].type)return void(r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n})))}"get"===i.method&&_o(c.classType)&&Zs.isSameGenericClass(c.classType,t)&&we(Vt(e),c.symbol,e);const p=function(e,t,n,i,r,s,o,a,l,c){const u=0!=(16&s);let p=!0,d=!1;if(e=Ko(e,(e=>{const h=Ie(e);if(yo(h)){let e=h,u=!1;if(Ks.isInstantiable(h)&&(h.details.effectiveMetaclass&&_o(h.details.effectiveMetaclass)&&(r||"get"===l.method)?(e=Fa(h.details.effectiveMetaclass),u=!0):e=void 0),e){let m;m="get"===l.method?"__get__":"set"===l.method?"__set__":"__delete__";const f=va(e,m,8);if(Zs.isPropertyClass(e))if("set"===l.method){if(!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingSetter().format({name:a})),void(p=!1)}else if("del"===l.method&&!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingDeleter().format({name:a})),void(p=!1);if(f){let a=Bn(f);const g=[{argumentCategory:0,type:Zs.isClassProperty(e)?n:r?i||Zs.cloneAsInstance(n):to.createInstance()}];if("get"===l.method?g.push({argumentCategory:0,type:n}):"set"===l.method&&g.push({argumentCategory:0,type:l.setType||Ys.create()}),Zs.isPropertyClass(e)&&t&&_o(t.classType)&&(Ln(a),a=ha(a,t.classType),0!=(1&s)&&Zs.isProtocolClass(n)&&(c&&c.addMessage(ml.DiagnosticAddendum.propertyAccessFromProtocolClass()),p=!1)),a&&(Eo(a)||ko(a))){const n=a,i=En(o,(()=>{let i;Zs.isPropertyClass(h)&&!u?t&&_o(t.classType)&&(i=t.classType):_o(f.classType)&&(i=f.classType);const r=ri(e,n,i,o,void 0,void 0,u?h:void 0);if(r&&(Eo(r)||ko(r))){const e=new jo(na(r));i&&e.addSolveForScope(na(i));const t=et(o,g,r,e,!0);if(t.argumentErrors){if("set"===l.method)if(l.setType&&Eo(r)&&r.details.parameters.length>=2){const e=Xs.getEffectiveParameterType(r,1);null==c||c.addMessage(ml.DiagnosticAddendum.typeIncompatible().format({destType:ai(e),sourceType:ai(l.setType)}))}else ko(r)&&(null==c||c.addMessage(ml.Diagnostic.noOverload().format({name:m})));return p=!1,io.create()}return"get"===l.method?t.returnType||Ys.create():io.create()}}));if("set"===l.method&&yo(f.classType)&&function(e){var t;if(void 0!==e.isAsymmetricDescriptor)return e.isAsymmetricDescriptor;let n=!1;const i=va(e,"__get__",2),r=va(e,"__set__",2);if(i&&r){const e=Nn(i.symbol),s=Nn(r.symbol);Eo(e)&&Eo(s)&&s.details.parameters.length>=3&&e.details.declaredReturnType&&(Ao(Xs.getEffectiveParameterType(s,2),null!==(t=Xs.getSpecializedReturnType(e))&&void 0!==t?t:Ys.create())||(n=!0))}else n=!1;return e.isAsymmetricDescriptor=n,n}(f.classType)&&(d=!0),i)return i}}}}else if((Eo(h)||ko(h))&&(!r||t&&!t.isInstanceMember))return ri(r?Zs.cloneAsInstance(n):n,h,t&&_o(t.classType)?t.classType:void 0,o,void 0,u,i);if("set"===l.method){if((null==t?void 0:t.symbol.isClassVar())&&8&s)return c&&c.addMessage(ml.DiagnosticAddendum.memberSetClassVar().format({name:a})),void(p=!1);const e=null==t?void 0:t.symbol.getDeclarations().find((e=>rs(e)));if(e&&!Mr(o,e.node)){const e=kr(o);if(!e||"__init__"!==e.name.value)return c&&c.addMessage(ml.Diagnostic.finalReassigned().format({name:a})),void(p=!1)}if((null==t?void 0:t.isInstanceMember)&&yo(t.classType)&&Zs.isReadOnlyInstanceVariables(t.classType))return c&&c.addMessage(ml.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 r&&!t.isInstanceMember&&Eo(h)&&(Xs.isClassMethod(h)||Xs.isInstanceMethod(h))&&(e=Xs.clone(h,!0)),e}}return e})),p)return{type:e,isAsymmetricDescriptor:d}}(l,c,t,o,0==(1&s),s,e,n,i,r);if(!p)return;if(l=p.type,"set"===i.method&&i.setType){if(!Jn(l,i.setType,null==r?void 0:r.createAddendum()))return void(r&&r.addMessage(ml.DiagnosticAddendum.memberAssignment().format({type:ai(i.setType),name:n,classType:oi(t)})));if(_o(c.classType)&&Zs.isFrozenDataClass(c.classType)&&0==(1&s))return void(r&&r.addMessage(ml.DiagnosticAddendum.dataClassFrozen().format({name:ai(Zs.cloneAsInstance(c.classType))})))}return{symbol:c.symbol,type:l,isTypeIncomplete:u,isClassMember:!c.isInstanceMember,isClassVar:c.isClassVar,classType:c.classType,isAsymmetricDescriptor:p.isAsymmetricDescriptor}}if(0==(65&s)){const r=function(e,t,n,i){var r,s,o,a;if("get"===n.method){let n=null===(r=te(t,e,"__getattribute__",{method:"get"},void 0,68))||void 0===r?void 0:r.type;if(n||(n=null===(s=te(t,e,"__getattr__",{method:"get"},void 0,68))||void 0===s?void 0:s.type),n&&ko(n)){let e=io.create();I&&_o(I)&&(e=Zs.cloneWithLiteral(Zs.cloneAsInstance(I),i)),n=Ge(t,n,[{argumentCategory:0,type:io.create()},{argumentCategory:0,type:e}])}if(n&&Eo(n))return Un(n)}else if("set"===n.method){if(null===(o=te(t,e,"__setattr__",{method:"get"},void 0,68))||void 0===o?void 0:o.type)return io.create()}else if(w("del"===n.method),null===(a=te(t,e,"__detattr__",{method:"get"},void 0,68))||void 0===a?void 0:a.type)return io.create()}(t,e,i,n);if(r)return{symbol:void 0,type:r,isTypeIncomplete:!1,isClassMember:!1,isClassVar:!1,isAsymmetricDescriptor:!1}}r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n}))}function Me(e,t,n){const i=t.findIndex((e=>Io(e)));if(i>=0&&T&&_o(T))if(i{Et(e,{allowEmptyTuple:0===t,allowVariadicTypeVar:!0,allowUnpackedTuples:!0})}));const r=[];1===n.length&&n[0].isEmptyTupleShorthand||n.forEach((e=>{xo(e.type)&&e.type.tupleTypeArguments?r.push(...e.type.tupleTypeArguments):r.push({type:Fa(e.type),isUnbounded:!1})}));const s=Fa(Va(T,r,!0,!0,!0));e=[...e.slice(0,i),{node:e[i].node,type:s},...e.slice(i+1+e.length-t.length,e.length)]}}else e.push({node:n,type:Fa(Va(T,[],!0,!0,!0))});return e}function Oe(e,t){return!!e.isVariadicUnpacked||(fe(ml.Diagnostic.unpackedTypeVarTupleExpected().format({name1:e.details.name,name2:e.details.name}),t),!1)}function Le(e,t,n,i){const r=function(e,t,n){var i,r;if(!(null===(i=t.typeAliasInfo)||void 0===i?void 0:i.typeParameters)||0===t.typeAliasInfo.typeParameters.length&&t.typeAliasInfo.typeArguments)return;if(!Ks.isInstantiable(t))return;if(t.typeAliasInfo.typeArguments)return;const s=t.typeAliasInfo.typeParameters;let o=Me(Be(e,n),s,e);1===s.length&&s[0].details.isParamSpec&&o&&o.every((e=>!ca(e.type)&&!e.typeList&&!wo(e.type)))&&(o=[{type:Ys.create(),node:o[0].node,typeList:o}]),o.length>s.length&&!s.some((e=>e.details.isVariadic))&&fe(ml.Diagnostic.typeArgsTooMany().format({name:ai(t),expected:s.length,received:o.length}),o[s.length].node);const a=new jo(t.typeAliasInfo.typeVarScopeId),l=new il;s.forEach(((e,t)=>{if(e.details.isParamSpec&&t{Xs.addParameter(n,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),Kn(e,n,l,a)}else if(wo(o[t].type))Kn(e,Fa(o[t].type),l,a);else if(ca(o[t].type)){const t=Xs.createInstantiable("","","",98304);Ks.setSpecialForm(t),Xs.addDefaultParameters(t),Kn(e,t,l,a)}else fe(ml.Diagnostic.typeArgListExpected(),o[t].node);else t{let t;if(wo(e)){const n=a.getParamSpec(e);t=n?Ja(n):Ys.create()}else t=a.getTypeVarType(e);c.push(t||Ys.create())})),{type:Ks.cloneForTypeAlias(fa(t,a),t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,c),node:e}}(e,t,i);if(r)return r;if(ea(t)){const n=Be(e,i).map((e=>Fa(e.type)));return{type:Ks.cloneForTypeAlias(t,t.details.recursiveTypeAliasName,"",t.details.recursiveTypeAliasScopeId,void 0,n),node:e}}let s=!1;const o=Se(t,void 0,((t,r)=>{var o;if(ho(t))return t;if(64&i&&bo(r))return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNotSubscriptable().format({type:ai(r)}),e.baseExpression),Be(e,i,!1,!1),Ys.create();if(_o(t)){if(t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&!Zs.isBuiltIn(t.details.effectiveMetaclass,"type")&&te(e,t,qe(n),void 0,void 0,96))return Ve(e,t,n).type;if("set"===n.method?fe(ml.Diagnostic.genericClassAssigned(),e.baseExpression):"del"===n.method&&fe(ml.Diagnostic.genericClassDeleted(),e.baseExpression),Zs.isSpecialBuiltIn(t,"Literal"))return function(e,t){if(0===e.items.length)return fe(ml.Diagnostic.literalEmptyArgs(),e.baseExpression),Ys.create();const n=[];for(const t of e.items){let i;const r=t.valueExpression;if(0!==t.argumentCategory)fe(ml.Diagnostic.unpackedArgInTypeArgument(),r),i=Ys.create();else if(t.name)fe(ml.Diagnostic.keywordArgInTypeArgument(),r),i=Ys.create();else if(48===r.nodeType){i=Nt(e,0!=(32&r.strings[0].token.flags)?"bytes":"str",r.strings.map((e=>e.value)).join(""))}else 40===r.nodeType?!r.isImaginary&&r.isInteger&&(i=Nt(e,"int",r.value)):11===r.nodeType?33===r.constType?i=Nt(e,"bool",!0):15===r.constType?i=Nt(e,"bool",!1):26===r.constType&&(i=to.createType()):55===r.nodeType&&33===r.operator&&40===r.expression.nodeType&&!r.expression.isImaginary&&r.expression.isInteger&&(i=Nt(e,"int",-r.expression.value));if(!i){const e=$(r);if(vo(e.type)&&Zs.isEnumClass(e.type)&&void 0!==e.type.literalValue)i=Zs.cloneAsInstantiable(e.type);else{let t=!0;Jo(e.type,(e=>{_o(e)&&void 0!==e.literalValue||(t=!1)})),t&&(i=e.type)}}i||(fe(ml.Diagnostic.literalUnsupportedType(),t),i=Ys.create()),n.push(i)}return Oo(n)}(e);if(Zs.isBuiltIn(t,"InitVar")){const t=Be(e,i);return 1===t.length?t[0].type:(fe(ml.Diagnostic.typeArgsMismatchOne().format({received:t.length}),e.baseExpression),Ys.create())}if(Zs.isEnumClass(t))return Zs.cloneAsInstance(t);const r=_o(t)&&Zs.isBuiltIn(t,"Annotated"),s=_o(t)&&Zs.hasCustomClassGetItem(t),a=(null===(o=t.details.typeParameters)||void 0===o?void 0:o.length)>0||Zs.isSpecialBuiltIn(t)||Zs.isBuiltIn(t,"type")||Zs.isPartiallyConstructed(t),l=_o(t)&&Zs.isBuiltIn(t,"Final"),c=_o(t)&&Zs.isBuiltIn(t,"ClassVar");let u=Be(e,i,r,s||!a,l,c);return r||(u=Me(u,t.details.typeParameters,e)),s?t:t.typeArguments?(fe(ml.Diagnostic.classAlreadySpecialized().format({type:ai(Fa(t),!0)}),e.baseExpression),t):Tn(t,u,i,e)}if(vo(t)){const i=Ve(e,t,n);return i.isIncomplete&&(s=!0),i.type}return ao(t)?Ys.create():lo(t)?(_e(Vt(e).diagnosticRuleSet.reportOptionalSubscript,$o.reportOptionalSubscript,ml.Diagnostic.noneNotSubscriptable(),e.baseExpression),Ys.create()):(mo(t)||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSubscriptable().format({type:ai(t)}),e.baseExpression),Ys.create())}));return e.items.forEach((e=>{R(e.valueExpression)||$(e.valueExpression,void 0,4&i)})),{type:o,node:e,isIncomplete:s}}function Ue(e,t=!1){return T&&_o(T)?Fa(Va(T,e.map((e=>({type:e,isUnbounded:t}))))):Ys.create()}function qe(e){return"get"===e.method?"__getitem__":"set"===e.method?"__setitem__":(w("del"===e.method),"__delitem__")}function Ve(e,t,n){var i,r;if(vo(t)&&Zs.isTypedDictClass(t)){const i=vl(li,e,t,n);if(i)return i}const s=qe(n),o=vo(t)?null===(i=ee(e,t,s,void 0,void 0,64))||void 0===i?void 0:i.type:null===(r=te(e,t,s,void 0,void 0,96))||void 0===r?void 0:r.type;if(!o)return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.methodNotDefinedOnType().format({name:s,type:ai(t)}),e.baseExpression),{node:e,type:Ys.create()};if(1===e.items.length&&!e.trailingComma&&!e.items[0].name&&0===e.items[0].argumentCategory&&vo(t)){const n=e.items[0].valueExpression,i=$(n).type;if(vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue){const n=i.literalValue,r=ia(t);if(r&&r.tupleTypeArguments&&!da(r)){if(n>=0&&n=0)return{node:e,type:r.tupleTypeArguments[r.tupleTypeArguments.length+n].type}}}else if(vo(i)&&Zs.isBuiltIn(i,"slice")){const i=ia(t);if(i&&i.tupleTypeArguments&&!da(i)&&46===n.nodeType&&!n.stepValue){const t=(e,t)=>{let n=t;if(e){const t=$(e).type;vo(t)&&Zs.isBuiltIn(t,"int")&&ra(t)&&"number"==typeof t.literalValue?(n=t.literalValue,n<0&&(n=i.tupleTypeArguments.length+n)):n=-1}return n},r=t(n.startValue,0),s=t(n.endValue,i.tupleTypeArguments.length);if(r>=0&&s>0&&s<=i.tupleTypeArguments.length&&T&&_o(T))return{node:e,type:Zs.cloneAsInstance(Va(T,i.tupleTypeArguments.slice(r,s)))}}}}const a=e.items.filter((e=>0===e.argumentCategory&&!e.name)),l=e.items.filter((e=>1===e.argumentCategory)),c=e.items.filter((e=>0===e.argumentCategory&&!!e.name)),u=e.items.filter((e=>2===e.argumentCategory));let p;if(1!==a.length||0!==l.length||e.trailingComma)if(0===a.length&&0===l.length)p=T&&_o(T)?Fa(Va(T,[])):Ys.create();else{const e=[];a.forEach((t=>{e.push($(t.valueExpression).type)})),l.forEach((t=>{const n=ae($(t.valueExpression).type,!1,t)||Ys.create();e.push(n)})),p=Ue(e,l.length>0)}else p=$(a[0].valueExpression).type;let d,h=[{argumentCategory:0,type:p}];if("set"===n.method){let e=n.setType||io.create();bo(e)&&e.details.constraints.length>0&&(e=Ie(e,vo(t)?t.condition:void 0)),h.push({argumentCategory:0,type:e})}return c.forEach((e=>{h.push({argumentCategory:0,valueExpression:e.valueExpression,node:e,name:e.name})})),u.forEach((e=>{h.push({argumentCategory:2,valueExpression:e.valueExpression,node:e})})),kn(e,(()=>{if(d=et(e,h,o),d.argumentErrors&&vo(p)&&0===c.length&&0===u.length){const t=[...h];if(t[0]={...t[0]},ee(e,p,"__index__")){const n=Cn(e,"int");vo(n)&&(t[0].type=n)}d=et(e,t,o),d.argumentErrors||(h=t)}})),d=et(e,h,o),{node:e,type:d.returnType||Ys.create(),isIncomplete:!!d.isTypeIncomplete}}function Be(e,t,n=!1,i=!1,r=!1,s=!1){const o=[];let a=t;r||s?a|=131088:(a&=-1048739,n||(a|=131088),a|=2097152);const l=(e,t)=>{let r;return r=i||n&&t>0?$(e,void 0,131234):function(e,t){let n,i=1097|t;return Vt(e).isStubFile&&(i|=4),31===e.nodeType?(n={type:Ys.create(),typeList:e.entries.map((e=>$(e,void 0,i))),node:e},O(e)):(n=$(e,void 0,i),yo(n.type)&&Zs.isBuiltIn(n.type,"Protocol")&&fe(ml.Diagnostic.protocolNotAllowedInTypeArgument(),e),0!=(131072&t)&&yo(n.type)&&Zs.isBuiltIn(n.type,"ClassVar")&&fe(ml.Diagnostic.classVarNotAllowed(),e)),n}(e,a),r};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(l(e,t))})),O(e.items[0].valueExpression)):e.items.forEach(((e,t)=>{const n=l(e.valueExpression,t);0!==e.argumentCategory&&1===e.argumentCategory&&(Io(n.type)&&!n.type.isVariadicUnpacked?n.type=oo.cloneForUnpacked(n.type):_o(n.type)&&!n.type.includeSubclasses&&pa(n.type)&&(n.type=Zs.cloneForUnpacked(n.type))),e.name&&fe(ml.Diagnostic.keywordArgInTypeArgument(),e.valueExpression),o.push(n)})),o}function We(e,t){if(!vo(t=ta(t)))return;if(!T||!_o(T))return;let n=[];if(pa(t)&&t.tupleTypeArguments){n=t.tupleTypeArguments.map((e=>ta(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.length$(e,tsa(e)));return{type:Fa(Va(T,je(i),!0,!r)),node:e}}function je(e){const t=[];for(const n of e){let e;if(n.unpackedType?e=n.unpackedType:Co(n.type)&&(e=n.type),e&&vo(e)&&e.tupleTypeArguments){const n=e.tupleTypeArguments;n?t.push(...n):t.push({type:Ys.create(),isUnbounded:!0})}else t.push({type:n.type,isUnbounded:!!n.unpackedType})}if(t.filter((e=>e.isUnbounded)).length>1){const e=t.findIndex((e=>e.isUnbounded)),n=t.splice(e);t.push({type:Oo(n.map((e=>e.type))),isUnbounded:!0})}return t}function ze(e,t){const n=$(e.leftExpression,void 0,2),i=e.arguments.map((e=>({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,node:e,name:e.name})));let r={node:e,type:Ys.create()};if(ea(n.type))r.isIncomplete=!0;else{if(38===e.leftExpression.nodeType&&"super"===e.leftExpression.value)r=function(e){let t,n;if(e.arguments.length>2&&fe(ml.Diagnostic.superCallArgCount(),e.arguments[2]),e.arguments.length>0){t=$(e.arguments[0].valueExpression).type;const n=Ie(t);ho(n)||_o(n)||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallFirstArg().format({type:ai(t)}),e.arguments[0].valueExpression)}else{const n=Er(e);if(n){const e=$t(n);t=e?e.classType:Ys.create()}else fe(ml.Diagnostic.superCallZeroArgForm(),e.leftExpression),t=Ys.create()}if(e.arguments.length>1){const i=Ie($(e.arguments[1].valueExpression).type);let r=!1;ho(i)||(vo(i)?(_o(t)&&(Da(Zs.cloneAsInstantiable(i),t,!0)||(r=!0)),n=i):_o(i)?(_o(t)&&(Da(i,t,!0)||(r=!0)),n=i):r=!0),r&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallSecondArg().format({type:ai(t)}),e.arguments[1].valueExpression)}else{const i=kr(e);let r;if(i){const e=Gt(i);if(e){const t=e.functionType;Xs.isClassMethod(t)?t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(t.details.parameters[0].type)):Xs.isInstanceMethod(t)&&t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(Na(t.details.parameters[0].type)))}}r&&_o(r)?n=r:_o(t)&&(n=t)}let i=!0;if(e.arguments.length<=1){const t=kr(e);if(t){const e=Gt(t);e&&(Xs.isStaticMethod(e.functionType)||Xs.isConstructorMethod(e.functionType)||Xs.isClassMethod(e.functionType))&&(i=!1)}}const r=e.parent;if(35===r.nodeType){const s=va(t,r.memberName.value,1);if(s&&_o(s.classType))return{type:i?Zs.cloneAsInstance(s.classType):s.classType,node:e,bindToType:i&&n&&_o(n)?Zs.cloneAsInstance(n):n,isSuperCall:!0}}if(_o(t)){if(t.details.mro.some((e=>ho(e))))return{type:Ys.create(),isSuperCall:!0,node:e};const n=t.details.baseClasses;if(n.length>0){const t=n[0];if(_o(t))return{type:i?Zs.cloneAsInstance(t):t,isSuperCall:!0,node:e}}}return{type:Ys.create(),isSuperCall:!0,node:e}}(e);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value)r=$e(e,t);else if(Eo(n.type)&&"reveal_type"===n.type.details.builtInName)r=$e(e,t);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_locals"===e.leftExpression.value)0===e.arguments.length?r.type=function(e){let t,n=e;for(;n&&(t=zs(n),!t||0===t.type);)n=n.parent;const i=[];return t&&t.symbolTable.forEach(((e,t)=>{if(!e.isIgnoredForProtocolMatch()){const n=Nn(e);i.push(ml.DiagnosticAddendum.typeOfSymbol().format({name:t,type:ai(n,!0)}))}})),i.length>0?me(i.join("\n"),e):me(ml.Diagnostic.revealLocalsNone(),e),to.createInstance()}(e):fe(ml.Diagnostic.revealLocalsArgs(),e);else{const s=et(e,i,n.type,void 0,!1,t);r.type=s.returnType||Ys.create(),s.argumentErrors&&(r.typeErrors=!0,t&&(r.isIncomplete=!0)),s.isTypeIncomplete&&(r.isIncomplete=!0)}n.isIncomplete&&(r.isIncomplete=!0)}return _o(n.type)&&Zs.isBuiltIn(n.type,"TypeVar")&&Vt(e).isTypingStubFile||i.forEach((e=>{e.valueExpression&&48!==e.valueExpression.nodeType&&!R(e.valueExpression)&&$(e.valueExpression)})),r}function $e(e,t){let n,i,r,s,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){s=e.valueExpression;const t=$(e.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&"string"==typeof t.literalValue?o=t.literalValue:fe(ml.Diagnostic.revealTypeExpectedTextArg(),e.valueExpression)}else"expected_type"===e.name.value&&(i=e.valueExpression,r=Fa(In(e).type));else n=void 0})),!n)return fe(ml.Diagnostic.revealTypeArgs(),e),{node:e,type:Ys.create()};const a=$(n,t),l=a.type,c=xr(n),u=ai(l,!0);if(void 0!==o&&o!==u&&fe(ml.Diagnostic.revealTypeExpectedTextMismatch().format({expected:o,received:u}),null!=s?s:n),r&&!Ao(r,l)){const e=ai(r);fe(ml.Diagnostic.revealTypeExpectedTypeMismatch().format({expected:e,received:u}),null!=i?i:n)}return me(ml.DiagnosticAddendum.typeOfSymbol().format({name:c,type:u}),e.arguments[0]),{node:e,type:l,isIncomplete:a.isIncomplete}}function He(e,t,n,i,r,s){const o=[],a=[];let l=!1;for(let r=0;rvoid 0!==e));for(let t=0;t{if(!u[t])return e;const n={...e};return n.argType=u[t],n})));const h=i?i.clone():new jo(na(r));h.addSolveForScope(na(r));const m=kn(e,(()=>nt(e,d,h,!0,s)));if(m.isTypeIncomplete&&(l=!0),!m.argumentErrors&&m.returnType){c=r,a.push({overload:c,matchResults:d,typeVarMap:h}),o.push(m.returnType);break}}if(!c)return{argumentErrors:!0,isTypeIncomplete:l}}if(i)for(let n=0;n(i.addSolveForScope(na(t)),i.unlock(),nt(e,r,i,!0,s))))}a[0].typeVarMap.unlock();const c=nt(e,a[0].matchResults,a[0].typeVarMap,r,s);return c.isTypeIncomplete&&(l=!0),{argumentErrors:!1,returnType:Oo(o),isTypeIncomplete:l,specializedInitSelfType:c.specializedInitSelfType}}function Ge(e,t,n){let i,r=0,s=[];return t.overloads.forEach((t=>{kn(e,(()=>{if(Xs.isOverloaded(t)){const i=tt(e,n,t,r);i.argumentErrors||s.push(i),r++}}))})),s=Ke(s),s.forEach(((t,n)=>{void 0===i&&kn(e,(()=>{const r=it(e,t,new jo(na(t.overload)),!0);r&&!r.argumentErrors&&(i=n)}))})),void 0===i?void 0:s[i].overload}function Ke(e){return e.sort(((e,t)=>e.relevance!==t.relevance?t.relevance-e.relevance:e.overloadIndex-t.overloadIndex))}function Je(e,t){let n,i=e.length-1;for(;i>=0&&!t[0][i];)i--;if(i++,i>=e.length)return;for(;i{Jo(n,(t=>{const n=[...e];n[i]=t,r.push(n)}))})),r}function Ye(e,t,n,i,r){var s;let o,a=!1,l=!1,u=!1,p=!1;const d=e=>Eo(e)&&Xs.isSkipConstructorCheck(e),h=null===(s=ee(e,Zs.cloneAsInstance(n),"__init__",{method:"get"},void 0,68))||void 0===s?void 0:s.type;if(h&&!d(h)){if(r&&(o=Ko(r,(r=>{r=ta(r);const s=new jo(na(n));if(Xe(Zs.cloneAsInstance(n),r,s,Re(e))){let o;if(kn(e,(()=>{o=et(e,t,h,s.clone(),i,to.createInstance())})),!(null==o?void 0:o.argumentErrors))return et(e,t,h,s,i,to.createInstance()).isTypeIncomplete&&(u=!0),Qe(n,r,s)}})),ao(o)&&(o=void 0)),!o){const r=n.typeArguments?wa(n,!1):new jo(na(n));r.addSolveForScope(na(h));const s=et(e,t,h,r,i);if(s.argumentErrors)l=!0;else{let e=n;s.specializedInitSelfType&&vo(s.specializedInitSelfType)&&Zs.isSameGenericClass(s.specializedInitSelfType,n)&&(e=Zs.cloneAsInstantiable(s.specializedInitSelfType)),o=Ze(e,void 0,r),s.isTypeIncomplete&&(u=!0)}}a=!0,i=!0}if(!l){const s=n.details.effectiveMetaclass;let c;if(s&&_o(s)&&!Zs.isSameGenericClass(s,n)&&(c=Ne(e,s,"__call__",{method:"get"},void 0,352,n),c&&(p=!0)),c||(c=Ne(e,n,"__new__",{method:"get"},void 0,21,n)),c&&!d(c.type)){const s=new jo(na(n));n.typeAliasInfo&&s.addSolveForScope(n.typeAliasInfo.typeVarScopeId),s.addSolveForScope(na(c.type));const p=et(e,t,c.type,s,i);if(p.argumentErrors)l=!0;else{let e=p.returnType;p.isTypeIncomplete&&(u=!0),e&&(vo(e)&&Zs.isSameGenericClass(e,n)?(La(e)||$a(e))&&void 0!==o||(vo(e)&&Zs.isTupleClass(e)&&!e.tupleTypeArguments&&e.typeArguments&&1===e.typeArguments.length&&(e=Va(e,[{type:e.typeArguments[0],isUnbounded:!0}])),o=e):o||po(e)||(o=e))}o?vo(o)&&pa(o)&&!o.tupleTypeArguments&&(o=function(e,t){let n=e;return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&(n=Va(e,t.tupleTypeArguments)),n}(o,r)):o=Ze(n,r,s),a=!0}}if(a||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),!a&&t.length>0&&(n.details.effectiveMetaclass&&_o(n.details.effectiveMetaclass)&&!Zs.isBuiltIn(n.details.effectiveMetaclass)||p||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.constructorNoArgs().format({type:n.aliasName||n.details.name}),e)),!o)if(!r&&n.typeArguments)o=Fa(n);else{const t=new jo(na(n));r&&Xe(Zs.cloneAsInstance(n),r,t,Re(e)),o=Ze(n,r,t)}if(!l){const i=function(e,t,n,i,r){return"functools.partial"===i.details.fullName?function(e,t,n,i){if(!vo(i.returnType)||"functools.partial"!==i.returnType.details.fullName)return i;const r=_a(i.returnType,"__call__");if(!r||!Ao(Fa(r.classType),i.returnType))return i;const s=e.getTypeOfMember(r);if(!Eo(s)||s.details.parameters.length<1)return i;if(n.length<1)return i;const o=e.getTypeForArgument(n[0]).type;if(e.inferReturnTypeIfNecessary(o),!Eo(o))return i;if(n.some((e=>0!==e.argumentCategory)))return i;const a=new Map,l=Ho(o);let c=!1,u=!1;const p=new jo(na(o));n.slice(1).forEach(((n,i)=>{var r,s,d,h,m,f,g,y;const _=e.getTypeForArgument(n);if(n.name){const i=l.params.find((e=>{var t;return e.param.name===(null===(t=n.name)||void 0===t?void 0:t.value)&&e.source!==zo.PositionOnly}));if(i){const r=i.param.name,s=Xs.getEffectiveParameterType(o,i.index);if(a.has(r))e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:n.name.value}),n.name),c=!0;else{const i=new il;e.canAssignType(s,_.type,i,p)||(e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(s),functionName:o.details.name,paramName:r}),null!==(y=n.valueExpression)&&void 0!==y?y:t),c=!0),a.set(r,!0)}}else if(void 0===l.kwargsIndex)e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),n.name),c=!0;else{const i=Xs.getEffectiveParameterType(o,l.params[l.kwargsIndex].index),r=new il;e.canAssignType(i,_.type,r,p)||(e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(f=l.params[l.kwargsIndex].param.name)&&void 0!==f?f:""}),null!==(g=n.valueExpression)&&void 0!==g?g:t),c=!0)}}else if(i>=l.params.length||l.params[i].source===zo.KeywordOnly)if(void 0!==l.argsIndex){const i=Xs.getEffectiveParameterType(o,l.params[l.argsIndex].index),a=new il;e.canAssignType(i,_.type,a,p)||(e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(r=l.params[l.argsIndex].param.name)&&void 0!==r?r:""}),null!==(s=n.valueExpression)&&void 0!==s?s:t),c=!0)}else u||e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===l.positionParamCount?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:l.positionParamCount}),null!==(d=n.valueExpression)&&void 0!==d?d:t),u=!0,c=!0;else{const r=Xs.getEffectiveParameterType(o,i),s=new il,u=null!==(h=l.params[i].param.name)&&void 0!==h?h:"";e.canAssignType(r,_.type,s,p)||(e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(r),functionName:o.details.name,paramName:u}),null!==(m=n.valueExpression)&&void 0!==m?m:t),c=!0),a.set(u,!1)}}));const d=fa(o,p);if(!Eo(d))return i;const h=d.details.parameters.map(((e,t)=>{const n={...e};return n.type=Xs.getEffectiveParameterType(d,t),e.name&&a.get(e.name)&&(n.hasDefault=!0),n})),m=[...h.filter((e=>!(2===e.category||1!==e.category&&e.name&&a.has(e.name)))),...h.filter((e=>e.name&&a.get(e.name))),...h.filter((e=>2===e.category))],f=Xs.createInstance(s.details.name,s.details.fullName,s.details.moduleName,s.details.flags,d.details.docString);s.details.parameters.length>0&&Xs.addParameter(f,s.details.parameters[0]),m.forEach((e=>{Xs.addParameter(f,e)})),f.details.declaredReturnType=d.details.declaredReturnType?Xs.getSpecializedReturnType(d):d.inferredReturnType,f.details.declaration=s.details.declaration,f.details.typeVarScopeId=d.details.typeVarScopeId;const g=Zs.cloneForSymbolTableUpdate(i.returnType);return g.details.fields.set("__call__",qo.createWithType(4,f)),{returnType:g,isTypeIncomplete:!1,argumentErrors:c}}(e,t,n,r):r}(li,e,t,n,{argumentErrors:l,returnType:o,isTypeIncomplete:u});o=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return{argumentErrors:l,returnType:o,isTypeIncomplete:u}}function Qe(e,t,n){const i=fa(Zs.cloneAsInstance(e),n);if(Jn(t,i))return uo(t)?t:i}function Ze(e,t,n){if(t){const i=Ko(t,(t=>Qe(e,t,n)));if(!ao(i))return i}const i=fa(e,n,!0);return Zs.cloneAsInstance(i)}function Xe(e,t,n,i){if(uo(t))return e.details.typeParameters.forEach((e=>{n.setTypeVarType(e,t)})),!0;if(!yo(t))return!1;const r=t.typeArguments;if(!r)return Jn(e,t,void 0,n,1024);if(Zs.isSameGenericClass(t,e)){const i=wa(t);return i.getTypeVars().forEach((t=>{const r=i.getTypeVarType(t.typeVar);r&&(bo(r)&&r.scopeId===e.details.typeVarScopeId||n.setTypeVarType(t.typeVar,1===t.typeVar.details.variance?void 0:r,2===t.typeVar.details.variance?void 0:r,t.retainLiteral))})),!0}const s=na(t),o=Zs.getTypeParameters(t).map(((e,t)=>{const n=oo.createInstance(`__dest${t}`);return n.details.isSynthesized=!0,n.details.variance=0,n.scopeId=s,n})),a=Zs.cloneForSpecialization(t,o,!0),l=Zs.getTypeParameters(e).map(((e,t)=>{const n=oo.createInstance(`__source${t}`);return n.details.isSynthesized=!0,n.details.synthesizedIndex=t,n.details.isExemptFromBoundCheck=!0,n})),c=Zs.cloneForSpecialization(e,l,!0),u=new jo(s);if(Jn(a,c,void 0,u,1024)){let e=!0;return o.forEach(((t,s)=>{const o=u.getTypeVarType(t);if(o&&bo(o)&&o.details.isSynthesized&&void 0!==o.details.synthesizedIndex){const a=Zs.getTypeParameters(c)[o.details.synthesizedIndex];if(si.scopeId===e))?e:void 0):new Za(t,n).apply(e);var i}(o,n,i)),o?n.setTypeVarType(a,1===t.details.variance?void 0:o,2===t.details.variance?void 0:o):e=!1}}})),e}return!1}function et(e,t,n,i,r=!1,s,o=0){let a,l=!1,u=!1;if(o>Gs)return{returnType:Ys.create(),argumentErrors:!0};if(o++,Ks.isSpecialForm(n)){const t=9===e.nodeType?e.leftExpression:e;return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotCallable().format({expression:xr(t),type:ai(n,!0)}),t),{returnType:Ys.create(),argumentErrors:!0}}const p=Se(n,void 0,((n,p)=>{var d,h,m;switch(n.category){case 1:case 2:return t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&bn(e)})),n;case 5:{if("namedtuple"===n.details.builtInName)return _e(Vt(e).diagnosticRuleSet.reportUntypedNamedTuple,$o.reportUntypedNamedTuple,ml.Diagnostic.namedTupleNoTypes(),e),Lu(li,e,t,!1);let o=i;o||(o=new jo(na(n)),!o.getSolveForScopes()&&Xs.isConstructorMethod(n)&&o.addSolveForScope($s));const c=rt(e,t,n,o,r,s);if(c.isTypeIncomplete&&(u=!0),c.argumentErrors)l=!0;else{a=c.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:c.argumentErrors,returnType:null!==(d=c.returnType)&&void 0!==d?d:Ys.create(),isTypeIncomplete:u});c.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return c.argumentErrors||"NewType"!==n.details.builtInName?"__import__"===n.details.builtInName?io.create():c.returnType:at(e,t)}case 6:{if("cast"===n.overloads[0].details.builtInName&&2===t.length){const n=In(t[0]).type,i=bn(t[1]).type;return _o(n)&&vo(i)&&Ao(n,Zs.cloneAsInstantiable(i),!0)&&_e(Vt(e).diagnosticRuleSet.reportUnnecessaryCast,$o.reportUnnecessaryCast,ml.Diagnostic.unnecessaryCast().format({type:ai(i)}),e),Fa(n)}const o=function(e,t,n,i,r,s){let o=[],a=[];if(kn(e,(()=>{let i=0;n.overloads.forEach((n=>{if(Xs.isOverloaded(n)){const r=tt(e,t,n,i);r.argumentErrors||o.push(r),i++}})),a=t.map((e=>{if(e.type)return e.type;if(e.valueExpression){const t=e.valueExpression;return kn(t,(()=>$(t).type))}return io.create()}))})),o=Ke(o),0===o.length){if(!ye(e)){const i=n.overloads[0].details.name||"",r=new il,s=t.map((e=>ai(bn(e).type)));r.addMessage(ml.DiagnosticAddendum.argumentTypes().format({types:s.join(", ")})),_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noOverload().format({name:i})+al(r),e)}return{argumentErrors:!0,isTypeIncomplete:!1}}const l=t=>{const n=o.reduce(((e,t)=>t.overloadIndex>e.overloadIndex?t:e)),r=null!=i?i:new jo;return r.addSolveForScope(na(n.overload)),r.unlock(),nt(e,n,r,t,s)};if(1===o.length)return l(!1);let c=[t.map((e=>{}))],u=!1;for(;;){const t=He(e,c,o,i,r,s);if(t.isTypeIncomplete&&(u=!0),!t.argumentErrors)return t;if(c=Je(a,c),!c||c.length>64)break}if(!ye(e)&&!u){const e=l(!0);return e.returnType=Ys.create(),e}return{argumentErrors:!0,isTypeIncomplete:!1}}(e,t,n,i,r,s);if(o.isTypeIncomplete&&(u=!0),o.argumentErrors)l=!0;else{a=o.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:o.argumentErrors,returnType:null!==(h=o.returnType)&&void 0!==h?h:Ys.create(),isTypeIncomplete:u});o.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return o.returnType||Ys.create()}case 7:if(Ks.isInstantiable(n)){if(void 0!==n.literalValue)return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.literalNotCallable(),e),l=!0,Ys.create();if(Zs.isBuiltIn(n)){const i=n.aliasName||n.details.name;if("type"===i)return Ye(e,t,n,r,s),1===t.length?Ko(bn(t[0]).type,(e=>vo(e)||bo(e)&&Ks.isInstance(e)||lo(e)?Na(Qo(e)):io.create())):t.length>=2&&function(e,t){const n=Vt(e),i=bn(t[0]).type;if(!vo(i)||!Zs.isBuiltIn(i,"str"))return;const r=i.literalValue||"_",s=bn(t[1]).type;if(!vo(s)||!pa(s)||void 0===s.tupleTypeArguments)return;const o=Zs.createInstantiable(r,br(e,n.moduleName,r),n.moduleName,n.filePath,0,Ir(e),void 0,s.details.effectiveMetaclass);return s.tupleTypeArguments.forEach((n=>{_o(n.type)||ho(n.type)?o.details.baseClasses.push(n.type):ve(n.type,t[1].valueExpression||e)})),Ha(o)||fe(ml.Diagnostic.methodOrdering(),e),o}(e,t)||io.create();if("TypeVar"===i)return function(e,t){var n,i,r;let s,o="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const a=t[0];a.valueExpression&&48===a.valueExpression.nodeType?o=a.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),a.valueExpression||e);const l=oo.createInstantiable(o,!1);for(let o=1;o0)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const i=null!==(n=t[o].type)&&void 0!==n?n:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(i,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),l.details.boundType=Fa(i)}else"covariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(2===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=1):"contravariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(1===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=2):fe(ml.Diagnostic.typeVarUnknownParam().format({name:c}),(null===(i=t[o].node)||void 0===i?void 0:i.name)||t[o].valueExpression||e);u.set(c,c)}else if(l.details.boundType)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const n=null!==(r=t[o].type)&&void 0!==r?r:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(n,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),oo.addConstraint(l,Fa(n)),void 0===s&&(s=t[o])}}return 1===l.details.constraints.length&&s&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarSingleConstraint(),s.valueExpression||e),l}(e,t);if("TypeVarTuple"===i)return function(e,t){var n,i;let r="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const s=t[0];s.valueExpression&&48===s.valueExpression.nodeType?r=s.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),s.valueExpression||e);const o=oo.createInstantiable(r,!1);o.details.isVariadic=!0;for(let r=1;re.value)).join(""):fe(ml.Diagnostic.paramSpecFirstArg(),r.valueExpression||e);const o=oo.createInstantiable(s,!0);for(let r=1;re.value)).join("")}const s=Zs.createInstantiable(r,br(e,i.moduleName,r),i.moduleName,i.filePath,1048576,Ir(e),void 0,t.details.effectiveMetaclass);s.details.baseClasses.push(t),Ha(s);const o=s.details.fields;if(o.set("__class__",qo.createWithType(68,s)),!(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 i=Ys.create(),r=qo.createWithType(4,i),s=t.valueExpression;w(48===s.nodeType);const a=Vt(e),l={type:1,node:s,isRuntimeTypeExpression:!0,path:a.filePath,range:St(s.start,dt.getEnd(s),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};r.addDeclaration(l),o.set(n,r)}}))}return s}}(e,n,t);if("TypedDict"===i)return function(e,t,n,i){const r=Vt(t);let s="TypedDict";if(0===i.length)e.addError(ml.Diagnostic.typedDictFirstArg(),t);else{const n=i[0];0===n.argumentCategory&&n.valueExpression&&48===n.valueExpression.nodeType?s=n.valueExpression.strings.map((e=>e.value)).join(""):e.addError(ml.Diagnostic.typedDictFirstArg(),i[0].valueExpression||t)}const o=Zs.createInstantiable(s,br(t,r.moduleName,s),r.moduleName,r.filePath,128,Ir(t),void 0,n.details.effectiveMetaclass);o.details.baseClasses.push(n),Ha(o);const a=o.details.fields;a.set("__class__",qo.createWithType(68,o));let l=!1;if(i.length<2)e.addError(ml.Diagnostic.typedDictSecondArgDict(),t);else{const n=i[1],s=new Map;if(0===n.argumentCategory&&n.valueExpression&&15===n.valueExpression.nodeType){l=!0;const t=n.valueExpression;t.entries.forEach((t=>{if(17!==t.nodeType)return void e.addError(ml.Diagnostic.typedDictSecondArgDictEntry(),t);if(48!==t.keyExpression.nodeType)return void e.addError(ml.Diagnostic.typedDictEntryName(),t.keyExpression);const n=t.keyExpression.strings.map((e=>e.value)).join("");if(!n)return void e.addError(ml.Diagnostic.typedDictEmptyName(),t.keyExpression);if(s.has(n))return void e.addError(ml.Diagnostic.typedDictEntryUnique(),t.keyExpression);s.set(n,!0);const i=e.getTypeForExpressionExpectingType(t.valueExpression,!0,!0),o=new qo(8),l={type:1,node:t.keyExpression,path:r.filePath,typeAnnotationNode:t.valueExpression,isRequired:i.isRequired,isNotRequired:i.isNotRequired,isRuntimeTypeExpression:!0,range:St(t.keyExpression.start,dt.getEnd(t.keyExpression),r.lines),moduleName:r.moduleName,isInExceptSuite:!1};o.addDeclaration(l),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(ml.Diagnostic.typedDictTotalParam(),i[2].valueExpression||t):15===i[2].valueExpression.constType&&(o.details.flags|=256)),i.length>3&&e.addError(ml.Diagnostic.typedDictExtraArgs(),i[3].valueExpression||t)),fl(e,t,o),o}(li,e,n,t);if("auto"===i&&0===t.length)return Cn(e,"int")}if(Zs.supportsAbstractMethods(n)){const t=ii(n);if(t.length>0&&!n.includeSubclasses&&!bo(p)){const i=new il,r=2;t.forEach(((e,n)=>{if(n===r)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:t.length-r}));else if(n_o(e)&&Zs.isBuiltIn(e,"type")))){let i="__class_"+o.details.name;if(3===t.length){const e=bn(t[0]).type;vo(e)&&Zs.isBuiltIn(e,"str")&&"string"==typeof e.literalValue&&(i=e.literalValue)}const r=Zs.createInstantiable(i,"","",Vt(e).filePath,0,Ir(e),Zs.cloneAsInstantiable(o),Zs.cloneAsInstantiable(o));return r.details.baseClasses.push(xn(e,"object")),r.details.effectiveMetaclass=n,Ha(r),r}return o}{let a=null===(m=ee(e,n,"__call__"))||void 0===m?void 0:m.type;if(a&&(Eo(a)||ko(a))){a=Ba(a);const n=et(e,t,a,i,r,s,o);return n.argumentErrors&&(l=!0),n.returnType||Ys.create()}return a&&ho(a)||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.objectNotCallable().format({type:ai(n)}),e),Ys.create()}case 3:return void _e(Vt(e).diagnosticRuleSet.reportOptionalCall,$o.reportOptionalCall,ml.Diagnostic.noneNotCallable(),e);case 10:{n=ta(n);const a=et(e,t,n,i,r,s,o);return a.argumentErrors&&(l=!0),a.returnType||Ys.create()}case 8:return void _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleNotCallable(),e)}}));return{argumentErrors:l,returnType:ao(p)&&!p.isNoReturn?void 0:p,isTypeIncomplete:u,specializedInitSelfType:a}}function tt(e,t,n,i){var r;const s=Ho(n);let o=0,a=!1,l=!1,u=!1,p=!1;const d=new Map;s.params.forEach((e=>{const t=e.param;t.name&&0===t.category&&d.set(t.name,{argsNeeded:0!==t.category||t.hasDefault?0:1,argsReceived:0,isPositionalOnly:e.source===zo.PositionOnly})}));let h=s.positionOnlyParamCount,m=null!==(r=s.firstKeywordOnlyIndex)&&void 0!==r?r:s.params.length;const f=s.argsIndex,g=s.kwargsIndex;let y,_,v=!1;if(void 0!==f&&void 0!==g){w(s.params[f],"varArgListParamIndex params entry is undefined");const e=s.params[f].param;w(s.params[g],"varArgDictParamIndex params entry is undefined");const t=s.params[g].param;wo(e.type)&&"args"===e.type.paramSpecAccess&&wo(t.type)&&"kwargs"===t.type.paramSpecAccess&&e.type.details.name===t.type.details.name&&(v=!0,e.type.scopeId===n.details.typeVarScopeId?(y=[],_=oo.cloneForParamSpecAccess(e.type,void 0)):h=f)}t.forEach((e=>{if(e.name){const t=s.params.findIndex((t=>t.param.name===e.name.value&&0===t.param.category));t>=0&&t>=h&&(m<0||t2===e.argumentCategory||void 0!==e.name));b<0&&(b=t.length);let I,S=[];function x(e,t){e.active&&(I=t)}let C=void 0!==t.find((e=>1===e.argumentCategory)),E=0,k=0;for(;o=m){C&&1===t[o].argumentCategory||(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0);break}if(E>=s.params.length)break;w(s.params[E],"paramIndex params entry is undefined");const i=s.params[E].type;if(1===t[o].argumentCategory){if(!t[o].valueExpression)break;const r=1===s.params[E].param.category&&Io(i);let c=!1;const h=bn(t[o]),f=h.type;let g,_=!1;n.details.paramSpec&&E0&&kt>o&&1===e.argumentCategory)),k++,k>=v.tupleTypeArguments.length&&(k=0,_=!0)):r&&Io(f)?(g=f,c=!0,_=!0,p=!0):vo(f)&&pa(f)&&f.tupleTypeArguments&&1===f.tupleTypeArguments.length&&Io(f.tupleTypeArguments[0].type)?(g=f.tupleTypeArguments[0].type,c=!0,_=!0,p=!0):wo(f)&&"args"===f.paramSpecAccess?g=void 0:(g=ae(f,!1,t[o].valueExpression)||Ys.create(),1!==s.params[E].param.category&&(a=!0));const b=g?{argumentCategory:0,type:g}:void 0;b&&h.isIncomplete&&(u=!0);const I=s.params[E].param.name;r&&!c?(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedArgWithVariadicParam(),t[o].valueExpression||e),l=!0):(y&&y.push(t[o]),b&&S.push({paramCategory:s.params[E].param.category,paramType:i,requiresTypeVarMatching:$a(i),argument:b,errorNode:t[o].valueExpression||e,paramName:s.params[E].param.isNameSynthesized?void 0:I})),x(t[o],s.params[E].param),I&&0===s.params[E].param.category&&d.has(I)&&d.get(I).argsReceived++,(_||1===s.params[E].param.category)&&o++,(p||1!==s.params[E].param.category)&&E++}else if(1===s.params[E].param.category)if(x(t[o],s.params[E].param),y)y.push(t[o]),o++;else{let n=s.params[E].param.category,r=i;const a=s.params[E].param.name;xo(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.length>0&&(r=i.tupleTypeArguments[0].type),n=Io(r)?1:0;const c=b-o,u=m-E-1;c<=u?(c=0&&Ee.param.hasDefault)),i=(n>=0&&n0&&(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===i?ml.Diagnostic.argMorePositionalExpectedOne():ml.Diagnostic.argMorePositionalExpectedCount().format({expected:i}),t.length>b&&t[b].valueExpression||e),l=!0)}if(!l){let i;for(;o{const a=d.get(i);if(a&&!a.isPositionalOnly)if(a.argsReceived>0)r.addMessage(ml.Diagnostic.paramAlreadyAssigned().format({name:i}));else{a.argsReceived++;const r=s.params.findIndex((e=>e.param.name===i));w(r>=0);const l=s.params[r].type;S.push({paramCategory:0,paramType:l,requiresTypeVarMatching:$a(l),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i})}else if(void 0!==s.kwargsIndex){const r=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:r,requiresTypeVarMatching:$a(r),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}else r.addMessage(ml.Diagnostic.paramNameMissing().format({name:i}))})),r.isEmpty()||(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedTypedDictArgument()+r.getString(),t[o].valueExpression||e),l=!0)}else if(wo(n)&&"kwargs"===n.paramSpecAccess)i=io.create();else{const r=ce(e,"Mapping"),s=Cn(e,"str");if(r&&_o(r)&&s&&vo(s)){const a=new jo(na(r));let c=!1;if(bo(n))c=!0;else if(Jn(Zs.cloneAsInstance(r),n,void 0,a)){const e=fa(r,a).typeArguments;e&&e.length>=2?(Jn(s,e[0])&&(c=!0),i=e[1]):(c=!0,i=Ys.create())}c||(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedDictArgumentNotMapping(),t[o].valueExpression||e),l=!0)}}y&&y.push(t[o])}else{const n=t[o].name;if(n){const i=n.value,r=d.get(i);if(r&&!r.isPositionalOnly)if(r.argsReceived>0)_e(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:i}),n),l=!0;else{r.argsReceived++;const n=s.params.findIndex((e=>e.param.name===i));w(n>=0);const a=s.params[n].type;S.push({paramCategory:0,paramType:a,requiresTypeVarMatching:$a(a),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),x(t[o],s.params[n].param)}else if(void 0!==s.kwargsIndex){if(y)y.push(t[o]);else{const n=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:n,requiresTypeVarMatching:$a(n),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}w(s.params[s.kwargsIndex],"paramDetails.kwargsIndex params entry is undefined"),x(t[o],s.params[s.kwargsIndex].param)}else _e(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.value}),n),l=!0}else 0===t[o].argumentCategory&&(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0)}o++}if(!i||C&&void 0===s.argsIndex||s.params.forEach(((n,r)=>{var o,a;const l=n.param;if(r>=s.firstPositionOrKeywordIndex&&0===l.category&&l.name&&!l.hasDefault&&d.has(l.name)&&0===d.get(l.name).argsReceived){const n=s.params[r].type;S.push({paramCategory:0,paramType:n,requiresTypeVarMatching:$a(n),argument:{argumentCategory:0,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:l.isNameSynthesized?void 0:l.name}),d.get(l.name).argsReceived=1}})),!i&&!Xs.isDefaultParameterCheckDisabled(n)){const t=[...d.keys()].filter((e=>{const t=d.get(e);return!t||t.argsReceived0){const n=t.map((e=>`"${e}"`)).join(", ");_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),l=!0}s.params.forEach((t=>{const n=t.param;if(0===n.category&&n.name){const t=d.get(n.name);0===t.argsNeeded&&0===t.argsReceived&&n.defaultType&&!ca(n.defaultType)&&$a(n.type)&&S.push({paramCategory:n.category,paramType:n.type,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:n.defaultType},errorNode:e,paramName:n.isNameSynthesized?void 0:n.name})}}))}}if((!l||!c.isSpeculative(void 0))&&void 0!==s.argsIndex&&s.argsIndex>=0&&s.params[s.argsIndex].param.hasDeclaredType&&!p){const t=s.params[s.argsIndex].type,n=S.filter((e=>e.mapsToVarArgList));if(bo(t)&&t.details.isVariadic&&T&&_o(T)){const i=n.map((t=>{var n;const i=bn(t.argument).type;return(So(i)||vo(i)&&pa(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.some((e=>So(e.type))))&&1!==t.argument.argumentCategory&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarTupleMustBeUnpacked(),null!==(n=t.argument.valueExpression)&&void 0!==n?n:e),{type:Qo(i),isUnbounded:1===t.argument.argumentCategory}})),r={paramCategory:1,paramType:t,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:Zs.cloneAsInstance(Va(T,i,!0,!0,!0))},errorNode:e,paramName:s.params[s.argsIndex].param.name,mapsToVarArgList:!0};S=[...S.filter((e=>!e.mapsToVarArgList)),r]}}let D=0;return a&&D--,["isinstance","issubclass"].some((e=>e===n.details.builtInName))&&2===S.length&&(S[1].expectingType=!0),{overload:n,overloadIndex:i,argumentErrors:l,isTypeIncomplete:u,argParams:S,paramSpecTarget:_,paramSpecArgList:y,activeParam:I,relevance:D}}function nt(e,t,n,i=!1,r){const s=t.overload;if(!r||ho(r)||ao(r)||$a(r)||!s.details.declaredReturnType)return it(e,t,n,i);const o=Un(s);let a=r,l=4;if(oa(a,!0)&&(l|=128),fo(r)){let r;kn(e,(()=>{const s=n.clone();Jn(o,a,void 0,s,1024|l),r=it(e,t,s,i)})),r&&r.argumentErrors&&(a=void 0)}if(a){if(vo(o)&&vo(a)&&!Zs.isSameGenericClass(o,a)){const t=new jo(na(o));Xe(o,a,t,Re(e));const n=Zs.cloneForSpecialization(o,void 0,!1);a=fa(n,t)}Jn(o,a,void 0,n,1024|l)}return it(e,t,n,i)}function it(e,t,n,i=!1){const r=t.overload;let s,o=t.isTypeIncomplete,a=!1;const l=Xo(r);if(r.boundTypeVarScopeId&&(void 0!==r.preBoundFlags&&r.boundToType&&$a(r.boundToType)&&6&r.preBoundFlags&&n.addSolveForScope(r.boundTypeVarScopeId),"__init__"===r.details.name&&Xs.isOverloaded(r)&&r.strippedFirstParamType&&r.boundToType&&vo(r.strippedFirstParamType)&&vo(r.boundToType)&&Zs.isSameGenericClass(r.strippedFirstParamType,r.boundToType)&&r.strippedFirstParamType.typeArguments)){const e=r.strippedFirstParamType.details.typeParameters;s=r.strippedFirstParamType,r.strippedFirstParamType.typeArguments.forEach(((t,i)=>{ie===r.details.builtInName))&&(i=!0);const c=t.argParams.filter((e=>e.requiresTypeVarMatching)).length;if(c>0){let s=Math.min(c,2);for(let a=0;a{t.argParams.forEach((e=>{if(e.requiresTypeVarMatching){const t=st(e,n,r,i,0===a,s>1&&0===a,l);t.isTypeIncomplete&&(o=!0),0===a&&t.skippedOverloadArg&&s++}}))}));n.lock()}t.argParams.forEach((e=>{const t=st(e,n,r,i,!1,!1,l);t.isCompatible||(a=!0),t.isTypeIncomplete&&(o=!0)})),t.paramSpecArgList&&t.paramSpecTarget&&(function(e,t,n,i,r){var s;const o=i.getParamSpec(n);if(!o)return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotBound().format({type:ai(n)}),(null===(s=t[0])||void 0===s?void 0:s.valueExpression)||e),!1;i.addSolveForScope(o.typeVarScopeId);let a=!1;const l=new Map,c=o.parameters;c.forEach((e=>{e.name&&l.set(e.name,e)}));let u=0,p=c.findIndex((e=>0!==e.category));p<0&&(p=c.length);const d=c.find((e=>1===e.category)),h=c.find((e=>2===e.category));if(t.forEach((t=>{if(0===t.argumentCategory){let n;if(t.name){const i=l.get(t.name.value);i?(n=i.type,l.delete(t.name.value)):h?n=h.type:(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:t.name.value}),t.valueExpression||e),a=!0)}else{if(u{const t=l.get(e);return 0===t.category&&!t.hasDefault})),t.length>0&&!o.paramSpec){const n=t.map((e=>`"${e}"`)).join(", ");_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),a=!0}}return!a}(e,t.paramSpecArgList,t.paramSpecTarget,n,l)||(a=!0));const u=Un(r,t.argParams);let p=!0,d=e;for(;;){const e=Pr(d);if(!e)break;const t=Pe(e);n.hasSolveForScope(t)&&(p=!1),d=e}(Eo(u)||ko(u))&&(p=!1);let h=Zo(fa(u,n,!1,!1,p),l);return xo(h)&&(h=Zs.cloneForUnpacked(h,!1)),vo(h)&&Zs.isBuiltIn(h,["TypeGuard","StrictTypeGuard"])&&h.typeArguments&&h.typeArguments.length>0&&b&&_o(b)&&(h=Zs.cloneAsInstance(Zs.cloneForTypeGuard(b,h.typeArguments[0],Zs.isBuiltIn(h,"StrictTypeGuard")))),Eo(h)&&!h.details.name&&(h.details={...h.details,typeVarScopeId:$s}),s&&(s=fa(s,n)),{argumentErrors:a,returnType:h,isTypeIncomplete:o,activeParam:t.activeParam,specializedInitSelfType:s}}function rt(e,t,n,i,r=!1,s){const o=tt(e,t,n,0);return o.argumentErrors?(d.isUndoTrackingEnabled()||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),{argumentErrors:!0,activeParam:o.activeParam}):nt(e,o,i,r,s)}function st(e,t,n,i,r,s,o){let a,l,u=!1,p=!0;const d=null==n?void 0:n.details.name;if(e.argument.valueExpression){let i=bo(e.paramType)&&void 0!==n&&e.paramType.scopeId===n.details.typeVarScopeId?void 0:fa(e.paramType,t,!1,s);if(i&&po(i)&&(i=void 0),e.argType)a=e.argType;else{const t=e.expectingType?168:0,n=$(e.argument.valueExpression,i,t);a=n.type,n.isIncomplete&&(u=!0),n.typeErrors&&(p=!1),l=n.expectedTypeDiagAddendum}e.argument&&e.argument.name&&!c.isSpeculative(e.errorNode)&&N(e.argument.name,i||a,0,u)}else if(e.argType)a=e.argType;else if(e.expectingType&&!e.argument.type&&e.argument.valueExpression){const t=$(e.argument.valueExpression,void 0,168);a=t.type,t.isIncomplete&&(u=!0)}else{const t=bn(e.argument);a=t.type,t.isIncomplete&&(u=!0)}2===e.paramCategory&&bo(e.paramType)&&(a=Qo(a)),o&&(a=Se(a,o,(e=>e)));let h=new il;if(wo(e.paramType)&&void 0!==e.paramType.paramSpecAccess)return{isCompatible:p,isTypeIncomplete:u};if(r){if(ko(a))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0};const t=Ie(e.paramType);if(Eo(t)||ko(t)){if(_o(a)){const e=Zn(a);if(e&&ko(e))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}if(vo(a)){const e=_a(a,"__call__");if(e&&ko(Bn(e)))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}}}if(!Jn(e.paramType,a,h.createAddendum(),t)){if("none"!==Vt(e.errorNode).diagnosticRuleSet.reportGeneralTypeIssues&&!ye(e.errorNode)){const t=Vt(e.errorNode),n=ai(a),i=ai(e.paramType);let r;r=e.paramName?d?ml.Diagnostic.argAssignmentParamFunction().format({argType:n,paramType:i,functionName:d,paramName:e.paramName}):ml.Diagnostic.argAssignmentParam().format({argType:n,paramType:i,paramName:e.paramName}):d?ml.Diagnostic.argAssignmentFunction().format({argType:n,paramType:i,functionName:d}):ml.Diagnostic.argAssignment().format({argType:n,paramType:i}),l&&(h=l),_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r+al(h),e.errorNode)}return{isCompatible:!1,isTypeIncomplete:u}}if(!i){const t=Ro(a),n=Vt(e.errorNode),i=()=>{const t=new il;return e.paramName&&t.addMessage((d?ml.DiagnosticAddendum.argParamFunction().format({paramName:e.paramName,functionName:d}):ml.DiagnosticAddendum.argParam().format({paramName:e.paramName}))+t.getString()),t};if("none"!==n.diagnosticRuleSet.reportUnknownArgumentType&&!uo(e.paramType)&&!u)if(po(t)){const t=i();_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypeUnknown()+t.getString(),e.errorNode)}else if(La(t,!0)){let r=!1;if(_o(t)&&(r=!0),La(e.paramType)&&(r=!0),vo(t)&&t.isEmptyContainer&&(r=!0),!r){const r=i();r.addMessage(ml.DiagnosticAddendum.argumentType().format({type:ai(t,!0)})),_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypePartiallyUnknown()+r.getString(),e.errorNode)}}}return{isCompatible:p,isTypeIncomplete:u}}function ot(e){if(11===e.nodeType){if(15===e.constType)return!1;if(33===e.constType)return!0}return fe(ml.Diagnostic.expectedBoolLiteral(),e),!1}function at(e,t){const n=Vt(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 r=In(t[1]).type;if(_o(r)){Zs.isProtocolClass(r)?fe(ml.Diagnostic.newTypeProtocolClass(),t[1].node||e):void 0!==r.literalValue&&fe(ml.Diagnostic.newTypeLiteral(),t[1].node||e);const s=-4&r.details.flags,o=Zs.createInstantiable(i,br(e,n.moduleName,i),n.moduleName,n.filePath,s,Ir(e),void 0,r.details.effectiveMetaclass);o.details.baseClasses.push(r),Ha(o);const a=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"self",type:Zs.cloneAsInstance(o),hasDeclaredType:!0}),Xs.addParameter(a,{category:0,name:"_x",type:Zs.cloneAsInstance(r),hasDeclaredType:!0}),a.details.declaredReturnType=to.createInstance(),o.details.fields.set("__init__",qo.createWithType(4,a));const l=Xs.createInstance("__new__","","",65);return Xs.addParameter(l,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(l),l.details.declaredReturnType=Zs.cloneAsInstance(o),o.details.fields.set("__new__",qo.createWithType(4,l)),o}ho(r)||fe(ml.Diagnostic.newTypeNotAClass(),t[1].node||e)}}function lt(e){return!(!Ku[e]||!Ku[e][2])||!!Ju[e]}function ut(e,t,n){const i=e.leftExpression;let r=e.rightExpression,s=!1;lt(e.operator)&&7===r.nodeType&&!r.parenthesized&<(r.operator)&&(ut(r,t,n),r=r.leftExpression);let o,a=37===e.operator||36===e.operator?t:void 0;26===e.operator&&t&&vo(t)&&Zs.isBuiltIn(t,"list")&&t.typeArguments&&t.typeArguments.length>=1&&31===e.leftExpression.nodeType&&(o=t);const l=$(i,a||o,n);let c=l.type;a||(37===e.operator||36===e.operator||0===e.operator&&31===e.rightExpression.nodeType||6===e.operator)&&(a=c);const u=$(r,a,n);let p=u.type;if((l.isIncomplete||u.isIncomplete)&&(s=!0),6===e.operator&&!pt(c,"__or__")&&!pt(p,"__ror__")){let t=p;if(!lo(c)&&lo(p)&&Ks.isInstance(p)&&(t=to.createType()),function(e){let t=3;for(const n of e)t&=n.flags;return 0!=(1&t)&&0==(2&t)}([c,t])){const i=Vt(e);i.isStubFile||0!=(4&n)||i.executionEnvironment.pythonVersion>=De.V3_10||ho(c)||fe(ml.Diagnostic.unionSyntaxIllegal(),e,e.operatorToken);const r=Oo([c,t]);return fo(r)&&Ks.setSpecialForm(r),{type:r,node:e}}}let d=!1;void 0===Ju[e.operator]&&(12===e.operator||28===e.operator?c=Fo(c):d=Go(c),12!==e.operator&&28!==e.operator||(p=Fo(p)));const h=new il,m=!l.isIncomplete&&!u.isIncomplete;let f=mt(e.operator,c,p,e,t,h,m);if(!h.isEmpty()||!f){if(!s){const t=Vt(e);d&&1===h.getMessages().length?_e(Vt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.leftExpression):_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(c),rightType:ai(p)})+al(h),e)}f=Ys.create()}return{type:f,node:e,isIncomplete:s}}function pt(e,t){if(!_o(e))return!1;const n=e.details.effectiveMetaclass;if(!n||!_o(n))return!1;if(Zs.isBuiltIn(n,"type"))return!1;const i=va(n,t);return!(!i||_o(i.classType)&&Zs.isBuiltIn(i.classType,"type"))}function ht(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;const r=new il,s=$(e.leftExpression),o=s.type;let a;7===e.operator&&(a=o);const l=$(e.rightExpression,a),c=l.type,u=!!l.isIncomplete||!!s.isIncomplete;return ao(o)||ao(c)?{node:e,type:no.createNever(),isIncomplete:u}:(i=Se(o,void 0,((i,o)=>Se(c,Xo(i),((a,c)=>{if(ho(o)||ho(c))return po(o)||po(c)?Ys.create():io.create();const u=n[e.operator][0];let p=gt(o,[c],u,e,t);if(p||o===i||(p=gt(i,[c],u,e,t)),p||c===a||(p=gt(i,[a],u,e,t)),!p){const i=n[e.operator][1],a=!s.isIncomplete&&!l.isIncomplete;p=mt(i,o,c,e,t,r,a)}return p})))),r.isEmpty()&&i&&!ao(i)||(u||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(o),rightType:ai(c)})+al(r),e),i=Ys.create()),{node:e,type:i,isIncomplete:u})}function mt(e,t,n,i,r,s,o){let a,l=Ie(t);if(void 0!==Ju[e]){if(36===e){if(!Q(l))return t;if(!Y(l))return n;l=Z(l)}else if(37===e){if(!Y(l))return t;if(!Q(l))return n;l=X(l)}if(ao(t)||ao(n))return no.createNever();41===e||42===e?(a=Se(n,void 0,((t,n)=>Se(l,Xo(t),(r=>{if(ho(r)||ho(n))return po(r)||po(n)?Ys.create():io.create();let o=gt(t,[r],"__contains__",i,void 0);if(!o){const e=ae(t,!1,void 0);e&&Jn(e,r)&&(o=Cn(i,"bool"))}return o||s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(r),rightType:ai(t)})),o})))),a&&!ao(a)&&(a=Cn(i,"bool"))):a=Se(l,void 0,((t,r)=>Se(n,Xo(t),((t,n)=>36===e||37===e?Oo([r,n]):Cn(i,"bool")))))}else if(Ku[e]){if(ao(t)||ao(n))return no.createNever();if(o){const i=aa(t);if(i&&!Xo(t)){const r=64;if(i===aa(n)&&!Xo(n)&&la(t)*la(n)Ko(n,(t=>{const n=e,i=t;return Zs.cloneWithLiteral(n,n.literalValue+i.literalValue)})))));else if("int"===i&&(0===e||33===e||26===e||13===e||24===e)){let i=!0;a=Ko(t,(t=>Ko(n,(n=>{try{const r=t,s=n,o=BigInt(r.literalValue),a=BigInt(s.literalValue);let l;return 0===e?l=o+a:33===e?l=o-a:26===e?l=o*a:13===e?a!==BigInt(0)&&(l=o/a):24===e&&a!==BigInt(0)&&(l=o%a),void 0===l||"number"==typeof l&&isNaN(l)?void(i=!1):(l===BigInt(Number(l))&&(l=Number(l)),Zs.cloneWithLiteral(r,l))}catch{return void(i=!1)}})))),i||(a=void 0)}}}a||(a=Se(t,void 0,((t,o)=>Se(n,Xo(t),((n,a)=>{if(ho(o)||ho(a))return po(o)||po(a)?Ys.create():io.create();if(0===e&&vo(t)&&pa(t)&&t.tupleTypeArguments&&!da(t)&&vo(n)&&pa(n)&&n.tupleTypeArguments&&!da(n)&&T&&_o(T))return Zs.cloneAsInstance(Va(T,[...t.tupleTypeArguments,...n.tupleTypeArguments]));const l=Ku[e][0];let c=gt(yt(o),[a],l,i,r);if(c||o===t||(c=gt(yt(t),[a],l,i,r)),c||a===n||(c=gt(yt(t),[n],l,i,r)),!c){const s=Ku[e][1];c=gt(yt(a),[o],s,i,r),c||a===n||(c=gt(yt(n),[o],s,i,r)),c||o===t||(c=gt(yt(n),[t],s,i,r))}return c||(r?s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperatorBidirectional().format({operator:Cr(e),leftType:ai(t),rightType:ai(n),expectedType:ai(r)})):s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(t),rightType:ai(n)}))),c})))))}return a&&ao(a)?void 0:a}function gt(e,t,n,i,r){let s=!0;const o=e=>{var o,a;let l;const c=Ie(e);if(vo(c)?l=null===(o=ee(i,c,n,void 0,void 0,64,e))||void 0===o?void 0:o.type:_o(c)&&(l=null===(a=te(i,c,n,void 0,void 0,96))||void 0===a?void 0:a.type),l){const e=t.map((e=>({argumentCategory:0,type:e})));let n;return kn(i,(()=>{n=et(i,e,l,void 0,!0,r)})),n.argumentErrors&&(s=!1),n.returnType}s=!1},a=Ko(e,(e=>{if(ho(e))return e;if(vo(e)||_o(e)||bo(e))return o(e);if(lo(e)){const e=Cn(i,"object");if(vo(e))return o(e)}s=!1}));if(s)return a}function yt(e){return(Eo(e)||ko(e))&&y?y:e}function _t(e,t,n){if(!vo(t=ta(t)))return;const i=[],r=[];let s=!1;if(Zs.isTypedDictClass(t)){if(Tt(e,i,r,!0,void 0,void 0,gl(li,t),n)&&(s=!0),Zs.isTypedDictClass(t)){const o=function(e,t,n,i,r){w(vo(t)),w(Zs.isTypedDictClass(t)),w(n.length===i.length);let s=!0;const o=new Map,a=gl(e,t);if(n.forEach(((n,l)=>{if(vo(n)&&Zs.isBuiltIn(n,"str")&&ra(n)){const c=n.literalValue,u=a.get(c);u?(e.canAssignType(u.valueType,i[l])||(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldTypeMismatch().format({name:n.literalValue,type:e.printType(i[l])})),s=!1),u.isRequired||o.set(c,{valueType:i[l],isRequired:!1,isProvided:!0}),u.isProvided=!0):(s=!1,r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldUndefined().format({name:n.literalValue,type:e.printType(Zs.cloneAsInstance(t))})))}else s=!1})),s&&(a.forEach(((n,i)=>{n.isRequired&&!n.isProvided&&(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:i,type:e.printType(t)})),s=!1)})),s))return 0===o.size?t:Zs.cloneForNarrowedTypedDictEntries(t,o)}(li,t,i,r,n);if(o)return{type:o,node:e,isIncomplete:s}}return}const o=Cn(e,"dict");if(!vo(o))return;const a=new jo(na(o));if(!Xe(o,t,a,Re(e)))return;const l=fa(Zs.cloneAsInstantiable(o),a);if(!l.typeArguments||2!==l.typeArguments.length)return;const c=l.typeArguments[0],u=l.typeArguments[1];Tt(e,i,r,!0,c,u,void 0,n)&&(s=!0);const p=vo(t)&&(Zs.isBuiltIn(t,"dict")||Zs.isBuiltIn(t,"MutableMapping")),d=It(c,i,!1),h=It(u,r,!p);return d&&h?{type:Cn(e,"dict",[d,h]),node:e,isIncomplete:s}:void 0}function vt(e,t){const n=t?io.create():Ys.create();let i=n,r=n,s=[],o=[],a=!1,l=!1;Tt(e,s,o,t)&&(l=!0),s=s.map((e=>Qo(e))),o=o.map((e=>Qo(e))),i=s.length>0?Oo(s):n,o.length>0?r=Vt(e).diagnosticRuleSet.strictDictionaryInference||t?Oo(o):Yo(o,!0)?o[0]:n:(r=n,a=!0);const c=xn(e,"dict");return{type:_o(c)?Zs.cloneAsInstance(Zs.cloneForSpecialization(c,[i,r],!0,void 0,void 0,a)):Ys.create(),node:e,isIncomplete:l}}function Tt(e,t,n,i,r,s,o,a){let l=!1;return e.entries.forEach(((c,u)=>{var p;let d=!0;if(17===c.nodeType){const e=$(c.keyExpression,null!=r?r:i?no.createNever():void 0);e.isIncomplete&&(l=!0);let p,h=e.type;if(r){const e=Ie(r);ho(e)||Jn(e,h)&&(h=e)}p=o&&vo(h)&&Zs.isBuiltIn(h,"str")&&ra(h)&&o.has(h.literalValue)?$(c.valueExpression,o.get(h.literalValue).valueType):$(c.valueExpression,null!=s?s:i?no.createNever():void 0),a&&p.expectedTypeDiagAddendum&&a.addAddendum(p.expectedTypeDiagAddendum);const m=p.type;p.isIncomplete&&(l=!0),(i||u<64)&&(t.push(h),n.push(m)),d=!1}else if(16===c.nodeType){const r=$(c.expandExpression);r.isIncomplete&&(l=!0);const s=r.type;if(ho(s))d=!1;else{const r=ce(e,"Mapping");if(r&&_o(r)){const o=new jo(na(r));if(Jn(Zs.cloneAsInstance(r),s,void 0,o)){const e=fa(r,o).typeArguments;e&&e.length>=2&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}else _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dictUnpackIsNotMapping(),c)}}}else if(32===c.nodeType){const e=wt(c,s,r),o=e.type;if(e.isIncomplete&&(l=!0),vo(o)&&pa(o)){const e=null===(p=o.tupleTypeArguments)||void 0===p?void 0:p.map((e=>e.type));e&&2===e.length&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}}d&&(i||u<64)&&(t.push(Ys.create()),n.push(Ys.create()))})),l}function bt(e,t){const n=31===e.nodeType?"list":"set";t=ta(t);let i=!1;if(!vo(t))return;const r=Cn(e,n);if(!vo(r))return;const s=new jo(na(r));if(!Xe(r,t,s,Re(e)))return;const o=fa(Zs.cloneAsInstantiable(r),s);if(!o.typeArguments||1!==o.typeArguments.length)return;const a=o.typeArguments[0],l=[];e.entries.forEach((e=>{let t;t=32===e.nodeType?wt(e,a):$(e,a),l.push(t.type),t.isIncomplete&&(i=!0)}));const c=vo(t)&&Zs.isBuiltIn(t,n),u=It(a,l,!c);return u?{type:Cn(e,n,[u]),node:e,isIncomplete:i}:void 0}function It(e,t,n){const i=oo.createInstance("__typeArg");i.details.isSynthesized=!0,i.details.boundType=e,i.scopeId="__typeArgScopeId";let r=new jo($s);if(r.setTypeVarType(i,n?void 0:e,e),!t.some((e=>!Jn(i,Qo(e),void 0,r)))||(r=new jo($s),r.setTypeVarType(i,n?void 0:e,e,!0),!t.some((e=>!Jn(i,e,void 0,r)))))return fa(i,r)}function xt(e,t,n,i,r,s){if("none"===e)return;const o=n.value,a=Ro(i);if(po(a))_e(e,t,ml.Diagnostic.typeUnknown().format({name:o}),r);else if(La(a)&&(!s||!vo(i)||!i.isEmptyContainer)){const n=new il;n.addMessage(ml.DiagnosticAddendum.typeOfSymbol().format({name:o,type:ai(a,!0)})),_e(e,t,ml.Diagnostic.typePartiallyUnknown().format({name:o})+n.getString(),r)}}function Ct(e){let t=!1;if(33===e.nodeType){const n=$(e.iterableExpression);n.isIncomplete&&(t=!0);const i=ae(Qo(n.type),!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,i,!!n.isIncomplete,e.iterableExpression)}else w(34===e.nodeType),c.isSpeculative(e.testExpression)||$(e.testExpression);return t}function wt(e,t,n){let i=!1;for(const t of e.forIfNodes)Ct(t)&&(i=!0);let r=Ys.create();if(17===e.expression.nodeType){const s=$(e.expression.keyExpression,n);s.isIncomplete&&(i=!0);let o=s.type;n&&oa(n)||(o=Qo(o));const a=$(e.expression.valueExpression,t);a.isIncomplete&&(i=!0);let l=a.type;t&&oa(t)||(l=Qo(l)),r=Ue([o,l])}else if(16===e.expression.nodeType)$(e.expression.expandExpression,t);else if(yr(e)){const n=$(e.expression,t);n.isIncomplete&&(i=!0),r=n.type}return{type:r,node:e,isIncomplete:i}}function Et(e,t){if(e.typeList){if(!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.typeArgListNotAllowed(),e.node),!1;e.typeList.forEach((e=>{Et(e)}))}if(ca(e.type)&&!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.ellipsisContext(),e.node),!1;if(To(e.type))return fe(ml.Diagnostic.moduleAsType(),e.node),!1;if(wo(e.type)&&!(null==t?void 0:t.allowParamSpec))return fe(ml.Diagnostic.paramSpecContext(),e.node),!1;if(Io(e.type)&&!e.type.isVariadicInUnion){if(!(null==t?void 0:t.allowVariadicTypeVar))return fe(ml.Diagnostic.typeVarTupleContext(),e.node),!1;Oe(e.type,e.node)}return!(null==t?void 0:t.allowEmptyTuple)&&e.isEmptyTupleShorthand?(fe(ml.Diagnostic.zeroLengthTupleNotAllowed(),e.node),!1):!(xo(e.type)&&!(null==t?void 0:t.allowUnpackedTuples)&&(fe(ml.Diagnostic.unpackedArgInTypeArgument(),e.node),1))}function kt(e,t,n){const i=Cn(e,t);return vo(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Nt(e,t,n){const i=xn(e,t);return _o(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Ot(e,t,n,i=!1,r=!1){const s=Zs.isTupleClass(e);if(t)if(s&&1===t.length&&t[0].isEmptyTupleShorthand)t=[];else{let e=!1;const r=t=>{e&&(o||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),t.node),o=!0)),e=!0};let o=!1;t.forEach(((e,o)=>{ca(e.type)?s?2!==t.length||1!==o?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):bo(t[0].type)&&Io(t[0].type)&&!t[0].type.isVariadicInUnion&&fe(ml.Diagnostic.typeVarTupleContext(),t[0].node):fe(ml.Diagnostic.ellipsisContext(),e.node):wo(e.type)&&i||(Io(e.type)&&void 0===n?(r(e),Oe(e.type,e.node)):void 0===n&&Co(e.type)?(r(e),Et(e,{allowUnpackedTuples:!0})):Et(e))}))}let o,a=t?t.map((e=>Fa(e.type))):[];if(void 0!==n)if(t&&a.length>n)fe(ml.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&&ca(a[t])?1!==n.length||n[0].isUnbounded?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):n[0]={type:n[0].type,isUnbounded:!0}:xo(e.type)&&e.type.tupleTypeArguments?n.push(...e.type.tupleTypeArguments):n.push({type:a[t],isUnbounded:!1})})):n.push({type:Ys.create(),isUnbounded:!0}),o=Va(e,n,void 0!==t,!1)}else o=Zs.cloneForSpecialization(e,a,void 0!==t);return r||Ks.setSpecialForm(o),o}function Ut(e,t){var n,i,r,s;const o=Er(e,!0);if(o){const l=$t(o);if(l&&Zs.isEnumClass(l.classType)){let o=3===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.leftExpression===e||54===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.valueExpression===e&&3===(null===(r=e.parent.parent)||void 0===r?void 0:r.nodeType)||Vt(e).isStubFile&&54===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&e.parent.valueExpression===e;(a=e.value).length>2&&a.startsWith("_")&&a.endsWith("_")&&(o=!1),"name"!==e.value&&"value"!==e.value||(o=!1);const c=t();if(vo(c)&&c.details.fields.get("__get__")&&(o=!1),o)return Zs.cloneAsInstance(Zs.cloneWithLiteral(l.classType,new Hs(l.classType.details.name,e.value,c)))}}var a}function qt(e,t,n){if(!Ks.isInstantiable(e))return e;if(ea(e))return e;let i=[];bo(e)&&!Ks.isAnnotated(e)||Jo(e,(e=>{Ia(i,Sa(e))})),i=i.filter((e=>!e.details.isSynthesized)),i=i.map((e=>Ks.isInstance(e)?e:Fa(e)));const r=i.filter((e=>Io(e)));r.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyAlias().format({names:r.map((e=>`"${e.details.name}"`)).join(", ")}),n);const s=Vt(t),o=Pe(t),a=i.filter((e=>e.scopeId!==o&&0===e.scopeType));return a.length>0&&fe(ml.Diagnostic.genericTypeAliasBoundTypeVar().format({names:a.map((e=>`${e.details.name}`)).join(", ")}),n),Ks.cloneForTypeAlias(e,t.value,`${s.moduleName}.${t.value}`,o,i.length>0?i:void 0)}function Bt(e,t,n){const i=Vt(e);let r=Zs.createInstantiable(t,br(e,i.moduleName,t),i.moduleName,i.filePath,3,0,void 0,void 0);i.isTypingExtensionsStubFile&&(r.details.flags|=65536);const s=n.alias||"object";let o;if("builtins"===n.module)o=xn(e,s);else if("collections"===n.module)o=ue(e,s,["collections"]);else if("self"===n.module){const t=wn(e,s,!1);t&&(o=Nn(t.symbol),_o(o)&&Zs.isBuiltIn(o,"_TypedDict")&&(o.details.flags&=-513))}return o&&_o(o)?n.alias?r=Zs.cloneForTypingAlias(o,t):(r.details.baseClasses.push(o),r.details.effectiveMetaclass=o.details.effectiveMetaclass,Ha(r)):(r.details.baseClasses.push(Ys.create()),r.details.effectiveMetaclass=Ys.create(),Ha(r)),r}function Wt(e){var t;const n=Vt(e);if(F(e,0))return;let i,r=F(e.rightExpression,0),s=!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 io.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?($(e.rightExpression),Bt(e,t,n)):void 0}(e),r&&N(e.rightExpression,r,0,!1)),!r)){const l=se(e.leftExpression,{method:"set"});let c,u=0;n.isStubFile&&(u|=256),38!==e.rightExpression.nodeType&&35!==e.rightExpression.nodeType||(u|=2);let p,d=!1;if(re(e.leftExpression))u|=232,u&=-3,c=e.leftExpression.valueExpression;else if(38===e.leftExpression.nodeType){const t=wn(e.leftExpression,e.leftExpression.value,!1);if(t){const n=t.symbol.getDeclarations();1===n.length&&os(n[0])&&(c=e.leftExpression,d=!0)}}if(c){p=oo.createInstantiable(`__type_alias_${c.value}`),p.details.isSynthesized=!0,p.details.recursiveTypeAliasName=c.value;const t=Pe(c);p.details.recursiveTypeAliasScopeId=t,p.scopeId=t,N(e,p,void 0,!1),N(e.leftExpression,p,void 0,!1),54===e.leftExpression.nodeType&&N(e.leftExpression.valueExpression,p,void 0,!1)}const h=$(e.rightExpression,l,u);let m=h.type;i=h.expectedTypeDiagAddendum,h.isIncomplete&&(s=!0);const f=Xc(e.rightExpression,n.executionEnvironment);if(void 0!==f){const t=Cn(e,"bool");vo(t)&&(m=Zs.cloneWithLiteral(t,f))}l&&Jn(l,m)&&(ho(m)||(m=ni(l,m))),r=m,38!==e.leftExpression.nodeType||e.typeAnnotationComment||(r=Ut(e.leftExpression,(()=>r))||r),c&&(M(e),M(e.leftExpression),54===e.leftExpression.nodeType&&M(e.leftExpression.valueExpression),(!d||Ks.isInstantiable(r)&&!po(r))&&(r=qt(r,c,e.rightExpression),o=p,(9!==(a=r).category?a===o||mo(a)&&a.typeAliasInfo&&a.typeAliasInfo.name===o.details.recursiveTypeAliasName:void 0!==Mo(a,(e=>Ao(o,e))))&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveDirect().format({name:c.value}),e.rightExpression),p.details.boundType=r,p.details.recursiveTypeParameters=null===(t=r.typeAliasInfo)||void 0===t?void 0:t.typeParameters),p.details.illegalRecursionDetected&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveIndirect().format({name:c.value}),e.leftExpression))}var o,a;xe(e.leftExpression,r,s,e.rightExpression,!0,!0,i),N(e,r,0,s)}function jt(e){if(F(e,0))return;const t=ht(e,void 0);xe(e.destExpression,t.type,!!t.isIncomplete,e.rightExpression),N(e,t.type,0,!!t.isIncomplete)}function $t(e){const t=F(e.name,0);if(t){if(!_o(t))return;return{classType:t,decoratedType:F(e,0)||Ys.create()}}const n=zs(e),i=Vt(e);let r=0;(4===(null==n?void 0:n.type)||i.isTypingStubFile||i.isTypingExtensionsStubFile||i.isBuiltInStubFile)&&(r|=1,i.isTypingExtensionsStubFile&&(r|=65536),"property"===e.name.value&&(r|=2048),"tuple"===e.name.value&&(r|=524288)),i.isStubFile&&(r|=8388608);const s=Zs.createInstantiable(e.name.value,br(e,i.moduleName,e.name.value),i.moduleName,i.filePath,r,0,void 0,void 0,qr(e.suite.statements));s.details.typeVarScopeId=Pe(e);const o=null==n?void 0:n.lookUpSymbol(e.name.value);let a;const l=Mt(e);l&&(a=l),a&&o&&B(o,a,s),s.details.flags|=131072,N(e,s,void 0,!1),N(e.name,s,void 0,!1);const c=[];let u;const p=[];let d,h=272960;i.isStubFile&&(h|=4),e.arguments.forEach((e=>{if(e.name)if("metaclass"===e.name.value)d?fe(ml.Diagnostic.metaclassDuplicate(),e):d=e.valueExpression;else if("total"===e.name.value&&Zs.isTypedDictClass(s)){const t=Xc(e.valueExpression,i.executionEnvironment);void 0===t?fe(ml.Diagnostic.typedDictTotalParam(),e.valueExpression):t||(s.details.flags|=256)}else p.push({argumentCategory:0,node:e,name:e.name,valueExpression:e.valueExpression});else{let t=$(e.valueExpression,void 0,h).type;if(fo(t)&&(t=Ro(t)),ho(t)||mo(t)||(_o(t)?(Zs.isBuiltIn(t,"Protocol")&&(!i.isStubFile&&!Zs.isTypingExtensionClass(t)&&i.executionEnvironment.pythonVersion=De.V3_6&&Zs.isBuiltIn(t,"NamedTuple")&&(s.details.flags|=16777220),Zs.isBuiltIn(t,"TypedDict")||Zs.isTypedDictClass(t)?s.details.flags|=128:Zs.isTypedDictClass(s)&&!Zs.isTypedDictClass(t)&&fe(ml.Diagnostic.typedDictBaseClass(),e),Da(t,s,!0)&&(fe(ml.Diagnostic.baseClassCircular(),e),t=Ys.create())):(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.baseClassInvalid(),e),t=Ys.create())),po(t)&&_e(i.diagnosticRuleSet.reportUntypedBaseClass,$o.reportUntypedBaseClass,ml.Diagnostic.baseClassUnknown(),e),s.details.baseClasses.some((e=>_o(e)&&_o(t)&&Zs.isSameGenericClass(t,e)))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.duplicateBaseClass(),e.name||e),s.details.baseClasses.push(t),_o(t)&&(Zs.isEnumClass(t)&&(s.details.flags|=1048576),(Zs.supportsAbstractMethods(t)||Zs.isProtocolClass(t)&&!Zs.isBuiltIn(t))&&(s.details.flags|=512),Zs.isPropertyClass(t)&&(s.details.flags|=2048),Zs.isFinal(t))){const n=oi(t);fe(ml.Diagnostic.baseClassFinal().format({type:n}),e.valueExpression)}Ia(c,Sa(t)),_o(t)&&Zs.isBuiltIn(t,"Generic")&&(u||(u=[],Ia(u,Sa(t))))}})),s.details.baseClasses.length>1&&s.details.baseClasses.some((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedTupleMultipleInheritance(),e.name),Zs.isBuiltIn(s,"object")||0!==s.details.baseClasses.filter((e=>yo(e))).length||s.details.baseClasses.push(xn(e,"object")),u&&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 il;t.addMessage(ml.DiagnosticAddendum.typeVarsMissing().format({names:i.map((e=>`"${e.details.name}"`)).join(", ")})),_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarsNotInGeneric()+t.getString(),e)}}(e.name,c,u),s.details.typeParameters=u||c;const m=s.details.typeParameters.filter((e=>Io(e)));m.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyClass().format({names:m.map((e=>`"${e.details.name}"`)).join(", ")}),e.name,dt.combine(e.arguments)||e.name),Ha(s)||fe(ml.Diagnostic.methodOrdering(),e.name);const f=zs(e.suite);s.details.fields=(null==f?void 0:f.symbolTable)||new Map;const y=null==f?void 0:f.getSlotsNames();if(y&&(s.details.localSlotsNames=y),Zs.isTypedDictClass(s)&&fl(li,e,s),!i.isStubFile&&0===s.details.typeParameters.length){const t=s.details.fields.get("__init__");if(t){const n=t.getTypedDeclarations();if(1===n.length&&3===n[0].type){const t=n[0].node,i=t.parameters;if(i.length>1&&!i.some(((e,n)=>!!ie(t,n)))){const n=i.filter(((e,t)=>t>0&&e.name&&0===e.category));n.length>0&&(s.details.flags|=16384,s.details.typeParameters=n.map((n=>{const i=oo.createInstance(`__type_of_${n.name.value}`);return i.details.isSynthesized=!0,i.scopeId=Pe(t),i.details.boundType=Ys.create(),oo.cloneForScopeId(i,Pe(e),e.name.value,0)})))}}}}if(0!==s.details.typeParameters.length||Zs.isBuiltIn(s,"type")||(s.details.baseClasses.some((e=>_o(e)&&Zs.hasCustomClassGetItem(e)))||s.details.fields.has("__class_getitem__"))&&(s.details.flags|=262144),d){const e=$(d,void 0,h).type;(_o(e)||po(e))&&($a(e)&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassIsGeneric(),d),s.details.declaredMetaclass=e,_o(e)&&(Zs.isBuiltIn(e,"EnumMeta")?s.details.flags|=1048576:Zs.isBuiltIn(e,"ABCMeta")&&(s.details.flags|=512)))}let v=s.details.declaredMetaclass,T=!1;if(!v||_o(v))for(const t of s.details.baseClasses){if(!_o(t)){v=Ys.create();break}{const n=t.details.effectiveMetaclass||_;if(!n||!_o(n)){v=n?Ys.create():void 0;break}v?Da(n,v,!1)?v=n:Da(v,n,!1)||T||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassConflict(),e.name),T=!0):v=n}}if(!v){const t=xn(e,"type");v=t&&_o(t)?t:Ys.create()}s.details.effectiveMetaclass=v;let b,I=s,S=!1;for(let t=e.decorators.length-1;t>=0;t--){const n=e.decorators[t],r=Ht(I,s,n);Oa(r)?S||(_e(i.diagnosticRuleSet.reportUntypedClassDecorator,$o.reportUntypedClassDecorator,ml.Diagnostic.classDecoratorTypeUnknown(),e.decorators[t].expression),S=!0):I=r}if(_o(v)&&v.details.classDataClassTransform)b=v.details.classDataClassTransform;else{const e=s.details.mro.find((e=>yo(e)&&void 0!==e.details.classDataClassTransform));e&&(b=e.details.classDataClassTransform)}if(b&&(Wu(s,b),Bu(li,s,p)),s.details.flags&=-131073,Zs.isDataClass(s)){const t=Zs.isSkipSynthesizedDataClassInit(s);let n=t;if(!t){const e=va(s,"__init__",2);if(e){const t=Bn(e);Eo(t)&&Xs.isSynthesizedMethod(t)||(n=!0)}}let i=!1;const r=va(s,"__hash__",2);if(r){const e=Bn(r);Eo(e)&&!Xs.isSynthesizedMethod(e)&&(i=!0)}!function(e,t,n,i,r,s){w(Zs.isDataClass(n));const o=Aa(n,!0),a=Xs.createInstance("__new__","","",65),l=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(a),a.details.declaredReturnType=Fa(o);const c={category:0,name:"self",type:Aa(n,!1),hasDeclaredType:!0};Xs.addParameter(l,c),l.details.declaredReturnType=to.createInstance();const u=[],p=[],d=function(e,t){let n=!0;for(let i=e.details.mro.length-1;i>=0;i--){const r=e.details.mro[i];if(_o(r)){const e=wa(r,!1);Zs.getDataClassEntries(r).forEach((n=>{const i=t.findIndex((e=>e.name===n.name)),r={...n};r.type=fa(r.type,e),n.isClassVar?i>=0&&t.splice(i,1):i>=0?t[i]=r:t.push(r)}))}else n=!1}return n}(n,p);d||Xs.addDefaultParameters(l);const h=[];let m=!1;t.suite.statements.forEach((r=>{47===r.nodeType&&r.statements.forEach((r=>{var s;let o,a,l,c,d=!1,f=Zs.isDataClassKeywordOnlyParams(n)||m,g=!0;if(3===r.nodeType){if(54===r.leftExpression.nodeType&&38===r.leftExpression.valueExpression.nodeType&&(o=r.leftExpression.valueExpression,l=()=>e.getTypeOfAnnotation(r.leftExpression.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0})),d=!0,c=r.rightExpression,9===r.rightExpression.nodeType){const i=e.getTypeOfExpression(r.rightExpression.leftExpression,void 0,2).type;if(function(e,t){let n;return Eo(e)?n=e.details.fullName:ko(e)?n=e.overloads[0].details.fullName:_o(e)&&(n=e.details.fullName),!!n&&t.some((e=>e===n))}(i,(null===(s=n.details.dataClassBehaviors)||void 0===s?void 0:s.fieldDescriptorNames)||[])){const n=r.rightExpression.arguments.find((e=>{var t;return"init"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(n&&n.valueExpression)!1===Xc(n.valueExpression,Vt(t).executionEnvironment)&&(g=!1);else{let t;if(Eo(i))t=i;else if(ko(i))t=e.getBestOverloadForArguments(r.rightExpression,i,r.rightExpression.arguments);else if(_o(i)){const n=e.getBoundMethod(i,"__init__");n&&(Eo(n)?t=n:ko(n)&&(t=e.getBestOverloadForArguments(r.rightExpression,n,r.rightExpression.arguments)))}if(t){const e=t.details.parameters.find((e=>"init"===e.name));e&&e.defaultValueExpression&&e.hasDeclaredType&&yo(e.type)&&Zs.isBuiltIn(e.type,"bool")&&ra(e.type)&&!1===e.type.literalValue&&(g=!1)}}const s=r.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=Xc(s.valueExpression,Vt(t).executionEnvironment);!1===e?f=!1:!0===e&&(f=!0)}const o=r.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)}));d=!!o,(null==o?void 0:o.valueExpression)&&(c=o.valueExpression);const l=r.rightExpression.arguments.find((e=>{var t;return"alias"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(l){const t=e.getTypeOfExpression(l.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)&&(a=t.literalValue)}}}}else if(54===r.nodeType&&38===r.valueExpression.nodeType&&(o=r.valueExpression,l=()=>e.getTypeOfAnnotation(r.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0}),"_"===r.valueExpression.value)){const e=l();vo(e)&&Zs.isBuiltIn(e,"KW_ONLY")&&(m=!0,o=void 0,l=void 0)}if(o&&l){const t=o.value,r=n.details.fields.get(t),s=null==r?void 0:r.getDeclarations().some((e=>1===e.type&&e.isFinal));if((null==r?void 0:r.isClassVar())&&!s){const e=p.findIndex((e=>e.name===t));e>=0&&p.splice(e,1);const i={name:t,classType:n,alias:a,isKeywordOnly:!1,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!0};u.push(i)}else{const r={name:t,classType:n,alias:a,isKeywordOnly:f,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!1};h.push({entry:r,evaluator:l});let s=u.findIndex((e=>e.name===t));if(s>=0?u[s]=r:u.push(r),s=p.findIndex((e=>e.name===t)),s>=0){const e=p[s];!r.hasDefault&&e.hasDefault&&(r.hasDefault=!0,r.defaultValueExpression=e.defaultValueExpression,d=!0),p[s]=r}else p.push(r),s=p.length-1;if(!f&&g&&!i&&!d){const t=p.findIndex((e=>e.hasDefault&&e.includeInInit&&!e.isKeywordOnly));t>=0&&t{e.entry.type=e.evaluator()}));const f=n.details.fields,g=[];i||r||!d||(p.forEach((t=>{var i;if(t.includeInInit){let r=t.type;if(t.classType!==n&&$a(r)){const e=new jo(na(t.classType));ma(e,t.classType,n),r=fa(r,e)}(null===(i=n.details.dataClassBehaviors)||void 0===i?void 0:i.transformDescriptorTypes)&&(r=function(e,t){if(!vo(t))return t;const n=_a(t,"__set__");if(!n)return t;const i=e.getTypeOfMember(n);if(!Eo(i))return t;const r=e.bindFunctionToClassOrObject(t,i);return!r||!Eo(r)||r.details.parameters.length<2?t:Xs.getEffectiveParameterType(r,1)}(e,r));const s={category:0,name:t.alias||t.name,hasDefault:t.hasDefault,defaultValueExpression:t.defaultValueExpression,type:r,hasDeclaredType:!0};t.isKeywordOnly?g.push(s):Xs.addParameter(l,s)}})),g.length>0&&(Xs.addParameter(l,{category:1,type:io.create()}),g.forEach((e=>{Xs.addParameter(l,e)}))),f.set("__init__",qo.createWithType(4,l)),f.set("__new__",qo.createWithType(4,a)));const y=e.getBuiltInType(t,"str"),_=e.getBuiltInType(t,"tuple");if(_&&_o(_)&&y&&_o(y)&&!f.has("__match_args__")){const e=[];p.forEach((t=>{t.includeInInit&&!t.isKeywordOnly&&e.push(t.name)}));const t=e.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(y,e)),isUnbounded:!1}))),n=Zs.cloneAsInstance(Va(_,t));f.set("__match_args__",qo.createWithType(4,n))}const v=(n,i)=>{const r=Xs.createInstance(n,"","",64);Xs.addParameter(r,c),Xs.addParameter(r,{category:0,name:"other",type:i,hasDeclaredType:!0}),r.details.declaredReturnType=e.getBuiltInObject(t,"bool"),f.set(n,qo.createWithType(4,r))};if(Zs.isSkipSynthesizedDataClassEq(n)||v("__eq__",e.getBuiltInObject(t,"object")),Zs.isSynthesizedDataclassOrder(n)){const e=Zs.cloneAsInstance(n);["__lt__","__le__","__gt__","__ge__"].forEach((t=>{v(t,e)}))}let T=!Zs.isSkipSynthesizedDataClassEq(n)&&Zs.isFrozenDataClass(n);const b=!Zs.isSkipSynthesizedDataClassEq(n)&&!Zs.isFrozenDataClass(n);if(s&&(T=!1),Zs.isSynthesizeDataClassUnsafeHash(n)&&(T=!0),T){const n=Xs.createInstance("__hash__","","",64);Xs.addParameter(n,c),n.details.declaredReturnType=e.getBuiltInObject(t,"int"),f.set("__hash__",qo.createWithType(4,n))}else b&&!s&&f.set("__hash__",qo.createWithType(4,to.createInstance()));let I=e.getBuiltInType(t,"dict");_o(I)&&(I=Zs.cloneAsInstance(Zs.cloneForSpecialization(I,[e.getBuiltInObject(t,"str"),io.create()],!0))),f.set("__dataclass_fields__",qo.createWithType(4,I)),Zs.isGeneratedDataClassSlots(n)&&void 0===n.details.localSlotsNames&&(n.details.localSlotsNames=u.map((e=>e.name))),Uu(n,p.map((e=>e.type)),!0)}(li,e,s,t,n,i)}if(s.details.localSlotsNames){let e=!0;const t=[...s.details.localSlotsNames];s.details.baseClasses.forEach((n=>{_o(n)?Zs.isBuiltIn(n,"object")||Zs.isBuiltIn(n,"type")||Zs.isBuiltIn(n,"Generic")||(void 0===n.details.inheritedSlotsNames?e=!1:t.push(...n.details.inheritedSlotsNames)):e=!1})),e&&(s.details.inheritedSlotsNames=t)}return N(e.name,s,0,!1),N(e,I,0,!1),function(e,t,n){const i=n.length>0?n[0].node.name:e.name,r=Ne(i,t,"__init_subclass__",{method:"get"},void 0,133,t);if(r){const e=r.type;e&&et(i,n,e,void 0,!1,to.createInstance())}else if(t.details.effectiveMetaclass&&yo(t.details.effectiveMetaclass)){const r=va(t.details.effectiveMetaclass,"__new__",32);if(r){const t=Bn(r);if(Eo(t)){const r=Ho(t);if(void 0!==r.firstKeywordOnlyIndex){const s=new Map;for(let e=r.firstKeywordOnlyIndex;e{var o,a,l;if(0===n.argumentCategory&&n.name){const c=null!==(o=s.get(n.name.value))&&void 0!==o?o:r.kwargsIndex;if(void 0!==c){const e=r.params[c];st({paramCategory:e.param.category,paramType:Xs.getEffectiveParameterType(t,e.index),requiresTypeVarMatching:!1,argument:n,errorNode:null!==(a=n.valueExpression)&&void 0!==a?a:i},new jo,t,!0,!0,!1,void 0),s.delete(n.name.value)}else _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),null!==(l=n.name)&&void 0!==l?l:i)}}));const o=[];if(s.forEach(((e,t)=>{r.params[e].param.hasDefault||o.push(t)})),o.length>0){const e=o.map((e=>`"${e}"`)).join(", ");_e(Vt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===o.length?ml.Diagnostic.argMissingForParam().format({name:e}):ml.Diagnostic.argMissingForParams().format({names:e}),i)}}}}}n.forEach((e=>{e.valueExpression&&$(e.valueExpression)}))}(e,s,p),Zs.isBuiltIn(s,"UnionType")&&(g=Zs.cloneAsInstance(s)),{classType:s,decoratedType:I}}function Ht(e,t,n){let i=Vt(n).isStubFile?4:0;9!==n.expression.nodeType&&(i|=2);const r=$(n.expression,void 0,i).type;if(9===n.expression.nodeType){const e=$(n.expression.leftExpression,void 0,2|i).type;Eo(e)&&("__dataclass_transform__"!==e.details.name&&"dataclass_transform"!==e.details.builtInName||(t.details.classDataClassTransform=qu(li,n.expression)))}if(ko(r)){const n=Vu(r);if(n)return ju(li,t,n,void 0),e}else if(Eo(r)){if("final"===r.details.builtInName)return t.details.flags|=4096,e;if("runtime_checkable"===r.details.builtInName)return t.details.flags|=32768,e;let s,o;if(9===n.expression.nodeType?(o=n.expression,s=Vu($(o.leftExpression,void 0,2|i).type)):s=Vu($(n.expression,void 0,i).type),s)return ju(li,t,s,o),e}return J(n,e)}function Gt(e){const t=Vt(e),n=F(e.name,0);if(n){if(!Eo(n))return;return{functionType:n,decoratedType:F(e,0)||Ys.create()}}let i;const r=Mt(e);r&&(i=r);const s=Er(e,!0);let o;if(s){const e=$t(s);if(!e)return;o=e.classType}let a=en(e,!!s);(null==i?void 0:i.isGenerator)&&(a|=16),s&&"__class_getitem__"===e.name.value&&(a|=2),t.isStubFile?a|=2048:t.isInPyTypedPackage&&(a|=4096),e.isAsync&&(a|=512);const l=Xs.createInstance(e.name.value,function(e,t,n){const i=[n];let r=e;for(;r;)r=Dr(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}(e,t.moduleName,e.name.value),t.moduleName,a,qr(e.suite.statements));l.details.typeVarScopeId=Pe(e),(t.isBuiltInStubFile||t.isTypingStubFile||t.isTypingExtensionsStubFile)&&(l.details.builtInName=e.name.value),l.details.declaration=i;const c=zs(e),u=null==c?void 0:c.lookUpSymbolRecursive(e.name.value);i&&u&&B(u.symbol,i,l),N(e,l,void 0,!1),N(e.name,l,void 0,!1);const p=o&&Zs.isPseudoGenericClass(o)&&"__init__"===e.name.value,d=[];let h=0,m=0;if(o&&0==(4&l.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&&fe(ml.Diagnostic.annotatedParamCountMismatch().format({expected:t,received:n}),e.functionAnnotationComment)}const f=e=>{if(e.name){const n=wn(e.name,e.name.value,!1);n&&we(t,n.symbol,e.name)}};let g=!0;if(e.parameters.forEach(((n,i)=>{let r,s,a,c,u=!1;if(n.name&&(0===i&&o&&(Xs.isClassMethod(l)||Xs.isInstanceMethod(l)||Xs.isConstructorMethod(l))||Xs.isAbstractMethod(l)||o&&Zs.isProtocolClass(o))&&f(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&&(s=o.details.typeParameters[h],h++),s){const e=Jt(n,s);e!==s&&(s=e,u=!0)}if(n.defaultValue&&(c=$(n.defaultValue,s,1).type),s){if(n.defaultValue&&c){const i=new il,r=new jo(l.details.typeVarScopeId);if(o&&void 0!==o.details.typeVarScopeId&&("__init__"!==e.name.value&&"__new__"!==e.name.value||r.addSolveForScope(o.details.typeVarScopeId)),!Jn(s,c,i,r)){const e=_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAssignmentMismatch().format({sourceType:ai(c),paramType:ai(s)})+i.getString(),n.defaultValue);if(u&&a){const t={action:"pyright.addoptionalforparam",offsetOfTypeNode:a.start+1};e&&e.addAction(t)}}}r=s}const y=0===n.category&&n.name&&Kt(n.name.value),_=0===n.category&&!n.name;i>0&&g&&!y&&!_&&Xs.addParameter(l,{category:0,type:Ys.create()}),y&&!_||(g=!1);let v=!1;r||(v=!0,r=Qt(e,l.details.flags,i,o));const T={category:n.category,name:n.name?n.name.value:void 0,hasDefault:!!n.defaultValue,defaultValueExpression:n.defaultValue,defaultType:c,type:null!=r?r:Ys.create(),typeAnnotation:a,hasDeclaredType:!!a,isTypeInferred:v};if(Xs.addParameter(l,T),n.name){const t=Xt(e,n.category,T.type);d.push(t)}else d.push(T.type)})),g&&l.details.parameters.length>0&&Xs.addParameter(l,{category:0,type:Ys.create()}),d.forEach(((t,n)=>{const i=e.parameters[n].name;i&&(po(t)&&(l.details.flags|=16384),N(i,t,0,!1))})),d.length>=2){const e=d[d.length-2],t=d[d.length-1];wo(e)&&"args"===e.paramSpecAccess&&wo(t)&&"kwargs"===t.paramSpecAccess&&(l.details.flags|=32768)}if(e.returnTypeAnnotation){l.details.declaredReturnType=Ys.create();const t=K(e.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else if(e.functionAnnotationComment){l.details.declaredReturnType=Ys.create();const t=K(e.functionAnnotationComment.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else t.isStubFile&&("__init__"===e.name.value?l.details.declaredReturnType=to.createInstance():l.details.declaredReturnType=Ys.create());(t.isStubFile||Or(e.suite))&&l.details.declaredReturnType&&vo(l.details.declaredReturnType)&&Zs.isBuiltIn(l.details.declaredReturnType,["Generator","AsyncGenerator","AwaitableGenerator"])&&(l.details.flags|=16);let y=e.isAsync?function(e,t){const n=Xs.clone(t);return t.details.declaredReturnType&&(n.details.declaredReturnType=nn(e,t.details.declaredReturnType,Xs.isGenerator(t))),n.details.flags|=1024,n}(e,l):l,_=!1;for(let n=e.decorators.length-1;n>=0;n--){const i=e.decorators[n],r=tn(y,l,i,e);Oa(r)?_||(_e(t.diagnosticRuleSet.reportUntypedFunctionDecorator,$o.reportUntypedFunctionDecorator,ml.Diagnostic.functionDecoratorTypeUnknown(),e.decorators[n].expression),_=!0):y=r}return Eo(y)&&(Xs.isOverloaded(y)&&e.parameters.forEach((e=>{f(e)})),y=function(e,t){let n;const i=Mt(e);i&&(n=i);const r=wn(e,e.name.value,!1);if(r){const i=r.symbol.getDeclarations(),s=i.findIndex((e=>e===n));if(s>0){for(let e=0;e{var i,r;const s=e.parameters[n];return(null===(i=s.name)||void 0===i?void 0:i.value)===(null===(r=t.name)||void 0===r?void 0:r.value)&&s.category===t.category}))){const t=i.parameters[n],s=null!==(r=t.typeAnnotation)&&void 0!==r?r:t.typeAnnotationComment;if(s){let t=G(s,e.parameters[n].category);const i=Vt(e);return i.isInPyTypedPackage&&!i.isStubFile&&(t=Ks.cloneForAmbiguousType(t)),t}}}}}const s=e.parameters[n].defaultValue;if(s){const t=$(s,void 0,1).type;let n;if(lo(t)?n=Oo([to.createInstance(),Ys.create()]):vo(t)&&Zs.isBuiltIn(t,["tuple","list","set","dict"])||(n=Qo(t)),n){const t=Vt(e);t.isInPyTypedPackage&&!t.isStubFile&&(n=Ks.cloneForAmbiguousType(n))}return n}}function Xt(e,t,n){switch(t){case 0:return n;case 1:return bo(n)&&n.paramSpecAccess?n:xo(n)?Zs.cloneForUnpacked(n,!1):T&&_o(T)?Zs.cloneAsInstance(Va(T,[{type:n,isUnbounded:!Io(n)}],!0,!0)):Ys.create();case 2:{if(bo(n)&&n.paramSpecAccess)return n;if(vo(n)&&Zs.isTypedDictClass(n)&&n.isUnpacked)return n;const t=xn(e,"dict"),i=Cn(e,"str");return _o(t)&&vo(i)?Zs.cloneAsInstance(Zs.cloneForSpecialization(t,[i,n],!0)):Ys.create()}}}function en(e,t){const n=Vt(e);let i=0;"__new__"===e.name.value&&t&&(i|=1),"__init_subclass__"===e.name.value&&t&&(i|=2);for(const r of e.decorators){let e=n.isStubFile?4:0;9!==r.expression.nodeType&&(e|=2);const s=$(r.expression,void 0,e).type;Eo(s)?"abstractmethod"===s.details.builtInName?t&&(i|=8):"final"===s.details.builtInName&&(i|=8192):_o(s)&&(Zs.isBuiltIn(s,"staticmethod")?t&&(i|=4):Zs.isBuiltIn(s,"classmethod")&&t&&(i|=2))}return i}function tn(e,t,n,i){let r=Vt(n).isStubFile?4:0;9!==n.expression.nodeType&&(r|=2);const s=$(n.expression,void 0,r).type;if((_o(s)&&Zs.isSpecialBuiltIn(s,"overload")||Eo(s)&&"overload"===s.details.builtInName)&&Eo(e))return e.details.flags|=256,t.details.flags|=256,e;if(9===n.expression.nodeType){const i=$(n.expression.leftExpression,void 0,2|r).type;if(Eo(i)&&("__dataclass_transform__"===i.details.name||"dataclass_transform"===i.details.builtInName))return t.details.decoratorDataClassBehaviors=qu(li,n.expression),e}let o=J(n,e);if(Eo(s)){if("abstractmethod"===s.details.builtInName)return e;if(35===n.expression.nodeType){const t=$(n.expression.leftExpression,void 0,2|r).type;if(ua(t)){const r=n.expression.memberName.value;if("setter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){if(!ua(t))return t;const r=t,s=r.details.flags;let o=!!r.isAsymmetricDescriptor;const a=Vt(i);if(i.parameters.length>=2){const t=e.getTypeAnnotationForParameter(i,1);if(t){const n=e.getGetterTypeFromProperty(r,!1);if(n&&!ho(n)){const i=e.getTypeOfAnnotation(t,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if("none"!==a.diagnosticRuleSet.reportPropertyTypeMismatch){const r=new il;e.canAssignType(n,i,r)||e.addDiagnostic(a.diagnosticRuleSet.reportPropertyTypeMismatch,$o.reportPropertyTypeMismatch,ml.Diagnostic.setterGetterTypeMismatch()+r.getString(),t)}Ao(n,i)||(o=!0)}}}const l=Zs.createInstantiable(r.details.name,r.details.fullName,r.details.moduleName,Vt(i).filePath,s,r.details.typeSourceId,r.details.declaredMetaclass,r.details.effectiveMetaclass);l.details.typeVarScopeId=r.details.typeVarScopeId,Ha(l);const c=Zs.cloneAsInstance(l);l.isAsymmetricDescriptor=o;const u=l.details.fields;r.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||u.set(t,e)}));const p=qo.createWithType(4,n);u.set("fset",p);const d=Xs.createInstance("__set__","","",64);Xs.addParameter(d,{category:0,name:"self",type:t,hasDeclaredType:!0});let h=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(h)&&h.details.isSynthesizedSelf&&(h=e.makeTopLevelTypeVarsConcrete(h)),Xs.addParameter(d,{category:0,name:"obj",type:Oo([h,to.createInstance()]),hasDeclaredType:!0}),d.details.declaredReturnType=to.createInstance();let m=Ys.create();n.details.parameters.length>=2&&0===n.details.parameters[1].category&&n.details.parameters[1].name&&(m=n.details.parameters[1].type),Xs.addParameter(d,{category:0,name:"value",type:m,hasDeclaredType:!0});const f=qo.createWithType(4,d);return u.set("__set__",f),c}(li,t,e,i)):e;if("deleter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){var r;if(!ua(t))return t;const s=t,o=Zs.createInstantiable(s.details.name,s.details.fullName,s.details.moduleName,Vt(i).filePath,s.details.flags,s.details.typeSourceId,s.details.declaredMetaclass,s.details.effectiveMetaclass);o.details.typeVarScopeId=s.details.typeVarScopeId,Ha(o);const a=Zs.cloneAsInstance(o);o.isAsymmetricDescriptor=null!==(r=s.isAsymmetricDescriptor)&&void 0!==r&&r;const l=o.details.fields;s.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||l.set(t,e)}));const c=qo.createWithType(4,n);l.set("fdel",c);const u=Xs.createInstance("__delete__","","",64);Xs.addParameter(u,{category:0,name:"self",type:t,hasDeclaredType:!0});let p=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(p)&&p.details.isSynthesizedSelf&&(p=e.makeTopLevelTypeVarsConcrete(p)),Xs.addParameter(u,{category:0,name:"obj",type:Oo([p,to.createInstance()]),hasDeclaredType:!0}),u.details.declaredReturnType=to.createInstance();const d=qo.createWithType(4,u);return l.set("__delete__",d),a}(li,t,e,i)):e}}}else if(_o(s)){if(Zs.isBuiltIn(s))switch(s.details.name){case"classmethod":case"staticmethod":{const t="classmethod"===s.details.name?2:4;if(Eo(e)&&0==(e.details.flags&t)){const n=Xs.clone(e);return n.details.flags&=-8,n.details.flags|=t,n}return e}}if(Zs.isPropertyClass(s)){if(Eo(e))return $u(li,e,n),Hu(li,n,s,e);if(vo(e)){const t=_a(e,"__call__");if(t){const i=Bn(t);if(Eo(i)||ko(i)){const t=ri(e,i);if(t&&Eo(t))return Hu(li,n,s,t)}}return Ys.create()}}}return Eo(e)&&Eo(o)&&(o=Xs.clone(o),Xs.isOverloaded(e)&&(o.details.flags|=256),o.details.docString||(o.details.docString=e.details.docString)),o}function nn(e,t,n){let i;if(vo(t)&&Zs.isBuiltIn(t))if("Generator"===t.details.name){const n=ce(e,"AsyncGenerator");if(n&&_o(n)){const e=[],r=t.typeArguments;r&&r.length>0&&e.push(r[0]),r&&r.length>1&&e.push(r[1]),i=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,e,!0))}}else["AsyncGenerator","AsyncIterator","AsyncIterable"].some((e=>e===t.details.name))&&(i=t);if(!i||!n){const n=ce(e,"Coroutine");i=n&&_o(n)?Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[io.create(),io.create(),t],!0)):Ys.create()}return i}function rn(e,t){var n;if(e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation))return;let r=F(e.suite,0);if(r)return r;if(!i.has(e.id)){i.set(e.id,!0);try{let n;const s=Mt(e);s&&(n=s);const o=!de(e),a=de(e.suite);if(Vt(e).isStubFile)r=Ys.create();else{if(o)r=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=$(t.typeExpression).type,n=_o(e)||vo(e)?e:void 0;if(!n||!Zs.isBuiltIn(n,"NotImplementedError"))return!1}return!0}(n)?Ys.create():no.createNoReturn();else{const e=[];(null==n?void 0:n.returnStatements)&&n.returnStatements.forEach((t=>{if(pe(t))if(t.returnExpression){const n=$(t.returnExpression).type;e.push(n||Ys.create())}else e.push(to.createInstance())})),!o&&a&&e.push(to.createInstance()),r=Oo(e),r=Ro(r)}if(null==n?void 0:n.isGenerator){const t=[];let i=!1;n.yieldStatements&&n.yieldStatements.forEach((e=>{if(pe(e))if(61===e.nodeType){const n=$(e.expression).type;if(vo(n)&&Zs.isBuiltIn(n,"Coroutine"))t.push(),i=!0;else{const i=ae(n,!1,e);t.push(i||Ys.create())}}else if(e.expression){const n=$(e.expression).type;t.push(n||Ys.create())}else t.push(to.createInstance())})),0===t.length&&t.push(to.createInstance());const s=Oo(t),o=ce(e,i?"AwaitableGenerator":"Generator");if(o&&_o(o)){const e=[];i&&e.push(io.create()),e.push(s,to.createInstance(),ao(r)?to.createInstance():r),r=Zs.cloneAsInstance(Zs.cloneForSpecialization(o,e,!0))}else r=Ys.create()}}N(e.suite,r,0,!1)}finally{i.delete(e.id)}}return r}function sn(e){if(F(e,0))return;const t=$(e.iterableExpression),n=ae(t.type,!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,n,!!t.isIncomplete,e.targetExpression),N(e,n,0,!!t.isIncomplete)}function on(e){if(w(void 0!==e.typeExpression),F(e,0))return;function t(e,t){return ho(e=Ie(e))?e:_o(e)?Zs.cloneAsInstance(e):vo(e)?Ko(ae(e,!1,t)||Ys.create(),(e=>ho(e)?e:Ys.create())):Ys.create()}const n=Ko($(e.typeExpression).type,(n=>{const i=ia(n);return i&&i.tupleTypeArguments?Oo(i.tupleTypeArguments.map((n=>t(n.type,e.typeExpression)))):t(n,e.typeExpression)}));e.name&&xe(e.name,n,!1,e.name),N(e,n,0,!1)}function an(e){if(F(e,0))return;const t=$(e.expression);let n=t.type;const i=e.parent&&58===e.parent.nodeType&&!!e.parent.isAsync;Go(n)&&(_e(Vt(e).diagnosticRuleSet.reportOptionalContextManager,$o.reportOptionalContextManager,ml.Diagnostic.noneNotUsableWith(),e.expression),n=Fo(n));const r=i?"__aenter__":"__enter__",s=Ko(n,(t=>{var n;if(ho(t=Ie(t)))return t;const s=new il,o=new il;if(vo(t)){const a=null===(n=ee(e.expression,t,r,{method:"get"},s))||void 0===n?void 0:n.type;if(a){let t;return t=Eo(a)?Un(a):Ys.create(),i&&(t=oe(t,e)),t}i||ee(e.expression,t,"__aenter__",{method:"get"},s)&&o.addMessage(ml.DiagnosticAddendum.asyncHelp())}return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:r})+o.getString(),e.expression),Ys.create()})),o=i?"__aexit__":"__exit__";Jo(n,(t=>{if(ho(t=Ie(t)))return;const n=new il;vo(t)&&ee(e.expression,t,o,{method:"get"},n)||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:o}),e.expression)})),e.target&&xe(e.target,s,!!t.isIncomplete,e.target),N(e,s,0,!!t.isIncomplete)}function ln(e){if(F(e,0))return;let t;if(t=e.alias?e.alias:e.module.nameParts[0],!t)return;let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function cn(t){var n;if(F(t,0))return;const i=t.alias||t.name,r=Vt(t);if((null===(n=t.alias)||void 0===n?void 0:n.value)===t.name.value){const e=wn(t,t.name.value,!0);e&&we(r,e.symbol,t)}let s=dn(t,i.value);if(!s){const n=t.parent;w(n&&22===n.nodeType),w(!n.isWildcardImport);const i=Rt(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,r.executionEnvironment.pythonVersion>=De.V3_7||r.isStubFile){const e=o.symbolTable.get("__getattr__");if(e){const t=Nn(e);Eo(t)&&(s=Un(t),a=!1)}}}else n||(a=!0);a&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.importSymbolUnknown().format({name:t.name.value,moduleName:i.importName}),t.name)}s||(s=Ys.create())}Te(i,s,!1),N(t,s,0,!1)}function un(e){if(F(e,0))return;if(!e.parent||63!==e.parent.nodeType)return void E("Expected parent of case statement to be match statement");const t=$(e.parent.subjectExpression);let n=t.type;for(const t of e.parent.cases){if(t===e)break;t.guardExpression||(n=fu(li,n,t.pattern,!1))}let i=!1;Jo(Ie(n),(e=>{vo(e)&&Zs.isBuiltIn(e,"object")&&(i=!0)})),n=fu(li,n,e.pattern,!0),bu(li,n,!!t.isIncomplete,i,e.pattern),N(e,n,0,!!t.isIncomplete)}function pn(e){if(F(e,0))return;const t=e.module.nameParts[0];let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function dn(e,n){const i=wn(e,n,!0);if(!i)return;const r=i.symbol.getDeclarations().filter((t=>Mr(e,t.node)&&6===t.type));let s=r.length>0?r[r.length-1]:void 0;if(s||(s=i.symbol.getDeclarations().find((e=>6===e.type))),!s)return;w(6===s.type);const o=Vt(e),a=Fn(s,!0,o.isStubFile);if(a){if(!a.declaration)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();if(23===e.nodeType&&(a.isPrivate&&_e(o.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:e.name.value}),e.name),a.privatePyTypedImporter)){const t=new il;a.privatePyTypedImported&&t.addMessage(ml.DiagnosticAddendum.privateImportFromPyTypedSource().format({module:a.privatePyTypedImported})),_e(o.diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:e.name.value,module:a.privatePyTypedImporter})+t.getString(),e.name)}return Pn(i.symbol,s)}}function hn(e){var t,n,i;let r=e,s=e;function o(e){var t,n,i,r,s;return 41===e.nodeType&&30===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||1===e.nodeType&&(9===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)||24===(null===(i=e.parent)||void 0===i?void 0:i.nodeType))||54===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)||41===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&(e===e.parent.typeAnnotation||e===e.parent.typeAnnotationComment)||9===e.nodeType||24===e.nodeType||15===e.nodeType||27===e.nodeType||31===e.nodeType||30===e.nodeType||35===e.nodeType||45===e.nodeType||49===e.nodeType||48===e.nodeType||52===e.nodeType||56===e.nodeType||17===e.nodeType||16===e.nodeType||32===e.nodeType||33===e.nodeType||34===e.nodeType||65===e.nodeType||67===e.nodeType||68===e.nodeType||74===e.nodeType||66===e.nodeType||69===e.nodeType||70===e.nodeType||73===e.nodeType||71===e.nodeType||72===e.nodeType}if(38===e.nodeType&&e.parent){if(28===e.parent.nodeType&&e.parent.name===e)return void Gt(e.parent);if(10===e.parent.nodeType&&e.parent.name===e)return void $t(e.parent);if(29===e.parent.nodeType||39===e.parent.nodeType)return void $(e,void 0,4)}for(;s;){const e=o(s);if(!e&&!yr(s))break;e&&(r=s),s=s.parent}const a=r.parent;if(3===a.nodeType)return void(r===a.typeAnnotationComment?K(r,{isVariableAnnotation:!0,allowFinal:Fr(a.leftExpression),allowClassVar:Nr(a.leftExpression)}):Wt(a));if(14===a.nodeType)return void Ce(r);if(5===a.nodeType)return void jt(a);if(13===a.nodeType)return void(10===(null===(t=a.parent)||void 0===t?void 0:t.nodeType)?$t(a.parent):28===(null===(n=a.parent)||void 0===n?void 0:n.nodeType)&&Gt(a.parent));const l=e=>{const t=e.parent;if(3===(null==t?void 0:t.nodeType)&&t.leftExpression===a)Wt(t);else{const t=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});N(e.valueExpression,t,0,!1)}};if(64===a.nodeType&&r!==a.guardExpression)return void un(a);if(54===a.nodeType)return void l(a);if(41===a.nodeType&&r!==a.defaultValue)return void mn(a);if(28===a.nodeType&&(r===a.returnTypeAnnotation||r===a.functionAnnotationComment))return void K(r,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if(37===a.nodeType)return;if(1===a.nodeType&&r===a.name)return;if(1===a.nodeType&&10===(null===(i=a.parent)||void 0===i?void 0:i.nodeType))return void $t(a.parent);if(44===a.nodeType&&a.returnExpression){const t=kr(e),n=t?Vn(t):void 0;return void $(a.returnExpression,n,0)}const c=yr(a)&&0!==a.nodeType?a:r;54===c.nodeType?l(c):$(c,void 0,Vt(c).isStubFile?4:0)}function mn(e){if(!e.name)return;const t=e.parent;if(30===t.nodeType)return void hn(t);w(28===t.nodeType);const n=t,i=n.parameters.findIndex((t=>t===e)),r=ie(n,i);if(r){const t=n.parameters[i],s=G(r,n.parameters[i].category),o=Xt(e,e.category,Jt(t,s));return void N(e.name,o,0,!1)}const s=Er(n,!0);if(s){const t=$t(s);if(t){const r=Qt(n,en(n,!0),i,t.classType);if(r)return void N(e.name,Xt(e,e.category,r),0,!1)}}N(e.name,Xt(e,e.category,Ys.create()),0,!1)}function fn(e){z(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 Wt(t);break;case 4:return void $(t);case 5:return void jt(t);case 10:return void $t(t);case 41:return void mn(t);case 30:return void hn(t);case 28:return void Gt(t);case 26:return void sn(t);case 25:return void on(t);case 59:return void an(t);case 33:{const e=t.parent;if(w(32===e.nodeType),t===e.expression)hn(e);else for(const n of e.forIfNodes)if(Ct(n),n===t)break;return}case 21:return void ln(t);case 23:return void cn(t);case 22:return void pn(t);case 64:return void un(t)}t=t.parent}E("Unexpected statement")}function gn(e,t){let n=F(e,void 0);if(n)return{node:e,type:n};const i=C;try{if(C=new Map,t(),n=F(e,void 0),n)return{node:e,type:n};if(n=C.get(e.id),n)return{node:e,type:n,isIncomplete:!0};C=i}catch(e){throw C=i,e}}function yn(e){let t=r.get(e);return t||(t=ci.createCodeFlowAnalyzer(),r.set(e,t)),t}function _n(e,t,n,i,r){var s;const o=At(e),a=Rr(null!==(s=null==r?void 0:r.parent)&&void 0!==s?s:e),l=a.codeFlowExpressions;if(!l||!l.has(o))return{type:void 0,isIncomplete:!1};let c;c=L(a)?function(){const e=D.length;return w(e>0),D[e-1].codeFlowAnalyzer}():yn(a.id);const u=Lt(null!=r?r:e);return void 0===u?{type:void 0,isIncomplete:!1}:vn(c,u,e,t,n,i)}function vn(e,t,n,i,r,s){let o;d.enterTrackingScope();try{o=e.getTypeFromCodeFlow(t,n,i,r,s),d.exitTrackingScope()}catch(e){throw d.exitTrackingScope(),e}return o.isIncomplete&&d.enableUndoTracking(),o}function Tn(e,t,n,i){if(Zs.isSpecialBuiltIn(e)){const r=e.aliasName||e.details.name;switch(r){case"Callable":return function(e,t){const n=Xs.createInstantiable("","","",0);Ks.setSpecialForm(n),n.details.declaredReturnType=Ys.create();const i=Dr(t);if(n.details.typeVarScopeId=i?Pe(i):$s,e&&e.length>0){if(e[0].typeList){const t=e[0].typeList;let i=!1,r=!1;const s=e=>{i&&(r||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),e.node),r=!0)),i=!0};t.forEach(((e,t)=>{let i=e.type,r=0;const o=`__p${t.toString()}`;Io(i)?(Oe(i,e.node),r=1,s(e)):Et(e,{allowUnpackedTuples:!0})?xo(i)&&(r=1,s(e)):i=Ys.create(),Xs.addParameter(n,{category:r,name:o,isNameSynthesized:!0,type:Fa(i),hasDeclaredType:!0})})),Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()})}else if(ca(e[0].type))Xs.addDefaultParameters(n),n.details.flags|=32768;else if(wo(e[0].type))n.details.paramSpec=e[0].type;else if(_o(e[0].type)&&Zs.isBuiltIn(e[0].type,"Concatenate")){const t=e[0].type.typeArguments;t&&t.length>0&&t.forEach(((e,i)=>{i===t.length-1?(Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()}),wo(e)&&(n.details.paramSpec=e)):Xs.addParameter(n,{category:0,name:`__p${i}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})}))}else fe(ml.Diagnostic.callableFirstArg(),e[0].node);if(e.length>1){let t=e[1].type;Et(e[1])||(t=Ys.create()),n.details.declaredReturnType=Fa(t)}else _e(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.callableSecondArg(),t),n.details.declaredReturnType=Ys.create();e.length>2&&fe(ml.Diagnostic.callableExtraArgs(),e[2].node)}else Xs.addDefaultParameters(n,!0),n.details.flags|=32768;return n}(t,i);case"Never":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"Never"}),t[0].node),no.createNever();case"NoReturn":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"NoReturn"}),t[0].node),no.createNoReturn();case"Optional":return function(e,t,n,i){if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create()):e;if(n.length>1)return fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create();let r=n[0].type;Et(n[0])?Ks.isInstantiable(r)||(ve(r,n[0].node),r=Ys.create()):r=Ys.create();const s=Oo([r,to.createType()]);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Type":{if(1===(null==t?void 0:t.length)&&ho(t[0].type)&&_&&_o(_))return _;let n=Ot(e,t,1);return _o(n)&&(n=Ua(n)),n}case"ClassVar":return function(e,t,n,i){var r;if(131072&i)return fe(ml.Diagnostic.classVarNotAllowed(),t),io.create();if(!n)return e;if(0===n.length)return fe(ml.Diagnostic.classVarFirstArgMissing(),t),Ys.create();if(n.length>1)return fe(ml.Diagnostic.classVarTooManyArgs(),n[1].node),Ys.create();const s=n[0].type;return $a(s,!0,!0)&&_e(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classVarWithTypeVar(),null!==(r=n[0].node)&&void 0!==r?r:t),s}(e,i,t,n);case"Protocol":return Ot(e,t,void 0,!0);case"Tuple":return Ot(e,t,void 0);case"Union":return function(e,t,n,i){const r=[];if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.unionTypeArgCount(),t),no.createNever()):e;for(const e of n){let t=e.type;Et(e,{allowVariadicTypeVar:!0,allowUnpackedTuples:!0})?Ks.isInstantiable(t)||(ve(t,e.node),t=Ys.create()):t=Ys.create(),xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach((e=>{r.push(Na(e.type))})):(bo(t)&&Io(t)&&t.isVariadicUnpacked&&(t=oo.cloneForUnpacked(t,!0)),r.push(t))}1===r.length&&(Io(r[0])||Co(r[0])||lo(r[0])||fe(ml.Diagnostic.unionTypeArgCount(),t));const s=Oo(r);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Generic":return function(e,t,n,i){if(!n)return 0!=(263168&i)&&fe(ml.Diagnostic.genericTypeArgMissing(),t),e;const r=[];return n&&(0===n.length&&fe(ml.Diagnostic.genericTypeArgMissing(),t),n.forEach((e=>{bo(e.type)?(r.some((t=>Ao(t,e.type)))&&fe(ml.Diagnostic.genericTypeArgUnique(),e.node),r.push(e.type)):fe(ml.Diagnostic.genericTypeArgTypeVar(),e.node)}))),Ot(e,n,void 0,!0)}(e,i,t,n);case"Final":return function(e,t,n,i){return 16&i?(fe(ml.Diagnostic.finalContext(),t),io.create()):n&&0!==n.length?(n.length>1&&fe(ml.Diagnostic.finalTooManyArgs(),t),n[0].type):e}(e,i,t,n);case"Annotated":return function(e,t){return t&&t.length<2&&fe(ml.Diagnostic.annotatedTypeArgMissing(),e),t&&0!==t.length?Ks.cloneForAnnotated(t[0].type):io.create()}(i,t);case"Concatenate":return function(e,t,n){return n&&0!==n.length?n.forEach(((e,t)=>{t===n.length-1?wo(e.type)||fe(ml.Diagnostic.concatenateParamSpecMissing(),e.node):wo(e.type)&&fe(ml.Diagnostic.paramSpecContext(),e.node)})):fe(ml.Diagnostic.concatenateTypeArgsMissing(),e),Ot(t,n,void 0,!0)}(i,e,t);case"TypeGuard":case"StrictTypeGuard":return function(e,t,n,i){if(!n)return 0!=(1024&i)&&fe(ml.Diagnostic.typeGuardArgCount(),e),t;if(1!==n.length)return fe(ml.Diagnostic.typeGuardArgCount(),e),Ys.create();const r=n.map((e=>Fa(Et(e)?e.type:Ys.create())));return Zs.cloneForSpecialization(t,r,!0)}(i,e,t,n);case"Unpack":return function(e,t,n){if(!t||1!==t.length)return fe(ml.Diagnostic.unpackArgCount(),e),Ys.create();let i=t[0].type;fo(i)&&1===i.subtypes.length&&(i=i.subtypes[0]);const r=Vt(e);return 0!=(2097152&n)?_o(i)&&!i.includeSubclasses&&pa(i)?Zs.cloneForUnpacked(i):Io(i)&&!i.isVariadicUnpacked?oo.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypeVarTuple(),e),Ys.create()):0!=(8388608&n)?_o(i)&&Zs.isTypedDictClass(i)?Zs.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypedDict(),e),Ys.create()):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackNotAllowed(),e),Ys.create())}(i,t,n);case"Required":case"NotRequired":return function(e,t,n,i,r){var s;if(!i&&0==(1024&r))return e;if(!i||1!==i.length)return fe(n?ml.Diagnostic.requiredArgCount():ml.Diagnostic.notRequiredArgCount(),t),e;const o=i[0].type,a=Er(t,!0),l=a?$t(a):void 0;let c=!1;return l&&_o(l.classType)&&Zs.isTypedDictClass(l.classType)&&54===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&t.parent.typeAnnotation===t&&(c=!0),0!=(1048576&r)&&(c=!0),c?o:(fe(n?ml.Diagnostic.requiredNotInTypedDict():ml.Diagnostic.notRequiredNotInTypedDict(),t),Zs.cloneForSpecialization(e,[Fa(o)],!!i))}(e,i,"Required"===r,t,n);case"Self":return function(e,t,n){var i;const r=Vt(t);n&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.details.name}),null!==(i=n[0].node)&&void 0!==i?i:t);const s=Er(t),o=s?$t(s):void 0;if(!o)return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();const a=kr(t);if(a){if(4&en(a,!0))return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();if(a.parameters.length>0){const e=ie(a,0);if(e&&!Mr(t,e)){const n=K(e,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});bo(n)&&n.details.isSynthesizedSelf||_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeWithTypedSelfOrCls(),t)}}}return Aa(o.classType,!0)}(e,i,t);case"LiteralString":return Ot(e,t,0)}}const r=Vt(i);if(r.isStubFile||r.executionEnvironment.pythonVersion>=De.V3_9||H(Vt(i))||0!=(4&n)){if(Zs.isBuiltIn(e,"type")&&t){if(1===t.length&&ho(t[0].type))return e;const n=ce(i,"Type");if(n&&_o(n)){let e=Ot(n,t,1,void 0,!0);return _o(e)&&(e=Ua(e)),e}}if(pa(e))return Ot(e,t,void 0,void 0,!0)}let s=t?t.length:0;const o=Zs.isPseudoGenericClass(e)?[]:Zs.getTypeParameters(e);if(0===o.length&&0===s)return e;const a=o.findIndex((e=>Io(e)));if(t){if(s>o.length){if(!Zs.isPartiallyConstructed(e)&&!Zs.isTupleClass(e)){const n=Vt(i);0===o.length?_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.aliasName||e.details.name}),t[o.length].node):1===o.length&&wo(o[0])||_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:o.length,received:s}),t[o.length].node)}s=o.length}else s0?t[0].node.parent:i);t.forEach(((e,t)=>{if(t===a){if(vo(e.type)&&pa(e.type))return;if(Io(e.type))return void Oe(e.type,e.node)}const n=t!ca(e.type)&&!e.typeList&&!wo(e.type))))1===t.length&&_o(t[0].type)&&Zs.isBuiltIn(t[0].type,"Concatenate")||(t=[{type:Ys.create(),node:t[0].node,typeList:t}]);else if(t.length>1){const e=t.find((e=>wo(e.type)));e&&fe(ml.Diagnostic.paramSpecContext(),e.node);const n=t.find((e=>!!e.typeList));n&&fe(ml.Diagnostic.typeArgListNotAllowed(),n.node)}return c.forEach(((e,n)=>{if(t&&n{Xs.addParameter(i,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),void l.push(i);if(_o(e.type)&&Zs.isBuiltIn(e.type,"Concatenate")){const t=e.type.typeArguments;return t&&t.length>0&&t.forEach(((e,n)=>{n===t.length-1?wo(e)&&(i.details.paramSpec=e):Xs.addParameter(i,{category:0,name:`__p${n}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})})),void l.push(i)}}l.push(Fa(t[n].type))}else l.push(Ys.create())})),l=l.map(((e,n)=>{if(nGs)return t;if(r++,ho(t))return t;let s=t;if(bo(t)){if(Ao(t,e,void 0,void 0,r))return t;s=Ie(t)}if(e.details.boundType&&!Jn(e.details.boundType,s,n.createAddendum(),void 0,i,r))return void(e.details.isSynthesized||n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(s),destType:ai(e.details.boundType),name:oo.getReadableName(e)})));if(e.details.isParamSpec)return wo(t)||Eo(t)&&Xs.isParamSpecValue(t)||vo(t)&&Zs.isBuiltIn(t,"Concatenate")?t:void n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:oo.getReadableName(e)}));if(bo(t)&&t.details.isParamSpec)return void n.addMessage(ml.Diagnostic.paramSpecContext());const o=e.details.constraints;if(0===o.length)return t;if(bo(t)&&t.details.constraints.length>0){if(t.details.constraints.every((e=>o.some((t=>Jn(t,e,void 0,void 0,void 0,r))))))return t}else{let e;for(const t of o)Jn(t,s,void 0,void 0,void 0,r)&&(e&&!Jn(e,t,void 0,void 0,void 0,r)||(e=t));if(e)return e}n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:oo.getReadableName(e)}))}(o[n],e,i);r?e=r:vo(e)&&Zs.isPartiallyConstructed(e)||_e(Vt(t[n].node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarAssignmentMismatch().format({type:ai(e),name:oo.getReadableName(o[n])})+i.getString(),t[n].node)}return e})),Zs.cloneForSpecialization(e,l,void 0!==t)}function bn(e){return e.type?{type:e.type}:e.valueExpression?$(e.valueExpression):{type:Ys.create()}}function In(e){return e.type?{type:e.type}:Sn(e.valueExpression)}function Sn(e,t=!1,n=!1,i=!1){let r=131304;return Vt(e).isStubFile?r|=4:r|=4194304,t||(r|=16),n&&(r|=1048576),$(e,void 0,r)}function xn(e,t){const n=zs(e);if(n){const e=function(e){let t=e;for(;4!==t.type;)t=t.parent;return t}(n).lookUpSymbol(t);if(e)return Nn(e)}return Ys.create()}function Cn(e,t,n){const i=xn(e,t);if(_o(i)){let e=i;return n&&(e=Zs.cloneForSpecialization(e,n,void 0!==n)),Zs.cloneAsInstance(e)}return i}function wn(e,t,n,i=!1){var r;const s=zs(e);let o=null==s?void 0:s.lookUpSymbolRecursive(t);const a=null!==(r=null==s?void 0:s.type)&&void 0!==r?r:3;if(o&&n&&1!==a&&0!==a&&0===o.symbol.getDeclarations().filter((t=>{if(6!==t.type&&0!==t.type){const n=Rr(e),i=4===t.type||3===t.type?t.node.name:t.node;if(n===Rr(i)&&!he(i,e)){const t=Lt(e);return!(t&&ci.isFlowNodeReachable(t))}}return!0})).length&&(o=1!==o.scope.type&&o.scope.parent?o.scope.parent.lookUpSymbolRecursive(t,o.isOutsideCallerModule||3===o.scope.type,o.isBeyondExecutionScope||o.scope.isIndependentlyExecutable()):void 0),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 En(e,t){p.push(e);try{const e=t();return p.pop(),e}catch(e){throw p.pop(),e}}function kn(e,t,n=!0){c.enterSpeculativeContext(e,n);try{const e=t();return c.leaveSpeculativeContext(),e}catch(e){throw c.leaveSpeculativeContext(),e}}function Dn(e,t){if(Eo(e)&&e.details.declaration){const n=e.details.declaration;if(3===n.type){const e=Ft(n.node);if(e){const n=e.lookUpSymbol(t);if(n)return n.getDeclarations().find((e=>2===e.type))}}}}function An(e){var t,n;switch(e.type){case 0:{if("Any"===e.intrinsicType)return io.create();if("class"===e.intrinsicType){const t=$t(Er(e.node));return t?t.classType:void 0}const t=Cn(e.node,"str"),n=Cn(e.node,"int");if(vo(n)&&vo(t)){if("str"===e.intrinsicType)return t;if("str | None"===e.intrinsicType)return Oo([t,to.createInstance()]);if("int"===e.intrinsicType)return n;if("Iterable[str]"===e.intrinsicType){const n=xn(e.node,"Iterable");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t],!0))}if("Dict[str, Any]"===e.intrinsicType){const n=xn(e.node,"dict");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t,io.create()],!0))}}return Ys.create()}case 4:{const t=$t(e.node);return t?t.decoratedType:void 0}case 5:return K(e.node.typeAnnotation);case 3:{const t=Gt(e.node);return t?t.decoratedType:void 0}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=ie(t,i)}}if(n){const t=G(n,e.node.category);return Xt(e.node,e.node.category,Jt(e.node,t))}return}case 1:{const t=e.typeAnnotationNode;if(t){const i=re(t)?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):void 0;let r;if(e.isRuntimeTypeExpression)r=Fa(Sn(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;r=K(t,{isVariableAnnotation:!0,allowClassVar:Nr(i),allowFinal:Fr(i)})}if(r)return 38===e.node.nodeType&&(r=Ut(e.node,(()=>r))||r),i&&38===i.valueExpression.nodeType&&(r=qt(r,i.valueExpression,e.node)),r}return}case 6:return}}function Pn(n,i){var r,s;const o=Rn(i,!0,Vt(i.node).isStubFile);if(!o)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();function a(e,n,i){if(n.path&&n.loadSymbolsFromPath){const r=i(n.path);if(!r)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();e.fields=r.symbolTable,e.docString=r.docString}return n.implicitImports&&n.implicitImports.forEach(((t,n)=>{const r=e.moduleName?e.moduleName+"."+n:"",s=a(Qs.create(r,t.path),t,i),o=qo.createWithType(0,s);e.loaderFields.set(n,o)})),e}if(6===o.type){let t=o.moduleName;if(6===i.type&&(i.symbolName&&(t+="."+i.symbolName),t.startsWith("."))){const e=Vt(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=Qs.create(t,o.path);return o.symbolName&&o.submoduleFallback?a(n,o.submoduleFallback,e):a(n,o,e)}const l=An(o);if(l)return l;const c=Vt(o.node);let u=!c.isInPyTypedPackage||c.isStubFile;if(!u&&1===o.type){const e=Er(o.node,!0);if(e){const t=$t(e);t&&Zs.isEnumClass(t.classType)&&(u=!0)}(o.isFinal||o.isConstant)&&(u=!0)}if(2===o.type)return null===(r=gn(o.node.name,(()=>{mn(o.node)})))||void 0===r?void 0:r.type;if(1===o.type&&o.inferredTypeSource){const e=o.typeAliasName&&o.inferredTypeSource.parent?o.inferredTypeSource.parent:o.inferredTypeSource;let t=null===(s=gn(o.node,(()=>{fn(e)})))||void 0===s?void 0:s.type;if(t&&38===o.node.nodeType){const e=Ut(o.node,(()=>{var e;return(null===(e=gn(o.inferredTypeSource,(()=>{fn(o.inferredTypeSource)})))||void 0===e?void 0:e.type)||Ys.create()}));e&&(t=e)}return t&&o.typeAliasName&&(!Ks.isInstantiable(t)||po(t)||ca(t)||(t=qt(t,o.typeAliasName,o.node),u=!0)),t&&c.isInPyTypedPackage&&!c.isStubFile&&(u||function(e,t,n){var i;const r=e.getDeclarations().filter((e=>1!==e.type||!e.isInferenceAllowedInPyTyped));if(r.length>1)return!1;if(1!==t.type)return!1;if(0===r.length)return!0;if(bo(n))return!0;let s;const o=t.node.parent;if(o&&(3===o.nodeType?s=o:35===o.nodeType&&3===(null===(i=o.parent)||void 0===i?void 0:i.nodeType)&&(s=o.parent)),!s)return!1;const a=$(s.rightExpression).type;return!(!vo(a)||!ra(a))||38===s.rightExpression.nodeType&&!Ks.isAmbiguous(a)}(n,i,t)&&(u=!0),u||(t=Ks.cloneForAmbiguousType(t))),t}}function Rn(t,n,i=!1){var r;return null===(r=Rc(e,t,n,i))||void 0===r?void 0:r.declaration}function Fn(t,n,i=!1){return Rc(e,t,n,i)}function Nn(e){return Mn(e).type}function Mn(e,t,n=!1){if(e.hasTypedDeclarations()){const n=On(e,t);return{type:n||Ys.create(),isIncomplete:!1,includesVariableDecl:e.getTypedDeclarations().some((e=>1===e.type)),isRecursiveDefinition:!n}}let i=u.get(e.id);const r=t?t.id:void 0;if(i)for(const e of i)if(e.usageNodeId===r&&e.useLastDecl===n)return e.result;const s=[],o=e.getDeclarations(),a=Wo(e);let l,p=!1,d=!1,h=!1;if(n&&o.forEach(((e,t)=>{e.isInExceptSuite||(l=t)})),o.forEach(((n,i)=>{var r,o;let u=void 0===l||i===l;if(void 0!==t&&6!==n.type&&Rr(t)===Rr(n.node)&&(he(n.node,t)||(u=!1)),u){const t=ss(n);if((t||os(n))&&1===n.type&&3===(null===(o=null===(r=n.inferredTypeSource)||void 0===r?void 0:r.parent)||void 0===o?void 0:o.nodeType)&&(Wt(n.inferredTypeSource.parent),n.typeAliasAnnotation&&K(n.typeAliasAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(n.node),allowClassVar:Nr(n.node)})),q(e,n))try{let i=Pn(e,n);if(V(e)||(p=!0),i){if(1===n.type){d=!0;let e=1===n.type&&!!n.isConstant;vo(i)&&Zs.isEnumClass(i)&&function(e){const t=Er(e.node,!0);if(!t)return!1;const n=$t(t);return!!n&&Zs.isEnumClass(n.classType)}(n)&&(e=!0),!Ks.isInstance(i)||t||e||a||(i=Qo(i))}s.push(i),c.isSpeculative(n.node)&&(h=!0)}else p=!0}catch(t){throw V(e),t}else p=!0}})),s.length>0){const t={type:Oo(s),isIncomplete:!1,includesVariableDecl:d,isRecursiveDefinition:!1};return h||(i||(i=[],u.set(e.id,i)),i.push({usageNodeId:r,useLastDecl:n,result:t})),t}return{type:Js.create(),isIncomplete:p,includesVariableDecl:d,isRecursiveDefinition:!1}}function On(e,t){const n=e.getSynthesizedType();if(n)return n;let i=e.getTypedDeclarations();if(0===i.length)return;if(i.length>1&&t){const e=i.filter((e=>!(6!==e.type&&Rr(t)===Rr(e.node)&&!he(e.node,t,!1))));e.length>0&&(i=e)}let r=i.length-1;for(;r>=0;){const t=i[r],n=W(e,t);if(n)return n;if(U(e,t)<0&&q(e,t))try{const n=An(t);if(V(e)||4===t.type)return n}catch(t){throw V(e),t}r--}}function Ln(e){Eo(e)?Un(e):ko(e)&&e.overloads.forEach((e=>{Un(e)}))}function Un(e,t,n=!0){return Xs.getSpecializedReturnType(e)||(n?qn(e,t):Ys.create())}function qn(e,n){var i;let r;if(Xs.isStubDefinition(e))return Ys.create();if(e.inferredReturnType)r=e.inferredReturnType;else{if(Xs.isInstanceMethod(e)&&"__init__"===e.details.name)r=to.createInstance();else if(e.details.declaration){const n=e.details.declaration.node;if(t.analyzeUnannotatedFunctions){const t=function(e){var t;return null!==(t=e.codeFlowComplexity)&&void 0!==t?t:0}(n);(e.details.parameters.length<=1||e.details.parameters.some((e=>e.hasDeclaredType))||t<15)&&(function(t){const i=c.disableSpeculativeMode();try{r=rn(n,Xs.isAbstractMethod(e)),c.enableSpeculativeMode(i)}catch(e){throw c.enableSpeculativeMode(i),e}}(),r&&Xs.isWrapReturnTypeInAwait(e)&&(r=nn(n,r,!!(null===(i=e.details.declaration)||void 0===i?void 0:i.isGenerator))))}}r||(r=Ys.create()),e.inferredReturnType=r}if(t.analyzeUnannotatedFunctions&&La(r)&&Xs.hasUnannotatedParams(e)&&!Xs.isStubDefinition(e)&&!Xs.isPyTypedDefinition(e)&&n){const t=function(e,t){var n;let i;if(!e.details.declaration)return;const r=e.details.declaration.node;if(t.some((e=>!e.paramName)))return;if(D.some((e=>e.functionNode===r)))return;const s=Gt(r);return s&&!(t.length>6||D.length>=2)?(En(r,(()=>{const n=A;D.push({functionNode:r,codeFlowAnalyzer:ci.createCodeFlowAnalyzer()});try{A=new Map;let o=!0;r.parameters.forEach(((e,n)=>{if(e.name){let i;const a=t.find((t=>e.name.value===t.paramName));a&&a.argument.valueExpression?(i=$(a.argument.valueExpression).type,po(i)||(o=!1)):e.defaultValue?(i=$(e.defaultValue).type,po(i)||(o=!1)):0===n&&(Xs.isInstanceMethod(s.functionType)||Xs.isClassMethod(s.functionType))&&s.functionType.details.parameters.length>0&&r.parameters[0].name&&(i=s.functionType.details.parameters[0].type),i||(i=Ys.create()),N(e.name,i,0,!1)}})),o||(i=rn(r,Xs.isAbstractMethod(e)))}finally{D.pop(),A=n}})),i?(i=Ro(i),Xs.isWrapReturnTypeInAwait(e)&&!ao(i)&&(i=nn(r,i,!!(null===(n=e.details.declaration)||void 0===n?void 0:n.isGenerator))),i):void 0):void 0}(e,n);t&&(r=t)}return r}function Vn(e){const t=Gt(e);return t?Xs.isAbstractMethod(t.functionType)?io.create():Xs.isGenerator(t.functionType)?Pa(t.functionType):t.functionType.details.declaredReturnType:io.create()}function Bn(e){return _o(e.classType)?ha(Nn(e.symbol),e.classType):Ys.create()}function Wn(e,t,n,i,r,s,o){if(o>Gs)return!0;if(o++,h.some((n=>Ao(n.srcType,t)&&Ao(n.destType,e))))return!0;h.push({srcType:t,destType:e});let a=!0;try{a=function(e,t,n,i,r,s,o){const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e)),u=new jo(na(e));ma(u,e,t),Zs.isTypedDictClass(t)&&x&&_o(x)&&(t=x);let p=!0;const d=wa(t),h=oa(t,!0)?128:0;if(a.forEach(((e,i)=>{if(e.isClassMember()&&!e.isIgnoredForProtocolMatch()){let r,a=!1;if(!s&&"__class_getitem__"===i)return;if("__slots__"===i)return;if(s&&t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&(r=va(t.details.effectiveMetaclass,i),r&&(d.addSolveForScope(na(t.details.effectiveMetaclass)),a=!0)),r||(r=va(t,i)),r){let l=On(e);if(l){let d=_o(r.classType)?ha(Nn(r.symbol),r.classType,t):Ys.create();if(Eo(d)||ko(d)){if(a){const e=ri(t,d,void 0,void 0,o,!1,t);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(t,l,void 0,void 0,o,!1,t);e&&(l=Ba(e))}}else if(_o(r.classType)){l=fa(l,u);const e=ri(s?t:Zs.cloneAsInstance(t),d,r.classType,void 0,o);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(Zs.cloneAsInstance(t),l,r.classType,void 0,o);e&&(l=Ba(e))}}}else l=fa(l,u);const m=null==n?void 0:n.createAddendum();if(vo(l)&&Zs.isPropertyClass(l))if(vo(d)&&Zs.isPropertyClass(d)&&!s)Gu(li,Zs.cloneAsInstantiable(l),Zs.cloneAsInstantiable(d),t,null==m?void 0:m.createAddendum(),c,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);else{const e=Hn(l,!0);e&&Jn(e,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1)}else Jn(l,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);const f=e.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal));f!==r.symbol.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal))&&(f?m&&m.addMessage(ml.DiagnosticAddendum.memberIsFinalInProtocol().format({name:i})):m&&m.addMessage(ml.DiagnosticAddendum.memberIsNotFinalInProtocol().format({name:i})),p=!1)}e.isClassVar()&&!r.symbol.isClassMember()&&(n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberClassVar().format({name:i})),p=!1)}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:i})),p=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||Wn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s,o)||(p=!1)})),p&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,o)||(p=!1)}return p}(e,t,n,i,r,s,o)}catch(e){throw h.pop(),e}return h.pop(),a}function jn(e,t,n,i,r,s){if(s>Gs)return!0;s++;let o=!0;const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e));if(a.forEach(((i,r)=>{if(i.isClassMember()&&!i.isIgnoredForProtocolMatch()){const a=t.fields.get(r);if(a){let t=On(i);if(t){const i=Nn(a);if((Eo(i)||ko(i))&&(Eo(t)||ko(t))){const n=ri(Zs.cloneAsInstance(e),t,e,void 0,s);n&&(t=n)}const l=null==n?void 0:n.createAddendum();Jn(t,i,null==l?void 0:l.createAddendum(),c,0,s)||(l&&l.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:r})),o=!1)}}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:r})),o=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||jn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s)||(o=!1)})),o&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,s)||(o=!1)}return o}function zn(e,t,n,i,r,s,o){if(Zs.isTypedDictClass(e)&&Zs.isTypedDictClass(t))return!!_l(li,e,t,n,s)&&(Zs.isFinal(e)!==Zs.isFinal(t)?(n&&n.addMessage(ml.DiagnosticAddendum.typedDictFinalMismatch().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1):!(0!=(1&r)&&!Zs.isSameGenericClass(e,t))||_l(li,t,e,void 0,s));const a=Qu.get(e.details.fullName);if(a&&a.some((e=>t.details.mro.some((t=>yo(t)&&e===t.details.fullName))))&&0==(1&r))return!0;const l=[],c=Zs.isDerivedFrom(t,e,l);if(Zs.isProtocolClass(e)&&!c)return!!Wn(e,t,null==n?void 0:n.createAddendum(),i,r,!1,s)||(n&&n.addMessage(ml.DiagnosticAddendum.protocolIncompatible().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1);if((0==(1&r)||Zs.isSameGenericClass(t,e))&&c)return w(l.length>0),function(e,t,n,i,r,s,o){let a=t,l=r||new jo(na(e)),c=s;r||(c&=-9);for(let t=n.length-1;t>=0;t--){const r=n[t];if(po(r))return!0;if(Zs.isBuiltIn(r,"object"))return!0;if(t0&&a.typeArguments&&!r.isLocked()){const t=a.typeArguments;for(let n=0;nIo(e.type))),p=l.findIndex((e=>e.isUnbounded)),d=c.findIndex((e=>e.isUnbounded));if(d>=0){const e=u>=0||p>=0?l.length-1:l.length,t=c.length>0?c[d].type:io.create();for(;c.length=0&&d>=0)return n&&n.addMessage(ml.DiagnosticAddendum.typeVarTupleRequiresKnownLength()),!1;if(p>=0||u>=0){const e=c.length-l.length+1;if(e>=0)if(u>=0){if(T&&_o(T)){const t=c.splice(u,e),n=Fa(Va(T,t.map((e=>({type:Qo(e.type),isUnbounded:!1}))),!0,!0,!0));c.splice(u,0,{type:n,isUnbounded:!1})}}else{const t=c.splice(p,e);c.splice(p,0,{type:t.length>0?Oo(t.map((e=>e.type))):io.create(),isUnbounded:!1})}}if(c.length===l.length)for(let e=0;e=0))return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:l.length,received:c.length})),!1;if(!e.isUnpacked)return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatchIndeterminate().format({expected:l.length})),!1}return!0}function Hn(e,t){if(!Zs.isPropertyClass(e))return;const n=e.details.fields.get("fget");if(n){const e=On(n);if(e&&Eo(e))return Un(e,void 0,t)}}function Gn(e,t,n,i,r,s){var o,a,l;w(Zs.isSameGenericClass(e,t));const c=Zs.getTypeParameters(e);let u,p;if(!e.typeArguments||!t.typeArguments)return!0;if(Zs.isTupleClass(e)?(u=null!==(a=null===(o=e.tupleTypeArguments)||void 0===o?void 0:o.map((e=>e.type)))&&void 0!==a?a:[],p=null===(l=t.tupleTypeArguments)||void 0===l?void 0:l.map((e=>e.type))):(u=e.typeArguments,p=t.typeArguments),p)for(let t=0;t=u.length?u.length-1:t,l=a>=0?u[a]:Ys.create(),d=a({category:e.category,name:e.name,isNameSynthesized:e.isNameSynthesized,hasDefault:!!e.hasDefault,type:Xs.getEffectiveParameterType(n,t)}))),o=i.getParamSpec(e);if(!o)return!i.isLocked()&&i.hasSolveForScope(e.scopeId)&&i.setParamSpec(e,{parameters:s,typeVarScopeId:t.details.typeVarScopeId,flags:t.details.flags,docString:t.details.docString,paramSpec:void 0}),!0;if(!o.paramSpec&&o.parameters.length===s.length&&!o.parameters.some(((e,t)=>{const n=s[t];return e.category!==n.category||e.name!==n.name||e.hasDefault!==n.hasDefault||!Ao(e.type,n.type,void 0,void 0,r)})))return!0}else if(ho(t))return!0;return n&&n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:e.details.name})),!1}(e,t,n,i,s);e.details.isVariadic&&(Co(t)||(t=T&&_o(T)?Fa(Va(T,[{type:t,isUnbounded:!1}],!0,!0,!0)):Ys.create())),Ks.isInstantiable(e)&&vo(t)&&Zs.isBuiltIn(t,"type")&&!t.typeArguments&&(t=io.create());const c=i.getTypeVar(e),u=null==c?void 0:c.narrowBound,p=null!==(o=null==c?void 0:c.wideBound)&&void 0!==o?o:e.details.boundType;if(e.details.constraints.length>0){let r;const o=Ie(t);if(bo(t))Jn(e,o,void 0,new jo(e.scopeId),void 0,s)&&(r=t,Ks.isInstantiable(t)&&(r=Fa(t)));else{let t,n=!0;r=Ko(o,(i=>{let r,o;return ho(i)?i:(e.details.constraints.forEach(((t,n)=>{const a=Ks.isInstantiable(e)?Na(t):t;Jn(a,i,void 0,void 0,void 0,s)&&(r&&!Jn(r,a,void 0,void 0,void 0,s)||(r=Zo(t,Xo(i)),o=n))})),r||l||(n=!1),void 0===o||Xo(i)||(void 0!==t&&t!==o&&(n=!1),t=o),r)})),!ao(r)&&n||(r=void 0),!r&&fo(o)&&(r=e.details.constraints.find((t=>Jn(Ks.isInstantiable(e)?Na(t):t,o,void 0,void 0,void 0,s))))}if(!r)return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:e.details.name})),!1;if(u&&!ho(u)){if(!Jn(u,r,void 0,void 0,void 0,s)){if(!Jn(r,u,void 0,void 0,void 0,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(r),name:ai(u)})),!1;!i.isLocked()&&a&&i.setTypeVarType(e,r)}}else!i.isLocked()&&a&&i.setTypeVarType(e,r);return!0}let d=u,h=p;const m=n?new il:void 0,f=0!=(128&r)||i.getRetainLiterals(e)||e.details.boundType&&oa(e.details.boundType)||e.details.constraints.some((e=>oa(e)));let g=f?t:Qo(t);if(Ks.isInstantiable(e)){if(!Ra(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(e)})),!1;g=Fa(g)}if(l||0!=(4&r)){if(p){if(!Ao(p,g,void 0,void 0,s))if(Jn(p,Ie(g),m,void 0,512&r,s))h=g;else if(!Jn(g,p,m,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),n.addAddendum(m)),!1}else h=g;if(u&&!Jn(h,u,void 0,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(u)})),n.addAddendum(m)),!1}else{if(u){if(!Ao(u,g,void 0,void 0,s))if(Jn(u,g,m,i,r,s))d=La(u)&&!po(g)&&Jn(g,u,void 0,i,512&r,s)?g:u;else{if(i.isLocked()||bo(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;if(Io(e))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;d=Jn(g,u,void 0,i,512&r,s)?g:fo(u)&&u.subtypes.length>64&&void 0!==e.details.boundType&&y&&vo(y)?Oo([u,y]):Oo([u,g])}}else d=g;if(p&&d&&!Ao(p,d,void 0,void 0,s)){let e=!0;if(bo(p)&&(Ao(d,p)||fo(d)&&d.subtypes.some((e=>Ao(e,p))))&&(e=!1),!Jn(e?Ie(p):p,d,void 0,i,512&r,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),!1}}if(e.details.boundType){const o=d||h;if(Ks.isInstantiable(e)&&!Ks.isInstantiable(t))return!1;if(!Jn(e.details.boundType,Ie(o),null==n?void 0:n.createAddendum(),i,512&r,s))return e.details.isSynthesized||n&&n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(o),destType:ai(e.details.boundType),name:oo.getReadableName(e)})),!1}return!i.isLocked()&&a&&i.setTypeVarType(e,d,h,f),!0}function Jn(e,t,n,i,r=0,s=0){var o,a;if(fo(e)&&1===e.subtypes.length&&Io(e.subtypes[0])&&(e=e.subtypes[0]),fo(t)&&1===t.subtypes.length&&Io(t.subtypes[0])&&(t=t.subtypes[0]),e===t)return!bo(e)||e.details.isParamSpec||e.details.isVariadic||0!==e.scopeType||!i||i.isLocked()||!i.hasSolveForScope(e.scopeId)||i.getTypeVar(e)||0!=(10&r)||i.setTypeVarType(e,t),!0;if(s>Gs)return!0;if(s++,bo(e)&&e.details.recursiveTypeAliasScopeId&&bo(t)&&t.details.recursiveTypeAliasScopeId){if((null===(o=e.typeAliasInfo)||void 0===o?void 0:o.typeArguments)&&(null===(a=t.typeAliasInfo)||void 0===a?void 0:a.typeArguments)&&e.details.recursiveTypeAliasScopeId===t.details.recursiveTypeAliasScopeId){let o=!0;const a=t.typeAliasInfo.typeArguments;return e.typeAliasInfo.typeArguments.forEach(((e,t)=>{Jn(e,t{var i;if(Ao(e,t,!0,void 0,n))return!1;const r=oo.getNameWithScope(e),s=(null!==(i=Xo(t))&&void 0!==i?i:[]).filter((e=>e.typeVarName===r));return 0===s.length||!s.some((i=>e.details.boundType?(w(0===i.constraintIndex,"Expected constraint for bound TypeVar to have index of 0"),Jn(e.details.boundType,t,void 0,void 0,void 0,n)):!(e.details.constraints.length>0)||(w(i.constraintIndex{Kn(t,e,n,i,4|l,s)&&(o=!0)})),o}return Jn(Ie(e),Ie(t),n,void 0,l,s)}if(0!=(1&r))return!!ho(e)||!!(wo(t)&&Eo(e)&&Xs.shouldSkipArgsKwargsCompatibilityCheck(e)&&e.details.parameters.length<=2)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(ho(e))return!0;if(ho(t)){if(i){const n=ca(t)?io.create():t;Ca(e,n,i,s)}if(0==(16&r))return!0}if(ao(t))return i&&Ca(e,Ys.create(),i,s),!0;if(fo(t)&&Ks.isSpecialForm(t)&&(t=g||y||io.create()),fo(e))if(fo(t)){if(Yn(e,t,void 0,i,l,s))return!0}else{const n=i?i.clone():void 0;if(Qn(e,t,void 0,n,l,s))return i&&n&&i.copyFromClone(n),!0}const c=Ie(t);if(fo(c))return Yn(e,c,n,i,l,s);if(fo(e))return Qn(e,t,n,i,l,s);if(lo(e)&&lo(t))return!0;if(co(e)){if(co(t))return!0;if(_o(t)&&Zs.isBuiltIn(t,"NoneType"))return!0}if(vo(t)&&Zs.isBuiltIn(t,"type")){const o=t.typeArguments;if(o&&o.length>=1){if(ho(o[0]))return!(!vo(e)||!Zs.isBuiltIn(t,"type"))||Ks.isInstantiable(e);if(vo(o[0])||bo(o[0]))return!!Jn(e,Na(o[0]),null==n?void 0:n.createAddendum(),i,r,s)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}}if(_o(e)){const o=Ie(t);if(_o(o))return Zs.isProtocolClass(e)&&Zs.isProtocolClass(o)&&_o(t)&&!t.includeSubclasses?(n&&n.addMessage(ml.DiagnosticAddendum.protocolSourceIsNotConcrete().format({sourceType:ai(Fa(t)),destType:ai(e)})),!1):!!zn(e,o,n,i,r,s,!1)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(vo(e)){if(Zs.isBuiltIn(e,"Type")){const o=e.typeArguments;if(o&&o.length>=1&&Ks.isInstance(o[0])&&Ks.isInstantiable(t))return Jn(o[0],Fa(t),n,i,r,s)}else if(Zs.isBuiltIn(e,"type")){if(Ks.isInstantiable(t))return!(yo(t)&&void 0!==t.literalValue)}else if(Zs.isBuiltIn(e,["TypeGuard","StrictTypeGuard"])&&0!=(64&l)&&vo(t)&&Zs.isBuiltIn(t,"bool"))return!0;const o=Ie(t);if(yo(o)&&Ks.isInstance(o)){if(void 0!==e.literalValue&&(void 0===o.literalValue||!Zs.isLiteralValueSame(o,e)))return n&&n.addMessage(ml.DiagnosticAddendum.literalAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1;if(Zs.isBuiltIn(e,"LiteralString")&&Zs.isBuiltIn(o,"str")){if(void 0!==o.literalValue)return!0}else if(Zs.isBuiltIn(o,"LiteralString")&&Zs.isBuiltIn(e,"str")&&void 0===e.literalValue)return!0;return!!zn(Zs.cloneAsInstantiable(e),Zs.cloneAsInstantiable(o),n,i,r,s,!0)}if(Eo(o)||ko(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(y&&vo(y))return Jn(e,y,n,i,r,s)}else if(To(o)){if(Zs.isBuiltIn(e,"ModuleType"))return!0;if(Zs.isProtocolClass(e))return jn(Zs.cloneAsInstantiable(e),o,n,i,r,s)}else if(_o(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(Zs.isProtocolClass(e))return Wn(Zs.cloneAsInstantiable(e),o,n,i,r,!0,s);const a=o.details.effectiveMetaclass;if(a)return!!ho(a)||zn(Zs.cloneAsInstantiable(e),a,n,i,r,s,!1)}else{if(ho(o))return 0==(16&r);if(fo(o))return Jn(e,o,n,i,r,s)}}if(Eo(e)){let o,a=Ie(t);if(vo(a)){const e=_a(a,"__call__");if(e){const t=Bn(e);if(Eo(t)||ko(t)){const e=ri(a,t,void 0,void 0,s);e&&(a=Ba(e))}}}if(_o(a)&&void 0===a.literalValue){const e=Zn(a,s);e&&(a=e)}if(ko(a)){if(e.details.paramSpec)return n&&n.addMessage(ml.DiagnosticAddendum.paramSpecOverload()),!1;const t=a.overloads,l=t.findIndex((t=>{if(!Xs.isOverloaded(t))return!1;const o=i?i.clone():void 0;return Jn(e,t,null==n?void 0:n.createAddendum(),o,r,s)}));if(l<0)return n&&n.addMessage(ml.DiagnosticAddendum.noOverloadAssignable().format({type:ai(e)})),!1;o=t[l]}else if(Eo(a))o=a;else if(ho(a))return 0==(16&r);if(o&&function(e,t,n,i,r,s){var o,a,l,c,u,p,d,h,m;let f=!0;const g=0==(32&r);r&=-33,e=Wa(e),t=Wa(t);const y=Ho(e),_=Ho(t);!function(e,t){var n;if(void 0===t.argsIndex)return;if(e.params.lengthn>=t.argsIndex&&e.source===zo.KeywordOnly));i<0&&(i=e.params.length);const r=(null!==(n=t.firstKeywordOnlyIndex)&&void 0!==n?n:t.params.length)-t.argsIndex-1,s=e.params.slice(t.argsIndex,i-r),o=[];if(s.forEach((e=>{1===e.param.category?So(e.type)?o.push({type:e.type,isUnbounded:!1}):xo(e.type)&&e.type.tupleTypeArguments?o.push(...e.type.tupleTypeArguments):o.push({type:e.type,isUnbounded:!0}):o.push({type:e.type,isUnbounded:!1})})),1!==o.length||!Io(o[0].type)){let n;n=T&&_o(T)?Fa(Va(T,o,!0,!0,!0)):Ys.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:zo.PositionOrKeyword},...e.params.slice(t.argsIndex+s.length,e.params.length)];const i=e.params.findIndex((e=>1===e.param.category));e.argsIndex=i>=0?i:void 0;const r=e.params.findIndex((e=>2===e.param.category));e.kwargsIndex=r>=0?r:void 0;const a=e.params.findIndex((e=>e.source===zo.KeywordOnly));e.firstKeywordOnlyIndex=a>=0?a:void 0}}(_,y);const v=0==(2&r)?i:new jo(na(e)),I=0!=(2&r)?i:new jo(na(t)),S=0!=(2&r)?!!t.details.paramSpec:!!e.details.paramSpec,x=null!==(a=null!==(o=y.argsIndex)&&void 0!==o?o:y.firstKeywordOnlyIndex)&&void 0!==a?a:y.params.length,C=null!==(c=null!==(l=_.argsIndex)&&void 0!==l?l:_.firstKeywordOnlyIndex)&&void 0!==c?c:_.params.length,w=Math.min(x,C);for(let i=0;i!!e.param.name&&!e.param.hasDefault&&0===e.param.category)).length;if(void 0===y.argsIndex)x0&&y.firstPositionOrKeywordIndex{n>=y.firstKeywordOnlyIndex&&e.param.name&&0===e.param.category&&t.set(e.param.name,e)}));let i=void 0!==_.firstKeywordOnlyIndex?_.firstKeywordOnlyIndex:_.params.length;x=0&&_.params.forEach(((e,o)=>{if(o>=i&&e.param.name&&0===e.param.category){const i=t.get(e.param.name),o=null==n?void 0:n.createAddendum(),a=e.type;if(i){const l=i.type,c=v?fa(l,v):l;Jn(a,c,null==o?void 0:o.createAddendum(),void 0,r,s)||(o&&o.addMessage(ml.DiagnosticAddendum.namedParamTypeMismatch().format({name:e.param.name,sourceType:ai(c),destType:ai(a)})),f=!1),i.param.hasDefault&&!e.param.hasDefault&&(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.functionParamDefaultMissing().format({name:e.param.name})),f=!1),t.delete(e.param.name)}else void 0!==y.kwargsIndex||e.param.hasDefault?void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,a,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)):(o&&o.addMessage(ml.DiagnosticAddendum.namedParamMissingInDest().format({name:e.param.name})),f=!1)}})),t.forEach(((e,i)=>{void 0!==_.kwargsIndex&&e.param.name?(ei(e.param.type,_.params[_.kwargsIndex].type,e.index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1),t.delete(i)):(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.namedParamMissingInSource().format({name:i})),f=!1)})),void 0!==_.kwargsIndex&&void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,_.params[_.kwargsIndex].type,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)),Xs.shouldSkipArgsKwargsCompatibilityCheck(e)||void 0!==_.kwargsIndex||void 0===y.kwargsIndex||(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.kwargsParamMissing().format({paramName:y.params[y.kwargsIndex].param.name})),f=!1)}if(S&&(null===(h=t.details.paramSpec)||void 0===h?void 0:h.nameWithScope)===(null===(m=e.details.paramSpec)||void 0===m?void 0:m.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)}if(i&&!i.isLocked()){const n=0==(2&r)?I:v;if(n.getTypeVars().forEach((e=>{Jn(e.typeVar,n.getTypeVarType(e.typeVar),void 0,i,void 0,s)})),i.getTypeVars().forEach((e=>{if(e.narrowBound){const t=fa(e.narrowBound,i);t!==e.narrowBound&&i.setTypeVarType(e.typeVar,t,e.wideBound,e.retainLiteral)}})),S){const n=0==(2&r)?e:t,s=0==(2&r)?t:e;if(n.details.paramSpec){const e=n.details.parameters.filter((e=>!(!e.name||0===e.category&&wo(e.type)))).length;let t=0;const r=[];s.details.parameters.forEach(((n,i)=>{t!Xs.isOverloaded(e)||(i&&i.addSolveForScope(na(e)),Jn(e,t,null==o?void 0:o.createAddendum(),i||new jo(na(e)),r,s))))||(o&&o.addMessage(ml.DiagnosticAddendum.overloadNotAssignable().format({name:e.overloads[0].details.name})),!1)}return!(!vo(e)||!Zs.isBuiltIn(e,"object")||0!=(1&r))||(lo(t)&&vo(e)&&Zs.isProtocolClass(e)&&f&&_o(f)?Wn(Zs.cloneAsInstantiable(e),f,n,i,r,!1,s):lo(e)?(n&&n.addMessage(ml.DiagnosticAddendum.assignToNone()),!1):(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1))}function Yn(e,t,n,i,r,s){if(Ao(t,e,void 0,void 0,s))return!0;if(fo(e)){if(0!=(4&r)){const n=e.subtypes.filter((e=>!ho(e)));if(1===n.length&&bo(n[0]))return Jn(n[0],t,void 0,i,r,s),!0}const o=[];let a=[...t.subtypes],l=!1;if(e.subtypes.forEach((e=>{if($a(e))o.push(e);else{const t=a.findIndex((t=>Ao(t,e,void 0,void 0,s)));t>=0?a.splice(t,1):l=!0}})),l||[...a].forEach((e=>{const t=o.findIndex((t=>yo(e)&&yo(t)&&Ks.isInstance(e)===Ks.isInstance(t)&&Zs.isSameGenericClass(e,t)));t>=0&&(Jn(o[t],e,null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),o.splice(t,1),a=a.filter((t=>t!==e)))})),l||0===o.length&&0===a.length||1===o.length&&bo(o[0])&&Jn(o[0],Oo(a),null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),!l)return!0}let o=!1;return Jo(t,(t=>{Jn(e,t,void 0,i,r,s)||Jn(e,Ie(t),null==n?void 0:n.createAddendum(),i,r,s)||(o=!0)})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}function Qn(e,t,n,i,r,s){if(1&r){let o=!1;return Jo(e,((a,l)=>{if(!o&&!Jn(a,t,null==n?void 0:n.createAddendum(),i,r,s)){let t=!1;ho(a)||Jo(e,((e,n)=>{l===n||t||Jn(e,a,void 0,void 0,0,s)&&(t=!0)})),t||(o=!0)}})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}const o=n?new il:void 0;let a=!1;if(lo(t)&&Go(e))a=!0;else{let n,l;if(vo(t)&&ra(t)&&so.containsType(e,t,s))return!0;Jo(e,(e=>{const c=null==i?void 0:i.clone();if(Jn(e,t,null==o?void 0:o.createAddendum(),c,r,s)&&(a=!0,c)){const e=c.getScore();(void 0===l||l<=e)&&(l=e,n=c)}})),i&&n&&i.copyFromClone(n)}return a||bo(t)&&t.details.constraints.length>0&&(a=Jn(e,Ie(t),null==o?void 0:o.createAddendum(),i,r,s)),!!a||(n&&o&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),n.addAddendum(o)),!1)}function Zn(e,t=0){const n=va(e,"__init__",12);if(n){const i=Bn(n),r=Zs.cloneAsInstance(e),s=e=>{let n=ri(r,e,void 0,void 0,t);return n&&(n=Xs.clone(n),n.details.declaredReturnType=r,n.specializedTypes&&(n.specializedTypes.returnType=r)),n};if(Eo(i))return s(i);if(ko(i)){const e=[];if(i.overloads.forEach((t=>{const n=s(t);n&&e.push(n)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const i=va(e,"__new__",12);if(i){const t=Bn(i),n=t=>ri(e,t,void 0,void 0,void 0,!0);if(Eo(t))return n(t);if(ko(t)){const e=[];if(t.overloads.forEach((t=>{const i=n(t);i&&e.push(i)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const r=Xs.createInstance("__new__","","",65);return r.details.declaredReturnType=Zs.cloneAsInstance(e),Xs.addDefaultParameters(r),r}function Xn(e){if(!vo(e)||!Zs.isProtocolClass(e))return;for(const t of e.details.mro)if(yo(t)&&Zs.isProtocolClass(t))for(const e of t.details.fields)if("__call__"!==e[0]&&!e[1].isIgnoredForProtocolMatch()){let t=!1;if(v&&yo(v)&&v.details.fields.has(e[0])&&(t=!0),!t)return}const t=_a(e,"__call__");if(!t)return;const n=Bn(t);if(Eo(n)||ko(n)){const t=ri(e,n);if(t)return Ba(t)}}function ei(e,t,n,i,r,s,o,a){if(bo(e)&&e.details.isSynthesized&&e.details.boundType&&vo(e.details.boundType)&&Zs.isProtocolClass(e.details.boundType))return!0;if(Io(e)&&!Co(t))return!1;let l=t,c=e,u=!1;if(0==(2&o))c=fa(e,r),$a(c)&&(u=!Jn(l,c,void 0,r,642|o,a),c=fa(e,r));else if(l=fa(t,s),$a(l)&&$a(l)&&(u=!Jn(l,c,void 0,s,-3&o|512,a),l=fa(t,s)),u)return i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),!1;return bo(c)&&c.details.isSynthesizedSelf||bo(l)&&l.details.isSynthesizedSelf&&l.details.boundType&&(l=fa(l.details.boundType,new jo(na(l)),!0)),!(!Jn(l,c,null==i?void 0:i.createAddendum(),0==(2&o)?s:r,o,a)&&!Ao(e,t)&&(i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),1))}function ti(e,t){if(t.details.typeParameters.length>0&&t.typeArguments&&t.typeArguments.length<=t.details.typeParameters.length){const n=new jo(na(t));Xe(Zs.cloneForSpecialization(t,void 0,!1),e,n,[]);let i=!1;const r=t.typeArguments.map(((e,r)=>{const s=t.details.typeParameters[r],o=n.getTypeVarType(s);return o&&(uo(o)||ho(e))?(i=!0,o):e}));if(i)return Zs.cloneForSpecialization(t,r,!0)}}function ni(e,t){const n=new il,i=Ko(t,(t=>{const i=Ko(e,(i=>{if(ho(e))return e;if(Jn(i,t,n)){if(_o(i)&&_o(t)){const e=ti(i,t);e&&(t=e)}else if(vo(i)&&vo(t)){const e=ti(Zs.cloneAsInstantiable(i),Zs.cloneAsInstantiable(t));e&&(t=Zs.cloneAsInstance(e))}else{if(!bo(i)&&bo(t))return i;if(ho(t))return i}return t}}));return ao(i)?t:i}));return ho(t)?e:i}function ii(e){const t=new Map;e.details.mro.forEach((e=>{_o(e)&&e.details.fields.forEach(((n,i)=>{if(n.isClassMember()){let r;const s=Vo(n);r=!(!s||3!==s.type)&&!!(8&en(s.node,!0)),t.has(i)||t.set(i,{symbol:n,symbolName:i,isAbstract:r,classType:e})}}))}));const n=[];return t.forEach((e=>{e.isAbstract&&n.push(e)})),n}function ri(e,t,n,i,r=0,s=!1,o){if(Eo(t)){if(!e)return Xs.clone(t,!0);if(Xs.isInstanceMethod(t)){const s=vo(e)?e:Zs.cloneAsInstance(xa(e));return si(e,t,n||Zs.cloneAsInstantiable(s),i,r,o||s,vo(e))}if(Xs.isClassMethod(t)||s&&Xs.isConstructorMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e),a=o?_o(e)?o:Na(o):s;return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,a,!0)}if(Xs.isStaticMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e);return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,void 0,!1)}}else if(ko(t)){const a=eo.create([]);return t.overloads.forEach((t=>{if(Xs.isOverloaded(t)){const i=ri(e,t,n,void 0,r,s,o);i&&eo.addOverload(a,i)}})),1===a.overloads.length?a.overloads[0]:0===a.overloads.length?void(i&&t.overloads.forEach((t=>{ri(e,t,n,i,r,s,o)}))):a}return t}function si(e,t,n,i,r,s,o=!0){const a=new jo(na(n));if(s&&t.details.parameters.length>0){const n=t.details.parameters[0],o=Xs.getEffectiveParameterType(t,0),l=Qo(s);a.addSolveForScope(na(t));const c=new il;if(bo(o)&&o.details.boundType&&vo(o.details.boundType)&&Zs.isProtocolClass(o.details.boundType))a.isLocked()||a.setTypeVarType(o,Ks.isInstantiable(o)?Fa(l):l);else if(!Jn(o,l,c,a,void 0,r)&&n.name&&!n.isNameSynthesized&&n.hasDeclaredType){if(!i)return;{const r=t.details.name||"(unnamed)";_e(Vt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.bindTypeMismatch().format({type:ai(e),methodName:r,paramName:n.name})+c.getString(),i)}}}Un(t);const l=fa(t,a);return Xs.clone(l,o,e,na(e))}function oi(e){return Fl(e,t.printTypeFlags,Un)}function ai(e,n=!1){let i=t.printTypeFlags;return n&&(i|=32),Pl(e,i,Un)}const li={runWithCancellationToken:function(e,t){try{return m=e,t()}finally{m=void 0}},getType:j,getTypeOfExpression:$,getTypeOfAnnotation:K,getTypeOfClass:$t,getTypeOfFunction:Gt,getTypeForExpressionExpectingType:Sn,getExpectedType:function(e){hn(e);let t=e;for(;void 0!==t;){const e=l.get(t.id);if(e)return{type:e,node:t};t=t.parent}},evaluateTypeForSubnode:gn,evaluateTypesForStatement:fn,evaluateTypesForMatchNode:function(e){if(F(e,0))return;const t=$(e.subjectExpression);let n=t.type;for(const t of e.cases)t.guardExpression||(n=fu(li,n,t.pattern,!1));N(e,n,0,!!t.isIncomplete)},evaluateTypesForCaseNode:un,evaluateTypeOfParameter:mn,canBeTruthy:Q,canBeFalsy:Y,removeTruthinessFromType:Z,removeFalsinessFromType:X,verifyRaiseExceptionType:function(e){const t=xn(e,"BaseException");if(e.typeExpression){const n=$(e.typeExpression).type;if(n&&t&&_o(t)){const i=new il;Jo(n,(n=>{const r=Ie(n);if(!ho(r))if(_o(r)&&void 0===r.literalValue)if(Da(r,t,!1)){let t;En(e.typeExpression,(()=>{t=Ye(e.typeExpression,[],r,!1,void 0)})),t&&t.argumentErrors&&i.addMessage(ml.Diagnostic.exceptionTypeNotInstantiable().format({type:ai(n,!1)}))}else i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}));else vo(r)&&Da(Zs.cloneAsInstantiable(r),t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}))})),i.isEmpty()||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedExceptionClass()+i.getString(),e.typeExpression)}}},verifyDeleteExpression:Ce,isAfterNodeReachable:de,isNodeReachable:pe,isAsymmetricDescriptorAssignment:function(e){return a.has(e.id)},suppressDiagnostics:En,getDeclarationsForNameNode:function(e){var t;if(zt(e))return;const n=[];if(e.parent&&23===e.parent.nodeType&&e.parent.alias&&e===e.parent.name){const t=zs(e);if(t){const i=t.lookUpSymbolRecursive(e.parent.alias.value);if(i){const t=i.symbol.getDeclarations().filter((t=>6===t.type&&t.node===e.parent));n.push(...ls(t))}}}else if(e.parent&&35===e.parent.nodeType&&e===e.parent.memberName){let t=j(e.parent.leftExpression);if(t){t=Ie(t);const i=e.parent.memberName.value;Jo(t,(e=>{let t;if(_o(e=Ie(e))){let n=va(e,i,16);if(n||(n=va(e,i)),!n){const t=e.details.effectiveMetaclass;t&&_o(t)&&(n=va(t,i))}n&&(t=n.symbol)}else if(vo(e)){let n=_a(e,i,16);n||(n=_a(e,i)),n&&(t=n.symbol)}else To(e)&&(t=Qs.getField(e,i));if(t){const e=t.getTypedDeclarations();e.length>0?n.push(...e):n.push(...t.getDeclarations())}}))}}else if(e.parent&&37===e.parent.nodeType){const t=e.parent.nameParts.findIndex((t=>t===e)),i=Rt(e.parent);t>=0&&i&&!i.isNativeLib&&t{const t=Dn(e,r);t&&n.push(t)}));else if(_o(e)){const s=null===(t=ee(i.parent.leftExpression,Zs.cloneAsInstance(e),"__init__",{method:"get"},void 0,4))||void 0===t?void 0:t.type;if(s&&Eo(s)){const t=Dn(s,r);if(t)n.push(t);else if(Zs.isDataClass(e)){const t=va(e,r);t&&n.push(...t.symbol.getDeclarations())}}}}}else{const t=Vt(e),i=function(e,t){let n,i=e,r=!1;for(;i;){if(41===i.nodeType&&(n===i.typeAnnotation||n===i.typeAnnotationComment))return r||!t;if(28===i.nodeType&&n===i.returnTypeAnnotation)return r||!t;if(28===i.nodeType&&n===i.functionAnnotationComment)return!0;if(54===i.nodeType&&n===i.typeAnnotation)return r||!t;if(3===i.nodeType&&n===i.typeAnnotationComment)return!0;if(48===i.nodeType&&n===i.typeAnnotation&&(r=!0),30===i.nodeType||28===i.nodeType||10===i.nodeType||36===i.nodeType)return!1;n=i,i=i.parent}return!1}(e,!H(Vt(e))),r=i||t.isStubFile,s=wn(e,e.value,!r,i);s&&n.push(...s.symbol.getDeclarations())}return n},getTypeForDeclaration:An,resolveAliasDeclaration:Rn,resolveAliasDeclarationWithInfo:Fn,getTypeFromIterable:le,getTypeFromIterator:ae,getGetterTypeFromProperty:Hn,getTypeForArgument:bn,markNamesAccessed:function(e,t){const n=Vt(e),i=zs(e);i&&t.forEach((t=>{const r=i.lookUpSymbolRecursive(t);r&&we(n,r.symbol,e)}))},getScopeIdForNode:Pe,makeTopLevelTypeVarsConcrete:Ie,mapSubtypesExpandTypeVars:Se,populateTypeVarMapBasedOnExpectedType:Xe,lookUpSymbolRecursive:wn,getDeclaredTypeOfSymbol:On,getEffectiveTypeOfSymbol:Nn,getEffectiveTypeOfSymbolForUsage:Mn,getInferredTypeOfDeclaration:Pn,getDeclaredTypeForExpression:se,getFunctionDeclaredReturnType:Vn,getFunctionInferredReturnType:qn,getBestOverloadForArguments:Ge,getBuiltInType:xn,getTypeOfMember:Bn,getTypeFromObjectMember:ee,getBoundMethod:ne,getTypeFromMagicMethodReturn:gt,bindFunctionToClassOrObject:ri,getCallSignatureInfo:function(e,t,n){const i=e.leftExpression,r=j(i);if(void 0===r)return;const s=[];let o=0;function a(){s.push({argumentCategory:o,type:Ys.create(),active:!0})}e.arguments.forEach(((e,i)=>{let r=!1;i===t&&(n?r=!0:a()),o=e.argumentCategory,s.push({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,name:e.name,active:r})})),e.arguments.length{n=rt(i,s,t,new jo(na(t)),!0)})),l.push({type:t,activeParam:null==n?void 0:n.activeParam})}function u(e){Eo(e)?c(e):e.overloads.forEach((e=>{Xs.isOverloaded(e)&&c(e)}))}return Jo(r,(e=>{switch(e.category){case 5:case 6:u(e);break;case 7:if(Ks.isInstantiable(e)){let t;t=ne(e,"__init__");const n=!!t&&Eo(t)&&"builtins.object.__init__"===t.details.fullName,i=!!t&&Eo(t)&&Xs.isSkipConstructorCheck(t);if(!t||n||i){const n=ne(e,"__new__",!0);n&&(Eo(n)&&"builtins.object.__new__"===n.details.fullName||(t=n))}t&&u(t)}else{const t=ne(e,"__call__");t&&u(t)}}})),0!==l.length?{callNode:e,signatures:l}:void 0},getTypeAnnotationForParameter:ie,getAbstractMethods:ii,narrowConstrainedTypeVar:function(e,t){const n=Lt(e);if(n)return ci.narrowConstrainedTypeVar(n,t)},canAssignType:Jn,canOverrideMethod:function(e,t,n,i=!0){if(ko(e)&&(e=e.overloads[e.overloads.length-1],Xs.isOverloaded(e)))return!0;if(!Eo(e))return n.addMessage(ml.DiagnosticAddendum.overrideType().format({type:ai(e)})),!1;const r=Ho(e),s=Ho(t);let o=!0,a=!1;if(s.params.lengthr.params.length)for(let e=r.params.length;e=r.positionOnlyParamCount&&!Yt(l.name||"")&&0===l.category&&l.name!==c.name)0===c.category&&i&&(s.params[a].source===zo.PositionOnly?n.addMessage(ml.DiagnosticAddendum.overrideParamNamePositionOnly().format({index:a+1,baseName:l.name||"*"})):n.addMessage(ml.DiagnosticAddendum.overrideParamName().format({index:a+1,baseName:l.name||"*",overrideName:c.name||"*"})),o=!1);else{const i=Xs.getEffectiveParameterType(e,a),r=Xs.getEffectiveParameterType(t,a),s=bo(i)&&i.details.isSynthesized,u=bo(r)&&r.details.isSynthesized;s||u||l.category===c.category&&Jn(r,i,n.createAddendum(),new jo(na(t)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideParamType().format({index:a+1,baseType:ai(i),overrideType:ai(r)})),o=!1)}}const c=Un(e),u=Un(t);return Jn(c,u,n.createAddendum(),new jo(na(e)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideReturnType().format({baseType:ai(c),overrideType:ai(u)})),o=!1),o},canAssignProtocolClassToSelf:function e(t,n,i=0){w(Zs.isProtocolClass(t)),w(Zs.isProtocolClass(n)),w(Zs.isSameGenericClass(t,n)),w(t.details.typeParameters.length>0);const r=new il,s=new jo;let o=!0;return t.details.fields.forEach(((e,a)=>{if(o&&e.isClassMember()&&!e.isIgnoredForProtocolMatch()){const l=va(n,a);w(void 0!==l);let c=On(e);if(c){const a=Bn(l);if(c=ha(c,t),vo(c)&&Zs.isPropertyClass(c)&&vo(a)&&Zs.isPropertyClass(a))Gu(li,Zs.cloneAsInstantiable(c),Zs.cloneAsInstantiable(a),n,r,s,i)||(o=!1);else{const t=e.getDeclarations()[0],n=1!==(null==t?void 0:t.type)||t.isFinal?0:1;Jn(c,a,r,s,n,i)||(o=!1)}}}})),t.details.baseClasses.forEach((r=>{_o(r)&&Zs.isProtocolClass(r)&&!Zs.isBuiltIn(r,"object")&&!Zs.isBuiltIn(r,"Protocol")&&r.details.typeParameters.length>0&&(e(ka(t,r),ka(n,r),i)||(o=!1))})),o},assignTypeToExpression:xe,getBuiltInObject:Cn,getTypingType:ce,inferReturnTypeIfNecessary:Ln,addError:fe,addWarning:function(e,t,n){return ge("warning",e,t,n)},addInformation:me,addUnusedCode:function(e,t){ye(e)||Vt(e).diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unreachableCode(),t)},addDeprecated:function(e,t){ye(t)||Vt(t).diagnosticSink.addDeprecatedWithTextRange(e,t)},addDiagnostic:_e,addDiagnosticForTextRange:function(e,t,n,i,r){if("none"===t)return;const s=e.diagnosticSink.addDiagnosticWithTextRange(t,i,r);return n&&s.setRule(n),s},printType:ai,printFunctionParts:function(e){return Nl(e,t.printTypeFlags,Un)},getTypeCacheSize:function(){return s.size},useSpeculativeMode:kn,setTypeForNode:O,checkForCancellation:P},ci=function(e,t){const n=new Map,i=new Map,r=new Map;let s=0,o=1;function a(e,t){const i=new Set;if(n.has(e.id))return!0;n.set(e.id,!0);try{return function e(t,n,r=0){if(r>64)return!0;r++;let s=t;for(;;){if(i.has(s.id))return!1;if(i.add(s.id),s.flags&ft.Unreachable)return!1;if(s===n)return!0;if(s.flags&(ft.VariableAnnotation|ft.Assignment|ft.TrueCondition|ft.FalseCondition|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch))s=s.antecedent;else{if(!(s.flags&ft.Call)){if(s.flags&(ft.BranchLabel|ft.LoopLabel)){if(s.flags&ft.PostContextManager){const e=s;if(!e.expressions.some((t=>u(t,e.isAsync))))return!1}const t=s;for(const i of t.antecedents)if(e(i,n,r))return!0;return!1}if(s.flags&ft.Start)return!n;if(s.flags&ft.PreFinallyGate)return!s.isGateClosed;if(s.flags&ft.PostFinally){const t=s,i=t.preFinallyGate.isGateClosed;try{return t.preFinallyGate.isGateClosed=!0,e(t.antecedent,n,r)}finally{t.preFinallyGate.isGateClosed=i}}return E("Unexpected flow node flags"),!1}{const e=s;if(c(e.node))return!1;s=e.antecedent}}}}(e,t)}finally{n.delete(e.id)}}function l(e,t){let n=!0;return Jo(e,(e=>{bo(e)?Ao(e,t)||(n=!1):e.condition&&e.condition.some((e=>e.isConstrainedTypeVar&&e.typeVarName===t.nameWithScope))||(n=!1)})),n}function c(t){if(i.has(t.id))return i.get(t.id);i.set(t.id,!1);let n=0,r=0;const s=h(t.leftExpression);s&&Jo(s,(i=>{var s;let o;if(r++,_o(i)){if(i.details.effectiveMetaclass&&yo(i.details.effectiveMetaclass)&&!Zs.isBuiltIn(i.details.effectiveMetaclass,"type")&&va(i.details.effectiveMetaclass,"__call__",12))return;let t=va(i,"__init__",12);if(void 0===t&&(t=va(i,"__new__",12)),t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}else if(vo(i)){const t=va(i,"__call__",8);if(t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}if(Eo(i))o=i;else if(ko(i)){const e=i;o=e.overloads[e.overloads.length-1]}if(o){const i=o.details.declaredReturnType;if(Xs.isAsync(o))i&&vo(i)&&Zs.isBuiltIn(i,"Coroutine")&&i.typeArguments&&i.typeArguments.length>=3&&ao(i.typeArguments[2])&&6===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&n++;else if(i)ao(i)&&n++;else if(o.details.declaration&&!(o.details.declaration.yieldStatements||Xs.isAbstractMethod(o)||Xs.isStubDefinition(o)||Xs.isPyTypedDefinition(o))){const t=o.details.declaration.node.suite.statements;let i=!1;for(const e of t){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}}i||e.isAfterNodeReachable(o.details.declaration.node)||n++}}}));const o=r>0&&n===r;return i.set(t.id,o),o}function u(t,n){var i;if(r.has(t.id))return r.get(t.id);r.set(t.id,!1);let s,o=!1;if(9===t.nodeType){const e=h(t.leftExpression);if(e)if(_o(e))s=Fa(e);else if(Eo(e))s=e.details.declaredReturnType;else if(ko(e)){const t=e.overloads.find((e=>Xs.isOverloaded(e)));t&&(s=t.details.declaredReturnType)}}else 38===t.nodeType&&(s=e.getDeclaredTypeForExpression(t));if(s&&vo(s)){const r=n?"__aexit__":"__exit__",a=null===(i=e.getTypeFromObjectMember(t,s,r))||void 0===i?void 0:i.type;if(a&&Eo(a)&&a.details.declaredReturnType){const e=a.details.declaredReturnType;o=vo(e)&&Zs.isBuiltIn(e,"bool")}}return r.set(t.id,o),o}function p(t,n){const i=Rt(t.node.module);w(void 0!==i&&i.isImportFound),w(t.node.isWildcardImport);const r=e.lookUpSymbolRecursive(t.node,n,!1);w(void 0!==r);const s=r.symbol.getDeclarations().find((e=>e.node===t.node));return s&&e.getInferredTypeOfDeclaration(r.symbol,s)||Ys.create()}function d(t,n){var i;const r=e.getDeclaredTypeOfSymbol(t);if(r)return r;const s=t.getDeclarations().filter((e=>!e.isInExceptSuite));if(0===s.length)return;const o=s[s.length-1];return 2===o.type?null===(i=e.evaluateTypeForSubnode(o.node.name,(()=>{e.evaluateTypeOfParameter(o.node)})))||void 0===i?void 0:i.type:6===o.type||n?e.getInferredTypeOfDeclaration(t,o):void 0}function h(t){if(38===t.nodeType){const n=e.lookUpSymbolRecursive(t,t.value,!1);if(!n)return;return d(n.symbol,n.isBeyondExecutionScope)}if(35===t.nodeType){const n=t.memberName.value;let i=h(t.leftExpression);if(!i)return;i=e.makeTopLevelTypeVarsConcrete(i);const r=Ko(i,(e=>{var t;let i;if(To(e))i=Qs.getField(e,n);else if(yo(e)){const t=va(e,n);i=t?t.symbol:void 0}return i&&null!==(t=d(i,!1))&&void 0!==t?t:Ys.create()}));if(!ao(r))return r}if(9===t.nodeType){const e=h(t.leftExpression);if(!e)return;if(e&&_o(e))return Fa(e);if(Eo(e))return e.details.declaredReturnType}}return{createCodeFlowAnalyzer:function(){const n=new Map;return{getTypeFromCodeFlow:function(i,r,l,d,h){const m=void 0!==r?At(r):void 0;let f;const g=void 0!==m&&void 0!==l?m+`.${l.toString()}`:".";let y=n.get(g);function _(e,n,i){if(i){const t=y.get(e.id);if(void 0===t)o++;else if(n&&t.isIncompleteType){const e=t;e.type&&!Ao(e.type,n)&&o++}}else o++;const r=i?{isIncompleteType:!0,type:n,incompleteSubtypes:[],generationCount:o}:n;return y.set(e.id,r),t.trackEntry(y,e.id),{type:n,isIncomplete:i,generationCount:o,incompleteSubtypes:i?[]:void 0}}function v(e,t,n,i,r){const s=y.get(e.id);void 0!==s&&Nu(s)||E("setIncompleteSubtype can be called only on a valid incomplete cache entry");const a=s.incompleteSubtypes;if(t0){const e=[];t.incompleteSubtypes.forEach((t=>{t.type&&e.push(t.type)})),n=e.length>0?Oo(e):void 0}return{type:n,isIncomplete:!0,incompleteSubtypes:t.incompleteSubtypes,generationCount:t.generationCount}}function S(e){y.delete(e.id)}function x(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)}))}return y||(y=new Map,n.set(g,y)),i?function t(n,i,r,l,d){var h;let g=n;const y=s;for(s++,e.checkForCancellation();;){const C=I(g);if(C){if(!C.isIncomplete)return C;if(C.generationCount===o)return{type:(null==C?void 0:C.type)?Po(C.type):void 0,isIncomplete:!0}}if(g.flags&ft.Unreachable)return _(g,void 0,!1);if(g.flags&ft.VariableAnnotation)g=g.antecedent;else if(g.flags&ft.Call){const e=g;if(c(e.node))return _(g,void 0,!1);g=e.antecedent}else if(g.flags&ft.Assignment){const t=g;if(i){if(r===t.targetSymbolId&&Lr(i,t.node)){if(g.flags&ft.Unbind)return _(g,Js.create(),!1);if(C&&void 0===C.type)return{type:void 0,isIncomplete:!0};_(g,i?void 0:l,!0);let n=x(t);return n&&(ea(n.type)||35===i.nodeType&&e.isAsymmetricDescriptorAssignment(t.node))&&(n=void 0),_(g,null==n?void 0:n.type,!!(null==n?void 0:n.isIncomplete))}if(Ur(i,t.node))return{type:l,isIncomplete:d}}g=t.antecedent}else{if(g.flags&ft.BranchLabel){const e=g;if(g.flags&ft.PostContextManager){const e=g;if(e.expressions.some((t=>u(t,e.isAsync)))===e.blockIfSwallowsExceptions)return _(g,void 0,!1)}if(i&&e.preBranchAntecedent&&e.affectedExpressions&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t)))&&a(g,e.preBranchAntecedent))){g=e.preBranchAntecedent;continue}const n=g,o=[];let c=!1;_(g,i?void 0:l,!0),n.antecedents.forEach((e=>{const n=t(e,i,r,l,d);n.isIncomplete&&(c=!0),n.type&&o.push(n.type)}));const p=i||o.length>0?Oo(o):void 0;return s-y>16384&&(c=!1),_(g,p,c)}if(g.flags&ft.LoopLabel){const e=g;if(i&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t))))){g=e.antecedents[0];continue}let o,a=!1,c=I(g);void 0===c?c=_(g,i?void 0:l,!0):o=c.type;const u=void 0!==c.incompleteSubtypes&&c.incompleteSubtypes.some((e=>e.isPending)),p=T(g);if(u&&(null===(h=c.incompleteSubtypes)||void 0===h?void 0:h.every((e=>e.isPending))))return{type:c.type,isIncomplete:!0};if(e.antecedents.forEach(((e,n)=>{var s;c=I(g);const o=void 0!==c.incompleteSubtypes&&n=64?c.incompleteSubtypes[0].isIncomplete:void 0!==i;return s-y>16384&&(e=!1),{type:c.type,isIncomplete:e}}return a&&o&&c.type&&(Ao(o,c.type)?b(n)>2&&(a=!1):b(n,!0)),a?{type:(null==c?void 0:c.type)?Po(c.type):void 0,isIncomplete:!1}:_(g,c.type,!1)}if(g.flags&(ft.TrueCondition|ft.FalseCondition)){const n=g;if(i){_(g,i?void 0:l,!0);try{const s=ou(e,i,n.expression,!!(n.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(s){const e=t(n.antecedent,i,r,l,d);let o=e.type;return o&&(o=s(o)),_(g,o,e.isIncomplete)}S(g)}catch(e){throw S(g),e}}g=n.antecedent}else if(g.flags&(ft.TrueNeverCondition|ft.FalseNeverCondition)){const t=g;if(t.reference&&At(t.reference)!==m){const n=e.lookUpSymbolRecursive(t.reference,t.reference.value,!1);if(n&&n.symbol.getTypedDeclarations().length>0){_(g,i?void 0:l,!0);try{const n=ou(e,t.reference,t.expression,!!(t.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(n){const i=e.getTypeOfExpression(t.reference);if(ao(n(i.type)||i.type))return _(g,void 0,!!i.isIncomplete)}S(g)}catch(e){throw S(g),e}}}g=t.antecedent}else if(g.flags&ft.ExhaustedMatch){const t=g,n=e.evaluateTypeForSubnode(t.node,(()=>{e.evaluateTypesForMatchNode(t.node)}));if(n&&ao(n.type))return _(g,void 0,!!n.isIncomplete);g=t.antecedent}else if(g.flags&ft.NarrowForPattern){const t=g;if(!i||Lr(i,t.subjectExpression)){const n=e.evaluateTypeForSubnode(t.statement,(()=>{64===t.statement.nodeType?e.evaluateTypesForCaseNode(t.statement):e.evaluateTypesForMatchNode(t.statement)}));if(n){if(i)return _(g,n.type,!!n.isIncomplete);if(ao(n.type))return _(g,void 0,!!n.isIncomplete)}}g=t.antecedent}else{if(g.flags&ft.PreFinallyGate){const e=g;if(e.isGateClosed)return{type:void 0,isIncomplete:!1};_(g,i?void 0:l,!0);try{const n=t(e.antecedent,i,r,l,d);return S(g),{type:n.type,isIncomplete:n.isIncomplete}}catch(e){throw S(g),e}}if(g.flags&ft.PostFinally){const n=g,s=n.preFinallyGate.isGateClosed;try{let o;return n.preFinallyGate.isGateClosed=!0,e.useSpeculativeMode(n.finallyNode,(()=>{o=t(n.antecedent,i,r,l,d)})),o.isIncomplete?o:_(g,o.type,!1)}finally{n.preFinallyGate.isGateClosed=s}}if(g.flags&ft.Start)return _(g,l,d);if(!(g.flags&ft.WildcardImport))return E("Unexpected flow node flags"),_(g,void 0,!1);{const e=g;if(i&&38===i.nodeType){const t=i.value;if(e.names.some((e=>e===t))){_(g,i?void 0:l,!0);try{const n=p(e,t);return _(g,n,!1)}catch(e){throw S(g),e}}}g=e.antecedent}}}}}(i,r,l,d,h):{type:d,isIncomplete:h}}}},isFlowNodeReachable:a,narrowConstrainedTypeVar:function(t,n){w(!n.details.isParamSpec),w(!n.details.isVariadic),w(!n.details.boundType),w(n.details.constraints.length>0);const i=new Set,r=[];for(const e of n.details.constraints){if(!vo(e))return;r.push(e)}const s=function t(n,s){let o=n;for(;;){if(i.has(o.id))return r;if(o.flags&(ft.Unreachable|ft.Start))return r;if(o.flags&(ft.VariableAnnotation|ft.Assignment|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch|ft.PostFinally|ft.PreFinallyGate|ft.Call))o=o.antecedent;else{if(!(o.flags&(ft.TrueCondition|ft.FalseCondition))){if(o.flags&(ft.BranchLabel|ft.LoopLabel)){const e=o,n=[];i.add(o.id);for(const i of e.antecedents){const e=t(i,s);for(const t of e)n.some((e=>Ao(e,t)))||n.push(t)}return i.delete(o.id),n}return E("Unexpected flow node flags"),r}{const n=o,r=n.expression,a=0!=(o.flags&ft.TrueCondition);if(9===r.nodeType&&38===r.leftExpression.nodeType&&"isinstance"===r.leftExpression.value&&2===r.arguments.length){const c=r.arguments[0].valueExpression;if(l(e.getTypeOfExpression(c).type,s)){i.add(o.id);const l=t(n.antecedent,s);i.delete(o.id);const c=r.arguments[1].valueExpression,u=e.getTypeOfExpression(c,void 0,168).type;if(_o(u))return l.filter((e=>Zs.isSameGenericClass(e,u)?a:!a))}}o=n.antecedent}}}}(t,n);return 1===s.length?s[0]:void 0}}}(li,c);return li}class Xu{constructor(e){this.importName=e,this.isAccessed=!1}}class ep extends Xu{constructor(e,t,n){super(e),this.alias=t,this.symbol=n}}class tp extends Xu{constructor(e,t,n){super(e),this.isWildcardImport=t,this.node=n,this.symbols=[]}addSymbol(e,t,n,i=!1){this.symbols.find((e=>e.name===t))||this.symbols.push({symbol:e,name:t,alias:n,isAccessed:i})}}class np extends _r{constructor(e,t){super(),this._accessedImportedSymbols=e,this._treatStringsAsSymbols=t}analyze(e){this.walk(e)}walk(e){zt(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 ip extends _r{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){zt(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}`;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&&!Yt(t)){this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n,i=e.isAsync?"async ":"";if(i+=`def ${t}`,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&&Eo(t.functionType)){let e=this._evaluator.getFunctionInferredReturnType(t.functionType);e=Po(e),ao(e)||po(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}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&&_o(n)&&Zs.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;38===n.nodeType&&"self"===n.value&&(Yt(e.valueExpression.memberName.value)||(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=zs(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:"",r=t.lookUpSymbolRecursive(i);if(r){const t=new ep(n,e.alias?e.alias.value:void 0,r.symbol);this._trackedImportAs.set(n,t)}}})),!1}visitImportFrom(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);if(t){const n=this._printModuleName(e.module);let i=this._trackedImportFrom.get(n);i||(i=new tp(n,e.isWildcardImport,e),this._trackedImportFrom.set(n,i)),e.imports.forEach((e=>{const n=e.alias?e.alias.value:e.name.value,r=t.lookUpSymbolRecursive(n);r&&i.addSymbol(r.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;ee.value)).join("."),t}_printParameter(e,t,n){let i="";1===e.category?i+="*":2===e.category&&(i+="**"),e.name&&(i+=e.name.value);const r=this._evaluator.getTypeAnnotationForParameter(t,n);let s="";return r&&(s=this._printExpression(r,!0)),s&&(i+=": "+s),e.defaultValue&&(i+=s?" = ...":"=..."),i}_printExpression(e,t=!1,n=!1){return new np(this._accessedImportedSymbols,n).analyze(e),xr(e,t?1:0)}_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")}}class rp{constructor(e,t,n,i,r,s){this._extension=i,this._disableChecker=s,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=ke(this._fs,e),this.addTrackedFile(e),n=this._getSourceFileInfoFromPath(e)))}}if(!n)return;n.sourceFile.isBindingRequired()&&Fn.typeCheckerTime.subtractFromTime((()=>{this._bindFile(n)}));const i=n.sourceFile.getModuleSymbolTable();if(!i)return;const r=n.sourceFile.getParseResults(),s=r.parseTree,o=Wt(r.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 qr(s.statements)}}},this._console=n||new Un,this._logTracker=null!=r?r:new Bn(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(ke(this._fs,e),e)})),this._sourceFileList.forEach((e=>{const n=ke(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);if(i)return i.isTracked=!0,i.sourceFile;const r=this._getImportNameForFile(e),s=new Ru(this._fs,e,r,t,n,this._console,this._logTracker);return i={sourceFile:s,isTracked:!0,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:t,isThirdPartyPyTypedPresent:n,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(i),s}setFileOpened(e,t,n,i){var r,s;let o=this._getSourceFileInfoFromPath(e);if(o)o.isOpenByClient=!0,o.diagnosticsVersion=0;else{const t=this._getImportNameForFile(e),n=new Ru(this._fs,e,t,!1,!1,this._console,this._logTracker,null!==(r=null==i?void 0:i.ipythonMode)&&void 0!==r&&r),a=null==i?void 0:i.chainedFilePath;o={sourceFile:n,isTracked:null!==(s=null==i?void 0:i.isTracked)&&void 0!==s&&s,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)}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()}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 r=this._getSourceFileInfoFromPath(e);if(r){const s=de(e);if("builtins.pyi"===s||"__builtins__.pyi"===s)return void this.markAllFilesDirty(t,n);(t||!r.isOpenByClient&&r.sourceFile.didContentsChangeOnDisk())&&(r.sourceFile.markDirty(n),this._markFileDirtyRecursive(r,i))}})),i.size>0&&this._createNewEvaluator()}getFileCount(){return this._sourceFileList.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}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=ot.CancellationToken.None){return this._runEvaluatorWithCancellationToken(t,(()=>{const t=new Pn,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(this._isUserCode(e)&&this._checkTypes(e)&&t.getDurationInMilliseconds()>n)return!0}return!1}))}indexWorkspace(e,t){return this._configOptions.indexing?this._runEvaluatorWithCancellationToken(t,(()=>{const i=new Set;for(const e of this._sourceFileList)e.sourceFile.isParseRequired()||i.add(e);let r=0;for(const s of this._sourceFileList){if(!this._isUserCode(s)||!s.sourceFile.isIndexingRequired())continue;this._bindFile(s);const o=s.sourceFile.index({indexingForAutoImportMode:!1},t);if(o){if(++r>2e3)return this._console.warn("Workspace indexing has hit its upper limit: 2000 files"),n(this._sourceFileList,i),r;e(s.sourceFile.getFilePath(),o)}this._handleMemoryHighUsage()}return n(this._sourceFileList,i),r})):0;function n(e,t){for(const n of e)n.sourceFile.isParseRequired()||t.has(n)||n.sourceFile.dropParseAndBindInfo()}}printDependencies(e,t){const n=this._sourceFileList.filter((e=>!e.isTypeshedFile)).sort(((e,t)=>e.sourceFile.getFilePath(){this._console.info("");let r=n.sourceFile.getFilePath();const s=Y(r,e);s&&(r=s),this._console.info(`${r}`),this._console.info(` Imports ${n.imports.length} file`+(1===n.imports.length?"":"s")),t&&n.imports.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),this._console.info(` Imported by ${n.importedBy.length} file`+(1===n.importedBy.length?"":"s")),t&&n.importedBy.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),0===n.importedBy.length&&i.push(n.sourceFile)})),i.length>0&&(this._console.info(""),this._console.info(`${i.length} file${1===i.length?"":"s"} not explicitly imported`),i.forEach((e=>{this._console.info(` ${e.getFilePath()}`)})))}writeTypeStub(e,t,n,i){for(const r of this._sourceFileList){ct(i);const s=Y(r.sourceFile.getFilePath(),e);if(void 0!==s){let e=me(te(n,s));e=t?te($(e),"__init__.pyi"):he(e)+".pyi";const o=$(e);try{Q(this._fs,o,n)}catch(e){throw new Error(`Could not create directory for '${o}'`)}this._bindFile(r),this._runEvaluatorWithCancellationToken(i,(()=>{new ip(e,r.sourceFile,this._evaluator).write()})),this._handleMemoryHighUsage()}}}getTypeForSymbol(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 Ru(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=function(e,t,n,i){if(!t.logCalls&&o())return Zu(e,t);function r(e,r,s){return t.logCalls?n.log(e,(e=>(e.add(null==i?void 0:i.print(s)),Fn.typeEvaluationTime.timeOperation(r))),t.minimumLoggingThreshold,!0):Fn.typeEvaluationTime.timeOperation(r)}const s=Zu(t.logCalls?r=>n.log("import lookup",(t=>(t.add(null==i?void 0:i.printFileOrModuleName(r)),e(r))),t.minimumLoggingThreshold,!0):e,t);return{runWithCancellationToken:s.runWithCancellationToken,getType:e=>r("getType",(()=>s.getType(e)),e),getTypeOfExpression:(e,t,n)=>r("getTypeOfExpression",(()=>s.getTypeOfExpression(e,t,n)),e),getTypeOfAnnotation:s.getTypeOfAnnotation,getTypeOfClass:e=>r("getTypeOfClass",(()=>s.getTypeOfClass(e)),e),getTypeOfFunction:e=>r("getTypeOfFunction",(()=>s.getTypeOfFunction(e)),e),getTypeForExpressionExpectingType:s.getTypeForExpressionExpectingType,evaluateTypeForSubnode:s.evaluateTypeForSubnode,evaluateTypesForStatement:e=>r("evaluateTypesForStatement",(()=>s.evaluateTypesForStatement(e)),e),evaluateTypesForMatchNode:s.evaluateTypesForMatchNode,evaluateTypesForCaseNode:s.evaluateTypesForCaseNode,evaluateTypeOfParameter:s.evaluateTypeOfParameter,canBeTruthy:s.canBeTruthy,canBeFalsy:s.canBeFalsy,removeTruthinessFromType:s.removeTruthinessFromType,removeFalsinessFromType:s.removeFalsinessFromType,getExpectedType:e=>r("getExpectedType",(()=>s.getExpectedType(e)),e),verifyRaiseExceptionType:e=>r("verifyRaiseExceptionType",(()=>s.verifyRaiseExceptionType(e)),e),verifyDeleteExpression:e=>r("verifyDeleteExpression",(()=>s.verifyDeleteExpression(e)),e),isAfterNodeReachable:e=>r("isAfterNodeReachable",(()=>s.isAfterNodeReachable(e)),e),isNodeReachable:(e,t)=>r("isNodeReachable",(()=>s.isNodeReachable(e,t)),e),isAsymmetricDescriptorAssignment:s.isAsymmetricDescriptorAssignment,suppressDiagnostics:(e,t)=>r("suppressDiagnostics",(()=>s.suppressDiagnostics(e,t))),getDeclarationsForNameNode:e=>r("getDeclarationsForNameNode",(()=>s.getDeclarationsForNameNode(e)),e),getTypeForDeclaration:e=>r("getTypeForDeclaration",(()=>s.getTypeForDeclaration(e)),e),resolveAliasDeclaration:(e,t,n)=>r("resolveAliasDeclaration",(()=>s.resolveAliasDeclaration(e,t,n)),e),resolveAliasDeclarationWithInfo:(e,t,n)=>r("resolveAliasDeclarationWithInfo",(()=>s.resolveAliasDeclarationWithInfo(e,t,n)),e),getTypeFromIterable:(e,t,n)=>r("getTypeFromIterable",(()=>s.getTypeFromIterable(e,t,n)),e),getTypeFromIterator:(e,t,n)=>r("getTypeFromIterator",(()=>s.getTypeFromIterator(e,t,n)),e),getGetterTypeFromProperty:(e,t)=>r("getGetterTypeFromProperty",(()=>s.getGetterTypeFromProperty(e,t)),e),getTypeForArgument:s.getTypeForArgument,markNamesAccessed:(e,t)=>r("markNamesAccessed",(()=>s.markNamesAccessed(e,t)),e),getScopeIdForNode:s.getScopeIdForNode,makeTopLevelTypeVarsConcrete:e=>r("makeTopLevelTypeVarsConcrete",(()=>s.makeTopLevelTypeVarsConcrete(e)),e),mapSubtypesExpandTypeVars:s.mapSubtypesExpandTypeVars,populateTypeVarMapBasedOnExpectedType:s.populateTypeVarMapBasedOnExpectedType,lookUpSymbolRecursive:s.lookUpSymbolRecursive,getDeclaredTypeOfSymbol:s.getDeclaredTypeOfSymbol,getEffectiveTypeOfSymbol:e=>r("getEffectiveTypeOfSymbol",(()=>s.getEffectiveTypeOfSymbol(e)),e),getEffectiveTypeOfSymbolForUsage:(e,t,n)=>r("getEffectiveTypeOfSymbolForUsage",(()=>s.getEffectiveTypeOfSymbolForUsage(e,t,n)),e),getInferredTypeOfDeclaration:s.getInferredTypeOfDeclaration,getDeclaredTypeForExpression:s.getDeclaredTypeForExpression,getFunctionDeclaredReturnType:e=>r("getFunctionDeclaredReturnType",(()=>s.getFunctionDeclaredReturnType(e)),e),getFunctionInferredReturnType:(e,t)=>r("getFunctionInferredReturnType",(()=>s.getFunctionInferredReturnType(e,t)),e),getBestOverloadForArguments:(e,t,n)=>s.getBestOverloadForArguments(e,t,n),getBuiltInType:(e,t)=>r("getBuiltInType",(()=>s.getBuiltInType(e,t)),e),getTypeOfMember:e=>r("getTypeOfMember",(()=>s.getTypeOfMember(e)),e.symbol),getTypeFromObjectMember:s.getTypeFromObjectMember,getBoundMethod:s.getBoundMethod,getTypeFromMagicMethodReturn:s.getTypeFromMagicMethodReturn,bindFunctionToClassOrObject:s.bindFunctionToClassOrObject,getCallSignatureInfo:(e,t,n)=>r("getCallSignatureInfo",(()=>s.getCallSignatureInfo(e,t,n)),e),getTypeAnnotationForParameter:(e,t)=>r("getTypeAnnotationForParameter",(()=>s.getTypeAnnotationForParameter(e,t)),e),getAbstractMethods:e=>r("getAbstractMethods",(()=>s.getAbstractMethods(e)),e),narrowConstrainedTypeVar:s.narrowConstrainedTypeVar,canAssignType:(e,t,n,i,o)=>r("canAssignType",(()=>s.canAssignType(e,t,n,i,o)),e),canOverrideMethod:(e,t,n,i)=>r("canOverrideMethod",(()=>s.canOverrideMethod(e,t,n,i)),t),canAssignProtocolClassToSelf:(e,t)=>r("canAssignProtocolClassToSelf",(()=>s.canAssignProtocolClassToSelf(e,t))),assignTypeToExpression:s.assignTypeToExpression,getBuiltInObject:s.getBuiltInObject,getTypingType:s.getTypingType,inferReturnTypeIfNecessary:s.inferReturnTypeIfNecessary,addError:(e,t)=>r("addError",(()=>s.addError(e,t)),t),addWarning:(e,t)=>r("addWarning",(()=>s.addWarning(e,t)),t),addInformation:(e,t)=>r("addInformation",(()=>s.addInformation(e,t)),t),addUnusedCode:(e,t)=>r("addUnusedCode",(()=>s.addUnusedCode(e,t)),e),addDeprecated:(e,t)=>r("addDeprecated",(()=>s.addDeprecated(e,t)),t),addDiagnostic:(e,t,n,i)=>r("addDiagnostic",(()=>s.addDiagnostic(e,t,n,i)),i),addDiagnosticForTextRange:(e,t,n,i,o)=>r("addDiagnosticForTextRange",(()=>s.addDiagnosticForTextRange(e,t,n,i,o))),printType:(e,t)=>r("printType",(()=>s.printType(e,t)),e),printFunctionParts:e=>r("printFunctionParts",(()=>s.printFunctionParts(e)),e),getTypeCacheSize:s.getTypeCacheSize,useSpeculativeMode:s.useSpeculativeMode,setTypeForNode:s.setTypeForNode,checkForCancellation:s.checkForCancellation}}(this._lookUpImport,{printTypeFlags:rp._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?Fu(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 r=t=>{if(!t||t===e)return;if(this._bindFile(t),t.sourceFile.isFileDeleted())return;const n=t.sourceFile.getParseResults();if(!n)return;const i=Ft(n.parseTree);return w(void 0!==i),i};let s;e.builtinsImport&&e.builtinsImport!==e&&(s=null!==(i=null!==(n=r(e.chainedSourceFile))&&void 0!==n?n:r(e.ipythonDisplayImport))&&void 0!==i?i:r(e.builtinsImport)),e.sourceFile.bind(this._configOptions,this._lookUpImport,s)}_buildModuleSymbolsMap(e,t,n,i){return function(e,t,n){const i=new Map;return ct(n),e.forEach((e=>{if(e.shadows.length>0)return;const n=e.sourceFile.getFilePath(),r=e.sourceFile.getModuleSymbolTable();if(r){if(Yt(he(de(n))))return;return void i.set(n,{forEach(e){r.forEach(((t,n)=>{if(t.isExternallyHidden())return;const i=t.getDeclarations();if(!i||0===i.length)return;const r=i[0];if(!r)return;if(6===r.type)return;const s=1!==r.type||r.isConstant||r.isFinal?void 0:ot.SymbolKind.Variable;e({symbol:t,kind:s},n,!1)}))}})}const s=e.sourceFile.getCachedIndexResults();s&&t&&!s.privateOrProtected&&i.set(n,Gl(s,!1))})),i}(this._sourceFileList.filter((n=>n!==e&&(!t||this._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._evaluator),this._handleMemoryHighUsage(),"none"!==this._configOptions.diagnosticRuleSet.reportImportCycles&&!this._allowedThirdPartyImports){const t=new Map;this._getImportsRecursive(e,t,0),t.forEach((e=>{Fn.cycleDetectionTime.timeOperation((()=>{this._detectAndReportImportCycles(e)}))}))}return!0}))}_getImportsRecursive(e,t,n){const i=ke(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=new Map){if(e.sourceFile.isStubFile()||e.isThirdPartyImport)return;const i=ke(this._fs,e.sourceFile.getFilePath());if(n.has(i))t.length>1&&e===t[0]&&this._logImportCycle(t);else{if(n.has(i))return;n.set(i,!0),t.push(e);for(const i of e.imports)this._detectAndReportImportCycles(i,t,n);n.set(i,!1),t.pop()}}_logImportCycle(e){const t=new _c;e.forEach((e=>{t.appendPath(e.sourceFile.getFilePath())})),t.normalizeOrder();const n=t.getPaths()[0],i=this._getSourceFileInfoFromPath(n);w(void 0!==i),i.sourceFile.addCircularDependency(t)}_markFileDirtyRecursive(e,t,n=!1){const i=ke(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 r=i.sourceFile,s=r.getOpenFileContents();return void 0!==s?this._runEvaluatorWithCancellationToken(n,(()=>{this._parseFile(i);const e=r.getParseResults(),n=Ct(t,e.tokenizerOutput.lines);if(n)return s.substr(n.start,n.length)})):void 0}getAutoImports(e,t,n,i,r,s,o,a){const l=this._getSourceFileInfoFromPath(e);if(!l)return[];const c=l.sourceFile,u=c.getOpenFileContents();return void 0===u?[]:this._runEvaluatorWithCancellationToken(a,(()=>{this._bindFile(l);const p=c.getParseResults(),d=Ct(t,p.tokenizerOutput.lines);if(!d)return[];const h=Tr(p.parseTree,d.start);if(!h)return[];const m=u.substr(d.start,d.length),f=this._buildModuleSymbolsMap(l,!!r,!0,a),g=new Hl(this._configOptions.findExecEnvironment(e),this._importResolver,p,t.start,new $l,f,{lazyEdit:s,allowVariableInAll:o,libraryMap:r,patternMatcher:(e,t)=>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,s=Number.MAX_VALUE;for(;r>0;){const e=F()(n.substr(0,r),i);e=e.length?0:(e.length-s)/e.length*.5}(e,t)>n}),y=[],_=zs(h);if(_){const e=null==i?void 0:i.get(m);e&&y.push(...g.getAutoImportCandidatesForAbbr(m,e,a)),y.push(...g.getAutoImportCandidates(m,n,void 0,a).filter((e=>!_.lookUpSymbolRecursive(e.name))))}return y}))}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=>yt(e.range,t))):[]}getDefinitionsForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getDefinitionsForPosition(this._createSourceMapper(s),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 r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getTypeDefinitionsForPosition(this._createSourceMapper(r,!1,!0),t,this._evaluator,e,n)}))}reportReferencesForPosition(e,t,n,i,r){this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;const o=this._isUserCode(s);this._bindFile(s);const a=this._configOptions.findExecEnvironment(e),l=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(a),t,this._evaluator,i,r);if(l)if(l.requiresGlobalSearch){for(const e of this._sourceFileList)if(ct(r),e.isOpenByClient||!o||this._isUserCode(e)){const t=e.sourceFile.getFileContent();(!t||t.search(l.symbolName)>=0)&&(this._bindFile(e),e.sourceFile.addReferences(l,n,this._evaluator,r)),this._handleMemoryHighUsage()}if(n)for(const e of l.declarations){if(ct(r),l.locations.some((t=>t.path===e.path)))continue;const t=this._getSourceFileInfoFromPath(e.path);if(!t)continue;const i=new Xl(l.requiresGlobalSearch,l.nodeAtOffset,l.symbolName,l.declarations);t.sourceFile.addReferences(i,n,this._evaluator,r);for(const t of i.locations)t.path===e.path&&_t(e.range,t.range)&&l.addLocations(t)}}else s.sourceFile.addReferences(l,n,this._evaluator,r)}))}getFileIndex(e,t,n){if(!t.indexingForAutoImportMode||!Yt(he(de(e))))return this._handleMemoryHighUsage(),this._runEvaluatorWithCancellationToken(n,(()=>{var i;const r=this._getSourceFileInfoFromPath(e);if(!r)return;const s=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";return t.indexingForAutoImportMode&&!r.sourceFile.isStubFile()&&!r.sourceFile.isThirdPartyPyTypedPresent()&&s.indexOf("__all__")<0?void 0:(this._bindFile(r,s),r.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(!this._isUserCode(i))continue;i.sourceFile.getCachedIndexResults()||this._bindFile(i);const r=i.sourceFile.getSymbolsForDocument(e,n);r.length>0&&t(r),this._handleMemoryHighUsage()}}))}getHoverForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getHoverForPosition(this._createSourceMapper(s,!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 r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getDocumentHighlight(this._createSourceMapper(r),t,this._evaluator,n)}))}getSignatureHelpForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getSignatureHelpForPosition(t,this._createSourceMapper(s,!0),this._evaluator,n,i)}))}async getCompletionsForPosition(e,t,n,i,r,s,o){var a,l;const c=this._getSourceFileInfoFromPath(e);if(!c)return;const u=this._logTracker.log(`completion at ${e}:${t.line}:${t.character}`,(a=>{var l,u;const p=this._runEvaluatorWithCancellationToken(o,(()=>{this._bindFile(c);const a=this._configOptions.findExecEnvironment(e);return c.sourceFile.getCompletionsForPosition(t,n,this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,i,this._createSourceMapper(a,!0),r,s,(()=>this._buildModuleSymbolsMap(c,!!s,!1,o)),o)}));return a.add(`found ${null!==(u=null===(l=null==p?void 0:p.completionMap)||void 0===l?void 0:l.size)&&void 0!==u?u:"null"} items`),p})),p={completionList:Ln.CompletionList.create(null===(a=null==u?void 0:u.completionMap)||void 0===a?void 0:a.toArray()),memberAccessInfo:null==u?void 0:u.memberAccessInfo,autoImportInfo:null==u?void 0:u.autoImportInfo,extensionInfo:null==u?void 0:u.extensionInfo};if(!(null==u?void 0:u.completionMap)||!(null===(l=this._extension)||void 0===l?void 0:l.completionListExtension))return p;const d=c.sourceFile.getParseResults();if((null==d?void 0:d.parseTree)&&(null==d?void 0:d.text)){const e=xt(t,d.tokenizerOutput.lines);void 0!==e&&await this._extension.completionListExtension.updateCompletionResults(p,d,e,o)}return p}resolveCompletionItem(e,t,n,i,r,s){return this._runEvaluatorWithCancellationToken(s,(()=>{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,r,(()=>this._buildModuleSymbolsMap(o,!!r,!1,s)),t,s)}))}renameModule(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{if(ge(this._fs,e)&&!this._getSourceFileInfoFromPath(e))return;const i=gc.createForModule(this._importResolver,this._configOptions,this._evaluator,e,t,n);return i?(this._processModuleReferences(i,i.lastModuleName,e),i.getEdits()):void 0}))}moveSymbolAtPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=r.sourceFile.getParseResults();if(!s)return;const o=xt(n,s.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(s.parseTree,o);if(void 0===a)return;if(38!==a.nodeType)return;const l=this._configOptions.findExecEnvironment(e),c=Ml.getDeclarationsForNode(a,this._evaluator,!1,i,this._createSourceMapper(l)),u=gc.createForSymbol(this._importResolver,this._configOptions,this._evaluator,e,t,c,i);return u?(this._processModuleReferences(u,a.value,e),{edits:u.getEdits(),fileOperations:[]}):void 0}))}renameSymbolAtPosition(e,t,n,i,r){return this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;this._bindFile(s);const o=this._configOptions.findExecEnvironment(e),a=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(o),t,this._evaluator,void 0,r);if(!a)return;if(m(a.declarations,(e=>{var t;return!(!Gn(e)||e.usesLocalName&&e.node&&22!==e.node.nodeType&&(null===(t=e.node.alias)||void 0===t?void 0:t.value)===a.symbolName)})),0===a.declarations.length)return;if(!i&&a.declarations.some((e=>!this._isUserCode(this._getSourceFileInfoFromPath(e.path)))))return;if(a.requiresGlobalSearch&&!i)for(const e of this._sourceFileList)this._isUserCode(e)&&(this._bindFile(e),e.sourceFile.addReferences(a,!0,this._evaluator,r)),this._handleMemoryHighUsage();else(i||this._isUserCode(s))&&s.sourceFile.addReferences(a,!0,this._evaluator,r);const l=[];return a.locations.forEach((e=>{l.push({filePath:e.path,range:e.range,replacementText:n})})),l}))}getCallForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getCallForDeclaration(s.symbolName,o,this._evaluator,n)}getIncomingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);let a=[];for(const e of this._sourceFileList)if(this._isUserCode(e)||e.isOpenByClient){this._bindFile(e);const t=Jl.getIncomingCallsForDeclaration(e.sourceFile.getFilePath(),s.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 r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getOutgoingCallsForDeclaration(o,i.sourceFile.getParseResults(),this._evaluator,n)}performQuickAction(e,t,n,i){const r=this._getSourceFileInfoFromPath(e);if(r)return this._bindFile(r),r.sourceFile.performQuickAction(t,n,i)}getApiDocs(e,t){const n=[...t,Ln.MarkupKind.PlainText].map((e=>{switch(e){case Ln.MarkupKind.Markdown:return ds;case Ln.MarkupKind.PlainText:return hs;default:return}})).filter(Boolean)[0],i=e=>e?n(e):void 0,r=Object.create(null);for(const t of e){const e={leadingDots:0,nameParts:t.split("."),importedSymbols:[]},n=this._importResolver.resolveImport("",this._configOptions.findExecEnvironment("."),e);if(n.isImportFound){const e=n.resolvedPaths[n.resolvedPaths.length-1];this.addTrackedFiles([e],!0,!1);const s=this.getBoundSourceFile(e);if(s){const e=s.getParseResults().parseTree,n={id:t,name:t,kind:"module",fullName:t,docString:i(qr(e.statements)),children:[]};r[t]=n;const o=zs(e),a=(e,t,n)=>{n.forEach(((n,r)=>{if(!n.isExternallyHidden()&&!n.isPrivateMember()){const s=this.getTypeForSymbol(n),o=n.getDeclarations(),l=e=>o.some((t=>t.type===e));if(l(4)&&yo(s)){const n=s.details.fullName;e.push({id:n,name:r,children:[],docString:i(s.details.docString),fullName:n,kind:"class",baseClasses:s.details.baseClasses.map((e=>({name:e.details.name,fullName:e.details.fullName}))).filter((e=>"builtins.object"!==e.fullName))}),a(e[e.length-1].children,[...t,r],s.details.fields)}else if(l(3)&&Eo(s)){const t=s.details.fullName;e.push({id:t,name:r,docString:i(s.details.docString),fullName:t,kind:"function",params:this.apiDocsParamsInfo(s)})}else if(l(3)&&ko(s)){let t=1;for(const n of s.overloads){const s=n.details.fullName;e.push({id:`${s}-${t++}`,name:r,docString:i(n.details.docString),fullName:s,kind:"function",params:this.apiDocsParamsInfo(n)})}}else if(l(1)){const n=o.find((e=>1===e.type)),s=[...t,r].join(".");e.push({id:s,name:r,fullName:s,kind:"variable",docString:i(n.docString)})}else if(l(6)&&To(s)){const n=s.moduleName;e.push({id:n,name:r,children:[],docString:i(s.docString),fullName:n,kind:"module"}),a(e[e.length-1].children,[...t,r],s.fields)}}}))};a(n.children,[t],o.symbolTable)}}}return this._removeUnneededFiles(),r}apiDocsParamsInfo(e){return e.details.parameters.map((e=>({name:e.name,defaultValue:e.defaultValueExpression?xr(e.defaultValueExpression,0):void 0,category:0===e.category?"simple":1===e.category?"varargList":"varargDict"})))}test_createSourceMapper(e){return this._createSourceMapper(e,!1)}_processModuleReferences(e,t,n){var i;for(const r of this._sourceFileList){if(!this._isUserCode(r))continue;const s=r.sourceFile.getFilePath(),o=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";if(s!==n&&o.indexOf(t)<0)continue;this._bindFile(r,o);const a=r.sourceFile.getParseResults();a&&(e.renameReferences(s,a),this._handleMemoryHighUsage())}}_handleMemoryHighUsage(){if(this._evaluator.getTypeCacheSize()>75e4||this._parsedFileCount>1e3){const e={heapUsed:0,rss:1};if(e.heapUsed>.9*e.rss){const t=Math.round(e.rss/1048576),n=Math.round(e.heapUsed/1048576);this._console.info(`Emptying type cache to avoid heap overflow. Used ${n}MB out of ${t}MB`),this._createNewEvaluator(),this._discardCachedParseResults(),this._parsedFileCount=0}}}_discardCachedParseResults(){for(const e of this._sourceFileList)e.sourceFile.dropParseAndBindInfo()}_isUserCode(e){return e&&e.isTracked&&!e.isThirdPartyImport&&!e.isTypeshedFile}_runEvaluatorWithCancellationToken(e,t){try{return e?this._evaluator.runWithCancellationToken(e,t):t()}catch(e){throw e instanceof lt||this._createNewEvaluator(),e}}_removeUnneededFiles(){const e=[];for(let t=0;t{const r=i.importedBy.findIndex((e=>e===n));if(!(r<0||(i.importedBy.splice(r,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=ke(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 Xa(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(),r=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}},s=new Map;if(e.chainedSourceFile)if(e.chainedSourceFile.sourceFile.isFileDeleted())e.chainedSourceFile=void 0;else{const t=e.chainedSourceFile.sourceFile.getFilePath();s.set(ke(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=r(n);s.set(ke(this._fs,e),{path:e,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isPyTypedPresent:t.isPyTypedPresent})}}n.filteredImplicitImports.forEach((t=>{if(this._isImportAllowed(e,n,t.isStubFile)&&!t.isNativeLib){const e=r(n);s.set(ke(this._fs,t.path),{path:t.path,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:e.isThirdPartyImport,isPyTypedPresent:e.isPyTypedPresent})}}))}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=ke(this._fs,t.sourceFile.getFilePath());s.has(n)?o.set(n,t):t.importedBy=t.importedBy.filter((t=>ke(this._fs,t.sourceFile.getFilePath())!==ke(this._fs,e.sourceFile.getFilePath())))})),s.forEach(((t,i)=>{if(!o.has(i)){let r;if(this._getSourceFileInfoFromPath(t.path))r=this._getSourceFileInfoFromPath(t.path);else{const e=this._getImportNameForFile(t.path);r={sourceFile:new Ru(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(r),n.push(r)}r.importedBy.push(e),o.set(i,r)}})),e.imports=[],s.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 l=e.sourceFile.getIPythonDisplayImport();if(l&&l.isImportFound){const t=l.resolvedPaths[l.resolvedPaths.length-1];e.ipythonDisplayImport=this._getSourceFileInfoFromPath(t)}return n}_getSourceFileInfoFromPath(e){return this._sourceFileMap.get(ke(this._fs,e))}_removeSourceFileFromListAndMap(e,t){this._sourceFileMap.delete(ke(this._fs,e)),this._sourceFileList.splice(t,1)}_addToSourceFileListAndMap(e){const t=ke(this._fs,e.sourceFile.getFilePath());w(!this._sourceFileMap.has(t)),this._sourceFileList.push(e),this._sourceFileMap.set(t,e)}}function sp(e,t){try{const n=e();t.postMessage({kind:"ok",data:n})}catch(e){if(lt.is(e))return void t.postMessage({kind:"cancelled",data:e.message});t.postMessage({kind:"failed",data:`Exception: ${e.message} in ${e.stack}`})}}function op(e){return new Promise(((t,n)=>{e.on("message",(e=>{switch(e.kind){case"ok":t(e.data);break;case"cancelled":n(new lt);break;case"failed":n(e.data);break;default:E(`unknown kind ${e.kind}`)}}))}))}var ap=__webpack_require__(6341);__webpack_require__(198);class lp{static shouldCheck(){const e=Date.now().valueOf();return e-this._lastCheckTimestamp>=5&&(this._lastCheckTimestamp=e,!0)}}lp._lastCheckTimestamp=0;class cp{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||(lp.shouldCheck()&&this._pipeExists()&&this.cancel(),this.isCancelled)}get onCancellationRequested(){return this._emitter||(this._emitter=new ot.Emitter),this._emitter.event}dispose(){this._disposeEmitter()}_disposeEmitter(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}_pipeExists(){try{return ap.statSync(this.cancellationFilePath),!0}catch(e){return!1}}}function up(e){return e?new cp(e):ot.CancellationToken.None}function pp(e){return e instanceof cp?e.cancellationFilePath:void 0}function dp(e){return e.diagnostics=e.diagnostics.map((e=>({filePath:e.filePath,version:e.version,diagnostics:hp(e.diagnostics)}))),e}function hp(e){return e.map((e=>{const t=new nl(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}))}class mp{constructor(e,t){this.fileSpecs=[],this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.enableAmbientAnalysis=!0,this.analyzeUnannotatedFunctions=!0,this.executionRoot=e,this.fromVsCodeExtension=t}}class fp{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 gp(e=null){return new fp(e)}class yp{static runWithOptions(e,t,n,i,r=!0){const s=function(e,t,n,i,r){var s,o;const a=new mp(t,!0);return a.checkOnlyOpenFiles=n.openFilesOnly,a.useLibraryCodeForTypes=n.useLibraryCodeForTypes,a.typeCheckingMode=n.typeCheckingMode,a.autoImportCompletions=n.autoImportCompletions,a.indexing=n.indexing,a.logTypeEvaluationTime=null!==(s=n.logTypeEvaluationTime)&&void 0!==s&&s,a.typeEvaluationTimeThreshold=null!==(o=n.typeEvaluationTimeThreshold)&&void 0!==o?o:50,a.enableAmbientAnalysis=i,i?(a.watchForSourceChanges=n.watchForSourceChanges,a.watchForLibraryChanges=n.watchForLibraryChanges,a.watchForConfigChanges=n.watchForConfigChanges):(a.watchForSourceChanges=!1,a.watchForLibraryChanges=!1,a.watchForConfigChanges=!1),n.venvPath&&(a.venvPath=te(t||e,n.venvPath)),n.pythonPath&&(gn(n.pythonPath)||(a.pythonPath=te(t||e,n.pythonPath))),n.typeshedPath&&(a.typeshedPath=n.typeshedPath),n.stubPath&&(a.stubPath=n.stubPath),n.logLevel===On.Log&&(a.verboseOutput=!0),r&&(a.typeStubTargetImportName=r),a.autoSearchPaths=n.autoSearchPaths,a.extraPaths=n.extraPaths,a.diagnosticSeverityOverrides=n.diagnosticSeverityOverrides,a}(e,t.rootPath,n,r,i);t.serviceInstance.setOptions(s)}static async cloneService(e,t,n,i,r){const s={workspaceName:"temp workspace for cloned service",rootPath:t.rootPath,rootUri:t.rootUri,serviceInstance:t.serviceInstance.clone("cloned service",i,r),disableLanguageServices:!0,disableOrganizeImports:!0,isInitialized:gp()},o=await e.getSettings(t);return yp.runWithOptions(e.rootPath,s,o,n,!1),s.serviceInstance}}class _p{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=2){const n=e.arguments[0],i=e.arguments[1],r=e.arguments[2],s=await yp.cloneService(this._ls,await this._ls.getWorkspaceForFile(null!=r?r:n),i,this._ls.createBackgroundAnalysis());try{await s.writeTypeStubInBackground(t),s.dispose();const e=`Type stub was successfully created for '${i}'.`;this._ls.window.showInformationMessage(e),this._ls.reanalyze()}catch(e){if(lt.is(e)){const e=`Type stub creation for '${i}' 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 '${i}'`+t,this._ls.console.error(t),this._ls.window.showErrorMessage(t)}}}}}class vp{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=1){const n=e.arguments[0],i=e.arguments.slice(1),r=this._ls.decodeTextDocumentUri(n),s=await this._ls.getWorkspaceForFile(r);return"pyright.organizeimports"===e.command&&s.disableOrganizeImports?[]:function(e,t){if(!t)return{};const n=[];return t.forEach((e=>{n.push({range:e.range,newText:e.replacementText})})),{changes:{[e]:n}}}(n,s.serviceInstance.performQuickAction(r,e.command,i,t))}}}class Tp{constructor(e){this._ls=e}async execute(e){this._ls.restart()}}class bp{constructor(e){this._createStub=new _p(e),this._restartServer=new Tp(e),this._quickAction=new vp(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 ot.ResponseError(1,"Unsupported command")}}isLongRunningCommand(e){switch(e){case"pyright.createtypestub":return!0;default:return!1}}}class Ip{get kind(){return 2}getPythonSearchPaths(e,t){return null==t||t.push("No access to python executable."),{paths:[],prefix:""}}getPythonVersion(e,t){}getPythonPlatform(e){}}var Sp=__webpack_require__(7256);class xp{constructor(e,t,n,i,r,s,o){this._console=e,this._configOptions=t,this._importResolver=n,this._backgroundAnalysis=r,this._maxAnalysisTime=s,this._disableChecker=o,this._program=new rp(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 r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,[{text:n}],i),this._program.setFileOpened(e,t,[{text:n}],i)}initializeFileSystem(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.initializeFileSystem(e)}updateOpenFileContents(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.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):Mn(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,r]of i)n.setIndex(e,t,r)}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,i){return this._backgroundAnalysis?this._backgroundAnalysis.writeTypeStub(e,t,n,i):(Mn(this._program,void 0,this._configOptions,this._onAnalysisCompletion,this._console,i),this._program.writeTypeStub(e,t,n,i))}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 r=t.get(e);r||(r=new Map,t.set(e,r)),r.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})}}var Cp,wp=__webpack_require__(2125);function Ep(e){return 32===e||9===e||11===e||12===e||160===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function kp(e){return 10===e||13===e||8232===e||8233===e}function Dp(e){return e>=48&&e<=57}function Ap(e,t,n){void 0===n&&(n=Cp.DEFAULT);var i=function(e,t){void 0===t&&(t=!1);var n=e.length,i=0,r="",s=0,o=16,a=0,l=0,c=0,u=0,p=0;function d(t,n){for(var r=0,s=0;r=48&&o<=57)s=16*s+o-48;else if(o>=65&&o<=70)s=16*s+o-65+10;else{if(!(o>=97&&o<=102))break;s=16*s+o-97+10}i++,r++}return r=n)return s=n,o=17;var t=e.charCodeAt(i);if(Ep(t)){do{i++,r+=String.fromCharCode(t),t=e.charCodeAt(i)}while(Ep(t));return o=15}if(kp(t))return i++,r+=String.fromCharCode(t),13===t&&10===e.charCodeAt(i)&&(i++,r+="\n"),a++,c=i,o=14;switch(t){case 123:return i++,o=1;case 125:return i++,o=2;case 91:return i++,o=3;case 93:return i++,o=4;case 58:return i++,o=6;case 44:return i++,o=5;case 34:return i++,r=function(){for(var t="",r=i;;){if(i>=n){t+=e.substring(r,i),p=2;break}var s=e.charCodeAt(i);if(34===s){t+=e.substring(r,i),i++;break}if(92!==s){if(s>=0&&s<=31){if(kp(s)){t+=e.substring(r,i),p=2;break}p=6}i++}else{if(t+=e.substring(r,i),++i>=n){p=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 o=d(4,!0);o>=0?t+=String.fromCharCode(o):p=4;break;default:p=5}r=i}}return t}(),o=10;case 47:var h=i-1;if(47===e.charCodeAt(i+1)){for(i+=2;i=12&&e<=15);return e}:h,getToken:function(){return o},getTokenValue:function(){return r},getTokenOffset:function(){return s},getTokenLength:function(){return i-s},getTokenStartLine:function(){return l},getTokenStartCharacter:function(){return s-u},getTokenError:function(){return p}}}(e,!1);function r(e){return e?function(){return e(i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}function s(e){return e?function(t){return e(t,i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}var o=r(t.onObjectBegin),a=s(t.onObjectProperty),l=r(t.onObjectEnd),c=r(t.onArrayBegin),u=r(t.onArrayEnd),p=s(t.onLiteralValue),d=s(t.onSeparator),h=r(t.onComment),m=s(t.onError),f=n&&n.disallowComments,g=n&&n.allowTrailingComma;function y(){for(;;){var e=i.scan();switch(i.getTokenError()){case 4:_(14);break;case 5:_(15);break;case 3:_(13);break;case 1:f||_(11);break;case 2:_(12);break;case 6:_(16)}switch(e){case 12:case 13:f?_(10):h();break;case 16:_(1);break;case 15:case 14:break;default:return e}}}function _(e,t,n){if(void 0===t&&(t=[]),void 0===n&&(n=[]),m(e),t.length+n.length>0)for(var r=i.getToken();17!==r;){if(-1!==t.indexOf(r)){y();break}if(-1!==n.indexOf(r))break;r=y()}}function v(e){var t=i.getTokenValue();return e?p(t):a(t),y(),!0}return y(),17===i.getToken()?!!n.allowEmptyContent||(_(4,[],[]),!1):function e(){switch(i.getToken()){case 3:return function(){c(),y();for(var t=!1;4!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),4===i.getToken()&&g)break}else t&&_(6,[],[]);e()||_(4,[],[4,5]),t=!0}return u(),4!==i.getToken()?_(8,[4],[]):y(),!0}();case 1:return function(){o(),y();for(var t=!1;2!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),2===i.getToken()&&g)break}else t&&_(6,[],[]);(10!==i.getToken()?(_(3,[],[2,5]),0):(v(!1),6===i.getToken()?(d(":"),y(),e()||_(4,[],[2,5])):_(5,[],[2,5]),1))||_(4,[],[2,5]),t=!0}return l(),2!==i.getToken()?_(7,[2],[]):y(),!0}();case 10:return v(!0);default:return function(){switch(i.getToken()){case 11:var e=i.getTokenValue(),t=Number(e);isNaN(t)&&(_(2),t=0),p(t);break;case 7:p(null);break;case 8:p(!0);break;case 9:p(!1);break;default:return!1}return y(),!0}()}}()?(17!==i.getToken()&&_(9,[],[]),!0):(_(4,[],[]),!1)}!function(e){e.DEFAULT={allowTrailingComma:!1}}(Cp||(Cp={}));const Pp=["pyrightconfig.json"],Rp=X("/.git/"),Fp=/\.pyi?$/;class Np{constructor(e,t,n,i,r,s,o,a,l,c,u){this._typeStubTargetIsSingleFile=!1,this._requireTrackedFileUpdate=!0,this._lastUserInteractionTime=Date.now(),this._disposed=!1,this._instanceName=e,this._console=n||new Un,this._executionRootPath="",this._extension=o,this._importResolverFactory=r||Np.createImportResolver,this._maxAnalysisTimeInForeground=l,this._backgroundAnalysisProgramFactory=c,this._cancellationProvider=null!=u?u:new pt,this._hostFactory=null!=i?i:()=>new Ip,s=null!=s?s:new Ec("/");const p=this._importResolverFactory(t,s,this._hostFactory());this._backgroundAnalysisProgram=void 0!==c?c(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground):new xp(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground)}clone(e,t,n){const i=new Np(e,null!=n?n:this._fs,this._console,this._hostFactory,this._importResolverFactory,this._backgroundAnalysisProgram.configOptions,this._extension,t,this._maxAnalysisTimeInForeground,this._backgroundAnalysisProgramFactory,this._cancellationProvider);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 backgroundAnalysisProgram(){return this._backgroundAnalysisProgram}static createImportResolver(e,t,n){return new In(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=me(te(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=!1,r){this._backgroundAnalysisProgram.setFileOpened(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}updateOpenFileContents(e,t,n,i=!1,r){this._backgroundAnalysisProgram.updateOpenFileContents(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),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)}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,r,s,o){return this._program.getAutoImports(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r,s,o)}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,r){this._program.reportReferencesForPosition(e,t,n,i,r)}addSymbolsForDocument(e,t,n){this._program.addSymbolsForDocument(e,t,n)}reportSymbolsForWorkspace(e,t,n){this._program.reportSymbolsForWorkspace(e,t,n)}getApiDocs(e,t){return this._program.getApiDocs(e,t)}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,r,s){return this._program.getCompletionsForPosition(e,t,n,i,r,this._backgroundAnalysisProgram.getIndexing(e),s)}getEvaluator(){return this._program.evaluator}resolveCompletionItem(e,t,n,i,r){this._program.resolveCompletionItem(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r)}performQuickAction(e,t,n,i){return this._program.performQuickAction(e,t,n,i)}renameModule(e,t,n){return this._program.renameModule(e,t,n)}renameSymbolAtPosition(e,t,n,i,r){return this._program.renameSymbolAtPosition(e,t,n,i,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 analyzed: "+e.toString())}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,r;let s,o,a=t.executionRoot;t.configFilePath?(s=te(t.executionRoot,me(t.configFilePath)),this._fs.existsSync(s)?s.toLowerCase().endsWith(".json")?a=$(s):(a=s,s=this._findConfigFile(s),s||this._console.info(`Configuration file not found at ${a}.`)):(this._console.info(`Configuration file not found at ${s}.`),s=t.executionRoot)):a&&(s=this._findConfigFile(a),s||t.fromVsCodeExtension||(s=this._findConfigFileHereOrUp(a)),s?a=$(s):(this._console.info("No configuration file found."),s=void 0)),s||(o=this._findPyprojectTomlFile(a),o||t.fromVsCodeExtension||(o=this._findPyprojectTomlFileHereOrUp(a)),o?(a=$(o),this._console.info(`pyproject.toml file found at ${a}.`)):this._console.info("No pyproject.toml file found."));const l=new Ec(a,this._typeCheckingMode),c=["**/node_modules","**/__pycache__","**/.*"];let u;if(t.pythonPath&&(this._console.info(`Setting pythonPath for service "${this._instanceName}": "${t.pythonPath}"`),l.pythonPath=t.pythonPath),l.defaultPythonPlatform=t.pythonPlatform,l.defaultPythonVersion=t.pythonVersion,l.ensureDefaultExtraPaths(this._fs,t.autoSearchPaths||!1,t.extraPaths),t.fileSpecs.length>0?t.fileSpecs.forEach((e=>{l.include.push(be(a,e))})):s||t.executionRoot&&(l.include.push(be(t.executionRoot,".")),c.forEach((e=>{l.exclude.push(be(t.executionRoot,e))}))),this._configFilePath=s||o,s?(this._console.info(`Loading configuration file at ${s}`),u=this._parseJsonConfigFile(s)):o&&(this._console.info(`Loading pyproject.toml file at ${o}`),u=this._parsePyprojectTomlFile(o)),u){l.initializeFromJson(u,this._typeCheckingMode,this._console,e,t.diagnosticSeverityOverrides,t.fileSpecs.length>0);const n=$(this._configFilePath);0===l.include.length&&(this._console.info(`No include entries specified; assuming ${n}`),l.include.push(be(n,"."))),0===l.exclude.length&&(c.forEach((e=>{this._console.info(`Auto-excluding ${e}`),l.exclude.push(be(n,e))})),void 0===l.autoExcludeVenv&&(l.autoExcludeVenv=!0))}else l.autoExcludeVenv=!0,l.applyDiagnosticOverrides(t.diagnosticSeverityOverrides);l.analyzeUnannotatedFunctions=null===(n=t.analyzeUnannotatedFunctions)||void 0===n||n;const p=(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&&(l.venvPath?p("venvPath",l.venvPath):l.venvPath=t.venvPath),t.typeshedPath&&(l.typeshedPath?p("typeshedPath",l.typeshedPath):l.typeshedPath=t.typeshedPath),l.verboseOutput=null!==(i=t.verboseOutput)&&void 0!==i?i:l.verboseOutput,l.checkOnlyOpenFiles=!!t.checkOnlyOpenFiles,l.autoImportCompletions=!!t.autoImportCompletions,l.indexing=!!t.indexing,l.logTypeEvaluationTime=!!t.logTypeEvaluationTime,l.typeEvaluationTimeThreshold=t.typeEvaluationTimeThreshold,void 0===l.useLibraryCodeForTypes?l.useLibraryCodeForTypes=!!t.useLibraryCodeForTypes:void 0!==t.useLibraryCodeForTypes&&p("useLibraryCodeForTypes",l.useLibraryCodeForTypes),t.stubPath?l.stubPath?p("stubPath",l.stubPath):l.stubPath=t.stubPath:l.stubPath||(l.stubPath=me(te(l.projectRoot,"typings"))),l.venvPath&&(this._fs.existsSync(l.venvPath)&&fe(this._fs,l.venvPath)||this._console.error(`venvPath ${l.venvPath} is not a valid directory.`),l.venv=null!==(r=l.venv)&&void 0!==r?r:this._configOptions.venv,l.venv)){const t=te(l.venvPath,l.venv);if(this._fs.existsSync(t)&&fe(this._fs,t)){const t=[];void 0===fn(this._fs,l,e,t)&&(this._console.error(`site-packages directory cannot be located for venvPath ${l.venvPath} and venv ${l.venv}.`),l.verboseOutput&&t.forEach((e=>{this._console.error(` ${e}`)})))}else this._console.error(`venv ${l.venv} subdirectory not found in venv path ${l.venvPath}.`)}return l.venv&&(l.venvPath||this._console.warn("venvPath not specified, so venv settings will be ignored.")),l.typeshedPath&&(this._fs.existsSync(l.typeshedPath)&&fe(this._fs,l.typeshedPath)||this._console.error(`typeshedPath ${l.typeshedPath} is not a valid directory.`)),l.stubPath&&(this._fs.existsSync(l.stubPath)&&fe(this._fs,l.stubPath)||this._console.warn(`stubPath ${l.stubPath} is not a valid directory.`)),l}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)}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=te(e,t[0]),i=te(e,...t);try{this._fs.existsSync(i)||Q(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 z(e,(e=>this._findConfigFile(e)))}_findConfigFile(e){for(const t of Pp){const n=te(e,t);if(this._fs.existsSync(n))return n}}_findPyprojectTomlFileHereOrUp(e){return z(e,(e=>this._findPyprojectTomlFile(e)))}_findPyprojectTomlFile(e){const t=te(e,"pyproject.toml");if(this._fs.existsSync(t))return t}_parseJsonConfigFile(e){return this._attemptParseFile(e,(e=>function(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=Cp.DEFAULT);var i=null,r=[],s=[];function o(e){Array.isArray(r)?r.push(e):null!==i&&(r[i]=e)}return Ap(e,{onObjectBegin:function(){var e={};o(e),s.push(r),r=e,i=null},onObjectProperty:function(e){i=e},onObjectEnd:function(){r=s.pop()},onArrayBegin:function(){var e=[];o(e),s.push(r),r=e,i=null},onArrayEnd:function(){r=s.pop()},onLiteralValue:o,onError:function(e,n,i){t.push({error:e,offset:n,length:i})}},n),r[0]}(e)))}_parsePyprojectTomlFile(e){return this._attemptParseFile(e,((t,n)=>{try{const e=wp.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 r=!1;try{return t(n,i+1)}catch(e){r=!0}if(!r)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 Fn.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=vn(this._typeStubTargetImportName),n=this._backgroundAnalysisProgram.importResolver.resolveImport("",e,t);if(n.isImportFound){const e=[],t=n.resolvedPaths[n.resolvedPaths.length-1],i=ge(this._fs,t),r=i&&"__init__"===he(de(t));let s=t;i&&(s=$(s));for(let e=n.resolvedPaths.length-2;e>=0;e--)s=n.resolvedPaths[e]?n.resolvedPaths[e]:$(s);fe(this._fs,s)?this._typeStubTargetPath=s:ge(this._fs,s)&&(this._typeStubTargetPath=$(s)),t?(e.push(t),this._typeStubTargetIsSingleFile=1===n.resolvedPaths.length&&!r):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=[],r=Date.now();let s=!1;const o=(e,o)=>{if(s||.001*(Date.now()-r)>=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.'),s=!0),this._configOptions.autoExcludeVenv&&n.some((t=>this._fs.existsSync(te(e,...t)))))return void this._console.info(`Auto-excluding ${e}`);const{files:a,directories:c}=ve(this._fs,e);for(const n of a){const r=te(e,n);this._matchIncludeFileSpec(o,t,r)&&i.push(r)}for(const n of c){const i=te(e,n);o.test(i)&&(this._isInExcludePath(i,t)||l(i,o))}},a=new Set,l=(e,t)=>{const n=_e(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;const n=ye(this._fs,e.wildcardRoot);(null==n?void 0:n.isFile())?this._shouldIncludeFile(e.wildcardRoot)&&(i.push(e.wildcardRoot),t=!0):(null==n?void 0:n.isDirectory())&&(l(e.wildcardRoot,e.regExp),t=!0),t||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=>te(this._executionRootPath,e.wildcardRoot)));try{this._verboseOutput&&this._console.info(`Adding fs watcher for directories:\n ${e.join("\n")}`);const t=et(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(Rp))return;const i=ye(this._fs,n);if(!i||!i.isFile()||n.endsWith(".py")||n.endsWith(".pyi"))if("change"===e&&i)this._backgroundAnalysisProgram.markFilesDirty([n],!1),this._scheduleReanalysis(!1);else{const e=de(n).split(".");let t=!1;4===e.length&&e[3]===e[1]&&32===e[2].length&&(t=!0),t||(this.invalidateAndForceReanalysis(!1,!1),this._scheduleReanalysis(!0))}}))}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;const e=fn(this._fs,this._backgroundAnalysisProgram.configOptions,this._backgroundAnalysisProgram.host,[],!0,this._executionRootPath);if(e&&e.length>0)try{this._verboseOutput&&this._console.info(`Adding fs watcher for library directories:\n ${e.join("\n")}`);const t=et(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(){this._disposed||(this._clearLibraryReanalysisTimer(),this._libraryReanalysisTimer=setTimeout((()=>{this._clearLibraryReanalysisTimer(),this.invalidateAndForceReanalysis(!1),this._scheduleReanalysis(!1)}),6e5))}_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,t)=>{if(t&&("add"===e||"change"===e)){const n=de(t);n&&Pp.some((e=>e===n))&&(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?On.Info:On.Log;for(const t of this._configOptions.getExecutionEnvironments())Vn(this._console,e,`Search paths for ${t.root||""}`),n.getImportRoots(t,!0).forEach((t=>{Vn(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,r=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)}),r)}_reportConfigParseError(){this._onCompletionCallback&&this._onCompletionCallback({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!1,configParseErrorOccurred:!0,elapsedTime:0})}_shouldIncludeFile(e){return Fp.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))}}var Mp;!function(e){e.is=function(e){return e&&e.edits&&Ln.WorkspaceEdit.is(e.edits)}}(Mp||(Mp={})),__webpack_require__(6755);class Op{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())}}class Lp{constructor(e){this._fs=e}decodeTextDocumentPosition(e,t){return{filePath:we(this._fs,e.uri),position:t}}decodeTextDocumentUri(e){return we(this._fs,e)}}const Up=(0,Sp.attachWorkDone)(void 0,void 0);var qp=__webpack_require__(8764).Buffer;class Vp{constructor(e,t){if(this._keys=[],this._values=[],this._version=0,this._copyOnWrite=!1,this._comparer="object"==typeof e?e.comparer:e,this._order="object"==typeof e&&"insertion"===e.sort?[]:void 0,t){const e=Bp(t);try{for(let t=Wp(e);t;t=Wp(e)){const[e,n]=t.value;this.set(e,n)}}finally{jp(e)}}}get size(){return this._keys.length}get comparer(){return this._comparer}get[Symbol.toStringTag](){return"SortedMap"}has(e){return d(this._keys,e,t,this._comparer)>=0}get(e){const n=d(this._keys,e,t,this._comparer);return n>=0?this._values[n]:void 0}set(e,n){const i=d(this._keys,e,t,this._comparer);return i>=0?this._values[i]=n:(this._writePreamble(),u(this._keys,~i,e),u(this._values,~i,n),this._order&&u(this._order,~i,this._version),this._writePostScript()),this}delete(e){const n=d(this._keys,e,t,this._comparer);return n>=0&&(this._writePreamble(),this._orderedRemoveItemAt(this._keys,n),this._orderedRemoveItemAt(this._values,n),this._order&&this._orderedRemoveItemAt(this._order,n),this._writePostScript(),!0)}clear(){this.size>0&&(this._writePreamble(),this._keys.length=0,this._values.length=0,this._order&&(this._order.length=0),this._writePostScript())}forEach(e,t){const n=this._keys,i=this._values,r=this._getIterationOrder(),s=this._version;this._copyOnWrite=!0;try{if(r)for(const s of r)e.call(t,i[s],n[s],this);else for(let r=0;rt)).sort(((t,n)=>e[t]-e[n]))}}_orderedRemoveItemAt(e,t){for(let n=t;n=2&&"_"===e.charAt(0)&&"_"===e.charAt(1)?"_"+e:e}static _unescapeKey(e){return e.length>=3&&"_"===e.charAt(0)&&"_"===e.charAt(1)&&"_"===e.charAt(2)?e.slice(1):e}}zp._undefinedValue={};const $p=Object.freeze({EACCES:"access denied",EIO:"an I/O error occurred",ENOENT:"no such file or directory",EEXIST:"file already exists",ELOOP:"too many symbolic links encountered",ENOTDIR:"no such directory",EISDIR:"path is a directory",EBADF:"invalid file descriptor",EINVAL:"invalid value",ENOTEMPTY:"directory not empty",EPERM:"operation not permitted",EROFS:"file system is read-only"});function Hp(e,t=""){const n=new Error(`${e}: ${$p[e]} ${t}`);return n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,Hp),n}const Gp=function(){const e=Ie();return new RegExp(`^(?!(${e}|${e}${e}w+${e}|[a-zA-Z]:${e}?|)$)`)}(),Kp=/[:*?"<>|]/,Jp=/[:"<>|]/,Yp=/^\.{1,2}$|[:*?"<>|]/,Qp=/^\.{1,2}$|[:"<>|]/,Zp=/\.\w+$/;function Xp(e,t=2016){const n=G(e),i=ce(e);if(!function(e,t,n){const i=!!e[0],r=e.length>2,s=e.length>1,o=s&&Zp.test(e[e.length-1]),a=1024&t?2048&t?Jp:Kp:2048&t?Qp:Yp;if(1&t&&!i)return!1;if(2&t&&!r)return!1;if(4&t&&!s)return!1;if(8&t&&!o)return!1;if(16&t&&!n)return!1;if(1&t&&(t|=32),2&t&&(t|=64),4&t&&(t|=128),8&t&&(t|=256),16&t&&(t|=512),32&~t&&i)return!1;if(64&~t&&r)return!1;if(128&~t&&s)return!1;if(256&~t&&o)return!1;if(512&~t&&n)return!1;if(Gp.test(e[0]))return!1;for(let t=1;t1&&i?J(K(n))+S.sep:J(K(n))}var ed=__webpack_require__(8764).Buffer;const td=X("/");let nd=0,id=0;class rd{constructor(e,t={}){this._lazy={},this._tmpfileCounter=0;const{time:n=-1,files:i,meta:r}=t;if(this.ignoreCase=e,this.stringComparer=this.ignoreCase?ae:oe,this._time=n,r)for(const e of Object.keys(r))this.meta.set(e,r[e]);i&&this._applyFiles(i,"");let s=t.cwd;if((!s||!Se(s))&&this._lazy.links){const e=Bp(this._lazy.links.keys());try{for(let t=Wp(e);t;t=Wp(e)){const e=t.value;s=s?ee(e,s):e;break}}finally{jp(e)}}s&&(Xp(s,2017),this.mkdirpSync(s)),this._cwd=s||""}get meta(){return this._lazy.meta||(this._lazy.meta=new zp(this._shadowRoot?this._shadowRoot.meta:void 0)),this._lazy.meta}get isReadonly(){return Object.isFrozen(this)}makeReadonly(){return Object.freeze(this),this}get shadowRoot(){return this._shadowRoot}snapshot(){if(this.isReadonly)return;const e=new rd(this.ignoreCase,{time:this._time});e._lazy=this._lazy,e._cwd=this._cwd,e._time=this._time,e._shadowRoot=this._shadowRoot,e._dirStack=this._dirStack,e.makeReadonly(),this._lazy={},this._shadowRoot=e}shadow(e=this.ignoreCase){if(!this.isReadonly)throw new Error("Cannot shadow a mutable file system.");if(e&&!this.ignoreCase)throw new Error("Cannot create a case-insensitive file system from a case-sensitive one.");const t=new rd(e,{time:this._time});return t._shadowRoot=this,t._cwd=this._cwd,t}time(e){if(void 0!==e&&this.isReadonly)throw Hp("EPERM");let t=this._time;return"function"==typeof t&&(t=t()),"object"==typeof t&&(t=t.getTime()),-1===t&&(t=Date.now()),void 0!==e&&(this._time=e),t}filemeta(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");return this._filemeta(t)}_filemeta(e){if(!e.meta){const t=e.shadowRoot&&this._shadowRoot&&this._shadowRoot._filemeta(e.shadowRoot);e.meta=new zp(t)}return e.meta}cwd(){if(!this._cwd)throw new Error("The current working directory has not been set.");const{node:e}=this._walk(this._cwd);if(!e)throw Hp("ENOENT");if(!vd(e))throw Hp("ENOTDIR");return this._cwd}chdir(e){if(this.isReadonly)throw Hp("EPERM");e=this._resolve(e);const{node:t}=this._walk(e);if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");this._cwd=e}pushd(e){if(this.isReadonly)throw Hp("EPERM");e&&(e=this._resolve(e)),this._cwd&&(this._dirStack||(this._dirStack=[]),this._dirStack.push(this._cwd)),e&&e!==this._cwd&&this.chdir(e)}popd(){if(this.isReadonly)throw Hp("EPERM");const e=this._dirStack&&this._dirStack.pop();e&&this.chdir(e)}apply(e){this._applyFiles(e,this._cwd)}scanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e)),t,n,!1,i),i}lscanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e,!0)),t,n,!0,i),i}createFileSystemWatcher(e,t){return{close:()=>{}}}getModulePath(){return td}tmpdir(){return this.mkdirpSync("/tmp"),X("/tmp")}tmpfile(e){const t=(null==e?void 0:e.prefix)||"tmp",n=(null==e?void 0:e.prefix)?"-"+e.prefix:"",i=`${t}-${this._tmpfileCounter++}${n}`,r=te(this.tmpdir(),i);return this.writeFileSync(r,""),r}realCasePath(e){return e}isMappedFilePath(e){return!1}getOriginalFilePath(e){return e}getMappedFilePath(e){return e}getUri(e){return x.file(e).toString()}_scan(e,t,n,i,r,s){if("ancestors-or-self"!==n&&"self"!==n&&"descendants-or-self"!==n||i.accept&&!i.accept(e,t)||s.push(e),"ancestors-or-self"===n||"ancestors"===n){const t=$(e);if(t!==e)try{const e=this._stat(this._walk(t,r));i.traverse&&!i.traverse(t,e)||this._scan(t,e,"ancestors-or-self",i,r,s)}catch{}}if(("descendants-or-self"===n||"descendants"===n)&&t.isDirectory()&&(!i.traverse||i.traverse(e,t)))for(const t of this.readdirSync(e))try{const n=te(e,t),o=this._stat(this._walk(n,r));this._scan(n,o,"descendants-or-self",i,r,s)}catch{}}mountSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");e=Xp(e,2017);const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(t),!0);if(s)throw Hp("EEXIST");const a=this.time(),l=this._mknod(i?i.dev:++nd,fd,511,a);l.source=e,l.resolver=n,this._addLink(i,r,o,l,a)}rimrafSync(e){try{const t=this.lstatSync(e);if(t.isFile()||t.isSymbolicLink())this.unlinkSync(e);else if(t.isDirectory()){for(const t of this.readdirSync(e))this.rimrafSync(te(e,t));this.rmdirSync(e)}}catch(e){if("ENOENT"===e.code)return;throw e}}mkdirpSync(e){e=this._resolve(e);const t=this._walk(e,!0,((e,t)=>"ENOENT"===e.code?(this._mkdir(t),"retry"):"throw"));t.node||this._mkdir(t)}getFileListing(){let e="";const t=(n,i)=>{const r=Bp(i);try{for(let i=Wp(r);i;i=Wp(r)){const[r,c]=i.value,u=n?te(n,r):r,p=0===(s=this._cwd,o=u,a=this.ignoreCase,l=void 0,s=me(s),o=me(o),"string"==typeof a?(s=te(a,s),o=te(a,o)):"boolean"==typeof a&&(l=a),xe(s,o,U(l)))?"*":" ";e&&(e+="\n"),e+=p,vd(c)?(e+=le(u),t(u,this._getLinks(c))):_d(c)?e+=u:Td(c)&&(e+=`${u} -> ${c.symlink}`)}}finally{jp(r)}var s,o,a,l};return t(void 0,this._getRootLinks()),e}debugPrint(){console.log(this.getFileListing())}existsSync(e){const t=this._walk(this._resolve(e),!0,(()=>"stop"));return void 0!==t&&void 0!==t.node}statSync(e){return this._stat(this._walk(this._resolve(e)))}utimesSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");if(!isFinite(+t)||!isFinite(+n))throw Hp("EINVAL");const i=this._walk(this._resolve(e));if(!i||!i.node)throw Hp("ENOENT");i.node.atimeMs=+t,i.node.mtimeMs=+n,i.node.ctimeMs=this.time()}lstatSync(e){return this._stat(this._walk(this._resolve(e),!0))}_stat(e){const t=e.node;if(!t)throw Hp("ENOENT",e.realpath);return new Id(t.dev,t.ino,t.mode,t.nlink,0,_d(t)?this._getSize(t):Td(t)?t.symlink.length:0,4096,0,t.atimeMs,t.mtimeMs,t.ctimeMs,t.birthtimeMs)}readdirSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).keys())}readdirEntriesSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).entries()).map((([e,t])=>function(e,t){return{isFile:()=>_d(t),isDirectory:()=>vd(t),isBlockDevice:()=>!1,isCharacterDevice:()=>!1,isFIFO:()=>!1,isSocket:()=>!1,isSymbolicLink:()=>Td(t),name:e}}(e,t)))}mkdirSync(e){if(this.isReadonly)throw Hp("EROFS");this._mkdir(this._walk(this._resolve(e),!0))}_mkdir({parent:e,links:t,node:n,basename:i}){if(n)throw Hp("EEXIST");const r=this.time(),s=this._mknod(e?e.dev:++nd,fd,511,r);this._addLink(e,t,i,s,r)}rmdirSync(e){if(this.isReadonly)throw Hp("EROFS");e=this._resolve(e);const{parent:t,links:n,node:i,basename:r}=this._walk(e,!0);if(!t)throw Hp("EPERM");if(!vd(i))throw Hp("ENOTDIR");if(0!==this._getLinks(i).size)throw Hp("ENOTEMPTY");this._removeLink(t,n,r,i)}linkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EPERM");const{parent:i,links:r,basename:s,node:o}=this._walk(this._resolve(t),!0);if(!i)throw Hp("EPERM");if(o)throw Hp("EEXIST");this._addLink(i,r,s,n)}unlinkSync(e){if(this.isReadonly)throw Hp("EROFS");const{parent:t,links:n,node:i,basename:r}=this._walk(this._resolve(e),!0);if(!t)throw Hp("EPERM");if(!i)throw Hp("ENOENT");if(vd(i))throw Hp("EISDIR");this._removeLink(t,n,r,i)}renameSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(e),!0);if(!n)throw Hp("EPERM");if(!r)throw Hp("ENOENT");const{parent:o,links:a,node:l,basename:c}=this._walk(this._resolve(t),!0);if(!o)throw Hp("EPERM");const u=this.time();if(l){if(vd(r)){if(!vd(l))throw Hp("ENOTDIR");if(this._getLinks(l).size>0)throw Hp("ENOTEMPTY")}else if(vd(l))throw Hp("EISDIR");this._removeLink(o,a,c,l,u)}this._replaceLink(n,i,s,o,a,c,r,u)}symlinkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(t),!0);if(!n)throw Hp("EPERM");if(r)throw Hp("EEXIST");const o=this.time(),a=this._mknod(n.dev,hd,438,o);a.symlink=Xp(e,2016),this._addLink(n,i,s,a,o)}realpathSync(e){const{realpath:t}=this._walk(this._resolve(e));return t}readFileSync(e,t=null){const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EISDIR");if(!_d(n))throw Hp("EBADF");const i=this._getBuffer(n).slice();return t?i.toString(t):i}writeFileSync(e,t,n=null){if(this.isReadonly)throw Hp("EROFS");const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(e),!1);if(!i)throw Hp("EPERM");const a=this.time();let l=s;if(l||(l=this._mknod(i.dev,md,438,a),this._addLink(i,r,o,l,a)),vd(l))throw Hp("EISDIR");if(!_d(l))throw Hp("EBADF");l.buffer=ed.isBuffer(t)?t.slice():function(e,t){return qp.from&&qp.from!==Int8Array.from?qp.from(e,t):new qp(e,t)}(""+t,n||"utf8"),l.size=l.buffer.byteLength,l.mtimeMs=a,l.ctimeMs=a}readFile(e){return Promise.resolve(this.readFileSync(e))}readFileText(e,t){return Promise.resolve(this.readFileSync(e,t||"utf8"))}createReadStream(e){throw new Error("Not implemented in test file system.")}createWriteStream(e){throw new Error("Not implemented in test file system.")}copyFileSync(e,t){throw new Error("Not implemented in test file system.")}diff(e=this.shadowRoot,t={}){const n={};return(e?rd._rootDiff(n,this,e,t):rd._trackCreatedInodes(n,this,this._getRootLinks()))?n:void 0}static diff(e,t,n={}){const i={};return rd._rootDiff(i,e,t,n)?i:void 0}isInZipOrEgg(e){return!1}static _diffWorker(e,t,n,i,r,s){if(n&&!r)return rd._trackCreatedInodes(e,t,n);if(r&&!n)return rd._trackDeletedInodes(e,r);if(n&&r){let o=!1;return r.forEach(((t,i)=>{n.has(i)||(e[i]=vd(t)?new cd:new ud,o=!0)})),n.forEach(((n,a)=>{const l=r.get(a);if(l){if(vd(n)&&vd(l))return o=rd._directoryDiff(e,a,t,n,i,l,s)||o;if(_d(n)&&_d(l))return o=rd._fileDiff(e,a,t,n,i,l,s)||o;if(Td(n)&&Td(l))return o=rd._symlinkDiff(e,a,n,l)||o}return o=rd._trackCreatedInode(e,a,t,n)||o})),o}return!1}static _rootDiff(e,t,n,i){for(;!t._lazy.links&&t._shadowRoot;)t=t._shadowRoot;for(;!n._lazy.links&&n._shadowRoot;)n=n._shadowRoot;return t!==n&&!!(t._lazy.links||t._shadowRoot||n._lazy.links||n._shadowRoot)&&rd._diffWorker(e,t,t._getRootLinks(),n,n._getRootLinks(),i)}static _directoryDiff(e,t,n,i,r,s,o){for(;!i.links&&i.shadowRoot;)i=i.shadowRoot;for(;!s.links&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(gd(i)&&gd(s))return!1;if(!i.links&&!s.links&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a={};return!!rd._diffWorker(a,n,n._getLinks(i),r,r._getLinks(s),o)&&(e[t]=new sd(a),!0)}static _fileDiff(e,t,n,i,r,s,o){for(;!i.buffer&&i.shadowRoot;)i=i.shadowRoot;for(;!s.buffer&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(yd(i)&&yd(s))return!1;if(!i.buffer&&!s.buffer&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a=n._getBuffer(i),l=r._getBuffer(s);return a!==l&&(0===ed.compare(a,l)?!!o.includeChangedFileWithSameContent&&(e[t]=new ad(a),!0):(e[t]=new od(a),!0))}static _symlinkDiff(e,t,n,i){return n.symlink!==i.symlink&&(e[t]=new pd(n.symlink),!0)}static _trackCreatedInode(e,t,n,i){if(vd(i)){const r={};rd._trackCreatedInodes(r,n,n._getLinks(i)),e[t]=new sd(r)}else Td(i)?e[t]=new pd(i.symlink):e[t]=new od(i.buffer||"");return!0}static _trackCreatedInodes(e,t,n){return!!n.size&&(n.forEach(((n,i)=>{rd._trackCreatedInode(e,i,t,n)})),!0)}static _trackDeletedInodes(e,t){return!!t.size&&(t.forEach(((t,n)=>{e[n]=vd(t)?new cd:new ud})),!0)}_mknod(e,t,n,i=this.time()){return{dev:e,ino:++id,mode:n&~dd&-19&4095|t&dd,atimeMs:i,mtimeMs:i,ctimeMs:i,birthtimeMs:i,nlink:0}}_addLink(e,t,n,i,r=this.time()){t.set(n,i),i.nlink++,i.ctimeMs=r,e&&(e.mtimeMs=r),e||this._cwd||(this._cwd=n)}_removeLink(e,t,n,i,r=this.time()){t.delete(n),i.nlink--,i.ctimeMs=r,e&&(e.mtimeMs=r)}_replaceLink(e,t,n,i,r,s,o,a){e!==i?(this._removeLink(e,t,n,o,a),this._addLink(i,r,s,o,a)):(t.delete(n),t.set(s,o),e.mtimeMs=a,i.mtimeMs=a)}_getRootLinks(){if(!this._lazy.links){const e=new Vp(this.stringComparer);this._shadowRoot&&this._copyShadowLinks(this._shadowRoot._getRootLinks(),e),this._lazy.links=e}return this._lazy.links}_getLinks(e){if(!e.links){const t=new Vp(this.stringComparer),{source:n,resolver:i}=e;if(n&&i){e.source=void 0,e.resolver=void 0;for(const r of i.readdirSync(n)){const s=te(n,r),o=i.statSync(s);switch(o.mode&dd){case fd:{const s=this._mknod(e.dev,fd,511);s.source=te(n,r),s.resolver=i,this._addLink(e,t,r,s);break}case md:{const s=this._mknod(e.dev,md,438);s.source=te(n,r),s.resolver=i,s.size=o.size,this._addLink(e,t,r,s);break}}}}else this._shadowRoot&&e.shadowRoot&&this._copyShadowLinks(this._shadowRoot._getLinks(e.shadowRoot),t);e.links=t}return e.links}_getShadow(e){const t=this._lazy.shadows||(this._lazy.shadows=new Map);let n=t.get(e.ino);return n||(n={dev:e.dev,ino:e.ino,mode:e.mode,atimeMs:e.atimeMs,mtimeMs:e.mtimeMs,ctimeMs:e.ctimeMs,birthtimeMs:e.birthtimeMs,nlink:e.nlink,shadowRoot:e},Td(e)&&(n.symlink=e.symlink),t.set(n.ino,n)),n}_copyShadowLinks(e,t){const n=Bp(e);try{for(let e=Wp(n);e;e=Wp(n)){const[n,i]=e.value;t.set(n,this._getShadow(i))}}finally{jp(n)}}_getSize(e){return e.buffer?e.buffer.byteLength:void 0!==e.size?e.size:e.source&&e.resolver?e.size=e.resolver.statSync(e.source).size:this._shadowRoot&&e.shadowRoot?e.size=this._shadowRoot._getSize(e.shadowRoot):0}_getBuffer(e){if(!e.buffer){const{source:t,resolver:n}=e;t&&n?(e.source=void 0,e.resolver=void 0,e.size=void 0,e.buffer=n.readFileSync(t)):this._shadowRoot&&e.shadowRoot?e.buffer=this._shadowRoot._getBuffer(e.shadowRoot):e.buffer=ed.allocUnsafe(0)}return e.buffer}_walk(e,t,n){let i,r=this._getRootLinks(),s=G(e),o=0,a=0,l=!1;for(;;){if(a>=40)throw Hp("ELOOP");const e=o===s.length-1,n=s[o],u=r.get(n);if(e&&(t||!Td(u)))return{realpath:J(s),basename:n,parent:i,links:r,node:u};if(void 0===u){if(c(Hp("ENOENT"),u))continue;return}if(Td(u)){const e=ee(J(s.slice(0,o)),u.symlink);r=this._getRootLinks(),i=void 0,s=G(e).concat(s.slice(o+1)),o=0,a++,l=!1}else if(vd(u))r=this._getLinks(u),i=u,o++,l=!1;else if(!c(Hp("ENOTDIR"),u))return}function c(e,t){const a=J(s.slice(0,o+1)),c=s[o],u=!l&&n?n(e,{realpath:a,basename:c,parent:i,links:r,node:t}):"throw";if("stop"===u)return!1;if("retry"===u)return l=!0,!0;throw e}}_resolve(e){return this._cwd?ee(this._cwd,Xp(e,4064)):Xp(e,4065)}_applyFiles(e,t){const n=[];this._applyFilesWorker(e,t,n);for(const[e,i]of n){if(this.mkdirpSync($(i)),this.pushd($(i)),e instanceof pd){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be symbolic links.");this.symlinkSync(ee(t,e.symlink),i),this._applyFileExtendedOptions(i,e)}else if(e instanceof ld){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be hard links.");this.linkSync(e.path,i)}else this.mountSync(e.source,i,e.resolver),this._applyFileExtendedOptions(i,e);this.popd()}}_applyFileExtendedOptions(e,t){const{meta:n}=t;if(void 0!==n){const t=this.filemeta(e);for(const e of Object.keys(n))t.set(e,n[e])}}_applyFilesWorker(e,t,n){for(const i of Object.keys(e)){const r=bd(e[i]),s=t?ee(t,i):i;if(Xp(s,2017),null==r||r instanceof cd||r instanceof ud){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be deleted.");this.rimrafSync(s)}else if(r instanceof od){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be files.");this.mkdirpSync($(s)),this.writeFileSync(s,r.data,r.encoding),this._applyFileExtendedOptions(s,r)}else r instanceof sd?(this.mkdirpSync(s),this._applyFileExtendedOptions(s,r),this._applyFilesWorker(r.files,s,n)):n.push([r,s])}}}class sd{constructor(e,{meta:t}={}){this.files=e,this.meta=t}}class od{constructor(e,{meta:t,encoding:n}={}){this.data=e,this.encoding=n,this.meta=t}}class ad extends od{constructor(e,t){super(e,t)}}class ld{constructor(e){this.path=e}}class cd{}class ud{}class pd{constructor(e,{meta:t}={}){this.symlink=e,this.meta=t}}const dd=61440,hd=40960,md=32768,fd=16384;function gd(e){return!(e.links||e.shadowRoot||e.resolver||e.source)}function yd(e){return!(e.buffer||e.shadowRoot||e.resolver||e.source)}function _d(e){return void 0!==e&&(e.mode&dd)===md}function vd(e){return void 0!==e&&(e.mode&dd)===fd}function Td(e){return void 0!==e&&(e.mode&dd)===hd}function bd(e){return null==e||e instanceof sd||e instanceof od||e instanceof ld||e instanceof pd||e instanceof class{constructor(e,t,{meta:n}={}){this.source=e,this.resolver=t,this.meta=n}}||e instanceof cd||e instanceof ud?e:"string"==typeof e||ed.isBuffer(e)?new od(e):new sd(e)}class Id{constructor(e=0,t=0,n=0,i=0,r=0,s=0,o=0,a=0,l=0,c=0,u=0,p=0){this.dev=e,this.ino=t,this.mode=n,this.nlink=i,this.uid=0,this.gid=0,this.rdev=r,this.size=s,this.blksize=o,this.blocks=a,this.atimeMs=l,this.mtimeMs=c,this.ctimeMs=u,this.birthtimeMs=p,this.atime=new Date(this.atimeMs),this.mtime=new Date(this.mtimeMs),this.ctime=new Date(this.ctimeMs),this.birthtime=new Date(this.birthtimeMs)}isFile(){return(this.mode&dd)===md}isDirectory(){return(this.mode&dd)===fd}isSymbolicLink(){return(this.mode&dd)===hd}isBlockDevice(){return 24576==(this.mode&dd)}isCharacterDevice(){return 8192==(this.mode&dd)}isFIFO(){return 4096==(this.mode&dd)}isSocket(){return 49152==(this.mode&dd)}}class Sd extends Map{constructor(){super(...arguments),this._defaultWorkspacePath=""}getNonDefaultWorkspaces(){const e=[];return this.forEach((t=>{t.rootPath&&e.push(t)})),e}getWorkspaceForFile(e,t){let n,i;if(this.forEach((e=>{e.rootPath&&t.startsWith(e.rootPath)&&(void 0===n||e.rootPath.startsWith(n))&&(n=e.rootPath,i=e)})),void 0===i){let t=this.get(this._defaultWorkspacePath);if(!t){const n=[...this.keys()];if(1===n.length)return this.get(n[0]);t={workspaceName:"",rootPath:"",rootUri:"",serviceInstance:e.createAnalyzerService(this._defaultWorkspacePath),disableLanguageServices:!1,disableOrganizeImports:!1,isInitialized:gp()},this.set(this._defaultWorkspacePath,t),e.updateSettingsForWorkspace(t).ignoreErrors()}return t}return i}}var xd=__webpack_require__(7630);const Cd={openFilesTimeInMs:50,noOpenFilesTimeInMs:200};class wd extends class{constructor(e,t,n){var i,r;this._serverOptions=e,this._connection=t,this.console=n,this._lastTriggerKind=ot.CompletionTriggerKind.Invoked,this.rootPath="",this.client={hasConfigurationCapability:!1,hasVisualStudioExtensionsCapability:!1,hasWorkspaceFoldersCapability:!1,hasWatchFileCapability:!1,hasActiveParameterCapability:!1,hasSignatureLabelOffsetCapability:!1,hasHierarchicalDocumentSymbolCapability:!1,hasWindowProgressCapability:!1,hasGoToDeclarationCapability:!1,hasDocumentChangeCapability:!1,hasDocumentAnnotationCapability:!1,hoverContentFormat:ot.MarkupKind.PlainText,completionDocFormat:ot.MarkupKind.PlainText,completionSupportsSnippet:!1,signatureDocFormat:ot.MarkupKind.PlainText,supportsDeprecatedDiagnosticTag:!1,supportsUnnecessaryDiagnosticTag:!1,completionItemResolveSupportsAdditionalTextEdits:!1},this.diagnosticTextSettings={},__webpack_require__.g.__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._fileWatcherProvider=this._serverOptions.fileWatcherProvider,this.fs=new rt(this._serverOptions.fileSystem),this._uriParser=new Lp(this.fs);const s=this.fs.getModulePath();s&&this.fs.chdir(s),this.setupConnection(null!==(i=e.supportedCommands)&&void 0!==i?i:[],null!==(r=e.supportedCodeActions)&&void 0!==r?r:[]),this._progressReporter=new Op(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 n=this._defaultClientConfig,t.split(".").reduce(((e,t)=>e&&e[t]),n);var n}isOpenFilesOnly(e){return"workspace"!==e}getSeverityOverrides(e){const t=e;if(["error","warning","information","none"].includes(t))return t}getDiagnosticRuleName(e){const t=e;if(wc().includes(t))return t}createBackgroundAnalysisProgram(e,t,n,i,r,s){return new xp(e,t,n,i,r,s)}setExtension(e){this._serverOptions.extension=e}get window(){return this._connection.window}get supportAdvancedEdits(){return this.client.hasDocumentChangeCapability&&this.client.hasDocumentAnnotationCapability}createAnalyzerService(e){this.console.log(`Starting service instance "${e}"`);const t=new Np(e,this.fs,this.console,this.createHost.bind(this),this.createImportResolver.bind(this),void 0,this._serverOptions.extension,this.createBackgroundAnalysis(),this._serverOptions.maxAnalysisTimeInForeground,this.createBackgroundAnalysisProgram.bind(this),this._serverOptions.cancellationProvider);return t.setCompletionCallback((e=>this.onAnalysisCompletedHandler(e))),t}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.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)))}async initialize(e,t,n){var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,q,V;this.diagnosticTextSettings={locale:e.locale,style:e.initializationOptions.diagnosticStyle},await dl(this.diagnosticTextSettings),this.rootPath=e.rootPath||"";const B=e.capabilities;this.client.hasConfigurationCapability=!!(null===(i=B.workspace)||void 0===i?void 0:i.configuration),this.client.hasWatchFileCapability=!!(null===(s=null===(r=B.workspace)||void 0===r?void 0:r.didChangeWatchedFiles)||void 0===s?void 0:s.dynamicRegistration),this.client.hasWorkspaceFoldersCapability=!!(null===(o=B.workspace)||void 0===o?void 0:o.workspaceFolders),this.client.hasVisualStudioExtensionsCapability=!!B.supportsVisualStudioExtensions,this.client.hasActiveParameterCapability=!!(null===(c=null===(l=null===(a=B.textDocument)||void 0===a?void 0:a.signatureHelp)||void 0===l?void 0:l.signatureInformation)||void 0===c?void 0:c.activeParameterSupport),this.client.hasSignatureLabelOffsetCapability=!!(null===(h=null===(d=null===(p=null===(u=B.textDocument)||void 0===u?void 0:u.signatureHelp)||void 0===p?void 0:p.signatureInformation)||void 0===d?void 0:d.parameterInformation)||void 0===h?void 0:h.labelOffsetSupport),this.client.hasHierarchicalDocumentSymbolCapability=!!(null===(f=null===(m=B.textDocument)||void 0===m?void 0:m.documentSymbol)||void 0===f?void 0:f.hierarchicalDocumentSymbolSupport),this.client.hasDocumentChangeCapability=!!(null===(y=null===(g=B.workspace)||void 0===g?void 0:g.workspaceEdit)||void 0===y?void 0:y.documentChanges)&&!!(null===(_=B.workspace.workspaceEdit)||void 0===_?void 0:_.resourceOperations),this.client.hasDocumentAnnotationCapability=!!(null===(T=null===(v=B.workspace)||void 0===v?void 0:v.workspaceEdit)||void 0===T?void 0:T.changeAnnotationSupport),this.client.hoverContentFormat=this._getCompatibleMarkupKind(null===(I=null===(b=B.textDocument)||void 0===b?void 0:b.hover)||void 0===I?void 0:I.contentFormat),this.client.completionDocFormat=this._getCompatibleMarkupKind(null===(C=null===(x=null===(S=B.textDocument)||void 0===S?void 0:S.completion)||void 0===x?void 0:x.completionItem)||void 0===C?void 0:C.documentationFormat),this.client.completionSupportsSnippet=!!(null===(k=null===(E=null===(w=B.textDocument)||void 0===w?void 0:w.completion)||void 0===E?void 0:E.completionItem)||void 0===k?void 0:k.snippetSupport),this.client.signatureDocFormat=this._getCompatibleMarkupKind(null===(P=null===(A=null===(D=B.textDocument)||void 0===D?void 0:D.signatureHelp)||void 0===A?void 0:A.signatureInformation)||void 0===P?void 0:P.documentationFormat);const W=(null===(N=null===(F=null===(R=B.textDocument)||void 0===R?void 0:R.publishDiagnostics)||void 0===F?void 0:F.tagSupport)||void 0===N?void 0:N.valueSet)||[];return this.client.supportsUnnecessaryDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Unnecessary)),this.client.supportsDeprecatedDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Deprecated)),this.client.hasWindowProgressCapability=!!(null===(M=B.window)||void 0===M?void 0:M.workDoneProgress),this.client.hasGoToDeclarationCapability=!!(null===(O=B.textDocument)||void 0===O?void 0:O.declaration),this.client.completionItemResolveSupportsAdditionalTextEdits=!!(null===(V=null===(q=null===(U=null===(L=B.textDocument)||void 0===L?void 0:L.completion)||void 0===U?void 0:U.completionItem)||void 0===q?void 0:q.resolveSupport)||void 0===V?void 0:V.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))})):e.rootPath&&this._workspaceMap.set(e.rootPath,this.createWorkspaceServiceInstance(void 0,e.rootPath)),this.updateSettingsForAllWorkspaces(),{capabilities:{textDocumentSync:ot.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:{workDoneProgress:!0},completionProvider:{triggerCharacters:this.client.hasVisualStudioExtensionsCapability?[".","[","@"]:[".","["],resolveProvider:!0,workDoneProgress:!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);this._workspaceMap.set(t,n),await this.updateSettingsForWorkspace(n)}))})),this.client.hasWatchFileCapability&&this._connection.client.register(ot.DidChangeWatchedFilesNotification.type,{watchers:[...Pp.map((e=>({globPattern:`**/${e}`,kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}))),{globPattern:"**",kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}]})}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?sc.PreferSource:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onDeclaration(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?sc.PreferStubs:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onTypeDefinition(e,t){return this.getDefinitions(e,t,sc.All,((e,t,n,i,r)=>e.serviceInstance.getTypeDefinitionForPosition(t,n,r)))}async getDefinitions(e,t,n,i){this.recordUserInteractionTime();const{filePath:r,position:s}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(r);if(o.disableLanguageServices)return;const a=i(o,r,s,n,t);return a?a.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))):void 0}async onReferences(e,t,n,i){this._pendingFindAllRefsCancellationSource&&(this._pendingFindAllRefsCancellationSource.cancel(),this._pendingFindAllRefsCancellationSource=void 0);const r=await this._getProgressReporter(n,ml.CodeAction.findingReferences(),t),s=r.source;this._pendingFindAllRefsCancellationSource=s;try{const{filePath:t,position:n}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(t);if(o.disableLanguageServices)return;const a=e=>e.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))),l=[],c=i?e=>i.report(a(e)):e=>l.push(...a(e));return o.serviceInstance.reportReferencesForPosition(t,n,e.context.includeDeclaration,c,s.token),l}finally{r.reporter.done(),s.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 r=[];return i.serviceInstance.addSymbolsForDocument(n,r,t),this.client.hasHierarchicalDocumentSymbolCapability?r:function(e,t){const n=[];for(const i of t)Uc(n,e,i);return n}(e.textDocument.uri,r)}async onWorkspaceSymbol(e,t,n){const i=[],r=n?e=>n.report(e):e=>i.push(...e);for(const n of this._workspaceMap.values())await n.isInitialized.promise,n.disableLanguageServices||n.disableWorkspaceSymbol||n.serviceInstance.reportSymbolsForWorkspace(e.query,r,t);return i}async onHover(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=(await this.getWorkspaceForFile(n)).serviceInstance.getHoverForPosition(n,i,this.client.hoverContentFormat,t);return function(e,t){if(!t)return;const n=t.parts.map((t=>{if(t.python){if(e===ot.MarkupKind.Markdown)return"```python\n"+t.text+"\n```\n";if(e===ot.MarkupKind.PlainText)return t.text+"\n\n";E(`Unsupported markup type: ${e}`)}return t.text})).join("").trimEnd();return{contents:{kind:e,value:n},range:t.range}}(this.client.hoverContentFormat,r)}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,i,r,s;const{filePath:o,position:a}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),l=await this.getWorkspaceForFile(o);if(l.disableLanguageServices)return;const c=l.serviceInstance.getSignatureHelpForPosition(o,a,this.client.signatureDocFormat,t);if(!c)return;const u=c.signatures.map((e=>{let t=[];e.parameters&&(t=e.parameters.map((e=>ot.ParameterInformation.create(this.client.hasSignatureLabelOffsetCapability?[e.startOffset,e.endOffset]:e.text,e.documentation))));const n=ot.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})),p=e=>{var t;return void 0!==e.activeParameter||!c.callHasParameters&&!(null===(t=e.parameters)||void 0===t?void 0:t.length)};let d=u.findIndex(p);-1===d&&(d=null);let h=null!==d?u[d].activeParameter:null;if((null===(n=e.context)||void 0===n?void 0:n.isRetrigger)&&e.context.triggerKind!==ot.SignatureHelpTriggerKind.Invoked){const t=null!==(r=null===(i=e.context.activeSignatureHelp)||void 0===i?void 0:i.activeSignature)&&void 0!==r?r:null;if(null!==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:u,activeSignature:d,activeParameter:h}}async onCompletion(e,t){var n,i;const r=this._lastTriggerKind!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions||(null===(n=e.context)||void 0===n?void 0:n.triggerKind)!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions;this._lastTriggerKind=null===(i=e.context)||void 0===i?void 0:i.triggerKind;const{filePath:s,position:o}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),a=await this.getWorkspaceForFile(s);if(a.disableLanguageServices)return;const l=await this.getWorkspaceCompletionsForPosition(a,s,o,a.rootPath,this.getCompletionOptions(e),t);return l&&l.completionList&&(l.completionList.isIncomplete=r),null==l?void 0:l.completionList}async onCompletionResolve(e,t){const n=e.data;if(n&&n.filePath){const i=await this.getWorkspaceForFile(n.workspacePath);this.resolveWorkspaceCompletionItem(i,n.filePath,e,t)}return e}async onRenameRequest(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return;const s=r.serviceInstance.renameSymbolAtPosition(n,i,e.newName,""===r.rootPath,t);return s?function(e,t){const n={changes:{}};return t.forEach((t=>{const i=Ee(e,t.filePath);n.changes[i]=n.changes[i]||[],n.changes[i].push({range:t.range,newText:t.replacementText})})),n}(this.fs,s):void 0}async onPrepare(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;const s=r.serviceInstance.getCallForPosition(n,i,t)||null;return s?this.fs.isInZipOrEgg(s.uri)?null:(s.uri=Ee(this.fs,s.uri),[s]):null}async onIncomingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getIncomingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.from.uri))),s.forEach((e=>{e.from.uri=Ee(this.fs,e.from.uri)})),s):null}async onOutgoingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getOutgoingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.to.uri))),s.forEach((e=>{e.to.uri=Ee(this.fs,e.to.uri)})),s):null}async onDidOpenTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.addUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileOpened(t,e.textDocument.version,e.textDocument.text)}async onDidChangeTextDocument(e){this.recordUserInteractionTime();const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.hasUriMapEntry(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.updateOpenFileContents(t,e.textDocument.version,e.contentChanges)}async onDidCloseTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.removeUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileClosed(t)}onDidChangeWatchedFiles(e){e.changes.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=1===e.type?"add":"change";this._fileWatcherProvider.onFileChange(n,t)}))}async onExecuteCommand(e,t,n){this._pendingCommandCancellationSource&&(this._pendingCommandCancellationSource.cancel(),this._pendingCommandCancellationSource=void 0);const i=async t=>{const n=await this.executeCommand(e,t);return ot.WorkspaceEdit.is(n)&&this._connection.workspace.applyEdit({label:`Command '${e.command}'`,edit:n}),Mp.is(n)&&await this._connection.workspace.applyEdit({label:n.label,edit:n.edits}),n};if(!this.isLongRunningCommand(e.command))return await i(t);{const e=await this._getProgressReporter(n,ml.CodeAction.executingCommand(),t),r=e.source;this._pendingCommandCancellationSource=r;try{return await i(r.token)}finally{e.reporter.done(),r.dispose()}}}resolveWorkspaceCompletionItem(e,t,n,i){e.serviceInstance.resolveCompletionItem(t,n,this.getCompletionOptions(),void 0,i)}getWorkspaceCompletionsForPosition(e,t,n,i,r,s){return e.serviceInstance.getCompletionsForPosition(t,n,i,r,void 0,s)}updateSettingsForAllWorkspaces(){this._workspaceMap.forEach((e=>{this.updateSettingsForWorkspace(e).ignoreErrors()}))}getCompletionOptions(e){return{format:this.client.completionDocFormat,snippet:this.client.completionSupportsSnippet,lazyEdit:this.client.completionItemResolveSupportsAdditionalTextEdits,autoImport:!0}}createWorkspaceServiceInstance(e,t){var n,i,r;return{workspaceName:null!==(n=null==e?void 0:e.name)&&void 0!==n?n:"",rootPath:t,rootUri:null!==(i=null==e?void 0:e.uri)&&void 0!==i?i:"",serviceInstance:this.createAnalyzerService(null!==(r=null==e?void 0:e.name)&&void 0!==r?r:t),disableLanguageServices:!1,disableOrganizeImports:!1,disableWorkspaceSymbol:!1,isInitialized:gp()}}convertDiagnostics(e){return[{uri:Ee(this.fs,e.filePath),version:e.version,diagnostics:this._convertDiagnostics(e.diagnostics)}]}onAnalysisCompletedHandler(e){if(e.diagnostics.forEach((e=>{this.fs.isInZipOrEgg(e.filePath)||(this._sendDiagnostics(this.convertDiagnostics(e)),this.fs.pendingRequest(e.filePath,e.diagnostics.length>0))})),this._progressReporter.isEnabled(e))if(e.filesRequiringAnalysis>0){this._progressReporter.begin();const t=1===e.filesRequiringAnalysis?ml.CodeAction.filesToAnalyzeOne():ml.CodeAction.filesToAnalyzeCount().format({count:e.filesRequiringAnalysis});this._progressReporter.report(t)}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:On.Info,this.updateOptionsAndRestartService(e,t),e.disableLanguageServices=!!t.disableLanguageServices,e.disableOrganizeImports=!!t.disableOrganizeImports,e.isInitialized.resolve(!0)}updateOptionsAndRestartService(e,t,n){yp.runWithOptions(this.rootPath,e,t,n)}convertLogLevel(e){if(!e)return On.Info;switch(e.toLowerCase()){case"error":return On.Error;case"warning":return On.Warn;case"information":return On.Info;case"trace":return On.Log;default:return On.Info}}_sendDiagnostics(e){for(const t of e)this._connection.sendDiagnostics(t)}_getCompatibleMarkupKind(e){const t=[ot.MarkupKind.PlainText,ot.MarkupKind.Markdown];for(const n of null!=e?e:[])if(t.includes(n))return n;return ot.MarkupKind.PlainText}async _getProgressReporter(e,t,n){if(e.constructor!==Up.constructor)return{reporter:e,source:ut(n)};const i=await this._connection.window.createWorkDoneProgress();return i.begin(t,void 0,void 0,!0),{reporter:i,source:ut(n,i.token)}}_convertDiagnostics(e){const t=[];return e.forEach((e=>{const n=function(e){switch(e){case 0:return ot.DiagnosticSeverity.Error;case 1:return ot.DiagnosticSeverity.Warning;case 2:return ot.DiagnosticSeverity.Information;case 3:case 4:return ot.DiagnosticSeverity.Hint}}(e.category),i=e.getRule(),r=ot.Diagnostic.create(e.range,e.message,n,i,this._serverOptions.productName);if(3===e.category){if(r.tags=[ot.DiagnosticTag.Unnecessary],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsUnnecessaryDiagnosticTag)return}else if(4===e.category&&(r.tags=[ot.DiagnosticTag.Deprecated],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsDeprecatedDiagnosticTag))return;if(i){const e=this.getDocumentationUrlForDiagnosticRule(i);e&&(r.codeDescription={href:e})}const s=e.getRelatedInfo();s.length>0&&(r.relatedInformation=s.filter((e=>!this.fs.isInZipOrEgg(e.filePath))).map((e=>ot.DiagnosticRelatedInformation.create(ot.Location.create(Ee(this.fs,e.filePath),e.range),e.message)))),t.push(r)})),t}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!=={}.HOME?{}.HOME:"env:USERNAME"===i&&void 0!=={}.USERNAME?{}.USERNAME:"env:VIRTUAL_ENV"===i&&void 0!=={}.VIRTUAL_ENV?{}.VIRTUAL_ENV:t}))}}{constructor(e){const t=__webpack_require__(306).i8||"",n=__webpack_require__.g.__rootDirectory||"/",i=new qn(e.console),r=new Sd,s=nt;super({productName:"Pyright",rootDirectory:n,version:t,workspaceMap:r,fileSystem:new rd(!1,{cwd:X("/")}),fileWatcherProvider:s,cancellationProvider:new pt,maxAnalysisTimeInForeground:Cd,supportedCodeActions:[xd.CodeActionKind.QuickFix,xd.CodeActionKind.SourceOrganizeImports]},e,i),this._controller=new bp(this)}setupConnection(e,t){super.setupConnection(e,t),this._connection.onNotification("pyright/createFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.apply({[t]:""}),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.createFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onNotification("pyright/deleteFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.unlinkSync(t),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.deleteFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onRequest(Sn,(e=>{var t;return this._workspaceMap.getWorkspaceForFile(this,e.path).serviceInstance.getApiDocs(e.modules,null!==(t=e.documentationFormat)&&void 0!==t?t:[xd.MarkupKind.PlainText])}))}async initialize(e,t,n){const{files:i}=e.initializationOptions;return"object"==typeof i&&(this._initialFiles=i,this._serverOptions.fileSystem.apply(i)),super.initialize(e,t,n)}async getSettings(e){const t={watchForSourceChanges:!1,watchForLibraryChanges:!1,watchForConfigChanges:!1,openFilesOnly:!0,useLibraryCodeForTypes:!1,disableLanguageServices:!1,disableOrganizeImports:!1,typeCheckingMode:"basic",diagnosticSeverityOverrides:{},logLevel:On.Info,autoImportCompletions:!0};try{const n=await this.getConfiguration(e.rootUri,"python");if(n){const i=n.pythonPath;i&&r(i)&&!gn(i)&&(t.pythonPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)));const s=n.venvPath;s&&r(s)&&(t.venvPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)))}const i=await this.getConfiguration(e.rootUri,"python.analysis");if(i){const n=i.typeshedPaths;if(n&&Array.isArray(n)&&n.length>0){const i=n[0];i&&r(i)&&(t.typeshedPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)))}const s=i.stubPath;s&&r(s)&&(t.stubPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)));const o=i.diagnosticSeverityOverrides;if(o)for(const[e,n]of Object.entries(o)){const i=this.getDiagnosticRuleName(e),r=this.getSeverityOverrides(n);i&&r&&(t.diagnosticSeverityOverrides[i]=r)}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 a=i.extraPaths;a&&Array.isArray(a)&&a.length>0&&(t.extraPaths=a.filter((e=>e&&r(e))).map((t=>ee(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===On.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.rootUri,"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&&r(e)&&(t.typeCheckingMode=e)}}catch(e){this.console.error(`Error reading settings: ${e}`)}return t}createBackgroundAnalysis(){const e=new Ed(this.console,this.diagnosticTextSettings);return this._initialFiles&&e.initializeFileSystem(this._initialFiles),e}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}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 class{static async getCodeActionsForPosition(e,t,n,i){ct(i);const r=[];if(!e.disableLanguageServices){const s=await e.serviceInstance.getDiagnosticsForRange(t,n,i),o=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.createtypestub"===e.action))}));if(o){const n=o.getActions().find((e=>"pyright.createtypestub"===e.action));if(n){const i=ot.CodeAction.create(ml.CodeAction.createTypeStubFor().format({moduleName:n.moduleName}),ot.Command.create(ml.CodeAction.createTypeStub(),"pyright.createtypestub",e.rootPath,n.moduleName,t),ot.CodeActionKind.QuickFix);r.push(i)}}const a=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.addoptionalforparam"===e.action))}));if(a){const n=a.getActions().find((e=>"pyright.addoptionalforparam"===e.action));if(n){const i=e.serviceInstance.getImportResolver().fileSystem,s=ot.CodeAction.create(ml.CodeAction.addOptionalToAnnotation(),ot.Command.create(ml.CodeAction.addOptionalToAnnotation(),"pyright.addoptionalforparam",Ee(i,t),n.offsetOfTypeNode),ot.CodeActionKind.QuickFix);r.push(s)}}}return r}}.getCodeActionsForPosition(i,n,e.range,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")}}}}class Ed extends class{constructor(e){this.console=e,this._onAnalysisCompletion=Nn}setup(e){this._worker=e,e.on("message",(e=>this.onMessage(e))),e.on("error",(e=>{this.log(On.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(dp(e.data));break;default:E(`${e.requestType} is not expected`)}}setCompletionCallback(e){this._onAnalysisCompletion=null!=e?e:Nn}initializeFileSystem(e){this.enqueueRequest({requestType:"initializeFileSystem",data:e})}createFile(e){this.enqueueRequest({requestType:"createFile",data:e})}deleteFile(e){this.enqueueRequest({requestType:"deleteFile",data:e})}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}})}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:r}=En();i.on("message",(e=>{switch(e.requestType){case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;case"analysisPaused":r.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":!function(e){e instanceof cp&&e.dispose()}(n),r.close(),i.close();break;default:E(`${e.requestType} is not expected`)}})),i.start(),r.start();const s=pp(n);this.enqueueRequest({requestType:e,data:s,port:r})}startIndexing(e,t,n,i,r){}refreshIndexing(e,t,n,i){}cancelIndexing(e){}async getDiagnosticsForRange(e,t,n){ct(n);const{port1:i,port2:r}=En();i.start(),r.start();const s=op(i),o=pp(n);this.enqueueRequest({requestType:"getDiagnosticsForRange",data:{filePath:e,range:t,cancellationId:o},port:r});const a=await s;return r.close(),i.close(),hp(a)}async writeTypeStub(e,t,n,i){ct(i);const{port1:r,port2:s}=En(),o=op(r),a=pp(i);this.enqueueRequest({requestType:"writeTypeStub",data:{targetImportPath:e,targetIsSingleFile:t,stubPath:n,cancellationId:a},port:s}),await o,s.close(),r.close()}invalidateAndForceReanalysis(e){this.enqueueRequest({requestType:"invalidateAndForceReanalysis",data:e})}restart(){this.enqueueRequest({requestType:"restart",data:null})}enqueueRequest(e){this._worker&&this._worker.postMessage(e,e.port?[e.port]:void 0)}log(e,t){Vn(this.console,e,t)}}{constructor(e,t){super(e);const n=(i={rootDirectory:__webpack_require__.g.__rootDirectory,cancellationFolderName:void 0,runner:void 0,diagnosticTextSettings:t},wn().createWorker(i));var i;this.setup(n)}}class kd extends class extends class{constructor(e,t){var n;this.parentPort=e,n=t.cancellationFolderName,at=n,__webpack_require__.g.__rootDirectory=t.rootDirectory,this._realFs=this.createRealFileSystem(),this.fs=new rt(this._realFs)}log(e,t){var n;null===(n=this.parentPort)||void 0===n||n.postMessage({requestType:"log",data:{level:e,message:t}})}getConsole(){return{log:e=>{this.log(On.Log,e)},info:e=>{this.log(On.Info,e)},warn:e=>{this.log(On.Warn,e)},error:e=>{this.log(On.Error,e)},level:On.Log}}}{constructor(e,t,n){super(e,t),this._extension=n;const i=t;this.log(On.Info,`Background analysis(${Dn()}) root directory: ${i.rootDirectory}`),this._configOptions=new Ec(i.rootDirectory),this._host=this.createHost(),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host);const r=this.getConsole();this._logTracker=new Bn(r,`BG(${Dn()})`),this._program=new rp(this._importResolver,this._configOptions,r,this._extension,this._logTracker)}get program(){return this._program}start(){var e,t,n,i;this.log(On.Info,`Background analysis(${Dn()}) started`),null===(e=this.parentPort)||void 0===e||e.on("message",(e=>this.onMessage(e))),null===(t=this.parentPort)||void 0===t||t.on("error",(e=>E(`failed ${e}`))),null===(n=this.parentPort)||void 0===n||n.on("exit",(e=>{0!==e&&E(`worker stopped with exit code ${e}`)})),null===(i=this.parentPort)||void 0===i||i.start()}onMessage(e){switch(this.log(On.Log,`Background analysis message: ${e.requestType}`),e.requestType){case"initializeFileSystem":this._realFs.apply(e.data);break;case"createFile":{const t=we(this.fs,e.data.uri);this._realFs.apply({[t]:""});break}case"deleteFile":{const t=we(this.fs,e.data.uri);this.fs.unlinkSync(t);break}case"analyze":{const t=e.port,n=up(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=up(e.data);this._analyzeOneChunk(t,n,e);break}case"getDiagnosticsForRange":sp((()=>{const{filePath:t,range:n,cancellationId:i}=e.data;return ct(up(i)),this.program.getDiagnosticsForRange(t,n)}),e.port);break;case"writeTypeStub":sp((()=>{const{targetImportPath:t,targetIsSingleFile:n,stubPath:i,cancellationId:r}=e.data,s=up(r);Mn(this.program,void 0,this._configOptions,Nn,this.getConsole(),s),this.program.writeTypeStub(t,n,i,s)}),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=function(e){const t=new Ec(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.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}(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:r}=e.data;this.program.setFileOpened(t,n,i,r);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;default:E(`${e.requestType} is not expected`)}}_analyzeOneChunk(e,t,n){Mn(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){this.parentPort&&this._onAnalysisCompletion(this.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})}}{constructor(e){super(kn(),e)}createRealFileSystem(){return new rd(!1,{cwd:X("/")})}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}}class Dd{constructor(e){this._parentPort=e}threadId(){return self.name}parentPort(){return this._parentPort?new Ad(this._parentPort):null}createWorker(e){const t=new globalThis.MessageChannel;return self.postMessage({type:"browser/newWorker",initialData:e,port:t.port1},[t.port1]),t.port1.start(),t.port2.start(),new Ad(t.port2)}createMessageChannel(){const e=new globalThis.MessageChannel;return{port1:new Ad(e.port1),port2:new Ad(e.port2)}}}class Ad{constructor(e){this.delegate=e}unwrap(){return this.delegate}postMessage(e,t){t?this.delegate.postMessage(Pd(e),Pd(t)):this.delegate.postMessage(e)}on(e,t){"message"===e&&this.delegate.addEventListener(e,(e=>{const n=e.data;t(An(n,(e=>e instanceof globalThis.MessagePort?new Ad(e):e)))}))}start(){this.delegate.start()}close(){this.delegate.close()}}function Pd(e){return An(e,(e=>e instanceof Ad?e.unwrap():e))}const Rd=self;Rd.addEventListener("message",(async t=>{if("browser/boot"===t.data.type){const n=t.data,{mode:i,port:r,initialData:s}=n;try{if("foreground"===i)Cn(new Dd),Rd.app=new wd((0,e.createConnection)(new e.BrowserMessageReader(Rd),new e.BrowserMessageWriter(Rd)));else{if("background"!==i)throw new Error(`Invalid "mode" boot parameter: ${i}`);if(!s)throw new Error('Missing "initialData" background boot parameter.');if(!(r instanceof MessagePort))throw new Error(`Invalid "port" parameter: ${r}`);Cn(new Dd(r)),await dl(s.diagnosticTextSettings),Rd.app=new kd(s),Rd.app.start()}}catch(t){throw Rd.close(),t}}}))})()})(); -//# sourceMappingURL=pyright-main-99cf7dc02c2324815d13.worker.js.map \ No newline at end of file +/*! For license information please see pyright-main-8d89bff7a80da04790e7.worker.js.LICENSE.txt */ +(()=>{var __webpack_modules__={9742:(e,t)=>{"use strict";t.byteLength=function(e){var t=l(e),n=t[0],i=t[1];return 3*(n+i)/4-i},t.toByteArray=function(e){var t,n,s=l(e),o=s[0],a=s[1],c=new r(function(e,t,n){return 3*(t+n)/4-n}(0,o,a)),u=0,p=a>0?o-4:o;for(n=0;n>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===a&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,c[u++]=255&t),1===a&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,s=[],o=16383,a=0,l=i-r;al?l:a+o));return 1===r?(t=e[i-1],s.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),s.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,i){for(var r,s,o=[],a=t;a>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},8764:(e,t,n)=>{"use strict";const i=n(9742),r=n(645),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50;const o=2147483647;function a(e){if(e>o)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return p(e)}return c(e,t,n)}function c(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const n=0|f(e,t);let i=a(n);const r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(J(e,Uint8Array)){const t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return d(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(J(e,ArrayBuffer)||e&&J(e.buffer,ArrayBuffer))return h(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(J(e,SharedArrayBuffer)||e&&J(e.buffer,SharedArrayBuffer)))return h(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return l.from(i,t,n);const r=function(e){if(l.isBuffer(e)){const t=0|m(e.length),n=a(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||Y(e.length)?a(0):d(e):"Buffer"===e.type&&Array.isArray(e.data)?d(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function p(e){return u(e),a(e<0?0:0|m(e))}function d(e){const t=e.length<0?0:0|m(e.length),n=a(t);for(let i=0;i=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||J(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;let r=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return G(e).length;default:if(r)return i?-1:H(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){let i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return A(this,t,n);case"utf8":case"utf-8":return w(this,t,n);case"ascii":return k(this,t,n);case"latin1":case"binary":return D(this,t,n);case"base64":return C(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function y(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}function _(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),Y(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:v(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function v(e,t,n,i,r){let s,o=1,a=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){let i=-1;for(s=n;sa&&(n=a-l),s=n;s>=0;s--){let n=!0;for(let i=0;ir&&(i=r):i=r;const s=t.length;let o;for(i>s/2&&(i=s/2),o=0;o>8,r=n%256,s.push(r),s.push(i);return s}(t,e.length-n),e,n,i)}function C(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function w(e,t,n){n=Math.min(e.length,n);const i=[];let r=t;for(;r239?4:t>223?3:t>191?2:1;if(r+o<=n){let n,i,a,l;switch(o){case 1:t<128&&(s=t);break;case 2:n=e[r+1],128==(192&n)&&(l=(31&t)<<6|63&n,l>127&&(s=l));break;case 3:n=e[r+1],i=e[r+2],128==(192&n)&&128==(192&i)&&(l=(15&t)<<12|(63&n)<<6|63&i,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:n=e[r+1],i=e[r+2],a=e[r+3],128==(192&n)&&128==(192&i)&&128==(192&a)&&(l=(15&t)<<18|(63&n)<<12|(63&i)<<6|63&a,l>65535&&l<1114112&&(s=l))}}null===s?(s=65533,o=1):s>65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|1023&s),i.push(s),r+=o}return function(e){const t=e.length;if(t<=E)return String.fromCharCode.apply(String,e);let n="",i=0;for(;ii.length?(l.isBuffer(t)||(t=l.from(t)),t.copy(i,r)):Uint8Array.prototype.set.call(i,t,r);else{if(!l.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(i,r)}r+=t.length}return i},l.byteLength=f,l.prototype._isBuffer=!0,l.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tn&&(e+=" ... "),""},s&&(l.prototype[s]=l.prototype.inspect),l.prototype.compare=function(e,t,n,i,r){if(J(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;let s=(r>>>=0)-(i>>>=0),o=(n>>>=0)-(t>>>=0);const a=Math.min(s,o),c=this.slice(i,r),u=e.slice(t,n);for(let e=0;e>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}const r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return T(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":case"latin1":case"binary":return I(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const E=4096;function k(e,t,n){let i="";n=Math.min(e.length,n);for(let r=t;ri)&&(n=i);let r="";for(let i=t;in)throw new RangeError("Trying to access beyond buffer length")}function F(e,t,n,i,r,s){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function N(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,n}function M(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n+7]=s,s>>=8,e[n+6]=s,s>>=8,e[n+5]=s,s>>=8,e[n+4]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=o,o>>=8,e[n+2]=o,o>>=8,e[n+1]=o,o>>=8,e[n]=o,n+8}function O(e,t,n,i,r,s){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function U(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,8),r.write(e,t,n,i,52,8),n+8}l.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e+--t],r=1;for(;t>0&&(r*=256);)i+=this[e+--t]*r;return i},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readBigUInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,r=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(i)+(BigInt(r)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t*2**24+65536*this[++e]+256*this[++e]+this[++e],r=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(i)<>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s=r&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||R(e,t,this.length);let i=t,r=1,s=this[e+--i];for(;i>0&&(r*=256);)s+=this[e+--i]*r;return r*=128,s>=r&&(s-=Math.pow(2,8*t)),s},l.prototype.readInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readBigInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(i)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(i)<>>=0,t||R(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||R(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=1,s=0;for(this[t]=255&e;++s>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=n-1,s=1;for(this[t+r]=255&e;--r>=0&&(s*=256);)this[t+r]=e/s&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigUInt64LE=Z((function(e,t=0){return N(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeBigUInt64BE=Z((function(e,t=0){return M(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=0,s=1,o=0;for(this[t]=255&e;++r>0)-o&255;return t+n},l.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=n-1,s=1,o=0;for(this[t+r]=255&e;--r>=0&&(s*=256);)e<0&&0===o&&0!==this[t+r+1]&&(o=1),this[t+r]=(e/s>>0)-o&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigInt64LE=Z((function(e,t=0){return N(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeBigInt64BE=Z((function(e,t=0){return M(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,i){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(r=t;r=i+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function W(e,t,n,i,r,s){if(e>n||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(s+1)}${i}`:`>= -(2${i} ** ${8*(s+1)-1}${i}) and < 2 ** ${8*(s+1)-1}${i}`:`>= ${t}${i} and <= ${n}${i}`,new q.ERR_OUT_OF_RANGE("value",r,e)}!function(e,t,n){j(t,"offset"),void 0!==e[t]&&void 0!==e[t+n]||z(t,e.length-(n+1))}(i,r,s)}function j(e,t){if("number"!=typeof e)throw new q.ERR_INVALID_ARG_TYPE(t,"number",e)}function z(e,t,n){if(Math.floor(e)!==e)throw j(e,n),new q.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new q.ERR_BUFFER_OUT_OF_BOUNDS;throw new q.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}V("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),V("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),V("ERR_OUT_OF_RANGE",(function(e,t,n){let i=`The value of "${e}" is out of range.`,r=n;return Number.isInteger(n)&&Math.abs(n)>2**32?r=B(String(n)):"bigint"==typeof n&&(r=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(r=B(r)),r+="n"),i+=` It must be ${t}. Received ${r}`,i}),RangeError);const $=/[^+/0-9A-Za-z-_]/g;function H(e,t){let n;t=t||1/0;const i=e.length;let r=null;const s=[];for(let o=0;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function G(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace($,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function K(e,t,n,i){let r;for(r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function J(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Y(e){return e!=e}const Q=function(){const e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){const i=16*n;for(let r=0;r<16;++r)t[i+r]=e[n]+e[r]}return t}();function Z(e){return"undefined"==typeof BigInt?X:e}function X(){throw new Error("BigInt not supported")}},645:(e,t)=>{t.read=function(e,t,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,p=n?r-1:0,d=n?-1:1,h=e[t+p];for(p+=d,s=h&(1<<-u)-1,h>>=-u,u+=a;u>0;s=256*s+e[t+p],p+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=256*o+e[t+p],p+=d,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(h?-1:1);o+=Math.pow(2,i),s-=c}return(h?-1:1)*o*Math.pow(2,s-i)},t.write=function(e,t,n,i,r,s){var o,a,l,c=8*s-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,h=i?0:s-1,m=i?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+p>=1?d/l:d*Math.pow(2,1-p))*l>=2&&(o++,l/=2),o+p>=u?(a=0,o=u):o+p>=1?(a=(t*l-1)*Math.pow(2,r),o+=p):(a=t*Math.pow(2,p-1)*Math.pow(2,r),o=0));r>=8;e[n+h]=255&a,h+=m,a/=256,r-=8);for(o=o<0;e[n+h]=255&o,h+=m,o/=256,c-=8);e[n+h-m]|=128*f}},6470:e=>{"use strict";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="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(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=r:e+="/"+r)}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 r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,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,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-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,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},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 function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},6755:()=>{"use strict";Promise.prototype.ignoreErrors=function(){this.catch((()=>{}))}},1169:(e,t,n)=>{"use strict";e.exports=n(9054)},9054: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]}),r=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.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(5669).default.install();const s=n(3870);r(n(3870),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),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.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},5669:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(147),r=n(3911),s=n(7135),o=n(5530);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},3870:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=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.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.RAL=void 0,t.CancellationStrategy=void 0;const i=n(839);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 r=n(3911);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(7135);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(3881);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(6525);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(6654);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(1343);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,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),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 u=n(147);t.RAL=u.default},3881:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(147),r=n(7574),s=n(7135);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));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 s.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}}},1343:(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.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(147),r=n(7574),s=n(839),o=n(6184),a=n(7135),l=n(3881);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,q=b.New;const V=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(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 G(e){}function K(){return q===b.Listening}function J(){return q===b.Closed}function Y(){return q===b.Disposed}function Q(){q!==b.New&&q!==b.Listening||(q=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\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}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.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?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){V.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){V.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:V.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;q=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),q=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},3911:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},7135:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(147);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{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,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),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=s._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=s,s._noop=function(){}},7574:(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)))}},6184:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="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?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),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,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,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===n.First||t===n.Last)if(t===n.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===n.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=i,t.LRUCache=class extends i{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=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},5530:(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 r=i.slice(0,e);t.set(r,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}}},6525:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(147),r=n(7574),s=n(7135);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.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: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=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)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.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=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=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&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=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))}}},6654:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(147),r=n(7574),s=n(142),o=n(7135);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{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: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.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()}}},839:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=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(7574);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},147:(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}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},142:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(147);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&&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()}}}},5224:(e,t,n)=>{"use strict";e.exports=n(152)},152: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]}),r=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 s=n(1169);r(n(1169),t),r(n(1661),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},1661: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]}),r=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,r(n(9054),t),r(n(1674),t),r(n(6140),t),r(n(542),t);var s,o=n(3767);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},3767:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(9054);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},6140:(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(9054);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;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},2918:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(6140);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},9891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(6140);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},5934:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(6140);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},764:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(6140);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},7846:(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(6140);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3394:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(6140);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},2122:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(6140);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},542:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=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.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.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,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.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=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=void 0;const i=n(9533),r=n(6140),s=n(2122);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(1589);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(9795);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(5934);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(9891);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3394);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(764);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(5206);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(1862);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(2918);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(9434);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5726);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(6305);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(7846);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(3443);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,q,V,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=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)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(V=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,V.TriggerCharacter=2,V.ContentChange=3,(q=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",q.type=new r.ProtocolRequestType(q.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},6305:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(6140);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},3443:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(6140);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},1862:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(9054),r=n(6140);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},5206:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(6140);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},9434:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5726:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(6140);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},1589:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(6140);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},9795:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(6140);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},9533:(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}},1674:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>q,CompletionItem:()=>V,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.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},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.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},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.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 ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,q,V,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.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}(),oe=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(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(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(P.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:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,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 r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,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,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},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 r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),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,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(q||(q={})),function(e){e.create=function(e){return{label:e}}}(V||(V={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=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 s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},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";e.exports=n(7630)},7630: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]}),r=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=void 0;const s=n(6265);r(n(5224),t),r(n(6265),t);let o=!1;const a={initialize:e=>{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},6265: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]}),r=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.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(9817);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(152),t),r(n(5878),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7985:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(152);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;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2507:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(152),r=n(289);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.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(e)?t:t[0]))}}},828:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(152);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){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)))}}},2776:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(152);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},8120:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(152);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2731:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(152),r=n(7560);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}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(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{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 l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;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 s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.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 u(e,n)}},9817:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(152);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,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(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(152),r=n(289),s=n(7560),o=n(2731),a=n(2507),l=n(8634),c=n(7985),u=n(9817),p=n(5421),d=n(828),h=n(2776),m=n(8120);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,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 onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.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._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},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 g{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})}}const y=p.ShowDocumentFeature(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(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.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).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{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 _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).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=r.string(e)?e:e.method,o=s.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)}))),(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).then(void 0,(t=>{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 b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(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 I{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})}}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){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{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 o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},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,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;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=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},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,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),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,o.attachWorkDone(a,t),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,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,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,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,o.attachWorkDone(a,t),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,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,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=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},5421:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(152);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},289:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(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=r,t.stringArray=function(e){return r(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)}},7560:(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 r(){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=r;const s=/^[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 s.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 r().asHex()}},8634:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(152);t.WorkspaceFoldersFeature=e=>class extends e{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)})))}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._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},306:e=>{"use strict";e.exports={i8:"1.1.159"}},3574:(e,t,n)=>{"use strict";const i=n(9149),r=n.g.Date;class s extends r{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 s(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},8477:(e,t,n)=>{"use strict";const i=n(9149);class r 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 r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},350:e=>{"use strict";e.exports=e=>{const t=new Date(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},7571:(e,t,n)=>{"use strict";const i=n(9149);class r 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 r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},9149: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 r{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__(2306)),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__(350),createDateTimeFloat=__webpack_require__(8477),createDate=__webpack_require__(3574),createTime=__webpack_require__(7571),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=__webpack_require__.g.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),__webpack_require__.g.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 (])"))}}}},5352:(e,t,n)=>{"use strict";e.exports=function(e,t){t||(t={});const n=t.blocksize||40960,s=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(s.finish())}catch(t){return a(r(t,e))}try{s.parse(e.slice(t,t+n)),setImmediate(o,t+n,n,i,a)}catch(t){a(r(t,e))}}};const i=n(2725),r=n(4354)},4354: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/),r=String(Math.min(i.length,e.line+3)).length;let s=" ";for(;s.length "+i[t]+"\n",n+=s+" ";for(let t=0;t{"use strict";e.exports=function(e){return e?function(e){const t=new r;return e.setEncoding("utf8"),new Promise(((n,i)=>{let r,s=!1,o=!1;function a(){if(s=!0,!r)try{n(t.finish())}catch(e){i(e)}}function l(e){o=!0,i(e)}e.once("end",a),e.once("error",l),function n(){let i;for(r=!0;null!==(i=e.read());)try{t.parse(i)}catch(e){return l(e)}if(r=!1,s)return a();o||e.once("readable",n)}()}))}(e):function(){const e=new r;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(9191),r=n(2725)},4567:(e,t,n)=>{"use strict";e.exports=function(e){n.g.Buffer&&n.g.Buffer.isBuffer(e)&&(e=e.toString("utf8"));const t=new i;try{return t.parse(e),t.finish()}catch(t){throw r(t,e)}};const i=n(2725),r=n(4354)},2884:(e,t,n)=>{"use strict";e.exports=n(4567),e.exports.async=n(5352),e.exports.stream=n(2173),e.exports.prettyError=n(4354)},5249:e=>{"use strict";function t(e){return new Error("Can only stringify objects, not "+e)}function n(e){return Object.keys(e).filter((t=>s(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 r(e,l,c){var p,d;p=n(c=i(c)),d=function(e){return Object.keys(e).filter((t=>!s(e[t])))}(c);var m=[],f=l||"";p.forEach((e=>{var t=o(c[e]);"undefined"!==t&&"null"!==t&&m.push(f+a(e)+" = "+u(c[e],!0))})),m.length>0&&m.push("");var g=e&&p.length>0?l+" ":"";return d.forEach((s=>{m.push(function(e,s,l,c){var u=o(c);if("array"===u)return function(e,n,s,l){h(l=i(l));var c=o(l[0]);if("table"!==c)throw t(c);var u=e+a(s),p="";return l.forEach((e=>{p.length>0&&(p+="\n"),p+=n+"[["+u+"]]\n",p+=r(u+".",n,e)})),p}(e,s,l,c);if("table"===u)return function(e,t,i,s){var o=e+a(i),l="";return n(s).length>0&&(l+=t+"["+o+"]\n"),l+r(o+".",t,s)}(e,s,l,c);throw t(u)}(e,g,s,c[s]))})),m.join("\n")}function s(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:l(t)}function l(e){return'"'+c(e).replace(/"/g,'\\"')+'"'}function c(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 u(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=>c(e).replace(/"(?="")/g,'\\"'))).join("\n");return'"'===t.slice(-1)&&(t+="\\\n"),'"""\n'+t+'"""'}(e);case"string":return l(e);case"string-literal":return"'"+e+"'";case"integer":return d(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 d(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=h(e=i(e));var n="[",r=e.map((e=>p(e,t)));return r.join(", ").length>60||/\n/.test(r)?n+="\n "+r.join(",\n ")+"\n":n+=" "+r.join(", ")+(r.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)+" = "+u(e[n],!1))})),"{ "+t.join(", ")+(t.length>0?" ":"")+"}"}(e);default:throw t(n)}}function d(e){return String(e).replace(/\B(?=(\d{3})+(?!\d))/g,"_")}function h(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 r("","",e)},e.exports.value=p},2125:(e,t,n)=>{"use strict";t.parse=n(2884),n(5249)},7588:e=>{"use strict";const t=[],n=[],i=(e,i)=>{if(e===i)return 0;const r=e;e.length>i.length&&(e=i,i=r);let s=e.length,o=i.length;for(;s>0&&e.charCodeAt(~-s)===i.charCodeAt(~-o);)s--,o--;let a,l,c,u,p=0;for(;pl?u>l?l+1:u:u>c?c+1:u;return l};e.exports=i,e.exports.default=i},2797:(e,t,n)=>{"use strict";e.exports=n(3374)},3374: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]}),r=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.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(485).default.install();const s=n(7504);r(n(7504),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),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.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},485:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9872),r=n(4469),s=n(2479),o=n(9053);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},7504:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=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.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.RAL=void 0,t.CancellationStrategy=void 0;const i=n(9263);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 r=n(4469);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(2479);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(6368);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(5132);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(8633);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(3467);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,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),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 u=n(9872);t.RAL=u.default},6368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));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 s.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}}},3467:(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.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(9872),r=n(5306),s=n(9263),o=n(3820),a=n(2479),l=n(6368);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,q=b.New;const V=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(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 G(e){}function K(){return q===b.Listening}function J(){return q===b.Closed}function Y(){return q===b.Disposed}function Q(){q!==b.New&&q!==b.Listening||(q=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\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}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.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?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){V.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){V.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:V.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;q=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),q=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},4469:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},2479:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(9872);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{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,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),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=s._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=s,s._noop=function(){}},5306:(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)))}},3820:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="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?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),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,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,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===n.First||t===n.Last)if(t===n.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===n.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=i,t.LRUCache=class extends i{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=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},9053:(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 r=i.slice(0,e);t.set(r,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}}},5132:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.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: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=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)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.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=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=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&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=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))}}},8633:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(9872),r=n(5306),s=n(3360),o=n(2479);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{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: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.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()}}},9263:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=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(5306);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},9872:(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}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},3360:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(9872);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&&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()}}}},9290:(e,t,n)=>{"use strict";e.exports=n(2477)},2477: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]}),r=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 s=n(2797);r(n(2797),t),r(n(6156),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},6156: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]}),r=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,r(n(3374),t),r(n(5269),t),r(n(9368),t),r(n(8253),t);var s,o=n(2213);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},2213:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(3374);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},9368:(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(3374);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;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},7350:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(9368);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},7994:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(9368);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},6139:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(9368);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},8746:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(9368);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},5580:(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(9368);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3996:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(9368);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},487:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(9368);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},8253:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=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.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.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,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.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=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=void 0;const i=n(2524),r=n(9368),s=n(487);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(4951);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(1618);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(6139);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(7994);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3996);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(8746);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(9998);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(9784);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(7350);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(7614);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5636);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(7036);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(5580);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(2779);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,q,V,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=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)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(V=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,V.TriggerCharacter=2,V.ContentChange=3,(q=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",q.type=new r.ProtocolRequestType(q.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},7036:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(9368);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},2779:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(9368);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},9784:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(3374),r=n(9368);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},9998:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(9368);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},7614:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5636:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(9368);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},4951:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(9368);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},1618:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(9368);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},2524:(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}},5269:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>q,CompletionItem:()=>V,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.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},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.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},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.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 ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,q,V,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.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}(),oe=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(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(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(P.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:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,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 r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,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,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},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 r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),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,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(q||(q={})),function(e){e.create=function(e){return{label:e}}}(V||(V={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=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 s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},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{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},8132: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]}),r=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.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(6063);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(2477),t),r(n(1486),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7522:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(2477);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;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2965:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(2477),r=n(9079);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.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(e)?t:t[0]))}}},2027:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(2477);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){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)))}}},7891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(2477);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},6046:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(2477);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},7256:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(2477),r=n(5075);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}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(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{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 l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;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 s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.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 u(e,n)}},6063:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(2477);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,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(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(2477),r=n(9079),s=n(5075),o=n(7256),a=n(2965),l=n(1252),c=n(7522),u=n(6063),p=n(736),d=n(2027),h=n(7891),m=n(6046);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,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 onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.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._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},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 g{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})}}const y=p.ShowDocumentFeature(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(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.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).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{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 _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).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=r.string(e)?e:e.method,o=s.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)}))),(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).then(void 0,(t=>{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 b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(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 I{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})}}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){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{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 o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},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,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;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=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},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,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),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,o.attachWorkDone(a,t),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,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,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,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,o.attachWorkDone(a,t),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,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,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=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},736:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(2477);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},9079:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(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=r,t.stringArray=function(e){return r(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)}},5075:(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 r(){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=r;const s=/^[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 s.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 r().asHex()}},1252:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(2477);t.WorkspaceFoldersFeature=e=>class extends e{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)})))}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._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},6395: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","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","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}\\"","booleanIsLowerCase":"\\"{name}\\" is not defined, did you mean \\"{booleanName}\\"?","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","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}\\"","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}\\"","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","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","dataClassTransformFieldDescriptor":"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","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\\"","expectedEqualityOperator":"Expected equality operator, did you mean \\"==\\"?","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","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","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\\"","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 in module \\"{moduleName}\\"","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 \\"{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","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 function 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","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","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}\\"","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","typeArgListExpected":"Expected ParamSpec, ellipsis, or list of types","typeArgListNotAllowed":"List expression not allowed for this type argument","typeAnnotationCall":"Illegal type annotation: call expression not allowed","typeAnnotationVariable":"Illegal type annotation: variable not allowed unless it is a type alias","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","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}\\"","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","typeVarSingleConstraint":"TypeVar cannot have only a single constraint","typeVarsNotInGeneric":"Generic[] 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}\\"","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","varAnnotationIllegal":"Type annotations for variables requires Python 3.6 or newer; use type comment for compatibility with previous versions","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","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}","overloadMethod":"Overload method 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","overrideParamCount":"Parameter count mismatch; base method has {baseCount}, but override has {overrideCount}","overrideParamName":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is named \\"{overrideName}\\"","overrideParamNamePositionOnly":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is position-only\\"","overrideParamType":"Parameter {index} type mismatch: base parameter is type \\"{baseType}\\", override parameter is type \\"{overrideType}\\"","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","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","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}\\"?"}}')},9191:()=>{},2016:()=>{},6341:()=>{},198:()=>{}},__webpack_module_cache__={},leafPrototypes,getProto;function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},getProto=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var n=Object.create(null);__webpack_require__.r(n);var i={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var r=2&t&&e;"object"==typeof r&&!~leafPrototypes.indexOf(r);r=getProto(r))Object.getOwnPropertyNames(r).forEach((t=>i[t]=()=>e[t]));return i.default=()=>e,__webpack_require__.d(n,i),n},__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__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((t,n)=>(__webpack_require__.f[n](e,t),t)),[])),__webpack_require__.u=e=>"pyright-locale-"+e+"-"+{101:"c121083e2a7a54d431db",131:"ab4e388ba76ce41a9bbe",162:"52858c93d4cbe348333a",244:"93121a06520a592814db",372:"0169930372300256482e",416:"213af665ac61b39bb90a",464:"9ad967bc01f802ec7036",753:"025cc0f8d4b408b3f912",846:"49df54db2b702b64a1c6"}[e]+".worker.js",__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__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})},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={885:1};__webpack_require__.f.i=(t,n)=>{e[t]||importScripts(__webpack_require__.p+__webpack_require__.u(t))};var t=self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[],n=t.push.bind(t);t.push=t=>{var[i,r,s]=t;for(var o in r)__webpack_require__.o(r,o)&&(__webpack_require__.m[o]=r[o]);for(s&&s(__webpack_require__);i.length;)e[i.pop()]=1;n(t)}})();var __webpack_exports__={};(()=>{"use strict";var e=__webpack_require__(3984);function t(e){return e}function n(e,t){return e===t}function i(e,t){return e===t?0:void 0===e?-1:void 0===t?1:et;n--)e[n]=e[n-1];e[t]=n}return e}function p(e,t){return!!e&&(t?e.some(t):e.length>0)}function d(e,t,n,i,r){return function(e,t,n,i,r){if(!p(e))return-1;let s=r||0,o=e.length-1;for(;s<=o;){const r=s+(o-s>>1);switch(i(n(e[r]),t)){case-1:s=r+1;break;case 0:return r;case 1:o=r-1}}return~s}(e,n(t),n,i,r)}function h(e,t,n){const i=e.get(t);if(void 0!==i)return i;const r=n();return e.set(t,r),r}function m(e,t){for(let n=0;nt(e))).reduce(((t,n,i)=>(t.set(n,(t.get(n)||[]).concat(e[i])),t)),new Map)}Object.prototype.hasOwnProperty;const g="typeshed-fallback",y="lib",_="Lib",v="lib64",T="site-packages",b="-stubs";var I,S=__webpack_require__(6470);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="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(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=r:e+="/"+r)}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 r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,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,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-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,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},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 function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(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:()=>f,Utils:()=>w}),"object"==typeof{env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})})i="win32"==={env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})}.platform;else if("object"==typeof navigator){var r=navigator.userAgent;i=r.indexOf("Windows")>=0}var s,o,a=(s=function(e,t){return(s=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}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=/^\w[\w\d+.-]*$/,c=/^\//,u=/^\/\//;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&&!l.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!c.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(u.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 d="",h="/",m=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,f=function(){function e(e,t,n,i,r,s){void 0===s&&(s=!1),"object"==typeof e?(this.scheme=e.scheme||d,this.authority=e.authority||d,this.path=e.path||d,this.query=e.query||d,this.fragment=e.fragment||d):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||d,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==h&&(t=h+t):t=h}return t}(this.scheme,n||d),this.query=i||d,this.fragment=r||d,p(this,s))}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 b(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,r=e.query,s=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=d),void 0===n?n=this.authority:null===n&&(n=d),void 0===i?i=this.path:null===i&&(i=d),void 0===r?r=this.query:null===r&&(r=d),void 0===s?s=this.fragment:null===s&&(s=d),t===this.scheme&&n===this.authority&&i===this.path&&r===this.query&&s===this.fragment?this:new y(t,n,i,r,s)},e.parse=function(e,t){void 0===t&&(t=!1);var n=m.exec(e);return n?new y(n[2]||d,C(n[4]||d),C(n[5]||d),C(n[7]||d),C(n[9]||d),t):new y(d,d,d,d,d)},e.file=function(e){var t=d;if(i&&(e=e.replace(/\\/g,h)),e[0]===h&&e[1]===h){var n=e.indexOf(h,2);-1===n?(t=e.substring(2),e=h):(t=e.substring(2,n),e=e.substring(n)||h)}return new y("file",t,e,d,d)},e.from=function(e){var t=new y(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),I(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new y(t);return n._formatted=t.external,n._fsPath=t._sep===g?t.fsPath:null,n}return t},e}(),g=i?1:void 0,y=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=b(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?I(this,!0):(this._formatted||(this._formatted=I(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=g),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}(f),_=((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 v(e,t){for(var n=void 0,i=-1,r=0;r=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s)-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),void 0!==n&&(n+=e.charAt(r));else{void 0===n&&(n=e.substr(0,r));var o=_[s];void 0!==o?(-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),n+=o):-1===i&&(i=r)}}return-1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function T(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 I(e,t){var n=t?T:v,i="",r=e.scheme,s=e.authority,o=e.path,a=e.query,l=e.fragment;if(r&&(i+=r,i+=":"),(s||"file"===r)&&(i+=h,i+=h),s){var c=s.indexOf("@");if(-1!==c){var u=s.substr(0,c);s=s.substr(c+1),-1===(c=u.indexOf(":"))?i+=n(u,!1):(i+=n(u.substr(0,c),!1),i+=":",i+=n(u.substr(c+1),!1)),i+="@"}-1===(c=(s=s.toLowerCase()).indexOf(":"))?i+=n(s,!1):(i+=n(s.substr(0,c),!1),i+=s.substr(c))}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)),l&&(i+="#",i+=t?l:v(l,!1)),i}function S(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+S(e.substr(3)):e}}var x=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(e){return e.match(x)?e.replace(x,(function(e){return S(e)})):e}var w,E=n(470),k=function(e,t,n){if(n||2===arguments.length)for(var i,r=0,s=t.length;r{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:x,Utils:C}=I;function w(e,t,n,i){e||(n&&(t+="\r\nVerbose Debug Information: "+("string"==typeof n?n:n())),E(t?"False expression: "+t:"False expression.",i||w))}function E(e,t){const n=new Error(e?`Debug Failure. ${e}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(n,t||E),n}function k(e,t="Illegal value:",n){E(`${t} ${JSON.stringify(e)}`,n||k)}function D(e){if(e)return JSON.stringify(e).length>2?e:{name:e.name&&r(e.name)?e.name:"noname",message:e.message&&r(e.message)?e.message:"nomessage",stack:e.stack&&r(e.stack)?e.stack:void 0}}let A;try{A=__webpack_require__(2016),(null==A?void 0:A.randomBytes)||(A=void 0)}catch{}function P(e){if(A)return A.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;E("crypto library not found")}var R=__webpack_require__(7588),F=__webpack_require__.n(R);function N(e,t){const n=e.toLocaleLowerCase(),i=t.toLocaleLowerCase(),r=n.length,s=i.length;let o=0,a=0;for(;o0&&!r[r.length-1]&&r.pop(),K([i,...r])}function K(e){if(!p(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 J(e){return 0===e.length?"":X((e[0]&&le(e[0]))+e.slice(1).join(S.sep))}function Y(e,t){if(!e.startsWith(le(t)))return;const n=G(e);let i=".";for(let e=G(t).length;e=0?i.substring(r):""}function se(e,n,i){return w(H(e)>0==H(n)>0,"Paths must either both be absolute or both be relative"),function(e,t,n,i){const r=G(e),s=G(t);let o;for(o=0;oe.namet.name?1:0)),r=[],s=[];for(const e of i)if("."!==e.name&&".."!==e.name)if(e.isFile())r.push(e.name);else if(e.isDirectory())s.push(e.name);else if(e.isSymbolicLink()){const i=ye(t,te(n,e.name));(null==i?void 0:i.isFile())?r.push(e.name):(null==i?void 0:i.isDirectory())&&s.push(e.name)}return{files:r,directories:s}}function be(e,t){let n=function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n),r=Ie(),s=`(${r}[^${r}.][^${r}]*)*?`,o=new RegExp(`[^\\w\\s${r}]`,"g");i.length>0&&(i[0]=ue(i[0]));let a="",l=!0;for(let e of i)"**"===e?a+=s:(l||(e=r+e),a+=e.replace(o,(e=>"*"===e?`[^${r}]*`:"?"===e?`[^${r}]`:"\\"+e)),l=!1);return a}(e,t);n=`^(${n})($|${Ie()})`;const i=new RegExp(n);return{wildcardRoot:function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n);if(i.length>0&&(i[0]=ue(i[0])),1===i.length&&!i[0])return S.sep;let r="",s=!0;for(let e of i){if("**"===e)break;if(e.match(/[*?]/))break;s||(e=S.sep+e),r+=e,s=!1}return r}(e,t),regExp:i}}function Ie(){return"/"===S.sep?"/":"\\\\"}function Se(e){const t=H(e);return t>0&&t===e.length}function xe(e,t,n){if(e===t)return 0;if(void 0===e)return-1;if(void 0===t)return 1;const r=e.substring(0,H(e)),s=t.substring(0,H(t)),o=O(r,s);if(0!==o)return o;const a=Ie(),l=new RegExp(`(^|${a}).{0,2}($|${a})`),c=e.substring(r.length),u=t.substring(s.length);if(!l.test(c)&&!l.test(u))return n(c,u);const p=G(e),d=G(t),h=Math.min(p.length,d.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 we(e,t){return e.getMappedFilePath(function(e){let t=me(x.parse(e).path);return t.match(/^\\[a-zA-Z]:\\/)&&(t=t.substr(1)),t}(t))}function Ee(e,t){return e.getUri(e.getOriginalFilePath(t))}function ke(e,t){return function(e){return void 0!==W||(W=function(e){let t;try{let n,i;do{n=`${P(21)}-a`,t=S.join(e.tmpdir(),n),i=S.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)}}(e)),W}(e)?t:t.toLowerCase()}var De;!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"}(De||(De={}));const Ae=De.V3_10;function Pe(e){return`${e>>8&255}.${255&e}`}function Re(e){const t=e.split(".");if(!(t.length<2))return function(e,t){if(isNaN(e)||isNaN(t))return;if(e>255||t>255)return;const n=256*e+t;if(void 0!==De[n]&&n>>8==3)return n}(parseInt(t[0],10),parseInt(t[1],10))}var Fe;!function(e){e[e.NotIdentifierChar=0]="NotIdentifierChar",e[e.StartIdentifierChar=1]="StartIdentifierChar",e[e.IdentifierChar=2]="IdentifierChar",e[e.SurrogateChar=3]="SurrogateChar"}(Fe||(Fe={}));const Ne=256,Me=new Array(Ne),Oe={},Le={};let Ue=!1;function qe(e,t){if(e=48&&e<=57||95===e}function We(e){return Be(e)||e>=97&&e<=102||e>=65&&e<=70||95===e}function je(e){return e>=48&&e<=55||95===e}function ze(e){return 48===e||49===e||95===e}function $e(e,t){if(Oe[e]!==Fe.SurrogateChar)return Fe.NotIdentifierChar;const n=Le[e];return n?n[t]:Fe.NotIdentifierChar}const He=[[95,6277,6278,8472,8494,12443,12444],[[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]],[[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]],[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],[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]],[[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]],[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862]]],Ge=[{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]]},{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]]},{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]},{55322:[[57152,57155]],55323:[[57235,57247],[57312,57313],57315],55352:[[56631,56637]],55354:[56651]},{55296:[[56640,56692],57153,57162,[57297,57301]],55305:[[56320,56430]]}],Ke=[[183,903,4969,4970,4971,4972,4973,4974,4975,4976,4977,6618],[[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]],[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]],[[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]],[95,[8255,8256],8276,[65075,65076],[65101,65103],65343]],Je=[{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]]},{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]]},{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]]}];function Ye(e,t,n,i,r){for(let s=0;s=Ne)break}}function Qe(e,t){for(const n in e)Le[n]||(Le[n]={},Oe[n]=Fe.SurrogateChar),Ye(e[n],t,!1,Le[n],Le[n])}function Ze(e){if(Me.fill(Fe.NotIdentifierChar),Ke.forEach((t=>{Ye(t,Fe.IdentifierChar,e,Me,Oe)})),He.forEach((t=>{Ye(t,Fe.StartIdentifierChar,e,Me,Oe)})),!e){for(const e of Je)Qe(e,Fe.IdentifierChar);for(const e of Ge)Qe(e,Fe.StartIdentifierChar)}}function Xe(e,t){if(!e.existsSync(t)||!fe(e,t))return;let n=!1;const i=te(t,"py.typed");if(!e.existsSync(t)||!ge(e,i))return;const r=e.statSync(i);if(r.size>0&&r.size<65536){const t=e.readFileSync(i,"utf8");(t.match(/partial\n/)||t.match(/partial\r\n/))&&(n=!0)}return{pyTypedPath:i,isPartiallyTyped:n}}function et(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))}}Ze(!0);const tt={close(){}},nt={createFileWatcher:(e,t)=>tt,onFileChange(e,t){}};class it{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}}class rt extends 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=le(e),n=[],i=this._folderMap.get(t);return i&&!this._realFS.existsSync(e)||n.push(...this._realFS.readdirEntriesSync(e).filter((t=>!this._isMovedEntry(te(e,t.name))))),i?n.concat(i.map((e=>new it(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,i=!0){this._entryMap.set(e,t),n&&this._reverseEntryMap.set(t,e);const r=le($(e)),s=h(this._folderMap,r,(()=>[])),o=de(e);s.some((e=>e.name===o))||s.push({name:o,isFile:i})}_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()}}{constructor(e){super(e),this._rootSearched=new Set,this._partialStubPackagePaths=new Set,this._conflictMap=new Map,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){var n;for(const i of e)if(this._rootSearched.add(i),this._realFS.existsSync(i)&&fe(this._realFS,i))for(const e of this._realFS.readdirEntriesSync(i)){const r=te(i,e.name);if(!(e.isSymbolicLink()?null===(n=ye(this._realFS,r))||void 0===n?void 0:n.isDirectory():e.isDirectory())||!e.name.endsWith(b))continue;const s=Xe(this._realFS,r);if(!s||!s.isPartiallyTyped)continue;let o;this._partialStubPackagePaths.add(r);const a=e.name.substr(0,e.name.length-b.length);for(const e of t){const t=te(e,a);try{const e=ye(this._realFS,t);if(!(null==e?void 0:e.isDirectory()))continue;const n=Xe(this._realFS,t);if(n&&!n.isPartiallyTyped)continue;o=null!=o?o:this._getRelativePathPartialStubs(r);for(const e of o){const n=te(r,e),i=te(t,e);if(this.existsSync(i)){const t=ie(i,"py"),r=ie(te(this.tmpdir(),"conflictFiles",a,e),"py");this._conflictMap.has(i)||this.existsSync(t)||this.existsSync(r)||(this._recordMovedEntry(r,n,!1),this._conflictMap.set(i,r))}else this._recordMovedEntry(i,n)}}catch{}}}}clearPartialStubs(){super._clear(),this._rootSearched.clear(),this._partialStubPackagePaths.clear(),this._conflictMap.clear()}getConflictedFile(e){return this._conflictMap.get(e)}_getRelativePathPartialStubs(e){const t=[],n=le(e).length,i=e=>{for(const r of this._realFS.readdirEntriesSync(e)){const s=te(e,r.name);let o=r.isDirectory(),a=r.isFile();if(r.isSymbolicLink()){const e=ye(this._realFS,s);e&&(o=e.isDirectory(),a=e.isFile())}if(o&&i(s),a&&r.name.endsWith(".pyi")){const e=s.substring(n);e&&t.push(e)}}};return i(e),t}_isMovedEntry(e){return this._partialStubPackagePaths.has(e)||super._isMovedEntry(e)}}var st=__webpack_require__(3374),ot=__webpack_require__(8934);let at;class lt extends ot.ResponseError{constructor(){super(ot.LSPErrorCodes.RequestCancelled,"request cancelled")}static is(e){return e.code===ot.LSPErrorCodes.RequestCancelled}}function ct(e){if(!o()&&e.isCancellationRequested)throw new lt}function ut(...e){const t=new st.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}class pt{createCancellationTokenSource(){return new st.CancellationTokenSource}}var dt,ht,mt,ft;function gt(e,t){return e.linet.line?1:e.charactert.character?1:0}function yt(e,t){return!(gt(t.start,e.end)>0||gt(e.start,t.end)>0)}function _t(e,t){return ht.is(t)?gt(e.start,t)<=0&>(e.end,t)>=0:_t(e,t.start)&&_t(e,t.end)}function vt(e,t){return 0===gt(e,t)}function Tt(e,t){return vt(e.start,t.start)&&vt(e.end,t.end)}function bt(e,t){t&&(Array.isArray(t)?t.forEach((t=>{bt(e,t)})):(gt(t.start,e.start)<0&&(e.start=t.start),gt(t.end,e.end)>0&&(e.end=t.end)))}function It(e,t){if(0===t.end)return{line:0,character:0};let n=0;e>=t.end&&(e=t.end-1,n=1);const i=t.getItemContaining(e);w(i>=0&&i<=t.length);const r=t.getItemAt(i);return w(void 0!==r),{line:i,character:e-r.start+n}}function St(e,t,n){return{start:It(e,n),end:It(t,n)}}function xt(e,t){if(!(e.line>=t.count))return t.getItemAt(e.line).start+e.character}function Ct(e,t){const n=xt(e.start,t);if(void 0===n)return;const i=xt(e.end,t);return void 0!==i?dt.fromBounds(n,i):void 0}function wt(e,t){return St(e.start,dt.getEnd(e),t)}!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 r(e,t){t&&(Array.isArray(t)?t.forEach((t=>{r(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=r,e.combine=function(e){if(0===e.length)return;const t=e[0];for(let n=1;n2&&e.startsWith("__")&&!e.endsWith("__")}function Jt(e){return e.length>1&&e.startsWith("_")&&!e.startsWith("__")}function Yt(e){return Kt(e)||Jt(e)}function Qt(e){return e.length>4&&e.startsWith("__")&&e.endsWith("__")}function Zt(e){return!!e.match($t)&&!e.match(Ht)}function Xt(e){return!!e.match(Gt)}function en(e){return e.importResult?0===e.importResult.importType?0:1===e.importResult.importType||e.importResult.isLocalTypingsFile?1:e.importResult.isRelative?3:2:2}function tn(e,t=!1){const n={orderedImports:[],mapByFilePath:new Map};let i=!1,r=!1;return e.statements.forEach((e=>{47===e.nodeType?e.statements.forEach((e=>{20===e.nodeType?(r=!0,function(e,t,n){e.list.forEach((i=>{const r=Rt(i.module);let s;r&&r.isImportFound&&(s=r.resolvedPaths[r.resolvedPaths.length-1]);const o={node:e,subnode:i,importResult:r,resolvedPath:s,moduleName:ln(i.module),followsNonImportStatement:n};t.orderedImports.push(o),s&&(t.mapByFilePath.has(s)||t.mapByFilePath.set(s,o))}))}(e,n,i),i=!1):22===e.nodeType?(r=!0,function(e,t,n,i){var r;const s=Rt(e.module);let o;if(s&&s.isImportFound&&(o=s.resolvedPaths[s.resolvedPaths.length-1]),i&&s){t.implicitImports=null!==(r=t.implicitImports)&&void 0!==r?r:new Map;for(const n of s.implicitImports){const i=e.imports.find((e=>e.name.value===n.name));i&&t.implicitImports.set(n.path,i)}}const a={node:e,importResult:s,resolvedPath:o,moduleName:ln(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=r})):i=r})),n}function nn(e){return Zt(e)?0:Xt(e)?1:2}function rn(e,t,n){const i=[];if(!t.node||22!==t.node.nodeType||t.node.isWildcardImport)return i;const r=t.node;if(0===(e=(Array.isArray(e)?e:[e]).filter((e=>!!e.name&&!r.imports.some((t=>t.name.value===e.name&&t.alias===e.alias))))).length)return i;for(const r of e)i.push(on(r.name,r.alias,t.node,n));const s=f(i,(e=>mt.print(e.range))),o=[];for(const e of s.values())1===e.length?o.push(e[0]):o.push({range:e[0].range,replacementText:e.sort(((e,t)=>sn(e.importName,t.importName))).map((e=>e.replacementText)).join("")});return o}function sn(e,t){const n=nn(e)-nn(t);return 0!==n?n:L(e.replace(/_/g,"="),t.replace(/_/g,"="))}function on(e,t,n,i){let r;for(const t of n.imports){if(sn(t.name.value,e)>0)break;r=t}let s=!1,o="";if(n.imports.length>0){const e=It(n.start,i.tokenizerOutput.lines),t=It(n.imports[0].start,i.tokenizerOutput.lines),r=n.imports.length>1?It(n.imports[1].start,i.tokenizerOutput.lines):void 0;if(t.line>e.line&&(void 0===r||r.line>t.line)){const e=i.tokenizerOutput.lines.getItemAt(t.line);o=i.text.substr(e.start,t.character),/^\s*$/.test(o)&&(s=!0)}}const a=It(r?dt.getEnd(r):n.imports.length>0?n.imports[0].start:n.start+n.length,i.tokenizerOutput.lines),l=t?`${e} as ${t}`:`${e}`;let c;if(s){const e=i.tokenizerOutput.predominantEndOfLineSequence;c=r?`,${e}${o}${l}`:`${l},${e}${o}`}else c=r?`, ${l}`:`${l}, `;return{range:{start:a,end:a},importName:e,replacementText:c}}function an(e,t,i,r,s,o){return function(e,t){if(t.length<2)return t.map((e=>r(e)));const n=[...f(t,(e=>`${e.importGroup} ${mt.print(e.range)}`))].sort(((e,t)=>L(e[0],t[0]))).map((e=>e[1])),i=[];for(const t of n)1===t.length?i.push(r(t[0])):i.push({range:t[0].range,replacementText:t[0].preChange+t.map((e=>e.importStatement)).sort(((e,t)=>s(e,t))).join(e.tokenizerOutput.predominantEndOfLineSequence)+t[0].postChange});return i;function r(e){return{range:e.range,replacementText:e.preChange+e.importStatement+e.postChange}}function s(e,t){const n=e.startsWith("import");return n===t.startsWith("import")?ee.name?"from":"import")),c=l.get("import");c&&p(c,(e=>`import ${e.join(", ")}`));const u=l.get("from");return u&&p(u,(e=>`from ${i} import ${e.join(", ")}`)),a;function p(e,l){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,i))).sort(((e,t)=>sn(e.sortText,t.sortText))).reduce(((e,t)=>function(e,t,i=n){return function(e,t,i=n){if(e)for(const n of e)if(i(n,t))return!0;return!1}(e,t,i)||e.push(t),e}(e,t.text)),[]);a.push(function(e,t,n,i,r,s){let o,a="",l="";const c=xt(s,r.tokenizerOutput.lines);if(t.orderedImports.length>0&&c>t.orderedImports[0].node.start){let e=!0,s=t.orderedImports[0],c=0;for(const o of t.orderedImports){const l=o.importResult?en(o):c;if(in)break;if(o.followsNonImportStatement){i>c&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a);break}o===t.orderedImports[t.orderedImports.length-1]&&i>l&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a),e=!e&&ie.value)).join("."),t}function cn(e){let t=2;return e.isLocalTypingsFile||1===e.importType?t=1:0===e.importType&&(t=0),t}function un(e,t,n,i=!1,r){let s,o=t;(r=void 0!==r?r:ge(e,t))&&(o=$(t));let a=n;if(r){a=$(n);const e=he(de(n));"__init__"!==e?s=e:i&&(s=de(a),a=$(a))}const l=se(o,a,(t=>e.realCasePath(t)));let c=".";for(let e=1;ele(ke(e,me(t))))).filter((e=>e!==n)).filter((e=>e.startsWith(n))),!this._libPathCache.some((e=>t.startsWith(e))))}checked(e,t,n){h(this._importChecked,t,(()=>new Map)).set(e,n)}add(e){h(this._cachedResults,e.importName,(()=>new Map)).set(e.path,e.importResult)}reset(){this._importChecked.clear(),this._cachedResults.clear(),this._libPathCache=void 0}}const hn="stdlib",mn="stubs";function fn(e,t,n,i,r,s){if(i.push("Finding python search paths"),void 0!==t.venvPath&&t.venv){const n=t.venv,r=te(t.venvPath,n),s=[],o=[];if([y,v,_].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 site-packages`);const i=te(t,T);if(e.existsSync(i))return n.push(`Found path '${i}'`),i;n.push(`Did not find '${i}', so looking for python subdirectory`);const r=ve(e,t);for(let i=0;i{yn(e,t).forEach((e=>{_n(s,e)}))})),s.length>0)return i.push("Found the following 'site-packages' dirs"),s.forEach((e=>{i.push(` ${e}`)})),s;i.push("Did not find any 'site-packages' dirs. Falling back on python interpreter.")}const o=n.getPythonSearchPaths(t.pythonPath,i);return r&&s?o.paths.filter((e=>!ne(s,e,!0)||ne(o.prefix,e,!0))):o.paths}function gn(e){return"python"===(e=e.trim())||"python3"===e}function yn(e,t){const n=[];return e.readdirEntriesSync(t).filter((e=>(e.isFile()||e.isSymbolicLink())&&e.name.endsWith(".pth"))).sort(((e,t)=>i(e.name,t.name))).forEach((i=>{const r=te(t,i.name),s=ye(e,r);(null==s?void 0:s.isFile())&&s.size>0&&s.size<65536&&e.readFileSync(r,"utf8").split(/\r?\n/).forEach((i=>{const r=i.trim();if(r.length>0&&!r.startsWith("#")&&!r.match(/^import\s/)){const i=te(t,r);e.existsSync(i)&&fe(e,i)&&n.push(i)}}))})),n}function _n(e,t){return!e.some((e=>e===t))&&(e.push(t),!0)}function vn(e){return{leadingDots:0,nameParts:e.split("."),importedSymbols:[]}}const Tn=[".pyd",".so",".dylib"],bn=[".py",".pyi",...Tn];class In{constructor(e,t,n){this.fileSystem=e,this._configOptions=t,this.host=n,this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this._cachedEntriesForPath=new Map,this.cachedParentImportResults=new dn((()=>this.getPythonSearchPaths([])))}invalidateCache(){this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this.cachedParentImportResults.reset(),this._invalidateFileSystemCache(),this.fileSystem instanceof rt&&this.fileSystem.clearPartialStubs()}resolveImport(e,t,n){return this._resolveImport(e,t,n)}_resolveImport(e,t,n){const i=this.formatImportName(n),r=this._resolveImportStrict(i,e,t,n,[]);if(r.isImportFound||n.leadingDots>0)return r;const s=le($(e=ke(this.fileSystem,me(e)))),o=this.cachedParentImportResults.getImportResult(s,i,r);if(o)return this.filterImplicitImports(o,n.importedSymbols);const a=this.getParentImportResolutionRoot(e,t.root);if(!this.cachedParentImportResults.checkValidPath(this.fileSystem,e,a))return r;const l={importPath:void 0};let c=s;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 r;if([r,c]=this._tryWalkUp(c),!r)break}return this.cachedParentImportResults.checked(c,i,l),r}_resolveImportStrict(e,t,n,i,r){const s={importName:e,isRelative:!1,isImportFound:!1,isPartlyResolved:!1,isNamespacePackage:!1,isStubPackage:!1,importFailureInfo:r,resolvedPaths:[],importType:2,isStubFile:!1,isNativeLib:!1,implicitImports:[],filteredImplicitImports:[],nonStubImportResult:void 0};if(this.ensurePartialStubPackages(n),i.leadingDots>0){const s=this._resolveRelativeImport(t,n,i,e,r);if(s)return s.isRelative=!0,s}else{const r=this._lookUpResultsInCache(n,e,i.importedSymbols);if(r&&(!r.isImportFound||!r.isNamespacePackage||this._isNamespacePackageResolved(i,r.implicitImports)))return r;const o=this._resolveBestAbsoluteImport(t,n,i,!0);if(o)return o.isStubFile&&(o.nonStubImportResult=this._resolveBestAbsoluteImport(t,n,i,!1)||s),this.addResultsToCache(n,e,o,i.importedSymbols)}return this.addResultsToCache(n,e,s,void 0)}getCompletionSuggestions(e,t,n){const i=this._getCompletionSuggestionsStrict(e,t,n);if(n.leadingDots>0)return i;const r=this.getParentImportResolutionRoot(e,t.root);let s=le($(ke(this.fileSystem,me(e))));for(;this._shouldWalkUp(s,r,t);){let r;if(this._getCompletionSuggestionsAbsolute(e,t,s,n,i,!1),[r,s]=this._tryWalkUp(s),!r)break}return i}_getCompletionSuggestionsStrict(e,t,n){const i=[],r=new Set;if(n.leadingDots>0)this._getCompletionSuggestionsRelative(e,t,n,r);else{n.nameParts.length>0&&this._getCompletionSuggestionsTypeshedPath(e,t,n,!0,r),t.root&&this._getCompletionSuggestionsAbsolute(e,t,t.root,n,r);for(const i of t.extraPaths)this._getCompletionSuggestionsAbsolute(e,t,i,n,r);this._configOptions.stubPath&&this._getCompletionSuggestionsAbsolute(e,t,this._configOptions.stubPath,n,r),this._getCompletionSuggestionsTypeshedPath(e,t,n,!1,r);const s=this.getPythonSearchPaths(i);for(const i of s)this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}return r}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=ie(e,".py");this.dirExistsCached(t)&&i.push(t)}if(0===i.length){const n=this.getImportRoots(t),r=[];for(const t of n)if(ne(t,e,!0)){const n=se(t,e,!0);if(n.length>1){n[1].endsWith(b)&&(n[1]=n[1].substr(0,n[1].length-b.length));const e=J(n);e&&r.push(e)}}for(const e of r)for(const t of n){let n=ie(ee(t,e),".py");if(this.fileExistsCached(n))i.push(n);else{const e=he(n);e.endsWith("__init__")?(n=e.substr(0,e.length-9)+".py",this.fileExistsCached(n)&&i.push(n)):(n=te(e,"__init__.py"),this.fileExistsCached(n)&&i.push(n))}}}return i}getModuleNameForImport(e,t){const n=h(this._cachedModuleNameResults,t.root,(()=>new Map));return h(n,e,(()=>this._getModuleNameForImport(e,t)))}_getModuleNameForImport(e,t){let n,i=0,r=!1;const s=[],o=this._getStdlibTypeshedPath(t,s);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:r}}t.root&&(n=this.getModuleNameFromPath(t.root,e),i=2);for(const r of t.extraPaths){const t=this.getModuleNameFromPath(r,e);(!n||t&&t.length0&&i.push(...o),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=ye(this.fileSystem,e))||void 0===t?void 0:t.isFile())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isFile())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&ge(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=ye(this.fileSystem,e))||void 0===t?void 0:t.isDirectory())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isDirectory())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&fe(this.fileSystem,t))return!0}return!1}ensurePartialStubPackages(e){if(!(this.fileSystem instanceof rt))return!1;if(this.fileSystem.isPartialStubPackagesScanned(e))return!1;const t=this.fileSystem,n=[],i=[];return r(this._configOptions.stubPath),r(e.root),e.extraPaths.forEach((e=>r(e))),r(this.getTypeshedPathEx(e,n)),this.getPythonSearchPaths(n).forEach((e=>r(e))),this.fileSystem.processPartialStubPackages(i,this.getImportRoots(e)),this._invalidateFileSystemCache(),!0;function r(e){e&&!t.isPathScanned(e)&&i.push(e)}}addResultsToCache(e,t,n,i){return h(this._cachedImportResults,e.root,(()=>new Map)).set(t,n),this.filterImplicitImports(n,i)}resolveAbsoluteImport(e,t,n,i,r,s=!1,o=!1,a=!1,l=!0,c=!1){if(l&&a){const o=this._resolveAbsoluteImport(e,t,n,i,r,s,!1,!0,!0,!0);if(o.packageDirectory&&(!o.isNamespacePackage||o.isImportFound))return o}return this._resolveAbsoluteImport(e,t,n,i,r,s,o,!1,l,c)}_invalidateFileSystemCache(){this._cachedEntriesForPath.clear()}_splitPath(e){const t=G(e);return t.length<=1?[e,""]:[J(t.slice(0,-1)),t[t.length-1]]}_resolveAbsoluteImport(e,t,n,i,r,s,o,a,l,c){a?r.push(`Attempting to resolve stub package using root path '${e}'`):r.push(`Attempting to resolve using root path '${e}'`);const u=[];let p,d,h,m=e,f=!1,g=!1,y=!1,_=!1,v=[];if(0===n.nameParts.length){const e="__init__",t=te(m,e+".py"),n=te(m,e+".pyi");l&&this.fileExistsCached(n)?(r.push(`Resolved import with file '${n}'`),u.push(n),y=!0):this.fileExistsCached(t)?(r.push(`Resolved import with file '${t}'`),u.push(t)):(r.push(`Partially resolved import with directory '${m}'`),u.push(""),f=!0),v=this._findImplicitImports(i,m,[t,n])}else for(let e=0;ethis._isNativeModuleFileName(S,e)));if(e){const s=te(I,e);_=this._resolveNativeModuleStub(s,t,i,n,r,u)}}!_&&T?(r.push(`Partially resolved import with directory '${m}'`),u.push(""),h&&(v=this._findImplicitImports(i,m,[x,C]),f=!0)):_&&r.push(`Did not find file '${C}' or '${x}'`)}break}const T=u.length>0&&u.length0:u.length>=n.nameParts.length,{importName:i,isRelative:!1,isNamespacePackage:f,isStubPackage:g,isImportFound:h,isPartlyResolved:T,importFailureInfo:r,importType:2,resolvedPaths:u,searchPath:e,isStubFile:y,isNativeLib:_,implicitImports:v,pyTypedInfo:d,filteredImplicitImports:v,packageDirectory:p}}getTypeshedPathEx(e,t){}resolveImportEx(e,t,n,i,r=[],s=!0){}resolveNativeImportEx(e,t,n=[]){}getNativeModuleName(e){const t=pe(e,!1).toLowerCase();if(this._isNativeModuleFileExtension(t))return he(he(e))}_lookUpResultsInCache(e,t,n){const i=this._cachedImportResults.get(e.root);if(!i)return;const r=i.get(t);return r?this.filterImplicitImports(r,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=le(e);let i=he(t);if(this._isNativeModuleFileExtension(pe(t))&&(i=he(i)),!i.startsWith(e))return;i.endsWith("__init__")&&(i=i.substr(0,i.length-9));const r=G(i.substr(e.length));if(r.shift(),n){if(0===r.length)return;r.shift()}return 0===r.length||(r[0].endsWith(b)&&(r[0]=r[0].substr(0,r[0].length-b.length)),r.some((e=>!this._isIdentifier(e))))?void 0:r.join(".")}_resolveBestAbsoluteImport(e,t,n,i){const r=this.formatImportName(n),s=[];if(i&&this._configOptions.stubPath){s.push(`Looking in stubPath '${this._configOptions.stubPath}'`);const e=this.resolveAbsoluteImport(this._configOptions.stubPath,t,n,r,s,void 0,!1,!0,i,!1);if(e.isImportFound)return e.importType=2,e.isLocalTypingsFile=!0,e}let o,a;t.root&&(s.push(`Looking in root directory of execution environment '${t.root}'`),a=this.resolveAbsoluteImport(t.root,t,n,r,s,void 0,!0,!0,i,!1),o=a);for(const e of t.extraPaths)s.push(`Looking in extraPath '${e}'`),a=this.resolveAbsoluteImport(e,t,n,r,s,void 0,!0,!0,i,!1),o=this._pickBestImport(o,a,n);const l=this.getPythonSearchPaths(s);if(l.length>0)for(const e of l){s.push(`Looking in python search path '${e}'`);const a=this.resolveAbsoluteImport(e,t,n,r,s,!1,!0,!0,i,!0);if(a){if(a.importType=1,a.isImportFound&&a.isStubFile)return a;o=this._pickBestImport(o,a,n)}}else s.push("No python interpreter search path");if(t.root!==this._getTypeshedRoot(t,s)&&(null==o?void 0:o.pyTypedInfo)&&!o.isPartlyResolved)return o;const c=this.resolveImportEx(e,t,n,r,s,i);if(c)return c;if(i&&n.nameParts.length>0){s.push("Looking for typeshed stdlib path");const e=this._findTypeshedPath(t,n,r,!0,s);if(e)return e.isTypeshedFile=!0,e;s.push("Looking for typeshed third-party path");const i=this._findTypeshedPath(t,n,r,!1,s);i&&(i.isTypeshedFile=!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,r){let s;if(r.push(`Looking for typeshed ${i?hn:mn} path`),i){const n=this._getStdlibTypeshedPath(e,r,t);n&&(s=[n])}else s=this._getThirdPartyTypeshedPackagePaths(t,e,r);if(s)for(const o of s)if(this.dirExistsCached(o)){const s=this.resolveAbsoluteImport(o,e,t,n,r);if(s.isImportFound)return s.importType=i?0:1,s}r.push("Typeshed path not found")}_buildTypeshedThirdPartyPackageMap(e){this._cachedTypeshedThirdPartyPackagePaths=new Map,e&&this.readdirEntriesCached(e).forEach((t=>{if(t.isDirectory()){const n=te(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=he(e.name),i=this._cachedTypeshedThirdPartyPackagePaths.get(t);i?i.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(t,[n])}}))}})),this._cachedTypeshedThirdPartyPackageRoots=[...new Set(...this._cachedTypeshedThirdPartyPackagePaths.values())].sort()}_getCompletionSuggestionsTypeshedPath(e,t,n,i,r){const s=[];let o;if(i){const e=this._getStdlibTypeshedPath(t,s,n);e&&(o=[e])}else{o=this._getThirdPartyTypeshedPackagePaths(n,t,s,!1);const e=this.getTypeshedPathEx(t,s);e&&(o=null!=o?o:[],o.push(e))}o&&o.forEach((i=>{this.dirExistsCached(i)&&this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}))}_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),r=this._cachedTypeshedStdLibModuleVersions.get(i.join("."));if(r){if(t.pythonVersionr.max)return!1}}return!0}_readTypeshedStdLibVersions(e,t){const n=new Map,i=this._getTypeshedSubdirectory(!0,e,t);if(i){const e=te(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 r=t[0].trim();if(!r)return;let s=i[0].trim();s.endsWith("+")&&(s=s.substr(0,s.length-1));let o,a=Re(s);a||(a=De.V3_0),i.length>1&&(o=Re(i[1].trim())),n.set(r,{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 r=this._getThirdPartyTypeshedPath(t,n);this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(r);const s=e.nameParts.length>0?e.nameParts[0]:"";return i?this._cachedTypeshedThirdPartyPackagePaths.get(s):s?function(e){const t=[];for(const i of e)i&&(n=i,(Array.isArray?Array.isArray(n):n instanceof Array)?c(t,i):t.push(i));var n;return t}(function(e,t){const n=[];return e.forEach(((e,t)=>{(e=>e.startsWith(s))(t)&&n.push(e)})),n}(this._cachedTypeshedThirdPartyPackagePaths)):[]}_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=te(t,"typeshed");if(this.dirExistsCached(e)){n=e;break}}}return n||(n=function(e){let t=e.getModulePath();if(!t)return;t=$(le(me(t)));const n=te(t,g);if(e.existsSync(n))return n;const i=te($(t),g);return e.existsSync(i)?i:void 0}(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=function(e,t){return te(e,t?hn:mn)}(i,e),this.dirExistsCached(i))return e?this._cachedTypeshedStdLibPath=i:this._cachedTypeshedThirdPartyPath=i,i}_resolveRelativeImport(e,t,n,i,r){r.push("Attempting to resolve relative import");const s=pn($(e),n.leadingDots);if(!s)return void r.push(`Invalid relative path '${i}'`);const o=this.resolveAbsoluteImport(s,t,n,i,r,!1,!0);return this.filterImplicitImports(o,n.importedSymbols)}_getCompletionSuggestionsRelative(e,t,n,i){const r=pn($(e),n.leadingDots);r&&this._getCompletionSuggestionsAbsolute(e,t,r,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 r=te(e,t.name);t.isSymbolicLink()&&(null===(i=ye(this.fileSystem,r))||void 0===i?void 0:i.isFile())&&n.push(t.name)})),n}_getCompletionSuggestionsAbsolute(e,t,n,i,r,s=!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,"",r,l,c,s);else for(let n=0;n{const l=pe(n,!1).toLowerCase(),c=he(n,!0);if(bn.some((e=>e===l))){if("__init__"===c)return;if(i&&!N(i,c))return;if(!this._isUniqueValidSuggestion(c,r)||!this._isResolvableSuggestion(c,s,o,e,t,a))return;r.add(c)}})),l.directories.forEach((n=>{i&&!n.startsWith(i)||this._isUniqueValidSuggestion(n,r)&&this._isResolvableSuggestion(n,s,o,e,t,a)&&r.add(n)}))}_isResolvableSuggestion(e,t,n,i,r,s){const o={leadingDots:t,nameParts:[...n,e],importedSymbols:[]};if(s){const e=this.formatImportName(o),t=[];return this._resolveImportStrict(e,i,r,o,t).isImportFound}return this._resolveImport(i,r,o).isImportFound}_isUniqueValidSuggestion(e,t){return!(t.has(e)||/[.-]/.test(e)||Qt(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,r=Te(this.readdirEntriesCached(t),this.fileSystem,t);for(const s of r.files){const r=pe(s);let o,a=!1;if(".py"===r||".pyi"===r)o=he(s);else{if(!this._isNativeModuleFileExtension(r)||this.fileExistsCached(`${s}.py`)||this.fileExistsCached(`${s}.pyi`))continue;o=s.substr(0,s.indexOf(".")),a=!0}const l=te(t,s);if(!n.find((e=>e===l))){const n={isStubFile:s.endsWith(".pyi"),isNativeLib:a,name:o,path:l},r=i.get(n.name);if(!r||!r.isStubFile){if(a){const i=te(t,s),r=this.resolveNativeImportEx(i,`${e}.${o}`,[]);r&&(n.path=r,n.isNativeLib=!1)}i.set(n.name,n)}}}for(const e of r.directories){const r=te(t,e,"__init__.py"),s=r+"i";let o=!1,a="";if(this.fileExistsCached(s)?(o=!0,a=s):this.fileExistsCached(r)&&(a=r),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,r,s){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,r);return a?(r.push(`Resolved native import ${n} with stub '${a}'`),s.push(a),!1):(r.push(`Resolved import with file '${e}'`),s.push(e),!0)}_isNativeModuleFileName(e,t){const n=pe(t,!1).toLowerCase(),i=he(t,!0);return this._isNativeModuleFileExtension(n)&&q(e,i)}_isNativeModuleFileExtension(e){return Tn.some((t=>t===e))}_tryWalkUp(e){return Se(e)?[!1,""]:[!0,le(ke(this.fileSystem,me(te(e,".."))))]}_shouldWalkUp(e,t,n){return e.length>t.length||e===t&&!n.root}getParentImportResolutionRoot(e,t){return le(t?ke(this.fileSystem,me(t)):$(e))}}const Sn=new(__webpack_require__(2477).ProtocolRequestType)("pyright/apidocs");let xn;function Cn(e){xn=e}function wn(){if(!xn)throw new Error("Host must be initialized");return xn}function En(){return wn().createMessageChannel()}function kn(){return wn().parentPort()}function Dn(){return wn().threadId()}function An(e,t){if(Array.isArray(e))return e.map(t);if(n=e,"[object Object]"===Object.prototype.toString.call(n)){const n=Object.create(null);return Object.entries(e).forEach((([e,i])=>{n[e]=t(i)})),n}var n;return t(e)}class Pn{constructor(){this._startTime=Date.now()}getDurationInMilliseconds(){return Date.now()-this._startTime}getDurationInSeconds(){return this.getDurationInMilliseconds()/1e3}}class Rn{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 Pn,n=e();return this.totalTime+=t.getDurationInMilliseconds(),this.isTiming=!1,n}}subtractFromTime(e){if(this.isTiming){this.isTiming=!1;const t=new Pn;e(),this.totalTime-=t.getDurationInMilliseconds(),this.isTiming=!0}else e()}printTime(){const e=this.totalTime/1e3;return(Math.round(100*e)/100).toString()+"sec"}}const Fn=new class{constructor(){this.totalDuration=new Pn,this.findFilesTime=new Rn,this.readFileTime=new Rn,this.tokenizeFileTime=new Rn,this.parseFileTime=new Rn,this.resolveImportsTime=new Rn,this.cycleDetectionTime=new Rn,this.bindTime=new Rn,this.typeCheckerTime=new Rn,this.typeEvaluationTime=new Rn}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()}},Nn=e=>{};function Mn(e,t,n,i,r,s){let o=!1;i=null!=i?i:Nn;try{ct(s);const r=new Pn;o=e.analyze(t,s);const a=e.getFilesToAnalyzeCount(),l=e.getDiagnostics(n),c=l.length,u=r.getDurationInSeconds();(c>0||!o)&&i({diagnostics:l,filesInProgram:e.getFileCount(),filesRequiringAnalysis:a,checkingOnlyOpenFiles:e.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:u})}catch(e){if(lt.is(e))return!1;const t=((a=e).stack?a.stack.toString():void 0)||("string"==typeof a.message?a.message:void 0)||JSON.stringify(a);r.error("Error performing analysis: "+t),i({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!0,configParseErrorOccurred:!1,elapsedTime:0,error:D(e)})}var a;return o}var On,Ln=__webpack_require__(5269);!function(e){e.Error="error",e.Warn="warn",e.Info="info",e.Log="log"}(On||(On={}));class Un{log(e){console.info(e)}info(e){console.info(e)}warn(e){console.warn(e)}error(e){console.error(e)}}class qn{constructor(e,t=""){this._console=e,this._name=t,this._levelMap=new Map([[On.Error,0],[On.Warn,1],[On.Info,2],[On.Log,3]]),this._maxLevel=2}get level(){switch(this._maxLevel){case 0:return On.Error;case 1:return On.Warn;case 2:return On.Info}return On.Log}set level(e){let t=this._levelMap.get(e);void 0===t&&(t=this._levelMap.get(On.Info)),this._maxLevel=t}error(e){this._log(On.Error,`${this._prefix}${e}`)}warn(e){this._log(On.Warn,`${this._prefix}${e}`)}info(e){this._log(On.Info,`${this._prefix}${e}`)}log(e){this._log(On.Log,`${this._prefix}${e}`)}get _prefix(){return this._name?`(${this._name}) `:""}_log(e,t){this._getNumericalLevel(e)>this._maxLevel||Vn(this._console,e,t)}_getNumericalLevel(e){const t=this._levelMap.get(e);return w(void 0!==t,"Logger: unknown log level."),void 0!==t?t:2}}function Vn(e,t,n){switch(t){case On.Log:e.log(n);break;case On.Info:e.info(n);break;case On.Warn:e.warn(n);break;case On.Error:e.error(n);break;default:E(`${t} is not expected`)}}class Bn{constructor(e,t){this._console=e,this._prefix=t,this._dummyState=new Wn,this._indentation="",this._previousTitles=[]}log(e,t,n=-1,i=!1){if(void 0===this._console)return t(this._dummyState);const r=this._console.level;if(void 0===r||r!==On.Log&&r!==On.Info)return t(this._dummyState);const s=this._indentation;this._previousTitles.push(`${s}${e} ...`),this._indentation+=" ";const o=new Wn;try{return t(o)}finally{const t=o.duration;if(this._indentation=s,this._previousTitles.length>0&&(o.isSuppressed()||t<=n))this._previousTitles.pop();else{this._printPreviousTitles();let n=`[${this._prefix}] ${this._indentation}${e}${o.get()} (${t}ms)`;i&&o.fileReadTotal+o.tokenizeTotal+o.parsingTotal+o.resolveImportsTotal+o.bindingTotal>0&&(n+=` [f:${o.fileReadTotal}, t:${o.tokenizeTotal}, p:${o.parsingTotal}, i:${o.resolveImportsTotal}, b:${o.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 Wn{constructor(){this._start=new Pn,this._startFile=Fn.readFileTime.totalTime,this._startToken=Fn.tokenizeFileTime.totalTime,this._startParse=Fn.parseFileTime.totalTime,this._startImport=Fn.resolveImportsTime.totalTime,this._startBind=Fn.bindTime.totalTime}get duration(){return this._start.getDurationInMilliseconds()}get fileReadTotal(){return Fn.readFileTime.totalTime-this._startFile}get tokenizeTotal(){return Fn.tokenizeFileTime.totalTime-this._startToken}get parsingTotal(){return Fn.parseFileTime.totalTime-this._startParse}get resolveImportsTotal(){return Fn.resolveImportsTime.totalTime-this._startImport}get bindingTotal(){return Fn.bindTime.totalTime-this._startBind}add(e){e&&(this._addendum=e)}get(){return this._addendum?` [${this._addendum}]`:""}suppress(){this._suppress=!0}isSuppressed(){return!!this._suppress}}function jn(e){return 3===e.type}function zn(e){return 4===e.type}function $n(e){return 2===e.type}function Hn(e){return 1===e.type}function Gn(e){return 6===e.type}let Kn=1;function Jn(e,t){t.startdt.getEnd(e)&&(e.length=dt.getEnd(t)-e.start)}var Yn,Qn,Zn,Xn,ei,ti,ni,ii,ri,si,oi,ai,li,ci,ui,pi,di,hi,mi,fi,gi,yi,_i,vi,Ti,bi,Ii,Si,xi,Ci,wi,Ei,ki,Di,Ai,Pi,Ri,Fi,Ni,Mi,Oi,Li,Ui,qi,Vi,Bi,Wi,ji,zi,$i,Hi,Gi,Ki,Ji,Yi,Qi,Zi,Xi,er,tr,nr,ir,rr,sr,or,ar,lr,cr,ur,pr,dr,hr,mr,fr,gr;function yr(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}}!function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:36,id:Kn++,statements:[]}}}(Yn||(Yn={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:50,id:Kn++,statements:[]}}}(Qn||(Qn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:19,id:Kn++,testExpression:t,ifSuite:n,elseSuite:i};return t.parent=r,n.parent=r,Jn(r,t),Jn(r,n),i&&(Jn(r,i),i.parent=r),r}}(Zn||(Zn={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:57,id:Kn++,testExpression:t,whileSuite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(Xn||(Xn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:26,id:Kn++,targetExpression:t,iterableExpression:n,forSuite:i};return t.parent=r,n.parent=r,i.parent=r,Jn(r,i),r}}(ei||(ei={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:33,id:Kn++,targetExpression:t,iterableExpression:n};return t.parent=i,n.parent=i,Jn(i,t),Jn(i,n),i}}(ti||(ti={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:34,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(ni||(ni={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:53,id:Kn++,trySuite:t,exceptClauses:[]};return t.parent=n,Jn(n,t),n}}(ii||(ii={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:25,id:Kn++,exceptSuite:t,isExceptGroup:n};return t.parent=i,Jn(i,t),i}}(ri||(ri={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:28,id:Kn++,decorators:[],name:t,parameters:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(si||(si={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:41,id:Kn++,category:t}}}(oi||(oi={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:10,id:Kn++,decorators:[],name:t,arguments:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i},e.createDummyForDecorators=function(e){const t={start:e[0].start,length:0,nodeType:10,id:Kn++,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,Jn(t,e)})),t.name.parent=t,t.suite.parent=t,t}}(ai||(ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:58,id:Kn++,withItems:[],suite:t};return t.parent=n,Jn(n,t),n}}(li||(li={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:59,id:Kn++,expression:e};return e.parent=t,t}}(ci||(ci={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:13,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(ui||(ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:47,id:Kn++,statements:[]}}}(pi||(pi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:0,id:Kn++,category:t,child:n,decorators:i};return n&&(n.parent=r,Jn(r,n)),i&&(i.forEach((e=>{e.parent=r})),i.length>0&&Jn(r,i[0])),r}}(di||(di={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:55,id:Kn++,operator:n,operatorToken:e,expression:t};return t.parent=r,r.maxChildDepth=1+(null!==(i=t.maxChildDepth)&&void 0!==i?i:0),Jn(r,t),r}}(hi||(hi={})),function(e){e.create=function(e,t,n,i){var r,s;const o={start:e.start,length:e.length,nodeType:7,id:Kn++,leftExpression:e,operatorToken:n,operator:i,rightExpression:t};return e.parent=o,t.parent=o,o.maxChildDepth=1+Math.max(null!==(r=e.maxChildDepth)&&void 0!==r?r:0,null!==(s=t.maxChildDepth)&&void 0!==s?s:0),Jn(o,t),o}}(mi||(mi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:4,id:Kn++,name:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(fi||(fi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:3,id:Kn++,leftExpression:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(gi||(gi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:54,id:Kn++,valueExpression:e,typeAnnotation:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(yi||(yi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:62,id:Kn++,isParamListEllipsis:t,paramTypeAnnotations:n,returnTypeAnnotation:i};return n.forEach((e=>{e.parent=r})),i.parent=r,Jn(r,i),r}}(_i||(_i={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:5,id:Kn++,leftExpression:e,operator:n,rightExpression:t,destExpression:i};return e.parent=r,t.parent=r,i.parent=r,Jn(r,t),r}}(vi||(vi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:6,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ti||(Ti={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:51,id:Kn++,ifExpression:e,testExpression:t,elseExpression:n};return e.parent=i,t.parent=i,n.parent=i,Jn(i,n),i}}(bi||(bi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:56,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ii||(Ii={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:52,id:Kn++,expressions:[],enclosedInParens:t}}}(Si||(Si={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:9,id:Kn++,leftExpression:e,arguments:t,trailingComma:n};return e.parent=r,r.maxChildDepth=1+(null!==(i=e.maxChildDepth)&&void 0!==i?i:0),t.length>0&&(t.forEach((e=>{e.parent=r})),Jn(r,t[t.length-1])),r}}(xi||(xi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:32,id:Kn++,expression:e,forIfNodes:[]};return e.parent=t,t}}(Ci||(Ci={})),function(e){e.create=function(e,t,n,i){var r;const s={start:e.start,length:e.length,nodeType:24,id:Kn++,baseExpression:e,items:t,trailingComma:n};return e.parent=s,t.forEach((e=>{e.parent=s})),Jn(s,i),s.maxChildDepth=1+(null!==(r=e.maxChildDepth)&&void 0!==r?r:0),s}}(wi||(wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:46,id:Kn++}}}(Ei||(Ei={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:60,id:Kn++,expression:t};return t&&(t.parent=n,Jn(n,t)),n}}(ki||(ki={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:61,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Di||(Di={})),function(e){e.create=function(e,t){var n;const i={start:e.start,length:e.length,nodeType:35,id:Kn++,leftExpression:e,memberName:t};return e.parent=i,t.parent=i,Jn(i,t),i.maxChildDepth=1+(null!==(n=e.maxChildDepth)&&void 0!==n?n:0),i}}(Ai||(Ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:30,id:Kn++,parameters:[],expression:t};return t.parent=n,Jn(n,t),n}}(Pi||(Pi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:38,id:Kn++,token:e,value:e.value}}}(Ri||(Ri={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:11,id:Kn++,constType:e.keywordType}}}(Fi||(Fi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:18,id:Kn++}}}(Ni||(Ni={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:40,id:Kn++,value:e.value,isInteger:e.isInteger,isImaginary:e.isImaginary}}}(Mi||(Mi={})),function(e){e.create=function(e,t,n){return{start:e.start,length:e.length,nodeType:49,id:Kn++,token:e,value:t,hasUnescapeErrors:n}}}(Oi||(Oi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:27,id:Kn++,token:e,value:t,hasUnescapeErrors:n,expressions:i};return i.forEach((e=>{e.parent=r})),r}}(Li||(Li={})),function(e){e.create=function(e){const t={start:e[0].start,length:e[0].length,nodeType:48,id:Kn++,strings:e};return e.length>0&&(e.forEach((e=>{e.parent=t})),Jn(t,e[e.length-1])),t}}(Ui||(Ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:15,id:Kn++,entries:[]}}}(qi||(qi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:17,id:Kn++,keyExpression:e,valueExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(Vi||(Vi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:16,id:Kn++,expandExpression:e};return e.parent=t,t}}(Bi||(Bi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:45,id:Kn++,entries:[]}}}(Wi||(Wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:31,id:Kn++,entries:[]}}}(ji||(ji={})),function(e){e.create=function(e,t,n){const i={start:e?e.start:t.start,length:e?e.length:t.length,nodeType:1,id:Kn++,valueExpression:t,argumentCategory:n};return t.parent=i,Jn(i,t),i}}(zi||(zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:14,id:Kn++,expressions:[]}}}($i||($i={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:42,id:Kn++}}}(Hi||(Hi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:20,id:Kn++,list:[]}}}(Gi||(Gi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:37,id:Kn++,leadingDots:0,nameParts:[]}}}(Ki||(Ki={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:21,id:Kn++,module:e};return e.parent=t,t}}(Ji||(Ji={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:22,id:Kn++,module:t,imports:[],isWildcardImport:!1,usesParens:!1};return t.parent=n,Jn(n,t),n}}(Yi||(Yi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:23,id:Kn++,name:e};return e.parent=t,t}}(Qi||(Qi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:29,id:Kn++,nameList:[]}}}(Zi||(Zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:39,id:Kn++,nameList:[]}}}(Xi||(Xi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:2,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(er||(er={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:8,id:Kn++}}}(tr||(tr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:12,id:Kn++}}}(nr||(nr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:44,id:Kn++}}}(ir||(ir={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:43,id:Kn++}}}(rr||(rr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:63,id:Kn++,subjectExpression:t,cases:[]};return t.parent=n,Jn(n,t),n}}(sr||(sr={})),function(e){e.create=function(e,t,n,i,r){const s={start:e.start,length:e.length,nodeType:64,id:Kn++,pattern:t,isIrrefutable:n,guardExpression:i,suite:r};return Jn(s,r),t.parent=s,r.parent=s,i&&(i.parent=s),s}}(or||(or={})),function(e){e.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:Kn++,entries:t,starEntryIndex:n>=0?n:void 0};return t.length>0&&Jn(i,t[t.length-1]),t.forEach((e=>{e.parent=i})),i}}(ar||(ar={})),function(e){e.create=function(e,t){const n={start:e[0].start,length:e[0].length,nodeType:66,id:Kn++,orPatterns:e,target:t};return e.length>1&&Jn(n,e[e.length-1]),e.forEach((e=>{e.parent=n})),t&&(Jn(n,t),t.parent=n),n}}(lr||(lr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:67,id:Kn++,expression:e};return e.parent=t,t}}(cr||(cr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:68,id:Kn++,className:e,arguments:t};return e.parent=n,t.forEach((e=>{e.parent=n})),t.length>0&&Jn(n,t[t.length-1]),n}}(ur||(ur={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:74,id:Kn++,pattern:e,name:t};return e.parent=n,t&&(Jn(n,t),t.parent=n),n}}(pr||(pr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:69,id:Kn++,target:e,isStar:void 0!==t,isWildcard:"_"===e.value};return e.parent=n,t&&Jn(n,t),n}}(dr||(dr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:70,id:Kn++,entries:t};return t.length>0&&Jn(n,t[t.length-1]),t.forEach((e=>{e.parent=n})),n}}(hr||(hr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:71,id:Kn++,keyPattern:e,valuePattern:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(mr||(mr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:72,id:Kn++,target:t};return t.parent=n,Jn(n,t),n}}(fr||(fr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:73,id:Kn++,expression:e};return e.parent=t,t}}(gr||(gr={}));class _r{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:if(this.visitError(e))return[e.child,...null!==(t=e.decorators)&&void 0!==t?t:[]];break;case 1:if(this.visitArgument(e))return[e.name,e.valueExpression];break;case 2:if(this.visitAssert(e))return[e.testExpression,e.exceptionExpression];break;case 3:if(this.visitAssignment(e))return[e.leftExpression,e.rightExpression,e.typeAnnotationComment];break;case 4:if(this.visitAssignmentExpression(e))return[e.name,e.rightExpression];break;case 5:if(this.visitAugmentedAssignment(e))return[e.leftExpression,e.rightExpression];break;case 6:if(this.visitAwait(e))return[e.expression];break;case 7:if(this.visitBinaryOperation(e))return[e.leftExpression,e.rightExpression];break;case 8:if(this.visitBreak(e))return[];break;case 9:if(this.visitCall(e))return[e.leftExpression,...e.arguments];break;case 10:if(this.visitClass(e))return[...e.decorators,e.name,...e.arguments,e.suite];break;case 11:if(this.visitConstant(e))return[];break;case 12:if(this.visitContinue(e))return[];break;case 13:if(this.visitDecorator(e))return[e.expression];break;case 14:if(this.visitDel(e))return e.expressions;break;case 15:if(this.visitDictionary(e))return e.entries;break;case 16:if(this.visitDictionaryExpandEntry(e))return[e.expandExpression];break;case 17:if(this.visitDictionaryKeyEntry(e))return[e.keyExpression,e.valueExpression];break;case 18:if(this.visitEllipsis(e))return[];break;case 19:if(this.visitIf(e))return[e.testExpression,e.ifSuite,e.elseSuite];break;case 20:if(this.visitImport(e))return e.list;break;case 21:if(this.visitImportAs(e))return[e.module,e.alias];break;case 22:if(this.visitImportFrom(e))return[e.module,...e.imports];break;case 23:if(this.visitImportFromAs(e))return[e.name,e.alias];break;case 24:if(this.visitIndex(e))return[e.baseExpression,...e.items];break;case 25:if(this.visitExcept(e))return[e.typeExpression,e.name,e.exceptSuite];break;case 26:if(this.visitFor(e))return[e.targetExpression,e.iterableExpression,e.forSuite,e.elseSuite];break;case 27:if(this.visitFormatString(e))return e.expressions;break;case 28:if(this.visitFunction(e))return[...e.decorators,e.name,...e.parameters,e.returnTypeAnnotation,e.functionAnnotationComment,e.suite];break;case 29:if(this.visitGlobal(e))return e.nameList;break;case 30:if(this.visitLambda(e))return[...e.parameters,e.expression];break;case 31:if(this.visitList(e))return e.entries;break;case 32:if(this.visitListComprehension(e))return[e.expression,...e.forIfNodes];break;case 33:if(this.visitListComprehensionFor(e))return[e.targetExpression,e.iterableExpression];break;case 34:if(this.visitListComprehensionIf(e))return[e.testExpression];break;case 35:if(this.visitMemberAccess(e))return[e.leftExpression,e.memberName];break;case 36:if(this.visitModule(e))return[...e.statements];break;case 37:if(this.visitModuleName(e))return e.nameParts;break;case 38:if(this.visitName(e))return[];break;case 39:if(this.visitNonlocal(e))return e.nameList;break;case 40:if(this.visitNumber(e))return[];break;case 41:if(this.visitParameter(e))return[e.name,e.typeAnnotation,e.typeAnnotationComment,e.defaultValue];break;case 42:if(this.visitPass(e))return[];break;case 43:if(this.visitRaise(e))return[e.typeExpression,e.valueExpression,e.tracebackExpression];break;case 44:if(this.visitReturn(e))return[e.returnExpression];break;case 45:if(this.visitSet(e))return e.entries;break;case 46:if(this.visitSlice(e))return[e.startValue,e.endValue,e.stepValue];break;case 47:if(this.visitStatementList(e))return e.statements;break;case 48:if(this.visitStringList(e))return[e.typeAnnotation,...e.strings];break;case 49:if(this.visitString(e))return[];break;case 50:if(this.visitSuite(e))return[...e.statements];break;case 51:if(this.visitTernary(e))return[e.ifExpression,e.testExpression,e.elseExpression];break;case 52:if(this.visitTuple(e))return e.expressions;break;case 53:if(this.visitTry(e))return[e.trySuite,...e.exceptClauses,e.elseSuite,e.finallySuite];break;case 54:if(this.visitTypeAnnotation(e))return[e.valueExpression,e.typeAnnotation];break;case 55:if(this.visitUnaryOperation(e))return[e.expression];break;case 56:if(this.visitUnpack(e))return[e.expression];break;case 57:if(this.visitWhile(e))return[e.testExpression,e.whileSuite,e.elseSuite];break;case 58:if(this.visitWith(e))return[...e.withItems,e.suite];break;case 59:if(this.visitWithItem(e))return[e.expression,e.target];break;case 60:if(this.visitYield(e))return[e.expression];break;case 61:if(this.visitYieldFrom(e))return[e.expression];break;case 62:if(this.visitFunctionAnnotation(e))return[...e.paramTypeAnnotations,e.returnTypeAnnotation];break;case 63:if(this.visitMatch(e))return[e.subjectExpression,...e.cases];break;case 64:if(this.visitCase(e))return[e.pattern,e.guardExpression,e.suite];break;case 65:if(this.visitPatternSequence(e))return[...e.entries];break;case 66:if(this.visitPatternAs(e))return[...e.orPatterns,e.target];break;case 67:if(this.visitPatternLiteral(e))return[e.expression];break;case 68:if(this.visitPatternClass(e))return[e.className,...e.arguments];break;case 69:if(this.visitPatternCapture(e))return[e.target];break;case 70:if(this.visitPatternMapping(e))return[...e.entries];break;case 71:if(this.visitPatternMappingKeyEntry(e))return[e.keyPattern,e.valuePattern];break;case 72:if(this.visitPatternMappingExpandEntry(e))return[e.target];break;case 73:if(this.visitPatternValue(e))return[e.expression];break;case 74:if(this.visitPatternClassArgument(e))return[e.name,e.pattern];break;default:E("Unexpected node type")}return[]}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}visitTypeAnnotation(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}}function vr(e){let t=0,n=e;for(;n;)t++,n=n.parent;return t}function Tr(e,t){if(tdt.getEnd(e))return;const n=(new _r).visitNode(e);for(const e of n)if(e){const n=Tr(e,t);if(n)return n}return e}function br(e,t,n){const i=[n];let r=e;for(;r;)r=Er(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}function Ir(e){return e.start}function Sr(e,t){let n="";return 1===e.argumentCategory?n="*":2===e.argumentCategory&&(n="**"),e.name&&(n+=e.name.value+"="),n+=xr(e.valueExpression,t),n}function xr(e,t=0){switch(e.nodeType){case 38:return e.value;case 35:return xr(e.leftExpression,t)+"."+e.memberName.value;case 9:return xr(e.leftExpression,t)+"("+e.arguments.map((e=>Sr(e,t))).join(", ")+")";case 24:return xr(e.baseExpression,t)+"["+e.items.map((e=>Sr(e,t))).join(", ")+"]"+(e.trailingComma?",":"");case 55:return Cr(e.operator)+xr(e.expression,t);case 7:{const n=xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(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?xr(e.typeAnnotation,t):e.strings.map((e=>xr(e,t))).join(" ");case 49:{let t="";return 8&e.token.flags&&(t+="r"),16&e.token.flags&&(t+="u"),32&e.token.flags&&(t+="b"),64&e.token.flags&&(t+="f"),4&e.token.flags?1&e.token.flags?t+=`'''${e.token.escapedValue}'''`:t+=`"""${e.token.escapedValue}"""`:1&e.token.flags?t+=`'${e.token.escapedValue}'`:t+=`"${e.token.escapedValue}"`,t}case 3:return xr(e.leftExpression,t)+" = "+xr(e.rightExpression,t);case 4:return xr(e.name,t)+" := "+xr(e.rightExpression,t);case 54:return xr(e.valueExpression,t)+": "+xr(e.typeAnnotation,t);case 5:return xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);case 6:return"await "+xr(e.expression,t);case 51:return xr(e.ifExpression,t)+" if "+xr(e.testExpression,t)+" else "+xr(e.elseExpression,t);case 31:return`[${e.entries.map((e=>xr(e,t))).join(", ")}]`;case 56:return"*"+xr(e.expression,t);case 52:{const n=e.expressions.map((e=>xr(e,t)));return 1===n.length?`(${n[0]}, )`:`(${n.join(", ")})`}case 60:return e.expression?"yield "+xr(e.expression,t):"yield";case 61:return"yield from "+xr(e.expression,t);case 18:return"...";case 32:{let n="";return yr(e.expression)?n=xr(e.expression,t):17===e.expression.nodeType&&(n=`${xr(e.expression.keyExpression,t)}: ${xr(e.expression.valueExpression,t)}`),n=n+" "+e.forIfNodes.map((e=>33===e.nodeType?(e.isAsync?"async ":"")+"for "+xr(e.targetExpression,t)+` in ${xr(e.iterableExpression,t)}`:`if ${xr(e.testExpression,t)}`)).join(" "),e.isParenthesized?`(${n}})`:n}case 46:{let n="";return e.startValue&&(n+=xr(e.startValue,t)),e.endValue&&(n+=": "+xr(e.endValue,t)),e.stepValue&&(n+=": "+xr(e.stepValue,t)),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),e.defaultValue&&(n+=" = "+xr(e.defaultValue,t)),n})).join(", ")+": "+xr(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?`${xr(e.keyExpression,t)}: ${xr(e.valueExpression,t)}`:xr(e,t)))}`;return n?`{ ${n} }`:"{}"}case 16:return`**${xr(e.expandExpression,t)}`;case 45:return e.entries.map((e=>xr(e,t))).join(", ")}return""}function Cr(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 wr(e){let t=e.parent;for(;t;){if(50===t.nodeType)return t;t=t.parent}}function Er(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 kr(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 Dr(e){let t=e.parent;for(;t;){if(28===t.nodeType)return t;if(10===t.nodeType)return t;t=t.parent}}function Ar(e){let t,n,i=e,r=!1;for(;i;){switch(41===i.nodeType&&t===i.name&&(r=!0),i.nodeType){case 28:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if(t===i.suite&&void 0!==Ft(i))return i;break;case 30:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if((!t||t===i.expression)&&void 0!==Ft(i))return i;break;case 10:if(t===i.suite&&void 0!==Ft(i))return i;break;case 32:if(void 0!==Ft(i)&&(t!==i.forIfNodes[0]||33!==i.forIfNodes[0].nodeType||i.forIfNodes[0].iterableExpression!==n))return i;break;case 36:if(void 0!==Ft(i))return i}n=t,t=i,i=i.parent}E("Did not find evaluation scope")}function Pr(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 28:if((n===i.suite||t)&&!i.decorators.some((e=>e===n)))return i;break;case 10:if(n===i.suite&&!i.decorators.some((e=>e===n)))return i}n=i,i=i.parent}}function Rr(e){let t=Ar(e);for(;10===t.nodeType||32===t.nodeType;)t=Ar(t.parent);return t}function Fr(e){if(38===e.nodeType)return!0;if(35===e.nodeType){if(38!==e.leftExpression.nodeType)return!1;if(!Er(e))return!1;const t=kr(e);return!!t&&"__init__"===t.name.value}return!1}function Nr(e){return!!Er(e,!0)}function Mr(e,t){let n=e;for(;n;){if(n===t)return!0;n=n.parent}return!1}function Or(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}function Lr(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 Lr(e.leftExpression,t.leftExpression)&&e.memberName.value===t.memberName.value;if(24===e.nodeType&&24===t.nodeType){if(!Lr(e.baseExpression,t.baseExpression))return!1;if(1!==t.items.length||t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return!1;if(40===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;return!(40!==i.nodeType||i.isImaginary||!i.isInteger)&&n.value===i.value}if(48===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;if(1===n.strings.length&&49===n.strings[0].nodeType&&48===i.nodeType&&1===i.strings.length&&49===i.strings[0].nodeType)return n.strings[0].value===i.strings[0].value}return!1}return!1}function Ur(e,t){return 35===e.nodeType?Lr(e.leftExpression,t)||Ur(e.leftExpression,t):24===e.nodeType&&(Lr(e.baseExpression,t)||Ur(e.baseExpression,t))}function qr(e){if(0===e.length)return;if(47!==e[0].nodeType)return;if(!Vr(e[0]))return;const t=e[0].statements[0].strings;return 1===t.length?t[0].value:t.map((e=>e.value)).join("")}function Vr(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)))}class Br extends _r{constructor(e){super(),this._callback=e}visitName(e){return this._callback(e,this._subscriptIndex,this._baseExpression),!0}visitIndex(e){this.walk(e.baseExpression);const t=this._subscriptIndex,n=this._baseExpression;return this._baseExpression=e.baseExpression,e.items.forEach(((e,t)=>{this._subscriptIndex=t,this.walk(e)})),this._subscriptIndex=t,this._baseExpression=n,!1}}class Wr extends _r{constructor(e){super(),this._callback=e}visitCall(e){return this._callback(e),!0}}function jr(e){let t=e;for(;t;){if(41===t.nodeType)return t;t=t.parent}}function zr(e,t,n){let i,r=e;for(;void 0!==r;){if(9===r.nodeType&&u(r)){i=r;break}r=r.parent}if(!i||!i.arguments)return;const s=dt.getEnd(i);if(t>s)return;const o=function(e,t){const n=e.getItemAtPosition(t);if(!(n<0))return e.getItemAt(n)}(n,s-1);if(t===s&&14===(null==o?void 0:o.type))return;let a=!1,l=-1,c=!1;return i.arguments.forEach(((e,i)=>{if(a)return;let r=e.start;const s=n.getItemAtPosition(r);s>=0&&(r=dt.getEnd(n.getItemAt(s-1)));let o=dt.getEnd(e);const u=n.getItemAtPosition(o);if(u>=0)for(let e=u;e=r,a=!0)})),a||(l=i.arguments.length+1),{callNode:i,activeIndex:l,activeOrFake:c};function u(e,i){let r=!0;const s=e.leftExpression.length>0?dt.getEnd(e.leftExpression)-1:e.leftExpression.start,o=n.getItemAtPosition(s);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 25:return t===n.name;case 58:return n.withItems.some((e=>e===t));case 33:return t===n.targetExpression;case 54:if(t===n.typeAnnotation)return!1;break;case 28:case 10:case 36:return!1}t=n,n=n.parent}return!1}function Hr(e){let t=e;for(;t&&36!==t.nodeType;)t=t.parent;return t}function Gr(e){const t=Hr(e);return t?Vt(t):void 0}function Kr(e){var t,n;return 21===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Jr(e){var t;return 21===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Yr(e){var t,n;return 22===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Qr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e}function Zr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Xr(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}function es(e,t){return function(e,n){for(const n of function*(e){for(;void 0!==e;)yield e,e=e.parent}(e))if(n.nodeType===t)return n}(e)}function ts(e){var t;return 35!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||e.parent.leftExpression===e?e:e.parent}function ns(e){switch(e.type){case 0:case 4:case 5:case 3: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 6:return!1}}function is(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(6===e.type&&6===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}function rs(e){return 1===e.type&&!!e.isFinal}function ss(e){return 1===e.type&&!!e.typeAliasAnnotation}function os(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}function as(e){var t;switch(e.type){case 6:return e.symbolName;case 4: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 5:return}throw new Error("Shouldn't reach here")}function ls(e){return e.map((e=>{if(6!==e.type)return e;const t={...e};return t.usesLocalName=!1,t}))}function cs(e){return{type:6,node:void 0,path:e,loadSymbolsFromPath:!1,range:{start:{line:0,character:0},end:{line:0,character:0}},implicitImports:new Map,usesLocalName:!1,moduleName:"",isInExceptSuite:!1}}function us(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}function ps(e,t){if(!e||!t)return;const n=us(e);for(const e of n){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)}}function ds(e){return new Vs(e).convert()}function hs(e){const t=us(e),n=[];for(const e of t){const t=n.length>0?n[n.length-1]:void 0;Ws(e)&&Ws(t)||n.push(e)}return n.join("\n").trimEnd()}const ms=/\S|$/,fs=/\S/,gs=/^\s*~~~+$/,ys=/^\s*\+\+\++$/,_s=/^\s*===+\s+===+$/,vs=/^\s*---+\s+---+$/,Ts=/^(\s*)-\s/,bs=/^(\s*)\*\s/,Is=/^(\s*)\d+\.\s/,Ss=/^(\s+\* )(.*)$/,xs=/^\s*\.\. /,Cs=/^\s*\.\.\s+(\w+)::\s*(.*)$/,ws=/ *>>> /,Es=/^\s*:(param|arg|type|return|rtype|raise|except|var|ivar|cvar|copyright|license)/,ks=/^[.\s\t]+(@\w+)/,Ds=/^(\.\s{3})|^(\.)/,As=[{exp:/^\s*=+(\s+=+)+$/,replacement:"="},{exp:/^\s*-+(\s+-+)+$/,replacement:"-"},{exp:/^\s*~+(\s+-+)+$/,replacement:"~"},{exp:/^\s*\++(\s+\++)+$/,replacement:"+"}],Ps=/\s/g,Rs=/``/g,Fs=/~/g,Ns=/\+/g,Ms=/[_*~[\]]/g,Os=/(\[.*\]\(.*\))/g,Ls=[{exp://g,replacement:">"}],Us=/^\s*::$/,qs=[{exp:/\s+::$/g,replacement:""},{exp:/(\S)\s*::$/g,replacement:"$1:"},{exp:/:[\w_\-+:.]+:`/g,replacement:"`"},{exp:/`:[\w_\-+:.]+:/g,replacement:"`"}];class Vs{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=us(e)}convert(){for(this._lines.some((e=>ks.exec(e)))&&(this._lines=this._lines.map((e=>e.replace(Ds,""))));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!Ws(e)))||"")}_currentLineIsOutsideBlock(){return this._currentIndent()n)||Ws(t)||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(t)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n>i&&!Ws(t)&&!this._builder.endsWith("\\\n")&&!this._builder.endsWith("\n\n")&&(this._builder=this._builder.slice(0,-1)+"\\\n"),0===n||this._builder.endsWith("\\\n")||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 Ls.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 As)if(e.exp.test(n)){n=n.replace(Ps,e.replacement);break}if(gs.test(n)){this._append(n.replace(Fs,"-"));continue}if(ys.test(n)){this._append(n.replace(Ns,"-"));continue}}const e=Ss.exec(n);null!==e&&3===e.length&&(this._append(e[1]),n=e[2])}n.split(Os).forEach((e=>{Os.test(e)?this._append(e):this._append(e.replace(Ms,((e,t,n)=>"\\"===n.charAt(t-1)?e:"\\"+e)))}))}}this._builder+="\n"}_preprocessTextLine(e){return Us.test(e)?"":(qs.forEach((t=>e=e.replace(t.exp,t.replacement))),e=e.replace(Rs,"`"))}_parseEmpty(){if(Ws(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!!ws.test(this._currentLine())&&(this._beginMinIndentCodeBlock(this._parseDocTest),this._appendLine(this._currentLineWithinBlock()),this._eatLine(),!0)}_parseDocTest(){if(this._currentLineIsOutsideBlock()||Ws(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(!Ws(e))return!1;let t=this._lineNum-2;for(;t>=0;t--){const e=this._lineAt(t);if(!Ws(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 Ws(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!!xs.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,r=Es.test(n);if(i||r){const e=this._lineAt(this._lineNum-1);return this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(e)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n=this._convertIndent(n),this._appendTextLine(n),this._eatLine(),!0}return!1}_beginTableBlock(){if(this._insideInlineCode)return!1;const e=this._currentLine();return!!_s.test(e)&&(this._tableState={header:e.trimStart(),inHeader:!0},this._eatLine(),this._pushAndSetState(this._parseTableBlock),!0)}_parseTableBlock(){if(Ws(this._currentLineOrUndefined())||!this._tableState)return this._tableState=void 0,void this._popState();let e=this._currentLine();if(_s.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 r=0;r${o} `),t+=s}this._eatLine(),e=this._currentLine()}while(!Ws(this._currentLineOrUndefined())&&!vs.test(e)&&!_s.test(e));this._tableState.inHeader=!1,i.forEach((e=>{t+=`${e}|`})),this._appendLine(t);const r=e.trimStart().replace(/=/g,"-").replace(" ","|");this._appendLine(`|${r}|`),this._eatLine()}else{let i=0;n.forEach((n=>{const r=n.length+1,s=e.slice(i,i+r);t+=`${s}|`,i+=r})),this._appendLine(t),this._eatLine()}}}_beginList(){if(this._insideInlineCode)return!1;let e=this._currentLine();const t=Ts.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=bs.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=Is.exec(e);return 2===(null==i?void 0:i.length)&&(this._appendTextLine(e),this._eatLine(),!0)}_parseList(){if(Ws(this._currentLineOrUndefined())||this._currentLineIsOutsideBlock())this._popState();else if(!this._beginList()){const e=this._currentLine().trimStart();this._appendTextLine(e),this._eatLine()}}_parseDirective(){const e=Cs.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(){Ws(this._currentLineOrUndefined())||!this._currentLineIsOutsideBlock()?(this._appendDirectiveBlock&&this._appendTextLine(this._currentLine().trimLeft()),this._eatLine()):this._popState()}_appendLine(e){Ws(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 Bs(e){return e.search(ms)}function Ws(e){return void 0===e||!fs.test(e)}function js(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}function zs(e){return Ft(Ar(e))}const $s="*";class Hs{constructor(e,t,n){this.className=e,this.itemName=t,this.itemType=n}}const Gs=14;var Ks,Js,Ys,Qs,Zs,Xs,eo,to,no,io,ro,so,oo;function ao(e){return 4===e.category}function lo(e){return 3===e.category&&Ks.isInstance(e)}function co(e){return 3===e.category&&Ks.isInstantiable(e)}function uo(e){return 2===e.category}function po(e){return 1===e.category}function ho(e){return 2===e.category||1===e.category||!!fo(e)&&void 0===e.subtypes.find((e=>!ho(e)))}function mo(e){return 0===e.category}function fo(e){return 9===e.category}function go(e){return!!mo(e)||!!fo(e)&&void 0!==e.subtypes.find((e=>go(e)))}function yo(e){return 7===e.category}function _o(e){return 7===e.category&&Ks.isInstantiable(e)}function vo(e){return 7===e.category&&Ks.isInstance(e)}function To(e){return 8===e.category}function bo(e){return 10===e.category}function Io(e){return 10===e.category&&e.details.isVariadic}function So(e){return fo(e)&&1===e.subtypes.length&&(e=e.subtypes[0]),10===e.category&&e.details.isVariadic&&!!e.isVariadicUnpacked}function xo(e){return!(!yo(e)||!e.isUnpacked)}function Co(e){return So(e)||xo(e)}function wo(e){return 10===e.category&&e.details.isParamSpec}function Eo(e){return 5===e.category}function ko(e){return 6===e.category}function Do(e){return e.typeAliasInfo?e.typeAliasInfo:bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType&&e.details.boundType.typeAliasInfo?e.details.boundType.typeAliasInfo:void 0}function Ao(e,t,n=!1,i=!1,r=0){var s,o;if(e===t)return!0;if(e.category!==t.category)return!1;if(!i&&e.flags!==t.flags)return!1;if(r>Gs)return!0;switch(r++,e.category){case 7:{const i=t;if(!Zs.isSameGenericClass(e,i,r))return!1;if(!ro.isSame(e.condition,t.condition))return!1;if(!n||!Zs.isPseudoGenericClass(e))if(e.tupleTypeArguments&&i.tupleTypeArguments){const t=e.tupleTypeArguments||[],s=i.tupleTypeArguments||[];if(t.length!==s.length)return!1;for(let e=0;e0===e.category&&!e.name)),l=o.findIndex((e=>0===e.category&&!e.name));for(let t=0;t=a;if(p!==(void 0!==l&&t>=l))return!1;if(p&&c.name!==u.name)return!1;if(!Ao(Xs.getEffectiveParameterType(e,t),Xs.getEffectiveParameterType(i,t),n,!1,r))return!1}let c=e.details.declaredReturnType;e.specializedTypes&&e.specializedTypes.returnType&&(c=e.specializedTypes.returnType),!c&&e.inferredReturnType&&(c=e.inferredReturnType);let u=i.details.declaredReturnType;return i.specializedTypes&&i.specializedTypes.returnType&&(u=i.specializedTypes.returnType),!u&&i.inferredReturnType&&(u=i.inferredReturnType),!!(!c&&!u||c&&u&&Ao(c,u,n,!1,r))}case 6:{const s=t;if(e.overloads.length!==s.overloads.length)return!1;for(let t=0;t!so.containsType(n,e,r)))}case 10:{const i=t;if(e.scopeId!==i.scopeId)return!1;if(e.details.recursiveTypeParameters&&i.details.recursiveTypeParameters){const i=(null===(s=null==e?void 0:e.typeAliasInfo)||void 0===s?void 0:s.typeArguments)||[],a=(null===(o=null==t?void 0:t.typeAliasInfo)||void 0===o?void 0:o.typeArguments)||[],l=Math.max(i.length,a.length);for(let e=0;epo(e)))}function Ro(e){return fo(e)?No(e,(e=>mo(e))):mo(e)?Ys.create():e}function Fo(e){return No(e,(e=>lo(e)))}function No(e,t){if(fo(e)){const n=e.subtypes.filter((e=>!t(e)));if(n.lengtht(e))):t(e)?e:void 0}function Oo(e,t){let n=!1;if(0===(e=e.filter((e=>(4===e.category&&e.isNoReturn&&(n=!0),4!==e.category)))).length)return n?no.createNoReturn():no.createNever();let i=!0;for(let t=1;tvo(e)&&void 0!==e.literalValue||_o(e)&&void 0!==e.literalValue?1:vo(t)&&void 0!==t.literalValue||_o(t)&&void 0!==t.literalValue?-1:vo(e)&&e.isEmptyContainer?1:vo(t)&&t.isEmptyContainer?-1:0)),0===r.length)return Ys.create();const o=so.create();s.length>0&&(o.typeAliasSources=new Set,s.forEach((e=>{o.typeAliasSources.add(e)})));let a=!1;return r.forEach(((e,n)=>{0===n?so.addType(o,e):void 0===t||o.subtypes.lengtht===e.details.name))||n.some((t=>t===e.aliasName))}return!0}function i(t,n,i=0){if(i>Gs)return!0;if(i++,t.details===n.details)return!0;const r=t.details,s=n.details;if(r===s)return!0;if(r.fullName!==s.fullName||r.flags!==s.flags||r.typeSourceId!==s.typeSourceId||r.baseClasses.length!==s.baseClasses.length||r.typeParameters.length!==s.typeParameters.length)return!1;if(e.isBuiltIn(t,"NamedTuple")&&e.isBuiltIn(n,"NamedTuple"))return!0;if(e.isBuiltIn(t,"tuple")&&e.isBuiltIn(n,"tuple"))return!0;for(let e=0;eao(e)&&!e.isNoReturn?Ys.create():e)):void 0,o.isTypeArgumentExplicit=n,i&&(o.includeSubclasses=!0),o.tupleTypeArguments=r?r.map((e=>ao(e.type)?{type:Ys.create(),isUnbounded:e.isUnbounded}:e)):void 0,void 0!==s&&(o.isEmptyContainer=s),o},e.cloneWithLiteral=function(e,t){const n=Ks.cloneType(e);return n.literalValue=t,n},e.cloneForTypingAlias=function(e,t){const n=Ks.cloneType(e);return n.aliasName=t,n},e.cloneForNarrowedTypedDictEntries=function(e,t){const n=Ks.cloneType(e);return n.typedDictNarrowedEntries=t,n},e.cloneWithNewTypeParameters=function(e,t){const n=Ks.cloneType(e);return n.details={...n.details},n.details.typeParameters=t,n},e.cloneForTypeGuard=function(e,t,n){const i=Ks.cloneType(e);return i.typeGuardType=t,i.isStrictTypeGuard=n,i},e.cloneForSymbolTableUpdate=function(e){const n=Ks.cloneType(e);return n.details={...n.details},n.details.fields=new Map(n.details.fields),n.details.mro=[...n.details.mro],n.details.mro[0]=t(n),n},e.cloneForUnpacked=function(e,t=!0){const n=Ks.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 Hs?t.literalValue instanceof Hs&&e.literalValue.itemName===t.literalValue.itemName:e.literalValue===t.literalValue)},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=n,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.isPartiallyConstructed=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=>ho(e)))},e.isSameGenericClass=i,e.isDerivedFrom=function e(t,r,s){if(i(t,r))return s&&s.push(t),!0;if(n(t)&&n(r,"object"))return s&&s.push(r),!0;for(const n of t.details.baseClasses)if(_o(n)){if(e(n,r,s))return s&&s.push(t),!0}else if(ho(n))return s&&s.push(Ys.create()),!0;return!1}}(Zs||(Zs={})),function(e){function t(e,t,n,i,r,s){return{category:5,details:{name:e,fullName:t,moduleName:n,flags:i,parameters:[],docString:s},flags:r}}function n(e,t){return w(t0&&0===e.details.parameters[0].category?(e.details.parameters.length>0&&!e.details.parameters[0].isTypeInferred&&(o.strippedFirstParamType=n(e,0)),o.details.parameters=e.details.parameters.slice(1)):i=!1,o.details.flags&=-4,o.details.flags|=4),void 0!==e.typeAliasInfo&&(o.typeAliasInfo=e.typeAliasInfo),e.specializedTypes&&(o.specializedTypes={parameterTypes:i?e.specializedTypes.parameterTypes.slice(1):e.specializedTypes.parameterTypes,returnType:e.specializedTypes.returnType}),o.inferredReturnType=e.inferredReturnType,o.boundTypeVarScopeId=s,o},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForSpecialization=function(e,n,i){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,w(n.parameterTypes.length===e.details.parameters.length),r.specializedTypes=n,i&&(r.inferredReturnType=i),r},e.cloneForParamSpec=function(n,i){const r=t(n.details.name,n.details.fullName,n.details.moduleName,n.details.flags,n.flags,n.details.docString);return r.specializedTypes=n.specializedTypes,r.details={...n.details},delete r.details.paramSpec,i&&(r.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})))],r.details.docString||(r.details.docString=i.docString),r.details.flags=98311&i.flags|64,e.isParamSpecValue(n)&&(r.details.flags|=65536),r.specializedTypes&&i.parameters.forEach((e=>{r.specializedTypes.parameterTypes.push(e.type)})),r.details.paramSpec=i.paramSpec),r},e.cloneWithNewFlags=function(e,t){const n=Ks.cloneType(e);return n.details={...e.details},n.details.flags=t,n},e.cloneForParamSpecApplication=function(e,t){const n=Ks.cloneType(e);if(n.details={...e.details},n.details.parameters=n.details.parameters.slice(0,n.details.parameters.length-2),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.details.paramSpec||(i.details.paramSpec=n),i},e.addDefaultParameters=function(t,n=!1){e.addParameter(t,{category:1,name:"args",type:n?Ys.create():io.create(),hasDeclaredType:!n}),e.addParameter(t,{category:2,name:"kwargs",type:n?Ys.create():io.create(),hasDeclaredType:!n})},e.hasDefaultParameters=function(t){let n=!1,i=!1;for(let r=0;rt.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}}(ro||(ro={})),function(e){e.create=function(){return{category:9,subtypes:[],flags:3}},e.addType=function(e,t){vo(t)&&Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0===t.condition?(void 0===e.literalStrMap&&(e.literalStrMap=new Map),e.literalStrMap.set(t.literalValue,t)):vo(t)&&Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0===t.condition&&(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(vo(t)&&void 0===t.condition){if(Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0!==e.literalStrMap)return e.literalStrMap.has(t.literalValue);if(Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0!==e.literalIntMap)return e.literalIntMap.has(t.literalValue)}return void 0!==e.subtypes.find((e=>Ao(e,t,void 0,void 0,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)})))}}}(so||(so={})),function(e){function t(e,t){return`${e}.${t}`}function n(e,t,n){return{category:10,details:{name:e,constraints:[],variance:0,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){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForScopeId=function(e,n,i,r){const s=Ks.cloneType(e);return s.nameWithScope=t(e.details.name,n),s.scopeId=n,s.scopeName=i,s.scopeType=r,s},e.cloneForUnpacked=function(e,t=!1){w(e.details.isVariadic);const n=Ks.cloneType(e);return n.isVariadicUnpacked=!0,n.isVariadicInUnion=t,n},e.cloneForPacked=function(e){w(e.details.isVariadic);const t=Ks.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.variance&&void 0===e.details.boundType&&0===e.details.constraints.length)return e;const t=Ks.cloneType(e);return t.details={...t.details},t.details.variance=0,t.details.boundType=void 0,t.details.constraints=[],t},e.cloneForParamSpecAccess=function(e,t){const n=Ks.cloneType(e);return n.paramSpecAccess=t,n},e.cloneAsSpecializedSelf=function(e,t){w(e.details.isSynthesizedSelf);const n=Ks.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}}(oo||(oo={}));let Uo=1;class qo{constructor(e=4){this.id=Uo++,this._flags=e}static createWithType(e,t){const n=new qo(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)}addDeclaration(e){if(this._declarations){const t=this._declarations.findIndex((t=>is(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];ns(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=>ns(e)))}getTypedDeclarations(){return this.getDeclarations().filter((e=>ns(e)))}getSynthesizedType(){return this._synthesizedType}}function Vo(e){const t=e.getTypedDeclarations();if(t.length>0)return t[t.length-1]}function Bo(e){const t=e.getTypedDeclarations();return t.length>0&&1===t[t.length-1].type}function Wo(e){return e.getDeclarations().some((e=>rs(e)))}class jo{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 jo;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))}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,i){w(!this._isLocked);const r=this._getKey(e);this._typeVarMap.set(r,{typeVar:e,narrowBound:t,wideBound:n,retainLiteral:i})}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){w(!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){w(!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(){w(!this._isLocked),this._isLocked=!0}unlock(){this._isLocked=!1}isLocked(){return this._isLocked}_getKey(e){return oo.getNameWithScope(e)}_getComplexityScoreForType(e,t=0){if(t>Gs)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&&Jo(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(io.create(),t),i++})),.5+.25*(i>0?n/i:0)}}var zo,$o;function Ho(e){const t={firstPositionOrKeywordIndex:0,positionParamCount:0,positionOnlyParamCount:0,params:[],hasUnpackedVariadicTypeVar:!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(r.name){let a;a=1===r.category?zo.PositionOnly:i?zo.KeywordOnly:n>=0&&s{1===e.category?e.name&&xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach(((n,i)=>{const s=Io(n.type)||n.isUnbounded?1:0;1===s&&(t.argsIndex=t.params.length),Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0),r({category:s,name:`${e.name}[${i.toString()}]`,type:n.type,hasDeclaredType:!0},i,n.type)})):(e.name&&void 0===t.argsIndex&&(t.argsIndex=t.params.length,Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0)),!i&&(n<0||s>=n)&&(t.firstKeywordOnlyIndex=t.params.length,e.name&&t.firstKeywordOnlyIndex++,i=!0),r(e,s)):2===e.category?(i=!0,vo(e.type)&&xo(e.type)&&e.type.details.typedDictEntries?(void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),e.type.details.typedDictEntries.forEach(((e,t)=>{r({category:0,name:t,type:e.valueType,hasDeclaredType:!0,hasDefault:!e.isRequired},s,e.valueType)}))):e.name&&(void 0===t.kwargsIndex&&(t.kwargsIndex=t.params.length),void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),r(e,s))):0===e.category&&(e.name&&!i&&t.positionParamCount++,r(e,s))})),t}function Go(e){return!!fo(e)&&void 0!==Mo(e,(e=>lo(e)))}function Ko(e,t){if(fo(e)){const n=[];let i=!1;if(e.subtypes.forEach((r=>{const s=t(r);s?s!==r?(n.push(Zo(s,Xo(e))),i=!0):n.push(r):i=!0})),!i)return e;const r=Oo(n);return 9===r.category&&so.addTypeAliasSource(r,e),r}return t(e)||no.createNever()}function Jo(e,t){fo(e)?e.subtypes.forEach(((e,n)=>{t(e,n)})):t(e,0)}function Yo(e,t){if(e.length<2)return!0;for(let n=1;nQo(e))):e}function Zo(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:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 6:return eo.create(e.overloads.map((e=>Zo(e,t))));case 7:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 9:return Oo(e.subtypes.map((e=>Zo(e,t))))}}function Xo(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 ea(e){return!!bo(e)&&!!e.details.recursiveTypeAliasName&&!e.details.boundType}function ta(e){var t;if(e&&bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType){const n=Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType;return(null===(t=e.typeAliasInfo)||void 0===t?void 0:t.typeArguments)&&e.details.recursiveTypeParameters?fa(n,Ea(e.details.recursiveTypeParameters,e.typeAliasInfo.typeArguments,na(e))):n}return e}function na(e){return yo(e)||Eo(e)?e.details.typeVarScopeId:bo(e)?e.scopeId:void 0}function ia(e){let t;if(_o(e)?t=e:vo(e)&&(t=Zs.cloneAsInstantiable(e)),!t)return;const n=t.details.mro.find((e=>_o(e)&&pa(e)));return n&&_o(n)?Zs.isSameGenericClass(t,n)?t:fa(n,wa(t)):void 0}function ra(e){return Ks.isInstance(e)&&void 0!==e.literalValue}function sa(e){return vo(e)?void 0!==e.literalValue:!!fo(e)&&!Mo(e,(e=>!vo(e)||void 0===e.literalValue))}function oa(e,t=!1,n=0){var i;if(n>Gs)return!1;if(n++,vo(e)&&ra(e))return!0;if(t&&yo(e)){const r=(null===(i=e.tupleTypeArguments)||void 0===i?void 0:i.map((e=>e.type)))||e.typeArguments;if(r)return r.some((e=>oa(e,t,n)))}if(fo(e))return e.subtypes.some((e=>oa(e,t,n)));if(ko(e))return e.overloads.some((e=>oa(e,t,n)));if(Eo(e)){const i=Xs.getSpecializedReturnType(e);if(i&&oa(i,t,n))return!0;for(let i=0;i{const i=aa(e);i?t||(t=i):n=!0})),n?void 0:t}}function la(e){return fo(e)?e.subtypes.length:1}function ca(e){return uo(e)&&e.isEllipsis}function ua(e){return vo(e)&&Zs.isPropertyClass(e)}function pa(e){return Zs.isBuiltIn(e,"tuple")}function da(e){return e.tupleTypeArguments&&e.tupleTypeArguments.some((e=>e.isUnbounded))}function ha(e,t,n){if(Zs.isUnspecialized(t))return e;const i=wa(t,void 0);return n&&ma(i,t,n),fa(e,i)}function ma(e,t,n){const i=Aa(t,!1);e.setTypeVarType(i,Fa(n))}function fa(e,t,n=!1,i=!1,r=!1){return!t.isEmpty()||n||r?new Qa(t,n,i,r).apply(e):e}function ga(e){const t=new Map;return Zs.isProtocolClass(e)&&ya(e,t),t}function ya(e,t,n=0){n>Gs||(e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ya(e,t,n+1)})),e.details.fields.forEach(((n,i)=>{n.isIgnoredForProtocolMatch()||t.set(i,{symbol:n,classType:e,isInstanceMember:n.isInstanceMember(),isClassVar:n.isClassVar(),isTypeDeclared:n.hasTypedDeclarations(),skippedUndeclaredType:!1})})))}function _a(e,t,n=0){if(vo(e))return va(e,t,n)}function va(e,t,n=0){var i;return null===(i=Ta(e,t,n).next())||void 0===i?void 0:i.value}function*Ta(e,t,n=0){const i=0!=(16&n);let r=!1;if(yo(e)){let s=0;1&n&&(s|=1),2&n&&(s|=2),4&n&&(s|=4),32&n&&(s|=8);const o=ba(e,s);for(const[e,s]of o){if(!_o(e)){if(!i){const e={symbol:qo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}continue}if(!_o(s))continue;const o=s.details.fields;if(0==(8&n)){const e=o.get(t);if(e&&e.isInstanceMember()){const t=e.hasTypedDeclarations();if(!i||t){const n={symbol:e,isInstanceMember:!0,isClassVar:e.isClassVar(),classType:s,isTypeDeclared:t,skippedUndeclaredType:r};yield n}else r=!0}}const a=o.get(t);if(a&&a.isClassMember()){const e=a.hasTypedDeclarations();if(!i||e){let t=!1;if(Zs.isDataClass(s)||Zs.isTypedDictClass(s)){const e=a.getDeclarations();e.length>0&&1===e[0].type&&(t=!0)}const n={symbol:a,isInstanceMember:t,isClassVar:a.isClassVar(),classType:s,isTypeDeclared:e,skippedUndeclaredType:r};yield n}else r=!0}}}else if(ho(e)){const e={symbol:qo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}}function*ba(e,t=0){if(yo(e)){let n=0!=(1&t);for(const i of e.details.mro){if(n){n=!1;continue}const r=ha(i,e);if(4&t&&_o(r)&&Zs.isBuiltIn(r,"object"))break;if(8&t&&_o(r)&&Zs.isBuiltIn(r,"type"))break;if(yield[i,r],0!=(2&t))break}}}function Ia(e,t){for(const n of t)e.find((e=>Ao(Fa(e),Fa(n))))||e.push(n)}function Sa(e,t=0){var n,i;if(t>Gs)return[];if(t++,null===(n=e.typeAliasInfo)||void 0===n?void 0:n.typeArguments){const n=[];return null===(i=e.typeAliasInfo)||void 0===i||i.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n}if(bo(e))return e.details.recursiveTypeAliasName||wo(e)&&e.paramSpecAccess?[]:[Ks.isInstantiable(e)?oo.cloneAsInstance(e):e];if(yo(e))return(e=>{const n=[];return e.typeArguments&&e.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n})(e);if(fo(e)){const n=[];return Jo(e,(e=>{Ia(n,Sa(e,t))})),n}if(Eo(e)){const n=[];for(let i=0;i{t.setTypeVarType(e,Ys.create())})),fa(e,t)}function Ca(e,t,n,i=0){if(!(i>Gs||(i++,n.isLocked())))switch(e.category){case 9:Jo(e,(e=>{Ca(e,t,n,i)}));break;case 7:e.typeArguments&&e.typeArguments.forEach((e=>{Ca(e,t,n,i)})),e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{Ca(e.type,t,n,i)}));break;case 5:e.specializedTypes?(e.specializedTypes.parameterTypes.forEach((e=>{Ca(e,t,n,i)})),e.specializedTypes.returnType&&Ca(e.specializedTypes.returnType,t,n,i)):(e.details.parameters.forEach((e=>{Ca(e.type,t,n,i)})),e.details.declaredReturnType&&Ca(e.details.declaredReturnType,t,n,i));break;case 6:e.overloads.forEach((e=>{Ca(e,t,n,i)}));break;case 10:n.hasTypeVar(e)||n.setTypeVarType(e,t)}}function wa(e,t=!0){const n=Zs.getTypeParameters(e);let i=e.typeArguments;i||t||(i=n);const r=Ea(n,i,na(e));return Zs.isTupleClass(e)&&e.tupleTypeArguments&&n.length>=1&&r.setVariadicTypeVar(n[0],e.tupleTypeArguments),r}function Ea(e,t,n){const i=new jo(n);return e.forEach(((e,n)=>{let r;if(t)if(wo(e)){if(n{t.push({category:e.category,name:e.name,hasDefault:!!e.hasDefault,isNameSynthesized:e.isNameSynthesized,type:Xs.getEffectiveParameterType(n,i)})})),i.setParamSpec(e,{parameters:t,typeVarScopeId:r.details.typeVarScopeId,flags:r.details.flags,docString:r.details.docString,paramSpec:r.details.paramSpec})}else wo(r)&&i.setParamSpec(e,{flags:0,parameters:[],typeVarScopeId:void 0,docString:void 0,paramSpec:r})}else r=n>=t.length?io.create():t[n],i.setTypeVarType(e,r,r,!0)})),i}function ka(e,t){if(0===Zs.getTypeParameters(t).length)return t;const n=fa(t,wa(e));return w(_o(n)),n}function Da(e,t,n){if(Zs.isSameGenericClass(e,t))return!0;for(const i of e.details.baseClasses)if(_o(i)){if(Da(i,t,n))return!0}else if(!n&&ho(i))return!0;return!1}function Aa(e,t){var n;const i=oo.createInstance("__type_of_self__"),r=null!==(n=na(e))&&void 0!==n?n:"";i.details.isSynthesized=!0,i.details.isSynthesizedSelf=!0,i.nameWithScope=oo.makeNameWithScope(i.details.name,r),i.scopeId=r;const s=Zs.cloneForSpecialization(e,Zs.getTypeParameters(e),!1,!0);return i.details.boundType=Zs.cloneAsInstance(s),t?oo.cloneAsInstantiable(i):i}function Pa(e){const t=Xs.getSpecializedReturnType(e);if(t){const e=za(t);if(e)return e.length>=3?e[2]:Ys.create()}}function Ra(e){return!!Ks.isInstantiable(e)||!(!vo(e)||!Zs.isBuiltIn(e,"type"))||!!fo(e)&&e.subtypes.every((e=>Ra(e)))}function Fa(e){let t=Ko(e,(e=>{switch(e.category){case 7:return Zs.isBuiltIn(e,"Type")?!e.typeArguments||e.typeArguments.length<1?Ys.create():Na(e.typeArguments[0]):Zs.cloneAsInstance(e);case 3:return to.createInstance();case 5:if(Ks.isInstantiable(e))return Xs.cloneAsInstance(e);break;case 10:if(Ks.isInstantiable(e))return oo.cloneAsInstance(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Na(e){let t=Ko(e,(e=>{switch(e.category){case 7:if(Ks.isInstance(e))return Zs.cloneAsInstantiable(e);break;case 3:return to.createType();case 5:if(Ks.isInstance(e))return Xs.cloneAsInstantiable(e);break;case 10:if(Ks.isInstance(e))return oo.cloneAsInstantiable(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Ma(e,t,n){for(let i=0;i{if((i.isClassMember()||n&&i.isInstanceMember())&&!(e&&Bo(i)||i.isInitVar())){const e=t.get(r);e?!e.hasTypedDeclarations()&&i.hasTypedDeclarations()&&t.set(r,i):t.set(r,i)}}))}}if(!n){const n=e.details.effectiveMetaclass;if(n&&_o(n))for(const e of n.details.mro){if(!_o(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)}))}}}function Oa(e){let t=!1;return Jo(e,(e=>{po(e)&&(t=!0)})),t}function La(e,t=!1,n=0){var i,r;if(n>Gs)return!1;if(n++,po(e))return!0;if((null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments)&&e.typeAliasInfo.typeArguments.some((e=>La(e,t,n))))return!0;if(fo(e))return void 0!==Mo(e,(e=>La(e,t,n)));if(yo(e)){if(Ks.isInstance(e)&&(t=!1),!t&&!Zs.isPseudoGenericClass(e)){const i=(null===(r=e.tupleTypeArguments)||void 0===r?void 0:r.map((e=>e.type)))||e.typeArguments;if(i)for(const e of i)if(La(e,t,n))return!0}return!1}if(ko(e))return e.overloads.some((e=>La(e,!1,n)));if(Eo(e)){for(let t=0;tZs.cloneForSpecialization(e,[t],!0)))):e}function qa(e,t){if(!t||!_o(t)||da(t))return;let n,i=!0;return Jo(e,(e=>{if(vo(e)){let t;yo(e)&&pa(e)&&!da(e)&&(t=e),t||(t=e.details.mro.find((e=>yo(e)&&pa(e)&&!da(e)))),t&&yo(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?Fa(Va(t,n.map((e=>({type:Oo(e),isUnbounded:!1}))))):void 0}function Va(e,t,n=!0,i=!0,r=!1){let s=Oo(t.map((e=>e.type)));i&&(s=Qo(s)),ao(s)&&(s=io.create());const o=Zs.cloneForSpecialization(e,[s],n,void 0,t);return r&&(o.isUnpacked=!0),o}function Ba(e){if(Eo(e))return Wa(e);const t=[];let n=!1;for(const i of e.overloads){const e=Wa(i);t.push(e),e!==i&&(n=!0)}return n?eo.create(t):e}function Wa(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&&wo(n.type)&&wo(i.type)&&Ao(n.type,i.type)?Xs.cloneRemoveParamSpecVariadics(e,n.type):e}function ja(e){return vo(e)&&pa(e)&&e.tupleTypeArguments&&e.isUnpacked?Oo(e.tupleTypeArguments.map((e=>e.type))):e}function za(e){var t;if(vo(e)){if(Zs.isBuiltIn(e,["Generator","AsyncGenerator"]))return e.typeArguments;if(Zs.isBuiltIn(e,"AwaitableGenerator"))return null===(t=e.typeArguments)||void 0===t?void 0:t.slice(1)}}function $a(e,t=!1,n=!1,i=0){var r;if(i>Gs)return!1;switch(i++,e.category){case 7:return(!Zs.isPseudoGenericClass(e)||!t)&&(e.typeArguments?void 0!==e.typeArguments.find((e=>$a(e,t,n,i))):Zs.getTypeParameters(e).length>0);case 5:{if(e.details.paramSpec)return!0;for(let r=0;r$a(e,t,n,i)));case 9:return void 0!==Mo(e,(e=>$a(e,t,n,i)));case 10:if(!e.details.recursiveTypeAliasName)return!e.details.isSynthesizedSelf||!n;if(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.typeArguments)return e.typeAliasInfo.typeArguments.some((e=>$a(e,t,n,i)))}return!1}function Ha(e){let t=!0;const n=e.details.baseClasses.filter(((t,n)=>{if(_o(t)&&Zs.isBuiltIn(t,"Generic")){if(Zs.isProtocolClass(e))return!1;if(e.details.baseClasses.some(((e,t)=>t>n&&_o(e)&&e.typeArguments&&e.isTypeArgumentExplicit)))return!1}return!0})),i=[];n.forEach(((e,t)=>{if(_o(e)){const t=wa(e,!1);i.push(e.details.mro.map((e=>fa(e,t))))}else i.push([e])})),i.push(n.map((t=>fa(t,wa(e,!1)))));const r=wa(e,!1);e.details.mro.push(fa(e,r));const s=(e,t)=>t.some((t=>t.findIndex((t=>_o(t)&&Zs.isSameGenericClass(t,e)))>0)),o=(e,t)=>{for(let n=0;n!_o(t)||!Zs.isSameGenericClass(t,e)))};for(;;){let n,r=!1;for(let t=0;t0){if(void 0===n&&(n=a),!_o(a[0])){r=!0,e.details.mro.push(a[0]),a.shift();break}if(!s(a[0],i)){r=!0,e.details.mro.push(a[0]),o(a[0],i);break}}}if(!n)break;r||(t=!1,_o(n[0])?(e.details.mro.push(n[0]),o(n[0],i)):(e.details.mro.push(n[0]),n.shift()))}return t}function Ga(e){const t=[];return Ka(e,t),t}function Ka(e,t,n=0){if(n>Gs)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=>{Ka(e,t,n)}));break;case 9:Jo(e,(e=>{Ka(e,t,n)}));break;case 8:i(e.moduleName)}}function Ja(e){let t=e.parameters.length>0;if(1===e.parameters.length){const n=e.parameters[0];0!==n.category||n.name||(t=!1)}if(t||!e.paramSpec){const t=Xs.createInstance("","","",65536);return e.parameters.forEach((e=>{Xs.addParameter(t,{category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),t.details.paramSpec=e.paramSpec,t.details.docString=e.docString,t}return e.paramSpec}!function(e){e[e.PositionOnly=0]="PositionOnly",e[e.PositionOrKeyword=1]="PositionOrKeyword",e[e.KeywordOnly=2]="KeywordOnly"}(zo||(zo={}));class Ya{constructor(){this._isTransformingTypeArg=!1}apply(e,t=new Set,n=0){var i;if(n>Gs)return e;if(n++,!$a(e))return e;if(ho(e))return e;if(lo(e))return e;if(bo(e)){if(e.details.recursiveTypeAliasName){if(!(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments))return e;let r=!1;const s=e.typeAliasInfo.typeArguments.map((e=>{const i=this.apply(e,t,n);return i!==e&&(r=!0),i}));return r?Ks.cloneForTypeAlias(e,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,s):e}let r=e;const s=oo.getNameWithScope(e);return t.has(s)||(r=this.transformTypeVar(e),this._isTransformingTypeArg||(t.add(s),r=this.apply(r,t,n),t.delete(s)),Io(e)&&e.isVariadicInUnion&&(r=ja(r))),r}if(fo(e)){const i=Ko(e,(e=>{let i=this.apply(e,t,n);if(Io(e)&&!Io(i)){const e=[];Jo(i,(t=>{e.push(ja(t))})),i=Oo(e)}return i}));return this.transformUnion&&fo(i)?this.transformUnion(i):i}if(yo(e))return this._transformTypeVarsInClassType(e,t,n);if(Eo(e))return this._transformTypeVarsInFunctionType(e,t,n);if(ko(e)){let i=!1;const r=[];return e.overloads.forEach((e=>{const s=this._transformTypeVarsInFunctionType(e,t,n);r.push(s),s!==e&&(i=!0)})),i?eo.create(r):e}return e}transformTypeVar(e){return e}transformVariadicTypeVar(e){}transformParamSpec(e){}transformUnion(e){return e}_transformTypeVarsInClassType(e,t,n){if(0===Zs.getTypeParameters(e).length&&!Zs.isSpecialBuiltIn(e))return e;let i,r=[],s=!1;const o=Zs.getTypeParameters(e),a=e=>{const t=this.transformParamSpec(e);return t?(s=!0,Ja(t)):e},l=this._isTransformingTypeArg;return this._isTransformingTypeArg=!0,e.typeArguments?r=e.typeArguments.map((e=>{if(bo(e)&&e.details.isParamSpec)return a(e);let i=this.apply(e,t,n);return i!==e&&(s=!0,bo(e)&&Io(e)&&e.isVariadicInUnion&&(i=ja(i))),i})):o.forEach((e=>{let i=e;if(e.details.isParamSpec)i=a(e),i!==e&&(s=!0);else{const r=oo.getNameWithScope(e);t.has(r)||(i=this.transformTypeVar(e),i!==e&&(this._isTransformingTypeArg||(t.add(r),i=this.apply(i,t,n),t.delete(r)),s=!0))}r.push(i)})),Zs.isTupleClass(e)&&(e.tupleTypeArguments?(i=[],e.tupleTypeArguments.forEach((e=>{const r=this.apply(e.type,t,n);r!==e.type&&(s=!0),Io(e.type)&&vo(r)&&pa(r)&&r.tupleTypeArguments?i.push(...r.tupleTypeArguments):i.push({type:r,isUnbounded:e.isUnbounded})}))):o.length>0&&(i=this.transformVariadicTypeVar(o[0]),i&&(s=!0))),this._isTransformingTypeArg=l,s?Zs.cloneForSpecialization(e,r,!0,void 0,i):e}_transformTypeVarsInFunctionType(e,t,n){let i=e;if(i.details.paramSpec){const e=this.transformParamSpec(i.details.paramSpec);e&&(i=Xs.cloneForParamSpec(i,e))}const r=Xs.getSpecializedReturnType(i),s=r?this.apply(r,t,n):void 0;let o=r!==s;const a={parameterTypes:[],returnType:s};if(i.details.parameters.length>=2){const e=i.details.parameters[i.details.parameters.length-2],t=i.details.parameters[i.details.parameters.length-1],n=Xs.getEffectiveParameterType(i,i.details.parameters.length-2),r=Xs.getEffectiveParameterType(i,i.details.parameters.length-1);if(1===e.category&&2===t.category&&wo(n)&&wo(r)&&Ao(n,r)){const e=this.transformParamSpec(n);e&&(i=Xs.cloneForParamSpecApplication(i,e))}}let l,c,u;for(let e=0;e{if(t===l){let e=!1;c.forEach((t=>{Xs.addParameter(p,{category:t.isUnbounded?1:0,name:`__p${p.details.parameters.length}`,isNameSynthesized:!0,type:t.type,hasDeclaredType:!0}),t.isUnbounded&&(e=!0)})),e?h=!0:d=!0}else{const n={...i.details.parameters[t]};1!==n.category||n.name?2===n.category&&(d=!1):d=!1,0===n.category&&n.name&&d&&(Xs.addParameter(p,{category:1,type:Ys.create()}),d=!1),n.type=e,n.name&&n.isNameSynthesized&&(n.name=`__p${p.details.parameters.length}`),0===n.category&&!n.name&&h||Xs.addParameter(p,n)}})),p.details.declaredReturnType=a.returnType,p}}class Qa extends Ya{constructor(e,t=!1,n=!1,i=!1){super(),this._typeVarMap=e,this._unknownIfNotFound=t,this._useNarrowBoundOnly=n,this._eliminateUnsolvedInUnions=i}transformTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId)){let t=this._typeVarMap.getTypeVarType(e,this._useNarrowBoundOnly);if(!t&&this._useNarrowBoundOnly){const n=this._typeVarMap.getTypeVarType(e);n&&oa(n,!0)&&(t=n)}if(t)return Ks.isInstantiable(e)&&(t=Na(t)),t;if(this._unknownIfNotFound)return Ys.create()}return e}transformUnion(e){if(this._eliminateUnsolvedInUnions){const t=Ko(e,(e=>{if(!bo(e)||void 0===e.scopeId||!this._typeVarMap.hasSolveForScope(e.scopeId))return e}));return ao(t)?e:t}return e}transformVariadicTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getVariadicTypeVar(e)}transformParamSpec(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getParamSpec(e)}}class Za extends Ya{constructor(e,t){super(),this._typeVarMap=e,this._liveTypeVarScopes=t,this.dummyScopeId="__expected_type_scope_id",this.dummyTypeVarPrefix="__expected_type_",this._typeVarMap.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=Ks.isInstance(e);let n=oo.createInstance(`__expected_type_${Za.synthesizedTypeVarIndexForExpectedType}`);return n.details.isSynthesized=!0,n.scopeId=this.dummyScopeId,n.nameWithScope=oo.makeNameWithScope(n.details.name,this.dummyScopeId),t||(n=Na(n)),n.details.boundType=e.details.boundType,n.details.constraints=e.details.constraints,n.details.variance=e.details.variance,Za.synthesizedTypeVarIndexForExpectedType++,n}transformTypeVar(e){return this._isTypeVarLive(e)?e:this._createDummyTypeVar(e)}}Za.synthesizedTypeVarIndexForExpectedType=1;class Xa{constructor(e,t,n,i,r,s,o){this._importResolver=e,this._execEnv=t,this._evaluator=n,this._fileBinder=i,this._boundSourceGetter=r,this._mapCompiled=s,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(a)}findDeclarations(e){return zn(e)?this._findClassOrTypeAliasDeclarations(e):jn(e)?this._findFunctionOrTypeAliasDeclarations(e):Hn(e)?this._findVariableDeclarations(e):$n(e)?this._findParameterDeclarations(e):5===e.type?this._findSpecialBuiltInClassDeclarations(e):[]}findClassDeclarations(e){return this._findClassOrTypeAliasDeclarations(e).filter((e=>zn(e))).map((e=>e))}findClassDeclarationsByType(e,t){const n=[];return this._addClassTypeDeclarations(e,t,n,new Set),n.filter((e=>zn(e))).map((e=>e))}findFunctionDeclarations(e){return this._findFunctionOrTypeAliasDeclarations(e).filter((e=>jn(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 r=Er(e.node);if(void 0===r)return[];const s=this._getFullClassName(r);return i.flatMap((e=>this._findMethodDeclarationsByName(e,s,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),r=Er(e.node);if(r){const e=this._getFullClassName(r);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=kr(e.node);if(!n)return t;const i=this._evaluator.getDeclarationsForNameNode(n.name);if(!i)return t;const r=new Set;for(const n of i)for(const i of this._findFunctionOrTypeAliasDeclarations(n,r))t.push(...this._lookUpSymbolDeclarations(i.node,e.node.name.value).filter((e=>$n(e))).map((e=>e)));return t}_findMemberDeclarationsByName(e,t,n,i,r){const s=[],o=this._findClassDeclarationsByName(e,t,r);for(const e of o.filter((e=>zn(e))).map((e=>e))){const t=this._evaluator.getTypeOfClass(e.node);if(!t)continue;const o=va(t.classType,n);if(o)for(const e of o.symbol.getDeclarations())i(e,r,s)}return s}_findFieldDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/v/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{if(Hn(e))if(this._isStubThatShouldBeMappedToImplementation(e.path))for(const i of this._findVariableDeclarations(e,t))Hn(i)&&n.push(i);else n.push(e)}),i),i.delete(s)),r}_findMethodDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/f/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{jn(e)&&(this._isStubThatShouldBeMappedToImplementation(e.path)?n.push(...this._findFunctionOrTypeAliasDeclarations(e,t)):n.push(e))}),i),i.delete(s)),r}_findVariableDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/v/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addVariableDeclarations(e,r,n);return n.delete(s),r}_findFunctionDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/f/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addClassOrFunctionDeclarations(e,r,n);return n.delete(s),r}_findClassDeclarationsByName(e,t,n){var i;let r=[];const s=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(s){let i=t.split(".");i.length>0&&(r=this._findClassDeclarations(e,i[0],s,n),i=i.slice(1));for(const t of i)r=r.flatMap((i=>this._findClassDeclarations(e,t,i.node,n)))}return r}_findClassDeclarations(e,t,n,i){const r=[],s=`@${e.getFilePath()}[${n.start}]${t}`;if(i.has(s))return r;i.add(s);const o=this._lookUpSymbolDeclarations(n,t);if(0===o.length&&36===n.nodeType)this._addDeclarationsFollowingWildcardImports(n,t,r,i);else for(const e of o)this._addClassOrFunctionDeclarations(e,r,i);return i.delete(s),r}_addVariableDeclarations(e,t,n){if(Hn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findVariableDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&(Hn(i)?this._addVariableDeclarations(i,t,n):(zn(i)||jn(i))&&this._addClassOrFunctionDeclarations(i,t,n))}}_addClassOrFunctionDeclarations(e,t,n){var i;if(zn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findClassOrTypeAliasDeclarations(e,n)):t.push(e);else if(jn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findFunctionOrTypeAliasDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&!Gn(i)&&this._addClassOrFunctionDeclarations(i,t,n)}else if(Hn(e)){this._addVariableDeclarations(e,t,n);const r=null!==(i=e.typeAliasName)&&void 0!==i?i:e.node,s=this._evaluator.getType(r);if(!s)return;if(Eo(s)&&s.details.declaration)this._addClassOrFunctionDeclarations(s.details.declaration,t,n);else if(ko(s))for(const e of s.overloads.map((e=>e.details.declaration)).filter(a))this._addClassOrFunctionDeclarations(e,t,n);else _o(s)&&this._addClassTypeDeclarations(e.path,s,t,n)}}_addClassTypeDeclarations(e,t,n,i){const r=t.details.filePath,s=this._getSourceFiles(r),o=t.details.fullName.substring(t.details.moduleName.length+1);for(const e of s)n.push(...this._findClassDeclarationsByName(e,o,i))}_getSourceFiles(e){const t=[];if(this._isStubThatShouldBeMappedToImplementation(e))t.push(...this._getBoundSourceFilesFromStubFile(e));else{const n=this._boundSourceGetter(e);n&&t.push(n)}return t}_addDeclarationsFollowingWildcardImports(e,t,n,i){var r,s;const o=null===(r=Ft(e))||void 0===r?void 0:r.symbolTable;if(o)for(const e of o.values())for(const r of e.getDeclarations()){if(!Gn(r)||!r.path||22!==r.node.nodeType||!r.node.isWildcardImport)continue;const e=`@${r.path}/l/${t}`;if(i.has(e))continue;i.add(e);const o=this._getSourceFiles(r.path);for(const e of o){const r=null===(s=e.getParseResults())||void 0===s?void 0:s.parseTree;if(!r)continue;const o=this._lookUpSymbolDeclarations(r,t);if(0===o.length)this._addDeclarationsFollowingWildcardImports(r,t,n,i);else for(const e of o){const t=this._evaluator.resolveAliasDeclaration(e,!0);t&&(jn(t)||zn(t)?this._addClassOrFunctionDeclarations(t,n,i):Hn(t)&&this._addVariableDeclarations(t,n,i))}}}}_lookUpSymbolDeclarations(e,t){if(void 0===e)return[];const n=Ft(e),i=null==n?void 0:n.lookUpSymbol(t),r=null==i?void 0:i.getDeclarations();return null!=r?r:[]}_getFullClassName(e){const t=[];let n=e;for(;void 0!==n;)t.push(n.name.value),n=Er(n);return t.reverse().join(".")}_getBoundSourceFilesFromStubFile(e){return this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).map((t=>this._fileBinder(e,t))).filter(a)}_isStubThatShouldBeMappedToImplementation(e){return!this._preferStubs&&(!!el(e)&&this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).every((t=>t!==e)))}}function el(e){return".pyi"===re(e,[".pyi"],!1)}function tl(e){switch(e){case"error":return 0;case"warning":return 1;case"information":return 2;default:throw new Error(`${e} is not expected`)}}class nl{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 il{constructor(){this._messages=[],this._childAddenda=[]}addMessage(e){this._messages.push(e)}createAddendum(){const e=new il;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 i=[];for(const r of this._childAddenda){const s=this._messages.length>0?e-1:e;if(i.push(...r._getLinesRecursive(s,t,n+1)),i.length>=t){i=i.slice(0,t);break}}const r=this._messages.length>0?"  ":"";return this._messages.concat(i).map((e=>r+e))}}!function(e){e.strictListInference="strictListInference",e.strictSetInference="strictSetInference",e.strictDictionaryInference="strictDictionaryInference",e.strictParameterNoneValue="strictParameterNoneValue",e.enableTypeIgnoreComments="enableTypeIgnoreComments",e.reportGeneralTypeIssues="reportGeneralTypeIssues",e.reportPropertyTypeMismatch="reportPropertyTypeMismatch",e.reportFunctionMemberAccess="reportFunctionMemberAccess",e.reportMissingImports="reportMissingImports",e.reportMissingModuleSource="reportMissingModuleSource",e.reportMissingTypeStubs="reportMissingTypeStubs",e.reportImportCycles="reportImportCycles",e.reportUnusedImport="reportUnusedImport",e.reportUnusedClass="reportUnusedClass",e.reportUnusedFunction="reportUnusedFunction",e.reportUnusedVariable="reportUnusedVariable",e.reportDuplicateImport="reportDuplicateImport",e.reportWildcardImportFromLibrary="reportWildcardImportFromLibrary",e.reportOptionalSubscript="reportOptionalSubscript",e.reportOptionalMemberAccess="reportOptionalMemberAccess",e.reportOptionalCall="reportOptionalCall",e.reportOptionalIterable="reportOptionalIterable",e.reportOptionalContextManager="reportOptionalContextManager",e.reportOptionalOperand="reportOptionalOperand",e.reportTypedDictNotRequiredAccess="reportTypedDictNotRequiredAccess",e.reportUntypedFunctionDecorator="reportUntypedFunctionDecorator",e.reportUntypedClassDecorator="reportUntypedClassDecorator",e.reportUntypedBaseClass="reportUntypedBaseClass",e.reportUntypedNamedTuple="reportUntypedNamedTuple",e.reportPrivateUsage="reportPrivateUsage",e.reportPrivateImportUsage="reportPrivateImportUsage",e.reportConstantRedefinition="reportConstantRedefinition",e.reportIncompatibleMethodOverride="reportIncompatibleMethodOverride",e.reportIncompatibleVariableOverride="reportIncompatibleVariableOverride",e.reportInconsistentConstructor="reportInconsistentConstructor",e.reportOverlappingOverload="reportOverlappingOverload",e.reportMissingSuperCall="reportMissingSuperCall",e.reportUninitializedInstanceVariable="reportUninitializedInstanceVariable",e.reportInvalidStringEscapeSequence="reportInvalidStringEscapeSequence",e.reportUnknownParameterType="reportUnknownParameterType",e.reportUnknownArgumentType="reportUnknownArgumentType",e.reportUnknownLambdaType="reportUnknownLambdaType",e.reportUnknownVariableType="reportUnknownVariableType",e.reportUnknownMemberType="reportUnknownMemberType",e.reportMissingParameterType="reportMissingParameterType",e.reportMissingTypeArgument="reportMissingTypeArgument",e.reportInvalidTypeVarUse="reportInvalidTypeVarUse",e.reportCallInDefaultInitializer="reportCallInDefaultInitializer",e.reportUnnecessaryIsInstance="reportUnnecessaryIsInstance",e.reportUnnecessaryCast="reportUnnecessaryCast",e.reportUnnecessaryComparison="reportUnnecessaryComparison",e.reportAssertAlwaysTrue="reportAssertAlwaysTrue",e.reportSelfClsParameterName="reportSelfClsParameterName",e.reportImplicitStringConcatenation="reportImplicitStringConcatenation",e.reportUndefinedVariable="reportUndefinedVariable",e.reportUnboundVariable="reportUnboundVariable",e.reportInvalidStubStatement="reportInvalidStubStatement",e.reportIncompleteStub="reportIncompleteStub",e.reportUnsupportedDunderAll="reportUnsupportedDunderAll",e.reportUnusedCallResult="reportUnusedCallResult",e.reportUnusedCoroutine="reportUnusedCoroutine",e.reportUnnecessaryTypeIgnoreComment="reportUnnecessaryTypeIgnoreComment",e.reportMatchNotExhaustive="reportMatchNotExhaustive"}($o||($o={}));class rl{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}}let sl="default";function ol(){return"simplified"===sl}function al(e){return ol()?"":e.getString()}let ll;const cl=__webpack_require__(6395);function ul(e){void 0===ll&&(ll={});const t=e.split("."),n=pl(ll,t)||pl(cl,t);if(n)return n;E(`Missing localized string for key "${e}"`)}function pl(e,t){let n=e;for(const e of t){if(!n[e])return;n=n[e]}return n}async function dl({locale:e,style:t}={}){t&&(sl=t);const n=e?e.toLowerCase():function(){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"en-us"}();ll=await async function(e){let t=await hl(e);if(void 0!==t)return t;const n=e.split("-");return n.length>0&&n[0]&&(t=await hl(n[0]),void 0!==t)?t:{}}(n)}async function hl(e){switch(e){case"ca":return(await __webpack_require__.e(464).then(__webpack_require__.t.bind(__webpack_require__,6464,19))).default;case"fr":return(await __webpack_require__.e(846).then(__webpack_require__.t.bind(__webpack_require__,4846,19))).default;case"es-es":return(await __webpack_require__.e(162).then(__webpack_require__.t.bind(__webpack_require__,4162,19))).default;case"ja":return(await __webpack_require__.e(244).then(__webpack_require__.t.bind(__webpack_require__,244,19))).default;case"ko":return(await __webpack_require__.e(372).then(__webpack_require__.t.bind(__webpack_require__,1372,19))).default;case"nl":return(await __webpack_require__.e(101).then(__webpack_require__.t.bind(__webpack_require__,5101,19))).default;case"zh-cn":return(await __webpack_require__.e(131).then(__webpack_require__.t.bind(__webpack_require__,8131,19))).default;case"zh-tw":return(await __webpack_require__.e(753).then(__webpack_require__.t.bind(__webpack_require__,9753,19))).default;default:return(await __webpack_require__.e(416).then(__webpack_require__.t.bind(__webpack_require__,8416,19))).default}}var ml;function fl(e,t,n){w(Zs.isTypedDictClass(n));const i=Xs.createInstance("__new__","","",65);Xs.addParameter(i,{category:0,name:"cls",type:n,hasDeclaredType:!0}),Xs.addDefaultParameters(i),i.details.declaredReturnType=Zs.cloneAsInstance(n);const r=Xs.createInstance("__init__","","",64);Xs.addParameter(r,{category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0}),r.details.declaredReturnType=to.createInstance(),Xs.addParameter(r,{category:1,type:io.create(),hasDeclaredType:!0});const s=gl(e,n);s.forEach(((e,t)=>{Xs.addParameter(r,{category:0,name:t,hasDefault:!e.isRequired,type:e.valueType,hasDeclaredType:!0})}));const o=n.details.fields;o.set("__init__",qo.createWithType(4,r)),o.set("__new__",qo.createWithType(4,i));const a=e.getBuiltInType(t,"str");if(_o(a)){const i={category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0},r=e=>{let t=oo.createInstance(`__${e.details.name}_default`);return t.details.isSynthesized=!0,t=oo.cloneForScopeId(t,e.details.typeVarScopeId,n.details.name,1),t},l=(n,s,o,a=!1)=>{const l=Xs.createInstance("get","","",320);if(Xs.addParameter(l,i),l.details.typeVarScopeId=e.getScopeIdForNode(t),Xs.addParameter(l,{category:0,name:"k",type:n,hasDeclaredType:!0}),o){const e=r(l);Xs.addParameter(l,{category:0,name:"default",type:a?s:e,hasDeclaredType:!0}),l.details.declaredReturnType=a?s:Oo([s,e])}else l.details.declaredReturnType=Oo([s,to.createInstance()]);return l},c=(n,s)=>{const o={category:0,name:"k",type:n,hasDeclaredType:!0},a=Xs.createInstance("pop","","",320);Xs.addParameter(a,i),Xs.addParameter(a,o),a.details.declaredReturnType=s;const l=Xs.createInstance("pop","","",320);Xs.addParameter(l,i),Xs.addParameter(l,o),l.details.typeVarScopeId=e.getScopeIdForNode(t);const c=r(l);return Xs.addParameter(l,{category:0,name:"default",hasDeclaredType:!0,type:c,hasDefault:!0}),l.details.declaredReturnType=Oo([s,c]),[a,l]},u=(e,t)=>{const n=Xs.createInstance("setdefault","","",320);return Xs.addParameter(n,i),Xs.addParameter(n,{category:0,name:"k",hasDeclaredType:!0,type:e}),Xs.addParameter(n,{category:0,name:"default",hasDeclaredType:!0,type:t}),n.details.declaredReturnType=t,n},p=e=>{const t=Xs.createInstance("delitem","","",320);return Xs.addParameter(t,i),Xs.addParameter(t,{category:0,name:"k",hasDeclaredType:!0,type:e}),t.details.declaredReturnType=to.createInstance(),t},d=[],h=[],m=[];s.forEach(((e,t)=>{const n=Zs.cloneAsInstance(Zs.cloneWithLiteral(a,t));d.push(l(n,e.valueType,!1)),d.push(l(n,e.valueType,!0,!0)),d.push(l(n,e.valueType,!0,!1)),h.push(...c(n,e.valueType)),m.push(u(n,e.valueType))}));const f=Zs.cloneAsInstance(a);d.push(l(f,io.create(),!1)),d.push(l(f,io.create(),!0)),o.set("get",qo.createWithType(4,eo.create(d))),h.length>0&&o.set("pop",qo.createWithType(4,eo.create(h))),m.length>0&&o.set("setdefault",qo.createWithType(4,eo.create(m))),o.set("__delitem__",qo.createWithType(4,p(f)))}}function gl(e,t,n=!1){if(!t.details.typedDictEntries){const n=new Map;yl(e,t,n),t.details.typedDictEntries=n}const i=new Map;return t.details.typedDictEntries.forEach(((e,t)=>{i.set(t,{...e})})),n&&t.typedDictNarrowedEntries&&t.typedDictNarrowedEntries.forEach(((e,t)=>{i.set(t,{...e})})),i}function yl(e,t,n,i=0){w(Zs.isTypedDictClass(t)),i>Gs||(i++,t.details.baseClasses.forEach((t=>{_o(t)&&Zs.isTypedDictClass(t)&&yl(e,t,n,i)})),t.details.fields.forEach(((i,r)=>{if(!i.isIgnoredForProtocolMatch()){const s=Vo(i);if(s&&1===s.type){const o=e.getEffectiveTypeOfSymbol(i);let a=!Zs.isCanOmitDictValues(t);!function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isRequired))}(i)?function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isNotRequired))}(i)&&(a=!1):a=!0;const l=n.get(r);if(l&&!Ao(l.valueType,o)){const t=new il;t.addMessage(ml.DiagnosticAddendum.typedDictFieldRedefinition().format({parentType:e.printType(l.valueType),childType:e.printType(o)})),e.addDiagnostic(Vt(s.node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typedDictFieldRedefinition().format({name:r})+t.getString(),s.node)}n.set(r,{valueType:o,isRequired:a,isProvided:!1})}}})))}function _l(e,t,n,i,r=0){let s=!0;const o=gl(e,t),a=gl(e,n,!0);return o.forEach(((o,l)=>{const c=a.get(l);c?(o.isRequired&&!c.isRequired?(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:l,type:e.printType(t)})),s=!1):!o.isRequired&&c.isRequired&&(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldNotRequired().format({name:l,type:e.printType(t)})),s=!1),e.canAssignType(o.valueType,c.valueType,void 0,void 0,void 0,r)||(i&&i.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:l})),s=!1)):(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldMissing().format({name:l,type:e.printType(n)})),s=!1)})),s}function vl(e,t,n,i){if(1!==t.items.length)return e.addError(ml.Diagnostic.typeArgsMismatchOne().format({received:t.items.length}),t),{node:t,type:Ys.create()};if(t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return;const r=gl(e,n,"get"===i.method),s=e.getTypeOfExpression(t.items[0].valueExpression),o=s.type;let a=new il,l=!0;const c=Ko(o,(s=>{if(ho(s))return s;if(vo(s)&&Zs.isBuiltIn(s,"str")){if(void 0===s.literalValue)return Ys.create();const o=s.literalValue,c=r.get(o);return c?(c.isRequired||c.isProvided||"get"!==i.method||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,!0)||a.addMessage(ml.DiagnosticAddendum.keyNotRequired().format({name:o,type:e.printType(n)})),"set"===i.method?e.canAssignType(c.valueType,i.setType||io.create(),a)||(l=!1):"del"===i.method&&c.isRequired&&(a.addMessage(ml.DiagnosticAddendum.keyRequiredDeleted().format({name:o})),l=!1),c.valueType):(a.addMessage(ml.DiagnosticAddendum.keyUndefined().format({name:o,type:e.printType(n)})),l=!1,Ys.create())}return a.addMessage(ml.DiagnosticAddendum.typeNotStringLiteral().format({type:e.printType(s)})),l=!1,Ys.create()}));if(i.setExpectedTypeDiag&&(a=i.setExpectedTypeDiag),!a.isEmpty()){let n;n="set"===i.method?ml.Diagnostic.typedDictSet():"del"===i.method?ml.Diagnostic.typedDictDelete():ml.Diagnostic.typedDictAccess();const r=Vt(t);e.addDiagnostic(l?r.diagnosticRuleSet.reportTypedDictNotRequiredAccess:r.diagnosticRuleSet.reportGeneralTypeIssues,l?$o.reportTypedDictNotRequiredAccess:$o.reportGeneralTypeIssues,n+a.getString(),t)}return{node:t,type:c,isIncomplete:!!s.isIncomplete}}function Tl(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&&!Zs.isSameGenericClass(t,e.boundToType)}function bl(e,t,n){const i=Er(e.node.name,!1),r=i?n.getTypeOfClass(i):void 0;if(r)return function(e,t,n,i){if(!e||!jn(e))return;const r=n.getTypeForDeclaration(e);if(!r||!ua(r))return;const s=28===e.node.nodeType?e.node.name.value:void 0;if(!s)return;const o=ba(i,0);for(const[e]of o){if(!_o(e))continue;const i=e.details.fields.get(s),r=null==i?void 0:i.getDeclarations();if(r)for(const e of r)if(jn(e)){const i=n.getTypeForDeclaration(e);if(i&&ua(i)){const n=El(e,t);if(n)return n}}}}(e,t,n,r.classType)}function Il(e,t,n){let i=e.docString;return!i&&t&&el(t.path)&&(i=function(e){for(const t of e)if(t.statements){const e=qr(t.statements);if(e)return e}}(n.findModules(t.path))),i}function Sl(e,t,n){let i=e.details.docString;if(!i&&t&&zn(t)&&(i=kl([t]),!i&&t&&el(t.path)&&4===t.type)&&(i=kl(n.findClassDeclarations(t))),!i&&t){const r=n.findClassDeclarationsByType(t.path,e);r&&(i=kl(r.filter((e=>zn(e))).map((e=>e))))}return i}function xl(e){var t,n,i;return qr(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 Cl(e,t){if(e)return void 0!==e.docString?e.docString:function(e,t){const n=[];if(!el(e.path))return n;for(const i of t.findDeclarations(e))if(Hn(i)&&i.docString)n.push(i.docString);else if(zn(i)||jn(i)){const e=xl(i);e&&n.push(e)}return n}(e,t).find((e=>e))}function wl(e,t,n){if(!ko(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&&el(t.path)&&jn(t)){const e=kl(n.findFunctionDeclarations(t));e&&i.push(e)}return i}function El(e,t){let n=kl([e]);return!n&&el(e.path)&&(n=kl(t.findFunctionDeclarations(e))),n}function kl(e){for(const t of e){const e=xl(t);if(e)return e}}!function(e){let t,n,i,r;!function(e){e.annotatedParamCountMismatch=()=>new rl(ul("Diagnostic.annotatedParamCountMismatch")),e.annotatedTypeArgMissing=()=>ul("Diagnostic.annotatedTypeArgMissing"),e.annotationFormatString=()=>ul("Diagnostic.annotationFormatString"),e.annotationNotSupported=()=>ul("Diagnostic.annotationNotSupported"),e.annotationSpansStrings=()=>ul("Diagnostic.annotationSpansStrings"),e.annotationStringEscape=()=>ul("Diagnostic.annotationStringEscape"),e.argAssignment=()=>new rl(ul("Diagnostic.argAssignment")),e.argAssignmentFunction=()=>new rl(ul("Diagnostic.argAssignmentFunction")),e.argAssignmentParam=()=>new rl(ul("Diagnostic.argAssignmentParam")),e.argAssignmentParamFunction=()=>new rl(ul("Diagnostic.argAssignmentParamFunction")),e.argMissingForParam=()=>new rl(ul("Diagnostic.argMissingForParam")),e.argMissingForParams=()=>new rl(ul("Diagnostic.argMissingForParams")),e.argMorePositionalExpectedCount=()=>new rl(ul("Diagnostic.argMorePositionalExpectedCount")),e.argMorePositionalExpectedOne=()=>ul("Diagnostic.argMorePositionalExpectedOne"),e.argPositional=()=>ul("Diagnostic.argPositional"),e.argPositionalExpectedCount=()=>new rl(ul("Diagnostic.argPositionalExpectedCount")),e.argPositionalExpectedOne=()=>ul("Diagnostic.argPositionalExpectedOne"),e.argTypePartiallyUnknown=()=>ul("Diagnostic.argTypePartiallyUnknown"),e.argTypeUnknown=()=>ul("Diagnostic.argTypeUnknown"),e.assertAlwaysTrue=()=>ul("Diagnostic.assertAlwaysTrue"),e.assignmentExprContext=()=>ul("Diagnostic.assignmentExprContext"),e.assignmentExprComprehension=()=>new rl(ul("Diagnostic.assignmentExprComprehension")),e.assignmentExprInSubscript=()=>ul("Diagnostic.assignmentExprInSubscript"),e.assignmentInProtocol=()=>ul("Diagnostic.assignmentInProtocol"),e.assignmentTargetExpr=()=>ul("Diagnostic.assignmentTargetExpr"),e.asyncNotInAsyncFunction=()=>ul("Diagnostic.asyncNotInAsyncFunction"),e.awaitIllegal=()=>ul("Diagnostic.awaitIllegal"),e.awaitNotInAsync=()=>ul("Diagnostic.awaitNotInAsync"),e.backticksIllegal=()=>ul("Diagnostic.backticksIllegal"),e.baseClassCircular=()=>ul("Diagnostic.baseClassCircular"),e.baseClassInvalid=()=>ul("Diagnostic.baseClassInvalid"),e.baseClassFinal=()=>new rl(ul("Diagnostic.baseClassFinal")),e.baseClassMethodTypeIncompatible=()=>new rl(ul("Diagnostic.baseClassMethodTypeIncompatible")),e.baseClassUnknown=()=>ul("Diagnostic.baseClassUnknown"),e.bindTypeMismatch=()=>new rl(ul("Diagnostic.bindTypeMismatch")),e.booleanIsLowerCase=()=>new rl(ul("Diagnostic.booleanIsLowerCase")),e.breakOutsideLoop=()=>ul("Diagnostic.breakOutsideLoop"),e.callableExtraArgs=()=>ul("Diagnostic.callableExtraArgs"),e.callableFirstArg=()=>ul("Diagnostic.callableFirstArg"),e.callableSecondArg=()=>ul("Diagnostic.callableSecondArg"),e.casePatternIsIrrefutable=()=>ul("Diagnostic.casePatternIsIrrefutable"),e.classAlreadySpecialized=()=>new rl(ul("Diagnostic.classAlreadySpecialized")),e.classDecoratorTypeUnknown=()=>ul("Diagnostic.classDecoratorTypeUnknown"),e.classDefinitionCycle=()=>new rl(ul("Diagnostic.classDefinitionCycle")),e.classGetItemClsParam=()=>ul("Diagnostic.classGetItemClsParam"),e.classMethodClsParam=()=>ul("Diagnostic.classMethodClsParam"),e.classNotRuntimeSubscriptable=()=>new rl(ul("Diagnostic.classNotRuntimeSubscriptable")),e.classPatternBuiltInArgCount=()=>ul("Diagnostic.classPatternBuiltInArgCount"),e.classPatternBuiltInArgPositional=()=>ul("Diagnostic.classPatternBuiltInArgPositional"),e.classPatternTypeAlias=()=>new rl(ul("Diagnostic.classPatternTypeAlias")),e.classVarNotAllowed=()=>ul("Diagnostic.classVarNotAllowed"),e.classVarFirstArgMissing=()=>ul("Diagnostic.classVarFirstArgMissing"),e.classVarOverridesInstanceVar=()=>new rl(ul("Diagnostic.classVarOverridesInstanceVar")),e.classVarTooManyArgs=()=>ul("Diagnostic.classVarTooManyArgs"),e.classVarWithTypeVar=()=>ul("Diagnostic.classVarWithTypeVar"),e.clsSelfParamTypeMismatch=()=>new rl(ul("Diagnostic.clsSelfParamTypeMismatch")),e.comparisonAlwaysFalse=()=>new rl(ul("Diagnostic.comparisonAlwaysFalse")),e.comparisonAlwaysTrue=()=>new rl(ul("Diagnostic.comparisonAlwaysTrue")),e.comprehensionInDict=()=>ul("Diagnostic.comprehensionInDict"),e.comprehensionInSet=()=>ul("Diagnostic.comprehensionInSet"),e.concatenateParamSpecMissing=()=>ul("Diagnostic.concatenateParamSpecMissing"),e.concatenateTypeArgsMissing=()=>ul("Diagnostic.concatenateTypeArgsMissing"),e.constantRedefinition=()=>new rl(ul("Diagnostic.constantRedefinition")),e.constructorNoArgs=()=>new rl(ul("Diagnostic.constructorNoArgs")),e.constructorParametersMismatch=()=>new rl(ul("Diagnostic.constructorParametersMismatch")),e.continueInFinally=()=>ul("Diagnostic.continueInFinally"),e.continueOutsideLoop=()=>ul("Diagnostic.continueOutsideLoop"),e.dataClassBaseClassNotFrozen=()=>ul("Diagnostic.dataClassBaseClassNotFrozen"),e.dataClassFieldWithDefault=()=>ul("Diagnostic.dataClassFieldWithDefault"),e.dataClassPostInitParamCount=()=>new rl(ul("Diagnostic.dataClassPostInitParamCount")),e.dataClassPostInitType=()=>new rl(ul("Diagnostic.dataClassPostInitType")),e.dataClassSlotsOverwrite=()=>ul("Diagnostic.dataClassSlotsOverwrite"),e.dataClassTransformExpectedBoolLiteral=()=>ul("Diagnostic.dataClassTransformExpectedBoolLiteral"),e.dataClassTransformFieldDescriptor=()=>new rl(ul("Diagnostic.dataClassTransformFieldDescriptor")),e.dataClassTransformPositionalParam=()=>ul("Diagnostic.dataClassTransformPositionalParam"),e.dataClassTransformUnknownArgument=()=>new rl(ul("Diagnostic.dataClassTransformUnknownArgument")),e.declaredReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.declaredReturnTypePartiallyUnknown")),e.declaredReturnTypeUnknown=()=>ul("Diagnostic.declaredReturnTypeUnknown"),e.defaultValueContainsCall=()=>ul("Diagnostic.defaultValueContainsCall"),e.defaultValueNotAllowed=()=>ul("Diagnostic.defaultValueNotAllowed"),e.defaultValueNotEllipsis=()=>ul("Diagnostic.defaultValueNotEllipsis"),e.deprecatedType=()=>new rl(ul("Diagnostic.deprecatedType")),e.dictExpandIllegalInComprehension=()=>ul("Diagnostic.dictExpandIllegalInComprehension"),e.dictInAnnotation=()=>ul("Diagnostic.dictInAnnotation"),e.dictKeyValuePairs=()=>ul("Diagnostic.dictKeyValuePairs"),e.dictUnpackIsNotMapping=()=>ul("Diagnostic.dictUnpackIsNotMapping"),e.delTargetExpr=()=>ul("Diagnostic.delTargetExpr"),e.dunderAllSymbolNotPresent=()=>new rl(ul("Diagnostic.dunderAllSymbolNotPresent")),e.duplicateArgsParam=()=>ul("Diagnostic.duplicateArgsParam"),e.duplicateBaseClass=()=>ul("Diagnostic.duplicateBaseClass"),e.duplicateCatchAll=()=>ul("Diagnostic.duplicateCatchAll"),e.duplicateEnumMember=()=>new rl(ul("Diagnostic.duplicateEnumMember")),e.duplicateImport=()=>new rl(ul("Diagnostic.duplicateImport")),e.duplicateKwargsParam=()=>ul("Diagnostic.duplicateKwargsParam"),e.duplicateKeywordOnly=()=>ul("Diagnostic.duplicateKeywordOnly"),e.duplicateParam=()=>new rl(ul("Diagnostic.duplicateParam")),e.duplicateCapturePatternTarget=()=>new rl(ul("Diagnostic.duplicateCapturePatternTarget")),e.duplicateStarPattern=()=>ul("Diagnostic.duplicateStarPattern"),e.duplicateStarStarPattern=()=>ul("Diagnostic.duplicateStarStarPattern"),e.duplicatePositionOnly=()=>ul("Diagnostic.duplicatePositionOnly"),e.duplicateUnpack=()=>ul("Diagnostic.duplicateUnpack"),e.ellipsisContext=()=>ul("Diagnostic.ellipsisContext"),e.ellipsisSecondArg=()=>ul("Diagnostic.ellipsisSecondArg"),e.enumClassOverride=()=>new rl(ul("Diagnostic.enumClassOverride")),e.exceptionGroupIncompatible=()=>ul("Diagnostic.exceptionGroupIncompatible"),e.exceptionTypeIncorrect=()=>new rl(ul("Diagnostic.exceptionTypeIncorrect")),e.exceptionTypeNotClass=()=>new rl(ul("Diagnostic.exceptionTypeNotClass")),e.exceptionTypeNotInstantiable=()=>new rl(ul("Diagnostic.exceptionTypeNotInstantiable")),e.expectedAfterDecorator=()=>ul("Diagnostic.expectedAfterDecorator"),e.expectedArrow=()=>ul("Diagnostic.expectedArrow"),e.expectedAsAfterException=()=>ul("Diagnostic.expectedAsAfterException"),e.expectedAssignRightHandExpr=()=>ul("Diagnostic.expectedAssignRightHandExpr"),e.expectedBinaryRightHandExpr=()=>ul("Diagnostic.expectedBinaryRightHandExpr"),e.expectedBoolLiteral=()=>ul("Diagnostic.expectedBoolLiteral"),e.expectedCase=()=>ul("Diagnostic.expectedCase"),e.expectedClassName=()=>ul("Diagnostic.expectedClassName"),e.expectedCloseBrace=()=>ul("Diagnostic.expectedCloseBrace"),e.expectedCloseBracket=()=>ul("Diagnostic.expectedCloseBracket"),e.expectedCloseParen=()=>ul("Diagnostic.expectedCloseParen"),e.expectedColon=()=>ul("Diagnostic.expectedColon"),e.expectedComplexNumberLiteral=()=>ul("Diagnostic.expectedComplexNumberLiteral"),e.expectedDecoratorExpr=()=>ul("Diagnostic.expectedDecoratorExpr"),e.expectedDecoratorName=()=>ul("Diagnostic.expectedDecoratorName"),e.expectedDecoratorNewline=()=>ul("Diagnostic.expectedDecoratorNewline"),e.expectedDelExpr=()=>ul("Diagnostic.expectedDelExpr"),e.expectedElse=()=>ul("Diagnostic.expectedElse"),e.expectedEqualityOperator=()=>ul("Diagnostic.expectedEqualityOperator"),e.expectedExceptionClass=()=>ul("Diagnostic.expectedExceptionClass"),e.expectedExceptionObj=()=>ul("Diagnostic.expectedExceptionObj"),e.expectedExpr=()=>ul("Diagnostic.expectedExpr"),e.expectedImport=()=>ul("Diagnostic.expectedImport"),e.expectedImportAlias=()=>ul("Diagnostic.expectedImportAlias"),e.expectedImportSymbols=()=>ul("Diagnostic.expectedImportSymbols"),e.expectedIdentifier=()=>ul("Diagnostic.expectedIdentifier"),e.expectedIndentedBlock=()=>ul("Diagnostic.expectedIndentedBlock"),e.expectedIn=()=>ul("Diagnostic.expectedIn"),e.expectedInExpr=()=>ul("Diagnostic.expectedInExpr"),e.expectedFunctionAfterAsync=()=>ul("Diagnostic.expectedFunctionAfterAsync"),e.expectedFunctionName=()=>ul("Diagnostic.expectedFunctionName"),e.expectedMemberName=()=>ul("Diagnostic.expectedMemberName"),e.expectedModuleName=()=>ul("Diagnostic.expectedModuleName"),e.expectedNameAfterAs=()=>ul("Diagnostic.expectedNameAfterAs"),e.expectedNamedParameter=()=>ul("Diagnostic.expectedNamedParameter"),e.expectedNewline=()=>ul("Diagnostic.expectedNewline"),e.expectedNewlineOrSemicolon=()=>ul("Diagnostic.expectedNewlineOrSemicolon"),e.expectedOpenParen=()=>ul("Diagnostic.expectedOpenParen"),e.expectedParamName=()=>ul("Diagnostic.expectedParamName"),e.expectedPatternExpr=()=>ul("Diagnostic.expectedPatternExpr"),e.expectedPatternSubjectExpr=()=>ul("Diagnostic.expectedPatternSubjectExpr"),e.expectedPatternValue=()=>ul("Diagnostic.expectedPatternValue"),e.expectedReturnExpr=()=>ul("Diagnostic.expectedReturnExpr"),e.expectedSliceIndex=()=>ul("Diagnostic.expectedSliceIndex"),e.expectedTypeNotString=()=>ul("Diagnostic.expectedTypeNotString"),e.expectedYieldExpr=()=>ul("Diagnostic.expectedYieldExpr"),e.finalClassIsAbstract=()=>new rl(ul("Diagnostic.finalClassIsAbstract")),e.finalContext=()=>ul("Diagnostic.finalContext"),e.finalMethodOverride=()=>new rl(ul("Diagnostic.finalMethodOverride")),e.finalReassigned=()=>new rl(ul("Diagnostic.finalReassigned")),e.finalRedeclaration=()=>new rl(ul("Diagnostic.finalRedeclaration")),e.finalRedeclarationBySubclass=()=>new rl(ul("Diagnostic.finalRedeclarationBySubclass")),e.finalTooManyArgs=()=>ul("Diagnostic.finalTooManyArgs"),e.finalUnassigned=()=>new rl(ul("Diagnostic.finalUnassigned")),e.formatStringBrace=()=>ul("Diagnostic.formatStringBrace"),e.formatStringBytes=()=>ul("Diagnostic.formatStringBytes"),e.formatStringEscape=()=>ul("Diagnostic.formatStringEscape"),e.formatStringInPattern=()=>ul("Diagnostic.formatStringInPattern"),e.formatStringIllegal=()=>ul("Diagnostic.formatStringIllegal"),e.formatStringUnicode=()=>ul("Diagnostic.formatStringUnicode"),e.formatStringUnterminated=()=>ul("Diagnostic.formatStringUnterminated"),e.functionDecoratorTypeUnknown=()=>ul("Diagnostic.functionDecoratorTypeUnknown"),e.generatorAsyncReturnType=()=>ul("Diagnostic.generatorAsyncReturnType"),e.generatorNotParenthesized=()=>ul("Diagnostic.generatorNotParenthesized"),e.generatorSyncReturnType=()=>ul("Diagnostic.generatorSyncReturnType"),e.genericClassAssigned=()=>ul("Diagnostic.genericClassAssigned"),e.genericClassDeleted=()=>ul("Diagnostic.genericClassDeleted"),e.genericNotAllowed=()=>ul("Diagnostic.genericNotAllowed"),e.genericTypeAliasBoundTypeVar=()=>new rl(ul("Diagnostic.genericTypeAliasBoundTypeVar")),e.genericTypeArgMissing=()=>ul("Diagnostic.genericTypeArgMissing"),e.genericTypeArgTypeVar=()=>ul("Diagnostic.genericTypeArgTypeVar"),e.genericTypeArgUnique=()=>ul("Diagnostic.genericTypeArgUnique"),e.globalReassignment=()=>new rl(ul("Diagnostic.globalReassignment")),e.globalRedefinition=()=>new rl(ul("Diagnostic.globalRedefinition")),e.implicitStringConcat=()=>ul("Diagnostic.implicitStringConcat"),e.importCycleDetected=()=>ul("Diagnostic.importCycleDetected"),e.importDepthExceeded=()=>new rl(ul("Diagnostic.importDepthExceeded")),e.importResolveFailure=()=>new rl(ul("Diagnostic.importResolveFailure")),e.importSourceResolveFailure=()=>new rl(ul("Diagnostic.importSourceResolveFailure")),e.importSymbolUnknown=()=>new rl(ul("Diagnostic.importSymbolUnknown")),e.incompatibleMethodOverride=()=>new rl(ul("Diagnostic.incompatibleMethodOverride")),e.inconsistentIndent=()=>ul("Diagnostic.inconsistentIndent"),e.inconsistentTabs=()=>ul("Diagnostic.inconsistentTabs"),e.initMustReturnNone=()=>ul("Diagnostic.initMustReturnNone"),e.initSubclassClsParam=()=>ul("Diagnostic.initSubclassClsParam"),e.instanceMethodSelfParam=()=>ul("Diagnostic.instanceMethodSelfParam"),e.instanceVarOverridesClassVar=()=>new rl(ul("Diagnostic.instanceVarOverridesClassVar")),e.instantiateAbstract=()=>new rl(ul("Diagnostic.instantiateAbstract")),e.instantiateProtocol=()=>new rl(ul("Diagnostic.instantiateProtocol")),e.internalBindError=()=>new rl(ul("Diagnostic.internalBindError")),e.internalParseError=()=>new rl(ul("Diagnostic.internalParseError")),e.internalTypeCheckingError=()=>new rl(ul("Diagnostic.internalTypeCheckingError")),e.invalidIdentifierChar=()=>ul("Diagnostic.invalidIdentifierChar"),e.invalidStubStatement=()=>ul("Diagnostic.invalidStubStatement"),e.invalidTokenChars=()=>new rl(ul("Diagnostic.invalidTokenChars")),e.isInstanceInvalidType=()=>new rl(ul("Diagnostic.isInstanceInvalidType")),e.isSubclassInvalidType=()=>new rl(ul("Diagnostic.isSubclassInvalidType")),e.keyValueInSet=()=>ul("Diagnostic.keyValueInSet"),e.keywordArgInTypeArgument=()=>ul("Diagnostic.keywordArgInTypeArgument"),e.keywordOnlyAfterArgs=()=>ul("Diagnostic.keywordOnlyAfterArgs"),e.keywordSubscriptIllegal=()=>ul("Diagnostic.keywordSubscriptIllegal"),e.lambdaReturnTypeUnknown=()=>ul("Diagnostic.lambdaReturnTypeUnknown"),e.lambdaReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.lambdaReturnTypePartiallyUnknown")),e.listAssignmentMismatch=()=>new rl(ul("Diagnostic.listAssignmentMismatch")),e.listInAnnotation=()=>ul("Diagnostic.listInAnnotation"),e.literalUnsupportedType=()=>ul("Diagnostic.literalUnsupportedType"),e.literalEmptyArgs=()=>ul("Diagnostic.literalEmptyArgs"),e.literalNotCallable=()=>ul("Diagnostic.literalNotCallable"),e.matchIncompatible=()=>ul("Diagnostic.matchIncompatible"),e.matchIsNotExhaustive=()=>ul("Diagnostic.matchIsNotExhaustive"),e.maxParseDepthExceeded=()=>ul("Diagnostic.maxParseDepthExceeded"),e.memberAccess=()=>new rl(ul("Diagnostic.memberAccess")),e.memberDelete=()=>new rl(ul("Diagnostic.memberDelete")),e.memberSet=()=>new rl(ul("Diagnostic.memberSet")),e.metaclassConflict=()=>ul("Diagnostic.metaclassConflict"),e.metaclassDuplicate=()=>ul("Diagnostic.metaclassDuplicate"),e.metaclassIsGeneric=()=>ul("Diagnostic.metaclassIsGeneric"),e.methodNotDefined=()=>new rl(ul("Diagnostic.methodNotDefined")),e.methodNotDefinedOnType=()=>new rl(ul("Diagnostic.methodNotDefinedOnType")),e.methodOrdering=()=>ul("Diagnostic.methodOrdering"),e.methodOverridden=()=>new rl(ul("Diagnostic.methodOverridden")),e.methodReturnsNonObject=()=>new rl(ul("Diagnostic.methodReturnsNonObject")),e.missingProtocolMembers=()=>ul("Diagnostic.missingProtocolMembers"),e.missingSuperCall=()=>new rl(ul("Diagnostic.missingSuperCall")),e.moduleAsType=()=>ul("Diagnostic.moduleAsType"),e.moduleNotCallable=()=>ul("Diagnostic.moduleNotCallable"),e.moduleUnknownMember=()=>new rl(ul("Diagnostic.moduleUnknownMember")),e.namedExceptAfterCatchAll=()=>ul("Diagnostic.namedExceptAfterCatchAll"),e.namedParamAfterParamSpecArgs=()=>new rl(ul("Diagnostic.namedParamAfterParamSpecArgs")),e.namedTupleEmptyName=()=>ul("Diagnostic.namedTupleEmptyName"),e.namedTupleFirstArg=()=>ul("Diagnostic.namedTupleFirstArg"),e.namedTupleMultipleInheritance=()=>ul("Diagnostic.namedTupleMultipleInheritance"),e.namedTupleNameType=()=>ul("Diagnostic.namedTupleNameType"),e.namedTupleNameUnique=()=>ul("Diagnostic.namedTupleNameUnique"),e.namedTupleNoTypes=()=>ul("Diagnostic.namedTupleNoTypes"),e.namedTupleSecondArg=()=>ul("Diagnostic.namedTupleSecondArg"),e.newClsParam=()=>ul("Diagnostic.newClsParam"),e.newTypeLiteral=()=>ul("Diagnostic.newTypeLiteral"),e.newTypeNotAClass=()=>ul("Diagnostic.newTypeNotAClass"),e.newTypeProtocolClass=()=>ul("Diagnostic.newTypeProtocolClass"),e.nonDefaultAfterDefault=()=>ul("Diagnostic.nonDefaultAfterDefault"),e.noneNotCallable=()=>ul("Diagnostic.noneNotCallable"),e.noneNotIterable=()=>ul("Diagnostic.noneNotIterable"),e.noneNotSubscriptable=()=>ul("Diagnostic.noneNotSubscriptable"),e.noneNotUsableWith=()=>ul("Diagnostic.noneNotUsableWith"),e.noneOperator=()=>new rl(ul("Diagnostic.noneOperator")),e.noneUnknownMember=()=>new rl(ul("Diagnostic.noneUnknownMember")),e.nonLocalNoBinding=()=>new rl(ul("Diagnostic.nonLocalNoBinding")),e.nonLocalReassignment=()=>new rl(ul("Diagnostic.nonLocalReassignment")),e.nonLocalRedefinition=()=>new rl(ul("Diagnostic.nonLocalRedefinition")),e.nonLocalInModule=()=>ul("Diagnostic.nonLocalInModule"),e.noOverload=()=>new rl(ul("Diagnostic.noOverload")),e.noReturnContainsReturn=()=>ul("Diagnostic.noReturnContainsReturn"),e.noReturnContainsYield=()=>ul("Diagnostic.noReturnContainsYield"),e.noReturnReturnsNone=()=>ul("Diagnostic.noReturnReturnsNone"),e.notRequiredArgCount=()=>ul("Diagnostic.notRequiredArgCount"),e.notRequiredNotInTypedDict=()=>ul("Diagnostic.notRequiredNotInTypedDict"),e.objectNotCallable=()=>new rl(ul("Diagnostic.objectNotCallable")),e.obscuredClassDeclaration=()=>new rl(ul("Diagnostic.obscuredClassDeclaration")),e.obscuredFunctionDeclaration=()=>new rl(ul("Diagnostic.obscuredFunctionDeclaration")),e.obscuredMethodDeclaration=()=>new rl(ul("Diagnostic.obscuredMethodDeclaration")),e.obscuredParameterDeclaration=()=>new rl(ul("Diagnostic.obscuredParameterDeclaration")),e.obscuredVariableDeclaration=()=>new rl(ul("Diagnostic.obscuredVariableDeclaration")),e.operatorLessOrGreaterDeprecated=()=>ul("Diagnostic.operatorLessOrGreaterDeprecated"),e.optionalExtraArgs=()=>ul("Diagnostic.optionalExtraArgs"),e.orPatternIrrefutable=()=>ul("Diagnostic.orPatternIrrefutable"),e.orPatternMissingName=()=>ul("Diagnostic.orPatternMissingName"),e.overlappingOverload=()=>new rl(ul("Diagnostic.overlappingOverload")),e.overloadAbstractMismatch=()=>new rl(ul("Diagnostic.overloadAbstractMismatch")),e.overloadImplementationMismatch=()=>new rl(ul("Diagnostic.overloadImplementationMismatch")),e.overloadReturnTypeMismatch=()=>new rl(ul("Diagnostic.overloadReturnTypeMismatch")),e.overloadWithImplementation=()=>new rl(ul("Diagnostic.overloadWithImplementation")),e.overloadWithoutImplementation=()=>new rl(ul("Diagnostic.overloadWithoutImplementation")),e.paramAfterKwargsParam=()=>ul("Diagnostic.paramAfterKwargsParam"),e.paramAlreadyAssigned=()=>new rl(ul("Diagnostic.paramAlreadyAssigned")),e.paramAnnotationMissing=()=>new rl(ul("Diagnostic.paramAnnotationMissing")),e.paramNameMissing=()=>new rl(ul("Diagnostic.paramNameMissing")),e.paramSpecArgsKwargsUsage=()=>ul("Diagnostic.paramSpecArgsKwargsUsage"),e.paramSpecArgsUsage=()=>ul("Diagnostic.paramSpecArgsUsage"),e.paramSpecAssignedName=()=>new rl(ul("Diagnostic.paramSpecAssignedName")),e.paramSpecContext=()=>ul("Diagnostic.paramSpecContext"),e.paramSpecFirstArg=()=>ul("Diagnostic.paramSpecFirstArg"),e.paramSpecKwargsUsage=()=>ul("Diagnostic.paramSpecKwargsUsage"),e.paramSpecNotBound=()=>new rl(ul("Diagnostic.paramSpecNotBound")),e.paramSpecNotUsedByOuterScope=()=>new rl(ul("Diagnostic.paramSpecNotUsedByOuterScope")),e.paramSpecUnknownArg=()=>ul("Diagnostic.paramSpecUnknownArg"),e.paramSpecUnknownMember=()=>new rl(ul("Diagnostic.paramSpecUnknownMember")),e.paramSpecUnknownParam=()=>new rl(ul("Diagnostic.paramSpecUnknownParam")),e.paramTypeCovariant=()=>ul("Diagnostic.paramTypeCovariant"),e.paramTypeUnknown=()=>new rl(ul("Diagnostic.paramTypeUnknown")),e.paramAssignmentMismatch=()=>new rl(ul("Diagnostic.paramAssignmentMismatch")),e.paramTypePartiallyUnknown=()=>new rl(ul("Diagnostic.paramTypePartiallyUnknown")),e.parenthesizedContextManagerIllegal=()=>ul("Diagnostic.parenthesizedContextManagerIllegal"),e.positionArgAfterNamedArg=()=>ul("Diagnostic.positionArgAfterNamedArg"),e.privateImportFromPyTypedModule=()=>new rl(ul("Diagnostic.privateImportFromPyTypedModule")),e.positionOnlyAfterArgs=()=>ul("Diagnostic.positionOnlyAfterArgs"),e.positionOnlyAfterKeywordOnly=()=>ul("Diagnostic.positionOnlyAfterKeywordOnly"),e.positionOnlyIncompatible=()=>ul("Diagnostic.positionOnlyIncompatible"),e.positionOnlyFirstParam=()=>ul("Diagnostic.positionOnlyFirstParam"),e.privateUsedOutsideOfClass=()=>new rl(ul("Diagnostic.privateUsedOutsideOfClass")),e.privateUsedOutsideOfModule=()=>new rl(ul("Diagnostic.privateUsedOutsideOfModule")),e.propertyOverridden=()=>new rl(ul("Diagnostic.propertyOverridden")),e.propertyStaticMethod=()=>ul("Diagnostic.propertyStaticMethod"),e.protectedUsedOutsideOfClass=()=>new rl(ul("Diagnostic.protectedUsedOutsideOfClass")),e.protocolBaseClass=()=>new rl(ul("Diagnostic.protocolBaseClass")),e.protocolIllegal=()=>ul("Diagnostic.protocolIllegal"),e.protocolMemberNotClassVar=()=>new rl(ul("Diagnostic.protocolMemberNotClassVar")),e.protocolNotAllowedInTypeArgument=()=>ul("Diagnostic.protocolNotAllowedInTypeArgument"),e.protocolUsedInCall=()=>new rl(ul("Diagnostic.protocolUsedInCall")),e.protocolVarianceContravariant=()=>new rl(ul("Diagnostic.protocolVarianceContravariant")),e.protocolVarianceCovariant=()=>new rl(ul("Diagnostic.protocolVarianceCovariant")),e.protocolVarianceInvariant=()=>new rl(ul("Diagnostic.protocolVarianceInvariant")),e.recursiveDefinition=()=>new rl(ul("Diagnostic.recursiveDefinition")),e.relativeImportNotAllowed=()=>ul("Diagnostic.relativeImportNotAllowed"),e.requiredArgCount=()=>ul("Diagnostic.requiredArgCount"),e.requiredNotInTypedDict=()=>ul("Diagnostic.requiredNotInTypedDict"),e.returnMissing=()=>new rl(ul("Diagnostic.returnMissing")),e.returnOutsideFunction=()=>ul("Diagnostic.returnOutsideFunction"),e.returnTypeContravariant=()=>ul("Diagnostic.returnTypeContravariant"),e.returnTypeMismatch=()=>new rl(ul("Diagnostic.returnTypeMismatch")),e.returnTypeUnknown=()=>ul("Diagnostic.returnTypeUnknown"),e.returnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.returnTypePartiallyUnknown")),e.revealLocalsArgs=()=>ul("Diagnostic.revealLocalsArgs"),e.revealLocalsNone=()=>ul("Diagnostic.revealLocalsNone"),e.revealTypeArgs=()=>ul("Diagnostic.revealTypeArgs"),e.revealTypeExpectedTextArg=()=>ul("Diagnostic.revealTypeExpectedTextArg"),e.revealTypeExpectedTextMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTextMismatch")),e.revealTypeExpectedTypeMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTypeMismatch")),e.selfTypeContext=()=>ul("Diagnostic.selfTypeContext"),e.selfTypeWithTypedSelfOrCls=()=>ul("Diagnostic.selfTypeWithTypedSelfOrCls"),e.setterGetterTypeMismatch=()=>ul("Diagnostic.setterGetterTypeMismatch"),e.starPatternInAsPattern=()=>ul("Diagnostic.starPatternInAsPattern"),e.starPatternInOrPattern=()=>ul("Diagnostic.starPatternInOrPattern"),e.singleOverload=()=>new rl(ul("Diagnostic.singleOverload")),e.slotsAttributeError=()=>new rl(ul("Diagnostic.slotsAttributeError")),e.slotsClassVarConflict=()=>new rl(ul("Diagnostic.slotsClassVarConflict")),e.starStarWildcardNotAllowed=()=>ul("Diagnostic.starStarWildcardNotAllowed"),e.staticClsSelfParam=()=>ul("Diagnostic.staticClsSelfParam"),e.strictTypeGuardReturnType=()=>new rl(ul("Diagnostic.strictTypeGuardReturnType")),e.stringNonAsciiBytes=()=>ul("Diagnostic.stringNonAsciiBytes"),e.stringNotSubscriptable=()=>ul("Diagnostic.stringNotSubscriptable"),e.stringUnsupportedEscape=()=>ul("Diagnostic.stringUnsupportedEscape"),e.stringUnterminated=()=>ul("Diagnostic.stringUnterminated"),e.stubFileMissing=()=>new rl(ul("Diagnostic.stubFileMissing")),e.stubUsesGetAttr=()=>ul("Diagnostic.stubUsesGetAttr"),e.sublistParamsIncompatible=()=>ul("Diagnostic.sublistParamsIncompatible"),e.superCallArgCount=()=>ul("Diagnostic.superCallArgCount"),e.superCallFirstArg=()=>new rl(ul("Diagnostic.superCallFirstArg")),e.superCallSecondArg=()=>new rl(ul("Diagnostic.superCallSecondArg")),e.superCallZeroArgForm=()=>ul("Diagnostic.superCallZeroArgForm"),e.symbolIsUnbound=()=>new rl(ul("Diagnostic.symbolIsUnbound")),e.symbolIsUndefined=()=>new rl(ul("Diagnostic.symbolIsUndefined")),e.symbolIsPossiblyUnbound=()=>new rl(ul("Diagnostic.symbolIsPossiblyUnbound")),e.symbolOverridden=()=>new rl(ul("Diagnostic.symbolOverridden")),e.totalOrderingMissingMethod=()=>ul("Diagnostic.totalOrderingMissingMethod"),e.trailingCommaInFromImport=()=>ul("Diagnostic.trailingCommaInFromImport"),e.tryWithoutExcept=()=>ul("Diagnostic.tryWithoutExcept"),e.tupleAssignmentMismatch=()=>new rl(ul("Diagnostic.tupleAssignmentMismatch")),e.tupleInAnnotation=()=>ul("Diagnostic.tupleInAnnotation"),e.tupleIndexOutOfRange=()=>new rl(ul("Diagnostic.tupleIndexOutOfRange")),e.typeAliasIsRecursiveDirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveDirect")),e.typeAliasIsRecursiveIndirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveIndirect")),e.typeAliasNotInModuleOrClass=()=>ul("Diagnostic.typeAliasNotInModuleOrClass"),e.typeAliasRedeclared=()=>new rl(ul("Diagnostic.typeAliasRedeclared")),e.typeAnnotationCall=()=>ul("Diagnostic.typeAnnotationCall"),e.typeAnnotationVariable=()=>ul("Diagnostic.typeAnnotationVariable"),e.typeArgListExpected=()=>ul("Diagnostic.typeArgListExpected"),e.typeArgListNotAllowed=()=>ul("Diagnostic.typeArgListNotAllowed"),e.typeArgsExpectingNone=()=>new rl(ul("Diagnostic.typeArgsExpectingNone")),e.typeArgsMismatchOne=()=>new rl(ul("Diagnostic.typeArgsMismatchOne")),e.typeArgsMissingForAlias=()=>new rl(ul("Diagnostic.typeArgsMissingForAlias")),e.typeArgsMissingForClass=()=>new rl(ul("Diagnostic.typeArgsMissingForClass")),e.typeArgsTooFew=()=>new rl(ul("Diagnostic.typeArgsTooFew")),e.typeArgsTooMany=()=>new rl(ul("Diagnostic.typeArgsTooMany")),e.typeAssignmentMismatch=()=>new rl(ul("Diagnostic.typeAssignmentMismatch")),e.typeCallNotAllowed=()=>ul("Diagnostic.typeCallNotAllowed"),e.typedDictAccess=()=>ul("Diagnostic.typedDictAccess"),e.typedDictBadVar=()=>ul("Diagnostic.typedDictBadVar"),e.typedDictBaseClass=()=>ul("Diagnostic.typedDictBaseClass"),e.typedDictDelete=()=>ul("Diagnostic.typedDictDelete"),e.typedDictEmptyName=()=>ul("Diagnostic.typedDictEmptyName"),e.typedDictEntryName=()=>ul("Diagnostic.typedDictEntryName"),e.typedDictEntryUnique=()=>ul("Diagnostic.typedDictEntryUnique"),e.typedDictExtraArgs=()=>ul("Diagnostic.typedDictExtraArgs"),e.typedDictFieldRedefinition=()=>new rl(ul("Diagnostic.typedDictFieldRedefinition")),e.typedDictFirstArg=()=>ul("Diagnostic.typedDictFirstArg"),e.typedDictSecondArgDict=()=>ul("Diagnostic.typedDictSecondArgDict"),e.typedDictSecondArgDictEntry=()=>ul("Diagnostic.typedDictSecondArgDictEntry"),e.typedDictSet=()=>ul("Diagnostic.typedDictSet"),e.typedDictTotalParam=()=>ul("Diagnostic.typedDictTotalParam"),e.typeExpectedClass=()=>new rl(ul("Diagnostic.typeExpectedClass")),e.typeGuardArgCount=()=>ul("Diagnostic.typeGuardArgCount"),e.typeNotAwaitable=()=>new rl(ul("Diagnostic.typeNotAwaitable")),e.typeNotCallable=()=>new rl(ul("Diagnostic.typeNotCallable")),e.typeNotIntantiable=()=>new rl(ul("Diagnostic.typeNotIntantiable")),e.typeNotIterable=()=>new rl(ul("Diagnostic.typeNotIterable")),e.typeNotSpecializable=()=>new rl(ul("Diagnostic.typeNotSpecializable")),e.typeNotSubscriptable=()=>new rl(ul("Diagnostic.typeNotSubscriptable")),e.typeNotUsableWith=()=>new rl(ul("Diagnostic.typeNotUsableWith")),e.typeNotSupportBinaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperator")),e.typeNotSupportBinaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperatorBidirectional")),e.typeNotSupportUnaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperator")),e.typeNotSupportUnaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperatorBidirectional")),e.typePartiallyUnknown=()=>new rl(ul("Diagnostic.typePartiallyUnknown")),e.typeUnknown=()=>new rl(ul("Diagnostic.typeUnknown")),e.typeVarAssignedName=()=>new rl(ul("Diagnostic.typeVarAssignedName")),e.typeVarAssignmentMismatch=()=>new rl(ul("Diagnostic.typeVarAssignmentMismatch")),e.typeVarBoundAndConstrained=()=>ul("Diagnostic.typeVarBoundAndConstrained"),e.typeVarFirstArg=()=>ul("Diagnostic.typeVarFirstArg"),e.typeVarGeneric=()=>ul("Diagnostic.typeVarGeneric"),e.typeVarNoMember=()=>new rl(ul("Diagnostic.typeVarNoMember")),e.typeVarNotSubscriptable=()=>new rl(ul("Diagnostic.typeVarNotSubscriptable")),e.typeVarNotUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarNotUsedByOuterScope")),e.typeVarSingleConstraint=()=>ul("Diagnostic.typeVarSingleConstraint"),e.typeVarsNotInGeneric=()=>ul("Diagnostic.typeVarsNotInGeneric"),e.typeVarTupleMustBeUnpacked=()=>ul("Diagnostic.typeVarTupleMustBeUnpacked"),e.typeVarTupleContext=()=>ul("Diagnostic.typeVarTupleContext"),e.typeVarUnknownParam=()=>new rl(ul("Diagnostic.typeVarUnknownParam")),e.typeVarUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarUsedByOuterScope")),e.typeVarUsedOnlyOnce=()=>new rl(ul("Diagnostic.typeVarUsedOnlyOnce")),e.typeVarVariance=()=>ul("Diagnostic.typeVarVariance"),e.unaccessedClass=()=>new rl(ul("Diagnostic.unaccessedClass")),e.unaccessedFunction=()=>new rl(ul("Diagnostic.unaccessedFunction")),e.unaccessedImport=()=>new rl(ul("Diagnostic.unaccessedImport")),e.unaccessedSymbol=()=>new rl(ul("Diagnostic.unaccessedSymbol")),e.unaccessedVariable=()=>new rl(ul("Diagnostic.unaccessedVariable")),e.unexpectedAsyncToken=()=>ul("Diagnostic.unexpectedAsyncToken"),e.unexpectedExprToken=()=>ul("Diagnostic.unexpectedExprToken"),e.unexpectedIndent=()=>ul("Diagnostic.unexpectedIndent"),e.unexpectedUnindent=()=>ul("Diagnostic.unexpectedUnindent"),e.unionSyntaxIllegal=()=>ul("Diagnostic.unionSyntaxIllegal"),e.unionTypeArgCount=()=>ul("Diagnostic.unionTypeArgCount"),e.uninitializedInstanceVariable=()=>new rl(ul("Diagnostic.uninitializedInstanceVariable")),e.unnecessaryCast=()=>new rl(ul("Diagnostic.unnecessaryCast")),e.unnecessaryIsInstanceAlways=()=>new rl(ul("Diagnostic.unnecessaryIsInstanceAlways")),e.unnecessaryIsSubclassAlways=()=>new rl(ul("Diagnostic.unnecessaryIsSubclassAlways")),e.unnecessaryTypeIgnore=()=>ul("Diagnostic.unnecessaryTypeIgnore"),e.unpackArgCount=()=>ul("Diagnostic.unpackArgCount"),e.unpackedArgInTypeArgument=()=>ul("Diagnostic.unpackedArgInTypeArgument"),e.unpackedArgWithVariadicParam=()=>ul("Diagnostic.unpackedArgWithVariadicParam"),e.unpackedDictArgumentNotMapping=()=>ul("Diagnostic.unpackedDictArgumentNotMapping"),e.unpackedSubscriptIllegal=()=>ul("Diagnostic.unpackedSubscriptIllegal"),e.unpackedTypedDictArgument=()=>ul("Diagnostic.unpackedTypedDictArgument"),e.unpackedTypeVarTupleExpected=()=>new rl(ul("Diagnostic.unpackedTypeVarTupleExpected")),e.unpackExpectedTypedDict=()=>ul("Diagnostic.unpackExpectedTypedDict"),e.unpackExpectedTypeVarTuple=()=>ul("Diagnostic.unpackExpectedTypeVarTuple"),e.unpackIllegalInComprehension=()=>ul("Diagnostic.unpackIllegalInComprehension"),e.unpackInAnnotation=()=>ul("Diagnostic.unpackInAnnotation"),e.unpackInDict=()=>ul("Diagnostic.unpackInDict"),e.unpackInSet=()=>ul("Diagnostic.unpackInSet"),e.unpackNotAllowed=()=>ul("Diagnostic.unpackNotAllowed"),e.unpackOperatorNotAllowed=()=>ul("Diagnostic.unpackOperatorNotAllowed"),e.unpackTuplesIllegal=()=>ul("Diagnostic.unpackTuplesIllegal"),e.unreachableCode=()=>ul("Diagnostic.unreachableCode"),e.unreachableExcept=()=>ul("Diagnostic.unreachableExcept"),e.unsupportedDunderAllOperation=()=>ul("Diagnostic.unsupportedDunderAllOperation"),e.unusedCallResult=()=>new rl(ul("Diagnostic.unusedCallResult")),e.unusedCoroutine=()=>ul("Diagnostic.unusedCoroutine"),e.varAnnotationIllegal=()=>ul("Diagnostic.varAnnotationIllegal"),e.variadicTypeArgsTooMany=()=>ul("Diagnostic.variadicTypeArgsTooMany"),e.variadicTypeParamTooManyAlias=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyAlias")),e.variadicTypeParamTooManyClass=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyClass")),e.walrusIllegal=()=>ul("Diagnostic.walrusIllegal"),e.walrusNotAllowed=()=>ul("Diagnostic.walrusNotAllowed"),e.wildcardInFunction=()=>ul("Diagnostic.wildcardInFunction"),e.wildcardLibraryImport=()=>ul("Diagnostic.wildcardLibraryImport"),e.yieldFromIllegal=()=>ul("Diagnostic.yieldFromIllegal"),e.yieldFromOutsideAsync=()=>ul("Diagnostic.yieldFromOutsideAsync"),e.yieldOutsideFunction=()=>ul("Diagnostic.yieldOutsideFunction"),e.yieldTypeMismatch=()=>new rl(ul("Diagnostic.yieldTypeMismatch")),e.yieldWithinListCompr=()=>ul("Diagnostic.yieldWithinListCompr"),e.zeroCaseStatementsFound=()=>ul("Diagnostic.zeroCaseStatementsFound"),e.zeroLengthTupleNotAllowed=()=>ul("Diagnostic.zeroLengthTupleNotAllowed")}(t=e.Diagnostic||(e.Diagnostic={})),function(e){e.argParam=()=>new rl(ul("DiagnosticAddendum.argParam")),e.argParamFunction=()=>new rl(ul("DiagnosticAddendum.argParamFunction")),e.argsParamMissing=()=>new rl(ul("DiagnosticAddendum.argsParamMissing")),e.argsPositionOnly=()=>new rl(ul("DiagnosticAddendum.argsPositionOnly")),e.argumentType=()=>new rl(ul("DiagnosticAddendum.argumentType")),e.argumentTypes=()=>new rl(ul("DiagnosticAddendum.argumentTypes")),e.assignToNone=()=>ul("DiagnosticAddendum.assignToNone"),e.asyncHelp=()=>ul("DiagnosticAddendum.asyncHelp"),e.baseClassProvidesType=()=>new rl(ul("DiagnosticAddendum.baseClassProvidesType")),e.dataClassFrozen=()=>new rl(ul("DiagnosticAddendum.dataClassFrozen")),e.dataClassFieldLocation=()=>ul("DiagnosticAddendum.dataClassFieldLocation"),e.finalMethod=()=>ul("DiagnosticAddendum.finalMethod"),e.functionParamDefaultMissing=()=>new rl(ul("DiagnosticAddendum.functionParamDefaultMissing")),e.functionParamName=()=>new rl(ul("DiagnosticAddendum.functionParamName")),e.functionReturnTypeMismatch=()=>new rl(ul("DiagnosticAddendum.functionReturnTypeMismatch")),e.functionTooFewParams=()=>new rl(ul("DiagnosticAddendum.functionTooFewParams")),e.incompatibleGetter=()=>ul("DiagnosticAddendum.incompatibleGetter"),e.incompatibleSetter=()=>ul("DiagnosticAddendum.incompatibleSetter"),e.incompatibleDeleter=()=>ul("DiagnosticAddendum.incompatibleDeleter"),e.initMethodLocation=()=>new rl(ul("DiagnosticAddendum.initMethodLocation")),e.initMethodSignature=()=>new rl(ul("DiagnosticAddendum.initMethodSignature")),e.functionTooManyParams=()=>new rl(ul("DiagnosticAddendum.functionTooManyParams")),e.keyNotRequired=()=>new rl(ul("DiagnosticAddendum.keyNotRequired")),e.keyRequiredDeleted=()=>new rl(ul("DiagnosticAddendum.keyRequiredDeleted")),e.keyUndefined=()=>new rl(ul("DiagnosticAddendum.keyUndefined")),e.kwargsParamMissing=()=>new rl(ul("DiagnosticAddendum.kwargsParamMissing")),e.listAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.listAssignmentMismatch")),e.literalAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.literalAssignmentMismatch")),e.matchIsNotExhaustiveType=()=>new rl(ul("DiagnosticAddendum.matchIsNotExhaustiveType")),e.matchIsNotExhaustiveHint=()=>ul("DiagnosticAddendum.matchIsNotExhaustiveHint"),e.memberAssignment=()=>new rl(ul("DiagnosticAddendum.memberAssignment")),e.memberIsAbstract=()=>new rl(ul("DiagnosticAddendum.memberIsAbstract")),e.memberIsAbstractMore=()=>new rl(ul("DiagnosticAddendum.memberIsAbstractMore")),e.memberIsFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsFinalInProtocol")),e.memberIsInitVar=()=>new rl(ul("DiagnosticAddendum.memberIsInitVar")),e.memberIsNotFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsNotFinalInProtocol")),e.memberSetClassVar=()=>new rl(ul("DiagnosticAddendum.memberSetClassVar")),e.memberTypeMismatch=()=>new rl(ul("DiagnosticAddendum.memberTypeMismatch")),e.memberUnknown=()=>new rl(ul("DiagnosticAddendum.memberUnknown")),e.missingProtocolMember=()=>new rl(ul("DiagnosticAddendum.missingProtocolMember")),e.missingGetter=()=>ul("DiagnosticAddendum.missingGetter"),e.missingSetter=()=>ul("DiagnosticAddendum.missingSetter"),e.missingDeleter=()=>ul("DiagnosticAddendum.missingDeleter"),e.namedParamMissingInDest=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInDest")),e.namedParamMissingInSource=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInSource")),e.namedParamTypeMismatch=()=>new rl(ul("DiagnosticAddendum.namedParamTypeMismatch")),e.newMethodLocation=()=>new rl(ul("DiagnosticAddendum.newMethodLocation")),e.newMethodSignature=()=>new rl(ul("DiagnosticAddendum.newMethodSignature")),e.noOverloadAssignable=()=>new rl(ul("DiagnosticAddendum.noOverloadAssignable")),e.orPatternMissingName=()=>new rl(ul("DiagnosticAddendum.orPatternMissingName")),e.overloadMethod=()=>ul("DiagnosticAddendum.overloadMethod"),e.overloadNotAssignable=()=>new rl(ul("DiagnosticAddendum.overloadNotAssignable")),e.overloadWithImplementation=()=>ul("DiagnosticAddendum.overloadWithImplementation"),e.overriddenMethod=()=>ul("DiagnosticAddendum.overriddenMethod"),e.overriddenSymbol=()=>ul("DiagnosticAddendum.overriddenSymbol"),e.overrideParamCount=()=>new rl(ul("DiagnosticAddendum.overrideParamCount")),e.overrideParamName=()=>new rl(ul("DiagnosticAddendum.overrideParamName")),e.overrideParamNamePositionOnly=()=>new rl(ul("DiagnosticAddendum.overrideParamNamePositionOnly")),e.overrideParamType=()=>new rl(ul("DiagnosticAddendum.overrideParamType")),e.overrideReturnType=()=>new rl(ul("DiagnosticAddendum.overrideReturnType")),e.overrideType=()=>new rl(ul("DiagnosticAddendum.overrideType")),e.paramAssignment=()=>new rl(ul("DiagnosticAddendum.paramAssignment")),e.paramSpecOverload=()=>ul("DiagnosticAddendum.paramSpecOverload"),e.paramType=()=>new rl(ul("DiagnosticAddendum.paramType")),e.privateImportFromPyTypedSource=()=>new rl(ul("DiagnosticAddendum.privateImportFromPyTypedSource")),e.propertyAccessFromProtocolClass=()=>ul("DiagnosticAddendum.propertyAccessFromProtocolClass"),e.propertyMethodIncompatible=()=>new rl(ul("DiagnosticAddendum.propertyMethodIncompatible")),e.propertyMethodMissing=()=>new rl(ul("DiagnosticAddendum.propertyMethodMissing")),e.propertyMissingDeleter=()=>new rl(ul("DiagnosticAddendum.propertyMissingDeleter")),e.propertyMissingSetter=()=>new rl(ul("DiagnosticAddendum.propertyMissingSetter")),e.protocolMemberClassVar=()=>new rl(ul("DiagnosticAddendum.protocolMemberClassVar")),e.protocolIncompatible=()=>new rl(ul("DiagnosticAddendum.protocolIncompatible")),e.protocolMemberMissing=()=>new rl(ul("DiagnosticAddendum.protocolMemberMissing")),e.protocolSourceIsNotConcrete=()=>new rl(ul("DiagnosticAddendum.protocolSourceIsNotConcrete")),e.readOnlyAttribute=()=>new rl(ul("DiagnosticAddendum.readOnlyAttribute")),e.seeDeclaration=()=>ul("DiagnosticAddendum.seeDeclaration"),e.seeClassDeclaration=()=>ul("DiagnosticAddendum.seeClassDeclaration"),e.seeFunctionDeclaration=()=>ul("DiagnosticAddendum.seeFunctionDeclaration"),e.seeMethodDeclaration=()=>ul("DiagnosticAddendum.seeMethodDeclaration"),e.seeParameterDeclaration=()=>ul("DiagnosticAddendum.seeParameterDeclaration"),e.seeVariableDeclaration=()=>ul("DiagnosticAddendum.seeVariableDeclaration"),e.tupleEntryTypeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleEntryTypeMismatch")),e.tupleAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.tupleAssignmentMismatch")),e.tupleSizeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatch")),e.tupleSizeMismatchIndeterminate=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatchIndeterminate")),e.typeAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.typeAssignmentMismatch")),e.typeBound=()=>new rl(ul("DiagnosticAddendum.typeBound")),e.typeConstrainedTypeVar=()=>new rl(ul("DiagnosticAddendum.typeConstrainedTypeVar")),e.typedDictFieldMissing=()=>new rl(ul("DiagnosticAddendum.typedDictFieldMissing")),e.typedDictFieldNotRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldNotRequired")),e.typedDictFieldRedefinition=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRedefinition")),e.typedDictFieldRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRequired")),e.typedDictFieldTypeMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFieldTypeMismatch")),e.typedDictFieldUndefined=()=>new rl(ul("DiagnosticAddendum.typedDictFieldUndefined")),e.typedDictFinalMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFinalMismatch")),e.typeIncompatible=()=>new rl(ul("DiagnosticAddendum.typeIncompatible")),e.typeNotCallable=()=>new rl(ul("DiagnosticAddendum.typeNotCallable")),e.typeNotClass=()=>new rl(ul("DiagnosticAddendum.typeNotClass")),e.typeParamSpec=()=>new rl(ul("DiagnosticAddendum.typeParamSpec")),e.typeNotStringLiteral=()=>new rl(ul("DiagnosticAddendum.typeNotStringLiteral")),e.typeOfSymbol=()=>new rl(ul("DiagnosticAddendum.typeOfSymbol")),e.typeUnsupported=()=>new rl(ul("DiagnosticAddendum.typeUnsupported")),e.typeVarIsContravariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsContravariant")),e.typeVarIsCovariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsCovariant")),e.typeVarIsInvariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsInvariant")),e.typeVarTupleRequiresKnownLength=()=>ul("DiagnosticAddendum.typeVarTupleRequiresKnownLength"),e.typeVarNotAllowed=()=>ul("DiagnosticAddendum.typeVarNotAllowed"),e.typeVarsMissing=()=>new rl(ul("DiagnosticAddendum.typeVarsMissing")),e.unreachableExcept=()=>new rl(ul("DiagnosticAddendum.unreachableExcept")),e.useDictInstead=()=>ul("DiagnosticAddendum.useDictInstead"),e.useListInstead=()=>ul("DiagnosticAddendum.useListInstead"),e.useTupleInstead=()=>ul("DiagnosticAddendum.useTupleInstead"),e.useTypeInstead=()=>ul("DiagnosticAddendum.useTypeInstead")}(n=e.DiagnosticAddendum||(e.DiagnosticAddendum={})),function(e){e.addOptionalToAnnotation=()=>ul("CodeAction.addOptionalToAnnotation"),e.createTypeStub=()=>ul("CodeAction.createTypeStub"),e.createTypeStubFor=()=>new rl(ul("CodeAction.createTypeStubFor")),e.executingCommand=()=>ul("CodeAction.executingCommand"),e.filesToAnalyzeOne=()=>ul("CodeAction.filesToAnalyzeOne"),e.filesToAnalyzeCount=()=>new rl(ul("CodeAction.filesToAnalyzeCount")),e.findingReferences=()=>ul("CodeAction.findingReferences"),e.organizeImports=()=>ul("CodeAction.organizeImports")}(i=e.CodeAction||(e.CodeAction={})),function(e){e.moveFile=()=>new rl(ul("Refactoring.moveFile")),e.moveFileLabel=()=>new rl(ul("Refactoring.moveFileLabel")),e.moveFileDescription=()=>new rl(ul("Refactoring.moveFileDescription"))}(r=e.Refactoring||(e.Refactoring={}))}(ml||(ml={}));const Dl=/'/g,Al=/\\"/g;function Pl(e,t,n,i=[]){const r=0!=(16&t),s=0!=(128&t);if(t&=-145,e.typeAliasInfo){let r=!0;if((0==(32&t)||i.find((t=>t===e)))&&(r=!1),!r)try{i.push(e);let r=e.typeAliasInfo.name;const s=e.typeAliasInfo.typeParameters;if(s){let o;e.typeAliasInfo.typeArguments?(0==(2&t)||e.typeAliasInfo.typeArguments.some((e=>!ho(e))))&&(o=[],e.typeAliasInfo.typeArguments.forEach(((e,r)=>{Io(r{o.push(Pl(e.type,t,n,i))})):o.push(Pl(e,t,n,i))}))):(0==(2&t)||s.some((e=>!ho(e))))&&(o=[],s.forEach((e=>{o.push(Pl(e,t,n,i))}))),o&&(0===o.length?r+="[()]":r+=`[${o.join(", ")}]`)}if(10!==e.category)return r}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>Gs)return bo(e)&&e.details.isSynthesized&&e.details.recursiveTypeAliasName?e.details.recursiveTypeAliasName:e.typeAliasInfo?e.typeAliasInfo.name:"...";try{i.push(e);const o=0==(64&t),a=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:return Ks.isInstance(e)?void 0!==e.literalValue?`Literal[${Rl(e)}]`:`${Fl(e,t,n,i)}${a(e)}`:void 0!==e.literalValue?`Type[Literal[${Rl(e)}]]${a(e)}`:`Type[${Fl(e,t,n,i)}]${a(e)}`;case 5:{const r=Nl(e,t,n,i),o=`(${r[0].join(", ")})`;if(Xs.isParamSpecValue(e))return o;const a=`${o} -> ${r[1]}`;return s?`(${a})`:a}case 6:return`Overload[${e.overloads.map((e=>Pl(e,t,n,i))).join(", ")}]`;case 9:{const s=new Set,o=new Set,a=8&t?128|t:t;if(0==(32&t)&&e.typeAliasSources)for(const t of e.typeAliasSources){let r=!0,l=!0;const c=new Set;for(const n of t.subtypes){let t=0,i=!1;for(const r of e.subtypes){if(Ao(n,r,void 0,!0)){s.has(t)||(l=!1),c.add(t),i=!0;break}t++}if(!i){r=!1;break}}r&&!l&&(o.add(Pl(t,a,n,i)),c.forEach((e=>s.add(e))))}const l=e.subtypes.findIndex((e=>lo(e)));if(l>=0&&!s.has(l)){const r=Fo(e);if(ao(r))return"None";const s=Pl(r,a,n,i);return 8&t?s+" | None":"Optional["+s+"]"}const c=new Set,u=new Set;Jo(e,((e,t)=>{s.has(t)||(vo(e)&&void 0!==e.literalValue?c.add(Rl(e)):_o(e)&&void 0!==e.literalValue?u.add(Rl(e)):o.add(Pl(e,a,n,i)))}));const p=[];if(o.forEach((e=>p.push(e))),c.size>0){const e=[];c.forEach((t=>e.push(t))),p.push(`Literal[${e.join(", ")}]`)}if(u.size>0){const e=[];u.forEach((t=>e.push(t))),p.push(`Type[Literal[${e.join(", ")}]]`)}if(1===p.length)return p[0];if(8&t){const e=p.join(" | ");return r?`(${e})`:e}return`Union[${p.join(", ")}]`}case 10:{if(e.details.isSynthesized){if(e.details.recursiveTypeAliasName)return 0!=(32&t)&&e.details.boundType?Pl(Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType,t,n,i):e.details.recursiveTypeAliasName;if(e.details.isSynthesizedSelf&&e.details.boundType){let r=Pl(e.details.boundType,-33&t,n,i);return ho(e.details.boundType)||(r=`Self@${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}return 0!=(1&t)?"Any":"Unknown"}if(e.details.isParamSpec)return e.paramSpecAccess?`${e.details.name}.${e.paramSpecAccess}`:`${oo.getReadableName(e)}`;let r=oo.getReadableName(e);return e.isVariadicUnpacked&&(r=`*${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}case 3:return`${Ks.isInstantiable(e)?"Type[None]":"None"}${a(e)}`;case 4:return e.isNoReturn?"NoReturn":"Never";case 2:return e.isEllipsis?"...":"Any"}return""}finally{i.pop()}}function Rl(e,t="'"){const n=e.literalValue;if(void 0===n)return"";let i;if("string"==typeof n){const r="bytes"===e.details.name?"b":"";i=JSON.stringify(n).toString(),'"'!==t&&(i=`'${i.substring(1,i.length-1).replace(Al,'"').replace(Dl,"\\'")}'`),r&&(i=`${r}${i}`)}else"boolean"==typeof n?i=n?"True":"False":n instanceof Hs?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 Fl(e,t,n,i=[]){var r,s;let o=e.aliasName||e.details.name;if(!Zs.isPseudoGenericClass(e)){const a=Zs.getTypeParameters(e),l=a.length>0?a[a.length-1]:void 0,c=!!l&&l.details.isVariadic,u=null!==(r=e.tupleTypeArguments)&&void 0!==r?r:null===(s=e.typeArguments)||void 0===s?void 0:s.map((e=>({type:e,isUnbounded:!1})));if(u)if(u.length>0){const r=[];let s=!0;u.forEach(((e,o)=>{const l=o{ho(e.type)||(s=!1);const r=Pl(e.type,t,n,i);return e.isUnbounded?`*tuple[${r}, ...]`:r})));else{ho(e.type)||(s=!1);const o=Pl(e.type,t,n,i);e.isUnbounded?1===u.length?r.push(o,"..."):r.push(`*tuple[${o}, ...]`):r.push(o)}})),e.isUnpacked&&(o="*"+o),0!=(2&t)&&s||(o+="["+r.join(", ")+"]")}else(Zs.isTupleClass(e)||c)&&(o+="[()]");else a.length>0&&(0==(2&t)||a.some((e=>!ho(e))))&&(o+="["+a.map((e=>Pl(e,t,n,i))).join(", ")+"]")}return o}function Nl(e,t,n,i=[]){const r=[];let s=!1;e.details.parameters.forEach(((o,a)=>{if(a===e.details.parameters.length-1&&1===o.category&&Io(o.type)){const s=Xs.getEffectiveParameterType(e,a);if(vo(s)&&Zs.isBuiltIn(s,"tuple")&&s.tupleTypeArguments)return void s.tupleTypeArguments.forEach((e=>{const s=Pl(e.type,t,n,i);r.push(s)}))}let l="";1===o.category?o.name&&o.isNameSynthesized||(l+="*"):2===o.category&&(l+="**"),o.name&&!o.isNameSynthesized&&(l+=o.name,s=!0);let c="=",u=!1;if(o.name)if(o.hasDeclaredType||o.isTypeInferred){const r=Xs.getEffectiveParameterType(e,a),s=i.length{const i=t.resolveAliasDeclaration(e,n);if(i&&(o.push(i),r&&el(i.path))){const e=r.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){zt(e)||super.walk(e)}visitName(e){if(ct(this._cancellationToken),e.value!==this._symbolName)return!1;if(this._declarations.length>0){const t=Ml._getDeclarationsForNode(e,this._evaluator);t&&t.length>0&&t.some((e=>this._resultsContainsDeclaration(e)))&&this._addResult(e)}else this._addResult(e);return!1}visitString(e){return ct(this._cancellationToken),this._dunderAllNameNodes.has(e)&&this._addResult(e),!1}_addResult(e){const t=38===e.nodeType?e:function(e){return function(e){const t=e.quoteMarkLength,n=!(65536&e.flags);return dt.create(e.start+t,e.length-t-(n?t:0))}(e.token)}(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=>is(e,t,this._treatModuleInImportAndFromImportSame))))return!0;const n=this._getResolveAliasDeclaration(t);return!(!n||n===t)&&this._declarations.some((e=>is(e,n,this._treatModuleInImportAndFromImportSame)))}_getResolveAliasDeclaration(e){if(n(e))return ls([e])[0];const t=this._evaluator.resolveAliasDeclaration(e,!0);return n(t)?ls([t])[0]:t;function n(e){return!!e&&6===e.type&&e.node&&e.usesLocalName&&21===e.node.nodeType}}_setDunderAllNodes(e){if(36!==e.nodeType)return;const t=Wt(e);if(!t)return;const n=zs(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(is(n,t))return;e.push(t)}static _getDeclarationsForNode(e,t){var n,i,r,s,o,a;if(37!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)){let n=t.getDeclarationsForNameNode(e)||[];if(23===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&(n=n.filter((t=>t.node===e.parent))),0===n.length){const n=t.getType(e);if(8===(null==n?void 0:n.category))return[cs(n.filePath)]}for(const e of n.filter((e=>Gn(e)&&!e.loadSymbolsFromPath))){const i=e.node;23!==i.nodeType&&n.push(...t.getDeclarationsForNameNode(i.module.nameParts[0])||[])}return n}const l=e.parent;if(21===(null===(r=l.parent)||void 0===r?void 0:r.nodeType)||22===(null===(s=l.parent)||void 0===s?void 0:s.nodeType)){const n=l.nameParts.findIndex((t=>t===e));if(0===n){let n=[];const i=1===l.nameParts.length&&21===l.parent.nodeType&&!!l.parent.alias,r=i?l.parent.alias.value:l.nameParts[0].value,s=null===(o=zs(e))||void 0===o?void 0:o.lookUpSymbolRecursive(r);return s&&1===l.nameParts.length&&(n.push(...s.symbol.getDeclarations().filter((e=>Gn(e)))),n.length>1&&(n=n.filter((e=>void 0!==(e=e).firstNamePart?e.firstNamePart===l.nameParts[0].value:e.node===l.parent))),i&&(n=ls(n))),n.push(...(null===(a=t.getDeclarationsForNameNode(l.nameParts[0]))||void 0===a?void 0:a.filter((e=>Gn(e))))||[]),n}return n>0&&t.getDeclarationsForNameNode(l.nameParts[n])||[]}return[]}}function Ol(e,t,n=70){let i="";const r=e.overloads.filter((e=>Xs.isOverloaded(e))).map((e=>e.details.name+t.printType(e,!1)));for(let e=0;en&&r[e-1].length<=n&&(i+="\n"),i+=r[e],en&&(i+="\n"));return i}function Ll(e,t,n){const i=e.details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i){let r;if(!Tl(e,i)&&t&&jn(t)&&(r=function(e,t,n){if(!Eo(e))return;let i=e.details.docString;return!i&&t&&(i=El(t,n)),!i&&e.details.declaration&&(i=El(e.details.declaration,n)),i}(e,t,n)),!r&&i){const t=Ta(i,e.details.name,29);for(const e of t)if(e.symbol.getDeclarations().length>0){const t=e.symbol.getDeclarations().slice(-1)[0];if(jn(t)&&(r=El(t,n),r))break}}return r||e.details.docString}(e,i,t,null==s?void 0:s.classType)}function Ul(e,t,n){if(0===e.overloads.length)return[];const i=e.overloads[0].details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i,r){let s;if(!Tl(e,r))for(const i of t)if(s=wl(e,i,n),s&&s.length>0)return s;if(r&&e.overloads.length>0){const t=Ta(r,e.overloads[0].details.name,29);for(const e of t){const t=e.symbol.getDeclarations().slice(-1)[0],r=i.getTypeForDeclaration(t);if(r&&(s=wl(r,t,n),s&&s.length>0))break}}return null!=s?s:[]}(e,e.overloads.map((e=>e.details.declaration)).filter(a),t,n,null==s?void 0:s.classType)}function ql(e,t,n,i){if(1===(null==n?void 0:n.type)&&n.typeAliasName&&n.docString)return[n.docString];if(To(t)){const i=Il(t,n,e);if(i)return[i]}else if(_o(t)){const i=Sl(t,n,e);if(i)return[i]}else if(Eo(t)){const n=Ll(t,e,i);if(n)return[n]}else{if(ko(t))return Ul(t,e,i);if(1===(null==n?void 0:n.type)){const t=Cl(n,e);if(t)return[t]}else if(3===(null==n?void 0:n.type)){const t=bl(n,e,i);if(t)return[t]}}return[]}var Vl,Bl;!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","while","with"],n=[...t,"async","await"],i=[...n,"case","match"];e.forVersion=function(e){return e>=De.V3_10?i:e>=De.V3_5?n:t}}(Vl||(Vl={})),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"}(Bl||(Bl={}));const Wl="Dictionary key";class jl{constructor(e,t,n,i,r,s,o,a,l,c,u,p,d){this._workspacePath=e,this._parseResults=t,this._fileContents=n,this._importResolver=i,this._position=r,this._filePath=s,this._configOptions=o,this._importLookup=a,this._evaluator=l,this._options=c,this._sourceMapper=u,this._autoImportMaps=p,this._cancellationToken=d,this._insideStringLiteral=!1,this._execEnv=this._configOptions.findExecEnvironment(this._filePath)}getCompletionsForPosition(){var e,t;const n=xt(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===n)return;const i=function(e,t){const n=e.getItemAtPosition(t);if(n<0)return;const i=e.getItemAt(n);return dt.overlaps(i,t)?i:void 0}(this._parseResults.tokenizerOutput.tokens,n);5===(null==i?void 0:i.type)&&(this._insideStringLiteral=!!dt.contains(i,n)||!!(65536&i.flags));let r=Tr(this._parseResults.parseTree,n);const s=r,o=r?vr(r):0;if(!s||38!==s.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=Tr(this._parseResults.parseTree,t);if(a&&a!==s){vr(a)>o&&(r=a,i&&23===(null===(e=r.parent)||void 0===e?void 0:e.nodeType)&&(r=r.parent));break}}}if(void 0===r)return;const a=this._parseResults.tokenizerOutput.lines.getItemAt(this._position.line),l=this._fileContents.substr(a.start,a.length),c=l.substr(0,this._position.character),u=l.substr(this._position.character),p=c.search(/\w+$/),d=p>=0?c.substr(p):"";if(this._isWithinComment(n))return;let h=r;for(;h&&0!==h.nodeType;)h=h.parent;let m=h||r;for(;;){if(ct(this._cancellationToken),49===m.nodeType)return this._getLiteralCompletions(m,d,c,u);if(48===m.nodeType||27===m.nodeType)return;if(37===m.nodeType)return this._getImportModuleCompletions(m);if(0===m.nodeType)return this._getExpressionErrorCompletions(m,d,c,u);if(35===m.nodeType)return this._getMemberAccessCompletions(m.leftExpression,d);if(15===m.nodeType){const e=new $l;if(this._addTypedDictKeys(m,void 0,c,u,e))return{completionMap:e}}const e=es(m,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(r>0&&(jl._mostRecentCompletions=jl._mostRecentCompletions.splice(r,1)),0!==r&&jl._mostRecentCompletions.unshift({label:n,autoImportText:i}),jl._mostRecentCompletions.length>128&&jl._mostRecentCompletions.pop(),t.symbolLabel)if(this._itemToResolve=e,t.autoImportText){if(!e.additionalTextEdits){const e={completionMap:new $l};this._addAutoImportCompletions(t.symbolLabel,1,!1,e)}}else this.getCompletionsForPosition()}_tryGetNameCompletions(e,t,n){var i;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&&dt.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&&dt.contains(e.parent.targetExpression,e.start)||33===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)))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:(w(n+1dt.overlaps(t,e))))&&void 0!==n&&n}_getExpressionErrorCompletions(e,t,n,i){var r;switch(e.category){case 0:return this._createSingleKeywordCompletion("in");case 1:return this._createSingleKeywordCompletion("else");case 2:case 4:return this._getExpressionCompletions(e,t,n,i);case 3:{let r=this._getLiteralCompletions(e,t,n,i);return r&&r.completionMap||(r=this._getExpressionCompletions(e,t,n,i)),r}case 7:if(e.child&&yr(e.child))return this._getMemberAccessCompletions(e.child,t);break;case 10:if(e.child&&38===e.child.nodeType)return(null===(r=e.decorators)||void 0===r?void 0:r.some((e=>this._isOverload(e))))?this._getMethodOverloadsCompletions(t,e.child):this._getMethodOverrideCompletions(t,e.child,e.decorators)}}_isOverload(e){return this._checkDecorator(e,"overload")}_checkDecorator(e,t){return 38===e.expression.nodeType&&e.expression.value===t}_createSingleKeywordCompletion(e){const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.LikelyKeyword,e);const n=new $l;return n.set(t),{completionMap:n}}_getMethodOverloadsCompletions(e,t){var n;const i=function(e,t){const n=Er(t,!1);if(n){const t=e.getTypeOfClass(n);if(!t)return;const i=new Map;for(const e of t.classType.details.mro)_o(e)&&Ma(e,i,!1);return i}const i=function(e){let t=e.parent;for(;t;){if(36===t.nodeType)return t;t=t.parent}E("Module node not found")}(t);if(i){const e=Ft(i);return null==e?void 0:e.symbolTable}}(this._evaluator,t);if(!i)return;const r=28===(null===(n=t.parent)||void 0===n?void 0:n.nodeType)||void 0,s=new $l,o=kr(t);return i.forEach(((n,i)=>{const a=Vo(n);if(!a||3!==a.type)return;if(!a.node.decorators.some((e=>this._isOverload(e))))return;const l=n.getDeclarations();if((1!==l.length||!l.some((e=>e.node===o)))&&N(t.value,i)){const o=this._createReplaceEdits(e,t,a.node.name.value);this._addSymbol(i,n,t.value,s,{funcParensDisabled:r,edits:{textEdit:o}})}})),{completionMap:s}}_getMethodOverrideCompletions(e,t,n){var i,r;const s=Er(t,!0);if(!s)return;const o=this._evaluator.getTypeOfClass(s);if(!o)return;const a=new Map;for(let e=1;ethis._checkDecorator(e,"staticmethod"))))&&void 0!==i&&i,c=null!==(r=null==n?void 0:n.some((e=>this._checkDecorator(e,"classmethod"))))&&void 0!==r&&r,u=new $l;return a.forEach(((n,i)=>{let r=Vo(n);if(r&&3===r.type&&N(t.value,i)){const s=this._evaluator.getTypeForDeclaration(r);if(!s)return;let a=vo(s)&&Zs.isPropertyClass(s);if(Qt(i)&&(a=!1),!Eo(s)&&!a)return;if(a){const e=n.getTypedDeclarations();e.length>0&&3===e[0].type&&(r=e[0])}const p=Eo(s)&&Xs.isStaticMethod(s),d=Eo(s)&&Xs.isClassMethod(s)&&"__init_subclass__"!==i;if(l!==p||c!==d)return;const h=this._printMethodSignature(o.classType,r);let m;m=el(this._filePath)?`${h}: ...`:`${h}:\n${this._printOverriddenMethodBody(o.classType,p,a,r)}`;const f=this._createReplaceEdits(e,t,m);this._addSymbol(i,n,t.value,u,{funcParensDisabled:!0,edits:{format:this._options.snippet?ot.InsertTextFormat.Snippet:void 0,textEdit:f}})}})),{completionMap:u}}_createReplaceEdits(e,t,n){const i=38===(null==t?void 0:t.nodeType)?this._position.character-e.length+t.value.length:this._position.character,r={start:{line:this._position.line,character:this._position.character-e.length},end:{line:this._position.line,character:i}};return ot.TextEdit.replace(r,n)}_printMethodSignature(e,t){const n=t.node;let i;el(this._filePath)?i=!0:e.details.moduleName===t.moduleName&&(i=!1);const r=el(this._filePath)?1:void 0,s=n.parameters.map(((e,t)=>{let s="";1===e.category?s+="*":2===e.category&&(s+="**"),e.name&&(s+=e.name.value);const o=this._evaluator.getTypeAnnotationForParameter(n,t);return o&&(s+=": "+xr(o,r)),e.defaultValue&&(s+=o?" = ":"=",s+=(null!=i?i:!a(e.defaultValue))?"...":xr(e.defaultValue,r)),s||e.name||0!==e.category?s:"/"})).join(", ");let o=n.name.value+"("+s+")";return n.returnTypeAnnotation?o+=" -> "+xr(n.returnTypeAnnotation,r):n.functionAnnotationComment&&(o+=" -> "+xr(n.functionAnnotationComment.returnTypeAnnotation,r)),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 r=" ";if(1===e.details.baseClasses.length&&yo(e.details.baseClasses[0])&&"builtins.object"===e.details.baseClasses[0].details.fullName)return r+=this._options.snippet?"${0:pass}":"pass",r;if(0===i.node.parameters.length)return r+=this._options.snippet?"${0:pass}":"pass",r;const s=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&&(r+="return "),i.node.isAsync&&(r+="await "),n?r+`super().${i.node.name.value}`:r+`super().${i.node.name.value}(${s.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 $l;let r={},s=this._evaluator.getType(e);return s&&(s=this._evaluator.makeTopLevelTypeVarsConcrete(s),Jo(s,(r=>{if(yo(r=this._evaluator.makeTopLevelTypeVarsConcrete(r)))Ma(r,n,Ks.isInstance(r));else if(To(r))!function(e,t){e.loaderFields&&e.loaderFields.forEach(((e,n)=>{t.set(n,e)})),e.fields.forEach(((e,n)=>{t.set(n,e)}))}(r,n);else if(Eo(r)||ko(r)){const t=this._evaluator.getBuiltInType(e,"function");t&&_o(t)&&Ma(t,n,!0)}else if(lo(r)){const t=this._evaluator.getBuiltInType(e,"object");t&&_o(t)&&Ma(t,n,Ks.isInstance(r))}this._addSymbolsForSymbolTable(n,(()=>!0),t,!1,yo(r)?r:void 0,i)}))),(!s||po(s)||mo(s))&&(r=this._getLastKnownModule(e,s)),{completionMap:i,memberAccessInfo:r}}_getLastKnownModule(e,t){var n;let i=e,r=t,s=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===s&&(s=35===i.nodeType&&null!==(n=null==i?void 0:i.memberName.value)&&void 0!==n?n:"")):i=void 0,!i||(r=this._evaluator.getType(i),void 0===r||po(r)||mo(r))););const o={};if(r&&!po(r)&&!mo(r)&&i){const e=Ga(r);o.lastKnownModule=e.find((e=>"typing"!==e)),35===i.nodeType?o.lastKnownMemberName=i.memberName.value:(38===i.nodeType&&_o(r)||38===i.nodeType&&vo(r))&&(o.lastKnownMemberName=r.details.name),o.unknownMemberName=s}return o}_getStatementCompletions(e,t,n,i){return this._getExpressionCompletions(e,t,n,i)}_getExpressionCompletions(e,t,n,i){var r,s,o,a;const l=this._isIndexArgument(e);if(!l&&40===e.nodeType)return;if(59===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)&&e.parent===(null===(s=e.parent.target)||void 0===s?void 0:s.parent))return;const c=new $l,u={completionMap:c};if(".."===n.slice(-2))return u;if(this._addCallArgumentCompletions(e,t,n,i,!1,c),this._addSymbols(e,t,c),this._findMatchingKeywords(Vl.forVersion(this._execEnv.pythonVersion),t).map((e=>{if(c.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),c.set(t)})),t.startsWith("_")||this._itemToResolve||this._addAutoImportCompletions(t,.25,this._options.lazyEdit,u),0===e.nodeType)if(3===e.category&&24===(null===(o=e.parent)||void 0===o?void 0:o.nodeType))this._tryAddTypedDictStringLiteral(e.parent,void 0,void 0,c);else if(2===e.category&&e.parent&&3===e.parent.nodeType){const r=null===(a=this._evaluator.getExpectedType(e))||void 0===a?void 0:a.type;r&&this._addLiteralValuesForTargetType(r,n,t,i,c)}if(l){const n=e.parent.parent;this._getIndexerKeys(n,e).forEach((e=>{c.has(e)||this._addNameToCompletions(e,ot.CompletionItemKind.Constant,t,c,{sortText:this._makeSortText(Bl.LiteralValue,e),itemDetail:Wl})}))}return u}_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,r,s){const o=zr(e,xt(this._position,this._parseResults.tokenizerOutput.lines),this._parseResults.tokenizerOutput.tokens);if(!o)return;const a=this._evaluator.getCallSignatureInfo(o.callNode,o.activeIndex,o.activeOrFake);if(a){const e=It(a.callNode.leftExpression.start+a.callNode.leftExpression.length,this._parseResults.tokenizerOutput.lines);gt(this._position,e)>0&&(r||this._addNamedParameters(a,t,s),this._addLiteralValuesForArgument(a,n,t,i,s))}}_addLiteralValuesForArgument(e,t,n,i,r){e.signatures.forEach((e=>{if(!e.activeParam)return;const s=e.type,o=s.details.parameters.indexOf(e.activeParam);if(o<0)return;const a=s.details.parameters[o].type;this._addLiteralValuesForTargetType(a,t,n,i,r)}))}_addLiteralValuesForTargetType(e,t,n,i,r){const s=this._getQuoteValueFromPriorText(t);this._getSubTypesWithLiteralValues(e).forEach((e=>{if(Zs.isBuiltIn(e,"str")){const t=Rl(e,s.quoteCharacter);void 0===s.stringValue?this._addNameToCompletions(t,ot.CompletionItemKind.Constant,n,r,{sortText:this._makeSortText(Bl.LiteralValue,e.literalValue)}):this._addStringLiteralToCompletions(t.substr(1,t.length-2),s.stringValue,i,s.quoteCharacter,r)}}))}_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 Jo(e,(e=>{vo(e)&&ra(e)&&t.push(e)})),t}_getIndexerKeyType(e){var t;if((Zs.isBuiltIn(e,"dict")||Zs.isBuiltIn(e,"Mapping"))&&2===(null===(t=e.typeArguments)||void 0===t?void 0:t.length))return e.typeArguments[0];const n=_a(e,"__getitem__");if(null==n?void 0:n.symbol.hasDeclarations()){const e=n.symbol.getDeclarations()[0];if(jn(e)&&e.isMethod){const t=this._evaluator.getTypeForDeclaration(e);if(t&&Eo(t)&&2===t.details.parameters.length)return t.details.parameters[1].type}}}_getIndexerKeys(e,t){var n,i,r,s,o,a,l,c,u;if(38!==e.baseExpression.nodeType)return[];const p=this._evaluator.getType(e.baseExpression);if(!p||!vo(p))return[];const d=this._getIndexerKeyType(p);if(d){const e=[];if(this._getSubTypesWithLiteralValues(d).forEach((t=>{(Zs.isBuiltIn(t,"str")||Zs.isBuiltIn(t,"int")||Zs.isBuiltIn(t,"bool")||Zs.isBuiltIn(t,"bytes")||Zs.isEnumClass(t))&&e.push(Rl(t,this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter))})),e.length>0)return e}const h=null!==(n=this._evaluator.getDeclarationsForNameNode(e.baseExpression))&&void 0!==n?n:[],m=h.length>0?h[0]:void 0;if(!m||1!==m.type&&2!==m.type)return[];if(m.path!==this._filePath)return[];let f=e.baseExpression;if(m.node){const e=Ar(m.node);(null===(i=Gr(f))||void 0===i?void 0:i.filePath)===(null===(r=Gr(e))||void 0===r?void 0:r.filePath)&&(f=e)}const g=Ml.collectFromNode(e.baseExpression,this._evaluator,this._cancellationToken,f),y=new Set;for(const e of g){const n=54===(null===(s=e.node.parent)||void 0===s?void 0:s.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&&y.add(e)}}if(9===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression,t=this._evaluator.getType(e.leftExpression);if(!t||!_o(t)||!Zs.isBuiltIn(t,"dict"))continue;for(const t of e.arguments){const e=null!==(c=null===(l=t.name)||void 0===l?void 0:l.value.trim())&&void 0!==c?c:"",n=this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter;e.length>0&&y.add(`${n}${e}${n}`)}}}if(24===(null===(u=n.parent)||void 0===u?void 0:u.nodeType)&&1===n.parent.items.length&&0!==n.parent.items[0].valueExpression.nodeType&&!dt.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&&y.add(t)}}return[...y]}_getLiteralCompletions(e,t,n,i){var r,s,o;let a=e.parent;if(!a)return;const l=new $l;if(yr(a)){const o=this._evaluator.getExpectedType(a);if(o&&sa(o.type))return this._addLiteralValuesForTargetType(o.type,n,t,i,l),{completionMap:l};if(49===e.nodeType&&(null===(r=e.parent)||void 0===r?void 0:r.parent)){const t=e.parent.parent;let r;if(17===t.nodeType&&t.keyExpression===e.parent&&15===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)?r=t.parent:45===(null==t?void 0:t.nodeType)&&(r=t),r&&this._addTypedDictKeys(r,e,n,i,l))return{completionMap:l}}}if(1!==a.nodeType){if(48!==a.nodeType||a.strings.length>1)return;if(a=a.parent,!a)return}if(1===a.nodeType&&24===(null===(o=a.parent)||void 0===o?void 0:o.nodeType)){if(!this._tryAddTypedDictStringLiteral(a.parent,49===e.nodeType?n:"",i,l)){const r=this._getIndexerKeys(a.parent,e),s=this._getQuoteValueFromPriorText(n);for(const n of r){const r=/^["|'].*["|']$/.test(n);if(49!==e.nodeType||r)if(r){const e=n.substr(1,n.length-2);this._addStringLiteralToCompletions(e,s.stringValue,i,s.quoteCharacter,l,Wl)}else this._addNameToCompletions(n,ot.CompletionItemKind.Constant,t,l,{sortText:this._makeSortText(Bl.LiteralValue,n),itemDetail:Wl})}if(0===l.size)return}}else{w(49===e.nodeType);const r=xt(this._position,this._parseResults.tokenizerOutput.lines),s=a.start{vo(e)&&Zs.isTypedDictClass(e)&&a.push(e)})),0===a.length)return!1;const l=this._getDictExpressionStringKeys(e,t?new Set([null===(s=t.parent)||void 0===s?void 0:s.id]):void 0);a=this._tryNarrowTypedDicts(a,l);const c=this._getQuoteValueFromPriorText(n),u=new Set(l);return a.forEach((e=>{gl(this._evaluator,e,!0).forEach(((e,t)=>{u.has(t)||r.has(t)||(u.add(t),this._addStringLiteralToCompletions(t,c?c.stringValue:void 0,i,c?c.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,r))}))})),!0}_tryNarrowTypedDicts(e,t){const n=e.flatMap((e=>{const n=gl(this._evaluator,e,!0);for(let e=0;en)return{quoteCharacter:"'",stringValue:e.substr(t+1)};if(n>t)return{quoteCharacter:'"',stringValue:e.substr(n+1)}}return{stringValue:void 0,quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter}}_tryAddTypedDictStringLiteral(e,t,n,i){if(!e)return!1;const r=this._evaluator.getType(e.baseExpression);if(!r||!vo(r))return!1;if(!Zs.isTypedDictClass(r))return!1;const s=gl(this._evaluator,r,!0),o=t?this._getQuoteValueFromPriorText(t):void 0;return s.forEach(((e,t)=>{this._addStringLiteralToCompletions(t,o?o.stringValue:void 0,n,o?o.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,i)})),!0}_addStringLiteralToCompletions(e,t,n,i,r,s){if(N(t||"",e)){const o=`${i}${e}${i}`;if(r.has(o))return;const a=ot.CompletionItem.create(o);a.kind=ot.CompletionItemKind.Constant,a.sortText=this._makeSortText(Bl.LiteralValue,o);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 u={start:{line:this._position.line,character:l},end:{line:this._position.line,character:c}};a.textEdit=ot.TextEdit.replace(u,o),a.detail=s,r.set(a)}}_addAutoImportCompletions(e,t,n,i){var r,s,o;if(!i.completionMap||!this._configOptions.autoImportCompletions||!this._options.autoImport)return;const a=this._autoImportMaps.getModuleSymbolsMap(),l=new Hl(this._execEnv,this._importResolver,this._parseResults,this._position,i.completionMap,a,{libraryMap:this._autoImportMaps.libraryMap,lazyEdit:n}),c=[],u=null===(r=this._autoImportMaps.nameMap)||void 0===r?void 0:r.get(e);u&&e.length>1&&!i.completionMap.has(e)&&c.push(...l.getAutoImportCandidatesForAbbr(e,u,this._cancellationToken)),c.push(...l.getAutoImportCandidates(e,t,void 0,this._cancellationToken));const p=l.getPerfInfo(),d=new Pn;for(const t of c)t.symbol?this._addSymbol(t.name,t.symbol,e,i.completionMap,{autoImportSource:t.source,autoImportAlias:t.alias,edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}}):this._addNameToCompletions(null!==(s=t.alias)&&void 0!==s?s:t.name,null!==(o=t.kind)&&void 0!==o?o:ot.CompletionItemKind.Module,e,i.completionMap,{autoImportText:this._getAutoImportText(t.name,t.source,t.alias),edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}});i.autoImportInfo={indexUsed:p.indexUsed,totalTimeInMS:p.totalInMs,moduleTimeInMS:p.moduleTimeInMS,indexTimeInMS:p.indexTimeInMS,importAliasTimeInMS:p.importAliasTimeInMS,itemCount:c.length,symbolCount:p.symbolCount,indexCount:p.indexCount,importAliasCount:p.importAliasCount,additionTimeInMS:d.getDurationInMilliseconds()}}_getImportFromCompletions(e,t){if(e.isWildcardImport)return;const n=Rt(e.module);if(!n)return;const i=new $l,r=n.resolvedPaths.length>0?n.resolvedPaths[n.resolvedPaths.length-1]:"",s=this._importLookup(r);return s&&this._addSymbolsForSymbolTable(s.symbolTable,((t,n)=>t.getDeclarations().some((e=>!(0===e.type)))&&!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,ot.CompletionItemKind.Module,t,i)})),{completionMap:i}}_findMatchingKeywords(e,t){return e.filter((e=>!t||N(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(N(t,e)){const t=e+"=";if(n.has(t))return;const i=ot.CompletionItem.create(t);i.kind=ot.CompletionItemKind.Variable;const r={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};i.data=r,i.sortText=this._makeSortText(Bl.NamedParameter,e),n.set(i)}}))}_addNamedParametersToMap(e,t){e.details.parameters.forEach((e=>{e.name&&!e.isNameSynthesized&&(Yt(e.name)||t.set(e.name,e.name))}))}_addSymbols(e,t,n){let i=e;for(;i;){let e=zs(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&&_o(e.classType)&&e.classType.details.mro.forEach(((e,i)=>{_o(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,r,s){e.forEach(((e,o)=>{(!e.isExternallyHidden()||e.getDeclarations().some((e=>{return t=e,n=this._filePath,Gn(t)?(null===(i=Gr(t.node))||void 0===i?void 0:i.filePath)===n:t.path===n;var t,n,i})))&&t(e,o)&&(s.has(o)||this._addSymbol(o,e,n,s,{boundObjectOrClass:r,funcParensDisabled:i}))}))}_addSymbol(e,t,n,i,r){var s,o,a;if(t.isPrivatePyTypedImport())return;let l=Vo(t);if(!l){const e=t.getDeclarations();e.length>0&&(l=e[e.length-1])}if(l){let c=ot.CompletionItemKind.Variable;if(l=this._evaluator.resolveAliasDeclaration(l,!0),l&&(c=this._convertDeclarationTypeToItemKind(l),1===l.type&&r.boundObjectOrClass&&_o(r.boundObjectOrClass)&&Zs.isEnumClass(r.boundObjectOrClass)&&3===(null===(s=l.node.parent)||void 0===s?void 0:s.nodeType)&&(c=ot.CompletionItemKind.EnumMember),this._itemToResolve)){const n=this._itemToResolve.data;if(n.symbolLabel===e&&!n.autoImportText){const n=this._evaluator.getEffectiveTypeOfSymbol(t);if(n){let i,s,a;switch(l.type){case 0:case 1:case 2:{let t=!1;if(n&&Ks.isInstantiable(n)){const i=Do(n);i&&i.name===e&&(t=!0)}i=e+": "+this._evaluator.printType(n,t);break}case 3:{const t=r.boundObjectOrClass&&(Eo(n)||ko(n))?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;if(t)if(ua(t)&&r.boundObjectOrClass&&vo(r.boundObjectOrClass)){const n=this._evaluator.getGetterTypeFromProperty(t,!0)||Ys.create();i=e+": "+this._evaluator.printType(n,!1)+" (property)",s=r.boundObjectOrClass.details.fullName+"."+e+" (property)"}else ko(t)?(i=Ol(t,this._evaluator,35),s=zl(t.overloads[0])):(i=e+": "+this._evaluator.printType(t,!1),Eo(t)&&(s=zl(t)));break}case 4:case 5:i="class "+e+"()";break;case 6:if(i=e,l.path){const e=this._importLookup(l.path);e&&(a=e.docString)}break;default:i=e}if(1===l.type&&l.typeAliasName&&l.docString)a=l.docString;else if(To(n))a=Il(n,l,this._sourceMapper);else if(_o(n))a=Sl(n,l,this._sourceMapper);else if(Eo(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&Eo(e)&&(a=Ll(e,this._sourceMapper,this._evaluator))}else if(ko(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&ko(e)&&(a=Ul(e,this._sourceMapper,this._evaluator).find((e=>e)))}else 3===(null==l?void 0:l.type)?a=bl(l,this._sourceMapper,this._evaluator):1===(null==l?void 0:l.type)&&(a=Cl(null!==(o=t.getDeclarations().find((e=>1===e.type&&!!e.docString)))&&void 0!==o?o:l,this._sourceMapper));if(!s&&!a)return;if(this._options.format===ot.MarkupKind.Markdown){let e="";s&&(e+="```python\n"+s+"\n```\n"),s&&a&&(e+="---\n"),a&&(e+=ds(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.Markdown,value:e}}else if(this._options.format===ot.MarkupKind.PlainText){let e="";s&&(e+=s+"\n"),s&&a&&(e+="\n"),a&&(e+=hs(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.PlainText,value:e}}else E(`Unsupported markup type: ${this._options.format}`)}}}const u=r.autoImportSource?this._getAutoImportText(e,r.autoImportSource,r.autoImportAlias):void 0;this._addNameToCompletions(null!==(a=r.autoImportAlias)&&void 0!==a?a:e,c,n,i,{autoImportText:u,funcParensDisabled:r.funcParensDisabled,edits:r.edits})}else if(t.getSynthesizedType()){const t=ot.CompletionItemKind.Variable;this._addNameToCompletions(e,t,n,i,{funcParensDisabled:r.funcParensDisabled,edits:r.edits})}}_getAutoImportText(e,t,n){const i=function(e,t,n){let i;return i=t?`from ${t} import ${e}`:`import ${e}`,n&&(i=`${i} as ${n}`),i}(e,t,n);return this._options.format===ot.MarkupKind.Markdown?`\`\`\`\n${i}\n\`\`\``:this._options.format===ot.MarkupKind.PlainText?i:void E(`Unsupported markup type: ${this._options.format}`)}_addNameToCompletions(e,t,n,i,r){var s,o,a;if(!(null==r?void 0:r.autoImportText)&&!N(n,e))return;if(i.has(e,$l.matchKindAndImportText,t,null==r?void 0:r.autoImportText))return;const l=ot.CompletionItem.create(e);l.kind=t;const c={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};if((null==r?void 0:r.funcParensDisabled)&&(c.funcParensDisabled=!0),l.data=c,(null==r?void 0:r.sortText)||(null==r?void 0:r.itemDetail)?(l.sortText=r.sortText,l.detail=r.itemDetail):(null==r?void 0:r.autoImportText)?(l.sortText=this._makeSortText(Bl.AutoImport,e,r.autoImportText),c.autoImportText=r.autoImportText,l.detail="Auto-import"):t===ot.CompletionItemKind.EnumMember?l.sortText=this._makeSortText(Bl.EnumMember,e):Qt(e)?l.sortText=this._makeSortText(Bl.DunderSymbol,e):""===n&&Yt(e)?l.sortText=this._makeSortText(Bl.PrivateSymbol,e):l.sortText=this._makeSortText(Bl.NormalSymbol,e),c.symbolLabel=e,this._options.format===ot.MarkupKind.Markdown){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(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+=ds(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.Markdown,value:e})}else if(this._options.format===ot.MarkupKind.PlainText){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(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"+hs(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.PlainText,value:e})}else E(`Unsupported markup type: ${this._options.format}`);(null===(s=null==r?void 0:r.edits)||void 0===s?void 0:s.format)&&(l.insertTextFormat=r.edits.format),(null===(o=null==r?void 0:r.edits)||void 0===o?void 0:o.textEdit)&&(l.textEdit=r.edits.textEdit),(null===(a=null==r?void 0:r.edits)||void 0===a?void 0:a.additionalTextEdits)&&(l.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)&&this._itemToResolve.data.autoImportText===c.autoImportText&&(this._itemToResolve.additionalTextEdits=l.additionalTextEdits),i.set(l)}_getRecentListIndex(e,t){return jl._mostRecentCompletions.findIndex((n=>n.label===e&&n.autoImportText===t))}_makeSortText(e,t,n=""){const i=this._getRecentListIndex(t,n);return i>=0&&(e===Bl.AutoImport?e=Bl.RecentAutoImport:e===Bl.ImportModuleName?e=Bl.RecentImportModuleName:e!==Bl.Keyword&&e!==Bl.NormalSymbol&&e!==Bl.PrivateSymbol&&e!==Bl.DunderSymbol||(e=Bl.RecentKeywordOrSymbol)),this._formatInteger(e,2)+"."+this._formatInteger(i,4)+"."+t}_formatInteger(e,t){const n="0".charCodeAt(0);let i="";for(let r=0;re.value)),importedSymbols:[]},n=this._importResolver.getCompletionSuggestions(this._filePath,this._execEnv,t),i=new $l;if(!e.hasTrailingDot&&e.parent&&22===e.parent.nodeType&&e.parent.missingImportKeyword){const e="import",t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),i.set(t)}return n.forEach((e=>{if(i.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Module,t.sortText=this._makeSortText(Bl.ImportModuleName,e),i.set(t)})),{completionMap:i}}_isPossiblePropertyDeclaration(e){return e.isMethod&&e.node.decorators.length>0}}function zl(e){const t=e.details.parameters.filter(((e,t)=>!(e.hasDefault||0===t&&"self"===e.name)));return e.details.fullName+"("+t.map((e=>1===e.category?"*"+e.name:2===e.category?"**"+e.name:e.name)).join(", ")+")"}jl._mostRecentCompletions=[];class $l{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 r=this._completions.get(e);return!!r&&(!t||t(r,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!!e&&(Array.isArray(e)?!!e.find((e=>e.kind===t&&e.data.autoImport===n)):e.kind===t&&(null===(i=e.data)||void 0===i?void 0:i.autoImport)===n)}static labelOnlyIgnoringAutoImports(e,t,n){var i;if(!e)return!1;if(Array.isArray(e)){if(e.find((e=>{var t;return!(null===(t=e.data)||void 0===t?void 0:t.autoImport)})))return!0}else if(!(null===(i=e.data)||void 0===i?void 0:i.autoImport))return!0;return!1}}class Hl{constructor(e,t,n,i,r,s,o){this._execEnvironment=e,this._importResolver=t,this._parseResults=n,this._invocationPosition=i,this._excludes=r,this._moduleSymbolMap=s,this._options=o,this._stopWatch=new Pn,this._perfInfo={indexUsed:!1,totalInMs:0,moduleTimeInMS:0,indexTimeInMS:0,importAliasTimeInMS:0,symbolCount:0,indexCount:0,importAliasCount:0},this._importStatements=tn(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 r=[];return this._getCandidates(e,t,n,i).forEach((e=>r.push(...e))),r}getPerfInfo(){return this._perfInfo.totalInMs=this._stopWatch.getDurationInMilliseconds(),this._perfInfo}_getCandidates(e,t,n,i){const r=new Map,s=new Map;return this._addImportsFromModuleMap(e,t,n,s,r,i),this._addImportsFromLibraryMap(e,t,n,s,r,i),this._addImportsFromImportAliasMap(s,n,r,i),r}_addImportsFromLibraryMap(e,t,n,i,r,s){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 l=this._isStubFileOrHasInit(this._options.libraryMap,a);this._processModuleSymbolTable(Gl(o,!0),a,e,t,l,n,i,r,s)})),this._perfInfo.indexTimeInMS=this._stopWatch.getDurationInMilliseconds()-a}_addImportsFromModuleMap(e,t,n,i,r,s){const o=this._stopWatch.getDurationInMilliseconds();this._moduleSymbolMap.forEach(((o,a)=>{const l=this._isStubFileOrHasInit(this._moduleSymbolMap,a);this._processModuleSymbolTable(o,a,e,t,l,n,i,r,s)})),this._perfInfo.moduleTimeInMS=this._stopWatch.getDurationInMilliseconds()-o}_isStubFileOrHasInit(e,t){const n=te($(t),"__init__.py"),i=n+"i";return{isStub:t.endsWith(".pyi"),hasInit:e.has(n)||e.has(i)}}_processModuleSymbolTable(e,t,n,i,r,s,o,a,l){ct(l);const[c,u,p]=this._getImportPartsForSymbols(t);if(!c)return;const d=B(c,".");if(e.forEach(((e,l,h)=>{var m;if(this._perfIndexCount(e,h),!this._shouldIncludeVariable(e,l,r.isStub,h))return;if(!this._isSimilar(n,l,i))return;if(this._containsName(l,c,a))return;if(e.importAlias)return void this._addToImportAliasMap(e.importAlias,{importParts:{symbolName:l,importName:l,importFrom:c,filePath:t,dotCount:d,moduleNameAndType:p},importGroup:u,symbol:e.symbol,kind:e.importAlias.kind,itemKind:e.importAlias.itemKind},o);const f=this._getTextEditsForAutoImportByFilePath(c,l,s,l,u,t);this._addResult(a,{name:l,alias:s,symbol:e.symbol,source:c,kind:null!==(m=e.itemKind)&&void 0!==m?m:Kl(e.kind),insertionText:f.insertionText,edits:f.edits})})),!r.isStub&&!r.hasInit)return;const h=this._getImportParts(t);h&&this._isSimilar(n,h.importName,i)&&(this._containsName(h.importName,h.importFrom,a)||this._addToImportAliasMap({modulePath:t,originalName:h.importName,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},{importParts:h,importGroup:u,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},o))}_shouldIncludeVariable(e,t,n,i){var r;return!(!n&&e.kind===ot.SymbolKind.Variable)||!(!this._options.allowVariableInAll||i||!(null===(r=e.symbol)||void 0===r?void 0:r.isInDunderAll()))||function(e){return!Yt(e)&&(Zt(e)||Xt(e))}(t)}_addImportsFromImportAliasMap(e,t,n,i){ct(i);const r=this._stopWatch.getDurationInMilliseconds();e.forEach((e=>{this._perfInfo.importAliasCount+=e.size,e.forEach((e=>{var i,r;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 s=this._getTextEditsForAutoImportByFilePath(null!==(i=e.importParts.importFrom)&&void 0!==i?i:e.importParts.importName,e.importParts.symbolName,t,e.importParts.importName,e.importGroup,e.importParts.filePath);this._addResult(n,{name:e.importParts.importName,alias:t,symbol:e.symbol,kind:null!==(r=e.itemKind)&&void 0!==r?r:Kl(e.kind),source:e.importParts.importFrom,insertionText:s.insertionText,edits:s.edits})}))})),this._perfInfo.importAliasTimeInMS=this._stopWatch.getDurationInMilliseconds()-r}_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 r=i.get(e.originalName);this._compareImportAliasData(r,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:U()(e.importParts.importName,t.importParts.importName)}_getImportPartsForSymbols(e){const t=this._importStatements.mapByFilePath.get(e);if(t)return[t.moduleName,en(t),{importType:2,isLocalTypingsFile:!1,moduleName:t.moduleName}];{const t=this._getModuleNameAndTypeFromFilePath(e);return[t.moduleName,cn(t),t]}}_getImportParts(e){return function(t){const n=t.moduleName;if(!n)return;const i=n.lastIndexOf("."),r=i>0?n.substring(i+1):void 0,s=i>0?n.substring(0,i):void 0;return{symbolName:r,importName:null!=r?r:n,importFrom:s,filePath:e,dotCount:B(n,"."),moduleNameAndType:t}}("__init__"===he(de(e))?this._getModuleNameAndTypeFromFilePath($(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()&&N(e,t)}return this._options.patternMatcher(e,t)}_shouldExclude(e){return this._excludes.has(e,$l.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,r,s){var o,a,l,c,u,p;const d=this._importStatements.mapByFilePath.get(s);if(d){if(20===d.node.nodeType){const e=null===(a=null===(o=d.subnode)||void 0===o?void 0:o.alias)||void 0===a?void 0:a.value;if(t)return{insertionText:`${null!=e?e:d.moduleName}.${t}`,edits:[]};if(e)return{insertionText:`${e}`,edits:[]}}if(t&&22===d.node.nodeType&&!d.node.isWildcardImport){const r=d.node.imports.find((e=>e.name.value===t));if(r){const e=null===(l=r.alias)||void 0===l?void 0:l.value;return{insertionText:`${null!=e?e:t}`,edits:[]}}if(e===d.moduleName)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},d,this._parseResults)}}}else if(t){const r=this._importStatements.orderedImports.find((t=>t.moduleName===e));if(r&&22===r.node.nodeType&&!r.node.isWildcardImport){const e=r.node.imports.find((e=>e.name.value===t));if(!e)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},r,this._parseResults)};{const t=null===(c=e.alias)||void 0===c?void 0:c.value;if(t)return{insertionText:`${t}`,edits:[]}}}const o=null===(u=this._importStatements.implicitImports)||void 0===u?void 0:u.get(s);if(o){const e=null===(p=o.alias)||void 0===p?void 0:p.value;return{insertionText:`${null!=e?e:o.name.value}.${t}`,edits:[]}}}return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:an({name:t,alias:n},this._importStatements,e,r,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)}}function Gl(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 Kl(e){switch(e){case ot.SymbolKind.File:return ot.CompletionItemKind.File;case ot.SymbolKind.Module:case ot.SymbolKind.Namespace:return ot.CompletionItemKind.Module;case ot.SymbolKind.Package:return ot.CompletionItemKind.Folder;case ot.SymbolKind.Class:return ot.CompletionItemKind.Class;case ot.SymbolKind.Method:return ot.CompletionItemKind.Method;case ot.SymbolKind.Property:return ot.CompletionItemKind.Property;case ot.SymbolKind.Field:return ot.CompletionItemKind.Field;case ot.SymbolKind.Constructor:return ot.CompletionItemKind.Constructor;case ot.SymbolKind.Enum:return ot.CompletionItemKind.Enum;case ot.SymbolKind.Interface:return ot.CompletionItemKind.Interface;case ot.SymbolKind.Function:return ot.CompletionItemKind.Function;case ot.SymbolKind.Variable:case ot.SymbolKind.Array:return ot.CompletionItemKind.Variable;case ot.SymbolKind.String:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Number:case ot.SymbolKind.Boolean:return ot.CompletionItemKind.Value;case ot.SymbolKind.Constant:case ot.SymbolKind.Null:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Object:case ot.SymbolKind.Key:return ot.CompletionItemKind.Value;case ot.SymbolKind.EnumMember:return ot.CompletionItemKind.EnumMember;case ot.SymbolKind.Struct:return ot.CompletionItemKind.Struct;case ot.SymbolKind.Event:return ot.CompletionItemKind.Event;case ot.SymbolKind.Operator:return ot.CompletionItemKind.Operator;case ot.SymbolKind.TypeParameter:return ot.CompletionItemKind.TypeParameter;default:return}}class Jl{static getCallForDeclaration(e,t,n,i){if(ct(i),3===t.type||4===t.type)return{name:e,kind:Zl(t,n),uri:t.path,range:t.range,selectionRange:t.range}}static getIncomingCallsForDeclaration(e,t,n,i,r,s){ct(s);const o=new Ql(e,t,n,i,r,s).findCalls();return o.length>0?o:void 0}static getOutgoingCallsForDeclaration(e,t,n,i){let r;if(ct(i),3===e.type)r=e.node;else if(4===e.type){const t=n.getTypeForDeclaration(e);if(t&&_o(t)){const e=va(t,"__init__",14);if(e){const t=n.getTypeOfMember(e);if(t&&Eo(t)){const t=e.symbol.getDeclarations();if(t&&t.length>0){const e=t[0];3===e.type&&(r=e.node)}}}}}if(!r)return;const s=new Yl(r,t,n,i).findCalls();return s.length>0?s:void 0}static getTargetDeclaration(e,t){let n=e[0];for(const i of e)if((ns(i)||!ns(n))&&(3===i.type||4===i.type)&&(n=i,i.node===t))break;return n}}class Yl extends _r{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(ct(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){ct(this._cancellationToken);const t=this._evaluator.getType(e.leftExpression);return t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&vo(r)&&Zs.isPropertyClass(r)&&s.forEach((t=>{this._addOutgoingCallForDeclaration(e.memberName,t)}))})),!0}_addOutgoingCallForDeclaration(e,t){const n=this._evaluator.resolveAliasDeclaration(t,!0);if(!n)return;if(3!==n.type&&4!==n.type)return;const i={name:e.value,kind:Zl(n,this._evaluator),uri:n.path,range:n.range,selectionRange:n.range};let r=this._outgoingCalls.find((e=>e.to.uri===i.uri&&Tt(e.to.range,i.range)));r||(r={to:i,fromRanges:[]},this._outgoingCalls.push(r));const s=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);r.fromRanges.push(s)}}class Ql extends _r{constructor(e,t,n,i,r,s){super(),this._filePath=e,this._symbolName=t,this._declaration=n,this._parseResults=i,this._evaluator=r,this._cancellationToken=s,this._incomingCalls=[]}findCalls(){return this.walk(this._parseResults.parseTree),this._incomingCalls}visitCall(e){let t;if(ct(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=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(t)}return!0}visitMemberAccess(e){if(ct(this._cancellationToken),e.memberName.value===this._symbolName){const t=this._evaluator.getType(e.leftExpression);t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&s.some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(e.memberName)}))}return!0}_addIncomingCallForDeclaration(e){const t=Rr(e);if(!t)return;let n;if(36===t.nodeType){const e=St(0,0,this._parseResults.tokenizerOutput.lines),t=de(this._filePath);n={name:`(module) ${t}`,kind:ot.SymbolKind.Module,uri:this._filePath,range:e,selectionRange:e}}else if(30===t.nodeType){const e=St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines);n={name:"(lambda)",kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}else{const e=St(t.name.start,t.name.start+t.name.length,this._parseResults.tokenizerOutput.lines);n={name:t.name.value,kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}let i=this._incomingCalls.find((e=>e.from.uri===n.uri&&Tt(e.from.range,n.range)));i||(i={from:n,fromRanges:[]},this._incomingCalls.push(i));const r=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);i.fromRanges.push(r)}}function Zl(e,t){let n;switch(e.type){case 4:case 5:n=ot.SymbolKind.Class;break;case 3:if(e.isMethod){const i=t.getTypeForDeclaration(e);n=i&&ua(i)?ot.SymbolKind.Property:ot.SymbolKind.Method}else n=ot.SymbolKind.Function;break;default:n=ot.SymbolKind.Function}return n}class Xl{constructor(e,t,n,i,r){this.requiresGlobalSearch=e,this.nodeAtOffset=t,this.symbolName=n,this.declarations=i,this._reporter=r,this._locations=[]}get locations(){return this._locations}addLocations(...e){0!==e.length&&(this._reporter&&this._reporter(e),this._locations.push(...e))}}class ec{constructor(e,t,n,i,r,s){this._parseResults=e,this._filePath=t,this._referencesResult=n,this._includeDeclaration=i,this._evaluator=r,this._cancellationToken=s}findReferences(e=this._parseResults.parseTree){const t=new Ml(this._referencesResult.symbolName,this._referencesResult.declarations,this._evaluator,this._cancellationToken,e,!0),n=[];for(const e of t.collect())(this._includeDeclaration||e.node!==this._referencesResult.nodeAtOffset)&&n.push({path:this._filePath,range:{start:It(e.range.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e.range),this._parseResults.tokenizerOutput.lines)}});return n}}class tc{static getDeclarationForNode(e,t,n,i,r,s){ct(s);const o=Ml.getDeclarationsForNode(n,i,!1,s,e);if(0===o.length)return;const a=o.some((e=>{var n,i;if(e.path!==t)return!0;const r=Ar(e.node);return 36===r.nodeType||10===r.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}));return new Xl(a,n,n.value,o,r)}static getDeclarationForPosition(e,t,n,i,r,s,o){ct(o);const a=xt(i,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);return void 0!==l&&38===l.nodeType?this.getDeclarationForNode(e,n,l,r,s,o):void 0}static addReferences(e,t,n,i,r,s){const o=new ec(e,t,n,i,r,s);n.addLocations(...o.findReferences())}}var nc,ic,rc,sc,oc,ac,lc,cc,uc,pc,dc,hc,mc,fc;!function(e){e[e.File=0]="File",e[e.Folder=1]="Folder",e[e.Symbol=2]="Symbol"}(nc||(nc={}));class gc{constructor(e,t,n,i,r,s,o,a,l){if(this._fs=e,this._evaluator=t,this._moduleFilePath=n,this._moduleNameAndType=r,this._newModuleNameAndType=s,this._type=o,this._declarations=a,this._token=l,this._results=new Map,this._aliasIntroduced=new Set,this._newModuleFilePath=ee(i),this._moduleNames=this._moduleName.split("."),this._newModuleNames=this._newModuleName.split("."),this._moduleNames.length!==this._newModuleNames.length)return void(this._onlyNameChanged=!1);let c=0;for(c=0;ce.realCasePath(t)));return 3===i.length&&".."===i[1]&&".."!==i[2]?"Renamed":"Moved"}(e.fileSystem,i,r))return;let o=te(i,"__init__.pyi");if(!e.fileSystem.existsSync(o)&&(o=te(i,"__init__.py"),!e.fileSystem.existsSync(o)))return;return this._create(e,t,n,o,te(r,de(o)),nc.Folder,s)}}}static createForSymbol(e,t,n,i,r,s,o){if(!e.fileSystem.existsSync(i))return;const a=s.filter((e=>zn(e)||jn(e)||Hn(e)));return 0!==a.length?this._create(e,t,n,i,r,nc.Symbol,a,o):void 0}static _create(e,t,n,i,r,s,o,a){const l=t.findExecEnvironment(i),c=e.getModuleNameForImport(i,l);if(!c.moduleName)return;const u=e.getModuleNameForImport(r,l);if(!u.moduleName)return;a=ot.CancellationToken.is(o)?o:a;const p=ot.CancellationToken.is(o)?[]:o;return 0===p.length&&(p.push(cs(i)),el(i)&&(e.resolveImport(i,l,vn(c.moduleName)),e.getSourceFilesFromStub(i,l,!1).forEach((e=>p.push(cs(e)))))),new gc(e.fileSystem,n,i,r,c,u,s,p,a)}renameReferences(e,t){switch(this._type){case nc.Folder:return this._renameFolderReferences(e,t);case nc.File:return this._renameModuleReferences(e,t);case nc.Symbol:return this._updateSymbolReferences(e,t);default:return k(this._type,`${this._type} is unknown`)}}_updateSymbolReferences(e,t){var n,i,r,s;const o=new Ml(null!==(n=as(this._declarations[0]))&&void 0!==n?n:"",this._declarations,this._evaluator,this._token,t.parseTree,!0),a=tn(t.parseTree,!0),l=a.orderedImports.find((e=>e.moduleName===this._newModuleName)),c=new Set,u=new Map;for(const n of o.collect()){const o=n.node;if(49===o.nodeType)continue;if(Qr(o)){const n=null===(i=o.parent)||void 0===i?void 0:i.parent,s=this._getNewModuleName(e,n.module.leadingDots>0,!1);if(1===n.imports.length)this._addResultWithTextRange(e,n.module,t,s);else{const i=o.parent;this._addFromImportNameDeletion(e,t,c,n.imports,i);const l={name:i.name.value,alias:null===(r=i.alias)||void 0===r?void 0:r.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,n,t,c,a,s,[l]))}continue}const l=ts(o);if(l===o||35!==l.nodeType)continue;const p=35===l.leftExpression.nodeType?l.leftExpression.memberName:38===l.leftExpression.nodeType?l.leftExpression:void 0;if(!p)continue;const d=null===(s=this._evaluator.getDeclarationsForNameNode(p))||void 0===s?void 0:s.filter((e=>Gn(e)&&(21===e.node.nodeType||23===e.node.nodeType)));d&&0!==d.length&&h(u,d[0].node,(()=>[])).push(l)}for(const[n,i]of u){let r;if(this._canReplaceImportName(t,n,i)){const i=this._getReferenceModuleName(a,l);if(21===n.nodeType)i?(r=i,this._addImportNameDeletion(e,t,c,n.parent.list,n)):(r=n.alias?n.alias.value:this._newModuleName,this._addResultWithTextRange(e,n.module,t,this._newModuleName));else if(i)r=i,this._addFromImportNameDeletion(e,t,c,n.parent.imports,n);else{const i=n.parent,s=this._getNewModuleName(e,i.module.leadingDots>0,!0);r=n.alias?n.alias.value:this._newLastModuleName,this._addResultWithTextRange(e,i.module,t,s),this._addResultWithTextRange(e,n.name,t,this._newLastModuleName)}}else{const n=this._getReferenceModuleName(a,l);n?r=n:(r=this._newModuleName,this._addResultEdits(an([],a,this._newModuleName,cn(this._newModuleNameAndType),t,It(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,r)}}_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 r=null!==(i=t.alias)&&void 0!==i?i:21===t.nodeType?t.module.nameParts[t.module.nameParts.length-1]:t.name,s=Ml.getDeclarationsForNode(r,this._evaluator,!1,this._token);if(0===s.length)return!1;const o=new Ml(r.value,s,this._evaluator,this._token,e.parseTree,!0);for(const e of o.collect())if(!(Kr(e.node)||Jr(e.node)||Yr(e.node)||Qr(e.node)||Zr(e.node)||n.some((t=>dt.containsRange(t,e.node)))))return!1;return!0}_renameFolderReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0);for(const i of n.collect())this._addResultWithTextRange(e,i.range,t,this._newLastModuleName)}_renameModuleReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0),i=new Set,r=n.collect();this._updateModuleReferences(e,t,i,r),this._updateRelativeModuleNamePath(e,t,i,r)}_updateRelativeModuleNamePath(e,t,n,i){if(e!==this._moduleFilePath)return;let r;for(const s of this._getNewRelativeModuleNamesForFileMoved(e,yc.collect(t.parseTree).filter((e=>!i.some((t=>dt.containsRange(e.parent,t.node))))))){if(this._addResultWithTextRange(e,s.moduleName,t,s.newModuleName),!s.itemsToMove)continue;const i=s.moduleName.parent;for(const r of s.itemsToMove)this._addFromImportNameDeletion(e,t,n,i.imports,r);r=null!=r?r:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,r,un(this._fs,this._newModuleFilePath,this._newModuleFilePath,!1,!0),s.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 r,s,o,a,l;let c;for(const u of i){const p=u.node;if(49===p.nodeType){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Kr(p)){if(!Xr(p))continue;const n=es(p,37);if(1===n.nameParts.length&&21===(null===(r=n.parent)||void 0===r?void 0:r.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(Jr(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Yr(p)){if(!Xr(p))continue;const r=es(p,37),s=r.parent,o=[],a=[];for(const e of s.imports)this._isExportedSymbol(e.name)?o.push(e):a.push(e);if(0===a.length){this._addResultWithTextRange(e,r,t,this._getNewModuleName(e,r.leadingDots>0,!1));continue}if(0===o.length)continue;if(s.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[s.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);for(const i of o)this._addFromImportNameDeletion(e,t,n,s.imports,i);c=null!=c?c:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,s,t,n,c,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(Qr(p)){if(n.has(p.id))continue;const i=null===(s=p.parent)||void 0===s?void 0:s.parent,r=this._getNewModuleName(e,i.module.leadingDots>0,!0);if(this._isExportedSymbol(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(1===i.imports.length)this._addResultWithTextRange(e,i.module,t,r),this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else{const s=p.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,s),c=null!=c?c:tn(t.parseTree,!1);const l={name:this._newLastModuleName,alias:(null===(o=s.alias)||void 0===o?void 0:o.value)===this.lastModuleName?this._newLastModuleName:null===(a=s.alias)||void 0===a?void 0:a.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,c,r,[l]))}continue}if(Zr(p)){if(n.has(p.id))continue;this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}const d=Ml.getDeclarationsForNode(p,this._evaluator,!1,this._token).filter((e=>Gn(e)));if(this._onlyNameChanged)this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else if(null==d?void 0:d.some((e=>!(e.usesLocalName||e.node&&21!==e.node.nodeType||this._aliasIntroduced.has(e.node))))){const n=ts(p);if(35!==(null===(l=n.parent)||void 0===l?void 0:l.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__"===he(de(e)),i=$(e),r=[];for(const e of t){if(0===e.leadingDots)continue;const t=this._getNewModuleNameInfoForFileMoved(e,n,i);if(!t)continue;const s=un(this._fs,t.src,t.dest,!1,!0);r.push({moduleName:e,newModuleName:s,itemsToMove:t.itemsToMove})}return r}_getNewModuleNameInfoForFileMoved(e,t,n){const i=Rt(e);if(!i)return;let r=i.resolvedPaths[i.resolvedPaths.length-1];if(!r){if(0!==e.nameParts.length)return;{const t=pn(n,e.leadingDots);if(!t)return;r=te(t,"__init__.py")}}if(this._moduleFilePath!==r||!t)return{src:this._newModuleFilePath,dest:r};const s=[],o=[];for(const t of e.parent.imports)this._isExportedSymbol(t.name)?s.push(t):o.push(t);return 0===o.length?{src:this._newModuleFilePath,dest:this._newModuleFilePath}:0===s.length?{src:this._newModuleFilePath,dest:this._moduleFilePath}:{src:this._newModuleFilePath,dest:this._moduleFilePath,itemsToMove:[...s]}}_isExportedSymbol(e){const t=this._evaluator.getDeclarationsForNameNode(e);return!!t&&!t.some((e=>Gn(e)&&e.submoduleFallback))}_getNewModuleName(e,t,n){const i=e===this._moduleFilePath?this._newModuleFilePath:e,r=t?un(this._fs,i,this._newModuleFilePath,n,!0):this._newModuleName;if(n&&r.endsWith(this._newLastModuleName)){const e=r===this._newLastModuleName?0:r.length>this._newLastModuleName.length+1&&"."!==r[r.length-this._newLastModuleName.length-2]?1:0,t=r.length-this._newLastModuleName.length-e,n=r.substr(0,t);return n.length>0?n:"."}return r}getEdits(){const e=[];return this._results.forEach((t=>e.push(...t))),e}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,r){this._addImportNameDeletionInternal(e,t,n,i,r,20),n.add(r.module.id),r.module.nameParts.forEach((e=>n.add(e.id))),r.alias&&n.add(r.alias.id)}_addFromImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,22),n.add(r.name.id),r.alias&&n.add(r.alias.id)}_addImportNameDeletionInternal(e,t,n,i,r,s){const o=function(e,t){let n;if(1===e.length&&0===t)n=e[0];else if(t===e.length-1){const i=dt.getEnd(e[t-1]);n={start:i,length:dt.getEnd(e[t])-i}}else{const i=e[t].start;n={start:i,length:e[t+1].start-i}}return n}(i,i.findIndex((e=>e===r)));this._addResultWithTextRange(e,o,t,""),n.add(r.id);let a=0;for(a=i.length-1;a>=0&&n.has(i[a].id);a--);if(-1===a){const n=es(r,s);n&&this._addResultWithRange(e,function(e,t){const n=wt(e,t.lines),i=function(e,t,n){const i=n.tokens.getItemAtPosition(t);if(i<0)return;let r=i;for(;r=0&&athis._addResultWithRange(e.filePath,e.range,e.replacementText)))}_getDeletionsForSpan(e,t){var n;return r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),e.filter((e=>""===e.replacementText&&yt(e.range,t)))}_removeEdits(e,t){var n;r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),m(e,(e=>t.findIndex((t=>t===e))>=0))}_addResultWithRange(e,t,n){const i=h(this._results,e,(()=>[]));if(""===n){const e=this._getDeletionsForSpan(i,t);e.length>0&&(this._removeEdits(i,e),bt(t,e.map((e=>e.range))))}i.some((e=>Tt(e.range,t)&&e.replacementText===n))||i.push({filePath:e,range:t,replacementText:n})}_getTextEditsForNewOrExistingFromImport(e,t,n,i,r,s,o){const a=r.orderedImports.find((e=>e.moduleName===s));if(a&&22===a.node.nodeType&&!a.node.isWildcardImport){const r=rn(o,a,n);if(a.node!==t)return r.map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})));if(this._onlyNameChanged&&1===o.length&&1===r.length){const s=this._getDeletionsForSpan(e,r[0].range);if(0===s.length)return[{filePath:e,range:r[0].range,replacementText:r[0].replacementText}];{const r=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)===r}));if(a)return this._removeEdits(e,s),a.alias&&i.delete(a.alias.id),[{filePath:e,range:wt(a.name,n.tokenizerOutput.lines),replacementText:this._newLastModuleName}]}}}return an(o,r,s,cn(this._newModuleNameAndType),n,It(n.parseTree.length,n.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))}}class yc extends _r{constructor(){super(...arguments),this._result=[]}walk(e){yr(e)||super.walk(e)}visitModuleName(e){return this._result.push(e),!1}static collect(e){const t=new yc;return t.walk(e),t._result}}class _c{constructor(){this._paths=[]}appendPath(e){this._paths.push(e)}getPaths(){return this._paths}normalizeOrder(){let e=0;this._paths.forEach(((t,n)=>{te?i=r:n=r+1}let r=n-1;return{line:r,character:e-t[r]}}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 Sc(e){const t=Ic(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){e.create=function(e,t,n,i){return new vc(e,t,n,i)},e.update=function(e,t,n){if(e instanceof vc)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},e.applyEdits=function(e,t){let n=e.getText(),i=Tc(t.map(Sc),((e,t)=>{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),r=0;const s=[];for(const t of i){let i=e.offsetAt(t.range.start);if(ir&&s.push(n.substring(r,i)),t.newText.length&&s.push(t.newText),r=e.offsetAt(t.range.end)}return s.push(n.substr(r)),s.join("")}}(ic||(ic={})),function(e){e.Darwin="Darwin",e.Windows="Windows",e.Linux="Linux"}(rc||(rc={}));class xc{constructor(e,t,n,i){this.extraPaths=[],this.root=e||void 0,this.pythonVersion=t||Ae,this.pythonPlatform=n,this.extraPaths=[...null!=i?i:[]]}}function Cc(e=!1){const t=[$o.strictListInference,$o.strictSetInference,$o.strictDictionaryInference,$o.strictParameterNoneValue];return e&&t.push($o.enableTypeIgnoreComments),t}function wc(){return[$o.reportGeneralTypeIssues,$o.reportPropertyTypeMismatch,$o.reportFunctionMemberAccess,$o.reportMissingImports,$o.reportMissingModuleSource,$o.reportMissingTypeStubs,$o.reportImportCycles,$o.reportUnusedImport,$o.reportUnusedClass,$o.reportUnusedFunction,$o.reportUnusedVariable,$o.reportDuplicateImport,$o.reportWildcardImportFromLibrary,$o.reportOptionalSubscript,$o.reportOptionalMemberAccess,$o.reportOptionalCall,$o.reportOptionalIterable,$o.reportOptionalContextManager,$o.reportOptionalOperand,$o.reportTypedDictNotRequiredAccess,$o.reportUntypedFunctionDecorator,$o.reportUntypedClassDecorator,$o.reportUntypedBaseClass,$o.reportUntypedNamedTuple,$o.reportPrivateUsage,$o.reportPrivateImportUsage,$o.reportConstantRedefinition,$o.reportIncompatibleMethodOverride,$o.reportIncompatibleVariableOverride,$o.reportInconsistentConstructor,$o.reportOverlappingOverload,$o.reportMissingSuperCall,$o.reportUninitializedInstanceVariable,$o.reportInvalidStringEscapeSequence,$o.reportUnknownParameterType,$o.reportUnknownArgumentType,$o.reportUnknownLambdaType,$o.reportUnknownVariableType,$o.reportUnknownMemberType,$o.reportMissingParameterType,$o.reportMissingTypeArgument,$o.reportInvalidTypeVarUse,$o.reportCallInDefaultInitializer,$o.reportUnnecessaryIsInstance,$o.reportUnnecessaryCast,$o.reportUnnecessaryComparison,$o.reportAssertAlwaysTrue,$o.reportSelfClsParameterName,$o.reportImplicitStringConcatenation,$o.reportUndefinedVariable,$o.reportUnboundVariable,$o.reportInvalidStubStatement,$o.reportIncompleteStub,$o.reportUnsupportedDunderAll,$o.reportUnusedCallResult,$o.reportUnusedCoroutine,$o.reportUnnecessaryTypeIgnoreComment,$o.reportMatchNotExhaustive]}class Ec{constructor(e,t){this.include=[],this.exclude=[],this.ignore=[],this.strict=[],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=Ec.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",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",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"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",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",reportAssertAlwaysTrue:"none",reportSelfClsParameterName:"none",reportImplicitStringConcatenation:"none",reportUnboundVariable:"none",reportUndefinedVariable:"warning",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"none",reportUnusedCallResult:"none",reportUnusedCoroutine:"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",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",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none"}}getDefaultExecEnvironment(){return new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths)}findExecEnvironment(e){var t;return null!==(t=this.executionEnvironments.find((t=>{const n=le(me(te(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,r,s=!1){let o;this.initializedFromJson=!0,s||(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,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "include" array because it is not relative.`):this.include.push(be(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,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "exclude" array because it is not relative.`):this.exclude.push(be(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,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "ignore" array because it is not relative.`):this.ignore.push(be(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,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "strict" array because it is not relative.`):this.strict.push(be(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?o=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=o||t;const a=Ec.getDiagnosticRuleSet(this.typeCheckingMode);if(this.diagnosticRuleSet={...a},this.applyDiagnosticOverrides(r),Cc(!0).forEach((t=>{this.diagnosticRuleSet[t]=this._convertBoolean(e[t],t,this.diagnosticRuleSet[t])})),wc().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=me(te(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(me(te(this.projectRoot,e)))})):n.error('Config "extraPaths" field must contain an array.')),void 0!==e.pythonVersion)if("string"==typeof e.pythonVersion){const t=Re(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(i,n),void 0!==e.pythonPlatform&&("string"!=typeof e.pythonPlatform?n.error('Config "pythonPlatform" field must contain a string.'):this.defaultPythonPlatform=e.pythonPlatform),this.ensureDefaultPythonPlatform(i,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?me(te(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=me(te(this.projectRoot,e.typingsPath)))),void 0!==e.stubPath&&("string"!=typeof e.stubPath?n.error('Config "stubPath" field must contain a string.'):this.stubPath=me(te(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.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 ${Pe(this.defaultPythonVersion)}`);for(const e of n)t.info(e)}ensureDefaultExtraPaths(e,t,n){const i=[];if(t){const t=ee(this.projectRoot,"src");e.existsSync(t)&&!e.existsSync(ee(t,"__init__.py"))&&i.push(t)}if(n&&n.length>0)for(const t of n){const n=ee(this.projectRoot,t);i.push(n),fe(e,n)&&i.push(...yn(e,n))}i.length>0&&(this.defaultExtraPaths=i)}applyDiagnosticOverrides(e){if(e)for(const t of wc()){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 xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths);if(e.root&&"string"==typeof e.root?i.root=me(te(this.projectRoot,e.root)):n.error(`Config executionEnvironments index ${t}: missing root value.`),e.extraPaths&&(Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,r)=>{"string"!=typeof e?n.error(`Config executionEnvironments index ${t}: extraPaths field ${r} must be a string.`):i.extraPaths.push(me(te(this.projectRoot,e)))})):n.error(`Config executionEnvironments index ${t}: extraPaths field must contain an array.`)),e.pythonVersion)if("string"==typeof e.pythonVersion){const r=Re(e.pythonVersion);r?i.pythonVersion=r: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.`)}}}class kc{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 nl(0,e,t))}addWarning(e,t){return this.addDiagnostic(new nl(1,e,t))}addInformation(e,t){return this.addDiagnostic(new nl(2,e,t))}addUnusedCode(e,t,n){const i=new nl(3,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDeprecated(e,t,n){const i=new nl(4,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}:${M(e.message)}}`;return this._diagnosticMap.has(t)||(this._diagnosticList.push(e),this._diagnosticMap.set(t,e)),e}addDiagnostics(e){this._diagnosticList.push(...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))}getDeprecated(){return this._diagnosticList.filter((e=>4===e.category))}}class Dc extends kc{constructor(e,t){super(t),this._lines=e}addDiagnosticWithTextRange(e,t,n){const i=St(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,St(t.start,t.start+t.length,this._lines),n)}addDeprecatedWithTextRange(e,t,n){return this.addDeprecated(e,St(t.start,t.start+t.length,this._lines),n)}}class Ac{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=r.start&&(i>=this.count-1||ethis.end)return-1;let t=0,n=this.count-1;for(;t<=n;){const i=Math.floor(t+(n-t)/2),r=this._items[i];if(dt.contains(r,e))return i;if(ic===el(e.path);return l.find(u)?l.filter(u):l}static getTypeDefinitionsForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(n,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);if(void 0===l)return;const c=[];if(38===l.nodeType){const t=i.getType(l);if(t){let n=[];Jo(t,(t=>{7===(null==t?void 0:t.category)&&n.push(...e.findClassDeclarationsByType(r,t))})),0===n.length&&(n=null!==(o=i.getDeclarationsForNameNode(l))&&void 0!==o?o:[]),Pc._resolveDeclarations(n,i,c,e)}}return 0!==c.length?c:void 0}static _resolveDeclarations(e,t,n,i){e&&e.forEach((e=>{let r=t.resolveAliasDeclaration(e,!0,!0);if(r&&r.path){if(6===r.type&&r.isUnresolved)return;if(6===r.type&&r.symbolName&&r.submoduleFallback&&r.submoduleFallback.path&&(r=r.submoduleFallback),this._addIfUnique(n,{path:r.path,range:r.range}),jn(r)){const e=t.getTypeForDeclaration(r);if(e&&ko(e))for(const t of e.overloads.map((e=>e.details.declaration)).filter(a))this._addIfUnique(n,{path:t.path,range:t.range})}if(el(r.path))if(6===r.type)i.findModules(r.path).map((e=>{var t;return null===(t=Vt(e))||void 0===t?void 0:t.filePath})).filter(a).forEach((e=>this._addIfUnique(n,this._createModuleEntry(e))));else{const e=i.findDeclarations(r);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&&Tt(n.range,t.range))return;e.push(t)}}function Rc(e,t,n,i){let r=t;const s=[];let o,a,l=!1,c=!1;for(;;){if(6!==r.type||!r.symbolName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};if(!n&&r.usesLocalName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};let u;r.path&&r.loadSymbolsFromPath&&(u=e(r.path));const p=u?u.symbolTable.get(r.symbolName):void 0;if(!p)return r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):r.isNativeLib?{declaration:void 0,isPrivate:l}:void 0;if(p.isPrivateMember()&&(l=!0),p.isExternallyHidden()&&!i)return;let d=p.getTypedDeclarations();if(0===d.length&&(d=p.getDeclarations(),0===d.length))return;const h=d.filter((e=>!s.includes(e)));if(r=h.length>0?h[h.length-1]:d[d.length-1],c&&(o=null!=o?o:null==r?void 0:r.moduleName),p.isPrivatePyTypedImport()&&(c=!0),c&&(a=null!=a?a:null==r?void 0:r.moduleName),s.find((e=>e===r)))return r.path===t.path&&6===r.type&&r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):{declaration:t,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};s.push(r)}}class Fc{static getSymbolsForDocument(e,t,n,i,r,s){var o;const a=[];return t||n?(Mc(null!==(o=null==t?void 0:t.symbols)&&void 0!==o?o:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},s),i,r,"",a,s),a):a}static addHierarchicalSymbolsForDocument(e,t,n,i,r){var s;(t||n)&&Oc(null!==(s=null==t?void 0:t.symbols)&&void 0!==s?s:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},r),i,r)}static indexSymbols(e,t,n,i){const r=[];return Lc(e,t,t.parseTree,n,r,i),r}}function Nc(e,t,n){let i;switch(t.type){case 4:case 5:i=ot.SymbolKind.Class;break;case 3:if(t.isMethod){const e=null==n?void 0:n.getTypeForDeclaration(t);i=e&&ua(e)?ot.SymbolKind.Property:ot.SymbolKind.Method}else i=ot.SymbolKind.Function;break;case 6:i=ot.SymbolKind.Module;break;case 2:if("self"===e||"cls"===e||"_"===e)return;i=ot.SymbolKind.Variable;break;case 1:if("_"===e)return;i=t.isConstant||t.isFinal?ot.SymbolKind.Constant:ot.SymbolKind.Variable;break;default:i=ot.SymbolKind.Variable}return i}function Mc(e,t,n,i,r,s){if(ct(s),e)for(const a of e)if(!a.alias){if(N(n,a.name)){const e={uri:x.file(t).toString(),range:a.selectionRange},n={name:a.name,kind:a.kind,location:e};i.length&&(n.containerName=i),r.push(n)}Mc(a.children,t,n,o(i,a.name),r,s)}function o(e,t){return e.length>0?`${e}.${t}`:t}}function Oc(e,t,n){if(ct(n),e)for(const i of e){if(i.alias)continue;const e=[];Oc(i.children,e,n);const r={name:i.name,kind:i.kind,range:i.range,selectionRange:i.selectionRange,children:e};t.push(r)}}function Lc(e,t,n,i,r,s){ct(s);const o=Ft(n);o&&o.symbolTable.forEach(((n,o)=>{if(n.isIgnoredForProtocolMatch())return;if(i.indexingForAutoImportMode&&!e.isStubFile&&!e.isInPyTypedPackage&&!n.isInDunderAll())return;let a=Vo(n);if(!a&&n.hasDeclarations()&&(a=n.getDeclarations()[0]),a){if(6===a.type){if(!i.indexingForAutoImportMode)return;if(!a.loadSymbolsFromPath||a.path.length<=0)return}!function(e,t,n,i,r,s,o,a){if(i.indexingForAutoImportMode&&!r)return;const l=Nc(s,n);if(void 0===l)return;const c=n.range;let u=c;const p=[];let d;if(4!==n.type&&3!==n.type||(i.indexingForAutoImportMode||Lc(e,t,n.node,i,p,a),u=St(n.node.start,n.node.start+n.node.length,t.tokenizerOutput.lines)),6===n.type&&(d=function(e,t){var n;if(!t.symbolName)return;const i=Rc(e,t,!0,!1);if(!i||!i.declaration)return;if(i.isPrivate)return;const r=as(i.declaration);if(!r||i.declaration.path.length<=0)return;const s=null!==(n=Nc(r,i.declaration))&&void 0!==n?n:ot.SymbolKind.Module;return{originalName:r,modulePath:i.declaration.path,kind:s,itemKind:Kl(s)}}(Vt(t.parseTree).importLookup,n),!d))return;const h={name:s,externallyVisible:r,kind:l,itemKind:Kl(l),alias:d,range:i.indexingForAutoImportMode?void 0:u,selectionRange:i.indexingForAutoImportMode?void 0:c,children:i.indexingForAutoImportMode?void 0:p};o.push(h)}(e,t,a,i,!n.isExternallyHidden(),o,r,s)}}))}function Uc(e,t,n,i){const r={name:n.name,kind:n.kind,location:ot.Location.create(t,n.range)};if(n.tags&&(r.tags=n.tags),i&&(r.containerName=i.name),e.push(r),n.children)for(const i of n.children)Uc(e,t,i,n)}class qc{constructor(e,t){this._parseResults=e,this._cancellationToken=t}sort(){ct(this._cancellationToken);const e=[],t=tn(this._parseResults.parseTree),n=t.orderedImports.map((e=>e)).sort(((e,t)=>function(e,t){const n=en(e),i=en(t);return ni?1:e.moduleNamee.followsNonImportStatement));t<0&&(t=e.length);const n=e[t-1].node;return{start:It(e[0].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.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:It(e[n].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e[i-1].node),this._parseResults.tokenizerOutput.lines)},replacementText:""}),n=i,n>=e.length)break}}_generateSortedImportText(e){let t="",n=en(e[0]);for(const i of e){const r=en(i);let s;n!==r&&(t+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence,n=r),s=20===i.node.nodeType?this._formatImportNode(i.subnode,i.moduleName):this._formatImportFromNode(i.node,i.moduleName),i!==e[e.length-1]&&(s+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence),t+=s}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 r=n.join(", ");if(i.length+r.length<=88)return i+r;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.value13===e||10===e||92===e)))return{value:t,unescapeErrors:[],nonAsciiInBytes:s&&r.some((e=>e>=128)),formatStringSegments:[]};let o=0,a={offset:0,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1},l=0;const c={valueParts:[],unescapeErrors:[],nonAsciiInBytes:!1,formatStringSegments:[]},u=()=>{n||c.unescapeErrors.push({offset:l-1,length:2,errorType:0})},p=(e=0)=>l+e>=r.length?3:r[l+e],d=e=>{let t=!1,n=0,i="";for(let i=0;i{const t=String.fromCharCode(e);c.valueParts.push(t),a.valueParts.push(t)};for(;;){let e=p();if(3===e)return i&&(a.isExpression&&c.unescapeErrors.push({offset:a.offset,length:l-a.offset,errorType:3}),l!==a.offset&&(a.length=l-a.offset,c.formatStringSegments.push(a))),f=c,{...f,value:f.valueParts.join(""),formatStringSegments:f.formatStringSegments.map((e=>({...e,value:e.valueParts.join("")})))};if(92===e){if(i&&a.isExpression&&!a.hasFormatSpecifier&&c.unescapeErrors.push({offset:l,length:1,errorType:1}),l++,n){h(e);continue}e=p();let t="";if(13===e||10===e)13===e&&10===p(1)&&(n&&(t+=String.fromCharCode(e)),l++,e=p()),n&&(t="\\"+t+String.fromCharCode(e)),l++;else if(n)t="\\"+String.fromCharCode(e),l++;else switch(e){case 92:case 39:case 34:t=String.fromCharCode(e),l++;break;case 97:t="",l++;break;case 98:t="\b",l++;break;case 102:t="\f",l++;break;case 110:t="\n",l++;break;case 114:t="\r",l++;break;case 116:t="\t",l++;break;case 118:t="\v",l++;break;case 120:t=d(2);break;case 78:{let n=!1,i=1;if(123!==p(i))n=!0;else for(i++;;){const e=p(i);if(125===e)break;if(!Bc(e)&&45!==e&&32!==(m=e)&&9!==m){n=!0;break}i++}n?(u(),t="\\"+String.fromCharCode(e),l++):(t="-",l+=1+i);break}case 117:t=d(4);break;case 85:t=d(8);break;default:if(Wc(e)){let n=e-48;l++,e=p(),Wc(e)&&(n=8*n+e-48,l++,e=p(),Wc(e)&&(n=8*n+e-48,l++)),t=String.fromCharCode(n)}else t="\\",u()}c.valueParts.push(t),a.valueParts.push(t)}else if(10===e||13===e)13===e&&10===p(1)&&(h(e),l++,e=p()),h(e),l++;else if(i&&123===e)a.isExpression||123!==p(1)?(0===o?(a.length=l-a.offset,a.length>0&&c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!0,hasFormatSpecifier:!1}):(h(e),l++),o++):(h(e),l+=2);else if(i&&125===e)a.isExpression||125!==p(1)?0===o?(c.unescapeErrors.push({offset:l,length:1,errorType:2}),l++):(o--,0===o?(a.length=l-a.offset,c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1}):(h(e),l++)):(h(e),l+=2);else if(!a.isExpression||39!==e&&34!==e)a.isExpression&&58===e&&(a.hasFormatSpecifier=!0),s&&e>=128&&(c.nonAsciiInBytes=!0),h(e),l++;else{const t=e;h(e);const n=p(1)===t&&p(2)===t;for(n&&(l+=2,h(e),h(e),c.valueParts.push(String.fromCharCode(e)),c.valueParts.push(String.fromCharCode(e)));;){l++;let e=p();if(3===e)break;if(92!==e){if((10===e||13===e)&&!n)break;if(e===t){if(!n){l++,h(e);break}if(p(1)===t&&p(2)===t){l+=3,h(e),h(e),h(e);break}}h(e)}else h(e),l++,e=p(),h(e)}}}var m,f}function Bc(e){return e>=48&&e<=57||e>=97&&e<=122||e>=65&&e<=90}function Wc(e){return e>=48&&e<=55}function jc(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function zc(e){return e>=48&&e<=57?e-48:e>=97&&e<=102?e-97+10:e>=65&&e<=70?e-65+10:0}class $c{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)}}!function(e){e.create=function(e,t,n,i=0){return{type:i,start:e,length:t,value:n}}}(oc||(oc={})),function(e){e.create=function(e,t,n,i){return{start:t,length:n,type:e,comments:i}}}(ac||(ac={})),function(e){e.create=function(e,t,n,i,r){return{start:e,length:t,type:3,isIndentAmbiguous:i,comments:r,indentAmount:n}}}(lc||(lc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:4,comments:s,indentAmount:n,matchesIndent:i,isDedentAmbiguous:r}}}(cc||(cc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:2,comments:i,newLineType:n}}}(uc||(uc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:8,comments:i,keywordType:n}}}(pc||(pc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:5,flags:n,escapedValue:i,prefixLength:r,quoteMarkLength:4&n?3:1,comments:s}}}(dc||(dc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:6,isInteger:i,isImaginary:r,value:n,comments:s}}}(hc||(hc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:9,operatorType:n,comments:i}}}(mc||(mc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:7,value:n.normalize("NFKC"),comments:i}}}(fc||(fc={}));const Hc=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],["while",35],["with",36],["yield",37],["False",15],["None",26],["True",33]]),Gc={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};class Kc{constructor(){this._cs=new $c(""),this._tokens=[],this._prevLineStart=0,this._parenDepth=0,this._lineRanges=[],this._indentAmounts=[],this._typeIgnoreLines=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=!1}tokenize(e,t,n,i=0,r=!1){if(void 0===t)t=0;else if(t<0||t>e.length)throw new Error("Invalid range start");if(void 0===n)n=e.length;else{if(n<0||t+n>e.length)throw new Error("Invalid range length");t+n=s)););0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(uc.create(this._cs.position,0,3,this._getComments())),this._setIndent(0,0,!1,!1),this._tokens.push(ac.create(1,this._cs.position,0,this._getComments())),this._addLineRange();let o="\n";this._crCount>this._crLfCount&&this._crCount>this._lfCount?o="\r":this._crLfCount>this._crCount&&this._crLfCount>this._lfCount&&(o="\r\n");let a=" ";if(this._indentTabCount>this._indentCount/2)a="\t";else if(this._indentCount>0){let e=Math.round(this._indentSpacesTotal/this._indentCount);e<1?e=1:e>8&&(e=8),a="";for(let t=0;t=this._doubleQuoteCount?"'":'"'}}static getOperatorInfo(e){return Gc[e]}static isOperatorAssignment(e){return void 0!==e&&void 0!==Gc[e]&&0!=(4&Gc[e])}static isOperatorComparison(e){return void 0!==e&&void 0!==Gc[e]&&0!=(8&Gc[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().substr(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(ac.create(13,this._cs.position,1,this._getComments()));break;case 41:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(14,this._cs.position,1,this._getComments()));break;case 91:this._parenDepth++,this._tokens.push(ac.create(15,this._cs.position,1,this._getComments()));break;case 93:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(16,this._cs.position,1,this._getComments()));break;case 123:this._parenDepth++,this._tokens.push(ac.create(17,this._cs.position,1,this._getComments()));break;case 125:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(18,this._cs.position,1,this._getComments()));break;case 44:this._tokens.push(ac.create(12,this._cs.position,1,this._getComments()));break;case 96:this._tokens.push(ac.create(22,this._cs.position,1,this._getComments()));break;case 59:this._tokens.push(ac.create(11,this._cs.position,1,this._getComments()));break;case 58:if(61===this._cs.nextChar){this._tokens.push(mc.create(this._cs.position,2,35,this._getComments())),this._cs.advance(1);break}this._tokens.push(ac.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(ac.create(19,this._cs.position,3,this._getComments())),this._cs.advance(3),!0;this._tokens.push(ac.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(uc.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,t=0,n=!1,i=!1;for(;!this._cs.isEndOfStream();)switch(this._cs.currentChar){case 32:e++,t++,i=!0,this._cs.moveNext();break;case 9:e++,t+=8-t%8,n=!0,this._cs.moveNext();break;case 12:e=0,t=0,n=!1,i=!1,this._cs.moveNext();break;default:return void this._setIndent(e,t,i,n);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(lc.create(this._cs.position,0,t,!1,this._getComments())));else{const r=this._indentAmounts[this._indentAmounts.length-1];if(r.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(lc.create(this._cs.position,0,t,s,this._getComments()))}else if(r.tab8Spaces===t)(r.isSpacePresent&&i||r.isTabPresent&&n)&&this._tokens.push(lc.create(this._cs.position,0,t,!0,this._getComments()));else{let e=r.isSpacePresent&&i||r.isTabPresent&&n;const s=[];for(;this._indentAmounts.length>0&&this._indentAmounts[this._indentAmounts.length-1].tab8Spaces>t;)s.push(this._indentAmounts.length>1?this._indentAmounts[this._indentAmounts.length-2].tab8Spaces:0),this._indentAmounts.pop();s.forEach(((n,i)=>{const r=i{for(;;)if(Ve(this._cs.currentChar))this._cs.moveNext();else{if(!Ve(this._cs.currentChar,this._cs.nextChar))break;this._cs.moveNext(),this._cs.moveNext()}},t=this._cs.position;if(qe(this._cs.currentChar)?(this._cs.moveNext(),e()):qe(this._cs.currentChar,this._cs.nextChar)&&(this._cs.moveNext(),this._cs.moveNext(),e()),this._cs.position>t){const e=this._cs.getText().substr(t,this._cs.position-t);return Hc.has(e)?this._tokens.push(pc.create(t,this._cs.position-t,Hc.get(e),this._getComments())):this._tokens.push(fc.create(t,this._cs.position-t,e,this._getComments())),!0}return!1}_isPossibleNumber(){return!!Be(this._cs.currentChar)||!(46!==this._cs.currentChar||!Be(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)&&We(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;We(this._cs.currentChar);)this._cs.moveNext();t=16}if((98===this._cs.nextChar||66===this._cs.nextChar)&&ze(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;ze(this._cs.currentChar);)this._cs.moveNext();t=2}if((111===this._cs.nextChar||79===this._cs.nextChar)&&je(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;je(this._cs.currentChar);)this._cs.moveNext();t=8}if(t>0){const i=this._cs.getText().substr(e,this._cs.position-e),r=i.replace(/_/g,"");let s=parseInt(r.substr(n),t);if(!isNaN(s)){const t=BigInt(r);return isFinite(s)&&BigInt(s)===t||(s=t),this._tokens.push(hc.create(e,i.length,s,!0,!1,this._getComments())),!0}}}let t=!1,n=!1;if(this._cs.currentChar>=49&&this._cs.currentChar<=57){for(;Be(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().substr(e,this._cs.position-e);const n=t.replace(/_/g,"");let i=parseInt(n,10);if(!isNaN(i)){let r=!1;const s=BigInt(n);return isFinite(i)&&BigInt(i)===s||(i=s),106!==this._cs.currentChar&&74!==this._cs.currentChar||(r=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(hc.create(e,t.length,i,!0,r,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().substr(e,this._cs.position-e);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(hc.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(ac.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(mc.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();)(t=this._cs.currentChar)0&&(this._tokens.push(ac.create(0,e,n,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().substr(n,e).match(/\\\s*$/))break;n=this._cs.position+1}while(!this._cs.isEndOfStream());const i=this._cs.position-t,r=this._cs.getText().substr(t,i),s=oc.create(t,i,r,e);this._addComments(s)}_handleComment(){const e=this._cs.position+1;this._cs.skipToEol();const t=this._cs.position-e,n=this._cs.getText().substr(e,t),i=oc.create(e,t,n),r=n.match(/^\s*type:\s*ignore(\s|\[|$)/);if(r){const t={start:e,length:r[0].length};r[0].endsWith("[")&&t.length--,this._tokens.findIndex((e=>2!==e.type&&e&&3!==e.type))<0?this._typeIgnoreAll=t:this._typeIgnoreLines.set(this._lineRanges.length,t)}this._addComments(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().substr(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();Be(this._cs.currentChar);)this._cs.moveNext()}}class Jc{constructor(){this.isStubFile=!1,this.pythonVersion=Ae,this.reportInvalidStringEscapeSequence=!1,this.skipFunctionAndClassBody=!1,this.ipythonMode=!1}}const Yc=256;class Qc{constructor(){this._tokenIndex=0,this._areErrorsSuppressed=!1,this._parseOptions=new Jc,this._diagSink=new kc,this._isInLoop=!1,this._isInFunction=!1,this._isInFinally=!1,this._isParsingTypeAnnotation=!1,this._isParsingIndexTrailer=!1,this._futureImportMap=new Map,this._importedModules=[],this._containsWildcardImport=!1,this._assignmentExpressionsAllowed=!0,this._typingImportAliases=[],this._typingSymbolAliases=new Map}parseSourceFile(e,t,n){Fn.tokenizeFileTime.timeOperation((()=>{this._startNewParse(e,0,e.length,t,n)}));const i=Yn.create({start:0,length:e.length});return Fn.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(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=i,i.statements.push(t)):this._consumeTokensUntilType([2])}})),w(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,r=0,s=0,o){const a=new kc;let l;if(this._startNewParse(e,t,n,i,a,s),o&&(this._typingSymbolAliases=new Map(o)),1===r)l=this._parseTypeAnnotation();else if(2===r)l=this._parseFunctionTypeAnnotation();else{const e=this._parseTestOrStarExpressionList(!1,!0);e.parseError?l=e.parseError:(0===e.list.length&&this._addError(ml.Diagnostic.expectedExpr(),this._peekToken()),l=this._makeExpressionOrTuple(e,!1))}return 2===this._peekTokenType()&&this._getNextToken(),this._atEof()||this._addError(ml.Diagnostic.unexpectedExprToken(),this._peekToken()),{parseTree:l,lines:this._tokenizerOutput.lines,diagnostics:a.fetchAndClear()}}_startNewParse(e,t,n,i,r,s=0){this._fileContents=e,this._parseOptions=i,this._diagSink=r;const o=new Kc;this._tokenizerOutput=o.tokenize(e,t,n,s,this._parseOptions.ipythonMode),this._tokenIndex=0}_parseStatement(){switch(this._consumeTokenIfType(4)&&this._addError(ml.Diagnostic.unexpectedUnindent(),this._peekToken()),this._peekKeywordType()){case 20:return this._parseIfStatement();case 35:return this._parseWhileStatement();case 17:return this._parseForStatement();case 34:return this._parseTryStatement();case 36: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}}}return 22===this._peekOperatorType()?this._parseDecorated():this._parseSimpleStatement()}_parseAsyncStatement(){const e=this._getKeywordToken(3);switch(this._peekKeywordType()){case 10:return this._parseFunctionDef(e);case 36:return this._parseWithStatement(e);case 17:return this._parseForStatement(e)}this._addError(ml.Diagnostic.unexpectedAsyncToken(),e)}_parseMatchStatement(){let e=!1;if(this._suppressErrors((()=>{const t=this._tokenIndex;this._getKeywordToken(25);const n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.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,ml.Diagnostic.expectedReturnExpr()),i=sr.create(t,n),r=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(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.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(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}i.cases.length>0?Jn(i,i.cases[i.cases.length-1]):this._addError(ml.Diagnostic.zeroCaseStatementsFound(),t)}else this._addError(ml.Diagnostic.expectedNewline(),r);else this._addError(ml.Diagnostic.expectedColon(),r),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(ml.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(ml.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(ml.Diagnostic.starPatternInOrPattern(),e)})),this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?t=Ri.create(e):this._addError(ml.Diagnostic.expectedNameAfterAs(),this._peekToken())}t&&1===e.length&&69===e[0].nodeType&&e[0].isStar&&this._addError(ml.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))),r=new il;r.addMessage(ml.DiagnosticAddendum.orPatternMissingName().format({name:i.map((e=>`"${e}"`)).join(", ")})),this._addError(ml.Diagnostic.orPatternMissingName()+r.getString(),e)}})),lr.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,r=ur.create(i,n);return this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),r}const n=this._peekToken();if(26===this._peekOperatorType()){const e=this._getNextToken(),t=this._getTokenIfIdentifier();return t?dr.create(Ri.create(t),e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.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=ar.create(e,t.list);else{const r=t.list[0].orPatterns[0];i=69===r.nodeType&&r.isStar?ar.create(e,t.list):t.list[0],Jn(i,n)}const r=this._peekToken();return this._consumeTokenIfType(13===n.type?14:16)?Jn(i,r):(this._addError(13===n.type?ml.Diagnostic.expectedCloseParen():ml.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)?Jn(t,i):(this._addError(ml.Diagnostic.expectedCloseBrace(),n),this._consumeTokensUntilType([10,18])),t}return this._handleExpressionParseError(11,ml.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(ml.Diagnostic.positionArgAfterNamedArg(),i),e.push(i),!this._consumeTokenIfType(12))break}return e}_parseClassPatternArgument(){const e=this._peekToken(),t=this._peekToken(1);let n;7!==e.type&&8!==e.type||9!==t.type||2!==t.operatorType||(this._getNextToken(),n=Ri.create(e),this._getNextToken());const i=this._parsePatternAs();return pr.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 w(48===e.nodeType),e.strings.forEach((e=>{64&e.token.flags&&this._addError(ml.Diagnostic.formatStringInPattern(),e)})),cr.create(e)}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||26===t.keywordType)return cr.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(ml.Diagnostic.expectedComplexNumberLiteral(),e),n=void 0)),n&&(55===n.nodeType&&33===n.operator&&(n=n.expression),40===n.nodeType&&n.isImaginary||this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e)),cr.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(ml.Diagnostic.duplicateStarStarPattern(),n[1]),hr.create(e,t.list)}return t.parseError||di.create(this._peekToken(),11)}_parsePatternMappingItem(){let e;const t=this._peekToken();if(this._consumeTokenIfOperator(29)){const e=this._getTokenIfIdentifier();if(!e)return this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11);const n=Ri.create(e);return"_"===e.value&&this._addError(ml.Diagnostic.starStarWildcardNotAllowed(),n),fr.create(t,n)}const n=this._parsePatternLiteral();if(n)e=n;else{const t=this._parsePatternCaptureOrValue();t&&(73===t.nodeType?e=t:(this._addError(ml.Diagnostic.expectedPatternValue(),t),e=di.create(this._peekToken(),11)))}let i;return e||(this._addError(ml.Diagnostic.expectedPatternExpr(),this._peekToken()),e=di.create(this._peekToken(),11)),this._consumeTokenIfType(10)?i=this._parsePatternAs():(this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=di.create(this._peekToken(),11)),mr.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(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}{const n=Ri.create(t);e=e?Ai.create(e,n):n}if(!this._consumeTokenIfType(20))break}return e?35===e.nodeType?gr.create(e):dr.create(e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11))}}_parseIfStatement(e=20){const t=this._getKeywordToken(e),n=this._parseTestExpression(!0),i=this._parseSuite(this._isInFunction),r=Zn.create(t,n,i);return this._consumeTokenIfKeyword(13)?(r.elseSuite=this._parseSuite(this._isInFunction),r.elseSuite.parent=r,Jn(r,r.elseSuite)):12===this._peekKeywordType()&&(r.elseSuite=this._parseIfStatement(12),r.elseSuite.parent=r,Jn(r,r.elseSuite)),r}_parseLoopSuite(){const e=this._isInLoop,t=this._isInFinally;this._isInLoop=!0,this._isInFinally=!1;const n=this._parseSuite(this._isInFunction);return this._isInLoop=e,this._isInFinally=t,n}_parseSuite(e=!1,t=!1,n){const i=this._peekToken(),r=Qn.create(i);if(!this._consumeTokenIfType(10)&&(9===i.type?2===this._peekOperatorType()&&this._addError(ml.Diagnostic.expectedEqualityOperator(),i):this._addError(ml.Diagnostic.expectedColon(),i),this._consumeTokensUntilType([2,10])))if(10===this._peekTokenType())this._getNextToken();else if(3!==this._peekToken(1).type)return this._getNextToken(),r;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(ml.Diagnostic.inconsistentTabs(),t),e--,0===e))break;if(1===t.type)break}}else this._parseSimpleStatement();return this._tokenIndex>0&&Jn(r,this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1)),r}n&&n();const s=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(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=r,r.statements.push(t)):this._consumeTokensUntilType([2]);const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}}else{const e=this._parseSimpleStatement();r.statements.push(e),e.parent=r}return r.statements.length>0&&Jn(r,r.statements[r.statements.length-1]),this._isInFunction=s,r}_parseForStatement(e){const t=this._getKeywordToken(17),n=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),t);let i,r,s;if(this._consumeTokenIfKeyword(22)){if(i=this._parseTestOrStarListAsExpression(!1,!0,2,ml.Diagnostic.expectedInExpr()),r=this._parseLoopSuite(),this._getLanguageVersion(){56!==t.nodeType||e||(this._addError(ml.Diagnostic.unpackOperatorNotAllowed(),t),e=!0)}))}this._consumeTokenIfKeyword(13)&&(s=this._parseSuite(this._isInFunction))}else i=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn()),r=Qn.create(this._peekToken());const o=ei.create(t,n,i,r);return o.elseSuite=s,s&&(Jn(o,s),s.parent=o),e&&(o.isAsync=!0,o.asyncToken=e,Jn(o,e)),o}_tryParseListComprehension(e){const t=this._tryParseCompForStatement();if(!t)return;56===e.nodeType?this._addError(ml.Diagnostic.unpackIllegalInComprehension(),e):16===e.nodeType&&this._addError(ml.Diagnostic.dictExpandIllegalInComprehension(),e);const n=Ci.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})),Jn(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,ml.Diagnostic.expectedExpr(),n);let r;this._consumeTokenIfKeyword(22)?this._disallowAssignmentExpression((()=>{r=this._parseOrTest()})):r=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn());const s=ti.create(t||n,i,r);return t&&(s.isAsync=!0,s.asyncToken=t),s}_tryParseCompIfStatement(){if(20!==this._peekKeywordType())return;const e=this._getKeywordToken(20),t=this._tryParseLambdaExpression()||this._parseAssignmentExpression(!0);return ni.create(e,t)}_parseWhileStatement(){const e=this._getKeywordToken(35),t=Xn.create(e,this._parseTestExpression(!0),this._parseLoopSuite());return this._consumeTokenIfKeyword(13)&&(t.elseSuite=this._parseSuite(this._isInFunction),t.elseSuite.parent=t,Jn(t,t.elseSuite)),t}_parseTryStatement(){const e=this._getKeywordToken(34),t=this._parseSuite(this._isInFunction),n=ii.create(e,t);let i=!1;for(;;){const e=this._peekToken();if(!this._consumeTokenIfKeyword(14))break;const t=this._peekToken();let r,s,o=!1;if(this._consumeTokenIfOperator(26)&&(this._getLanguageVersion()0&&(Jn(n,n.exceptClauses[n.exceptClauses.length-1]),this._consumeTokenIfKeyword(13)&&(n.elseSuite=this._parseSuite(this._isInFunction),n.elseSuite.parent=n,Jn(n,n.elseSuite))),this._consumeTokenIfKeyword(16)&&(n.finallySuite=this._parseSuite(this._isInFunction),n.finallySuite.parent=n,Jn(n,n.finallySuite)),n.finallySuite||0!==n.exceptClauses.length||this._addError(ml.Diagnostic.tryWithoutExcept(),e),n}_parseFunctionDef(e,t){const n=this._getKeywordToken(10),i=this._getTokenIfIdentifier();if(!i)return this._addError(ml.Diagnostic.expectedFunctionName(),n),di.create(n,10,void 0,t);const r=this._peekToken();if(!this._consumeTokenIfType(13))return this._addError(ml.Diagnostic.expectedOpenParen(),this._peekToken()),di.create(i,10,Ri.create(i),t);const s=this._parseVarArgsList(14,!0);let o,a;this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),r),this._consumeTokensUntilType([10])),this._consumeTokenIfType(21)&&(o=this._parseTypeAnnotation());const l=this._parseSuite(!0,this._parseOptions.skipFunctionAndClassBody,(()=>{a||(a=this._getTypeAnnotationCommentText())})),c=si.create(n,Ri.create(i),l);return e&&(c.isAsync=!0,Jn(c,e)),c.parameters=s,s.forEach((e=>{e.parent=c})),t&&(c.decorators=t,t.forEach((e=>{e.parent=c})),t.length>0&&Jn(c,t[0])),o&&(c.returnTypeAnnotation=o,c.returnTypeAnnotation.parent=c,Jn(c,o)),a&&this._parseFunctionTypeAnnotationComment(a,c),c}_parseVarArgsList(e,t){const n=new Map,i=[];let r=!1,s=!1,o=!1,a=!1,l=!1,c=!1;for(;this._peekTokenType()!==e;){const u=this._parseParameter(t);if(!u){this._consumeTokensUntilType([e]);break}if(u.name){const e=u.name.value;n.has(e)?this._addError(ml.Diagnostic.duplicateParam().format({name:e}),u.name):n.set(e,e)}else 0===u.category&&0===i.length&&this._addError(ml.Diagnostic.positionOnlyFirstParam(),u);0===u.category&&(u.name?u.defaultValue?r=!0:!r||o||l||s||(this._addError(ml.Diagnostic.nonDefaultAfterDefault(),u),s=!0):(a?this._addError(ml.Diagnostic.duplicatePositionOnly(),u):o?this._addError(ml.Diagnostic.positionOnlyAfterKeywordOnly(),u):l&&this._addError(ml.Diagnostic.positionOnlyAfterArgs(),u),a=!0)),i.push(u),1===u.category&&(u.name?((o||l)&&this._addError(ml.Diagnostic.duplicateArgsParam(),u),l=!0):(o?this._addError(ml.Diagnostic.duplicateKeywordOnly(),u):l&&this._addError(ml.Diagnostic.keywordOnlyAfterArgs(),u),o=!0)),2===u.category?(c&&this._addError(ml.Diagnostic.duplicateKwargsParam(),u),c=!0):c&&this._addError(ml.Diagnostic.paramAfterKwargsParam(),u);const p=this._consumeTokenIfType(12);if(t&&!u.typeAnnotation){const e=this._parseVariableTypeAnnotationComment();e&&(u.typeAnnotationComment=e,u.typeAnnotationComment.parent=u,Jn(u,u.typeAnnotationComment))}if(!p)break}if(i.length>0){const e=i[i.length-1];1!==e.category||e.name||this._addError(ml.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(ml.Diagnostic.defaultValueNotAllowed(),o.defaultValue)),o}_parseWithStatement(e){const t=this._getKeywordToken(36);let n=[];const i=this._peekToken();let 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(){e.parent=o})),o}_parseWithItem(){const e=this._parseTestExpression(!0),t=ci.create(e);return this._consumeTokenIfKeyword(1)&&(t.target=this._parseExpression(!1),t.target.parent=t,Jn(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(ml.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(ml.Diagnostic.expectedAfterDecorator(),this._peekToken()),ai.createDummyForDecorators(e)}_parseDecorator(){const e=this._getNextToken();w(22===e.operatorType);const t=this._parseTestExpression(!0);if(this._getLanguageVersion(){e.parent=o})),e&&(o.decorators=e,e.length>0&&(e.forEach((e=>{e.parent=o})),Jn(o,e[0]))),o}_parsePassStatement(){return Hi.create(this._getKeywordToken(30))}_parseBreakStatement(){const e=this._getKeywordToken(5);return this._isInLoop||this._addError(ml.Diagnostic.breakOutsideLoop(),e),tr.create(e)}_parseContinueStatement(){const e=this._getKeywordToken(8);return this._isInLoop?this._isInFinally&&this._addError(ml.Diagnostic.continueInFinally(),e):this._addError(ml.Diagnostic.continueOutsideLoop(),e),nr.create(e)}_parseReturnStatement(){const e=this._getKeywordToken(32),t=ir.create(e);if(this._isInFunction||this._addError(ml.Diagnostic.returnOutsideFunction(),e),!this._isNextTokenNeverExpression()){const e=this._parseTestOrStarListAsExpression(!0,!0,2,ml.Diagnostic.expectedReturnExpr());this._reportConditionalErrorForStarTupleElement(e),t.returnExpression=e,t.returnExpression.parent=t,Jn(t,e)}return t}_parseFromStatement(){const e=this._getKeywordToken(18),t=this._parseDottedModuleName(!0),n=Yi.create(e,t),i=0===t.leadingDots&&1===t.nameParts.length&&"__future__"===t.nameParts[0].value,r=this._peekToken();if(this._consumeTokenIfKeyword(21)){Jn(n,r);const e=this._peekToken();if(this._consumeTokenIfOperator(26))Jn(n,e),n.isWildcardImport=!0,n.wildcardToken=e,this._containsWildcardImport=!0;else{const e=this._peekToken(),t=this._consumeTokenIfType(13);let r;for(;;){const e=this._getTokenIfIdentifier();if(!e)break;r=void 0;const t=Qi.create(Ri.create(e));if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(t.alias=Ri.create(e),t.alias.parent=t,Jn(t,e)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}n.imports.push(t),t.parent=n,Jn(n,t),i&&this._futureImportMap.set(e.value,!0);const s=this._peekToken();if(!this._consumeTokenIfType(12))break;r=s}if(0===n.imports.length&&this._addError(ml.Diagnostic.expectedImportSymbols(),this._peekToken()),t){n.usesParens=!0;const t=this._peekToken();this._consumeTokenIfType(14)?Jn(n,t):this._addError(ml.Diagnostic.expectedCloseParen(),e)}else r&&this._addError(ml.Diagnostic.trailingCommaInFromImport(),r)}}else this._addError(ml.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 s=!1;if(1===n.module.nameParts.length){const e=n.module.nameParts[0].value;"typing"!==e&&"typing_extensions"!==e||(s=!0)}if(s){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=Gi.create(t);for(;;){const t=this._parseDottedModuleName(),i=Ji.create(t);if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(i.alias=Ri.create(e),i.alias.parent=i,Jn(i,i.alias)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}if(i.module.leadingDots>0&&this._addError(ml.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&&Jn(n,n.list[n.list.length-1]),n}_parseDottedModuleName(e=!1){var t;const n=Ki.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++,Jn(n,e)}for(;;){const t=this._getTokenIfIdentifier();if(!t){(!e||0===n.leadingDots||n.nameParts.length>0)&&(this._addError(ml.Diagnostic.expectedModuleName(),this._peekToken()),n.hasTrailingDot=!0);break}const i=Ri.create(t);n.nameParts.push(i),i.parent=n,Jn(n,i);const r=this._peekToken();if(!this._consumeTokenIfType(20))break;Jn(n,r)}return n}_parseGlobalStatement(){const e=this._getKeywordToken(19),t=Zi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNonlocalStatement(){const e=this._getKeywordToken(27),t=Xi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNameList(){const e=[];for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}if(e.push(Ri.create(t)),!this._consumeTokenIfType(12))break}return e}_parseRaiseStatement(){const e=this._getKeywordToken(31),t=rr.create(e);return this._isNextTokenNeverExpression()||(t.typeExpression=this._parseTestExpression(!0),t.typeExpression.parent=t,Jn(t,t.typeExpression),this._consumeTokenIfKeyword(18)?(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression)):this._consumeTokenIfType(12)&&(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression),this._consumeTokenIfType(12)&&(t.tracebackExpression=this._parseTestExpression(!0),t.tracebackExpression.parent=t,Jn(t,t.tracebackExpression)))),t}_parseAssertStatement(){const e=this._getKeywordToken(2),t=this._parseTestExpression(!0),n=er.create(e,t);if(this._consumeTokenIfType(12)){const e=this._parseTestExpression(!0);n.exceptionExpression=e,n.exceptionExpression.parent=n,Jn(n,e)}return n}_parseDelStatement(){const e=this._getKeywordToken(11),t=this._parseExpressionList(!0);t.parseError||0!==t.list.length||this._addError(ml.Diagnostic.expectedDelExpr(),this._peekToken());const n=$i.create(e);return n.expressions=t.list,n.expressions.length>0&&(n.expressions.forEach((e=>{e.parent=n})),Jn(n,n.expressions[n.expressions.length-1])),n}_parseYieldExpression(){const e=this._getKeywordToken(37),t=this._peekToken();if(this._consumeTokenIfKeyword(18))return this._getLanguageVersion()0?e.list[0]:this._peekToken(-1),i=Si.create(n,t);return i.expressions=e.list,e.list.length>0&&(e.list.forEach((e=>{e.parent=i})),Jn(i,e.list[e.list.length-1])),i}_parseExpressionListAsPossibleTuple(e,t,n){if(this._isNextTokenNeverExpression())return this._addError(t,n),di.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 r=this._parseTestOrStarExpressionList(e,t);return r.parseError?r.parseError:this._makeExpressionOrTuple(r,!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(ml.Diagnostic.duplicateUnpack(),t);break}e=!0}}return n}_parseExpression(e){const t=this._peekToken();return e&&this._consumeTokenIfOperator(26)?Ii.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,ml.Diagnostic.expectedElse());const i=this._parseTestExpression(!0);return 0===i.nodeType?i:bi.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(ml.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(ml.Diagnostic.generatorNotParenthesized(),e.valueExpression))}));const s=this._peekToken();let o=!1;if(this._consumeTokenIfType(14)?(Jn(r,s),o=!0):(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),this._isParsingTypeAnnotation=n,this._isParsingTypeAnnotation){const e=new il;38===t.nodeType&&"type"===t.value&&(e.addMessage(ml.DiagnosticAddendum.useTypeInstead()),this._addError(ml.Diagnostic.typeCallNotAllowed()+e.getString(),r))}if(t=r,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.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 r=this._parseSubscriptList();this._isParsingTypeAnnotation=i,this._isParsingIndexTrailer=n;const s=this._peekToken(),o=wi.create(t,r.list,r.trailingComma,s);Jn(o,o),this._consumeTokenIfType(16)||this._handleExpressionParseError(6,ml.Diagnostic.expectedCloseBracket(),e,o),t=o,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}else{if(!this._consumeTokenIfType(20))break;{const n=this._getTokenIfIdentifier();if(!n)return this._handleExpressionParseError(7,ml.Diagnostic.expectedMemberName(),e,t);t=Ai.create(t,Ri.create(n)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}}}return e?Ti.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 r=0;this._consumeTokenIfOperator(26)?r=1:this._consumeTokenIfOperator(29)&&(r=2);const s=this._tokenIndex;let o,a=this._parsePossibleSlice();if(0===r)if(this._consumeTokenIfOperator(2)){const e=a;a=this._parsePossibleSlice(),38===e.nodeType?o=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else 38===a.nodeType&&35===this._peekOperatorType()&&(this._tokenIndex=s,a=this._parseTestExpression(!0),!this._parseOptions.isStubFile&&this._getLanguageVersion()=De.V3_11;2!==r&&e||this._addError(ml.Diagnostic.unpackedSubscriptIllegal(),l)}if(!this._consumeTokenIfType(12)){n=!1;break}n=!0}if(0===e.length){const t=this._handleExpressionParseError(3,ml.Diagnostic.expectedSliceIndex(),void 0,void 0,[16]);e.push(zi.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]:di.create(this._peekToken(),3);const r=Ei.create(e);r.startValue=t[0],r.startValue&&(r.startValue.parent=r),r.endValue=t[1],r.endValue&&(r.endValue.parent=r),r.stepValue=t[2],r.stepValue&&(r.stepValue.parent=r);const s=t[2]||t[1]||t[0];return s&&Jn(r,s),r}_parseArgList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekTokenType();if(14===i||2===i||1===i)break;n=!1;const r=this._parseArgument();if(r.name?t=!0:t&&0===r.argumentCategory&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),r),e.push(r),!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(ml.Diagnostic.expectedParamName(),e)}else{const e=this._tryParseListComprehension(i);e&&(i=e)}const r=zi.create(e,i,t);return n&&(r.name=Ri.create(n),r.name.parent=r),r}_parseAtom(){const e=this._peekToken();if(19===e.type)return Ni.create(this._getNextToken());if(6===e.type)return Mi.create(this._getNextToken());if(7===e.type)return Ri.create(this._getNextToken());if(5===e.type)return this._parseStringList();if(22===e.type){this._getNextToken(),this._addError(ml.Diagnostic.backticksIllegal(),e);const t=this._parseTestListAsExpression(2,ml.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 il;t.addMessage(ml.DiagnosticAddendum.useTupleInstead()),this._addError(ml.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 il;t.addMessage(ml.DiagnosticAddendum.useListInstead()),this._addError(ml.Diagnostic.listInAnnotation()+t.getString(),e)}return e}if(17===e.type){const e=this._parseDictionaryOrSetAtom();if(this._isParsingTypeAnnotation){const t=new il;t.addMessage(ml.DiagnosticAddendum.useDictInstead()),this._addError(ml.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 Fi.create(this._getNextToken());const n=this._getTokenIfIdentifier();if(n)return Ri.create(n)}return this._handleExpressionParseError(2,ml.Diagnostic.expectedExpr())}_handleExpressionParseError(e,t,n,i,r){this._addError(t,null!=n?n:this._peekToken());const s=di.create(this._peekToken(),e,i),o=[2];return r&&o.push(...r),this._consumeTokensUntilType(o),s}_parseLambdaExpression(e=!0){const t=this._getKeywordToken(24),n=this._parseVarArgsList(10,!1);let i;this._consumeTokenIfType(10)||this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=e?this._parseTestExpression(!1):this._tryParseLambdaExpression(!1)||this._parseOrTest();const r=Pi.create(t,i);return r.parameters=n,n.forEach((e=>{e.parent=r})),r}_tryParseLambdaExpression(e=!0){if(24===this._peekKeywordType())return this._parseLambdaExpression(e)}_parseTupleAtom(){var e;const t=this._getNextToken();w(13===t.type);const n=this._tryParseYieldExpression();if(n)return 14!==this._peekTokenType()?this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,n):(Jn(n,this._getNextToken()),n);const i=this._parseTestListWithComprehension(),r=this._makeExpressionOrTuple(i,!0),s=1===i.list.length&&!i.trailingComma;if(s||Jn(r,t),14!==this._peekTokenType())return this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,null!==(e=i.parseError)&&void 0!==e?e:r);{const e=this._getNextToken();s||Jn(r,e)}return r}_parseListAtom(){var e;const t=this._getNextToken();w(15===t.type);const n=this._parseTestListWithComprehension(),i=this._peekToken();return this._consumeTokenIfType(16)?r():this._handleExpressionParseError(9,ml.Diagnostic.expectedCloseBracket(),t,null!==(e=n.parseError)&&void 0!==e?e:r());function r(){const e=ji.create(t);return i&&Jn(e,i),n.list.length>0&&(n.list.forEach((t=>{t.parent=e})),Jn(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();w(17===e.type);const t=[],n=[];let i,r=!1,s=!1,o=!1,a=!0;for(;18!==this._peekTokenType();){let e,l,c;i=void 0;const u=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(ml.Diagnostic.unpackInDict(),l),s)this._addError(ml.Diagnostic.keyValueInSet(),c);else{const e=Vi.create(l,c);let n=e;const i=this._tryParseListComprehension(e);i&&(n=i,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),n)),t.push(n),r=!0}else if(e)if(s)this._addError(ml.Diagnostic.unpackInSet(),e);else{const n=Bi.create(e);Jn(n,u);let i=n;const s=this._tryParseListComprehension(n);s&&(i=s,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),e)),t.push(i),r=!0}else if(w(void 0!==l),l)if(r){const e=di.create(this._peekToken(),13),n=Vi.create(l,e);t.push(n),this._addError(ml.Diagnostic.dictKeyValuePairs(),l)}else{const e=this._tryParseListComprehension(l);e&&(l=e,o=!0,a||this._addError(ml.Diagnostic.comprehensionInSet(),l)),n.push(l),s=!0}if(o)break;if(12!==this._peekTokenType())break;i=this._getNextToken(),a=!1}let l=this._peekToken();if(this._consumeTokenIfType(18)||(this._addError(ml.Diagnostic.expectedCloseBrace(),e),l=void 0),s){const t=Wi.create(e);return l&&Jn(t,l),n.length>0&&Jn(t,n[n.length-1]),n.forEach((e=>{e.parent=t})),t.entries=n,t}const c=qi.create(e);return i&&(c.trailingCommaToken=i,Jn(c,i)),l&&Jn(c,l),t.length>0&&(t.forEach((e=>{e.parent=c})),Jn(c,t[t.length-1])),c.entries=t,c}_parseExpressionListGeneric(e,t=(()=>this._isNextTokenNeverExpression()),n=(()=>!1)){let i=!1;const r=[];let s;for(;!t();){const t=e();if(0===t.nodeType){s=t;break}if(r.push(t),n())break;if(!this._consumeTokenIfType(12)){i=!1;break}i=!0}return{trailingComma:i,list:r,parseError:s}}_parseExpressionStatement(){let e,t=this._parseTestOrStarListAsExpression(!1,!1,2,ml.Diagnostic.expectedExpr());if(0===t.nodeType)return t;if(this._consumeTokenIfType(10)){if(e=this._parseTypeAnnotation(),t=yi.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 r=e.start+e.length+n[1].length;return dc.create(r,i.length,0,i,0,void 0)}_parseVariableTypeAnnotationComment(){const e=this._getTypeAnnotationCommentText();if(!e)return;const t=this._makeStringNode(e),n=Ui.create([t]),i=(new Qc).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?i.parseTree:void 0}_parseFunctionTypeAnnotationComment(e,t){const n=this._makeStringNode(e),i=Ui.create([n]),r=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,2,void 0,this._typingSymbolAliases);if(r.diagnostics.forEach((e=>{this._addError(e.message,i)})),!r.parseTree||62!==r.parseTree.nodeType)return;const s=r.parseTree;t.functionAnnotationComment=s,s.parent=t,Jn(t,s)}_parseFormatStringSegment(e,t,n,i){w(t.isExpression);const r=(new Qc).parseTextExpression(this._fileContents,e.start+e.prefixLength+e.quoteMarkLength+t.offset+n,i,this._parseOptions,0,1,this._typingSymbolAliases);return r.diagnostics.forEach((t=>{const n=(t.range?xt(t.range.start,r.lines):e.start)||e.start,i={start:n,length:((t.range?(xt(t.range.end,r.lines)||0)+1:e.start+e.length)||e.start+e.length)-n};this._addError(t.message,i)})),r.parseTree}_parseFormatString(e){const t=Vc(e);this._reportStringTokenErrors(e,t);const n=[];for(const i of t.formatStringSegments)if(i.isExpression){const t=this._getFormatStringExpressionLength(i.value.trimEnd()),r=this._parseFormatStringSegment(e,i,0,t);r&&n.push(r);const s=i.value.substr(t);let o=0,a=0;for(let r=0;r0&&(o--,0===o)){const s=this._getFormatStringExpressionLength(i.value.substr(t+a,r-a)),o=this._parseFormatStringSegment(e,i,t+a,s);o&&n.push(o)}}return Li.create(e,t.value,t.unescapeErrors.length>0,n)}_getFormatStringExpressionLength(e){let t=0;const n=[];let i,r=0,s=0,o=0;for(;t0||r>0||s>0||o>0,c=n.length>0;if("="===a)i=t;else{if(":"===a){if(!l)break}else if("!"===a){if(!l&&(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?c||s++:")"===a?!c&&s>0&&s--:"{"===a?c||r++:"}"===a?!c&&r>0&&r--:"["===a?c||o++:"]"===a&&!c&&o>0&&o--;" "!==a&&(i=void 0)}t++}return this._parseOptions.pythonVersion>=De.V3_8&&void 0!==i&&(t=i),t}_createBinaryOperationNode(e,t,n,i){return void 0!==e.maxChildDepth&&e.maxChildDepth>=Yc&&(e=di.create(e,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),e)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),mi.create(e,t,n,i)}_createUnaryOperationNode(e,t,n){return void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),hi.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=Ui.create(e);if(this._isParsingTypeAnnotation)if(t.strings.length>1)this._addError(ml.Diagnostic.annotationSpansStrings(),t);else if(64&t.strings[0].token.flags)this._addError(ml.Diagnostic.annotationFormatString(),t);else{const e=t.strings[0].token,n=Vc(t.strings[0].token).value,i=e.start,r=e.prefixLength+e.quoteMarkLength;if(n.length!==e.length-r-e.quoteMarkLength)this._addError(ml.Diagnostic.annotationStringEscape(),t);else{const e=(new Qc).parseTextExpression(this._fileContents,i+r,n.length,this._parseOptions,1,0!=(4&t.strings[0].token.flags)?1:0,this._typingSymbolAliases);e.diagnostics.forEach((e=>{this._addError(e.message,t)})),e.parseTree&&(t.typeAnnotation=e.parseTree,t.typeAnnotation.parent=t)}}return t}_reportConditionalErrorForStarTupleElement(e){if(52===e.nodeType&&!(e.enclosedInParens||this._parseOptions.pythonVersion>=De.V3_8))for(const t of e.expressions)if(56===t.nodeType)return void this._addError(ml.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(ml.Diagnostic.invalidIdentifierChar(),e),fc.create(e.start,e.length,"",e.comments);if(8===e.type){const t=this._peekKeywordType();if([9,25,6].find((e=>e===t))){const t=this._fileContents.substr(e.start,e.length);return this._getNextToken(),fc.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 w(8===t.type),w(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){w(void 0!==t),this._areErrorsSuppressed||this._diagSink.addError(e,St(t.start,t.start+t.length,this._tokenizerOutput.lines))}}class Zc{constructor(e,t){this.symbolTable=new Map,this.notLocalBindings=new Map,this.type=e,this.parent=t}getGlobalScope(){let e=this;for(;e;){if(3===e.type||4===e.type)return e;e=e.parent}return E("failed to find scope"),this}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 r;if(r=1===this.notLocalBindings.get(e)?this.getGlobalScope():this.parent,r)return r.lookUpSymbolRecursive(e,t||3===this.type,n||this.isIndependentlyExecutable())}addSymbol(e,t){const n=new qo(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}}function Xc(e,t,n,i){if(4===e.nodeType)return Xc(e.rightExpression,t,n,i);if(55===e.nodeType){if(37===e.operator||36===e.operator){const r=eu(e.expression,t,n,i);if(void 0!==r)return!r}}else if(7===e.nodeType){if(37===e.operator||36===e.operator){const r=Xc(e.leftExpression,t,n,i),s=Xc(e.rightExpression,t,n,i);if(void 0===r||void 0===s)return;return 37===e.operator?r||s:r&&s}if(iu(e.leftExpression,i)&&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 tu(e.operator,t.pythonVersion,n)}if(24===e.leftExpression.nodeType&&iu(e.leftExpression.baseExpression,i)&&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 tu(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,i)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===rc.Darwin?"darwin":e.pythonPlatform===rc.Windows?"win32":e.pythonPlatform===rc.Linux?"linux":void 0}(t);return nu(e.operator,i,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(""),i=function(e){return e.pythonPlatform===rc.Darwin?"posix":e.pythonPlatform===rc.Windows?"nt":e.pythonPlatform===rc.Linux?"posix":void 0}(t);if(void 0!==i)return nu(e.operator,i,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}else if(n&&35===e.nodeType&&"TYPE_CHECKING"===e.memberName.value&&38===e.leftExpression.nodeType&&n.some((t=>t===e.leftExpression.value)))return!0}function eu(e,t,n,i){return(11!==e.nodeType||26!==e.constType)&&Xc(e,t,n,i)}function tu(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 nu(e,t,n){if(void 0!==t&&void 0!==n){if(12===e)return t===n;if(28===e)return t!==n}}function iu(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"version_info"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}class ru extends _r{constructor(e,t=!1){super(),this._moduleSymbolOnly=t,this._deferredBindingTasks=[],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._functionCodeFlowComplexity=0,this._fileInfo=e}bindModule(e){var t;const n=void 0===this._fileInfo.builtinsScope;this._createNewScope(n?4:3,this._fileInfo.builtinsScope,(()=>{Nt(e,this._currentScope),Ut(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),Bt(e,this._currentScopeCodeFlowExpressions),qt(e,this._currentFlowNode)})),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?jt(e,{names:this._dunderAllNames,stringNodes:this._dunderAllStringNodes,usesUnsupportedDunderAllForm:this._usesUnsupportedDunderAllForm}):jt(e,void 0);const i=Ft(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 E("We should never get here"),!1}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitModuleName(e){const t=Rt(e);if(w(void 0!==t),!t||t.isNativeLib)return!0;if(!t.isImportFound)return this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingImports,$o.reportMissingImports,ml.Diagnostic.importResolveFailure().format({importName:t.importName}),e),!0;if(!t.isStubFile&&1===t.importType&&!t.pyTypedInfo){const n=this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingTypeStubs,$o.reportMissingTypeStubs,ml.Diagnostic.stubFileMissing().format({importName:t.importName}),e);if(n){const e={action:"pyright.createtypestub",moduleName:t.importName};n.addAction(e)}}return t.isStubFile&&0!==t.importType&&t.nonStubImportResult&&!t.nonStubImportResult.isImportFound&&(this._fileInfo.isStubFile||this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingModuleSource,$o.reportMissingModuleSource,ml.Diagnostic.importSourceResolveFailure().format({importName:t.importName}),e)),!0}visitClass(e){this.walkMultiple(e.decorators);const t={type:4,node:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},n=this._bindNameToScope(this._currentScope,e.name.value);n&&n.addDeclaration(t),Ot(e,t),this.walkMultiple(e.arguments);let i=this._currentScope;for(;2===i.type;)i=i.parent;return this._createNewScope(2,i,(()=>{Nt(e,this._currentScope),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__module__",e,"str"),this._moduleSymbolOnly||this.walk(e.suite)})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitFunction(e){Ut(e,this._currentFlowNode);const t=this._bindNameToScope(this._currentScope,e.name.value),n=Er(e,!0),i={type:3,node:e,isMethod:!!n,isGenerator:!1,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};return t&&t.addDeclaration(i),Ot(e,i),this.walkMultiple(e.decorators),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue),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(),(()=>{Nt(e,this._currentScope),Er(e)&&this._addImplicitSymbolToCurrentScope("__class__",e,"class"),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),this._functionCodeFlowComplexity=0,e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name)}})),this._targetFunctionDeclaration=i,this._currentReturnTarget=this._createBranchLabel(),this.walk(e.suite),qt(e.suite,this._currentFlowNode),this._addAntecedent(this._currentReturnTarget,this._currentFlowNode);const t=this._finishFlowLabel(this._currentReturnTarget);qt(e,t),Bt(e,this._currentScopeCodeFlowExpressions),function(e,t){e.codeFlowComplexity=t}(e,this._functionCodeFlowComplexity)}))})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitLambda(e){return Ut(e,this._currentFlowNode),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue)})),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name),this.walk(e.name)}})),this.walk(e.expression),Bt(e,this._currentScopeCodeFlowExpressions)}))})),!1}visitCall(e){var t,n;if(this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walkMultiple(e.arguments)})),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 r=e.arguments[0].valueExpression;48===r.nodeType&&1===r.strings.length&&49===r.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(r.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(r.strings[0]),i=!1)}i&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!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)),this.walk(e.rightExpression);let t=!0;if((kr(e)||9===e.rightExpression.nodeType&&this._fileInfo.isTypingStubFile||function(e){let t=e;for(;t;){switch(t.nodeType){case 26:case 57:return!0}t=t.parent}return!1}(e))&&(t=!1),this._addInferredTypeAssignmentForVariable(e.leftExpression,e.rightExpression,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,$o.reportUnsupportedDunderAll,ml.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,n=[];let i=!0;48===t.nodeType?n.push(t):31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):i=!1,i&&this._addSlotsToCurrentScope(n)}return!1}visitAssignmentExpression(e){this._disableTrueFalseTargets((()=>{this.walk(e.rightExpression)}));const t=function(e){let t=!1,n=Ar(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=Ar(n.parent);break;default:return}}(e);if(t){const n=Ft(t);let i=this._currentScope;for(;i&&i!==n;){if(i.lookUpSymbol(e.name.value)){this._addError(ml.Diagnostic.assignmentExprComprehension().format({name:e.name.value}),e.name);break}i=i.parent}this._bindNameToScope(n,e.name.value),this._addInferredTypeAssignmentForVariable(e.name,e.rightExpression),this._createAssignmentTargetFlowNodes(e.name,!0,!1)}else this._addError(ml.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,$o.reportUnsupportedDunderAll,ml.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=At(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();if(this._addAntecedent(t,this._currentFlowNode),this._currentFlowNode=t,this._addAntecedent(n,this._currentFlowNode),this._createAssignmentTargetFlowNodes(e.targetExpression,!0,!1),this._bindLoopStatement(t,i,(()=>{this.walk(e.forSuite),this._addAntecedent(t,this._currentFlowNode)})),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=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}return!1}visitContinue(e){return this._currentContinueTarget&&this._addAntecedent(this._currentContinueTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitBreak(e){return this._currentBreakTarget&&this._addAntecedent(this._currentBreakTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitReturn(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.returnStatements||(this._targetFunctionDeclaration.returnStatements=[]),this._targetFunctionDeclaration.returnStatements.push(e)),e.returnExpression&&this.walk(e.returnExpression),Ut(e,this._currentFlowNode),this._currentReturnTarget&&this._addAntecedent(this._currentReturnTarget,this._currentFlowNode),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitYield(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitYieldFrom(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitMemberAccess(e){return Ut(e,this._currentFlowNode),!0}visitName(e){return Ut(e,this._currentFlowNode),!1}visitIndex(e){return Ut(e,this._currentFlowNode),!0}visitIf(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{const t=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);this._bindConditional(e.testExpression,n,i),this._currentFlowNode=!1===t?ru._unreachableFlowNode:this._finishFlowLabel(n),this.walk(e.ifSuite),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=!0===t?ru._unreachableFlowNode:this._finishFlowLabel(i),e.elseSuite?this.walk(e.elseSuite):this._bindNeverCondition(e.testExpression,r,!1),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitWhile(e){const t=this._createBranchLabel(),n=this._createBranchLabel(),i=this._createBranchLabel(),r=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases),s=this._createLoopLabel();return this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=s,this._bindConditional(e.testExpression,t,n),this._currentFlowNode=!1===r?ru._unreachableFlowNode:this._finishFlowLabel(t),this._bindLoopStatement(s,i,(()=>{this.walk(e.whileSuite)})),this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=!0===r?ru._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.value);if(this._createAssignmentTargetFlowNodes(e.name,!0,!1),t){const n={type:1,node:e.name,isConstant:Zt(e.name.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.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=ru._unreachableFlowNode,!1}visitTry(e){const t=this._currentFlowNode,n=e.exceptClauses.map((()=>this._createBranchLabel())),i=this._createBranchLabel(t);let r=!1;const s=this._createBranchLabel(t),o={flags:ft.PreFinallyGate,id:kt(),antecedent:s,isGateClosed:!1};if(i.affectedExpressions=this._trackCodeFlowExpressions((()=>{e.finallySuite&&this._addAntecedent(i,o),e.exceptClauses.some((e=>!e.typeExpression))||n.push(s),n.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),e.finallySuite&&this._finallyTargets.push(s),this._useExceptTargets(n,(()=>{this.walk(e.trySuite)})),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0),e.exceptClauses.forEach(((e,t)=>{this._currentFlowNode=this._finishFlowLabel(n[t]),this.walk(e),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0)})),e.finallySuite&&this._finallyTargets.pop(),this._currentFlowNode=this._finishFlowLabel(i)})),e.finallySuite){this.walk(e.finallySuite);const t={flags:ft.PostFinally,id:kt(),finallyNode:e.finallySuite,antecedent:this._currentFlowNode,preFinallyGate:o};this._currentFlowNode=r?t:ru._unreachableFlowNode}return this._functionCodeFlowComplexity+=4,!1}visitAwait(e){var t;const n=kr(e);if(void 0===n||!n.isAsync){if(this._fileInfo.isIPythonMode&&void 0===n)return!0;32!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&this._addError(ml.Diagnostic.awaitNotInAsync(),e)}return!0}visitGlobal(e){const t=this._currentScope.getGlobalScope();return e.nameList.forEach((e=>{const n=e.value;0===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.nonLocalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope&&this._addError(ml.Diagnostic.globalReassignment().format({name:n}),e),this._bindNameToScope(t,n),this._currentScope!==t&&this._currentScope.setBindingType(n,1)})),!0}visitNonlocal(e){const t=this._currentScope.getGlobalScope();return this._currentScope===t?this._addError(ml.Diagnostic.nonLocalInModule(),e):e.nameList.forEach((e=>{const n=e.value;1===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.globalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope?this._addError(ml.Diagnostic.nonLocalReassignment().format({name:n}),e):i&&i.scope!==t||this._addError(ml.Diagnostic.nonLocalNoBinding().format({name:n}),e),i&&this._currentScope.setBindingType(n,0)})),!0}visitImportAs(e){var t,n,i,r,s,o;if(e.module.nameParts.length>0){const a=e.module.nameParts[0].value;let l;l=e.alias?e.alias.value:a;const c=this._bindNameToScope(this._currentScope,l);!c||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,c);const u=Rt(e.module);w(void 0!==u),c&&this._createAliasDeclarationForMultipartImportName(e,e.alias,u,c),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!==(r=null===(i=e.alias)||void 0===i?void 0:i.value)&&void 0!==r?r:a):"dataclasses"===a&&this._dataclassesImportAliases.push(null!==(o=null===(s=e.alias)||void 0===s?void 0:s.value)&&void 0!==o?o:a))}return!0}visitImportFrom(e){const t=["Final","TypeAlias","ClassVar","Required","NotRequired","Annotated"],n=["InitVar"],i=Rt(e.module);let r="";i&&i.isImportFound&&!i.isNativeLib&&(r=i.resolvedPaths[i.resolvedPaths.length-1]);const s=he(de(this._fileInfo.filePath)),o="__init__"===s&&1===e.module.leadingDots&&1===e.module.nameParts.length;let a=!1,l=!1;if(1===e.module.nameParts.length){const t=e.module.nameParts[0].value;"typing"!==t&&"typing_extensions"!==t||(a=!0),"dataclasses"===t&&(l=!0)}if(e.isWildcardImport){if((Er(e)||kr(e))&&this._addError(ml.Diagnostic.wildcardInFunction(),e),i){const s=[],c=this._fileInfo.importLookup(r);if(c){const t=this._getWildcardImportNames(c);o&&(t.some((t=>t===e.module.nameParts[0].value))||this._addImplicitFromImport(e,i)),t.forEach((t=>{const n=this._bindNameToScope(this._currentScope,t);if(n)if(c.symbolTable.get(t)){const i={type:6,node:e,path:r,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,symbolName:t,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(i),s.push(t)}else if(i&&i.filteredImplicitImports){const s=i.filteredImplicitImports.find((e=>e.name===t));if(s){const i={type:6,node:e,path:s.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},o={type:6,node:e,path:r,loadSymbolsFromPath:!0,usesLocalName:!1,symbolName:t,submoduleFallback:i,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(o)}}}))}this._createFlowWildcardImport(e,s),a&&t.forEach((e=>{this._typingSymbolAliases.set(e,e)})),l&&n.forEach((e=>{this._dataclassesSymbolAliases.set(e,e)}))}}else o&&this._addImplicitFromImport(e,i),e.imports.forEach((o=>{const c=o.name.value,u=o.alias||o.name,p=this._bindNameToScope(this._currentScope,u.value);if(p){let d,h;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(u.value,p)),i&&i.filteredImplicitImports&&(d=i.filteredImplicitImports.find((e=>e.name===c)));let m=!0;d&&(h={type:6,node:o,path:d.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},"__init__"===s&&1===e.module.leadingDots&&0===e.module.nameParts.length&&(m=!1));const f={type:6,node:o,path:r,loadSymbolsFromPath:m,usesLocalName:!!o.alias,symbolName:c,submoduleFallback:h,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,isNativeLib:null==i?void 0:i.isNativeLib};p.addDeclaration(f),this._createFlowAssignment(o.alias||o.name),a&&t.some((e=>e===o.name.value))&&this._typingSymbolAliases.set(u.value,o.name.value),l&&n.some((e=>e===o.name.value))&&this._dataclassesSymbolAliases.set(u.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,r=this._createBranchLabel(i);return this._addAntecedent(r,t),r.affectedExpressions=this._trackCodeFlowExpressions((()=>{if(this._useExceptTargets([t,n],(()=>{this.walk(e.suite)})),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=r,this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}})),!1}visitTernary(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{this._bindConditional(e.testExpression,n,i),this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.ifExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),this.walk(e.elseExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!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 r=this._createBranchLabel();36===e.operator?this._bindConditional(e.leftExpression,r,i):this._bindConditional(e.leftExpression,n,r),this._currentFlowNode=this._finishFlowLabel(r),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=kr(e);return this._createNewScope(0,this._getNonClassParentScope(),(()=>{var n;Nt(e,this._currentScope);const i=this._createBranchLabel();for(let i=0;i{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const i=this._createBranchLabel();let r=!1;return e.cases.forEach((t=>{const s=this._createBranchLabel(),o=this._createBranchLabel(),a=this._createBranchLabel();this._addAntecedent(o,this._currentFlowNode),t.isIrrefutable?t.guardExpression||(r=!0):this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(o),this.walk(t.pattern),n&&this._createFlowNarrowForPattern(e.subjectExpression,t),t.guardExpression?this._bindConditional(t.guardExpression,a,s):this._addAntecedent(a,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(a),this.walk(t.suite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(s)})),n&&(this._createFlowNarrowForPattern(e.subjectExpression,e),r||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.value);if(this._createAssignmentTargetFlowNodes(e.target,!1,!1),t){const n={type:1,node:e.target,isConstant:Zt(e.target.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.target.start,dt.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}_getNonClassParentScope(){let e=this._currentScope;for(;2===e.type;)e=e.parent;return e}_addSlotsToCurrentScope(e){w(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,9);const t="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(e)&&t&&i.setIsPrivateMember()}const r={type:1,node:n,isConstant:Zt(e),isDefinedBySlots:!0,path:this._fileInfo.filePath,range:St(n.start,n.start+n.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(r)}t||this._currentScope.setSlotsNames(e.map((e=>e.strings[0].value)))}_isInListComprehension(e,t=!1){let n,i,r=e;for(;r;){if(32===r.nodeType){if(t&&r.forIfNodes.length>0){const e=r.forIfNodes[0];if(n===e&&33===e.nodeType&&i===e.iterableExpression)return!1}return!0}i=n,n=r,r=r.parent}return!1}_addPatternCaptureTarget(e){const t=this._bindNameToScope(this._currentScope,e.value);if(this._createAssignmentTargetFlowNodes(e,!1,!1),t){const n={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:e.parent,path:this._fileInfo.filePath,range:St(e.start,dt.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;const n=this._currentScope.lookUpSymbol(e);if(!n)return;const i=n.getDeclarations().find((e=>6===e.type)),r=(null==i?void 0:i.path)&&i.loadSymbolsFromPath?i.path:(null===(t=null==i?void 0:i.submoduleFallback)||void 0===t?void 0:t.path)&&i.submoduleFallback.loadSymbolsFromPath?i.submoduleFallback.path:void 0;if(!r)return;const s=this._fileInfo.importLookup(r);return s?s.dunderAllNames:void 0}_addImplicitFromImport(e,t){const n=e.module.nameParts[0].value,i=this._bindNameToScope(this._currentScope,n);i&&this._createAliasDeclarationForMultipartImportName(e,void 0,t,i),this._createFlowAssignment(e.module.nameParts[0])}_createAliasDeclarationForMultipartImportName(e,t,n,i){const r=e.module.nameParts[0].value;if(n&&n.isImportFound&&!n.isNativeLib&&n.resolvedPaths.length>0){const s=i.getDeclarations().find((e=>6===e.type&&e.firstNamePart===r));let o;if(o=s||{type:6,node:e,path:n.resolvedPaths[n.resolvedPaths.length-1],loadSymbolsFromPath:!1,moduleName:n.importName,isInExceptSuite:this._isInExceptSuite,range:{start:{line:0,character:0},end:{line:0,character:0}},firstNamePart:r,usesLocalName:!!t},t||1===e.module.nameParts.length)o.path=n.resolvedPaths[n.resolvedPaths.length-1],o.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,o);else{let t=o;for(let i=1;i=n.resolvedPaths.length);i++){const r=e.module.nameParts[i].value;let s=t.implicitImports?t.implicitImports.get(r):void 0;s||(s={path:n.resolvedPaths[i],loadSymbolsFromPath:!1,implicitImports:new Map},t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(r,s)),i===e.module.nameParts.length-1&&(s.path=n.resolvedPaths[i],s.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,s)),t=s}}s||i.addDeclaration(o)}else{const n={type:6,node:e,path:"*** unresolved ***",loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!!t,moduleName:"",isUnresolved:!0,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(n)}}_getWildcardImportNames(e){const t=[];if(e.dunderAllNames){if(!e.usesUnsupportedDunderAllForm)return e.dunderAllNames;t.push(...e.dunderAllNames)}return e.symbolTable.forEach(((e,n)=>{e.isExternallyHidden()||Yt(n)||t.push(n)})),t}_walkStatementsAndReportUnreachable(e){let t=!1;for(const n of e)Ut(n,this._currentFlowNode),t||(t=this._isCodeUnreachable()),t?this._targetFunctionDeclaration&&!this._targetFunctionDeclaration.isGenerator&&(new su).checkContainsYield(n)&&(this._targetFunctionDeclaration.isGenerator=!0):this.walk(n);return!1}_createStartFlowNode(){return{flags:ft.Start,id:kt()}}_createBranchLabel(e){return{flags:ft.BranchLabel,id:kt(),antecedents:[],preBranchAntecedent:e,affectedExpressions:void 0}}_createFlowNarrowForPattern(e,t){const n={flags:ft.NarrowForPattern,id:kt(),subjectExpression:e,statement:t,antecedent:this._currentFlowNode};this._currentFlowNode=n}_createContextManagerLabel(e,t,n){return{flags:ft.PostContextManager|ft.BranchLabel,id:kt(),antecedents:[],expressions:e,affectedExpressions:void 0,isAsync:t,blockIfSwallowsExceptions:n}}_createLoopLabel(){return{flags:ft.LoopLabel,id:kt(),antecedents:[],affectedExpressions:void 0}}_finishFlowLabel(e){return 0===e.antecedents.length?ru._unreachableFlowNode:1===e.antecedents.length&&e.flags===ft.BranchLabel?e.antecedents[0]:(this._functionCodeFlowComplexity+=e.antecedents.length,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?ft.TrueNeverCondition:ft.FalseNeverCondition,this._currentFlowNode,e)),this._addAntecedent(t,this._currentFlowNode);else if(36===e.operator){const i=this._currentFlowNode;this._bindNeverCondition(e.leftExpression,t,n),this._currentFlowNode=i,this._bindNeverCondition(e.rightExpression,t,n)}else{const i=this._currentFlowNode,r=this._createBranchLabel();if(this._bindNeverCondition(e.leftExpression,r,n),i!==this._currentFlowNode){this._currentFlowNode=this._finishFlowLabel(r);const s=this._currentFlowNode;this._bindNeverCondition(e.rightExpression,t,n),s===this._currentFlowNode&&(this._currentFlowNode=i)}}}_bindConditional(e,t,n){this._setTrueFalseTargets(t,n,(()=>{this.walk(e)})),this._isLogicalExpression(e)||(this._addAntecedent(t,this._createFlowConditional(ft.TrueCondition,this._currentFlowNode,e)),this._addAntecedent(n,this._createFlowConditional(ft.FalseCondition,this._currentFlowNode,e)))}_disableTrueFalseTargets(e){this._setTrueFalseTargets(void 0,void 0,e)}_setTrueFalseTargets(e,t,n){const i=this._currentTrueTarget,r=this._currentFalseTarget;this._currentTrueTarget=e,this._currentFalseTarget=t,n(),this._currentTrueTarget=i,this._currentFalseTarget=r}_createFlowConditional(e,t,n){if(t.flags&ft.Unreachable)return t;const i=eu(n,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);if(!0===i&&e&ft.FalseCondition||!1===i&&e&ft.TrueCondition)return ru._unreachableFlowNode;const r=[];if(!this._isNarrowingExpression(n,r))return t;r.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const s=r.filter((e=>38===e.nodeType)),o={flags:e,id:kt(),reference:s.length>0?s[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!!Dt(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,r=12===e.operator||28===e.operator;if(i||r){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 s=this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i)return s;if(r){const i=this._isNarrowingExpression(e.rightExpression,t,n,!0);return s||i}}return!(41!==e.operator&&42!==e.operator||48!==e.leftExpression.nodeType||!this._isNarrowingExpression(e.rightExpression,t,n,!0))||41===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:ft.Call,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode),this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode)}_createVariableAnnotationFlowNode(){if(!this._isCodeUnreachable()){const e={flags:ft.VariableAnnotation,id:kt(),antecedent:this._currentFlowNode};this._currentFlowNode=e}}_createFlowAssignment(e,t=!1){let n=0;if(38===e.nodeType){const t=this._currentScope.lookUpSymbolRecursive(e.value);w(void 0!==t),n=t.symbol.id}const i=this._currentFlowNode;if(!this._isCodeUnreachable()&&Dt(e)){const i={flags:ft.Assignment,id:kt(),node:e,antecedent:this._currentFlowNode,targetSymbolId:n},r=At(e);this._currentScopeCodeFlowExpressions.add(r),t&&(i.flags|=ft.Unbind),35===e.nodeType&&this._addExceptTargets(i),this._currentFlowNode=i}t&&void 0!==Lt(e)||Ut(e,t?i:this._currentFlowNode)}_createFlowWildcardImport(e,t){if(!this._isCodeUnreachable()){const n={flags:ft.WildcardImport,id:kt(),node:e,names:t,antecedent:this._currentFlowNode};this._addExceptTargets(n),this._currentFlowNode=n}Ut(e,this._currentFlowNode)}_createFlowExhaustedMatch(e){if(!this._isCodeUnreachable()){const t={flags:ft.ExhaustedMatch,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode)}_isCodeUnreachable(){return!!(this._currentFlowNode.flags&ft.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,r=this._currentBreakTarget,s=this._functionCodeFlowComplexity;this._currentContinueTarget=e,this._currentBreakTarget=t,this._functionCodeFlowComplexity=1,e.affectedExpressions=this._trackCodeFlowExpressions(n),this._currentContinueTarget=i,this._currentBreakTarget=r,this._functionCodeFlowComplexity=2*this._functionCodeFlowComplexity+s}_addAntecedent(e,t){this._currentFlowNode.flags&ft.Unreachable||e.antecedents.some((e=>e.id===t.id))||e.antecedents.push(t)}_bindNameToScope(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||Yt(t)&&(Kt(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()).lookUpSymbolRecursive(t);if(e)return e.symbol}}_bindPossibleTupleNamedTarget(e,t){switch(e.nodeType){case 38:this._bindNameToScope(this._currentScope,e.value,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:{start:{line:0,character:0},end:{line:0,character:0}},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&&Yt(e)&&(i|=2),n=this._currentScope.addSymbol(e,i)}return n}_createNewScope(e,t,n){const i=this._currentScope,r=new Zc(e,t);this._currentScope=r;const s=4===e||3===e||1===e,o=this._currentScopeCodeFlowExpressions;return s&&(this._currentScopeCodeFlowExpressions=new Set),n(),this._currentScopeCodeFlowExpressions=o,this._currentScope=i,r}_addInferredTypeAssignmentForVariable(e,t,n=!1){switch(e.nodeType){case 38:{const i=e,r=this._currentScope.lookUpSymbolRecursive(i.value);if(r&&r.symbol){const s={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:t,isInferenceAllowedInPyTyped:this._isInferenceAllowedInPyTyped(i.value),typeAliasName:n?e:void 0,path:this._fileInfo.filePath,range:St(i.start,dt.getEnd(i),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.symbol.addDeclaration(s)}break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.isClassMember()&&r.getDeclarations().some((e=>3===e.type&&e.isMethod))||r.setIsInstanceMember():r.setIsClassMember();const s={type:1,node:e.memberName,isConstant:Zt(i.value),inferredTypeSource:t,isDefinedByMemberAccess:!0,path:this._fileInfo.filePath,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(s)}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,r;let s=!1;switch(e.nodeType){case 38:{const o=e,a=this._currentScope.lookUpSymbolRecursive(o.value);if(a&&a.symbol){const s=this._isAnnotationFinal(t),l=this._isAnnotationTypeAlias(t);let c=t,u=t;l?(c=void 0,u=void 0,2!==this._currentScope.type&&3!==this._currentScope.type&&4!==this._currentScope.type&&this._addError(ml.Diagnostic.typeAliasNotInModuleOrClass(),t)):s.isFinal&&(u=s.finalTypeNode,s.finalTypeNode||(c=void 0));let p=this._isAnnotationClassVar(t);if(p.isClassVar&&(u=p.classVarTypeNode,p.classVarTypeNode||(c=void 0)),s.isFinal){const t=Dr(e);t&&10===t.nodeType&&(3!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&3!==(null===(r=null===(i=e.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType)||(p={isClassVar:!0,classVarTypeNode:void 0}))}const d={type:1,node:e,isConstant:Zt(o.value),isFinal:s.isFinal,isClassVar:p.isClassVar,isRequired:this._isRequiredAnnotation(u),isNotRequired:this._isNotRequiredAnnotation(u),typeAliasAnnotation:l?t:void 0,typeAliasName:l?e:void 0,path:this._fileInfo.filePath,typeAnnotationNode:c,range:St(o.start,dt.getEnd(o),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};if(a.symbol.addDeclaration(d),p.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()}}s=!0;break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.setIsInstanceMember():r.setIsClassMember();const o=this._isAnnotationFinal(t),a={type:1,node:e.memberName,isConstant:Zt(i.value),isDefinedByMemberAccess:!0,isFinal:o.isFinal,path:this._fileInfo.filePath,typeAnnotationNode:o.isFinal&&!o.finalTypeNode?void 0:t,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(a),s=!0}break}}s||this._addError(ml.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,r;let s,o=e;for(;o&&3!==o.nodeType;)54!==o.nodeType||s||(s=o),o=o.parent;if(3!==(null==o?void 0:o.nodeType)){if(!s)return;o=s}const a=o.parent;if(47!==(null==a?void 0:a.nodeType))return;const l=a.parent;if(!l||36!==l.nodeType&&50!==l.nodeType)return;const c=l.statements.findIndex((e=>e===a));if(c<0||c===l.statements.length-1)return;const u=l.statements[c+1];if(47!==u.nodeType||!Vr(u))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===(r=null===(i=null==a?void 0:a.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType))p=!0;else{const e=kr(a);e&&"__init__"===e.name.value&&Er(e,!0)&&(p=!0)}if(!p)return;const d=u.statements[0].strings;return 1===d.length?d[0].value:d.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=kr(e);if(!n)return;const i=Er(n,!0);if(!i)return;let r=!1;if(n.parameters.length<1||!n.parameters[0].name)return;const s=i.name.value,o=n.parameters[0].name.value;if(t===s)r=!1;else{if(t!==o)return;if("__new__"===n.name.value)r=!1;else{r=!0;for(const e of n.decorators)if(38===e.expression.nodeType){const t=e.expression.value;if("staticmethod"===t)return;if("classmethod"===t){r=!1;break}}}}const a=Ft(i);return w(void 0!==a),{classNode:i,methodNode:n,classScope:a,isInstanceMember:r}}_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]]),r=n.value;if(!i.has(r))return!1;const s=this._bindNameToScope(this._currentScope,r);return s&&s.addDeclaration({type:5,node:t,path:this._fileInfo.filePath,range:St(t.start,dt.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,callback:e})}_bindDeferred(){for(;this._deferredBindingTasks.length>0;){const e=this._deferredBindingTasks.shift();this._currentScope=e.scope,this._currentScopeCodeFlowExpressions=e.codeFlowExpressions,e.callback()}}_bindYield(e){const t=kr(e);t?t.isAsync&&61===e.nodeType&&this._addError(ml.Diagnostic.yieldFromOutsideAsync(),e):function(e){let t=e.parent;for(;t;){if(30===t.nodeType)return t;if(50===t.nodeType)return;t=t.parent}}(e)||this._addError(ml.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),Ut(e,this._currentFlowNode)}_addDiagnostic(e,t,n,i){let r;switch(e){case"error":r=this._addError(n,i);break;case"warning":r=this._addWarning(n,i);break;case"information":r=this._addInformation(n,i);break;case"none":break;default:return k(e,`${e} is not expected`)}return r&&r.setRule(t),r}_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)}}ru._unreachableFlowNode={flags:ft.Unreachable,id:kt()};class su extends _r{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}}function ou(e,t,n,i){var r;if(4===n.nodeType)return null!==(r=ou(e,t,n.rightExpression,i))&&void 0!==r?r:ou(e,t,n.name,i);if(7===n.nodeType){const r=39===n.operator||40===n.operator,s=12===n.operator||28===n.operator;if(r||s){const o=39===n.operator||12===n.operator?i:!i;if(11===n.rightExpression.nodeType&&26===n.rightExpression.constType){let i=n.leftExpression;if(4===i.nodeType&&(i=i.name),Lr(t,i))return t=>function(e,t,n){const i=Ko(t,(e=>ta(e)));return e.mapSubtypesExpandTypeVars(i,void 0,((e,t)=>{if(ho(e))return e;const i=bo(t)&&0===t.details.constraints.length?t:e;return vo(e)&&Zs.isBuiltIn(e,"object")?n?Zo(to.createInstance(),e.condition):i:lo(e)===n?e:void 0}))}(e,t,o);if(24===i.nodeType&&Lr(t,i.baseExpression)&&1===i.items.length&&!i.trailingComma&&0===i.items[0].argumentCategory&&!i.items[0].name&&40===i.items[0].valueExpression.nodeType&&i.items[0].valueExpression.isInteger&&!i.items[0].valueExpression.isImaginary){const t=i.items[0].valueExpression.value;if("number"==typeof t)return n=>function(e,t,n,i){return e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(!vo(t)||!pa(t)||da(t)||!t.tupleTypeArguments)return t;const r=t.tupleTypeArguments.length;if(i<0||i>=r)return t;const s=e.makeTopLevelTypeVarsConcrete(t.tupleTypeArguments[i].type);if(n){if(!e.canAssignType(s,to.createInstance()))return}else if(lo(s))return;return t}))}(e,n,o,t)}}if(r&&9===n.leftExpression.nodeType){const i=e.getTypeOfExpression(n.leftExpression.leftExpression,void 0,2).type;if(_o(i)&&Zs.isBuiltIn(i,"type")&&1===n.leftExpression.arguments.length&&0===n.leftExpression.arguments[0].argumentCategory&&Lr(t,n.leftExpression.arguments[0].valueExpression)){const t=e.makeTopLevelTypeVarsConcrete(e.getTypeOfExpression(n.rightExpression).type);if(_o(t))return e=>function(e,t,n){return Ko(e,(e=>{if(vo(e)){const i=Zs.isDerivedFrom(t,Zs.cloneAsInstantiable(e));if(n)return i?Zs.isSameGenericClass(e,t)?e:Zs.cloneAsInstance(t):void 0;if(i&&Zs.isFinal(e))return;return e}return lo(e)?n?void 0:e:ho(e)&&n?Zs.cloneAsInstance(t):e}))}(e,t,o)}}if(r&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>pu(e,n,t,o,!0)}if(s){const r=12===n.operator?i:!i;if(Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(24===n.leftExpression.nodeType&&1===n.leftExpression.items.length&&!n.leftExpression.trailingComma&&0===n.leftExpression.items[0].argumentCategory&&Lr(t,n.leftExpression.baseExpression)){const t=e.getTypeOfExpression(n.leftExpression.items[0].valueExpression).type;if(vo(t)&&ra(t))if(Zs.isBuiltIn(t,"str")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const s=gl(e,t).get(n.literalValue);if(s&&sa(s.valueType))return r?e.canAssignType(s.valueType,i)?t:void 0:e.canAssignType(i,s.valueType)?void 0:t}return s=!1,t}));return s?o:t}(e,n,t,i,r)}else if(Zs.isBuiltIn(t,"int")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{var o;if(vo(t)&&Zs.isTupleClass(t)&&!da(t)&&"number"==typeof n.literalValue){const s=n.literalValue;if(t.tupleTypeArguments&&s>=0&&sfunction(e,t,n,i){return Ko(t,(t=>{const r=e.makeTopLevelTypeVarsConcrete(t);return vo(r)&&pa(r)&&!da(r)&&r.tupleTypeArguments?r.tupleTypeArguments.length===n===i?t:void 0:t}))}(e,n,t,o)}}if(s&&35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}if(35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}}if(41===n.operator&&i&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;return n=>function(e,t,n){if(!vo(n)||!Zs.isBuiltIn(n))return t;const i=n.details.name;if(!["list","set","frozenset","deque","tuple"].some((e=>e===i)))return t;if(!n.typeArguments||1!==n.typeArguments.length)return t;let r=n.typeArguments[0];pa(n)&&n.tupleTypeArguments&&(r=Oo(n.tupleTypeArguments.map((e=>e.type))));let s=!0;const o=Qo(r),a=Ko(t,(t=>ho(t)?(s=!1,t):e.canAssignType(r,t)?t:e.canAssignType(o,t)?Ko(r,(e=>{if(vo(e)&&Lo(t,e))return e})):void 0));return s?a:t}(e,n,t)}if((41===n.operator||42===n.operator)&&Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const r=41===n.operator?i:!i;return n=>function(e,t,n,i){return Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const r=gl(e,t,!0).get(n.literalValue);if(i){if(!r)return Zs.isFinal(t)?void 0:t;if(r.isRequired||r.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:r.valueType,isRequired:!1,isProvided:!0}),Zs.cloneAsInstance(Zs.cloneForNarrowedTypedDictEntries(Zs.cloneAsInstantiable(t),i))}return void 0!==r&&(r.isRequired||r.isProvided)?void 0:t}return t}))}(e,n,Zs.cloneAsInstantiable(t),r)}}}if(9===n.nodeType){const r=e.getTypeOfExpression(n.leftExpression,void 0,2).type;if(Eo(r)&&("isinstance"===r.details.builtInName||"issubclass"===r.details.builtInName)&&2===n.arguments.length){const s="isinstance"===r.details.builtInName,o=n.arguments[0].valueExpression,a=n.arguments[1].valueExpression;if(Lr(t,o)){const t=function(e){let t=!1;const n=[],i=e=>{e.forEach((e=>{_o(e)||bo(e)&&Ks.isInstantiable(e)||co(e)||Eo(e)&&2===e.details.parameters.length&&1===e.details.parameters[0].category&&2===e.details.parameters[1].category?n.push(e):t=!0}))};return Jo(e,(e=>{yo(e)&&Ks.isInstance(e)&&pa(e)?e.tupleTypeArguments&&i(e.tupleTypeArguments.map((e=>e.type))):i([e])})),t?void 0:n}(e.getTypeOfExpression(a,void 0,168).type);if(t)return r=>{const o=cu(e,r,t,s,i,!1,n);return ao(o)?cu(e,r,t,s,i,!0,n):o}}}if(Eo(r)&&"callable"===r.details.builtInName&&1===n.arguments.length&&Lr(t,n.arguments[0].valueExpression))return t=>{let r=hu(e,t,i,n,!1);return i&&ao(r)&&(r=hu(e,t,i,n,!0)),r};if(_o(r)&&Zs.isBuiltIn(r,"bool")&&1===n.arguments.length&&!n.arguments[0].name&&Lr(t,n.arguments[0].valueExpression))return t=>lu(e,t,i);if(n.arguments.length>=1&&Lr(t,n.arguments[0].valueExpression)&&Eo(r)&&r.details.declaredReturnType&&vo(r.details.declaredReturnType)&&Zs.isBuiltIn(r.details.declaredReturnType,["TypeGuard","StrictTypeGuard"])){const t=e.getTypeOfExpression(n).type;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&t.typeGuardType){const n=Zs.isBuiltIn(r.details.declaredReturnType,"StrictTypeGuard"),s=t.typeGuardType;return t=>function(e,t,n,i,r){return r?Ko(t,(t=>Ko(n,(r=>{const s=e.canAssignType(n,t),o=e.canAssignType(t,r);if(i){if(s)return t;if(o)return r}else if(!s&&!s)return t})))):i?n:t}(e,t,s,i,n)}}}if(Lr(t,n))return t=>lu(e,t,i);if(38===n.nodeType&&38===t.nodeType&&n!==t){const r=au(e,n,n);if(r&&1===r.length&&1===r[0].type){const s=au(e,t,n);if(s){let o=[];if(s.length>1&&(o=s.filter((t=>e.isNodeReachable(n,t.node)&&e.isNodeReachable(t.node,r[0].node)))),0===o.length){const s=r[0].inferredTypeSource;if(s&&!Mr(n,s)&&yr(s))return ou(e,t,s,i)}}}}return 55===n.nodeType&&38===n.operator?ou(e,t,n.expression,!i):void 0}function au(e,t,n){const i=zs(t);if(1!==(null==i?void 0:i.type)&&3!==(null==i?void 0:i.type))return;const r=i.lookUpSymbol(t.value);if(!r)return;const s=r.getDeclarations();if(0===s.length||s.some((e=>1!==e.type&&2!==e.type)))return;let o;if(s.some((e=>{const t=Rr(2===e.type?e.node.name:e.node);return!(!o||t===o)||(o=t,!1)})))return;const a=s.filter((t=>e.isNodeReachable(n,t.node)));return a.length>0?a:void 0}function lu(e,t,n){return Ko(t,(t=>{if(n){if(e.canBeTruthy(t))return e.removeFalsinessFromType(t)}else if(e.canBeFalsy(t))return e.removeTruthinessFromType(t)}))}function cu(e,t,n,i,r,s,o){const a=Ko(t,(e=>ta(e))),l=(t,a,l,c)=>{const u=[];let p=!1,d=!1;for(const c of n){const n=e.makeTopLevelTypeVarsConcrete(c);if(_o(n)){const h=!bo(c)&&(Zs.isDerivedFrom(t,n)||i&&Zs.isProtocolClass(n)&&e.canAssignType(n,t)||Zs.isBuiltIn(n,"dict")&&Zs.isTypedDictClass(t)),m=Zs.isDerivedFrom(n,t)||i&&Zs.isProtocolClass(t)&&e.canAssignType(t,n);if(h&&(p=!0),m&&h&&!Zs.isSameGenericClass(t,n)&&(d=!0),r)if(h)u.push(Zo(t,l));else if(m){let n=c;if(yo(c)&&(Zs.isSpecialBuiltIn(c)||c.details.typeParameters.length>0)){const i=new jo(na(c)),r=Zs.cloneForSpecialization(c,void 0,!1);e.populateTypeVarMapBasedOnExpectedType(r,t,i,void 0)&&(n=fa(r,i,!0))}u.push(Zo(n,l))}else if(s){const e=``,r=Vt(o);let s=Zs.createInstantiable(e,br(o,r.moduleName,e),r.moduleName,r.filePath,0,Ir(o),void 0,t.details.effectiveMetaclass,t.details.docString);s.details.baseClasses=[Zs.cloneAsInstantiable(t),n],Ha(s),s=Zo(s,n.condition),bo(a)&&!a.details.isParamSpec&&0===a.details.constraints.length&&(s=Zo(s,[{typeVarName:oo.getNameWithScope(a),constraintIndex:0,isConstrainedTypeVar:!1}])),u.push(i?Zs.cloneAsInstance(s):s)}}else if(bo(c)&&Ks.isInstantiable(c))i&&Ks.isInstance(a)?bo(a)&&Ao(Fa(c),a)?r&&u.push(a):r?u.push(Fa(c)):(u.push(a),d=!0):!i&&Ks.isInstantiable(a)&&(bo(a)&&Ao(c,a)?r&&u.push(a):r?u.push(c):(u.push(a),d=!0));else if(Eo(c)&&i){let e=!1;yo(t)&&(e=!!Ks.isInstantiable(a)||!!va(t,"__call__")),e&&(r?u.push(a):p=!0)}}return r||p&&!d||u.push(c),i?u.map((e=>Fa(e))):u},c=[],u=[],p=e.mapSubtypesExpandTypeVars(a,void 0,((t,s)=>{const a=Xo(t)?t:s,p=vo(t)&&Zs.isBuiltIn(t,"type");if(r&&ho(t))return i?c.push(Oo(n.map((e=>Fa(e))))):c.push(Oo(n)),void u.push(t);if(i){if(lo(t)){const e=n.some((e=>co(e)));return r?e?t:void 0:e?void 0:t}if((To(t)||vo(t)&&Zs.isBuiltIn(t,"ModuleType"))&&r){const t=n.filter((t=>{const n=e.makeTopLevelTypeVarsConcrete(t);return _o(n)&&Zs.isProtocolClass(n)}));if(t.length>0)return Fa(Oo(t))}if(vo(t)&&!p)return Oo(l(Zs.cloneAsInstantiable(t),Fa(s),Xo(t),a));if((Eo(t)||ko(t))&&i)return Oo(((t,i)=>{const s=[];if(r)for(const r of n){const n=e.makeTopLevelTypeVarsConcrete(r);e.canAssignType(t,Fa(n))&&(Eo(r)?s.push(i):s.push(Fa(r)))}else n.some((n=>{const i=e.makeTopLevelTypeVarsConcrete(n);return!(yo(i)&&!Zs.isProtocolClass(i))&&e.canAssignType(t,Fa(i))}))||s.push(i);return s})(t,Fa(s)));if(_o(t)||p){const e=n.some((e=>_o(e)&&Zs.isBuiltIn(e,"type")));return r?e?a:void 0:e?void 0:a}}else{if(_o(t))return Oo(l(t,s,Xo(t),a));if(p){const n=e.getBuiltInObject(o,"object");if(n&&vo(n))return Oo(l(Zs.cloneAsInstantiable(n),Na(s),Xo(t),a))}}return r?void 0:a}));return ao(p)&&c.length>0?Oo(c):u.length>0?Oo([p,...u]):p}function uu(e,t,n,i,r){return Ko(t,(t=>{let s;if(vo(t)?s=_a(t,n):_o(t)&&(s=va(t,n)),s&&s.isTypeDeclared){const n=e.getTypeOfMember(s);if(sa(n))return r?e.canAssignType(n,i)?t:void 0:e.canAssignType(i,n)?void 0:t}return t}))}function pu(e,t,n,i,r){return Ko(t,(t=>{if(vo(t=e.makeTopLevelTypeVarsConcrete(t))&&Zs.isSameGenericClass(n,t)){if(void 0!==t.literalValue){const e=Zs.isLiteralValueSame(t,n);if(e&&!i||!e&&i)return;return t}if(i)return n;{const i=du(e,t);if(i&&i.length>0)return Oo(i.filter((e=>!Zs.isLiteralValueSame(e,n))))}}else if(i&&(r||lo(t)))return;return t}))}function du(e,t){if(Zs.isBuiltIn(t,"bool"))return[Zs.cloneWithLiteral(t,!0),Zs.cloneWithLiteral(t,!1)];if(Zs.isEnumClass(t)){const n=[];return t.details.fields.forEach((i=>{if(!i.isIgnoredForProtocolMatch()){const r=e.getEffectiveTypeOfSymbol(i);vo(r)&&Zs.isSameGenericClass(t,r)&&void 0!==r.literalValue&&n.push(r)}})),n}}function hu(e,t,n,i,r){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(Ks.isInstantiable(e))return n?e:void 0;if(va(e,"__call__"))return n?e:void 0;if(!n)return e;if(r){const t=``,n=Vt(i);let r=Zs.createInstantiable(t,br(i,n.moduleName,t),n.moduleName,n.filePath,0,Ir(i),void 0,e.details.effectiveMetaclass,e.details.docString);r.details.baseClasses=[Zs.cloneAsInstantiable(e)],Ha(r),r=Zo(r,e.condition);const s=Xs.createInstance("__call__","","",64),o={category:0,name:"self",type:Zs.cloneAsInstance(r),hasDeclaredType:!0};return Xs.addParameter(s,o),Xs.addDefaultParameters(s),s.details.declaredReturnType=Ys.create(),r.details.fields.set("__call__",qo.createWithType(4,s)),Zs.cloneAsInstance(r)}return;default:return e}}))}const mu=["builtins.bool","builtins.bytearray","builtins.bytes","builtins.dict","builtins.float","builtins.frozenset","builtins.int","builtins.list","builtins.set","builtins.str","builtins.tuple"];function fu(e,t,n,i){switch(n.nodeType){case 65:return function(e,t,n,i){if(!i)return t;let r=vu(e,t,n.entries.length,n.starEntryIndex);return r=r.filter((t=>{let i=!0;const r=[];let s=t.isTuple;if(n.entries.forEach(((o,a)=>{const l=Tu(e,n,t,a,n.entries.length,n.starEntryIndex,!0,!1),c=fu(e,l,o,!0);a===n.starEntryIndex?vo(c)&&c.tupleTypeArguments&&!da(c)&&c.tupleTypeArguments?r.push(...c.tupleTypeArguments.map((e=>e.type))):(r.push(c),s=!1):(r.push(c),ao(c)&&(i=!1))})),i){if(s){const i=e.getBuiltInType(n,"tuple");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(Va(i,r.map((e=>({type:e,isUnbounded:!1}))))))}if(t.isObject){const i=e.getTypingType(n,"Sequence");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[Qo(Oo(r))],!0)))}}return i})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 67:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type;return Ko(t,i?t=>{if(e.canAssignType(t,r))return r}:t=>{if(!(vo(r)&&ra(r)&&vo(t)&&ra(t)&&e.canAssignType(r,t)||lo(t)&&lo(r)))return vo(t)&&Zs.isBuiltIn(t,"bool")&&void 0===t.literalValue&&vo(r)&&Zs.isBuiltIn(r,"bool")&&void 0!==r.literalValue?Zs.cloneWithLiteral(r,!r.literalValue):t})}(e,t,n,i);case 68:return function(e,t,n,i){let r=e.getTypeOfExpression(n.className,void 0,2).type;if(yo(r)&&!r.typeAliasInfo&&(r=xa(r)),!i){if(!_o(r))return t;let s=r;s.details.typeParameters.length>0&&(s=Zs.cloneForSpecialization(s,void 0,!1));const o=Fa(s);return e.mapSubtypesExpandTypeVars(t,void 0,((t,r)=>{if(!vo(t))return r;if(!e.canAssignType(o,t))return t;if(0===n.arguments.length)return;if(!e.canAssignType(t,o)&&!Zs.isFinal(t))return t;if(1===n.arguments.length&&!n.arguments[0].name&&mu.some((e=>s.details.fullName===e)))return;let a=[];n.arguments.some((e=>!e.name))&&yo(t)&&(a=gu(e,t));for(let s=0;sho(r)?s:_o(r)?e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(ho(t))return Fa(s);if(vo(t)){let o;if(e.canAssignType(r,Zs.cloneAsInstantiable(t)))o=t;else{if(!e.canAssignType(Zs.cloneAsInstantiable(t),r))return;if(o=Zo(Fa(s),Xo(t)),_o(s)&&vo(t)&&(Zs.isSpecialBuiltIn(s)||s.details.typeParameters.length>0)){const n=new jo(na(s)),i=Zs.cloneForSpecialization(s,void 0,!1),r=Zs.cloneAsInstance(i);e.populateTypeVarMapBasedOnExpectedType(r,t,n,[])&&(o=fa(r,n,!0))}}let a=[];n.arguments.some((e=>!e.name))&&(a=gu(e,r));let l=!0;if(n.arguments.forEach(((t,n)=>{ao(yu(e,t,n,a,o,i))&&(l=!1)})),l)return o}})):void 0)):(e.addDiagnostic(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(r)}),n.className),no.createNever())}(e,t,n,i);case 66:return function(e,t,n,i){let r=t;return i?Oo(n.orPatterns.map((t=>{const n=fu(e,r,t,!0);return r=fu(e,r,t,!1),n}))):(n.orPatterns.forEach((t=>{r=fu(e,r,t,!1)})),r)}(e,t,n,i);case 70:return function(e,t,n,i){if(!i)return t;let r=_u(e,t);return r=r.filter((t=>{let r=!0;return n.entries.forEach((s=>{if(t.typedDict){if(71===s.nodeType){const o=fu(e,e.getBuiltInObject(n,"str"),s.keyPattern,i);ao(o)&&(r=!1);const a=Ko(o,(n=>{if(ho(n))return n;if(vo(n)&&Zs.isBuiltIn(n,"str")){if(!ra(n))return Ys.create();const i=gl(e,t.typedDict).get(n.literalValue);if(i){const t=fu(e,i.valueType,s.valuePattern,!0);if(!ao(t))return t}}}));ao(a)&&(r=!1)}}else if(t.dictTypeArgs&&71===s.nodeType){const n=fu(e,t.dictTypeArgs.key,s.keyPattern,i),o=fu(e,t.dictTypeArgs.value,s.valuePattern,i);(ao(n)||ao(o))&&(r=!1)}})),r})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 73:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type,s=[];return e.mapSubtypesExpandTypeVars(r,void 0,((r,o)=>{s.push(e.mapSubtypesExpandTypeVars(t,Xo(r),(t=>{if(!i){if(vo(t)&&Zs.isEnumClass(t)&&!ra(t)&&vo(r)&&Lo(t,r)&&ra(r)){const n=du(e,t);if(n)return Oo(n.filter((e=>!Zs.isLiteralValueSame(r,e))))}else if(vo(t)&&vo(r)&&Zs.isLiteralValueSame(r,t))return;return t}return ao(r)||ao(t)?no.createNever():ho(r)||ho(t)?po(r)||po(t)?Ys.create():io.create():e.useSpeculativeMode(n.expression,(()=>e.getTypeFromMagicMethodReturn(r,[t],"__eq__",n.expression,void 0)))?o:void 0})))})),Oo(s)}(e,t,n,i);case 69:return i?t:no.createNever();case 0:return t}}function gu(e,t){const n=va(t,"__match_args__");if(n){const t=e.getTypeOfMember(n);if(vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments){const e=t.tupleTypeArguments;if(e.every((e=>vo(e.type)&&Zs.isBuiltIn(e.type,"str")&&ra(e.type))))return e.map((e=>e.type.literalValue))}}return[]}function yu(e,t,n,i,r,s){var o;let a,l;if(t.name?a=t.name.value:nr.details.fullName===e))&&0===n&&!t.name)l=Zs.cloneAsInstance(r);else if(a&&(l=null===(o=e.useSpeculativeMode(t,(()=>e.getTypeFromObjectMember(t,Zs.cloneAsInstance(r),a))))||void 0===o?void 0:o.type),!l){if(!s)return r;if(Zs.isFinal(r))return no.createNever();l=Ys.create()}return fu(e,l,t.pattern,s)}function _u(e,t){const n=[];return Jo(t,(t=>{const i=e.makeTopLevelTypeVarsConcrete(t);if(ho(i))n.push({subtype:t,dictTypeArgs:{key:i,value:i}});else if(vo(i))if(Zs.isTypedDictClass(i))n.push({subtype:t,typedDict:i});else{let e;for(const t of i.details.mro)if(_o(t)&&Zs.isBuiltIn(t,"Mapping")){e=t;break}if(e){const r=ha(e,i);r.typeArguments&&r.typeArguments.length>=2&&n.push({subtype:t,dictTypeArgs:{key:r.typeArguments[0],value:r.typeArguments[1]}})}}})),n}function vu(e,t,n,i){const r=[],s=void 0===i?n:n-1;return Jo(t,(t=>{const n=e.makeTopLevelTypeVarsConcrete(t);let o;if(ho(n))r.push({subtype:t,entryTypes:[n],isIndeterminateLength:!0});else if(vo(n)){if(Zs.isBuiltIn(n,"object"))return void r.push({subtype:t,entryTypes:[Fa(n)],isIndeterminateLength:!0,isObject:!0});for(const e of n.details.mro){if(!_o(e))break;if(Zs.isBuiltIn(e,"str")||Zs.isBuiltIn(e,"bytes")||Zs.isBuiltIn(e,"bytearray"))break;if(Zs.isBuiltIn(e,"Sequence")){o=e;break}if(pa(e)){o=e;break}}if(o){const e=ha(o,n);pa(e)?e.tupleTypeArguments&&(da(e)?r.push({subtype:t,entryTypes:[Oo(e.tupleTypeArguments.map((e=>e.type)))],isIndeterminateLength:!0,isTuple:!0}):e.tupleTypeArguments.length>=s&&(void 0!==i||e.tupleTypeArguments.length===s)&&r.push({subtype:t,entryTypes:e.tupleTypeArguments.map((e=>e.type)),isIndeterminateLength:!1,isTuple:!0})):r.push({subtype:t,entryTypes:[e.typeArguments&&e.typeArguments.length>0?e.typeArguments[0]:Ys.create()],isIndeterminateLength:!0})}}})),r}function Tu(e,t,n,i,r,s,o,a){if(n.isIndeterminateLength){let r=n.entryTypes[0];if(a){const n=e.getBuiltInObject(t,"object");n&&vo(n)&&(r=n)}return o||i!==s||ao(r)||(r=Iu(e,t,r)),r}if(void 0===s||iQo(e))));return o||(i=Iu(e,t,i)),i}const l=n.entryTypes.length-(r-i);return w(l>=0&&l{const a=Oo(s.map((t=>Tu(e,r,t,o,r.entries.length,r.starEntryIndex,!1,i))));bu(e,a,n,!1,t)}));break}case 66:r.target&&e.assignTypeToExpression(r.target,t,n,r.target),r.orPatterns.forEach((r=>{bu(e,t,n,i,r),t=fu(e,t,r,!1)}));break;case 69:e.assignTypeToExpression(r.target,r.isWildcard?io.create():t,n,r.target);break;case 70:{const i=_u(e,t);r.entries.forEach((t=>{const s=[],o=[];i.forEach((n=>{if(n.typedDict)if(71===t.nodeType){const i=fu(e,e.getBuiltInObject(r,"str"),t.keyPattern,!0);s.push(i),Jo(i,(t=>{if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const i=gl(e,n.typedDict).get(t.literalValue);o.push(i?i.valueType:Ys.create())}else o.push(Ys.create())}))}else 72===t.nodeType&&(s.push(e.getBuiltInObject(r,"str")),o.push(Ys.create()));else if(n.dictTypeArgs)if(71===t.nodeType){const i=fu(e,n.dictTypeArgs.key,t.keyPattern,!0);s.push(i),o.push(fu(e,n.dictTypeArgs.value,t.valuePattern,!0))}else 72===t.nodeType&&(s.push(n.dictTypeArgs.key),o.push(n.dictTypeArgs.value))}));const a=Oo(s),l=Oo(o);if(71===t.nodeType)bu(e,a,n,!1,t.keyPattern),bu(e,l,n,!1,t.valuePattern);else if(72===t.nodeType){const i=e.getBuiltInType(r,"dict"),s=e.getBuiltInObject(r,"str"),o=i&&_o(i)&&vo(s)?Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[a,l],!0)):Ys.create();e.assignTypeToExpression(t.target,o,n,t.target)}}));break}case 68:{const i=r.arguments.map((e=>[]));e.mapSubtypesExpandTypeVars(t,void 0,(n=>{vo(n)?Jo(t,(t=>{const s=e.makeTopLevelTypeVarsConcrete(t);if(ho(s))r.arguments.forEach(((e,t)=>{i[t].push(s)}));else if(vo(s)){let t=[];r.arguments.some((e=>!e.name))&&(t=gu(e,Zs.cloneAsInstantiable(n))),r.arguments.forEach(((r,s)=>{const o=yu(e,r,s,t,Zs.cloneAsInstantiable(n),!0);i[s].push(o)}))}})):r.arguments.forEach(((e,t)=>{i[t].push(Ys.create())}))})),r.arguments.forEach(((t,r)=>{bu(e,Oo(i[r]),n,!1,t.pattern)}));break}}}function Iu(e,t,n){if(ao(n))return n;const i=Fa(e.getBuiltInObject(t,"list"));return i&&vo(i)?Zs.cloneForSpecialization(i,[n],!0):Ys.create()}const Su=new Map([["Tuple",{version:De.V3_9,fullName:"builtins.tuple",replacementText:"tuple"}],["List",{version:De.V3_9,fullName:"builtins.list",replacementText:"list"}],["Dict",{version:De.V3_9,fullName:"builtins.dict",replacementText:"dict"}],["Set",{version:De.V3_9,fullName:"builtins.set",replacementText:"set"}],["FrozenSet",{version:De.V3_9,fullName:"builtins.frozenset",replacementText:"frozenset"}],["Type",{version:De.V3_9,fullName:"builtins.type",replacementText:"type"}],["Deque",{version:De.V3_9,fullName:"collections.deque",replacementText:"collections.deque"}],["DefaultDict",{version:De.V3_9,fullName:"collections.defaultdict",replacementText:"collections.defaultdict"}],["OrderedDict",{version:De.V3_9,fullName:"collections.OrderedDict",replacementText:"collections.OrderedDict"}],["Counter",{version:De.V3_9,fullName:"collections.Counter",replacementText:"collections.Counter"}],["ChainMap",{version:De.V3_9,fullName:"collections.ChainMap",replacementText:"collections.ChainMap"}]]),xu=new Map([["Optional",{version:De.V3_10,fullName:"typing.Optional",replacementText:"| None"}],["Union",{version:De.V3_10,fullName:"typing.Union",replacementText:"|"}]]);class Cu extends _r{constructor(e,t){super(),this._isUnboundCheckSuppressed=!1,this._scopedNodes=[],this._moduleNode=e,this._fileInfo=Vt(e),this._evaluator=t}check(){this._scopedNodes.push(this._moduleNode),this._walkStatementsAndReportUnreachable(this._moduleNode.statements);const e=Wt(this._moduleNode);e&&(this._evaluator.markNamesAccessed(this._moduleNode,e.names),this._reportUnusedDunderAllSymbols(e.stringNodes)),this._validateSymbolTables(),this._reportDuplicateImports()}walk(e){zt(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=>{yr(e)&&this._evaluator.getType(e)})),!0}visitClass(e){const t=this._evaluator.getTypeOfClass(e);return this.walk(e.suite),this.walkMultiple(e.decorators),this.walkMultiple(e.arguments),t&&(Zs.isProtocolClass(t.classType)&&(e.arguments.forEach((e=>{if(!e.name){const n=this._evaluator.getType(e.valueExpression);n&&_o(n)&&!Zs.isBuiltIn(n,"Protocol")&&!Zs.isBuiltIn(n,"Generic")&&(Zs.isProtocolClass(n)||this._evaluator.addError(ml.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),Zs.isTypedDictClass(t.classType)&&this._validateTypedDictClassSuite(e.suite),Zs.isEnumClass(t.classType)&&this._validateEnumClassOverride(e,t.classType)),this._scopedNodes.push(e),!1}visitFunction(e){var t;const n=this._evaluator.getTypeOfFunction(e),i=Er(e,!0);if(n){let r=!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&&bo(e)&&e.details.isParamSpec&&(r=!0)}}else 2===e.category&&(r=!1);if(e.name&&0===e.category&&r&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedParamAfterParamSpecArgs().format({name:e.name.value}),e.name),e.name&&"_"!==e.name.value){const i=n.functionType.details.parameters.find((t=>{var n;return t.name===(null===(n=e.name)||void 0===n?void 0:n.value)}));if(i){const r=i.type;if(po(r)||bo(r)&&r.details.isSynthesized&&!r.details.isSynthesizedSelf)this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name);else if(La(r)){const t=new il;t.addMessage(ml.DiagnosticAddendum.paramType().format({paramType:this._evaluator.printType(r,!0)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value})+t.getString(),e.name)}let s=!1;(n.functionType.details.parameters[t].typeAnnotation||bo(r)&&r.details.isSynthesizedSelf)&&(s=!0),s||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingParameterType,$o.reportMissingParameterType,ml.Diagnostic.paramAnnotationMissing().format({name:e.name.value}),e.name)}}if(e.defaultValue&&this._fileInfo.isStubFile){const t=this._evaluator.getType(e.defaultValue);t&&ca(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidStubStatement,$o.reportInvalidStubStatement,ml.Diagnostic.defaultValueNotEllipsis(),e.defaultValue)}}));const s=n.functionType.details.parameters.filter((e=>!!(e.typeAnnotation&&bo(e.type)&&wo(e.type)&&0!==e.category&&e.name&&e.type.paramSpecAccess)));1===s.length&&s[0].typeAnnotation&&this._evaluator.addError(ml.Diagnostic.paramSpecArgsKwargsUsage(),s[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,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name)),i&&this._validateMethod(e,n.functionType,i)}if(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{e.name&&this.walk(e.name)})),this.walk(e.suite),n&&(this._validateFunctionReturn(e,n.functionType),this._validateDunderSignatures(e,n.functionType,void 0!==i),this._validateStrictTypeGuardFunction(e,n.functionType,void 0!==i)),this._fileInfo.isStubFile&&"__getattr__"===e.name.value){const t=zs(e);3===(null==t?void 0:t.type)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompleteStub,$o.reportIncompleteStub,ml.Diagnostic.stubUsesGetAttr(),e.name)}if(this._scopedNodes.push(e),this._validateFunctionTypeVarUsage(e),n&&ko(n.decoratedType)){const t=n.decoratedType.overloads;if(t.length>1){const n=100;t.length{if(e.name){const t=this._evaluator.getType(e.name);t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value}),e.name))}}));const t=this._evaluator.getType(e.expression);return t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypeUnknown(),e.expression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.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,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(n,!1)}),e),vo(n)&&Zs.isBuiltIn(n,"Coroutine")&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine,$o.reportUnusedCoroutine,ml.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,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(t,!1)}),e)}return!0}visitFor(e){return this._evaluator.evaluateTypesForStatement(e),!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}visitIf(e){return this._evaluator.getType(e.testExpression),!0}visitWhile(e){return this._evaluator.getType(e.testExpression),!0}visitWith(e){return e.withItems.forEach((e=>{this._evaluator.evaluateTypesForStatement(e)})),!0}visitReturn(e){let t;const n=kr(e),i=n?this._evaluator.getFunctionDeclaredReturnType(n):void 0;if(t=e.returnExpression?this._evaluator.getType(e.returnExpression)||Ys.create():to.createInstance(),this._evaluator.isNodeReachable(e,void 0)&&n){if(i)if(ao(i))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsReturn(),e);else{const n=new il;let r=!1;if(this._evaluator.canAssignType(i,t,n,new jo,64))r=!0;else{const s=Sa(i);if(s&&s.some((e=>e.details.constraints.length>0))){const o=new jo;for(const t of s)if(t.details.constraints.length>0){const n=this._evaluator.narrowConstrainedTypeVar(e,t);n&&(o.setTypeVarType(t,n),o.addSolveForScope(na(t)))}if(!o.isEmpty()){const e=fa(i,o);this._evaluator.canAssignType(e,t,n,void 0,64)&&(r=!0)}}}r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeMismatch().format({exprType:this._evaluator.printType(t,!1),returnType:this._evaluator.printType(i,!1)})+n.getString(),e.returnExpression?e.returnExpression:e)}po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypeUnknown(),e.returnExpression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.returnExpression)}return!0}visitYield(e){const t=e.expression?this._evaluator.getType(e.expression):to.createInstance();return this._validateYieldType(e,t||Ys.create()),!0}visitYieldFrom(e){const t=this._evaluator.getType(e.expression)||Ys.create();let n;if(vo(t)&&Zs.isBuiltIn(t,"Coroutine"))n=Ys.create();else{n=this._evaluator.getTypeFromIterable(t,!1,e)||Ys.create();const i=za(n);n=i?i.length>=1?i[0]:Ys.create():this._evaluator.getTypeFromIterator(t,!1,e)||Ys.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&&_o(t)){const i=new il;Jo(n,(e=>{ho(e=this._evaluator.makeTopLevelTypeVarsConcrete(e))||lo(e)||yo(e)&&Da(e,t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)}))})),i.isEmpty()||this._evaluator.addError(ml.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&&vo(t)&&pa(t)&&t.tupleTypeArguments&&t.tupleTypeArguments.length>0&&(da(t)||this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportAssertAlwaysTrue,$o.reportAssertAlwaysTrue,ml.Diagnostic.assertAlwaysTrue(),e.testExpression)),!0}visitAssignment(e){return this._evaluator.evaluateTypesForStatement(e),e.typeAnnotationComment&&this._evaluator.getType(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&&Jo(t,(t=>{if(vo(t)&&t.tupleTypeArguments&&!da(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&&vo(i)&&Zs.isBuiltIn(i,"int")&&ra(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,$o.reportGeneralTypeIssues,ml.Diagnostic.tupleIndexOutOfRange().format({index:i.literalValue,type:this._evaluator.printType(t)}),e)}}})),!0}visitBinaryOperation(e){return 12!==e.operator&&28!==e.operator||function(e){let t,n=e;for(;n;){switch(n.nodeType){case 2:return n.testExpression===t}t=n,n=n.parent}return!1}(e)||this._validateComparisonTypes(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),!0}visitStringList(e){for(const t of e.strings)t.hasUnescapeErrors&&Vc(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,$o.reportInvalidStringEscapeSequence,ml.Diagnostic.stringUnsupportedEscape(),n):1===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringEscape(),n):2===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringBrace(),n):3===e.errorType&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.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,$o.reportImplicitStringConcatenation,ml.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 this._suppressUnboundCheck((()=>{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=Rt(e.module);t&&t.isImportFound&&2!==t.importType&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportWildcardImportFromLibrary,$o.reportWildcardImportFromLibrary,ml.Diagnostic.wildcardLibraryImport(),e.wildcardToken||e)}else e.imports.forEach((e=>{this._evaluator.evaluateTypesForStatement(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 function(e,t){const n=e.getTypeOfExpression(t.className,void 0,2).type;ho(n)||(n.typeAliasInfo&&_o(n)&&n.typeArguments&&n.isTypeArgumentExplicit?e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternTypeAlias().format({type:e.printType(n)}),t.className):!_o(n)||n.includeSubclasses?e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(n)}),t.className):mu.some((e=>n.details.fullName===e))&&(t.arguments.length>1?e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgCount(),t.arguments[1]):1===t.arguments.length&&t.arguments[0].name&&e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgPositional(),t.arguments[0].name)))}(this._evaluator,e),!0}visitTry(e){return this._reportUnusedExceptStatements(e),!0}visitError(e){return e.child&&this._evaluator.getType(e.child),!1}_validateExhaustiveMatch(e){if("none"===this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive)return;const t=this._evaluator.evaluateTypeForSubnode(e,(()=>{this._evaluator.evaluateTypesForMatchNode(e)}));if(t&&!ao(t.type)){const n=new il;n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveType().format({type:this._evaluator.printType(t.type)})),n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveHint()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive,$o.reportMatchNotExhaustive,ml.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&&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}(e)&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer,$o.reportCallInDefaultInitializer,ml.Diagnostic.defaultValueContainsCall(),e)}_validateComparisonTypes(e){const t=this._evaluator.getType(e.leftExpression),n=this._evaluator.getType(e.rightExpression);if(t&&n)if(sa(n)&&sa(t)){if(void 0===Xc(e,this._fileInfo.executionEnvironment)){let i=!1;Jo(t,(e=>{this._evaluator.canAssignType(n,e)&&(i=!0)})),i||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,ml.Diagnostic.comparisonAlwaysFalse().format({leftType:this._evaluator.printType(t,!0),rightType:this._evaluator.printType(n,!0)}),e)}}else{let i=!1;if(Jo(t,(e=>{i||(e=this._evaluator.makeTopLevelTypeVarsConcrete(e),Jo(n,(t=>{i||(t=this._evaluator.makeTopLevelTypeVarsConcrete(t),this._isTypeComparable(e,t)&&(i=!0))})))})),!i){const i=this._evaluator.printType(t,!0),r=this._evaluator.printType(n,!0),s=12===e.operator?ml.Diagnostic.comparisonAlwaysFalse():ml.Diagnostic.comparisonAlwaysTrue();this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,s.format({leftType:i,rightType:r}),e)}}}_isTypeComparable(e,t){if(ho(e)||ho(t))return!0;if(ao(e)||ao(t))return!1;if(To(e)||To(t))return!Ao(e,t);if(lo(e)||lo(t))return!Ao(e,t);if(_o(e)||vo(e)&&Zs.isBuiltIn(e,"type")){if(_o(t)||vo(t)&&Zs.isBuiltIn(t,"type")){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}const n=e.details.effectiveMetaclass;return!!(n&&yo(n)&&va(n,"__eq__",4))}if(vo(e)){if(vo(t)){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}return!!va(Zs.cloneAsInstantiable(e),"__eq__",4)}return!0}_isTypeValidForUnusedValueTest(e){return!lo(e)&&!ao(e)&&!ho(e)}_validateFunctionTypeVarUsage(e){if("none"===this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse)return;const t=new Map;let n=!0;const i=new Br(((i,r,s)=>{const o=this._evaluator.getType(i);if(o&&bo(o)&&o.scopeId===this._evaluator.getScopeIdForNode(e)){let e=o.details.constraints.length>0||n&&void 0!==o.details.boundType&&void 0!==r||wo(o);if(!e&&s&&void 0!==r){const t=this._evaluator.getType(s);(null==t?void 0:t.typeAliasInfo)&&t.typeAliasInfo.typeParameters&&r{const t=e.typeAnnotation||e.typeAnnotationComment;t&&i.walk(t)})),e.returnTypeAnnotation&&(n=!1,i.walk(e.returnTypeAnnotation)),t.forEach((e=>{1!==e.nodes.length||e.isExempt||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,ml.Diagnostic.typeVarUsedOnlyOnce().format({name:e.nodes[0].value}),e.nodes[0])}))}_validateOverloadConsistency(e,t,n){for(let i=0;i!n||!_o(n)||Da(e,n,!1),r=new il;let s;return ho(e)?s=e:_o(e)?(i(e)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),s=Zs.cloneAsInstance(e)):vo(e)&&(s=Ko(this._evaluator.getTypeFromIterator(e,!1,t)||Ys.create(),(t=>ho(t)?t:_o(t)?(i(t)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Zs.cloneAsInstance(t)):(r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Ys.create())))),r.isEmpty()||this._evaluator.addError(ml.Diagnostic.exceptionTypeNotClass().format({type:this._evaluator.printType(e,!1)}),t),s||Ys.create()}_reportUnusedDunderAllSymbols(e){if("none"===this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll)return;const t=Ft(this._moduleNode);t&&e.forEach((e=>{t.symbolTable.has(e.value)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.dunderAllSymbolNotPresent().format({name:e.value}),e)}))}_validateSymbolTables(){for(const e of this._scopedNodes){const t=Ft(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)}))}}_reportInvalidOverload(e,t){const n=t.getTypedDeclarations();if(n.length>=1){const i=n[0];if(3===i.type){const n=this._evaluator.getEffectiveTypeOfSymbol(t),r=(ko(n)?n.overloads:Eo(n)?[n]:[]).filter((e=>Xs.isOverloaded(e)));if(1===r.length&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.singleOverload().format({name:e}),i.node.name),r.forEach((t=>{if(t.details.declaration&&!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.details.declaration.node)){const n=new il;n.addMessage(ml.DiagnosticAddendum.overloadWithImplementation()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithImplementation().format({name:e})+n.getString(),t.details.declaration.node.name)}})),!this._fileInfo.isStubFile&&r.length>0){let t;if(ko(n)&&!Xs.isOverloaded(n.overloads[n.overloads.length-1])?t=n.overloads[n.overloads.length-1]:Eo(n)&&!Xs.isOverloaded(n)&&(t=n),t)ko(n)&&n.overloads.forEach(((n,r)=>{if(n===t||!Xs.isOverloaded(n))return;const s=new il;if(!this._isLegalOverloadImplementation(n,t,s)&&t.details.declaration){const o=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadImplementationMismatch().format({name:e,index:r+1})+s.getString(),t.details.declaration.node.name);o&&n.details.declaration&&o.addRelatedInfo(ml.DiagnosticAddendum.overloadMethod(),i.path,i.range)}}));else{let e=!1;const t=Dr(i.node);if(t&&10===t.nodeType){const n=this._evaluator.getTypeOfClass(t);n&&Zs.isProtocolClass(n.classType)&&(e=!0)}e||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithoutImplementation().format({name:i.node.name.value}),i.node.name)}}}}}_reportMultipleFinalDeclarations(e,t,n){if(!Wo(t))return;const i=t.getDeclarations();let r=!1,s=!1;if(i.forEach((t=>{rs(t)&&(r&&this._evaluator.addError(ml.Diagnostic.finalRedeclaration().format({name:e}),t.node),r=!0),1===t.type&&t.inferredTypeSource&&(s&&2!==n&&this._evaluator.addError(ml.Diagnostic.finalReassigned().format({name:e}),t.node),s=!0)})),!s&&!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=Er(n.node,!0);if(e){const t=this._evaluator.getTypeOfClass(e);t&&yo(t.decoratedType)&&Zs.isDataClass(t.decoratedType)&&(i=!0)}}i||this._evaluator.addError(ml.Diagnostic.finalUnassigned().format({name:e}),n.node)}}}_reportMultipleTypeAliasDeclarations(e,t){const n=t.getDeclarations(),i=n.find((e=>ss(e)));i&&n.length>1&&n.forEach((t=>{t!==i&&this._evaluator.addError(ml.Diagnostic.typeAliasRedeclared().format({name:e}),t.node)}))}_reportIncompatibleDeclarations(e,t){const n=Vo(t);if(!n)return;if("_"===e)return;let i,r=t.getDeclarations().filter((e=>e!==n));if(3===n.type){const e=this._evaluator.getTypeOfFunction(n.node);r=r.filter((t=>{if(3!==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&&vo(i)&&Zs.isPropertyClass(i)&&vo(n.decoratedType)&&Zs.isPropertyClass(n.decoratedType)?n.decoratedType.details.typeSourceId!==i.details.typeSourceId:!Xs.isOverloaded(n.functionType)}))}if(0===r.length)return;i=3===n.type?n.isMethod?ml.DiagnosticAddendum.seeMethodDeclaration():ml.DiagnosticAddendum.seeFunctionDeclaration():4===n.type?ml.DiagnosticAddendum.seeClassDeclaration():2===n.type?ml.DiagnosticAddendum.seeParameterDeclaration():1===n.type?ml.DiagnosticAddendum.seeVariableDeclaration():ml.DiagnosticAddendum.seeDeclaration();const s=e=>{if(e){let t;3===n.type||4===n.type?t=n.node.name:1===n.type?38===n.node.nodeType&&(t=n.node):2===n.type&&n.node.name&&(t=n.node.name),t&&e.addRelatedInfo(i,n.path,n.range)}};for(const t of r)if(4===t.type)s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredClassDeclaration().format({name:e}),t.node.name));else if(3===t.type){const i=this._evaluator.getTypeForDeclaration(n);i&&Eo(i)&&this._evaluator.getFunctionInferredReturnType(i);let r=!1;const o=this._evaluator.getTypeForDeclaration(t),a=wr(n.node)===wr(t.node);o&&Eo(o)&&this._evaluator.getFunctionInferredReturnType(o),i&&o&&Ao(i,o)&&(r=!0),(!r||a)&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t.isMethod?ml.Diagnostic.obscuredMethodDeclaration().format({name:e}):ml.Diagnostic.obscuredFunctionDeclaration().format({name:e}),t.node.name))}else if(2===t.type)t.node.name&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredParameterDeclaration().format({name:e}),t.node.name));else if(1===t.type){const i=this._evaluator.getTypeForDeclaration(n);if(t.typeAnnotationNode){if(38===t.node.nodeType){let n=!1;const r=this._evaluator.getTypeForDeclaration(t);i&&r&&Ao(i,r)&&(n=!0),n||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}else!i||ua(i)||3!==n.type&&4!==n.type||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}_conditionallyReportUnusedSymbol(e,t,n){const i=this._fileInfo.accessedSymbolMap;t.isIgnoredForProtocolMatch()||i.has(t.id)||"_"!==e&&(Qt(e)||t.getDeclarations().forEach((t=>{this._conditionallyReportUnusedDeclaration(t,this._isSymbolPrivate(e,n))})))}_conditionallyReportUnusedDeclaration(e,t){let n,i,r,s;switch(e.type){case 6:if(n=this._fileInfo.diagnosticRuleSet.reportUnusedImport,s=$o.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 dt.extend(n,t[t.length-1]),this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:e}),n,{action:"pyright.unusedImport"}),void this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportUnusedImport,$o.reportUnusedImport,ml.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,r=1===t.module.nameParts.length&&"__future__"===t.module.nameParts[0].value;n||r||(i=e.node.alias||e.node.name)}i&&(r=ml.Diagnostic.unaccessedImport().format({name:i.value}));break;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&&(s=$o.reportUnusedVariable,r=ml.Diagnostic.unaccessedVariable().format({name:i.value}));break;case 4:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedClass,i=e.node.name,s=$o.reportUnusedClass,r=ml.Diagnostic.unaccessedClass().format({name:i.value});break;case 3:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedFunction,i=e.node.name,s=$o.reportUnusedFunction,r=ml.Diagnostic.unaccessedFunction().format({name:i.value});break;default:return}if(i&&void 0!==s&&r){const e=s===$o.reportUnusedImport?{action:"pyright.unusedImport"}:void 0;this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:i.value}),i,e),this._evaluator.addDiagnostic(n,s,r,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=Ko(i,(e=>ta(e)));const r=this._evaluator.getType(e.arguments[1].valueExpression);if(!r)return;let s=!0;if(Jo(r,(e=>{vo(e)&&Zs.isTupleClass(e)&&e.tupleTypeArguments?e.tupleTypeArguments.some((e=>!this._isTypeSupportedTypeForIsInstance(e.type,n)))&&(s=!1):this._isTypeSupportedTypeForIsInstance(e,n)||(s=!1)})),!s){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarNotAllowed()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n?ml.Diagnostic.isInstanceInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString():ml.Diagnostic.isSubclassInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString(),e.arguments[1])}let o=e;for(;o;){if(2===o.nodeType)return;o=o.parent}const a=["FunctionType","LambdaType","BuiltinFunctionType","BuiltinMethodType","type","Type"],l=[];let c=!1;if(Jo(r,(e=>{yo(e)?Ks.isInstantiable(e)?void 0===e.literalValue&&(l.push(e),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1),e.includeSubclasses&&(c=!0)):(pa(e)?e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{_o(e.type)?(l.push(e.type),e.type.includeSubclasses&&(c=!0)):s=!1})):e.includeSubclasses&&(c=!0),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1)):s=!1})),!s)return;if(l.some((e=>Zs.isProtocolClass(e)&&!Zs.isRuntimeCheckable(e)))&&this._evaluator.addError(ml.Diagnostic.protocolUsedInCall().format({name:t}),e.arguments[1].valueExpression),function(e){let t=!1;return Jo(e,(n=>{ho(e)?t=!0:_o(n)?Zs.hasUnknownBaseClass(n)&&(t=!0):vo(n)&&Zs.hasUnknownBaseClass(n)&&(t=!0)})),t}(i))return;const u=e=>Oo(e),p=e=>{const t=[];for(const i of l){const r=Zs.isDerivedFrom(e,i)||n&&Zs.isProtocolClass(i)&&this._evaluator.canAssignType(i,e)||Zs.isBuiltIn(i,"dict")&&Zs.isTypedDictClass(e),s=Zs.isDerivedFrom(i,e)||n&&Zs.isProtocolClass(e)&&this._evaluator.canAssignType(e,i);s&&s&&!Zs.isSameGenericClass(e,i)?t.push(Ys.create()):r?t.push(e):s&&t.push(i)}return n?t.map((e=>_o(e)?Zs.cloneAsInstance(e):e)):t};let d;if(n&&vo(i))d=u(p(Zs.cloneAsInstantiable(i)));else if(!n&&_o(i))d=u(p(i));else{if(!fo(i))return;{let e=[],t=!1;if(Jo(i,(i=>{ho(i)&&(t=!0),n&&vo(i)?e=e.concat(p(Zs.cloneAsInstantiable(i))):!n&&_o(i)&&(e=e.concat(p(i)))})),d=u(e),t)return}}const h=()=>Oo(l.map((e=>Zs.cloneAsInstance(e))));!c&&Ao(d,i,!0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryIsInstance,$o.reportUnnecessaryIsInstance,n?ml.Diagnostic.unnecessaryIsInstanceAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}):ml.Diagnostic.unnecessaryIsSubclassAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}),e)}_isTypeSupportedTypeForIsInstance(e,t){let n=!0;return Jo(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&&Ks.isInstantiable(e);break;case 5:n=Ks.isInstantiable(e);break;case 9:n=this._isTypeSupportedTypeForIsInstance(e,t);break;default:n=!1}})),n}_isSymbolPrivate(e,t){return 1===t||0===t||(!!Kt(e)||!!Jt(e)&&!(2===t))}_reportDeprecatedUse(e){var t;const n=null!==(t=Su.get(e.value))&&void 0!==t?t:xu.get(e.value);if(!n)return;const i=this._evaluator.getType(e);i&&_o(i)&&i.details.fullName===n.fullName&&this._fileInfo.executionEnvironment.pythonVersion>=n.version&&this._evaluator.addDeprecated(ml.Diagnostic.deprecatedType().format({version:Pe(n.version),replacement:n.replacementText}),e)}_reportUnboundName(e){if("none"!==this._fileInfo.diagnosticRuleSet.reportUnboundVariable&&!zt(e)){const t=this._evaluator.getType(e);t&&(mo(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsUnbound().format({name:e.value}),e):go(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.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=Kt(n),r=Jt(n);if(!i&&!r)return;const s=this._evaluator.getDeclarationsForNameNode(e);let o,a=s&&s.length>0?s[s.length-1]:void 0;if(!a||a.node===e)return;if(6===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=Er(a.node)),a.node&&a.node.parent&&a.node.parent===o&&(o=Er(o));let l=!1;if(o&&r){const t=this._evaluator.getTypeOfClass(o);if(t&&_o(t.decoratedType)){if(Zs.isDefinedInStub(t.decoratedType))return;l=!0;const n=Er(e);if(n){const e=this._evaluator.getTypeOfClass(n);if(e&&_o(e.decoratedType)&&Da(e.decoratedType,t.decoratedType,!0))return}}}o&&!Mr(e,o)&&(l?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.protectedUsedOutsideOfClass().format({name:n}),e):this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfClass().format({name:n}),e))}_validateEnumClassOverride(e,t){t.details.baseClasses.forEach(((t,n)=>{if(yo(t)&&Zs.isEnumClass(t)){let i=!1;t.details.fields.forEach((e=>{const n=this._evaluator.getEffectiveTypeOfSymbol(e);vo(n)&&Zs.isSameGenericClass(n,t)&&(i=!0)})),i&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.enumClassOverride().format({name:t.details.name}),e.arguments[n])}}))}_validateTypedDictClassSuite(e){const t=e=>{this._evaluator.addError(ml.Diagnostic.typedDictBadVar(),e)};e.statements.forEach((e=>{if(!zt(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(!vo(t.details.declaredReturnType)||!Zs.isBuiltIn(t.details.declaredReturnType,"StrictTypeGuard")||!t.details.declaredReturnType.typeArguments||t.details.declaredReturnType.typeArguments.length<1)return;const r=t.details.declaredReturnType.typeArguments[0],s=n&&!Xs.isStaticMethod(t)?1:0;if(s>=t.details.parameters.length)return;const o=Xs.getEffectiveParameterType(t,s);if(!this._evaluator.canAssignType(o,r)){const t=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation);t&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.strictTypeGuardReturnType().format({type:this._evaluator.printType(o),returnType:this._evaluator.printType(r)}),t)}}_validateDunderSignatures(e,t,n){var i;const r=t.details.name;if(n&&"__init__"===r){const n=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation),r=t.details.declaredReturnType;if(n&&r)lo(r)||ao(r)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),n);else{const n=this._evaluator.getFunctionInferredReturnType(t);ao(n)||lo(n)||ho(n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.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),r=this._evaluator.isAfterNodeReachable(e.suite);let s=t.details.declaredReturnType;if(s){po(s)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypeUnknown(),i):La(s)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(s,!0)}),i);const e=new il;bo(s)&&2===s.details.variance&&(e.addMessage(ml.DiagnosticAddendum.typeVarIsContravariant().format({name:oo.getReadableName(s)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeContravariant()+e.getString(),i))}if(Xs.isGenerator(t)&&(s=Pa(t)),s&&!n&&r)if(ao(s))Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnReturnsNone(),i);else if(!Xs.isAbstractMethod(t)){const n=new il;this._evaluator.canAssignType(s,to.createInstance(),n)||Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnMissing().format({returnType:this._evaluator.printType(s,!1)})+n.getString(),i)}}else{const n=this._evaluator.getFunctionInferredReturnType(t);po(n)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name):La(n)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(n,!0)}),e.name)}}_validateFinalMemberOverrides(e){e.details.fields.forEach(((t,n)=>{const i=va(e,n,1);if(i&&_o(i.classType)&&Wo(i.symbol)&&!Kt(n)){const e=t.getDeclarations()[0];this._evaluator.addError(ml.Diagnostic.finalRedeclarationBySubclass().format({name:n,className:i.classType.details.name}),e.node)}}))}_reportDuplicateEnumMembers(e){Zs.isEnumClass(e)&&!Zs.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 r=this._evaluator.getEffectiveTypeOfSymbol(t);vo(r)&&Zs.isSameGenericClass(r,e)&&void 0!==r.literalValue&&this._evaluator.addError(ml.Diagnostic.duplicateEnumMember().format({name:n}),i[1].node)}}))}_validateProtocolCompatibility(e,t){if(Zs.isProtocolClass(e))return;const n=new il,i=t=>e.details.mro.some((e=>yo(e)&&!Zs.isProtocolClass(e)&&e.details.fields.has(t)));e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ga(e).forEach(((e,t)=>{const r=e.symbol.getDeclarations();0!==r.length&&yo(e.classType)&&(1===r[0].type?r.some((e=>1===e.type&&!!e.inferredTypeSource))||i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name})):3===r[0].type&&Or(r[0].node.suite)&&r[0]&&".pyi"!==pe(r[0].path).toLowerCase()&&(i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name}))))}))})),n.isEmpty()||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.missingProtocolMembers()+n.getString(),t.name)}_validateDataClassPostInit(e,t){if(!Zs.isDataClass(e))return;const n=va(e,"__post_init__",18);if(!n)return;const i=new Map;e.details.fields.forEach(((e,t)=>{e.isInitVar()&&i.set(t,e)}));const r=this._evaluator.getTypeOfMember(n);if(!Eo(r)||!Xs.isInstanceMethod(r)||!r.details.declaration)return;const s=Ho(r);if(void 0!==s.argsIndex||void 0!==s.kwargsIndex||void 0!==s.firstKeywordOnlyIndex)return;const o=s.params.filter((e=>!e.param.hasDefault)),a=i.size+1;(as.params.length)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitParamCount().format({expected:i.size}),r.details.declaration.node.name);let l=1;i.forEach(((e,t)=>{if(l>=s.params.length)return;const n=s.params[l].param;if(n.hasDeclaredType&&n.typeAnnotation){const i=this._evaluator.getDeclaredTypeOfSymbol(e),o=Xs.getEffectiveParameterType(r,s.params[l].index),a=new il;if(i&&!this._evaluator.canAssignType(o,i,a)){const i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitType().format({fieldName:t})+a.getString(),n.typeAnnotation);if(i){const t=e.getTypedDeclarations();t.length>0&&i.addRelatedInfo(ml.DiagnosticAddendum.dataClassFieldLocation(),t[0].path,t[0].range)}}}l++}))}_validateFinalClassNotAbstract(e,t){if(!Zs.isFinal(e))return;if(!Zs.supportsAbstractMethods(e))return;const n=this._evaluator.getAbstractMethods(e);if(0===n.length)return;const i=new il;n.forEach(((e,t)=>{if(2===t)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:n.length-2}));else if(t<2&&_o(e.classType)){const t=e.classType.details.name;i.addMessage(ml.DiagnosticAddendum.memberIsAbstract().format({type:t,name:e.symbolName}))}})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalClassIsAbstract().format({type:e.details.name})+i.getString(),t.name)}_validateInstanceVariableInitialization(e){"none"!==this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable&&e.details.fields.forEach(((t,n)=>{if(!t.isInstanceMember())return;const i=t.getDeclarations();i.find((e=>{const t=Dr(e.node);return!t||10===t.nodeType||"__init__"===t.name.value}))||va(e,n,1)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable,$o.reportUninitializedInstanceVariable,ml.Diagnostic.uninitializedInstanceVariable().format({name:n}),i[0].node)}))}_validateProtocolTypeParamVariance(e,t){const n=t.details.typeParameters.filter((e=>!wo(e)));if(0===n.length)return;const i=this._evaluator.getBuiltInType(e,"object");if(!_o(i))return;const r=n.map((e=>Io(e)?e:oo.cloneAsInvariant(e))),s=Zs.cloneWithNewTypeParameters(t,r),o=Zs.cloneAsInstance(i),a=Zs.createInstantiable("__protocolVarianceDummy","","","",0,0,void 0,void 0);r.forEach(((i,l)=>{if(i.details.isVariadic)return;const c=r.map(((e,t)=>e.details.isVariadic?e:t===l?o:a)),u=r.map(((e,t)=>t===l||e.details.isVariadic?e:a)),p=Zs.cloneForSpecialization(s,c,!0),d=Zs.cloneForSpecialization(s,u,!0);let h;if(h=this._evaluator.canAssignProtocolClassToSelf(p,d)?1:this._evaluator.canAssignProtocolClassToSelf(d,p)?2:0,h!==n[l].details.variance){let n;n=1===h?ml.Diagnostic.protocolVarianceCovariant().format({variable:i.details.name,class:t.details.name}):2===h?ml.Diagnostic.protocolVarianceContravariant().format({variable:i.details.name,class:t.details.name}):ml.Diagnostic.protocolVarianceInvariant().format({variable:i.details.name,class:t.details.name}),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,n,e.name)}}))}_validateSlotsClassVarConflict(e){e.details.localSlotsNames&&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&&$r(e.node)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsClassVarConflict().format({name:t}),e.node)}))}))}_validateConstructorConsistency(e){const t=va(e,"__init__",12),n=va(e,"__new__",12);if(!(t&&n&&yo(t.classType)&&yo(n.classType)))return;if(!Zs.isSameGenericClass(n.classType,e)&&!Zs.isSameGenericClass(t.classType,e))return;const i=n.classType.details.effectiveMetaclass;if(i&&yo(i)&&!Zs.isBuiltIn(i,"type")&&va(i,"__call__",40))return;let r=this._evaluator.getTypeOfMember(n);if(!Eo(r)&&!ko(r))return;if(r=this._evaluator.bindFunctionToClassOrObject(e,r,void 0,void 0,void 0,!0),!r)return;if(ko(r)&&(r=r.overloads.find((e=>!Xs.isOverloaded(e))),!r))return;let s=this._evaluator.getTypeOfMember(t);if((Eo(s)||ko(s))&&(s=this._evaluator.bindFunctionToClassOrObject(Zs.cloneAsInstance(e),s),s&&(!ko(s)||(s=s.overloads.find((e=>!Xs.isOverloaded(e))),s))&&Eo(s)&&Eo(r)&&!(Xs.hasDefaultParameters(s)||Xs.hasDefaultParameters(r)||(s=Xs.cloneWithNewFlags(s,98304|s.details.flags),r=Xs.cloneWithNewFlags(r,98304|s.details.flags),this._evaluator.canAssignType(r,s,void 0,void 0,32)&&this._evaluator.canAssignType(s,r,void 0,void 0,32))))){const i=Zs.isSameGenericClass(t.classType,e),o=Vo(t.symbol),a=Vo(n.symbol);if(o&&a){const e=i?o:a,l=28===e.node.nodeType?e.node.name:e.node,c=new il,u=this._evaluator.printType(s),p=this._evaluator.printType(r);c.addMessage(ml.DiagnosticAddendum.initMethodSignature().format({type:u})),c.addMessage(ml.DiagnosticAddendum.newMethodSignature().format({type:p}));const d=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInconsistentConstructor,$o.reportInconsistentConstructor,ml.Diagnostic.constructorParametersMismatch().format({classType:this._evaluator.printType(Zs.cloneAsInstance(i?t.classType:n.classType))})+c.getString(),l);if(d){const e=i?a:o;d.addRelatedInfo((i?ml.DiagnosticAddendum.newMethodLocation():ml.DiagnosticAddendum.initMethodLocation()).format({type:this._evaluator.printType(Zs.cloneAsInstance(i?n.classType:t.classType))}),e.path,e.range)}}}}_validateMultipleInheritanceCompatibility(e,t){if("none"===this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride)return;const n=[];if(e.details.baseClasses.forEach((e=>{!yo(e)||Zs.isBuiltIn(e,"Generic")||Zs.isBuiltIn(e,"Protocol")||n.push(e)})),n.length<2)return;const i=n.map((t=>{const n=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,t)));return n&&yo(n)?function(e){const t=new Map;for(let n=e.details.mro.length-1;n>=0;n--){const i=ha(e.details.mro[n],e);yo(i)?i.details.fields.forEach(((e,n)=>{!e.isIgnoredForProtocolMatch()&&e.hasTypedDeclarations()&&t.set(n,{classType:i,symbol:e,isInstanceMember:e.isInstanceMember(),isClassVar:e.isClassVar(),isTypeDeclared:!0,skippedUndeclaredType:!1})})):t.clear()}return t}(n):new Map}));for(let r=1;r{var i;if(Kt(n))return;if(!t.hasTypedDeclarations())return;const r=this._evaluator.getEffectiveTypeOfSymbol(t);if(!ho(r))for(const s of e.details.baseClasses){if(!yo(s))continue;const o=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,s)));if(!o)continue;const a=va(o,n,0);if(!a||!_o(a.classType))continue;if(!a.symbol.hasTypedDeclarations())continue;const l=ha(this._evaluator.getEffectiveTypeOfSymbol(a.symbol),a.classType);if(Eo(l)||ko(l)){const e=new il;let s;if(Eo(r)?s=r:ko(r)&&(s=r.overloads[r.overloads.length-1]),s){const r=["__init__","__new__","__init_subclass__"],o=!Qt(n);if(!r.some((e=>e===n))&&!Kt(n)&&!this._evaluator.canOverrideMethod(l,s,e,o)){const r=null!==(i=s.details.declaration)&&void 0!==i?i:Vo(t);if(r){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.incompatibleMethodOverride().format({name:n,className:a.classType.details.name})+e.getString(),3===r.type?r.node.name:r.node),i=Vo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),i.path,i.range)}}if(Eo(l)&&!Kt(n)&&Xs.isFinal(l)){const e=Vo(t);if(e&&3===e.type){const t=this._evaluator.addError(ml.Diagnostic.finalMethodOverride().format({name:n,className:a.classType.details.name}),e.node.name),i=Vo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.finalMethod(),i.path,i.range)}}}else if(!ho(r)&&!Zs.isBuiltIn(a.classType,"_TypedDict")){const e=t.getDeclarations();if(e.length>0){const t=e[e.length-1],i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.methodOverridden().format({name:n,className:a.classType.details.name,type:this._evaluator.printType(r,!1)}),t.node),s=Vo(a.symbol);i&&s&&i.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),s.path,s.range)}}}else if(ua(l))if(ua(r)){const i=l.details.fields,s=r.details.fields,o=a.classType;["fget","fset","fdel"].forEach((r=>{const a=new il,l=i.get(r),c=s.get(r);if(l){const i=ha(this._evaluator.getEffectiveTypeOfSymbol(l),o);if(Eo(i))if(c){const t=ha(this._evaluator.getEffectiveTypeOfSymbol(c),e);if(Eo(t)&&!this._evaluator.canOverrideMethod(i,t,a.createAddendum())){a.addMessage(ml.DiagnosticAddendum.propertyMethodIncompatible().format({name:r}));const e=t.details.declaration;if(e&&3===e.type){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e.node.name),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}else{a.addMessage(ml.DiagnosticAddendum.propertyMethodMissing().format({name:r}));const e=t.getDeclarations();if(e.length>0){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e[e.length-1].node),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}}))}else{const e=t.getDeclarations();e.length>0&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:a.classType.details.name}),e[e.length-1].node)}else if("none"!==this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride){const e=t.getDeclarations();if(e.length>0){const i=e[e.length-1],s=new il;if(!this._evaluator.canAssignType(l,r,s)){const e=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,ml.Diagnostic.symbolOverridden().format({name:n,className:a.classType.details.name})+s.getString(),i.node),t=Vo(a.symbol);e&&t&&e.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),t.path,t.range)}const o=a.symbol.isClassVar();let c=t.isClassVar();if(o&&!c&&(t.hasTypedDeclarations()||(c=!0),t.getTypedDeclarations().every((e=>4===e.type))&&(c=!0)),o!==c){const e=t.isClassVar()?ml.Diagnostic.classVarOverridesInstanceVar():ml.Diagnostic.instanceVarOverridesClassVar(),r=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,e.format({name:n,className:a.classType.details.name}),i.node),s=Vo(a.symbol);r&&s&&r.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),s.path,s.range)}}}}}))}_validateMethod(e,t,n){const i=this._evaluator.getTypeOfClass(n),r=null==i?void 0:i.classType;if(e.name&&r&&["__init__","__init_subclass__","__enter__","__exit__"].some((t=>t===e.name.value))&&(Xs.isAbstractMethod(t)||Xs.isOverloaded(t)||this._fileInfo.isStubFile||this._validateSuperCallForMethod(e,t,r)),e.name&&"__new__"===e.name.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,$o.reportSelfClsParameterName,ml.Diagnostic.newClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__init_subclass__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.initSubclassClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__class_getitem__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classGetItemClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(Xs.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,$o.reportSelfClsParameterName,ml.Diagnostic.staticClsSelfParam(),e.parameters[0].name)}}else if(Xs.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,$o.reportSelfClsParameterName,ml.Diagnostic.classMethodClsParam(),e.parameters.length>0?e.parameters[0]:e.name)),r&&this._validateClsSelfParameterType(t,r,!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&&_o(t)&&e&&_o(e.classType)&&Da(e.classType,t,!0)&&(i=!0)}const r=Yt(t);i||r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.instanceMethodSelfParam(),e.parameters.length>0?e.parameters[0]:e.name)}}r&&this._validateClsSelfParameterType(t,r,!1)}}_validateSuperCallForMethod(e,t,n){if("none"===this._fileInfo.diagnosticRuleSet.reportMissingSuperCall)return;let i=9;if(Zs.isFinal(n)&&(i|=4),!va(n,t.details.name,i))return;let r=!1;new Wr((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)r=!0;else{const e=this._evaluator.getType(t);e&&_o(e)&&(r=!0)}}})).walk(e.suite),r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingSuperCall,$o.reportMissingSuperCall,ml.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(Zs.isProtocolClass(t))return;const r=this._evaluator.makeTopLevelTypeVarsConcrete(i.type),s=n?t:Fa(t);_o(r)&&Zs.isProtocolClass(r)||vo(r)&&Zs.isProtocolClass(r)||Xs.isOverloaded(e)||this._evaluator.canAssignType(r,s)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.clsSelfParamTypeMismatch().format({name:i.name,classType:this._evaluator.printType(s,!1)}),i.typeAnnotation)}_validateYieldType(e,t){let n,i;const r=kr(e);if(r){const e=this._evaluator.getTypeOfFunction(r);e&&(w(Eo(e.functionType)),n=Xs.getSpecializedReturnType(e.functionType),n&&(i=function(e,t){let n=!0;const i=Ko(e,(e=>ho(e)?e:vo(e)&&[["AsyncIterable","Iterable"],["AsyncIterator","Iterator"],["AsyncGenerator","Generator"],["","AwaitableGenerator"]].some((n=>Zs.isBuiltIn(e,t?n[0]:n[1])))?e.typeArguments&&e.typeArguments.length>=1?e.typeArguments[0]:Ys.create():void(n=!1)));return n?i:void 0}(n,!!r.isAsync)),n&&!i&&r.returnTypeAnnotation&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r.isAsync?ml.Diagnostic.generatorAsyncReturnType():ml.Diagnostic.generatorSyncReturnType(),r.returnTypeAnnotation))}if(this._evaluator.isNodeReachable(e,void 0))if(n&&ao(n))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsYield(),e);else if(i){const n=new il;this._evaluator.canAssignType(i,t,n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.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||ho(i))return void(t=!0);const r=[];if(_o(i)?(i.includeSubclasses&&(t=!0),r.push(i)):vo(i)&&Jo(this._evaluator.getTypeFromIterator(i,!1,void 0)||Ys.create(),(e=>{ho(e)&&(t=!0),_o(e)&&(e.includeSubclasses&&(t=!0),r.push(e))})),n.length>0){const t=new il;let i=0;r.forEach((e=>{const r=n.find((t=>Da(e,t,!0)));r&&(t.addMessage(ml.DiagnosticAddendum.unreachableExcept().format({exceptionType:this._evaluator.printType(Fa(e)),parentType:this._evaluator.printType(Fa(r))})),i++)})),r.length===i&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unreachableExcept()+t.getString(),e.typeExpression),this._evaluator.addUnusedCode(e,e.exceptSuite))}n.push(...r)}))}_reportDuplicateImports(){const e=tn(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,$o.reportDuplicateImport,ml.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,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.moduleName}),e.subnode):t.set(e.moduleName,e.subnode))}))}}function wu(e){Eu(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",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",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error"},[$o.reportMissingModuleSource])}function Eu(e,t,n){const i=Cc(),r=wc();for(const r of i)n.find((e=>e===r))||t[r]&&(e[r]=!0);for(const i of r){if(n.find((e=>e===i)))continue;const r=t[i],s=e[i];("error"===r||"warning"===r&&"error"!==s||"information"===r&&"error"!==s&&"warning"!==s)&&(e[i]=r)}}function ku(e,t){const n=["pyright:","mspython:"].find((t=>e.startsWith(t)));if(n){const i=e.substr(n.length).trim().split(",").map((e=>e.trim()));i.some((e=>"strict"===e))?wu(t):i.some((e=>"basic"===e))&&function(e){Eu(e,{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",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",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none"},[])}(t);for(const e of i)t=Du(e,t)}return t}function Du(e,t){const n=e.split("=").map((e=>e.trim()));if(2!==n.length)return t;const i=n[0],r=Cc();if(wc().find((e=>e===i))){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[i]=e)}else if(r.find((e=>e===i))){const e="false"!==(s=n[1])&&("true"===s||void 0);void 0!==e&&(t[i]=e)}var s;return t}class Au extends _r{constructor(e){super(),this._parseTree=e}clean(){this.walk(this._parseTree)}visitNode(e){return 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}(e),super.visitNode(e)}}class Pu extends _r{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&&E(`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.startdt.getEnd(e))&&E(`Child node ${t.nodeType} is not contained within its parent ${e.nodeType}`),n&&t.start0&&(i=i.filter((e=>{if(3!==e.category&&4!==e.category)for(let t=e.range.start.line;t<=e.range.end.line;t++)if(this._typeIgnoreLines.has(t))return s.delete(t),!1;return!0})));const o=[];if("none"!==this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment){const e=tl(this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment);0===r.filter((e=>0===e.category||1===e.category||2===e.category)).length&&void 0!==this._typeIgnoreAll&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(this._typeIgnoreAll.start,this._typeIgnoreAll.start+this._typeIgnoreAll.length,this._parseResults.tokenizerOutput.lines))),s.forEach((t=>{var n;(null===(n=this._parseResults)||void 0===n?void 0:n.tokenizerOutput.lines)&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines)))}))}if("none"!==this._diagnosticRuleSet.reportImportCycles&&this._circularDependencies.length>0){const e=tl(this._diagnosticRuleSet.reportImportCycles);this._circularDependencies.forEach((t=>{i.push(new nl(e,ml.Diagnostic.importCycleDetected()+"\n"+t.getPaths().map((e=>" "+e)).join("\n"),{start:{line:0,character:0},end:{line:0,character:0}}))}))}return void 0!==this._hitMaxImportDepth&&i.push(new nl(0,ml.Diagnostic.importDepthExceeded().format({depth:this._hitMaxImportDepth}),{start:{line:0,character:0},end:{line:0,character:0}})),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.push(...o),n||(i=i.filter((e=>3===e.category||4===e.category))),i}getImports(){return this._imports||[]}getBuiltinsImport(){return this._builtinsImport}getIPythonDisplayImport(){return this._ipythonDisplayImport}getModuleSymbolTable(){return this._moduleSymbolTable}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(M(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._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!==Wt(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=ic.create(this._filePath,"python",e,"")),this._clientDocument=ic.update(this._clientDocument,t,e);const n=this._clientDocument.getText(),i=M(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++}setHitMaxImportDepth(e){this._hitMaxImportDepth=e}parse(e,t,n){return this._logTracker.log(`parsing: ${this._getPathForLogging(this._filePath)}`,(i=>{var r;if(!this.isParseRequired())return i.suppress(),!1;const s=new kc;let o=this.getOpenFileContents();if(void 0===o)try{const e=Fn.readFileTime.totalTime;Fn.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=M(o)})),i.add(`fs read ${Fn.readFileTime.totalTime-e}ms`)}catch(e){s.addError("Source file could not be read",{start:{line:0,character:0},end:{line:0,character:0}}),o="",this.fileSystem.existsSync(this._filePath)||(this._isFileDeleted=!0)}const a=e.findExecEnvironment(this._filePath),l=new Jc;l.ipythonMode=this._ipythonMode,this._filePath.endsWith("pyi")&&(l.isStubFile=!0),l.pythonVersion=a.pythonVersion,l.skipFunctionAndClassBody=null!==(r=e.indexGenerationMode)&&void 0!==r&&r;try{const n=(new Qc).parseSourceFile(o,l,s);w(void 0!==n&&void 0!==n.tokenizerOutput),this._parseResults=n,this._typeIgnoreLines=this._parseResults.tokenizerOutput.typeIgnoreLines,this._typeIgnoreAll=this._parseResults.tokenizerOutput.typeIgnoreAll,Fn.resolveImportsTime.timeOperation((()=>{const e=this._resolveImports(t,n.importedModules,a);this._imports=e.imports,this._builtinsImport=e.builtinsImportResult,this._ipythonDisplayImport=e.ipythonDisplayImportResult,this._parseDiagnostics=s.fetchAndClear()}));const i=void 0!==e.strict.find((e=>e.regExp.test(this._filePath)));this._diagnosticRuleSet=function(e,t,n){let i=(r=t,Object.assign({},r));var r;n&&wu(i);for(let t=0;t{if(!this._parseResults||!this.isIndexingRequired())return void n.suppress();this._indexingNeeded=!1;const i=Fc.indexSymbols(Vt(this._parseResults.parseTree),this._parseResults,e,t);return n.add(`found ${i.length}`),{privateOrProtected:Yt(he(de(this._filePath))),symbols:i}}))}getDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getTypeDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getTypeDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getDeclarationForNode(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForNode(e,this._filePath,t,n,i,r)}getDeclarationForPosition(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForPosition(e,this._parseResults,this._filePath,t,n,i,r)}addReferences(e,t,n,i){this._parseResults&&tc.addReferences(this._parseResults,this._filePath,e,t,n,i)}addHierarchicalSymbolsForDocument(e,t){(this._parseResults||this._cachedIndexResults)&&Fc.addHierarchicalSymbolsForDocument(this._parseResults?Vt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,e,t)}getSymbolsForDocument(e,t){return this._parseResults||this._cachedIndexResults?Fc.getSymbolsForDocument(this._parseResults?Vt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,this._filePath,e,t):[]}getHoverForPosition(e,t,n,i,r){if(!this._isBindingNeeded&&this._parseResults)return class{static getHoverForPosition(e,t,n,i,r,s){ct(s);const o=xt(n,t.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(t.parseTree,o);if(void 0===a)return;const l={parts:[],range:{start:It(a.start,t.tokenizerOutput.lines),end:It(dt.getEnd(a),t.tokenizerOutput.lines)}};if(38===a.nodeType){const t=r.getDeclarationsForNameNode(a);if(t&&t.length>0){let n=t[0];6===n.type&&t.length>1&&(n=t[1]),this._addResultsForDeclaration(i,e,l.parts,n,a,r)}else if((!a.parent||37!==a.parent.nodeType)&&0===l.parts.length){const t=r.getType(a)||Ys.create();let n="";n=To(t)?"(module) "+a.value:a.value+": "+r.printType(t,!1),this._addResultsPart(l.parts,n,!0),this._addDocumentationPart(i,e,l.parts,a,r,void 0)}}return l.parts.length>0?l:void 0}static _addResultsForDeclaration(e,t,n,i,r,s){var o;const a=s.resolveAliasDeclaration(i,!0);if(a)switch(a.type){case 0:this._addResultsPart(n,r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 1:{let l=a.isConstant||a.isFinal?"constant":"variable",c=r;21===i.node.nodeType||23===i.node.nodeType?i.node.alias&&r!==i.node.alias&&38===a.node.nodeType&&(c=a.node):1===(null===(o=r.parent)||void 0===o?void 0:o.nodeType)&&r.parent.name===r&&38===i.node.nodeType&&(c=i.node);const u=s.getType(c);let p,d=!1;if(null==u?void 0:u.typeAliasInfo){const e=Do(u);(null==e?void 0:e.name)===c.value&&(bo(u)?(l=u.details.isParamSpec?"param spec":"type variable",p=u.details.name):(d=!0,l="type alias"))}const h=p||r.value+this._getTypeText(c,s,d);this._addResultsPart(n,`(${l}) ${h}`,!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 2:this._addResultsPart(n,"(parameter) "+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 4:case 5:if(this._addInitMethodInsteadIfCallNode(e,r,s,n,t,a))return;this._addResultsPart(n,"(class) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 3:{let i="function";if(a.isMethod){const e=s.getTypeForDeclaration(a);i=e&&ua(e)?"property":"method"}const o=s.getType(r);o&&ko(o)?this._addResultsPart(n,`(${i})\n${Ol(o,s)}`,!0):this._addResultsPart(n,`(${i}) `+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 6:this._addResultsPart(n,"(module) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a)}else this._addResultsPart(n,"(import) "+r.value+this._getTypeText(r,s),!0)}static _addInitMethodInsteadIfCallNode(e,t,n,i,r,s){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||!_o(a))return!1;const l=va(a,"__init__",8);if(!l)return!1;const c=n.getType(o.parent),u=n.getTypeOfMember(l);if(!(c&&u&&vo(c)&&Eo(u)))return!1;const p=n.bindFunctionToClassOrObject(c,u);if(!p||!Eo(p))return!1;const d=n.printFunctionParts(p),h=`${t.value}(${d[0].join(", ")})`;return this._addResultsPart(i,"(class) "+h,!0),this._addDocumentationPartForType(e,r,i,p,s,n)||this._addDocumentationPartForType(e,r,i,a,s,n),!0}static _getTypeText(e,t,n=!1){const i=t.getType(e)||Ys.create();return": "+t.printType(i,n)}static _addDocumentationPart(e,t,n,i,r,s){const o=r.getType(i);o&&this._addDocumentationPartForType(e,t,n,o,s,r)}static _addDocumentationPartForType(e,t,n,i,r,s){const o=ql(t,i,r,s);let a=!1;for(const t of o)t&&(a=!0,this._addDocumentationResultsPart(e,n,t));return a}static _addDocumentationResultsPart(e,t,n){if(n)if(e===ot.MarkupKind.Markdown){const e=ds(n);t.length>0&&e.length>0&&t.push({text:"---\n"}),this._addResultsPart(t,e)}else e===ot.MarkupKind.PlainText?this._addResultsPart(t,hs(n)):E(`Unsupported markup type: ${e}`)}static _addResultsPart(e,t,n=!1){e.push({python:n,text:t})}}.getHoverForPosition(e,this._parseResults,t,n,i,r)}getDocumentHighlight(e,t,n,i){if(!this._isBindingNeeded&&this._parseResults)return class{static getDocumentHighlight(e,t,n,i){ct(i);const r=xt(t,e.tokenizerOutput.lines);if(void 0===r)return;const s=Tr(e.parseTree,r);return void 0!==s&&38===s.nodeType?Ml.collectFromNode(s,n,i,e.parseTree,!0).map((t=>({kind:38===t.node.nodeType&&$r(t.node)?ot.DocumentHighlightKind.Write:ot.DocumentHighlightKind.Read,range:St(t.range.start,dt.getEnd(t.range),e.tokenizerOutput.lines)}))):void 0}}.getDocumentHighlight(this._parseResults,t,n,i)}getSignatureHelpForPosition(e,t,n,i,r){if(this._parseResults)return class{static getSignatureHelpForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(t,e.tokenizerOutput.lines);if(void 0===a)return;let l=Tr(e.parseTree,a);const c=l,u=l?vr(l):0;let p=a-1;for(;p>=0&&","!==e.text.substr(p,1);){const t=Tr(e.parseTree,p);if(t&&t!==c){vr(t)>u&&(l=t);break}p--}if(void 0===l)return;const d=zr(l,a,e.tokenizerOutput.tokens);if(!d)return;const h=i.getCallSignatureInfo(d.callNode,d.activeIndex,d.activeOrFake);return h?{signatures:h.signatures.map((e=>this._makeSignature(h.callNode,e,n,i,r))),callHasParameters:!!(null===(o=h.callNode.arguments)||void 0===o?void 0:o.length)}:void 0}static _makeSignature(e,t,n,i,r){var s;const o=t.type,a=[],l=null!==(s=Ll(o,n,i))&&void 0!==s?s:this._getDocStringFromCallNode(e,n,i);let c=o.details.fullName+"(";const u=o.details.parameters.filter(((e,t)=>!(0===t&&"self"===e.name)));let p;u.forEach(((e,t)=>{const n=e.name||"";let i=e.name||"";1===e.category?i="*"+i:2===e.category&&(i="**"+i),e.hasDefault&&e.defaultValueExpression&&(i+="=",i+=xr(e.defaultValueExpression,1)),a.push({startOffset:c.length,endOffset:c.length+i.length,text:i,documentation:ps(l||"",n)}),c+=i,t0)return o.join("\n\n")}}}.getSignatureHelpForPosition(this._parseResults,e,t,n,i,r)}getCompletionsForPosition(e,t,n,i,r,s,o,a,l,c,u,p){if(!this._parseResults)return;const d=this.getOpenFileContents();return void 0!==d?new jl(t,this._parseResults,d,i,e,this._filePath,n,r,s,o,a,{nameMap:l,libraryMap:c,getModuleSymbolsMap:u},p).getCompletionsForPosition():void 0}resolveCompletionItem(e,t,n,i,r,s,o,a,l,c,u){const p=this.getOpenFileContents();if(!this._parseResults||void 0===p)return;const d=c.data;new jl(d.workspacePath,this._parseResults,p,t,d.position,this._filePath,e,n,i,r,s,{nameMap:o,libraryMap:a,getModuleSymbolsMap:l},u).resolveCompletionItem(c)}performQuickAction(e,t,n){if(this._parseResults&&void 0!==this.getClientVersion())return function(e,t,n,i){return"pyright.organizeimports"===e?new qc(n,i).sort():"pyright.addoptionalforparam"===e&&t.length>=1?function(e,t,n){ct(n);let i=Tr(e.parseTree,t);for(;i&&41!==i.nodeType;)i=i.parent;if(!i)return[];const r=i.typeAnnotation||i.typeAnnotationComment;if(!r)return[];const s=[],o=It(r.start,e.tokenizerOutput.lines),a=It(dt.getEnd(r),e.tokenizerOutput.lines);s.push({range:{start:o,end:o},replacementText:"Optional["}),s.push({range:{start:a,end:a},replacementText:"]"});const l=tn(e.parseTree),c=l.orderedImports.find((e=>"typing"===e.moduleName));if(c&&22===c.node.nodeType&&!c.node.isWildcardImport){const t=rn({name:"Optional"},c,e);s.push(...t)}else{const t=an({name:"Optional"},l,"typing",0,e,o);s.push(...t)}return s}(n,parseInt(t[0],10),i):[]}(e,t,this._parseResults,n)}bind(e,t,n){return w(!this.isParseRequired(),"Bind called before parsing"),w(this.isBindingRequired(),"Bind called unnecessarily"),w(!this._isBindingInProgress,"Bind called while binding in progress"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`binding: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.bindTime.timeOperation((()=>{this._cleanParseTreeIfRequired();const i=this._buildFileInfo(e,this._parseResults.text,t,n);!function(e,t){e.fileInfo=t}(this._parseResults.parseTree,i);const r=new ru(i,e.indexGenerationMode);this._isBindingInProgress=!0,r.bindModule(this._parseResults.parseTree),e.internalTestMode&&(new Pu).walk(this._parseResults.parseTree),this._bindDiagnostics=i.diagnosticSink.fetchAndClear();const s=Ft(this._parseResults.parseTree);w(void 0!==s,"Module scope not returned by binder"),this._moduleSymbolTable=s.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(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._bindDiagnostics=n.fetchAndClear()}finally{this._isBindingInProgress=!1}this._diagnosticVersion++,this._isCheckingNeeded=!0,this._indexingNeeded=!0,this._isBindingNeeded=!1}))}check(e){return w(!this.isParseRequired(),"Check called before parsing"),w(!this.isBindingRequired(),"Check called before binding"),w(!this._isBindingInProgress,"Check called while binding in progress"),w(this.isCheckingRequired(),"Check called unnecessarily"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`checking: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.typeCheckerTime.timeOperation((()=>{new Cu(this._parseResults.parseTree,e).check(),this._isCheckingNeeded=!1;const t=Vt(this._parseResults.parseTree);this._checkerDiagnostics=t.diagnosticSink.fetchAndClear()}))}catch(e){if(!lt.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(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._checkerDiagnostics=n.fetchAndClear(),this._isCheckingNeeded=!1}throw e}finally{this._circularDependencies=[],this._diagnosticVersion++}}))}test_enableIPythonMode(e){this._ipythonMode=e}_buildFileInfo(e,t,n,i){w(void 0!==this._parseResults,"Parse results not available");const r=new Dc(this._parseResults.tokenizerOutput.lines);return{importLookup:n,futureImports:this._parseResults.futureImports,builtinsScope:i,diagnosticSink:r,executionEnvironment:e.findExecEnvironment(this._filePath),diagnosticRuleSet:this._diagnosticRuleSet,fileContents:t,lines:this._parseResults.tokenizerOutput.lines,typingSymbolAliases:this._parseResults.typingSymbolAliases,filePath:this._filePath,moduleName:this._moduleName,isStubFile:this._isStubFile,isTypingStubFile:this._isTypingStubFile,isTypingExtensionsStubFile:this._isTypingExtensionsStubFile,isBuiltInStubFile:this._isBuiltInStubFile,isInPyTypedPackage:this._isThirdPartyPyTypedPresent,isIPythonMode:this._ipythonMode,accessedSymbolMap:new Map}}_cleanParseTreeIfRequired(){this._parseResults&&this._parseTreeNeedsCleaning&&(new Au(this._parseResults.parseTree).clean(),this._parseTreeNeedsCleaning=!1)}_resolveImports(e,t,n){const i=[],r=(t,r=!1)=>{const s=e.resolveImport(this._filePath,n,{leadingDots:0,nameParts:t,importedSymbols:void 0});if(!r||s.isImportFound)return 0===s.resolvedPaths.length||s.resolvedPaths[0]!==this._filePath?(i.push(s),s):void 0};let s;this._isThirdPartyImport||this._isStubFile||(s=r(["__builtins__"],!0)),s||(s=r(["builtins"]));const o=this._ipythonMode?r(["IPython","display"]):void 0;for(const r of t){const t=e.resolveImport(this._filePath,n,{leadingDots:r.leadingDots,nameParts:r.nameParts,importedSymbols:r.importedSymbols});i.push(t),a=t,r.nameNode.importInfo=a}var a;return{imports:i,builtinsImportResult:s,ipythonDisplayImportResult:o}}_getPathForLogging(e){return this.fileSystem.isMappedFilePath(e)?"[virtual] "+e:e}}function Fu(e){function t(e,t="'"){return e?`${t}${e}${t}`:""}e=e.map((e=>le(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))return he(t.substring(i.length)).replace(n,".");return t}return t.nameParts.join(".")}return""}function o(e){var n,i,r,s,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 Ks.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(o(e),'"'))).join(",")}]`;case 10:return`TypeVar '${e.details.name}' ${t(null===(s=e.typeAliasInfo)||void 0===s?void 0:s.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(o(e),'"'))).join(",")}]`;case 1:return`Unknown ${t(null===(l=e.typeAliasInfo)||void 0===l?void 0:l.fullName)}`;default:k(e)}return""}function a(e){if(e)switch(e.type){case 6:return`Alias, ${l(e.node)} (${i(e.path)})`;case 4:return`Class, ${l(e.node)} (${i(e.path)})`;case 3:return`Function, ${l(e.node)} (${i(e.path)})`;case 0:return`Intrinsic, ${l(e.node)} ${e.intrinsicType} (${i(e.path)})`;case 2:return`Parameter, ${l(e.node)} (${i(e.path)})`;case 5:return`SpecialBuiltInClass, ${l(e.node)} (${i(e.path)})`;case 1:return`Variable, ${l(e.node)} (${i(e.path)})`;default:k(e)}return""}function l(e,n=!1){var r;if(!e)return"";const s=n?`(${i(null===(r=function(e){for(;36!==e.nodeType&&e.parent;)e=e.parent;return 36===e.nodeType?Vt(e):void 0}(e))||void 0===r?void 0:r.filePath)})`:"";if(yr(e))return t(function(e,t=30){return e.length "}(xr(e)),'"')+` ${s}`;switch(e.nodeType){case 21:return`importAs '${l(e.module)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 22:return`importFrom [${e.imports.map((e=>t(l(e),'"'))).join(",")}]`;case 23:return`ImportFromAs '${l(e.name)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 36:return`module ${s}`;case 10:return`class '${l(e.name)}' ${s}`;case 28:return`function '${l(e.name)}' ${s}`;case 37:return`moduleName '${e.nameParts.map((e=>l(e))).join(".")}' ${s}`;case 1:return`argument '${e.name?l(e.name):"N/A"}' ${s}`;case 41:return`parameter '${e.name?l(e.name):"N/A"}' ${s}`;default:return`${function(e){switch(e){case 0:return"Error";case 1:return"Argument";case 2:return"Assert";case 3:return"Assignment";case 4:return"AssignmentExpression";case 5:return"AugmentedAssignment";case 6:return"Await";case 7:return"BinaryOperation";case 8:return"Break";case 9:return"Call";case 10:return"Class";case 11:return"Constant";case 12:return"Continue";case 13:return"Decorator";case 14:return"Del";case 15:return"Dictionary";case 16:return"DictionaryExpandEntry";case 17:return"DictionaryKeyEntry";case 18:return"Ellipsis";case 19:return"If";case 20:return"Import";case 21:return"ImportAs";case 22:return"ImportFrom";case 23:return"ImportFromAs";case 24:return"Index";case 25:return"Except";case 26:return"For";case 27:return"FormatString";case 28:return"Function";case 29:return"Global";case 30:return"Lambda";case 31:return"List";case 32:return"ListComprehension";case 33:return"ListComprehensionFor";case 34:return"ListComprehensionIf";case 35:return"MemberAccess";case 36:return"Module";case 37:return"ModuleName";case 38:return"Name";case 39:return"Nonlocal";case 40:return"Number";case 41:return"Parameter";case 42:return"Pass";case 43:return"Raise";case 44:return"Return";case 45:return"Set";case 46:return"Slice";case 47:return"StatementList";case 48:return"StringList";case 49:return"String";case 50:return"Suite";case 51:return"Ternary";case 52:return"Tuple";case 53:return"Try";case 54:return"TypeAnnotation";case 55:return"UnaryOperation";case 56:return"Unpack";case 57:return"While";case 58:return"With";case 59:return"WithItem";case 60:return"Yield";case 61:return"YieldFrom";case 62:return"FunctionAnnotation";case 63:return"Match";case 64:return"Case";case 65:return"PatternSequence";case 66:return"PatternAs";case 67:return"PatternLiteral";case 68:return"PatternClass";case 69:return"PatternCapture";case 70:return"PatternMapping";case 71:return"PatternMappingKeyEntry";case 72:return"PatternMappingExpandEntry";case 73:return"PatternValue";case 74:return"PatternClassArgument"}k(e)}(e.nodeType)} ${s}`}}return{print:function(e){return e?function(e){return e&&s(e.nodeType)}(e)?l(e,!0):function(e){const t=e;return t&&s(t.type)&&r(t.path)&&r(t.moduleName)}(e)?a(e):e instanceof qo?(t=e)?t.hasDeclarations()?`symbol ${a(t.getDeclarations()[0])}`:"":"":function(e){const t=e;return t&&s(t.category)&&s(t.flags)}(e)?o(e):void k(e):"";var t},printFileOrModuleName:i}}function Nu(e){return!!e.isIncompleteType}class Mu{constructor(){this._speculativeContextStack=[],this._speculativeTypeCache=new Map}enterSpeculativeContext(e,t){this._speculativeContextStack.push({speculativeRootNode:e,entriesToUndo:[],allowCacheRetention:t})}leaveSpeculativeContext(){w(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(Mr(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){w(0===this._speculativeContextStack.length),this._speculativeContextStack=e}addSpeculativeType(e,t,n){if(w(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=>Mr(e,t.speculativeRootNode)))){const n=this._speculativeTypeCache.get(e.id);if(n)for(const e of n)if(t){if(e.expectedType&&Ao(t,e.expectedType))return e.type}else if(!e.expectedType)return e.type}}}class Ou{constructor(){this._trackerStack=[],this._isUndoTrackingEnabled=!1}trackEntry(e,t){this._isUndoTrackingEnabled&&this._trackerStack[this._trackerStack.length-1].push({cache:e,id:t})}enterTrackingScope(){this._trackerStack.push([])}exitTrackingScope(){this._trackerStack.pop().forEach((e=>{e.cache.delete(e.id)})),0===this._trackerStack.length&&(this._isUndoTrackingEnabled=!1)}enableUndoTracking(){this._trackerStack.length>0&&(this._isUndoTrackingEnabled=!0)}isUndoTrackingEnabled(){return this._isUndoTrackingEnabled}}function Lu(e,t,n,i){var r,s,o;const a=Vt(t);let l="namedtuple";if(0===n.length)e.addError(ml.Diagnostic.namedTupleFirstArg(),t);else{const i=n[0];0!==i.argumentCategory?e.addError(ml.Diagnostic.namedTupleFirstArg(),n[0].valueExpression||t):i.valueExpression&&48===i.valueExpression.nodeType&&(l=i.valueExpression.strings.map((e=>e.value)).join(""))}const c=n.find((e=>{var t;return"defaults"===(null===(t=e.name)||void 0===t?void 0:t.value)}));let u=0;if(c&&c.valueExpression){const t=e.getTypeOfExpression(c.valueExpression).type;u=vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments?t.tupleTypeArguments.length:void 0}const p=e.getTypingType(t,"NamedTuple")||Ys.create(),d=Zs.createInstantiable(l,br(t,a.moduleName,l),a.moduleName,a.filePath,16777216,Ir(t),void 0,_o(p)?p.details.effectiveMetaclass:Ys.create());d.details.baseClasses.push(p),d.details.typeVarScopeId=e.getScopeIdForNode(t);const h=d.details.fields;h.set("__class__",qo.createWithType(68,d));const m=Aa(d,!0),f=Xs.createInstance("__new__","","",65);f.details.declaredReturnType=Fa(m),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,r=e.parent.parent;if(r.statements[0]!==e.parent||!r.parent||36!==r.parent.nodeType&&50!==r.parent.nodeType)return!1;const s=r.parent;let o=s.statements.findIndex((e=>e===r));if(o<0)return!1;for(o++;oe.value)).join("").split(/[,\s]+/),n=void 0===u?0:Math.max(0,e.length-u);e.forEach(((e,r)=>{if(e=e.trim()){const s=Ys.create(),o={category:0,name:e,type:s,hasDeclaredType:i,hasDefault:r>=n};Xs.addParameter(f,o);const l=qo.createWithType(8,s);g.push(e);const c=t.valueExpression,u={type:1,node:c,isRuntimeTypeExpression:!0,path:a.filePath,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};l.addDeclaration(u),h.set(e,l),v.push(s)}}))}else if(31===(null===(r=t.valueExpression)||void 0===r?void 0:r.nodeType)||52===(null===(s=t.valueExpression)||void 0===s?void 0:s.nodeType)){const n=t.valueExpression,r=new Map,s=31===(null===(o=t.valueExpression)||void 0===o?void 0:o.nodeType)?t.valueExpression.entries:t.valueExpression.expressions,l=void 0===u?0:Math.max(0,s.length-u);s.forEach(((t,n)=>{let s,o,c,u="";i?52===t.nodeType&&2===t.expressions.length?(c=t.expressions[0],s=t.expressions[1],o=Fa(e.getTypeForExpressionExpectingType(s,!1).type)):e.addError(ml.Diagnostic.namedTupleNameType(),t):(c=t,o=Ys.create()),c&&48===c.nodeType?(u=c.strings.map((e=>e.value)).join(""),u||e.addError(ml.Diagnostic.namedTupleEmptyName(),c)):_=!0,u||(u=`_${n.toString()}`),r.has(u)&&e.addError(ml.Diagnostic.namedTupleNameUnique(),c||t),r.set(u,u),o||(o=Ys.create());const p={category:0,name:u,type:o,hasDeclaredType:i,hasDefault:n>=l};Xs.addParameter(f,p),v.push(o),g.push(u);const d=qo.createWithType(8,o);if(c&&48===c.nodeType){const e={type:1,node:c,path:a.filePath,typeAnnotationNode:s,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};d.addDeclaration(e)}h.set(u,d)})),e.setTypeForNode(n)}else _=!0}_&&(f.details.parameters=[],Xs.addDefaultParameters(f),v.push(io.create(!1)),v.push(io.create(!0)));const T=Xs.createInstance("__init__","","",192);Xs.addParameter(T,y),Xs.addDefaultParameters(T),T.details.declaredReturnType=to.createInstance(),h.set("__new__",qo.createWithType(4,f)),h.set("__init__",qo.createWithType(4,T));const b=Xs.createInstance("keys","","",64),I=Xs.createInstance("items","","",64);b.details.declaredReturnType=e.getBuiltInObject(t,"list",[e.getBuiltInObject(t,"str")]),I.details.declaredReturnType=b.details.declaredReturnType,h.set("keys",qo.createWithType(8,b)),h.set("items",qo.createWithType(8,I));const S=Xs.createInstance("__len__","","",64);if(S.details.declaredReturnType=e.getBuiltInObject(t,"int"),Xs.addParameter(S,y),h.set("__len__",qo.createWithType(4,S)),_){const n=Xs.createInstance("__getattribute__","","",64);n.details.declaredReturnType=io.create(),Xs.addParameter(n,y),Xs.addParameter(n,{category:0,name:"name",type:e.getBuiltInObject(t,"str")}),h.set("__getattribute__",qo.createWithType(4,n))}const x=e.getBuiltInType(t,"tuple"),C=e.getBuiltInType(t,"str");if(!_&&C&&_o(C)&&x&&_o(x)){const e=g.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(C,e)),isUnbounded:!1}))),t=Zs.cloneAsInstance(Va(x,e));h.set("__match_args__",qo.createWithType(4,t))}return Ha(d),Uu(d,v,!_),d}function Uu(e,t,n){const i=e.details.mro.findIndex((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")));if(i<0||e.details.mro.length{o.push({type:e,isUnbounded:!1})})):o.push({type:t.length>0?Oo(t):Ys.create(),isUnbounded:!0});const a=Va(s,o,n),l=Zs.cloneForSpecialization(r,[],n);l.details={...l.details},l.details.mro=[...l.details.mro],l.details.mro[1]=a.details.mro[0],l.details.baseClasses=l.details.baseClasses.map((e=>_o(e)&&pa(e)?a:e)),e.details.mro[i]=l,e.details.mro[i+1]=a,e.details.baseClasses=e.details.baseClasses.map((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")?l:e))}function qu(e,t){const n={keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:[]},i=Vt(t);return t.arguments.forEach((t=>{if(t.name&&0===t.argumentCategory)switch(t.name.value){case"kw_only_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.keywordOnlyParams=r;break}case"eq_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateEq=r;break}case"order_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateOrder=r;break}case"transform_descriptor_types":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.transformDescriptorTypes=r;break}case"field_descriptors":{const i=e.getTypeOfExpression(t.valueExpression).type;if(!vo(i)||!Zs.isBuiltIn(i,"tuple")||!i.tupleTypeArguments||i.tupleTypeArguments.some((e=>!_o(e.type)&&!Eo(e.type)&&!ko(e.type))))return void e.addError(ml.Diagnostic.dataClassTransformFieldDescriptor().format({type:e.printType(i)}),t.valueExpression);n.fieldDescriptorNames||(n.fieldDescriptorNames=[]),i.tupleTypeArguments.forEach((e=>{_o(e.type)||Eo(e.type)?n.fieldDescriptorNames.push(e.type.details.fullName):ko(e.type)&&n.fieldDescriptorNames.push(e.type.overloads[0].details.fullName)}));break}default:e.addError(ml.Diagnostic.dataClassTransformUnknownArgument().format({name:t.name.value}),t.valueExpression)}else e.addError(ml.Diagnostic.dataClassTransformPositionalParam(),t)})),n}function Vu(e){let t;if(Eo(e)?t=e:ko(e)&&(t=e.overloads[0]),t)return t.details.decoratorDataClassBehaviors?t.details.decoratorDataClassBehaviors:"dataclasses.dataclass"===t.details.fullName?{keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:["dataclasses.field","dataclasses.Field"]}:void 0}function Bu(e,t,n){n.forEach((n=>{n.valueExpression&&n.name&&function(e,t,n,i,r){const s=Vt(t),o=Xc(r,s.executionEnvironment);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,r=!1;n.details.baseClasses.forEach((e=>{_o(e)&&Zs.isDataClass(e)&&(Zs.isFrozenDataClass(e)?r=!0:e.details.classDataClassTransform||e.details.declaredMetaclass&&_o(e.details.declaredMetaclass)&&e.details.declaredMetaclass.details.classDataClassTransform||(i=!0))})),(!0===o||r)&&(n.details.flags|=8,i&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.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(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.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 Wu(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)}function ju(e,t,n,i){Wu(t,n),(null==i?void 0:i.arguments)&&Bu(e,t,i.arguments)}function zu(e,t,n,i,r){return Eo(i)&&"functools.total_ordering"===i.details.fullName?function(e,t,n,i){if(1!==n.length)return i;const r=n[0].type;if(!r||!_o(r)||r.includeSubclasses)return i;const s=["__lt__","__le__","__gt__","__ge__"],o=Zs.cloneAsInstance(r),a=s.filter((e=>!_a(o,e,8)));if(a.length===s.length)return e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.totalOrderingMissingMethod(),t),i;const l=e.getBuiltInObject(t,"object");if(!l||!vo(l))return i;const c=e.getBuiltInObject(t,"bool");if(!c||!vo(c))return i;const u={category:0,name:"self",type:Aa(r,!1),hasDeclaredType:!0},p={category:0,name:"__value",type:l,hasDeclaredType:!0};return a.forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,u),Xs.addParameter(t,p),t.details.declaredReturnType=c,r.details.fields.set(e,qo.createWithType(4,t))})),i}(e,t,n,r):r}function $u(e,t,n){Xs.isStaticMethod(t)&&e.addDiagnostic(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.propertyStaticMethod(),n)}function Hu(e,t,n,i){const r=Vt(t),s=e.getBuiltInType(t,"type"),o=Zs.isBuiltIn(n,"property")?Ir(t):n.details.typeSourceId,a=Zs.createInstantiable(n.details.name,br(t,r.moduleName,`__property_${i.details.name}`),r.moduleName,r.filePath,2048,o,void 0,_o(s)?s:Ys.create());a.details.typeVarScopeId=n.details.typeVarScopeId,Ha(a);const l=a.details.fields;n.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||["__get__","__set__","__delete__","fget","fset","fdel"].some((e=>e===t))||l.set(t,e)}));const c=Zs.cloneAsInstance(a);a.isAsymmetricDescriptor=!1;const u=qo.createWithType(4,i);l.set("fget",u),Xs.isClassMethod(i)&&(a.details.flags|=4194304);const p=Xs.createInstance("__get__","","",320);Xs.addParameter(p,{category:0,name:"self",type:c,hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"obj",type:to.createInstance(),hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),p.details.declaredReturnType=Xs.isClassMethod(i)?Xs.getSpecializedReturnType(i):c,p.details.declaration=i.details.declaration;const d=Xs.createInstance("__get__","","",320);Xs.addParameter(d,{category:0,name:"self",type:c,hasDeclaredType:!0});const h=i.details.parameters.length>0?i.details.parameters[0].type:io.create();Xs.addParameter(d,{category:0,name:"obj",type:h,hasDeclaredType:!0}),Xs.addParameter(d,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),d.details.declaredReturnType=Xs.getSpecializedReturnType(i),d.details.declaration=i.details.declaration,d.details.typeVarScopeId=na(i);const m=eo.create([p,d]),f=qo.createWithType(4,m);return l.set("__get__",f),["getter","setter","deleter"].forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,{category:0,name:"self",type:io.create(),hasDeclaredType:!0}),Xs.addParameter(t,{category:0,name:"accessor",type:io.create(),hasDeclaredType:!0}),t.details.declaredReturnType=c;const n=qo.createWithType(4,t);l.set(e,n)})),c}function Gu(e,t,n,i,r,s,o=0){const a=Zs.cloneAsInstance(i);let l=!0;return[{name:"fget",missingDiagMsg:ml.DiagnosticAddendum.missingGetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleGetter},{name:"fset",missingDiagMsg:ml.DiagnosticAddendum.missingSetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleSetter},{name:"fdel",missingDiagMsg:ml.DiagnosticAddendum.missingDeleter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleDeleter}].forEach((i=>{const c=t.details.fields.get(i.name),u=c?e.getDeclaredTypeOfSymbol(c):void 0;if(u&&Eo(u)){const t=n.details.fields.get(i.name),c=t?e.getDeclaredTypeOfSymbol(t):void 0;if(!c||!Eo(c))return r&&r.addMessage(i.missingDiagMsg()),void(l=!1);const p=e.bindFunctionToClassOrObject(a,u,void 0,void 0,o),d=e.bindFunctionToClassOrObject(a,c,void 0,void 0,o);if(!p||!d||!e.canAssignType(p,d,null==r?void 0:r.createAddendum(),s,0,o))return r&&r.addMessage("getter type is incompatible"),void(l=!1)}})),l}const Ku={0:["__add__","__radd__",!1],33:["__sub__","__rsub__",!1],26:["__mul__","__rmul__",!1],13:["__floordiv__","__rfloordiv__",!1],10:["__truediv__","__rtruediv__",!1],24:["__mod__","__rmod__",!1],29:["__pow__","__rpow__",!1],22:["__matmul__","__rmatmul__",!1],3:["__and__","__rand__",!1],6:["__or__","__ror__",!1],8:["__xor__","__rxor__",!1],17:["__lshift__","__rlshift__",!1],31:["__rshift__","__rrshift__",!1],12:["__eq__","__ne__",!0],28:["__ne__","__eq__",!0],20:["__lt__","__ge__",!0],21:["__le__","__gt__",!0],15:["__gt__","__le__",!0],16:["__ge__","__lt__",!0]},Ju={36:!1,37:!1,39:!0,40:!0,41:!0,42:!0},Yu=new Map([["asyncio.futures.Future",De.V3_9],["asyncio.tasks.Task",De.V3_9],["builtins.dict",De.V3_9],["builtins.frozenset",De.V3_9],["builtins.list",De.V3_9],["builtins._PathLike",De.V3_9],["builtins.set",De.V3_9],["builtins.tuple",De.V3_9],["collections.ChainMap",De.V3_9],["collections.Counter",De.V3_9],["collections.defaultdict",De.V3_9],["collections.DefaultDict",De.V3_9],["collections.deque",De.V3_9],["collections.OrderedDict",De.V3_9],["queue.Queue",De.V3_9]]),Qu=new Map([["builtins.float",["builtins.int"]],["builtins.complex",["builtins.float","builtins.int"]],["builtins.bytes",["builtins.bytearray","builtins.memoryview"]]]);function Zu(e,t){const n=[],i=new Map,r=new Map,s=new Map,o=new Map,a=new Set,l=new Map,c=new Mu,u=new Map,p=[],d=new Ou,h=[];let m,f,g,y,_,v,T,b,I,S,x,C,k=!1;const D=[];let A;function P(){m&&ct(m)}function R(e){let t;return t=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==t}function F(e,n){let i;if(i=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==i){if(t.verifyTypeCacheEvaluatorFlags&&void 0!==n){const t=o.get(e.id);void 0!==t&&n!==t&&E(`Type cache flag mismatch for node type ${e.nodeType}: cached flags = ${t}, access flags = ${n}`)}return w(!Nu(i)),i}}function N(e,n,i,r,a,l=!1){if(r)return void(C&&C.set(e.id,n));const u=A&&L(e)?A:s;u.set(e.id,n),t.verifyTypeCacheEvaluatorFlags&&u===s&&void 0!==i&&o.set(e.id,i),c.isSpeculative(e)&&(c.trackEntry(u,e.id),l&&c.addSpeculativeType(e,n,a)),d.trackEntry(u,e.id)}function M(e){(A&&L(e)?A:s).delete(e.id)}function O(e,t=Ys.create(),n=0){N(e,t,n,!1)}function L(e){const t=D.length;if(0===t)return!1;const n=D[t-1];let i=e;for(;i;){if(i===n.functionNode)return!0;i=i.parent}return!1}function U(e,t){return n.findIndex((n=>n.symbolId===e.id&&n.declaration===t))}function q(e,t){const i=U(e,t);if(i>=0){for(let e=i+1;e=0&&(n[r].partialType=i)}function W(e,t){const i=U(e,t);if(i>=0)return n[i].partialType}function j(e){var t;return null===(t=gn(e,(()=>{hn(e)})))||void 0===t?void 0:t.type}function z(e){k||(k=!0,y=Cn(e,"object"),_=xn(e,"type"),v=Cn(e,"function"),ce(e,"Collection"),f=function(e,t){return ue(e,"NoneType",["_typeshed"])}(e)||io.create(),T=xn(e,"tuple"),b=xn(e,"bool"),I=xn(e,"str"),S=xn(e,"dict"),x=ce(e,"_TypedDict"))}function $(e,n,i=0){var r;const s=F(e,i);if(s)return{type:s,node:e};{const t=c.getSpeculativeType(e,n);if(t)return{type:t,node:e}}P();const o=ta(n);let a;z(e);let u=0!=(64&i);switch(e.nodeType){case 38:a=function(e,n){const i=Vt(e),r=e.value;let s,o=!1;const a=0!=(4&n)||i.isStubFile;if(!t.analyzeUnannotatedFunctions){const t=kr(e);if(t&&function(e){return void 0===e.returnTypeAnnotation&&e.parameters.every((e=>void 0===e.typeAnnotation&&void 0===e.typeAnnotationComment))}(t))return{node:e,type:io.create(),isIncomplete:!1}}const l=wn(e,r,!a,a&&0!=(1024&n));if(l){let t=!a;4===l.scope.type&&(t=!1);const c=l.symbol,u=Mn(c,t?e:void 0),p=ta(u.type);u.isIncomplete&&(o=!0),u.isRecursiveDefinition&&pe(e)&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.recursiveDefinition().format({name:r}),e);const d=!!p&&_o(p)&&Zs.isSpecialBuiltIn(p);if(s=p,t&&!d){const t=l.isBeyondExecutionScope||!c.isInitiallyUnbound()?p:Js.create(),n=_n(e,c.id,t,!1);if(n.type&&(s=n.type),n.isIncomplete&&(o=!0),!n.type&&l.isBeyondExecutionScope){const t=function(e,t,n){if(!t.symbol.getDeclarations().every((e=>1===e.type||2===e.type)))return;const i=function(e,t){const n=[];let i=e;for(;i;){const e=zs(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}(e,t.scope);if(i&&i.length>=2&&i.every((e=>1===e.type||3===e.type))){const r=function(e,t){let n,i=e,r=!1;for(;i;){if(Ft(i)===t)r=!0;else if(r)return n;n=i,i=i.parent}}(e,i[i.length-2]);if(r&&(28===r.nodeType||30===r.nodeType)){const i=Lt(r);if(i&&t.symbol.getDeclarations().every((e=>{if(2===e.type)return!0;const t=Lt(e.node);return!(!t||t!==i&&ci.isFlowNodeReachable(t,i))})))return _n(e,t.symbol.id,n,!1,r)}}}(e,l,p);(null==t?void 0:t.type)&&(s=t.type),(null==t?void 0:t.isIncomplete)&&(o=!0)}}s=Ae(e,s,n),we(i,c,e),0!=(1024&n)&&u.includesVariableDecl&&!s.typeAliasInfo&&(ea(s)||bo(s)||po(s)||i.isTypingStubFile||Ks.isInstantiable(s)&&0==(2&n)||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationVariable(),e),s=Ys.create()))}else{if("true"===r||"false"===r){const t=r.split("");t[0]=t[0].toUpperCase();const n=t.join("");_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.booleanIsLowerCase().format({name:r,booleanName:n}),e)}else"reveal_type"!==r&&"reveal_locals"!==r&&_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.symbolIsUndefined().format({name:r}),e);s=Ys.create()}if(wo(s)&&32&n&&(fe(ml.Diagnostic.paramSpecContext(),e),s=Ys.create()),bo(s)&&0==(64&n)&&s.details.name===r){const t=s.details.isVariadic?ce(e,"TypeVarTuple"):ce(e,"TypeVar");s=t&&_o(t)?Zs.cloneAsInstance(t):Ys.create()}return 0!=(64&n)&&0==(512&n)&&_o(s)&&Zs.isBuiltIn(s,"Generic")&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.genericNotAllowed(),e),bo(s)&&!s.details.isSynthesized&&(s=ke(e,s,n)),{type:s,node:e,isIncomplete:o}}(e,i);break;case 35:a=function(e,t){const n=2|572484&t,i=$(e.leftExpression,void 0,n);if(ea(i.type))return{node:e,type:Ys.create(),isIncomplete:!0};const r=Fe(e,i,{method:"get"},t);if(Dt(e)){N(e,r.type,t,!0),N(e.memberName,r.type,t,!0);let n=r.type,s=!!r.isIncomplete;if(mo(n)){const t=Ie(i.type);let r;_o(t)?r=va(t,e.memberName.value,1):vo(t)&&(r=_a(t,e.memberName.value,1)),r&&(n=Bn(r),s=!1)}const o=_n(e,0,n,s);o.type&&(r.type=o.type),o.isIncomplete&&(r.isIncomplete=!0),r.type=Ae(e,r.type,t),M(e),M(e.memberName)}return i.isIncomplete&&(r.isIncomplete=!0),r}(e,i),ea(a.type)||N(e.memberName,a.type,i,!!a.isIncomplete);break;case 24:a=function(e,t=0){const n=$(e.baseExpression,void 0,2|t);if(64&t&&48===e.baseExpression.nodeType){const t=Vt(e);!t.isStubFile&&t.executionEnvironment.pythonVersion{vo(e)&&(Zs.isBuiltIn(e)||Zs.isTypedDictClass(e))||(r=!1)})),r){N(e,i.type,t,!1);const r=_n(e,0,i.type,!!n.isIncomplete||!!i.isIncomplete);r.type&&(i.type=r.type),r.isIncomplete&&(i.isIncomplete=!0),M(e)}}return n.isIncomplete&&(i.isIncomplete=!0),0!=(1048576&t)&&_o(n.type)&&(Zs.isBuiltIn(n.type,"Required")?i.isRequired=!0:Zs.isBuiltIn(n.type,"NotRequired")&&(i.isNotRequired=!0)),i}(e,i);break;case 9:0!=(1024&i)?(ze(e,o),_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationCall(),e),a={node:e,type:Ys.create()}):a=ze(e,o);break;case 52:a=function(e,t,n){if(0!=(64&n)&&0===e.expressions.length&&!t)return{type:Ue([]),node:e,isEmptyTupleShorthand:!0};let i=t,r=t&&uo(t);if(t&&fo(t)){let n;Jo(t,(t=>{if(uo(t)&&(r=!0),!n){const i=kn(e,(()=>We(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){const t=We(e,i);if(t)return t}const s=function(e){const t=e.expressions.map((e=>$(e))),n=t.some((e=>e.isIncomplete));return T&&_o(T)?{type:Fa(Va(T,je(t))),node:e,isIncomplete:n}:{type:Ys.create(),node:e}}(e);return r&&(s.type=io.create()),s}(e,o,i);break;case 11:a=function(e,t){let n;if(26===e.constType?n=0!=(64&t)?to.createType():to.createInstance():33!==e.constType&&15!==e.constType&&9!==e.constType||(n=Cn(e,"bool"),n&&vo(n)&&(33===e.constType?n=Zs.cloneWithLiteral(n,!0):15===e.constType&&(n=Zs.cloneWithLiteral(n,!1)))),n)return{type:n,node:e}}(e,i);break;case 48:if(0==(8&i)||function(e){if(e.parent&&24===e.parent.nodeType){const t=$(e.parent.baseExpression).type;if(t&&_o(t)&&Zs.isSpecialBuiltIn(t,"Literal"))return!0}return!1}(e)){e.strings.forEach((e=>{27===e.nodeType&&e.expressions.forEach((e=>{$(e)}))}));const t=0!=(32&e.strings[0].token.flags);a=e.strings.some((e=>27===e.nodeType))?{node:e,type:Cn(e,t?"bytes":"str")}:{node:e,type:kt(e,t?"bytes":"str",e.strings.map((e=>e.value)).join(""))}}else{let t=68|i;if(0==(4194304&i)&&(t|=524288),e.typeAnnotation)a=$(e.typeAnnotation,void 0,t);else if(!e.typeAnnotation&&1===e.strings.length){const n=function(e){const t=Vt(e),n=new Qc,i=e.strings[0].value,r=e.strings[0].start+e.strings[0].token.prefixLength+e.strings[0].token.quoteMarkLength,s=new Jc;s.isStubFile=t.isStubFile,s.pythonVersion=t.executionEnvironment.pythonVersion;const o=n.parseTextExpression(t.fileContents,r,i.length,s,void 0,void 0,t.typingSymbolAliases);if(o.parseTree)return o.diagnostics.forEach((t=>{fe(t.message,e)})),o.parseTree.parent=e,o.parseTree}(e);n&&(a=$(n,void 0,t))}a||(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedTypeNotString(),e),a={node:e,type:Ys.create()}),u=!1}break;case 40:a=e.isImaginary?{node:e,type:Cn(e,"complex")}:e.isInteger?{node:e,type:kt(e,"int",e.value)}:{node:e,type:Cn(e,"float")};break;case 18:a=0!=(1&i)?{type:io.create(!0),node:e}:0!=(256&i)?{type:Ys.create(),node:e}:{type:Cn(e,"ellipsis")||io.create(),node:e};break;case 55:a=function(e,t){const n=$(e.expression);let i=Ie(n.type);const r=n.isIncomplete;if(ao(i))return{node:e,type:no.createNever(),isIncomplete:r};const s={0:"__pos__",33:"__neg__",5:"__invert__"};let o;if(38!==e.operator&&Go(i)&&(_e(Vt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.expression),i=Fo(i)),!n.isIncomplete){const t=aa(i);"int"===t?0===e.operator?o=i:33===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,-t.literalValue)}))):"bool"===t&&38===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,!t.literalValue)})))}if(!o)if(38===e.operator)o=Cn(e,"bool"),o||(o=Ys.create());else if(o=ho(i)?i:gt(i,[],s[e.operator],e,t),!o){_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t?ml.Diagnostic.typeNotSupportUnaryOperatorBidirectional().format({operator:Cr(e.operator),type:ai(i),expectedType:ai(t)}):ml.Diagnostic.typeNotSupportUnaryOperator().format({operator:Cr(e.operator),type:ai(i)}),e),o=Ys.create()}return{type:o,node:e,isIncomplete:r}}(e,o);break;case 7:a=ut(e,o,i);break;case 5:a=ht(e,o),xe(e.destExpression,a.type,!!a.isIncomplete,e.rightExpression);break;case 31:case 45:a=function(e,t){let n=t;if(t&&fo(t)){let i;Jo(t,(t=>{if(!i){const n=kn(e,(()=>bt(e,t)));n&&Jn(t,n.type)&&(i=t)}})),n=i}if(n){const t=bt(e,n);if(t)return t}return function(e,t){const n=31===e.nodeType?"list":"set";let i=!1,r=!1,s=[];e.entries.forEach(((e,n)=>{let i;i=32===e.nodeType?wt(e):$(e,t?no.createNever():void 0),i.isIncomplete&&(r=!0),n<64&&s.push(i.type)})),s=s.map((e=>Qo(e)));let o=t?io.create():Ys.create();if(s.length>0){const i=Vt(e);o="list"===n&&i.diagnosticRuleSet.strictListInference||"set"===n&&i.diagnosticRuleSet.strictSetInference||t?Oo(s,64):Yo(s,!0)?s[0]:o}else i=!0;const a=xn(e,n);return{type:_o(a)?Zs.cloneAsInstance(Zs.cloneForSpecialization(a,[o],!0,void 0,void 0,i)):Ys.create(),node:e,isIncomplete:r}}(e,void 0!==t)}(e,o);break;case 46:a=function(e){return e.startValue&&$(e.startValue),e.endValue&&$(e.endValue),e.stepValue&&$(e.stepValue),{type:Cn(e,"slice"),node:e}}(e);break;case 6:{const t=n?nn(e,n,!1):void 0,r=$(e.expression,t,i);a={type:oe(r.type,e.expression),node:e},r.isIncomplete&&(a.isIncomplete=!0);break}case 51:a=function(e,t,n){$(e.testExpression);const i=[];let r=!1;if(pe(e.ifExpression)){const s=$(e.ifExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}if(pe(e.elseExpression)){const s=$(e.elseExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}return{type:Oo(i),node:e,isIncomplete:r}}(e,i,o);break;case 32:a=function(e,t){let n=!1;const i=wt(e);i.isIncomplete&&(n=!0);const r=i.type;let s=e.forIfNodes.some((e=>33===e.nodeType&&e.isAsync||34===e.nodeType&&6===e.testExpression.nodeType)),o=Ys.create();6===e.expression.nodeType&&(s=!0),!s&&t&&vo(t)&&Zs.isBuiltIn(t,"AsyncGenerator")&&(s=!0);const a=ce(e,s?"AsyncGenerator":"Generator");return a&&_o(a)&&(o=Zs.cloneAsInstance(Zs.cloneForSpecialization(a,s?[r,to.createInstance()]:[r,to.createInstance(),to.createInstance()],!0))),{type:o,node:e,isIncomplete:n}}(e,o);break;case 15:a=function(e,t){let n,i=t;if(t&&fo(t)){let n;Jo(t,(t=>{if(!n){const i=kn(e,(()=>_t(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){n=new il;const t=_t(e,i,n);if(t)return t}return{...vt(e,!!t),expectedTypeDiagAddendum:n}}(e,o);break;case 30:a=function(e,t){const n=Xs.createInstance("","","",0);n.details.typeVarScopeId=Pe(e),N(e,n,0,!1);let i=[];if(t){Ko(t,(e=>{if(Eo(e)&&i.push(e),vo(e)){const t=_a(e,"__call__");if(t){const n=Bn(t);if(n&&Eo(n)){const t=ri(e,n);t&&i.push(t)}}}}));const n=e.parameters.filter((e=>0===e.category&&void 0===e.defaultValue)).length,r=e.parameters.filter((e=>0===e.category)).length;i=i.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<=r}))}const r=i.length>0?i[0]:void 0;e.parameters.forEach(((t,i)=>{let s=Ys.create();r&&i{n.inferredReturnType=$(e.expression,s).type}),!1):n.inferredReturnType=$(e.expression,s).type,{type:n,node:e}}(e,o);break;case 3:a=$(e.rightExpression),xe(e.leftExpression,a.type,!1,e.rightExpression,!0,!0);break;case 4:a=$(e.rightExpression),xe(e.name,a.type,!1,e.rightExpression,!0);break;case 60:a=function(e){let t,n,i=!1;const r=kr(e);if(r){const e=Gt(r);if(e){const i=Xs.getSpecializedReturnType(e.functionType);if(i){const e=za(i);e&&(e.length>=1&&(t=e[0]),e.length>=2&&(n=e[1]))}}}return e.expression&&$(e.expression,t).isIncomplete&&(i=!0),{type:n||Ys.create(),node:e,isIncomplete:i}}(e);break;case 61:a=function(e){const t=$(e.expression).type;let n,i=za(t);return i?n=i.length>=2?i[2]:Ys.create():vo(t)&&Zs.isBuiltIn(t,"Coroutine")?n=Ys.create():(i=za(le(t,!1,e)||Ys.create()),i&&(n=i.length>=2?i[2]:Ys.create())),{type:n||Ys.create(),node:e}}(e);break;case 56:{let t;if(o){const n=xn(e,"Iterable");n&&_o(n)&&(t=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[o],!0)))}const n=$(e.expression,t,i),r=n.type;a=0==(128&i)&&Io(r)&&!r.isVariadicUnpacked?{type:oo.cloneForUnpacked(r),node:e}:0!=(2097152&i)&&_o(r)&&Zs.isBuiltIn(r,"tuple")?{type:Zs.cloneForUnpacked(r),node:e}:{type:ae(r,!1,e)||Ys.create(),unpackedType:r,node:e,isIncomplete:n.isIncomplete};break}case 54:a=$(e.typeAnnotation,void 0,34024);break;case 0:En(e,(()=>{e.child&&$(e.child)})),a={type:Ys.create(),node:e}}return a||E(`Unhandled expression type '${xr(e)}'`),!u||a.isIncomplete||(128&i&&bo(a.type)&&a.type.details.isVariadic&&!a.type.isVariadicInUnion&&(fe(ml.Diagnostic.typeVarTupleContext(),e),a.type=Ys.create()),Ks.isInstantiable(a.type))||vo(a.type)&&Zs.isTupleClass(a.type)&&0===(null===(r=a.type.tupleTypeArguments)||void 0===r?void 0:r.length)||(ve(a.type,e),a.type=Ys.create()),65536&i&&ea(a.type)&&(a.type.details.illegalRecursionDetected=!0),ea(a.type)||(N(e,a.type,i,!!a.isIncomplete,n,!0),!n||ho(n)||ao(n)||l.set(e.id,n)),a}function H(e){return void 0!==e.futureImports.get("annotations")||e.executionEnvironment.pythonVersion>=De.V3_11||e.isStubFile}function G(e,t){return K(e,{associateTypeVarsWithScope:!0,allowTypeVarTuple:1===t,disallowRecursiveTypeAlias:!0,allowUnpackedTypedDict:2===t,allowUnpackedTuple:1===t})}function K(e,t){var n,i,r;const s=Vt(e);if(s.isTypingStubFile||s.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=F(e,0);if(i)return w(_o(i)),i;const r=Bt(e,t,n);return N(e,r,0,!1),r}}(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),H(s)&&(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===(r=null==e?void 0:e.parent)||void 0===r?void 0:r.nodeType)&&e.parent.typeAnnotationComment===e&&(o|=524292);const a=$(e,void 0,o).type;return To(a)&&_e(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleAsType(),e),Fa(a)}function J(e,t){let n=Vt(e).isStubFile?4:0;9!==e.expression.nodeType&&(n|=2);const i=$(e.expression,void 0,n);if(_o(i.type)&&Zs.isBuiltIn(i.type,"classmethod")&&ua(t))return t;const r=[{argumentCategory:0,type:t}],s=et(e.expression,r,i.type,void 0,!0).returnType||Ys.create();return!Eo(s)||s.details.declaredReturnType||s.details.parameters.some(((e,t)=>!(e.name&&!e.hasDeclaredType&&(0!==e.category||0===t&&e.isTypeInferred))))?La(s)&&Eo(i.type)&&!i.type.details.parameters.find((e=>void 0!==e.typeAnnotation))&&void 0===i.type.details.declaredReturnType?t:s:t}function Y(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 0:case 1:case 2:case 4:case 3:return!0;case 9:return void 0!==Mo(e,(e=>Y(e,t)));case 5:case 6:case 8:case 10:return!1;case 7:{if(Ks.isInstantiable(e))return!1;if(pa(e)&&e.tupleTypeArguments)return da(e)||0===e.tupleTypeArguments.length;if(Zs.isBuiltIn(e,"bool")&&void 0!==e.literalValue)return!1===e.literalValue;if(Zs.isProtocolClass(e))return!0;if(_a(e,"__len__"))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!0===t.literalValue)return!1}return!0}return!1}}}function Q(e,t=0){if(t>Gs)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!==Mo(e,(e=>Q(e,t)));case 0:case 3:return!1;case 7:{if(Ks.isInstantiable(e))return!0;if(pa(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(Zs.isProtocolClass(e))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!1===t.literalValue)return!1}}return!0}}}function Z(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?void 0:e;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!1)}if(Y(e))return e}))}function X(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?e:void 0;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!0)}if(Q(e))return e}))}function ee(e,t,n,i={method:"get"},r,s=0,o){const a=Ne(e,Zs.cloneAsInstantiable(t),n,i,r,8|s,o);if(a)return{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}}function te(e,t,n,i={method:"get"},r,s=0,o){let a;if(Zs.isPartiallyConstructed(t))return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classDefinitionCycle().format({name:t.details.name}),e),{node:e,type:Ys.create()};if(0==(32&s)&&(a=Ne(e,t,n,i,r,1|s,o)),a&&a.classType&&a.symbol&&yo(a.classType)&&Zs.isProtocolClass(a.classType)){const t=Vo(a.symbol);t&&1===t.type&&!a.isClassVar&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.protocolMemberNotClassVar().format({memberName:n,className:a.classType.details.name}),e)}if(!a){const r=t.details.effectiveMetaclass;r&&_o(r)&&!Zs.isSameGenericClass(r,t)&&(a=Ne(e,r,n,i,void 0,s,t))}return a?{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}:void 0}function ne(e,t,n=!1){const i=va(e,t,8);if(i){const t=Bn(i);if(Eo(t)||ko(t)){const i=ri(Zs.cloneAsInstance(e),t,void 0,void 0,void 0,n);if(i)return i}}}function ie(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 r=e.functionAnnotationComment.paramTypeAnnotations;r.length=r.length?void 0:r[s]}function re(e){if(54===e.nodeType&&38===e.valueExpression.nodeType){const t=wn(e,e.valueExpression.value,!1);if(t)return void 0!==t.symbol.getDeclarations().find((e=>ss(e)))}return!1}function se(e,t){let n,i,r,s=!0;switch(e.nodeType){case 38:{const t=wn(e,e.value,!0);if(t&&(n=t.symbol,void 0===On(n)&&2===t.scope.type)){const t=Dr(e);if(t&&10===t.nodeType){const i=$t(t);if(i){const t=va(i.classType,e.value,24);t&&(n=t.symbol)}}}break}case 54:return se(e.valueExpression);case 35:{const t=Ie($(e.leftExpression,void 0,2).type);let o;vo(t)?(o=_a(t,e.memberName.value,16),i=t,r=null==o?void 0:o.classType,(null==o?void 0:o.isInstanceMember)&&(s=!1)):_o(t)&&(o=va(t,e.memberName.value,24),i=t,r=null==o?void 0:o.classType),o&&(n=o.symbol);break}case 24:{const n=se(e.baseExpression);if(n&&vo(n)){const i=va(n,"__setitem__");if(i){const t=Bn(i);if(Eo(t)){const r=ri(n,t,_o(i.classType)?i.classType:void 0,e,void 0,!1);if(r&&Eo(r)&&2===r.details.parameters.length){const e=Xs.getEffectiveParameterType(r,1);if(!ho(e))return e}}}else if(Zs.isTypedDictClass(n)){const i=vl(li,e,n,t||{method:"get"});if(i)return i.type}}break}}if(n){let t=On(n);if(t){if(ua(t)){const e=va(t,"fset"),n=e?Bn(e):void 0;if(!n||!Eo(n)||n.details.parameters.length<2)return;t=n.details.parameters[1].type}return i&&(r&&_o(r)&&(t=ha(t,r)),(Eo(t)||ko(t))&&s&&(t=ri(i,t,void 0,e))),t}}}function oe(e,t){return Ko(e,(e=>{if(ho(e))return e;if(vo(e)){const n=Ee(e,"__await__",t);if(n){if(ho(n))return n;if(vo(n)&&Ee(n,"__iter__",t)){const e=function(e){if(ho(e))return e;if(vo(e)&&Zs.isBuiltIn(e,"Generator")){const t=e.typeArguments;if(t&&t.length>=3)return t[2]}}(n);if(e)return e}}}return t&&_e(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotAwaitable().format({type:ai(e)}),t),Ys.create()}))}function ae(e,t,n){const i=t?"__aiter__":"__iter__",r=t?"__anext__":"__next__";let s=!0;Go(e=Ie(e))&&(n&&_e(Vt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const o=Ko(e,(e=>{if(ho(e=Ie(e)))return e;const o=new il;if(yo(e)){let s;if(Ks.isInstance(e)){if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return no.createNever();s=Ee(e,i,n)}else Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(s=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e));if(s){const e=new il,a=Se(s,void 0,(s=>{if(ho(s))return s;if(vo(s)){const i=Ee(s,r,n);if(i)return t?oe(i,n):i;e.addMessage(ml.Diagnostic.methodNotDefinedOnType().format({name:r,type:ai(s)}))}else e.addMessage(ml.Diagnostic.methodReturnsNonObject().format({name:i}))}));if(e.isEmpty())return a;o.addAddendum(e)}else{if(vo(e)){const t=Ee(e,"__getitem__",n);if(t)return t}o.addMessage(ml.Diagnostic.methodNotDefined().format({name:i}))}}n&&_e(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)})+al(o),n),s=!1}));return s?o:void 0}function le(e,t,n){const i=t?"__aiter__":"__iter__";let r=!0;Go(e=Ie(e))&&(n&&_e(Vt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const s=Ko(e,(e=>{if(ho(e))return e;if(yo(e)){let t;if(Ks.isInstance(e)?t=Ee(e,i,n):Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(t=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e)),t)return Ie(t)}n&&_e(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)}),n),r=!1}));return r?s:void 0}function ce(e,t){return ue(e,t,["typing"])}function ue(t,n,i){const r=Vt(t),s=e({nameParts:i,importingFilePath:r.filePath});if(!s)return;const o=s.symbolTable.get(n);return o?Nn(o):void 0}function pe(e,t){const n=Lt(e);if(!n)return!!e.parent&&pe(e.parent,t);const i=t?Lt(t):void 0;return!!ci.isFlowNodeReachable(n,i)}function de(e){const t=function(e){return e.afterFlowNode}(e);return!!t&&!!ci.isFlowNodeReachable(t)&&!!function(e,t){return void 0!==vn(yn(e.id),t,void 0,void 0,Js.create(),!1).type}(e,t)}function he(e,t,n=!0){const i=Lt(e),r=Lt(t);return!(!i||!r)&&(i===r?n:ci.isFlowNodeReachable(r,i))}function me(e,t,n){return ge("information",e,t,n)}function fe(e,t,n){return ge("error",e,t,n)}function ge(e,t,n,i){if(!ye(n))return Vt(n).diagnosticSink.addDiagnosticWithTextRange(e,t,i||n)}function ye(e){return p.some((t=>Mr(e,t)))||c.isSpeculative(e)||d.isUndoTrackingEnabled()}function _e(e,t,n,i){if("none"===e)return;const r=ge(e,n,i);return r&&r.setRule(t),r}function ve(e,t){const n=Vt(t),i=new il;fo(e)&&Jo(e,(e=>{Ks.isInstantiable(e)||i.addMessage(ml.DiagnosticAddendum.typeNotClass().format({type:ai(e)}))})),_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeExpectedClass().format({type:ai(e)})+i.getString(),t)}function Te(e,t,n,i,r=!1,s){const o=e.value,a=wn(e,o,!1);if(!a)return;const l=a.symbol.getDeclarations();let c=On(a.symbol);const u=Vt(e);if(void 0===c&&2===a.scope.type){const t=Er(e);if(t){const n=$t(t);if(n){const t=va(n.classType,e.value,1);(null==t?void 0:t.isTypeDeclared)&&(c=Bn(t))}}}let p=t;if(c&&i){let n=new il;Jn(c,t,n)?p=ni(c,t):(s&&(n=s),_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(c)})+n.getString(),i||e),p=c)}else{const t=zs(e);2===(null==t?void 0:t.type)&&(!Ks.isInstance(p)||Zt(o)||Wo(a.symbol)||(p=Qo(p)))}const d=l.find((e=>1===e.type));d&&1===d.type&&i&&(d.isConstant?e!==l[0].node&&_e(u.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:o}),e):d.isFinal&&!r&&_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalReassigned().format({name:o}),e)),N(e,p,0,n,void 0,!1)}function be(e,t,n,i,r){const s=e.memberName.value,o=Vt(e),a=Er(e);if(!a)return;const l=$t(a);if(l&&_o(l.classType)){let a=va(l.classType,s,i?0:8);const c=l.classType.details.fields;if(a){const n=_o(a.classType)?a.classType:void 0,u=n&&Zs.isSameGenericClass(l.classType,n);if(u&&i&&(null==n?void 0:n.details.inheritedSlotsNames)&&(null==n?void 0:n.details.localSlotsNames)&&n.details.localSlotsNames.length>0&&!n.details.inheritedSlotsNames.some((e=>e===s))){const t=On(a.symbol);t&&ua(t)||_e(o.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsAttributeError().format({name:s}),e.memberName)}if(u&&a.isInstanceMember===i){const t=c.get(s);w(void 0!==t);const n=t.getDeclarations();n.length>0&&1===n[0].type&&r&&e.memberName!==n[0].node&&n[0].isConstant&&_e(o.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:e.memberName.value}),e.memberName)}else{const n=On(a.symbol);n&&!ua(n)&&!a.isInstanceMember&&i&&(we(o,a.symbol,e.memberName),t=Oo([t,Bn(a)]))}}a=va(l.classType,s,16),a||!r||n||xt(o.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,t,e,!0)}}function Ie(e,t){return Ko(e,(e=>{if(wo(e)){if("args"===e.paramSpecAccess)return T&&_o(T)&&y&&vo(y)?Zs.cloneAsInstance(Va(T,[{type:y,isUnbounded:!0}])):Ys.create();if("kwargs"===e.paramSpecAccess)return S&&_o(S)&&I&&_o(I)&&y&&vo(y)?Zs.cloneAsInstance(Zs.cloneForSpecialization(S,[Fa(I),y],!0)):Ys.create()}if(Io(e)&&T&&_o(T))return Fa(Va(T,[],!0,!0,!0));if(bo(e)&&!e.details.recursiveTypeAliasName){if(e.details.boundType){const t=Ks.isInstantiable(e)?Na(e.details.boundType):e.details.boundType;return e.details.isSynthesized?t:Zo(t,[{typeVarName:oo.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,r)=>{if(t){const n=oo.getNameWithScope(e),i=t.find((e=>e.typeVarName===n));if(i&&i.constraintIndex!==r)return}Ks.isInstantiable(e)&&(i=Na(i)),n.push(Zo(i,[{typeVarName:oo.getNameWithScope(e),constraintIndex:r,isConstrainedTypeVar:!0}]))})),Oo(n)}if(e.details.isExemptFromBoundCheck)return io.create();if(Ks.isInstantiable(e)){if(_&&_o(_))return e.details.isSynthesized?_:Zo(Zs.cloneAsInstance(_),[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}else if(y)return e.details.isSynthesized?y:Zo(y,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}]);return io.create()}return e}))}function Se(e,t,n){const i=[];let r=!1;const s=e=>{let s=fo(e)?e:Ie(e);s=ta(s),Jo(s,(s=>{var o;if(t&&!ro.isCompatible(Xo(s),t))return;let a=n(s,e);if(a!==e&&(r=!0),a){const e=null===(o=Xo(s))||void 0===o?void 0:o.filter((e=>e.isConstrainedTypeVar));e&&e.length>0&&(a=Zo(a,e)),i.push(a)}}))};if(fo(e)?e.subtypes.forEach((e=>{s(e)})):s(e),!r)return e;const o=Oo(i);return 9===o.category&&so.addTypeAliasSource(o,e),o}function xe(e,t,n,i,r=!1,s=!1,o){if(bo(t)&&i&&9===i.nodeType){const n=$(i.leftExpression,void 0,2).type;_o(n)&&(Zs.isBuiltIn(n,"TypeVar")||Zs.isBuiltIn(n,"TypeVarTuple")||Zs.isBuiltIn(n,"ParamSpec"))&&(38===e.nodeType&&e.value===t.details.name||fe(t.details.isParamSpec?ml.Diagnostic.paramSpecAssignedName().format({name:oo.getReadableName(t)}):ml.Diagnostic.typeVarAssignedName().format({name:oo.getReadableName(t)}),e))}switch(t=Ro(t),e.nodeType){case 38:n||xt(Vt(e).diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,e,t,e,r),Te(e,t,n,i,s,o);break;case 35:!function(e,t,n,i,r){const s=$(e.leftExpression,void 0,2),o=Ie(s.type);if(38===e.leftExpression.nodeType){const r=Er(e);if(r){const s=$t(r);if(s&&_o(s.classType)&&(vo(o)?Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!0,i):_o(o)&&Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!1,i),Zs.isProtocolClass(s.classType))){const t=s.classType.details.fields.get(e.memberName.value);t&&0===t.getDeclarations().filter((e=>!kr(e.node))).length&&fe(ml.Diagnostic.assignmentInProtocol(),e.memberName)}}}var l;Fe(e,s,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:r},0).isAsymmetricDescriptor&&(l=e,c.isSpeculative(void 0)||a.add(l.id)),N(e.memberName,t,0,n,void 0,!1),N(e,t,0,n,void 0,!1)}(e,t,n,i,o);break;case 24:{const r=$(e.baseExpression,void 0,2);Le(e,r.type,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:o},0),N(e,t,0,n);break}case 31:case 52:!function(e,t,n,i){const r=31===e.nodeType?e.entries:e.expressions,s=new Array(r.length);for(let e=0;e56===e.nodeType)),a=r.findIndex((e=>56===e.nodeType));t=Ie(t);const l=new il;if(Jo(t,(t=>{const n=ia(t);if(n&&n.tupleTypeArguments){const i=n.tupleTypeArguments.map((e=>Zo(e.type,Xo(t)))),c=n.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(c>=0)if(i.length>s.length)i.splice(c,1);else if(i.length0?i[c]:io.create();for(;i.length=0)if(i.length>s.length){let t=Oo(i.splice(o,i.length-s.length+1));31===e.nodeType&&(t=Qo(t)),i.splice(o,0,t)}else i.length===s.length-1&&i.splice(o,0,no.createNever());if(i.forEach(((e,t)=>{t=0?r.length-1:r.length,s=l.createAddendum();s.addMessage((31===e.nodeType?ml.DiagnosticAddendum.listAssignmentMismatch():ml.DiagnosticAddendum.tupleAssignmentMismatch()).format({type:ai(t)})),s.createAddendum().addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:n,received:i.length}))}}else{const e=ae(t,!1,i)||Ys.create();for(let n=0;n{const r=s[t];xe(e,0===r.length?Ys.create():Oo(r),n,i,!0)})),N(e,t,0,n)}(e,t,n,i);break;case 54:{const n=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});vo(n)&&(Zs.isBuiltIn(n,"Final")||Zs.isBuiltIn(n,"ClassVar"))||vo(n)&&Zs.isBuiltIn(n,"TypeAlias")||Jn(n,t)&&(vo(t)&&Zs.isEnumClass(t)||(t=ni(n,t))),xe(e.valueExpression,t,!1,i,r,s,o);break}case 56:38===e.expression.nodeType&&Te(e.expression,Cn(e.expression,"list",[t]),!1,i);break;case 0:e.child&&En(e.child,(()=>{$(e.child)}));break;default:fe(ml.Diagnostic.assignmentTargetExpr(),e)}}function Ce(e){switch(e.nodeType){case 38:$(e);break;case 35:{const t=$(e.leftExpression),n=Fe(e,t,{method:"del"},0);N(e.memberName,n.type,0,!1),N(e,n.type,0,!1);break}case 24:{const t=$(e.baseExpression,void 0,2);Le(e,t.type,{method:"del"},0),N(e,Js.create(),0,!1);break}case 52:e.expressions.forEach((e=>{Ce(e)}));break;case 0:e.child&&En(e.child,(()=>{$(e.child,void 0)}));break;default:_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.delTargetExpr(),e)}}function we(e,t,n){c.isSpeculative(n)||d.isUndoTrackingEnabled()||e.accessedSymbolMap.set(t.id,!0)}function Ee(e,t,n,i){const r=_a(e,t,8);if(!r)return;const s=Bn(r);if(ho(s))return s;if(Eo(s)){const t=ri(i||e,s,r&&_o(r.classType)?r.classType:void 0,n,void 0,!1,i);if(t)return Un(t)}}function ke(e,t,n){var i;if(Ks.isInstantiable(t)&&!ea(t)){const r=function(e,t){var n;let i=e,r=0;for(w(Ks.isInstantiable(t));i&&(i=Pr(i,35===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)),i);){let e;if(10===i.nodeType){const t=$t(i);t&&(e=t.classType.details.typeParameters),r++}else if(28===i.nodeType){const t=Gt(i);t&&(e=[],t.functionType.details.parameters.forEach((t=>{t.hasDeclaredType&&Ia(e,Sa(t.type))})),t.functionType.details.declaredReturnType&&Ia(e,Sa(t.functionType.details.declaredReturnType)))}else if(36===i.nodeType)break;if(e){const n=e.find((e=>e.details.name===t.details.name));if(n&&n.scopeId)return{type:r>1?t:Na(n),foundInterveningClass:r>1}}i=i.parent}for(i=e;i;){if(3===i.nodeType){const e=F(i.leftExpression,0);if(e&&bo(e)&&e.details.recursiveTypeAliasScopeId&&e.details.recursiveTypeAliasName)return{type:oo.cloneForScopeId(t,e.details.recursiveTypeAliasScopeId,e.details.recursiveTypeAliasName,2),foundInterveningClass:!1}}i=i.parent}return{type:t,foundInterveningClass:!1}}(e,t);if(t=r.type,0!=(2048&n)&&void 0!==t.scopeId)t.details.isSynthesized||t.details.isParamSpec||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else if(0!=(8192&n)){if(void 0===t.scopeId)if(r.foundInterveningClass)_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else{let n=Dr(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=Dr(n);28===(null==i?void 0:i.nodeType)?n=i:r.type.scopeId||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotUsedByOuterScope().format({name:t.details.name}),e)}}n?t=oo.cloneForScopeId(t,Pe(n),n.name.value,28===n.nodeType?1:0):E("AssociateTypeVarsWithCurrentScope flag was set but enclosing scope not found")}}else if(0!=(4096&n)&&(void 0===t.scopeId||r.foundInterveningClass)&&!t.details.isSynthesized){const n=wo(t)?ml.Diagnostic.paramSpecNotUsedByOuterScope():ml.Diagnostic.typeVarNotUsedByOuterScope();_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n.format({name:t.details.name}),e)}}return t.isVariadicUnpacked&&(t=oo.cloneForPacked(t)),t}function Ae(e,t,n){return 0==(2&n)&&(_o(t)&&(0!=(64&n)&&((i=t).details.typeParameters.length>0?!i.details.typeParameters[0].details.isSynthesized:!(!Zs.isSpecialBuiltIn(i)||!["Tuple","Callable","Generic","Type","Optional","Union","Literal","Annotated","TypeGuard","StrictTypeGuard"].some((e=>e===(i.aliasName||i.details.name)))))&&!t.typeArguments&&_e(Vt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForClass().format({name:t.aliasName||t.details.name}),e),t.typeArguments||(t=Tn(t,void 0,n,e))),0!=(64&n)&&t.typeAliasInfo&&t.typeAliasInfo.typeParameters&&t.typeAliasInfo.typeParameters.length>0&&!t.typeAliasInfo.typeArguments&&(_e(Vt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForAlias().format({name:t.typeAliasInfo.name}),e),t=Ks.cloneForTypeAlias(t,t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,t.typeAliasInfo.typeParameters.map((e=>Ys.create()))))),t;var i}function Pe(e){let t="";return(10===e.nodeType||28===e.nodeType)&&(t=e.name.value),`${Vt(e).filePath}.${e.start.toString()}-${t}`}function Re(e){const t=[];let n=e;for(;n&&(n=Pr(n),n);)t.push(Pe(n)),n=n.parent;return t}function Fe(e,n,i,r){var s;let o=n.type;const a=e.memberName.value;let l=new il;const c=Vt(e);let u,p,d=!!n.isIncomplete;if(n.isIncomplete&&mo(n.type))return{type:Ys.create(),node:e,isIncomplete:!0};fo(o)&&Ks.isSpecialForm(o)&&y&&(o=y);const h=()=>{if(f&&_o(f))return ee(e.memberName,f,a,i,l,void 0,n.bindToType)};switch(wo(o)&&o.paramSpecAccess&&(o=Ie(o)),o.category){case 2:case 1:u=o;break;case 4:u=Ys.create();break;case 10:if(o.details.isParamSpec){if("args"===a){const t=jr(e);return t&&1===t.category?{type:oo.cloneForParamSpecAccess(o,"args"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecArgsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}if("kwargs"===a){const t=jr(e);return t&&2===t.category?{type:oo.cloneForParamSpecAccess(o,"kwargs"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecKwargsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}return d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecUnknownMember().format({name:a}),e),{type:Ys.create(),node:e,isIncomplete:d}}return 64&r?(d||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNoMember().format({type:ai(o),name:a}),e.leftExpression),{type:Ys.create(),node:e,isIncomplete:d}):o.details.recursiveTypeAliasName?{type:Ys.create(),node:e,isIncomplete:!0}:Fe(e,{type:Ie(o),node:e,bindToType:o,isIncomplete:d},i,0);case 7:if(Ks.isInstantiable(o)){const t=te(e.memberName,o,a,i,l,0,n.bindToType);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else if(Zs.isBuiltIn(o,"type")&&y&&vo(y)&&!n.isSuperCall){const t=te(e.memberName,Zs.cloneAsInstantiable(y),a,i,l,0,n.bindToType?Fa(n.bindToType):void 0);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else{if(Zs.isBuiltIn(o,"LiteralString")&&I&&_o(I)&&(o=Zs.cloneAsInstance(I)),Zs.isEnumClass(o)){const t=o.literalValue;if(t instanceof Hs)if("name"===a||"_name_"===a){const n=xn(e,"str");if(_o(n))return{node:e,type:Zs.cloneAsInstance(Zs.cloneWithLiteral(n,t.itemName)),isIncomplete:d}}else if("value"===a||"_value_"===a)return{node:e,type:t.itemType,isIncomplete:d}}const t=ee(e.memberName,o,a,i,l,void 0,n.bindToType);t&&(u=Zo(t.type,Xo(o))),(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}break;case 8:{const n=Qs.getField(o,a);if(n&&!n.isExternallyHidden())"get"===i.method&&we(Vt(e),n,e.memberName),u=Mn(n,void 0,!0).type,bo(u)&&(u=ke(e,u,r)),mo(u)&&(u=Ys.create()),n.isPrivateMember()&&_e(Vt(e).diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:a}),e.memberName),n.isPrivatePyTypedImport()&&_e(Vt(e).diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:a,module:o.moduleName}),e.memberName);else{if("get"===i.method){const e=Qs.getField(o,"__getattr__");if(e&&(c.executionEnvironment.pythonVersion>=De.V3_7||e.getDeclarations().some((e=>e.path.toLowerCase().endsWith(".pyi"))))){const t=Mn(e);Eo(t.type)&&(u=Un(t.type),t.isIncomplete&&(d=!0))}}u||(d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleUnknownMember().format({name:a,module:o.moduleName}),e.memberName),u=t.evaluateUnknownImportsAsAny?io.create():Ys.create())}break}case 9:u=Ko(o,(t=>{if(lo(t)){const t=h();return t?(u=Zo(t.type,Xo(o)),t.isIncomplete&&(d=!0),u):void(d||_e(Vt(e).diagnosticRuleSet.reportOptionalMemberAccess,$o.reportOptionalMemberAccess,ml.Diagnostic.noneUnknownMember().format({name:a}),e.memberName))}if(!mo(t)){const r=Fe(e,{type:t,node:e,isIncomplete:n.isIncomplete},i,0);return r.isIncomplete&&(d=!0),r.type}}));break;case 5:case 6:if("__defaults__"===a)u=io.create();else if("__self__"===a){const e=Eo(o)?o:o.overloads[0];void 0!==e.preBoundFlags&&0==(4&e.preBoundFlags)&&(u=e.boundToType)}else u=v?Fe(e,{type:v,node:e},i,r).type:io.create();break;case 3:{const e=h();e&&(u=Zo(e.type,Xo(o)),e.isIncomplete&&(d=!0));break}default:l.addMessage(ml.DiagnosticAddendum.typeUnsupported().format({type:ai(o)}))}if(!u){const t=Eo(o)||ko(o)||vo(o)&&Zs.isBuiltIn(o,"function");if(!n.isIncomplete){let n=ml.Diagnostic.memberAccess();"set"===i.method?n=ml.Diagnostic.memberSet():"del"===i.method&&(n=ml.Diagnostic.memberDelete()),i.setExpectedTypeDiag&&(l=i.setExpectedTypeDiag);const[r,s]=t?[c.diagnosticRuleSet.reportFunctionMemberAccess,$o.reportFunctionMemberAccess]:[c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues];_e(r,s,n.format({name:a,type:ai(o)})+al(l),e.memberName)}u=t?io.create():Ys.create()}if(0==(2&r)&&_o(u)&&!u.typeArguments&&(u=Tn(u,void 0,r,e)),"get"===i.method){let t=d;if(_o(u)){const n=function(e,t){let n=e;for(;n;){if(n.nodeType===t)return n;n=n.parent}}(e,1);n&&9===(null===(s=null==n?void 0:n.parent)||void 0===s?void 0:s.nodeType)&&(t=!0)}t||xt(c.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,u,e,!1)}return{type:u,node:e,isIncomplete:d,isAsymmetricDescriptor:p}}function Ne(e,t,n,i,r,s,o){var a;let l=0;1&s&&(l|=8),2&s&&(l|=2),4&s&&(l|=4),256&s&&(l|=32),128&s&&(l|=1);let c=va(t,n,16|l);if(c||(c=va(t,n,l)),c){let l,u=!1;if(c.symbol.isInitVar())return void(r&&r.addMessage(ml.DiagnosticAddendum.memberIsInitVar().format({name:n})));if("get"!==i.method){const n=Er(e);if(n){const e=null===(a=$t(n))||void 0===a?void 0:a.classType;e&&_o(e)&&Zs.isSameGenericClass(e,t)&&(l=On(c.symbol)||Ys.create(),l&&_o(c.classType)&&(l=ha(l,c.classType)))}}if(!l){const n=function(e,t,n){if(_o(t.classType)){const i=Mn(t.symbol);if(i)return Ln(i.type),{node:e,type:ha(i.type,t.classType,n),isIncomplete:!!i.isIncomplete}}}(e,c,o?void 0:t);n?(l=n.type,n.isIncomplete&&(u=!0)):l=Ys.create()}if(Zs.isTypedDictClass(t)){const e=c.symbol.getTypedDeclarations();if(e.length>0&&1===e[0].type)return void(r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n})))}"get"===i.method&&_o(c.classType)&&Zs.isSameGenericClass(c.classType,t)&&we(Vt(e),c.symbol,e);const p=function(e,t,n,i,r,s,o,a,l,c){const u=0!=(16&s);let p=!0,d=!1;if(e=Ko(e,(e=>{const h=Ie(e);if(yo(h)){let e=h,u=!1;if(Ks.isInstantiable(h)&&(h.details.effectiveMetaclass&&_o(h.details.effectiveMetaclass)&&(r||"get"===l.method)?(e=Fa(h.details.effectiveMetaclass),u=!0):e=void 0),e){let m;m="get"===l.method?"__get__":"set"===l.method?"__set__":"__delete__";const f=va(e,m,8);if(Zs.isPropertyClass(e))if("set"===l.method){if(!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingSetter().format({name:a})),void(p=!1)}else if("del"===l.method&&!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingDeleter().format({name:a})),void(p=!1);if(f){let a=Bn(f);const g=[{argumentCategory:0,type:Zs.isClassProperty(e)?n:r?i||Zs.cloneAsInstance(n):to.createInstance()}];if("get"===l.method?g.push({argumentCategory:0,type:n}):"set"===l.method&&g.push({argumentCategory:0,type:l.setType||Ys.create()}),Zs.isPropertyClass(e)&&t&&_o(t.classType)&&(Ln(a),a=ha(a,t.classType),0!=(1&s)&&Zs.isProtocolClass(n)&&(c&&c.addMessage(ml.DiagnosticAddendum.propertyAccessFromProtocolClass()),p=!1)),a&&(Eo(a)||ko(a))){const n=a,i=En(o,(()=>{let i;Zs.isPropertyClass(h)&&!u?t&&_o(t.classType)&&(i=t.classType):_o(f.classType)&&(i=f.classType);const r=ri(e,n,i,o,void 0,void 0,u?h:void 0);if(r&&(Eo(r)||ko(r))){const e=new jo(na(r));i&&e.addSolveForScope(na(i));const t=et(o,g,r,e,!0);if(t.argumentErrors){if("set"===l.method)if(l.setType&&Eo(r)&&r.details.parameters.length>=2){const e=Xs.getEffectiveParameterType(r,1);null==c||c.addMessage(ml.DiagnosticAddendum.typeIncompatible().format({destType:ai(e),sourceType:ai(l.setType)}))}else ko(r)&&(null==c||c.addMessage(ml.Diagnostic.noOverload().format({name:m})));return p=!1,io.create()}return"get"===l.method?t.returnType||Ys.create():io.create()}}));if("set"===l.method&&yo(f.classType)&&function(e){var t;if(void 0!==e.isAsymmetricDescriptor)return e.isAsymmetricDescriptor;let n=!1;const i=va(e,"__get__",2),r=va(e,"__set__",2);if(i&&r){const e=Nn(i.symbol),s=Nn(r.symbol);Eo(e)&&Eo(s)&&s.details.parameters.length>=3&&e.details.declaredReturnType&&(Ao(Xs.getEffectiveParameterType(s,2),null!==(t=Xs.getSpecializedReturnType(e))&&void 0!==t?t:Ys.create())||(n=!0))}else n=!1;return e.isAsymmetricDescriptor=n,n}(f.classType)&&(d=!0),i)return i}}}}else if((Eo(h)||ko(h))&&(!r||t&&!t.isInstanceMember))return ri(r?Zs.cloneAsInstance(n):n,h,t&&_o(t.classType)?t.classType:void 0,o,void 0,u,i);if("set"===l.method){if((null==t?void 0:t.symbol.isClassVar())&&8&s)return c&&c.addMessage(ml.DiagnosticAddendum.memberSetClassVar().format({name:a})),void(p=!1);const e=null==t?void 0:t.symbol.getDeclarations().find((e=>rs(e)));if(e&&!Mr(o,e.node)){const e=kr(o);if(!e||"__init__"!==e.name.value)return c&&c.addMessage(ml.Diagnostic.finalReassigned().format({name:a})),void(p=!1)}if((null==t?void 0:t.isInstanceMember)&&yo(t.classType)&&Zs.isReadOnlyInstanceVariables(t.classType))return c&&c.addMessage(ml.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 r&&!t.isInstanceMember&&Eo(h)&&(Xs.isClassMethod(h)||Xs.isInstanceMethod(h))&&(e=Xs.clone(h,!0)),e}}return e})),p)return{type:e,isAsymmetricDescriptor:d}}(l,c,t,o,0==(1&s),s,e,n,i,r);if(!p)return;if(l=p.type,"set"===i.method&&i.setType){if(!Jn(l,i.setType,null==r?void 0:r.createAddendum()))return void(r&&r.addMessage(ml.DiagnosticAddendum.memberAssignment().format({type:ai(i.setType),name:n,classType:oi(t)})));if(_o(c.classType)&&Zs.isFrozenDataClass(c.classType)&&0==(1&s))return void(r&&r.addMessage(ml.DiagnosticAddendum.dataClassFrozen().format({name:ai(Zs.cloneAsInstance(c.classType))})))}return{symbol:c.symbol,type:l,isTypeIncomplete:u,isClassMember:!c.isInstanceMember,isClassVar:c.isClassVar,classType:c.classType,isAsymmetricDescriptor:p.isAsymmetricDescriptor}}if(0==(65&s)){const r=function(e,t,n,i){var r,s,o,a;if("get"===n.method){let n=null===(r=te(t,e,"__getattribute__",{method:"get"},void 0,68))||void 0===r?void 0:r.type;if(n||(n=null===(s=te(t,e,"__getattr__",{method:"get"},void 0,68))||void 0===s?void 0:s.type),n&&ko(n)){let e=io.create();I&&_o(I)&&(e=Zs.cloneWithLiteral(Zs.cloneAsInstance(I),i)),n=Ge(t,n,[{argumentCategory:0,type:io.create()},{argumentCategory:0,type:e}])}if(n&&Eo(n))return Un(n)}else if("set"===n.method){if(null===(o=te(t,e,"__setattr__",{method:"get"},void 0,68))||void 0===o?void 0:o.type)return io.create()}else if(w("del"===n.method),null===(a=te(t,e,"__detattr__",{method:"get"},void 0,68))||void 0===a?void 0:a.type)return io.create()}(t,e,i,n);if(r)return{symbol:void 0,type:r,isTypeIncomplete:!1,isClassMember:!1,isClassVar:!1,isAsymmetricDescriptor:!1}}r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n}))}function Me(e,t,n){const i=t.findIndex((e=>Io(e)));if(i>=0&&T&&_o(T))if(i{Et(e,{allowEmptyTuple:0===t,allowVariadicTypeVar:!0,allowUnpackedTuples:!0})}));const r=[];1===n.length&&n[0].isEmptyTupleShorthand||n.forEach((e=>{xo(e.type)&&e.type.tupleTypeArguments?r.push(...e.type.tupleTypeArguments):r.push({type:Fa(e.type),isUnbounded:!1})}));const s=Fa(Va(T,r,!0,!0,!0));e=[...e.slice(0,i),{node:e[i].node,type:s},...e.slice(i+1+e.length-t.length,e.length)]}}else e.push({node:n,type:Fa(Va(T,[],!0,!0,!0))});return e}function Oe(e,t){return!!e.isVariadicUnpacked||(fe(ml.Diagnostic.unpackedTypeVarTupleExpected().format({name1:e.details.name,name2:e.details.name}),t),!1)}function Le(e,t,n,i){const r=function(e,t,n){var i,r;if(!(null===(i=t.typeAliasInfo)||void 0===i?void 0:i.typeParameters)||0===t.typeAliasInfo.typeParameters.length&&t.typeAliasInfo.typeArguments)return;if(!Ks.isInstantiable(t))return;if(t.typeAliasInfo.typeArguments)return;const s=t.typeAliasInfo.typeParameters;let o=Me(Be(e,n),s,e);1===s.length&&s[0].details.isParamSpec&&o&&o.every((e=>!ca(e.type)&&!e.typeList&&!wo(e.type)))&&(o=[{type:Ys.create(),node:o[0].node,typeList:o}]),o.length>s.length&&!s.some((e=>e.details.isVariadic))&&fe(ml.Diagnostic.typeArgsTooMany().format({name:ai(t),expected:s.length,received:o.length}),o[s.length].node);const a=new jo(t.typeAliasInfo.typeVarScopeId),l=new il;s.forEach(((e,t)=>{if(e.details.isParamSpec&&t{Xs.addParameter(n,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),Kn(e,n,l,a)}else if(wo(o[t].type))Kn(e,Fa(o[t].type),l,a);else if(ca(o[t].type)){const t=Xs.createInstantiable("","","",98304);Ks.setSpecialForm(t),Xs.addDefaultParameters(t),Kn(e,t,l,a)}else fe(ml.Diagnostic.typeArgListExpected(),o[t].node);else t{let t;if(wo(e)){const n=a.getParamSpec(e);t=n?Ja(n):Ys.create()}else t=a.getTypeVarType(e);c.push(t||Ys.create())})),{type:Ks.cloneForTypeAlias(fa(t,a),t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,c),node:e}}(e,t,i);if(r)return r;if(ea(t)){const n=Be(e,i).map((e=>Fa(e.type)));return{type:Ks.cloneForTypeAlias(t,t.details.recursiveTypeAliasName,"",t.details.recursiveTypeAliasScopeId,void 0,n),node:e}}let s=!1;const o=Se(t,void 0,((t,r)=>{var o;if(ho(t))return t;if(64&i&&bo(r))return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNotSubscriptable().format({type:ai(r)}),e.baseExpression),Be(e,i,!1,!1),Ys.create();if(_o(t)){if(t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&!Zs.isBuiltIn(t.details.effectiveMetaclass,"type")&&te(e,t,qe(n),void 0,void 0,96))return Ve(e,t,n).type;if("set"===n.method?fe(ml.Diagnostic.genericClassAssigned(),e.baseExpression):"del"===n.method&&fe(ml.Diagnostic.genericClassDeleted(),e.baseExpression),Zs.isSpecialBuiltIn(t,"Literal"))return function(e,t){if(0===e.items.length)return fe(ml.Diagnostic.literalEmptyArgs(),e.baseExpression),Ys.create();const n=[];for(const t of e.items){let i;const r=t.valueExpression;if(0!==t.argumentCategory)fe(ml.Diagnostic.unpackedArgInTypeArgument(),r),i=Ys.create();else if(t.name)fe(ml.Diagnostic.keywordArgInTypeArgument(),r),i=Ys.create();else if(48===r.nodeType){i=Nt(e,0!=(32&r.strings[0].token.flags)?"bytes":"str",r.strings.map((e=>e.value)).join(""))}else 40===r.nodeType?!r.isImaginary&&r.isInteger&&(i=Nt(e,"int",r.value)):11===r.nodeType?33===r.constType?i=Nt(e,"bool",!0):15===r.constType?i=Nt(e,"bool",!1):26===r.constType&&(i=to.createType()):55===r.nodeType&&33===r.operator&&40===r.expression.nodeType&&!r.expression.isImaginary&&r.expression.isInteger&&(i=Nt(e,"int",-r.expression.value));if(!i){const e=$(r);if(vo(e.type)&&Zs.isEnumClass(e.type)&&void 0!==e.type.literalValue)i=Zs.cloneAsInstantiable(e.type);else{let t=!0;Jo(e.type,(e=>{_o(e)&&void 0!==e.literalValue||(t=!1)})),t&&(i=e.type)}}i||(fe(ml.Diagnostic.literalUnsupportedType(),t),i=Ys.create()),n.push(i)}return Oo(n)}(e);if(Zs.isBuiltIn(t,"InitVar")){const t=Be(e,i);return 1===t.length?t[0].type:(fe(ml.Diagnostic.typeArgsMismatchOne().format({received:t.length}),e.baseExpression),Ys.create())}if(Zs.isEnumClass(t))return Zs.cloneAsInstance(t);const r=_o(t)&&Zs.isBuiltIn(t,"Annotated"),s=_o(t)&&Zs.hasCustomClassGetItem(t),a=(null===(o=t.details.typeParameters)||void 0===o?void 0:o.length)>0||Zs.isSpecialBuiltIn(t)||Zs.isBuiltIn(t,"type")||Zs.isPartiallyConstructed(t),l=_o(t)&&Zs.isBuiltIn(t,"Final"),c=_o(t)&&Zs.isBuiltIn(t,"ClassVar");let u=Be(e,i,r,s||!a,l,c);return r||(u=Me(u,t.details.typeParameters,e)),s?t:t.typeArguments?(fe(ml.Diagnostic.classAlreadySpecialized().format({type:ai(Fa(t),!0)}),e.baseExpression),t):Tn(t,u,i,e)}if(vo(t)){const i=Ve(e,t,n);return i.isIncomplete&&(s=!0),i.type}return ao(t)?Ys.create():lo(t)?(_e(Vt(e).diagnosticRuleSet.reportOptionalSubscript,$o.reportOptionalSubscript,ml.Diagnostic.noneNotSubscriptable(),e.baseExpression),Ys.create()):(mo(t)||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSubscriptable().format({type:ai(t)}),e.baseExpression),Ys.create())}));return e.items.forEach((e=>{R(e.valueExpression)||$(e.valueExpression,void 0,4&i)})),{type:o,node:e,isIncomplete:s}}function Ue(e,t=!1){return T&&_o(T)?Fa(Va(T,e.map((e=>({type:e,isUnbounded:t}))))):Ys.create()}function qe(e){return"get"===e.method?"__getitem__":"set"===e.method?"__setitem__":(w("del"===e.method),"__delitem__")}function Ve(e,t,n){var i,r;if(vo(t)&&Zs.isTypedDictClass(t)){const i=vl(li,e,t,n);if(i)return i}const s=qe(n),o=vo(t)?null===(i=ee(e,t,s,void 0,void 0,64))||void 0===i?void 0:i.type:null===(r=te(e,t,s,void 0,void 0,96))||void 0===r?void 0:r.type;if(!o)return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.methodNotDefinedOnType().format({name:s,type:ai(t)}),e.baseExpression),{node:e,type:Ys.create()};if(1===e.items.length&&!e.trailingComma&&!e.items[0].name&&0===e.items[0].argumentCategory&&vo(t)){const n=e.items[0].valueExpression,i=$(n).type;if(vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue){const n=i.literalValue,r=ia(t);if(r&&r.tupleTypeArguments&&!da(r)){if(n>=0&&n=0)return{node:e,type:r.tupleTypeArguments[r.tupleTypeArguments.length+n].type}}}else if(vo(i)&&Zs.isBuiltIn(i,"slice")){const i=ia(t);if(i&&i.tupleTypeArguments&&!da(i)&&46===n.nodeType&&!n.stepValue){const t=(e,t)=>{let n=t;if(e){const t=$(e).type;vo(t)&&Zs.isBuiltIn(t,"int")&&ra(t)&&"number"==typeof t.literalValue?(n=t.literalValue,n<0&&(n=i.tupleTypeArguments.length+n)):n=-1}return n},r=t(n.startValue,0),s=t(n.endValue,i.tupleTypeArguments.length);if(r>=0&&s>0&&s<=i.tupleTypeArguments.length&&T&&_o(T))return{node:e,type:Zs.cloneAsInstance(Va(T,i.tupleTypeArguments.slice(r,s)))}}}}const a=e.items.filter((e=>0===e.argumentCategory&&!e.name)),l=e.items.filter((e=>1===e.argumentCategory)),c=e.items.filter((e=>0===e.argumentCategory&&!!e.name)),u=e.items.filter((e=>2===e.argumentCategory));let p;if(1!==a.length||0!==l.length||e.trailingComma)if(0===a.length&&0===l.length)p=T&&_o(T)?Fa(Va(T,[])):Ys.create();else{const e=[];a.forEach((t=>{e.push($(t.valueExpression).type)})),l.forEach((t=>{const n=ae($(t.valueExpression).type,!1,t)||Ys.create();e.push(n)})),p=Ue(e,l.length>0)}else p=$(a[0].valueExpression).type;let d,h=[{argumentCategory:0,type:p}];if("set"===n.method){let e=n.setType||io.create();bo(e)&&e.details.constraints.length>0&&(e=Ie(e,vo(t)?t.condition:void 0)),h.push({argumentCategory:0,type:e})}return c.forEach((e=>{h.push({argumentCategory:0,valueExpression:e.valueExpression,node:e,name:e.name})})),u.forEach((e=>{h.push({argumentCategory:2,valueExpression:e.valueExpression,node:e})})),kn(e,(()=>{if(d=et(e,h,o),d.argumentErrors&&vo(p)&&0===c.length&&0===u.length){const t=[...h];if(t[0]={...t[0]},ee(e,p,"__index__")){const n=Cn(e,"int");vo(n)&&(t[0].type=n)}d=et(e,t,o),d.argumentErrors||(h=t)}})),d=et(e,h,o),{node:e,type:d.returnType||Ys.create(),isIncomplete:!!d.isTypeIncomplete}}function Be(e,t,n=!1,i=!1,r=!1,s=!1){const o=[];let a=t;r||s?a|=131088:(a&=-1048739,n||(a|=131088),a|=2097152);const l=(e,t)=>{let r;return r=i||n&&t>0?$(e,void 0,131234):function(e,t){let n,i=1097|t;return Vt(e).isStubFile&&(i|=4),31===e.nodeType?(n={type:Ys.create(),typeList:e.entries.map((e=>$(e,void 0,i))),node:e},O(e)):(n=$(e,void 0,i),yo(n.type)&&Zs.isBuiltIn(n.type,"Protocol")&&fe(ml.Diagnostic.protocolNotAllowedInTypeArgument(),e),0!=(131072&t)&&yo(n.type)&&Zs.isBuiltIn(n.type,"ClassVar")&&fe(ml.Diagnostic.classVarNotAllowed(),e)),n}(e,a),r};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(l(e,t))})),O(e.items[0].valueExpression)):e.items.forEach(((e,t)=>{const n=l(e.valueExpression,t);0!==e.argumentCategory&&1===e.argumentCategory&&(Io(n.type)&&!n.type.isVariadicUnpacked?n.type=oo.cloneForUnpacked(n.type):_o(n.type)&&!n.type.includeSubclasses&&pa(n.type)&&(n.type=Zs.cloneForUnpacked(n.type))),e.name&&fe(ml.Diagnostic.keywordArgInTypeArgument(),e.valueExpression),o.push(n)})),o}function We(e,t){if(!vo(t=ta(t)))return;if(!T||!_o(T))return;let n=[];if(pa(t)&&t.tupleTypeArguments){n=t.tupleTypeArguments.map((e=>ta(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.length$(e,tsa(e)));return{type:Fa(Va(T,je(i),!0,!r)),node:e}}function je(e){const t=[];for(const n of e){let e;if(n.unpackedType?e=n.unpackedType:Co(n.type)&&(e=n.type),e&&vo(e)&&e.tupleTypeArguments){const n=e.tupleTypeArguments;n?t.push(...n):t.push({type:Ys.create(),isUnbounded:!0})}else t.push({type:n.type,isUnbounded:!!n.unpackedType})}if(t.filter((e=>e.isUnbounded)).length>1){const e=t.findIndex((e=>e.isUnbounded)),n=t.splice(e);t.push({type:Oo(n.map((e=>e.type))),isUnbounded:!0})}return t}function ze(e,t){const n=$(e.leftExpression,void 0,2),i=e.arguments.map((e=>({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,node:e,name:e.name})));let r={node:e,type:Ys.create()};if(ea(n.type))r.isIncomplete=!0;else{if(38===e.leftExpression.nodeType&&"super"===e.leftExpression.value)r=function(e){let t,n;if(e.arguments.length>2&&fe(ml.Diagnostic.superCallArgCount(),e.arguments[2]),e.arguments.length>0){t=$(e.arguments[0].valueExpression).type;const n=Ie(t);ho(n)||_o(n)||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallFirstArg().format({type:ai(t)}),e.arguments[0].valueExpression)}else{const n=Er(e);if(n){const e=$t(n);t=e?e.classType:Ys.create()}else fe(ml.Diagnostic.superCallZeroArgForm(),e.leftExpression),t=Ys.create()}if(e.arguments.length>1){const i=Ie($(e.arguments[1].valueExpression).type);let r=!1;ho(i)||(vo(i)?(_o(t)&&(Da(Zs.cloneAsInstantiable(i),t,!0)||(r=!0)),n=i):_o(i)?(_o(t)&&(Da(i,t,!0)||(r=!0)),n=i):r=!0),r&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallSecondArg().format({type:ai(t)}),e.arguments[1].valueExpression)}else{const i=kr(e);let r;if(i){const e=Gt(i);if(e){const t=e.functionType;Xs.isClassMethod(t)?t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(t.details.parameters[0].type)):Xs.isInstanceMethod(t)&&t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(Na(t.details.parameters[0].type)))}}r&&_o(r)?n=r:_o(t)&&(n=t)}let i=!0;if(e.arguments.length<=1){const t=kr(e);if(t){const e=Gt(t);e&&(Xs.isStaticMethod(e.functionType)||Xs.isConstructorMethod(e.functionType)||Xs.isClassMethod(e.functionType))&&(i=!1)}}const r=e.parent;if(35===r.nodeType){const s=va(t,r.memberName.value,1);if(s&&_o(s.classType))return{type:i?Zs.cloneAsInstance(s.classType):s.classType,node:e,bindToType:i&&n&&_o(n)?Zs.cloneAsInstance(n):n,isSuperCall:!0}}if(_o(t)){if(t.details.mro.some((e=>ho(e))))return{type:Ys.create(),isSuperCall:!0,node:e};const n=t.details.baseClasses;if(n.length>0){const t=n[0];if(_o(t))return{type:i?Zs.cloneAsInstance(t):t,isSuperCall:!0,node:e}}}return{type:Ys.create(),isSuperCall:!0,node:e}}(e);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value)r=$e(e,t);else if(Eo(n.type)&&"reveal_type"===n.type.details.builtInName)r=$e(e,t);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_locals"===e.leftExpression.value)0===e.arguments.length?r.type=function(e){let t,n=e;for(;n&&(t=zs(n),!t||0===t.type);)n=n.parent;const i=[];return t&&t.symbolTable.forEach(((e,t)=>{if(!e.isIgnoredForProtocolMatch()){const n=Nn(e);i.push(ml.DiagnosticAddendum.typeOfSymbol().format({name:t,type:ai(n,!0)}))}})),i.length>0?me(i.join("\n"),e):me(ml.Diagnostic.revealLocalsNone(),e),to.createInstance()}(e):fe(ml.Diagnostic.revealLocalsArgs(),e);else{const s=et(e,i,n.type,void 0,!1,t);r.type=s.returnType||Ys.create(),s.argumentErrors&&(r.typeErrors=!0,t&&(r.isIncomplete=!0)),s.isTypeIncomplete&&(r.isIncomplete=!0)}n.isIncomplete&&(r.isIncomplete=!0)}return _o(n.type)&&Zs.isBuiltIn(n.type,"TypeVar")&&Vt(e).isTypingStubFile||i.forEach((e=>{e.valueExpression&&48!==e.valueExpression.nodeType&&!R(e.valueExpression)&&$(e.valueExpression)})),r}function $e(e,t){let n,i,r,s,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){s=e.valueExpression;const t=$(e.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&"string"==typeof t.literalValue?o=t.literalValue:fe(ml.Diagnostic.revealTypeExpectedTextArg(),e.valueExpression)}else"expected_type"===e.name.value&&(i=e.valueExpression,r=Fa(In(e).type));else n=void 0})),!n)return fe(ml.Diagnostic.revealTypeArgs(),e),{node:e,type:Ys.create()};const a=$(n,t),l=a.type,c=xr(n),u=ai(l,!0);if(void 0!==o&&o!==u&&fe(ml.Diagnostic.revealTypeExpectedTextMismatch().format({expected:o,received:u}),null!=s?s:n),r&&!Ao(r,l)){const e=ai(r);fe(ml.Diagnostic.revealTypeExpectedTypeMismatch().format({expected:e,received:u}),null!=i?i:n)}return me(ml.DiagnosticAddendum.typeOfSymbol().format({name:c,type:u}),e.arguments[0]),{node:e,type:l,isIncomplete:a.isIncomplete}}function He(e,t,n,i,r,s){const o=[],a=[];let l=!1;for(let r=0;rvoid 0!==e));for(let t=0;t{if(!u[t])return e;const n={...e};return n.argType=u[t],n})));const h=i?i.clone():new jo(na(r));h.addSolveForScope(na(r));const m=kn(e,(()=>nt(e,d,h,!0,s)));if(m.isTypeIncomplete&&(l=!0),!m.argumentErrors&&m.returnType){c=r,a.push({overload:c,matchResults:d,typeVarMap:h}),o.push(m.returnType);break}}if(!c)return{argumentErrors:!0,isTypeIncomplete:l}}if(i)for(let n=0;n(i.addSolveForScope(na(t)),i.unlock(),nt(e,r,i,!0,s))))}a[0].typeVarMap.unlock();const c=nt(e,a[0].matchResults,a[0].typeVarMap,r,s);return c.isTypeIncomplete&&(l=!0),{argumentErrors:!1,returnType:Oo(o),isTypeIncomplete:l,specializedInitSelfType:c.specializedInitSelfType}}function Ge(e,t,n){let i,r=0,s=[];return t.overloads.forEach((t=>{kn(e,(()=>{if(Xs.isOverloaded(t)){const i=tt(e,n,t,r);i.argumentErrors||s.push(i),r++}}))})),s=Ke(s),s.forEach(((t,n)=>{void 0===i&&kn(e,(()=>{const r=it(e,t,new jo(na(t.overload)),!0);r&&!r.argumentErrors&&(i=n)}))})),void 0===i?void 0:s[i].overload}function Ke(e){return e.sort(((e,t)=>e.relevance!==t.relevance?t.relevance-e.relevance:e.overloadIndex-t.overloadIndex))}function Je(e,t){let n,i=e.length-1;for(;i>=0&&!t[0][i];)i--;if(i++,i>=e.length)return;for(;i{Jo(n,(t=>{const n=[...e];n[i]=t,r.push(n)}))})),r}function Ye(e,t,n,i,r){var s;let o,a=!1,l=!1,u=!1,p=!1;const d=e=>Eo(e)&&Xs.isSkipConstructorCheck(e),h=null===(s=ee(e,Zs.cloneAsInstance(n),"__init__",{method:"get"},void 0,68))||void 0===s?void 0:s.type;if(h&&!d(h)){if(r&&(o=Ko(r,(r=>{r=ta(r);const s=new jo(na(n));if(Xe(Zs.cloneAsInstance(n),r,s,Re(e))){let o;if(kn(e,(()=>{o=et(e,t,h,s.clone(),i,to.createInstance())})),!(null==o?void 0:o.argumentErrors))return et(e,t,h,s,i,to.createInstance()).isTypeIncomplete&&(u=!0),Qe(n,r,s)}})),ao(o)&&(o=void 0)),!o){const r=n.typeArguments?wa(n,!1):new jo(na(n));r.addSolveForScope(na(h));const s=et(e,t,h,r,i);if(s.argumentErrors)l=!0;else{let e=n;s.specializedInitSelfType&&vo(s.specializedInitSelfType)&&Zs.isSameGenericClass(s.specializedInitSelfType,n)&&(e=Zs.cloneAsInstantiable(s.specializedInitSelfType)),o=Ze(e,void 0,r),s.isTypeIncomplete&&(u=!0)}}a=!0,i=!0}if(!l){const s=n.details.effectiveMetaclass;let c;if(s&&_o(s)&&!Zs.isSameGenericClass(s,n)&&(c=Ne(e,s,"__call__",{method:"get"},void 0,352,n),c&&(p=!0)),c||(c=Ne(e,n,"__new__",{method:"get"},void 0,21,n)),c&&!d(c.type)){const s=new jo(na(n));n.typeAliasInfo&&s.addSolveForScope(n.typeAliasInfo.typeVarScopeId),s.addSolveForScope(na(c.type));const p=et(e,t,c.type,s,i);if(p.argumentErrors)l=!0;else{let e=p.returnType;p.isTypeIncomplete&&(u=!0),e&&(vo(e)&&Zs.isSameGenericClass(e,n)?(La(e)||$a(e))&&void 0!==o||(vo(e)&&Zs.isTupleClass(e)&&!e.tupleTypeArguments&&e.typeArguments&&1===e.typeArguments.length&&(e=Va(e,[{type:e.typeArguments[0],isUnbounded:!0}])),o=e):o||po(e)||(o=e))}o?vo(o)&&pa(o)&&!o.tupleTypeArguments&&(o=function(e,t){let n=e;return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&(n=Va(e,t.tupleTypeArguments)),n}(o,r)):o=Ze(n,r,s),a=!0}}if(a||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),!a&&t.length>0&&(n.details.effectiveMetaclass&&_o(n.details.effectiveMetaclass)&&!Zs.isBuiltIn(n.details.effectiveMetaclass)||p||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.constructorNoArgs().format({type:n.aliasName||n.details.name}),e)),!o)if(!r&&n.typeArguments)o=Fa(n);else{const t=new jo(na(n));r&&Xe(Zs.cloneAsInstance(n),r,t,Re(e)),o=Ze(n,r,t)}if(!l){const i=function(e,t,n,i,r){return"functools.partial"===i.details.fullName?function(e,t,n,i){if(!vo(i.returnType)||"functools.partial"!==i.returnType.details.fullName)return i;const r=_a(i.returnType,"__call__");if(!r||!Ao(Fa(r.classType),i.returnType))return i;const s=e.getTypeOfMember(r);if(!Eo(s)||s.details.parameters.length<1)return i;if(n.length<1)return i;const o=e.getTypeForArgument(n[0]).type;if(e.inferReturnTypeIfNecessary(o),!Eo(o))return i;if(n.some((e=>0!==e.argumentCategory)))return i;const a=new Map,l=Ho(o);let c=!1,u=!1;const p=new jo(na(o));n.slice(1).forEach(((n,i)=>{var r,s,d,h,m,f,g,y;const _=e.getTypeForArgument(n);if(n.name){const i=l.params.find((e=>{var t;return e.param.name===(null===(t=n.name)||void 0===t?void 0:t.value)&&e.source!==zo.PositionOnly}));if(i){const r=i.param.name,s=Xs.getEffectiveParameterType(o,i.index);if(a.has(r))e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:n.name.value}),n.name),c=!0;else{const i=new il;e.canAssignType(s,_.type,i,p)||(e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(s),functionName:o.details.name,paramName:r}),null!==(y=n.valueExpression)&&void 0!==y?y:t),c=!0),a.set(r,!0)}}else if(void 0===l.kwargsIndex)e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),n.name),c=!0;else{const i=Xs.getEffectiveParameterType(o,l.params[l.kwargsIndex].index),r=new il;e.canAssignType(i,_.type,r,p)||(e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(f=l.params[l.kwargsIndex].param.name)&&void 0!==f?f:""}),null!==(g=n.valueExpression)&&void 0!==g?g:t),c=!0)}}else if(i>=l.params.length||l.params[i].source===zo.KeywordOnly)if(void 0!==l.argsIndex){const i=Xs.getEffectiveParameterType(o,l.params[l.argsIndex].index),a=new il;e.canAssignType(i,_.type,a,p)||(e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(r=l.params[l.argsIndex].param.name)&&void 0!==r?r:""}),null!==(s=n.valueExpression)&&void 0!==s?s:t),c=!0)}else u||e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===l.positionParamCount?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:l.positionParamCount}),null!==(d=n.valueExpression)&&void 0!==d?d:t),u=!0,c=!0;else{const r=Xs.getEffectiveParameterType(o,i),s=new il,u=null!==(h=l.params[i].param.name)&&void 0!==h?h:"";e.canAssignType(r,_.type,s,p)||(e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(r),functionName:o.details.name,paramName:u}),null!==(m=n.valueExpression)&&void 0!==m?m:t),c=!0),a.set(u,!1)}}));const d=fa(o,p);if(!Eo(d))return i;const h=d.details.parameters.map(((e,t)=>{const n={...e};return n.type=Xs.getEffectiveParameterType(d,t),e.name&&a.get(e.name)&&(n.hasDefault=!0),n})),m=[...h.filter((e=>!(2===e.category||1!==e.category&&e.name&&a.has(e.name)))),...h.filter((e=>e.name&&a.get(e.name))),...h.filter((e=>2===e.category))],f=Xs.createInstance(s.details.name,s.details.fullName,s.details.moduleName,s.details.flags,d.details.docString);s.details.parameters.length>0&&Xs.addParameter(f,s.details.parameters[0]),m.forEach((e=>{Xs.addParameter(f,e)})),f.details.declaredReturnType=d.details.declaredReturnType?Xs.getSpecializedReturnType(d):d.inferredReturnType,f.details.declaration=s.details.declaration,f.details.typeVarScopeId=d.details.typeVarScopeId;const g=Zs.cloneForSymbolTableUpdate(i.returnType);return g.details.fields.set("__call__",qo.createWithType(4,f)),{returnType:g,isTypeIncomplete:!1,argumentErrors:c}}(e,t,n,r):r}(li,e,t,n,{argumentErrors:l,returnType:o,isTypeIncomplete:u});o=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return{argumentErrors:l,returnType:o,isTypeIncomplete:u}}function Qe(e,t,n){const i=fa(Zs.cloneAsInstance(e),n);if(Jn(t,i))return uo(t)?t:i}function Ze(e,t,n){if(t){const i=Ko(t,(t=>Qe(e,t,n)));if(!ao(i))return i}const i=fa(e,n,!0);return Zs.cloneAsInstance(i)}function Xe(e,t,n,i){if(uo(t))return e.details.typeParameters.forEach((e=>{n.setTypeVarType(e,t)})),!0;if(!yo(t))return!1;const r=t.typeArguments;if(!r)return Jn(e,t,void 0,n,1024);if(Zs.isSameGenericClass(t,e)){const i=wa(t);return i.getTypeVars().forEach((t=>{const r=i.getTypeVarType(t.typeVar);r&&(bo(r)&&r.scopeId===e.details.typeVarScopeId||n.setTypeVarType(t.typeVar,1===t.typeVar.details.variance?void 0:r,2===t.typeVar.details.variance?void 0:r,t.retainLiteral))})),!0}const s=na(t),o=Zs.getTypeParameters(t).map(((e,t)=>{const n=oo.createInstance(`__dest${t}`);return n.details.isSynthesized=!0,n.details.variance=0,n.scopeId=s,n})),a=Zs.cloneForSpecialization(t,o,!0),l=Zs.getTypeParameters(e).map(((e,t)=>{const n=oo.createInstance(`__source${t}`);return n.details.isSynthesized=!0,n.details.synthesizedIndex=t,n.details.isExemptFromBoundCheck=!0,n})),c=Zs.cloneForSpecialization(e,l,!0),u=new jo(s);if(Jn(a,c,void 0,u,1024)){let e=!0;return o.forEach(((t,s)=>{const o=u.getTypeVarType(t);if(o&&bo(o)&&o.details.isSynthesized&&void 0!==o.details.synthesizedIndex){const a=Zs.getTypeParameters(c)[o.details.synthesizedIndex];if(si.scopeId===e))?e:void 0):new Za(t,n).apply(e);var i}(o,n,i)),o?n.setTypeVarType(a,1===t.details.variance?void 0:o,2===t.details.variance?void 0:o):e=!1}}})),e}return!1}function et(e,t,n,i,r=!1,s,o=0){let a,l=!1,u=!1;if(o>Gs)return{returnType:Ys.create(),argumentErrors:!0};if(o++,Ks.isSpecialForm(n)){const t=9===e.nodeType?e.leftExpression:e;return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotCallable().format({expression:xr(t),type:ai(n,!0)}),t),{returnType:Ys.create(),argumentErrors:!0}}const p=Se(n,void 0,((n,p)=>{var d,h,m;switch(n.category){case 1:case 2:return t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&bn(e)})),n;case 5:{if("namedtuple"===n.details.builtInName)return _e(Vt(e).diagnosticRuleSet.reportUntypedNamedTuple,$o.reportUntypedNamedTuple,ml.Diagnostic.namedTupleNoTypes(),e),Lu(li,e,t,!1);let o=i;o||(o=new jo(na(n)),!o.getSolveForScopes()&&Xs.isConstructorMethod(n)&&o.addSolveForScope($s));const c=rt(e,t,n,o,r,s);if(c.isTypeIncomplete&&(u=!0),c.argumentErrors)l=!0;else{a=c.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:c.argumentErrors,returnType:null!==(d=c.returnType)&&void 0!==d?d:Ys.create(),isTypeIncomplete:u});c.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return c.argumentErrors||"NewType"!==n.details.builtInName?"__import__"===n.details.builtInName?io.create():c.returnType:at(e,t)}case 6:{if("cast"===n.overloads[0].details.builtInName&&2===t.length){const n=In(t[0]).type,i=bn(t[1]).type;return _o(n)&&vo(i)&&Ao(n,Zs.cloneAsInstantiable(i),!0)&&_e(Vt(e).diagnosticRuleSet.reportUnnecessaryCast,$o.reportUnnecessaryCast,ml.Diagnostic.unnecessaryCast().format({type:ai(i)}),e),Fa(n)}const o=function(e,t,n,i,r,s){let o=[],a=[];if(kn(e,(()=>{let i=0;n.overloads.forEach((n=>{if(Xs.isOverloaded(n)){const r=tt(e,t,n,i);r.argumentErrors||o.push(r),i++}})),a=t.map((e=>{if(e.type)return e.type;if(e.valueExpression){const t=e.valueExpression;return kn(t,(()=>$(t).type))}return io.create()}))})),o=Ke(o),0===o.length){if(!ye(e)){const i=n.overloads[0].details.name||"",r=new il,s=t.map((e=>ai(bn(e).type)));r.addMessage(ml.DiagnosticAddendum.argumentTypes().format({types:s.join(", ")})),_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noOverload().format({name:i})+al(r),e)}return{argumentErrors:!0,isTypeIncomplete:!1}}const l=t=>{const n=o.reduce(((e,t)=>t.overloadIndex>e.overloadIndex?t:e)),r=null!=i?i:new jo;return r.addSolveForScope(na(n.overload)),r.unlock(),nt(e,n,r,t,s)};if(1===o.length)return l(!1);let c=[t.map((e=>{}))],u=!1;for(;;){const t=He(e,c,o,i,r,s);if(t.isTypeIncomplete&&(u=!0),!t.argumentErrors)return t;if(c=Je(a,c),!c||c.length>64)break}if(!ye(e)&&!u){const e=l(!0);return e.returnType=Ys.create(),e}return{argumentErrors:!0,isTypeIncomplete:!1}}(e,t,n,i,r,s);if(o.isTypeIncomplete&&(u=!0),o.argumentErrors)l=!0;else{a=o.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:o.argumentErrors,returnType:null!==(h=o.returnType)&&void 0!==h?h:Ys.create(),isTypeIncomplete:u});o.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return o.returnType||Ys.create()}case 7:if(Ks.isInstantiable(n)){if(void 0!==n.literalValue)return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.literalNotCallable(),e),l=!0,Ys.create();if(Zs.isBuiltIn(n)){const i=n.aliasName||n.details.name;if("type"===i)return Ye(e,t,n,r,s),1===t.length?Ko(bn(t[0]).type,(e=>vo(e)||bo(e)&&Ks.isInstance(e)||lo(e)?Na(Qo(e)):io.create())):t.length>=2&&function(e,t){const n=Vt(e),i=bn(t[0]).type;if(!vo(i)||!Zs.isBuiltIn(i,"str"))return;const r=i.literalValue||"_",s=bn(t[1]).type;if(!vo(s)||!pa(s)||void 0===s.tupleTypeArguments)return;const o=Zs.createInstantiable(r,br(e,n.moduleName,r),n.moduleName,n.filePath,0,Ir(e),void 0,s.details.effectiveMetaclass);return s.tupleTypeArguments.forEach((n=>{_o(n.type)||ho(n.type)?o.details.baseClasses.push(n.type):ve(n.type,t[1].valueExpression||e)})),Ha(o)||fe(ml.Diagnostic.methodOrdering(),e),o}(e,t)||io.create();if("TypeVar"===i)return function(e,t){var n,i,r;let s,o="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const a=t[0];a.valueExpression&&48===a.valueExpression.nodeType?o=a.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),a.valueExpression||e);const l=oo.createInstantiable(o,!1);for(let o=1;o0)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const i=null!==(n=t[o].type)&&void 0!==n?n:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(i,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),l.details.boundType=Fa(i)}else"covariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(2===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=1):"contravariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(1===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=2):fe(ml.Diagnostic.typeVarUnknownParam().format({name:c}),(null===(i=t[o].node)||void 0===i?void 0:i.name)||t[o].valueExpression||e);u.set(c,c)}else if(l.details.boundType)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const n=null!==(r=t[o].type)&&void 0!==r?r:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(n,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),oo.addConstraint(l,Fa(n)),void 0===s&&(s=t[o])}}return 1===l.details.constraints.length&&s&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarSingleConstraint(),s.valueExpression||e),l}(e,t);if("TypeVarTuple"===i)return function(e,t){var n,i;let r="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const s=t[0];s.valueExpression&&48===s.valueExpression.nodeType?r=s.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),s.valueExpression||e);const o=oo.createInstantiable(r,!1);o.details.isVariadic=!0;for(let r=1;re.value)).join(""):fe(ml.Diagnostic.paramSpecFirstArg(),r.valueExpression||e);const o=oo.createInstantiable(s,!0);for(let r=1;re.value)).join("")}const s=Zs.createInstantiable(r,br(e,i.moduleName,r),i.moduleName,i.filePath,1048576,Ir(e),void 0,t.details.effectiveMetaclass);s.details.baseClasses.push(t),Ha(s);const o=s.details.fields;if(o.set("__class__",qo.createWithType(68,s)),!(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 i=Ys.create(),r=qo.createWithType(4,i),s=t.valueExpression;w(48===s.nodeType);const a=Vt(e),l={type:1,node:s,isRuntimeTypeExpression:!0,path:a.filePath,range:St(s.start,dt.getEnd(s),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};r.addDeclaration(l),o.set(n,r)}}))}return s}}(e,n,t);if("TypedDict"===i)return function(e,t,n,i){const r=Vt(t);let s="TypedDict";if(0===i.length)e.addError(ml.Diagnostic.typedDictFirstArg(),t);else{const n=i[0];0===n.argumentCategory&&n.valueExpression&&48===n.valueExpression.nodeType?s=n.valueExpression.strings.map((e=>e.value)).join(""):e.addError(ml.Diagnostic.typedDictFirstArg(),i[0].valueExpression||t)}const o=Zs.createInstantiable(s,br(t,r.moduleName,s),r.moduleName,r.filePath,128,Ir(t),void 0,n.details.effectiveMetaclass);o.details.baseClasses.push(n),Ha(o);const a=o.details.fields;a.set("__class__",qo.createWithType(68,o));let l=!1;if(i.length<2)e.addError(ml.Diagnostic.typedDictSecondArgDict(),t);else{const n=i[1],s=new Map;if(0===n.argumentCategory&&n.valueExpression&&15===n.valueExpression.nodeType){l=!0;const t=n.valueExpression;t.entries.forEach((t=>{if(17!==t.nodeType)return void e.addError(ml.Diagnostic.typedDictSecondArgDictEntry(),t);if(48!==t.keyExpression.nodeType)return void e.addError(ml.Diagnostic.typedDictEntryName(),t.keyExpression);const n=t.keyExpression.strings.map((e=>e.value)).join("");if(!n)return void e.addError(ml.Diagnostic.typedDictEmptyName(),t.keyExpression);if(s.has(n))return void e.addError(ml.Diagnostic.typedDictEntryUnique(),t.keyExpression);s.set(n,!0);const i=e.getTypeForExpressionExpectingType(t.valueExpression,!0,!0),o=new qo(8),l={type:1,node:t.keyExpression,path:r.filePath,typeAnnotationNode:t.valueExpression,isRequired:i.isRequired,isNotRequired:i.isNotRequired,isRuntimeTypeExpression:!0,range:St(t.keyExpression.start,dt.getEnd(t.keyExpression),r.lines),moduleName:r.moduleName,isInExceptSuite:!1};o.addDeclaration(l),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(ml.Diagnostic.typedDictTotalParam(),i[2].valueExpression||t):15===i[2].valueExpression.constType&&(o.details.flags|=256)),i.length>3&&e.addError(ml.Diagnostic.typedDictExtraArgs(),i[3].valueExpression||t)),fl(e,t,o),o}(li,e,n,t);if("auto"===i&&0===t.length)return Cn(e,"int")}if(Zs.supportsAbstractMethods(n)){const t=ii(n);if(t.length>0&&!n.includeSubclasses&&!bo(p)){const i=new il,r=2;t.forEach(((e,n)=>{if(n===r)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:t.length-r}));else if(n_o(e)&&Zs.isBuiltIn(e,"type")))){let i="__class_"+o.details.name;if(3===t.length){const e=bn(t[0]).type;vo(e)&&Zs.isBuiltIn(e,"str")&&"string"==typeof e.literalValue&&(i=e.literalValue)}const r=Zs.createInstantiable(i,"","",Vt(e).filePath,0,Ir(e),Zs.cloneAsInstantiable(o),Zs.cloneAsInstantiable(o));return r.details.baseClasses.push(xn(e,"object")),r.details.effectiveMetaclass=n,Ha(r),r}return o}{let a=null===(m=ee(e,n,"__call__"))||void 0===m?void 0:m.type;if(a&&(Eo(a)||ko(a))){a=Ba(a);const n=et(e,t,a,i,r,s,o);return n.argumentErrors&&(l=!0),n.returnType||Ys.create()}return a&&ho(a)||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.objectNotCallable().format({type:ai(n)}),e),Ys.create()}case 3:return void _e(Vt(e).diagnosticRuleSet.reportOptionalCall,$o.reportOptionalCall,ml.Diagnostic.noneNotCallable(),e);case 10:{n=ta(n);const a=et(e,t,n,i,r,s,o);return a.argumentErrors&&(l=!0),a.returnType||Ys.create()}case 8:return void _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleNotCallable(),e)}}));return{argumentErrors:l,returnType:ao(p)&&!p.isNoReturn?void 0:p,isTypeIncomplete:u,specializedInitSelfType:a}}function tt(e,t,n,i){var r;const s=Ho(n);let o=0,a=!1,l=!1,u=!1,p=!1;const d=new Map;s.params.forEach((e=>{const t=e.param;t.name&&0===t.category&&d.set(t.name,{argsNeeded:0!==t.category||t.hasDefault?0:1,argsReceived:0,isPositionalOnly:e.source===zo.PositionOnly})}));let h=s.positionOnlyParamCount,m=null!==(r=s.firstKeywordOnlyIndex)&&void 0!==r?r:s.params.length;const f=s.argsIndex,g=s.kwargsIndex;let y,_,v=!1;if(void 0!==f&&void 0!==g){w(s.params[f],"varArgListParamIndex params entry is undefined");const e=s.params[f].param;w(s.params[g],"varArgDictParamIndex params entry is undefined");const t=s.params[g].param;wo(e.type)&&"args"===e.type.paramSpecAccess&&wo(t.type)&&"kwargs"===t.type.paramSpecAccess&&e.type.details.name===t.type.details.name&&(v=!0,e.type.scopeId===n.details.typeVarScopeId?(y=[],_=oo.cloneForParamSpecAccess(e.type,void 0)):h=f)}t.forEach((e=>{if(e.name){const t=s.params.findIndex((t=>t.param.name===e.name.value&&0===t.param.category));t>=0&&t>=h&&(m<0||t2===e.argumentCategory||void 0!==e.name));b<0&&(b=t.length);let I,S=[];function x(e,t){e.active&&(I=t)}let C=void 0!==t.find((e=>1===e.argumentCategory)),E=0,k=0;for(;o=m){C&&1===t[o].argumentCategory||(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0);break}if(E>=s.params.length)break;w(s.params[E],"paramIndex params entry is undefined");const i=s.params[E].type;if(1===t[o].argumentCategory){if(!t[o].valueExpression)break;const r=1===s.params[E].param.category&&Io(i);let c=!1;const h=bn(t[o]),f=h.type;let g,_=!1;n.details.paramSpec&&E0&&kt>o&&1===e.argumentCategory)),k++,k>=v.tupleTypeArguments.length&&(k=0,_=!0)):r&&Io(f)?(g=f,c=!0,_=!0,p=!0):vo(f)&&pa(f)&&f.tupleTypeArguments&&1===f.tupleTypeArguments.length&&Io(f.tupleTypeArguments[0].type)?(g=f.tupleTypeArguments[0].type,c=!0,_=!0,p=!0):wo(f)&&"args"===f.paramSpecAccess?g=void 0:(g=ae(f,!1,t[o].valueExpression)||Ys.create(),1!==s.params[E].param.category&&(a=!0));const b=g?{argumentCategory:0,type:g}:void 0;b&&h.isIncomplete&&(u=!0);const I=s.params[E].param.name;r&&!c?(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedArgWithVariadicParam(),t[o].valueExpression||e),l=!0):(y&&y.push(t[o]),b&&S.push({paramCategory:s.params[E].param.category,paramType:i,requiresTypeVarMatching:$a(i),argument:b,errorNode:t[o].valueExpression||e,paramName:s.params[E].param.isNameSynthesized?void 0:I})),x(t[o],s.params[E].param),I&&0===s.params[E].param.category&&d.has(I)&&d.get(I).argsReceived++,(_||1===s.params[E].param.category)&&o++,(p||1!==s.params[E].param.category)&&E++}else if(1===s.params[E].param.category)if(x(t[o],s.params[E].param),y)y.push(t[o]),o++;else{let n=s.params[E].param.category,r=i;const a=s.params[E].param.name;xo(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.length>0&&(r=i.tupleTypeArguments[0].type),n=Io(r)?1:0;const c=b-o,u=m-E-1;c<=u?(c=0&&Ee.param.hasDefault)),i=(n>=0&&n0&&(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===i?ml.Diagnostic.argMorePositionalExpectedOne():ml.Diagnostic.argMorePositionalExpectedCount().format({expected:i}),t.length>b&&t[b].valueExpression||e),l=!0)}if(!l){let i;for(;o{const a=d.get(i);if(a&&!a.isPositionalOnly)if(a.argsReceived>0)r.addMessage(ml.Diagnostic.paramAlreadyAssigned().format({name:i}));else{a.argsReceived++;const r=s.params.findIndex((e=>e.param.name===i));w(r>=0);const l=s.params[r].type;S.push({paramCategory:0,paramType:l,requiresTypeVarMatching:$a(l),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i})}else if(void 0!==s.kwargsIndex){const r=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:r,requiresTypeVarMatching:$a(r),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}else r.addMessage(ml.Diagnostic.paramNameMissing().format({name:i}))})),r.isEmpty()||(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedTypedDictArgument()+r.getString(),t[o].valueExpression||e),l=!0)}else if(wo(n)&&"kwargs"===n.paramSpecAccess)i=io.create();else{const r=ce(e,"Mapping"),s=Cn(e,"str");if(r&&_o(r)&&s&&vo(s)){const a=new jo(na(r));let c=!1;if(bo(n))c=!0;else if(Jn(Zs.cloneAsInstance(r),n,void 0,a)){const e=fa(r,a).typeArguments;e&&e.length>=2?(Jn(s,e[0])&&(c=!0),i=e[1]):(c=!0,i=Ys.create())}c||(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedDictArgumentNotMapping(),t[o].valueExpression||e),l=!0)}}y&&y.push(t[o])}else{const n=t[o].name;if(n){const i=n.value,r=d.get(i);if(r&&!r.isPositionalOnly)if(r.argsReceived>0)_e(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:i}),n),l=!0;else{r.argsReceived++;const n=s.params.findIndex((e=>e.param.name===i));w(n>=0);const a=s.params[n].type;S.push({paramCategory:0,paramType:a,requiresTypeVarMatching:$a(a),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),x(t[o],s.params[n].param)}else if(void 0!==s.kwargsIndex){if(y)y.push(t[o]);else{const n=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:n,requiresTypeVarMatching:$a(n),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}w(s.params[s.kwargsIndex],"paramDetails.kwargsIndex params entry is undefined"),x(t[o],s.params[s.kwargsIndex].param)}else _e(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.value}),n),l=!0}else 0===t[o].argumentCategory&&(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0)}o++}if(!i||C&&void 0===s.argsIndex||s.params.forEach(((n,r)=>{var o,a;const l=n.param;if(r>=s.firstPositionOrKeywordIndex&&0===l.category&&l.name&&!l.hasDefault&&d.has(l.name)&&0===d.get(l.name).argsReceived){const n=s.params[r].type;S.push({paramCategory:0,paramType:n,requiresTypeVarMatching:$a(n),argument:{argumentCategory:0,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:l.isNameSynthesized?void 0:l.name}),d.get(l.name).argsReceived=1}})),!i&&!Xs.isDefaultParameterCheckDisabled(n)){const t=[...d.keys()].filter((e=>{const t=d.get(e);return!t||t.argsReceived0){const n=t.map((e=>`"${e}"`)).join(", ");_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),l=!0}s.params.forEach((t=>{const n=t.param;if(0===n.category&&n.name){const t=d.get(n.name);0===t.argsNeeded&&0===t.argsReceived&&n.defaultType&&!ca(n.defaultType)&&$a(n.type)&&S.push({paramCategory:n.category,paramType:n.type,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:n.defaultType},errorNode:e,paramName:n.isNameSynthesized?void 0:n.name})}}))}}if((!l||!c.isSpeculative(void 0))&&void 0!==s.argsIndex&&s.argsIndex>=0&&s.params[s.argsIndex].param.hasDeclaredType&&!p){const t=s.params[s.argsIndex].type,n=S.filter((e=>e.mapsToVarArgList));if(bo(t)&&t.details.isVariadic&&T&&_o(T)){const i=n.map((t=>{var n;const i=bn(t.argument).type;return(So(i)||vo(i)&&pa(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.some((e=>So(e.type))))&&1!==t.argument.argumentCategory&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarTupleMustBeUnpacked(),null!==(n=t.argument.valueExpression)&&void 0!==n?n:e),{type:Qo(i),isUnbounded:1===t.argument.argumentCategory}})),r={paramCategory:1,paramType:t,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:Zs.cloneAsInstance(Va(T,i,!0,!0,!0))},errorNode:e,paramName:s.params[s.argsIndex].param.name,mapsToVarArgList:!0};S=[...S.filter((e=>!e.mapsToVarArgList)),r]}}let D=0;return a&&D--,["isinstance","issubclass"].some((e=>e===n.details.builtInName))&&2===S.length&&(S[1].expectingType=!0),{overload:n,overloadIndex:i,argumentErrors:l,isTypeIncomplete:u,argParams:S,paramSpecTarget:_,paramSpecArgList:y,activeParam:I,relevance:D}}function nt(e,t,n,i=!1,r){const s=t.overload;if(!r||ho(r)||ao(r)||$a(r)||!s.details.declaredReturnType)return it(e,t,n,i);const o=Un(s);let a=r,l=4;if(oa(a,!0)&&(l|=128),fo(r)){let r;kn(e,(()=>{const s=n.clone();Jn(o,a,void 0,s,1024|l),r=it(e,t,s,i)})),r&&r.argumentErrors&&(a=void 0)}if(a){if(vo(o)&&vo(a)&&!Zs.isSameGenericClass(o,a)){const t=new jo(na(o));Xe(o,a,t,Re(e));const n=Zs.cloneForSpecialization(o,void 0,!1);a=fa(n,t)}Jn(o,a,void 0,n,1024|l)}return it(e,t,n,i)}function it(e,t,n,i=!1){const r=t.overload;let s,o=t.isTypeIncomplete,a=!1;const l=Xo(r);if(r.boundTypeVarScopeId&&(void 0!==r.preBoundFlags&&r.boundToType&&$a(r.boundToType)&&6&r.preBoundFlags&&n.addSolveForScope(r.boundTypeVarScopeId),"__init__"===r.details.name&&Xs.isOverloaded(r)&&r.strippedFirstParamType&&r.boundToType&&vo(r.strippedFirstParamType)&&vo(r.boundToType)&&Zs.isSameGenericClass(r.strippedFirstParamType,r.boundToType)&&r.strippedFirstParamType.typeArguments)){const e=r.strippedFirstParamType.details.typeParameters;s=r.strippedFirstParamType,r.strippedFirstParamType.typeArguments.forEach(((t,i)=>{ie===r.details.builtInName))&&(i=!0);const c=t.argParams.filter((e=>e.requiresTypeVarMatching)).length;if(c>0){let s=Math.min(c,2);for(let a=0;a{t.argParams.forEach((e=>{if(e.requiresTypeVarMatching){const t=st(e,n,r,i,0===a,s>1&&0===a,l);t.isTypeIncomplete&&(o=!0),0===a&&t.skippedOverloadArg&&s++}}))}));n.lock()}t.argParams.forEach((e=>{const t=st(e,n,r,i,!1,!1,l);t.isCompatible||(a=!0),t.isTypeIncomplete&&(o=!0)})),t.paramSpecArgList&&t.paramSpecTarget&&(function(e,t,n,i,r){var s;const o=i.getParamSpec(n);if(!o)return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotBound().format({type:ai(n)}),(null===(s=t[0])||void 0===s?void 0:s.valueExpression)||e),!1;i.addSolveForScope(o.typeVarScopeId);let a=!1;const l=new Map,c=o.parameters;c.forEach((e=>{e.name&&l.set(e.name,e)}));let u=0,p=c.findIndex((e=>0!==e.category));p<0&&(p=c.length);const d=c.find((e=>1===e.category)),h=c.find((e=>2===e.category));if(t.forEach((t=>{if(0===t.argumentCategory){let n;if(t.name){const i=l.get(t.name.value);i?(n=i.type,l.delete(t.name.value)):h?n=h.type:(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:t.name.value}),t.valueExpression||e),a=!0)}else{if(u{const t=l.get(e);return 0===t.category&&!t.hasDefault})),t.length>0&&!o.paramSpec){const n=t.map((e=>`"${e}"`)).join(", ");_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),a=!0}}return!a}(e,t.paramSpecArgList,t.paramSpecTarget,n,l)||(a=!0));const u=Un(r,t.argParams);let p=!0,d=e;for(;;){const e=Pr(d);if(!e)break;const t=Pe(e);n.hasSolveForScope(t)&&(p=!1),d=e}(Eo(u)||ko(u))&&(p=!1);let h=Zo(fa(u,n,!1,!1,p),l);return xo(h)&&(h=Zs.cloneForUnpacked(h,!1)),vo(h)&&Zs.isBuiltIn(h,["TypeGuard","StrictTypeGuard"])&&h.typeArguments&&h.typeArguments.length>0&&b&&_o(b)&&(h=Zs.cloneAsInstance(Zs.cloneForTypeGuard(b,h.typeArguments[0],Zs.isBuiltIn(h,"StrictTypeGuard")))),Eo(h)&&!h.details.name&&(h.details={...h.details,typeVarScopeId:$s}),s&&(s=fa(s,n)),{argumentErrors:a,returnType:h,isTypeIncomplete:o,activeParam:t.activeParam,specializedInitSelfType:s}}function rt(e,t,n,i,r=!1,s){const o=tt(e,t,n,0);return o.argumentErrors?(d.isUndoTrackingEnabled()||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),{argumentErrors:!0,activeParam:o.activeParam}):nt(e,o,i,r,s)}function st(e,t,n,i,r,s,o){let a,l,u=!1,p=!0;const d=null==n?void 0:n.details.name;if(e.argument.valueExpression){let i=bo(e.paramType)&&void 0!==n&&e.paramType.scopeId===n.details.typeVarScopeId?void 0:fa(e.paramType,t,!1,s);if(i&&po(i)&&(i=void 0),e.argType)a=e.argType;else{const t=e.expectingType?168:0,n=$(e.argument.valueExpression,i,t);a=n.type,n.isIncomplete&&(u=!0),n.typeErrors&&(p=!1),l=n.expectedTypeDiagAddendum}e.argument&&e.argument.name&&!c.isSpeculative(e.errorNode)&&N(e.argument.name,i||a,0,u)}else if(e.argType)a=e.argType;else if(e.expectingType&&!e.argument.type&&e.argument.valueExpression){const t=$(e.argument.valueExpression,void 0,168);a=t.type,t.isIncomplete&&(u=!0)}else{const t=bn(e.argument);a=t.type,t.isIncomplete&&(u=!0)}2===e.paramCategory&&bo(e.paramType)&&(a=Qo(a)),o&&(a=Se(a,o,(e=>e)));let h=new il;if(wo(e.paramType)&&void 0!==e.paramType.paramSpecAccess)return{isCompatible:p,isTypeIncomplete:u};if(r){if(ko(a))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0};const t=Ie(e.paramType);if(Eo(t)||ko(t)){if(_o(a)){const e=Zn(a);if(e&&ko(e))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}if(vo(a)){const e=_a(a,"__call__");if(e&&ko(Bn(e)))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}}}if(!Jn(e.paramType,a,h.createAddendum(),t)){if("none"!==Vt(e.errorNode).diagnosticRuleSet.reportGeneralTypeIssues&&!ye(e.errorNode)){const t=Vt(e.errorNode),n=ai(a),i=ai(e.paramType);let r;r=e.paramName?d?ml.Diagnostic.argAssignmentParamFunction().format({argType:n,paramType:i,functionName:d,paramName:e.paramName}):ml.Diagnostic.argAssignmentParam().format({argType:n,paramType:i,paramName:e.paramName}):d?ml.Diagnostic.argAssignmentFunction().format({argType:n,paramType:i,functionName:d}):ml.Diagnostic.argAssignment().format({argType:n,paramType:i}),l&&(h=l),_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r+al(h),e.errorNode)}return{isCompatible:!1,isTypeIncomplete:u}}if(!i){const t=Ro(a),n=Vt(e.errorNode),i=()=>{const t=new il;return e.paramName&&t.addMessage((d?ml.DiagnosticAddendum.argParamFunction().format({paramName:e.paramName,functionName:d}):ml.DiagnosticAddendum.argParam().format({paramName:e.paramName}))+t.getString()),t};if("none"!==n.diagnosticRuleSet.reportUnknownArgumentType&&!uo(e.paramType)&&!u)if(po(t)){const t=i();_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypeUnknown()+t.getString(),e.errorNode)}else if(La(t,!0)){let r=!1;if(_o(t)&&(r=!0),La(e.paramType)&&(r=!0),vo(t)&&t.isEmptyContainer&&(r=!0),!r){const r=i();r.addMessage(ml.DiagnosticAddendum.argumentType().format({type:ai(t,!0)})),_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypePartiallyUnknown()+r.getString(),e.errorNode)}}}return{isCompatible:p,isTypeIncomplete:u}}function ot(e){if(11===e.nodeType){if(15===e.constType)return!1;if(33===e.constType)return!0}return fe(ml.Diagnostic.expectedBoolLiteral(),e),!1}function at(e,t){const n=Vt(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 r=In(t[1]).type;if(_o(r)){Zs.isProtocolClass(r)?fe(ml.Diagnostic.newTypeProtocolClass(),t[1].node||e):void 0!==r.literalValue&&fe(ml.Diagnostic.newTypeLiteral(),t[1].node||e);const s=-4&r.details.flags,o=Zs.createInstantiable(i,br(e,n.moduleName,i),n.moduleName,n.filePath,s,Ir(e),void 0,r.details.effectiveMetaclass);o.details.baseClasses.push(r),Ha(o);const a=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"self",type:Zs.cloneAsInstance(o),hasDeclaredType:!0}),Xs.addParameter(a,{category:0,name:"_x",type:Zs.cloneAsInstance(r),hasDeclaredType:!0}),a.details.declaredReturnType=to.createInstance(),o.details.fields.set("__init__",qo.createWithType(4,a));const l=Xs.createInstance("__new__","","",65);return Xs.addParameter(l,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(l),l.details.declaredReturnType=Zs.cloneAsInstance(o),o.details.fields.set("__new__",qo.createWithType(4,l)),o}ho(r)||fe(ml.Diagnostic.newTypeNotAClass(),t[1].node||e)}}function lt(e){return!(!Ku[e]||!Ku[e][2])||!!Ju[e]}function ut(e,t,n){const i=e.leftExpression;let r=e.rightExpression,s=!1;lt(e.operator)&&7===r.nodeType&&!r.parenthesized&<(r.operator)&&(ut(r,t,n),r=r.leftExpression);let o,a=37===e.operator||36===e.operator?t:void 0;26===e.operator&&t&&vo(t)&&Zs.isBuiltIn(t,"list")&&t.typeArguments&&t.typeArguments.length>=1&&31===e.leftExpression.nodeType&&(o=t);const l=$(i,a||o,n);let c=l.type;a||(37===e.operator||36===e.operator||0===e.operator&&31===e.rightExpression.nodeType||6===e.operator)&&(a=c);const u=$(r,a,n);let p=u.type;if((l.isIncomplete||u.isIncomplete)&&(s=!0),6===e.operator&&!pt(c,"__or__")&&!pt(p,"__ror__")){let t=p;if(!lo(c)&&lo(p)&&Ks.isInstance(p)&&(t=to.createType()),function(e){let t=3;for(const n of e)t&=n.flags;return 0!=(1&t)&&0==(2&t)}([c,t])){const i=Vt(e);i.isStubFile||0!=(4&n)||i.executionEnvironment.pythonVersion>=De.V3_10||ho(c)||fe(ml.Diagnostic.unionSyntaxIllegal(),e,e.operatorToken);const r=Oo([c,t]);return fo(r)&&Ks.setSpecialForm(r),{type:r,node:e}}}let d=!1;void 0===Ju[e.operator]&&(12===e.operator||28===e.operator?c=Fo(c):d=Go(c),12!==e.operator&&28!==e.operator||(p=Fo(p)));const h=new il,m=!l.isIncomplete&&!u.isIncomplete;let f=mt(e.operator,c,p,e,t,h,m);if(!h.isEmpty()||!f){if(!s){const t=Vt(e);d&&1===h.getMessages().length?_e(Vt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.leftExpression):_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(c),rightType:ai(p)})+al(h),e)}f=Ys.create()}return{type:f,node:e,isIncomplete:s}}function pt(e,t){if(!_o(e))return!1;const n=e.details.effectiveMetaclass;if(!n||!_o(n))return!1;if(Zs.isBuiltIn(n,"type"))return!1;const i=va(n,t);return!(!i||_o(i.classType)&&Zs.isBuiltIn(i.classType,"type"))}function ht(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;const r=new il,s=$(e.leftExpression),o=s.type;let a;7===e.operator&&(a=o);const l=$(e.rightExpression,a),c=l.type,u=!!l.isIncomplete||!!s.isIncomplete;return ao(o)||ao(c)?{node:e,type:no.createNever(),isIncomplete:u}:(i=Se(o,void 0,((i,o)=>Se(c,Xo(i),((a,c)=>{if(ho(o)||ho(c))return po(o)||po(c)?Ys.create():io.create();const u=n[e.operator][0];let p=gt(o,[c],u,e,t);if(p||o===i||(p=gt(i,[c],u,e,t)),p||c===a||(p=gt(i,[a],u,e,t)),!p){const i=n[e.operator][1],a=!s.isIncomplete&&!l.isIncomplete;p=mt(i,o,c,e,t,r,a)}return p})))),r.isEmpty()&&i&&!ao(i)||(u||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(o),rightType:ai(c)})+al(r),e),i=Ys.create()),{node:e,type:i,isIncomplete:u})}function mt(e,t,n,i,r,s,o){let a,l=Ie(t);if(void 0!==Ju[e]){if(36===e){if(!Q(l))return t;if(!Y(l))return n;l=Z(l)}else if(37===e){if(!Y(l))return t;if(!Q(l))return n;l=X(l)}if(ao(t)||ao(n))return no.createNever();41===e||42===e?(a=Se(n,void 0,((t,n)=>Se(l,Xo(t),(r=>{if(ho(r)||ho(n))return po(r)||po(n)?Ys.create():io.create();let o=gt(t,[r],"__contains__",i,void 0);if(!o){const e=ae(t,!1,void 0);e&&Jn(e,r)&&(o=Cn(i,"bool"))}return o||s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(r),rightType:ai(t)})),o})))),a&&!ao(a)&&(a=Cn(i,"bool"))):a=Se(l,void 0,((t,r)=>Se(n,Xo(t),((t,n)=>36===e||37===e?Oo([r,n]):Cn(i,"bool")))))}else if(Ku[e]){if(ao(t)||ao(n))return no.createNever();if(o){const i=aa(t);if(i&&!Xo(t)){const r=64;if(i===aa(n)&&!Xo(n)&&la(t)*la(n)Ko(n,(t=>{const n=e,i=t;return Zs.cloneWithLiteral(n,n.literalValue+i.literalValue)})))));else if("int"===i&&(0===e||33===e||26===e||13===e||24===e)){let i=!0;a=Ko(t,(t=>Ko(n,(n=>{try{const r=t,s=n,o=BigInt(r.literalValue),a=BigInt(s.literalValue);let l;return 0===e?l=o+a:33===e?l=o-a:26===e?l=o*a:13===e?a!==BigInt(0)&&(l=o/a):24===e&&a!==BigInt(0)&&(l=o%a),void 0===l||"number"==typeof l&&isNaN(l)?void(i=!1):(l===BigInt(Number(l))&&(l=Number(l)),Zs.cloneWithLiteral(r,l))}catch{return void(i=!1)}})))),i||(a=void 0)}}}a||(a=Se(t,void 0,((t,o)=>Se(n,Xo(t),((n,a)=>{if(ho(o)||ho(a))return po(o)||po(a)?Ys.create():io.create();if(0===e&&vo(t)&&pa(t)&&t.tupleTypeArguments&&!da(t)&&vo(n)&&pa(n)&&n.tupleTypeArguments&&!da(n)&&T&&_o(T))return Zs.cloneAsInstance(Va(T,[...t.tupleTypeArguments,...n.tupleTypeArguments]));const l=Ku[e][0];let c=gt(yt(o),[a],l,i,r);if(c||o===t||(c=gt(yt(t),[a],l,i,r)),c||a===n||(c=gt(yt(t),[n],l,i,r)),!c){const s=Ku[e][1];c=gt(yt(a),[o],s,i,r),c||a===n||(c=gt(yt(n),[o],s,i,r)),c||o===t||(c=gt(yt(n),[t],s,i,r))}return c||(r?s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperatorBidirectional().format({operator:Cr(e),leftType:ai(t),rightType:ai(n),expectedType:ai(r)})):s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(t),rightType:ai(n)}))),c})))))}return a&&ao(a)?void 0:a}function gt(e,t,n,i,r){let s=!0;const o=e=>{var o,a;let l;const c=Ie(e);if(vo(c)?l=null===(o=ee(i,c,n,void 0,void 0,64,e))||void 0===o?void 0:o.type:_o(c)&&(l=null===(a=te(i,c,n,void 0,void 0,96))||void 0===a?void 0:a.type),l){const e=t.map((e=>({argumentCategory:0,type:e})));let n;return kn(i,(()=>{n=et(i,e,l,void 0,!0,r)})),n.argumentErrors&&(s=!1),n.returnType}s=!1},a=Ko(e,(e=>{if(ho(e))return e;if(vo(e)||_o(e)||bo(e))return o(e);if(lo(e)){const e=Cn(i,"object");if(vo(e))return o(e)}s=!1}));if(s)return a}function yt(e){return(Eo(e)||ko(e))&&y?y:e}function _t(e,t,n){if(!vo(t=ta(t)))return;const i=[],r=[];let s=!1;if(Zs.isTypedDictClass(t)){if(Tt(e,i,r,!0,void 0,void 0,gl(li,t),n)&&(s=!0),Zs.isTypedDictClass(t)){const o=function(e,t,n,i,r){w(vo(t)),w(Zs.isTypedDictClass(t)),w(n.length===i.length);let s=!0;const o=new Map,a=gl(e,t);if(n.forEach(((n,l)=>{if(vo(n)&&Zs.isBuiltIn(n,"str")&&ra(n)){const c=n.literalValue,u=a.get(c);u?(e.canAssignType(u.valueType,i[l])||(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldTypeMismatch().format({name:n.literalValue,type:e.printType(i[l])})),s=!1),u.isRequired||o.set(c,{valueType:i[l],isRequired:!1,isProvided:!0}),u.isProvided=!0):(s=!1,r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldUndefined().format({name:n.literalValue,type:e.printType(Zs.cloneAsInstance(t))})))}else s=!1})),s&&(a.forEach(((n,i)=>{n.isRequired&&!n.isProvided&&(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:i,type:e.printType(t)})),s=!1)})),s))return 0===o.size?t:Zs.cloneForNarrowedTypedDictEntries(t,o)}(li,t,i,r,n);if(o)return{type:o,node:e,isIncomplete:s}}return}const o=Cn(e,"dict");if(!vo(o))return;const a=new jo(na(o));if(!Xe(o,t,a,Re(e)))return;const l=fa(Zs.cloneAsInstantiable(o),a);if(!l.typeArguments||2!==l.typeArguments.length)return;const c=l.typeArguments[0],u=l.typeArguments[1];Tt(e,i,r,!0,c,u,void 0,n)&&(s=!0);const p=vo(t)&&(Zs.isBuiltIn(t,"dict")||Zs.isBuiltIn(t,"MutableMapping")),d=It(c,i,!1),h=It(u,r,!p);return d&&h?{type:Cn(e,"dict",[d,h]),node:e,isIncomplete:s}:void 0}function vt(e,t){const n=t?io.create():Ys.create();let i=n,r=n,s=[],o=[],a=!1,l=!1;Tt(e,s,o,t)&&(l=!0),s=s.map((e=>Qo(e))),o=o.map((e=>Qo(e))),i=s.length>0?Oo(s):n,o.length>0?r=Vt(e).diagnosticRuleSet.strictDictionaryInference||t?Oo(o):Yo(o,!0)?o[0]:n:(r=n,a=!0);const c=xn(e,"dict");return{type:_o(c)?Zs.cloneAsInstance(Zs.cloneForSpecialization(c,[i,r],!0,void 0,void 0,a)):Ys.create(),node:e,isIncomplete:l}}function Tt(e,t,n,i,r,s,o,a){let l=!1;return e.entries.forEach(((c,u)=>{var p;let d=!0;if(17===c.nodeType){const e=$(c.keyExpression,null!=r?r:i?no.createNever():void 0);e.isIncomplete&&(l=!0);let p,h=e.type;if(r){const e=Ie(r);ho(e)||Jn(e,h)&&(h=e)}p=o&&vo(h)&&Zs.isBuiltIn(h,"str")&&ra(h)&&o.has(h.literalValue)?$(c.valueExpression,o.get(h.literalValue).valueType):$(c.valueExpression,null!=s?s:i?no.createNever():void 0),a&&p.expectedTypeDiagAddendum&&a.addAddendum(p.expectedTypeDiagAddendum);const m=p.type;p.isIncomplete&&(l=!0),(i||u<64)&&(t.push(h),n.push(m)),d=!1}else if(16===c.nodeType){const r=$(c.expandExpression);r.isIncomplete&&(l=!0);const s=r.type;if(ho(s))d=!1;else{const r=ce(e,"Mapping");if(r&&_o(r)){const o=new jo(na(r));if(Jn(Zs.cloneAsInstance(r),s,void 0,o)){const e=fa(r,o).typeArguments;e&&e.length>=2&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}else _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dictUnpackIsNotMapping(),c)}}}else if(32===c.nodeType){const e=wt(c,s,r),o=e.type;if(e.isIncomplete&&(l=!0),vo(o)&&pa(o)){const e=null===(p=o.tupleTypeArguments)||void 0===p?void 0:p.map((e=>e.type));e&&2===e.length&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}}d&&(i||u<64)&&(t.push(Ys.create()),n.push(Ys.create()))})),l}function bt(e,t){const n=31===e.nodeType?"list":"set";t=ta(t);let i=!1;if(!vo(t))return;const r=Cn(e,n);if(!vo(r))return;const s=new jo(na(r));if(!Xe(r,t,s,Re(e)))return;const o=fa(Zs.cloneAsInstantiable(r),s);if(!o.typeArguments||1!==o.typeArguments.length)return;const a=o.typeArguments[0],l=[];e.entries.forEach((e=>{let t;t=32===e.nodeType?wt(e,a):$(e,a),l.push(t.type),t.isIncomplete&&(i=!0)}));const c=vo(t)&&Zs.isBuiltIn(t,n),u=It(a,l,!c);return u?{type:Cn(e,n,[u]),node:e,isIncomplete:i}:void 0}function It(e,t,n){const i=oo.createInstance("__typeArg");i.details.isSynthesized=!0,i.details.boundType=e,i.scopeId="__typeArgScopeId";let r=new jo($s);if(r.setTypeVarType(i,n?void 0:e,e),!t.some((e=>!Jn(i,Qo(e),void 0,r)))||(r=new jo($s),r.setTypeVarType(i,n?void 0:e,e,!0),!t.some((e=>!Jn(i,e,void 0,r)))))return fa(i,r)}function xt(e,t,n,i,r,s){if("none"===e)return;const o=n.value,a=Ro(i);if(po(a))_e(e,t,ml.Diagnostic.typeUnknown().format({name:o}),r);else if(La(a)&&(!s||!vo(i)||!i.isEmptyContainer)){const n=new il;n.addMessage(ml.DiagnosticAddendum.typeOfSymbol().format({name:o,type:ai(a,!0)})),_e(e,t,ml.Diagnostic.typePartiallyUnknown().format({name:o})+n.getString(),r)}}function Ct(e){let t=!1;if(33===e.nodeType){const n=$(e.iterableExpression);n.isIncomplete&&(t=!0);const i=ae(Qo(n.type),!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,i,!!n.isIncomplete,e.iterableExpression)}else w(34===e.nodeType),c.isSpeculative(e.testExpression)||$(e.testExpression);return t}function wt(e,t,n){let i=!1;for(const t of e.forIfNodes)Ct(t)&&(i=!0);let r=Ys.create();if(17===e.expression.nodeType){const s=$(e.expression.keyExpression,n);s.isIncomplete&&(i=!0);let o=s.type;n&&oa(n)||(o=Qo(o));const a=$(e.expression.valueExpression,t);a.isIncomplete&&(i=!0);let l=a.type;t&&oa(t)||(l=Qo(l)),r=Ue([o,l])}else if(16===e.expression.nodeType)$(e.expression.expandExpression,t);else if(yr(e)){const n=$(e.expression,t);n.isIncomplete&&(i=!0),r=n.type}return{type:r,node:e,isIncomplete:i}}function Et(e,t){if(e.typeList){if(!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.typeArgListNotAllowed(),e.node),!1;e.typeList.forEach((e=>{Et(e)}))}if(ca(e.type)&&!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.ellipsisContext(),e.node),!1;if(To(e.type))return fe(ml.Diagnostic.moduleAsType(),e.node),!1;if(wo(e.type)&&!(null==t?void 0:t.allowParamSpec))return fe(ml.Diagnostic.paramSpecContext(),e.node),!1;if(Io(e.type)&&!e.type.isVariadicInUnion){if(!(null==t?void 0:t.allowVariadicTypeVar))return fe(ml.Diagnostic.typeVarTupleContext(),e.node),!1;Oe(e.type,e.node)}return!(null==t?void 0:t.allowEmptyTuple)&&e.isEmptyTupleShorthand?(fe(ml.Diagnostic.zeroLengthTupleNotAllowed(),e.node),!1):!(xo(e.type)&&!(null==t?void 0:t.allowUnpackedTuples)&&(fe(ml.Diagnostic.unpackedArgInTypeArgument(),e.node),1))}function kt(e,t,n){const i=Cn(e,t);return vo(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Nt(e,t,n){const i=xn(e,t);return _o(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Ot(e,t,n,i=!1,r=!1){const s=Zs.isTupleClass(e);if(t)if(s&&1===t.length&&t[0].isEmptyTupleShorthand)t=[];else{let e=!1;const r=t=>{e&&(o||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),t.node),o=!0)),e=!0};let o=!1;t.forEach(((e,o)=>{ca(e.type)?s?2!==t.length||1!==o?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):bo(t[0].type)&&Io(t[0].type)&&!t[0].type.isVariadicInUnion&&fe(ml.Diagnostic.typeVarTupleContext(),t[0].node):fe(ml.Diagnostic.ellipsisContext(),e.node):wo(e.type)&&i||(Io(e.type)&&void 0===n?(r(e),Oe(e.type,e.node)):void 0===n&&Co(e.type)?(r(e),Et(e,{allowUnpackedTuples:!0})):Et(e))}))}let o,a=t?t.map((e=>Fa(e.type))):[];if(void 0!==n)if(t&&a.length>n)fe(ml.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&&ca(a[t])?1!==n.length||n[0].isUnbounded?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):n[0]={type:n[0].type,isUnbounded:!0}:xo(e.type)&&e.type.tupleTypeArguments?n.push(...e.type.tupleTypeArguments):n.push({type:a[t],isUnbounded:!1})})):n.push({type:Ys.create(),isUnbounded:!0}),o=Va(e,n,void 0!==t,!1)}else o=Zs.cloneForSpecialization(e,a,void 0!==t);return r||Ks.setSpecialForm(o),o}function Ut(e,t){var n,i,r,s;const o=Er(e,!0);if(o){const l=$t(o);if(l&&Zs.isEnumClass(l.classType)){let o=3===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.leftExpression===e||54===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.valueExpression===e&&3===(null===(r=e.parent.parent)||void 0===r?void 0:r.nodeType)||Vt(e).isStubFile&&54===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&e.parent.valueExpression===e;(a=e.value).length>2&&a.startsWith("_")&&a.endsWith("_")&&(o=!1),"name"!==e.value&&"value"!==e.value||(o=!1);const c=t();if(vo(c)&&c.details.fields.get("__get__")&&(o=!1),o)return Zs.cloneAsInstance(Zs.cloneWithLiteral(l.classType,new Hs(l.classType.details.name,e.value,c)))}}var a}function qt(e,t,n){if(!Ks.isInstantiable(e))return e;if(ea(e))return e;let i=[];bo(e)&&!Ks.isAnnotated(e)||Jo(e,(e=>{Ia(i,Sa(e))})),i=i.filter((e=>!e.details.isSynthesized)),i=i.map((e=>Ks.isInstance(e)?e:Fa(e)));const r=i.filter((e=>Io(e)));r.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyAlias().format({names:r.map((e=>`"${e.details.name}"`)).join(", ")}),n);const s=Vt(t),o=Pe(t),a=i.filter((e=>e.scopeId!==o&&0===e.scopeType));return a.length>0&&fe(ml.Diagnostic.genericTypeAliasBoundTypeVar().format({names:a.map((e=>`${e.details.name}`)).join(", ")}),n),Ks.cloneForTypeAlias(e,t.value,`${s.moduleName}.${t.value}`,o,i.length>0?i:void 0)}function Bt(e,t,n){const i=Vt(e);let r=Zs.createInstantiable(t,br(e,i.moduleName,t),i.moduleName,i.filePath,3,0,void 0,void 0);i.isTypingExtensionsStubFile&&(r.details.flags|=65536);const s=n.alias||"object";let o;if("builtins"===n.module)o=xn(e,s);else if("collections"===n.module)o=ue(e,s,["collections"]);else if("self"===n.module){const t=wn(e,s,!1);t&&(o=Nn(t.symbol),_o(o)&&Zs.isBuiltIn(o,"_TypedDict")&&(o.details.flags&=-513))}return o&&_o(o)?n.alias?r=Zs.cloneForTypingAlias(o,t):(r.details.baseClasses.push(o),r.details.effectiveMetaclass=o.details.effectiveMetaclass,Ha(r)):(r.details.baseClasses.push(Ys.create()),r.details.effectiveMetaclass=Ys.create(),Ha(r)),r}function Wt(e){var t;const n=Vt(e);if(F(e,0))return;let i,r=F(e.rightExpression,0),s=!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 io.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?($(e.rightExpression),Bt(e,t,n)):void 0}(e),r&&N(e.rightExpression,r,0,!1)),!r)){const l=se(e.leftExpression,{method:"set"});let c,u=0;n.isStubFile&&(u|=256),38!==e.rightExpression.nodeType&&35!==e.rightExpression.nodeType||(u|=2);let p,d=!1;if(re(e.leftExpression))u|=232,u&=-3,c=e.leftExpression.valueExpression;else if(38===e.leftExpression.nodeType){const t=wn(e.leftExpression,e.leftExpression.value,!1);if(t){const n=t.symbol.getDeclarations();1===n.length&&os(n[0])&&(c=e.leftExpression,d=!0)}}if(c){p=oo.createInstantiable(`__type_alias_${c.value}`),p.details.isSynthesized=!0,p.details.recursiveTypeAliasName=c.value;const t=Pe(c);p.details.recursiveTypeAliasScopeId=t,p.scopeId=t,N(e,p,void 0,!1),N(e.leftExpression,p,void 0,!1),54===e.leftExpression.nodeType&&N(e.leftExpression.valueExpression,p,void 0,!1)}const h=$(e.rightExpression,l,u);let m=h.type;i=h.expectedTypeDiagAddendum,h.isIncomplete&&(s=!0);const f=Xc(e.rightExpression,n.executionEnvironment);if(void 0!==f){const t=Cn(e,"bool");vo(t)&&(m=Zs.cloneWithLiteral(t,f))}l&&Jn(l,m)&&(ho(m)||(m=ni(l,m))),r=m,38!==e.leftExpression.nodeType||e.typeAnnotationComment||(r=Ut(e.leftExpression,(()=>r))||r),c&&(M(e),M(e.leftExpression),54===e.leftExpression.nodeType&&M(e.leftExpression.valueExpression),(!d||Ks.isInstantiable(r)&&!po(r))&&(r=qt(r,c,e.rightExpression),o=p,(9!==(a=r).category?a===o||mo(a)&&a.typeAliasInfo&&a.typeAliasInfo.name===o.details.recursiveTypeAliasName:void 0!==Mo(a,(e=>Ao(o,e))))&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveDirect().format({name:c.value}),e.rightExpression),p.details.boundType=r,p.details.recursiveTypeParameters=null===(t=r.typeAliasInfo)||void 0===t?void 0:t.typeParameters),p.details.illegalRecursionDetected&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveIndirect().format({name:c.value}),e.leftExpression))}var o,a;xe(e.leftExpression,r,s,e.rightExpression,!0,!0,i),N(e,r,0,s)}function jt(e){if(F(e,0))return;const t=ht(e,void 0);xe(e.destExpression,t.type,!!t.isIncomplete,e.rightExpression),N(e,t.type,0,!!t.isIncomplete)}function $t(e){const t=F(e.name,0);if(t){if(!_o(t))return;return{classType:t,decoratedType:F(e,0)||Ys.create()}}const n=zs(e),i=Vt(e);let r=0;(4===(null==n?void 0:n.type)||i.isTypingStubFile||i.isTypingExtensionsStubFile||i.isBuiltInStubFile)&&(r|=1,i.isTypingExtensionsStubFile&&(r|=65536),"property"===e.name.value&&(r|=2048),"tuple"===e.name.value&&(r|=524288)),i.isStubFile&&(r|=8388608);const s=Zs.createInstantiable(e.name.value,br(e,i.moduleName,e.name.value),i.moduleName,i.filePath,r,0,void 0,void 0,qr(e.suite.statements));s.details.typeVarScopeId=Pe(e);const o=null==n?void 0:n.lookUpSymbol(e.name.value);let a;const l=Mt(e);l&&(a=l),a&&o&&B(o,a,s),s.details.flags|=131072,N(e,s,void 0,!1),N(e.name,s,void 0,!1);const c=[];let u;const p=[];let d,h=272960;i.isStubFile&&(h|=4),e.arguments.forEach((e=>{if(e.name)if("metaclass"===e.name.value)d?fe(ml.Diagnostic.metaclassDuplicate(),e):d=e.valueExpression;else if("total"===e.name.value&&Zs.isTypedDictClass(s)){const t=Xc(e.valueExpression,i.executionEnvironment);void 0===t?fe(ml.Diagnostic.typedDictTotalParam(),e.valueExpression):t||(s.details.flags|=256)}else p.push({argumentCategory:0,node:e,name:e.name,valueExpression:e.valueExpression});else{let t=$(e.valueExpression,void 0,h).type;if(fo(t)&&(t=Ro(t)),ho(t)||mo(t)||(_o(t)?(Zs.isBuiltIn(t,"Protocol")&&(!i.isStubFile&&!Zs.isTypingExtensionClass(t)&&i.executionEnvironment.pythonVersion=De.V3_6&&Zs.isBuiltIn(t,"NamedTuple")&&(s.details.flags|=16777220),Zs.isBuiltIn(t,"TypedDict")||Zs.isTypedDictClass(t)?s.details.flags|=128:Zs.isTypedDictClass(s)&&!Zs.isTypedDictClass(t)&&fe(ml.Diagnostic.typedDictBaseClass(),e),Da(t,s,!0)&&(fe(ml.Diagnostic.baseClassCircular(),e),t=Ys.create())):(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.baseClassInvalid(),e),t=Ys.create())),po(t)&&_e(i.diagnosticRuleSet.reportUntypedBaseClass,$o.reportUntypedBaseClass,ml.Diagnostic.baseClassUnknown(),e),s.details.baseClasses.some((e=>_o(e)&&_o(t)&&Zs.isSameGenericClass(t,e)))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.duplicateBaseClass(),e.name||e),s.details.baseClasses.push(t),_o(t)&&(Zs.isEnumClass(t)&&(s.details.flags|=1048576),(Zs.supportsAbstractMethods(t)||Zs.isProtocolClass(t)&&!Zs.isBuiltIn(t))&&(s.details.flags|=512),Zs.isPropertyClass(t)&&(s.details.flags|=2048),Zs.isFinal(t))){const n=oi(t);fe(ml.Diagnostic.baseClassFinal().format({type:n}),e.valueExpression)}Ia(c,Sa(t)),_o(t)&&Zs.isBuiltIn(t,"Generic")&&(u||(u=[],Ia(u,Sa(t))))}})),s.details.baseClasses.length>1&&s.details.baseClasses.some((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedTupleMultipleInheritance(),e.name),Zs.isBuiltIn(s,"object")||0!==s.details.baseClasses.filter((e=>yo(e))).length||s.details.baseClasses.push(xn(e,"object")),u&&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 il;t.addMessage(ml.DiagnosticAddendum.typeVarsMissing().format({names:i.map((e=>`"${e.details.name}"`)).join(", ")})),_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarsNotInGeneric()+t.getString(),e)}}(e.name,c,u),s.details.typeParameters=u||c;const m=s.details.typeParameters.filter((e=>Io(e)));m.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyClass().format({names:m.map((e=>`"${e.details.name}"`)).join(", ")}),e.name,dt.combine(e.arguments)||e.name),Ha(s)||fe(ml.Diagnostic.methodOrdering(),e.name);const f=zs(e.suite);s.details.fields=(null==f?void 0:f.symbolTable)||new Map;const y=null==f?void 0:f.getSlotsNames();if(y&&(s.details.localSlotsNames=y),Zs.isTypedDictClass(s)&&fl(li,e,s),!i.isStubFile&&0===s.details.typeParameters.length){const t=s.details.fields.get("__init__");if(t){const n=t.getTypedDeclarations();if(1===n.length&&3===n[0].type){const t=n[0].node,i=t.parameters;if(i.length>1&&!i.some(((e,n)=>!!ie(t,n)))){const n=i.filter(((e,t)=>t>0&&e.name&&0===e.category));n.length>0&&(s.details.flags|=16384,s.details.typeParameters=n.map((n=>{const i=oo.createInstance(`__type_of_${n.name.value}`);return i.details.isSynthesized=!0,i.scopeId=Pe(t),i.details.boundType=Ys.create(),oo.cloneForScopeId(i,Pe(e),e.name.value,0)})))}}}}if(0!==s.details.typeParameters.length||Zs.isBuiltIn(s,"type")||(s.details.baseClasses.some((e=>_o(e)&&Zs.hasCustomClassGetItem(e)))||s.details.fields.has("__class_getitem__"))&&(s.details.flags|=262144),d){const e=$(d,void 0,h).type;(_o(e)||po(e))&&($a(e)&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassIsGeneric(),d),s.details.declaredMetaclass=e,_o(e)&&(Zs.isBuiltIn(e,"EnumMeta")?s.details.flags|=1048576:Zs.isBuiltIn(e,"ABCMeta")&&(s.details.flags|=512)))}let v=s.details.declaredMetaclass,T=!1;if(!v||_o(v))for(const t of s.details.baseClasses){if(!_o(t)){v=Ys.create();break}{const n=t.details.effectiveMetaclass||_;if(!n||!_o(n)){v=n?Ys.create():void 0;break}v?Da(n,v,!1)?v=n:Da(v,n,!1)||T||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassConflict(),e.name),T=!0):v=n}}if(!v){const t=xn(e,"type");v=t&&_o(t)?t:Ys.create()}s.details.effectiveMetaclass=v;let b,I=s,S=!1;for(let t=e.decorators.length-1;t>=0;t--){const n=e.decorators[t],r=Ht(I,s,n);Oa(r)?S||(_e(i.diagnosticRuleSet.reportUntypedClassDecorator,$o.reportUntypedClassDecorator,ml.Diagnostic.classDecoratorTypeUnknown(),e.decorators[t].expression),S=!0):I=r}if(_o(v)&&v.details.classDataClassTransform)b=v.details.classDataClassTransform;else{const e=s.details.mro.find((e=>yo(e)&&void 0!==e.details.classDataClassTransform));e&&(b=e.details.classDataClassTransform)}if(b&&(Wu(s,b),Bu(li,s,p)),s.details.flags&=-131073,Zs.isDataClass(s)){const t=Zs.isSkipSynthesizedDataClassInit(s);let n=t;if(!t){const e=va(s,"__init__",2);if(e){const t=Bn(e);Eo(t)&&Xs.isSynthesizedMethod(t)||(n=!0)}}let i=!1;const r=va(s,"__hash__",2);if(r){const e=Bn(r);Eo(e)&&!Xs.isSynthesizedMethod(e)&&(i=!0)}!function(e,t,n,i,r,s){w(Zs.isDataClass(n));const o=Aa(n,!0),a=Xs.createInstance("__new__","","",65),l=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(a),a.details.declaredReturnType=Fa(o);const c={category:0,name:"self",type:Aa(n,!1),hasDeclaredType:!0};Xs.addParameter(l,c),l.details.declaredReturnType=to.createInstance();const u=[],p=[],d=function(e,t){let n=!0;for(let i=e.details.mro.length-1;i>=0;i--){const r=e.details.mro[i];if(_o(r)){const e=wa(r,!1);Zs.getDataClassEntries(r).forEach((n=>{const i=t.findIndex((e=>e.name===n.name)),r={...n};r.type=fa(r.type,e),n.isClassVar?i>=0&&t.splice(i,1):i>=0?t[i]=r:t.push(r)}))}else n=!1}return n}(n,p);d||Xs.addDefaultParameters(l);const h=[];let m=!1;t.suite.statements.forEach((r=>{47===r.nodeType&&r.statements.forEach((r=>{var s;let o,a,l,c,d=!1,f=Zs.isDataClassKeywordOnlyParams(n)||m,g=!0;if(3===r.nodeType){if(54===r.leftExpression.nodeType&&38===r.leftExpression.valueExpression.nodeType&&(o=r.leftExpression.valueExpression,l=()=>e.getTypeOfAnnotation(r.leftExpression.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0})),d=!0,c=r.rightExpression,9===r.rightExpression.nodeType){const i=e.getTypeOfExpression(r.rightExpression.leftExpression,void 0,2).type;if(function(e,t){let n;return Eo(e)?n=e.details.fullName:ko(e)?n=e.overloads[0].details.fullName:_o(e)&&(n=e.details.fullName),!!n&&t.some((e=>e===n))}(i,(null===(s=n.details.dataClassBehaviors)||void 0===s?void 0:s.fieldDescriptorNames)||[])){const n=r.rightExpression.arguments.find((e=>{var t;return"init"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(n&&n.valueExpression)!1===Xc(n.valueExpression,Vt(t).executionEnvironment)&&(g=!1);else{let t;if(Eo(i))t=i;else if(ko(i))t=e.getBestOverloadForArguments(r.rightExpression,i,r.rightExpression.arguments);else if(_o(i)){const n=e.getBoundMethod(i,"__init__");n&&(Eo(n)?t=n:ko(n)&&(t=e.getBestOverloadForArguments(r.rightExpression,n,r.rightExpression.arguments)))}if(t){const e=t.details.parameters.find((e=>"init"===e.name));e&&e.defaultValueExpression&&e.hasDeclaredType&&yo(e.type)&&Zs.isBuiltIn(e.type,"bool")&&ra(e.type)&&!1===e.type.literalValue&&(g=!1)}}const s=r.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=Xc(s.valueExpression,Vt(t).executionEnvironment);!1===e?f=!1:!0===e&&(f=!0)}const o=r.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)}));d=!!o,(null==o?void 0:o.valueExpression)&&(c=o.valueExpression);const l=r.rightExpression.arguments.find((e=>{var t;return"alias"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(l){const t=e.getTypeOfExpression(l.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)&&(a=t.literalValue)}}}}else if(54===r.nodeType&&38===r.valueExpression.nodeType&&(o=r.valueExpression,l=()=>e.getTypeOfAnnotation(r.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0}),"_"===r.valueExpression.value)){const e=l();vo(e)&&Zs.isBuiltIn(e,"KW_ONLY")&&(m=!0,o=void 0,l=void 0)}if(o&&l){const t=o.value,r=n.details.fields.get(t),s=null==r?void 0:r.getDeclarations().some((e=>1===e.type&&e.isFinal));if((null==r?void 0:r.isClassVar())&&!s){const e=p.findIndex((e=>e.name===t));e>=0&&p.splice(e,1);const i={name:t,classType:n,alias:a,isKeywordOnly:!1,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!0};u.push(i)}else{const r={name:t,classType:n,alias:a,isKeywordOnly:f,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!1};h.push({entry:r,evaluator:l});let s=u.findIndex((e=>e.name===t));if(s>=0?u[s]=r:u.push(r),s=p.findIndex((e=>e.name===t)),s>=0){const e=p[s];!r.hasDefault&&e.hasDefault&&(r.hasDefault=!0,r.defaultValueExpression=e.defaultValueExpression,d=!0),p[s]=r}else p.push(r),s=p.length-1;if(!f&&g&&!i&&!d){const t=p.findIndex((e=>e.hasDefault&&e.includeInInit&&!e.isKeywordOnly));t>=0&&t{e.entry.type=e.evaluator()}));const f=n.details.fields,g=[];i||r||!d||(p.forEach((t=>{var i;if(t.includeInInit){let r=t.type;if(t.classType!==n&&$a(r)){const e=new jo(na(t.classType));ma(e,t.classType,n),r=fa(r,e)}(null===(i=n.details.dataClassBehaviors)||void 0===i?void 0:i.transformDescriptorTypes)&&(r=function(e,t){if(!vo(t))return t;const n=_a(t,"__set__");if(!n)return t;const i=e.getTypeOfMember(n);if(!Eo(i))return t;const r=e.bindFunctionToClassOrObject(t,i);return!r||!Eo(r)||r.details.parameters.length<2?t:Xs.getEffectiveParameterType(r,1)}(e,r));const s={category:0,name:t.alias||t.name,hasDefault:t.hasDefault,defaultValueExpression:t.defaultValueExpression,type:r,hasDeclaredType:!0};t.isKeywordOnly?g.push(s):Xs.addParameter(l,s)}})),g.length>0&&(Xs.addParameter(l,{category:1,type:io.create()}),g.forEach((e=>{Xs.addParameter(l,e)}))),f.set("__init__",qo.createWithType(4,l)),f.set("__new__",qo.createWithType(4,a)));const y=e.getBuiltInType(t,"str"),_=e.getBuiltInType(t,"tuple");if(_&&_o(_)&&y&&_o(y)&&!f.has("__match_args__")){const e=[];p.forEach((t=>{t.includeInInit&&!t.isKeywordOnly&&e.push(t.name)}));const t=e.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(y,e)),isUnbounded:!1}))),n=Zs.cloneAsInstance(Va(_,t));f.set("__match_args__",qo.createWithType(4,n))}const v=(n,i)=>{const r=Xs.createInstance(n,"","",64);Xs.addParameter(r,c),Xs.addParameter(r,{category:0,name:"other",type:i,hasDeclaredType:!0}),r.details.declaredReturnType=e.getBuiltInObject(t,"bool"),f.set(n,qo.createWithType(4,r))};if(Zs.isSkipSynthesizedDataClassEq(n)||v("__eq__",e.getBuiltInObject(t,"object")),Zs.isSynthesizedDataclassOrder(n)){const e=Zs.cloneAsInstance(n);["__lt__","__le__","__gt__","__ge__"].forEach((t=>{v(t,e)}))}let T=!Zs.isSkipSynthesizedDataClassEq(n)&&Zs.isFrozenDataClass(n);const b=!Zs.isSkipSynthesizedDataClassEq(n)&&!Zs.isFrozenDataClass(n);if(s&&(T=!1),Zs.isSynthesizeDataClassUnsafeHash(n)&&(T=!0),T){const n=Xs.createInstance("__hash__","","",64);Xs.addParameter(n,c),n.details.declaredReturnType=e.getBuiltInObject(t,"int"),f.set("__hash__",qo.createWithType(4,n))}else b&&!s&&f.set("__hash__",qo.createWithType(4,to.createInstance()));let I=e.getBuiltInType(t,"dict");_o(I)&&(I=Zs.cloneAsInstance(Zs.cloneForSpecialization(I,[e.getBuiltInObject(t,"str"),io.create()],!0))),f.set("__dataclass_fields__",qo.createWithType(4,I)),Zs.isGeneratedDataClassSlots(n)&&void 0===n.details.localSlotsNames&&(n.details.localSlotsNames=u.map((e=>e.name))),Uu(n,p.map((e=>e.type)),!0)}(li,e,s,t,n,i)}if(s.details.localSlotsNames){let e=!0;const t=[...s.details.localSlotsNames];s.details.baseClasses.forEach((n=>{_o(n)?Zs.isBuiltIn(n,"object")||Zs.isBuiltIn(n,"type")||Zs.isBuiltIn(n,"Generic")||(void 0===n.details.inheritedSlotsNames?e=!1:t.push(...n.details.inheritedSlotsNames)):e=!1})),e&&(s.details.inheritedSlotsNames=t)}return N(e.name,s,0,!1),N(e,I,0,!1),function(e,t,n){const i=n.length>0?n[0].node.name:e.name,r=Ne(i,t,"__init_subclass__",{method:"get"},void 0,133,t);if(r){const e=r.type;e&&et(i,n,e,void 0,!1,to.createInstance())}else if(t.details.effectiveMetaclass&&yo(t.details.effectiveMetaclass)){const r=va(t.details.effectiveMetaclass,"__new__",32);if(r){const t=Bn(r);if(Eo(t)){const r=Ho(t);if(void 0!==r.firstKeywordOnlyIndex){const s=new Map;for(let e=r.firstKeywordOnlyIndex;e{var o,a,l;if(0===n.argumentCategory&&n.name){const c=null!==(o=s.get(n.name.value))&&void 0!==o?o:r.kwargsIndex;if(void 0!==c){const e=r.params[c];st({paramCategory:e.param.category,paramType:Xs.getEffectiveParameterType(t,e.index),requiresTypeVarMatching:!1,argument:n,errorNode:null!==(a=n.valueExpression)&&void 0!==a?a:i},new jo,t,!0,!0,!1,void 0),s.delete(n.name.value)}else _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),null!==(l=n.name)&&void 0!==l?l:i)}}));const o=[];if(s.forEach(((e,t)=>{r.params[e].param.hasDefault||o.push(t)})),o.length>0){const e=o.map((e=>`"${e}"`)).join(", ");_e(Vt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===o.length?ml.Diagnostic.argMissingForParam().format({name:e}):ml.Diagnostic.argMissingForParams().format({names:e}),i)}}}}}n.forEach((e=>{e.valueExpression&&$(e.valueExpression)}))}(e,s,p),Zs.isBuiltIn(s,"UnionType")&&(g=Zs.cloneAsInstance(s)),{classType:s,decoratedType:I}}function Ht(e,t,n){let i=Vt(n).isStubFile?4:0;9!==n.expression.nodeType&&(i|=2);const r=$(n.expression,void 0,i).type;if(9===n.expression.nodeType){const e=$(n.expression.leftExpression,void 0,2|i).type;Eo(e)&&("__dataclass_transform__"!==e.details.name&&"dataclass_transform"!==e.details.builtInName||(t.details.classDataClassTransform=qu(li,n.expression)))}if(ko(r)){const n=Vu(r);if(n)return ju(li,t,n,void 0),e}else if(Eo(r)){if("final"===r.details.builtInName)return t.details.flags|=4096,e;if("runtime_checkable"===r.details.builtInName)return t.details.flags|=32768,e;let s,o;if(9===n.expression.nodeType?(o=n.expression,s=Vu($(o.leftExpression,void 0,2|i).type)):s=Vu($(n.expression,void 0,i).type),s)return ju(li,t,s,o),e}return J(n,e)}function Gt(e){const t=Vt(e),n=F(e.name,0);if(n){if(!Eo(n))return;return{functionType:n,decoratedType:F(e,0)||Ys.create()}}let i;const r=Mt(e);r&&(i=r);const s=Er(e,!0);let o;if(s){const e=$t(s);if(!e)return;o=e.classType}let a=en(e,!!s);(null==i?void 0:i.isGenerator)&&(a|=16),s&&"__class_getitem__"===e.name.value&&(a|=2),t.isStubFile?a|=2048:t.isInPyTypedPackage&&(a|=4096),e.isAsync&&(a|=512);const l=Xs.createInstance(e.name.value,function(e,t,n){const i=[n];let r=e;for(;r;)r=Dr(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}(e,t.moduleName,e.name.value),t.moduleName,a,qr(e.suite.statements));l.details.typeVarScopeId=Pe(e),(t.isBuiltInStubFile||t.isTypingStubFile||t.isTypingExtensionsStubFile)&&(l.details.builtInName=e.name.value),l.details.declaration=i;const c=zs(e),u=null==c?void 0:c.lookUpSymbolRecursive(e.name.value);i&&u&&B(u.symbol,i,l),N(e,l,void 0,!1),N(e.name,l,void 0,!1);const p=o&&Zs.isPseudoGenericClass(o)&&"__init__"===e.name.value,d=[];let h=0,m=0;if(o&&0==(4&l.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&&fe(ml.Diagnostic.annotatedParamCountMismatch().format({expected:t,received:n}),e.functionAnnotationComment)}const f=e=>{if(e.name){const n=wn(e.name,e.name.value,!1);n&&we(t,n.symbol,e.name)}};let g=!0;if(e.parameters.forEach(((n,i)=>{let r,s,a,c,u=!1;if(n.name&&(0===i&&o&&(Xs.isClassMethod(l)||Xs.isInstanceMethod(l)||Xs.isConstructorMethod(l))||Xs.isAbstractMethod(l)||o&&Zs.isProtocolClass(o))&&f(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&&(s=o.details.typeParameters[h],h++),s){const e=Jt(n,s);e!==s&&(s=e,u=!0)}if(n.defaultValue&&(c=$(n.defaultValue,s,1).type),s){if(n.defaultValue&&c){const i=new il,r=new jo(l.details.typeVarScopeId);if(o&&void 0!==o.details.typeVarScopeId&&("__init__"!==e.name.value&&"__new__"!==e.name.value||r.addSolveForScope(o.details.typeVarScopeId)),!Jn(s,c,i,r)){const e=_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAssignmentMismatch().format({sourceType:ai(c),paramType:ai(s)})+i.getString(),n.defaultValue);if(u&&a){const t={action:"pyright.addoptionalforparam",offsetOfTypeNode:a.start+1};e&&e.addAction(t)}}}r=s}const y=0===n.category&&n.name&&Kt(n.name.value),_=0===n.category&&!n.name;i>0&&g&&!y&&!_&&Xs.addParameter(l,{category:0,type:Ys.create()}),y&&!_||(g=!1);let v=!1;r||(v=!0,r=Qt(e,l.details.flags,i,o));const T={category:n.category,name:n.name?n.name.value:void 0,hasDefault:!!n.defaultValue,defaultValueExpression:n.defaultValue,defaultType:c,type:null!=r?r:Ys.create(),typeAnnotation:a,hasDeclaredType:!!a,isTypeInferred:v};if(Xs.addParameter(l,T),n.name){const t=Xt(e,n.category,T.type);d.push(t)}else d.push(T.type)})),g&&l.details.parameters.length>0&&Xs.addParameter(l,{category:0,type:Ys.create()}),d.forEach(((t,n)=>{const i=e.parameters[n].name;i&&(po(t)&&(l.details.flags|=16384),N(i,t,0,!1))})),d.length>=2){const e=d[d.length-2],t=d[d.length-1];wo(e)&&"args"===e.paramSpecAccess&&wo(t)&&"kwargs"===t.paramSpecAccess&&(l.details.flags|=32768)}if(e.returnTypeAnnotation){l.details.declaredReturnType=Ys.create();const t=K(e.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else if(e.functionAnnotationComment){l.details.declaredReturnType=Ys.create();const t=K(e.functionAnnotationComment.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else t.isStubFile&&("__init__"===e.name.value?l.details.declaredReturnType=to.createInstance():l.details.declaredReturnType=Ys.create());(t.isStubFile||Or(e.suite))&&l.details.declaredReturnType&&vo(l.details.declaredReturnType)&&Zs.isBuiltIn(l.details.declaredReturnType,["Generator","AsyncGenerator","AwaitableGenerator"])&&(l.details.flags|=16);let y=e.isAsync?function(e,t){const n=Xs.clone(t);return t.details.declaredReturnType&&(n.details.declaredReturnType=nn(e,t.details.declaredReturnType,Xs.isGenerator(t))),n.details.flags|=1024,n}(e,l):l,_=!1;for(let n=e.decorators.length-1;n>=0;n--){const i=e.decorators[n],r=tn(y,l,i,e);Oa(r)?_||(_e(t.diagnosticRuleSet.reportUntypedFunctionDecorator,$o.reportUntypedFunctionDecorator,ml.Diagnostic.functionDecoratorTypeUnknown(),e.decorators[n].expression),_=!0):y=r}return Eo(y)&&(Xs.isOverloaded(y)&&e.parameters.forEach((e=>{f(e)})),y=function(e,t){let n;const i=Mt(e);i&&(n=i);const r=wn(e,e.name.value,!1);if(r){const i=r.symbol.getDeclarations(),s=i.findIndex((e=>e===n));if(s>0){for(let e=0;e{var i,r;const s=e.parameters[n];return(null===(i=s.name)||void 0===i?void 0:i.value)===(null===(r=t.name)||void 0===r?void 0:r.value)&&s.category===t.category}))){const t=i.parameters[n],s=null!==(r=t.typeAnnotation)&&void 0!==r?r:t.typeAnnotationComment;if(s){let t=G(s,e.parameters[n].category);const i=Vt(e);return i.isInPyTypedPackage&&!i.isStubFile&&(t=Ks.cloneForAmbiguousType(t)),t}}}}}const s=e.parameters[n].defaultValue;if(s){const t=$(s,void 0,1).type;let n;if(lo(t)?n=Oo([to.createInstance(),Ys.create()]):vo(t)&&Zs.isBuiltIn(t,["tuple","list","set","dict"])||(n=Qo(t)),n){const t=Vt(e);t.isInPyTypedPackage&&!t.isStubFile&&(n=Ks.cloneForAmbiguousType(n))}return n}}function Xt(e,t,n){switch(t){case 0:return n;case 1:return bo(n)&&n.paramSpecAccess?n:xo(n)?Zs.cloneForUnpacked(n,!1):T&&_o(T)?Zs.cloneAsInstance(Va(T,[{type:n,isUnbounded:!Io(n)}],!0,!0)):Ys.create();case 2:{if(bo(n)&&n.paramSpecAccess)return n;if(vo(n)&&Zs.isTypedDictClass(n)&&n.isUnpacked)return n;const t=xn(e,"dict"),i=Cn(e,"str");return _o(t)&&vo(i)?Zs.cloneAsInstance(Zs.cloneForSpecialization(t,[i,n],!0)):Ys.create()}}}function en(e,t){const n=Vt(e);let i=0;"__new__"===e.name.value&&t&&(i|=1),"__init_subclass__"===e.name.value&&t&&(i|=2);for(const r of e.decorators){let e=n.isStubFile?4:0;9!==r.expression.nodeType&&(e|=2);const s=$(r.expression,void 0,e).type;Eo(s)?"abstractmethod"===s.details.builtInName?t&&(i|=8):"final"===s.details.builtInName&&(i|=8192):_o(s)&&(Zs.isBuiltIn(s,"staticmethod")?t&&(i|=4):Zs.isBuiltIn(s,"classmethod")&&t&&(i|=2))}return i}function tn(e,t,n,i){let r=Vt(n).isStubFile?4:0;9!==n.expression.nodeType&&(r|=2);const s=$(n.expression,void 0,r).type;if((_o(s)&&Zs.isSpecialBuiltIn(s,"overload")||Eo(s)&&"overload"===s.details.builtInName)&&Eo(e))return e.details.flags|=256,t.details.flags|=256,e;if(9===n.expression.nodeType){const i=$(n.expression.leftExpression,void 0,2|r).type;if(Eo(i)&&("__dataclass_transform__"===i.details.name||"dataclass_transform"===i.details.builtInName))return t.details.decoratorDataClassBehaviors=qu(li,n.expression),e}let o=J(n,e);if(Eo(s)){if("abstractmethod"===s.details.builtInName)return e;if(35===n.expression.nodeType){const t=$(n.expression.leftExpression,void 0,2|r).type;if(ua(t)){const r=n.expression.memberName.value;if("setter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){if(!ua(t))return t;const r=t,s=r.details.flags;let o=!!r.isAsymmetricDescriptor;const a=Vt(i);if(i.parameters.length>=2){const t=e.getTypeAnnotationForParameter(i,1);if(t){const n=e.getGetterTypeFromProperty(r,!1);if(n&&!ho(n)){const i=e.getTypeOfAnnotation(t,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if("none"!==a.diagnosticRuleSet.reportPropertyTypeMismatch){const r=new il;e.canAssignType(n,i,r)||e.addDiagnostic(a.diagnosticRuleSet.reportPropertyTypeMismatch,$o.reportPropertyTypeMismatch,ml.Diagnostic.setterGetterTypeMismatch()+r.getString(),t)}Ao(n,i)||(o=!0)}}}const l=Zs.createInstantiable(r.details.name,r.details.fullName,r.details.moduleName,Vt(i).filePath,s,r.details.typeSourceId,r.details.declaredMetaclass,r.details.effectiveMetaclass);l.details.typeVarScopeId=r.details.typeVarScopeId,Ha(l);const c=Zs.cloneAsInstance(l);l.isAsymmetricDescriptor=o;const u=l.details.fields;r.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||u.set(t,e)}));const p=qo.createWithType(4,n);u.set("fset",p);const d=Xs.createInstance("__set__","","",64);Xs.addParameter(d,{category:0,name:"self",type:t,hasDeclaredType:!0});let h=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(h)&&h.details.isSynthesizedSelf&&(h=e.makeTopLevelTypeVarsConcrete(h)),Xs.addParameter(d,{category:0,name:"obj",type:Oo([h,to.createInstance()]),hasDeclaredType:!0}),d.details.declaredReturnType=to.createInstance();let m=Ys.create();n.details.parameters.length>=2&&0===n.details.parameters[1].category&&n.details.parameters[1].name&&(m=n.details.parameters[1].type),Xs.addParameter(d,{category:0,name:"value",type:m,hasDeclaredType:!0});const f=qo.createWithType(4,d);return u.set("__set__",f),c}(li,t,e,i)):e;if("deleter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){var r;if(!ua(t))return t;const s=t,o=Zs.createInstantiable(s.details.name,s.details.fullName,s.details.moduleName,Vt(i).filePath,s.details.flags,s.details.typeSourceId,s.details.declaredMetaclass,s.details.effectiveMetaclass);o.details.typeVarScopeId=s.details.typeVarScopeId,Ha(o);const a=Zs.cloneAsInstance(o);o.isAsymmetricDescriptor=null!==(r=s.isAsymmetricDescriptor)&&void 0!==r&&r;const l=o.details.fields;s.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||l.set(t,e)}));const c=qo.createWithType(4,n);l.set("fdel",c);const u=Xs.createInstance("__delete__","","",64);Xs.addParameter(u,{category:0,name:"self",type:t,hasDeclaredType:!0});let p=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(p)&&p.details.isSynthesizedSelf&&(p=e.makeTopLevelTypeVarsConcrete(p)),Xs.addParameter(u,{category:0,name:"obj",type:Oo([p,to.createInstance()]),hasDeclaredType:!0}),u.details.declaredReturnType=to.createInstance();const d=qo.createWithType(4,u);return l.set("__delete__",d),a}(li,t,e,i)):e}}}else if(_o(s)){if(Zs.isBuiltIn(s))switch(s.details.name){case"classmethod":case"staticmethod":{const t="classmethod"===s.details.name?2:4;if(Eo(e)&&0==(e.details.flags&t)){const n=Xs.clone(e);return n.details.flags&=-8,n.details.flags|=t,n}return e}}if(Zs.isPropertyClass(s)){if(Eo(e))return $u(li,e,n),Hu(li,n,s,e);if(vo(e)){const t=_a(e,"__call__");if(t){const i=Bn(t);if(Eo(i)||ko(i)){const t=ri(e,i);if(t&&Eo(t))return Hu(li,n,s,t)}}return Ys.create()}}}return Eo(e)&&Eo(o)&&(o=Xs.clone(o),Xs.isOverloaded(e)&&(o.details.flags|=256),o.details.docString||(o.details.docString=e.details.docString)),o}function nn(e,t,n){let i;if(vo(t)&&Zs.isBuiltIn(t))if("Generator"===t.details.name){const n=ce(e,"AsyncGenerator");if(n&&_o(n)){const e=[],r=t.typeArguments;r&&r.length>0&&e.push(r[0]),r&&r.length>1&&e.push(r[1]),i=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,e,!0))}}else["AsyncGenerator","AsyncIterator","AsyncIterable"].some((e=>e===t.details.name))&&(i=t);if(!i||!n){const n=ce(e,"Coroutine");i=n&&_o(n)?Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[io.create(),io.create(),t],!0)):Ys.create()}return i}function rn(e,t){var n;if(e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation))return;let r=F(e.suite,0);if(r)return r;if(!i.has(e.id)){i.set(e.id,!0);try{let n;const s=Mt(e);s&&(n=s);const o=!de(e),a=de(e.suite);if(Vt(e).isStubFile)r=Ys.create();else{if(o)r=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=$(t.typeExpression).type,n=_o(e)||vo(e)?e:void 0;if(!n||!Zs.isBuiltIn(n,"NotImplementedError"))return!1}return!0}(n)?Ys.create():no.createNoReturn();else{const e=[];(null==n?void 0:n.returnStatements)&&n.returnStatements.forEach((t=>{if(pe(t))if(t.returnExpression){const n=$(t.returnExpression).type;e.push(n||Ys.create())}else e.push(to.createInstance())})),!o&&a&&e.push(to.createInstance()),r=Oo(e),r=Ro(r)}if(null==n?void 0:n.isGenerator){const t=[];let i=!1;n.yieldStatements&&n.yieldStatements.forEach((e=>{if(pe(e))if(61===e.nodeType){const n=$(e.expression).type;if(vo(n)&&Zs.isBuiltIn(n,"Coroutine"))t.push(),i=!0;else{const i=ae(n,!1,e);t.push(i||Ys.create())}}else if(e.expression){const n=$(e.expression).type;t.push(n||Ys.create())}else t.push(to.createInstance())})),0===t.length&&t.push(to.createInstance());const s=Oo(t),o=ce(e,i?"AwaitableGenerator":"Generator");if(o&&_o(o)){const e=[];i&&e.push(io.create()),e.push(s,to.createInstance(),ao(r)?to.createInstance():r),r=Zs.cloneAsInstance(Zs.cloneForSpecialization(o,e,!0))}else r=Ys.create()}}N(e.suite,r,0,!1)}finally{i.delete(e.id)}}return r}function sn(e){if(F(e,0))return;const t=$(e.iterableExpression),n=ae(t.type,!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,n,!!t.isIncomplete,e.targetExpression),N(e,n,0,!!t.isIncomplete)}function on(e){if(w(void 0!==e.typeExpression),F(e,0))return;function t(e,t){return ho(e=Ie(e))?e:_o(e)?Zs.cloneAsInstance(e):vo(e)?Ko(ae(e,!1,t)||Ys.create(),(e=>ho(e)?e:Ys.create())):Ys.create()}const n=Ko($(e.typeExpression).type,(n=>{const i=ia(n);return i&&i.tupleTypeArguments?Oo(i.tupleTypeArguments.map((n=>t(n.type,e.typeExpression)))):t(n,e.typeExpression)}));e.name&&xe(e.name,n,!1,e.name),N(e,n,0,!1)}function an(e){if(F(e,0))return;const t=$(e.expression);let n=t.type;const i=e.parent&&58===e.parent.nodeType&&!!e.parent.isAsync;Go(n)&&(_e(Vt(e).diagnosticRuleSet.reportOptionalContextManager,$o.reportOptionalContextManager,ml.Diagnostic.noneNotUsableWith(),e.expression),n=Fo(n));const r=i?"__aenter__":"__enter__",s=Ko(n,(t=>{var n;if(ho(t=Ie(t)))return t;const s=new il,o=new il;if(vo(t)){const a=null===(n=ee(e.expression,t,r,{method:"get"},s))||void 0===n?void 0:n.type;if(a){let t;return t=Eo(a)?Un(a):Ys.create(),i&&(t=oe(t,e)),t}i||ee(e.expression,t,"__aenter__",{method:"get"},s)&&o.addMessage(ml.DiagnosticAddendum.asyncHelp())}return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:r})+o.getString(),e.expression),Ys.create()})),o=i?"__aexit__":"__exit__";Jo(n,(t=>{if(ho(t=Ie(t)))return;const n=new il;vo(t)&&ee(e.expression,t,o,{method:"get"},n)||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:o}),e.expression)})),e.target&&xe(e.target,s,!!t.isIncomplete,e.target),N(e,s,0,!!t.isIncomplete)}function ln(e){if(F(e,0))return;let t;if(t=e.alias?e.alias:e.module.nameParts[0],!t)return;let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function cn(t){var n;if(F(t,0))return;const i=t.alias||t.name,r=Vt(t);if((null===(n=t.alias)||void 0===n?void 0:n.value)===t.name.value){const e=wn(t,t.name.value,!0);e&&we(r,e.symbol,t)}let s=dn(t,i.value);if(!s){const n=t.parent;w(n&&22===n.nodeType),w(!n.isWildcardImport);const i=Rt(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,r.executionEnvironment.pythonVersion>=De.V3_7||r.isStubFile){const e=o.symbolTable.get("__getattr__");if(e){const t=Nn(e);Eo(t)&&(s=Un(t),a=!1)}}}else n||(a=!0);a&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.importSymbolUnknown().format({name:t.name.value,moduleName:i.importName}),t.name)}s||(s=Ys.create())}Te(i,s,!1),N(t,s,0,!1)}function un(e){if(F(e,0))return;if(!e.parent||63!==e.parent.nodeType)return void E("Expected parent of case statement to be match statement");const t=$(e.parent.subjectExpression);let n=t.type;for(const t of e.parent.cases){if(t===e)break;t.guardExpression||(n=fu(li,n,t.pattern,!1))}let i=!1;Jo(Ie(n),(e=>{vo(e)&&Zs.isBuiltIn(e,"object")&&(i=!0)})),n=fu(li,n,e.pattern,!0),bu(li,n,!!t.isIncomplete,i,e.pattern),N(e,n,0,!!t.isIncomplete)}function pn(e){if(F(e,0))return;const t=e.module.nameParts[0];let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function dn(e,n){const i=wn(e,n,!0);if(!i)return;const r=i.symbol.getDeclarations().filter((t=>Mr(e,t.node)&&6===t.type));let s=r.length>0?r[r.length-1]:void 0;if(s||(s=i.symbol.getDeclarations().find((e=>6===e.type))),!s)return;w(6===s.type);const o=Vt(e),a=Fn(s,!0,o.isStubFile);if(a){if(!a.declaration)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();if(23===e.nodeType&&(a.isPrivate&&_e(o.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:e.name.value}),e.name),a.privatePyTypedImporter)){const t=new il;a.privatePyTypedImported&&t.addMessage(ml.DiagnosticAddendum.privateImportFromPyTypedSource().format({module:a.privatePyTypedImported})),_e(o.diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:e.name.value,module:a.privatePyTypedImporter})+t.getString(),e.name)}return Pn(i.symbol,s)}}function hn(e){var t,n,i;let r=e,s=e;function o(e){var t,n,i,r,s;return 41===e.nodeType&&30===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||1===e.nodeType&&(9===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)||24===(null===(i=e.parent)||void 0===i?void 0:i.nodeType))||54===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)||41===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&(e===e.parent.typeAnnotation||e===e.parent.typeAnnotationComment)||9===e.nodeType||24===e.nodeType||15===e.nodeType||27===e.nodeType||31===e.nodeType||30===e.nodeType||35===e.nodeType||45===e.nodeType||49===e.nodeType||48===e.nodeType||52===e.nodeType||56===e.nodeType||17===e.nodeType||16===e.nodeType||32===e.nodeType||33===e.nodeType||34===e.nodeType||65===e.nodeType||67===e.nodeType||68===e.nodeType||74===e.nodeType||66===e.nodeType||69===e.nodeType||70===e.nodeType||73===e.nodeType||71===e.nodeType||72===e.nodeType}if(38===e.nodeType&&e.parent){if(28===e.parent.nodeType&&e.parent.name===e)return void Gt(e.parent);if(10===e.parent.nodeType&&e.parent.name===e)return void $t(e.parent);if(29===e.parent.nodeType||39===e.parent.nodeType)return void $(e,void 0,4)}for(;s;){const e=o(s);if(!e&&!yr(s))break;e&&(r=s),s=s.parent}const a=r.parent;if(3===a.nodeType)return void(r===a.typeAnnotationComment?K(r,{isVariableAnnotation:!0,allowFinal:Fr(a.leftExpression),allowClassVar:Nr(a.leftExpression)}):Wt(a));if(14===a.nodeType)return void Ce(r);if(5===a.nodeType)return void jt(a);if(13===a.nodeType)return void(10===(null===(t=a.parent)||void 0===t?void 0:t.nodeType)?$t(a.parent):28===(null===(n=a.parent)||void 0===n?void 0:n.nodeType)&&Gt(a.parent));const l=e=>{const t=e.parent;if(3===(null==t?void 0:t.nodeType)&&t.leftExpression===a)Wt(t);else{const t=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});N(e.valueExpression,t,0,!1)}};if(64===a.nodeType&&r!==a.guardExpression)return void un(a);if(54===a.nodeType)return void l(a);if(41===a.nodeType&&r!==a.defaultValue)return void mn(a);if(28===a.nodeType&&(r===a.returnTypeAnnotation||r===a.functionAnnotationComment))return void K(r,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if(37===a.nodeType)return;if(1===a.nodeType&&r===a.name)return;if(1===a.nodeType&&10===(null===(i=a.parent)||void 0===i?void 0:i.nodeType))return void $t(a.parent);if(44===a.nodeType&&a.returnExpression){const t=kr(e),n=t?Vn(t):void 0;return void $(a.returnExpression,n,0)}const c=yr(a)&&0!==a.nodeType?a:r;54===c.nodeType?l(c):$(c,void 0,Vt(c).isStubFile?4:0)}function mn(e){if(!e.name)return;const t=e.parent;if(30===t.nodeType)return void hn(t);w(28===t.nodeType);const n=t,i=n.parameters.findIndex((t=>t===e)),r=ie(n,i);if(r){const t=n.parameters[i],s=G(r,n.parameters[i].category),o=Xt(e,e.category,Jt(t,s));return void N(e.name,o,0,!1)}const s=Er(n,!0);if(s){const t=$t(s);if(t){const r=Qt(n,en(n,!0),i,t.classType);if(r)return void N(e.name,Xt(e,e.category,r),0,!1)}}N(e.name,Xt(e,e.category,Ys.create()),0,!1)}function fn(e){z(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 Wt(t);break;case 4:return void $(t);case 5:return void jt(t);case 10:return void $t(t);case 41:return void mn(t);case 30:return void hn(t);case 28:return void Gt(t);case 26:return void sn(t);case 25:return void on(t);case 59:return void an(t);case 33:{const e=t.parent;if(w(32===e.nodeType),t===e.expression)hn(e);else for(const n of e.forIfNodes)if(Ct(n),n===t)break;return}case 21:return void ln(t);case 23:return void cn(t);case 22:return void pn(t);case 64:return void un(t)}t=t.parent}E("Unexpected statement")}function gn(e,t){let n=F(e,void 0);if(n)return{node:e,type:n};const i=C;try{if(C=new Map,t(),n=F(e,void 0),n)return{node:e,type:n};if(n=C.get(e.id),n)return{node:e,type:n,isIncomplete:!0};C=i}catch(e){throw C=i,e}}function yn(e){let t=r.get(e);return t||(t=ci.createCodeFlowAnalyzer(),r.set(e,t)),t}function _n(e,t,n,i,r){var s;const o=At(e),a=Rr(null!==(s=null==r?void 0:r.parent)&&void 0!==s?s:e),l=a.codeFlowExpressions;if(!l||!l.has(o))return{type:void 0,isIncomplete:!1};let c;c=L(a)?function(){const e=D.length;return w(e>0),D[e-1].codeFlowAnalyzer}():yn(a.id);const u=Lt(null!=r?r:e);return void 0===u?{type:void 0,isIncomplete:!1}:vn(c,u,e,t,n,i)}function vn(e,t,n,i,r,s){let o;d.enterTrackingScope();try{o=e.getTypeFromCodeFlow(t,n,i,r,s),d.exitTrackingScope()}catch(e){throw d.exitTrackingScope(),e}return o.isIncomplete&&d.enableUndoTracking(),o}function Tn(e,t,n,i){if(Zs.isSpecialBuiltIn(e)){const r=e.aliasName||e.details.name;switch(r){case"Callable":return function(e,t){const n=Xs.createInstantiable("","","",0);Ks.setSpecialForm(n),n.details.declaredReturnType=Ys.create();const i=Dr(t);if(n.details.typeVarScopeId=i?Pe(i):$s,e&&e.length>0){if(e[0].typeList){const t=e[0].typeList;let i=!1,r=!1;const s=e=>{i&&(r||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),e.node),r=!0)),i=!0};t.forEach(((e,t)=>{let i=e.type,r=0;const o=`__p${t.toString()}`;Io(i)?(Oe(i,e.node),r=1,s(e)):Et(e,{allowUnpackedTuples:!0})?xo(i)&&(r=1,s(e)):i=Ys.create(),Xs.addParameter(n,{category:r,name:o,isNameSynthesized:!0,type:Fa(i),hasDeclaredType:!0})})),Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()})}else if(ca(e[0].type))Xs.addDefaultParameters(n),n.details.flags|=32768;else if(wo(e[0].type))n.details.paramSpec=e[0].type;else if(_o(e[0].type)&&Zs.isBuiltIn(e[0].type,"Concatenate")){const t=e[0].type.typeArguments;t&&t.length>0&&t.forEach(((e,i)=>{i===t.length-1?(Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()}),wo(e)&&(n.details.paramSpec=e)):Xs.addParameter(n,{category:0,name:`__p${i}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})}))}else fe(ml.Diagnostic.callableFirstArg(),e[0].node);if(e.length>1){let t=e[1].type;Et(e[1])||(t=Ys.create()),n.details.declaredReturnType=Fa(t)}else _e(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.callableSecondArg(),t),n.details.declaredReturnType=Ys.create();e.length>2&&fe(ml.Diagnostic.callableExtraArgs(),e[2].node)}else Xs.addDefaultParameters(n,!0),n.details.flags|=32768;return n}(t,i);case"Never":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"Never"}),t[0].node),no.createNever();case"NoReturn":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"NoReturn"}),t[0].node),no.createNoReturn();case"Optional":return function(e,t,n,i){if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create()):e;if(n.length>1)return fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create();let r=n[0].type;Et(n[0])?Ks.isInstantiable(r)||(ve(r,n[0].node),r=Ys.create()):r=Ys.create();const s=Oo([r,to.createType()]);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Type":{if(1===(null==t?void 0:t.length)&&ho(t[0].type)&&_&&_o(_))return _;let n=Ot(e,t,1);return _o(n)&&(n=Ua(n)),n}case"ClassVar":return function(e,t,n,i){var r;if(131072&i)return fe(ml.Diagnostic.classVarNotAllowed(),t),io.create();if(!n)return e;if(0===n.length)return fe(ml.Diagnostic.classVarFirstArgMissing(),t),Ys.create();if(n.length>1)return fe(ml.Diagnostic.classVarTooManyArgs(),n[1].node),Ys.create();const s=n[0].type;return $a(s,!0,!0)&&_e(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classVarWithTypeVar(),null!==(r=n[0].node)&&void 0!==r?r:t),s}(e,i,t,n);case"Protocol":return Ot(e,t,void 0,!0);case"Tuple":return Ot(e,t,void 0);case"Union":return function(e,t,n,i){const r=[];if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.unionTypeArgCount(),t),no.createNever()):e;for(const e of n){let t=e.type;Et(e,{allowVariadicTypeVar:!0,allowUnpackedTuples:!0})?Ks.isInstantiable(t)||(ve(t,e.node),t=Ys.create()):t=Ys.create(),xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach((e=>{r.push(Na(e.type))})):(bo(t)&&Io(t)&&t.isVariadicUnpacked&&(t=oo.cloneForUnpacked(t,!0)),r.push(t))}1===r.length&&(Io(r[0])||Co(r[0])||lo(r[0])||fe(ml.Diagnostic.unionTypeArgCount(),t));const s=Oo(r);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Generic":return function(e,t,n,i){if(!n)return 0!=(263168&i)&&fe(ml.Diagnostic.genericTypeArgMissing(),t),e;const r=[];return n&&(0===n.length&&fe(ml.Diagnostic.genericTypeArgMissing(),t),n.forEach((e=>{bo(e.type)?(r.some((t=>Ao(t,e.type)))&&fe(ml.Diagnostic.genericTypeArgUnique(),e.node),r.push(e.type)):fe(ml.Diagnostic.genericTypeArgTypeVar(),e.node)}))),Ot(e,n,void 0,!0)}(e,i,t,n);case"Final":return function(e,t,n,i){return 16&i?(fe(ml.Diagnostic.finalContext(),t),io.create()):n&&0!==n.length?(n.length>1&&fe(ml.Diagnostic.finalTooManyArgs(),t),n[0].type):e}(e,i,t,n);case"Annotated":return function(e,t){return t&&t.length<2&&fe(ml.Diagnostic.annotatedTypeArgMissing(),e),t&&0!==t.length?Ks.cloneForAnnotated(t[0].type):io.create()}(i,t);case"Concatenate":return function(e,t,n){return n&&0!==n.length?n.forEach(((e,t)=>{t===n.length-1?wo(e.type)||fe(ml.Diagnostic.concatenateParamSpecMissing(),e.node):wo(e.type)&&fe(ml.Diagnostic.paramSpecContext(),e.node)})):fe(ml.Diagnostic.concatenateTypeArgsMissing(),e),Ot(t,n,void 0,!0)}(i,e,t);case"TypeGuard":case"StrictTypeGuard":return function(e,t,n,i){if(!n)return 0!=(1024&i)&&fe(ml.Diagnostic.typeGuardArgCount(),e),t;if(1!==n.length)return fe(ml.Diagnostic.typeGuardArgCount(),e),Ys.create();const r=n.map((e=>Fa(Et(e)?e.type:Ys.create())));return Zs.cloneForSpecialization(t,r,!0)}(i,e,t,n);case"Unpack":return function(e,t,n){if(!t||1!==t.length)return fe(ml.Diagnostic.unpackArgCount(),e),Ys.create();let i=t[0].type;fo(i)&&1===i.subtypes.length&&(i=i.subtypes[0]);const r=Vt(e);return 0!=(2097152&n)?_o(i)&&!i.includeSubclasses&&pa(i)?Zs.cloneForUnpacked(i):Io(i)&&!i.isVariadicUnpacked?oo.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypeVarTuple(),e),Ys.create()):0!=(8388608&n)?_o(i)&&Zs.isTypedDictClass(i)?Zs.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypedDict(),e),Ys.create()):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackNotAllowed(),e),Ys.create())}(i,t,n);case"Required":case"NotRequired":return function(e,t,n,i,r){var s;if(!i&&0==(1024&r))return e;if(!i||1!==i.length)return fe(n?ml.Diagnostic.requiredArgCount():ml.Diagnostic.notRequiredArgCount(),t),e;const o=i[0].type,a=Er(t,!0),l=a?$t(a):void 0;let c=!1;return l&&_o(l.classType)&&Zs.isTypedDictClass(l.classType)&&54===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&t.parent.typeAnnotation===t&&(c=!0),0!=(1048576&r)&&(c=!0),c?o:(fe(n?ml.Diagnostic.requiredNotInTypedDict():ml.Diagnostic.notRequiredNotInTypedDict(),t),Zs.cloneForSpecialization(e,[Fa(o)],!!i))}(e,i,"Required"===r,t,n);case"Self":return function(e,t,n){var i;const r=Vt(t);n&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.details.name}),null!==(i=n[0].node)&&void 0!==i?i:t);const s=Er(t),o=s?$t(s):void 0;if(!o)return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();const a=kr(t);if(a){if(4&en(a,!0))return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();if(a.parameters.length>0){const e=ie(a,0);if(e&&!Mr(t,e)){const n=K(e,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});bo(n)&&n.details.isSynthesizedSelf||_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeWithTypedSelfOrCls(),t)}}}return Aa(o.classType,!0)}(e,i,t);case"LiteralString":return Ot(e,t,0)}}const r=Vt(i);if(r.isStubFile||r.executionEnvironment.pythonVersion>=De.V3_9||H(Vt(i))||0!=(4&n)){if(Zs.isBuiltIn(e,"type")&&t){if(1===t.length&&ho(t[0].type))return e;const n=ce(i,"Type");if(n&&_o(n)){let e=Ot(n,t,1,void 0,!0);return _o(e)&&(e=Ua(e)),e}}if(pa(e))return Ot(e,t,void 0,void 0,!0)}let s=t?t.length:0;const o=Zs.isPseudoGenericClass(e)?[]:Zs.getTypeParameters(e);if(0===o.length&&0===s)return e;const a=o.findIndex((e=>Io(e)));if(t){if(s>o.length){if(!Zs.isPartiallyConstructed(e)&&!Zs.isTupleClass(e)){const n=Vt(i);0===o.length?_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.aliasName||e.details.name}),t[o.length].node):1===o.length&&wo(o[0])||_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:o.length,received:s}),t[o.length].node)}s=o.length}else s0?t[0].node.parent:i);t.forEach(((e,t)=>{if(t===a){if(vo(e.type)&&pa(e.type))return;if(Io(e.type))return void Oe(e.type,e.node)}const n=t!ca(e.type)&&!e.typeList&&!wo(e.type))))1===t.length&&_o(t[0].type)&&Zs.isBuiltIn(t[0].type,"Concatenate")||(t=[{type:Ys.create(),node:t[0].node,typeList:t}]);else if(t.length>1){const e=t.find((e=>wo(e.type)));e&&fe(ml.Diagnostic.paramSpecContext(),e.node);const n=t.find((e=>!!e.typeList));n&&fe(ml.Diagnostic.typeArgListNotAllowed(),n.node)}return c.forEach(((e,n)=>{if(t&&n{Xs.addParameter(i,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),void l.push(i);if(_o(e.type)&&Zs.isBuiltIn(e.type,"Concatenate")){const t=e.type.typeArguments;return t&&t.length>0&&t.forEach(((e,n)=>{n===t.length-1?wo(e)&&(i.details.paramSpec=e):Xs.addParameter(i,{category:0,name:`__p${n}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})})),void l.push(i)}}l.push(Fa(t[n].type))}else l.push(Ys.create())})),l=l.map(((e,n)=>{if(nGs)return t;if(r++,ho(t))return t;let s=t;if(bo(t)){if(Ao(t,e,void 0,void 0,r))return t;s=Ie(t)}if(e.details.boundType&&!Jn(e.details.boundType,s,n.createAddendum(),void 0,i,r))return void(e.details.isSynthesized||n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(s),destType:ai(e.details.boundType),name:oo.getReadableName(e)})));if(e.details.isParamSpec)return wo(t)||Eo(t)&&Xs.isParamSpecValue(t)||vo(t)&&Zs.isBuiltIn(t,"Concatenate")?t:void n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:oo.getReadableName(e)}));if(bo(t)&&t.details.isParamSpec)return void n.addMessage(ml.Diagnostic.paramSpecContext());const o=e.details.constraints;if(0===o.length)return t;if(bo(t)&&t.details.constraints.length>0){if(t.details.constraints.every((e=>o.some((t=>Jn(t,e,void 0,void 0,void 0,r))))))return t}else{let e;for(const t of o)Jn(t,s,void 0,void 0,void 0,r)&&(e&&!Jn(e,t,void 0,void 0,void 0,r)||(e=t));if(e)return e}n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:oo.getReadableName(e)}))}(o[n],e,i);r?e=r:vo(e)&&Zs.isPartiallyConstructed(e)||_e(Vt(t[n].node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarAssignmentMismatch().format({type:ai(e),name:oo.getReadableName(o[n])})+i.getString(),t[n].node)}return e})),Zs.cloneForSpecialization(e,l,void 0!==t)}function bn(e){return e.type?{type:e.type}:e.valueExpression?$(e.valueExpression):{type:Ys.create()}}function In(e){return e.type?{type:e.type}:Sn(e.valueExpression)}function Sn(e,t=!1,n=!1,i=!1){let r=131304;return Vt(e).isStubFile?r|=4:r|=4194304,t||(r|=16),n&&(r|=1048576),$(e,void 0,r)}function xn(e,t){const n=zs(e);if(n){const e=function(e){let t=e;for(;4!==t.type;)t=t.parent;return t}(n).lookUpSymbol(t);if(e)return Nn(e)}return Ys.create()}function Cn(e,t,n){const i=xn(e,t);if(_o(i)){let e=i;return n&&(e=Zs.cloneForSpecialization(e,n,void 0!==n)),Zs.cloneAsInstance(e)}return i}function wn(e,t,n,i=!1){var r;const s=zs(e);let o=null==s?void 0:s.lookUpSymbolRecursive(t);const a=null!==(r=null==s?void 0:s.type)&&void 0!==r?r:3;if(o&&n&&1!==a&&0!==a&&0===o.symbol.getDeclarations().filter((t=>{if(6!==t.type&&0!==t.type){const n=Rr(e),i=4===t.type||3===t.type?t.node.name:t.node;if(n===Rr(i)&&!he(i,e)){const t=Lt(e);return!(t&&ci.isFlowNodeReachable(t))}}return!0})).length&&(o=1!==o.scope.type&&o.scope.parent?o.scope.parent.lookUpSymbolRecursive(t,o.isOutsideCallerModule||3===o.scope.type,o.isBeyondExecutionScope||o.scope.isIndependentlyExecutable()):void 0),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 En(e,t){p.push(e);try{const e=t();return p.pop(),e}catch(e){throw p.pop(),e}}function kn(e,t,n=!0){c.enterSpeculativeContext(e,n);try{const e=t();return c.leaveSpeculativeContext(),e}catch(e){throw c.leaveSpeculativeContext(),e}}function Dn(e,t){if(Eo(e)&&e.details.declaration){const n=e.details.declaration;if(3===n.type){const e=Ft(n.node);if(e){const n=e.lookUpSymbol(t);if(n)return n.getDeclarations().find((e=>2===e.type))}}}}function An(e){var t,n;switch(e.type){case 0:{if("Any"===e.intrinsicType)return io.create();if("class"===e.intrinsicType){const t=$t(Er(e.node));return t?t.classType:void 0}const t=Cn(e.node,"str"),n=Cn(e.node,"int");if(vo(n)&&vo(t)){if("str"===e.intrinsicType)return t;if("str | None"===e.intrinsicType)return Oo([t,to.createInstance()]);if("int"===e.intrinsicType)return n;if("Iterable[str]"===e.intrinsicType){const n=xn(e.node,"Iterable");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t],!0))}if("Dict[str, Any]"===e.intrinsicType){const n=xn(e.node,"dict");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t,io.create()],!0))}}return Ys.create()}case 4:{const t=$t(e.node);return t?t.decoratedType:void 0}case 5:return K(e.node.typeAnnotation);case 3:{const t=Gt(e.node);return t?t.decoratedType:void 0}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=ie(t,i)}}if(n){const t=G(n,e.node.category);return Xt(e.node,e.node.category,Jt(e.node,t))}return}case 1:{const t=e.typeAnnotationNode;if(t){const i=re(t)?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):void 0;let r;if(e.isRuntimeTypeExpression)r=Fa(Sn(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;r=K(t,{isVariableAnnotation:!0,allowClassVar:Nr(i),allowFinal:Fr(i)})}if(r)return 38===e.node.nodeType&&(r=Ut(e.node,(()=>r))||r),i&&38===i.valueExpression.nodeType&&(r=qt(r,i.valueExpression,e.node)),r}return}case 6:return}}function Pn(n,i){var r,s;const o=Rn(i,!0,Vt(i.node).isStubFile);if(!o)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();function a(e,n,i){if(n.path&&n.loadSymbolsFromPath){const r=i(n.path);if(!r)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();e.fields=r.symbolTable,e.docString=r.docString}return n.implicitImports&&n.implicitImports.forEach(((t,n)=>{const r=e.moduleName?e.moduleName+"."+n:"",s=a(Qs.create(r,t.path),t,i),o=qo.createWithType(0,s);e.loaderFields.set(n,o)})),e}if(6===o.type){let t=o.moduleName;if(6===i.type&&(i.symbolName&&(t+="."+i.symbolName),t.startsWith("."))){const e=Vt(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=Qs.create(t,o.path);return o.symbolName&&o.submoduleFallback?a(n,o.submoduleFallback,e):a(n,o,e)}const l=An(o);if(l)return l;const c=Vt(o.node);let u=!c.isInPyTypedPackage||c.isStubFile;if(!u&&1===o.type){const e=Er(o.node,!0);if(e){const t=$t(e);t&&Zs.isEnumClass(t.classType)&&(u=!0)}(o.isFinal||o.isConstant)&&(u=!0)}if(2===o.type)return null===(r=gn(o.node.name,(()=>{mn(o.node)})))||void 0===r?void 0:r.type;if(1===o.type&&o.inferredTypeSource){const e=o.typeAliasName&&o.inferredTypeSource.parent?o.inferredTypeSource.parent:o.inferredTypeSource;let t=null===(s=gn(o.node,(()=>{fn(e)})))||void 0===s?void 0:s.type;if(t&&38===o.node.nodeType){const e=Ut(o.node,(()=>{var e;return(null===(e=gn(o.inferredTypeSource,(()=>{fn(o.inferredTypeSource)})))||void 0===e?void 0:e.type)||Ys.create()}));e&&(t=e)}return t&&o.typeAliasName&&(!Ks.isInstantiable(t)||po(t)||ca(t)||(t=qt(t,o.typeAliasName,o.node),u=!0)),t&&c.isInPyTypedPackage&&!c.isStubFile&&(u||function(e,t,n){var i;const r=e.getDeclarations().filter((e=>1!==e.type||!e.isInferenceAllowedInPyTyped));if(r.length>1)return!1;if(1!==t.type)return!1;if(0===r.length)return!0;if(bo(n))return!0;let s;const o=t.node.parent;if(o&&(3===o.nodeType?s=o:35===o.nodeType&&3===(null===(i=o.parent)||void 0===i?void 0:i.nodeType)&&(s=o.parent)),!s)return!1;const a=$(s.rightExpression).type;return!(!vo(a)||!ra(a))||38===s.rightExpression.nodeType&&!Ks.isAmbiguous(a)}(n,i,t)&&(u=!0),u||(t=Ks.cloneForAmbiguousType(t))),t}}function Rn(t,n,i=!1){var r;return null===(r=Rc(e,t,n,i))||void 0===r?void 0:r.declaration}function Fn(t,n,i=!1){return Rc(e,t,n,i)}function Nn(e){return Mn(e).type}function Mn(e,t,n=!1){if(e.hasTypedDeclarations()){const n=On(e,t);return{type:n||Ys.create(),isIncomplete:!1,includesVariableDecl:e.getTypedDeclarations().some((e=>1===e.type)),isRecursiveDefinition:!n}}let i=u.get(e.id);const r=t?t.id:void 0;if(i)for(const e of i)if(e.usageNodeId===r&&e.useLastDecl===n)return e.result;const s=[],o=e.getDeclarations(),a=Wo(e);let l,p=!1,d=!1,h=!1;if(n&&o.forEach(((e,t)=>{e.isInExceptSuite||(l=t)})),o.forEach(((n,i)=>{var r,o;let u=void 0===l||i===l;if(void 0!==t&&6!==n.type&&Rr(t)===Rr(n.node)&&(he(n.node,t)||(u=!1)),u){const t=ss(n);if((t||os(n))&&1===n.type&&3===(null===(o=null===(r=n.inferredTypeSource)||void 0===r?void 0:r.parent)||void 0===o?void 0:o.nodeType)&&(Wt(n.inferredTypeSource.parent),n.typeAliasAnnotation&&K(n.typeAliasAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(n.node),allowClassVar:Nr(n.node)})),q(e,n))try{let i=Pn(e,n);if(V(e)||(p=!0),i){if(1===n.type){d=!0;let e=1===n.type&&!!n.isConstant;vo(i)&&Zs.isEnumClass(i)&&function(e){const t=Er(e.node,!0);if(!t)return!1;const n=$t(t);return!!n&&Zs.isEnumClass(n.classType)}(n)&&(e=!0),!Ks.isInstance(i)||t||e||a||(i=Qo(i))}s.push(i),c.isSpeculative(n.node)&&(h=!0)}else p=!0}catch(t){throw V(e),t}else p=!0}})),s.length>0){const t={type:Oo(s),isIncomplete:!1,includesVariableDecl:d,isRecursiveDefinition:!1};return h||(i||(i=[],u.set(e.id,i)),i.push({usageNodeId:r,useLastDecl:n,result:t})),t}return{type:Js.create(),isIncomplete:p,includesVariableDecl:d,isRecursiveDefinition:!1}}function On(e,t){const n=e.getSynthesizedType();if(n)return n;let i=e.getTypedDeclarations();if(0===i.length)return;if(i.length>1&&t){const e=i.filter((e=>!(6!==e.type&&Rr(t)===Rr(e.node)&&!he(e.node,t,!1))));e.length>0&&(i=e)}let r=i.length-1;for(;r>=0;){const t=i[r],n=W(e,t);if(n)return n;if(U(e,t)<0&&q(e,t))try{const n=An(t);if(V(e)||4===t.type)return n}catch(t){throw V(e),t}r--}}function Ln(e){Eo(e)?Un(e):ko(e)&&e.overloads.forEach((e=>{Un(e)}))}function Un(e,t,n=!0){return Xs.getSpecializedReturnType(e)||(n?qn(e,t):Ys.create())}function qn(e,n){var i;let r;if(Xs.isStubDefinition(e))return Ys.create();if(e.inferredReturnType)r=e.inferredReturnType;else{if(Xs.isInstanceMethod(e)&&"__init__"===e.details.name)r=to.createInstance();else if(e.details.declaration){const n=e.details.declaration.node;if(t.analyzeUnannotatedFunctions){const t=function(e){var t;return null!==(t=e.codeFlowComplexity)&&void 0!==t?t:0}(n);(e.details.parameters.length<=1||e.details.parameters.some((e=>e.hasDeclaredType))||t<15)&&(function(t){const i=c.disableSpeculativeMode();try{r=rn(n,Xs.isAbstractMethod(e)),c.enableSpeculativeMode(i)}catch(e){throw c.enableSpeculativeMode(i),e}}(),r&&Xs.isWrapReturnTypeInAwait(e)&&(r=nn(n,r,!!(null===(i=e.details.declaration)||void 0===i?void 0:i.isGenerator))))}}r||(r=Ys.create()),e.inferredReturnType=r}if(t.analyzeUnannotatedFunctions&&La(r)&&Xs.hasUnannotatedParams(e)&&!Xs.isStubDefinition(e)&&!Xs.isPyTypedDefinition(e)&&n){const t=function(e,t){var n;let i;if(!e.details.declaration)return;const r=e.details.declaration.node;if(t.some((e=>!e.paramName)))return;if(D.some((e=>e.functionNode===r)))return;const s=Gt(r);return s&&!(t.length>6||D.length>=2)?(En(r,(()=>{const n=A;D.push({functionNode:r,codeFlowAnalyzer:ci.createCodeFlowAnalyzer()});try{A=new Map;let o=!0;r.parameters.forEach(((e,n)=>{if(e.name){let i;const a=t.find((t=>e.name.value===t.paramName));a&&a.argument.valueExpression?(i=$(a.argument.valueExpression).type,po(i)||(o=!1)):e.defaultValue?(i=$(e.defaultValue).type,po(i)||(o=!1)):0===n&&(Xs.isInstanceMethod(s.functionType)||Xs.isClassMethod(s.functionType))&&s.functionType.details.parameters.length>0&&r.parameters[0].name&&(i=s.functionType.details.parameters[0].type),i||(i=Ys.create()),N(e.name,i,0,!1)}})),o||(i=rn(r,Xs.isAbstractMethod(e)))}finally{D.pop(),A=n}})),i?(i=Ro(i),Xs.isWrapReturnTypeInAwait(e)&&!ao(i)&&(i=nn(r,i,!!(null===(n=e.details.declaration)||void 0===n?void 0:n.isGenerator))),i):void 0):void 0}(e,n);t&&(r=t)}return r}function Vn(e){const t=Gt(e);return t?Xs.isAbstractMethod(t.functionType)?io.create():Xs.isGenerator(t.functionType)?Pa(t.functionType):t.functionType.details.declaredReturnType:io.create()}function Bn(e){return _o(e.classType)?ha(Nn(e.symbol),e.classType):Ys.create()}function Wn(e,t,n,i,r,s,o){if(o>Gs)return!0;if(o++,h.some((n=>Ao(n.srcType,t)&&Ao(n.destType,e))))return!0;h.push({srcType:t,destType:e});let a=!0;try{a=function(e,t,n,i,r,s,o){const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e)),u=new jo(na(e));ma(u,e,t),Zs.isTypedDictClass(t)&&x&&_o(x)&&(t=x);let p=!0;const d=wa(t),h=oa(t,!0)?128:0;if(a.forEach(((e,i)=>{if(e.isClassMember()&&!e.isIgnoredForProtocolMatch()){let r,a=!1;if(!s&&"__class_getitem__"===i)return;if("__slots__"===i)return;if(s&&t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&(r=va(t.details.effectiveMetaclass,i),r&&(d.addSolveForScope(na(t.details.effectiveMetaclass)),a=!0)),r||(r=va(t,i)),r){let l=On(e);if(l){let d=_o(r.classType)?ha(Nn(r.symbol),r.classType,t):Ys.create();if(Eo(d)||ko(d)){if(a){const e=ri(t,d,void 0,void 0,o,!1,t);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(t,l,void 0,void 0,o,!1,t);e&&(l=Ba(e))}}else if(_o(r.classType)){l=fa(l,u);const e=ri(s?t:Zs.cloneAsInstance(t),d,r.classType,void 0,o);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(Zs.cloneAsInstance(t),l,r.classType,void 0,o);e&&(l=Ba(e))}}}else l=fa(l,u);const m=null==n?void 0:n.createAddendum();if(vo(l)&&Zs.isPropertyClass(l))if(vo(d)&&Zs.isPropertyClass(d)&&!s)Gu(li,Zs.cloneAsInstantiable(l),Zs.cloneAsInstantiable(d),t,null==m?void 0:m.createAddendum(),c,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);else{const e=Hn(l,!0);e&&Jn(e,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1)}else Jn(l,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);const f=e.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal));f!==r.symbol.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal))&&(f?m&&m.addMessage(ml.DiagnosticAddendum.memberIsFinalInProtocol().format({name:i})):m&&m.addMessage(ml.DiagnosticAddendum.memberIsNotFinalInProtocol().format({name:i})),p=!1)}e.isClassVar()&&!r.symbol.isClassMember()&&(n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberClassVar().format({name:i})),p=!1)}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:i})),p=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||Wn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s,o)||(p=!1)})),p&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,o)||(p=!1)}return p}(e,t,n,i,r,s,o)}catch(e){throw h.pop(),e}return h.pop(),a}function jn(e,t,n,i,r,s){if(s>Gs)return!0;s++;let o=!0;const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e));if(a.forEach(((i,r)=>{if(i.isClassMember()&&!i.isIgnoredForProtocolMatch()){const a=t.fields.get(r);if(a){let t=On(i);if(t){const i=Nn(a);if((Eo(i)||ko(i))&&(Eo(t)||ko(t))){const n=ri(Zs.cloneAsInstance(e),t,e,void 0,s);n&&(t=n)}const l=null==n?void 0:n.createAddendum();Jn(t,i,null==l?void 0:l.createAddendum(),c,0,s)||(l&&l.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:r})),o=!1)}}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:r})),o=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||jn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s)||(o=!1)})),o&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,s)||(o=!1)}return o}function zn(e,t,n,i,r,s,o){if(Zs.isTypedDictClass(e)&&Zs.isTypedDictClass(t))return!!_l(li,e,t,n,s)&&(Zs.isFinal(e)!==Zs.isFinal(t)?(n&&n.addMessage(ml.DiagnosticAddendum.typedDictFinalMismatch().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1):!(0!=(1&r)&&!Zs.isSameGenericClass(e,t))||_l(li,t,e,void 0,s));const a=Qu.get(e.details.fullName);if(a&&a.some((e=>t.details.mro.some((t=>yo(t)&&e===t.details.fullName))))&&0==(1&r))return!0;const l=[],c=Zs.isDerivedFrom(t,e,l);if(Zs.isProtocolClass(e)&&!c)return!!Wn(e,t,null==n?void 0:n.createAddendum(),i,r,!1,s)||(n&&n.addMessage(ml.DiagnosticAddendum.protocolIncompatible().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1);if((0==(1&r)||Zs.isSameGenericClass(t,e))&&c)return w(l.length>0),function(e,t,n,i,r,s,o){let a=t,l=r||new jo(na(e)),c=s;r||(c&=-9);for(let t=n.length-1;t>=0;t--){const r=n[t];if(po(r))return!0;if(Zs.isBuiltIn(r,"object"))return!0;if(t0&&a.typeArguments&&!r.isLocked()){const t=a.typeArguments;for(let n=0;nIo(e.type))),p=l.findIndex((e=>e.isUnbounded)),d=c.findIndex((e=>e.isUnbounded));if(d>=0){const e=u>=0||p>=0?l.length-1:l.length,t=c.length>0?c[d].type:io.create();for(;c.length=0&&d>=0)return n&&n.addMessage(ml.DiagnosticAddendum.typeVarTupleRequiresKnownLength()),!1;if(p>=0||u>=0){const e=c.length-l.length+1;if(e>=0)if(u>=0){if(T&&_o(T)){const t=c.splice(u,e),n=Fa(Va(T,t.map((e=>({type:Qo(e.type),isUnbounded:!1}))),!0,!0,!0));c.splice(u,0,{type:n,isUnbounded:!1})}}else{const t=c.splice(p,e);c.splice(p,0,{type:t.length>0?Oo(t.map((e=>e.type))):io.create(),isUnbounded:!1})}}if(c.length===l.length)for(let e=0;e=0))return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:l.length,received:c.length})),!1;if(!e.isUnpacked)return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatchIndeterminate().format({expected:l.length})),!1}return!0}function Hn(e,t){if(!Zs.isPropertyClass(e))return;const n=e.details.fields.get("fget");if(n){const e=On(n);if(e&&Eo(e))return Un(e,void 0,t)}}function Gn(e,t,n,i,r,s){var o,a,l;w(Zs.isSameGenericClass(e,t));const c=Zs.getTypeParameters(e);let u,p;if(!e.typeArguments||!t.typeArguments)return!0;if(Zs.isTupleClass(e)?(u=null!==(a=null===(o=e.tupleTypeArguments)||void 0===o?void 0:o.map((e=>e.type)))&&void 0!==a?a:[],p=null===(l=t.tupleTypeArguments)||void 0===l?void 0:l.map((e=>e.type))):(u=e.typeArguments,p=t.typeArguments),p)for(let t=0;t=u.length?u.length-1:t,l=a>=0?u[a]:Ys.create(),d=a({category:e.category,name:e.name,isNameSynthesized:e.isNameSynthesized,hasDefault:!!e.hasDefault,type:Xs.getEffectiveParameterType(n,t)}))),o=i.getParamSpec(e);if(!o)return!i.isLocked()&&i.hasSolveForScope(e.scopeId)&&i.setParamSpec(e,{parameters:s,typeVarScopeId:t.details.typeVarScopeId,flags:t.details.flags,docString:t.details.docString,paramSpec:void 0}),!0;if(!o.paramSpec&&o.parameters.length===s.length&&!o.parameters.some(((e,t)=>{const n=s[t];return e.category!==n.category||e.name!==n.name||e.hasDefault!==n.hasDefault||!Ao(e.type,n.type,void 0,void 0,r)})))return!0}else if(ho(t))return!0;return n&&n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:e.details.name})),!1}(e,t,n,i,s);e.details.isVariadic&&(Co(t)||(t=T&&_o(T)?Fa(Va(T,[{type:t,isUnbounded:!1}],!0,!0,!0)):Ys.create())),Ks.isInstantiable(e)&&vo(t)&&Zs.isBuiltIn(t,"type")&&!t.typeArguments&&(t=io.create());const c=i.getTypeVar(e),u=null==c?void 0:c.narrowBound,p=null!==(o=null==c?void 0:c.wideBound)&&void 0!==o?o:e.details.boundType;if(e.details.constraints.length>0){let r;const o=Ie(t);if(bo(t))Jn(e,o,void 0,new jo(e.scopeId),void 0,s)&&(r=t,Ks.isInstantiable(t)&&(r=Fa(t)));else{let t,n=!0;r=Ko(o,(i=>{let r,o;return ho(i)?i:(e.details.constraints.forEach(((t,n)=>{const a=Ks.isInstantiable(e)?Na(t):t;Jn(a,i,void 0,void 0,void 0,s)&&(r&&!Jn(r,a,void 0,void 0,void 0,s)||(r=Zo(t,Xo(i)),o=n))})),r||l||(n=!1),void 0===o||Xo(i)||(void 0!==t&&t!==o&&(n=!1),t=o),r)})),!ao(r)&&n||(r=void 0),!r&&fo(o)&&(r=e.details.constraints.find((t=>Jn(Ks.isInstantiable(e)?Na(t):t,o,void 0,void 0,void 0,s))))}if(!r)return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:e.details.name})),!1;if(u&&!ho(u)){if(!Jn(u,r,void 0,void 0,void 0,s)){if(!Jn(r,u,void 0,void 0,void 0,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(r),name:ai(u)})),!1;!i.isLocked()&&a&&i.setTypeVarType(e,r)}}else!i.isLocked()&&a&&i.setTypeVarType(e,r);return!0}let d=u,h=p;const m=n?new il:void 0,f=0!=(128&r)||i.getRetainLiterals(e)||e.details.boundType&&oa(e.details.boundType)||e.details.constraints.some((e=>oa(e)));let g=f?t:Qo(t);if(Ks.isInstantiable(e)){if(!Ra(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(e)})),!1;g=Fa(g)}if(l||0!=(4&r)){if(p){if(!Ao(p,g,void 0,void 0,s))if(Jn(p,Ie(g),m,void 0,512&r,s))h=g;else if(!Jn(g,p,m,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),n.addAddendum(m)),!1}else h=g;if(u&&!Jn(h,u,void 0,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(u)})),n.addAddendum(m)),!1}else{if(u){if(!Ao(u,g,void 0,void 0,s))if(Jn(u,g,m,i,r,s))d=La(u)&&!po(g)&&Jn(g,u,void 0,i,512&r,s)?g:u;else{if(i.isLocked()||bo(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;if(Io(e))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;d=Jn(g,u,void 0,i,512&r,s)?g:fo(u)&&u.subtypes.length>64&&void 0!==e.details.boundType&&y&&vo(y)?Oo([u,y]):Oo([u,g])}}else d=g;if(p&&d&&!Ao(p,d,void 0,void 0,s)){let e=!0;if(bo(p)&&(Ao(d,p)||fo(d)&&d.subtypes.some((e=>Ao(e,p))))&&(e=!1),!Jn(e?Ie(p):p,d,void 0,i,512&r,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),!1}}if(e.details.boundType){const o=d||h;if(Ks.isInstantiable(e)&&!Ks.isInstantiable(t))return!1;if(!Jn(e.details.boundType,Ie(o),null==n?void 0:n.createAddendum(),i,512&r,s))return e.details.isSynthesized||n&&n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(o),destType:ai(e.details.boundType),name:oo.getReadableName(e)})),!1}return!i.isLocked()&&a&&i.setTypeVarType(e,d,h,f),!0}function Jn(e,t,n,i,r=0,s=0){var o,a;if(fo(e)&&1===e.subtypes.length&&Io(e.subtypes[0])&&(e=e.subtypes[0]),fo(t)&&1===t.subtypes.length&&Io(t.subtypes[0])&&(t=t.subtypes[0]),e===t)return!bo(e)||e.details.isParamSpec||e.details.isVariadic||0!==e.scopeType||!i||i.isLocked()||!i.hasSolveForScope(e.scopeId)||i.getTypeVar(e)||0!=(10&r)||i.setTypeVarType(e,t),!0;if(s>Gs)return!0;if(s++,bo(e)&&e.details.recursiveTypeAliasScopeId&&bo(t)&&t.details.recursiveTypeAliasScopeId){if((null===(o=e.typeAliasInfo)||void 0===o?void 0:o.typeArguments)&&(null===(a=t.typeAliasInfo)||void 0===a?void 0:a.typeArguments)&&e.details.recursiveTypeAliasScopeId===t.details.recursiveTypeAliasScopeId){let o=!0;const a=t.typeAliasInfo.typeArguments;return e.typeAliasInfo.typeArguments.forEach(((e,t)=>{Jn(e,t{var i;if(Ao(e,t,!0,void 0,n))return!1;const r=oo.getNameWithScope(e),s=(null!==(i=Xo(t))&&void 0!==i?i:[]).filter((e=>e.typeVarName===r));return 0===s.length||!s.some((i=>e.details.boundType?(w(0===i.constraintIndex,"Expected constraint for bound TypeVar to have index of 0"),Jn(e.details.boundType,t,void 0,void 0,void 0,n)):!(e.details.constraints.length>0)||(w(i.constraintIndex{Kn(t,e,n,i,4|l,s)&&(o=!0)})),o}return Jn(Ie(e),Ie(t),n,void 0,l,s)}if(0!=(1&r))return!!ho(e)||!!(wo(t)&&Eo(e)&&Xs.shouldSkipArgsKwargsCompatibilityCheck(e)&&e.details.parameters.length<=2)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(ho(e))return!0;if(ho(t)){if(i){const n=ca(t)?io.create():t;Ca(e,n,i,s)}if(0==(16&r))return!0}if(ao(t))return i&&Ca(e,Ys.create(),i,s),!0;if(fo(t)&&Ks.isSpecialForm(t)&&(t=g||y||io.create()),fo(e))if(fo(t)){if(Yn(e,t,void 0,i,l,s))return!0}else{const n=i?i.clone():void 0;if(Qn(e,t,void 0,n,l,s))return i&&n&&i.copyFromClone(n),!0}const c=Ie(t);if(fo(c))return Yn(e,c,n,i,l,s);if(fo(e))return Qn(e,t,n,i,l,s);if(lo(e)&&lo(t))return!0;if(co(e)){if(co(t))return!0;if(_o(t)&&Zs.isBuiltIn(t,"NoneType"))return!0}if(vo(t)&&Zs.isBuiltIn(t,"type")){const o=t.typeArguments;if(o&&o.length>=1){if(ho(o[0]))return!(!vo(e)||!Zs.isBuiltIn(t,"type"))||Ks.isInstantiable(e);if(vo(o[0])||bo(o[0]))return!!Jn(e,Na(o[0]),null==n?void 0:n.createAddendum(),i,r,s)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}}if(_o(e)){const o=Ie(t);if(_o(o))return Zs.isProtocolClass(e)&&Zs.isProtocolClass(o)&&_o(t)&&!t.includeSubclasses?(n&&n.addMessage(ml.DiagnosticAddendum.protocolSourceIsNotConcrete().format({sourceType:ai(Fa(t)),destType:ai(e)})),!1):!!zn(e,o,n,i,r,s,!1)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(vo(e)){if(Zs.isBuiltIn(e,"Type")){const o=e.typeArguments;if(o&&o.length>=1&&Ks.isInstance(o[0])&&Ks.isInstantiable(t))return Jn(o[0],Fa(t),n,i,r,s)}else if(Zs.isBuiltIn(e,"type")){if(Ks.isInstantiable(t))return!(yo(t)&&void 0!==t.literalValue)}else if(Zs.isBuiltIn(e,["TypeGuard","StrictTypeGuard"])&&0!=(64&l)&&vo(t)&&Zs.isBuiltIn(t,"bool"))return!0;const o=Ie(t);if(yo(o)&&Ks.isInstance(o)){if(void 0!==e.literalValue&&(void 0===o.literalValue||!Zs.isLiteralValueSame(o,e)))return n&&n.addMessage(ml.DiagnosticAddendum.literalAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1;if(Zs.isBuiltIn(e,"LiteralString")&&Zs.isBuiltIn(o,"str")){if(void 0!==o.literalValue)return!0}else if(Zs.isBuiltIn(o,"LiteralString")&&Zs.isBuiltIn(e,"str")&&void 0===e.literalValue)return!0;return!!zn(Zs.cloneAsInstantiable(e),Zs.cloneAsInstantiable(o),n,i,r,s,!0)}if(Eo(o)||ko(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(y&&vo(y))return Jn(e,y,n,i,r,s)}else if(To(o)){if(Zs.isBuiltIn(e,"ModuleType"))return!0;if(Zs.isProtocolClass(e))return jn(Zs.cloneAsInstantiable(e),o,n,i,r,s)}else if(_o(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(Zs.isProtocolClass(e))return Wn(Zs.cloneAsInstantiable(e),o,n,i,r,!0,s);const a=o.details.effectiveMetaclass;if(a)return!!ho(a)||zn(Zs.cloneAsInstantiable(e),a,n,i,r,s,!1)}else{if(ho(o))return 0==(16&r);if(fo(o))return Jn(e,o,n,i,r,s)}}if(Eo(e)){let o,a=Ie(t);if(vo(a)){const e=_a(a,"__call__");if(e){const t=Bn(e);if(Eo(t)||ko(t)){const e=ri(a,t,void 0,void 0,s);e&&(a=Ba(e))}}}if(_o(a)&&void 0===a.literalValue){const e=Zn(a,s);e&&(a=e)}if(ko(a)){if(e.details.paramSpec)return n&&n.addMessage(ml.DiagnosticAddendum.paramSpecOverload()),!1;const t=a.overloads,l=t.findIndex((t=>{if(!Xs.isOverloaded(t))return!1;const o=i?i.clone():void 0;return Jn(e,t,null==n?void 0:n.createAddendum(),o,r,s)}));if(l<0)return n&&n.addMessage(ml.DiagnosticAddendum.noOverloadAssignable().format({type:ai(e)})),!1;o=t[l]}else if(Eo(a))o=a;else if(ho(a))return 0==(16&r);if(o&&function(e,t,n,i,r,s){var o,a,l,c,u,p,d,h,m;let f=!0;const g=0==(32&r);r&=-33,e=Wa(e),t=Wa(t);const y=Ho(e),_=Ho(t);!function(e,t){var n;if(void 0===t.argsIndex)return;if(e.params.lengthn>=t.argsIndex&&e.source===zo.KeywordOnly));i<0&&(i=e.params.length);const r=(null!==(n=t.firstKeywordOnlyIndex)&&void 0!==n?n:t.params.length)-t.argsIndex-1,s=e.params.slice(t.argsIndex,i-r),o=[];if(s.forEach((e=>{1===e.param.category?So(e.type)?o.push({type:e.type,isUnbounded:!1}):xo(e.type)&&e.type.tupleTypeArguments?o.push(...e.type.tupleTypeArguments):o.push({type:e.type,isUnbounded:!0}):o.push({type:e.type,isUnbounded:!1})})),1!==o.length||!Io(o[0].type)){let n;n=T&&_o(T)?Fa(Va(T,o,!0,!0,!0)):Ys.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:zo.PositionOrKeyword},...e.params.slice(t.argsIndex+s.length,e.params.length)];const i=e.params.findIndex((e=>1===e.param.category));e.argsIndex=i>=0?i:void 0;const r=e.params.findIndex((e=>2===e.param.category));e.kwargsIndex=r>=0?r:void 0;const a=e.params.findIndex((e=>e.source===zo.KeywordOnly));e.firstKeywordOnlyIndex=a>=0?a:void 0}}(_,y);const v=0==(2&r)?i:new jo(na(e)),I=0!=(2&r)?i:new jo(na(t)),S=0!=(2&r)?!!t.details.paramSpec:!!e.details.paramSpec,x=null!==(a=null!==(o=y.argsIndex)&&void 0!==o?o:y.firstKeywordOnlyIndex)&&void 0!==a?a:y.params.length,C=null!==(c=null!==(l=_.argsIndex)&&void 0!==l?l:_.firstKeywordOnlyIndex)&&void 0!==c?c:_.params.length,w=Math.min(x,C);for(let i=0;i!!e.param.name&&!e.param.hasDefault&&0===e.param.category)).length;if(void 0===y.argsIndex)x0&&y.firstPositionOrKeywordIndex{n>=y.firstKeywordOnlyIndex&&e.param.name&&0===e.param.category&&t.set(e.param.name,e)}));let i=void 0!==_.firstKeywordOnlyIndex?_.firstKeywordOnlyIndex:_.params.length;x=0&&_.params.forEach(((e,o)=>{if(o>=i&&e.param.name&&0===e.param.category){const i=t.get(e.param.name),o=null==n?void 0:n.createAddendum(),a=e.type;if(i){const l=i.type,c=v?fa(l,v):l;Jn(a,c,null==o?void 0:o.createAddendum(),void 0,r,s)||(o&&o.addMessage(ml.DiagnosticAddendum.namedParamTypeMismatch().format({name:e.param.name,sourceType:ai(c),destType:ai(a)})),f=!1),i.param.hasDefault&&!e.param.hasDefault&&(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.functionParamDefaultMissing().format({name:e.param.name})),f=!1),t.delete(e.param.name)}else void 0!==y.kwargsIndex||e.param.hasDefault?void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,a,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)):(o&&o.addMessage(ml.DiagnosticAddendum.namedParamMissingInDest().format({name:e.param.name})),f=!1)}})),t.forEach(((e,i)=>{void 0!==_.kwargsIndex&&e.param.name?(ei(e.param.type,_.params[_.kwargsIndex].type,e.index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1),t.delete(i)):(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.namedParamMissingInSource().format({name:i})),f=!1)})),void 0!==_.kwargsIndex&&void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,_.params[_.kwargsIndex].type,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)),Xs.shouldSkipArgsKwargsCompatibilityCheck(e)||void 0!==_.kwargsIndex||void 0===y.kwargsIndex||(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.kwargsParamMissing().format({paramName:y.params[y.kwargsIndex].param.name})),f=!1)}if(S&&(null===(h=t.details.paramSpec)||void 0===h?void 0:h.nameWithScope)===(null===(m=e.details.paramSpec)||void 0===m?void 0:m.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)}if(i&&!i.isLocked()){const n=0==(2&r)?I:v;if(n.getTypeVars().forEach((e=>{Jn(e.typeVar,n.getTypeVarType(e.typeVar),void 0,i,void 0,s)})),i.getTypeVars().forEach((e=>{if(e.narrowBound){const t=fa(e.narrowBound,i);t!==e.narrowBound&&i.setTypeVarType(e.typeVar,t,e.wideBound,e.retainLiteral)}})),S){const n=0==(2&r)?e:t,s=0==(2&r)?t:e;if(n.details.paramSpec){const e=n.details.parameters.filter((e=>!(!e.name||0===e.category&&wo(e.type)))).length;let t=0;const r=[];s.details.parameters.forEach(((n,i)=>{t!Xs.isOverloaded(e)||(i&&i.addSolveForScope(na(e)),Jn(e,t,null==o?void 0:o.createAddendum(),i||new jo(na(e)),r,s))))||(o&&o.addMessage(ml.DiagnosticAddendum.overloadNotAssignable().format({name:e.overloads[0].details.name})),!1)}return!(!vo(e)||!Zs.isBuiltIn(e,"object")||0!=(1&r))||(lo(t)&&vo(e)&&Zs.isProtocolClass(e)&&f&&_o(f)?Wn(Zs.cloneAsInstantiable(e),f,n,i,r,!1,s):lo(e)?(n&&n.addMessage(ml.DiagnosticAddendum.assignToNone()),!1):(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1))}function Yn(e,t,n,i,r,s){if(Ao(t,e,void 0,void 0,s))return!0;if(fo(e)){if(0!=(4&r)){const n=e.subtypes.filter((e=>!ho(e)));if(1===n.length&&bo(n[0]))return Jn(n[0],t,void 0,i,r,s),!0}const o=[];let a=[...t.subtypes],l=!1;if(e.subtypes.forEach((e=>{if($a(e))o.push(e);else{const t=a.findIndex((t=>Ao(t,e,void 0,void 0,s)));t>=0?a.splice(t,1):l=!0}})),l||[...a].forEach((e=>{const t=o.findIndex((t=>yo(e)&&yo(t)&&Ks.isInstance(e)===Ks.isInstance(t)&&Zs.isSameGenericClass(e,t)));t>=0&&(Jn(o[t],e,null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),o.splice(t,1),a=a.filter((t=>t!==e)))})),l||0===o.length&&0===a.length||1===o.length&&bo(o[0])&&Jn(o[0],Oo(a),null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),!l)return!0}let o=!1;return Jo(t,(t=>{Jn(e,t,void 0,i,r,s)||Jn(e,Ie(t),null==n?void 0:n.createAddendum(),i,r,s)||(o=!0)})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}function Qn(e,t,n,i,r,s){if(1&r){let o=!1;return Jo(e,((a,l)=>{if(!o&&!Jn(a,t,null==n?void 0:n.createAddendum(),i,r,s)){let t=!1;ho(a)||Jo(e,((e,n)=>{l===n||t||Jn(e,a,void 0,void 0,0,s)&&(t=!0)})),t||(o=!0)}})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}const o=n?new il:void 0;let a=!1;if(lo(t)&&Go(e))a=!0;else{let n,l;if(vo(t)&&ra(t)&&so.containsType(e,t,s))return!0;Jo(e,(e=>{const c=null==i?void 0:i.clone();if(Jn(e,t,null==o?void 0:o.createAddendum(),c,r,s)&&(a=!0,c)){const e=c.getScore();(void 0===l||l<=e)&&(l=e,n=c)}})),i&&n&&i.copyFromClone(n)}return a||bo(t)&&t.details.constraints.length>0&&(a=Jn(e,Ie(t),null==o?void 0:o.createAddendum(),i,r,s)),!!a||(n&&o&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),n.addAddendum(o)),!1)}function Zn(e,t=0){const n=va(e,"__init__",12);if(n){const i=Bn(n),r=Zs.cloneAsInstance(e),s=e=>{let n=ri(r,e,void 0,void 0,t);return n&&(n=Xs.clone(n),n.details.declaredReturnType=r,n.specializedTypes&&(n.specializedTypes.returnType=r)),n};if(Eo(i))return s(i);if(ko(i)){const e=[];if(i.overloads.forEach((t=>{const n=s(t);n&&e.push(n)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const i=va(e,"__new__",12);if(i){const t=Bn(i),n=t=>ri(e,t,void 0,void 0,void 0,!0);if(Eo(t))return n(t);if(ko(t)){const e=[];if(t.overloads.forEach((t=>{const i=n(t);i&&e.push(i)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const r=Xs.createInstance("__new__","","",65);return r.details.declaredReturnType=Zs.cloneAsInstance(e),Xs.addDefaultParameters(r),r}function Xn(e){if(!vo(e)||!Zs.isProtocolClass(e))return;for(const t of e.details.mro)if(yo(t)&&Zs.isProtocolClass(t))for(const e of t.details.fields)if("__call__"!==e[0]&&!e[1].isIgnoredForProtocolMatch()){let t=!1;if(v&&yo(v)&&v.details.fields.has(e[0])&&(t=!0),!t)return}const t=_a(e,"__call__");if(!t)return;const n=Bn(t);if(Eo(n)||ko(n)){const t=ri(e,n);if(t)return Ba(t)}}function ei(e,t,n,i,r,s,o,a){if(bo(e)&&e.details.isSynthesized&&e.details.boundType&&vo(e.details.boundType)&&Zs.isProtocolClass(e.details.boundType))return!0;if(Io(e)&&!Co(t))return!1;let l=t,c=e,u=!1;if(0==(2&o))c=fa(e,r),$a(c)&&(u=!Jn(l,c,void 0,r,642|o,a),c=fa(e,r));else if(l=fa(t,s),$a(l)&&$a(l)&&(u=!Jn(l,c,void 0,s,-3&o|512,a),l=fa(t,s)),u)return i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),!1;return bo(c)&&c.details.isSynthesizedSelf||bo(l)&&l.details.isSynthesizedSelf&&l.details.boundType&&(l=fa(l.details.boundType,new jo(na(l)),!0)),!(!Jn(l,c,null==i?void 0:i.createAddendum(),0==(2&o)?s:r,o,a)&&!Ao(e,t)&&(i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),1))}function ti(e,t){if(t.details.typeParameters.length>0&&t.typeArguments&&t.typeArguments.length<=t.details.typeParameters.length){const n=new jo(na(t));Xe(Zs.cloneForSpecialization(t,void 0,!1),e,n,[]);let i=!1;const r=t.typeArguments.map(((e,r)=>{const s=t.details.typeParameters[r],o=n.getTypeVarType(s);return o&&(uo(o)||ho(e))?(i=!0,o):e}));if(i)return Zs.cloneForSpecialization(t,r,!0)}}function ni(e,t){const n=new il,i=Ko(t,(t=>{const i=Ko(e,(i=>{if(ho(e))return e;if(Jn(i,t,n)){if(_o(i)&&_o(t)){const e=ti(i,t);e&&(t=e)}else if(vo(i)&&vo(t)){const e=ti(Zs.cloneAsInstantiable(i),Zs.cloneAsInstantiable(t));e&&(t=Zs.cloneAsInstance(e))}else{if(!bo(i)&&bo(t))return i;if(ho(t))return i}return t}}));return ao(i)?t:i}));return ho(t)?e:i}function ii(e){const t=new Map;e.details.mro.forEach((e=>{_o(e)&&e.details.fields.forEach(((n,i)=>{if(n.isClassMember()){let r;const s=Vo(n);r=!(!s||3!==s.type)&&!!(8&en(s.node,!0)),t.has(i)||t.set(i,{symbol:n,symbolName:i,isAbstract:r,classType:e})}}))}));const n=[];return t.forEach((e=>{e.isAbstract&&n.push(e)})),n}function ri(e,t,n,i,r=0,s=!1,o){if(Eo(t)){if(!e)return Xs.clone(t,!0);if(Xs.isInstanceMethod(t)){const s=vo(e)?e:Zs.cloneAsInstance(xa(e));return si(e,t,n||Zs.cloneAsInstantiable(s),i,r,o||s,vo(e))}if(Xs.isClassMethod(t)||s&&Xs.isConstructorMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e),a=o?_o(e)?o:Na(o):s;return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,a,!0)}if(Xs.isStaticMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e);return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,void 0,!1)}}else if(ko(t)){const a=eo.create([]);return t.overloads.forEach((t=>{if(Xs.isOverloaded(t)){const i=ri(e,t,n,void 0,r,s,o);i&&eo.addOverload(a,i)}})),1===a.overloads.length?a.overloads[0]:0===a.overloads.length?void(i&&t.overloads.forEach((t=>{ri(e,t,n,i,r,s,o)}))):a}return t}function si(e,t,n,i,r,s,o=!0){const a=new jo(na(n));if(s&&t.details.parameters.length>0){const n=t.details.parameters[0],o=Xs.getEffectiveParameterType(t,0),l=Qo(s);a.addSolveForScope(na(t));const c=new il;if(bo(o)&&o.details.boundType&&vo(o.details.boundType)&&Zs.isProtocolClass(o.details.boundType))a.isLocked()||a.setTypeVarType(o,Ks.isInstantiable(o)?Fa(l):l);else if(!Jn(o,l,c,a,void 0,r)&&n.name&&!n.isNameSynthesized&&n.hasDeclaredType){if(!i)return;{const r=t.details.name||"(unnamed)";_e(Vt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.bindTypeMismatch().format({type:ai(e),methodName:r,paramName:n.name})+c.getString(),i)}}}Un(t);const l=fa(t,a);return Xs.clone(l,o,e,na(e))}function oi(e){return Fl(e,t.printTypeFlags,Un)}function ai(e,n=!1){let i=t.printTypeFlags;return n&&(i|=32),Pl(e,i,Un)}const li={runWithCancellationToken:function(e,t){try{return m=e,t()}finally{m=void 0}},getType:j,getTypeOfExpression:$,getTypeOfAnnotation:K,getTypeOfClass:$t,getTypeOfFunction:Gt,getTypeForExpressionExpectingType:Sn,getExpectedType:function(e){hn(e);let t=e;for(;void 0!==t;){const e=l.get(t.id);if(e)return{type:e,node:t};t=t.parent}},evaluateTypeForSubnode:gn,evaluateTypesForStatement:fn,evaluateTypesForMatchNode:function(e){if(F(e,0))return;const t=$(e.subjectExpression);let n=t.type;for(const t of e.cases)t.guardExpression||(n=fu(li,n,t.pattern,!1));N(e,n,0,!!t.isIncomplete)},evaluateTypesForCaseNode:un,evaluateTypeOfParameter:mn,canBeTruthy:Q,canBeFalsy:Y,removeTruthinessFromType:Z,removeFalsinessFromType:X,verifyRaiseExceptionType:function(e){const t=xn(e,"BaseException");if(e.typeExpression){const n=$(e.typeExpression).type;if(n&&t&&_o(t)){const i=new il;Jo(n,(n=>{const r=Ie(n);if(!ho(r))if(_o(r)&&void 0===r.literalValue)if(Da(r,t,!1)){let t;En(e.typeExpression,(()=>{t=Ye(e.typeExpression,[],r,!1,void 0)})),t&&t.argumentErrors&&i.addMessage(ml.Diagnostic.exceptionTypeNotInstantiable().format({type:ai(n,!1)}))}else i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}));else vo(r)&&Da(Zs.cloneAsInstantiable(r),t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}))})),i.isEmpty()||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedExceptionClass()+i.getString(),e.typeExpression)}}},verifyDeleteExpression:Ce,isAfterNodeReachable:de,isNodeReachable:pe,isAsymmetricDescriptorAssignment:function(e){return a.has(e.id)},suppressDiagnostics:En,getDeclarationsForNameNode:function(e){var t;if(zt(e))return;const n=[];if(e.parent&&23===e.parent.nodeType&&e.parent.alias&&e===e.parent.name){const t=zs(e);if(t){const i=t.lookUpSymbolRecursive(e.parent.alias.value);if(i){const t=i.symbol.getDeclarations().filter((t=>6===t.type&&t.node===e.parent));n.push(...ls(t))}}}else if(e.parent&&35===e.parent.nodeType&&e===e.parent.memberName){let t=j(e.parent.leftExpression);if(t){t=Ie(t);const i=e.parent.memberName.value;Jo(t,(e=>{let t;if(_o(e=Ie(e))){let n=va(e,i,16);if(n||(n=va(e,i)),!n){const t=e.details.effectiveMetaclass;t&&_o(t)&&(n=va(t,i))}n&&(t=n.symbol)}else if(vo(e)){let n=_a(e,i,16);n||(n=_a(e,i)),n&&(t=n.symbol)}else To(e)&&(t=Qs.getField(e,i));if(t){const e=t.getTypedDeclarations();e.length>0?n.push(...e):n.push(...t.getDeclarations())}}))}}else if(e.parent&&37===e.parent.nodeType){const t=e.parent.nameParts.findIndex((t=>t===e)),i=Rt(e.parent);t>=0&&i&&!i.isNativeLib&&t{const t=Dn(e,r);t&&n.push(t)}));else if(_o(e)){const s=null===(t=ee(i.parent.leftExpression,Zs.cloneAsInstance(e),"__init__",{method:"get"},void 0,4))||void 0===t?void 0:t.type;if(s&&Eo(s)){const t=Dn(s,r);if(t)n.push(t);else if(Zs.isDataClass(e)){const t=va(e,r);t&&n.push(...t.symbol.getDeclarations())}}}}}else{const t=Vt(e),i=function(e,t){let n,i=e,r=!1;for(;i;){if(41===i.nodeType&&(n===i.typeAnnotation||n===i.typeAnnotationComment))return r||!t;if(28===i.nodeType&&n===i.returnTypeAnnotation)return r||!t;if(28===i.nodeType&&n===i.functionAnnotationComment)return!0;if(54===i.nodeType&&n===i.typeAnnotation)return r||!t;if(3===i.nodeType&&n===i.typeAnnotationComment)return!0;if(48===i.nodeType&&n===i.typeAnnotation&&(r=!0),30===i.nodeType||28===i.nodeType||10===i.nodeType||36===i.nodeType)return!1;n=i,i=i.parent}return!1}(e,!H(Vt(e))),r=i||t.isStubFile,s=wn(e,e.value,!r,i);s&&n.push(...s.symbol.getDeclarations())}return n},getTypeForDeclaration:An,resolveAliasDeclaration:Rn,resolveAliasDeclarationWithInfo:Fn,getTypeFromIterable:le,getTypeFromIterator:ae,getGetterTypeFromProperty:Hn,getTypeForArgument:bn,markNamesAccessed:function(e,t){const n=Vt(e),i=zs(e);i&&t.forEach((t=>{const r=i.lookUpSymbolRecursive(t);r&&we(n,r.symbol,e)}))},getScopeIdForNode:Pe,makeTopLevelTypeVarsConcrete:Ie,mapSubtypesExpandTypeVars:Se,populateTypeVarMapBasedOnExpectedType:Xe,lookUpSymbolRecursive:wn,getDeclaredTypeOfSymbol:On,getEffectiveTypeOfSymbol:Nn,getEffectiveTypeOfSymbolForUsage:Mn,getInferredTypeOfDeclaration:Pn,getDeclaredTypeForExpression:se,getFunctionDeclaredReturnType:Vn,getFunctionInferredReturnType:qn,getBestOverloadForArguments:Ge,getBuiltInType:xn,getTypeOfMember:Bn,getTypeFromObjectMember:ee,getBoundMethod:ne,getTypeFromMagicMethodReturn:gt,bindFunctionToClassOrObject:ri,getCallSignatureInfo:function(e,t,n){const i=e.leftExpression,r=j(i);if(void 0===r)return;const s=[];let o=0;function a(){s.push({argumentCategory:o,type:Ys.create(),active:!0})}e.arguments.forEach(((e,i)=>{let r=!1;i===t&&(n?r=!0:a()),o=e.argumentCategory,s.push({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,name:e.name,active:r})})),e.arguments.length{n=rt(i,s,t,new jo(na(t)),!0)})),l.push({type:t,activeParam:null==n?void 0:n.activeParam})}function u(e){Eo(e)?c(e):e.overloads.forEach((e=>{Xs.isOverloaded(e)&&c(e)}))}return Jo(r,(e=>{switch(e.category){case 5:case 6:u(e);break;case 7:if(Ks.isInstantiable(e)){let t;t=ne(e,"__init__");const n=!!t&&Eo(t)&&"builtins.object.__init__"===t.details.fullName,i=!!t&&Eo(t)&&Xs.isSkipConstructorCheck(t);if(!t||n||i){const n=ne(e,"__new__",!0);n&&(Eo(n)&&"builtins.object.__new__"===n.details.fullName||(t=n))}t&&u(t)}else{const t=ne(e,"__call__");t&&u(t)}}})),0!==l.length?{callNode:e,signatures:l}:void 0},getTypeAnnotationForParameter:ie,getAbstractMethods:ii,narrowConstrainedTypeVar:function(e,t){const n=Lt(e);if(n)return ci.narrowConstrainedTypeVar(n,t)},canAssignType:Jn,canOverrideMethod:function(e,t,n,i=!0){if(ko(e)&&(e=e.overloads[e.overloads.length-1],Xs.isOverloaded(e)))return!0;if(!Eo(e))return n.addMessage(ml.DiagnosticAddendum.overrideType().format({type:ai(e)})),!1;const r=Ho(e),s=Ho(t);let o=!0,a=!1;if(s.params.lengthr.params.length)for(let e=r.params.length;e=r.positionOnlyParamCount&&!Yt(l.name||"")&&0===l.category&&l.name!==c.name)0===c.category&&i&&(s.params[a].source===zo.PositionOnly?n.addMessage(ml.DiagnosticAddendum.overrideParamNamePositionOnly().format({index:a+1,baseName:l.name||"*"})):n.addMessage(ml.DiagnosticAddendum.overrideParamName().format({index:a+1,baseName:l.name||"*",overrideName:c.name||"*"})),o=!1);else{const i=Xs.getEffectiveParameterType(e,a),r=Xs.getEffectiveParameterType(t,a),s=bo(i)&&i.details.isSynthesized,u=bo(r)&&r.details.isSynthesized;s||u||l.category===c.category&&Jn(r,i,n.createAddendum(),new jo(na(t)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideParamType().format({index:a+1,baseType:ai(i),overrideType:ai(r)})),o=!1)}}const c=Un(e),u=Un(t);return Jn(c,u,n.createAddendum(),new jo(na(e)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideReturnType().format({baseType:ai(c),overrideType:ai(u)})),o=!1),o},canAssignProtocolClassToSelf:function e(t,n,i=0){w(Zs.isProtocolClass(t)),w(Zs.isProtocolClass(n)),w(Zs.isSameGenericClass(t,n)),w(t.details.typeParameters.length>0);const r=new il,s=new jo;let o=!0;return t.details.fields.forEach(((e,a)=>{if(o&&e.isClassMember()&&!e.isIgnoredForProtocolMatch()){const l=va(n,a);w(void 0!==l);let c=On(e);if(c){const a=Bn(l);if(c=ha(c,t),vo(c)&&Zs.isPropertyClass(c)&&vo(a)&&Zs.isPropertyClass(a))Gu(li,Zs.cloneAsInstantiable(c),Zs.cloneAsInstantiable(a),n,r,s,i)||(o=!1);else{const t=e.getDeclarations()[0],n=1!==(null==t?void 0:t.type)||t.isFinal?0:1;Jn(c,a,r,s,n,i)||(o=!1)}}}})),t.details.baseClasses.forEach((r=>{_o(r)&&Zs.isProtocolClass(r)&&!Zs.isBuiltIn(r,"object")&&!Zs.isBuiltIn(r,"Protocol")&&r.details.typeParameters.length>0&&(e(ka(t,r),ka(n,r),i)||(o=!1))})),o},assignTypeToExpression:xe,getBuiltInObject:Cn,getTypingType:ce,inferReturnTypeIfNecessary:Ln,addError:fe,addWarning:function(e,t,n){return ge("warning",e,t,n)},addInformation:me,addUnusedCode:function(e,t){ye(e)||Vt(e).diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unreachableCode(),t)},addDeprecated:function(e,t){ye(t)||Vt(t).diagnosticSink.addDeprecatedWithTextRange(e,t)},addDiagnostic:_e,addDiagnosticForTextRange:function(e,t,n,i,r){if("none"===t)return;const s=e.diagnosticSink.addDiagnosticWithTextRange(t,i,r);return n&&s.setRule(n),s},printType:ai,printFunctionParts:function(e){return Nl(e,t.printTypeFlags,Un)},getTypeCacheSize:function(){return s.size},useSpeculativeMode:kn,setTypeForNode:O,checkForCancellation:P},ci=function(e,t){const n=new Map,i=new Map,r=new Map;let s=0,o=1;function a(e,t){const i=new Set;if(n.has(e.id))return!0;n.set(e.id,!0);try{return function e(t,n,r=0){if(r>64)return!0;r++;let s=t;for(;;){if(i.has(s.id))return!1;if(i.add(s.id),s.flags&ft.Unreachable)return!1;if(s===n)return!0;if(s.flags&(ft.VariableAnnotation|ft.Assignment|ft.TrueCondition|ft.FalseCondition|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch))s=s.antecedent;else{if(!(s.flags&ft.Call)){if(s.flags&(ft.BranchLabel|ft.LoopLabel)){if(s.flags&ft.PostContextManager){const e=s;if(!e.expressions.some((t=>u(t,e.isAsync))))return!1}const t=s;for(const i of t.antecedents)if(e(i,n,r))return!0;return!1}if(s.flags&ft.Start)return!n;if(s.flags&ft.PreFinallyGate)return!s.isGateClosed;if(s.flags&ft.PostFinally){const t=s,i=t.preFinallyGate.isGateClosed;try{return t.preFinallyGate.isGateClosed=!0,e(t.antecedent,n,r)}finally{t.preFinallyGate.isGateClosed=i}}return E("Unexpected flow node flags"),!1}{const e=s;if(c(e.node))return!1;s=e.antecedent}}}}(e,t)}finally{n.delete(e.id)}}function l(e,t){let n=!0;return Jo(e,(e=>{bo(e)?Ao(e,t)||(n=!1):e.condition&&e.condition.some((e=>e.isConstrainedTypeVar&&e.typeVarName===t.nameWithScope))||(n=!1)})),n}function c(t){if(i.has(t.id))return i.get(t.id);i.set(t.id,!1);let n=0,r=0;const s=h(t.leftExpression);s&&Jo(s,(i=>{var s;let o;if(r++,_o(i)){if(i.details.effectiveMetaclass&&yo(i.details.effectiveMetaclass)&&!Zs.isBuiltIn(i.details.effectiveMetaclass,"type")&&va(i.details.effectiveMetaclass,"__call__",12))return;let t=va(i,"__init__",12);if(void 0===t&&(t=va(i,"__new__",12)),t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}else if(vo(i)){const t=va(i,"__call__",8);if(t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}if(Eo(i))o=i;else if(ko(i)){const e=i;o=e.overloads[e.overloads.length-1]}if(o){const i=o.details.declaredReturnType;if(Xs.isAsync(o))i&&vo(i)&&Zs.isBuiltIn(i,"Coroutine")&&i.typeArguments&&i.typeArguments.length>=3&&ao(i.typeArguments[2])&&6===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&n++;else if(i)ao(i)&&n++;else if(o.details.declaration&&!(o.details.declaration.yieldStatements||Xs.isAbstractMethod(o)||Xs.isStubDefinition(o)||Xs.isPyTypedDefinition(o))){const t=o.details.declaration.node.suite.statements;let i=!1;for(const e of t){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}}i||e.isAfterNodeReachable(o.details.declaration.node)||n++}}}));const o=r>0&&n===r;return i.set(t.id,o),o}function u(t,n){var i;if(r.has(t.id))return r.get(t.id);r.set(t.id,!1);let s,o=!1;if(9===t.nodeType){const e=h(t.leftExpression);if(e)if(_o(e))s=Fa(e);else if(Eo(e))s=e.details.declaredReturnType;else if(ko(e)){const t=e.overloads.find((e=>Xs.isOverloaded(e)));t&&(s=t.details.declaredReturnType)}}else 38===t.nodeType&&(s=e.getDeclaredTypeForExpression(t));if(s&&vo(s)){const r=n?"__aexit__":"__exit__",a=null===(i=e.getTypeFromObjectMember(t,s,r))||void 0===i?void 0:i.type;if(a&&Eo(a)&&a.details.declaredReturnType){const e=a.details.declaredReturnType;o=vo(e)&&Zs.isBuiltIn(e,"bool")}}return r.set(t.id,o),o}function p(t,n){const i=Rt(t.node.module);w(void 0!==i&&i.isImportFound),w(t.node.isWildcardImport);const r=e.lookUpSymbolRecursive(t.node,n,!1);w(void 0!==r);const s=r.symbol.getDeclarations().find((e=>e.node===t.node));return s&&e.getInferredTypeOfDeclaration(r.symbol,s)||Ys.create()}function d(t,n){var i;const r=e.getDeclaredTypeOfSymbol(t);if(r)return r;const s=t.getDeclarations().filter((e=>!e.isInExceptSuite));if(0===s.length)return;const o=s[s.length-1];return 2===o.type?null===(i=e.evaluateTypeForSubnode(o.node.name,(()=>{e.evaluateTypeOfParameter(o.node)})))||void 0===i?void 0:i.type:6===o.type||n?e.getInferredTypeOfDeclaration(t,o):void 0}function h(t){if(38===t.nodeType){const n=e.lookUpSymbolRecursive(t,t.value,!1);if(!n)return;return d(n.symbol,n.isBeyondExecutionScope)}if(35===t.nodeType){const n=t.memberName.value;let i=h(t.leftExpression);if(!i)return;i=e.makeTopLevelTypeVarsConcrete(i);const r=Ko(i,(e=>{var t;let i;if(To(e))i=Qs.getField(e,n);else if(yo(e)){const t=va(e,n);i=t?t.symbol:void 0}return i&&null!==(t=d(i,!1))&&void 0!==t?t:Ys.create()}));if(!ao(r))return r}if(9===t.nodeType){const e=h(t.leftExpression);if(!e)return;if(e&&_o(e))return Fa(e);if(Eo(e))return e.details.declaredReturnType}}return{createCodeFlowAnalyzer:function(){const n=new Map;return{getTypeFromCodeFlow:function(i,r,l,d,h){const m=void 0!==r?At(r):void 0;let f;const g=void 0!==m&&void 0!==l?m+`.${l.toString()}`:".";let y=n.get(g);function _(e,n,i){if(i){const t=y.get(e.id);if(void 0===t)o++;else if(n&&t.isIncompleteType){const e=t;e.type&&!Ao(e.type,n)&&o++}}else o++;const r=i?{isIncompleteType:!0,type:n,incompleteSubtypes:[],generationCount:o}:n;return y.set(e.id,r),t.trackEntry(y,e.id),{type:n,isIncomplete:i,generationCount:o,incompleteSubtypes:i?[]:void 0}}function v(e,t,n,i,r){const s=y.get(e.id);void 0!==s&&Nu(s)||E("setIncompleteSubtype can be called only on a valid incomplete cache entry");const a=s.incompleteSubtypes;if(t0){const e=[];t.incompleteSubtypes.forEach((t=>{t.type&&e.push(t.type)})),n=e.length>0?Oo(e):void 0}return{type:n,isIncomplete:!0,incompleteSubtypes:t.incompleteSubtypes,generationCount:t.generationCount}}function S(e){y.delete(e.id)}function x(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)}))}return y||(y=new Map,n.set(g,y)),i?function t(n,i,r,l,d){var h;let g=n;const y=s;for(s++,e.checkForCancellation();;){const C=I(g);if(C){if(!C.isIncomplete)return C;if(C.generationCount===o)return{type:(null==C?void 0:C.type)?Po(C.type):void 0,isIncomplete:!0}}if(g.flags&ft.Unreachable)return _(g,void 0,!1);if(g.flags&ft.VariableAnnotation)g=g.antecedent;else if(g.flags&ft.Call){const e=g;if(c(e.node))return _(g,void 0,!1);g=e.antecedent}else if(g.flags&ft.Assignment){const t=g;if(i){if(r===t.targetSymbolId&&Lr(i,t.node)){if(g.flags&ft.Unbind)return _(g,Js.create(),!1);if(C&&void 0===C.type)return{type:void 0,isIncomplete:!0};_(g,i?void 0:l,!0);let n=x(t);return n&&(ea(n.type)||35===i.nodeType&&e.isAsymmetricDescriptorAssignment(t.node))&&(n=void 0),_(g,null==n?void 0:n.type,!!(null==n?void 0:n.isIncomplete))}if(Ur(i,t.node))return{type:l,isIncomplete:d}}g=t.antecedent}else{if(g.flags&ft.BranchLabel){const e=g;if(g.flags&ft.PostContextManager){const e=g;if(e.expressions.some((t=>u(t,e.isAsync)))===e.blockIfSwallowsExceptions)return _(g,void 0,!1)}if(i&&e.preBranchAntecedent&&e.affectedExpressions&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t)))&&a(g,e.preBranchAntecedent))){g=e.preBranchAntecedent;continue}const n=g,o=[];let c=!1;_(g,i?void 0:l,!0),n.antecedents.forEach((e=>{const n=t(e,i,r,l,d);n.isIncomplete&&(c=!0),n.type&&o.push(n.type)}));const p=i||o.length>0?Oo(o):void 0;return s-y>16384&&(c=!1),_(g,p,c)}if(g.flags&ft.LoopLabel){const e=g;if(i&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t))))){g=e.antecedents[0];continue}let o,a=!1,c=I(g);void 0===c?c=_(g,i?void 0:l,!0):o=c.type;const u=void 0!==c.incompleteSubtypes&&c.incompleteSubtypes.some((e=>e.isPending)),p=T(g);if(u&&(null===(h=c.incompleteSubtypes)||void 0===h?void 0:h.every((e=>e.isPending))))return{type:c.type,isIncomplete:!0};if(e.antecedents.forEach(((e,n)=>{var s;c=I(g);const o=void 0!==c.incompleteSubtypes&&n=64?c.incompleteSubtypes[0].isIncomplete:void 0!==i;return s-y>16384&&(e=!1),{type:c.type,isIncomplete:e}}return a&&o&&c.type&&(Ao(o,c.type)?b(n)>2&&(a=!1):b(n,!0)),a?{type:(null==c?void 0:c.type)?Po(c.type):void 0,isIncomplete:!1}:_(g,c.type,!1)}if(g.flags&(ft.TrueCondition|ft.FalseCondition)){const n=g;if(i){_(g,i?void 0:l,!0);try{const s=ou(e,i,n.expression,!!(n.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(s){const e=t(n.antecedent,i,r,l,d);let o=e.type;return o&&(o=s(o)),_(g,o,e.isIncomplete)}S(g)}catch(e){throw S(g),e}}g=n.antecedent}else if(g.flags&(ft.TrueNeverCondition|ft.FalseNeverCondition)){const t=g;if(t.reference&&At(t.reference)!==m){const n=e.lookUpSymbolRecursive(t.reference,t.reference.value,!1);if(n&&n.symbol.getTypedDeclarations().length>0){_(g,i?void 0:l,!0);try{const n=ou(e,t.reference,t.expression,!!(t.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(n){const i=e.getTypeOfExpression(t.reference);if(ao(n(i.type)||i.type))return _(g,void 0,!!i.isIncomplete)}S(g)}catch(e){throw S(g),e}}}g=t.antecedent}else if(g.flags&ft.ExhaustedMatch){const t=g,n=e.evaluateTypeForSubnode(t.node,(()=>{e.evaluateTypesForMatchNode(t.node)}));if(n&&ao(n.type))return _(g,void 0,!!n.isIncomplete);g=t.antecedent}else if(g.flags&ft.NarrowForPattern){const t=g;if(!i||Lr(i,t.subjectExpression)){const n=e.evaluateTypeForSubnode(t.statement,(()=>{64===t.statement.nodeType?e.evaluateTypesForCaseNode(t.statement):e.evaluateTypesForMatchNode(t.statement)}));if(n){if(i)return _(g,n.type,!!n.isIncomplete);if(ao(n.type))return _(g,void 0,!!n.isIncomplete)}}g=t.antecedent}else{if(g.flags&ft.PreFinallyGate){const e=g;if(e.isGateClosed)return{type:void 0,isIncomplete:!1};_(g,i?void 0:l,!0);try{const n=t(e.antecedent,i,r,l,d);return S(g),{type:n.type,isIncomplete:n.isIncomplete}}catch(e){throw S(g),e}}if(g.flags&ft.PostFinally){const n=g,s=n.preFinallyGate.isGateClosed;try{let o;return n.preFinallyGate.isGateClosed=!0,e.useSpeculativeMode(n.finallyNode,(()=>{o=t(n.antecedent,i,r,l,d)})),o.isIncomplete?o:_(g,o.type,!1)}finally{n.preFinallyGate.isGateClosed=s}}if(g.flags&ft.Start)return _(g,l,d);if(!(g.flags&ft.WildcardImport))return E("Unexpected flow node flags"),_(g,void 0,!1);{const e=g;if(i&&38===i.nodeType){const t=i.value;if(e.names.some((e=>e===t))){_(g,i?void 0:l,!0);try{const n=p(e,t);return _(g,n,!1)}catch(e){throw S(g),e}}}g=e.antecedent}}}}}(i,r,l,d,h):{type:d,isIncomplete:h}}}},isFlowNodeReachable:a,narrowConstrainedTypeVar:function(t,n){w(!n.details.isParamSpec),w(!n.details.isVariadic),w(!n.details.boundType),w(n.details.constraints.length>0);const i=new Set,r=[];for(const e of n.details.constraints){if(!vo(e))return;r.push(e)}const s=function t(n,s){let o=n;for(;;){if(i.has(o.id))return r;if(o.flags&(ft.Unreachable|ft.Start))return r;if(o.flags&(ft.VariableAnnotation|ft.Assignment|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch|ft.PostFinally|ft.PreFinallyGate|ft.Call))o=o.antecedent;else{if(!(o.flags&(ft.TrueCondition|ft.FalseCondition))){if(o.flags&(ft.BranchLabel|ft.LoopLabel)){const e=o,n=[];i.add(o.id);for(const i of e.antecedents){const e=t(i,s);for(const t of e)n.some((e=>Ao(e,t)))||n.push(t)}return i.delete(o.id),n}return E("Unexpected flow node flags"),r}{const n=o,r=n.expression,a=0!=(o.flags&ft.TrueCondition);if(9===r.nodeType&&38===r.leftExpression.nodeType&&"isinstance"===r.leftExpression.value&&2===r.arguments.length){const c=r.arguments[0].valueExpression;if(l(e.getTypeOfExpression(c).type,s)){i.add(o.id);const l=t(n.antecedent,s);i.delete(o.id);const c=r.arguments[1].valueExpression,u=e.getTypeOfExpression(c,void 0,168).type;if(_o(u))return l.filter((e=>Zs.isSameGenericClass(e,u)?a:!a))}}o=n.antecedent}}}}(t,n);return 1===s.length?s[0]:void 0}}}(li,c);return li}class Xu{constructor(e){this.importName=e,this.isAccessed=!1}}class ep extends Xu{constructor(e,t,n){super(e),this.alias=t,this.symbol=n}}class tp extends Xu{constructor(e,t,n){super(e),this.isWildcardImport=t,this.node=n,this.symbols=[]}addSymbol(e,t,n,i=!1){this.symbols.find((e=>e.name===t))||this.symbols.push({symbol:e,name:t,alias:n,isAccessed:i})}}class np extends _r{constructor(e,t){super(),this._accessedImportedSymbols=e,this._treatStringsAsSymbols=t}analyze(e){this.walk(e)}walk(e){zt(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 ip extends _r{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){zt(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}`;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&&!Yt(t)){this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n,i=e.isAsync?"async ":"";if(i+=`def ${t}`,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&&Eo(t.functionType)){let e=this._evaluator.getFunctionInferredReturnType(t.functionType);e=Po(e),ao(e)||po(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}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&&_o(n)&&Zs.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;38===n.nodeType&&"self"===n.value&&(Yt(e.valueExpression.memberName.value)||(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=zs(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:"",r=t.lookUpSymbolRecursive(i);if(r){const t=new ep(n,e.alias?e.alias.value:void 0,r.symbol);this._trackedImportAs.set(n,t)}}})),!1}visitImportFrom(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);if(t){const n=this._printModuleName(e.module);let i=this._trackedImportFrom.get(n);i||(i=new tp(n,e.isWildcardImport,e),this._trackedImportFrom.set(n,i)),e.imports.forEach((e=>{const n=e.alias?e.alias.value:e.name.value,r=t.lookUpSymbolRecursive(n);r&&i.addSymbol(r.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;ee.value)).join("."),t}_printParameter(e,t,n){let i="";1===e.category?i+="*":2===e.category&&(i+="**"),e.name&&(i+=e.name.value);const r=this._evaluator.getTypeAnnotationForParameter(t,n);let s="";return r&&(s=this._printExpression(r,!0)),s&&(i+=": "+s),e.defaultValue&&(i+=s?" = ...":"=..."),i}_printExpression(e,t=!1,n=!1){return new np(this._accessedImportedSymbols,n).analyze(e),xr(e,t?1:0)}_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")}}class rp{constructor(e,t,n,i,r,s){this._extension=i,this._disableChecker=s,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=ke(this._fs,e),this.addTrackedFile(e),n=this._getSourceFileInfoFromPath(e)))}}if(!n)return;n.sourceFile.isBindingRequired()&&Fn.typeCheckerTime.subtractFromTime((()=>{this._bindFile(n)}));const i=n.sourceFile.getModuleSymbolTable();if(!i)return;const r=n.sourceFile.getParseResults(),s=r.parseTree,o=Wt(r.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 qr(s.statements)}}},this._console=n||new Un,this._logTracker=null!=r?r:new Bn(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(ke(this._fs,e),e)})),this._sourceFileList.forEach((e=>{const n=ke(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);if(i)return i.isTracked=!0,i.sourceFile;const r=this._getImportNameForFile(e),s=new Ru(this._fs,e,r,t,n,this._console,this._logTracker);return i={sourceFile:s,isTracked:!0,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:t,isThirdPartyPyTypedPresent:n,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(i),s}setFileOpened(e,t,n,i){var r,s;let o=this._getSourceFileInfoFromPath(e);if(o)o.isOpenByClient=!0,o.diagnosticsVersion=0;else{const t=this._getImportNameForFile(e),n=new Ru(this._fs,e,t,!1,!1,this._console,this._logTracker,null!==(r=null==i?void 0:i.ipythonMode)&&void 0!==r&&r),a=null==i?void 0:i.chainedFilePath;o={sourceFile:n,isTracked:null!==(s=null==i?void 0:i.isTracked)&&void 0!==s&&s,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)}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()}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 r=this._getSourceFileInfoFromPath(e);if(r){const s=de(e);if("builtins.pyi"===s||"__builtins__.pyi"===s)return void this.markAllFilesDirty(t,n);(t||!r.isOpenByClient&&r.sourceFile.didContentsChangeOnDisk())&&(r.sourceFile.markDirty(n),this._markFileDirtyRecursive(r,i))}})),i.size>0&&this._createNewEvaluator()}getFileCount(){return this._sourceFileList.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}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=ot.CancellationToken.None){return this._runEvaluatorWithCancellationToken(t,(()=>{const t=new Pn,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(this._isUserCode(e)&&this._checkTypes(e)&&t.getDurationInMilliseconds()>n)return!0}return!1}))}indexWorkspace(e,t){return this._configOptions.indexing?this._runEvaluatorWithCancellationToken(t,(()=>{const i=new Set;for(const e of this._sourceFileList)e.sourceFile.isParseRequired()||i.add(e);let r=0;for(const s of this._sourceFileList){if(!this._isUserCode(s)||!s.sourceFile.isIndexingRequired())continue;this._bindFile(s);const o=s.sourceFile.index({indexingForAutoImportMode:!1},t);if(o){if(++r>2e3)return this._console.warn("Workspace indexing has hit its upper limit: 2000 files"),n(this._sourceFileList,i),r;e(s.sourceFile.getFilePath(),o)}this._handleMemoryHighUsage()}return n(this._sourceFileList,i),r})):0;function n(e,t){for(const n of e)n.sourceFile.isParseRequired()||t.has(n)||n.sourceFile.dropParseAndBindInfo()}}printDependencies(e,t){const n=this._sourceFileList.filter((e=>!e.isTypeshedFile)).sort(((e,t)=>e.sourceFile.getFilePath(){this._console.info("");let r=n.sourceFile.getFilePath();const s=Y(r,e);s&&(r=s),this._console.info(`${r}`),this._console.info(` Imports ${n.imports.length} file`+(1===n.imports.length?"":"s")),t&&n.imports.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),this._console.info(` Imported by ${n.importedBy.length} file`+(1===n.importedBy.length?"":"s")),t&&n.importedBy.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),0===n.importedBy.length&&i.push(n.sourceFile)})),i.length>0&&(this._console.info(""),this._console.info(`${i.length} file${1===i.length?"":"s"} not explicitly imported`),i.forEach((e=>{this._console.info(` ${e.getFilePath()}`)})))}writeTypeStub(e,t,n,i){for(const r of this._sourceFileList){ct(i);const s=Y(r.sourceFile.getFilePath(),e);if(void 0!==s){let e=me(te(n,s));e=t?te($(e),"__init__.pyi"):he(e)+".pyi";const o=$(e);try{Q(this._fs,o,n)}catch(e){throw new Error(`Could not create directory for '${o}'`)}this._bindFile(r),this._runEvaluatorWithCancellationToken(i,(()=>{new ip(e,r.sourceFile,this._evaluator).write()})),this._handleMemoryHighUsage()}}}getTypeForSymbol(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 Ru(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=function(e,t,n,i){if(!t.logCalls&&o())return Zu(e,t);function r(e,r,s){return t.logCalls?n.log(e,(e=>(e.add(null==i?void 0:i.print(s)),Fn.typeEvaluationTime.timeOperation(r))),t.minimumLoggingThreshold,!0):Fn.typeEvaluationTime.timeOperation(r)}const s=Zu(t.logCalls?r=>n.log("import lookup",(t=>(t.add(null==i?void 0:i.printFileOrModuleName(r)),e(r))),t.minimumLoggingThreshold,!0):e,t);return{runWithCancellationToken:s.runWithCancellationToken,getType:e=>r("getType",(()=>s.getType(e)),e),getTypeOfExpression:(e,t,n)=>r("getTypeOfExpression",(()=>s.getTypeOfExpression(e,t,n)),e),getTypeOfAnnotation:s.getTypeOfAnnotation,getTypeOfClass:e=>r("getTypeOfClass",(()=>s.getTypeOfClass(e)),e),getTypeOfFunction:e=>r("getTypeOfFunction",(()=>s.getTypeOfFunction(e)),e),getTypeForExpressionExpectingType:s.getTypeForExpressionExpectingType,evaluateTypeForSubnode:s.evaluateTypeForSubnode,evaluateTypesForStatement:e=>r("evaluateTypesForStatement",(()=>s.evaluateTypesForStatement(e)),e),evaluateTypesForMatchNode:s.evaluateTypesForMatchNode,evaluateTypesForCaseNode:s.evaluateTypesForCaseNode,evaluateTypeOfParameter:s.evaluateTypeOfParameter,canBeTruthy:s.canBeTruthy,canBeFalsy:s.canBeFalsy,removeTruthinessFromType:s.removeTruthinessFromType,removeFalsinessFromType:s.removeFalsinessFromType,getExpectedType:e=>r("getExpectedType",(()=>s.getExpectedType(e)),e),verifyRaiseExceptionType:e=>r("verifyRaiseExceptionType",(()=>s.verifyRaiseExceptionType(e)),e),verifyDeleteExpression:e=>r("verifyDeleteExpression",(()=>s.verifyDeleteExpression(e)),e),isAfterNodeReachable:e=>r("isAfterNodeReachable",(()=>s.isAfterNodeReachable(e)),e),isNodeReachable:(e,t)=>r("isNodeReachable",(()=>s.isNodeReachable(e,t)),e),isAsymmetricDescriptorAssignment:s.isAsymmetricDescriptorAssignment,suppressDiagnostics:(e,t)=>r("suppressDiagnostics",(()=>s.suppressDiagnostics(e,t))),getDeclarationsForNameNode:e=>r("getDeclarationsForNameNode",(()=>s.getDeclarationsForNameNode(e)),e),getTypeForDeclaration:e=>r("getTypeForDeclaration",(()=>s.getTypeForDeclaration(e)),e),resolveAliasDeclaration:(e,t,n)=>r("resolveAliasDeclaration",(()=>s.resolveAliasDeclaration(e,t,n)),e),resolveAliasDeclarationWithInfo:(e,t,n)=>r("resolveAliasDeclarationWithInfo",(()=>s.resolveAliasDeclarationWithInfo(e,t,n)),e),getTypeFromIterable:(e,t,n)=>r("getTypeFromIterable",(()=>s.getTypeFromIterable(e,t,n)),e),getTypeFromIterator:(e,t,n)=>r("getTypeFromIterator",(()=>s.getTypeFromIterator(e,t,n)),e),getGetterTypeFromProperty:(e,t)=>r("getGetterTypeFromProperty",(()=>s.getGetterTypeFromProperty(e,t)),e),getTypeForArgument:s.getTypeForArgument,markNamesAccessed:(e,t)=>r("markNamesAccessed",(()=>s.markNamesAccessed(e,t)),e),getScopeIdForNode:s.getScopeIdForNode,makeTopLevelTypeVarsConcrete:e=>r("makeTopLevelTypeVarsConcrete",(()=>s.makeTopLevelTypeVarsConcrete(e)),e),mapSubtypesExpandTypeVars:s.mapSubtypesExpandTypeVars,populateTypeVarMapBasedOnExpectedType:s.populateTypeVarMapBasedOnExpectedType,lookUpSymbolRecursive:s.lookUpSymbolRecursive,getDeclaredTypeOfSymbol:s.getDeclaredTypeOfSymbol,getEffectiveTypeOfSymbol:e=>r("getEffectiveTypeOfSymbol",(()=>s.getEffectiveTypeOfSymbol(e)),e),getEffectiveTypeOfSymbolForUsage:(e,t,n)=>r("getEffectiveTypeOfSymbolForUsage",(()=>s.getEffectiveTypeOfSymbolForUsage(e,t,n)),e),getInferredTypeOfDeclaration:s.getInferredTypeOfDeclaration,getDeclaredTypeForExpression:s.getDeclaredTypeForExpression,getFunctionDeclaredReturnType:e=>r("getFunctionDeclaredReturnType",(()=>s.getFunctionDeclaredReturnType(e)),e),getFunctionInferredReturnType:(e,t)=>r("getFunctionInferredReturnType",(()=>s.getFunctionInferredReturnType(e,t)),e),getBestOverloadForArguments:(e,t,n)=>s.getBestOverloadForArguments(e,t,n),getBuiltInType:(e,t)=>r("getBuiltInType",(()=>s.getBuiltInType(e,t)),e),getTypeOfMember:e=>r("getTypeOfMember",(()=>s.getTypeOfMember(e)),e.symbol),getTypeFromObjectMember:s.getTypeFromObjectMember,getBoundMethod:s.getBoundMethod,getTypeFromMagicMethodReturn:s.getTypeFromMagicMethodReturn,bindFunctionToClassOrObject:s.bindFunctionToClassOrObject,getCallSignatureInfo:(e,t,n)=>r("getCallSignatureInfo",(()=>s.getCallSignatureInfo(e,t,n)),e),getTypeAnnotationForParameter:(e,t)=>r("getTypeAnnotationForParameter",(()=>s.getTypeAnnotationForParameter(e,t)),e),getAbstractMethods:e=>r("getAbstractMethods",(()=>s.getAbstractMethods(e)),e),narrowConstrainedTypeVar:s.narrowConstrainedTypeVar,canAssignType:(e,t,n,i,o)=>r("canAssignType",(()=>s.canAssignType(e,t,n,i,o)),e),canOverrideMethod:(e,t,n,i)=>r("canOverrideMethod",(()=>s.canOverrideMethod(e,t,n,i)),t),canAssignProtocolClassToSelf:(e,t)=>r("canAssignProtocolClassToSelf",(()=>s.canAssignProtocolClassToSelf(e,t))),assignTypeToExpression:s.assignTypeToExpression,getBuiltInObject:s.getBuiltInObject,getTypingType:s.getTypingType,inferReturnTypeIfNecessary:s.inferReturnTypeIfNecessary,addError:(e,t)=>r("addError",(()=>s.addError(e,t)),t),addWarning:(e,t)=>r("addWarning",(()=>s.addWarning(e,t)),t),addInformation:(e,t)=>r("addInformation",(()=>s.addInformation(e,t)),t),addUnusedCode:(e,t)=>r("addUnusedCode",(()=>s.addUnusedCode(e,t)),e),addDeprecated:(e,t)=>r("addDeprecated",(()=>s.addDeprecated(e,t)),t),addDiagnostic:(e,t,n,i)=>r("addDiagnostic",(()=>s.addDiagnostic(e,t,n,i)),i),addDiagnosticForTextRange:(e,t,n,i,o)=>r("addDiagnosticForTextRange",(()=>s.addDiagnosticForTextRange(e,t,n,i,o))),printType:(e,t)=>r("printType",(()=>s.printType(e,t)),e),printFunctionParts:e=>r("printFunctionParts",(()=>s.printFunctionParts(e)),e),getTypeCacheSize:s.getTypeCacheSize,useSpeculativeMode:s.useSpeculativeMode,setTypeForNode:s.setTypeForNode,checkForCancellation:s.checkForCancellation}}(this._lookUpImport,{printTypeFlags:rp._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?Fu(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 r=t=>{if(!t||t===e)return;if(this._bindFile(t),t.sourceFile.isFileDeleted())return;const n=t.sourceFile.getParseResults();if(!n)return;const i=Ft(n.parseTree);return w(void 0!==i),i};let s;e.builtinsImport&&e.builtinsImport!==e&&(s=null!==(i=null!==(n=r(e.chainedSourceFile))&&void 0!==n?n:r(e.ipythonDisplayImport))&&void 0!==i?i:r(e.builtinsImport)),e.sourceFile.bind(this._configOptions,this._lookUpImport,s)}_buildModuleSymbolsMap(e,t,n,i){return function(e,t,n){const i=new Map;return ct(n),e.forEach((e=>{if(e.shadows.length>0)return;const n=e.sourceFile.getFilePath(),r=e.sourceFile.getModuleSymbolTable();if(r){if(Yt(he(de(n))))return;return void i.set(n,{forEach(e){r.forEach(((t,n)=>{if(t.isExternallyHidden())return;const i=t.getDeclarations();if(!i||0===i.length)return;const r=i[0];if(!r)return;if(6===r.type)return;const s=1!==r.type||r.isConstant||r.isFinal?void 0:ot.SymbolKind.Variable;e({symbol:t,kind:s},n,!1)}))}})}const s=e.sourceFile.getCachedIndexResults();s&&t&&!s.privateOrProtected&&i.set(n,Gl(s,!1))})),i}(this._sourceFileList.filter((n=>n!==e&&(!t||this._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._evaluator),this._handleMemoryHighUsage(),"none"!==this._configOptions.diagnosticRuleSet.reportImportCycles&&!this._allowedThirdPartyImports){const t=new Map;this._getImportsRecursive(e,t,0),t.forEach((e=>{Fn.cycleDetectionTime.timeOperation((()=>{this._detectAndReportImportCycles(e)}))}))}return!0}))}_getImportsRecursive(e,t,n){const i=ke(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=new Map){if(e.sourceFile.isStubFile()||e.isThirdPartyImport)return;const i=ke(this._fs,e.sourceFile.getFilePath());if(n.has(i))t.length>1&&e===t[0]&&this._logImportCycle(t);else{if(n.has(i))return;n.set(i,!0),t.push(e);for(const i of e.imports)this._detectAndReportImportCycles(i,t,n);n.set(i,!1),t.pop()}}_logImportCycle(e){const t=new _c;e.forEach((e=>{t.appendPath(e.sourceFile.getFilePath())})),t.normalizeOrder();const n=t.getPaths()[0],i=this._getSourceFileInfoFromPath(n);w(void 0!==i),i.sourceFile.addCircularDependency(t)}_markFileDirtyRecursive(e,t,n=!1){const i=ke(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 r=i.sourceFile,s=r.getOpenFileContents();return void 0!==s?this._runEvaluatorWithCancellationToken(n,(()=>{this._parseFile(i);const e=r.getParseResults(),n=Ct(t,e.tokenizerOutput.lines);if(n)return s.substr(n.start,n.length)})):void 0}getAutoImports(e,t,n,i,r,s,o,a){const l=this._getSourceFileInfoFromPath(e);if(!l)return[];const c=l.sourceFile,u=c.getOpenFileContents();return void 0===u?[]:this._runEvaluatorWithCancellationToken(a,(()=>{this._bindFile(l);const p=c.getParseResults(),d=Ct(t,p.tokenizerOutput.lines);if(!d)return[];const h=Tr(p.parseTree,d.start);if(!h)return[];const m=u.substr(d.start,d.length),f=this._buildModuleSymbolsMap(l,!!r,!0,a),g=new Hl(this._configOptions.findExecEnvironment(e),this._importResolver,p,t.start,new $l,f,{lazyEdit:s,allowVariableInAll:o,libraryMap:r,patternMatcher:(e,t)=>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,s=Number.MAX_VALUE;for(;r>0;){const e=F()(n.substr(0,r),i);e=e.length?0:(e.length-s)/e.length*.5}(e,t)>n}),y=[],_=zs(h);if(_){const e=null==i?void 0:i.get(m);e&&y.push(...g.getAutoImportCandidatesForAbbr(m,e,a)),y.push(...g.getAutoImportCandidates(m,n,void 0,a).filter((e=>!_.lookUpSymbolRecursive(e.name))))}return y}))}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=>yt(e.range,t))):[]}getDefinitionsForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getDefinitionsForPosition(this._createSourceMapper(s),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 r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getTypeDefinitionsForPosition(this._createSourceMapper(r,!1,!0),t,this._evaluator,e,n)}))}reportReferencesForPosition(e,t,n,i,r){this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;const o=this._isUserCode(s);this._bindFile(s);const a=this._configOptions.findExecEnvironment(e),l=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(a),t,this._evaluator,i,r);if(l)if(l.requiresGlobalSearch){for(const e of this._sourceFileList)if(ct(r),e.isOpenByClient||!o||this._isUserCode(e)){const t=e.sourceFile.getFileContent();(!t||t.search(l.symbolName)>=0)&&(this._bindFile(e),e.sourceFile.addReferences(l,n,this._evaluator,r)),this._handleMemoryHighUsage()}if(n)for(const e of l.declarations){if(ct(r),l.locations.some((t=>t.path===e.path)))continue;const t=this._getSourceFileInfoFromPath(e.path);if(!t)continue;const i=new Xl(l.requiresGlobalSearch,l.nodeAtOffset,l.symbolName,l.declarations);t.sourceFile.addReferences(i,n,this._evaluator,r);for(const t of i.locations)t.path===e.path&&_t(e.range,t.range)&&l.addLocations(t)}}else s.sourceFile.addReferences(l,n,this._evaluator,r)}))}getFileIndex(e,t,n){if(!t.indexingForAutoImportMode||!Yt(he(de(e))))return this._handleMemoryHighUsage(),this._runEvaluatorWithCancellationToken(n,(()=>{var i;const r=this._getSourceFileInfoFromPath(e);if(!r)return;const s=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";return t.indexingForAutoImportMode&&!r.sourceFile.isStubFile()&&!r.sourceFile.isThirdPartyPyTypedPresent()&&s.indexOf("__all__")<0?void 0:(this._bindFile(r,s),r.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(!this._isUserCode(i))continue;i.sourceFile.getCachedIndexResults()||this._bindFile(i);const r=i.sourceFile.getSymbolsForDocument(e,n);r.length>0&&t(r),this._handleMemoryHighUsage()}}))}getHoverForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getHoverForPosition(this._createSourceMapper(s,!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 r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getDocumentHighlight(this._createSourceMapper(r),t,this._evaluator,n)}))}getSignatureHelpForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getSignatureHelpForPosition(t,this._createSourceMapper(s,!0),this._evaluator,n,i)}))}async getCompletionsForPosition(e,t,n,i,r,s,o){var a,l;const c=this._getSourceFileInfoFromPath(e);if(!c)return;const u=this._logTracker.log(`completion at ${e}:${t.line}:${t.character}`,(a=>{var l,u;const p=this._runEvaluatorWithCancellationToken(o,(()=>{this._bindFile(c);const a=this._configOptions.findExecEnvironment(e);return c.sourceFile.getCompletionsForPosition(t,n,this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,i,this._createSourceMapper(a,!0),r,s,(()=>this._buildModuleSymbolsMap(c,!!s,!1,o)),o)}));return a.add(`found ${null!==(u=null===(l=null==p?void 0:p.completionMap)||void 0===l?void 0:l.size)&&void 0!==u?u:"null"} items`),p})),p={completionList:Ln.CompletionList.create(null===(a=null==u?void 0:u.completionMap)||void 0===a?void 0:a.toArray()),memberAccessInfo:null==u?void 0:u.memberAccessInfo,autoImportInfo:null==u?void 0:u.autoImportInfo,extensionInfo:null==u?void 0:u.extensionInfo};if(!(null==u?void 0:u.completionMap)||!(null===(l=this._extension)||void 0===l?void 0:l.completionListExtension))return p;const d=c.sourceFile.getParseResults();if((null==d?void 0:d.parseTree)&&(null==d?void 0:d.text)){const e=xt(t,d.tokenizerOutput.lines);void 0!==e&&await this._extension.completionListExtension.updateCompletionResults(p,d,e,o)}return p}resolveCompletionItem(e,t,n,i,r,s){return this._runEvaluatorWithCancellationToken(s,(()=>{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,r,(()=>this._buildModuleSymbolsMap(o,!!r,!1,s)),t,s)}))}renameModule(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{if(ge(this._fs,e)&&!this._getSourceFileInfoFromPath(e))return;const i=gc.createForModule(this._importResolver,this._configOptions,this._evaluator,e,t,n);return i?(this._processModuleReferences(i,i.lastModuleName,e),i.getEdits()):void 0}))}moveSymbolAtPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=r.sourceFile.getParseResults();if(!s)return;const o=xt(n,s.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(s.parseTree,o);if(void 0===a)return;if(38!==a.nodeType)return;const l=this._configOptions.findExecEnvironment(e),c=Ml.getDeclarationsForNode(a,this._evaluator,!1,i,this._createSourceMapper(l)),u=gc.createForSymbol(this._importResolver,this._configOptions,this._evaluator,e,t,c,i);return u?(this._processModuleReferences(u,a.value,e),{edits:u.getEdits(),fileOperations:[]}):void 0}))}renameSymbolAtPosition(e,t,n,i,r){return this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;this._bindFile(s);const o=this._configOptions.findExecEnvironment(e),a=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(o),t,this._evaluator,void 0,r);if(!a)return;if(m(a.declarations,(e=>{var t;return!(!Gn(e)||e.usesLocalName&&e.node&&22!==e.node.nodeType&&(null===(t=e.node.alias)||void 0===t?void 0:t.value)===a.symbolName)})),0===a.declarations.length)return;if(!i&&a.declarations.some((e=>!this._isUserCode(this._getSourceFileInfoFromPath(e.path)))))return;if(a.requiresGlobalSearch&&!i)for(const e of this._sourceFileList)this._isUserCode(e)&&(this._bindFile(e),e.sourceFile.addReferences(a,!0,this._evaluator,r)),this._handleMemoryHighUsage();else(i||this._isUserCode(s))&&s.sourceFile.addReferences(a,!0,this._evaluator,r);const l=[];return a.locations.forEach((e=>{l.push({filePath:e.path,range:e.range,replacementText:n})})),l}))}getCallForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getCallForDeclaration(s.symbolName,o,this._evaluator,n)}getIncomingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);let a=[];for(const e of this._sourceFileList)if(this._isUserCode(e)||e.isOpenByClient){this._bindFile(e);const t=Jl.getIncomingCallsForDeclaration(e.sourceFile.getFilePath(),s.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 r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getOutgoingCallsForDeclaration(o,i.sourceFile.getParseResults(),this._evaluator,n)}performQuickAction(e,t,n,i){const r=this._getSourceFileInfoFromPath(e);if(r)return this._bindFile(r),r.sourceFile.performQuickAction(t,n,i)}getApiDocs(e,t){const n=[...t,Ln.MarkupKind.PlainText].map((e=>{switch(e){case Ln.MarkupKind.Markdown:return ds;case Ln.MarkupKind.PlainText:return hs;default:return}})).filter(Boolean)[0],i=e=>e?n(e):void 0,r=Object.create(null);for(const t of e){const e={leadingDots:0,nameParts:t.split("."),importedSymbols:[]},n=this._importResolver.resolveImport("",this._configOptions.findExecEnvironment("."),e);if(n.isImportFound){const e=n.resolvedPaths[n.resolvedPaths.length-1];this.addTrackedFiles([e],!0,!1);const s=this.getBoundSourceFile(e);if(s){const e=s.getParseResults().parseTree,n={id:t,name:t,kind:"module",fullName:t,docString:i(qr(e.statements)),children:[]};r[t]=n;const o=zs(e),a=(e,t,n)=>{n.forEach(((n,r)=>{if(!n.isExternallyHidden()&&!n.isPrivateMember()){const s=this.getTypeForSymbol(n),o=n.getDeclarations(),l=e=>o.some((t=>t.type===e));if(l(4)&&yo(s)){const n=s.details.fullName;e.push({id:n,name:r,children:[],docString:i(s.details.docString),fullName:n,kind:"class",baseClasses:s.details.baseClasses.map((e=>({name:e.details.name,fullName:e.details.fullName}))).filter((e=>"builtins.object"!==e.fullName))}),a(e[e.length-1].children,[...t,r],s.details.fields)}else if(l(3)&&Eo(s)){const t=s.details.fullName;e.push({id:t,name:r,docString:i(s.details.docString),fullName:t,kind:"function",params:this.apiDocsParamsInfo(s)})}else if(l(3)&&ko(s)){let t=1;for(const n of s.overloads){const s=n.details.fullName;e.push({id:`${s}-${t++}`,name:r,docString:i(n.details.docString),fullName:s,kind:"function",params:this.apiDocsParamsInfo(n)})}}else if(l(1)){const n=o.find((e=>1===e.type)),s=[...t,r].join(".");e.push({id:s,name:r,fullName:s,kind:"variable",docString:i(n.docString)})}else if(l(6)&&To(s)){const n=s.moduleName;e.push({id:n,name:r,children:[],docString:i(s.docString),fullName:n,kind:"module"}),a(e[e.length-1].children,[...t,r],s.fields)}}}))};a(n.children,[t],o.symbolTable)}}}return this._removeUnneededFiles(),r}apiDocsParamsInfo(e){return e.details.parameters.map((e=>({name:e.name,defaultValue:e.defaultValueExpression?xr(e.defaultValueExpression,0):void 0,category:0===e.category?"simple":1===e.category?"varargList":"varargDict"})))}test_createSourceMapper(e){return this._createSourceMapper(e,!1)}_processModuleReferences(e,t,n){var i;for(const r of this._sourceFileList){if(!this._isUserCode(r))continue;const s=r.sourceFile.getFilePath(),o=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";if(s!==n&&o.indexOf(t)<0)continue;this._bindFile(r,o);const a=r.sourceFile.getParseResults();a&&(e.renameReferences(s,a),this._handleMemoryHighUsage())}}_handleMemoryHighUsage(){if(this._evaluator.getTypeCacheSize()>75e4||this._parsedFileCount>1e3){const e={heapUsed:0,rss:1};if(e.heapUsed>.9*e.rss){const t=Math.round(e.rss/1048576),n=Math.round(e.heapUsed/1048576);this._console.info(`Emptying type cache to avoid heap overflow. Used ${n}MB out of ${t}MB`),this._createNewEvaluator(),this._discardCachedParseResults(),this._parsedFileCount=0}}}_discardCachedParseResults(){for(const e of this._sourceFileList)e.sourceFile.dropParseAndBindInfo()}_isUserCode(e){return e&&e.isTracked&&!e.isThirdPartyImport&&!e.isTypeshedFile}_runEvaluatorWithCancellationToken(e,t){try{return e?this._evaluator.runWithCancellationToken(e,t):t()}catch(e){throw e instanceof lt||this._createNewEvaluator(),e}}_removeUnneededFiles(){const e=[];for(let t=0;t{const r=i.importedBy.findIndex((e=>e===n));if(!(r<0||(i.importedBy.splice(r,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=ke(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 Xa(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(),r=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}},s=new Map;if(e.chainedSourceFile)if(e.chainedSourceFile.sourceFile.isFileDeleted())e.chainedSourceFile=void 0;else{const t=e.chainedSourceFile.sourceFile.getFilePath();s.set(ke(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=r(n);s.set(ke(this._fs,e),{path:e,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isPyTypedPresent:t.isPyTypedPresent})}}n.filteredImplicitImports.forEach((t=>{if(this._isImportAllowed(e,n,t.isStubFile)&&!t.isNativeLib){const e=r(n);s.set(ke(this._fs,t.path),{path:t.path,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:e.isThirdPartyImport,isPyTypedPresent:e.isPyTypedPresent})}}))}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=ke(this._fs,t.sourceFile.getFilePath());s.has(n)?o.set(n,t):t.importedBy=t.importedBy.filter((t=>ke(this._fs,t.sourceFile.getFilePath())!==ke(this._fs,e.sourceFile.getFilePath())))})),s.forEach(((t,i)=>{if(!o.has(i)){let r;if(this._getSourceFileInfoFromPath(t.path))r=this._getSourceFileInfoFromPath(t.path);else{const e=this._getImportNameForFile(t.path);r={sourceFile:new Ru(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(r),n.push(r)}r.importedBy.push(e),o.set(i,r)}})),e.imports=[],s.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 l=e.sourceFile.getIPythonDisplayImport();if(l&&l.isImportFound){const t=l.resolvedPaths[l.resolvedPaths.length-1];e.ipythonDisplayImport=this._getSourceFileInfoFromPath(t)}return n}_getSourceFileInfoFromPath(e){return this._sourceFileMap.get(ke(this._fs,e))}_removeSourceFileFromListAndMap(e,t){this._sourceFileMap.delete(ke(this._fs,e)),this._sourceFileList.splice(t,1)}_addToSourceFileListAndMap(e){const t=ke(this._fs,e.sourceFile.getFilePath());w(!this._sourceFileMap.has(t)),this._sourceFileList.push(e),this._sourceFileMap.set(t,e)}}function sp(e,t){try{const n=e();t.postMessage({kind:"ok",data:n})}catch(e){if(lt.is(e))return void t.postMessage({kind:"cancelled",data:e.message});t.postMessage({kind:"failed",data:`Exception: ${e.message} in ${e.stack}`})}}function op(e){return new Promise(((t,n)=>{e.on("message",(e=>{switch(e.kind){case"ok":t(e.data);break;case"cancelled":n(new lt);break;case"failed":n(e.data);break;default:E(`unknown kind ${e.kind}`)}}))}))}var ap=__webpack_require__(6341);__webpack_require__(198);class lp{static shouldCheck(){const e=Date.now().valueOf();return e-this._lastCheckTimestamp>=5&&(this._lastCheckTimestamp=e,!0)}}lp._lastCheckTimestamp=0;class cp{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||(lp.shouldCheck()&&this._pipeExists()&&this.cancel(),this.isCancelled)}get onCancellationRequested(){return this._emitter||(this._emitter=new ot.Emitter),this._emitter.event}dispose(){this._disposeEmitter()}_disposeEmitter(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}_pipeExists(){try{return ap.statSync(this.cancellationFilePath),!0}catch(e){return!1}}}function up(e){return e?new cp(e):ot.CancellationToken.None}function pp(e){return e instanceof cp?e.cancellationFilePath:void 0}function dp(e){return e.diagnostics=e.diagnostics.map((e=>({filePath:e.filePath,version:e.version,diagnostics:hp(e.diagnostics)}))),e}function hp(e){return e.map((e=>{const t=new nl(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}))}class mp{constructor(e,t){this.fileSpecs=[],this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.enableAmbientAnalysis=!0,this.analyzeUnannotatedFunctions=!0,this.executionRoot=e,this.fromVsCodeExtension=t}}class fp{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 gp(e=null){return new fp(e)}class yp{static runWithOptions(e,t,n,i,r=!0){const s=function(e,t,n,i,r){var s,o;const a=new mp(t,!0);return a.checkOnlyOpenFiles=n.openFilesOnly,a.useLibraryCodeForTypes=n.useLibraryCodeForTypes,a.typeCheckingMode=n.typeCheckingMode,a.autoImportCompletions=n.autoImportCompletions,a.indexing=n.indexing,a.logTypeEvaluationTime=null!==(s=n.logTypeEvaluationTime)&&void 0!==s&&s,a.typeEvaluationTimeThreshold=null!==(o=n.typeEvaluationTimeThreshold)&&void 0!==o?o:50,a.enableAmbientAnalysis=i,i?(a.watchForSourceChanges=n.watchForSourceChanges,a.watchForLibraryChanges=n.watchForLibraryChanges,a.watchForConfigChanges=n.watchForConfigChanges):(a.watchForSourceChanges=!1,a.watchForLibraryChanges=!1,a.watchForConfigChanges=!1),n.venvPath&&(a.venvPath=te(t||e,n.venvPath)),n.pythonPath&&(gn(n.pythonPath)||(a.pythonPath=te(t||e,n.pythonPath))),n.typeshedPath&&(a.typeshedPath=n.typeshedPath),n.stubPath&&(a.stubPath=n.stubPath),n.logLevel===On.Log&&(a.verboseOutput=!0),r&&(a.typeStubTargetImportName=r),a.autoSearchPaths=n.autoSearchPaths,a.extraPaths=n.extraPaths,a.diagnosticSeverityOverrides=n.diagnosticSeverityOverrides,a}(e,t.rootPath,n,r,i);t.serviceInstance.setOptions(s)}static async cloneService(e,t,n,i,r){const s={workspaceName:"temp workspace for cloned service",rootPath:t.rootPath,rootUri:t.rootUri,serviceInstance:t.serviceInstance.clone("cloned service",i,r),disableLanguageServices:!0,disableOrganizeImports:!0,isInitialized:gp()},o=await e.getSettings(t);return yp.runWithOptions(e.rootPath,s,o,n,!1),s.serviceInstance}}class _p{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=2){const n=e.arguments[0],i=e.arguments[1],r=e.arguments[2],s=await yp.cloneService(this._ls,await this._ls.getWorkspaceForFile(null!=r?r:n),i,this._ls.createBackgroundAnalysis());try{await s.writeTypeStubInBackground(t),s.dispose();const e=`Type stub was successfully created for '${i}'.`;this._ls.window.showInformationMessage(e),this._ls.reanalyze()}catch(e){if(lt.is(e)){const e=`Type stub creation for '${i}' 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 '${i}'`+t,this._ls.console.error(t),this._ls.window.showErrorMessage(t)}}}}}class vp{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=1){const n=e.arguments[0],i=e.arguments.slice(1),r=this._ls.decodeTextDocumentUri(n),s=await this._ls.getWorkspaceForFile(r);return"pyright.organizeimports"===e.command&&s.disableOrganizeImports?[]:function(e,t){if(!t)return{};const n=[];return t.forEach((e=>{n.push({range:e.range,newText:e.replacementText})})),{changes:{[e]:n}}}(n,s.serviceInstance.performQuickAction(r,e.command,i,t))}}}class Tp{constructor(e){this._ls=e}async execute(e){this._ls.restart()}}class bp{constructor(e){this._createStub=new _p(e),this._restartServer=new Tp(e),this._quickAction=new vp(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 ot.ResponseError(1,"Unsupported command")}}isLongRunningCommand(e){switch(e){case"pyright.createtypestub":return!0;default:return!1}}}class Ip{get kind(){return 2}getPythonSearchPaths(e,t){return null==t||t.push("No access to python executable."),{paths:[],prefix:""}}getPythonVersion(e,t){}getPythonPlatform(e){}}var Sp=__webpack_require__(7256);class xp{constructor(e,t,n,i,r,s,o){this._console=e,this._configOptions=t,this._importResolver=n,this._backgroundAnalysis=r,this._maxAnalysisTime=s,this._disableChecker=o,this._program=new rp(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 r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,[{text:n}],i),this._program.setFileOpened(e,t,[{text:n}],i)}initializeFileSystem(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.initializeFileSystem(e)}updateOpenFileContents(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.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):Mn(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,r]of i)n.setIndex(e,t,r)}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,i){return this._backgroundAnalysis?this._backgroundAnalysis.writeTypeStub(e,t,n,i):(Mn(this._program,void 0,this._configOptions,this._onAnalysisCompletion,this._console,i),this._program.writeTypeStub(e,t,n,i))}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 r=t.get(e);r||(r=new Map,t.set(e,r)),r.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})}}var Cp,wp=__webpack_require__(2125);function Ep(e){return 32===e||9===e||11===e||12===e||160===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function kp(e){return 10===e||13===e||8232===e||8233===e}function Dp(e){return e>=48&&e<=57}function Ap(e,t,n){void 0===n&&(n=Cp.DEFAULT);var i=function(e,t){void 0===t&&(t=!1);var n=e.length,i=0,r="",s=0,o=16,a=0,l=0,c=0,u=0,p=0;function d(t,n){for(var r=0,s=0;r=48&&o<=57)s=16*s+o-48;else if(o>=65&&o<=70)s=16*s+o-65+10;else{if(!(o>=97&&o<=102))break;s=16*s+o-97+10}i++,r++}return r=n)return s=n,o=17;var t=e.charCodeAt(i);if(Ep(t)){do{i++,r+=String.fromCharCode(t),t=e.charCodeAt(i)}while(Ep(t));return o=15}if(kp(t))return i++,r+=String.fromCharCode(t),13===t&&10===e.charCodeAt(i)&&(i++,r+="\n"),a++,c=i,o=14;switch(t){case 123:return i++,o=1;case 125:return i++,o=2;case 91:return i++,o=3;case 93:return i++,o=4;case 58:return i++,o=6;case 44:return i++,o=5;case 34:return i++,r=function(){for(var t="",r=i;;){if(i>=n){t+=e.substring(r,i),p=2;break}var s=e.charCodeAt(i);if(34===s){t+=e.substring(r,i),i++;break}if(92!==s){if(s>=0&&s<=31){if(kp(s)){t+=e.substring(r,i),p=2;break}p=6}i++}else{if(t+=e.substring(r,i),++i>=n){p=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 o=d(4,!0);o>=0?t+=String.fromCharCode(o):p=4;break;default:p=5}r=i}}return t}(),o=10;case 47:var h=i-1;if(47===e.charCodeAt(i+1)){for(i+=2;i=12&&e<=15);return e}:h,getToken:function(){return o},getTokenValue:function(){return r},getTokenOffset:function(){return s},getTokenLength:function(){return i-s},getTokenStartLine:function(){return l},getTokenStartCharacter:function(){return s-u},getTokenError:function(){return p}}}(e,!1);function r(e){return e?function(){return e(i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}function s(e){return e?function(t){return e(t,i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}var o=r(t.onObjectBegin),a=s(t.onObjectProperty),l=r(t.onObjectEnd),c=r(t.onArrayBegin),u=r(t.onArrayEnd),p=s(t.onLiteralValue),d=s(t.onSeparator),h=r(t.onComment),m=s(t.onError),f=n&&n.disallowComments,g=n&&n.allowTrailingComma;function y(){for(;;){var e=i.scan();switch(i.getTokenError()){case 4:_(14);break;case 5:_(15);break;case 3:_(13);break;case 1:f||_(11);break;case 2:_(12);break;case 6:_(16)}switch(e){case 12:case 13:f?_(10):h();break;case 16:_(1);break;case 15:case 14:break;default:return e}}}function _(e,t,n){if(void 0===t&&(t=[]),void 0===n&&(n=[]),m(e),t.length+n.length>0)for(var r=i.getToken();17!==r;){if(-1!==t.indexOf(r)){y();break}if(-1!==n.indexOf(r))break;r=y()}}function v(e){var t=i.getTokenValue();return e?p(t):a(t),y(),!0}return y(),17===i.getToken()?!!n.allowEmptyContent||(_(4,[],[]),!1):function e(){switch(i.getToken()){case 3:return function(){c(),y();for(var t=!1;4!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),4===i.getToken()&&g)break}else t&&_(6,[],[]);e()||_(4,[],[4,5]),t=!0}return u(),4!==i.getToken()?_(8,[4],[]):y(),!0}();case 1:return function(){o(),y();for(var t=!1;2!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),2===i.getToken()&&g)break}else t&&_(6,[],[]);(10!==i.getToken()?(_(3,[],[2,5]),0):(v(!1),6===i.getToken()?(d(":"),y(),e()||_(4,[],[2,5])):_(5,[],[2,5]),1))||_(4,[],[2,5]),t=!0}return l(),2!==i.getToken()?_(7,[2],[]):y(),!0}();case 10:return v(!0);default:return function(){switch(i.getToken()){case 11:var e=i.getTokenValue(),t=Number(e);isNaN(t)&&(_(2),t=0),p(t);break;case 7:p(null);break;case 8:p(!0);break;case 9:p(!1);break;default:return!1}return y(),!0}()}}()?(17!==i.getToken()&&_(9,[],[]),!0):(_(4,[],[]),!1)}!function(e){e.DEFAULT={allowTrailingComma:!1}}(Cp||(Cp={}));const Pp=["pyrightconfig.json"],Rp=X("/.git/"),Fp=/\.pyi?$/;class Np{constructor(e,t,n,i,r,s,o,a,l,c,u){this._typeStubTargetIsSingleFile=!1,this._requireTrackedFileUpdate=!0,this._lastUserInteractionTime=Date.now(),this._disposed=!1,this._instanceName=e,this._console=n||new Un,this._executionRootPath="",this._extension=o,this._importResolverFactory=r||Np.createImportResolver,this._maxAnalysisTimeInForeground=l,this._backgroundAnalysisProgramFactory=c,this._cancellationProvider=null!=u?u:new pt,this._hostFactory=null!=i?i:()=>new Ip,s=null!=s?s:new Ec("/");const p=this._importResolverFactory(t,s,this._hostFactory());this._backgroundAnalysisProgram=void 0!==c?c(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground):new xp(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground)}clone(e,t,n){const i=new Np(e,null!=n?n:this._fs,this._console,this._hostFactory,this._importResolverFactory,this._backgroundAnalysisProgram.configOptions,this._extension,t,this._maxAnalysisTimeInForeground,this._backgroundAnalysisProgramFactory,this._cancellationProvider);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 backgroundAnalysisProgram(){return this._backgroundAnalysisProgram}static createImportResolver(e,t,n){return new In(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=me(te(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=!1,r){this._backgroundAnalysisProgram.setFileOpened(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}updateOpenFileContents(e,t,n,i=!1,r){this._backgroundAnalysisProgram.updateOpenFileContents(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),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)}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,r,s,o){return this._program.getAutoImports(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r,s,o)}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,r){this._program.reportReferencesForPosition(e,t,n,i,r)}addSymbolsForDocument(e,t,n){this._program.addSymbolsForDocument(e,t,n)}reportSymbolsForWorkspace(e,t,n){this._program.reportSymbolsForWorkspace(e,t,n)}getApiDocs(e,t){return this._program.getApiDocs(e,t)}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,r,s){return this._program.getCompletionsForPosition(e,t,n,i,r,this._backgroundAnalysisProgram.getIndexing(e),s)}getEvaluator(){return this._program.evaluator}resolveCompletionItem(e,t,n,i,r){this._program.resolveCompletionItem(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r)}performQuickAction(e,t,n,i){return this._program.performQuickAction(e,t,n,i)}renameModule(e,t,n){return this._program.renameModule(e,t,n)}renameSymbolAtPosition(e,t,n,i,r){return this._program.renameSymbolAtPosition(e,t,n,i,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 analyzed: "+e.toString())}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,r;let s,o,a=t.executionRoot;t.configFilePath?(s=te(t.executionRoot,me(t.configFilePath)),this._fs.existsSync(s)?s.toLowerCase().endsWith(".json")?a=$(s):(a=s,s=this._findConfigFile(s),s||this._console.info(`Configuration file not found at ${a}.`)):(this._console.info(`Configuration file not found at ${s}.`),s=t.executionRoot)):a&&(s=this._findConfigFile(a),s||t.fromVsCodeExtension||(s=this._findConfigFileHereOrUp(a)),s?a=$(s):(this._console.info("No configuration file found."),s=void 0)),s||(o=this._findPyprojectTomlFile(a),o||t.fromVsCodeExtension||(o=this._findPyprojectTomlFileHereOrUp(a)),o?(a=$(o),this._console.info(`pyproject.toml file found at ${a}.`)):this._console.info("No pyproject.toml file found."));const l=new Ec(a,this._typeCheckingMode),c=["**/node_modules","**/__pycache__","**/.*"];let u;if(t.pythonPath&&(this._console.info(`Setting pythonPath for service "${this._instanceName}": "${t.pythonPath}"`),l.pythonPath=t.pythonPath),l.defaultPythonPlatform=t.pythonPlatform,l.defaultPythonVersion=t.pythonVersion,l.ensureDefaultExtraPaths(this._fs,t.autoSearchPaths||!1,t.extraPaths),t.fileSpecs.length>0?t.fileSpecs.forEach((e=>{l.include.push(be(a,e))})):s||t.executionRoot&&(l.include.push(be(t.executionRoot,".")),c.forEach((e=>{l.exclude.push(be(t.executionRoot,e))}))),this._configFilePath=s||o,s?(this._console.info(`Loading configuration file at ${s}`),u=this._parseJsonConfigFile(s)):o&&(this._console.info(`Loading pyproject.toml file at ${o}`),u=this._parsePyprojectTomlFile(o)),u){l.initializeFromJson(u,this._typeCheckingMode,this._console,e,t.diagnosticSeverityOverrides,t.fileSpecs.length>0);const n=$(this._configFilePath);0===l.include.length&&(this._console.info(`No include entries specified; assuming ${n}`),l.include.push(be(n,"."))),0===l.exclude.length&&(c.forEach((e=>{this._console.info(`Auto-excluding ${e}`),l.exclude.push(be(n,e))})),void 0===l.autoExcludeVenv&&(l.autoExcludeVenv=!0))}else l.autoExcludeVenv=!0,l.applyDiagnosticOverrides(t.diagnosticSeverityOverrides);l.analyzeUnannotatedFunctions=null===(n=t.analyzeUnannotatedFunctions)||void 0===n||n;const p=(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&&(l.venvPath?p("venvPath",l.venvPath):l.venvPath=t.venvPath),t.typeshedPath&&(l.typeshedPath?p("typeshedPath",l.typeshedPath):l.typeshedPath=t.typeshedPath),l.verboseOutput=null!==(i=t.verboseOutput)&&void 0!==i?i:l.verboseOutput,l.checkOnlyOpenFiles=!!t.checkOnlyOpenFiles,l.autoImportCompletions=!!t.autoImportCompletions,l.indexing=!!t.indexing,l.logTypeEvaluationTime=!!t.logTypeEvaluationTime,l.typeEvaluationTimeThreshold=t.typeEvaluationTimeThreshold,void 0===l.useLibraryCodeForTypes?l.useLibraryCodeForTypes=!!t.useLibraryCodeForTypes:void 0!==t.useLibraryCodeForTypes&&p("useLibraryCodeForTypes",l.useLibraryCodeForTypes),t.stubPath?l.stubPath?p("stubPath",l.stubPath):l.stubPath=t.stubPath:l.stubPath||(l.stubPath=me(te(l.projectRoot,"typings"))),l.venvPath&&(this._fs.existsSync(l.venvPath)&&fe(this._fs,l.venvPath)||this._console.error(`venvPath ${l.venvPath} is not a valid directory.`),l.venv=null!==(r=l.venv)&&void 0!==r?r:this._configOptions.venv,l.venv)){const t=te(l.venvPath,l.venv);if(this._fs.existsSync(t)&&fe(this._fs,t)){const t=[];void 0===fn(this._fs,l,e,t)&&(this._console.error(`site-packages directory cannot be located for venvPath ${l.venvPath} and venv ${l.venv}.`),l.verboseOutput&&t.forEach((e=>{this._console.error(` ${e}`)})))}else this._console.error(`venv ${l.venv} subdirectory not found in venv path ${l.venvPath}.`)}return l.venv&&(l.venvPath||this._console.warn("venvPath not specified, so venv settings will be ignored.")),l.typeshedPath&&(this._fs.existsSync(l.typeshedPath)&&fe(this._fs,l.typeshedPath)||this._console.error(`typeshedPath ${l.typeshedPath} is not a valid directory.`)),l.stubPath&&(this._fs.existsSync(l.stubPath)&&fe(this._fs,l.stubPath)||this._console.warn(`stubPath ${l.stubPath} is not a valid directory.`)),l}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)}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=te(e,t[0]),i=te(e,...t);try{this._fs.existsSync(i)||Q(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 z(e,(e=>this._findConfigFile(e)))}_findConfigFile(e){for(const t of Pp){const n=te(e,t);if(this._fs.existsSync(n))return n}}_findPyprojectTomlFileHereOrUp(e){return z(e,(e=>this._findPyprojectTomlFile(e)))}_findPyprojectTomlFile(e){const t=te(e,"pyproject.toml");if(this._fs.existsSync(t))return t}_parseJsonConfigFile(e){return this._attemptParseFile(e,(e=>function(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=Cp.DEFAULT);var i=null,r=[],s=[];function o(e){Array.isArray(r)?r.push(e):null!==i&&(r[i]=e)}return Ap(e,{onObjectBegin:function(){var e={};o(e),s.push(r),r=e,i=null},onObjectProperty:function(e){i=e},onObjectEnd:function(){r=s.pop()},onArrayBegin:function(){var e=[];o(e),s.push(r),r=e,i=null},onArrayEnd:function(){r=s.pop()},onLiteralValue:o,onError:function(e,n,i){t.push({error:e,offset:n,length:i})}},n),r[0]}(e)))}_parsePyprojectTomlFile(e){return this._attemptParseFile(e,((t,n)=>{try{const e=wp.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 r=!1;try{return t(n,i+1)}catch(e){r=!0}if(!r)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 Fn.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=vn(this._typeStubTargetImportName),n=this._backgroundAnalysisProgram.importResolver.resolveImport("",e,t);if(n.isImportFound){const e=[],t=n.resolvedPaths[n.resolvedPaths.length-1],i=ge(this._fs,t),r=i&&"__init__"===he(de(t));let s=t;i&&(s=$(s));for(let e=n.resolvedPaths.length-2;e>=0;e--)s=n.resolvedPaths[e]?n.resolvedPaths[e]:$(s);fe(this._fs,s)?this._typeStubTargetPath=s:ge(this._fs,s)&&(this._typeStubTargetPath=$(s)),t?(e.push(t),this._typeStubTargetIsSingleFile=1===n.resolvedPaths.length&&!r):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=[],r=Date.now();let s=!1;const o=(e,o)=>{if(s||.001*(Date.now()-r)>=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.'),s=!0),this._configOptions.autoExcludeVenv&&n.some((t=>this._fs.existsSync(te(e,...t)))))return void this._console.info(`Auto-excluding ${e}`);const{files:a,directories:c}=ve(this._fs,e);for(const n of a){const r=te(e,n);this._matchIncludeFileSpec(o,t,r)&&i.push(r)}for(const n of c){const i=te(e,n);o.test(i)&&(this._isInExcludePath(i,t)||l(i,o))}},a=new Set,l=(e,t)=>{const n=_e(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;const n=ye(this._fs,e.wildcardRoot);(null==n?void 0:n.isFile())?this._shouldIncludeFile(e.wildcardRoot)&&(i.push(e.wildcardRoot),t=!0):(null==n?void 0:n.isDirectory())&&(l(e.wildcardRoot,e.regExp),t=!0),t||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=>te(this._executionRootPath,e.wildcardRoot)));try{this._verboseOutput&&this._console.info(`Adding fs watcher for directories:\n ${e.join("\n")}`);const t=et(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(Rp))return;const i=ye(this._fs,n);if(!i||!i.isFile()||n.endsWith(".py")||n.endsWith(".pyi"))if("change"===e&&i)this._backgroundAnalysisProgram.markFilesDirty([n],!1),this._scheduleReanalysis(!1);else{const e=de(n).split(".");let t=!1;4===e.length&&e[3]===e[1]&&32===e[2].length&&(t=!0),t||(this.invalidateAndForceReanalysis(!1,!1),this._scheduleReanalysis(!0))}}))}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;const e=fn(this._fs,this._backgroundAnalysisProgram.configOptions,this._backgroundAnalysisProgram.host,[],!0,this._executionRootPath);if(e&&e.length>0)try{this._verboseOutput&&this._console.info(`Adding fs watcher for library directories:\n ${e.join("\n")}`);const t=et(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(){this._disposed||(this._clearLibraryReanalysisTimer(),this._libraryReanalysisTimer=setTimeout((()=>{this._clearLibraryReanalysisTimer(),this.invalidateAndForceReanalysis(!1),this._scheduleReanalysis(!1)}),6e5))}_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,t)=>{if(t&&("add"===e||"change"===e)){const n=de(t);n&&Pp.some((e=>e===n))&&(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?On.Info:On.Log;for(const t of this._configOptions.getExecutionEnvironments())Vn(this._console,e,`Search paths for ${t.root||""}`),n.getImportRoots(t,!0).forEach((t=>{Vn(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,r=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)}),r)}_reportConfigParseError(){this._onCompletionCallback&&this._onCompletionCallback({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!1,configParseErrorOccurred:!0,elapsedTime:0})}_shouldIncludeFile(e){return Fp.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))}}var Mp;!function(e){e.is=function(e){return e&&e.edits&&Ln.WorkspaceEdit.is(e.edits)}}(Mp||(Mp={})),__webpack_require__(6755);class Op{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())}}class Lp{constructor(e){this._fs=e}decodeTextDocumentPosition(e,t){return{filePath:we(this._fs,e.uri),position:t}}decodeTextDocumentUri(e){return we(this._fs,e)}}const Up=(0,Sp.attachWorkDone)(void 0,void 0);var qp=__webpack_require__(8764).Buffer;class Vp{constructor(e,t){if(this._keys=[],this._values=[],this._version=0,this._copyOnWrite=!1,this._comparer="object"==typeof e?e.comparer:e,this._order="object"==typeof e&&"insertion"===e.sort?[]:void 0,t){const e=Bp(t);try{for(let t=Wp(e);t;t=Wp(e)){const[e,n]=t.value;this.set(e,n)}}finally{jp(e)}}}get size(){return this._keys.length}get comparer(){return this._comparer}get[Symbol.toStringTag](){return"SortedMap"}has(e){return d(this._keys,e,t,this._comparer)>=0}get(e){const n=d(this._keys,e,t,this._comparer);return n>=0?this._values[n]:void 0}set(e,n){const i=d(this._keys,e,t,this._comparer);return i>=0?this._values[i]=n:(this._writePreamble(),u(this._keys,~i,e),u(this._values,~i,n),this._order&&u(this._order,~i,this._version),this._writePostScript()),this}delete(e){const n=d(this._keys,e,t,this._comparer);return n>=0&&(this._writePreamble(),this._orderedRemoveItemAt(this._keys,n),this._orderedRemoveItemAt(this._values,n),this._order&&this._orderedRemoveItemAt(this._order,n),this._writePostScript(),!0)}clear(){this.size>0&&(this._writePreamble(),this._keys.length=0,this._values.length=0,this._order&&(this._order.length=0),this._writePostScript())}forEach(e,t){const n=this._keys,i=this._values,r=this._getIterationOrder(),s=this._version;this._copyOnWrite=!0;try{if(r)for(const s of r)e.call(t,i[s],n[s],this);else for(let r=0;rt)).sort(((t,n)=>e[t]-e[n]))}}_orderedRemoveItemAt(e,t){for(let n=t;n=2&&"_"===e.charAt(0)&&"_"===e.charAt(1)?"_"+e:e}static _unescapeKey(e){return e.length>=3&&"_"===e.charAt(0)&&"_"===e.charAt(1)&&"_"===e.charAt(2)?e.slice(1):e}}zp._undefinedValue={};const $p=Object.freeze({EACCES:"access denied",EIO:"an I/O error occurred",ENOENT:"no such file or directory",EEXIST:"file already exists",ELOOP:"too many symbolic links encountered",ENOTDIR:"no such directory",EISDIR:"path is a directory",EBADF:"invalid file descriptor",EINVAL:"invalid value",ENOTEMPTY:"directory not empty",EPERM:"operation not permitted",EROFS:"file system is read-only"});function Hp(e,t=""){const n=new Error(`${e}: ${$p[e]} ${t}`);return n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,Hp),n}const Gp=function(){const e=Ie();return new RegExp(`^(?!(${e}|${e}${e}w+${e}|[a-zA-Z]:${e}?|)$)`)}(),Kp=/[:*?"<>|]/,Jp=/[:"<>|]/,Yp=/^\.{1,2}$|[:*?"<>|]/,Qp=/^\.{1,2}$|[:"<>|]/,Zp=/\.\w+$/;function Xp(e,t=2016){const n=G(e),i=ce(e);if(!function(e,t,n){const i=!!e[0],r=e.length>2,s=e.length>1,o=s&&Zp.test(e[e.length-1]),a=1024&t?2048&t?Jp:Kp:2048&t?Qp:Yp;if(1&t&&!i)return!1;if(2&t&&!r)return!1;if(4&t&&!s)return!1;if(8&t&&!o)return!1;if(16&t&&!n)return!1;if(1&t&&(t|=32),2&t&&(t|=64),4&t&&(t|=128),8&t&&(t|=256),16&t&&(t|=512),32&~t&&i)return!1;if(64&~t&&r)return!1;if(128&~t&&s)return!1;if(256&~t&&o)return!1;if(512&~t&&n)return!1;if(Gp.test(e[0]))return!1;for(let t=1;t1&&i?J(K(n))+S.sep:J(K(n))}var ed=__webpack_require__(8764).Buffer;const td=X("/");let nd=0,id=0;class rd{constructor(e,t={}){this._lazy={},this._tmpfileCounter=0;const{time:n=-1,files:i,meta:r}=t;if(this.ignoreCase=e,this.stringComparer=this.ignoreCase?ae:oe,this._time=n,r)for(const e of Object.keys(r))this.meta.set(e,r[e]);i&&this._applyFiles(i,"");let s=t.cwd;if((!s||!Se(s))&&this._lazy.links){const e=Bp(this._lazy.links.keys());try{for(let t=Wp(e);t;t=Wp(e)){const e=t.value;s=s?ee(e,s):e;break}}finally{jp(e)}}s&&(Xp(s,2017),this.mkdirpSync(s)),this._cwd=s||""}get meta(){return this._lazy.meta||(this._lazy.meta=new zp(this._shadowRoot?this._shadowRoot.meta:void 0)),this._lazy.meta}get isReadonly(){return Object.isFrozen(this)}makeReadonly(){return Object.freeze(this),this}get shadowRoot(){return this._shadowRoot}snapshot(){if(this.isReadonly)return;const e=new rd(this.ignoreCase,{time:this._time});e._lazy=this._lazy,e._cwd=this._cwd,e._time=this._time,e._shadowRoot=this._shadowRoot,e._dirStack=this._dirStack,e.makeReadonly(),this._lazy={},this._shadowRoot=e}shadow(e=this.ignoreCase){if(!this.isReadonly)throw new Error("Cannot shadow a mutable file system.");if(e&&!this.ignoreCase)throw new Error("Cannot create a case-insensitive file system from a case-sensitive one.");const t=new rd(e,{time:this._time});return t._shadowRoot=this,t._cwd=this._cwd,t}time(e){if(void 0!==e&&this.isReadonly)throw Hp("EPERM");let t=this._time;return"function"==typeof t&&(t=t()),"object"==typeof t&&(t=t.getTime()),-1===t&&(t=Date.now()),void 0!==e&&(this._time=e),t}filemeta(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");return this._filemeta(t)}_filemeta(e){if(!e.meta){const t=e.shadowRoot&&this._shadowRoot&&this._shadowRoot._filemeta(e.shadowRoot);e.meta=new zp(t)}return e.meta}cwd(){if(!this._cwd)throw new Error("The current working directory has not been set.");const{node:e}=this._walk(this._cwd);if(!e)throw Hp("ENOENT");if(!vd(e))throw Hp("ENOTDIR");return this._cwd}chdir(e){if(this.isReadonly)throw Hp("EPERM");e=this._resolve(e);const{node:t}=this._walk(e);if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");this._cwd=e}pushd(e){if(this.isReadonly)throw Hp("EPERM");e&&(e=this._resolve(e)),this._cwd&&(this._dirStack||(this._dirStack=[]),this._dirStack.push(this._cwd)),e&&e!==this._cwd&&this.chdir(e)}popd(){if(this.isReadonly)throw Hp("EPERM");const e=this._dirStack&&this._dirStack.pop();e&&this.chdir(e)}apply(e){this._applyFiles(e,this._cwd)}scanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e)),t,n,!1,i),i}lscanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e,!0)),t,n,!0,i),i}createFileSystemWatcher(e,t){return{close:()=>{}}}getModulePath(){return td}tmpdir(){return this.mkdirpSync("/tmp"),X("/tmp")}tmpfile(e){const t=(null==e?void 0:e.prefix)||"tmp",n=(null==e?void 0:e.prefix)?"-"+e.prefix:"",i=`${t}-${this._tmpfileCounter++}${n}`,r=te(this.tmpdir(),i);return this.writeFileSync(r,""),r}realCasePath(e){return e}isMappedFilePath(e){return!1}getOriginalFilePath(e){return e}getMappedFilePath(e){return e}getUri(e){return x.file(e).toString()}_scan(e,t,n,i,r,s){if("ancestors-or-self"!==n&&"self"!==n&&"descendants-or-self"!==n||i.accept&&!i.accept(e,t)||s.push(e),"ancestors-or-self"===n||"ancestors"===n){const t=$(e);if(t!==e)try{const e=this._stat(this._walk(t,r));i.traverse&&!i.traverse(t,e)||this._scan(t,e,"ancestors-or-self",i,r,s)}catch{}}if(("descendants-or-self"===n||"descendants"===n)&&t.isDirectory()&&(!i.traverse||i.traverse(e,t)))for(const t of this.readdirSync(e))try{const n=te(e,t),o=this._stat(this._walk(n,r));this._scan(n,o,"descendants-or-self",i,r,s)}catch{}}mountSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");e=Xp(e,2017);const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(t),!0);if(s)throw Hp("EEXIST");const a=this.time(),l=this._mknod(i?i.dev:++nd,fd,511,a);l.source=e,l.resolver=n,this._addLink(i,r,o,l,a)}rimrafSync(e){try{const t=this.lstatSync(e);if(t.isFile()||t.isSymbolicLink())this.unlinkSync(e);else if(t.isDirectory()){for(const t of this.readdirSync(e))this.rimrafSync(te(e,t));this.rmdirSync(e)}}catch(e){if("ENOENT"===e.code)return;throw e}}mkdirpSync(e){e=this._resolve(e);const t=this._walk(e,!0,((e,t)=>"ENOENT"===e.code?(this._mkdir(t),"retry"):"throw"));t.node||this._mkdir(t)}getFileListing(){let e="";const t=(n,i)=>{const r=Bp(i);try{for(let i=Wp(r);i;i=Wp(r)){const[r,c]=i.value,u=n?te(n,r):r,p=0===(s=this._cwd,o=u,a=this.ignoreCase,l=void 0,s=me(s),o=me(o),"string"==typeof a?(s=te(a,s),o=te(a,o)):"boolean"==typeof a&&(l=a),xe(s,o,U(l)))?"*":" ";e&&(e+="\n"),e+=p,vd(c)?(e+=le(u),t(u,this._getLinks(c))):_d(c)?e+=u:Td(c)&&(e+=`${u} -> ${c.symlink}`)}}finally{jp(r)}var s,o,a,l};return t(void 0,this._getRootLinks()),e}debugPrint(){console.log(this.getFileListing())}existsSync(e){const t=this._walk(this._resolve(e),!0,(()=>"stop"));return void 0!==t&&void 0!==t.node}statSync(e){return this._stat(this._walk(this._resolve(e)))}utimesSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");if(!isFinite(+t)||!isFinite(+n))throw Hp("EINVAL");const i=this._walk(this._resolve(e));if(!i||!i.node)throw Hp("ENOENT");i.node.atimeMs=+t,i.node.mtimeMs=+n,i.node.ctimeMs=this.time()}lstatSync(e){return this._stat(this._walk(this._resolve(e),!0))}_stat(e){const t=e.node;if(!t)throw Hp("ENOENT",e.realpath);return new Id(t.dev,t.ino,t.mode,t.nlink,0,_d(t)?this._getSize(t):Td(t)?t.symlink.length:0,4096,0,t.atimeMs,t.mtimeMs,t.ctimeMs,t.birthtimeMs)}readdirSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).keys())}readdirEntriesSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).entries()).map((([e,t])=>function(e,t){return{isFile:()=>_d(t),isDirectory:()=>vd(t),isBlockDevice:()=>!1,isCharacterDevice:()=>!1,isFIFO:()=>!1,isSocket:()=>!1,isSymbolicLink:()=>Td(t),name:e}}(e,t)))}mkdirSync(e){if(this.isReadonly)throw Hp("EROFS");this._mkdir(this._walk(this._resolve(e),!0))}_mkdir({parent:e,links:t,node:n,basename:i}){if(n)throw Hp("EEXIST");const r=this.time(),s=this._mknod(e?e.dev:++nd,fd,511,r);this._addLink(e,t,i,s,r)}rmdirSync(e){if(this.isReadonly)throw Hp("EROFS");e=this._resolve(e);const{parent:t,links:n,node:i,basename:r}=this._walk(e,!0);if(!t)throw Hp("EPERM");if(!vd(i))throw Hp("ENOTDIR");if(0!==this._getLinks(i).size)throw Hp("ENOTEMPTY");this._removeLink(t,n,r,i)}linkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EPERM");const{parent:i,links:r,basename:s,node:o}=this._walk(this._resolve(t),!0);if(!i)throw Hp("EPERM");if(o)throw Hp("EEXIST");this._addLink(i,r,s,n)}unlinkSync(e){if(this.isReadonly)throw Hp("EROFS");const{parent:t,links:n,node:i,basename:r}=this._walk(this._resolve(e),!0);if(!t)throw Hp("EPERM");if(!i)throw Hp("ENOENT");if(vd(i))throw Hp("EISDIR");this._removeLink(t,n,r,i)}renameSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(e),!0);if(!n)throw Hp("EPERM");if(!r)throw Hp("ENOENT");const{parent:o,links:a,node:l,basename:c}=this._walk(this._resolve(t),!0);if(!o)throw Hp("EPERM");const u=this.time();if(l){if(vd(r)){if(!vd(l))throw Hp("ENOTDIR");if(this._getLinks(l).size>0)throw Hp("ENOTEMPTY")}else if(vd(l))throw Hp("EISDIR");this._removeLink(o,a,c,l,u)}this._replaceLink(n,i,s,o,a,c,r,u)}symlinkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(t),!0);if(!n)throw Hp("EPERM");if(r)throw Hp("EEXIST");const o=this.time(),a=this._mknod(n.dev,hd,438,o);a.symlink=Xp(e,2016),this._addLink(n,i,s,a,o)}realpathSync(e){const{realpath:t}=this._walk(this._resolve(e));return t}readFileSync(e,t=null){const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EISDIR");if(!_d(n))throw Hp("EBADF");const i=this._getBuffer(n).slice();return t?i.toString(t):i}writeFileSync(e,t,n=null){if(this.isReadonly)throw Hp("EROFS");const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(e),!1);if(!i)throw Hp("EPERM");const a=this.time();let l=s;if(l||(l=this._mknod(i.dev,md,438,a),this._addLink(i,r,o,l,a)),vd(l))throw Hp("EISDIR");if(!_d(l))throw Hp("EBADF");l.buffer=ed.isBuffer(t)?t.slice():function(e,t){return qp.from&&qp.from!==Int8Array.from?qp.from(e,t):new qp(e,t)}(""+t,n||"utf8"),l.size=l.buffer.byteLength,l.mtimeMs=a,l.ctimeMs=a}readFile(e){return Promise.resolve(this.readFileSync(e))}readFileText(e,t){return Promise.resolve(this.readFileSync(e,t||"utf8"))}createReadStream(e){throw new Error("Not implemented in test file system.")}createWriteStream(e){throw new Error("Not implemented in test file system.")}copyFileSync(e,t){throw new Error("Not implemented in test file system.")}diff(e=this.shadowRoot,t={}){const n={};return(e?rd._rootDiff(n,this,e,t):rd._trackCreatedInodes(n,this,this._getRootLinks()))?n:void 0}static diff(e,t,n={}){const i={};return rd._rootDiff(i,e,t,n)?i:void 0}isInZipOrEgg(e){return!1}static _diffWorker(e,t,n,i,r,s){if(n&&!r)return rd._trackCreatedInodes(e,t,n);if(r&&!n)return rd._trackDeletedInodes(e,r);if(n&&r){let o=!1;return r.forEach(((t,i)=>{n.has(i)||(e[i]=vd(t)?new cd:new ud,o=!0)})),n.forEach(((n,a)=>{const l=r.get(a);if(l){if(vd(n)&&vd(l))return o=rd._directoryDiff(e,a,t,n,i,l,s)||o;if(_d(n)&&_d(l))return o=rd._fileDiff(e,a,t,n,i,l,s)||o;if(Td(n)&&Td(l))return o=rd._symlinkDiff(e,a,n,l)||o}return o=rd._trackCreatedInode(e,a,t,n)||o})),o}return!1}static _rootDiff(e,t,n,i){for(;!t._lazy.links&&t._shadowRoot;)t=t._shadowRoot;for(;!n._lazy.links&&n._shadowRoot;)n=n._shadowRoot;return t!==n&&!!(t._lazy.links||t._shadowRoot||n._lazy.links||n._shadowRoot)&&rd._diffWorker(e,t,t._getRootLinks(),n,n._getRootLinks(),i)}static _directoryDiff(e,t,n,i,r,s,o){for(;!i.links&&i.shadowRoot;)i=i.shadowRoot;for(;!s.links&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(gd(i)&&gd(s))return!1;if(!i.links&&!s.links&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a={};return!!rd._diffWorker(a,n,n._getLinks(i),r,r._getLinks(s),o)&&(e[t]=new sd(a),!0)}static _fileDiff(e,t,n,i,r,s,o){for(;!i.buffer&&i.shadowRoot;)i=i.shadowRoot;for(;!s.buffer&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(yd(i)&&yd(s))return!1;if(!i.buffer&&!s.buffer&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a=n._getBuffer(i),l=r._getBuffer(s);return a!==l&&(0===ed.compare(a,l)?!!o.includeChangedFileWithSameContent&&(e[t]=new ad(a),!0):(e[t]=new od(a),!0))}static _symlinkDiff(e,t,n,i){return n.symlink!==i.symlink&&(e[t]=new pd(n.symlink),!0)}static _trackCreatedInode(e,t,n,i){if(vd(i)){const r={};rd._trackCreatedInodes(r,n,n._getLinks(i)),e[t]=new sd(r)}else Td(i)?e[t]=new pd(i.symlink):e[t]=new od(i.buffer||"");return!0}static _trackCreatedInodes(e,t,n){return!!n.size&&(n.forEach(((n,i)=>{rd._trackCreatedInode(e,i,t,n)})),!0)}static _trackDeletedInodes(e,t){return!!t.size&&(t.forEach(((t,n)=>{e[n]=vd(t)?new cd:new ud})),!0)}_mknod(e,t,n,i=this.time()){return{dev:e,ino:++id,mode:n&~dd&-19&4095|t&dd,atimeMs:i,mtimeMs:i,ctimeMs:i,birthtimeMs:i,nlink:0}}_addLink(e,t,n,i,r=this.time()){t.set(n,i),i.nlink++,i.ctimeMs=r,e&&(e.mtimeMs=r),e||this._cwd||(this._cwd=n)}_removeLink(e,t,n,i,r=this.time()){t.delete(n),i.nlink--,i.ctimeMs=r,e&&(e.mtimeMs=r)}_replaceLink(e,t,n,i,r,s,o,a){e!==i?(this._removeLink(e,t,n,o,a),this._addLink(i,r,s,o,a)):(t.delete(n),t.set(s,o),e.mtimeMs=a,i.mtimeMs=a)}_getRootLinks(){if(!this._lazy.links){const e=new Vp(this.stringComparer);this._shadowRoot&&this._copyShadowLinks(this._shadowRoot._getRootLinks(),e),this._lazy.links=e}return this._lazy.links}_getLinks(e){if(!e.links){const t=new Vp(this.stringComparer),{source:n,resolver:i}=e;if(n&&i){e.source=void 0,e.resolver=void 0;for(const r of i.readdirSync(n)){const s=te(n,r),o=i.statSync(s);switch(o.mode&dd){case fd:{const s=this._mknod(e.dev,fd,511);s.source=te(n,r),s.resolver=i,this._addLink(e,t,r,s);break}case md:{const s=this._mknod(e.dev,md,438);s.source=te(n,r),s.resolver=i,s.size=o.size,this._addLink(e,t,r,s);break}}}}else this._shadowRoot&&e.shadowRoot&&this._copyShadowLinks(this._shadowRoot._getLinks(e.shadowRoot),t);e.links=t}return e.links}_getShadow(e){const t=this._lazy.shadows||(this._lazy.shadows=new Map);let n=t.get(e.ino);return n||(n={dev:e.dev,ino:e.ino,mode:e.mode,atimeMs:e.atimeMs,mtimeMs:e.mtimeMs,ctimeMs:e.ctimeMs,birthtimeMs:e.birthtimeMs,nlink:e.nlink,shadowRoot:e},Td(e)&&(n.symlink=e.symlink),t.set(n.ino,n)),n}_copyShadowLinks(e,t){const n=Bp(e);try{for(let e=Wp(n);e;e=Wp(n)){const[n,i]=e.value;t.set(n,this._getShadow(i))}}finally{jp(n)}}_getSize(e){return e.buffer?e.buffer.byteLength:void 0!==e.size?e.size:e.source&&e.resolver?e.size=e.resolver.statSync(e.source).size:this._shadowRoot&&e.shadowRoot?e.size=this._shadowRoot._getSize(e.shadowRoot):0}_getBuffer(e){if(!e.buffer){const{source:t,resolver:n}=e;t&&n?(e.source=void 0,e.resolver=void 0,e.size=void 0,e.buffer=n.readFileSync(t)):this._shadowRoot&&e.shadowRoot?e.buffer=this._shadowRoot._getBuffer(e.shadowRoot):e.buffer=ed.allocUnsafe(0)}return e.buffer}_walk(e,t,n){let i,r=this._getRootLinks(),s=G(e),o=0,a=0,l=!1;for(;;){if(a>=40)throw Hp("ELOOP");const e=o===s.length-1,n=s[o],u=r.get(n);if(e&&(t||!Td(u)))return{realpath:J(s),basename:n,parent:i,links:r,node:u};if(void 0===u){if(c(Hp("ENOENT"),u))continue;return}if(Td(u)){const e=ee(J(s.slice(0,o)),u.symlink);r=this._getRootLinks(),i=void 0,s=G(e).concat(s.slice(o+1)),o=0,a++,l=!1}else if(vd(u))r=this._getLinks(u),i=u,o++,l=!1;else if(!c(Hp("ENOTDIR"),u))return}function c(e,t){const a=J(s.slice(0,o+1)),c=s[o],u=!l&&n?n(e,{realpath:a,basename:c,parent:i,links:r,node:t}):"throw";if("stop"===u)return!1;if("retry"===u)return l=!0,!0;throw e}}_resolve(e){return this._cwd?ee(this._cwd,Xp(e,4064)):Xp(e,4065)}_applyFiles(e,t){const n=[];this._applyFilesWorker(e,t,n);for(const[e,i]of n){if(this.mkdirpSync($(i)),this.pushd($(i)),e instanceof pd){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be symbolic links.");this.symlinkSync(ee(t,e.symlink),i),this._applyFileExtendedOptions(i,e)}else if(e instanceof ld){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be hard links.");this.linkSync(e.path,i)}else this.mountSync(e.source,i,e.resolver),this._applyFileExtendedOptions(i,e);this.popd()}}_applyFileExtendedOptions(e,t){const{meta:n}=t;if(void 0!==n){const t=this.filemeta(e);for(const e of Object.keys(n))t.set(e,n[e])}}_applyFilesWorker(e,t,n){for(const i of Object.keys(e)){const r=bd(e[i]),s=t?ee(t,i):i;if(Xp(s,2017),null==r||r instanceof cd||r instanceof ud){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be deleted.");this.rimrafSync(s)}else if(r instanceof od){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be files.");this.mkdirpSync($(s)),this.writeFileSync(s,r.data,r.encoding),this._applyFileExtendedOptions(s,r)}else r instanceof sd?(this.mkdirpSync(s),this._applyFileExtendedOptions(s,r),this._applyFilesWorker(r.files,s,n)):n.push([r,s])}}}class sd{constructor(e,{meta:t}={}){this.files=e,this.meta=t}}class od{constructor(e,{meta:t,encoding:n}={}){this.data=e,this.encoding=n,this.meta=t}}class ad extends od{constructor(e,t){super(e,t)}}class ld{constructor(e){this.path=e}}class cd{}class ud{}class pd{constructor(e,{meta:t}={}){this.symlink=e,this.meta=t}}const dd=61440,hd=40960,md=32768,fd=16384;function gd(e){return!(e.links||e.shadowRoot||e.resolver||e.source)}function yd(e){return!(e.buffer||e.shadowRoot||e.resolver||e.source)}function _d(e){return void 0!==e&&(e.mode&dd)===md}function vd(e){return void 0!==e&&(e.mode&dd)===fd}function Td(e){return void 0!==e&&(e.mode&dd)===hd}function bd(e){return null==e||e instanceof sd||e instanceof od||e instanceof ld||e instanceof pd||e instanceof class{constructor(e,t,{meta:n}={}){this.source=e,this.resolver=t,this.meta=n}}||e instanceof cd||e instanceof ud?e:"string"==typeof e||ed.isBuffer(e)?new od(e):new sd(e)}class Id{constructor(e=0,t=0,n=0,i=0,r=0,s=0,o=0,a=0,l=0,c=0,u=0,p=0){this.dev=e,this.ino=t,this.mode=n,this.nlink=i,this.uid=0,this.gid=0,this.rdev=r,this.size=s,this.blksize=o,this.blocks=a,this.atimeMs=l,this.mtimeMs=c,this.ctimeMs=u,this.birthtimeMs=p,this.atime=new Date(this.atimeMs),this.mtime=new Date(this.mtimeMs),this.ctime=new Date(this.ctimeMs),this.birthtime=new Date(this.birthtimeMs)}isFile(){return(this.mode&dd)===md}isDirectory(){return(this.mode&dd)===fd}isSymbolicLink(){return(this.mode&dd)===hd}isBlockDevice(){return 24576==(this.mode&dd)}isCharacterDevice(){return 8192==(this.mode&dd)}isFIFO(){return 4096==(this.mode&dd)}isSocket(){return 49152==(this.mode&dd)}}class Sd extends Map{constructor(){super(...arguments),this._defaultWorkspacePath=""}getNonDefaultWorkspaces(){const e=[];return this.forEach((t=>{t.rootPath&&e.push(t)})),e}getWorkspaceForFile(e,t){let n,i;if(this.forEach((e=>{e.rootPath&&t.startsWith(e.rootPath)&&(void 0===n||e.rootPath.startsWith(n))&&(n=e.rootPath,i=e)})),void 0===i){let t=this.get(this._defaultWorkspacePath);if(!t){const n=[...this.keys()];if(1===n.length)return this.get(n[0]);t={workspaceName:"",rootPath:"",rootUri:"",serviceInstance:e.createAnalyzerService(this._defaultWorkspacePath),disableLanguageServices:!1,disableOrganizeImports:!1,isInitialized:gp()},this.set(this._defaultWorkspacePath,t),e.updateSettingsForWorkspace(t).ignoreErrors()}return t}return i}}var xd=__webpack_require__(7630);const Cd={openFilesTimeInMs:50,noOpenFilesTimeInMs:200};class wd extends class{constructor(e,t,n){var i,r;this._serverOptions=e,this._connection=t,this.console=n,this._lastTriggerKind=ot.CompletionTriggerKind.Invoked,this.rootPath="",this.client={hasConfigurationCapability:!1,hasVisualStudioExtensionsCapability:!1,hasWorkspaceFoldersCapability:!1,hasWatchFileCapability:!1,hasActiveParameterCapability:!1,hasSignatureLabelOffsetCapability:!1,hasHierarchicalDocumentSymbolCapability:!1,hasWindowProgressCapability:!1,hasGoToDeclarationCapability:!1,hasDocumentChangeCapability:!1,hasDocumentAnnotationCapability:!1,hoverContentFormat:ot.MarkupKind.PlainText,completionDocFormat:ot.MarkupKind.PlainText,completionSupportsSnippet:!1,signatureDocFormat:ot.MarkupKind.PlainText,supportsDeprecatedDiagnosticTag:!1,supportsUnnecessaryDiagnosticTag:!1,completionItemResolveSupportsAdditionalTextEdits:!1},this.diagnosticTextSettings={},__webpack_require__.g.__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._fileWatcherProvider=this._serverOptions.fileWatcherProvider,this.fs=new rt(this._serverOptions.fileSystem),this._uriParser=new Lp(this.fs);const s=this.fs.getModulePath();s&&this.fs.chdir(s),this.setupConnection(null!==(i=e.supportedCommands)&&void 0!==i?i:[],null!==(r=e.supportedCodeActions)&&void 0!==r?r:[]),this._progressReporter=new Op(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 n=this._defaultClientConfig,t.split(".").reduce(((e,t)=>e&&e[t]),n);var n}isOpenFilesOnly(e){return"workspace"!==e}getSeverityOverrides(e){const t=e;if(["error","warning","information","none"].includes(t))return t}getDiagnosticRuleName(e){const t=e;if(wc().includes(t))return t}createBackgroundAnalysisProgram(e,t,n,i,r,s){return new xp(e,t,n,i,r,s)}setExtension(e){this._serverOptions.extension=e}get window(){return this._connection.window}get supportAdvancedEdits(){return this.client.hasDocumentChangeCapability&&this.client.hasDocumentAnnotationCapability}createAnalyzerService(e){this.console.log(`Starting service instance "${e}"`);const t=new Np(e,this.fs,this.console,this.createHost.bind(this),this.createImportResolver.bind(this),void 0,this._serverOptions.extension,this.createBackgroundAnalysis(),this._serverOptions.maxAnalysisTimeInForeground,this.createBackgroundAnalysisProgram.bind(this),this._serverOptions.cancellationProvider);return t.setCompletionCallback((e=>this.onAnalysisCompletedHandler(e))),t}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.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)))}async initialize(e,t,n){var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,q,V;this.diagnosticTextSettings={locale:e.locale,style:e.initializationOptions.diagnosticStyle},await dl(this.diagnosticTextSettings),this.rootPath=e.rootPath||"";const B=e.capabilities;this.client.hasConfigurationCapability=!!(null===(i=B.workspace)||void 0===i?void 0:i.configuration),this.client.hasWatchFileCapability=!!(null===(s=null===(r=B.workspace)||void 0===r?void 0:r.didChangeWatchedFiles)||void 0===s?void 0:s.dynamicRegistration),this.client.hasWorkspaceFoldersCapability=!!(null===(o=B.workspace)||void 0===o?void 0:o.workspaceFolders),this.client.hasVisualStudioExtensionsCapability=!!B.supportsVisualStudioExtensions,this.client.hasActiveParameterCapability=!!(null===(c=null===(l=null===(a=B.textDocument)||void 0===a?void 0:a.signatureHelp)||void 0===l?void 0:l.signatureInformation)||void 0===c?void 0:c.activeParameterSupport),this.client.hasSignatureLabelOffsetCapability=!!(null===(h=null===(d=null===(p=null===(u=B.textDocument)||void 0===u?void 0:u.signatureHelp)||void 0===p?void 0:p.signatureInformation)||void 0===d?void 0:d.parameterInformation)||void 0===h?void 0:h.labelOffsetSupport),this.client.hasHierarchicalDocumentSymbolCapability=!!(null===(f=null===(m=B.textDocument)||void 0===m?void 0:m.documentSymbol)||void 0===f?void 0:f.hierarchicalDocumentSymbolSupport),this.client.hasDocumentChangeCapability=!!(null===(y=null===(g=B.workspace)||void 0===g?void 0:g.workspaceEdit)||void 0===y?void 0:y.documentChanges)&&!!(null===(_=B.workspace.workspaceEdit)||void 0===_?void 0:_.resourceOperations),this.client.hasDocumentAnnotationCapability=!!(null===(T=null===(v=B.workspace)||void 0===v?void 0:v.workspaceEdit)||void 0===T?void 0:T.changeAnnotationSupport),this.client.hoverContentFormat=this._getCompatibleMarkupKind(null===(I=null===(b=B.textDocument)||void 0===b?void 0:b.hover)||void 0===I?void 0:I.contentFormat),this.client.completionDocFormat=this._getCompatibleMarkupKind(null===(C=null===(x=null===(S=B.textDocument)||void 0===S?void 0:S.completion)||void 0===x?void 0:x.completionItem)||void 0===C?void 0:C.documentationFormat),this.client.completionSupportsSnippet=!!(null===(k=null===(E=null===(w=B.textDocument)||void 0===w?void 0:w.completion)||void 0===E?void 0:E.completionItem)||void 0===k?void 0:k.snippetSupport),this.client.signatureDocFormat=this._getCompatibleMarkupKind(null===(P=null===(A=null===(D=B.textDocument)||void 0===D?void 0:D.signatureHelp)||void 0===A?void 0:A.signatureInformation)||void 0===P?void 0:P.documentationFormat);const W=(null===(N=null===(F=null===(R=B.textDocument)||void 0===R?void 0:R.publishDiagnostics)||void 0===F?void 0:F.tagSupport)||void 0===N?void 0:N.valueSet)||[];return this.client.supportsUnnecessaryDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Unnecessary)),this.client.supportsDeprecatedDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Deprecated)),this.client.hasWindowProgressCapability=!!(null===(M=B.window)||void 0===M?void 0:M.workDoneProgress),this.client.hasGoToDeclarationCapability=!!(null===(O=B.textDocument)||void 0===O?void 0:O.declaration),this.client.completionItemResolveSupportsAdditionalTextEdits=!!(null===(V=null===(q=null===(U=null===(L=B.textDocument)||void 0===L?void 0:L.completion)||void 0===U?void 0:U.completionItem)||void 0===q?void 0:q.resolveSupport)||void 0===V?void 0:V.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))})):e.rootPath&&this._workspaceMap.set(e.rootPath,this.createWorkspaceServiceInstance(void 0,e.rootPath)),this.updateSettingsForAllWorkspaces(),{capabilities:{textDocumentSync:ot.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:{workDoneProgress:!0},completionProvider:{triggerCharacters:this.client.hasVisualStudioExtensionsCapability?[".","[","@"]:[".","["],resolveProvider:!0,workDoneProgress:!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);this._workspaceMap.set(t,n),await this.updateSettingsForWorkspace(n)}))})),this.client.hasWatchFileCapability&&this._connection.client.register(ot.DidChangeWatchedFilesNotification.type,{watchers:[...Pp.map((e=>({globPattern:`**/${e}`,kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}))),{globPattern:"**",kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}]})}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?sc.PreferSource:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onDeclaration(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?sc.PreferStubs:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onTypeDefinition(e,t){return this.getDefinitions(e,t,sc.All,((e,t,n,i,r)=>e.serviceInstance.getTypeDefinitionForPosition(t,n,r)))}async getDefinitions(e,t,n,i){this.recordUserInteractionTime();const{filePath:r,position:s}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(r);if(o.disableLanguageServices)return;const a=i(o,r,s,n,t);return a?a.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))):void 0}async onReferences(e,t,n,i){this._pendingFindAllRefsCancellationSource&&(this._pendingFindAllRefsCancellationSource.cancel(),this._pendingFindAllRefsCancellationSource=void 0);const r=await this._getProgressReporter(n,ml.CodeAction.findingReferences(),t),s=r.source;this._pendingFindAllRefsCancellationSource=s;try{const{filePath:t,position:n}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(t);if(o.disableLanguageServices)return;const a=e=>e.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))),l=[],c=i?e=>i.report(a(e)):e=>l.push(...a(e));return o.serviceInstance.reportReferencesForPosition(t,n,e.context.includeDeclaration,c,s.token),l}finally{r.reporter.done(),s.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 r=[];return i.serviceInstance.addSymbolsForDocument(n,r,t),this.client.hasHierarchicalDocumentSymbolCapability?r:function(e,t){const n=[];for(const i of t)Uc(n,e,i);return n}(e.textDocument.uri,r)}async onWorkspaceSymbol(e,t,n){const i=[],r=n?e=>n.report(e):e=>i.push(...e);for(const n of this._workspaceMap.values())await n.isInitialized.promise,n.disableLanguageServices||n.disableWorkspaceSymbol||n.serviceInstance.reportSymbolsForWorkspace(e.query,r,t);return i}async onHover(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=(await this.getWorkspaceForFile(n)).serviceInstance.getHoverForPosition(n,i,this.client.hoverContentFormat,t);return function(e,t){if(!t)return;const n=t.parts.map((t=>{if(t.python){if(e===ot.MarkupKind.Markdown)return"```python\n"+t.text+"\n```\n";if(e===ot.MarkupKind.PlainText)return t.text+"\n\n";E(`Unsupported markup type: ${e}`)}return t.text})).join("").trimEnd();return{contents:{kind:e,value:n},range:t.range}}(this.client.hoverContentFormat,r)}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,i,r,s;const{filePath:o,position:a}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),l=await this.getWorkspaceForFile(o);if(l.disableLanguageServices)return;const c=l.serviceInstance.getSignatureHelpForPosition(o,a,this.client.signatureDocFormat,t);if(!c)return;const u=c.signatures.map((e=>{let t=[];e.parameters&&(t=e.parameters.map((e=>ot.ParameterInformation.create(this.client.hasSignatureLabelOffsetCapability?[e.startOffset,e.endOffset]:e.text,e.documentation))));const n=ot.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})),p=e=>{var t;return void 0!==e.activeParameter||!c.callHasParameters&&!(null===(t=e.parameters)||void 0===t?void 0:t.length)};let d=u.findIndex(p);-1===d&&(d=null);let h=null!==d?u[d].activeParameter:null;if((null===(n=e.context)||void 0===n?void 0:n.isRetrigger)&&e.context.triggerKind!==ot.SignatureHelpTriggerKind.Invoked){const t=null!==(r=null===(i=e.context.activeSignatureHelp)||void 0===i?void 0:i.activeSignature)&&void 0!==r?r:null;if(null!==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:u,activeSignature:d,activeParameter:h}}async onCompletion(e,t){var n,i;const r=this._lastTriggerKind!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions||(null===(n=e.context)||void 0===n?void 0:n.triggerKind)!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions;this._lastTriggerKind=null===(i=e.context)||void 0===i?void 0:i.triggerKind;const{filePath:s,position:o}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),a=await this.getWorkspaceForFile(s);if(a.disableLanguageServices)return;const l=await this.getWorkspaceCompletionsForPosition(a,s,o,a.rootPath,this.getCompletionOptions(e),t);return l&&l.completionList&&(l.completionList.isIncomplete=r),null==l?void 0:l.completionList}async onCompletionResolve(e,t){const n=e.data;if(n&&n.filePath){const i=await this.getWorkspaceForFile(n.workspacePath);this.resolveWorkspaceCompletionItem(i,n.filePath,e,t)}return e}async onRenameRequest(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return;const s=r.serviceInstance.renameSymbolAtPosition(n,i,e.newName,""===r.rootPath,t);return s?function(e,t){const n={changes:{}};return t.forEach((t=>{const i=Ee(e,t.filePath);n.changes[i]=n.changes[i]||[],n.changes[i].push({range:t.range,newText:t.replacementText})})),n}(this.fs,s):void 0}async onPrepare(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;const s=r.serviceInstance.getCallForPosition(n,i,t)||null;return s?this.fs.isInZipOrEgg(s.uri)?null:(s.uri=Ee(this.fs,s.uri),[s]):null}async onIncomingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getIncomingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.from.uri))),s.forEach((e=>{e.from.uri=Ee(this.fs,e.from.uri)})),s):null}async onOutgoingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getOutgoingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.to.uri))),s.forEach((e=>{e.to.uri=Ee(this.fs,e.to.uri)})),s):null}async onDidOpenTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.addUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileOpened(t,e.textDocument.version,e.textDocument.text)}async onDidChangeTextDocument(e){this.recordUserInteractionTime();const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.hasUriMapEntry(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.updateOpenFileContents(t,e.textDocument.version,e.contentChanges)}async onDidCloseTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.removeUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileClosed(t)}onDidChangeWatchedFiles(e){e.changes.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=1===e.type?"add":"change";this._fileWatcherProvider.onFileChange(n,t)}))}async onExecuteCommand(e,t,n){this._pendingCommandCancellationSource&&(this._pendingCommandCancellationSource.cancel(),this._pendingCommandCancellationSource=void 0);const i=async t=>{const n=await this.executeCommand(e,t);return ot.WorkspaceEdit.is(n)&&this._connection.workspace.applyEdit({label:`Command '${e.command}'`,edit:n}),Mp.is(n)&&await this._connection.workspace.applyEdit({label:n.label,edit:n.edits}),n};if(!this.isLongRunningCommand(e.command))return await i(t);{const e=await this._getProgressReporter(n,ml.CodeAction.executingCommand(),t),r=e.source;this._pendingCommandCancellationSource=r;try{return await i(r.token)}finally{e.reporter.done(),r.dispose()}}}resolveWorkspaceCompletionItem(e,t,n,i){e.serviceInstance.resolveCompletionItem(t,n,this.getCompletionOptions(),void 0,i)}getWorkspaceCompletionsForPosition(e,t,n,i,r,s){return e.serviceInstance.getCompletionsForPosition(t,n,i,r,void 0,s)}updateSettingsForAllWorkspaces(){this._workspaceMap.forEach((e=>{this.updateSettingsForWorkspace(e).ignoreErrors()}))}getCompletionOptions(e){return{format:this.client.completionDocFormat,snippet:this.client.completionSupportsSnippet,lazyEdit:this.client.completionItemResolveSupportsAdditionalTextEdits,autoImport:!0}}createWorkspaceServiceInstance(e,t){var n,i,r;return{workspaceName:null!==(n=null==e?void 0:e.name)&&void 0!==n?n:"",rootPath:t,rootUri:null!==(i=null==e?void 0:e.uri)&&void 0!==i?i:"",serviceInstance:this.createAnalyzerService(null!==(r=null==e?void 0:e.name)&&void 0!==r?r:t),disableLanguageServices:!1,disableOrganizeImports:!1,disableWorkspaceSymbol:!1,isInitialized:gp()}}convertDiagnostics(e){return[{uri:Ee(this.fs,e.filePath),version:e.version,diagnostics:this._convertDiagnostics(e.diagnostics)}]}onAnalysisCompletedHandler(e){if(e.diagnostics.forEach((e=>{this.fs.isInZipOrEgg(e.filePath)||(this._sendDiagnostics(this.convertDiagnostics(e)),this.fs.pendingRequest(e.filePath,e.diagnostics.length>0))})),this._progressReporter.isEnabled(e))if(e.filesRequiringAnalysis>0){this._progressReporter.begin();const t=1===e.filesRequiringAnalysis?ml.CodeAction.filesToAnalyzeOne():ml.CodeAction.filesToAnalyzeCount().format({count:e.filesRequiringAnalysis});this._progressReporter.report(t)}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:On.Info,this.updateOptionsAndRestartService(e,t),e.disableLanguageServices=!!t.disableLanguageServices,e.disableOrganizeImports=!!t.disableOrganizeImports,e.isInitialized.resolve(!0)}updateOptionsAndRestartService(e,t,n){yp.runWithOptions(this.rootPath,e,t,n)}convertLogLevel(e){if(!e)return On.Info;switch(e.toLowerCase()){case"error":return On.Error;case"warning":return On.Warn;case"information":return On.Info;case"trace":return On.Log;default:return On.Info}}_sendDiagnostics(e){for(const t of e)this._connection.sendDiagnostics(t)}_getCompatibleMarkupKind(e){const t=[ot.MarkupKind.PlainText,ot.MarkupKind.Markdown];for(const n of null!=e?e:[])if(t.includes(n))return n;return ot.MarkupKind.PlainText}async _getProgressReporter(e,t,n){if(e.constructor!==Up.constructor)return{reporter:e,source:ut(n)};const i=await this._connection.window.createWorkDoneProgress();return i.begin(t,void 0,void 0,!0),{reporter:i,source:ut(n,i.token)}}_convertDiagnostics(e){const t=[];return e.forEach((e=>{const n=function(e){switch(e){case 0:return ot.DiagnosticSeverity.Error;case 1:return ot.DiagnosticSeverity.Warning;case 2:return ot.DiagnosticSeverity.Information;case 3:case 4:return ot.DiagnosticSeverity.Hint}}(e.category),i=e.getRule(),r=ot.Diagnostic.create(e.range,e.message,n,i,this._serverOptions.productName);if(3===e.category){if(r.tags=[ot.DiagnosticTag.Unnecessary],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsUnnecessaryDiagnosticTag)return}else if(4===e.category&&(r.tags=[ot.DiagnosticTag.Deprecated],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsDeprecatedDiagnosticTag))return;if(i){const e=this.getDocumentationUrlForDiagnosticRule(i);e&&(r.codeDescription={href:e})}const s=e.getRelatedInfo();s.length>0&&(r.relatedInformation=s.filter((e=>!this.fs.isInZipOrEgg(e.filePath))).map((e=>ot.DiagnosticRelatedInformation.create(ot.Location.create(Ee(this.fs,e.filePath),e.range),e.message)))),t.push(r)})),t}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!=={}.HOME?{}.HOME:"env:USERNAME"===i&&void 0!=={}.USERNAME?{}.USERNAME:"env:VIRTUAL_ENV"===i&&void 0!=={}.VIRTUAL_ENV?{}.VIRTUAL_ENV:t}))}}{constructor(e){const t=__webpack_require__(306).i8||"",n=__webpack_require__.g.__rootDirectory||"/",i=new qn(e.console),r=new Sd,s=nt;super({productName:"Pyright",rootDirectory:n,version:t,workspaceMap:r,fileSystem:new rd(!1,{cwd:X("/")}),fileWatcherProvider:s,cancellationProvider:new pt,maxAnalysisTimeInForeground:Cd,supportedCodeActions:[xd.CodeActionKind.QuickFix,xd.CodeActionKind.SourceOrganizeImports]},e,i),this._controller=new bp(this)}setupConnection(e,t){super.setupConnection(e,t),this._connection.onNotification("pyright/createFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.apply({[t]:""}),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.createFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onNotification("pyright/deleteFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.unlinkSync(t),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.deleteFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onRequest(Sn,(e=>{var t;return this._workspaceMap.getWorkspaceForFile(this,e.path).serviceInstance.getApiDocs(e.modules,null!==(t=e.documentationFormat)&&void 0!==t?t:[xd.MarkupKind.PlainText])}))}async initialize(e,t,n){const{files:i}=e.initializationOptions;return"object"==typeof i&&(this._initialFiles=i,this._serverOptions.fileSystem.apply(i)),super.initialize(e,t,n)}async getSettings(e){const t={watchForSourceChanges:!1,watchForLibraryChanges:!1,watchForConfigChanges:!1,openFilesOnly:!0,useLibraryCodeForTypes:!1,disableLanguageServices:!1,disableOrganizeImports:!1,typeCheckingMode:"basic",diagnosticSeverityOverrides:{},logLevel:On.Info,autoImportCompletions:!0};try{const n=await this.getConfiguration(e.rootUri,"python");if(n){const i=n.pythonPath;i&&r(i)&&!gn(i)&&(t.pythonPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)));const s=n.venvPath;s&&r(s)&&(t.venvPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)))}const i=await this.getConfiguration(e.rootUri,"python.analysis");if(i){const n=i.typeshedPaths;if(n&&Array.isArray(n)&&n.length>0){const i=n[0];i&&r(i)&&(t.typeshedPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)))}const s=i.stubPath;s&&r(s)&&(t.stubPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)));const o=i.diagnosticSeverityOverrides;if(o)for(const[e,n]of Object.entries(o)){const i=this.getDiagnosticRuleName(e),r=this.getSeverityOverrides(n);i&&r&&(t.diagnosticSeverityOverrides[i]=r)}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 a=i.extraPaths;a&&Array.isArray(a)&&a.length>0&&(t.extraPaths=a.filter((e=>e&&r(e))).map((t=>ee(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===On.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.rootUri,"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&&r(e)&&(t.typeCheckingMode=e)}}catch(e){this.console.error(`Error reading settings: ${e}`)}return t}createBackgroundAnalysis(){const e=new Ed(this.console,this.diagnosticTextSettings);return this._initialFiles&&e.initializeFileSystem(this._initialFiles),e}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}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 class{static async getCodeActionsForPosition(e,t,n,i){ct(i);const r=[];if(!e.disableLanguageServices){const s=await e.serviceInstance.getDiagnosticsForRange(t,n,i),o=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.createtypestub"===e.action))}));if(o){const n=o.getActions().find((e=>"pyright.createtypestub"===e.action));if(n){const i=ot.CodeAction.create(ml.CodeAction.createTypeStubFor().format({moduleName:n.moduleName}),ot.Command.create(ml.CodeAction.createTypeStub(),"pyright.createtypestub",e.rootPath,n.moduleName,t),ot.CodeActionKind.QuickFix);r.push(i)}}const a=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.addoptionalforparam"===e.action))}));if(a){const n=a.getActions().find((e=>"pyright.addoptionalforparam"===e.action));if(n){const i=e.serviceInstance.getImportResolver().fileSystem,s=ot.CodeAction.create(ml.CodeAction.addOptionalToAnnotation(),ot.Command.create(ml.CodeAction.addOptionalToAnnotation(),"pyright.addoptionalforparam",Ee(i,t),n.offsetOfTypeNode),ot.CodeActionKind.QuickFix);r.push(s)}}}return r}}.getCodeActionsForPosition(i,n,e.range,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")}}}}class Ed extends class{constructor(e){this.console=e,this._onAnalysisCompletion=Nn}setup(e){this._worker=e,e.on("message",(e=>this.onMessage(e))),e.on("error",(e=>{this.log(On.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(dp(e.data));break;default:E(`${e.requestType} is not expected`)}}setCompletionCallback(e){this._onAnalysisCompletion=null!=e?e:Nn}initializeFileSystem(e){this.enqueueRequest({requestType:"initializeFileSystem",data:e})}createFile(e){this.enqueueRequest({requestType:"createFile",data:e})}deleteFile(e){this.enqueueRequest({requestType:"deleteFile",data:e})}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}})}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:r}=En();i.on("message",(e=>{switch(e.requestType){case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;case"analysisPaused":r.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":!function(e){e instanceof cp&&e.dispose()}(n),r.close(),i.close();break;default:E(`${e.requestType} is not expected`)}})),i.start(),r.start();const s=pp(n);this.enqueueRequest({requestType:e,data:s,port:r})}startIndexing(e,t,n,i,r){}refreshIndexing(e,t,n,i){}cancelIndexing(e){}async getDiagnosticsForRange(e,t,n){ct(n);const{port1:i,port2:r}=En();i.start(),r.start();const s=op(i),o=pp(n);this.enqueueRequest({requestType:"getDiagnosticsForRange",data:{filePath:e,range:t,cancellationId:o},port:r});const a=await s;return r.close(),i.close(),hp(a)}async writeTypeStub(e,t,n,i){ct(i);const{port1:r,port2:s}=En(),o=op(r),a=pp(i);this.enqueueRequest({requestType:"writeTypeStub",data:{targetImportPath:e,targetIsSingleFile:t,stubPath:n,cancellationId:a},port:s}),await o,s.close(),r.close()}invalidateAndForceReanalysis(e){this.enqueueRequest({requestType:"invalidateAndForceReanalysis",data:e})}restart(){this.enqueueRequest({requestType:"restart",data:null})}enqueueRequest(e){this._worker&&this._worker.postMessage(e,e.port?[e.port]:void 0)}log(e,t){Vn(this.console,e,t)}}{constructor(e,t){super(e);const n=(i={rootDirectory:__webpack_require__.g.__rootDirectory,cancellationFolderName:void 0,runner:void 0,diagnosticTextSettings:t},wn().createWorker(i));var i;this.setup(n)}}class kd extends class extends class{constructor(e,t){var n;this.parentPort=e,n=t.cancellationFolderName,at=n,__webpack_require__.g.__rootDirectory=t.rootDirectory,this._realFs=this.createRealFileSystem(),this.fs=new rt(this._realFs)}log(e,t){var n;null===(n=this.parentPort)||void 0===n||n.postMessage({requestType:"log",data:{level:e,message:t}})}getConsole(){return{log:e=>{this.log(On.Log,e)},info:e=>{this.log(On.Info,e)},warn:e=>{this.log(On.Warn,e)},error:e=>{this.log(On.Error,e)},level:On.Log}}}{constructor(e,t,n){super(e,t),this._extension=n;const i=t;this.log(On.Info,`Background analysis(${Dn()}) root directory: ${i.rootDirectory}`),this._configOptions=new Ec(i.rootDirectory),this._host=this.createHost(),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host);const r=this.getConsole();this._logTracker=new Bn(r,`BG(${Dn()})`),this._program=new rp(this._importResolver,this._configOptions,r,this._extension,this._logTracker)}get program(){return this._program}start(){var e,t,n,i;this.log(On.Info,`Background analysis(${Dn()}) started`),null===(e=this.parentPort)||void 0===e||e.on("message",(e=>this.onMessage(e))),null===(t=this.parentPort)||void 0===t||t.on("error",(e=>E(`failed ${e}`))),null===(n=this.parentPort)||void 0===n||n.on("exit",(e=>{0!==e&&E(`worker stopped with exit code ${e}`)})),null===(i=this.parentPort)||void 0===i||i.start()}onMessage(e){switch(this.log(On.Log,`Background analysis message: ${e.requestType}`),e.requestType){case"initializeFileSystem":this._realFs.apply(e.data);break;case"createFile":{const t=we(this.fs,e.data.uri);this._realFs.apply({[t]:""});break}case"deleteFile":{const t=we(this.fs,e.data.uri);this.fs.unlinkSync(t);break}case"analyze":{const t=e.port,n=up(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=up(e.data);this._analyzeOneChunk(t,n,e);break}case"getDiagnosticsForRange":sp((()=>{const{filePath:t,range:n,cancellationId:i}=e.data;return ct(up(i)),this.program.getDiagnosticsForRange(t,n)}),e.port);break;case"writeTypeStub":sp((()=>{const{targetImportPath:t,targetIsSingleFile:n,stubPath:i,cancellationId:r}=e.data,s=up(r);Mn(this.program,void 0,this._configOptions,Nn,this.getConsole(),s),this.program.writeTypeStub(t,n,i,s)}),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=function(e){const t=new Ec(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.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}(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:r}=e.data;this.program.setFileOpened(t,n,i,r);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;default:E(`${e.requestType} is not expected`)}}_analyzeOneChunk(e,t,n){Mn(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){this.parentPort&&this._onAnalysisCompletion(this.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})}}{constructor(e){super(kn(),e)}createRealFileSystem(){return new rd(!1,{cwd:X("/")})}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}}class Dd{constructor(e){this._parentPort=e}threadId(){return self.name}parentPort(){return this._parentPort?new Ad(this._parentPort):null}createWorker(e){const t=new globalThis.MessageChannel;return self.postMessage({type:"browser/newWorker",initialData:e,port:t.port1},[t.port1]),t.port1.start(),t.port2.start(),new Ad(t.port2)}createMessageChannel(){const e=new globalThis.MessageChannel;return{port1:new Ad(e.port1),port2:new Ad(e.port2)}}}class Ad{constructor(e){this.delegate=e}unwrap(){return this.delegate}postMessage(e,t){t?this.delegate.postMessage(Pd(e),Pd(t)):this.delegate.postMessage(e)}on(e,t){"message"===e&&this.delegate.addEventListener(e,(e=>{const n=e.data;t(An(n,(e=>e instanceof globalThis.MessagePort?new Ad(e):e)))}))}start(){this.delegate.start()}close(){this.delegate.close()}}function Pd(e){return An(e,(e=>e instanceof Ad?e.unwrap():e))}const Rd=self;Rd.addEventListener("message",(async t=>{if("browser/boot"===t.data.type){const n=t.data,{mode:i,port:r,initialData:s}=n;try{if("foreground"===i)Cn(new Dd),Rd.app=new wd((0,e.createConnection)(new e.BrowserMessageReader(Rd),new e.BrowserMessageWriter(Rd)));else{if("background"!==i)throw new Error(`Invalid "mode" boot parameter: ${i}`);if(!s)throw new Error('Missing "initialData" background boot parameter.');if(!(r instanceof MessagePort))throw new Error(`Invalid "port" parameter: ${r}`);Cn(new Dd(r)),await dl(s.diagnosticTextSettings),Rd.app=new kd(s),Rd.app.start()}}catch(t){throw Rd.close(),t}}}))})()})(); +//# sourceMappingURL=pyright-main-8d89bff7a80da04790e7.worker.js.map \ No newline at end of file diff --git a/public/workers/pyright-main-99cf7dc02c2324815d13.worker.js.LICENSE.txt b/public/workers/pyright-main-8d89bff7a80da04790e7.worker.js.LICENSE.txt similarity index 100% rename from public/workers/pyright-main-99cf7dc02c2324815d13.worker.js.LICENSE.txt rename to public/workers/pyright-main-8d89bff7a80da04790e7.worker.js.LICENSE.txt diff --git a/public/workers/pyright-main-99cf7dc02c2324815d13.worker.js.map b/public/workers/pyright-main-8d89bff7a80da04790e7.worker.js.map similarity index 99% rename from public/workers/pyright-main-99cf7dc02c2324815d13.worker.js.map rename to public/workers/pyright-main-8d89bff7a80da04790e7.worker.js.map index d5a4137b6..159ede057 100644 --- a/public/workers/pyright-main-99cf7dc02c2324815d13.worker.js.map +++ b/public/workers/pyright-main-8d89bff7a80da04790e7.worker.js.map @@ -1 +1 @@ -{"version":3,"sources":["pyright/node_modules/base64-js/index.js","pyright/node_modules/buffer/index.js","pyright/node_modules/ieee754/index.js","pyright/node_modules/path-browserify/index.js","pyright-internal/src/common/extensions.ts","pyright/node_modules/vscode-jsonrpc/browser.js","pyright/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright/node_modules/vscode-jsonrpc/lib/common/api.js","pyright/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright/node_modules/vscode-jsonrpc/lib/common/events.js","pyright/node_modules/vscode-jsonrpc/lib/common/is.js","pyright/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright/node_modules/vscode-languageserver-protocol/browser.js","pyright/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright/node_modules/vscode-languageserver/browser.js","pyright/node_modules/vscode-languageserver/lib/browser/main.js","pyright/node_modules/vscode-languageserver/lib/common/api.js","pyright/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright/node_modules/vscode-languageserver/lib/common/configuration.js","pyright/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright/node_modules/vscode-languageserver/lib/common/moniker.js","pyright/node_modules/vscode-languageserver/lib/common/progress.js","pyright/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright/node_modules/vscode-languageserver/lib/common/server.js","pyright/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","pyright-internal/node_modules/@iarna/toml/lib/create-date.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime-float.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime.js","pyright-internal/node_modules/@iarna/toml/lib/create-time.js","pyright-internal/node_modules/@iarna/toml/lib/format-num.js","pyright-internal/node_modules/@iarna/toml/lib/parser.js","pyright-internal/node_modules/@iarna/toml/lib/toml-parser.js","pyright-internal/node_modules/@iarna/toml/parse-async.js","pyright-internal/node_modules/@iarna/toml/parse-pretty-error.js","pyright-internal/node_modules/@iarna/toml/parse-stream.js","pyright-internal/node_modules/@iarna/toml/parse-string.js","pyright-internal/node_modules/@iarna/toml/parse.js","pyright-internal/node_modules/@iarna/toml/stringify.js","pyright-internal/node_modules/@iarna/toml/toml.js","pyright-internal/node_modules/leven/index.js","pyright-internal/node_modules/vscode-jsonrpc/browser.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/api.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/events.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/is.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright-internal/node_modules/vscode-languageserver-protocol/browser.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright-internal/node_modules/vscode-languageserver/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright-internal/node_modules/vscode-languageserver/lib/common/configuration.js","pyright-internal/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright-internal/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver/lib/common/moniker.js","pyright-internal/node_modules/vscode-languageserver/lib/common/progress.js","pyright-internal/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright-internal/node_modules/vscode-languageserver/lib/common/server.js","pyright-internal/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright-internal/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","webpack/bootstrap","webpack/runtime/create fake namespace object","webpack/runtime/compat get default export","webpack/runtime/define property getters","webpack/runtime/ensure chunk","webpack/runtime/get javascript chunk filename","webpack/runtime/global","webpack/runtime/hasOwnProperty shorthand","webpack/runtime/make namespace object","webpack/runtime/publicPath","webpack/runtime/importScripts chunk loading","pyright-internal/src/common/core.ts","pyright-internal/src/common/collectionUtils.ts","pyright-internal/src/common/pathConsts.ts","pyright-internal/node_modules/vscode-uri/lib/esm/index.js","pyright-internal/src/common/debug.ts","pyright-internal/src/common/crypto.ts","pyright-internal/src/common/stringUtils.ts","pyright-internal/src/common/pathUtils.ts","pyright-internal/src/common/pythonVersion.ts","pyright-internal/src/parser/characters.ts","pyright-internal/src/parser/unicode.ts","pyright-internal/src/analyzer/pyTypedUtils.ts","pyright-internal/src/common/fileSystem.ts","pyright-internal/src/pyrightFileSystem.ts","pyright-internal/src/readonlyAugmentedFileSystem.ts","pyright-internal/src/common/cancellationUtils.ts","pyright-internal/src/common/textRange.ts","pyright-internal/src/analyzer/codeFlowTypes.ts","pyright-internal/src/common/positionUtils.ts","pyright-internal/src/analyzer/analyzerNodeInfo.ts","pyright-internal/src/analyzer/symbolNameUtils.ts","pyright-internal/src/analyzer/importStatementUtils.ts","pyright-internal/src/analyzer/parentDirectoryCache.ts","pyright-internal/src/analyzer/pythonPathUtils.ts","pyright-internal/src/analyzer/importResolver.ts","pyright-internal/src/apidocsProtocol.ts","pyright-internal/src/common/workersHost.ts","pyright-internal/src/common/timing.ts","pyright-internal/src/analyzer/analysis.ts","pyright-internal/src/common/console.ts","pyright-internal/src/common/logTracker.ts","pyright-internal/src/analyzer/declaration.ts","pyright-internal/src/parser/parseNodes.ts","pyright-internal/src/analyzer/parseTreeWalker.ts","pyright-internal/src/analyzer/parseTreeUtils.ts","pyright-internal/src/analyzer/declarationUtils.ts","pyright-internal/src/analyzer/docStringUtils.ts","pyright-internal/src/analyzer/docStringConversion.ts","pyright-internal/src/analyzer/scopeUtils.ts","pyright-internal/src/analyzer/types.ts","pyright-internal/src/analyzer/symbol.ts","pyright-internal/src/analyzer/symbolUtils.ts","pyright-internal/src/analyzer/typeVarMap.ts","pyright-internal/src/analyzer/typeUtils.ts","pyright-internal/src/common/diagnosticRules.ts","pyright-internal/src/analyzer/sourceMapper.ts","pyright-internal/src/common/diagnostic.ts","pyright-internal/src/localization/localize.ts","pyright-internal/src/analyzer/typedDicts.ts","pyright-internal/src/analyzer/typeDocStringUtils.ts","pyright-internal/src/analyzer/typePrinter.ts","pyright-internal/src/languageService/documentSymbolCollector.ts","pyright-internal/src/languageService/tooltipUtils.ts","pyright-internal/src/languageService/completionProvider.ts","pyright-internal/src/languageService/autoImporter.ts","pyright-internal/src/languageService/callHierarchyProvider.ts","pyright-internal/src/languageService/referencesProvider.ts","pyright-internal/src/languageService/renameModuleProvider.ts","pyright-internal/node_modules/vscode-languageserver-textdocument/lib/esm/main.js","pyright-internal/src/common/configOptions.ts","pyright-internal/src/languageService/definitionProvider.ts","pyright-internal/src/parser/tokenizerTypes.ts","pyright-internal/src/analyzer/circularDependency.ts","pyright-internal/src/common/diagnosticSink.ts","pyright-internal/src/common/textRangeCollection.ts","pyright-internal/src/analyzer/aliasDeclarationUtils.ts","pyright-internal/src/languageService/documentSymbolProvider.ts","pyright-internal/src/languageService/importSorter.ts","pyright-internal/src/parser/stringTokenUtils.ts","pyright-internal/src/parser/characterStream.ts","pyright-internal/src/parser/tokenizer.ts","pyright-internal/src/parser/parser.ts","pyright-internal/src/analyzer/scope.ts","pyright-internal/src/analyzer/staticExpressions.ts","pyright-internal/src/analyzer/binder.ts","pyright-internal/src/analyzer/typeGuards.ts","pyright-internal/src/analyzer/patternMatching.ts","pyright-internal/src/analyzer/checker.ts","pyright-internal/src/analyzer/commentUtils.ts","pyright-internal/src/analyzer/parseTreeCleaner.ts","pyright-internal/src/analyzer/testWalker.ts","pyright-internal/src/analyzer/sourceFile.ts","pyright-internal/src/languageService/hoverProvider.ts","pyright-internal/src/languageService/documentHighlightProvider.ts","pyright-internal/src/languageService/signatureHelpProvider.ts","pyright-internal/src/languageService/quickActions.ts","pyright-internal/src/analyzer/tracePrinter.ts","pyright-internal/src/analyzer/typeCache.ts","pyright-internal/src/analyzer/namedTuples.ts","pyright-internal/src/analyzer/dataClasses.ts","pyright-internal/src/analyzer/functionTransform.ts","pyright-internal/src/analyzer/properties.ts","pyright-internal/src/analyzer/typeEvaluator.ts","pyright-internal/src/analyzer/constructorTransform.ts","pyright-internal/src/analyzer/codeFlowEngine.ts","pyright-internal/src/analyzer/typeStubWriter.ts","pyright-internal/src/analyzer/program.ts","pyright-internal/src/analyzer/typeEvaluatorWithTracker.ts","pyright-internal/src/backgroundThreadBase.ts","pyright-internal/src/common/fileBasedCancellationUtils.ts","pyright-internal/src/backgroundAnalysisBase.ts","pyright-internal/src/common/commandLineOptions.ts","pyright-internal/src/common/deferred.ts","pyright-internal/src/languageService/analyzerServiceExecutor.ts","pyright-internal/src/commands/createTypeStub.ts","pyright-internal/src/commands/quickActionCommand.ts","pyright-internal/src/common/textEditUtils.ts","pyright-internal/src/commands/restartServer.ts","pyright-internal/src/commands/commandController.ts","pyright-internal/src/common/host.ts","pyright-internal/src/analyzer/backgroundAnalysisProgram.ts","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/parser.js","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/scanner.js","pyright-internal/src/analyzer/service.ts","pyright-internal/src/commands/commandResult.ts","pyright-internal/src/common/progressReporter.ts","pyright-internal/src/common/uriParser.ts","pyright-internal/src/languageServerBase.ts","pyright-internal/src/tests/harness/utils.ts","pyright-internal/src/tests/harness/vfs/pathValidation.ts","pyright-internal/src/tests/harness/vfs/filesystem.ts","pyright-internal/src/workspaceMap.ts","pyright/src/browser-server.ts","pyright-internal/src/common/workspaceEditUtils.ts","pyright-internal/src/languageService/codeActionProvider.ts","pyright/src/browserWorkersHost.ts","pyright/src/worker.ts"],"names":["exports","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","i","arr","Arr","_byteLength","curByte","len","revLookup","charCodeAt","fromByteArray","uint8","length","extraBytes","parts","maxChunkLength","len2","push","encodeChunk","lookup","join","Uint8Array","Array","code","Error","indexOf","start","end","num","output","base64","ieee754","customInspectSymbol","Symbol","Buffer","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","Object","setPrototypeOf","prototype","arg","encodingOrOffset","TypeError","allocUnsafe","from","value","string","encoding","isEncoding","actual","write","slice","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","buffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","b","obj","isBuffer","checked","undefined","numberIsNaN","type","isArray","data","fromObject","toPrimitive","assertSize","size","array","toString","mustMatch","arguments","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","this","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","bidirectionalIndexOf","val","dir","arrayIndexOf","call","lastIndexOf","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","base64Write","ucs2Write","units","c","hi","lo","utf16leToBytes","Math","min","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","apply","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","e","typedArraySupport","console","error","defineProperty","enumerable","get","poolSize","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","set","swap16","swap32","swap64","toLocaleString","equals","inspect","max","replace","trim","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","errors","E","sym","getMessage","Base","constructor","super","writable","configurable","name","stack","message","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","abs","INVALID_BASE64_RE","Infinity","leadSurrogate","split","base64clean","src","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","NaN","rt","isNaN","log","LN2","assertPath","path","JSON","stringify","normalizeStringPosix","allowAboveRoot","lastSegmentLength","lastSlash","dots","lastSlashIndex","posix","resolve","cwd","resolvedPath","resolvedAbsolute","normalize","isAbsolute","trailingSeparator","joined","relative","to","fromStart","fromEnd","fromLen","toStart","toLen","lastCommonSep","fromCode","_makeLong","dirname","hasRoot","matchedSlash","basename","extIdx","firstNonSlashEnd","extname","startDot","startPart","preDotState","format","pathObject","sep","root","base","_format","parse","delimiter","win32","module","Promise","ignoreErrors","catch","__createBinding","create","o","k","k2","__exportStar","p","hasOwnProperty","createMessageConnection","BrowserMessageWriter","BrowserMessageReader","default","install","api_1","AbstractMessageReader","context","_onData","Emitter","_messageListener","event","fire","addEventListener","fireError","onmessage","listen","callback","AbstractMessageWriter","errorCount","postMessage","handleError","reject","reader","writer","logger","options","NullLogger","ConnectionStrategy","is","connectionStrategy","ral_1","disposable_1","events_1","messageBuffer_1","MessageBuffer","AbstractMessageBuffer","asciiDecoder","TextDecoder","emptyBuffer","_encoding","TextEncoder","encode","decode","asNative","allocNative","ReadableStreamWrapper","socket","arrayBuffer","then","onClose","listener","Disposable","removeEventListener","onError","onEnd","onData","WritableStreamWrapper","send","close","_textEncoder","_ril","freeze","messageBuffer","applicationJson","encoder","charset","decoder","stream","asReadableStream","asWritableStream","timer","setTimeout","ms","args","clearTimeout","handle","setImmediate","clearImmediate","RIL","CancellationSenderStrategy","CancellationReceiverStrategy","ConnectionError","ConnectionErrors","LogTraceNotification","SetTraceNotification","TraceFormat","Trace","ProgressType","ConnectionOptions","WriteableStreamMessageWriter","MessageWriter","ReadableStreamMessageReader","MessageReader","CancellationToken","CancellationTokenSource","Event","ParameterStructures","NotificationType9","NotificationType8","NotificationType7","NotificationType6","NotificationType5","NotificationType4","NotificationType3","NotificationType2","NotificationType1","NotificationType0","NotificationType","ErrorCodes","ResponseError","RequestType9","RequestType8","RequestType7","RequestType6","RequestType5","RequestType4","RequestType3","RequestType2","RequestType1","RequestType0","RequestType","RAL","CancellationStrategy","messages_1","cancellation_1","messageReader_1","messageWriter_1","connection_1","Is","None","isCancellationRequested","onCancellationRequested","Cancelled","candidate","boolean","shortcutEvent","bind","dispose","MutableToken","_isCancelled","cancel","_emitter","_token","linkedMap_1","CancelNotification","ProgressNotification","StarRequestHandler","ConnectionState","func","warn","info","Off","Messages","Verbose","Text","cancelUndispatched","Message","createCancellationTokenSource","_","sendCancellation","conn","id","sendNotification","cleanup","receiver","sender","cancellationStrategy","messageReader","messageWriter","_logger","sequenceNumber","notificationSquenceNumber","unknownResponseSquenceNumber","version","starRequestHandler","requestHandlers","starNotificationHandler","notificationHandlers","progressHandlers","Map","tracer","messageQueue","LinkedMap","responsePromises","requestTokens","trace","traceFormat","state","New","errorEmitter","closeEmitter","unhandledNotificationEmitter","unhandledProgressEmitter","disposeEmitter","createRequestQueueKey","_message","isListening","Listening","isClosed","Closed","isDisposed","Disposed","closeHandler","triggerMessageQueue","shift","isRequestMessage","requestMessage","reply","resultOrError","method","startTime","jsonrpc","toJson","result","traceSendingResponse","replyError","params","logLSPMessage","traceReceivedRequest","element","requestHandler","handler","Date","now","tokenKey","cancellationSource","handlerResult","numberOfParams","InvalidParams","token","parameterStructures","byName","byPosition","promise","InternalError","replySuccess","MethodNotFound","handleRequest","isNotificationMessage","notificationHandler","source","traceReceivedNotification","handleNotification","isResponseMessage","responseMessage","key","responsePromise","timerStart","traceReceivedResponse","handleResponse","number","responseHandler","handleInvalidMessage","processMessageQueue","toCancel","strategy","response","delete","queue","addMessageToQueue","lspMessage","isLSPMessage","timestamp","throwIfClosedOrDisposed","undefinedToNull","param","nullToUndefined","isNamedParam","computeSingleParam","auto","computeMessageParams","connection","messageParams","paramStart","paramEnd","map","notificationMessage","traceSendingNotification","onNotification","onProgress","_type","has","sendProgress","onUnhandledProgress","sendRequest","throwIfNotListening","disposable","r","traceSendingRequest","MessageWriteError","onRequest","_value","_tracer","sendNotificationOrTraceOptions","_sendNotification","_traceFormat","onUnhandledNotification","onDispose","keys","forEach","AlreadyListening","throwIfListening","verbose","_disposable","CallbackList","add","bucket","_callbacks","_contexts","remove","foundCallbackWithDifferentContext","splice","invoke","callbacks","contexts","isEmpty","_options","_event","thisArgs","disposables","onFirstListenerAdd","_noop","onLastListenerRemove","stringArray","every","elem","Touch","LRUCache","First","AsOld","Last","AsNew","toStringTag","_map","_head","_tail","_size","_state","clear","_a","touch","item","next","previous","addItemLast","addItemFirst","removeItem","callbackfn","thisArg","current","iterator","done","values","entries","trimOld","newSize","currentSize","fromJSON","ratio","_limit","_ratio","checkTrim","peek","round","_chunks","_totalLength","append","chunk","toAppend","tryReadHeaders","chunkIndex","chunkBytesRead","row","_read","headers","header","index","tryReadBody","byteCount","resultOffset","chunkPart","ResolvedMessageReaderOptions","onPartialMessage","partialMessageEmitter","asError","fireClose","firePartialMessage","fromOptions","contentDecoder","contentDecoders","contentTypeDecoder","contentTypeDecoders","readable","_partialMessageTimeout","nextMessageLength","messageToken","timeout","partialMessageTimer","contentLength","body","setPartialMessageTimer","clearPartialMessageTimer","waitingTime","semaphore_1","ResolvedMessageWriterOptions","count","_b","contentTypeEncoder","contentEncoder","writeSemaphore","Semaphore","lock","async","doWrite","AbstractMessageSignature","ParseError","InvalidRequest","jsonrpcReservedErrorRangeStart","serverErrorStart","MessageReadError","ServerNotInitialized","UnknownErrorCode","jsonrpcReservedErrorRangeEnd","serverErrorEnd","kind","_parameterStructures","_ral","ral","capacity","_capacity","_active","_waiting","thunk","runNext","doRunNext","err","createProtocolConnection","browser_1","LSPErrorCodes","lspReservedErrorRangeStart","ContentModified","RequestCancelled","lspReservedErrorRangeEnd","vscode_jsonrpc_1","ProtocolNotificationType","ProtocolNotificationType0","ProtocolRequestType","ProtocolRequestType0","RegistrationType","CallHierarchyOutgoingCallsRequest","CallHierarchyIncomingCallsRequest","CallHierarchyPrepareRequest","ColorPresentationRequest","DocumentColorRequest","ConfigurationRequest","DeclarationRequest","WillDeleteFilesRequest","DidDeleteFilesNotification","DidRenameFilesNotification","WillRenameFilesRequest","DidCreateFilesNotification","WillCreateFilesRequest","FileOperationPatternKind","file","folder","FoldingRangeRequest","FoldingRangeKind","ImplementationRequest","DocumentLinkRequest","CodeLensRefreshRequest","CodeLensResolveRequest","CodeLensRequest","WorkspaceSymbolRequest","CodeActionResolveRequest","CodeActionRequest","DocumentSymbolRequest","DocumentHighlightRequest","ReferencesRequest","DefinitionRequest","SignatureHelpRequest","SignatureHelpTriggerKind","HoverRequest","CompletionResolveRequest","CompletionRequest","CompletionTriggerKind","PublishDiagnosticsNotification","WatchKind","FileChangeType","DidChangeWatchedFilesNotification","WillSaveTextDocumentWaitUntilRequest","WillSaveTextDocumentNotification","TextDocumentSaveReason","DidSaveTextDocumentNotification","DidCloseTextDocumentNotification","DidChangeTextDocumentNotification","TextDocumentContentChangeEvent","DidOpenTextDocumentNotification","TextDocumentSyncKind","TelemetryEventNotification","LogMessageNotification","ShowMessageRequest","ShowMessageNotification","MessageType","DidChangeConfigurationNotification","ExitNotification","ShutdownRequest","InitializedNotification","InitializeError","InitializeRequest","WorkDoneProgressOptions","TextDocumentRegistrationOptions","StaticRegistrationOptions","FailureHandlingKind","ResourceOperationKind","UnregistrationRequest","RegistrationRequest","DocumentSelector","DocumentFilter","MonikerRequest","MonikerKind","UniquenessLevel","LinkedEditingRangeRequest","ShowDocumentRequest","SemanticTokensRegistrationType","SemanticTokensRefreshRequest","SemanticTokensRangeRequest","SemanticTokensDeltaRequest","SemanticTokensRequest","TokenFormat","SemanticTokens","SemanticTokenModifiers","SemanticTokenTypes","WorkDoneProgressCancelNotification","WorkDoneProgressCreateRequest","WorkDoneProgress","SelectionRangeRequest","DidChangeWorkspaceFoldersNotification","WorkspaceFoldersRequest","TypeDefinitionRequest","ApplyWorkspaceEditRequest","ExecuteCommandRequest","PrepareRenameRequest","RenameRequest","PrepareSupportDefaultBehavior","DocumentOnTypeFormattingRequest","DocumentRangeFormattingRequest","DocumentFormattingRequest","DocumentLinkResolveRequest","protocol_implementation_1","protocol_typeDefinition_1","protocol_workspaceFolders_1","protocol_configuration_1","protocol_colorProvider_1","protocol_foldingRange_1","protocol_declaration_1","protocol_selectionRange_1","protocol_progress_1","protocol_callHierarchy_1","protocol_semanticTokens_1","protocol_showDocument_1","protocol_linkedEditingRange_1","protocol_fileOperations_1","protocol_moniker_1","language","scheme","pattern","Create","Rename","Delete","Abort","Transactional","TextOnlyTransactional","Undo","hasId","documentSelector","objectLiteral","workDoneProgress","hasWorkDoneProgress","unknownProtocolVersion","Warning","Info","Log","Full","Incremental","isIncremental","text","rangeLength","isFull","Manual","AfterDelay","FocusOut","Created","Changed","Deleted","Change","Invoked","TriggerCharacter","TriggerForIncompleteCompletions","ContentChange","Identifier","resultId","Relative","typedArray","check","integer","uinteger","Position","Range","Location","LocationLink","Color","ColorInformation","ColorPresentation","FoldingRange","DiagnosticRelatedInformation","DiagnosticSeverity","DiagnosticTag","CodeDescription","Diagnostic","Command","TextEdit","ChangeAnnotation","ChangeAnnotationIdentifier","AnnotatedTextEdit","TextDocumentEdit","CreateFile","RenameFile","DeleteFile","WorkspaceEdit","MIN_VALUE","MAX_VALUE","line","character","one","two","three","four","uri","defined","targetUri","targetRange","targetSelectionRange","originSelectionRange","red","green","blue","alpha","numberRange","color","label","textEdit","additionalTextEdits","startLine","endLine","startCharacter","endCharacter","location","Information","Hint","Unnecessary","Deprecated","href","severity","relatedInformation","codeDescription","title","command","_i","newText","insert","position","del","needsConfirmation","description","annotation","annotationId","textDocument","edits","OptionalVersionedTextDocumentIdentifier","overwrite","ignoreIfExists","oldUri","newUri","recursive","ignoreIfNotExists","changes","documentChanges","change","TextDocumentIdentifier","VersionedTextDocumentIdentifier","TextDocumentItem","MarkupKind","MarkupContent","CompletionItemKind","InsertTextFormat","CompletionItemTag","InsertReplaceEdit","InsertTextMode","CompletionItem","CompletionList","MarkedString","Hover","ParameterInformation","SignatureInformation","DocumentHighlightKind","DocumentHighlight","SymbolKind","SymbolTag","SymbolInformation","DocumentSymbol","CodeActionKind","CodeActionContext","CodeAction","CodeLens","FormattingOptions","DocumentLink","SelectionRange","TextEditChangeImpl","changeAnnotations","edit","assertChangeAnnotations","manage","all","ChangeAnnotations","annotations","_annotations","_counter","idOrAnnotation","nextId","WorkspaceChange","workspaceEdit","_this","_textEditChanges","_workspaceEdit","_changeAnnotations","textEditChange","initDocumentChanges","getTextEditChange","textDocumentEdit","initChanges","createFile","optionsOrAnnotation","operation","renameFile","deleteFile","languageId","PlainText","Markdown","Method","Function","Constructor","Field","Variable","Class","Interface","Module","Property","Unit","Value","Enum","Keyword","Snippet","File","Reference","Folder","EnumMember","Constant","Struct","Operator","TypeParameter","asIs","adjustIndentation","items","isIncomplete","fromPlainText","plainText","contents","documentation","parameters","Read","Write","Namespace","Package","Boolean","Key","Null","containerName","detail","selectionRange","children","deprecated","tags","Empty","QuickFix","Refactor","RefactorExtract","RefactorInline","RefactorRewrite","Source","SourceOrganizeImports","SourceFixAll","diagnostics","only","kindOrCommandOrEdit","checkKind","isPreferred","tabSize","insertSpaces","parent","TextDocument","EOL","mergeSort","left","right","leftIdx","rightIdx","content","FullTextDocument","lineCount","getText","positionAt","offsetAt","applyEdits","document","sortedEdits","diff","lastModifiedOffset","startOffset","endOffset","substring","_uri","_languageId","_version","_content","_lineOffsets","update","getLineOffsets","lineOffsets","isLineStart","ch","charAt","low","high","mid","lineOffset","nextLineOffset","createConnection","_shutdownReceived","watchDog","initialize","_params","exit","_code","arg1","arg2","arg3","arg4","factories","__brand","ProposedFeatures","SemanticTokensBuilder","semanticTokens_1","CallHierarchyFeature","vscode_languageserver_protocol_1","onPrepare","attachWorkDoneProgress","onIncomingCalls","attachPartialResultProgress","onOutgoingCalls","ConfigurationFeature","getConfiguration","_getConfiguration","section","FileOperationsFeature","onDidCreateFiles","onDidRenameFiles","onDidDeleteFiles","onWillCreateFiles","onWillRenameFiles","onWillDeleteFiles","LinkedEditingRangeFeature","onLinkedEditingRange","MonikerFeature","on","attachPartialResult","ProgressFeature","attachWorkDone","uuid_1","WorkDoneProgressReporterImpl","_connection","Instances","begin","percentage","cancellable","report","arg0","WorkDoneProgressServerReporterImpl","_source","NullProgressReporter","NullProgressServerReporter","ResultProgress","workDoneToken","_progressSupported","capabilities","window","progress","createWorkDoneProgress","generateUuid","ResultProgressReporterImpl","partialResultToken","SemanticTokensFeature","onDelta","onRange","_prevData","_id","_prevLine","_prevChar","_data","_dataLen","char","tokenType","tokenModifiers","pushLine","pushChar","previousResult","build","canBuildEdits","buildEdits","prevDataLength","dataLength","startIndex","endIndex","newData","deleteCount","combineFeatures","combineLanguagesFeatures","combineWorkspaceFeatures","combineWindowFeatures","combineClientFeatures","combineTracerFeatures","combineTelemetryFeatures","combineConsoleFeatures","_LanguagesImpl","BulkUnregistration","BulkRegistration","ErrorMessageTracker","TextDocuments","UUID","progress_1","configuration_1","workspaceFolders_1","callHierarchy_1","showDocument_1","fileOperations_1","linkedEditingRange_1","moniker_1","null2Undefined","configuration","_documents","_configuration","_onDidChangeContent","_onDidOpen","_onDidClose","_onDidSave","_onWillSave","onWillSaveWaitUntil","_willSaveWaitUntil","__textDocumentSync","onDidOpenTextDocument","td","toFire","onDidChangeTextDocument","contentChanges","onDidCloseTextDocument","onWillSaveTextDocument","reason","onWillSaveTextDocumentWaitUntil","onDidSaveTextDocument","_messages","sendErrors","showErrorMessage","RemoteConsoleImpl","rawAttach","_rawConnection","attach","fillServerCapabilities","_capabilities","RemoteWindowImpl","ShowDocumentFeature","actions","showWarningMessage","showInformationMessage","BulkRegistrationImpl","_registrations","_registered","Set","registerOptions","asRegistrationParams","registrations","BulkUnregistrationImpl","unregistrations","_unregistrations","unregistration","unregisterations","_error","disposeSingle","RemoteClientImpl","register","typeOrRegistrations","registerOptionsOrType","registerMany","registerSingle1","registerSingle2","isAttached","_result","unregisterSingle","registration","RemoteWorkspaceImpl","WorkspaceFoldersFeature","applyEdit","paramOrEdit","TracerImpl","_trace","TelemetryImpl","logEvent","LanguagesImpl","combine","telemetry","client","workspace","connectionFactory","remoteWindow","languages","allRemotes","asPromise","thenable","resolved","shutdownHandler","initializeHandler","exitHandler","protocolConnection","onInitialize","onInitialized","onShutdown","onExit","onDidChangeConfiguration","onDidChangeWatchedFiles","sendDiagnostics","onHover","onCompletion","onCompletionResolve","onSignatureHelp","onDeclaration","onDefinition","onTypeDefinition","onImplementation","onReferences","onDocumentHighlight","onDocumentSymbol","onWorkspaceSymbol","onCodeAction","onCodeActionResolve","onCodeLens","onCodeLensResolve","onDocumentFormatting","onDocumentRangeFormatting","onDocumentOnTypeFormatting","onRenameRequest","onPrepareRename","onDocumentLinks","onDocumentLinkResolve","onDocumentColor","onColorPresentation","onFoldingRanges","onSelectionRanges","onExecuteCommand","remote","textDocumentSync","shutdownReceived","showDocument","isUUID","v4","empty","ValueUUID","asHex","other","V4UUID","_randomHex","_oneOf","_timeHighBits","random","_chars","_UUIDPattern","test","workspaceCapabilities","workspaceFolders","_onDidChangeWorkspaceFolders","getWorkspaceFolders","_unregistration","f","DateTime","g","isDate","toISOString","getUTCFullYear","getUTCMonth","getUTCDate","date","FloatingDateTime","isFloating","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","Time","isTime","ParserEND","ParserError","filename","linenumber","captureStackTrace","State","parser","returned","resultTable","resultArr","Parser","col","ctx","_buf","ii","parseStart","getNext","nextChar","runOne","codePointAt","haveBuffer","finish","goto","returnWith","callNow","return","pop","returnNow","consume","END","makeParserClass","TomlError","fromTOML","wrapped","wrap","terr","createDateTime","createDateTimeFloat","createDate","createTime","CTRL_I","CTRL_J","CTRL_M","CTRL_CHAR_BOUNDARY","CHAR_SP","CHAR_QUOT","CHAR_NUM","CHAR_APOS","CHAR_PLUS","CHAR_COMMA","CHAR_HYPHEN","CHAR_PERIOD","CHAR_0","CHAR_1","CHAR_7","CHAR_9","CHAR_COLON","CHAR_EQUALS","CHAR_A","CHAR_E","CHAR_F","CHAR_T","CHAR_U","CHAR_Z","CHAR_LOWBAR","CHAR_a","CHAR_b","CHAR_e","CHAR_f","CHAR_i","CHAR_l","CHAR_n","CHAR_o","CHAR_r","CHAR_s","CHAR_t","CHAR_u","CHAR_x","CHAR_z","CHAR_LCUB","CHAR_RCUB","CHAR_LSQB","CHAR_BSOL","CHAR_RSQB","CHAR_DEL","SURROGATE_FIRST","SURROGATE_LAST","escapes","isDigit","cp","isHexit","isBit","isOctit","isAlphaNumQuoteHyphen","isAlphaNumHyphen","_declared","descriptor","hasKey","INLINE_TABLE","InlineTable","defineProperties","isInlineTable","TABLE","Table","isTable","_contentType","INLINE_LIST","InlineList","isInlineList","LIST","List","isList","_custom","utilInspect","eval","custom","_inspect","BoxedBigInt","asIntN","INTEGER","Integer","isSafeInteger","FLOAT","Float","isFloat","tomlType","atEndOfWord","atEndOfLine","parseTableOrList","parseComment","parseAssignStatement","parseWhitespaceToEOL","parseAssign","recordAssignStatement","kv","finalKey","kw","parseKeyword","recordAssignKeyword","parseAssignKeywordPreDot","parseAssignKeywordPostDot","parseAssignEqual","parseAssignPreValue","parseValue","recordAssignValue","parseTable","parseList","parseTableNext","parseTableMore","keyword","parseListNext","parseListMore","parseListEnd","parseDoubleString","parseSingleString","parseNumberSign","parseInf","parseNan","parseNumberOrDateTime","parseBoolean","parseInlineList","recordValue","parseInlineTable","parseInf2","parseNan2","parseBasicString","parseLiteralString","parseBareKey","parseLiteralMultiStringMaybe","errorControlCharInString","parseLiteralMultiString","parseLiteralMultiStringContent","parseLiteralMultiEnd","parseLiteralMultiEnd2","parseMultiStringMaybe","parseEscape","recordEscapeReplacement","replacement","parseMultiString","parseMultiStringContent","parseMultiEscape","recordMultiEscapeReplacement","parseMultiEnd","displayCode","parseMultiEnd2","parseMultiTrim","parsePreMultiTrim","parseSmallUnicode","parseUnicodeReturn","parseLargeUnicode","fromCodePoint","parseMaybeSignedInfOrNan","parseNoUnder","parseNumberIntegerStart","parseNumberIntegerExponentOrDecimal","parseNumberInteger","parseNumberFloat","parseNumberExponentSign","parseNoUnderHexOctBinLiteral","parseNumberExponent","parseNumberBaseOrDateTime","parseNumberOrDateTimeOnly","parseDateTime","parseOnlyTimeHour","parseDateTimeOnly","parseIntegerBin","parseIntegerOct","parseIntegerHex","parseDateMonth","parseDateDay","parseStartTimeHour","parseTimeHour","parseTimeMin","parseTimeSec","parseTimeZoneOrFraction","parseOnlyTimeMin","parseOnlyTimeSec","parseOnlyTimeFractionMaybe","parseOnlyTimeFraction","parseDateTimeFraction","parseTimeZoneHour","parseTimeZoneSep","parseTimeZoneMin","parseTrue_r","parseFalse_a","parseTrue_u","parseTrue_e","parseFalse_l","parseFalse_s","parseFalse_e","recordInlineListValue","listType","valueType","parseInlineListNext","recordInlineTableValue","parseInlineTableNext","opts","blocksize","TOMLParser","parseAsyncNext","prettyError","lines","lineNumWidth","linePadding","lineNum","hh","stm","setEncoding","ended","errored","once","readNext","parseReadable","Transform","objectMode","transform","cb","emit","flush","parseTransform","typeError","getInlineKeys","filter","isInline","nobj","prop","stringifyObject","prefix","indent","inlineKeys","complexKeys","getComplexKeys","inlineIndent","stringifyKey","stringifyAnyInline","complexIndent","validateArray","firstValueType","fullKey","stringifyArrayOfTables","stringifyComplexTable","stringifyComplex","keyStr","stringifyBasicString","escapeString","numpad","multilineOk","stringifyInline","escaped","stringifyMultilineString","stringifyInteger","chunks","int","dec","stringifyFloat","stringifyBoolean","stringifyDatetime","stringified","stringifyInlineArray","stringifyInlineTable","contentType","isNumber","arrayType","charCodeCache","leven","leftLength","rightLength","bCharCode","temp","temp2","__webpack_module_cache__","leafPrototypes","getProto","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","getPrototypeOf","t","mode","ns","def","getOwnPropertyNames","definition","chunkId","reduce","promises","u","globalThis","scriptUrl","importScripts","currentScript","scripts","getElementsByTagName","installedChunks","chunkLoadingGlobal","self","parentChunkLoadingFunction","chunkIds","moreModules","runtime","identity","equateValues","compareComparableValues","isString","isDebugMode","argv","isDefined","toOffset","addRange","insertAt","unshift","some","predicate","binarySearch","keySelector","keyComparer","middle","binarySearchKey","getOrAdd","newValueFactory","newValue","removeArrayElements","keyGetter","typeshedFallback","lib","libAlternate","lib64","sitePackages","stubsSuffix","LIB","h","l","URI","Utils","P","platform","navigator","userAgent","__proto__","authority","query","fragment","isUri","fsPath","with","A","exec","O","w","revive","_formatted","external","_fsPath","_sep","v","$mid","encodeURIComponent","C","decodeURIComponent","match","U","I","joinPath","resolvePath","assert","expression","verboseDebugInfo","stackCrawlMark","fail","assertNever","member","getSerializableError","nodeCrypto","randomBytes","randomBytesHex","crypto","getRandomValues","padStart","isPatternInSymbol","typedValue","symbolName","typedLower","toLocaleLowerCase","symbolLower","typedLength","symbolLength","typedPos","symbolPos","hashString","hash","compareStringsCaseInsensitive","toUpperCase","compareStringsCaseSensitive","getStringComparer","ignoreCase","equateStringsCaseInsensitive","equateStringsCaseSensitive","getCharacterCount","_fsCaseSensitivity","FileSpec","forEachAncestorDirectory","directory","parentPath","getDirectoryPath","pathString","getRootLength","p1","p2","getPathComponents","normalizedPath","normalizeSlashes","rootLength","rest","reducePathComponents","components","reduced","component","combinePathComponents","ensureTrailingDirectorySeparator","getRelativePath","dirPath","relativeTo","startsWith","pathComponents","relativePath","makeDirectories","fs","startingFromDirPath","curPath","combinePaths","existsSync","mkdirSync","wildcardRoot","regExp","invalidSeparator","separatorRegExp","resolvePaths","paths","normalizePath","containsPath","child","currentDirectory","parentComponents","childComponents","componentEqualityComparer","changeAnyExtension","extensions","pathExt","getAnyExtensionFromPath","stringEqualityComparer","tryGetExtensionFromPath","extension","getAnyExtensionFromPathWorker","stripTrailingDirectorySeparator","baseFileName","getBaseFileName","extensionIndex","getRelativePathComponentsFromDirectory","fromDirectory","getCanonicalFileNameOrIgnoreCase","getCanonicalFileName","fromComponents","toComponents","getPathComponentsRelativeTo","comparePathsCaseSensitive","comparePathsWorker","comparePathsCaseInsensitive","hasTrailingDirectorySeparator","getFileExtension","fileName","multiDotExtension","firstDotIndex","getFileName","stripFileExtension","isDirectory","tryStat","isFile","statSync","tryRealpath","realpathSync","getFileSystemEntries","getFileSystemEntriesFromDirEntries","readdirEntriesSync","files","directories","dirEntries","sort","entry","isSymbolicLink","stat","getFileSpec","rootPath","fileSpec","regExPattern","absolutePath","endsWith","escapedSeparator","getRegexEscapedSeparator","doubleAsteriskRegexFragment","reservedCharacterPattern","RegExp","firstComponent","getWildcardRegexPattern","getWildcardRoot","isDiskPathRoot","componentComparer","aRoot","bRoot","relativePathSegmentRegExp","aRest","bRest","aComponents","bComponents","sharedLength","pathExtension","convertUriToPath","uriString","getMappedFilePath","convertedPath","extractPathFromUri","getUri","getOriginalFilePath","normalizePathCase","filePath","mangledFilePath","tmpdir","writeFileSync","unlinkSync","isFileSystemCaseSensitiveInternal","isFileSystemCaseSensitive","PythonVersion","latestStablePythonVersion","V3_10","versionToString","versionFromString","verString","major","minor","versionFromMajorMinor","CharCategory","_identifierCharFastTableSize","_identifierCharFastTable","_identifierCharMap","_surrogateCharMap","_identifierCharMapInitialized","isIdentifierStartChar","StartIdentifierChar","charCategory","_buildIdentifierLookupTable","_lookUpSurrogate","isIdentifierChar","IdentifierChar","isDecimal","isHex","isOctal","isBinary","SurrogateChar","NotIdentifierChar","surrogateTable","_startIdentifierCharRanges","_startCharSurrogateRanges","_identifierCharRanges","_identifierCharSurrogateRanges","_buildIdentifierLookupTableFromUnicodeRangeTable","category","fastTableOnly","fastTable","fullTable","entryIndex","rangeStart","rangeEnd","_buildIdentifierLookupTableFromSurrogateRangeTable","surrogateChar","getPyTypedInfo","fileSystem","isPartiallyTyped","pyTypedPath","fileStats","pyTypedContents","readFileSync","ignoredWatchEventFunction","normalizedPaths","nullFileWatcher","nullFileWatcherProvider","createFileWatcher","_1","_2","onFileChange","VirtualDirent","_file","isBlockDevice","isCharacterDevice","isFIFO","isSocket","PyrightFileSystem","_realFS","_entryMap","_reverseEntryMap","_folderMap","_isMovedEntry","_getOriginalPath","chdir","maybeDirectory","movedEntries","readdirSync","getModulePath","createFileSystemWatcher","createReadStream","createWriteStream","copyFileSync","readFile","readFileText","tmpfile","realCasePath","originalPath","isMappedFilePath","filepath","mappedFilePath","originalFilepath","isInZipOrEgg","_recordMovedEntry","mappedPath","reversible","folderInfo","_clear","realFS","_rootSearched","_partialStubPackagePaths","_conflictMap","_customUriMap","hasUriMapEntry","addUriMap","closed","hasPendingRequest","removeUriMap","pendingRequest","isPartialStubPackagesScanned","execEnv","isPathScanned","processPartialStubPackages","roots","partialStubPackagePath","pyTypedInfo","partialStubs","packageName","packagePath","packagePyTyped","_getRelativePathPartialStubs","partialStub","originalPyiFile","mappedPyiFile","mappedPyFile","tmpPyFile","clearPartialStubs","getConflictedFile","partialStubPathLength","searchAllStubs","cancellationFolderName","OperationCanceledException","CancelAfter","tokens","DefaultCancellationProvider","TextRange","FlowFlags","comparePositions","doRangesIntersect","doesRangeContain","positionOrRange","positionsAreEqual","rangesAreEqual","extendRange","convertOffsetToPosition","offsetAdjustment","itemIndex","getItemContaining","lineRange","getItemAt","convertOffsetsToRange","convertRangeToTextRange","fromBounds","convertTextRangeToRange","getEnd","overlaps","extend","contains","containsRange","span","overlapsRange","ranges","combinedRange","print","_nextFlowNodeId","getUniqueFlowNodeId","isCodeFlowSupportedForReference","reference","nodeType","leftExpression","trailingComma","argumentCategory","subscriptNode","valueExpression","isIntegerIndex","isImaginary","isStringIndex","strings","baseExpression","createKeyForReference","memberName","leftKey","valExpr","createKeysForReferenceSubexpressions","getImportInfo","node","importInfo","getScope","scope","setScope","getDeclaration","declaration","setDeclaration","decl","getFlowNode","flowNode","setFlowNode","setAfterFlowNode","afterFlowNode","fileInfo","setCodeFlowExpressions","expressions","codeFlowExpressions","getDunderAllInfo","dunderAllInfo","setDunderAllInfo","names","isCodeUnreachable","curNode","flags","Unreachable","_constantRegEx","_underscoreOnlyRegEx","_camelCaseRegEx","isPrivateOrProtectedName","isDunderName","isConstantName","isTypeAliasName","getImportGroup","statement","importResult","importType","isLocalTypingsFile","isRelative","getTopLevelImports","parseTree","includeImplicitImports","localImports","orderedImports","mapByFilePath","followsNonImportStatement","foundFirstImportStatement","statements","subStatement","importAsNode","isImportFound","resolvedPaths","localImport","subnode","moduleName","_formatModuleName","_processImportNode","implicitImports","implicitImport","importFromAs","imports","find","prevEntry","_processImportFromNode","_getImportSymbolNameType","getTextEditsForAutoImportSymbolAddition","importNameInfo","importStatement","parseResults","additionEdits","isWildcardImport","importFrom","importAs","alias","nameInfo","_getTextEditsForAutoImportSymbolAddition","editsMap","textEditList","editGroup","replacementText","_compareImportNames","importName","name1","name2","priorImport","curImport","useOnePerLineFormatting","indentText","importStatementPos","tokenizerOutput","firstSymbolPos","secondSymbolPos","firstSymbolLineRange","insertionPosition","insertText","eol","predominantEndOfLineSequence","getTextEditsForAutoImportInsertion","importStatements","importGroup","invocationPosition","insertionEdits","getTextEdit","preChange","compareImports","postChange","isImport1","_convertInsertionEditsToTextEdits","appendToEdits","fromImports","importStatementGetter","importNames","importText","sortText","getImportAsText","equalityComparer","addIfUnique","invocation","insertBefore","insertionImport","prevImportGroup","curImportGroup","addNewLineBefore","stopHere","simpleStatement","_getInsertionEditForAutoImportInsertion","_getInsertionEditsForAutoImportInsertion","leadingDots","nameParts","part","getImportGroupFromModuleNameAndType","moduleNameAndType","getRelativeModuleName","sourcePath","targetPath","ignoreFolderStructure","sourceIsFile","srcPath","destPath","relativePaths","currentPaths","getDirectoryLeadingDotsPointsTo","ParentDirectoryCache","_importRootGetter","_importChecked","_cachedResults","_libPathCache","getImportResult","importPath","checkValidPath","sourceFilePath","reset","stdLibFolderName","thirdPartyFolderName","findPythonSearchPaths","configOptions","host","importFailureInfo","includeWatchPathsOnly","workspaceRoot","venvPath","venv","venvDir","foundPaths","sitePackagesPaths","libPath","sitePackagesPath","dirName","findSitePackagesPath","addPathIfUnique","getPathsFromPthFiles","pathResult","getPythonSearchPaths","pythonPath","isPythonBinary","parentDir","searchPaths","pthFile","trimmedLine","pthPath","pathList","pathToAdd","createImportedModuleDescriptor","importedSymbols","supportedNativeLibExtensions","supportedFileExtensions","ImportResolver","_configOptions","_cachedImportResults","_cachedModuleNameResults","_cachedEntriesForPath","cachedParentImportResults","invalidateCache","_invalidateFileSystemCache","resolveImport","moduleDescriptor","_resolveImport","formatImportName","_resolveImportStrict","origin","filterImplicitImports","getParentImportResolutionRoot","_shouldWalkUp","resolveAbsoluteImport","success","_tryWalkUp","notFoundResult","isPartlyResolved","isNamespacePackage","isStubPackage","isStubFile","isNativeLib","filteredImplicitImports","nonStubImportResult","ensurePartialStubPackages","relativeImport","_resolveRelativeImport","cachedResults","_lookUpResultsInCache","_isNamespacePackageResolved","bestImport","_resolveBestAbsoluteImport","addResultsToCache","getCompletionSuggestions","suggestions","_getCompletionSuggestionsStrict","_getCompletionSuggestionsAbsolute","_getCompletionSuggestionsRelative","_getCompletionSuggestionsTypeshedPath","extraPath","extraPaths","stubPath","pythonSearchPaths","searchPath","getSourceFilesFromStub","stubFilePath","_mapCompiled","sourceFilePaths","nonEmptyPath","dirExistsCached","importRootPaths","getImportRoots","relativeStubPaths","importRootPath","relativeStubPath","absoluteSourcePath","fileExistsCached","filePathWithoutExtension","getModuleNameForImport","cache","_getModuleNameForImport","stdLibTypeshedPath","_getStdlibTypeshedPath","getModuleNameFromPath","_isStdlibTypeshedStubValidForVersion","candidateModuleName","thirdPartyTypeshedPath","_getThirdPartyTypeshedPath","thirdPartyTypeshedPathEx","getTypeshedPathEx","getTypeshedStdLibPath","forLogging","stdTypeshed","thirdPartyRoot","thirdPartyPaths","_getThirdPartyTypeshedPackageRoots","typeshedPathEx","readdirEntriesCached","cachedValue","newCacheValue","splitPath","_splitPath","realPath","ignored","addPaths","allowPartial","allowNativeLib","useStubPackage","allowPyi","lookForPyTyped","_resolveAbsoluteImport","packageDirectory","importFound","fileNameWithoutExtension","pyFilePath","pyiFilePath","_findImplicitImports","isFirstPart","isLastPart","foundDirectory","foundInit","fileDirectory","nativeLibFileName","_getFilesInDirectory","_isNativeModuleFileName","nativeLibPath","_resolveNativeModuleStub","resolveImportEx","resolveNativeImportEx","libraryFilePath","getNativeModuleName","fileExtension","_isNativeModuleFileExtension","cacheForExecEnv","cachedEntry","symbol","containerPath","stripTopContainerDir","_isIdentifier","typingsImport","bestResultSoFar","_pickBestImport","thirdPartyImport","_getTypeshedRoot","extraResults","typeshedStdlibImport","_findTypeshedPath","isTypeshedFile","typeshedImport","bestImportSoFar","newImport","_cachedPythonSearchPaths","isStdLib","typeshedPaths","_getThirdPartyTypeshedPackagePaths","typeshedPath","_buildTypeshedThirdPartyPackageMap","thirdPartyDir","_cachedTypeshedThirdPartyPackagePaths","outerEntry","innerDirPath","innerEntry","strippedFileName","_cachedTypeshedThirdPartyPackageRoots","subdirectory","_getTypeshedSubdirectory","_cachedTypeshedStdLibModuleVersions","_readTypeshedStdLibVersions","namePartCount","namePartsToConsider","versionRange","pythonVersion","versionRangeMap","typeshedStdLibPath","versionsFilePath","colonSplit","versionSplit","minVersionString","maxVersion","minVersion","V3_0","includeMatchOnly","firstNamePart","flatten","getMapValues","_cachedTypeshedRoot","possibleTypeshedPath","moduleDirectory","debugTypeshedPath","_cachedTypeshedStdLibPath","_cachedTypeshedThirdPartyPath","absImport","entriesInDir","filesInDir","linkPath","strictOnly","hasTrailingDot","parentNameParts","_addFilteredSuggestionsAbsolute","currentPath","fileWithoutExtension","_isUniqueValidSuggestion","_isResolvableSuggestion","suggestionToAdd","newImportResult","assign","importingModuleName","exclusions","implicitImportMap","fileExt","exclusion","nativeStubPath","repeat","moduleFullName","compiledStubPath","withoutExtension","executionRoot","apiDocsRequestType","_host","initializeWorkersHost","createMessageChannel","parentPort","threadId","shallowReplace","mapper","shallowCopy","Duration","_startTime","getDurationInMilliseconds","getDurationInSeconds","TimingStat","totalTime","callCount","isTiming","timeOperation","duration","subtractFromTime","printTime","totalTimeInSec","timingStats","totalDuration","findFilesTime","readFileTime","tokenizeFileTime","parseFileTime","resolveImportsTime","cycleDetectionTime","bindTime","typeCheckerTime","typeEvaluationTime","printSummary","printDetails","getTotalDuration","nullCallback","analyzeProgram","program","maxTime","moreToAnalyze","analyze","filesLeftToAnalyze","getFilesToAnalyzeCount","getDiagnostics","diagnosticFileCount","elapsedTime","filesInProgram","getFileCount","filesRequiringAnalysis","checkingOnlyOpenFiles","isCheckingOnlyOpenFiles","fatalErrorOccurred","configParseErrorOccurred","LogLevel","StandardConsole","ConsoleWithLogLevel","_console","_name","_levelMap","Warn","_maxLevel","maxLevel","_log","_prefix","level","_getNumericalLevel","numericLevel","logType","LogTracker","_dummyState","_indentation","_previousTitles","minimalDuration","logParsingPerf","msDuration","isSuppressed","_printPreviousTitles","fileReadTotal","tokenizeTotal","parsingTotal","resolveImportsTotal","bindingTotal","previousTitle","_start","_startFile","_startToken","_startParse","_startImport","_startBind","addendum","_addendum","suppress","_suppress","isFunctionDeclaration","isClassDeclaration","isParameterDeclaration","isVariableDeclaration","isAliasDeclaration","_nextNodeId","newRange","ModuleNode","SuiteNode","IfNode","WhileNode","ForNode","ListComprehensionForNode","ListComprehensionIfNode","TryNode","ExceptNode","FunctionNode","ParameterNode","ClassNode","WithNode","WithItemNode","DecoratorNode","StatementListNode","ErrorNode","UnaryOperationNode","BinaryOperationNode","AssignmentExpressionNode","AssignmentNode","TypeAnnotationNode","FunctionAnnotationNode","AugmentedAssignmentNode","AwaitNode","TernaryNode","UnpackNode","TupleNode","CallNode","ListComprehensionNode","IndexNode","SliceNode","YieldNode","YieldFromNode","MemberAccessNode","LambdaNode","NameNode","ConstantNode","EllipsisNode","NumberNode","StringNode","FormatStringNode","StringListNode","DictionaryNode","DictionaryKeyEntryNode","DictionaryExpandEntryNode","SetNode","ListNode","ArgumentNode","DelNode","PassNode","ImportNode","ModuleNameNode","ImportAsNode","ImportFromNode","ImportFromAsNode","GlobalNode","NonlocalNode","AssertNode","BreakNode","ContinueNode","ReturnNode","RaiseNode","MatchNode","CaseNode","PatternSequenceNode","PatternAsNode","PatternLiteralNode","PatternClassNode","PatternClassArgumentNode","PatternCaptureNode","PatternMappingNode","PatternMappingKeyEntryNode","PatternMappingExpandEntryNode","PatternValueNode","isExpressionNode","ifOrElifToken","testExpression","ifSuite","elseSuite","whileToken","whileSuite","forToken","targetExpression","iterableExpression","forSuite","startToken","ifToken","tryToken","trySuite","exceptClauses","exceptToken","exceptSuite","isExceptGroup","defToken","suite","decorators","paramCategory","classToken","createDummyForDecorators","comments","decorator","withToken","withItems","atToken","initialRange","operatorToken","operator","maxChildDepth","rightExpression","typeAnnotation","openParenToken","isParamListEllipsis","paramTypeAnnotations","returnTypeAnnotation","destExpression","awaitToken","ifExpression","elseExpression","starToken","enclosedInParens","argList","forIfNodes","closeBracketToken","yieldToken","lambdaToken","nameToken","constType","keywordType","unescapedValue","hasUnescapeErrors","expr","keyExpression","expandExpression","argCategory","delToken","passToken","fromToken","usesParens","nameList","assertToken","matchToken","subjectExpression","cases","caseToken","isIrrefutable","guardExpression","firstToken","starEntryIndex","findIndex","orPatterns","isStar","className","isWildcard","keyPattern","valuePattern","starStarToken","walk","childrenToWalk","visitNode","walkMultiple","nodes","visitError","visitArgument","visitAssert","exceptionExpression","visitAssignment","typeAnnotationComment","visitAssignmentExpression","visitAugmentedAssignment","visitAwait","visitBinaryOperation","visitBreak","visitCall","visitClass","visitConstant","visitContinue","visitDecorator","visitDel","visitDictionary","visitDictionaryExpandEntry","visitDictionaryKeyEntry","visitEllipsis","visitIf","visitImport","visitImportAs","visitImportFrom","visitImportFromAs","visitIndex","visitExcept","typeExpression","visitFor","visitFormatString","visitFunction","functionAnnotationComment","visitGlobal","visitLambda","visitList","visitListComprehension","visitListComprehensionFor","visitListComprehensionIf","visitMemberAccess","visitModule","visitModuleName","visitName","visitNonlocal","visitNumber","visitParameter","defaultValue","visitPass","visitRaise","tracebackExpression","visitReturn","returnExpression","visitSet","visitSlice","startValue","endValue","stepValue","visitStatementList","visitStringList","visitString","visitSuite","visitTernary","visitTuple","visitTry","finallySuite","visitTypeAnnotation","visitUnaryOperation","visitUnpack","visitWhile","visitWith","visitWithItem","visitYield","visitYieldFrom","visitFunctionAnnotation","visitMatch","visitCase","visitPatternSequence","visitPatternAs","visitPatternLiteral","visitPatternClass","visitPatternCapture","visitPatternMapping","visitPatternMappingKeyEntry","visitPatternMappingExpandEntry","visitPatternValue","visitPatternClassArgument","getNodeDepth","depth","findNodeByOffset","containingChild","getClassFullName","classNode","getEnclosingClass","reverse","getTypeSourceId","printArgument","argStr","printExpression","printOperator","exprStr","parenthesized","exprString","escapedValue","listStr","isAsync","isParenthesized","paramStr","dictContents","operatorMap","getEnclosingSuite","stopAtFunction","getEnclosingFunction","prevNode","getEnclosingClassOrFunction","getEvaluationScopeNode","prevPrevNode","isParamNameNode","getTypeVarScopeNode","allowInFunctionSignature","getExecutionScopeNode","evaluationScope","isFinalAllowedForAssignmentTarget","targetNode","methodNode","isClassVarAllowedForAssignmentTarget","isNodeContainedWithin","potentialContainer","isSuiteEmpty","sawEllipsis","substatement","isMatchingExpression","referenceNumberNode","referenceStringListNode","isPartialMatchingExpression","getDocString","isDocString","statementList","NameNodeWalker","_callback","_subscriptIndex","_baseExpression","prevSubscriptIndex","prevBaseExpression","CallNodeWalker","getEnclosingParameter","getCallNodeAndActiveParameterIndex","insertionOffset","callNode","isOffsetInsideCallArgs","endPosition","tokenAtEnd","getItemAtPosition","getTokenAt","addedActive","activeIndex","activeOrFake","startTokenIndex","endTokenIndex","tok","argumentStart","isWriteAccess","getModuleNode","getFileInfoFromNode","isImportModuleName","getFirstAncestorOrSelfOfKind","isImportAlias","isFromImportModuleName","isFromImportName","isFromImportAlias","isLastNameOfModuleName","_getAncestorsIncludingSelf","getFirstAncestorOrSelf","getDottedNameWithGivenNodeAsLastName","hasTypeForDeclaration","parameterParent","paramAnnotations","typeAnnotationNode","areDeclarationsSame","decl1","decl2","treatModuleInImportAndFromImportSame","usesLocalName","isFinalVariableDeclaration","isFinal","isExplicitTypeAliasDeclaration","typeAliasAnnotation","isPossibleTypeAliasDeclaration","typeAliasName","getNameFromDeclaration","getDeclarationsWithUsesLocalNameRemoved","decls","localDecl","nonLocalDecl","createSynthesizedAliasDeclaration","loadSymbolsFromPath","isInExceptSuite","cleanAndSplitDocString","rawString","leftSpacesToRemove","trimmed","trimLeft","trimmedLines","trimRight","extractParameterDocumentation","functionDocString","paramName","docStringLines","paramOffset","convertDocStringToMarkdown","docString","DocStringConverter","convert","convertDocStringToPlainText","_isUndefinedOrWhitespace","trimEnd","LeadingSpaceCountRegExp","NonWhitespaceRegExp","TildaHeaderRegExp","PlusHeaderRegExp","EqualHeaderRegExp","DashHeaderRegExp","LeadingDashListRegExp","LeadingAsteriskListRegExp","LeadingNumberListRegExp","LeadingAsteriskRegExp","SpaceDotDotRegExp","DirectiveLikeRegExp","DoctestRegExp","DirectivesExtraNewlineRegExp","epyDocFieldTokensRegExp","epyDocCv2FixRegExp","PotentialHeaders","exp","WhitespaceRegExp","DoubleTickRegExp","TildeRegExp","PlusRegExp","MarkdownCharsRegExp","linkRegExp","HtmlEscapes","LiteralBlockEmptyRegExp","LiteralBlockReplacements","_builder","_skipAppendEmptyLine","_insideInlineCode","_appendDirectiveBlock","_stateStack","_lineNum","_blockIndent","_parseText","_lines","_currentLineOrUndefined","before","beforeLine","_parseBacktickBlock","_parseDocTest","_parseLiteralBlock","_trimOutputAndAppendLine","_eatLine","_currentLine","_currentIndent","_countLeadingSpaces","_prevIndent","_lineAt","_nextBlockIndent","_currentLineIsOutsideBlock","_currentLineWithinBlock","_pushAndSetState","_popState","_parseEmpty","_beginBacktickBlock","_beginLiteralBlock","_beginDocTest","_beginDirective","_beginList","_beginFieldList","_beginTableBlock","_formatPlainTextIndent","_appendTextLine","prev","prevIndent","currIndent","_isHeader","_convertIndent","trimStart","_match","g1","g2","_escapeHtml","escape","_preprocessTextLine","_append","expReplacement","_appendLine","_beginMinIndentCodeBlock","_parseLiteralBlockSingleLine","_parseDirective","hasOddNumColons","restDirective","_tableState","inHeader","_parseTableBlock","formattedLine","columnParts","headerStrings","colStart","columnStr","endHeaderStr","column","dashMatch","_parseList","asteriskMatch","leadingNumberList","directiveType","directive","_parseDirectiveBlock","noNewLine","search","getScopeForNode","WildcardTypeVarScopeId","EnumLiteral","itemName","itemType","maxTypeRecursionCount","TypeBase","UnboundType","UnknownType","ModuleType","ClassType","FunctionType","OverloadedFunctionType","NoneType","NeverType","AnyType","TypeCondition","UnionType","TypeVarType","isNever","isNoneInstance","isNoneTypeClass","isInstantiable","isAny","isUnknown","isAnyOrUnknown","isUnion","subtypes","subtype","isUnbound","isPossiblyUnbound","isClass","isInstantiableClass","isClassInstance","isModule","isTypeVar","isVariadicTypeVar","details","isVariadic","isUnpackedVariadicTypeVar","isVariadicUnpacked","isUnpackedClass","isUnpacked","isParamSpec","isFunction","isOverloadedFunction","getTypeAliasInfo","typeAliasInfo","recursiveTypeAliasName","boundType","isTypeSame","type1","type2","ignorePseudoGeneric","ignoreTypeFlags","recursionCount","classType2","isSameGenericClass","isSame","condition","isPseudoGenericClass","tupleTypeArguments","type1TupleTypeArgs","type2TupleTypeArgs","isUnbounded","type1TypeArgs","typeArguments","type2TypeArgs","typeArgCount","isLiteralValueSame","functionType2","params1","params2","positionalOnlyIndex1","positionalOnlyIndex2","param1","param2","isName1Relevant","getEffectiveParameterType","return1Type","declaredReturnType","specializedTypes","returnType","inferredReturnType","return2Type","overloads","unionType2","subtypes1","subtypes2","findSubtype","containsType","type2TypeVar","scopeId","recursiveTypeParameters","isSynthesized","variance","boundType1","boundType2","constraints1","constraints","constraints2","type2Module","fields","removeUnknownFromUnion","removeFromUnion","removeUnbound","removeNoneFromUnion","removeFilter","remainingTypes","newType","combineTypes","addTypeAliasSource","maxSubtypeCount","sawNoReturn","isNoReturn","createNoReturn","createNever","allSubtypesAreSame","expandedTypes","typeAliasSources","literalValue","isEmptyContainer","newUnionType","hitMaxSubtypeCount","addType","unionType","typeToAdd","isBuiltIn","literalStrMap","literalIntMap","isSameWithoutLiteralValue","cloneWithLiteral","_addTypeIfUnique","destType","srcType","cloneType","isAnnotated","isSpecialForm","setSpecialForm","isAmbiguous","cloneForTypeAlias","fullName","typeVarScopeId","typeParams","typeArgs","typeClone","typeParameters","cloneForAnnotated","cloneForCondition","cloneForAmbiguousType","_instance","symbolTable","loaderFields","getField","moduleType","isExternallyHidden","loaderSymbol","cloneAsInstantiable","objectType","classType","classArray","aliasName","class1Details","class2Details","typeSourceId","baseClasses","declaredMetaclass","createInstantiable","effectiveMetaclass","mro","cloneAsInstance","includeSubclasses","cloneForSpecialization","isTypeArgumentExplicit","newClassType","cloneForTypingAlias","cloneForNarrowedTypedDictEntries","narrowedEntries","typedDictNarrowedEntries","cloneWithNewTypeParameters","cloneForTypeGuard","typeGuardType","isStrictTypeGuard","cloneForSymbolTableUpdate","cloneForUnpacked","isUnspecialized","isSpecialBuiltIn","supportsAbstractMethods","isDataClass","isSkipSynthesizedDataClassInit","isSkipSynthesizedDataClassEq","isFrozenDataClass","isSynthesizedDataclassOrder","isDataClassKeywordOnlyParams","isGeneratedDataClassSlots","isSynthesizeDataClassUnsafeHash","isTypedDictClass","isCanOmitDictValues","isEnumClass","isPropertyClass","isClassProperty","isProtocolClass","isDefinedInStub","getDataClassEntries","dataClassEntries","isRuntimeCheckable","isTypingExtensionClass","isPartiallyConstructed","hasCustomClassGetItem","isTupleClass","isReadOnlyInstanceVariables","getTypeParameters","hasUnknownBaseClass","baseClass","isDerivedFrom","subclassType","parentClassType","inheritanceChain","functionFlags","typeFlags","parameterTypes","createInstance","clone","stripFirstParam","boundToType","boundTypeVarScopeId","newFunction","preBoundFlags","isTypeInferred","strippedFirstParamType","newInstance","specializedInferredReturnType","cloneForParamSpec","paramSpecValue","paramSpec","specEntry","hasDefault","isNameSynthesized","hasDeclaredType","isParamSpecValue","paramInfo","cloneWithNewFlags","cloneForParamSpecApplication","lastParam","cloneRemoveParamSpecVariadics","addDefaultParameters","functionType","useUnknown","addParameter","hasDefaultParameters","sawArgs","sawKwargs","isInstanceMethod","isConstructorMethod","isStaticMethod","isClassMethod","isAbstractMethod","isGenerator","isSynthesizedMethod","isSkipConstructorCheck","isOverloaded","isDefaultParameterCheckDisabled","isWrapReturnTypeInAwait","isStubDefinition","isPyTypedDefinition","hasUnannotatedParams","shouldSkipArgsKwargsCompatibilityCheck","getSpecializedReturnType","addOverload","_noneInstance","_noneType","createType","_neverInstance","_noReturnInstance","_anyInstance","isEllipsis","_ellipsisInstance","_compare","c1","c2","typeVarName","constraintIndex","conditions1","conditions2","combined","isCompatible","foundTypeVarMatch","exactMatch","typeAliasSource","sourcesToAdd","makeNameWithScope","cloneForScopeId","scopeName","scopeType","nameWithScope","isInUnion","isVariadicInUnion","cloneForPacked","cloneAsInvariant","cloneForParamSpecAccess","access","paramSpecAccess","cloneAsSpecializedSelf","specializedBoundType","isSynthesizedSelf","addConstraint","typeVarType","constraintType","getNameWithScope","getReadableName","nextSymbolId","_flags","newSymbol","_synthesizedType","isInitiallyUnbound","setIsExternallyHidden","setIsIgnoredForProtocolMatch","isIgnoredForProtocolMatch","setIsClassMember","isClassMember","setIsInstanceMember","isInstanceMember","setIsClassVar","isClassVar","setIsInitVar","isInitVar","setIsInDunderAll","isInDunderAll","setIsPrivateMember","isPrivateMember","setPrivatePyTypedImport","isPrivatePyTypedImport","addDeclaration","_declarations","declIndex","curDecl","inferredTypeSource","hasDeclarations","getDeclarations","hasTypedDeclarations","getTypedDeclarations","getSynthesizedType","getLastTypedDeclaredForSymbol","typedDecls","isTypedDictMemberAccessedThroughIndex","isFinalVariable","TypeVarMap","solveForScopes","_isLocked","_solveForScopes","_typeVarMap","_paramSpecMap","newTypeVarMap","setTypeVarType","typeVar","narrowBound","wideBound","retainLiteral","setParamSpec","_variadicTypeVarMap","setVariadicTypeVar","types","copyFromClone","getSolveForScopes","hasSolveForScope","setSolveForScopes","scopeIds","addSolveForScope","getScore","score","getTypeVarType","_getComplexityScoreForType","hasTypeVar","_getKey","useNarrowBoundOnly","getVariadicTypeVar","getTypeVar","getTypeVars","hasParamSpec","getParamSpec","typeVarCount","getWideTypeBound","getRetainLiterals","unlock","isLocked","maxScore","doForEachSubtype","subtypeScore","_getComplexityScoreForClass","typeArgScoreSum","typeArg","ParameterSource","DiagnosticRule","getParameterListDetails","firstPositionOrKeywordIndex","positionParamCount","positionOnlyParamCount","hasUnpackedVariadicTypeVar","positionOnlyIndex","sawKeywordOnlySeparator","addVirtualParameter","typeOverride","PositionOnly","KeywordOnly","PositionOrKeyword","tupleArg","argsIndex","firstKeywordOnlyIndex","typedDictEntries","isRequired","kwargsIndex","isOptionalType","mapSubtypes","newSubtypes","typeChanged","transformedType","addConditionToType","getTypeCondition","areTypesSame","stripLiteralValue","isTypeAliasPlaceholder","transformPossibleRecursiveTypeAlias","unspecializedType","convertToInstance","applySolvedTypeVars","buildTypeVarMap","getTypeVarScopeId","getSpecializedTupleType","tupleClass","mroClass","buildTypeVarMapFromSpecializedClass","isLiteralType","isLiteralTypeOrUnion","containsLiteralType","includeTypeArgs","overload","getLiteralTypeClassName","foundMismatch","subtypeLiteralTypeName","getUnionSubtypeCount","isEllipsisType","isProperty","isUnboundedTupleClass","partiallySpecializeType","contextClassType","selfClass","typeVarMap","populateTypeVarMapForSelfType","synthesizedSelfTypeVar","synthesizeTypeVarForSelfCls","unknownIfNotFound","eliminateUnsolvedInUnions","ApplySolvedTypeVarsTransformer","getProtocolSymbols","symbolMap","getProtocolSymbolsRecursive","isTypeDeclared","skippedUndeclaredType","lookUpObjectMember","lookUpClassMember","getClassMemberIterator","declaredTypesOnly","classFlags","classItr","getClassIterator","specializedMroClass","cm","memberFields","skipMroEntry","addTypeVarsToListIfUnique","list1","list2","getTypeVarArgumentsRecursive","combinedList","getTypeVarsFromClass","specializeClassType","typeParam","setTypeArgumentsRecursive","paramType","makeConcrete","typeArgType","paramSpecEntries","typeArgFunctionType","paramIndex","specializeForBaseClass","specializedType","derivesFromClassRecursive","baseClassToFind","ignoreUnknown","isClsParam","selfType","getDeclaredGeneratorReturnType","generatorTypeArgs","getGeneratorTypeArgs","isEffectivelyInstantiable","convertToInstantiable","getMembersForClass","includeInstanceVars","isClassTypedDict","existingSymbol","metaclass","containsUnknown","foundUnknown","isPartlyUnknown","allowUnknownTypeArgsForClasses","argType","explodeGenericClass","combineSameSizedTuples","tupleType","tupleEntries","isValid","specializeTupleClass","stripLiterals","isUnpackedTuple","combinedTupleType","clonedClassType","removeParamSpecVariadicsFromSignature","removeParamSpecVariadicsFromFunction","newOverloads","newTypeNeeded","newOverload","paramCount","argsParam","kwargsParam","_expandVariadicUnpackedUnion","requiresSpecialization","ignoreSelf","computeMroLinearization","isMroFound","filteredBaseClasses","innerBaseClass","innerIndex","classListsToMerge","isInTail","searchClass","classLists","classList","filterClass","classToFilter","nonEmptyList","foundValidHead","getDeclaringModulesForType","moduleList","addDeclaringModuleNamesForType","convertParamSpecValueToType","paramSpecEntry","hasParameters","onlyParam","TypeVarTransformer","_isTransformingTypeArg","recursionSet","requiresUpdate","replacementType","transformTypeVar","subtypesToCombine","transformedSubtype","transformUnion","_transformTypeVarsInClassType","_transformTypeVarsInFunctionType","transformVariadicTypeVar","transformParamSpec","newVariadicTypeArgs","newTypeArgs","specializationNeeded","wasTransformingTypeArg","oldTypeArgType","newTypeArgType","typeParamName","sourceType","specializedReturnType","typesRequiredSpecialization","specializedParameters","argsParamType","kwargsParamType","paramSpecType","variadicParamIndex","variadicTypesToUnpack","newFunctionType","insertKeywordOnlySeparator","swallowPositionOnlySeparator","sawUnboundedEntry","unpackedType","_unknownIfNotFound","_useNarrowBoundOnly","_eliminateUnsolvedInUnions","wideType","updatedUnion","ExpectedConstructorTypeTransformer","_liveTypeVarScopes","dummyScopeId","dummyTypeVarPrefix","_isTypeVarLive","_createDummyTypeVar","prevTypeVar","newTypeVar","synthesizedTypeVarIndexForExpectedType","SourceMapper","_importResolver","_execEnv","_evaluator","_fileBinder","_boundSourceGetter","_preferStubs","findModules","_getBoundSourceFilesFromStubFile","sf","getParseResults","findDeclarations","stubDecl","_findClassOrTypeAliasDeclarations","_findFunctionOrTypeAliasDeclarations","_findVariableDeclarations","_findParameterDeclarations","_findSpecialBuiltInClassDeclarations","findClassDeclarations","findClassDeclarationsByType","originatedPath","_addClassTypeDeclarations","findFunctionDeclarations","recursiveDeclCache","flatMap","sourceFile","_findClassDeclarationsByName","_getFullClassName","functionName","sourceFiles","isMethod","_findMethodDeclarationsByName","_findFunctionDeclarationsByName","variableName","_findFieldDeclarationsByName","_findVariableDeclarationsByName","functionNode","functionStubDecls","getDeclarationsForNameNode","functionStubDecl","functionDecl","_lookUpSymbolDeclarations","_findMemberDeclarationsByName","declAdder","classDecls","classDecl","classResults","getTypeOfClass","uniqueId","getFilePath","_isStubThatShouldBeMappedToImplementation","implDecl","moduleNode","_addDeclarationsFollowingWildcardImports","_addVariableDeclarations","_addClassOrFunctionDeclarations","fullClassName","parentNode","classNameParts","_findClassDeclarations","classNamePart","parentDecl","resolvedDecl","resolveAliasDeclaration","nodeToBind","getType","overloadDecl","originated","_getSourceFiles","containingScope","lookUpSymbol","fp","convertLevelToCategory","_relatedInfo","addAction","action","_actions","getActions","setRule","rule","_rule","getRule","addRelatedInfo","getRelatedInfo","DiagnosticAddendum","_childAddenda","addMessage","createAddendum","newAddendum","addAddendum","getString","maxDepth","maxLineCount","_getLinesRecursive","_getMessageCount","getChildren","getMessages","messageCount","diag","childLines","maxDepthRemaining","extraSpace","ParameterizedString","_formatString","getFormatString","diagnosticStyle","isSimpleMessageStyle","optionalAddendum","localizedStrings","defaultStrings","getRawString","keyParts","getRawStringFromMap","curObj","keyPart","initializeLocalization","locale","style","currentLocale","env","process","vscodeConfigString","VSCODE_NLS_CONFIG","localeString","LC_ALL","LC_MESSAGES","LANG","LANGUAGE","localeStringSplit","getLocaleFromEnv","override","loadStringsFromJsonFile","localeSplit","loadStringsForLocale","Localizer","synthesizeTypedDictClassMethods","evaluator","initType","getTypedDictMembersForClass","strClass","getBuiltInType","selfParam","createDefaultTypeVar","defaultTypeVar","createGetMethod","keyType","includeDefault","defaultTypeMatchesField","getOverload","getScopeIdForNode","createPopMethods","keyParam","popOverload1","popOverload2","createSetDefaultMethod","setDefaultOverload","createDelItemMethod","delItemOverload","getOverloads","popOverloads","setDefaultOverloads","nameLiteralType","strType","allowNarrowed","getTypedDictMembersForClassRecursive","keyMap","baseClassType","lastDecl","getEffectiveTypeOfSymbol","isRequiredTypedDictVariable","isNotRequired","isNotRequiredTypedDictVariable","existingEntry","typedDictFieldRedefinition","parentType","printType","childType","addDiagnostic","diagnosticRuleSet","reportGeneralTypeIssues","isProvided","canAssignTypedDict","typesAreConsistent","destEntries","srcEntries","destEntry","srcEntry","typedDictFieldRequired","typedDictFieldNotRequired","canAssignType","memberTypeMismatch","typedDictFieldMissing","getTypeFromIndexedTypedDict","baseType","usage","addError","typeArgsMismatchOne","indexTypeResult","getTypeOfExpression","indexType","allDiagsInvolveNotRequiredKeys","resultingType","entryName","treatWithAsTryBlock","keyNotRequired","setType","keyRequiredDeleted","keyUndefined","typeNotStringLiteral","setExpectedTypeDiag","typedDictDiag","typedDictSet","typedDictDelete","typedDictAccess","reportTypedDictNotRequiredAccess","isInheritedFromBuiltin","getPropertyDocStringInherited","sourceMapper","enclosingClass","declaredType","getTypeForDeclaration","fieldName","_getFunctionDocStringFromDeclaration","_getPropertyDocStringInherited","getModuleDocString","modules","_getModuleNodeDocString","getClassDocString","_getFunctionOrClassDeclsDocString","implDecls","getFunctionOrClassDeclDocString","getVariableDocString","docStrings","getVariableInStubFileDocStrings","doc","_getOverloadedFunctionDocStrings","Refactoring","annotatedParamCountMismatch","annotatedTypeArgMissing","annotationFormatString","annotationNotSupported","annotationSpansStrings","annotationStringEscape","argAssignment","argAssignmentFunction","argAssignmentParam","argAssignmentParamFunction","argMissingForParam","argMissingForParams","argMorePositionalExpectedCount","argMorePositionalExpectedOne","argPositional","argPositionalExpectedCount","argPositionalExpectedOne","argTypePartiallyUnknown","argTypeUnknown","assertAlwaysTrue","assignmentExprContext","assignmentExprComprehension","assignmentExprInSubscript","assignmentInProtocol","assignmentTargetExpr","asyncNotInAsyncFunction","awaitIllegal","awaitNotInAsync","backticksIllegal","baseClassCircular","baseClassInvalid","baseClassFinal","baseClassMethodTypeIncompatible","baseClassUnknown","bindTypeMismatch","booleanIsLowerCase","breakOutsideLoop","callableExtraArgs","callableFirstArg","callableSecondArg","casePatternIsIrrefutable","classAlreadySpecialized","classDecoratorTypeUnknown","classDefinitionCycle","classGetItemClsParam","classMethodClsParam","classNotRuntimeSubscriptable","classPatternBuiltInArgCount","classPatternBuiltInArgPositional","classPatternTypeAlias","classVarNotAllowed","classVarFirstArgMissing","classVarOverridesInstanceVar","classVarTooManyArgs","classVarWithTypeVar","clsSelfParamTypeMismatch","comparisonAlwaysFalse","comparisonAlwaysTrue","comprehensionInDict","comprehensionInSet","concatenateParamSpecMissing","concatenateTypeArgsMissing","constantRedefinition","constructorNoArgs","constructorParametersMismatch","continueInFinally","continueOutsideLoop","dataClassBaseClassNotFrozen","dataClassFieldWithDefault","dataClassPostInitParamCount","dataClassPostInitType","dataClassSlotsOverwrite","dataClassTransformExpectedBoolLiteral","dataClassTransformFieldDescriptor","dataClassTransformPositionalParam","dataClassTransformUnknownArgument","declaredReturnTypePartiallyUnknown","declaredReturnTypeUnknown","defaultValueContainsCall","defaultValueNotAllowed","defaultValueNotEllipsis","deprecatedType","dictExpandIllegalInComprehension","dictInAnnotation","dictKeyValuePairs","dictUnpackIsNotMapping","delTargetExpr","dunderAllSymbolNotPresent","duplicateArgsParam","duplicateBaseClass","duplicateCatchAll","duplicateEnumMember","duplicateImport","duplicateKwargsParam","duplicateKeywordOnly","duplicateParam","duplicateCapturePatternTarget","duplicateStarPattern","duplicateStarStarPattern","duplicatePositionOnly","duplicateUnpack","ellipsisContext","ellipsisSecondArg","enumClassOverride","exceptionGroupIncompatible","exceptionTypeIncorrect","exceptionTypeNotClass","exceptionTypeNotInstantiable","expectedAfterDecorator","expectedArrow","expectedAsAfterException","expectedAssignRightHandExpr","expectedBinaryRightHandExpr","expectedBoolLiteral","expectedCase","expectedClassName","expectedCloseBrace","expectedCloseBracket","expectedCloseParen","expectedColon","expectedComplexNumberLiteral","expectedDecoratorExpr","expectedDecoratorName","expectedDecoratorNewline","expectedDelExpr","expectedElse","expectedEqualityOperator","expectedExceptionClass","expectedExceptionObj","expectedExpr","expectedImport","expectedImportAlias","expectedImportSymbols","expectedIdentifier","expectedIndentedBlock","expectedIn","expectedInExpr","expectedFunctionAfterAsync","expectedFunctionName","expectedMemberName","expectedModuleName","expectedNameAfterAs","expectedNamedParameter","expectedNewline","expectedNewlineOrSemicolon","expectedOpenParen","expectedParamName","expectedPatternExpr","expectedPatternSubjectExpr","expectedPatternValue","expectedReturnExpr","expectedSliceIndex","expectedTypeNotString","expectedYieldExpr","finalClassIsAbstract","finalContext","finalMethodOverride","finalReassigned","finalRedeclaration","finalRedeclarationBySubclass","finalTooManyArgs","finalUnassigned","formatStringBrace","formatStringBytes","formatStringEscape","formatStringInPattern","formatStringIllegal","formatStringUnicode","formatStringUnterminated","functionDecoratorTypeUnknown","generatorAsyncReturnType","generatorNotParenthesized","generatorSyncReturnType","genericClassAssigned","genericClassDeleted","genericNotAllowed","genericTypeAliasBoundTypeVar","genericTypeArgMissing","genericTypeArgTypeVar","genericTypeArgUnique","globalReassignment","globalRedefinition","implicitStringConcat","importCycleDetected","importDepthExceeded","importResolveFailure","importSourceResolveFailure","importSymbolUnknown","incompatibleMethodOverride","inconsistentIndent","inconsistentTabs","initMustReturnNone","initSubclassClsParam","instanceMethodSelfParam","instanceVarOverridesClassVar","instantiateAbstract","instantiateProtocol","internalBindError","internalParseError","internalTypeCheckingError","invalidIdentifierChar","invalidStubStatement","invalidTokenChars","isInstanceInvalidType","isSubclassInvalidType","keyValueInSet","keywordArgInTypeArgument","keywordOnlyAfterArgs","keywordSubscriptIllegal","lambdaReturnTypeUnknown","lambdaReturnTypePartiallyUnknown","listAssignmentMismatch","listInAnnotation","literalUnsupportedType","literalEmptyArgs","literalNotCallable","matchIncompatible","matchIsNotExhaustive","maxParseDepthExceeded","memberAccess","memberDelete","memberSet","metaclassConflict","metaclassDuplicate","metaclassIsGeneric","methodNotDefined","methodNotDefinedOnType","methodOrdering","methodOverridden","methodReturnsNonObject","missingProtocolMembers","missingSuperCall","moduleAsType","moduleNotCallable","moduleUnknownMember","namedExceptAfterCatchAll","namedParamAfterParamSpecArgs","namedTupleEmptyName","namedTupleFirstArg","namedTupleMultipleInheritance","namedTupleNameType","namedTupleNameUnique","namedTupleNoTypes","namedTupleSecondArg","newClsParam","newTypeLiteral","newTypeNotAClass","newTypeProtocolClass","nonDefaultAfterDefault","noneNotCallable","noneNotIterable","noneNotSubscriptable","noneNotUsableWith","noneOperator","noneUnknownMember","nonLocalNoBinding","nonLocalReassignment","nonLocalRedefinition","nonLocalInModule","noOverload","noReturnContainsReturn","noReturnContainsYield","noReturnReturnsNone","notRequiredArgCount","notRequiredNotInTypedDict","objectNotCallable","obscuredClassDeclaration","obscuredFunctionDeclaration","obscuredMethodDeclaration","obscuredParameterDeclaration","obscuredVariableDeclaration","operatorLessOrGreaterDeprecated","optionalExtraArgs","orPatternIrrefutable","orPatternMissingName","overlappingOverload","overloadAbstractMismatch","overloadImplementationMismatch","overloadReturnTypeMismatch","overloadWithImplementation","overloadWithoutImplementation","paramAfterKwargsParam","paramAlreadyAssigned","paramAnnotationMissing","paramNameMissing","paramSpecArgsKwargsUsage","paramSpecArgsUsage","paramSpecAssignedName","paramSpecContext","paramSpecFirstArg","paramSpecKwargsUsage","paramSpecNotBound","paramSpecNotUsedByOuterScope","paramSpecUnknownArg","paramSpecUnknownMember","paramSpecUnknownParam","paramTypeCovariant","paramTypeUnknown","paramAssignmentMismatch","paramTypePartiallyUnknown","parenthesizedContextManagerIllegal","positionArgAfterNamedArg","privateImportFromPyTypedModule","positionOnlyAfterArgs","positionOnlyAfterKeywordOnly","positionOnlyIncompatible","positionOnlyFirstParam","privateUsedOutsideOfClass","privateUsedOutsideOfModule","propertyOverridden","propertyStaticMethod","protectedUsedOutsideOfClass","protocolBaseClass","protocolIllegal","protocolMemberNotClassVar","protocolNotAllowedInTypeArgument","protocolUsedInCall","protocolVarianceContravariant","protocolVarianceCovariant","protocolVarianceInvariant","recursiveDefinition","relativeImportNotAllowed","requiredArgCount","requiredNotInTypedDict","returnMissing","returnOutsideFunction","returnTypeContravariant","returnTypeMismatch","returnTypeUnknown","returnTypePartiallyUnknown","revealLocalsArgs","revealLocalsNone","revealTypeArgs","revealTypeExpectedTextArg","revealTypeExpectedTextMismatch","revealTypeExpectedTypeMismatch","selfTypeContext","selfTypeWithTypedSelfOrCls","setterGetterTypeMismatch","starPatternInAsPattern","starPatternInOrPattern","singleOverload","slotsAttributeError","slotsClassVarConflict","starStarWildcardNotAllowed","staticClsSelfParam","strictTypeGuardReturnType","stringNonAsciiBytes","stringNotSubscriptable","stringUnsupportedEscape","stringUnterminated","stubFileMissing","stubUsesGetAttr","sublistParamsIncompatible","superCallArgCount","superCallFirstArg","superCallSecondArg","superCallZeroArgForm","symbolIsUnbound","symbolIsUndefined","symbolIsPossiblyUnbound","symbolOverridden","totalOrderingMissingMethod","trailingCommaInFromImport","tryWithoutExcept","tupleAssignmentMismatch","tupleInAnnotation","tupleIndexOutOfRange","typeAliasIsRecursiveDirect","typeAliasIsRecursiveIndirect","typeAliasNotInModuleOrClass","typeAliasRedeclared","typeAnnotationCall","typeAnnotationVariable","typeArgListExpected","typeArgListNotAllowed","typeArgsExpectingNone","typeArgsMissingForAlias","typeArgsMissingForClass","typeArgsTooFew","typeArgsTooMany","typeAssignmentMismatch","typeCallNotAllowed","typedDictBadVar","typedDictBaseClass","typedDictEmptyName","typedDictEntryName","typedDictEntryUnique","typedDictExtraArgs","typedDictFirstArg","typedDictSecondArgDict","typedDictSecondArgDictEntry","typedDictTotalParam","typeExpectedClass","typeGuardArgCount","typeNotAwaitable","typeNotCallable","typeNotIntantiable","typeNotIterable","typeNotSpecializable","typeNotSubscriptable","typeNotUsableWith","typeNotSupportBinaryOperator","typeNotSupportBinaryOperatorBidirectional","typeNotSupportUnaryOperator","typeNotSupportUnaryOperatorBidirectional","typePartiallyUnknown","typeUnknown","typeVarAssignedName","typeVarAssignmentMismatch","typeVarBoundAndConstrained","typeVarFirstArg","typeVarGeneric","typeVarNoMember","typeVarNotSubscriptable","typeVarNotUsedByOuterScope","typeVarSingleConstraint","typeVarsNotInGeneric","typeVarTupleMustBeUnpacked","typeVarTupleContext","typeVarUnknownParam","typeVarUsedByOuterScope","typeVarUsedOnlyOnce","typeVarVariance","unaccessedClass","unaccessedFunction","unaccessedImport","unaccessedSymbol","unaccessedVariable","unexpectedAsyncToken","unexpectedExprToken","unexpectedIndent","unexpectedUnindent","unionSyntaxIllegal","unionTypeArgCount","uninitializedInstanceVariable","unnecessaryCast","unnecessaryIsInstanceAlways","unnecessaryIsSubclassAlways","unnecessaryTypeIgnore","unpackArgCount","unpackedArgInTypeArgument","unpackedArgWithVariadicParam","unpackedDictArgumentNotMapping","unpackedSubscriptIllegal","unpackedTypedDictArgument","unpackedTypeVarTupleExpected","unpackExpectedTypedDict","unpackExpectedTypeVarTuple","unpackIllegalInComprehension","unpackInAnnotation","unpackInDict","unpackInSet","unpackNotAllowed","unpackOperatorNotAllowed","unpackTuplesIllegal","unreachableCode","unreachableExcept","unsupportedDunderAllOperation","unusedCallResult","unusedCoroutine","varAnnotationIllegal","variadicTypeArgsTooMany","variadicTypeParamTooManyAlias","variadicTypeParamTooManyClass","walrusIllegal","walrusNotAllowed","wildcardInFunction","wildcardLibraryImport","yieldFromIllegal","yieldFromOutsideAsync","yieldOutsideFunction","yieldTypeMismatch","yieldWithinListCompr","zeroCaseStatementsFound","zeroLengthTupleNotAllowed","argParam","argParamFunction","argsParamMissing","argsPositionOnly","argumentType","argumentTypes","assignToNone","asyncHelp","baseClassProvidesType","dataClassFrozen","dataClassFieldLocation","finalMethod","functionParamDefaultMissing","functionParamName","functionReturnTypeMismatch","functionTooFewParams","incompatibleGetter","incompatibleSetter","incompatibleDeleter","initMethodLocation","initMethodSignature","functionTooManyParams","kwargsParamMissing","literalAssignmentMismatch","matchIsNotExhaustiveType","matchIsNotExhaustiveHint","memberAssignment","memberIsAbstract","memberIsAbstractMore","memberIsFinalInProtocol","memberIsInitVar","memberIsNotFinalInProtocol","memberSetClassVar","memberUnknown","missingProtocolMember","missingGetter","missingSetter","missingDeleter","namedParamMissingInDest","namedParamMissingInSource","namedParamTypeMismatch","newMethodLocation","newMethodSignature","noOverloadAssignable","overloadMethod","overloadNotAssignable","overriddenMethod","overriddenSymbol","overrideParamCount","overrideParamName","overrideParamNamePositionOnly","overrideParamType","overrideReturnType","overrideType","paramAssignment","paramSpecOverload","privateImportFromPyTypedSource","propertyAccessFromProtocolClass","propertyMethodIncompatible","propertyMethodMissing","propertyMissingDeleter","propertyMissingSetter","protocolMemberClassVar","protocolIncompatible","protocolMemberMissing","protocolSourceIsNotConcrete","readOnlyAttribute","seeDeclaration","seeClassDeclaration","seeFunctionDeclaration","seeMethodDeclaration","seeParameterDeclaration","seeVariableDeclaration","tupleEntryTypeMismatch","tupleSizeMismatch","tupleSizeMismatchIndeterminate","typeBound","typeConstrainedTypeVar","typedDictFieldTypeMismatch","typedDictFieldUndefined","typedDictFinalMismatch","typeIncompatible","typeNotClass","typeParamSpec","typeOfSymbol","typeUnsupported","typeVarIsContravariant","typeVarIsCovariant","typeVarIsInvariant","typeVarTupleRequiresKnownLength","typeVarNotAllowed","typeVarsMissing","useDictInstead","useListInstead","useTupleInstead","useTypeInstead","addOptionalToAnnotation","createTypeStub","createTypeStubFor","executingCommand","filesToAnalyzeOne","filesToAnalyzeCount","findingReferences","organizeImports","moveFile","moveFileLabel","moveFileDescription","singleTickRegEx","escapedDoubleQuoteRegEx","printTypeFlags","returnTypeCallback","recursionTypes","parenthesizeUnion","parenthesizeCallable","expandTypeAlias","argumentStrings","tupleTypeArg","includeConditionalIndicator","getConditionalIndicator","printLiteralValue","paramSignature","fullSignature","subtypeHandledSet","subtypeStrings","updatedPrintTypeFlags","matchedAllSubtypes","allSubtypesPreviouslyHandled","indicesCoveredByTypeAlias","sourceSubtype","unionSubtypeIndex","foundMatch","unionSubtype","noneIndex","typeWithoutNone","optionalType","literalObjectStrings","literalClassStrings","dedupedSubtypeStrings","literalStrings","unionString","boundTypeString","quotation","literalStr","objName","lastTypeParam","typeArgStrings","isAllAny","typeArgText","typeArgTypeText","paramTypeStrings","sawDefinedName","specializedParamType","paramString","defaultValueAssignment","isParamSpecArgsKwargsParam","paramTypeString","defaultValueExpression","returnTypeString","DocumentSymbolCollector","_symbolName","_cancellationToken","_startingNode","_treatModuleInImportAndFromImportSame","_results","_dunderAllNameNodes","_setDunderAllNodes","cancellationToken","startingNode","declarations","getDeclarationsForNode","collect","resolveLocalName","_getDeclarationsForNode","resolvedDeclarations","_addIfUnique","_resultsContainsDeclaration","_addResult","quoteMarkLength","hasEnding","getStringValueRange","getStringNodeValueRange","resolvedDeclNonlocal","_getResolveAliasDeclaration","isAliasDeclFromImportAsWithAlias","moduleScope","stringNodes","stringNode","symbolInScope","lookUpSymbolRecursive","itemToAdd","aliasDecl","isImportAsWithAlias","symbolWithScope","getOverloadedFunctionTooltip","columnThreshold","getFunctionDocStringFromType","_getFunctionDocString","memberIterator","classMember","inheritedDecl","getFunctionDocStringInherited","getOverloadedFunctionDocStringsFromType","resolvedDecls","declType","getOverloadedFunctionDocStringsInherited","getDocumentationPartsForTypeAndDecl","Keywords","SortCategory","python3_5","python3_10","forVersion","V3_5","dictionaryKeyDetail","CompletionProvider","_workspacePath","_parseResults","_fileContents","_position","_filePath","_importLookup","_sourceMapper","_autoImportMaps","_insideStringLiteral","findExecEnvironment","getCompletionsForPosition","initialNode","initialDepth","curOffset","sawComma","curChar","lineTextRange","textOnLine","priorText","postText","priorWordIndex","priorWord","_isWithinComment","errorNode","_getLiteralCompletions","_getImportModuleCompletions","_getExpressionErrorCompletions","_getMemberAccessCompletions","completionMap","CompletionMap","_addTypedDictKeys","dictionaryEntry","dictionaryNode","trailingCommaToken","_tryGetNameCompletions","_getImportFromCompletions","_getExpressionCompletions","_getStatementCompletions","resolveCompletionItem","completionItem","completionItemData","autoImportText","curIndex","_mostRecentCompletions","symbolLabel","_itemToResolve","completionResults","_addAutoImportCompletions","_isOverload","_getMethodOverloadsCompletions","tokenIndex","prevToken","getTokenAfter","_createSingleKeywordCompletion","_getMethodOverrideCompletions","_checkDecorator","_makeSortText","LikelyKeyword","partialName","getSymbolTable","funcParensDisabled","enclosingFunc","_createReplaceEdits","_addSymbol","staticmethod","classmethod","isDeclaredStaticMethod","isDeclaredClassMethod","methodSignature","_printMethodSignature","_printOverriddenMethodBody","snippet","replaceOrInsertEndChar","ellipsisForDefault","printFlags","paramList","paramTypeAnnotation","getTypeAnnotationForParameter","isSimpleDefault","sb","results","keywordOnly","parameter","getParameters","leftExprNode","memberAccessInfo","leftType","makeTopLevelTypeVarsConcrete","getMembersForModule","functionClass","objectClass","_addSymbolsForSymbolTable","_getLastKnownModule","curType","unknownMemberName","moduleNamesForType","lastKnownModule","lastKnownMemberName","parseNode","isIndexArgument","_isIndexArgument","_addCallArgumentCompletions","_addSymbols","_findMatchingKeywords","lazyEdit","_tryAddTypedDictStringLiteral","declaredTypeOfTarget","getExpectedType","_addLiteralValuesForTargetType","indexNode","_getIndexerKeys","_addNameToCompletions","LiteralValue","itemDetail","currentNode","atArgument","callInfo","signatureInfo","getCallSignatureInfo","callNameEnd","_addNamedParameters","_addLiteralValuesForArgument","signatures","signature","activeParam","quoteValue","_getQuoteValueFromPriorText","_getSubTypesWithLiteralValues","quoteCharacter","stringValue","_addStringLiteralToCompletions","_getDictExpressionStringKeys","excludeIds","getDictionaryLikeNode","_getIndexerKeyType","getItemType","invocationNode","predominantSingleQuoteCharacter","scopeRoot","collectFromNode","dictionary","quote","indexArgument","expectedTypeResult","stringParent","dictOrSet","stringLiteral","keyWithoutQuote","typedDicts","_tryNarrowTypedDicts","excludes","typedDict","newTypes","lastSingleQuote","lastDoubleQuote","priorString","valueWithQuotes","rangeStartCol","rangeEndCol","similarityLimit","autoImportCompletions","autoImport","moduleSymbolMap","getModuleSymbolsMap","autoImporter","AutoImporter","libraryMap","nameMap","getAutoImportCandidatesForAbbr","getAutoImportCandidates","perfInfo","getPerfInfo","additionDuration","autoImportSource","autoImportAlias","insertionText","_getAutoImportText","autoImportInfo","indexUsed","totalTimeInMS","totalInMs","moduleTimeInMS","indexTimeInMS","importAliasTimeInMS","itemCount","symbolCount","indexCount","importAliasCount","additionTimeInMS","importFromNode","lookupResults","imp","implImport","keywordList","partialMatch","argNameMap","_addNamedParametersToMap","argName","workspacePath","NamedParameter","paramMap","includeSymbolCallback","isInImport","boundObjectOrClass","isDefinedInFile","primaryDecl","itemKind","_convertDeclarationTypeToItemKind","typeDetail","altDetail","bindFunctionToClassOrObject","propertyType","getGetterTypeFromProperty","printSimplifiedFunctionSignature","markdownString","plainTextString","importAlias","getAutoImportText","matchKindAndImportText","AutoImport","DunderSymbol","PrivateSymbol","NormalSymbol","insertTextFormat","te","_getRecentListIndex","sortCategory","recentListIndex","RecentAutoImport","ImportModuleName","RecentImportModuleName","RecentKeywordOrSymbol","_formatInteger","digits","charCodeZero","digit","resolvedDeclaration","intrinsicType","isConstant","_isPossiblePropertyDeclaration","getTypeOfFunction","decoratedType","completions","missingImportKeyword","completionName","_completions","existing","autImportText","toArray","_kind","_autoImportText","_execEnvironment","_invocationPosition","_excludes","_moduleSymbolMap","_stopWatch","_perfInfo","_importStatements","abbr","abbrInfo","_getCandidates","word","abbrFromUsers","resultMap","importAliasMap","_addImportsFromModuleMap","_addImportsFromLibraryMap","_addImportsFromImportAliasMap","aliasMap","indexResults","privateOrProtected","isStubFileOrHasInit","_isStubFileOrHasInit","_processModuleSymbolTable","createModuleSymbolTableFromIndexResult","topLevelSymbols","initPathPy","initPathPyi","isStub","hasInit","isStubOrHasInit","importSource","_getImportPartsForSymbols","dotCount","autoImportSymbol","library","_perfIndexCount","_shouldIncludeVariable","_isSimilar","_containsName","_addToImportAliasMap","importParts","autoImportTextEdits","_getTextEditsForAutoImportByFilePath","convertSymbolKindToCompletionItemKind","_getImportParts","modulePath","originalName","allowVariableInAll","mapPerSymbolName","importAliasData","imported","existingData","_compareImportAliasData","groupComparison","dotComparison","_getModuleNameAndTypeFromFilePath","importNamePart","createImportParts","patternMatcher","_shouldExclude","labelOnlyIgnoringAutoImports","importNode","symbols","externallyVisible","CallHierarchyProvider","getSymbolKind","incomingCalls","FindIncomingCallTreeWalker","findCalls","parseRoot","initMethodMember","initMethodType","getTypeOfMember","initDecls","primaryInitDecl","outgoingCalls","FindOutgoingCallTreeWalker","targetDecl","_parseRoot","_outgoingCalls","nameNode","_addOutgoingCallForDeclaration","leftHandType","memberInfo","memberType","propertyDecls","callDest","outgoingCall","outgoing","fromRanges","fromRange","_declaration","_incomingCalls","_addIncomingCallForDeclaration","executionNode","callSource","moduleRange","lambdaRange","functionRange","incomingCall","incoming","symbolKind","ReferencesResult","requiresGlobalSearch","nodeAtOffset","_reporter","_locations","addLocations","locs","FindReferencesTreeWalker","_referencesResult","_includeDeclaration","findReferences","rootNode","collector","ReferencesProvider","reporter","evalScope","getDeclarationForNode","referencesResult","includeDeclaration","refTreeWalker","UpdateType","PythonPlatform","DefinitionFilter","Comment","Token","IndentToken","DedentToken","NewLineToken","KeywordToken","StringToken","NumberToken","OperatorToken","IdentifierToken","RenameModuleProvider","_fs","_moduleFilePath","newModuleFilePath","_moduleNameAndType","_newModuleNameAndType","_aliasIntroduced","_newModuleFilePath","_moduleNames","_moduleName","_newModuleNames","_newModuleName","_onlyNameChanged","importResolver","newPath","_create","oldDirectory","newDirectory","getDirectoryChangeKind","fileNameForPackage","filteredDecls","moduleFilePath","tokenOrDeclarations","newModuleName","renameReferences","_renameFolderReferences","_renameModuleReferences","_updateSymbolReferences","nameRemoved","importUsed","nodeFound","fromNode","_getNewModuleName","_addResultWithTextRange","_addFromImportNameDeletion","_addResultEdits","_getTextEditsForNewOrExistingFromImport","dottedName","moduleDecl","referenceModuleName","_canReplaceImportName","_getReferenceModuleName","_addImportNameDeletion","_newLastModuleName","fromImportAs","symbolReferences","nameToBind","lastModuleName","_updateModuleReferences","_updateRelativeModuleNamePath","_getNewRelativeModuleNamesForFileMoved","ModuleNameCollector","itemsToMove","moduleNameNode","exportedSymbols","subModules","_isExportedSymbol","nextNameDecl","moduleNames","originalInit","originalDirectory","newNames","_getNewModuleNameInfoForFileMoved","dest","submoduleFallback","currentFilePath","isRelativePath","isLastPartImportName","dotPrefix","getEdits","importToDelete","_addImportNameDeletionInternal","importKind","nameNodes","nameNodeIndex","editSpan","getTextRangeForImportNameDeletion","lastImportIndexNotDeleted","_addResultWithRange","statementNode","tokenPosition","currentIndex","tokenRange","_getEndPositionIfMultipleStatementsAreOnSameLine","getFullStatementRange","newName","_getDeletionsForSpan","filePathOrEdit","_removeEdits","deletions","currentFromImport","CircularDependency","_paths","appendPath","getPaths","normalizeOrder","firstIndex","isEqual","circDependency","getWellformedRange","addedLineOffsets","computeLineOffsets","isAtLineStart","textOffset","getWellformedEdit","spans","ExecutionEnvironment","defaultPythonVersion","defaultPythonPlatform","defaultExtraPaths","pythonPlatform","getBooleanDiagnosticRules","includeNonOverridable","boolRules","strictListInference","strictSetInference","strictDictionaryInference","strictParameterNoneValue","enableTypeIgnoreComments","getDiagLevelDiagnosticRules","reportPropertyTypeMismatch","reportFunctionMemberAccess","reportMissingImports","reportMissingModuleSource","reportMissingTypeStubs","reportImportCycles","reportUnusedImport","reportUnusedClass","reportUnusedFunction","reportUnusedVariable","reportDuplicateImport","reportWildcardImportFromLibrary","reportOptionalSubscript","reportOptionalMemberAccess","reportOptionalCall","reportOptionalIterable","reportOptionalContextManager","reportOptionalOperand","reportUntypedFunctionDecorator","reportUntypedClassDecorator","reportUntypedBaseClass","reportUntypedNamedTuple","reportPrivateUsage","reportPrivateImportUsage","reportConstantRedefinition","reportIncompatibleMethodOverride","reportIncompatibleVariableOverride","reportInconsistentConstructor","reportOverlappingOverload","reportMissingSuperCall","reportUninitializedInstanceVariable","reportInvalidStringEscapeSequence","reportUnknownParameterType","reportUnknownArgumentType","reportUnknownLambdaType","reportUnknownVariableType","reportUnknownMemberType","reportMissingParameterType","reportMissingTypeArgument","reportInvalidTypeVarUse","reportCallInDefaultInitializer","reportUnnecessaryIsInstance","reportUnnecessaryCast","reportUnnecessaryComparison","reportAssertAlwaysTrue","reportSelfClsParameterName","reportImplicitStringConcatenation","reportUndefinedVariable","reportUnboundVariable","reportInvalidStubStatement","reportIncompleteStub","reportUnsupportedDunderAll","reportUnusedCallResult","reportUnusedCoroutine","reportUnnecessaryTypeIgnoreComment","reportMatchNotExhaustive","ConfigOptions","projectRoot","typeCheckingMode","include","exclude","ignore","strict","indexing","logTypeEvaluationTime","typeEvaluationTimeThreshold","initializedFromJson","analyzeUnannotatedFunctions","executionEnvironments","getDiagnosticRuleSet","printUnknownAsAny","omitTypeArgsIfAny","omitUnannotatedParamType","omitConditionalConstraint","pep604Printing","getDefaultExecEnvironment","envRoot","getExecutionEnvironments","initializeFromJson","configObj","diagnosticOverrides","skipIncludeSection","configTypeCheckingMode","useLibraryCodeForTypes","defaultSettings","applyDiagnosticOverrides","ruleName","_convertBoolean","_convertDiagnosticLevel","pathIndex","ensureDefaultPythonVersion","ensureDefaultPythonPlatform","typingsPath","verboseOutput","_initExecutionEnvironmentFromJson","getPythonPlatform","getPythonVersion","ensureDefaultExtraPaths","autoSearchPaths","diagnosticSeverityOverrides","envObj","newExecEnv","DiagnosticSink","_diagnosticList","_diagnosticMap","fetchAndClear","prevDiagnostics","addWarning","addInformation","addUnusedCode","addDeprecated","addDiagnostics","diagsToAdd","getErrors","getWarnings","getInformation","getUnusedCode","getDeprecated","TextRangeDiagnosticSink","addDiagnosticWithTextRange","positionRange","addUnusedCodeWithTextRange","addDeprecatedWithTextRange","TextRangeCollection","_items","lastItem","DefinitionProvider","definitions","_resolveDeclarations","All","preferStubs","PreferStubs","wantedFile","isUnresolved","_createModuleEntry","importLookup","resolveLocalNames","allowExternallyHiddenAccess","curDeclaration","alreadyVisited","privatePyTypedImported","privatePyTypedImporter","isPrivate","lookupResult","unvisitedDecls","DocumentSymbolProvider","symbolList","appendWorkspaceSymbolsRecursive","indexSymbols","indexingForAutoImportMode","appendDocumentSymbolsRecursive","indexSymbolData","collectSymbolIndexData","container","symbolData","symbolInfo","getContainerName","isInPyTypedPackage","aliasData","resolvedInfo","nameValue","getIndexAliasData","collectSymbolIndexDataForName","appendToFlatSymbolsRecursive","flatSymbols","documentUri","flatSymbol","ImportSorter","sortedStatements","aImportGroup","bImportGroup","compareImportStatements","primaryRange","_getPrimaryReplacementRange","_generateSortedImportText","_addSecondaryReplacementRanges","statementLimit","lastStatement","secondaryBlockStart","secondaryBlockLimit","curImportType","importLine","_formatImportNode","_formatImportFromNode","_compareSymbols","symbolText","cumulativeText","predominantTabSequence","getUnescapedString","stringToken","escapedString","isRaw","isFormat","unescapeErrors","nonAsciiInBytes","formatStringSegments","charCodes","isBytes","formatExpressionNestCount","formatSegment","valueParts","isExpression","hasFormatSpecifier","strOffset","addInvalidEscapeOffset","errorType","getEscapedCharacter","scanHexEscape","digitCount","foundIllegalHexDigit","hexValue","localValue","charCode","_isHexCharCode","_getHexDigitValue","appendOutputChar","incomplete","segment","foundIllegalChar","charCount","lookaheadChar","_isAlphaNumericChar","_isOctalCharCode","octalCode","quoteChar","isTriplicate","strChar","CharacterStream","_text","_currentChar","_isEndOfStream","_checkBounds","getCurrentChar","isEndOfStream","lookAhead","advance","moveNext","isAtWhiteSpace","currentChar","isAtLineBreak","skipLineBreak","skipWhitespace","skipToEol","skipToWhitespace","indentAmount","isIndentAmbiguous","matchesIndent","isDedentAmbiguous","newLineType","prefixLength","operatorType","_keywords","_operatorInfo","Tokenizer","_cs","_tokens","_prevLineStart","_parenDepth","_lineRanges","_indentAmounts","_typeIgnoreLines","_crCount","_crLfCount","_lfCount","_indentCount","_indentTabCount","_indentSpacesTotal","_singleQuoteCount","_doubleQuoteCount","_ipythonMode","tokenize","initialParenDepth","ipythonMode","_readIndentationAfterNewLine","_addNextToken","_getComments","_setIndent","_addLineRange","averageSpacePerIndent","typeIgnoreLines","typeIgnoreAll","_typeIgnoreAll","_handleCharacter","stringPrefixLength","_getStringPrefixLength","stringPrefix","quoteTypeFlags","_getQuoteTypeFlags","_handleString","_handleComment","_isIPythonMagics","_handleIPythonMagics","_handleInvalid","_handleNewLine","_isPossibleNumber","_tryNumber","_tryIdentifier","_tryOperator","lineLength","tab1Spaces","tab8Spaces","isTabPresent","isSpacePresent","prevTabInfo","dedentPoints","dedentAmount","actualDedentAmount","swallowRemainingChars","radix","leadingChars","simpleIntText","intValue","bigIntValue","isDecimalInteger","mightBeFloatingPoint","_skipFloatingPointCandidate","parseFloat","prevComments","_comments","comment","_addComments","regexMatch","textRange","stringLiteralInfo","_skipToEndOfStringLiteral","escapedValueParts","_skipFractionalNumber","_skipDecimalNumber","allowSign","ParseOptions","skipFunctionAndClassBody","maxChildNodeDepth","_tokenIndex","_areErrorsSuppressed","_parseOptions","_diagSink","_isInLoop","_isInFunction","_isInFinally","_isParsingTypeAnnotation","_isParsingIndexTrailer","_futureImportMap","_importedModules","_containsWildcardImport","_assignmentExpressionsAllowed","_typingImportAliases","_typingSymbolAliases","parseSourceFile","fileContents","parseOptions","diagSink","_startNewParse","_atEof","_consumeTokenIfType","nextToken","_peekToken","_getNextToken","indentToken","_addError","_parseStatement","_consumeTokensUntilType","_tokenizerOutput","importedModules","futureImports","containsWildcardImport","typingSymbolAliases","parseTextExpression","textLength","parseTextMode","_parseTypeAnnotation","_parseFunctionTypeAnnotation","exprListResult","_parseTestOrStarExpressionList","parseError","_makeExpressionOrTuple","_peekTokenType","tokenizer","_peekKeywordType","_parseIfStatement","_parseWhileStatement","_parseForStatement","_parseTryStatement","_parseWithStatement","_parseFunctionDef","_parseClassDef","_parseAsyncStatement","peekToken","isInvalidMatchToken","matchStatement","_parseMatchStatement","_peekOperatorType","_parseDecorated","_parseSimpleStatement","asyncToken","_getKeywordToken","smellsLikeMatchStatement","_suppressErrors","curTokenIndex","_parseTestOrStarListAsExpression","matchNode","possibleIndent","caseStatement","_parseCaseStatement","dedentToken","_getLanguageVersion","caseNode","_consumeTokenIfKeyword","patternList","_parsePatternSequence","casePattern","_parseTestExpression","_parseSuite","_isPatternIrrefutable","_getPatternTargetNames","subpattern","mapEntry","_parseExpressionListGeneric","_parsePatternAs","starEntries","captureTargetMap","asPattern","patternAtom","_parsePatternAtom","_consumeTokenIfOperator","_getTokenIfIdentifier","orPattern","fullNameMap","localNameMap","missingNames","patternLiteral","_parsePatternLiteral","patternCaptureOrValue","_parsePatternCaptureOrValue","_parseClassPatternArgList","classNameExpr","classPattern","identifierToken","endToken","mappingPattern","_parsePatternMapping","lastToken","_handleExpressionParseError","sawKeywordArg","nextTokenType","_parseClassPatternArgument","secondToken","keywordName","nextOperator","_parsePatternLiteralNumber","stringList","_parseAtom","stringAtom","keywordToken","_parseArithmeticExpression","realValue","imagValue","itemList","_parsePatternMappingItem","starStarEntries","doubleStar","nameOrMember","ifNode","_parseLoopSuite","wasInLoop","wasInFinally","skipBody","postColonCallback","wasFunction","targetExpr","_parseExpressionListAsPossibleTuple","seqExpr","V3_9","sawStar","forNode","_tryParseListComprehension","compFor","_tryParseCompForStatement","listCompNode","forIfList","compIter","_tryParseCompIfStatement","comp","startTokenKeywordType","_disallowAssignmentExpression","_parseOrTest","compForNode","ifExpr","_tryParseLambdaExpression","_parseAssignmentExpression","whileNode","tryNode","sawCatchAllExcept","possibleStarToken","typeExpr","V3_11","exceptNode","_parseVarArgsList","functionTypeAnnotationToken","_getTypeAnnotationCommentText","_parseFunctionTypeAnnotationComment","terminator","allowAnnotations","sawDefaultParam","reportedNonDefaultParamErr","sawPositionOnlySeparator","sawKwArgs","_parseParameter","foundComma","_parseVariableTypeAnnotationComment","starCount","slashCount","V3_8","sublistStart","paramNode","withItemList","possibleParen","isParenthesizedWithItemList","openParenTokenIndex","_parseWithItem","withSuite","withNode","withItem","itemNode","_parseExpression","decoratorList","_parseDecorator","atOperator","isSupportedExpressionForm","_isNameOrMemberAccessExpression","decoratorNode","_parseArgList","_parsePassStatement","_parseBreakStatement","breakToken","_parseContinueStatement","continueToken","_parseReturnStatement","returnToken","returnNode","_isNextTokenNeverExpression","returnExpr","_reportConditionalErrorForStarTupleElement","_parseFromStatement","modName","_parseDottedModuleName","isFutureImport","possibleInputToken","wildcardToken","inParen","importFromAsNode","isTypingImport","firstNamePartValue","typingSymbolsOfInterest","_parseImportStatement","importToken","aliasToken","allowJustDots","_getTokenIfType","identifier","namePart","_parseGlobalStatement","globalToken","globalNode","_parseNameList","_parseNonlocalStatement","nonlocalToken","nonlocalNode","_parseRaiseStatement","raiseToken","raiseNode","_parseAssertStatement","assertNode","exceptionExpr","_parseDelStatement","_parseExpressionList","delNode","_parseYieldExpression","V3_3","exprList","_tryParseYieldExpression","invalidToken","firstCharCode","smallStatement","_parseSmallStatement","_parseExpressionStatement","tupleStartRange","tupleNode","errorCategory","errorString","errorToken","_parseTestListAsExpression","_parseTestExpressionList","allowAssignmentExpression","allowMultipleUnpack","allowStar","_parseTestOrStarExpression","allowUnpack","_parseBitwiseOrExpression","_parseLambdaExpression","testExpr","elseExpr","disallowAssignmentExpression","leftExpr","walrusToken","rightExpr","_parseAndTest","_createBinaryOperationNode","_parseNotTest","notToken","notExpr","_createUnaryOperationNode","_parseComparison","comparisonOperator","isOperatorComparison","tokenAfterNot","_parseBitwiseXorExpression","_parseBitwiseAndExpression","_parseShiftExpression","_parseArithmeticTerm","_parseArithmeticFactor","_parseAtomExpression","_isTypingAnnotation","baseName","atomExpression","startOfTrailerToken","wasParsingTypeAnnotation","argListResult","isArgListTerminated","wasParsingIndexTrailer","subscriptList","_parseSubscriptList","closingToken","startOfSubscriptIndex","nameIdentifier","valueExpr","_parsePossibleSlice","nameExpr","argNode","unpackAllowed","sliceExpressions","sliceIndex","sawColon","sliceNode","_parseArgument","listComp","_parseStringList","expressionNode","possibleTupleNode","_parseTupleAtom","listNode","_parseListAtom","dictNode","_parseDictionaryOrSetAtom","keywordAsIdentifier","errorMsg","targetToken","childNode","additionalStopTokens","stopTokens","allowConditional","lambdaNode","startParen","yieldExpr","_parseTestListWithComprehension","tupleOrExpression","startBracket","closeBracket","_createList","listAtom","sawComprehension","startBrace","dictionaryEntries","setEntries","isDictionary","isSet","sawListComprehension","isFirstEntry","doubleStarExpression","keyEntryNode","dictEntry","listEntryNode","expandEntryNode","missingValueErrorNode","closeCurlyBrace","setAtom","dictionaryAtom","terminalCheck","finalEntryCheck","annotationExpr","V3_6","isTypeAliasDeclaration","_parseChainAssignments","isOperatorAssignment","destExpr","assignmentNode","paramAnnotation","isUnpack","_reportStringTokenErrors","unescapedResult","_makeStringNode","curToken","typeString","tokenOffset","stringListNode","functionAnnotation","_parseFormatStringSegment","segmentOffset","segmentLength","textRangeStart","_parseFormatString","formatExpressions","segmentExprLength","_getFormatStringExpressionLength","formatDirective","braceDepth","startOfExprOffset","formatSegmentLength","segmentValue","quoteStack","indexOfDebugEqual","braceCount","parenCount","bracketCount","ignoreSeparator","inString","quoteSequence","unescapedString","possibleTupleExpr","wasAllowed","keywordText","terminators","term","errorsWereSuppressed","Scope","notLocalBindings","getGlobalScope","curScope","isIndependentlyExecutable","isOutsideCallerModule","isBeyondExecutionScope","isDefinedByMemberAccess","parentScope","addSymbol","getBindingType","setBindingType","bindingType","setSlotsNames","slotsNames","getSlotsNames","evaluateStaticBoolExpression","typingImportAliases","sysImportAliases","evaluateStaticBoolLikeExpression","leftValue","rightValue","_isSysVersionInfoExpression","comparisonVersion","majorVersion","minorVersion","_convertTupleToVersion","_evaluateNumericBinaryOperation","_isSysPlatformInfoExpression","comparisonPlatform","expectedPlatformName","Darwin","Windows","Linux","_getExpectedPlatformNameFromPlatform","_evaluateStringBinaryOperation","_isOsNameInfoExpression","comparisonOsName","expectedOsName","_getExpectedOsNameFromPlatform","Binder","_moduleSymbolOnly","_deferredBindingTasks","_currentExceptTargets","_finallyTargets","_sysImportAliases","_dataclassesImportAliases","_dataclassesSymbolAliases","_dunderAllStringNodes","_usesUnsupportedDunderAllForm","_isInExceptSuite","_potentialHiddenSymbols","_potentialPrivateSymbols","_functionCodeFlowComplexity","_fileInfo","bindModule","isBuiltInModule","builtinsScope","_createNewScope","_currentScope","_currentFlowNode","_addImplicitSymbolToCurrentScope","_createStartFlowNode","_walkStatementsAndReportUnreachable","_currentScopeCodeFlowExpressions","_bindDeferred","_dunderAllNames","usesUnsupportedDunderAllForm","_addDiagnostic","diagnostic","createTypeStubAction","classDeclaration","_bindNameToScope","_createAssignmentTargetFlowNodes","containingClassNode","functionDeclaration","_getNonClassParentScope","_deferBinding","paramDeclaration","_createFlowAssignment","_targetFunctionDeclaration","_currentReturnTarget","_createBranchLabel","_addAntecedent","returnFlowNode","_finishFlowLabel","complexity","codeFlowComplexity","_disableTrueFalseTargets","_createCallFlowNode","emitDunderAllWarning","argExpr","namesToAdd","_getDunderAllNamesFromImport","_handleTypingStubAssignmentOrAnnotation","_bindPossibleTupleNamedTarget","_addTypeDeclarationForVariable","isPossibleTypeAlias","isTypingStubFile","_addInferredTypeAssignmentForVariable","tupleEntryNode","dunderSlotsNames","isExpressionUnderstood","_addSlotsToCurrentScope","evaluationNode","containerScope","_createVariableAnnotationFlowNode","expressionList","_isNarrowingExpression","referenceKey","preForLabel","_createLoopLabel","preElseLabel","postForLabel","_bindLoopStatement","enclosingFunction","_currentContinueTarget","_unreachableFlowNode","_currentBreakTarget","returnStatements","_isInListComprehension","_bindYield","preIfFlowNode","thenLabel","elseLabel","postIfLabel","affectedExpressions","_trackCodeFlowExpressions","constExprValue","executionEnvironment","_bindConditional","_bindNeverCondition","postWhileLabel","preLoopLabel","assertTrueLabel","assertFalseLabel","wasInExceptSuite","raiseStatements","preTryFlowNode","curExceptTargets","preFinallyLabel","isAfterElseAndExceptsReachable","preFinallyReturnOrRaiseLabel","preFinallyGate","PreFinallyGate","antecedent","isGateClosed","except","exceptLabel","_useExceptTargets","_isCodeUnreachable","postFinallyNode","PostFinally","finallyNode","isIPythonMode","globalScope","valueWithScope","_createAliasDeclarationForMultipartImportName","dataclassesSymbolsOfInterest","isModuleInitFile","isDataclassesImport","lookupInfo","wildcardNames","_getWildcardImportNames","_addImplicitFromImport","localSymbol","_createFlowWildcardImport","importSymbolNode","importedName","contextManagerSwallowExceptionTarget","_createContextManagerLabel","contextManagerForwardExceptionTarget","exceptionTarget","preWithSuiteNode","postContextManagerLabel","_addExceptTargets","preTernaryFlowNode","trueLabel","falseLabel","postExpressionLabel","_currentFalseTarget","_currentTrueTarget","postRightLabel","trueTarget","falseTarget","preRightLabel","compr","addedSymbols","isSubjectNarrowable","postMatchLabel","foundIrrefutableCase","postCaseLabel","preGuardLabel","preSuiteLabel","_createFlowNarrowForPattern","_createFlowExhaustedMatch","postOrLabel","_addPatternCaptureTarget","slotNameNodes","slotsContainsDict","slotNameNode","slotName","honorPrivateNaming","isDefinedBySlots","ignoreOutermostIterable","outermostCompr","targets","prevExceptTargets","varName","varSymbol","dunderAllNames","existingDecl","newDecl","_addImplicitImportsToLoaderActions","curLoaderActions","namePartValue","loaderActions","namesToImport","foundUnreachableStatement","YieldFinder","checkContainsYield","Start","preBranchAntecedent","BranchLabel","antecedents","NarrowForPattern","blockIfSwallowsExceptions","PostContextManager","LoopLabel","isPositiveTest","_createFlowConditional","TrueNeverCondition","FalseNeverCondition","savedCurrentFlowNode","initialCurrentFlowNode","afterLabel","prevCurrentNode","_setTrueFalseTargets","_isLogicalExpression","TrueCondition","FalseCondition","savedTrueTarget","savedFalseTarget","staticValue","filteredExprList","conditionalFlowNode","filterForNeverNarrowing","isComplexExpression","isOrIsNotOperator","equalsOrNotEqualsOperator","isLeftNarrowing","isRightNarrowing","walkTargets","unbound","Call","VariableAnnotation","targetSymbolId","prevFlowNode","Assignment","Unbind","WildcardImport","ExhaustedMatch","savedExpressions","scopedExpressions","postLoopLabel","savedContinueTarget","savedBreakTarget","savedCodeFlowComplexity","_addSymbolToCurrentScope","symbolFlags","prevScope","newScope","isExecutionScope","prevExpressions","isInferenceAllowedInPyTyped","_isInferenceAllowedInPyTyped","_getVariableDocString","_getMemberAccessInfo","classScope","declarationHandled","finalInfo","_isAnnotationFinal","isExplicitTypeAlias","_isAnnotationTypeAlias","innerTypeAnnotationNode","finalTypeNode","classVarInfo","_isAnnotationClassVar","classVarTypeNode","containingClass","_isRequiredAnnotation","_isNotRequiredAnnotation","_isDataclassesAnnotation","item0Expr","_isKnownAnnotation","importAliases","symbolAliases","annotationNode","suiteOrModule","assignmentIndex","nextStatement","isValidContext","leftSymbolName","firstParamName","decoratorName","existingLoaderAction","assignedNameNode","specialTypes","assignedName","nextItem","yieldStatements","diagLevel","_addWarning","_addInformation","diagnosticSink","_containsYield","getTypeNarrowingCallback","adjIsPositiveTest","expandedType","mapSubtypesExpandTypeVars","unexpandedSubtype","adjustedSubtype","narrowTypeForIsNone","indexValue","tupleLength","typeOfEntry","narrowTupleTypeForIsNone","callType","matches","narrowTypeForTypeIs","rightType","narrowTypeForLiteralComparison","referenceType","indexLiteralType","literalType","canNarrow","narrowedType","tdEntry","narrowTypeForDiscriminatedDictEntryComparison","tupleEntryType","narrowTypeForDiscriminatedTupleComparison","lengthValue","concreteSubtype","narrowTypeForTupleLength","narrowTypeForDiscriminatedFieldComparison","containerType","builtInName","elementType","elementTypeWithoutLiteral","referenceSubtype","elementSubtype","narrowTypeForContains","literalKey","oldNarrowedEntriesMap","newNarrowedEntriesMap","narrowTypeForTypedDictKey","isInstanceCheck","arg0Expr","arg1Expr","classTypeList","foundNonClassType","addClassTypesToList","getIsInstanceClassTypes","narrowTypeForIsInstance","narrowTypeForCallable","narrowTypeForTruthiness","functionReturnType","typeGuardSubtype","isSubType","isSuperType","narrowTypeForUserDefinedTypeGuard","testExprDecl","getDeclsForLocalVar","referenceDecls","modifyingDecls","isNodeReachable","initNode","reachableFrom","prevDeclScope","declScopeNode","reachableDecls","canBeTruthy","removeFalsinessFromType","canBeFalsy","removeTruthinessFromType","allowIntersections","filterClassType","varType","unexpandedType","negativeFallbackType","filteredTypes","foundSuperclass","isClassRelationshipIndeterminate","filterType","concreteFilterType","filterIsSuperclass","filterIsSubclass","specializedFilterType","unspecializedFilterType","populateTypeVarMapBasedOnExpectedType","isConstrainedTypeVar","isCallable","anyOrUnknownSubstitutions","anyOrUnknown","filteredType","negativeFallback","isSubtypeTypeObject","containsNoneType","concreteClassType","filterFunctionType","includesTypeType","getBuiltInObject","isIsOperator","literalValueMatches","allLiteralTypes","enumerateLiteralsForType","enumList","symbolType","callMethod","classPatternSpecialCases","narrowTypeBasedOnPattern","sequenceInfo","getSequencePatternInfo","isPlausibleMatch","narrowedEntryTypes","canNarrowTuple","isTuple","sequenceEntry","entryType","getTypeForPatternSequenceEntry","narrowedEntryType","tupleClassType","isObject","sequenceType","getTypingType","narrowTypeBasedOnSequencePattern","narrowTypeBasedOnLiteralPattern","exprType","classInstance","subjectSubtypeExpanded","subjectSubtypeUnexpanded","positionalArgNames","getPositionalMatchArgNames","narrowTypeOfClassPatternArgument","expandedSubtype","resultType","unspecializedMatchType","matchTypeInstance","isMatchValid","narrowTypeBasedOnClassPattern","remainingType","narrowedSubtype","narrowTypeBasedOnAsPattern","mappingInfo","getMappingPatternInfo","mappingSubtypeInfo","mappingEntry","narrowedKeyType","keySubtype","valueEntry","narrowedValueType","dictTypeArgs","narrowTypeBasedOnMappingPattern","subjectType","narrowedSubtypes","valueSubtypeExpanded","valueSubtypeUnexpanded","allEnumTypes","enumType","useSpeculativeMode","getTypeFromMagicMethodReturn","narrowTypeBasedOnValuePattern","matchArgsMemberInfo","matchArgsType","tupleArgs","argIndex","matchType","getTypeFromObjectMember","mroClassToSpecialize","specializedMapping","entryCount","minEntryCount","entryTypes","isIndeterminateLength","specializedSequence","unpackStarEntry","isSubjectObject","wrapTypeInList","assignTypeToPatternTargets","isTypeIncomplete","assignTypeToExpression","keyTypes","valueTypes","valueInfo","dictClass","dictType","argTypes","subjectSubtype","narrowedArgType","listObjectType","deprecatedAliases","deprecatedSpecialForms","Checker","_isUnboundCheckSuppressed","_scopedNodes","_moduleNode","markNamesAccessed","_reportUnusedDunderAllSymbols","_validateSymbolTables","_reportDuplicateImports","suppressDiagnostics","classTypeResult","_validateProtocolTypeParamVariance","_validateBaseClassOverrides","_validateSlotsClassVarConflict","_validateMultipleInheritanceCompatibility","_validateConstructorConsistency","_validateFinalMemberOverrides","_validateInstanceVariableInitialization","_validateFinalClassNotAbstract","_validateDataClassPostInit","_validateProtocolCompatibility","_reportDuplicateEnumMembers","_validateTypedDictClassSuite","_validateEnumClassOverride","functionTypeResult","sawParamSpecArgs","functionTypeParam","diagAddendum","hasAnnotation","defaultValueType","paramSpecParams","_validateMethod","_validateFunctionReturn","_validateDunderSignatures","_validateStrictTypeGuardFunction","_validateFunctionTypeVarUsage","maxOverloadConsistencyCheckLength","_validateOverloadConsistency","_validateIsInstanceCall","_validateIllegalDefaultParamInitializer","isRevealTypeCall","_isTypeValidForUnusedValueTest","evaluateTypesForStatement","enclosingFunctionNode","getFunctionDeclaredReturnType","returnTypeMatches","uniqueTypeVars","narrowConstrainedTypeVar","adjustedReturnType","yieldType","_validateYieldType","yieldFromType","getTypeFromIterable","getTypeFromIterator","verifyRaiseExceptionType","baseExceptionType","exceptionType","_validateExceptionType","addDiagnosticForTextRange","subscriptType","_validateComparisonTypes","formatExpr","_suppressUnboundCheck","_conditionallyReportPrivateUsage","_reportUnboundName","verifyDeleteExpression","_validateExhaustiveMatch","validateClassPattern","_reportUnusedExceptStatements","narrowedTypeResult","evaluateTypeForSubnode","evaluateTypesForMatchNode","wasSuppressed","isPossiblyTrue","leftSubtype","isComparable","rightSubtype","_isTypeComparable","leftTypeText","rightTypeText","genericLeftType","genericRightType","localTypeVarUsage","exemptBoundTypeVar","nameWalker","subscriptIndex","nameType","isExempt","prevOverloads","prevOverload","_isOverlappingOverload","obscured","obscuredBy","prevReturnType","altNode","_findNodeForOverload","newIndex","prevIndex","overloadType","_isLegalOverloadImplementation","implementation","isLegal","overloadReturnType","getFunctionInferredReturnType","implementationReturnType","returnDiag","prevStatement","reportedUnreachable","_validateStubStatement","derivesFromBaseException","resultingExceptionType","scopedNode","_conditionallyReportUnusedSymbol","_reportIncompatibleDeclarations","_reportMultipleFinalDeclarations","_reportMultipleTypeAliasDeclarations","_reportInvalidOverload","overloadedFunctions","implementationFunction","isProtocolMethod","sawFinal","sawAssignment","firstDecl","isImplicitlyAssigned","typeAliasDecl","primaryDeclInfo","otherDecls","primaryDeclTypeInfo","funcTypeInfo","addPrimaryDeclInfo","primaryDeclNode","otherDecl","primaryType","duplicateIsOk","otherType","isInSameStatementList","accessedSymbolMap","_conditionallyReportUnusedDeclaration","_isSymbolPrivate","diagnosticLevel","multipartName","np","isReexport","isFuture","callName","arg0Type","arg1Type","isValidType","arg1Subtype","_isTypeSupportedTypeForIsInstance","nonstandardClassTypes","arg1IncludesSubclasses","derivesFromAnyOrUnknown","finalizeFilteredTypeList","foundAnyType","getTestType","testType","isSupported","_reportDeprecatedUse","deprecatedForm","isPrivateName","isProtectedName","primaryDeclaration","resolvedAliasInfo","resolveAliasDeclarationWithInfo","isProtectedAccess","declClassTypeInfo","enclosingClassNode","enclosingClassTypeInfo","baseEnumDefinesValue","suiteNode","emitBadStatementError","returnAnnotation","functionNeverReturns","isAfterNodeReachable","implicitlyReturnsNone","parentSymbol","isSymbolImplemented","postInitMember","initOnlySymbolMap","postInitType","paramListDetails","nonDefaultParams","expectedParamCount","expected","fieldType","getDeclaredTypeOfSymbol","canAssignDiag","fieldDecls","abstractMethods","getAbstractMethods","abstractMethod","origTypeParams","updatedTypeParams","updatedClassType","objectObject","dummyTypeObject","srcTypeArgs","destTypeArgs","expectedVariance","canAssignProtocolClassToSelf","variable","class","localSlotsNames","initMember","newMember","newMemberType","initMemberType","displayOnInit","initDecl","mainDecl","mainDeclNode","initSignature","newSignature","secondaryDecl","symbolMaps","specializedBaseClass","memberMap","getClassFieldsRecursive","symbolMapBaseIndex","baseSymbolMap","baseClassAndSymbol","symbolMapOverrideIndex","overrideClassAndSymbol","overrideFunction","canOverrideMethod","overrideDecl","baseDecl","mroBaseClass","baseClassSymbolType","exemptMethods","enforceParamNameMatch","exempt","origDecl","basePropFields","subclassPropFields","methodName","baseClassPropMethod","subclassPropMethod","baseClassMethodType","subclassMethodType","isBaseClassVar","unformattedMessage","classTypeInfo","_validateSuperCallForMethod","_validateClsSelfParameterType","firstParamIsSimple","isLegalMetaclassName","typeType","methodType","effectiveFlags","foundCallOfMember","memberBaseExpr","isCls","expectedType","declaredYieldType","isLegalGeneratorType","classes","getGeneratorYieldType","sawUnknownOrAny","exceptionTypesSoFar","typesForThisExcept","overriddenExceptionCount","thisExceptType","previousExceptType","importModuleMap","_applyStrictRules","ruleSet","_overrideRules","overrideRuleSet","skipRuleNames","boolRuleNames","diagRuleNames","overrideValue","prevValue","_parsePyrightComment","commentValue","operandList","_applyBasicRules","operand","_parsePyrightOperand","operandSplit","diagLevelValue","_parseDiagLevel","boolValue","ParseTreeCleanerWalker","_parseTree","clean","analyzerNode","TestWalker","_verifyParentChildLinks","_verifyChildRanges","skipCheck","SourceFile","isThirdPartyImport","isThirdPartyPyTypedPresent","logTracker","_isFileDeleted","_diagnosticVersion","_fileContentsVersion","_lastFileContentLength","_lastFileContentHash","_analyzedFileContentsVersion","_parseTreeNeedsCleaning","_isBindingInProgress","_parseDiagnostics","_bindDiagnostics","_checkerDiagnostics","_diagnosticRuleSet","_circularDependencies","_isBindingNeeded","_isCheckingNeeded","_indexingNeeded","_isStubFile","_isThirdPartyImport","_isThirdPartyPyTypedPresent","_isTypingStubFile","_isTypingExtensionsStubFile","_isBuiltInStubFile","_logTracker","getDiagnosticVersion","prevDiagnosticVersion","includeWarningsAndErrors","diagList","prefilteredDiagList","typeIgnoreLinesClone","unnecessaryTypeIgnoreDiags","diagCategory","cirDep","_hitMaxImportDepth","ignoreFileSpec","getImports","_imports","getBuiltinsImport","_builtinsImport","getIPythonDisplayImport","_ipythonDisplayImport","getModuleSymbolTable","_moduleSymbolTable","didContentsChangeOnDisk","_clientDocument","dropParseAndBindInfo","markDirty","indexingNeeded","_cachedIndexResults","markReanalysisRequired","forceRebinding","getClientVersion","getOpenFileContents","getFileContent","openFileContent","fileStat","setClientVersion","contentsHash","prepareForClose","isFileDeleted","isParseRequired","isBindingRequired","isIndexingRequired","isCheckingRequired","getCachedIndexResults","cacheIndexResults","addCircularDependency","updatedDependencyList","dep","setHitMaxImportDepth","maxImportDepth","_getPathForLogging","logState","execEnvironment","indexGenerationMode","_resolveImports","builtinsImportResult","ipythonDisplayImportResult","useStrict","strictFileSpec","defaultRuleSet","diagSettings","ls","getDefinitionsForPosition","getTypeDefinitionsForPosition","getDeclarationForPosition","addReferences","addHierarchicalSymbolsForDocument","getSymbolsForDocument","getHoverForPosition","_addResultsForDeclaration","typeText","_addResultsPart","_addDocumentationPart","_getTypeText","typeNode","_addInitMethodInsteadIfCallNode","callLeftNode","instanceType","functionParts","printFunctionParts","classText","_addDocumentationPartForType","addedDoc","_addDocumentationResultsPart","markDown","python","getDocumentHighlight","getSignatureHelpForPosition","callSignatureInfo","sig","_makeSignature","callHasParameters","_getDocStringFromCallNode","activeParameter","sigInfo","resolveDecl","moduleSymbolsCallback","completionData","performQuickAction","editActions","startPos","endPos","additionalEditActions","_addMissingOptionalToParam","_cleanParseTreeIfRequired","_buildFileInfo","binder","internalTestMode","test_enableIPythonMode","enable","analysisDiagnostics","isTypingExtensionsStubFile","isBuiltInStubFile","moduleImports","resolveAndAddIfNotSelf","skipMissingImport","moduleImport","createTracePrinter","localeCompare","printFileOrModuleName","filePathOrModule","printDeclaration","printNode","printPath","getFileInfo","isNode","isDeclaration","isType","isIncompleteType","cachedType","SpeculativeTypeTracker","_speculativeContextStack","_speculativeTypeCache","enterSpeculativeContext","speculativeRootNode","allowCacheRetention","entriesToUndo","leaveSpeculativeContext","isSpeculative","trackEntry","stackSize","disableSpeculativeMode","enableSpeculativeMode","addSpeculativeType","cacheEntries","getSpeculativeType","IncompleteTypeTracker","_trackerStack","_isUndoTrackingEnabled","enterTrackingScope","exitTrackingScope","enableUndoTracking","isUndoTrackingEnabled","createNamedTupleType","includesTypes","nameArg","defaultsArg","defaultArgCount","defaultsArgType","namedTupleType","classFields","classTypeVar","constructorType","namedTupleAssignedName","moduleOrSuite","statementIndex","assignNode","defaultTarget","matchArgsNames","selfParameter","addGenericGetAttribute","entriesArg","firstParamWithDefaultIndex","isRuntimeTypeExpression","entryList","entryMap","entryExpressions","entryTypeNode","entryNameNode","getTypeForExpressionExpectingType","setTypeForNode","keysItemType","itemsItemType","lenType","getAttribType","literalTypes","updateNamedTupleBaseClass","namedTupleIndex","namedTupleClass","typedTupleClass","tupleTypeArgs","updatedTupleClass","clonedNamedTupleClass","validateDataClassTransformDecorator","behaviors","keywordOnlyParams","generateEq","generateOrder","transformDescriptorTypes","fieldDescriptorNames","getDataclassDecoratorBehaviors","decoratorDataClassBehaviors","applyDataClassClassBehaviorOverrides","argValue","hasUnfrozenBaseClass","hasFrozenBaseClass","classDataClassTransform","applyDataClassBehaviorOverride","applyDataClassDefaultBehaviors","defaultBehaviors","dataClassBehaviors","applyDataClassDecorator","applyFunctionTransform","orderingMethods","missingMethods","boolType","objParam","methodToAdd","applyTotalOrderingTransform","validatePropertyMethod","createProperty","decoratorType","fget","typeMetaclass","propertyClass","propertyObject","isAsymmetricDescriptor","fgetSymbol","getFunction1","defaultType","getFunction2","objType","getFunctionOverload","getSymbol","accessorName","accessorFunction","accessorSymbol","canAssignProperty","destPropertyType","srcPropertyType","srcClass","objectToBind","isAssignable","missingDiagMsg","incompatibleDiagMsg","accessorInfo","destAccessSymbol","destAccessType","srcAccessSymbol","srcAccessType","boundDestAccessType","boundSrcAccessType","binaryOperatorMap","booleanOperatorMap","nonSubscriptableBuiltinTypes","typePromotions","createTypeEvaluator","evaluatorOptions","symbolResolutionStack","functionRecursionMap","codeFlowAnalyzerCache","typeCache","typeCacheFlags","asymmetricDescriptorAssignmentCache","expectedTypeCache","speculativeTypeTracker","effectiveTypeCache","suppressedNodeStack","incompleteTypeTracker","protocolAssignmentStack","noneType","typeClassType","functionObj","boolClassType","strClassType","dictClassType","typedDictClassType","incompleteTypeCache","isBasicTypesInitialized","returnTypeInferenceContextStack","returnTypeInferenceTypeCache","checkForCancellation","isTypeCached","isNodeInReturnTypeInferenceContext","readTypeCache","verifyTypeCacheEvaluatorFlags","expectedFlags","writeTypeCache","allowSpeculativeCaching","typeCacheToUse","deleteTypeCacheEntry","contextNode","getIndexOfSymbolResolution","symbolId","pushSymbolResolution","isResultValid","popSymbolResolution","poppedEntry","setSymbolResolutionPartialType","partialType","getSymbolResolutionPartialType","evaluateTypesForExpressionInContext","initializedBasicTypes","getTypeFromModule","getTypeshedType","speculativeCachedType","expectedTypeAlt","typeResult","reportExpectingTypeErrors","allowForwardReferences","containingFunction","useCodeFlowAnalysis","effectiveTypeInfo","getEffectiveTypeOfSymbolForUsage","effectiveType","isRecursiveDefinition","typeAtStart","codeFlowTypeResult","getFlowTypeOfReference","outerScopeTypeResult","scopeHierarchy","stopScope","innerScopeNode","foundScope","innerScopeCodeFlowNode","declCodeFlowNode","codeFlowEngine","isFlowNodeReachable","getCodeFlowTypeForCapturedVariable","reportMissingTypeArguments","setSymbolAccessed","includesVariableDecl","nameSplit","booleanName","validateTypeVarUsage","getTypeFromName","baseTypeFlags","baseTypeResult","memberTypeResult","getTypeFromMemberAccessWithBaseType","initialType","isInitialTypeIncomplete","classMemberInfo","getTypeFromMemberAccess","skipSubscriptCheck","scopeNode","minPythonVersion","getTypeFromIndexWithBaseType","baseTypeSupportsIndexNarrowing","getTypeFromIndex","getTypeFromCall","makeTupleObject","isEmptyTupleShorthand","effectiveExpectedType","expectedTypeContainsAny","matchingSubtype","subtypeResult","getTypeFromTupleExpected","entryTypeResults","buildTupleTypesList","getTypeFromTupleInferred","getTypeFromTuple","getTypeFromConstant","isAnnotationLiteralValue","cloneBuiltinObjectWithLiteral","updatedFlags","textValue","valueOffset","parseStringAsTypeAnnotation","exprTypeResult","unaryOperatorMap","literalClassName","classSubtype","getTypeFromUnaryOperation","getTypeFromBinaryOperation","getTypeFromAugmentedAssignment","getTypeFromListOrSetExpected","hasExpectedType","builtInClassName","entryTypeResult","getElementTypeFromListComprehension","inferredEntryType","listOrSetClass","getTypeFromListOrSetInferred","getTypeFromListOrSet","getTypeFromSlice","createAwaitableReturnType","getTypeFromAwaitable","typesToCombine","ifType","elseType","getTypeFromTernary","elementTypeResult","builtInIteratorType","getTypeFromListComprehension","expectedTypeDiagAddendum","getTypeFromDictionaryExpected","getTypeFromDictionaryInferred","getTypeFromDictionary","expectedFunctionTypes","callMember","boundMethod","minLambdaParamCount","maxLambdaParamCount","functionParamCount","expectedFunctionType","transformVariadicParamType","functionParam","expectedReturnType","getFunctionEffectiveReturnType","getTypeFromLambda","expectedYieldType","sentType","functionTypeInfo","getTypeFromYield","returnedType","getTypeFromYieldFrom","iterExpectedType","iterableType","iterTypeResult","iterType","addExpectedClassDiagnostic","illegalRecursionDetected","isAnnotationEvaluationPostponed","getTypeOfParameterAnnotation","paramTypeNode","getTypeOfAnnotation","associateTypeVarsWithScope","allowTypeVarTuple","disallowRecursiveTypeAlias","allowUnpackedTypedDict","allowUnpackedTuple","specialType","aliasMapEntry","createSpecialBuiltInClass","handleTypingStubTypeAnnotation","evaluatorFlags","isVariableAnnotation","allowFinal","allowClassVar","allowParamSpec","notParsedByInterpreter","annotationType","getTypeFromDecorator","functionOrClassType","decoratorTypeResult","validateCallArguments","boolMethod","boolMethodType","memberAccessFlags","bindToType","getTypeFromClassMemberName","getTypeFromClassMember","getBoundMethod","treatConstructorAsClassMember","unboundMethodType","firstCommentAnnotationIndex","adjIndex","isDeclaredTypeAlias","getDeclaredTypeForExpression","classOrObjectBase","memberAccessClass","bindFunction","setItemMember","setItemType","boundFunction","typeFromTypedDict","evaluatorInterface","setterInfo","setter","awaitReturnType","generatorReturnType","getReturnTypeFromGenerator","iterMethodName","nextMethodName","isValidIterator","iterReturnType","iterReturnTypeDiag","nextReturnType","getItemReturnType","isValidIterable","importingFilePath","sourceNode","sourceFlowNode","getTypeFromCodeFlow","getCodeFlowAnalyzerForNode","isFlowNodeReachableUsingNeverNarrowing","isFlowPathBetweenNodes","sinkNode","allowSelf","sinkFlowNode","addDiagnosticWithSuppressionCheck","isDiagnosticSuppressedForNode","suppressedNode","assignTypeToNameNode","srcExpression","allowAssignmentToFinalVar","narrowTypeBasedOnAssignment","varDecl","assignTypeToMemberVariable","srcExprNode","classDef","memberClass","isThisClass","inheritedSlotsNames","reportPossibleUnknownAssignment","conditionFilter","applicableConstraint","isExemptFromBoundCheck","expandSubtype","typeCondition","srcExpr","ignoreEmptyContainers","classTypeResults","memberSymbol","setErrorNode","assignTypeToMemberAccessNode","targetExpressions","targetTypes","targetUnpackIndex","unpackIndex","sourceEntryTypes","unboundedIndex","typeToReplicate","combinedTypes","targetIndex","expectedEntryCount","subDiag","simple","typeList","assignTypeToTupleOrListNode","bindToClass","scopedTypeVarInfo","nestedClassCount","typeVarsForScope","foundInterveningClass","recursiveTypeAliasScopeId","findScopedTypeVar","enclosingScope","outerFunctionScope","createSpecializedClassType","getTypeVarScopesForNode","getTypeFromNoneBase","isSuperCall","getAttrSymbol","V3_7","getAttrTypeResult","evaluateUnknownImportsAsAny","isFunctionRule","diagMessage","skipPartialUnknownCheck","classLookupFlags","containingClassType","inferReturnTypeIfNecessary","getTypeOfMemberInternal","descriptorResult","baseTypeClass","isAccessedThroughObject","isTypeValid","lookupClass","isAccessedThroughMetaclass","accessMethodName","accessMethod","accessMethodType","boundMethodType","callResult","argumentErrors","setterType","isAsymmetric","getterSymbolResult","setterSymbolResult","getterType","isAsymmetricDescriptorClass","finalTypeDecl","enforceTargetType","applyDescriptorAccessMethod","printObjectTypeForClass","generalAttrType","getAttrType","getBestOverloadForArguments","applyAttributeAccessOverride","adjustTypeArgumentsForVariadicTypeVar","variadicIndex","variadicTypeResults","validateVariadicTypeVarIsUnpacked","validateTypeArg","allowEmptyTuple","allowVariadicTypeVar","allowUnpackedTuples","variadicTypes","tupleObject","typeAliasResult","getTypeArgs","canAssignTypeToTypeVar","aliasTypeArgs","createSpecializedTypeAlias","typeArgTypes","getIndexAccessMagicMethodName","getTypeFromIndexedObjectOrClass","itemExpr","cloneBuiltinClassWithLiteral","createLiteralType","isAnnotatedClass","isGenericClass","isFinalAnnotation","isClassVarAnnotation","isUnspecifiedLength","magicMethodName","itemMethodType","index0Expr","getSliceParameter","valType","positionalArgs","unpackedListArgs","keywordArgs","unpackedDictArgs","positionalIndexType","altArgList","intType","adjFlags","getTypeArgTypeResult","adjustedFlags","getTypeArg","expectedTypes","tupleTypeVarMap","specializedTuple","homogenousType","expectedTypesContainLiterals","possibleUnpackedTuple","firstUnboundedEntryIndex","removedEntries","returnResult","targetClassType","concreteTargetClassType","secondArgType","reportError","enclosingMethod","implicitBindToType","methodTypeInfo","resultIsInstance","mroBase","getTypeFromSuperCall","getTypeFromRevealType","infoMessages","getTypeFromRevealLocals","typeErrors","arg0Value","expectedRevealTypeNode","expectedRevealType","expectedTextNode","expectedText","expectedTextType","getTypeForArgumentExpectingType","expectedRevealTypeText","validateOverloadsWithExpandedTypes","expandedArgTypes","argParamMatches","skipUnknownArgCheck","returnTypes","matchedOverloads","expandedTypesIndex","matchedOverload","argTypeOverride","hasArgTypeOverride","overloadIndex","matchResults","argParams","argParamCopy","effectiveTypeVarMap","validateFunctionArgumentTypesWithExpectedType","finalCallResult","specializedInitSelfType","winningOverloadIndex","matchFunctionArgumentsToParameters","sortOverloadsByBestMatch","matchIndex","validateFunctionArgumentTypes","relevance","expandArgumentUnionTypes","contextFreeArgTypes","unionToExpand","indexToExpand","newExpandedArgTypes","preExpandedTypes","validateConstructorArguments","validatedTypes","reportedErrors","usedMetaclassCallMethod","skipConstructorCheck","expectedSubType","applyExpectedSubtypeForConstructor","adjustedClassType","applyExpectedTypeForConstructor","constructorMethodInfo","newReturnType","applyExpectedTypeForTupleConstructor","transformed","callMemberResult","callMemberType","origFunctionType","getTypeForArgument","reportedPositionalError","argTypeResult","matchingParam","specializedFunctionType","updatedParamList","specializedParam","newParamList","newCallMemberType","newPartialClass","applyPartialTransform","applyConstructorTransform","expectedSubtype","specializedExpectedType","liveTypeVarScopes","expectedTypeArgs","sameClassTypeVarMap","expectedTypeScopeId","synthExpectedTypeArgs","genericExpectedType","synthesizedIndex","syntheticTypeVarMap","synthTypeVar","targetTypeVar","expectedTypeArgValue","transformExpectedTypeForConstructor","exprNode","functionResult","validateFunctionArguments","createNewType","castToType","castFromType","filteredMatchResults","valueExpressionNode","evaluateUsingLastMatchingOverload","lastMatch","validateOverloadedFunctionArguments","firstConstraintArg","firstArg","paramNameNode","paramNameMap","getBooleanValue","createTypeVarType","createTypeVarTupleType","paramSpecName","createParamSpecType","enumClass","createEnumType","typedDictClass","usingDictSyntax","entryDict","annotatedType","createTypedDictType","errorsToDisplay","constructorResult","newClassName","firstArgType","paramDetails","matchedUnpackedListOfUnknownLength","reportedArgError","isVariadicTypeVarFullyMatched","argsNeeded","argsReceived","isPositionalOnly","positionalOnlyLimitIndex","positionParamLimitIndex","varArgListParamIndex","varArgDictParamIndex","paramSpecArgList","paramSpecTarget","hasParamSpecArgsKwargs","varArgListParam","varArgDictParam","keywordParamIndex","positionalArgCount","validateArgTypeParams","trySetActive","active","foundUnpackedListArg","unpackedArgIndex","isParamVariadic","isArgCompatibleWithVariadic","listElementType","advanceToNextArg","funcArg","requiresTypeVarMatching","argument","effectiveParamType","remainingArgCount","remainingParamCount","mapsToVarArgList","firstParamWithDefault","argsRemainingCount","unpackedDictionaryArgType","paramEntry","paramInfoIndex","mappingType","strObjType","mappingTypeVarMap","isValidMappingType","paramNameValue","unassignedParams","missingParamNames","variadicArgs","combinedArg","expectingType","effectiveReturnType","speculativeResults","typeVarMapCopy","tempTypeVarMap","genericReturnType","typeVarMatchingCount","passCount","argResult","validateArgType","skippedOverloadArg","positionalIndex","positionalIndexLimit","validateFunctionArgumentsForParamSpec","typeVarScopeNode","skipUnknownCheck","skipOverloadArg","expectedTypeDiag","concreteParamType","createFunctionFromConstructor","argTypeText","paramTypeText","simplifiedType","getDiagAddendum","suppressPartialUnknown","operatorSupportsComparisonChaining","op","expectedLeftOperandType","expectedOperandType","leftTypeResult","rightTypeResult","customMetaclassSupportsMethod","adjustedRightType","isUnionableType","newUnion","isLeftOptionalType","isLiteralMathAllowed","validateBinaryOperation","leftSubtypeExpanded","leftSubtypeUnexpanded","rightSubtypeExpanded","rightSubtypeUnexpanded","binaryOperator","concreteLeftType","iteratorType","leftLiteralClassName","maxLiteralMathSubtypeCount","leftClassSubtype","rightClassSubtype","isValidResult","leftLiteralValue","rightLiteralValue","convertFunctionToObject","altMagicMethodName","magicMethodSupported","handleSubtype","magicMethodType","functionArgs","expectedDiagAddendum","getKeyAndValueTypesFromDictionary","resultTypedDict","isMatch","keyValue","symbolEntry","assignToTypedDict","builtInDict","dictTypeVarMap","specializedDict","expectedKeyType","expectedValueType","isValueTypeInvariant","specializedKeyType","inferTypeArgFromExpectedType","specializedValueType","fallbackType","forceStrictInference","expectedTypedDictEntries","entryNode","addUnknown","keyTypeResult","valueTypeResult","adjExpectedKeyType","unexpandedTypeResult","dictEntryTypeResult","dictEntryType","builtInListOrSet","specializedListOrSet","expectedEntryType","isExpectedTypeListOrSet","specializedEntryType","isNarrowable","evaluateListComprehensionForIf","iterableTypeResult","expectedValueOrElementType","forIfNode","allowTypeArgList","createSpecialType","paramLimit","isTupleTypeParam","sawUnpacked","noteSawUnpacked","reportedUnpackedError","tupleTypeArgTypes","transformTypeForPossibleEnumClass","getValueType","enumClassInfo","isMemberOfEnumeration","transformTypeForTypeAlias","variadics","typeAliasScopeId","boundTypeVars","specialClassType","baseClassName","evaluateTypesForAssignmentStatement","rightHandType","handleTypingStubAssignment","typeAliasNameNode","typeAliasTypeVar","isSpeculativeTypeAlias","srcTypeResult","typeAliasPlaceholder","evaluateTypesForAugmentedAssignment","destTypeResult","cachedClassType","classSymbol","genericTypeParameters","initSubclassArgs","metaclassNode","exprFlags","constArgValue","prevBaseClass","typeVars","genericTypeVars","missingFromGeneric","genericTypeVar","verifyGenericTypeParameters","innerScope","initMethod","initDeclNode","initParams","genericParams","metaclassType","reportedMetaclassConflict","baseClassMeta","newDecoratedType","applyClassDecorator","baseClassDataTransform","skipSynthesizedInit","hasExistingInitMethod","initSymbol","initSymbolType","skipSynthesizeHash","hashSymbol","hashSymbolType","skipSynthesizeInit","localDataClassEntries","fullDataClassEntries","allAncestorsKnown","allAncestorsAreKnown","existingIndex","updatedEntry","addInheritedDataClassEntries","localEntryTypeEvaluator","variableNameNode","variableTypeEvaluator","hasDefaultValue","isKeywordOnly","includeInInit","isDataclassFieldConstructor","initArg","callTarget","initCall","initParam","kwOnlyArg","defaultArg","aliasArg","variableSymbol","dataClassEntry","insertIndex","oldEntry","firstDefaultValueIndex","entryEvaluator","setMethodInfo","setMethodType","boundSetMethod","transformDescriptorType","synthesizeComparisonMethod","operatorMethod","synthesizeHashFunction","synthesizeHashNone","hashMethod","synthesizeDataClassMethods","isLimitedToSlots","extendedSlotsNames","initSubclassMethodInfo","initSubclassMethodType","newMethodMember","newMethodType","validateInitSubclassArgs","inputClassType","originalClassType","decoratorCallType","dataclassBehaviors","cachedFunctionType","classInfo","getFunctionFlagsFromDecorators","getFunctionFullName","functionSymbol","addGenericParamTypes","paramTypes","typeParamIndex","markParamAccessed","paramsArePositionOnly","isNoneWithoutOptional","adjustedIndex","adjustedAnnotatedType","adjustParameterAnnotatedType","addOptionalAction","offsetOfTypeNode","isPositionOnlyParam","isPositionOnlySeparator","inferParameterType","variadicParamType","paramType1","paramType2","awaitableFunctionType","createAsyncFunction","applyFunctionDecorator","overloadedTypes","prevDecl","prevDeclDeclTypeInfo","addOverloadsToFunctionType","defaultArgType","baseClassMemberInfo","memberDecls","baseClassMethodNode","overrideParam","baseClassParam","baseClassParamAnnotation","inferredParamType","paramValueExpr","isInClass","inputFunctionType","undecoratedType","fset","flagsToClone","fgetType","fsetType","fsetSymbol","setFunction","setParamType","setSymbol","clonePropertyWithSetter","fdel","fdelSymbol","delFunction","delSymbol","clonePropertyWithDeleter","requiredFlag","awaitableReturnType","asyncGeneratorType","coroutineType","inferFunctionReturnType","isAbstract","raiseStatement","raiseType","methodAlwaysRaisesNotImplemented","inferredReturnTypes","inferredYieldTypes","useAwaitableGenerator","yieldNode","inferredYieldType","generatorType","evaluateTypesForForStatement","iteratorTypeResult","iteratedType","evaluateTypesForExceptStatement","getExceptionType","targetType","subType","evaluateTypesForWithStatement","enterMethodName","scopedType","additionalHelp","enterType","memberReturnType","exitMethodName","evaluateTypesForImportAs","symbolNameNode","getAliasedSymbolTypeForName","cachedModuleType","evaluateTypesForImportFromAs","aliasNode","importLookupInfo","evaluateTypesForCaseNode","subjectTypeResult","subjectIsObject","evaluateTypesForImportFrom","getInferredTypeOfDeclaration","lastContextualExpression","isContextual","isNodeContextual","evaluateTypeAnnotationExpression","annotationParent","evaluateTypeOfParameter","nodeToEvaluate","adjType","listComprehension","subnodeType","oldIncompleteCache","nodeId","analyzer","createCodeFlowAnalyzer","startNode","codeFlowAnalyzer","getCodeFlowAnalyzerForReturnTypeInferenceContext","codeFlowResult","aliasedName","concatTypeArgs","typeArg1Type","createCallableType","typeArg0Type","createOptionalType","createClassVarType","createUnionType","createGenericType","createFinalType","createAnnotatedType","createConcatenateType","convertedTypeArgs","createTypeGuardType","createUnpackType","isUsageLegal","createRequiredType","enclosingClassTypeResult","firstParamTypeAnnotation","createSelfType","typeClass","variadicTypeParamIndex","fullTypeParams","paramSpecTypeArg","listTypeArg","adjustedTypeArgType","effectiveSrcType","sourceConstraint","destConstraint","bestConstraintSoFar","constraint","applyTypeArgToTypeVar","allowRequired","interpreterParsesStringLiteral","currentScope","builtInScope","honorCodeFlow","preferGlobalScope","usageScope","declNode","curSymbolWithScope","speculativeNode","getDeclarationFromFunctionNamedParameter","functionScope","paramSymbol","typeAliasNode","applyLoaderActionsToModuleType","importedModuleSymbol","isUnambiguousType","typeSource","inferredType","enumMemberType","nonSlotsDecls","assignedType","isUnambiguousInference","usageNode","useLastDecl","usageNodeId","isFinalVar","declIndexToConsider","includesSpeculativeResult","considerDecl","isDeclInEnumClass","synthesizedType","filteredTypedDecls","inferTypeIfNeeded","contextualReturnType","prevTypeCache","allArgTypesAreUnknown","getFunctionInferredReturnTypeUsingArguments","canAssignClassToProtocol","treatSourceAsInstantiable","destClassFields","genericDestType","genericDestTypeVarMap","selfTypeVarMap","srcClassTypeVarMap","canAssignFlags","srcMemberInfo","isMemberFromMetaclass","destMemberType","srcMemberType","boundSrcFunction","boundDeclaredType","isDestFinal","specializedDestProtocol","verifyTypeArgumentsAssignable","canAssignClassToProtocolInternal","canAssignModuleToProtocol","specializedSrcProtocol","canAssignClass","reportErrorsUsingObjType","promotionList","srcName","curSrcType","curTypeVarMap","ancestorIndex","ancestorType","canAssignTupleTypeArgs","canAssignClassWithTypeArgs","destErrorType","srcErrorType","destErrorTypeText","srcErrorTypeText","destVariadicIndex","destUnboundedIndex","srcUnboundedIndex","requiredSrcArgCount","srcArgsToCapture","removedArgs","variadicTuple","entryDiag","destTypeParams","srcArgIndex","srcTypeArg","destArgIndex","destTypeArg","destTypeParam","assignmentDiag","childDiag","isTypeVarInScope","isContravariant","functionSrcType","existingParam","newParam","canAssignTypeToParamSpec","curEntry","curNarrowTypeBound","curWideTypeBound","constrainedType","concreteSrcType","unconditionalConstraintIndex","srcSubtype","constrainedSubtype","constraintIndexUsed","adjustedConstraint","newNarrowTypeBound","newWideTypeBound","retainLiterals","adjSrcType","updatedType","originalFlags","destTypeVarName","applicableConditions","canAssignConditionalTypeToTypeVar","destSubtype","typeVarSubstitution","canAssignFromUnionType","clonedTypeVarMap","canAssignToUnionType","expandedSrcType","destCallbackType","getCallbackProtocolType","callbackType","srcFunction","typeVarMapClone","canAssign","checkReturnType","destParamDetails","srcParamDetails","srcDetails","destDetails","srcLastToPackIndex","suffixLength","srcPositionalsToPack","srcTupleTypes","srcPositionalsType","adjustSourceParamDetailsForDestVariadic","destTypeVarMap","srcTypeVarMap","targetIncludesParamSpec","destPositionalCount","srcPositionalCount","positionalsToMatch","destParam","srcParam","srcParamType","destParamType","destParamName","srcParamName","destName","canAssignFunctionParameter","nonDefaultSrcParamCount","destArgsType","srcArgsType","destParamMap","srcStartOfNamed","srcParamInfo","destParamInfo","paramDiag","specializedDestParamType","srcParamCount","destParamCount","effectiveSrcTypeVarMap","typeVarEntry","effectiveDestType","requiredMatchParamCount","matchedParamCount","remainingParams","destReturnType","srcReturnType","isReturnTypeCompatible","canAssignFunction","overloadDiag","destOverload","nonAnySubtypes","remainingDestSubtypes","remainingSrcSubtypes","isIncompatible","srcTypeIndex","destTypeIndex","skipSubtype","otherSubtype","otherIndex","bestTypeVarMap","bestTypeVarMapScore","typeVarMapScore","initInfo","convertInitToConstructor","initSubtype","constructorFunction","initOverloads","converted","newInfo","convertNewToConstructor","newSubtype","field","fieldIsPartOfFunction","specializedSrcType","specializedDestType","reverseMatchingFailed","replaceTypeArgsWithAny","replacedTypeArg","expectedTypeArgType","assignedSubtype","declaredSubtype","methodList","firstParamType","baseObj","partiallySpecializeFunctionForBoundClassOrObject","effectiveFirstParamType","newOverloadType","memberTypeFirstParam","memberTypeFirstParamType","nonLiteralFirstParamType","specializedFunction","runWithCancellationToken","isAsymmetricDescriptorAssignment","declsForThisImport","namePartIndex","paramDecl","isWithinTypeAnnotation","requireQuotedAnnotation","isQuoted","previousCategory","addFakeArg","addOneFunctionToSignature","addFunctionToSignature","isObjectInit","isSkipConstructor","baseMethod","overrideMethod","enforceParamNames","baseParamDetails","overrideParamDetails","canOverride","foundParamCountMismatch","baseCount","overrideCount","baseParam","overrideName","baseParamType","baseIsSynthesizedTypeVar","overrideIsSynthesizedTypeVar","baseReturnType","getTypeCacheSize","isReachableRecursionMap","callIsNoReturnCache","isExceptionContextManagerCache","codeFlowInvocations","flowIncompleteGeneration","visitedFlowNodeMap","isFlowNodeReachableRecursive","curFlowNode","contextMgrNode","isExceptionContextManager","labelNode","postFinallyFlowNode","wasGateClosed","callFlowNode","isCallNoReturn","isCompatibleWithConstrainedTypeVar","noReturnTypeCount","subtypeCount","getDeclaredCallBaseType","callSubtype","constructorMember","boundConstructorType","boundCallType","overloadedFunction","functionStatements","foundRaiseNotImplemented","isNotImplementedName","callIsNoReturn","cmType","cmSwallowsExceptions","firstOverload","exitType","getTypeFromWildcardImport","wildcardDecl","declaredTypeOfSymbol","flowNodeTypeCacheSet","subexpressionReferenceKeys","referenceKeyWithSymbolId","flowNodeTypeCache","setCacheEntry","prevIncompleteType","incompleteSubtypes","generationCount","setIncompleteSubtype","isPending","incompleteEntries","getCacheEntry","incrementFlowNodeVisitCount","recursiveVisitCount","incrementFlowNodeConvergenceCount","recursiveConvergenceCount","deleteCacheEntry","evaluateAssignmentFlowNode","nodeForCacheLookup","getTypeFromFlowNode","codeFlowInvocationsAtStart","assignmentFlowNode","flowTypeResult","branchFlowNode","sawIncomplete","loopNode","cacheEntry","isRecursive","visitCount","subtypeEntry","typeNarrowingCallback","flowType","refTypeInfo","exhaustedMatchFlowNode","patternFlowNode","preFinallyFlowNode","wildcardImportFlowNode","startingConstraints","narrowedConstrainedType","narrowConstrainedTypeVarRecursive","newConstraints","constraintsToAdd","conditionFlowNode","priorRemainingConstraints","getCodeFlowEngine","TrackedImport","isAccessed","TrackedImportAs","TrackedImportFrom","ImportSymbolWalker","_accessedImportedSymbols","_treatStringsAsSymbols","_getRecursiveModuleAccessExpression","TypeStubWriter","_stubPath","_sourceFile","_indentAmount","_includeAllImports","_typeStubText","_lineEnd","_tab","_classNestCount","_functionNestCount","_ifNestCount","_emittedSuite","_emitDocString","_trackedImportAs","_trackedImportFrom","_writeFile","_emitDecorators","argString","_printExpression","_emitLine","_emitSuite","_printParameter","isTypeAlias","callBaseType","_printModuleName","trackedImportAs","trackedImportFrom","_increaseIndent","prevEmittedSuite","_printHeaderDocString","treatStringsAsSymbols","_printTrackedImports","importStr","lineEmitted","sortedSymbols","symStr","finalText","Program","initialImportResolver","initialConfigOptions","_extension","_disableChecker","_sourceFileList","_sourceFileMap","_parsedFileCount","_lookUpImport","sourceFileInfo","_getSourceFileInfoFromPath","addTrackedFile","_bindFile","_createNewEvaluator","setConfigOptions","setImportResolver","setTrackedFiles","filePaths","newFileMap","oldFile","isTracked","addTrackedFiles","_removeUnneededFiles","setPreCheckCallback","preCheckCallback","_preCheckCallback","setAllowedThirdPartyImports","_allowedThirdPartyImports","_getImportNameForFile","isOpenByClient","diagnosticsVersion","importedBy","shadows","shadowedBy","_addToSourceFileListAndMap","setFileOpened","chainedFilePath","chainedSourceFile","setFileClosed","_markFileDirtyRecursive","markAllFilesDirty","evenIfContentsAreSame","markDirtyMap","markFilesDirty","getTracked","getOpened","sourceFileCount","_shouldCheckFile","checkOnlyOpenFiles","getSourceFile","getBoundSourceFile","_runEvaluatorWithCancellationToken","openFiles","effectiveMaxTime","openFilesTimeInMs","_checkTypes","noOpenFilesTimeInMs","_isUserCode","indexWorkspace","initiallyParsedSet","dropParseAndBindInfoCreatedForIndexing","_handleMemoryHighUsage","printDependencies","projectRootDir","sortedFiles","zeroImportFiles","sfInfo","relPath","importFile","writeTypeStub","targetImportPath","targetIsSingleFile","typeStubPath","typeStubDir","getTypeForSymbol","_addShadowedFile","stubFile","shadowImplPath","shadowFileInfo","printer","logCalls","run","minimumLoggingThreshold","typeEvaluator","createTypeEvaluatorWithTracker","_getPrintTypeFlags","_parseFile","fileToParse","_isFileNeeded","_updateSourceFileImports","fileToAnalyze","getScopeIfAvailable","builtinsImport","ipythonDisplayImport","_buildModuleSymbolsMap","sourceFileToExclude","userFileOnly","includeIndexUserSymbols","variableKind","buildModuleSymbolsMap","fileToCheck","closureMap","_getImportsRecursive","_detectAndReportImportCycles","importedFileInfo","dependencyChain","dependencyMap","_logImportCycle","circDep","firstFilePath","firstSourceFile","markMap","getTextOnRange","getAutoImports","writtenWord","symbolSubstrLength","smallestEditDistance","editDistance","computeCompletionSimilarity","fileDiagnostics","getDiagnosticsForRange","unfilteredDiagnostics","_createSourceMapper","reportReferencesForPosition","invokedFromUserFile","curSourceFileInfo","locations","declFileInfo","tempResult","loc","getFileIndex","addSymbolsForDocument","reportSymbolsForWorkspace","completionResult","completionResultsList","completionList","extensionInfo","completionListExtension","updateCompletionResults","renameModule","renameModuleProvider","createForModule","_processModuleReferences","moveSymbolAtPosition","newFilePath","createForSymbol","fileOperations","renameSymbolAtPosition","isDefaultWorkspace","getCallForPosition","getTargetDeclaration","getCallForDeclaration","getIncomingCallsForPosition","itemsToAdd","getIncomingCallsForDeclaration","getOutgoingCallsForPosition","getOutgoingCallsForDeclaration","getApiDocs","documentationFormat","internalDocStringConversion","markupKind","docStringConversion","moduleResult","recurseSymbolTables","parents","isDeclarationType","apiDocsParamsInfo","suffix","test_createSourceMapper","filteringText","currentFileInfo","parseResult","memoryUsage","heapUsed","rss","heapSizeInMb","heapUsageInMb","_discardCachedParseResults","_removeSourceFileFromListAndMap","importedFile","indexToRemove","fi","shadowedFile","_isImportNeededRecursive","recursionMap","importerInfo","mapCompiled","implFilePath","stubFileInfo","_isImportAllowed","importer","isImportStubFile","thirdPartyImportAllowed","filesAdded","getThirdPartyImportInfo","isPyTypedPresent","newImportPathMap","thirdPartyTypeInfo","updatedImportMap","oldFilePath","normalizedImportPath","resolvedBuiltinsPath","resolvedIPythonDisplayPath","port","getBackgroundWaiter","CancellationThrottle","curTimestamp","_lastCheckTimestamp","FileBasedToken","cancellationFilePath","isCancelled","_disposeEmitter","shouldCheck","_pipeExists","getCancellationTokenFromId","cancellationId","getCancellationTokenId","convertAnalysisResults","convertDiagnostics","CommandLineOptions","fromVsCodeExtension","fileSpecs","enableAmbientAnalysis","DeferredImpl","_scope","_resolved","_rejected","_promise","rej","_resolve","_reject","_reason","createDeferred","AnalyzerServiceExecutor","languageServiceRootPath","serverSettings","typeStubTargetImportName","trackFiles","commandLineOptions","workspaceRootPath","openFilesOnly","watchForSourceChanges","watchForLibraryChanges","watchForConfigChanges","logLevel","getEffectiveCommandLineOptions","serviceInstance","setOptions","backgroundAnalysis","tempWorkspace","workspaceName","rootUri","disableLanguageServices","disableOrganizeImports","isInitialized","getSettings","runWithOptions","CreateTypeStubCommand","_ls","cmdParams","callingFile","service","cloneService","getWorkspaceForFile","createBackgroundAnalysis","writeTypeStubInBackground","infoMessage","reanalyze","errMessage","QuickActionCommand","docUri","otherArgs","decodeTextDocumentUri","editAction","convertTextEdits","RestartServerCommand","restart","CommandController","_createStub","_restartServer","_quickAction","execute","isLongRunningCommand","NoAccessHost","logInfo","BackgroundAnalysisProgram","_backgroundAnalysis","_maxAnalysisTime","_program","_ensurePartialStubPackages","_reportDiagnosticsForRemovedFiles","initializeFileSystem","updateOpenFileContents","setCompletionCallback","_onAnalysisCompletion","startAnalysis","_indices","test_setIndexing","workspaceIndices","libraryIndices","indices","_getIndices","setWorkspaceIndex","execEnvRoot","libraryPath","setIndex","startIndexing","indexOptions","refreshIndexing","cancelIndexing","getIndexing","getIndex","invalidateAndForceReanalysis","rebuildUserFileIndexing","rebuildLibraryIndexing","indicesMap","fileDiags","visit","visitor","DEFAULT","_scanner","ignoreTrivia","lineNumber","lineStartOffset","tokenLineStartOffset","prevTokenLineStartOffset","scanError","scanHexDigits","exact","scanNext","ch3","scanString","safeLength","commentClosed","scanNumber","isUnknownContentCharacter","setPosition","newPosition","getPosition","scan","getToken","getTokenValue","getTokenOffset","getTokenLength","getTokenStartLine","getTokenStartCharacter","getTokenError","createScanner","toNoArgVisit","toOneArgVisit","onObjectBegin","onObjectProperty","onObjectEnd","onArrayBegin","onArrayEnd","onLiteralValue","onSeparator","onComment","disallowComments","allowTrailingComma","skipUntilAfter","skipUntil","parseString","isValue","allowEmptyContent","needsComma","parseArray","parseObject","tokenValue","parseLiteral","configFileNames","_gitDirectory","_includeFileRegex","AnalyzerService","instanceName","hostFactory","importResolverFactory","maxAnalysisTime","backgroundAnalysisProgramFactory","cancellationProvider","_typeStubTargetIsSingleFile","_requireTrackedFileUpdate","_lastUserInteractionTime","_disposed","_instanceName","_executionRootPath","_importResolverFactory","createImportResolver","_maxAnalysisTimeInForeground","_backgroundAnalysisProgramFactory","_cancellationProvider","_hostFactory","_backgroundAnalysisProgram","backgroundAnalysisProgram","_removeSourceFileWatchers","_removeConfigFileWatcher","_removeLibraryFileWatcher","_clearReloadConfigTimer","_clearReanalysisTimer","_clearLibraryReanalysisTimer","_onCompletionCallback","_commandLineOptions","_getConfigOptions","_applyConfigOptions","includeSpec","_matchIncludeFileSpec","_scheduleReanalysis","getParseResult","getDefinitionForPosition","getTypeDefinitionForPosition","getEvaluator","printStats","fileCount","getConfigOptions","getImportResolver","recordUserInteractionTime","_analyzeTimer","test_getConfigOptions","test_getFileNamesFromFileSpecs","_getFileNamesFromFileSpecs","configFilePath","pyprojectFilePath","_findConfigFile","_findConfigFileHereOrUp","_findPyprojectTomlFile","_findPyprojectTomlFileHereOrUp","_typeCheckingMode","defaultExcludes","configJsonObj","_configFilePath","_parseJsonConfigFile","_parsePyprojectTomlFile","configFileDir","autoExcludeVenv","reportDuplicateSetting","settingName","configValue","settingSource","fullVenvPath","typingsSubdirPath","_getTypeStubFolder","_typeStubTargetPath","updateTrackedFileList","_updateTrackedFileList","_typeStubTargetImportName","errMsg","typeStubInputTargetParts","typingsSubdirHierarchy","ancestor","configPath","_attemptParseFile","currentProperty","currentParent","previousParents","onValue","object","pyprojectPath","attemptCount","tool","pyright","parseCallback","parseAttemptCount","_reportConfigParseError","parseFailed","fileMap","matchedFiles","_matchFiles","markFilesDirtyUnconditionally","filesToImport","finalResolvedPath","isFinalPathFile","isFinalPathInitFile","rootPackagePath","fileList","envMarkers","loggedLongOperationError","visitDirectoryUnchecked","includeRegExp","_isInExcludePath","visitDirectory","seenDirs","realDirPath","foundFileSpec","_shouldIncludeFile","_sourceFileWatcher","_updateSourceFileWatchers","_watchForSourceChanges","spec","_verboseOutput","isIgnored","stats","fileNameSplit","isTemporaryFile","_libraryFileWatcher","_updateLibraryFileWatcher","_watchForLibraryChanges","watchList","_scheduleLibraryAnalysis","_libraryReanalysisTimer","_configFileWatcher","_updateConfigFileWatcher","_watchForConfigChanges","_scheduleReloadConfigFile","_reloadConfigTimer","_reloadConfigFile","requireTrackedFileUpdate","_backgroundAnalysisCancellationSource","timeSinceLastUserInteractionInMs","timeUntilNextAnalysisInMs","excludePaths","excl","CommandResult","ProgressReportTracker","_isDisplayingProgress","isEnabled","UriParser","decodeTextDocumentPosition","nullProgressReporter","SortedMap","comparer","iterable","_keys","_values","_copyOnWrite","_comparer","_order","getIterator","nextResult","closeIterator","_writePreamble","_writePostScript","_orderedRemoveItemAt","_getIterationOrder","order","Metadata","_parent","_parentVersion","_escapeKey","_undefinedValue","escapedKey","_unescapeKey","IO_ERROR_MESSAGE","EACCES","EIO","ENOENT","EEXIST","ELOOP","ENOTDIR","EISDIR","EBADF","EINVAL","ENOTEMPTY","EPERM","EROFS","createIOError","invalidRootComponentRegExp","getInvalidRootComponentRegExp","invalidNavigableComponentRegExp","invalidNavigableComponentWithWildcardsRegExp","invalidNonNavigableComponentRegExp","invalidNonNavigableComponentWithWildcardsRegExp","extRegExp","validate","trailing","hasTrailingSeparator","hasDirname","hasBasename","hasExtname","invalidComponentRegExp","validateComponents","MODULE_PATH","devCount","inoCount","TestFileSystem","_lazy","_tmpfileCounter","time","meta","stringComparer","_time","_applyFiles","links","mkdirpSync","_cwd","_shadowRoot","isFrozen","makeReadonly","snapshot","isReadonly","_dirStack","shadow","getTime","filemeta","_walk","_filemeta","parentMeta","shadowRoot","pushd","popd","scanSync","axis","traversal","_scan","_stat","lscanSync","postfix","noFollow","accept","traverse","childpath","mountSync","resolver","existingNode","_mknod","dev","S_IFDIR","_addLink","rimrafSync","lstatSync","rmdirSync","_mkdir","getFileListing","printLinks","marker","_getLinks","isSymlink","symlink","_getRootLinks","debugPrint","utimesSync","atime","mtime","atimeMs","mtimeMs","ctimeMs","realpath","Stats","ino","nlink","_getSize","birthtimeMs","makeDirEnt","_removeLink","linkSync","oldpath","newpath","renameSync","oldParent","oldParentLinks","oldBasename","newParent","newParentLinks","newBasename","_replaceLink","symlinkSync","linkpath","S_IFLNK","_getBuffer","S_IFREG","Int8Array","bufferFrom","differences","_rootDiff","_trackCreatedInodes","changed","changedLinks","baseLinks","_trackDeletedInodes","hasChanges","Rmdir","Unlink","changedNode","baseNode","_directoryDiff","_fileDiff","_symlinkDiff","_trackCreatedInode","_diffWorker","isEmptyNonShadowedDirectory","Directory","isEmptyNonShadowedFile","changedBuffer","baseBuffer","includeChangedFileWithSameContent","SameFileContentFile","Symlink","S_IFMT","oldLinks","oldName","newLinks","_copyShadowLinks","_getShadow","step","retry","lastStep","trapError","deferred","_applyFilesWorker","_applyFileExtendedOptions","Link","normalizeFileSetEntry","metaAndEncoding","rdev","blksize","blocks","uid","gid","ctime","birthtime","WorkspaceMap","_defaultWorkspacePath","getNonDefaultWorkspaces","workspaces","bestRootPath","bestInstance","defaultWorkspace","workspaceNames","createAnalyzerService","updateSettingsForWorkspace","maxAnalysisTimeInForeground","PyrightServer","_serverOptions","_lastTriggerKind","hasConfigurationCapability","hasVisualStudioExtensionsCapability","hasWorkspaceFoldersCapability","hasWatchFileCapability","hasActiveParameterCapability","hasSignatureLabelOffsetCapability","hasHierarchicalDocumentSymbolCapability","hasWindowProgressCapability","hasGoToDeclarationCapability","hasDocumentChangeCapability","hasDocumentAnnotationCapability","hoverContentFormat","completionDocFormat","completionSupportsSnippet","signatureDocFormat","supportsDeprecatedDiagnosticTag","supportsUnnecessaryDiagnosticTag","completionItemResolveSupportsAdditionalTextEdits","diagnosticTextSettings","__rootDirectory","rootDirectory","productName","_workspaceMap","workspaceMap","_fileWatcherProvider","fileWatcherProvider","_uriParser","setupConnection","supportedCommands","supportedCodeActions","_progressReporter","createProgressReporter","scopeUri","_defaultClientConfig","isOpenFilesOnly","diagnosticMode","getSeverityOverrides","enumValue","getDiagnosticRuleName","createBackgroundAnalysisProgram","setExtension","createHost","onAnalysisCompletedHandler","executeCodeAction","workDoneReporter","resultReporter","callHierarchy","initializationOptions","didChangeWatchedFiles","dynamicRegistration","supportsVisualStudioExtensions","signatureHelp","signatureInformation","activeParameterSupport","parameterInformation","labelOffsetSupport","documentSymbol","hierarchicalDocumentSymbolSupport","resourceOperations","changeAnnotationSupport","_getCompatibleMarkupKind","hover","contentFormat","completion","snippetSupport","supportedDiagnosticTags","publishDiagnostics","tagSupport","valueSet","tag","resolveSupport","properties","createWorkspaceServiceInstance","updateSettingsForAllWorkspaces","definitionProvider","declarationProvider","typeDefinitionProvider","referencesProvider","documentSymbolProvider","workspaceSymbolProvider","hoverProvider","documentHighlightProvider","renameProvider","completionProvider","triggerCharacters","resolveProvider","signatureHelpProvider","codeActionProvider","codeActionKinds","executeCommandProvider","commands","callHierarchyProvider","onDidChangeWorkspaceFolders","removed","added","newWorkspace","watchers","globPattern","settings","getDefinitions","PreferSource","getDefinitionsFunc","_pendingFindAllRefsCancellationSource","_getProgressReporter","convertToFlatSymbols","disableWorkspaceSymbol","hoverResults","markupString","convertHoverResults","signatureHelpResults","isActive","activeSignature","isRetrigger","triggerKind","prevActiveSignature","activeSignatureHelp","completionIncomplete","getWorkspaceCompletionsForPosition","getCompletionOptions","resolveWorkspaceCompletionItem","workspaceEdits","convertWorkspaceEdits","callItem","callItems","eventType","_pendingCommandCancellationSource","executeCommand","_convertDiagnostics","fileDiag","_sendDiagnostics","progressMessage","updateOptionsAndRestartService","convertLogLevel","logLevelValue","clientSupportedFormats","serverSupportedFormats","serverInitiatedReporter","diags","convertedDiags","convertCategoryToSeverity","vsDiag","ruleDocUrl","getDocumentationUrlForDiagnosticRule","relatedInfo","expandPathVariables","trimmedName","HOME","USERNAME","VIRTUAL_ENV","_controller","_initialFiles","pythonSection","pythonAnalysisSection","pyrightSection","BrowserBackgroundAnalysis","codeActions","typeStubDiag","addOptionalDiag","addMissingOptionalAction","getCodeActionsForPosition","setup","worker","_worker","onMessage","requestType","logData","enqueueRequest","_startOrResumeAnalysis","port1","port2","disposeCancellationToken","waiter","request","initialData","runner","createWorker","BrowserBackgroundAnalysisRunner","folderName","_realFs","createRealFileSystem","getConsole","initializationData","_analyzeOneChunk","jsonObject","createConfigOptionsFrom","_reportDiagnostics","_analysisPaused","processIndexing","analysisDone","reportIndex","BrowserWorkersHost","_parentPort","BrowserMessagePort","channel","MessageChannel","delegate","unwrap","transferList","unwrapForSend","MessagePort","app"],"mappings":";yDAEAA,EAAQC,WAuCR,SAAqBC,GACnB,IAAIC,EAAOC,EAAQF,GACfG,EAAWF,EAAK,GAChBG,EAAkBH,EAAK,GAC3B,OAAuC,GAA9BE,EAAWC,GAAuB,EAAKA,GA1ClDN,EAAQO,YAiDR,SAAsBL,GACpB,IAAIM,EAcAC,EAbAN,EAAOC,EAAQF,GACfG,EAAWF,EAAK,GAChBG,EAAkBH,EAAK,GAEvBO,EAAM,IAAIC,EAVhB,SAAsBT,EAAKG,EAAUC,GACnC,OAAuC,GAA9BD,EAAWC,GAAuB,EAAKA,EAS9BM,CAAYV,EAAKG,EAAUC,IAEzCO,EAAU,EAGVC,EAAMR,EAAkB,EACxBD,EAAW,EACXA,EAGJ,IAAKI,EAAI,EAAGA,EAAIK,EAAKL,GAAK,EACxBD,EACGO,EAAUb,EAAIc,WAAWP,KAAO,GAChCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,GACpCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,EACrCM,EAAUb,EAAIc,WAAWP,EAAI,IAC/BC,EAAIG,KAAcL,GAAO,GAAM,IAC/BE,EAAIG,KAAcL,GAAO,EAAK,IAC9BE,EAAIG,KAAmB,IAANL,EAmBnB,OAhBwB,IAApBF,IACFE,EACGO,EAAUb,EAAIc,WAAWP,KAAO,EAChCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,EACvCC,EAAIG,KAAmB,IAANL,GAGK,IAApBF,IACFE,EACGO,EAAUb,EAAIc,WAAWP,KAAO,GAChCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,EACpCM,EAAUb,EAAIc,WAAWP,EAAI,KAAO,EACvCC,EAAIG,KAAcL,GAAO,EAAK,IAC9BE,EAAIG,KAAmB,IAANL,GAGZE,GA3FTV,EAAQiB,cAkHR,SAAwBC,GAQtB,IAPA,IAAIV,EACAM,EAAMI,EAAMC,OACZC,EAAaN,EAAM,EACnBO,EAAQ,GACRC,EAAiB,MAGZb,EAAI,EAAGc,EAAOT,EAAMM,EAAYX,EAAIc,EAAMd,GAAKa,EACtDD,EAAMG,KAAKC,EAAYP,EAAOT,EAAIA,EAAIa,EAAkBC,EAAOA,EAAQd,EAAIa,IAqB7E,OAjBmB,IAAfF,GACFZ,EAAMU,EAAMJ,EAAM,GAClBO,EAAMG,KACJE,EAAOlB,GAAO,GACdkB,EAAQlB,GAAO,EAAK,IACpB,OAEsB,IAAfY,IACTZ,GAAOU,EAAMJ,EAAM,IAAM,GAAKI,EAAMJ,EAAM,GAC1CO,EAAMG,KACJE,EAAOlB,GAAO,IACdkB,EAAQlB,GAAO,EAAK,IACpBkB,EAAQlB,GAAO,EAAK,IACpB,MAIGa,EAAMM,KAAK,KAzIpB,IALA,IAAID,EAAS,GACTX,EAAY,GACZJ,EAA4B,oBAAfiB,WAA6BA,WAAaC,MAEvDC,EAAO,mEACFrB,EAAI,EAAGK,EAAMgB,EAAKX,OAAQV,EAAIK,IAAOL,EAC5CiB,EAAOjB,GAAKqB,EAAKrB,GACjBM,EAAUe,EAAKd,WAAWP,IAAMA,EAQlC,SAASL,EAASF,GAChB,IAAIY,EAAMZ,EAAIiB,OAEd,GAAIL,EAAM,EAAI,EACZ,MAAM,IAAIiB,MAAM,kDAKlB,IAAI1B,EAAWH,EAAI8B,QAAQ,KAO3B,OANkB,IAAd3B,IAAiBA,EAAWS,GAMzB,CAACT,EAJcA,IAAaS,EAC/B,EACA,EAAKT,EAAW,GAsEtB,SAASoB,EAAaP,EAAOe,EAAOC,GAGlC,IAFA,IAAI1B,EARoB2B,EASpBC,EAAS,GACJ3B,EAAIwB,EAAOxB,EAAIyB,EAAKzB,GAAK,EAChCD,GACIU,EAAMT,IAAM,GAAM,WAClBS,EAAMT,EAAI,IAAM,EAAK,QACP,IAAfS,EAAMT,EAAI,IACb2B,EAAOZ,KAdFE,GADiBS,EAeM3B,IAdT,GAAK,IACxBkB,EAAOS,GAAO,GAAK,IACnBT,EAAOS,GAAO,EAAI,IAClBT,EAAa,GAANS,IAaT,OAAOC,EAAOT,KAAK,IAjGrBZ,EAAU,IAAIC,WAAW,IAAM,GAC/BD,EAAU,IAAIC,WAAW,IAAM,I,4BCT/B,MAAMqB,EAAS,EAAQ,MACjBC,EAAU,EAAQ,KAClBC,EACe,mBAAXC,QAAkD,mBAAlBA,OAAY,IAChDA,OAAY,IAAE,8BACd,KAENxC,EAAQyC,OAASA,EACjBzC,EAAQ0C,WAyTR,SAAqBvB,GAInB,OAHKA,GAAUA,IACbA,EAAS,GAEJsB,EAAOE,OAAOxB,IA5TvBnB,EAAQ4C,kBAAoB,GAE5B,MAAMC,EAAe,WAwDrB,SAASC,EAAc3B,GACrB,GAAIA,EAAS0B,EACX,MAAM,IAAIE,WAAW,cAAgB5B,EAAS,kCAGhD,MAAM6B,EAAM,IAAIpB,WAAWT,GAE3B,OADA8B,OAAOC,eAAeF,EAAKP,EAAOU,WAC3BH,EAaT,SAASP,EAAQW,EAAKC,EAAkBlC,GAEtC,GAAmB,iBAARiC,EAAkB,CAC3B,GAAgC,iBAArBC,EACT,MAAM,IAAIC,UACR,sEAGJ,OAAOC,EAAYH,GAErB,OAAOI,EAAKJ,EAAKC,EAAkBlC,GAKrC,SAASqC,EAAMC,EAAOJ,EAAkBlC,GACtC,GAAqB,iBAAVsC,EACT,OAqHJ,SAAqBC,EAAQC,GAK3B,GAJwB,iBAAbA,GAAsC,KAAbA,IAClCA,EAAW,SAGRlB,EAAOmB,WAAWD,GACrB,MAAM,IAAIL,UAAU,qBAAuBK,GAG7C,MAAMxC,EAAwC,EAA/BlB,EAAWyD,EAAQC,GAClC,IAAIX,EAAMF,EAAa3B,GAEvB,MAAM0C,EAASb,EAAIc,MAAMJ,EAAQC,GASjC,OAPIE,IAAW1C,IAIb6B,EAAMA,EAAIe,MAAM,EAAGF,IAGdb,EA1IEgB,CAAWP,EAAOJ,GAG3B,GAAIY,YAAYC,OAAOT,GACrB,OAkJJ,SAAwBU,GACtB,GAAIC,EAAWD,EAAWvC,YAAa,CACrC,MAAMyC,EAAO,IAAIzC,WAAWuC,GAC5B,OAAOG,EAAgBD,EAAKE,OAAQF,EAAKG,WAAYH,EAAKpE,YAE5D,OAAOwE,EAAcN,GAvJZO,CAAcjB,GAGvB,GAAa,MAATA,EACF,MAAM,IAAIH,UACR,yHACiDG,GAIrD,GAAIW,EAAWX,EAAOQ,cACjBR,GAASW,EAAWX,EAAMc,OAAQN,aACrC,OAAOK,EAAgBb,EAAOJ,EAAkBlC,GAGlD,GAAiC,oBAAtBwD,oBACNP,EAAWX,EAAOkB,oBAClBlB,GAASW,EAAWX,EAAMc,OAAQI,oBACrC,OAAOL,EAAgBb,EAAOJ,EAAkBlC,GAGlD,GAAqB,iBAAVsC,EACT,MAAM,IAAIH,UACR,yEAIJ,MAAMsB,EAAUnB,EAAMmB,SAAWnB,EAAMmB,UACvC,GAAe,MAAXA,GAAmBA,IAAYnB,EACjC,OAAOhB,EAAOe,KAAKoB,EAASvB,EAAkBlC,GAGhD,MAAM0D,EAkJR,SAAqBC,GACnB,GAAIrC,EAAOsC,SAASD,GAAM,CACxB,MAAMhE,EAA4B,EAAtBkE,EAAQF,EAAI3D,QAClB6B,EAAMF,EAAahC,GAEzB,OAAmB,IAAfkC,EAAI7B,QAIR2D,EAAIT,KAAKrB,EAAK,EAAG,EAAGlC,GAHXkC,EAOX,YAAmBiC,IAAfH,EAAI3D,OACoB,iBAAf2D,EAAI3D,QAAuB+D,EAAYJ,EAAI3D,QAC7C2B,EAAa,GAEf2B,EAAcK,GAGN,WAAbA,EAAIK,MAAqBtD,MAAMuD,QAAQN,EAAIO,MACtCZ,EAAcK,EAAIO,WAD3B,EAtKUC,CAAW7B,GACrB,GAAIoB,EAAG,OAAOA,EAEd,GAAsB,oBAAXrC,QAAgD,MAAtBA,OAAO+C,aACH,mBAA9B9B,EAAMjB,OAAO+C,aACtB,OAAO9C,EAAOe,KAAKC,EAAMjB,OAAO+C,aAAa,UAAWlC,EAAkBlC,GAG5E,MAAM,IAAImC,UACR,yHACiDG,GAqBrD,SAAS+B,EAAYC,GACnB,GAAoB,iBAATA,EACT,MAAM,IAAInC,UAAU,0CACf,GAAImC,EAAO,EAChB,MAAM,IAAI1C,WAAW,cAAgB0C,EAAO,kCA4BhD,SAASlC,EAAakC,GAEpB,OADAD,EAAWC,GACJ3C,EAAa2C,EAAO,EAAI,EAAoB,EAAhBT,EAAQS,IAwC7C,SAAShB,EAAeiB,GACtB,MAAMvE,EAASuE,EAAMvE,OAAS,EAAI,EAA4B,EAAxB6D,EAAQU,EAAMvE,QAC9C6B,EAAMF,EAAa3B,GACzB,IAAK,IAAIV,EAAI,EAAGA,EAAIU,EAAQV,GAAK,EAC/BuC,EAAIvC,GAAgB,IAAXiF,EAAMjF,GAEjB,OAAOuC,EAWT,SAASsB,EAAiBoB,EAAOlB,EAAYrD,GAC3C,GAAIqD,EAAa,GAAKkB,EAAMzF,WAAauE,EACvC,MAAM,IAAIzB,WAAW,wCAGvB,GAAI2C,EAAMzF,WAAauE,GAAcrD,GAAU,GAC7C,MAAM,IAAI4B,WAAW,wCAGvB,IAAIC,EAYJ,OAVEA,OADiBiC,IAAfT,QAAuCS,IAAX9D,EACxB,IAAIS,WAAW8D,QACDT,IAAX9D,EACH,IAAIS,WAAW8D,EAAOlB,GAEtB,IAAI5C,WAAW8D,EAAOlB,EAAYrD,GAI1C8B,OAAOC,eAAeF,EAAKP,EAAOU,WAE3BH,EA4BT,SAASgC,EAAS7D,GAGhB,GAAIA,GAAU0B,EACZ,MAAM,IAAIE,WAAW,0DACaF,EAAa8C,SAAS,IAAM,UAEhE,OAAgB,EAATxE,EAuGT,SAASlB,EAAYyD,EAAQC,GAC3B,GAAIlB,EAAOsC,SAASrB,GAClB,OAAOA,EAAOvC,OAEhB,GAAI8C,YAAYC,OAAOR,IAAWU,EAAWV,EAAQO,aACnD,OAAOP,EAAOzD,WAEhB,GAAsB,iBAAXyD,EACT,MAAM,IAAIJ,UACR,kGAC0BI,GAI9B,MAAM5C,EAAM4C,EAAOvC,OACbyE,EAAaC,UAAU1E,OAAS,IAAsB,IAAjB0E,UAAU,GACrD,IAAKD,GAAqB,IAAR9E,EAAW,OAAO,EAGpC,IAAIgF,GAAc,EAClB,OACE,OAAQnC,GACN,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAO7C,EACT,IAAK,OACL,IAAK,QACH,OAAOiF,EAAYrC,GAAQvC,OAC7B,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAa,EAANL,EACT,IAAK,MACH,OAAOA,IAAQ,EACjB,IAAK,SACH,OAAOkF,EAActC,GAAQvC,OAC/B,QACE,GAAI2E,EACF,OAAOF,GAAa,EAAIG,EAAYrC,GAAQvC,OAE9CwC,GAAY,GAAKA,GAAUsC,cAC3BH,GAAc,GAMtB,SAASI,EAAcvC,EAAU1B,EAAOC,GACtC,IAAI4D,GAAc,EAclB,SALcb,IAAVhD,GAAuBA,EAAQ,KACjCA,EAAQ,GAINA,EAAQkE,KAAKhF,OACf,MAAO,GAOT,SAJY8D,IAAR/C,GAAqBA,EAAMiE,KAAKhF,UAClCe,EAAMiE,KAAKhF,QAGTe,GAAO,EACT,MAAO,GAOT,IAHAA,KAAS,KACTD,KAAW,GAGT,MAAO,GAKT,IAFK0B,IAAUA,EAAW,UAGxB,OAAQA,GACN,IAAK,MACH,OAAOyC,EAASD,KAAMlE,EAAOC,GAE/B,IAAK,OACL,IAAK,QACH,OAAOmE,EAAUF,KAAMlE,EAAOC,GAEhC,IAAK,QACH,OAAOoE,EAAWH,KAAMlE,EAAOC,GAEjC,IAAK,SACL,IAAK,SACH,OAAOqE,EAAYJ,KAAMlE,EAAOC,GAElC,IAAK,SACH,OAAOsE,EAAYL,KAAMlE,EAAOC,GAElC,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOuE,EAAaN,KAAMlE,EAAOC,GAEnC,QACE,GAAI4D,EAAa,MAAM,IAAIxC,UAAU,qBAAuBK,GAC5DA,GAAYA,EAAW,IAAIsC,cAC3BH,GAAc,GAatB,SAASY,EAAM7B,EAAG8B,EAAGC,GACnB,MAAMnG,EAAIoE,EAAE8B,GACZ9B,EAAE8B,GAAK9B,EAAE+B,GACT/B,EAAE+B,GAAKnG,EA4IT,SAASoG,EAAsBtC,EAAQuC,EAAKtC,EAAYb,EAAUoD,GAEhE,GAAsB,IAAlBxC,EAAOpD,OAAc,OAAQ,EAmBjC,GAhB0B,iBAAfqD,GACTb,EAAWa,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,GAAc,aACvBA,GAAc,YAGZU,EADJV,GAAcA,KAGZA,EAAauC,EAAM,EAAKxC,EAAOpD,OAAS,GAItCqD,EAAa,IAAGA,EAAaD,EAAOpD,OAASqD,GAC7CA,GAAcD,EAAOpD,OAAQ,CAC/B,GAAI4F,EAAK,OAAQ,EACZvC,EAAaD,EAAOpD,OAAS,OAC7B,GAAIqD,EAAa,EAAG,CACzB,IAAIuC,EACC,OAAQ,EADJvC,EAAa,EAUxB,GALmB,iBAARsC,IACTA,EAAMrE,EAAOe,KAAKsD,EAAKnD,IAIrBlB,EAAOsC,SAAS+B,GAElB,OAAmB,IAAfA,EAAI3F,QACE,EAEH6F,EAAazC,EAAQuC,EAAKtC,EAAYb,EAAUoD,GAClD,GAAmB,iBAARD,EAEhB,OADAA,GAAY,IACgC,mBAAjClF,WAAWuB,UAAUnB,QAC1B+E,EACKnF,WAAWuB,UAAUnB,QAAQiF,KAAK1C,EAAQuC,EAAKtC,GAE/C5C,WAAWuB,UAAU+D,YAAYD,KAAK1C,EAAQuC,EAAKtC,GAGvDwC,EAAazC,EAAQ,CAACuC,GAAMtC,EAAYb,EAAUoD,GAG3D,MAAM,IAAIzD,UAAU,wCAGtB,SAAS0D,EAActG,EAAKoG,EAAKtC,EAAYb,EAAUoD,GACrD,IA0BItG,EA1BA0G,EAAY,EACZC,EAAY1G,EAAIS,OAChBkG,EAAYP,EAAI3F,OAEpB,QAAiB8D,IAAbtB,IAEe,UADjBA,EAAW2D,OAAO3D,GAAUsC,gBACY,UAAbtC,GACV,YAAbA,GAAuC,aAAbA,GAAyB,CACrD,GAAIjD,EAAIS,OAAS,GAAK2F,EAAI3F,OAAS,EACjC,OAAQ,EAEVgG,EAAY,EACZC,GAAa,EACbC,GAAa,EACb7C,GAAc,EAIlB,SAAS+C,EAAMvE,EAAKvC,GAClB,OAAkB,IAAd0G,EACKnE,EAAIvC,GAEJuC,EAAIwE,aAAa/G,EAAI0G,GAKhC,GAAIJ,EAAK,CACP,IAAIU,GAAc,EAClB,IAAKhH,EAAI+D,EAAY/D,EAAI2G,EAAW3G,IAClC,GAAI8G,EAAK7G,EAAKD,KAAO8G,EAAKT,GAAqB,IAAhBW,EAAoB,EAAIhH,EAAIgH,IAEzD,IADoB,IAAhBA,IAAmBA,EAAahH,GAChCA,EAAIgH,EAAa,IAAMJ,EAAW,OAAOI,EAAaN,OAEtC,IAAhBM,IAAmBhH,GAAKA,EAAIgH,GAChCA,GAAc,OAKlB,IADIjD,EAAa6C,EAAYD,IAAW5C,EAAa4C,EAAYC,GAC5D5G,EAAI+D,EAAY/D,GAAK,EAAGA,IAAK,CAChC,IAAIiH,GAAQ,EACZ,IAAK,IAAIC,EAAI,EAAGA,EAAIN,EAAWM,IAC7B,GAAIJ,EAAK7G,EAAKD,EAAIkH,KAAOJ,EAAKT,EAAKa,GAAI,CACrCD,GAAQ,EACR,MAGJ,GAAIA,EAAO,OAAOjH,EAItB,OAAQ,EAeV,SAASmH,EAAU5E,EAAKU,EAAQmE,EAAQ1G,GACtC0G,EAASC,OAAOD,IAAW,EAC3B,MAAME,EAAY/E,EAAI7B,OAAS0G,EAC1B1G,GAGHA,EAAS2G,OAAO3G,IACH4G,IACX5G,EAAS4G,GAJX5G,EAAS4G,EAQX,MAAMC,EAAStE,EAAOvC,OAKtB,IAAIV,EACJ,IAJIU,EAAS6G,EAAS,IACpB7G,EAAS6G,EAAS,GAGfvH,EAAI,EAAGA,EAAIU,IAAUV,EAAG,CAC3B,MAAMwH,EAASC,SAASxE,EAAOyE,OAAW,EAAJ1H,EAAO,GAAI,IACjD,GAAIyE,EAAY+C,GAAS,OAAOxH,EAChCuC,EAAI6E,EAASpH,GAAKwH,EAEpB,OAAOxH,EAGT,SAAS2H,EAAWpF,EAAKU,EAAQmE,EAAQ1G,GACvC,OAAOkH,EAAWtC,EAAYrC,EAAQV,EAAI7B,OAAS0G,GAAS7E,EAAK6E,EAAQ1G,GAG3E,SAASmH,EAAYtF,EAAKU,EAAQmE,EAAQ1G,GACxC,OAAOkH,EAypCT,SAAuBE,GACrB,MAAMC,EAAY,GAClB,IAAK,IAAI/H,EAAI,EAAGA,EAAI8H,EAAIpH,SAAUV,EAEhC+H,EAAUhH,KAAyB,IAApB+G,EAAIvH,WAAWP,IAEhC,OAAO+H,EA/pCWC,CAAa/E,GAASV,EAAK6E,EAAQ1G,GAGvD,SAASuH,EAAa1F,EAAKU,EAAQmE,EAAQ1G,GACzC,OAAOkH,EAAWrC,EAActC,GAASV,EAAK6E,EAAQ1G,GAGxD,SAASwH,EAAW3F,EAAKU,EAAQmE,EAAQ1G,GACvC,OAAOkH,EA0pCT,SAAyBE,EAAKK,GAC5B,IAAIC,EAAGC,EAAIC,EACX,MAAMP,EAAY,GAClB,IAAK,IAAI/H,EAAI,EAAGA,EAAI8H,EAAIpH,WACjByH,GAAS,GAAK,KADanI,EAGhCoI,EAAIN,EAAIvH,WAAWP,GACnBqI,EAAKD,GAAK,EACVE,EAAKF,EAAI,IACTL,EAAUhH,KAAKuH,GACfP,EAAUhH,KAAKsH,GAGjB,OAAON,EAvqCWQ,CAAetF,EAAQV,EAAI7B,OAAS0G,GAAS7E,EAAK6E,EAAQ1G,GA+E9E,SAASqF,EAAaxD,EAAKf,EAAOC,GAChC,OAAc,IAAVD,GAAeC,IAAQc,EAAI7B,OACtBkB,EAAOpB,cAAc+B,GAErBX,EAAOpB,cAAc+B,EAAIe,MAAM9B,EAAOC,IAIjD,SAASmE,EAAWrD,EAAKf,EAAOC,GAC9BA,EAAM+G,KAAKC,IAAIlG,EAAI7B,OAAQe,GAC3B,MAAMiH,EAAM,GAEZ,IAAI1I,EAAIwB,EACR,KAAOxB,EAAIyB,GAAK,CACd,MAAMkH,EAAYpG,EAAIvC,GACtB,IAAI4I,EAAY,KACZC,EAAoBF,EAAY,IAChC,EACCA,EAAY,IACT,EACCA,EAAY,IACT,EACA,EAEZ,GAAI3I,EAAI6I,GAAoBpH,EAAK,CAC/B,IAAIqH,EAAYC,EAAWC,EAAYC,EAEvC,OAAQJ,GACN,KAAK,EACCF,EAAY,MACdC,EAAYD,GAEd,MACF,KAAK,EACHG,EAAavG,EAAIvC,EAAI,GACO,MAAV,IAAb8I,KACHG,GAA6B,GAAZN,IAAqB,EAAoB,GAAbG,EACzCG,EAAgB,MAClBL,EAAYK,IAGhB,MACF,KAAK,EACHH,EAAavG,EAAIvC,EAAI,GACrB+I,EAAYxG,EAAIvC,EAAI,GACQ,MAAV,IAAb8I,IAAsD,MAAV,IAAZC,KACnCE,GAA6B,GAAZN,IAAoB,IAAoB,GAAbG,IAAsB,EAAmB,GAAZC,EACrEE,EAAgB,OAAUA,EAAgB,OAAUA,EAAgB,SACtEL,EAAYK,IAGhB,MACF,KAAK,EACHH,EAAavG,EAAIvC,EAAI,GACrB+I,EAAYxG,EAAIvC,EAAI,GACpBgJ,EAAazG,EAAIvC,EAAI,GACO,MAAV,IAAb8I,IAAsD,MAAV,IAAZC,IAAsD,MAAV,IAAbC,KAClEC,GAA6B,GAAZN,IAAoB,IAAqB,GAAbG,IAAsB,IAAmB,GAAZC,IAAqB,EAAoB,GAAbC,EAClGC,EAAgB,OAAUA,EAAgB,UAC5CL,EAAYK,KAMJ,OAAdL,GAGFA,EAAY,MACZC,EAAmB,GACVD,EAAY,QAErBA,GAAa,MACbF,EAAI3H,KAAK6H,IAAc,GAAK,KAAQ,OACpCA,EAAY,MAAqB,KAAZA,GAGvBF,EAAI3H,KAAK6H,GACT5I,GAAK6I,EAGP,OAQF,SAAgCK,GAC9B,MAAM7I,EAAM6I,EAAWxI,OACvB,GAAIL,GAAO8I,EACT,OAAOtC,OAAOuC,aAAaC,MAAMxC,OAAQqC,GAI3C,IAAIR,EAAM,GACN1I,EAAI,EACR,KAAOA,EAAIK,GACTqI,GAAO7B,OAAOuC,aAAaC,MACzBxC,OACAqC,EAAW5F,MAAMtD,EAAGA,GAAKmJ,IAG7B,OAAOT,EAvBAY,CAAsBZ,GA1+B/BnJ,EAAQgK,WAAanH,EAgBrBJ,EAAOwH,oBAUP,WAEE,IACE,MAAMvJ,EAAM,IAAIkB,WAAW,GACrBsI,EAAQ,CAAEC,IAAK,WAAc,OAAO,KAG1C,OAFAlH,OAAOC,eAAegH,EAAOtI,WAAWuB,WACxCF,OAAOC,eAAexC,EAAKwJ,GACN,KAAdxJ,EAAIyJ,MACX,MAAOC,GACP,OAAO,GAnBkBC,GAExB5H,EAAOwH,qBAA0C,oBAAZK,SACb,mBAAlBA,QAAQC,OACjBD,QAAQC,MACN,iJAkBJtH,OAAOuH,eAAe/H,EAAOU,UAAW,SAAU,CAChDsH,YAAY,EACZC,IAAK,WACH,GAAKjI,EAAOsC,SAASoB,MACrB,OAAOA,KAAK5B,UAIhBtB,OAAOuH,eAAe/H,EAAOU,UAAW,SAAU,CAChDsH,YAAY,EACZC,IAAK,WACH,GAAKjI,EAAOsC,SAASoB,MACrB,OAAOA,KAAK3B,cAqChB/B,EAAOkI,SAAW,KA8DlBlI,EAAOe,KAAO,SAAUC,EAAOJ,EAAkBlC,GAC/C,OAAOqC,EAAKC,EAAOJ,EAAkBlC,IAKvC8B,OAAOC,eAAeT,EAAOU,UAAWvB,WAAWuB,WACnDF,OAAOC,eAAeT,EAAQb,YA8B9Ba,EAAOE,MAAQ,SAAU8C,EAAMmF,EAAMjH,GACnC,OArBF,SAAgB8B,EAAMmF,EAAMjH,GAE1B,OADA6B,EAAWC,GACPA,GAAQ,EACH3C,EAAa2C,QAETR,IAAT2F,EAIyB,iBAAbjH,EACVb,EAAa2C,GAAMmF,KAAKA,EAAMjH,GAC9Bb,EAAa2C,GAAMmF,KAAKA,GAEvB9H,EAAa2C,GAQb9C,CAAM8C,EAAMmF,EAAMjH,IAW3BlB,EAAOc,YAAc,SAAUkC,GAC7B,OAAOlC,EAAYkC,IAKrBhD,EAAOoI,gBAAkB,SAAUpF,GACjC,OAAOlC,EAAYkC,IA8GrBhD,EAAOsC,SAAW,SAAmBF,GACnC,OAAY,MAALA,IAA6B,IAAhBA,EAAEiG,WACpBjG,IAAMpC,EAAOU,WAGjBV,EAAOsI,QAAU,SAAkBC,EAAGnG,GAGpC,GAFIT,EAAW4G,EAAGpJ,cAAaoJ,EAAIvI,EAAOe,KAAKwH,EAAGA,EAAEnD,OAAQmD,EAAE/K,aAC1DmE,EAAWS,EAAGjD,cAAaiD,EAAIpC,EAAOe,KAAKqB,EAAGA,EAAEgD,OAAQhD,EAAE5E,cACzDwC,EAAOsC,SAASiG,KAAOvI,EAAOsC,SAASF,GAC1C,MAAM,IAAIvB,UACR,yEAIJ,GAAI0H,IAAMnG,EAAG,OAAO,EAEpB,IAAIoG,EAAID,EAAE7J,OACN+J,EAAIrG,EAAE1D,OAEV,IAAK,IAAIV,EAAI,EAAGK,EAAMmI,KAAKC,IAAI+B,EAAGC,GAAIzK,EAAIK,IAAOL,EAC/C,GAAIuK,EAAEvK,KAAOoE,EAAEpE,GAAI,CACjBwK,EAAID,EAAEvK,GACNyK,EAAIrG,EAAEpE,GACN,MAIJ,OAAIwK,EAAIC,GAAW,EACfA,EAAID,EAAU,EACX,GAGTxI,EAAOmB,WAAa,SAAqBD,GACvC,OAAQ2D,OAAO3D,GAAUsC,eACvB,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO,EACT,QACE,OAAO,IAIbxD,EAAO0I,OAAS,SAAiBC,EAAMjK,GACrC,IAAKU,MAAMuD,QAAQgG,GACjB,MAAM,IAAI9H,UAAU,+CAGtB,GAAoB,IAAhB8H,EAAKjK,OACP,OAAOsB,EAAOE,MAAM,GAGtB,IAAIlC,EACJ,QAAewE,IAAX9D,EAEF,IADAA,EAAS,EACJV,EAAI,EAAGA,EAAI2K,EAAKjK,SAAUV,EAC7BU,GAAUiK,EAAK3K,GAAGU,OAItB,MAAMoD,EAAS9B,EAAOc,YAAYpC,GAClC,IAAIkK,EAAM,EACV,IAAK5K,EAAI,EAAGA,EAAI2K,EAAKjK,SAAUV,EAAG,CAChC,IAAIuC,EAAMoI,EAAK3K,GACf,GAAI2D,EAAWpB,EAAKpB,YACdyJ,EAAMrI,EAAI7B,OAASoD,EAAOpD,QACvBsB,EAAOsC,SAAS/B,KAAMA,EAAMP,EAAOe,KAAKR,IAC7CA,EAAIqB,KAAKE,EAAQ8G,IAEjBzJ,WAAWuB,UAAUmI,IAAIrE,KACvB1C,EACAvB,EACAqI,OAGC,KAAK5I,EAAOsC,SAAS/B,GAC1B,MAAM,IAAIM,UAAU,+CAEpBN,EAAIqB,KAAKE,EAAQ8G,GAEnBA,GAAOrI,EAAI7B,OAEb,OAAOoD,GAkDT9B,EAAOxC,WAAaA,EA8EpBwC,EAAOU,UAAU2H,WAAY,EAQ7BrI,EAAOU,UAAUoI,OAAS,WACxB,MAAMzK,EAAMqF,KAAKhF,OACjB,GAAIL,EAAM,GAAM,EACd,MAAM,IAAIiC,WAAW,6CAEvB,IAAK,IAAItC,EAAI,EAAGA,EAAIK,EAAKL,GAAK,EAC5BiG,EAAKP,KAAM1F,EAAGA,EAAI,GAEpB,OAAO0F,MAGT1D,EAAOU,UAAUqI,OAAS,WACxB,MAAM1K,EAAMqF,KAAKhF,OACjB,GAAIL,EAAM,GAAM,EACd,MAAM,IAAIiC,WAAW,6CAEvB,IAAK,IAAItC,EAAI,EAAGA,EAAIK,EAAKL,GAAK,EAC5BiG,EAAKP,KAAM1F,EAAGA,EAAI,GAClBiG,EAAKP,KAAM1F,EAAI,EAAGA,EAAI,GAExB,OAAO0F,MAGT1D,EAAOU,UAAUsI,OAAS,WACxB,MAAM3K,EAAMqF,KAAKhF,OACjB,GAAIL,EAAM,GAAM,EACd,MAAM,IAAIiC,WAAW,6CAEvB,IAAK,IAAItC,EAAI,EAAGA,EAAIK,EAAKL,GAAK,EAC5BiG,EAAKP,KAAM1F,EAAGA,EAAI,GAClBiG,EAAKP,KAAM1F,EAAI,EAAGA,EAAI,GACtBiG,EAAKP,KAAM1F,EAAI,EAAGA,EAAI,GACtBiG,EAAKP,KAAM1F,EAAI,EAAGA,EAAI,GAExB,OAAO0F,MAGT1D,EAAOU,UAAUwC,SAAW,WAC1B,MAAMxE,EAASgF,KAAKhF,OACpB,OAAe,IAAXA,EAAqB,GACA,IAArB0E,UAAU1E,OAAqBkF,EAAUF,KAAM,EAAGhF,GAC/C+E,EAAa4D,MAAM3D,KAAMN,YAGlCpD,EAAOU,UAAUuI,eAAiBjJ,EAAOU,UAAUwC,SAEnDlD,EAAOU,UAAUwI,OAAS,SAAiB9G,GACzC,IAAKpC,EAAOsC,SAASF,GAAI,MAAM,IAAIvB,UAAU,6BAC7C,OAAI6C,OAAStB,GACsB,IAA5BpC,EAAOsI,QAAQ5E,KAAMtB,IAG9BpC,EAAOU,UAAUyI,QAAU,WACzB,IAAIrD,EAAM,GACV,MAAMsD,EAAM7L,EAAQ4C,kBAGpB,OAFA2F,EAAMpC,KAAKR,SAAS,MAAO,EAAGkG,GAAKC,QAAQ,UAAW,OAAOC,OACzD5F,KAAKhF,OAAS0K,IAAKtD,GAAO,SACvB,WAAaA,EAAM,KAExBhG,IACFE,EAAOU,UAAUZ,GAAuBE,EAAOU,UAAUyI,SAG3DnJ,EAAOU,UAAU4H,QAAU,SAAkBiB,EAAQ/J,EAAOC,EAAK+J,EAAWC,GAI1E,GAHI9H,EAAW4H,EAAQpK,cACrBoK,EAASvJ,EAAOe,KAAKwI,EAAQA,EAAOnE,OAAQmE,EAAO/L,cAEhDwC,EAAOsC,SAASiH,GACnB,MAAM,IAAI1I,UACR,wFAC2B0I,GAiB/B,QAbc/G,IAAVhD,IACFA,EAAQ,QAEEgD,IAAR/C,IACFA,EAAM8J,EAASA,EAAO7K,OAAS,QAEf8D,IAAdgH,IACFA,EAAY,QAEEhH,IAAZiH,IACFA,EAAU/F,KAAKhF,QAGbc,EAAQ,GAAKC,EAAM8J,EAAO7K,QAAU8K,EAAY,GAAKC,EAAU/F,KAAKhF,OACtE,MAAM,IAAI4B,WAAW,sBAGvB,GAAIkJ,GAAaC,GAAWjK,GAASC,EACnC,OAAO,EAET,GAAI+J,GAAaC,EACf,OAAQ,EAEV,GAAIjK,GAASC,EACX,OAAO,EAQT,GAAIiE,OAAS6F,EAAQ,OAAO,EAE5B,IAAIf,GAJJiB,KAAa,IADbD,KAAe,GAMXf,GAPJhJ,KAAS,IADTD,KAAW,GASX,MAAMnB,EAAMmI,KAAKC,IAAI+B,EAAGC,GAElBiB,EAAWhG,KAAKpC,MAAMkI,EAAWC,GACjCE,EAAaJ,EAAOjI,MAAM9B,EAAOC,GAEvC,IAAK,IAAIzB,EAAI,EAAGA,EAAIK,IAAOL,EACzB,GAAI0L,EAAS1L,KAAO2L,EAAW3L,GAAI,CACjCwK,EAAIkB,EAAS1L,GACbyK,EAAIkB,EAAW3L,GACf,MAIJ,OAAIwK,EAAIC,GAAW,EACfA,EAAID,EAAU,EACX,GA4HTxI,EAAOU,UAAUkJ,SAAW,SAAmBvF,EAAKtC,EAAYb,GAC9D,OAAoD,IAA7CwC,KAAKnE,QAAQ8E,EAAKtC,EAAYb,IAGvClB,EAAOU,UAAUnB,QAAU,SAAkB8E,EAAKtC,EAAYb,GAC5D,OAAOkD,EAAqBV,KAAMW,EAAKtC,EAAYb,GAAU,IAG/DlB,EAAOU,UAAU+D,YAAc,SAAsBJ,EAAKtC,EAAYb,GACpE,OAAOkD,EAAqBV,KAAMW,EAAKtC,EAAYb,GAAU,IA6C/DlB,EAAOU,UAAUW,MAAQ,SAAgBJ,EAAQmE,EAAQ1G,EAAQwC,GAE/D,QAAesB,IAAX4C,EACFlE,EAAW,OACXxC,EAASgF,KAAKhF,OACd0G,EAAS,OAEJ,QAAe5C,IAAX9D,GAA0C,iBAAX0G,EACxClE,EAAWkE,EACX1G,EAASgF,KAAKhF,OACd0G,EAAS,MAEJ,KAAIyE,SAASzE,GAUlB,MAAM,IAAI9F,MACR,2EAVF8F,KAAoB,EAChByE,SAASnL,IACXA,KAAoB,OACH8D,IAAbtB,IAAwBA,EAAW,UAEvCA,EAAWxC,EACXA,OAAS8D,GAQb,MAAM8C,EAAY5B,KAAKhF,OAAS0G,EAGhC,SAFe5C,IAAX9D,GAAwBA,EAAS4G,KAAW5G,EAAS4G,GAEpDrE,EAAOvC,OAAS,IAAMA,EAAS,GAAK0G,EAAS,IAAOA,EAAS1B,KAAKhF,OACrE,MAAM,IAAI4B,WAAW,0CAGlBY,IAAUA,EAAW,QAE1B,IAAImC,GAAc,EAClB,OACE,OAAQnC,GACN,IAAK,MACH,OAAOiE,EAASzB,KAAMzC,EAAQmE,EAAQ1G,GAExC,IAAK,OACL,IAAK,QACH,OAAOiH,EAAUjC,KAAMzC,EAAQmE,EAAQ1G,GAEzC,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAOmH,EAAWnC,KAAMzC,EAAQmE,EAAQ1G,GAE1C,IAAK,SAEH,OAAOuH,EAAYvC,KAAMzC,EAAQmE,EAAQ1G,GAE3C,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOwH,EAAUxC,KAAMzC,EAAQmE,EAAQ1G,GAEzC,QACE,GAAI2E,EAAa,MAAM,IAAIxC,UAAU,qBAAuBK,GAC5DA,GAAY,GAAKA,GAAUsC,cAC3BH,GAAc,IAKtBrD,EAAOU,UAAUoJ,OAAS,WACxB,MAAO,CACLpH,KAAM,SACNE,KAAMxD,MAAMsB,UAAUY,MAAMkD,KAAKd,KAAKqG,MAAQrG,KAAM,KA2FxD,MAAMyD,EAAuB,KAoB7B,SAAStD,EAAYtD,EAAKf,EAAOC,GAC/B,IAAIuK,EAAM,GACVvK,EAAM+G,KAAKC,IAAIlG,EAAI7B,OAAQe,GAE3B,IAAK,IAAIzB,EAAIwB,EAAOxB,EAAIyB,IAAOzB,EAC7BgM,GAAOnF,OAAOuC,aAAsB,IAAT7G,EAAIvC,IAEjC,OAAOgM,EAGT,SAASlG,EAAavD,EAAKf,EAAOC,GAChC,IAAIuK,EAAM,GACVvK,EAAM+G,KAAKC,IAAIlG,EAAI7B,OAAQe,GAE3B,IAAK,IAAIzB,EAAIwB,EAAOxB,EAAIyB,IAAOzB,EAC7BgM,GAAOnF,OAAOuC,aAAa7G,EAAIvC,IAEjC,OAAOgM,EAGT,SAASrG,EAAUpD,EAAKf,EAAOC,GAC7B,MAAMpB,EAAMkC,EAAI7B,SAEXc,GAASA,EAAQ,KAAGA,EAAQ,KAC5BC,GAAOA,EAAM,GAAKA,EAAMpB,KAAKoB,EAAMpB,GAExC,IAAI4L,EAAM,GACV,IAAK,IAAIjM,EAAIwB,EAAOxB,EAAIyB,IAAOzB,EAC7BiM,GAAOC,EAAoB3J,EAAIvC,IAEjC,OAAOiM,EAGT,SAASjG,EAAczD,EAAKf,EAAOC,GACjC,MAAM0K,EAAQ5J,EAAIe,MAAM9B,EAAOC,GAC/B,IAAIiH,EAAM,GAEV,IAAK,IAAI1I,EAAI,EAAGA,EAAImM,EAAMzL,OAAS,EAAGV,GAAK,EACzC0I,GAAO7B,OAAOuC,aAAa+C,EAAMnM,GAAqB,IAAfmM,EAAMnM,EAAI,IAEnD,OAAO0I,EAkCT,SAAS0D,EAAahF,EAAQiF,EAAK3L,GACjC,GAAK0G,EAAS,GAAO,GAAKA,EAAS,EAAG,MAAM,IAAI9E,WAAW,sBAC3D,GAAI8E,EAASiF,EAAM3L,EAAQ,MAAM,IAAI4B,WAAW,yCA0QlD,SAASgK,EAAU/J,EAAKS,EAAOoE,EAAQiF,EAAKjB,EAAK3C,GAC/C,IAAKzG,EAAOsC,SAAS/B,GAAM,MAAM,IAAIM,UAAU,+CAC/C,GAAIG,EAAQoI,GAAOpI,EAAQyF,EAAK,MAAM,IAAInG,WAAW,qCACrD,GAAI8E,EAASiF,EAAM9J,EAAI7B,OAAQ,MAAM,IAAI4B,WAAW,sBAgGtD,SAASiK,EAAgBhK,EAAKS,EAAOoE,EAAQqB,EAAK2C,GAChDoB,EAAWxJ,EAAOyF,EAAK2C,EAAK7I,EAAK6E,EAAQ,GAEzC,IAAIkB,EAAKjB,OAAOrE,EAAQyJ,OAAO,aAC/BlK,EAAI6E,KAAYkB,EAChBA,IAAW,EACX/F,EAAI6E,KAAYkB,EAChBA,IAAW,EACX/F,EAAI6E,KAAYkB,EAChBA,IAAW,EACX/F,EAAI6E,KAAYkB,EAChB,IAAID,EAAKhB,OAAOrE,GAASyJ,OAAO,IAAMA,OAAO,aAQ7C,OAPAlK,EAAI6E,KAAYiB,EAChBA,IAAW,EACX9F,EAAI6E,KAAYiB,EAChBA,IAAW,EACX9F,EAAI6E,KAAYiB,EAChBA,IAAW,EACX9F,EAAI6E,KAAYiB,EACTjB,EAGT,SAASsF,EAAgBnK,EAAKS,EAAOoE,EAAQqB,EAAK2C,GAChDoB,EAAWxJ,EAAOyF,EAAK2C,EAAK7I,EAAK6E,EAAQ,GAEzC,IAAIkB,EAAKjB,OAAOrE,EAAQyJ,OAAO,aAC/BlK,EAAI6E,EAAS,GAAKkB,EAClBA,IAAW,EACX/F,EAAI6E,EAAS,GAAKkB,EAClBA,IAAW,EACX/F,EAAI6E,EAAS,GAAKkB,EAClBA,IAAW,EACX/F,EAAI6E,EAAS,GAAKkB,EAClB,IAAID,EAAKhB,OAAOrE,GAASyJ,OAAO,IAAMA,OAAO,aAQ7C,OAPAlK,EAAI6E,EAAS,GAAKiB,EAClBA,IAAW,EACX9F,EAAI6E,EAAS,GAAKiB,EAClBA,IAAW,EACX9F,EAAI6E,EAAS,GAAKiB,EAClBA,IAAW,EACX9F,EAAI6E,GAAUiB,EACPjB,EAAS,EAmHlB,SAASuF,EAAcpK,EAAKS,EAAOoE,EAAQiF,EAAKjB,EAAK3C,GACnD,GAAIrB,EAASiF,EAAM9J,EAAI7B,OAAQ,MAAM,IAAI4B,WAAW,sBACpD,GAAI8E,EAAS,EAAG,MAAM,IAAI9E,WAAW,sBAGvC,SAASsK,EAAYrK,EAAKS,EAAOoE,EAAQyF,EAAcC,GAOrD,OANA9J,GAASA,EACToE,KAAoB,EACf0F,GACHH,EAAapK,EAAKS,EAAOoE,EAAQ,GAEnCvF,EAAQwB,MAAMd,EAAKS,EAAOoE,EAAQyF,EAAc,GAAI,GAC7CzF,EAAS,EAWlB,SAAS2F,EAAaxK,EAAKS,EAAOoE,EAAQyF,EAAcC,GAOtD,OANA9J,GAASA,EACToE,KAAoB,EACf0F,GACHH,EAAapK,EAAKS,EAAOoE,EAAQ,GAEnCvF,EAAQwB,MAAMd,EAAKS,EAAOoE,EAAQyF,EAAc,GAAI,GAC7CzF,EAAS,EAxkBlBpF,EAAOU,UAAUY,MAAQ,SAAgB9B,EAAOC,GAC9C,MAAMpB,EAAMqF,KAAKhF,QACjBc,IAAUA,GAGE,GACVA,GAASnB,GACG,IAAGmB,EAAQ,GACdA,EAAQnB,IACjBmB,EAAQnB,IANVoB,OAAc+C,IAAR/C,EAAoBpB,IAAQoB,GASxB,GACRA,GAAOpB,GACG,IAAGoB,EAAM,GACVA,EAAMpB,IACfoB,EAAMpB,GAGJoB,EAAMD,IAAOC,EAAMD,GAEvB,MAAMwL,EAAStH,KAAKuH,SAASzL,EAAOC,GAIpC,OAFAe,OAAOC,eAAeuK,EAAQhL,EAAOU,WAE9BsK,GAWThL,EAAOU,UAAUwK,WACjBlL,EAAOU,UAAUyK,WAAa,SAAqB/F,EAAQ5H,EAAYsN,GACrE1F,KAAoB,EACpB5H,KAA4B,EACvBsN,GAAUV,EAAYhF,EAAQ5H,EAAYkG,KAAKhF,QAEpD,IAAI2F,EAAMX,KAAK0B,GACXgG,EAAM,EACNpN,EAAI,EACR,OAASA,EAAIR,IAAe4N,GAAO,MACjC/G,GAAOX,KAAK0B,EAASpH,GAAKoN,EAG5B,OAAO/G,GAGTrE,EAAOU,UAAU2K,WACjBrL,EAAOU,UAAU4K,WAAa,SAAqBlG,EAAQ5H,EAAYsN,GACrE1F,KAAoB,EACpB5H,KAA4B,EACvBsN,GACHV,EAAYhF,EAAQ5H,EAAYkG,KAAKhF,QAGvC,IAAI2F,EAAMX,KAAK0B,IAAW5H,GACtB4N,EAAM,EACV,KAAO5N,EAAa,IAAM4N,GAAO,MAC/B/G,GAAOX,KAAK0B,IAAW5H,GAAc4N,EAGvC,OAAO/G,GAGTrE,EAAOU,UAAU6K,UACjBvL,EAAOU,UAAU8K,UAAY,SAAoBpG,EAAQ0F,GAGvD,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACpCgF,KAAK0B,IAGdpF,EAAOU,UAAU+K,aACjBzL,EAAOU,UAAUgL,aAAe,SAAuBtG,EAAQ0F,GAG7D,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACpCgF,KAAK0B,GAAW1B,KAAK0B,EAAS,IAAM,GAG7CpF,EAAOU,UAAUiL,aACjB3L,EAAOU,UAAUqE,aAAe,SAAuBK,EAAQ0F,GAG7D,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACnCgF,KAAK0B,IAAW,EAAK1B,KAAK0B,EAAS,IAG7CpF,EAAOU,UAAUkL,aACjB5L,EAAOU,UAAUmL,aAAe,SAAuBzG,EAAQ0F,GAI7D,OAHA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,SAElCgF,KAAK0B,GACT1B,KAAK0B,EAAS,IAAM,EACpB1B,KAAK0B,EAAS,IAAM,IACD,SAAnB1B,KAAK0B,EAAS,IAGrBpF,EAAOU,UAAUoL,aACjB9L,EAAOU,UAAUqL,aAAe,SAAuB3G,EAAQ0F,GAI7D,OAHA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QAEpB,SAAfgF,KAAK0B,IACT1B,KAAK0B,EAAS,IAAM,GACrB1B,KAAK0B,EAAS,IAAM,EACrB1B,KAAK0B,EAAS,KAGlBpF,EAAOU,UAAUsL,gBAAkBC,GAAmB,SAA0B7G,GAE9E8G,EADA9G,KAAoB,EACG,UACvB,MAAM+G,EAAQzI,KAAK0B,GACbgH,EAAO1I,KAAK0B,EAAS,QACb5C,IAAV2J,QAAgC3J,IAAT4J,GACzBC,EAAYjH,EAAQ1B,KAAKhF,OAAS,GAGpC,MAAM4H,EAAK6F,EACQ,IAAjBzI,OAAO0B,GACU,MAAjB1B,OAAO0B,GACP1B,OAAO0B,GAAU,GAAK,GAElBiB,EAAK3C,OAAO0B,GACC,IAAjB1B,OAAO0B,GACU,MAAjB1B,OAAO0B,GACPgH,EAAO,GAAK,GAEd,OAAO3B,OAAOnE,IAAOmE,OAAOpE,IAAOoE,OAAO,QAG5CzK,EAAOU,UAAU4L,gBAAkBL,GAAmB,SAA0B7G,GAE9E8G,EADA9G,KAAoB,EACG,UACvB,MAAM+G,EAAQzI,KAAK0B,GACbgH,EAAO1I,KAAK0B,EAAS,QACb5C,IAAV2J,QAAgC3J,IAAT4J,GACzBC,EAAYjH,EAAQ1B,KAAKhF,OAAS,GAGpC,MAAM2H,EAAK8F,EAAQ,GAAK,GACL,MAAjBzI,OAAO0B,GACU,IAAjB1B,OAAO0B,GACP1B,OAAO0B,GAEHkB,EAAK5C,OAAO0B,GAAU,GAAK,GACd,MAAjB1B,OAAO0B,GACU,IAAjB1B,OAAO0B,GACPgH,EAEF,OAAQ3B,OAAOpE,IAAOoE,OAAO,KAAOA,OAAOnE,MAG7CtG,EAAOU,UAAU6L,UAAY,SAAoBnH,EAAQ5H,EAAYsN,GACnE1F,KAAoB,EACpB5H,KAA4B,EACvBsN,GAAUV,EAAYhF,EAAQ5H,EAAYkG,KAAKhF,QAEpD,IAAI2F,EAAMX,KAAK0B,GACXgG,EAAM,EACNpN,EAAI,EACR,OAASA,EAAIR,IAAe4N,GAAO,MACjC/G,GAAOX,KAAK0B,EAASpH,GAAKoN,EAM5B,OAJAA,GAAO,IAEH/G,GAAO+G,IAAK/G,GAAOmC,KAAKgG,IAAI,EAAG,EAAIhP,IAEhC6G,GAGTrE,EAAOU,UAAU+L,UAAY,SAAoBrH,EAAQ5H,EAAYsN,GACnE1F,KAAoB,EACpB5H,KAA4B,EACvBsN,GAAUV,EAAYhF,EAAQ5H,EAAYkG,KAAKhF,QAEpD,IAAIV,EAAIR,EACJ4N,EAAM,EACN/G,EAAMX,KAAK0B,IAAWpH,GAC1B,KAAOA,EAAI,IAAMoN,GAAO,MACtB/G,GAAOX,KAAK0B,IAAWpH,GAAKoN,EAM9B,OAJAA,GAAO,IAEH/G,GAAO+G,IAAK/G,GAAOmC,KAAKgG,IAAI,EAAG,EAAIhP,IAEhC6G,GAGTrE,EAAOU,UAAUgM,SAAW,SAAmBtH,EAAQ0F,GAGrD,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACtB,IAAfgF,KAAK0B,IAC0B,GAA5B,IAAO1B,KAAK0B,GAAU,GADK1B,KAAK0B,IAI3CpF,EAAOU,UAAUiM,YAAc,SAAsBvH,EAAQ0F,GAC3D1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QAC3C,MAAM2F,EAAMX,KAAK0B,GAAW1B,KAAK0B,EAAS,IAAM,EAChD,OAAc,MAANf,EAAsB,WAANA,EAAmBA,GAG7CrE,EAAOU,UAAUkM,YAAc,SAAsBxH,EAAQ0F,GAC3D1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QAC3C,MAAM2F,EAAMX,KAAK0B,EAAS,GAAM1B,KAAK0B,IAAW,EAChD,OAAc,MAANf,EAAsB,WAANA,EAAmBA,GAG7CrE,EAAOU,UAAUmM,YAAc,SAAsBzH,EAAQ0F,GAI3D,OAHA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QAEnCgF,KAAK0B,GACV1B,KAAK0B,EAAS,IAAM,EACpB1B,KAAK0B,EAAS,IAAM,GACpB1B,KAAK0B,EAAS,IAAM,IAGzBpF,EAAOU,UAAUoM,YAAc,SAAsB1H,EAAQ0F,GAI3D,OAHA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QAEnCgF,KAAK0B,IAAW,GACrB1B,KAAK0B,EAAS,IAAM,GACpB1B,KAAK0B,EAAS,IAAM,EACpB1B,KAAK0B,EAAS,IAGnBpF,EAAOU,UAAUqM,eAAiBd,GAAmB,SAAyB7G,GAE5E8G,EADA9G,KAAoB,EACG,UACvB,MAAM+G,EAAQzI,KAAK0B,GACbgH,EAAO1I,KAAK0B,EAAS,QACb5C,IAAV2J,QAAgC3J,IAAT4J,GACzBC,EAAYjH,EAAQ1B,KAAKhF,OAAS,GAGpC,MAAM2F,EAAMX,KAAK0B,EAAS,GACL,IAAnB1B,KAAK0B,EAAS,GACK,MAAnB1B,KAAK0B,EAAS,IACbgH,GAAQ,IAEX,OAAQ3B,OAAOpG,IAAQoG,OAAO,KAC5BA,OAAO0B,EACU,IAAjBzI,OAAO0B,GACU,MAAjB1B,OAAO0B,GACP1B,OAAO0B,GAAU,GAAK,OAG1BpF,EAAOU,UAAUsM,eAAiBf,GAAmB,SAAyB7G,GAE5E8G,EADA9G,KAAoB,EACG,UACvB,MAAM+G,EAAQzI,KAAK0B,GACbgH,EAAO1I,KAAK0B,EAAS,QACb5C,IAAV2J,QAAgC3J,IAAT4J,GACzBC,EAAYjH,EAAQ1B,KAAKhF,OAAS,GAGpC,MAAM2F,GAAO8H,GAAS,IACH,MAAjBzI,OAAO0B,GACU,IAAjB1B,OAAO0B,GACP1B,OAAO0B,GAET,OAAQqF,OAAOpG,IAAQoG,OAAO,KAC5BA,OAAO/G,OAAO0B,GAAU,GAAK,GACZ,MAAjB1B,OAAO0B,GACU,IAAjB1B,OAAO0B,GACPgH,MAGJpM,EAAOU,UAAUuM,YAAc,SAAsB7H,EAAQ0F,GAG3D,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACpCmB,EAAQiF,KAAKpB,KAAM0B,GAAQ,EAAM,GAAI,IAG9CpF,EAAOU,UAAUwM,YAAc,SAAsB9H,EAAQ0F,GAG3D,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACpCmB,EAAQiF,KAAKpB,KAAM0B,GAAQ,EAAO,GAAI,IAG/CpF,EAAOU,UAAUyM,aAAe,SAAuB/H,EAAQ0F,GAG7D,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACpCmB,EAAQiF,KAAKpB,KAAM0B,GAAQ,EAAM,GAAI,IAG9CpF,EAAOU,UAAU0M,aAAe,SAAuBhI,EAAQ0F,GAG7D,OAFA1F,KAAoB,EACf0F,GAAUV,EAAYhF,EAAQ,EAAG1B,KAAKhF,QACpCmB,EAAQiF,KAAKpB,KAAM0B,GAAQ,EAAO,GAAI,IAS/CpF,EAAOU,UAAU2M,YACjBrN,EAAOU,UAAU4M,YAAc,SAAsBtM,EAAOoE,EAAQ5H,EAAYsN,GAC9E9J,GAASA,EACToE,KAAoB,EACpB5H,KAA4B,EACvBsN,GAEHR,EAAS5G,KAAM1C,EAAOoE,EAAQ5H,EADbgJ,KAAKgG,IAAI,EAAG,EAAIhP,GAAc,EACK,GAGtD,IAAI4N,EAAM,EACNpN,EAAI,EAER,IADA0F,KAAK0B,GAAkB,IAARpE,IACNhD,EAAIR,IAAe4N,GAAO,MACjC1H,KAAK0B,EAASpH,GAAMgD,EAAQoK,EAAO,IAGrC,OAAOhG,EAAS5H,GAGlBwC,EAAOU,UAAU6M,YACjBvN,EAAOU,UAAU8M,YAAc,SAAsBxM,EAAOoE,EAAQ5H,EAAYsN,GAC9E9J,GAASA,EACToE,KAAoB,EACpB5H,KAA4B,EACvBsN,GAEHR,EAAS5G,KAAM1C,EAAOoE,EAAQ5H,EADbgJ,KAAKgG,IAAI,EAAG,EAAIhP,GAAc,EACK,GAGtD,IAAIQ,EAAIR,EAAa,EACjB4N,EAAM,EAEV,IADA1H,KAAK0B,EAASpH,GAAa,IAARgD,IACVhD,GAAK,IAAMoN,GAAO,MACzB1H,KAAK0B,EAASpH,GAAMgD,EAAQoK,EAAO,IAGrC,OAAOhG,EAAS5H,GAGlBwC,EAAOU,UAAU+M,WACjBzN,EAAOU,UAAUgN,WAAa,SAAqB1M,EAAOoE,EAAQ0F,GAKhE,OAJA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,IAAM,GACtD1B,KAAK0B,GAAmB,IAARpE,EACToE,EAAS,GAGlBpF,EAAOU,UAAUiN,cACjB3N,EAAOU,UAAUkN,cAAgB,SAAwB5M,EAAOoE,EAAQ0F,GAMtE,OALA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,MAAQ,GACxD1B,KAAK0B,GAAmB,IAARpE,EAChB0C,KAAK0B,EAAS,GAAMpE,IAAU,EACvBoE,EAAS,GAGlBpF,EAAOU,UAAUmN,cACjB7N,EAAOU,UAAUoN,cAAgB,SAAwB9M,EAAOoE,EAAQ0F,GAMtE,OALA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,MAAQ,GACxD1B,KAAK0B,GAAWpE,IAAU,EAC1B0C,KAAK0B,EAAS,GAAc,IAARpE,EACboE,EAAS,GAGlBpF,EAAOU,UAAUqN,cACjB/N,EAAOU,UAAUsN,cAAgB,SAAwBhN,EAAOoE,EAAQ0F,GAQtE,OAPA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,WAAY,GAC5D1B,KAAK0B,EAAS,GAAMpE,IAAU,GAC9B0C,KAAK0B,EAAS,GAAMpE,IAAU,GAC9B0C,KAAK0B,EAAS,GAAMpE,IAAU,EAC9B0C,KAAK0B,GAAmB,IAARpE,EACToE,EAAS,GAGlBpF,EAAOU,UAAUuN,cACjBjO,EAAOU,UAAUwN,cAAgB,SAAwBlN,EAAOoE,EAAQ0F,GAQtE,OAPA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,WAAY,GAC5D1B,KAAK0B,GAAWpE,IAAU,GAC1B0C,KAAK0B,EAAS,GAAMpE,IAAU,GAC9B0C,KAAK0B,EAAS,GAAMpE,IAAU,EAC9B0C,KAAK0B,EAAS,GAAc,IAARpE,EACboE,EAAS,GA+ClBpF,EAAOU,UAAUyN,iBAAmBlC,GAAmB,SAA2BjL,EAAOoE,EAAS,GAChG,OAAOmF,EAAe7G,KAAM1C,EAAOoE,EAAQqF,OAAO,GAAIA,OAAO,0BAG/DzK,EAAOU,UAAU0N,iBAAmBnC,GAAmB,SAA2BjL,EAAOoE,EAAS,GAChG,OAAOsF,EAAehH,KAAM1C,EAAOoE,EAAQqF,OAAO,GAAIA,OAAO,0BAG/DzK,EAAOU,UAAU2N,WAAa,SAAqBrN,EAAOoE,EAAQ5H,EAAYsN,GAG5E,GAFA9J,GAASA,EACToE,KAAoB,GACf0F,EAAU,CACb,MAAMwD,EAAQ9H,KAAKgG,IAAI,EAAI,EAAIhP,EAAc,GAE7C8M,EAAS5G,KAAM1C,EAAOoE,EAAQ5H,EAAY8Q,EAAQ,GAAIA,GAGxD,IAAItQ,EAAI,EACJoN,EAAM,EACNmD,EAAM,EAEV,IADA7K,KAAK0B,GAAkB,IAARpE,IACNhD,EAAIR,IAAe4N,GAAO,MAC7BpK,EAAQ,GAAa,IAARuN,GAAsC,IAAzB7K,KAAK0B,EAASpH,EAAI,KAC9CuQ,EAAM,GAER7K,KAAK0B,EAASpH,IAAOgD,EAAQoK,GAAQ,GAAKmD,EAAM,IAGlD,OAAOnJ,EAAS5H,GAGlBwC,EAAOU,UAAU8N,WAAa,SAAqBxN,EAAOoE,EAAQ5H,EAAYsN,GAG5E,GAFA9J,GAASA,EACToE,KAAoB,GACf0F,EAAU,CACb,MAAMwD,EAAQ9H,KAAKgG,IAAI,EAAI,EAAIhP,EAAc,GAE7C8M,EAAS5G,KAAM1C,EAAOoE,EAAQ5H,EAAY8Q,EAAQ,GAAIA,GAGxD,IAAItQ,EAAIR,EAAa,EACjB4N,EAAM,EACNmD,EAAM,EAEV,IADA7K,KAAK0B,EAASpH,GAAa,IAARgD,IACVhD,GAAK,IAAMoN,GAAO,MACrBpK,EAAQ,GAAa,IAARuN,GAAsC,IAAzB7K,KAAK0B,EAASpH,EAAI,KAC9CuQ,EAAM,GAER7K,KAAK0B,EAASpH,IAAOgD,EAAQoK,GAAQ,GAAKmD,EAAM,IAGlD,OAAOnJ,EAAS5H,GAGlBwC,EAAOU,UAAU+N,UAAY,SAAoBzN,EAAOoE,EAAQ0F,GAM9D,OALA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,KAAO,KACnDpE,EAAQ,IAAGA,EAAQ,IAAOA,EAAQ,GACtC0C,KAAK0B,GAAmB,IAARpE,EACToE,EAAS,GAGlBpF,EAAOU,UAAUgO,aAAe,SAAuB1N,EAAOoE,EAAQ0F,GAMpE,OALA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,OAAS,OACzD1B,KAAK0B,GAAmB,IAARpE,EAChB0C,KAAK0B,EAAS,GAAMpE,IAAU,EACvBoE,EAAS,GAGlBpF,EAAOU,UAAUiO,aAAe,SAAuB3N,EAAOoE,EAAQ0F,GAMpE,OALA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,OAAS,OACzD1B,KAAK0B,GAAWpE,IAAU,EAC1B0C,KAAK0B,EAAS,GAAc,IAARpE,EACboE,EAAS,GAGlBpF,EAAOU,UAAUkO,aAAe,SAAuB5N,EAAOoE,EAAQ0F,GAQpE,OAPA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,YAAa,YAC7D1B,KAAK0B,GAAmB,IAARpE,EAChB0C,KAAK0B,EAAS,GAAMpE,IAAU,EAC9B0C,KAAK0B,EAAS,GAAMpE,IAAU,GAC9B0C,KAAK0B,EAAS,GAAMpE,IAAU,GACvBoE,EAAS,GAGlBpF,EAAOU,UAAUmO,aAAe,SAAuB7N,EAAOoE,EAAQ0F,GASpE,OARA9J,GAASA,EACToE,KAAoB,EACf0F,GAAUR,EAAS5G,KAAM1C,EAAOoE,EAAQ,EAAG,YAAa,YACzDpE,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GAC5C0C,KAAK0B,GAAWpE,IAAU,GAC1B0C,KAAK0B,EAAS,GAAMpE,IAAU,GAC9B0C,KAAK0B,EAAS,GAAMpE,IAAU,EAC9B0C,KAAK0B,EAAS,GAAc,IAARpE,EACboE,EAAS,GAGlBpF,EAAOU,UAAUoO,gBAAkB7C,GAAmB,SAA0BjL,EAAOoE,EAAS,GAC9F,OAAOmF,EAAe7G,KAAM1C,EAAOoE,GAASqF,OAAO,sBAAuBA,OAAO,0BAGnFzK,EAAOU,UAAUqO,gBAAkB9C,GAAmB,SAA0BjL,EAAOoE,EAAS,GAC9F,OAAOsF,EAAehH,KAAM1C,EAAOoE,GAASqF,OAAO,sBAAuBA,OAAO,0BAkBnFzK,EAAOU,UAAUsO,aAAe,SAAuBhO,EAAOoE,EAAQ0F,GACpE,OAAOF,EAAWlH,KAAM1C,EAAOoE,GAAQ,EAAM0F,IAG/C9K,EAAOU,UAAUuO,aAAe,SAAuBjO,EAAOoE,EAAQ0F,GACpE,OAAOF,EAAWlH,KAAM1C,EAAOoE,GAAQ,EAAO0F,IAahD9K,EAAOU,UAAUwO,cAAgB,SAAwBlO,EAAOoE,EAAQ0F,GACtE,OAAOC,EAAYrH,KAAM1C,EAAOoE,GAAQ,EAAM0F,IAGhD9K,EAAOU,UAAUyO,cAAgB,SAAwBnO,EAAOoE,EAAQ0F,GACtE,OAAOC,EAAYrH,KAAM1C,EAAOoE,GAAQ,EAAO0F,IAIjD9K,EAAOU,UAAUkB,KAAO,SAAe2H,EAAQ6F,EAAa5P,EAAOC,GACjE,IAAKO,EAAOsC,SAASiH,GAAS,MAAM,IAAI1I,UAAU,+BAQlD,GAPKrB,IAAOA,EAAQ,GACfC,GAAe,IAARA,IAAWA,EAAMiE,KAAKhF,QAC9B0Q,GAAe7F,EAAO7K,SAAQ0Q,EAAc7F,EAAO7K,QAClD0Q,IAAaA,EAAc,GAC5B3P,EAAM,GAAKA,EAAMD,IAAOC,EAAMD,GAG9BC,IAAQD,EAAO,OAAO,EAC1B,GAAsB,IAAlB+J,EAAO7K,QAAgC,IAAhBgF,KAAKhF,OAAc,OAAO,EAGrD,GAAI0Q,EAAc,EAChB,MAAM,IAAI9O,WAAW,6BAEvB,GAAId,EAAQ,GAAKA,GAASkE,KAAKhF,OAAQ,MAAM,IAAI4B,WAAW,sBAC5D,GAAIb,EAAM,EAAG,MAAM,IAAIa,WAAW,2BAG9Bb,EAAMiE,KAAKhF,SAAQe,EAAMiE,KAAKhF,QAC9B6K,EAAO7K,OAAS0Q,EAAc3P,EAAMD,IACtCC,EAAM8J,EAAO7K,OAAS0Q,EAAc5P,GAGtC,MAAMnB,EAAMoB,EAAMD,EAalB,OAXIkE,OAAS6F,GAAqD,mBAApCpK,WAAWuB,UAAU2O,WAEjD3L,KAAK2L,WAAWD,EAAa5P,EAAOC,GAEpCN,WAAWuB,UAAUmI,IAAIrE,KACvB+E,EACA7F,KAAKuH,SAASzL,EAAOC,GACrB2P,GAIG/Q,GAOT2B,EAAOU,UAAUyH,KAAO,SAAe9D,EAAK7E,EAAOC,EAAKyB,GAEtD,GAAmB,iBAARmD,EAAkB,CAS3B,GARqB,iBAAV7E,GACT0B,EAAW1B,EACXA,EAAQ,EACRC,EAAMiE,KAAKhF,QACa,iBAARe,IAChByB,EAAWzB,EACXA,EAAMiE,KAAKhF,aAEI8D,IAAbtB,GAA8C,iBAAbA,EACnC,MAAM,IAAIL,UAAU,6BAEtB,GAAwB,iBAAbK,IAA0BlB,EAAOmB,WAAWD,GACrD,MAAM,IAAIL,UAAU,qBAAuBK,GAE7C,GAAmB,IAAfmD,EAAI3F,OAAc,CACpB,MAAMW,EAAOgF,EAAI9F,WAAW,IACV,SAAb2C,GAAuB7B,EAAO,KAClB,WAAb6B,KAEFmD,EAAMhF,QAGc,iBAARgF,EAChBA,GAAY,IACY,kBAARA,IAChBA,EAAMgB,OAAOhB,IAIf,GAAI7E,EAAQ,GAAKkE,KAAKhF,OAASc,GAASkE,KAAKhF,OAASe,EACpD,MAAM,IAAIa,WAAW,sBAGvB,GAAIb,GAAOD,EACT,OAAOkE,KAQT,IAAI1F,EACJ,GANAwB,KAAkB,EAClBC,OAAc+C,IAAR/C,EAAoBiE,KAAKhF,OAASe,IAAQ,EAE3C4E,IAAKA,EAAM,GAGG,iBAARA,EACT,IAAKrG,EAAIwB,EAAOxB,EAAIyB,IAAOzB,EACzB0F,KAAK1F,GAAKqG,MAEP,CACL,MAAM8F,EAAQnK,EAAOsC,SAAS+B,GAC1BA,EACArE,EAAOe,KAAKsD,EAAKnD,GACf7C,EAAM8L,EAAMzL,OAClB,GAAY,IAARL,EACF,MAAM,IAAIwC,UAAU,cAAgBwD,EAClC,qCAEJ,IAAKrG,EAAI,EAAGA,EAAIyB,EAAMD,IAASxB,EAC7B0F,KAAK1F,EAAIwB,GAAS2K,EAAMnM,EAAIK,GAIhC,OAAOqF,MAOT,MAAM4L,EAAS,GACf,SAASC,EAAGC,EAAKC,EAAYC,GAC3BJ,EAAOE,GAAO,cAAwBE,EACpCC,cACEC,QAEApP,OAAOuH,eAAerE,KAAM,UAAW,CACrC1C,MAAOyO,EAAWpI,MAAM3D,KAAMN,WAC9ByM,UAAU,EACVC,cAAc,IAIhBpM,KAAKqM,KAAO,GAAGrM,KAAKqM,SAASP,KAG7B9L,KAAKsM,aAEEtM,KAAKqM,KAGd,WACE,OAAOP,EAGT,SAAUxO,GACRR,OAAOuH,eAAerE,KAAM,OAAQ,CAClCoM,cAAc,EACd9H,YAAY,EACZhH,QACA6O,UAAU,IAId3M,WACE,MAAO,GAAGQ,KAAKqM,SAASP,OAAS9L,KAAKuM,YAkC5C,SAASC,EAAuB7L,GAC9B,IAAIqC,EAAM,GACN1I,EAAIqG,EAAI3F,OACZ,MAAMc,EAAmB,MAAX6E,EAAI,GAAa,EAAI,EACnC,KAAOrG,GAAKwB,EAAQ,EAAGxB,GAAK,EAC1B0I,EAAM,IAAIrC,EAAI/C,MAAMtD,EAAI,EAAGA,KAAK0I,IAElC,MAAO,GAAGrC,EAAI/C,MAAM,EAAGtD,KAAK0I,IAa9B,SAAS8D,EAAYxJ,EAAOyF,EAAK2C,EAAK7I,EAAK6E,EAAQ5H,GACjD,GAAIwD,EAAQoI,GAAOpI,EAAQyF,EAAK,CAC9B,MAAMvC,EAAmB,iBAARuC,EAAmB,IAAM,GAC1C,IAAI0J,EAWJ,MARIA,EAFA3S,EAAa,EACH,IAARiJ,GAAaA,IAAQgE,OAAO,GACtB,OAAOvG,YAAYA,QAA2B,GAAlB1G,EAAa,KAAS0G,IAElD,SAASA,QAA2B,GAAlB1G,EAAa,GAAS,IAAI0G,iBACtB,GAAlB1G,EAAa,GAAS,IAAI0G,IAGhC,MAAMuC,IAAMvC,YAAYkF,IAAMlF,IAElC,IAAIoL,EAAOc,iBAAiB,QAASD,EAAOnP,IArBtD,SAAsBT,EAAK6E,EAAQ5H,GACjC0O,EAAe9G,EAAQ,eACH5C,IAAhBjC,EAAI6E,SAAsD5C,IAA7BjC,EAAI6E,EAAS5H,IAC5C6O,EAAYjH,EAAQ7E,EAAI7B,QAAUlB,EAAa,IAoBjD6S,CAAY9P,EAAK6E,EAAQ5H,GAG3B,SAAS0O,EAAgBlL,EAAO+O,GAC9B,GAAqB,iBAAV/O,EACT,MAAM,IAAIsO,EAAOgB,qBAAqBP,EAAM,SAAU/O,GAI1D,SAASqL,EAAarL,EAAOtC,EAAQgE,GACnC,GAAI8D,KAAK+J,MAAMvP,KAAWA,EAExB,MADAkL,EAAelL,EAAO0B,GAChB,IAAI4M,EAAOc,iBAAiB1N,GAAQ,SAAU,aAAc1B,GAGpE,GAAItC,EAAS,EACX,MAAM,IAAI4Q,EAAOkB,yBAGnB,MAAM,IAAIlB,EAAOc,iBAAiB1N,GAAQ,SACR,MAAMA,EAAO,EAAI,YAAYhE,IAC7BsC,GAtFpCuO,EAAE,4BACA,SAAUQ,GACR,OAAIA,EACK,GAAGA,gCAGL,mDACNzP,YACLiP,EAAE,wBACA,SAAUQ,EAAM3O,GACd,MAAO,QAAQ2O,4DAA+D3O,MAC7EP,WACL0O,EAAE,oBACA,SAAUzJ,EAAKqK,EAAOM,GACpB,IAAIC,EAAM,iBAAiB5K,sBACvB6K,EAAWF,EAWf,OAVIpL,OAAOuL,UAAUH,IAAUjK,KAAKqK,IAAIJ,GAAS,GAAK,GACpDE,EAAWT,EAAsBrL,OAAO4L,IACd,iBAAVA,IAChBE,EAAW9L,OAAO4L,IACdA,EAAQhG,OAAO,IAAMA,OAAO,KAAOgG,IAAUhG,OAAO,IAAMA,OAAO,QACnEkG,EAAWT,EAAsBS,IAEnCA,GAAY,KAEdD,GAAO,eAAeP,eAAmBQ,IAClCD,IACNpQ,YAiEL,MAAMwQ,EAAoB,oBAgB1B,SAASxN,EAAarC,EAAQkF,GAE5B,IAAIS,EADJT,EAAQA,GAAS4K,IAEjB,MAAMrS,EAASuC,EAAOvC,OACtB,IAAIsS,EAAgB,KACpB,MAAM7G,EAAQ,GAEd,IAAK,IAAInM,EAAI,EAAGA,EAAIU,IAAUV,EAAG,CAI/B,GAHA4I,EAAY3F,EAAO1C,WAAWP,GAG1B4I,EAAY,OAAUA,EAAY,MAAQ,CAE5C,IAAKoK,EAAe,CAElB,GAAIpK,EAAY,MAAQ,EAEjBT,GAAS,IAAM,GAAGgE,EAAMpL,KAAK,IAAM,IAAM,KAC9C,SACK,GAAIf,EAAI,IAAMU,EAAQ,EAEtByH,GAAS,IAAM,GAAGgE,EAAMpL,KAAK,IAAM,IAAM,KAC9C,SAIFiS,EAAgBpK,EAEhB,SAIF,GAAIA,EAAY,MAAQ,EACjBT,GAAS,IAAM,GAAGgE,EAAMpL,KAAK,IAAM,IAAM,KAC9CiS,EAAgBpK,EAChB,SAIFA,EAAkE,OAArDoK,EAAgB,OAAU,GAAKpK,EAAY,YAC/CoK,IAEJ7K,GAAS,IAAM,GAAGgE,EAAMpL,KAAK,IAAM,IAAM,KAMhD,GAHAiS,EAAgB,KAGZpK,EAAY,IAAM,CACpB,IAAKT,GAAS,GAAK,EAAG,MACtBgE,EAAMpL,KAAK6H,QACN,GAAIA,EAAY,KAAO,CAC5B,IAAKT,GAAS,GAAK,EAAG,MACtBgE,EAAMpL,KACJ6H,GAAa,EAAM,IACP,GAAZA,EAAmB,UAEhB,GAAIA,EAAY,MAAS,CAC9B,IAAKT,GAAS,GAAK,EAAG,MACtBgE,EAAMpL,KACJ6H,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,SAEhB,MAAIA,EAAY,SASrB,MAAM,IAAItH,MAAM,sBARhB,IAAK6G,GAAS,GAAK,EAAG,MACtBgE,EAAMpL,KACJ6H,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,MAOzB,OAAOuD,EA4BT,SAAS5G,EAAeuC,GACtB,OAAOlG,EAAO9B,YAxHhB,SAAsBgI,GAMpB,IAFAA,GAFAA,EAAMA,EAAImL,MAAM,KAAK,IAEX3H,OAAOD,QAAQyH,EAAmB,KAEpCpS,OAAS,EAAG,MAAO,GAE3B,KAAOoH,EAAIpH,OAAS,GAAM,GACxBoH,GAAY,IAEd,OAAOA,EA6GmBoL,CAAYpL,IAGxC,SAASF,EAAYuL,EAAKC,EAAKhM,EAAQ1G,GACrC,IAAIV,EACJ,IAAKA,EAAI,EAAGA,EAAIU,KACTV,EAAIoH,GAAUgM,EAAI1S,QAAYV,GAAKmT,EAAIzS,UADpBV,EAExBoT,EAAIpT,EAAIoH,GAAU+L,EAAInT,GAExB,OAAOA,EAMT,SAAS2D,EAAYU,EAAKK,GACxB,OAAOL,aAAeK,GACZ,MAAPL,GAAkC,MAAnBA,EAAIsN,aAA+C,MAAxBtN,EAAIsN,YAAYI,MACzD1N,EAAIsN,YAAYI,OAASrN,EAAKqN,KAEpC,SAAStN,EAAaJ,GAEpB,OAAOA,GAAQA,EAKjB,MAAM6H,EAAsB,WAC1B,MAAMmH,EAAW,mBACXC,EAAQ,IAAIlS,MAAM,KACxB,IAAK,IAAIpB,EAAI,EAAGA,EAAI,KAAMA,EAAG,CAC3B,MAAMuT,EAAU,GAAJvT,EACZ,IAAK,IAAIkH,EAAI,EAAGA,EAAI,KAAMA,EACxBoM,EAAMC,EAAMrM,GAAKmM,EAASrT,GAAKqT,EAASnM,GAG5C,OAAOoM,EATmB,GAa5B,SAASrF,EAAoBuF,GAC3B,MAAyB,oBAAX/G,OAAyBgH,EAAyBD,EAGlE,SAASC,IACP,MAAM,IAAInS,MAAM,0B,YCvjElB/B,EAAQuH,KAAO,SAAUhD,EAAQsD,EAAQsM,EAAMC,EAAMC,GACnD,IAAIjK,EAAGxD,EACH0N,EAAiB,EAATD,EAAcD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,GAAS,EACThU,EAAI0T,EAAQE,EAAS,EAAK,EAC1BK,EAAIP,GAAQ,EAAI,EAChBQ,EAAIpQ,EAAOsD,EAASpH,GAOxB,IALAA,GAAKiU,EAELtK,EAAIuK,GAAM,IAAOF,GAAU,EAC3BE,KAAQF,EACRA,GAASH,EACFG,EAAQ,EAAGrK,EAAS,IAAJA,EAAW7F,EAAOsD,EAASpH,GAAIA,GAAKiU,EAAGD,GAAS,GAKvE,IAHA7N,EAAIwD,GAAM,IAAOqK,GAAU,EAC3BrK,KAAQqK,EACRA,GAASL,EACFK,EAAQ,EAAG7N,EAAS,IAAJA,EAAWrC,EAAOsD,EAASpH,GAAIA,GAAKiU,EAAGD,GAAS,GAEvE,GAAU,IAANrK,EACFA,EAAI,EAAIoK,MACH,IAAIpK,IAAMmK,EACf,OAAO3N,EAAIgO,IAAsBpB,KAAdmB,GAAK,EAAI,GAE5B/N,GAAQqC,KAAKgG,IAAI,EAAGmF,GACpBhK,GAAQoK,EAEV,OAAQG,GAAK,EAAI,GAAK/N,EAAIqC,KAAKgG,IAAI,EAAG7E,EAAIgK,IAG5CpU,EAAQ8D,MAAQ,SAAUS,EAAQd,EAAOoE,EAAQsM,EAAMC,EAAMC,GAC3D,IAAIjK,EAAGxD,EAAGiC,EACNyL,EAAiB,EAATD,EAAcD,EAAO,EAC7BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBM,EAAe,KAATT,EAAcnL,KAAKgG,IAAI,GAAI,IAAMhG,KAAKgG,IAAI,GAAI,IAAM,EAC1DxO,EAAI0T,EAAO,EAAKE,EAAS,EACzBK,EAAIP,EAAO,GAAK,EAChBQ,EAAIlR,EAAQ,GAAgB,IAAVA,GAAe,EAAIA,EAAQ,EAAK,EAAI,EAmC1D,IAjCAA,EAAQwF,KAAKqK,IAAI7P,GAEbqR,MAAMrR,IAAUA,IAAU+P,KAC5B5M,EAAIkO,MAAMrR,GAAS,EAAI,EACvB2G,EAAImK,IAEJnK,EAAInB,KAAK+J,MAAM/J,KAAK8L,IAAItR,GAASwF,KAAK+L,KAClCvR,GAASoF,EAAII,KAAKgG,IAAI,GAAI7E,IAAM,IAClCA,IACAvB,GAAK,IAGLpF,GADE2G,EAAIoK,GAAS,EACNK,EAAKhM,EAELgM,EAAK5L,KAAKgG,IAAI,EAAG,EAAIuF,IAEpB3L,GAAK,IACfuB,IACAvB,GAAK,GAGHuB,EAAIoK,GAASD,GACf3N,EAAI,EACJwD,EAAImK,GACKnK,EAAIoK,GAAS,GACtB5N,GAAMnD,EAAQoF,EAAK,GAAKI,KAAKgG,IAAI,EAAGmF,GACpChK,GAAQoK,IAER5N,EAAInD,EAAQwF,KAAKgG,IAAI,EAAGuF,EAAQ,GAAKvL,KAAKgG,IAAI,EAAGmF,GACjDhK,EAAI,IAIDgK,GAAQ,EAAG7P,EAAOsD,EAASpH,GAAS,IAAJmG,EAAUnG,GAAKiU,EAAG9N,GAAK,IAAKwN,GAAQ,GAI3E,IAFAhK,EAAKA,GAAKgK,EAAQxN,EAClB0N,GAAQF,EACDE,EAAO,EAAG/P,EAAOsD,EAASpH,GAAS,IAAJ2J,EAAU3J,GAAKiU,EAAGtK,GAAK,IAAKkK,GAAQ,GAE1E/P,EAAOsD,EAASpH,EAAIiU,IAAU,IAAJC,I,sBCzD5B,SAASM,EAAWC,GAClB,GAAoB,iBAATA,EACT,MAAM,IAAI5R,UAAU,mCAAqC6R,KAAKC,UAAUF,IAK5E,SAASG,EAAqBH,EAAMI,GAMlC,IALA,IAIIxT,EAJAqH,EAAM,GACNoM,EAAoB,EACpBC,GAAa,EACbC,EAAO,EAEFhV,EAAI,EAAGA,GAAKyU,EAAK/T,SAAUV,EAAG,CACrC,GAAIA,EAAIyU,EAAK/T,OACXW,EAAOoT,EAAKlU,WAAWP,OACpB,IAAa,KAATqB,EACP,MAEAA,EAAO,GACT,GAAa,KAATA,EAAmB,CACrB,GAAI0T,IAAc/U,EAAI,GAAc,IAATgV,QAEpB,GAAID,IAAc/U,EAAI,GAAc,IAATgV,EAAY,CAC5C,GAAItM,EAAIhI,OAAS,GAA2B,IAAtBoU,GAA8D,KAAnCpM,EAAInI,WAAWmI,EAAIhI,OAAS,IAAsD,KAAnCgI,EAAInI,WAAWmI,EAAIhI,OAAS,GAC1H,GAAIgI,EAAIhI,OAAS,EAAG,CAClB,IAAIuU,EAAiBvM,EAAIjC,YAAY,KACrC,GAAIwO,IAAmBvM,EAAIhI,OAAS,EAAG,EACb,IAApBuU,GACFvM,EAAM,GACNoM,EAAoB,GAGpBA,GADApM,EAAMA,EAAIpF,MAAM,EAAG2R,IACKvU,OAAS,EAAIgI,EAAIjC,YAAY,KAEvDsO,EAAY/U,EACZgV,EAAO,EACP,eAEG,GAAmB,IAAftM,EAAIhI,QAA+B,IAAfgI,EAAIhI,OAAc,CAC/CgI,EAAM,GACNoM,EAAoB,EACpBC,EAAY/U,EACZgV,EAAO,EACP,SAGAH,IACEnM,EAAIhI,OAAS,EACfgI,GAAO,MAEPA,EAAM,KACRoM,EAAoB,QAGlBpM,EAAIhI,OAAS,EACfgI,GAAO,IAAM+L,EAAKnR,MAAMyR,EAAY,EAAG/U,GAEvC0I,EAAM+L,EAAKnR,MAAMyR,EAAY,EAAG/U,GAClC8U,EAAoB9U,EAAI+U,EAAY,EAEtCA,EAAY/U,EACZgV,EAAO,OACW,KAAT3T,IAA+B,IAAV2T,IAC5BA,EAEFA,GAAQ,EAGZ,OAAOtM,EAeT,IAAIwM,EAAQ,CAEVC,QAAS,WAKP,IAJA,IAEIC,EAFAC,EAAe,GACfC,GAAmB,EAGdtV,EAAIoF,UAAU1E,OAAS,EAAGV,IAAM,IAAMsV,EAAkBtV,IAAK,CACpE,IAAIyU,EACAzU,GAAK,EACPyU,EAAOrP,UAAUpF,SAELwE,IAAR4Q,IACFA,EAAM,KACRX,EAAOW,GAGTZ,EAAWC,GAGS,IAAhBA,EAAK/T,SAIT2U,EAAeZ,EAAO,IAAMY,EAC5BC,EAA0C,KAAvBb,EAAKlU,WAAW,IASrC,OAFA8U,EAAeT,EAAqBS,GAAeC,GAE/CA,EACED,EAAa3U,OAAS,EACjB,IAAM2U,EAEN,IACAA,EAAa3U,OAAS,EACxB2U,EAEA,KAIXE,UAAW,SAAmBd,GAG5B,GAFAD,EAAWC,GAES,IAAhBA,EAAK/T,OAAc,MAAO,IAE9B,IAAI8U,EAAoC,KAAvBf,EAAKlU,WAAW,GAC7BkV,EAAyD,KAArChB,EAAKlU,WAAWkU,EAAK/T,OAAS,GAQtD,OAHoB,KAFpB+T,EAAOG,EAAqBH,GAAOe,IAE1B9U,QAAiB8U,IAAYf,EAAO,KACzCA,EAAK/T,OAAS,GAAK+U,IAAmBhB,GAAQ,KAE9Ce,EAAmB,IAAMf,EACtBA,GAGTe,WAAY,SAAoBf,GAE9B,OADAD,EAAWC,GACJA,EAAK/T,OAAS,GAA4B,KAAvB+T,EAAKlU,WAAW,IAG5CW,KAAM,WACJ,GAAyB,IAArBkE,UAAU1E,OACZ,MAAO,IAET,IADA,IAAIgV,EACK1V,EAAI,EAAGA,EAAIoF,UAAU1E,SAAUV,EAAG,CACzC,IAAI2C,EAAMyC,UAAUpF,GACpBwU,EAAW7R,GACPA,EAAIjC,OAAS,SACA8D,IAAXkR,EACFA,EAAS/S,EAET+S,GAAU,IAAM/S,GAGtB,YAAe6B,IAAXkR,EACK,IACFR,EAAMK,UAAUG,IAGzBC,SAAU,SAAkB5S,EAAM6S,GAIhC,GAHApB,EAAWzR,GACXyR,EAAWoB,GAEP7S,IAAS6S,EAAI,MAAO,GAKxB,IAHA7S,EAAOmS,EAAMC,QAAQpS,OACrB6S,EAAKV,EAAMC,QAAQS,IAEF,MAAO,GAIxB,IADA,IAAIC,EAAY,EACTA,EAAY9S,EAAKrC,QACa,KAA/BqC,EAAKxC,WAAWsV,KADYA,GASlC,IALA,IAAIC,EAAU/S,EAAKrC,OACfqV,EAAUD,EAAUD,EAGpBG,EAAU,EACPA,EAAUJ,EAAGlV,QACa,KAA3BkV,EAAGrV,WAAWyV,KADUA,GAW9B,IAPA,IACIC,EADQL,EAAGlV,OACKsV,EAGhBtV,EAASqV,EAAUE,EAAQF,EAAUE,EACrCC,GAAiB,EACjBlW,EAAI,EACDA,GAAKU,IAAUV,EAAG,CACvB,GAAIA,IAAMU,EAAQ,CAChB,GAAIuV,EAAQvV,EAAQ,CAClB,GAAmC,KAA/BkV,EAAGrV,WAAWyV,EAAUhW,GAG1B,OAAO4V,EAAGtS,MAAM0S,EAAUhW,EAAI,GACzB,GAAU,IAANA,EAGT,OAAO4V,EAAGtS,MAAM0S,EAAUhW,QAEnB+V,EAAUrV,IACoB,KAAnCqC,EAAKxC,WAAWsV,EAAY7V,GAG9BkW,EAAgBlW,EACD,IAANA,IAGTkW,EAAgB,IAGpB,MAEF,IAAIC,EAAWpT,EAAKxC,WAAWsV,EAAY7V,GAE3C,GAAImW,IADSP,EAAGrV,WAAWyV,EAAUhW,GAEnC,MACoB,KAAbmW,IACPD,EAAgBlW,GAGpB,IAAIiM,EAAM,GAGV,IAAKjM,EAAI6V,EAAYK,EAAgB,EAAGlW,GAAK8V,IAAW9V,EAClDA,IAAM8V,GAAkC,KAAvB/S,EAAKxC,WAAWP,KAChB,IAAfiM,EAAIvL,OACNuL,GAAO,KAEPA,GAAO,OAMb,OAAIA,EAAIvL,OAAS,EACRuL,EAAM2J,EAAGtS,MAAM0S,EAAUE,IAEhCF,GAAWE,EACoB,KAA3BN,EAAGrV,WAAWyV,MACdA,EACGJ,EAAGtS,MAAM0S,KAIpBI,UAAW,SAAmB3B,GAC5B,OAAOA,GAGT4B,QAAS,SAAiB5B,GAExB,GADAD,EAAWC,GACS,IAAhBA,EAAK/T,OAAc,MAAO,IAK9B,IAJA,IAAIW,EAAOoT,EAAKlU,WAAW,GACvB+V,EAAmB,KAATjV,EACVI,GAAO,EACP8U,GAAe,EACVvW,EAAIyU,EAAK/T,OAAS,EAAGV,GAAK,IAAKA,EAEtC,GAAa,MADbqB,EAAOoT,EAAKlU,WAAWP,KAEnB,IAAKuW,EAAc,CACjB9U,EAAMzB,EACN,YAIJuW,GAAe,EAInB,OAAa,IAAT9U,EAAmB6U,EAAU,IAAM,IACnCA,GAAmB,IAAR7U,EAAkB,KAC1BgT,EAAKnR,MAAM,EAAG7B,IAGvB+U,SAAU,SAAkB/B,EAAMpI,GAChC,QAAY7H,IAAR6H,GAAoC,iBAARA,EAAkB,MAAM,IAAIxJ,UAAU,mCACtE2R,EAAWC,GAEX,IAGIzU,EAHAwB,EAAQ,EACRC,GAAO,EACP8U,GAAe,EAGnB,QAAY/R,IAAR6H,GAAqBA,EAAI3L,OAAS,GAAK2L,EAAI3L,QAAU+T,EAAK/T,OAAQ,CACpE,GAAI2L,EAAI3L,SAAW+T,EAAK/T,QAAU2L,IAAQoI,EAAM,MAAO,GACvD,IAAIgC,EAASpK,EAAI3L,OAAS,EACtBgW,GAAoB,EACxB,IAAK1W,EAAIyU,EAAK/T,OAAS,EAAGV,GAAK,IAAKA,EAAG,CACrC,IAAIqB,EAAOoT,EAAKlU,WAAWP,GAC3B,GAAa,KAATqB,GAGA,IAAKkV,EAAc,CACjB/U,EAAQxB,EAAI,EACZ,YAGsB,IAAtB0W,IAGFH,GAAe,EACfG,EAAmB1W,EAAI,GAErByW,GAAU,IAERpV,IAASgL,EAAI9L,WAAWkW,IACR,KAAZA,IAGJhV,EAAMzB,IAKRyW,GAAU,EACVhV,EAAMiV,IAOd,OADIlV,IAAUC,EAAKA,EAAMiV,GAAmC,IAATjV,IAAYA,EAAMgT,EAAK/T,QACnE+T,EAAKnR,MAAM9B,EAAOC,GAEzB,IAAKzB,EAAIyU,EAAK/T,OAAS,EAAGV,GAAK,IAAKA,EAClC,GAA2B,KAAvByU,EAAKlU,WAAWP,IAGhB,IAAKuW,EAAc,CACjB/U,EAAQxB,EAAI,EACZ,YAEgB,IAATyB,IAGX8U,GAAe,EACf9U,EAAMzB,EAAI,GAId,OAAa,IAATyB,EAAmB,GAChBgT,EAAKnR,MAAM9B,EAAOC,IAI7BkV,QAAS,SAAiBlC,GACxBD,EAAWC,GAQX,IAPA,IAAImC,GAAY,EACZC,EAAY,EACZpV,GAAO,EACP8U,GAAe,EAGfO,EAAc,EACT9W,EAAIyU,EAAK/T,OAAS,EAAGV,GAAK,IAAKA,EAAG,CACzC,IAAIqB,EAAOoT,EAAKlU,WAAWP,GAC3B,GAAa,KAATqB,GASS,IAATI,IAGF8U,GAAe,EACf9U,EAAMzB,EAAI,GAEC,KAATqB,GAEkB,IAAduV,EACFA,EAAW5W,EACY,IAAhB8W,IACPA,EAAc,IACK,IAAdF,IAGTE,GAAe,QArBb,IAAKP,EAAc,CACjBM,EAAY7W,EAAI,EAChB,OAuBR,OAAkB,IAAd4W,IAA4B,IAATnV,GAEH,IAAhBqV,GAEgB,IAAhBA,GAAqBF,IAAanV,EAAM,GAAKmV,IAAaC,EAAY,EACjE,GAEFpC,EAAKnR,MAAMsT,EAAUnV,IAG9BsV,OAAQ,SAAgBC,GACtB,GAAmB,OAAfA,GAA6C,iBAAfA,EAChC,MAAM,IAAInU,UAAU,0EAA4EmU,GAElG,OAvVJ,SAAiBC,EAAKD,GACpB,IAAI1Q,EAAM0Q,EAAW1Q,KAAO0Q,EAAWE,KACnCC,EAAOH,EAAWG,OAASH,EAAWjF,MAAQ,KAAOiF,EAAW3K,KAAO,IAC3E,OAAK/F,EAGDA,IAAQ0Q,EAAWE,KACd5Q,EAAM6Q,EAER7Q,EA8UU,IA9UE6Q,EALVA,EAmVAC,CAAQ,EAAKJ,IAGtBK,MAAO,SAAe5C,GACpBD,EAAWC,GAEX,IAAIzI,EAAM,CAAEkL,KAAM,GAAI5Q,IAAK,GAAI6Q,KAAM,GAAI9K,IAAK,GAAI0F,KAAM,IACxD,GAAoB,IAAhB0C,EAAK/T,OAAc,OAAOsL,EAC9B,IAEIxK,EAFAH,EAAOoT,EAAKlU,WAAW,GACvBiV,EAAsB,KAATnU,EAEbmU,GACFxJ,EAAIkL,KAAO,IACX1V,EAAQ,GAERA,EAAQ,EAaV,IAXA,IAAIoV,GAAY,EACZC,EAAY,EACZpV,GAAO,EACP8U,GAAe,EACfvW,EAAIyU,EAAK/T,OAAS,EAIlBoW,EAAc,EAGX9W,GAAKwB,IAASxB,EAEnB,GAAa,MADbqB,EAAOoT,EAAKlU,WAAWP,KAUV,IAATyB,IAGF8U,GAAe,EACf9U,EAAMzB,EAAI,GAEC,KAATqB,GAEkB,IAAduV,EAAiBA,EAAW5W,EAA2B,IAAhB8W,IAAmBA,EAAc,IACrD,IAAdF,IAGXE,GAAe,QAlBb,IAAKP,EAAc,CACjBM,EAAY7W,EAAI,EAChB,MAyCR,OArBkB,IAAd4W,IAA4B,IAATnV,GAEP,IAAhBqV,GAEgB,IAAhBA,GAAqBF,IAAanV,EAAM,GAAKmV,IAAaC,EAAY,GACvD,IAATpV,IACiCuK,EAAImL,KAAOnL,EAAI+F,KAAhC,IAAd8E,GAAmBrB,EAAkCf,EAAKnR,MAAM,EAAG7B,GAAgCgT,EAAKnR,MAAMuT,EAAWpV,KAG7G,IAAdoV,GAAmBrB,GACrBxJ,EAAI+F,KAAO0C,EAAKnR,MAAM,EAAGsT,GACzB5K,EAAImL,KAAO1C,EAAKnR,MAAM,EAAG7B,KAEzBuK,EAAI+F,KAAO0C,EAAKnR,MAAMuT,EAAWD,GACjC5K,EAAImL,KAAO1C,EAAKnR,MAAMuT,EAAWpV,IAEnCuK,EAAIK,IAAMoI,EAAKnR,MAAMsT,EAAUnV,IAG7BoV,EAAY,EAAG7K,EAAI1F,IAAMmO,EAAKnR,MAAM,EAAGuT,EAAY,GAAYrB,IAAYxJ,EAAI1F,IAAM,KAElF0F,GAGTiL,IAAK,IACLK,UAAW,IACXC,MAAO,KACPrC,MAAO,MAGTA,EAAMA,MAAQA,EAEdsC,EAAOjY,QAAU2V,G,uBC9fjBuC,QAAQ/U,UAAUgV,aAAe,WAC7BhS,KAAKiS,OAAM,W,4BCbfH,EAAOjY,QAAU,EAAjB,O,kCCDA,IAAIqY,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ6Y,wBAA0B7Y,EAAQ8Y,qBAAuB9Y,EAAQ+Y,0BAAuB,EAClF,EAAQ,MAEhBC,QAAQC,UACd,MAAMC,EAAQ,EAAQ,MACtBR,EAAa,EAAQ,MAAkB1Y,GACvC,MAAM+Y,UAA6BG,EAAMC,sBACrC/G,YAAYgH,GACR/G,QACAlM,KAAKkT,QAAU,IAAIH,EAAMI,QACzBnT,KAAKoT,iBAAoBC,IACrBrT,KAAKkT,QAAQI,KAAKD,EAAMnU,OAE5B+T,EAAQM,iBAAiB,SAAUF,GAAUrT,KAAKwT,UAAUH,KAC5DJ,EAAQQ,UAAYzT,KAAKoT,iBAE7BM,OAAOC,GACH,OAAO3T,KAAKkT,QAAQG,MAAMM,IAGlC9Z,EAAQ+Y,qBAAuBA,EAC/B,MAAMD,UAA6BI,EAAMa,sBACrC3H,YAAYgH,GACR/G,QACAlM,KAAKiT,QAAUA,EACfjT,KAAK6T,WAAa,EAClBZ,EAAQM,iBAAiB,SAAUF,GAAUrT,KAAKwT,UAAUH,KAEhE1V,MAAMqP,GACF,IAEI,OADAhN,KAAKiT,QAAQa,YAAY9G,GAClB+E,QAAQtC,UAEnB,MAAOrL,GAEH,OADApE,KAAK+T,YAAY3P,EAAO4I,GACjB+E,QAAQiC,OAAO5P,IAG9B2P,YAAY3P,EAAO4I,GACfhN,KAAK6T,aACL7T,KAAKwT,UAAUpP,EAAO4I,EAAKhN,KAAK6T,YAEpC9X,QAGJlC,EAAQ8Y,qBAAuBA,EAU/B9Y,EAAQ6Y,wBATR,SAAiCuB,EAAQC,EAAQC,EAAQC,GAOrD,YANetV,IAAXqV,IACAA,EAASpB,EAAMsB,YAEftB,EAAMuB,mBAAmBC,GAAGH,KAC5BA,EAAU,CAAEI,mBAAoBJ,IAE7BrB,EAAML,wBAAwBuB,EAAQC,EAAQC,EAAQC,K,4BChEjEtX,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtD,MAAMmX,EAAQ,EAAQ,KAChBC,EAAe,EAAQ,MACvBC,EAAW,EAAQ,MACnBC,EAAkB,EAAQ,MAChC,MAAMC,UAAsBD,EAAgBE,sBACxC7I,YAAYzO,EAAW,SACnB0O,MAAM1O,GACNwC,KAAK+U,aAAe,IAAIC,YAAY,SAExCC,cACI,OAAOJ,EAAcI,YAEzBpX,WAAWP,EAAO4X,GACd,OAAO,IAAKC,aAAeC,OAAO9X,GAEtCkC,SAASlC,EAAOE,GACZ,MAAiB,UAAbA,EACOwC,KAAK+U,aAAaM,OAAO/X,GAGzB,IAAK0X,YAAYxX,GAAW6X,OAAO/X,GAGlDgY,SAASlX,EAAQpD,GACb,YAAe8D,IAAX9D,EACOoD,EAGAA,EAAOR,MAAM,EAAG5C,GAG/Bua,YAAYva,GACR,OAAO,IAAIS,WAAWT,IAG9B6Z,EAAcI,YAAc,IAAIxZ,WAAW,GAC3C,MAAM+Z,EACFvJ,YAAYwJ,GACRzV,KAAKyV,OAASA,EACdzV,KAAKkT,QAAU,IAAIyB,EAASxB,QAC5BnT,KAAKoT,iBAAoBC,IACRA,EAAMnU,KACdwW,cAAcC,MAAMvX,IACrB4B,KAAKkT,QAAQI,KAAK,IAAI7X,WAAW2C,QAGzC4B,KAAKyV,OAAOlC,iBAAiB,UAAWvT,KAAKoT,kBAEjDwC,QAAQC,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFG,QAAQH,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFI,MAAMJ,GAEF,OADA7V,KAAKyV,OAAOlC,iBAAiB,MAAOsC,GAC7BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,MAAOF,KAEvFK,OAAOL,GACH,OAAO7V,KAAKkT,QAAQG,MAAMwC,IAGlC,MAAMM,EACFlK,YAAYwJ,GACRzV,KAAKyV,OAASA,EAElBG,QAAQC,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFG,QAAQH,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFI,MAAMJ,GAEF,OADA7V,KAAKyV,OAAOlC,iBAAiB,MAAOsC,GAC7BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,MAAOF,KAEvFlY,MAAMuB,EAAM1B,GACR,GAAoB,iBAAT0B,EAAmB,CAC1B,QAAiBJ,IAAbtB,GAAuC,UAAbA,EAC1B,MAAM,IAAI5B,MAAM,qFAAqF4B,KAEzGwC,KAAKyV,OAAOW,KAAKlX,QAGjBc,KAAKyV,OAAOW,KAAKlX,GAErB,OAAO6S,QAAQtC,UAEnB1T,MACIiE,KAAKyV,OAAOY,SAGpB,MAAMC,EAAe,IAAInB,YACnBoB,EAAOzZ,OAAO0Z,OAAO,CACvBC,cAAe3Z,OAAO0Z,OAAO,CACzBrE,OAAS3U,GAAa,IAAIqX,EAAcrX,KAE5CkZ,gBAAiB5Z,OAAO0Z,OAAO,CAC3BG,QAAS7Z,OAAO0Z,OAAO,CACnBnK,KAAM,mBACN+I,OAAQ,CAACpI,EAAKoH,KACV,GAAwB,UAApBA,EAAQwC,QACR,MAAM,IAAIhb,MAAM,qFAAqFwY,EAAQwC,WAEjH,OAAO7E,QAAQtC,QAAQ6G,EAAalB,OAAOpG,KAAKC,UAAUjC,OAAKlO,EAAW,QAGlF+X,QAAS/Z,OAAO0Z,OAAO,CACnBnK,KAAM,mBACNgJ,OAAQ,CAACjX,EAAQgW,KACb,KAAMhW,aAAkB3C,YACpB,MAAM,IAAIG,MAAM,6DAEpB,OAAOmW,QAAQtC,QAAQT,KAAK2C,MAAM,IAAIqD,YAAYZ,EAAQwC,SAASvB,OAAOjX,UAItF0Y,OAAQha,OAAO0Z,OAAO,CAClBO,iBAAmBtB,GAAW,IAAID,EAAsBC,GACxDuB,iBAAmBvB,GAAW,IAAIU,EAAsBV,KAE5DtR,QACA8S,MAAOna,OAAO0Z,OAAO,CACjBU,WAAU,CAACvD,EAAUwD,KAAOC,IACjBF,WAAWvD,EAAUwD,KAAOC,GAEvCC,aAAaC,GACTD,aAAaC,IAEjBC,aAAY,CAAC5D,KAAayD,IACfF,WAAWvD,EAAU,KAAMyD,GAEtCI,eAAeF,GACXD,aAAaC,QAIzB,SAASG,IACL,OAAOlB,GAEX,SAAWkB,GAIPA,EAAI3E,QAHJ,WACI2B,EAAM5B,QAAQC,QAAQyD,IAF9B,CAKGkB,IAAQA,EAAM,KACjB5d,EAAQgZ,QAAU4E,G,4BCtJlB3a,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ6d,2BAA6B7d,EAAQ8d,6BAA+B9d,EAAQ+d,gBAAkB/d,EAAQge,iBAAmBhe,EAAQie,qBAAuBje,EAAQke,qBAAuBle,EAAQme,YAAcne,EAAQoe,MAAQpe,EAAQqe,aAAere,EAAQ6Y,wBAA0B7Y,EAAQwa,WAAaxa,EAAQse,kBAAoBte,EAAQya,mBAAqBza,EAAQue,6BAA+Bve,EAAQ+Z,sBAAwB/Z,EAAQwe,cAAgBxe,EAAQye,4BAA8Bze,EAAQmZ,sBAAwBnZ,EAAQ0e,cAAgB1e,EAAQ2e,kBAAoB3e,EAAQ4e,wBAA0B5e,EAAQsZ,QAAUtZ,EAAQ6e,MAAQ7e,EAAQic,WAAajc,EAAQ8e,oBAAsB9e,EAAQ+e,kBAAoB/e,EAAQgf,kBAAoBhf,EAAQif,kBAAoBjf,EAAQkf,kBAAoBlf,EAAQmf,kBAAoBnf,EAAQof,kBAAoBpf,EAAQqf,kBAAoBrf,EAAQsf,kBAAoBtf,EAAQuf,kBAAoBvf,EAAQwf,kBAAoBxf,EAAQyf,iBAAmBzf,EAAQ0f,WAAa1f,EAAQ2f,cAAgB3f,EAAQ4f,aAAe5f,EAAQ6f,aAAe7f,EAAQ8f,aAAe9f,EAAQ+f,aAAe/f,EAAQggB,aAAehgB,EAAQigB,aAAejgB,EAAQkgB,aAAelgB,EAAQmgB,aAAengB,EAAQogB,aAAepgB,EAAQqgB,aAAergB,EAAQsgB,YAActgB,EAAQugB,SAAM,EACtyCvgB,EAAQwgB,0BAAuB,EAC/B,MAAMC,EAAa,EAAQ,KAC3Bxd,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWH,eACvGrd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWJ,gBACxGpd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWL,gBACxGnd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWN,gBACxGld,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWP,gBACxGjd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWR,gBACxGhd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWT,gBACxG/c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWV,gBACxG9c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWX,gBACxG7c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWZ,gBACxG5c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWb,gBACxG3c,OAAOuH,eAAexK,EAAS,gBAAiB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWd,iBACzG1c,OAAOuH,eAAexK,EAAS,aAAc,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWf,cACtGzc,OAAOuH,eAAexK,EAAS,mBAAoB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWhB,oBAC5Gxc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWjB,qBAC7Gvc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWlB,qBAC7Gtc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWnB,qBAC7Grc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWpB,qBAC7Gpc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWrB,qBAC7Gnc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWtB,qBAC7Glc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWvB,qBAC7Gjc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWxB,qBAC7Ghc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWzB,qBAC7G/b,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAW1B,qBAC7G9b,OAAOuH,eAAexK,EAAS,sBAAuB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAW3B,uBAC/G,MAAMjE,EAAe,EAAQ,MAC7B5X,OAAOuH,eAAexK,EAAS,aAAc,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmQ,EAAaoB,cACxG,MAAMnB,EAAW,EAAQ,MACzB7X,OAAOuH,eAAexK,EAAS,QAAS,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOoQ,EAAS+D,SAC/F5b,OAAOuH,eAAexK,EAAS,UAAW,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOoQ,EAASxB,WACjG,MAAMoH,EAAiB,EAAQ,MAC/Bzd,OAAOuH,eAAexK,EAAS,0BAA2B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgW,EAAe9B,2BACvH3b,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgW,EAAe/B,qBACjH,MAAMgC,EAAkB,EAAQ,MAChC1d,OAAOuH,eAAexK,EAAS,gBAAiB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOiW,EAAgBjC,iBAC9Gzb,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOiW,EAAgBxH,yBACtHlW,OAAOuH,eAAexK,EAAS,8BAA+B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOiW,EAAgBlC,+BAC5H,MAAMmC,EAAkB,EAAQ,MAChC3d,OAAOuH,eAAexK,EAAS,gBAAiB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkW,EAAgBpC,iBAC9Gvb,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkW,EAAgB7G,yBACtH9W,OAAOuH,eAAexK,EAAS,+BAAgC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkW,EAAgBrC,gCAC7H,MAAMsC,EAAe,EAAQ,MAC7B5d,OAAOuH,eAAexK,EAAS,qBAAsB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAapG,sBAChHxX,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAavC,qBAC/Grb,OAAOuH,eAAexK,EAAS,aAAc,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAarG,cACxGvX,OAAOuH,eAAexK,EAAS,0BAA2B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAahI,2BACrH5V,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAaxC,gBAC1Gpb,OAAOuH,eAAexK,EAAS,QAAS,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAazC,SACnGnb,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa1C,eACzGlb,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa3C,wBAClHjb,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa5C,wBAClHhb,OAAOuH,eAAexK,EAAS,mBAAoB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa7C,oBAC9G/a,OAAOuH,eAAexK,EAAS,kBAAmB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa9C,mBAC7G9a,OAAOuH,eAAexK,EAAS,+BAAgC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa/C,gCAC1H7a,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAahD,8BACxH5a,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAaL,wBAClH,MAAM5F,EAAQ,EAAQ,KACtB5a,EAAQugB,IAAM3F,EAAM5B,S,4BC9DpB/V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4e,wBAA0B5e,EAAQ2e,uBAAoB,EAC9D,MAAM/D,EAAQ,EAAQ,KAChBkG,EAAK,EAAQ,MACbhG,EAAW,EAAQ,MACzB,IAAI6D,GACJ,SAAWA,GACPA,EAAkBoC,KAAO9d,OAAO0Z,OAAO,CACnCqE,yBAAyB,EACzBC,wBAAyBnG,EAAS+D,MAAMkC,OAE5CpC,EAAkBuC,UAAYje,OAAO0Z,OAAO,CACxCqE,yBAAyB,EACzBC,wBAAyBnG,EAAS+D,MAAMkC,OAQ5CpC,EAAkBjE,GANlB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,IAAcA,IAAcxC,EAAkBoC,MAC9CI,IAAcxC,EAAkBuC,WAC/BJ,EAAGM,QAAQD,EAAUH,4BAA8BG,EAAUF,0BAb7E,CAgBGtC,EAAoB3e,EAAQ2e,oBAAsB3e,EAAQ2e,kBAAoB,KACjF,MAAM0C,EAAgBpe,OAAO0Z,QAAO,SAAU7C,EAAUV,GACpD,MAAMqE,EAAS7C,EAAM5B,UAAUoE,MAAMC,WAAWvD,EAASwH,KAAKlI,GAAU,GACxE,MAAO,CAAEmI,UAAY3G,EAAM5B,UAAUoE,MAAMI,aAAaC,QAE5D,MAAM+D,EACFpP,cACIjM,KAAKsb,cAAe,EAExBC,SACSvb,KAAKsb,eACNtb,KAAKsb,cAAe,EAChBtb,KAAKwb,WACLxb,KAAKwb,SAASlI,UAAKxU,GACnBkB,KAAKob,YAIjB,8BACI,OAAOpb,KAAKsb,aAEhB,8BACI,OAAItb,KAAKsb,aACEJ,GAENlb,KAAKwb,WACNxb,KAAKwb,SAAW,IAAI7G,EAASxB,SAE1BnT,KAAKwb,SAASnI,OAEzB+H,UACQpb,KAAKwb,WACLxb,KAAKwb,SAASJ,UACdpb,KAAKwb,cAAW1c,IAmC5BjF,EAAQ4e,wBA/BR,MACI,YAMI,OALKzY,KAAKyb,SAGNzb,KAAKyb,OAAS,IAAIJ,GAEfrb,KAAKyb,OAEhBF,SACSvb,KAAKyb,OAONzb,KAAKyb,OAAOF,SAHZvb,KAAKyb,OAASjD,EAAkBuC,UAMxCK,UACSpb,KAAKyb,OAIDzb,KAAKyb,kBAAkBJ,GAE5Brb,KAAKyb,OAAOL,UAJZpb,KAAKyb,OAASjD,EAAkBoC,Q,4BClF5C9d,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ6Y,wBAA0B7Y,EAAQse,kBAAoBte,EAAQwgB,qBAAuBxgB,EAAQ6d,2BAA6B7d,EAAQ8d,6BAA+B9d,EAAQya,mBAAqBza,EAAQ+d,gBAAkB/d,EAAQge,iBAAmBhe,EAAQie,qBAAuBje,EAAQke,qBAAuBle,EAAQme,YAAcne,EAAQoe,MAAQpe,EAAQwa,WAAaxa,EAAQqe,kBAAe,EAC3Y,MAAMzD,EAAQ,EAAQ,KAChBkG,EAAK,EAAQ,MACbL,EAAa,EAAQ,KACrBoB,EAAc,EAAQ,MACtB/G,EAAW,EAAQ,MACnB4F,EAAiB,EAAQ,MAC/B,IAAIoB,EAIAC,EASAC,EAaA5D,EAsCAD,EAiBAD,EAIAD,EAIAD,EAuBAvD,EAQAqD,EAaAD,EAcA2C,EAoBAyB,GAtKJ,SAAWH,GACPA,EAAmB3c,KAAO,IAAIsb,EAAWhB,iBAAiB,mBAD9D,CAEGqC,IAAuBA,EAAqB,KAE/C,SAAWC,GACPA,EAAqB5c,KAAO,IAAIsb,EAAWhB,iBAAiB,cADhE,CAEGsC,IAAyBA,EAAuB,KAKnD/hB,EAAQqe,aAJR,MACIjM,iBAKJ,SAAW4P,GAIPA,EAAmBtH,GAHnB,SAAYjX,GACR,OAAOqd,EAAGoB,KAAKze,IAFvB,CAKGue,IAAuBA,EAAqB,KAC/ChiB,EAAQwa,WAAavX,OAAO0Z,OAAO,CAC/BpS,MAAO,OACP4X,KAAM,OACNC,KAAM,OACNrN,IAAK,SAGT,SAAWqJ,GACPA,EAAMA,EAAW,IAAI,GAAK,MAC1BA,EAAMA,EAAgB,SAAI,GAAK,WAC/BA,EAAMA,EAAe,QAAI,GAAK,UAHlC,CAIGA,EAAQpe,EAAQoe,QAAUpe,EAAQoe,MAAQ,KAC7C,SAAWA,GAiBPA,EAAMpa,WAhBN,SAAoBP,GAChB,IAAKqd,EAAGpd,OAAOD,GACX,OAAO2a,EAAMiE,IAGjB,OADA5e,EAAQA,EAAMwC,eAEV,IAAK,MACD,OAAOmY,EAAMiE,IACjB,IAAK,WACD,OAAOjE,EAAMkE,SACjB,IAAK,UACD,OAAOlE,EAAMmE,QACjB,QACI,OAAOnE,EAAMiE,MAgBzBjE,EAAMzY,SAZN,SAAkBlC,GACd,OAAQA,GACJ,KAAK2a,EAAMiE,IACP,MAAO,MACX,KAAKjE,EAAMkE,SACP,MAAO,WACX,KAAKlE,EAAMmE,QACP,MAAO,UACX,QACI,MAAO,QA3BvB,CA+BGnE,EAAQpe,EAAQoe,QAAUpe,EAAQoe,MAAQ,KAE7C,SAAWD,GACPA,EAAkB,KAAI,OACtBA,EAAkB,KAAI,OAF1B,CAGiBne,EAAQme,cAAgBne,EAAQme,YAAc,KAC/D,SAAWA,GAUPA,EAAYna,WATZ,SAAoBP,GAEhB,MAAc,UADdA,EAAQA,EAAMwC,eAEHkY,EAAYhJ,KAGZgJ,EAAYqE,MAP/B,CAWGrE,EAAcne,EAAQme,cAAgBne,EAAQme,YAAc,KAE/D,SAAWD,GACPA,EAAqB/Y,KAAO,IAAIsb,EAAWhB,iBAAiB,cADhE,CAEGvB,EAAuBle,EAAQke,uBAAyBle,EAAQke,qBAAuB,KAE1F,SAAWD,GACPA,EAAqB9Y,KAAO,IAAIsb,EAAWhB,iBAAiB,cADhE,CAEGxB,EAAuBje,EAAQie,uBAAyBje,EAAQie,qBAAuB,KAE1F,SAAWD,GAIPA,EAAiBA,EAAyB,OAAI,GAAK,SAInDA,EAAiBA,EAA2B,SAAI,GAAK,WAIrDA,EAAiBA,EAAmC,iBAAI,GAAK,mBAZjE,CAaGA,EAAmBhe,EAAQge,mBAAqBhe,EAAQge,iBAAmB,KAC9E,MAAMD,UAAwBhc,MAC1BqQ,YAAYtQ,EAAM4Q,GACdL,MAAMK,GACNvM,KAAKrE,KAAOA,EACZmB,OAAOC,eAAeiD,KAAM4X,EAAgB5a,YAGpDnD,EAAQ+d,gBAAkBA,EAE1B,SAAWtD,GAKPA,EAAmBC,GAJnB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUsB,qBAH9C,CAMGhI,EAAqBza,EAAQya,qBAAuBza,EAAQya,mBAAqB,KAEpF,SAAWqD,GACPA,EAA6B4E,QAAUzf,OAAO0Z,OAAO,CACjDgG,8BAA8BC,GACnB,IAAIlC,EAAe9B,0BAOlCd,EAA6BpD,GAJ7B,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUwB,gCAR9C,CAWG7E,EAA+B9d,EAAQ8d,+BAAiC9d,EAAQ8d,6BAA+B,KAElH,SAAWD,GACPA,EAA2B6E,QAAUzf,OAAO0Z,OAAO,CAC/CkG,iBAAiBC,EAAMC,GACnBD,EAAKE,iBAAiBlB,EAAmB3c,KAAM,CAAE4d,QAErDE,QAAQL,OAMZ/E,EAA2BnD,GAJ3B,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAU0B,mBAAqB/B,EAAGoB,KAAKf,EAAU8B,UATrF,CAYGpF,EAA6B7d,EAAQ6d,6BAA+B7d,EAAQ6d,2BAA6B,KAE5G,SAAW2C,GACPA,EAAqBkC,QAAUzf,OAAO0Z,OAAO,CACzCuG,SAAUpF,EAA6B4E,QACvCS,OAAQtF,EAA2B6E,UAMvClC,EAAqB9F,GAJrB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAarD,EAA6BpD,GAAGyG,EAAU+B,WAAarF,EAA2BnD,GAAGyG,EAAUgC,SAP3H,CAUG3C,EAAuBxgB,EAAQwgB,uBAAyBxgB,EAAQwgB,qBAAuB,MAQnExgB,EAAQse,oBAAsBte,EAAQse,kBAAoB,KAD3D5D,GAJlB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,IAAcX,EAAqB9F,GAAGyG,EAAUiC,uBAAyB3I,EAAmBC,GAAGyG,EAAUxG,sBAKxH,SAAWsH,GACPA,EAAgBA,EAAqB,IAAI,GAAK,MAC9CA,EAAgBA,EAA2B,UAAI,GAAK,YACpDA,EAAgBA,EAAwB,OAAI,GAAK,SACjDA,EAAgBA,EAA0B,SAAI,GAAK,WAJvD,CAKGA,IAAoBA,EAAkB,KAo4BzCjiB,EAAQ6Y,wBAn4BR,SAAiCwK,EAAeC,EAAeC,EAAShJ,GACpE,MAAMD,OAAqBrV,IAAZse,EAAwBA,EAAUvjB,EAAQwa,WACzD,IAAIgJ,EAAiB,EACjBC,EAA4B,EAC5BC,EAA+B,EACnC,MAAMC,EAAU,MAChB,IAAIC,EACJ,MAAMC,EAAkB5gB,OAAOqV,OAAO,MACtC,IAAIwL,EACJ,MAAMC,EAAuB9gB,OAAOqV,OAAO,MACrC0L,EAAmB,IAAIC,IAC7B,IAAI7G,EAMA8G,EALAC,EAAe,IAAItC,EAAYuC,UAC/BC,EAAmBphB,OAAOqV,OAAO,MACjCgM,EAAgBrhB,OAAOqV,OAAO,MAC9BiM,EAAQnG,EAAMiE,IACdmC,EAAcrG,EAAYqE,KAE1BiC,EAAQxC,EAAgByC,IAC5B,MAAMC,EAAe,IAAI7J,EAASxB,QAC5BsL,EAAe,IAAI9J,EAASxB,QAC5BuL,EAA+B,IAAI/J,EAASxB,QAC5CwL,EAA2B,IAAIhK,EAASxB,QACxCyL,EAAiB,IAAIjK,EAASxB,QAC9B8J,EAAwB7I,GAAWA,EAAQ6I,qBAAwB7I,EAAQ6I,qBAAuB5C,EAAqBkC,QAC7H,SAASsC,EAAsBjC,GAC3B,GAAW,OAAPA,EACA,MAAM,IAAIhhB,MAAM,4EAEpB,MAAO,OAASghB,EAAGpd,WAwBvB,SAAS8c,EAAmBwC,IAG5B,SAASC,IACL,OAAOT,IAAUxC,EAAgBkD,UAErC,SAASC,IACL,OAAOX,IAAUxC,EAAgBoD,OAErC,SAASC,IACL,OAAOb,IAAUxC,EAAgBsD,SAErC,SAASC,IACDf,IAAUxC,EAAgByC,KAAOD,IAAUxC,EAAgBkD,YAC3DV,EAAQxC,EAAgBoD,OACxBT,EAAanL,UAAKxU,IAc1B,SAASwgB,IACDrI,GAA+B,IAAtB+G,EAAa1e,OAG1B2X,EAAQxC,EAAM5B,UAAUoE,MAAMM,cAAa,KACvCN,OAAQnY,EAIhB,WACI,GAA0B,IAAtBkf,EAAa1e,KACb,OAEJ,MAAMiN,EAAUyR,EAAauB,QAC7B,IACQjF,EAAWkF,iBAAiBjT,GA0CxC,SAAuBkT,GACnB,GAAIN,IAGA,OAEJ,SAASO,EAAMC,EAAeC,EAAQC,GAClC,MAAMtT,EAAU,CACZuT,QAAStC,EACTZ,GAAI6C,EAAe7C,IAEnB+C,aAAyBrF,EAAWd,cACpCjN,EAAQnI,MAAQub,EAAcI,SAG9BxT,EAAQyT,YAA2BlhB,IAAlB6gB,EAA8B,KAAOA,EAE1DM,GAAqB1T,EAASqT,EAAQC,GACtC1C,EAAcxf,MAAM4O,GAExB,SAAS2T,EAAW9b,EAAOwb,EAAQC,GAC/B,MAAMtT,EAAU,CACZuT,QAAStC,EACTZ,GAAI6C,EAAe7C,GACnBxY,MAAOA,EAAM2b,UAEjBE,GAAqB1T,EAASqT,EAAQC,GACtC1C,EAAcxf,MAAM4O,IAiS5B,SAA8BA,GAC1B,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,SAAW7P,EAAQ4T,SACnCjhB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,UAE3DpC,EAAOnP,IAAI,qBAAqBrC,EAAQqT,aAAarT,EAAQqQ,QAAS1d,QAGtEkhB,GAAc,kBAAmB7T,GA7RrC8T,CAAqBZ,GACrB,MAAMa,EAAU5C,EAAgB+B,EAAeG,QAC/C,IAAI5gB,EACAuhB,EACAD,IACAthB,EAAOshB,EAAQthB,KACfuhB,EAAiBD,EAAQE,SAE7B,MAAMX,EAAYY,KAAKC,MACvB,GAAIH,GAAkB9C,EAAoB,CACtC,MAAMkD,EAAWxf,OAAOse,EAAe7C,IACjCgE,EAAqB3D,EAAqBF,SAASP,8BAA8BmE,GACvFxC,EAAcwC,GAAYC,EAC1B,IACI,IAAIC,EACJ,GAAIN,EACA,QAA8BzhB,IAA1B2gB,EAAeU,OAAsB,CACrC,QAAarhB,IAATE,GAA8C,IAAxBA,EAAK8hB,eAE3B,YADAZ,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWwH,cAAe,WAAWtB,EAAeG,kBAAkB5gB,EAAK8hB,4CAA6CrB,EAAeG,OAAQC,GAGtMgB,EAAgBN,EAAeK,EAAmBI,YAEjD,GAAItlB,MAAMuD,QAAQwgB,EAAeU,QAAS,CAC3C,QAAarhB,IAATE,GAAsBA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBuI,OAElF,YADAhB,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWwH,cAAe,WAAWtB,EAAeG,yEAA0EH,EAAeG,OAAQC,GAG5MgB,EAAgBN,KAAkBd,EAAeU,OAAQS,EAAmBI,WAE3E,CACD,QAAaliB,IAATE,GAAsBA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBwI,WAElF,YADAjB,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWwH,cAAe,WAAWtB,EAAeG,yEAA0EH,EAAeG,OAAQC,GAG5MgB,EAAgBN,EAAed,EAAeU,OAAQS,EAAmBI,YAGxEvD,IACLoD,EAAgBpD,EAAmBgC,EAAeG,OAAQH,EAAeU,OAAQS,EAAmBI,QAExG,MAAMI,EAAUP,EACXA,EAIIO,EAAQzL,KACbyL,EAAQzL,MAAMgK,WACHxB,EAAcwC,GACrBjB,EAAMC,EAAeF,EAAeG,OAAQC,MAC7Czb,WACQ+Z,EAAcwC,GACjBvc,aAAiBkW,EAAWd,cAC5B0G,EAAW9b,EAAOqb,EAAeG,OAAQC,GAEpCzb,GAASuW,EAAGpd,OAAO6G,EAAMmI,SAC9B2T,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,+BAA+Bxb,EAAMmI,WAAYkT,EAAeG,OAAQC,GAG/KK,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,6DAA8DH,EAAeG,OAAQC,cAK7L1B,EAAcwC,GACrBjB,EAAMmB,EAAepB,EAAeG,OAAQC,YAtBrC1B,EAAcwC,GAzDjC,SAAsBX,EAAQJ,EAAQC,QAGnB/gB,IAAXkhB,IACAA,EAAS,MAEb,MAAMzT,EAAU,CACZuT,QAAStC,EACTZ,GAAI6C,EAAe7C,GACnBoD,OAAQA,GAEZC,GAAqB1T,EAASqT,EAAQC,GACtC1C,EAAcxf,MAAM4O,GA8CZ+U,CAAaT,EAAepB,EAAeG,OAAQC,IAwB3D,MAAOzb,UACI+Z,EAAcwC,GACjBvc,aAAiBkW,EAAWd,cAC5BkG,EAAMtb,EAAOqb,EAAeG,OAAQC,GAE/Bzb,GAASuW,EAAGpd,OAAO6G,EAAMmI,SAC9B2T,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,+BAA+Bxb,EAAMmI,WAAYkT,EAAeG,OAAQC,GAG/KK,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,6DAA8DH,EAAeG,OAAQC,SAKpMK,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWgI,eAAgB,oBAAoB9B,EAAeG,UAAWH,EAAeG,OAAQC,GAtK/I2B,CAAcjV,GAET+N,EAAWmH,sBAAsBlV,GAiNlD,SAA4BA,GACxB,GAAI4S,IAEA,OAEJ,IAAIngB,EACA0iB,EACJ,GAAInV,EAAQqT,SAAWjE,EAAmB3c,KAAK4gB,OAC3C8B,EAAuBvB,IACnB,MAAMvD,EAAKuD,EAAOvD,GACZ+E,EAASxD,EAAchd,OAAOyb,IAChC+E,GACAA,EAAOpG,cAId,CACD,MAAM+E,EAAU1C,EAAqBrR,EAAQqT,QACzCU,IACAoB,EAAsBpB,EAAQE,QAC9BxhB,EAAOshB,EAAQthB,MAGvB,GAAI0iB,GAAuB/D,EACvB,KAyIR,SAAmCpR,GAC/B,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,GAAUxR,EAAQqT,SAAW9H,EAAqB9Y,KAAK4gB,OAGnF,GAAIvB,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,UAEZld,EADAqN,EAAQ4T,OACD,WAAWnR,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,SAGhD,+BAGfpC,EAAOnP,IAAI,0BAA0BrC,EAAQqT,WAAY1gB,QAGzDkhB,GAAc,uBAAwB7T,GAzJlCqV,CAA0BrV,GACtBmV,OACuB5iB,IAAnByN,EAAQ4T,aACKrhB,IAATE,GAC4B,IAAxBA,EAAK8hB,gBAAwB9hB,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBuI,QACzF/M,EAAO/P,MAAM,gBAAgBmI,EAAQqT,kBAAkB5gB,EAAK8hB,4CAGpEY,KAEKhmB,MAAMuD,QAAQsN,EAAQ4T,cACdrhB,IAATE,IACIA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBuI,QAC5D/M,EAAO/P,MAAM,gBAAgBmI,EAAQqT,yEAErC5gB,EAAK8hB,iBAAmBvU,EAAQ4T,OAAOnlB,QACvCmZ,EAAO/P,MAAM,gBAAgBmI,EAAQqT,kBAAkB5gB,EAAK8hB,sCAAsCvU,EAAQ4T,OAAOnlB,sBAGzH0mB,KAAuBnV,EAAQ4T,eAGlBrhB,IAATE,GAAsBA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBwI,YAClFhN,EAAO/P,MAAM,gBAAgBmI,EAAQqT,yEAEzC8B,EAAoBnV,EAAQ4T,SAG3BxC,GACLA,EAAwBpR,EAAQqT,OAAQrT,EAAQ4T,QAGxD,MAAO/b,GACCA,EAAMmI,QACN4H,EAAO/P,MAAM,yBAAyBmI,EAAQqT,gCAAgCxb,EAAMmI,WAGpF4H,EAAO/P,MAAM,yBAAyBmI,EAAQqT,qCAKtDlB,EAA6BpL,KAAK/G,GAnR9BsV,CAAmBtV,GAEd+N,EAAWwH,kBAAkBvV,GAoK9C,SAAwBwV,GACpB,IAAI5C,IAIJ,GAA2B,OAAvB4C,EAAgBnF,GACZmF,EAAgB3d,MAChB+P,EAAO/P,MAAM,qDAAqD4K,KAAKC,UAAU8S,EAAgB3d,WAAOtF,EAAW,MAGnHqV,EAAO/P,MAAM,oFAGhB,CACD,MAAM4d,EAAM7gB,OAAO4gB,EAAgBnF,IAC7BqF,EAAkB/D,EAAiB8D,GAEzC,GA8MR,SAA+BzV,EAAS0V,GACpC,GAAI7D,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EAcJ,GAbIkf,IAAUnG,EAAMmE,UACZ7P,EAAQnI,OAASmI,EAAQnI,MAAMlF,KAC/BA,EAAO,eAAe8P,KAAKC,UAAU1C,EAAQnI,MAAMlF,KAAM,KAAM,SAG3DqN,EAAQyT,OACR9gB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQyT,OAAQ,KAAM,cAEhClhB,IAAlByN,EAAQnI,QACblF,EAAO,4BAIf+iB,EAAiB,CACjB,MAAM7d,EAAQmI,EAAQnI,MAAQ,oBAAoBmI,EAAQnI,MAAMmI,YAAYA,EAAQnI,MAAMzI,SAAW,GACrGoiB,EAAOnP,IAAI,sBAAsBqT,EAAgBrC,aAAarT,EAAQqQ,WAAW6D,KAAKC,MAAQuB,EAAgBC,gBAAgB9d,IAASlF,QAGvI6e,EAAOnP,IAAI,qBAAqBrC,EAAQqQ,sCAAuC1d,QAInFkhB,GAAc,mBAAoB7T,GA3OlC4V,CAAsBJ,EAAiBE,GACnCA,EAAiB,QACV/D,EAAiB8D,GACxB,IACI,GAAID,EAAgB3d,MAAO,CACvB,MAAMA,EAAQ2d,EAAgB3d,MAC9B6d,EAAgBjO,OAAO,IAAIsG,EAAWd,cAAcpV,EAAMzI,KAAMyI,EAAMmI,QAASnI,EAAMlF,WAEpF,SAA+BJ,IAA3BijB,EAAgB/B,OAIrB,MAAM,IAAIpkB,MAAM,wBAHhBqmB,EAAgBxS,QAAQsS,EAAgB/B,SAMhD,MAAO5b,GACCA,EAAMmI,QACN4H,EAAO/P,MAAM,qBAAqB6d,EAAgBrC,gCAAgCxb,EAAMmI,WAGxF4H,EAAO/P,MAAM,qBAAqB6d,EAAgBrC,mCAvM1DwC,CAAe7V,GAmR3B,SAA8BA,GAC1B,IAAKA,EAED,YADA4H,EAAO/P,MAAM,2BAGjB+P,EAAO/P,MAAM,6EAA6E4K,KAAKC,UAAU1C,EAAS,KAAM,MAExH,MAAMwV,EAAkBxV,EACxB,GAAIoO,EAAGpd,OAAOwkB,EAAgBnF,KAAOjC,EAAG0H,OAAON,EAAgBnF,IAAK,CAChE,MAAMoF,EAAM7gB,OAAO4gB,EAAgBnF,IAC7B0F,EAAkBpE,EAAiB8D,GACrCM,GACAA,EAAgBtO,OAAO,IAAIpY,MAAM,uEA5RjC2mB,CAAqBhW,GAG7B,QACI+S,KAvBAkD,OAVRtF,EAActH,QAAQyJ,GACtBnC,EAAclH,SAPd,SAA0B5R,GACtBoa,EAAalL,KAAK,CAAClP,OAAOtF,OAAWA,OAOzCqe,EAAcvH,QAAQyJ,GACtBlC,EAAcnH,SANd,SAA2B9W,GACvBsf,EAAalL,KAAKpU,MAsCtB,MAAMyU,EAAYpH,IACd,IAGI,GAAI+N,EAAWmH,sBAAsBlV,IAAYA,EAAQqT,SAAWjE,EAAmB3c,KAAK4gB,OAAQ,CAChG,MAAMoC,EAAMnD,EAAsBtS,EAAQ4T,OAAOvD,IAC3C6F,EAAWzE,EAAazZ,IAAIyd,GAClC,GAAI1H,EAAWkF,iBAAiBiD,GAAW,CACvC,MAAMC,EAAWtO,aAAyC,EAASA,EAAQI,mBACrEmO,EAAYD,GAAYA,EAASpG,mBAAsBoG,EAASpG,mBAAmBmG,EAAUnG,QAAsBA,EACzH,GAAIqG,SAAgC7jB,IAAnB6jB,EAASve,YAA2CtF,IAApB6jB,EAAS3C,QAKtD,OAJAhC,EAAa4E,OAAOZ,GACpBW,EAAS/F,GAAK6F,EAAS7F,GACvBqD,GAAqB0C,EAAUpW,EAAQqT,OAAQa,KAAKC,YACpDvD,EAAcxf,MAAMglB,KAtFxC,SAA2BE,EAAOtW,GAXlC,IAAgCqQ,EAYxBtC,EAAWkF,iBAAiBjT,GAC5BsW,EAAM1d,IAAI0Z,EAAsBtS,EAAQqQ,IAAKrQ,GAExC+N,EAAWwH,kBAAkBvV,GAClCsW,EAAM1d,IAfC,QADiByX,EAgBSrQ,EAAQqQ,IAdlC,kBAAoBW,GAA8B/d,WAGlD,OAASod,EAAGpd,WAW2B+M,GAG9CsW,EAAM1d,IAVH,UAAYmY,GAA2B9d,WAUF+M,GAmFxCuW,CAAkB9E,EAAczR,GAEpC,QACI+S,MAsSR,SAASW,GAAqB1T,EAASqT,EAAQC,GAC3C,GAAIzB,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,UACZ7P,EAAQnI,OAASmI,EAAQnI,MAAMlF,KAC/BA,EAAO,eAAe8P,KAAKC,UAAU1C,EAAQnI,MAAMlF,KAAM,KAAM,SAG3DqN,EAAQyT,OACR9gB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQyT,OAAQ,KAAM,cAEhClhB,IAAlByN,EAAQnI,QACblF,EAAO,4BAInB6e,EAAOnP,IAAI,qBAAqBgR,QAAarT,EAAQqQ,iCAAiC6D,KAAKC,MAAQb,MAAe3gB,QAGlHkhB,GAAc,gBAAiB7T,GAqEvC,SAAS6T,GAAcphB,EAAMuN,GACzB,IAAKwR,GAAUK,IAAUnG,EAAMiE,IAC3B,OAEJ,MAAM6G,EAAa,CACfC,cAAc,EACdhkB,OACAuN,UACA0W,UAAWxC,KAAKC,OAEpB3C,EAAOnP,IAAImU,GAEf,SAASG,KACL,GAAIjE,IACA,MAAM,IAAIrH,EAAgBC,EAAiBqH,OAAQ,yBAEvD,GAAIC,IACA,MAAM,IAAIvH,EAAgBC,EAAiBuH,SAAU,2BAa7D,SAAS+D,GAAgBC,GACrB,YAActkB,IAAVskB,EACO,KAGAA,EAGf,SAASC,GAAgBD,GACrB,OAAc,OAAVA,OACA,EAGOA,EAGf,SAASE,GAAaF,GAClB,OAAOA,UAA0C1nB,MAAMuD,QAAQmkB,IAA2B,iBAAVA,EAEpF,SAASG,GAAmBtC,EAAqBmC,GAC7C,OAAQnC,GACJ,KAAK3G,EAAW3B,oBAAoB6K,KAChC,OAAIF,GAAaF,GACNC,GAAgBD,GAGhB,CAACD,GAAgBC,IAGhC,KAAK9I,EAAW3B,oBAAoBuI,OAChC,IAAKoC,GAAaF,GACd,MAAM,IAAIxnB,MAAM,mEAEpB,OAAOynB,GAAgBD,GAC3B,KAAK9I,EAAW3B,oBAAoBwI,WAChC,MAAO,CAACgC,GAAgBC,IAC5B,QACI,MAAM,IAAIxnB,MAAM,+BAA+BqlB,EAAoBzhB,eAG/E,SAASikB,GAAqBzkB,EAAMmhB,GAChC,IAAIH,EACJ,MAAMc,EAAiB9hB,EAAK8hB,eAC5B,OAAQA,GACJ,KAAK,EACDd,OAASlhB,EACT,MACJ,KAAK,EACDkhB,EAASuD,GAAmBvkB,EAAKiiB,oBAAqBd,EAAO,IAC7D,MACJ,QACIH,EAAS,GACT,IAAK,IAAI1lB,EAAI,EAAGA,EAAI6lB,EAAOnlB,QAAUV,EAAIwmB,EAAgBxmB,IACrD0lB,EAAO3kB,KAAK8nB,GAAgBhD,EAAO7lB,KAEvC,GAAI6lB,EAAOnlB,OAAS8lB,EAChB,IAAK,IAAIxmB,EAAI6lB,EAAOnlB,OAAQV,EAAIwmB,EAAgBxmB,IAC5C0lB,EAAO3kB,KAAK,MAK5B,OAAO2kB,EAEX,MAAM0D,GAAa,CACf7G,iBAAkB,CAAC7d,KAASoY,KAExB,IAAIwI,EACA+D,EACJ,GAHAT,KAGIvI,EAAGpd,OAAOyB,GAAO,CACjB4gB,EAAS5gB,EACT,MAAMyJ,EAAQ2O,EAAK,GACnB,IAAIwM,EAAa,EACb3C,EAAsB3G,EAAW3B,oBAAoB6K,KACrDlJ,EAAW3B,oBAAoBpE,GAAG9L,KAClCmb,EAAa,EACb3C,EAAsBxY,GAE1B,IAAIob,EAAWzM,EAAKpc,OACpB,MAAM8lB,EAAiB+C,EAAWD,EAClC,OAAQ9C,GACJ,KAAK,EACD6C,OAAgB7kB,EAChB,MACJ,KAAK,EACD6kB,EAAgBJ,GAAmBtC,EAAqB7J,EAAKwM,IAC7D,MACJ,QACI,GAAI3C,IAAwB3G,EAAW3B,oBAAoBuI,OACvD,MAAM,IAAItlB,MAAM,YAAYklB,gEAEhC6C,EAAgBvM,EAAKxZ,MAAMgmB,EAAYC,GAAUC,KAAIxmB,GAAS6lB,GAAgB7lB,UAIrF,CACD,MAAM6iB,EAAS/I,EACfwI,EAAS5gB,EAAK4gB,OACd+D,EAAgBF,GAAqBzkB,EAAMmhB,GAE/C,MAAM4D,EAAsB,CACxBjE,QAAStC,EACToC,OAAQA,EACRO,OAAQwD,IApPpB,SAAkCpX,GAC9B,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,UAEZld,EADAqN,EAAQ4T,OACD,WAAWnR,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,SAGhD,+BAGfpC,EAAOnP,IAAI,yBAAyBrC,EAAQqT,WAAY1gB,QAGxDkhB,GAAc,oBAAqB7T,GAqOnCyX,CAAyBD,GACzB5G,EAAcxf,MAAMomB,IAExBE,eAAgB,CAACjlB,EAAMwhB,KAEnB,IAAIZ,EAcJ,OAfAsD,KAEIvI,EAAGoB,KAAK/c,GACR2e,EAA0B3e,EAErBwhB,IACD7F,EAAGpd,OAAOyB,IACV4gB,EAAS5gB,EACT4e,EAAqB5e,GAAQ,CAAEA,UAAMF,EAAW0hB,aAGhDZ,EAAS5gB,EAAK4gB,OACdhC,EAAqB5e,EAAK4gB,QAAU,CAAE5gB,OAAMwhB,aAG7C,CACHpF,QAAS,UACUtc,IAAX8gB,SACOhC,EAAqBgC,GAG5BjC,OAA0B7e,KAK1ColB,WAAY,CAACC,EAAOnD,EAAOR,KACvB,GAAI3C,EAAiBuG,IAAIpD,GACrB,MAAM,IAAIplB,MAAM,8BAA8BolB,wBAGlD,OADAnD,EAAiB1Y,IAAI6b,EAAOR,GACrB,CACHpF,QAAS,KACLyC,EAAiB+E,OAAO5B,MAIpCqD,aAAc,CAACF,EAAOnD,EAAO1jB,KACzBomB,GAAW7G,iBAAiBjB,EAAqB5c,KAAM,CAAEgiB,QAAO1jB,WAEpEgnB,oBAAqB3F,EAAyBtL,MAC9CkR,YAAa,CAACvlB,KAASoY,KAGnB,IAAIwI,EACA+D,EACA3C,EACJ,GALAkC,KA5JR,WACI,IAAKnE,IACD,MAAM,IAAInjB,MAAM,wBA2JhB4oB,GAII7J,EAAGpd,OAAOyB,GAAO,CACjB4gB,EAAS5gB,EACT,MAAMyJ,EAAQ2O,EAAK,GACb1O,EAAO0O,EAAKA,EAAKpc,OAAS,GAChC,IAAI4oB,EAAa,EACb3C,EAAsB3G,EAAW3B,oBAAoB6K,KACrDlJ,EAAW3B,oBAAoBpE,GAAG9L,KAClCmb,EAAa,EACb3C,EAAsBxY,GAE1B,IAAIob,EAAWzM,EAAKpc,OAChBuf,EAAe/B,kBAAkBjE,GAAG7L,KACpCmb,GAAsB,EACtB7C,EAAQtY,GAEZ,MAAMoY,EAAiB+C,EAAWD,EAClC,OAAQ9C,GACJ,KAAK,EACD6C,OAAgB7kB,EAChB,MACJ,KAAK,EACD6kB,EAAgBJ,GAAmBtC,EAAqB7J,EAAKwM,IAC7D,MACJ,QACI,GAAI3C,IAAwB3G,EAAW3B,oBAAoBuI,OACvD,MAAM,IAAItlB,MAAM,YAAYklB,2DAEhC6C,EAAgBvM,EAAKxZ,MAAMgmB,EAAYC,GAAUC,KAAIxmB,GAAS6lB,GAAgB7lB,UAIrF,CACD,MAAM6iB,EAAS/I,EACfwI,EAAS5gB,EAAK4gB,OACd+D,EAAgBF,GAAqBzkB,EAAMmhB,GAC3C,MAAMW,EAAiB9hB,EAAK8hB,eAC5BE,EAAQzG,EAAe/B,kBAAkBjE,GAAG4L,EAAOW,IAAmBX,EAAOW,QAAkBhiB,EAEnG,MAAM8d,EAAKS,IACX,IAAIoH,EAqCJ,OApCIzD,IACAyD,EAAazD,EAAMlG,yBAAwB,KACvCmC,EAAqBD,OAAON,iBAAiBgH,GAAY9G,OAGlD,IAAI7K,SAAQ,CAACtC,EAASuE,KACjC,MAAMyL,EAAiB,CACnBK,QAAStC,EACTZ,GAAIA,EACJgD,OAAQA,EACRO,OAAQwD,GAYZ,IAAI1B,EAAkB,CAAErC,OAAQA,EAAQsC,WAAYzB,KAAKC,MAAOjR,QAVpCiV,IACxBjV,EAAQiV,GACRzH,EAAqBD,OAAOF,QAAQF,GACpC6H,SAAwDA,EAAWrJ,WAOsBpH,OALlE0Q,IACvB1Q,EAAO0Q,GACPzH,EAAqBD,OAAOF,QAAQF,GACpC6H,SAAwDA,EAAWrJ,aApXnF,SAA6B7O,GACzB,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,SAAW7P,EAAQ4T,SACnCjhB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,UAE3DpC,EAAOnP,IAAI,oBAAoBrC,EAAQqT,aAAarT,EAAQqQ,QAAS1d,QAGrEkhB,GAAc,eAAgB7T,GA2W1BoY,CAAoBlF,GACpB,IACItC,EAAcxf,MAAM8hB,GAExB,MAAOxb,GAEHge,EAAgBjO,OAAO,IAAIsG,EAAWd,cAAcc,EAAWf,WAAWqL,kBAAmB3gB,EAAEsI,QAAUtI,EAAEsI,QAAU,mBACrH0V,EAAkB,KAElBA,IACA/D,EAAiB/c,OAAOyb,IAAOqF,OAK3C4C,UAAW,CAAC7lB,EAAMwhB,KACd0C,KACA,IAAItD,EAAS,KAkBb,OAjBI/D,EAAmBtH,GAAGvV,IACtB4gB,OAAS9gB,EACT2e,EAAqBze,GAEhB2b,EAAGpd,OAAOyB,IACf4gB,EAAS,UACO9gB,IAAZ0hB,IACAZ,EAAS5gB,EACT0e,EAAgB1e,GAAQ,CAAEwhB,QAASA,EAASxhB,UAAMF,UAItCA,IAAZ0hB,IACAZ,EAAS5gB,EAAK4gB,OACdlC,EAAgB1e,EAAK4gB,QAAU,CAAE5gB,OAAMwhB,YAGxC,CACHpF,QAAS,KACU,OAAXwE,SAGW9gB,IAAX8gB,SACOlC,EAAgBkC,GAGvBnC,OAAqB3e,MAKrCsf,MAAO,CAAC0G,EAAQC,EAASC,KACrB,IAAIC,GAAoB,EACpBC,EAAelN,EAAYqE,UACQvd,IAAnCkmB,IACIrK,EAAGM,QAAQ+J,GACXC,EAAoBD,GAGpBC,EAAoBD,EAA+BnI,mBAAoB,EACvEqI,EAAeF,EAA+B3G,aAAerG,EAAYqE,OAGjF+B,EAAQ0G,EACRzG,EAAc6G,EAEVnH,EADAK,IAAUnG,EAAMiE,SACPpd,EAGAimB,GAETE,GAAsBhG,KAAeE,KACrCuE,GAAW7G,iBAAiB9E,EAAqB/Y,KAAM,CAAE1B,MAAO2a,EAAMzY,SAASslB,MAGvF9O,QAASwI,EAAanL,MACtBuC,QAAS6I,EAAapL,MACtB8R,wBAAyBzG,EAA6BrL,MACtD+R,UAAWxG,EAAevL,MAC1BtX,IAAK,KACDohB,EAAcphB,OAElBqf,QAAS,KACL,GAAI+D,IACA,OAEJb,EAAQxC,EAAgBsD,SACxBR,EAAetL,UAAKxU,GACpB,MAAMsF,EAAQ,IAAIxI,MAAM,4BACxBkB,OAAOuoB,KAAKnH,GAAkBoH,SAAStD,IACnC9D,EAAiB8D,GAAKhO,OAAO5P,MAEjC8Z,EAAmBphB,OAAOqV,OAAO,MACjCgM,EAAgBrhB,OAAOqV,OAAO,MAC9B6L,EAAe,IAAItC,EAAYuC,UAE3BtD,EAAGoB,KAAKoB,EAAc/B,UACtB+B,EAAc/B,UAEdT,EAAGoB,KAAKmB,EAAc9B,UACtB8B,EAAc9B,WAGtB1H,OAAQ,KACJwP,KA3UR,WACI,GAAInE,IACA,MAAM,IAAInH,EAAgBC,EAAiB0N,iBAAkB,mCA0U7DC,GACAlH,EAAQxC,EAAgBkD,UACxB9B,EAAcxJ,OAAOC,IAEzBlO,QAAS,KAELgP,EAAM5B,UAAU1O,QAAQyK,IAAI,aAkBpC,OAfA8U,GAAWO,eAAenM,EAAqB9Y,MAAOmhB,IAC9C/B,IAAUnG,EAAMiE,KAAQ6B,GAG5BA,EAAOnP,IAAIuR,EAAO5T,QAAS6R,IAAUnG,EAAMmE,QAAU+D,EAAOsF,aAAU3mB,MAE1E4kB,GAAWO,eAAerI,EAAqB5c,MAAOmhB,IAClD,MAAMK,EAAU3C,EAAiBtZ,IAAI4b,EAAOa,OACxCR,EACAA,EAAQL,EAAO7iB,OAGfqhB,EAAyBrL,KAAK6M,MAG/BuD,K,0BCvjCX5mB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQic,gBAAa,GASLjc,EAAQic,aAAejc,EAAQic,WAAa,KAD7C3D,OALX,SAAgB4J,GACZ,MAAO,CACHX,QAASW,K,4BCNrBjf,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQsZ,QAAUtZ,EAAQ6e,WAAQ,EAClC,MAAMjE,EAAQ,EAAQ,MAEtB,SAAWiE,GACP,MAAMgN,EAAc,CAAEtK,aACtB1C,EAAMkC,KAAO,WAAc,OAAO8K,GAFtC,CAGW7rB,EAAQ6e,QAAU7e,EAAQ6e,MAAQ,KAC7C,MAAMiN,EACFC,IAAIjS,EAAUV,EAAU,KAAM4S,GACrB7lB,KAAK8lB,aACN9lB,KAAK8lB,WAAa,GAClB9lB,KAAK+lB,UAAY,IAErB/lB,KAAK8lB,WAAWzqB,KAAKsY,GACrB3T,KAAK+lB,UAAU1qB,KAAK4X,GAChBvX,MAAMuD,QAAQ4mB,IACdA,EAAOxqB,KAAK,CAAE+f,QAAS,IAAMpb,KAAKgmB,OAAOrS,EAAUV,KAG3D+S,OAAOrS,EAAUV,EAAU,MACvB,IAAKjT,KAAK8lB,WACN,OAEJ,IAAIG,GAAoC,EACxC,IAAK,IAAI3rB,EAAI,EAAGK,EAAMqF,KAAK8lB,WAAW9qB,OAAQV,EAAIK,EAAKL,IACnD,GAAI0F,KAAK8lB,WAAWxrB,KAAOqZ,EAAU,CACjC,GAAI3T,KAAK+lB,UAAUzrB,KAAO2Y,EAItB,OAFAjT,KAAK8lB,WAAWI,OAAO5rB,EAAG,QAC1B0F,KAAK+lB,UAAUG,OAAO5rB,EAAG,GAIzB2rB,GAAoC,EAIhD,GAAIA,EACA,MAAM,IAAIrqB,MAAM,qFAGxBuqB,UAAU/O,GACN,IAAKpX,KAAK8lB,WACN,MAAO,GAEX,MAAMxf,EAAM,GAAI8f,EAAYpmB,KAAK8lB,WAAWloB,MAAM,GAAIyoB,EAAWrmB,KAAK+lB,UAAUnoB,MAAM,GACtF,IAAK,IAAItD,EAAI,EAAGK,EAAMyrB,EAAUprB,OAAQV,EAAIK,EAAKL,IAC7C,IACIgM,EAAIjL,KAAK+qB,EAAU9rB,GAAGqJ,MAAM0iB,EAAS/rB,GAAI8c,IAE7C,MAAOnT,GAEHwQ,EAAM5B,UAAU1O,QAAQC,MAAMH,GAGtC,OAAOqC,EAEXggB,UACI,OAAQtmB,KAAK8lB,YAAyC,IAA3B9lB,KAAK8lB,WAAW9qB,OAE/CogB,UACIpb,KAAK8lB,gBAAahnB,EAClBkB,KAAK+lB,eAAYjnB,GAGzB,MAAMqU,EACFlH,YAAYsa,GACRvmB,KAAKumB,SAAWA,EAMpB,YA6BI,OA5BKvmB,KAAKwmB,SACNxmB,KAAKwmB,OAAS,CAAC3Q,EAAU4Q,EAAUC,KAC1B1mB,KAAK8lB,aACN9lB,KAAK8lB,WAAa,IAAIH,GAEtB3lB,KAAKumB,UAAYvmB,KAAKumB,SAASI,oBAAsB3mB,KAAK8lB,WAAWQ,WACrEtmB,KAAKumB,SAASI,mBAAmB3mB,MAErCA,KAAK8lB,WAAWF,IAAI/P,EAAU4Q,GAC9B,MAAMzG,EAAS,CACX5E,QAAS,KACApb,KAAK8lB,aAIV9lB,KAAK8lB,WAAWE,OAAOnQ,EAAU4Q,GACjCzG,EAAO5E,QAAUjI,EAAQyT,MACrB5mB,KAAKumB,UAAYvmB,KAAKumB,SAASM,sBAAwB7mB,KAAK8lB,WAAWQ,WACvEtmB,KAAKumB,SAASM,qBAAqB7mB,SAO/C,OAHItE,MAAMuD,QAAQynB,IACdA,EAAYrrB,KAAK2kB,GAEdA,IAGRhgB,KAAKwmB,OAMhBlT,KAAKD,GACGrT,KAAK8lB,YACL9lB,KAAK8lB,WAAWK,OAAOrlB,KAAKd,KAAK8lB,WAAYzS,GAGrD+H,UACQpb,KAAK8lB,aACL9lB,KAAK8lB,WAAW1K,UAChBpb,KAAK8lB,gBAAahnB,IAI9BjF,EAAQsZ,QAAUA,EAClBA,EAAQyT,MAAQ,c,0BCpHhB,SAASrpB,EAAOD,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiB6D,OAezD,SAAS5B,EAAMjC,GACX,OAAO5B,MAAMuD,QAAQ3B,GAvBzBR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQitB,YAAcjtB,EAAQ0F,MAAQ1F,EAAQkiB,KAAOliB,EAAQuK,MAAQvK,EAAQwoB,OAASxoB,EAAQ0D,OAAS1D,EAAQohB,aAAU,EAIzHphB,EAAQohB,QAHR,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7BzD,EAAQ0D,OAASA,EAIjB1D,EAAQwoB,OAHR,SAAgB/kB,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiBqE,QAMzD9H,EAAQuK,MAHR,SAAe9G,GACX,OAAOA,aAAiB1B,OAM5B/B,EAAQkiB,KAHR,SAAcze,GACV,MAAwB,mBAAVA,GAMlBzD,EAAQ0F,MAAQA,EAIhB1F,EAAQitB,YAHR,SAAqBxpB,GACjB,OAAOiC,EAAMjC,IAAUA,EAAMypB,OAAMC,GAAQzpB,EAAOypB,O,0BCzBtD,IAAIC,EAFJnqB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQqtB,SAAWrtB,EAAQokB,UAAYpkB,EAAQotB,WAAQ,EAEvD,SAAWA,GACPA,EAAMrM,KAAO,EACbqM,EAAME,MAAQ,EACdF,EAAMG,MAAQH,EAAME,MACpBF,EAAMI,KAAO,EACbJ,EAAMK,MAAQL,EAAMI,KALxB,CAMGJ,EAAQptB,EAAQotB,QAAUptB,EAAQotB,MAAQ,KAC7C,MAAMhJ,EACFhS,cACIjM,KAAK3D,OAAOkrB,aAAe,YAC3BvnB,KAAKwnB,KAAO,IAAI1J,IAChB9d,KAAKynB,WAAQ3oB,EACbkB,KAAK0nB,WAAQ5oB,EACbkB,KAAK2nB,MAAQ,EACb3nB,KAAK4nB,OAAS,EAElBC,QACI7nB,KAAKwnB,KAAKK,QACV7nB,KAAKynB,WAAQ3oB,EACbkB,KAAK0nB,WAAQ5oB,EACbkB,KAAK2nB,MAAQ,EACb3nB,KAAK4nB,SAETtB,UACI,OAAQtmB,KAAKynB,QAAUznB,KAAK0nB,MAEhC,WACI,OAAO1nB,KAAK2nB,MAEhB,YACI,IAAIG,EACJ,OAA6B,QAArBA,EAAK9nB,KAAKynB,aAA0B,IAAPK,OAAgB,EAASA,EAAGxqB,MAErE,WACI,IAAIwqB,EACJ,OAA6B,QAArBA,EAAK9nB,KAAK0nB,aAA0B,IAAPI,OAAgB,EAASA,EAAGxqB,MAErE8mB,IAAIpC,GACA,OAAOhiB,KAAKwnB,KAAKpD,IAAIpC,GAEzBzd,IAAIyd,EAAK+F,EAAQd,EAAMrM,MACnB,MAAMoN,EAAOhoB,KAAKwnB,KAAKjjB,IAAIyd,GAC3B,GAAKgG,EAML,OAHID,IAAUd,EAAMrM,MAChB5a,KAAK+nB,MAAMC,EAAMD,GAEdC,EAAK1qB,MAEhB6H,IAAI6c,EAAK1kB,EAAOyqB,EAAQd,EAAMrM,MAC1B,IAAIoN,EAAOhoB,KAAKwnB,KAAKjjB,IAAIyd,GACzB,GAAIgG,EACAA,EAAK1qB,MAAQA,EACTyqB,IAAUd,EAAMrM,MAChB5a,KAAK+nB,MAAMC,EAAMD,OAGpB,CAED,OADAC,EAAO,CAAEhG,MAAK1kB,QAAO2qB,UAAMnpB,EAAWopB,cAAUppB,GACxCipB,GACJ,KAAKd,EAAMrM,KACP5a,KAAKmoB,YAAYH,GACjB,MACJ,KAAKf,EAAME,MACPnnB,KAAKooB,aAAaJ,GAClB,MACJ,KAAKf,EAAMI,KAGX,QACIrnB,KAAKmoB,YAAYH,GAGzBhoB,KAAKwnB,KAAKriB,IAAI6c,EAAKgG,GACnBhoB,KAAK2nB,QAET,OAAO3nB,KAEX4iB,OAAOZ,GACH,QAAShiB,KAAKgmB,OAAOhE,GAEzBgE,OAAOhE,GACH,MAAMgG,EAAOhoB,KAAKwnB,KAAKjjB,IAAIyd,GAC3B,GAAKgG,EAML,OAHAhoB,KAAKwnB,KAAK5E,OAAOZ,GACjBhiB,KAAKqoB,WAAWL,GAChBhoB,KAAK2nB,QACEK,EAAK1qB,MAEhBiiB,QACI,IAAKvf,KAAKynB,QAAUznB,KAAK0nB,MACrB,OAEJ,IAAK1nB,KAAKynB,QAAUznB,KAAK0nB,MACrB,MAAM,IAAI9rB,MAAM,gBAEpB,MAAMosB,EAAOhoB,KAAKynB,MAIlB,OAHAznB,KAAKwnB,KAAK5E,OAAOoF,EAAKhG,KACtBhiB,KAAKqoB,WAAWL,GAChBhoB,KAAK2nB,QACEK,EAAK1qB,MAEhBgoB,QAAQgD,EAAYC,GAChB,MAAMjK,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,KAAOe,GAAS,CAOZ,GANID,EACAD,EAAWnN,KAAKoN,EAAhBD,CAAyBE,EAAQlrB,MAAOkrB,EAAQxG,IAAKhiB,MAGrDsoB,EAAWE,EAAQlrB,MAAOkrB,EAAQxG,IAAKhiB,MAEvCA,KAAK4nB,SAAWtJ,EAChB,MAAM,IAAI1iB,MAAM,4CAEpB4sB,EAAUA,EAAQP,MAG1B5C,OACI,MAAMvB,EAAM9jB,KACNse,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,MAAMgB,EAAW,CACb,CAACpsB,OAAOosB,UAAS,IACNA,EAEXR,OACI,GAAInE,EAAI8D,SAAWtJ,EACf,MAAM,IAAI1iB,MAAM,4CAEpB,GAAI4sB,EAAS,CACT,MAAMxI,EAAS,CAAE1iB,MAAOkrB,EAAQxG,IAAK0G,MAAM,GAE3C,OADAF,EAAUA,EAAQP,KACXjI,EAGP,MAAO,CAAE1iB,WAAOwB,EAAW4pB,MAAM,KAI7C,OAAOD,EAEXE,SACI,MAAM7E,EAAM9jB,KACNse,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,MAAMgB,EAAW,CACb,CAACpsB,OAAOosB,UAAS,IACNA,EAEXR,OACI,GAAInE,EAAI8D,SAAWtJ,EACf,MAAM,IAAI1iB,MAAM,4CAEpB,GAAI4sB,EAAS,CACT,MAAMxI,EAAS,CAAE1iB,MAAOkrB,EAAQlrB,MAAOorB,MAAM,GAE7C,OADAF,EAAUA,EAAQP,KACXjI,EAGP,MAAO,CAAE1iB,WAAOwB,EAAW4pB,MAAM,KAI7C,OAAOD,EAEXG,UACI,MAAM9E,EAAM9jB,KACNse,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,MAAMgB,EAAW,CACb,CAACpsB,OAAOosB,UAAS,IACNA,EAEXR,OACI,GAAInE,EAAI8D,SAAWtJ,EACf,MAAM,IAAI1iB,MAAM,4CAEpB,GAAI4sB,EAAS,CACT,MAAMxI,EAAS,CAAE1iB,MAAO,CAACkrB,EAAQxG,IAAKwG,EAAQlrB,OAAQorB,MAAM,GAE5D,OADAF,EAAUA,EAAQP,KACXjI,EAGP,MAAO,CAAE1iB,WAAOwB,EAAW4pB,MAAM,KAI7C,OAAOD,EAEX,CAACpsB,OAAOosB,YACJ,OAAOzoB,KAAK4oB,UAEhBC,QAAQC,GACJ,GAAIA,GAAW9oB,KAAKV,KAChB,OAEJ,GAAgB,IAAZwpB,EAEA,YADA9oB,KAAK6nB,QAGT,IAAIW,EAAUxoB,KAAKynB,MACfsB,EAAc/oB,KAAKV,KACvB,KAAOkpB,GAAWO,EAAcD,GAC5B9oB,KAAKwnB,KAAK5E,OAAO4F,EAAQxG,KACzBwG,EAAUA,EAAQP,KAClBc,IAEJ/oB,KAAKynB,MAAQe,EACbxoB,KAAK2nB,MAAQoB,EACTP,IACAA,EAAQN,cAAWppB,GAEvBkB,KAAK4nB,SAETQ,aAAaJ,GAET,GAAKhoB,KAAKynB,OAAUznB,KAAK0nB,MAGpB,KAAK1nB,KAAKynB,MACX,MAAM,IAAI7rB,MAAM,gBAGhBosB,EAAKC,KAAOjoB,KAAKynB,MACjBznB,KAAKynB,MAAMS,SAAWF,OAPtBhoB,KAAK0nB,MAAQM,EASjBhoB,KAAKynB,MAAQO,EACbhoB,KAAK4nB,SAETO,YAAYH,GAER,GAAKhoB,KAAKynB,OAAUznB,KAAK0nB,MAGpB,KAAK1nB,KAAK0nB,MACX,MAAM,IAAI9rB,MAAM,gBAGhBosB,EAAKE,SAAWloB,KAAK0nB,MACrB1nB,KAAK0nB,MAAMO,KAAOD,OAPlBhoB,KAAKynB,MAAQO,EASjBhoB,KAAK0nB,MAAQM,EACbhoB,KAAK4nB,SAETS,WAAWL,GACP,GAAIA,IAAShoB,KAAKynB,OAASO,IAAShoB,KAAK0nB,MACrC1nB,KAAKynB,WAAQ3oB,EACbkB,KAAK0nB,WAAQ5oB,OAEZ,GAAIkpB,IAAShoB,KAAKynB,MAAO,CAG1B,IAAKO,EAAKC,KACN,MAAM,IAAIrsB,MAAM,gBAEpBosB,EAAKC,KAAKC,cAAWppB,EACrBkB,KAAKynB,MAAQO,EAAKC,UAEjB,GAAID,IAAShoB,KAAK0nB,MAAO,CAG1B,IAAKM,EAAKE,SACN,MAAM,IAAItsB,MAAM,gBAEpBosB,EAAKE,SAASD,UAAOnpB,EACrBkB,KAAK0nB,MAAQM,EAAKE,aAEjB,CACD,MAAMD,EAAOD,EAAKC,KACZC,EAAWF,EAAKE,SACtB,IAAKD,IAASC,EACV,MAAM,IAAItsB,MAAM,gBAEpBqsB,EAAKC,SAAWA,EAChBA,EAASD,KAAOA,EAEpBD,EAAKC,UAAOnpB,EACZkpB,EAAKE,cAAWppB,EAChBkB,KAAK4nB,SAETG,MAAMC,EAAMD,GACR,IAAK/nB,KAAKynB,QAAUznB,KAAK0nB,MACrB,MAAM,IAAI9rB,MAAM,gBAEpB,GAAKmsB,IAAUd,EAAME,OAASY,IAAUd,EAAMI,KAG9C,GAAIU,IAAUd,EAAME,MAAO,CACvB,GAAIa,IAAShoB,KAAKynB,MACd,OAEJ,MAAMQ,EAAOD,EAAKC,KACZC,EAAWF,EAAKE,SAElBF,IAAShoB,KAAK0nB,OAGdQ,EAASD,UAAOnpB,EAChBkB,KAAK0nB,MAAQQ,IAIbD,EAAKC,SAAWA,EAChBA,EAASD,KAAOA,GAGpBD,EAAKE,cAAWppB,EAChBkpB,EAAKC,KAAOjoB,KAAKynB,MACjBznB,KAAKynB,MAAMS,SAAWF,EACtBhoB,KAAKynB,MAAQO,EACbhoB,KAAK4nB,cAEJ,GAAIG,IAAUd,EAAMI,KAAM,CAC3B,GAAIW,IAAShoB,KAAK0nB,MACd,OAEJ,MAAMO,EAAOD,EAAKC,KACZC,EAAWF,EAAKE,SAElBF,IAAShoB,KAAKynB,OAGdQ,EAAKC,cAAWppB,EAChBkB,KAAKynB,MAAQQ,IAIbA,EAAKC,SAAWA,EAChBA,EAASD,KAAOA,GAEpBD,EAAKC,UAAOnpB,EACZkpB,EAAKE,SAAWloB,KAAK0nB,MACrB1nB,KAAK0nB,MAAMO,KAAOD,EAClBhoB,KAAK0nB,MAAQM,EACbhoB,KAAK4nB,UAGbxhB,SACI,MAAMlH,EAAO,GAIb,OAHAc,KAAKslB,SAAQ,CAAChoB,EAAO0kB,KACjB9iB,EAAK7D,KAAK,CAAC2mB,EAAK1kB,OAEb4B,EAEX8pB,SAAS9pB,GACLc,KAAK6nB,QACL,IAAK,MAAO7F,EAAK1kB,KAAU4B,EACvBc,KAAKmF,IAAI6c,EAAK1kB,IAI1BzD,EAAQokB,UAAYA,EAsCpBpkB,EAAQqtB,SArCR,cAAuBjJ,EACnBhS,YAAYrB,EAAOqe,EAAQ,GACvB/c,QACAlM,KAAKkpB,OAASte,EACd5K,KAAKmpB,OAASrmB,KAAKC,IAAID,KAAK4C,IAAI,EAAGujB,GAAQ,GAE/C,YACI,OAAOjpB,KAAKkpB,OAEhB,UAAUte,GACN5K,KAAKkpB,OAASte,EACd5K,KAAKopB,YAET,YACI,OAAOppB,KAAKmpB,OAEhB,UAAUF,GACNjpB,KAAKmpB,OAASrmB,KAAKC,IAAID,KAAK4C,IAAI,EAAGujB,GAAQ,GAC3CjpB,KAAKopB,YAET7kB,IAAIyd,EAAK+F,EAAQd,EAAMK,OACnB,OAAOpb,MAAM3H,IAAIyd,EAAK+F,GAE1BsB,KAAKrH,GACD,OAAO9V,MAAM3H,IAAIyd,EAAKiF,EAAMrM,MAEhCzV,IAAI6c,EAAK1kB,GAGL,OAFA4O,MAAM/G,IAAI6c,EAAK1kB,EAAO2pB,EAAMI,MAC5BrnB,KAAKopB,YACEppB,KAEXopB,YACQppB,KAAKV,KAAOU,KAAKkpB,QACjBlpB,KAAK6oB,QAAQ/lB,KAAKwmB,MAAMtpB,KAAKkpB,OAASlpB,KAAKmpB,Y,0BCxYvDrsB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQib,2BAAwB,EAiJhCjb,EAAQib,sBA7IR,MACI7I,YAAYzO,EAAW,SACnBwC,KAAKkV,UAAY1X,EACjBwC,KAAKupB,QAAU,GACfvpB,KAAKwpB,aAAe,EAExB,eACI,OAAOxpB,KAAKkV,UAEhBuU,OAAOC,GACH,MAAMC,EAA4B,iBAAVD,EAAqB1pB,KAAKnC,WAAW6rB,EAAO1pB,KAAKkV,WAAawU,EACtF1pB,KAAKupB,QAAQluB,KAAKsuB,GAClB3pB,KAAKwpB,cAAgBG,EAAS7vB,WAElC8vB,iBACI,GAA4B,IAAxB5pB,KAAKupB,QAAQvuB,OACb,OAEJ,IAAIsjB,EAAQ,EACRuL,EAAa,EACbnoB,EAAS,EACTooB,EAAiB,EACrBC,EAAK,KAAOF,EAAa7pB,KAAKupB,QAAQvuB,QAAQ,CAC1C,MAAM0uB,EAAQ1pB,KAAKupB,QAAQM,GAEnB,IADRnoB,EAAS,EACMA,EAASgoB,EAAM1uB,QAAQ,CAElC,OADc0uB,EAAMhoB,IAEhB,KA/BT,GAgCa,OAAQ4c,GACJ,KAAK,EACDA,EAAQ,EACR,MACJ,KAAK,EACDA,EAAQ,EACR,MACJ,QACIA,EAAQ,EAEhB,MACJ,KA1CT,GA2Ca,OAAQA,GACJ,KAAK,EACDA,EAAQ,EACR,MACJ,KAAK,EACDA,EAAQ,EACR5c,IACA,MAAMqoB,EACV,QACIzL,EAAQ,EAEhB,MACJ,QACIA,EAAQ,EAEhB5c,IAEJooB,GAAkBJ,EAAM5vB,WACxB+vB,IAEJ,GAAc,IAAVvL,EACA,OAIJ,MAAMlgB,EAAS4B,KAAKgqB,MAAMF,EAAiBpoB,GACrCse,EAAS,IAAIlC,IACbmM,EAAUjqB,KAAKR,SAASpB,EAAQ,SAASmP,MArE1C,QAsEL,GAAI0c,EAAQjvB,OAAS,EACjB,OAAOglB,EAEX,IAAK,IAAI1lB,EAAI,EAAGA,EAAI2vB,EAAQjvB,OAAS,EAAGV,IAAK,CACzC,MAAM4vB,EAASD,EAAQ3vB,GACjB6vB,EAAQD,EAAOruB,QAAQ,KAC7B,IAAe,IAAXsuB,EACA,MAAM,IAAIvuB,MAAM,sDAEpB,MAAMomB,EAAMkI,EAAOloB,OAAO,EAAGmoB,GACvB7sB,EAAQ4sB,EAAOloB,OAAOmoB,EAAQ,GAAGvkB,OACvCoa,EAAO7a,IAAI6c,EAAK1kB,GAEpB,OAAO0iB,EAEXoK,YAAYpvB,GACR,KAAIgF,KAAKwpB,aAAexuB,GAGxB,OAAOgF,KAAKgqB,MAAMhvB,GAEtB,oBACI,OAAOgF,KAAKwpB,aAEhBQ,MAAMK,GACF,GAAkB,IAAdA,EACA,OAAOrqB,KAAKiV,cAEhB,GAAIoV,EAAYrqB,KAAKwpB,aACjB,MAAM,IAAI5tB,MAAM,8BAEpB,GAAIoE,KAAKupB,QAAQ,GAAGzvB,aAAeuwB,EAAW,CAE1C,MAAMX,EAAQ1pB,KAAKupB,QAAQ,GAG3B,OAFAvpB,KAAKupB,QAAQhK,QACbvf,KAAKwpB,cAAgBa,EACdrqB,KAAKsV,SAASoU,GAEzB,GAAI1pB,KAAKupB,QAAQ,GAAGzvB,WAAauwB,EAAW,CAExC,MAAMX,EAAQ1pB,KAAKupB,QAAQ,GACrBvJ,EAAShgB,KAAKsV,SAASoU,EAAOW,GAGpC,OAFArqB,KAAKupB,QAAQ,GAAKG,EAAM9rB,MAAMysB,GAC9BrqB,KAAKwpB,cAAgBa,EACdrK,EAEX,MAAMA,EAAShgB,KAAKuV,YAAY8U,GAChC,IAAIC,EAAe,EAEnB,KAAOD,EAAY,GAAG,CAClB,MAAMX,EAAQ1pB,KAAKupB,QAFN,GAGb,GAAIG,EAAM5vB,WAAauwB,EAAW,CAE9B,MAAME,EAAYb,EAAM9rB,MAAM,EAAGysB,GACjCrK,EAAO7a,IAAIolB,EAAWD,GACtBA,GAAgBD,EAChBrqB,KAAKupB,QARI,GAQkBG,EAAM9rB,MAAMysB,GACvCrqB,KAAKwpB,cAAgBa,EACrBA,GAAaA,OAIbrK,EAAO7a,IAAIukB,EAAOY,GAClBA,GAAgBZ,EAAM5vB,WACtBkG,KAAKupB,QAAQhK,QACbvf,KAAKwpB,cAAgBE,EAAM5vB,WAC3BuwB,GAAaX,EAAM5vB,WAG3B,OAAOkmB,K,4BC/IfljB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQye,4BAA8Bze,EAAQmZ,sBAAwBnZ,EAAQ0e,mBAAgB,EAC9F,MAAM9D,EAAQ,EAAQ,KAChBkG,EAAK,EAAQ,MACbhG,EAAW,EAAQ,MACzB,IA+CI6V,GAvCe3wB,EAAQ0e,gBAAkB1e,EAAQ0e,cAAgB,KADnDhE,GALd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUtH,SAAWiH,EAAGoB,KAAKf,EAAUI,UAC/DT,EAAGoB,KAAKf,EAAUhF,UAAY2E,EAAGoB,KAAKf,EAAUpF,UAAY+E,EAAGoB,KAAKf,EAAUyP,mBAI1F,MAAMzX,EACF/G,cACIjM,KAAKwe,aAAe,IAAI7J,EAASxB,QACjCnT,KAAKye,aAAe,IAAI9J,EAASxB,QACjCnT,KAAK0qB,sBAAwB,IAAI/V,EAASxB,QAE9CiI,UACIpb,KAAKwe,aAAapD,UAClBpb,KAAKye,aAAarD,UAEtB,cACI,OAAOpb,KAAKwe,aAAanL,MAE7BG,UAAUpP,GACNpE,KAAKwe,aAAalL,KAAKtT,KAAK2qB,QAAQvmB,IAExC,cACI,OAAOpE,KAAKye,aAAapL,MAE7BuX,YACI5qB,KAAKye,aAAanL,UAAKxU,GAE3B,uBACI,OAAOkB,KAAK0qB,sBAAsBrX,MAEtCwX,mBAAmB5O,GACfjc,KAAK0qB,sBAAsBpX,KAAK2I,GAEpC0O,QAAQvmB,GACJ,OAAIA,aAAiBxI,MACVwI,EAGA,IAAIxI,MAAM,kCAAkC+e,EAAGpd,OAAO6G,EAAMmI,SAAWnI,EAAMmI,QAAU,cAI1G1S,EAAQmZ,sBAAwBA,EAEhC,SAAWwX,GAuCPA,EAA6BM,YAtC7B,SAAqB1W,GACjB,IAAI0T,EACJ,IAAIlR,EAEAmU,EACJ,MAAMC,EAAkB,IAAIlN,IAC5B,IAAImN,EACJ,MAAMC,EAAsB,IAAIpN,IAChC,QAAgBhf,IAAZsV,GAA4C,iBAAZA,EAChCwC,EAAUxC,QAAyCA,EAAU,YAE5D,CAMD,GALAwC,EAAqC,QAA1BkR,EAAK1T,EAAQwC,eAA4B,IAAPkR,EAAgBA,EAAK,aACnChpB,IAA3BsV,EAAQ2W,iBACRA,EAAiB3W,EAAQ2W,eACzBC,EAAgB7lB,IAAI4lB,EAAe1e,KAAM0e,SAEbjsB,IAA5BsV,EAAQ4W,gBACR,IAAK,MAAMnU,KAAWzC,EAAQ4W,gBAC1BA,EAAgB7lB,IAAI0R,EAAQxK,KAAMwK,GAO1C,QAJmC/X,IAA/BsV,EAAQ6W,qBACRA,EAAqB7W,EAAQ6W,mBAC7BC,EAAoB/lB,IAAI8lB,EAAmB5e,KAAM4e,SAEjBnsB,IAAhCsV,EAAQ8W,oBACR,IAAK,MAAMrU,KAAWzC,EAAQ8W,oBAC1BA,EAAoB/lB,IAAI0R,EAAQxK,KAAMwK,GAQlD,YAJ2B/X,IAAvBmsB,IACAA,EAAqBxW,EAAM5B,UAAU6D,gBAAgBG,QACrDqU,EAAoB/lB,IAAI8lB,EAAmB5e,KAAM4e,IAE9C,CAAErU,UAASmU,iBAAgBC,kBAAiBC,qBAAoBC,wBArC/E,CAwCGV,IAAiCA,EAA+B,KA6FnE3wB,EAAQye,4BA5FR,cAA0CtF,EACtC/G,YAAYkf,EAAU/W,GAClBlI,QACAlM,KAAKmrB,SAAWA,EAChBnrB,KAAKoU,QAAUoW,EAA6BM,YAAY1W,GACxDpU,KAAK5B,OAASqW,EAAM5B,UAAU4D,cAActE,OAAOnS,KAAKoU,QAAQwC,SAChE5W,KAAKorB,uBAAyB,IAC9BprB,KAAKqrB,mBAAqB,EAC1BrrB,KAAKsrB,aAAe,EAExB,0BAA0BC,GACtBvrB,KAAKorB,uBAAyBG,EAElC,4BACI,OAAOvrB,KAAKorB,uBAEhB1X,OAAOC,GACH3T,KAAKqrB,mBAAqB,EAC1BrrB,KAAKsrB,aAAe,EACpBtrB,KAAKwrB,yBAAsB1sB,EAC3BkB,KAAK2T,SAAWA,EAChB,MAAMqM,EAAShgB,KAAKmrB,SAASjV,QAAQhX,IACjCc,KAAKkW,OAAOhX,MAIhB,OAFAc,KAAKmrB,SAASnV,SAAS5R,GAAUpE,KAAKwT,UAAUpP,KAChDpE,KAAKmrB,SAASvV,SAAQ,IAAM5V,KAAK4qB,cAC1B5K,EAEX9J,OAAOhX,GAEH,IADAc,KAAK5B,OAAOqrB,OAAOvqB,KACN,CACT,IAAgC,IAA5Bc,KAAKqrB,kBAA0B,CAC/B,MAAMpB,EAAUjqB,KAAK5B,OAAOwrB,iBAC5B,IAAKK,EACD,OAEJ,MAAMwB,EAAgBxB,EAAQ1lB,IAAI,kBAClC,IAAKknB,EACD,MAAM,IAAI7vB,MAAM,kDAEpB,MAAMZ,EAAS+G,SAAS0pB,GACxB,GAAI9c,MAAM3T,GACN,MAAM,IAAIY,MAAM,0CAEpBoE,KAAKqrB,kBAAoBrwB,EAE7B,MAAM0wB,EAAO1rB,KAAK5B,OAAOgsB,YAAYpqB,KAAKqrB,mBAC1C,QAAavsB,IAAT4sB,EAGA,YADA1rB,KAAK2rB,yBAKT,IAAInZ,EAFJxS,KAAK4rB,2BACL5rB,KAAKqrB,mBAAqB,EAGtB7Y,OADgC1T,IAAhCkB,KAAKoU,QAAQ2W,eACT/qB,KAAKoU,QAAQ2W,eAAe1V,OAAOqW,GAGnC3Z,QAAQtC,QAAQic,GAExBlZ,EAAEmD,MAAMrY,IACJ0C,KAAKoU,QAAQ6W,mBAAmB5V,OAAO/X,EAAO0C,KAAKoU,SAASuB,MAAM3I,IAC9DhN,KAAK2T,SAAS3G,MACd5I,IACApE,KAAKwT,UAAUpP,SAEnBA,IACApE,KAAKwT,UAAUpP,OAI3BwnB,2BACQ5rB,KAAKwrB,sBACL/W,EAAM5B,UAAUoE,MAAMI,aAAarX,KAAKwrB,qBACxCxrB,KAAKwrB,yBAAsB1sB,GAGnC6sB,yBACI3rB,KAAK4rB,2BACD5rB,KAAKorB,wBAA0B,IAGnCprB,KAAKwrB,oBAAsB/W,EAAM5B,UAAUoE,MAAMC,YAAW,CAAC8J,EAAOuK,KAChEvrB,KAAKwrB,yBAAsB1sB,EACvBkiB,IAAUhhB,KAAKsrB,eACftrB,KAAK6qB,mBAAmB,CAAES,aAActK,EAAO6K,YAAaN,IAC5DvrB,KAAK2rB,4BAEV3rB,KAAKorB,uBAAwBprB,KAAKsrB,aAActrB,KAAKorB,4B,4BCvLhEtuB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQue,6BAA+Bve,EAAQ+Z,sBAAwB/Z,EAAQwe,mBAAgB,EAC/F,MAAM5D,EAAQ,EAAQ,KAChBkG,EAAK,EAAQ,MACbmR,EAAc,EAAQ,KACtBnX,EAAW,EAAQ,MAGzB,IAwCIoX,GAhCelyB,EAAQwe,gBAAkBxe,EAAQwe,cAAgB,KADnD9D,GALd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUI,UAAYT,EAAGoB,KAAKf,EAAUpF,UAChE+E,EAAGoB,KAAKf,EAAUhF,UAAY2E,EAAGoB,KAAKf,EAAUrd,QAI5D,MAAMiW,EACF3H,cACIjM,KAAKwe,aAAe,IAAI7J,EAASxB,QACjCnT,KAAKye,aAAe,IAAI9J,EAASxB,QAErCiI,UACIpb,KAAKwe,aAAapD,UAClBpb,KAAKye,aAAarD,UAEtB,cACI,OAAOpb,KAAKwe,aAAanL,MAE7BG,UAAUpP,EAAOmI,EAASyf,GACtBhsB,KAAKwe,aAAalL,KAAK,CAACtT,KAAK2qB,QAAQvmB,GAAQmI,EAASyf,IAE1D,cACI,OAAOhsB,KAAKye,aAAapL,MAE7BuX,YACI5qB,KAAKye,aAAanL,UAAKxU,GAE3B6rB,QAAQvmB,GACJ,OAAIA,aAAiBxI,MACVwI,EAGA,IAAIxI,MAAM,kCAAkC+e,EAAGpd,OAAO6G,EAAMmI,SAAWnI,EAAMmI,QAAU,cAI1G1S,EAAQ+Z,sBAAwBA,EAEhC,SAAWmY,GAUPA,EAA6BjB,YAT7B,SAAqB1W,GACjB,IAAI0T,EAAImE,EACR,YAAgBntB,IAAZsV,GAA4C,iBAAZA,EACzB,CAAEwC,QAASxC,QAAyCA,EAAU,QAAS8X,mBAAoBzX,EAAM5B,UAAU6D,gBAAgBC,SAG3H,CAAEC,QAAoC,QAA1BkR,EAAK1T,EAAQwC,eAA4B,IAAPkR,EAAgBA,EAAK,QAASqE,eAAgB/X,EAAQ+X,eAAgBD,mBAA0D,QAArCD,EAAK7X,EAAQ8X,0BAAuC,IAAPD,EAAgBA,EAAKxX,EAAM5B,UAAU6D,gBAAgBC,UAP9P,CAWGoV,IAAiCA,EAA+B,KAkDnElyB,EAAQue,6BAjDR,cAA2CxE,EACvC3H,YAAYE,EAAUiI,GAClBlI,QACAlM,KAAKmM,SAAWA,EAChBnM,KAAKoU,QAAU2X,EAA6BjB,YAAY1W,GACxDpU,KAAK6T,WAAa,EAClB7T,KAAKosB,eAAiB,IAAIN,EAAYO,UAAU,GAChDrsB,KAAKmM,SAAS6J,SAAS5R,GAAUpE,KAAKwT,UAAUpP,KAChDpE,KAAKmM,SAASyJ,SAAQ,IAAM5V,KAAK4qB,cAErC,YAAY5d,GACR,OAAOhN,KAAKosB,eAAeE,MAAKC,SACZvsB,KAAKoU,QAAQ8X,mBAAmB9W,OAAOpI,EAAKhN,KAAKoU,SAASuB,MAAMvX,QACxCU,IAAhCkB,KAAKoU,QAAQ+X,eACNnsB,KAAKoU,QAAQ+X,eAAe/W,OAAOhX,GAGnCA,IAGAuX,MAAMvX,IACjB,MAAM6rB,EAAU,GAGhB,OAFAA,EAAQ5uB,KA7EF,mBA6EsB+C,EAAOtE,WAAW0F,WA5EjD,QA6EGyqB,EAAQ5uB,KA7EX,QA8EU2E,KAAKwsB,QAAQxf,EAAKid,EAAS7rB,MAClCgG,IAEA,MADApE,KAAKwT,UAAUpP,GACTA,OAIlB,cAAc4I,EAAKid,EAAS/qB,GACxB,IAEI,aADMc,KAAKmM,SAASxO,MAAMssB,EAAQzuB,KAAK,IAAK,SACrCwE,KAAKmM,SAASxO,MAAMuB,GAE/B,MAAOkF,GAEH,OADApE,KAAK+T,YAAY3P,EAAO4I,GACjB+E,QAAQiC,OAAO5P,IAG9B2P,YAAY3P,EAAO4I,GACfhN,KAAK6T,aACL7T,KAAKwT,UAAUpP,EAAO4I,EAAKhN,KAAK6T,YAEpC9X,MACIiE,KAAKmM,SAASpQ,S,2BC3GtBe,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQioB,kBAAoBjoB,EAAQ4nB,sBAAwB5nB,EAAQ2lB,iBAAmB3lB,EAAQ+e,kBAAoB/e,EAAQgf,kBAAoBhf,EAAQif,kBAAoBjf,EAAQkf,kBAAoBlf,EAAQmf,kBAAoBnf,EAAQof,kBAAoBpf,EAAQqf,kBAAoBrf,EAAQsf,kBAAoBtf,EAAQuf,kBAAoBvf,EAAQwf,kBAAoBxf,EAAQyf,iBAAmBzf,EAAQ4f,aAAe5f,EAAQ6f,aAAe7f,EAAQ8f,aAAe9f,EAAQ+f,aAAe/f,EAAQggB,aAAehgB,EAAQigB,aAAejgB,EAAQkgB,aAAelgB,EAAQmgB,aAAengB,EAAQogB,aAAepgB,EAAQsgB,YAActgB,EAAQqgB,aAAergB,EAAQ4yB,yBAA2B5yB,EAAQ8e,oBAAsB9e,EAAQ2f,cAAgB3f,EAAQ0f,gBAAa,EACpvB,MAAMhF,EAAK,EAAQ,MAInB,IAAIgF,GACJ,SAAWA,GAEPA,EAAWmT,YAAc,MACzBnT,EAAWoT,gBAAkB,MAC7BpT,EAAWgI,gBAAkB,MAC7BhI,EAAWwH,eAAiB,MAC5BxH,EAAW8H,eAAiB,MAU5B9H,EAAWqT,gCAAkC,MAE7CrT,EAAWsT,iBAAmBtT,EAAWqT,+BACzCrT,EAAWqL,mBAAqB,MAChCrL,EAAWuT,kBAAoB,MAC/BvT,EAAWwT,sBAAwB,MACnCxT,EAAWyT,kBAAoB,MAO/BzT,EAAW0T,8BAAgC,KAE3C1T,EAAW2T,eAAiB3T,EAAW0T,6BA/B3C,CAgCG1T,EAAa1f,EAAQ0f,aAAe1f,EAAQ0f,WAAa,KAK5D,MAAMC,UAAsB5d,MACxBqQ,YAAYtQ,EAAM4Q,EAASrN,GACvBgN,MAAMK,GACNvM,KAAKrE,KAAO4Y,EAAG8N,OAAO1mB,GAAQA,EAAO4d,EAAWyT,iBAChDhtB,KAAKd,KAAOA,EACZpC,OAAOC,eAAeiD,KAAMwZ,EAAcxc,WAE9C+iB,SACI,MAAO,CACHpkB,KAAMqE,KAAKrE,KACX4Q,QAASvM,KAAKuM,QACdrN,KAAMc,KAAKd,OAIvBrF,EAAQ2f,cAAgBA,EACxB,MAAMb,EACF1M,YAAYkhB,GACRntB,KAAKmtB,KAAOA,EAEhB,UAAU7vB,GACN,OAAOA,IAAUqb,EAAoB6K,MAAQlmB,IAAUqb,EAAoBuI,QAAU5jB,IAAUqb,EAAoBwI,WAEvH3hB,WACI,OAAOQ,KAAKmtB,MAGpBtzB,EAAQ8e,oBAAsBA,EAK9BA,EAAoB6K,KAAO,IAAI7K,EAAoB,QAKnDA,EAAoBwI,WAAa,IAAIxI,EAAoB,cAMzDA,EAAoBuI,OAAS,IAAIvI,EAAoB,UAIrD,MAAM8T,EACFxgB,YAAY2T,EAAQkB,GAChB9gB,KAAK4f,OAASA,EACd5f,KAAK8gB,eAAiBA,EAE1B,0BACI,OAAOnI,EAAoB6K,MAGnC3pB,EAAQ4yB,yBAA2BA,EASnC5yB,EAAQqgB,aALR,cAA2BuS,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAatB/lB,EAAQsgB,YATR,cAA0BsS,EACtBxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBAapBvzB,EAAQogB,aATR,cAA2BwS,EACvBxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBASpBvzB,EAAQmgB,aALR,cAA2ByS,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQkgB,aALR,cAA2B0S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQigB,aALR,cAA2B2S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQggB,aALR,cAA2B4S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ+f,aALR,cAA2B6S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ8f,aALR,cAA2B8S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ6f,aALR,cAA2B+S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ4f,aALR,cAA2BgT,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAatB/lB,EAAQyf,iBATR,cAA+BmT,EAC3BxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBASpBvzB,EAAQwf,kBALR,cAAgCoT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAatB/lB,EAAQuf,kBATR,cAAgCqT,EAC5BxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBASpBvzB,EAAQsf,kBALR,cAAgCsT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQqf,kBALR,cAAgCuT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQof,kBALR,cAAgCwT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQmf,kBALR,cAAgCyT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQkf,kBALR,cAAgC0T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQif,kBALR,cAAgC2T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQgf,kBALR,cAAgC4T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ+e,kBALR,cAAgC6T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAWtB/lB,EAAQ2lB,iBAJR,SAA0BjT,GACtB,MAAMyO,EAAYzO,EAClB,OAAOyO,GAAazG,EAAGhX,OAAOyd,EAAU4E,UAAYrL,EAAGhX,OAAOyd,EAAU4B,KAAOrI,EAAG8N,OAAOrH,EAAU4B,MAUvG/iB,EAAQ4nB,sBAJR,SAA+BlV,GAC3B,MAAMyO,EAAYzO,EAClB,OAAOyO,GAAazG,EAAGhX,OAAOyd,EAAU4E,cAA0B,IAAfrT,EAAQqQ,IAU/D/iB,EAAQioB,kBAJR,SAA2BvV,GACvB,MAAMyO,EAAYzO,EAClB,OAAOyO,SAAmC,IAArBA,EAAUgF,UAAuBhF,EAAU5W,SAAWmQ,EAAGhX,OAAOyd,EAAU4B,KAAOrI,EAAG8N,OAAOrH,EAAU4B,KAAwB,OAAjB5B,EAAU4B,M,yBChR/I,IAAIyQ,EACJ,SAASjT,IACL,QAAatb,IAATuuB,EACA,MAAM,IAAIzxB,MAAM,0CAEpB,OAAOyxB,EANXvwB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IAQtD,SAAW8c,GAOPA,EAAItH,QANJ,SAAiBwa,GACb,QAAYxuB,IAARwuB,EACA,MAAM,IAAI1xB,MAAM,yCAEpByxB,EAAOC,GALf,CAQGlT,IAAQA,EAAM,KACjBvgB,EAAQgZ,QAAUuH,G,2BCjBlBtd,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQwyB,eAAY,EACpB,MAAM5X,EAAQ,EAAQ,KA4DtB5a,EAAQwyB,UA3DR,MACIpgB,YAAYshB,EAAW,GACnB,GAAIA,GAAY,EACZ,MAAM,IAAI3xB,MAAM,mCAEpBoE,KAAKwtB,UAAYD,EACjBvtB,KAAKytB,QAAU,EACfztB,KAAK0tB,SAAW,GAEpBpB,KAAKqB,GACD,OAAO,IAAI5b,SAAQ,CAACtC,EAASuE,KACzBhU,KAAK0tB,SAASryB,KAAK,CAAEsyB,QAAOle,UAASuE,WACrChU,KAAK4tB,aAGb,aACI,OAAO5tB,KAAKytB,QAEhBG,UACiC,IAAzB5tB,KAAK0tB,SAAS1yB,QAAgBgF,KAAKytB,UAAYztB,KAAKwtB,WAGxD/Y,EAAM5B,UAAUoE,MAAMM,cAAa,IAAMvX,KAAK6tB,cAElDA,YACI,GAA6B,IAAzB7tB,KAAK0tB,SAAS1yB,QAAgBgF,KAAKytB,UAAYztB,KAAKwtB,UACpD,OAEJ,MAAMvF,EAAOjoB,KAAK0tB,SAASnO,QAE3B,GADAvf,KAAKytB,UACDztB,KAAKytB,QAAUztB,KAAKwtB,UACpB,MAAM,IAAI5xB,MAAM,yBAEpB,IACI,MAAMokB,EAASiI,EAAK0F,QAChB3N,aAAkBjO,QAClBiO,EAAOrK,MAAMrY,IACT0C,KAAKytB,UACLxF,EAAKxY,QAAQnS,GACb0C,KAAK4tB,aACLE,IACA9tB,KAAKytB,UACLxF,EAAKjU,OAAO8Z,GACZ9tB,KAAK4tB,cAIT5tB,KAAKytB,UACLxF,EAAKxY,QAAQuQ,GACbhgB,KAAK4tB,WAGb,MAAOE,GACH9tB,KAAKytB,UACLxF,EAAKjU,OAAO8Z,GACZ9tB,KAAK4tB,c,4BCzDjB9b,EAAOjY,QAAU,EAAjB,M,iCCDA,IAAIqY,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk0B,8BAA2B,EACnC,MAAMC,EAAY,EAAQ,MAC1Bzb,EAAa,EAAQ,MAA2B1Y,GAChD0Y,EAAa,EAAQ,MAAkB1Y,GAIvCA,EAAQk0B,yBAHR,SAAkC9Z,EAAQC,EAAQC,EAAQC,GACtD,OAAO4Z,EAAUtb,wBAAwBuB,EAAQC,EAAQC,EAAQC,K,kCChBrE,IAAIlC,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQo0B,cAAgBp0B,EAAQk0B,8BAA2B,EAC3Dxb,EAAa,EAAQ,MAAmB1Y,GACxC0Y,EAAa,EAAQ,MAAgC1Y,GACrD0Y,EAAa,EAAQ,MAAe1Y,GACpC0Y,EAAa,EAAQ,KAAe1Y,GACpC,IAGWo0B,EAHPvT,EAAe,EAAQ,MAC3B5d,OAAOuH,eAAexK,EAAS,2BAA4B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAaqT,6BAE3GE,EAiBQp0B,EAAQo0B,gBAAkBp0B,EAAQo0B,cAAgB,KAVnDC,4BAA8B,MAC5CD,EAAcE,iBAAmB,MACjCF,EAAcG,kBAAoB,MAOlCH,EAAcI,0BAA4B,O,4BCnC9CvxB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk0B,8BAA2B,EACnC,MAAMO,EAAmB,EAAQ,MAOjCz0B,EAAQk0B,yBANR,SAAkChhB,EAAO9Q,EAAQkY,EAAQC,GAIrD,OAHIka,EAAiBha,mBAAmBC,GAAGH,KACvCA,EAAU,CAAEI,mBAAoBJ,IAE7Bka,EAAiB5b,wBAAwB3F,EAAO9Q,EAAQkY,EAAQC,K,4BCP3EtX,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ00B,yBAA2B10B,EAAQ20B,0BAA4B30B,EAAQ40B,oBAAsB50B,EAAQ60B,qBAAuB70B,EAAQ80B,sBAAmB,EAC/J,MAAML,EAAmB,EAAQ,MAMjCz0B,EAAQ80B,iBALR,MACI1iB,YAAY2T,GACR5f,KAAK4f,OAASA,IAItB,MAAM8O,UAA6BJ,EAAiBpU,aAChDjO,YAAY2T,GACR1T,MAAM0T,IAGd/lB,EAAQ60B,qBAAuBA,EAC/B,MAAMD,UAA4BH,EAAiBnU,YAC/ClO,YAAY2T,GACR1T,MAAM0T,EAAQ0O,EAAiB3V,oBAAoBuI,SAG3DrnB,EAAQ40B,oBAAsBA,EAC9B,MAAMD,UAAkCF,EAAiBjV,kBACrDpN,YAAY2T,GACR1T,MAAM0T,IAGd/lB,EAAQ20B,0BAA4BA,EACpC,MAAMD,UAAiCD,EAAiBhV,iBACpDrN,YAAY2T,GACR1T,MAAM0T,EAAQ0O,EAAiB3V,oBAAoBuI,SAG3DrnB,EAAQ00B,yBAA2BA,G,4BChCnCzxB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ+0B,kCAAoC/0B,EAAQg1B,kCAAoCh1B,EAAQi1B,iCAA8B,EAC9H,MAAMxU,EAAa,EAAQ,MA4B3B,IAAWsU,EAVAC,EAVAC,KAGsBj1B,EAAQi1B,8BAAgCj1B,EAAQi1B,4BAA8B,KAF/ElP,OAAS,oCACrCkP,EAA4B9vB,KAAO,IAAIsb,EAAWmU,oBAAoBK,EAA4BlP,SAQ3FiP,EAG4Bh1B,EAAQg1B,oCAAsCh1B,EAAQg1B,kCAAoC,KAF3FjP,OAAS,8BAC3CiP,EAAkC7vB,KAAO,IAAIsb,EAAWmU,oBAAoBI,EAAkCjP,SAQvGgP,EAG4B/0B,EAAQ+0B,oCAAsC/0B,EAAQ+0B,kCAAoC,KAF3FhP,OAAS,8BAC3CgP,EAAkC5vB,KAAO,IAAIsb,EAAWmU,oBAAoBG,EAAkChP,S,4BChClH9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk1B,yBAA2Bl1B,EAAQm1B,0BAAuB,EAClE,MAAM1U,EAAa,EAAQ,MAmB3B,IAXW0U,KAGen1B,EAAQm1B,uBAAyBn1B,EAAQm1B,qBAAuB,KAFjEpP,OAAS,6BAC9BoP,EAAqBhwB,KAAO,IAAIsb,EAAWmU,oBAAoBO,EAAqBpP,SAW1D/lB,EAAQk1B,2BAA6Bl1B,EAAQk1B,yBAA2B,KADzE/vB,KAAO,IAAIsb,EAAWmU,oBAAoB,mC,4BCtBvE3xB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQo1B,0BAAuB,EAC/B,MAAM3U,EAAa,EAAQ,OAaDzgB,EAAQo1B,uBAAyBp1B,EAAQo1B,qBAAuB,KADjEjwB,KAAO,IAAIsb,EAAWmU,oBAAoB,4B,2BCdnE3xB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQq1B,wBAAqB,EAC7B,MAAM5U,EAAa,EAAQ,MAW3B,IAAW4U,KAGar1B,EAAQq1B,qBAAuBr1B,EAAQq1B,mBAAqB,KAF7DtP,OAAS,2BAC5BsP,EAAmBlwB,KAAO,IAAIsb,EAAWmU,oBAAoBS,EAAmBtP,S,4BCfpF9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQs1B,uBAAyBt1B,EAAQu1B,2BAA6Bv1B,EAAQw1B,2BAA6Bx1B,EAAQy1B,uBAAyBz1B,EAAQ01B,2BAA6B11B,EAAQ21B,uBAAyB31B,EAAQ41B,8BAA2B,EACrP,MAAMnV,EAAa,EAAQ,MAgF3B,IAAW6U,EAXAC,EAXAC,EAXAC,EAXAC,EAXAC,EAjBAC,KASmB51B,EAAQ41B,2BAA6B51B,EAAQ41B,yBAA2B,KALzEC,KAAO,OAIhCD,EAAyBE,OAAS,UAS3BH,EAGiB31B,EAAQ21B,yBAA2B31B,EAAQ21B,uBAAyB,KAFrE5P,OAAS,4BAChC4P,EAAuBxwB,KAAO,IAAIsb,EAAWmU,oBAAoBe,EAAuB5P,SASjF2P,EAGqB11B,EAAQ01B,6BAA+B11B,EAAQ01B,2BAA6B,KAF7E3P,OAAS,2BACpC2P,EAA2BvwB,KAAO,IAAIsb,EAAWiU,yBAAyBgB,EAA2B3P,SAS9F0P,EAGiBz1B,EAAQy1B,yBAA2Bz1B,EAAQy1B,uBAAyB,KAFrE1P,OAAS,4BAChC0P,EAAuBtwB,KAAO,IAAIsb,EAAWmU,oBAAoBa,EAAuB1P,SASjFyP,EAGqBx1B,EAAQw1B,6BAA+Bx1B,EAAQw1B,2BAA6B,KAF7EzP,OAAS,2BACpCyP,EAA2BrwB,KAAO,IAAIsb,EAAWiU,yBAAyBc,EAA2BzP,SAS9FwP,EAGqBv1B,EAAQu1B,6BAA+Bv1B,EAAQu1B,2BAA6B,KAF7ExP,OAAS,2BACpCwP,EAA2BpwB,KAAO,IAAIsb,EAAWiU,yBAAyBa,EAA2BxP,SAS9FuP,EAGiBt1B,EAAQs1B,yBAA2Bt1B,EAAQs1B,uBAAyB,KAFrEvP,OAAS,4BAChCuP,EAAuBnwB,KAAO,IAAIsb,EAAWmU,oBAAoBU,EAAuBvP,S,4BCpF5F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ+1B,oBAAsB/1B,EAAQg2B,sBAAmB,EACzD,MAAMvV,EAAa,EAAQ,MA0B3B,IAAWsV,EArBAC,KAaWh2B,EAAQg2B,mBAAqBh2B,EAAQg2B,iBAAmB,KAThD,QAAI,UAI9BA,EAA0B,QAAI,UAI9BA,EAAyB,OAAI,UAStBD,EAGc/1B,EAAQ+1B,sBAAwB/1B,EAAQ+1B,oBAAsB,KAF/DhQ,OAAS,4BAC7BgQ,EAAoB5wB,KAAO,IAAIsb,EAAWmU,oBAAoBmB,EAAoBhQ,S,4BC9BtF9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQi2B,2BAAwB,EAChC,MAAMxV,EAAa,EAAQ,MAU3B,IAAWwV,KAGgBj2B,EAAQi2B,wBAA0Bj2B,EAAQi2B,sBAAwB,KAFnElQ,OAAS,8BAC/BkQ,EAAsB9wB,KAAO,IAAIsb,EAAWmU,oBAAoBqB,EAAsBlQ,S,2BCd1F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk2B,oBAAsBl2B,EAAQm2B,uBAAyBn2B,EAAQo2B,uBAAyBp2B,EAAQq2B,gBAAkBr2B,EAAQs2B,uBAAyBt2B,EAAQu2B,yBAA2Bv2B,EAAQw2B,kBAAoBx2B,EAAQy2B,sBAAwBz2B,EAAQ02B,yBAA2B12B,EAAQ22B,kBAAoB32B,EAAQ42B,kBAAoB52B,EAAQ62B,qBAAuB72B,EAAQ82B,yBAA2B92B,EAAQ+2B,aAAe/2B,EAAQg3B,yBAA2Bh3B,EAAQi3B,kBAAoBj3B,EAAQk3B,sBAAwBl3B,EAAQm3B,+BAAiCn3B,EAAQo3B,UAAYp3B,EAAQq3B,eAAiBr3B,EAAQs3B,kCAAoCt3B,EAAQu3B,qCAAuCv3B,EAAQw3B,iCAAmCx3B,EAAQy3B,uBAAyBz3B,EAAQ03B,gCAAkC13B,EAAQ23B,iCAAmC33B,EAAQ43B,kCAAoC53B,EAAQ63B,+BAAiC73B,EAAQ83B,gCAAkC93B,EAAQ+3B,qBAAuB/3B,EAAQg4B,2BAA6Bh4B,EAAQi4B,uBAAyBj4B,EAAQk4B,mBAAqBl4B,EAAQm4B,wBAA0Bn4B,EAAQo4B,YAAcp4B,EAAQq4B,mCAAqCr4B,EAAQs4B,iBAAmBt4B,EAAQu4B,gBAAkBv4B,EAAQw4B,wBAA0Bx4B,EAAQy4B,gBAAkBz4B,EAAQ04B,kBAAoB14B,EAAQ24B,wBAA0B34B,EAAQ44B,gCAAkC54B,EAAQ64B,0BAA4B74B,EAAQ84B,oBAAsB94B,EAAQ+4B,sBAAwB/4B,EAAQg5B,sBAAwBh5B,EAAQi5B,oBAAsBj5B,EAAQk5B,iBAAmBl5B,EAAQm5B,oBAAiB,EAClnDn5B,EAAQo5B,eAAiBp5B,EAAQq5B,YAAcr5B,EAAQs5B,gBAAkBt5B,EAAQs1B,uBAAyBt1B,EAAQu1B,2BAA6Bv1B,EAAQy1B,uBAAyBz1B,EAAQw1B,2BAA6Bx1B,EAAQ21B,uBAAyB31B,EAAQ01B,2BAA6B11B,EAAQ41B,yBAA2B51B,EAAQu5B,0BAA4Bv5B,EAAQw5B,oBAAsBx5B,EAAQy5B,+BAAiCz5B,EAAQ05B,6BAA+B15B,EAAQ25B,2BAA6B35B,EAAQ45B,2BAA6B55B,EAAQ65B,sBAAwB75B,EAAQ85B,YAAc95B,EAAQ+5B,eAAiB/5B,EAAQg6B,uBAAyBh6B,EAAQi6B,mBAAqBj6B,EAAQi1B,4BAA8Bj1B,EAAQ+0B,kCAAoC/0B,EAAQg1B,kCAAoCh1B,EAAQk6B,mCAAqCl6B,EAAQm6B,8BAAgCn6B,EAAQo6B,iBAAmBp6B,EAAQq6B,sBAAwBr6B,EAAQq1B,mBAAqBr1B,EAAQ+1B,oBAAsB/1B,EAAQk1B,yBAA2Bl1B,EAAQm1B,qBAAuBn1B,EAAQo1B,qBAAuBp1B,EAAQs6B,sCAAwCt6B,EAAQu6B,wBAA0Bv6B,EAAQw6B,sBAAwBx6B,EAAQi2B,sBAAwBj2B,EAAQy6B,0BAA4Bz6B,EAAQ06B,sBAAwB16B,EAAQ26B,qBAAuB36B,EAAQ46B,cAAgB56B,EAAQ66B,8BAAgC76B,EAAQ86B,gCAAkC96B,EAAQ+6B,+BAAiC/6B,EAAQg7B,0BAA4Bh7B,EAAQi7B,gCAA6B,EACliD,MAAMna,EAAK,EAAQ,MACbL,EAAa,EAAQ,MACrBya,EAA4B,EAAQ,MAC1Cj4B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOwwB,EAA0BjF,yBAChI,MAAMkF,EAA4B,EAAQ,MAC1Cl4B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOywB,EAA0BX,yBAChI,MAAMY,EAA8B,EAAQ,MAC5Cn4B,OAAOuH,eAAexK,EAAS,0BAA2B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO0wB,EAA4Bb,2BACpIt3B,OAAOuH,eAAexK,EAAS,wCAAyC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO0wB,EAA4Bd,yCAClJ,MAAMe,EAA2B,EAAQ,MACzCp4B,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO2wB,EAAyBjG,wBAC9H,MAAMkG,EAA2B,EAAQ,MACzCr4B,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO4wB,EAAyBnG,wBAC9HlyB,OAAOuH,eAAexK,EAAS,2BAA4B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO4wB,EAAyBpG,4BAClI,MAAMqG,EAA0B,EAAQ,MACxCt4B,OAAOuH,eAAexK,EAAS,sBAAuB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO6wB,EAAwBxF,uBAC5H,MAAMyF,EAAyB,EAAQ,KACvCv4B,OAAOuH,eAAexK,EAAS,qBAAsB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO8wB,EAAuBnG,sBAC1H,MAAMoG,EAA4B,EAAQ,MAC1Cx4B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+wB,EAA0BpB,yBAChI,MAAMqB,EAAsB,EAAQ,MACpCz4B,OAAOuH,eAAexK,EAAS,mBAAoB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgxB,EAAoBtB,oBACrHn3B,OAAOuH,eAAexK,EAAS,gCAAiC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgxB,EAAoBvB,iCAClIl3B,OAAOuH,eAAexK,EAAS,qCAAsC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgxB,EAAoBxB,sCACvI,MAAMyB,EAA2B,EAAQ,MACzC14B,OAAOuH,eAAexK,EAAS,oCAAqC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOixB,EAAyB3G,qCAC3I/xB,OAAOuH,eAAexK,EAAS,oCAAqC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOixB,EAAyB5G,qCAC3I9xB,OAAOuH,eAAexK,EAAS,8BAA+B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOixB,EAAyB1G,+BACrI,MAAM2G,EAA4B,EAAQ,MAC1C34B,OAAOuH,eAAexK,EAAS,qBAAsB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B3B,sBAC7Hh3B,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B5B,0BACjI/2B,OAAOuH,eAAexK,EAAS,iBAAkB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B7B,kBACzH92B,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B9B,eACtH72B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B/B,yBAChI52B,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BhC,8BACrI32B,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BjC,8BACrI12B,OAAOuH,eAAexK,EAAS,+BAAgC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BlC,gCACvIz2B,OAAOuH,eAAexK,EAAS,iCAAkC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BnC,kCACzI,MAAMoC,EAA0B,EAAQ,MACxC54B,OAAOuH,eAAexK,EAAS,sBAAuB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmxB,EAAwBrC,uBAC5H,MAAMsC,EAAgC,EAAQ,MAC9C74B,OAAOuH,eAAexK,EAAS,4BAA6B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOoxB,EAA8BvC,6BACxI,MAAMwC,EAA4B,EAAQ,MAC1C94B,OAAOuH,eAAexK,EAAS,2BAA4B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BnG,4BACnI3yB,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BrG,8BACrIzyB,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BpG,0BACjI1yB,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BvG,8BACrIvyB,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BtG,0BACjIxyB,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BxG,8BACrItyB,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BzG,0BACjI,MAAM0G,EAAqB,EAAQ,MAUnC,IAAI7C,EAYAD,EA+oBOyB,EAVAC,EAjBAE,EARAC,EARAC,EARAC,EAVA/E,EARAC,EAVAC,EARAC,EARAC,EAXAC,EAVAC,EARAC,EAXAC,EAXAC,EAXAC,EAZAC,EAfAC,EAVAC,EAVAC,EAVAC,EA5BAC,EA1BAE,EAfAC,EAhBAE,EAbAC,EApBAC,EARAC,EATAC,EAdAC,EA1BAC,EALAC,GA5BAC,GAxDAK,GA9EAO,GApDAG,GAfAC,GArDX91B,OAAOuH,eAAexK,EAAS,kBAAmB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOsxB,EAAmB1C,mBACnHr2B,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOsxB,EAAmB3C,eAC/Gp2B,OAAOuH,eAAexK,EAAS,iBAAkB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOsxB,EAAmB5C,kBAQlH,SAAWD,GAKPA,EAAeze,GAJf,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAOqd,EAAGpd,OAAOyd,EAAU8a,WAAanb,EAAGpd,OAAOyd,EAAU+a,SAAWpb,EAAGpd,OAAOyd,EAAUgb,UAHnG,CAMGhD,EAAiBn5B,EAAQm5B,iBAAmBn5B,EAAQm5B,eAAiB,KAMxE,SAAWD,GAYPA,EAAiBxe,GAXjB,SAAYjX,GACR,IAAK5B,MAAMuD,QAAQ3B,GACf,OAAO,EAEX,IAAK,IAAI0pB,KAAQ1pB,EACb,IAAKqd,EAAGpd,OAAOypB,KAAUgM,EAAeze,GAAGyS,GACvC,OAAO,EAGf,OAAO,GAVf,CAaG+L,EAAmBl5B,EAAQk5B,mBAAqBl5B,EAAQk5B,iBAAmB,MAQrDl5B,EAAQi5B,sBAAwBj5B,EAAQi5B,oBAAsB,KAD/D9zB,KAAO,IAAIsb,EAAWmU,oBAAoB,8BASvC50B,EAAQg5B,wBAA0Bh5B,EAAQg5B,sBAAwB,KADnE7zB,KAAO,IAAIsb,EAAWmU,oBAAoB,gCAGzDmE,GAagB/4B,EAAQ+4B,wBAA0B/4B,EAAQ+4B,sBAAwB,KATnEqD,OAAS,SAI/BrD,GAAsBsD,OAAS,SAI/BtD,GAAsBuD,OAAS,UAGxBxD,GAsBc94B,EAAQ84B,sBAAwB94B,EAAQ84B,oBAAsB,KAjB/DyD,MAAQ,QAK5BzD,GAAoB0D,cAAgB,gBAMpC1D,GAAoB2D,sBAAwB,wBAK5C3D,GAAoB4D,KAAO,QAaA18B,EAAQ64B,4BAA8B74B,EAAQ64B,0BAA4B,KAD3E8D,MAJ1B,SAAel5B,GACX,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGpd,OAAOyd,EAAU4B,KAAO5B,EAAU4B,GAAG5hB,OAAS,IAexCnB,EAAQ44B,kCAAoC54B,EAAQ44B,gCAAkC,KADvFle,GAJhC,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,IAA6C,OAA/BA,EAAUyb,kBAA6B1D,EAAiBxe,GAAGyG,EAAUyb,qBASvFjE,GAWkB34B,EAAQ24B,0BAA4B34B,EAAQ24B,wBAA0B,KANvEje,GAJxB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAOqd,EAAG+b,cAAc1b,UAA8Clc,IAA/Bkc,EAAU2b,kBAAkChc,EAAGM,QAAQD,EAAU2b,oBAO5GnE,GAAwBoE,oBAJxB,SAA6Bt5B,GACzB,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGM,QAAQD,EAAU2b,oBAc1B98B,EAAQ04B,oBAAsB14B,EAAQ04B,kBAAoB,KAD3DvzB,KAAO,IAAIsb,EAAWmU,oBAAoB,eAa3C50B,EAAQy4B,kBAAoBz4B,EAAQy4B,gBAAkB,KADvDuE,uBAAyB,GAUhBh9B,EAAQw4B,0BAA4Bx4B,EAAQw4B,wBAA0B,KADvErzB,KAAO,IAAIsb,EAAWiU,yBAAyB,gBAYtD10B,EAAQu4B,kBAAoBv4B,EAAQu4B,gBAAkB,KADvDpzB,KAAO,IAAIsb,EAAWoU,qBAAqB,aAUzC70B,EAAQs4B,mBAAqBt4B,EAAQs4B,iBAAmB,KADzDnzB,KAAO,IAAIsb,EAAWkU,0BAA0B,SAU7B30B,EAAQq4B,qCAAuCr4B,EAAQq4B,mCAAqC,KAD7FlzB,KAAO,IAAIsb,EAAWiU,yBAAyB,qCAO3E0D,GAiBMp4B,EAAQo4B,cAAgBp4B,EAAQo4B,YAAc,KAb/Cr2B,MAAQ,EAIpBq2B,GAAY6E,QAAU,EAItB7E,GAAY8E,KAAO,EAInB9E,GAAY+E,IAAM,GASOn9B,EAAQm4B,0BAA4Bn4B,EAAQm4B,wBAA0B,KADvEhzB,KAAO,IAAIsb,EAAWiU,yBAAyB,uBASnD10B,EAAQk4B,qBAAuBl4B,EAAQk4B,mBAAqB,KAD7D/yB,KAAO,IAAIsb,EAAWmU,oBAAoB,8BASrC50B,EAAQi4B,yBAA2Bj4B,EAAQi4B,uBAAyB,KADrE9yB,KAAO,IAAIsb,EAAWiU,yBAAyB,sBAU1C10B,EAAQg4B,6BAA+Bh4B,EAAQg4B,2BAA6B,KAD7E7yB,KAAO,IAAIsb,EAAWiU,yBAAyB,oBAOnEqD,GAgBe/3B,EAAQ+3B,uBAAyB/3B,EAAQ+3B,qBAAuB,KAZjEhX,KAAO,EAK5BgX,GAAqBqF,KAAO,EAM5BrF,GAAqBsF,YAAc,GAa5BvF,GAG0B93B,EAAQ83B,kCAAoC93B,EAAQ83B,gCAAkC,KAFvF/R,OAAS,uBACzC+R,GAAgC3yB,KAAO,IAAIsb,EAAWiU,yBAAyBoD,GAAgC/R,SAGxG8R,EAoByB73B,EAAQ63B,iCAAmC73B,EAAQ63B,+BAAiC,KAVrFyF,cAN/B,SAAuB9jB,GACnB,IAAI2H,EAAY3H,EAChB,OAAO2H,SACuB,iBAAnBA,EAAUoc,WAAyCt4B,IAApBkc,EAAUvO,aACrB3N,IAA1Bkc,EAAUqc,aAA8D,iBAA1Brc,EAAUqc,cAWjE3F,EAA+B4F,OAL/B,SAAgBjkB,GACZ,IAAI2H,EAAY3H,EAChB,OAAO2H,SACuB,iBAAnBA,EAAUoc,WAAyCt4B,IAApBkc,EAAUvO,YAAiD3N,IAA1Bkc,EAAUqc,cASlF5F,EAG4B53B,EAAQ43B,oCAAsC53B,EAAQ43B,kCAAoC,KAF3F7R,OAAS,yBAC3C6R,EAAkCzyB,KAAO,IAAIsb,EAAWiU,yBAAyBkD,EAAkC7R,SAY5G4R,EAG2B33B,EAAQ23B,mCAAqC33B,EAAQ23B,iCAAmC,KAFzF5R,OAAS,wBAC1C4R,EAAiCxyB,KAAO,IAAIsb,EAAWiU,yBAAyBiD,EAAiC5R,SAO1G2R,EAG0B13B,EAAQ03B,kCAAoC13B,EAAQ03B,gCAAkC,KAFvF3R,OAAS,uBACzC2R,EAAgCvyB,KAAO,IAAIsb,EAAWiU,yBAAyBgD,EAAgC3R,SAMxG0R,EAciBz3B,EAAQy3B,yBAA2Bz3B,EAAQy3B,uBAAyB,KATrEiG,OAAS,EAIhCjG,EAAuBkG,WAAa,EAIpClG,EAAuBmG,SAAW,GAO3BpG,EAG2Bx3B,EAAQw3B,mCAAqCx3B,EAAQw3B,iCAAmC,KAFzFzR,OAAS,wBAC1CyR,EAAiCryB,KAAO,IAAIsb,EAAWiU,yBAAyB8C,EAAiCzR,SAW1GwR,EAG+Bv3B,EAAQu3B,uCAAyCv3B,EAAQu3B,qCAAuC,KAFjGxR,OAAS,iCAC9CwR,EAAqCpyB,KAAO,IAAIsb,EAAWmU,oBAAoB2C,EAAqCxR,SASjF/lB,EAAQs3B,oCAAsCt3B,EAAQs3B,kCAAoC,KAD3FnyB,KAAO,IAAIsb,EAAWiU,yBAAyB,oCAM1E2C,EAaSr3B,EAAQq3B,iBAAmBr3B,EAAQq3B,eAAiB,KATrDwG,QAAU,EAIzBxG,EAAeyG,QAAU,EAIzBzG,EAAe0G,QAAU,GAGlB3G,EAaIp3B,EAAQo3B,YAAcp3B,EAAQo3B,UAAY,KAT3CgF,OAAS,EAInBhF,EAAU4G,OAAS,EAInB5G,EAAUkF,OAAS,GASat8B,EAAQm3B,iCAAmCn3B,EAAQm3B,+BAAiC,KADrFhyB,KAAO,IAAIsb,EAAWiU,yBAAyB,oCAMvEwC,EAegBl3B,EAAQk3B,wBAA0Bl3B,EAAQk3B,sBAAwB,KAVnE+G,QAAU,EAKhC/G,EAAsBgH,iBAAmB,EAIzChH,EAAsBiH,gCAAkC,GAcjDlH,EAGYj3B,EAAQi3B,oBAAsBj3B,EAAQi3B,kBAAoB,KAF3DlR,OAAS,0BAC3BkR,EAAkB9xB,KAAO,IAAIsb,EAAWmU,oBAAoBqC,EAAkBlR,SAQvEiR,EAGmBh3B,EAAQg3B,2BAA6Bh3B,EAAQg3B,yBAA2B,KAFzEjR,OAAS,yBAClCiR,EAAyB7xB,KAAO,IAAIsb,EAAWmU,oBAAoBoC,EAAyBjR,SAQrFgR,EAGO/2B,EAAQ+2B,eAAiB/2B,EAAQ+2B,aAAe,KAFjDhR,OAAS,qBACtBgR,EAAa5xB,KAAO,IAAIsb,EAAWmU,oBAAoBmC,EAAahR,SAQ7D+Q,EAamB92B,EAAQ82B,2BAA6B92B,EAAQ82B,yBAA2B,KATzEmH,QAAU,EAInCnH,EAAyBoH,iBAAmB,EAI5CpH,EAAyBsH,cAAgB,GAGlCvH,EAGe72B,EAAQ62B,uBAAyB72B,EAAQ62B,qBAAuB,KAFjE9Q,OAAS,6BAC9B8Q,EAAqB1xB,KAAO,IAAIsb,EAAWmU,oBAAoBiC,EAAqB9Q,SAU7E6Q,EAGY52B,EAAQ42B,oBAAsB52B,EAAQ42B,kBAAoB,KAF3D7Q,OAAS,0BAC3B6Q,EAAkBzxB,KAAO,IAAIsb,EAAWmU,oBAAoBgC,EAAkB7Q,SASvE4Q,EAGY32B,EAAQ22B,oBAAsB32B,EAAQ22B,kBAAoB,KAF3D5Q,OAAS,0BAC3B4Q,EAAkBxxB,KAAO,IAAIsb,EAAWmU,oBAAoB+B,EAAkB5Q,SASvE2Q,EAGmB12B,EAAQ02B,2BAA6B12B,EAAQ02B,yBAA2B,KAFzE3Q,OAAS,iCAClC2Q,EAAyBvxB,KAAO,IAAIsb,EAAWmU,oBAAoB8B,EAAyB3Q,SASrF0Q,EAGgBz2B,EAAQy2B,wBAA0Bz2B,EAAQy2B,sBAAwB,KAFnE1Q,OAAS,8BAC/B0Q,EAAsBtxB,KAAO,IAAIsb,EAAWmU,oBAAoB6B,EAAsB1Q,SAM/EyQ,EAGYx2B,EAAQw2B,oBAAsBx2B,EAAQw2B,kBAAoB,KAF3DzQ,OAAS,0BAC3ByQ,EAAkBrxB,KAAO,IAAIsb,EAAWmU,oBAAoB4B,EAAkBzQ,SAQvEwQ,EAGmBv2B,EAAQu2B,2BAA6Bv2B,EAAQu2B,yBAA2B,KAFzExQ,OAAS,qBAClCwQ,EAAyBpxB,KAAO,IAAIsb,EAAWmU,oBAAoB2B,EAAyBxQ,SASrFuQ,EAGiBt2B,EAAQs2B,yBAA2Bt2B,EAAQs2B,uBAAyB,KAFrEvQ,OAAS,mBAChCuQ,EAAuBnxB,KAAO,IAAIsb,EAAWmU,oBAAoB0B,EAAuBvQ,SAMjFsQ,EAGUr2B,EAAQq2B,kBAAoBr2B,EAAQq2B,gBAAkB,KAFvDtQ,OAAS,wBACzBsQ,EAAgBlxB,KAAO,IAAIsb,EAAWmU,oBAAoByB,EAAgBtQ,SAMnEqQ,EAGiBp2B,EAAQo2B,yBAA2Bp2B,EAAQo2B,uBAAyB,KAFrErQ,OAAS,mBAChCqQ,EAAuBjxB,KAAO,IAAIsb,EAAWmU,oBAAoBwB,EAAuBrQ,SAQjFoQ,EAGiBn2B,EAAQm2B,yBAA2Bn2B,EAAQm2B,uBAAyB,KAFrEpQ,OAAS,6BAChCoQ,EAAuBhxB,KAAO,IAAIsb,EAAWoU,qBAAqBsB,EAAuBpQ,SAMlFmQ,EAGcl2B,EAAQk2B,sBAAwBl2B,EAAQk2B,oBAAsB,KAF/DnQ,OAAS,4BAC7BmQ,EAAoB/wB,KAAO,IAAIsb,EAAWmU,oBAAoBsB,EAAoBnQ,SAQ3EkV,EAGqBj7B,EAAQi7B,6BAA+Bj7B,EAAQi7B,2BAA6B,KAF7ElV,OAAS,uBACpCkV,EAA2B91B,KAAO,IAAIsb,EAAWmU,oBAAoBqG,EAA2BlV,SAMzFiV,EAGoBh7B,EAAQg7B,4BAA8Bh7B,EAAQg7B,0BAA4B,KAF3EjV,OAAS,0BACnCiV,EAA0B71B,KAAO,IAAIsb,EAAWmU,oBAAoBoG,EAA0BjV,SAMvFgV,EAGyB/6B,EAAQ+6B,iCAAmC/6B,EAAQ+6B,+BAAiC,KAFrFhV,OAAS,+BACxCgV,EAA+B51B,KAAO,IAAIsb,EAAWmU,oBAAoBmG,EAA+BhV,SAMjG+U,EAG0B96B,EAAQ86B,kCAAoC96B,EAAQ86B,gCAAkC,KAFvF/U,OAAS,gCACzC+U,EAAgC31B,KAAO,IAAIsb,EAAWmU,oBAAoBkG,EAAgC/U,SAU3E/lB,EAAQ66B,gCAAkC76B,EAAQ66B,8BAAgC,KADnFwD,WAAa,GAMpCzD,EAGQ56B,EAAQ46B,gBAAkB56B,EAAQ46B,cAAgB,KAFnD7U,OAAS,sBACvB6U,EAAcz1B,KAAO,IAAIsb,EAAWmU,oBAAoBgG,EAAc7U,SAQ/D4U,EAGe36B,EAAQ26B,uBAAyB36B,EAAQ26B,qBAAuB,KAFjE5U,OAAS,6BAC9B4U,EAAqBx1B,KAAO,IAAIsb,EAAWmU,oBAAoB+F,EAAqB5U,SAS7D/lB,EAAQ06B,wBAA0B16B,EAAQ06B,sBAAwB,KADnEv1B,KAAO,IAAIsb,EAAWmU,oBAAoB,6BAQrC50B,EAAQy6B,4BAA8Bz6B,EAAQy6B,0BAA4B,KAD3Et1B,KAAO,IAAIsb,EAAWmU,oBAAoB,wB,4BC3uBxE3xB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQu5B,+BAA4B,EACpC,MAAM9Y,EAAa,EAAQ,MAO3B,IAAW8Y,KAGoBv5B,EAAQu5B,4BAA8Bv5B,EAAQu5B,0BAA4B,KAF3ExT,OAAS,kCACnCwT,EAA0Bp0B,KAAO,IAAIsb,EAAWmU,oBAAoB2E,EAA0BxT,S,4BCXlG9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQo5B,eAAiBp5B,EAAQq5B,YAAcr5B,EAAQs5B,qBAAkB,EACzE,MAAM7Y,EAAa,EAAQ,MAwD3B,IAAW2Y,EArBAC,EA5BAC,KAqBUt5B,EAAQs5B,kBAAoBt5B,EAAQs5B,gBAAkB,KAjB7C,SAAI,WAI9BA,EAAyB,QAAI,UAI7BA,EAAuB,MAAI,QAI3BA,EAAwB,OAAI,SAI5BA,EAAwB,OAAI,UAQrBD,EAcMr5B,EAAQq5B,cAAgBr5B,EAAQq5B,YAAc,KAVvC,OAAI,SAIxBA,EAAoB,OAAI,SAKxBA,EAAmB,MAAI,SAQhBD,EAGSp5B,EAAQo5B,iBAAmBp5B,EAAQo5B,eAAiB,KAFrDrT,OAAS,uBACxBqT,EAAej0B,KAAO,IAAIsb,EAAWmU,oBAAoBwE,EAAerT,S,4BC5D5E9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk6B,mCAAqCl6B,EAAQm6B,8BAAgCn6B,EAAQo6B,sBAAmB,EAChH,MAAM3F,EAAmB,EAAQ,MAC3BhU,EAAa,EAAQ,MAsB3B,IApBW2Z,KAMWp6B,EAAQo6B,mBAAqBp6B,EAAQo6B,iBAAmB,KALzDj1B,KAAO,IAAIsvB,EAAiBpW,aAI7C+b,EAAiB1f,GAHjB,SAAYjX,GACR,OAAOA,IAAU22B,EAAiBj1B,OAWPnF,EAAQm6B,gCAAkCn6B,EAAQm6B,8BAAgC,KADnFh1B,KAAO,IAAIsb,EAAWmU,oBAAoB,mCASpC50B,EAAQk6B,qCAAuCl6B,EAAQk6B,mCAAqC,KAD7F/0B,KAAO,IAAIsb,EAAWiU,yBAAyB,mC,4BC1BtFzxB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQq6B,2BAAwB,EAChC,MAAM5Z,EAAa,EAAQ,MAQ3B,IAAW4Z,KAGgBr6B,EAAQq6B,wBAA0Br6B,EAAQq6B,sBAAwB,KAFnEtU,OAAS,8BAC/BsU,EAAsBl1B,KAAO,IAAIsb,EAAWmU,oBAAoByF,EAAsBtU,S,4BCZ1F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ05B,6BAA+B15B,EAAQ25B,2BAA6B35B,EAAQ45B,2BAA6B55B,EAAQ65B,sBAAwB75B,EAAQy5B,+BAAiCz5B,EAAQ85B,YAAc95B,EAAQ+5B,eAAiB/5B,EAAQg6B,uBAAyBh6B,EAAQi6B,wBAAqB,EACvS,MAAMxZ,EAAa,EAAQ,MA2G3B,IAAWiZ,EARAC,EARAC,EARAC,EARAJ,EA9BAO,EApCAC,KA2Baj6B,EAAQi6B,qBAAuBj6B,EAAQi6B,mBAAqB,KA1BlD,UAAI,YAKlCA,EAAyB,KAAI,OAC7BA,EAA0B,MAAI,QAC9BA,EAAyB,KAAI,OAC7BA,EAA8B,UAAI,YAClCA,EAA2B,OAAI,SAC/BA,EAAkC,cAAI,gBACtCA,EAA8B,UAAI,YAClCA,EAA6B,SAAI,WACjCA,EAA6B,SAAI,WACjCA,EAA+B,WAAI,aACnCA,EAA0B,MAAI,QAC9BA,EAA6B,SAAI,WACjCA,EAA2B,OAAI,SAC/BA,EAA0B,MAAI,QAC9BA,EAA4B,QAAI,UAChCA,EAA6B,SAAI,WACjCA,EAA4B,QAAI,UAChCA,EAA2B,OAAI,SAC/BA,EAA2B,OAAI,SAC/BA,EAA2B,OAAI,SAC/BA,EAA6B,SAAI,YAU1BD,EAWiBh6B,EAAQg6B,yBAA2Bh6B,EAAQg6B,uBAAyB,KAVxD,YAAI,cACxCA,EAAmC,WAAI,aACvCA,EAAiC,SAAI,WACrCA,EAA+B,OAAI,SACnCA,EAAmC,WAAI,aACvCA,EAAiC,SAAI,WACrCA,EAA8B,MAAI,QAClCA,EAAqC,aAAI,eACzCA,EAAsC,cAAI,gBAC1CA,EAAuC,eAAI,kBAa3Bh6B,EAAQ+5B,iBAAmB/5B,EAAQ+5B,eAAiB,KADrDrf,GALf,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,YAAqBwB,IAAdkc,SAAmDlc,IAAvBkc,EAAUmd,UAAwD,iBAAvBnd,EAAUmd,WACpFz8B,MAAMuD,QAAQ+b,EAAU9b,QAAoC,IAA1B8b,EAAU9b,KAAKlE,QAA6C,iBAAtBggB,EAAU9b,KAAK,MAQlFrF,EAAQ85B,cAAgB95B,EAAQ85B,YAAc,KAD/CyE,SAAW,YAGhB9E,EAGyBz5B,EAAQy5B,iCAAmCz5B,EAAQy5B,+BAAiC,KAFrF1T,OAAS,8BACxC0T,EAA+Bt0B,KAAO,IAAIsb,EAAWqU,iBAAiB2E,EAA+B1T,SAM9F8T,EAGgB75B,EAAQ65B,wBAA0B75B,EAAQ65B,sBAAwB,KAFnE9T,OAAS,mCAC/B8T,EAAsB10B,KAAO,IAAIsb,EAAWmU,oBAAoBiF,EAAsB9T,SAM/E6T,EAGqB55B,EAAQ45B,6BAA+B55B,EAAQ45B,2BAA6B,KAF7E7T,OAAS,yCACpC6T,EAA2Bz0B,KAAO,IAAIsb,EAAWmU,oBAAoBgF,EAA2B7T,SAMzF4T,EAGqB35B,EAAQ25B,6BAA+B35B,EAAQ25B,2BAA6B,KAF7E5T,OAAS,oCACpC4T,EAA2Bx0B,KAAO,IAAIsb,EAAWmU,oBAAoB+E,EAA2B5T,SAMzF2T,EAGuB15B,EAAQ05B,+BAAiC15B,EAAQ05B,6BAA+B,KAFjF3T,OAAS,mCACtC2T,EAA6Bv0B,KAAO,IAAIsb,EAAWoU,qBAAqB6E,EAA6B3T,S,4BC/GzG9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQw5B,yBAAsB,EAC9B,MAAM/Y,EAAa,EAAQ,MAU3B,IAAW+Y,KAGcx5B,EAAQw5B,sBAAwBx5B,EAAQw5B,oBAAsB,KAF/DzT,OAAS,sBAC7ByT,EAAoBr0B,KAAO,IAAIsb,EAAWmU,oBAAoB4E,EAAoBzT,S,4BCdtF9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQw6B,2BAAwB,EAChC,MAAM/Z,EAAa,EAAQ,MAU3B,IAAW+Z,KAGgBx6B,EAAQw6B,wBAA0Bx6B,EAAQw6B,sBAAwB,KAFnEzU,OAAS,8BAC/ByU,EAAsBr1B,KAAO,IAAIsb,EAAWmU,oBAAoB4F,EAAsBzU,S,4BCd1F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQs6B,sCAAwCt6B,EAAQu6B,6BAA0B,EAClF,MAAM9Z,EAAa,EAAQ,OAOEzgB,EAAQu6B,0BAA4Bv6B,EAAQu6B,wBAA0B,KADvEp1B,KAAO,IAAIsb,EAAWoU,qBAAqB,+BAS5B70B,EAAQs6B,wCAA0Ct6B,EAAQs6B,sCAAwC,KADnGn1B,KAAO,IAAIsb,EAAWiU,yBAAyB,wC,0BCVzF,SAAShxB,EAAOD,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiB6D,OAezD,SAAS5B,EAAMjC,GACX,OAAO5B,MAAMuD,QAAQ3B,GAvBzBR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ68B,cAAgB78B,EAAQw+B,WAAax+B,EAAQitB,YAAcjtB,EAAQ0F,MAAQ1F,EAAQkiB,KAAOliB,EAAQuK,MAAQvK,EAAQwoB,OAASxoB,EAAQ0D,OAAS1D,EAAQohB,aAAU,EAItKphB,EAAQohB,QAHR,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7BzD,EAAQ0D,OAASA,EAIjB1D,EAAQwoB,OAHR,SAAgB/kB,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiBqE,QAMzD9H,EAAQuK,MAHR,SAAe9G,GACX,OAAOA,aAAiB1B,OAM5B/B,EAAQkiB,KAHR,SAAcze,GACV,MAAwB,mBAAVA,GAMlBzD,EAAQ0F,MAAQA,EAIhB1F,EAAQitB,YAHR,SAAqBxpB,GACjB,OAAOiC,EAAMjC,IAAUA,EAAMypB,OAAMC,GAAQzpB,EAAOypB,MAMtDntB,EAAQw+B,WAHR,SAAoB/6B,EAAOg7B,GACvB,OAAO58B,MAAMuD,QAAQ3B,IAAUA,EAAMypB,MAAMuR,IAS/Cz+B,EAAQ68B,cANR,SAAuBp5B,GAInB,OAAiB,OAAVA,GAAmC,iBAAVA,I,4BCtC7B,IAAIi7B,EAKAC,EASAC,EA8BAC,EA2BAC,EAwBAC,EA4BAC,EA8BAC,EAyBAC,EA2BAlJ,EAmBAmJ,EAsCAC,EAwBAC,EAwBAC,EAqBAC,EAYAC,EA2CAC,EA8BAC,EAoCAC,EAqBAC,EAQAC,EA4CAC,EAiBAC,EAuBAC,EAwBAC,EAuBAC,E,4vCAnmBX,SAAWxB,GACPA,EAAQyB,WAAa,WACrBzB,EAAQ0B,UAAY,WAFxB,CAGG1B,IAAYA,EAAU,KAEzB,SAAWC,GACPA,EAASwB,UAAY,EACrBxB,EAASyB,UAAY,WAFzB,CAGGzB,IAAaA,EAAW,KAM3B,SAAWC,GAePA,EAAStmB,OATT,SAAgB+nB,EAAMC,GAOlB,OANID,IAASv4B,OAAOs4B,YAChBC,EAAO1B,EAASyB,WAEhBE,IAAcx4B,OAAOs4B,YACrBE,EAAY3B,EAASyB,WAElB,CAAEC,KAAMA,EAAMC,UAAWA,IAUpC1B,EAASlkB,GAJT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAc1b,IAAcL,GAAG6d,SAASxd,EAAUkf,OAASvf,GAAG6d,SAASxd,EAAUmf,YArBnG,CAwBG1B,IAAaA,EAAW,KAM3B,SAAWC,GAYPA,EAAMvmB,OAXN,SAAgBioB,EAAKC,EAAKC,EAAOC,GAC7B,GAAI5f,GAAG6d,SAAS4B,IAAQzf,GAAG6d,SAAS6B,IAAQ1f,GAAG6d,SAAS8B,IAAU3f,GAAG6d,SAAS+B,GAC1E,MAAO,CAAEz+B,MAAO28B,EAAStmB,OAAOioB,EAAKC,GAAMt+B,IAAK08B,EAAStmB,OAAOmoB,EAAOC,IAEtE,GAAI9B,EAASlkB,GAAG6lB,IAAQ3B,EAASlkB,GAAG8lB,GACrC,MAAO,CAAEv+B,MAAOs+B,EAAKr+B,IAAKs+B,GAG1B,MAAM,IAAIz+B,MAAM,8CAAgDw+B,EAAM,KAAOC,EAAM,KAAOC,EAAQ,KAAOC,EAAO,MAWxH7B,EAAMnkB,GAJN,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAc1b,IAAcyd,EAASlkB,GAAGyG,EAAUlf,QAAU28B,EAASlkB,GAAGyG,EAAUjf,MAlBpG,CAqBG28B,IAAUA,EAAQ,KAMrB,SAAWC,GASPA,EAASxmB,OAHT,SAAgBqoB,EAAK/tB,GACjB,MAAO,CAAE+tB,IAAKA,EAAK/tB,MAAOA,IAU9BksB,EAASpkB,GAJT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAUvO,SAAWkO,GAAGpd,OAAOyd,EAAUwf,MAAQ7f,GAAG7b,UAAUkc,EAAUwf,OAfzH,CAkBG7B,IAAaA,EAAW,KAM3B,SAAWC,GAWPA,EAAazmB,OAHb,SAAgBuoB,EAAWC,EAAaC,EAAsBC,GAC1D,MAAO,CAAEH,UAAWA,EAAWC,YAAaA,EAAaC,qBAAsBA,EAAsBC,qBAAsBA,IAY/HjC,EAAarkB,GANb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAU2f,cAAgBhgB,GAAGpd,OAAOyd,EAAU0f,aAC/EhC,EAAMnkB,GAAGyG,EAAU4f,uBAAyBjgB,GAAG7b,UAAUkc,EAAU4f,yBACnElC,EAAMnkB,GAAGyG,EAAU6f,uBAAyBlgB,GAAG7b,UAAUkc,EAAU6f,wBAnBnF,CAsBGjC,IAAiBA,EAAe,KAMnC,SAAWC,GAYPA,EAAM1mB,OARN,SAAgB2oB,EAAKC,EAAOC,EAAMC,GAC9B,MAAO,CACHH,IAAKA,EACLC,MAAOA,EACPC,KAAMA,EACNC,MAAOA,IAcfpC,EAAMtkB,GAPN,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAGugB,YAAYlgB,EAAU8f,IAAK,EAAG,IACjCngB,GAAGugB,YAAYlgB,EAAU+f,MAAO,EAAG,IACnCpgB,GAAGugB,YAAYlgB,EAAUggB,KAAM,EAAG,IAClCrgB,GAAGugB,YAAYlgB,EAAUigB,MAAO,EAAG,IArBlD,CAwBGpC,IAAUA,EAAQ,KAMrB,SAAWC,GAUPA,EAAiB3mB,OANjB,SAAgB1F,EAAO0uB,GACnB,MAAO,CACH1uB,MAAOA,EACP0uB,MAAOA,IAWfrC,EAAiBvkB,GAJjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOo7B,EAAMnkB,GAAGyG,EAAUvO,QAAUosB,EAAMtkB,GAAGyG,EAAUmgB,QAhB/D,CAmBGrC,IAAqBA,EAAmB,KAM3C,SAAWC,GAWPA,EAAkB5mB,OAPlB,SAAgBipB,EAAOC,EAAUC,GAC7B,MAAO,CACHF,MAAOA,EACPC,SAAUA,EACVC,oBAAqBA,IAa7BvC,EAAkBxkB,GANlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAGpd,OAAOyd,EAAUogB,SACnBzgB,GAAG7b,UAAUkc,EAAUqgB,WAAa9B,EAAShlB,GAAGyG,MAChDL,GAAG7b,UAAUkc,EAAUsgB,sBAAwB3gB,GAAG0d,WAAWrd,EAAUsgB,oBAAqB/B,EAAShlB,MAnBrH,CAsBGwkB,IAAsBA,EAAoB,KAK7C,SAAWlJ,GAIPA,EAA0B,QAAI,UAI9BA,EAA0B,QAAI,UAI9BA,EAAyB,OAAI,SAZjC,CAaGA,IAAqBA,EAAmB,KAM3C,SAAWmJ,GAoBPA,EAAa7mB,OAhBb,SAAgBopB,EAAWC,EAASC,EAAgBC,EAAcvO,GAC9D,IAAInN,EAAS,CACTub,UAAWA,EACXC,QAASA,GAWb,OATI7gB,GAAG8f,QAAQgB,KACXzb,EAAOyb,eAAiBA,GAExB9gB,GAAG8f,QAAQiB,KACX1b,EAAO0b,aAAeA,GAEtB/gB,GAAG8f,QAAQtN,KACXnN,EAAOmN,KAAOA,GAEXnN,GAaXgZ,EAAazkB,GAPb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG6d,SAASxd,EAAUugB,YAAc5gB,GAAG6d,SAASxd,EAAUugB,aACzD5gB,GAAG7b,UAAUkc,EAAUygB,iBAAmB9gB,GAAG6d,SAASxd,EAAUygB,mBAChE9gB,GAAG7b,UAAUkc,EAAU0gB,eAAiB/gB,GAAG6d,SAASxd,EAAU0gB,iBAC9D/gB,GAAG7b,UAAUkc,EAAUmS,OAASxS,GAAGpd,OAAOyd,EAAUmS,QA7BpE,CAgCG6L,IAAiBA,EAAe,KAMnC,SAAWC,GAUPA,EAA6B9mB,OAN7B,SAAgBwpB,EAAUpvB,GACtB,MAAO,CACHovB,SAAUA,EACVpvB,QAASA,IAWjB0sB,EAA6B1kB,GAJ7B,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc2d,EAASpkB,GAAGyG,EAAU2gB,WAAahhB,GAAGpd,OAAOyd,EAAUzO,UAhB/F,CAmBG0sB,IAAiCA,EAA+B,KAKnE,SAAWC,GAIPA,EAAmBt9B,MAAQ,EAI3Bs9B,EAAmBpC,QAAU,EAI7BoC,EAAmB0C,YAAc,EAIjC1C,EAAmB2C,KAAO,EAhB9B,CAiBG3C,IAAuBA,EAAqB,KAO/C,SAAWC,GAOPA,EAAc2C,YAAc,EAM5B3C,EAAc4C,WAAa,EAb/B,CAcG5C,IAAkBA,EAAgB,KAOrC,SAAWC,GAKPA,EAAgB7kB,GAJhB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,SAAiDL,GAAGpd,OAAOyd,EAAUghB,OAHpF,CAMG5C,IAAoBA,EAAkB,KAMzC,SAAWC,GAoBPA,EAAWlnB,OAhBX,SAAgB1F,EAAOF,EAAS0vB,EAAUtgC,EAAMgmB,EAAQua,GACpD,IAAIlc,EAAS,CAAEvT,MAAOA,EAAOF,QAASA,GAatC,OAZIoO,GAAG8f,QAAQwB,KACXjc,EAAOic,SAAWA,GAElBthB,GAAG8f,QAAQ9+B,KACXqkB,EAAOrkB,KAAOA,GAEdgf,GAAG8f,QAAQ9Y,KACX3B,EAAO2B,OAASA,GAEhBhH,GAAG8f,QAAQyB,KACXlc,EAAOkc,mBAAqBA,GAEzBlc,GAkBXqZ,EAAW9kB,GAZX,SAAYjX,GACR,IAAIwqB,EACA9M,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IACX0d,EAAMnkB,GAAGyG,EAAUvO,QACnBkO,GAAGpd,OAAOyd,EAAUzO,WACnBoO,GAAG0H,OAAOrH,EAAUihB,WAAathB,GAAG7b,UAAUkc,EAAUihB,aACxDthB,GAAG4d,QAAQvd,EAAUrf,OAASgf,GAAGpd,OAAOyd,EAAUrf,OAASgf,GAAG7b,UAAUkc,EAAUrf,SAClFgf,GAAG7b,UAAUkc,EAAUmhB,kBAAqBxhB,GAAGpd,OAA4C,QAApCuqB,EAAK9M,EAAUmhB,uBAAoC,IAAPrU,OAAgB,EAASA,EAAGkU,SAC/HrhB,GAAGpd,OAAOyd,EAAU2G,SAAWhH,GAAG7b,UAAUkc,EAAU2G,WACtDhH,GAAG7b,UAAUkc,EAAUkhB,qBAAuBvhB,GAAG0d,WAAWrd,EAAUkhB,mBAAoBjD,EAA6B1kB,MAlCvI,CAqCG8kB,IAAeA,EAAa,KAM/B,SAAWC,GAePA,EAAQnnB,OAXR,SAAgBiqB,EAAOC,GAEnB,IADA,IAAIjlB,EAAO,GACFklB,EAAK,EAAGA,EAAK58B,UAAU1E,OAAQshC,IACpCllB,EAAKklB,EAAK,GAAK58B,UAAU48B,GAE7B,IAAItc,EAAS,CAAEoc,MAAOA,EAAOC,QAASA,GAItC,OAHI1hB,GAAG8f,QAAQrjB,IAASA,EAAKpc,OAAS,IAClCglB,EAAOtgB,UAAY0X,GAEhB4I,GAUXsZ,EAAQ/kB,GAJR,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUohB,QAAUzhB,GAAGpd,OAAOyd,EAAUqhB,UArB1F,CAwBG/C,IAAYA,EAAU,KAMzB,SAAWC,GASPA,EAAS5zB,QAHT,SAAiB8G,EAAO8vB,GACpB,MAAO,CAAE9vB,MAAOA,EAAO8vB,QAASA,IAWpChD,EAASiD,OAHT,SAAgBC,EAAUF,GACtB,MAAO,CAAE9vB,MAAO,CAAE3Q,MAAO2gC,EAAU1gC,IAAK0gC,GAAYF,QAASA,IAUjEhD,EAASmD,IAHT,SAAajwB,GACT,MAAO,CAAEA,MAAOA,EAAO8vB,QAAS,KASpChD,EAAShlB,GANT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAc1b,IACjBL,GAAGpd,OAAOyd,EAAUuhB,UACpB7D,EAAMnkB,GAAGyG,EAAUvO,QA/BlC,CAkCG8sB,IAAaA,EAAW,KAE3B,SAAWC,GAWPA,EAAiBrnB,OAVjB,SAAgBipB,EAAOuB,EAAmBC,GACtC,IAAI5c,EAAS,CAAEob,MAAOA,GAOtB,YAN0Bt8B,IAAtB69B,IACA3c,EAAO2c,kBAAoBA,QAEX79B,IAAhB89B,IACA5c,EAAO4c,YAAcA,GAElB5c,GASXwZ,EAAiBjlB,GANjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,YAAqBwB,IAAdkc,GAA2BL,GAAG+b,cAAc1b,IAAcL,GAAGpd,OAAOyd,EAAUogB,SAChFzgB,GAAGM,QAAQD,EAAU2hB,yBAAsD79B,IAAhCkc,EAAU2hB,qBACrDhiB,GAAGpd,OAAOyd,EAAU4hB,mBAA0C99B,IAA1Bkc,EAAU4hB,cAhB3D,CAmBGpD,IAAqBA,EAAmB,KAE3C,SAAWC,GAKPA,EAA2BllB,GAJ3B,SAAYjX,GAER,MAA4B,iBADZA,GAFxB,CAMGm8B,IAA+BA,EAA6B,KAE/D,SAAWC,GAWPA,EAAkB/zB,QAHlB,SAAiB8G,EAAO8vB,EAASM,GAC7B,MAAO,CAAEpwB,MAAOA,EAAO8vB,QAASA,EAASO,aAAcD,IAa3DnD,EAAkB8C,OAHlB,SAAgBC,EAAUF,EAASM,GAC/B,MAAO,CAAEpwB,MAAO,CAAE3Q,MAAO2gC,EAAU1gC,IAAK0gC,GAAYF,QAASA,EAASO,aAAcD,IAYxFnD,EAAkBgD,IAHlB,SAAajwB,EAAOowB,GAChB,MAAO,CAAEpwB,MAAOA,EAAO8vB,QAAS,GAAIO,aAAcD,IAOtDnD,EAAkBnlB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOi8B,EAAShlB,GAAGyG,KAAewe,EAAiBjlB,GAAGyG,EAAU8hB,eAAiBrD,EAA2BllB,GAAGyG,EAAU8hB,gBAnCjI,CAsCGpD,IAAsBA,EAAoB,KAM7C,SAAWC,GAOPA,EAAiBxnB,OAHjB,SAAgB4qB,EAAcC,GAC1B,MAAO,CAAED,aAAcA,EAAcC,MAAOA,IAShDrD,EAAiBplB,GANjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IACXiiB,EAAwC1oB,GAAGyG,EAAU+hB,eACrDrhC,MAAMuD,QAAQ+b,EAAUgiB,QAZvC,CAeGrD,IAAqBA,EAAmB,KAE3C,SAAWC,GAcPA,EAAWznB,OAbX,SAAgBqoB,EAAKpmB,EAASyoB,GAC1B,IAAI7c,EAAS,CACTmN,KAAM,SACNqN,IAAKA,GAQT,YANgB17B,IAAZsV,QAAgDtV,IAAtBsV,EAAQ8oB,gBAAsDp+B,IAA3BsV,EAAQ+oB,iBACrEnd,EAAO5L,QAAUA,QAEFtV,IAAf+9B,IACA7c,EAAO8c,aAAeD,GAEnB7c,GAQX4Z,EAAWrlB,GALX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAgC,WAAnBA,EAAUmS,MAAqBxS,GAAGpd,OAAOyd,EAAUwf,YAA+B17B,IAAtBkc,EAAU5G,eACpDtV,IAAhCkc,EAAU5G,QAAQ8oB,WAA2BviB,GAAGM,QAAQD,EAAU5G,QAAQ8oB,mBAAqDp+B,IAArCkc,EAAU5G,QAAQ+oB,gBAAgCxiB,GAAGM,QAAQD,EAAU5G,QAAQ+oB,yBAAkDr+B,IAA3Bkc,EAAU8hB,cAA8BrD,EAA2BllB,GAAGyG,EAAU8hB,gBAlB9R,CAqBGlD,IAAeA,EAAa,KAE/B,SAAWC,GAePA,EAAW1nB,OAdX,SAAgBirB,EAAQC,EAAQjpB,EAASyoB,GACrC,IAAI7c,EAAS,CACTmN,KAAM,SACNiQ,OAAQA,EACRC,OAAQA,GAQZ,YANgBv+B,IAAZsV,QAAgDtV,IAAtBsV,EAAQ8oB,gBAAsDp+B,IAA3BsV,EAAQ+oB,iBACrEnd,EAAO5L,QAAUA,QAEFtV,IAAf+9B,IACA7c,EAAO8c,aAAeD,GAEnB7c,GAQX6Z,EAAWtlB,GALX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAgC,WAAnBA,EAAUmS,MAAqBxS,GAAGpd,OAAOyd,EAAUoiB,SAAWziB,GAAGpd,OAAOyd,EAAUqiB,eAAkCv+B,IAAtBkc,EAAU5G,eACtFtV,IAAhCkc,EAAU5G,QAAQ8oB,WAA2BviB,GAAGM,QAAQD,EAAU5G,QAAQ8oB,mBAAqDp+B,IAArCkc,EAAU5G,QAAQ+oB,gBAAgCxiB,GAAGM,QAAQD,EAAU5G,QAAQ+oB,yBAAkDr+B,IAA3Bkc,EAAU8hB,cAA8BrD,EAA2BllB,GAAGyG,EAAU8hB,gBAnB9R,CAsBGjD,IAAeA,EAAa,KAE/B,SAAWC,GAcPA,EAAW3nB,OAbX,SAAgBqoB,EAAKpmB,EAASyoB,GAC1B,IAAI7c,EAAS,CACTmN,KAAM,SACNqN,IAAKA,GAQT,YANgB17B,IAAZsV,QAAgDtV,IAAtBsV,EAAQkpB,gBAAyDx+B,IAA9BsV,EAAQmpB,oBACrEvd,EAAO5L,QAAUA,QAEFtV,IAAf+9B,IACA7c,EAAO8c,aAAeD,GAEnB7c,GAQX8Z,EAAWvlB,GALX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAgC,WAAnBA,EAAUmS,MAAqBxS,GAAGpd,OAAOyd,EAAUwf,YAA+B17B,IAAtBkc,EAAU5G,eACpDtV,IAAhCkc,EAAU5G,QAAQkpB,WAA2B3iB,GAAGM,QAAQD,EAAU5G,QAAQkpB,mBAAwDx+B,IAAxCkc,EAAU5G,QAAQmpB,mBAAmC5iB,GAAGM,QAAQD,EAAU5G,QAAQmpB,4BAAqDz+B,IAA3Bkc,EAAU8hB,cAA8BrD,EAA2BllB,GAAGyG,EAAU8hB,gBAlBpS,CAqBGhD,IAAeA,EAAa,KAE/B,SAAWC,GAcPA,EAAcxlB,GAbd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,SACoBlc,IAAtBkc,EAAUwiB,cAAuD1+B,IAA9Bkc,EAAUyiB,wBACf3+B,IAA9Bkc,EAAUyiB,iBAAiCziB,EAAUyiB,gBAAgB1W,OAAM,SAAU2W,GAClF,OAAI/iB,GAAGpd,OAAOmgC,EAAOvQ,MACVyM,EAAWrlB,GAAGmpB,IAAW7D,EAAWtlB,GAAGmpB,IAAW5D,EAAWvlB,GAAGmpB,GAGhE/D,EAAiBplB,GAAGmpB,QAV/C,CAeG3D,IAAkBA,EAAgB,KACrC,IAmTW4D,EAuBAC,EAwBAX,EAwBAY,EA6BAC,EAqBAC,EAcAC,EAgCAC,EAwBAC,EAYAC,EAwBAC,EAyBAC,EAeAC,EAaAC,EAoBAC,EAiBAC,EAiBAC,EAwBAC,EAmBAC,EAkBAC,EAiCAC,EAOAC,EAwBAC,EA4CAC,EA0EAC,EAsBAC,GAqCAC,GA0BAC,GAsBAC,GAsBAC,GAr/BPC,GAAoC,WACpC,SAASA,EAAmBxC,EAAOyC,GAC/Bz/B,KAAKg9B,MAAQA,EACbh9B,KAAKy/B,kBAAoBA,EA4E7B,OA1EAD,EAAmBxiC,UAAUw/B,OAAS,SAAUC,EAAUF,EAASM,GAC/D,IAAI6C,EACA9iB,EAcJ,QAbmB9d,IAAf+9B,EACA6C,EAAOnG,EAASiD,OAAOC,EAAUF,GAE5B9C,EAA2BllB,GAAGsoB,IACnCjgB,EAAKigB,EACL6C,EAAOhG,EAAkB8C,OAAOC,EAAUF,EAASM,KAGnD78B,KAAK2/B,wBAAwB3/B,KAAKy/B,mBAClC7iB,EAAK5c,KAAKy/B,kBAAkBG,OAAO/C,GACnC6C,EAAOhG,EAAkB8C,OAAOC,EAAUF,EAAS3f,IAEvD5c,KAAKg9B,MAAM3hC,KAAKqkC,QACL5gC,IAAP8d,EACA,OAAOA,GAGf4iB,EAAmBxiC,UAAU2I,QAAU,SAAU8G,EAAO8vB,EAASM,GAC7D,IAAI6C,EACA9iB,EAcJ,QAbmB9d,IAAf+9B,EACA6C,EAAOnG,EAAS5zB,QAAQ8G,EAAO8vB,GAE1B9C,EAA2BllB,GAAGsoB,IACnCjgB,EAAKigB,EACL6C,EAAOhG,EAAkB/zB,QAAQ8G,EAAO8vB,EAASM,KAGjD78B,KAAK2/B,wBAAwB3/B,KAAKy/B,mBAClC7iB,EAAK5c,KAAKy/B,kBAAkBG,OAAO/C,GACnC6C,EAAOhG,EAAkB/zB,QAAQ8G,EAAO8vB,EAAS3f,IAErD5c,KAAKg9B,MAAM3hC,KAAKqkC,QACL5gC,IAAP8d,EACA,OAAOA,GAGf4iB,EAAmBxiC,UAAU4lB,OAAS,SAAUnW,EAAOowB,GACnD,IAAI6C,EACA9iB,EAcJ,QAbmB9d,IAAf+9B,EACA6C,EAAOnG,EAASmD,IAAIjwB,GAEfgtB,EAA2BllB,GAAGsoB,IACnCjgB,EAAKigB,EACL6C,EAAOhG,EAAkBgD,IAAIjwB,EAAOowB,KAGpC78B,KAAK2/B,wBAAwB3/B,KAAKy/B,mBAClC7iB,EAAK5c,KAAKy/B,kBAAkBG,OAAO/C,GACnC6C,EAAOhG,EAAkBgD,IAAIjwB,EAAOmQ,IAExC5c,KAAKg9B,MAAM3hC,KAAKqkC,QACL5gC,IAAP8d,EACA,OAAOA,GAGf4iB,EAAmBxiC,UAAU4oB,IAAM,SAAU8Z,GACzC1/B,KAAKg9B,MAAM3hC,KAAKqkC,IAEpBF,EAAmBxiC,UAAU6iC,IAAM,WAC/B,OAAO7/B,KAAKg9B,OAEhBwC,EAAmBxiC,UAAU6qB,MAAQ,WACjC7nB,KAAKg9B,MAAM9W,OAAO,EAAGlmB,KAAKg9B,MAAMhiC,SAEpCwkC,EAAmBxiC,UAAU2iC,wBAA0B,SAAUriC,GAC7D,QAAcwB,IAAVxB,EACA,MAAM,IAAI1B,MAAM,qEAGjB4jC,EA/E4B,GAoFnCM,GAAmC,WACnC,SAASA,EAAkBC,GACvB//B,KAAKggC,kBAA+BlhC,IAAhBihC,EAA4BjjC,OAAOqV,OAAO,MAAQ4tB,EACtE//B,KAAKigC,SAAW,EAChBjgC,KAAK2nB,MAAQ,EAmCjB,OAjCAmY,EAAkB9iC,UAAU6iC,IAAM,WAC9B,OAAO7/B,KAAKggC,cAEhBljC,OAAOuH,eAAey7B,EAAkB9iC,UAAW,OAAQ,CACvDuH,IAAK,WACD,OAAOvE,KAAK2nB,OAEhBrjB,YAAY,EACZ8H,cAAc,IAElB0zB,EAAkB9iC,UAAU4iC,OAAS,SAAUM,EAAgBrD,GAC3D,IAAIjgB,EAQJ,GAPI6c,EAA2BllB,GAAG2rB,GAC9BtjB,EAAKsjB,GAGLtjB,EAAK5c,KAAKmgC,SACVtD,EAAaqD,QAEaphC,IAA1BkB,KAAKggC,aAAapjB,GAClB,MAAM,IAAIhhB,MAAM,MAAQghB,EAAK,uBAEjC,QAAmB9d,IAAf+9B,EACA,MAAM,IAAIjhC,MAAM,iCAAmCghB,GAIvD,OAFA5c,KAAKggC,aAAapjB,GAAMigB,EACxB78B,KAAK2nB,QACE/K,GAEXkjB,EAAkB9iC,UAAUmjC,OAAS,WAEjC,OADAngC,KAAKigC,WACEjgC,KAAKigC,SAASzgC,YAElBsgC,EAvC2B,GA4ClCM,GAAiC,WACjC,SAASA,EAAgBC,GACrB,IAAIC,EAAQtgC,KACZA,KAAKugC,iBAAmBzjC,OAAOqV,OAAO,WAChBrT,IAAlBuhC,GACArgC,KAAKwgC,eAAiBH,EAClBA,EAAc5C,iBACdz9B,KAAKygC,mBAAqB,IAAIX,GAAkBO,EAAcZ,mBAC9DY,EAAcZ,kBAAoBz/B,KAAKygC,mBAAmBZ,MAC1DQ,EAAc5C,gBAAgBnY,SAAQ,SAAUoY,GAC5C,GAAI/D,EAAiBplB,GAAGmpB,GAAS,CAC7B,IAAIgD,EAAiB,IAAIlB,GAAmB9B,EAAOV,MAAOsD,EAAMG,oBAChEH,EAAMC,iBAAiB7C,EAAOX,aAAavC,KAAOkG,OAIrDL,EAAc7C,SACnB1gC,OAAOuoB,KAAKgb,EAAc7C,SAASlY,SAAQ,SAAUtD,GACjD,IAAI0e,EAAiB,IAAIlB,GAAmBa,EAAc7C,QAAQxb,IAClEse,EAAMC,iBAAiBve,GAAO0e,MAKtC1gC,KAAKwgC,eAAiB,GAoJ9B,OAjJA1jC,OAAOuH,eAAe+7B,EAAgBpjC,UAAW,OAAQ,CAKrDuH,IAAK,WAUD,OATAvE,KAAK2gC,2BAC2B7hC,IAA5BkB,KAAKygC,qBACgC,IAAjCzgC,KAAKygC,mBAAmBnhC,KACxBU,KAAKwgC,eAAef,uBAAoB3gC,EAGxCkB,KAAKwgC,eAAef,kBAAoBz/B,KAAKygC,mBAAmBZ,OAGjE7/B,KAAKwgC,gBAEhBl8B,YAAY,EACZ8H,cAAc,IAElBg0B,EAAgBpjC,UAAU4jC,kBAAoB,SAAU5e,GACpD,GAAIib,EAAwC1oB,GAAGyN,GAAM,CAEjD,GADAhiB,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAImhC,EAAe,CAAEvC,IAAKxY,EAAIwY,IAAKhd,QAASwE,EAAIxE,SAEhD,KADIwC,EAAShgB,KAAKugC,iBAAiBxD,EAAavC,MACnC,CACT,IACIqG,EAAmB,CACnB9D,aAAcA,EACdC,MAHAA,EAAQ,IAKZh9B,KAAKwgC,eAAe/C,gBAAgBpiC,KAAKwlC,GACzC7gB,EAAS,IAAIwf,GAAmBxC,EAAOh9B,KAAKygC,oBAC5CzgC,KAAKugC,iBAAiBxD,EAAavC,KAAOxa,EAE9C,OAAOA,EAIP,GADAhgB,KAAK8gC,mBAC+BhiC,IAAhCkB,KAAKwgC,eAAehD,QACpB,MAAM,IAAI5hC,MAAM,kEAEpB,IAAIokB,EACJ,KADIA,EAAShgB,KAAKugC,iBAAiBve,IACtB,CACT,IAAIgb,EAAQ,GACZh9B,KAAKwgC,eAAehD,QAAQxb,GAAOgb,EACnChd,EAAS,IAAIwf,GAAmBxC,GAChCh9B,KAAKugC,iBAAiBve,GAAOhC,EAEjC,OAAOA,GAGfogB,EAAgBpjC,UAAU2jC,oBAAsB,gBACA7hC,IAAxCkB,KAAKwgC,eAAe/C,sBAAiE3+B,IAAhCkB,KAAKwgC,eAAehD,UACzEx9B,KAAKygC,mBAAqB,IAAIX,GAC9B9/B,KAAKwgC,eAAe/C,gBAAkB,GACtCz9B,KAAKwgC,eAAef,kBAAoBz/B,KAAKygC,mBAAmBZ,QAGxEO,EAAgBpjC,UAAU8jC,YAAc,gBACQhiC,IAAxCkB,KAAKwgC,eAAe/C,sBAAiE3+B,IAAhCkB,KAAKwgC,eAAehD,UACzEx9B,KAAKwgC,eAAehD,QAAU1gC,OAAOqV,OAAO,QAGpDiuB,EAAgBpjC,UAAU+jC,WAAa,SAAUvG,EAAKwG,EAAqB5sB,GAEvE,GADApU,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAIihC,EAOAoE,EACArkB,EASJ,GAhBI4c,EAAiBjlB,GAAGysB,IAAwBvH,EAA2BllB,GAAGysB,GAC1EnE,EAAamE,EAGb5sB,EAAU4sB,OAIKliC,IAAf+9B,EACAoE,EAAYrH,EAAWznB,OAAOqoB,EAAKpmB,IAGnCwI,EAAK6c,EAA2BllB,GAAGsoB,GAAcA,EAAa78B,KAAKygC,mBAAmBb,OAAO/C,GAC7FoE,EAAYrH,EAAWznB,OAAOqoB,EAAKpmB,EAASwI,IAEhD5c,KAAKwgC,eAAe/C,gBAAgBpiC,KAAK4lC,QAC9BniC,IAAP8d,EACA,OAAOA,GAGfwjB,EAAgBpjC,UAAUkkC,WAAa,SAAU9D,EAAQC,EAAQ2D,EAAqB5sB,GAElF,GADApU,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAIihC,EAOAoE,EACArkB,EASJ,GAhBI4c,EAAiBjlB,GAAGysB,IAAwBvH,EAA2BllB,GAAGysB,GAC1EnE,EAAamE,EAGb5sB,EAAU4sB,OAIKliC,IAAf+9B,EACAoE,EAAYpH,EAAW1nB,OAAOirB,EAAQC,EAAQjpB,IAG9CwI,EAAK6c,EAA2BllB,GAAGsoB,GAAcA,EAAa78B,KAAKygC,mBAAmBb,OAAO/C,GAC7FoE,EAAYpH,EAAW1nB,OAAOirB,EAAQC,EAAQjpB,EAASwI,IAE3D5c,KAAKwgC,eAAe/C,gBAAgBpiC,KAAK4lC,QAC9BniC,IAAP8d,EACA,OAAOA,GAGfwjB,EAAgBpjC,UAAUmkC,WAAa,SAAU3G,EAAKwG,EAAqB5sB,GAEvE,GADApU,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAIihC,EAOAoE,EACArkB,EASJ,GAhBI4c,EAAiBjlB,GAAGysB,IAAwBvH,EAA2BllB,GAAGysB,GAC1EnE,EAAamE,EAGb5sB,EAAU4sB,OAIKliC,IAAf+9B,EACAoE,EAAYnH,EAAW3nB,OAAOqoB,EAAKpmB,IAGnCwI,EAAK6c,EAA2BllB,GAAGsoB,GAAcA,EAAa78B,KAAKygC,mBAAmBb,OAAO/C,GAC7FoE,EAAYnH,EAAW3nB,OAAOqoB,EAAKpmB,EAASwI,IAEhD5c,KAAKwgC,eAAe/C,gBAAgBpiC,KAAK4lC,QAC9BniC,IAAP8d,EACA,OAAOA,GAGRwjB,EA5KyB,IAoLpC,SAAWzC,GAQPA,EAAuBxrB,OAHvB,SAAgBqoB,GACZ,MAAO,CAAEA,IAAKA,IAUlBmD,EAAuBppB,GAJvB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,MAd5D,CAiBGmD,IAA2BA,EAAyB,KAMvD,SAAWC,GASPA,EAAgCzrB,OAHhC,SAAgBqoB,EAAKhd,GACjB,MAAO,CAAEgd,IAAKA,EAAKhd,QAASA,IAUhCogB,EAAgCrpB,GAJhC,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,MAAQ7f,GAAG4d,QAAQvd,EAAUwC,UAfzF,CAkBGogB,IAAoCA,EAAkC,KAMzE,SAAWX,GASPA,EAAwC9qB,OAHxC,SAAgBqoB,EAAKhd,GACjB,MAAO,CAAEgd,IAAKA,EAAKhd,QAASA,IAUhCyf,EAAwC1oB,GAJxC,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,OAA+B,OAAtBxf,EAAUwC,SAAoB7C,GAAG4d,QAAQvd,EAAUwC,WAfxH,CAkBGyf,IAA4CA,EAA0C,KAMzF,SAAWY,GAWPA,EAAiB1rB,OAHjB,SAAgBqoB,EAAK4G,EAAY5jB,EAAS4Z,GACtC,MAAO,CAAEoD,IAAKA,EAAK4G,WAAYA,EAAY5jB,QAASA,EAAS4Z,KAAMA,IAUvEyG,EAAiBtpB,GAJjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,MAAQ7f,GAAGpd,OAAOyd,EAAUomB,aAAezmB,GAAG4d,QAAQvd,EAAUwC,UAAY7C,GAAGpd,OAAOyd,EAAUoc,OAjB5J,CAoBGyG,IAAqBA,EAAmB,KAS3C,SAAWC,GAIPA,EAAWuD,UAAY,YAIvBvD,EAAWwD,SAAW,WAR1B,CASGxD,IAAeA,EAAa,KAC/B,SAAWA,GAQPA,EAAWvpB,GAJX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,IAAc8iB,EAAWuD,WAAarmB,IAAc8iB,EAAWwD,UAN9E,CASGxD,IAAeA,EAAa,KAE/B,SAAWC,GAQPA,EAAcxpB,GAJd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAcp5B,IAAUwgC,EAAWvpB,GAAGyG,EAAUmS,OAASxS,GAAGpd,OAAOyd,EAAU1d,QAN/F,CASGygC,IAAkBA,EAAgB,KAKrC,SAAWC,GACPA,EAAmB3hB,KAAO,EAC1B2hB,EAAmBuD,OAAS,EAC5BvD,EAAmBwD,SAAW,EAC9BxD,EAAmByD,YAAc,EACjCzD,EAAmB0D,MAAQ,EAC3B1D,EAAmB2D,SAAW,EAC9B3D,EAAmB4D,MAAQ,EAC3B5D,EAAmB6D,UAAY,EAC/B7D,EAAmB8D,OAAS,EAC5B9D,EAAmB+D,SAAW,GAC9B/D,EAAmBgE,KAAO,GAC1BhE,EAAmBiE,MAAQ,GAC3BjE,EAAmBkE,KAAO,GAC1BlE,EAAmBmE,QAAU,GAC7BnE,EAAmBoE,QAAU,GAC7BpE,EAAmBnF,MAAQ,GAC3BmF,EAAmBqE,KAAO,GAC1BrE,EAAmBsE,UAAY,GAC/BtE,EAAmBuE,OAAS,GAC5BvE,EAAmBwE,WAAa,GAChCxE,EAAmByE,SAAW,GAC9BzE,EAAmB0E,OAAS,GAC5B1E,EAAmBtlB,MAAQ,GAC3BslB,EAAmB2E,SAAW,GAC9B3E,EAAmB4E,cAAgB,GAzBvC,CA0BG5E,IAAuBA,EAAqB,KAM/C,SAAWC,GAIPA,EAAiBoD,UAAY,EAW7BpD,EAAiBmE,QAAU,EAf/B,CAgBGnE,IAAqBA,EAAmB,KAQ3C,SAAWC,GAIPA,EAAkBnC,WAAa,EAJnC,CAKGmC,IAAsBA,EAAoB,KAO7C,SAAWC,GAOPA,EAAkBhsB,OAHlB,SAAgBoqB,EAASC,EAAQ72B,GAC7B,MAAO,CAAE42B,QAASA,EAASC,OAAQA,EAAQ72B,QAASA,IAUxDw4B,EAAkB5pB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,GAAGpd,OAAOyd,EAAUuhB,UAAY7D,EAAMnkB,GAAGyG,EAAUwhB,SAAW9D,EAAMnkB,GAAGyG,EAAUrV,UAb7G,CAgBGw4B,IAAsBA,EAAoB,KAQ7C,SAAWC,GAQPA,EAAeyE,KAAO,EAUtBzE,EAAe0E,kBAAoB,EAlBvC,CAmBG1E,IAAmBA,EAAiB,KAMvC,SAAWC,GAQPA,EAAelsB,OAHf,SAAgBipB,GACZ,MAAO,CAAEA,MAAOA,IANxB,CASGiD,IAAmBA,EAAiB,KAMvC,SAAWC,GAUPA,EAAensB,OAHf,SAAgB4wB,EAAOC,GACnB,MAAO,CAAED,MAAOA,GAAgB,GAAIC,eAAgBA,IAR5D,CAWG1E,IAAmBA,EAAiB,KAEvC,SAAWC,GASPA,EAAa0E,cAHb,SAAuBC,GACnB,OAAOA,EAAUv9B,QAAQ,wBAAyB,SAUtD44B,EAAahqB,GAJb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAGpd,OAAOyd,IAAeL,GAAG+b,cAAc1b,IAAcL,GAAGpd,OAAOyd,EAAU8a,WAAanb,GAAGpd,OAAOyd,EAAU1d,QAf5H,CAkBGihC,IAAiBA,EAAe,KAEnC,SAAWC,GAUPA,EAAMjqB,GANN,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,QAAS0d,GAAaL,GAAG+b,cAAc1b,KAAe+iB,EAAcxpB,GAAGyG,EAAUmoB,WAC7E5E,EAAahqB,GAAGyG,EAAUmoB,WAC1BxoB,GAAG0d,WAAWrd,EAAUmoB,SAAU5E,EAAahqB,YAAyBzV,IAAhBxB,EAAMmP,OAAuBisB,EAAMnkB,GAAGjX,EAAMmP,SARhH,CAWG+xB,IAAUA,EAAQ,KAMrB,SAAWC,GAUPA,EAAqBtsB,OAHrB,SAAgBipB,EAAOgI,GACnB,OAAOA,EAAgB,CAAEhI,MAAOA,EAAOgI,cAAeA,GAAkB,CAAEhI,MAAOA,IARzF,CAWGqD,IAAyBA,EAAuB,KAMnD,SAAWC,GAkBPA,EAAqBvsB,OAjBrB,SAAgBipB,EAAOgI,GAEnB,IADA,IAAIC,EAAa,GACR/G,EAAK,EAAGA,EAAK58B,UAAU1E,OAAQshC,IACpC+G,EAAW/G,EAAK,GAAK58B,UAAU48B,GAEnC,IAAItc,EAAS,CAAEob,MAAOA,GAUtB,OATIzgB,GAAG8f,QAAQ2I,KACXpjB,EAAOojB,cAAgBA,GAEvBzoB,GAAG8f,QAAQ4I,GACXrjB,EAAOqjB,WAAaA,EAGpBrjB,EAAOqjB,WAAa,GAEjBrjB,GAhBf,CAmBG0e,IAAyBA,EAAuB,KAKnD,SAAWC,GAIPA,EAAsBtiB,KAAO,EAI7BsiB,EAAsB2E,KAAO,EAI7B3E,EAAsB4E,MAAQ,EAZlC,CAaG5E,IAA0BA,EAAwB,KAMrD,SAAWC,GAYPA,EAAkBzsB,OAPlB,SAAgB1F,EAAO0gB,GACnB,IAAInN,EAAS,CAAEvT,MAAOA,GAItB,OAHIkO,GAAG0H,OAAO8K,KACVnN,EAAOmN,KAAOA,GAEXnN,GAVf,CAaG4e,IAAsBA,EAAoB,KAK7C,SAAWC,GACPA,EAAWwD,KAAO,EAClBxD,EAAWiD,OAAS,EACpBjD,EAAW2E,UAAY,EACvB3E,EAAW4E,QAAU,EACrB5E,EAAW+C,MAAQ,EACnB/C,EAAW0C,OAAS,EACpB1C,EAAWkD,SAAW,EACtBlD,EAAW6C,MAAQ,EACnB7C,EAAW4C,YAAc,EACzB5C,EAAWqD,KAAO,GAClBrD,EAAWgD,UAAY,GACvBhD,EAAW2C,SAAW,GACtB3C,EAAW8C,SAAW,GACtB9C,EAAW4D,SAAW,GACtB5D,EAAW19B,OAAS,GACpB09B,EAAWl9B,OAAS,GACpBk9B,EAAW6E,QAAU,GACrB7E,EAAWnjC,MAAQ,GACnBmjC,EAAW/hC,OAAS,GACpB+hC,EAAW8E,IAAM,GACjB9E,EAAW+E,KAAO,GAClB/E,EAAW2D,WAAa,GACxB3D,EAAW6D,OAAS,GACpB7D,EAAWnmB,MAAQ,GACnBmmB,EAAW8D,SAAW,GACtB9D,EAAW+D,cAAgB,GA1B/B,CA2BG/D,IAAeA,EAAa,KAM/B,SAAWC,GAIPA,EAAU/C,WAAa,EAJ3B,CAKG+C,IAAcA,EAAY,KAE7B,SAAWC,GAqBPA,EAAkB5sB,OAXlB,SAAgB9F,EAAM8gB,EAAM1gB,EAAO+tB,EAAKqJ,GACpC,IAAI7jB,EAAS,CACT3T,KAAMA,EACN8gB,KAAMA,EACNwO,SAAU,CAAEnB,IAAKA,EAAK/tB,MAAOA,IAKjC,OAHIo3B,IACA7jB,EAAO6jB,cAAgBA,GAEpB7jB,GAnBf,CAsBG+e,IAAsBA,EAAoB,KAE7C,SAAWC,GAwBPA,EAAe7sB,OAbf,SAAgB9F,EAAMy3B,EAAQ3W,EAAM1gB,EAAOs3B,EAAgBC,GACvD,IAAIhkB,EAAS,CACT3T,KAAMA,EACNy3B,OAAQA,EACR3W,KAAMA,EACN1gB,MAAOA,EACPs3B,eAAgBA,GAKpB,YAHiBjlC,IAAbklC,IACAhkB,EAAOgkB,SAAWA,GAEfhkB,GAgBXgf,EAAezqB,GAVf,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GACHL,GAAGpd,OAAOyd,EAAU3O,OAASsO,GAAG0H,OAAOrH,EAAUmS,OACjDuL,EAAMnkB,GAAGyG,EAAUvO,QAAUisB,EAAMnkB,GAAGyG,EAAU+oB,uBAC1BjlC,IAArBkc,EAAU8oB,QAAwBnpB,GAAGpd,OAAOyd,EAAU8oB,gBAC7BhlC,IAAzBkc,EAAUipB,YAA4BtpB,GAAGM,QAAQD,EAAUipB,oBACpCnlC,IAAvBkc,EAAUgpB,UAA0BtoC,MAAMuD,QAAQ+b,EAAUgpB,kBACzCllC,IAAnBkc,EAAUkpB,MAAsBxoC,MAAMuD,QAAQ+b,EAAUkpB,QApCrE,CAuCGlF,IAAmBA,EAAiB,KAKvC,SAAWC,GAIPA,EAAekF,MAAQ,GAIvBlF,EAAemF,SAAW,WAI1BnF,EAAeoF,SAAW,WAY1BpF,EAAeqF,gBAAkB,mBAWjCrF,EAAesF,eAAiB,kBAahCtF,EAAeuF,gBAAkB,mBAMjCvF,EAAewF,OAAS,SAIxBxF,EAAeyF,sBAAwB,yBASvCzF,EAAe0F,aAAe,gBAnElC,CAoEG1F,IAAmBA,EAAiB,KAMvC,SAAWC,GAWPA,EAAkB/sB,OAPlB,SAAgByyB,EAAaC,GACzB,IAAI7kB,EAAS,CAAE4kB,YAAaA,GAI5B,OAHIC,UACA7kB,EAAO6kB,KAAOA,GAEX7kB,GAUXkf,EAAkB3qB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAG0d,WAAWrd,EAAU4pB,YAAavL,EAAW9kB,WAA2BzV,IAAnBkc,EAAU6pB,MAAsBlqB,GAAG0d,WAAWrd,EAAU6pB,KAAMlqB,GAAGpd,UAjBjK,CAoBG2hC,IAAsBA,EAAoB,KAE7C,SAAWC,GAmBPA,EAAWhtB,OAlBX,SAAgBiqB,EAAO0I,EAAqB3X,GACxC,IAAInN,EAAS,CAAEoc,MAAOA,GAClB2I,GAAY,EAchB,MAbmC,iBAAxBD,GACPC,GAAY,EACZ/kB,EAAOmN,KAAO2X,GAETxL,EAAQ/kB,GAAGuwB,GAChB9kB,EAAOqc,QAAUyI,EAGjB9kB,EAAO0f,KAAOoF,EAEdC,QAAsBjmC,IAATquB,IACbnN,EAAOmN,KAAOA,GAEXnN,GAaXmf,EAAW5qB,GAVX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,GAAGpd,OAAOyd,EAAUohB,cACTt9B,IAA1Bkc,EAAU4pB,aAA6BjqB,GAAG0d,WAAWrd,EAAU4pB,YAAavL,EAAW9kB,YACpEzV,IAAnBkc,EAAUmS,MAAsBxS,GAAGpd,OAAOyd,EAAUmS,cACjCruB,IAAnBkc,EAAU0kB,WAA4C5gC,IAAtBkc,EAAUqhB,gBACpBv9B,IAAtBkc,EAAUqhB,SAAyB/C,EAAQ/kB,GAAGyG,EAAUqhB,iBAC9Bv9B,IAA1Bkc,EAAUgqB,aAA6BrqB,GAAGM,QAAQD,EAAUgqB,qBACzClmC,IAAnBkc,EAAU0kB,MAAsB3F,EAAcxlB,GAAGyG,EAAU0kB,QA5BxE,CA+BGP,KAAeA,GAAa,KAM/B,SAAWC,GAWPA,EAASjtB,OAPT,SAAgB1F,EAAOvN,GACnB,IAAI8gB,EAAS,CAAEvT,MAAOA,GAItB,OAHIkO,GAAG8f,QAAQv7B,KACX8gB,EAAO9gB,KAAOA,GAEX8gB,GAUXof,EAAS7qB,GAJT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAUvO,SAAWkO,GAAG7b,UAAUkc,EAAUqhB,UAAY/C,EAAQ/kB,GAAGyG,EAAUqhB,WAjB9H,CAoBG+C,KAAaA,GAAW,KAM3B,SAAWC,GAOPA,EAAkBltB,OAHlB,SAAgB8yB,EAASC,GACrB,MAAO,CAAED,QAASA,EAASC,aAAcA,IAU7C7F,EAAkB9qB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAG6d,SAASxd,EAAUiqB,UAAYtqB,GAAGM,QAAQD,EAAUkqB,eAb/F,CAgBG7F,KAAsBA,GAAoB,KAM7C,SAAWC,GAOPA,EAAantB,OAHb,SAAgB1F,EAAO5G,EAAQ3G,GAC3B,MAAO,CAAEuN,MAAOA,EAAO5G,OAAQA,EAAQ3G,KAAMA,IAUjDogC,EAAa/qB,GAJb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAUvO,SAAWkO,GAAG7b,UAAUkc,EAAUnV,SAAW8U,GAAGpd,OAAOyd,EAAUnV,UAb5H,CAgBGy5B,KAAiBA,GAAe,KAMnC,SAAWC,GASPA,EAAeptB,OAHf,SAAgB1F,EAAO04B,GACnB,MAAO,CAAE14B,MAAOA,EAAO04B,OAAQA,IAOnC5F,EAAehrB,GAJf,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,YAAqBwB,IAAdkc,GAA2B0d,EAAMnkB,GAAGyG,EAAUvO,cAAgC3N,IAArBkc,EAAUmqB,QAAwB5F,EAAehrB,GAAGyG,EAAUmqB,UAZtI,CAeG5F,KAAmBA,GAAiB,KAChC,IAII6F,GAJAC,GAAM,CAAC,KAAM,OAAQ,OAKhC,SAAWD,GA6CP,SAASE,EAAUpmC,EAAM0F,GACrB,GAAI1F,EAAKlE,QAAU,EAEf,OAAOkE,EAEX,IAAIsT,EAAKtT,EAAKlE,OAAS,EAAK,EACxBuqC,EAAOrmC,EAAKtB,MAAM,EAAG4U,GACrBgzB,EAAQtmC,EAAKtB,MAAM4U,GACvB8yB,EAAUC,EAAM3gC,GAChB0gC,EAAUE,EAAO5gC,GAIjB,IAHA,IAAI6gC,EAAU,EACVC,EAAW,EACXprC,EAAI,EACDmrC,EAAUF,EAAKvqC,QAAU0qC,EAAWF,EAAMxqC,QAAQ,CACrD,IAAIsL,EAAM1B,EAAQ2gC,EAAKE,GAAUD,EAAME,IAGnCxmC,EAAK5E,KAFLgM,GAAO,EAEKi/B,EAAKE,KAILD,EAAME,KAG1B,KAAOD,EAAUF,EAAKvqC,QAClBkE,EAAK5E,KAAOirC,EAAKE,KAErB,KAAOC,EAAWF,EAAMxqC,QACpBkE,EAAK5E,KAAOkrC,EAAME,KAEtB,OAAOxmC,EAjEXkmC,EAAajzB,OAHb,SAAgBqoB,EAAK4G,EAAY5jB,EAASmoB,GACtC,OAAO,IAAIC,GAAiBpL,EAAK4G,EAAY5jB,EAASmoB,IAW1DP,EAAa7wB,GALb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,SAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,OAAS7f,GAAG7b,UAAUkc,EAAUomB,aAAezmB,GAAGpd,OAAOyd,EAAUomB,cAAgBzmB,GAAG6d,SAASxd,EAAU6qB,YACtJlrB,GAAGoB,KAAKf,EAAU8qB,UAAYnrB,GAAGoB,KAAKf,EAAU+qB,aAAeprB,GAAGoB,KAAKf,EAAUgrB,YA2B5FZ,EAAaa,WAxBb,SAAoBC,EAAUlJ,GAU1B,IATA,IAAI5F,EAAO8O,EAASJ,UAChBK,EAAcb,EAAUtI,GAAO,SAAUn4B,EAAGnG,GAC5C,IAAI0nC,EAAOvhC,EAAE4H,MAAM3Q,MAAMo+B,KAAOx7B,EAAE+N,MAAM3Q,MAAMo+B,KAC9C,OAAa,IAATkM,EACOvhC,EAAE4H,MAAM3Q,MAAMq+B,UAAYz7B,EAAE+N,MAAM3Q,MAAMq+B,UAE5CiM,KAEPC,EAAqBjP,EAAKp8B,OACrBV,EAAI6rC,EAAYnrC,OAAS,EAAGV,GAAK,EAAGA,IAAK,CAC9C,IAAI2J,EAAIkiC,EAAY7rC,GAChBgsC,EAAcJ,EAASF,SAAS/hC,EAAEwI,MAAM3Q,OACxCyqC,EAAYL,EAASF,SAAS/hC,EAAEwI,MAAM1Q,KAC1C,KAAIwqC,GAAaF,GAIb,MAAM,IAAIzqC,MAAM,oBAHhBw7B,EAAOA,EAAKoP,UAAU,EAAGF,GAAeriC,EAAEs4B,QAAUnF,EAAKoP,UAAUD,EAAWnP,EAAKp8B,QAKvFqrC,EAAqBC,EAEzB,OAAOlP,GA1Cf,CA6EGgO,KAAiBA,GAAe,KAInC,IA2GIzqB,GA3GAirB,GAAkC,WAClC,SAASA,EAAiBpL,EAAK4G,EAAY5jB,EAASmoB,GAChD3lC,KAAKymC,KAAOjM,EACZx6B,KAAK0mC,YAActF,EACnBphC,KAAK2mC,SAAWnpB,EAChBxd,KAAK4mC,SAAWjB,EAChB3lC,KAAK6mC,kBAAe/nC,EAmGxB,OAjGAhC,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,MAAO,CACrDuH,IAAK,WACD,OAAOvE,KAAKymC,MAEhBniC,YAAY,EACZ8H,cAAc,IAElBtP,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,aAAc,CAC5DuH,IAAK,WACD,OAAOvE,KAAK0mC,aAEhBpiC,YAAY,EACZ8H,cAAc,IAElBtP,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,UAAW,CACzDuH,IAAK,WACD,OAAOvE,KAAK2mC,UAEhBriC,YAAY,EACZ8H,cAAc,IAElBw5B,EAAiB5oC,UAAU8oC,QAAU,SAAUr5B,GAC3C,GAAIA,EAAO,CACP,IAAI3Q,EAAQkE,KAAKgmC,SAASv5B,EAAM3Q,OAC5BC,EAAMiE,KAAKgmC,SAASv5B,EAAM1Q,KAC9B,OAAOiE,KAAK4mC,SAASJ,UAAU1qC,EAAOC,GAE1C,OAAOiE,KAAK4mC,UAEhBhB,EAAiB5oC,UAAU8pC,OAAS,SAAUzzB,EAAOmK,GACjDxd,KAAK4mC,SAAWvzB,EAAM+jB,KACtBp3B,KAAK2mC,SAAWnpB,EAChBxd,KAAK6mC,kBAAe/nC,GAExB8mC,EAAiB5oC,UAAU+pC,eAAiB,WACxC,QAA0BjoC,IAAtBkB,KAAK6mC,aAA4B,CAIjC,IAHA,IAAIG,EAAc,GACd5P,EAAOp3B,KAAK4mC,SACZK,GAAc,EACT3sC,EAAI,EAAGA,EAAI88B,EAAKp8B,OAAQV,IAAK,CAC9B2sC,IACAD,EAAY3rC,KAAKf,GACjB2sC,GAAc,GAElB,IAAIC,EAAK9P,EAAK+P,OAAO7sC,GACrB2sC,EAAsB,OAAPC,GAAsB,OAAPA,EACnB,OAAPA,GAAe5sC,EAAI,EAAI88B,EAAKp8B,QAAiC,OAAvBo8B,EAAK+P,OAAO7sC,EAAI,IACtDA,IAGJ2sC,GAAe7P,EAAKp8B,OAAS,GAC7BgsC,EAAY3rC,KAAK+7B,EAAKp8B,QAE1BgF,KAAK6mC,aAAeG,EAExB,OAAOhnC,KAAK6mC,cAEhBjB,EAAiB5oC,UAAU+oC,WAAa,SAAUrkC,GAC9CA,EAASoB,KAAK4C,IAAI5C,KAAKC,IAAIrB,EAAQ1B,KAAK4mC,SAAS5rC,QAAS,GAC1D,IAAIgsC,EAAchnC,KAAK+mC,iBACnBK,EAAM,EAAGC,EAAOL,EAAYhsC,OAChC,GAAa,IAATqsC,EACA,OAAO5O,EAAStmB,OAAO,EAAGzQ,GAE9B,KAAO0lC,EAAMC,GAAM,CACf,IAAIC,EAAMxkC,KAAK+J,OAAOu6B,EAAMC,GAAQ,GAChCL,EAAYM,GAAO5lC,EACnB2lC,EAAOC,EAGPF,EAAME,EAAM,EAKpB,IAAIpN,EAAOkN,EAAM,EACjB,OAAO3O,EAAStmB,OAAO+nB,EAAMx4B,EAASslC,EAAY9M,KAEtD0L,EAAiB5oC,UAAUgpC,SAAW,SAAUvJ,GAC5C,IAAIuK,EAAchnC,KAAK+mC,iBACvB,GAAItK,EAASvC,MAAQ8M,EAAYhsC,OAC7B,OAAOgF,KAAK4mC,SAAS5rC,OAEpB,GAAIyhC,EAASvC,KAAO,EACrB,OAAO,EAEX,IAAIqN,EAAaP,EAAYvK,EAASvC,MAClCsN,EAAkB/K,EAASvC,KAAO,EAAI8M,EAAYhsC,OAAUgsC,EAAYvK,EAASvC,KAAO,GAAKl6B,KAAK4mC,SAAS5rC,OAC/G,OAAO8H,KAAK4C,IAAI5C,KAAKC,IAAIwkC,EAAa9K,EAAStC,UAAWqN,GAAiBD,IAE/EzqC,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,YAAa,CAC3DuH,IAAK,WACD,OAAOvE,KAAK+mC,iBAAiB/rC,QAEjCsJ,YAAY,EACZ8H,cAAc,IAEXw5B,EAzG0B,IA4GrC,SAAWjrB,GACP,IAAInb,EAAW1C,OAAOE,UAAUwC,SAIhCmb,EAAG8f,QAHH,SAAiBn9B,GACb,YAAwB,IAAVA,GAMlBqd,EAAG7b,UAHH,SAAmBxB,GACf,YAAwB,IAAVA,GAMlBqd,EAAGM,QAHH,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7Bqd,EAAGpd,OAHH,SAAgBD,GACZ,MAAgC,oBAAzBkC,EAASsB,KAAKxD,IAMzBqd,EAAG0H,OAHH,SAAgB/kB,GACZ,MAAgC,oBAAzBkC,EAASsB,KAAKxD,IAMzBqd,EAAGugB,YAHH,SAAqB59B,EAAOyF,EAAK2C,GAC7B,MAAgC,oBAAzBlG,EAASsB,KAAKxD,IAAgCyF,GAAOzF,GAASA,GAASoI,GAMlFiV,EAAG4d,QAHH,SAAiBj7B,GACb,MAAgC,oBAAzBkC,EAASsB,KAAKxD,KAAiC,YAAcA,GAASA,GAAS,YAM1Fqd,EAAG6d,SAHH,SAAkBl7B,GACd,MAAgC,oBAAzBkC,EAASsB,KAAKxD,IAAgC,GAAKA,GAASA,GAAS,YAMhFqd,EAAGoB,KAHH,SAAcze,GACV,MAAgC,sBAAzBkC,EAASsB,KAAKxD,IASzBqd,EAAG+b,cANH,SAAuBp5B,GAInB,OAAiB,OAAVA,GAAmC,iBAAVA,GAMpCqd,EAAG0d,WAHH,SAAoB/6B,EAAOg7B,GACvB,OAAO58B,MAAMuD,QAAQ3B,IAAUA,EAAMypB,MAAMuR,IA9CnD,CAiDG3d,KAAOA,GAAK,M,4BC72Df7I,EAAOjY,QAAU,EAAjB,O,kCCDA,IAAIqY,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4tC,sBAAmB,EAC3B,MAAM10B,EAAQ,EAAQ,MACtBR,EAAa,EAAQ,MAA2C1Y,GAChE0Y,EAAa,EAAQ,MAAkB1Y,GACvC,IAAI6tC,GAAoB,EACxB,MAAMC,EAAW,CACbC,WAAaC,MAEb,uBACI,OAAOH,GAEX,qBAAqBpqC,GACjBoqC,EAAoBpqC,GAExBwqC,KAAOC,OA2BXluC,EAAQ4tC,iBAxBR,SAA0BO,EAAMC,EAAMC,EAAMC,GACxC,IAAIC,EACAn0B,EACAC,EACAE,EAkBJ,YAjBa,IAAT4zB,GAAoC,aAAjBA,EAAKK,UACxBD,EAAYJ,EACZA,EAAOC,EACPA,EAAOC,EACPA,EAAOC,GAEPp1B,EAAMuB,mBAAmBC,GAAGyzB,IAASj1B,EAAMoF,kBAAkB5D,GAAGyzB,GAChE5zB,EAAU4zB,GAGV/zB,EAAS+zB,EACT9zB,EAAS+zB,EACT7zB,EAAU8zB,GAKPn1B,EAAM00B,kBAHctzB,GAChBpB,EAAMgb,yBAAyB9Z,EAAQC,EAAQC,EAAQC,IAEjBuzB,EAAUS,K,kCClD/D,IAAIl2B,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQyuC,iBAAmBzuC,EAAQ0uC,2BAAwB,EAC3D,MAAMC,EAAmB,EAAQ,MACjC1rC,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOikC,EAAiBD,yBACvHh2B,EAAa,EAAQ,KAAoC1Y,GACzD0Y,EAAa,EAAQ,MAAa1Y,IAMZA,EAAQyuC,mBAAqBzuC,EAAQyuC,iBAAmB,KAHzDzI,IAAM,CACnBwI,QAAS,a,4BCnBjBvrC,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4uC,0BAAuB,EAC/B,MAAMC,EAAmC,EAAQ,KA0BjD7uC,EAAQ4uC,qBAzBsBz8B,GACnB,cAAcA,EACjB,oBACI,MAAO,CACH28B,UAAYnoB,IACRxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiC5Z,4BAA4B9vB,MAAM,CAACmhB,EAAQ5E,IAC3FiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,QAASrhB,MAG5E+pC,gBAAkBroB,IACd,MAAMxhB,EAAO0pC,EAAiC7Z,kCAAkC7vB,KAChFgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,OAGnH4oB,gBAAkBvoB,IACd,MAAMxhB,EAAO0pC,EAAiC9Z,kCAAkC5vB,KAChFgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,W,4BCrBnIrjB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQmvC,0BAAuB,EAC/B,MAAMN,EAAmC,EAAQ,KAC3C/tB,EAAK,EAAQ,KAwBnB9gB,EAAQmvC,qBAvBsBh9B,GACnB,cAAcA,EACjBi9B,iBAAiBhsC,GACb,OAAKA,EAGI0d,EAAGpd,OAAON,GACR+C,KAAKkpC,kBAAkB,CAAEC,QAASlsC,IAGlC+C,KAAKkpC,kBAAkBjsC,GANvB+C,KAAKkpC,kBAAkB,IAStCA,kBAAkBjsC,GACd,IAAIkjB,EAAS,CACT4iB,MAAOrnC,MAAMuD,QAAQhC,GAAOA,EAAM,CAACA,IAEvC,OAAO+C,KAAK0jB,WAAWa,YAAYmkB,EAAiCzZ,qBAAqBjwB,KAAMmhB,GAAQxK,MAAMqK,GAClGtkB,MAAMuD,QAAQhC,GAAO+iB,EAASA,EAAO,Q,2BCtB5DljB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQuvC,2BAAwB,EAChC,MAAMV,EAAmC,EAAQ,KAmCjD7uC,EAAQuvC,sBAlCuBp9B,GACpB,cAAcA,EACjBq9B,iBAAiB7oB,GACbxgB,KAAK0jB,WAAWO,eAAeykB,EAAiCnZ,2BAA2BvwB,MAAOmhB,IAC9FK,EAAQL,MAGhBmpB,iBAAiB9oB,GACbxgB,KAAK0jB,WAAWO,eAAeykB,EAAiCrZ,2BAA2BrwB,MAAOmhB,IAC9FK,EAAQL,MAGhBopB,iBAAiB/oB,GACbxgB,KAAK0jB,WAAWO,eAAeykB,EAAiCtZ,2BAA2BpwB,MAAOmhB,IAC9FK,EAAQL,MAGhBqpB,kBAAkBhpB,GACd,OAAOxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiClZ,uBAAuBxwB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,KAG/BkuB,kBAAkBjpB,GACd,OAAOxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiCpZ,uBAAuBtwB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,KAG/BmuB,kBAAkBlpB,GACd,OAAOxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiCvZ,uBAAuBnwB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,Q,4BChCvCze,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ8vC,+BAA4B,EACpC,MAAMjB,EAAmC,EAAQ,KAUjD7uC,EAAQ8vC,0BAT2B39B,GACxB,cAAcA,EACjB49B,qBAAqBppB,GACjBxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiCtV,0BAA0Bp0B,MAAM,CAACmhB,EAAQ5E,IACzFiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,QAASrhB,Q,4BCPpFhC,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQgwC,oBAAiB,EACzB,MAAMnB,EAAmC,EAAQ,KAejD7uC,EAAQgwC,eAdgB79B,GACb,cAAcA,EACjB,cACI,MAAO,CACH89B,GAAKtpB,IACD,MAAMxhB,EAAO0pC,EAAiCzV,eAAej0B,KAC7DgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,W,4BCVnIrjB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQkwC,oBAAsBlwC,EAAQmwC,gBAAkBnwC,EAAQowC,oBAAiB,EACjF,MAAMvB,EAAmC,EAAQ,KAC3CwB,EAAS,EAAQ,MACvB,MAAMC,EACFl+B,YAAYm+B,EAAa3uB,GACrBzb,KAAKoqC,YAAcA,EACnBpqC,KAAKyb,OAASA,EACd0uB,EAA6BE,UAAUllC,IAAInF,KAAKyb,OAAQzb,MAE5DsqC,MAAMlO,EAAOmO,EAAYh+B,EAASi+B,GAC9B,IAAIpnB,EAAQ,CACR+J,KAAM,QACNiP,QACAmO,aACAh+B,UACAi+B,eAEJxqC,KAAKoqC,YAAY/lB,aAAaqkB,EAAiCzU,iBAAiBj1B,KAAMgB,KAAKyb,OAAQ2H,GAEvGqnB,OAAOC,EAAM1C,GACT,IAAI5kB,EAAQ,CACR+J,KAAM,UAEU,iBAATud,GACPtnB,EAAMmnB,WAAaG,OACN5rC,IAATkpC,IACA5kB,EAAM7W,QAAUy7B,IAIpB5kB,EAAM7W,QAAUm+B,EAEpB1qC,KAAKoqC,YAAY/lB,aAAaqkB,EAAiCzU,iBAAiBj1B,KAAMgB,KAAKyb,OAAQ2H,GAEvGsF,OACIyhB,EAA6BE,UAAUznB,OAAO5iB,KAAKyb,QACnDzb,KAAKoqC,YAAY/lB,aAAaqkB,EAAiCzU,iBAAiBj1B,KAAMgB,KAAKyb,OAAQ,CAAE0R,KAAM,SAGnHgd,EAA6BE,UAAY,IAAIvsB,IAC7C,MAAM6sB,UAA2CR,EAC7Cl+B,YAAYyX,EAAY1C,GACpB9U,MAAMwX,EAAY1C,GAClBhhB,KAAK4qC,QAAU,IAAIlC,EAAiCjwB,wBAExD,YACI,OAAOzY,KAAK4qC,QAAQ5pB,MAExB0H,OACI1oB,KAAK4qC,QAAQxvB,UACblP,MAAMwc,OAEVnN,SACIvb,KAAK4qC,QAAQrvB,UAGrB,MAAMsvB,EACF5+B,eAEAq+B,SAEAG,UAEA/hB,SAGJ,MAAMoiB,UAAmCD,EACrC5+B,cACIC,QACAlM,KAAK4qC,QAAU,IAAIlC,EAAiCjwB,wBAExD,YACI,OAAOzY,KAAK4qC,QAAQ5pB,MAExB0H,OACI1oB,KAAK4qC,QAAQxvB,UAEjBG,SACIvb,KAAK4qC,QAAQrvB,UAqDrB,IAAIwvB,EA1CJlxC,EAAQowC,eARR,SAAwBvmB,EAAYvD,GAChC,QAAerhB,IAAXqhB,QAAiDrhB,IAAzBqhB,EAAO6qB,cAC/B,OAAO,IAAIH,EAEf,MAAM7pB,EAAQb,EAAO6qB,cAErB,cADO7qB,EAAO6qB,cACP,IAAIb,EAA6BzmB,EAAY1C,IA2CxDnnB,EAAQmwC,gBAxCiBh+B,GACd,cAAcA,EACjBC,cACIC,QACAlM,KAAKirC,oBAAqB,EAE9BrD,WAAWsD,GACP,IAAIpjB,GACsJ,KAA1D,QAA1FA,EAAKojB,aAAmD,EAASA,EAAaC,cAA2B,IAAPrjB,OAAgB,EAASA,EAAG6O,oBAChI32B,KAAKirC,oBAAqB,EAC1BjrC,KAAK0jB,WAAWO,eAAeykB,EAAiC3U,mCAAmC/0B,MAAOmhB,IACtG,IAAIirB,EAAWjB,EAA6BE,UAAU9lC,IAAI4b,EAAOa,QAC7DoqB,aAAoBT,GAAsCS,aAAoBN,IAC9EM,EAAS7vB,aAKzBqtB,uBAAuB5nB,GACnB,YAAcliB,IAAVkiB,EACO,IAAI6pB,EAGJ,IAAIV,EAA6BnqC,KAAK0jB,WAAY1C,GAGjEqqB,yBACI,GAAIrrC,KAAKirC,mBAAoB,CACzB,MAAMjqB,EAAQkpB,EAAOoB,eACrB,OAAOtrC,KAAK0jB,WAAWa,YAAYmkB,EAAiC1U,8BAA8Bh1B,KAAM,CAAEgiB,UAASrL,MAAK,IACrG,IAAIg1B,EAAmC3qC,KAAK0jB,WAAY1C,KAK3E,OAAOjP,QAAQtC,QAAQ,IAAIq7B,KAO3C,SAAWC,GACPA,EAAe/rC,KAAO,IAAI0pC,EAAiCxwB,aAD/D,CAEG6yB,IAAmBA,EAAiB,KACvC,MAAMQ,EACFt/B,YAAYm+B,EAAa3uB,GACrBzb,KAAKoqC,YAAcA,EACnBpqC,KAAKyb,OAASA,EAElBgvB,OAAOvrC,GACHc,KAAKoqC,YAAY/lB,aAAa0mB,EAAe/rC,KAAMgB,KAAKyb,OAAQvc,IAWxErF,EAAQkwC,oBARR,SAA6BrmB,EAAYvD,GACrC,QAAerhB,IAAXqhB,QAAsDrhB,IAA9BqhB,EAAOqrB,mBAC/B,OAEJ,MAAMxqB,EAAQb,EAAOqrB,mBAErB,cADOrrB,EAAOqrB,mBACP,IAAID,EAA2B7nB,EAAY1C,K,4BCvJtDlkB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ0uC,sBAAwB1uC,EAAQ4xC,2BAAwB,EAChE,MAAM/C,EAAmC,EAAQ,KA2BjD7uC,EAAQ4xC,sBA1BuBz/B,GACpB,cAAcA,EACjB,qBACI,MAAO,CACH89B,GAAKtpB,IACD,MAAMxhB,EAAO0pC,EAAiChV,sBAAsB10B,KACpEgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,OAGnHurB,QAAUlrB,IACN,MAAMxhB,EAAO0pC,EAAiCjV,2BAA2Bz0B,KACzEgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,OAGnHwrB,QAAUnrB,IACN,MAAMxhB,EAAO0pC,EAAiClV,2BAA2Bx0B,KACzEgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,UAkGnItmB,EAAQ0uC,sBA1FR,MACIt8B,cACIjM,KAAK4rC,eAAY9sC,EACjBkB,KAAK4nC,aAETA,aACI5nC,KAAK6rC,IAAMprB,KAAKC,MAChB1gB,KAAK8rC,UAAY,EACjB9rC,KAAK+rC,UAAY,EACjB/rC,KAAKgsC,MAAQ,GACbhsC,KAAKisC,SAAW,EAEpB5wC,KAAK6+B,EAAMgS,EAAMlxC,EAAQmxC,EAAWC,GAChC,IAAIC,EAAWnS,EACXoS,EAAWJ,EACXlsC,KAAKisC,SAAW,IAChBI,GAAYrsC,KAAK8rC,UACA,IAAbO,IACAC,GAAYtsC,KAAK+rC,YAGzB/rC,KAAKgsC,MAAMhsC,KAAKisC,YAAcI,EAC9BrsC,KAAKgsC,MAAMhsC,KAAKisC,YAAcK,EAC9BtsC,KAAKgsC,MAAMhsC,KAAKisC,YAAcjxC,EAC9BgF,KAAKgsC,MAAMhsC,KAAKisC,YAAcE,EAC9BnsC,KAAKgsC,MAAMhsC,KAAKisC,YAAcG,EAC9BpsC,KAAK8rC,UAAY5R,EACjBl6B,KAAK+rC,UAAYG,EAErB,SACI,OAAOlsC,KAAK6rC,IAAIrsC,WAEpB+sC,eAAe3vB,GACP5c,KAAK4c,KAAOA,IACZ5c,KAAK4rC,UAAY5rC,KAAKgsC,OAE1BhsC,KAAK4nC,aAET4E,QAEI,OADAxsC,KAAK4rC,eAAY9sC,EACV,CACHq5B,SAAUn4B,KAAK4c,GACf1d,KAAMc,KAAKgsC,OAGnBS,gBACI,YAA0B3tC,IAAnBkB,KAAK4rC,UAEhBc,aACI,QAAuB5tC,IAAnBkB,KAAK4rC,UAAyB,CAC9B,MAAMe,EAAiB3sC,KAAK4rC,UAAU5wC,OAChC4xC,EAAa5sC,KAAKgsC,MAAMhxC,OAC9B,IAAI6xC,EAAa,EACjB,KAAOA,EAAaD,GAAcC,EAAaF,GAAkB3sC,KAAK4rC,UAAUiB,KAAgB7sC,KAAKgsC,MAAMa,IACvGA,IAEJ,GAAIA,EAAaD,GAAcC,EAAaF,EAAgB,CAExD,IAAIG,EAAW,EACf,KAAOA,EAAWF,GAAcE,EAAWH,GAAkB3sC,KAAK4rC,UAAUe,EAAiB,EAAIG,KAAc9sC,KAAKgsC,MAAMY,EAAa,EAAIE,IACvIA,IAEJ,MAAMC,EAAU/sC,KAAKgsC,MAAMpuC,MAAMivC,EAAYD,EAAaE,GAO1D,MANe,CACX3U,SAAUn4B,KAAK4c,GACfogB,MAAO,CACH,CAAElhC,MAAO+wC,EAAYG,YAAaL,EAAiBG,EAAWD,EAAY3tC,KAAM6tC,KAKvF,OAAIF,EAAaD,EACX,CAAEzU,SAAUn4B,KAAK4c,GAAIogB,MAAO,CAC3B,CAAElhC,MAAO+wC,EAAYG,YAAa,EAAG9tC,KAAMc,KAAKgsC,MAAMpuC,MAAMivC,MAG/DA,EAAaF,EACX,CAAExU,SAAUn4B,KAAK4c,GAAIogB,MAAO,CAC3B,CAAElhC,MAAO+wC,EAAYG,YAAaL,EAAiBE,KAIpD,CAAE1U,SAAUn4B,KAAK4c,GAAIogB,MAAO,IAIvC,OAAOh9B,KAAKwsC,W,4BCpHxB1vC,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4tC,iBAAmB5tC,EAAQozC,gBAAkBpzC,EAAQqzC,yBAA2BrzC,EAAQszC,yBAA2BtzC,EAAQuzC,sBAAwBvzC,EAAQwzC,sBAAwBxzC,EAAQyzC,sBAAwBzzC,EAAQ0zC,yBAA2B1zC,EAAQ2zC,uBAAyB3zC,EAAQ4zC,eAAiB5zC,EAAQ6zC,mBAAqB7zC,EAAQ8zC,iBAAmB9zC,EAAQ+zC,oBAAsB/zC,EAAQg0C,mBAAgB,EACta,MAAMnF,EAAmC,EAAQ,KAC3C/tB,EAAK,EAAQ,KACbmzB,EAAO,EAAQ,MACfC,EAAa,EAAQ,MACrBC,EAAkB,EAAQ,MAC1BC,EAAqB,EAAQ,MAC7BC,EAAkB,EAAQ,MAC1B1F,EAAmB,EAAQ,MAC3B2F,EAAiB,EAAQ,MACzBC,EAAmB,EAAQ,KAC3BC,EAAuB,EAAQ,MAC/BC,EAAY,EAAQ,MAC1B,SAASC,EAAejxC,GACpB,GAAc,OAAVA,EAGJ,OAAOA,EA0JXzD,EAAQg0C,cArJR,MAII5hC,YAAYuiC,GACRxuC,KAAKyuC,WAAa3xC,OAAOqV,OAAO,MAChCnS,KAAK0uC,eAAiBF,EACtBxuC,KAAK2uC,oBAAsB,IAAIjG,EAAiCv1B,QAChEnT,KAAK4uC,WAAa,IAAIlG,EAAiCv1B,QACvDnT,KAAK6uC,YAAc,IAAInG,EAAiCv1B,QACxDnT,KAAK8uC,WAAa,IAAIpG,EAAiCv1B,QACvDnT,KAAK+uC,YAAc,IAAIrG,EAAiCv1B,QAM5D,yBACI,OAAOnT,KAAK2uC,oBAAoBt7B,MAMpC,gBACI,OAAOrT,KAAK4uC,WAAWv7B,MAM3B,iBACI,OAAOrT,KAAK+uC,YAAY17B,MAM5B27B,oBAAoBxuB,GAChBxgB,KAAKivC,mBAAqBzuB,EAM9B,gBACI,OAAOxgB,KAAK8uC,WAAWz7B,MAM3B,iBACI,OAAOrT,KAAK6uC,YAAYx7B,MAS5B9O,IAAIi2B,GACA,OAAOx6B,KAAKyuC,WAAWjU,GAO3BqF,MACI,OAAO/iC,OAAOuoB,KAAKrlB,KAAKyuC,YAAY3qB,KAAI9B,GAAOhiB,KAAKyuC,WAAWzsB,KAOnEqD,OACI,OAAOvoB,OAAOuoB,KAAKrlB,KAAKyuC,YAe5B/6B,OAAOgQ,GACHA,EAAWwrB,mBAAqBxG,EAAiC9W,qBAAqBqF,KACtFvT,EAAWyrB,uBAAuB97B,IAC9B,IAAI+7B,EAAK/7B,EAAM0pB,aACXmJ,EAAWlmC,KAAK0uC,eAAev8B,OAAOi9B,EAAG5U,IAAK4U,EAAGhO,WAAYgO,EAAG5xB,QAAS4xB,EAAGhY,MAChFp3B,KAAKyuC,WAAWW,EAAG5U,KAAO0L,EAC1B,IAAImJ,EAASvyC,OAAO0Z,OAAO,CAAE0vB,aAC7BlmC,KAAK4uC,WAAWt7B,KAAK+7B,GACrBrvC,KAAK2uC,oBAAoBr7B,KAAK+7B,MAElC3rB,EAAW4rB,yBAAyBj8B,IAChC,IAAI+7B,EAAK/7B,EAAM0pB,aACXS,EAAUnqB,EAAMk8B,eACpB,GAAuB,IAAnB/R,EAAQxiC,OACR,OAEJ,IAAIkrC,EAAWlmC,KAAKyuC,WAAWW,EAAG5U,KAClC,MAAM,QAAEhd,GAAY4xB,EACpB,GAAI5xB,QACA,MAAM,IAAI5hB,MAAM,sCAAsCwzC,EAAG5U,wCAE7D0L,EAAWlmC,KAAK0uC,eAAe5H,OAAOZ,EAAU1I,EAAShgB,GACzDxd,KAAKyuC,WAAWW,EAAG5U,KAAO0L,EAC1BlmC,KAAK2uC,oBAAoBr7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,iBAElDxiB,EAAW8rB,wBAAwBn8B,IAC/B,IAAI6yB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC9C0L,WACOlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC1Cx6B,KAAK6uC,YAAYv7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,kBAG9CxiB,EAAW+rB,wBAAwBp8B,IAC/B,IAAI6yB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC9C0L,GACAlmC,KAAK+uC,YAAYz7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,WAAUwJ,OAAQr8B,EAAMq8B,aAGtEhsB,EAAWisB,iCAAgC,CAACt8B,EAAO2N,KAC/C,IAAIklB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAClD,OAAI0L,GAAYlmC,KAAKivC,mBACVjvC,KAAKivC,mBAAmBnyC,OAAO0Z,OAAO,CAAE0vB,WAAUwJ,OAAQr8B,EAAMq8B,SAAW1uB,GAG3E,MAGf0C,EAAWksB,uBAAuBv8B,IAC9B,IAAI6yB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC9C0L,GACAlmC,KAAK8uC,WAAWx7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,mBAwCrDrsC,EAAQ+zC,oBA5BR,MACI3hC,cACIjM,KAAK6vC,UAAY/yC,OAAOqV,OAAO,MAOnCyT,IAAIrZ,GACA,IAAIyf,EAAQhsB,KAAK6vC,UAAUtjC,GACtByf,IACDA,EAAQ,GAEZA,IACAhsB,KAAK6vC,UAAUtjC,GAAWyf,EAO9B8jB,WAAWpsB,GACP5mB,OAAOuoB,KAAKrlB,KAAK6vC,WAAWvqB,SAAQ/Y,IAChCmX,EAAWynB,OAAO4E,iBAAiBxjC,QAK/C,MAAMyjC,EACF/jC,eAEAgkC,UAAUvsB,GACN1jB,KAAKkwC,eAAiBxsB,EAE1BysB,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBgG,uBAAuBC,IAEvBzI,WAAWyI,IAEXjsC,MAAMmI,GACFvM,KAAKoW,KAAKsyB,EAAiCzW,YAAYr2B,MAAO2Q,GAElEyP,KAAKzP,GACDvM,KAAKoW,KAAKsyB,EAAiCzW,YAAY6E,QAASvqB,GAEpE0P,KAAK1P,GACDvM,KAAKoW,KAAKsyB,EAAiCzW,YAAY8E,KAAMxqB,GAEjEqC,IAAIrC,GACAvM,KAAKoW,KAAKsyB,EAAiCzW,YAAY+E,IAAKzqB,GAEhE6J,KAAKpX,EAAMuN,GACHvM,KAAKkwC,gBACLlwC,KAAKkwC,eAAerzB,iBAAiB6rB,EAAiC5W,uBAAuB9yB,KAAM,CAAEA,OAAMuN,aAiCvH,MAAM+jC,EAAmBnC,EAAeoC,oBAAoBxC,EAAW/D,gBA7BvE,MACI/9B,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBN,iBAAiBxjC,KAAYikC,GACzB,IAAIrwB,EAAS,CAAEnhB,KAAM0pC,EAAiCzW,YAAYr2B,MAAO2Q,UAASikC,WAClF,OAAOxwC,KAAK0jB,WAAWa,YAAYmkB,EAAiC3W,mBAAmB/yB,KAAMmhB,GAAQxK,KAAK44B,GAE9GkC,mBAAmBlkC,KAAYikC,GAC3B,IAAIrwB,EAAS,CAAEnhB,KAAM0pC,EAAiCzW,YAAY6E,QAASvqB,UAASikC,WACpF,OAAOxwC,KAAK0jB,WAAWa,YAAYmkB,EAAiC3W,mBAAmB/yB,KAAMmhB,GAAQxK,KAAK44B,GAE9GmC,uBAAuBnkC,KAAYikC,GAC/B,IAAIrwB,EAAS,CAAEnhB,KAAM0pC,EAAiCzW,YAAY8E,KAAMxqB,UAASikC,WACjF,OAAOxwC,KAAK0jB,WAAWa,YAAYmkB,EAAiC3W,mBAAmB/yB,KAAMmhB,GAAQxK,KAAK44B,QAc5F10C,EAAQ8zC,mBAAqB9zC,EAAQ8zC,iBAAmB,KADzDx7B,OAHjB,WACI,OAAO,IAAIw+B,GAInB,MAAMA,EACF1kC,cACIjM,KAAK4wC,eAAiB,GACtB5wC,KAAK6wC,YAAc,IAAIC,IAE3BlrB,IAAI5mB,EAAM+xC,GACN,MAAMnxB,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OAC7C,GAAI5f,KAAK6wC,YAAYzsB,IAAIxE,GACrB,MAAM,IAAIhkB,MAAM,GAAGgkB,2CAEvB,MAAMhD,EAAKkxB,EAAKxC,eAChBtrC,KAAK4wC,eAAev1C,KAAK,CACrBuhB,GAAIA,EACJgD,OAAQA,EACRmxB,gBAAiBA,GAAmB,KAExC/wC,KAAK6wC,YAAYjrB,IAAIhG,GAEzBoxB,uBACI,MAAO,CACHC,cAAejxC,KAAK4wC,kBAUR/2C,EAAQ6zC,qBAAuB7zC,EAAQ6zC,mBAAqB,KAD7Dv7B,OAHnB,WACI,OAAO,IAAI++B,OAAuBpyC,EAAW,KAIrD,MAAMoyC,EACFjlC,YAAYm+B,EAAa+G,GACrBnxC,KAAKoqC,YAAcA,EACnBpqC,KAAKoxC,iBAAmB,IAAItzB,IAC5BqzB,EAAgB7rB,SAAQ+rB,IACpBrxC,KAAKoxC,iBAAiBjsC,IAAIksC,EAAezxB,OAAQyxB,MAGzD,iBACI,QAASrxC,KAAKoqC,YAElB+F,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvBkC,IAAIyrB,GACArxC,KAAKoxC,iBAAiBjsC,IAAIksC,EAAezxB,OAAQyxB,GAErDj2B,UACI,IAAI+1B,EAAkB,GACtB,IAAK,IAAIE,KAAkBrxC,KAAKoxC,iBAAiBzoB,SAC7CwoB,EAAgB91C,KAAKg2C,GAEzB,IAAIlxB,EAAS,CACTmxB,iBAAkBH,GAEtBnxC,KAAKoqC,YAAY7lB,YAAYmkB,EAAiC7V,sBAAsB7zB,KAAMmhB,GAAQxK,UAAK7W,GAAYyyC,IAC/GvxC,KAAKoqC,YAAYjmC,QAAQ8X,KAAK,kCAGtCu1B,cAAcv0C,GACV,MAAM2iB,EAASjF,EAAGpd,OAAON,GAAOA,EAAMA,EAAI2iB,OACpCyxB,EAAiBrxC,KAAKoxC,iBAAiB7sC,IAAIqb,GACjD,IAAKyxB,EACD,OAAO,EAEX,IAAIlxB,EAAS,CACTmxB,iBAAkB,CAACD,IAOvB,OALArxC,KAAKoqC,YAAY7lB,YAAYmkB,EAAiC7V,sBAAsB7zB,KAAMmhB,GAAQxK,MAAK,KACnG3V,KAAKoxC,iBAAiBxuB,OAAOhD,MAC7B2xB,IACAvxC,KAAKoqC,YAAYjmC,QAAQ8X,KAAK,sCAAsCo1B,EAAez0B,kBAEhF,GAGf,MAAM60B,EACFtB,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBqB,SAASC,EAAqBC,EAAuBb,GACjD,OAAIY,aAA+BhB,EACxB3wC,KAAK6xC,aAAaF,GAEpBA,aAA+BT,EAC7BlxC,KAAK8xC,gBAAgBH,EAAqBC,EAAuBb,GAGjE/wC,KAAK+xC,gBAAgBJ,EAAqBC,GAGzDE,gBAAgBT,EAAgBryC,EAAM+xC,GAClC,MAAMnxB,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OACvChD,EAAKkxB,EAAKxC,eAChB,IAAInrB,EAAS,CACT8wB,cAAe,CAAC,CAAEr0B,KAAIgD,SAAQmxB,gBAAiBA,GAAmB,MAKtE,OAHKM,EAAeW,YAChBX,EAAelB,OAAOnwC,KAAK0jB,YAExB1jB,KAAK0jB,WAAWa,YAAYmkB,EAAiC5V,oBAAoB9zB,KAAMmhB,GAAQxK,MAAMs8B,IACxGZ,EAAezrB,IAAI,CAAEhJ,GAAIA,EAAIgD,OAAQA,IAC9ByxB,KACPE,IACAvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,mCAAmC2D,aACzD7N,QAAQiC,OAAOu9B,MAG9BQ,gBAAgB/yC,EAAM+xC,GAClB,MAAMnxB,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OACvChD,EAAKkxB,EAAKxC,eAChB,IAAInrB,EAAS,CACT8wB,cAAe,CAAC,CAAEr0B,KAAIgD,SAAQmxB,gBAAiBA,GAAmB,MAEtE,OAAO/wC,KAAK0jB,WAAWa,YAAYmkB,EAAiC5V,oBAAoB9zB,KAAMmhB,GAAQxK,MAAMs8B,GACjGvJ,EAAiC5yB,WAAW3D,QAAO,KACtDnS,KAAKkyC,iBAAiBt1B,EAAIgD,QAE9B2xB,IACAvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,mCAAmC2D,aACzD7N,QAAQiC,OAAOu9B,MAG9BW,iBAAiBt1B,EAAIgD,GACjB,IAAIO,EAAS,CACTmxB,iBAAkB,CAAC,CAAE10B,KAAIgD,YAE7B,OAAO5f,KAAK0jB,WAAWa,YAAYmkB,EAAiC7V,sBAAsB7zB,KAAMmhB,GAAQxK,UAAK7W,GAAYyyC,IACrHvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,sCAAsCW,gBAG3Ei1B,aAAaZ,GACT,IAAI9wB,EAAS8wB,EAAcD,uBAC3B,OAAOhxC,KAAK0jB,WAAWa,YAAYmkB,EAAiC5V,oBAAoB9zB,KAAMmhB,GAAQxK,MAAK,IAChG,IAAIu7B,EAAuBlxC,KAAKoqC,YAAajqB,EAAO8wB,cAAcntB,KAAIquB,IAAyB,CAAEv1B,GAAIu1B,EAAav1B,GAAIgD,OAAQuyB,EAAavyB,cAClJ2xB,IACAvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,6BACtBlK,QAAQiC,OAAOu9B,OA4BlC,MAAMa,EAAsBhE,EAAiBhF,sBAAsB6E,EAAmBoE,wBAAwBrE,EAAgBhF,qBAxB9H,MACI/8B,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBiC,UAAUC,GAIN,IAAIpyB,GAHgC7iB,EAGIi1C,IAFlBj1C,EAAMoiC,KAE2B6S,EAAc,CAAE7S,KAAM6S,GAH7E,IAAoCj1C,EAIpC,OAAO0C,KAAK0jB,WAAWa,YAAYmkB,EAAiCpU,0BAA0Bt1B,KAAMmhB,QAI5G,MAAMqyB,EACFvmC,cACIjM,KAAKyyC,OAAS/J,EAAiCzwB,MAAMiE,IAEzDi0B,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvB,UAAU/yC,GACN0C,KAAKyyC,OAASn1C,EAElBsR,IAAIrC,EAASkZ,GACLzlB,KAAKyyC,SAAW/J,EAAiCzwB,MAAMiE,KAG3Dlc,KAAK0jB,WAAW7G,iBAAiB6rB,EAAiC5wB,qBAAqB9Y,KAAM,CACzFuN,QAASA,EACTkZ,QAASzlB,KAAKyyC,SAAW/J,EAAiCzwB,MAAMmE,QAAUqJ,OAAU3mB,KAIhG,MAAM4zC,EACFzmC,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBsC,SAASzzC,GACLc,KAAK0jB,WAAW7G,iBAAiB6rB,EAAiC7W,2BAA2B7yB,KAAME,IAG3G,MAAMuuC,EACFxhC,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBzH,uBAAuBzoB,GACnB,OAAO4tB,EAAW9D,eAAejqC,KAAK0jB,WAAYvD,GAEtD2oB,4BAA4B3kB,EAAOhE,GAC/B,OAAO4tB,EAAWhE,oBAAoB/pC,KAAK0jB,WAAYvD,IAG/DtmB,EAAQ4zC,eAAiBA,EACzB,MAAMmF,EAAgBtE,EAAUzE,eAAewE,EAAqB1E,0BAA0BnB,EAAiBiD,sBAAsByC,EAAgBzF,qBAAqBgF,MAC1K,SAASD,EAAuBpT,EAAKC,GACjC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASuhC,EAAyBnT,EAAKC,GACnC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASshC,EAAsBlT,EAAKC,GAChC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASqhC,EAAsBjT,EAAKC,GAChC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASohC,EAAsBhT,EAAKC,GAChC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASmhC,EAAyB/S,EAAKC,GACnC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KA3BvBnS,EAAQ2zC,uBAAyBA,EAMjC3zC,EAAQ0zC,yBAA2BA,EAMnC1zC,EAAQyzC,sBAAwBA,EAMhCzzC,EAAQwzC,sBAAwBA,EAMhCxzC,EAAQuzC,sBAAwBA,EAMhCvzC,EAAQszC,yBAA2BA,EAMnCtzC,EAAQqzC,yBALR,SAAkC9S,EAAKC,GACnC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,MA2BvBnS,EAAQozC,gBAvBR,SAAyB7S,EAAKC,GAC1B,SAASwY,EAAQzY,EAAKC,EAAKte,GACvB,OAAIqe,GAAOC,EACAte,EAAKqe,EAAKC,GAEZD,GAIEC,EAYf,MATa,CACTgO,QAAS,WACTlkC,QAAS0uC,EAAQzY,EAAIj2B,QAASk2B,EAAIl2B,QAASqpC,GAC3CzvB,OAAQ80B,EAAQzY,EAAIrc,OAAQsc,EAAItc,OAAQuvB,GACxCwF,UAAWD,EAAQzY,EAAI0Y,UAAWzY,EAAIyY,UAAWvF,GACjDwF,OAAQF,EAAQzY,EAAI2Y,OAAQ1Y,EAAI0Y,OAAQ1F,GACxClC,OAAQ0H,EAAQzY,EAAI+Q,OAAQ9Q,EAAI8Q,OAAQiC,GACxC4F,UAAWH,EAAQzY,EAAI4Y,UAAW3Y,EAAI2Y,UAAW7F,KAoOzDtzC,EAAQ4tC,iBA/NR,SAA0BwL,EAAmBtL,EAAUS,GACnD,MAAMj0B,EAAUi0B,GAAaA,EAAUjkC,QAAU,IAAKikC,EAAUjkC,QAAQ6rC,IAAwB,IAAIA,EAC9FtsB,EAAauvB,EAAkB9+B,GACrCA,EAAO87B,UAAUvsB,GACjB,MAAM3F,EAAUqqB,GAAaA,EAAUrqB,OAAS,IAAKqqB,EAAUrqB,OAAOy0B,IAAiB,IAAIA,EACrFM,EAAa1K,GAAaA,EAAU0K,UAAY,IAAK1K,EAAU0K,UAAUJ,IAAoB,IAAIA,EACjGK,EAAU3K,GAAaA,EAAU2K,OAAS,IAAK3K,EAAU2K,OAAOtB,IAAuB,IAAIA,EAC3FyB,EAAgB9K,GAAaA,EAAU+C,OAAS,IAAK/C,EAAU+C,OAAOmF,IAAuB,IAAIA,EACjG0C,EAAa5K,GAAaA,EAAU4K,UAAY,IAAK5K,EAAU4K,UAAUZ,IAA0B,IAAIA,EACvGe,EAAa/K,GAAaA,EAAU+K,UAAY,IAAK/K,EAAU+K,UAAUP,IAAoB,IAAIA,EACjGQ,EAAa,CAACj/B,EAAQ4J,EAAQ+0B,EAAWC,EAAQG,EAAcF,EAAWG,GAChF,SAASE,EAAU/1C,GACf,OAAIA,aAAiByU,QACVzU,EAEFqd,EAAG24B,SAASh2C,GACV,IAAIyU,SAAQ,CAACtC,EAASuE,KACzB1W,EAAMqY,MAAM49B,GAAa9jC,EAAQ8jC,KAAYnvC,GAAU4P,EAAO5P,QAI3D2N,QAAQtC,QAAQnS,GAG/B,IAAIk2C,EACAC,EACAC,EACAC,EAAqB,CACrBjgC,OAAQ,IAAMgQ,EAAWhQ,SACzB6Q,YAAa,CAACvlB,KAASmhB,IAAWuD,EAAWa,YAAY5J,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,UAAWO,GAClG0E,UAAW,CAAC7lB,EAAMwhB,IAAYkD,EAAWmB,UAAU7lB,EAAMwhB,GACzD3D,iBAAkB,CAAC7d,EAAMokB,KACrB,MAAMxD,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OACpB,IAArBlgB,UAAU1E,OACV0oB,EAAW7G,iBAAiB+C,GAG5B8D,EAAW7G,iBAAiB+C,EAAQwD,IAG5Ca,eAAgB,CAACjlB,EAAMwhB,IAAYkD,EAAWO,eAAejlB,EAAMwhB,GACnE0D,WAAYR,EAAWQ,WACvBG,aAAcX,EAAWW,aACzBuvB,aAAepzB,GAAYizB,EAAoBjzB,EAC/CqzB,cAAgBrzB,GAAYkD,EAAWO,eAAeykB,EAAiCrW,wBAAwBrzB,KAAMwhB,GACrHszB,WAAatzB,GAAYgzB,EAAkBhzB,EAC3CuzB,OAASvzB,GAAYkzB,EAAclzB,EACnC,cAAgB,OAAOrM,GACvB,gBAAkB,OAAO2+B,GACzB,aAAe,OAAO/0B,GACtB,aAAe,OAAOg1B,GACtB,aAAe,OAAOG,GACtB,gBAAkB,OAAOF,GACzB,gBAAkB,OAAOG,GACzBa,yBAA2BxzB,GAAYkD,EAAWO,eAAeykB,EAAiCxW,mCAAmClzB,KAAMwhB,GAC3IyzB,wBAA0BzzB,GAAYkD,EAAWO,eAAeykB,EAAiCvX,kCAAkCnyB,KAAMwhB,GACzI0uB,wBAAoBpwC,EACpBqwC,sBAAwB3uB,GAAYkD,EAAWO,eAAeykB,EAAiC/W,gCAAgC3yB,KAAMwhB,GACrI8uB,wBAA0B9uB,GAAYkD,EAAWO,eAAeykB,EAAiCjX,kCAAkCzyB,KAAMwhB,GACzIgvB,uBAAyBhvB,GAAYkD,EAAWO,eAAeykB,EAAiClX,iCAAiCxyB,KAAMwhB,GACvIivB,uBAAyBjvB,GAAYkD,EAAWO,eAAeykB,EAAiCrX,iCAAiCryB,KAAMwhB,GACvImvB,gCAAkCnvB,GAAYkD,EAAWmB,UAAU6jB,EAAiCtX,qCAAqCpyB,KAAMwhB,GAC/IovB,sBAAwBpvB,GAAYkD,EAAWO,eAAeykB,EAAiCnX,gCAAgCvyB,KAAMwhB,GACrI0zB,gBAAkB/zB,GAAWuD,EAAW7G,iBAAiB6rB,EAAiC1X,+BAA+BhyB,KAAMmhB,GAC/Hg0B,QAAU3zB,GAAYkD,EAAWmB,UAAU6jB,EAAiC9X,aAAa5xB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFs1C,aAAe5zB,GAAYkD,EAAWmB,UAAU6jB,EAAiC5X,kBAAkB9xB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hk0B,oBAAsB7zB,GAAYkD,EAAWmB,UAAU6jB,EAAiC7X,yBAAyB7xB,KAAMwhB,GACvH8zB,gBAAkB9zB,GAAYkD,EAAWmB,UAAU6jB,EAAiChY,qBAAqB1xB,MAAM,CAACmhB,EAAQ5E,IAC7GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFy1C,cAAgB/zB,GAAYkD,EAAWmB,UAAU6jB,EAAiCxZ,mBAAmBlwB,MAAM,CAACmhB,EAAQ5E,IACzGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hq0B,aAAeh0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCjY,kBAAkBzxB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hs0B,iBAAmBj0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCrU,sBAAsBr1B,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hu0B,iBAAmBl0B,GAAYkD,EAAWmB,UAAU6jB,EAAiC5Y,sBAAsB9wB,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hw0B,aAAen0B,GAAYkD,EAAWmB,UAAU6jB,EAAiClY,kBAAkBxxB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hy0B,oBAAsBp0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCnY,yBAAyBvxB,MAAM,CAACmhB,EAAQ5E,IACrHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H00B,iBAAmBr0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCpY,sBAAsBtxB,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H20B,kBAAoBt0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCvY,uBAAuBnxB,MAAM,CAACmhB,EAAQ5E,IACjHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H40B,aAAev0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCrY,kBAAkBrxB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H60B,oBAAsBx0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCtY,yBAAyBpxB,MAAM,CAACmhB,EAAQ5E,IACrHiF,EAAQL,EAAQ5E,KAE3B05B,WAAaz0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCxY,gBAAgBlxB,MAAM,CAACmhB,EAAQ5E,IACnGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H+0B,kBAAoB10B,GAAYkD,EAAWmB,UAAU6jB,EAAiCzY,uBAAuBjxB,MAAM,CAACmhB,EAAQ5E,IACjHiF,EAAQL,EAAQ5E,KAE3B45B,qBAAuB30B,GAAYkD,EAAWmB,UAAU6jB,EAAiC7T,0BAA0B71B,MAAM,CAACmhB,EAAQ5E,IACvHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFs2C,0BAA4B50B,GAAYkD,EAAWmB,UAAU6jB,EAAiC9T,+BAA+B51B,MAAM,CAACmhB,EAAQ5E,IACjIiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFu2C,2BAA6B70B,GAAYkD,EAAWmB,UAAU6jB,EAAiC/T,gCAAgC31B,MAAM,CAACmhB,EAAQ5E,IACnIiF,EAAQL,EAAQ5E,KAE3B+5B,gBAAkB90B,GAAYkD,EAAWmB,UAAU6jB,EAAiCjU,cAAcz1B,MAAM,CAACmhB,EAAQ5E,IACtGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFy2C,gBAAkB/0B,GAAYkD,EAAWmB,UAAU6jB,EAAiClU,qBAAqBx1B,MAAM,CAACmhB,EAAQ5E,IAC7GiF,EAAQL,EAAQ5E,KAE3Bi6B,gBAAkBh1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC3Y,oBAAoB/wB,MAAM,CAACmhB,EAAQ5E,IAC5GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hs1B,sBAAwBj1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC5T,2BAA2B91B,MAAM,CAACmhB,EAAQ5E,IACzHiF,EAAQL,EAAQ5E,KAE3Bm6B,gBAAkBl1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC1Z,qBAAqBhwB,MAAM,CAACmhB,EAAQ5E,IAC7GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hw1B,oBAAsBn1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC3Z,yBAAyB/vB,MAAM,CAACmhB,EAAQ5E,IACrHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hy1B,gBAAkBp1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC9Y,oBAAoB5wB,MAAM,CAACmhB,EAAQ5E,IAC5GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H01B,kBAAoBr1B,GAAYkD,EAAWmB,UAAU6jB,EAAiCxU,sBAAsBl1B,MAAM,CAACmhB,EAAQ5E,IAChHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H21B,iBAAmBt1B,GAAYkD,EAAWmB,UAAU6jB,EAAiCnU,sBAAsBv1B,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFsc,QAAS,IAAMsI,EAAWtI,WAE9B,IAAK,IAAI26B,KAAU3C,EACf2C,EAAO5F,OAAOwD,GAwElB,OAtEAjwB,EAAWmB,UAAU6jB,EAAiCnW,kBAAkBvzB,MAAOmhB,IAC3EwnB,EAASC,WAAWznB,GAChBxF,EAAGpd,OAAO4iB,EAAO/B,SACjBL,EAAOK,MAAQsqB,EAAiCzwB,MAAMpa,WAAWsiB,EAAO/B,QAE5E,IAAK,IAAI23B,KAAU3C,EACf2C,EAAOnO,WAAWznB,EAAO+qB,cAE7B,GAAIuI,EAEA,OAAOJ,EADMI,EAAkBtzB,GAAQ,IAAIuoB,EAAiCjwB,yBAA0BuI,MAAO+sB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,IACnI6W,MAAMrY,IAC3B,GAAIA,aAAiBorC,EAAiClvB,cAClD,OAAOlc,EAEX,IAAI0iB,EAAS1iB,EACR0iB,IACDA,EAAS,CAAEkrB,aAAc,KAE7B,IAAIA,EAAelrB,EAAOkrB,aACrBA,IACDA,EAAe,GACflrB,EAAOkrB,aAAeA,QAEYpsC,IAAlCosC,EAAa8K,kBAAoE,OAAlC9K,EAAa8K,iBAC5D9K,EAAa8K,iBAAmBr7B,EAAG0H,OAAOsxB,EAAmBzE,oBAAsByE,EAAmBzE,mBAAqBxG,EAAiC9W,qBAAqBhX,KAE3KD,EAAG0H,OAAO6oB,EAAa8K,mBAAsBr7B,EAAG0H,OAAO6oB,EAAa8K,iBAAiBtY,UAC3FwN,EAAa8K,iBAAiBtY,OAAS/iB,EAAG0H,OAAOsxB,EAAmBzE,oBAAsByE,EAAmBzE,mBAAqBxG,EAAiC9W,qBAAqBhX,MAE5L,IAAK,IAAIm7B,KAAU3C,EACf2C,EAAO3F,uBAAuBlF,GAElC,OAAOlrB,KAGV,CACD,IAAIA,EAAS,CAAEkrB,aAAc,CAAE8K,iBAAkBtN,EAAiC9W,qBAAqBhX,OACvG,IAAK,IAAIm7B,KAAU3C,EACf2C,EAAO3F,uBAAuBpwB,EAAOkrB,cAEzC,OAAOlrB,MAGf0D,EAAWmB,UAAU6jB,EAAiCtW,gBAAgBpzB,MAAM,KACxE2oC,EAASsO,kBAAmB,EACxBzC,EACOA,GAAgB,IAAI9K,EAAiCjwB,yBAA0BuI,YAGtF,KAGR0C,EAAWO,eAAeykB,EAAiCvW,iBAAiBnzB,MAAM,KAC9E,IACQ00C,GACAA,IAGR,QACQ/L,EAASsO,iBACTtO,EAASG,KAAK,GAGdH,EAASG,KAAK,OAI1BpkB,EAAWO,eAAeykB,EAAiC3wB,qBAAqB/Y,MAAOmhB,IACnFpC,EAAOK,MAAQsqB,EAAiCzwB,MAAMpa,WAAWsiB,EAAO7iB,UAErEq2C,I,4BCzzBX72C,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ02C,yBAAsB,EAC9B,MAAM7H,EAAmC,EAAQ,KAQjD7uC,EAAQ02C,oBAPqBvkC,GAClB,cAAcA,EACjBkqC,aAAa/1B,GACT,OAAOngB,KAAK0jB,WAAWa,YAAYmkB,EAAiCrV,oBAAoBr0B,KAAMmhB,M,yBCA1G,SAAS5iB,EAAOD,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiB6D,OAWzD,SAAS4a,EAAKze,GACV,MAAwB,mBAAVA,EAGlB,SAASiC,EAAMjC,GACX,OAAO5B,MAAMuD,QAAQ3B,GAvBzBR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQy5C,SAAWz5C,EAAQw+B,WAAax+B,EAAQitB,YAAcjtB,EAAQ0F,MAAQ1F,EAAQkiB,KAAOliB,EAAQuK,MAAQvK,EAAQwoB,OAASxoB,EAAQ0D,OAAS1D,EAAQohB,aAAU,EAIjKphB,EAAQohB,QAHR,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7BzD,EAAQ0D,OAASA,EAIjB1D,EAAQwoB,OAHR,SAAgB/kB,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiBqE,QAMzD9H,EAAQuK,MAHR,SAAe9G,GACX,OAAOA,aAAiB1B,OAM5B/B,EAAQkiB,KAAOA,EAIfliB,EAAQ0F,MAAQA,EAIhB1F,EAAQitB,YAHR,SAAqBxpB,GACjB,OAAOiC,EAAMjC,IAAUA,EAAMypB,OAAMC,GAAQzpB,EAAOypB,MAMtDntB,EAAQw+B,WAHR,SAAoB/6B,EAAOg7B,GACvB,OAAO58B,MAAMuD,QAAQ3B,IAAUA,EAAMypB,MAAMuR,IAM/Cz+B,EAAQy5C,SAHR,SAAkBh2C,GACd,OAAOA,GAASye,EAAKze,EAAMqY,Q,0BCnC/B7Y,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQyxC,aAAezxC,EAAQ8X,MAAQ9X,EAAQs8C,OAASt8C,EAAQu8C,GAAKv8C,EAAQw8C,WAAQ,EACrF,MAAMC,EACFrqC,YAAY6Y,GACR9kB,KAAK8kB,OAASA,EAGlByxB,QACI,OAAOv2C,KAAK8kB,OAEhBtf,OAAOgxC,GACH,OAAOx2C,KAAKu2C,UAAYC,EAAMD,SAGtC,MAAME,UAAeH,EACjBrqC,cACIC,MAAM,CACFuqC,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACAD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACA,IACAD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACAD,EAAOE,OAAOF,EAAOG,eACrBH,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACAD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,cACTl7C,KAAK,KAEX,cAAc+D,GACV,OAAOA,EAAMuD,KAAK+J,MAAMtN,EAAMvE,OAAS8H,KAAK+zC,WAEhD,oBACI,OAAOJ,EAAOE,OAAOF,EAAOK,SASpC,SAASV,IACL,OAAO,IAAIK,EAPfA,EAAOK,OAAS,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjGL,EAAOG,cAAgB,CAAC,IAAK,IAAK,IAAK,KAIvC/8C,EAAQw8C,MAAQ,IAAIC,EAAU,wCAI9Bz8C,EAAQu8C,GAAKA,EACb,MAAMW,EAAe,kEACrB,SAASZ,EAAO74C,GACZ,OAAOy5C,EAAaC,KAAK15C,GAE7BzD,EAAQs8C,OAASA,EAWjBt8C,EAAQ8X,MANR,SAAerU,GACX,IAAK64C,EAAO74C,GACR,MAAM,IAAI1B,MAAM,gBAEpB,OAAO,IAAI06C,EAAUh5C,IAMzBzD,EAAQyxC,aAHR,WACI,OAAO8K,IAAKG,U,4BCzFhBz5C,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQw4C,6BAA0B,EAClC,MAAM3J,EAAmC,EAAQ,KA0BjD7uC,EAAQw4C,wBAzByBrmC,GACtB,cAAcA,EACjB47B,WAAWsD,GACP,IAAI+L,EAAwB/L,EAAa8H,UACrCiE,GAAyBA,EAAsBC,mBAC/Cl3C,KAAKm3C,6BAA+B,IAAIzO,EAAiCv1B,QACzEnT,KAAK0jB,WAAWO,eAAeykB,EAAiCvU,sCAAsCn1B,MAAOmhB,IACzGngB,KAAKm3C,6BAA6B7jC,KAAK6M,EAAO9M,WAI1D+jC,sBACI,OAAOp3C,KAAK0jB,WAAWa,YAAYmkB,EAAiCtU,wBAAwBp1B,MAEhG,kCACI,IAAKgB,KAAKm3C,6BACN,MAAM,IAAIv7C,MAAM,kEAKpB,OAHKoE,KAAKq3C,kBACNr3C,KAAKq3C,gBAAkBr3C,KAAK0jB,WAAWqvB,OAAOrB,SAAShJ,EAAiCvU,sCAAsCn1B,OAE3HgB,KAAKm3C,6BAA6B9jC,S,2EC5BrD,MAAMikC,EAAI,EAAQ,MACZC,EAAW,EAAAC,EAAO/2B,KAExB,MAAMA,UAAa82B,EACjBtrC,YAAa3O,GACX4O,MAAM5O,GACN0C,KAAKy3C,QAAS,EAEhBC,cACE,MAAO,GAAG13C,KAAK23C,oBAAoBL,EAAE,EAAGt3C,KAAK43C,cAAgB,MAAMN,EAAE,EAAGt3C,KAAK63C,iBAIjF/lC,EAAOjY,QAAUyD,IACf,MAAMw6C,EAAO,IAAIr3B,EAAKnjB,GAEtB,GAAIqR,MAAMmpC,GACR,MAAM,IAAI36C,UAAU,oBAEpB,OAAO26C,I,4BCnBX,MAAMR,EAAI,EAAQ,MAElB,MAAMS,UAAyBt3B,KAC7BxU,YAAa3O,GACX4O,MAAM5O,EAAQ,KACd0C,KAAKg4C,YAAa,EAEpBN,cAGE,MAAO,GAFS13C,KAAK23C,oBAAoBL,EAAE,EAAGt3C,KAAK43C,cAAgB,MAAMN,EAAE,EAAGt3C,KAAK63C,iBACnEP,EAAE,EAAGt3C,KAAKi4C,kBAAkBX,EAAE,EAAGt3C,KAAKk4C,oBAAoBZ,EAAE,EAAGt3C,KAAKm4C,oBAAoBb,EAAE,EAAGt3C,KAAKo4C,yBAKtHtmC,EAAOjY,QAAUyD,IACf,MAAMw6C,EAAO,IAAIC,EAAiBz6C,GAElC,GAAIqR,MAAMmpC,GACR,MAAM,IAAI36C,UAAU,oBAEpB,OAAO26C,I,qBCpBXhmC,EAAOjY,QAAUyD,IACf,MAAMw6C,EAAO,IAAIr3B,KAAKnjB,GAEtB,GAAIqR,MAAMmpC,GACR,MAAM,IAAI36C,UAAU,oBAEpB,OAAO26C,I,4BCNX,MAAMR,EAAI,EAAQ,MAElB,MAAMe,UAAa53B,KACjBxU,YAAa3O,GACX4O,MAAM,cAAc5O,MACpB0C,KAAKs4C,QAAS,EAEhBZ,cACE,MAAO,GAAGJ,EAAE,EAAGt3C,KAAKi4C,kBAAkBX,EAAE,EAAGt3C,KAAKk4C,oBAAoBZ,EAAE,EAAGt3C,KAAKm4C,oBAAoBb,EAAE,EAAGt3C,KAAKo4C,yBAIhHtmC,EAAOjY,QAAUyD,IACf,MAAMw6C,EAAO,IAAIO,EAAK/6C,GAEtB,GAAIqR,MAAMmpC,GACR,MAAM,IAAI36C,UAAU,oBAEpB,OAAO26C,I,sBClBXhmC,EAAOjY,QAAU,CAAC0U,EAAGvS,KAEnB,IADAA,EAAMmF,OAAOnF,GACNA,EAAIhB,OAASuT,GAAGvS,EAAM,IAAMA,EACnC,OAAOA,I,sBCHT,MAAMu8C,EAAY,QAClB,MAAMC,UAAoB58C,MAExBqQ,YAAae,EAAKyrC,EAAUC,GAC1BxsC,MAAM,iBAAmBc,EAAKyrC,EAAUC,GACxC14C,KAAKqM,KAAO,cACZrM,KAAKrE,KAAO,cACRC,MAAM+8C,mBAAmB/8C,MAAM+8C,kBAAkB34C,KAAMw4C,IAG/D,MAAMI,EACJ3sC,YAAa4sC,GACX74C,KAAK64C,OAASA,EACd74C,KAAKnD,IAAM,GACXmD,KAAK84C,SAAW,KAChB94C,KAAKggB,OAAS,KACdhgB,KAAK+4C,YAAc,KACnB/4C,KAAKg5C,UAAY,MAGrB,MAAMC,EACJhtC,cACEjM,KAAKkF,IAAM,EACXlF,KAAKk5C,IAAM,EACXl5C,KAAKk6B,KAAO,EACZl6B,KAAKrB,IAAM,GACXqB,KAAKm5C,IAAMn5C,KAAKrB,IAChBqB,KAAKsM,MAAQ,GACbtM,KAAKo5C,KAAO,GACZp5C,KAAKksC,KAAO,KACZlsC,KAAKq5C,GAAK,EACVr5C,KAAKse,MAAQ,IAAIs6B,EAAM54C,KAAKs5C,YAG9B3nC,MAAOvP,GAEL,GAAmB,IAAfA,EAAIpH,QAA8B,MAAdoH,EAAIpH,OAAgB,OAK5C,IAAIu+C,EACJ,IAJAv5C,KAAKo5C,KAAOj4C,OAAOiB,GACnBpC,KAAKq5C,IAAM,EACXr5C,KAAKksC,MAAQ,GAEM,IAAZqN,GAAqBv5C,KAAKw5C,YAC/BD,EAAUv5C,KAAKy5C,SAEjBz5C,KAAKo5C,KAAO,KAEdI,WASE,OARkB,KAAdx5C,KAAKksC,SACLlsC,KAAKk6B,KACPl6B,KAAKk5C,KAAO,KAEZl5C,KAAKq5C,GACPr5C,KAAKksC,KAAOlsC,KAAKo5C,KAAKM,YAAY15C,KAAKq5C,MACrCr5C,KAAKkF,MACLlF,KAAKk5C,IACAl5C,KAAK25C,aAEdA,aACE,OAAO35C,KAAKq5C,GAAKr5C,KAAKo5C,KAAKp+C,OAE7By+C,SACE,OAAOz5C,KAAKse,MAAMu6B,OAAO/3C,KAAKd,KAAMA,KAAKse,MAAMw6B,UAEjDc,SAEE,IAAIlxC,EADJ1I,KAAKksC,KAAOqM,EAEZ,GACE7vC,EAAO1I,KAAKse,MAAMu6B,OAClB74C,KAAKy5C,eACEz5C,KAAKse,MAAMu6B,SAAWnwC,GAM/B,OAJA1I,KAAKm5C,IAAM,KACXn5C,KAAKse,MAAQ,KACbte,KAAKo5C,KAAO,KAELp5C,KAAKrB,IAEdspB,KAAMna,GAEJ,GAAkB,mBAAPA,EAAmB,MAAM,IAAI0qC,EAAY,6CAA+CxpC,KAAKC,UAAUnB,IAClH9N,KAAKse,MAAMu6B,OAAS/qC,EAEtB+rC,KAAM/rC,GAEJ,OADA9N,KAAKioB,KAAKna,GACH9N,KAAKy5C,SAEd34C,KAAMgN,EAAIgsC,GACJA,GAAY95C,KAAKioB,KAAK6xB,GAC1B95C,KAAKsM,MAAMjR,KAAK2E,KAAKse,OACrBte,KAAKse,MAAQ,IAAIs6B,EAAM9qC,GAEzBisC,QAASjsC,EAAIgsC,GAEX,OADA95C,KAAKc,KAAKgN,EAAIgsC,GACP95C,KAAKy5C,SAEdO,OAAQ18C,GAEN,GAA0B,IAAtB0C,KAAKsM,MAAMtR,OAAc,MAAMgF,KAAKoE,MAAM,IAAIo0C,EAAY,yBAChD15C,IAAVxB,IAAqBA,EAAQ0C,KAAKse,MAAMzhB,KAC5CmD,KAAKse,MAAQte,KAAKsM,MAAM2tC,MACxBj6C,KAAKse,MAAMw6B,SAAWx7C,EAExB48C,UAAW58C,GAET,OADA0C,KAAKg6C,OAAO18C,GACL0C,KAAKy5C,SAEdU,UAEE,GAAIn6C,KAAKksC,OAASqM,EAAW,MAAMv4C,KAAKoE,MAAM,IAAIo0C,EAAY,6BAC9Dx4C,KAAKse,MAAMzhB,KAAOmD,KAAKo5C,KAAKp5C,KAAKq5C,IAEnCj1C,MAAO0pB,GAIL,OAHAA,EAAIoM,KAAOl6B,KAAKk6B,KAChBpM,EAAIorB,IAAMl5C,KAAKk5C,IACfprB,EAAI5oB,IAAMlF,KAAKkF,IACR4oB,EAGTwrB,aACE,MAAM,IAAId,EAAY,qCAG1BS,EAAOmB,IAAM7B,EACbU,EAAOr9C,MAAQ48C,EACf1mC,EAAOjY,QAAUo/C,G,0EC5HjBnnC,OAAOjY,QAAUwgD,gBAAgB,oBAAQ,OACzCvoC,OAAOjY,QAAQwgD,gBAAkBA,gBAEjC,MAAMC,kBAAkB1+C,MACtBqQ,YAAae,GACXd,MAAMc,GACNhN,KAAKqM,KAAO,YAERzQ,MAAM+8C,mBAAmB/8C,MAAM+8C,kBAAkB34C,KAAMs6C,WAC3Dt6C,KAAKu6C,UAAW,EAChBv6C,KAAKw6C,QAAU,MAGnBF,UAAUG,KAAO3sB,IACf,MAAM4sB,EAAO,IAAIJ,UAAUxsB,EAAIvhB,SAG/B,OAFAmuC,EAAK/+C,KAAOmyB,EAAInyB,KAChB++C,EAAKF,QAAU1sB,EACR4sB,GAET5oC,OAAOjY,QAAQygD,UAAYA,UAE3B,MAAMK,eAAiB,oBAAQ,KACzBC,oBAAsB,oBAAQ,MAC9BC,WAAa,oBAAQ,MACrBC,WAAa,oBAAQ,MAErBC,OAAS,EACTC,OAAS,GACTC,OAAS,GACTC,mBAAqB,GACrBC,QAAU,GACVC,UAAY,GACZC,SAAW,GACXC,UAAY,GACZC,UAAY,GACZC,WAAa,GACbC,YAAc,GACdC,YAAc,GACdC,OAAS,GACTC,OAAS,GACTC,OAAS,GACTC,OAAS,GACTC,WAAa,GACbC,YAAc,GACdC,OAAS,GACTC,OAAS,GACTC,OAAS,GACTC,OAAS,GACTC,OAAS,GACTC,OAAS,GACTC,YAAc,GACdC,OAAS,GACTC,OAAS,GACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,OAAS,IACTC,UAAY,IACZC,UAAY,IACZC,UAAY,GACZC,UAAY,GACZC,UAAY,GACZC,SAAW,IACXC,gBAAkB,MAClBC,eAAiB,MAEjBC,QAAU,CACd,CAACrB,QAAS,KACV,CAACS,QAAS,KACV,CAACJ,QAAS,KACV,CAACH,QAAS,KACV,CAACK,QAAS,KACV,CAAC5B,WAAY,IACb,CAACqC,WAAY,MAGf,SAASM,QAASC,GAChB,OAAOA,GAAMrC,QAAUqC,GAAMlC,OAE/B,SAASmC,QAASD,GAChB,OAAQA,GAAM/B,QAAU+B,GAAM7B,QAAY6B,GAAMxB,QAAUwB,GAAMrB,QAAYqB,GAAMrC,QAAUqC,GAAMlC,OAEpG,SAASoC,MAAOF,GACd,OAAOA,IAAOpC,QAAUoC,IAAOrC,OAEjC,SAASwC,QAASH,GAChB,OAAQA,GAAMrC,QAAUqC,GAAMnC,OAEhC,SAASuC,sBAAuBJ,GAC9B,OAAQA,GAAM/B,QAAU+B,GAAM1B,QACtB0B,GAAMxB,QAAUwB,GAAMX,QACtBW,GAAMrC,QAAUqC,GAAMlC,QACvBkC,IAAO1C,WACP0C,IAAO5C,WACP4C,IAAOzB,aACPyB,IAAOvC,YAEhB,SAAS4C,iBAAkBL,GACzB,OAAQA,GAAM/B,QAAU+B,GAAM1B,QACtB0B,GAAMxB,QAAUwB,GAAMX,QACtBW,GAAMrC,QAAUqC,GAAMlC,QACvBkC,IAAOzB,aACPyB,IAAOvC,YAEhB,MAAMt3B,MAAQ9nB,OAAO,QACfiiD,UAAYjiD,OAAO,YAEnBoW,eAAiB3V,OAAOE,UAAUyV,eAClCpO,eAAiBvH,OAAOuH,eACxBk6C,WAAa,CAACnyC,cAAc,EAAM9H,YAAY,EAAM6H,UAAU,EAAM7O,WAAOwB,GAEjF,SAAS0/C,OAAQ7/C,EAAKqjB,GACpB,QAAIvP,eAAe3R,KAAKnC,EAAKqjB,KACjB,cAARA,GAAqB3d,eAAe1F,EAAK,YAAa4/C,aACnD,GAGT,MAAME,aAAepiD,OAAO,gBAC5B,SAASqiD,cACP,OAAO5hD,OAAO6hD,iBAAiB,GAAI,CACjC,CAACx6B,OAAQ,CAAC7mB,MAAOmhD,gBAGrB,SAASG,cAAejgD,GACtB,OAAY,OAARA,GAAiC,iBAAV,GACpBA,EAAIwlB,SAAWs6B,aAGxB,MAAMI,MAAQxiD,OAAO,SACrB,SAASyiD,QACP,OAAOhiD,OAAO6hD,iBAAiB,GAAI,CACjC,CAACx6B,OAAQ,CAAC7mB,MAAOuhD,OACjB,CAACP,WAAY,CAAChhD,OAAO,EAAO6O,UAAU,KAG1C,SAAS4yC,QAASpgD,GAChB,OAAY,OAARA,GAAiC,iBAAV,GACpBA,EAAIwlB,SAAW06B,MAGxB,MAAMG,aAAe3iD,OAAO,gBACtB4iD,YAAc5iD,OAAO,eAC3B,SAAS6iD,WAAYlgD,GACnB,OAAOlC,OAAO6hD,iBAAiB,GAAI,CACjC,CAACx6B,OAAQ,CAAC7mB,MAAO2hD,aACjB,CAACD,cAAe,CAAC1hD,MAAO0B,KAG5B,SAASmgD,aAAcxgD,GACrB,OAAY,OAARA,GAAiC,iBAAV,GACpBA,EAAIwlB,SAAW86B,YAGxB,MAAMG,KAAO/iD,OAAO,QACpB,SAASgjD,OACP,OAAOviD,OAAO6hD,iBAAiB,GAAI,CACjC,CAACx6B,OAAQ,CAAC7mB,MAAO8hD,QAGrB,SAASE,OAAQ3gD,GACf,OAAY,OAARA,GAAiC,iBAAV,GACpBA,EAAIwlB,SAAWi7B,KAIxB,IAAIG,QACJ,IACE,MAAMC,YAAcC,KAAK,2BACzBF,QAAUC,YAAYE,OACtB,MAAOjjC,IAIT,MAAMkjC,SAAWJ,SAAW,UAE5B,MAAMK,YACJ3zC,YAAa3O,GACX,IACE0C,KAAK1C,MAAQ,oBAAAk6C,EAAOzwC,OAAO84C,OAAO,GAAIviD,GACtC,MAAOmf,GAEPzc,KAAK1C,MAAQ,KAEfR,OAAOuH,eAAerE,KAAMmkB,MAAO,CAAC7mB,MAAOwiD,UAE7CnxC,QACE,OAAsB,OAAf3O,KAAK1C,MAGdkC,WACE,OAAO2B,OAAOnB,KAAK1C,OAGrB,CAACqiD,YACC,MAAO,YAAY3/C,KAAKR,eAE1Bf,UACE,OAAOuB,KAAK1C,OAIhB,MAAMwiD,QAAUzjD,OAAO,WACvB,SAAS0jD,QAASziD,GAChB,IAAItB,EAAM2F,OAAOrE,GAIjB,OAFIR,OAAOyX,GAAGvY,GAAM,KAAIA,EAAM,GAE1B,oBAAAw7C,EAAOzwC,SAAWpF,OAAOq+C,cAAchkD,GAClC,IAAI4jD,YAAYtiD,GAGhBR,OAAO6hD,iBAAiB,IAAIh9C,OAAO3F,GAAM,CAC9C2S,MAAO,CAACrR,MAAO,WAAc,OAAOqR,MAAM3O,QAC1C,CAACmkB,OAAQ,CAAC7mB,MAAOwiD,SACjB,CAACH,UAAW,CAACriD,MAAO,IAAM,aAAaA,QAI7C,SAAS4P,UAAWvO,GAClB,OAAY,OAARA,GAAiC,iBAAV,GACpBA,EAAIwlB,SAAW27B,QAGxB,MAAMG,MAAQ5jD,OAAO,SACrB,SAAS6jD,MAAO5iD,GAEd,OAAOR,OAAO6hD,iBAAiB,IAAIh9C,OAAOrE,GAAQ,CAChD,CAAC6mB,OAAQ,CAAC7mB,MAAO2iD,OACjB,CAACN,UAAW,CAACriD,MAAO,IAAM,WAAWA,QAGzC,SAAS6iD,QAASxhD,GAChB,OAAY,OAARA,GAAiC,iBAAV,GACpBA,EAAIwlB,SAAW87B,MAGxB,SAASG,SAAU9iD,GACjB,MAAM0B,SAAc1B,EACpB,GAAa,WAAT0B,EAAmB,CAErB,GAAc,OAAV1B,EAAgB,MAAO,OAC3B,GAAIA,aAAiBmjB,KAAM,MAAO,WAElC,GAAI0D,SAAS7mB,EACX,OAAQA,EAAM6mB,QACZ,KAAKs6B,aAAc,MAAO,eAC1B,KAAKQ,YAAa,MAAO,cAEzB,KAAKJ,MAAO,MAAO,QAEnB,KAAKO,KAAM,MAAO,OAClB,KAAKa,MAAO,MAAO,QACnB,KAAKH,QAAS,MAAO,WAI3B,OAAO9gD,EAGT,SAASq7C,gBAAiBpB,GAolCxB,OAnlCA,cAAyBA,EACvBhtC,cACEC,QACAlM,KAAKm5C,IAAMn5C,KAAKrB,IAAMmgD,QAIxBuB,cACE,OAAOrgD,KAAKksC,OAASmP,UAAYr7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAASiP,SAAWn7C,KAAKsgD,cAEzFA,cACE,OAAOtgD,KAAKksC,OAAS+M,EAAOmB,KAAOp6C,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAAS+O,OAG3E3B,aACE,GAAIt5C,KAAKksC,OAAS+M,EAAOmB,IACvB,OAAO,KACF,GAAIp6C,KAAKksC,OAASsR,UACvB,OAAOx9C,KAAKc,KAAKd,KAAKugD,kBACjB,GAAIvgD,KAAKksC,OAASmP,SACvB,OAAOr7C,KAAKc,KAAKd,KAAKwgD,cACjB,GAAIxgD,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS+O,OAChG,OAAO,KACF,GAAImD,sBAAsBp+C,KAAKksC,MACpC,OAAOlsC,KAAK+5C,QAAQ/5C,KAAKygD,sBAEzB,MAAMzgD,KAAKoE,MAAM,IAAIk2C,UAAU,sBAAsBt6C,KAAKksC,UAM9DwU,uBACE,GAAI1gD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS+O,OACjE,OAAO,KACF,GAAIj7C,KAAKksC,OAASmP,SACvB,OAAOr7C,KAAK65C,KAAK75C,KAAKwgD,cACjB,GAAIxgD,KAAKksC,OAAS+M,EAAOmB,KAAOp6C,KAAKksC,OAAS8O,OACnD,OAAOh7C,KAAKg6C,SAEZ,MAAMh6C,KAAKoE,MAAM,IAAIk2C,UAAU,gFAKnCmG,uBACE,OAAOzgD,KAAK+5C,QAAQ/5C,KAAK2gD,YAAa3gD,KAAK4gD,uBAE7CA,sBAAuBC,GACrB,IAAIh7C,EAAS7F,KAAKm5C,IACd2H,EAAWD,EAAG7+B,IAAIi4B,MACtB,IAAK,IAAI8G,KAAMF,EAAG7+B,IAAK,CACrB,GAAIw8B,OAAO34C,EAAQk7C,MAAShC,QAAQl5C,EAAOk7C,KAAQl7C,EAAOk7C,GAAIzC,YAC5D,MAAMt+C,KAAKoE,MAAM,IAAIk2C,UAAU,gCAEjCz0C,EAASA,EAAOk7C,GAAMl7C,EAAOk7C,IAAOjC,QAEtC,GAAIN,OAAO34C,EAAQi7C,GACjB,MAAM9gD,KAAKoE,MAAM,IAAIk2C,UAAU,gCAQjC,OALIptC,UAAU2zC,EAAGvjD,QAAU6iD,QAAQU,EAAGvjD,OACpCuI,EAAOi7C,GAAYD,EAAGvjD,MAAMmB,UAE5BoH,EAAOi7C,GAAYD,EAAGvjD,MAEjB0C,KAAK65C,KAAK75C,KAAK0gD,sBAIxBC,cACE,OAAO3gD,KAAK+5C,QAAQ/5C,KAAKghD,aAAchhD,KAAKihD,qBAE9CA,oBAAqBj/B,GAMnB,OALIhiB,KAAKse,MAAMy6B,YACb/4C,KAAKse,MAAMy6B,YAAY19C,KAAK2mB,GAE5BhiB,KAAKse,MAAMy6B,YAAc,CAAC/2B,GAErBhiB,KAAK65C,KAAK75C,KAAKkhD,0BAExBA,2BACE,OAAIlhD,KAAKksC,OAASwP,YACT17C,KAAKioB,KAAKjoB,KAAKmhD,2BACbnhD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC/6C,KAAK65C,KAAK75C,KAAKohD,uBADjB,EAITD,4BACE,GAAInhD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC,OAAO/6C,KAAK+5C,QAAQ/5C,KAAKghD,aAAchhD,KAAKihD,qBAIhDG,mBACE,GAAIphD,KAAKksC,OAAS8P,YAChB,OAAOh8C,KAAKioB,KAAKjoB,KAAKqhD,qBAEtB,MAAMrhD,KAAKoE,MAAM,IAAIk2C,UAAU,oCAGnC+G,sBACE,OAAIrhD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OAClC,KAEA/6C,KAAK+5C,QAAQ/5C,KAAKshD,WAAYthD,KAAKuhD,mBAG9CA,kBAAmBjkD,GACjB,OAAO0C,KAAKk6C,UAAU,CAACl4B,IAAKhiB,KAAKse,MAAMy6B,YAAaz7C,MAAOA,IAI7DkjD,eACE,GACE,GAAIxgD,KAAKksC,OAAS+M,EAAOmB,KAAOp6C,KAAKksC,OAAS8O,OAC5C,OAAOh7C,KAAKg6C,eAEPh6C,KAAKw5C,YAIhB+G,mBACE,GAAIvgD,KAAKksC,OAASsR,UAGhB,OAAOx9C,KAAK65C,KAAK75C,KAAKwhD,YAFtBxhD,KAAKioB,KAAKjoB,KAAKyhD,WAOnBD,aAEE,OADAxhD,KAAKm5C,IAAMn5C,KAAKrB,IACTqB,KAAK65C,KAAK75C,KAAK0hD,gBAExBA,iBACE,OAAI1hD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OAClC,KAEA/6C,KAAK+5C,QAAQ/5C,KAAKghD,aAAchhD,KAAK2hD,gBAGhDA,eAAgBC,GACd,GAAI5hD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC,OAAO,KACF,GAAI/6C,KAAKksC,OAASwR,UAAW,CAClC,GAAIc,OAAOx+C,KAAKm5C,IAAKyI,MAAc7C,QAAQ/+C,KAAKm5C,IAAIyI,KAAa5hD,KAAKm5C,IAAIyI,GAAStD,YACjF,MAAMt+C,KAAKoE,MAAM,IAAIk2C,UAAU,gCAKjC,OAHEt6C,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,GAAW5hD,KAAKm5C,IAAIyI,IAAY9C,QACpD9+C,KAAKm5C,IAAImF,YAAa,EAEjBt+C,KAAKioB,KAAKjoB,KAAK0gD,sBACjB,GAAI1gD,KAAKksC,OAASwP,YAAa,CACpC,GAAK8C,OAAOx+C,KAAKm5C,IAAKyI,GAEf,GAAI7C,QAAQ/+C,KAAKm5C,IAAIyI,IAC1B5hD,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,OACf,KAAItC,OAAOt/C,KAAKm5C,IAAIyI,IAGzB,MAAM5hD,KAAKoE,MAAM,IAAIk2C,UAAU,gCAF/Bt6C,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,GAAS5hD,KAAKm5C,IAAIyI,GAAS5mD,OAAS,QAJxDgF,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,GAAW9C,QAQjC,OAAO9+C,KAAKioB,KAAKjoB,KAAK0hD,gBAEtB,MAAM1hD,KAAKoE,MAAM,IAAIk2C,UAAU,sDAKnCmH,YAEE,OADAzhD,KAAKm5C,IAAMn5C,KAAKrB,IACTqB,KAAK65C,KAAK75C,KAAK6hD,eAExBA,gBACE,OAAI7hD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OAClC,KAEA/6C,KAAK+5C,QAAQ/5C,KAAKghD,aAAchhD,KAAK8hD,eAGhDA,cAAeF,GACb,GAAI5hD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC,OAAO,KACF,GAAI/6C,KAAKksC,OAASwR,UAAW,CAIlC,GAHKc,OAAOx+C,KAAKm5C,IAAKyI,KACpB5hD,KAAKm5C,IAAIyI,GAAWvC,QAElBF,aAAan/C,KAAKm5C,IAAIyI,IACxB,MAAM5hD,KAAKoE,MAAM,IAAIk2C,UAAU,iCAC1B,IAAIgF,OAAOt/C,KAAKm5C,IAAIyI,IAKzB,MAAM5hD,KAAKoE,MAAM,IAAIk2C,UAAU,mCALK,CACpC,MAAMryB,EAAO62B,QACb9+C,KAAKm5C,IAAIyI,GAASvmD,KAAK4sB,GACvBjoB,KAAKm5C,IAAMlxB,EAIb,OAAOjoB,KAAKioB,KAAKjoB,KAAK+hD,cACjB,GAAI/hD,KAAKksC,OAASwP,YAAa,CACpC,GAAK8C,OAAOx+C,KAAKm5C,IAAKyI,GAEf,IAAIzC,aAAan/C,KAAKm5C,IAAIyI,IAC/B,MAAM5hD,KAAKoE,MAAM,IAAIk2C,UAAU,iCAC1B,GAAIsE,cAAc5+C,KAAKm5C,IAAIyI,IAChC,MAAM5hD,KAAKoE,MAAM,IAAIk2C,UAAU,iCAC1B,GAAIgF,OAAOt/C,KAAKm5C,IAAIyI,IACzB5hD,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,GAAS5hD,KAAKm5C,IAAIyI,GAAS5mD,OAAS,OACnD,KAAI+jD,QAAQ/+C,KAAKm5C,IAAIyI,IAG1B,MAAM5hD,KAAKoE,MAAM,IAAIk2C,UAAU,mCAF/Bt6C,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,SARpB5hD,KAAKm5C,IAAMn5C,KAAKm5C,IAAIyI,GAAW9C,QAYjC,OAAO9+C,KAAKioB,KAAKjoB,KAAK6hD,eAEtB,MAAM7hD,KAAKoE,MAAM,IAAIk2C,UAAU,sDAGnCyH,aAAcH,GACZ,GAAI5hD,KAAKksC,OAASwR,UAChB,OAAO19C,KAAKioB,KAAKjoB,KAAK0gD,sBAEtB,MAAM1gD,KAAKoE,MAAM,IAAIk2C,UAAU,sDAKnCgH,aACE,GAAIthD,KAAKksC,OAAS+M,EAAOmB,IACvB,MAAMp6C,KAAKoE,MAAM,IAAIk2C,UAAU,sBAC1B,GAAIt6C,KAAKksC,OAASkP,UACvB,OAAOp7C,KAAKioB,KAAKjoB,KAAKgiD,mBACtB,GAAIhiD,KAAKksC,OAASoP,UAClB,OAAOt7C,KAAKioB,KAAKjoB,KAAKiiD,mBACjB,GAAIjiD,KAAKksC,OAASuP,aAAez7C,KAAKksC,OAASqP,UACpD,OAAOv7C,KAAK65C,KAAK75C,KAAKkiD,iBACjB,GAAIliD,KAAKksC,OAAS0Q,OACvB,OAAO58C,KAAKioB,KAAKjoB,KAAKmiD,UACjB,GAAIniD,KAAKksC,OAAS4Q,OACvB,OAAO98C,KAAKioB,KAAKjoB,KAAKoiD,UACjB,GAAIrE,QAAQ/9C,KAAKksC,MACtB,OAAOlsC,KAAK65C,KAAK75C,KAAKqiD,uBACjB,GAAIriD,KAAKksC,OAASgR,QAAUl9C,KAAKksC,OAASyQ,OAC/C,OAAO38C,KAAK65C,KAAK75C,KAAKsiD,cACjB,GAAItiD,KAAKksC,OAASsR,UACvB,OAAOx9C,KAAKc,KAAKd,KAAKuiD,gBAAiBviD,KAAKwiD,aACvC,GAAIxiD,KAAKksC,OAASoR,UACvB,OAAOt9C,KAAKc,KAAKd,KAAKyiD,iBAAkBziD,KAAKwiD,aAE7C,MAAMxiD,KAAKoE,MAAM,IAAIk2C,UAAU,oGAGnCkI,YAAallD,GACX,OAAO0C,KAAKk6C,UAAU58C,GAGxB6kD,WACE,GAAIniD,KAAKksC,OAAS4Q,OAChB,OAAO98C,KAAKioB,KAAKjoB,KAAK0iD,WAEtB,MAAM1iD,KAAKoE,MAAM,IAAIk2C,UAAU,2DAGnCoI,YACE,GAAI1iD,KAAKksC,OAASyQ,OAChB,MAAuB,MAAnB38C,KAAKse,MAAMzhB,IACNmD,KAAKg6C,QAAO,KAEZh6C,KAAKg6C,OAAO3sC,KAGrB,MAAMrN,KAAKoE,MAAM,IAAIk2C,UAAU,2DAInC8H,WACE,GAAIpiD,KAAKksC,OAASsQ,OAChB,OAAOx8C,KAAKioB,KAAKjoB,KAAK2iD,WAEtB,MAAM3iD,KAAKoE,MAAM,IAAIk2C,UAAU,yCAGnCqI,YACE,GAAI3iD,KAAKksC,OAAS4Q,OAChB,OAAO98C,KAAKg6C,OAAOvrC,KAEnB,MAAMzO,KAAKoE,MAAM,IAAIk2C,UAAU,yCAKnC0G,eACE,OAAIhhD,KAAKksC,OAASkP,UACTp7C,KAAKioB,KAAKjoB,KAAK4iD,kBACb5iD,KAAKksC,OAASoP,UAChBt7C,KAAKioB,KAAKjoB,KAAK6iD,oBAEf7iD,KAAK65C,KAAK75C,KAAK8iD,cAK1BA,eACE,EAAG,CACD,GAAI9iD,KAAKksC,OAAS+M,EAAOmB,IACvB,MAAMp6C,KAAKoE,MAAM,IAAIk2C,UAAU,4BAC1B,IAAI+D,iBAAiBr+C,KAAKksC,MAE1B,IAA8B,IAA1BlsC,KAAKse,MAAMzhB,IAAI7B,OACxB,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,oCAE/B,OAAOt6C,KAAKk6C,YAJZl6C,KAAKm6C,gBAMAn6C,KAAKw5C,YAIhByI,oBACE,OAAIjiD,KAAKksC,OAASoP,UACTt7C,KAAKioB,KAAKjoB,KAAK+iD,8BAEf/iD,KAAK65C,KAAK75C,KAAK6iD,oBAG1BA,qBACE,EAAG,CACD,GAAI7iD,KAAKksC,OAASoP,UAChB,OAAOt7C,KAAKg6C,SACP,GAAIh6C,KAAKsgD,cACd,MAAMtgD,KAAKoE,MAAM,IAAIk2C,UAAU,wBAC1B,GAAIt6C,KAAKksC,OAASyR,UAAa39C,KAAKksC,MAAQgP,oBAAsBl7C,KAAKksC,OAAS6O,OACrF,MAAM/6C,KAAKgjD,2BAEXhjD,KAAKm6C,gBAEAn6C,KAAKw5C,YAEhBuJ,+BACE,OAAI/iD,KAAKksC,OAASoP,UACTt7C,KAAKioB,KAAKjoB,KAAKijD,yBAEfjjD,KAAKk6C,YAGhB+I,0BACE,OAAIjjD,KAAKksC,OAAS+O,OACT,KACEj7C,KAAKksC,OAAS8O,OAChBh7C,KAAKioB,KAAKjoB,KAAKkjD,gCAEfljD,KAAK65C,KAAK75C,KAAKkjD,gCAG1BA,iCACE,EAAG,CACD,GAAIljD,KAAKksC,OAASoP,UAChB,OAAOt7C,KAAKioB,KAAKjoB,KAAKmjD,sBACjB,GAAInjD,KAAKksC,OAAS+M,EAAOmB,IAC9B,MAAMp6C,KAAKoE,MAAM,IAAIk2C,UAAU,mCAC1B,GAAIt6C,KAAKksC,OAASyR,UAAa39C,KAAKksC,MAAQgP,oBAAsBl7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAAS+O,OACrI,MAAMj7C,KAAKgjD,2BAEXhjD,KAAKm6C,gBAEAn6C,KAAKw5C,YAEhB2J,uBACE,OAAInjD,KAAKksC,OAASoP,UACTt7C,KAAKioB,KAAKjoB,KAAKojD,wBAEtBpjD,KAAKse,MAAMzhB,KAAO,IACXmD,KAAK65C,KAAK75C,KAAKkjD,iCAG1BE,wBACE,OAAIpjD,KAAKksC,OAASoP,UACTt7C,KAAKg6C,UAEZh6C,KAAKse,MAAMzhB,KAAO,KACXmD,KAAK65C,KAAK75C,KAAKkjD,iCAK1BlB,oBACE,OAAIhiD,KAAKksC,OAASkP,UACTp7C,KAAKioB,KAAKjoB,KAAKqjD,uBAEfrjD,KAAK65C,KAAK75C,KAAK4iD,kBAG1BA,mBACE,EAAG,CACD,GAAI5iD,KAAKksC,OAASuR,UAChB,OAAOz9C,KAAKc,KAAKd,KAAKsjD,YAAatjD,KAAKujD,yBACnC,GAAIvjD,KAAKksC,OAASkP,UACvB,OAAOp7C,KAAKg6C,SACP,GAAIh6C,KAAKsgD,cACd,MAAMtgD,KAAKoE,MAAM,IAAIk2C,UAAU,wBAC1B,GAAIt6C,KAAKksC,OAASyR,UAAa39C,KAAKksC,MAAQgP,oBAAsBl7C,KAAKksC,OAAS6O,OACrF,MAAM/6C,KAAKgjD,2BAEXhjD,KAAKm6C,gBAEAn6C,KAAKw5C,YAEhB+J,wBAAyBC,GAEvB,OADAxjD,KAAKse,MAAMzhB,KAAO2mD,EACXxjD,KAAK65C,KAAK75C,KAAK4iD,kBAExBS,wBACE,OAAIrjD,KAAKksC,OAASkP,UACTp7C,KAAKioB,KAAKjoB,KAAKyjD,kBAEfzjD,KAAKk6C,YAGhBuJ,mBACE,OAAIzjD,KAAKksC,OAAS+O,OACT,KACEj7C,KAAKksC,OAAS8O,OAChBh7C,KAAKioB,KAAKjoB,KAAK0jD,yBAEf1jD,KAAK65C,KAAK75C,KAAK0jD,yBAG1BA,0BACE,EAAG,CACD,GAAI1jD,KAAKksC,OAASuR,UAChB,OAAOz9C,KAAKc,KAAKd,KAAK2jD,iBAAkB3jD,KAAK4jD,8BACxC,GAAI5jD,KAAKksC,OAASkP,UACvB,OAAOp7C,KAAKioB,KAAKjoB,KAAK6jD,eACjB,GAAI7jD,KAAKksC,OAAS+M,EAAOmB,IAC9B,MAAMp6C,KAAKoE,MAAM,IAAIk2C,UAAU,mCAC1B,GAAIt6C,KAAKksC,OAASyR,UAAa39C,KAAKksC,MAAQgP,oBAAsBl7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAAS+O,OACrI,MAAMj7C,KAAKgjD,2BAEXhjD,KAAKm6C,gBAEAn6C,KAAKw5C,YAEhBwJ,2BACE,IAAIc,EAAc,QAMlB,OALI9jD,KAAKksC,KAAO,KACd4X,GAAe,KAEjBA,GAAe9jD,KAAKksC,KAAK1sC,SAAS,IAE3BQ,KAAKoE,MAAM,IAAIk2C,UAAU,8EAA8EwJ,cAEhHF,6BAA8BJ,GAE5B,OADAxjD,KAAKse,MAAMzhB,KAAO2mD,EACXxjD,KAAK65C,KAAK75C,KAAK0jD,yBAExBG,gBACE,OAAI7jD,KAAKksC,OAASkP,UACTp7C,KAAKioB,KAAKjoB,KAAK+jD,iBAEtB/jD,KAAKse,MAAMzhB,KAAO,IACXmD,KAAK65C,KAAK75C,KAAK0jD,0BAG1BK,iBACE,OAAI/jD,KAAKksC,OAASkP,UACTp7C,KAAKg6C,UAEZh6C,KAAKse,MAAMzhB,KAAO,KACXmD,KAAK65C,KAAK75C,KAAK0jD,0BAG1BC,mBACE,OAAI3jD,KAAKksC,OAAS+O,QAAUj7C,KAAKksC,OAAS8O,OACjCh7C,KAAKioB,KAAKjoB,KAAKgkD,gBACbhkD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC/6C,KAAKioB,KAAKjoB,KAAKikD,mBAEfjkD,KAAK65C,KAAK75C,KAAKsjD,aAG1BW,oBACE,GAAIjkD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC,OAAO,KACF,GAAI/6C,KAAKksC,OAAS+O,QAAUj7C,KAAKksC,OAAS8O,OAC/C,OAAOh7C,KAAKioB,KAAKjoB,KAAKgkD,gBAEtB,MAAMhkD,KAAKoE,MAAM,IAAIk2C,UAAU,4BAGnC0J,iBAEE,OAAIhkD,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS+O,OAClF,KAEAj7C,KAAKk6C,YAGhBoJ,cACE,GAAItjD,KAAKksC,QAAQ4R,QACf,OAAO99C,KAAKg6C,OAAO8D,QAAQ99C,KAAKksC,OAC3B,GAAIlsC,KAAKksC,OAASiR,OACvB,OAAOn9C,KAAKc,KAAKd,KAAKkkD,kBAAmBlkD,KAAKmkD,oBACzC,GAAInkD,KAAKksC,OAASmQ,OACvB,OAAOr8C,KAAKc,KAAKd,KAAKokD,kBAAmBpkD,KAAKmkD,oBAE9C,MAAMnkD,KAAKoE,MAAM,IAAIk2C,UAAU,6BAA+Bt6C,KAAKksC,OAGvEiY,mBAAoBjY,GAClB,IACE,MAAMhpC,EAAYnB,SAASmqC,EAAM,IACjC,GAAIhpC,GAAa06C,iBAAmB16C,GAAa26C,eAC/C,MAAM79C,KAAKoE,MAAM,IAAIk2C,UAAU,oEAEjC,OAAOt6C,KAAKk6C,UAAU/4C,OAAOkjD,cAAcnhD,IAC3C,MAAO4qB,GACP,MAAM9tB,KAAKoE,MAAMk2C,UAAUG,KAAK3sB,KAGpCo2B,oBACE,IAAKjG,QAAQj+C,KAAKksC,MAChB,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,wDAG/B,GADAt6C,KAAKm6C,UACDn6C,KAAKse,MAAMzhB,IAAI7B,QAAU,EAAG,OAAOgF,KAAKg6C,SAGhDoK,oBACE,IAAKnG,QAAQj+C,KAAKksC,MAChB,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,wDAG/B,GADAt6C,KAAKm6C,UACDn6C,KAAKse,MAAMzhB,IAAI7B,QAAU,EAAG,OAAOgF,KAAKg6C,SAKhDkI,kBAEE,OADAliD,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAKskD,0BAExBA,2BACE,OAAItkD,KAAKksC,OAAS0Q,OACT58C,KAAKioB,KAAKjoB,KAAKmiD,UACbniD,KAAKksC,OAAS4Q,OAChB98C,KAAKioB,KAAKjoB,KAAKoiD,UAEfpiD,KAAK+5C,QAAQ/5C,KAAKukD,aAAcvkD,KAAKwkD,yBAGhDA,0BACE,OAAIxkD,KAAKksC,OAASyP,QAChB37C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAKykD,sCAEfzkD,KAAK65C,KAAK75C,KAAK0kD,oBAG1BD,sCACE,OAAIzkD,KAAKksC,OAASwP,aAChB17C,KAAKm6C,UACEn6C,KAAKc,KAAKd,KAAKukD,aAAcvkD,KAAK2kD,mBAChC3kD,KAAKksC,OAASgQ,QAAUl8C,KAAKksC,OAASwQ,QAC/C18C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK4kD,0BAEf5kD,KAAKk6C,UAAU6F,QAAQ//C,KAAKse,MAAMzhB,MAG7C6nD,qBACE,IAAI3G,QAAQ/9C,KAAKksC,MAEV,IAAIlsC,KAAKksC,OAASqQ,YACvB,OAAOv8C,KAAKc,KAAKd,KAAKukD,cACjB,GAAIvkD,KAAKksC,OAASgQ,QAAUl8C,KAAKksC,OAASwQ,OAE/C,OADA18C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK4kD,yBACjB,GAAI5kD,KAAKksC,OAASwP,YAEvB,OADA17C,KAAKm6C,UACEn6C,KAAKc,KAAKd,KAAKukD,aAAcvkD,KAAK2kD,kBACpC,CACL,MAAM3kC,EAAS+/B,QAAQ//C,KAAKse,MAAMzhB,KAElC,GAAImjB,EAAOrR,QACT,MAAM3O,KAAKoE,MAAM,IAAIk2C,UAAU,mBAE/B,OAAOt6C,KAAKk6C,UAAUl6B,IAfxBhgB,KAAKm6C,UAmBToK,eACE,GAAIvkD,KAAKksC,OAASqQ,aAAev8C,KAAKksC,OAASwP,aAAe17C,KAAKksC,OAASgQ,QAAUl8C,KAAKksC,OAASwQ,OAClG,MAAM18C,KAAKoE,MAAM,IAAIk2C,UAAU,yCAC1B,GAAIt6C,KAAKqgD,cACd,MAAMrgD,KAAKoE,MAAM,IAAIk2C,UAAU,sBAEjC,OAAOt6C,KAAKk6C,YAEd2K,+BACE,GAAI7kD,KAAKksC,OAASqQ,aAAev8C,KAAKksC,OAASwP,YAC7C,MAAM17C,KAAKoE,MAAM,IAAIk2C,UAAU,yCAC1B,GAAIt6C,KAAKqgD,cACd,MAAMrgD,KAAKoE,MAAM,IAAIk2C,UAAU,sBAEjC,OAAOt6C,KAAKk6C,YAEdyK,mBACE,OAAI3kD,KAAKksC,OAASqQ,YACTv8C,KAAKc,KAAKd,KAAKukD,aAAcvkD,KAAK2kD,kBAChC5G,QAAQ/9C,KAAKksC,WACtBlsC,KAAKm6C,UACIn6C,KAAKksC,OAASgQ,QAAUl8C,KAAKksC,OAASwQ,QAC/C18C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK4kD,0BAEf5kD,KAAKk6C,UAAUgG,MAAMlgD,KAAKse,MAAMzhB,MAG3C+nD,0BACE,GAAI7G,QAAQ/9C,KAAKksC,MACf,OAAOlsC,KAAK65C,KAAK75C,KAAK8kD,qBACjB,GAAI9kD,KAAKksC,OAASuP,aAAez7C,KAAKksC,OAASqP,UAIpD,MAAMv7C,KAAKoE,MAAM,IAAIk2C,UAAU,iDAH/Bt6C,KAAKm6C,UACLn6C,KAAKc,KAAKd,KAAKukD,aAAcvkD,KAAK8kD,qBAKtCA,sBACE,IAAI/G,QAAQ/9C,KAAKksC,MAEV,OAAIlsC,KAAKksC,OAASqQ,YAChBv8C,KAAKc,KAAKd,KAAKukD,cAEfvkD,KAAKk6C,UAAUgG,MAAMlgD,KAAKse,MAAMzhB,MAJvCmD,KAAKm6C,UASTkI,wBACE,OAAIriD,KAAKksC,OAASyP,QAChB37C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK+kD,4BAEf/kD,KAAK65C,KAAK75C,KAAKglD,2BAG1BA,4BAEE,OAAIhlD,KAAKksC,OAASqQ,YACTv8C,KAAKc,KAAKd,KAAKukD,aAAcvkD,KAAK0kD,oBAChC3G,QAAQ/9C,KAAKksC,OACtBlsC,KAAKm6C,eACDn6C,KAAKse,MAAMzhB,IAAI7B,OAAS,GAAGgF,KAAKioB,KAAKjoB,KAAK0kD,sBACrC1kD,KAAKksC,OAASgQ,QAAUl8C,KAAKksC,OAASwQ,QAC/C18C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK4kD,0BACb5kD,KAAKksC,OAASwP,aACvB17C,KAAKm6C,UACEn6C,KAAKc,KAAKd,KAAKukD,aAAcvkD,KAAK2kD,mBAChC3kD,KAAKksC,OAASuP,YAChBz7C,KAAK65C,KAAK75C,KAAKilD,eACbjlD,KAAKksC,OAAS6P,WAChB/7C,KAAK65C,KAAK75C,KAAKklD,mBAEfllD,KAAKk6C,UAAU6F,QAAQ//C,KAAKse,MAAMzhB,MAG7CsoD,oBACE,GAAInlD,KAAKse,MAAMzhB,IAAI7B,OAAS,EAAG,CAC7B,GAAI+iD,QAAQ/9C,KAAKksC,MACf,OAAOlsC,KAAKm6C,UACP,GAAIn6C,KAAKksC,OAAS6P,WACvB,OAAO/7C,KAAK65C,KAAK75C,KAAKklD,mBAEtB,MAAMllD,KAAKoE,MAAM,IAAIk2C,UAAU,qDAGjC,GAAIt6C,KAAKksC,OAASuP,YAChB,OAAOz7C,KAAK65C,KAAK75C,KAAKilD,eAEtB,MAAMjlD,KAAKoE,MAAM,IAAIk2C,UAAU,wDAIrCyK,4BACE,OAAI/kD,KAAKksC,OAASuQ,QAChBz8C,KAAKm6C,UACEn6C,KAAKc,KAAKd,KAAK6kD,6BAA8B7kD,KAAKolD,kBAChDplD,KAAKksC,OAAS6Q,QACvB/8C,KAAKm6C,UACEn6C,KAAKc,KAAKd,KAAK6kD,6BAA8B7kD,KAAKqlD,kBAChDrlD,KAAKksC,OAASkR,QACvBp9C,KAAKm6C,UACEn6C,KAAKc,KAAKd,KAAK6kD,6BAA8B7kD,KAAKslD,kBAChDtlD,KAAKksC,OAASwP,YAChB17C,KAAK65C,KAAK75C,KAAK0kD,oBACb3G,QAAQ/9C,KAAKksC,MACflsC,KAAK65C,KAAK75C,KAAKmlD,mBAEfnlD,KAAKk6C,UAAU6F,QAAQ//C,KAAKse,MAAMzhB,MAG7CyoD,kBACE,IAAIrH,QAAQj+C,KAAKksC,MAEV,IAAIlsC,KAAKksC,OAASqQ,YACvB,OAAOv8C,KAAKc,KAAKd,KAAK6kD,8BACjB,CACL,MAAM7kC,EAAS+/B,QAAQ//C,KAAKse,MAAMzhB,KAElC,GAAImjB,EAAOrR,QACT,MAAM3O,KAAKoE,MAAM,IAAIk2C,UAAU,mBAE/B,OAAOt6C,KAAKk6C,UAAUl6B,IATxBhgB,KAAKm6C,UAaTkL,kBACE,IAAIlH,QAAQn+C,KAAKksC,MAEV,IAAIlsC,KAAKksC,OAASqQ,YACvB,OAAOv8C,KAAKc,KAAKd,KAAK6kD,8BACjB,CACL,MAAM7kC,EAAS+/B,QAAQ//C,KAAKse,MAAMzhB,KAElC,GAAImjB,EAAOrR,QACT,MAAM3O,KAAKoE,MAAM,IAAIk2C,UAAU,mBAE/B,OAAOt6C,KAAKk6C,UAAUl6B,IATxBhgB,KAAKm6C,UAaTiL,kBACE,IAAIlH,MAAMl+C,KAAKksC,MAER,IAAIlsC,KAAKksC,OAASqQ,YACvB,OAAOv8C,KAAKc,KAAKd,KAAK6kD,8BACjB,CACL,MAAM7kC,EAAS+/B,QAAQ//C,KAAKse,MAAMzhB,KAElC,GAAImjB,EAAOrR,QACT,MAAM3O,KAAKoE,MAAM,IAAIk2C,UAAU,mBAE/B,OAAOt6C,KAAKk6C,UAAUl6B,IATxBhgB,KAAKm6C,UAeT8K,gBAEE,GAAIjlD,KAAKse,MAAMzhB,IAAI7B,OAAS,EAC1B,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,gEAIjC,OAFAt6C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,IAC/BmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAKulD,gBAExBA,iBACE,GAAIvlD,KAAKksC,OAASuP,YAAa,CAC7B,GAAIz7C,KAAKse,MAAMzhB,IAAI7B,OAAS,EAC1B,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,8DAIjC,OAFAt6C,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IACtCmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAKwlD,cACjB,IAAIzH,QAAQ/9C,KAAKksC,MAGtB,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,wBAF/Bt6C,KAAKm6C,UAKTqL,eACE,GAAIxlD,KAAKksC,OAASkQ,QAAUp8C,KAAKksC,OAASiP,QAAS,CACjD,GAAIn7C,KAAKse,MAAMzhB,IAAI7B,OAAS,EAC1B,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,4DAIjC,OAFAt6C,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IACtCmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAKylD,oBACjB,GAAIzlD,KAAKqgD,cACd,OAAOrgD,KAAKk6C,UAAUW,WAAW76C,KAAKse,MAAM0B,OAAS,IAAMhgB,KAAKse,MAAMzhB,MACjE,IAAIkhD,QAAQ/9C,KAAKksC,MAGtB,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,wBAF/Bt6C,KAAKm6C,UAKTsL,qBACE,OAAIzlD,KAAKqgD,cACArgD,KAAKk6C,UAAUW,WAAW76C,KAAKse,MAAM0B,SAErChgB,KAAK65C,KAAK75C,KAAK0lD,eAG1BA,gBACE,GAAI1lD,KAAKksC,OAAS6P,WAAY,CAC5B,GAAI/7C,KAAKse,MAAMzhB,IAAI7B,OAAS,EAC1B,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,6DAIjC,OAFAt6C,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IACtCmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAK2lD,cACjB,IAAI5H,QAAQ/9C,KAAKksC,MAGtB,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,wBAF/Bt6C,KAAKm6C,UAKTwL,eACE,KAAI3lD,KAAKse,MAAMzhB,IAAI7B,OAAS,GAAK+iD,QAAQ/9C,KAAKksC,OAEvC,IAA8B,IAA1BlsC,KAAKse,MAAMzhB,IAAI7B,QAAgBgF,KAAKksC,OAAS6P,WAGtD,OAFA/7C,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IACtCmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAK4lD,cAEtB,MAAM5lD,KAAKoE,MAAM,IAAIk2C,UAAU,wBAN/Bt6C,KAAKm6C,UASTyL,eACE,IAAI7H,QAAQ/9C,KAAKksC,MAQf,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,wBAN/B,GADAt6C,KAAKm6C,UACyB,IAA1Bn6C,KAAKse,MAAMzhB,IAAI7B,OAGjB,OAFAgF,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IACtCmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAK6lD,yBAO5BX,oBAEE,GAAIllD,KAAKksC,OAAS6P,WAAY,CAC5B,GAAI/7C,KAAKse,MAAMzhB,IAAI7B,OAAS,EAC1B,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,6DAIjC,OAFAt6C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,IAC/BmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAK8lD,kBAEtB,MAAM9lD,KAAKoE,MAAM,IAAIk2C,UAAU,oBAGnCwL,mBACE,KAAI9lD,KAAKse,MAAMzhB,IAAI7B,OAAS,GAAK+iD,QAAQ/9C,KAAKksC,OAEvC,IAA8B,IAA1BlsC,KAAKse,MAAMzhB,IAAI7B,QAAgBgF,KAAKksC,OAAS6P,WAGtD,OAFA/7C,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IACtCmD,KAAKse,MAAMzhB,IAAM,GACVmD,KAAKioB,KAAKjoB,KAAK+lD,kBAEtB,MAAM/lD,KAAKoE,MAAM,IAAIk2C,UAAU,oBAN/Bt6C,KAAKm6C,UAST4L,mBACE,IAAIhI,QAAQ/9C,KAAKksC,MAMf,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,oBAJ/B,GADAt6C,KAAKm6C,UACyB,IAA1Bn6C,KAAKse,MAAMzhB,IAAI7B,OACjB,OAAOgF,KAAKioB,KAAKjoB,KAAKgmD,4BAM5BA,6BAEE,GADAhmD,KAAKse,MAAM0B,QAAU,IAAMhgB,KAAKse,MAAMzhB,IAClCmD,KAAKksC,OAASwP,YAIhB,OAAO17C,KAAKg6C,OAAOc,WAAW96C,KAAKse,MAAM0B,SAHzChgB,KAAKse,MAAMzhB,IAAM,GACjBmD,KAAKioB,KAAKjoB,KAAKimD,uBAKnBA,wBACE,IAAIlI,QAAQ/9C,KAAKksC,MAEV,IAAIlsC,KAAKqgD,cAAe,CAC7B,GAA8B,IAA1BrgD,KAAKse,MAAMzhB,IAAI7B,OAAc,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,mCAChE,OAAOt6C,KAAKk6C,UAAUY,WAAW96C,KAAKse,MAAM0B,OAAS,IAAMhgB,KAAKse,MAAMzhB,MAEtE,MAAMmD,KAAKoE,MAAM,IAAIk2C,UAAU,oFAL/Bt6C,KAAKm6C,UAST0L,0BACE,GAAI7lD,KAAKksC,OAASwP,YAChB17C,KAAKm6C,UACLn6C,KAAKioB,KAAKjoB,KAAKkmD,2BACV,IAAIlmD,KAAKksC,OAASuP,aAAez7C,KAAKksC,OAASqP,UAG/C,IAAIv7C,KAAKksC,OAASoQ,OAEvB,OADAt8C,KAAKm6C,UACEn6C,KAAKg6C,OAAOW,eAAe36C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,MAC5D,GAAImD,KAAKqgD,cACd,OAAOrgD,KAAKk6C,UAAUU,oBAAoB56C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,MAEzE,MAAMmD,KAAKoE,MAAM,IAAIk2C,UAAU,oFAR/Bt6C,KAAKm6C,UACLn6C,KAAKioB,KAAKjoB,KAAKmmD,oBAUnBD,wBACE,GAAInI,QAAQ/9C,KAAKksC,MACflsC,KAAKm6C,cACA,IAA8B,IAA1Bn6C,KAAKse,MAAMzhB,IAAI7B,OACxB,MAAMgF,KAAKoE,MAAM,IAAIk2C,UAAU,mCAC1B,GAAIt6C,KAAKksC,OAASuP,aAAez7C,KAAKksC,OAASqP,UAG/C,IAAIv7C,KAAKksC,OAASoQ,OAEvB,OADAt8C,KAAKm6C,UACEn6C,KAAKg6C,OAAOW,eAAe36C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,MAC5D,GAAImD,KAAKqgD,cACd,OAAOrgD,KAAKk6C,UAAUU,oBAAoB56C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,MAEzE,MAAMmD,KAAKoE,MAAM,IAAIk2C,UAAU,oFAR/Bt6C,KAAKm6C,UACLn6C,KAAKioB,KAAKjoB,KAAKmmD,oBAUnBA,oBACE,IAAIpI,QAAQ/9C,KAAKksC,MAKf,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,qDAF/B,GAFAt6C,KAAKm6C,UAED,QAAQnD,KAAKh3C,KAAKse,MAAMzhB,KAAM,OAAOmD,KAAKioB,KAAKjoB,KAAKomD,kBAK5DA,mBACE,GAAIpmD,KAAKksC,OAAS6P,WAIhB,MAAM/7C,KAAKoE,MAAM,IAAIk2C,UAAU,qDAH/Bt6C,KAAKm6C,UACLn6C,KAAKioB,KAAKjoB,KAAKqmD,kBAKnBA,mBACE,IAAItI,QAAQ/9C,KAAKksC,MAIf,MAAMlsC,KAAKoE,MAAM,IAAIk2C,UAAU,qDAF/B,GADAt6C,KAAKm6C,UACD,QAAQnD,KAAKh3C,KAAKse,MAAMzhB,KAAM,OAAOmD,KAAKg6C,OAAOW,eAAe36C,KAAKse,MAAM0B,OAAShgB,KAAKse,MAAMzhB,MAOvGylD,eAEE,OAAItiD,KAAKksC,OAASgR,QAChBl9C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAKsmD,cACbtmD,KAAKksC,OAASyQ,QACvB38C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAKumD,oBAFjB,EAKTD,cACE,GAAItmD,KAAKksC,OAAS8Q,OAEhB,OADAh9C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAKwmD,aAEtB,MAAMxmD,KAAKoE,MAAM,IAAIk2C,UAAU,4CAGnCkM,cACE,GAAIxmD,KAAKksC,OAASiR,OAEhB,OADAn9C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAKymD,aAEtB,MAAMzmD,KAAKoE,MAAM,IAAIk2C,UAAU,4CAGnCmM,cACE,GAAIzmD,KAAKksC,OAASwQ,OAChB,OAAO18C,KAAKg6C,QAAO,GAEnB,MAAMh6C,KAAKoE,MAAM,IAAIk2C,UAAU,4CAInCiM,eACE,GAAIvmD,KAAKksC,OAASsQ,OAEhB,OADAx8C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK0mD,cAEtB,MAAM1mD,KAAKoE,MAAM,IAAIk2C,UAAU,4CAInCoM,eACE,GAAI1mD,KAAKksC,OAAS2Q,OAEhB,OADA78C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK2mD,cAEtB,MAAM3mD,KAAKoE,MAAM,IAAIk2C,UAAU,4CAInCqM,eACE,GAAI3mD,KAAKksC,OAAS+Q,OAEhB,OADAj9C,KAAKm6C,UACEn6C,KAAKioB,KAAKjoB,KAAK4mD,cAEtB,MAAM5mD,KAAKoE,MAAM,IAAIk2C,UAAU,4CAInCsM,eACE,GAAI5mD,KAAKksC,OAASwQ,OAChB,OAAO18C,KAAKg6C,QAAO,GAEnB,MAAMh6C,KAAKoE,MAAM,IAAIk2C,UAAU,4CAKnCiI,kBACE,GAAIviD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS+O,QAAUj7C,KAAKksC,OAAS8O,OACzF,OAAO,KACF,GAAIh7C,KAAKksC,OAAS+M,EAAOmB,IAC9B,MAAMp6C,KAAKoE,MAAM,IAAIk2C,UAAU,8BAC1B,OAAIt6C,KAAKksC,OAASmP,SAChBr7C,KAAKc,KAAKd,KAAKwgD,cACbxgD,KAAKksC,OAASwR,UAChB19C,KAAKg6C,OAAOh6C,KAAKse,MAAM06B,WAAakG,cAEpCl/C,KAAK+5C,QAAQ/5C,KAAKshD,WAAYthD,KAAK6mD,uBAG9CA,sBAAuBvpD,GACrB,GAAI0C,KAAKse,MAAM06B,UAAW,CACxB,MAAM8N,EAAW9mD,KAAKse,MAAM06B,UAAUgG,cAChC+H,EAAY3G,SAAS9iD,GAC3B,GAAIwpD,IAAaC,EACf,MAAM/mD,KAAKoE,MAAM,IAAIk2C,UAAU,oDAAoDwM,SAAgBC,WAGrG/mD,KAAKse,MAAM06B,UAAYkG,WAAWkB,SAAS9iD,IAQ7C,OANI6iD,QAAQ7iD,IAAU4P,UAAU5P,GAE9B0C,KAAKse,MAAM06B,UAAU39C,KAAKiC,EAAMmB,WAEhCuB,KAAKse,MAAM06B,UAAU39C,KAAKiC,GAErB0C,KAAK65C,KAAK75C,KAAKgnD,qBAExBA,sBACE,GAAIhnD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,QAAU/6C,KAAKksC,OAAS+O,QAAUj7C,KAAKksC,OAAS8O,OACzF,OAAO,KACF,GAAIh7C,KAAKksC,OAASmP,SACvB,OAAOr7C,KAAKc,KAAKd,KAAKwgD,cACjB,GAAIxgD,KAAKksC,OAASsP,WACvB,OAAOx7C,KAAKioB,KAAKjoB,KAAKuiD,iBACjB,GAAIviD,KAAKksC,OAASwR,UACvB,OAAO19C,KAAK65C,KAAK75C,KAAKuiD,iBAEtB,MAAMviD,KAAKoE,MAAM,IAAIk2C,UAAU,2EAKnCmI,mBACE,GAAIziD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC,OAAO,KACF,GAAI/6C,KAAKksC,OAAS+M,EAAOmB,KAAOp6C,KAAKksC,OAASmP,UAAYr7C,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAAS+O,OACrG,MAAMj7C,KAAKoE,MAAM,IAAIk2C,UAAU,8BAC1B,OAAIt6C,KAAKksC,OAASqR,UAChBv9C,KAAKg6C,OAAOh6C,KAAKse,MAAMy6B,aAAe2F,gBAExC1+C,KAAKse,MAAMy6B,cAAa/4C,KAAKse,MAAMy6B,YAAc2F,eAC/C1+C,KAAK+5C,QAAQ/5C,KAAK2gD,YAAa3gD,KAAKinD,yBAG/CA,uBAAwBpG,GACtB,IAAIh7C,EAAS7F,KAAKse,MAAMy6B,YACpB+H,EAAWD,EAAG7+B,IAAIi4B,MACtB,IAAK,IAAI8G,KAAMF,EAAG7+B,IAAK,CACrB,GAAIw8B,OAAO34C,EAAQk7C,MAAShC,QAAQl5C,EAAOk7C,KAAQl7C,EAAOk7C,GAAIzC,YAC5D,MAAMt+C,KAAKoE,MAAM,IAAIk2C,UAAU,gCAEjCz0C,EAASA,EAAOk7C,GAAMl7C,EAAOk7C,IAAOjC,QAEtC,GAAIN,OAAO34C,EAAQi7C,GACjB,MAAM9gD,KAAKoE,MAAM,IAAIk2C,UAAU,gCAOjC,OALIptC,UAAU2zC,EAAGvjD,QAAU6iD,QAAQU,EAAGvjD,OACpCuI,EAAOi7C,GAAYD,EAAGvjD,MAAMmB,UAE5BoH,EAAOi7C,GAAYD,EAAGvjD,MAEjB0C,KAAK65C,KAAK75C,KAAKknD,sBAExBA,uBACE,GAAIlnD,KAAKksC,OAASiP,SAAWn7C,KAAKksC,OAAS6O,OACzC,OAAO,KACF,GAAI/6C,KAAKksC,OAAS+M,EAAOmB,KAAOp6C,KAAKksC,OAASmP,UAAYr7C,KAAKksC,OAAS8O,QAAUh7C,KAAKksC,OAAS+O,OACrG,MAAMj7C,KAAKoE,MAAM,IAAIk2C,UAAU,8BAC1B,GAAIt6C,KAAKksC,OAASsP,WACvB,OAAOx7C,KAAKioB,KAAKjoB,KAAKyiD,kBACjB,GAAIziD,KAAKksC,OAASqR,UACvB,OAAOv9C,KAAK65C,KAAK75C,KAAKyiD,kBAEtB,MAAMziD,KAAKoE,MAAM,IAAIk2C,UAAU,+E,4BC51CvCxoC,EAAOjY,QAKP,SAAqBuI,EAAK+kD,GACnBA,IAAMA,EAAO,IAClB,MACMC,EAAYD,EAAKC,WAAa,MAC9BvO,EAAS,IAAIwO,EACnB,OAAO,IAAIt1C,SAAQ,CAACtC,EAASuE,KAC3BuD,aAAa+vC,EAJD,EAIwBF,EAAW33C,EAASuE,MAE1D,SAASszC,EAAgBn9B,EAAOi9B,EAAW33C,EAASuE,GAClD,GAAImW,GAAS/nB,EAAIpH,OACf,IACE,OAAOyU,EAAQopC,EAAOe,UACtB,MAAO9rB,GACP,OAAO9Z,EAAOuzC,EAAYz5B,EAAK1rB,IAGnC,IACEy2C,EAAOlnC,MAAMvP,EAAIxE,MAAMusB,EAAOA,EAAQi9B,IACtC7vC,aAAa+vC,EAAgBn9B,EAAQi9B,EAAWA,EAAW33C,EAASuE,GACpE,MAAO8Z,GACP9Z,EAAOuzC,EAAYz5B,EAAK1rB,OAvB9B,MAAMilD,EAAa,EAAQ,MACrBE,EAAc,EAAQ,O,sBCH5Bz1C,EAAOjY,QAEP,SAAsBi0B,EAAKjxB,GAEzB,GAAe,MAAXixB,EAAI5oB,KAA2B,MAAZ4oB,EAAIoM,KAAc,OAAOpM,EAChD,IAAI9gB,EAAM8gB,EAAIvhB,QAId,GAHAS,GAAO,WAAW8gB,EAAIoM,KAAO,UAAUpM,EAAIorB,IAAM,UAAUprB,EAAI5oB,SAG3DrI,GAAOA,EAAI0Q,MAAO,CACpB,MAAMi6C,EAAQ3qD,EAAI0Q,MAAM,MAClBk6C,EAAetmD,OAAO2B,KAAKC,IAAIykD,EAAMxsD,OAAQ8yB,EAAIoM,KAAO,IAAIl/B,OAClE,IAAI0sD,EAAc,IAClB,KAAOA,EAAY1sD,OAASysD,GAAcC,GAAe,IACzD,IAAK,IAAIrO,EAAKv2C,KAAK4C,IAAI,EAAGooB,EAAIoM,KAAO,GAAImf,EAAKv2C,KAAKC,IAAIykD,EAAMxsD,OAAQ8yB,EAAIoM,KAAO,KAAMmf,EAAI,CACxF,IAAIsO,EAAUxmD,OAAOk4C,EAAK,GAE1B,GADIsO,EAAQ3sD,OAASysD,IAAcE,EAAU,IAAMA,GAC/C75B,EAAIoM,OAASmf,EAAI,CACnBrsC,GAAO26C,EAAU,KAAOH,EAAMnO,GAAM,KACpCrsC,GAAO06C,EAAc,KACrB,IAAK,IAAIE,EAAK,EAAGA,EAAK95B,EAAIorB,MAAO0O,EAC/B56C,GAAO,IAETA,GAAO,WAEPA,GAAO26C,EAAU,KAAOH,EAAMnO,GAAM,MAK1C,OADAvrB,EAAIvhB,QAAUS,EAAM,KACb8gB,I,4BC9BThc,EAAOjY,QAKP,SAAsBguD,GACpB,OAAIA,EAON,SAAwBA,GACtB,MAAMhP,EAAS,IAAIwO,EAEnB,OADAQ,EAAIC,YAAY,QACT,IAAI/1C,SAAQ,CAACtC,EAASuE,KAC3B,IAAImX,EACA48B,GAAQ,EACRC,GAAU,EACd,SAASpO,IAEP,GADAmO,GAAQ,GACJ58B,EACJ,IACE1b,EAAQopC,EAAOe,UACf,MAAO9rB,GACP9Z,EAAO8Z,IAGX,SAAS1pB,EAAO0pB,GACdk6B,GAAU,EACVh0C,EAAO8Z,GAET+5B,EAAII,KAAK,MAAOrO,GAChBiO,EAAII,KAAK,QAAS7jD,GAGlB,SAAS8jD,IAEP,IAAIhpD,EACJ,IAFAisB,GAAW,EAEoB,QAAvBjsB,EAAO2oD,EAAIzmD,SACjB,IACEy3C,EAAOlnC,MAAMzS,GACb,MAAO4uB,GACP,OAAO1pB,EAAM0pB,GAKjB,GAFA3C,GAAW,EAEP48B,EAAO,OAAOnO,IAEdoO,GACJH,EAAII,KAAK,WAAYC,GAjBvBA,MA5BOC,CAAcN,GAkDzB,WACE,MAAMhP,EAAS,IAAIwO,EACnB,OAAO,IAAIvwC,EAAOsxC,UAAU,CAC1BC,YAAY,EACZC,UAAW5+B,EAAOlsB,EAAU+qD,GAC1B,IACE1P,EAAOlnC,MAAM+X,EAAMlqB,SAAShC,IAC5B,MAAOswB,GACP9tB,KAAKwoD,KAAK,QAAS16B,GAErBy6B,KAEFE,MAAOF,GACL,IACEvoD,KAAK3E,KAAKw9C,EAAOe,UACjB,MAAO9rB,GACP9tB,KAAKwoD,KAAK,QAAS16B,GAErBy6B,OAlEKG,IAPX,MAAM5xC,EAAS,EAAQ,MACjBuwC,EAAa,EAAQ,O,4BCH3Bv1C,EAAOjY,QAKP,SAAsBuI,GAChB,EAAAo1C,EAAOl7C,QAAU,EAAAk7C,EAAOl7C,OAAOsC,SAASwD,KAC1CA,EAAMA,EAAI5C,SAAS,SAErB,MAAMq5C,EAAS,IAAIwO,EACnB,IAEE,OADAxO,EAAOlnC,MAAMvP,GACNy2C,EAAOe,SACd,MAAO9rB,GACP,MAAMy5B,EAAYz5B,EAAK1rB,KAZ3B,MAAMilD,EAAa,EAAQ,MACrBE,EAAc,EAAQ,O,4BCH5Bz1C,EAAOjY,QAAU,EAAjB,MACAiY,EAAOjY,QAAQ0yB,MAAQ,EAAvB,MACAza,EAAOjY,QAAQid,OAAS,EAAxB,MACAhF,EAAOjY,QAAQ0tD,YAAc,EAA7B,O,sBCYA,SAASoB,EAAW3pD,GAClB,OAAO,IAAIpD,MAAM,mCAAqCoD,GAOxD,SAAS4pD,EAAejqD,GACtB,OAAO7B,OAAOuoB,KAAK1mB,GAAKkqD,QAAO7mC,GAAO8mC,EAASnqD,EAAIqjB,MAMrD,SAAS5b,EAAQzH,GACf,IAAIoqD,EAAOrtD,MAAMuD,QAAQN,GAAO,GAAK7B,OAAOE,UAAUyV,eAAe3R,KAAKnC,EAAK,aAAe,CAAC,CAAC,kBAAcG,GAAa,GAC3H,IAAK,IAAIkqD,KAAQlsD,OAAOuoB,KAAK1mB,GACvBA,EAAIqqD,IAAqC,mBAArBrqD,EAAIqqD,GAAM5iD,UAA2B,gBAAiBzH,EAAIqqD,IAChFD,EAAKC,GAAQrqD,EAAIqqD,GAAM5iD,SAEvB2iD,EAAKC,GAAQrqD,EAAIqqD,GAGrB,OAAOD,EAGT,SAASE,EAAiBC,EAAQC,EAAQxqD,GAExC,IAAIyqD,EACAC,EACJD,EAAaR,EAHbjqD,EAAMyH,EAAOzH,IAIb0qD,EArBF,SAAyB1qD,GACvB,OAAO7B,OAAOuoB,KAAK1mB,GAAKkqD,QAAO7mC,IAAQ8mC,EAASnqD,EAAIqjB,MAoBtCsnC,CAAe3qD,GAC7B,IAAIqhB,EAAS,GACTupC,EAAeJ,GAAU,GAC7BC,EAAW9jC,SAAQtD,IACjB,IAAIhjB,EAAOohD,EAASzhD,EAAIqjB,IACX,cAAThjB,GAAiC,SAATA,GAC1BghB,EAAO3kB,KAAKkuD,EAAeC,EAAaxnC,GAAO,MAAQynC,EAAmB9qD,EAAIqjB,IAAM,OAGpFhC,EAAOhlB,OAAS,GAAGglB,EAAO3kB,KAAK,IACnC,IAAIquD,EAAgBR,GAAUE,EAAWpuD,OAAS,EAAImuD,EAAS,KAAO,GAItE,OAHAE,EAAY/jC,SAAQtD,IAClBhC,EAAO3kB,KAwMX,SAA2B6tD,EAAQC,EAAQnnC,EAAK1kB,GAC9C,IAAIypD,EAAY3G,EAAS9iD,GAEzB,GAAkB,UAAdypD,EACF,OAQJ,SAAiCmC,EAAQC,EAAQnnC,EAAK2G,GAEpDghC,EADAhhC,EAASviB,EAAOuiB,IAEhB,IAAIihC,EAAiBxJ,EAASz3B,EAAO,IAErC,GAAuB,UAAnBihC,EAA4B,MAAMjB,EAAUiB,GAChD,IAAIC,EAAUX,EAASM,EAAaxnC,GAChChC,EAAS,GAMb,OALA2I,EAAOrD,SAAQ1X,IACToS,EAAOhlB,OAAS,IAAGglB,GAAU,MACjCA,GAAUmpC,EAAS,KAAOU,EAAU,OACpC7pC,GAAUipC,EAAgBY,EAAU,IAAKV,EAAQv7C,MAE5CoS,EArBE8pC,CAAuBZ,EAAQC,EAAQnnC,EAAK1kB,GAC9C,GAAkB,UAAdypD,EACT,OAsBJ,SAAgCmC,EAAQC,EAAQnnC,EAAK1kB,GACnD,IAAIusD,EAAUX,EAASM,EAAaxnC,GAChChC,EAAS,GAIb,OAHI4oC,EAActrD,GAAOtC,OAAS,IAChCglB,GAAUmpC,EAAS,IAAMU,EAAU,OAE9B7pC,EAASipC,EAAgBY,EAAU,IAAKV,EAAQ7rD,GA5B9CysD,CAAsBb,EAAQC,EAAQnnC,EAAK1kB,GAElD,MAAMqrD,EAAU5B,GAhNJiD,CAAiBd,EAAQQ,EAAe1nC,EAAKrjB,EAAIqjB,QAExDhC,EAAOxkB,KAAK,MAGrB,SAASstD,EAAUxrD,GACjB,OAAQ8iD,EAAS9iD,IACf,IAAK,YACL,IAAK,OACL,IAAK,UACL,IAAK,MACL,IAAK,QACL,IAAK,UACL,IAAK,SACL,IAAK,WACH,OAAO,EACT,IAAK,QACH,OAAwB,IAAjBA,EAAMtC,QAAuC,UAAvBolD,EAAS9iD,EAAM,IAC9C,IAAK,QACH,OAAqC,IAA9BR,OAAOuoB,KAAK/nB,GAAOtC,OAE5B,QACE,OAAO,GAIb,SAASolD,EAAU9iD,GACjB,YAAcwB,IAAVxB,EACK,YACY,OAAVA,EACF,OAEmB,iBAAVA,GAAuBqE,OAAOuL,UAAU5P,KAAWR,OAAOyX,GAAGjX,GAAQ,GAC9E,UACmB,iBAAVA,EACT,QACmB,kBAAVA,EACT,UACmB,iBAAVA,EACT,SACE,gBAAiBA,EACnBqR,MAAMrR,GAAS,YAAc,WAC3B5B,MAAMuD,QAAQ3B,GAChB,QAEA,QAIX,SAASksD,EAAcxnC,GACrB,IAAIioC,EAAS9oD,OAAO6gB,GACpB,MAAI,mBAAmBg1B,KAAKiT,GACnBA,EAEAC,EAAqBD,GAIhC,SAASC,EAAsB9nD,GAC7B,MAAO,IAAM+nD,EAAa/nD,GAAKuD,QAAQ,KAAM,OAAS,IAYxD,SAASwkD,EAAc/nD,GACrB,OAAOA,EAAIuD,QAAQ,MAAO,QACvBA,QAAQ,QAAS,OACjBA,QAAQ,MAAO,OACfA,QAAQ,MAAO,OACfA,QAAQ,MAAO,OACfA,QAAQ,MAAO,OAEfA,QAAQ,2BAA2BjD,GAAK,MAb7C,SAAiB1G,EAAKoG,GACpB,KAAOA,EAAIpH,OAY+C,GAZjCoH,EAAM,IAAMA,EACrC,OAAOA,EAW4CgoD,CAAO,EAAG1nD,EAAEg3C,YAAY,GAAGl6C,SAAS,OAYzF,SAASiqD,EAAoBnsD,EAAO+sD,GAClC,IAAIrrD,EAAOohD,EAAS9iD,GAQpB,MAPa,WAAT0B,IACEqrD,GAAe,KAAKrT,KAAK15C,GAC3B0B,EAAO,oBACG,gBAAgBg4C,KAAK15C,IAAU,IAAI05C,KAAK15C,KAClD0B,EAAO,mBAGJsrD,EAAgBhtD,EAAO0B,GAGhC,SAASsrD,EAAiBhtD,EAAO0B,GAG/B,OADKA,IAAMA,EAAOohD,EAAS9iD,IACnB0B,GACN,IAAK,mBACH,OAzBN,SAAmCoD,GACjC,IAAImoD,EAAUnoD,EAAImL,MAAM,MAAMuW,KAAI1hB,GACzB+nD,EAAa/nD,GAAKuD,QAAQ,WAAY,SAC5CnK,KAAK,MAER,MAD0B,MAAtB+uD,EAAQ3sD,OAAO,KAAY2sD,GAAW,QACnC,QAAUA,EAAU,MAoBhBC,CAAyBltD,GAClC,IAAK,SACH,OAAO4sD,EAAqB5sD,GAC9B,IAAK,iBACH,MAjDG,IAiD2BA,EAjDf,IAkDjB,IAAK,UACH,OAAOmtD,EAAiBntD,GAC1B,IAAK,QACH,OAoBN,SAAyBA,GACvB,GAAIA,IAAU+P,IACZ,MAAO,MACF,GAAI/P,KAAU,IACnB,MAAO,OACF,GAAIR,OAAOyX,GAAGjX,EAAOmR,KAC1B,MAAO,MACF,GAAI3R,OAAOyX,GAAGjX,GAAQ,GAC3B,MAAO,OAET,IAAIotD,EAASvpD,OAAO7D,GAAOiQ,MAAM,KAC7Bo9C,EAAMD,EAAO,GACbE,EAAMF,EAAO,IAAM,EACvB,OAAOD,EAAiBE,GAAO,IAAMC,EAjC1BC,CAAevtD,GACxB,IAAK,UACH,OAkCN,SAA2BA,GACzB,OAAO6D,OAAO7D,GAnCHwtD,CAAiBxtD,GAC1B,IAAK,WACH,OAoCN,SAA4BA,GAC1B,OAAOA,EAAMo6C,cArCFqT,CAAkBztD,GAC3B,IAAK,QACH,OAwDN,SAA+BqrB,GAE7B,MAAM3pB,EAAO2qD,EADbhhC,EAASviB,EAAOuiB,IAEhB,IAAI3I,EAAS,IACTgrC,EAAcriC,EAAO7E,KAAIrH,GAAK6tC,EAAgB7tC,EAAGzd,KAMrD,OALIgsD,EAAYxvD,KAAK,MAAMR,OAAS,IAAM,KAAKg8C,KAAKgU,GAClDhrC,GAAU,OAASgrC,EAAYxvD,KAAK,SAAW,KAE/CwkB,GAAU,IAAMgrC,EAAYxvD,KAAK,OAASwvD,EAAYhwD,OAAS,EAAI,IAAM,IAEpEglB,EAAS,IAlELirC,CAAqB3tD,EAAMurD,QAAOpsC,GAAqB,SAAhB2jC,EAAS3jC,IAAiC,cAAhB2jC,EAAS3jC,IAAsC,QAAhB2jC,EAAS3jC,MAClH,IAAK,QACH,OAmEN,SAA+Bnf,GAC7BA,EAAQ8I,EAAO9I,GACf,IAAI0iB,EAAS,GAIb,OAHAljB,OAAOuoB,KAAK/nB,GAAOgoB,SAAQtD,IACzBhC,EAAO3kB,KAAKmuD,EAAaxnC,GAAO,MAAQynC,EAAmBnsD,EAAM0kB,IAAM,OAElE,KAAOhC,EAAOxkB,KAAK,OAASwkB,EAAOhlB,OAAS,EAAI,IAAM,IAAM,IAzExDkwD,CAAqB5tD,GAE9B,QACE,MAAMqrD,EAAU3pD,IAItB,SAASyrD,EAAkBntD,GAEzB,OAAO6D,OAAO7D,GAAOqI,QAAQ,wBAAyB,KAqCxD,SAASgkD,EAAehhC,GACtB,MAAM3pB,EARR,SAAoB2pB,GAClB,IAAIwiC,EAAc/K,EAASz3B,EAAO,IAClC,OAAIA,EAAO5B,OAAMtK,GAAK2jC,EAAS3jC,KAAO0uC,IAAqBA,EAEvDxiC,EAAO5B,OAAMtK,IAAK2uC,MANN,WADCpsD,EAOcohD,EAAS3jC,KANJ,YAATzd,EAD7B,IAAmBA,KAOoC,QAC9C,QAGMqsD,CAAU1iC,GACvB,GAAa,UAAT3pB,EACF,MApNK,IAAIpD,MAAM,uCAsNjB,OAAOoD,EA1OT8S,EAAOjY,QAGP,SAAoB8E,GAClB,GAAY,OAARA,EAAc,MAAMgqD,EAAU,QAClC,QAAY,IAARhqD,EAAkB,MAAMgqD,EAAU,aACtC,GAAmB,iBAARhqD,EAAkB,MAAMgqD,SAAiBhqD,GAGpD,GAD0B,mBAAfA,EAAIyH,SAAuBzH,EAAMA,EAAIyH,UACrC,MAAPzH,EAAa,OAAO,KACxB,MAAMK,EAAOohD,EAASzhD,GACtB,GAAa,UAATK,EAAkB,MAAM2pD,EAAU3pD,GACtC,OAAOiqD,EAAgB,GAAI,GAAItqD,IAXjCmT,EAAOjY,QAAQyD,MAAQgtD,G,4BCDvBzwD,EAAQ8X,MAAQ,EAAhB,MACA,S,sBCDA,MAAMpS,EAAQ,GACR+rD,EAAgB,GAEhBC,EAAQ,CAAChmB,EAAMC,KACpB,GAAID,IAASC,EACZ,OAAO,EAGR,MAAMjlC,EAAOglC,EAITA,EAAKvqC,OAASwqC,EAAMxqC,SACvBuqC,EAAOC,EACPA,EAAQjlC,GAGT,IAAIirD,EAAajmB,EAAKvqC,OAClBywD,EAAcjmB,EAAMxqC,OAMxB,KAAOwwD,EAAa,GAAMjmB,EAAK1qC,aAAa2wD,KAAgBhmB,EAAM3qC,aAAa4wD,IAC9ED,IACAC,IAMD,IAaIC,EACA1rC,EACA2rC,EACAC,EAhBA9vD,EAAQ,EAEZ,KAAOA,EAAQ0vD,GAAejmB,EAAK1qC,WAAWiB,KAAW0pC,EAAM3qC,WAAWiB,IACzEA,IAMD,GAHA0vD,GAAc1vD,EACd2vD,GAAe3vD,EAEI,IAAf0vD,EACH,OAAOC,EAOR,IAAInxD,EAAI,EACJkH,EAAI,EAER,KAAOlH,EAAIkxD,GACVF,EAAchxD,GAAKirC,EAAK1qC,WAAWiB,EAAQxB,GAC3CiF,EAAMjF,KAAOA,EAGd,KAAOkH,EAAIiqD,GAKV,IAJAC,EAAYlmB,EAAM3qC,WAAWiB,EAAQ0F,GACrCmqD,EAAOnqD,IACPwe,EAASxe,EAEJlH,EAAI,EAAGA,EAAIkxD,EAAYlxD,IAC3BsxD,EAAQF,IAAcJ,EAAchxD,GAAKqxD,EAAOA,EAAO,EACvDA,EAAOpsD,EAAMjF,GAEb0lB,EAASzgB,EAAMjF,GAAKqxD,EAAO3rC,EAAS4rC,EAAQ5rC,EAASA,EAAS,EAAI4rC,EAAQA,EAAQD,EAAOA,EAAO,EAAIC,EAItG,OAAO5rC,GAGRlO,EAAOjY,QAAU0xD,EAEjBz5C,EAAOjY,QAAQgZ,QAAU04C,G,4BCtEzBz5C,EAAOjY,QAAU,EAAjB,O,kCCDA,IAAIqY,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ6Y,wBAA0B7Y,EAAQ8Y,qBAAuB9Y,EAAQ+Y,0BAAuB,EAClF,EAAQ,KAEhBC,QAAQC,UACd,MAAMC,EAAQ,EAAQ,MACtBR,EAAa,EAAQ,MAAkB1Y,GACvC,MAAM+Y,UAA6BG,EAAMC,sBACrC/G,YAAYgH,GACR/G,QACAlM,KAAKkT,QAAU,IAAIH,EAAMI,QACzBnT,KAAKoT,iBAAoBC,IACrBrT,KAAKkT,QAAQI,KAAKD,EAAMnU,OAE5B+T,EAAQM,iBAAiB,SAAUF,GAAUrT,KAAKwT,UAAUH,KAC5DJ,EAAQQ,UAAYzT,KAAKoT,iBAE7BM,OAAOC,GACH,OAAO3T,KAAKkT,QAAQG,MAAMM,IAGlC9Z,EAAQ+Y,qBAAuBA,EAC/B,MAAMD,UAA6BI,EAAMa,sBACrC3H,YAAYgH,GACR/G,QACAlM,KAAKiT,QAAUA,EACfjT,KAAK6T,WAAa,EAClBZ,EAAQM,iBAAiB,SAAUF,GAAUrT,KAAKwT,UAAUH,KAEhE1V,MAAMqP,GACF,IAEI,OADAhN,KAAKiT,QAAQa,YAAY9G,GAClB+E,QAAQtC,UAEnB,MAAOrL,GAEH,OADApE,KAAK+T,YAAY3P,EAAO4I,GACjB+E,QAAQiC,OAAO5P,IAG9B2P,YAAY3P,EAAO4I,GACfhN,KAAK6T,aACL7T,KAAKwT,UAAUpP,EAAO4I,EAAKhN,KAAK6T,YAEpC9X,QAGJlC,EAAQ8Y,qBAAuBA,EAU/B9Y,EAAQ6Y,wBATR,SAAiCuB,EAAQC,EAAQC,EAAQC,GAOrD,YANetV,IAAXqV,IACAA,EAASpB,EAAMsB,YAEftB,EAAMuB,mBAAmBC,GAAGH,KAC5BA,EAAU,CAAEI,mBAAoBJ,IAE7BrB,EAAML,wBAAwBuB,EAAQC,EAAQC,EAAQC,K,2BChEjEtX,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtD,MAAMmX,EAAQ,EAAQ,MAChBC,EAAe,EAAQ,MACvBC,EAAW,EAAQ,MACnBC,EAAkB,EAAQ,MAChC,MAAMC,UAAsBD,EAAgBE,sBACxC7I,YAAYzO,EAAW,SACnB0O,MAAM1O,GACNwC,KAAK+U,aAAe,IAAIC,YAAY,SAExCC,cACI,OAAOJ,EAAcI,YAEzBpX,WAAWP,EAAO4X,GACd,OAAO,IAAKC,aAAeC,OAAO9X,GAEtCkC,SAASlC,EAAOE,GACZ,MAAiB,UAAbA,EACOwC,KAAK+U,aAAaM,OAAO/X,GAGzB,IAAK0X,YAAYxX,GAAW6X,OAAO/X,GAGlDgY,SAASlX,EAAQpD,GACb,YAAe8D,IAAX9D,EACOoD,EAGAA,EAAOR,MAAM,EAAG5C,GAG/Bua,YAAYva,GACR,OAAO,IAAIS,WAAWT,IAG9B6Z,EAAcI,YAAc,IAAIxZ,WAAW,GAC3C,MAAM+Z,EACFvJ,YAAYwJ,GACRzV,KAAKyV,OAASA,EACdzV,KAAKkT,QAAU,IAAIyB,EAASxB,QAC5BnT,KAAKoT,iBAAoBC,IACRA,EAAMnU,KACdwW,cAAcC,MAAMvX,IACrB4B,KAAKkT,QAAQI,KAAK,IAAI7X,WAAW2C,QAGzC4B,KAAKyV,OAAOlC,iBAAiB,UAAWvT,KAAKoT,kBAEjDwC,QAAQC,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFG,QAAQH,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFI,MAAMJ,GAEF,OADA7V,KAAKyV,OAAOlC,iBAAiB,MAAOsC,GAC7BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,MAAOF,KAEvFK,OAAOL,GACH,OAAO7V,KAAKkT,QAAQG,MAAMwC,IAGlC,MAAMM,EACFlK,YAAYwJ,GACRzV,KAAKyV,OAASA,EAElBG,QAAQC,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFG,QAAQH,GAEJ,OADA7V,KAAKyV,OAAOlC,iBAAiB,QAASsC,GAC/BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,QAASF,KAEzFI,MAAMJ,GAEF,OADA7V,KAAKyV,OAAOlC,iBAAiB,MAAOsC,GAC7BnB,EAAaoB,WAAW3D,QAAO,IAAMnS,KAAKyV,OAAOM,oBAAoB,MAAOF,KAEvFlY,MAAMuB,EAAM1B,GACR,GAAoB,iBAAT0B,EAAmB,CAC1B,QAAiBJ,IAAbtB,GAAuC,UAAbA,EAC1B,MAAM,IAAI5B,MAAM,qFAAqF4B,KAEzGwC,KAAKyV,OAAOW,KAAKlX,QAGjBc,KAAKyV,OAAOW,KAAKlX,GAErB,OAAO6S,QAAQtC,UAEnB1T,MACIiE,KAAKyV,OAAOY,SAGpB,MAAMC,EAAe,IAAInB,YACnBoB,EAAOzZ,OAAO0Z,OAAO,CACvBC,cAAe3Z,OAAO0Z,OAAO,CACzBrE,OAAS3U,GAAa,IAAIqX,EAAcrX,KAE5CkZ,gBAAiB5Z,OAAO0Z,OAAO,CAC3BG,QAAS7Z,OAAO0Z,OAAO,CACnBnK,KAAM,mBACN+I,OAAQ,CAACpI,EAAKoH,KACV,GAAwB,UAApBA,EAAQwC,QACR,MAAM,IAAIhb,MAAM,qFAAqFwY,EAAQwC,WAEjH,OAAO7E,QAAQtC,QAAQ6G,EAAalB,OAAOpG,KAAKC,UAAUjC,OAAKlO,EAAW,QAGlF+X,QAAS/Z,OAAO0Z,OAAO,CACnBnK,KAAM,mBACNgJ,OAAQ,CAACjX,EAAQgW,KACb,KAAMhW,aAAkB3C,YACpB,MAAM,IAAIG,MAAM,6DAEpB,OAAOmW,QAAQtC,QAAQT,KAAK2C,MAAM,IAAIqD,YAAYZ,EAAQwC,SAASvB,OAAOjX,UAItF0Y,OAAQha,OAAO0Z,OAAO,CAClBO,iBAAmBtB,GAAW,IAAID,EAAsBC,GACxDuB,iBAAmBvB,GAAW,IAAIU,EAAsBV,KAE5DtR,QACA8S,MAAOna,OAAO0Z,OAAO,CACjBU,WAAU,CAACvD,EAAUwD,KAAOC,IACjBF,WAAWvD,EAAUwD,KAAOC,GAEvCC,aAAaC,GACTD,aAAaC,IAEjBC,aAAY,CAAC5D,KAAayD,IACfF,WAAWvD,EAAU,KAAMyD,GAEtCI,eAAeF,GACXD,aAAaC,QAIzB,SAASG,IACL,OAAOlB,GAEX,SAAWkB,GAIPA,EAAI3E,QAHJ,WACI2B,EAAM5B,QAAQC,QAAQyD,IAF9B,CAKGkB,IAAQA,EAAM,KACjB5d,EAAQgZ,QAAU4E,G,4BCtJlB3a,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ6d,2BAA6B7d,EAAQ8d,6BAA+B9d,EAAQ+d,gBAAkB/d,EAAQge,iBAAmBhe,EAAQie,qBAAuBje,EAAQke,qBAAuBle,EAAQme,YAAcne,EAAQoe,MAAQpe,EAAQqe,aAAere,EAAQ6Y,wBAA0B7Y,EAAQwa,WAAaxa,EAAQse,kBAAoBte,EAAQya,mBAAqBza,EAAQue,6BAA+Bve,EAAQ+Z,sBAAwB/Z,EAAQwe,cAAgBxe,EAAQye,4BAA8Bze,EAAQmZ,sBAAwBnZ,EAAQ0e,cAAgB1e,EAAQ2e,kBAAoB3e,EAAQ4e,wBAA0B5e,EAAQsZ,QAAUtZ,EAAQ6e,MAAQ7e,EAAQic,WAAajc,EAAQ8e,oBAAsB9e,EAAQ+e,kBAAoB/e,EAAQgf,kBAAoBhf,EAAQif,kBAAoBjf,EAAQkf,kBAAoBlf,EAAQmf,kBAAoBnf,EAAQof,kBAAoBpf,EAAQqf,kBAAoBrf,EAAQsf,kBAAoBtf,EAAQuf,kBAAoBvf,EAAQwf,kBAAoBxf,EAAQyf,iBAAmBzf,EAAQ0f,WAAa1f,EAAQ2f,cAAgB3f,EAAQ4f,aAAe5f,EAAQ6f,aAAe7f,EAAQ8f,aAAe9f,EAAQ+f,aAAe/f,EAAQggB,aAAehgB,EAAQigB,aAAejgB,EAAQkgB,aAAelgB,EAAQmgB,aAAengB,EAAQogB,aAAepgB,EAAQqgB,aAAergB,EAAQsgB,YAActgB,EAAQugB,SAAM,EACtyCvgB,EAAQwgB,0BAAuB,EAC/B,MAAMC,EAAa,EAAQ,MAC3Bxd,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWH,eACvGrd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWJ,gBACxGpd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWL,gBACxGnd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWN,gBACxGld,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWP,gBACxGjd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWR,gBACxGhd,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWT,gBACxG/c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWV,gBACxG9c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWX,gBACxG7c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWZ,gBACxG5c,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWb,gBACxG3c,OAAOuH,eAAexK,EAAS,gBAAiB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWd,iBACzG1c,OAAOuH,eAAexK,EAAS,aAAc,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWf,cACtGzc,OAAOuH,eAAexK,EAAS,mBAAoB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWhB,oBAC5Gxc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWjB,qBAC7Gvc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWlB,qBAC7Gtc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWnB,qBAC7Grc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWpB,qBAC7Gpc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWrB,qBAC7Gnc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWtB,qBAC7Glc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWvB,qBAC7Gjc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWxB,qBAC7Ghc,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAWzB,qBAC7G/b,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAW1B,qBAC7G9b,OAAOuH,eAAexK,EAAS,sBAAuB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+V,EAAW3B,uBAC/G,MAAMjE,EAAe,EAAQ,MAC7B5X,OAAOuH,eAAexK,EAAS,aAAc,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmQ,EAAaoB,cACxG,MAAMnB,EAAW,EAAQ,MACzB7X,OAAOuH,eAAexK,EAAS,QAAS,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOoQ,EAAS+D,SAC/F5b,OAAOuH,eAAexK,EAAS,UAAW,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOoQ,EAASxB,WACjG,MAAMoH,EAAiB,EAAQ,MAC/Bzd,OAAOuH,eAAexK,EAAS,0BAA2B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgW,EAAe9B,2BACvH3b,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgW,EAAe/B,qBACjH,MAAMgC,EAAkB,EAAQ,MAChC1d,OAAOuH,eAAexK,EAAS,gBAAiB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOiW,EAAgBjC,iBAC9Gzb,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOiW,EAAgBxH,yBACtHlW,OAAOuH,eAAexK,EAAS,8BAA+B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOiW,EAAgBlC,+BAC5H,MAAMmC,EAAkB,EAAQ,MAChC3d,OAAOuH,eAAexK,EAAS,gBAAiB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkW,EAAgBpC,iBAC9Gvb,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkW,EAAgB7G,yBACtH9W,OAAOuH,eAAexK,EAAS,+BAAgC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkW,EAAgBrC,gCAC7H,MAAMsC,EAAe,EAAQ,MAC7B5d,OAAOuH,eAAexK,EAAS,qBAAsB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAapG,sBAChHxX,OAAOuH,eAAexK,EAAS,oBAAqB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAavC,qBAC/Grb,OAAOuH,eAAexK,EAAS,aAAc,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAarG,cACxGvX,OAAOuH,eAAexK,EAAS,0BAA2B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAahI,2BACrH5V,OAAOuH,eAAexK,EAAS,eAAgB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAaxC,gBAC1Gpb,OAAOuH,eAAexK,EAAS,QAAS,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAazC,SACnGnb,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa1C,eACzGlb,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa3C,wBAClHjb,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa5C,wBAClHhb,OAAOuH,eAAexK,EAAS,mBAAoB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa7C,oBAC9G/a,OAAOuH,eAAexK,EAAS,kBAAmB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa9C,mBAC7G9a,OAAOuH,eAAexK,EAAS,+BAAgC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAa/C,gCAC1H7a,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAahD,8BACxH5a,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAaL,wBAClH,MAAM5F,EAAQ,EAAQ,MACtB5a,EAAQugB,IAAM3F,EAAM5B,S,4BC9DpB/V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4e,wBAA0B5e,EAAQ2e,uBAAoB,EAC9D,MAAM/D,EAAQ,EAAQ,MAChBkG,EAAK,EAAQ,MACbhG,EAAW,EAAQ,MACzB,IAAI6D,GACJ,SAAWA,GACPA,EAAkBoC,KAAO9d,OAAO0Z,OAAO,CACnCqE,yBAAyB,EACzBC,wBAAyBnG,EAAS+D,MAAMkC,OAE5CpC,EAAkBuC,UAAYje,OAAO0Z,OAAO,CACxCqE,yBAAyB,EACzBC,wBAAyBnG,EAAS+D,MAAMkC,OAQ5CpC,EAAkBjE,GANlB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,IAAcA,IAAcxC,EAAkBoC,MAC9CI,IAAcxC,EAAkBuC,WAC/BJ,EAAGM,QAAQD,EAAUH,4BAA8BG,EAAUF,0BAb7E,CAgBGtC,EAAoB3e,EAAQ2e,oBAAsB3e,EAAQ2e,kBAAoB,KACjF,MAAM0C,EAAgBpe,OAAO0Z,QAAO,SAAU7C,EAAUV,GACpD,MAAMqE,EAAS7C,EAAM5B,UAAUoE,MAAMC,WAAWvD,EAASwH,KAAKlI,GAAU,GACxE,MAAO,CAAEmI,UAAY3G,EAAM5B,UAAUoE,MAAMI,aAAaC,QAE5D,MAAM+D,EACFpP,cACIjM,KAAKsb,cAAe,EAExBC,SACSvb,KAAKsb,eACNtb,KAAKsb,cAAe,EAChBtb,KAAKwb,WACLxb,KAAKwb,SAASlI,UAAKxU,GACnBkB,KAAKob,YAIjB,8BACI,OAAOpb,KAAKsb,aAEhB,8BACI,OAAItb,KAAKsb,aACEJ,GAENlb,KAAKwb,WACNxb,KAAKwb,SAAW,IAAI7G,EAASxB,SAE1BnT,KAAKwb,SAASnI,OAEzB+H,UACQpb,KAAKwb,WACLxb,KAAKwb,SAASJ,UACdpb,KAAKwb,cAAW1c,IAmC5BjF,EAAQ4e,wBA/BR,MACI,YAMI,OALKzY,KAAKyb,SAGNzb,KAAKyb,OAAS,IAAIJ,GAEfrb,KAAKyb,OAEhBF,SACSvb,KAAKyb,OAONzb,KAAKyb,OAAOF,SAHZvb,KAAKyb,OAASjD,EAAkBuC,UAMxCK,UACSpb,KAAKyb,OAIDzb,KAAKyb,kBAAkBJ,GAE5Brb,KAAKyb,OAAOL,UAJZpb,KAAKyb,OAASjD,EAAkBoC,Q,4BClF5C9d,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ6Y,wBAA0B7Y,EAAQse,kBAAoBte,EAAQwgB,qBAAuBxgB,EAAQ6d,2BAA6B7d,EAAQ8d,6BAA+B9d,EAAQya,mBAAqBza,EAAQ+d,gBAAkB/d,EAAQge,iBAAmBhe,EAAQie,qBAAuBje,EAAQke,qBAAuBle,EAAQme,YAAcne,EAAQoe,MAAQpe,EAAQwa,WAAaxa,EAAQqe,kBAAe,EAC3Y,MAAMzD,EAAQ,EAAQ,MAChBkG,EAAK,EAAQ,MACbL,EAAa,EAAQ,MACrBoB,EAAc,EAAQ,MACtB/G,EAAW,EAAQ,MACnB4F,EAAiB,EAAQ,MAC/B,IAAIoB,EAIAC,EASAC,EAaA5D,EAsCAD,EAiBAD,EAIAD,EAIAD,EAuBAvD,EAQAqD,EAaAD,EAcA2C,EAoBAyB,GAtKJ,SAAWH,GACPA,EAAmB3c,KAAO,IAAIsb,EAAWhB,iBAAiB,mBAD9D,CAEGqC,IAAuBA,EAAqB,KAE/C,SAAWC,GACPA,EAAqB5c,KAAO,IAAIsb,EAAWhB,iBAAiB,cADhE,CAEGsC,IAAyBA,EAAuB,KAKnD/hB,EAAQqe,aAJR,MACIjM,iBAKJ,SAAW4P,GAIPA,EAAmBtH,GAHnB,SAAYjX,GACR,OAAOqd,EAAGoB,KAAKze,IAFvB,CAKGue,IAAuBA,EAAqB,KAC/ChiB,EAAQwa,WAAavX,OAAO0Z,OAAO,CAC/BpS,MAAO,OACP4X,KAAM,OACNC,KAAM,OACNrN,IAAK,SAGT,SAAWqJ,GACPA,EAAMA,EAAW,IAAI,GAAK,MAC1BA,EAAMA,EAAgB,SAAI,GAAK,WAC/BA,EAAMA,EAAe,QAAI,GAAK,UAHlC,CAIGA,EAAQpe,EAAQoe,QAAUpe,EAAQoe,MAAQ,KAC7C,SAAWA,GAiBPA,EAAMpa,WAhBN,SAAoBP,GAChB,IAAKqd,EAAGpd,OAAOD,GACX,OAAO2a,EAAMiE,IAGjB,OADA5e,EAAQA,EAAMwC,eAEV,IAAK,MACD,OAAOmY,EAAMiE,IACjB,IAAK,WACD,OAAOjE,EAAMkE,SACjB,IAAK,UACD,OAAOlE,EAAMmE,QACjB,QACI,OAAOnE,EAAMiE,MAgBzBjE,EAAMzY,SAZN,SAAkBlC,GACd,OAAQA,GACJ,KAAK2a,EAAMiE,IACP,MAAO,MACX,KAAKjE,EAAMkE,SACP,MAAO,WACX,KAAKlE,EAAMmE,QACP,MAAO,UACX,QACI,MAAO,QA3BvB,CA+BGnE,EAAQpe,EAAQoe,QAAUpe,EAAQoe,MAAQ,KAE7C,SAAWD,GACPA,EAAkB,KAAI,OACtBA,EAAkB,KAAI,OAF1B,CAGiBne,EAAQme,cAAgBne,EAAQme,YAAc,KAC/D,SAAWA,GAUPA,EAAYna,WATZ,SAAoBP,GAEhB,MAAc,UADdA,EAAQA,EAAMwC,eAEHkY,EAAYhJ,KAGZgJ,EAAYqE,MAP/B,CAWGrE,EAAcne,EAAQme,cAAgBne,EAAQme,YAAc,KAE/D,SAAWD,GACPA,EAAqB/Y,KAAO,IAAIsb,EAAWhB,iBAAiB,cADhE,CAEGvB,EAAuBle,EAAQke,uBAAyBle,EAAQke,qBAAuB,KAE1F,SAAWD,GACPA,EAAqB9Y,KAAO,IAAIsb,EAAWhB,iBAAiB,cADhE,CAEGxB,EAAuBje,EAAQie,uBAAyBje,EAAQie,qBAAuB,KAE1F,SAAWD,GAIPA,EAAiBA,EAAyB,OAAI,GAAK,SAInDA,EAAiBA,EAA2B,SAAI,GAAK,WAIrDA,EAAiBA,EAAmC,iBAAI,GAAK,mBAZjE,CAaGA,EAAmBhe,EAAQge,mBAAqBhe,EAAQge,iBAAmB,KAC9E,MAAMD,UAAwBhc,MAC1BqQ,YAAYtQ,EAAM4Q,GACdL,MAAMK,GACNvM,KAAKrE,KAAOA,EACZmB,OAAOC,eAAeiD,KAAM4X,EAAgB5a,YAGpDnD,EAAQ+d,gBAAkBA,EAE1B,SAAWtD,GAKPA,EAAmBC,GAJnB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUsB,qBAH9C,CAMGhI,EAAqBza,EAAQya,qBAAuBza,EAAQya,mBAAqB,KAEpF,SAAWqD,GACPA,EAA6B4E,QAAUzf,OAAO0Z,OAAO,CACjDgG,8BAA8BC,GACnB,IAAIlC,EAAe9B,0BAOlCd,EAA6BpD,GAJ7B,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUwB,gCAR9C,CAWG7E,EAA+B9d,EAAQ8d,+BAAiC9d,EAAQ8d,6BAA+B,KAElH,SAAWD,GACPA,EAA2B6E,QAAUzf,OAAO0Z,OAAO,CAC/CkG,iBAAiBC,EAAMC,GACnBD,EAAKE,iBAAiBlB,EAAmB3c,KAAM,CAAE4d,QAErDE,QAAQL,OAMZ/E,EAA2BnD,GAJ3B,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAU0B,mBAAqB/B,EAAGoB,KAAKf,EAAU8B,UATrF,CAYGpF,EAA6B7d,EAAQ6d,6BAA+B7d,EAAQ6d,2BAA6B,KAE5G,SAAW2C,GACPA,EAAqBkC,QAAUzf,OAAO0Z,OAAO,CACzCuG,SAAUpF,EAA6B4E,QACvCS,OAAQtF,EAA2B6E,UAMvClC,EAAqB9F,GAJrB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAarD,EAA6BpD,GAAGyG,EAAU+B,WAAarF,EAA2BnD,GAAGyG,EAAUgC,SAP3H,CAUG3C,EAAuBxgB,EAAQwgB,uBAAyBxgB,EAAQwgB,qBAAuB,MAQnExgB,EAAQse,oBAAsBte,EAAQse,kBAAoB,KAD3D5D,GAJlB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,IAAcX,EAAqB9F,GAAGyG,EAAUiC,uBAAyB3I,EAAmBC,GAAGyG,EAAUxG,sBAKxH,SAAWsH,GACPA,EAAgBA,EAAqB,IAAI,GAAK,MAC9CA,EAAgBA,EAA2B,UAAI,GAAK,YACpDA,EAAgBA,EAAwB,OAAI,GAAK,SACjDA,EAAgBA,EAA0B,SAAI,GAAK,WAJvD,CAKGA,IAAoBA,EAAkB,KAo4BzCjiB,EAAQ6Y,wBAn4BR,SAAiCwK,EAAeC,EAAeC,EAAShJ,GACpE,MAAMD,OAAqBrV,IAAZse,EAAwBA,EAAUvjB,EAAQwa,WACzD,IAAIgJ,EAAiB,EACjBC,EAA4B,EAC5BC,EAA+B,EACnC,MAAMC,EAAU,MAChB,IAAIC,EACJ,MAAMC,EAAkB5gB,OAAOqV,OAAO,MACtC,IAAIwL,EACJ,MAAMC,EAAuB9gB,OAAOqV,OAAO,MACrC0L,EAAmB,IAAIC,IAC7B,IAAI7G,EAMA8G,EALAC,EAAe,IAAItC,EAAYuC,UAC/BC,EAAmBphB,OAAOqV,OAAO,MACjCgM,EAAgBrhB,OAAOqV,OAAO,MAC9BiM,EAAQnG,EAAMiE,IACdmC,EAAcrG,EAAYqE,KAE1BiC,EAAQxC,EAAgByC,IAC5B,MAAMC,EAAe,IAAI7J,EAASxB,QAC5BsL,EAAe,IAAI9J,EAASxB,QAC5BuL,EAA+B,IAAI/J,EAASxB,QAC5CwL,EAA2B,IAAIhK,EAASxB,QACxCyL,EAAiB,IAAIjK,EAASxB,QAC9B8J,EAAwB7I,GAAWA,EAAQ6I,qBAAwB7I,EAAQ6I,qBAAuB5C,EAAqBkC,QAC7H,SAASsC,EAAsBjC,GAC3B,GAAW,OAAPA,EACA,MAAM,IAAIhhB,MAAM,4EAEpB,MAAO,OAASghB,EAAGpd,WAwBvB,SAAS8c,EAAmBwC,IAG5B,SAASC,IACL,OAAOT,IAAUxC,EAAgBkD,UAErC,SAASC,IACL,OAAOX,IAAUxC,EAAgBoD,OAErC,SAASC,IACL,OAAOb,IAAUxC,EAAgBsD,SAErC,SAASC,IACDf,IAAUxC,EAAgByC,KAAOD,IAAUxC,EAAgBkD,YAC3DV,EAAQxC,EAAgBoD,OACxBT,EAAanL,UAAKxU,IAc1B,SAASwgB,IACDrI,GAA+B,IAAtB+G,EAAa1e,OAG1B2X,EAAQxC,EAAM5B,UAAUoE,MAAMM,cAAa,KACvCN,OAAQnY,EAIhB,WACI,GAA0B,IAAtBkf,EAAa1e,KACb,OAEJ,MAAMiN,EAAUyR,EAAauB,QAC7B,IACQjF,EAAWkF,iBAAiBjT,GA0CxC,SAAuBkT,GACnB,GAAIN,IAGA,OAEJ,SAASO,EAAMC,EAAeC,EAAQC,GAClC,MAAMtT,EAAU,CACZuT,QAAStC,EACTZ,GAAI6C,EAAe7C,IAEnB+C,aAAyBrF,EAAWd,cACpCjN,EAAQnI,MAAQub,EAAcI,SAG9BxT,EAAQyT,YAA2BlhB,IAAlB6gB,EAA8B,KAAOA,EAE1DM,GAAqB1T,EAASqT,EAAQC,GACtC1C,EAAcxf,MAAM4O,GAExB,SAAS2T,EAAW9b,EAAOwb,EAAQC,GAC/B,MAAMtT,EAAU,CACZuT,QAAStC,EACTZ,GAAI6C,EAAe7C,GACnBxY,MAAOA,EAAM2b,UAEjBE,GAAqB1T,EAASqT,EAAQC,GACtC1C,EAAcxf,MAAM4O,IAiS5B,SAA8BA,GAC1B,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,SAAW7P,EAAQ4T,SACnCjhB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,UAE3DpC,EAAOnP,IAAI,qBAAqBrC,EAAQqT,aAAarT,EAAQqQ,QAAS1d,QAGtEkhB,GAAc,kBAAmB7T,GA7RrC8T,CAAqBZ,GACrB,MAAMa,EAAU5C,EAAgB+B,EAAeG,QAC/C,IAAI5gB,EACAuhB,EACAD,IACAthB,EAAOshB,EAAQthB,KACfuhB,EAAiBD,EAAQE,SAE7B,MAAMX,EAAYY,KAAKC,MACvB,GAAIH,GAAkB9C,EAAoB,CACtC,MAAMkD,EAAWxf,OAAOse,EAAe7C,IACjCgE,EAAqB3D,EAAqBF,SAASP,8BAA8BmE,GACvFxC,EAAcwC,GAAYC,EAC1B,IACI,IAAIC,EACJ,GAAIN,EACA,QAA8BzhB,IAA1B2gB,EAAeU,OAAsB,CACrC,QAAarhB,IAATE,GAA8C,IAAxBA,EAAK8hB,eAE3B,YADAZ,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWwH,cAAe,WAAWtB,EAAeG,kBAAkB5gB,EAAK8hB,4CAA6CrB,EAAeG,OAAQC,GAGtMgB,EAAgBN,EAAeK,EAAmBI,YAEjD,GAAItlB,MAAMuD,QAAQwgB,EAAeU,QAAS,CAC3C,QAAarhB,IAATE,GAAsBA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBuI,OAElF,YADAhB,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWwH,cAAe,WAAWtB,EAAeG,yEAA0EH,EAAeG,OAAQC,GAG5MgB,EAAgBN,KAAkBd,EAAeU,OAAQS,EAAmBI,WAE3E,CACD,QAAaliB,IAATE,GAAsBA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBwI,WAElF,YADAjB,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWwH,cAAe,WAAWtB,EAAeG,yEAA0EH,EAAeG,OAAQC,GAG5MgB,EAAgBN,EAAed,EAAeU,OAAQS,EAAmBI,YAGxEvD,IACLoD,EAAgBpD,EAAmBgC,EAAeG,OAAQH,EAAeU,OAAQS,EAAmBI,QAExG,MAAMI,EAAUP,EACXA,EAIIO,EAAQzL,KACbyL,EAAQzL,MAAMgK,WACHxB,EAAcwC,GACrBjB,EAAMC,EAAeF,EAAeG,OAAQC,MAC7Czb,WACQ+Z,EAAcwC,GACjBvc,aAAiBkW,EAAWd,cAC5B0G,EAAW9b,EAAOqb,EAAeG,OAAQC,GAEpCzb,GAASuW,EAAGpd,OAAO6G,EAAMmI,SAC9B2T,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,+BAA+Bxb,EAAMmI,WAAYkT,EAAeG,OAAQC,GAG/KK,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,6DAA8DH,EAAeG,OAAQC,cAK7L1B,EAAcwC,GACrBjB,EAAMmB,EAAepB,EAAeG,OAAQC,YAtBrC1B,EAAcwC,GAzDjC,SAAsBX,EAAQJ,EAAQC,QAGnB/gB,IAAXkhB,IACAA,EAAS,MAEb,MAAMzT,EAAU,CACZuT,QAAStC,EACTZ,GAAI6C,EAAe7C,GACnBoD,OAAQA,GAEZC,GAAqB1T,EAASqT,EAAQC,GACtC1C,EAAcxf,MAAM4O,GA8CZ+U,CAAaT,EAAepB,EAAeG,OAAQC,IAwB3D,MAAOzb,UACI+Z,EAAcwC,GACjBvc,aAAiBkW,EAAWd,cAC5BkG,EAAMtb,EAAOqb,EAAeG,OAAQC,GAE/Bzb,GAASuW,EAAGpd,OAAO6G,EAAMmI,SAC9B2T,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,+BAA+Bxb,EAAMmI,WAAYkT,EAAeG,OAAQC,GAG/KK,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAW8H,cAAe,WAAW5B,EAAeG,6DAA8DH,EAAeG,OAAQC,SAKpMK,EAAW,IAAI5F,EAAWd,cAAcc,EAAWf,WAAWgI,eAAgB,oBAAoB9B,EAAeG,UAAWH,EAAeG,OAAQC,GAtK/I2B,CAAcjV,GAET+N,EAAWmH,sBAAsBlV,GAiNlD,SAA4BA,GACxB,GAAI4S,IAEA,OAEJ,IAAIngB,EACA0iB,EACJ,GAAInV,EAAQqT,SAAWjE,EAAmB3c,KAAK4gB,OAC3C8B,EAAuBvB,IACnB,MAAMvD,EAAKuD,EAAOvD,GACZ+E,EAASxD,EAAchd,OAAOyb,IAChC+E,GACAA,EAAOpG,cAId,CACD,MAAM+E,EAAU1C,EAAqBrR,EAAQqT,QACzCU,IACAoB,EAAsBpB,EAAQE,QAC9BxhB,EAAOshB,EAAQthB,MAGvB,GAAI0iB,GAAuB/D,EACvB,KAyIR,SAAmCpR,GAC/B,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,GAAUxR,EAAQqT,SAAW9H,EAAqB9Y,KAAK4gB,OAGnF,GAAIvB,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,UAEZld,EADAqN,EAAQ4T,OACD,WAAWnR,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,SAGhD,+BAGfpC,EAAOnP,IAAI,0BAA0BrC,EAAQqT,WAAY1gB,QAGzDkhB,GAAc,uBAAwB7T,GAzJlCqV,CAA0BrV,GACtBmV,OACuB5iB,IAAnByN,EAAQ4T,aACKrhB,IAATE,GAC4B,IAAxBA,EAAK8hB,gBAAwB9hB,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBuI,QACzF/M,EAAO/P,MAAM,gBAAgBmI,EAAQqT,kBAAkB5gB,EAAK8hB,4CAGpEY,KAEKhmB,MAAMuD,QAAQsN,EAAQ4T,cACdrhB,IAATE,IACIA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBuI,QAC5D/M,EAAO/P,MAAM,gBAAgBmI,EAAQqT,yEAErC5gB,EAAK8hB,iBAAmBvU,EAAQ4T,OAAOnlB,QACvCmZ,EAAO/P,MAAM,gBAAgBmI,EAAQqT,kBAAkB5gB,EAAK8hB,sCAAsCvU,EAAQ4T,OAAOnlB,sBAGzH0mB,KAAuBnV,EAAQ4T,eAGlBrhB,IAATE,GAAsBA,EAAKiiB,sBAAwB3G,EAAW3B,oBAAoBwI,YAClFhN,EAAO/P,MAAM,gBAAgBmI,EAAQqT,yEAEzC8B,EAAoBnV,EAAQ4T,SAG3BxC,GACLA,EAAwBpR,EAAQqT,OAAQrT,EAAQ4T,QAGxD,MAAO/b,GACCA,EAAMmI,QACN4H,EAAO/P,MAAM,yBAAyBmI,EAAQqT,gCAAgCxb,EAAMmI,WAGpF4H,EAAO/P,MAAM,yBAAyBmI,EAAQqT,qCAKtDlB,EAA6BpL,KAAK/G,GAnR9BsV,CAAmBtV,GAEd+N,EAAWwH,kBAAkBvV,GAoK9C,SAAwBwV,GACpB,IAAI5C,IAIJ,GAA2B,OAAvB4C,EAAgBnF,GACZmF,EAAgB3d,MAChB+P,EAAO/P,MAAM,qDAAqD4K,KAAKC,UAAU8S,EAAgB3d,WAAOtF,EAAW,MAGnHqV,EAAO/P,MAAM,oFAGhB,CACD,MAAM4d,EAAM7gB,OAAO4gB,EAAgBnF,IAC7BqF,EAAkB/D,EAAiB8D,GAEzC,GA8MR,SAA+BzV,EAAS0V,GACpC,GAAI7D,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EAcJ,GAbIkf,IAAUnG,EAAMmE,UACZ7P,EAAQnI,OAASmI,EAAQnI,MAAMlF,KAC/BA,EAAO,eAAe8P,KAAKC,UAAU1C,EAAQnI,MAAMlF,KAAM,KAAM,SAG3DqN,EAAQyT,OACR9gB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQyT,OAAQ,KAAM,cAEhClhB,IAAlByN,EAAQnI,QACblF,EAAO,4BAIf+iB,EAAiB,CACjB,MAAM7d,EAAQmI,EAAQnI,MAAQ,oBAAoBmI,EAAQnI,MAAMmI,YAAYA,EAAQnI,MAAMzI,SAAW,GACrGoiB,EAAOnP,IAAI,sBAAsBqT,EAAgBrC,aAAarT,EAAQqQ,WAAW6D,KAAKC,MAAQuB,EAAgBC,gBAAgB9d,IAASlF,QAGvI6e,EAAOnP,IAAI,qBAAqBrC,EAAQqQ,sCAAuC1d,QAInFkhB,GAAc,mBAAoB7T,GA3OlC4V,CAAsBJ,EAAiBE,GACnCA,EAAiB,QACV/D,EAAiB8D,GACxB,IACI,GAAID,EAAgB3d,MAAO,CACvB,MAAMA,EAAQ2d,EAAgB3d,MAC9B6d,EAAgBjO,OAAO,IAAIsG,EAAWd,cAAcpV,EAAMzI,KAAMyI,EAAMmI,QAASnI,EAAMlF,WAEpF,SAA+BJ,IAA3BijB,EAAgB/B,OAIrB,MAAM,IAAIpkB,MAAM,wBAHhBqmB,EAAgBxS,QAAQsS,EAAgB/B,SAMhD,MAAO5b,GACCA,EAAMmI,QACN4H,EAAO/P,MAAM,qBAAqB6d,EAAgBrC,gCAAgCxb,EAAMmI,WAGxF4H,EAAO/P,MAAM,qBAAqB6d,EAAgBrC,mCAvM1DwC,CAAe7V,GAmR3B,SAA8BA,GAC1B,IAAKA,EAED,YADA4H,EAAO/P,MAAM,2BAGjB+P,EAAO/P,MAAM,6EAA6E4K,KAAKC,UAAU1C,EAAS,KAAM,MAExH,MAAMwV,EAAkBxV,EACxB,GAAIoO,EAAGpd,OAAOwkB,EAAgBnF,KAAOjC,EAAG0H,OAAON,EAAgBnF,IAAK,CAChE,MAAMoF,EAAM7gB,OAAO4gB,EAAgBnF,IAC7B0F,EAAkBpE,EAAiB8D,GACrCM,GACAA,EAAgBtO,OAAO,IAAIpY,MAAM,uEA5RjC2mB,CAAqBhW,GAG7B,QACI+S,KAvBAkD,OAVRtF,EAActH,QAAQyJ,GACtBnC,EAAclH,SAPd,SAA0B5R,GACtBoa,EAAalL,KAAK,CAAClP,OAAOtF,OAAWA,OAOzCqe,EAAcvH,QAAQyJ,GACtBlC,EAAcnH,SANd,SAA2B9W,GACvBsf,EAAalL,KAAKpU,MAsCtB,MAAMyU,EAAYpH,IACd,IAGI,GAAI+N,EAAWmH,sBAAsBlV,IAAYA,EAAQqT,SAAWjE,EAAmB3c,KAAK4gB,OAAQ,CAChG,MAAMoC,EAAMnD,EAAsBtS,EAAQ4T,OAAOvD,IAC3C6F,EAAWzE,EAAazZ,IAAIyd,GAClC,GAAI1H,EAAWkF,iBAAiBiD,GAAW,CACvC,MAAMC,EAAWtO,aAAyC,EAASA,EAAQI,mBACrEmO,EAAYD,GAAYA,EAASpG,mBAAsBoG,EAASpG,mBAAmBmG,EAAUnG,QAAsBA,EACzH,GAAIqG,SAAgC7jB,IAAnB6jB,EAASve,YAA2CtF,IAApB6jB,EAAS3C,QAKtD,OAJAhC,EAAa4E,OAAOZ,GACpBW,EAAS/F,GAAK6F,EAAS7F,GACvBqD,GAAqB0C,EAAUpW,EAAQqT,OAAQa,KAAKC,YACpDvD,EAAcxf,MAAMglB,KAtFxC,SAA2BE,EAAOtW,GAXlC,IAAgCqQ,EAYxBtC,EAAWkF,iBAAiBjT,GAC5BsW,EAAM1d,IAAI0Z,EAAsBtS,EAAQqQ,IAAKrQ,GAExC+N,EAAWwH,kBAAkBvV,GAClCsW,EAAM1d,IAfC,QADiByX,EAgBSrQ,EAAQqQ,IAdlC,kBAAoBW,GAA8B/d,WAGlD,OAASod,EAAGpd,WAW2B+M,GAG9CsW,EAAM1d,IAVH,UAAYmY,GAA2B9d,WAUF+M,GAmFxCuW,CAAkB9E,EAAczR,GAEpC,QACI+S,MAsSR,SAASW,GAAqB1T,EAASqT,EAAQC,GAC3C,GAAIzB,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,UACZ7P,EAAQnI,OAASmI,EAAQnI,MAAMlF,KAC/BA,EAAO,eAAe8P,KAAKC,UAAU1C,EAAQnI,MAAMlF,KAAM,KAAM,SAG3DqN,EAAQyT,OACR9gB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQyT,OAAQ,KAAM,cAEhClhB,IAAlByN,EAAQnI,QACblF,EAAO,4BAInB6e,EAAOnP,IAAI,qBAAqBgR,QAAarT,EAAQqQ,iCAAiC6D,KAAKC,MAAQb,MAAe3gB,QAGlHkhB,GAAc,gBAAiB7T,GAqEvC,SAAS6T,GAAcphB,EAAMuN,GACzB,IAAKwR,GAAUK,IAAUnG,EAAMiE,IAC3B,OAEJ,MAAM6G,EAAa,CACfC,cAAc,EACdhkB,OACAuN,UACA0W,UAAWxC,KAAKC,OAEpB3C,EAAOnP,IAAImU,GAEf,SAASG,KACL,GAAIjE,IACA,MAAM,IAAIrH,EAAgBC,EAAiBqH,OAAQ,yBAEvD,GAAIC,IACA,MAAM,IAAIvH,EAAgBC,EAAiBuH,SAAU,2BAa7D,SAAS+D,GAAgBC,GACrB,YAActkB,IAAVskB,EACO,KAGAA,EAGf,SAASC,GAAgBD,GACrB,OAAc,OAAVA,OACA,EAGOA,EAGf,SAASE,GAAaF,GAClB,OAAOA,UAA0C1nB,MAAMuD,QAAQmkB,IAA2B,iBAAVA,EAEpF,SAASG,GAAmBtC,EAAqBmC,GAC7C,OAAQnC,GACJ,KAAK3G,EAAW3B,oBAAoB6K,KAChC,OAAIF,GAAaF,GACNC,GAAgBD,GAGhB,CAACD,GAAgBC,IAGhC,KAAK9I,EAAW3B,oBAAoBuI,OAChC,IAAKoC,GAAaF,GACd,MAAM,IAAIxnB,MAAM,mEAEpB,OAAOynB,GAAgBD,GAC3B,KAAK9I,EAAW3B,oBAAoBwI,WAChC,MAAO,CAACgC,GAAgBC,IAC5B,QACI,MAAM,IAAIxnB,MAAM,+BAA+BqlB,EAAoBzhB,eAG/E,SAASikB,GAAqBzkB,EAAMmhB,GAChC,IAAIH,EACJ,MAAMc,EAAiB9hB,EAAK8hB,eAC5B,OAAQA,GACJ,KAAK,EACDd,OAASlhB,EACT,MACJ,KAAK,EACDkhB,EAASuD,GAAmBvkB,EAAKiiB,oBAAqBd,EAAO,IAC7D,MACJ,QACIH,EAAS,GACT,IAAK,IAAI1lB,EAAI,EAAGA,EAAI6lB,EAAOnlB,QAAUV,EAAIwmB,EAAgBxmB,IACrD0lB,EAAO3kB,KAAK8nB,GAAgBhD,EAAO7lB,KAEvC,GAAI6lB,EAAOnlB,OAAS8lB,EAChB,IAAK,IAAIxmB,EAAI6lB,EAAOnlB,OAAQV,EAAIwmB,EAAgBxmB,IAC5C0lB,EAAO3kB,KAAK,MAK5B,OAAO2kB,EAEX,MAAM0D,GAAa,CACf7G,iBAAkB,CAAC7d,KAASoY,KAExB,IAAIwI,EACA+D,EACJ,GAHAT,KAGIvI,EAAGpd,OAAOyB,GAAO,CACjB4gB,EAAS5gB,EACT,MAAMyJ,EAAQ2O,EAAK,GACnB,IAAIwM,EAAa,EACb3C,EAAsB3G,EAAW3B,oBAAoB6K,KACrDlJ,EAAW3B,oBAAoBpE,GAAG9L,KAClCmb,EAAa,EACb3C,EAAsBxY,GAE1B,IAAIob,EAAWzM,EAAKpc,OACpB,MAAM8lB,EAAiB+C,EAAWD,EAClC,OAAQ9C,GACJ,KAAK,EACD6C,OAAgB7kB,EAChB,MACJ,KAAK,EACD6kB,EAAgBJ,GAAmBtC,EAAqB7J,EAAKwM,IAC7D,MACJ,QACI,GAAI3C,IAAwB3G,EAAW3B,oBAAoBuI,OACvD,MAAM,IAAItlB,MAAM,YAAYklB,gEAEhC6C,EAAgBvM,EAAKxZ,MAAMgmB,EAAYC,GAAUC,KAAIxmB,GAAS6lB,GAAgB7lB,UAIrF,CACD,MAAM6iB,EAAS/I,EACfwI,EAAS5gB,EAAK4gB,OACd+D,EAAgBF,GAAqBzkB,EAAMmhB,GAE/C,MAAM4D,EAAsB,CACxBjE,QAAStC,EACToC,OAAQA,EACRO,OAAQwD,IApPpB,SAAkCpX,GAC9B,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,UAEZld,EADAqN,EAAQ4T,OACD,WAAWnR,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,SAGhD,+BAGfpC,EAAOnP,IAAI,yBAAyBrC,EAAQqT,WAAY1gB,QAGxDkhB,GAAc,oBAAqB7T,GAqOnCyX,CAAyBD,GACzB5G,EAAcxf,MAAMomB,IAExBE,eAAgB,CAACjlB,EAAMwhB,KAEnB,IAAIZ,EAcJ,OAfAsD,KAEIvI,EAAGoB,KAAK/c,GACR2e,EAA0B3e,EAErBwhB,IACD7F,EAAGpd,OAAOyB,IACV4gB,EAAS5gB,EACT4e,EAAqB5e,GAAQ,CAAEA,UAAMF,EAAW0hB,aAGhDZ,EAAS5gB,EAAK4gB,OACdhC,EAAqB5e,EAAK4gB,QAAU,CAAE5gB,OAAMwhB,aAG7C,CACHpF,QAAS,UACUtc,IAAX8gB,SACOhC,EAAqBgC,GAG5BjC,OAA0B7e,KAK1ColB,WAAY,CAACC,EAAOnD,EAAOR,KACvB,GAAI3C,EAAiBuG,IAAIpD,GACrB,MAAM,IAAIplB,MAAM,8BAA8BolB,wBAGlD,OADAnD,EAAiB1Y,IAAI6b,EAAOR,GACrB,CACHpF,QAAS,KACLyC,EAAiB+E,OAAO5B,MAIpCqD,aAAc,CAACF,EAAOnD,EAAO1jB,KACzBomB,GAAW7G,iBAAiBjB,EAAqB5c,KAAM,CAAEgiB,QAAO1jB,WAEpEgnB,oBAAqB3F,EAAyBtL,MAC9CkR,YAAa,CAACvlB,KAASoY,KAGnB,IAAIwI,EACA+D,EACA3C,EACJ,GALAkC,KA5JR,WACI,IAAKnE,IACD,MAAM,IAAInjB,MAAM,wBA2JhB4oB,GAII7J,EAAGpd,OAAOyB,GAAO,CACjB4gB,EAAS5gB,EACT,MAAMyJ,EAAQ2O,EAAK,GACb1O,EAAO0O,EAAKA,EAAKpc,OAAS,GAChC,IAAI4oB,EAAa,EACb3C,EAAsB3G,EAAW3B,oBAAoB6K,KACrDlJ,EAAW3B,oBAAoBpE,GAAG9L,KAClCmb,EAAa,EACb3C,EAAsBxY,GAE1B,IAAIob,EAAWzM,EAAKpc,OAChBuf,EAAe/B,kBAAkBjE,GAAG7L,KACpCmb,GAAsB,EACtB7C,EAAQtY,GAEZ,MAAMoY,EAAiB+C,EAAWD,EAClC,OAAQ9C,GACJ,KAAK,EACD6C,OAAgB7kB,EAChB,MACJ,KAAK,EACD6kB,EAAgBJ,GAAmBtC,EAAqB7J,EAAKwM,IAC7D,MACJ,QACI,GAAI3C,IAAwB3G,EAAW3B,oBAAoBuI,OACvD,MAAM,IAAItlB,MAAM,YAAYklB,2DAEhC6C,EAAgBvM,EAAKxZ,MAAMgmB,EAAYC,GAAUC,KAAIxmB,GAAS6lB,GAAgB7lB,UAIrF,CACD,MAAM6iB,EAAS/I,EACfwI,EAAS5gB,EAAK4gB,OACd+D,EAAgBF,GAAqBzkB,EAAMmhB,GAC3C,MAAMW,EAAiB9hB,EAAK8hB,eAC5BE,EAAQzG,EAAe/B,kBAAkBjE,GAAG4L,EAAOW,IAAmBX,EAAOW,QAAkBhiB,EAEnG,MAAM8d,EAAKS,IACX,IAAIoH,EAqCJ,OApCIzD,IACAyD,EAAazD,EAAMlG,yBAAwB,KACvCmC,EAAqBD,OAAON,iBAAiBgH,GAAY9G,OAGlD,IAAI7K,SAAQ,CAACtC,EAASuE,KACjC,MAAMyL,EAAiB,CACnBK,QAAStC,EACTZ,GAAIA,EACJgD,OAAQA,EACRO,OAAQwD,GAYZ,IAAI1B,EAAkB,CAAErC,OAAQA,EAAQsC,WAAYzB,KAAKC,MAAOjR,QAVpCiV,IACxBjV,EAAQiV,GACRzH,EAAqBD,OAAOF,QAAQF,GACpC6H,SAAwDA,EAAWrJ,WAOsBpH,OALlE0Q,IACvB1Q,EAAO0Q,GACPzH,EAAqBD,OAAOF,QAAQF,GACpC6H,SAAwDA,EAAWrJ,aApXnF,SAA6B7O,GACzB,GAAI6R,IAAUnG,EAAMiE,KAAQ6B,EAG5B,GAAIM,IAAgBrG,EAAYqE,KAAM,CAClC,IAAInd,EACAkf,IAAUnG,EAAMmE,SAAW7P,EAAQ4T,SACnCjhB,EAAO,WAAW8P,KAAKC,UAAU1C,EAAQ4T,OAAQ,KAAM,UAE3DpC,EAAOnP,IAAI,oBAAoBrC,EAAQqT,aAAarT,EAAQqQ,QAAS1d,QAGrEkhB,GAAc,eAAgB7T,GA2W1BoY,CAAoBlF,GACpB,IACItC,EAAcxf,MAAM8hB,GAExB,MAAOxb,GAEHge,EAAgBjO,OAAO,IAAIsG,EAAWd,cAAcc,EAAWf,WAAWqL,kBAAmB3gB,EAAEsI,QAAUtI,EAAEsI,QAAU,mBACrH0V,EAAkB,KAElBA,IACA/D,EAAiB/c,OAAOyb,IAAOqF,OAK3C4C,UAAW,CAAC7lB,EAAMwhB,KACd0C,KACA,IAAItD,EAAS,KAkBb,OAjBI/D,EAAmBtH,GAAGvV,IACtB4gB,OAAS9gB,EACT2e,EAAqBze,GAEhB2b,EAAGpd,OAAOyB,IACf4gB,EAAS,UACO9gB,IAAZ0hB,IACAZ,EAAS5gB,EACT0e,EAAgB1e,GAAQ,CAAEwhB,QAASA,EAASxhB,UAAMF,UAItCA,IAAZ0hB,IACAZ,EAAS5gB,EAAK4gB,OACdlC,EAAgB1e,EAAK4gB,QAAU,CAAE5gB,OAAMwhB,YAGxC,CACHpF,QAAS,KACU,OAAXwE,SAGW9gB,IAAX8gB,SACOlC,EAAgBkC,GAGvBnC,OAAqB3e,MAKrCsf,MAAO,CAAC0G,EAAQC,EAASC,KACrB,IAAIC,GAAoB,EACpBC,EAAelN,EAAYqE,UACQvd,IAAnCkmB,IACIrK,EAAGM,QAAQ+J,GACXC,EAAoBD,GAGpBC,EAAoBD,EAA+BnI,mBAAoB,EACvEqI,EAAeF,EAA+B3G,aAAerG,EAAYqE,OAGjF+B,EAAQ0G,EACRzG,EAAc6G,EAEVnH,EADAK,IAAUnG,EAAMiE,SACPpd,EAGAimB,GAETE,GAAsBhG,KAAeE,KACrCuE,GAAW7G,iBAAiB9E,EAAqB/Y,KAAM,CAAE1B,MAAO2a,EAAMzY,SAASslB,MAGvF9O,QAASwI,EAAanL,MACtBuC,QAAS6I,EAAapL,MACtB8R,wBAAyBzG,EAA6BrL,MACtD+R,UAAWxG,EAAevL,MAC1BtX,IAAK,KACDohB,EAAcphB,OAElBqf,QAAS,KACL,GAAI+D,IACA,OAEJb,EAAQxC,EAAgBsD,SACxBR,EAAetL,UAAKxU,GACpB,MAAMsF,EAAQ,IAAIxI,MAAM,4BACxBkB,OAAOuoB,KAAKnH,GAAkBoH,SAAStD,IACnC9D,EAAiB8D,GAAKhO,OAAO5P,MAEjC8Z,EAAmBphB,OAAOqV,OAAO,MACjCgM,EAAgBrhB,OAAOqV,OAAO,MAC9B6L,EAAe,IAAItC,EAAYuC,UAE3BtD,EAAGoB,KAAKoB,EAAc/B,UACtB+B,EAAc/B,UAEdT,EAAGoB,KAAKmB,EAAc9B,UACtB8B,EAAc9B,WAGtB1H,OAAQ,KACJwP,KA3UR,WACI,GAAInE,IACA,MAAM,IAAInH,EAAgBC,EAAiB0N,iBAAkB,mCA0U7DC,GACAlH,EAAQxC,EAAgBkD,UACxB9B,EAAcxJ,OAAOC,IAEzBlO,QAAS,KAELgP,EAAM5B,UAAU1O,QAAQyK,IAAI,aAkBpC,OAfA8U,GAAWO,eAAenM,EAAqB9Y,MAAOmhB,IAC9C/B,IAAUnG,EAAMiE,KAAQ6B,GAG5BA,EAAOnP,IAAIuR,EAAO5T,QAAS6R,IAAUnG,EAAMmE,QAAU+D,EAAOsF,aAAU3mB,MAE1E4kB,GAAWO,eAAerI,EAAqB5c,MAAOmhB,IAClD,MAAMK,EAAU3C,EAAiBtZ,IAAI4b,EAAOa,OACxCR,EACAA,EAAQL,EAAO7iB,OAGfqhB,EAAyBrL,KAAK6M,MAG/BuD,K,0BCvjCX5mB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQic,gBAAa,GASLjc,EAAQic,aAAejc,EAAQic,WAAa,KAD7C3D,OALX,SAAgB4J,GACZ,MAAO,CACHX,QAASW,K,4BCNrBjf,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQsZ,QAAUtZ,EAAQ6e,WAAQ,EAClC,MAAMjE,EAAQ,EAAQ,OAEtB,SAAWiE,GACP,MAAMgN,EAAc,CAAEtK,aACtB1C,EAAMkC,KAAO,WAAc,OAAO8K,GAFtC,CAGW7rB,EAAQ6e,QAAU7e,EAAQ6e,MAAQ,KAC7C,MAAMiN,EACFC,IAAIjS,EAAUV,EAAU,KAAM4S,GACrB7lB,KAAK8lB,aACN9lB,KAAK8lB,WAAa,GAClB9lB,KAAK+lB,UAAY,IAErB/lB,KAAK8lB,WAAWzqB,KAAKsY,GACrB3T,KAAK+lB,UAAU1qB,KAAK4X,GAChBvX,MAAMuD,QAAQ4mB,IACdA,EAAOxqB,KAAK,CAAE+f,QAAS,IAAMpb,KAAKgmB,OAAOrS,EAAUV,KAG3D+S,OAAOrS,EAAUV,EAAU,MACvB,IAAKjT,KAAK8lB,WACN,OAEJ,IAAIG,GAAoC,EACxC,IAAK,IAAI3rB,EAAI,EAAGK,EAAMqF,KAAK8lB,WAAW9qB,OAAQV,EAAIK,EAAKL,IACnD,GAAI0F,KAAK8lB,WAAWxrB,KAAOqZ,EAAU,CACjC,GAAI3T,KAAK+lB,UAAUzrB,KAAO2Y,EAItB,OAFAjT,KAAK8lB,WAAWI,OAAO5rB,EAAG,QAC1B0F,KAAK+lB,UAAUG,OAAO5rB,EAAG,GAIzB2rB,GAAoC,EAIhD,GAAIA,EACA,MAAM,IAAIrqB,MAAM,qFAGxBuqB,UAAU/O,GACN,IAAKpX,KAAK8lB,WACN,MAAO,GAEX,MAAMxf,EAAM,GAAI8f,EAAYpmB,KAAK8lB,WAAWloB,MAAM,GAAIyoB,EAAWrmB,KAAK+lB,UAAUnoB,MAAM,GACtF,IAAK,IAAItD,EAAI,EAAGK,EAAMyrB,EAAUprB,OAAQV,EAAIK,EAAKL,IAC7C,IACIgM,EAAIjL,KAAK+qB,EAAU9rB,GAAGqJ,MAAM0iB,EAAS/rB,GAAI8c,IAE7C,MAAOnT,GAEHwQ,EAAM5B,UAAU1O,QAAQC,MAAMH,GAGtC,OAAOqC,EAEXggB,UACI,OAAQtmB,KAAK8lB,YAAyC,IAA3B9lB,KAAK8lB,WAAW9qB,OAE/CogB,UACIpb,KAAK8lB,gBAAahnB,EAClBkB,KAAK+lB,eAAYjnB,GAGzB,MAAMqU,EACFlH,YAAYsa,GACRvmB,KAAKumB,SAAWA,EAMpB,YA6BI,OA5BKvmB,KAAKwmB,SACNxmB,KAAKwmB,OAAS,CAAC3Q,EAAU4Q,EAAUC,KAC1B1mB,KAAK8lB,aACN9lB,KAAK8lB,WAAa,IAAIH,GAEtB3lB,KAAKumB,UAAYvmB,KAAKumB,SAASI,oBAAsB3mB,KAAK8lB,WAAWQ,WACrEtmB,KAAKumB,SAASI,mBAAmB3mB,MAErCA,KAAK8lB,WAAWF,IAAI/P,EAAU4Q,GAC9B,MAAMzG,EAAS,CACX5E,QAAS,KACApb,KAAK8lB,aAIV9lB,KAAK8lB,WAAWE,OAAOnQ,EAAU4Q,GACjCzG,EAAO5E,QAAUjI,EAAQyT,MACrB5mB,KAAKumB,UAAYvmB,KAAKumB,SAASM,sBAAwB7mB,KAAK8lB,WAAWQ,WACvEtmB,KAAKumB,SAASM,qBAAqB7mB,SAO/C,OAHItE,MAAMuD,QAAQynB,IACdA,EAAYrrB,KAAK2kB,GAEdA,IAGRhgB,KAAKwmB,OAMhBlT,KAAKD,GACGrT,KAAK8lB,YACL9lB,KAAK8lB,WAAWK,OAAOrlB,KAAKd,KAAK8lB,WAAYzS,GAGrD+H,UACQpb,KAAK8lB,aACL9lB,KAAK8lB,WAAW1K,UAChBpb,KAAK8lB,gBAAahnB,IAI9BjF,EAAQsZ,QAAUA,EAClBA,EAAQyT,MAAQ,c,0BCpHhB,SAASrpB,EAAOD,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiB6D,OAezD,SAAS5B,EAAMjC,GACX,OAAO5B,MAAMuD,QAAQ3B,GAvBzBR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQitB,YAAcjtB,EAAQ0F,MAAQ1F,EAAQkiB,KAAOliB,EAAQuK,MAAQvK,EAAQwoB,OAASxoB,EAAQ0D,OAAS1D,EAAQohB,aAAU,EAIzHphB,EAAQohB,QAHR,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7BzD,EAAQ0D,OAASA,EAIjB1D,EAAQwoB,OAHR,SAAgB/kB,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiBqE,QAMzD9H,EAAQuK,MAHR,SAAe9G,GACX,OAAOA,aAAiB1B,OAM5B/B,EAAQkiB,KAHR,SAAcze,GACV,MAAwB,mBAAVA,GAMlBzD,EAAQ0F,MAAQA,EAIhB1F,EAAQitB,YAHR,SAAqBxpB,GACjB,OAAOiC,EAAMjC,IAAUA,EAAMypB,OAAMC,GAAQzpB,EAAOypB,O,0BCzBtD,IAAIC,EAFJnqB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQqtB,SAAWrtB,EAAQokB,UAAYpkB,EAAQotB,WAAQ,EAEvD,SAAWA,GACPA,EAAMrM,KAAO,EACbqM,EAAME,MAAQ,EACdF,EAAMG,MAAQH,EAAME,MACpBF,EAAMI,KAAO,EACbJ,EAAMK,MAAQL,EAAMI,KALxB,CAMGJ,EAAQptB,EAAQotB,QAAUptB,EAAQotB,MAAQ,KAC7C,MAAMhJ,EACFhS,cACIjM,KAAK3D,OAAOkrB,aAAe,YAC3BvnB,KAAKwnB,KAAO,IAAI1J,IAChB9d,KAAKynB,WAAQ3oB,EACbkB,KAAK0nB,WAAQ5oB,EACbkB,KAAK2nB,MAAQ,EACb3nB,KAAK4nB,OAAS,EAElBC,QACI7nB,KAAKwnB,KAAKK,QACV7nB,KAAKynB,WAAQ3oB,EACbkB,KAAK0nB,WAAQ5oB,EACbkB,KAAK2nB,MAAQ,EACb3nB,KAAK4nB,SAETtB,UACI,OAAQtmB,KAAKynB,QAAUznB,KAAK0nB,MAEhC,WACI,OAAO1nB,KAAK2nB,MAEhB,YACI,IAAIG,EACJ,OAA6B,QAArBA,EAAK9nB,KAAKynB,aAA0B,IAAPK,OAAgB,EAASA,EAAGxqB,MAErE,WACI,IAAIwqB,EACJ,OAA6B,QAArBA,EAAK9nB,KAAK0nB,aAA0B,IAAPI,OAAgB,EAASA,EAAGxqB,MAErE8mB,IAAIpC,GACA,OAAOhiB,KAAKwnB,KAAKpD,IAAIpC,GAEzBzd,IAAIyd,EAAK+F,EAAQd,EAAMrM,MACnB,MAAMoN,EAAOhoB,KAAKwnB,KAAKjjB,IAAIyd,GAC3B,GAAKgG,EAML,OAHID,IAAUd,EAAMrM,MAChB5a,KAAK+nB,MAAMC,EAAMD,GAEdC,EAAK1qB,MAEhB6H,IAAI6c,EAAK1kB,EAAOyqB,EAAQd,EAAMrM,MAC1B,IAAIoN,EAAOhoB,KAAKwnB,KAAKjjB,IAAIyd,GACzB,GAAIgG,EACAA,EAAK1qB,MAAQA,EACTyqB,IAAUd,EAAMrM,MAChB5a,KAAK+nB,MAAMC,EAAMD,OAGpB,CAED,OADAC,EAAO,CAAEhG,MAAK1kB,QAAO2qB,UAAMnpB,EAAWopB,cAAUppB,GACxCipB,GACJ,KAAKd,EAAMrM,KACP5a,KAAKmoB,YAAYH,GACjB,MACJ,KAAKf,EAAME,MACPnnB,KAAKooB,aAAaJ,GAClB,MACJ,KAAKf,EAAMI,KAGX,QACIrnB,KAAKmoB,YAAYH,GAGzBhoB,KAAKwnB,KAAKriB,IAAI6c,EAAKgG,GACnBhoB,KAAK2nB,QAET,OAAO3nB,KAEX4iB,OAAOZ,GACH,QAAShiB,KAAKgmB,OAAOhE,GAEzBgE,OAAOhE,GACH,MAAMgG,EAAOhoB,KAAKwnB,KAAKjjB,IAAIyd,GAC3B,GAAKgG,EAML,OAHAhoB,KAAKwnB,KAAK5E,OAAOZ,GACjBhiB,KAAKqoB,WAAWL,GAChBhoB,KAAK2nB,QACEK,EAAK1qB,MAEhBiiB,QACI,IAAKvf,KAAKynB,QAAUznB,KAAK0nB,MACrB,OAEJ,IAAK1nB,KAAKynB,QAAUznB,KAAK0nB,MACrB,MAAM,IAAI9rB,MAAM,gBAEpB,MAAMosB,EAAOhoB,KAAKynB,MAIlB,OAHAznB,KAAKwnB,KAAK5E,OAAOoF,EAAKhG,KACtBhiB,KAAKqoB,WAAWL,GAChBhoB,KAAK2nB,QACEK,EAAK1qB,MAEhBgoB,QAAQgD,EAAYC,GAChB,MAAMjK,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,KAAOe,GAAS,CAOZ,GANID,EACAD,EAAWnN,KAAKoN,EAAhBD,CAAyBE,EAAQlrB,MAAOkrB,EAAQxG,IAAKhiB,MAGrDsoB,EAAWE,EAAQlrB,MAAOkrB,EAAQxG,IAAKhiB,MAEvCA,KAAK4nB,SAAWtJ,EAChB,MAAM,IAAI1iB,MAAM,4CAEpB4sB,EAAUA,EAAQP,MAG1B5C,OACI,MAAMvB,EAAM9jB,KACNse,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,MAAMgB,EAAW,CACb,CAACpsB,OAAOosB,UAAS,IACNA,EAEXR,OACI,GAAInE,EAAI8D,SAAWtJ,EACf,MAAM,IAAI1iB,MAAM,4CAEpB,GAAI4sB,EAAS,CACT,MAAMxI,EAAS,CAAE1iB,MAAOkrB,EAAQxG,IAAK0G,MAAM,GAE3C,OADAF,EAAUA,EAAQP,KACXjI,EAGP,MAAO,CAAE1iB,WAAOwB,EAAW4pB,MAAM,KAI7C,OAAOD,EAEXE,SACI,MAAM7E,EAAM9jB,KACNse,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,MAAMgB,EAAW,CACb,CAACpsB,OAAOosB,UAAS,IACNA,EAEXR,OACI,GAAInE,EAAI8D,SAAWtJ,EACf,MAAM,IAAI1iB,MAAM,4CAEpB,GAAI4sB,EAAS,CACT,MAAMxI,EAAS,CAAE1iB,MAAOkrB,EAAQlrB,MAAOorB,MAAM,GAE7C,OADAF,EAAUA,EAAQP,KACXjI,EAGP,MAAO,CAAE1iB,WAAOwB,EAAW4pB,MAAM,KAI7C,OAAOD,EAEXG,UACI,MAAM9E,EAAM9jB,KACNse,EAAQte,KAAK4nB,OACnB,IAAIY,EAAUxoB,KAAKynB,MACnB,MAAMgB,EAAW,CACb,CAACpsB,OAAOosB,UAAS,IACNA,EAEXR,OACI,GAAInE,EAAI8D,SAAWtJ,EACf,MAAM,IAAI1iB,MAAM,4CAEpB,GAAI4sB,EAAS,CACT,MAAMxI,EAAS,CAAE1iB,MAAO,CAACkrB,EAAQxG,IAAKwG,EAAQlrB,OAAQorB,MAAM,GAE5D,OADAF,EAAUA,EAAQP,KACXjI,EAGP,MAAO,CAAE1iB,WAAOwB,EAAW4pB,MAAM,KAI7C,OAAOD,EAEX,CAACpsB,OAAOosB,YACJ,OAAOzoB,KAAK4oB,UAEhBC,QAAQC,GACJ,GAAIA,GAAW9oB,KAAKV,KAChB,OAEJ,GAAgB,IAAZwpB,EAEA,YADA9oB,KAAK6nB,QAGT,IAAIW,EAAUxoB,KAAKynB,MACfsB,EAAc/oB,KAAKV,KACvB,KAAOkpB,GAAWO,EAAcD,GAC5B9oB,KAAKwnB,KAAK5E,OAAO4F,EAAQxG,KACzBwG,EAAUA,EAAQP,KAClBc,IAEJ/oB,KAAKynB,MAAQe,EACbxoB,KAAK2nB,MAAQoB,EACTP,IACAA,EAAQN,cAAWppB,GAEvBkB,KAAK4nB,SAETQ,aAAaJ,GAET,GAAKhoB,KAAKynB,OAAUznB,KAAK0nB,MAGpB,KAAK1nB,KAAKynB,MACX,MAAM,IAAI7rB,MAAM,gBAGhBosB,EAAKC,KAAOjoB,KAAKynB,MACjBznB,KAAKynB,MAAMS,SAAWF,OAPtBhoB,KAAK0nB,MAAQM,EASjBhoB,KAAKynB,MAAQO,EACbhoB,KAAK4nB,SAETO,YAAYH,GAER,GAAKhoB,KAAKynB,OAAUznB,KAAK0nB,MAGpB,KAAK1nB,KAAK0nB,MACX,MAAM,IAAI9rB,MAAM,gBAGhBosB,EAAKE,SAAWloB,KAAK0nB,MACrB1nB,KAAK0nB,MAAMO,KAAOD,OAPlBhoB,KAAKynB,MAAQO,EASjBhoB,KAAK0nB,MAAQM,EACbhoB,KAAK4nB,SAETS,WAAWL,GACP,GAAIA,IAAShoB,KAAKynB,OAASO,IAAShoB,KAAK0nB,MACrC1nB,KAAKynB,WAAQ3oB,EACbkB,KAAK0nB,WAAQ5oB,OAEZ,GAAIkpB,IAAShoB,KAAKynB,MAAO,CAG1B,IAAKO,EAAKC,KACN,MAAM,IAAIrsB,MAAM,gBAEpBosB,EAAKC,KAAKC,cAAWppB,EACrBkB,KAAKynB,MAAQO,EAAKC,UAEjB,GAAID,IAAShoB,KAAK0nB,MAAO,CAG1B,IAAKM,EAAKE,SACN,MAAM,IAAItsB,MAAM,gBAEpBosB,EAAKE,SAASD,UAAOnpB,EACrBkB,KAAK0nB,MAAQM,EAAKE,aAEjB,CACD,MAAMD,EAAOD,EAAKC,KACZC,EAAWF,EAAKE,SACtB,IAAKD,IAASC,EACV,MAAM,IAAItsB,MAAM,gBAEpBqsB,EAAKC,SAAWA,EAChBA,EAASD,KAAOA,EAEpBD,EAAKC,UAAOnpB,EACZkpB,EAAKE,cAAWppB,EAChBkB,KAAK4nB,SAETG,MAAMC,EAAMD,GACR,IAAK/nB,KAAKynB,QAAUznB,KAAK0nB,MACrB,MAAM,IAAI9rB,MAAM,gBAEpB,GAAKmsB,IAAUd,EAAME,OAASY,IAAUd,EAAMI,KAG9C,GAAIU,IAAUd,EAAME,MAAO,CACvB,GAAIa,IAAShoB,KAAKynB,MACd,OAEJ,MAAMQ,EAAOD,EAAKC,KACZC,EAAWF,EAAKE,SAElBF,IAAShoB,KAAK0nB,OAGdQ,EAASD,UAAOnpB,EAChBkB,KAAK0nB,MAAQQ,IAIbD,EAAKC,SAAWA,EAChBA,EAASD,KAAOA,GAGpBD,EAAKE,cAAWppB,EAChBkpB,EAAKC,KAAOjoB,KAAKynB,MACjBznB,KAAKynB,MAAMS,SAAWF,EACtBhoB,KAAKynB,MAAQO,EACbhoB,KAAK4nB,cAEJ,GAAIG,IAAUd,EAAMI,KAAM,CAC3B,GAAIW,IAAShoB,KAAK0nB,MACd,OAEJ,MAAMO,EAAOD,EAAKC,KACZC,EAAWF,EAAKE,SAElBF,IAAShoB,KAAKynB,OAGdQ,EAAKC,cAAWppB,EAChBkB,KAAKynB,MAAQQ,IAIbA,EAAKC,SAAWA,EAChBA,EAASD,KAAOA,GAEpBD,EAAKC,UAAOnpB,EACZkpB,EAAKE,SAAWloB,KAAK0nB,MACrB1nB,KAAK0nB,MAAMO,KAAOD,EAClBhoB,KAAK0nB,MAAQM,EACbhoB,KAAK4nB,UAGbxhB,SACI,MAAMlH,EAAO,GAIb,OAHAc,KAAKslB,SAAQ,CAAChoB,EAAO0kB,KACjB9iB,EAAK7D,KAAK,CAAC2mB,EAAK1kB,OAEb4B,EAEX8pB,SAAS9pB,GACLc,KAAK6nB,QACL,IAAK,MAAO7F,EAAK1kB,KAAU4B,EACvBc,KAAKmF,IAAI6c,EAAK1kB,IAI1BzD,EAAQokB,UAAYA,EAsCpBpkB,EAAQqtB,SArCR,cAAuBjJ,EACnBhS,YAAYrB,EAAOqe,EAAQ,GACvB/c,QACAlM,KAAKkpB,OAASte,EACd5K,KAAKmpB,OAASrmB,KAAKC,IAAID,KAAK4C,IAAI,EAAGujB,GAAQ,GAE/C,YACI,OAAOjpB,KAAKkpB,OAEhB,UAAUte,GACN5K,KAAKkpB,OAASte,EACd5K,KAAKopB,YAET,YACI,OAAOppB,KAAKmpB,OAEhB,UAAUF,GACNjpB,KAAKmpB,OAASrmB,KAAKC,IAAID,KAAK4C,IAAI,EAAGujB,GAAQ,GAC3CjpB,KAAKopB,YAET7kB,IAAIyd,EAAK+F,EAAQd,EAAMK,OACnB,OAAOpb,MAAM3H,IAAIyd,EAAK+F,GAE1BsB,KAAKrH,GACD,OAAO9V,MAAM3H,IAAIyd,EAAKiF,EAAMrM,MAEhCzV,IAAI6c,EAAK1kB,GAGL,OAFA4O,MAAM/G,IAAI6c,EAAK1kB,EAAO2pB,EAAMI,MAC5BrnB,KAAKopB,YACEppB,KAEXopB,YACQppB,KAAKV,KAAOU,KAAKkpB,QACjBlpB,KAAK6oB,QAAQ/lB,KAAKwmB,MAAMtpB,KAAKkpB,OAASlpB,KAAKmpB,Y,0BCxYvDrsB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQib,2BAAwB,EAiJhCjb,EAAQib,sBA7IR,MACI7I,YAAYzO,EAAW,SACnBwC,KAAKkV,UAAY1X,EACjBwC,KAAKupB,QAAU,GACfvpB,KAAKwpB,aAAe,EAExB,eACI,OAAOxpB,KAAKkV,UAEhBuU,OAAOC,GACH,MAAMC,EAA4B,iBAAVD,EAAqB1pB,KAAKnC,WAAW6rB,EAAO1pB,KAAKkV,WAAawU,EACtF1pB,KAAKupB,QAAQluB,KAAKsuB,GAClB3pB,KAAKwpB,cAAgBG,EAAS7vB,WAElC8vB,iBACI,GAA4B,IAAxB5pB,KAAKupB,QAAQvuB,OACb,OAEJ,IAAIsjB,EAAQ,EACRuL,EAAa,EACbnoB,EAAS,EACTooB,EAAiB,EACrBC,EAAK,KAAOF,EAAa7pB,KAAKupB,QAAQvuB,QAAQ,CAC1C,MAAM0uB,EAAQ1pB,KAAKupB,QAAQM,GAEnB,IADRnoB,EAAS,EACMA,EAASgoB,EAAM1uB,QAAQ,CAElC,OADc0uB,EAAMhoB,IAEhB,KA/BT,GAgCa,OAAQ4c,GACJ,KAAK,EACDA,EAAQ,EACR,MACJ,KAAK,EACDA,EAAQ,EACR,MACJ,QACIA,EAAQ,EAEhB,MACJ,KA1CT,GA2Ca,OAAQA,GACJ,KAAK,EACDA,EAAQ,EACR,MACJ,KAAK,EACDA,EAAQ,EACR5c,IACA,MAAMqoB,EACV,QACIzL,EAAQ,EAEhB,MACJ,QACIA,EAAQ,EAEhB5c,IAEJooB,GAAkBJ,EAAM5vB,WACxB+vB,IAEJ,GAAc,IAAVvL,EACA,OAIJ,MAAMlgB,EAAS4B,KAAKgqB,MAAMF,EAAiBpoB,GACrCse,EAAS,IAAIlC,IACbmM,EAAUjqB,KAAKR,SAASpB,EAAQ,SAASmP,MArE1C,QAsEL,GAAI0c,EAAQjvB,OAAS,EACjB,OAAOglB,EAEX,IAAK,IAAI1lB,EAAI,EAAGA,EAAI2vB,EAAQjvB,OAAS,EAAGV,IAAK,CACzC,MAAM4vB,EAASD,EAAQ3vB,GACjB6vB,EAAQD,EAAOruB,QAAQ,KAC7B,IAAe,IAAXsuB,EACA,MAAM,IAAIvuB,MAAM,sDAEpB,MAAMomB,EAAMkI,EAAOloB,OAAO,EAAGmoB,GACvB7sB,EAAQ4sB,EAAOloB,OAAOmoB,EAAQ,GAAGvkB,OACvCoa,EAAO7a,IAAI6c,EAAK1kB,GAEpB,OAAO0iB,EAEXoK,YAAYpvB,GACR,KAAIgF,KAAKwpB,aAAexuB,GAGxB,OAAOgF,KAAKgqB,MAAMhvB,GAEtB,oBACI,OAAOgF,KAAKwpB,aAEhBQ,MAAMK,GACF,GAAkB,IAAdA,EACA,OAAOrqB,KAAKiV,cAEhB,GAAIoV,EAAYrqB,KAAKwpB,aACjB,MAAM,IAAI5tB,MAAM,8BAEpB,GAAIoE,KAAKupB,QAAQ,GAAGzvB,aAAeuwB,EAAW,CAE1C,MAAMX,EAAQ1pB,KAAKupB,QAAQ,GAG3B,OAFAvpB,KAAKupB,QAAQhK,QACbvf,KAAKwpB,cAAgBa,EACdrqB,KAAKsV,SAASoU,GAEzB,GAAI1pB,KAAKupB,QAAQ,GAAGzvB,WAAauwB,EAAW,CAExC,MAAMX,EAAQ1pB,KAAKupB,QAAQ,GACrBvJ,EAAShgB,KAAKsV,SAASoU,EAAOW,GAGpC,OAFArqB,KAAKupB,QAAQ,GAAKG,EAAM9rB,MAAMysB,GAC9BrqB,KAAKwpB,cAAgBa,EACdrK,EAEX,MAAMA,EAAShgB,KAAKuV,YAAY8U,GAChC,IAAIC,EAAe,EAEnB,KAAOD,EAAY,GAAG,CAClB,MAAMX,EAAQ1pB,KAAKupB,QAFN,GAGb,GAAIG,EAAM5vB,WAAauwB,EAAW,CAE9B,MAAME,EAAYb,EAAM9rB,MAAM,EAAGysB,GACjCrK,EAAO7a,IAAIolB,EAAWD,GACtBA,GAAgBD,EAChBrqB,KAAKupB,QARI,GAQkBG,EAAM9rB,MAAMysB,GACvCrqB,KAAKwpB,cAAgBa,EACrBA,GAAaA,OAIbrK,EAAO7a,IAAIukB,EAAOY,GAClBA,GAAgBZ,EAAM5vB,WACtBkG,KAAKupB,QAAQhK,QACbvf,KAAKwpB,cAAgBE,EAAM5vB,WAC3BuwB,GAAaX,EAAM5vB,WAG3B,OAAOkmB,K,4BC/IfljB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQye,4BAA8Bze,EAAQmZ,sBAAwBnZ,EAAQ0e,mBAAgB,EAC9F,MAAM9D,EAAQ,EAAQ,MAChBkG,EAAK,EAAQ,MACbhG,EAAW,EAAQ,MACzB,IA+CI6V,GAvCe3wB,EAAQ0e,gBAAkB1e,EAAQ0e,cAAgB,KADnDhE,GALd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUtH,SAAWiH,EAAGoB,KAAKf,EAAUI,UAC/DT,EAAGoB,KAAKf,EAAUhF,UAAY2E,EAAGoB,KAAKf,EAAUpF,UAAY+E,EAAGoB,KAAKf,EAAUyP,mBAI1F,MAAMzX,EACF/G,cACIjM,KAAKwe,aAAe,IAAI7J,EAASxB,QACjCnT,KAAKye,aAAe,IAAI9J,EAASxB,QACjCnT,KAAK0qB,sBAAwB,IAAI/V,EAASxB,QAE9CiI,UACIpb,KAAKwe,aAAapD,UAClBpb,KAAKye,aAAarD,UAEtB,cACI,OAAOpb,KAAKwe,aAAanL,MAE7BG,UAAUpP,GACNpE,KAAKwe,aAAalL,KAAKtT,KAAK2qB,QAAQvmB,IAExC,cACI,OAAOpE,KAAKye,aAAapL,MAE7BuX,YACI5qB,KAAKye,aAAanL,UAAKxU,GAE3B,uBACI,OAAOkB,KAAK0qB,sBAAsBrX,MAEtCwX,mBAAmB5O,GACfjc,KAAK0qB,sBAAsBpX,KAAK2I,GAEpC0O,QAAQvmB,GACJ,OAAIA,aAAiBxI,MACVwI,EAGA,IAAIxI,MAAM,kCAAkC+e,EAAGpd,OAAO6G,EAAMmI,SAAWnI,EAAMmI,QAAU,cAI1G1S,EAAQmZ,sBAAwBA,EAEhC,SAAWwX,GAuCPA,EAA6BM,YAtC7B,SAAqB1W,GACjB,IAAI0T,EACJ,IAAIlR,EAEAmU,EACJ,MAAMC,EAAkB,IAAIlN,IAC5B,IAAImN,EACJ,MAAMC,EAAsB,IAAIpN,IAChC,QAAgBhf,IAAZsV,GAA4C,iBAAZA,EAChCwC,EAAUxC,QAAyCA,EAAU,YAE5D,CAMD,GALAwC,EAAqC,QAA1BkR,EAAK1T,EAAQwC,eAA4B,IAAPkR,EAAgBA,EAAK,aACnChpB,IAA3BsV,EAAQ2W,iBACRA,EAAiB3W,EAAQ2W,eACzBC,EAAgB7lB,IAAI4lB,EAAe1e,KAAM0e,SAEbjsB,IAA5BsV,EAAQ4W,gBACR,IAAK,MAAMnU,KAAWzC,EAAQ4W,gBAC1BA,EAAgB7lB,IAAI0R,EAAQxK,KAAMwK,GAO1C,QAJmC/X,IAA/BsV,EAAQ6W,qBACRA,EAAqB7W,EAAQ6W,mBAC7BC,EAAoB/lB,IAAI8lB,EAAmB5e,KAAM4e,SAEjBnsB,IAAhCsV,EAAQ8W,oBACR,IAAK,MAAMrU,KAAWzC,EAAQ8W,oBAC1BA,EAAoB/lB,IAAI0R,EAAQxK,KAAMwK,GAQlD,YAJ2B/X,IAAvBmsB,IACAA,EAAqBxW,EAAM5B,UAAU6D,gBAAgBG,QACrDqU,EAAoB/lB,IAAI8lB,EAAmB5e,KAAM4e,IAE9C,CAAErU,UAASmU,iBAAgBC,kBAAiBC,qBAAoBC,wBArC/E,CAwCGV,IAAiCA,EAA+B,KA6FnE3wB,EAAQye,4BA5FR,cAA0CtF,EACtC/G,YAAYkf,EAAU/W,GAClBlI,QACAlM,KAAKmrB,SAAWA,EAChBnrB,KAAKoU,QAAUoW,EAA6BM,YAAY1W,GACxDpU,KAAK5B,OAASqW,EAAM5B,UAAU4D,cAActE,OAAOnS,KAAKoU,QAAQwC,SAChE5W,KAAKorB,uBAAyB,IAC9BprB,KAAKqrB,mBAAqB,EAC1BrrB,KAAKsrB,aAAe,EAExB,0BAA0BC,GACtBvrB,KAAKorB,uBAAyBG,EAElC,4BACI,OAAOvrB,KAAKorB,uBAEhB1X,OAAOC,GACH3T,KAAKqrB,mBAAqB,EAC1BrrB,KAAKsrB,aAAe,EACpBtrB,KAAKwrB,yBAAsB1sB,EAC3BkB,KAAK2T,SAAWA,EAChB,MAAMqM,EAAShgB,KAAKmrB,SAASjV,QAAQhX,IACjCc,KAAKkW,OAAOhX,MAIhB,OAFAc,KAAKmrB,SAASnV,SAAS5R,GAAUpE,KAAKwT,UAAUpP,KAChDpE,KAAKmrB,SAASvV,SAAQ,IAAM5V,KAAK4qB,cAC1B5K,EAEX9J,OAAOhX,GAEH,IADAc,KAAK5B,OAAOqrB,OAAOvqB,KACN,CACT,IAAgC,IAA5Bc,KAAKqrB,kBAA0B,CAC/B,MAAMpB,EAAUjqB,KAAK5B,OAAOwrB,iBAC5B,IAAKK,EACD,OAEJ,MAAMwB,EAAgBxB,EAAQ1lB,IAAI,kBAClC,IAAKknB,EACD,MAAM,IAAI7vB,MAAM,kDAEpB,MAAMZ,EAAS+G,SAAS0pB,GACxB,GAAI9c,MAAM3T,GACN,MAAM,IAAIY,MAAM,0CAEpBoE,KAAKqrB,kBAAoBrwB,EAE7B,MAAM0wB,EAAO1rB,KAAK5B,OAAOgsB,YAAYpqB,KAAKqrB,mBAC1C,QAAavsB,IAAT4sB,EAGA,YADA1rB,KAAK2rB,yBAKT,IAAInZ,EAFJxS,KAAK4rB,2BACL5rB,KAAKqrB,mBAAqB,EAGtB7Y,OADgC1T,IAAhCkB,KAAKoU,QAAQ2W,eACT/qB,KAAKoU,QAAQ2W,eAAe1V,OAAOqW,GAGnC3Z,QAAQtC,QAAQic,GAExBlZ,EAAEmD,MAAMrY,IACJ0C,KAAKoU,QAAQ6W,mBAAmB5V,OAAO/X,EAAO0C,KAAKoU,SAASuB,MAAM3I,IAC9DhN,KAAK2T,SAAS3G,MACd5I,IACApE,KAAKwT,UAAUpP,SAEnBA,IACApE,KAAKwT,UAAUpP,OAI3BwnB,2BACQ5rB,KAAKwrB,sBACL/W,EAAM5B,UAAUoE,MAAMI,aAAarX,KAAKwrB,qBACxCxrB,KAAKwrB,yBAAsB1sB,GAGnC6sB,yBACI3rB,KAAK4rB,2BACD5rB,KAAKorB,wBAA0B,IAGnCprB,KAAKwrB,oBAAsB/W,EAAM5B,UAAUoE,MAAMC,YAAW,CAAC8J,EAAOuK,KAChEvrB,KAAKwrB,yBAAsB1sB,EACvBkiB,IAAUhhB,KAAKsrB,eACftrB,KAAK6qB,mBAAmB,CAAES,aAActK,EAAO6K,YAAaN,IAC5DvrB,KAAK2rB,4BAEV3rB,KAAKorB,uBAAwBprB,KAAKsrB,aAActrB,KAAKorB,4B,4BCvLhEtuB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQue,6BAA+Bve,EAAQ+Z,sBAAwB/Z,EAAQwe,mBAAgB,EAC/F,MAAM5D,EAAQ,EAAQ,MAChBkG,EAAK,EAAQ,MACbmR,EAAc,EAAQ,MACtBnX,EAAW,EAAQ,MAGzB,IAwCIoX,GAhCelyB,EAAQwe,gBAAkBxe,EAAQwe,cAAgB,KADnD9D,GALd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,EAAGoB,KAAKf,EAAUI,UAAYT,EAAGoB,KAAKf,EAAUpF,UAChE+E,EAAGoB,KAAKf,EAAUhF,UAAY2E,EAAGoB,KAAKf,EAAUrd,QAI5D,MAAMiW,EACF3H,cACIjM,KAAKwe,aAAe,IAAI7J,EAASxB,QACjCnT,KAAKye,aAAe,IAAI9J,EAASxB,QAErCiI,UACIpb,KAAKwe,aAAapD,UAClBpb,KAAKye,aAAarD,UAEtB,cACI,OAAOpb,KAAKwe,aAAanL,MAE7BG,UAAUpP,EAAOmI,EAASyf,GACtBhsB,KAAKwe,aAAalL,KAAK,CAACtT,KAAK2qB,QAAQvmB,GAAQmI,EAASyf,IAE1D,cACI,OAAOhsB,KAAKye,aAAapL,MAE7BuX,YACI5qB,KAAKye,aAAanL,UAAKxU,GAE3B6rB,QAAQvmB,GACJ,OAAIA,aAAiBxI,MACVwI,EAGA,IAAIxI,MAAM,kCAAkC+e,EAAGpd,OAAO6G,EAAMmI,SAAWnI,EAAMmI,QAAU,cAI1G1S,EAAQ+Z,sBAAwBA,EAEhC,SAAWmY,GAUPA,EAA6BjB,YAT7B,SAAqB1W,GACjB,IAAI0T,EAAImE,EACR,YAAgBntB,IAAZsV,GAA4C,iBAAZA,EACzB,CAAEwC,QAASxC,QAAyCA,EAAU,QAAS8X,mBAAoBzX,EAAM5B,UAAU6D,gBAAgBC,SAG3H,CAAEC,QAAoC,QAA1BkR,EAAK1T,EAAQwC,eAA4B,IAAPkR,EAAgBA,EAAK,QAASqE,eAAgB/X,EAAQ+X,eAAgBD,mBAA0D,QAArCD,EAAK7X,EAAQ8X,0BAAuC,IAAPD,EAAgBA,EAAKxX,EAAM5B,UAAU6D,gBAAgBC,UAP9P,CAWGoV,IAAiCA,EAA+B,KAkDnElyB,EAAQue,6BAjDR,cAA2CxE,EACvC3H,YAAYE,EAAUiI,GAClBlI,QACAlM,KAAKmM,SAAWA,EAChBnM,KAAKoU,QAAU2X,EAA6BjB,YAAY1W,GACxDpU,KAAK6T,WAAa,EAClB7T,KAAKosB,eAAiB,IAAIN,EAAYO,UAAU,GAChDrsB,KAAKmM,SAAS6J,SAAS5R,GAAUpE,KAAKwT,UAAUpP,KAChDpE,KAAKmM,SAASyJ,SAAQ,IAAM5V,KAAK4qB,cAErC,YAAY5d,GACR,OAAOhN,KAAKosB,eAAeE,MAAKC,SACZvsB,KAAKoU,QAAQ8X,mBAAmB9W,OAAOpI,EAAKhN,KAAKoU,SAASuB,MAAMvX,QACxCU,IAAhCkB,KAAKoU,QAAQ+X,eACNnsB,KAAKoU,QAAQ+X,eAAe/W,OAAOhX,GAGnCA,IAGAuX,MAAMvX,IACjB,MAAM6rB,EAAU,GAGhB,OAFAA,EAAQ5uB,KA7EF,mBA6EsB+C,EAAOtE,WAAW0F,WA5EjD,QA6EGyqB,EAAQ5uB,KA7EX,QA8EU2E,KAAKwsB,QAAQxf,EAAKid,EAAS7rB,MAClCgG,IAEA,MADApE,KAAKwT,UAAUpP,GACTA,OAIlB,cAAc4I,EAAKid,EAAS/qB,GACxB,IAEI,aADMc,KAAKmM,SAASxO,MAAMssB,EAAQzuB,KAAK,IAAK,SACrCwE,KAAKmM,SAASxO,MAAMuB,GAE/B,MAAOkF,GAEH,OADApE,KAAK+T,YAAY3P,EAAO4I,GACjB+E,QAAQiC,OAAO5P,IAG9B2P,YAAY3P,EAAO4I,GACfhN,KAAK6T,aACL7T,KAAKwT,UAAUpP,EAAO4I,EAAKhN,KAAK6T,YAEpC9X,MACIiE,KAAKmM,SAASpQ,S,4BC3GtBe,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQioB,kBAAoBjoB,EAAQ4nB,sBAAwB5nB,EAAQ2lB,iBAAmB3lB,EAAQ+e,kBAAoB/e,EAAQgf,kBAAoBhf,EAAQif,kBAAoBjf,EAAQkf,kBAAoBlf,EAAQmf,kBAAoBnf,EAAQof,kBAAoBpf,EAAQqf,kBAAoBrf,EAAQsf,kBAAoBtf,EAAQuf,kBAAoBvf,EAAQwf,kBAAoBxf,EAAQyf,iBAAmBzf,EAAQ4f,aAAe5f,EAAQ6f,aAAe7f,EAAQ8f,aAAe9f,EAAQ+f,aAAe/f,EAAQggB,aAAehgB,EAAQigB,aAAejgB,EAAQkgB,aAAelgB,EAAQmgB,aAAengB,EAAQogB,aAAepgB,EAAQsgB,YAActgB,EAAQqgB,aAAergB,EAAQ4yB,yBAA2B5yB,EAAQ8e,oBAAsB9e,EAAQ2f,cAAgB3f,EAAQ0f,gBAAa,EACpvB,MAAMhF,EAAK,EAAQ,MAInB,IAAIgF,GACJ,SAAWA,GAEPA,EAAWmT,YAAc,MACzBnT,EAAWoT,gBAAkB,MAC7BpT,EAAWgI,gBAAkB,MAC7BhI,EAAWwH,eAAiB,MAC5BxH,EAAW8H,eAAiB,MAU5B9H,EAAWqT,gCAAkC,MAE7CrT,EAAWsT,iBAAmBtT,EAAWqT,+BACzCrT,EAAWqL,mBAAqB,MAChCrL,EAAWuT,kBAAoB,MAC/BvT,EAAWwT,sBAAwB,MACnCxT,EAAWyT,kBAAoB,MAO/BzT,EAAW0T,8BAAgC,KAE3C1T,EAAW2T,eAAiB3T,EAAW0T,6BA/B3C,CAgCG1T,EAAa1f,EAAQ0f,aAAe1f,EAAQ0f,WAAa,KAK5D,MAAMC,UAAsB5d,MACxBqQ,YAAYtQ,EAAM4Q,EAASrN,GACvBgN,MAAMK,GACNvM,KAAKrE,KAAO4Y,EAAG8N,OAAO1mB,GAAQA,EAAO4d,EAAWyT,iBAChDhtB,KAAKd,KAAOA,EACZpC,OAAOC,eAAeiD,KAAMwZ,EAAcxc,WAE9C+iB,SACI,MAAO,CACHpkB,KAAMqE,KAAKrE,KACX4Q,QAASvM,KAAKuM,QACdrN,KAAMc,KAAKd,OAIvBrF,EAAQ2f,cAAgBA,EACxB,MAAMb,EACF1M,YAAYkhB,GACRntB,KAAKmtB,KAAOA,EAEhB,UAAU7vB,GACN,OAAOA,IAAUqb,EAAoB6K,MAAQlmB,IAAUqb,EAAoBuI,QAAU5jB,IAAUqb,EAAoBwI,WAEvH3hB,WACI,OAAOQ,KAAKmtB,MAGpBtzB,EAAQ8e,oBAAsBA,EAK9BA,EAAoB6K,KAAO,IAAI7K,EAAoB,QAKnDA,EAAoBwI,WAAa,IAAIxI,EAAoB,cAMzDA,EAAoBuI,OAAS,IAAIvI,EAAoB,UAIrD,MAAM8T,EACFxgB,YAAY2T,EAAQkB,GAChB9gB,KAAK4f,OAASA,EACd5f,KAAK8gB,eAAiBA,EAE1B,0BACI,OAAOnI,EAAoB6K,MAGnC3pB,EAAQ4yB,yBAA2BA,EASnC5yB,EAAQqgB,aALR,cAA2BuS,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAatB/lB,EAAQsgB,YATR,cAA0BsS,EACtBxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBAapBvzB,EAAQogB,aATR,cAA2BwS,EACvBxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBASpBvzB,EAAQmgB,aALR,cAA2ByS,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQkgB,aALR,cAA2B0S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQigB,aALR,cAA2B2S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQggB,aALR,cAA2B4S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ+f,aALR,cAA2B6S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ8f,aALR,cAA2B8S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ6f,aALR,cAA2B+S,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ4f,aALR,cAA2BgT,EACvBxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAatB/lB,EAAQyf,iBATR,cAA+BmT,EAC3BxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBASpBvzB,EAAQwf,kBALR,cAAgCoT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAatB/lB,EAAQuf,kBATR,cAAgCqT,EAC5BxgB,YAAY2T,EAAQwN,EAAuBzU,EAAoB6K,MAC3DtX,MAAM0T,EAAQ,GACd5f,KAAKotB,qBAAuBA,EAEhC,0BACI,OAAOptB,KAAKotB,uBASpBvzB,EAAQsf,kBALR,cAAgCsT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQqf,kBALR,cAAgCuT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQof,kBALR,cAAgCwT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQmf,kBALR,cAAgCyT,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQkf,kBALR,cAAgC0T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQif,kBALR,cAAgC2T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQgf,kBALR,cAAgC4T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAStB/lB,EAAQ+e,kBALR,cAAgC6T,EAC5BxgB,YAAY2T,GACR1T,MAAM0T,EAAQ,KAWtB/lB,EAAQ2lB,iBAJR,SAA0BjT,GACtB,MAAMyO,EAAYzO,EAClB,OAAOyO,GAAazG,EAAGhX,OAAOyd,EAAU4E,UAAYrL,EAAGhX,OAAOyd,EAAU4B,KAAOrI,EAAG8N,OAAOrH,EAAU4B,MAUvG/iB,EAAQ4nB,sBAJR,SAA+BlV,GAC3B,MAAMyO,EAAYzO,EAClB,OAAOyO,GAAazG,EAAGhX,OAAOyd,EAAU4E,cAA0B,IAAfrT,EAAQqQ,IAU/D/iB,EAAQioB,kBAJR,SAA2BvV,GACvB,MAAMyO,EAAYzO,EAClB,OAAOyO,SAAmC,IAArBA,EAAUgF,UAAuBhF,EAAU5W,SAAWmQ,EAAGhX,OAAOyd,EAAU4B,KAAOrI,EAAG8N,OAAOrH,EAAU4B,KAAwB,OAAjB5B,EAAU4B,M,0BChR/I,IAAIyQ,EACJ,SAASjT,IACL,QAAatb,IAATuuB,EACA,MAAM,IAAIzxB,MAAM,0CAEpB,OAAOyxB,EANXvwB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IAQtD,SAAW8c,GAOPA,EAAItH,QANJ,SAAiBwa,GACb,QAAYxuB,IAARwuB,EACA,MAAM,IAAI1xB,MAAM,yCAEpByxB,EAAOC,GALf,CAQGlT,IAAQA,EAAM,KACjBvgB,EAAQgZ,QAAUuH,G,4BCjBlBtd,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQwyB,eAAY,EACpB,MAAM5X,EAAQ,EAAQ,MA4DtB5a,EAAQwyB,UA3DR,MACIpgB,YAAYshB,EAAW,GACnB,GAAIA,GAAY,EACZ,MAAM,IAAI3xB,MAAM,mCAEpBoE,KAAKwtB,UAAYD,EACjBvtB,KAAKytB,QAAU,EACfztB,KAAK0tB,SAAW,GAEpBpB,KAAKqB,GACD,OAAO,IAAI5b,SAAQ,CAACtC,EAASuE,KACzBhU,KAAK0tB,SAASryB,KAAK,CAAEsyB,QAAOle,UAASuE,WACrChU,KAAK4tB,aAGb,aACI,OAAO5tB,KAAKytB,QAEhBG,UACiC,IAAzB5tB,KAAK0tB,SAAS1yB,QAAgBgF,KAAKytB,UAAYztB,KAAKwtB,WAGxD/Y,EAAM5B,UAAUoE,MAAMM,cAAa,IAAMvX,KAAK6tB,cAElDA,YACI,GAA6B,IAAzB7tB,KAAK0tB,SAAS1yB,QAAgBgF,KAAKytB,UAAYztB,KAAKwtB,UACpD,OAEJ,MAAMvF,EAAOjoB,KAAK0tB,SAASnO,QAE3B,GADAvf,KAAKytB,UACDztB,KAAKytB,QAAUztB,KAAKwtB,UACpB,MAAM,IAAI5xB,MAAM,yBAEpB,IACI,MAAMokB,EAASiI,EAAK0F,QAChB3N,aAAkBjO,QAClBiO,EAAOrK,MAAMrY,IACT0C,KAAKytB,UACLxF,EAAKxY,QAAQnS,GACb0C,KAAK4tB,aACLE,IACA9tB,KAAKytB,UACLxF,EAAKjU,OAAO8Z,GACZ9tB,KAAK4tB,cAIT5tB,KAAKytB,UACLxF,EAAKxY,QAAQuQ,GACbhgB,KAAK4tB,WAGb,MAAOE,GACH9tB,KAAKytB,UACLxF,EAAKjU,OAAO8Z,GACZ9tB,KAAK4tB,c,4BCzDjB9b,EAAOjY,QAAU,EAAjB,O,kCCDA,IAAIqY,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk0B,8BAA2B,EACnC,MAAMC,EAAY,EAAQ,MAC1Bzb,EAAa,EAAQ,MAA2B1Y,GAChD0Y,EAAa,EAAQ,MAAkB1Y,GAIvCA,EAAQk0B,yBAHR,SAAkC9Z,EAAQC,EAAQC,EAAQC,GACtD,OAAO4Z,EAAUtb,wBAAwBuB,EAAQC,EAAQC,EAAQC,K,kCChBrE,IAAIlC,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQo0B,cAAgBp0B,EAAQk0B,8BAA2B,EAC3Dxb,EAAa,EAAQ,MAAmB1Y,GACxC0Y,EAAa,EAAQ,MAAgC1Y,GACrD0Y,EAAa,EAAQ,MAAe1Y,GACpC0Y,EAAa,EAAQ,MAAe1Y,GACpC,IAGWo0B,EAHPvT,EAAe,EAAQ,MAC3B5d,OAAOuH,eAAexK,EAAS,2BAA4B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmW,EAAaqT,6BAE3GE,EAiBQp0B,EAAQo0B,gBAAkBp0B,EAAQo0B,cAAgB,KAVnDC,4BAA8B,MAC5CD,EAAcE,iBAAmB,MACjCF,EAAcG,kBAAoB,MAOlCH,EAAcI,0BAA4B,O,4BCnC9CvxB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk0B,8BAA2B,EACnC,MAAMO,EAAmB,EAAQ,MAOjCz0B,EAAQk0B,yBANR,SAAkChhB,EAAO9Q,EAAQkY,EAAQC,GAIrD,OAHIka,EAAiBha,mBAAmBC,GAAGH,KACvCA,EAAU,CAAEI,mBAAoBJ,IAE7Bka,EAAiB5b,wBAAwB3F,EAAO9Q,EAAQkY,EAAQC,K,4BCP3EtX,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ00B,yBAA2B10B,EAAQ20B,0BAA4B30B,EAAQ40B,oBAAsB50B,EAAQ60B,qBAAuB70B,EAAQ80B,sBAAmB,EAC/J,MAAML,EAAmB,EAAQ,MAMjCz0B,EAAQ80B,iBALR,MACI1iB,YAAY2T,GACR5f,KAAK4f,OAASA,IAItB,MAAM8O,UAA6BJ,EAAiBpU,aAChDjO,YAAY2T,GACR1T,MAAM0T,IAGd/lB,EAAQ60B,qBAAuBA,EAC/B,MAAMD,UAA4BH,EAAiBnU,YAC/ClO,YAAY2T,GACR1T,MAAM0T,EAAQ0O,EAAiB3V,oBAAoBuI,SAG3DrnB,EAAQ40B,oBAAsBA,EAC9B,MAAMD,UAAkCF,EAAiBjV,kBACrDpN,YAAY2T,GACR1T,MAAM0T,IAGd/lB,EAAQ20B,0BAA4BA,EACpC,MAAMD,UAAiCD,EAAiBhV,iBACpDrN,YAAY2T,GACR1T,MAAM0T,EAAQ0O,EAAiB3V,oBAAoBuI,SAG3DrnB,EAAQ00B,yBAA2BA,G,4BChCnCzxB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ+0B,kCAAoC/0B,EAAQg1B,kCAAoCh1B,EAAQi1B,iCAA8B,EAC9H,MAAMxU,EAAa,EAAQ,MA4B3B,IAAWsU,EAVAC,EAVAC,KAGsBj1B,EAAQi1B,8BAAgCj1B,EAAQi1B,4BAA8B,KAF/ElP,OAAS,oCACrCkP,EAA4B9vB,KAAO,IAAIsb,EAAWmU,oBAAoBK,EAA4BlP,SAQ3FiP,EAG4Bh1B,EAAQg1B,oCAAsCh1B,EAAQg1B,kCAAoC,KAF3FjP,OAAS,8BAC3CiP,EAAkC7vB,KAAO,IAAIsb,EAAWmU,oBAAoBI,EAAkCjP,SAQvGgP,EAG4B/0B,EAAQ+0B,oCAAsC/0B,EAAQ+0B,kCAAoC,KAF3FhP,OAAS,8BAC3CgP,EAAkC5vB,KAAO,IAAIsb,EAAWmU,oBAAoBG,EAAkChP,S,4BChClH9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk1B,yBAA2Bl1B,EAAQm1B,0BAAuB,EAClE,MAAM1U,EAAa,EAAQ,MAmB3B,IAXW0U,KAGen1B,EAAQm1B,uBAAyBn1B,EAAQm1B,qBAAuB,KAFjEpP,OAAS,6BAC9BoP,EAAqBhwB,KAAO,IAAIsb,EAAWmU,oBAAoBO,EAAqBpP,SAW1D/lB,EAAQk1B,2BAA6Bl1B,EAAQk1B,yBAA2B,KADzE/vB,KAAO,IAAIsb,EAAWmU,oBAAoB,mC,4BCtBvE3xB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQo1B,0BAAuB,EAC/B,MAAM3U,EAAa,EAAQ,OAaDzgB,EAAQo1B,uBAAyBp1B,EAAQo1B,qBAAuB,KADjEjwB,KAAO,IAAIsb,EAAWmU,oBAAoB,4B,4BCdnE3xB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQq1B,wBAAqB,EAC7B,MAAM5U,EAAa,EAAQ,MAW3B,IAAW4U,KAGar1B,EAAQq1B,qBAAuBr1B,EAAQq1B,mBAAqB,KAF7DtP,OAAS,2BAC5BsP,EAAmBlwB,KAAO,IAAIsb,EAAWmU,oBAAoBS,EAAmBtP,S,4BCfpF9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQs1B,uBAAyBt1B,EAAQu1B,2BAA6Bv1B,EAAQw1B,2BAA6Bx1B,EAAQy1B,uBAAyBz1B,EAAQ01B,2BAA6B11B,EAAQ21B,uBAAyB31B,EAAQ41B,8BAA2B,EACrP,MAAMnV,EAAa,EAAQ,MAgF3B,IAAW6U,EAXAC,EAXAC,EAXAC,EAXAC,EAXAC,EAjBAC,KASmB51B,EAAQ41B,2BAA6B51B,EAAQ41B,yBAA2B,KALzEC,KAAO,OAIhCD,EAAyBE,OAAS,UAS3BH,EAGiB31B,EAAQ21B,yBAA2B31B,EAAQ21B,uBAAyB,KAFrE5P,OAAS,4BAChC4P,EAAuBxwB,KAAO,IAAIsb,EAAWmU,oBAAoBe,EAAuB5P,SASjF2P,EAGqB11B,EAAQ01B,6BAA+B11B,EAAQ01B,2BAA6B,KAF7E3P,OAAS,2BACpC2P,EAA2BvwB,KAAO,IAAIsb,EAAWiU,yBAAyBgB,EAA2B3P,SAS9F0P,EAGiBz1B,EAAQy1B,yBAA2Bz1B,EAAQy1B,uBAAyB,KAFrE1P,OAAS,4BAChC0P,EAAuBtwB,KAAO,IAAIsb,EAAWmU,oBAAoBa,EAAuB1P,SASjFyP,EAGqBx1B,EAAQw1B,6BAA+Bx1B,EAAQw1B,2BAA6B,KAF7EzP,OAAS,2BACpCyP,EAA2BrwB,KAAO,IAAIsb,EAAWiU,yBAAyBc,EAA2BzP,SAS9FwP,EAGqBv1B,EAAQu1B,6BAA+Bv1B,EAAQu1B,2BAA6B,KAF7ExP,OAAS,2BACpCwP,EAA2BpwB,KAAO,IAAIsb,EAAWiU,yBAAyBa,EAA2BxP,SAS9FuP,EAGiBt1B,EAAQs1B,yBAA2Bt1B,EAAQs1B,uBAAyB,KAFrEvP,OAAS,4BAChCuP,EAAuBnwB,KAAO,IAAIsb,EAAWmU,oBAAoBU,EAAuBvP,S,4BCpF5F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ+1B,oBAAsB/1B,EAAQg2B,sBAAmB,EACzD,MAAMvV,EAAa,EAAQ,MA0B3B,IAAWsV,EArBAC,KAaWh2B,EAAQg2B,mBAAqBh2B,EAAQg2B,iBAAmB,KAThD,QAAI,UAI9BA,EAA0B,QAAI,UAI9BA,EAAyB,OAAI,UAStBD,EAGc/1B,EAAQ+1B,sBAAwB/1B,EAAQ+1B,oBAAsB,KAF/DhQ,OAAS,4BAC7BgQ,EAAoB5wB,KAAO,IAAIsb,EAAWmU,oBAAoBmB,EAAoBhQ,S,2BC9BtF9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQi2B,2BAAwB,EAChC,MAAMxV,EAAa,EAAQ,MAU3B,IAAWwV,KAGgBj2B,EAAQi2B,wBAA0Bj2B,EAAQi2B,sBAAwB,KAFnElQ,OAAS,8BAC/BkQ,EAAsB9wB,KAAO,IAAIsb,EAAWmU,oBAAoBqB,EAAsBlQ,S,4BCd1F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk2B,oBAAsBl2B,EAAQm2B,uBAAyBn2B,EAAQo2B,uBAAyBp2B,EAAQq2B,gBAAkBr2B,EAAQs2B,uBAAyBt2B,EAAQu2B,yBAA2Bv2B,EAAQw2B,kBAAoBx2B,EAAQy2B,sBAAwBz2B,EAAQ02B,yBAA2B12B,EAAQ22B,kBAAoB32B,EAAQ42B,kBAAoB52B,EAAQ62B,qBAAuB72B,EAAQ82B,yBAA2B92B,EAAQ+2B,aAAe/2B,EAAQg3B,yBAA2Bh3B,EAAQi3B,kBAAoBj3B,EAAQk3B,sBAAwBl3B,EAAQm3B,+BAAiCn3B,EAAQo3B,UAAYp3B,EAAQq3B,eAAiBr3B,EAAQs3B,kCAAoCt3B,EAAQu3B,qCAAuCv3B,EAAQw3B,iCAAmCx3B,EAAQy3B,uBAAyBz3B,EAAQ03B,gCAAkC13B,EAAQ23B,iCAAmC33B,EAAQ43B,kCAAoC53B,EAAQ63B,+BAAiC73B,EAAQ83B,gCAAkC93B,EAAQ+3B,qBAAuB/3B,EAAQg4B,2BAA6Bh4B,EAAQi4B,uBAAyBj4B,EAAQk4B,mBAAqBl4B,EAAQm4B,wBAA0Bn4B,EAAQo4B,YAAcp4B,EAAQq4B,mCAAqCr4B,EAAQs4B,iBAAmBt4B,EAAQu4B,gBAAkBv4B,EAAQw4B,wBAA0Bx4B,EAAQy4B,gBAAkBz4B,EAAQ04B,kBAAoB14B,EAAQ24B,wBAA0B34B,EAAQ44B,gCAAkC54B,EAAQ64B,0BAA4B74B,EAAQ84B,oBAAsB94B,EAAQ+4B,sBAAwB/4B,EAAQg5B,sBAAwBh5B,EAAQi5B,oBAAsBj5B,EAAQk5B,iBAAmBl5B,EAAQm5B,oBAAiB,EAClnDn5B,EAAQo5B,eAAiBp5B,EAAQq5B,YAAcr5B,EAAQs5B,gBAAkBt5B,EAAQs1B,uBAAyBt1B,EAAQu1B,2BAA6Bv1B,EAAQy1B,uBAAyBz1B,EAAQw1B,2BAA6Bx1B,EAAQ21B,uBAAyB31B,EAAQ01B,2BAA6B11B,EAAQ41B,yBAA2B51B,EAAQu5B,0BAA4Bv5B,EAAQw5B,oBAAsBx5B,EAAQy5B,+BAAiCz5B,EAAQ05B,6BAA+B15B,EAAQ25B,2BAA6B35B,EAAQ45B,2BAA6B55B,EAAQ65B,sBAAwB75B,EAAQ85B,YAAc95B,EAAQ+5B,eAAiB/5B,EAAQg6B,uBAAyBh6B,EAAQi6B,mBAAqBj6B,EAAQi1B,4BAA8Bj1B,EAAQ+0B,kCAAoC/0B,EAAQg1B,kCAAoCh1B,EAAQk6B,mCAAqCl6B,EAAQm6B,8BAAgCn6B,EAAQo6B,iBAAmBp6B,EAAQq6B,sBAAwBr6B,EAAQq1B,mBAAqBr1B,EAAQ+1B,oBAAsB/1B,EAAQk1B,yBAA2Bl1B,EAAQm1B,qBAAuBn1B,EAAQo1B,qBAAuBp1B,EAAQs6B,sCAAwCt6B,EAAQu6B,wBAA0Bv6B,EAAQw6B,sBAAwBx6B,EAAQi2B,sBAAwBj2B,EAAQy6B,0BAA4Bz6B,EAAQ06B,sBAAwB16B,EAAQ26B,qBAAuB36B,EAAQ46B,cAAgB56B,EAAQ66B,8BAAgC76B,EAAQ86B,gCAAkC96B,EAAQ+6B,+BAAiC/6B,EAAQg7B,0BAA4Bh7B,EAAQi7B,gCAA6B,EACliD,MAAMna,EAAK,EAAQ,MACbL,EAAa,EAAQ,MACrBya,EAA4B,EAAQ,KAC1Cj4B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOwwB,EAA0BjF,yBAChI,MAAMkF,EAA4B,EAAQ,MAC1Cl4B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOywB,EAA0BX,yBAChI,MAAMY,EAA8B,EAAQ,MAC5Cn4B,OAAOuH,eAAexK,EAAS,0BAA2B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO0wB,EAA4Bb,2BACpIt3B,OAAOuH,eAAexK,EAAS,wCAAyC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO0wB,EAA4Bd,yCAClJ,MAAMe,EAA2B,EAAQ,MACzCp4B,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO2wB,EAAyBjG,wBAC9H,MAAMkG,EAA2B,EAAQ,MACzCr4B,OAAOuH,eAAexK,EAAS,uBAAwB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO4wB,EAAyBnG,wBAC9HlyB,OAAOuH,eAAexK,EAAS,2BAA4B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO4wB,EAAyBpG,4BAClI,MAAMqG,EAA0B,EAAQ,MACxCt4B,OAAOuH,eAAexK,EAAS,sBAAuB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO6wB,EAAwBxF,uBAC5H,MAAMyF,EAAyB,EAAQ,MACvCv4B,OAAOuH,eAAexK,EAAS,qBAAsB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO8wB,EAAuBnG,sBAC1H,MAAMoG,EAA4B,EAAQ,MAC1Cx4B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAO+wB,EAA0BpB,yBAChI,MAAMqB,EAAsB,EAAQ,MACpCz4B,OAAOuH,eAAexK,EAAS,mBAAoB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgxB,EAAoBtB,oBACrHn3B,OAAOuH,eAAexK,EAAS,gCAAiC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgxB,EAAoBvB,iCAClIl3B,OAAOuH,eAAexK,EAAS,qCAAsC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOgxB,EAAoBxB,sCACvI,MAAMyB,EAA2B,EAAQ,MACzC14B,OAAOuH,eAAexK,EAAS,oCAAqC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOixB,EAAyB3G,qCAC3I/xB,OAAOuH,eAAexK,EAAS,oCAAqC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOixB,EAAyB5G,qCAC3I9xB,OAAOuH,eAAexK,EAAS,8BAA+B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOixB,EAAyB1G,+BACrI,MAAM2G,EAA4B,EAAQ,MAC1C34B,OAAOuH,eAAexK,EAAS,qBAAsB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B3B,sBAC7Hh3B,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B5B,0BACjI/2B,OAAOuH,eAAexK,EAAS,iBAAkB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B7B,kBACzH92B,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B9B,eACtH72B,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0B/B,yBAChI52B,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BhC,8BACrI32B,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BjC,8BACrI12B,OAAOuH,eAAexK,EAAS,+BAAgC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BlC,gCACvIz2B,OAAOuH,eAAexK,EAAS,iCAAkC,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOkxB,EAA0BnC,kCACzI,MAAMoC,EAA0B,EAAQ,MACxC54B,OAAOuH,eAAexK,EAAS,sBAAuB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOmxB,EAAwBrC,uBAC5H,MAAMsC,EAAgC,EAAQ,MAC9C74B,OAAOuH,eAAexK,EAAS,4BAA6B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOoxB,EAA8BvC,6BACxI,MAAMwC,EAA4B,EAAQ,MAC1C94B,OAAOuH,eAAexK,EAAS,2BAA4B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BnG,4BACnI3yB,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BrG,8BACrIzyB,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BpG,0BACjI1yB,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BvG,8BACrIvyB,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BtG,0BACjIxyB,OAAOuH,eAAexK,EAAS,6BAA8B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BxG,8BACrItyB,OAAOuH,eAAexK,EAAS,yBAA0B,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOqxB,EAA0BzG,0BACjI,MAAM0G,EAAqB,EAAQ,MAUnC,IAAI7C,EAYAD,EA+oBOyB,EAVAC,EAjBAE,EARAC,EARAC,EARAC,EAVA/E,EARAC,EAVAC,EARAC,EARAC,EAXAC,EAVAC,EARAC,EAXAC,EAXAC,EAXAC,EAZAC,EAfAC,EAVAC,EAVAC,EAVAC,EA5BAC,EA1BAE,EAfAC,EAhBAE,EAbAC,EApBAC,EARAC,EATAC,EAdAC,EA1BAC,EALAC,GA5BAC,GAxDAK,GA9EAO,GApDAG,GAfAC,GArDX91B,OAAOuH,eAAexK,EAAS,kBAAmB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOsxB,EAAmB1C,mBACnHr2B,OAAOuH,eAAexK,EAAS,cAAe,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOsxB,EAAmB3C,eAC/Gp2B,OAAOuH,eAAexK,EAAS,iBAAkB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOsxB,EAAmB5C,kBAQlH,SAAWD,GAKPA,EAAeze,GAJf,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAOqd,EAAGpd,OAAOyd,EAAU8a,WAAanb,EAAGpd,OAAOyd,EAAU+a,SAAWpb,EAAGpd,OAAOyd,EAAUgb,UAHnG,CAMGhD,EAAiBn5B,EAAQm5B,iBAAmBn5B,EAAQm5B,eAAiB,KAMxE,SAAWD,GAYPA,EAAiBxe,GAXjB,SAAYjX,GACR,IAAK5B,MAAMuD,QAAQ3B,GACf,OAAO,EAEX,IAAK,IAAI0pB,KAAQ1pB,EACb,IAAKqd,EAAGpd,OAAOypB,KAAUgM,EAAeze,GAAGyS,GACvC,OAAO,EAGf,OAAO,GAVf,CAaG+L,EAAmBl5B,EAAQk5B,mBAAqBl5B,EAAQk5B,iBAAmB,MAQrDl5B,EAAQi5B,sBAAwBj5B,EAAQi5B,oBAAsB,KAD/D9zB,KAAO,IAAIsb,EAAWmU,oBAAoB,8BASvC50B,EAAQg5B,wBAA0Bh5B,EAAQg5B,sBAAwB,KADnE7zB,KAAO,IAAIsb,EAAWmU,oBAAoB,gCAGzDmE,GAagB/4B,EAAQ+4B,wBAA0B/4B,EAAQ+4B,sBAAwB,KATnEqD,OAAS,SAI/BrD,GAAsBsD,OAAS,SAI/BtD,GAAsBuD,OAAS,UAGxBxD,GAsBc94B,EAAQ84B,sBAAwB94B,EAAQ84B,oBAAsB,KAjB/DyD,MAAQ,QAK5BzD,GAAoB0D,cAAgB,gBAMpC1D,GAAoB2D,sBAAwB,wBAK5C3D,GAAoB4D,KAAO,QAaA18B,EAAQ64B,4BAA8B74B,EAAQ64B,0BAA4B,KAD3E8D,MAJ1B,SAAel5B,GACX,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGpd,OAAOyd,EAAU4B,KAAO5B,EAAU4B,GAAG5hB,OAAS,IAexCnB,EAAQ44B,kCAAoC54B,EAAQ44B,gCAAkC,KADvFle,GAJhC,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAO0d,IAA6C,OAA/BA,EAAUyb,kBAA6B1D,EAAiBxe,GAAGyG,EAAUyb,qBASvFjE,GAWkB34B,EAAQ24B,0BAA4B34B,EAAQ24B,wBAA0B,KANvEje,GAJxB,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,OAAOqd,EAAG+b,cAAc1b,UAA8Clc,IAA/Bkc,EAAU2b,kBAAkChc,EAAGM,QAAQD,EAAU2b,oBAO5GnE,GAAwBoE,oBAJxB,SAA6Bt5B,GACzB,MAAM0d,EAAY1d,EAClB,OAAO0d,GAAaL,EAAGM,QAAQD,EAAU2b,oBAc1B98B,EAAQ04B,oBAAsB14B,EAAQ04B,kBAAoB,KAD3DvzB,KAAO,IAAIsb,EAAWmU,oBAAoB,eAa3C50B,EAAQy4B,kBAAoBz4B,EAAQy4B,gBAAkB,KADvDuE,uBAAyB,GAUhBh9B,EAAQw4B,0BAA4Bx4B,EAAQw4B,wBAA0B,KADvErzB,KAAO,IAAIsb,EAAWiU,yBAAyB,gBAYtD10B,EAAQu4B,kBAAoBv4B,EAAQu4B,gBAAkB,KADvDpzB,KAAO,IAAIsb,EAAWoU,qBAAqB,aAUzC70B,EAAQs4B,mBAAqBt4B,EAAQs4B,iBAAmB,KADzDnzB,KAAO,IAAIsb,EAAWkU,0BAA0B,SAU7B30B,EAAQq4B,qCAAuCr4B,EAAQq4B,mCAAqC,KAD7FlzB,KAAO,IAAIsb,EAAWiU,yBAAyB,qCAO3E0D,GAiBMp4B,EAAQo4B,cAAgBp4B,EAAQo4B,YAAc,KAb/Cr2B,MAAQ,EAIpBq2B,GAAY6E,QAAU,EAItB7E,GAAY8E,KAAO,EAInB9E,GAAY+E,IAAM,GASOn9B,EAAQm4B,0BAA4Bn4B,EAAQm4B,wBAA0B,KADvEhzB,KAAO,IAAIsb,EAAWiU,yBAAyB,uBASnD10B,EAAQk4B,qBAAuBl4B,EAAQk4B,mBAAqB,KAD7D/yB,KAAO,IAAIsb,EAAWmU,oBAAoB,8BASrC50B,EAAQi4B,yBAA2Bj4B,EAAQi4B,uBAAyB,KADrE9yB,KAAO,IAAIsb,EAAWiU,yBAAyB,sBAU1C10B,EAAQg4B,6BAA+Bh4B,EAAQg4B,2BAA6B,KAD7E7yB,KAAO,IAAIsb,EAAWiU,yBAAyB,oBAOnEqD,GAgBe/3B,EAAQ+3B,uBAAyB/3B,EAAQ+3B,qBAAuB,KAZjEhX,KAAO,EAK5BgX,GAAqBqF,KAAO,EAM5BrF,GAAqBsF,YAAc,GAa5BvF,GAG0B93B,EAAQ83B,kCAAoC93B,EAAQ83B,gCAAkC,KAFvF/R,OAAS,uBACzC+R,GAAgC3yB,KAAO,IAAIsb,EAAWiU,yBAAyBoD,GAAgC/R,SAGxG8R,EAoByB73B,EAAQ63B,iCAAmC73B,EAAQ63B,+BAAiC,KAVrFyF,cAN/B,SAAuB9jB,GACnB,IAAI2H,EAAY3H,EAChB,OAAO2H,SACuB,iBAAnBA,EAAUoc,WAAyCt4B,IAApBkc,EAAUvO,aACrB3N,IAA1Bkc,EAAUqc,aAA8D,iBAA1Brc,EAAUqc,cAWjE3F,EAA+B4F,OAL/B,SAAgBjkB,GACZ,IAAI2H,EAAY3H,EAChB,OAAO2H,SACuB,iBAAnBA,EAAUoc,WAAyCt4B,IAApBkc,EAAUvO,YAAiD3N,IAA1Bkc,EAAUqc,cASlF5F,EAG4B53B,EAAQ43B,oCAAsC53B,EAAQ43B,kCAAoC,KAF3F7R,OAAS,yBAC3C6R,EAAkCzyB,KAAO,IAAIsb,EAAWiU,yBAAyBkD,EAAkC7R,SAY5G4R,EAG2B33B,EAAQ23B,mCAAqC33B,EAAQ23B,iCAAmC,KAFzF5R,OAAS,wBAC1C4R,EAAiCxyB,KAAO,IAAIsb,EAAWiU,yBAAyBiD,EAAiC5R,SAO1G2R,EAG0B13B,EAAQ03B,kCAAoC13B,EAAQ03B,gCAAkC,KAFvF3R,OAAS,uBACzC2R,EAAgCvyB,KAAO,IAAIsb,EAAWiU,yBAAyBgD,EAAgC3R,SAMxG0R,EAciBz3B,EAAQy3B,yBAA2Bz3B,EAAQy3B,uBAAyB,KATrEiG,OAAS,EAIhCjG,EAAuBkG,WAAa,EAIpClG,EAAuBmG,SAAW,GAO3BpG,EAG2Bx3B,EAAQw3B,mCAAqCx3B,EAAQw3B,iCAAmC,KAFzFzR,OAAS,wBAC1CyR,EAAiCryB,KAAO,IAAIsb,EAAWiU,yBAAyB8C,EAAiCzR,SAW1GwR,EAG+Bv3B,EAAQu3B,uCAAyCv3B,EAAQu3B,qCAAuC,KAFjGxR,OAAS,iCAC9CwR,EAAqCpyB,KAAO,IAAIsb,EAAWmU,oBAAoB2C,EAAqCxR,SASjF/lB,EAAQs3B,oCAAsCt3B,EAAQs3B,kCAAoC,KAD3FnyB,KAAO,IAAIsb,EAAWiU,yBAAyB,oCAM1E2C,EAaSr3B,EAAQq3B,iBAAmBr3B,EAAQq3B,eAAiB,KATrDwG,QAAU,EAIzBxG,EAAeyG,QAAU,EAIzBzG,EAAe0G,QAAU,GAGlB3G,EAaIp3B,EAAQo3B,YAAcp3B,EAAQo3B,UAAY,KAT3CgF,OAAS,EAInBhF,EAAU4G,OAAS,EAInB5G,EAAUkF,OAAS,GASat8B,EAAQm3B,iCAAmCn3B,EAAQm3B,+BAAiC,KADrFhyB,KAAO,IAAIsb,EAAWiU,yBAAyB,oCAMvEwC,EAegBl3B,EAAQk3B,wBAA0Bl3B,EAAQk3B,sBAAwB,KAVnE+G,QAAU,EAKhC/G,EAAsBgH,iBAAmB,EAIzChH,EAAsBiH,gCAAkC,GAcjDlH,EAGYj3B,EAAQi3B,oBAAsBj3B,EAAQi3B,kBAAoB,KAF3DlR,OAAS,0BAC3BkR,EAAkB9xB,KAAO,IAAIsb,EAAWmU,oBAAoBqC,EAAkBlR,SAQvEiR,EAGmBh3B,EAAQg3B,2BAA6Bh3B,EAAQg3B,yBAA2B,KAFzEjR,OAAS,yBAClCiR,EAAyB7xB,KAAO,IAAIsb,EAAWmU,oBAAoBoC,EAAyBjR,SAQrFgR,EAGO/2B,EAAQ+2B,eAAiB/2B,EAAQ+2B,aAAe,KAFjDhR,OAAS,qBACtBgR,EAAa5xB,KAAO,IAAIsb,EAAWmU,oBAAoBmC,EAAahR,SAQ7D+Q,EAamB92B,EAAQ82B,2BAA6B92B,EAAQ82B,yBAA2B,KATzEmH,QAAU,EAInCnH,EAAyBoH,iBAAmB,EAI5CpH,EAAyBsH,cAAgB,GAGlCvH,EAGe72B,EAAQ62B,uBAAyB72B,EAAQ62B,qBAAuB,KAFjE9Q,OAAS,6BAC9B8Q,EAAqB1xB,KAAO,IAAIsb,EAAWmU,oBAAoBiC,EAAqB9Q,SAU7E6Q,EAGY52B,EAAQ42B,oBAAsB52B,EAAQ42B,kBAAoB,KAF3D7Q,OAAS,0BAC3B6Q,EAAkBzxB,KAAO,IAAIsb,EAAWmU,oBAAoBgC,EAAkB7Q,SASvE4Q,EAGY32B,EAAQ22B,oBAAsB32B,EAAQ22B,kBAAoB,KAF3D5Q,OAAS,0BAC3B4Q,EAAkBxxB,KAAO,IAAIsb,EAAWmU,oBAAoB+B,EAAkB5Q,SASvE2Q,EAGmB12B,EAAQ02B,2BAA6B12B,EAAQ02B,yBAA2B,KAFzE3Q,OAAS,iCAClC2Q,EAAyBvxB,KAAO,IAAIsb,EAAWmU,oBAAoB8B,EAAyB3Q,SASrF0Q,EAGgBz2B,EAAQy2B,wBAA0Bz2B,EAAQy2B,sBAAwB,KAFnE1Q,OAAS,8BAC/B0Q,EAAsBtxB,KAAO,IAAIsb,EAAWmU,oBAAoB6B,EAAsB1Q,SAM/EyQ,EAGYx2B,EAAQw2B,oBAAsBx2B,EAAQw2B,kBAAoB,KAF3DzQ,OAAS,0BAC3ByQ,EAAkBrxB,KAAO,IAAIsb,EAAWmU,oBAAoB4B,EAAkBzQ,SAQvEwQ,EAGmBv2B,EAAQu2B,2BAA6Bv2B,EAAQu2B,yBAA2B,KAFzExQ,OAAS,qBAClCwQ,EAAyBpxB,KAAO,IAAIsb,EAAWmU,oBAAoB2B,EAAyBxQ,SASrFuQ,EAGiBt2B,EAAQs2B,yBAA2Bt2B,EAAQs2B,uBAAyB,KAFrEvQ,OAAS,mBAChCuQ,EAAuBnxB,KAAO,IAAIsb,EAAWmU,oBAAoB0B,EAAuBvQ,SAMjFsQ,EAGUr2B,EAAQq2B,kBAAoBr2B,EAAQq2B,gBAAkB,KAFvDtQ,OAAS,wBACzBsQ,EAAgBlxB,KAAO,IAAIsb,EAAWmU,oBAAoByB,EAAgBtQ,SAMnEqQ,EAGiBp2B,EAAQo2B,yBAA2Bp2B,EAAQo2B,uBAAyB,KAFrErQ,OAAS,mBAChCqQ,EAAuBjxB,KAAO,IAAIsb,EAAWmU,oBAAoBwB,EAAuBrQ,SAQjFoQ,EAGiBn2B,EAAQm2B,yBAA2Bn2B,EAAQm2B,uBAAyB,KAFrEpQ,OAAS,6BAChCoQ,EAAuBhxB,KAAO,IAAIsb,EAAWoU,qBAAqBsB,EAAuBpQ,SAMlFmQ,EAGcl2B,EAAQk2B,sBAAwBl2B,EAAQk2B,oBAAsB,KAF/DnQ,OAAS,4BAC7BmQ,EAAoB/wB,KAAO,IAAIsb,EAAWmU,oBAAoBsB,EAAoBnQ,SAQ3EkV,EAGqBj7B,EAAQi7B,6BAA+Bj7B,EAAQi7B,2BAA6B,KAF7ElV,OAAS,uBACpCkV,EAA2B91B,KAAO,IAAIsb,EAAWmU,oBAAoBqG,EAA2BlV,SAMzFiV,EAGoBh7B,EAAQg7B,4BAA8Bh7B,EAAQg7B,0BAA4B,KAF3EjV,OAAS,0BACnCiV,EAA0B71B,KAAO,IAAIsb,EAAWmU,oBAAoBoG,EAA0BjV,SAMvFgV,EAGyB/6B,EAAQ+6B,iCAAmC/6B,EAAQ+6B,+BAAiC,KAFrFhV,OAAS,+BACxCgV,EAA+B51B,KAAO,IAAIsb,EAAWmU,oBAAoBmG,EAA+BhV,SAMjG+U,EAG0B96B,EAAQ86B,kCAAoC96B,EAAQ86B,gCAAkC,KAFvF/U,OAAS,gCACzC+U,EAAgC31B,KAAO,IAAIsb,EAAWmU,oBAAoBkG,EAAgC/U,SAU3E/lB,EAAQ66B,gCAAkC76B,EAAQ66B,8BAAgC,KADnFwD,WAAa,GAMpCzD,EAGQ56B,EAAQ46B,gBAAkB56B,EAAQ46B,cAAgB,KAFnD7U,OAAS,sBACvB6U,EAAcz1B,KAAO,IAAIsb,EAAWmU,oBAAoBgG,EAAc7U,SAQ/D4U,EAGe36B,EAAQ26B,uBAAyB36B,EAAQ26B,qBAAuB,KAFjE5U,OAAS,6BAC9B4U,EAAqBx1B,KAAO,IAAIsb,EAAWmU,oBAAoB+F,EAAqB5U,SAS7D/lB,EAAQ06B,wBAA0B16B,EAAQ06B,sBAAwB,KADnEv1B,KAAO,IAAIsb,EAAWmU,oBAAoB,6BAQrC50B,EAAQy6B,4BAA8Bz6B,EAAQy6B,0BAA4B,KAD3Et1B,KAAO,IAAIsb,EAAWmU,oBAAoB,wB,4BC3uBxE3xB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQu5B,+BAA4B,EACpC,MAAM9Y,EAAa,EAAQ,MAO3B,IAAW8Y,KAGoBv5B,EAAQu5B,4BAA8Bv5B,EAAQu5B,0BAA4B,KAF3ExT,OAAS,kCACnCwT,EAA0Bp0B,KAAO,IAAIsb,EAAWmU,oBAAoB2E,EAA0BxT,S,4BCXlG9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQo5B,eAAiBp5B,EAAQq5B,YAAcr5B,EAAQs5B,qBAAkB,EACzE,MAAM7Y,EAAa,EAAQ,MAwD3B,IAAW2Y,EArBAC,EA5BAC,KAqBUt5B,EAAQs5B,kBAAoBt5B,EAAQs5B,gBAAkB,KAjB7C,SAAI,WAI9BA,EAAyB,QAAI,UAI7BA,EAAuB,MAAI,QAI3BA,EAAwB,OAAI,SAI5BA,EAAwB,OAAI,UAQrBD,EAcMr5B,EAAQq5B,cAAgBr5B,EAAQq5B,YAAc,KAVvC,OAAI,SAIxBA,EAAoB,OAAI,SAKxBA,EAAmB,MAAI,SAQhBD,EAGSp5B,EAAQo5B,iBAAmBp5B,EAAQo5B,eAAiB,KAFrDrT,OAAS,uBACxBqT,EAAej0B,KAAO,IAAIsb,EAAWmU,oBAAoBwE,EAAerT,S,4BC5D5E9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQk6B,mCAAqCl6B,EAAQm6B,8BAAgCn6B,EAAQo6B,sBAAmB,EAChH,MAAM3F,EAAmB,EAAQ,MAC3BhU,EAAa,EAAQ,MAsB3B,IApBW2Z,KAMWp6B,EAAQo6B,mBAAqBp6B,EAAQo6B,iBAAmB,KALzDj1B,KAAO,IAAIsvB,EAAiBpW,aAI7C+b,EAAiB1f,GAHjB,SAAYjX,GACR,OAAOA,IAAU22B,EAAiBj1B,OAWPnF,EAAQm6B,gCAAkCn6B,EAAQm6B,8BAAgC,KADnFh1B,KAAO,IAAIsb,EAAWmU,oBAAoB,mCASpC50B,EAAQk6B,qCAAuCl6B,EAAQk6B,mCAAqC,KAD7F/0B,KAAO,IAAIsb,EAAWiU,yBAAyB,mC,4BC1BtFzxB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQq6B,2BAAwB,EAChC,MAAM5Z,EAAa,EAAQ,MAQ3B,IAAW4Z,KAGgBr6B,EAAQq6B,wBAA0Br6B,EAAQq6B,sBAAwB,KAFnEtU,OAAS,8BAC/BsU,EAAsBl1B,KAAO,IAAIsb,EAAWmU,oBAAoByF,EAAsBtU,S,4BCZ1F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ05B,6BAA+B15B,EAAQ25B,2BAA6B35B,EAAQ45B,2BAA6B55B,EAAQ65B,sBAAwB75B,EAAQy5B,+BAAiCz5B,EAAQ85B,YAAc95B,EAAQ+5B,eAAiB/5B,EAAQg6B,uBAAyBh6B,EAAQi6B,wBAAqB,EACvS,MAAMxZ,EAAa,EAAQ,MA2G3B,IAAWiZ,EARAC,EARAC,EARAC,EARAJ,EA9BAO,EApCAC,KA2Baj6B,EAAQi6B,qBAAuBj6B,EAAQi6B,mBAAqB,KA1BlD,UAAI,YAKlCA,EAAyB,KAAI,OAC7BA,EAA0B,MAAI,QAC9BA,EAAyB,KAAI,OAC7BA,EAA8B,UAAI,YAClCA,EAA2B,OAAI,SAC/BA,EAAkC,cAAI,gBACtCA,EAA8B,UAAI,YAClCA,EAA6B,SAAI,WACjCA,EAA6B,SAAI,WACjCA,EAA+B,WAAI,aACnCA,EAA0B,MAAI,QAC9BA,EAA6B,SAAI,WACjCA,EAA2B,OAAI,SAC/BA,EAA0B,MAAI,QAC9BA,EAA4B,QAAI,UAChCA,EAA6B,SAAI,WACjCA,EAA4B,QAAI,UAChCA,EAA2B,OAAI,SAC/BA,EAA2B,OAAI,SAC/BA,EAA2B,OAAI,SAC/BA,EAA6B,SAAI,YAU1BD,EAWiBh6B,EAAQg6B,yBAA2Bh6B,EAAQg6B,uBAAyB,KAVxD,YAAI,cACxCA,EAAmC,WAAI,aACvCA,EAAiC,SAAI,WACrCA,EAA+B,OAAI,SACnCA,EAAmC,WAAI,aACvCA,EAAiC,SAAI,WACrCA,EAA8B,MAAI,QAClCA,EAAqC,aAAI,eACzCA,EAAsC,cAAI,gBAC1CA,EAAuC,eAAI,kBAa3Bh6B,EAAQ+5B,iBAAmB/5B,EAAQ+5B,eAAiB,KADrDrf,GALf,SAAYjX,GACR,MAAM0d,EAAY1d,EAClB,YAAqBwB,IAAdkc,SAAmDlc,IAAvBkc,EAAUmd,UAAwD,iBAAvBnd,EAAUmd,WACpFz8B,MAAMuD,QAAQ+b,EAAU9b,QAAoC,IAA1B8b,EAAU9b,KAAKlE,QAA6C,iBAAtBggB,EAAU9b,KAAK,MAQlFrF,EAAQ85B,cAAgB95B,EAAQ85B,YAAc,KAD/CyE,SAAW,YAGhB9E,EAGyBz5B,EAAQy5B,iCAAmCz5B,EAAQy5B,+BAAiC,KAFrF1T,OAAS,8BACxC0T,EAA+Bt0B,KAAO,IAAIsb,EAAWqU,iBAAiB2E,EAA+B1T,SAM9F8T,EAGgB75B,EAAQ65B,wBAA0B75B,EAAQ65B,sBAAwB,KAFnE9T,OAAS,mCAC/B8T,EAAsB10B,KAAO,IAAIsb,EAAWmU,oBAAoBiF,EAAsB9T,SAM/E6T,EAGqB55B,EAAQ45B,6BAA+B55B,EAAQ45B,2BAA6B,KAF7E7T,OAAS,yCACpC6T,EAA2Bz0B,KAAO,IAAIsb,EAAWmU,oBAAoBgF,EAA2B7T,SAMzF4T,EAGqB35B,EAAQ25B,6BAA+B35B,EAAQ25B,2BAA6B,KAF7E5T,OAAS,oCACpC4T,EAA2Bx0B,KAAO,IAAIsb,EAAWmU,oBAAoB+E,EAA2B5T,SAMzF2T,EAGuB15B,EAAQ05B,+BAAiC15B,EAAQ05B,6BAA+B,KAFjF3T,OAAS,mCACtC2T,EAA6Bv0B,KAAO,IAAIsb,EAAWoU,qBAAqB6E,EAA6B3T,S,4BC/GzG9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQw5B,yBAAsB,EAC9B,MAAM/Y,EAAa,EAAQ,MAU3B,IAAW+Y,KAGcx5B,EAAQw5B,sBAAwBx5B,EAAQw5B,oBAAsB,KAF/DzT,OAAS,sBAC7ByT,EAAoBr0B,KAAO,IAAIsb,EAAWmU,oBAAoB4E,EAAoBzT,S,4BCdtF9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQw6B,2BAAwB,EAChC,MAAM/Z,EAAa,EAAQ,MAU3B,IAAW+Z,KAGgBx6B,EAAQw6B,wBAA0Bx6B,EAAQw6B,sBAAwB,KAFnEzU,OAAS,8BAC/ByU,EAAsBr1B,KAAO,IAAIsb,EAAWmU,oBAAoB4F,EAAsBzU,S,4BCd1F9iB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQs6B,sCAAwCt6B,EAAQu6B,6BAA0B,EAClF,MAAM9Z,EAAa,EAAQ,OAOEzgB,EAAQu6B,0BAA4Bv6B,EAAQu6B,wBAA0B,KADvEp1B,KAAO,IAAIsb,EAAWoU,qBAAqB,+BAS5B70B,EAAQs6B,wCAA0Ct6B,EAAQs6B,sCAAwC,KADnGn1B,KAAO,IAAIsb,EAAWiU,yBAAyB,wC,0BCVzF,SAAShxB,EAAOD,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiB6D,OAezD,SAAS5B,EAAMjC,GACX,OAAO5B,MAAMuD,QAAQ3B,GAvBzBR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ68B,cAAgB78B,EAAQw+B,WAAax+B,EAAQitB,YAAcjtB,EAAQ0F,MAAQ1F,EAAQkiB,KAAOliB,EAAQuK,MAAQvK,EAAQwoB,OAASxoB,EAAQ0D,OAAS1D,EAAQohB,aAAU,EAItKphB,EAAQohB,QAHR,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7BzD,EAAQ0D,OAASA,EAIjB1D,EAAQwoB,OAHR,SAAgB/kB,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiBqE,QAMzD9H,EAAQuK,MAHR,SAAe9G,GACX,OAAOA,aAAiB1B,OAM5B/B,EAAQkiB,KAHR,SAAcze,GACV,MAAwB,mBAAVA,GAMlBzD,EAAQ0F,MAAQA,EAIhB1F,EAAQitB,YAHR,SAAqBxpB,GACjB,OAAOiC,EAAMjC,IAAUA,EAAMypB,OAAMC,GAAQzpB,EAAOypB,MAMtDntB,EAAQw+B,WAHR,SAAoB/6B,EAAOg7B,GACvB,OAAO58B,MAAMuD,QAAQ3B,IAAUA,EAAMypB,MAAMuR,IAS/Cz+B,EAAQ68B,cANR,SAAuBp5B,GAInB,OAAiB,OAAVA,GAAmC,iBAAVA,I,4BCtC7B,IAAIi7B,EAKAC,EASAC,EA8BAC,EA2BAC,EAwBAC,EA4BAC,EA8BAC,EAyBAC,EA2BAlJ,EAmBAmJ,EAsCAC,EAwBAC,EAwBAC,EAqBAC,EAYAC,EA2CAC,EA8BAC,EAoCAC,EAqBAC,EAQAC,EA4CAC,EAiBAC,EAuBAC,EAwBAC,EAuBAC,E,4vCAnmBX,SAAWxB,GACPA,EAAQyB,WAAa,WACrBzB,EAAQ0B,UAAY,WAFxB,CAGG1B,IAAYA,EAAU,KAEzB,SAAWC,GACPA,EAASwB,UAAY,EACrBxB,EAASyB,UAAY,WAFzB,CAGGzB,IAAaA,EAAW,KAM3B,SAAWC,GAePA,EAAStmB,OATT,SAAgB+nB,EAAMC,GAOlB,OANID,IAASv4B,OAAOs4B,YAChBC,EAAO1B,EAASyB,WAEhBE,IAAcx4B,OAAOs4B,YACrBE,EAAY3B,EAASyB,WAElB,CAAEC,KAAMA,EAAMC,UAAWA,IAUpC1B,EAASlkB,GAJT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAc1b,IAAcL,GAAG6d,SAASxd,EAAUkf,OAASvf,GAAG6d,SAASxd,EAAUmf,YArBnG,CAwBG1B,IAAaA,EAAW,KAM3B,SAAWC,GAYPA,EAAMvmB,OAXN,SAAgBioB,EAAKC,EAAKC,EAAOC,GAC7B,GAAI5f,GAAG6d,SAAS4B,IAAQzf,GAAG6d,SAAS6B,IAAQ1f,GAAG6d,SAAS8B,IAAU3f,GAAG6d,SAAS+B,GAC1E,MAAO,CAAEz+B,MAAO28B,EAAStmB,OAAOioB,EAAKC,GAAMt+B,IAAK08B,EAAStmB,OAAOmoB,EAAOC,IAEtE,GAAI9B,EAASlkB,GAAG6lB,IAAQ3B,EAASlkB,GAAG8lB,GACrC,MAAO,CAAEv+B,MAAOs+B,EAAKr+B,IAAKs+B,GAG1B,MAAM,IAAIz+B,MAAM,8CAAgDw+B,EAAM,KAAOC,EAAM,KAAOC,EAAQ,KAAOC,EAAO,MAWxH7B,EAAMnkB,GAJN,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAc1b,IAAcyd,EAASlkB,GAAGyG,EAAUlf,QAAU28B,EAASlkB,GAAGyG,EAAUjf,MAlBpG,CAqBG28B,IAAUA,EAAQ,KAMrB,SAAWC,GASPA,EAASxmB,OAHT,SAAgBqoB,EAAK/tB,GACjB,MAAO,CAAE+tB,IAAKA,EAAK/tB,MAAOA,IAU9BksB,EAASpkB,GAJT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAUvO,SAAWkO,GAAGpd,OAAOyd,EAAUwf,MAAQ7f,GAAG7b,UAAUkc,EAAUwf,OAfzH,CAkBG7B,IAAaA,EAAW,KAM3B,SAAWC,GAWPA,EAAazmB,OAHb,SAAgBuoB,EAAWC,EAAaC,EAAsBC,GAC1D,MAAO,CAAEH,UAAWA,EAAWC,YAAaA,EAAaC,qBAAsBA,EAAsBC,qBAAsBA,IAY/HjC,EAAarkB,GANb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAU2f,cAAgBhgB,GAAGpd,OAAOyd,EAAU0f,aAC/EhC,EAAMnkB,GAAGyG,EAAU4f,uBAAyBjgB,GAAG7b,UAAUkc,EAAU4f,yBACnElC,EAAMnkB,GAAGyG,EAAU6f,uBAAyBlgB,GAAG7b,UAAUkc,EAAU6f,wBAnBnF,CAsBGjC,IAAiBA,EAAe,KAMnC,SAAWC,GAYPA,EAAM1mB,OARN,SAAgB2oB,EAAKC,EAAOC,EAAMC,GAC9B,MAAO,CACHH,IAAKA,EACLC,MAAOA,EACPC,KAAMA,EACNC,MAAOA,IAcfpC,EAAMtkB,GAPN,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAGugB,YAAYlgB,EAAU8f,IAAK,EAAG,IACjCngB,GAAGugB,YAAYlgB,EAAU+f,MAAO,EAAG,IACnCpgB,GAAGugB,YAAYlgB,EAAUggB,KAAM,EAAG,IAClCrgB,GAAGugB,YAAYlgB,EAAUigB,MAAO,EAAG,IArBlD,CAwBGpC,IAAUA,EAAQ,KAMrB,SAAWC,GAUPA,EAAiB3mB,OANjB,SAAgB1F,EAAO0uB,GACnB,MAAO,CACH1uB,MAAOA,EACP0uB,MAAOA,IAWfrC,EAAiBvkB,GAJjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOo7B,EAAMnkB,GAAGyG,EAAUvO,QAAUosB,EAAMtkB,GAAGyG,EAAUmgB,QAhB/D,CAmBGrC,IAAqBA,EAAmB,KAM3C,SAAWC,GAWPA,EAAkB5mB,OAPlB,SAAgBipB,EAAOC,EAAUC,GAC7B,MAAO,CACHF,MAAOA,EACPC,SAAUA,EACVC,oBAAqBA,IAa7BvC,EAAkBxkB,GANlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAGpd,OAAOyd,EAAUogB,SACnBzgB,GAAG7b,UAAUkc,EAAUqgB,WAAa9B,EAAShlB,GAAGyG,MAChDL,GAAG7b,UAAUkc,EAAUsgB,sBAAwB3gB,GAAG0d,WAAWrd,EAAUsgB,oBAAqB/B,EAAShlB,MAnBrH,CAsBGwkB,IAAsBA,EAAoB,KAK7C,SAAWlJ,GAIPA,EAA0B,QAAI,UAI9BA,EAA0B,QAAI,UAI9BA,EAAyB,OAAI,SAZjC,CAaGA,IAAqBA,EAAmB,KAM3C,SAAWmJ,GAoBPA,EAAa7mB,OAhBb,SAAgBopB,EAAWC,EAASC,EAAgBC,EAAcvO,GAC9D,IAAInN,EAAS,CACTub,UAAWA,EACXC,QAASA,GAWb,OATI7gB,GAAG8f,QAAQgB,KACXzb,EAAOyb,eAAiBA,GAExB9gB,GAAG8f,QAAQiB,KACX1b,EAAO0b,aAAeA,GAEtB/gB,GAAG8f,QAAQtN,KACXnN,EAAOmN,KAAOA,GAEXnN,GAaXgZ,EAAazkB,GAPb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG6d,SAASxd,EAAUugB,YAAc5gB,GAAG6d,SAASxd,EAAUugB,aACzD5gB,GAAG7b,UAAUkc,EAAUygB,iBAAmB9gB,GAAG6d,SAASxd,EAAUygB,mBAChE9gB,GAAG7b,UAAUkc,EAAU0gB,eAAiB/gB,GAAG6d,SAASxd,EAAU0gB,iBAC9D/gB,GAAG7b,UAAUkc,EAAUmS,OAASxS,GAAGpd,OAAOyd,EAAUmS,QA7BpE,CAgCG6L,IAAiBA,EAAe,KAMnC,SAAWC,GAUPA,EAA6B9mB,OAN7B,SAAgBwpB,EAAUpvB,GACtB,MAAO,CACHovB,SAAUA,EACVpvB,QAASA,IAWjB0sB,EAA6B1kB,GAJ7B,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc2d,EAASpkB,GAAGyG,EAAU2gB,WAAahhB,GAAGpd,OAAOyd,EAAUzO,UAhB/F,CAmBG0sB,IAAiCA,EAA+B,KAKnE,SAAWC,GAIPA,EAAmBt9B,MAAQ,EAI3Bs9B,EAAmBpC,QAAU,EAI7BoC,EAAmB0C,YAAc,EAIjC1C,EAAmB2C,KAAO,EAhB9B,CAiBG3C,IAAuBA,EAAqB,KAO/C,SAAWC,GAOPA,EAAc2C,YAAc,EAM5B3C,EAAc4C,WAAa,EAb/B,CAcG5C,IAAkBA,EAAgB,KAOrC,SAAWC,GAKPA,EAAgB7kB,GAJhB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,SAAiDL,GAAGpd,OAAOyd,EAAUghB,OAHpF,CAMG5C,IAAoBA,EAAkB,KAMzC,SAAWC,GAoBPA,EAAWlnB,OAhBX,SAAgB1F,EAAOF,EAAS0vB,EAAUtgC,EAAMgmB,EAAQua,GACpD,IAAIlc,EAAS,CAAEvT,MAAOA,EAAOF,QAASA,GAatC,OAZIoO,GAAG8f,QAAQwB,KACXjc,EAAOic,SAAWA,GAElBthB,GAAG8f,QAAQ9+B,KACXqkB,EAAOrkB,KAAOA,GAEdgf,GAAG8f,QAAQ9Y,KACX3B,EAAO2B,OAASA,GAEhBhH,GAAG8f,QAAQyB,KACXlc,EAAOkc,mBAAqBA,GAEzBlc,GAkBXqZ,EAAW9kB,GAZX,SAAYjX,GACR,IAAIwqB,EACA9M,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IACX0d,EAAMnkB,GAAGyG,EAAUvO,QACnBkO,GAAGpd,OAAOyd,EAAUzO,WACnBoO,GAAG0H,OAAOrH,EAAUihB,WAAathB,GAAG7b,UAAUkc,EAAUihB,aACxDthB,GAAG4d,QAAQvd,EAAUrf,OAASgf,GAAGpd,OAAOyd,EAAUrf,OAASgf,GAAG7b,UAAUkc,EAAUrf,SAClFgf,GAAG7b,UAAUkc,EAAUmhB,kBAAqBxhB,GAAGpd,OAA4C,QAApCuqB,EAAK9M,EAAUmhB,uBAAoC,IAAPrU,OAAgB,EAASA,EAAGkU,SAC/HrhB,GAAGpd,OAAOyd,EAAU2G,SAAWhH,GAAG7b,UAAUkc,EAAU2G,WACtDhH,GAAG7b,UAAUkc,EAAUkhB,qBAAuBvhB,GAAG0d,WAAWrd,EAAUkhB,mBAAoBjD,EAA6B1kB,MAlCvI,CAqCG8kB,IAAeA,EAAa,KAM/B,SAAWC,GAePA,EAAQnnB,OAXR,SAAgBiqB,EAAOC,GAEnB,IADA,IAAIjlB,EAAO,GACFklB,EAAK,EAAGA,EAAK58B,UAAU1E,OAAQshC,IACpCllB,EAAKklB,EAAK,GAAK58B,UAAU48B,GAE7B,IAAItc,EAAS,CAAEoc,MAAOA,EAAOC,QAASA,GAItC,OAHI1hB,GAAG8f,QAAQrjB,IAASA,EAAKpc,OAAS,IAClCglB,EAAOtgB,UAAY0X,GAEhB4I,GAUXsZ,EAAQ/kB,GAJR,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUohB,QAAUzhB,GAAGpd,OAAOyd,EAAUqhB,UArB1F,CAwBG/C,IAAYA,EAAU,KAMzB,SAAWC,GASPA,EAAS5zB,QAHT,SAAiB8G,EAAO8vB,GACpB,MAAO,CAAE9vB,MAAOA,EAAO8vB,QAASA,IAWpChD,EAASiD,OAHT,SAAgBC,EAAUF,GACtB,MAAO,CAAE9vB,MAAO,CAAE3Q,MAAO2gC,EAAU1gC,IAAK0gC,GAAYF,QAASA,IAUjEhD,EAASmD,IAHT,SAAajwB,GACT,MAAO,CAAEA,MAAOA,EAAO8vB,QAAS,KASpChD,EAAShlB,GANT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAc1b,IACjBL,GAAGpd,OAAOyd,EAAUuhB,UACpB7D,EAAMnkB,GAAGyG,EAAUvO,QA/BlC,CAkCG8sB,IAAaA,EAAW,KAE3B,SAAWC,GAWPA,EAAiBrnB,OAVjB,SAAgBipB,EAAOuB,EAAmBC,GACtC,IAAI5c,EAAS,CAAEob,MAAOA,GAOtB,YAN0Bt8B,IAAtB69B,IACA3c,EAAO2c,kBAAoBA,QAEX79B,IAAhB89B,IACA5c,EAAO4c,YAAcA,GAElB5c,GASXwZ,EAAiBjlB,GANjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,YAAqBwB,IAAdkc,GAA2BL,GAAG+b,cAAc1b,IAAcL,GAAGpd,OAAOyd,EAAUogB,SAChFzgB,GAAGM,QAAQD,EAAU2hB,yBAAsD79B,IAAhCkc,EAAU2hB,qBACrDhiB,GAAGpd,OAAOyd,EAAU4hB,mBAA0C99B,IAA1Bkc,EAAU4hB,cAhB3D,CAmBGpD,IAAqBA,EAAmB,KAE3C,SAAWC,GAKPA,EAA2BllB,GAJ3B,SAAYjX,GAER,MAA4B,iBADZA,GAFxB,CAMGm8B,IAA+BA,EAA6B,KAE/D,SAAWC,GAWPA,EAAkB/zB,QAHlB,SAAiB8G,EAAO8vB,EAASM,GAC7B,MAAO,CAAEpwB,MAAOA,EAAO8vB,QAASA,EAASO,aAAcD,IAa3DnD,EAAkB8C,OAHlB,SAAgBC,EAAUF,EAASM,GAC/B,MAAO,CAAEpwB,MAAO,CAAE3Q,MAAO2gC,EAAU1gC,IAAK0gC,GAAYF,QAASA,EAASO,aAAcD,IAYxFnD,EAAkBgD,IAHlB,SAAajwB,EAAOowB,GAChB,MAAO,CAAEpwB,MAAOA,EAAO8vB,QAAS,GAAIO,aAAcD,IAOtDnD,EAAkBnlB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOi8B,EAAShlB,GAAGyG,KAAewe,EAAiBjlB,GAAGyG,EAAU8hB,eAAiBrD,EAA2BllB,GAAGyG,EAAU8hB,gBAnCjI,CAsCGpD,IAAsBA,EAAoB,KAM7C,SAAWC,GAOPA,EAAiBxnB,OAHjB,SAAgB4qB,EAAcC,GAC1B,MAAO,CAAED,aAAcA,EAAcC,MAAOA,IAShDrD,EAAiBplB,GANjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IACXiiB,EAAwC1oB,GAAGyG,EAAU+hB,eACrDrhC,MAAMuD,QAAQ+b,EAAUgiB,QAZvC,CAeGrD,IAAqBA,EAAmB,KAE3C,SAAWC,GAcPA,EAAWznB,OAbX,SAAgBqoB,EAAKpmB,EAASyoB,GAC1B,IAAI7c,EAAS,CACTmN,KAAM,SACNqN,IAAKA,GAQT,YANgB17B,IAAZsV,QAAgDtV,IAAtBsV,EAAQ8oB,gBAAsDp+B,IAA3BsV,EAAQ+oB,iBACrEnd,EAAO5L,QAAUA,QAEFtV,IAAf+9B,IACA7c,EAAO8c,aAAeD,GAEnB7c,GAQX4Z,EAAWrlB,GALX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAgC,WAAnBA,EAAUmS,MAAqBxS,GAAGpd,OAAOyd,EAAUwf,YAA+B17B,IAAtBkc,EAAU5G,eACpDtV,IAAhCkc,EAAU5G,QAAQ8oB,WAA2BviB,GAAGM,QAAQD,EAAU5G,QAAQ8oB,mBAAqDp+B,IAArCkc,EAAU5G,QAAQ+oB,gBAAgCxiB,GAAGM,QAAQD,EAAU5G,QAAQ+oB,yBAAkDr+B,IAA3Bkc,EAAU8hB,cAA8BrD,EAA2BllB,GAAGyG,EAAU8hB,gBAlB9R,CAqBGlD,IAAeA,EAAa,KAE/B,SAAWC,GAePA,EAAW1nB,OAdX,SAAgBirB,EAAQC,EAAQjpB,EAASyoB,GACrC,IAAI7c,EAAS,CACTmN,KAAM,SACNiQ,OAAQA,EACRC,OAAQA,GAQZ,YANgBv+B,IAAZsV,QAAgDtV,IAAtBsV,EAAQ8oB,gBAAsDp+B,IAA3BsV,EAAQ+oB,iBACrEnd,EAAO5L,QAAUA,QAEFtV,IAAf+9B,IACA7c,EAAO8c,aAAeD,GAEnB7c,GAQX6Z,EAAWtlB,GALX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAgC,WAAnBA,EAAUmS,MAAqBxS,GAAGpd,OAAOyd,EAAUoiB,SAAWziB,GAAGpd,OAAOyd,EAAUqiB,eAAkCv+B,IAAtBkc,EAAU5G,eACtFtV,IAAhCkc,EAAU5G,QAAQ8oB,WAA2BviB,GAAGM,QAAQD,EAAU5G,QAAQ8oB,mBAAqDp+B,IAArCkc,EAAU5G,QAAQ+oB,gBAAgCxiB,GAAGM,QAAQD,EAAU5G,QAAQ+oB,yBAAkDr+B,IAA3Bkc,EAAU8hB,cAA8BrD,EAA2BllB,GAAGyG,EAAU8hB,gBAnB9R,CAsBGjD,IAAeA,EAAa,KAE/B,SAAWC,GAcPA,EAAW3nB,OAbX,SAAgBqoB,EAAKpmB,EAASyoB,GAC1B,IAAI7c,EAAS,CACTmN,KAAM,SACNqN,IAAKA,GAQT,YANgB17B,IAAZsV,QAAgDtV,IAAtBsV,EAAQkpB,gBAAyDx+B,IAA9BsV,EAAQmpB,oBACrEvd,EAAO5L,QAAUA,QAEFtV,IAAf+9B,IACA7c,EAAO8c,aAAeD,GAEnB7c,GAQX8Z,EAAWvlB,GALX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAgC,WAAnBA,EAAUmS,MAAqBxS,GAAGpd,OAAOyd,EAAUwf,YAA+B17B,IAAtBkc,EAAU5G,eACpDtV,IAAhCkc,EAAU5G,QAAQkpB,WAA2B3iB,GAAGM,QAAQD,EAAU5G,QAAQkpB,mBAAwDx+B,IAAxCkc,EAAU5G,QAAQmpB,mBAAmC5iB,GAAGM,QAAQD,EAAU5G,QAAQmpB,4BAAqDz+B,IAA3Bkc,EAAU8hB,cAA8BrD,EAA2BllB,GAAGyG,EAAU8hB,gBAlBpS,CAqBGhD,IAAeA,EAAa,KAE/B,SAAWC,GAcPA,EAAcxlB,GAbd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,SACoBlc,IAAtBkc,EAAUwiB,cAAuD1+B,IAA9Bkc,EAAUyiB,wBACf3+B,IAA9Bkc,EAAUyiB,iBAAiCziB,EAAUyiB,gBAAgB1W,OAAM,SAAU2W,GAClF,OAAI/iB,GAAGpd,OAAOmgC,EAAOvQ,MACVyM,EAAWrlB,GAAGmpB,IAAW7D,EAAWtlB,GAAGmpB,IAAW5D,EAAWvlB,GAAGmpB,GAGhE/D,EAAiBplB,GAAGmpB,QAV/C,CAeG3D,IAAkBA,EAAgB,KACrC,IAmTW4D,EAuBAC,EAwBAX,EAwBAY,EA6BAC,EAqBAC,EAcAC,EAgCAC,EAwBAC,EAYAC,EAwBAC,EAyBAC,EAeAC,EAaAC,EAoBAC,EAiBAC,EAiBAC,EAwBAC,EAmBAC,EAkBAC,EAiCAC,EAOAC,EAwBAC,EA4CAC,EA0EAC,EAsBAC,GAqCAC,GA0BAC,GAsBAC,GAsBAC,GAr/BPC,GAAoC,WACpC,SAASA,EAAmBxC,EAAOyC,GAC/Bz/B,KAAKg9B,MAAQA,EACbh9B,KAAKy/B,kBAAoBA,EA4E7B,OA1EAD,EAAmBxiC,UAAUw/B,OAAS,SAAUC,EAAUF,EAASM,GAC/D,IAAI6C,EACA9iB,EAcJ,QAbmB9d,IAAf+9B,EACA6C,EAAOnG,EAASiD,OAAOC,EAAUF,GAE5B9C,EAA2BllB,GAAGsoB,IACnCjgB,EAAKigB,EACL6C,EAAOhG,EAAkB8C,OAAOC,EAAUF,EAASM,KAGnD78B,KAAK2/B,wBAAwB3/B,KAAKy/B,mBAClC7iB,EAAK5c,KAAKy/B,kBAAkBG,OAAO/C,GACnC6C,EAAOhG,EAAkB8C,OAAOC,EAAUF,EAAS3f,IAEvD5c,KAAKg9B,MAAM3hC,KAAKqkC,QACL5gC,IAAP8d,EACA,OAAOA,GAGf4iB,EAAmBxiC,UAAU2I,QAAU,SAAU8G,EAAO8vB,EAASM,GAC7D,IAAI6C,EACA9iB,EAcJ,QAbmB9d,IAAf+9B,EACA6C,EAAOnG,EAAS5zB,QAAQ8G,EAAO8vB,GAE1B9C,EAA2BllB,GAAGsoB,IACnCjgB,EAAKigB,EACL6C,EAAOhG,EAAkB/zB,QAAQ8G,EAAO8vB,EAASM,KAGjD78B,KAAK2/B,wBAAwB3/B,KAAKy/B,mBAClC7iB,EAAK5c,KAAKy/B,kBAAkBG,OAAO/C,GACnC6C,EAAOhG,EAAkB/zB,QAAQ8G,EAAO8vB,EAAS3f,IAErD5c,KAAKg9B,MAAM3hC,KAAKqkC,QACL5gC,IAAP8d,EACA,OAAOA,GAGf4iB,EAAmBxiC,UAAU4lB,OAAS,SAAUnW,EAAOowB,GACnD,IAAI6C,EACA9iB,EAcJ,QAbmB9d,IAAf+9B,EACA6C,EAAOnG,EAASmD,IAAIjwB,GAEfgtB,EAA2BllB,GAAGsoB,IACnCjgB,EAAKigB,EACL6C,EAAOhG,EAAkBgD,IAAIjwB,EAAOowB,KAGpC78B,KAAK2/B,wBAAwB3/B,KAAKy/B,mBAClC7iB,EAAK5c,KAAKy/B,kBAAkBG,OAAO/C,GACnC6C,EAAOhG,EAAkBgD,IAAIjwB,EAAOmQ,IAExC5c,KAAKg9B,MAAM3hC,KAAKqkC,QACL5gC,IAAP8d,EACA,OAAOA,GAGf4iB,EAAmBxiC,UAAU4oB,IAAM,SAAU8Z,GACzC1/B,KAAKg9B,MAAM3hC,KAAKqkC,IAEpBF,EAAmBxiC,UAAU6iC,IAAM,WAC/B,OAAO7/B,KAAKg9B,OAEhBwC,EAAmBxiC,UAAU6qB,MAAQ,WACjC7nB,KAAKg9B,MAAM9W,OAAO,EAAGlmB,KAAKg9B,MAAMhiC,SAEpCwkC,EAAmBxiC,UAAU2iC,wBAA0B,SAAUriC,GAC7D,QAAcwB,IAAVxB,EACA,MAAM,IAAI1B,MAAM,qEAGjB4jC,EA/E4B,GAoFnCM,GAAmC,WACnC,SAASA,EAAkBC,GACvB//B,KAAKggC,kBAA+BlhC,IAAhBihC,EAA4BjjC,OAAOqV,OAAO,MAAQ4tB,EACtE//B,KAAKigC,SAAW,EAChBjgC,KAAK2nB,MAAQ,EAmCjB,OAjCAmY,EAAkB9iC,UAAU6iC,IAAM,WAC9B,OAAO7/B,KAAKggC,cAEhBljC,OAAOuH,eAAey7B,EAAkB9iC,UAAW,OAAQ,CACvDuH,IAAK,WACD,OAAOvE,KAAK2nB,OAEhBrjB,YAAY,EACZ8H,cAAc,IAElB0zB,EAAkB9iC,UAAU4iC,OAAS,SAAUM,EAAgBrD,GAC3D,IAAIjgB,EAQJ,GAPI6c,EAA2BllB,GAAG2rB,GAC9BtjB,EAAKsjB,GAGLtjB,EAAK5c,KAAKmgC,SACVtD,EAAaqD,QAEaphC,IAA1BkB,KAAKggC,aAAapjB,GAClB,MAAM,IAAIhhB,MAAM,MAAQghB,EAAK,uBAEjC,QAAmB9d,IAAf+9B,EACA,MAAM,IAAIjhC,MAAM,iCAAmCghB,GAIvD,OAFA5c,KAAKggC,aAAapjB,GAAMigB,EACxB78B,KAAK2nB,QACE/K,GAEXkjB,EAAkB9iC,UAAUmjC,OAAS,WAEjC,OADAngC,KAAKigC,WACEjgC,KAAKigC,SAASzgC,YAElBsgC,EAvC2B,GA4ClCM,GAAiC,WACjC,SAASA,EAAgBC,GACrB,IAAIC,EAAQtgC,KACZA,KAAKugC,iBAAmBzjC,OAAOqV,OAAO,WAChBrT,IAAlBuhC,GACArgC,KAAKwgC,eAAiBH,EAClBA,EAAc5C,iBACdz9B,KAAKygC,mBAAqB,IAAIX,GAAkBO,EAAcZ,mBAC9DY,EAAcZ,kBAAoBz/B,KAAKygC,mBAAmBZ,MAC1DQ,EAAc5C,gBAAgBnY,SAAQ,SAAUoY,GAC5C,GAAI/D,EAAiBplB,GAAGmpB,GAAS,CAC7B,IAAIgD,EAAiB,IAAIlB,GAAmB9B,EAAOV,MAAOsD,EAAMG,oBAChEH,EAAMC,iBAAiB7C,EAAOX,aAAavC,KAAOkG,OAIrDL,EAAc7C,SACnB1gC,OAAOuoB,KAAKgb,EAAc7C,SAASlY,SAAQ,SAAUtD,GACjD,IAAI0e,EAAiB,IAAIlB,GAAmBa,EAAc7C,QAAQxb,IAClEse,EAAMC,iBAAiBve,GAAO0e,MAKtC1gC,KAAKwgC,eAAiB,GAoJ9B,OAjJA1jC,OAAOuH,eAAe+7B,EAAgBpjC,UAAW,OAAQ,CAKrDuH,IAAK,WAUD,OATAvE,KAAK2gC,2BAC2B7hC,IAA5BkB,KAAKygC,qBACgC,IAAjCzgC,KAAKygC,mBAAmBnhC,KACxBU,KAAKwgC,eAAef,uBAAoB3gC,EAGxCkB,KAAKwgC,eAAef,kBAAoBz/B,KAAKygC,mBAAmBZ,OAGjE7/B,KAAKwgC,gBAEhBl8B,YAAY,EACZ8H,cAAc,IAElBg0B,EAAgBpjC,UAAU4jC,kBAAoB,SAAU5e,GACpD,GAAIib,EAAwC1oB,GAAGyN,GAAM,CAEjD,GADAhiB,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAImhC,EAAe,CAAEvC,IAAKxY,EAAIwY,IAAKhd,QAASwE,EAAIxE,SAEhD,KADIwC,EAAShgB,KAAKugC,iBAAiBxD,EAAavC,MACnC,CACT,IACIqG,EAAmB,CACnB9D,aAAcA,EACdC,MAHAA,EAAQ,IAKZh9B,KAAKwgC,eAAe/C,gBAAgBpiC,KAAKwlC,GACzC7gB,EAAS,IAAIwf,GAAmBxC,EAAOh9B,KAAKygC,oBAC5CzgC,KAAKugC,iBAAiBxD,EAAavC,KAAOxa,EAE9C,OAAOA,EAIP,GADAhgB,KAAK8gC,mBAC+BhiC,IAAhCkB,KAAKwgC,eAAehD,QACpB,MAAM,IAAI5hC,MAAM,kEAEpB,IAAIokB,EACJ,KADIA,EAAShgB,KAAKugC,iBAAiBve,IACtB,CACT,IAAIgb,EAAQ,GACZh9B,KAAKwgC,eAAehD,QAAQxb,GAAOgb,EACnChd,EAAS,IAAIwf,GAAmBxC,GAChCh9B,KAAKugC,iBAAiBve,GAAOhC,EAEjC,OAAOA,GAGfogB,EAAgBpjC,UAAU2jC,oBAAsB,gBACA7hC,IAAxCkB,KAAKwgC,eAAe/C,sBAAiE3+B,IAAhCkB,KAAKwgC,eAAehD,UACzEx9B,KAAKygC,mBAAqB,IAAIX,GAC9B9/B,KAAKwgC,eAAe/C,gBAAkB,GACtCz9B,KAAKwgC,eAAef,kBAAoBz/B,KAAKygC,mBAAmBZ,QAGxEO,EAAgBpjC,UAAU8jC,YAAc,gBACQhiC,IAAxCkB,KAAKwgC,eAAe/C,sBAAiE3+B,IAAhCkB,KAAKwgC,eAAehD,UACzEx9B,KAAKwgC,eAAehD,QAAU1gC,OAAOqV,OAAO,QAGpDiuB,EAAgBpjC,UAAU+jC,WAAa,SAAUvG,EAAKwG,EAAqB5sB,GAEvE,GADApU,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAIihC,EAOAoE,EACArkB,EASJ,GAhBI4c,EAAiBjlB,GAAGysB,IAAwBvH,EAA2BllB,GAAGysB,GAC1EnE,EAAamE,EAGb5sB,EAAU4sB,OAIKliC,IAAf+9B,EACAoE,EAAYrH,EAAWznB,OAAOqoB,EAAKpmB,IAGnCwI,EAAK6c,EAA2BllB,GAAGsoB,GAAcA,EAAa78B,KAAKygC,mBAAmBb,OAAO/C,GAC7FoE,EAAYrH,EAAWznB,OAAOqoB,EAAKpmB,EAASwI,IAEhD5c,KAAKwgC,eAAe/C,gBAAgBpiC,KAAK4lC,QAC9BniC,IAAP8d,EACA,OAAOA,GAGfwjB,EAAgBpjC,UAAUkkC,WAAa,SAAU9D,EAAQC,EAAQ2D,EAAqB5sB,GAElF,GADApU,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAIihC,EAOAoE,EACArkB,EASJ,GAhBI4c,EAAiBjlB,GAAGysB,IAAwBvH,EAA2BllB,GAAGysB,GAC1EnE,EAAamE,EAGb5sB,EAAU4sB,OAIKliC,IAAf+9B,EACAoE,EAAYpH,EAAW1nB,OAAOirB,EAAQC,EAAQjpB,IAG9CwI,EAAK6c,EAA2BllB,GAAGsoB,GAAcA,EAAa78B,KAAKygC,mBAAmBb,OAAO/C,GAC7FoE,EAAYpH,EAAW1nB,OAAOirB,EAAQC,EAAQjpB,EAASwI,IAE3D5c,KAAKwgC,eAAe/C,gBAAgBpiC,KAAK4lC,QAC9BniC,IAAP8d,EACA,OAAOA,GAGfwjB,EAAgBpjC,UAAUmkC,WAAa,SAAU3G,EAAKwG,EAAqB5sB,GAEvE,GADApU,KAAK2gC,2BACuC7hC,IAAxCkB,KAAKwgC,eAAe/C,gBACpB,MAAM,IAAI7hC,MAAM,0DAEpB,IAAIihC,EAOAoE,EACArkB,EASJ,GAhBI4c,EAAiBjlB,GAAGysB,IAAwBvH,EAA2BllB,GAAGysB,GAC1EnE,EAAamE,EAGb5sB,EAAU4sB,OAIKliC,IAAf+9B,EACAoE,EAAYnH,EAAW3nB,OAAOqoB,EAAKpmB,IAGnCwI,EAAK6c,EAA2BllB,GAAGsoB,GAAcA,EAAa78B,KAAKygC,mBAAmBb,OAAO/C,GAC7FoE,EAAYnH,EAAW3nB,OAAOqoB,EAAKpmB,EAASwI,IAEhD5c,KAAKwgC,eAAe/C,gBAAgBpiC,KAAK4lC,QAC9BniC,IAAP8d,EACA,OAAOA,GAGRwjB,EA5KyB,IAoLpC,SAAWzC,GAQPA,EAAuBxrB,OAHvB,SAAgBqoB,GACZ,MAAO,CAAEA,IAAKA,IAUlBmD,EAAuBppB,GAJvB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,MAd5D,CAiBGmD,IAA2BA,EAAyB,KAMvD,SAAWC,GASPA,EAAgCzrB,OAHhC,SAAgBqoB,EAAKhd,GACjB,MAAO,CAAEgd,IAAKA,EAAKhd,QAASA,IAUhCogB,EAAgCrpB,GAJhC,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,MAAQ7f,GAAG4d,QAAQvd,EAAUwC,UAfzF,CAkBGogB,IAAoCA,EAAkC,KAMzE,SAAWX,GASPA,EAAwC9qB,OAHxC,SAAgBqoB,EAAKhd,GACjB,MAAO,CAAEgd,IAAKA,EAAKhd,QAASA,IAUhCyf,EAAwC1oB,GAJxC,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,OAA+B,OAAtBxf,EAAUwC,SAAoB7C,GAAG4d,QAAQvd,EAAUwC,WAfxH,CAkBGyf,IAA4CA,EAA0C,KAMzF,SAAWY,GAWPA,EAAiB1rB,OAHjB,SAAgBqoB,EAAK4G,EAAY5jB,EAAS4Z,GACtC,MAAO,CAAEoD,IAAKA,EAAK4G,WAAYA,EAAY5jB,QAASA,EAAS4Z,KAAMA,IAUvEyG,EAAiBtpB,GAJjB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,MAAQ7f,GAAGpd,OAAOyd,EAAUomB,aAAezmB,GAAG4d,QAAQvd,EAAUwC,UAAY7C,GAAGpd,OAAOyd,EAAUoc,OAjB5J,CAoBGyG,IAAqBA,EAAmB,KAS3C,SAAWC,GAIPA,EAAWuD,UAAY,YAIvBvD,EAAWwD,SAAW,WAR1B,CASGxD,IAAeA,EAAa,KAC/B,SAAWA,GAQPA,EAAWvpB,GAJX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,IAAc8iB,EAAWuD,WAAarmB,IAAc8iB,EAAWwD,UAN9E,CASGxD,IAAeA,EAAa,KAE/B,SAAWC,GAQPA,EAAcxpB,GAJd,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG+b,cAAcp5B,IAAUwgC,EAAWvpB,GAAGyG,EAAUmS,OAASxS,GAAGpd,OAAOyd,EAAU1d,QAN/F,CASGygC,IAAkBA,EAAgB,KAKrC,SAAWC,GACPA,EAAmB3hB,KAAO,EAC1B2hB,EAAmBuD,OAAS,EAC5BvD,EAAmBwD,SAAW,EAC9BxD,EAAmByD,YAAc,EACjCzD,EAAmB0D,MAAQ,EAC3B1D,EAAmB2D,SAAW,EAC9B3D,EAAmB4D,MAAQ,EAC3B5D,EAAmB6D,UAAY,EAC/B7D,EAAmB8D,OAAS,EAC5B9D,EAAmB+D,SAAW,GAC9B/D,EAAmBgE,KAAO,GAC1BhE,EAAmBiE,MAAQ,GAC3BjE,EAAmBkE,KAAO,GAC1BlE,EAAmBmE,QAAU,GAC7BnE,EAAmBoE,QAAU,GAC7BpE,EAAmBnF,MAAQ,GAC3BmF,EAAmBqE,KAAO,GAC1BrE,EAAmBsE,UAAY,GAC/BtE,EAAmBuE,OAAS,GAC5BvE,EAAmBwE,WAAa,GAChCxE,EAAmByE,SAAW,GAC9BzE,EAAmB0E,OAAS,GAC5B1E,EAAmBtlB,MAAQ,GAC3BslB,EAAmB2E,SAAW,GAC9B3E,EAAmB4E,cAAgB,GAzBvC,CA0BG5E,IAAuBA,EAAqB,KAM/C,SAAWC,GAIPA,EAAiBoD,UAAY,EAW7BpD,EAAiBmE,QAAU,EAf/B,CAgBGnE,IAAqBA,EAAmB,KAQ3C,SAAWC,GAIPA,EAAkBnC,WAAa,EAJnC,CAKGmC,IAAsBA,EAAoB,KAO7C,SAAWC,GAOPA,EAAkBhsB,OAHlB,SAAgBoqB,EAASC,EAAQ72B,GAC7B,MAAO,CAAE42B,QAASA,EAASC,OAAQA,EAAQ72B,QAASA,IAUxDw4B,EAAkB5pB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,GAAGpd,OAAOyd,EAAUuhB,UAAY7D,EAAMnkB,GAAGyG,EAAUwhB,SAAW9D,EAAMnkB,GAAGyG,EAAUrV,UAb7G,CAgBGw4B,IAAsBA,EAAoB,KAQ7C,SAAWC,GAQPA,EAAeyE,KAAO,EAUtBzE,EAAe0E,kBAAoB,EAlBvC,CAmBG1E,IAAmBA,EAAiB,KAMvC,SAAWC,GAQPA,EAAelsB,OAHf,SAAgBipB,GACZ,MAAO,CAAEA,MAAOA,IANxB,CASGiD,IAAmBA,EAAiB,KAMvC,SAAWC,GAUPA,EAAensB,OAHf,SAAgB4wB,EAAOC,GACnB,MAAO,CAAED,MAAOA,GAAgB,GAAIC,eAAgBA,IAR5D,CAWG1E,IAAmBA,EAAiB,KAEvC,SAAWC,GASPA,EAAa0E,cAHb,SAAuBC,GACnB,OAAOA,EAAUv9B,QAAQ,wBAAyB,SAUtD44B,EAAahqB,GAJb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAGpd,OAAOyd,IAAeL,GAAG+b,cAAc1b,IAAcL,GAAGpd,OAAOyd,EAAU8a,WAAanb,GAAGpd,OAAOyd,EAAU1d,QAf5H,CAkBGihC,IAAiBA,EAAe,KAEnC,SAAWC,GAUPA,EAAMjqB,GANN,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,QAAS0d,GAAaL,GAAG+b,cAAc1b,KAAe+iB,EAAcxpB,GAAGyG,EAAUmoB,WAC7E5E,EAAahqB,GAAGyG,EAAUmoB,WAC1BxoB,GAAG0d,WAAWrd,EAAUmoB,SAAU5E,EAAahqB,YAAyBzV,IAAhBxB,EAAMmP,OAAuBisB,EAAMnkB,GAAGjX,EAAMmP,SARhH,CAWG+xB,IAAUA,EAAQ,KAMrB,SAAWC,GAUPA,EAAqBtsB,OAHrB,SAAgBipB,EAAOgI,GACnB,OAAOA,EAAgB,CAAEhI,MAAOA,EAAOgI,cAAeA,GAAkB,CAAEhI,MAAOA,IARzF,CAWGqD,IAAyBA,EAAuB,KAMnD,SAAWC,GAkBPA,EAAqBvsB,OAjBrB,SAAgBipB,EAAOgI,GAEnB,IADA,IAAIC,EAAa,GACR/G,EAAK,EAAGA,EAAK58B,UAAU1E,OAAQshC,IACpC+G,EAAW/G,EAAK,GAAK58B,UAAU48B,GAEnC,IAAItc,EAAS,CAAEob,MAAOA,GAUtB,OATIzgB,GAAG8f,QAAQ2I,KACXpjB,EAAOojB,cAAgBA,GAEvBzoB,GAAG8f,QAAQ4I,GACXrjB,EAAOqjB,WAAaA,EAGpBrjB,EAAOqjB,WAAa,GAEjBrjB,GAhBf,CAmBG0e,IAAyBA,EAAuB,KAKnD,SAAWC,GAIPA,EAAsBtiB,KAAO,EAI7BsiB,EAAsB2E,KAAO,EAI7B3E,EAAsB4E,MAAQ,EAZlC,CAaG5E,IAA0BA,EAAwB,KAMrD,SAAWC,GAYPA,EAAkBzsB,OAPlB,SAAgB1F,EAAO0gB,GACnB,IAAInN,EAAS,CAAEvT,MAAOA,GAItB,OAHIkO,GAAG0H,OAAO8K,KACVnN,EAAOmN,KAAOA,GAEXnN,GAVf,CAaG4e,IAAsBA,EAAoB,KAK7C,SAAWC,GACPA,EAAWwD,KAAO,EAClBxD,EAAWiD,OAAS,EACpBjD,EAAW2E,UAAY,EACvB3E,EAAW4E,QAAU,EACrB5E,EAAW+C,MAAQ,EACnB/C,EAAW0C,OAAS,EACpB1C,EAAWkD,SAAW,EACtBlD,EAAW6C,MAAQ,EACnB7C,EAAW4C,YAAc,EACzB5C,EAAWqD,KAAO,GAClBrD,EAAWgD,UAAY,GACvBhD,EAAW2C,SAAW,GACtB3C,EAAW8C,SAAW,GACtB9C,EAAW4D,SAAW,GACtB5D,EAAW19B,OAAS,GACpB09B,EAAWl9B,OAAS,GACpBk9B,EAAW6E,QAAU,GACrB7E,EAAWnjC,MAAQ,GACnBmjC,EAAW/hC,OAAS,GACpB+hC,EAAW8E,IAAM,GACjB9E,EAAW+E,KAAO,GAClB/E,EAAW2D,WAAa,GACxB3D,EAAW6D,OAAS,GACpB7D,EAAWnmB,MAAQ,GACnBmmB,EAAW8D,SAAW,GACtB9D,EAAW+D,cAAgB,GA1B/B,CA2BG/D,IAAeA,EAAa,KAM/B,SAAWC,GAIPA,EAAU/C,WAAa,EAJ3B,CAKG+C,IAAcA,EAAY,KAE7B,SAAWC,GAqBPA,EAAkB5sB,OAXlB,SAAgB9F,EAAM8gB,EAAM1gB,EAAO+tB,EAAKqJ,GACpC,IAAI7jB,EAAS,CACT3T,KAAMA,EACN8gB,KAAMA,EACNwO,SAAU,CAAEnB,IAAKA,EAAK/tB,MAAOA,IAKjC,OAHIo3B,IACA7jB,EAAO6jB,cAAgBA,GAEpB7jB,GAnBf,CAsBG+e,IAAsBA,EAAoB,KAE7C,SAAWC,GAwBPA,EAAe7sB,OAbf,SAAgB9F,EAAMy3B,EAAQ3W,EAAM1gB,EAAOs3B,EAAgBC,GACvD,IAAIhkB,EAAS,CACT3T,KAAMA,EACNy3B,OAAQA,EACR3W,KAAMA,EACN1gB,MAAOA,EACPs3B,eAAgBA,GAKpB,YAHiBjlC,IAAbklC,IACAhkB,EAAOgkB,SAAWA,GAEfhkB,GAgBXgf,EAAezqB,GAVf,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GACHL,GAAGpd,OAAOyd,EAAU3O,OAASsO,GAAG0H,OAAOrH,EAAUmS,OACjDuL,EAAMnkB,GAAGyG,EAAUvO,QAAUisB,EAAMnkB,GAAGyG,EAAU+oB,uBAC1BjlC,IAArBkc,EAAU8oB,QAAwBnpB,GAAGpd,OAAOyd,EAAU8oB,gBAC7BhlC,IAAzBkc,EAAUipB,YAA4BtpB,GAAGM,QAAQD,EAAUipB,oBACpCnlC,IAAvBkc,EAAUgpB,UAA0BtoC,MAAMuD,QAAQ+b,EAAUgpB,kBACzCllC,IAAnBkc,EAAUkpB,MAAsBxoC,MAAMuD,QAAQ+b,EAAUkpB,QApCrE,CAuCGlF,IAAmBA,EAAiB,KAKvC,SAAWC,GAIPA,EAAekF,MAAQ,GAIvBlF,EAAemF,SAAW,WAI1BnF,EAAeoF,SAAW,WAY1BpF,EAAeqF,gBAAkB,mBAWjCrF,EAAesF,eAAiB,kBAahCtF,EAAeuF,gBAAkB,mBAMjCvF,EAAewF,OAAS,SAIxBxF,EAAeyF,sBAAwB,yBASvCzF,EAAe0F,aAAe,gBAnElC,CAoEG1F,IAAmBA,EAAiB,KAMvC,SAAWC,GAWPA,EAAkB/sB,OAPlB,SAAgByyB,EAAaC,GACzB,IAAI7kB,EAAS,CAAE4kB,YAAaA,GAI5B,OAHIC,UACA7kB,EAAO6kB,KAAOA,GAEX7kB,GAUXkf,EAAkB3qB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAG0d,WAAWrd,EAAU4pB,YAAavL,EAAW9kB,WAA2BzV,IAAnBkc,EAAU6pB,MAAsBlqB,GAAG0d,WAAWrd,EAAU6pB,KAAMlqB,GAAGpd,UAjBjK,CAoBG2hC,IAAsBA,EAAoB,KAE7C,SAAWC,GAmBPA,EAAWhtB,OAlBX,SAAgBiqB,EAAO0I,EAAqB3X,GACxC,IAAInN,EAAS,CAAEoc,MAAOA,GAClB2I,GAAY,EAchB,MAbmC,iBAAxBD,GACPC,GAAY,EACZ/kB,EAAOmN,KAAO2X,GAETxL,EAAQ/kB,GAAGuwB,GAChB9kB,EAAOqc,QAAUyI,EAGjB9kB,EAAO0f,KAAOoF,EAEdC,QAAsBjmC,IAATquB,IACbnN,EAAOmN,KAAOA,GAEXnN,GAaXmf,EAAW5qB,GAVX,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAO0d,GAAaL,GAAGpd,OAAOyd,EAAUohB,cACTt9B,IAA1Bkc,EAAU4pB,aAA6BjqB,GAAG0d,WAAWrd,EAAU4pB,YAAavL,EAAW9kB,YACpEzV,IAAnBkc,EAAUmS,MAAsBxS,GAAGpd,OAAOyd,EAAUmS,cACjCruB,IAAnBkc,EAAU0kB,WAA4C5gC,IAAtBkc,EAAUqhB,gBACpBv9B,IAAtBkc,EAAUqhB,SAAyB/C,EAAQ/kB,GAAGyG,EAAUqhB,iBAC9Bv9B,IAA1Bkc,EAAUgqB,aAA6BrqB,GAAGM,QAAQD,EAAUgqB,qBACzClmC,IAAnBkc,EAAU0kB,MAAsB3F,EAAcxlB,GAAGyG,EAAU0kB,QA5BxE,CA+BGP,KAAeA,GAAa,KAM/B,SAAWC,GAWPA,EAASjtB,OAPT,SAAgB1F,EAAOvN,GACnB,IAAI8gB,EAAS,CAAEvT,MAAOA,GAItB,OAHIkO,GAAG8f,QAAQv7B,KACX8gB,EAAO9gB,KAAOA,GAEX8gB,GAUXof,EAAS7qB,GAJT,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAUvO,SAAWkO,GAAG7b,UAAUkc,EAAUqhB,UAAY/C,EAAQ/kB,GAAGyG,EAAUqhB,WAjB9H,CAoBG+C,KAAaA,GAAW,KAM3B,SAAWC,GAOPA,EAAkBltB,OAHlB,SAAgB8yB,EAASC,GACrB,MAAO,CAAED,QAASA,EAASC,aAAcA,IAU7C7F,EAAkB9qB,GAJlB,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAcL,GAAG6d,SAASxd,EAAUiqB,UAAYtqB,GAAGM,QAAQD,EAAUkqB,eAb/F,CAgBG7F,KAAsBA,GAAoB,KAM7C,SAAWC,GAOPA,EAAantB,OAHb,SAAgB1F,EAAO5G,EAAQ3G,GAC3B,MAAO,CAAEuN,MAAOA,EAAO5G,OAAQA,EAAQ3G,KAAMA,IAUjDogC,EAAa/qB,GAJb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,OAAOqd,GAAG8f,QAAQzf,IAAc0d,EAAMnkB,GAAGyG,EAAUvO,SAAWkO,GAAG7b,UAAUkc,EAAUnV,SAAW8U,GAAGpd,OAAOyd,EAAUnV,UAb5H,CAgBGy5B,KAAiBA,GAAe,KAMnC,SAAWC,GASPA,EAAeptB,OAHf,SAAgB1F,EAAO04B,GACnB,MAAO,CAAE14B,MAAOA,EAAO04B,OAAQA,IAOnC5F,EAAehrB,GAJf,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,YAAqBwB,IAAdkc,GAA2B0d,EAAMnkB,GAAGyG,EAAUvO,cAAgC3N,IAArBkc,EAAUmqB,QAAwB5F,EAAehrB,GAAGyG,EAAUmqB,UAZtI,CAeG5F,KAAmBA,GAAiB,KAChC,IAII6F,GAJAC,GAAM,CAAC,KAAM,OAAQ,OAKhC,SAAWD,GA6CP,SAASE,EAAUpmC,EAAM0F,GACrB,GAAI1F,EAAKlE,QAAU,EAEf,OAAOkE,EAEX,IAAIsT,EAAKtT,EAAKlE,OAAS,EAAK,EACxBuqC,EAAOrmC,EAAKtB,MAAM,EAAG4U,GACrBgzB,EAAQtmC,EAAKtB,MAAM4U,GACvB8yB,EAAUC,EAAM3gC,GAChB0gC,EAAUE,EAAO5gC,GAIjB,IAHA,IAAI6gC,EAAU,EACVC,EAAW,EACXprC,EAAI,EACDmrC,EAAUF,EAAKvqC,QAAU0qC,EAAWF,EAAMxqC,QAAQ,CACrD,IAAIsL,EAAM1B,EAAQ2gC,EAAKE,GAAUD,EAAME,IAGnCxmC,EAAK5E,KAFLgM,GAAO,EAEKi/B,EAAKE,KAILD,EAAME,KAG1B,KAAOD,EAAUF,EAAKvqC,QAClBkE,EAAK5E,KAAOirC,EAAKE,KAErB,KAAOC,EAAWF,EAAMxqC,QACpBkE,EAAK5E,KAAOkrC,EAAME,KAEtB,OAAOxmC,EAjEXkmC,EAAajzB,OAHb,SAAgBqoB,EAAK4G,EAAY5jB,EAASmoB,GACtC,OAAO,IAAIC,GAAiBpL,EAAK4G,EAAY5jB,EAASmoB,IAW1DP,EAAa7wB,GALb,SAAYjX,GACR,IAAI0d,EAAY1d,EAChB,SAAOqd,GAAG8f,QAAQzf,IAAcL,GAAGpd,OAAOyd,EAAUwf,OAAS7f,GAAG7b,UAAUkc,EAAUomB,aAAezmB,GAAGpd,OAAOyd,EAAUomB,cAAgBzmB,GAAG6d,SAASxd,EAAU6qB,YACtJlrB,GAAGoB,KAAKf,EAAU8qB,UAAYnrB,GAAGoB,KAAKf,EAAU+qB,aAAeprB,GAAGoB,KAAKf,EAAUgrB,YA2B5FZ,EAAaa,WAxBb,SAAoBC,EAAUlJ,GAU1B,IATA,IAAI5F,EAAO8O,EAASJ,UAChBK,EAAcb,EAAUtI,GAAO,SAAUn4B,EAAGnG,GAC5C,IAAI0nC,EAAOvhC,EAAE4H,MAAM3Q,MAAMo+B,KAAOx7B,EAAE+N,MAAM3Q,MAAMo+B,KAC9C,OAAa,IAATkM,EACOvhC,EAAE4H,MAAM3Q,MAAMq+B,UAAYz7B,EAAE+N,MAAM3Q,MAAMq+B,UAE5CiM,KAEPC,EAAqBjP,EAAKp8B,OACrBV,EAAI6rC,EAAYnrC,OAAS,EAAGV,GAAK,EAAGA,IAAK,CAC9C,IAAI2J,EAAIkiC,EAAY7rC,GAChBgsC,EAAcJ,EAASF,SAAS/hC,EAAEwI,MAAM3Q,OACxCyqC,EAAYL,EAASF,SAAS/hC,EAAEwI,MAAM1Q,KAC1C,KAAIwqC,GAAaF,GAIb,MAAM,IAAIzqC,MAAM,oBAHhBw7B,EAAOA,EAAKoP,UAAU,EAAGF,GAAeriC,EAAEs4B,QAAUnF,EAAKoP,UAAUD,EAAWnP,EAAKp8B,QAKvFqrC,EAAqBC,EAEzB,OAAOlP,GA1Cf,CA6EGgO,KAAiBA,GAAe,KAInC,IA2GIzqB,GA3GAirB,GAAkC,WAClC,SAASA,EAAiBpL,EAAK4G,EAAY5jB,EAASmoB,GAChD3lC,KAAKymC,KAAOjM,EACZx6B,KAAK0mC,YAActF,EACnBphC,KAAK2mC,SAAWnpB,EAChBxd,KAAK4mC,SAAWjB,EAChB3lC,KAAK6mC,kBAAe/nC,EAmGxB,OAjGAhC,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,MAAO,CACrDuH,IAAK,WACD,OAAOvE,KAAKymC,MAEhBniC,YAAY,EACZ8H,cAAc,IAElBtP,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,aAAc,CAC5DuH,IAAK,WACD,OAAOvE,KAAK0mC,aAEhBpiC,YAAY,EACZ8H,cAAc,IAElBtP,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,UAAW,CACzDuH,IAAK,WACD,OAAOvE,KAAK2mC,UAEhBriC,YAAY,EACZ8H,cAAc,IAElBw5B,EAAiB5oC,UAAU8oC,QAAU,SAAUr5B,GAC3C,GAAIA,EAAO,CACP,IAAI3Q,EAAQkE,KAAKgmC,SAASv5B,EAAM3Q,OAC5BC,EAAMiE,KAAKgmC,SAASv5B,EAAM1Q,KAC9B,OAAOiE,KAAK4mC,SAASJ,UAAU1qC,EAAOC,GAE1C,OAAOiE,KAAK4mC,UAEhBhB,EAAiB5oC,UAAU8pC,OAAS,SAAUzzB,EAAOmK,GACjDxd,KAAK4mC,SAAWvzB,EAAM+jB,KACtBp3B,KAAK2mC,SAAWnpB,EAChBxd,KAAK6mC,kBAAe/nC,GAExB8mC,EAAiB5oC,UAAU+pC,eAAiB,WACxC,QAA0BjoC,IAAtBkB,KAAK6mC,aAA4B,CAIjC,IAHA,IAAIG,EAAc,GACd5P,EAAOp3B,KAAK4mC,SACZK,GAAc,EACT3sC,EAAI,EAAGA,EAAI88B,EAAKp8B,OAAQV,IAAK,CAC9B2sC,IACAD,EAAY3rC,KAAKf,GACjB2sC,GAAc,GAElB,IAAIC,EAAK9P,EAAK+P,OAAO7sC,GACrB2sC,EAAsB,OAAPC,GAAsB,OAAPA,EACnB,OAAPA,GAAe5sC,EAAI,EAAI88B,EAAKp8B,QAAiC,OAAvBo8B,EAAK+P,OAAO7sC,EAAI,IACtDA,IAGJ2sC,GAAe7P,EAAKp8B,OAAS,GAC7BgsC,EAAY3rC,KAAK+7B,EAAKp8B,QAE1BgF,KAAK6mC,aAAeG,EAExB,OAAOhnC,KAAK6mC,cAEhBjB,EAAiB5oC,UAAU+oC,WAAa,SAAUrkC,GAC9CA,EAASoB,KAAK4C,IAAI5C,KAAKC,IAAIrB,EAAQ1B,KAAK4mC,SAAS5rC,QAAS,GAC1D,IAAIgsC,EAAchnC,KAAK+mC,iBACnBK,EAAM,EAAGC,EAAOL,EAAYhsC,OAChC,GAAa,IAATqsC,EACA,OAAO5O,EAAStmB,OAAO,EAAGzQ,GAE9B,KAAO0lC,EAAMC,GAAM,CACf,IAAIC,EAAMxkC,KAAK+J,OAAOu6B,EAAMC,GAAQ,GAChCL,EAAYM,GAAO5lC,EACnB2lC,EAAOC,EAGPF,EAAME,EAAM,EAKpB,IAAIpN,EAAOkN,EAAM,EACjB,OAAO3O,EAAStmB,OAAO+nB,EAAMx4B,EAASslC,EAAY9M,KAEtD0L,EAAiB5oC,UAAUgpC,SAAW,SAAUvJ,GAC5C,IAAIuK,EAAchnC,KAAK+mC,iBACvB,GAAItK,EAASvC,MAAQ8M,EAAYhsC,OAC7B,OAAOgF,KAAK4mC,SAAS5rC,OAEpB,GAAIyhC,EAASvC,KAAO,EACrB,OAAO,EAEX,IAAIqN,EAAaP,EAAYvK,EAASvC,MAClCsN,EAAkB/K,EAASvC,KAAO,EAAI8M,EAAYhsC,OAAUgsC,EAAYvK,EAASvC,KAAO,GAAKl6B,KAAK4mC,SAAS5rC,OAC/G,OAAO8H,KAAK4C,IAAI5C,KAAKC,IAAIwkC,EAAa9K,EAAStC,UAAWqN,GAAiBD,IAE/EzqC,OAAOuH,eAAeuhC,EAAiB5oC,UAAW,YAAa,CAC3DuH,IAAK,WACD,OAAOvE,KAAK+mC,iBAAiB/rC,QAEjCsJ,YAAY,EACZ8H,cAAc,IAEXw5B,EAzG0B,IA4GrC,SAAWjrB,GACP,IAAInb,EAAW1C,OAAOE,UAAUwC,SAIhCmb,EAAG8f,QAHH,SAAiBn9B,GACb,YAAwB,IAAVA,GAMlBqd,EAAG7b,UAHH,SAAmBxB,GACf,YAAwB,IAAVA,GAMlBqd,EAAGM,QAHH,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7Bqd,EAAGpd,OAHH,SAAgBD,GACZ,MAAgC,oBAAzBkC,EAASsB,KAAKxD,IAMzBqd,EAAG0H,OAHH,SAAgB/kB,GACZ,MAAgC,oBAAzBkC,EAASsB,KAAKxD,IAMzBqd,EAAGugB,YAHH,SAAqB59B,EAAOyF,EAAK2C,GAC7B,MAAgC,oBAAzBlG,EAASsB,KAAKxD,IAAgCyF,GAAOzF,GAASA,GAASoI,GAMlFiV,EAAG4d,QAHH,SAAiBj7B,GACb,MAAgC,oBAAzBkC,EAASsB,KAAKxD,KAAiC,YAAcA,GAASA,GAAS,YAM1Fqd,EAAG6d,SAHH,SAAkBl7B,GACd,MAAgC,oBAAzBkC,EAASsB,KAAKxD,IAAgC,GAAKA,GAASA,GAAS,YAMhFqd,EAAGoB,KAHH,SAAcze,GACV,MAAgC,sBAAzBkC,EAASsB,KAAKxD,IASzBqd,EAAG+b,cANH,SAAuBp5B,GAInB,OAAiB,OAAVA,GAAmC,iBAAVA,GAMpCqd,EAAG0d,WAHH,SAAoB/6B,EAAOg7B,GACvB,OAAO58B,MAAMuD,QAAQ3B,IAAUA,EAAMypB,MAAMuR,IA9CnD,CAiDG3d,KAAOA,GAAK,M,kCC92Df,IAAIzI,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4tC,sBAAmB,EAC3B,MAAM10B,EAAQ,EAAQ,MACtBR,EAAa,EAAQ,MAA2C1Y,GAChE0Y,EAAa,EAAQ,MAAkB1Y,GACvC,IAAI6tC,GAAoB,EACxB,MAAMC,EAAW,CACbC,WAAaC,MAEb,uBACI,OAAOH,GAEX,qBAAqBpqC,GACjBoqC,EAAoBpqC,GAExBwqC,KAAOC,OA2BXluC,EAAQ4tC,iBAxBR,SAA0BO,EAAMC,EAAMC,EAAMC,GACxC,IAAIC,EACAn0B,EACAC,EACAE,EAkBJ,YAjBa,IAAT4zB,GAAoC,aAAjBA,EAAKK,UACxBD,EAAYJ,EACZA,EAAOC,EACPA,EAAOC,EACPA,EAAOC,GAEPp1B,EAAMuB,mBAAmBC,GAAGyzB,IAASj1B,EAAMoF,kBAAkB5D,GAAGyzB,GAChE5zB,EAAU4zB,GAGV/zB,EAAS+zB,EACT9zB,EAAS+zB,EACT7zB,EAAU8zB,GAKPn1B,EAAM00B,kBAHctzB,GAChBpB,EAAMgb,yBAAyB9Z,EAAQC,EAAQC,EAAQC,IAEjBuzB,EAAUS,K,kCClD/D,IAAIl2B,EAAmBlS,MAAQA,KAAKkS,kBAAqBpV,OAAOqV,OAAS,SAAUC,EAAG3R,EAAG4R,EAAGC,QAC7ExT,IAAPwT,IAAkBA,EAAKD,GAC3BvV,OAAOuH,eAAe+N,EAAGE,EAAI,CAAEhO,YAAY,EAAMC,IAAK,WAAa,OAAO9D,EAAE4R,OAC3E,SAAUD,EAAG3R,EAAG4R,EAAGC,QACTxT,IAAPwT,IAAkBA,EAAKD,GAC3BD,EAAEE,GAAM7R,EAAE4R,KAEVE,EAAgBvS,MAAQA,KAAKuS,cAAiB,SAAS9R,EAAG5G,GAC1D,IAAK,IAAI2Y,KAAK/R,EAAa,YAAN+R,GAAoB1V,OAAOE,UAAUyV,eAAe3R,KAAKjH,EAAS2Y,IAAIN,EAAgBrY,EAAS4G,EAAG+R,IAE3H1V,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQyuC,iBAAmBzuC,EAAQ0uC,2BAAwB,EAC3D,MAAMC,EAAmB,EAAQ,MACjC1rC,OAAOuH,eAAexK,EAAS,wBAAyB,CAAEyK,YAAY,EAAMC,IAAK,WAAc,OAAOikC,EAAiBD,yBACvHh2B,EAAa,EAAQ,MAAoC1Y,GACzD0Y,EAAa,EAAQ,MAAa1Y,IAMZA,EAAQyuC,mBAAqBzuC,EAAQyuC,iBAAmB,KAHzDzI,IAAM,CACnBwI,QAAS,a,4BCnBjBvrC,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4uC,0BAAuB,EAC/B,MAAMC,EAAmC,EAAQ,MA0BjD7uC,EAAQ4uC,qBAzBsBz8B,GACnB,cAAcA,EACjB,oBACI,MAAO,CACH28B,UAAYnoB,IACRxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiC5Z,4BAA4B9vB,MAAM,CAACmhB,EAAQ5E,IAC3FiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,QAASrhB,MAG5E+pC,gBAAkBroB,IACd,MAAMxhB,EAAO0pC,EAAiC7Z,kCAAkC7vB,KAChFgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,OAGnH4oB,gBAAkBvoB,IACd,MAAMxhB,EAAO0pC,EAAiC9Z,kCAAkC5vB,KAChFgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,W,4BCrBnIrjB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQmvC,0BAAuB,EAC/B,MAAMN,EAAmC,EAAQ,MAC3C/tB,EAAK,EAAQ,MAwBnB9gB,EAAQmvC,qBAvBsBh9B,GACnB,cAAcA,EACjBi9B,iBAAiBhsC,GACb,OAAKA,EAGI0d,EAAGpd,OAAON,GACR+C,KAAKkpC,kBAAkB,CAAEC,QAASlsC,IAGlC+C,KAAKkpC,kBAAkBjsC,GANvB+C,KAAKkpC,kBAAkB,IAStCA,kBAAkBjsC,GACd,IAAIkjB,EAAS,CACT4iB,MAAOrnC,MAAMuD,QAAQhC,GAAOA,EAAM,CAACA,IAEvC,OAAO+C,KAAK0jB,WAAWa,YAAYmkB,EAAiCzZ,qBAAqBjwB,KAAMmhB,GAAQxK,MAAMqK,GAClGtkB,MAAMuD,QAAQhC,GAAO+iB,EAASA,EAAO,Q,4BCtB5DljB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQuvC,2BAAwB,EAChC,MAAMV,EAAmC,EAAQ,MAmCjD7uC,EAAQuvC,sBAlCuBp9B,GACpB,cAAcA,EACjBq9B,iBAAiB7oB,GACbxgB,KAAK0jB,WAAWO,eAAeykB,EAAiCnZ,2BAA2BvwB,MAAOmhB,IAC9FK,EAAQL,MAGhBmpB,iBAAiB9oB,GACbxgB,KAAK0jB,WAAWO,eAAeykB,EAAiCrZ,2BAA2BrwB,MAAOmhB,IAC9FK,EAAQL,MAGhBopB,iBAAiB/oB,GACbxgB,KAAK0jB,WAAWO,eAAeykB,EAAiCtZ,2BAA2BpwB,MAAOmhB,IAC9FK,EAAQL,MAGhBqpB,kBAAkBhpB,GACd,OAAOxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiClZ,uBAAuBxwB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,KAG/BkuB,kBAAkBjpB,GACd,OAAOxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiCpZ,uBAAuBtwB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,KAG/BmuB,kBAAkBlpB,GACd,OAAOxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiCvZ,uBAAuBnwB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,Q,4BChCvCze,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ8vC,+BAA4B,EACpC,MAAMjB,EAAmC,EAAQ,MAUjD7uC,EAAQ8vC,0BAT2B39B,GACxB,cAAcA,EACjB49B,qBAAqBppB,GACjBxgB,KAAK0jB,WAAWmB,UAAU6jB,EAAiCtV,0BAA0Bp0B,MAAM,CAACmhB,EAAQ5E,IACzFiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,QAASrhB,Q,4BCPpFhC,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQgwC,oBAAiB,EACzB,MAAMnB,EAAmC,EAAQ,MAejD7uC,EAAQgwC,eAdgB79B,GACb,cAAcA,EACjB,cACI,MAAO,CACH89B,GAAKtpB,IACD,MAAMxhB,EAAO0pC,EAAiCzV,eAAej0B,KAC7DgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,W,4BCVnIrjB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQkwC,oBAAsBlwC,EAAQmwC,gBAAkBnwC,EAAQowC,oBAAiB,EACjF,MAAMvB,EAAmC,EAAQ,MAC3CwB,EAAS,EAAQ,MACvB,MAAMC,EACFl+B,YAAYm+B,EAAa3uB,GACrBzb,KAAKoqC,YAAcA,EACnBpqC,KAAKyb,OAASA,EACd0uB,EAA6BE,UAAUllC,IAAInF,KAAKyb,OAAQzb,MAE5DsqC,MAAMlO,EAAOmO,EAAYh+B,EAASi+B,GAC9B,IAAIpnB,EAAQ,CACR+J,KAAM,QACNiP,QACAmO,aACAh+B,UACAi+B,eAEJxqC,KAAKoqC,YAAY/lB,aAAaqkB,EAAiCzU,iBAAiBj1B,KAAMgB,KAAKyb,OAAQ2H,GAEvGqnB,OAAOC,EAAM1C,GACT,IAAI5kB,EAAQ,CACR+J,KAAM,UAEU,iBAATud,GACPtnB,EAAMmnB,WAAaG,OACN5rC,IAATkpC,IACA5kB,EAAM7W,QAAUy7B,IAIpB5kB,EAAM7W,QAAUm+B,EAEpB1qC,KAAKoqC,YAAY/lB,aAAaqkB,EAAiCzU,iBAAiBj1B,KAAMgB,KAAKyb,OAAQ2H,GAEvGsF,OACIyhB,EAA6BE,UAAUznB,OAAO5iB,KAAKyb,QACnDzb,KAAKoqC,YAAY/lB,aAAaqkB,EAAiCzU,iBAAiBj1B,KAAMgB,KAAKyb,OAAQ,CAAE0R,KAAM,SAGnHgd,EAA6BE,UAAY,IAAIvsB,IAC7C,MAAM6sB,UAA2CR,EAC7Cl+B,YAAYyX,EAAY1C,GACpB9U,MAAMwX,EAAY1C,GAClBhhB,KAAK4qC,QAAU,IAAIlC,EAAiCjwB,wBAExD,YACI,OAAOzY,KAAK4qC,QAAQ5pB,MAExB0H,OACI1oB,KAAK4qC,QAAQxvB,UACblP,MAAMwc,OAEVnN,SACIvb,KAAK4qC,QAAQrvB,UAGrB,MAAMsvB,EACF5+B,eAEAq+B,SAEAG,UAEA/hB,SAGJ,MAAMoiB,UAAmCD,EACrC5+B,cACIC,QACAlM,KAAK4qC,QAAU,IAAIlC,EAAiCjwB,wBAExD,YACI,OAAOzY,KAAK4qC,QAAQ5pB,MAExB0H,OACI1oB,KAAK4qC,QAAQxvB,UAEjBG,SACIvb,KAAK4qC,QAAQrvB,UAqDrB,IAAIwvB,EA1CJlxC,EAAQowC,eARR,SAAwBvmB,EAAYvD,GAChC,QAAerhB,IAAXqhB,QAAiDrhB,IAAzBqhB,EAAO6qB,cAC/B,OAAO,IAAIH,EAEf,MAAM7pB,EAAQb,EAAO6qB,cAErB,cADO7qB,EAAO6qB,cACP,IAAIb,EAA6BzmB,EAAY1C,IA2CxDnnB,EAAQmwC,gBAxCiBh+B,GACd,cAAcA,EACjBC,cACIC,QACAlM,KAAKirC,oBAAqB,EAE9BrD,WAAWsD,GACP,IAAIpjB,GACsJ,KAA1D,QAA1FA,EAAKojB,aAAmD,EAASA,EAAaC,cAA2B,IAAPrjB,OAAgB,EAASA,EAAG6O,oBAChI32B,KAAKirC,oBAAqB,EAC1BjrC,KAAK0jB,WAAWO,eAAeykB,EAAiC3U,mCAAmC/0B,MAAOmhB,IACtG,IAAIirB,EAAWjB,EAA6BE,UAAU9lC,IAAI4b,EAAOa,QAC7DoqB,aAAoBT,GAAsCS,aAAoBN,IAC9EM,EAAS7vB,aAKzBqtB,uBAAuB5nB,GACnB,YAAcliB,IAAVkiB,EACO,IAAI6pB,EAGJ,IAAIV,EAA6BnqC,KAAK0jB,WAAY1C,GAGjEqqB,yBACI,GAAIrrC,KAAKirC,mBAAoB,CACzB,MAAMjqB,EAAQkpB,EAAOoB,eACrB,OAAOtrC,KAAK0jB,WAAWa,YAAYmkB,EAAiC1U,8BAA8Bh1B,KAAM,CAAEgiB,UAASrL,MAAK,IACrG,IAAIg1B,EAAmC3qC,KAAK0jB,WAAY1C,KAK3E,OAAOjP,QAAQtC,QAAQ,IAAIq7B,KAO3C,SAAWC,GACPA,EAAe/rC,KAAO,IAAI0pC,EAAiCxwB,aAD/D,CAEG6yB,IAAmBA,EAAiB,KACvC,MAAMQ,EACFt/B,YAAYm+B,EAAa3uB,GACrBzb,KAAKoqC,YAAcA,EACnBpqC,KAAKyb,OAASA,EAElBgvB,OAAOvrC,GACHc,KAAKoqC,YAAY/lB,aAAa0mB,EAAe/rC,KAAMgB,KAAKyb,OAAQvc,IAWxErF,EAAQkwC,oBARR,SAA6BrmB,EAAYvD,GACrC,QAAerhB,IAAXqhB,QAAsDrhB,IAA9BqhB,EAAOqrB,mBAC/B,OAEJ,MAAMxqB,EAAQb,EAAOqrB,mBAErB,cADOrrB,EAAOqrB,mBACP,IAAID,EAA2B7nB,EAAY1C,K,4BCvJtDlkB,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ0uC,sBAAwB1uC,EAAQ4xC,2BAAwB,EAChE,MAAM/C,EAAmC,EAAQ,MA2BjD7uC,EAAQ4xC,sBA1BuBz/B,GACpB,cAAcA,EACjB,qBACI,MAAO,CACH89B,GAAKtpB,IACD,MAAMxhB,EAAO0pC,EAAiChV,sBAAsB10B,KACpEgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,OAGnHurB,QAAUlrB,IACN,MAAMxhB,EAAO0pC,EAAiCjV,2BAA2Bz0B,KACzEgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,OAGnHwrB,QAAUnrB,IACN,MAAMxhB,EAAO0pC,EAAiClV,2BAA2Bx0B,KACzEgB,KAAK0jB,WAAWmB,UAAU7lB,GAAM,CAACmhB,EAAQ5E,IAC9BiF,EAAQL,EAAQ5E,EAAQvb,KAAK4oC,uBAAuBzoB,GAASngB,KAAK8oC,4BAA4B9pC,EAAMmhB,UAkGnItmB,EAAQ0uC,sBA1FR,MACIt8B,cACIjM,KAAK4rC,eAAY9sC,EACjBkB,KAAK4nC,aAETA,aACI5nC,KAAK6rC,IAAMprB,KAAKC,MAChB1gB,KAAK8rC,UAAY,EACjB9rC,KAAK+rC,UAAY,EACjB/rC,KAAKgsC,MAAQ,GACbhsC,KAAKisC,SAAW,EAEpB5wC,KAAK6+B,EAAMgS,EAAMlxC,EAAQmxC,EAAWC,GAChC,IAAIC,EAAWnS,EACXoS,EAAWJ,EACXlsC,KAAKisC,SAAW,IAChBI,GAAYrsC,KAAK8rC,UACA,IAAbO,IACAC,GAAYtsC,KAAK+rC,YAGzB/rC,KAAKgsC,MAAMhsC,KAAKisC,YAAcI,EAC9BrsC,KAAKgsC,MAAMhsC,KAAKisC,YAAcK,EAC9BtsC,KAAKgsC,MAAMhsC,KAAKisC,YAAcjxC,EAC9BgF,KAAKgsC,MAAMhsC,KAAKisC,YAAcE,EAC9BnsC,KAAKgsC,MAAMhsC,KAAKisC,YAAcG,EAC9BpsC,KAAK8rC,UAAY5R,EACjBl6B,KAAK+rC,UAAYG,EAErB,SACI,OAAOlsC,KAAK6rC,IAAIrsC,WAEpB+sC,eAAe3vB,GACP5c,KAAK4c,KAAOA,IACZ5c,KAAK4rC,UAAY5rC,KAAKgsC,OAE1BhsC,KAAK4nC,aAET4E,QAEI,OADAxsC,KAAK4rC,eAAY9sC,EACV,CACHq5B,SAAUn4B,KAAK4c,GACf1d,KAAMc,KAAKgsC,OAGnBS,gBACI,YAA0B3tC,IAAnBkB,KAAK4rC,UAEhBc,aACI,QAAuB5tC,IAAnBkB,KAAK4rC,UAAyB,CAC9B,MAAMe,EAAiB3sC,KAAK4rC,UAAU5wC,OAChC4xC,EAAa5sC,KAAKgsC,MAAMhxC,OAC9B,IAAI6xC,EAAa,EACjB,KAAOA,EAAaD,GAAcC,EAAaF,GAAkB3sC,KAAK4rC,UAAUiB,KAAgB7sC,KAAKgsC,MAAMa,IACvGA,IAEJ,GAAIA,EAAaD,GAAcC,EAAaF,EAAgB,CAExD,IAAIG,EAAW,EACf,KAAOA,EAAWF,GAAcE,EAAWH,GAAkB3sC,KAAK4rC,UAAUe,EAAiB,EAAIG,KAAc9sC,KAAKgsC,MAAMY,EAAa,EAAIE,IACvIA,IAEJ,MAAMC,EAAU/sC,KAAKgsC,MAAMpuC,MAAMivC,EAAYD,EAAaE,GAO1D,MANe,CACX3U,SAAUn4B,KAAK4c,GACfogB,MAAO,CACH,CAAElhC,MAAO+wC,EAAYG,YAAaL,EAAiBG,EAAWD,EAAY3tC,KAAM6tC,KAKvF,OAAIF,EAAaD,EACX,CAAEzU,SAAUn4B,KAAK4c,GAAIogB,MAAO,CAC3B,CAAElhC,MAAO+wC,EAAYG,YAAa,EAAG9tC,KAAMc,KAAKgsC,MAAMpuC,MAAMivC,MAG/DA,EAAaF,EACX,CAAExU,SAAUn4B,KAAK4c,GAAIogB,MAAO,CAC3B,CAAElhC,MAAO+wC,EAAYG,YAAaL,EAAiBE,KAIpD,CAAE1U,SAAUn4B,KAAK4c,GAAIogB,MAAO,IAIvC,OAAOh9B,KAAKwsC,W,4BCpHxB1vC,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ4tC,iBAAmB5tC,EAAQozC,gBAAkBpzC,EAAQqzC,yBAA2BrzC,EAAQszC,yBAA2BtzC,EAAQuzC,sBAAwBvzC,EAAQwzC,sBAAwBxzC,EAAQyzC,sBAAwBzzC,EAAQ0zC,yBAA2B1zC,EAAQ2zC,uBAAyB3zC,EAAQ4zC,eAAiB5zC,EAAQ6zC,mBAAqB7zC,EAAQ8zC,iBAAmB9zC,EAAQ+zC,oBAAsB/zC,EAAQg0C,mBAAgB,EACta,MAAMnF,EAAmC,EAAQ,MAC3C/tB,EAAK,EAAQ,MACbmzB,EAAO,EAAQ,MACfC,EAAa,EAAQ,MACrBC,EAAkB,EAAQ,MAC1BC,EAAqB,EAAQ,MAC7BC,EAAkB,EAAQ,MAC1B1F,EAAmB,EAAQ,MAC3B2F,EAAiB,EAAQ,KACzBC,EAAmB,EAAQ,MAC3BC,EAAuB,EAAQ,MAC/BC,EAAY,EAAQ,MAC1B,SAASC,EAAejxC,GACpB,GAAc,OAAVA,EAGJ,OAAOA,EA0JXzD,EAAQg0C,cArJR,MAII5hC,YAAYuiC,GACRxuC,KAAKyuC,WAAa3xC,OAAOqV,OAAO,MAChCnS,KAAK0uC,eAAiBF,EACtBxuC,KAAK2uC,oBAAsB,IAAIjG,EAAiCv1B,QAChEnT,KAAK4uC,WAAa,IAAIlG,EAAiCv1B,QACvDnT,KAAK6uC,YAAc,IAAInG,EAAiCv1B,QACxDnT,KAAK8uC,WAAa,IAAIpG,EAAiCv1B,QACvDnT,KAAK+uC,YAAc,IAAIrG,EAAiCv1B,QAM5D,yBACI,OAAOnT,KAAK2uC,oBAAoBt7B,MAMpC,gBACI,OAAOrT,KAAK4uC,WAAWv7B,MAM3B,iBACI,OAAOrT,KAAK+uC,YAAY17B,MAM5B27B,oBAAoBxuB,GAChBxgB,KAAKivC,mBAAqBzuB,EAM9B,gBACI,OAAOxgB,KAAK8uC,WAAWz7B,MAM3B,iBACI,OAAOrT,KAAK6uC,YAAYx7B,MAS5B9O,IAAIi2B,GACA,OAAOx6B,KAAKyuC,WAAWjU,GAO3BqF,MACI,OAAO/iC,OAAOuoB,KAAKrlB,KAAKyuC,YAAY3qB,KAAI9B,GAAOhiB,KAAKyuC,WAAWzsB,KAOnEqD,OACI,OAAOvoB,OAAOuoB,KAAKrlB,KAAKyuC,YAe5B/6B,OAAOgQ,GACHA,EAAWwrB,mBAAqBxG,EAAiC9W,qBAAqBqF,KACtFvT,EAAWyrB,uBAAuB97B,IAC9B,IAAI+7B,EAAK/7B,EAAM0pB,aACXmJ,EAAWlmC,KAAK0uC,eAAev8B,OAAOi9B,EAAG5U,IAAK4U,EAAGhO,WAAYgO,EAAG5xB,QAAS4xB,EAAGhY,MAChFp3B,KAAKyuC,WAAWW,EAAG5U,KAAO0L,EAC1B,IAAImJ,EAASvyC,OAAO0Z,OAAO,CAAE0vB,aAC7BlmC,KAAK4uC,WAAWt7B,KAAK+7B,GACrBrvC,KAAK2uC,oBAAoBr7B,KAAK+7B,MAElC3rB,EAAW4rB,yBAAyBj8B,IAChC,IAAI+7B,EAAK/7B,EAAM0pB,aACXS,EAAUnqB,EAAMk8B,eACpB,GAAuB,IAAnB/R,EAAQxiC,OACR,OAEJ,IAAIkrC,EAAWlmC,KAAKyuC,WAAWW,EAAG5U,KAClC,MAAM,QAAEhd,GAAY4xB,EACpB,GAAI5xB,QACA,MAAM,IAAI5hB,MAAM,sCAAsCwzC,EAAG5U,wCAE7D0L,EAAWlmC,KAAK0uC,eAAe5H,OAAOZ,EAAU1I,EAAShgB,GACzDxd,KAAKyuC,WAAWW,EAAG5U,KAAO0L,EAC1BlmC,KAAK2uC,oBAAoBr7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,iBAElDxiB,EAAW8rB,wBAAwBn8B,IAC/B,IAAI6yB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC9C0L,WACOlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC1Cx6B,KAAK6uC,YAAYv7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,kBAG9CxiB,EAAW+rB,wBAAwBp8B,IAC/B,IAAI6yB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC9C0L,GACAlmC,KAAK+uC,YAAYz7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,WAAUwJ,OAAQr8B,EAAMq8B,aAGtEhsB,EAAWisB,iCAAgC,CAACt8B,EAAO2N,KAC/C,IAAIklB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAClD,OAAI0L,GAAYlmC,KAAKivC,mBACVjvC,KAAKivC,mBAAmBnyC,OAAO0Z,OAAO,CAAE0vB,WAAUwJ,OAAQr8B,EAAMq8B,SAAW1uB,GAG3E,MAGf0C,EAAWksB,uBAAuBv8B,IAC9B,IAAI6yB,EAAWlmC,KAAKyuC,WAAWp7B,EAAM0pB,aAAavC,KAC9C0L,GACAlmC,KAAK8uC,WAAWx7B,KAAKxW,OAAO0Z,OAAO,CAAE0vB,mBAwCrDrsC,EAAQ+zC,oBA5BR,MACI3hC,cACIjM,KAAK6vC,UAAY/yC,OAAOqV,OAAO,MAOnCyT,IAAIrZ,GACA,IAAIyf,EAAQhsB,KAAK6vC,UAAUtjC,GACtByf,IACDA,EAAQ,GAEZA,IACAhsB,KAAK6vC,UAAUtjC,GAAWyf,EAO9B8jB,WAAWpsB,GACP5mB,OAAOuoB,KAAKrlB,KAAK6vC,WAAWvqB,SAAQ/Y,IAChCmX,EAAWynB,OAAO4E,iBAAiBxjC,QAK/C,MAAMyjC,EACF/jC,eAEAgkC,UAAUvsB,GACN1jB,KAAKkwC,eAAiBxsB,EAE1BysB,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBgG,uBAAuBC,IAEvBzI,WAAWyI,IAEXjsC,MAAMmI,GACFvM,KAAKoW,KAAKsyB,EAAiCzW,YAAYr2B,MAAO2Q,GAElEyP,KAAKzP,GACDvM,KAAKoW,KAAKsyB,EAAiCzW,YAAY6E,QAASvqB,GAEpE0P,KAAK1P,GACDvM,KAAKoW,KAAKsyB,EAAiCzW,YAAY8E,KAAMxqB,GAEjEqC,IAAIrC,GACAvM,KAAKoW,KAAKsyB,EAAiCzW,YAAY+E,IAAKzqB,GAEhE6J,KAAKpX,EAAMuN,GACHvM,KAAKkwC,gBACLlwC,KAAKkwC,eAAerzB,iBAAiB6rB,EAAiC5W,uBAAuB9yB,KAAM,CAAEA,OAAMuN,aAiCvH,MAAM+jC,EAAmBnC,EAAeoC,oBAAoBxC,EAAW/D,gBA7BvE,MACI/9B,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBN,iBAAiBxjC,KAAYikC,GACzB,IAAIrwB,EAAS,CAAEnhB,KAAM0pC,EAAiCzW,YAAYr2B,MAAO2Q,UAASikC,WAClF,OAAOxwC,KAAK0jB,WAAWa,YAAYmkB,EAAiC3W,mBAAmB/yB,KAAMmhB,GAAQxK,KAAK44B,GAE9GkC,mBAAmBlkC,KAAYikC,GAC3B,IAAIrwB,EAAS,CAAEnhB,KAAM0pC,EAAiCzW,YAAY6E,QAASvqB,UAASikC,WACpF,OAAOxwC,KAAK0jB,WAAWa,YAAYmkB,EAAiC3W,mBAAmB/yB,KAAMmhB,GAAQxK,KAAK44B,GAE9GmC,uBAAuBnkC,KAAYikC,GAC/B,IAAIrwB,EAAS,CAAEnhB,KAAM0pC,EAAiCzW,YAAY8E,KAAMxqB,UAASikC,WACjF,OAAOxwC,KAAK0jB,WAAWa,YAAYmkB,EAAiC3W,mBAAmB/yB,KAAMmhB,GAAQxK,KAAK44B,QAc5F10C,EAAQ8zC,mBAAqB9zC,EAAQ8zC,iBAAmB,KADzDx7B,OAHjB,WACI,OAAO,IAAIw+B,GAInB,MAAMA,EACF1kC,cACIjM,KAAK4wC,eAAiB,GACtB5wC,KAAK6wC,YAAc,IAAIC,IAE3BlrB,IAAI5mB,EAAM+xC,GACN,MAAMnxB,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OAC7C,GAAI5f,KAAK6wC,YAAYzsB,IAAIxE,GACrB,MAAM,IAAIhkB,MAAM,GAAGgkB,2CAEvB,MAAMhD,EAAKkxB,EAAKxC,eAChBtrC,KAAK4wC,eAAev1C,KAAK,CACrBuhB,GAAIA,EACJgD,OAAQA,EACRmxB,gBAAiBA,GAAmB,KAExC/wC,KAAK6wC,YAAYjrB,IAAIhG,GAEzBoxB,uBACI,MAAO,CACHC,cAAejxC,KAAK4wC,kBAUR/2C,EAAQ6zC,qBAAuB7zC,EAAQ6zC,mBAAqB,KAD7Dv7B,OAHnB,WACI,OAAO,IAAI++B,OAAuBpyC,EAAW,KAIrD,MAAMoyC,EACFjlC,YAAYm+B,EAAa+G,GACrBnxC,KAAKoqC,YAAcA,EACnBpqC,KAAKoxC,iBAAmB,IAAItzB,IAC5BqzB,EAAgB7rB,SAAQ+rB,IACpBrxC,KAAKoxC,iBAAiBjsC,IAAIksC,EAAezxB,OAAQyxB,MAGzD,iBACI,QAASrxC,KAAKoqC,YAElB+F,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvBkC,IAAIyrB,GACArxC,KAAKoxC,iBAAiBjsC,IAAIksC,EAAezxB,OAAQyxB,GAErDj2B,UACI,IAAI+1B,EAAkB,GACtB,IAAK,IAAIE,KAAkBrxC,KAAKoxC,iBAAiBzoB,SAC7CwoB,EAAgB91C,KAAKg2C,GAEzB,IAAIlxB,EAAS,CACTmxB,iBAAkBH,GAEtBnxC,KAAKoqC,YAAY7lB,YAAYmkB,EAAiC7V,sBAAsB7zB,KAAMmhB,GAAQxK,UAAK7W,GAAYyyC,IAC/GvxC,KAAKoqC,YAAYjmC,QAAQ8X,KAAK,kCAGtCu1B,cAAcv0C,GACV,MAAM2iB,EAASjF,EAAGpd,OAAON,GAAOA,EAAMA,EAAI2iB,OACpCyxB,EAAiBrxC,KAAKoxC,iBAAiB7sC,IAAIqb,GACjD,IAAKyxB,EACD,OAAO,EAEX,IAAIlxB,EAAS,CACTmxB,iBAAkB,CAACD,IAOvB,OALArxC,KAAKoqC,YAAY7lB,YAAYmkB,EAAiC7V,sBAAsB7zB,KAAMmhB,GAAQxK,MAAK,KACnG3V,KAAKoxC,iBAAiBxuB,OAAOhD,MAC7B2xB,IACAvxC,KAAKoqC,YAAYjmC,QAAQ8X,KAAK,sCAAsCo1B,EAAez0B,kBAEhF,GAGf,MAAM60B,EACFtB,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBqB,SAASC,EAAqBC,EAAuBb,GACjD,OAAIY,aAA+BhB,EACxB3wC,KAAK6xC,aAAaF,GAEpBA,aAA+BT,EAC7BlxC,KAAK8xC,gBAAgBH,EAAqBC,EAAuBb,GAGjE/wC,KAAK+xC,gBAAgBJ,EAAqBC,GAGzDE,gBAAgBT,EAAgBryC,EAAM+xC,GAClC,MAAMnxB,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OACvChD,EAAKkxB,EAAKxC,eAChB,IAAInrB,EAAS,CACT8wB,cAAe,CAAC,CAAEr0B,KAAIgD,SAAQmxB,gBAAiBA,GAAmB,MAKtE,OAHKM,EAAeW,YAChBX,EAAelB,OAAOnwC,KAAK0jB,YAExB1jB,KAAK0jB,WAAWa,YAAYmkB,EAAiC5V,oBAAoB9zB,KAAMmhB,GAAQxK,MAAMs8B,IACxGZ,EAAezrB,IAAI,CAAEhJ,GAAIA,EAAIgD,OAAQA,IAC9ByxB,KACPE,IACAvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,mCAAmC2D,aACzD7N,QAAQiC,OAAOu9B,MAG9BQ,gBAAgB/yC,EAAM+xC,GAClB,MAAMnxB,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OACvChD,EAAKkxB,EAAKxC,eAChB,IAAInrB,EAAS,CACT8wB,cAAe,CAAC,CAAEr0B,KAAIgD,SAAQmxB,gBAAiBA,GAAmB,MAEtE,OAAO/wC,KAAK0jB,WAAWa,YAAYmkB,EAAiC5V,oBAAoB9zB,KAAMmhB,GAAQxK,MAAMs8B,GACjGvJ,EAAiC5yB,WAAW3D,QAAO,KACtDnS,KAAKkyC,iBAAiBt1B,EAAIgD,QAE9B2xB,IACAvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,mCAAmC2D,aACzD7N,QAAQiC,OAAOu9B,MAG9BW,iBAAiBt1B,EAAIgD,GACjB,IAAIO,EAAS,CACTmxB,iBAAkB,CAAC,CAAE10B,KAAIgD,YAE7B,OAAO5f,KAAK0jB,WAAWa,YAAYmkB,EAAiC7V,sBAAsB7zB,KAAMmhB,GAAQxK,UAAK7W,GAAYyyC,IACrHvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,sCAAsCW,gBAG3Ei1B,aAAaZ,GACT,IAAI9wB,EAAS8wB,EAAcD,uBAC3B,OAAOhxC,KAAK0jB,WAAWa,YAAYmkB,EAAiC5V,oBAAoB9zB,KAAMmhB,GAAQxK,MAAK,IAChG,IAAIu7B,EAAuBlxC,KAAKoqC,YAAajqB,EAAO8wB,cAAcntB,KAAIquB,IAAyB,CAAEv1B,GAAIu1B,EAAav1B,GAAIgD,OAAQuyB,EAAavyB,cAClJ2xB,IACAvxC,KAAK0jB,WAAWvf,QAAQ8X,KAAK,6BACtBlK,QAAQiC,OAAOu9B,OA4BlC,MAAMa,EAAsBhE,EAAiBhF,sBAAsB6E,EAAmBoE,wBAAwBrE,EAAgBhF,qBAxB9H,MACI/8B,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBiC,UAAUC,GAIN,IAAIpyB,GAHgC7iB,EAGIi1C,IAFlBj1C,EAAMoiC,KAE2B6S,EAAc,CAAE7S,KAAM6S,GAH7E,IAAoCj1C,EAIpC,OAAO0C,KAAK0jB,WAAWa,YAAYmkB,EAAiCpU,0BAA0Bt1B,KAAMmhB,QAI5G,MAAMqyB,EACFvmC,cACIjM,KAAKyyC,OAAS/J,EAAiCzwB,MAAMiE,IAEzDi0B,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvB,UAAU/yC,GACN0C,KAAKyyC,OAASn1C,EAElBsR,IAAIrC,EAASkZ,GACLzlB,KAAKyyC,SAAW/J,EAAiCzwB,MAAMiE,KAG3Dlc,KAAK0jB,WAAW7G,iBAAiB6rB,EAAiC5wB,qBAAqB9Y,KAAM,CACzFuN,QAASA,EACTkZ,QAASzlB,KAAKyyC,SAAW/J,EAAiCzwB,MAAMmE,QAAUqJ,OAAU3mB,KAIhG,MAAM4zC,EACFzmC,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBsC,SAASzzC,GACLc,KAAK0jB,WAAW7G,iBAAiB6rB,EAAiC7W,2BAA2B7yB,KAAME,IAG3G,MAAMuuC,EACFxhC,eAEAkkC,OAAOzsB,GACH1jB,KAAKoqC,YAAc1mB,EAEvB,iBACI,IAAK1jB,KAAKoqC,YACN,MAAM,IAAIxuC,MAAM,+CAEpB,OAAOoE,KAAKoqC,YAEhBxC,WAAWyI,IAEXD,uBAAuBC,IAEvBzH,uBAAuBzoB,GACnB,OAAO4tB,EAAW9D,eAAejqC,KAAK0jB,WAAYvD,GAEtD2oB,4BAA4B3kB,EAAOhE,GAC/B,OAAO4tB,EAAWhE,oBAAoB/pC,KAAK0jB,WAAYvD,IAG/DtmB,EAAQ4zC,eAAiBA,EACzB,MAAMmF,EAAgBtE,EAAUzE,eAAewE,EAAqB1E,0BAA0BnB,EAAiBiD,sBAAsByC,EAAgBzF,qBAAqBgF,MAC1K,SAASD,EAAuBpT,EAAKC,GACjC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASuhC,EAAyBnT,EAAKC,GACnC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASshC,EAAsBlT,EAAKC,GAChC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASqhC,EAAsBjT,EAAKC,GAChC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASohC,EAAsBhT,EAAKC,GAChC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KAIvB,SAASmhC,EAAyB/S,EAAKC,GACnC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,KA3BvBnS,EAAQ2zC,uBAAyBA,EAMjC3zC,EAAQ0zC,yBAA2BA,EAMnC1zC,EAAQyzC,sBAAwBA,EAMhCzzC,EAAQwzC,sBAAwBA,EAMhCxzC,EAAQuzC,sBAAwBA,EAMhCvzC,EAAQszC,yBAA2BA,EAMnCtzC,EAAQqzC,yBALR,SAAkC9S,EAAKC,GACnC,OAAO,SAAUruB,GACb,OAAOquB,EAAID,EAAIpuB,MA2BvBnS,EAAQozC,gBAvBR,SAAyB7S,EAAKC,GAC1B,SAASwY,EAAQzY,EAAKC,EAAKte,GACvB,OAAIqe,GAAOC,EACAte,EAAKqe,EAAKC,GAEZD,GAIEC,EAYf,MATa,CACTgO,QAAS,WACTlkC,QAAS0uC,EAAQzY,EAAIj2B,QAASk2B,EAAIl2B,QAASqpC,GAC3CzvB,OAAQ80B,EAAQzY,EAAIrc,OAAQsc,EAAItc,OAAQuvB,GACxCwF,UAAWD,EAAQzY,EAAI0Y,UAAWzY,EAAIyY,UAAWvF,GACjDwF,OAAQF,EAAQzY,EAAI2Y,OAAQ1Y,EAAI0Y,OAAQ1F,GACxClC,OAAQ0H,EAAQzY,EAAI+Q,OAAQ9Q,EAAI8Q,OAAQiC,GACxC4F,UAAWH,EAAQzY,EAAI4Y,UAAW3Y,EAAI2Y,UAAW7F,KAoOzDtzC,EAAQ4tC,iBA/NR,SAA0BwL,EAAmBtL,EAAUS,GACnD,MAAMj0B,EAAUi0B,GAAaA,EAAUjkC,QAAU,IAAKikC,EAAUjkC,QAAQ6rC,IAAwB,IAAIA,EAC9FtsB,EAAauvB,EAAkB9+B,GACrCA,EAAO87B,UAAUvsB,GACjB,MAAM3F,EAAUqqB,GAAaA,EAAUrqB,OAAS,IAAKqqB,EAAUrqB,OAAOy0B,IAAiB,IAAIA,EACrFM,EAAa1K,GAAaA,EAAU0K,UAAY,IAAK1K,EAAU0K,UAAUJ,IAAoB,IAAIA,EACjGK,EAAU3K,GAAaA,EAAU2K,OAAS,IAAK3K,EAAU2K,OAAOtB,IAAuB,IAAIA,EAC3FyB,EAAgB9K,GAAaA,EAAU+C,OAAS,IAAK/C,EAAU+C,OAAOmF,IAAuB,IAAIA,EACjG0C,EAAa5K,GAAaA,EAAU4K,UAAY,IAAK5K,EAAU4K,UAAUZ,IAA0B,IAAIA,EACvGe,EAAa/K,GAAaA,EAAU+K,UAAY,IAAK/K,EAAU+K,UAAUP,IAAoB,IAAIA,EACjGQ,EAAa,CAACj/B,EAAQ4J,EAAQ+0B,EAAWC,EAAQG,EAAcF,EAAWG,GAChF,SAASE,EAAU/1C,GACf,OAAIA,aAAiByU,QACVzU,EAEFqd,EAAG24B,SAASh2C,GACV,IAAIyU,SAAQ,CAACtC,EAASuE,KACzB1W,EAAMqY,MAAM49B,GAAa9jC,EAAQ8jC,KAAYnvC,GAAU4P,EAAO5P,QAI3D2N,QAAQtC,QAAQnS,GAG/B,IAAIk2C,EACAC,EACAC,EACAC,EAAqB,CACrBjgC,OAAQ,IAAMgQ,EAAWhQ,SACzB6Q,YAAa,CAACvlB,KAASmhB,IAAWuD,EAAWa,YAAY5J,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,UAAWO,GAClG0E,UAAW,CAAC7lB,EAAMwhB,IAAYkD,EAAWmB,UAAU7lB,EAAMwhB,GACzD3D,iBAAkB,CAAC7d,EAAMokB,KACrB,MAAMxD,EAASjF,EAAGpd,OAAOyB,GAAQA,EAAOA,EAAK4gB,OACpB,IAArBlgB,UAAU1E,OACV0oB,EAAW7G,iBAAiB+C,GAG5B8D,EAAW7G,iBAAiB+C,EAAQwD,IAG5Ca,eAAgB,CAACjlB,EAAMwhB,IAAYkD,EAAWO,eAAejlB,EAAMwhB,GACnE0D,WAAYR,EAAWQ,WACvBG,aAAcX,EAAWW,aACzBuvB,aAAepzB,GAAYizB,EAAoBjzB,EAC/CqzB,cAAgBrzB,GAAYkD,EAAWO,eAAeykB,EAAiCrW,wBAAwBrzB,KAAMwhB,GACrHszB,WAAatzB,GAAYgzB,EAAkBhzB,EAC3CuzB,OAASvzB,GAAYkzB,EAAclzB,EACnC,cAAgB,OAAOrM,GACvB,gBAAkB,OAAO2+B,GACzB,aAAe,OAAO/0B,GACtB,aAAe,OAAOg1B,GACtB,aAAe,OAAOG,GACtB,gBAAkB,OAAOF,GACzB,gBAAkB,OAAOG,GACzBa,yBAA2BxzB,GAAYkD,EAAWO,eAAeykB,EAAiCxW,mCAAmClzB,KAAMwhB,GAC3IyzB,wBAA0BzzB,GAAYkD,EAAWO,eAAeykB,EAAiCvX,kCAAkCnyB,KAAMwhB,GACzI0uB,wBAAoBpwC,EACpBqwC,sBAAwB3uB,GAAYkD,EAAWO,eAAeykB,EAAiC/W,gCAAgC3yB,KAAMwhB,GACrI8uB,wBAA0B9uB,GAAYkD,EAAWO,eAAeykB,EAAiCjX,kCAAkCzyB,KAAMwhB,GACzIgvB,uBAAyBhvB,GAAYkD,EAAWO,eAAeykB,EAAiClX,iCAAiCxyB,KAAMwhB,GACvIivB,uBAAyBjvB,GAAYkD,EAAWO,eAAeykB,EAAiCrX,iCAAiCryB,KAAMwhB,GACvImvB,gCAAkCnvB,GAAYkD,EAAWmB,UAAU6jB,EAAiCtX,qCAAqCpyB,KAAMwhB,GAC/IovB,sBAAwBpvB,GAAYkD,EAAWO,eAAeykB,EAAiCnX,gCAAgCvyB,KAAMwhB,GACrI0zB,gBAAkB/zB,GAAWuD,EAAW7G,iBAAiB6rB,EAAiC1X,+BAA+BhyB,KAAMmhB,GAC/Hg0B,QAAU3zB,GAAYkD,EAAWmB,UAAU6jB,EAAiC9X,aAAa5xB,MAAM,CAACmhB,EAAQ5E,IAC7FiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFs1C,aAAe5zB,GAAYkD,EAAWmB,UAAU6jB,EAAiC5X,kBAAkB9xB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hk0B,oBAAsB7zB,GAAYkD,EAAWmB,UAAU6jB,EAAiC7X,yBAAyB7xB,KAAMwhB,GACvH8zB,gBAAkB9zB,GAAYkD,EAAWmB,UAAU6jB,EAAiChY,qBAAqB1xB,MAAM,CAACmhB,EAAQ5E,IAC7GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFy1C,cAAgB/zB,GAAYkD,EAAWmB,UAAU6jB,EAAiCxZ,mBAAmBlwB,MAAM,CAACmhB,EAAQ5E,IACzGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hq0B,aAAeh0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCjY,kBAAkBzxB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hs0B,iBAAmBj0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCrU,sBAAsBr1B,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hu0B,iBAAmBl0B,GAAYkD,EAAWmB,UAAU6jB,EAAiC5Y,sBAAsB9wB,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hw0B,aAAen0B,GAAYkD,EAAWmB,UAAU6jB,EAAiClY,kBAAkBxxB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hy0B,oBAAsBp0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCnY,yBAAyBvxB,MAAM,CAACmhB,EAAQ5E,IACrHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H00B,iBAAmBr0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCpY,sBAAsBtxB,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H20B,kBAAoBt0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCvY,uBAAuBnxB,MAAM,CAACmhB,EAAQ5E,IACjHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H40B,aAAev0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCrY,kBAAkBrxB,MAAM,CAACmhB,EAAQ5E,IACvGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H60B,oBAAsBx0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCtY,yBAAyBpxB,MAAM,CAACmhB,EAAQ5E,IACrHiF,EAAQL,EAAQ5E,KAE3B05B,WAAaz0B,GAAYkD,EAAWmB,UAAU6jB,EAAiCxY,gBAAgBlxB,MAAM,CAACmhB,EAAQ5E,IACnGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H+0B,kBAAoB10B,GAAYkD,EAAWmB,UAAU6jB,EAAiCzY,uBAAuBjxB,MAAM,CAACmhB,EAAQ5E,IACjHiF,EAAQL,EAAQ5E,KAE3B45B,qBAAuB30B,GAAYkD,EAAWmB,UAAU6jB,EAAiC7T,0BAA0B71B,MAAM,CAACmhB,EAAQ5E,IACvHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFs2C,0BAA4B50B,GAAYkD,EAAWmB,UAAU6jB,EAAiC9T,+BAA+B51B,MAAM,CAACmhB,EAAQ5E,IACjIiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFu2C,2BAA6B70B,GAAYkD,EAAWmB,UAAU6jB,EAAiC/T,gCAAgC31B,MAAM,CAACmhB,EAAQ5E,IACnIiF,EAAQL,EAAQ5E,KAE3B+5B,gBAAkB90B,GAAYkD,EAAWmB,UAAU6jB,EAAiCjU,cAAcz1B,MAAM,CAACmhB,EAAQ5E,IACtGiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFy2C,gBAAkB/0B,GAAYkD,EAAWmB,UAAU6jB,EAAiClU,qBAAqBx1B,MAAM,CAACmhB,EAAQ5E,IAC7GiF,EAAQL,EAAQ5E,KAE3Bi6B,gBAAkBh1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC3Y,oBAAoB/wB,MAAM,CAACmhB,EAAQ5E,IAC5GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hs1B,sBAAwBj1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC5T,2BAA2B91B,MAAM,CAACmhB,EAAQ5E,IACzHiF,EAAQL,EAAQ5E,KAE3Bm6B,gBAAkBl1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC1Z,qBAAqBhwB,MAAM,CAACmhB,EAAQ5E,IAC7GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hw1B,oBAAsBn1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC3Z,yBAAyB/vB,MAAM,CAACmhB,EAAQ5E,IACrHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7Hy1B,gBAAkBp1B,GAAYkD,EAAWmB,UAAU6jB,EAAiC9Y,oBAAoB5wB,MAAM,CAACmhB,EAAQ5E,IAC5GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H01B,kBAAoBr1B,GAAYkD,EAAWmB,UAAU6jB,EAAiCxU,sBAAsBl1B,MAAM,CAACmhB,EAAQ5E,IAChHiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,GAAS4tB,EAAWhE,oBAAoBrmB,EAAYvD,MAE7H21B,iBAAmBt1B,GAAYkD,EAAWmB,UAAU6jB,EAAiCnU,sBAAsBv1B,MAAM,CAACmhB,EAAQ5E,IAC/GiF,EAAQL,EAAQ5E,EAAQwyB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,KAElFsc,QAAS,IAAMsI,EAAWtI,WAE9B,IAAK,IAAI26B,KAAU3C,EACf2C,EAAO5F,OAAOwD,GAwElB,OAtEAjwB,EAAWmB,UAAU6jB,EAAiCnW,kBAAkBvzB,MAAOmhB,IAC3EwnB,EAASC,WAAWznB,GAChBxF,EAAGpd,OAAO4iB,EAAO/B,SACjBL,EAAOK,MAAQsqB,EAAiCzwB,MAAMpa,WAAWsiB,EAAO/B,QAE5E,IAAK,IAAI23B,KAAU3C,EACf2C,EAAOnO,WAAWznB,EAAO+qB,cAE7B,GAAIuI,EAEA,OAAOJ,EADMI,EAAkBtzB,GAAQ,IAAIuoB,EAAiCjwB,yBAA0BuI,MAAO+sB,EAAW9D,eAAevmB,EAAYvD,QAASrhB,IACnI6W,MAAMrY,IAC3B,GAAIA,aAAiBorC,EAAiClvB,cAClD,OAAOlc,EAEX,IAAI0iB,EAAS1iB,EACR0iB,IACDA,EAAS,CAAEkrB,aAAc,KAE7B,IAAIA,EAAelrB,EAAOkrB,aACrBA,IACDA,EAAe,GACflrB,EAAOkrB,aAAeA,QAEYpsC,IAAlCosC,EAAa8K,kBAAoE,OAAlC9K,EAAa8K,iBAC5D9K,EAAa8K,iBAAmBr7B,EAAG0H,OAAOsxB,EAAmBzE,oBAAsByE,EAAmBzE,mBAAqBxG,EAAiC9W,qBAAqBhX,KAE3KD,EAAG0H,OAAO6oB,EAAa8K,mBAAsBr7B,EAAG0H,OAAO6oB,EAAa8K,iBAAiBtY,UAC3FwN,EAAa8K,iBAAiBtY,OAAS/iB,EAAG0H,OAAOsxB,EAAmBzE,oBAAsByE,EAAmBzE,mBAAqBxG,EAAiC9W,qBAAqBhX,MAE5L,IAAK,IAAIm7B,KAAU3C,EACf2C,EAAO3F,uBAAuBlF,GAElC,OAAOlrB,KAGV,CACD,IAAIA,EAAS,CAAEkrB,aAAc,CAAE8K,iBAAkBtN,EAAiC9W,qBAAqBhX,OACvG,IAAK,IAAIm7B,KAAU3C,EACf2C,EAAO3F,uBAAuBpwB,EAAOkrB,cAEzC,OAAOlrB,MAGf0D,EAAWmB,UAAU6jB,EAAiCtW,gBAAgBpzB,MAAM,KACxE2oC,EAASsO,kBAAmB,EACxBzC,EACOA,GAAgB,IAAI9K,EAAiCjwB,yBAA0BuI,YAGtF,KAGR0C,EAAWO,eAAeykB,EAAiCvW,iBAAiBnzB,MAAM,KAC9E,IACQ00C,GACAA,IAGR,QACQ/L,EAASsO,iBACTtO,EAASG,KAAK,GAGdH,EAASG,KAAK,OAI1BpkB,EAAWO,eAAeykB,EAAiC3wB,qBAAqB/Y,MAAOmhB,IACnFpC,EAAOK,MAAQsqB,EAAiCzwB,MAAMpa,WAAWsiB,EAAO7iB,UAErEq2C,I,2BCzzBX72C,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQ02C,yBAAsB,EAC9B,MAAM7H,EAAmC,EAAQ,MAQjD7uC,EAAQ02C,oBAPqBvkC,GAClB,cAAcA,EACjBkqC,aAAa/1B,GACT,OAAOngB,KAAK0jB,WAAWa,YAAYmkB,EAAiCrV,oBAAoBr0B,KAAMmhB,M,0BCA1G,SAAS5iB,EAAOD,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiB6D,OAWzD,SAAS4a,EAAKze,GACV,MAAwB,mBAAVA,EAGlB,SAASiC,EAAMjC,GACX,OAAO5B,MAAMuD,QAAQ3B,GAvBzBR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQy5C,SAAWz5C,EAAQw+B,WAAax+B,EAAQitB,YAAcjtB,EAAQ0F,MAAQ1F,EAAQkiB,KAAOliB,EAAQuK,MAAQvK,EAAQwoB,OAASxoB,EAAQ0D,OAAS1D,EAAQohB,aAAU,EAIjKphB,EAAQohB,QAHR,SAAiB3d,GACb,OAAiB,IAAVA,IAA4B,IAAVA,GAM7BzD,EAAQ0D,OAASA,EAIjB1D,EAAQwoB,OAHR,SAAgB/kB,GACZ,MAAwB,iBAAVA,GAAsBA,aAAiBqE,QAMzD9H,EAAQuK,MAHR,SAAe9G,GACX,OAAOA,aAAiB1B,OAM5B/B,EAAQkiB,KAAOA,EAIfliB,EAAQ0F,MAAQA,EAIhB1F,EAAQitB,YAHR,SAAqBxpB,GACjB,OAAOiC,EAAMjC,IAAUA,EAAMypB,OAAMC,GAAQzpB,EAAOypB,MAMtDntB,EAAQw+B,WAHR,SAAoB/6B,EAAOg7B,GACvB,OAAO58B,MAAMuD,QAAQ3B,IAAUA,EAAMypB,MAAMuR,IAM/Cz+B,EAAQy5C,SAHR,SAAkBh2C,GACd,OAAOA,GAASye,EAAKze,EAAMqY,Q,0BCnC/B7Y,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQyxC,aAAezxC,EAAQ8X,MAAQ9X,EAAQs8C,OAASt8C,EAAQu8C,GAAKv8C,EAAQw8C,WAAQ,EACrF,MAAMC,EACFrqC,YAAY6Y,GACR9kB,KAAK8kB,OAASA,EAGlByxB,QACI,OAAOv2C,KAAK8kB,OAEhBtf,OAAOgxC,GACH,OAAOx2C,KAAKu2C,UAAYC,EAAMD,SAGtC,MAAME,UAAeH,EACjBrqC,cACIC,MAAM,CACFuqC,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACAD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACA,IACAD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACAD,EAAOE,OAAOF,EAAOG,eACrBH,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACP,IACAD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,aACPD,EAAOC,cACTl7C,KAAK,KAEX,cAAc+D,GACV,OAAOA,EAAMuD,KAAK+J,MAAMtN,EAAMvE,OAAS8H,KAAK+zC,WAEhD,oBACI,OAAOJ,EAAOE,OAAOF,EAAOK,SASpC,SAASV,IACL,OAAO,IAAIK,EAPfA,EAAOK,OAAS,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjGL,EAAOG,cAAgB,CAAC,IAAK,IAAK,IAAK,KAIvC/8C,EAAQw8C,MAAQ,IAAIC,EAAU,wCAI9Bz8C,EAAQu8C,GAAKA,EACb,MAAMW,EAAe,kEACrB,SAASZ,EAAO74C,GACZ,OAAOy5C,EAAaC,KAAK15C,GAE7BzD,EAAQs8C,OAASA,EAWjBt8C,EAAQ8X,MANR,SAAerU,GACX,IAAK64C,EAAO74C,GACR,MAAM,IAAI1B,MAAM,gBAEpB,OAAO,IAAI06C,EAAUh5C,IAMzBzD,EAAQyxC,aAHR,WACI,OAAO8K,IAAKG,U,4BCzFhBz5C,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,IACtDzD,EAAQw4C,6BAA0B,EAClC,MAAM3J,EAAmC,EAAQ,MA0BjD7uC,EAAQw4C,wBAzByBrmC,GACtB,cAAcA,EACjB47B,WAAWsD,GACP,IAAI+L,EAAwB/L,EAAa8H,UACrCiE,GAAyBA,EAAsBC,mBAC/Cl3C,KAAKm3C,6BAA+B,IAAIzO,EAAiCv1B,QACzEnT,KAAK0jB,WAAWO,eAAeykB,EAAiCvU,sCAAsCn1B,MAAOmhB,IACzGngB,KAAKm3C,6BAA6B7jC,KAAK6M,EAAO9M,WAI1D+jC,sBACI,OAAOp3C,KAAK0jB,WAAWa,YAAYmkB,EAAiCtU,wBAAwBp1B,MAEhG,kCACI,IAAKgB,KAAKm3C,6BACN,MAAM,IAAIv7C,MAAM,kEAKpB,OAHKoE,KAAKq3C,kBACNr3C,KAAKq3C,gBAAkBr3C,KAAK0jB,WAAWqvB,OAAOrB,SAAShJ,EAAiCvU,sCAAsCn1B,OAE3HgB,KAAKm3C,6BAA6B9jC,S,uggDC5BjDw4C,yBAA2B,GCA3BC,eADAC,SDIJ,SAASC,oBAAoBC,GAE5B,IAAIC,EAAeL,yBAAyBI,GAC5C,QAAqBntD,IAAjBotD,EACH,OAAOA,EAAaryD,QAGrB,IAAIiY,EAAS+5C,yBAAyBI,GAAY,CAGjDpyD,QAAS,IAOV,OAHAsyD,oBAAoBF,GAAUnrD,KAAKgR,EAAOjY,QAASiY,EAAQA,EAAOjY,QAASmyD,qBAGpEl6C,EAAOjY,QAIfmyD,oBAAoBvrD,EAAI0rD,oBExBxBH,oBAAoBxrD,EAAKsR,IACxB,IAAIs6C,EAASt6C,GAAUA,EAAOu6C,WAC7B,IAAOv6C,EAAiB,QACxB,IAAM,EAEP,OADAk6C,oBAAoBz9C,EAAE69C,EAAQ,CAAEvnD,EAAGunD,IAC5BA,GDNJL,SAAWjvD,OAAOwvD,eAAkB3tD,GAAS7B,OAAOwvD,eAAe3tD,GAASA,GAASA,EAAa,UAQtGqtD,oBAAoBO,EAAI,SAASjvD,EAAOkvD,GAEvC,GADU,EAAPA,IAAUlvD,EAAQ0C,KAAK1C,IAChB,EAAPkvD,EAAU,OAAOlvD,EACpB,GAAoB,iBAAVA,GAAsBA,EAAO,CACtC,GAAW,EAAPkvD,GAAalvD,EAAM+uD,WAAY,OAAO/uD,EAC1C,GAAW,GAAPkvD,GAAoC,mBAAflvD,EAAMqY,KAAqB,OAAOrY,EAE5D,IAAImvD,EAAK3vD,OAAOqV,OAAO,MACvB65C,oBAAoBtnC,EAAE+nC,GACtB,IAAIC,EAAM,GACVZ,eAAiBA,gBAAkB,CAAC,KAAMC,SAAS,IAAKA,SAAS,IAAKA,SAASA,WAC/E,IAAI,IAAIvjC,EAAiB,EAAPgkC,GAAYlvD,EAAyB,iBAAXkrB,KAAyBsjC,eAAejwD,QAAQ2sB,GAAUA,EAAUujC,SAASvjC,GACxH1rB,OAAO6vD,oBAAoBnkC,GAASlD,SAAStD,GAAS0qC,EAAI1qC,GAAO,IAAO1kB,EAAM0kB,KAI/E,OAFA0qC,EAAa,QAAI,IAAM,EACvBV,oBAAoBz9C,EAAEk+C,EAAIC,GACnBD,GEvBRT,oBAAoBz9C,EAAI,CAAC1U,EAAS+yD,KACjC,IAAI,IAAI5qC,KAAO4qC,EACXZ,oBAAoB55C,EAAEw6C,EAAY5qC,KAASgqC,oBAAoB55C,EAAEvY,EAASmoB,IAC5EllB,OAAOuH,eAAexK,EAASmoB,EAAK,CAAE1d,YAAY,EAAMC,IAAKqoD,EAAW5qC,MCJ3EgqC,oBAAoB1U,EAAI,GAGxB0U,oBAAoB/nD,EAAK4oD,GACjB96C,QAAQ8tB,IAAI/iC,OAAOuoB,KAAK2mC,oBAAoB1U,GAAGwV,QAAO,CAACC,EAAU/qC,KACvEgqC,oBAAoB1U,EAAEt1B,GAAK6qC,EAASE,GAC7BA,IACL,KCNJf,oBAAoBgB,EAAKH,GAEjB,kBAAoBA,EAAU,IAAM,CAAC,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,uBAAuB,IAAM,wBAAwBA,GAAW,aCH9Tb,oBAAoBxU,EAAI,WACvB,GAA0B,iBAAfyV,WAAyB,OAAOA,WAC3C,IACC,OAAOjtD,MAAQ,IAAIwhC,SAAS,cAAb,GACd,MAAOv9B,GACR,GAAsB,iBAAXknC,OAAqB,OAAOA,QALjB,GCAxB6gB,oBAAoB55C,EAAI,CAACzT,EAAKqqD,IAAUlsD,OAAOE,UAAUyV,eAAe3R,KAAKnC,EAAKqqD,GCClFgD,oBAAoBtnC,EAAK7qB,IACH,oBAAXwC,QAA0BA,OAAOkrB,aAC1CzqB,OAAOuH,eAAexK,EAASwC,OAAOkrB,YAAa,CAAEjqB,MAAO,WAE7DR,OAAOuH,eAAexK,EAAS,aAAc,CAAEyD,OAAO,K,MCLvD,IAAI4vD,EACAlB,oBAAoBxU,EAAE2V,gBAAeD,EAAYlB,oBAAoBxU,EAAE7b,SAAW,IACtF,IAAIuK,EAAW8lB,oBAAoBxU,EAAEtR,SACrC,IAAKgnB,GAAahnB,IACbA,EAASknB,gBACZF,EAAYhnB,EAASknB,cAAc3/C,MAC/By/C,GAAW,CACf,IAAIG,EAAUnnB,EAASonB,qBAAqB,UACzCD,EAAQryD,SAAQkyD,EAAYG,EAAQA,EAAQryD,OAAS,GAAGyS,KAK7D,IAAKy/C,EAAW,MAAM,IAAItxD,MAAM,yDAChCsxD,EAAYA,EAAUvnD,QAAQ,OAAQ,IAAIA,QAAQ,QAAS,IAAIA,QAAQ,YAAa,KACpFqmD,oBAAoBx5C,EAAI06C,G,SCXxB,IAAIK,EAAkB,CACrB,IAAK,GAgBNvB,oBAAoB1U,EAAEh9C,EAAI,CAACuyD,EAASE,KAE/BQ,EAAgBV,IAElBM,cAAcnB,oBAAoBx5C,EAAIw5C,oBAAoBgB,EAAEH,KAK/D,IAAIW,EAAqBC,KAAkC,4BAAIA,KAAkC,6BAAK,GAClGC,EAA6BF,EAAmBnyD,KAAK8f,KAAKqyC,GAC9DA,EAAmBnyD,KAvBC6D,IACnB,IAAKyuD,EAAUC,EAAaC,GAAW3uD,EACvC,IAAI,IAAI+sD,KAAY2B,EAChB5B,oBAAoB55C,EAAEw7C,EAAa3B,KACrCD,oBAAoBvrD,EAAEwrD,GAAY2B,EAAY3B,IAIhD,IADG4B,GAASA,EAAQ7B,qBACd2B,EAAS3yD,QACduyD,EAAgBI,EAAS1T,OAAS,EACnCyT,EAA2BxuD,K,iFCiBrB,SAAS4uD,EAAYhpD,GACxB,OAAOA,EAQJ,SAASipD,EAAgBlpD,EAAMnG,GAClC,OAAOmG,IAAMnG,EAOV,SAASsvD,EAAwBnpD,EAAgCnG,GACpE,OAAOmG,IAAMnG,EACP,OACMI,IAAN+F,GACD,OACO/F,IAANJ,EACA,EACAmG,EAAInG,GACL,EACC,EAqBH,SAASuvD,EAAS72B,GACrB,MAAuB,iBAATA,EAGX,SAASg0B,EAAStmD,GACrB,MAAoB,iBAANA,EAyCX,SAASopD,IACZ,MAAMC,EAAO,GAAiB3yD,OAC9B,OAAO2yD,EAAKjoD,SAAS,YAAcioD,EAAKjoD,SAAS,SAkB9C,SAASkoD,EAAa9tC,GACzB,YAAmBxhB,IAAZwhB,ECvEX,SAAS+tC,EAAS9uD,EAAuBmC,GACrC,OAAOA,EAAS,EAAInC,EAAMvE,OAAS0G,EAASA,EAoBzC,SAAS4sD,EACZp+C,EACA7S,EACAvB,EACAC,GAEA,QAAa+C,IAATzB,GAAsC,IAAhBA,EAAKrC,OAC3B,OAAOkV,EAEX,QAAWpR,IAAPoR,EACA,OAAO7S,EAAKO,MAAM9B,EAAOC,GAE7BD,OAAkBgD,IAAVhD,EAAsB,EAAIuyD,EAAShxD,EAAMvB,GACjDC,OAAc+C,IAAR/C,EAAoBsB,EAAKrC,OAASqzD,EAAShxD,EAAMtB,GACvD,IAAK,IAAIzB,EAAIwB,EAAOxB,EAAIyB,GAAOzB,EAAI+C,EAAKrC,OAAQV,SAC5BwE,IAAZzB,EAAK/C,IACL4V,EAAG7U,KAAKgC,EAAK/C,IAGrB,OAAO4V,EAGJ,SAASq+C,EAAYhvD,EAAY4qB,EAAe7sB,GACnD,GAAc,IAAV6sB,EACA5qB,EAAMivD,QAAQlxD,QACX,GAAI6sB,IAAU5qB,EAAMvE,OACvBuE,EAAMlE,KAAKiC,OACR,CACH,IAAK,IAAIhD,EAAIiF,EAAMvE,OAAQV,EAAI6vB,EAAO7vB,IAClCiF,EAAMjF,GAAKiF,EAAMjF,EAAI,GAEzBiF,EAAM4qB,GAAS7sB,EAEnB,OAAOiC,EAqDJ,SAASkvD,EAAQlvD,EAAiCmvD,GACrD,QAAInvD,IACImvD,EACOnvD,EAAMkvD,KAAKC,GAEXnvD,EAAMvE,OAAS,GA8B3B,SAAS2zD,EACZpvD,EACAjC,EACAsxD,EACAC,EACAntD,GAEA,OAaG,SACHnC,EACAyiB,EACA4sC,EACAC,EACAntD,GAEA,IAAK+sD,EAAKlvD,GACN,OAAQ,EAGZ,IAAI6nC,EAAM1lC,GAAU,EAChB2lC,EAAO9nC,EAAMvE,OAAS,EAC1B,KAAOosC,GAAOC,GAAM,CAChB,MAAMynB,EAAS1nB,GAAQC,EAAOD,GAAQ,GAEtC,OAAQynB,EADOD,EAAYrvD,EAAMuvD,IACL9sC,IACxB,OACIolB,EAAM0nB,EAAS,EACf,MACJ,KAAK,EACD,OAAOA,EACX,KAAK,EACDznB,EAAOynB,EAAS,GAK5B,OAAQ1nB,EAzCD2nB,CAAgBxvD,EAAOqvD,EAAYtxD,GAAQsxD,EAAaC,EAAantD,GA4EzE,SAASstD,EAAelrC,EAAgB9B,EAAQitC,GACnD,MAAM3xD,EAAQwmB,EAAIvf,IAAIyd,GACtB,QAAcljB,IAAVxB,EACA,OAAOA,EAGX,MAAM4xD,EAAWD,IAGjB,OAFAnrC,EAAI3e,IAAI6c,EAAKktC,GAENA,EASJ,SAASC,EAAuB5vD,EAAYmvD,GAC/C,IAAK,IAAIp0D,EAAI,EAAGA,EAAIiF,EAAMvE,OAAQV,IAC1Bo0D,EAAUnvD,EAAMjF,MAChBiF,EAAM2mB,OAAO5rB,EAAG,GAGhBA,KAIR,OAAOiF,EAGJ,SAAS,EAAsBwjC,EAAYqsB,GAC9C,OAAOrsB,EACFjf,KAAKyoC,GAAM6C,EAAU7C,KACrBO,QAAO,CAAChpC,EAAK9B,EAAK1nB,KACfwpB,EAAI3e,IAAI6c,GAAM8B,EAAIvf,IAAIyd,IAAQ,IAAIhd,OAAO+9B,EAAMzoC,KACxCwpB,IACR,IAAIhG,KDtPQhhB,OAAOE,UAAUyV,eEvFjC,MAAM48C,EAAmB,oBACnBC,EAAM,MACNC,EAAe,MACfC,EAAQ,QACRC,EAAe,gBAGfC,EAAc,S,ICfvBC,E,4BAAIA,EAAI,MAAmB,IAAIpD,EAAE,CAAC,IAAIA,IAAI,SAAStoD,EAAEsoD,GAAG,GAAG,iBAAiBA,EAAE,MAAM,IAAIpvD,UAAU,mCAAmC6R,KAAKC,UAAUs9C,IAAI,SAAS7nC,EAAE6nC,EAAEtoD,GAAG,IAAI,IAAIygB,EAAElkB,EAAE,GAAG4R,EAAE,EAAE9X,GAAG,EAAEuK,EAAE,EAAE+qD,EAAE,EAAEA,GAAGrD,EAAEvxD,SAAS40D,EAAE,CAAC,GAAGA,EAAErD,EAAEvxD,OAAO0pB,EAAE6nC,EAAE1xD,WAAW+0D,OAAO,CAAC,GAAG,KAAKlrC,EAAE,MAAMA,EAAE,GAAG,GAAG,KAAKA,EAAE,CAAC,GAAGpqB,IAAIs1D,EAAE,GAAG,IAAI/qD,QAAQ,GAAGvK,IAAIs1D,EAAE,GAAG,IAAI/qD,EAAE,CAAC,GAAGrE,EAAExF,OAAO,GAAG,IAAIoX,GAAG,KAAK5R,EAAE3F,WAAW2F,EAAExF,OAAO,IAAI,KAAKwF,EAAE3F,WAAW2F,EAAExF,OAAO,GAAG,GAAGwF,EAAExF,OAAO,EAAE,CAAC,IAAIwT,EAAEhO,EAAEO,YAAY,KAAK,GAAGyN,IAAIhO,EAAExF,OAAO,EAAE,EAAE,IAAIwT,GAAGhO,EAAE,GAAG4R,EAAE,GAAGA,GAAG5R,EAAEA,EAAE5C,MAAM,EAAE4Q,IAAIxT,OAAO,EAAEwF,EAAEO,YAAY,KAAKzG,EAAEs1D,EAAE/qD,EAAE,EAAE,eAAe,GAAG,IAAIrE,EAAExF,QAAQ,IAAIwF,EAAExF,OAAO,CAACwF,EAAE,GAAG4R,EAAE,EAAE9X,EAAEs1D,EAAE/qD,EAAE,EAAE,SAASZ,IAAIzD,EAAExF,OAAO,EAAEwF,GAAG,MAAMA,EAAE,KAAK4R,EAAE,QAAQ5R,EAAExF,OAAO,EAAEwF,GAAG,IAAI+rD,EAAE3uD,MAAMtD,EAAE,EAAEs1D,GAAGpvD,EAAE+rD,EAAE3uD,MAAMtD,EAAE,EAAEs1D,GAAGx9C,EAAEw9C,EAAEt1D,EAAE,EAAEA,EAAEs1D,EAAE/qD,EAAE,OAAO,KAAK6f,IAAI,IAAI7f,IAAIA,EAAEA,GAAG,EAAE,OAAOrE,EAAE,IAAIA,EAAE,CAACiP,QAAQ,WAAW,IAAI,IAAI88C,EAAE/rD,EAAE,GAAG4R,GAAE,EAAG9X,EAAEoF,UAAU1E,OAAO,EAAEV,IAAI,IAAI8X,EAAE9X,IAAI,CAAC,IAAIuK,EAAEvK,GAAG,EAAEuK,EAAEnF,UAAUpF,SAAI,IAASiyD,IAAIA,EAAE,KAAe1nD,EAAE0nD,GAAGtoD,EAAEY,GAAG,IAAIA,EAAE7J,SAASwF,EAAEqE,EAAE,IAAIrE,EAAE4R,EAAE,KAAKvN,EAAEhK,WAAW,IAAI,OAAO2F,EAAEkkB,EAAElkB,GAAG4R,GAAGA,EAAE5R,EAAExF,OAAO,EAAE,IAAIwF,EAAE,IAAIA,EAAExF,OAAO,EAAEwF,EAAE,KAAKqP,UAAU,SAAS08C,GAAG,GAAGtoD,EAAEsoD,GAAG,IAAIA,EAAEvxD,OAAO,MAAM,IAAI,IAAIwF,EAAE,KAAK+rD,EAAE1xD,WAAW,GAAGuX,EAAE,KAAKm6C,EAAE1xD,WAAW0xD,EAAEvxD,OAAO,GAAG,OAAO,KAAKuxD,EAAE7nC,EAAE6nC,GAAG/rD,IAAIxF,QAAQwF,IAAI+rD,EAAE,KAAKA,EAAEvxD,OAAO,GAAGoX,IAAIm6C,GAAG,KAAK/rD,EAAE,IAAI+rD,EAAEA,GAAGz8C,WAAW,SAASy8C,GAAG,OAAOtoD,EAAEsoD,GAAGA,EAAEvxD,OAAO,GAAG,KAAKuxD,EAAE1xD,WAAW,IAAIW,KAAK,WAAW,GAAG,IAAIkE,UAAU1E,OAAO,MAAM,IAAI,IAAI,IAAIuxD,EAAE7nC,EAAE,EAAEA,EAAEhlB,UAAU1E,SAAS0pB,EAAE,CAAC,IAAItS,EAAE1S,UAAUglB,GAAGzgB,EAAEmO,GAAGA,EAAEpX,OAAO,SAAI,IAASuxD,EAAEA,EAAEn6C,EAAEm6C,GAAG,IAAIn6C,GAAG,YAAO,IAASm6C,EAAE,IAAI/rD,EAAEqP,UAAU08C,IAAIt8C,SAAS,SAASs8C,EAAE7nC,GAAG,GAAGzgB,EAAEsoD,GAAGtoD,EAAEygB,GAAG6nC,IAAI7nC,EAAE,MAAM,GAAG,IAAI6nC,EAAE/rD,EAAEiP,QAAQ88C,OAAO7nC,EAAElkB,EAAEiP,QAAQiV,IAAI,MAAM,GAAG,IAAI,IAAItS,EAAE,EAAEA,EAAEm6C,EAAEvxD,QAAQ,KAAKuxD,EAAE1xD,WAAWuX,KAAKA,GAAG,IAAI,IAAI9X,EAAEiyD,EAAEvxD,OAAO6J,EAAEvK,EAAE8X,EAAEw9C,EAAE,EAAEA,EAAElrC,EAAE1pB,QAAQ,KAAK0pB,EAAE7pB,WAAW+0D,KAAKA,GAAG,IAAI,IAAIphD,EAAEkW,EAAE1pB,OAAO40D,EAAEltD,EAAEmC,EAAE2J,EAAE3J,EAAE2J,EAAE8oC,GAAG,EAAE0V,EAAE,EAAEA,GAAGtqD,IAAIsqD,EAAE,CAAC,GAAGA,IAAItqD,EAAE,CAAC,GAAG8L,EAAE9L,EAAE,CAAC,GAAG,KAAKgiB,EAAE7pB,WAAW+0D,EAAE5C,GAAG,OAAOtoC,EAAE9mB,MAAMgyD,EAAE5C,EAAE,GAAG,GAAG,IAAIA,EAAE,OAAOtoC,EAAE9mB,MAAMgyD,EAAE5C,QAAQnoD,EAAEnC,IAAI,KAAK6pD,EAAE1xD,WAAWuX,EAAE46C,GAAG1V,EAAE0V,EAAE,IAAIA,IAAI1V,EAAE,IAAI,MAAM,IAAIuY,EAAEtD,EAAE1xD,WAAWuX,EAAE46C,GAAG,GAAG6C,IAAInrC,EAAE7pB,WAAW+0D,EAAE5C,GAAG,MAAM,KAAK6C,IAAIvY,EAAE0V,GAAG,IAAIx6C,EAAE,GAAG,IAAIw6C,EAAE56C,EAAEklC,EAAE,EAAE0V,GAAG1yD,IAAI0yD,EAAEA,IAAI1yD,GAAG,KAAKiyD,EAAE1xD,WAAWmyD,KAAK,IAAIx6C,EAAExX,OAAOwX,GAAG,KAAKA,GAAG,OAAO,OAAOA,EAAExX,OAAO,EAAEwX,EAAEkS,EAAE9mB,MAAMgyD,EAAEtY,IAAIsY,GAAGtY,EAAE,KAAK5yB,EAAE7pB,WAAW+0D,MAAMA,EAAElrC,EAAE9mB,MAAMgyD,KAAKl/C,UAAU,SAAS67C,GAAG,OAAOA,GAAG57C,QAAQ,SAAS47C,GAAG,GAAGtoD,EAAEsoD,GAAG,IAAIA,EAAEvxD,OAAO,MAAM,IAAI,IAAI,IAAI0pB,EAAE6nC,EAAE1xD,WAAW,GAAG2F,EAAE,KAAKkkB,EAAEtS,GAAG,EAAE9X,GAAE,EAAGuK,EAAE0nD,EAAEvxD,OAAO,EAAE6J,GAAG,IAAIA,EAAE,GAAG,MAAM6f,EAAE6nC,EAAE1xD,WAAWgK,KAAK,IAAIvK,EAAE,CAAC8X,EAAEvN,EAAE,YAAYvK,GAAE,EAAG,OAAO,IAAI8X,EAAE5R,EAAE,IAAI,IAAIA,GAAG,IAAI4R,EAAE,KAAKm6C,EAAE3uD,MAAM,EAAEwU,IAAItB,SAAS,SAASy7C,EAAE7nC,GAAG,QAAG,IAASA,GAAG,iBAAiBA,EAAE,MAAM,IAAIvnB,UAAU,mCAAmC8G,EAAEsoD,GAAG,IAAI/rD,EAAE4R,EAAE,EAAE9X,GAAG,EAAEuK,GAAE,EAAG,QAAG,IAAS6f,GAAGA,EAAE1pB,OAAO,GAAG0pB,EAAE1pB,QAAQuxD,EAAEvxD,OAAO,CAAC,GAAG0pB,EAAE1pB,SAASuxD,EAAEvxD,QAAQ0pB,IAAI6nC,EAAE,MAAM,GAAG,IAAIqD,EAAElrC,EAAE1pB,OAAO,EAAEwT,GAAG,EAAE,IAAIhO,EAAE+rD,EAAEvxD,OAAO,EAAEwF,GAAG,IAAIA,EAAE,CAAC,IAAIkC,EAAE6pD,EAAE1xD,WAAW2F,GAAG,GAAG,KAAKkC,GAAG,IAAImC,EAAE,CAACuN,EAAE5R,EAAE,EAAE,YAAY,IAAIgO,IAAI3J,GAAE,EAAG2J,EAAEhO,EAAE,GAAGovD,GAAG,IAAIltD,IAAIgiB,EAAE7pB,WAAW+0D,IAAI,KAAKA,IAAIt1D,EAAEkG,IAAIovD,GAAG,EAAEt1D,EAAEkU,IAAI,OAAO4D,IAAI9X,EAAEA,EAAEkU,GAAG,IAAIlU,IAAIA,EAAEiyD,EAAEvxD,QAAQuxD,EAAE3uD,MAAMwU,EAAE9X,GAAG,IAAIkG,EAAE+rD,EAAEvxD,OAAO,EAAEwF,GAAG,IAAIA,EAAE,GAAG,KAAK+rD,EAAE1xD,WAAW2F,IAAI,IAAIqE,EAAE,CAACuN,EAAE5R,EAAE,EAAE,YAAY,IAAIlG,IAAIuK,GAAE,EAAGvK,EAAEkG,EAAE,GAAG,OAAO,IAAIlG,EAAE,GAAGiyD,EAAE3uD,MAAMwU,EAAE9X,IAAI2W,QAAQ,SAASs7C,GAAGtoD,EAAEsoD,GAAG,IAAI,IAAI7nC,GAAG,EAAElkB,EAAE,EAAE4R,GAAG,EAAE9X,GAAE,EAAGuK,EAAE,EAAE+qD,EAAErD,EAAEvxD,OAAO,EAAE40D,GAAG,IAAIA,EAAE,CAAC,IAAIphD,EAAE+9C,EAAE1xD,WAAW+0D,GAAG,GAAG,KAAKphD,GAAG,IAAI4D,IAAI9X,GAAE,EAAG8X,EAAEw9C,EAAE,GAAG,KAAKphD,GAAG,IAAIkW,EAAEA,EAAEkrC,EAAE,IAAI/qD,IAAIA,EAAE,IAAI,IAAI6f,IAAI7f,GAAG,QAAQ,IAAIvK,EAAE,CAACkG,EAAEovD,EAAE,EAAE,OAAO,OAAO,IAAIlrC,IAAI,IAAItS,GAAG,IAAIvN,GAAG,IAAIA,GAAG6f,IAAItS,EAAE,GAAGsS,IAAIlkB,EAAE,EAAE,GAAG+rD,EAAE3uD,MAAM8mB,EAAEtS,IAAIf,OAAO,SAASk7C,GAAG,GAAG,OAAOA,GAAG,iBAAiBA,EAAE,MAAM,IAAIpvD,UAAU,0EAA0EovD,GAAG,OAAO,SAASA,EAAEtoD,GAAG,IAAIygB,EAAEzgB,EAAErD,KAAKqD,EAAEuN,KAAKhR,EAAEyD,EAAEwN,OAAOxN,EAAEoI,MAAM,KAAKpI,EAAE0C,KAAK,IAAI,OAAO+d,EAAEA,IAAIzgB,EAAEuN,KAAKkT,EAAElkB,EAAEkkB,EAAE,IAAIlkB,EAAEA,EAArG,CAAwG,EAAE+rD,IAAI56C,MAAM,SAAS46C,GAAGtoD,EAAEsoD,GAAG,IAAI7nC,EAAE,CAAClT,KAAK,GAAG5Q,IAAI,GAAG6Q,KAAK,GAAG9K,IAAI,GAAG0F,KAAK,IAAI,GAAG,IAAIkgD,EAAEvxD,OAAO,OAAO0pB,EAAE,IAAIlkB,EAAE4R,EAAEm6C,EAAE1xD,WAAW,GAAGP,EAAE,KAAK8X,EAAE9X,GAAGoqB,EAAElT,KAAK,IAAIhR,EAAE,GAAGA,EAAE,EAAE,IAAI,IAAIqE,GAAG,EAAE+qD,EAAE,EAAEphD,GAAG,EAAE9L,GAAE,EAAG40C,EAAEiV,EAAEvxD,OAAO,EAAEgyD,EAAE,EAAE1V,GAAG92C,IAAI82C,EAAE,GAAG,MAAMllC,EAAEm6C,EAAE1xD,WAAWy8C,KAAK,IAAI9oC,IAAI9L,GAAE,EAAG8L,EAAE8oC,EAAE,GAAG,KAAKllC,GAAG,IAAIvN,EAAEA,EAAEyyC,EAAE,IAAI0V,IAAIA,EAAE,IAAI,IAAInoD,IAAImoD,GAAG,QAAQ,IAAItqD,EAAE,CAACktD,EAAEtY,EAAE,EAAE,MAAM,OAAO,IAAIzyC,IAAI,IAAI2J,GAAG,IAAIw+C,GAAG,IAAIA,GAAGnoD,IAAI2J,EAAE,GAAG3J,IAAI+qD,EAAE,GAAG,IAAIphD,IAAIkW,EAAEjT,KAAKiT,EAAErY,KAAK,IAAIujD,GAAGt1D,EAAEiyD,EAAE3uD,MAAM,EAAE4Q,GAAG+9C,EAAE3uD,MAAMgyD,EAAEphD,KAAK,IAAIohD,GAAGt1D,GAAGoqB,EAAErY,KAAKkgD,EAAE3uD,MAAM,EAAEiH,GAAG6f,EAAEjT,KAAK86C,EAAE3uD,MAAM,EAAE4Q,KAAKkW,EAAErY,KAAKkgD,EAAE3uD,MAAMgyD,EAAE/qD,GAAG6f,EAAEjT,KAAK86C,EAAE3uD,MAAMgyD,EAAEphD,IAAIkW,EAAE/d,IAAI4lD,EAAE3uD,MAAMiH,EAAE2J,IAAIohD,EAAE,EAAElrC,EAAE9jB,IAAI2rD,EAAE3uD,MAAM,EAAEgyD,EAAE,GAAGt1D,IAAIoqB,EAAE9jB,IAAI,KAAK8jB,GAAGnT,IAAI,IAAIK,UAAU,IAAIC,MAAM,KAAKrC,MAAM,MAAMhP,EAAEgP,MAAMhP,EAAE+rD,EAAE1yD,QAAQ2G,GAAG,IAAI,CAAC+rD,EAAEtoD,EAAEygB,KAAK,IAAIlkB,EAAE,GAAGkkB,EAAEA,EAAEzgB,GAAGygB,EAAEnW,EAAEtK,EAAE,CAAC6rD,IAAI,IAAIvhD,EAAEwhD,MAAM,IAAIC,IAAI,gBAAiB,sEAAQxvD,EAAE,UAAU,sEAAQyvD,cAAc,GAAG,iBAAiBC,UAAU,CAAC,IAAI99C,EAAE89C,UAAUC,UAAU3vD,EAAE4R,EAAEvW,QAAQ,YAAY,EAAE,IAAIvB,EAAEuK,EAAE+qD,GAAGt1D,EAAE,SAASiyD,EAAEtoD,GAAG,OAAO3J,EAAEwC,OAAOC,gBAAgB,CAACqzD,UAAU,cAAc10D,OAAO,SAAS6wD,EAAEtoD,GAAGsoD,EAAE6D,UAAUnsD,IAAI,SAASsoD,EAAEtoD,GAAG,IAAI,IAAIygB,KAAKzgB,EAAEnH,OAAOE,UAAUyV,eAAe3R,KAAKmD,EAAEygB,KAAK6nC,EAAE7nC,GAAGzgB,EAAEygB,MAAM6nC,EAAEtoD,IAAI,SAASsoD,EAAEtoD,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAI9G,UAAU,uBAAuBgE,OAAO8C,GAAG,iCAAiC,SAASygB,IAAI1kB,KAAKiM,YAAYsgD,EAAEjyD,EAAEiyD,EAAEtoD,GAAGsoD,EAAEvvD,UAAU,OAAOiH,EAAEnH,OAAOqV,OAAOlO,IAAIygB,EAAE1nB,UAAUiH,EAAEjH,UAAU,IAAI0nB,KAAKlW,EAAE,iBAAiB9L,EAAE,MAAM40C,EAAE,QAAQ,SAAS0V,EAAET,EAAEtoD,GAAG,IAAIsoD,EAAEx2B,QAAQ9xB,EAAE,MAAM,IAAIrI,MAAM,2DAA2DoJ,OAAOunD,EAAE8D,UAAU,cAAcrrD,OAAOunD,EAAEx9C,KAAK,eAAe/J,OAAOunD,EAAE+D,MAAM,kBAAkBtrD,OAAOunD,EAAEgE,SAAS,OAAO,GAAGhE,EAAEx2B,SAASvnB,EAAEwoC,KAAKuV,EAAEx2B,QAAQ,MAAM,IAAIn6B,MAAM,mDAAmD,GAAG2wD,EAAEx9C,KAAK,GAAGw9C,EAAE8D,WAAW,IAAI3tD,EAAEs0C,KAAKuV,EAAEx9C,MAAM,MAAM,IAAInT,MAAM,iJAAiJ,GAAG07C,EAAEN,KAAKuV,EAAEx9C,MAAM,MAAM,IAAInT,MAAM,6HAA6H,IAAIi0D,EAAE,GAAGr9C,EAAE,IAAIglC,EAAE,+DAA+DjpC,EAAE,WAAW,SAASg+C,EAAEA,EAAEtoD,EAAEygB,EAAElkB,EAAE4R,EAAE9X,QAAG,IAASA,IAAIA,GAAE,GAAI,iBAAiBiyD,GAAGvsD,KAAK+1B,OAAOw2B,EAAEx2B,QAAQ85B,EAAE7vD,KAAKqwD,UAAU9D,EAAE8D,WAAWR,EAAE7vD,KAAK+O,KAAKw9C,EAAEx9C,MAAM8gD,EAAE7vD,KAAKswD,MAAM/D,EAAE+D,OAAOT,EAAE7vD,KAAKuwD,SAAShE,EAAEgE,UAAUV,IAAI7vD,KAAK+1B,OAAO,SAASw2B,EAAEtoD,GAAG,OAAOsoD,GAAGtoD,EAAEsoD,EAAE,OAA5B,CAAoCA,EAAEjyD,GAAG0F,KAAKqwD,UAAUpsD,GAAG4rD,EAAE7vD,KAAK+O,KAAK,SAASw9C,EAAEtoD,GAAG,OAAOsoD,GAAG,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAOtoD,EAAEA,EAAE,KAAKuO,IAAIvO,EAAEuO,EAAEvO,GAAGA,EAAEuO,EAAE,OAAOvO,EAAzF,CAA4FjE,KAAK+1B,OAAOrR,GAAGmrC,GAAG7vD,KAAKswD,MAAM9vD,GAAGqvD,EAAE7vD,KAAKuwD,SAASn+C,GAAGy9C,EAAE7C,EAAEhtD,KAAK1F,IAAI,OAAOiyD,EAAEiE,MAAM,SAASvsD,GAAG,OAAOA,aAAasoD,KAAKtoD,GAAG,iBAAiBA,EAAEosD,WAAW,iBAAiBpsD,EAAEssD,UAAU,iBAAiBtsD,EAAE8K,MAAM,iBAAiB9K,EAAEqsD,OAAO,iBAAiBrsD,EAAE8xB,QAAQ,iBAAiB9xB,EAAEwsD,QAAQ,mBAAmBxsD,EAAEysD,MAAM,mBAAmBzsD,EAAEzE,UAAU1C,OAAOuH,eAAekoD,EAAEvvD,UAAU,SAAS,CAACuH,IAAI,WAAW,OAAOosD,EAAE3wD,MAAK,IAAKsE,YAAW,EAAG8H,cAAa,IAAKmgD,EAAEvvD,UAAU0zD,KAAK,SAASnE,GAAG,IAAIA,EAAE,OAAOvsD,KAAK,IAAIiE,EAAEsoD,EAAEx2B,OAAOrR,EAAE6nC,EAAE8D,UAAU7vD,EAAE+rD,EAAEx9C,KAAKqD,EAAEm6C,EAAE+D,MAAMh2D,EAAEiyD,EAAEgE,SAAS,YAAO,IAAStsD,EAAEA,EAAEjE,KAAK+1B,OAAO,OAAO9xB,IAAIA,EAAE4rD,QAAG,IAASnrC,EAAEA,EAAE1kB,KAAKqwD,UAAU,OAAO3rC,IAAIA,EAAEmrC,QAAG,IAASrvD,EAAEA,EAAER,KAAK+O,KAAK,OAAOvO,IAAIA,EAAEqvD,QAAG,IAASz9C,EAAEA,EAAEpS,KAAKswD,MAAM,OAAOl+C,IAAIA,EAAEy9C,QAAG,IAASv1D,EAAEA,EAAE0F,KAAKuwD,SAAS,OAAOj2D,IAAIA,EAAEu1D,GAAG5rD,IAAIjE,KAAK+1B,QAAQrR,IAAI1kB,KAAKqwD,WAAW7vD,IAAIR,KAAK+O,MAAMqD,IAAIpS,KAAKswD,OAAOh2D,IAAI0F,KAAKuwD,SAASvwD,KAAK,IAAI+E,EAAEd,EAAEygB,EAAElkB,EAAE4R,EAAE9X,IAAIiyD,EAAE56C,MAAM,SAAS46C,EAAEtoD,QAAG,IAASA,IAAIA,GAAE,GAAI,IAAIygB,EAAE8yB,EAAEoZ,KAAKrE,GAAG,OAAO7nC,EAAE,IAAI3f,EAAE2f,EAAE,IAAImrC,EAAEgB,EAAEnsC,EAAE,IAAImrC,GAAGgB,EAAEnsC,EAAE,IAAImrC,GAAGgB,EAAEnsC,EAAE,IAAImrC,GAAGgB,EAAEnsC,EAAE,IAAImrC,GAAG5rD,GAAG,IAAIc,EAAE8qD,EAAEA,EAAEA,EAAEA,EAAEA,IAAItD,EAAE78B,KAAK,SAAS68B,GAAG,IAAItoD,EAAE4rD,EAAE,GAAGrvD,IAAI+rD,EAAEA,EAAE5mD,QAAQ,MAAM6M,IAAI+5C,EAAE,KAAK/5C,GAAG+5C,EAAE,KAAK/5C,EAAE,CAAC,IAAIkS,EAAE6nC,EAAE1wD,QAAQ2W,EAAE,IAAI,IAAIkS,GAAGzgB,EAAEsoD,EAAE/lB,UAAU,GAAG+lB,EAAE/5C,IAAIvO,EAAEsoD,EAAE/lB,UAAU,EAAE9hB,GAAG6nC,EAAEA,EAAE/lB,UAAU9hB,IAAIlS,GAAG,OAAO,IAAIzN,EAAE,OAAOd,EAAEsoD,EAAEsD,EAAEA,IAAItD,EAAElvD,KAAK,SAASkvD,GAAG,IAAItoD,EAAE,IAAIc,EAAEwnD,EAAEx2B,OAAOw2B,EAAE8D,UAAU9D,EAAEx9C,KAAKw9C,EAAE+D,MAAM/D,EAAEgE,UAAU,OAAOvD,EAAE/oD,GAAE,GAAIA,GAAGsoD,EAAEvvD,UAAUwC,SAAS,SAAS+sD,GAAG,YAAO,IAASA,IAAIA,GAAE,GAAIuE,EAAE9wD,KAAKusD,IAAIA,EAAEvvD,UAAUoJ,OAAO,WAAW,OAAOpG,MAAMusD,EAAEwE,OAAO,SAAS9sD,GAAG,GAAGA,EAAE,CAAC,GAAGA,aAAasoD,EAAE,OAAOtoD,EAAE,IAAIygB,EAAE,IAAI3f,EAAEd,GAAG,OAAOygB,EAAEssC,WAAW/sD,EAAEgtD,SAASvsC,EAAEwsC,QAAQjtD,EAAEktD,OAAOC,EAAEntD,EAAEwsD,OAAO,KAAK/rC,EAAE,OAAOzgB,GAAGsoD,EAAr6D,GAA06D6E,EAAE5wD,EAAE,OAAE,EAAOuE,EAAE,SAASwnD,GAAG,SAAStoD,IAAI,IAAIA,EAAE,OAAOsoD,GAAGA,EAAE5oD,MAAM3D,KAAKN,YAAYM,KAAK,OAAOiE,EAAE+sD,WAAW,KAAK/sD,EAAEitD,QAAQ,KAAKjtD,EAAE,OAAO2rD,EAAE3rD,EAAEsoD,GAAGzvD,OAAOuH,eAAeJ,EAAEjH,UAAU,SAAS,CAACuH,IAAI,WAAW,OAAOvE,KAAKkxD,UAAUlxD,KAAKkxD,QAAQP,EAAE3wD,MAAK,IAAKA,KAAKkxD,SAAS5sD,YAAW,EAAG8H,cAAa,IAAKnI,EAAEjH,UAAUwC,SAAS,SAAS+sD,GAAG,YAAO,IAASA,IAAIA,GAAE,GAAIA,EAAEuE,EAAE9wD,MAAK,IAAKA,KAAKgxD,aAAahxD,KAAKgxD,WAAWF,EAAE9wD,MAAK,IAAKA,KAAKgxD,aAAa/sD,EAAEjH,UAAUoJ,OAAO,WAAW,IAAImmD,EAAE,CAAC8E,KAAK,GAAG,OAAOrxD,KAAKkxD,UAAU3E,EAAEkE,OAAOzwD,KAAKkxD,QAAQ3E,EAAE4E,KAAKC,GAAGpxD,KAAKgxD,aAAazE,EAAE0E,SAASjxD,KAAKgxD,YAAYhxD,KAAK+O,OAAOw9C,EAAEx9C,KAAK/O,KAAK+O,MAAM/O,KAAK+1B,SAASw2B,EAAEx2B,OAAO/1B,KAAK+1B,QAAQ/1B,KAAKqwD,YAAY9D,EAAE8D,UAAUrwD,KAAKqwD,WAAWrwD,KAAKswD,QAAQ/D,EAAE+D,MAAMtwD,KAAKswD,OAAOtwD,KAAKuwD,WAAWhE,EAAEgE,SAASvwD,KAAKuwD,UAAUhE,GAAGtoD,EAA9uB,CAAivBsK,GAAG9N,IAAIoE,EAAE,IAAI,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,GAAG,SAASnG,EAAE6tD,EAAEtoD,GAAG,IAAI,IAAIygB,OAAE,EAAOlkB,GAAG,EAAE4R,EAAE,EAAEA,EAAEm6C,EAAEvxD,OAAOoX,IAAI,CAAC,IAAI9X,EAAEiyD,EAAE1xD,WAAWuX,GAAG,GAAG9X,GAAG,IAAIA,GAAG,KAAKA,GAAG,IAAIA,GAAG,IAAIA,GAAG,IAAIA,GAAG,IAAI,KAAKA,GAAG,KAAKA,GAAG,KAAKA,GAAG,MAAMA,GAAG2J,GAAG,KAAK3J,GAAG,IAAIkG,IAAIkkB,GAAG4sC,mBAAmB/E,EAAE/lB,UAAUhmC,EAAE4R,IAAI5R,GAAG,QAAG,IAASkkB,IAAIA,GAAG6nC,EAAEplB,OAAO/0B,QAAQ,MAAC,IAASsS,IAAIA,EAAE6nC,EAAEvqD,OAAO,EAAEoQ,IAAI,IAAIvN,EAAEpE,EAAEnG,QAAG,IAASuK,IAAI,IAAIrE,IAAIkkB,GAAG4sC,mBAAmB/E,EAAE/lB,UAAUhmC,EAAE4R,IAAI5R,GAAG,GAAGkkB,GAAG7f,IAAI,IAAIrE,IAAIA,EAAE4R,IAAI,OAAO,IAAI5R,IAAIkkB,GAAG4sC,mBAAmB/E,EAAE/lB,UAAUhmC,UAAK,IAASkkB,EAAEA,EAAE6nC,EAAE,SAASgF,EAAEhF,GAAG,IAAI,IAAItoD,OAAE,EAAOygB,EAAE,EAAEA,EAAE6nC,EAAEvxD,OAAO0pB,IAAI,CAAC,IAAIlkB,EAAE+rD,EAAE1xD,WAAW6pB,GAAG,KAAKlkB,GAAG,KAAKA,QAAG,IAASyD,IAAIA,EAAEsoD,EAAEvqD,OAAO,EAAE0iB,IAAIzgB,GAAGxD,EAAED,SAAI,IAASyD,IAAIA,GAAGsoD,EAAE7nC,IAAI,YAAO,IAASzgB,EAAEA,EAAEsoD,EAAE,SAASoE,EAAEpE,EAAEtoD,GAAG,IAAIygB,EAAE,OAAOA,EAAE6nC,EAAE8D,WAAW9D,EAAEx9C,KAAK/T,OAAO,GAAG,SAASuxD,EAAEx2B,OAAO,KAAK/wB,OAAOunD,EAAE8D,WAAWrrD,OAAOunD,EAAEx9C,MAAM,KAAKw9C,EAAEx9C,KAAKlU,WAAW,KAAK0xD,EAAEx9C,KAAKlU,WAAW,IAAI,IAAI0xD,EAAEx9C,KAAKlU,WAAW,IAAI,IAAI0xD,EAAEx9C,KAAKlU,WAAW,IAAI,IAAI0xD,EAAEx9C,KAAKlU,WAAW,IAAI,MAAM,KAAK0xD,EAAEx9C,KAAKlU,WAAW,GAAGoJ,EAAEsoD,EAAEx9C,KAAK/M,OAAO,GAAGuqD,EAAEx9C,KAAK,GAAGjP,cAAcysD,EAAEx9C,KAAK/M,OAAO,GAAGuqD,EAAEx9C,KAAKvO,IAAIkkB,EAAEA,EAAE/e,QAAQ,MAAM,OAAO+e,EAAE,SAASosC,EAAEvE,EAAEtoD,GAAG,IAAIygB,EAAEzgB,EAAEstD,EAAE7yD,EAAE8B,EAAE,GAAG4R,EAAEm6C,EAAEx2B,OAAOz7B,EAAEiyD,EAAE8D,UAAUxrD,EAAE0nD,EAAEx9C,KAAK6gD,EAAErD,EAAE+D,MAAM9hD,EAAE+9C,EAAEgE,SAAS,GAAGn+C,IAAI5R,GAAG4R,EAAE5R,GAAG,MAAMlG,GAAG,SAAS8X,KAAK5R,GAAGgS,EAAEhS,GAAGgS,GAAGlY,EAAE,CAAC,IAAIoI,EAAEpI,EAAEuB,QAAQ,KAAK,IAAI,IAAI6G,EAAE,CAAC,IAAI40C,EAAEh9C,EAAE0H,OAAO,EAAEU,GAAGpI,EAAEA,EAAE0H,OAAOU,EAAE,IAAI,KAAKA,EAAE40C,EAAEz7C,QAAQ,MAAM2E,GAAGkkB,EAAE4yB,GAAE,IAAK92C,GAAGkkB,EAAE4yB,EAAEt1C,OAAO,EAAEU,IAAG,GAAIlC,GAAG,IAAIA,GAAGkkB,EAAE4yB,EAAEt1C,OAAOU,EAAE,IAAG,IAAKlC,GAAG,KAAK,KAAKkC,GAAGpI,EAAEA,EAAEwF,eAAejE,QAAQ,MAAM2E,GAAGkkB,EAAEpqB,GAAE,IAAKkG,GAAGkkB,EAAEpqB,EAAE0H,OAAO,EAAEU,IAAG,GAAIlC,GAAGlG,EAAE0H,OAAOU,IAAI,GAAGmC,EAAE,CAAC,GAAGA,EAAE7J,QAAQ,GAAG,KAAK6J,EAAEhK,WAAW,IAAI,KAAKgK,EAAEhK,WAAW,IAAImyD,EAAEnoD,EAAEhK,WAAW,KAAK,IAAImyD,GAAG,KAAKnoD,EAAE,IAAIG,OAAO7D,OAAOuC,aAAaspD,EAAE,IAAI,KAAKhoD,OAAOH,EAAE7C,OAAO,UAAU,GAAG6C,EAAE7J,QAAQ,GAAG,KAAK6J,EAAEhK,WAAW,GAAG,CAAC,IAAImyD,GAAGA,EAAEnoD,EAAEhK,WAAW,KAAK,IAAImyD,GAAG,KAAKnoD,EAAE,GAAGG,OAAO7D,OAAOuC,aAAaspD,EAAE,IAAI,KAAKhoD,OAAOH,EAAE7C,OAAO,KAAKxB,GAAGkkB,EAAE7f,GAAE,GAAI,OAAO+qD,IAAIpvD,GAAG,IAAIA,GAAGkkB,EAAEkrC,GAAE,IAAKphD,IAAIhO,GAAG,IAAIA,GAAGyD,EAAEuK,EAAE9P,EAAE8P,GAAE,IAAKhO,EAAE,SAASsE,EAAEynD,GAAG,IAAI,OAAOiF,mBAAmBjF,GAAG,MAAMtoD,GAAG,OAAOsoD,EAAEvxD,OAAO,EAAEuxD,EAAEvqD,OAAO,EAAE,GAAG8C,EAAEynD,EAAEvqD,OAAO,IAAIuqD,GAAG,IAAI9vC,EAAE,8BAA8B,SAASo0C,EAAEtE,GAAG,OAAOA,EAAEkF,MAAMh1C,GAAG8vC,EAAE5mD,QAAQ8W,GAAE,SAAU8vC,GAAG,OAAOznD,EAAEynD,MAAMA,EAAE,IAAIyD,EAAExuD,EAAEkjB,EAAE,KAAKgtC,EAAE,SAASnF,EAAEtoD,EAAEygB,GAAG,GAAGA,GAAG,IAAIhlB,UAAU1E,OAAO,IAAI,IAAIwF,EAAE4R,EAAE,EAAE9X,EAAE2J,EAAEjJ,OAAOoX,EAAE9X,EAAE8X,KAAK5R,GAAG4R,KAAKnO,IAAIzD,IAAIA,EAAE9E,MAAMsB,UAAUY,MAAMkD,KAAKmD,EAAE,EAAEmO,IAAI5R,EAAE4R,GAAGnO,EAAEmO,IAAI,OAAOm6C,EAAEvnD,OAAOxE,GAAG9E,MAAMsB,UAAUY,MAAMkD,KAAKmD,KAAK0tD,EAAEnwD,EAAEgO,OAAOhO,GAAG,SAAS+qD,GAAGA,EAAEqF,SAAS,SAASrF,GAAG,IAAI,IAAItoD,EAAE,GAAGygB,EAAE,EAAEA,EAAEhlB,UAAU1E,OAAO0pB,IAAIzgB,EAAEygB,EAAE,GAAGhlB,UAAUglB,GAAG,OAAO6nC,EAAEmE,KAAK,CAAC3hD,KAAK4iD,EAAEn2D,KAAKmI,MAAMguD,EAAED,EAAE,CAACnF,EAAEx9C,MAAM9K,GAAE,OAAQsoD,EAAEsF,YAAY,SAAStF,GAAG,IAAI,IAAItoD,EAAE,GAAGygB,EAAE,EAAEA,EAAEhlB,UAAU1E,OAAO0pB,IAAIzgB,EAAEygB,EAAE,GAAGhlB,UAAUglB,GAAG,IAAIlkB,EAAE+rD,EAAEx9C,MAAM,IAAI,OAAOw9C,EAAEmE,KAAK,CAAC3hD,KAAK4iD,EAAEliD,QAAQ9L,MAAMguD,EAAED,EAAE,CAAClxD,GAAGyD,GAAE,OAAQsoD,EAAE57C,QAAQ,SAAS47C,GAAG,IAAItoD,EAAE0tD,EAAEhhD,QAAQ47C,EAAEx9C,MAAM,OAAO,IAAI9K,EAAEjJ,QAAQ,KAAKiJ,EAAEpJ,WAAW,GAAG0xD,EAAEA,EAAEmE,KAAK,CAAC3hD,KAAK9K,KAAKsoD,EAAEz7C,SAAS,SAASy7C,GAAG,OAAOoF,EAAE7gD,SAASy7C,EAAEx9C,OAAOw9C,EAAEt7C,QAAQ,SAASs7C,GAAG,OAAOoF,EAAE1gD,QAAQs7C,EAAEx9C,OAA5f,CAAogBihD,IAAIA,EAAE,OAAO/rD,EAAE,GAAG,SAASygB,EAAElkB,GAAG,GAAGyD,EAAEzD,GAAG,OAAOyD,EAAEzD,GAAG3G,QAAQ,IAAIuY,EAAEnO,EAAEzD,GAAG,CAAC3G,QAAQ,IAAI,OAAO0yD,EAAE/rD,GAAG4R,EAAEA,EAAEvY,QAAQ6qB,GAAGtS,EAAEvY,QAAQ,OAAO6qB,EAAEnW,EAAE,CAACg+C,EAAEtoD,KAAK,IAAI,IAAIzD,KAAKyD,EAAEygB,EAAEtS,EAAEnO,EAAEzD,KAAKkkB,EAAEtS,EAAEm6C,EAAE/rD,IAAI1D,OAAOuH,eAAekoD,EAAE/rD,EAAE,CAAC8D,YAAW,EAAGC,IAAIN,EAAEzD,MAAMkkB,EAAEtS,EAAE,CAACm6C,EAAEtoD,IAAInH,OAAOE,UAAUyV,eAAe3R,KAAKyrD,EAAEtoD,GAAGygB,EAAEA,EAAE6nC,IAAI,oBAAoBlwD,QAAQA,OAAOkrB,aAAazqB,OAAOuH,eAAekoD,EAAElwD,OAAOkrB,YAAY,CAACjqB,MAAM,WAAWR,OAAOuH,eAAekoD,EAAE,aAAa,CAACjvD,OAAM,KAAMonB,EAAE,MAApgX,GAAohX,MAAK,IAACorC,EAAG,MAACC,GAAOJ,ECW1iX,SAASmC,EACZC,EACAxlD,EACAylD,EACAC,GAEKF,IACGC,IACAzlD,GACI,mCAC6B,iBAArBylD,EAAgCA,EAAmBA,MAEnEE,EAAK3lD,EAAU,qBAAuBA,EAAU,oBAAqB0lD,GAAkBH,IAIxF,SAASI,EAAK3lD,EAAkB0lD,GAEnC,MAAMhuD,EAAI,IAAIrI,MAAM2Q,EAAU,kBAAkBA,IAAY,kBAI5D,MAHI3Q,MAAM+8C,mBACN/8C,MAAM+8C,kBAAkB10C,EAAGguD,GAAkBC,GAE3CjuD,EAuBH,SAASkuD,EAAYC,EAAe7lD,EAAU,iBAAkB0lD,GAEnEC,EAAK,GAAG3lD,KADOyC,KAAKC,UAAUmjD,KACDH,GAAkBE,GAwD5C,SAASE,EAAqBjuD,GACjC,GAAKA,EAKL,OADkB4K,KAAKC,UAAU7K,GACnBpJ,OAAS,EAGZoJ,EAOJ,CAAEiI,KAHIjI,EAAMiI,MAAQ4hD,EAAS7pD,EAAMiI,MAAQjI,EAAMiI,KAAmB,SAG5DE,QAFCnI,EAAMmI,SAAW0hD,EAAS7pD,EAAMmI,SAAWnI,EAAMmI,QAAyB,YAElED,MADVlI,EAAMkI,OAAS2hD,EAAS7pD,EAAMkI,OAASlI,EAAMkI,WAAqBxN,GCvHpF,IAAIwzD,EAEJ,IAEIA,EAAa,oBAAQ,OAChBA,aAAU,EAAVA,EAAYC,eACbD,OAAaxzD,GAEnB,OA8BK,SAAS0zD,EAAelzD,GAC3B,GAAIgzD,EACA,OAAOA,EAAWC,YAAYjzD,GAAME,SAAS,OAGjD,GAAIizD,OAAQ,CAER,OAXYl4D,EAUAk4D,OAAOC,gBAAgB,IAAIj3D,WAAW6D,IAT/C,IAAI/E,GAAKupB,KAAKhf,GAAMA,EAAEtF,SAAS,IAAImzD,SAAS,EAAG,OAAMn3D,KAAK,IADrE,IAAoBjB,EAchB23D,EAAK,4B,2DCCF,SAASU,EAAkBC,EAAoBC,GAClD,MAAMC,EAAaF,EAAWG,oBACxBC,EAAcH,EAAWE,oBACzBE,EAAcH,EAAW/3D,OACzBm4D,EAAeF,EAAYj4D,OACjC,IAAIo4D,EAAW,EACXC,EAAY,EAChB,KAAOD,EAAWF,GAAeG,EAAYF,GACrCJ,EAAWK,KAAcH,EAAYI,KACrCD,GAAY,GAEhBC,GAAa,EAEjB,OAAOD,IAAaF,EAIjB,SAASI,EAAWnwB,GACvB,IAAIowB,EAAO,EAEX,IAAK,IAAIj5D,EAAI,EAAGA,EAAI6oC,EAASnoC,OAAQV,IACjCi5D,GAASA,GAAQ,GAAKA,EAAOpwB,EAAStoC,WAAWP,GAAM,EAE3D,OAAOi5D,EAeJ,SAASC,EAA8B3uD,EAAuBnG,GACjE,OAAOmG,IAAMnG,EACP,OACMI,IAAN+F,GACD,OACO/F,IAANJ,EACA,EACAsvD,EAAwBnpD,EAAE4uD,cAAe/0D,EAAE+0D,eAa9C,SAASC,EAA4B7uD,EAAuBnG,GAC/D,OAAOsvD,EAAwBnpD,EAAGnG,GAG/B,SAASi1D,EAAkBC,GAC9B,OAAOA,EAAaJ,EAAgCE,EAWjD,SAASG,EAA6BhvD,EAAWnG,GACpD,OAA+C,IAAxC80D,EAA8B3uD,EAAGnG,GASrC,SAASo1D,EAA2BjvD,EAAWnG,GAClD,OAA6C,IAAtCg1D,EAA4B7uD,EAAGnG,GAGnC,SAASq1D,EAAkBz2D,EAAe4pC,GAC7C,IAAIlnB,EAAS,EACb,IAAK,IAAI1lB,EAAI,EAAGA,EAAIgD,EAAMtC,OAAQV,IAC1BgD,EAAMhD,KAAO4sC,GACblnB,IAGR,OAAOA,EC/HX,IAAIg0C,EAaG,IAAUC,EAYV,SAASC,EACZC,EACAxgD,GAEA,OAAa,CACT,MAAMqM,EAASrM,EAASwgD,GACxB,QAAer1D,IAAXkhB,EACA,OAAOA,EAGX,MAAMo0C,EAAaC,EAAiBF,GACpC,GAAIC,IAAeD,EACf,OAGJA,EAAYC,GAIb,SAASC,EAAiBC,GAC7B,OAAOA,EAAWtyD,OAAO,EAAGc,KAAK4C,IAAI6uD,EAAcD,GAAaA,EAAWvzD,YAAY,SAGpF,SAASwzD,EAAcD,GAC1B,GAAIA,EAAWntB,OAAO,KAAO,MAAU,CACnC,GAAImtB,EAAWntB,OAAO,KAAO,MACzB,OAAO,EAEX,MAAMqtB,EAAKF,EAAWz4D,QAAQ,MAAU,GACxC,GAAI24D,EAAK,EACL,OAAO,EAEX,MAAMC,EAAKH,EAAWz4D,QAAQ,MAAU24D,EAAK,GAC7C,OAAIC,EAAK,EACED,EAAK,EAETC,EAAK,EAEhB,MAA6B,MAAzBH,EAAWntB,OAAO,IACdmtB,EAAWntB,OAAO,KAAO,MAClB,EAGR,EAGJ,SAASutB,EAAkBJ,GAC9B,MAAMK,EAAiBC,EAAiBN,GAClCO,EAAaN,EAAcI,GAC3BnjD,EAAOmjD,EAAenuB,UAAU,EAAGquB,GACnCC,EAAOH,EAAenuB,UAAUquB,GAAYtnD,MAAM,OAKxD,OAJIunD,EAAK95D,OAAS,IAAM85D,EAAKA,EAAK95D,OAAS,IACvC85D,EAAK7a,MAGF8a,EAAqB,CAACvjD,KAASsjD,IAGnC,SAASC,EAAqBC,GACjC,IAAKvG,EAAKuG,GACN,MAAO,GAKX,MAAMC,EAAU,CAACD,EAAW,IAC5B,IAAK,IAAI16D,EAAI,EAAGA,EAAI06D,EAAWh6D,OAAQV,IAAK,CACxC,MAAM46D,EAAYF,EAAW16D,GAC7B,GAAK46D,GAA2B,MAAdA,EAAlB,CAIA,GAAkB,OAAdA,EACA,GAAID,EAAQj6D,OAAS,GACjB,GAAoC,OAAhCi6D,EAAQA,EAAQj6D,OAAS,GAAa,CACtCi6D,EAAQhb,MACR,eAED,GAAIgb,EAAQ,GACf,SAGRA,EAAQ55D,KAAK65D,IAGjB,OAAOD,EAGJ,SAASE,EAAsBH,GAClC,OAA0B,IAAtBA,EAAWh6D,OACJ,GAIJ45D,GADMI,EAAW,IAAMI,GAAiCJ,EAAW,KAC3CA,EAAWp3D,MAAM,GAAGpC,KAAK,QAGrD,SAAS65D,EAAgBC,EAAiBC,GAC7C,IAAKD,EAAQE,WAAWJ,GAAiCG,IACrD,OAGJ,MAAME,EAAiBf,EAAkBY,GAGzC,IAAII,EAAe,IACnB,IAAK,IAAIp7D,EAHoBo6D,EAAkBa,GAGbv6D,OAAQV,EAAIm7D,EAAez6D,OAAQV,IACjEo7D,GAAgB,MAAWD,EAAen7D,GAG9C,OAAOo7D,EAIJ,SAASC,EAAgBC,EAAgBN,EAAiBO,GAC7D,IAAKP,EAAQE,WAAWK,GACpB,OAGJ,MAAMJ,EAAiBf,EAAkBY,GAEzC,IAAIQ,EAAUD,EAEd,IAAK,IAAIv7D,EAHoBo6D,EAAkBmB,GAGb76D,OAAQV,EAAIm7D,EAAez6D,OAAQV,IACjEw7D,EAAUC,GAAaD,EAASL,EAAen7D,IAC1Cs7D,EAAGI,WAAWF,IACfF,EAAGK,UAAUH,IA1IzB,SAAiB7B,GACG,EAAA1/C,GAAhB,SAAmBjX,GACf,MAAM0d,EAAsB1d,EAC5B,OAAO0d,KAAeA,EAAUk7C,gBAAkBl7C,EAAUm7C,QAHpE,CAAiBlC,MAAQ,KA+JzB,MAAMmC,EAAgC,MAAb,MAAmB,KAAO,IAC5C,SAASxB,EAAiBN,GAC7B,GAAIA,EAAWpuD,SAASkwD,GAAmB,CACvC,MAAMC,EAAkB,SACxB,OAAO/B,EAAW3uD,QAAQ0wD,EAAiB,OAG/C,OAAO/B,EAaJ,SAASgC,GAAavnD,KAAiBwnD,GAC1C,OAAOC,GAAc/H,EAAK8H,GAASR,GAAahnD,KAASwnD,GAAS3B,EAAiB7lD,IAGhF,SAASgnD,GAAazB,KAAuBiC,GAC5CjC,IACAA,EAAaM,EAAiBN,IAGlC,IAAK,IAAIoB,KAAgBa,EAChBb,IAILA,EAAed,EAAiBc,GAK5BpB,EAHCA,GAA8C,IAAhCC,EAAcmB,GAGhBN,GAAiCd,GAAcoB,EAF/CA,GAMrB,OAAOpB,EA0BJ,SAASmC,GAAatxB,EAAgBuxB,EAAeC,EAAqC/C,GAQ7F,GAPgC,iBAArB+C,GACPxxB,EAAS4wB,GAAaY,EAAkBxxB,GACxCuxB,EAAQX,GAAaY,EAAkBD,IACJ,kBAArBC,IACd/C,EAAa+C,QAGF73D,IAAXqmC,QAAkCrmC,IAAV43D,EACxB,OAAO,EAEX,GAAIvxB,IAAWuxB,EACX,OAAO,EAGX,MAAME,EAAmBlC,EAAkBvvB,GACrC0xB,EAAkBnC,EAAkBgC,GAE1C,GAAIG,EAAgB77D,OAAS47D,EAAiB57D,OAC1C,OAAO,EAGX,MAAM87D,EAA4BlD,EAAaC,EAA+BC,EAC9E,IAAK,IAAIx5D,EAAI,EAAGA,EAAIs8D,EAAiB57D,OAAQV,IAEzC,KAD+B,IAANA,EAAUu5D,EAA+BiD,GAC5CF,EAAiBt8D,GAAIu8D,EAAgBv8D,IACvD,OAAO,EAIf,OAAO,EA2BJ,SAASy8D,GACZhoD,EACApI,EACAqwD,EACApD,GAEA,MAAMqD,OACan4D,IAAfk4D,QAA2Cl4D,IAAf80D,EACtBsD,GAAwBnoD,EAAMioD,EAAYpD,GAC1CsD,GAAwBnoD,GAElC,OAAOkoD,EAAUloD,EAAKnR,MAAM,EAAGmR,EAAK/T,OAASi8D,EAAQj8D,SAAW2L,EAAI6uD,WAAW,KAAO7uD,EAAM,IAAMA,GAAOoI,EA4BtG,SAASmoD,GACZnoD,EACAioD,EACApD,GAIA,GAAIoD,EACA,OAmaR,SACIjoD,EACAioD,EACAG,GAEA,GAA0B,iBAAfH,EACP,OAAOI,GAAwBroD,EAAMioD,EAAYG,IAA2B,GAEhF,IAAK,MAAME,KAAaL,EAAY,CAChC,MAAMh3C,EAASo3C,GAAwBroD,EAAMsoD,EAAWF,GACxD,GAAIn3C,EACA,OAAOA,EAGf,MAAO,GAjbIs3C,CACHC,GAAgCxoD,GAChCioD,EACApD,EAAaC,EAA+BC,GAGpD,MAAM0D,EA0CH,SAAyBlD,EAAoB0C,EAAyCpD,GAKzF,GADmBW,EAHnBD,EAAaM,EAAiBN,MAIXA,EAAWt5D,OAC1B,MAAO,GAMX,MAAMqR,GADNioD,EAAaiD,GAAgCjD,IACrB12D,MAAMkF,KAAK4C,IAAI6uD,EAAcD,GAAaA,EAAWvzD,YAAY,OAAY,IAMrG,OAAmEsL,EA5D9CorD,CAAgB1oD,GAC/B2oD,EAAiBF,EAAaz2D,YAAY,KAChD,OAAI22D,GAAkB,EACXF,EAAahxB,UAAUkxB,GAE3B,GA+EJ,SAASC,GACZC,EACA1nD,EACA2nD,GAgBA,OAdA,EACItD,EAAcqD,GAAiB,GAAMrD,EAAcrkD,GAAM,EACzD,0DAqWR,SACI7S,EACA6S,EACAinD,EACAW,GAEA,MAAMC,EAAiBrD,EAAkBr3D,GACnC26D,EAAetD,EAAkBxkD,GAEvC,IAAIpU,EACJ,IAAKA,EAAQ,EAAGA,EAAQi8D,EAAe/8D,QAAUc,EAAQk8D,EAAah9D,SAGvC,IAAVc,EAAc+3D,EAA+BsD,GAFxCW,EAAqBC,EAAej8D,IACtCg8D,EAAqBE,EAAal8D,KAFoBA,KAS9E,GAAc,IAAVA,EACA,OAAOk8D,EAGX,MAAMhD,EAAagD,EAAap6D,MAAM9B,GAChCmU,EAAqB,GAC3B,KAAOnU,EAAQi8D,EAAe/8D,OAAQc,IAClCmU,EAAS5U,KAAK,MAElB,MAAO,CAAC,MAAO4U,KAAa+kD,GA5XLiD,CACnBL,EACA1nD,EAH2D,kBAArC2nD,GAAiDA,EAI1DhE,EAA+BC,EALA,mBAArC+D,EAAkDA,EAAmC/J,GAe7F,SAASoK,GAA0BrzD,EAAWnG,GACjD,OAAOy5D,GAAmBtzD,EAAGnG,EAAGg1D,GAM7B,SAAS0E,GAA4BvzD,EAAWnG,GACnD,OAAOy5D,GAAmBtzD,EAAGnG,EAAG80D,GAG7B,SAAS4B,GAAiCd,GAC7C,OAAK+D,GAA8B/D,GAI5BA,EAHIA,EAAa,MAMrB,SAAS+D,GAA8B/D,GAC1C,GAA0B,IAAtBA,EAAWt5D,OACX,OAAO,EAGX,MAAMksC,EAAKotB,EAAWz5D,WAAWy5D,EAAWt5D,OAAS,GACrD,OAAc,KAAPksC,GAA4B,KAAPA,EAGzB,SAASqwB,GAAgCjD,GAC5C,OAAK+D,GAA8B/D,GAG5BA,EAAWtyD,OAAO,EAAGsyD,EAAWt5D,OAAS,GAFrCs5D,EAKR,SAASgE,GAAiBC,EAAkBC,GAAoB,GACnE,IAAKA,EACD,OAAO,UAAaD,GAIxB,MAAME,GADNF,EAAWG,GAAYH,IACQ18D,QAAQ,KACvC,OAAO08D,EAASv2D,OAAOy2D,GAGpB,SAASC,GAAYpE,GACxB,OAAO,WAAcA,GAGlB,SAASqE,GAAmBJ,EAAkBC,GAAoB,GACrE,MAAM7xD,EAAM2xD,GAAiBC,EAAUC,GACvC,OAAOD,EAASv2D,OAAO,EAAGu2D,EAASv9D,OAAS2L,EAAI3L,QAG7C,SAASw7D,GAAclC,GAC1B,OAAOM,EAAiB,YAAeN,IAGpC,SAASsE,GAAYhD,EAAgB7mD,G,QACxC,OAAuC,QAAhC,EAAiB,QAAjB,EAAA8pD,GAAQjD,EAAI7mD,UAAK,eAAE6pD,qBAAa,SAGpC,SAASE,GAAOlD,EAAgB7mD,G,QACnC,OAAkC,QAA3B,EAAiB,QAAjB,EAAA8pD,GAAQjD,EAAI7mD,UAAK,eAAE+pD,gBAAQ,SAG/B,SAASD,GAAQjD,EAAgB7mD,GACpC,IACI,OAAO6mD,EAAGmD,SAAShqD,GACrB,MAAO9K,GACL,QAID,SAAS+0D,GAAYpD,EAAgB7mD,GACxC,IACI,OAAO6mD,EAAGqD,aAAalqD,GACzB,MAAO9K,GACL,QAID,SAASi1D,GAAqBtD,EAAgB7mD,GACjD,IACI,OAAOoqD,GAAmCvD,EAAGwD,mBAAmBrqD,GAAQ,KAAM6mD,EAAI7mD,GACpF,MAAO9K,GACL,MAAO,CAAEo1D,MAAO,GAAIC,YAAa,KAKlC,SAASH,GACZI,EACA3D,EACA7mD,GAEA,MAAM6Z,EAAU2wC,EAAWC,MAAK,CAAC30D,EAAGnG,IAC5BmG,EAAEwH,KAAO3N,EAAE2N,MACH,EACDxH,EAAEwH,KAAO3N,EAAE2N,KACX,EAEA,IAGTgtD,EAAkB,GAClBC,EAAwB,GAC9B,IAAK,MAAMG,KAAS7wC,EAGhB,GAAmB,MAAf6wC,EAAMptD,MAA+B,OAAfotD,EAAMptD,KAIhC,GAAIotD,EAAMX,SACNO,EAAMh+D,KAAKo+D,EAAMptD,WACd,GAAIotD,EAAMb,cACbU,EAAYj+D,KAAKo+D,EAAMptD,WACpB,GAAIotD,EAAMC,iBAAkB,CAC/B,MACMC,EAAOd,GAAQjD,EADHG,GAAahnD,EAAM0qD,EAAMptD,QAEvCstD,aAAI,EAAJA,EAAMb,UACNO,EAAMh+D,KAAKo+D,EAAMptD,OACVstD,aAAI,EAAJA,EAAMf,gBACbU,EAAYj+D,KAAKo+D,EAAMptD,MAInC,MAAO,CAAEgtD,QAAOC,eA6Fb,SAASM,GAAYC,EAAkBC,GAC1C,IAAIC,EAxFD,SAAiCF,EAAkBC,GACtD,IAAIE,EAAexD,GAAcT,GAAa8D,EAAUC,IACnDE,EAAaC,SAAS,QAAWD,EAAaC,SAAS,UACxDD,EAAe5E,GAAiC4E,IAGpD,MAAMvE,EAAiBf,EAAkBsF,GAEnCE,EAAmBC,KACnBC,EAA8B,IAAIF,MAAqBA,QAAuBA,SAC9EG,EAA2B,IAAIC,OAAO,WAAWJ,KAAqB,KAGxEzE,EAAez6D,OAAS,IACxBy6D,EAAe,GAAK8B,GAAgC9B,EAAe,KAGvE,IAAIsE,EAAe,GACfQ,GAAiB,EAErB,IAAK,IAAIrF,KAAaO,EACA,OAAdP,EACA6E,GAAgBK,GAEXG,IACDrF,EAAYgF,EAAmBhF,GAGnC6E,GAAgB7E,EAAUvvD,QAAQ00D,GAA2B5I,GAC3C,MAAVA,EACO,KAAKyI,MACK,MAAVzI,EACA,KAAKyI,KAGL,KAAOzI,IAItB8I,GAAiB,GAIzB,OAAOR,EA6CYS,CAAwBX,EAAUC,GAErDC,EAAe,KAAKA,QADKI,QAGzB,MAAMhE,EAAS,IAAImE,OAAOP,GAG1B,MAAO,CACH7D,aAjDD,SAAyB2D,EAAkBC,GAC9C,IAAIE,EAAexD,GAAcT,GAAa8D,EAAUC,IACnDE,EAAaC,SAAS,QAAWD,EAAaC,SAAS,UACxDD,EAAe5E,GAAiC4E,IAGpD,MAAMvE,EAAiBf,EAAkBsF,GAOzC,GAJIvE,EAAez6D,OAAS,IACxBy6D,EAAe,GAAK8B,GAAgC9B,EAAe,KAGzC,IAA1BA,EAAez6D,SAAiBy6D,EAAe,GAC/C,OAAO,MAGX,IAAIS,EAAe,GACfqE,GAAiB,EAErB,IAAK,IAAIrF,KAAaO,EAAgB,CAClC,GAAkB,OAAdP,EACA,MAEA,GAAIA,EAAUzD,MAAM,QAChB,MAGC8I,IACDrF,EAAY,MAAWA,GAG3BgB,GAAgBhB,EAChBqF,GAAiB,EAIzB,OAAOrE,EAScuE,CAAgBZ,EAAUC,GAI3C3D,UAID,SAASgE,KAEZ,MAAoB,MAAb,MAAmB,IAAM,OAc7B,SAASO,GAAe3rD,GAC3B,MAAM8lD,EAAaN,EAAcxlD,GACjC,OAAO8lD,EAAa,GAAKA,IAAe9lD,EAAK/T,OAIjD,SAASm9D,GAAmBtzD,EAAWnG,EAAWi8D,GAC9C,GAAI91D,IAAMnG,EACN,OAAO,EAEX,QAAUI,IAAN+F,EACA,SAEJ,QAAU/F,IAANJ,EACA,OAAO,EAKX,MAAMk8D,EAAQ/1D,EAAE2hC,UAAU,EAAG+tB,EAAc1vD,IACrCg2D,EAAQn8D,EAAE8nC,UAAU,EAAG+tB,EAAc71D,IACrCshB,EAASwzC,EAA8BoH,EAAOC,GACpD,GAAe,IAAX76C,EACA,OAAOA,EAIX,MAAMk6C,EAAmBC,KACnBW,EAA4B,IAAIR,OAAO,MAAMJ,cAA6BA,MAI1Ea,EAAQl2D,EAAE2hC,UAAUo0B,EAAM5/D,QAC1BggE,EAAQt8D,EAAE8nC,UAAUq0B,EAAM7/D,QAChC,IAAK8/D,EAA0B9jB,KAAK+jB,KAAWD,EAA0B9jB,KAAKgkB,GAC1E,OAAOL,EAAkBI,EAAOC,GAKpC,MAAMC,EAAcvG,EAAkB7vD,GAChCq2D,EAAcxG,EAAkBh2D,GAChCy8D,EAAer4D,KAAKC,IAAIk4D,EAAYjgE,OAAQkgE,EAAYlgE,QAC9D,IAAK,IAAIV,EAAI,EAAGA,EAAI6gE,EAAc7gE,IAAK,CACnC,MAAM0lB,EAAS26C,EAAkBM,EAAY3gE,GAAI4gE,EAAY5gE,IAC7D,GAAe,IAAX0lB,EACA,OAAOA,EAIf,OP/sBG,SAAuBnb,EAAuBnG,GACjD,OAAOsvD,EAAwBnpD,EAAGnG,GO8sB3B,CAAcu8D,EAAYjgE,OAAQkgE,EAAYlgE,QAoBzD,SAASo8D,GACLroD,EACAsoD,EACAF,GAKA,GAHKE,EAAU7B,WAAW,OACtB6B,EAAY,IAAMA,GAElBtoD,EAAK/T,QAAUq8D,EAAUr8D,QAA8D,KAApD+T,EAAKlU,WAAWkU,EAAK/T,OAASq8D,EAAUr8D,QAAyB,CACpG,MAAMogE,EAAgBrsD,EAAKnR,MAAMmR,EAAK/T,OAASq8D,EAAUr8D,QACzD,GAAIm8D,EAAuBiE,EAAe/D,GACtC,OAAO+D,GA2DZ,SAASC,GAAiBzF,EAAgB0F,GAC7C,OAAO1F,EAAG2F,kBAGP,SAA4BD,GAE/B,IAAIE,EAAgBhF,GADR1G,EAAIn+C,MAAM2pD,GACgBvsD,MAQtC,OAJIysD,EAAc/J,MAAM,oBACpB+J,EAAgBA,EAAcx5D,OAAO,IAGlCw5D,EAbqBC,CAAmBH,IAgB5C,SAAS,GAAiB1F,EAAgB7mD,GAC7C,OAAO6mD,EAAG8F,OAAO9F,EAAG+F,oBAAoB5sD,IAMrC,SAAS6sD,GAAkBhG,EAAgB7mD,GAC9C,OAOG,SAAmC6mD,GACtC,YAA2B92D,IAAvBk1D,IAIJA,EAIG,SAA2C4B,GAC9C,IAAIiG,EACJ,IAEI,IAAIxvD,EACAyvD,EACJ,GACIzvD,EAAO,GAAGmmD,EAAe,QACzBqJ,EAAW,OAAUjG,EAAGmG,SAAU1vD,GAClCyvD,EAAkB,OAAUlG,EAAGmG,SAAU1vD,EAAKonD,qBACzCmC,EAAGI,WAAW6F,IAAajG,EAAGI,WAAW8F,IAKlD,OAHAlG,EAAGoG,cAAcH,EAAU,GAAI,SAGvBjG,EAAGI,WAAW8F,GACxB,MAAO73D,GACL,OAAO,E,QAEH43D,GAEAjG,EAAGqG,WAAWJ,IAzBDK,CAAkCtG,IAH5C5B,EATPmI,CAA0BvG,GACnB7mD,EAGJA,EAAKjP,cCj4BhB,IAAYs8D,IAAZ,SAAYA,GAIR,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,uBACA,uBAfJ,CAAYA,QAAa,KAkBlB,MAAMC,GAA4BD,GAAcE,MAEhD,SAASC,GAAgB/+C,GAG5B,MAAO,GAFeA,GAAW,EAAK,OACP,IAAVA,IAIlB,SAASg/C,GAAkBC,GAC9B,MAAMlvD,EAAQkvD,EAAUlvD,MAAM,KAC9B,KAAIA,EAAMvS,OAAS,GAOnB,OAGG,SAA+B0hE,EAAeC,GACjD,GAAIhuD,MAAM+tD,IAAU/tD,MAAMguD,GACtB,OAGJ,GAAID,EAAQ,KAAOC,EAAQ,IACvB,OAGJ,MAAMr/D,EAAgB,IAARo/D,EAAcC,EAC5B,QAA6B79D,IAAzBs9D,GAAc9+D,IAKRA,GAQQ,GAAM,EAJxB,OAAOA,EAtBAs/D,CAHc76D,SAASwL,EAAM,GAAI,IACnBxL,SAASwL,EAAM,GAAI,KC3B5C,IAAKsvD,IAAL,SAAKA,GAED,6CAGA,iDAGA,uCAIA,qCAZJ,CAAKA,QAAY,KAgBjB,MAAMC,GAA+B,IAC/BC,GAA2C,IAAIrhE,MAAMohE,IAIrDE,GAAsC,GAGtCC,GAAyD,GAG/D,IAAIC,IAAgC,EAE7B,SAASC,GAAsBjxB,EAAcsN,GAChD,GAAItN,EAAO4wB,GACP,OAAOC,GAAyB7wB,KAAU2wB,GAAaO,oBAS3D,IAAIC,EAOJ,OAZKH,KACDI,IAA4B,GAC5BJ,IAAgC,GAKhCG,OADav+D,IAAb06C,EACe+jB,GAAiBrxB,EAAMsN,GAEvBwjB,GAAmB9wB,GAG/BmxB,IAAiBR,GAAaO,oBAGlC,SAASI,GAAiBtxB,EAAcsN,GAC3C,OAAItN,EAAO4wB,GAEHC,GAAyB7wB,KAAU2wB,GAAaO,qBAChDL,GAAyB7wB,KAAU2wB,GAAaY,gBAKnDP,KACDI,IAA4B,GAC5BJ,IAAgC,QAGnBp+D,IAAb06C,EACO+jB,GAAiBrxB,EAAMsN,GAI9BwjB,GAAmB9wB,KAAU2wB,GAAaO,qBAC1CJ,GAAmB9wB,KAAU2wB,GAAaY,gBA8B3C,SAASC,GAAUx2B,GACtB,OAAQA,GAAM,IAAWA,GAAM,IAAmB,KAAPA,EAGxC,SAASy2B,GAAMz2B,GAClB,OAAOw2B,GAAUx2B,IAAQA,GAAM,IAAUA,GAAM,KAAYA,GAAM,IAAUA,GAAM,IAAkB,KAAPA,EAGzF,SAAS02B,GAAQ12B,GACpB,OAAQA,GAAM,IAAWA,GAAM,IAAmB,KAAPA,EAGxC,SAAS22B,GAAS32B,GACrB,OAAc,KAAPA,GAAyB,KAAPA,GAAyB,KAAPA,EAG/C,SAASq2B,GAAiBrxB,EAAcsN,GACpC,GAAIwjB,GAAmB9wB,KAAU2wB,GAAaiB,cAC1C,OAAOjB,GAAakB,kBAGxB,MAAMC,EAAiBf,GAAkB/wB,GACzC,OAAK8xB,EAIEA,EAAexkB,GAHXqjB,GAAakB,kBAQ5B,MAUME,GAA6B,CAV6B,C,GAE5D,KACA,KACA,KACA,KACA,MACA,OC1IwC,CACxC,CAAC,GAAI,IACL,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA+C+B,CACxC,CAAC,GAAI,KACL,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,IAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA4C+B,CACxC,IACA,IACA,IACA,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,MAGwC,CACxC,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MA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C,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,SA8d0C,CAC1D,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,MACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,OAEJ,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO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CP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OA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","file":"pyright-main-99cf7dc02c2324815d13.worker.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["pyright/node_modules/base64-js/index.js","pyright/node_modules/buffer/index.js","pyright/node_modules/ieee754/index.js","pyright/node_modules/path-browserify/index.js","pyright-internal/src/common/extensions.ts","pyright/node_modules/vscode-jsonrpc/browser.js","pyright/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright/node_modules/vscode-jsonrpc/lib/common/api.js","pyright/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright/node_modules/vscode-jsonrpc/lib/common/events.js","pyright/node_modules/vscode-jsonrpc/lib/common/is.js","pyright/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright/node_modules/vscode-languageserver-protocol/browser.js","pyright/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright/node_modules/vscode-languageserver/browser.js","pyright/node_modules/vscode-languageserver/lib/browser/main.js","pyright/node_modules/vscode-languageserver/lib/common/api.js","pyright/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright/node_modules/vscode-languageserver/lib/common/configuration.js","pyright/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright/node_modules/vscode-languageserver/lib/common/moniker.js","pyright/node_modules/vscode-languageserver/lib/common/progress.js","pyright/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright/node_modules/vscode-languageserver/lib/common/server.js","pyright/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","pyright-internal/node_modules/@iarna/toml/lib/create-date.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime-float.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime.js","pyright-internal/node_modules/@iarna/toml/lib/create-time.js","pyright-internal/node_modules/@iarna/toml/lib/format-num.js","pyright-internal/node_modules/@iarna/toml/lib/parser.js","pyright-internal/node_modules/@iarna/toml/lib/toml-parser.js","pyright-internal/node_modules/@iarna/toml/parse-async.js","pyright-internal/node_modules/@iarna/toml/parse-pretty-error.js","pyright-internal/node_modules/@iarna/toml/parse-stream.js","pyright-internal/node_modules/@iarna/toml/parse-string.js","pyright-internal/node_modules/@iarna/toml/parse.js","pyright-internal/node_modules/@iarna/toml/stringify.js","pyright-internal/node_modules/@iarna/toml/toml.js","pyright-internal/node_modules/leven/index.js","pyright-internal/node_modules/vscode-jsonrpc/browser.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/api.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/events.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/is.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright-internal/node_modules/vscode-languageserver-protocol/browser.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright-internal/node_modules/vscode-languageserver/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright-internal/node_modules/vscode-languageserver/lib/common/configuration.js","pyright-internal/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright-internal/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver/lib/common/moniker.js","pyright-internal/node_modules/vscode-languageserver/lib/common/progress.js","pyright-internal/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright-internal/node_modules/vscode-languageserver/lib/common/server.js","pyright-internal/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright-internal/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","webpack/bootstrap","webpack/runtime/create fake namespace object","webpack/runtime/compat get default export","webpack/runtime/define property getters","webpack/runtime/ensure chunk","webpack/runtime/get javascript chunk filename","webpack/runtime/global","webpack/runtime/hasOwnProperty shorthand","webpack/runtime/make namespace object","webpack/runtime/publicPath","webpack/runtime/importScripts chunk loading","pyright-internal/src/common/core.ts","pyright-internal/src/common/collectionUtils.ts","pyright-internal/src/common/pathConsts.ts","pyright-internal/node_modules/vscode-uri/lib/esm/index.js","pyright-internal/src/common/debug.ts","pyright-internal/src/common/crypto.ts","pyright-internal/src/common/stringUtils.ts","pyright-internal/src/common/pathUtils.ts","pyright-internal/src/common/pythonVersion.ts","pyright-internal/src/parser/characters.ts","pyright-internal/src/parser/unicode.ts","pyright-internal/src/analyzer/pyTypedUtils.ts","pyright-internal/src/common/fileSystem.ts","pyright-internal/src/pyrightFileSystem.ts","pyright-internal/src/readonlyAugmentedFileSystem.ts","pyright-internal/src/common/cancellationUtils.ts","pyright-internal/src/common/textRange.ts","pyright-internal/src/analyzer/codeFlowTypes.ts","pyright-internal/src/common/positionUtils.ts","pyright-internal/src/analyzer/analyzerNodeInfo.ts","pyright-internal/src/analyzer/symbolNameUtils.ts","pyright-internal/src/analyzer/importStatementUtils.ts","pyright-internal/src/analyzer/parentDirectoryCache.ts","pyright-internal/src/analyzer/pythonPathUtils.ts","pyright-internal/src/analyzer/importResolver.ts","pyright-internal/src/apidocsProtocol.ts","pyright-internal/src/common/workersHost.ts","pyright-internal/src/common/timing.ts","pyright-internal/src/analyzer/analysis.ts","pyright-internal/src/common/console.ts","pyright-internal/src/common/logTracker.ts","pyright-internal/src/analyzer/declaration.ts","pyright-internal/src/parser/parseNodes.ts","pyright-internal/src/analyzer/parseTreeWalker.ts","pyright-internal/src/analyzer/parseTreeUtils.ts","pyright-internal/src/analyzer/declarationUtils.ts","pyright-internal/src/analyzer/docStringUtils.ts","pyright-internal/src/analyzer/docStringConversion.ts","pyright-internal/src/analyzer/scopeUtils.ts","pyright-internal/src/analyzer/types.ts","pyright-internal/src/analyzer/symbol.ts","pyright-internal/src/analyzer/symbolUtils.ts","pyright-internal/src/analyzer/typeVarMap.ts","pyright-internal/src/analyzer/typeUtils.ts","pyright-internal/src/common/diagnosticRules.ts","pyright-internal/src/analyzer/sourceMapper.ts","pyright-internal/src/common/diagnostic.ts","pyright-internal/src/localization/localize.ts","pyright-internal/src/analyzer/typedDicts.ts","pyright-internal/src/analyzer/typeDocStringUtils.ts","pyright-internal/src/analyzer/typePrinter.ts","pyright-internal/src/languageService/documentSymbolCollector.ts","pyright-internal/src/languageService/tooltipUtils.ts","pyright-internal/src/languageService/completionProvider.ts","pyright-internal/src/languageService/autoImporter.ts","pyright-internal/src/languageService/callHierarchyProvider.ts","pyright-internal/src/languageService/referencesProvider.ts","pyright-internal/src/languageService/renameModuleProvider.ts","pyright-internal/node_modules/vscode-languageserver-textdocument/lib/esm/main.js","pyright-internal/src/common/configOptions.ts","pyright-internal/src/languageService/definitionProvider.ts","pyright-internal/src/parser/tokenizerTypes.ts","pyright-internal/src/analyzer/circularDependency.ts","pyright-internal/src/common/diagnosticSink.ts","pyright-internal/src/common/textRangeCollection.ts","pyright-internal/src/analyzer/aliasDeclarationUtils.ts","pyright-internal/src/languageService/documentSymbolProvider.ts","pyright-internal/src/languageService/importSorter.ts","pyright-internal/src/parser/stringTokenUtils.ts","pyright-internal/src/parser/characterStream.ts","pyright-internal/src/parser/tokenizer.ts","pyright-internal/src/parser/parser.ts","pyright-internal/src/analyzer/scope.ts","pyright-internal/src/analyzer/staticExpressions.ts","pyright-internal/src/analyzer/binder.ts","pyright-internal/src/analyzer/typeGuards.ts","pyright-internal/src/analyzer/patternMatching.ts","pyright-internal/src/analyzer/checker.ts","pyright-internal/src/analyzer/commentUtils.ts","pyright-internal/src/analyzer/parseTreeCleaner.ts","pyright-internal/src/analyzer/testWalker.ts","pyright-internal/src/analyzer/sourceFile.ts","pyright-internal/src/languageService/hoverProvider.ts","pyright-internal/src/languageService/documentHighlightProvider.ts","pyright-internal/src/languageService/signatureHelpProvider.ts","pyright-internal/src/languageService/quickActions.ts","pyright-internal/src/analyzer/tracePrinter.ts","pyright-internal/src/analyzer/typeCache.ts","pyright-internal/src/analyzer/namedTuples.ts","pyright-internal/src/analyzer/dataClasses.ts","pyright-internal/src/analyzer/functionTransform.ts","pyright-internal/src/analyzer/properties.ts","pyright-internal/src/analyzer/typeEvaluator.ts","pyright-internal/src/analyzer/constructorTransform.ts","pyright-internal/src/analyzer/codeFlowEngine.ts","pyright-internal/src/analyzer/typeStubWriter.ts","pyright-internal/src/analyzer/program.ts","pyright-internal/src/analyzer/typeEvaluatorWithTracker.ts","pyright-internal/src/backgroundThreadBase.ts","pyright-internal/src/common/fileBasedCancellationUtils.ts","pyright-internal/src/backgroundAnalysisBase.ts","pyright-internal/src/common/commandLineOptions.ts","pyright-internal/src/common/deferred.ts","pyright-internal/src/languageService/analyzerServiceExecutor.ts","pyright-internal/src/commands/createTypeStub.ts","pyright-internal/src/commands/quickActionCommand.ts","pyright-internal/src/common/textEditUtils.ts","pyright-internal/src/commands/restartServer.ts","pyright-internal/src/commands/commandController.ts","pyright-internal/src/common/host.ts","pyright-internal/src/analyzer/backgroundAnalysisProgram.ts","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/parser.js","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/scanner.js","pyright-internal/src/analyzer/service.ts","pyright-internal/src/commands/commandResult.ts","pyright-internal/src/common/progressReporter.ts","pyright-internal/src/common/uriParser.ts","pyright-internal/src/languageServerBase.ts","pyright-internal/src/tests/harness/utils.ts","pyright-internal/src/tests/harness/vfs/pathValidation.ts","pyright-internal/src/tests/harness/vfs/filesystem.ts","pyright-internal/src/workspaceMap.ts","pyright/src/browser-server.ts","pyright-internal/src/common/workspaceEditUtils.ts","pyright-internal/src/languageService/codeActionProvider.ts","pyright/src/browserWorkersHost.ts","pyright/src/worker.ts"],"names":["exports","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","i","arr","Arr","_byteLength","curByte","len","revLookup","charCodeAt","fromByteArray","uint8","length","extraBytes","parts","maxChunkLength","len2","push","encodeChunk","lookup","join","Uint8Array","Array","code","Error","indexOf","start","end","num","output","base64","ieee754","customInspectSymbol","Symbol","Buffer","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","Object","setPrototypeOf","prototype","arg","encodingOrOffset","TypeError","allocUnsafe","from","value","string","encoding","isEncoding","actual","write","slice","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","buffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","b","obj","isBuffer","checked","undefined","numberIsNaN","type","isArray","data","fromObject","toPrimitive","assertSize","size","array","toString","mustMatch","arguments","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","this","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","bidirectionalIndexOf","val","dir","arrayIndexOf","call","lastIndexOf","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","base64Write","ucs2Write","units","c","hi","lo","utf16leToBytes","Math","min","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","apply","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","e","typedArraySupport","console","error","defineProperty","enumerable","get","poolSize","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","set","swap16","swap32","swap64","toLocaleString","equals","inspect","max","replace","trim","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","errors","E","sym","getMessage","Base","constructor","super","writable","configurable","name","stack","message","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","abs","INVALID_BASE64_RE","Infinity","leadSurrogate","split","base64clean","src","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","NaN","rt","isNaN","log","LN2","assertPath","path","JSON","stringify","normalizeStringPosix","allowAboveRoot","lastSegmentLength","lastSlash","dots","lastSlashIndex","posix","resolve","cwd","resolvedPath","resolvedAbsolute","normalize","isAbsolute","trailingSeparator","joined","relative","to","fromStart","fromEnd","fromLen","toStart","toLen","lastCommonSep","fromCode","_makeLong","dirname","hasRoot","matchedSlash","basename","extIdx","firstNonSlashEnd","extname","startDot","startPart","preDotState","format","pathObject","sep","root","base","_format","parse","delimiter","win32","module","Promise","ignoreErrors","catch","__createBinding","create","o","k","k2","__exportStar","p","hasOwnProperty","createMessageConnection","BrowserMessageWriter","BrowserMessageReader","default","install","api_1","AbstractMessageReader","context","_onData","Emitter","_messageListener","event","fire","addEventListener","fireError","onmessage","listen","callback","AbstractMessageWriter","errorCount","postMessage","handleError","reject","reader","writer","logger","options","NullLogger","ConnectionStrategy","is","connectionStrategy","ral_1","disposable_1","events_1","messageBuffer_1","MessageBuffer","AbstractMessageBuffer","asciiDecoder","TextDecoder","emptyBuffer","_encoding","TextEncoder","encode","decode","asNative","allocNative","ReadableStreamWrapper","socket","arrayBuffer","then","onClose","listener","Disposable","removeEventListener","onError","onEnd","onData","WritableStreamWrapper","send","close","_textEncoder","_ril","freeze","messageBuffer","applicationJson","encoder","charset","decoder","stream","asReadableStream","asWritableStream","timer","setTimeout","ms","args","clearTimeout","handle","setImmediate","clearImmediate","RIL","CancellationSenderStrategy","CancellationReceiverStrategy","ConnectionError","ConnectionErrors","LogTraceNotification","SetTraceNotification","TraceFormat","Trace","ProgressType","ConnectionOptions","WriteableStreamMessageWriter","MessageWriter","ReadableStreamMessageReader","MessageReader","CancellationToken","CancellationTokenSource","Event","ParameterStructures","NotificationType9","NotificationType8","NotificationType7","NotificationType6","NotificationType5","NotificationType4","NotificationType3","NotificationType2","NotificationType1","NotificationType0","NotificationType","ErrorCodes","ResponseError","RequestType9","RequestType8","RequestType7","RequestType6","RequestType5","RequestType4","RequestType3","RequestType2","RequestType1","RequestType0","RequestType","RAL","CancellationStrategy","messages_1","cancellation_1","messageReader_1","messageWriter_1","connection_1","Is","None","isCancellationRequested","onCancellationRequested","Cancelled","candidate","boolean","shortcutEvent","bind","dispose","MutableToken","_isCancelled","cancel","_emitter","_token","linkedMap_1","CancelNotification","ProgressNotification","StarRequestHandler","ConnectionState","func","warn","info","Off","Messages","Verbose","Text","cancelUndispatched","Message","createCancellationTokenSource","_","sendCancellation","conn","id","sendNotification","cleanup","receiver","sender","cancellationStrategy","messageReader","messageWriter","_logger","sequenceNumber","notificationSquenceNumber","unknownResponseSquenceNumber","version","starRequestHandler","requestHandlers","starNotificationHandler","notificationHandlers","progressHandlers","Map","tracer","messageQueue","LinkedMap","responsePromises","requestTokens","trace","traceFormat","state","New","errorEmitter","closeEmitter","unhandledNotificationEmitter","unhandledProgressEmitter","disposeEmitter","createRequestQueueKey","_message","isListening","Listening","isClosed","Closed","isDisposed","Disposed","closeHandler","triggerMessageQueue","shift","isRequestMessage","requestMessage","reply","resultOrError","method","startTime","jsonrpc","toJson","result","traceSendingResponse","replyError","params","logLSPMessage","traceReceivedRequest","element","requestHandler","handler","Date","now","tokenKey","cancellationSource","handlerResult","numberOfParams","InvalidParams","token","parameterStructures","byName","byPosition","promise","InternalError","replySuccess","MethodNotFound","handleRequest","isNotificationMessage","notificationHandler","source","traceReceivedNotification","handleNotification","isResponseMessage","responseMessage","key","responsePromise","timerStart","traceReceivedResponse","handleResponse","number","responseHandler","handleInvalidMessage","processMessageQueue","toCancel","strategy","response","delete","queue","addMessageToQueue","lspMessage","isLSPMessage","timestamp","throwIfClosedOrDisposed","undefinedToNull","param","nullToUndefined","isNamedParam","computeSingleParam","auto","computeMessageParams","connection","messageParams","paramStart","paramEnd","map","notificationMessage","traceSendingNotification","onNotification","onProgress","_type","has","sendProgress","onUnhandledProgress","sendRequest","throwIfNotListening","disposable","r","traceSendingRequest","MessageWriteError","onRequest","_value","_tracer","sendNotificationOrTraceOptions","_sendNotification","_traceFormat","onUnhandledNotification","onDispose","keys","forEach","AlreadyListening","throwIfListening","verbose","_disposable","CallbackList","add","bucket","_callbacks","_contexts","remove","foundCallbackWithDifferentContext","splice","invoke","callbacks","contexts","isEmpty","_options","_event","thisArgs","disposables","onFirstListenerAdd","_noop","onLastListenerRemove","stringArray","every","elem","Touch","LRUCache","First","AsOld","Last","AsNew","toStringTag","_map","_head","_tail","_size","_state","clear","_a","touch","item","next","previous","addItemLast","addItemFirst","removeItem","callbackfn","thisArg","current","iterator","done","values","entries","trimOld","newSize","currentSize","fromJSON","ratio","_limit","_ratio","checkTrim","peek","round","_chunks","_totalLength","append","chunk","toAppend","tryReadHeaders","chunkIndex","chunkBytesRead","row","_read","headers","header","index","tryReadBody","byteCount","resultOffset","chunkPart","ResolvedMessageReaderOptions","onPartialMessage","partialMessageEmitter","asError","fireClose","firePartialMessage","fromOptions","contentDecoder","contentDecoders","contentTypeDecoder","contentTypeDecoders","readable","_partialMessageTimeout","nextMessageLength","messageToken","timeout","partialMessageTimer","contentLength","body","setPartialMessageTimer","clearPartialMessageTimer","waitingTime","semaphore_1","ResolvedMessageWriterOptions","count","_b","contentTypeEncoder","contentEncoder","writeSemaphore","Semaphore","lock","async","doWrite","AbstractMessageSignature","ParseError","InvalidRequest","jsonrpcReservedErrorRangeStart","serverErrorStart","MessageReadError","ServerNotInitialized","UnknownErrorCode","jsonrpcReservedErrorRangeEnd","serverErrorEnd","kind","_parameterStructures","_ral","ral","capacity","_capacity","_active","_waiting","thunk","runNext","doRunNext","err","createProtocolConnection","browser_1","LSPErrorCodes","lspReservedErrorRangeStart","ContentModified","RequestCancelled","lspReservedErrorRangeEnd","vscode_jsonrpc_1","ProtocolNotificationType","ProtocolNotificationType0","ProtocolRequestType","ProtocolRequestType0","RegistrationType","CallHierarchyOutgoingCallsRequest","CallHierarchyIncomingCallsRequest","CallHierarchyPrepareRequest","ColorPresentationRequest","DocumentColorRequest","ConfigurationRequest","DeclarationRequest","WillDeleteFilesRequest","DidDeleteFilesNotification","DidRenameFilesNotification","WillRenameFilesRequest","DidCreateFilesNotification","WillCreateFilesRequest","FileOperationPatternKind","file","folder","FoldingRangeRequest","FoldingRangeKind","ImplementationRequest","DocumentLinkRequest","CodeLensRefreshRequest","CodeLensResolveRequest","CodeLensRequest","WorkspaceSymbolRequest","CodeActionResolveRequest","CodeActionRequest","DocumentSymbolRequest","DocumentHighlightRequest","ReferencesRequest","DefinitionRequest","SignatureHelpRequest","SignatureHelpTriggerKind","HoverRequest","CompletionResolveRequest","CompletionRequest","CompletionTriggerKind","PublishDiagnosticsNotification","WatchKind","FileChangeType","DidChangeWatchedFilesNotification","WillSaveTextDocumentWaitUntilRequest","WillSaveTextDocumentNotification","TextDocumentSaveReason","DidSaveTextDocumentNotification","DidCloseTextDocumentNotification","DidChangeTextDocumentNotification","TextDocumentContentChangeEvent","DidOpenTextDocumentNotification","TextDocumentSyncKind","TelemetryEventNotification","LogMessageNotification","ShowMessageRequest","ShowMessageNotification","MessageType","DidChangeConfigurationNotification","ExitNotification","ShutdownRequest","InitializedNotification","InitializeError","InitializeRequest","WorkDoneProgressOptions","TextDocumentRegistrationOptions","StaticRegistrationOptions","FailureHandlingKind","ResourceOperationKind","UnregistrationRequest","RegistrationRequest","DocumentSelector","DocumentFilter","MonikerRequest","MonikerKind","UniquenessLevel","LinkedEditingRangeRequest","ShowDocumentRequest","SemanticTokensRegistrationType","SemanticTokensRefreshRequest","SemanticTokensRangeRequest","SemanticTokensDeltaRequest","SemanticTokensRequest","TokenFormat","SemanticTokens","SemanticTokenModifiers","SemanticTokenTypes","WorkDoneProgressCancelNotification","WorkDoneProgressCreateRequest","WorkDoneProgress","SelectionRangeRequest","DidChangeWorkspaceFoldersNotification","WorkspaceFoldersRequest","TypeDefinitionRequest","ApplyWorkspaceEditRequest","ExecuteCommandRequest","PrepareRenameRequest","RenameRequest","PrepareSupportDefaultBehavior","DocumentOnTypeFormattingRequest","DocumentRangeFormattingRequest","DocumentFormattingRequest","DocumentLinkResolveRequest","protocol_implementation_1","protocol_typeDefinition_1","protocol_workspaceFolders_1","protocol_configuration_1","protocol_colorProvider_1","protocol_foldingRange_1","protocol_declaration_1","protocol_selectionRange_1","protocol_progress_1","protocol_callHierarchy_1","protocol_semanticTokens_1","protocol_showDocument_1","protocol_linkedEditingRange_1","protocol_fileOperations_1","protocol_moniker_1","language","scheme","pattern","Create","Rename","Delete","Abort","Transactional","TextOnlyTransactional","Undo","hasId","documentSelector","objectLiteral","workDoneProgress","hasWorkDoneProgress","unknownProtocolVersion","Warning","Info","Log","Full","Incremental","isIncremental","text","rangeLength","isFull","Manual","AfterDelay","FocusOut","Created","Changed","Deleted","Change","Invoked","TriggerCharacter","TriggerForIncompleteCompletions","ContentChange","Identifier","resultId","Relative","typedArray","check","integer","uinteger","Position","Range","Location","LocationLink","Color","ColorInformation","ColorPresentation","FoldingRange","DiagnosticRelatedInformation","DiagnosticSeverity","DiagnosticTag","CodeDescription","Diagnostic","Command","TextEdit","ChangeAnnotation","ChangeAnnotationIdentifier","AnnotatedTextEdit","TextDocumentEdit","CreateFile","RenameFile","DeleteFile","WorkspaceEdit","MIN_VALUE","MAX_VALUE","line","character","one","two","three","four","uri","defined","targetUri","targetRange","targetSelectionRange","originSelectionRange","red","green","blue","alpha","numberRange","color","label","textEdit","additionalTextEdits","startLine","endLine","startCharacter","endCharacter","location","Information","Hint","Unnecessary","Deprecated","href","severity","relatedInformation","codeDescription","title","command","_i","newText","insert","position","del","needsConfirmation","description","annotation","annotationId","textDocument","edits","OptionalVersionedTextDocumentIdentifier","overwrite","ignoreIfExists","oldUri","newUri","recursive","ignoreIfNotExists","changes","documentChanges","change","TextDocumentIdentifier","VersionedTextDocumentIdentifier","TextDocumentItem","MarkupKind","MarkupContent","CompletionItemKind","InsertTextFormat","CompletionItemTag","InsertReplaceEdit","InsertTextMode","CompletionItem","CompletionList","MarkedString","Hover","ParameterInformation","SignatureInformation","DocumentHighlightKind","DocumentHighlight","SymbolKind","SymbolTag","SymbolInformation","DocumentSymbol","CodeActionKind","CodeActionContext","CodeAction","CodeLens","FormattingOptions","DocumentLink","SelectionRange","TextEditChangeImpl","changeAnnotations","edit","assertChangeAnnotations","manage","all","ChangeAnnotations","annotations","_annotations","_counter","idOrAnnotation","nextId","WorkspaceChange","workspaceEdit","_this","_textEditChanges","_workspaceEdit","_changeAnnotations","textEditChange","initDocumentChanges","getTextEditChange","textDocumentEdit","initChanges","createFile","optionsOrAnnotation","operation","renameFile","deleteFile","languageId","PlainText","Markdown","Method","Function","Constructor","Field","Variable","Class","Interface","Module","Property","Unit","Value","Enum","Keyword","Snippet","File","Reference","Folder","EnumMember","Constant","Struct","Operator","TypeParameter","asIs","adjustIndentation","items","isIncomplete","fromPlainText","plainText","contents","documentation","parameters","Read","Write","Namespace","Package","Boolean","Key","Null","containerName","detail","selectionRange","children","deprecated","tags","Empty","QuickFix","Refactor","RefactorExtract","RefactorInline","RefactorRewrite","Source","SourceOrganizeImports","SourceFixAll","diagnostics","only","kindOrCommandOrEdit","checkKind","isPreferred","tabSize","insertSpaces","parent","TextDocument","EOL","mergeSort","left","right","leftIdx","rightIdx","content","FullTextDocument","lineCount","getText","positionAt","offsetAt","applyEdits","document","sortedEdits","diff","lastModifiedOffset","startOffset","endOffset","substring","_uri","_languageId","_version","_content","_lineOffsets","update","getLineOffsets","lineOffsets","isLineStart","ch","charAt","low","high","mid","lineOffset","nextLineOffset","createConnection","_shutdownReceived","watchDog","initialize","_params","exit","_code","arg1","arg2","arg3","arg4","factories","__brand","ProposedFeatures","SemanticTokensBuilder","semanticTokens_1","CallHierarchyFeature","vscode_languageserver_protocol_1","onPrepare","attachWorkDoneProgress","onIncomingCalls","attachPartialResultProgress","onOutgoingCalls","ConfigurationFeature","getConfiguration","_getConfiguration","section","FileOperationsFeature","onDidCreateFiles","onDidRenameFiles","onDidDeleteFiles","onWillCreateFiles","onWillRenameFiles","onWillDeleteFiles","LinkedEditingRangeFeature","onLinkedEditingRange","MonikerFeature","on","attachPartialResult","ProgressFeature","attachWorkDone","uuid_1","WorkDoneProgressReporterImpl","_connection","Instances","begin","percentage","cancellable","report","arg0","WorkDoneProgressServerReporterImpl","_source","NullProgressReporter","NullProgressServerReporter","ResultProgress","workDoneToken","_progressSupported","capabilities","window","progress","createWorkDoneProgress","generateUuid","ResultProgressReporterImpl","partialResultToken","SemanticTokensFeature","onDelta","onRange","_prevData","_id","_prevLine","_prevChar","_data","_dataLen","char","tokenType","tokenModifiers","pushLine","pushChar","previousResult","build","canBuildEdits","buildEdits","prevDataLength","dataLength","startIndex","endIndex","newData","deleteCount","combineFeatures","combineLanguagesFeatures","combineWorkspaceFeatures","combineWindowFeatures","combineClientFeatures","combineTracerFeatures","combineTelemetryFeatures","combineConsoleFeatures","_LanguagesImpl","BulkUnregistration","BulkRegistration","ErrorMessageTracker","TextDocuments","UUID","progress_1","configuration_1","workspaceFolders_1","callHierarchy_1","showDocument_1","fileOperations_1","linkedEditingRange_1","moniker_1","null2Undefined","configuration","_documents","_configuration","_onDidChangeContent","_onDidOpen","_onDidClose","_onDidSave","_onWillSave","onWillSaveWaitUntil","_willSaveWaitUntil","__textDocumentSync","onDidOpenTextDocument","td","toFire","onDidChangeTextDocument","contentChanges","onDidCloseTextDocument","onWillSaveTextDocument","reason","onWillSaveTextDocumentWaitUntil","onDidSaveTextDocument","_messages","sendErrors","showErrorMessage","RemoteConsoleImpl","rawAttach","_rawConnection","attach","fillServerCapabilities","_capabilities","RemoteWindowImpl","ShowDocumentFeature","actions","showWarningMessage","showInformationMessage","BulkRegistrationImpl","_registrations","_registered","Set","registerOptions","asRegistrationParams","registrations","BulkUnregistrationImpl","unregistrations","_unregistrations","unregistration","unregisterations","_error","disposeSingle","RemoteClientImpl","register","typeOrRegistrations","registerOptionsOrType","registerMany","registerSingle1","registerSingle2","isAttached","_result","unregisterSingle","registration","RemoteWorkspaceImpl","WorkspaceFoldersFeature","applyEdit","paramOrEdit","TracerImpl","_trace","TelemetryImpl","logEvent","LanguagesImpl","combine","telemetry","client","workspace","connectionFactory","remoteWindow","languages","allRemotes","asPromise","thenable","resolved","shutdownHandler","initializeHandler","exitHandler","protocolConnection","onInitialize","onInitialized","onShutdown","onExit","onDidChangeConfiguration","onDidChangeWatchedFiles","sendDiagnostics","onHover","onCompletion","onCompletionResolve","onSignatureHelp","onDeclaration","onDefinition","onTypeDefinition","onImplementation","onReferences","onDocumentHighlight","onDocumentSymbol","onWorkspaceSymbol","onCodeAction","onCodeActionResolve","onCodeLens","onCodeLensResolve","onDocumentFormatting","onDocumentRangeFormatting","onDocumentOnTypeFormatting","onRenameRequest","onPrepareRename","onDocumentLinks","onDocumentLinkResolve","onDocumentColor","onColorPresentation","onFoldingRanges","onSelectionRanges","onExecuteCommand","remote","textDocumentSync","shutdownReceived","showDocument","isUUID","v4","empty","ValueUUID","asHex","other","V4UUID","_randomHex","_oneOf","_timeHighBits","random","_chars","_UUIDPattern","test","workspaceCapabilities","workspaceFolders","_onDidChangeWorkspaceFolders","getWorkspaceFolders","_unregistration","f","DateTime","g","isDate","toISOString","getUTCFullYear","getUTCMonth","getUTCDate","date","FloatingDateTime","isFloating","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","Time","isTime","ParserEND","ParserError","filename","linenumber","captureStackTrace","State","parser","returned","resultTable","resultArr","Parser","col","ctx","_buf","ii","parseStart","getNext","nextChar","runOne","codePointAt","haveBuffer","finish","goto","returnWith","callNow","return","pop","returnNow","consume","END","makeParserClass","TomlError","fromTOML","wrapped","wrap","terr","createDateTime","createDateTimeFloat","createDate","createTime","CTRL_I","CTRL_J","CTRL_M","CTRL_CHAR_BOUNDARY","CHAR_SP","CHAR_QUOT","CHAR_NUM","CHAR_APOS","CHAR_PLUS","CHAR_COMMA","CHAR_HYPHEN","CHAR_PERIOD","CHAR_0","CHAR_1","CHAR_7","CHAR_9","CHAR_COLON","CHAR_EQUALS","CHAR_A","CHAR_E","CHAR_F","CHAR_T","CHAR_U","CHAR_Z","CHAR_LOWBAR","CHAR_a","CHAR_b","CHAR_e","CHAR_f","CHAR_i","CHAR_l","CHAR_n","CHAR_o","CHAR_r","CHAR_s","CHAR_t","CHAR_u","CHAR_x","CHAR_z","CHAR_LCUB","CHAR_RCUB","CHAR_LSQB","CHAR_BSOL","CHAR_RSQB","CHAR_DEL","SURROGATE_FIRST","SURROGATE_LAST","escapes","isDigit","cp","isHexit","isBit","isOctit","isAlphaNumQuoteHyphen","isAlphaNumHyphen","_declared","descriptor","hasKey","INLINE_TABLE","InlineTable","defineProperties","isInlineTable","TABLE","Table","isTable","_contentType","INLINE_LIST","InlineList","isInlineList","LIST","List","isList","_custom","utilInspect","eval","custom","_inspect","BoxedBigInt","asIntN","INTEGER","Integer","isSafeInteger","FLOAT","Float","isFloat","tomlType","atEndOfWord","atEndOfLine","parseTableOrList","parseComment","parseAssignStatement","parseWhitespaceToEOL","parseAssign","recordAssignStatement","kv","finalKey","kw","parseKeyword","recordAssignKeyword","parseAssignKeywordPreDot","parseAssignKeywordPostDot","parseAssignEqual","parseAssignPreValue","parseValue","recordAssignValue","parseTable","parseList","parseTableNext","parseTableMore","keyword","parseListNext","parseListMore","parseListEnd","parseDoubleString","parseSingleString","parseNumberSign","parseInf","parseNan","parseNumberOrDateTime","parseBoolean","parseInlineList","recordValue","parseInlineTable","parseInf2","parseNan2","parseBasicString","parseLiteralString","parseBareKey","parseLiteralMultiStringMaybe","errorControlCharInString","parseLiteralMultiString","parseLiteralMultiStringContent","parseLiteralMultiEnd","parseLiteralMultiEnd2","parseMultiStringMaybe","parseEscape","recordEscapeReplacement","replacement","parseMultiString","parseMultiStringContent","parseMultiEscape","recordMultiEscapeReplacement","parseMultiEnd","displayCode","parseMultiEnd2","parseMultiTrim","parsePreMultiTrim","parseSmallUnicode","parseUnicodeReturn","parseLargeUnicode","fromCodePoint","parseMaybeSignedInfOrNan","parseNoUnder","parseNumberIntegerStart","parseNumberIntegerExponentOrDecimal","parseNumberInteger","parseNumberFloat","parseNumberExponentSign","parseNoUnderHexOctBinLiteral","parseNumberExponent","parseNumberBaseOrDateTime","parseNumberOrDateTimeOnly","parseDateTime","parseOnlyTimeHour","parseDateTimeOnly","parseIntegerBin","parseIntegerOct","parseIntegerHex","parseDateMonth","parseDateDay","parseStartTimeHour","parseTimeHour","parseTimeMin","parseTimeSec","parseTimeZoneOrFraction","parseOnlyTimeMin","parseOnlyTimeSec","parseOnlyTimeFractionMaybe","parseOnlyTimeFraction","parseDateTimeFraction","parseTimeZoneHour","parseTimeZoneSep","parseTimeZoneMin","parseTrue_r","parseFalse_a","parseTrue_u","parseTrue_e","parseFalse_l","parseFalse_s","parseFalse_e","recordInlineListValue","listType","valueType","parseInlineListNext","recordInlineTableValue","parseInlineTableNext","opts","blocksize","TOMLParser","parseAsyncNext","prettyError","lines","lineNumWidth","linePadding","lineNum","hh","stm","setEncoding","ended","errored","once","readNext","parseReadable","Transform","objectMode","transform","cb","emit","flush","parseTransform","typeError","getInlineKeys","filter","isInline","nobj","prop","stringifyObject","prefix","indent","inlineKeys","complexKeys","getComplexKeys","inlineIndent","stringifyKey","stringifyAnyInline","complexIndent","validateArray","firstValueType","fullKey","stringifyArrayOfTables","stringifyComplexTable","stringifyComplex","keyStr","stringifyBasicString","escapeString","numpad","multilineOk","stringifyInline","escaped","stringifyMultilineString","stringifyInteger","chunks","int","dec","stringifyFloat","stringifyBoolean","stringifyDatetime","stringified","stringifyInlineArray","stringifyInlineTable","contentType","isNumber","arrayType","charCodeCache","leven","leftLength","rightLength","bCharCode","temp","temp2","__webpack_module_cache__","leafPrototypes","getProto","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","getPrototypeOf","t","mode","ns","def","getOwnPropertyNames","definition","chunkId","reduce","promises","u","globalThis","scriptUrl","importScripts","currentScript","scripts","getElementsByTagName","installedChunks","chunkLoadingGlobal","self","parentChunkLoadingFunction","chunkIds","moreModules","runtime","identity","equateValues","compareComparableValues","isString","isDebugMode","argv","isDefined","toOffset","addRange","insertAt","unshift","some","predicate","binarySearch","keySelector","keyComparer","middle","binarySearchKey","getOrAdd","newValueFactory","newValue","removeArrayElements","keyGetter","typeshedFallback","lib","libAlternate","lib64","sitePackages","stubsSuffix","LIB","h","l","URI","Utils","P","platform","navigator","userAgent","__proto__","authority","query","fragment","isUri","fsPath","with","A","exec","O","w","revive","_formatted","external","_fsPath","_sep","v","$mid","encodeURIComponent","C","decodeURIComponent","match","U","I","joinPath","resolvePath","assert","expression","verboseDebugInfo","stackCrawlMark","fail","assertNever","member","getSerializableError","nodeCrypto","randomBytes","randomBytesHex","crypto","getRandomValues","padStart","isPatternInSymbol","typedValue","symbolName","typedLower","toLocaleLowerCase","symbolLower","typedLength","symbolLength","typedPos","symbolPos","hashString","hash","compareStringsCaseInsensitive","toUpperCase","compareStringsCaseSensitive","getStringComparer","ignoreCase","equateStringsCaseInsensitive","equateStringsCaseSensitive","getCharacterCount","_fsCaseSensitivity","FileSpec","forEachAncestorDirectory","directory","parentPath","getDirectoryPath","pathString","getRootLength","p1","p2","getPathComponents","normalizedPath","normalizeSlashes","rootLength","rest","reducePathComponents","components","reduced","component","combinePathComponents","ensureTrailingDirectorySeparator","getRelativePath","dirPath","relativeTo","startsWith","pathComponents","relativePath","makeDirectories","fs","startingFromDirPath","curPath","combinePaths","existsSync","mkdirSync","wildcardRoot","regExp","invalidSeparator","separatorRegExp","resolvePaths","paths","normalizePath","containsPath","child","currentDirectory","parentComponents","childComponents","componentEqualityComparer","changeAnyExtension","extensions","pathExt","getAnyExtensionFromPath","stringEqualityComparer","tryGetExtensionFromPath","extension","getAnyExtensionFromPathWorker","stripTrailingDirectorySeparator","baseFileName","getBaseFileName","extensionIndex","getRelativePathComponentsFromDirectory","fromDirectory","getCanonicalFileNameOrIgnoreCase","getCanonicalFileName","fromComponents","toComponents","getPathComponentsRelativeTo","comparePathsCaseSensitive","comparePathsWorker","comparePathsCaseInsensitive","hasTrailingDirectorySeparator","getFileExtension","fileName","multiDotExtension","firstDotIndex","getFileName","stripFileExtension","isDirectory","tryStat","isFile","statSync","tryRealpath","realpathSync","getFileSystemEntries","getFileSystemEntriesFromDirEntries","readdirEntriesSync","files","directories","dirEntries","sort","entry","isSymbolicLink","stat","getFileSpec","rootPath","fileSpec","regExPattern","absolutePath","endsWith","escapedSeparator","getRegexEscapedSeparator","doubleAsteriskRegexFragment","reservedCharacterPattern","RegExp","firstComponent","getWildcardRegexPattern","getWildcardRoot","isDiskPathRoot","componentComparer","aRoot","bRoot","relativePathSegmentRegExp","aRest","bRest","aComponents","bComponents","sharedLength","pathExtension","convertUriToPath","uriString","getMappedFilePath","convertedPath","extractPathFromUri","getUri","getOriginalFilePath","normalizePathCase","filePath","mangledFilePath","tmpdir","writeFileSync","unlinkSync","isFileSystemCaseSensitiveInternal","isFileSystemCaseSensitive","PythonVersion","latestStablePythonVersion","V3_10","versionToString","versionFromString","verString","major","minor","versionFromMajorMinor","CharCategory","_identifierCharFastTableSize","_identifierCharFastTable","_identifierCharMap","_surrogateCharMap","_identifierCharMapInitialized","isIdentifierStartChar","StartIdentifierChar","charCategory","_buildIdentifierLookupTable","_lookUpSurrogate","isIdentifierChar","IdentifierChar","isDecimal","isHex","isOctal","isBinary","SurrogateChar","NotIdentifierChar","surrogateTable","_startIdentifierCharRanges","_startCharSurrogateRanges","_identifierCharRanges","_identifierCharSurrogateRanges","_buildIdentifierLookupTableFromUnicodeRangeTable","category","fastTableOnly","fastTable","fullTable","entryIndex","rangeStart","rangeEnd","_buildIdentifierLookupTableFromSurrogateRangeTable","surrogateChar","getPyTypedInfo","fileSystem","isPartiallyTyped","pyTypedPath","fileStats","pyTypedContents","readFileSync","ignoredWatchEventFunction","normalizedPaths","nullFileWatcher","nullFileWatcherProvider","createFileWatcher","_1","_2","onFileChange","VirtualDirent","_file","isBlockDevice","isCharacterDevice","isFIFO","isSocket","PyrightFileSystem","_realFS","_entryMap","_reverseEntryMap","_folderMap","_isMovedEntry","_getOriginalPath","chdir","maybeDirectory","movedEntries","readdirSync","getModulePath","createFileSystemWatcher","createReadStream","createWriteStream","copyFileSync","readFile","readFileText","tmpfile","realCasePath","originalPath","isMappedFilePath","filepath","mappedFilePath","originalFilepath","isInZipOrEgg","_recordMovedEntry","mappedPath","reversible","folderInfo","_clear","realFS","_rootSearched","_partialStubPackagePaths","_conflictMap","_customUriMap","hasUriMapEntry","addUriMap","closed","hasPendingRequest","removeUriMap","pendingRequest","isPartialStubPackagesScanned","execEnv","isPathScanned","processPartialStubPackages","roots","partialStubPackagePath","pyTypedInfo","partialStubs","packageName","packagePath","packagePyTyped","_getRelativePathPartialStubs","partialStub","originalPyiFile","mappedPyiFile","mappedPyFile","tmpPyFile","clearPartialStubs","getConflictedFile","partialStubPathLength","searchAllStubs","cancellationFolderName","OperationCanceledException","CancelAfter","tokens","DefaultCancellationProvider","TextRange","FlowFlags","comparePositions","doRangesIntersect","doesRangeContain","positionOrRange","positionsAreEqual","rangesAreEqual","extendRange","convertOffsetToPosition","offsetAdjustment","itemIndex","getItemContaining","lineRange","getItemAt","convertOffsetsToRange","convertRangeToTextRange","fromBounds","convertTextRangeToRange","getEnd","overlaps","extend","contains","containsRange","span","overlapsRange","ranges","combinedRange","print","_nextFlowNodeId","getUniqueFlowNodeId","isCodeFlowSupportedForReference","reference","nodeType","leftExpression","trailingComma","argumentCategory","subscriptNode","valueExpression","isIntegerIndex","isImaginary","isStringIndex","strings","baseExpression","createKeyForReference","memberName","leftKey","valExpr","createKeysForReferenceSubexpressions","getImportInfo","node","importInfo","getScope","scope","setScope","getDeclaration","declaration","setDeclaration","decl","getFlowNode","flowNode","setFlowNode","setAfterFlowNode","afterFlowNode","fileInfo","setCodeFlowExpressions","expressions","codeFlowExpressions","getDunderAllInfo","dunderAllInfo","setDunderAllInfo","names","isCodeUnreachable","curNode","flags","Unreachable","_constantRegEx","_underscoreOnlyRegEx","_camelCaseRegEx","isPrivateOrProtectedName","isDunderName","isConstantName","isTypeAliasName","getImportGroup","statement","importResult","importType","isLocalTypingsFile","isRelative","getTopLevelImports","parseTree","includeImplicitImports","localImports","orderedImports","mapByFilePath","followsNonImportStatement","foundFirstImportStatement","statements","subStatement","importAsNode","isImportFound","resolvedPaths","localImport","subnode","moduleName","_formatModuleName","_processImportNode","implicitImports","implicitImport","importFromAs","imports","find","prevEntry","_processImportFromNode","_getImportSymbolNameType","getTextEditsForAutoImportSymbolAddition","importNameInfo","importStatement","parseResults","additionEdits","isWildcardImport","importFrom","importAs","alias","nameInfo","_getTextEditsForAutoImportSymbolAddition","editsMap","textEditList","editGroup","replacementText","_compareImportNames","importName","name1","name2","priorImport","curImport","useOnePerLineFormatting","indentText","importStatementPos","tokenizerOutput","firstSymbolPos","secondSymbolPos","firstSymbolLineRange","insertionPosition","insertText","eol","predominantEndOfLineSequence","getTextEditsForAutoImportInsertion","importStatements","importGroup","invocationPosition","insertionEdits","getTextEdit","preChange","compareImports","postChange","isImport1","_convertInsertionEditsToTextEdits","appendToEdits","fromImports","importStatementGetter","importNames","importText","sortText","getImportAsText","equalityComparer","addIfUnique","invocation","insertBefore","insertionImport","prevImportGroup","curImportGroup","addNewLineBefore","stopHere","simpleStatement","_getInsertionEditForAutoImportInsertion","_getInsertionEditsForAutoImportInsertion","leadingDots","nameParts","part","getImportGroupFromModuleNameAndType","moduleNameAndType","getRelativeModuleName","sourcePath","targetPath","ignoreFolderStructure","sourceIsFile","srcPath","destPath","relativePaths","currentPaths","getDirectoryLeadingDotsPointsTo","ParentDirectoryCache","_importRootGetter","_importChecked","_cachedResults","_libPathCache","getImportResult","importPath","checkValidPath","sourceFilePath","reset","stdLibFolderName","thirdPartyFolderName","findPythonSearchPaths","configOptions","host","importFailureInfo","includeWatchPathsOnly","workspaceRoot","venvPath","venv","venvDir","foundPaths","sitePackagesPaths","libPath","sitePackagesPath","dirName","findSitePackagesPath","addPathIfUnique","getPathsFromPthFiles","pathResult","getPythonSearchPaths","pythonPath","isPythonBinary","parentDir","searchPaths","pthFile","trimmedLine","pthPath","pathList","pathToAdd","createImportedModuleDescriptor","importedSymbols","supportedNativeLibExtensions","supportedFileExtensions","ImportResolver","_configOptions","_cachedImportResults","_cachedModuleNameResults","_cachedEntriesForPath","cachedParentImportResults","invalidateCache","_invalidateFileSystemCache","resolveImport","moduleDescriptor","_resolveImport","formatImportName","_resolveImportStrict","origin","filterImplicitImports","getParentImportResolutionRoot","_shouldWalkUp","resolveAbsoluteImport","success","_tryWalkUp","notFoundResult","isPartlyResolved","isNamespacePackage","isStubPackage","isStubFile","isNativeLib","filteredImplicitImports","nonStubImportResult","ensurePartialStubPackages","relativeImport","_resolveRelativeImport","cachedResults","_lookUpResultsInCache","_isNamespacePackageResolved","bestImport","_resolveBestAbsoluteImport","addResultsToCache","getCompletionSuggestions","suggestions","_getCompletionSuggestionsStrict","_getCompletionSuggestionsAbsolute","_getCompletionSuggestionsRelative","_getCompletionSuggestionsTypeshedPath","extraPath","extraPaths","stubPath","pythonSearchPaths","searchPath","getSourceFilesFromStub","stubFilePath","_mapCompiled","sourceFilePaths","nonEmptyPath","dirExistsCached","importRootPaths","getImportRoots","relativeStubPaths","importRootPath","relativeStubPath","absoluteSourcePath","fileExistsCached","filePathWithoutExtension","getModuleNameForImport","cache","_getModuleNameForImport","stdLibTypeshedPath","_getStdlibTypeshedPath","getModuleNameFromPath","_isStdlibTypeshedStubValidForVersion","candidateModuleName","thirdPartyTypeshedPath","_getThirdPartyTypeshedPath","thirdPartyTypeshedPathEx","getTypeshedPathEx","getTypeshedStdLibPath","forLogging","stdTypeshed","thirdPartyRoot","thirdPartyPaths","_getThirdPartyTypeshedPackageRoots","typeshedPathEx","readdirEntriesCached","cachedValue","newCacheValue","splitPath","_splitPath","realPath","ignored","addPaths","allowPartial","allowNativeLib","useStubPackage","allowPyi","lookForPyTyped","_resolveAbsoluteImport","packageDirectory","importFound","fileNameWithoutExtension","pyFilePath","pyiFilePath","_findImplicitImports","isFirstPart","isLastPart","foundDirectory","foundInit","fileDirectory","nativeLibFileName","_getFilesInDirectory","_isNativeModuleFileName","nativeLibPath","_resolveNativeModuleStub","resolveImportEx","resolveNativeImportEx","libraryFilePath","getNativeModuleName","fileExtension","_isNativeModuleFileExtension","cacheForExecEnv","cachedEntry","symbol","containerPath","stripTopContainerDir","_isIdentifier","typingsImport","bestResultSoFar","_pickBestImport","thirdPartyImport","_getTypeshedRoot","extraResults","typeshedStdlibImport","_findTypeshedPath","isTypeshedFile","typeshedImport","bestImportSoFar","newImport","_cachedPythonSearchPaths","isStdLib","typeshedPaths","_getThirdPartyTypeshedPackagePaths","typeshedPath","_buildTypeshedThirdPartyPackageMap","thirdPartyDir","_cachedTypeshedThirdPartyPackagePaths","outerEntry","innerDirPath","innerEntry","strippedFileName","_cachedTypeshedThirdPartyPackageRoots","subdirectory","_getTypeshedSubdirectory","_cachedTypeshedStdLibModuleVersions","_readTypeshedStdLibVersions","namePartCount","namePartsToConsider","versionRange","pythonVersion","versionRangeMap","typeshedStdLibPath","versionsFilePath","colonSplit","versionSplit","minVersionString","maxVersion","minVersion","V3_0","includeMatchOnly","firstNamePart","flatten","getMapValues","_cachedTypeshedRoot","possibleTypeshedPath","moduleDirectory","debugTypeshedPath","_cachedTypeshedStdLibPath","_cachedTypeshedThirdPartyPath","absImport","entriesInDir","filesInDir","linkPath","strictOnly","hasTrailingDot","parentNameParts","_addFilteredSuggestionsAbsolute","currentPath","fileWithoutExtension","_isUniqueValidSuggestion","_isResolvableSuggestion","suggestionToAdd","newImportResult","assign","importingModuleName","exclusions","implicitImportMap","fileExt","exclusion","nativeStubPath","repeat","moduleFullName","compiledStubPath","withoutExtension","executionRoot","apiDocsRequestType","_host","initializeWorkersHost","createMessageChannel","parentPort","threadId","shallowReplace","mapper","shallowCopy","Duration","_startTime","getDurationInMilliseconds","getDurationInSeconds","TimingStat","totalTime","callCount","isTiming","timeOperation","duration","subtractFromTime","printTime","totalTimeInSec","timingStats","totalDuration","findFilesTime","readFileTime","tokenizeFileTime","parseFileTime","resolveImportsTime","cycleDetectionTime","bindTime","typeCheckerTime","typeEvaluationTime","printSummary","printDetails","getTotalDuration","nullCallback","analyzeProgram","program","maxTime","moreToAnalyze","analyze","filesLeftToAnalyze","getFilesToAnalyzeCount","getDiagnostics","diagnosticFileCount","elapsedTime","filesInProgram","getFileCount","filesRequiringAnalysis","checkingOnlyOpenFiles","isCheckingOnlyOpenFiles","fatalErrorOccurred","configParseErrorOccurred","LogLevel","StandardConsole","ConsoleWithLogLevel","_console","_name","_levelMap","Warn","_maxLevel","maxLevel","_log","_prefix","level","_getNumericalLevel","numericLevel","logType","LogTracker","_dummyState","_indentation","_previousTitles","minimalDuration","logParsingPerf","msDuration","isSuppressed","_printPreviousTitles","fileReadTotal","tokenizeTotal","parsingTotal","resolveImportsTotal","bindingTotal","previousTitle","_start","_startFile","_startToken","_startParse","_startImport","_startBind","addendum","_addendum","suppress","_suppress","isFunctionDeclaration","isClassDeclaration","isParameterDeclaration","isVariableDeclaration","isAliasDeclaration","_nextNodeId","newRange","ModuleNode","SuiteNode","IfNode","WhileNode","ForNode","ListComprehensionForNode","ListComprehensionIfNode","TryNode","ExceptNode","FunctionNode","ParameterNode","ClassNode","WithNode","WithItemNode","DecoratorNode","StatementListNode","ErrorNode","UnaryOperationNode","BinaryOperationNode","AssignmentExpressionNode","AssignmentNode","TypeAnnotationNode","FunctionAnnotationNode","AugmentedAssignmentNode","AwaitNode","TernaryNode","UnpackNode","TupleNode","CallNode","ListComprehensionNode","IndexNode","SliceNode","YieldNode","YieldFromNode","MemberAccessNode","LambdaNode","NameNode","ConstantNode","EllipsisNode","NumberNode","StringNode","FormatStringNode","StringListNode","DictionaryNode","DictionaryKeyEntryNode","DictionaryExpandEntryNode","SetNode","ListNode","ArgumentNode","DelNode","PassNode","ImportNode","ModuleNameNode","ImportAsNode","ImportFromNode","ImportFromAsNode","GlobalNode","NonlocalNode","AssertNode","BreakNode","ContinueNode","ReturnNode","RaiseNode","MatchNode","CaseNode","PatternSequenceNode","PatternAsNode","PatternLiteralNode","PatternClassNode","PatternClassArgumentNode","PatternCaptureNode","PatternMappingNode","PatternMappingKeyEntryNode","PatternMappingExpandEntryNode","PatternValueNode","isExpressionNode","ifOrElifToken","testExpression","ifSuite","elseSuite","whileToken","whileSuite","forToken","targetExpression","iterableExpression","forSuite","startToken","ifToken","tryToken","trySuite","exceptClauses","exceptToken","exceptSuite","isExceptGroup","defToken","suite","decorators","paramCategory","classToken","createDummyForDecorators","comments","decorator","withToken","withItems","atToken","initialRange","operatorToken","operator","maxChildDepth","rightExpression","typeAnnotation","openParenToken","isParamListEllipsis","paramTypeAnnotations","returnTypeAnnotation","destExpression","awaitToken","ifExpression","elseExpression","starToken","enclosedInParens","argList","forIfNodes","closeBracketToken","yieldToken","lambdaToken","nameToken","constType","keywordType","unescapedValue","hasUnescapeErrors","expr","keyExpression","expandExpression","argCategory","delToken","passToken","fromToken","usesParens","nameList","assertToken","matchToken","subjectExpression","cases","caseToken","isIrrefutable","guardExpression","firstToken","starEntryIndex","findIndex","orPatterns","isStar","className","isWildcard","keyPattern","valuePattern","starStarToken","walk","childrenToWalk","visitNode","walkMultiple","nodes","visitError","visitArgument","visitAssert","exceptionExpression","visitAssignment","typeAnnotationComment","visitAssignmentExpression","visitAugmentedAssignment","visitAwait","visitBinaryOperation","visitBreak","visitCall","visitClass","visitConstant","visitContinue","visitDecorator","visitDel","visitDictionary","visitDictionaryExpandEntry","visitDictionaryKeyEntry","visitEllipsis","visitIf","visitImport","visitImportAs","visitImportFrom","visitImportFromAs","visitIndex","visitExcept","typeExpression","visitFor","visitFormatString","visitFunction","functionAnnotationComment","visitGlobal","visitLambda","visitList","visitListComprehension","visitListComprehensionFor","visitListComprehensionIf","visitMemberAccess","visitModule","visitModuleName","visitName","visitNonlocal","visitNumber","visitParameter","defaultValue","visitPass","visitRaise","tracebackExpression","visitReturn","returnExpression","visitSet","visitSlice","startValue","endValue","stepValue","visitStatementList","visitStringList","visitString","visitSuite","visitTernary","visitTuple","visitTry","finallySuite","visitTypeAnnotation","visitUnaryOperation","visitUnpack","visitWhile","visitWith","visitWithItem","visitYield","visitYieldFrom","visitFunctionAnnotation","visitMatch","visitCase","visitPatternSequence","visitPatternAs","visitPatternLiteral","visitPatternClass","visitPatternCapture","visitPatternMapping","visitPatternMappingKeyEntry","visitPatternMappingExpandEntry","visitPatternValue","visitPatternClassArgument","getNodeDepth","depth","findNodeByOffset","containingChild","getClassFullName","classNode","getEnclosingClass","reverse","getTypeSourceId","printArgument","argStr","printExpression","printOperator","exprStr","parenthesized","exprString","escapedValue","listStr","isAsync","isParenthesized","paramStr","dictContents","operatorMap","getEnclosingSuite","stopAtFunction","getEnclosingFunction","prevNode","getEnclosingClassOrFunction","getEvaluationScopeNode","prevPrevNode","isParamNameNode","getTypeVarScopeNode","allowInFunctionSignature","getExecutionScopeNode","evaluationScope","isFinalAllowedForAssignmentTarget","targetNode","methodNode","isClassVarAllowedForAssignmentTarget","isNodeContainedWithin","potentialContainer","isSuiteEmpty","sawEllipsis","substatement","isMatchingExpression","referenceNumberNode","referenceStringListNode","isPartialMatchingExpression","getDocString","isDocString","statementList","NameNodeWalker","_callback","_subscriptIndex","_baseExpression","prevSubscriptIndex","prevBaseExpression","CallNodeWalker","getEnclosingParameter","getCallNodeAndActiveParameterIndex","insertionOffset","callNode","isOffsetInsideCallArgs","endPosition","tokenAtEnd","getItemAtPosition","getTokenAt","addedActive","activeIndex","activeOrFake","startTokenIndex","endTokenIndex","tok","argumentStart","isWriteAccess","getModuleNode","getFileInfoFromNode","isImportModuleName","getFirstAncestorOrSelfOfKind","isImportAlias","isFromImportModuleName","isFromImportName","isFromImportAlias","isLastNameOfModuleName","_getAncestorsIncludingSelf","getFirstAncestorOrSelf","getDottedNameWithGivenNodeAsLastName","hasTypeForDeclaration","parameterParent","paramAnnotations","typeAnnotationNode","areDeclarationsSame","decl1","decl2","treatModuleInImportAndFromImportSame","usesLocalName","isFinalVariableDeclaration","isFinal","isExplicitTypeAliasDeclaration","typeAliasAnnotation","isPossibleTypeAliasDeclaration","typeAliasName","getNameFromDeclaration","getDeclarationsWithUsesLocalNameRemoved","decls","localDecl","nonLocalDecl","createSynthesizedAliasDeclaration","loadSymbolsFromPath","isInExceptSuite","cleanAndSplitDocString","rawString","leftSpacesToRemove","trimmed","trimLeft","trimmedLines","trimRight","extractParameterDocumentation","functionDocString","paramName","docStringLines","paramOffset","convertDocStringToMarkdown","docString","DocStringConverter","convert","convertDocStringToPlainText","_isUndefinedOrWhitespace","trimEnd","LeadingSpaceCountRegExp","NonWhitespaceRegExp","TildaHeaderRegExp","PlusHeaderRegExp","EqualHeaderRegExp","DashHeaderRegExp","LeadingDashListRegExp","LeadingAsteriskListRegExp","LeadingNumberListRegExp","LeadingAsteriskRegExp","SpaceDotDotRegExp","DirectiveLikeRegExp","DoctestRegExp","DirectivesExtraNewlineRegExp","epyDocFieldTokensRegExp","epyDocCv2FixRegExp","PotentialHeaders","exp","WhitespaceRegExp","DoubleTickRegExp","TildeRegExp","PlusRegExp","MarkdownCharsRegExp","linkRegExp","HtmlEscapes","LiteralBlockEmptyRegExp","LiteralBlockReplacements","_builder","_skipAppendEmptyLine","_insideInlineCode","_appendDirectiveBlock","_stateStack","_lineNum","_blockIndent","_parseText","_lines","_currentLineOrUndefined","before","beforeLine","_parseBacktickBlock","_parseDocTest","_parseLiteralBlock","_trimOutputAndAppendLine","_eatLine","_currentLine","_currentIndent","_countLeadingSpaces","_prevIndent","_lineAt","_nextBlockIndent","_currentLineIsOutsideBlock","_currentLineWithinBlock","_pushAndSetState","_popState","_parseEmpty","_beginBacktickBlock","_beginLiteralBlock","_beginDocTest","_beginDirective","_beginList","_beginFieldList","_beginTableBlock","_formatPlainTextIndent","_appendTextLine","prev","prevIndent","currIndent","_isHeader","_convertIndent","trimStart","_match","g1","g2","_escapeHtml","escape","_preprocessTextLine","_append","expReplacement","_appendLine","_beginMinIndentCodeBlock","_parseLiteralBlockSingleLine","_parseDirective","hasOddNumColons","restDirective","_tableState","inHeader","_parseTableBlock","formattedLine","columnParts","headerStrings","colStart","columnStr","endHeaderStr","column","dashMatch","_parseList","asteriskMatch","leadingNumberList","directiveType","directive","_parseDirectiveBlock","noNewLine","search","getScopeForNode","WildcardTypeVarScopeId","EnumLiteral","itemName","itemType","maxTypeRecursionCount","TypeBase","UnboundType","UnknownType","ModuleType","ClassType","FunctionType","OverloadedFunctionType","NoneType","NeverType","AnyType","TypeCondition","UnionType","TypeVarType","isNever","isNoneInstance","isNoneTypeClass","isInstantiable","isAny","isUnknown","isAnyOrUnknown","isUnion","subtypes","subtype","isUnbound","isPossiblyUnbound","isClass","isInstantiableClass","isClassInstance","isModule","isTypeVar","isVariadicTypeVar","details","isVariadic","isUnpackedVariadicTypeVar","isVariadicUnpacked","isUnpackedClass","isUnpacked","isParamSpec","isFunction","isOverloadedFunction","getTypeAliasInfo","typeAliasInfo","recursiveTypeAliasName","boundType","isTypeSame","type1","type2","ignorePseudoGeneric","ignoreTypeFlags","recursionCount","classType2","isSameGenericClass","isSame","condition","isPseudoGenericClass","tupleTypeArguments","type1TupleTypeArgs","type2TupleTypeArgs","isUnbounded","type1TypeArgs","typeArguments","type2TypeArgs","typeArgCount","isLiteralValueSame","functionType2","params1","params2","positionalOnlyIndex1","positionalOnlyIndex2","param1","param2","isName1Relevant","getEffectiveParameterType","return1Type","declaredReturnType","specializedTypes","returnType","inferredReturnType","return2Type","overloads","unionType2","subtypes1","subtypes2","findSubtype","containsType","type2TypeVar","scopeId","recursiveTypeParameters","isSynthesized","variance","boundType1","boundType2","constraints1","constraints","constraints2","type2Module","fields","removeUnknownFromUnion","removeFromUnion","removeUnbound","removeNoneFromUnion","removeFilter","remainingTypes","newType","combineTypes","addTypeAliasSource","maxSubtypeCount","sawNoReturn","isNoReturn","createNoReturn","createNever","allSubtypesAreSame","expandedTypes","typeAliasSources","literalValue","isEmptyContainer","newUnionType","hitMaxSubtypeCount","addType","unionType","typeToAdd","isBuiltIn","literalStrMap","literalIntMap","isSameWithoutLiteralValue","cloneWithLiteral","_addTypeIfUnique","destType","srcType","cloneType","isAnnotated","isSpecialForm","setSpecialForm","isAmbiguous","cloneForTypeAlias","fullName","typeVarScopeId","typeParams","typeArgs","typeClone","typeParameters","cloneForAnnotated","cloneForCondition","cloneForAmbiguousType","_instance","symbolTable","loaderFields","getField","moduleType","isExternallyHidden","loaderSymbol","cloneAsInstantiable","objectType","classType","classArray","aliasName","class1Details","class2Details","typeSourceId","baseClasses","declaredMetaclass","createInstantiable","effectiveMetaclass","mro","cloneAsInstance","includeSubclasses","cloneForSpecialization","isTypeArgumentExplicit","newClassType","cloneForTypingAlias","cloneForNarrowedTypedDictEntries","narrowedEntries","typedDictNarrowedEntries","cloneWithNewTypeParameters","cloneForTypeGuard","typeGuardType","isStrictTypeGuard","cloneForSymbolTableUpdate","cloneForUnpacked","isUnspecialized","isSpecialBuiltIn","supportsAbstractMethods","isDataClass","isSkipSynthesizedDataClassInit","isSkipSynthesizedDataClassEq","isFrozenDataClass","isSynthesizedDataclassOrder","isDataClassKeywordOnlyParams","isGeneratedDataClassSlots","isSynthesizeDataClassUnsafeHash","isTypedDictClass","isCanOmitDictValues","isEnumClass","isPropertyClass","isClassProperty","isProtocolClass","isDefinedInStub","getDataClassEntries","dataClassEntries","isRuntimeCheckable","isTypingExtensionClass","isPartiallyConstructed","hasCustomClassGetItem","isTupleClass","isReadOnlyInstanceVariables","getTypeParameters","hasUnknownBaseClass","baseClass","isDerivedFrom","subclassType","parentClassType","inheritanceChain","functionFlags","typeFlags","parameterTypes","createInstance","clone","stripFirstParam","boundToType","boundTypeVarScopeId","newFunction","preBoundFlags","isTypeInferred","strippedFirstParamType","newInstance","specializedInferredReturnType","cloneForParamSpec","paramSpecValue","paramSpec","specEntry","hasDefault","isNameSynthesized","hasDeclaredType","isParamSpecValue","paramInfo","cloneWithNewFlags","cloneForParamSpecApplication","lastParam","cloneRemoveParamSpecVariadics","addDefaultParameters","functionType","useUnknown","addParameter","hasDefaultParameters","sawArgs","sawKwargs","isInstanceMethod","isConstructorMethod","isStaticMethod","isClassMethod","isAbstractMethod","isGenerator","isSynthesizedMethod","isSkipConstructorCheck","isOverloaded","isDefaultParameterCheckDisabled","isWrapReturnTypeInAwait","isStubDefinition","isPyTypedDefinition","hasUnannotatedParams","shouldSkipArgsKwargsCompatibilityCheck","getSpecializedReturnType","addOverload","_noneInstance","_noneType","createType","_neverInstance","_noReturnInstance","_anyInstance","isEllipsis","_ellipsisInstance","_compare","c1","c2","typeVarName","constraintIndex","conditions1","conditions2","combined","isCompatible","foundTypeVarMatch","exactMatch","typeAliasSource","sourcesToAdd","makeNameWithScope","cloneForScopeId","scopeName","scopeType","nameWithScope","isInUnion","isVariadicInUnion","cloneForPacked","cloneAsInvariant","cloneForParamSpecAccess","access","paramSpecAccess","cloneAsSpecializedSelf","specializedBoundType","isSynthesizedSelf","addConstraint","typeVarType","constraintType","getNameWithScope","getReadableName","nextSymbolId","_flags","newSymbol","_synthesizedType","isInitiallyUnbound","setIsExternallyHidden","setIsIgnoredForProtocolMatch","isIgnoredForProtocolMatch","setIsClassMember","isClassMember","setIsInstanceMember","isInstanceMember","setIsClassVar","isClassVar","setIsInitVar","isInitVar","setIsInDunderAll","isInDunderAll","setIsPrivateMember","isPrivateMember","setPrivatePyTypedImport","isPrivatePyTypedImport","addDeclaration","_declarations","declIndex","curDecl","inferredTypeSource","hasDeclarations","getDeclarations","hasTypedDeclarations","getTypedDeclarations","getSynthesizedType","getLastTypedDeclaredForSymbol","typedDecls","isTypedDictMemberAccessedThroughIndex","isFinalVariable","TypeVarMap","solveForScopes","_isLocked","_solveForScopes","_typeVarMap","_paramSpecMap","newTypeVarMap","setTypeVarType","typeVar","narrowBound","wideBound","retainLiteral","setParamSpec","_variadicTypeVarMap","setVariadicTypeVar","types","copyFromClone","getSolveForScopes","hasSolveForScope","setSolveForScopes","scopeIds","addSolveForScope","getScore","score","getTypeVarType","_getComplexityScoreForType","hasTypeVar","_getKey","useNarrowBoundOnly","getVariadicTypeVar","getTypeVar","getTypeVars","hasParamSpec","getParamSpec","typeVarCount","getWideTypeBound","getRetainLiterals","unlock","isLocked","maxScore","doForEachSubtype","subtypeScore","_getComplexityScoreForClass","typeArgScoreSum","typeArg","ParameterSource","DiagnosticRule","getParameterListDetails","firstPositionOrKeywordIndex","positionParamCount","positionOnlyParamCount","hasUnpackedVariadicTypeVar","positionOnlyIndex","sawKeywordOnlySeparator","addVirtualParameter","typeOverride","PositionOnly","KeywordOnly","PositionOrKeyword","tupleArg","argsIndex","firstKeywordOnlyIndex","typedDictEntries","isRequired","kwargsIndex","isOptionalType","mapSubtypes","newSubtypes","typeChanged","transformedType","addConditionToType","getTypeCondition","areTypesSame","stripLiteralValue","isTypeAliasPlaceholder","transformPossibleRecursiveTypeAlias","unspecializedType","convertToInstance","applySolvedTypeVars","buildTypeVarMap","getTypeVarScopeId","getSpecializedTupleType","tupleClass","mroClass","buildTypeVarMapFromSpecializedClass","isLiteralType","isLiteralTypeOrUnion","containsLiteralType","includeTypeArgs","overload","getLiteralTypeClassName","foundMismatch","subtypeLiteralTypeName","getUnionSubtypeCount","isEllipsisType","isProperty","isUnboundedTupleClass","partiallySpecializeType","contextClassType","selfClass","typeVarMap","populateTypeVarMapForSelfType","synthesizedSelfTypeVar","synthesizeTypeVarForSelfCls","unknownIfNotFound","eliminateUnsolvedInUnions","ApplySolvedTypeVarsTransformer","getProtocolSymbols","symbolMap","getProtocolSymbolsRecursive","isTypeDeclared","skippedUndeclaredType","lookUpObjectMember","lookUpClassMember","getClassMemberIterator","declaredTypesOnly","classFlags","classItr","getClassIterator","specializedMroClass","cm","memberFields","skipMroEntry","addTypeVarsToListIfUnique","list1","list2","getTypeVarArgumentsRecursive","combinedList","getTypeVarsFromClass","specializeClassType","typeParam","setTypeArgumentsRecursive","paramType","makeConcrete","typeArgType","paramSpecEntries","typeArgFunctionType","paramIndex","specializeForBaseClass","specializedType","derivesFromClassRecursive","baseClassToFind","ignoreUnknown","isClsParam","selfType","getDeclaredGeneratorReturnType","generatorTypeArgs","getGeneratorTypeArgs","isEffectivelyInstantiable","convertToInstantiable","getMembersForClass","includeInstanceVars","isClassTypedDict","existingSymbol","metaclass","containsUnknown","foundUnknown","isPartlyUnknown","allowUnknownTypeArgsForClasses","argType","explodeGenericClass","combineSameSizedTuples","tupleType","tupleEntries","isValid","specializeTupleClass","stripLiterals","isUnpackedTuple","combinedTupleType","clonedClassType","removeParamSpecVariadicsFromSignature","removeParamSpecVariadicsFromFunction","newOverloads","newTypeNeeded","newOverload","paramCount","argsParam","kwargsParam","_expandVariadicUnpackedUnion","requiresSpecialization","ignoreSelf","computeMroLinearization","isMroFound","filteredBaseClasses","innerBaseClass","innerIndex","classListsToMerge","isInTail","searchClass","classLists","classList","filterClass","classToFilter","nonEmptyList","foundValidHead","getDeclaringModulesForType","moduleList","addDeclaringModuleNamesForType","convertParamSpecValueToType","paramSpecEntry","hasParameters","onlyParam","TypeVarTransformer","_isTransformingTypeArg","recursionSet","requiresUpdate","replacementType","transformTypeVar","subtypesToCombine","transformedSubtype","transformUnion","_transformTypeVarsInClassType","_transformTypeVarsInFunctionType","transformVariadicTypeVar","transformParamSpec","newVariadicTypeArgs","newTypeArgs","specializationNeeded","wasTransformingTypeArg","oldTypeArgType","newTypeArgType","typeParamName","sourceType","specializedReturnType","typesRequiredSpecialization","specializedParameters","argsParamType","kwargsParamType","paramSpecType","variadicParamIndex","variadicTypesToUnpack","newFunctionType","insertKeywordOnlySeparator","swallowPositionOnlySeparator","sawUnboundedEntry","unpackedType","_unknownIfNotFound","_useNarrowBoundOnly","_eliminateUnsolvedInUnions","wideType","updatedUnion","ExpectedConstructorTypeTransformer","_liveTypeVarScopes","dummyScopeId","dummyTypeVarPrefix","_isTypeVarLive","_createDummyTypeVar","prevTypeVar","newTypeVar","synthesizedTypeVarIndexForExpectedType","SourceMapper","_importResolver","_execEnv","_evaluator","_fileBinder","_boundSourceGetter","_preferStubs","findModules","_getBoundSourceFilesFromStubFile","sf","getParseResults","findDeclarations","stubDecl","_findClassOrTypeAliasDeclarations","_findFunctionOrTypeAliasDeclarations","_findVariableDeclarations","_findParameterDeclarations","_findSpecialBuiltInClassDeclarations","findClassDeclarations","findClassDeclarationsByType","originatedPath","_addClassTypeDeclarations","findFunctionDeclarations","recursiveDeclCache","flatMap","sourceFile","_findClassDeclarationsByName","_getFullClassName","functionName","sourceFiles","isMethod","_findMethodDeclarationsByName","_findFunctionDeclarationsByName","variableName","_findFieldDeclarationsByName","_findVariableDeclarationsByName","functionNode","functionStubDecls","getDeclarationsForNameNode","functionStubDecl","functionDecl","_lookUpSymbolDeclarations","_findMemberDeclarationsByName","declAdder","classDecls","classDecl","classResults","getTypeOfClass","uniqueId","getFilePath","_isStubThatShouldBeMappedToImplementation","implDecl","moduleNode","_addDeclarationsFollowingWildcardImports","_addVariableDeclarations","_addClassOrFunctionDeclarations","fullClassName","parentNode","classNameParts","_findClassDeclarations","classNamePart","parentDecl","resolvedDecl","resolveAliasDeclaration","nodeToBind","getType","overloadDecl","originated","_getSourceFiles","containingScope","lookUpSymbol","fp","convertLevelToCategory","_relatedInfo","addAction","action","_actions","getActions","setRule","rule","_rule","getRule","addRelatedInfo","getRelatedInfo","DiagnosticAddendum","_childAddenda","addMessage","createAddendum","newAddendum","addAddendum","getString","maxDepth","maxLineCount","_getLinesRecursive","_getMessageCount","getChildren","getMessages","messageCount","diag","childLines","maxDepthRemaining","extraSpace","ParameterizedString","_formatString","getFormatString","diagnosticStyle","isSimpleMessageStyle","optionalAddendum","localizedStrings","defaultStrings","getRawString","keyParts","getRawStringFromMap","curObj","keyPart","initializeLocalization","locale","style","currentLocale","env","process","vscodeConfigString","VSCODE_NLS_CONFIG","localeString","LC_ALL","LC_MESSAGES","LANG","LANGUAGE","localeStringSplit","getLocaleFromEnv","override","loadStringsFromJsonFile","localeSplit","loadStringsForLocale","Localizer","synthesizeTypedDictClassMethods","evaluator","initType","getTypedDictMembersForClass","strClass","getBuiltInType","selfParam","createDefaultTypeVar","defaultTypeVar","createGetMethod","keyType","includeDefault","defaultTypeMatchesField","getOverload","getScopeIdForNode","createPopMethods","keyParam","popOverload1","popOverload2","createSetDefaultMethod","setDefaultOverload","createDelItemMethod","delItemOverload","getOverloads","popOverloads","setDefaultOverloads","nameLiteralType","strType","allowNarrowed","getTypedDictMembersForClassRecursive","keyMap","baseClassType","lastDecl","getEffectiveTypeOfSymbol","isRequiredTypedDictVariable","isNotRequired","isNotRequiredTypedDictVariable","existingEntry","typedDictFieldRedefinition","parentType","printType","childType","addDiagnostic","diagnosticRuleSet","reportGeneralTypeIssues","isProvided","canAssignTypedDict","typesAreConsistent","destEntries","srcEntries","destEntry","srcEntry","typedDictFieldRequired","typedDictFieldNotRequired","canAssignType","memberTypeMismatch","typedDictFieldMissing","getTypeFromIndexedTypedDict","baseType","usage","addError","typeArgsMismatchOne","indexTypeResult","getTypeOfExpression","indexType","allDiagsInvolveNotRequiredKeys","resultingType","entryName","treatWithAsTryBlock","keyNotRequired","setType","keyRequiredDeleted","keyUndefined","typeNotStringLiteral","setExpectedTypeDiag","typedDictDiag","typedDictSet","typedDictDelete","typedDictAccess","reportTypedDictNotRequiredAccess","isInheritedFromBuiltin","getPropertyDocStringInherited","sourceMapper","enclosingClass","declaredType","getTypeForDeclaration","fieldName","_getFunctionDocStringFromDeclaration","_getPropertyDocStringInherited","getModuleDocString","modules","_getModuleNodeDocString","getClassDocString","_getFunctionOrClassDeclsDocString","implDecls","getFunctionOrClassDeclDocString","getVariableDocString","docStrings","getVariableInStubFileDocStrings","doc","_getOverloadedFunctionDocStrings","Refactoring","annotatedParamCountMismatch","annotatedTypeArgMissing","annotationFormatString","annotationNotSupported","annotationSpansStrings","annotationStringEscape","argAssignment","argAssignmentFunction","argAssignmentParam","argAssignmentParamFunction","argMissingForParam","argMissingForParams","argMorePositionalExpectedCount","argMorePositionalExpectedOne","argPositional","argPositionalExpectedCount","argPositionalExpectedOne","argTypePartiallyUnknown","argTypeUnknown","assertAlwaysTrue","assignmentExprContext","assignmentExprComprehension","assignmentExprInSubscript","assignmentInProtocol","assignmentTargetExpr","asyncNotInAsyncFunction","awaitIllegal","awaitNotInAsync","backticksIllegal","baseClassCircular","baseClassInvalid","baseClassFinal","baseClassMethodTypeIncompatible","baseClassUnknown","bindTypeMismatch","booleanIsLowerCase","breakOutsideLoop","callableExtraArgs","callableFirstArg","callableSecondArg","casePatternIsIrrefutable","classAlreadySpecialized","classDecoratorTypeUnknown","classDefinitionCycle","classGetItemClsParam","classMethodClsParam","classNotRuntimeSubscriptable","classPatternBuiltInArgCount","classPatternBuiltInArgPositional","classPatternTypeAlias","classVarNotAllowed","classVarFirstArgMissing","classVarOverridesInstanceVar","classVarTooManyArgs","classVarWithTypeVar","clsSelfParamTypeMismatch","comparisonAlwaysFalse","comparisonAlwaysTrue","comprehensionInDict","comprehensionInSet","concatenateParamSpecMissing","concatenateTypeArgsMissing","constantRedefinition","constructorNoArgs","constructorParametersMismatch","continueInFinally","continueOutsideLoop","dataClassBaseClassNotFrozen","dataClassFieldWithDefault","dataClassPostInitParamCount","dataClassPostInitType","dataClassSlotsOverwrite","dataClassTransformExpectedBoolLiteral","dataClassTransformFieldDescriptor","dataClassTransformPositionalParam","dataClassTransformUnknownArgument","declaredReturnTypePartiallyUnknown","declaredReturnTypeUnknown","defaultValueContainsCall","defaultValueNotAllowed","defaultValueNotEllipsis","deprecatedType","dictExpandIllegalInComprehension","dictInAnnotation","dictKeyValuePairs","dictUnpackIsNotMapping","delTargetExpr","dunderAllSymbolNotPresent","duplicateArgsParam","duplicateBaseClass","duplicateCatchAll","duplicateEnumMember","duplicateImport","duplicateKwargsParam","duplicateKeywordOnly","duplicateParam","duplicateCapturePatternTarget","duplicateStarPattern","duplicateStarStarPattern","duplicatePositionOnly","duplicateUnpack","ellipsisContext","ellipsisSecondArg","enumClassOverride","exceptionGroupIncompatible","exceptionTypeIncorrect","exceptionTypeNotClass","exceptionTypeNotInstantiable","expectedAfterDecorator","expectedArrow","expectedAsAfterException","expectedAssignRightHandExpr","expectedBinaryRightHandExpr","expectedBoolLiteral","expectedCase","expectedClassName","expectedCloseBrace","expectedCloseBracket","expectedCloseParen","expectedColon","expectedComplexNumberLiteral","expectedDecoratorExpr","expectedDecoratorName","expectedDecoratorNewline","expectedDelExpr","expectedElse","expectedEqualityOperator","expectedExceptionClass","expectedExceptionObj","expectedExpr","expectedImport","expectedImportAlias","expectedImportSymbols","expectedIdentifier","expectedIndentedBlock","expectedIn","expectedInExpr","expectedFunctionAfterAsync","expectedFunctionName","expectedMemberName","expectedModuleName","expectedNameAfterAs","expectedNamedParameter","expectedNewline","expectedNewlineOrSemicolon","expectedOpenParen","expectedParamName","expectedPatternExpr","expectedPatternSubjectExpr","expectedPatternValue","expectedReturnExpr","expectedSliceIndex","expectedTypeNotString","expectedYieldExpr","finalClassIsAbstract","finalContext","finalMethodOverride","finalReassigned","finalRedeclaration","finalRedeclarationBySubclass","finalTooManyArgs","finalUnassigned","formatStringBrace","formatStringBytes","formatStringEscape","formatStringInPattern","formatStringIllegal","formatStringUnicode","formatStringUnterminated","functionDecoratorTypeUnknown","generatorAsyncReturnType","generatorNotParenthesized","generatorSyncReturnType","genericClassAssigned","genericClassDeleted","genericNotAllowed","genericTypeAliasBoundTypeVar","genericTypeArgMissing","genericTypeArgTypeVar","genericTypeArgUnique","globalReassignment","globalRedefinition","implicitStringConcat","importCycleDetected","importDepthExceeded","importResolveFailure","importSourceResolveFailure","importSymbolUnknown","incompatibleMethodOverride","inconsistentIndent","inconsistentTabs","initMustReturnNone","initSubclassClsParam","instanceMethodSelfParam","instanceVarOverridesClassVar","instantiateAbstract","instantiateProtocol","internalBindError","internalParseError","internalTypeCheckingError","invalidIdentifierChar","invalidStubStatement","invalidTokenChars","isInstanceInvalidType","isSubclassInvalidType","keyValueInSet","keywordArgInTypeArgument","keywordOnlyAfterArgs","keywordSubscriptIllegal","lambdaReturnTypeUnknown","lambdaReturnTypePartiallyUnknown","listAssignmentMismatch","listInAnnotation","literalUnsupportedType","literalEmptyArgs","literalNotCallable","matchIncompatible","matchIsNotExhaustive","maxParseDepthExceeded","memberAccess","memberDelete","memberSet","metaclassConflict","metaclassDuplicate","metaclassIsGeneric","methodNotDefined","methodNotDefinedOnType","methodOrdering","methodOverridden","methodReturnsNonObject","missingProtocolMembers","missingSuperCall","moduleAsType","moduleNotCallable","moduleUnknownMember","namedExceptAfterCatchAll","namedParamAfterParamSpecArgs","namedTupleEmptyName","namedTupleFirstArg","namedTupleMultipleInheritance","namedTupleNameType","namedTupleNameUnique","namedTupleNoTypes","namedTupleSecondArg","newClsParam","newTypeLiteral","newTypeNotAClass","newTypeProtocolClass","nonDefaultAfterDefault","noneNotCallable","noneNotIterable","noneNotSubscriptable","noneNotUsableWith","noneOperator","noneUnknownMember","nonLocalNoBinding","nonLocalReassignment","nonLocalRedefinition","nonLocalInModule","noOverload","noReturnContainsReturn","noReturnContainsYield","noReturnReturnsNone","notRequiredArgCount","notRequiredNotInTypedDict","objectNotCallable","obscuredClassDeclaration","obscuredFunctionDeclaration","obscuredMethodDeclaration","obscuredParameterDeclaration","obscuredVariableDeclaration","operatorLessOrGreaterDeprecated","optionalExtraArgs","orPatternIrrefutable","orPatternMissingName","overlappingOverload","overloadAbstractMismatch","overloadImplementationMismatch","overloadReturnTypeMismatch","overloadWithImplementation","overloadWithoutImplementation","paramAfterKwargsParam","paramAlreadyAssigned","paramAnnotationMissing","paramNameMissing","paramSpecArgsKwargsUsage","paramSpecArgsUsage","paramSpecAssignedName","paramSpecContext","paramSpecFirstArg","paramSpecKwargsUsage","paramSpecNotBound","paramSpecNotUsedByOuterScope","paramSpecUnknownArg","paramSpecUnknownMember","paramSpecUnknownParam","paramTypeCovariant","paramTypeUnknown","paramAssignmentMismatch","paramTypePartiallyUnknown","parenthesizedContextManagerIllegal","positionArgAfterNamedArg","privateImportFromPyTypedModule","positionOnlyAfterArgs","positionOnlyAfterKeywordOnly","positionOnlyIncompatible","positionOnlyFirstParam","privateUsedOutsideOfClass","privateUsedOutsideOfModule","propertyOverridden","propertyStaticMethod","protectedUsedOutsideOfClass","protocolBaseClass","protocolIllegal","protocolMemberNotClassVar","protocolNotAllowedInTypeArgument","protocolUsedInCall","protocolVarianceContravariant","protocolVarianceCovariant","protocolVarianceInvariant","recursiveDefinition","relativeImportNotAllowed","requiredArgCount","requiredNotInTypedDict","returnMissing","returnOutsideFunction","returnTypeContravariant","returnTypeMismatch","returnTypeUnknown","returnTypePartiallyUnknown","revealLocalsArgs","revealLocalsNone","revealTypeArgs","revealTypeExpectedTextArg","revealTypeExpectedTextMismatch","revealTypeExpectedTypeMismatch","selfTypeContext","selfTypeWithTypedSelfOrCls","setterGetterTypeMismatch","starPatternInAsPattern","starPatternInOrPattern","singleOverload","slotsAttributeError","slotsClassVarConflict","starStarWildcardNotAllowed","staticClsSelfParam","strictTypeGuardReturnType","stringNonAsciiBytes","stringNotSubscriptable","stringUnsupportedEscape","stringUnterminated","stubFileMissing","stubUsesGetAttr","sublistParamsIncompatible","superCallArgCount","superCallFirstArg","superCallSecondArg","superCallZeroArgForm","symbolIsUnbound","symbolIsUndefined","symbolIsPossiblyUnbound","symbolOverridden","totalOrderingMissingMethod","trailingCommaInFromImport","tryWithoutExcept","tupleAssignmentMismatch","tupleInAnnotation","tupleIndexOutOfRange","typeAliasIsRecursiveDirect","typeAliasIsRecursiveIndirect","typeAliasNotInModuleOrClass","typeAliasRedeclared","typeAnnotationCall","typeAnnotationVariable","typeArgListExpected","typeArgListNotAllowed","typeArgsExpectingNone","typeArgsMissingForAlias","typeArgsMissingForClass","typeArgsTooFew","typeArgsTooMany","typeAssignmentMismatch","typeCallNotAllowed","typedDictBadVar","typedDictBaseClass","typedDictEmptyName","typedDictEntryName","typedDictEntryUnique","typedDictExtraArgs","typedDictFirstArg","typedDictSecondArgDict","typedDictSecondArgDictEntry","typedDictTotalParam","typeExpectedClass","typeGuardArgCount","typeNotAwaitable","typeNotCallable","typeNotIntantiable","typeNotIterable","typeNotSpecializable","typeNotSubscriptable","typeNotUsableWith","typeNotSupportBinaryOperator","typeNotSupportBinaryOperatorBidirectional","typeNotSupportUnaryOperator","typeNotSupportUnaryOperatorBidirectional","typePartiallyUnknown","typeUnknown","typeVarAssignedName","typeVarAssignmentMismatch","typeVarBoundAndConstrained","typeVarFirstArg","typeVarGeneric","typeVarNoMember","typeVarNotSubscriptable","typeVarNotUsedByOuterScope","typeVarSingleConstraint","typeVarsNotInGeneric","typeVarTupleMustBeUnpacked","typeVarTupleContext","typeVarUnknownParam","typeVarUsedByOuterScope","typeVarUsedOnlyOnce","typeVarVariance","unaccessedClass","unaccessedFunction","unaccessedImport","unaccessedSymbol","unaccessedVariable","unexpectedAsyncToken","unexpectedExprToken","unexpectedIndent","unexpectedUnindent","unionSyntaxIllegal","unionTypeArgCount","uninitializedInstanceVariable","unnecessaryCast","unnecessaryIsInstanceAlways","unnecessaryIsSubclassAlways","unnecessaryTypeIgnore","unpackArgCount","unpackedArgInTypeArgument","unpackedArgWithVariadicParam","unpackedDictArgumentNotMapping","unpackedSubscriptIllegal","unpackedTypedDictArgument","unpackedTypeVarTupleExpected","unpackExpectedTypedDict","unpackExpectedTypeVarTuple","unpackIllegalInComprehension","unpackInAnnotation","unpackInDict","unpackInSet","unpackNotAllowed","unpackOperatorNotAllowed","unpackTuplesIllegal","unreachableCode","unreachableExcept","unsupportedDunderAllOperation","unusedCallResult","unusedCoroutine","varAnnotationIllegal","variadicTypeArgsTooMany","variadicTypeParamTooManyAlias","variadicTypeParamTooManyClass","walrusIllegal","walrusNotAllowed","wildcardInFunction","wildcardLibraryImport","yieldFromIllegal","yieldFromOutsideAsync","yieldOutsideFunction","yieldTypeMismatch","yieldWithinListCompr","zeroCaseStatementsFound","zeroLengthTupleNotAllowed","argParam","argParamFunction","argsParamMissing","argsPositionOnly","argumentType","argumentTypes","assignToNone","asyncHelp","baseClassProvidesType","dataClassFrozen","dataClassFieldLocation","finalMethod","functionParamDefaultMissing","functionParamName","functionReturnTypeMismatch","functionTooFewParams","incompatibleGetter","incompatibleSetter","incompatibleDeleter","initMethodLocation","initMethodSignature","functionTooManyParams","kwargsParamMissing","literalAssignmentMismatch","matchIsNotExhaustiveType","matchIsNotExhaustiveHint","memberAssignment","memberIsAbstract","memberIsAbstractMore","memberIsFinalInProtocol","memberIsInitVar","memberIsNotFinalInProtocol","memberSetClassVar","memberUnknown","missingProtocolMember","missingGetter","missingSetter","missingDeleter","namedParamMissingInDest","namedParamMissingInSource","namedParamTypeMismatch","newMethodLocation","newMethodSignature","noOverloadAssignable","overloadMethod","overloadNotAssignable","overriddenMethod","overriddenSymbol","overrideParamCount","overrideParamName","overrideParamNamePositionOnly","overrideParamType","overrideReturnType","overrideType","paramAssignment","paramSpecOverload","privateImportFromPyTypedSource","propertyAccessFromProtocolClass","propertyMethodIncompatible","propertyMethodMissing","propertyMissingDeleter","propertyMissingSetter","protocolMemberClassVar","protocolIncompatible","protocolMemberMissing","protocolSourceIsNotConcrete","readOnlyAttribute","seeDeclaration","seeClassDeclaration","seeFunctionDeclaration","seeMethodDeclaration","seeParameterDeclaration","seeVariableDeclaration","tupleEntryTypeMismatch","tupleSizeMismatch","tupleSizeMismatchIndeterminate","typeBound","typeConstrainedTypeVar","typedDictFieldTypeMismatch","typedDictFieldUndefined","typedDictFinalMismatch","typeIncompatible","typeNotClass","typeParamSpec","typeOfSymbol","typeUnsupported","typeVarIsContravariant","typeVarIsCovariant","typeVarIsInvariant","typeVarTupleRequiresKnownLength","typeVarNotAllowed","typeVarsMissing","useDictInstead","useListInstead","useTupleInstead","useTypeInstead","addOptionalToAnnotation","createTypeStub","createTypeStubFor","executingCommand","filesToAnalyzeOne","filesToAnalyzeCount","findingReferences","organizeImports","moveFile","moveFileLabel","moveFileDescription","singleTickRegEx","escapedDoubleQuoteRegEx","printTypeFlags","returnTypeCallback","recursionTypes","parenthesizeUnion","parenthesizeCallable","expandTypeAlias","argumentStrings","tupleTypeArg","includeConditionalIndicator","getConditionalIndicator","printLiteralValue","paramSignature","fullSignature","subtypeHandledSet","subtypeStrings","updatedPrintTypeFlags","matchedAllSubtypes","allSubtypesPreviouslyHandled","indicesCoveredByTypeAlias","sourceSubtype","unionSubtypeIndex","foundMatch","unionSubtype","noneIndex","typeWithoutNone","optionalType","literalObjectStrings","literalClassStrings","dedupedSubtypeStrings","literalStrings","unionString","boundTypeString","quotation","literalStr","objName","lastTypeParam","typeArgStrings","isAllAny","typeArgText","typeArgTypeText","paramTypeStrings","sawDefinedName","specializedParamType","paramString","defaultValueAssignment","isParamSpecArgsKwargsParam","paramTypeString","defaultValueExpression","returnTypeString","DocumentSymbolCollector","_symbolName","_cancellationToken","_startingNode","_treatModuleInImportAndFromImportSame","_results","_dunderAllNameNodes","_setDunderAllNodes","cancellationToken","startingNode","declarations","getDeclarationsForNode","collect","resolveLocalName","_getDeclarationsForNode","resolvedDeclarations","_addIfUnique","_resultsContainsDeclaration","_addResult","quoteMarkLength","hasEnding","getStringValueRange","getStringNodeValueRange","resolvedDeclNonlocal","_getResolveAliasDeclaration","isAliasDeclFromImportAsWithAlias","moduleScope","stringNodes","stringNode","symbolInScope","lookUpSymbolRecursive","itemToAdd","aliasDecl","isImportAsWithAlias","symbolWithScope","getOverloadedFunctionTooltip","columnThreshold","getFunctionDocStringFromType","_getFunctionDocString","memberIterator","classMember","inheritedDecl","getFunctionDocStringInherited","getOverloadedFunctionDocStringsFromType","resolvedDecls","declType","getOverloadedFunctionDocStringsInherited","getDocumentationPartsForTypeAndDecl","Keywords","SortCategory","python3_5","python3_10","forVersion","V3_5","dictionaryKeyDetail","CompletionProvider","_workspacePath","_parseResults","_fileContents","_position","_filePath","_importLookup","_sourceMapper","_autoImportMaps","_insideStringLiteral","findExecEnvironment","getCompletionsForPosition","initialNode","initialDepth","curOffset","sawComma","curChar","lineTextRange","textOnLine","priorText","postText","priorWordIndex","priorWord","_isWithinComment","errorNode","_getLiteralCompletions","_getImportModuleCompletions","_getExpressionErrorCompletions","_getMemberAccessCompletions","completionMap","CompletionMap","_addTypedDictKeys","dictionaryEntry","dictionaryNode","trailingCommaToken","_tryGetNameCompletions","_getImportFromCompletions","_getExpressionCompletions","_getStatementCompletions","resolveCompletionItem","completionItem","completionItemData","autoImportText","curIndex","_mostRecentCompletions","symbolLabel","_itemToResolve","completionResults","_addAutoImportCompletions","_isOverload","_getMethodOverloadsCompletions","tokenIndex","prevToken","getTokenAfter","_createSingleKeywordCompletion","_getMethodOverrideCompletions","_checkDecorator","_makeSortText","LikelyKeyword","partialName","getSymbolTable","funcParensDisabled","enclosingFunc","_createReplaceEdits","_addSymbol","staticmethod","classmethod","isDeclaredStaticMethod","isDeclaredClassMethod","methodSignature","_printMethodSignature","_printOverriddenMethodBody","snippet","replaceOrInsertEndChar","ellipsisForDefault","printFlags","paramList","paramTypeAnnotation","getTypeAnnotationForParameter","isSimpleDefault","sb","results","keywordOnly","parameter","getParameters","leftExprNode","memberAccessInfo","leftType","makeTopLevelTypeVarsConcrete","getMembersForModule","functionClass","objectClass","_addSymbolsForSymbolTable","_getLastKnownModule","curType","unknownMemberName","moduleNamesForType","lastKnownModule","lastKnownMemberName","parseNode","isIndexArgument","_isIndexArgument","_addCallArgumentCompletions","_addSymbols","_findMatchingKeywords","lazyEdit","_tryAddTypedDictStringLiteral","declaredTypeOfTarget","getExpectedType","_addLiteralValuesForTargetType","indexNode","_getIndexerKeys","_addNameToCompletions","LiteralValue","itemDetail","currentNode","atArgument","callInfo","signatureInfo","getCallSignatureInfo","callNameEnd","_addNamedParameters","_addLiteralValuesForArgument","signatures","signature","activeParam","quoteValue","_getQuoteValueFromPriorText","_getSubTypesWithLiteralValues","quoteCharacter","stringValue","_addStringLiteralToCompletions","_getDictExpressionStringKeys","excludeIds","getDictionaryLikeNode","_getIndexerKeyType","getItemType","invocationNode","predominantSingleQuoteCharacter","scopeRoot","collectFromNode","dictionary","quote","indexArgument","expectedTypeResult","stringParent","dictOrSet","stringLiteral","keyWithoutQuote","typedDicts","_tryNarrowTypedDicts","excludes","typedDict","newTypes","lastSingleQuote","lastDoubleQuote","priorString","valueWithQuotes","rangeStartCol","rangeEndCol","similarityLimit","autoImportCompletions","autoImport","moduleSymbolMap","getModuleSymbolsMap","autoImporter","AutoImporter","libraryMap","nameMap","getAutoImportCandidatesForAbbr","getAutoImportCandidates","perfInfo","getPerfInfo","additionDuration","autoImportSource","autoImportAlias","insertionText","_getAutoImportText","autoImportInfo","indexUsed","totalTimeInMS","totalInMs","moduleTimeInMS","indexTimeInMS","importAliasTimeInMS","itemCount","symbolCount","indexCount","importAliasCount","additionTimeInMS","importFromNode","lookupResults","imp","implImport","keywordList","partialMatch","argNameMap","_addNamedParametersToMap","argName","workspacePath","NamedParameter","paramMap","includeSymbolCallback","isInImport","boundObjectOrClass","isDefinedInFile","primaryDecl","itemKind","_convertDeclarationTypeToItemKind","typeDetail","altDetail","bindFunctionToClassOrObject","propertyType","getGetterTypeFromProperty","printSimplifiedFunctionSignature","markdownString","plainTextString","importAlias","getAutoImportText","matchKindAndImportText","AutoImport","DunderSymbol","PrivateSymbol","NormalSymbol","insertTextFormat","te","_getRecentListIndex","sortCategory","recentListIndex","RecentAutoImport","ImportModuleName","RecentImportModuleName","RecentKeywordOrSymbol","_formatInteger","digits","charCodeZero","digit","resolvedDeclaration","intrinsicType","isConstant","_isPossiblePropertyDeclaration","getTypeOfFunction","decoratedType","completions","missingImportKeyword","completionName","_completions","existing","autImportText","toArray","_kind","_autoImportText","_execEnvironment","_invocationPosition","_excludes","_moduleSymbolMap","_stopWatch","_perfInfo","_importStatements","abbr","abbrInfo","_getCandidates","word","abbrFromUsers","resultMap","importAliasMap","_addImportsFromModuleMap","_addImportsFromLibraryMap","_addImportsFromImportAliasMap","aliasMap","indexResults","privateOrProtected","isStubFileOrHasInit","_isStubFileOrHasInit","_processModuleSymbolTable","createModuleSymbolTableFromIndexResult","topLevelSymbols","initPathPy","initPathPyi","isStub","hasInit","isStubOrHasInit","importSource","_getImportPartsForSymbols","dotCount","autoImportSymbol","library","_perfIndexCount","_shouldIncludeVariable","_isSimilar","_containsName","_addToImportAliasMap","importParts","autoImportTextEdits","_getTextEditsForAutoImportByFilePath","convertSymbolKindToCompletionItemKind","_getImportParts","modulePath","originalName","allowVariableInAll","mapPerSymbolName","importAliasData","imported","existingData","_compareImportAliasData","groupComparison","dotComparison","_getModuleNameAndTypeFromFilePath","importNamePart","createImportParts","patternMatcher","_shouldExclude","labelOnlyIgnoringAutoImports","importNode","symbols","externallyVisible","CallHierarchyProvider","getSymbolKind","incomingCalls","FindIncomingCallTreeWalker","findCalls","parseRoot","initMethodMember","initMethodType","getTypeOfMember","initDecls","primaryInitDecl","outgoingCalls","FindOutgoingCallTreeWalker","targetDecl","_parseRoot","_outgoingCalls","nameNode","_addOutgoingCallForDeclaration","leftHandType","memberInfo","memberType","propertyDecls","callDest","outgoingCall","outgoing","fromRanges","fromRange","_declaration","_incomingCalls","_addIncomingCallForDeclaration","executionNode","callSource","moduleRange","lambdaRange","functionRange","incomingCall","incoming","symbolKind","ReferencesResult","requiresGlobalSearch","nodeAtOffset","_reporter","_locations","addLocations","locs","FindReferencesTreeWalker","_referencesResult","_includeDeclaration","findReferences","rootNode","collector","ReferencesProvider","reporter","evalScope","getDeclarationForNode","referencesResult","includeDeclaration","refTreeWalker","UpdateType","PythonPlatform","DefinitionFilter","Comment","Token","IndentToken","DedentToken","NewLineToken","KeywordToken","StringToken","NumberToken","OperatorToken","IdentifierToken","RenameModuleProvider","_fs","_moduleFilePath","newModuleFilePath","_moduleNameAndType","_newModuleNameAndType","_aliasIntroduced","_newModuleFilePath","_moduleNames","_moduleName","_newModuleNames","_newModuleName","_onlyNameChanged","importResolver","newPath","_create","oldDirectory","newDirectory","getDirectoryChangeKind","fileNameForPackage","filteredDecls","moduleFilePath","tokenOrDeclarations","newModuleName","renameReferences","_renameFolderReferences","_renameModuleReferences","_updateSymbolReferences","nameRemoved","importUsed","nodeFound","fromNode","_getNewModuleName","_addResultWithTextRange","_addFromImportNameDeletion","_addResultEdits","_getTextEditsForNewOrExistingFromImport","dottedName","moduleDecl","referenceModuleName","_canReplaceImportName","_getReferenceModuleName","_addImportNameDeletion","_newLastModuleName","fromImportAs","symbolReferences","nameToBind","lastModuleName","_updateModuleReferences","_updateRelativeModuleNamePath","_getNewRelativeModuleNamesForFileMoved","ModuleNameCollector","itemsToMove","moduleNameNode","exportedSymbols","subModules","_isExportedSymbol","nextNameDecl","moduleNames","originalInit","originalDirectory","newNames","_getNewModuleNameInfoForFileMoved","dest","submoduleFallback","currentFilePath","isRelativePath","isLastPartImportName","dotPrefix","getEdits","importToDelete","_addImportNameDeletionInternal","importKind","nameNodes","nameNodeIndex","editSpan","getTextRangeForImportNameDeletion","lastImportIndexNotDeleted","_addResultWithRange","statementNode","tokenPosition","currentIndex","tokenRange","_getEndPositionIfMultipleStatementsAreOnSameLine","getFullStatementRange","newName","_getDeletionsForSpan","filePathOrEdit","_removeEdits","deletions","currentFromImport","CircularDependency","_paths","appendPath","getPaths","normalizeOrder","firstIndex","isEqual","circDependency","getWellformedRange","addedLineOffsets","computeLineOffsets","isAtLineStart","textOffset","getWellformedEdit","spans","ExecutionEnvironment","defaultPythonVersion","defaultPythonPlatform","defaultExtraPaths","pythonPlatform","getBooleanDiagnosticRules","includeNonOverridable","boolRules","strictListInference","strictSetInference","strictDictionaryInference","strictParameterNoneValue","enableTypeIgnoreComments","getDiagLevelDiagnosticRules","reportPropertyTypeMismatch","reportFunctionMemberAccess","reportMissingImports","reportMissingModuleSource","reportMissingTypeStubs","reportImportCycles","reportUnusedImport","reportUnusedClass","reportUnusedFunction","reportUnusedVariable","reportDuplicateImport","reportWildcardImportFromLibrary","reportOptionalSubscript","reportOptionalMemberAccess","reportOptionalCall","reportOptionalIterable","reportOptionalContextManager","reportOptionalOperand","reportUntypedFunctionDecorator","reportUntypedClassDecorator","reportUntypedBaseClass","reportUntypedNamedTuple","reportPrivateUsage","reportPrivateImportUsage","reportConstantRedefinition","reportIncompatibleMethodOverride","reportIncompatibleVariableOverride","reportInconsistentConstructor","reportOverlappingOverload","reportMissingSuperCall","reportUninitializedInstanceVariable","reportInvalidStringEscapeSequence","reportUnknownParameterType","reportUnknownArgumentType","reportUnknownLambdaType","reportUnknownVariableType","reportUnknownMemberType","reportMissingParameterType","reportMissingTypeArgument","reportInvalidTypeVarUse","reportCallInDefaultInitializer","reportUnnecessaryIsInstance","reportUnnecessaryCast","reportUnnecessaryComparison","reportAssertAlwaysTrue","reportSelfClsParameterName","reportImplicitStringConcatenation","reportUndefinedVariable","reportUnboundVariable","reportInvalidStubStatement","reportIncompleteStub","reportUnsupportedDunderAll","reportUnusedCallResult","reportUnusedCoroutine","reportUnnecessaryTypeIgnoreComment","reportMatchNotExhaustive","ConfigOptions","projectRoot","typeCheckingMode","include","exclude","ignore","strict","indexing","logTypeEvaluationTime","typeEvaluationTimeThreshold","initializedFromJson","analyzeUnannotatedFunctions","executionEnvironments","getDiagnosticRuleSet","printUnknownAsAny","omitTypeArgsIfAny","omitUnannotatedParamType","omitConditionalConstraint","pep604Printing","getDefaultExecEnvironment","envRoot","getExecutionEnvironments","initializeFromJson","configObj","diagnosticOverrides","skipIncludeSection","configTypeCheckingMode","useLibraryCodeForTypes","defaultSettings","applyDiagnosticOverrides","ruleName","_convertBoolean","_convertDiagnosticLevel","pathIndex","ensureDefaultPythonVersion","ensureDefaultPythonPlatform","typingsPath","verboseOutput","_initExecutionEnvironmentFromJson","getPythonPlatform","getPythonVersion","ensureDefaultExtraPaths","autoSearchPaths","diagnosticSeverityOverrides","envObj","newExecEnv","DiagnosticSink","_diagnosticList","_diagnosticMap","fetchAndClear","prevDiagnostics","addWarning","addInformation","addUnusedCode","addDeprecated","addDiagnostics","diagsToAdd","getErrors","getWarnings","getInformation","getUnusedCode","getDeprecated","TextRangeDiagnosticSink","addDiagnosticWithTextRange","positionRange","addUnusedCodeWithTextRange","addDeprecatedWithTextRange","TextRangeCollection","_items","lastItem","DefinitionProvider","definitions","_resolveDeclarations","All","preferStubs","PreferStubs","wantedFile","isUnresolved","_createModuleEntry","importLookup","resolveLocalNames","allowExternallyHiddenAccess","curDeclaration","alreadyVisited","privatePyTypedImported","privatePyTypedImporter","isPrivate","lookupResult","unvisitedDecls","DocumentSymbolProvider","symbolList","appendWorkspaceSymbolsRecursive","indexSymbols","indexingForAutoImportMode","appendDocumentSymbolsRecursive","indexSymbolData","collectSymbolIndexData","container","symbolData","symbolInfo","getContainerName","isInPyTypedPackage","aliasData","resolvedInfo","nameValue","getIndexAliasData","collectSymbolIndexDataForName","appendToFlatSymbolsRecursive","flatSymbols","documentUri","flatSymbol","ImportSorter","sortedStatements","aImportGroup","bImportGroup","compareImportStatements","primaryRange","_getPrimaryReplacementRange","_generateSortedImportText","_addSecondaryReplacementRanges","statementLimit","lastStatement","secondaryBlockStart","secondaryBlockLimit","curImportType","importLine","_formatImportNode","_formatImportFromNode","_compareSymbols","symbolText","cumulativeText","predominantTabSequence","getUnescapedString","stringToken","escapedString","isRaw","isFormat","unescapeErrors","nonAsciiInBytes","formatStringSegments","charCodes","isBytes","formatExpressionNestCount","formatSegment","valueParts","isExpression","hasFormatSpecifier","strOffset","addInvalidEscapeOffset","errorType","getEscapedCharacter","scanHexEscape","digitCount","foundIllegalHexDigit","hexValue","localValue","charCode","_isHexCharCode","_getHexDigitValue","appendOutputChar","incomplete","segment","foundIllegalChar","charCount","lookaheadChar","_isAlphaNumericChar","_isOctalCharCode","octalCode","quoteChar","isTriplicate","strChar","CharacterStream","_text","_currentChar","_isEndOfStream","_checkBounds","getCurrentChar","isEndOfStream","lookAhead","advance","moveNext","isAtWhiteSpace","currentChar","isAtLineBreak","skipLineBreak","skipWhitespace","skipToEol","skipToWhitespace","indentAmount","isIndentAmbiguous","matchesIndent","isDedentAmbiguous","newLineType","prefixLength","operatorType","_keywords","_operatorInfo","Tokenizer","_cs","_tokens","_prevLineStart","_parenDepth","_lineRanges","_indentAmounts","_typeIgnoreLines","_crCount","_crLfCount","_lfCount","_indentCount","_indentTabCount","_indentSpacesTotal","_singleQuoteCount","_doubleQuoteCount","_ipythonMode","tokenize","initialParenDepth","ipythonMode","_readIndentationAfterNewLine","_addNextToken","_getComments","_setIndent","_addLineRange","averageSpacePerIndent","typeIgnoreLines","typeIgnoreAll","_typeIgnoreAll","_handleCharacter","stringPrefixLength","_getStringPrefixLength","stringPrefix","quoteTypeFlags","_getQuoteTypeFlags","_handleString","_handleComment","_isIPythonMagics","_handleIPythonMagics","_handleInvalid","_handleNewLine","_isPossibleNumber","_tryNumber","_tryIdentifier","_tryOperator","lineLength","tab1Spaces","tab8Spaces","isTabPresent","isSpacePresent","prevTabInfo","dedentPoints","dedentAmount","actualDedentAmount","swallowRemainingChars","radix","leadingChars","simpleIntText","intValue","bigIntValue","isDecimalInteger","mightBeFloatingPoint","_skipFloatingPointCandidate","parseFloat","prevComments","_comments","comment","_addComments","regexMatch","textRange","stringLiteralInfo","_skipToEndOfStringLiteral","escapedValueParts","_skipFractionalNumber","_skipDecimalNumber","allowSign","ParseOptions","skipFunctionAndClassBody","maxChildNodeDepth","_tokenIndex","_areErrorsSuppressed","_parseOptions","_diagSink","_isInLoop","_isInFunction","_isInFinally","_isParsingTypeAnnotation","_isParsingIndexTrailer","_futureImportMap","_importedModules","_containsWildcardImport","_assignmentExpressionsAllowed","_typingImportAliases","_typingSymbolAliases","parseSourceFile","fileContents","parseOptions","diagSink","_startNewParse","_atEof","_consumeTokenIfType","nextToken","_peekToken","_getNextToken","indentToken","_addError","_parseStatement","_consumeTokensUntilType","_tokenizerOutput","importedModules","futureImports","containsWildcardImport","typingSymbolAliases","parseTextExpression","textLength","parseTextMode","_parseTypeAnnotation","_parseFunctionTypeAnnotation","exprListResult","_parseTestOrStarExpressionList","parseError","_makeExpressionOrTuple","_peekTokenType","tokenizer","_peekKeywordType","_parseIfStatement","_parseWhileStatement","_parseForStatement","_parseTryStatement","_parseWithStatement","_parseFunctionDef","_parseClassDef","_parseAsyncStatement","peekToken","isInvalidMatchToken","matchStatement","_parseMatchStatement","_peekOperatorType","_parseDecorated","_parseSimpleStatement","asyncToken","_getKeywordToken","smellsLikeMatchStatement","_suppressErrors","curTokenIndex","_parseTestOrStarListAsExpression","matchNode","possibleIndent","caseStatement","_parseCaseStatement","dedentToken","_getLanguageVersion","caseNode","_consumeTokenIfKeyword","patternList","_parsePatternSequence","casePattern","_parseTestExpression","_parseSuite","_isPatternIrrefutable","_getPatternTargetNames","subpattern","mapEntry","_parseExpressionListGeneric","_parsePatternAs","starEntries","captureTargetMap","asPattern","patternAtom","_parsePatternAtom","_consumeTokenIfOperator","_getTokenIfIdentifier","orPattern","fullNameMap","localNameMap","missingNames","patternLiteral","_parsePatternLiteral","patternCaptureOrValue","_parsePatternCaptureOrValue","_parseClassPatternArgList","classNameExpr","classPattern","identifierToken","endToken","mappingPattern","_parsePatternMapping","lastToken","_handleExpressionParseError","sawKeywordArg","nextTokenType","_parseClassPatternArgument","secondToken","keywordName","nextOperator","_parsePatternLiteralNumber","stringList","_parseAtom","stringAtom","keywordToken","_parseArithmeticExpression","realValue","imagValue","itemList","_parsePatternMappingItem","starStarEntries","doubleStar","nameOrMember","ifNode","_parseLoopSuite","wasInLoop","wasInFinally","skipBody","postColonCallback","wasFunction","targetExpr","_parseExpressionListAsPossibleTuple","seqExpr","V3_9","sawStar","forNode","_tryParseListComprehension","compFor","_tryParseCompForStatement","listCompNode","forIfList","compIter","_tryParseCompIfStatement","comp","startTokenKeywordType","_disallowAssignmentExpression","_parseOrTest","compForNode","ifExpr","_tryParseLambdaExpression","_parseAssignmentExpression","whileNode","tryNode","sawCatchAllExcept","possibleStarToken","typeExpr","V3_11","exceptNode","_parseVarArgsList","functionTypeAnnotationToken","_getTypeAnnotationCommentText","_parseFunctionTypeAnnotationComment","terminator","allowAnnotations","sawDefaultParam","reportedNonDefaultParamErr","sawPositionOnlySeparator","sawKwArgs","_parseParameter","foundComma","_parseVariableTypeAnnotationComment","starCount","slashCount","V3_8","sublistStart","paramNode","withItemList","possibleParen","isParenthesizedWithItemList","openParenTokenIndex","_parseWithItem","withSuite","withNode","withItem","itemNode","_parseExpression","decoratorList","_parseDecorator","atOperator","isSupportedExpressionForm","_isNameOrMemberAccessExpression","decoratorNode","_parseArgList","_parsePassStatement","_parseBreakStatement","breakToken","_parseContinueStatement","continueToken","_parseReturnStatement","returnToken","returnNode","_isNextTokenNeverExpression","returnExpr","_reportConditionalErrorForStarTupleElement","_parseFromStatement","modName","_parseDottedModuleName","isFutureImport","possibleInputToken","wildcardToken","inParen","importFromAsNode","isTypingImport","firstNamePartValue","typingSymbolsOfInterest","_parseImportStatement","importToken","aliasToken","allowJustDots","_getTokenIfType","identifier","namePart","_parseGlobalStatement","globalToken","globalNode","_parseNameList","_parseNonlocalStatement","nonlocalToken","nonlocalNode","_parseRaiseStatement","raiseToken","raiseNode","_parseAssertStatement","assertNode","exceptionExpr","_parseDelStatement","_parseExpressionList","delNode","_parseYieldExpression","V3_3","exprList","_tryParseYieldExpression","invalidToken","firstCharCode","smallStatement","_parseSmallStatement","_parseExpressionStatement","tupleStartRange","tupleNode","errorCategory","errorString","errorToken","_parseTestListAsExpression","_parseTestExpressionList","allowAssignmentExpression","allowMultipleUnpack","allowStar","_parseTestOrStarExpression","allowUnpack","_parseBitwiseOrExpression","_parseLambdaExpression","testExpr","elseExpr","disallowAssignmentExpression","leftExpr","walrusToken","rightExpr","_parseAndTest","_createBinaryOperationNode","_parseNotTest","notToken","notExpr","_createUnaryOperationNode","_parseComparison","comparisonOperator","isOperatorComparison","tokenAfterNot","_parseBitwiseXorExpression","_parseBitwiseAndExpression","_parseShiftExpression","_parseArithmeticTerm","_parseArithmeticFactor","_parseAtomExpression","_isTypingAnnotation","baseName","atomExpression","startOfTrailerToken","wasParsingTypeAnnotation","argListResult","isArgListTerminated","wasParsingIndexTrailer","subscriptList","_parseSubscriptList","closingToken","startOfSubscriptIndex","nameIdentifier","valueExpr","_parsePossibleSlice","nameExpr","argNode","unpackAllowed","sliceExpressions","sliceIndex","sawColon","sliceNode","_parseArgument","listComp","_parseStringList","expressionNode","possibleTupleNode","_parseTupleAtom","listNode","_parseListAtom","dictNode","_parseDictionaryOrSetAtom","keywordAsIdentifier","errorMsg","targetToken","childNode","additionalStopTokens","stopTokens","allowConditional","lambdaNode","startParen","yieldExpr","_parseTestListWithComprehension","tupleOrExpression","startBracket","closeBracket","_createList","listAtom","sawComprehension","startBrace","dictionaryEntries","setEntries","isDictionary","isSet","sawListComprehension","isFirstEntry","doubleStarExpression","keyEntryNode","dictEntry","listEntryNode","expandEntryNode","missingValueErrorNode","closeCurlyBrace","setAtom","dictionaryAtom","terminalCheck","finalEntryCheck","annotationExpr","V3_6","isTypeAliasDeclaration","_parseChainAssignments","isOperatorAssignment","destExpr","assignmentNode","paramAnnotation","isUnpack","_reportStringTokenErrors","unescapedResult","_makeStringNode","curToken","typeString","tokenOffset","stringListNode","functionAnnotation","_parseFormatStringSegment","segmentOffset","segmentLength","textRangeStart","_parseFormatString","formatExpressions","segmentExprLength","_getFormatStringExpressionLength","formatDirective","braceDepth","startOfExprOffset","formatSegmentLength","segmentValue","quoteStack","indexOfDebugEqual","braceCount","parenCount","bracketCount","ignoreSeparator","inString","quoteSequence","unescapedString","possibleTupleExpr","wasAllowed","keywordText","terminators","term","errorsWereSuppressed","Scope","notLocalBindings","getGlobalScope","curScope","isIndependentlyExecutable","isOutsideCallerModule","isBeyondExecutionScope","isDefinedByMemberAccess","parentScope","addSymbol","getBindingType","setBindingType","bindingType","setSlotsNames","slotsNames","getSlotsNames","evaluateStaticBoolExpression","typingImportAliases","sysImportAliases","evaluateStaticBoolLikeExpression","leftValue","rightValue","_isSysVersionInfoExpression","comparisonVersion","majorVersion","minorVersion","_convertTupleToVersion","_evaluateNumericBinaryOperation","_isSysPlatformInfoExpression","comparisonPlatform","expectedPlatformName","Darwin","Windows","Linux","_getExpectedPlatformNameFromPlatform","_evaluateStringBinaryOperation","_isOsNameInfoExpression","comparisonOsName","expectedOsName","_getExpectedOsNameFromPlatform","Binder","_moduleSymbolOnly","_deferredBindingTasks","_currentExceptTargets","_finallyTargets","_sysImportAliases","_dataclassesImportAliases","_dataclassesSymbolAliases","_dunderAllStringNodes","_usesUnsupportedDunderAllForm","_isInExceptSuite","_potentialHiddenSymbols","_potentialPrivateSymbols","_functionCodeFlowComplexity","_fileInfo","bindModule","isBuiltInModule","builtinsScope","_createNewScope","_currentScope","_currentFlowNode","_addImplicitSymbolToCurrentScope","_createStartFlowNode","_walkStatementsAndReportUnreachable","_currentScopeCodeFlowExpressions","_bindDeferred","_dunderAllNames","usesUnsupportedDunderAllForm","_addDiagnostic","diagnostic","createTypeStubAction","classDeclaration","_bindNameToScope","_createAssignmentTargetFlowNodes","containingClassNode","functionDeclaration","_getNonClassParentScope","_deferBinding","paramDeclaration","_createFlowAssignment","_targetFunctionDeclaration","_currentReturnTarget","_createBranchLabel","_addAntecedent","returnFlowNode","_finishFlowLabel","complexity","codeFlowComplexity","_disableTrueFalseTargets","_createCallFlowNode","emitDunderAllWarning","argExpr","namesToAdd","_getDunderAllNamesFromImport","_handleTypingStubAssignmentOrAnnotation","_bindPossibleTupleNamedTarget","_addTypeDeclarationForVariable","isPossibleTypeAlias","isTypingStubFile","_addInferredTypeAssignmentForVariable","tupleEntryNode","dunderSlotsNames","isExpressionUnderstood","_addSlotsToCurrentScope","evaluationNode","containerScope","_createVariableAnnotationFlowNode","expressionList","_isNarrowingExpression","referenceKey","preForLabel","_createLoopLabel","preElseLabel","postForLabel","_bindLoopStatement","enclosingFunction","_currentContinueTarget","_unreachableFlowNode","_currentBreakTarget","returnStatements","_isInListComprehension","_bindYield","preIfFlowNode","thenLabel","elseLabel","postIfLabel","affectedExpressions","_trackCodeFlowExpressions","constExprValue","executionEnvironment","_bindConditional","_bindNeverCondition","postWhileLabel","preLoopLabel","assertTrueLabel","assertFalseLabel","wasInExceptSuite","raiseStatements","preTryFlowNode","curExceptTargets","preFinallyLabel","isAfterElseAndExceptsReachable","preFinallyReturnOrRaiseLabel","preFinallyGate","PreFinallyGate","antecedent","isGateClosed","except","exceptLabel","_useExceptTargets","_isCodeUnreachable","postFinallyNode","PostFinally","finallyNode","isIPythonMode","globalScope","valueWithScope","_createAliasDeclarationForMultipartImportName","dataclassesSymbolsOfInterest","isModuleInitFile","isDataclassesImport","lookupInfo","wildcardNames","_getWildcardImportNames","_addImplicitFromImport","localSymbol","_createFlowWildcardImport","importSymbolNode","importedName","contextManagerSwallowExceptionTarget","_createContextManagerLabel","contextManagerForwardExceptionTarget","exceptionTarget","preWithSuiteNode","postContextManagerLabel","_addExceptTargets","preTernaryFlowNode","trueLabel","falseLabel","postExpressionLabel","_currentFalseTarget","_currentTrueTarget","postRightLabel","trueTarget","falseTarget","preRightLabel","compr","addedSymbols","isSubjectNarrowable","postMatchLabel","foundIrrefutableCase","postCaseLabel","preGuardLabel","preSuiteLabel","_createFlowNarrowForPattern","_createFlowExhaustedMatch","postOrLabel","_addPatternCaptureTarget","slotNameNodes","slotsContainsDict","slotNameNode","slotName","honorPrivateNaming","isDefinedBySlots","ignoreOutermostIterable","outermostCompr","targets","prevExceptTargets","varName","varSymbol","dunderAllNames","existingDecl","newDecl","_addImplicitImportsToLoaderActions","curLoaderActions","namePartValue","loaderActions","namesToImport","foundUnreachableStatement","YieldFinder","checkContainsYield","Start","preBranchAntecedent","BranchLabel","antecedents","NarrowForPattern","blockIfSwallowsExceptions","PostContextManager","LoopLabel","isPositiveTest","_createFlowConditional","TrueNeverCondition","FalseNeverCondition","savedCurrentFlowNode","initialCurrentFlowNode","afterLabel","prevCurrentNode","_setTrueFalseTargets","_isLogicalExpression","TrueCondition","FalseCondition","savedTrueTarget","savedFalseTarget","staticValue","filteredExprList","conditionalFlowNode","filterForNeverNarrowing","isComplexExpression","isOrIsNotOperator","equalsOrNotEqualsOperator","isLeftNarrowing","isRightNarrowing","walkTargets","unbound","Call","VariableAnnotation","targetSymbolId","prevFlowNode","Assignment","Unbind","WildcardImport","ExhaustedMatch","savedExpressions","scopedExpressions","postLoopLabel","savedContinueTarget","savedBreakTarget","savedCodeFlowComplexity","_addSymbolToCurrentScope","symbolFlags","prevScope","newScope","isExecutionScope","prevExpressions","isInferenceAllowedInPyTyped","_isInferenceAllowedInPyTyped","_getVariableDocString","_getMemberAccessInfo","classScope","declarationHandled","finalInfo","_isAnnotationFinal","isExplicitTypeAlias","_isAnnotationTypeAlias","innerTypeAnnotationNode","finalTypeNode","classVarInfo","_isAnnotationClassVar","classVarTypeNode","containingClass","_isRequiredAnnotation","_isNotRequiredAnnotation","_isDataclassesAnnotation","item0Expr","_isKnownAnnotation","importAliases","symbolAliases","annotationNode","suiteOrModule","assignmentIndex","nextStatement","isValidContext","leftSymbolName","firstParamName","decoratorName","existingLoaderAction","assignedNameNode","specialTypes","assignedName","nextItem","yieldStatements","diagLevel","_addWarning","_addInformation","diagnosticSink","_containsYield","getTypeNarrowingCallback","adjIsPositiveTest","expandedType","mapSubtypesExpandTypeVars","unexpandedSubtype","adjustedSubtype","narrowTypeForIsNone","indexValue","tupleLength","typeOfEntry","narrowTupleTypeForIsNone","callType","matches","narrowTypeForTypeIs","rightType","narrowTypeForLiteralComparison","referenceType","indexLiteralType","literalType","canNarrow","narrowedType","tdEntry","narrowTypeForDiscriminatedDictEntryComparison","tupleEntryType","narrowTypeForDiscriminatedTupleComparison","lengthValue","concreteSubtype","narrowTypeForTupleLength","narrowTypeForDiscriminatedFieldComparison","containerType","builtInName","elementType","elementTypeWithoutLiteral","referenceSubtype","elementSubtype","narrowTypeForContains","literalKey","oldNarrowedEntriesMap","newNarrowedEntriesMap","narrowTypeForTypedDictKey","isInstanceCheck","arg0Expr","arg1Expr","classTypeList","foundNonClassType","addClassTypesToList","getIsInstanceClassTypes","narrowTypeForIsInstance","narrowTypeForCallable","narrowTypeForTruthiness","functionReturnType","typeGuardSubtype","isSubType","isSuperType","narrowTypeForUserDefinedTypeGuard","testExprDecl","getDeclsForLocalVar","referenceDecls","modifyingDecls","isNodeReachable","initNode","reachableFrom","prevDeclScope","declScopeNode","reachableDecls","canBeTruthy","removeFalsinessFromType","canBeFalsy","removeTruthinessFromType","allowIntersections","filterClassType","varType","unexpandedType","negativeFallbackType","filteredTypes","foundSuperclass","isClassRelationshipIndeterminate","filterType","concreteFilterType","filterIsSuperclass","filterIsSubclass","specializedFilterType","unspecializedFilterType","populateTypeVarMapBasedOnExpectedType","isConstrainedTypeVar","isCallable","anyOrUnknownSubstitutions","anyOrUnknown","filteredType","negativeFallback","isSubtypeTypeObject","containsNoneType","concreteClassType","filterFunctionType","includesTypeType","getBuiltInObject","isIsOperator","literalValueMatches","allLiteralTypes","enumerateLiteralsForType","enumList","symbolType","callMethod","classPatternSpecialCases","narrowTypeBasedOnPattern","sequenceInfo","getSequencePatternInfo","isPlausibleMatch","narrowedEntryTypes","canNarrowTuple","isTuple","sequenceEntry","entryType","getTypeForPatternSequenceEntry","narrowedEntryType","tupleClassType","isObject","sequenceType","getTypingType","narrowTypeBasedOnSequencePattern","narrowTypeBasedOnLiteralPattern","exprType","classInstance","subjectSubtypeExpanded","subjectSubtypeUnexpanded","positionalArgNames","getPositionalMatchArgNames","narrowTypeOfClassPatternArgument","expandedSubtype","resultType","unspecializedMatchType","matchTypeInstance","isMatchValid","narrowTypeBasedOnClassPattern","remainingType","narrowedSubtype","narrowTypeBasedOnAsPattern","mappingInfo","getMappingPatternInfo","mappingSubtypeInfo","mappingEntry","narrowedKeyType","keySubtype","valueEntry","narrowedValueType","dictTypeArgs","narrowTypeBasedOnMappingPattern","subjectType","narrowedSubtypes","valueSubtypeExpanded","valueSubtypeUnexpanded","allEnumTypes","enumType","useSpeculativeMode","getTypeFromMagicMethodReturn","narrowTypeBasedOnValuePattern","matchArgsMemberInfo","matchArgsType","tupleArgs","argIndex","matchType","getTypeFromObjectMember","mroClassToSpecialize","specializedMapping","entryCount","minEntryCount","entryTypes","isIndeterminateLength","specializedSequence","unpackStarEntry","isSubjectObject","wrapTypeInList","assignTypeToPatternTargets","isTypeIncomplete","assignTypeToExpression","keyTypes","valueTypes","valueInfo","dictClass","dictType","argTypes","subjectSubtype","narrowedArgType","listObjectType","deprecatedAliases","deprecatedSpecialForms","Checker","_isUnboundCheckSuppressed","_scopedNodes","_moduleNode","markNamesAccessed","_reportUnusedDunderAllSymbols","_validateSymbolTables","_reportDuplicateImports","suppressDiagnostics","classTypeResult","_validateProtocolTypeParamVariance","_validateBaseClassOverrides","_validateSlotsClassVarConflict","_validateMultipleInheritanceCompatibility","_validateConstructorConsistency","_validateFinalMemberOverrides","_validateInstanceVariableInitialization","_validateFinalClassNotAbstract","_validateDataClassPostInit","_validateProtocolCompatibility","_reportDuplicateEnumMembers","_validateTypedDictClassSuite","_validateEnumClassOverride","functionTypeResult","sawParamSpecArgs","functionTypeParam","diagAddendum","hasAnnotation","defaultValueType","paramSpecParams","_validateMethod","_validateFunctionReturn","_validateDunderSignatures","_validateStrictTypeGuardFunction","_validateFunctionTypeVarUsage","maxOverloadConsistencyCheckLength","_validateOverloadConsistency","_validateIsInstanceCall","_validateIllegalDefaultParamInitializer","isRevealTypeCall","_isTypeValidForUnusedValueTest","evaluateTypesForStatement","enclosingFunctionNode","getFunctionDeclaredReturnType","returnTypeMatches","uniqueTypeVars","narrowConstrainedTypeVar","adjustedReturnType","yieldType","_validateYieldType","yieldFromType","getTypeFromIterable","getTypeFromIterator","verifyRaiseExceptionType","baseExceptionType","exceptionType","_validateExceptionType","addDiagnosticForTextRange","subscriptType","_validateComparisonTypes","formatExpr","_suppressUnboundCheck","_conditionallyReportPrivateUsage","_reportUnboundName","verifyDeleteExpression","_validateExhaustiveMatch","validateClassPattern","_reportUnusedExceptStatements","narrowedTypeResult","evaluateTypeForSubnode","evaluateTypesForMatchNode","wasSuppressed","isPossiblyTrue","leftSubtype","isComparable","rightSubtype","_isTypeComparable","leftTypeText","rightTypeText","genericLeftType","genericRightType","localTypeVarUsage","exemptBoundTypeVar","nameWalker","subscriptIndex","nameType","isExempt","prevOverloads","prevOverload","_isOverlappingOverload","obscured","obscuredBy","prevReturnType","altNode","_findNodeForOverload","newIndex","prevIndex","overloadType","_isLegalOverloadImplementation","implementation","isLegal","overloadReturnType","getFunctionInferredReturnType","implementationReturnType","returnDiag","prevStatement","reportedUnreachable","_validateStubStatement","derivesFromBaseException","resultingExceptionType","scopedNode","_conditionallyReportUnusedSymbol","_reportIncompatibleDeclarations","_reportMultipleFinalDeclarations","_reportMultipleTypeAliasDeclarations","_reportInvalidOverload","overloadedFunctions","implementationFunction","isProtocolMethod","sawFinal","sawAssignment","firstDecl","isImplicitlyAssigned","typeAliasDecl","primaryDeclInfo","otherDecls","primaryDeclTypeInfo","funcTypeInfo","addPrimaryDeclInfo","primaryDeclNode","otherDecl","primaryType","duplicateIsOk","otherType","isInSameStatementList","accessedSymbolMap","_conditionallyReportUnusedDeclaration","_isSymbolPrivate","diagnosticLevel","multipartName","np","isReexport","isFuture","callName","arg0Type","arg1Type","isValidType","arg1Subtype","_isTypeSupportedTypeForIsInstance","nonstandardClassTypes","arg1IncludesSubclasses","derivesFromAnyOrUnknown","finalizeFilteredTypeList","foundAnyType","getTestType","testType","isSupported","_reportDeprecatedUse","deprecatedForm","isPrivateName","isProtectedName","primaryDeclaration","resolvedAliasInfo","resolveAliasDeclarationWithInfo","isProtectedAccess","declClassTypeInfo","enclosingClassNode","enclosingClassTypeInfo","baseEnumDefinesValue","suiteNode","emitBadStatementError","returnAnnotation","functionNeverReturns","isAfterNodeReachable","implicitlyReturnsNone","parentSymbol","isSymbolImplemented","postInitMember","initOnlySymbolMap","postInitType","paramListDetails","nonDefaultParams","expectedParamCount","expected","fieldType","getDeclaredTypeOfSymbol","canAssignDiag","fieldDecls","abstractMethods","getAbstractMethods","abstractMethod","origTypeParams","updatedTypeParams","updatedClassType","objectObject","dummyTypeObject","srcTypeArgs","destTypeArgs","expectedVariance","canAssignProtocolClassToSelf","variable","class","localSlotsNames","initMember","newMember","newMemberType","initMemberType","displayOnInit","initDecl","mainDecl","mainDeclNode","initSignature","newSignature","secondaryDecl","symbolMaps","specializedBaseClass","memberMap","getClassFieldsRecursive","symbolMapBaseIndex","baseSymbolMap","baseClassAndSymbol","symbolMapOverrideIndex","overrideClassAndSymbol","overrideFunction","canOverrideMethod","overrideDecl","baseDecl","mroBaseClass","baseClassSymbolType","exemptMethods","enforceParamNameMatch","exempt","origDecl","basePropFields","subclassPropFields","methodName","baseClassPropMethod","subclassPropMethod","baseClassMethodType","subclassMethodType","isBaseClassVar","unformattedMessage","classTypeInfo","_validateSuperCallForMethod","_validateClsSelfParameterType","firstParamIsSimple","isLegalMetaclassName","typeType","methodType","effectiveFlags","foundCallOfMember","memberBaseExpr","isCls","expectedType","declaredYieldType","isLegalGeneratorType","classes","getGeneratorYieldType","sawUnknownOrAny","exceptionTypesSoFar","typesForThisExcept","overriddenExceptionCount","thisExceptType","previousExceptType","importModuleMap","_applyStrictRules","ruleSet","_overrideRules","overrideRuleSet","skipRuleNames","boolRuleNames","diagRuleNames","overrideValue","prevValue","_parsePyrightComment","commentValue","operandList","_applyBasicRules","operand","_parsePyrightOperand","operandSplit","diagLevelValue","_parseDiagLevel","boolValue","ParseTreeCleanerWalker","_parseTree","clean","analyzerNode","TestWalker","_verifyParentChildLinks","_verifyChildRanges","skipCheck","SourceFile","isThirdPartyImport","isThirdPartyPyTypedPresent","logTracker","_isFileDeleted","_diagnosticVersion","_fileContentsVersion","_lastFileContentLength","_lastFileContentHash","_analyzedFileContentsVersion","_parseTreeNeedsCleaning","_isBindingInProgress","_parseDiagnostics","_bindDiagnostics","_checkerDiagnostics","_diagnosticRuleSet","_circularDependencies","_isBindingNeeded","_isCheckingNeeded","_indexingNeeded","_isStubFile","_isThirdPartyImport","_isThirdPartyPyTypedPresent","_isTypingStubFile","_isTypingExtensionsStubFile","_isBuiltInStubFile","_logTracker","getDiagnosticVersion","prevDiagnosticVersion","includeWarningsAndErrors","diagList","prefilteredDiagList","typeIgnoreLinesClone","unnecessaryTypeIgnoreDiags","diagCategory","cirDep","_hitMaxImportDepth","ignoreFileSpec","getImports","_imports","getBuiltinsImport","_builtinsImport","getIPythonDisplayImport","_ipythonDisplayImport","getModuleSymbolTable","_moduleSymbolTable","didContentsChangeOnDisk","_clientDocument","dropParseAndBindInfo","markDirty","indexingNeeded","_cachedIndexResults","markReanalysisRequired","forceRebinding","getClientVersion","getOpenFileContents","getFileContent","openFileContent","fileStat","setClientVersion","contentsHash","prepareForClose","isFileDeleted","isParseRequired","isBindingRequired","isIndexingRequired","isCheckingRequired","getCachedIndexResults","cacheIndexResults","addCircularDependency","updatedDependencyList","dep","setHitMaxImportDepth","maxImportDepth","_getPathForLogging","logState","execEnvironment","indexGenerationMode","_resolveImports","builtinsImportResult","ipythonDisplayImportResult","useStrict","strictFileSpec","defaultRuleSet","diagSettings","ls","getDefinitionsForPosition","getTypeDefinitionsForPosition","getDeclarationForPosition","addReferences","addHierarchicalSymbolsForDocument","getSymbolsForDocument","getHoverForPosition","_addResultsForDeclaration","typeText","_addResultsPart","_addDocumentationPart","_getTypeText","typeNode","_addInitMethodInsteadIfCallNode","callLeftNode","instanceType","functionParts","printFunctionParts","classText","_addDocumentationPartForType","addedDoc","_addDocumentationResultsPart","markDown","python","getDocumentHighlight","getSignatureHelpForPosition","callSignatureInfo","sig","_makeSignature","callHasParameters","_getDocStringFromCallNode","activeParameter","sigInfo","resolveDecl","moduleSymbolsCallback","completionData","performQuickAction","editActions","startPos","endPos","additionalEditActions","_addMissingOptionalToParam","_cleanParseTreeIfRequired","_buildFileInfo","binder","internalTestMode","test_enableIPythonMode","enable","analysisDiagnostics","isTypingExtensionsStubFile","isBuiltInStubFile","moduleImports","resolveAndAddIfNotSelf","skipMissingImport","moduleImport","createTracePrinter","localeCompare","printFileOrModuleName","filePathOrModule","printDeclaration","printNode","printPath","getFileInfo","isNode","isDeclaration","isType","isIncompleteType","cachedType","SpeculativeTypeTracker","_speculativeContextStack","_speculativeTypeCache","enterSpeculativeContext","speculativeRootNode","allowCacheRetention","entriesToUndo","leaveSpeculativeContext","isSpeculative","trackEntry","stackSize","disableSpeculativeMode","enableSpeculativeMode","addSpeculativeType","cacheEntries","getSpeculativeType","IncompleteTypeTracker","_trackerStack","_isUndoTrackingEnabled","enterTrackingScope","exitTrackingScope","enableUndoTracking","isUndoTrackingEnabled","createNamedTupleType","includesTypes","nameArg","defaultsArg","defaultArgCount","defaultsArgType","namedTupleType","classFields","classTypeVar","constructorType","namedTupleAssignedName","moduleOrSuite","statementIndex","assignNode","defaultTarget","matchArgsNames","selfParameter","addGenericGetAttribute","entriesArg","firstParamWithDefaultIndex","isRuntimeTypeExpression","entryList","entryMap","entryExpressions","entryTypeNode","entryNameNode","getTypeForExpressionExpectingType","setTypeForNode","keysItemType","itemsItemType","lenType","getAttribType","literalTypes","updateNamedTupleBaseClass","namedTupleIndex","namedTupleClass","typedTupleClass","tupleTypeArgs","updatedTupleClass","clonedNamedTupleClass","validateDataClassTransformDecorator","behaviors","keywordOnlyParams","generateEq","generateOrder","transformDescriptorTypes","fieldDescriptorNames","getDataclassDecoratorBehaviors","decoratorDataClassBehaviors","applyDataClassClassBehaviorOverrides","argValue","hasUnfrozenBaseClass","hasFrozenBaseClass","classDataClassTransform","applyDataClassBehaviorOverride","applyDataClassDefaultBehaviors","defaultBehaviors","dataClassBehaviors","applyDataClassDecorator","applyFunctionTransform","orderingMethods","missingMethods","boolType","objParam","methodToAdd","applyTotalOrderingTransform","validatePropertyMethod","createProperty","decoratorType","fget","typeMetaclass","propertyClass","propertyObject","isAsymmetricDescriptor","fgetSymbol","getFunction1","defaultType","getFunction2","objType","getFunctionOverload","getSymbol","accessorName","accessorFunction","accessorSymbol","canAssignProperty","destPropertyType","srcPropertyType","srcClass","objectToBind","isAssignable","missingDiagMsg","incompatibleDiagMsg","accessorInfo","destAccessSymbol","destAccessType","srcAccessSymbol","srcAccessType","boundDestAccessType","boundSrcAccessType","binaryOperatorMap","booleanOperatorMap","nonSubscriptableBuiltinTypes","typePromotions","createTypeEvaluator","evaluatorOptions","symbolResolutionStack","functionRecursionMap","codeFlowAnalyzerCache","typeCache","typeCacheFlags","asymmetricDescriptorAssignmentCache","expectedTypeCache","speculativeTypeTracker","effectiveTypeCache","suppressedNodeStack","incompleteTypeTracker","protocolAssignmentStack","noneType","typeClassType","functionObj","boolClassType","strClassType","dictClassType","typedDictClassType","incompleteTypeCache","isBasicTypesInitialized","returnTypeInferenceContextStack","returnTypeInferenceTypeCache","checkForCancellation","isTypeCached","isNodeInReturnTypeInferenceContext","readTypeCache","verifyTypeCacheEvaluatorFlags","expectedFlags","writeTypeCache","allowSpeculativeCaching","typeCacheToUse","deleteTypeCacheEntry","contextNode","getIndexOfSymbolResolution","symbolId","pushSymbolResolution","isResultValid","popSymbolResolution","poppedEntry","setSymbolResolutionPartialType","partialType","getSymbolResolutionPartialType","evaluateTypesForExpressionInContext","initializedBasicTypes","getTypeFromModule","getTypeshedType","speculativeCachedType","expectedTypeAlt","typeResult","reportExpectingTypeErrors","allowForwardReferences","containingFunction","useCodeFlowAnalysis","effectiveTypeInfo","getEffectiveTypeOfSymbolForUsage","effectiveType","isRecursiveDefinition","typeAtStart","codeFlowTypeResult","getFlowTypeOfReference","outerScopeTypeResult","scopeHierarchy","stopScope","innerScopeNode","foundScope","innerScopeCodeFlowNode","declCodeFlowNode","codeFlowEngine","isFlowNodeReachable","getCodeFlowTypeForCapturedVariable","reportMissingTypeArguments","setSymbolAccessed","includesVariableDecl","nameSplit","booleanName","validateTypeVarUsage","getTypeFromName","baseTypeFlags","baseTypeResult","memberTypeResult","getTypeFromMemberAccessWithBaseType","initialType","isInitialTypeIncomplete","classMemberInfo","getTypeFromMemberAccess","skipSubscriptCheck","scopeNode","minPythonVersion","getTypeFromIndexWithBaseType","baseTypeSupportsIndexNarrowing","getTypeFromIndex","getTypeFromCall","makeTupleObject","isEmptyTupleShorthand","effectiveExpectedType","expectedTypeContainsAny","matchingSubtype","subtypeResult","getTypeFromTupleExpected","entryTypeResults","buildTupleTypesList","getTypeFromTupleInferred","getTypeFromTuple","getTypeFromConstant","isAnnotationLiteralValue","cloneBuiltinObjectWithLiteral","updatedFlags","textValue","valueOffset","parseStringAsTypeAnnotation","exprTypeResult","unaryOperatorMap","literalClassName","classSubtype","getTypeFromUnaryOperation","getTypeFromBinaryOperation","getTypeFromAugmentedAssignment","getTypeFromListOrSetExpected","hasExpectedType","builtInClassName","entryTypeResult","getElementTypeFromListComprehension","inferredEntryType","listOrSetClass","getTypeFromListOrSetInferred","getTypeFromListOrSet","getTypeFromSlice","createAwaitableReturnType","getTypeFromAwaitable","typesToCombine","ifType","elseType","getTypeFromTernary","elementTypeResult","builtInIteratorType","getTypeFromListComprehension","expectedTypeDiagAddendum","getTypeFromDictionaryExpected","getTypeFromDictionaryInferred","getTypeFromDictionary","expectedFunctionTypes","callMember","boundMethod","minLambdaParamCount","maxLambdaParamCount","functionParamCount","expectedFunctionType","transformVariadicParamType","functionParam","expectedReturnType","getFunctionEffectiveReturnType","getTypeFromLambda","expectedYieldType","sentType","functionTypeInfo","getTypeFromYield","returnedType","getTypeFromYieldFrom","iterExpectedType","iterableType","iterTypeResult","iterType","addExpectedClassDiagnostic","illegalRecursionDetected","isAnnotationEvaluationPostponed","getTypeOfParameterAnnotation","paramTypeNode","getTypeOfAnnotation","associateTypeVarsWithScope","allowTypeVarTuple","disallowRecursiveTypeAlias","allowUnpackedTypedDict","allowUnpackedTuple","specialType","aliasMapEntry","createSpecialBuiltInClass","handleTypingStubTypeAnnotation","evaluatorFlags","isVariableAnnotation","allowFinal","allowClassVar","allowParamSpec","notParsedByInterpreter","annotationType","getTypeFromDecorator","functionOrClassType","decoratorTypeResult","validateCallArguments","boolMethod","boolMethodType","memberAccessFlags","bindToType","getTypeFromClassMemberName","getTypeFromClassMember","getBoundMethod","treatConstructorAsClassMember","unboundMethodType","firstCommentAnnotationIndex","adjIndex","isDeclaredTypeAlias","getDeclaredTypeForExpression","classOrObjectBase","memberAccessClass","bindFunction","setItemMember","setItemType","boundFunction","typeFromTypedDict","evaluatorInterface","setterInfo","setter","awaitReturnType","generatorReturnType","getReturnTypeFromGenerator","iterMethodName","nextMethodName","isValidIterator","iterReturnType","iterReturnTypeDiag","nextReturnType","getItemReturnType","isValidIterable","importingFilePath","sourceNode","sourceFlowNode","getTypeFromCodeFlow","getCodeFlowAnalyzerForNode","isFlowNodeReachableUsingNeverNarrowing","isFlowPathBetweenNodes","sinkNode","allowSelf","sinkFlowNode","addDiagnosticWithSuppressionCheck","isDiagnosticSuppressedForNode","suppressedNode","assignTypeToNameNode","srcExpression","allowAssignmentToFinalVar","narrowTypeBasedOnAssignment","varDecl","assignTypeToMemberVariable","srcExprNode","classDef","memberClass","isThisClass","inheritedSlotsNames","reportPossibleUnknownAssignment","conditionFilter","applicableConstraint","isExemptFromBoundCheck","expandSubtype","typeCondition","srcExpr","ignoreEmptyContainers","classTypeResults","memberSymbol","setErrorNode","assignTypeToMemberAccessNode","targetExpressions","targetTypes","targetUnpackIndex","unpackIndex","sourceEntryTypes","unboundedIndex","typeToReplicate","combinedTypes","targetIndex","expectedEntryCount","subDiag","simple","typeList","assignTypeToTupleOrListNode","bindToClass","scopedTypeVarInfo","nestedClassCount","typeVarsForScope","foundInterveningClass","recursiveTypeAliasScopeId","findScopedTypeVar","enclosingScope","outerFunctionScope","createSpecializedClassType","getTypeVarScopesForNode","getTypeFromNoneBase","isSuperCall","getAttrSymbol","V3_7","getAttrTypeResult","evaluateUnknownImportsAsAny","isFunctionRule","diagMessage","skipPartialUnknownCheck","classLookupFlags","containingClassType","inferReturnTypeIfNecessary","getTypeOfMemberInternal","descriptorResult","baseTypeClass","isAccessedThroughObject","isTypeValid","lookupClass","isAccessedThroughMetaclass","accessMethodName","accessMethod","accessMethodType","boundMethodType","callResult","argumentErrors","setterType","isAsymmetric","getterSymbolResult","setterSymbolResult","getterType","isAsymmetricDescriptorClass","finalTypeDecl","enforceTargetType","applyDescriptorAccessMethod","printObjectTypeForClass","generalAttrType","getAttrType","getBestOverloadForArguments","applyAttributeAccessOverride","adjustTypeArgumentsForVariadicTypeVar","variadicIndex","variadicTypeResults","validateVariadicTypeVarIsUnpacked","validateTypeArg","allowEmptyTuple","allowVariadicTypeVar","allowUnpackedTuples","variadicTypes","tupleObject","typeAliasResult","getTypeArgs","canAssignTypeToTypeVar","aliasTypeArgs","createSpecializedTypeAlias","typeArgTypes","getIndexAccessMagicMethodName","getTypeFromIndexedObjectOrClass","itemExpr","cloneBuiltinClassWithLiteral","createLiteralType","isAnnotatedClass","isGenericClass","isFinalAnnotation","isClassVarAnnotation","isUnspecifiedLength","magicMethodName","itemMethodType","index0Expr","getSliceParameter","valType","positionalArgs","unpackedListArgs","keywordArgs","unpackedDictArgs","positionalIndexType","altArgList","intType","adjFlags","getTypeArgTypeResult","adjustedFlags","getTypeArg","expectedTypes","tupleTypeVarMap","specializedTuple","homogenousType","expectedTypesContainLiterals","possibleUnpackedTuple","firstUnboundedEntryIndex","removedEntries","returnResult","targetClassType","concreteTargetClassType","secondArgType","reportError","enclosingMethod","implicitBindToType","methodTypeInfo","resultIsInstance","mroBase","getTypeFromSuperCall","getTypeFromRevealType","infoMessages","getTypeFromRevealLocals","typeErrors","arg0Value","expectedRevealTypeNode","expectedRevealType","expectedTextNode","expectedText","expectedTextType","getTypeForArgumentExpectingType","expectedRevealTypeText","validateOverloadsWithExpandedTypes","expandedArgTypes","argParamMatches","skipUnknownArgCheck","returnTypes","matchedOverloads","expandedTypesIndex","matchedOverload","argTypeOverride","hasArgTypeOverride","overloadIndex","matchResults","argParams","argParamCopy","effectiveTypeVarMap","validateFunctionArgumentTypesWithExpectedType","finalCallResult","specializedInitSelfType","winningOverloadIndex","matchFunctionArgumentsToParameters","sortOverloadsByBestMatch","matchIndex","validateFunctionArgumentTypes","relevance","expandArgumentUnionTypes","contextFreeArgTypes","unionToExpand","indexToExpand","newExpandedArgTypes","preExpandedTypes","validateConstructorArguments","validatedTypes","reportedErrors","usedMetaclassCallMethod","skipConstructorCheck","expectedSubType","applyExpectedSubtypeForConstructor","adjustedClassType","applyExpectedTypeForConstructor","constructorMethodInfo","newReturnType","applyExpectedTypeForTupleConstructor","transformed","callMemberResult","callMemberType","origFunctionType","getTypeForArgument","reportedPositionalError","argTypeResult","matchingParam","specializedFunctionType","updatedParamList","specializedParam","newParamList","newCallMemberType","newPartialClass","applyPartialTransform","applyConstructorTransform","expectedSubtype","specializedExpectedType","liveTypeVarScopes","expectedTypeArgs","sameClassTypeVarMap","expectedTypeScopeId","synthExpectedTypeArgs","genericExpectedType","synthesizedIndex","syntheticTypeVarMap","synthTypeVar","targetTypeVar","expectedTypeArgValue","transformExpectedTypeForConstructor","exprNode","functionResult","validateFunctionArguments","createNewType","castToType","castFromType","filteredMatchResults","valueExpressionNode","evaluateUsingLastMatchingOverload","lastMatch","validateOverloadedFunctionArguments","firstConstraintArg","firstArg","paramNameNode","paramNameMap","getBooleanValue","createTypeVarType","createTypeVarTupleType","paramSpecName","createParamSpecType","enumClass","createEnumType","typedDictClass","usingDictSyntax","entryDict","annotatedType","createTypedDictType","errorsToDisplay","constructorResult","newClassName","firstArgType","paramDetails","matchedUnpackedListOfUnknownLength","reportedArgError","isVariadicTypeVarFullyMatched","argsNeeded","argsReceived","isPositionalOnly","positionalOnlyLimitIndex","positionParamLimitIndex","varArgListParamIndex","varArgDictParamIndex","paramSpecArgList","paramSpecTarget","hasParamSpecArgsKwargs","varArgListParam","varArgDictParam","keywordParamIndex","positionalArgCount","validateArgTypeParams","trySetActive","active","foundUnpackedListArg","unpackedArgIndex","isParamVariadic","isArgCompatibleWithVariadic","listElementType","advanceToNextArg","funcArg","requiresTypeVarMatching","argument","effectiveParamType","remainingArgCount","remainingParamCount","mapsToVarArgList","firstParamWithDefault","argsRemainingCount","unpackedDictionaryArgType","paramEntry","paramInfoIndex","mappingType","strObjType","mappingTypeVarMap","isValidMappingType","paramNameValue","unassignedParams","missingParamNames","variadicArgs","combinedArg","expectingType","effectiveReturnType","speculativeResults","typeVarMapCopy","tempTypeVarMap","genericReturnType","typeVarMatchingCount","passCount","argResult","validateArgType","skippedOverloadArg","positionalIndex","positionalIndexLimit","validateFunctionArgumentsForParamSpec","typeVarScopeNode","skipUnknownCheck","skipOverloadArg","expectedTypeDiag","concreteParamType","createFunctionFromConstructor","argTypeText","paramTypeText","simplifiedType","getDiagAddendum","suppressPartialUnknown","operatorSupportsComparisonChaining","op","expectedLeftOperandType","expectedOperandType","leftTypeResult","rightTypeResult","customMetaclassSupportsMethod","adjustedRightType","isUnionableType","newUnion","isLeftOptionalType","isLiteralMathAllowed","validateBinaryOperation","leftSubtypeExpanded","leftSubtypeUnexpanded","rightSubtypeExpanded","rightSubtypeUnexpanded","binaryOperator","concreteLeftType","iteratorType","leftLiteralClassName","maxLiteralMathSubtypeCount","leftClassSubtype","rightClassSubtype","isValidResult","leftLiteralValue","rightLiteralValue","convertFunctionToObject","altMagicMethodName","magicMethodSupported","handleSubtype","magicMethodType","functionArgs","expectedDiagAddendum","getKeyAndValueTypesFromDictionary","resultTypedDict","isMatch","keyValue","symbolEntry","assignToTypedDict","builtInDict","dictTypeVarMap","specializedDict","expectedKeyType","expectedValueType","isValueTypeInvariant","specializedKeyType","inferTypeArgFromExpectedType","specializedValueType","fallbackType","forceStrictInference","expectedTypedDictEntries","entryNode","addUnknown","keyTypeResult","valueTypeResult","adjExpectedKeyType","unexpandedTypeResult","dictEntryTypeResult","dictEntryType","builtInListOrSet","specializedListOrSet","expectedEntryType","isExpectedTypeListOrSet","specializedEntryType","isNarrowable","evaluateListComprehensionForIf","iterableTypeResult","expectedValueOrElementType","forIfNode","allowTypeArgList","createSpecialType","paramLimit","isTupleTypeParam","sawUnpacked","noteSawUnpacked","reportedUnpackedError","tupleTypeArgTypes","transformTypeForPossibleEnumClass","getValueType","enumClassInfo","isMemberOfEnumeration","transformTypeForTypeAlias","variadics","typeAliasScopeId","boundTypeVars","specialClassType","baseClassName","evaluateTypesForAssignmentStatement","rightHandType","handleTypingStubAssignment","typeAliasNameNode","typeAliasTypeVar","isSpeculativeTypeAlias","srcTypeResult","typeAliasPlaceholder","evaluateTypesForAugmentedAssignment","destTypeResult","cachedClassType","classSymbol","genericTypeParameters","initSubclassArgs","metaclassNode","exprFlags","constArgValue","prevBaseClass","typeVars","genericTypeVars","missingFromGeneric","genericTypeVar","verifyGenericTypeParameters","innerScope","initMethod","initDeclNode","initParams","genericParams","metaclassType","reportedMetaclassConflict","baseClassMeta","newDecoratedType","applyClassDecorator","baseClassDataTransform","skipSynthesizedInit","hasExistingInitMethod","initSymbol","initSymbolType","skipSynthesizeHash","hashSymbol","hashSymbolType","skipSynthesizeInit","localDataClassEntries","fullDataClassEntries","allAncestorsKnown","allAncestorsAreKnown","existingIndex","updatedEntry","addInheritedDataClassEntries","localEntryTypeEvaluator","variableNameNode","variableTypeEvaluator","hasDefaultValue","isKeywordOnly","includeInInit","isDataclassFieldConstructor","initArg","callTarget","initCall","initParam","kwOnlyArg","defaultArg","aliasArg","variableSymbol","dataClassEntry","insertIndex","oldEntry","firstDefaultValueIndex","entryEvaluator","setMethodInfo","setMethodType","boundSetMethod","transformDescriptorType","synthesizeComparisonMethod","operatorMethod","synthesizeHashFunction","synthesizeHashNone","hashMethod","synthesizeDataClassMethods","isLimitedToSlots","extendedSlotsNames","initSubclassMethodInfo","initSubclassMethodType","newMethodMember","newMethodType","validateInitSubclassArgs","inputClassType","originalClassType","decoratorCallType","dataclassBehaviors","cachedFunctionType","classInfo","getFunctionFlagsFromDecorators","getFunctionFullName","functionSymbol","addGenericParamTypes","paramTypes","typeParamIndex","markParamAccessed","paramsArePositionOnly","isNoneWithoutOptional","adjustedIndex","adjustedAnnotatedType","adjustParameterAnnotatedType","addOptionalAction","offsetOfTypeNode","isPositionOnlyParam","isPositionOnlySeparator","inferParameterType","variadicParamType","paramType1","paramType2","awaitableFunctionType","createAsyncFunction","applyFunctionDecorator","overloadedTypes","prevDecl","prevDeclDeclTypeInfo","addOverloadsToFunctionType","defaultArgType","baseClassMemberInfo","memberDecls","baseClassMethodNode","overrideParam","baseClassParam","baseClassParamAnnotation","inferredParamType","paramValueExpr","isInClass","inputFunctionType","undecoratedType","fset","flagsToClone","fgetType","fsetType","fsetSymbol","setFunction","setParamType","setSymbol","clonePropertyWithSetter","fdel","fdelSymbol","delFunction","delSymbol","clonePropertyWithDeleter","requiredFlag","awaitableReturnType","asyncGeneratorType","coroutineType","inferFunctionReturnType","isAbstract","raiseStatement","raiseType","methodAlwaysRaisesNotImplemented","inferredReturnTypes","inferredYieldTypes","useAwaitableGenerator","yieldNode","inferredYieldType","generatorType","evaluateTypesForForStatement","iteratorTypeResult","iteratedType","evaluateTypesForExceptStatement","getExceptionType","targetType","subType","evaluateTypesForWithStatement","enterMethodName","scopedType","additionalHelp","enterType","memberReturnType","exitMethodName","evaluateTypesForImportAs","symbolNameNode","getAliasedSymbolTypeForName","cachedModuleType","evaluateTypesForImportFromAs","aliasNode","importLookupInfo","evaluateTypesForCaseNode","subjectTypeResult","subjectIsObject","evaluateTypesForImportFrom","getInferredTypeOfDeclaration","lastContextualExpression","isContextual","isNodeContextual","evaluateTypeAnnotationExpression","annotationParent","evaluateTypeOfParameter","nodeToEvaluate","adjType","listComprehension","subnodeType","oldIncompleteCache","nodeId","analyzer","createCodeFlowAnalyzer","startNode","codeFlowAnalyzer","getCodeFlowAnalyzerForReturnTypeInferenceContext","codeFlowResult","aliasedName","concatTypeArgs","typeArg1Type","createCallableType","typeArg0Type","createOptionalType","createClassVarType","createUnionType","createGenericType","createFinalType","createAnnotatedType","createConcatenateType","convertedTypeArgs","createTypeGuardType","createUnpackType","isUsageLegal","createRequiredType","enclosingClassTypeResult","firstParamTypeAnnotation","createSelfType","typeClass","variadicTypeParamIndex","fullTypeParams","paramSpecTypeArg","listTypeArg","adjustedTypeArgType","effectiveSrcType","sourceConstraint","destConstraint","bestConstraintSoFar","constraint","applyTypeArgToTypeVar","allowRequired","interpreterParsesStringLiteral","currentScope","builtInScope","honorCodeFlow","preferGlobalScope","usageScope","declNode","curSymbolWithScope","speculativeNode","getDeclarationFromFunctionNamedParameter","functionScope","paramSymbol","typeAliasNode","applyLoaderActionsToModuleType","importedModuleSymbol","isUnambiguousType","typeSource","inferredType","enumMemberType","nonSlotsDecls","assignedType","isUnambiguousInference","usageNode","useLastDecl","usageNodeId","isFinalVar","declIndexToConsider","includesSpeculativeResult","considerDecl","isDeclInEnumClass","synthesizedType","filteredTypedDecls","inferTypeIfNeeded","contextualReturnType","prevTypeCache","allArgTypesAreUnknown","getFunctionInferredReturnTypeUsingArguments","canAssignClassToProtocol","treatSourceAsInstantiable","destClassFields","genericDestType","genericDestTypeVarMap","selfTypeVarMap","srcClassTypeVarMap","canAssignFlags","srcMemberInfo","isMemberFromMetaclass","destMemberType","srcMemberType","boundSrcFunction","boundDeclaredType","isDestFinal","specializedDestProtocol","verifyTypeArgumentsAssignable","canAssignClassToProtocolInternal","canAssignModuleToProtocol","specializedSrcProtocol","canAssignClass","reportErrorsUsingObjType","promotionList","srcName","curSrcType","curTypeVarMap","ancestorIndex","ancestorType","canAssignTupleTypeArgs","canAssignClassWithTypeArgs","destErrorType","srcErrorType","destErrorTypeText","srcErrorTypeText","destVariadicIndex","destUnboundedIndex","srcUnboundedIndex","requiredSrcArgCount","srcArgsToCapture","removedArgs","variadicTuple","entryDiag","destTypeParams","srcArgIndex","srcTypeArg","destArgIndex","destTypeArg","destTypeParam","assignmentDiag","childDiag","isTypeVarInScope","isContravariant","functionSrcType","existingParam","newParam","canAssignTypeToParamSpec","curEntry","curNarrowTypeBound","curWideTypeBound","constrainedType","concreteSrcType","unconditionalConstraintIndex","srcSubtype","constrainedSubtype","constraintIndexUsed","adjustedConstraint","newNarrowTypeBound","newWideTypeBound","retainLiterals","adjSrcType","updatedType","originalFlags","destTypeVarName","applicableConditions","canAssignConditionalTypeToTypeVar","destSubtype","typeVarSubstitution","canAssignFromUnionType","clonedTypeVarMap","canAssignToUnionType","expandedSrcType","destCallbackType","getCallbackProtocolType","callbackType","srcFunction","typeVarMapClone","canAssign","checkReturnType","destParamDetails","srcParamDetails","srcDetails","destDetails","srcLastToPackIndex","suffixLength","srcPositionalsToPack","srcTupleTypes","srcPositionalsType","adjustSourceParamDetailsForDestVariadic","destTypeVarMap","srcTypeVarMap","targetIncludesParamSpec","destPositionalCount","srcPositionalCount","positionalsToMatch","destParam","srcParam","srcParamType","destParamType","destParamName","srcParamName","destName","canAssignFunctionParameter","nonDefaultSrcParamCount","destArgsType","srcArgsType","destParamMap","srcStartOfNamed","srcParamInfo","destParamInfo","paramDiag","specializedDestParamType","srcParamCount","destParamCount","effectiveSrcTypeVarMap","typeVarEntry","effectiveDestType","requiredMatchParamCount","matchedParamCount","remainingParams","destReturnType","srcReturnType","isReturnTypeCompatible","canAssignFunction","overloadDiag","destOverload","nonAnySubtypes","remainingDestSubtypes","remainingSrcSubtypes","isIncompatible","srcTypeIndex","destTypeIndex","skipSubtype","otherSubtype","otherIndex","bestTypeVarMap","bestTypeVarMapScore","typeVarMapScore","initInfo","convertInitToConstructor","initSubtype","constructorFunction","initOverloads","converted","newInfo","convertNewToConstructor","newSubtype","field","fieldIsPartOfFunction","specializedSrcType","specializedDestType","reverseMatchingFailed","replaceTypeArgsWithAny","replacedTypeArg","expectedTypeArgType","assignedSubtype","declaredSubtype","methodList","firstParamType","baseObj","partiallySpecializeFunctionForBoundClassOrObject","effectiveFirstParamType","newOverloadType","memberTypeFirstParam","memberTypeFirstParamType","nonLiteralFirstParamType","specializedFunction","runWithCancellationToken","isAsymmetricDescriptorAssignment","declsForThisImport","namePartIndex","paramDecl","isWithinTypeAnnotation","requireQuotedAnnotation","isQuoted","previousCategory","addFakeArg","addOneFunctionToSignature","addFunctionToSignature","isObjectInit","isSkipConstructor","baseMethod","overrideMethod","enforceParamNames","baseParamDetails","overrideParamDetails","canOverride","foundParamCountMismatch","baseCount","overrideCount","baseParam","overrideName","baseParamType","baseIsSynthesizedTypeVar","overrideIsSynthesizedTypeVar","baseReturnType","getTypeCacheSize","isReachableRecursionMap","callIsNoReturnCache","isExceptionContextManagerCache","codeFlowInvocations","flowIncompleteGeneration","visitedFlowNodeMap","isFlowNodeReachableRecursive","curFlowNode","contextMgrNode","isExceptionContextManager","labelNode","postFinallyFlowNode","wasGateClosed","callFlowNode","isCallNoReturn","isCompatibleWithConstrainedTypeVar","noReturnTypeCount","subtypeCount","getDeclaredCallBaseType","callSubtype","constructorMember","boundConstructorType","boundCallType","overloadedFunction","functionStatements","foundRaiseNotImplemented","isNotImplementedName","callIsNoReturn","cmType","cmSwallowsExceptions","firstOverload","exitType","getTypeFromWildcardImport","wildcardDecl","declaredTypeOfSymbol","flowNodeTypeCacheSet","subexpressionReferenceKeys","referenceKeyWithSymbolId","flowNodeTypeCache","setCacheEntry","prevIncompleteType","incompleteSubtypes","generationCount","setIncompleteSubtype","isPending","incompleteEntries","getCacheEntry","incrementFlowNodeVisitCount","recursiveVisitCount","incrementFlowNodeConvergenceCount","recursiveConvergenceCount","deleteCacheEntry","evaluateAssignmentFlowNode","nodeForCacheLookup","getTypeFromFlowNode","codeFlowInvocationsAtStart","assignmentFlowNode","flowTypeResult","branchFlowNode","sawIncomplete","loopNode","cacheEntry","isRecursive","visitCount","subtypeEntry","typeNarrowingCallback","flowType","refTypeInfo","exhaustedMatchFlowNode","patternFlowNode","preFinallyFlowNode","wildcardImportFlowNode","startingConstraints","narrowedConstrainedType","narrowConstrainedTypeVarRecursive","newConstraints","constraintsToAdd","conditionFlowNode","priorRemainingConstraints","getCodeFlowEngine","TrackedImport","isAccessed","TrackedImportAs","TrackedImportFrom","ImportSymbolWalker","_accessedImportedSymbols","_treatStringsAsSymbols","_getRecursiveModuleAccessExpression","TypeStubWriter","_stubPath","_sourceFile","_indentAmount","_includeAllImports","_typeStubText","_lineEnd","_tab","_classNestCount","_functionNestCount","_ifNestCount","_emittedSuite","_emitDocString","_trackedImportAs","_trackedImportFrom","_writeFile","_emitDecorators","argString","_printExpression","_emitLine","_emitSuite","_printParameter","isTypeAlias","callBaseType","_printModuleName","trackedImportAs","trackedImportFrom","_increaseIndent","prevEmittedSuite","_printHeaderDocString","treatStringsAsSymbols","_printTrackedImports","importStr","lineEmitted","sortedSymbols","symStr","finalText","Program","initialImportResolver","initialConfigOptions","_extension","_disableChecker","_sourceFileList","_sourceFileMap","_parsedFileCount","_lookUpImport","sourceFileInfo","_getSourceFileInfoFromPath","addTrackedFile","_bindFile","_createNewEvaluator","setConfigOptions","setImportResolver","setTrackedFiles","filePaths","newFileMap","oldFile","isTracked","addTrackedFiles","_removeUnneededFiles","setPreCheckCallback","preCheckCallback","_preCheckCallback","setAllowedThirdPartyImports","_allowedThirdPartyImports","_getImportNameForFile","isOpenByClient","diagnosticsVersion","importedBy","shadows","shadowedBy","_addToSourceFileListAndMap","setFileOpened","chainedFilePath","chainedSourceFile","setFileClosed","_markFileDirtyRecursive","markAllFilesDirty","evenIfContentsAreSame","markDirtyMap","markFilesDirty","getTracked","getOpened","sourceFileCount","_shouldCheckFile","checkOnlyOpenFiles","getSourceFile","getBoundSourceFile","_runEvaluatorWithCancellationToken","openFiles","effectiveMaxTime","openFilesTimeInMs","_checkTypes","noOpenFilesTimeInMs","_isUserCode","indexWorkspace","initiallyParsedSet","dropParseAndBindInfoCreatedForIndexing","_handleMemoryHighUsage","printDependencies","projectRootDir","sortedFiles","zeroImportFiles","sfInfo","relPath","importFile","writeTypeStub","targetImportPath","targetIsSingleFile","typeStubPath","typeStubDir","getTypeForSymbol","_addShadowedFile","stubFile","shadowImplPath","shadowFileInfo","printer","logCalls","run","minimumLoggingThreshold","typeEvaluator","createTypeEvaluatorWithTracker","_getPrintTypeFlags","_parseFile","fileToParse","_isFileNeeded","_updateSourceFileImports","fileToAnalyze","getScopeIfAvailable","builtinsImport","ipythonDisplayImport","_buildModuleSymbolsMap","sourceFileToExclude","userFileOnly","includeIndexUserSymbols","variableKind","buildModuleSymbolsMap","fileToCheck","closureMap","_getImportsRecursive","_detectAndReportImportCycles","importedFileInfo","dependencyChain","dependencyMap","_logImportCycle","circDep","firstFilePath","firstSourceFile","markMap","getTextOnRange","getAutoImports","writtenWord","symbolSubstrLength","smallestEditDistance","editDistance","computeCompletionSimilarity","fileDiagnostics","getDiagnosticsForRange","unfilteredDiagnostics","_createSourceMapper","reportReferencesForPosition","invokedFromUserFile","curSourceFileInfo","locations","declFileInfo","tempResult","loc","getFileIndex","addSymbolsForDocument","reportSymbolsForWorkspace","completionResult","completionResultsList","completionList","extensionInfo","completionListExtension","updateCompletionResults","renameModule","renameModuleProvider","createForModule","_processModuleReferences","moveSymbolAtPosition","newFilePath","createForSymbol","fileOperations","renameSymbolAtPosition","isDefaultWorkspace","getCallForPosition","getTargetDeclaration","getCallForDeclaration","getIncomingCallsForPosition","itemsToAdd","getIncomingCallsForDeclaration","getOutgoingCallsForPosition","getOutgoingCallsForDeclaration","getApiDocs","documentationFormat","internalDocStringConversion","markupKind","docStringConversion","moduleResult","recurseSymbolTables","parents","isDeclarationType","apiDocsParamsInfo","suffix","test_createSourceMapper","filteringText","currentFileInfo","parseResult","memoryUsage","heapUsed","rss","heapSizeInMb","heapUsageInMb","_discardCachedParseResults","_removeSourceFileFromListAndMap","importedFile","indexToRemove","fi","shadowedFile","_isImportNeededRecursive","recursionMap","importerInfo","mapCompiled","implFilePath","stubFileInfo","_isImportAllowed","importer","isImportStubFile","thirdPartyImportAllowed","filesAdded","getThirdPartyImportInfo","isPyTypedPresent","newImportPathMap","thirdPartyTypeInfo","updatedImportMap","oldFilePath","normalizedImportPath","resolvedBuiltinsPath","resolvedIPythonDisplayPath","port","getBackgroundWaiter","CancellationThrottle","curTimestamp","_lastCheckTimestamp","FileBasedToken","cancellationFilePath","isCancelled","_disposeEmitter","shouldCheck","_pipeExists","getCancellationTokenFromId","cancellationId","getCancellationTokenId","convertAnalysisResults","convertDiagnostics","CommandLineOptions","fromVsCodeExtension","fileSpecs","enableAmbientAnalysis","DeferredImpl","_scope","_resolved","_rejected","_promise","rej","_resolve","_reject","_reason","createDeferred","AnalyzerServiceExecutor","languageServiceRootPath","serverSettings","typeStubTargetImportName","trackFiles","commandLineOptions","workspaceRootPath","openFilesOnly","watchForSourceChanges","watchForLibraryChanges","watchForConfigChanges","logLevel","getEffectiveCommandLineOptions","serviceInstance","setOptions","backgroundAnalysis","tempWorkspace","workspaceName","rootUri","disableLanguageServices","disableOrganizeImports","isInitialized","getSettings","runWithOptions","CreateTypeStubCommand","_ls","cmdParams","callingFile","service","cloneService","getWorkspaceForFile","createBackgroundAnalysis","writeTypeStubInBackground","infoMessage","reanalyze","errMessage","QuickActionCommand","docUri","otherArgs","decodeTextDocumentUri","editAction","convertTextEdits","RestartServerCommand","restart","CommandController","_createStub","_restartServer","_quickAction","execute","isLongRunningCommand","NoAccessHost","logInfo","BackgroundAnalysisProgram","_backgroundAnalysis","_maxAnalysisTime","_program","_ensurePartialStubPackages","_reportDiagnosticsForRemovedFiles","initializeFileSystem","updateOpenFileContents","setCompletionCallback","_onAnalysisCompletion","startAnalysis","_indices","test_setIndexing","workspaceIndices","libraryIndices","indices","_getIndices","setWorkspaceIndex","execEnvRoot","libraryPath","setIndex","startIndexing","indexOptions","refreshIndexing","cancelIndexing","getIndexing","getIndex","invalidateAndForceReanalysis","rebuildUserFileIndexing","rebuildLibraryIndexing","indicesMap","fileDiags","visit","visitor","DEFAULT","_scanner","ignoreTrivia","lineNumber","lineStartOffset","tokenLineStartOffset","prevTokenLineStartOffset","scanError","scanHexDigits","exact","scanNext","ch3","scanString","safeLength","commentClosed","scanNumber","isUnknownContentCharacter","setPosition","newPosition","getPosition","scan","getToken","getTokenValue","getTokenOffset","getTokenLength","getTokenStartLine","getTokenStartCharacter","getTokenError","createScanner","toNoArgVisit","toOneArgVisit","onObjectBegin","onObjectProperty","onObjectEnd","onArrayBegin","onArrayEnd","onLiteralValue","onSeparator","onComment","disallowComments","allowTrailingComma","skipUntilAfter","skipUntil","parseString","isValue","allowEmptyContent","needsComma","parseArray","parseObject","tokenValue","parseLiteral","configFileNames","_gitDirectory","_includeFileRegex","AnalyzerService","instanceName","hostFactory","importResolverFactory","maxAnalysisTime","backgroundAnalysisProgramFactory","cancellationProvider","_typeStubTargetIsSingleFile","_requireTrackedFileUpdate","_lastUserInteractionTime","_disposed","_instanceName","_executionRootPath","_importResolverFactory","createImportResolver","_maxAnalysisTimeInForeground","_backgroundAnalysisProgramFactory","_cancellationProvider","_hostFactory","_backgroundAnalysisProgram","backgroundAnalysisProgram","_removeSourceFileWatchers","_removeConfigFileWatcher","_removeLibraryFileWatcher","_clearReloadConfigTimer","_clearReanalysisTimer","_clearLibraryReanalysisTimer","_onCompletionCallback","_commandLineOptions","_getConfigOptions","_applyConfigOptions","includeSpec","_matchIncludeFileSpec","_scheduleReanalysis","getParseResult","getDefinitionForPosition","getTypeDefinitionForPosition","getEvaluator","printStats","fileCount","getConfigOptions","getImportResolver","recordUserInteractionTime","_analyzeTimer","test_getConfigOptions","test_getFileNamesFromFileSpecs","_getFileNamesFromFileSpecs","configFilePath","pyprojectFilePath","_findConfigFile","_findConfigFileHereOrUp","_findPyprojectTomlFile","_findPyprojectTomlFileHereOrUp","_typeCheckingMode","defaultExcludes","configJsonObj","_configFilePath","_parseJsonConfigFile","_parsePyprojectTomlFile","configFileDir","autoExcludeVenv","reportDuplicateSetting","settingName","configValue","settingSource","fullVenvPath","typingsSubdirPath","_getTypeStubFolder","_typeStubTargetPath","updateTrackedFileList","_updateTrackedFileList","_typeStubTargetImportName","errMsg","typeStubInputTargetParts","typingsSubdirHierarchy","ancestor","configPath","_attemptParseFile","currentProperty","currentParent","previousParents","onValue","object","pyprojectPath","attemptCount","tool","pyright","parseCallback","parseAttemptCount","_reportConfigParseError","parseFailed","fileMap","matchedFiles","_matchFiles","markFilesDirtyUnconditionally","filesToImport","finalResolvedPath","isFinalPathFile","isFinalPathInitFile","rootPackagePath","fileList","envMarkers","loggedLongOperationError","visitDirectoryUnchecked","includeRegExp","_isInExcludePath","visitDirectory","seenDirs","realDirPath","foundFileSpec","_shouldIncludeFile","_sourceFileWatcher","_updateSourceFileWatchers","_watchForSourceChanges","spec","_verboseOutput","isIgnored","stats","fileNameSplit","isTemporaryFile","_libraryFileWatcher","_updateLibraryFileWatcher","_watchForLibraryChanges","watchList","_scheduleLibraryAnalysis","_libraryReanalysisTimer","_configFileWatcher","_updateConfigFileWatcher","_watchForConfigChanges","_scheduleReloadConfigFile","_reloadConfigTimer","_reloadConfigFile","requireTrackedFileUpdate","_backgroundAnalysisCancellationSource","timeSinceLastUserInteractionInMs","timeUntilNextAnalysisInMs","excludePaths","excl","CommandResult","ProgressReportTracker","_isDisplayingProgress","isEnabled","UriParser","decodeTextDocumentPosition","nullProgressReporter","SortedMap","comparer","iterable","_keys","_values","_copyOnWrite","_comparer","_order","getIterator","nextResult","closeIterator","_writePreamble","_writePostScript","_orderedRemoveItemAt","_getIterationOrder","order","Metadata","_parent","_parentVersion","_escapeKey","_undefinedValue","escapedKey","_unescapeKey","IO_ERROR_MESSAGE","EACCES","EIO","ENOENT","EEXIST","ELOOP","ENOTDIR","EISDIR","EBADF","EINVAL","ENOTEMPTY","EPERM","EROFS","createIOError","invalidRootComponentRegExp","getInvalidRootComponentRegExp","invalidNavigableComponentRegExp","invalidNavigableComponentWithWildcardsRegExp","invalidNonNavigableComponentRegExp","invalidNonNavigableComponentWithWildcardsRegExp","extRegExp","validate","trailing","hasTrailingSeparator","hasDirname","hasBasename","hasExtname","invalidComponentRegExp","validateComponents","MODULE_PATH","devCount","inoCount","TestFileSystem","_lazy","_tmpfileCounter","time","meta","stringComparer","_time","_applyFiles","links","mkdirpSync","_cwd","_shadowRoot","isFrozen","makeReadonly","snapshot","isReadonly","_dirStack","shadow","getTime","filemeta","_walk","_filemeta","parentMeta","shadowRoot","pushd","popd","scanSync","axis","traversal","_scan","_stat","lscanSync","postfix","noFollow","accept","traverse","childpath","mountSync","resolver","existingNode","_mknod","dev","S_IFDIR","_addLink","rimrafSync","lstatSync","rmdirSync","_mkdir","getFileListing","printLinks","marker","_getLinks","isSymlink","symlink","_getRootLinks","debugPrint","utimesSync","atime","mtime","atimeMs","mtimeMs","ctimeMs","realpath","Stats","ino","nlink","_getSize","birthtimeMs","makeDirEnt","_removeLink","linkSync","oldpath","newpath","renameSync","oldParent","oldParentLinks","oldBasename","newParent","newParentLinks","newBasename","_replaceLink","symlinkSync","linkpath","S_IFLNK","_getBuffer","S_IFREG","Int8Array","bufferFrom","differences","_rootDiff","_trackCreatedInodes","changed","changedLinks","baseLinks","_trackDeletedInodes","hasChanges","Rmdir","Unlink","changedNode","baseNode","_directoryDiff","_fileDiff","_symlinkDiff","_trackCreatedInode","_diffWorker","isEmptyNonShadowedDirectory","Directory","isEmptyNonShadowedFile","changedBuffer","baseBuffer","includeChangedFileWithSameContent","SameFileContentFile","Symlink","S_IFMT","oldLinks","oldName","newLinks","_copyShadowLinks","_getShadow","step","retry","lastStep","trapError","deferred","_applyFilesWorker","_applyFileExtendedOptions","Link","normalizeFileSetEntry","metaAndEncoding","rdev","blksize","blocks","uid","gid","ctime","birthtime","WorkspaceMap","_defaultWorkspacePath","getNonDefaultWorkspaces","workspaces","bestRootPath","bestInstance","defaultWorkspace","workspaceNames","createAnalyzerService","updateSettingsForWorkspace","maxAnalysisTimeInForeground","PyrightServer","_serverOptions","_lastTriggerKind","hasConfigurationCapability","hasVisualStudioExtensionsCapability","hasWorkspaceFoldersCapability","hasWatchFileCapability","hasActiveParameterCapability","hasSignatureLabelOffsetCapability","hasHierarchicalDocumentSymbolCapability","hasWindowProgressCapability","hasGoToDeclarationCapability","hasDocumentChangeCapability","hasDocumentAnnotationCapability","hoverContentFormat","completionDocFormat","completionSupportsSnippet","signatureDocFormat","supportsDeprecatedDiagnosticTag","supportsUnnecessaryDiagnosticTag","completionItemResolveSupportsAdditionalTextEdits","diagnosticTextSettings","__rootDirectory","rootDirectory","productName","_workspaceMap","workspaceMap","_fileWatcherProvider","fileWatcherProvider","_uriParser","setupConnection","supportedCommands","supportedCodeActions","_progressReporter","createProgressReporter","scopeUri","_defaultClientConfig","isOpenFilesOnly","diagnosticMode","getSeverityOverrides","enumValue","getDiagnosticRuleName","createBackgroundAnalysisProgram","setExtension","createHost","onAnalysisCompletedHandler","executeCodeAction","workDoneReporter","resultReporter","callHierarchy","initializationOptions","didChangeWatchedFiles","dynamicRegistration","supportsVisualStudioExtensions","signatureHelp","signatureInformation","activeParameterSupport","parameterInformation","labelOffsetSupport","documentSymbol","hierarchicalDocumentSymbolSupport","resourceOperations","changeAnnotationSupport","_getCompatibleMarkupKind","hover","contentFormat","completion","snippetSupport","supportedDiagnosticTags","publishDiagnostics","tagSupport","valueSet","tag","resolveSupport","properties","createWorkspaceServiceInstance","updateSettingsForAllWorkspaces","definitionProvider","declarationProvider","typeDefinitionProvider","referencesProvider","documentSymbolProvider","workspaceSymbolProvider","hoverProvider","documentHighlightProvider","renameProvider","completionProvider","triggerCharacters","resolveProvider","signatureHelpProvider","codeActionProvider","codeActionKinds","executeCommandProvider","commands","callHierarchyProvider","onDidChangeWorkspaceFolders","removed","added","newWorkspace","watchers","globPattern","settings","getDefinitions","PreferSource","getDefinitionsFunc","_pendingFindAllRefsCancellationSource","_getProgressReporter","convertToFlatSymbols","disableWorkspaceSymbol","hoverResults","markupString","convertHoverResults","signatureHelpResults","isActive","activeSignature","isRetrigger","triggerKind","prevActiveSignature","activeSignatureHelp","completionIncomplete","getWorkspaceCompletionsForPosition","getCompletionOptions","resolveWorkspaceCompletionItem","workspaceEdits","convertWorkspaceEdits","callItem","callItems","eventType","_pendingCommandCancellationSource","executeCommand","_convertDiagnostics","fileDiag","_sendDiagnostics","progressMessage","updateOptionsAndRestartService","convertLogLevel","logLevelValue","clientSupportedFormats","serverSupportedFormats","serverInitiatedReporter","diags","convertedDiags","convertCategoryToSeverity","vsDiag","ruleDocUrl","getDocumentationUrlForDiagnosticRule","relatedInfo","expandPathVariables","trimmedName","HOME","USERNAME","VIRTUAL_ENV","_controller","_initialFiles","pythonSection","pythonAnalysisSection","pyrightSection","BrowserBackgroundAnalysis","codeActions","typeStubDiag","addOptionalDiag","addMissingOptionalAction","getCodeActionsForPosition","setup","worker","_worker","onMessage","requestType","logData","enqueueRequest","_startOrResumeAnalysis","port1","port2","disposeCancellationToken","waiter","request","initialData","runner","createWorker","BrowserBackgroundAnalysisRunner","folderName","_realFs","createRealFileSystem","getConsole","initializationData","_analyzeOneChunk","jsonObject","createConfigOptionsFrom","_reportDiagnostics","_analysisPaused","processIndexing","analysisDone","reportIndex","BrowserWorkersHost","_parentPort","BrowserMessagePort","channel","MessageChannel","delegate","unwrap","transferList","unwrapForSend","MessagePort","app"],"mappings":"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IwC,CACxC,CAAC,GAAI,IACL,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA+C+B,CACxC,CAAC,GAAI,KACL,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,IAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA4C+B,CACxC,IACA,IACA,IACA,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,MAGwC,CACxC,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,OACA,OACA,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,OACA,OACA,OACA,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,SA0O+B,CACxC,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,KAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAUgC,CACxC,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,SDj8DNC,GAA4B,CC+d4B,CAC1D,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,KAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,SA+nB0C,CAC1D,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,SA8d0C,CAC1D,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,MACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,OAEJ,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO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CP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,SA+H+B,CACxC,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,SA0E+B,CACxC,CAAC,GAAI,IACL,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,SAuC+B,CAAC,GAAI,CAAC,KAAM,MAAO,KAAM,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,QDxqF/FC,GAAiC,CCouEuB,CAC1D,MAAO,CAAC,MAAO,MAAO,CAAC,MAAO,QAC9B,MAAO,CAAC,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,MAAO,CAAC,MAAO,QACvF,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,MAAO,CAAC,MAAO,OAAQ,OAC/B,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,MAAO,MAAO,CAAC,MAAO,OAAQ,CAAC,MAAO,QAC9E,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,SAsK0C,CAC1D,MAAO,CACH,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,OAEJ,MAAO,CACH,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,OAEJ,MAAO,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,MAAO,CAAC,MAAO,QAC1F,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,SA8D8C,CAC1D,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,OAAQ,OACxB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,UD/pFpB,SAASC,GACLzwD,EACA0wD,EACAC,EACAC,EACAC,GAEA,IAAK,IAAIC,EAAa,EAAGA,EAAa9wD,EAAM5S,OAAQ0jE,IAAc,CAC9D,MAAMjF,EAAQ7rD,EAAM8wD,GACpB,IAAIC,EACAC,EAEAljE,MAAMuD,QAAQw6D,IACdkF,EAAalF,EAAM,GACnBmF,EAAWnF,EAAM,IAEjBkF,EAAaC,EAAWnF,EAG5B,IAAK,IAAIn/D,EAAIqkE,EAAYrkE,GAAKskE,EAAUtkE,IAChCA,EAAIwiE,GACJ0B,EAAUlkE,GAAKgkE,EAEfG,EAAUnkE,GAAKgkE,EAIvB,GAAIC,GAAiBI,GAAc7B,GAC/B,OAKZ,SAAS+B,GACLb,EACAM,GAEA,IAAK,MAAMQ,KAAiBd,EACnBf,GAAkB6B,KACnB7B,GAAkB6B,GAAiB,GACnC9B,GAAmB8B,GAAiBjC,GAAaiB,eAGrDO,GACIL,EAAec,GACfR,GACoB,EACpBrB,GAAkB6B,GAClB7B,GAAkB6B,IAM9B,SAASxB,GAA4BiB,GAyBjC,GAxBAxB,GAAyBt4D,KAAKo4D,GAAakB,mBAE3CI,GAAsB74C,SAAS1X,IAC3BywD,GACIzwD,EACAivD,GAAaY,eACbc,EACAxB,GACAC,OAIRiB,GAA2B34C,SAAS1X,IAChCywD,GACIzwD,EACAivD,GAAaO,oBACbmB,EACAxB,GACAC,QAMHuB,EAAe,CAChB,IAAK,MAAMP,KAAkBI,GACzBS,GAAmDb,EAAgBnB,GAAaY,gBAGpF,IAAK,MAAMO,KAAkBE,GACzBW,GAAmDb,EAAgBnB,GAAaO,sBEpQrF,SAAS2B,GAAeC,EAAwB1J,GACnD,IAAK0J,EAAWhJ,WAAWV,KAAasD,GAAYoG,EAAY1J,GAC5D,OAGJ,IAAI2J,GAAmB,EACvB,MAAMC,EAAcnJ,GAAaT,EARZ,YAUrB,IAAK0J,EAAWhJ,WAAWV,KAAawD,GAAOkG,EAAYE,GACvD,OAIJ,MAAMC,EAAYH,EAAWjG,SAASmG,GAItC,GAAIC,EAAU7/D,KAAO,GAAK6/D,EAAU7/D,KAAO,MAAW,CAClD,MAAM8/D,EAAkBJ,EAAWK,aAAaH,EAAa,SAKzDE,EAAgB3N,MAAM,cAAgB2N,EAAgB3N,MAAM,kBAC5DwN,GAAmB,GAI3B,MAAO,CACHC,cACAD,oBC6CD,SAASK,GAA0B/I,GACtC,MAAMgJ,EAAkBhJ,EAAMzyC,KAAKtR,GAAMA,EAAE1S,gBAC3C,OAAQiP,IACJ,IAAKA,GAAQA,EAAKlT,QAAQ,gBAAkB,EACxC,OAAO,EAEX,MAAM84D,EAAiB5lD,EAAKjP,cAC5B,OAAOy/D,EAAgBx4C,OAAOvU,GAAMmiD,EAAe94D,QAAQ2W,GAAK,KHuLxE8qD,IAA4B,GGnL5B,MAAMkC,GAA+B,CACjCnpD,WAKSopD,GAA+C,CACxDC,kBAAiB,CAACC,EAAcC,IACrBJ,GAEXK,aAAaF,EAA0BC,MAKpC,MAAME,GACT7zD,YAAmBI,EAAsB0zD,GAAtB,KAAA1zD,OAAsB,KAAA0zD,QAEzCjH,SACI,OAAO94D,KAAK+/D,MAGhBnH,cACI,OAAQ54D,KAAK+/D,MAGjBC,gBACI,OAAO,EAGXC,oBACI,OAAO,EAGXvG,iBACI,OAAO,EAGXwG,SACI,OAAO,EAGXC,WACI,OAAO,GC1HR,MAAMC,WCHN,MAUHn0D,YAAsBo0D,GAAA,KAAAA,UARL,KAAAC,UAAY,IAAIxiD,IAGhB,KAAAyiD,iBAAmB,IAAIziD,IAGvB,KAAA0iD,WAAa,IAAI1iD,IAIlCk4C,WAAWjnD,GACP,OAAI/O,KAAKygE,cAAc1xD,IAKhB/O,KAAKqgE,QAAQrK,WAAWh2D,KAAK0gE,iBAAiB3xD,IAGzDknD,UAAUlnD,EAAcqF,GACpB,MAAM,IAAIxY,MAAM,6BAGpB+kE,MAAM5xD,GACF,MAAM,IAAInT,MAAM,6BAGpBw9D,mBAAmBrqD,GACf,MAAM6xD,EAAiBxL,GAAiCrmD,GAElD6Z,EAAuB,GACvBi4C,EAAe7gE,KAAKwgE,WAAWj8D,IAAIq8D,GAUzC,OATKC,IAAgB7gE,KAAKqgE,QAAQrK,WAAWjnD,IACzC6Z,EAAQvtB,QACD2E,KAAKqgE,QAAQjH,mBAAmBrqD,GAAM85C,QAAQ7gC,IAErChoB,KAAKygE,cAAc1K,GAAahnD,EAAMiZ,EAAK3b,UAK1Dw0D,EAIEj4C,EAAQ5jB,OAAO67D,EAAa/8C,KAAK7f,GAAM,IAAI67D,GAAc77D,EAAEoI,KAAMpI,EAAE60D,WAH/DlwC,EAMfk4C,YAAY/xD,GACR,OAAO/O,KAAKo5D,mBAAmBrqD,GAAM+U,KAAKtR,GAAMA,EAAEnG,OAKtDgzD,aAAatwD,EAAcvR,GACvB,OAAOwC,KAAKqgE,QAAQhB,aAAar/D,KAAK0gE,iBAAiB3xD,GAAOvR,GAGlEw+D,cAAcjtD,EAAc7P,EAAuB1B,GAC/C,MAAM,IAAI5B,MAAM,6BAGpBm9D,SAAShqD,GACL,OAAO/O,KAAKqgE,QAAQtH,SAAS/4D,KAAK0gE,iBAAiB3xD,IAGvDktD,WAAWltD,GACP,MAAM,IAAInT,MAAM,6BAGpBq9D,aAAalqD,GACT,OAAI/O,KAAKsgE,UAAUl8C,IAAIrV,GACZA,EAGJ/O,KAAKqgE,QAAQpH,aAAalqD,GAGrCgyD,gBACI,OAAO/gE,KAAKqgE,QAAQU,gBAGxBC,wBAAwBzK,EAAiB1gD,GACrC,OAAO7V,KAAKqgE,QAAQW,wBAAwBzK,EAAO1gD,GAGvDorD,iBAAiBlyD,GACb,OAAO/O,KAAKqgE,QAAQY,iBAAiBjhE,KAAK0gE,iBAAiB3xD,IAG/DmyD,kBAAkBnyD,GACd,MAAM,IAAInT,MAAM,6BAGpBulE,aAAa1zD,EAAaC,GACtB,MAAM,IAAI9R,MAAM,6BAIpBwlE,SAASryD,GACL,OAAO/O,KAAKqgE,QAAQe,SAASphE,KAAK0gE,iBAAiB3xD,IAGvDsyD,aAAatyD,EAAcvR,GACvB,OAAOwC,KAAKqgE,QAAQgB,aAAarhE,KAAK0gE,iBAAiB3xD,GAAOvR,GAIlEu+D,SACI,OAAO/7D,KAAKqgE,QAAQtE,SAGxBuF,QAAQltD,GACJ,OAAOpU,KAAKqgE,QAAQiB,QAAQltD,GAGhCmtD,aAAaxyD,GACT,OAAO/O,KAAKqgE,QAAQkB,aAAaxyD,GAGrC2sD,OAAO8F,GACH,OAAOxhE,KAAKqgE,QAAQ3E,OAAO8F,GAI/BC,iBAAiBC,GACb,OAAO1hE,KAAKsgE,UAAUl8C,IAAIs9C,IAAa1hE,KAAKqgE,QAAQoB,iBAAiBC,GAIzE/F,oBAAoBgG,GAChB,OAAO3hE,KAAKqgE,QAAQ1E,oBAAoB37D,KAAK0gE,iBAAiBiB,IAIlEpG,kBAAkBqG,G,MACd,MAAMD,EAAiB3hE,KAAKqgE,QAAQ9E,kBAAkBqG,GACtD,OAAgD,QAAzC,EAAA5hE,KAAKugE,iBAAiBh8D,IAAIo9D,UAAe,QAAIA,EAGxDE,aAAa9yD,GACT,OAAO/O,KAAKqgE,QAAQwB,aAAa9yD,GAG3B+yD,kBAAkBC,EAAoBP,EAAsBQ,GAAa,EAAMlJ,GAAS,GAC9F94D,KAAKsgE,UAAUn7D,IAAI48D,EAAYP,GAE3BQ,GACAhiE,KAAKugE,iBAAiBp7D,IAAIq8D,EAAcO,GAG5C,MAAM5N,EAAYiB,GAAiCf,EAAiB0N,IAC9DE,EAAajT,EAAShvD,KAAKwgE,WAAYrM,GAAW,IAAM,KAExD9nD,EAAOqsD,GAAYqJ,GACpBE,EAAWxT,MAAMgL,GAAUA,EAAMptD,OAASA,KAC3C41D,EAAW5mE,KAAK,CAAEgR,OAAMysD,WAItB4H,iBAAiBiB,G,MACvB,OAAyC,QAAlC,EAAA3hE,KAAKsgE,UAAU/7D,IAAIo9D,UAAe,QAAIA,EAGvClB,cAAc1xD,GACpB,OAAO/O,KAAKugE,iBAAiBn8C,IAAIrV,GAG3BmzD,SACNliE,KAAKsgE,UAAUz4C,QACf7nB,KAAKugE,iBAAiB14C,QACtB7nB,KAAKwgE,WAAW34C,UD7JpB5b,YAAYk2D,GACRj2D,MAAMi2D,GAZO,KAAAC,cAAgB,IAAItxB,IAGpB,KAAAuxB,yBAA2B,IAAIvxB,IAI/B,KAAAwxB,aAAe,IAAIxkD,IAEnB,KAAAykD,cAAgB,IAAIzkD,IAM5Bm4C,UAAUlnD,EAAcqF,GAC7BpU,KAAKqgE,QAAQpK,UAAUlnD,EAAMqF,GAGxBusD,MAAM5xD,GACX/O,KAAKqgE,QAAQM,MAAM5xD,GAGditD,cAAcjtD,EAAc7P,EAAuB1B,GACxDwC,KAAKqgE,QAAQrE,cAAch8D,KAAK0gE,iBAAiB3xD,GAAO7P,EAAM1B,GAGzDy+D,WAAWltD,GAChB/O,KAAKqgE,QAAQpE,WAAWj8D,KAAK0gE,iBAAiB3xD,IAGzCmyD,kBAAkBnyD,GACvB,OAAO/O,KAAKqgE,QAAQa,kBAAkBlhE,KAAK0gE,iBAAiB3xD,IAGvDoyD,aAAa1zD,EAAaC,GAC/B1N,KAAKqgE,QAAQc,aAAanhE,KAAK0gE,iBAAiBjzD,GAAMzN,KAAK0gE,iBAAiBhzD,IAGvEguD,OAAO8F,GACZ,MAAM/H,EAAQz5D,KAAKuiE,cAAch+D,IAAIvE,KAAKu7D,kBAAkBiG,IAC5D,OAAI/H,EACOA,EAAMj/B,IAGVx6B,KAAKqgE,QAAQ3E,OAAO8F,GAG/BgB,eAAelH,EAAmByG,GAC9B,MAAMtI,EAAQz5D,KAAKuiE,cAAch+D,IAAIw9D,GACrC,SAAKtI,GAASA,EAAMj/B,MAAQ8gC,GAQhCmH,UAAUnH,EAAmByG,GACzB,MAAMtI,EAAQz5D,KAAKuiE,cAAch+D,IAAIw9D,GACrC,OAAKtI,EAKDA,EAAMj/B,MAAQ8gC,IAKlB7B,EAAMiJ,QAAS,GACR,IAVH1iE,KAAKuiE,cAAcp9D,IAAI48D,EAAY,CAAEvnC,IAAK8gC,EAAWoH,QAAQ,EAAOC,mBAAmB,KAChF,GAYfC,aAAatH,EAAmByG,GAC5B,MAAMtI,EAAQz5D,KAAKuiE,cAAch+D,IAAIw9D,GACrC,SAAKtI,GAASA,EAAMj/B,MAAQ8gC,IAIxB7B,EAAMkJ,mBACNlJ,EAAMiJ,QAAS,EACR,IAGX1iE,KAAKuiE,cAAc3/C,OAAOm/C,GACnB,KAGXc,eAAed,EAAoBY,GAC/B,MAAMlJ,EAAQz5D,KAAKuiE,cAAch+D,IAAIw9D,GAChCtI,IAIAkJ,IAAqBlJ,EAAMiJ,OAKhCjJ,EAAMkJ,kBAAoBA,EAJtB3iE,KAAKuiE,cAAc3/C,OAAOm/C,IAOlCe,6BAA6BC,G,MACzB,OAAO/iE,KAAKgjE,cAA0B,QAAZ,EAAAD,EAAQvxD,YAAI,QAAI,IAG9CwxD,cAAcj0D,GACV,OAAO/O,KAAKoiE,cAAch+C,IAAIrV,GAGlCk0D,2BAA2B1M,EAAiB2M,G,MACxC,IAAK,MAAMn0D,KAAQwnD,EAGf,GAFAv2D,KAAKoiE,cAAcx8C,IAAI7W,GAElB/O,KAAKqgE,QAAQrK,WAAWjnD,IAAU6pD,GAAY54D,KAAKqgE,QAAStxD,GAIjE,IAAK,MAAM0qD,KAASz5D,KAAKqgE,QAAQjH,mBAAmBrqD,GAAO,CACvD,MAAMo0D,EAAyBpN,GAAahnD,EAAM0qD,EAAMptD,MAKxD,KAJqBotD,EAAMC,iBAE0B,QAA7C,EAAAb,GAAQ74D,KAAKqgE,QAAS8C,UAAuB,eAAEvK,cADjDa,EAAMb,iBAGSa,EAAMptD,KAAK4tD,SAASvK,GACrC,SAGJ,MAAM0T,EAAcrE,GAAe/+D,KAAKqgE,QAAS8C,GACjD,IAAKC,IAAgBA,EAAYnE,iBAE7B,SAOJ,IAAIoE,EAHJrjE,KAAKqiE,yBAAyBz8C,IAAIu9C,GAIlC,MAAMG,EAAc7J,EAAMptD,KAAKrK,OAAO,EAAGy3D,EAAMptD,KAAKrR,OAAS00D,EAAY10D,QACzE,IAAK,MAAMwW,KAAQ0xD,EAAO,CACtB,MAAMK,EAAcxN,GAAavkD,EAAM8xD,GACvC,IACI,MAAM3J,EAAOd,GAAQ74D,KAAKqgE,QAASkD,GACnC,KAAK5J,aAAI,EAAJA,EAAMf,eACP,SAIJ,MAAM4K,EAAiBzE,GAAe/+D,KAAKqgE,QAASkD,GACpD,GAAIC,IAAmBA,EAAevE,iBAElC,SAIJoE,EAAeA,UAAgBrjE,KAAKyjE,6BAA6BN,GACjE,IAAK,MAAMO,KAAeL,EAAc,CACpC,MAAMM,EAAkB5N,GAAaoN,EAAwBO,GACvDE,EAAgB7N,GAAawN,EAAaG,GAEhD,GAAI1jE,KAAKg2D,WAAW4N,GAApB,CAII,MAAMC,EAAe9M,GAAmB6M,EAAe,MACjDE,EAAY/M,GACdhB,GAAa/1D,KAAK+7D,SAAU,gBAAiBuH,EAAaI,GAC1D,MAMC1jE,KAAKsiE,aAAal+C,IAAIw/C,IACtB5jE,KAAKg2D,WAAW6N,IAChB7jE,KAAKg2D,WAAW8N,KAMjB9jE,KAAK8hE,kBAAkBgC,EAAWH,GAAkC,GAIpE3jE,KAAKsiE,aAAan9D,IAAIy+D,EAAeE,SAK7C9jE,KAAK8hE,kBAAkB8B,EAAeD,IAE5C,UAQlBI,oBACI73D,MAAMg2D,SAENliE,KAAKoiE,cAAcv6C,QACnB7nB,KAAKqiE,yBAAyBx6C,QAE9B7nB,KAAKsiE,aAAaz6C,QAKtBm8C,kBAAkBtC,GACd,OAAO1hE,KAAKsiE,aAAa/9D,IAAIm9D,GAGzB+B,6BAA6B10D,GACjC,MAAMwnD,EAAkB,GAElB0N,EAAwB7O,GAAiCrmD,GAAM/T,OAC/DkpE,EAAkBn1D,IACpB,IAAK,MAAM0qD,KAASz5D,KAAKqgE,QAAQjH,mBAAmBrqD,GAAO,CACvD,MAAM8sD,EAAW9F,GAAahnD,EAAM0qD,EAAMptD,MAE1C,IAAIusD,EAAca,EAAMb,cACpBE,EAASW,EAAMX,SACnB,GAAIW,EAAMC,iBAAkB,CACxB,MAAMC,EAAOd,GAAQ74D,KAAKqgE,QAASxE,GAC/BlC,IACAf,EAAce,EAAKf,cACnBE,EAASa,EAAKb,UAQtB,GAJIF,GACAsL,EAAerI,GAGf/C,GAAUW,EAAMptD,KAAK4tD,SAAS,QAAS,CACvC,MAAMhqD,EAAW4rD,EAASr1B,UAAUy9B,GAChCh0D,GACAsmD,EAAMl7D,KAAK4U,MAO3B,OADAi0D,EAAen1D,GACRwnD,EAGQkK,cAAc1xD,GAC7B,OAAO/O,KAAKqiE,yBAAyBj+C,IAAIrV,IAAS7C,MAAMu0D,cAAc1xD,I,8DExQ9E,IAAIo1D,GAUG,MAAMC,WAAmC,GAAA5qD,cAC5CvN,cACIC,MAAM,GAAA+hB,cAAA,iBAAgC,qBAG1C,UAAUhqB,GACN,OAAOA,EAAEtI,OAAS,GAAAsyB,cAAA,kBAInB,SAAS,GAA6BjN,GAGzC,IAAKktC,KAAiBltC,EAAMnG,wBACxB,MAAM,IAAIupD,GAIX,SAASC,MAAeC,GAC3B,MAAM3iD,EAAS,IAAI,GAAAlJ,wBACbiO,EAA4B,GAElC,IAAK,MAAM1F,KAASsjD,EAChB59C,EAAYrrB,KACR2lB,EAAMlG,yBAAyB2B,IAC3BkF,EAAOpG,aAWnB,OANAmL,EAAYrrB,KACRsmB,EAAOX,MAAMlG,yBAAyB2B,IAClCiK,EAAYpB,SAAS/W,GAAMA,EAAE6M,gBAI9BuG,EAGJ,MAAM4iD,GACT/nD,gCACI,OAAO,IAAI,GAAA/D,yBCtDZ,IAAU+rD,GA+EA/rC,GAgBAC,GC7EL+rC,GD8FL,SAASC,GAAiB7/D,EAAanG,GAC1C,OAAImG,EAAEq1B,KAAOx7B,EAAEw7B,MACH,EACDr1B,EAAEq1B,KAAOx7B,EAAEw7B,KACX,EACAr1B,EAAEs1B,UAAYz7B,EAAEy7B,WACf,EACDt1B,EAAEs1B,UAAYz7B,EAAEy7B,UAChB,EAEJ,EAmBJ,SAASwqC,GAAkB9/D,EAAUnG,GACxC,QAAIgmE,GAAiBhmE,EAAE5C,MAAO+I,EAAE9I,KAAO,GAE5B2oE,GAAiB7/D,EAAE/I,MAAO4C,EAAE3C,KAAO,GAM3C,SAAS6oE,GAAiBn4D,EAAco4D,GAC3C,OAAIpsC,GAASlkB,GAAGswD,GACLH,GAAiBj4D,EAAM3Q,MAAO+oE,IAAoB,GAAKH,GAAiBj4D,EAAM1Q,IAAK8oE,IAAoB,EAG3GD,GAAiBn4D,EAAOo4D,EAAgB/oE,QAAU8oE,GAAiBn4D,EAAOo4D,EAAgB9oE,KAG9F,SAAS+oE,GAAkBjgE,EAAanG,GAC3C,OAAkC,IAA3BgmE,GAAiB7/D,EAAGnG,GAGxB,SAASqmE,GAAelgE,EAAUnG,GACrC,OAAOomE,GAAkBjgE,EAAE/I,MAAO4C,EAAE5C,QAAUgpE,GAAkBjgE,EAAE9I,IAAK2C,EAAE3C,KAkBtE,SAASipE,GAAYv4D,EAAc4qD,GAClCA,IACI37D,MAAMuD,QAAQo4D,GACdA,EAAU/xC,SAASZ,IACfsgD,GAAYv4D,EAAOiY,OAGnBggD,GAAiBrN,EAAUv7D,MAAO2Q,EAAM3Q,OAAS,IACjD2Q,EAAM3Q,MAAQu7D,EAAUv7D,OAGxB4oE,GAAiBrN,EAAUt7D,IAAK0Q,EAAM1Q,KAAO,IAC7C0Q,EAAM1Q,IAAMs7D,EAAUt7D,OEhM/B,SAASkpE,GAAwBvjE,EAAgB8lD,GAEpD,GAAkB,IAAdA,EAAMzrD,IACN,MAAO,CACHm+B,KAAM,EACNC,UAAW,GAKnB,IAAI+qC,EAAmB,EACnBxjE,GAAU8lD,EAAMzrD,MAChB2F,EAAS8lD,EAAMzrD,IAAM,EACrBmpE,EAAmB,GAGvB,MAAMC,EAAY3d,EAAM4d,kBAAkB1jE,GAC1CowD,EAAOqT,GAAa,GAAKA,GAAa3d,EAAMxsD,QAC5C,MAAMqqE,EAAY7d,EAAM8d,UAAUH,GAElC,OADArT,OAAqBhzD,IAAdumE,GACA,CACHnrC,KAAMirC,EACNhrC,UAAWz4B,EAAS2jE,EAAUvpE,MAAQopE,GAKvC,SAASK,GACZj/B,EACAC,EACAihB,GAIA,MAAO,CAAE1rD,MAFKmpE,GAAwB3+B,EAAakhB,GAEnCzrD,IADJkpE,GAAwB1+B,EAAWihB,IAK5C,SAAS,GAAwB/qB,EAAoB+qB,GACxD,KAAI/qB,EAASvC,MAAQstB,EAAMx7B,OAI3B,OAAOw7B,EAAM8d,UAAU7oC,EAASvC,MAAMp+B,MAAQ2gC,EAAStC,UAGpD,SAASqrC,GAAwB/4D,EAAc+6C,GAClD,MAAM1rD,EAAQ,GAAwB2Q,EAAM3Q,MAAO0rD,GACnD,QAAc1oD,IAAVhD,EACA,OAGJ,MAAMC,EAAM,GAAwB0Q,EAAM1Q,IAAKyrD,GAC/C,YAAY1oD,IAAR/C,EAIGyoE,GAAUiB,WAAW3pE,EAAOC,QAJnC,EAOG,SAAS2pE,GAAwBj5D,EAAkB+6C,GACtD,OAAO+d,GAAsB94D,EAAM3Q,MAAO0oE,GAAUmB,OAAOl5D,GAAQ+6C,IF9DvE,SAAiBgd,GACb,SAAgBryD,EAAOrW,EAAed,GAClC,GAAIc,EAAQ,EACR,MAAM,IAAIF,MAAM,8BAEpB,GAAIZ,EAAS,EACT,MAAM,IAAIY,MAAM,+BAEpB,MAAO,CAAEE,QAAOd,UAapB,SAAgB2qE,EAAOl5D,GACnB,OAAOA,EAAM3Q,MAAQ2Q,EAAMzR,OAW/B,SAAgB4qE,EAASn5D,EAAkBgwB,GACvC,OAAOA,GAAYhwB,EAAM3Q,OAAS2gC,GAAYkpC,EAAOl5D,GAOzD,SAAgBo5D,EAAOp5D,EAAkB4qD,GACjCA,IACI37D,MAAMuD,QAAQo4D,GACdA,EAAU/xC,SAASZ,IACfmhD,EAAOp5D,EAAOiY,OAGd2yC,EAAUv7D,MAAQ2Q,EAAM3Q,QACxB2Q,EAAMzR,QAAUyR,EAAM3Q,MAAQu7D,EAAUv7D,MACxC2Q,EAAM3Q,MAAQu7D,EAAUv7D,OAGxB6pE,EAAOtO,GAAasO,EAAOl5D,KAC3BA,EAAMzR,QAAU2qE,EAAOtO,GAAasO,EAAOl5D,MArD3C,EAAA0F,OAAM,EAUN,EAAAszD,WAAhB,SAA2B3pE,EAAeC,GACtC,GAAID,EAAQ,EACR,MAAM,IAAIF,MAAM,8BAEpB,GAAIE,EAAQC,EACR,MAAM,IAAIH,MAAM,8CAEpB,OAAOuW,EAAOrW,EAAOC,EAAMD,IAGf,EAAA6pE,OAAM,EAIN,EAAAG,SAAhB,SAAyBr5D,EAAkBgwB,GACvC,OAAOA,GAAYhwB,EAAM3Q,OAAS2gC,EAAWkpC,EAAOl5D,IAGxC,EAAAs5D,cAAhB,SAA8Bt5D,EAAkBu5D,GAC5C,OAAOA,EAAKlqE,OAAS2Q,EAAM3Q,OAAS6pE,EAAOK,IAASL,EAAOl5D,IAG/C,EAAAm5D,SAAQ,EAIR,EAAAK,cAAhB,SAA8Bx5D,EAAkB+pC,GAC5C,OAAOovB,EAASn5D,EAAO+pC,EAAM16C,QAAU8pE,EAASpvB,EAAO/pC,EAAM3Q,QAGjD,EAAA+pE,OAAM,EAmBN,EAAAhzB,QAAhB,SAAwBqzB,GACpB,GAAsB,IAAlBA,EAAOlrE,OACP,OAGJ,MAAMmrE,EAAgBD,EAAO,GAC7B,IAAK,IAAI5rE,EAAI,EAAGA,EAAI4rE,EAAOlrE,OAAQV,IAC/BurE,EAAOM,EAAeD,EAAO5rE,IAEjC,OAAO6rE,GArEf,CAAiB3B,QAAS,KA+E1B,SAAiB/rC,GACG,EAAAlkB,GAAhB,SAAmBjX,GACf,MAAM0d,EAAY1d,EAClB,OAAO0d,QAAgC,IAAnBA,EAAUkf,WAA2C,IAAxBlf,EAAUmf,WAG/C,EAAAisC,MAAhB,SAAsB9oE,GAClB,MAAO,IAAIA,EAAM48B,QAAQ58B,EAAM68B,cAPvC,CAAiB1B,QAAQ,KAgBzB,SAAiBC,GACG,EAAAnkB,GAAhB,SAAmBjX,GACf,MAAM0d,EAAY1d,EAClB,OAAO0d,QAAiC,IAApBA,EAAUlf,YAAsC,IAAlBkf,EAAUjf,KAGhD,EAAAqqE,MAAhB,SAAsB9oE,GAClB,MAAO,GAAGm7B,GAAS2tC,MAAM9oE,EAAMxB,UAAU28B,GAAS2tC,MAAM9oE,EAAMvB,QAPtE,CAAiB28B,QAAK,KC7EtB,SAAY+rC,GACR,iCACA,qBACA,iCACA,6BACA,gCACA,wBACA,wCACA,uCACA,yCACA,sBACA,0CACA,oCACA,mDACA,mDACA,mDACA,sDACA,gDACA,4CAlBJ,CAAYA,QAAS,KAqBrB,IAAI4B,GAAkB,EAIf,SAASC,KACZ,OAAOD,KA4GJ,SAASE,GAAgCC,GAC5C,GAA2B,KAAvBA,EAAUC,SACV,OAAO,EAGX,GAA2B,KAAvBD,EAAUC,SACV,OAAOF,GAAgCC,EAAUE,gBAGrD,GAA2B,KAAvBF,EAAUC,SAAkC,CAG5C,GAC+B,IAA3BD,EAAUzjC,MAAM/nC,QAChBwrE,EAAUG,oBACkB7nE,IAA5B0nE,EAAUzjC,MAAM,GAAG12B,MACqB,IAAxCm6D,EAAUzjC,MAAM,GAAG6jC,iBAEnB,OAAO,EAGX,MAAMC,EAAgBL,EAAUzjC,MAAM,GAAG+jC,gBACnCC,EACyB,KAA3BF,EAAcJ,WAAsCI,EAAcG,aAAeH,EAAc35D,UAC7F+5D,EACyB,KAA3BJ,EAAcJ,UACmB,IAAjCI,EAAcK,QAAQlsE,QACgB,KAAtC6rE,EAAcK,QAAQ,GAAGT,SAE7B,SAAKM,IAAmBE,IAIjBV,GAAgCC,EAAUW,gBAGrD,OAAO,EAGJ,SAASC,GAAsBZ,GAClC,IAAIxkD,EACJ,GAA2B,KAAvBwkD,EAAUC,SACVzkD,EAAMwkD,EAAUlpE,WACb,GAA2B,KAAvBkpE,EAAUC,SAEjBzkD,EAAM,GADUolD,GAAsBZ,EAAUE,mBAC5BF,EAAUa,WAAW/pE,aACtC,GAA2B,KAAvBkpE,EAAUC,SAAkC,CACnD,MAAMa,EAAUF,GAAsBZ,EAAUW,gBAEhD,GADArV,EAAkC,IAA3B0U,EAAUzjC,MAAM/nC,QAC6B,KAAhDwrE,EAAUzjC,MAAM,GAAG+jC,gBAAgBL,SACnCzkD,EAAM,GAAGslD,KAAYd,EAAUzjC,MAAM,GAAG+jC,gBAA+BxpE,MAAMkC,mBAC1E,GAAoD,KAAhDgnE,EAAUzjC,MAAM,GAAG+jC,gBAAgBL,SAAuC,CACjF,MAAMc,EAAUf,EAAUzjC,MAAM,GAAG+jC,gBACnChV,EAAkC,IAA3ByV,EAAQL,QAAQlsE,QAAgD,KAAhCusE,EAAQL,QAAQ,GAAGT,UAC1DzkD,EAAM,GAAGslD,MAAaC,EAAQL,QAAQ,GAAkB5pE,eAExD40D,EAAK,6DAGTA,EAAK,6DAGT,OAAOlwC,EAGJ,SAASwlD,GAAqChB,GACjD,OAA2B,KAAvBA,EAAUC,SACH,CAACW,GAAsBZ,IAGP,KAAvBA,EAAUC,SACH,IACAe,GAAqChB,EAAUE,gBAClDU,GAAsBZ,IAIH,KAAvBA,EAAUC,SACH,IACAe,GAAqChB,EAAUW,gBAClDC,GAAsBZ,SAI9BtU,EAAK,6DEhKF,SAASuV,GAAcC,GAE1B,OADqBA,EACDC,WAQjB,SAASC,GAASF,GAErB,OADqBA,EACDG,MAGjB,SAASC,GAASJ,EAAiBG,GACjBH,EACRG,MAAQA,EAGlB,SAASE,GAAeL,GAE3B,OADqBA,EACDM,YAGjB,SAASC,GAAeP,EAAiBQ,GACvBR,EACRM,YAAcE,EAGxB,SAASC,GAAYT,GAExB,OADqBA,EACDU,SAGjB,SAASC,GAAYX,EAAiBU,GACpBV,EACRU,SAAWA,EAQrB,SAASE,GAAiBZ,EAAiBU,GACzBV,EACRa,cAAgBH,EAG1B,SAAS,GAAYV,GACxB,KAAyB,KAAlBA,EAAKjB,UACRiB,EAAOA,EAAKviC,OAGhB,OADqBuiC,EACDc,SAajB,SAASC,GAAuBf,EAA0BgB,GACxChB,EACRiB,oBAAsBD,EAahC,SAASE,GAAiBlB,GAE7B,OADqBA,EACDmB,cAGjB,SAASC,GAAiBpB,EAAkBqB,GAC1BrB,EACRmB,cAAgBE,EAG1B,SAASC,GAAkBtB,GAC9B,IAAIuB,EAAiCvB,EAIrC,KAAOuB,GAAS,CACZ,MAAMb,EAAWD,GAAYc,GAC7B,GAAIb,EACA,SAAUA,EAASc,MAAQzE,GAAU0E,aAEzCF,EAAUA,EAAQ9jC,OAGtB,OAAO,EC3LX,MAAMikC,GAAiB,eACjBC,GAAuB,SACvBC,GAAkB,6BAGjB,SAAS,GAAcj9D,GAC1B,OAAOA,EAAKrR,OAAS,GAAKqR,EAAKmpD,WAAW,QAAUnpD,EAAK4tD,SAAS,MAI/D,SAAS,GAAgB5tD,GAC5B,OAAOA,EAAKrR,OAAS,GAAKqR,EAAKmpD,WAAW,OAASnpD,EAAKmpD,WAAW,MAGhE,SAAS+T,GAAyBl9D,GACrC,OAAO,GAAcA,IAAS,GAAgBA,GAI3C,SAASm9D,GAAan9D,GACzB,OAAOA,EAAKrR,OAAS,GAAKqR,EAAKmpD,WAAW,OAASnpD,EAAK4tD,SAAS,MAS9D,SAASwP,GAAep9D,GAC3B,QAASA,EAAKolD,MAAM2X,MAAoB/8D,EAAKolD,MAAM4X,IAIhD,SAASK,GAAgBr9D,GAC5B,QAASA,EAAKolD,MAAM6X,ICgCjB,SAASK,GAAeC,GAC3B,OAAIA,EAAUC,aACgC,IAAtCD,EAAUC,aAAaC,WAChB,EAE+B,IAAtCF,EAAUC,aAAaC,YACvBF,EAAUC,aAAaE,mBAEhB,EAGPH,EAAUC,aAAaG,WAChB,EAGJ,EAEA,EAoBR,SAASC,GAAmBC,EAAuBC,GAAyB,GAC/E,MAAMC,EAAiC,CACnCC,eAAgB,GAChBC,cAAe,IAAIxsD,KAGvB,IAAIysD,GAA4B,EAC5BC,GAA4B,EA2BhC,OAzBAN,EAAUO,WAAWnlD,SAASskD,IACC,KAAvBA,EAAUnD,SACVmD,EAAUa,WAAWnlD,SAASolD,IACI,KAA1BA,EAAajE,UACb+D,GAA4B,EAsehD,SAA4B9C,EAAkB0C,EAAgCG,GAC1E7C,EAAKziE,KAAKqgB,SAASqlD,IACf,MAAMd,EAAe,GAA+Bc,EAAa74D,QACjE,IAAInC,EAEAk6D,GAAgBA,EAAae,gBAC7Bj7D,EAAek6D,EAAagB,cAAchB,EAAagB,cAAc7vE,OAAS,IAGlF,MAAM8vE,EAA+B,CACjCpD,OACAqD,QAASJ,EACTd,eACAl6D,eACAq7D,WAAYC,GAAkBN,EAAa74D,QAC3Cy4D,6BAGJH,EAAaC,eAAehvE,KAAKyvE,GAG7Bn7D,IAIKy6D,EAAaE,cAAclmD,IAAIzU,IAChCy6D,EAAaE,cAAcnlE,IAAIwK,EAAcm7D,OA/fzCI,CAAmBR,EAAcN,EAAcG,GAC/CA,GAA4B,GACK,KAA1BG,EAAajE,UACpB+D,GAA4B,EAkgBhD,SACI9C,EACA0C,EACAG,EACAJ,G,MAEA,MAAMN,EAAe,GAA+BnC,EAAK51D,QACzD,IAAInC,EAMJ,GAJIk6D,GAAgBA,EAAae,gBAC7Bj7D,EAAek6D,EAAagB,cAAchB,EAAagB,cAAc7vE,OAAS,IAG9EmvE,GAA0BN,EAAc,CACxCO,EAAae,gBAA8C,QAA5B,EAAAf,EAAae,uBAAe,QAAI,IAAIrtD,IAEnE,IAAK,MAAMstD,KAAkBvB,EAAasB,gBAAiB,CACvD,MAAME,EAAe3D,EAAK4D,QAAQC,MAAMjxE,GAAMA,EAAE+R,KAAK/O,QAAU8tE,EAAe/+D,OAC1Eg/D,GACAjB,EAAae,gBAAgBhmE,IAAIimE,EAAer8D,KAAMs8D,IAKlE,MAAMP,EAA+B,CACjCpD,OACAmC,eACAl6D,eACAq7D,WAAYC,GAAkBvD,EAAK51D,QACnCy4D,6BAMJ,GAHAH,EAAaC,eAAehvE,KAAKyvE,GAG7Bn7D,EAAc,CACd,MAAM67D,EAAYpB,EAAaE,cAAc/lE,IAAIoL,KAK5C67D,GAC2B,KAA5BA,EAAU9D,KAAKjB,UACf+E,EAAUR,WAAWhwE,OAAS8vE,EAAYE,WAAWhwE,SAErDovE,EAAaE,cAAcnlE,IAAIwK,EAAcm7D,IA9iBrCW,CACIf,EACAN,EACAG,EACAJ,GAEJI,GAA4B,GAE5BA,EAA4BC,KAIpCD,EAA4BC,KAI7BJ,EAKX,SAASsB,GAAyB5Y,GAC9B,OAAI,GAA+BA,GACxB,EAEP,GAAgCA,GACzB,EAEJ,EAGJ,SAAS6Y,GACZC,EACAC,EACAC,GAEA,MAAMC,EAAgC,GACtC,IACKF,EAAgBnE,MACiB,KAAlCmE,EAAgBnE,KAAKjB,UACrBoF,EAAgBnE,KAAKsE,iBAErB,OAAOD,EAKX,MAAME,EAAaJ,EAAgBnE,KAOnC,GAA8B,KAN9BkE,GAAkBlwE,MAAMuD,QAAQ2sE,GAAkBA,EAAiB,CAACA,IAAiB/iB,QAChF5sC,KACKA,EAAK5P,OACN4/D,EAAWX,QAAQ7c,MAAMyd,GAAaA,EAAS7/D,KAAK/O,QAAU2e,EAAK5P,MAAQ6/D,EAASC,QAAUlwD,EAAKkwD,WAGzFnxE,OACf,OAAO+wE,EAGX,IAAK,MAAMK,KAAYR,EACnBG,EAAc1wE,KACVgxE,GAAyCD,EAAS//D,KAAO+/D,EAASD,MAAON,EAAgBnE,KAAMoE,IAKvG,MAAMQ,EAAW,EAAmBP,GAAgB9nE,GAAMy0B,GAAM0tC,MAAMniE,EAAEwI,SAClE8/D,EAAiC,GACvC,IAAK,MAAMC,KAAaF,EAAS3jD,SACJ,IAArB6jD,EAAUxxE,OACVuxE,EAAalxE,KAAKmxE,EAAU,IAE5BD,EAAalxE,KAAK,CACdoR,MAAO+/D,EAAU,GAAG//D,MACpBggE,gBAAiBD,EACZhT,MAAK,CAAC30D,EAAGnG,IAAMguE,GAAoB7nE,EAAE8nE,WAAYjuE,EAAEiuE,cACnD7oD,KAAK7f,GAAMA,EAAEwoE,kBACbjxE,KAAK,MAKtB,OAAO+wE,EAGX,SAASG,GAAoBE,EAAeC,GAGxC,MAEMjoE,EAFY8mE,GAAyBkB,GACzBlB,GAAyBmB,GAE3C,OAAgB,IAAZjoE,EACOA,EASJ8uD,EAFgBkZ,EAAMjnE,QAAQ,KAAM,KACpBknE,EAAMlnE,QAAQ,KAAM,MAQ/C,SAAS0mE,GACLM,EACAR,EACAzE,EACAoE,GAIA,IAAIgB,EACJ,IAAK,MAAMC,KAAarF,EAAK4D,QAAS,CAClC,GAAIoB,GAAoBK,EAAU1gE,KAAK/O,MAAOqvE,GAAc,EACxD,MAGJG,EAAcC,EAWlB,IAAIC,GAA0B,EAC1BC,EAAa,GACjB,GAAIvF,EAAK4D,QAAQtwE,OAAS,EAAG,CACzB,MAAMkyE,EAAqBjI,GAAwByC,EAAK5rE,MAAOgwE,EAAaqB,gBAAgB3lB,OACtF4lB,EAAiBnI,GAAwByC,EAAK4D,QAAQ,GAAGxvE,MAAOgwE,EAAaqB,gBAAgB3lB,OAC7F6lB,EACF3F,EAAK4D,QAAQtwE,OAAS,EAChBiqE,GAAwByC,EAAK4D,QAAQ,GAAGxvE,MAAOgwE,EAAaqB,gBAAgB3lB,YAC5E1oD,EAEV,GACIsuE,EAAelzC,KAAOgzC,EAAmBhzC,YACpBp7B,IAApBuuE,GAAiCA,EAAgBnzC,KAAOkzC,EAAelzC,MAC1E,CACE,MAAMozC,EAAuBxB,EAAaqB,gBAAgB3lB,MAAM8d,UAAU8H,EAAelzC,MAIzF+yC,EAAanB,EAAa10C,KAAKp1B,OAAOsrE,EAAqBxxE,MAAOsxE,EAAejzC,WAG7E,QAAQ6c,KAAKi2B,KACbD,GAA0B,IAKtC,MAKMO,EAAoBtI,GALF6H,EAClBtI,GAAUmB,OAAOmH,GACjBpF,EAAK4D,QAAQtwE,OAAS,EACtB0sE,EAAK4D,QAAQ,GAAGxvE,MAChB4rE,EAAK5rE,MAAQ4rE,EAAK1sE,OAC2C8wE,EAAaqB,gBAAgB3lB,OAE1FgmB,EAAarB,EAAQ,GAAGQ,QAAiBR,IAAU,GAAGQ,IAC5D,IAAIF,EAEJ,GAAIO,EAAyB,CACzB,MAAMS,EAAM3B,EAAaqB,gBAAgBO,6BACzCjB,EAAkBK,EAAc,IAAIW,IAAMR,IAAaO,IAAe,GAAGA,KAAcC,IAAMR,SAE7FR,EAAkBK,EAAc,KAAKU,IAAe,GAAGA,MAG3D,MAAO,CACH/gE,MAAO,CAAE3Q,MAAOyxE,EAAmBxxE,IAAKwxE,GACxCZ,aACAF,mBA0CD,SAASkB,GACZ/B,EACAgC,EACA5C,EACA6C,EACA/B,EACAgC,GAWA,OAGJ,SAA2ChC,EAA4BiC,GACnE,GAAIA,EAAe/yE,OAAS,EACxB,OAAO+yE,EAAejqD,KAAK7f,GAAM+pE,EAAY/pE,KAIjD,MAAMqoE,EAAW,IAAI,EAAmByB,GAAiB9pE,GAAM,GAAGA,EAAE4pE,eAAen1C,GAAM0tC,MAAMniE,EAAEwI,YAC5F+sD,MAAK,CAAC30D,EAAGnG,IAAMg1D,EAA4B7uD,EAAE,GAAInG,EAAE,MACnDolB,KAAKstC,GAAMA,EAAE,KAEZmb,EAAiC,GACvC,IAAK,MAAMC,KAAaF,EACK,IAArBE,EAAUxxE,OACVuxE,EAAalxE,KAAK2yE,EAAYxB,EAAU,KAExCD,EAAalxE,KAAK,CACdoR,MAAO+/D,EAAU,GAAG//D,MACpBggE,gBACID,EAAU,GAAGyB,UACbzB,EACK1oD,KAAK7f,GAAMA,EAAE4nE,kBACbrS,MAAK,CAAC30D,EAAGnG,IAAMwvE,EAAerpE,EAAGnG,KACjClD,KAAKswE,EAAaqB,gBAAgBO,8BACvClB,EAAU,GAAG2B,aAK7B,OAAO5B,EAEP,SAASyB,EAAYtuC,GACjB,MAAO,CAAEjzB,MAAOizB,EAAKjzB,MAAOggE,gBAAiB/sC,EAAKuuC,UAAYvuC,EAAKmsC,gBAAkBnsC,EAAKyuC,YAG9F,SAASD,EAAerpE,EAAWnG,GAC/B,MAAM0vE,EAAYvpE,EAAE2wD,WAAW,UAG/B,OAAI4Y,IAFc1vE,EAAE82D,WAAW,UAGpB3wD,EAAInG,GAAK,EAAI,EAGjB0vE,GAAa,EAAI,GA7CrBC,CAAkCvC,EAiD7C,SACIF,EACAgC,EACA5C,EACA6C,EACA/B,EACAgC,GAEA,MAAMC,EAAkC,GAGV,KAD9BnC,EAAiBlwE,MAAMuD,QAAQ2sE,GAAkBA,EAAiB,CAACA,IAChD5wE,QAEf4wE,EAAevwE,KAAK,IAIxB,MAAMyoB,EAAM,EAAmB8nD,GAAiBtxE,GAAOA,EAAE+R,KAAO,OAAS,WAGnEi/D,EAAUxnD,EAAIvf,IAAI,UACpB+mE,GACAgD,EAAchD,GAAUvC,GAAU,UAAUA,EAAMvtE,KAAK,UAI3D,MAAM+yE,EAAczqD,EAAIvf,IAAI,QAK5B,OAJIgqE,GACAD,EAAcC,GAAcxF,GAAU,QAAQiC,YAAqBjC,EAAMvtE,KAAK,UAG3EuyE,EAUP,SAASO,EAAc1C,EAAkC4C,GACrD,MAAMC,EAAc7C,EACf9nD,KAAKxpB,GAVd,SAAyB8xE,EAA0BpB,GAC/C,MAAM0D,EAAatC,EAAS//D,KAAO+/D,EAAS//D,KAAO2+D,EACnD,MAAO,CACH2D,SAAUD,EACVt3C,KAAMg1C,EAASD,MAAQ,GAAGuC,QAAiBtC,EAASD,QAAUuC,GAMlDE,CAAgBt0E,EAAG0wE,KAC9BxR,MAAK,CAAC30D,EAAGnG,IAAMguE,GAAoB7nE,EAAE8pE,SAAUjwE,EAAEiwE,YACjD7hB,QAAO,CAAC3nD,EAAKisD,IpBvHnB,SAAwB72D,EAAUgyD,EAAMsiB,EAAwC9gB,GACnF,OA5UG,SACHxuD,EACAjC,EACAuxE,EAAwC9gB,GAExC,GAAIxuD,EACA,IAAK,MAAM6xD,KAAK7xD,EACZ,GAAIsvE,EAAiBzd,EAAG9zD,GACpB,OAAO,EAInB,OAAO,EAgUHwoE,CAASvrE,EAAKgyD,EAAGsiB,IAIrBt0E,EAAIc,KAAKkxD,GAHEhyD,EoBqHiBu0E,CAAY3pE,EAAKisD,EAAEh6B,OAAO,IAElD22C,EAAe1yE,KAavB,SACIwwE,EACA+B,EACA5C,EACA6C,EACA/B,EACAgC,GAEA,IAGIP,EAHAU,EAAY,GACZE,EAAa,GAGjB,MAAMY,EAAa,GAAwBjB,EAAoBhC,EAAaqB,gBAAgB3lB,OAC5F,GAAIomB,EAAiBvD,eAAervE,OAAS,GAAK+zE,EAAanB,EAAiBvD,eAAe,GAAG3C,KAAK5rE,MAAO,CAC1G,IAAIkzE,GAAe,EACfC,EAAkBrB,EAAiBvD,eAAe,GAKlD6E,EAAkB,EACtB,IAAK,MAAMnC,KAAaa,EAAiBvD,eAAgB,CAIrD,MAAM8E,EAA8BpC,EAAUlD,aAAeF,GAAeoD,GAAamC,EAEzF,GAAIrB,EAAcsB,EAAgB,EACzBH,GAAgBE,EAAkBrB,IAEnCI,EAAYnC,EAAaqB,gBAAgBO,6BAA+BO,GAE5E,MAGJ,GAAIJ,IAAgBsB,GAAkBpC,EAAU/B,WAAaA,EACzD,MAKJ,GAAI+B,EAAUxC,0BAA2B,CACjCsD,EAAcqB,IAEdjB,EAAYnC,EAAaqB,gBAAgBO,6BAA+BO,GAE5E,MAIAlB,IAAca,EAAiBvD,eAAeuD,EAAiBvD,eAAervE,OAAS,IACnF6yE,EAAcsB,IAEdlB,EAAYnC,EAAaqB,gBAAgBO,6BAA+BO,GAM5Ee,GADCA,GAAgBnB,EAAcqB,GAAmBrB,IAAgBsB,EAMtED,EAAkBC,EAClBF,EAAkBlC,EAGlBkC,GACID,EACAb,GAA0BrC,EAAaqB,gBAAgBO,6BAEvDO,EAAYnC,EAAaqB,gBAAgBO,6BAA+BO,EAG5EV,EAAoBtI,GAChB+J,EAAeC,EAAgBvH,KAAK5rE,MAAQ0oE,GAAUmB,OAAOsJ,EAAgBvH,MAC7EoE,EAAaqB,gBAAgB3lB,QAGjC+lB,EAAoB,CAAErzC,KAAM,EAAGC,UAAW,OAE3C,CAGHozC,EAAoB,CAAErzC,KAAM,EAAGC,UAAW,GAC1C,IAAIi1C,GAAmB,EAEvB,IAAK,MAAMxF,KAAakC,EAAa5B,UAAUO,WAAY,CACvD,IAAI4E,GAAW,EACf,GAA2B,KAAvBzF,EAAUnD,UAA4E,IAAhCmD,EAAUa,WAAWzvE,OAAc,CACzF,MAAMs0E,EAAkB1F,EAAUa,WAAW,IAEZ,KAA7B6E,EAAgB7I,UAGoB,IAA7B6I,EAAgB7I,UACyB,KAA5C6I,EAAgB5I,eAAeD,UAC3B,GAA6B6I,EAAgB5I,eAAeppE,UAHpE+xE,GAAW,GAWnB,GAAIA,EAAU,CACV9B,EAAoBtI,GAAwB2E,EAAU9tE,MAAOgwE,EAAaqB,gBAAgB3lB,OAC1F4nB,GAAmB,EACnB,MAEA7B,EAAoBtI,GAChB2E,EAAU9tE,MAAQ8tE,EAAU5uE,OAC5B8wE,EAAaqB,gBAAgB3lB,OAEjC4nB,GAAmB,EAI3BjB,EACIA,EACArC,EAAaqB,gBAAgBO,6BAC7B5B,EAAaqB,gBAAgBO,6BAC7B0B,EACAnB,EAAYnC,EAAaqB,gBAAgBO,6BAA+BO,EAExEE,GAA0BrC,EAAaqB,gBAAgBO,6BAK/D,MAAO,CAAEjhE,MADK,CAAE3Q,MAAOyxE,EAAmBxxE,IAAKwxE,GAC/BU,YAAWpC,kBAAiBsC,aAAYN,eA/IhD0B,CACIf,EAAsBC,GACtBb,EACA5C,EACA6C,EACA/B,EACAgC,KAhHW0B,CACnB5D,EACAgC,EACA5C,EACA6C,EACA/B,EACAgC,IAwUR,SAAS7C,GAAkBvD,GACvB,IAAIsD,EAAa,GACjB,IAAK,IAAI1wE,EAAI,EAAGA,EAAIotE,EAAK+H,YAAan1E,IAClC0wE,GAA0B,IAK9B,OAFAA,GAActD,EAAKgI,UAAU5rD,KAAK6rD,GAASA,EAAKryE,QAAO9B,KAAK,KAErDwvE,EA2BJ,SAAS4E,GAAoCC,GAChD,IAAIhC,EAAc,EAOlB,OANIgC,EAAkB9F,oBAAuD,IAAjC8F,EAAkB/F,WAC1D+D,EAAc,EAC0B,IAAjCgC,EAAkB/F,aACzB+D,EAAc,GAGXA,EA0BJ,SAASiC,GACZla,EACAma,EACAC,EACAC,GAAwB,EACxBC,GAEA,IAMIpd,EANAqd,EAAUJ,GACdG,OAAgCpxE,IAAjBoxE,EAA6BA,EAAepX,GAAOlD,EAAIma,MAElEI,EAAU9b,EAAiB0b,IAI/B,IAAIK,EAAWJ,EACf,GAAIE,EAAc,CACdE,EAAW/b,EAAiB2b,GAE5B,MAAMzX,EAAWI,GAAmBD,GAAYsX,IAC/B,aAAbzX,EAEAzF,EAAayF,EACN0X,IAKPnd,EAAa4F,GAAY0X,GACzBA,EAAW/b,EAAiB+b,IAIpC,MAAMC,EAAgB1Y,GAAuCwY,EAASC,GAAW94B,GAAMse,EAAG2L,aAAajqB,KAKvG,IAAIg5B,EAAe,IACnB,IAAK,IAAIh2E,EAAI,EAAGA,EAAI+1E,EAAcr1E,OAAQV,IAAK,CAC3C,MAAMo7D,EAAe2a,EAAc/1E,GAE/Bg2E,GADiB,OAAjB5a,EACgB,IAEAA,EAGC,OAAjBA,GAAyBp7D,IAAM+1E,EAAcr1E,OAAS,IACtDs1E,GAAgB,KASxB,OALIxd,IACAwd,EAC8C,MAA1CA,EAAaA,EAAat1E,OAAS,GAAas1E,EAAexd,EAAawd,EAAe,IAAMxd,GAGlGwd,EAGJ,SAASC,GAAgC3Y,EAAuB6X,GACnE,IAAI9Y,EAAmBiB,EACvB,IAAK,IAAIt9D,EAAI,EAAGA,EAAIm1E,EAAan1E,IAAK,CAClC,GAAyB,KAArBq8D,EACA,OAGJA,EAAmBtC,EAAiBsC,GAGxC,OAAOA,EC9yBJ,MAAM6Z,GAMTvkE,YAAoBwkE,GAAA,KAAAA,oBALH,KAAAC,eAAiB,IAAI5yD,IACrB,KAAA6yD,eAAiB,IAAI7yD,IAE9B,KAAA8yD,mBAAsC9xE,EAM9C+xE,gBAAgB9hE,EAAc49D,EAAoB9C,G,YAC9C,MAAM7pD,EAA4C,QAAnC,EAAAhgB,KAAK2wE,eAAepsE,IAAIooE,UAAW,eAAEpoE,IAAIwK,GACxD,GAAIiR,EAGA,OAAOA,UAAU6pD,EAGrB,MAAMhrE,EAA6C,QAAnC,EAAAmB,KAAK0wE,eAAensE,IAAIooE,UAAW,eAAEpoE,IAAIwK,GACzD,OAAIlQ,EAEKA,EAAQiyE,YAIsD,QAA5D,EAAmC,QAAnC,EAAA9wE,KAAK2wE,eAAepsE,IAAIooE,UAAW,eAAEpoE,IAAI1F,EAAQiyE,mBAAW,QAHxDjH,OAHf,EAYJkH,eAAenb,EAAgBob,EAAwBx/D,G,MACnD,QAAKw/D,EAAexb,WAAWhkD,KAK/BxR,KAAK4wE,cACiB,QAAlB,EAAA5wE,KAAK4wE,qBAAa,QAClB5wE,KAAKywE,oBACA3sD,KAAKY,GAAM0wC,GAAiCwG,GAAkBhG,EAAIY,GAAc9xC,OAChFmkC,QAAQnkC,GAAMA,IAAMlT,IACpBq3C,QAAQnkC,GAAMA,EAAE8wC,WAAWhkD,MAEhCxR,KAAK4wE,cAAcniB,MAAMj8C,GAAMw+D,EAAexb,WAAWhjD,MASjE3T,QAAQkQ,EAAc49D,EAAoBmE,GACtC9hB,EAAShvD,KAAK0wE,eAAgB/D,GAAY,IAAM,IAAI7uD,MAA2B3Y,IAAI4J,EAAM+hE,GAG7FlrD,IAAI5F,GACAgvC,EAAShvD,KAAK2wE,eAAgB3wD,EAAO2sD,YAAY,IAAM,IAAI7uD,MAA6B3Y,IACpF6a,EAAOjR,KACPiR,EAAO6pD,cAIfoH,QACIjxE,KAAK0wE,eAAe7oD,QACpB7nB,KAAK2wE,eAAe9oD,QACpB7nB,KAAK4wE,mBAAgB9xE,GCvDtB,MAAMoyE,GAAmB,SACnBC,GAAuB,QA6B7B,SAASC,GACZxb,EACAyb,EACAC,EACAC,EACAC,EACAC,GAIA,GAFAF,EAAkBl2E,KAAK,oCAEQyD,IAA3BuyE,EAAcK,UAA0BL,EAAcM,KAAM,CAC5D,MAAMC,EAAUP,EAAcM,KACxBD,EAAW3b,GAAasb,EAAcK,SAAUE,GAEhDC,EAAuB,GACvBC,EAA8B,GAkBpC,GAhBA,CAAC,EAAgB,EAAkB,GAAyBxsD,SAASysD,IACjE,MAAMC,EA8ClB,SAA8Bpc,EAAgBmc,EAAiBR,GAC3D,IAAI3b,EAAGI,WAAW+b,GAId,YADAR,EAAkBl2E,KAAK,iBAAiB02E,MAFxCR,EAAkBl2E,KAAK,eAAe02E,iCAM1C,MAAMC,EAAmBjc,GAAagc,EAAS,GAC/C,GAAInc,EAAGI,WAAWgc,GAEd,OADAT,EAAkBl2E,KAAK,eAAe22E,MAC/BA,EAEPT,EAAkBl2E,KAAK,iBAAiB22E,0CAK5C,MAAMppD,EAAUswC,GAAqBtD,EAAImc,GACzC,IAAK,IAAIz3E,EAAI,EAAGA,EAAIsuB,EAAQ0wC,YAAYt+D,OAAQV,IAAK,CACjD,MAAM23E,EAAUrpD,EAAQ0wC,YAAYh/D,GACpC,GAAI23E,EAAQzc,WAAW,UAAW,CAC9B,MAAMF,EAAUS,GAAagc,EAASE,EAAS,GAC/C,GAAIrc,EAAGI,WAAWV,GAEd,OADAic,EAAkBl2E,KAAK,eAAei6D,MAC/BA,EAEPic,EAAkBl2E,KAAK,SAASi6D,iCAzEX4c,CAAqBtc,EAAIG,GAAa2b,EAAUK,GAAUR,GAC/ES,IACAG,GAAgBN,EAAYG,GAC5BF,EAAkBz2E,KAAK22E,OAK/BF,EAAkBxsD,SAAS0sD,IACNI,GAAqBxc,EAAIoc,GACjC1sD,SAASvW,IACdojE,GAAgBN,EAAY9iE,SAIhC8iE,EAAW72E,OAAS,EAKpB,OAJAu2E,EAAkBl2E,KAAK,4CACvBw2E,EAAWvsD,SAASvW,IAChBwiE,EAAkBl2E,KAAK,KAAK0T,QAEzB8iE,EAGXN,EAAkBl2E,KACd,8EAKR,MAAMg3E,EAAaf,EAAKgB,qBAAqBjB,EAAckB,WAAYhB,GACvE,OAAIC,GAAyBC,EACXY,EAAW9b,MAAM1N,QAC1Br2C,IAAOikD,GAAagb,EAAej/D,GAAG,IAASikD,GAAa4b,EAAWnpB,OAAQ12C,GAAG,KAMpF6/D,EAAW9b,MAGf,SAASic,GAAehgE,GAE3B,MAAa,YADbA,EAAIA,EAAE5M,SACyB,YAAN4M,EAsCtB,SAAS4/D,GAAqBxc,EAAgB6c,GACjD,MAAMC,EAAwB,GA4B9B,OAzBiB9c,EACZwD,mBAAmBqZ,GACnB5pB,QAAQ4Q,IAAWA,EAAMX,UAAYW,EAAMC,mBAAqBD,EAAMptD,KAAK4tD,SAAS,UACpFT,MAAK,CAAC30D,EAAGnG,IAAMsvD,EAAwBnpD,EAAEwH,KAAM3N,EAAE2N,QAE7CiZ,SAASqtD,IACd,MAAM9W,EAAW9F,GAAa0c,EAAWE,EAAQtmE,MAC3C8yD,EAAYtG,GAAQjD,EAAIiG,IAG1BsD,aAAS,EAATA,EAAWrG,WAAYqG,EAAU7/D,KAAO,GAAK6/D,EAAU7/D,KAAO,OACjDs2D,EAAGyJ,aAAaxD,EAAU,QACpBtuD,MAAM,SACnB+X,SAAS4U,IACX,MAAM04C,EAAc14C,EAAKt0B,OACzB,GAAIgtE,EAAY53E,OAAS,IAAM43E,EAAYpd,WAAW,OAASod,EAAYnhB,MAAM,aAAc,CAC3F,MAAMohB,EAAU9c,GAAa0c,EAAWG,GACpChd,EAAGI,WAAW6c,IAAYja,GAAYhD,EAAIid,IAC1CH,EAAYr3E,KAAKw3E,UAO9BH,EAGX,SAASP,GAAgBW,EAAoBC,GACzC,OAAKD,EAASrkB,MAAM1/C,GAASA,IAASgkE,MAClCD,EAASz3E,KAAK03E,IACP,GCjIR,SAASC,GAA+BhI,GAC3C,MAAO,CACHyE,YAAa,EACbC,UAAW1E,EAAWz9D,MAAM,KAC5B0lE,gBAAiB,IAUzB,MAAMC,GAA+B,CAAC,OAAQ,MAAO,UACxCC,GAA0B,CAAC,MAAO,UAAWD,IASnD,MAAME,GAcTnnE,YACoB+yD,EACNqU,EACM/B,GAFA,KAAAtS,aACN,KAAAqU,iBACM,KAAA/B,OAfZ,KAAAgC,qBAAuB,IAAIx1D,IAC3B,KAAAy1D,yBAA2B,IAAIz1D,IAO/B,KAAA01D,sBAAwB,IAAI11D,IAShC9d,KAAKyzE,0BAA4B,IAAIjD,IAAqB,IAAMxwE,KAAKsyE,qBAAqB,MAG9FoB,kBACI1zE,KAAKszE,qBAAuB,IAAIx1D,IAChC9d,KAAKuzE,yBAA2B,IAAIz1D,IACpC9d,KAAKyzE,0BAA0BxC,QAE/BjxE,KAAK2zE,6BAED3zE,KAAKg/D,sBAAsBoB,IAC3BpgE,KAAKg/D,WAAW+E,oBAMxB6P,cACI5C,EACAjO,EACA8Q,GAIA,OAAO7zE,KAAK8zE,eAAe9C,EAAgBjO,EAAS8Q,GAK9CC,eACN9C,EACAjO,EACA8Q,GAEA,MAAMlH,EAAa3sE,KAAK+zE,iBAAiBF,GAEnChK,EAAe7pE,KAAKg0E,qBACtBrH,EACAqE,EACAjO,EACA8Q,EALgC,IASpC,GAAIhK,EAAae,eAAiBiJ,EAAiBpE,YAAc,EAC7D,OAAO5F,EAOX,MAAMoK,EAAS7e,GAAiCf,EADhD2c,EAAiBpV,GAAkB57D,KAAKg/D,WAAYxI,GAAcwa,MAG5DhxD,EAAShgB,KAAKyzE,0BAA0B5C,gBAAgBoD,EAAQtH,EAAY9C,GAClF,GAAI7pD,EAEA,OAAOhgB,KAAKk0E,sBAAsBl0D,EAAQ6zD,EAAiBZ,iBAI/D,MAAMzhE,EAAOxR,KAAKm0E,8BAA8BnD,EAAgBjO,EAAQvxD,MACxE,IAAKxR,KAAKyzE,0BAA0B1C,eAAe/wE,KAAKg/D,WAAYgS,EAAgBx/D,GAChF,OAAOq4D,EAGX,MAAMiH,EAAyB,CAAEA,gBAAYhyE,GAG7C,IAAI0pB,EAAUyrD,EACd,KAAOj0E,KAAKo0E,cAAc5rD,EAAShX,EAAMuxD,IAAU,CAC/C,MAAM/iD,EAAShgB,KAAKq0E,sBAChB7rD,EACAu6C,EACA8Q,EACAlH,EACA,QACmB7tE,OACEA,GACA,GACN,GAKnB,GAFAkB,KAAKyzE,0BAA0B50E,QAAQ2pB,EAASmkD,EAAYmE,GAExD9wD,EAAO4qD,cAUP,OARAkG,EAAWA,WAAatoD,EAExBxoB,KAAKyzE,0BAA0B7tD,IAAI,CAC/BikD,aAAc7pD,EACdjR,KAAMyZ,EACNmkD,eAGG3sE,KAAKk0E,sBAAsBl0D,EAAQ6zD,EAAiBZ,iBAG/D,IAAIqB,EAEJ,IADCA,EAAS9rD,GAAWxoB,KAAKu0E,WAAW/rD,IAChC8rD,EACD,MAKR,OADAt0E,KAAKyzE,0BAA0B50E,QAAQ2pB,EAASmkD,EAAYmE,GACrDjH,EAGHmK,qBACJrH,EACAqE,EACAjO,EACA8Q,EACAtC,GAEA,MAAMiD,EAA+B,CACjC7H,aACA3C,YAAY,EACZY,eAAe,EACf6J,kBAAkB,EAClBC,oBAAoB,EACpBC,eAAe,EACfpD,oBACA1G,cAAe,GACff,WAAY,EACZ8K,YAAY,EACZC,aAAa,EACb1J,gBAAiB,GACjB2J,wBAAyB,GACzBC,yBAAqBj2E,GAMzB,GAHAkB,KAAKg1E,0BAA0BjS,GAG3B8Q,EAAiBpE,YAAc,EAAG,CAClC,MAAMwF,EAAiBj1E,KAAKk1E,uBACxBlE,EACAjO,EACA8Q,EACAlH,EACA4E,GAGJ,GAAI0D,EAEA,OADAA,EAAejL,YAAa,EACrBiL,MAER,CAEH,MAAME,EAAgBn1E,KAAKo1E,sBAAsBrS,EAAS4J,EAAYkH,EAAiBZ,iBACvF,GAAIkC,KAOIA,EAAcvK,gBACduK,EAAcT,oBACb10E,KAAKq1E,4BAA4BxB,EAAkBsB,EAAchK,kBAGlE,OAAOgK,EAIf,MAAMG,EAAat1E,KAAKu1E,2BAA2BvE,EAAgBjO,EAAS8Q,GAAkB,GAC9F,GAAIyB,EAMA,OALIA,EAAWV,aACXU,EAAWP,oBACP/0E,KAAKu1E,2BAA2BvE,EAAgBjO,EAAS8Q,GAAkB,IAC3EW,GAEDx0E,KAAKw1E,kBAAkBzS,EAAS4J,EAAY2I,EAAYzB,EAAiBZ,iBAIxF,OAAOjzE,KAAKw1E,kBAAkBzS,EAAS4J,EAAY6H,OAAgB11E,GAGvE22E,yBACIzE,EACAjO,EACA8Q,GAEA,MAAM6B,EAAc11E,KAAK21E,gCAAgC3E,EAAgBjO,EAAS8Q,GAGlF,GAAIA,EAAiBpE,YAAc,EAC/B,OAAOiG,EAGX,MAAMlkE,EAAOxR,KAAKm0E,8BAA8BnD,EAAgBjO,EAAQvxD,MAKxE,IAAIgX,EAJW4sC,GACXf,EAAiBuH,GAAkB57D,KAAKg/D,WAAYxI,GAAcwa,MAItE,KAAOhxE,KAAKo0E,cAAc5rD,EAAShX,EAAMuxD,IAAU,CAU/C,IAAIuR,EAEJ,GAXAt0E,KAAK41E,kCACD5E,EACAjO,EACAv6C,EACAqrD,EACA6B,GACe,IAIlBpB,EAAS9rD,GAAWxoB,KAAKu0E,WAAW/rD,IAChC8rD,EACD,MAIR,OAAOoB,EAGHC,gCACJ3E,EACAjO,EACA8Q,GAEA,MAAMtC,EAA8B,GAC9BmE,EAAc,IAAI5kC,IAGxB,GAAI+iC,EAAiBpE,YAAc,EAC/BzvE,KAAK61E,kCAAkC7E,EAAgBjO,EAAS8Q,EAAkB6B,OAC/E,CAEC7B,EAAiBnE,UAAU10E,OAAS,GACpCgF,KAAK81E,sCACD9E,EACAjO,EACA8Q,GACA,EACA6B,GAKJ3S,EAAQvxD,MACRxR,KAAK41E,kCACD5E,EACAjO,EACAA,EAAQvxD,KACRqiE,EACA6B,GAIR,IAAK,MAAMK,KAAahT,EAAQiT,WAC5Bh2E,KAAK41E,kCACD5E,EACAjO,EACAgT,EACAlC,EACA6B,GAKJ11E,KAAKqzE,eAAe4C,UACpBj2E,KAAK41E,kCACD5E,EACAjO,EACA/iE,KAAKqzE,eAAe4C,SACpBpC,EACA6B,GAKR11E,KAAK81E,sCAAsC9E,EAAgBjO,EAAS8Q,GAAkB,EAAO6B,GAG7F,MAAMQ,EAAoBl2E,KAAKsyE,qBAAqBf,GACpD,IAAK,MAAM4E,KAAcD,EACrBl2E,KAAK41E,kCACD5E,EACAjO,EACAoT,EACAtC,EACA6B,GAKZ,OAAOA,EAIXU,uBAAuBC,EAAsBtT,EAA+BuT,GACxE,MAAMC,EAA4B,GA4BlC,GAvBAv2E,KAAKszE,qBAAqBhuD,SAASxB,IAC/BA,EAAIwB,SAAStF,IACT,GAAIA,EAAO40D,YAAc50D,EAAO4qD,eAAiB5qD,EAAO+0D,qBAChD/0D,EAAO6qD,cAAc7qD,EAAO6qD,cAAc7vE,OAAS,KAAOq7E,GACtDr2D,EAAO+0D,oBAAoBnK,cAAe,CAC1C,MAAM4L,EACFx2D,EAAO+0D,oBAAoBlK,cACvB7qD,EAAO+0D,oBAAoBlK,cAAc7vE,OAAS,IAGtDw7E,EAAavc,SAAS,QAAUuc,EAAavc,SAAS,UAGtDsc,EAAgBl7E,KAAKm7E,UAUd,IAA3BD,EAAgBv7E,OAAc,CAE9B,MAAMg2E,EAAiBja,GAAmBsf,EAAc,OACpDr2E,KAAKy2E,gBAAgBzF,IACrBuF,EAAgBl7E,KAAK21E,GAI7B,GAA+B,IAA3BuF,EAAgBv7E,OAAc,CAS9B,MAAM07E,EAAkB12E,KAAK22E,eAAe5T,GAEtC6T,EAA8B,GACpC,IAAK,MAAMC,KAAkBH,EACzB,GAAIjgB,GAAaogB,EAAgBR,GAAc,GAAO,CAClD,MAAMn7E,EAAQy8D,GAAuCkf,EAAgBR,GAAc,GAGnF,GAAIn7E,EAAMF,OAAS,EAAG,CAIdE,EAAM,GAAG++D,SAASvK,KAClBx0D,EAAM,GAAKA,EAAM,GAAG8G,OAAO,EAAG9G,EAAM,GAAGF,OAAS00D,EAAY10D,SAGhE,MAAM87E,EAAmB3hB,EAAsBj6D,GAC3C47E,GACAF,EAAkBv7E,KAAKy7E,IAMvC,IAAK,MAAMA,KAAoBF,EAC3B,IAAK,MAAMC,KAAkBH,EAAiB,CAE1C,IAAIK,EAAqBhgB,GADAT,GAAaugB,EAAgBC,GACQ,OAC9D,GAAI92E,KAAKg3E,iBAAiBD,GACtBR,EAAgBl7E,KAAK07E,OAClB,CACH,MAAME,EAA2Bte,GAAmBoe,GAEhDE,EAAyBhd,SAAS,aAGlC8c,EACIE,EAAyBj1E,OAAO,EAAGi1E,EAAyBj8E,OAAS,GAAK,MAC1EgF,KAAKg3E,iBAAiBD,IACtBR,EAAgBl7E,KAAK07E,KAKzBA,EAAqBhhB,GAAakhB,EAA0B,eACxDj3E,KAAKg3E,iBAAiBD,IACtBR,EAAgBl7E,KAAK07E,MAQ7C,OAAOR,EAMXW,uBAAuBrb,EAAkBkH,GAErC,MAAMoU,EAAQnoB,EAAShvD,KAAKuzE,yBAA0BxQ,EAAQvxD,MAAM,IAAM,IAAIsM,MAC9E,OAAOkxC,EAASmoB,EAAOtb,GAAU,IAAM77D,KAAKo3E,wBAAwBvb,EAAUkH,KAG1EqU,wBAAwBvb,EAAkBkH,GAC9C,IAAIiI,EACAlB,EAAa,EACbC,GAAqB,EAEzB,MAAMwH,EAA8B,GAG9B8F,EAAqBr3E,KAAKs3E,uBAAuBvU,EAASwO,GAChE,GAAI8F,IACArM,EAAahrE,KAAKu3E,sBAAsBF,EAAoBxb,GACxDmP,GAAY,CACZ,MAAM6I,EAA6C,CAC/CpE,YAAa,EACbC,UAAW1E,EAAWz9D,MAAM,KAC5B0lE,qBAAiBn0E,GAGrB,GAAIkB,KAAKw3E,qCAAqC3D,EAAkB9Q,EAAS,IACrE,MAAO,CAAEiI,aAAYlB,aAAYC,sBAMzChH,EAAQvxD,OACRw5D,EAAahrE,KAAKu3E,sBAAsBxU,EAAQvxD,KAAMqqD,GACtDiO,EAAa,GAGjB,IAAK,MAAMiM,KAAahT,EAAQiT,WAAY,CACxC,MAAMyB,EAAsBz3E,KAAKu3E,sBAAsBxB,EAAWla,KAI7DmP,GAAeyM,GAAuBA,EAAoBz8E,OAASgwE,EAAWhwE,UAC/EgwE,EAAayM,EACb3N,EAAa,GAKrB,GAAI9pE,KAAKqzE,eAAe4C,SAAU,CAC9B,MAAMwB,EAAsBz3E,KAAKu3E,sBAAsBv3E,KAAKqzE,eAAe4C,SAAUpa,KAIhFmP,GAAeyM,GAAuBA,EAAoBz8E,OAASgwE,EAAWhwE,UAC/EgwE,EAAayM,EAGb3N,EAAa,EACbC,GAAqB,GAK7B,MAAM2N,EAAyB13E,KAAK23E,2BAA2B5U,EAASwO,GACxE,GAAImG,EAAwB,CACxB,MAAMD,EAAsBz3E,KAAKu3E,sBAC7BG,EACA7b,GAC2B,KAK1BmP,GAAeyM,GAAuBA,EAAoBz8E,OAASgwE,EAAWhwE,UAC/EgwE,EAAayM,EACb3N,EAAa,GAIrB,MAAM8N,EAA2B53E,KAAK63E,kBAAkB9U,EAASwO,GACjE,GAAIqG,EAA0B,CAC1B,MAAMH,EAAsBz3E,KAAKu3E,sBAAsBK,EAA0B/b,KAI5EmP,GAAeyM,GAAuBA,EAAoBz8E,OAASgwE,EAAWhwE,UAC/EgwE,EAAayM,EACb3N,EAAa,GAKrB,MAAMoM,EAAoBl2E,KAAKsyE,qBAAqBf,GACpD,IAAK,MAAM4E,KAAcD,EAAmB,CACxC,MAAMuB,EAAsBz3E,KAAKu3E,sBAAsBpB,EAAYta,KAI9DmP,GAAeyM,GAAuBA,EAAoBz8E,OAASgwE,EAAWhwE,UAC/EgwE,EAAayM,EACb3N,EAAa,GAIrB,OAAIkB,EACO,CAAEA,aAAYlB,aAAYC,sBAI9B,CAAEiB,WAAY,GAAIlB,WAAY,EAAkBC,sBAG3D+N,sBAAsB/U,GAElB,OAAO/iE,KAAKs3E,uBAAuBvU,EADV,IAI7B4T,eAAe5T,EAA+BgV,GAAa,GACvD,MAAMxG,EAA8B,GAC9BrO,EAAQ,GAER8U,EAAch4E,KAAKs3E,uBAAuBvU,EAASwO,GAgBzD,GAfIyG,GACA9U,EAAM7nE,KAAK28E,GAIXjV,EAAQvxD,MACR0xD,EAAM7nE,KAAK0nE,EAAQvxD,MAGvB0xD,EAAM7nE,QAAQ0nE,EAAQiT,YAElBh2E,KAAKqzE,eAAe4C,UACpB/S,EAAM7nE,KAAK2E,KAAKqzE,eAAe4C,UAG/B8B,EAAY,CAIZ,MAAME,EAAiBj4E,KAAK23E,2BAA2B5U,EAASwO,GAC5D0G,GACA/U,EAAM7nE,KAAK06D,GAAakiB,EAAgB,YAEzC,CACH,MAAMC,EAAkBl4E,KAAKm4E,mCAAmCpV,EAASwO,GACzErO,EAAM7nE,QAAQ68E,GAGlB,MAAME,EAAiBp4E,KAAK63E,kBAAkB9U,EAASwO,GACnD6G,GACAlV,EAAM7nE,KAAK+8E,GAGf,MAAMlC,EAAoBl2E,KAAKsyE,qBAAqBf,GAKpD,OAJI2E,EAAkBl7E,OAAS,GAC3BkoE,EAAM7nE,QAAQ66E,GAGXhT,EAGDmV,qBAAqBtpE,GAC3B,MAAMupE,EAAct4E,KAAKwzE,sBAAsBjvE,IAAIwK,GACnD,GAAIupE,EACA,OAAOA,EAGX,IAAIC,EACJ,IACIA,EAAgBv4E,KAAKg/D,WAAW5F,mBAAmBrqD,GACrD,MACEwpE,EAAgB,GAKpB,OADAv4E,KAAKwzE,sBAAsBruE,IAAI4J,EAAMwpE,GAC9BA,EAGDvB,iBAAiBjoE,G,QACvB,MAAMypE,EAAYx4E,KAAKy4E,WAAW1pE,GAElC,IAAKypE,EAAU,KAAOA,EAAU,GAC5B,QAAKx4E,KAAKg/D,WAAWhJ,WAAWjnD,IAGe,QAAxC,EAA8B,QAA9B,EAAA8pD,GAAQ74D,KAAKg/D,WAAYjwD,UAAK,eAAE+pD,gBAAQ,SAGnD,MACMW,EADUz5D,KAAKq4E,qBAAqBG,EAAU,IAC9BjN,MAAM9R,GAAUA,EAAMptD,OAASmsE,EAAU,KAC/D,GAAI/e,aAAK,EAALA,EAAOX,SACP,OAAO,EAGX,GAAIW,aAAK,EAALA,EAAOC,iBAAkB,CACzB,MAAMgf,EAAW1f,GAAYh5D,KAAKg/D,WAAYjwD,GAC9C,GAAI2pE,GAAY14E,KAAKg/D,WAAWhJ,WAAW0iB,IAAa5f,GAAO94D,KAAKg/D,WAAY0Z,GAC5E,OAAO,EAIf,OAAO,EAGDjC,gBAAgB1nE,G,QACtB,MAAMypE,EAAYx4E,KAAKy4E,WAAW1pE,GAElC,IAAKypE,EAAU,KAAOA,EAAU,GAC5B,QAAKx4E,KAAKg/D,WAAWhJ,WAAWjnD,IAGoB,QAA7C,EAA8B,QAA9B,EAAA8pD,GAAQ74D,KAAKg/D,WAAYjwD,UAAK,eAAE6pD,qBAAa,SAGxD,MACMa,EADUz5D,KAAKq4E,qBAAqBG,EAAU,IAC9BjN,MAAM9R,GAAUA,EAAMptD,OAASmsE,EAAU,KAC/D,GAAI/e,aAAK,EAALA,EAAOb,cACP,OAAO,EAGX,GAAIa,aAAK,EAALA,EAAOC,iBAAkB,CACzB,MAAMgf,EAAW1f,GAAYh5D,KAAKg/D,WAAYjwD,GAC9C,GAAI2pE,GAAY14E,KAAKg/D,WAAWhJ,WAAW0iB,IAAa9f,GAAY54D,KAAKg/D,WAAY0Z,GACjF,OAAO,EAIf,OAAO,EAGX1D,0BAA0BjS,GACtB,KAAM/iE,KAAKg/D,sBAAsBoB,IAC7B,OAAO,EAGX,GAAIpgE,KAAKg/D,WAAW8D,6BAA6BC,GAC7C,OAAO,EAGX,MAAMnN,EAAK51D,KAAKg/D,WACV2Z,EAAoB,GACpBpiB,EAAkB,GAWxB,OARAqiB,EAAS54E,KAAKqzE,eAAe4C,UAC7B2C,EAAS7V,EAAQvxD,MACjBuxD,EAAQiT,WAAW1wD,SAAS9S,GAAMomE,EAASpmE,KAC3ComE,EAAS54E,KAAK63E,kBAAkB9U,EAAS4V,IACzC34E,KAAKsyE,qBAAqBqG,GAASrzD,SAAS9S,GAAMomE,EAASpmE,KAE3DxS,KAAKg/D,WAAWiE,2BAA2B1M,EAAOv2D,KAAK22E,eAAe5T,IACtE/iE,KAAK2zE,8BACE,EAEP,SAASiF,EAAS7pE,GACTA,IAAQ6mD,EAAGoN,cAAcj0D,IAI9BwnD,EAAMl7D,KAAK0T,IAITymE,kBACNzS,EACA4J,EACA9C,EACAoJ,GAOA,OALAjkB,EAAShvD,KAAKszE,qBAAsBvQ,EAAQvxD,MAAM,IAAM,IAAIsM,MAA6B3Y,IACrFwnE,EACA9C,GAGG7pE,KAAKk0E,sBAAsBrK,EAAcoJ,GAK1CoB,sBACNxa,EACAkJ,EACA8Q,EACAlH,EACA4E,EACAsH,GAAe,EACfC,GAAiB,EACjBC,GAAiB,EACjBC,GAAW,EACXC,GAAiB,GAEjB,GAAID,GAAYD,EAAgB,CAI5B,MAAMlP,EAAe7pE,KAAKk5E,uBACtBrf,EACAkJ,EACA8Q,EACAlH,EACA4E,EACAsH,GACqB,GACA,GACN,GACM,GAIzB,GAAIhP,EAAasP,oBAGRtP,EAAa6K,oBAAsB7K,EAAae,eACjD,OAAOf,EAKnB,OAAO7pE,KAAKk5E,uBACRrf,EACAkJ,EACA8Q,EACAlH,EACA4E,EACAsH,EACAC,GACqB,EACrBE,EACAC,GAIAtF,6BACJ3zE,KAAKwzE,sBAAsB3rD,QAKvB4wD,WAAW1pE,GACf,MAAM0mD,EAAiBf,EAAkB3lD,GACzC,OAAI0mD,EAAez6D,QAAU,EAClB,CAAC+T,EAAM,IAMX,CAHgBomD,EAAsBM,EAAe73D,MAAM,GAAI,IAChD63D,EAAeA,EAAez6D,OAAS,IAKzDk+E,uBACJrf,EACAkJ,EACA8Q,EACAlH,EACA4E,EACAsH,EACAC,EACAC,EACAC,EACAC,GAEIF,EACAxH,EAAkBl2E,KAAK,uDAAuDw+D,MAE9E0X,EAAkBl2E,KAAK,0CAA0Cw+D,MAKrE,MAAMgR,EAA0B,GAChC,IAMIsO,EACA/V,EA0IAgW,EAjJA9jB,EAAUuE,EACV6a,GAAqB,EACrBC,GAAgB,EAChBC,GAAa,EACbC,GAAc,EACd1J,EAAoC,GAKxC,GAA0C,IAAtC0I,EAAiBnE,UAAU10E,OAAc,CACzC,MAAMq+E,EAA2B,WAC3BC,EAAavjB,GAAaT,EAAS+jB,EAA2B,OAC9DE,EAAcxjB,GAAaT,EAAS+jB,EAA2B,QAEjEL,GAAYh5E,KAAKg3E,iBAAiBuC,IAClChI,EAAkBl2E,KAAK,8BAA8Bk+E,MACrD1O,EAAcxvE,KAAKk+E,GACnB3E,GAAa,GACN50E,KAAKg3E,iBAAiBsC,IAC7B/H,EAAkBl2E,KAAK,8BAA8Bi+E,MACrDzO,EAAcxvE,KAAKi+E,KAEnB/H,EAAkBl2E,KAAK,6CAA6Ci6D,MACpEuV,EAAcxvE,KAAK,IACnBq5E,GAAqB,GAGzBvJ,EAAkBnrE,KAAKw5E,qBAAqB7M,EAAYrX,EAAS,CAACgkB,EAAYC,SAE9E,IAAK,IAAIj/E,EAAI,EAAGA,EAAIu5E,EAAiBnE,UAAU10E,OAAQV,IAAK,CACxD,MAAMm/E,EAAoB,IAANn/E,EACdo/E,EAAap/E,IAAMu5E,EAAiBnE,UAAU10E,OAAS,EAC7Ds6D,EAAUS,GAAaT,EAASue,EAAiBnE,UAAUp1E,IAEvDy+E,GAAkBU,IAClBnkB,GAAW5F,EACXilB,GAAgB,GAGpB,MAAMgF,EAAiB35E,KAAKy2E,gBAAgBnhB,GAE5C,GAAIqkB,EAAgB,CACZF,IACAN,EAAmB7jB,GAIvB,MAAM+jB,EAA2B,WAC3BC,EAAavjB,GAAaT,EAAS+jB,EAA2B,OAC9DE,EAAcxjB,GAAaT,EAAS+jB,EAA2B,QACrE,IAAIO,GAAY,EAqBhB,GAnBIZ,GAAYh5E,KAAKg3E,iBAAiBuC,IAClChI,EAAkBl2E,KAAK,8BAA8Bk+E,MACrD1O,EAAcxvE,KAAKk+E,GACfG,IACA9E,GAAa,GAEjBgF,GAAY,GACL55E,KAAKg3E,iBAAiBsC,KAC7B/H,EAAkBl2E,KAAK,8BAA8Bi+E,MACrDzO,EAAcxvE,KAAKi+E,GACnBM,GAAY,GAGZA,IAAcxW,GAAe6V,GACzBj5E,KAAKg3E,iBAAiBjhB,GAAaT,EAAS,eAC5C8N,EAAcrE,GAAe/+D,KAAKg/D,WAAY1J,KAIjDokB,EAAY,CAGRE,IACD/O,EAAcxvE,KAAK,IACnBq5E,GAAqB,EACrBtR,OAActkE,GAElB,SAGJ,GAAI86E,EAAW,CACXzO,EAAkBnrE,KAAKw5E,qBAAqB3F,EAAiBnE,UAAUl0E,KAAK,KAAM85D,EAAS,CACvFgkB,EACAC,IAEJ,OAOR,IAAIM,EAAgBtiB,GAAgCjC,GACpD,MAAM+jB,EAA2B3gB,GAAYmhB,GAC7CA,EAAgBxlB,EAAiBwlB,GACjC,MAAMP,EAAavjB,GAAa8jB,EAAeR,EAA2B,OACpEE,EAAcxjB,GAAa8jB,EAAeR,EAA2B,QAE3E,GAAIL,GAAYh5E,KAAKg3E,iBAAiBuC,GAClChI,EAAkBl2E,KAAK,8BAA8Bk+E,MACrD1O,EAAcxvE,KAAKk+E,GACfG,IACA9E,GAAa,QAEd,GAAI50E,KAAKg3E,iBAAiBsC,GAC7B/H,EAAkBl2E,KAAK,8BAA8Bi+E,MACrDzO,EAAcxvE,KAAKi+E,OAChB,CACH,GAAIR,GAAkB94E,KAAKy2E,gBAAgBoD,GAAgB,CACvD,MACMC,EADa95E,KAAK+5E,qBAAqBF,GACRtO,MAAMj0B,GACvCt3C,KAAKg6E,wBAAwBX,EAA0B/hC,KAE3D,GAAIwiC,EAAmB,CACnB,MAAMG,EAAgBlkB,GAAa8jB,EAAeC,GAElDjF,EAAc70E,KAAKk6E,yBACfD,EACAlX,EACA4J,EACAkH,EACAtC,EACA1G,KAKPgK,GAAe8E,GAChBpI,EAAkBl2E,KAAK,6CAA6Ci6D,MACpEuV,EAAcxvE,KAAK,IACfq+E,IACAvO,EAAkBnrE,KAAKw5E,qBAAqB7M,EAAYrX,EAAS,CAACgkB,EAAYC,IAC9E7E,GAAqB,IAElBG,GACPtD,EAAkBl2E,KAAK,sBAAsBk+E,UAAoBD,MAGzE,MAKR,MAAM7E,EAAmB5J,EAAc7vE,OAAS,GAAK6vE,EAAc7vE,OAAS64E,EAAiBnE,UAAU10E,OAOvG,OALIo+E,EADAP,EACchO,EAAc7vE,OAAS,EAEvB6vE,EAAc7vE,QAAU64E,EAAiBnE,UAAU10E,OAG9D,CACH2xE,aACA3C,YAAY,EACZ0K,qBACAC,gBACA/J,cAAewO,EACf3E,mBACAlD,oBACAzH,WAAY,EACZe,gBACAsL,WAAYtc,EACZ+a,aACAC,cACA1J,kBACA/H,cACA0R,wBAAyB3J,EACzBgO,oBAMEtB,kBAAkB9U,EAA+BwO,IAOjD4I,gBACNnJ,EACAjO,EACA8Q,EACAlH,EACA4E,EAA8B,GAC9ByH,GAAW,IAQLoB,sBACNC,EACA1N,EACA4E,EAA8B,KAKxB+I,oBAAoB/hB,GAC1B,MAAMgiB,EAAgBjiB,GAAiBC,GAAkC,GAAOz4D,cAChF,GAAIE,KAAKw6E,6BAA6BD,GAClC,OAAO5hB,GAAmBA,GAAmBJ,IAK7C6c,sBACJrS,EACA4J,EACAsG,GAEA,MAAMwH,EAAkBz6E,KAAKszE,qBAAqB/uE,IAAIw+D,EAAQvxD,MAC9D,IAAKipE,EACD,OAGJ,MAAMC,EAAcD,EAAgBl2E,IAAIooE,GACxC,OAAK+N,EAIE16E,KAAKk0E,sBAAsBwG,EAAazH,QAJ/C,EAYIoC,4BAA4BxB,EAA4C1I,GAC5E,GAAI0I,EAAiBZ,iBACjB,IACKY,EAAiBZ,gBAAgBxkB,MAAMksB,GAC7BxP,EAAgB1c,MAAM2c,GAClBA,EAAe/+D,OAASsuE,MAIvC,OAAO,OAER,GAA+B,IAA3BxP,EAAgBnwE,OACvB,OAAO,EAEX,OAAO,EAGDu8E,sBACNqD,EACA/e,EACAgf,GAAuB,GAEvBD,EAAgBxlB,GAAiCwlB,GACjD,IAAI3D,EAA2Bte,GAAmBkD,GAOlD,GAJI77D,KAAKw6E,6BAA6BliB,GAAiBuD,MACnDob,EAA2Bte,GAAmBse,KAG7CA,EAAyBzhB,WAAWolB,GACrC,OAIA3D,EAAyBhd,SAAS,cAClCgd,EAA2BA,EAAyBj1E,OAAO,EAAGi1E,EAAyBj8E,OAAS,IAGpG,MACME,EAAQw5D,EADWuiB,EAAyBj1E,OAAO44E,EAAc5/E,SAGvE,GADAE,EAAMqkB,QACFs7D,EAAsB,CACtB,GAAqB,IAAjB3/E,EAAMF,OACN,OAEJE,EAAMqkB,QAGV,OAAqB,IAAjBrkB,EAAMF,SAONE,EAAM,GAAG++D,SAASvK,KAClBx0D,EAAM,GAAKA,EAAM,GAAG8G,OAAO,EAAG9G,EAAM,GAAGF,OAAS00D,EAAY10D,SAI5DE,EAAMuzD,MAAMj8C,IAAOxS,KAAK86E,cAActoE,WAZ1C,EAgBOtX,EAAMM,KAAK,KAGd+5E,2BACJvE,EACAjO,EACA8Q,EACAmF,GAEA,MAAMrM,EAAa3sE,KAAK+zE,iBAAiBF,GACnCtC,EAA8B,GAGpC,GAAIyH,GAAYh5E,KAAKqzE,eAAe4C,SAAU,CAC1C1E,EAAkBl2E,KAAK,wBAAwB2E,KAAKqzE,eAAe4C,aACnE,MAAM8E,EAAgB/6E,KAAKq0E,sBACvBr0E,KAAKqzE,eAAe4C,SACpBlT,EACA8Q,EACAlH,EACA4E,OACmBzyE,GACE,GACA,EACrBk6E,GACqB,GAGzB,GAAI+B,EAAcnQ,cAId,OAFAmQ,EAAcjR,WAAa,EAC3BiR,EAAchR,oBAAqB,EAC5BgR,EAIf,IAAIC,EACAlQ,EAGA/H,EAAQvxD,OACR+/D,EAAkBl2E,KAA6D,uDAAI0nE,EAAQvxD,SAE3Fs5D,EAAc9qE,KAAKq0E,sBACftR,EAAQvxD,KACRuxD,EACA8Q,EACAlH,EACA4E,OACmBzyE,GACE,GACA,EACrBk6E,GACqB,GAEzBgC,EAAkBlQ,GAGtB,IAAK,MAAMiL,KAAahT,EAAQiT,WAC5BzE,EAAkBl2E,KAAK,yBAAyB06E,MAChDjL,EAAc9qE,KAAKq0E,sBACf0B,EACAhT,EACA8Q,EACAlH,EACA4E,OACmBzyE,GACE,GACA,EACrBk6E,GACqB,GAEzBgC,EAAkBh7E,KAAKi7E,gBAAgBD,EAAiBlQ,EAAa+I,GAIzE,MAAMqC,EAAoBl2E,KAAKsyE,qBAAqBf,GACpD,GAAI2E,EAAkBl7E,OAAS,EAC3B,IAAK,MAAMm7E,KAAcD,EAAmB,CACxC3E,EAAkBl2E,KAAK,kCAAkC86E,MAEzD,MAAM+E,EAAmBl7E,KAAKq0E,sBAC1B8B,EACApT,EACA8Q,EACAlH,EACA4E,GA9pCgC,GAgqCX,GACA,EACrByH,GACqB,GAGzB,GAAIkC,EAAkB,CAGlB,GAFAA,EAAiBpR,WAAa,EAE1BoR,EAAiBtQ,eAAiBsQ,EAAiBtG,WACnD,OAAOsG,EAGXF,EAAkBh7E,KAAKi7E,gBAAgBD,EAAiBE,EAAkBrH,SAIlFtC,EAAkBl2E,KAAK,qCAM3B,GAAI0nE,EAAQvxD,OAASxR,KAAKm7E,iBAAiBpY,EAASwO,KAC5CyJ,aAAe,EAAfA,EAAiB5X,eAAgB4X,EAAgBvG,iBACjD,OAAOuG,EAKf,MAAMI,EAAep7E,KAAKm6E,gBACtBnJ,EACAjO,EACA8Q,EACAlH,EACA4E,EACAyH,GAGJ,GAAIoC,EACA,OAAOA,EAGX,GAAIpC,GAAYnF,EAAiBnE,UAAU10E,OAAS,EAAG,CAEnDu2E,EAAkBl2E,KAAK,oCACvB,MAAMggF,EAAuBr7E,KAAKs7E,kBAC9BvY,EACA8Q,EACAlH,GACe,EACf4E,GAGJ,GAAI8J,EAEA,OADAA,EAAqBE,gBAAiB,EAC/BF,EAIX9J,EAAkBl2E,KAAK,yCACvB,MAAMmgF,EAAiBx7E,KAAKs7E,kBACxBvY,EACA8Q,EACAlH,GACe,EACf4E,GAGAiK,IACAA,EAAeD,gBAAiB,EAChCP,EAAkBh7E,KAAKi7E,gBAAgBD,EAAiBQ,EAAgB3H,IAMhF,OAAOmH,EAGHC,gBACJQ,EACAC,EACA7H,GAEA,IAAK4H,EACD,OAAOC,EAGX,IAAKA,EACD,OAAOD,EAGX,GAAIC,EAAU9Q,cAAe,CAEzB,IAAK6Q,EAAgB7Q,cACjB,OAAO8Q,EAIX,GAAID,EAAgB/G,qBAAuBgH,EAAUhH,mBACjD,OAAOgH,EAIX,GAAmC,IAA/BD,EAAgB3R,aAAoC2R,EAAgB/G,mBACpE,OAAO+G,EAIX,GACIA,EAAgB/G,oBAChBgH,EAAUhH,oBACVb,EAAiBZ,kBAGZjzE,KAAKq1E,4BAA4BxB,EAAkB4H,EAAgBtQ,kBACpEnrE,KAAKq1E,4BAA4BxB,EAAkB6H,EAAUvQ,iBAE7D,OAAOuQ,EAKf,GAAID,EAAgBrY,cAAgBsY,EAAUtY,YAC1C,OAAOqY,EACJ,IAAKA,EAAgBrY,aAAesY,EAAUtY,YACjD,OAAOsY,EAIX,GAAID,EAAgB7G,aAAe8G,EAAU9G,WACzC,OAAO6G,EACJ,IAAKA,EAAgB7G,YAAc8G,EAAU9G,WAChD,OAAO8G,EAIX,GAAID,EAAgB5Q,cAAc7vE,OAAS0gF,EAAU7Q,cAAc7vE,OAC/D,OAAO0gF,OAER,GAAIA,EAAUjH,kBAAoBgH,EAAgB/G,qBAAuBgH,EAAUhH,mBAGtF,OAAOgH,EAGX,OAAOD,EAGHX,cAAcx9E,GAClB,IAAK,IAAIhD,EAAI,EAAGA,EAAIgD,EAAMtC,OAAQV,IAC9B,GAAU,IAANA,GAAW6iE,GAAsB7/D,EAAMzC,WAAWP,KAAOkjE,GAAiBlgE,EAAMzC,WAAWP,IAC3F,OAAO,EAIf,OAAO,EAGDg4E,qBAAqBf,GAE3B,IAAKvxE,KAAK27E,yBAA0B,CAChC,MAAMplB,GACF,GACIv2D,KAAKg/D,WACLh/D,KAAKqzE,eACLrzE,KAAKsxE,KACLC,IACC,IACPztD,KAAKtR,GAAMxS,KAAKg/D,WAAWuC,aAAa/uD,KAG1CxS,KAAK27E,yBAA2B,IAAI,IAAI7qC,IAAIylB,IAGhD,OAAOv2D,KAAK27E,yBAGRL,kBACJvY,EACA8Q,EACAlH,EACAiP,EACArK,GAQA,IAAIsK,EACJ,GAPAtK,EAAkBl2E,KACd,wBACIugF,EAAW,GAAmC,WAKlDA,EAAU,CACV,MAAM7sE,EAAO/O,KAAKs3E,uBAAuBvU,EAASwO,EAAmBsC,GACjE9kE,IACA8sE,EAAgB,CAAC9sE,SAGrB8sE,EAAgB77E,KAAK87E,mCAAmCjI,EAAkB9Q,EAASwO,GAGvF,GAAIsK,EACA,IAAK,MAAME,KAAgBF,EACvB,GAAI77E,KAAKy2E,gBAAgBsF,GAAe,CACpC,MAAMpU,EAAa3nE,KAAKq0E,sBACpB0H,EACAhZ,EACA8Q,EACAlH,EACA4E,GAEJ,GAAI5J,EAAWiD,cAEX,OADAjD,EAAWmC,WAAa8R,EAAW,EAAqB,EACjDjU,EAMvB4J,EAAkBl2E,KAAK,2BASnB2gF,mCAAmCC,GACvCj8E,KAAKk8E,sCAAwC,IAAIp+D,IAE7Cm+D,GACAj8E,KAAKq4E,qBAAqB4D,GAAe32D,SAAS62D,IAC9C,GAAIA,EAAWvjB,cAAe,CAC1B,MAAMwjB,EAAermB,GAAakmB,EAAeE,EAAW9vE,MAE5DrM,KAAKq4E,qBAAqB+D,GAAc92D,SAAS+2D,IAC7C,GAAwB,aAApBA,EAAWhwE,KAIf,GAAIgwE,EAAWzjB,cAAe,CAC1B,MAAMka,EAAW9yE,KAAKk8E,sCAAuC33E,IAAI83E,EAAWhwE,MACxEymE,EACAA,EAASz3E,KAAK+gF,GAEdp8E,KAAKk8E,sCAAuC/2E,IAAIk3E,EAAWhwE,KAAM,CAAC+vE,SAEnE,GAAIC,EAAWvjB,UACdujB,EAAWhwE,KAAK4tD,SAAS,QAAS,CAClC,MAAMqiB,EAAmB3jB,GAAmB0jB,EAAWhwE,MACjDymE,EAAW9yE,KAAKk8E,sCAAuC33E,IAAI+3E,GAC7DxJ,EACAA,EAASz3E,KAAK+gF,GAEdp8E,KAAKk8E,sCAAuC/2E,IAAIm3E,EAAkB,CAACF,YAS/Fp8E,KAAKu8E,sCAAwC,IACtC,IAAIzrC,OAAO9wC,KAAKk8E,sCAAsCvzD,WAC3D6wC,OAGEsc,sCACJ9E,EACAjO,EACA8Q,EACA+H,EACAlG,GAEA,MAAMnE,EAA8B,GAEpC,IAAIsK,EACJ,GAAID,EAAU,CACV,MAAM7sE,EAAO/O,KAAKs3E,uBAAuBvU,EAASwO,EAAmBsC,GACjE9kE,IACA8sE,EAAgB,CAAC9sE,QAElB,CACH8sE,EAAgB77E,KAAK87E,mCACjBjI,EACA9Q,EACAwO,GACqB,GAGzB,MAAM6G,EAAiBp4E,KAAK63E,kBAAkB9U,EAASwO,GACnD6G,IACAyD,EAAgBA,UAAiB,GACjCA,EAAcxgF,KAAK+8E,IAItByD,GAILA,EAAcv2D,SAASy2D,IACf/7E,KAAKy2E,gBAAgBsF,IACrB/7E,KAAK41E,kCACD5E,EACAjO,EACAgZ,EACAlI,EACA6B,MASR4B,uBACJvU,EACAwO,EACAsC,GAEA,MAAM2I,EAAex8E,KAAKy8E,0BAAwC,EAAM1Z,EAASwO,GACjF,IACIiL,IACA3I,GACC7zE,KAAKw3E,qCAAqC3D,EAAkB9Q,EAASwO,GAK1E,OAAOiL,EAGH7E,2BAA2B5U,EAA+BwO,GAC9D,OAAOvxE,KAAKy8E,0BAAwC,EAAO1Z,EAASwO,GAGhEiG,qCACJ3D,EACA9Q,EACAwO,GAEKvxE,KAAK08E,sCACN18E,KAAK08E,oCAAsC18E,KAAK28E,4BAA4B5Z,EAASwO,IAKzF,IAAK,IAAIqL,EAAgB,EAAGA,GAAiB/I,EAAiBnE,UAAU10E,OAAQ4hF,IAAiB,CAC7F,MAAMC,EAAsBhJ,EAAiBnE,UAAU9xE,MAAM,EAAGg/E,GAC1DE,EAAe98E,KAAK08E,oCAAoCn4E,IAAIs4E,EAAoBrhF,KAAK,MAC3F,GAAIshF,EAAc,CACd,GAAI/Z,EAAQga,cAAgBD,EAAa/5E,IACrC,OAAO,EAGX,QAAyBjE,IAArBg+E,EAAap3E,KAAqBq9D,EAAQga,cAAgBD,EAAap3E,IACvE,OAAO,GAKnB,OAAO,EAGHi3E,4BACJ5Z,EACAwO,GAEA,MAAMyL,EAAkB,IAAIl/D,IAGtBm/D,EAAqBj9E,KAAKy8E,0BAAwC,EAAM1Z,EAASwO,GAEvF,GAAI0L,EAAoB,CACpB,MAAMC,EAAmBnnB,GAAaknB,EAAoB,YAC1D,IACI,MAAM9d,EAAYn/D,KAAKg/D,WAAWjG,SAASmkB,GACvC/d,EAAU7/D,KAAO,GAAK6/D,EAAU7/D,KAAO,OAClBU,KAAKg/D,WAAWK,aAAa6d,EAAkB,QACvD3vE,MAAM,SAAS+X,SAAS4U,IACjC,MACMijD,EADejjD,EAAK3sB,MAAM,KACA,GAAGA,MAAM,KACzC,GAA0B,IAAtB4vE,EAAWniF,OACX,OAGJ,MAAMoiF,EAAeD,EAAW,GAAG5vE,MAAM,KACzC,GAAI6vE,EAAapiF,OAAS,EACtB,OAGJ,MAAMgwE,EAAamS,EAAW,GAAGv3E,OACjC,IAAKolE,EACD,OAGJ,IAAIqS,EAAmBD,EAAa,GAAGx3E,OACnCy3E,EAAiBpjB,SAAS,OAE1BojB,EAAmBA,EAAiBr7E,OAAO,EAAGq7E,EAAiBriF,OAAS,IAE5E,IAKIsiF,EALAC,EAAa/gB,GAAkB6gB,GAC9BE,IACDA,EAAanhB,GAAcohB,MAI3BJ,EAAapiF,OAAS,IACtBsiF,EAAa9gB,GAAkB4gB,EAAa,GAAGx3E,SAGnDo3E,EAAgB73E,IAAI6lE,EAAY,CAAEjoE,IAAKw6E,EAAY73E,IAAK43E,OAG5D/L,EAAkBl2E,KAAK,uDAE7B,MAAO4I,GACLstE,EAAkBl2E,KAAK,kDAAkD2T,KAAKC,UAAUhL,QAIhG,OAAO+4E,EAGHlB,mCACJjI,EACA9Q,EACAwO,EACAkM,GAAmB,GAEnB,MAAM1B,EAAe/7E,KAAK23E,2BAA2B5U,EAASwO,GAEzDvxE,KAAKk8E,uCACNl8E,KAAKg8E,mCAAmCD,GAG5C,MAAM2B,EAAgB7J,EAAiBnE,UAAU10E,OAAS,EAAI64E,EAAiBnE,UAAU,GAAK,GAC9F,OAAI+N,EACOz9E,KAAKk8E,sCAAuC33E,IAAIm5E,GAGvDA,EvBh6CL,SAAoBn+E,GACvB,MAAMygB,EAAS,GACf,IAAK,MAAMoxC,KAAK7xD,EACR6xD,ID5MY9zD,EC6MA8zD,GD5Mb11D,MAAMuD,QAAUvD,MAAMuD,QAAQ3B,GAASA,aAAiB5B,OC6MnD4yD,EAAStuC,EAAQoxC,GAEjBpxC,EAAO3kB,KAAK+1D,IDhNrB,IAAiB9zD,ECoNpB,OAAO0iB,EuBs5CQ29D,CvBr1CZ,SAA4Bl9E,EAAciuD,GAC7C,MAAM/lC,EAAc,GAOpB,OANAloB,EAAE6kB,SAAQ,CAAC8rC,EAAG/+C,KuBo1CwD,CAACA,GAAMA,EAAEmjD,WAAWkoB,GvBn1ClFhvB,CAAUr8C,IACVsW,EAAOttB,KAAK+1D,MAIbzoC,EuB80CKi1D,CAAa59E,KAAKk8E,wCAInB,GAGH/D,mCAAmCpV,EAA+BwO,GACtE,MAAMwK,EAAe/7E,KAAK23E,2BAA2B5U,EAASwO,GAM9D,OAJKvxE,KAAKk8E,uCACNl8E,KAAKg8E,mCAAmCD,GAGrC/7E,KAAKu8E,sCAGRpB,iBAAiBpY,EAA+BwO,GACpD,QAAiCzyE,IAA7BkB,KAAK69E,oBACL,OAAO79E,KAAK69E,oBAGhB,IAAI9B,EAAe,GAInB,GAAI/7E,KAAKqzE,eAAe0I,aAAc,CAClC,MAAM+B,EAAuB99E,KAAKqzE,eAAe0I,aAC7C/7E,KAAKy2E,gBAAgBqH,KACrB/B,EAAe+B,OAEhB,CACH,MAAM5H,EAAoBl2E,KAAKsyE,qBAAqBf,GACpD,IAAK,MAAM4E,KAAcD,EAAmB,CACxC,MAAM4H,EAAuB/nB,GAAaogB,EAAY,YACtD,GAAIn2E,KAAKy2E,gBAAgBqH,GAAuB,CAC5C/B,EAAe+B,EACf,QAWZ,OALK/B,IACDA,EDlsDL,SAAiCnmB,GACpC,IAAImoB,EAAkBnoB,EAAGmL,gBACzB,IAAKgd,EACD,OAGJA,EAAkB1pB,EAAiBe,GAAiCoB,GAAcunB,KAElF,MAAMhC,EAAehmB,GAAagoB,EAAiB,GACnD,GAAInoB,EAAGI,WAAW+lB,GACd,OAAOA,EAKX,MAAMiC,EAAoBjoB,GAAa1B,EAAiB0pB,GAAkB,GAC1E,OAAInoB,EAAGI,WAAWgoB,GACPA,OADX,ECkrDuB,CAAwCh+E,KAAKg/D,aAAe,IAG/Eh/D,KAAK69E,oBAAsB9B,EACpBA,EAGHU,yBAAyBb,EAAmB7Y,EAA+BwO,GAE/E,GAAIqK,GACA,QAAuC98E,IAAnCkB,KAAKi+E,0BACL,OAAOj+E,KAAKi+E,+BAGhB,QAA2Cn/E,IAAvCkB,KAAKk+E,8BACL,OAAOl+E,KAAKk+E,8BAIpB,IAAInC,EAAe/7E,KAAKm7E,iBAAiBpY,EAASwO,GAGlD,GAFAwK,ED/rDD,SAAiCA,EAAsBH,GAC1D,OAAO7lB,GAAagmB,EAAcH,EAAW1K,GAAmBC,IC8rD7C,CAAwC4K,EAAcH,GAEhE57E,KAAKy2E,gBAAgBsF,GAW1B,OANIH,EACA57E,KAAKi+E,0BAA4BlC,EAEjC/7E,KAAKk+E,8BAAgCnC,EAGlCA,EAGH7G,uBACJlE,EACAjO,EACA8Q,EACAlH,EACA4E,GAEAA,EAAkBl2E,KAAK,yCAGvB,MAAM84D,EAAYoc,GACdlc,EAAiB2c,GACjB6C,EAAiBpE,aAErB,IAAKtb,EAED,YADAod,EAAkBl2E,KAAK,0BAA0BsxE,MAKrD,MAAMwR,EAAYn+E,KAAKq0E,sBACnBlgB,EACA4O,EACA8Q,EACAlH,EACA4E,GACmB,GACE,GAEzB,OAAOvxE,KAAKk0E,sBAAsBiK,EAAWtK,EAAiBZ,iBAG1D4C,kCACJ7E,EACAjO,EACA8Q,EACA6B,GAGA,MAAMvhB,EAAYoc,GACdlc,EAAiB2c,GACjB6C,EAAiBpE,aAEhBtb,GAKLn0D,KAAK41E,kCAAkC5E,EAAgBjO,EAAS5O,EAAW0f,EAAkB6B,GAGzFqE,qBAAqBzkB,GACzB,MAAM8oB,EAAep+E,KAAKq4E,qBAAqB/iB,GACzC+oB,EAAaD,EAAav1B,QAAQvR,GAAMA,EAAEwhB,WAAUh1C,KAAKwzB,GAAMA,EAAEjrC,OAUvE,OAPA+xE,EAAa94D,SAASgyB,I,MAClB,MAAMgnC,EAAWvoB,GAAaT,EAAShe,EAAEjrC,MACrCirC,EAAEoiB,mBAAsD,QAAlC,EAAAb,GAAQ74D,KAAKg/D,WAAYsf,UAAS,eAAExlB,WAC1DulB,EAAWhjF,KAAKi8C,EAAEjrC,SAInBgyE,EAGHzI,kCACJ5E,EACAjO,EACAlJ,EACAga,EACA6B,EACA6I,GAAa,GAIb,IAAIjpB,EAAUuE,EAId,MAAM6V,EAAYmE,EAAiBnE,UAAU5rD,KAAKzX,GAASA,IACvDwnE,EAAiB2K,gBACjB9O,EAAUr0E,KAAK,IAKnB,MAAMo0E,EAAcoE,EAAiBpE,YAC/BgP,EAAkB/O,EAAU9xE,MAAM,GAAI,GAI5C,GAAyB,IAArB8xE,EAAU10E,OACVgF,KAAK0+E,gCACD1N,EACAjO,EACAzN,EACA,GACAogB,EACAjG,EACAgP,EACAF,QAGJ,IAAK,IAAIjkF,EAAI,EAAGA,EAAIo1E,EAAU10E,SAGtBV,IAAMo1E,EAAU10E,OAAS,GACzBgF,KAAK0+E,gCACD1N,EACAjO,EACAzN,EACAoa,EAAUp1E,GACVo7E,EACAjG,EACAgP,EACAF,GAIRjpB,EAAUS,GAAaT,EAASoa,EAAUp1E,IACrC0F,KAAKy2E,gBAAgBnhB,IAjBQh7D,MAwBtCokF,gCACJ1N,EACAjO,EACA4b,EACA91B,EACA6sB,EACAjG,EACAgP,EACAF,GAGA,MAAM31D,EAAUuwC,GACZn5D,KAAKq4E,qBAAqBsG,GAC1B3+E,KAAKg/D,WACL2f,GAGJ/1D,EAAQywC,MAAM/zC,SAASoK,IAGnB,MAAM6qD,EAAgBjiB,GAAiB5oC,GAA8B,GAAO5vB,cACtE8+E,EAAuBjmB,GAAmBjpC,GAA8B,GAE9E,GAAIyjD,GAAwB1kB,MAAM9nD,GAAQA,IAAQ4zE,IAAgB,CAC9D,GAA6B,aAAzBqE,EACA,OAGJ,GAAI/1B,IAAW,EAA8BA,EAAQ+1B,GACjD,OAGJ,IACK5+E,KAAK6+E,yBAAyBD,EAAsBlJ,KACpD11E,KAAK8+E,wBACFF,EACAnP,EACAgP,EACAzN,EACAjO,EACAwb,GAGJ,OAGJ7I,EAAY9vD,IAAIg5D,OAIxBh2D,EAAQ0wC,YAAYh0C,SAAS1kB,IACrBioD,IAAWjoD,EAAI40D,WAAW3M,IAKzB7oD,KAAK6+E,yBAAyBj+E,EAAK80E,IACnC11E,KAAK8+E,wBAAwBl+E,EAAK6uE,EAAagP,EAAiBzN,EAAgBjO,EAASwb,IAK9F7I,EAAY9vD,IAAIhlB,MAMhBk+E,wBACJzyE,EACAojE,EACAgP,EACAzN,EACAjO,EACAwb,GAGA,MAAM1K,EAAmB,CACrBpE,YAAaA,EACbC,UAAW,IAAI+O,EAAiBpyE,GAChC4mE,gBAAiB,IAIrB,GAAIsL,EAAY,CACZ,MAAM5R,EAAa3sE,KAAK+zE,iBAAiBF,GACnCtC,EAA8B,GAEpC,OAAOvxE,KAAKg0E,qBAAqBrH,EAAYqE,EAAgBjO,EAAS8Q,EAAkBtC,GACnF3G,cAGT,OAAO5qE,KAAK8zE,eAAe9C,EAAgBjO,EAAS8Q,GAAkBjJ,cAGlEiU,yBAAyBE,EAAyBrJ,GACtD,QAAIA,EAAYtxD,IAAI26D,IAKhB,OAAO/nC,KAAK+nC,IAKZvV,GAAauV,IAAwC,eAApBA,GAS/B7K,sBAAsBrK,EAA4BoJ,GACxD,QAAwBn0E,IAApBm0E,EAA+B,CAC/B,MAAM+L,EAAkBliF,OAAOmiF,OAAO,GAAIpV,GAE1C,OADAmV,EAAgBlK,wBAA0B,GACnCkK,EAGX,GAA+B,IAA3B/L,EAAgBj4E,OAChB,OAAO6uE,EAGX,GAA4C,IAAxCA,EAAasB,gBAAgBnwE,OAC7B,OAAO6uE,EAGX,MAAMiL,EAA0BjL,EAAasB,gBAAgBtiB,QAAQuiB,GAC1D6H,EAAgBxkB,MAAM3iD,GAAQA,IAAQs/D,EAAe/+D,SAGhE,GAAIyoE,EAAwB95E,SAAW6uE,EAAasB,gBAAgBnwE,OAChE,OAAO6uE,EAGX,MAAMmV,EAAkBliF,OAAOmiF,OAAO,GAAIpV,GAE1C,OADAmV,EAAgBlK,wBAA0BA,EACnCkK,EAGHxF,qBAAqB0F,EAA6B5pB,EAAiB6pB,GACvE,MAAMC,EAAoB,IAAIthE,IAGxB8K,EAAUuwC,GACZn5D,KAAKq4E,qBAAqB/iB,GAC1Bt1D,KAAKg/D,WACL1J,GAIJ,IAAK,MAAMiD,KAAY3vC,EAAQywC,MAAO,CAClC,MAAMgmB,EAAU/mB,GAAiBC,GACjC,IAAI+jB,EACAzH,GAAc,EAElB,GAAgB,QAAZwK,GAAiC,SAAZA,EACrB/C,EAAmB3jB,GAAmBJ,OACnC,KACHv4D,KAAKw6E,6BAA6B6E,IACjCr/E,KAAKg3E,iBAAiB,GAAGze,SACzBv4D,KAAKg3E,iBAAiB,GAAGze,SAM1B,SAHA+jB,EAAmB/jB,EAASv2D,OAAO,EAAGu2D,EAAS18D,QAAQ,MACvDg5E,GAAc,EAKlB,MAAMhZ,EAAW9F,GAAaT,EAASiD,GACvC,IAAK4mB,EAAW5T,MAAM+T,GAAcA,IAAczjB,IAAW,CACzD,MAAMuP,EAAiC,CACnCwJ,WAAYrc,EAAS0B,SAAS,QAC9B4a,cACAxoE,KAAMiwE,EACNvtE,KAAM8sD,GAIJpC,EAAQ2lB,EAAkB76E,IAAI6mE,EAAe/+D,MACnD,IAAKotD,IAAUA,EAAMmb,WAAY,CAE7B,GAAIC,EAAa,CACb,MAAMoF,EAAgBlkB,GAAaT,EAASiD,GACtCgnB,EAAiBv/E,KAAKo6E,sBACxBH,EACA,GAAGiF,KAAuB5C,IAC1B,IAEAiD,IACAnU,EAAer8D,KAAOwwE,EACtBnU,EAAeyJ,aAAc,GAGrCuK,EAAkBj6E,IAAIimE,EAAe/+D,KAAM++D,KAMvD,IAAK,MAAM6G,KAAWrpD,EAAQ0wC,YAAa,CACvC,MAAMggB,EAAavjB,GAAaT,EAAS2c,EAAS,eAC5CsH,EAAcD,EAAa,IACjC,IAAI1E,GAAa,EACb7lE,EAAO,GASX,GAPI/O,KAAKg3E,iBAAiBuC,IACtB3E,GAAa,EACb7lE,EAAOwqE,GACAv5E,KAAKg3E,iBAAiBsC,KAC7BvqE,EAAOuqE,GAGPvqE,IACKowE,EAAW5T,MAAM+T,GAAcA,IAAcvwE,IAAO,CACrD,MAAMq8D,EAAiC,CACnCwJ,aACAC,aAAa,EACbxoE,KAAM4lE,EACNljE,QAGJqwE,EAAkBj6E,IAAIimE,EAAe/+D,KAAM++D,IAKvD,MAAO,IAAIgU,EAAkBz2D,UAGvBorD,iBAAiBF,GACvB,MAAO,IAAI2L,OAAO3L,EAAiBpE,aAAeoE,EAAiBnE,UAAUl0E,KAAK,KAG9E0+E,yBACJD,EACAlX,EACA4J,EACAkH,EACAtC,EACA1G,GAEA,IAAI4U,EAAiB9S,EAErB,GAAIkH,EAAiBpE,YAAc,EAAG,CAElC,MAAMxzD,EAAOjc,KAAKk3E,uBAAuB+C,EAAelX,GACxD0c,EAAiBxjE,EAAK+uD,WAAWhwE,OAAS,EAAIihB,EAAK+uD,WAAayU,EAGpE,MAAMC,EAAmB1/E,KAAKo6E,sBAAsBH,EAAewF,EAAgBlO,GACnF,OAAImO,GACAnO,EAAkBl2E,KAAK,0BAA0BsxE,gBAAyB+S,MAC1E7U,EAAcxvE,KAAKqkF,IACZ,IAGXnO,EAAkBl2E,KAAK,8BAA8B4+E,MACrDpP,EAAcxvE,KAAK4+E,IACZ,GAGHD,wBAAwBhP,EAAoBzS,GAIhD,MAAMgiB,EAAgBjiB,GAAiBC,GAAkC,GAAOz4D,cAC1E6/E,EAAmBhnB,GAAmBJ,GAAkC,GAC9E,OACIv4D,KAAKw6E,6BAA6BD,IAClC1mB,EAA6BmX,EAAY2U,GAIzCnF,6BAA6BD,GACjC,OAAOrH,GAA6BzkB,MAAM9nD,GAAQA,IAAQ4zE,IAGtDhG,WAAW/rD,GACf,OAAIkyC,GAAelyC,GACR,EAAC,EAAO,IAGZ,EACH,EACA4sC,GACIwG,GAAkB57D,KAAKg/D,WAAYxI,GAAcT,GAAavtC,EAAS,UAK3E4rD,cAAc5rD,EAAiBhX,EAAcuxD,GACjD,OAAOv6C,EAAQxtB,OAASwW,EAAKxW,QAAWwtB,IAAYhX,IAASuxD,EAAQvxD,KAG/D2iE,8BAA8BnD,EAAwB4O,GAC5D,OACWxqB,GADPwqB,EACwChkB,GAAkB57D,KAAKg/D,WAAYxI,GAAcopB,IAGrDvrB,EAAiB2c,KCnpE1D,MAAM6O,GAAqB,I,0BAAIpxD,qBAClC,mBCLJ,IAAIqxD,GAGG,SAASC,GAAsBzO,GAClCwO,GAAQxO,EAGZ,SAASA,KACL,IAAKwO,GACD,MAAM,IAAIlkF,MAAM,4BAEpB,OAAOkkF,GAGJ,SAASE,KACZ,OAAO1O,KAAO0O,uBAOX,SAASC,KACZ,OAAO3O,KAAO2O,aAGX,SAASC,KACZ,OAAO5O,KAAO4O,WAQX,SAASC,GAAe7iF,EAAY8iF,GACvC,GAAI1kF,MAAMuD,QAAQ3B,GACd,OAAOA,EAAMwmB,IAAIs8D,GAErB,GAUmBhvB,EAVD9zD,EAW2B,oBAAtCR,OAAOE,UAAUwC,SAASsB,KAAKswD,GAXZ,CACtB,MAAMivB,EAAcvjF,OAAOqV,OAAO,MAIlC,OAHArV,OAAO8rB,QAAQtrB,GAAOgoB,SAAQ,EAAEjT,EAAG++C,MAC/BivB,EAAYhuE,GAAK+tE,EAAOhvB,MAErBivB,EAKf,IAAuBjvB,EAHnB,OAAOgvB,EAAO9iF,GClEX,MAAMgjF,GAGTr0E,cACIjM,KAAKugF,WAAa9/D,KAAKC,MAG3B8/D,4BAEI,OADgB//D,KAAKC,MACJ1gB,KAAKugF,WAG1BE,uBACI,OAAOzgF,KAAKwgF,4BAA8B,KAI3C,MAAME,GAAb,cACI,KAAAC,UAAY,EACZ,KAAAC,UAAY,EACZ,KAAAC,UAAW,EAEXC,cAAiBntE,GAIb,GAHA3T,KAAK4gF,YAGD5gF,KAAK6gF,SACL,OAAOltE,IACJ,CACH3T,KAAK6gF,UAAW,EAChB,MAAME,EAAW,IAAIT,GACftgE,EAASrM,IAIf,OAHA3T,KAAK2gF,WAAaI,EAASP,4BAC3BxgF,KAAK6gF,UAAW,EAET7gE,GAIfghE,iBAAiBrtE,GACb,GAAI3T,KAAK6gF,SAAU,CACf7gF,KAAK6gF,UAAW,EAChB,MAAME,EAAW,IAAIT,GACrB3sE,IACA3T,KAAK2gF,WAAaI,EAASP,4BAC3BxgF,KAAK6gF,UAAW,OAEhBltE,IAIRstE,YACI,MAAMC,EAAiBlhF,KAAK2gF,UAAY,IAExC,OADoB79E,KAAKwmB,MAAuB,IAAjB43D,GAAwB,KACpC1hF,WAAa,OAsCjC,MAAM2hF,GAAc,IAlCpB,MAAP,cACI,KAAAC,cAAgB,IAAId,GACpB,KAAAe,cAAgB,IAAIX,GACpB,KAAAY,aAAe,IAAIZ,GACnB,KAAAa,iBAAmB,IAAIb,GACvB,KAAAc,cAAgB,IAAId,GACpB,KAAAe,mBAAqB,IAAIf,GACzB,KAAAgB,mBAAqB,IAAIhB,GACzB,KAAAiB,SAAW,IAAIjB,GACf,KAAAkB,gBAAkB,IAAIlB,GACtB,KAAAmB,mBAAqB,IAAInB,GAEzBoB,aAAa39E,GACTA,EAAQ8X,KAAK,gBAAgBjc,KAAKohF,cAAcX,6BAGpDsB,aAAa59E,GACTA,EAAQ8X,KAAK,IACb9X,EAAQ8X,KAAK,gBACb9X,EAAQ8X,KAAK,yBAA2Bjc,KAAKqhF,cAAcJ,aAC3D98E,EAAQ8X,KAAK,yBAA2Bjc,KAAKshF,aAAaL,aAC1D98E,EAAQ8X,KAAK,yBAA2Bjc,KAAKuhF,iBAAiBN,aAC9D98E,EAAQ8X,KAAK,yBAA2Bjc,KAAKwhF,cAAcP,aAC3D98E,EAAQ8X,KAAK,yBAA2Bjc,KAAKyhF,mBAAmBR,aAChE98E,EAAQ8X,KAAK,yBAA2Bjc,KAAK2hF,SAASV,aACtD98E,EAAQ8X,KAAK,yBAA2Bjc,KAAK4hF,gBAAgBX,aAC7D98E,EAAQ8X,KAAK,yBAA2Bjc,KAAK0hF,mBAAmBT,aAGpEe,mBACI,OAAOhiF,KAAKohF,cAAcX,yBClFrBwB,GAA0CxlE,MAiBhD,SAASylE,GACZC,EACAC,EACA/Q,EACA19D,EACAxP,EACA6c,GAEA,IAAIqhE,GAAgB,EAEpB1uE,EAAWA,UAAYsuE,GAEvB,IACI,GAA6BjhE,GAE7B,MAAM+/D,EAAW,IAAIT,GACrB+B,EAAgBF,EAAQG,QAAQF,EAASphE,GAEzC,MAAMuhE,EAAqBJ,EAAQK,yBAC7B59C,EAAcu9C,EAAQM,eAAepR,GACrCqR,EAAsB99C,EAAY5pC,OAClC2nF,EAAc5B,EAASN,wBAGzBiC,EAAsB,IAAML,IAC5B1uE,EAAS,CACLixB,cACAg+C,eAAgBT,EAAQU,eACxBC,uBAAwBP,EACxBQ,sBAAuBZ,EAAQa,0BAC/BC,oBAAoB,EACpBC,0BAA0B,EAC1BP,gBAGV,MAAO1+E,GACL,GAAImgE,GAA2B7vD,GAAGtQ,GAC9B,OAAO,EAGX,MAAMsI,IxB+BiBnI,EwB/BcH,GxBiC9BqI,MAAQlI,EAAMkI,MAAM9M,gBAAaV,KACd,iBAAlBsF,EAAMmI,QAAuBnI,EAAMmI,aAAUzN,IACrDkQ,KAAKC,UAAU7K,GwBlCfD,EAAQC,MAAM,8BAAgCmI,GAE9CoH,EAAS,CACLixB,YAAa,GACbg+C,eAAgB,EAChBE,uBAAwB,EACxBC,uBAAuB,EACvBE,oBAAoB,EACpBC,0BAA0B,EAC1BP,YAAa,EACbv+E,MAAO,EAA2BH,KxBoBvC,IAAwBG,EwBhB3B,OAAOi+E,E,IC9ECc,G,8BAAZ,SAAYA,GACR,gBACA,cACA,cACA,YAJJ,CAAYA,QAAQ,KAwCb,MAAMC,GACTx0E,IAAIrC,GACApI,QAAQ8X,KAAK1P,GAGjB0P,KAAK1P,GACDpI,QAAQ8X,KAAK1P,GAGjByP,KAAKzP,GACDpI,QAAQ6X,KAAKzP,GAGjBnI,MAAMmI,GACFpI,QAAQC,MAAMmI,IA0Cf,MAAM82E,GAUTp3E,YAAoBq3E,EAAoCC,EAAQ,IAA5C,KAAAD,WAAoC,KAAAC,QAThD,KAAAC,UAAiC,IAAI1lE,IAAI,CAC7C,CAACqlE,GAASvnF,MAAO,GACjB,CAACunF,GAASM,KAAM,GAChB,CAACN,GAASpsD,KAAM,GAChB,CAACosD,GAASnsD,IAAK,KAGX,KAAA0sD,UAAY,EAIpB,YACI,OAAQ1jF,KAAK0jF,WACT,KAAK,EACD,OAAOP,GAASvnF,MAEpB,KAAK,EACD,OAAOunF,GAASM,KAEpB,KAAK,EACD,OAAON,GAASpsD,KAGxB,OAAOosD,GAASnsD,IAGpB,UAAU15B,GACN,IAAIqmF,EAAW3jF,KAAKwjF,UAAUj/E,IAAIjH,QACjBwB,IAAb6kF,IACAA,EAAW3jF,KAAKwjF,UAAUj/E,IAAI4+E,GAASpsD,OAG3C/2B,KAAK0jF,UAAYC,EAGrBv/E,MAAMmI,GACFvM,KAAK4jF,KAAKT,GAASvnF,MAAO,GAAGoE,KAAK6jF,UAAUt3E,KAGhDyP,KAAKzP,GACDvM,KAAK4jF,KAAKT,GAASM,KAAM,GAAGzjF,KAAK6jF,UAAUt3E,KAG/C0P,KAAK1P,GACDvM,KAAK4jF,KAAKT,GAASpsD,KAAM,GAAG/2B,KAAK6jF,UAAUt3E,KAG/CqC,IAAIrC,GACAvM,KAAK4jF,KAAKT,GAASnsD,IAAK,GAAGh3B,KAAK6jF,UAAUt3E,KAG9C,cACI,OAAOvM,KAAKujF,MAAQ,IAAIvjF,KAAKujF,UAAY,GAGrCK,KAAKE,EAAiBv3E,GACtBvM,KAAK+jF,mBAAmBD,GAAS9jF,KAAK0jF,WAI1C90E,GAAI5O,KAAKsjF,SAAUQ,EAAOv3E,GAGtBw3E,mBAAmBD,GACvB,MAAME,EAAehkF,KAAKwjF,UAAUj/E,IAAIu/E,GAExC,OADA,OAA8BhlF,IAAjBklF,EAA4B,mCACjBllF,IAAjBklF,EAA6BA,EAAe,GAIpD,SAASp1E,GAAIzK,EAA2B8/E,EAAmBj3E,GAC9D,OAAQi3E,GACJ,KAAKd,GAASnsD,IACV7yB,EAAQyK,IAAI5B,GACZ,MAEJ,KAAKm2E,GAASpsD,KACV5yB,EAAQ8X,KAAKjP,GACb,MAEJ,KAAKm2E,GAASM,KACVt/E,EAAQ6X,KAAKhP,GACb,MAEJ,KAAKm2E,GAASvnF,MACVuI,EAAQC,MAAM4I,GACd,MAEJ,QACI,EAAW,GAAGi3E,sBCxLnB,MAAMC,GAKTj4E,YAAoBq3E,EAAgDO,GAAhD,KAAAP,WAAgD,KAAAO,UAJ5D,KAAAM,YAAc,IAAIvrC,GAClB,KAAAwrC,aAAe,GACf,KAAAC,gBAA4B,GAIpCz1E,IAAOwtB,EAAezoB,EAAkC2wE,GAAkB,EAAIC,GAAiB,GAE3F,QAAsBzlF,IAAlBkB,KAAKsjF,SACL,OAAO3vE,EAAS3T,KAAKmkF,aAIzB,MAAML,EAAS9jF,KAAKsjF,SAAiBQ,MACrC,QAAchlF,IAAVglF,GAAwBA,IAAUX,GAASnsD,KAAO8sD,IAAUX,GAASpsD,KACrE,OAAOpjB,EAAS3T,KAAKmkF,aAKzB,MAAM37D,EAAUxoB,KAAKokF,aACrBpkF,KAAKqkF,gBAAgBhpF,KAAK,GAAGmtB,IAAU4T,SAEvCp8B,KAAKokF,cAAgB,KACrB,MAAM9lE,EAAQ,IAAIs6B,GAElB,IACI,OAAOjlC,EAAS2K,G,QAEhB,MAAMkmE,EAAalmE,EAAMyiE,SAIzB,GAHA/gF,KAAKokF,aAAe57D,EAGhBxoB,KAAKqkF,gBAAgBrpF,OAAS,IAAMsjB,EAAMmmE,gBAAkBD,GAAcF,GAE1EtkF,KAAKqkF,gBAAgBpqC,UAClB,CACHj6C,KAAK0kF,uBAEL,IAAIzoF,EAAS,IAAI+D,KAAK6jF,YAAY7jF,KAAKokF,eAAehoD,IAAQ9d,EAAM/Z,UAAUigF,OAI1ED,GACAjmE,EAAMqmE,cACFrmE,EAAMsmE,cACNtmE,EAAMumE,aACNvmE,EAAMwmE,oBACNxmE,EAAMymE,aACN,IAEJ9oF,GAAU,OAAOqiB,EAAMqmE,oBAAoBrmE,EAAMsmE,oBAAoBtmE,EAAMumE,mBAAmBvmE,EAAMwmE,0BAA0BxmE,EAAMymE,iBAGxI/kF,KAAKsjF,SAAS10E,IAAI3S,GAGduoF,GA5DiB,KA6DjBxkF,KAAKsjF,SAASrnE,KAAK,IAAIjc,KAAK6jF,4BAA4BznD,MAAUooD,UAM1EE,uBAIJ,GAFA1kF,KAAKqkF,gBAAgBpqC,QAEjBj6C,KAAKqkF,gBAAgBrpF,QAAU,GAAnC,CAIA,IAAK,MAAMgqF,KAAiBhlF,KAAKqkF,gBAC7BrkF,KAAKsjF,SAAU10E,IAAI,IAAI5O,KAAK6jF,YAAYmB,KAG5ChlF,KAAKqkF,gBAAgBrpF,OAAS,IAStC,MAAM49C,GAAN,cAIY,KAAAqsC,OAAS,IAAI3E,GACb,KAAA4E,WAAa/D,GAAYG,aAAaX,UACtC,KAAAwE,YAAchE,GAAYI,iBAAiBZ,UAC3C,KAAAyE,YAAcjE,GAAYK,cAAcb,UACxC,KAAA0E,aAAelE,GAAYM,mBAAmBd,UAC9C,KAAA2E,WAAanE,GAAYQ,SAAShB,UAE1C,eACI,OAAO3gF,KAAKilF,OAAOzE,4BAGvB,oBACI,OAAOW,GAAYG,aAAaX,UAAY3gF,KAAKklF,WAGrD,oBACI,OAAO/D,GAAYI,iBAAiBZ,UAAY3gF,KAAKmlF,YAGzD,mBACI,OAAOhE,GAAYK,cAAcb,UAAY3gF,KAAKolF,YAGtD,0BACI,OAAOjE,GAAYM,mBAAmBd,UAAY3gF,KAAKqlF,aAG3D,mBACI,OAAOlE,GAAYQ,SAAShB,UAAY3gF,KAAKslF,WAGjD1/D,IAAI2/D,GACIA,IACAvlF,KAAKwlF,UAAYD,GAIzBhhF,MACI,OAAIvE,KAAKwlF,UACE,KAAKxlF,KAAKwlF,aAGd,GAGXC,WACIzlF,KAAK0lF,WAAY,EAGrBjB,eACI,QAASzkF,KAAK0lF,WCoEf,SAASC,GAAsBzd,GAClC,OAAqB,IAAdA,EAAKlpE,KAGT,SAAS4mF,GAAmB1d,GAC/B,OAAqB,IAAdA,EAAKlpE,KAGT,SAAS6mF,GAAuB3d,GACnC,OAAqB,IAAdA,EAAKlpE,KAGT,SAAS8mF,GAAsB5d,GAClC,OAAqB,IAAdA,EAAKlpE,KAGT,SAAS+mF,GAAmB7d,GAC/B,OAAqB,IAAdA,EAAKlpE,KClGhB,IAAIgnF,GAAc,EAKX,SAAS,GAAYte,EAAqBue,GACzCA,EAASnqF,MAAQ4rE,EAAK5rE,QACtB4rE,EAAK1sE,QAAU0sE,EAAK5rE,MAAQmqF,EAASnqF,MACrC4rE,EAAK5rE,MAAQmqF,EAASnqF,OAGtB0oE,GAAUmB,OAAOsgB,GAAYzhB,GAAUmB,OAAO+B,KAC9CA,EAAK1sE,OAASwpE,GAAUmB,OAAOsgB,GAAYve,EAAK5rE,OAWjD,IAAUoqF,GAmBAC,GAqBAC,GAsCAC,GA8BAC,GAqCAC,GA0BAC,GA0BAC,GA2BAC,GA8BAC,GAqCAC,GAsBAC,GA2EAC,GAyBAC,GAqBAC,GAuBAC,GAiHAC,GA2CAC,GA8BAC,GAmCAC,GA2BAC,GA0BAC,GA2BAC,GAwCAC,GAiCAC,GAyBAC,GA+BAC,GAwBAC,GAsBAC,GAkCAC,GAwBAC,GAqCAC,GAkBAC,GAwBAC,GAwBAC,GA4BAC,GAyBAC,GAoBAC,GAkBAC,GAoBAC,GAuBAC,GAwBAC,GAuCAC,GA2BAC,GAoBAC,GAyBAC,GAuBAC,GAmBAC,GA2BAC,GA4BAC,GAkBAC,GAkBAC,GAuBAC,GAqBAC,GA0BAC,GA2BAC,GAqBAC,GAmBAC,GAoBAC,GAsBAC,GAiBAC,GAkBAC,GAoBAC,GAmBAC,GA2BAC,GAsCAC,GAoCAC,GAiCAC,GAsBAC,GA8BAC,GA6BAC,GA2BAC,GA8BAC,GA4BAC,GAuBAC,GA1gDV,SAASC,GAAiBnjB,GAC7B,OAAQA,EAAKjB,UACT,KAAK,EACL,KAAK,GACL,KAAK,EACL,KAAK,EACL,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACD,OAAO,EAEX,QACI,OAAO,IA/iBnB,SAAiByf,GACG,EAAA/zE,OAAhB,SAAuB1F,GASnB,MARyB,CACrB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJvb,WAAY,KAPxB,CAAiByb,QAAU,KAmB3B,SAAiBC,GACG,EAAAh0E,OAAhB,SAAuB1F,GASnB,MARwB,CACpB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJvb,WAAY,KAPxB,CAAiB0b,QAAS,KAqB1B,SAAiBC,GACG,EAAAj0E,OAAhB,SACI24E,EACAC,EACAC,EACAC,GAEA,MAAMvjB,EAAe,CACjB5rE,MAAOgvF,EAAchvF,MACrBd,OAAQ8vF,EAAc9vF,OACtByrE,SAAU,GACV7pD,GAAIopE,KACJ+E,iBACAC,UACAC,aAaJ,OAVAF,EAAe5lD,OAASuiC,EACxBsjB,EAAQ7lD,OAASuiC,EAEjB,GAAYA,EAAMqjB,GAClB,GAAYrjB,EAAMsjB,GACdC,IACA,GAAYvjB,EAAMujB,GAClBA,EAAU9lD,OAASuiC,GAGhBA,GA3Bf,CAAiB0e,QAAM,KAsCvB,SAAiBC,GACG,EAAAl0E,OAAhB,SAAuB+4E,EAAmBH,EAAgCI,GACtE,MAAMzjB,EAAkB,CACpB5rE,MAAOovF,EAAWpvF,MAClBd,OAAQkwF,EAAWlwF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJ+E,iBACAI,cAQJ,OALAJ,EAAe5lD,OAASuiC,EACxByjB,EAAWhmD,OAASuiC,EAEpB,GAAYA,EAAMyjB,GAEXzjB,GAhBf,CAAiB2e,QAAS,KA8B1B,SAAiBC,GACG,EAAAn0E,OAAhB,SACIi5E,EACAC,EACAC,EACAC,GAEA,MAAM7jB,EAAgB,CAClB5rE,MAAOsvF,EAAStvF,MAChBd,OAAQowF,EAASpwF,OACjByrE,SAAU,GACV7pD,GAAIopE,KACJqF,mBACAC,qBACAC,YASJ,OANAF,EAAiBlmD,OAASuiC,EAC1B4jB,EAAmBnmD,OAASuiC,EAC5B6jB,EAASpmD,OAASuiC,EAElB,GAAYA,EAAM6jB,GAEX7jB,GAvBf,CAAiB4e,QAAO,KAqCxB,SAAiBC,GACG,EAAAp0E,OAAhB,SAAuBq5E,EAAmBH,EAAkCC,GACxE,MAAM5jB,EAAiC,CACnC5rE,MAAO0vF,EAAW1vF,MAClBd,OAAQwwF,EAAWxwF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJqF,mBACAC,sBASJ,OANAD,EAAiBlmD,OAASuiC,EAC1B4jB,EAAmBnmD,OAASuiC,EAE5B,GAAYA,EAAM2jB,GAClB,GAAY3jB,EAAM4jB,GAEX5jB,GAjBf,CAAiB6e,QAAwB,KA0BzC,SAAiBC,GACG,EAAAr0E,OAAhB,SAAuBs5E,EAAgBV,GACnC,MAAMrjB,EAAgC,CAClC5rE,MAAO2vF,EAAQ3vF,MACfd,OAAQywF,EAAQzwF,OAChByrE,SAAU,GACV7pD,GAAIopE,KACJ+E,kBAOJ,OAJAA,EAAe5lD,OAASuiC,EAExB,GAAYA,EAAMqjB,GAEXrjB,GAdf,CAAiB8e,QAAuB,KA0BxC,SAAiBC,GACG,EAAAt0E,OAAhB,SAAuBu5E,EAAiBC,GACpC,MAAMjkB,EAAgB,CAClB5rE,MAAO4vF,EAAS5vF,MAChBd,OAAQ0wF,EAAS1wF,OACjByrE,SAAU,GACV7pD,GAAIopE,KACJ2F,WACAC,cAAe,IAOnB,OAJAD,EAASxmD,OAASuiC,EAElB,GAAYA,EAAMikB,GAEXjkB,GAff,CAAiB+e,QAAO,KA2BxB,SAAiBC,GACG,EAAAv0E,OAAhB,SAAuB05E,EAAoBC,EAAwBC,GAC/D,MAAMrkB,EAAmB,CACrB5rE,MAAO+vF,EAAY/vF,MACnBd,OAAQ6wF,EAAY7wF,OACpByrE,SAAU,GACV7pD,GAAIopE,KACJ8F,cACAC,iBAOJ,OAJAD,EAAY3mD,OAASuiC,EAErB,GAAYA,EAAMokB,GAEXpkB,GAff,CAAiBgf,QAAU,KA8B3B,SAAiBC,GACG,EAAAx0E,OAAhB,SAAuB65E,EAAiB3/E,EAAgB4/E,GACpD,MAAMvkB,EAAqB,CACvB5rE,MAAOkwF,EAASlwF,MAChBd,OAAQgxF,EAAShxF,OACjByrE,SAAU,GACV7pD,GAAIopE,KACJkG,WAAY,GACZ7/E,OACAg3B,WAAY,GACZ4oD,SAQJ,OALA5/E,EAAK84B,OAASuiC,EACdukB,EAAM9mD,OAASuiC,EAEf,GAAYA,EAAMukB,GAEXvkB,GAlBf,CAAiBif,QAAY,KAqC7B,SAAiBC,GACG,EAAAz0E,OAAhB,SAAuBq5E,EAAmBW,GAStC,MAR4B,CACxBrwF,MAAO0vF,EAAW1vF,MAClBd,OAAQwwF,EAAWxwF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJ1nB,SAAU6tB,IAPtB,CAAiBvF,QAAa,KAsB9B,SAAiBC,GACG,EAAA10E,OAAhB,SAAuBi6E,EAAmB//E,EAAgB4/E,GACtD,MAAMvkB,EAAkB,CACpB5rE,MAAOswF,EAAWtwF,MAClBd,OAAQoxF,EAAWpxF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJkG,WAAY,GACZ7/E,OACA3M,UAAW,GACXusF,SAQJ,OALA5/E,EAAK84B,OAASuiC,EACdukB,EAAM9mD,OAASuiC,EAEf,GAAYA,EAAMukB,GAEXvkB,GAMK,EAAA2kB,yBAAhB,SAAyCH,GACrC,MAAMxkB,EAAkB,CACpB5rE,MAAOowF,EAAW,GAAGpwF,MACrBd,OAAQ,EACRyrE,SAAU,GACV7pD,GAAIopE,KACJkG,aACA7/E,KAAM,CACFvQ,MAAOowF,EAAW,GAAGpwF,MACrBd,OAAQ,EACR4hB,GAAI,EACJ6pD,SAAU,GACVzlD,MAAO,CACHhiB,KAAM,EACNlD,MAAO,EACPd,OAAQ,EACRsxF,SAAU,GACVhvF,MAAO,IAEXA,MAAO,IAEXoC,UAAW,GACXusF,MAAO,CACHnwF,MAAOowF,EAAW,GAAGpwF,MACrBd,OAAQ,EACR4hB,GAAI,EACJ6pD,SAAU,GACVgE,WAAY,KAYpB,OARAyhB,EAAW5mE,SAASinE,IAChBA,EAAUpnD,OAASuiC,EACnB,GAAYA,EAAM6kB,MAGtB7kB,EAAKr7D,KAAK84B,OAASuiC,EACnBA,EAAKukB,MAAM9mD,OAASuiC,EAEbA,GA/Df,CAAiBmf,QAAS,KA2E1B,SAAiBC,GACG,EAAA30E,OAAhB,SAAuBq6E,EAAkBP,GACrC,MAAMvkB,EAAiB,CACnB5rE,MAAO0wF,EAAU1wF,MACjBd,OAAQwxF,EAAUxxF,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJyG,UAAW,GACXR,SAOJ,OAJAA,EAAM9mD,OAASuiC,EAEf,GAAYA,EAAMukB,GAEXvkB,GAff,CAAiBof,QAAQ,KAyBzB,SAAiBC,GACG,EAAA50E,OAAhB,SAAuB4/C,GACnB,MAAM2V,EAAqB,CACvB5rE,MAAOi2D,EAAWj2D,MAClBd,OAAQ+2D,EAAW/2D,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAKJ,OAFAA,EAAW5sB,OAASuiC,EAEbA,GAZf,CAAiBqf,QAAY,KAqB7B,SAAiBC,GACG,EAAA70E,OAAhB,SAAuBu6E,EAAgB36B,GACnC,MAAM2V,EAAsB,CACxB5rE,MAAO4wF,EAAQ5wF,MACfd,OAAQ0xF,EAAQ1xF,OAChByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAOJ,OAJAA,EAAW5sB,OAASuiC,EAEpB,GAAYA,EAAM3V,GAEX2V,GAdf,CAAiBsf,QAAa,KAuB9B,SAAiBC,GACG,EAAA90E,OAAhB,SAAuBu6E,GASnB,MARgC,CAC5B5wF,MAAO4wF,EAAQ5wF,MACfd,OAAQ0xF,EAAQ1xF,OAChByrE,SAAU,GACV7pD,GAAIopE,KACJvb,WAAY,KAPxB,CAAiBwc,QAAiB,KAiHlC,SAAiBC,GACG,EAAA/0E,OAAhB,SACIw6E,EACAruB,EACA5H,EACAw1B,GAEA,MAAMxkB,EAAkB,CACpB5rE,MAAO6wF,EAAa7wF,MACpBd,OAAQ2xF,EAAa3xF,OACrByrE,SAAU,EACV7pD,GAAIopE,KACJ1nB,WACA5H,QACAw1B,cAkBJ,OAfIx1B,IACAA,EAAMvxB,OAASuiC,EACf,GAAYA,EAAMhR,IAGlBw1B,IACAA,EAAW5mE,SAASinE,IAChBA,EAAUpnD,OAASuiC,KAGnBwkB,EAAWlxF,OAAS,GACpB,GAAY0sE,EAAMwkB,EAAW,KAI9BxkB,GAhCf,CAAiBwf,QAAS,KA2C1B,SAAiBC,GACG,EAAAh1E,OAAhB,SAAuBy6E,EAAsB76B,EAA4B86B,G,MACrE,MAAMnlB,EAA2B,CAC7B5rE,MAAO8wF,EAAc9wF,MACrBd,OAAQ4xF,EAAc5xF,OACtByrE,SAAU,GACV7pD,GAAIopE,KACJ6G,WACAD,gBACA76B,cAQJ,OALAA,EAAW5sB,OAASuiC,EACpBA,EAAKolB,cAAgB,GAA6B,QAAxB,EAAA/6B,EAAW+6B,qBAAa,QAAI,GAEtD,GAAYplB,EAAM3V,GAEX2V,GAjBf,CAAiByf,QAAkB,KA8BnC,SAAiBC,GACG,EAAAj1E,OAAhB,SACIu0D,EACAqmB,EACAH,EACAC,G,QAEA,MAAMnlB,EAA4B,CAC9B5rE,MAAO4qE,EAAe5qE,MACtBd,OAAQ0rE,EAAe1rE,OACvByrE,SAAU,EACV7pD,GAAIopE,KACJtf,iBACAkmB,gBACAC,WACAE,mBAUJ,OAPArmB,EAAevhC,OAASuiC,EACxBqlB,EAAgB5nD,OAASuiC,EAEzBA,EAAKolB,cAAgB,EAAIhqF,KAAK4C,IAAgC,QAA5B,EAAAghE,EAAeomB,qBAAa,QAAI,EAAgC,QAA7B,EAAAC,EAAgBD,qBAAa,QAAI,GAEtG,GAAYplB,EAAMqlB,GAEXrlB,GAzBf,CAAiB0f,QAAmB,KAmCpC,SAAiBC,GACG,EAAAl1E,OAAhB,SAAuB9F,EAAgB0gF,GACnC,MAAMrlB,EAAiC,CACnC5rE,MAAOuQ,EAAKvQ,MACZd,OAAQqR,EAAKrR,OACbyrE,SAAU,EACV7pD,GAAIopE,KACJ35E,OACA0gF,mBAQJ,OALA1gF,EAAK84B,OAASuiC,EACdqlB,EAAgB5nD,OAASuiC,EAEzB,GAAYA,EAAMqlB,GAEXrlB,GAhBf,CAAiB2f,QAAwB,KA2BzC,SAAiBC,GACG,EAAAn1E,OAAhB,SAAuBu0D,EAAgCqmB,GACnD,MAAMrlB,EAAuB,CACzB5rE,MAAO4qE,EAAe5qE,MACtBd,OAAQ0rE,EAAe1rE,OACvByrE,SAAU,EACV7pD,GAAIopE,KACJtf,iBACAqmB,mBAQJ,OALArmB,EAAevhC,OAASuiC,EACxBqlB,EAAgB5nD,OAASuiC,EAEzB,GAAYA,EAAMqlB,GAEXrlB,GAhBf,CAAiB4f,QAAc,KA0B/B,SAAiBC,GACG,EAAAp1E,OAAhB,SAAuB20D,EAAiCkmB,GACpD,MAAMtlB,EAA2B,CAC7B5rE,MAAOgrE,EAAgBhrE,MACvBd,OAAQ8rE,EAAgB9rE,OACxByrE,SAAU,GACV7pD,GAAIopE,KACJlf,kBACAkmB,kBAQJ,OALAlmB,EAAgB3hC,OAASuiC,EACzBslB,EAAe7nD,OAASuiC,EAExB,GAAYA,EAAMslB,GAEXtlB,GAhBf,CAAiB6f,QAAkB,KA2BnC,SAAiBC,GACG,EAAAr1E,OAAhB,SACI86E,EACAC,EACAC,EACAC,GAEA,MAAM1lB,EAA+B,CACjC5rE,MAAOmxF,EAAenxF,MACtBd,OAAQiyF,EAAejyF,OACvByrE,SAAU,GACV7pD,GAAIopE,KACJkH,sBACAC,uBACAC,wBAUJ,OAPAD,EAAqB7nE,SAAS9S,IAC1BA,EAAE2yB,OAASuiC,KAEf0lB,EAAqBjoD,OAASuiC,EAE9B,GAAYA,EAAM0lB,GAEX1lB,GAxBf,CAAiB8f,QAAsB,KAwCvC,SAAiBC,GACG,EAAAt1E,OAAhB,SACIu0D,EACAqmB,EACAF,EACAQ,GAEA,MAAM3lB,EAAgC,CAClC5rE,MAAO4qE,EAAe5qE,MACtBd,OAAQ0rE,EAAe1rE,OACvByrE,SAAU,EACV7pD,GAAIopE,KACJtf,iBACAmmB,WACAE,kBACAM,kBASJ,OANA3mB,EAAevhC,OAASuiC,EACxBqlB,EAAgB5nD,OAASuiC,EACzB2lB,EAAeloD,OAASuiC,EAExB,GAAYA,EAAMqlB,GAEXrlB,GAxBf,CAAiB+f,QAAuB,KAiCxC,SAAiBC,GACG,EAAAv1E,OAAhB,SAAuBm7E,EAAmBv7B,GACtC,MAAM2V,EAAkB,CACpB5rE,MAAOwxF,EAAWxxF,MAClBd,OAAQsyF,EAAWtyF,OACnByrE,SAAU,EACV7pD,GAAIopE,KACJj0B,cAOJ,OAJAA,EAAW5sB,OAASuiC,EAEpB,GAAYA,EAAM3V,GAEX2V,GAdf,CAAiBggB,QAAS,KAyB1B,SAAiBC,GACG,EAAAx1E,OAAhB,SACIo7E,EACAxC,EACAyC,GAEA,MAAM9lB,EAAoB,CACtB5rE,MAAOyxF,EAAazxF,MACpBd,OAAQuyF,EAAavyF,OACrByrE,SAAU,GACV7pD,GAAIopE,KACJuH,eACAxC,iBACAyC,kBASJ,OANAD,EAAapoD,OAASuiC,EACtBqjB,EAAe5lD,OAASuiC,EACxB8lB,EAAeroD,OAASuiC,EAExB,GAAYA,EAAM8lB,GAEX9lB,GAtBf,CAAiBigB,QAAW,KA+B5B,SAAiBC,GACG,EAAAz1E,OAAhB,SAAuBs7E,EAAkB17B,GACrC,MAAM2V,EAAmB,CACrB5rE,MAAO2xF,EAAU3xF,MACjBd,OAAQyyF,EAAUzyF,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAOJ,OAJAA,EAAW5sB,OAASuiC,EAEpB,GAAYA,EAAM3V,GAEX2V,GAdf,CAAiBkgB,QAAU,KAwB3B,SAAiBC,GACG,EAAA11E,OAAhB,SAAuB1F,EAAkBihF,GAUrC,MATwB,CACpB5xF,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJtd,YAAa,GACbglB,qBARZ,CAAiB7F,QAAS,KAsB1B,SAAiBC,GACG,EAAA31E,OAAhB,SAAuBu0D,EAAgCinB,EAAyBhnB,G,MAC5E,MAAMe,EAAiB,CACnB5rE,MAAO4qE,EAAe5qE,MACtBd,OAAQ0rE,EAAe1rE,OACvByrE,SAAU,EACV7pD,GAAIopE,KACJtf,iBACAhnE,UAAWiuF,EACXhnB,iBAcJ,OAXAD,EAAevhC,OAASuiC,EAExBA,EAAKolB,cAAgB,GAAiC,QAA5B,EAAApmB,EAAeomB,qBAAa,QAAI,GAEtDa,EAAQ3yF,OAAS,IACjB2yF,EAAQroE,SAASroB,IACbA,EAAIkoC,OAASuiC,KAEjB,GAAYA,EAAMimB,EAAQA,EAAQ3yF,OAAS,KAGxC0sE,GAvBf,CAAiBogB,QAAQ,KAkCzB,SAAiBC,GACG,EAAA51E,OAAhB,SAAuB4/C,GACnB,MAAM2V,EAA8B,CAChC5rE,MAAOi2D,EAAWj2D,MAClBd,OAAQ+2D,EAAW/2D,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,aACA67B,WAAY,IAKhB,OAFA77B,EAAW5sB,OAASuiC,EAEbA,GAbf,CAAiBqgB,QAAqB,KAwBtC,SAAiBC,GACG,EAAA71E,OAAhB,SACIg1D,EACApkC,EACA4jC,EACAknB,G,MAEA,MAAMnmB,EAAkB,CACpB5rE,MAAOqrE,EAAerrE,MACtBd,OAAQmsE,EAAensE,OACvByrE,SAAU,GACV7pD,GAAIopE,KACJ7e,iBACApkC,QACA4jC,iBAYJ,OATAQ,EAAehiC,OAASuiC,EACxB3kC,EAAMzd,SAAS0C,IACXA,EAAKmd,OAASuiC,KAGlB,GAAYA,EAAMmmB,GAElBnmB,EAAKolB,cAAgB,GAAiC,QAA5B,EAAA3lB,EAAe2lB,qBAAa,QAAI,GAEnDplB,GA1Bf,CAAiBsgB,QAAS,KAqC1B,SAAiBC,GACG,EAAA91E,OAAhB,SAAuB1F,GAQnB,MAPwB,CACpB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,OANhB,CAAiBiC,QAAS,KAkB1B,SAAiBC,GACG,EAAA/1E,OAAhB,SAAuB27E,EAAmB/7B,GACtC,MAAM2V,EAAkB,CACpB5rE,MAAOgyF,EAAWhyF,MAClBd,OAAQ8yF,EAAW9yF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAQJ,OALIA,IACAA,EAAW5sB,OAASuiC,EACpB,GAAYA,EAAM3V,IAGf2V,GAff,CAAiBwgB,QAAS,KAwB1B,SAAiBC,GACG,EAAAh2E,OAAhB,SAAuB27E,EAAmB/7B,GACtC,MAAM2V,EAAsB,CACxB5rE,MAAOgyF,EAAWhyF,MAClBd,OAAQ8yF,EAAW9yF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAOJ,OAJAA,EAAW5sB,OAASuiC,EAEpB,GAAYA,EAAM3V,GAEX2V,GAdf,CAAiBygB,QAAa,KAwB9B,SAAiBC,GACG,EAAAj2E,OAAhB,SAAuBu0D,EAAgCW,G,MACnD,MAAMK,EAAyB,CAC3B5rE,MAAO4qE,EAAe5qE,MACtBd,OAAQ0rE,EAAe1rE,OACvByrE,SAAU,GACV7pD,GAAIopE,KACJtf,iBACAW,cAUJ,OAPAX,EAAevhC,OAASuiC,EACxBL,EAAWliC,OAASuiC,EAEpB,GAAYA,EAAML,GAElBK,EAAKolB,cAAgB,GAAiC,QAA5B,EAAApmB,EAAeomB,qBAAa,QAAI,GAEnDplB,GAlBf,CAAiB0gB,QAAgB,KA4BjC,SAAiBC,GACG,EAAAl2E,OAAhB,SAAuB47E,EAAoBh8B,GACvC,MAAM2V,EAAmB,CACrB5rE,MAAOiyF,EAAYjyF,MACnBd,OAAQ+yF,EAAY/yF,OACpByrE,SAAU,GACV7pD,GAAIopE,KACJ3iD,WAAY,GACZ0uB,cAOJ,OAJAA,EAAW5sB,OAASuiC,EAEpB,GAAYA,EAAM3V,GAEX2V,GAff,CAAiB2gB,QAAU,KAyB3B,SAAiBC,GACG,EAAAn2E,OAAhB,SAAuB67E,GAUnB,MATuB,CACnBlyF,MAAOkyF,EAAUlyF,MACjBd,OAAQgzF,EAAUhzF,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJhlE,MAAOgtE,EACP1wF,MAAO0wF,EAAU1wF,QAR7B,CAAiBgrF,QAAQ,KAoBzB,SAAiBC,GACG,EAAAp2E,OAAhB,SAAuB6O,GASnB,MAR2B,CACvBllB,MAAOklB,EAAMllB,MACbd,OAAQgmB,EAAMhmB,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJiI,UAAWjtE,EAAMktE,cAP7B,CAAiB3F,QAAY,KAkB7B,SAAiBC,GACG,EAAAr2E,OAAhB,SAAuB1F,GAQnB,MAP2B,CACvB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,OANhB,CAAiBwC,QAAY,KAoB7B,SAAiBC,GACG,EAAAt2E,OAAhB,SAAuB6O,GAWnB,MAVyB,CACrBllB,MAAOklB,EAAMllB,MACbd,OAAQgmB,EAAMhmB,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJ1oF,MAAO0jB,EAAM1jB,MACb4P,UAAW8T,EAAM9T,UACjB85D,YAAahmD,EAAMgmD,cAT/B,CAAiByhB,QAAU,KAuB3B,SAAiBC,GACG,EAAAv2E,OAAhB,SAAuB6O,EAAoBmtE,EAAwBC,GAW/D,MAVyB,CACrBtyF,MAAOklB,EAAMllB,MACbd,OAAQgmB,EAAMhmB,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJhlE,QACA1jB,MAAO6wF,EACPC,sBATZ,CAAiB1F,QAAU,KAwB3B,SAAiBC,GACG,EAAAx2E,OAAhB,SACI6O,EACAmtE,EACAC,EACA1lB,GAEA,MAAMhB,EAAyB,CAC3B5rE,MAAOklB,EAAMllB,MACbd,OAAQgmB,EAAMhmB,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJhlE,QACA1jB,MAAO6wF,EACPC,oBACA1lB,eAOJ,OAJAA,EAAYpjD,SAAS+oE,IACjBA,EAAKlpD,OAASuiC,KAGXA,GAtBf,CAAiBihB,QAAgB,KAuCjC,SAAiBC,GACG,EAAAz2E,OAAhB,SAAuB+0D,GACnB,MAAMQ,EAAuB,CACzB5rE,MAAOorE,EAAQ,GAAGprE,MAClBd,OAAQksE,EAAQ,GAAGlsE,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJ9e,WAUJ,OAPIA,EAAQlsE,OAAS,IACjBksE,EAAQ5hD,SAASljB,IACbA,EAAI+iC,OAASuiC,KAEjB,GAAYA,EAAMR,EAAQA,EAAQlsE,OAAS,KAGxC0sE,GAjBf,CAAiBkhB,QAAc,KA2B/B,SAAiBC,GACG,EAAA12E,OAAhB,SAAuB1F,GASnB,MAR6B,CACzB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJp9D,QAAS,KAPrB,CAAiBigE,QAAc,KAoB/B,SAAiBC,GACG,EAAA32E,OAAhB,SAAuBm8E,EAA+BxnB,GAClD,MAAMY,EAA+B,CACjC5rE,MAAOwyF,EAAcxyF,MACrBd,OAAQszF,EAActzF,OACtByrE,SAAU,GACV7pD,GAAIopE,KACJsI,gBACAxnB,mBAQJ,OALAwnB,EAAcnpD,OAASuiC,EACvBZ,EAAgB3hC,OAASuiC,EAEzB,GAAYA,EAAMZ,GAEXY,GAhBf,CAAiBohB,QAAsB,KAyBvC,SAAiBC,GACG,EAAA52E,OAAhB,SAAuBo8E,GACnB,MAAM7mB,EAAkC,CACpC5rE,MAAOyyF,EAAiBzyF,MACxBd,OAAQuzF,EAAiBvzF,OACzByrE,SAAU,GACV7pD,GAAIopE,KACJuI,oBAKJ,OAFAA,EAAiBppD,OAASuiC,EAEnBA,GAZf,CAAiBqhB,QAAyB,KAuB1C,SAAiBC,GACG,EAAA72E,OAAhB,SAAuB1F,GASnB,MARsB,CAClB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJp9D,QAAS,KAPrB,CAAiBogE,QAAO,KAmBxB,SAAiBC,GACG,EAAA92E,OAAhB,SAAuB1F,GASnB,MARuB,CACnB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJp9D,QAAS,KAPrB,CAAiBqgE,QAAQ,KA2BzB,SAAiBC,GACG,EAAA/2E,OAAhB,SACIq5E,EACA1kB,EACA0nB,GAEA,MAAM9mB,EAAqB,CACvB5rE,MAAO0vF,EAAaA,EAAW1vF,MAAQgrE,EAAgBhrE,MACvDd,OAAQwwF,EAAaA,EAAWxwF,OAAS8rE,EAAgB9rE,OACzDyrE,SAAU,EACV7pD,GAAIopE,KACJlf,kBACAF,iBAAkB4nB,GAOtB,OAJA1nB,EAAgB3hC,OAASuiC,EAEzB,GAAYA,EAAMZ,GAEXY,GAnBf,CAAiBwhB,QAAY,KA4B7B,SAAiBC,GACG,EAAAh3E,OAAhB,SAAuBs8E,GASnB,MARsB,CAClB3yF,MAAO2yF,EAAS3yF,MAChBd,OAAQyzF,EAASzzF,OACjByrE,SAAU,GACV7pD,GAAIopE,KACJtd,YAAa,KAPzB,CAAiBygB,QAAO,KAkBxB,SAAiBC,GACG,EAAAj3E,OAAhB,SAAuBu8E,GAQnB,MAPuB,CACnB5yF,MAAO4yF,EAAU5yF,MACjBd,OAAQ0zF,EAAU1zF,OAClByrE,SAAU,GACV7pD,GAAIopE,OANhB,CAAiBoD,QAAQ,KAkBzB,SAAiBC,GACG,EAAAl3E,OAAhB,SAAuBu8E,GASnB,MARyB,CACrB5yF,MAAO4yF,EAAU5yF,MACjBd,OAAQ0zF,EAAU1zF,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJ/gF,KAAM,KAPlB,CAAiBokF,QAAU,KAuB3B,SAAiBC,GACG,EAAAn3E,OAAhB,SAAuB1F,GAUnB,MAT6B,CACzB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJvW,YAAa,EACbC,UAAW,KARvB,CAAiB4Z,QAAc,KAqB/B,SAAiBC,GACG,EAAAp3E,OAAhB,SAAuBL,GACnB,MAAM41D,EAAqB,CACvB5rE,MAAOgW,EAAOhW,MACdd,OAAQ8W,EAAO9W,OACfyrE,SAAU,GACV7pD,GAAIopE,KACJl0E,UAKJ,OAFAA,EAAOqzB,OAASuiC,EAETA,GAZf,CAAiB6hB,QAAY,KA0B7B,SAAiBC,GACG,EAAAr3E,OAAhB,SAAuBw8E,EAAkB78E,GACrC,MAAM41D,EAAuB,CACzB5rE,MAAO6yF,EAAU7yF,MACjBd,OAAQ2zF,EAAU3zF,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJl0E,SACAw5D,QAAS,GACTU,kBAAkB,EAClB4iB,YAAY,GAOhB,OAJA98E,EAAOqzB,OAASuiC,EAEhB,GAAYA,EAAM51D,GAEX41D,GAjBf,CAAiB8hB,QAAc,KA2B/B,SAAiBC,GACG,EAAAt3E,OAAhB,SAAuB9F,GACnB,MAAMq7D,EAAyB,CAC3B5rE,MAAOuQ,EAAKvQ,MACZd,OAAQqR,EAAKrR,OACbyrE,SAAU,GACV7pD,GAAIopE,KACJ35E,QAKJ,OAFAA,EAAK84B,OAASuiC,EAEPA,GAZf,CAAiB+hB,QAAgB,KAqBjC,SAAiBC,GACG,EAAAv3E,OAAhB,SAAuB1F,GASnB,MARyB,CACrB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJ6I,SAAU,KAPtB,CAAiBnF,QAAU,KAmB3B,SAAiBC,GACG,EAAAx3E,OAAhB,SAAuB1F,GASnB,MAR2B,CACvB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJ6I,SAAU,KAPtB,CAAiBlF,QAAY,KAoB7B,SAAiBC,GACG,EAAAz3E,OAAhB,SAAuB28E,EAAoB/D,GACvC,MAAMrjB,EAAmB,CACrB5rE,MAAOgzF,EAAYhzF,MACnBd,OAAQ8zF,EAAY9zF,OACpByrE,SAAU,EACV7pD,GAAIopE,KACJ+E,kBAOJ,OAJAA,EAAe5lD,OAASuiC,EAExB,GAAYA,EAAMqjB,GAEXrjB,GAdf,CAAiBkiB,QAAU,KAsB3B,SAAiBC,GACG,EAAA13E,OAAhB,SAAuB1F,GAQnB,MAPwB,CACpB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,EACV7pD,GAAIopE,OANhB,CAAiB6D,QAAS,KAiB1B,SAAiBC,GACG,EAAA33E,OAAhB,SAAuB1F,GAQnB,MAP2B,CACvB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,OANhB,CAAiB8D,QAAY,KAkB7B,SAAiBC,GACG,EAAA53E,OAAhB,SAAuB1F,GAQnB,MAPyB,CACrB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,OANhB,CAAiB+D,QAAU,KAoB3B,SAAiBC,GACG,EAAA73E,OAAhB,SAAuB1F,GAQnB,MAPwB,CACpB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,OANhB,CAAiBgE,QAAS,KAmB1B,SAAiBC,GACG,EAAA93E,OAAhB,SAAuB48E,EAAuBC,GAC1C,MAAMtnB,EAAkB,CACpB5rE,MAAOizF,EAAWjzF,MAClBd,OAAQ+zF,EAAW/zF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJgJ,oBACAC,MAAO,IAOX,OAJAD,EAAkB7pD,OAASuiC,EAE3B,GAAYA,EAAMsnB,GAEXtnB,GAff,CAAiBuiB,QAAS,KA2B1B,SAAiBC,GACG,EAAA/3E,OAAhB,SACI+8E,EACAl5D,EACAm5D,EACAC,EACAnD,GAEA,MAAMvkB,EAAiB,CACnB5rE,MAAOozF,EAAUpzF,MACjBd,OAAQk0F,EAAUl0F,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJhwD,UACAm5D,gBACAC,kBACAnD,SAYJ,OATA,GAAYvkB,EAAMukB,GAElBj2D,EAAQmP,OAASuiC,EACjBukB,EAAM9mD,OAASuiC,EAEX0nB,IACAA,EAAgBjqD,OAASuiC,GAGtBA,GA5Bf,CAAiBwiB,QAAQ,KAsCzB,SAAiBC,GACG,EAAAh4E,OAAhB,SAAuBk9E,EAAuBzmE,GAC1C,MAAM0mE,EAAiB1mE,EAAQ2mE,WAC1B91B,GAC+B,IAA5BA,EAAM+1B,WAAWx0F,QACgB,KAAjCy+D,EAAM+1B,WAAW,GAAG/oB,UACpBhN,EAAM+1B,WAAW,GAAGC,SAGtB/nB,EAA4B,CAC9B5rE,MAAOuzF,EAAWvzF,MAClBd,OAAQq0F,EAAWr0F,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJp9D,UACA0mE,eAAgBA,GAAkB,EAAIA,OAAiBxwF,GAW3D,OARI8pB,EAAQ5tB,OAAS,GACjB,GAAY0sE,EAAM9+C,EAAQA,EAAQ5tB,OAAS,IAG/C4tB,EAAQtD,SAASm0C,IACbA,EAAMt0B,OAASuiC,KAGZA,GA1Bf,CAAiByiB,QAAmB,KAoCpC,SAAiBC,GACG,EAAAj4E,OAAhB,SAAuBq9E,EAA+B3pF,GAClD,MAAM6hE,EAAsB,CACxB5rE,MAAO0zF,EAAW,GAAG1zF,MACrBd,OAAQw0F,EAAW,GAAGx0F,OACtByrE,SAAU,GACV7pD,GAAIopE,KACJwJ,aACA3pF,UAgBJ,OAbI2pF,EAAWx0F,OAAS,GACpB,GAAY0sE,EAAM8nB,EAAWA,EAAWx0F,OAAS,IAGrDw0F,EAAWlqE,SAAS0Q,IAChBA,EAAQmP,OAASuiC,KAGjB7hE,IACA,GAAY6hE,EAAM7hE,GAClBA,EAAOs/B,OAASuiC,GAGbA,GAxBf,CAAiB0iB,QAAa,KAiC9B,SAAiBC,GACG,EAAAl4E,OAAhB,SAAuB4/C,GACnB,MAAM2V,EAA2B,CAC7B5rE,MAAOi2D,EAAWj2D,MAClBd,OAAQ+2D,EAAW/2D,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAKJ,OAFAA,EAAW5sB,OAASuiC,EAEbA,GAZf,CAAiB2iB,QAAkB,KAsBnC,SAAiBC,GACG,EAAAn4E,OAAhB,SAAuBu9E,EAAwCt4E,GAC3D,MAAMswD,EAAyB,CAC3B5rE,MAAO4zF,EAAU5zF,MACjBd,OAAQ00F,EAAU10F,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJ0J,YACAhwF,UAAW0X,GAYf,OATAs4E,EAAUvqD,OAASuiC,EACnBtwD,EAAKkO,SAASroB,IACVA,EAAIkoC,OAASuiC,KAGbtwD,EAAKpc,OAAS,GACd,GAAY0sE,EAAMtwD,EAAKA,EAAKpc,OAAS,IAGlC0sE,GApBf,CAAiB4iB,QAAgB,KA8BjC,SAAiBC,GACG,EAAAp4E,OAAhB,SAAuB6jB,EAAwB3pB,GAC3C,MAAMq7D,EAAiC,CACnC5rE,MAAOk6B,EAAQl6B,MACfd,OAAQg7B,EAAQh7B,OAChByrE,SAAU,GACV7pD,GAAIopE,KACJhwD,UACA3pB,QAUJ,OAPA2pB,EAAQmP,OAASuiC,EAEbr7D,IACA,GAAYq7D,EAAMr7D,GAClBA,EAAK84B,OAASuiC,GAGXA,GAlBf,CAAiB6iB,QAAwB,KA6BzC,SAAiBC,GACG,EAAAr4E,OAAhB,SAAuBtM,EAAkB4nF,GACrC,MAAM/lB,EAA2B,CAC7B5rE,MAAO+J,EAAO/J,MACdd,OAAQ6K,EAAO7K,OACfyrE,SAAU,GACV7pD,GAAIopE,KACJngF,SACA4pF,YAAsB3wF,IAAd2uF,EACRkC,WAA6B,MAAjB9pF,EAAOvI,OASvB,OANAuI,EAAOs/B,OAASuiC,EAEZ+lB,GACA,GAAY/lB,EAAM+lB,GAGf/lB,GAlBf,CAAiB8iB,QAAkB,KA2BnC,SAAiBC,GACG,EAAAt4E,OAAhB,SAAuBq5E,EAAuB5iE,GAC1C,MAAM8+C,EAA2B,CAC7B5rE,MAAO0vF,EAAW1vF,MAClBd,OAAQwwF,EAAWxwF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJp9D,WAWJ,OARIA,EAAQ5tB,OAAS,GACjB,GAAY0sE,EAAM9+C,EAAQA,EAAQ5tB,OAAS,IAG/C4tB,EAAQtD,SAASm0C,IACbA,EAAMt0B,OAASuiC,KAGZA,GAlBf,CAAiB+iB,QAAkB,KA8BnC,SAAiBC,GACG,EAAAv4E,OAAhB,SACIy9E,EACAC,GAEA,MAAMnoB,EAAmC,CACrC5rE,MAAO8zF,EAAW9zF,MAClBd,OAAQ40F,EAAW50F,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJ4J,aACAC,gBAQJ,OALAD,EAAWzqD,OAASuiC,EACpBmoB,EAAa1qD,OAASuiC,EAEtB,GAAYA,EAAMmoB,GAEXnoB,GAnBf,CAAiBgjB,QAA0B,KA4B3C,SAAiBC,GACG,EAAAx4E,OAAhB,SAAuB29E,EAA0BjqF,GAC7C,MAAM6hE,EAAsC,CACxC5rE,MAAOg0F,EAAch0F,MACrBd,OAAQ80F,EAAc90F,OACtByrE,SAAU,GACV7pD,GAAIopE,KACJngF,UAOJ,OAJAA,EAAOs/B,OAASuiC,EAEhB,GAAYA,EAAM7hE,GAEX6hE,GAdf,CAAiBijB,QAA6B,KAuB9C,SAAiBC,GACG,EAAAz4E,OAAhB,SAAuB4/C,GACnB,MAAM2V,EAAyB,CAC3B5rE,MAAOi2D,EAAWj2D,MAClBd,OAAQ+2D,EAAW/2D,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAKJ,OAFAA,EAAW5sB,OAASuiC,EAEbA,GAZf,CAAiBkjB,QAAgB,KC/lE1B,MAAM,GACTmF,KAAKroB,GACD,MAAMsoB,EAAiBhwF,KAAKiwF,UAAUvoB,GAClCsoB,EAAeh1F,OAAS,GACxBgF,KAAKkwF,aAAaF,GAI1BE,aAAaC,GACTA,EAAM7qE,SAASoiD,IACPA,GACA1nE,KAAK+vF,KAAKroB,MAUtBuoB,UAAUvoB,G,MACN,OAAQA,EAAKjB,UACT,KAAK,EACD,GAAIzmE,KAAKowF,WAAW1oB,GAChB,MAAO,CAACA,EAAKhR,SAA0B,QAAf,EAAAgR,EAAKwkB,kBAAU,QAAI,IAE/C,MAEJ,KAAK,EACD,GAAIlsF,KAAKqwF,cAAc3oB,GACnB,MAAO,CAACA,EAAKr7D,KAAMq7D,EAAKZ,iBAE5B,MAEJ,KAAK,EACD,GAAI9mE,KAAKswF,YAAY5oB,GACjB,MAAO,CAACA,EAAKqjB,eAAgBrjB,EAAK6oB,qBAEtC,MAEJ,KAAK,EACD,GAAIvwF,KAAKwwF,gBAAgB9oB,GACrB,MAAO,CAACA,EAAKhB,eAAgBgB,EAAKqlB,gBAAiBrlB,EAAK+oB,uBAE5D,MAEJ,KAAK,EACD,GAAIzwF,KAAK0wF,0BAA0BhpB,GAC/B,MAAO,CAACA,EAAKr7D,KAAMq7D,EAAKqlB,iBAE5B,MAEJ,KAAK,EACD,GAAI/sF,KAAK2wF,yBAAyBjpB,GAC9B,MAAO,CAACA,EAAKhB,eAAgBgB,EAAKqlB,iBAEtC,MAEJ,KAAK,EACD,GAAI/sF,KAAK4wF,WAAWlpB,GAChB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,EACD,GAAI/xD,KAAK6wF,qBAAqBnpB,GAC1B,MAAO,CAACA,EAAKhB,eAAgBgB,EAAKqlB,iBAEtC,MAEJ,KAAK,EACD,GAAI/sF,KAAK8wF,WAAWppB,GAChB,MAAO,GAEX,MAEJ,KAAK,EACD,GAAI1nE,KAAK+wF,UAAUrpB,GACf,MAAO,CAACA,EAAKhB,kBAAmBgB,EAAKhoE,WAEzC,MAEJ,KAAK,GACD,GAAIM,KAAKgxF,WAAWtpB,GAChB,MAAO,IAAIA,EAAKwkB,WAAYxkB,EAAKr7D,QAASq7D,EAAKhoE,UAAWgoE,EAAKukB,OAEnE,MAEJ,KAAK,GACD,GAAIjsF,KAAKixF,cAAcvpB,GACnB,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAKkxF,cAAcxpB,GACnB,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAKmxF,eAAezpB,GACpB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAKoxF,SAAS1pB,GACd,OAAOA,EAAKgB,YAEhB,MAEJ,KAAK,GACD,GAAI1oE,KAAKqxF,gBAAgB3pB,GACrB,OAAOA,EAAK9+C,QAEhB,MAEJ,KAAK,GACD,GAAI5oB,KAAKsxF,2BAA2B5pB,GAChC,MAAO,CAACA,EAAK6mB,kBAEjB,MAEJ,KAAK,GACD,GAAIvuF,KAAKuxF,wBAAwB7pB,GAC7B,MAAO,CAACA,EAAK4mB,cAAe5mB,EAAKZ,iBAErC,MAEJ,KAAK,GACD,GAAI9mE,KAAKwxF,cAAc9pB,GACnB,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAKyxF,QAAQ/pB,GACb,MAAO,CAACA,EAAKqjB,eAAgBrjB,EAAKsjB,QAAStjB,EAAKujB,WAEpD,MAEJ,KAAK,GACD,GAAIjrF,KAAK0xF,YAAYhqB,GACjB,OAAOA,EAAKziE,KAEhB,MAEJ,KAAK,GACD,GAAIjF,KAAK2xF,cAAcjqB,GACnB,MAAO,CAACA,EAAK51D,OAAQ41D,EAAKyE,OAE9B,MAEJ,KAAK,GACD,GAAInsE,KAAK4xF,gBAAgBlqB,GACrB,MAAO,CAACA,EAAK51D,UAAW41D,EAAK4D,SAEjC,MAEJ,KAAK,GACD,GAAItrE,KAAK6xF,kBAAkBnqB,GACvB,MAAO,CAACA,EAAKr7D,KAAMq7D,EAAKyE,OAE5B,MAEJ,KAAK,GACD,GAAInsE,KAAK8xF,WAAWpqB,GAChB,MAAO,CAACA,EAAKP,kBAAmBO,EAAK3kC,OAEzC,MAEJ,KAAK,GACD,GAAI/iC,KAAK+xF,YAAYrqB,GACjB,MAAO,CAACA,EAAKsqB,eAAgBtqB,EAAKr7D,KAAMq7D,EAAKokB,aAEjD,MAEJ,KAAK,GACD,GAAI9rF,KAAKiyF,SAASvqB,GACd,MAAO,CAACA,EAAK2jB,iBAAkB3jB,EAAK4jB,mBAAoB5jB,EAAK6jB,SAAU7jB,EAAKujB,WAEhF,MAEJ,KAAK,GACD,GAAIjrF,KAAKkyF,kBAAkBxqB,GACvB,OAAOA,EAAKgB,YAEhB,MAEJ,KAAK,GACD,GAAI1oE,KAAKmyF,cAAczqB,GACnB,MAAO,IACAA,EAAKwkB,WACRxkB,EAAKr7D,QACFq7D,EAAKrkC,WACRqkC,EAAK0lB,qBACL1lB,EAAK0qB,0BACL1qB,EAAKukB,OAGb,MAEJ,KAAK,GACD,GAAIjsF,KAAKqyF,YAAY3qB,GACjB,OAAOA,EAAKmnB,SAEhB,MAEJ,KAAK,GACD,GAAI7uF,KAAKsyF,YAAY5qB,GACjB,MAAO,IAAIA,EAAKrkC,WAAYqkC,EAAK3V,YAErC,MAEJ,KAAK,GACD,GAAI/xD,KAAKuyF,UAAU7qB,GACf,OAAOA,EAAK9+C,QAEhB,MAEJ,KAAK,GACD,GAAI5oB,KAAKwyF,uBAAuB9qB,GAC5B,MAAO,CAACA,EAAK3V,cAAe2V,EAAKkmB,YAErC,MAEJ,KAAK,GACD,GAAI5tF,KAAKyyF,0BAA0B/qB,GAC/B,MAAO,CAACA,EAAK2jB,iBAAkB3jB,EAAK4jB,oBAExC,MAEJ,KAAK,GACD,GAAItrF,KAAK0yF,yBAAyBhrB,GAC9B,MAAO,CAACA,EAAKqjB,gBAEjB,MAEJ,KAAK,GACD,GAAI/qF,KAAK2yF,kBAAkBjrB,GACvB,MAAO,CAACA,EAAKhB,eAAgBgB,EAAKL,YAEtC,MAEJ,KAAK,GACD,GAAIrnE,KAAK4yF,YAAYlrB,GACjB,MAAO,IAAIA,EAAK+C,YAEpB,MAEJ,KAAK,GACD,GAAIzqE,KAAK6yF,gBAAgBnrB,GACrB,OAAOA,EAAKgI,UAEhB,MAEJ,KAAK,GACD,GAAI1vE,KAAK8yF,UAAUprB,GACf,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAK+yF,cAAcrrB,GACnB,OAAOA,EAAKmnB,SAEhB,MAEJ,KAAK,GACD,GAAI7uF,KAAKgzF,YAAYtrB,GACjB,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAKizF,eAAevrB,GACpB,MAAO,CAACA,EAAKr7D,KAAMq7D,EAAKslB,eAAgBtlB,EAAK+oB,sBAAuB/oB,EAAKwrB,cAE7E,MAEJ,KAAK,GACD,GAAIlzF,KAAKmzF,UAAUzrB,GACf,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAKozF,WAAW1rB,GAChB,MAAO,CAACA,EAAKsqB,eAAgBtqB,EAAKZ,gBAAiBY,EAAK2rB,qBAE5D,MAEJ,KAAK,GACD,GAAIrzF,KAAKszF,YAAY5rB,GACjB,MAAO,CAACA,EAAK6rB,kBAEjB,MAEJ,KAAK,GACD,GAAIvzF,KAAKwzF,SAAS9rB,GACd,OAAOA,EAAK9+C,QAEhB,MAEJ,KAAK,GACD,GAAI5oB,KAAKyzF,WAAW/rB,GAChB,MAAO,CAACA,EAAKgsB,WAAYhsB,EAAKisB,SAAUjsB,EAAKksB,WAEjD,MAEJ,KAAK,GACD,GAAI5zF,KAAK6zF,mBAAmBnsB,GACxB,OAAOA,EAAK+C,WAEhB,MAEJ,KAAK,GACD,GAAIzqE,KAAK8zF,gBAAgBpsB,GACrB,MAAO,CAACA,EAAKslB,kBAAmBtlB,EAAKR,SAEzC,MAEJ,KAAK,GACD,GAAIlnE,KAAK+zF,YAAYrsB,GACjB,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAKg0F,WAAWtsB,GAChB,MAAO,IAAIA,EAAK+C,YAEpB,MAEJ,KAAK,GACD,GAAIzqE,KAAKi0F,aAAavsB,GAClB,MAAO,CAACA,EAAK6lB,aAAc7lB,EAAKqjB,eAAgBrjB,EAAK8lB,gBAEzD,MAEJ,KAAK,GACD,GAAIxtF,KAAKk0F,WAAWxsB,GAChB,OAAOA,EAAKgB,YAEhB,MAEJ,KAAK,GACD,GAAI1oE,KAAKm0F,SAASzsB,GACd,MAAO,CAACA,EAAKikB,YAAajkB,EAAKkkB,cAAelkB,EAAKujB,UAAWvjB,EAAK0sB,cAEvE,MAEJ,KAAK,GACD,GAAIp0F,KAAKq0F,oBAAoB3sB,GACzB,MAAO,CAACA,EAAKZ,gBAAiBY,EAAKslB,gBAEvC,MAEJ,KAAK,GACD,GAAIhtF,KAAKs0F,oBAAoB5sB,GACzB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAKu0F,YAAY7sB,GACjB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAKw0F,WAAW9sB,GAChB,MAAO,CAACA,EAAKqjB,eAAgBrjB,EAAKyjB,WAAYzjB,EAAKujB,WAEvD,MAEJ,KAAK,GACD,GAAIjrF,KAAKy0F,UAAU/sB,GACf,MAAO,IAAIA,EAAK+kB,UAAW/kB,EAAKukB,OAEpC,MAEJ,KAAK,GACD,GAAIjsF,KAAK00F,cAAchtB,GACnB,MAAO,CAACA,EAAK3V,WAAY2V,EAAK7hE,QAElC,MAEJ,KAAK,GACD,GAAI7F,KAAK20F,WAAWjtB,GAChB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAK40F,eAAeltB,GACpB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAK60F,wBAAwBntB,GAC7B,MAAO,IAAIA,EAAKylB,qBAAsBzlB,EAAK0lB,sBAE/C,MAEJ,KAAK,GACD,GAAIptF,KAAK80F,WAAWptB,GAChB,MAAO,CAACA,EAAKsnB,qBAAsBtnB,EAAKunB,OAE5C,MAEJ,KAAK,GACD,GAAIjvF,KAAK+0F,UAAUrtB,GACf,MAAO,CAACA,EAAK1xC,QAAS0xC,EAAK0nB,gBAAiB1nB,EAAKukB,OAErD,MAEJ,KAAK,GACD,GAAIjsF,KAAKg1F,qBAAqBttB,GAC1B,MAAO,IAAIA,EAAK9+C,SAEpB,MAEJ,KAAK,GACD,GAAI5oB,KAAKi1F,eAAevtB,GACpB,MAAO,IAAIA,EAAK8nB,WAAY9nB,EAAK7hE,QAErC,MAEJ,KAAK,GACD,GAAI7F,KAAKk1F,oBAAoBxtB,GACzB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAKm1F,kBAAkBztB,GACvB,MAAO,CAACA,EAAKgoB,aAAchoB,EAAKhoE,WAEpC,MAEJ,KAAK,GACD,GAAIM,KAAKo1F,oBAAoB1tB,GACzB,MAAO,CAACA,EAAK7hE,QAEjB,MAEJ,KAAK,GACD,GAAI7F,KAAKq1F,oBAAoB3tB,GACzB,MAAO,IAAIA,EAAK9+C,SAEpB,MAEJ,KAAK,GACD,GAAI5oB,KAAKs1F,4BAA4B5tB,GACjC,MAAO,CAACA,EAAKkoB,WAAYloB,EAAKmoB,cAElC,MAEJ,KAAK,GACD,GAAI7vF,KAAKu1F,+BAA+B7tB,GACpC,MAAO,CAACA,EAAK7hE,QAEjB,MAEJ,KAAK,GACD,GAAI7F,KAAKw1F,kBAAkB9tB,GACvB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAKy1F,0BAA0B/tB,GAC/B,MAAO,CAACA,EAAKr7D,KAAMq7D,EAAK1xC,SAE5B,MAEJ,QACIk8B,EAAK,wBAIb,MAAO,GAIXm+B,cAAc3oB,GACV,OAAO,EAGX4oB,YAAY5oB,GACR,OAAO,EAGX8oB,gBAAgB9oB,GACZ,OAAO,EAGXgpB,0BAA0BhpB,GACtB,OAAO,EAGXipB,yBAAyBjpB,GACrB,OAAO,EAGXkpB,WAAWlpB,GACP,OAAO,EAGXmpB,qBAAqBnpB,GACjB,OAAO,EAGXopB,WAAWppB,GACP,OAAO,EAGXqpB,UAAUrpB,GACN,OAAO,EAGXqtB,UAAUrtB,GACN,OAAO,EAGXspB,WAAWtpB,GACP,OAAO,EAGXusB,aAAavsB,GACT,OAAO,EAGXwpB,cAAcxpB,GACV,OAAO,EAGXupB,cAAcvpB,GACV,OAAO,EAGXypB,eAAezpB,GACX,OAAO,EAGX0pB,SAAS1pB,GACL,OAAO,EAGX2pB,gBAAgB3pB,GACZ,OAAO,EAGX6pB,wBAAwB7pB,GACpB,OAAO,EAGX4pB,2BAA2B5pB,GACvB,OAAO,EAGX0oB,WAAW1oB,GACP,OAAO,EAGX8pB,cAAc9pB,GACV,OAAO,EAGX+pB,QAAQ/pB,GACJ,OAAO,EAGXgqB,YAAYhqB,GACR,OAAO,EAGXiqB,cAAcjqB,GACV,OAAO,EAGXkqB,gBAAgBlqB,GACZ,OAAO,EAGXmqB,kBAAkBnqB,GACd,OAAO,EAGXoqB,WAAWpqB,GACP,OAAO,EAGXqqB,YAAYrqB,GACR,OAAO,EAGXuqB,SAASvqB,GACL,OAAO,EAGXwqB,kBAAkBxqB,GACd,OAAO,EAGXyqB,cAAczqB,GACV,OAAO,EAGXmtB,wBAAwBntB,GACpB,OAAO,EAGX2qB,YAAY3qB,GACR,OAAO,EAGX4qB,YAAY5qB,GACR,OAAO,EAGX6qB,UAAU7qB,GACN,OAAO,EAGX8qB,uBAAuB9qB,GACnB,OAAO,EAGX+qB,0BAA0B/qB,GACtB,OAAO,EAGXgrB,yBAAyBhrB,GACrB,OAAO,EAGXotB,WAAWptB,GACP,OAAO,EAGXirB,kBAAkBjrB,GACd,OAAO,EAGXkrB,YAAYlrB,GACR,OAAO,EAGXmrB,gBAAgBnrB,GACZ,OAAO,EAGXorB,UAAUprB,GACN,OAAO,EAGXqrB,cAAcrrB,GACV,OAAO,EAGXsrB,YAAYtrB,GACR,OAAO,EAGXurB,eAAevrB,GACX,OAAO,EAGXyrB,UAAUzrB,GACN,OAAO,EAGX0tB,oBAAoB1tB,GAChB,OAAO,EAGXytB,kBAAkBztB,GACd,OAAO,EAGX+tB,0BAA0B/tB,GACtB,OAAO,EAGXutB,eAAevtB,GACX,OAAO,EAGXwtB,oBAAoBxtB,GAChB,OAAO,EAGX6tB,+BAA+B7tB,GAC3B,OAAO,EAGXstB,qBAAqBttB,GACjB,OAAO,EAGX8tB,kBAAkB9tB,GACd,OAAO,EAGX4tB,4BAA4B5tB,GACxB,OAAO,EAGX2tB,oBAAoB3tB,GAChB,OAAO,EAGX0rB,WAAW1rB,GACP,OAAO,EAGX4rB,YAAY5rB,GACR,OAAO,EAGX8rB,SAAS9rB,GACL,OAAO,EAGX+rB,WAAW/rB,GACP,OAAO,EAGXmsB,mBAAmBnsB,GACf,OAAO,EAGXqsB,YAAYrsB,GACR,OAAO,EAGXosB,gBAAgBpsB,GACZ,OAAO,EAGXssB,WAAWtsB,GACP,OAAO,EAGXwsB,WAAWxsB,GACP,OAAO,EAGXysB,SAASzsB,GACL,OAAO,EAGX2sB,oBAAoB3sB,GAChB,OAAO,EAGX4sB,oBAAoB5sB,GAChB,OAAO,EAGX6sB,YAAY7sB,GACR,OAAO,EAGX8sB,WAAW9sB,GACP,OAAO,EAGX+sB,UAAU/sB,GACN,OAAO,EAGXgtB,cAAchtB,GACV,OAAO,EAGXitB,WAAWjtB,GACP,OAAO,EAGXktB,eAAeltB,GACX,OAAO,GCvzBR,SAASguB,GAAahuB,GACzB,IAAIiuB,EAAQ,EACR1sB,EAAiCvB,EAErC,KAAOuB,GACH0sB,IACA1sB,EAAUA,EAAQ9jC,OAGtB,OAAOwwD,EAkBJ,SAASC,GAAiBluB,EAAiBhmE,GAC9C,GAAIA,EAASgmE,EAAK5rE,OAAS4F,EAAS8iE,GAAUmB,OAAO+B,GACjD,OAGJ,MAIM1jC,GAJkB,IAAI,IAIKisD,UAAUvoB,GAC3C,IAAK,MAAMhR,KAAS1yB,EAChB,GAAI0yB,EAAO,CACP,MAAMm/B,EAAkBD,GAAiBl/B,EAAOh1D,GAChD,GAAIm0F,EACA,OAAOA,EAKnB,OAAOnuB,EAGJ,SAASouB,GAAiBC,EAAsB/qB,EAAoB0kB,GACvE,MAAMhgB,EAAsB,CAACggB,GAE7B,IAAIzmB,EAAiC8sB,EAGrC,KAAO9sB,GACHA,EAAU+sB,GAAkB/sB,GACxBA,GACAyG,EAAUr0E,KAAK4tE,EAAQ58D,KAAK/O,OAMpC,OAFAoyE,EAAUr0E,KAAK2vE,GAER0E,EAAUumB,UAAUz6F,KAAK,KAO7B,SAAS06F,GAAgBxuB,GAC5B,OAAOA,EAAK5rE,MAGT,SAASq6F,GAAczuB,EAAoBwB,GAC9C,IAAIktB,EAAS,GAUb,OAT8B,IAA1B1uB,EAAKd,iBACLwvB,EAAS,IACwB,IAA1B1uB,EAAKd,mBACZwvB,EAAS,MAET1uB,EAAKr7D,OACL+pF,GAAU1uB,EAAKr7D,KAAK/O,MAAQ,KAEhC84F,GAAUC,GAAgB3uB,EAAKZ,gBAAiBoC,GACzCktB,EAGJ,SAASC,GAAgB3uB,EAAsBwB,EAAQ,GAC1D,OAAQxB,EAAKjB,UACT,KAAK,GACD,OAAOiB,EAAKpqE,MAGhB,KAAK,GACD,OAAO+4F,GAAgB3uB,EAAKhB,eAAgBwC,GAAS,IAAMxB,EAAKL,WAAW/pE,MAG/E,KAAK,EACD,OACI+4F,GAAgB3uB,EAAKhB,eAAgBwC,GACrC,IACAxB,EAAKhoE,UAAUokB,KAAK7mB,GAAQk5F,GAAcl5F,EAAKisE,KAAQ1tE,KAAK,MAC5D,IAIR,KAAK,GACD,OACI66F,GAAgB3uB,EAAKP,eAAgB+B,GACrC,IACAxB,EAAK3kC,MAAMjf,KAAKkE,GAASmuE,GAAcnuE,EAAMkhD,KAAQ1tE,KAAK,MAC1D,KACCksE,EAAKf,cAAgB,IAAM,IAIpC,KAAK,GACD,OAAO2vB,GAAc5uB,EAAKmlB,UAAYwJ,GAAgB3uB,EAAK3V,WAAYmX,GAG3E,KAAK,EAA+B,CAChC,MAAMqtB,EACFF,GAAgB3uB,EAAKhB,eAAgBwC,GACrC,IACAotB,GAAc5uB,EAAKmlB,UACnB,IACAwJ,GAAgB3uB,EAAKqlB,gBAAiB7jB,GAE1C,OAAOxB,EAAK8uB,cAAgB,IAAID,KAAaA,EAGjD,KAAK,GAAsB,CACvB,IAAIj5F,EAAQoqE,EAAKpqE,MAAMkC,WAUvB,OAPIlC,EAAM28D,SAAS,OACf38D,EAAQA,EAAMkpC,UAAU,EAAGlpC,EAAMtC,OAAS,IAG1C0sE,EAAKV,cACL1pE,GAAS,KAENA,EAGX,KAAK,GACD,OAAY,EAAR4rE,GAAoDxB,EAAKslB,eAClDqJ,GAAgB3uB,EAAKslB,eAAgB9jB,GAErCxB,EAAKR,QACPpjD,KAAK1hB,GACKi0F,GAAgBj0F,EAAK8mE,KAE/B1tE,KAAK,KAIlB,KAAK,GAAsB,CACvB,IAAIi7F,EAAa,GA+BjB,OA9BuB,EAAnB/uB,EAAK1mD,MAAMkoD,QACXutB,GAAc,KAGK,GAAnB/uB,EAAK1mD,MAAMkoD,QACXutB,GAAc,KAGK,GAAnB/uB,EAAK1mD,MAAMkoD,QACXutB,GAAc,KAGK,GAAnB/uB,EAAK1mD,MAAMkoD,QACXutB,GAAc,KAGK,EAAnB/uB,EAAK1mD,MAAMkoD,MACY,EAAnBxB,EAAK1mD,MAAMkoD,MACXutB,GAAc,MAAM/uB,EAAK1mD,MAAM01E,kBAE/BD,GAAc,MAAM/uB,EAAK1mD,MAAM01E,kBAGZ,EAAnBhvB,EAAK1mD,MAAMkoD,MACXutB,GAAc,IAAI/uB,EAAK1mD,MAAM01E,gBAE7BD,GAAc,IAAI/uB,EAAK1mD,MAAM01E,gBAI9BD,EAGX,KAAK,EACD,OAAOJ,GAAgB3uB,EAAKhB,eAAgBwC,GAAS,MAAQmtB,GAAgB3uB,EAAKqlB,gBAAiB7jB,GAGvG,KAAK,EACD,OAAOmtB,GAAgB3uB,EAAKr7D,KAAM68D,GAAS,OAASmtB,GAAgB3uB,EAAKqlB,gBAAiB7jB,GAG9F,KAAK,GACD,OAAOmtB,GAAgB3uB,EAAKZ,gBAAiBoC,GAAS,KAAOmtB,GAAgB3uB,EAAKslB,eAAgB9jB,GAGtG,KAAK,EACD,OACImtB,GAAgB3uB,EAAKhB,eAAgBwC,GACrC,IACAotB,GAAc5uB,EAAKmlB,UACnB,IACAwJ,GAAgB3uB,EAAKqlB,gBAAiB7jB,GAI9C,KAAK,EACD,MAAO,SAAWmtB,GAAgB3uB,EAAK3V,WAAYmX,GAGvD,KAAK,GACD,OACImtB,GAAgB3uB,EAAK6lB,aAAcrkB,GACnC,OACAmtB,GAAgB3uB,EAAKqjB,eAAgB7hB,GACrC,SACAmtB,GAAgB3uB,EAAK8lB,eAAgBtkB,GAI7C,KAAK,GAID,MAAO,IAHaxB,EAAK9+C,QAAQ9E,KAAKuqE,GAC3BgI,GAAgBhI,EAAMnlB,KAEV1tE,KAAK,SAGhC,KAAK,GACD,MAAO,IAAM66F,GAAgB3uB,EAAK3V,WAAYmX,GAGlD,KAAK,GAAqB,CACtB,MAAMR,EAAchB,EAAKgB,YAAY5kD,KAAKuqE,GAC/BgI,GAAgBhI,EAAMnlB,KAEjC,OAA2B,IAAvBR,EAAY1tE,OACL,IAAI0tE,EAAY,QAEpB,IAAIA,EAAYltE,KAAK,SAGhC,KAAK,GACD,OAAIksE,EAAK3V,WACE,SAAWskC,GAAgB3uB,EAAK3V,WAAYmX,GAE5C,QAIf,KAAK,GACD,MAAO,cAAgBmtB,GAAgB3uB,EAAK3V,WAAYmX,GAG5D,KAAK,GACD,MAAO,MAGX,KAAK,GAAiC,CAClC,IAAIytB,EAAU,mBA2Bd,OAzBI9L,GAAiBnjB,EAAK3V,YACtB4kC,EAAUN,GAAgB3uB,EAAK3V,WAA8BmX,GACzB,KAA7BxB,EAAK3V,WAAW0U,WAGvBkwB,EAAU,GAFKN,GAAgB3uB,EAAK3V,WAAWu8B,cAAeplB,OAC7CmtB,GAAgB3uB,EAAK3V,WAAW+U,gBAAiBoC,MAItEytB,EACIA,EACA,IACAjvB,EAAKkmB,WACA9pE,KAAKuqE,GACoB,KAAlBA,EAAK5nB,UAEE4nB,EAAKuI,QAAU,SAAW,IAA7B,OACAP,GAAgBhI,EAAKhD,iBAAkBniB,GACvC,OAAOmtB,GAAgBhI,EAAK/C,mBAAoBpiB,KAG7C,MAAMmtB,GAAgBhI,EAAKtD,eAAgB7hB,OAGzD1tE,KAAK,KAEPksE,EAAKmvB,gBAAkB,IAAIF,MAAcA,EAGpD,KAAK,GAAqB,CACtB,IAAI32E,EAAS,GAUb,OATI0nD,EAAKgsB,aACL1zE,GAAUq2E,GAAgB3uB,EAAKgsB,WAAYxqB,IAE3CxB,EAAKisB,WACL3zE,GAAU,KAAOq2E,GAAgB3uB,EAAKisB,SAAUzqB,IAEhDxB,EAAKksB,YACL5zE,GAAU,KAAOq2E,GAAgB3uB,EAAKksB,UAAW1qB,IAE9ClpD,EAGX,KAAK,GACD,MACI,UACA0nD,EAAKrkC,WACAvf,KAAKV,IACF,IAAI0zE,EAAW,GAef,OAbuB,IAAnB1zE,EAAMk7C,SACNw4B,GAAY,IACc,IAAnB1zE,EAAMk7C,WACbw4B,GAAY,MAGZ1zE,EAAM/W,OACNyqF,GAAY1zE,EAAM/W,KAAK/O,OAGvB8lB,EAAM8vE,eACN4D,GAAY,MAAQT,GAAgBjzE,EAAM8vE,aAAchqB,IAErD4tB,KAEVt7F,KAAK,MACV,KACA66F,GAAgB3uB,EAAK3V,WAAYmX,GAIzC,KAAK,GACD,GAAuB,KAAnBxB,EAAKumB,UACL,MAAO,OACJ,GAAuB,KAAnBvmB,EAAKumB,UACZ,MAAO,QACJ,GAAuB,IAAnBvmB,EAAKumB,UACZ,MAAO,YACJ,GAAuB,KAAnBvmB,EAAKumB,UACZ,MAAO,OAEX,MAGJ,KAAK,GAA0B,CAC3B,MAAM8I,EAAe,GAAGrvB,EAAK9+C,QAAQ9E,KAAK21C,GACf,KAAnBA,EAAMgN,SAEF,GAAG4vB,GAAgB58B,EAAM60B,cAAeplB,OACrCmtB,GAAgB58B,EAAMqN,gBAAiBoC,KAGvCmtB,GAAgB58B,EAAOyP,OAItC,OAAI6tB,EACO,KAAKA,MAGT,KAGX,KAAK,GACD,MAAO,KAAKV,GAAgB3uB,EAAK6mB,iBAAkBrlB,KAGvD,KAAK,GACD,OAAOxB,EAAK9+C,QAAQ9E,KAAK21C,GAAU48B,GAAgB58B,EAAOyP,KAAQ1tE,KAAK,MAI/E,MAAO,eAGJ,SAAS86F,GAAczJ,GAC1B,MAAMmK,EAA8C,CAChD,EAAoB,IACpB,EAAyB,KACzB,EAAuB,IACvB,EAA2B,IAC3B,EAAgC,KAChC,EAA8B,IAC9B,EAA0B,IAC1B,EAA+B,KAC/B,EAA2B,IAC3B,EAAgC,KAChC,GAAuB,IACvB,GAA4B,KAC5B,GAAuB,KACvB,GAA4B,KAC5B,GAAiC,MACjC,GAA4B,IAC5B,GAAmC,KACnC,GAA0B,KAC1B,GAA+B,MAC/B,GAAkC,KAClC,GAAyB,IACzB,GAAgC,KAChC,GAA+B,IAC/B,GAAoC,KACpC,GAAoB,IACpB,GAAyB,KACzB,GAAyB,IACzB,GAA8B,KAC9B,GAA0B,KAC1B,GAAsB,KACtB,GAA2B,MAC3B,GAA2B,KAC3B,GAAgC,MAChC,GAAyB,IACzB,GAA8B,KAC9B,GAAoB,MACpB,GAAmB,KACnB,GAAoB,MACpB,GAAmB,KACnB,GAAsB,SACtB,GAAmB,KACnB,GAAsB,UAG1B,OAAIA,EAAYnK,GACLmK,EAAYnK,GAGhB,UAGJ,SAASoK,GAAkBvvB,GAC9B,IAAIuB,EAAUvB,EAAKviC,OAEnB,KAAO8jC,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,SACR,OAAOwC,EAEXA,EAAUA,EAAQ9jC,QAMnB,SAAS6wD,GAAkBtuB,EAAiBwvB,GAAiB,GAChE,IAAIjuB,EAAUvB,EAAKviC,OACnB,KAAO8jC,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,SACR,OAAOwC,EAGX,GAAyB,KAArBA,EAAQxC,SACR,OAGJ,GAAyB,KAArBwC,EAAQxC,UACJywB,EACA,OAIRjuB,EAAUA,EAAQ9jC,QA2CnB,SAASgyD,GAAqBzvB,GACjC,IACI0vB,EADAnuB,EAAUvB,EAAKviC,OAGnB,KAAO8jC,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,WAEHwC,EAAQijB,WAAWz9B,MAAM89B,GAAcA,IAAc6K,IACtD,OAAOnuB,EAIf,GAAyB,KAArBA,EAAQxC,SACR,OAGJ2wB,EAAWnuB,EACXA,EAAUA,EAAQ9jC,QAuBnB,SAASkyD,GAA4B3vB,GACxC,IAAIuB,EAAUvB,EAAKviC,OACnB,KAAO8jC,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,SACR,OAAOwC,EAGX,GAAyB,KAArBA,EAAQxC,SACR,OAAOwC,EAGXA,EAAUA,EAAQ9jC,QAyEnB,SAASmyD,GAAuB5vB,GACnC,IAAI0vB,EACAG,EACAtuB,EAAiCvB,EACjC8vB,GAAkB,EAEtB,KAAOvuB,GAAS,CASZ,OARyB,KAArBA,EAAQxC,UAAwC2wB,IAAanuB,EAAQ58D,OAErEmrF,GAAkB,GAMdvuB,EAAQxC,UACZ,KAAK,GACD,GAAIwC,EAAQ5lC,WAAWorB,MAAMrrC,GAAUA,IAAUg0E,KAC7C,GAAII,QAC0B14F,IAAtB8oE,GAASqB,GACT,OAAOA,OAGZ,GAAImuB,IAAanuB,EAAQgjB,YACFntF,IAAtB8oE,GAASqB,GACT,OAAOA,EAGf,MAGJ,KAAK,GACD,GAAIA,EAAQ5lC,WAAWorB,MAAMrrC,GAAUA,IAAUg0E,KAC7C,GAAII,QAC0B14F,IAAtB8oE,GAASqB,GACT,OAAOA,OAGZ,KAAKmuB,GAAYA,IAAanuB,EAAQlX,kBACfjzD,IAAtB8oE,GAASqB,GACT,OAAOA,EAGf,MAGJ,KAAK,GACD,GAAImuB,IAAanuB,EAAQgjB,YACKntF,IAAtB8oE,GAASqB,GACT,OAAOA,EAGf,MAGJ,KAAK,GACD,QAA0BnqE,IAAtB8oE,GAASqB,KAILmuB,IAAanuB,EAAQ2kB,WAAW,IACG,KAAnC3kB,EAAQ2kB,WAAW,GAAGnnB,UACtBwC,EAAQ2kB,WAAW,GAAGtC,qBAAuBiM,GAG7C,OAAOtuB,EAGf,MAGJ,KAAK,GACD,QAA0BnqE,IAAtB8oE,GAASqB,GACT,OAAOA,EAMnBsuB,EAAeH,EACfA,EAAWnuB,EACXA,EAAUA,EAAQ9jC,OAGtB+sB,EAAK,iCAMF,SAASulC,GAAoB/vB,EAAiBgwB,GAA2B,GAC5E,IAAIN,EACAnuB,EAAiCvB,EAErC,KAAOuB,GAAS,CACZ,OAAQA,EAAQxC,UACZ,KAAK,GACD,IAAI2wB,IAAanuB,EAAQgjB,OAASyL,KACzBzuB,EAAQijB,WAAWz9B,MAAM89B,GAAcA,IAAc6K,IACtD,OAAOnuB,EAGf,MAGJ,KAAK,GACD,GAAImuB,IAAanuB,EAAQgjB,QAChBhjB,EAAQijB,WAAWz9B,MAAM89B,GAAcA,IAAc6K,IACtD,OAAOnuB,EAOvBmuB,EAAWnuB,EACXA,EAAUA,EAAQ9jC,QAQnB,SAASwyD,GAAsBjwB,GAClC,IAAIkwB,EAAkBN,GAAuB5vB,GAK7C,KACiC,KAA7BkwB,EAAgBnxB,UACa,KAA7BmxB,EAAgBnxB,UAEhBmxB,EAAkBN,GAAuBM,EAAgBzyD,QAG7D,OAAOyyD,EA4BJ,SAASC,GAAkCC,GAE9C,GAA4B,KAAxBA,EAAWrxB,SACX,OAAO,EAKX,GAA4B,KAAxBqxB,EAAWrxB,SAAyC,CACpD,GAA2C,KAAvCqxB,EAAWpxB,eAAeD,SAC1B,OAAO,EAIX,IADkBuvB,GAAkB8B,GAEhC,OAAO,EAGX,MAAMC,EAAaZ,GAAqBW,GACxC,QAAKC,GAIyB,aAA1BA,EAAW1rF,KAAK/O,MAOxB,OAAO,EAGJ,SAAS06F,GAAqCF,GAEjD,QADkB9B,GAAkB8B,GAAiC,GAQlE,SAASG,GAAsBvwB,EAAiBwwB,GACnD,IAAIjvB,EAAiCvB,EACrC,KAAOuB,GAAS,CACZ,GAAIA,IAAYivB,EACZ,OAAO,EAGXjvB,EAAUA,EAAQ9jC,OAGtB,OAAO,EAoBJ,SAASgzD,GAAazwB,GACzB,IAAI0wB,GAAc,EAElB,IAAK,MAAMxuB,KAAalC,EAAK+C,WAAY,CACrC,GAA2B,KAAvBb,EAAUnD,SAYV,OAAO,EAXP,IAAK,MAAM4xB,KAAgBzuB,EAAUa,WACjC,GAA8B,KAA1B4tB,EAAa5xB,SAEb2xB,GAAc,OACX,GAA8B,KAA1BC,EAAa5xB,SAGpB,OAAO,EAQvB,OAAO2xB,EAGJ,SAASE,GAAqB9xB,EAA2BzU,GAC5D,GAA2B,KAAvByU,EAAUC,SACV,OAA4B,KAAxB1U,EAAW0U,SACJD,EAAUlpE,QAAUy0D,EAAWz0D,MACP,IAAxBy0D,EAAW0U,UACXD,EAAUlpE,QAAUy0D,EAAW1lD,KAAK/O,MAG5C,GACoB,KAAvBkpE,EAAUC,UACc,KAAxB1U,EAAW0U,SAEX,OACI6xB,GAAqB9xB,EAAUE,eAAgB3U,EAAW2U,iBAC1DF,EAAUa,WAAW/pE,QAAUy0D,EAAWsV,WAAW/pE,MAEtD,GAA2B,KAAvBkpE,EAAUC,UAA4D,KAAxB1U,EAAW0U,SAAkC,CAClG,IAAK6xB,GAAqB9xB,EAAUW,eAAgBpV,EAAWoV,gBAC3D,OAAO,EAGX,GACgC,IAA5BpV,EAAWhvB,MAAM/nC,QACjB+2D,EAAW4U,eACX5U,EAAWhvB,MAAM,GAAG12B,MACqB,IAAzC0lD,EAAWhvB,MAAM,GAAG6jC,iBAEpB,OAAO,EAGX,GAAoD,KAAhDJ,EAAUzjC,MAAM,GAAG+jC,gBAAgBL,SAAmC,CACtE,MAAM8xB,EAAsB/xB,EAAUzjC,MAAM,GAAG+jC,gBACzCD,EAAgB9U,EAAWhvB,MAAM,GAAG+jC,gBAC1C,QAC+B,KAA3BD,EAAcJ,UACdI,EAAcG,cACbH,EAAc35D,YAKZqrF,EAAoBj7F,QAAUupE,EAAcvpE,MAGvD,GAAoD,KAAhDkpE,EAAUzjC,MAAM,GAAG+jC,gBAAgBL,SAAuC,CAC1E,MAAM+xB,EAA0BhyB,EAAUzjC,MAAM,GAAG+jC,gBAC7CD,EAAgB9U,EAAWhvB,MAAM,GAAG+jC,gBAC1C,GAC+C,IAA3C0xB,EAAwBtxB,QAAQlsE,QACgB,KAAhDw9F,EAAwBtxB,QAAQ,GAAGT,UACR,KAA3BI,EAAcJ,UACmB,IAAjCI,EAAcK,QAAQlsE,QACgB,KAAtC6rE,EAAcK,QAAQ,GAAGT,SAEzB,OAAO+xB,EAAwBtxB,QAAQ,GAAG5pE,QAAUupE,EAAcK,QAAQ,GAAG5pE,MAIrF,OAAO,EAGX,OAAO,EAGJ,SAASm7F,GAA4BjyB,EAA2BzU,GACnE,OAA2B,KAAvByU,EAAUC,SAEN6xB,GAAqB9xB,EAAUE,eAAgB3U,IAC/C0mC,GAA4BjyB,EAAUE,eAAgB3U,GAE5B,KAAvByU,EAAUC,WAEb6xB,GAAqB9xB,EAAUW,eAAgBpV,IAC/C0mC,GAA4BjyB,EAAUW,eAAgBpV,IA8L3D,SAAS2mC,GAAajuB,GAEzB,GAA0B,IAAtBA,EAAWzvE,OACX,OAGJ,GAA+B,KAA3ByvE,EAAW,GAAGhE,SACd,OAGJ,IAAKkyB,GAAYluB,EAAW,IACxB,OAIJ,MAAMvD,EAAWuD,EAAW,GAAGA,WAAW,GAAsBvD,QAChE,OAAuB,IAAnBA,EAAQlsE,OAEDksE,EAAQ,GAAG5pE,MAGf4pE,EAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,IAGrC,SAASm9F,GAAYC,GAGxB,GAAwC,IAApCA,EAAcnuB,WAAWzvE,QAAyD,KAAzC49F,EAAcnuB,WAAW,GAAGhE,SACrE,OAAO,EAIX,MAAMS,EAAU0xB,EAAcnuB,WAAW,GAAGvD,QAC5C,OAAuB,IAAnBA,EAAQlsE,SAKRksE,EAAQzY,MAAMjuD,GAAoD,IAA7B,GAAhBA,EAAEwgB,MAAMkoD,SAoF9B,MAAM2vB,WAAuB,GAIhC5sF,YACY6sF,GAMR5sF,QANQ,KAAA4sF,YASHhG,UAAUprB,GAEf,OADA1nE,KAAK84F,UAAUpxB,EAAM1nE,KAAK+4F,gBAAiB/4F,KAAKg5F,kBACzC,EAGFlH,WAAWpqB,GAChB1nE,KAAK+vF,KAAKroB,EAAKP,gBAEf,MAAM8xB,EAAqBj5F,KAAK+4F,gBAC1BG,EAAqBl5F,KAAKg5F,gBAWhC,OAVAh5F,KAAKg5F,gBAAkBtxB,EAAKP,eAE5BO,EAAK3kC,MAAMzd,SAAQ,CAAC0C,EAAMmC,KACtBnqB,KAAK+4F,gBAAkB5uE,EACvBnqB,KAAK+vF,KAAK/nE,MAGdhoB,KAAK+4F,gBAAkBE,EACvBj5F,KAAKg5F,gBAAkBE,GAEhB,GAIR,MAAMC,WAAuB,GAChCltF,YAAoB6sF,GAChB5sF,QADgB,KAAA4sF,YAIX/H,UAAUrpB,GAEf,OADA1nE,KAAK84F,UAAUpxB,IACR,GAIR,SAAS0xB,GAAsB1xB,GAClC,IAAIuB,EAAiCvB,EAErC,KAAOuB,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,SACR,OAAOwC,EAEXA,EAAUA,EAAQ9jC,QAMnB,SAASk0D,GACZ3xB,EACA4xB,EACAh1B,GAGA,IACIi1B,EADAtwB,EAAiCvB,EAGrC,UAAmB5oE,IAAZmqE,GAAuB,CAE1B,GAAyB,IAArBA,EAAQxC,UACJ+yB,EAAuBvwB,GAA2B,CAClDswB,EAAWtwB,EACX,MAGRA,EAAUA,EAAQ9jC,OAGtB,IAAKo0D,IAAaA,EAAS75F,UACvB,OAGJ,MAAM+5F,EAAcj1B,GAAUmB,OAAO4zB,GACrC,GAAID,EAAkBG,EAClB,OAGJ,MAAMC,EA0EH,SAAoBp1B,EAAoC7nC,GAC3D,MAAMtS,EAAQm6C,EAAOq1B,kBAAkBl9D,GACvC,KAAItS,EAAQ,GAIZ,OAAOm6C,EAAOgB,UAAUn7C,GAhFLyvE,CAAWt1B,EAAQm1B,EAAc,GACpD,GAAIH,IAAoBG,GAA+B,MAAhBC,aAAU,EAAVA,EAAY16F,MAC/C,OAGJ,IAAI66F,GAAc,EACdC,GAAe,EACfC,GAAe,EA6CnB,OA5CAR,EAAS75F,UAAU4lB,SAAQ,CAACroB,EAAKktB,KAC7B,GAAI0vE,EACA,OAIJ,IAAI/9F,EAAQmB,EAAInB,MAChB,MAAMk+F,EAAkB11B,EAAOq1B,kBAAkB79F,GAC7Ck+F,GAAmB,IACnBl+F,EAAQ0oE,GAAUmB,OAAOrB,EAAOgB,UAAU00B,EAAkB,KAGhE,IAAIj+F,EAAMyoE,GAAUmB,OAAO1oE,GAC3B,MAAMg9F,EAAgB31B,EAAOq1B,kBAAkB59F,GAC/C,GAAIk+F,GAAiB,EAGjB,IAAK,IAAI3/F,EAAI2/F,EAAe3/F,EAAIgqE,EAAOt4C,MAAO1xB,IAAK,CAC/C,MAAM4/F,EAAM51B,EAAOgB,UAAUhrE,GAE7B,OAAQ4/F,EAAIl7F,MACR,KAAK,GACL,KAAK,GACD,MACJ,QACI,SAGRjD,EAAMyoE,GAAUmB,OAAOu0B,GACvB,MAIJZ,EAAkBv9F,IAClB+9F,EAAc3vE,EACd4vE,EAAeT,GAAmBx9F,EAClC+9F,GAAc,MAIjBA,IACDC,EAAcP,EAAS75F,UAAU1E,OAAS,GAGvC,CACHu+F,WACAO,cACAC,gBAGJ,SAASP,EAAuB9xB,EAAgBhmE,GAC5C,IAAIH,GAAQ,EACZ,MAAM44F,EACFzyB,EAAKhB,eAAe1rE,OAAS,EAAIwpE,GAAUmB,OAAO+B,EAAKhB,gBAAkB,EAAIgB,EAAKhB,eAAe5qE,MAC/FquB,EAAQm6C,EAAOq1B,kBAAkBQ,GACvC,GAAIhwE,GAAS,GAAKA,EAAQ,EAAIm6C,EAAOt4C,MAAO,CACxC,MAAMhL,EAAQsjD,EAAOgB,UAAUn7C,EAAQ,GACpB,KAAfnJ,EAAMhiB,MAAsCs6F,EAAkB90B,GAAUmB,OAAO3kD,KAE/Ezf,GAAQ,GAGhB,OAAOA,GA8PR,SAAS64F,GAAc1yB,GAC1B,IAAI0vB,EAAsB1vB,EACtBuB,EAAiCmuB,EAASjyD,OAE9C,KAAO8jC,GAAS,CACZ,OAAQA,EAAQxC,UACZ,KAAK,EAIL,KAAK,EACD,OAAO2wB,IAAanuB,EAAQvC,eAGhC,KAAK,EACD,OAAO0wB,IAAanuB,EAAQ58D,KAGhC,KAAK,GACD,OAAO,EAGX,KAAK,GACD,OAAO+qF,IAAanuB,EAAQoiB,iBAGhC,KAAK,GACD,OACI+L,IAAanuB,EAAQkD,OACpBlD,EAAQn3D,OAAO49D,UAAU10E,OAAS,GAAKo8F,IAAanuB,EAAQn3D,OAAO49D,UAAU,GAItF,KAAK,GACD,OAAO0nB,IAAanuB,EAAQkD,QAAWlD,EAAQkD,OAASirB,IAAanuB,EAAQ58D,KAGjF,KAAK,GACD,GAAI+qF,IAAanuB,EAAQ5B,WACrB,OAAO,EAEX,MAGJ,KAAK,GACD,OAAO+vB,IAAanuB,EAAQ58D,KAGhC,KAAK,GACD,OAAO48D,EAAQwjB,UAAUh+B,MAAMzmC,GAASA,IAASovE,IAGrD,KAAK,GACD,OAAOA,IAAanuB,EAAQoiB,iBAGhC,KAAK,GACD,GAAI+L,IAAanuB,EAAQ+jB,eACrB,OAAO,EAEX,MAGJ,KAAK,GACL,KAAK,GACL,KAAK,GACD,OAAO,EAIfoK,EAAWnuB,EACXA,EAAUA,EAAQ9jC,OAGtB,OAAO,EAGJ,SAASk1D,GAAc3yB,GAC1B,IAAIl/C,EAAiCk/C,EACrC,KAAOl/C,GAAgC,KAArBA,EAAQi+C,UACtBj+C,EAAUA,EAAQ2c,OAGtB,OAAO3c,EAGJ,SAAS8xE,GAAoB5yB,GAChC,MAAMl/C,EAAU6xE,GAAc3yB,GAC9B,OAAOl/C,EAAU,GAA6BA,QAAW1pB,EA4BtD,SAASy7F,GAAmB7yB,G,QAC/B,OAAqF,MAAV,QAApE,EAA4D,QAA5D,EAAA8yB,GAA6B9yB,EAAM,WAAyB,eAAEviC,cAAM,eAAEshC,UAG1E,SAASg0B,GAAc/yB,G,MAC1B,OAA4B,MAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,WAAuCiB,EAAKviC,OAAOgnC,QAAUzE,EAG9E,SAASgzB,GAAuBhzB,G,QACnC,OAAqF,MAAV,QAApE,EAA4D,QAA5D,EAAA8yB,GAA6B9yB,EAAM,WAAyB,eAAEviC,cAAM,eAAEshC,UAG1E,SAASk0B,GAAiBjzB,G,MAC7B,OAA4B,MAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,WAA2CiB,EAAKviC,OAAO94B,OAASq7D,EAGjF,SAASkzB,GAAkBlzB,G,MAC9B,OAA4B,MAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,WAA2CiB,EAAKviC,OAAOgnC,QAAUzE,EAGlF,SAASmzB,GAAuBnzB,G,MACnC,GAAyB,MAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,UACb,OAAO,EAGX,MAAM30D,EAAS41D,EAAKviC,OACpB,OAAgC,IAA5BrzB,EAAO49D,UAAU10E,QAId8W,EAAO49D,UAAU59D,EAAO49D,UAAU10E,OAAS,KAAO0sE,EAYtD,SAAS8yB,GACZ9yB,EACA1oE,GAEA,OAGG,SACH0oE,EACAhZ,GAEA,IAAK,MAAMlmC,KApBf,UAAqCk/C,GACjC,UAAgB5oE,IAAT4oE,SACGA,EACNA,EAAOA,EAAKviC,OAiBM21D,CAA2BpzB,GAC7C,GAAcl/C,EAR2Bi+C,WAAaznE,EASlD,OAAOwpB,EATRuyE,CAAuBrzB,GAgB3B,SAASszB,GAAqCtzB,G,MAQjD,OAAyB,MAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,WAIbiB,EAAKviC,OAAOuhC,iBAAmBgB,EAHxBA,EAOJA,EAAKviC,OC14DT,SAAS81D,GAAsBjzB,GAClC,OAAQA,EAAYhpE,MAChB,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,OAAO,EAEX,KAAK,EAA2B,CAC5B,GAAIgpE,EAAYN,KAAKslB,gBAAkBhlB,EAAYN,KAAK+oB,sBACpD,OAAO,EAEX,MAAMyK,EAAkBlzB,EAAYN,KAAKviC,OACzC,GAA6B,MAAzB+1D,aAAe,EAAfA,EAAiBz0B,WAEby0B,EAAgB9I,4BACf8I,EAAgB9I,0BAA0BlF,oBAC7C,CACE,MAAMiO,EAAmBD,EAAgB9I,0BAA0BjF,qBAGnE,QACI+N,EAAgB73D,WAAWroC,OAASmgG,EAAiBngG,QACrDgtE,EAAYN,OAASwzB,EAAgB73D,WAAW,IAO5D,OAAO,EAGX,KAAK,EACD,QAAS2kC,EAAYozB,mBAEzB,KAAK,EACD,OAAO,GAIZ,SAASC,GACZC,EACAC,EACAC,GAAuC,GAEvC,GAAIF,EAAMt8F,OAASu8F,EAAMv8F,KACrB,OAAO,EAGX,GAAIs8F,EAAMvsF,OAASwsF,EAAMxsF,KACrB,OAAO,EAGX,GACIusF,EAAM7uF,MAAM3Q,MAAMo+B,OAASqhE,EAAM9uF,MAAM3Q,MAAMo+B,MAC7CohE,EAAM7uF,MAAM3Q,MAAMq+B,YAAcohE,EAAM9uF,MAAM3Q,MAAMq+B,UAElD,OAAO,EAKX,GAAmB,IAAfmhE,EAAMt8F,MAAiD,IAAfu8F,EAAMv8F,KAAgC,CAC9E,GAAIs8F,EAAMxoC,aAAeyoC,EAAMzoC,YAAcwoC,EAAMG,gBAAkBF,EAAME,cACvE,OAAO,EAGX,GAAID,EAQA,OAAO,EAGX,GAAIF,EAAM5d,gBAAkB6d,EAAM7d,cAC9B,OAAO,EAIf,OAAO,EAGJ,SAASge,GAA2BxzB,GACvC,OAAqB,IAAdA,EAAKlpE,QAAuCkpE,EAAKyzB,QAGrD,SAASC,GAA+B1zB,GAC3C,OAAqB,IAAdA,EAAKlpE,QAAuCkpE,EAAK2zB,oBAGrD,SAASC,GAA+B5zB,G,MAC3C,GAAkB,IAAdA,EAAKlpE,OAAsCkpE,EAAK6zB,eAAiB7zB,EAAKkzB,mBACtE,OAAO,EAGX,GAA8B,KAAV,QAAhB,EAAAlzB,EAAKR,KAAKviC,cAAM,eAAEshC,UAClB,OAAO,EAMX,OADwByB,EAAKR,KAAKviC,OAAO4nD,gBACjBtmB,UACpB,KAAK,EACL,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACD,OAAO,EAGf,OAAO,EAGJ,SAASu1B,GAAuBh0B,G,MACnC,OAAQA,EAAYhpE,MAChB,KAAK,EACD,OAAOgpE,EAAYlV,WAEvB,KAAK,EACL,KAAK,EACD,OAAOkV,EAAYN,KAAKr7D,KAAK/O,MAEjC,KAAK,EACD,OAA4B,QAArB,EAAA0qE,EAAYN,KAAKr7D,YAAI,eAAE/O,MAElC,KAAK,EACD,OAAqC,KAA9B0qE,EAAYN,KAAKjB,SAAkCuB,EAAYN,KAAKpqE,WAAQwB,EAEvF,KAAK,EACL,KAAK,EACD,OAGR,MAAM,IAAIlD,MAAM,wBAeb,SAASqgG,GAAwCC,GAEpD,OAAOA,EAAMp4E,KAAKq4E,IACd,GAAuB,IAAnBA,EAAUn9F,KACV,OAAOm9F,EAGX,MAAMC,EAAiC,IAAKD,GAE5C,OADAC,EAAaX,eAAgB,EACtBW,KAIR,SAASC,GAAkCttF,GAG9C,MAAO,CACH/P,KAAM,EACN0oE,UAAM5oE,EACNiQ,OACAutF,qBAAqB,EACrB7vF,MnBrBG,CACH3Q,MA1CG,CACHo+B,KAAM,EACNC,UAAW,GAyCXp+B,IA3CG,CACHm+B,KAAM,EACNC,UAAW,ImB6DXgxC,gBAAiB,IAAIrtD,IACrB29E,eAAe,EACfzwB,WAAY,GACZuxB,iBAAiB,GC9LlB,SAASC,GAAuBC,GAEnC,MAGMj1C,EAHYi1C,EAAU92F,QAAQ,MAAO,IAAIA,QAAQ,MAAO,YAGtC4H,MAAM,MAG9B,IAAImvF,EAAqB/6F,OAAOs4B,UAChCutB,EAAMliC,SAAQ,CAAC4U,EAAM/P,KAEjB,GAAIq9B,EAAMxsD,QAAU,GAAKmvB,EAAQ,EAAG,CAChC,MAAMwyE,EAAUziE,EAAK0iE,WACjBD,IACAD,EAAqB55F,KAAKC,IAAI25F,EAAoBxiE,EAAKl/B,OAAS2hG,EAAQ3hG,aAMhF0hG,GAAsB/6F,OAAOs4B,YAC7ByiE,EAAqB,GAIzB,MAAMG,EAAyB,GAU/B,IATAr1C,EAAMliC,SAAQ,CAAC4U,EAAM/P,KACH,IAAVA,EACA0yE,EAAaxhG,KAAK6+B,EAAKt0B,QAEvBi3F,EAAaxhG,KAAK6+B,EAAKl4B,OAAO06F,GAAoBI,gBAKnDD,EAAa7hG,OAAS,GAAgC,IAA3B6hG,EAAa,GAAG7hG,QAC9C6hG,EAAat9E,QAGjB,KAAOs9E,EAAa7hG,OAAS,GAAsD,IAAjD6hG,EAAaA,EAAa7hG,OAAS,GAAGA,QACpE6hG,EAAa5iD,MAGjB,OAAO4iD,EAGJ,SAASE,GAA8BC,EAA2BC,GACrE,IAAKD,IAAsBC,EACvB,OAiBJ,MAAMC,EAAiBV,GAAuBQ,GAC9C,IAAK,MAAM9iE,KAAQgjE,EAAgB,CAC/B,MAAMtqB,EAAc14C,EAAKt0B,OAGzB,IAAIu3F,EAAcvqB,EAAY/2E,QAAQ,UAAYohG,GAClD,GAAIE,GAAe,EACf,OAAOvqB,EAAY5wE,OAAOm7F,EAAc,GAK5C,GADAA,EAAcvqB,EAAY/2E,QAAQ,UAAYohG,GAC1CE,GAAe,EACf,OAAOvqB,EAAY5wE,OAAOm7F,EAAc,GAK5C,GADAA,EAAcvqB,EAAY/2E,QAAQohG,EAAY,MAC1CE,GAAe,EACf,OAAOvqB,EAAY5wE,OAAOm7F,GAK9B,GADAA,EAAcvqB,EAAY/2E,QAAQohG,EAAY,MAC1CE,GAAe,EACf,OAAOvqB,EAAY5wE,OAAOm7F,ICrF/B,SAASC,GAA2BC,GACvC,OAAO,IAAIC,GAAmBD,GAAWE,UAMtC,SAASC,GAA4BH,GACxC,MAAM71C,EAAQg1C,GAAuBa,GAC/BphG,EAAmB,GAEzB,IAAK,MAAMi+B,KAAQstB,EAAO,CACtB,MAAM9+C,EAAOzM,EAAOjB,OAAS,EAAIiB,EAAOA,EAAOjB,OAAS,QAAK8D,EACzD2+F,GAAyBvjE,IAASujE,GAAyB/0F,IAI/DzM,EAAOZ,KAAK6+B,GAGhB,OAAOj+B,EAAOT,KAAK,MAAMkiG,UAS7B,MAAMC,GAA0B,OAC1BC,GAAsB,KACtBC,GAAoB,YACpBC,GAAmB,eACnBC,GAAoB,mBACpBC,GAAmB,mBACnBC,GAAwB,YACxBC,GAA4B,aAC5BC,GAA0B,gBAC1BC,GAAwB,iBACxBC,GAAoB,YACpBC,GAAsB,6BACtBC,GAAgB,SAChBC,GAA+B,kFAC/BC,GAA0B,kBAC1BC,GAAqB,mBAErBC,GAAwC,CAC1C,CAAEC,IAAK,kBAAmBp7C,YAAa,KACvC,CAAEo7C,IAAK,kBAAmBp7C,YAAa,KACvC,CAAEo7C,IAAK,kBAAmBp7C,YAAa,KACvC,CAAEo7C,IAAK,oBAAqBp7C,YAAa,MAIvCq7C,GAAmB,MACnBC,GAAmB,MACnBC,GAAc,KACdC,GAAa,MACbC,GAAsB,YACtBC,GAAa,kBAEbC,GAAmC,CACrC,CAAEP,IAAK,KAAMp7C,YAAa,QAC1B,CAAEo7C,IAAK,KAAMp7C,YAAa,SAIxB47C,GAA0B,UAC1BC,GAAgD,CAClD,CAAET,IAAK,UAAWp7C,YAAa,IAC/B,CAAEo7C,IAAK,cAAep7C,YAAa,OAEnC,CAAEo7C,IAAK,kBAAmBp7C,YAAa,KACvC,CAAEo7C,IAAK,kBAAmBp7C,YAAa,MAY3C,MAAM85C,GAgBFrxF,YAAYc,GAfJ,KAAAuyF,SAAW,GACX,KAAAC,sBAAuB,EACvB,KAAAC,mBAAoB,EACpB,KAAAC,uBAAwB,EAGxB,KAAAC,YAAuB,GAGvB,KAAAC,SAAW,EAEX,KAAAC,aAAe,EAKnB5/F,KAAK4nB,OAAS5nB,KAAK6/F,WACnB7/F,KAAK8/F,OAAStD,GAAuBzvF,GAGzCwwF,UAOI,IANiBv9F,KAAK8/F,OAAOrxC,MAAM2C,GAAMqtC,GAAwB7tC,KAAKQ,OAGlEpxD,KAAK8/F,OAAS9/F,KAAK8/F,OAAOh8E,KAAKstC,GAAMA,EAAEzrD,QAAQ+4F,GAAoB,YAG7B5/F,IAAnCkB,KAAK+/F,2BAAyC,CACjD,MAAMC,EAAShgG,KAAK4nB,OACdq4E,EAAajgG,KAAK2/F,SAKxB,GAHA3/F,KAAK4nB,SAGD5nB,KAAK4nB,SAAWo4E,GAAUhgG,KAAK2/F,WAAaM,EAC5C,MAeR,OATIjgG,KAAK4nB,SAAW5nB,KAAKkgG,qBACrBlgG,KAAK4nB,SAAW5nB,KAAKmgG,eACrBngG,KAAK4nB,SAAW5nB,KAAKogG,mBAErBpgG,KAAKqgG,yBAAyB,OACvBrgG,KAAKw/F,mBACZx/F,KAAKqgG,yBAAyB,KAAK,GAGhCrgG,KAAKs/F,SAAS15F,OAGjB06F,WACJtgG,KAAK2/F,WAGDI,0BACJ,OAAO//F,KAAK2/F,SAAW3/F,KAAK8/F,OAAO9kG,OAASgF,KAAK8/F,OAAO9/F,KAAK2/F,eAAY7gG,EAGrEyhG,eACJ,OAAOvgG,KAAK+/F,2BAA6B,GAGrCS,iBACJ,OAAOC,GAAoBzgG,KAAKugG,gBAG5BG,c,MACJ,OAAOD,GAAmD,QAA/B,EAAAzgG,KAAK2gG,QAAQ3gG,KAAK2/F,SAAW,UAAE,QAAI,IAG1DgB,QAAQrmG,GACZ,OAAOA,EAAI0F,KAAK8/F,OAAO9kG,OAASgF,KAAK8/F,OAAOxlG,QAAKwE,EAG7C8hG,mBACJ,OAAOH,GACHzgG,KAAK8/F,OAAOliG,MAAMoC,KAAK2/F,SAAW,GAAGp0B,MAAMna,IAAOqsC,GAAyBrsC,MAAO,IAIlFyvC,6BACJ,OAAO7gG,KAAKwgG,iBAAmBxgG,KAAK4/F,aAGhCkB,0BACJ,OAAO9gG,KAAKugG,eAAev+F,OAAOhC,KAAK4/F,cAGnCmB,iBAAiB94E,GACjBjoB,KAAK4nB,SAAW5nB,KAAK6/F,aACrB7/F,KAAKw/F,mBAAoB,GAG7Bx/F,KAAK0/F,YAAYrkG,KAAK2E,KAAK4nB,QAC3B5nB,KAAK4nB,OAASK,EAGV+4E,YACJhhG,KAAK4nB,OAAS5nB,KAAK0/F,YAAYx5E,OAAO,EAAG,GAAG,GAExClmB,KAAK4nB,SAAW5nB,KAAK6/F,aAErB7/F,KAAKw/F,mBAAoB,GAIzBK,aACJ,GAAIpC,GAAyBz9F,KAAK+/F,2BAE9B,YADA//F,KAAK4nB,OAAS5nB,KAAKihG,aAIvB,GAAIjhG,KAAKkhG,sBACL,OAGJ,GAAIlhG,KAAKmhG,qBACL,OAGJ,GAAInhG,KAAKohG,gBACL,OAGJ,GAAIphG,KAAKqhG,kBACL,OAGJ,GAAIrhG,KAAKshG,aACL,OAGJ,GAAIthG,KAAKuhG,kBACL,OAGJ,GAAIvhG,KAAKwhG,mBACL,OAGJ,MAAMtnE,EAAOl6B,KAAKyhG,uBAAuBzhG,KAAKugG,gBAE9CvgG,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,WAGDmB,uBAAuBvnE,GAC3B,MAAMynE,EAAO3hG,KAAK2gG,QAAQ3gG,KAAK2/F,SAAW,GACpCiC,EAAa5hG,KAAK0gG,cAClBmB,EAAa7hG,KAAKwgG,iBA0BxB,QAvBIqB,EAAaD,IACZnE,GAAyBkE,IACzB3hG,KAAKs/F,SAASrlC,SAAS,SACvBj6D,KAAKs/F,SAASrlC,SAAS,SACvB6nC,GAAUH,KAEX3hG,KAAKs/F,SAAWt/F,KAAKs/F,SAAS1hG,MAAM,GAAI,GAAK,QAI7CgkG,EAAaC,IACZpE,GAAyBkE,KACzB3hG,KAAKs/F,SAASrlC,SAAS,UACvBj6D,KAAKs/F,SAASrlC,SAAS,UAExBj6D,KAAKs/F,SAAWt/F,KAAKs/F,SAAS1hG,MAAM,GAAI,GAAK,QAG9B,IAAfgkG,GAAoB5hG,KAAKs/F,SAASrlC,SAAS,SAAWj6D,KAAKs/F,SAASrlC,SAAS,QACtEj6D,KAAK+hG,eAAe7nE,GAEpBA,EAAK8nE,YAKZD,eAAe7nE,GAEnB,OADOA,EAAKv0B,QAAQ,mBAAmB,CAACs8F,EAAQC,EAAIC,IAAO,SAAS3iB,OAAO0iB,EAAGlnG,QAAUmnG,IAIpFC,YAAYloE,GAKhB,OAJAilE,GAAY75E,SAAS+8E,IACjBnoE,EAAOA,EAAKv0B,QAAQ08F,EAAOzD,IAAKyD,EAAO7+C,gBAGpCtpB,EAGHwnE,gBAAgBxnE,GAGpB,MAAMh/B,GAFNg/B,EAAOl6B,KAAKsiG,oBAAoBpoE,IAEb3sB,MAAM,KAEzB,IAAK,IAAIjT,EAAI,EAAGA,EAAIY,EAAMF,OAAQV,IAAK,CACnC,IAAIq1E,EAAOz0E,EAAMZ,GAOjB,GALIA,EAAI,IACJ0F,KAAKw/F,mBAAqBx/F,KAAKw/F,kBAC/Bx/F,KAAKuiG,QAAQ,MAGbviG,KAAKw/F,kBACLx/F,KAAKuiG,QAAQ5yB,OADjB,CAOA,GAFAA,EAAO3vE,KAAKoiG,YAAYzyB,GAEd,IAANr1E,EAAS,CAET,GAAqB,IAAjBY,EAAMF,OAAc,CAEpB,IAAK,MAAMwnG,KAAkB7D,GACzB,GAAI6D,EAAe5D,IAAI5nD,KAAK24B,GAAO,CAC/BA,EAAOA,EAAKhqE,QAAQk5F,GAAkB2D,EAAeh/C,aACrD,MAMR,GAAIq6C,GAAkB7mD,KAAK24B,GAAO,CAC9B3vE,KAAKuiG,QAAQ5yB,EAAKhqE,QAAQo5F,GAAa,MACvC,SAOJ,GAAIjB,GAAiB9mD,KAAK24B,GAAO,CAC7B3vE,KAAKuiG,QAAQ5yB,EAAKhqE,QAAQq5F,GAAY,MACtC,UASR,MAAMvtC,EAAQ2sC,GAAsBxtC,KAAK+e,GAC3B,OAAVle,GAAmC,IAAjBA,EAAMz2D,SACxBgF,KAAKuiG,QAAQ9wC,EAAM,IACnBke,EAAOle,EAAM,IAgBJke,EAAKpiE,MAAM2xF,IACnB55E,SAAS0C,IAEVk3E,GAAWloD,KAAKhvB,GAChBhoB,KAAKuiG,QAAQv6E,GAGbhoB,KAAKuiG,QACDv6E,EAAKriB,QAAQs5F,IAAqB,CAACxtC,EAAe/vD,EAAgBU,IAC/B,OAA3BA,EAAI+kC,OAAOzlC,EAAS,GACb+vD,EAEJ,KAAOA,SAWlCzxD,KAAKs/F,UAAY,KAGbgD,oBAAoBpoE,GAExB,OAAIklE,GAAwBpoD,KAAK9c,GACtB,IAGXmlE,GAAyB/5E,SAAS0C,GAAUkS,EAAOA,EAAKv0B,QAAQqiB,EAAK42E,IAAK52E,EAAKw7B,eAE/EtpB,EAAOA,EAAKv0B,QAAQm5F,GAAkB,MAIlCmC,cACJ,GAAIxD,GAAyBz9F,KAAK+/F,2BAG9B,OAFA//F,KAAKyiG,mBACLziG,KAAKsgG,WAITtgG,KAAK4nB,OAAS5nB,KAAK6/F,WAGf6C,yBAAyBpkF,GAC7Bte,KAAKyiG,YAAY,OACjBziG,KAAK+gG,iBAAiBziF,GACtBte,KAAK4/F,aAAe5/F,KAAKwgG,iBAGrBU,sBACJ,QAAIlhG,KAAKugG,eAAe/qC,WAAW,SAC/Bx1D,KAAKyiG,YAAYziG,KAAKugG,gBACtBvgG,KAAK+gG,iBAAiB/gG,KAAKkgG,qBAC3BlgG,KAAKsgG,YACE,GAKPJ,sBACAlgG,KAAKugG,eAAe/qC,WAAW,QAC/Bx1D,KAAKyiG,YAAY,OACjBziG,KAAKyiG,cACLziG,KAAKghG,aAELhhG,KAAKyiG,YAAYziG,KAAKugG,gBAG1BvgG,KAAKsgG,WAGDc,gBACJ,QAAK7C,GAAcvnD,KAAKh3C,KAAKugG,kBAI7BvgG,KAAK0iG,yBAAyB1iG,KAAKmgG,eACnCngG,KAAKyiG,YAAYziG,KAAK8gG,2BACtB9gG,KAAKsgG,YACE,GAGHH,gBACJ,GAAIngG,KAAK6gG,8BAAgCpD,GAAyBz9F,KAAKugG,gBAInE,OAHAvgG,KAAKqgG,yBAAyB,OAC9BrgG,KAAKyiG,mBACLziG,KAAKghG,YAIThhG,KAAKyiG,YAAYziG,KAAK8gG,2BACtB9gG,KAAKsgG,WAGDa,qBAEJ,MAAMQ,EAAO3hG,KAAK2gG,QAAQ3gG,KAAK2/F,SAAW,GAC1C,QAAa7gG,IAAT6iG,EACA,OAAO,EACJ,IAAKlE,GAAyBkE,GACjC,OAAO,EAIX,IAAIrnG,EAAI0F,KAAK2/F,SAAW,EACxB,KAAOrlG,GAAK,EAAGA,IAAK,CAChB,MAAM4/B,EAAOl6B,KAAK2gG,QAAQrmG,GAC1B,IAAImjG,GAAyBvjE,GAA7B,CAKA,GAAIA,EAAM+/B,SAAS,MACf,MAGJ,OAAO,GAGX,QAAI3/D,EAAI,IAKsB,IAA1B0F,KAAKwgG,kBACLxgG,KAAKyiG,YAAY,OACjBziG,KAAK+gG,iBAAiB/gG,KAAK2iG,8BACpB,IAGX3iG,KAAK0iG,yBAAyB1iG,KAAKogG,oBAC5B,KAGHA,qBAEJ,OAAI3C,GAAyBz9F,KAAK+/F,4BAC9B//F,KAAKyiG,mBACLziG,KAAKsgG,YAILtgG,KAAK6gG,8BACL7gG,KAAKqgG,yBAAyB,OAC9BrgG,KAAKyiG,mBACLziG,KAAKghG,cAIThhG,KAAKyiG,YAAYziG,KAAK8gG,gCACtB9gG,KAAKsgG,YAGDqC,+BACJ3iG,KAAKyiG,YAAYziG,KAAKugG,gBACtBvgG,KAAKyiG,YAAY,OACjBziG,KAAKyiG,cACLziG,KAAKghG,YACLhhG,KAAKsgG,WAGDe,kBACJ,QAAKhD,GAAkBrnD,KAAKh3C,KAAKugG,kBAIjCvgG,KAAK+gG,iBAAiB/gG,KAAK4iG,iBAC3B5iG,KAAK4/F,aAAe5/F,KAAK4gG,mBACzB5gG,KAAKy/F,uBAAwB,GACtB,GAiBH8B,kB,QACJ,GAAIvhG,KAAKw/F,kBACL,OAAO,EAGX,IAAItlE,EAAOl6B,KAAKugG,eAGhB,GAAIrmE,EAAKs7B,WAAW,KAIhB,OAHAx1D,KAAKyiG,cACLziG,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,YACE,EAIX,MAAMuC,IACD3oE,aAAI,EAAJA,EAAM+/B,SAAS,SAAS//B,aAAI,EAAJA,EAAM+/B,SAAS,SAAkC,QAAxB,EAAgB,QAAhB,EAAA//B,EAAKu3B,MAAM,aAAK,eAAEz2D,cAAM,QAAI,GAAK,GAAM,EAGvF8nG,EAAgBtE,GAA6BxnD,KAAK9c,GAExD,GAAI2oE,GAAmBC,EAAe,CAClC,MAAMnB,EAAO3hG,KAAK2gG,QAAQ3gG,KAAK2/F,SAAW,GAU1C,OARK3/F,KAAKs/F,SAASrlC,SAAS,SAAYj6D,KAAKs/F,SAASrlC,SAAS,SAAY6nC,GAAUH,KACjF3hG,KAAKs/F,SAAWt/F,KAAKs/F,SAAS1hG,MAAM,GAAI,GAAK,QAIjDs8B,EAAOl6B,KAAK+hG,eAAe7nE,GAC3Bl6B,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,YACE,EAGX,OAAO,EAGHkB,mBACJ,GAAIxhG,KAAKw/F,kBACL,OAAO,EAGX,MAAMtlE,EAAOl6B,KAAKugG,eAElB,QAAIxC,GAAkB/mD,KAAK9c,KACvBl6B,KAAK+iG,YAAc,CAAE74E,OAAQgQ,EAAK8nE,YAAagB,UAAU,GACzDhjG,KAAKsgG,WACLtgG,KAAK+gG,iBAAiB/gG,KAAKijG,mBACpB,GAqBPA,mBACJ,GAAIxF,GAAyBz9F,KAAK+/F,6BAA+B//F,KAAK+iG,YAGlE,OAFA/iG,KAAK+iG,iBAAcjkG,OACnBkB,KAAKghG,YAIT,IAAI9mE,EAAOl6B,KAAKugG,eAEhB,GAAIxC,GAAkB/mD,KAAK9c,GAKvB,OAJAl6B,KAAKsgG,WACLtgG,KAAKyiG,YAAY,aACjBziG,KAAKghG,iBACLhhG,KAAK+iG,iBAAcjkG,GAEhB,CACH,IAAIokG,EAAgB,IACpB,MAAMC,EAAcnjG,KAAK+iG,YAAY74E,OAAO3c,MAAM,KAC5C61F,EAA0B,GAEhC,GAAIpjG,KAAK+iG,YAAYC,SAAU,CAC3B,EAAG,CAKC,IAAIK,EAAW,EACf,IAAK,IAAI/oG,EAAI,EAAGA,EAAI6oG,EAAYnoG,OAAQV,IAAK,CACzC,MACMK,EADWwoG,EAAY7oG,GACRU,OAAS,EACxBsoG,EAAYppE,EAAKt8B,MAAMylG,EAAUA,EAAW1oG,QAEzBmE,IAArBskG,EAAc9oG,GACd8oG,EAAc9oG,GAAK,GAAGgpG,KAEtBF,EAAc9oG,GAAK8oG,EAAc9oG,GAAG0K,OAAO,OAAOs+F,MAEtDD,GAAY1oG,EAEhBqF,KAAKsgG,WACLpmE,EAAOl6B,KAAKugG,sBAEX9C,GAAyBz9F,KAAK+/F,6BAC9B/B,GAAiBhnD,KAAK9c,KACtB6jE,GAAkB/mD,KAAK9c,IAG5Bl6B,KAAK+iG,YAAYC,UAAW,EAG5BI,EAAc99E,SAASsqC,IACnBszC,GAAiB,GAAGtzC,QAExB5vD,KAAKyiG,YAAYS,GAGjB,MAAMK,EAAerpE,EAAK8nE,YAAYr8F,QAAQ,KAAM,KAAKA,QAAQ,IAAK,KACtE3F,KAAKyiG,YAAY,IAAIc,MACrBvjG,KAAKsgG,eACF,CAEH,IAAI+C,EAAW,EACfF,EAAY79E,SAASk+E,IACjB,MAAM7oG,EAAM6oG,EAAOxoG,OAAS,EACtBsoG,EAAYppE,EAAKt8B,MAAMylG,EAAUA,EAAW1oG,GAClDuoG,GAAiB,GAAGI,KAEpBD,GAAY1oG,KAGhBqF,KAAKyiG,YAAYS,GACjBljG,KAAKsgG,aAKTgB,aACJ,GAAIthG,KAAKw/F,kBACL,OAAO,EAGX,IAAItlE,EAAOl6B,KAAKugG,eAChB,MAAMkD,EAAYxF,GAAsBrtC,KAAK12B,GAC7C,GAA0B,KAAtBupE,aAAS,EAATA,EAAWzoG,QAYX,OAVIyoG,EAAU,GAAGzoG,QAAU,IACvBk/B,EAAO,IAAIslD,OAAOikB,EAAU,GAAGzoG,OAAS,GAAKk/B,EAAK0iE,YAGtD58F,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,WAEDtgG,KAAK4nB,SAAW5nB,KAAK0jG,YACrB1jG,KAAK+gG,iBAAiB/gG,KAAK0jG,aAExB,EAGX,MAAMC,EAAgBzF,GAA0BttC,KAAK12B,GACrD,GAA8B,KAA1BypE,aAAa,EAAbA,EAAe3oG,QAaf,OAZgC,IAA5B2oG,EAAc,GAAG3oG,OACjBk/B,EAAOA,EAAO,IAAMA,EACbypE,EAAc,GAAG3oG,QAAU,IAElCk/B,EAAO,IAAIslD,OAAOmkB,EAAc,GAAG3oG,OAAS,GAAKk/B,EAAK0iE,YAG1D58F,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,WACDtgG,KAAK4nB,SAAW5nB,KAAK0jG,YACrB1jG,KAAK+gG,iBAAiB/gG,KAAK0jG,aAExB,EAGX,MAAME,EAAoBzF,GAAwBvtC,KAAK12B,GACvD,OAAkC,KAA9B0pE,aAAiB,EAAjBA,EAAmB5oG,UACnBgF,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,YACE,GAMPoD,aACJ,GAAIjG,GAAyBz9F,KAAK+/F,4BAA8B//F,KAAK6gG,6BACjE7gG,KAAKghG,iBAQT,IAHyBhhG,KAAKshG,aAGT,CACjB,MAAMpnE,EAAOl6B,KAAKugG,eAAeyB,YACjChiG,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,YAILsC,kBAGJ,MAAMnxC,EAAQ6sC,GAAoB1tC,KAAK5wD,KAAKugG,gBAC5C,GAAc,OAAV9uC,GAAmC,IAAjBA,EAAMz2D,OAAc,CACtC,MAAM6oG,EAAgBpyC,EAAM,GACtBqyC,EAAYryC,EAAM,GAEF,UAAlBoyC,IACA7jG,KAAKy/F,uBAAwB,EAC7Bz/F,KAAKyiG,cACLziG,KAAKyiG,YAAY,OACjBziG,KAAKyiG,YAAYqB,GACjB9jG,KAAKyiG,YAAY,OACjBziG,KAAKyiG,eAIa,IAAtBziG,KAAK4/F,aAEL5/F,KAAKghG,YAELhhG,KAAK4nB,OAAS5nB,KAAK+jG,qBAGvB/jG,KAAKsgG,WAGDyD,uBACCtG,GAAyBz9F,KAAK+/F,6BAA8B//F,KAAK6gG,8BAKlE7gG,KAAKy/F,uBAGLz/F,KAAK0hG,gBAAgB1hG,KAAKugG,eAAe3D,YAG7C58F,KAAKsgG,YAVDtgG,KAAKghG,YAaLyB,YAAYvoE,GACXujE,GAAyBvjE,GAGlBl6B,KAAKu/F,uBACbv/F,KAAKs/F,UAAY,KACjBt/F,KAAKu/F,sBAAuB,IAJ5Bv/F,KAAKs/F,UAAYplE,EAAO,KACxBl6B,KAAKu/F,sBAAuB,GAO5BgD,QAAQnrE,GACZp3B,KAAKs/F,UAAYloE,EACjBp3B,KAAKu/F,sBAAuB,EAGxBc,yBAAyBnmE,EAAc8pE,GAAY,GACvDhkG,KAAKs/F,SAAWt/F,KAAKs/F,SAASxC,YAC9B98F,KAAKu/F,sBAAuB,EAEvByE,GACDhkG,KAAKyiG,cAGTziG,KAAKyiG,YAAYvoE,IAIzB,SAASumE,GAAoBjyF,GACzB,OAAOA,EAAEy1F,OAAOtG,IAGpB,SAASF,GAAyBjvF,GAC9B,YAAa1P,IAAN0P,IAAoBovF,GAAoB5mD,KAAKxoC,GAGxD,SAASszF,GAAU5nE,G,QACf,YAAgBp7B,IAATo7B,IAA4D,QAArC,EAA6B,QAA7B,EAAAA,EAAKu3B,MAAM,0BAAkB,eAAEz2D,cAAM,QAAI,GAAK,EC5zBzE,SAASkpG,GAAgBx8B,GAE5B,OAAOE,GADW0vB,GAAuB5vB,ICyDtC,MAAMy8B,GAAyB,IAE/B,MAAMC,GACTn4F,YAAmByjF,EAA0B2U,EAAyBC,GAAnD,KAAA5U,YAA0B,KAAA2U,WAAyB,KAAAC,YAMnE,MAAMC,GAAwB,GA6B9B,IAAUC,GAmFAC,GAgBAC,GA4BAC,GAwQAC,GAwkBAC,GAocAC,GAmBAC,GAyBAC,GA2BAC,GAyBAC,GAmGAC,GA4JAC,GAkIV,SAASC,GAAQrmG,GACpB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAASgnC,GAAetmG,GAC3B,OAAyB,IAAlBA,EAAKs/D,UAAkCkmC,GAASvmG,WAAWe,GAG/D,SAASumG,GAAgBvmG,GAC5B,OAAyB,IAAlBA,EAAKs/D,UAAkCkmC,GAASgB,eAAexmG,GAGnE,SAASymG,GAAMzmG,GAClB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAASonC,GAAU1mG,GACtB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAASqnC,GAAe3mG,GAC3B,OAAsB,IAAlBA,EAAKs/D,UAAmD,IAAlBt/D,EAAKs/D,YAI3CsnC,GAAQ5mG,SAC6DF,IAA9DE,EAAK6mG,SAASt6B,MAAMu6B,IAAaH,GAAeG,KAMxD,SAASC,GAAU/mG,GACtB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAASsnC,GAAQ5mG,GACpB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAAS0nC,GAAkBhnG,GAC9B,QAAI+mG,GAAU/mG,MAIV4mG,GAAQ5mG,SAC+DF,IAAhEE,EAAK6mG,SAASt6B,MAAMu6B,GAAYE,GAAkBF,KAM1D,SAASG,GAAQjnG,GACpB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAAS4nC,GAAoBlnG,GAChC,OAAyB,IAAlBA,EAAKs/D,UAAmCkmC,GAASgB,eAAexmG,GAGpE,SAASmnG,GAAgBnnG,GAC5B,OAAyB,IAAlBA,EAAKs/D,UAAmCkmC,GAASvmG,WAAWe,GAGhE,SAASonG,GAASpnG,GACrB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAAS+nC,GAAUrnG,GACtB,OAAyB,KAAlBA,EAAKs/D,SAGT,SAASgoC,GAAkBtnG,GAC9B,OAAyB,KAAlBA,EAAKs/D,UAAqCt/D,EAAKunG,QAAQC,WAG3D,SAASC,GAA0BznG,GAItC,OAHI4mG,GAAQ5mG,IAAkC,IAAzBA,EAAK6mG,SAAS7qG,SAC/BgE,EAAOA,EAAK6mG,SAAS,IAEA,KAAlB7mG,EAAKs/D,UAAqCt/D,EAAKunG,QAAQC,cAAgBxnG,EAAK0nG,mBAGhF,SAASC,GAAgB3nG,GAC5B,SAAKinG,GAAQjnG,KAAUA,EAAK4nG,YAOzB,SAASA,GAAW5nG,GACvB,OAAOynG,GAA0BznG,IAAS2nG,GAAgB3nG,GAGvD,SAAS6nG,GAAY7nG,GACxB,OAAyB,KAAlBA,EAAKs/D,UAAqCt/D,EAAKunG,QAAQM,YAG3D,SAASC,GAAW9nG,GACvB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAASyoC,GAAqB/nG,GACjC,OAAyB,IAAlBA,EAAKs/D,SAGT,SAAS0oC,GAAiBhoG,GAC7B,OAAIA,EAAKioG,cACEjoG,EAAKioG,cAIZZ,GAAUrnG,IACVA,EAAKunG,QAAQW,wBACbloG,EAAKunG,QAAQY,WACbnoG,EAAKunG,QAAQY,UAAUF,cAEhBjoG,EAAKunG,QAAQY,UAAUF,mBANlC,EAeG,SAASG,GACZC,EACAC,EACAC,GAAsB,EACtBC,GAAkB,EAClBC,EAAiB,G,QAEjB,GAAIJ,IAAUC,EACV,OAAO,EAGX,GAAID,EAAM/oC,WAAagpC,EAAMhpC,SACzB,OAAO,EAGX,IAAKkpC,GAAmBH,EAAMn+B,QAAUo+B,EAAMp+B,MAC1C,OAAO,EAGX,GAAIu+B,EAAiBlD,GACjB,OAAO,EAIX,OAFAkD,IAEQJ,EAAM/oC,UACV,KAAK,EAAoB,CACrB,MAAMopC,EAAaJ,EAGnB,IAAK1C,GAAU+C,mBAAmBN,EAAOK,EAAYD,GACjD,OAAO,EAGX,IAAKvC,GAAc0C,OAAOP,EAAMQ,UAAWP,EAAMO,WAC7C,OAAO,EAGX,IAAKN,IAAwB3C,GAAUkD,qBAAqBT,GAExD,GAAIA,EAAMU,oBAAsBL,EAAWK,mBAAoB,CAC3D,MAAMC,EAAqBX,EAAMU,oBAAsB,GACjDE,EAAqBP,EAAWK,oBAAsB,GAC5D,GAAIC,EAAmBhtG,SAAWitG,EAAmBjtG,OACjD,OAAO,EAGX,IAAK,IAAIV,EAAI,EAAGA,EAAI0tG,EAAmBhtG,OAAQV,IAAK,CAChD,IACK8sG,GACGY,EAAmB1tG,GAAG0E,KACtBipG,EAAmB3tG,GAAG0E,KACtBuoG,GACsB,EACtBE,GAGJ,OAAO,EAGX,GAAIO,EAAmB1tG,GAAG4tG,cAAgBD,EAAmB3tG,GAAG4tG,YAC5D,OAAO,OAGZ,CACH,MAAMC,EAAgBd,EAAMe,eAAiB,GACvCC,EAAgBX,EAAWU,eAAiB,GAC5CE,EAAexlG,KAAK4C,IAAIyiG,EAAcntG,OAAQqtG,EAAcrtG,QAElE,IAAK,IAAIV,EAAI,EAAGA,EAAIguG,EAAchuG,IAK9B,IACK8sG,GAJY9sG,EAAI6tG,EAAcntG,OAASmtG,EAAc7tG,GAAK2qG,GAAQ9yF,SACtD7X,EAAI+tG,EAAcrtG,OAASqtG,EAAc/tG,GAAK2qG,GAAQ9yF,SAM/Do1F,GACsB,EACtBE,GAGJ,OAAO,EAMvB,QAAK7C,GAAU2D,mBAAmBlB,EAAOK,GAO7C,KAAK,EAAuB,CAExB,MAAMc,EAAgBlB,EAChBmB,EAAUpB,EAAMd,QAAQljE,WACxBqlE,EAAUF,EAAcjC,QAAQljE,WAEtC,GAAIolE,EAAQztG,SAAW0tG,EAAQ1tG,OAC3B,OAAO,EAGX,MAAM2tG,EAAuBF,EAAQlZ,WAChCnsE,GAA6B,IAAnBA,EAAMk7C,WAA0Cl7C,EAAM/W,OAE/Du8F,EAAuBF,EAAQnZ,WAChCnsE,GAA6B,IAAnBA,EAAMk7C,WAA0Cl7C,EAAM/W,OAIrE,IAAK,IAAI/R,EAAI,EAAGA,EAAImuG,EAAQztG,OAAQV,IAAK,CACrC,MAAMuuG,EAASJ,EAAQnuG,GACjBwuG,EAASJ,EAAQpuG,GAEvB,GAAIuuG,EAAOvqC,WAAawqC,EAAOxqC,SAC3B,OAAO,EAGX,MAAMyqC,OAA2CjqG,IAAzB6pG,GAAsCruG,GAAKquG,EAGnE,GAAII,UAF6CjqG,IAAzB8pG,GAAsCtuG,GAAKsuG,GAG/D,OAAO,EAGX,GAAIG,GACIF,EAAOx8F,OAASy8F,EAAOz8F,KACvB,OAAO,EAMf,IACK+6F,GAHcvC,GAAamE,0BAA0B3B,EAAO/sG,GAC9CuqG,GAAamE,0BAA0BR,EAAeluG,GAKjEitG,GACsB,EACtBE,GAGJ,OAAO,EAKf,IAAIwB,EAAc5B,EAAMd,QAAQ2C,mBAC5B7B,EAAM8B,kBAAoB9B,EAAM8B,iBAAiBC,aACjDH,EAAc5B,EAAM8B,iBAAiBC,aAEpCH,GAAe5B,EAAMgC,qBACtBJ,EAAc5B,EAAMgC,oBAGxB,IAAIC,EAAcd,EAAcjC,QAAQ2C,mBAQxC,OAPIV,EAAcW,kBAAoBX,EAAcW,iBAAiBC,aACjEE,EAAcd,EAAcW,iBAAiBC,aAE5CE,GAAed,EAAca,qBAC9BC,EAAcd,EAAca,wBAG5BJ,IAAeK,GAEVL,GACAK,GACAlC,GACG6B,EACAK,EACA/B,GACsB,EACtBE,IAUhB,KAAK,EAAiC,CAElC,MAAMe,EAAgBlB,EACtB,GAAID,EAAMkC,UAAUvuG,SAAWwtG,EAAce,UAAUvuG,OACnD,OAAO,EAKX,IAAK,IAAIV,EAAI,EAAGA,EAAI+sG,EAAMkC,UAAUvuG,OAAQV,IACxC,IACK8sG,GACGC,EAAMkC,UAAUjvG,GAChBkuG,EAAce,UAAUjvG,GACxBitG,EACAC,EACAC,GAGJ,OAAO,EAIf,OAAO,EAGX,KAAK,EAAoB,CACrB,MAAM+B,EAAalC,EACbmC,EAAYpC,EAAMxB,SAClB6D,EAAYF,EAAW3D,SAE7B,OAAI4D,EAAUzuG,SAAW0uG,EAAU1uG,aAQ/B8D,IADA6qG,GAAYtC,GAAQvB,IAAaX,GAAUyE,aAAaJ,EAAY1D,EAAS2B,KAKrF,KAAK,GAAsB,CACvB,MAAMoC,EAAevC,EAErB,GAAID,EAAMyC,UAAYD,EAAaC,QAC/B,OAAO,EAKX,GAAIzC,EAAMd,QAAQwD,yBAA2BF,EAAatD,QAAQwD,wBAAyB,CACvF,MAAM5B,GAAoC,QAApB,EAAAd,aAAK,EAALA,EAAOJ,qBAAa,eAAEmB,gBAAiB,GACvDC,GAAoC,QAApB,EAAAf,aAAK,EAALA,EAAOL,qBAAa,eAAEmB,gBAAiB,GACvDE,EAAexlG,KAAK4C,IAAIyiG,EAAcntG,OAAQqtG,EAAcrtG,QAElE,IAAK,IAAIV,EAAI,EAAGA,EAAIguG,EAAchuG,IAK9B,IACK8sG,GAJY9sG,EAAI6tG,EAAcntG,OAASmtG,EAAc7tG,GAAK2qG,GAAQ9yF,SACtD7X,EAAI+tG,EAAcrtG,OAASqtG,EAAc/tG,GAAK2qG,GAAQ9yF,SAM/Do1F,GACsB,EACtBE,GAGJ,OAAO,EAKnB,GAAIJ,EAAMd,UAAYsD,EAAatD,QAC/B,OAAO,EAGX,GACIc,EAAMd,QAAQl6F,OAASw9F,EAAatD,QAAQl6F,MAC5Cg7F,EAAMd,QAAQM,cAAgBgD,EAAatD,QAAQM,aACnDQ,EAAMd,QAAQC,aAAeqD,EAAatD,QAAQC,YAClDa,EAAMd,QAAQyD,gBAAkBH,EAAatD,QAAQyD,eACrD3C,EAAMd,QAAQ0D,WAAaJ,EAAatD,QAAQ0D,UAChD5C,EAAMyC,UAAYD,EAAaC,QAE/B,OAAO,EAGX,MAAMI,EAAa7C,EAAMd,QAAQY,UAC3BgD,EAAaN,EAAatD,QAAQY,UACxC,GAAI+C,GACA,IACKC,IACA/C,GACG8C,EACAC,EACA5C,GACsB,EACtBE,GAGJ,OAAO,OAGX,GAAI0C,EACA,OAAO,EAIf,MAAMC,EAAe/C,EAAMd,QAAQ8D,YAC7BC,EAAeT,EAAatD,QAAQ8D,YAC1C,GAAID,EAAapvG,SAAWsvG,EAAatvG,OACrC,OAAO,EAGX,IAAK,IAAIV,EAAI,EAAGA,EAAI8vG,EAAapvG,OAAQV,IACrC,IACK8sG,GACGgD,EAAa9vG,GACbgwG,EAAahwG,GACbitG,GACsB,EACtBE,GAGJ,OAAO,EAIf,OAAO,EAGX,KAAK,EAAqB,CACtB,MAAM8C,EAAcjD,EAIpB,OAAID,EAAMmD,SAAWD,EAAYC,QAMP,IAAtBnD,EAAMmD,OAAOlrG,MAA0C,IAA5BirG,EAAYC,OAAOlrG,MAQ1D,OAAO,EAKJ,SAASmrG,GAAuBzrG,GACnC,OAAO0rG,GAAgB1rG,GAAOutD,GAAYm5C,GAAUn5C,KAKjD,SAASo+C,GAAc3rG,GAC1B,OAAI4mG,GAAQ5mG,GACD0rG,GAAgB1rG,GAAOutD,GAAYw5C,GAAUx5C,KAGpDw5C,GAAU/mG,GACH0lG,GAAYvyF,SAGhBnT,EAKJ,SAAS4rG,GAAoB5rG,GAChC,OAAO0rG,GAAgB1rG,GAAOutD,GAAY+4C,GAAe/4C,KAGtD,SAASm+C,GAAgB1rG,EAAY6rG,GACxC,GAAIjF,GAAQ5mG,GAAO,CACf,MAAM8rG,EAAiB9rG,EAAK6mG,SAASh9C,QAAQ0D,IAAOs+C,EAAat+C,KACjE,GAAIu+C,EAAe9vG,OAASgE,EAAK6mG,SAAS7qG,OAAQ,CAC9C,MAAM+vG,EAAUC,GAAaF,GAM7B,OAJIlF,GAAQmF,IACR5F,GAAU8F,mBAAmBF,EAAS/rG,GAGnC+rG,GAIf,OAAO/rG,EAGJ,SAAS2qG,GAAY3qG,EAAY6pD,GACpC,OAAI+8C,GAAQ5mG,GACDA,EAAK6mG,SAASt6B,MAAMu6B,GAChBj9C,EAAOi9C,KAIfj9C,EAAO7pD,GAAQA,OAAOF,EAO1B,SAASksG,GAAanF,EAAkBqF,GAE3C,IAAIC,GAAc,EAOlB,GAAwB,KANxBtF,EAAWA,EAASh9C,QAAQi9C,IACC,IAArBA,EAAQxnC,UAAmCwnC,EAAQsF,aACnDD,GAAc,GAEU,IAArBrF,EAAQxnC,aAENtjE,OACT,OAAOmwG,EAAcnG,GAAUqG,iBAAmBrG,GAAUsG,cAKhE,IAAIC,GAAqB,EACzB,IAAK,IAAIphF,EAAQ,EAAGA,EAAQ07E,EAAS7qG,OAAQmvB,IACzC,GAAI07E,EAAS17E,KAAW07E,EAAS,GAAI,CACjC0F,GAAqB,EACrB,MAIR,GAAIA,EACA,OAAO1F,EAAS,GAIpB,IAAI2F,EAAwB,GAC5B,MAAMC,EAAgC,GACtC,IAAK,MAAM3F,KAAWD,EACdD,GAAQE,IACR0F,EAAcnwG,QAAQyqG,EAAQD,UAC1BC,EAAQmB,cACRwE,EAAiBpwG,KAAKyqG,GACfA,EAAQ2F,kBACfA,EAAiBpwG,QAAQyqG,EAAQ2F,mBAGrCD,EAAcnwG,KAAKyqG,GA6B3B,GAxBA0F,EAAgBA,EAAchyC,MAAK,CAAC6tC,EAAOC,IAElCnB,GAAgBkB,SAAiCvoG,IAAvBuoG,EAAMqE,cAChCxF,GAAoBmB,SAAiCvoG,IAAvBuoG,EAAMqE,aAE9B,EAENvF,GAAgBmB,SAAiCxoG,IAAvBwoG,EAAMoE,cAChCxF,GAAoBoB,SAAiCxoG,IAAvBwoG,EAAMoE,cAE7B,EAGRvF,GAAgBkB,IAAUA,EAAMsE,iBACzB,EACAxF,GAAgBmB,IAAUA,EAAMqE,kBAC/B,EAGL,IAKkB,IAAzBH,EAAcxwG,OACd,OAAO0pG,GAAYvyF,SAGvB,MAAMy5F,EAAezG,GAAUhzF,SAC3Bs5F,EAAiBzwG,OAAS,IAC1B4wG,EAAaH,iBAAmB,IAAI36D,IACpC26D,EAAiBnmF,SAAS3D,IACtBiqF,EAAaH,iBAAkB7lF,IAAIjE,OAI3C,IAAIkqF,GAAqB,EAczB,OAZAL,EAAclmF,SAAQ,CAACwgF,EAAS37E,KACd,IAAVA,EACAg7E,GAAU2G,QAAQF,EAAc9F,QAERhnG,IAApBosG,GAAiCU,EAAa/F,SAAS7qG,OAASkwG,EA4ChF,SAA0Ba,EAAsBC,GAI5C,GAAI7F,GAAgB6F,SAAsCltG,IAAxBktG,EAAUnE,UAAyB,CACjE,GACIjD,GAAUqH,UAAUD,EAAW,aACJltG,IAA3BktG,EAAUN,mBACkB5sG,IAA5BitG,EAAUG,cAKV,YAHKH,EAAUG,cAAc9nF,IAAI4nF,EAAUN,eACvCvG,GAAU2G,QAAQC,EAAWC,IAG9B,GACHpH,GAAUqH,UAAUD,EAAW,aACJltG,IAA3BktG,EAAUN,mBACkB5sG,IAA5BitG,EAAUI,cAKV,YAHKJ,EAAUI,cAAc/nF,IAAI4nF,EAAUN,eACvCvG,GAAU2G,QAAQC,EAAWC,IAMzC,IAAK,IAAI1xG,EAAI,EAAGA,EAAIyxG,EAAUlG,SAAS7qG,OAAQV,IAAK,CAChD,MAAM0E,EAAO+sG,EAAUlG,SAASvrG,GAGhC,GAAI8sG,GAAWpoG,EAAMgtG,GACjB,OAKJ,GAAI7F,GAAgBnnG,IAASmnG,GAAgB6F,GAAY,CACrD,GAAII,GAA0BptG,EAAMgtG,SACNltG,IAAtBE,EAAK0sG,aACL,OAMR,GACI9G,GAAUqH,UAAUjtG,EAAM,UACzBA,EAAK6oG,WACNjD,GAAUqH,UAAUD,EAAW,UAC9BA,EAAUnE,gBAEoB/oG,IAA3BktG,EAAUN,eAA+BM,EAAUN,eAAiB1sG,EAAK0sG,aAEzE,YADAK,EAAUlG,SAASvrG,GAAKsqG,GAAUyH,iBAAiBrtG,OAAMF,IAQrE,GAAIqnG,GAAgB6F,IAAcA,EAAUL,kBACpCxF,GAAgBnnG,IAAS4lG,GAAU+C,mBAAmB3oG,EAAMgtG,GAC5D,OAKZ7G,GAAU2G,QAAQC,EAAWC,GA9GjBM,CAAiBV,EAAc9F,GAE/B+F,GAAqB,KAK7BA,EACO5G,GAAQ9yF,SAIkB,IAAjCy5F,EAAa/F,SAAS7qG,OACf4wG,EAAa/F,SAAS,GAG1B+F,EAMJ,SAASQ,GAA0BG,EAAgBC,GAEtD,QAAIpF,GAAWmF,EAAUC,KAIrBtG,GAAoBsG,SAAqC1tG,IAAzB0tG,EAAQd,iBAMxCvF,GAAgBqG,SAAqC1tG,IAAzB0tG,EAAQd,gBAH7BtE,GAAWmF,EADlBC,EAAU5H,GAAUyH,iBAAiBG,OAAS1tG,KAv/EtD,SAAiB0lG,GAyBb,SAAgBiI,EAA8BztG,GAC1C,MAAO,IAAKA,GAzBA,EAAAwmG,eAAhB,SAA+BxmG,GAC3B,OAAiD,IAA5B,EAAbA,EAAKkqE,QAGD,EAAAjrE,WAAhB,SAA2Be,GACvB,OAA6C,IAAxB,EAAbA,EAAKkqE,QAGD,EAAAwjC,YAAhB,SAA4B1tG,GACxB,OAA8C,IAAzB,EAAbA,EAAKkqE,QAGD,EAAAyjC,cAAhB,SAA8B3tG,GAC1B,OAAgD,IAA3B,EAAbA,EAAKkqE,QAGD,EAAA0jC,eAAhB,SAA+B5tG,GAC3B,OAAQA,EAAKkqE,OAAS,GAGV,EAAA2jC,YAAhB,SAA4B7tG,GACxB,QAASA,EAAK6tG,aAGF,EAAAJ,UAAS,EAIT,EAAAK,kBAAhB,SACI9tG,EACAqN,EACA0gG,EACAC,EACAC,EACAC,GAEA,MAAMC,EAAYV,EAAUztG,GAU5B,OARAmuG,EAAUlG,cAAgB,CACtB56F,OACA0gG,WACAK,eAAgBH,EAChB7E,cAAe8E,EACfF,kBAGGG,GAGK,EAAAE,kBAAhB,SAAkCruG,GAC9B,MAAMmuG,EAAYV,EAAUztG,GAE5B,OADAmuG,EAAUjkC,OAAS,EACZikC,GAGK,EAAAG,kBAAhB,SAAkDtuG,EAAS6oG,GAGvD,QAAuB/oG,IAAnBE,EAAK6oG,gBAAyC/oG,IAAd+oG,EAChC,OAAO7oG,EAGX,MAAMmuG,EAAYV,EAAUztG,GAE5B,OADAmuG,EAAUtF,UAAYA,EACfsF,GAGK,EAAAI,sBAAhB,SAAsCvuG,GAClC,GAAIA,EAAK6tG,YACL,OAAO7tG,EAGX,MAAMmuG,EAAYV,EAAUztG,GAE5B,OADAmuG,EAAUN,aAAc,EACjBM,GA3Ef,CAAiB3I,QAAQ,KAmFzB,SAAiBC,GACb,MAAM+I,EAAyB,CAC3BlvC,SAAU,EACV4K,MAAO,GAGK,EAAA/2D,OAAhB,WAEI,OAAOq7F,GARf,CAAiB/I,QAAW,KAgB5B,SAAiBC,GACb,MAAM8I,EAAyB,CAC3BlvC,SAAU,EACV4K,MAAO,GAGK,EAAA/2D,OAAhB,WAEI,OAAOq7F,GARf,CAAiB9I,QAAW,KA4B5B,SAAiBC,GACG,EAAAxyF,OAAhB,SAAuB64D,EAAoBnP,EAAkB4xC,GASzD,MARkC,CAC9BnvC,SAAU,EACVksC,OAAQiD,GAAe,IAAI3vF,IAC3B4vF,aAAc,IAAI5vF,IAClBorD,MAAO,EACP8B,aACAnP,aAKQ,EAAA8xC,SAAhB,SAAyBC,EAAwBvhG,GAI7C,IAAIsuE,EAASizB,EAAWpD,OAAOjmG,IAAI8H,GAEnC,GAAIuhG,EAAWF,aACX,GAAK/yB,GAEE,GAAIA,EAAOkzB,qBAAsB,CAIpC,MAAMC,EAAeF,EAAWF,aAAanpG,IAAI8H,GAC7CyhG,IAAiBA,EAAaD,uBAC9BlzB,EAASmzB,SAPbnzB,EAASizB,EAAWF,aAAanpG,IAAI8H,GAW7C,OAAOsuE,GAhCf,CAAiBgqB,QAAU,KAwQ3B,SAAiBC,GA+Cb,SAAgBmJ,EAAoBC,GAChC,GAAIxJ,GAASgB,eAAewI,GACxB,OAAOA,EAGX,MAAMC,EAAYzJ,GAASiI,UAAUuB,GAGrC,OAFAC,EAAU/kC,QAAS,EACnB+kC,EAAU/kC,OAAS,EACZ+kC,EA2HX,SAAgBhC,EAAUgC,EAAsBve,GAC5C,KAAgC,EAA1Bue,EAAU1H,QAAQr9B,OACpB,OAAO,EAGX,QAAkBpqE,IAAd4wF,EAAyB,CACzB,MAAMwe,EAAaxyG,MAAMuD,QAAQywF,GAAaA,EAAY,CAACA,GAC3D,OACIwe,EAAWz/C,MAAMpiD,GAASA,IAAS4hG,EAAU1H,QAAQl6F,QACrD6hG,EAAWz/C,MAAMpiD,GAASA,IAAS4hG,EAAUE,YAIrD,OAAO,EAgHX,SAAgBxG,EAAmBsG,EAAsB3G,EAAkBG,EAAiB,GACxF,GAAIA,EAAiBlD,GACjB,OAAO,EAKX,GAHAkD,IAGIwG,EAAU1H,UAAYe,EAAMf,QAC5B,OAAO,EAKX,MAAM6H,EAAgBH,EAAU1H,QAC1B8H,EAAgB/G,EAAMf,QAE5B,GAAI6H,IAAkBC,EAClB,OAAO,EAKX,GACID,EAAcrB,WAAasB,EAActB,UACzCqB,EAAcllC,QAAUmlC,EAAcnlC,OACtCklC,EAAcE,eAAiBD,EAAcC,cAC7CF,EAAcG,YAAYvzG,SAAWqzG,EAAcE,YAAYvzG,QAC/DozG,EAAchB,eAAepyG,SAAWqzG,EAAcjB,eAAepyG,OAErE,OAAO,EAKX,GAAI4pG,EAAUqH,UAAUgC,EAAW,eAAiBrJ,EAAUqH,UAAU3E,EAAO,cAC3E,OAAO,EAEX,GAAI1C,EAAUqH,UAAUgC,EAAW,UAAYrJ,EAAUqH,UAAU3E,EAAO,SACtE,OAAO,EAIX,IAAK,IAAIhtG,EAAI,EAAGA,EAAI8zG,EAAcG,YAAYvzG,OAAQV,IAClD,IACK8sG,GACGgH,EAAcG,YAAYj0G,GAC1B+zG,EAAcE,YAAYj0G,IACA,OACJwE,EACtB2oG,GAGJ,OAAO,EAIf,IAAI2G,EAAcI,mBAAqBH,EAAcG,sBAE5CJ,EAAcI,oBACdH,EAAcG,oBACdpH,GACGgH,EAAcI,kBACdH,EAAcG,mBACY,OACJ1vG,EACtB2oG,IAGJ,OAAO,EAIf,IAAK,IAAIntG,EAAI,EAAGA,EAAI8zG,EAAchB,eAAepyG,OAAQV,IACrD,IACK8sG,GACGgH,EAAchB,eAAe9yG,GAC7B+zG,EAAcjB,eAAe9yG,IACH,OACJwE,EACtB2oG,GAGJ,OAAO,EAIf,OAAO,EApYK,EAAAgH,mBAAhB,SACIpiG,EACA0gG,EACA/hC,EACAnP,EACAqN,EACAolC,EACAE,EACAE,EACArR,GAsBA,MApB4B,CACxB/+B,SAAU,EACVioC,QAAS,CACLl6F,OACA0gG,WACA/hC,aACAnP,WACAqN,QACAolC,eACAC,YAAa,GACbC,oBACAE,qBACAC,IAAK,GACLnE,OAAQ,IAAI1sF,IACZsvF,eAAgB,GAChB/P,aAEJn0B,MAAO,IAMC,EAAA0lC,gBAAhB,SAAgCX,GAC5B,GAAIzJ,GAASvmG,WAAWgwG,GACpB,OAAOA,EAGX,MAAMD,EAAaxJ,GAASiI,UAAUwB,GAItC,OAHAD,EAAW9kC,QAAU,EACrB8kC,EAAW9kC,OAAS,EACpB8kC,EAAWa,mBAAoB,EACxBb,GAGK,EAAAD,oBAAmB,EAWnB,EAAAe,uBAAhB,SACIb,EACA7F,EACA2G,EACAF,GAAoB,EACpB9G,EACA4D,GAEA,MAAMqD,EAAexK,GAASiI,UAAUwB,GAqBxC,OAlBAe,EAAa5G,cAAgBA,EACvBA,EAActkF,KAAKyoC,GAAO84C,GAAQ94C,KAAOA,EAAE6+C,WAAa1G,GAAYvyF,SAAWo6C,SAC/EztD,EAENkwG,EAAaD,uBAAyBA,EAClCF,IACAG,EAAaH,mBAAoB,GAErCG,EAAajH,mBAAqBA,EAC5BA,EAAmBjkF,KAAKyoC,GACpB84C,GAAQ94C,EAAEvtD,MAAQ,CAAEA,KAAM0lG,GAAYvyF,SAAU+1F,YAAa37C,EAAE27C,aAAgB37C,SAEnFztD,OAEmBA,IAArB6sG,IACAqD,EAAarD,iBAAmBA,GAG7BqD,GAGK,EAAA3C,iBAAhB,SAAiC4B,EAAsB3wG,GACnD,MAAM0xG,EAAexK,GAASiI,UAAUwB,GAExC,OADAe,EAAatD,aAAepuG,EACrB0xG,GAGK,EAAAC,oBAAhB,SAAoChB,EAAsBE,GACtD,MAAMa,EAAexK,GAASiI,UAAUwB,GAExC,OADAe,EAAab,UAAYA,EAClBa,GAGK,EAAAE,iCAAhB,SACIjB,EACAkB,GAEA,MAAMH,EAAexK,GAASiI,UAAUwB,GAExC,OADAe,EAAaI,yBAA2BD,EACjCH,GAGK,EAAAK,2BAAhB,SAA2CpB,EAAsBhB,GAC7D,MAAM+B,EAAexK,GAASiI,UAAUwB,GAGxC,OAFAe,EAAazI,QAAU,IAAKyI,EAAazI,SACzCyI,EAAazI,QAAQ6G,eAAiBH,EAC/B+B,GAGK,EAAAM,kBAAhB,SACIrB,EACAsB,EACAC,GAEA,MAAMR,EAAexK,GAASiI,UAAUwB,GAGxC,OAFAe,EAAaO,cAAgBA,EAC7BP,EAAaQ,kBAAoBA,EAC1BR,GAGK,EAAAS,0BAAhB,SAA0CxB,GACtC,MAAMe,EAAexK,GAASiI,UAAUwB,GAKxC,OAJAe,EAAazI,QAAU,IAAKyI,EAAazI,SACzCyI,EAAazI,QAAQiE,OAAS,IAAI1sF,IAAIkxF,EAAazI,QAAQiE,QAC3DwE,EAAazI,QAAQoI,IAAM,IAAIK,EAAazI,QAAQoI,KACpDK,EAAazI,QAAQoI,IAAI,GAAKZ,EAAoBiB,GAC3CA,GAGK,EAAAU,iBAAhB,SAAiCzB,EAAsBrH,GAAa,GAChE,MAAMoI,EAAexK,GAASiI,UAAUwB,GAExC,OADAe,EAAapI,WAAaA,EACnBoI,GAGK,EAAAzG,mBAAhB,SAAmClB,EAAkBC,GACjD,YAA2BxoG,IAAvBuoG,EAAMqE,kBACwB5sG,IAAvBwoG,EAAMoE,kBACiB5sG,IAAvBwoG,EAAMoE,eAIbrE,EAAMqE,wBAAwBtH,GAC1BkD,EAAMoE,wBAAwBtH,IACvBiD,EAAMqE,aAAarH,WAAaiD,EAAMoE,aAAarH,SAK3DgD,EAAMqE,eAAiBpE,EAAMoE,eAIxB,EAAAiE,gBAAhB,SAAgC1B,GAC5B,OAAOA,EAAU1H,QAAQ6G,eAAepyG,OAAS,QAAiC8D,IAA5BmvG,EAAU7F,eAGpD,EAAAwH,iBAAhB,SAAiC3B,EAAsBve,GACnD,SAAgC,EAA1Bue,EAAU1H,QAAQr9B,OAA2C+kC,EAAUE,kBAI3DrvG,IAAd4wF,GACOue,EAAU1H,QAAQl6F,OAASqjF,IAM1B,EAAAuc,UAAS,EAgBT,EAAA4D,wBAAhB,SAAwC5B,GACpC,SAAoC,IAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA4mC,YAAhB,SAA4B7B,GACxB,SAAoC,EAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA6mC,+BAAhB,SAA+C9B,GAC3C,SAAoC,GAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA8mC,6BAAhB,SAA6C/B,GACzC,SAAoC,GAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA+mC,kBAAhB,SAAkChC,GAC9B,SAAoC,EAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAgnC,4BAAhB,SAA4CjC,GACxC,SAAoC,GAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAinC,6BAAhB,SAA6ClC,GACzC,SAAoC,QAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAknC,0BAAhB,SAA0CnC,GACtC,SAAoC,SAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAmnC,gCAAhB,SAAgDpC,GAC5C,SAAoC,SAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAonC,iBAAhB,SAAiCrC,GAC7B,SAAoC,IAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAqnC,oBAAhB,SAAoCtC,GAChC,SAAoC,IAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAsnC,YAAhB,SAA4BvC,GACxB,SAAoC,QAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAunC,gBAAhB,SAAgCxC,GAC5B,SAAoC,KAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAwnC,gBAAhB,SAAgCzC,GAC5B,SAAoC,QAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAyyB,QAAhB,SAAwBsS,GACpB,SAAoC,KAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAynC,gBAAhB,SAAgC1C,GAC5B,SAAoC,KAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA0nC,gBAAhB,SAAgC3C,GAC5B,SAAoC,QAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA4+B,qBAAhB,SAAqCmG,GACjC,SAAoC,MAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA2nC,oBAAhB,SAAoC5C,GAChC,OAAOA,EAAU1H,QAAQuK,kBAAoB,IAGjC,EAAAC,mBAAhB,SAAmC9C,GAC/B,SAAoC,MAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA8nC,uBAAhB,SAAuC/C,GACnC,SAAoC,MAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA+nC,uBAAhB,SAAuChD,GACnC,SAAoC,OAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAgoC,sBAAhB,SAAsCjD,GAClC,SAAoC,OAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAioC,aAAhB,SAA6BlD,GACzB,SAAoC,OAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAkoC,4BAAhB,SAA4CnD,GACxC,SAAoC,SAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAmoC,kBAAhB,SAAkCpD,GAC9B,OAAOA,EAAU1H,QAAQ6G,gBAGb,EAAAkE,oBAAhB,SAAoCrD,GAChC,OAAOA,EAAU1H,QAAQoI,IAAIlgD,MAAM8iD,GAAc5L,GAAe4L,MAIpD,EAAA5J,mBAAkB,EA8FlB,EAAA6J,cAAhB,SAAgBA,EACZC,EACAC,EACAC,GAGA,GAAIhK,EAAmB8J,EAAcC,GAIjC,OAHIC,GACAA,EAAiBt2G,KAAKo2G,IAEnB,EAMX,GAAIxF,EAAUwF,IAAiBxF,EAAUyF,EAAiB,UAItD,OAHIC,GACAA,EAAiBt2G,KAAKq2G,IAEnB,EAGX,IAAK,MAAMH,KAAaE,EAAalL,QAAQgI,YACzC,GAAIrI,GAAoBqL,IACpB,GAAIC,EAAcD,EAAWG,EAAiBC,GAI1C,OAHIA,GACAA,EAAiBt2G,KAAKo2G,IAEnB,OAER,GAAI9L,GAAe4L,GAItB,OAHII,GACAA,EAAiBt2G,KAAKqpG,GAAYvyF,WAE/B,EAIf,OAAO,GApbf,CAAiByyF,QAAS,KAwkB1B,SAAiBC,GAqBb,SAAS1yF,EACL9F,EACA0gG,EACA/hC,EACA4mC,EACAC,EACAxU,GAcA,MAZsC,CAClC/+B,SAAU,EACVioC,QAAS,CACLl6F,OACA0gG,WACA/hC,aACA9B,MAAO0oC,EACPvuE,WAAY,GACZg6D,aAEJn0B,MAAO2oC,GAmYf,SAAgB7I,EAA0BhqG,EAAoBmrB,GAG1D,OAFA2nC,EAAO3nC,EAAQnrB,EAAKunG,QAAQljE,WAAWroC,OAAQ,kCAE3CgE,EAAKmqG,kBAAoBh/E,EAAQnrB,EAAKmqG,iBAAiB2I,eAAe92G,OAC/DgE,EAAKmqG,iBAAiB2I,eAAe3nF,GAGzCnrB,EAAKunG,QAAQljE,WAAWlZ,GAAOnrB,KAhb1B,EAAA+yG,eAAhB,SACI1lG,EACA0gG,EACA/hC,EACA4mC,EACAvU,GAEA,OAAOlrF,EAAO9F,EAAM0gG,EAAU/hC,EAAY4mC,EAAe,EAAoBvU,IAGjE,EAAAoR,mBAAhB,SACIpiG,EACA0gG,EACA/hC,EACA4mC,EACAvU,GAEA,OAAOlrF,EAAO9F,EAAM0gG,EAAU/hC,EAAY4mC,EAAe,EAAwBvU,IA4BrE,EAAA2U,MAAhB,SACIhzG,EACAizG,GAAkB,EAClBC,EACAC,GAEA,MAAMC,EAAcjgG,EAChBnT,EAAKunG,QAAQl6F,KACbrN,EAAKunG,QAAQwG,SACb/tG,EAAKunG,QAAQv7B,WACbhsE,EAAKunG,QAAQr9B,MACblqE,EAAKkqE,MACLlqE,EAAKunG,QAAQlJ,WA4CjB,OAzCA+U,EAAY7L,QAAU,IAAKvnG,EAAKunG,SAChC6L,EAAYF,YAAcA,EAC1BE,EAAYC,cAAgBD,EAAY7L,QAAQr9B,MAE5C+oC,IAEIjzG,EAAKunG,QAAQljE,WAAWroC,OAAS,GACO,IAAxCgE,EAAKunG,QAAQljE,WAAW,GAAGi7B,UAEvBt/D,EAAKunG,QAAQljE,WAAWroC,OAAS,IAAMgE,EAAKunG,QAAQljE,WAAW,GAAGivE,iBAGlEF,EAAYG,uBAAyBvJ,EAA0BhqG,EAAM,IAEzEozG,EAAY7L,QAAQljE,WAAarkC,EAAKunG,QAAQljE,WAAWzlC,MAAM,IAE/Dq0G,GAAkB,EAKtBG,EAAY7L,QAAQr9B,QAAS,EAC7BkpC,EAAY7L,QAAQr9B,OAAS,QAGNpqE,IAAvBE,EAAKioG,gBACLmL,EAAYnL,cAAgBjoG,EAAKioG,eAGjCjoG,EAAKmqG,mBACLiJ,EAAYjJ,iBAAmB,CAC3B2I,eAAgBG,EACVjzG,EAAKmqG,iBAAiB2I,eAAel0G,MAAM,GAC3CoB,EAAKmqG,iBAAiB2I,eAC5B1I,WAAYpqG,EAAKmqG,iBAAiBC,aAI1CgJ,EAAY/I,mBAAqBrqG,EAAKqqG,mBACtC+I,EAAYD,oBAAsBA,EAE3BC,GAGK,EAAAxD,gBAAhB,SAAgC5vG,GAC5B8yD,EAAO0yC,GAASgB,eAAexmG,IAE/B,MAAMwzG,EAA4BhO,GAASiI,UAAUztG,GAGrD,OAFAwzG,EAAYtpC,QAAU,EACtBspC,EAAYtpC,OAAS,EACdspC,GAGK,EAAAzE,oBAAhB,SAAoC/uG,GAChC8yD,EAAO0yC,GAASvmG,WAAWe,IAE3B,MAAMwzG,EAA4BhO,GAASiI,UAAUztG,GAGrD,OAFAwzG,EAAYtpC,QAAS,GACrBspC,EAAYtpC,OAAS,EACdspC,GAMK,EAAA1D,uBAAhB,SACI9vG,EACAmqG,EACAsJ,GAEA,MAAML,EAAcjgG,EAChBnT,EAAKunG,QAAQl6F,KACbrN,EAAKunG,QAAQwG,SACb/tG,EAAKunG,QAAQv7B,WACbhsE,EAAKunG,QAAQr9B,MACblqE,EAAKkqE,MACLlqE,EAAKunG,QAAQlJ,WAWjB,OATA+U,EAAY7L,QAAUvnG,EAAKunG,QAE3Bz0C,EAAOq3C,EAAiB2I,eAAe92G,SAAWgE,EAAKunG,QAAQljE,WAAWroC,QAC1Eo3G,EAAYjJ,iBAAmBA,EAE3BsJ,IACAL,EAAY/I,mBAAqBoJ,GAG9BL,GAIK,EAAAM,kBAAhB,SAAkC1zG,EAAoB2zG,GAClD,MAAMP,EAAcjgG,EAChBnT,EAAKunG,QAAQl6F,KACbrN,EAAKunG,QAAQwG,SACb/tG,EAAKunG,QAAQv7B,WACbhsE,EAAKunG,QAAQr9B,MACblqE,EAAKkqE,MACLlqE,EAAKunG,QAAQlJ,WAsDjB,OAnDA+U,EAAYjJ,iBAAmBnqG,EAAKmqG,iBAGpCiJ,EAAY7L,QAAU,IAAKvnG,EAAKunG,gBAIzB6L,EAAY7L,QAAQqM,UAEvBD,IACAP,EAAY7L,QAAQljE,WAAa,IAC1BrkC,EAAKunG,QAAQljE,cACbsvE,EAAetvE,WAAWvf,KAAK+uF,IACvB,CACHv0C,SAAUu0C,EAAUv0C,SACpBjyD,KAAMwmG,EAAUxmG,KAChBymG,WAAYD,EAAUC,WACtBC,kBAAmBF,EAAUE,kBAC7BC,iBAAiB,EACjBh0G,KAAM6zG,EAAU7zG,UAKvBozG,EAAY7L,QAAQlJ,YACrB+U,EAAY7L,QAAQlJ,UAAYsV,EAAetV,WAGnD+U,EAAY7L,QAAQr9B,MAEZ,MADHypC,EAAezpC,M,GAQhB27B,EAAaoO,iBAAiBj0G,KAC9BozG,EAAY7L,QAAQr9B,OAAS,OAI7BkpC,EAAYjJ,kBACZwJ,EAAetvE,WAAW/d,SAAS4tF,IAC/Bd,EAAYjJ,iBAAkB2I,eAAez2G,KAAK63G,EAAUl0G,SAIpEozG,EAAY7L,QAAQqM,UAAYD,EAAeC,WAG5CR,GAGK,EAAAe,kBAAhB,SAAkCn0G,EAAoBkqE,GAClD,MAAMkpC,EAAc5N,GAASiI,UAAUztG,GAOvC,OAJAozG,EAAY7L,QAAU,IAAKvnG,EAAKunG,SAEhC6L,EAAY7L,QAAQr9B,MAAQA,EAErBkpC,GAGK,EAAAgB,6BAAhB,SAA6Cp0G,EAAoB2zG,GAC7D,MAAMP,EAAc5N,GAASiI,UAAUztG,GAcvC,GAXAozG,EAAY7L,QAAU,IAAKvnG,EAAKunG,SAGhC6L,EAAY7L,QAAQljE,WAAa+uE,EAAY7L,QAAQljE,WAAWzlC,MAC5D,EACAw0G,EAAY7L,QAAQljE,WAAWroC,OAAS,GAMxC23G,EAAetvE,WAAWorB,MAAMgL,GAA6B,IAAnBA,EAAM6E,WAA0C7E,EAAMptD,QAC5F+lG,EAAY7L,QAAQljE,WAAWroC,OAAS,EAAG,CAC3C,MAAMq4G,EAAYjB,EAAY7L,QAAQljE,WAAW+uE,EAAY7L,QAAQljE,WAAWroC,OAAS,GAC9D,IAAvBq4G,EAAU/0C,UAA0C+0C,EAAUhnG,MAC9D+lG,EAAY7L,QAAQljE,WAAW4W,MAqB3C,OAhBA04D,EAAetvE,WAAW/d,SAASutF,IAC/BT,EAAY7L,QAAQljE,WAAWhoC,KAAK,CAChCijE,SAAUu0C,EAAUv0C,SACpBjyD,KAAMwmG,EAAUxmG,KAChBymG,WAAYD,EAAUC,WACtBC,kBAAmBF,EAAUE,kBAC7BC,iBAAiB,EACjBh0G,KAAM6zG,EAAU7zG,UAIxBozG,EAAY7L,QAAQqM,UAAYD,EAAeC,UAC1CR,EAAY7L,QAAQlJ,YACrB+U,EAAY7L,QAAQlJ,UAAYsV,EAAetV,WAG5C+U,GAGK,EAAAkB,8BAAhB,SAA8Ct0G,EAAoB4zG,GAC9D,MAAMR,EAAcjgG,EAChBnT,EAAKunG,QAAQl6F,KACbrN,EAAKunG,QAAQwG,SACb/tG,EAAKunG,QAAQv7B,WACbhsE,EAAKunG,QAAQr9B,MACblqE,EAAKkqE,MACLlqE,EAAKunG,QAAQlJ,WAwBjB,OApBA+U,EAAY7L,QAAU,IAAKvnG,EAAKunG,SAGhC6L,EAAY7L,QAAQljE,WAAa+uE,EAAY7L,QAAQljE,WAAWzlC,MAC5D,EACAw0G,EAAY7L,QAAQljE,WAAWroC,OAAS,GAGxCgE,EAAKmqG,mBACLiJ,EAAYjJ,iBAAmB,IAAKnqG,EAAKmqG,kBACzCiJ,EAAYjJ,iBAAiB2I,eAAiBM,EAAYjJ,iBAAiB2I,eAAel0G,MACtF,EACAw0G,EAAYjJ,iBAAiB2I,eAAe92G,OAAS,IAIxDo3G,EAAY7L,QAAQqM,YACrBR,EAAY7L,QAAQqM,UAAYA,GAG7BR,GAGK,EAAAmB,qBAAhB,SAAqCC,EAA4BC,GAAa,GAC1E5O,EAAa6O,aAAaF,EAAc,CACpCl1C,SAAU,EACVjyD,KAAM,OACNrN,KAAMy0G,EAAa/O,GAAYvyF,SAAW8yF,GAAQ9yF,SAClD6gG,iBAAkBS,IAEtB5O,EAAa6O,aAAaF,EAAc,CACpCl1C,SAAU,EACVjyD,KAAM,SACNrN,KAAMy0G,EAAa/O,GAAYvyF,SAAW8yF,GAAQ9yF,SAClD6gG,iBAAkBS,KAKV,EAAAE,qBAAhB,SAAqCH,GACjC,IAAII,GAAU,EACVC,GAAY,EAEhB,IAAK,IAAIv5G,EAAI,EAAGA,EAAIk5G,EAAajN,QAAQljE,WAAWroC,OAAQV,IAAK,CAC7D,MAAM8oB,EAAQowF,EAAajN,QAAQljE,WAAW/oC,GAG9C,GAAK8oB,EAAM/W,KAAX,CAIA,GAAuB,IAAnB+W,EAAMk7C,SACN,OAAO,EAOX,GAN8B,IAAnBl7C,EAAMk7C,SACbs1C,GAAU,EACgB,IAAnBxwF,EAAMk7C,WACbu1C,GAAY,IAGXlO,GAAed,EAAamE,0BAA0BwK,EAAcl5G,IACrE,OAAO,GAIf,OAAOs5G,GAAWC,GAGN,EAAAC,iBAAhB,SAAiC90G,GAC7B,OAKI,IAHI,EADHA,EAAKunG,QAAQr9B,QAQN,EAAA6qC,oBAAhB,SAAoC/0G,GAChC,OAAsE,IAAzC,EAArBA,EAAKunG,QAAQr9B,QAGT,EAAA8qC,eAAhB,SAA+Bh1G,GAC3B,OAAiE,IAApC,EAArBA,EAAKunG,QAAQr9B,QAGT,EAAA+qC,cAAhB,SAA8Bj1G,GAC1B,OAAgE,IAAnC,EAArBA,EAAKunG,QAAQr9B,QAGT,EAAAgrC,iBAAhB,SAAiCl1G,GAC7B,OAAmE,IAAtC,EAArBA,EAAKunG,QAAQr9B,QAGT,EAAAirC,YAAhB,SAA4Bn1G,GACxB,OAA8D,IAAjC,GAArBA,EAAKunG,QAAQr9B,QAGT,EAAAkrC,oBAAhB,SAAoCp1G,GAChC,OAAsE,IAAzC,GAArBA,EAAKunG,QAAQr9B,QAGT,EAAAmrC,uBAAhB,SAAuCr1G,GACnC,OAAyE,IAA5C,IAArBA,EAAKunG,QAAQr9B,QAGT,EAAAorC,aAAhB,SAA6Bt1G,GACzB,OAA+D,IAAlC,IAArBA,EAAKunG,QAAQr9B,QAGT,EAAAqrC,gCAAhB,SAAgDv1G,GAC5C,OAAyE,IAA5C,GAArBA,EAAKunG,QAAQr9B,QAGT,EAAA0tB,QAAhB,SAAwB53F,GACpB,OAA0D,IAA7B,IAArBA,EAAKunG,QAAQr9B,QAGT,EAAAsrC,wBAAhB,SAAwCx1G,GACpC,OAA0E,IAA7C,KAArBA,EAAKunG,QAAQr9B,QAGT,EAAAurC,iBAAhB,SAAiCz1G,GAC7B,OAAmE,IAAtC,KAArBA,EAAKunG,QAAQr9B,QAGT,EAAAwrC,oBAAhB,SAAoC11G,GAChC,OAAsE,IAAzC,KAArBA,EAAKunG,QAAQr9B,QAGT,EAAAyyB,QAAhB,SAAwB38F,GACpB,OAA0D,IAA7B,KAArBA,EAAKunG,QAAQr9B,QAGT,EAAAyrC,qBAAhB,SAAqC31G,GACjC,OAAsE,IAAzC,MAArBA,EAAKunG,QAAQr9B,QAGT,EAAA0rC,uCAAhB,SAAuD51G,GACnD,OAAqF,IAAxD,MAArBA,EAAKunG,QAAQr9B,QAGT,EAAA+pC,iBAAhB,SAAiCj0G,GAC7B,OAAmE,IAAtC,MAArBA,EAAKunG,QAAQr9B,QAGT,EAAA8/B,0BAAyB,EAUzB,EAAA0K,aAAhB,SAA6B10G,EAAoBokB,GAC7CpkB,EAAKunG,QAAQljE,WAAWhoC,KAAK+nB,IAGjB,EAAAyxF,yBAAhB,SAAyC71G,GACrC,OAAOA,EAAKmqG,kBAAoBnqG,EAAKmqG,iBAAiBC,WAChDpqG,EAAKmqG,iBAAiBC,WACtBpqG,EAAKunG,QAAQ2C,oBA3b3B,CAAiBrE,QAAY,KAoc7B,SAAiBC,GACG,EAAA3yF,OAAhB,SAAuBo3F,GAMnB,MALwC,CACpCjrC,SAAU,EACVirC,YACArgC,MAAO,IAKC,EAAA4rC,YAAhB,SAA4B91G,EAA8Bw0G,GACtDx0G,EAAKuqG,UAAUluG,KAAKm4G,IAX5B,CAAiB1O,QAAsB,KAmBvC,SAAiBC,GACb,MAAMgQ,EAA0B,CAC5Bz2C,SAAU,EACV4K,MAAO,GAGL8rC,EAAsB,CACxB12C,SAAU,EACV4K,MAAO,GAGK,EAAA6oC,eAAhB,WACI,OAAOgD,GAGK,EAAAE,WAAhB,WACI,OAAOD,GAhBf,CAAiBjQ,QAAQ,KAyBzB,SAAiBC,GACb,MAAMkQ,EAA4B,CAC9B52C,SAAU,EACV4K,MAAO,EACPkiC,YAAY,GAGV+J,EAA+B,CACjC72C,SAAU,EACV4K,MAAO,EACPkiC,YAAY,GAGA,EAAAE,YAAhB,WACI,OAAO4J,GAGK,EAAA7J,eAAhB,WACI,OAAO8J,GAlBf,CAAiBnQ,QAAS,KA2B1B,SAAiBC,GACb,MAAMmQ,EAAwB,CAC1B92C,SAAU,EACV+2C,YAAY,EACZnsC,MAAO,GAGLosC,EAA6B,CAC/Bh3C,SAAU,EACV+2C,YAAY,EACZnsC,MAAO,GAGK,EAAA/2D,OAAhB,SAAuBkjG,GAAa,GAChC,OAAOA,EAAaC,EAAoBF,GAdhD,CAAiBnQ,QAAO,KAyBxB,SAAiBC,GAyBb,SAASqQ,EAASC,EAAmBC,GACjC,OAAID,EAAGE,YAAcD,EAAGC,aACZ,EACDF,EAAGE,YAAcD,EAAGC,YACpB,EAEPF,EAAGG,gBAAkBF,EAAGE,iBAChB,EACDH,EAAGG,gBAAkBF,EAAGE,gBACxB,EAEJ,EAnCK,EAAA9iE,QAAhB,SACI+iE,EACAC,GAEA,IAAKD,EACD,OAAOC,EAGX,IAAKA,EACD,OAAOD,EAIX,MAAME,EAAW,IAAIF,GAQrB,OAPAC,EAAYvwF,SAASkwF,IACZM,EAASrnD,MAAMgnD,GAA4B,IAArBF,EAASC,EAAIC,MACpCK,EAASz6G,KAAKm6G,MAKfM,EAASt8C,KAAK+7C,IAiBT,EAAA3N,OAAhB,SACIgO,EACAC,GAEA,OAAKD,KAIAC,GAAeD,EAAY56G,SAAW66G,EAAY76G,cAS7C8D,IAJN82G,EAAYrqC,MACR,CAACiqC,EAAIrrF,IACDqrF,EAAGE,cAAgBG,EAAY1rF,GAAOurF,aACtCF,EAAGG,kBAAoBE,EAAY1rF,GAAOwrF,mBAX1CE,GAoBA,EAAAE,aAAhB,SACIH,EACAC,GAEA,IAAKD,IAAgBC,EACjB,OAAO,EAGX,IAAK,MAAML,KAAMI,EAAa,CAC1B,IAAII,GAAoB,EACxB,MAAMC,EAAaJ,EAAYtqC,MAAMkqC,GAC7BD,EAAGE,cAAgBD,EAAGC,cACtBM,GAAoB,EACbR,EAAGG,kBAAoBF,EAAGE,mBAKzC,GAAIK,IAAsBC,EACtB,OAAO,EAIf,OAAO,GAvFf,CAAiB/Q,QAAa,KAmG9B,SAAiBC,GACG,EAAAhzF,OAAhB,WAOI,MANgC,CAC5BmsD,SAAU,EACVunC,SAAU,GACV38B,MAAO,IAMC,EAAA4iC,QAAhB,SAAwBC,EAAsBhB,GAKtC5E,GAAgB4E,IAChBnG,GAAUqH,UAAUlB,EAAS,aACJjsG,IAAzBisG,EAAQW,mBACc5sG,IAAtBisG,EAAQlD,gBAEwB/oG,IAA5BitG,EAAUG,gBACVH,EAAUG,cAAgB,IAAIpuF,KAElCiuF,EAAUG,cAAc/mG,IAAI4lG,EAAQW,aAAwBX,IAE5D5E,GAAgB4E,IAChBnG,GAAUqH,UAAUlB,EAAS,aACJjsG,IAAzBisG,EAAQW,mBACc5sG,IAAtBisG,EAAQlD,iBAEwB/oG,IAA5BitG,EAAUI,gBACVJ,EAAUI,cAAgB,IAAIruF,KAElCiuF,EAAUI,cAAchnG,IAAI4lG,EAAQW,aAAiCX,IAGzEgB,EAAU7iC,OAAS6hC,EAAQ7hC,MAC3B6iC,EAAUlG,SAASxqG,KAAK0vG,IAGZ,EAAAnB,aAAhB,SAA6BmC,EAAsBjG,EAAe2B,EAAiB,GAG/E,GAAItB,GAAgBL,SAAkChnG,IAAtBgnG,EAAQ+B,UAAyB,CAC7D,GACIjD,GAAUqH,UAAUnG,EAAS,aACJhnG,IAAzBgnG,EAAQ4F,mBACoB5sG,IAA5BitG,EAAUG,cAEV,OAAOH,EAAUG,cAAc9nF,IAAI0hF,EAAQ4F,cACxC,GACH9G,GAAUqH,UAAUnG,EAAS,aACJhnG,IAAzBgnG,EAAQ4F,mBACoB5sG,IAA5BitG,EAAUI,cAEV,OAAOJ,EAAUI,cAAc/nF,IAAI0hF,EAAQ4F,cAInD,YASU5sG,IARNitG,EAAUlG,SAASt6B,MAAMhf,GACrB66C,GACI76C,EACAu5C,OAC0BhnG,OACJA,EACtB2oG,MAMA,EAAAwD,mBAAhB,SAAmCc,EAAsBmK,GACrD,GAAiC,IAA7BA,EAAgB53C,SAAiC,CACjD,MAAM63C,EAAeD,EAAgBjP,cAAgB,CAACiP,GAAmBA,EAAgBzK,iBAErF0K,IACKpK,EAAUN,mBACXM,EAAUN,iBAAmB,IAAI36D,KAGrCqlE,EAAa7wF,SAAS3D,IAClBoqF,EAAUN,iBAAkB7lF,IAAIjE,SAnFpD,CAAiBwjF,QAAS,KA4J1B,SAAiBC,GA4Fb,SAAgBgR,EAAkB/pG,EAAcy9F,GAC5C,MAAO,GAAGz9F,KAAQy9F,IAGtB,SAAS33F,EAAO9F,EAAcw6F,EAAsBgL,GAahD,MAZoC,CAChCvzC,SAAU,GACVioC,QAAS,CACLl6F,OACAg+F,YAAa,GACbJ,SAAU,EACVpD,cACAL,YAAY,EACZwD,eAAe,GAEnB9gC,MAAO2oC,GA1GC,EAAAE,eAAhB,SAA+B1lG,GAC3B,OAAO8F,EAAO9F,GAAwB,EAAO,IAGjC,EAAAoiG,mBAAhB,SAAmCpiG,EAAcw6F,GAAc,GAC3D,OAAO10F,EAAO9F,EAAMw6F,EAAa,IAGrB,EAAA+H,gBAAhB,SAAgC5vG,GAC5B8yD,EAAO0yC,GAASgB,eAAexmG,IAE/B,MAAMwzG,EAA2BhO,GAASiI,UAAUztG,GAGpD,OAFAwzG,EAAYtpC,QAAU,EACtBspC,EAAYtpC,OAAS,EACdspC,GAGK,EAAAzE,oBAAhB,SAAoC/uG,GAChC8yD,EAAO0yC,GAASvmG,WAAWe,IAE3B,MAAMwzG,EAA2BhO,GAASiI,UAAUztG,GAGpD,OAFAwzG,EAAYtpC,QAAS,GACrBspC,EAAYtpC,OAAS,EACdspC,GAGK,EAAA6D,gBAAhB,SACIr3G,EACA8qG,EACAwM,EACAC,GAEA,MAAM/D,EAAchO,GAASiI,UAAUztG,GAKvC,OAJAwzG,EAAYgE,cAAgBJ,EAAkBp3G,EAAKunG,QAAQl6F,KAAMy9F,GACjE0I,EAAY1I,QAAUA,EACtB0I,EAAY8D,UAAYA,EACxB9D,EAAY+D,UAAYA,EACjB/D,GAGK,EAAA9C,iBAAhB,SAAiC1wG,EAAmBy3G,GAAY,GAC5D3kD,EAAO9yD,EAAKunG,QAAQC,YACpB,MAAMgM,EAAchO,GAASiI,UAAUztG,GAGvC,OAFAwzG,EAAY9L,oBAAqB,EACjC8L,EAAYkE,kBAAoBD,EACzBjE,GAGK,EAAAmE,eAAhB,SAA+B33G,GAC3B8yD,EAAO9yD,EAAKunG,QAAQC,YACpB,MAAMgM,EAAchO,GAASiI,UAAUztG,GAGvC,OAFAwzG,EAAY9L,oBAAqB,EACjC8L,EAAYkE,mBAAoB,EACzBlE,GAKK,EAAAoE,iBAAhB,SAAiC53G,GAC7B,GAAIA,EAAKunG,QAAQM,aAAe7nG,EAAKunG,QAAQC,WACzC,OAAOxnG,EAGX,GAA8B,IAA1BA,EAAKunG,QAAQ0D,eACkBnrG,IAA3BE,EAAKunG,QAAQY,WAA+D,IAApCnoG,EAAKunG,QAAQ8D,YAAYrvG,OACjE,OAAOgE,EAIf,MAAMwzG,EAAchO,GAASiI,UAAUztG,GAKvC,OAJAwzG,EAAYjM,QAAU,IAAKiM,EAAYjM,SACvCiM,EAAYjM,QAAQ0D,SAAW,EAC/BuI,EAAYjM,QAAQY,eAAYroG,EAChC0zG,EAAYjM,QAAQ8D,YAAc,GAC3BmI,GAGK,EAAAqE,wBAAhB,SAAwC73G,EAAmB83G,GACvD,MAAMtE,EAAchO,GAASiI,UAAUztG,GAEvC,OADAwzG,EAAYuE,gBAAkBD,EACvBtE,GAGK,EAAAwE,uBAAhB,SAAuCh4G,EAAmBi4G,GACtDnlD,EAAO9yD,EAAKunG,QAAQ2Q,mBACpB,MAAM1E,EAAchO,GAASiI,UAAUztG,GAGvC,OAFAwzG,EAAYjM,QAAU,IAAKiM,EAAYjM,SACvCiM,EAAYjM,QAAQY,UAAY8P,EACzBzE,GAGK,EAAA4D,kBAAiB,EAoBjB,EAAAe,cAAhB,SAA8BC,EAA0BC,GACpDD,EAAY7Q,QAAQ8D,YAAYhvG,KAAKg8G,IAGzB,EAAAC,iBAAhB,SAAiCF,GAE7B,OAAOA,EAAYZ,eAAiBY,EAAY7Q,QAAQl6F,MAG5C,EAAAkrG,gBAAhB,SAAgCH,GAC5B,OAAIA,EAAYd,UACL,GAAGc,EAAY7Q,QAAQl6F,QAAQ+qG,EAAYd,YAG/Cc,EAAY7Q,QAAQl6F,MA9HnC,CAAiB+4F,QAAW,KCtzD5B,IAAIoS,GAAe,EAQZ,MAAM,GAkBTvrG,YAAYi9D,EAAQ,GAChBlpE,KAAK4c,GAzBF46F,KA0BHx3G,KAAKy3G,OAASvuC,EAGlB,sBAAsBA,EAAoBlqE,GACtC,MAAM04G,EAAY,IAAI,GAAOxuC,GAE7B,OADAwuC,EAAUC,iBAAmB34G,EACtB04G,EAGXE,qBACI,SAAwB,EAAd53G,KAAKy3G,QAGnBI,wBACI73G,KAAKy3G,QAAU,EAGnB5J,qBACI,SAAwB,EAAd7tG,KAAKy3G,QAGnBK,+BACI93G,KAAKy3G,QAAU,GAGnBM,4BACI,SAAwB,GAAd/3G,KAAKy3G,QAGnBO,mBACIh4G,KAAKy3G,QAAU,EAGnBQ,gBACI,SAAwB,EAAdj4G,KAAKy3G,QAGnBS,sBACIl4G,KAAKy3G,QAAU,EAGnBU,mBACI,SAAwB,EAAdn4G,KAAKy3G,QAGnBW,gBACIp4G,KAAKy3G,QAAU,IAGnBY,aACI,SAAwB,IAAdr4G,KAAKy3G,QAGnBa,eACIt4G,KAAKy3G,QAAU,KAGnBc,YACI,SAAwB,KAAdv4G,KAAKy3G,QAGnBe,mBACIx4G,KAAKy3G,QAAU,IAGnBgB,gBACI,SAAwB,IAAdz4G,KAAKy3G,QAGnBiB,qBACI14G,KAAKy3G,QAAU,GAGnBkB,kBACI,SAAwB,GAAd34G,KAAKy3G,QAGnBmB,0BACI54G,KAAKy3G,QAAU,IAGnBoB,yBACI,SAAwB,IAAd74G,KAAKy3G,QAGnBqB,eAAe9wC,GACX,GAAIhoE,KAAK+4G,cAAe,CAIpB,MAAMC,EAAYh5G,KAAK+4G,cAAcxpB,WAAWrnB,GAASmzB,GAAoBnzB,EAAMF,KACnF,GAAIgxC,EAAY,EACZh5G,KAAK+4G,cAAc19G,KAAK2sE,GAIxBhoE,KAAK+4G,cAAczzF,SAAS4iD,IACN,IAAdA,EAAKlpE,MAAqCkpE,EAAK6zB,sBACxC7zB,EAAK6zB,qBAGjB,CAGH,MAAMkd,EAAUj5G,KAAK+4G,cAAcC,GAC/B/d,GAAsBjzB,IACtBhoE,KAAK+4G,cAAcC,GAAahxC,EACX,IAAjBixC,EAAQj6G,MAA0D,IAArBgpE,EAAYhpE,OACpDgpE,EAAYkxC,oBAAsBD,EAAQC,qBAC3ClxC,EAAYkxC,mBAAqBD,EAAQC,qBAGrB,IAArBlxC,EAAYhpE,MAIE,IAAjBi6G,EAAQj6G,OACJgpE,EAAY2zB,UACZsd,EAAQtd,SAAU,GAGlB3zB,EAAY6zB,sBACZod,EAAQpd,oBAAsB7zB,EAAY6zB,oBAC1Cod,EAAQld,cAAgB/zB,EAAY+zB,gBAGnCkd,EAAQC,oBAAsBlxC,EAAYkxC,qBAC3CD,EAAQC,mBAAqBlxC,EAAYkxC,2BAMzDl5G,KAAK+4G,cAAgB,CAAC/wC,GAI9BmxC,kBACI,QAAOn5G,KAAK+4G,eAAgB/4G,KAAK+4G,cAAc/9G,OAAS,EAG5Do+G,kBACI,OAAOp5G,KAAK+4G,cAAgB/4G,KAAK+4G,cAAgB,GAGrDM,uBAEI,QAAIr5G,KAAK23G,kBAIF33G,KAAKo5G,kBAAkB3qD,MAAMyZ,GAAS+yB,GAAsB/yB,KAGvEoxC,uBACI,OAAOt5G,KAAKo5G,kBAAkBvwD,QAAQqf,GAAS+yB,GAAsB/yB,KAGzEqxC,qBACI,OAAOv5G,KAAK23G,kBCtOb,SAAS6B,GAA8B7+B,GAC1C,MAAM8+B,EAAa9+B,EAAO2+B,uBAE1B,GAAIG,EAAWz+G,OAAS,EACpB,OAAOy+G,EAAWA,EAAWz+G,OAAS,GAQvC,SAAS0+G,GAAsC/+B,GAClD,MAAM8+B,EAAa9+B,EAAO2+B,uBAE1B,OAAIG,EAAWz+G,OAAS,GAEE,IADLy+G,EAAWA,EAAWz+G,OAAS,GACnCgE,KAQd,SAAS26G,GAAgBh/B,GAC5B,OAAOA,EAAOy+B,kBAAkB3qD,MAAMyZ,GAASwzB,GAA2BxzB,KCQvE,MAAM0xC,GAOT3tG,YAAY4tG,GAFJ,KAAAC,WAAY,EAGZp+G,MAAMuD,QAAQ46G,GACd75G,KAAK+5G,gBAAkBF,EAEvB75G,KAAK+5G,qBADqBj7G,IAAnB+6G,EACgB,CAACA,QAED/6G,EAG3BkB,KAAKg6G,YAAc,IAAIl8F,IACvB9d,KAAKi6G,cAAgB,IAAIn8F,IAG7Bk0F,QACI,MAAMkI,EAAgB,IAAIN,GAqB1B,OApBI55G,KAAK+5G,kBACLG,EAAcH,gBAAkB,IAAI/5G,KAAK+5G,kBAG7C/5G,KAAKg6G,YAAY10F,SAAShoB,IACtB48G,EAAcC,eAAe78G,EAAM88G,QAAS98G,EAAM+8G,YAAa/8G,EAAMg9G,UAAWh9G,EAAMi9G,kBAG1Fv6G,KAAKi6G,cAAc30F,SAAShoB,IACxB48G,EAAcM,aAAal9G,EAAMs1G,UAAWt1G,EAAM0B,SAGlDgB,KAAKy6G,qBACLz6G,KAAKy6G,oBAAoBn1F,SAAShoB,IAC9B48G,EAAcQ,mBAAmBp9G,EAAM88G,QAAS98G,EAAMq9G,UAI9DT,EAAcJ,UAAY95G,KAAK85G,UAExBI,EAIXU,cAAc5I,GACVhyG,KAAKg6G,YAAchI,EAAMgI,YACzBh6G,KAAKi6G,cAAgBjI,EAAMiI,cAC3Bj6G,KAAKy6G,oBAAsBzI,EAAMyI,oBACjCz6G,KAAK85G,UAAY9H,EAAM8H,UAI3Be,oBACI,OAAO76G,KAAK+5G,gBAGhBe,iBAAiBhR,GACb,YACgBhrG,IAAZgrG,QACyBhrG,IAAzBkB,KAAK+5G,iBACL/5G,KAAK+5G,gBAAgBtrD,MAAMjgD,GAAMA,IAAMs7F,GAAWt7F,IAAM21F,KAIhE4W,kBAAkBC,GACdh7G,KAAK+5G,gBAAkBiB,EAG3BC,iBAAiBnR,QACGhrG,IAAZgrG,GAA0B9pG,KAAK86G,iBAAiBhR,KAC3C9pG,KAAK+5G,kBACN/5G,KAAK+5G,gBAAkB,IAE3B/5G,KAAK+5G,gBAAgB1+G,KAAKyuG,IAIlCxjF,UACI,OAAiC,IAA1BtmB,KAAKg6G,YAAY16G,MAA0C,IAA5BU,KAAKi6G,cAAc36G,KAK7D47G,WACI,IAAIC,EAAQ,EAgBZ,OAbAn7G,KAAKg6G,YAAY10F,SAAShoB,IAEtB69G,GAAS,EAKT,MAAM/D,EAAcp3G,KAAKo7G,eAAe99G,EAAM88G,SAC9Ce,GAAS,EAAMn7G,KAAKq7G,2BAA2BjE,MAGnD+D,GAASn7G,KAAKi6G,cAAc36G,KAErB67G,EAGXG,WAAW90C,GACP,OAAOxmE,KAAKg6G,YAAY51F,IAAIpkB,KAAKu7G,QAAQ/0C,IAG7C40C,eAAe50C,EAAwBg1C,GAAqB,GACxD,MAAM/hD,EAAQz5D,KAAKg6G,YAAYz1G,IAAIvE,KAAKu7G,QAAQ/0C,IAChD,GAAK/M,EAGL,OAAIA,EAAM4gD,YACC5gD,EAAM4gD,YAEZmB,OAAL,EACW/hD,EAAM6gD,UAKrBH,eAAe3zC,EAAwB6zC,EAA+BC,EAAkBC,GACpFzoD,GAAQ9xD,KAAK85G,WACb,MAAM93F,EAAMhiB,KAAKu7G,QAAQ/0C,GACzBxmE,KAAKg6G,YAAY70G,IAAI6c,EAAK,CAAEo4F,QAAS5zC,EAAW6zC,cAAaC,YAAWC,kBAG5EkB,mBAAmBj1C,G,QACf,OAA6D,QAAtD,EAAwB,QAAxB,EAAAxmE,KAAKy6G,2BAAmB,eAAEl2G,IAAIvE,KAAKu7G,QAAQ/0C,WAAW,eAAEm0C,MAGnED,mBAAmBl0C,EAAwBm0C,GACvC7oD,GAAQ9xD,KAAK85G,WACb,MAAM93F,EAAMhiB,KAAKu7G,QAAQ/0C,GAGpBxmE,KAAKy6G,sBACNz6G,KAAKy6G,oBAAsB,IAAI38F,KAEnC9d,KAAKy6G,oBAAoBt1G,IAAI6c,EAAK,CAAEo4F,QAAS5zC,EAAWm0C,UAG5De,WAAWl1C,GACP,MAAMxkD,EAAMhiB,KAAKu7G,QAAQ/0C,GACzB,OAAOxmE,KAAKg6G,YAAYz1G,IAAIyd,GAGhC25F,cACI,MAAM/yF,EAA6B,GAMnC,OAJA5oB,KAAKg6G,YAAY10F,SAASm0C,IACtB7wC,EAAQvtB,KAAKo+D,MAGV7wC,EAGXgzF,aAAap1C,GACT,OAAOxmE,KAAKi6G,cAAc71F,IAAIpkB,KAAKu7G,QAAQ/0C,IAG/Cq1C,aAAar1C,G,MACT,OAAsD,QAA/C,EAAAxmE,KAAKi6G,cAAc11G,IAAIvE,KAAKu7G,QAAQ/0C,WAAW,eAAExnE,KAG5Dw7G,aAAah0C,EAAwBxnE,GACjC8yD,GAAQ9xD,KAAK85G,WACb95G,KAAKi6G,cAAc90G,IAAInF,KAAKu7G,QAAQ/0C,GAAY,CAAEosC,UAAWpsC,EAAWxnE,SAG5E88G,eACI,OAAO97G,KAAKg6G,YAAY16G,KAG5By8G,iBAAiBv1C,GACb,MAAM/M,EAAQz5D,KAAKg6G,YAAYz1G,IAAIvE,KAAKu7G,QAAQ/0C,IAChD,GAAI/M,EACA,OAAOA,EAAM6gD,UAMrB0B,kBAAkBx1C,GACd,MAAM/M,EAAQz5D,KAAKg6G,YAAYz1G,IAAIvE,KAAKu7G,QAAQ/0C,IAChD,SAAS/M,aAAK,EAALA,EAAO8gD,eAGpBjuF,OAEIwlC,GAAQ9xD,KAAK85G,WACb95G,KAAK85G,WAAY,EAGrBmC,SAEIj8G,KAAK85G,WAAY,EAGrBoC,WACI,OAAOl8G,KAAK85G,UAGRyB,QAAQ/0C,GACZ,OAAO4+B,GAAYkS,iBAAiB9wC,GAOhC60C,2BAA2Br8G,EAAYyoG,EAAiB,GAC5D,GAAIA,EAAiBlD,GACjB,OAAO,EAIX,OAFAkD,IAEQzoG,EAAKs/D,UACT,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,GACD,MAAO,GAGX,KAAK,EACL,KAAK,EACD,OAAO,EAEX,KAAK,EAAoB,CACrB,IAAI69C,EAAW,EAYf,OARIn9G,EAAK6mG,SAAS7qG,OAAS,IACvBohH,GAAiBp9G,GAAO8mG,IACpB,MAAMuW,EAAer8G,KAAKq7G,2BAA2BvV,EAAS2B,GAC9D0U,EAAWr5G,KAAK4C,IAAIy2G,EAAUE,MAK/B,IAAOF,EAAW,EAG7B,KAAK,EACD,OAAOn8G,KAAKs8G,4BAA4Bt9G,EAAMyoG,GAKtD,OAAO,EAGH6U,4BAA4BrO,EAAsBxG,GACtD,IAAI8U,EAAkB,EAClBjU,EAAe,EAoBnB,OAlBI2F,EAAUlG,mBACVkG,EAAUlG,mBAAmBziF,SAASk3F,IAClCD,GAAmBv8G,KAAKq7G,2BAA2BmB,EAAQx9G,KAAMyoG,GACjEa,OAEG2F,EAAU7F,cACjB6F,EAAU7F,cAAc9iF,SAAStmB,IAC7Bu9G,GAAmBv8G,KAAKq7G,2BAA2Br8G,EAAMyoG,GACzDa,OAEG2F,EAAU1H,QAAQ6G,gBACzBa,EAAU1H,QAAQ6G,eAAe9nF,SAAStmB,IACtCu9G,GAAmBv8G,KAAKq7G,2BAA2BpW,GAAQ9yF,SAAUs1F,GACrEa,OAKD,GAAiC,KADPA,EAAe,EAAIiU,EAAkBjU,EAAe,ICxI7F,IAAYmU,GClLAC,GDoNL,SAASC,GAAwB39G,GACpC,MAAMghB,EAA+B,CACjC48F,4BAA6B,EAC7BC,mBAAoB,EACpBC,uBAAwB,EACxB38F,OAAQ,GACR48F,4BAA4B,GAGhC,IAAIC,EAAoBh+G,EAAKunG,QAAQljE,WAAWksD,WAC3C/8E,GAAqB,IAAfA,EAAE8rD,WAA0C9rD,EAAEnG,OAKzD,GAAI2wG,EAAoB,EACpB,IAAK,IAAI1iH,EAAI,EAAGA,EAAI0E,EAAKunG,QAAQljE,WAAWroC,OAAQV,IAAK,CACrD,MAAMkY,EAAIxT,EAAKunG,QAAQljE,WAAW/oC,GAClC,GAAmB,IAAfkY,EAAE8rD,SACF,MAGJ,IAAK9rD,EAAEnG,KACH,MAGJ,GAAIm9D,GAAah3D,EAAEnG,QAAUmG,EAAEnG,KAAKmpD,WAAW,MAC3C,MAGJwnD,EAAoB1iH,EAAI,EAI5B0iH,GAAqB,IACrBh9F,EAAO48F,4BAA8BI,GAGzC,IAAK,IAAI1iH,EAAI,EAAGA,EAAI0iH,IACZh+G,EAAKunG,QAAQljE,WAAW/oC,GAAGw4G,WADIx4G,IAKnC0lB,EAAO88F,yBACP98F,EAAO68F,qBAGX,IAAII,GAA0B,EAE9B,MAAMC,EAAsB,CAAC95F,EAA0B+G,EAAegzF,KAClE,GAAI/5F,EAAM/W,KAAM,CACZ,IAAIsV,EAEAA,EADmB,IAAnByB,EAAMk7C,SACGm+C,GAAgBW,aAClBH,EACER,GAAgBY,YAClBL,GAAqB,GAAK7yF,EAAQ6yF,EAChCP,GAAgBW,aAEhBX,GAAgBa,kBAG7Bt9F,EAAOG,OAAO9kB,KAAK,CACf+nB,QACA+G,QACAnrB,KAAMm+G,UAAgBtY,GAAamE,0BAA0BhqG,EAAMmrB,GACnExI,aAmGZ,OA9FA3iB,EAAKunG,QAAQljE,WAAW/d,SAAQ,CAAClC,EAAO+G,KACb,IAAnB/G,EAAMk7C,SAEFl7C,EAAM/W,MAAQs6F,GAAgBvjF,EAAMpkB,OAASokB,EAAMpkB,KAAK+oG,mBACxD3kF,EAAMpkB,KAAK+oG,mBAAmBziF,SAAQ,CAACi4F,EAAUpzF,KAC7C,MAAMm0C,EACFgoC,GAAkBiX,EAASv+G,OAASu+G,EAASrV,YACvC,EACA,EAEO,IAAb5pC,IACAt+C,EAAOw9F,UAAYx9F,EAAOG,OAAOnlB,QAGjCsrG,GAAkBljF,EAAMpkB,QACxBghB,EAAO+8F,4BAA6B,GAGxCG,EACI,CACI5+C,WACAjyD,KAAM,GAAG+W,EAAM/W,QAAQ8d,EAAM3qB,cAC7BR,KAAMu+G,EAASv+G,KACfg0G,iBAAiB,GAErB7oF,EACAozF,EAASv+G,UAIbokB,EAAM/W,WAA6BvN,IAArBkhB,EAAOw9F,YACrBx9F,EAAOw9F,UAAYx9F,EAAOG,OAAOnlB,OAE7BsrG,GAAkBljF,EAAMpkB,QACxBghB,EAAO+8F,4BAA6B,KAQvCE,IAA4BD,EAAoB,GAAK7yF,GAAS6yF,KAC/Dh9F,EAAOy9F,sBAAwBz9F,EAAOG,OAAOnlB,OACzCooB,EAAM/W,MACN2T,EAAOy9F,wBAEXR,GAA0B,GAG9BC,EAAoB95F,EAAO+G,IAEL,IAAnB/G,EAAMk7C,UACb2+C,GAA0B,EAGtB9W,GAAgB/iF,EAAMpkB,OAAS2nG,GAAgBvjF,EAAMpkB,OAASokB,EAAMpkB,KAAKunG,QAAQmX,uBAC5C5+G,IAAjCkhB,EAAOy9F,wBACPz9F,EAAOy9F,sBAAwBz9F,EAAOG,OAAOnlB,QAGjDooB,EAAMpkB,KAAKunG,QAAQmX,iBAAiBp4F,SAAQ,CAACm0C,EAAOptD,KAChD6wG,EACI,CACI5+C,SAAU,EACVjyD,OACArN,KAAMy6D,EAAM1S,UACZisD,iBAAiB,EACjBF,YAAar5C,EAAMkkD,YAEvBxzF,EACAsvC,EAAM1S,eAGP3jC,EAAM/W,YACcvN,IAAvBkhB,EAAO49F,cACP59F,EAAO49F,YAAc59F,EAAOG,OAAOnlB,aAGF8D,IAAjCkhB,EAAOy9F,wBACPz9F,EAAOy9F,sBAAwBz9F,EAAOG,OAAOnlB,QAGjDkiH,EAAoB95F,EAAO+G,KAEL,IAAnB/G,EAAMk7C,WACTl7C,EAAM/W,OAAS4wG,GACfj9F,EAAO68F,qBAGXK,EAAoB95F,EAAO+G,OAI5BnK,EAGJ,SAAS69F,GAAe7+G,GAC3B,QAAI4mG,GAAQ5mG,SAC2DF,IAA5D6qG,GAAY3qG,GAAO8mG,GAAYR,GAAeQ,KAQtD,SAASgY,GAAY9+G,EAAY2U,GACpC,GAAIiyF,GAAQ5mG,GAAO,CACf,MAAM++G,EAAsB,GAC5B,IAAIC,GAAc,EAgBlB,GAdAh/G,EAAK6mG,SAASvgF,SAASwgF,IACnB,MAAMmY,EAAkBtqG,EAASmyF,GAC7BmY,EACIA,IAAoBnY,GACpBiY,EAAY1iH,KAAK6iH,GAAmBD,EAAiBE,GAAiBn/G,KACtEg/G,GAAc,GAEdD,EAAY1iH,KAAKyqG,GAGrBkY,GAAc,MAIjBA,EACD,OAAOh/G,EAGX,MAAM+rG,EAAUC,GAAa+S,GAM7B,OAHyB,IAArBhT,EAAQzsC,UACR6mC,GAAU8F,mBAAmBF,EAAS/rG,GAEnC+rG,EAIX,OAD2Bp3F,EAAS3U,IAEzBgmG,GAAUsG,cAKlB,SAAS8Q,GAAiBp9G,EAAY2U,GACrCiyF,GAAQ5mG,GACRA,EAAK6mG,SAASvgF,SAAQ,CAACwgF,EAAS37E,KAC5BxW,EAASmyF,EAAS37E,MAGtBxW,EAAS3U,EAAM,GAKhB,SAASo/G,GAAazD,EAAepT,GACxC,GAAIoT,EAAM3/G,OAAS,EACf,OAAO,EAGX,IAAK,IAAIV,EAAI,EAAGA,EAAIqgH,EAAM3/G,OAAQV,IAC9B,IAAK8sG,GAAWuT,EAAM,GAAIA,EAAMrgH,GAAIitG,GAChC,OAAO,EAIf,OAAO,EAoEJ,SAAS8W,GAAkBr/G,GAC9B,OAAIinG,GAAQjnG,SACkBF,IAAtBE,EAAK0sG,eACL1sG,EAAO4lG,GAAUyH,iBAAiBrtG,OAAMF,IAGrCE,GAGP4mG,GAAQ5mG,GACD8+G,GAAY9+G,GAAO8mG,GACfuY,GAAkBvY,KAI1B9mG,EAGJ,SAASk/G,GAAmBl/G,EAAY6oG,GAC3C,IAAKA,EACD,OAAO7oG,EAGX,OAAQA,EAAKs/D,UACT,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,GACD,OAAOt/D,EAEX,KAAK,EACL,KAAK,EACD,OAAOwlG,GAAS8I,kBAAkBtuG,EAAMkmG,GAAcryD,QAAQ7zC,EAAK6oG,UAAWA,IAElF,KAAK,EACD,OAAO/C,GAAuB3yF,OAC1BnT,EAAKuqG,UAAUzlF,KAAKyoC,GAAM2xD,GAAmB3xD,EAAGs7C,MAGxD,KAAK,EACD,OAAOrD,GAAS8I,kBAAkBtuG,EAAMkmG,GAAcryD,QAAQ7zC,EAAK6oG,UAAWA,IAElF,KAAK,EACD,OAAOmD,GAAahsG,EAAK6mG,SAAS/hF,KAAKyoC,GAAM2xD,GAAmB3xD,EAAGs7C,OAIxE,SAASsW,GAAiBn/G,GAC7B,OAAQA,EAAKs/D,UACT,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,GACL,KAAK,EACL,KAAK,EACD,OAEJ,KAAK,EACL,KAAK,EACL,KAAK,EACD,OAAOt/D,EAAK6oG,WAMjB,SAASyW,GAAuBt/G,GACnC,QAAKqnG,GAAUrnG,MAINA,EAAKunG,QAAQW,yBAA2BloG,EAAKunG,QAAQY,UA0B3D,SAASoX,GAAoCv/G,G,MAChD,GAAIA,GACIqnG,GAAUrnG,IAASA,EAAKunG,QAAQW,wBAA0BloG,EAAKunG,QAAQY,UAAW,CAClF,MAAMqX,EAAoBha,GAASvmG,WAAWe,GACxCy/G,GAAkBz/G,EAAKunG,QAAQY,WAC/BnoG,EAAKunG,QAAQY,UAEnB,OAAuB,QAAlB,EAAAnoG,EAAKioG,qBAAa,eAAEmB,gBAAkBppG,EAAKunG,QAAQwD,wBASjD2U,GAAoBF,EALRG,GACf3/G,EAAKunG,QAAQwD,wBACb/qG,EAAKioG,cAAcmB,cACnBwW,GAAkB5/G,KANXw/G,EAYnB,OAAOx/G,EAGJ,SAAS4/G,GAAkB5/G,GAC9B,OAAIinG,GAAQjnG,IAIR8nG,GAAW9nG,GAHJA,EAAKunG,QAAQyG,eAOpB3G,GAAUrnG,GACHA,EAAK8qG,aADhB,EASG,SAAS+U,GAAwB7/G,GACpC,IAAIivG,EAQJ,GANI/H,GAAoBlnG,GACpBivG,EAAYjvG,EACLmnG,GAAgBnnG,KACvBivG,EAAYrJ,GAAUmJ,oBAAoB/uG,KAGzCivG,EACD,OAKJ,MAAM6Q,EAAa7Q,EAAU1H,QAAQoI,IAAIpjC,MACpCwzC,GAAa7Y,GAAoB6Y,IAAa5N,GAAa4N,KAEhE,OAAKD,GAAe5Y,GAAoB4Y,GAIpCla,GAAU+C,mBAAmBsG,EAAW6Q,GACjC7Q,EAIJyQ,GAAoBI,EADRE,GAAoC/Q,SARvD,EAYG,SAASgR,GAAcjgH,GAC1B,OAAOwlG,GAASvmG,WAAWe,SAA+BF,IAAtBE,EAAK0sG,aAGtC,SAASwT,GAAqBlgH,GACjC,OAAImnG,GAAgBnnG,QACaF,IAAtBE,EAAK0sG,eAGZ9F,GAAQ5mG,KACA2qG,GAAY3qG,GAAO8mG,IAAaK,GAAgBL,SAAqChnG,IAAzBgnG,EAAQ4F,eAM7E,SAASyT,GAAoBngH,EAAYogH,GAAkB,EAAO3X,EAAiB,G,MACtF,GAAIA,EAAiBlD,GACjB,OAAO,EAIX,GAFAkD,IAEItB,GAAgBnnG,IAASigH,GAAcjgH,GACvC,OAAO,EAGX,GAAIogH,GAAmBnZ,GAAQjnG,GAAO,CAClC,MAAMkuG,GAAkC,QAAvB,EAAAluG,EAAK+oG,0BAAkB,eAAEjkF,KAAKyoC,GAAMA,EAAEvtD,SAASA,EAAKopG,cACrE,GAAI8E,EACA,OAAOA,EAASz+C,MAAM+tD,GAAY2C,GAAoB3C,EAAS4C,EAAiB3X,KAIxF,GAAI7B,GAAQ5mG,GACR,OAAOA,EAAK6mG,SAASp3C,MAAMq3C,GAAYqZ,GAAoBrZ,EAASsZ,EAAiB3X,KAGzF,GAAIV,GAAqB/nG,GACrB,OAAOA,EAAKuqG,UAAU96C,MAAM4wD,GAAaF,GAAoBE,EAAUD,EAAiB3X,KAG5F,GAAIX,GAAW9nG,GAAO,CAClB,MAAMoqG,EAAavE,GAAagQ,yBAAyB71G,GACzD,GAAIoqG,GAAc+V,GAAoB/V,EAAYgW,EAAiB3X,GAC/D,OAAO,EAGX,IAAK,IAAIntG,EAAI,EAAGA,EAAI0E,EAAKunG,QAAQljE,WAAWroC,OAAQV,IAEhD,GAAI6kH,GADcta,GAAamE,0BAA0BhqG,EAAM1E,GAC5B8kH,EAAiB3X,GAChD,OAAO,EAKnB,OAAO,EAOJ,SAAS6X,GAAwBtgH,GACpC,GAAImnG,GAAgBnnG,GAChB,YAA0BF,IAAtBE,EAAK0sG,cAA8B9G,GAAUqH,UAAUjtG,GAChDA,EAAKunG,QAAQl6F,UAExB,EAGJ,GAAIu5F,GAAQ5mG,GAAO,CACf,IAAI0wF,EACA6vB,GAAgB,EAWpB,OATAnD,GAAiBp9G,GAAO8mG,IACpB,MAAM0Z,EAAyBF,GAAwBxZ,GAClD0Z,EAEO9vB,IACRA,EAAY8vB,GAFZD,GAAgB,KAMjBA,OAAgBzgH,EAAY4wF,GAMpC,SAAS+vB,GAAqBzgH,GACjC,OAAI4mG,GAAQ5mG,GACDA,EAAK6mG,SAAS7qG,OAGlB,EAGJ,SAAS0kH,GAAe1gH,GAC3B,OAAOymG,GAAMzmG,IAASA,EAAKq2G,WAGxB,SAASsK,GAAW3gH,GACvB,OAAOmnG,GAAgBnnG,IAAS4lG,GAAU6L,gBAAgBzxG,GAGvD,SAASmyG,GAAanyG,GACzB,OAAO4lG,GAAUqH,UAAUjtG,EAAM,SAM9B,SAAS4gH,GAAsB5gH,GAClC,OAAOA,EAAK+oG,oBAAsB/oG,EAAK+oG,mBAAmBt5C,MAAMlC,GAAMA,EAAE27C,cAMrE,SAAS2X,GAAwB7gH,EAAY8gH,EAA6BC,GAG7E,GAAInb,GAAU+K,gBAAgBmQ,GAC1B,OAAO9gH,EAIX,MAAMghH,EAAahB,GAAoCc,OAAqChhH,GAM5F,OAJIihH,GACAE,GAA8BD,EAAYF,EAAkBC,GAGzDrB,GAAoB1/G,EAAMghH,GAG9B,SAASC,GACZD,EACAF,EACAC,GAEA,MAAMG,EAAyBC,GAA4BL,GAAmC,GAC9FE,EAAW7F,eAAe+F,EAAwBzB,GAAkBsB,IAKjE,SAASrB,GACZ1/G,EACAghH,EACAI,GAAoB,EACpB5E,GAAqB,EACrB6E,GAA4B,GAG5B,OAAIL,EAAW15F,WAAc85F,GAAsBC,EAI/B,IAAIC,GACpBN,EACAI,EACA5E,EACA6E,GAEe18G,MAAM3E,GATdA,EA2CR,SAASuhH,GAAmBtS,GAC/B,MAAMuS,EAAY,IAAI1iG,IAMtB,OAJI8mF,GAAU+L,gBAAgB1C,IAC1BwS,GAA4BxS,EAAWuS,GAGpCA,EAGX,SAASC,GAA4BxS,EAAsBuS,EAAqC/Y,EAAiB,GACzGA,EAAiBlD,KAIrB0J,EAAU1H,QAAQgI,YAAYjpF,SAASisF,IAC/BtL,GAAQsL,IAAc3M,GAAU+L,gBAAgBY,IAChDkP,GAA4BlP,EAAWiP,EAAW/Y,EAAiB,MAI3EwG,EAAU1H,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KACjCsuE,EAAOo9B,6BACRyI,EAAUr7G,IAAIkH,EAAM,CAChBsuE,SACAszB,YACAkK,iBAAkBx9B,EAAOw9B,mBACzBE,WAAY19B,EAAO09B,aACnBqI,eAAgB/lC,EAAO0+B,uBACvBsH,uBAAuB,QAMhC,SAASC,GACZ5S,EACA3mC,EACA6B,EAAQ,GAER,GAAIi9B,GAAgB6H,GAChB,OAAO6S,GAAkB7S,EAAY3mC,EAAY6B,GAQlD,SAAS23C,GACZ5S,EACA5mC,EACA6B,EAAQ,G,MAIR,OAAuB,QAAhB,EAFW43C,GAAuB7S,EAAW5mC,EAAY6B,GAE/CjhD,cAAM,eAAE3qB,MAWtB,SAAUwjH,GAAuB7S,EAAiB5mC,EAAoB6B,EAAQ,GACjF,MAAM63C,EAA2E,IAA9C,GAAR73C,GAC3B,IAAIy3C,GAAwB,EAE5B,GAAI1a,GAAQgI,GAAY,CACpB,IAAI+S,EAAa,EACL,EAAR93C,IACA83C,GAA0B,GAElB,EAAR93C,IACA83C,GAA0B,GAElB,EAAR93C,IACA83C,GAA0B,GAElB,GAAR93C,IACA83C,GAA0B,GAG9B,MAAMC,EAAWC,GAAiBjT,EAAW+S,GAE7C,IAAK,MAAOjC,EAAUoC,KAAwBF,EAAU,CACpD,IAAK/a,GAAoB6Y,GAAW,CAChC,IAAKgC,EAAmB,CAGpB,MAAMK,EAAkB,CACpBzmC,OAAQ,kBAAsB,EAAkB+pB,GAAYvyF,UAC5DgmG,kBAAkB,EAClBE,YAAY,EACZpK,UAAWvJ,GAAYvyF,SACvBuuG,gBAAgB,EAChBC,uBAAuB,SAErBS,EAEV,SAGJ,IAAKlb,GAAoBib,GACrB,SAGJ,MAAME,EAAeF,EAAoB5a,QAAQiE,OAGjD,GAA+D,IAAlD,EAARthC,GAA6D,CAC9D,MAAMyR,EAAS0mC,EAAa98G,IAAI8iE,GAChC,GAAIsT,GAAUA,EAAOw9B,mBAAoB,CACrC,MAAMnF,EAAkBr4B,EAAO0+B,uBAC/B,IAAK0H,GAAqB/N,EAAiB,CACvC,MAAMoO,EAAkB,CACpBzmC,SACAw9B,kBAAkB,EAClBE,WAAY19B,EAAO09B,aACnBpK,UAAWkT,EACXT,eAAgB1N,EAChB2N,+BAEES,OAENT,GAAwB,GAMpC,MAAMhmC,EAAS0mC,EAAa98G,IAAI8iE,GAChC,GAAIsT,GAAUA,EAAOs9B,gBAAiB,CAClC,MAAMjF,EAAkBr4B,EAAO0+B,uBAC/B,IAAK0H,GAAqB/N,EAAiB,CACvC,IAAImF,GAAmB,EAOvB,GAAIvT,GAAUkL,YAAYqR,IAAwBvc,GAAU0L,iBAAiB6Q,GAAsB,CAC/F,MAAMjlB,EAAQvhB,EAAOy+B,kBACjBld,EAAMlhG,OAAS,GAAuB,IAAlBkhG,EAAM,GAAGl9F,OAC7Bm5G,GAAmB,GAI3B,MAAMiJ,EAAkB,CACpBzmC,SACAw9B,mBACAE,WAAY19B,EAAO09B,aACnBpK,UAAWkT,EACXT,eAAgB1N,EAChB2N,+BAEES,OAENT,GAAwB,SAIjC,GAAIhb,GAAesI,GAAY,CAGlC,MAAMmT,EAAkB,CACpBzmC,OAAQ,kBAAsB,EAAkB+pB,GAAYvyF,UAC5DgmG,kBAAkB,EAClBE,YAAY,EACZpK,UAAWvJ,GAAYvyF,SACvBuuG,gBAAgB,EAChBC,uBAAuB,SAErBS,GAMP,SAAUF,GAAiBjT,EAAiB/kC,EAAQ,GACvD,GAAI+8B,GAAQgI,GAAY,CACpB,IAAIqT,EAAkE,IAA1C,EAARp4C,GAEpB,IAAK,MAAM61C,KAAY9Q,EAAU1H,QAAQoI,IAAK,CAC1C,GAAI2S,EAAc,CACdA,GAAe,EACf,SAKJ,MAAMH,EAAsBtB,GAAwBd,EAAU9Q,GAG9D,GAAY,EAAR/kC,GACIg9B,GAAoBib,IAChBvc,GAAUqH,UAAUkV,EAAqB,UACzC,MAMZ,GAAY,EAARj4C,GACIg9B,GAAoBib,IAChBvc,GAAUqH,UAAUkV,EAAqB,QACzC,MAOZ,QAFM,CAACpC,EAAUoC,GAEoC,IAAxC,EAARj4C,GACD,QAyCT,SAASq4C,GAA0BC,EAAsBC,GAC5D,IAAK,MAAMna,KAASma,EACXD,EAAMj2C,MAAM87B,GAAUD,GAAWqX,GAAkBpX,GAAQoX,GAAkBnX,OAC9Eka,EAAMnmH,KAAKisG,GAUhB,SAASoa,GAA6B1iH,EAAYyoG,EAAiB,G,QACtE,GAAIA,EAAiBlD,GACjB,MAAO,GAeX,GAbAkD,IAasB,QAAlB,EAAAzoG,EAAKioG,qBAAa,eAAEmB,cAAe,CACnC,MAAMuZ,EAA8B,GAMpC,OAJkB,QAAlB,EAAA3iH,EAAKioG,qBAAa,SAAEmB,cAAc9iF,SAASk3F,IACvC+E,GAA0BI,EAAcD,GAA6BlF,EAAS/U,OAG3Eka,EAGX,GAAItb,GAAUrnG,GAEV,OAAIA,EAAKunG,QAAQW,wBAKbL,GAAY7nG,IAASA,EAAK+3G,gBAJnB,GAQJ,CAACvS,GAASgB,eAAexmG,GAAQomG,GAAYwJ,gBAAgB5vG,GAAQA,GAGhF,GAAIinG,GAAQjnG,GACR,MApCyB,CAACivG,IAC1B,MAAM0T,EAA8B,GAOpC,OANI1T,EAAU7F,eACV6F,EAAU7F,cAAc9iF,SAASk3F,IAC7B+E,GAA0BI,EAAcD,GAA6BlF,EAAS/U,OAI/Eka,GA4BAC,CAAqB5iH,GAGhC,GAAI4mG,GAAQ5mG,GAAO,CACf,MAAM2iH,EAA8B,GAIpC,OAHAvF,GAAiBp9G,GAAO8mG,IACpByb,GAA0BI,EAAcD,GAA6B5b,EAAS2B,OAE3Eka,EAGX,GAAI7a,GAAW9nG,GAAO,CAClB,MAAM2iH,EAA8B,GAEpC,IAAK,IAAIrnH,EAAI,EAAGA,EAAI0E,EAAKunG,QAAQljE,WAAWroC,OAAQV,IAChDinH,GACII,EACAD,GAA6B7c,GAAamE,0BAA0BhqG,EAAM1E,GAAImtG,IAIlFzoG,EAAKunG,QAAQqM,WACb2O,GAA0BI,EAAc,CAAC3iH,EAAKunG,QAAQqM,YAG1D,MAAMxJ,EAAavE,GAAagQ,yBAAyB71G,GAKzD,OAJIoqG,GACAmY,GAA0BI,EAAcD,GAA6BtY,EAAY3B,IAG9Eka,EAGX,MAAO,GAKJ,SAASE,GAAoB7iH,GAChC,MAAMghH,EAAa,IAAIpG,GAAWgF,GAAkB5/G,IAOpD,OANmB4lG,GAAUyM,kBAAkBryG,GAEpCsmB,SAASw8F,IAChB9B,EAAW7F,eAAe2H,EAAWpd,GAAYvyF,aAG9CusG,GAAoB1/G,EAAMghH,GAK9B,SAAS+B,GAA0BxV,EAAgBC,EAAewT,EAAwBvY,EAAiB,GAC9G,KAAIA,EAAiBlD,KAGrBkD,IAEIuY,EAAW9D,aAIf,OAAQ3P,EAASjuC,UACb,KAAK,EACD89C,GAAiB7P,GAAWzG,IACxBic,GAA0Bjc,EAAS0G,EAASwT,EAAYvY,MAE5D,MAEJ,KAAK,EACG8E,EAASnE,eACTmE,EAASnE,cAAc9iF,SAASk3F,IAC5BuF,GAA0BvF,EAAShQ,EAASwT,EAAYvY,MAG5D8E,EAASxE,oBACTwE,EAASxE,mBAAmBziF,SAASk3F,IACjCuF,GAA0BvF,EAAQx9G,KAAMwtG,EAASwT,EAAYvY,MAGrE,MAEJ,KAAK,EACG8E,EAASpD,kBACToD,EAASpD,iBAAiB2I,eAAexsF,SAAS08F,IAC9CD,GAA0BC,EAAWxV,EAASwT,EAAYvY,MAE1D8E,EAASpD,iBAAiBC,YAC1B2Y,GACIxV,EAASpD,iBAAiBC,WAC1BoD,EACAwT,EACAvY,KAIR8E,EAAShG,QAAQljE,WAAW/d,SAASlC,IACjC2+F,GAA0B3+F,EAAMpkB,KAAMwtG,EAASwT,EAAYvY,MAE3D8E,EAAShG,QAAQ2C,oBACjB6Y,GAA0BxV,EAAShG,QAAQ2C,mBAAoBsD,EAASwT,EAAYvY,IAG5F,MAEJ,KAAK,EACD8E,EAAShD,UAAUjkF,SAASwgF,IACxBic,GAA0Bjc,EAAS0G,EAASwT,EAAYvY,MAE5D,MAEJ,KAAK,GACIuY,EAAW1E,WAAW/O,IACvByT,EAAW7F,eAAe5N,EAAUC,IAU7C,SAASwS,GAAoC/Q,EAAsBgU,GAAe,GACrF,MAAM7U,EAAiBxI,GAAUyM,kBAAkBpD,GACnD,IAAI7F,EAAgB6F,EAAU7F,cAKzBA,GAAkB6Z,IACnB7Z,EAAgBgF,GAGpB,MAAM4S,EAAarB,GAAgBvR,EAAgBhF,EAAewW,GAAkB3Q,IAKpF,OAJIrJ,GAAUuM,aAAalD,IAAcA,EAAUlG,oBAAsBqF,EAAepyG,QAAU,GAC9FglH,EAAWtF,mBAAmBtN,EAAe,GAAIa,EAAUlG,oBAGxDiY,EAGJ,SAASrB,GACZvR,EACAF,EACAF,GAEA,MAAMgT,EAAa,IAAIpG,GAAW5M,GAiDlC,OAhDAI,EAAe9nF,SAAQ,CAACw8F,EAAW33F,KAC/B,IAAI+3F,EAEJ,GAAIhV,EACA,GAAIrG,GAAYib,IACZ,GAAI33F,EAAQ+iF,EAASlyG,OAEjB,GADAknH,EAAchV,EAAS/iF,GACnB28E,GAAWob,IAAgBrd,GAAaoO,iBAAiBiP,GAAc,CACvE,MAAMC,EAAqC,GACrCC,EAAsBF,EAC5BA,EAAY3b,QAAQljE,WAAW/d,SAAQ,CAAClC,EAAOi/F,KAC3CF,EAAiB9mH,KAAK,CAClBijE,SAAUl7C,EAAMk7C,SAChBjyD,KAAM+W,EAAM/W,KACZymG,aAAc1vF,EAAM0vF,WACpBC,kBAAmB3vF,EAAM2vF,kBACzB/zG,KAAM6lG,GAAamE,0BAA0BoZ,EAAqBC,QAG1ErC,EAAWxF,aAAasH,EAAW,CAC/Bz+E,WAAY8+E,EACZnV,eAAgBkV,EAAY3b,QAAQyG,eACpC9jC,MAAOg5C,EAAY3b,QAAQr9B,MAC3Bm0B,UAAW6kB,EAAY3b,QAAQlJ,UAC/BuV,UAAWsP,EAAY3b,QAAQqM,iBAE5B/L,GAAYqb,IACnBlC,EAAWxF,aAAasH,EAAW,CAC/B54C,MAAO,EACP7lC,WAAY,GACZ2pE,oBAAgBluG,EAChBu+F,eAAWv+F,EACX8zG,UAAWsP,SAMnBA,EADA/3F,GAAS+iF,EAASlyG,OACJiqG,GAAQ9yF,SAER+6F,EAAS/iF,GAG3B61F,EAAW7F,eAAe2H,EAAWI,EAAaA,GAAiC,MAKxFlC,EAIJ,SAASsC,GAAuB9V,EAAoB+E,GAKvD,GAA0B,IAJP3M,GAAUyM,kBAAkBE,GAIhCv2G,OACX,OAAOu2G,EAGX,MACMgR,EAAkB7D,GAAoBnN,EADzByN,GAAoCxS,IAGvD,OADA16C,EAAOo0C,GAAoBqc,IACpBA,EAMJ,SAASC,GAA0BvU,EAAsBwU,EAA4BC,GACxF,GAAI9d,GAAU+C,mBAAmBsG,EAAWwU,GACxC,OAAO,EAGX,IAAK,MAAMlR,KAAatD,EAAU1H,QAAQgI,YACtC,GAAIrI,GAAoBqL,IACpB,GAAIiR,GAA0BjR,EAAWkR,EAAiBC,GACtD,OAAO,OAER,IAAKA,GAAiB/c,GAAe4L,GAExC,OAAO,EAIf,OAAO,EAGJ,SAAS4O,GAA4BlS,EAAsB0U,G,MAC9D,MAAMC,EAAWxd,GAAY2M,eAAe,oBACtCjI,EAAsC,QAA5B,EAAA8U,GAAkB3Q,UAAU,QAAI,GAChD2U,EAASrc,QAAQyD,eAAgB,EACjC4Y,EAASrc,QAAQ2Q,mBAAoB,EACrC0L,EAASpM,cAAgBpR,GAAYgR,kBAAkBwM,EAASrc,QAAQl6F,KAAMy9F,GAC9E8Y,EAAS9Y,QAAUA,EAEnB,MAAM3C,EAAYvC,GAAUkK,uBACxBb,EACArJ,GAAUyM,kBAAkBpD,IACC,GACL,GAK5B,OAFA2U,EAASrc,QAAQY,UAAYvC,GAAUgK,gBAAgBzH,GAEhDwb,EAAavd,GAAY2I,oBAAoB6U,GAAYA,EAK7D,SAASC,GAA+BrP,GAC3C,MAAMpK,EAAavE,GAAagQ,yBAAyBrB,GACzD,GAAIpK,EAAY,CACZ,MAAM0Z,EAAoBC,GAAqB3Z,GAE/C,GAAI0Z,EAEA,OAAOA,EAAkB9nH,QAAU,EAAI8nH,EAAkB,GAAKpe,GAAYvyF,UAwC/E,SAAS6wG,GAA0BhkH,GACtC,QAAIwlG,GAASgB,eAAexmG,OAKxBmnG,GAAgBnnG,KAAS4lG,GAAUqH,UAAUjtG,EAAM,YAInD4mG,GAAQ5mG,IACDA,EAAK6mG,SAAS9+E,OAAO++E,GAAYkd,GAA0Bld,KAMnE,SAAS2Y,GAAkBz/G,GAC9B,IAAIghB,EAAS89F,GAAY9+G,GAAO8mG,IAC5B,OAAQA,EAAQxnC,UACZ,KAAK,EAED,OAAIsmC,GAAUqH,UAAUnG,EAAS,SACxBA,EAAQsC,eAAiBtC,EAAQsC,cAAcptG,OAAS,EAClD0pG,GAAYvyF,SAEZ8wG,GAAsBnd,EAAQsC,cAAc,IAIpDxD,GAAUgK,gBAAgB9I,GAGrC,KAAK,EACD,OAAOf,GAASgN,iBAGpB,KAAK,EACD,GAAIvN,GAASgB,eAAeM,GACxB,OAAOjB,GAAa+J,gBAAgB9I,GAExC,MAGJ,KAAK,GACD,GAAItB,GAASgB,eAAeM,GACxB,OAAOV,GAAYwJ,gBAAgB9I,GAM/C,OAAOA,KAeX,OAXI9mG,EAAKioG,eAAiBjoG,IAASghB,IAC/BA,EAASwkF,GAASsI,kBACd9sF,EACAhhB,EAAKioG,cAAc56F,KACnBrN,EAAKioG,cAAc8F,SACnB/tG,EAAKioG,cAAc+F,eACnBhuG,EAAKioG,cAAcmG,eACnBpuG,EAAKioG,cAAcmB,gBAIpBpoF,EAGJ,SAASijG,GAAsBjkH,GAClC,IAAIghB,EAAS89F,GAAY9+G,GAAO8mG,IAC5B,OAAQA,EAAQxnC,UACZ,KAAK,EACD,GAAIkmC,GAASvmG,WAAW6nG,GACpB,OAAOlB,GAAUmJ,oBAAoBjI,GAEzC,MAGJ,KAAK,EACD,OAAOf,GAASkQ,aAGpB,KAAK,EACD,GAAIzQ,GAASvmG,WAAW6nG,GACpB,OAAOjB,GAAakJ,oBAAoBjI,GAE5C,MAGJ,KAAK,GACD,GAAItB,GAASvmG,WAAW6nG,GACpB,OAAOV,GAAY2I,oBAAoBjI,GAMnD,OAAOA,KAeX,OAXI9mG,EAAKioG,eAAiBjoG,IAASghB,IAC/BA,EAASwkF,GAASsI,kBACd9sF,EACAhhB,EAAKioG,cAAc56F,KACnBrN,EAAKioG,cAAc8F,SACnB/tG,EAAKioG,cAAc+F,eACnBhuG,EAAKioG,cAAcmG,eACnBpuG,EAAKioG,cAAcmB,gBAIpBpoF,EAGJ,SAASkjG,GAAmBjV,EAAsBR,EAA0B0V,GAC/E,IAAK,IAAI7oH,EAAI,EAAGA,EAAI2zG,EAAU1H,QAAQoI,IAAI3zG,OAAQV,IAAK,CACnD,MAAMykH,EAAW9Q,EAAU1H,QAAQoI,IAAIr0G,GAEvC,GAAI4rG,GAAoB6Y,GAAW,CAE/B,MAAMqE,EAAmBxe,GAAU0L,iBAAiByO,GACpDA,EAASxY,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KACrC,IAAIsuE,EAAOs9B,iBAAoBkL,GAAuBxoC,EAAOw9B,uBACpDiL,GAAqB1J,GAAsC/+B,IACvDA,EAAO49B,aAAa,CACrB,MAAM8K,EAAiB5V,EAAYlpG,IAAI8H,GAElCg3G,GAEOA,EAAehK,wBAA0B1+B,EAAO0+B,wBAGxD5L,EAAYtoG,IAAIkH,EAAMsuE,GAJtB8yB,EAAYtoG,IAAIkH,EAAMsuE,QAclD,IAAKwoC,EAAqB,CACtB,MAAMG,EAAYrV,EAAU1H,QAAQmI,mBACpC,GAAI4U,GAAapd,GAAoBod,GACjC,IAAK,MAAMvE,KAAYuE,EAAU/c,QAAQoI,IAAK,CAC1C,IAAIzI,GAAoB6Y,GAapB,MAZAA,EAASxY,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KACrC,MAAMg3G,EAAiB5V,EAAYlpG,IAAI8H,GAElCg3G,GAEOA,EAAehK,wBAA0B1+B,EAAO0+B,wBAGxD5L,EAAYtoG,IAAIkH,EAAMsuE,GAJtB8yB,EAAYtoG,IAAIkH,EAAMsuE,QAgC3C,SAAS4oC,GAAgBvkH,GAC5B,IAAIwkH,GAAe,EAQnB,OANApH,GAAiBp9G,GAAO8mG,IAChBJ,GAAUI,KACV0d,GAAe,MAIhBA,EAIJ,SAASC,GAAgBzkH,EAAY0kH,GAAiC,EAAOjc,EAAiB,G,QACjG,GAAIA,EAAiBlD,GACjB,OAAO,EAIX,GAFAkD,IAEI/B,GAAU1mG,GACV,OAAO,EAKX,IAAsB,QAAlB,EAAAA,EAAKioG,qBAAa,eAAEmB,gBAEhBppG,EAAKioG,cAAcmB,cAAc35C,MAAM+tD,GACnCiH,GAAgBjH,EAASkH,EAAgCjc,KAG7D,OAAO,EAKf,GAAI7B,GAAQ5mG,GACR,YAEIF,IADA6qG,GAAY3qG,GAAO8mG,GAAY2d,GAAgB3d,EAAS4d,EAAgCjc,KAMhG,GAAIxB,GAAQjnG,GAAO,CAKf,GAJIwlG,GAASvmG,WAAWe,KACpB0kH,GAAiC,IAGhCA,IAAmC9e,GAAUkD,qBAAqB9oG,GAAO,CAC1E,MAAMkuG,GAAkC,QAAvB,EAAAluG,EAAK+oG,0BAAkB,eAAEjkF,KAAKyoC,GAAMA,EAAEvtD,SAASA,EAAKopG,cACrE,GAAI8E,EACA,IAAK,MAAMyW,KAAWzW,EAClB,GAAIuW,GAAgBE,EAASD,EAAgCjc,GACzD,OAAO,EAMvB,OAAO,EAIX,GAAIV,GAAqB/nG,GACrB,OAAOA,EAAKuqG,UAAU96C,MAAM4wD,GACjBoE,GAAgBpE,GAAU,EAAO5X,KAIhD,GAAIX,GAAW9nG,GAAO,CAClB,IAAK,IAAI1E,EAAI,EAAGA,EAAI0E,EAAKunG,QAAQljE,WAAWroC,OAAQV,IAEhD,GAAI0E,EAAKunG,QAAQljE,WAAW/oC,GAAG+R,MAEvBo3G,GADc5e,GAAamE,0BAA0BhqG,EAAM1E,IACK,EAAOmtG,GACvE,OAAO,EAKnB,SACIzoG,EAAKunG,QAAQ2C,oBACZrE,GAAaoO,iBAAiBj0G,KAC/BykH,GAAgBzkH,EAAKunG,QAAQ2C,oBAAyD,EAAOzB,IAQrG,OAAO,EAMJ,SAASmc,GAAoB3V,GAChC,OAAKA,EAAU7F,eAAoD,IAAnC6F,EAAU7F,cAAcptG,QAAiB4qG,GAAQqI,EAAU7F,cAAc,IAIlG4C,GACHiD,EAAU7F,cAAc,GAAGvC,SAAS/hF,KAAKgiF,GAC9BlB,GAAUkK,uBAAuBb,EAAW,CAACnI,IAAuC,MALxFmI,EAYR,SAAS4V,GAAuB7kH,EAAY8kH,GAC/C,IAAKA,IAAc5d,GAAoB4d,IAAclE,GAAsBkE,GACvE,OAGJ,IAAIC,EACAC,GAAU,EAqCd,OAnCA5H,GAAiBp9G,GAAO8mG,IACpB,GAAIK,GAAgBL,GAAU,CAC1B,IAAIgZ,EACA7Y,GAAQH,IAAYqL,GAAarL,KAAa8Z,GAAsB9Z,KACpEgZ,EAAahZ,GAGZgZ,IAGDA,EAAahZ,EAAQS,QAAQoI,IAAIpjC,MAC5BwzC,GAAa9Y,GAAQ8Y,IAAa5N,GAAa4N,KAAca,GAAsBb,MAIxFD,GAAc7Y,GAAQ6Y,IAAeA,EAAW/W,mBAC5Cgc,EACIA,EAAa/oH,SAAW8jH,EAAW/W,mBAAmB/sG,OACtD8jH,EAAW/W,mBAAmBziF,SAAQ,CAACm0C,EAAOtvC,KAC1C45F,EAAc55F,GAAO9uB,KAAKo+D,EAAMz6D,SAGpCglH,GAAU,EAGdD,EAAejF,EAAW/W,mBAAmBjkF,KAAK21C,GAAU,CAACA,EAAMz6D,QAGvEglH,GAAU,OAGdA,GAAU,KAIbA,GAAYD,EAIVtF,GACHwF,GACIH,EACAC,EAAajgG,KAAK21C,IACP,CAAEz6D,KAAMgsG,GAAavxC,GAAQyuC,aAAa,aAR7D,EAkBG,SAAS+b,GACZhW,EACAf,EACA6B,GAAyB,EACzBmV,GAAgB,EAChBC,GAAkB,GAElB,IAAIC,EAAoBpZ,GAAakC,EAASppF,KAAKyoC,GAAMA,EAAEvtD,QAEvDklH,IACAE,EAAoB/F,GAAkB+F,IAItC/e,GAAQ+e,KACRA,EAAoBnf,GAAQ9yF,UAGhC,MAAMkyG,EAAkBzf,GAAUkK,uBAC9Bb,EACA,CAACmW,GACDrV,OACwBjwG,EACxBouG,GAOJ,OAJIiX,IACAE,EAAgBzd,YAAa,GAG1Byd,EAMJ,SAASC,GAAsCtlH,GAClD,GAAI8nG,GAAW9nG,GACX,OAAOulH,GAAqCvlH,GAGhD,MAAMwlH,EAA+B,GACrC,IAAIC,GAAgB,EAEpB,IAAK,MAAMpF,KAAYrgH,EAAKuqG,UAAW,CACnC,MAAMmb,EAAcH,GAAqClF,GACzDmF,EAAanpH,KAAKqpH,GACdA,IAAgBrF,IAChBoF,GAAgB,GAIxB,OAAOA,EAAgB3f,GAAuB3yF,OAAOqyG,GAAgBxlH,EAGlE,SAASulH,GAAqCvlH,GACjD,MAAM2lH,EAAa3lH,EAAKunG,QAAQljE,WAAWroC,OAC3C,GAAI2pH,EAAa,EACb,OAAO3lH,EAGX,MAAM4lH,EAAY5lH,EAAKunG,QAAQljE,WAAWshF,EAAa,GACjDE,EAAc7lH,EAAKunG,QAAQljE,WAAWshF,EAAa,GAEzD,OAC2B,IAAvBC,EAAUtmD,UACe,IAAzBumD,EAAYvmD,UACXuoC,GAAY+d,EAAU5lH,OACtB6nG,GAAYge,EAAY7lH,OACxBooG,GAAWwd,EAAU5lH,KAAM6lH,EAAY7lH,MAKrC6lG,GAAayO,8BAA8Bt0G,EAAM4lH,EAAU5lH,MAHvDA,EAMf,SAAS8lH,GAA6B9lH,GAClC,OAAImnG,GAAgBnnG,IAASmyG,GAAanyG,IAASA,EAAK+oG,oBAAsB/oG,EAAK4nG,WACxEoE,GAAahsG,EAAK+oG,mBAAmBjkF,KAAKyoC,GAAMA,EAAEvtD,QAGtDA,EAKJ,SAAS+jH,GAAqB3Z,G,MACjC,GAAIjD,GAAgBiD,GAAa,CAC7B,GAAIxE,GAAUqH,UAAU7C,EAAY,CAAC,YAAa,mBAC9C,OAAOA,EAAWhB,cACf,GAAIxD,GAAUqH,UAAU7C,EAAY,sBAGvC,OAA+B,QAAxB,EAAAA,EAAWhB,qBAAa,eAAExqG,MAAM,IAuC5C,SAASmnH,GACZ/lH,EACAuoG,GAAsB,EACtByd,GAAa,EACbvd,EAAiB,G,MAEjB,GAAIA,EAAiBlD,GACjB,OAAO,EAIX,OAFAkD,IAEQzoG,EAAKs/D,UACT,KAAK,EACD,QAAIsmC,GAAUkD,qBAAqB9oG,KAASuoG,KAIxCvoG,EAAKopG,mBAIKtpG,IAFNE,EAAKopG,cAAc78B,MAAMixC,GACrBuI,GAAuBvI,EAASjV,EAAqByd,EAAYvd,KAKtE7C,GAAUyM,kBAAkBryG,GAAMhE,OAAS,GAGtD,KAAK,EAAuB,CACxB,GAAIgE,EAAKunG,QAAQqM,UACb,OAAO,EAGX,IAAK,IAAIt4G,EAAI,EAAGA,EAAI0E,EAAKunG,QAAQljE,WAAWroC,OAAQV,IAChD,GACIyqH,GACIlgB,GAAamE,0BAA0BhqG,EAAM1E,GAC7CitG,EACAyd,EACAvd,GAGJ,OAAO,EAIf,MAAMyB,EACFlqG,EAAKmqG,kBAAoBnqG,EAAKmqG,iBAAiBC,WACzCpqG,EAAKmqG,iBAAiBC,WACtBpqG,EAAKunG,QAAQ2C,mBACvB,GAAIA,GACA,GAAI6b,GAAuB7b,EAAoB3B,EAAqByd,EAAYvd,GAC5E,OAAO,OAER,GAAIzoG,EAAKqqG,oBACR0b,GAAuB/lH,EAAKqqG,mBAAoB9B,EAAqByd,EAAYvd,GACjF,OAAO,EAIf,OAAO,EAGX,KAAK,EACD,YAGU3oG,IAFNE,EAAKuqG,UAAUh+B,MAAM8zC,GACjB0F,GAAuB1F,EAAU9X,EAAqByd,EAAYvd,KAK9E,KAAK,EACD,YAGU3oG,IAFN6qG,GAAY3qG,GAAO8mG,GACfif,GAAuBjf,EAASyB,EAAqByd,EAAYvd,KAK7E,KAAK,GAED,IAAKzoG,EAAKunG,QAAQW,uBACd,OAAIloG,EAAKunG,QAAQ2Q,oBAAqB8N,EAS1C,GAAsB,QAAlB,EAAAhmH,EAAKioG,qBAAa,eAAEmB,cACpB,OAAOppG,EAAKioG,cAAcmB,cAAc35C,MAAM+tD,GAC1CuI,GAAuBvI,EAASjV,EAAqByd,EAAYvd,KAMjF,OAAO,EAOJ,SAASwd,GAAwBhX,GACpC,IAAIiX,GAAa,EAEjB,MAAMC,EAAsBlX,EAAU1H,QAAQgI,YAAY1lD,QAAO,CAAC0oD,EAAWpnF,KACzE,GAAI+7E,GAAoBqL,IAGhB3M,GAAUqH,UAAUsF,EAAW,WAAY,CAG3C,GAAI3M,GAAU+L,gBAAgB1C,GAC1B,OAAO,EAMX,GACIA,EAAU1H,QAAQgI,YAAY9/C,MAAK,CAAC22D,EAAgBC,IAE5CA,EAAal7F,GACb+7E,GAAoBkf,IACpBA,EAAehd,eACfgd,EAAerW,yBAIvB,OAAO,EAKnB,OAAO,KAILuW,EAA8B,GAEpCH,EAAoB7/F,SAAQ,CAACisF,EAAWpnF,KACpC,GAAI+7E,GAAoBqL,GAAY,CAChC,MAAMyO,EAAahB,GAAoCzN,GAA8B,GACrF+T,EAAkBjqH,KACdk2G,EAAUhL,QAAQoI,IAAI7qF,KAAKi7F,GAChBL,GAAoBK,EAAUiB,WAI7CsF,EAAkBjqH,KAAK,CAACk2G,OAIhC+T,EAAkBjqH,KACd8pH,EAAoBrhG,KAAKytF,GAEdmN,GAAoBnN,EADRyN,GAAoC/Q,GAA8B,OAM7F,MAAM+R,EAAahB,GAAoC/Q,GAA8B,GACrFA,EAAU1H,QAAQoI,IAAItzG,KAAKqjH,GAAoBzQ,EAAW+R,IAK1D,MAAMuF,EAAW,CAACC,EAAwBC,IAC/BA,EAAWh3D,MAAMi3D,GAEhBA,EAAUn2B,WACLjyF,GAAU4oG,GAAoB5oG,IAAUsnG,GAAU+C,mBAAmBrqG,EAAOkoH,KAC7E,IAKVG,EAAc,CAACC,EAA0BH,KAC3C,IAAK,IAAInrH,EAAI,EAAGA,EAAImrH,EAAWzqH,OAAQV,IACnCmrH,EAAWnrH,GAAKmrH,EAAWnrH,GAAGuuD,QACzBvrD,IAAW4oG,GAAoB5oG,KAAWsnG,GAAU+C,mBAAmBrqG,EAAOsoH,MAK3F,OAAa,CACT,IACIC,EADAC,GAAiB,EAGrB,IAAK,IAAIxrH,EAAI,EAAGA,EAAIgrH,EAAkBtqH,OAAQV,IAAK,CAC/C,MAAMorH,EAAYJ,EAAkBhrH,GAEpC,GAAIorH,EAAU1qH,OAAS,EAAG,CAKtB,QAJqB8D,IAAjB+mH,IACAA,EAAeH,IAGdxf,GAAoBwf,EAAU,IAAK,CACpCI,GAAiB,EACjB7X,EAAU1H,QAAQoI,IAAItzG,KAAKqqH,EAAU,IACrCA,EAAUnmG,QACV,MACG,IAAKgmG,EAASG,EAAU,GAAIJ,GAAoB,CACnDQ,GAAiB,EACjB7X,EAAU1H,QAAQoI,IAAItzG,KAAKqqH,EAAU,IACrCC,EAAYD,EAAU,GAAIJ,GAC1B,QAMZ,IAAKO,EACD,MAMCC,IACDZ,GAAa,EAIRhf,GAAoB2f,EAAa,KAIlC5X,EAAU1H,QAAQoI,IAAItzG,KAAKwqH,EAAa,IACxCF,EAAYE,EAAa,GAAIP,KAJ7BrX,EAAU1H,QAAQoI,IAAItzG,KAAKwqH,EAAa,IACxCA,EAAatmG,UAQzB,OAAO2lG,EAMJ,SAASa,GAA2B/mH,GACvC,MAAMgnH,EAAuB,GAE7B,OADAC,GAA+BjnH,EAAMgnH,GAC9BA,EAGX,SAASC,GAA+BjnH,EAAYgnH,EAAsBve,EAAiB,GACvF,GAAIA,EAAiBlD,GACjB,OAEJkD,IAEA,MAAM34B,EAAe9D,IACbA,IAAeg7C,EAAWv3D,MAAMjuD,GAAMA,IAAMwqE,KAC5Cg7C,EAAW3qH,KAAK2vE,IAIxB,OAAQhsE,EAAKs/D,UACT,KAAK,EAKL,KAAK,EACDwQ,EAAY9vE,EAAKunG,QAAQv7B,YACzB,MAGJ,KAAK,EACDhsE,EAAKuqG,UAAUjkF,SAAS+5F,IACpB4G,GAA+B5G,EAAU2G,EAAYve,MAEzD,MAGJ,KAAK,EACD2U,GAAiBp9G,GAAO8mG,IACpBmgB,GAA+BngB,EAASkgB,EAAYve,MAExD,MAGJ,KAAK,EACD34B,EAAY9vE,EAAKgsE,aAMtB,SAASk7C,GAA4BC,GACxC,IAAIC,EAAgBD,EAAe9iF,WAAWroC,OAAS,EAEvD,GAAyC,IAArCmrH,EAAe9iF,WAAWroC,OAAc,CAGxC,MAAMqrH,EAAYF,EAAe9iF,WAAW,GACjB,IAAvBgjF,EAAU/nD,UAA0C+nD,EAAUh6G,OAC9D+5G,GAAgB,GAIxB,GAAIA,IAAkBD,EAAevT,UAAW,CAE5C,MAAMY,EAAe3O,GAAakN,eAAe,GAAI,GAAI,GAAI,OAgB7D,OAdAoU,EAAe9iF,WAAW/d,SAASm0C,IAC/BorC,GAAa6O,aAAaF,EAAc,CACpCl1C,SAAU7E,EAAM6E,SAChBjyD,KAAMotD,EAAMptD,KACZymG,WAAYr5C,EAAMq5C,WAClBC,kBAAmBt5C,EAAMs5C,kBACzBC,iBAAiB,EACjBh0G,KAAMy6D,EAAMz6D,UAIpBw0G,EAAajN,QAAQqM,UAAYuT,EAAevT,UAChDY,EAAajN,QAAQlJ,UAAY8oB,EAAe9oB,UAEzCmW,EAGX,OAAO2S,EAAevT,WAtmE1B,SAAY6J,GACR,mCACA,6CACA,iCAHJ,CAAYA,QAAe,KA2mE3B,MAAM6J,GAAN,cACY,KAAAC,wBAAyB,EAEjC5iH,MAAM3E,EAAYwnH,EAAe,IAAI11E,IAAe22D,EAAiB,G,MACjE,GAAIA,EAAiBlD,GACjB,OAAOvlG,EAKX,GAHAyoG,KAGKsd,GAAuB/lH,GACxB,OAAOA,EAGX,GAAI2mG,GAAe3mG,GACf,OAAOA,EAGX,GAAIsmG,GAAetmG,GACf,OAAOA,EAGX,GAAIqnG,GAAUrnG,GAAO,CAIjB,GAAIA,EAAKunG,QAAQW,uBAAwB,CACrC,KAAuB,QAAlB,EAAAloG,EAAKioG,qBAAa,eAAEmB,eACrB,OAAOppG,EAGX,IAAIynH,GAAiB,EACrB,MAAMvZ,EAAWluG,EAAKioG,cAAcmB,cAActkF,KAAK04F,IACnD,MAAMkK,EAAkB1mH,KAAK2D,MAAM64G,EAASgK,EAAc/e,GAI1D,OAHIif,IAAoBlK,IACpBiK,GAAiB,GAEdC,KAGX,OAAID,EACOjiB,GAASsI,kBACZ9tG,EACAA,EAAKioG,cAAc56F,KACnBrN,EAAKioG,cAAc8F,SACnB/tG,EAAKioG,cAAc+F,eACnBhuG,EAAKioG,cAAcmG,eACnBF,GAIDluG,EAGX,IAAI0nH,EAAwB1nH,EAI5B,MAAM02G,EAActQ,GAAYkS,iBAAiBt4G,GAiBjD,OAhBKwnH,EAAapiG,IAAIsxF,KAClBgR,EAAkB1mH,KAAK2mH,iBAAiB3nH,GAEnCgB,KAAKumH,yBACNC,EAAa5gG,IAAI8vF,GACjBgR,EAAkB1mH,KAAK2D,MAAM+iH,EAAiBF,EAAc/e,GAC5D+e,EAAa5jG,OAAO8yF,IAKpBpP,GAAkBtnG,IAASA,EAAK03G,oBAChCgQ,EAAkB5B,GAA6B4B,KAIhDA,EAGX,GAAI9gB,GAAQ5mG,GAAO,CACf,MAAM4sG,EAAekS,GAAY9+G,GAAO8mG,IACpC,IAAImY,EAAkBj+G,KAAK2D,MAAMmiG,EAAS0gB,EAAc/e,GAIxD,GAAInB,GAAkBR,KAAaQ,GAAkB2X,GAAkB,CACnE,MAAM2I,EAA4B,GAClCxK,GAAiB6B,GAAkB4I,IAC/BD,EAAkBvrH,KAAKypH,GAA6B+B,OAGxD5I,EAAkBjT,GAAa4b,GAGnC,OAAO3I,KAGX,OAAIj+G,KAAK8mH,gBAAkBlhB,GAAQgG,GACxB5rG,KAAK8mH,eAAelb,GAGxBA,EAGX,GAAI3F,GAAQjnG,GACR,OAAOgB,KAAK+mH,8BAA8B/nH,EAAMwnH,EAAc/e,GAGlE,GAAIX,GAAW9nG,GACX,OAAOgB,KAAKgnH,iCAAiChoH,EAAMwnH,EAAc/e,GAGrE,GAAIV,GAAqB/nG,GAAO,CAC5B,IAAIynH,GAAiB,EAGrB,MAAMjC,EAA+B,GAUrC,OATAxlH,EAAKuqG,UAAUjkF,SAASm0C,IACpB,MAAMitD,EAAkB1mH,KAAKgnH,iCAAiCvtD,EAAO+sD,EAAc/e,GACnF+c,EAAanpH,KAAKqrH,GACdA,IAAoBjtD,IACpBgtD,GAAiB,MAKlBA,EAAiB3hB,GAAuB3yF,OAAOqyG,GAAgBxlH,EAG1E,OAAOA,EAGX2nH,iBAAiBvM,GACb,OAAOA,EAGX6M,yBAAyBrU,IAIzBsU,mBAAmBtU,IAInBkU,eAAe9nH,GACX,OAAOA,EAGH+nH,8BACJ9Y,EACAuY,EACA/e,GAGA,GAAsD,IAAlD7C,GAAUyM,kBAAkBpD,GAAWjzG,SAAiB4pG,GAAUgL,iBAAiB3B,GACnF,OAAOA,EAGX,IACIkZ,EADAC,EAAsB,GAEtBC,GAAuB,EAC3B,MAAMpa,EAAarI,GAAUyM,kBAAkBpD,GAEzCiZ,EAAsBtU,IACxB,MAAMD,EAAiB3yG,KAAKknH,mBAAmBtU,GAC/C,OAAID,GACA0U,GAAuB,EAChBnB,GAA4BvT,IAE5BC,GAIT0U,EAAyBtnH,KAAKumH,uBAwFpC,OAvFAvmH,KAAKumH,wBAAyB,EAG1BtY,EAAU7F,cACVgf,EAAcnZ,EAAU7F,cAActkF,KAAKyjG,IACvC,GAAIlhB,GAAUkhB,IAAmBA,EAAehhB,QAAQM,YACpD,OAAOqgB,EAAmBK,GAG9B,IAAIC,EAAiBxnH,KAAK2D,MAAM4jH,EAAgBf,EAAc/e,GAc9D,OAbI+f,IAAmBD,IACnBF,GAAuB,EAKnBhhB,GAAUkhB,IACVjhB,GAAkBihB,IAClBA,EAAe7Q,oBAEf8Q,EAAiB1C,GAA6B0C,KAG/CA,KAGXva,EAAW3nF,SAASw8F,IAChB,IAAI4E,EAAwB5E,EAE5B,GAAIA,EAAUvb,QAAQM,YAClB6f,EAAkBQ,EAAmBpF,GACjC4E,IAAoB5E,IACpBuF,GAAuB,OAExB,CACH,MAAMI,EAAgBriB,GAAYkS,iBAAiBwK,GAC9C0E,EAAapiG,IAAIqjG,KAClBf,EAAkB1mH,KAAK2mH,iBAAiB7E,GAEpC4E,IAAoB5E,IACf9hH,KAAKumH,yBACNC,EAAa5gG,IAAI6hG,GACjBf,EAAkB1mH,KAAK2D,MAAM+iH,EAAiBF,EAAc/e,GAC5D+e,EAAa5jG,OAAO6kG,IAGxBJ,GAAuB,IAKnCD,EAAY/rH,KAAKqrH,MAIrB9hB,GAAUuM,aAAalD,KACnBA,EAAUlG,oBACVof,EAAsB,GACtBlZ,EAAUlG,mBAAmBziF,SAASiiG,IAClC,MAAMC,EAAiBxnH,KAAK2D,MAAM4jH,EAAevoH,KAAMwnH,EAAc/e,GAEjE+f,IAAmBD,EAAevoH,OAClCqoH,GAAuB,GAIvB/gB,GAAkBihB,EAAevoH,OACjCmnG,GAAgBqhB,IAChBrW,GAAaqW,IACbA,EAAezf,mBAEfof,EAAqB9rH,QAAQmsH,EAAezf,oBAE5Cof,EAAqB9rH,KAAK,CAAE2D,KAAMwoH,EAAgBtf,YAAaqf,EAAerf,kBAG/E+E,EAAWjyG,OAAS,IAC3BmsH,EAAsBnnH,KAAKinH,yBAAyBha,EAAW,IAC3Dka,IACAE,GAAuB,KAKnCrnH,KAAKumH,uBAAyBe,EAGzBD,EAIEziB,GAAUkK,uBACbb,EACAmZ,GAC6B,OACLtoH,EACxBqoH,GAROlZ,EAYP+Y,iCACJU,EACAlB,EACA/e,GAEA,IAAI+L,EAAekU,EAGnB,GAAIlU,EAAajN,QAAQqM,UAAW,CAChC,MAAMA,EAAY5yG,KAAKknH,mBAAmB1T,EAAajN,QAAQqM,WAC3DA,IACAY,EAAe3O,GAAa6N,kBAAkBc,EAAcZ,IAIpE,MAAM1J,EAAqBrE,GAAagQ,yBAAyBrB,GAC3DmU,EAAwBze,EACxBlpG,KAAK2D,MAAMulG,EAAoBsd,EAAc/e,QAC7C3oG,EACN,IAAI8oH,EAA8B1e,IAAuBye,EAEzD,MAAME,EAAkD,CACpD/V,eAAgB,GAChB1I,WAAYue,GAMhB,GAAInU,EAAajN,QAAQljE,WAAWroC,QAAU,EAAG,CAC7C,MAAM4pH,EAAYpR,EAAajN,QAAQljE,WAAWmwE,EAAajN,QAAQljE,WAAWroC,OAAS,GACrF6pH,EAAcrR,EAAajN,QAAQljE,WAAWmwE,EAAajN,QAAQljE,WAAWroC,OAAS,GACvF8sH,EAAgBjjB,GAAamE,0BAC/BwK,EACAA,EAAajN,QAAQljE,WAAWroC,OAAS,GAEvC+sH,EAAkBljB,GAAamE,0BACjCwK,EACAA,EAAajN,QAAQljE,WAAWroC,OAAS,GAG7C,GAC2B,IAAvB4pH,EAAUtmD,UACe,IAAzBumD,EAAYvmD,UACZuoC,GAAYihB,IACZjhB,GAAYkhB,IACZ3gB,GAAW0gB,EAAeC,GAC5B,CACE,MAAMC,EAAgBhoH,KAAKknH,mBAAmBY,GAC1CE,IACAxU,EAAe3O,GAAauO,6BAA6BI,EAAcwU,KAKnF,IAAIC,EACAC,EA2BAzV,EAzBJ,IAAK,IAAIn4G,EAAI,EAAGA,EAAIk5G,EAAajN,QAAQljE,WAAWroC,OAAQV,IAAK,CAC7D,MAAM0nH,EAAYnd,GAAamE,0BAA0BwK,EAAcl5G,GACjEioH,EAAkBviH,KAAK2D,MAAMq+G,EAAWwE,EAAc/e,GAC5DogB,EAAsB/V,eAAez2G,KAAKknH,QAEfzjH,IAAvBmpH,GACA3hB,GAAkB0b,IAC8B,IAAhDxO,EAAajN,QAAQljE,WAAW/oC,GAAGgkE,WAEnC2pD,EAAqB3tH,EAEjB6rG,GAAgBoc,IAAoBpR,GAAaoR,IAAoBA,EAAgB3b,aACrFshB,EAAwB3F,EAAgBxa,qBAI5Cia,IAAcO,IACdqF,GAA8B,GAItC,IAAKA,EACD,OAAOpU,EASX,GALIA,EAAanK,qBACboJ,EAAgCzyG,KAAK2D,MAAM6vG,EAAanK,mBAAoBmd,EAAc/e,KAIzFygB,EACD,OAAOrjB,GAAaiK,uBAChB0E,EACAqU,EACApV,GAKR,MAAM0V,EAAkBtjB,GAAakN,eAAe,GAAI,GAAI,GAAI,IAChE,IAAIqW,GAA6B,EAC7BC,GAA+B,EA0DnC,OAxDAR,EAAsB/V,eAAexsF,SAAQ,CAAC08F,EAAW73F,KACrD,GAAIA,IAAU89F,EAAoB,CAC9B,IAAIK,GAAoB,EAGxBJ,EAAuB5iG,SAASijG,IAC5B1jB,GAAa6O,aAAayU,EAAiB,CACvC7pD,SAAUiqD,EAAargB,YAAc,EAA+B,EACpE77F,KAAM,MAAM87G,EAAgB5hB,QAAQljE,WAAWroC,SAC/C+3G,mBAAmB,EACnB/zG,KAAMupH,EAAavpH,KACnBg0G,iBAAiB,IAGjBuV,EAAargB,cACbogB,GAAoB,MAIxBA,EACAD,GAA+B,EAE/BD,GAA6B,MAE9B,CACH,MAAMhlG,EAAQ,IAAKowF,EAAajN,QAAQljE,WAAWlZ,IAE5B,IAAnB/G,EAAMk7C,UAA8Cl7C,EAAM/W,KAEhC,IAAnB+W,EAAMk7C,WACb8pD,GAA6B,GAF7BA,GAA6B,EAOV,IAAnBhlG,EAAMk7C,UAAyCl7C,EAAM/W,MAAQ+7G,IAC7DvjB,GAAa6O,aAAayU,EAAiB,CACvC7pD,SAAU,EACVt/D,KAAM0lG,GAAYvyF,WAEtBi2G,GAA6B,GAGjChlG,EAAMpkB,KAAOgjH,EACT5+F,EAAM/W,MAAQ+W,EAAM2vF,oBACpB3vF,EAAM/W,KAAO,MAAM87G,EAAgB5hB,QAAQljE,WAAWroC,UAGnC,IAAnBooB,EAAMk7C,WAAyCl7C,EAAM/W,MAASg8G,GAC9DxjB,GAAa6O,aAAayU,EAAiB/kG,OAKvD+kG,EAAgB5hB,QAAQ2C,mBAAqB2e,EAAsBze,WAE5D+e,GAMf,MAAM7H,WAAuCgG,GACzCr6G,YACY+tG,EACAwO,GAAqB,EACrBC,GAAsB,EACtBC,GAA6B,GAErCx8G,QALQ,KAAA8tG,cACA,KAAAwO,qBACA,KAAAC,sBACA,KAAAC,6BAKH/B,iBAAiBvM,GAGtB,GAAIA,EAAQtQ,SAAW9pG,KAAKg6G,YAAYc,iBAAiBV,EAAQtQ,SAAU,CACvE,IAAItmD,EAAcxjD,KAAKg6G,YAAYoB,eAAehB,EAASp6G,KAAKyoH,qBAKhE,IAAKjlE,GAAexjD,KAAKyoH,oBAAqB,CAC1C,MAAME,EAAW3oH,KAAKg6G,YAAYoB,eAAehB,GAC7CuO,GACIxJ,GAAoBwJ,GAAgC,KACpDnlE,EAAcmlE,GAK1B,GAAInlE,EAIA,OAHIghD,GAASgB,eAAe4U,KACxB52D,EAAcy/D,GAAsBz/D,IAEjCA,EAKX,GAAIxjD,KAAKwoH,mBACL,OAAO9jB,GAAYvyF,SAI3B,OAAOioG,EAGF0M,eAAe9nH,GAMpB,GAAIgB,KAAK0oH,2BAA4B,CACjC,MAAME,EAAe9K,GAAY9+G,GAAO8mG,IACpC,IACIO,GAAUP,SACUhnG,IAApBgnG,EAAQgE,UACR9pG,KAAKg6G,YAAYc,iBAAiBhV,EAAQgE,SAI9C,OAAOhE,KAGX,OAAOT,GAAQujB,GAAgB5pH,EAAO4pH,EAG1C,OAAO5pH,EAGFioH,yBAAyB7M,GAC9B,GAAKA,EAAQtQ,SAAY9pG,KAAKg6G,YAAYc,iBAAiBV,EAAQtQ,SAInE,OAAO9pG,KAAKg6G,YAAYyB,mBAAmBrB,GAGtC8M,mBAAmBtU,GACxB,GAAKA,EAAU9I,SAAY9pG,KAAKg6G,YAAYc,iBAAiBlI,EAAU9I,SAIvE,OAAO9pG,KAAKg6G,YAAY6B,aAAajJ,IAI7C,MAAMiW,WAA2CvC,GAM7Cr6G,YAAoB+tG,EAAiC8O,GACjD58G,QADgB,KAAA8tG,cAAiC,KAAA8O,qBAHrD,KAAAC,aAAe,2BACf,KAAAC,mBAAqB,mBAKjBhpH,KAAKg6G,YAAYiB,iBAAiBj7G,KAAK+oH,cAGnCE,eAAe7O,GACnB,OAAOp6G,KAAK8oH,mBAAmBr6D,MAAMq7C,GAAYsQ,EAAQtQ,UAAYA,IAGjEof,oBAAoBC,GAExB,GAAIA,EAAY5iB,QAAQyD,eAAiBmf,EAAY5iB,QAAQl6F,KAAKmpD,WAAWx1D,KAAKgpH,oBAC9E,OAAOG,EAGX,MAAMlrH,EAAaumG,GAASvmG,WAAWkrH,GACvC,IAAIC,EAAahkB,GAAY2M,eACzB,mBAAmB8W,GAAmCQ,0CAiB1D,OAfAD,EAAW7iB,QAAQyD,eAAgB,EACnCof,EAAWtf,QAAU9pG,KAAK+oH,aAC1BK,EAAW5S,cAAgBpR,GAAYgR,kBAAkBgT,EAAW7iB,QAAQl6F,KAAMrM,KAAK+oH,cAClF9qH,IACDmrH,EAAanG,GAAsBmG,IAIvCA,EAAW7iB,QAAQY,UAAYgiB,EAAY5iB,QAAQY,UACnDiiB,EAAW7iB,QAAQ8D,YAAc8e,EAAY5iB,QAAQ8D,YAGrD+e,EAAW7iB,QAAQ0D,SAAWkf,EAAY5iB,QAAQ0D,SAElD4e,GAAmCQ,yCAC5BD,EAGFzC,iBAAiBvM,GAGtB,OAAIp6G,KAAKipH,eAAe7O,GACbA,EAGJp6G,KAAKkpH,oBAAoB9O,IAlD7B,GAAAiP,uCAAyC,EE7wF7C,MAAMC,GACTr9G,YACYs9G,EACAC,EACAC,EACAC,EACAC,EACArzC,EACAszC,GANA,KAAAL,kBACA,KAAAC,WACA,KAAAC,aACA,KAAAC,cACA,KAAAC,qBACA,KAAArzC,eACA,KAAAszC,eAGZC,YAAYxzC,GAER,OADoBr2E,KAAK8pH,iCAAiCzzC,GACvCvyD,KAAKimG,IAAM,MAAC,OAAoB,QAApB,EAAAA,EAAGC,yBAAiB,eAAE9/C,aAAWrhB,OAAOuF,GAG3E67D,iBAAiBC,GACb,OAAItkC,GAAmBskC,GACZlqH,KAAKmqH,kCAAkCD,GACvCvkC,GAAsBukC,GACtBlqH,KAAKoqH,qCAAqCF,GAC1CpkC,GAAsBokC,GACtBlqH,KAAKqqH,0BAA0BH,GAC/BrkC,GAAuBqkC,GACvBlqH,KAAKsqH,2BAA2BJ,GdmL1B,IclL2BA,EdkLpClrH,KcjLGgB,KAAKuqH,qCAAqCL,GAG9C,GAGXM,sBAAsBN,GAClB,OAAOlqH,KAAKmqH,kCAAkCD,GACzCrhE,QAAQt6C,GAAMq3E,GAAmBr3E,KACjCuV,KAAKvV,GAAMA,IAGpBk8G,4BAA4BC,EAAwB1rH,GAChD,MAAMghB,EAAiD,GAEvD,OADAhgB,KAAK2qH,0BAA0BD,EAAgB1rH,EAAMghB,EAAQ,IAAI8wB,KAC1D9wB,EAAO6oC,QAAQnkC,GAAMkhE,GAAmBlhE,KAAIZ,KAAKY,GAAMA,IAGlEkmG,yBAAyBV,GACrB,OAAOlqH,KAAKoqH,qCAAqCF,GAC5CrhE,QAAQt6C,GAAMo3E,GAAsBp3E,KACpCuV,KAAKvV,GAAMA,IAGZg8G,qCACJL,EACAW,EAAqB,IAAI/5E,KAEzB,GAA+C,KAA3Co5E,EAASxiD,KAAKZ,gBAAgBL,SAAiC,CAC/D,MAAMipB,EAAYw6B,EAASxiD,KAAKZ,gBAAgBxpE,MAGhD,OAFoB0C,KAAK8pH,iCAAiCI,EAASn7G,MAEhD+7G,SAASC,GACxB/qH,KAAKgrH,6BAA6BD,EAAYr7B,EAAWm7B,KAIjE,MAAO,GAGHV,kCAAkCD,EAA4BW,EAAqB,IAAI/5E,KAC3F,MAAM4+C,EAAY1vF,KAAKirH,kBAAkBf,EAASxiD,MAGlD,OAFoB1nE,KAAK8pH,iCAAiCI,EAASn7G,MAEhD+7G,SAASC,GACxB/qH,KAAKgrH,6BAA6BD,EAAYr7B,EAAWm7B,KAIzDT,qCACJF,EACAW,EAAqB,IAAI/5E,KAEzB,MAAMo6E,EAAehB,EAASxiD,KAAKr7D,KAAK/O,MAClC6tH,EAAcnrH,KAAK8pH,iCAAiCI,EAASn7G,MAEnE,GAAIm7G,EAASkB,SAAU,CACnB,MAAMr1B,EAAY,GAAiCm0B,EAASxiD,MAC5D,QAAkB5oE,IAAdi3F,EACA,MAAO,GAGX,MAAMrG,EAAY1vF,KAAKirH,kBAAkBl1B,GACzC,OAAOo1B,EAAYL,SAASC,GACxB/qH,KAAKqrH,8BAA8BN,EAAYr7B,EAAWw7B,EAAcL,KAG5E,OAAOM,EAAYL,SAASC,GACxB/qH,KAAKsrH,gCAAgCP,EAAYG,EAAcL,KAKnER,0BACJH,EACAW,EAAqB,IAAI/5E,KAEzB,GAA+B,KAA3Bo5E,EAASxiD,KAAKjB,SACd,MAAO,GAGX,MAAM8kD,EAAerB,EAASxiD,KAAKpqE,MAC7B6tH,EAAcnrH,KAAK8pH,iCAAiCI,EAASn7G,MAC7DgnF,EAAY,GAAiCm0B,EAASxiD,MAE5D,GAAIquB,EAAW,CACX,MAAMrG,EAAY1vF,KAAKirH,kBAAkBl1B,GAEzC,OAAOo1B,EAAYL,SAASC,GACxB/qH,KAAKwrH,6BAA6BT,EAAYr7B,EAAW67B,EAAcV,KAG3E,OAAOM,EAAYL,SAASC,GACxB/qH,KAAKyrH,gCAAgCV,EAAYQ,EAAcV,KAKnEP,2BAA2BJ,GAC/B,MAAMlqG,EAAiC,GAEvC,IAAKkqG,EAASxiD,KAAKr7D,KACf,OAAO2T,EAGX,MAAM0rG,EAAe,GAAoCxB,EAASxiD,MAClE,IAAKgkD,EACD,OAAO1rG,EAGX,MAAM2rG,EAAoB3rH,KAAKypH,WAAWmC,2BAA2BF,EAAar/G,MAClF,IAAKs/G,EACD,OAAO3rG,EAGX,MAAM6qG,EAAqB,IAAI/5E,IAC/B,IAAK,MAAM+6E,KAAoBF,EAC3B,IAAK,MAAMG,KAAgB9rH,KAAKoqH,qCAC5ByB,EACAhB,GAEA7qG,EAAO3kB,QACA2E,KAAK+rH,0BAA0BD,EAAapkD,KAAMwiD,EAASxiD,KAAKr7D,KAAK/O,OACnEurD,QAAQt6C,GAAMs3E,GAAuBt3E,KACrCuV,KAAKvV,GAAMA,KAK5B,OAAOyR,EAGHgsG,8BACJjB,EACAr7B,EACAroB,EACA4kD,EACApB,GAEA,MAAM7qG,EAAc,GACdksG,EAAalsH,KAAKgrH,6BAA6BD,EAAYr7B,EAAWm7B,GAE5E,IAAK,MAAMsB,KAAaD,EAAWrjE,QAAQt6C,GAAMq3E,GAAmBr3E,KAAIuV,KAAKvV,GAAMA,IAAwB,CACvG,MAAM69G,EAAepsH,KAAKypH,WAAW4C,eAAeF,EAAUzkD,MAC9D,IAAK0kD,EACD,SAGJ,MAAMh6D,EAASyuD,GAAkBuL,EAAane,UAAW5mC,GACzD,GAAIjV,EACA,IAAK,MAAM8V,KAAQ9V,EAAOuoB,OAAOy+B,kBAC7B6S,EAAU/jD,EAAM2iD,EAAoB7qG,GAKhD,OAAOA,EAGHwrG,6BACJT,EACAr7B,EACA67B,EACAV,GAEA,IAAI7qG,EAAgC,GAEpC,MAAMssG,EAAW,IAAIvB,EAAWwB,mBAAmB78B,OAAe67B,IAClE,OAAIV,EAAmBzmG,IAAIkoG,KAI3BzB,EAAmBjlG,IAAI0mG,GAEvBtsG,EAAShgB,KAAKgsH,8BACVjB,EACAr7B,EACA67B,GACA,CAACrjD,EAAMiP,EAAOn3D,KACV,GAAI8lE,GAAsB5d,GACtB,GAAIloE,KAAKwsH,0CAA0CtkD,EAAKn5D,MACpD,IAAK,MAAM09G,KAAYzsH,KAAKqqH,0BAA0BniD,EAAMiP,GACpD2O,GAAsB2mC,IACtBzsG,EAAO3kB,KAAKoxH,QAIpBzsG,EAAO3kB,KAAK6sE,KAIxB2iD,GAGJA,EAAmBjoG,OAAO0pG,IAzBftsG,EA6BPqrG,8BACJN,EACAr7B,EACAw7B,EACAL,GAEA,IAAI7qG,EAAiD,GAErD,MAAMssG,EAAW,IAAIvB,EAAWwB,mBAAmB78B,OAAew7B,IAClE,OAAIL,EAAmBzmG,IAAIkoG,KAI3BzB,EAAmBjlG,IAAI0mG,GAEvBtsG,EAAShgB,KAAKgsH,8BACVjB,EACAr7B,EACAw7B,GACA,CAAChjD,EAAMiP,EAAOn3D,KACN2lE,GAAsBzd,KAClBloE,KAAKwsH,0CAA0CtkD,EAAKn5D,MACpDiR,EAAO3kB,QAAQ2E,KAAKoqH,qCAAqCliD,EAAMiP,IAE/Dn3D,EAAO3kB,KAAK6sE,MAIxB2iD,GAGJA,EAAmBjoG,OAAO0pG,IArBftsG,EAyBPyrG,gCACJV,EACAQ,EACAV,G,MAEA,MAAM7qG,EAAiD,GAEjDssG,EAAW,IAAIvB,EAAWwB,mBAAmBhB,IACnD,GAAIV,EAAmBzmG,IAAIkoG,GACvB,OAAOtsG,EAGX6qG,EAAmBjlG,IAAI0mG,GAEvB,MAAMI,EAAyC,QAA5B,EAAA3B,EAAWf,yBAAiB,eAAE9/C,UACjD,IAAKwiD,EAGD,OAAO1sG,EAGX,MAAMk8E,EAAQl8F,KAAK+rH,0BAA0BW,EAAYnB,GACzD,GAAqB,IAAjBrvB,EAAMlhG,OACNgF,KAAK2sH,yCAAyCD,EAAYnB,EAAcvrG,EAAQ6qG,QAEhF,IAAK,MAAM3iD,KAAQg0B,EACfl8F,KAAK4sH,yBAAyB1kD,EAAMloD,EAAQ6qG,GAKpD,OADAA,EAAmBjoG,OAAO0pG,GACnBtsG,EAGHsrG,gCACJP,EACAG,EACAL,G,MAEA,MAAM7qG,EAAiD,GAEjDssG,EAAW,IAAIvB,EAAWwB,mBAAmBrB,IACnD,GAAIL,EAAmBzmG,IAAIkoG,GACvB,OAAOtsG,EAGX6qG,EAAmBjlG,IAAI0mG,GAEvB,MAAMI,EAAyC,QAA5B,EAAA3B,EAAWf,yBAAiB,eAAE9/C,UACjD,IAAKwiD,EAGD,OAAO1sG,EAGX,MAAMk8E,EAAQl8F,KAAK+rH,0BAA0BW,EAAYxB,GACzD,GAAqB,IAAjBhvB,EAAMlhG,OACNgF,KAAK2sH,yCAAyCD,EAAYxB,EAAclrG,EAAQ6qG,QAEhF,IAAK,MAAM3iD,KAAQg0B,EACfl8F,KAAK6sH,gCAAgC3kD,EAAMloD,EAAQ6qG,GAK3D,OADAA,EAAmBjoG,OAAO0pG,GACnBtsG,EAGHgrG,6BACJD,EACA+B,EACAjC,G,MAEA,IAAIqB,EAAqD,GAGzD,MAAMa,EAAyC,QAA5B,EAAAhC,EAAWf,yBAAiB,eAAE9/C,UACjD,GAAI6iD,EAAY,CACZ,IAAIC,EAAiBF,EAAcv/G,MAAM,KACrCy/G,EAAehyH,OAAS,IACxBkxH,EAAalsH,KAAKitH,uBAAuBlC,EAAYiC,EAAe,GAAID,EAAYlC,GACpFmC,EAAiBA,EAAepvH,MAAM,IAG1C,IAAK,MAAMsvH,KAAiBF,EACxBd,EAAaA,EAAWpB,SAASqC,GAC7BntH,KAAKitH,uBAAuBlC,EAAYmC,EAAeC,EAAWzlD,KAAMmjD,KAKpF,OAAOqB,EAGHe,uBACJlC,EACAr7B,EACAq9B,EACAlC,GAEA,MAAM7qG,EAAiD,GAEjDssG,EAAW,IAAIvB,EAAWwB,iBAAiBQ,EAAWjxH,SAAS4zF,IACrE,GAAIm7B,EAAmBzmG,IAAIkoG,GACvB,OAAOtsG,EAGX6qG,EAAmBjlG,IAAI0mG,GAEvB,MAAMpwB,EAAQl8F,KAAK+rH,0BAA0BgB,EAAYr9B,GACzD,GAAqB,IAAjBwM,EAAMlhG,QAAwC,KAAxB+xH,EAAWtmD,SACjCzmE,KAAK2sH,yCAAyCI,EAAYr9B,EAAW1vE,EAAQ6qG,QAE7E,IAAK,MAAM3iD,KAAQg0B,EACfl8F,KAAK6sH,gCAAgC3kD,EAAMloD,EAAQ6qG,GAK3D,OADAA,EAAmBjoG,OAAO0pG,GACnBtsG,EAGH4sG,yBACJ1kD,EACAloD,EACA6qG,GAEA,GAAI/kC,GAAsB5d,GAClBloE,KAAKwsH,0CAA0CtkD,EAAKn5D,MACpDiR,EAAO3kB,QAAQ2E,KAAKqqH,0BAA0BniD,EAAM2iD,IAEpD7qG,EAAO3kB,KAAK6sE,QAEb,GAAI6d,GAAmB7d,GAAO,CACjC,MAAMklD,EAAeptH,KAAKypH,WAAW4D,wBAAwBnlD,GAA8B,GACvFklD,IACItnC,GAAsBsnC,GACtBptH,KAAK4sH,yBAAyBQ,EAAcptG,EAAQ6qG,IAC7CjlC,GAAmBwnC,IAAiBznC,GAAsBynC,KACjEptH,KAAK6sH,gCAAgCO,EAAcptG,EAAQ6qG,KAMnEgC,gCACJ3kD,EACAloD,EACA6qG,G,MAEA,GAAIjlC,GAAmB1d,GACfloE,KAAKwsH,0CAA0CtkD,EAAKn5D,MACpDiR,EAAO3kB,QAAQ2E,KAAKmqH,kCAAkCjiD,EAAM2iD,IAE5D7qG,EAAO3kB,KAAK6sE,QAEb,GAAIyd,GAAsBzd,GACzBloE,KAAKwsH,0CAA0CtkD,EAAKn5D,MACpDiR,EAAO3kB,QAAQ2E,KAAKoqH,qCAAqCliD,EAAM2iD,IAE/D7qG,EAAO3kB,KAAK6sE,QAEb,GAAI6d,GAAmB7d,GAAO,CACjC,MAAMklD,EAAeptH,KAAKypH,WAAW4D,wBAAwBnlD,GAA8B,GACvFklD,IAAiBrnC,GAAmBqnC,IACpCptH,KAAK6sH,gCAAgCO,EAAcptG,EAAQ6qG,QAE5D,GAAI/kC,GAAsB5d,GAAO,CAEpCloE,KAAK4sH,yBAAyB1kD,EAAMloD,EAAQ6qG,GAI5C,MAAMyC,EAA+B,QAAlB,EAAAplD,EAAK6zB,qBAAa,QAAI7zB,EAAKR,KACxC1oE,EAAOgB,KAAKypH,WAAW8D,QAAQD,GACrC,IAAKtuH,EACD,OAGJ,GAAI8nG,GAAW9nG,IAASA,EAAKunG,QAAQv+B,YACjChoE,KAAK6sH,gCAAgC7tH,EAAKunG,QAAQv+B,YAAahoD,EAAQ6qG,QACpE,GAAI9jB,GAAqB/nG,GAC5B,IAAK,MAAMwuH,KAAgBxuH,EAAKuqG,UAAUzlF,KAAK1R,GAAMA,EAAEm0F,QAAQv+B,cAAanf,OAAOuF,GAC/EpuD,KAAK6sH,gCAAgCW,EAAcxtG,EAAQ6qG,QAExD3kB,GAAoBlnG,IAC3BgB,KAAK2qH,0BAA0BziD,EAAKn5D,KAAM/P,EAAMghB,EAAQ6qG,IAK5DF,0BACJ8C,EACAzuH,EACAghB,EACA6qG,GAEA,MAAMhvD,EAAW78D,EAAKunG,QAAQ1qC,SACxBsvD,EAAcnrH,KAAK0tH,gBAAgB7xD,GAEnCixD,EAAgB9tH,EAAKunG,QAAQwG,SAASvmE,UACxCxnC,EAAKunG,QAAQv7B,WAAWhwE,OAAS,GAGrC,IAAK,MAAM+vH,KAAcI,EACrBnrG,EAAO3kB,QAAQ2E,KAAKgrH,6BAA6BD,EAAY+B,EAAejC,IAI5E6C,gBAAgB7xD,GACpB,MAAMsvD,EAA4B,GAElC,GAAInrH,KAAKwsH,0CAA0C3wD,GAC/CsvD,EAAY9vH,QAAQ2E,KAAK8pH,iCAAiCjuD,QACvD,CACH,MAAMkvD,EAAa/qH,KAAK2pH,mBAAmB9tD,GACvCkvD,GACAI,EAAY9vH,KAAK0vH,GAIzB,OAAOI,EAGHwB,yCACJD,EACA55D,EACA9yC,EACA6qG,G,QAIA,MAAMj9G,EAA6C,QAArC,KAA0B8+G,UAAW,eAAEjf,YACrD,GAAK7/F,EAKL,IAAK,MAAM+sE,KAAU/sE,EAAM+a,SACvB,IAAK,MAAMu/C,KAAQyS,EAAOy+B,kBAAmB,CACzC,IACKrzB,GAAmB7d,KACnBA,EAAKn5D,MACiB,KAAvBm5D,EAAKR,KAAKjB,WACTyB,EAAKR,KAAKsE,iBAEX,SAGJ,MAAMsgD,EAAW,IAAIpkD,EAAKn5D,UAAU+jD,IACpC,GAAI+3D,EAAmBzmG,IAAIkoG,GACvB,SAWJzB,EAAmBjlG,IAAI0mG,GAEvB,MAAMnB,EAAcnrH,KAAK0tH,gBAAgBxlD,EAAKn5D,MAC9C,IAAK,MAAMg8G,KAAcI,EAAa,CAClC,MAAMuB,EAAyC,QAA5B,EAAA3B,EAAWf,yBAAiB,eAAE9/C,UACjD,IAAKwiD,EACD,SAGJ,MAAMxwB,EAAQl8F,KAAK+rH,0BAA0BW,EAAY55D,GACzD,GAAqB,IAAjBopC,EAAMlhG,OACNgF,KAAK2sH,yCACDD,EACA55D,EACA9yC,EACA6qG,QAGJ,IAAK,MAAM3iD,KAAQg0B,EAAO,CACtB,MAAMkxB,EAAeptH,KAAKypH,WAAW4D,wBACjCnlD,GACwB,GAEvBklD,IAIDznC,GAAsBynC,IAAiBxnC,GAAmBwnC,GAC1DptH,KAAK6sH,gCAAgCO,EAAcptG,EAAQ6qG,GACpD/kC,GAAsBsnC,IAC7BptH,KAAK4sH,yBAAyBQ,EAAcptG,EAAQ6qG,OASxEkB,0BAA0BrkD,EAA6B5U,GAC3D,QAAah0D,IAAT4oE,EACA,MAAO,GAGX,MAAMimD,EAAkB,GAA0BjmD,GAC5CiT,EAASgzC,aAAe,EAAfA,EAAiBC,aAAa96D,GACvCopC,EAAQvhB,aAAM,EAANA,EAAQy+B,kBAEtB,OAAOld,UAAS,GAGZ+uB,kBAAkBvjD,GACtB,MAAMqlC,EAAqB,GAE3B,IAAIvkF,EAAiCk/C,EACrC,UAAmB5oE,IAAZ0pB,GACHukF,EAAS1xG,KAAKmtB,EAAQnc,KAAK/O,OAC3BkrB,EAAU,GAAiCA,GAG/C,OAAOukF,EAAS9W,UAAUz6F,KAAK,KAG3BsuH,iCAAiCzzC,GAErC,OADcr2E,KAAKupH,gBAAgBnzC,uBAAuBC,EAAcr2E,KAAKwpH,SAAUxpH,KAAKs2E,cAC/ExyD,KAAK+pG,GAAO7tH,KAAK0pH,YAAYrzC,EAAcw3C,KAAKhlE,OAAOuF,GAGhEo+D,0CAA0C3wD,GAC9C,OAAI77D,KAAK4pH,iBAIIh1C,GAAW/Y,IAMjB77D,KAAKupH,gBACPnzC,uBAAuBva,EAAU77D,KAAKwpH,SAAUxpH,KAAKs2E,cACrDvvD,OAAOuwB,GAAMA,IAAMukB,MAIzB,SAAS+Y,GAAW/Y,GACvB,MAA+E,SAAxE3E,GAAwB2E,EAAU,CAAC,SAA0B,GC9mBjE,SAASiyD,GAAuBhqC,GACnC,OAAQA,GACJ,IAAK,QACD,OAAO,EAEX,IAAK,UACD,OAAO,EAEX,IAAK,cACD,OAAO,EAEX,QACI,MAAM,IAAIloF,MAAM,GAAGkoF,sBA8BxB,MAAMzqD,GAKTptB,YAAqBqyD,EAAuC/xD,EAA0BE,GAAjE,KAAA6xD,WAAuC,KAAA/xD,UAA0B,KAAAE,QAF9E,KAAAshH,aAAwC,GAIhDC,UAAUC,QACgBnvH,IAAlBkB,KAAKkuH,SACLluH,KAAKkuH,SAAW,CAACD,GAEjBjuH,KAAKkuH,SAAS7yH,KAAK4yH,GAI3BE,aACI,OAAOnuH,KAAKkuH,SAGhBE,QAAQC,GACJruH,KAAKsuH,MAAQD,EAGjBE,UACI,OAAOvuH,KAAKsuH,MAGhBE,eAAejiH,EAAiBsvD,EAAkBpvD,GAC9CzM,KAAK+tH,aAAa1yH,KAAK,CAAEwgE,WAAUtvD,UAASE,UAGhDgiH,iBACI,OAAOzuH,KAAK+tH,cAMb,MAAMW,GAAb,cACY,KAAA7+E,UAAsB,GACtB,KAAA8+E,cAAsC,GAE9CC,WAAWriH,GACPvM,KAAK6vC,UAAUx0C,KAAKkR,GAIxBsiH,iBACI,MAAMC,EAAc,IAAIJ,GAExB,OADA1uH,KAAK+uH,YAAYD,GACVA,EAGXE,UAAUC,EA3GU,EA2GkBC,EA1Gd,GA2GpB,IAAI1nE,EAAQxnD,KAAKmvH,mBAAmBF,EAAUC,GAE1C1nE,EAAMxsD,OAASk0H,IACf1nE,EAAQA,EAAM5pD,MAAM,EAAGsxH,GACvB1nE,EAAMnsD,KAAK,UAGf,MAAM+7B,EAAOowB,EAAMhsD,KAAK,MACxB,OAAI47B,EAAKp8B,OAAS,EACP,KAAOo8B,EAGX,GAGX9Q,UACI,OAAmC,IAA5BtmB,KAAKovH,mBAGhBL,YAAYxpC,GACRvlF,KAAK2uH,cAActzH,KAAKkqF,GAG5B8pC,cACI,OAAOrvH,KAAK2uH,cAGhBW,cACI,OAAOtvH,KAAK6vC,UAGRu/E,iBAAiB3nB,EAAiB,GACtC,GAAIA,EA1Ic,GA2Id,OAAO,EAIX,IAAI8nB,EAAevvH,KAAK6vC,UAAU70C,OAElC,IAAK,MAAMw0H,KAAQxvH,KAAK2uH,cACpBY,GAAgBC,EAAKJ,iBAAiB3nB,EAAiB,GAG3D,OAAO8nB,EAGHJ,mBAAmBF,EAAkBC,EAAsBznB,EAAiB,GAChF,GAAIwnB,GAAY,GAAKxnB,EAzJH,GA0Jd,MAAO,GAGX,IAAIgoB,EAAuB,GAC3B,IAAK,MAAMlqC,KAAYvlF,KAAK2uH,cAAe,CACvC,MAAMe,EAAoB1vH,KAAK6vC,UAAU70C,OAAS,EAAIi0H,EAAW,EAAIA,EAIrE,GAHAQ,EAAWp0H,QAAQkqF,EAAS4pC,mBAAmBO,EAAmBR,EAAcznB,EAAiB,IAG7FgoB,EAAWz0H,QAAUk0H,EAAc,CACnCO,EAAaA,EAAW7xH,MAAM,EAAGsxH,GACjC,OAMR,MAAMS,EAAa3vH,KAAK6vC,UAAU70C,OAAS,EAAI,KAAO,GACtD,OAAOgF,KAAK6vC,UAAU7qC,OAAOyqH,GAAY3rG,KAAKoW,GAASy1F,EAAaz1F,MF/K5E,SAAYwiF,GACR,4CACA,0CACA,wDACA,sDACA,sDAEA,oDACA,0DACA,0DACA,8CACA,wDACA,kDACA,0CACA,0CACA,wCACA,8CACA,8CACA,gDACA,oEACA,oDACA,0DACA,0CACA,kDACA,8DACA,gDACA,sEACA,kEACA,4DACA,kDACA,oDACA,0CACA,sDACA,0DACA,sEACA,0EACA,gEACA,wDACA,kDACA,4EACA,wEACA,0DACA,wDACA,oDACA,wDACA,oDACA,0DACA,wDACA,oDACA,kEACA,4DACA,gDACA,4DACA,kDACA,0DACA,wEACA,oDACA,gDACA,0DACA,8CACA,0DACA,kDACA,gDACA,0EACA,sDAhEJ,CAAYA,QAAc,KGAnB,MAAMkT,GACT3jH,YAAoB4jH,GAAA,KAAAA,gBAEpBx+G,OAAO8O,GACH,IAAI/d,EAAMpC,KAAK6vH,cAIf,OAHA/yH,OAAOuoB,KAAKlF,GAAQmF,SAAStD,IACzB5f,EAAMA,EAAIuD,QAAQ,IAAIqc,KAAS7B,EAAe6B,GAAKxiB,eAEhD4C,EAGX0tH,kBACI,OAAO9vH,KAAK6vH,eAMpB,IAAIE,GAAmC,UAEhC,SAASC,KACZ,MAA2B,eAApBD,GAGJ,SAASE,GAAiBT,GAC7B,OAAOQ,KAAyB,GAAKR,EAAKR,YAM9C,IAAIkB,GACJ,MAAMC,GAAkC,oBAAQ,MAEhD,SAASC,GAAapuG,QACOljB,IAArBoxH,KACAA,GAAmB,IAGvB,MAAMG,EAAWruG,EAAIzU,MAAM,KAErBnL,EAAMkuH,GAAoBJ,GAAkBG,IAAaC,GAAoBH,GAAgBE,GACnG,GAAIjuH,EACA,OAAOA,EAGX8vD,EAAK,qCAAqClwC,MAG9C,SAASsuG,GAAoBxsG,EAAsBusG,GAC/C,IAAIE,EAAczsG,EAElB,IAAK,MAAM0sG,KAAWH,EAAU,CAC5B,IAAKE,EAAOC,GACR,OAGJD,EAASA,EAAOC,GAGpB,OAAOD,EAQJhkG,eAAekkG,IAAuB,OAAEC,EAAM,MAAEC,GAAkC,IACjFA,IACAZ,GAAkBY,GAEtB,MAAMC,EAAgBF,EAASA,EAAO5wH,cAM1C,WACI,IACI,GAAa,OAATowD,gBAAS,IAATA,eAAS,EAATA,UAAWp6B,SACX,OAAOo6B,UAAUp6B,SAASh2B,cAEhC,OAIF,MAAM+wH,EAAMC,QAAQD,IAGdE,EAAqBF,EAAIG,kBAC/B,GAAID,EACA,IACI,OAAO/hH,KAAK2C,MAAMo/G,GAAoBL,OACxC,OAMN,MAAMO,EAAeJ,EAAIK,QAAUL,EAAIM,aAAeN,EAAIO,MAAQP,EAAIQ,SACtE,GAAIJ,EAAc,CAEd,MAAMK,EAAoBL,EAAa1jH,MAAM,KAC7C,GAAI+jH,EAAkBt2H,OAAS,GAAKs2H,EAAkB,GAClD,OAAOA,EAAkB,GAKjC,MAlFkB,QA4CoCC,GACtDrB,SAwCJ3jG,eAAoCmkG,GAChC,IAAIc,QAAiBC,GAAwBf,GAC7C,QAAiB5xH,IAAb0yH,EACA,OAAOA,EAKX,MAAME,EAAchB,EAAOnjH,MAAM,KACjC,OAAImkH,EAAY12H,OAAS,GAAK02H,EAAY,KACtCF,QAAiBC,GAAwBC,EAAY,SACpC5yH,IAAb0yH,GACOA,EAIR,GAxDkBG,CAAqBf,GA2DlDrkG,eAAeklG,GAAwBf,GACnC,OAAQA,GAGJ,IAAK,KACD,aAAc,0FAAoC79G,QACtD,IAAK,KACD,aAAc,0FAAoCA,QACtD,IAAK,QACD,aAAc,0FAAuCA,QACzD,IAAK,KACD,aAAc,yFAAoCA,QACtD,IAAK,KACD,aAAc,0FAAoCA,QACtD,IAAK,KACD,aAAc,0FAAoCA,QACtD,IAAK,QACD,aAAc,0FAAuCA,QACzD,IAAK,QACD,aAAc,0FAAuCA,QACzD,QACI,aAAc,0FAAuCA,SAI1D,IAAU++G,GCsFV,SAASC,GACZC,EACApqD,EACAumC,GAEAn8C,EAAO8yC,GAAU0L,iBAAiBrC,IAGlC,MAAMlD,EAAUlG,GAAakN,eACzB,UACA,GACA,GACA,IAEJlN,GAAa6O,aAAa3I,EAAS,CAC/BzsC,SAAU,EACVjyD,KAAM,MACNrN,KAAMivG,EACN+E,iBAAiB,IAErBnO,GAAa0O,qBAAqBxI,GAClCA,EAAQxE,QAAQ2C,mBAAqBtE,GAAUgK,gBAAgBX,GAG/D,MAAM8jB,EAAWltB,GAAakN,eAAe,WAAY,GAAI,GAAI,IACjElN,GAAa6O,aAAaqe,EAAU,CAChCzzD,SAAU,EACVjyD,KAAM,OACNrN,KAAM4lG,GAAUgK,gBAAgBX,GAChC+E,iBAAiB,IAErB+e,EAASxrB,QAAQ2C,mBAAqBnE,GAASgN,iBAG/ClN,GAAa6O,aAAaqe,EAAU,CAChCzzD,SAAU,EACVt/D,KAAMimG,GAAQ9yF,SACd6gG,iBAAiB,IAGrB,MAAMpqF,EAAUopG,GAA4BF,EAAW7jB,GACvDrlF,EAAQtD,SAAQ,CAACm0C,EAAOptD,KACpBw4F,GAAa6O,aAAaqe,EAAU,CAChCzzD,SAAU,EACVjyD,OACAymG,YAAar5C,EAAMkkD,WACnB3+G,KAAMy6D,EAAM1S,UACZisD,iBAAiB,OAIzB,MAAMvF,EAAcQ,EAAU1H,QAAQiE,OACtCiD,EAAYtoG,IAAI,WAAY,kBAAsB,EAAyB4sH,IAC3EtkB,EAAYtoG,IAAI,UAAW,kBAAsB,EAAyB4lG,IAE1E,MAAMknB,EAAWH,EAAUI,eAAexqD,EAAM,OAGhD,GAAIw+B,GAAoB+rB,GAAW,CAC/B,MAAME,EAA+B,CACjC7zD,SAAU,EACVjyD,KAAM,OACNrN,KAAM4lG,GAAUgK,gBAAgBX,GAChC+E,iBAAiB,GAEfof,EAAwBr2G,IAC1B,IAAIs2G,EAAiBjtB,GAAY2M,eAAe,KAAKh2F,EAAKwqF,QAAQl6F,gBAQlE,OAPAgmH,EAAe9rB,QAAQyD,eAAgB,EACvCqoB,EAAiBjtB,GAAYiR,gBACzBgc,EACAt2G,EAAKwqF,QAAQyG,eACbiB,EAAU1H,QAAQl6F,KAAI,GAGnBgmH,GAGLC,EAAkB,CACpBC,EACAxrE,EACAyrE,EACAC,GAA0B,KAE1B,MAAMC,EAAc7tB,GAAakN,eAC7B,MACA,GACA,GACA,KAUJ,GARAlN,GAAa6O,aAAagf,EAAaP,GACvCO,EAAYnsB,QAAQyG,eAAiB8kB,EAAUa,kBAAkBjrD,GACjEm9B,GAAa6O,aAAagf,EAAa,CACnCp0D,SAAU,EACVjyD,KAAM,IACNrN,KAAMuzH,EACNvf,iBAAiB,IAEjBwf,EAAgB,CAChB,MAAMH,EAAiBD,EAAqBM,GAC5C7tB,GAAa6O,aAAagf,EAAa,CACnCp0D,SAAU,EACVjyD,KAAM,UACNrN,KAAMyzH,EAA0B1rE,EAAYsrE,EAC5Crf,iBAAiB,IAErB0f,EAAYnsB,QAAQ2C,mBAAqBupB,EACnC1rE,EACAikD,GAAa,CAACjkD,EAAWsrE,SAE/BK,EAAYnsB,QAAQ2C,mBAAqB8B,GAAa,CAACjkD,EAAWg+C,GAASgN,mBAE/E,OAAO2gB,GAGLE,EAAmB,CAACL,EAAexrE,KACrC,MAAM8rE,EAA8B,CAChCv0D,SAAU,EACVjyD,KAAM,IACNrN,KAAMuzH,EACNvf,iBAAiB,GAGf8f,EAAejuB,GAAakN,eAC9B,MACA,GACA,GACA,KAEJlN,GAAa6O,aAAaof,EAAcX,GACxCttB,GAAa6O,aAAaof,EAAcD,GACxCC,EAAavsB,QAAQ2C,mBAAqBniD,EAE1C,MAAMgsE,EAAeluB,GAAakN,eAC9B,MACA,GACA,GACA,KAEJlN,GAAa6O,aAAaqf,EAAcZ,GACxCttB,GAAa6O,aAAaqf,EAAcF,GACxCE,EAAaxsB,QAAQyG,eAAiB8kB,EAAUa,kBAAkBjrD,GAClE,MAAM2qD,EAAiBD,EAAqBW,GAS5C,OARAluB,GAAa6O,aAAaqf,EAAc,CACpCz0D,SAAU,EACVjyD,KAAM,UACN2mG,iBAAiB,EACjBh0G,KAAMqzH,EACNvf,YAAY,IAEhBigB,EAAaxsB,QAAQ2C,mBAAqB8B,GAAa,CAACjkD,EAAWsrE,IAC5D,CAACS,EAAcC,IAGpBC,EAAyB,CAACT,EAAexrE,KAC3C,MAAMksE,EAAqBpuB,GAAakN,eACpC,aACA,GACA,GACA,KAgBJ,OAdAlN,GAAa6O,aAAauf,EAAoBd,GAC9CttB,GAAa6O,aAAauf,EAAoB,CAC1C30D,SAAU,EACVjyD,KAAM,IACN2mG,iBAAiB,EACjBh0G,KAAMuzH,IAEV1tB,GAAa6O,aAAauf,EAAoB,CAC1C30D,SAAU,EACVjyD,KAAM,UACN2mG,iBAAiB,EACjBh0G,KAAM+nD,IAEVksE,EAAmB1sB,QAAQ2C,mBAAqBniD,EACzCksE,GAGLC,EAAuBX,IACzB,MAAMY,EAAkBtuB,GAAakN,eACjC,UACA,GACA,GACA,KAUJ,OARAlN,GAAa6O,aAAayf,EAAiBhB,GAC3CttB,GAAa6O,aAAayf,EAAiB,CACvC70D,SAAU,EACVjyD,KAAM,IACN2mG,iBAAiB,EACjBh0G,KAAMuzH,IAEVY,EAAgB5sB,QAAQ2C,mBAAqBnE,GAASgN,iBAC/CohB,GAGLC,EAA+B,GAC/BC,EAA+B,GAC/BC,EAAsC,GAE5C1qG,EAAQtD,SAAQ,CAACm0C,EAAOptD,KACpB,MAAMknH,EAAkB3uB,GAAUgK,gBAAgBhK,GAAUyH,iBAAiB4lB,EAAU5lH,IAEvF+mH,EAAa/3H,KAAKi3H,EAAgBiB,EAAiB95D,EAAM1S,WAAgC,IACzFqsE,EAAa/3H,KACTi3H,EACIiB,EACA95D,EAAM1S,WACe,GACS,IAGtCqsE,EAAa/3H,KACTi3H,EACIiB,EACA95D,EAAM1S,WACe,GACS,IAGtCssE,EAAah4H,QAAQu3H,EAAiBW,EAAiB95D,EAAM1S,YAC7DusE,EAAoBj4H,KAAK23H,EAAuBO,EAAiB95D,EAAM1S,eAK3E,MAAMysE,EAAU5uB,GAAUgK,gBAAgBqjB,GAC1CmB,EAAa/3H,KAAKi3H,EAAgBkB,EAASvuB,GAAQ9yF,UAA+B,IAClFihH,EAAa/3H,KAAKi3H,EAAgBkB,EAASvuB,GAAQ9yF,UAA+B,IAElFs7F,EAAYtoG,IACR,MACA,kBAAsB,EAAyB2/F,GAAuB3yF,OAAOihH,KAE7EC,EAAar4H,OAAS,GACtByyG,EAAYtoG,IACR,MACA,kBAAsB,EAAyB2/F,GAAuB3yF,OAAOkhH,KAGjFC,EAAoBt4H,OAAS,GAC7ByyG,EAAYtoG,IACR,aACA,kBAAsB,EAAyB2/F,GAAuB3yF,OAAOmhH,KAGrF7lB,EAAYtoG,IAAI,cAAe,kBAAsB,EAAyB+tH,EAAoBM,MAInG,SAASxB,GAA4BF,EAA0B7jB,EAAsBwlB,GAAgB,GAExG,IAAKxlB,EAAU1H,QAAQmX,iBAAkB,CACrC,MAAM90F,EAAU,IAAI9K,IACpB41G,GAAqC5B,EAAW7jB,EAAWrlF,GAG3DqlF,EAAU1H,QAAQmX,iBAAmB90F,EAIzC,MAAMA,EAAU,IAAI9K,IAYpB,OAXAmwF,EAAU1H,QAAQmX,iBAAkBp4F,SAAQ,CAAChoB,EAAO0kB,KAChD4G,EAAQzjB,IAAI6c,EAAK,IAAK1kB,OAItBm2H,GAAiBxlB,EAAUmB,0BAC3BnB,EAAUmB,yBAAyB9pF,SAAQ,CAAChoB,EAAO0kB,KAC/C4G,EAAQzjB,IAAI6c,EAAK,IAAK1kB,OAIvBsrB,EAGX,SAAS8qG,GACL5B,EACA7jB,EACA0lB,EACAlsB,EAAiB,GAEjB31C,EAAO8yC,GAAU0L,iBAAiBrC,IAC9BxG,EAAiBlD,KAGrBkD,IAEAwG,EAAU1H,QAAQgI,YAAYjpF,SAASsuG,IAC/B1tB,GAAoB0tB,IAAkBhvB,GAAU0L,iBAAiBsjB,IACjEF,GAAqC5B,EAAW8B,EAAeD,EAAQlsB,MAK/EwG,EAAU1H,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KACtC,IAAKsuE,EAAOo9B,4BAA6B,CAErC,MAAM8b,EAAWra,GAA8B7+B,GAC/C,GAAIk5C,GAA8B,IAAlBA,EAAS70H,KAAmC,CACxD,MAAM+nD,EAAY+qE,EAAUgC,yBAAyBn5C,GACrD,IAAIgjC,GAAc/Y,GAAU2L,oBAAoBtC,IPjgBzD,SAAqCtzB,GACxC,OAAOA,EAAOy+B,kBAAkB3qD,MAAMyZ,GAAuB,IAAdA,EAAKlpE,QAAuCkpE,EAAKy1C,aOkgBhFoW,CAA4Bp5C,GP/fzC,SAAwCA,GAC3C,OAAOA,EAAOy+B,kBAAkB3qD,MAAMyZ,GAAuB,IAAdA,EAAKlpE,QAAuCkpE,EAAK8rD,gBOggBzEC,CAA+Bt5C,KACtCgjC,GAAa,GAFbA,GAAa,EAQjB,MAAMuW,EAAgBP,EAAOpvH,IAAI8H,GACjC,GAAI6nH,IACK9sB,GAAW8sB,EAAcntE,UAAWA,GAAY,CACjD,MAAMyoE,EAAO,IAAId,GACjBc,EAAKZ,WACDgD,GAAUlD,mBAAmByF,6BAA6B9iH,OAAO,CAC7D+iH,WAAYtC,EAAUuC,UAAUH,EAAcntE,WAC9CutE,UAAWxC,EAAUuC,UAAUttE,MAGvC+qE,EAAUyC,cACN,GAA6BV,EAASnsD,MAAM8sD,kBAAkBC,wBAC9D/X,GAAe+X,wBACf7C,GAAUv4F,WAAW86F,6BAA6B9iH,OAAO,CACrDhF,SACCmjH,EAAKR,YACV6E,EAASnsD,MAKrBisD,EAAOxuH,IAAIkH,EAAM,CACb06C,YACA42D,aACA+W,YAAY,UAOzB,SAASC,GACZ7C,EACAvlB,EACAC,EACAgjB,EACA/nB,EAAiB,GAEjB,IAAImtB,GAAqB,EACzB,MAAMC,EAAc7C,GAA4BF,EAAWvlB,GACrDuoB,EAAa9C,GAA4BF,EAAWtlB,GAA6B,GAuDvF,OArDAqoB,EAAYvvG,SAAQ,CAACyvG,EAAW1oH,KAC5B,MAAM2oH,EAAWF,EAAWvwH,IAAI8H,GAC3B2oH,GAWGD,EAAUpX,aAAeqX,EAASrX,YAC9B6R,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBuG,yBAAyB5jH,OAAO,CACzDhF,OACArN,KAAM8yH,EAAUuC,UAAU9nB,MAItCqoB,GAAqB,IACbG,EAAUpX,YAAcqX,EAASrX,aACrC6R,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBwG,4BAA4B7jH,OAAO,CAC5DhF,OACArN,KAAM8yH,EAAUuC,UAAU9nB,MAItCqoB,GAAqB,GAIpB9C,EAAUqD,cACPJ,EAAUhuE,UACViuE,EAASjuE,eACEjoD,OACMA,OACLA,EACZ2oG,KAGA+nB,GACAA,EAAKZ,WAAWgD,GAAUlD,mBAAmB0G,qBAAqB/jH,OAAO,CAAEhF,UAE/EuoH,GAAqB,KA7CrBpF,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmB2G,wBAAwBhkH,OAAO,CACxDhF,OACArN,KAAM8yH,EAAUuC,UAAU7nB,MAItCooB,GAAqB,MA0CtBA,EAkGJ,SAASU,GACZxD,EACApqD,EACA6tD,EACAC,GAEA,GAA0B,IAAtB9tD,EAAK3kC,MAAM/nC,OAEX,OADA82H,EAAU2D,SAAS7D,GAAUv4F,WAAWq8F,sBAAsBrkH,OAAO,CAAEpE,SAAUy6D,EAAK3kC,MAAM/nC,SAAW0sE,GAChG,CAAEA,OAAM1oE,KAAM0lG,GAAYvyF,UAIrC,GAAIu1D,EAAKf,eAAiBe,EAAK3kC,MAAM,GAAG12B,MAA2C,IAAnCq7D,EAAK3kC,MAAM,GAAG6jC,iBAC1D,OAGJ,MAAMh+C,EAAUopG,GAA4BF,EAAWyD,EAA+C,QAAjBC,EAAM51G,QAErF+1G,EAAkB7D,EAAU8D,oBAAoBluD,EAAK3kC,MAAM,GAAG+jC,iBAC9D+uD,EAAYF,EAAgB32H,KAClC,IAAIwwH,EAAO,IAAId,GACXoH,GAAiC,EAErC,MAAMC,EAAgBjY,GAAY+X,GAAY/vB,IAC1C,GAAIH,GAAeG,GACf,OAAOA,EAGX,GAAIK,GAAgBL,IAAYlB,GAAUqH,UAAUnG,EAAS,OAAQ,CACjE,QAA6BhnG,IAAzBgnG,EAAQ4F,aAGR,OAAOhH,GAAYvyF,SAIvB,MAAM6jH,EAAYlwB,EAAQ4F,aACpBjyC,EAAQ7wC,EAAQrkB,IAAIyxH,GAC1B,OAAKv8D,GASQA,EAAMkkD,YAAclkD,EAAMi7D,YAAgC,QAAjBc,EAAM51G,QdsWjE,SAA0B8nD,EAAiBuuD,GAAsB,GACpE,IACI7+B,EADAnuB,EAAiCvB,EAGrC,KAAOuB,GAAS,CACZ,OAAQA,EAAQxC,UACZ,KAAK,GACD,OAAOwC,EAAQ0iB,WAAayL,EAGhC,KAAK,GACD,GAAI6+B,GAAuBhtD,EAAQgjB,QAAUmL,EACzC,OAAO,EAEX,MAGJ,KAAK,GACL,KAAK,GACL,KAAK,GACD,OAAO,EAIfA,EAAWnuB,EACXA,EAAUA,EAAQ9jC,OAGtB,OAAO,EcjYU,CAAgCuiC,GAAgC,IACjE8nD,EAAKZ,WACDgD,GAAUlD,mBAAmBwH,iBAAiB7kH,OAAO,CACjDhF,KAAM2pH,EACNh3H,KAAM8yH,EAAUuC,UAAUkB,MAMrB,QAAjBC,EAAM51G,OACDkyG,EAAUqD,cAAc17D,EAAM1S,UAAWyuE,EAAMW,SAAWlxB,GAAQ9yF,SAAUq9G,KAC7EsG,GAAiC,GAEb,QAAjBN,EAAM51G,QAAoB65C,EAAMkkD,aACvC6R,EAAKZ,WACDgD,GAAUlD,mBAAmB0H,qBAAqB/kH,OAAO,CACrDhF,KAAM2pH,KAGdF,GAAiC,GAG9Br8D,EAAM1S,YAhCTyoE,EAAKZ,WACDgD,GAAUlD,mBAAmB2H,eAAehlH,OAAO,CAC/ChF,KAAM2pH,EACNh3H,KAAM8yH,EAAUuC,UAAUkB,MAGlCO,GAAiC,EAC1BpxB,GAAYvyF,UAgC3B,OAJAq9G,EAAKZ,WACDgD,GAAUlD,mBAAmB4H,uBAAuBjlH,OAAO,CAAErS,KAAM8yH,EAAUuC,UAAUvuB,MAE3FgwB,GAAiC,EAC1BpxB,GAAYvyF,YAUvB,GAJIqjH,EAAMe,sBACN/G,EAAOgG,EAAMe,sBAGZ/G,EAAKlpG,UAAW,CACjB,IAAIkwG,EAEAA,EADiB,QAAjBhB,EAAM51G,OACUgyG,GAAUv4F,WAAWo9F,eACb,QAAjBjB,EAAM51G,OACGgyG,GAAUv4F,WAAWq9F,kBAErB9E,GAAUv4F,WAAWs9F,kBAGzC,MAAMnuD,EAAW,GAA6Bd,GAC9CoqD,EAAUyC,cACNuB,EACMttD,EAASgsD,kBAAkBoC,iCAC3BpuD,EAASgsD,kBAAkBC,wBACjCqB,EACMpZ,GAAeka,iCACfla,GAAe+X,wBACrB+B,EAAgBhH,EAAKR,YACrBtnD,GAIR,MAAO,CAAEA,OAAM1oE,KAAM+2H,EAAe/yF,eAAgB2yF,EAAgB3yF,cCpzBxE,SAAS6zF,GAAuB73H,EAA6CivG,GACzE,GAAsB,IAAlBjvG,EAAKs/D,SAA8C,CACnD,GAA8B,IAA1Bt/D,EAAKuqG,UAAUvuG,OACf,OAAO,EAEXgE,EAAOA,EAAKuqG,UAAU,GAK1B,MACgC,aAA5BvqG,EAAKunG,QAAQv7B,cACXijC,KACAjvG,EAAKkzG,cACNtN,GAAU+C,mBAAmBsG,EAAWjvG,EAAKkzG,aAkF/C,SAAS4kB,GACZ5uD,EACA6uD,EACAjF,GAEA,MAAMkF,EAAiB,GAAiC9uD,EAAKR,KAAKr7D,MAA2B,GACvF+/G,EAAe4K,EAAiBlF,EAAUzF,eAAe2K,QAAkBl4H,EACjF,GAAIstH,EACA,OAuHR,SACIlkD,EACA6uD,EACAjF,EACA7jB,GAEA,IAAK/lC,IAASyd,GAAsBzd,GAChC,OAGJ,MAAM+uD,EAAenF,EAAUoF,sBAAsBhvD,GACrD,IAAK+uD,IAAiBtX,GAAWsX,GAC7B,OAGJ,MAAME,EAAmC,KAAvBjvD,EAAKR,KAAKjB,SAAsCyB,EAAKR,KAAKr7D,KAAK/O,WAAQwB,EACzF,IAAKq4H,EACD,OAGJ,MAAMlW,EAAWC,GAAiBjT,EAAW,GAE7C,IAAK,MAAO8Q,KAAakC,EAAU,CAC/B,IAAK/a,GAAoB6Y,GACrB,SAGJ,MAAMpkC,EAASokC,EAASxY,QAAQiE,OAAOjmG,IAAI4yH,GAErCj7B,EAAQvhB,aAAM,EAANA,EAAQy+B,kBACtB,GAAIld,EACA,IAAK,MAAMh0B,KAAQg0B,EACf,GAAIvW,GAAsBzd,GAAO,CAC7B,MAAM+uD,EAAenF,EAAUoF,sBAAsBhvD,GACrD,GAAI+uD,GAAgBtX,GAAWsX,GAAe,CAC1C,MAAM55B,EAAY+5B,GAAqClvD,EAAM6uD,GAC7D,GAAI15B,EACA,OAAOA,KA5JpBg6B,CAA+BnvD,EAAM6uD,EAAcjF,EAAW1F,EAAane,WA2BnF,SAASqpB,GACZt4H,EACAouH,EACA2J,GAEA,IAAI15B,EAAYr+F,EAAKq+F,UAQrB,OAPKA,GACG+vB,GAAgBx4C,GAAWw4C,EAAar+G,QAExCsuF,EAyKZ,SAAiCk6B,GAC7B,IAAK,MAAMzlH,KAAUylH,EACjB,GAAIzlH,EAAO24D,WAAY,CACnB,MAAM4yB,EAAY,GAA4BvrF,EAAO24D,YACrD,GAAI4yB,EACA,OAAOA,GA9KCm6B,CADIT,EAAalN,YAAYuD,EAAar+G,QAKvDsuF,EAGJ,SAASo6B,GACZxpB,EACAmf,EACA2J,GAEA,IAAI15B,EAAY4Q,EAAU1H,QAAQlJ,UAclC,IAbKA,GAAa+vB,GAAgBxnC,GAAmBwnC,KACjD/vB,EAAYq6B,GAAkC,CAACtK,KAE1C/vB,GACD+vB,GACAx4C,GAAWw4C,EAAar+G,OACF,IAAtBq+G,EAAapuH,QAGbq+F,EAAYq6B,GADMX,EAAavM,sBAAsB4C,MAKxD/vB,GAAa+vB,EAAc,CAC5B,MAAMuK,EAAYZ,EAAatM,4BAA4B2C,EAAar+G,KAAMk/F,GAC1E0pB,IAEAt6B,EAAYq6B,GADOC,EAAU9uE,QAAQt6C,GAAMq3E,GAAmBr3E,KAAIuV,KAAKvV,GAAMA,MAKrF,OAAO8uF,EAGJ,SAASu6B,GAAgC1vD,G,UAC5C,OAAO,GAAwD,QAA5B,EAAgB,QAAhB,EAAS,QAAT,EAAAA,EAAKR,YAAI,eAAEukB,aAAK,eAAExhB,kBAAU,QAAI,IAGhE,SAASotD,GACZ3vD,EACA6uD,GAEA,GAAK7uD,EAIL,YAAuBppE,IAAnBopE,EAAKm1B,UACEn1B,EAAKm1B,UAjFb,SAAyCn1B,EAA2B6uD,GACvE,MAAMe,EAAuB,GAC7B,IAAKljD,GAAW1M,EAAKn5D,MACjB,OAAO+oH,EAGX,IAAK,MAAMrL,KAAYsK,EAAa9M,iBAAiB/hD,GACjD,GAAI4d,GAAsB2mC,IAAeA,EAASpvB,UAC9Cy6B,EAAWz8H,KAAKoxH,EAASpvB,gBACtB,GAAIzX,GAAmB6mC,IAAa9mC,GAAsB8mC,GAAW,CAGxE,MAAMpvB,EAAYu6B,GAAgCnL,GAC9CpvB,GACAy6B,EAAWz8H,KAAKgiG,GAK5B,OAAOy6B,EAgEIC,CAAgC7vD,EAAM6uD,GAAcxrD,MAAMysD,GAAQA,IAIjF,SAASC,GACLj5H,EACAouH,EACA2J,GAEA,IAAKhwB,GAAqB/nG,GACtB,OAGJ,MAAM84H,EAAuB,GAC7B,GAAI94H,EAAKuqG,UAAU96C,MAAMr8C,GAAMA,EAAEm0F,QAAQlJ,YACrCr+F,EAAKuqG,UAAUjkF,SAAS+5F,IAChBA,EAAS9Y,QAAQlJ,WACjBy6B,EAAWz8H,KAAKgkH,EAAS9Y,QAAQlJ,mBAGtC,GAAI+vB,GAAgBx4C,GAAWw4C,EAAar+G,OAAS42E,GAAsBynC,GAAe,CAC7F,MACM/vB,EAAYq6B,GADAX,EAAanM,yBAAyBwC,IAEpD/vB,GACAy6B,EAAWz8H,KAAKgiG,GAIxB,OAAOy6B,EAoEX,SAASV,GAAqChK,EAAmC2J,GAC7E,IAAI15B,EAAYq6B,GAAkC,CAACtK,IAMnD,OALK/vB,GAAazoB,GAAWw4C,EAAar+G,QAEtCsuF,EAAYq6B,GADMX,EAAanM,yBAAyBwC,KAIrD/vB,EAGX,SAASq6B,GAAkCx7B,GACvC,IAAK,MAAMh0B,KAAQg0B,EAAO,CACtB,MAAMmB,EAAYu6B,GAAgC1vD,GAClD,GAAIm1B,EACA,OAAOA,IFvLnB,SAAiBu0B,GACb,IAAiBv4F,EA6vBAq1F,EAgRAvvF,EAaA+4F,GA1hCjB,SAAiB7+F,GACA,EAAA8+F,4BAA8B,IACvC,IAAIvI,GACAQ,GAAa,2CAER,EAAAgI,wBAA0B,IAAMhI,GAAa,sCAC7C,EAAAiI,uBAAyB,IAAMjI,GAAa,qCAC5C,EAAAkI,uBAAyB,IAAMlI,GAAa,qCAC5C,EAAAmI,uBAAyB,IAAMnI,GAAa,qCAC5C,EAAAoI,uBAAyB,IAAMpI,GAAa,qCAC5C,EAAAqI,cAAgB,IACzB,IAAI7I,GAA4DQ,GAAa,6BACpE,EAAAsI,sBAAwB,IACjC,IAAI9I,GACAQ,GAAa,qCAER,EAAAuI,mBAAqB,IAC9B,IAAI/I,GACAQ,GAAa,kCAER,EAAAwI,2BAA6B,IACtC,IAAIhJ,GACAQ,GAAa,0CAER,EAAAyI,mBAAqB,IAC9B,IAAIjJ,GAAsCQ,GAAa,kCAC9C,EAAA0I,oBAAsB,IAC/B,IAAIlJ,GAAuCQ,GAAa,mCAC/C,EAAA2I,+BAAiC,IAC1C,IAAInJ,GAA0CQ,GAAa,8CAClD,EAAA4I,6BAA+B,IAAM5I,GAAa,2CAClD,EAAA6I,cAAgB,IAAM7I,GAAa,4BACnC,EAAA8I,2BAA6B,IACtC,IAAItJ,GAA0CQ,GAAa,0CAClD,EAAA+I,yBAA2B,IAAM/I,GAAa,uCAC9C,EAAAgJ,wBAA0B,IAAMhJ,GAAa,sCAC7C,EAAAiJ,eAAiB,IAAMjJ,GAAa,6BACpC,EAAAkJ,iBAAmB,IAAMlJ,GAAa,+BACtC,EAAAmJ,sBAAwB,IAAMnJ,GAAa,oCAC3C,EAAAoJ,4BAA8B,IACvC,IAAI5J,GAAsCQ,GAAa,2CAC9C,EAAAqJ,0BAA4B,IAAMrJ,GAAa,wCAC/C,EAAAsJ,qBAAuB,IAAMtJ,GAAa,mCAC1C,EAAAuJ,qBAAuB,IAAMvJ,GAAa,mCAC1C,EAAAwJ,wBAA0B,IAAMxJ,GAAa,sCAC7C,EAAAyJ,aAAe,IAAMzJ,GAAa,2BAClC,EAAA0J,gBAAkB,IAAM1J,GAAa,8BACrC,EAAA2J,iBAAmB,IAAM3J,GAAa,+BACtC,EAAA4J,kBAAoB,IAAM5J,GAAa,gCACvC,EAAA6J,iBAAmB,IAAM7J,GAAa,+BACtC,EAAA8J,eAAiB,IAC1B,IAAItK,GAAsCQ,GAAa,8BAC9C,EAAA+J,gCAAkC,IAC3C,IAAIvK,GACAQ,GAAa,+CAER,EAAAgK,iBAAmB,IAAMhK,GAAa,+BACtC,EAAAiK,iBAAmB,IAC5B,IAAIzK,GACAQ,GAAa,gCAER,EAAAkK,mBAAqB,IAC9B,IAAI1K,GACAQ,GAAa,kCAER,EAAAmK,iBAAmB,IAAMnK,GAAa,+BACtC,EAAAoK,kBAAoB,IAAMpK,GAAa,gCACvC,EAAAqK,iBAAmB,IAAMrK,GAAa,+BACtC,EAAAsK,kBAAoB,IAAMtK,GAAa,gCACvC,EAAAuK,yBAA2B,IAAMvK,GAAa,uCAC9C,EAAAwK,wBAA0B,IACnC,IAAIhL,GAAsCQ,GAAa,uCAC9C,EAAAyK,0BAA4B,IAAMzK,GAAa,wCAC/C,EAAA0K,qBAAuB,IAChC,IAAIlL,GAAsCQ,GAAa,oCAC9C,EAAA2K,qBAAuB,IAAM3K,GAAa,mCAC1C,EAAA4K,oBAAsB,IAAM5K,GAAa,kCACzC,EAAA6K,6BAA+B,IACxC,IAAIrL,GAAsCQ,GAAa,4CAC9C,EAAA8K,4BAA8B,IAAM9K,GAAa,0CACjD,EAAA+K,iCAAmC,IAC5C/K,GAAa,+CACJ,EAAAgL,sBAAwB,IACjC,IAAIxL,GAAsCQ,GAAa,qCAC9C,EAAAiL,mBAAqB,IAAMjL,GAAa,iCACxC,EAAAkL,wBAA0B,IAAMlL,GAAa,sCAC7C,EAAAmL,6BAA+B,IACxC,IAAI3L,GACAQ,GAAa,4CAER,EAAAoL,oBAAsB,IAAMpL,GAAa,kCACzC,EAAAqL,oBAAsB,IAAMrL,GAAa,kCACzC,EAAAsL,yBAA2B,IACpC,IAAI9L,GACAQ,GAAa,wCAER,EAAAuL,sBAAwB,IACjC,IAAI/L,GACAQ,GAAa,qCAER,EAAAwL,qBAAuB,IAChC,IAAIhM,GACAQ,GAAa,oCAER,EAAAyL,oBAAsB,IAAMzL,GAAa,kCACzC,EAAA0L,mBAAqB,IAAM1L,GAAa,iCACxC,EAAA2L,4BAA8B,IAAM3L,GAAa,0CACjD,EAAA4L,2BAA6B,IAAM5L,GAAa,yCAChD,EAAA6L,qBAAuB,IAChC,IAAIrM,GAAsCQ,GAAa,oCAC9C,EAAA8L,kBAAoB,IAC7B,IAAItM,GAAsCQ,GAAa,iCAC9C,EAAA+L,8BAAgC,IACzC,IAAIvM,GAA2CQ,GAAa,6CACnD,EAAAgM,kBAAoB,IAAMhM,GAAa,gCACvC,EAAAiM,oBAAsB,IAAMjM,GAAa,kCACzC,EAAAkM,4BAA8B,IAAMlM,GAAa,0CACjD,EAAAmM,0BAA4B,IAAMnM,GAAa,wCAC/C,EAAAoM,4BAA8B,IACvC,IAAI5M,GAA0CQ,GAAa,2CAClD,EAAAqM,sBAAwB,IACjC,IAAI7M,GAA2CQ,GAAa,qCACnD,EAAAsM,wBAA0B,IAAMtM,GAAa,sCAC7C,EAAAuM,sCAAwC,IACjDvM,GAAa,oDACJ,EAAAwM,kCAAoC,IAC7C,IAAIhN,GAAsCQ,GAAa,iDAC9C,EAAAyM,kCAAoC,IAC7CzM,GAAa,gDACJ,EAAA0M,kCAAoC,IAC7C,IAAIlN,GAAsCQ,GAAa,iDAC9C,EAAA2M,mCAAqC,IAC9C,IAAInN,GACAQ,GAAa,kDAER,EAAA4M,0BAA4B,IAAM5M,GAAa,wCAC/C,EAAA6M,yBAA2B,IAAM7M,GAAa,uCAC9C,EAAA8M,uBAAyB,IAAM9M,GAAa,qCAC5C,EAAA+M,wBAA0B,IAAM/M,GAAa,sCAC7C,EAAAgN,eAAiB,IAC1B,IAAIxN,GACAQ,GAAa,8BAER,EAAAiN,iCAAmC,IAC5CjN,GAAa,+CACJ,EAAAkN,iBAAmB,IAAMlN,GAAa,+BACtC,EAAAmN,kBAAoB,IAAMnN,GAAa,gCACvC,EAAAoN,uBAAyB,IAAMpN,GAAa,qCAC5C,EAAAqN,cAAgB,IAAMrN,GAAa,4BACnC,EAAAsN,0BAA4B,IACrC,IAAI9N,GAAsCQ,GAAa,yCAC9C,EAAAuN,mBAAqB,IAAMvN,GAAa,iCACxC,EAAAwN,mBAAqB,IAAMxN,GAAa,iCACxC,EAAAyN,kBAAoB,IAAMzN,GAAa,gCACvC,EAAA0N,oBAAsB,IAC/B,IAAIlO,GAAsCQ,GAAa,mCAC9C,EAAA2N,gBAAkB,IAC3B,IAAInO,GAA4CQ,GAAa,+BACpD,EAAA4N,qBAAuB,IAAM5N,GAAa,mCAC1C,EAAA6N,qBAAuB,IAAM7N,GAAa,mCAC1C,EAAA8N,eAAiB,IAC1B,IAAItO,GAAsCQ,GAAa,8BAC9C,EAAA+N,8BAAgC,IACzC,IAAIvO,GAAsCQ,GAAa,6CAC9C,EAAAgO,qBAAuB,IAAMhO,GAAa,mCAC1C,EAAAiO,yBAA2B,IAAMjO,GAAa,uCAC9C,EAAAkO,sBAAwB,IAAMlO,GAAa,oCAC3C,EAAAmO,gBAAkB,IAAMnO,GAAa,8BACrC,EAAAoO,gBAAkB,IAAMpO,GAAa,8BACrC,EAAAqO,kBAAoB,IAAMrO,GAAa,gCACvC,EAAAsO,kBAAoB,IAC7B,IAAI9O,GAAsCQ,GAAa,iCAC9C,EAAAuO,2BAA6B,IAAMvO,GAAa,yCAChD,EAAAwO,uBAAyB,IAClC,IAAIhP,GAAsCQ,GAAa,sCAC9C,EAAAyO,sBAAwB,IACjC,IAAIjP,GAAsCQ,GAAa,qCAC9C,EAAA0O,6BAA+B,IACxC,IAAIlP,GAAsCQ,GAAa,4CAC9C,EAAA2O,uBAAyB,IAAM3O,GAAa,qCAC5C,EAAA4O,cAAgB,IAAM5O,GAAa,4BACnC,EAAA6O,yBAA2B,IAAM7O,GAAa,uCAC9C,EAAA8O,4BAA8B,IAAM9O,GAAa,0CACjD,EAAA+O,4BAA8B,IAAM/O,GAAa,0CACjD,EAAAgP,oBAAsB,IAAMhP,GAAa,kCACzC,EAAAiP,aAAe,IAAMjP,GAAa,2BAClC,EAAAkP,kBAAoB,IAAMlP,GAAa,gCACvC,EAAAmP,mBAAqB,IAAMnP,GAAa,iCACxC,EAAAoP,qBAAuB,IAAMpP,GAAa,mCAC1C,EAAAqP,mBAAqB,IAAMrP,GAAa,iCACxC,EAAAsP,cAAgB,IAAMtP,GAAa,4BACnC,EAAAuP,6BAA+B,IAAMvP,GAAa,2CAClD,EAAAwP,sBAAwB,IAAMxP,GAAa,oCAC3C,EAAAyP,sBAAwB,IAAMzP,GAAa,oCAC3C,EAAA0P,yBAA2B,IAAM1P,GAAa,uCAC9C,EAAA2P,gBAAkB,IAAM3P,GAAa,8BACrC,EAAA4P,aAAe,IAAM5P,GAAa,2BAClC,EAAA6P,yBAA2B,IAAM7P,GAAa,uCAC9C,EAAA8P,uBAAyB,IAAM9P,GAAa,qCAC5C,EAAA+P,qBAAuB,IAAM/P,GAAa,mCAC1C,EAAAgQ,aAAe,IAAMhQ,GAAa,2BAClC,EAAAiQ,eAAiB,IAAMjQ,GAAa,6BACpC,EAAAkQ,oBAAsB,IAAMlQ,GAAa,kCACzC,EAAAmQ,sBAAwB,IAAMnQ,GAAa,oCAC3C,EAAAoQ,mBAAqB,IAAMpQ,GAAa,iCACxC,EAAAqQ,sBAAwB,IAAMrQ,GAAa,oCAC3C,EAAAsQ,WAAa,IAAMtQ,GAAa,yBAChC,EAAAuQ,eAAiB,IAAMvQ,GAAa,6BACpC,EAAAwQ,2BAA6B,IAAMxQ,GAAa,yCAChD,EAAAyQ,qBAAuB,IAAMzQ,GAAa,mCAC1C,EAAA0Q,mBAAqB,IAAM1Q,GAAa,iCACxC,EAAA2Q,mBAAqB,IAAM3Q,GAAa,iCACxC,EAAA4Q,oBAAsB,IAAM5Q,GAAa,kCACzC,EAAA6Q,uBAAyB,IAAM7Q,GAAa,qCAC5C,EAAA8Q,gBAAkB,IAAM9Q,GAAa,8BACrC,EAAA+Q,2BAA6B,IAAM/Q,GAAa,yCAChD,EAAAgR,kBAAoB,IAAMhR,GAAa,gCACvC,EAAAiR,kBAAoB,IAAMjR,GAAa,gCACvC,EAAAkR,oBAAsB,IAAMlR,GAAa,kCACzC,EAAAmR,2BAA6B,IAAMnR,GAAa,yCAChD,EAAAoR,qBAAuB,IAAMpR,GAAa,mCAC1C,EAAAqR,mBAAqB,IAAMrR,GAAa,iCACxC,EAAAsR,mBAAqB,IAAMtR,GAAa,iCACxC,EAAAuR,sBAAwB,IAAMvR,GAAa,oCAC3C,EAAAwR,kBAAoB,IAAMxR,GAAa,gCACvC,EAAAyR,qBAAuB,IAChC,IAAIjS,GAAsCQ,GAAa,oCAC9C,EAAA0R,aAAe,IAAM1R,GAAa,2BAClC,EAAA2R,oBAAsB,IAC/B,IAAInS,GACAQ,GAAa,mCAER,EAAA4R,gBAAkB,IAC3B,IAAIpS,GAAsCQ,GAAa,+BAC9C,EAAA6R,mBAAqB,IAC9B,IAAIrS,GAAsCQ,GAAa,kCAC9C,EAAA8R,6BAA+B,IACxC,IAAItS,GACAQ,GAAa,4CAER,EAAA+R,iBAAmB,IAAM/R,GAAa,+BACtC,EAAAgS,gBAAkB,IAC3B,IAAIxS,GAAsCQ,GAAa,+BAC9C,EAAAiS,kBAAoB,IAAMjS,GAAa,gCACvC,EAAAkS,kBAAoB,IAAMlS,GAAa,gCACvC,EAAAmS,mBAAqB,IAAMnS,GAAa,iCACxC,EAAAoS,sBAAwB,IAAMpS,GAAa,oCAC3C,EAAAqS,oBAAsB,IAAMrS,GAAa,kCACzC,EAAAsS,oBAAsB,IAAMtS,GAAa,kCACzC,EAAAuS,yBAA2B,IAAMvS,GAAa,uCAC9C,EAAAwS,6BAA+B,IAAMxS,GAAa,2CAClD,EAAAyS,yBAA2B,IAAMzS,GAAa,uCAC9C,EAAA0S,0BAA4B,IAAM1S,GAAa,wCAC/C,EAAA2S,wBAA0B,IAAM3S,GAAa,sCAC7C,EAAA4S,qBAAuB,IAAM5S,GAAa,mCAC1C,EAAA6S,oBAAsB,IAAM7S,GAAa,kCACzC,EAAA8S,kBAAoB,IAAM9S,GAAa,gCACvC,EAAA+S,6BAA+B,IACxC,IAAIvT,GAAuCQ,GAAa,4CAC/C,EAAAgT,sBAAwB,IAAMhT,GAAa,oCAC3C,EAAAiT,sBAAwB,IAAMjT,GAAa,oCAC3C,EAAAkT,qBAAuB,IAAMlT,GAAa,mCAC1C,EAAAmT,mBAAqB,IAC9B,IAAI3T,GAAsCQ,GAAa,kCAC9C,EAAAoT,mBAAqB,IAC9B,IAAI5T,GAAsCQ,GAAa,kCAC9C,EAAAqT,qBAAuB,IAAMrT,GAAa,mCAC1C,EAAAsT,oBAAsB,IAAMtT,GAAa,kCACzC,EAAAuT,oBAAsB,IAC/B,IAAI/T,GAAuCQ,GAAa,mCAC/C,EAAAwT,qBAAuB,IAChC,IAAIhU,GAA4CQ,GAAa,oCACpD,EAAAyT,2BAA6B,IACtC,IAAIjU,GAA4CQ,GAAa,0CACpD,EAAA0T,oBAAsB,IAC/B,IAAIlU,GACAQ,GAAa,mCAER,EAAA2T,2BAA6B,IACtC,IAAInU,GACAQ,GAAa,0CAER,EAAA4T,mBAAqB,IAAM5T,GAAa,iCACxC,EAAA6T,iBAAmB,IAAM7T,GAAa,+BACtC,EAAA8T,mBAAqB,IAAM9T,GAAa,iCACxC,EAAA+T,qBAAuB,IAAM/T,GAAa,mCAC1C,EAAAgU,wBAA0B,IAAMhU,GAAa,sCAC7C,EAAAiU,6BAA+B,IACxC,IAAIzU,GACAQ,GAAa,4CAER,EAAAkU,oBAAsB,IAC/B,IAAI1U,GAAsCQ,GAAa,mCAC9C,EAAAmU,oBAAsB,IAC/B,IAAI3U,GAAsCQ,GAAa,mCAC9C,EAAAoU,kBAAoB,IAC7B,IAAI5U,GAAuDQ,GAAa,iCAC/D,EAAAqU,mBAAqB,IAC9B,IAAI7U,GAAuDQ,GAAa,kCAC/D,EAAAsU,0BAA4B,IACrC,IAAI9U,GACAQ,GAAa,yCAER,EAAAuU,sBAAwB,IAAMvU,GAAa,oCAC3C,EAAAwU,qBAAuB,IAAMxU,GAAa,mCAC1C,EAAAyU,kBAAoB,IAC7B,IAAIjV,GAAsCQ,GAAa,iCAC9C,EAAA0U,sBAAwB,IACjC,IAAIlV,GAAsCQ,GAAa,qCAC9C,EAAA2U,sBAAwB,IACjC,IAAInV,GAAsCQ,GAAa,qCAC9C,EAAA4U,cAAgB,IAAM5U,GAAa,4BACnC,EAAA6U,yBAA2B,IAAM7U,GAAa,uCAC9C,EAAA8U,qBAAuB,IAAM9U,GAAa,mCAC1C,EAAA+U,wBAA0B,IAAM/U,GAAa,sCAC7C,EAAAgV,wBAA0B,IAAMhV,GAAa,sCAC7C,EAAAiV,iCAAmC,IAC5C,IAAIzV,GACAQ,GAAa,gDAER,EAAAkV,uBAAyB,IAClC,IAAI1V,GAAsCQ,GAAa,sCAC9C,EAAAmV,iBAAmB,IAAMnV,GAAa,+BACtC,EAAAoV,uBAAyB,IAAMpV,GAAa,qCAC5C,EAAAqV,iBAAmB,IAAMrV,GAAa,+BACtC,EAAAsV,mBAAqB,IAAMtV,GAAa,iCACxC,EAAAuV,kBAAoB,IAAMvV,GAAa,gCACvC,EAAAwV,qBAAuB,IAAMxV,GAAa,mCAC1C,EAAAyV,sBAAwB,IAAMzV,GAAa,oCAC3C,EAAA0V,aAAe,IACxB,IAAIlW,GAAoDQ,GAAa,4BAC5D,EAAA2V,aAAe,IACxB,IAAInW,GAAoDQ,GAAa,4BAC5D,EAAA4V,UAAY,IACrB,IAAIpW,GAAoDQ,GAAa,yBAC5D,EAAA6V,kBAAoB,IAAM7V,GAAa,gCACvC,EAAA8V,mBAAqB,IAAM9V,GAAa,iCACxC,EAAA+V,mBAAqB,IAAM/V,GAAa,iCACxC,EAAAgW,iBAAmB,IAC5B,IAAIxW,GAAsCQ,GAAa,gCAC9C,EAAAiW,uBAAyB,IAClC,IAAIzW,GAAoDQ,GAAa,sCAC5D,EAAAkW,eAAiB,IAAMlW,GAAa,6BACpC,EAAAmW,iBAAmB,IAC5B,IAAI3W,GACAQ,GAAa,gCAER,EAAAoW,uBAAyB,IAClC,IAAI5W,GAAsCQ,GAAa,sCAC9C,EAAAqW,uBAAyB,IAAMrW,GAAa,qCAC5C,EAAAsW,iBAAmB,IAC5B,IAAI9W,GAA4CQ,GAAa,gCACpD,EAAAuW,aAAe,IAAMvW,GAAa,2BAClC,EAAAwW,kBAAoB,IAAMxW,GAAa,gCACvC,EAAAyW,oBAAsB,IAC/B,IAAIjX,GAAsDQ,GAAa,mCAC9D,EAAA0W,yBAA2B,IAAM1W,GAAa,uCAC9C,EAAA2W,6BAA+B,IACxC,IAAInX,GAAsCQ,GAAa,4CAC9C,EAAA4W,oBAAsB,IAAM5W,GAAa,kCACzC,EAAA6W,mBAAqB,IAAM7W,GAAa,iCACxC,EAAA8W,8BAAgC,IAAM9W,GAAa,4CACnD,EAAA+W,mBAAqB,IAAM/W,GAAa,iCACxC,EAAAgX,qBAAuB,IAAMhX,GAAa,mCAC1C,EAAAiX,kBAAoB,IAAMjX,GAAa,gCACvC,EAAAkX,oBAAsB,IAAMlX,GAAa,kCACzC,EAAAmX,YAAc,IAAMnX,GAAa,0BACjC,EAAAoX,eAAiB,IAAMpX,GAAa,6BACpC,EAAAqX,iBAAmB,IAAMrX,GAAa,+BACtC,EAAAsX,qBAAuB,IAAMtX,GAAa,mCAC1C,EAAAuX,uBAAyB,IAAMvX,GAAa,qCAC5C,EAAAwX,gBAAkB,IAAMxX,GAAa,8BACrC,EAAAyX,gBAAkB,IAAMzX,GAAa,8BACrC,EAAA0X,qBAAuB,IAAM1X,GAAa,mCAC1C,EAAA2X,kBAAoB,IAAM3X,GAAa,gCACvC,EAAA4X,aAAe,IACxB,IAAIpY,GAA0CQ,GAAa,4BAClD,EAAA6X,kBAAoB,IAC7B,IAAIrY,GAAsCQ,GAAa,iCAC9C,EAAA8X,kBAAoB,IAC7B,IAAItY,GAAsCQ,GAAa,iCAC9C,EAAA+X,qBAAuB,IAChC,IAAIvY,GAAsCQ,GAAa,oCAC9C,EAAAgY,qBAAuB,IAChC,IAAIxY,GAAsCQ,GAAa,oCAC9C,EAAAiY,iBAAmB,IAAMjY,GAAa,+BACtC,EAAAkY,WAAa,IACtB,IAAI1Y,GAAsCQ,GAAa,0BAC9C,EAAAmY,uBAAyB,IAAMnY,GAAa,qCAC5C,EAAAoY,sBAAwB,IAAMpY,GAAa,oCAC3C,EAAAqY,oBAAsB,IAAMrY,GAAa,kCACzC,EAAAsY,oBAAsB,IAAMtY,GAAa,kCACzC,EAAAuY,0BAA4B,IAAMvY,GAAa,wCAC/C,EAAAwY,kBAAoB,IAC7B,IAAIhZ,GAAsCQ,GAAa,iCAC9C,EAAAyY,yBAA2B,IACpC,IAAIjZ,GAAsCQ,GAAa,wCAC9C,EAAA0Y,4BAA8B,IACvC,IAAIlZ,GAAsCQ,GAAa,2CAC9C,EAAA2Y,0BAA4B,IACrC,IAAInZ,GAAsCQ,GAAa,yCAC9C,EAAA4Y,6BAA+B,IACxC,IAAIpZ,GAAsCQ,GAAa,4CAC9C,EAAA6Y,4BAA8B,IACvC,IAAIrZ,GAAsCQ,GAAa,2CAC9C,EAAA8Y,gCAAkC,IAAM9Y,GAAa,8CACrD,EAAA+Y,kBAAoB,IAAM/Y,GAAa,gCACvC,EAAAgZ,qBAAuB,IAAMhZ,GAAa,mCAC1C,EAAAiZ,qBAAuB,IAAMjZ,GAAa,mCAC1C,EAAAkZ,oBAAsB,IAC/B,IAAI1Z,GACAQ,GAAa,mCAER,EAAAmZ,yBAA2B,IACpC,IAAI3Z,GAAsCQ,GAAa,wCAC9C,EAAAoZ,+BAAiC,IAC1C,IAAI5Z,GACAQ,GAAa,8CAER,EAAAqZ,2BAA6B,IACtC,IAAI7Z,GACAQ,GAAa,0CAER,EAAAsZ,2BAA6B,IACtC,IAAI9Z,GAAsCQ,GAAa,0CAC9C,EAAAuZ,8BAAgC,IACzC,IAAI/Z,GAAsCQ,GAAa,6CAC9C,EAAAwZ,sBAAwB,IAAMxZ,GAAa,oCAC3C,EAAAyZ,qBAAuB,IAChC,IAAIja,GAAsCQ,GAAa,oCAC9C,EAAA0Z,uBAAyB,IAClC,IAAIla,GAAsCQ,GAAa,sCAC9C,EAAA2Z,iBAAmB,IAC5B,IAAIna,GAAsCQ,GAAa,gCAC9C,EAAA4Z,yBAA2B,IAAM5Z,GAAa,uCAC9C,EAAA6Z,mBAAqB,IAAM7Z,GAAa,iCACxC,EAAA8Z,sBAAwB,IACjC,IAAIta,GAAsCQ,GAAa,qCAC9C,EAAA+Z,iBAAmB,IAAM/Z,GAAa,+BACtC,EAAAga,kBAAoB,IAAMha,GAAa,gCACvC,EAAAia,qBAAuB,IAAMja,GAAa,mCAC1C,EAAAka,kBAAoB,IAC7B,IAAI1a,GAAsCQ,GAAa,iCAC9C,EAAAma,6BAA+B,IACxC,IAAI3a,GAAsCQ,GAAa,4CAC9C,EAAAoa,oBAAsB,IAAMpa,GAAa,kCACzC,EAAAqa,uBAAyB,IAClC,IAAI7a,GAAsCQ,GAAa,sCAC9C,EAAAsa,sBAAwB,IACjC,IAAI9a,GAAsCQ,GAAa,qCAC9C,EAAAua,mBAAqB,IAAMva,GAAa,iCACxC,EAAAwa,iBAAmB,IAC5B,IAAIhb,GAA2CQ,GAAa,gCACnD,EAAAya,wBAA0B,IACnC,IAAIjb,GACAQ,GAAa,uCAER,EAAA0a,0BAA4B,IACrC,IAAIlb,GAA2CQ,GAAa,yCACnD,EAAA2a,mCAAqC,IAC9C3a,GAAa,iDACJ,EAAA4a,yBAA2B,IAAM5a,GAAa,uCAC9C,EAAA6a,+BAAiC,IAC1C,IAAIrb,GACAQ,GAAa,8CAER,EAAA8a,sBAAwB,IAAM9a,GAAa,oCAC3C,EAAA+a,6BAA+B,IAAM/a,GAAa,2CAClD,EAAAgb,yBAA2B,IAAMhb,GAAa,uCAC9C,EAAAib,uBAAyB,IAAMjb,GAAa,qCAC5C,EAAAkb,0BAA4B,IACrC,IAAI1b,GAAsCQ,GAAa,yCAC9C,EAAAmb,2BAA6B,IACtC,IAAI3b,GAAsCQ,GAAa,0CAC9C,EAAAob,mBAAqB,IAC9B,IAAI5b,GAAyDQ,GAAa,kCACjE,EAAAqb,qBAAuB,IAAMrb,GAAa,mCAC1C,EAAAsb,4BAA8B,IACvC,IAAI9b,GAAsCQ,GAAa,2CAC9C,EAAAub,kBAAoB,IAC7B,IAAI/b,GACAQ,GAAa,iCAER,EAAAwb,gBAAkB,IAAMxb,GAAa,8BACrC,EAAAyb,0BAA4B,IACrC,IAAIjc,GACAQ,GAAa,yCAER,EAAA0b,iCAAmC,IAC5C1b,GAAa,+CACJ,EAAA2b,mBAAqB,IAC9B,IAAInc,GAAsCQ,GAAa,kCAC9C,EAAA4b,8BAAgC,IACzC,IAAIpc,GACAQ,GAAa,6CAER,EAAA6b,0BAA4B,IACrC,IAAIrc,GACAQ,GAAa,yCAER,EAAA8b,0BAA4B,IACrC,IAAItc,GACAQ,GAAa,yCAER,EAAA+b,oBAAsB,IAC/B,IAAIvc,GAAsCQ,GAAa,mCAC9C,EAAAgc,yBAA2B,IAAMhc,GAAa,uCAC9C,EAAAic,iBAAmB,IAAMjc,GAAa,+BACtC,EAAAkc,uBAAyB,IAAMlc,GAAa,qCAC5C,EAAAmc,cAAgB,IACzB,IAAI3c,GAA4CQ,GAAa,6BACpD,EAAAoc,sBAAwB,IAAMpc,GAAa,oCAC3C,EAAAqc,wBAA0B,IAAMrc,GAAa,sCAC7C,EAAAsc,mBAAqB,IAC9B,IAAI9c,GACAQ,GAAa,kCAER,EAAAuc,kBAAoB,IAAMvc,GAAa,gCACvC,EAAAwc,2BAA6B,IACtC,IAAIhd,GAA4CQ,GAAa,0CACpD,EAAAyc,iBAAmB,IAAMzc,GAAa,+BACtC,EAAA0c,iBAAmB,IAAM1c,GAAa,+BACtC,EAAA2c,eAAiB,IAAM3c,GAAa,6BACpC,EAAA4c,0BAA4B,IAAM5c,GAAa,wCAC/C,EAAA6c,+BAAiC,IAC1C,IAAIrd,GACAQ,GAAa,8CAER,EAAA8c,+BAAiC,IAC1C,IAAItd,GACAQ,GAAa,8CAER,EAAA+c,gBAAkB,IAAM/c,GAAa,8BACrC,EAAAgd,2BAA6B,IAAMhd,GAAa,yCAChD,EAAAid,yBAA2B,IAAMjd,GAAa,uCAC9C,EAAAkd,uBAAyB,IAAMld,GAAa,qCAC5C,EAAAmd,uBAAyB,IAAMnd,GAAa,qCAC5C,EAAAod,eAAiB,IAC1B,IAAI5d,GAAsCQ,GAAa,8BAC9C,EAAAqd,oBAAsB,IAC/B,IAAI7d,GAAsCQ,GAAa,mCAC9C,EAAAsd,sBAAwB,IACjC,IAAI9d,GAAsCQ,GAAa,qCAC9C,EAAAud,2BAA6B,IAAMvd,GAAa,yCAChD,EAAAwd,mBAAqB,IAAMxd,GAAa,iCACxC,EAAAyd,0BAA4B,IACrC,IAAIje,GACAQ,GAAa,yCAER,EAAA0d,oBAAsB,IAAM1d,GAAa,kCACzC,EAAA2d,uBAAyB,IAAM3d,GAAa,qCAC5C,EAAA4d,wBAA0B,IAAM5d,GAAa,sCAC7C,EAAA6d,mBAAqB,IAAM7d,GAAa,iCACxC,EAAA8d,gBAAkB,IAC3B,IAAIte,GAA4CQ,GAAa,+BACpD,EAAA+d,gBAAkB,IAAM/d,GAAa,8BACrC,EAAAge,0BAA4B,IAAMhe,GAAa,wCAC/C,EAAAie,kBAAoB,IAAMje,GAAa,gCACvC,EAAAke,kBAAoB,IAC7B,IAAI1e,GAAsCQ,GAAa,iCAC9C,EAAAme,mBAAqB,IAC9B,IAAI3e,GAAsCQ,GAAa,kCAC9C,EAAAoe,qBAAuB,IAAMpe,GAAa,mCAC1C,EAAAqe,gBAAkB,IAC3B,IAAI7e,GAAsCQ,GAAa,+BAC9C,EAAAse,kBAAoB,IAC7B,IAAI9e,GAAsCQ,GAAa,iCAC9C,EAAAue,wBAA0B,IACnC,IAAI/e,GAAsCQ,GAAa,uCAC9C,EAAAwe,iBAAmB,IAC5B,IAAIhf,GAAyDQ,GAAa,gCACjE,EAAAye,2BAA6B,IAAMze,GAAa,yCAChD,EAAA0e,0BAA4B,IAAM1e,GAAa,wCAC/C,EAAA2e,iBAAmB,IAAM3e,GAAa,+BACtC,EAAA4e,wBAA0B,IACnC,IAAIpf,GAAsCQ,GAAa,uCAC9C,EAAA6e,kBAAoB,IAAM7e,GAAa,gCACvC,EAAA8e,qBAAuB,IAChC,IAAItf,GAAqDQ,GAAa,oCAC7D,EAAA+e,2BAA6B,IACtC,IAAIvf,GAAsCQ,GAAa,0CAC9C,EAAAgf,6BAA+B,IACxC,IAAIxf,GAAsCQ,GAAa,4CAC9C,EAAAif,4BAA8B,IAAMjf,GAAa,0CACjD,EAAAkf,oBAAsB,IAC/B,IAAI1f,GAAsCQ,GAAa,mCAC9C,EAAAmf,mBAAqB,IAAMnf,GAAa,iCACxC,EAAAof,uBAAyB,IAAMpf,GAAa,qCAC5C,EAAAqf,oBAAsB,IAAMrf,GAAa,kCACzC,EAAAsf,sBAAwB,IAAMtf,GAAa,oCAC3C,EAAAuf,sBAAwB,IACjC,IAAI/f,GAAsCQ,GAAa,qCAC9C,EAAAsF,oBAAsB,IAC/B,IAAI9F,GAA0CQ,GAAa,mCAClD,EAAAwf,wBAA0B,IACnC,IAAIhgB,GAAsCQ,GAAa,uCAC9C,EAAAyf,wBAA0B,IACnC,IAAIjgB,GAAsCQ,GAAa,uCAC9C,EAAA0f,eAAiB,IAC1B,IAAIlgB,GACAQ,GAAa,8BAER,EAAA2f,gBAAkB,IAC3B,IAAIngB,GACAQ,GAAa,+BAER,EAAA4f,uBAAyB,IAClC,IAAIpgB,GACAQ,GAAa,sCAER,EAAA6f,mBAAqB,IAAM7f,GAAa,iCACxC,EAAAuG,gBAAkB,IAAMvG,GAAa,8BACrC,EAAA8f,gBAAkB,IAAM9f,GAAa,8BACrC,EAAA+f,mBAAqB,IAAM/f,GAAa,iCACxC,EAAAsG,gBAAkB,IAAMtG,GAAa,8BACrC,EAAAggB,mBAAqB,IAAMhgB,GAAa,iCACxC,EAAAigB,mBAAqB,IAAMjgB,GAAa,iCACxC,EAAAkgB,qBAAuB,IAAMlgB,GAAa,mCAC1C,EAAAmgB,mBAAqB,IAAMngB,GAAa,iCACxC,EAAA+D,2BAA6B,IACtC,IAAIvE,GAAsCQ,GAAa,0CAC9C,EAAAogB,kBAAoB,IAAMpgB,GAAa,gCACvC,EAAAqgB,uBAAyB,IAAMrgB,GAAa,qCAC5C,EAAAsgB,4BAA8B,IAAMtgB,GAAa,0CACjD,EAAAqG,aAAe,IAAMrG,GAAa,2BAClC,EAAAugB,oBAAsB,IAAMvgB,GAAa,kCACzC,EAAAwgB,kBAAoB,IAC7B,IAAIhhB,GAAsCQ,GAAa,iCAC9C,EAAAygB,kBAAoB,IAAMzgB,GAAa,gCACvC,EAAA0gB,iBAAmB,IAC5B,IAAIlhB,GAAsCQ,GAAa,gCAC9C,EAAA2gB,gBAAkB,IAC3B,IAAInhB,GAA0DQ,GAAa,+BAClE,EAAA4gB,mBAAqB,IAC9B,IAAIphB,GAAsCQ,GAAa,kCAC9C,EAAA6gB,gBAAkB,IAC3B,IAAIrhB,GAAsCQ,GAAa,+BAC9C,EAAA8gB,qBAAuB,IAChC,IAAIthB,GAAsCQ,GAAa,oCAC9C,EAAA+gB,qBAAuB,IAChC,IAAIvhB,GAAsCQ,GAAa,oCAC9C,EAAAghB,kBAAoB,IAC7B,IAAIxhB,GAAsDQ,GAAa,iCAC9D,EAAAihB,6BAA+B,IACxC,IAAIzhB,GACAQ,GAAa,4CAER,EAAAkhB,0CAA4C,IACrD,IAAI1hB,GACAQ,GAAa,yDAER,EAAAmhB,4BAA8B,IACvC,IAAI3hB,GACAQ,GAAa,2CAER,EAAAohB,yCAA2C,IACpD,IAAI5hB,GACAQ,GAAa,wDAER,EAAAqhB,qBAAuB,IAChC,IAAI7hB,GAAsCQ,GAAa,oCAC9C,EAAAshB,YAAc,IACvB,IAAI9hB,GAAsCQ,GAAa,2BAC9C,EAAAuhB,oBAAsB,IAC/B,IAAI/hB,GAAsCQ,GAAa,mCAC9C,EAAAwhB,0BAA4B,IACrC,IAAIhiB,GACAQ,GAAa,yCAER,EAAAyhB,2BAA6B,IAAMzhB,GAAa,yCAChD,EAAA0hB,gBAAkB,IAAM1hB,GAAa,8BACrC,EAAA2hB,eAAiB,IAAM3hB,GAAa,6BACpC,EAAA4hB,gBAAkB,IAC3B,IAAIpiB,GAAoDQ,GAAa,+BAC5D,EAAA6hB,wBAA0B,IACnC,IAAIriB,GAAsCQ,GAAa,uCAC9C,EAAA8hB,2BAA6B,IACtC,IAAItiB,GAAsCQ,GAAa,0CAC9C,EAAA+hB,wBAA0B,IAAM/hB,GAAa,sCAC7C,EAAAgiB,qBAAuB,IAAMhiB,GAAa,mCAC1C,EAAAiiB,2BAA6B,IAAMjiB,GAAa,yCAChD,EAAAkiB,oBAAsB,IAAMliB,GAAa,kCACzC,EAAAmiB,oBAAsB,IAC/B,IAAI3iB,GAAsCQ,GAAa,mCAC9C,EAAAoiB,wBAA0B,IACnC,IAAI5iB,GAAsCQ,GAAa,uCAC9C,EAAAqiB,oBAAsB,IAC/B,IAAI7iB,GAAsCQ,GAAa,mCAC9C,EAAAsiB,gBAAkB,IAAMtiB,GAAa,8BACrC,EAAAuiB,gBAAkB,IAC3B,IAAI/iB,GAAsCQ,GAAa,+BAC9C,EAAAwiB,mBAAqB,IAC9B,IAAIhjB,GAAsCQ,GAAa,kCAC9C,EAAAyiB,iBAAmB,IAC5B,IAAIjjB,GAAsCQ,GAAa,gCAC9C,EAAA0iB,iBAAmB,IAC5B,IAAIljB,GAAsCQ,GAAa,gCAC9C,EAAA2iB,mBAAqB,IAC9B,IAAInjB,GAAsCQ,GAAa,kCAC9C,EAAA4iB,qBAAuB,IAAM5iB,GAAa,mCAC1C,EAAA6iB,oBAAsB,IAAM7iB,GAAa,kCACzC,EAAA8iB,iBAAmB,IAAM9iB,GAAa,+BACtC,EAAA+iB,mBAAqB,IAAM/iB,GAAa,iCACxC,EAAAgjB,mBAAqB,IAAMhjB,GAAa,iCACxC,EAAAijB,kBAAoB,IAAMjjB,GAAa,gCACvC,EAAAkjB,8BAAgC,IACzC,IAAI1jB,GAAsCQ,GAAa,6CAC9C,EAAAmjB,gBAAkB,IAC3B,IAAI3jB,GAAsCQ,GAAa,+BAC9C,EAAAojB,4BAA8B,IACvC,IAAI5jB,GACAQ,GAAa,2CAER,EAAAqjB,4BAA8B,IACvC,IAAI7jB,GACAQ,GAAa,2CAER,EAAAsjB,sBAAwB,IAAMtjB,GAAa,oCAC3C,EAAAujB,eAAiB,IAAMvjB,GAAa,6BACpC,EAAAwjB,0BAA4B,IAAMxjB,GAAa,wCAC/C,EAAAyjB,6BAA+B,IAAMzjB,GAAa,2CAClD,EAAA0jB,+BAAiC,IAAM1jB,GAAa,6CACpD,EAAA2jB,yBAA2B,IAAM3jB,GAAa,uCAC9C,EAAA4jB,0BAA4B,IAAM5jB,GAAa,wCAC/C,EAAA6jB,6BAA+B,IACxC,IAAIrkB,GACAQ,GAAa,4CAER,EAAA8jB,wBAA0B,IAAM9jB,GAAa,sCAC7C,EAAA+jB,2BAA6B,IAAM/jB,GAAa,yCAChD,EAAAgkB,6BAA+B,IAAMhkB,GAAa,2CAClD,EAAAikB,mBAAqB,IAAMjkB,GAAa,iCACxC,EAAAkkB,aAAe,IAAMlkB,GAAa,2BAClC,EAAAmkB,YAAc,IAAMnkB,GAAa,0BACjC,EAAAokB,iBAAmB,IAAMpkB,GAAa,+BACtC,EAAAqkB,yBAA2B,IAAMrkB,GAAa,uCAC9C,EAAAskB,oBAAsB,IAAMtkB,GAAa,kCACzC,EAAAukB,gBAAkB,IAAMvkB,GAAa,8BACrC,EAAAwkB,kBAAoB,IAAMxkB,GAAa,gCACvC,EAAAykB,8BAAgC,IAAMzkB,GAAa,4CACnD,EAAA0kB,iBAAmB,IAC5B,IAAIllB,GAAsCQ,GAAa,gCAC9C,EAAA2kB,gBAAkB,IAAM3kB,GAAa,8BACrC,EAAA4kB,qBAAuB,IAAM5kB,GAAa,mCAC1C,EAAA6kB,wBAA0B,IAAM7kB,GAAa,sCAC7C,EAAA8kB,8BAAgC,IACzC,IAAItlB,GAAuCQ,GAAa,6CAC/C,EAAA+kB,8BAAgC,IACzC,IAAIvlB,GAAuCQ,GAAa,6CAC/C,EAAAglB,cAAgB,IAAMhlB,GAAa,4BACnC,EAAAilB,iBAAmB,IAAMjlB,GAAa,+BACtC,EAAAklB,mBAAqB,IAAMllB,GAAa,iCACxC,EAAAmlB,sBAAwB,IAAMnlB,GAAa,oCAC3C,EAAAolB,iBAAmB,IAAMplB,GAAa,+BACtC,EAAAqlB,sBAAwB,IAAMrlB,GAAa,oCAC3C,EAAAslB,qBAAuB,IAAMtlB,GAAa,mCAC1C,EAAAulB,kBAAoB,IAC7B,IAAI/lB,GACAQ,GAAa,iCAER,EAAAwlB,qBAAuB,IAAMxlB,GAAa,mCAC1C,EAAAylB,wBAA0B,IAAMzlB,GAAa,sCAC7C,EAAA0lB,0BAA4B,IAAM1lB,GAAa,wCA1vBhE,CAAiB/2F,EAAA,EAAAA,aAAA,EAAAA,WAAU,KA6vB3B,SAAiBq1F,GACA,EAAAqnB,SAAW,IACpB,IAAInmB,GAA2CQ,GAAa,gCACnD,EAAA4lB,iBAAmB,IAC5B,IAAIpmB,GACAQ,GAAa,wCAER,EAAA6lB,iBAAmB,IAC5B,IAAIrmB,GAA2CQ,GAAa,wCACnD,EAAA8lB,iBAAmB,IAC5B,IAAItmB,GACAQ,GAAa,wCAER,EAAA+lB,aAAe,IACxB,IAAIvmB,GAAsCQ,GAAa,oCAC9C,EAAAgmB,cAAgB,IACzB,IAAIxmB,GAAuCQ,GAAa,qCAC/C,EAAAimB,aAAe,IAAMjmB,GAAa,mCAClC,EAAAkmB,UAAY,IAAMlmB,GAAa,gCAC/B,EAAAmmB,sBAAwB,IACjC,IAAI3mB,GACAQ,GAAa,6CAER,EAAAomB,gBAAkB,IAC3B,IAAI5mB,GAAsCQ,GAAa,uCAC9C,EAAAqmB,uBAAyB,IAAMrmB,GAAa,6CAC5C,EAAAsmB,YAAc,IAAMtmB,GAAa,kCACjC,EAAAumB,4BAA8B,IACvC,IAAI/mB,GAAsCQ,GAAa,mDAC9C,EAAAwmB,kBAAoB,IAC7B,IAAIhnB,GACAQ,GAAa,yCAER,EAAAymB,2BAA6B,IACtC,IAAIjnB,GACAQ,GAAa,kDAER,EAAA0mB,qBAAuB,IAChC,IAAIlnB,GACAQ,GAAa,4CAER,EAAA2mB,mBAAqB,IAAM3mB,GAAa,yCACxC,EAAA4mB,mBAAqB,IAAM5mB,GAAa,yCACxC,EAAA6mB,oBAAsB,IAAM7mB,GAAa,0CACzC,EAAA8mB,mBAAqB,IAC9B,IAAItnB,GAAsCQ,GAAa,0CAC9C,EAAA+mB,oBAAsB,IAC/B,IAAIvnB,GAAsCQ,GAAa,2CAC9C,EAAAgnB,sBAAwB,IACjC,IAAIxnB,GACAQ,GAAa,6CAER,EAAA8F,eAAiB,IAC1B,IAAItG,GAAoDQ,GAAa,sCAC5D,EAAAgG,mBAAqB,IAC9B,IAAIxG,GAAsCQ,GAAa,0CAC9C,EAAAiG,aAAe,IACxB,IAAIzG,GAAoDQ,GAAa,oCAC5D,EAAAinB,mBAAqB,IAC9B,IAAIznB,GAA2CQ,GAAa,0CACnD,EAAAkV,uBAAyB,IAClC,IAAI1V,GAAsCQ,GAAa,8CAC9C,EAAAknB,0BAA4B,IACrC,IAAI1nB,GACAQ,GAAa,iDAER,EAAAmnB,yBAA2B,IACpC,IAAI3nB,GAAsCQ,GAAa,gDAC9C,EAAAonB,yBAA2B,IAAMpnB,GAAa,+CAC9C,EAAAqnB,iBAAmB,IAC5B,IAAI7nB,GACAQ,GAAa,wCAER,EAAAsnB,iBAAmB,IAC5B,IAAI9nB,GACAQ,GAAa,wCAER,EAAAunB,qBAAuB,IAChC,IAAI/nB,GAAuCQ,GAAa,4CAC/C,EAAAwnB,wBAA0B,IACnC,IAAIhoB,GAAsCQ,GAAa,+CAC9C,EAAAynB,gBAAkB,IAC3B,IAAIjoB,GAAsCQ,GAAa,uCAC9C,EAAA0nB,2BAA6B,IACtC,IAAIloB,GAAsCQ,GAAa,kDAC9C,EAAA2nB,kBAAoB,IAC7B,IAAInoB,GAAsCQ,GAAa,yCAC9C,EAAAgF,mBAAqB,IAC9B,IAAIxF,GAAsCQ,GAAa,0CAC9C,EAAA4nB,cAAgB,IACzB,IAAIpoB,GAAsCQ,GAAa,qCAC9C,EAAA6nB,sBAAwB,IACjC,IAAIroB,GACAQ,GAAa,6CAER,EAAA8nB,cAAgB,IAAM9nB,GAAa,oCACnC,EAAA+nB,cAAgB,IAAM/nB,GAAa,oCACnC,EAAAgoB,eAAiB,IAAMhoB,GAAa,qCACpC,EAAAioB,wBAA0B,IACnC,IAAIzoB,GAAsCQ,GAAa,+CAC9C,EAAAkoB,0BAA4B,IACrC,IAAI1oB,GAAsCQ,GAAa,iDAC9C,EAAAmoB,uBAAyB,IAClC,IAAI3oB,GACAQ,GAAa,8CAER,EAAAooB,kBAAoB,IAC7B,IAAI5oB,GAAsCQ,GAAa,yCAC9C,EAAAqoB,mBAAqB,IAC9B,IAAI7oB,GAAsCQ,GAAa,0CAC9C,EAAAsoB,qBAAuB,IAChC,IAAI9oB,GAAsCQ,GAAa,4CAC9C,EAAAiZ,qBAAuB,IAChC,IAAIzZ,GAAsCQ,GAAa,4CAC9C,EAAAuoB,eAAiB,IAAMvoB,GAAa,qCACpC,EAAAwoB,sBAAwB,IACjC,IAAIhpB,GAAsCQ,GAAa,6CAC9C,EAAAsZ,2BAA6B,IAAMtZ,GAAa,iDAChD,EAAAyoB,iBAAmB,IAAMzoB,GAAa,uCACtC,EAAA0oB,iBAAmB,IAAM1oB,GAAa,uCACtC,EAAA2oB,mBAAqB,IAC9B,IAAInpB,GACAQ,GAAa,0CAER,EAAA4oB,kBAAoB,IAC7B,IAAIppB,GACAQ,GAAa,yCAER,EAAA6oB,8BAAgC,IACzC,IAAIrpB,GACAQ,GAAa,qDAER,EAAA8oB,kBAAoB,IAC7B,IAAItpB,GACAQ,GAAa,yCAER,EAAA+oB,mBAAqB,IAC9B,IAAIvpB,GACAQ,GAAa,0CAER,EAAAgpB,aAAe,IACxB,IAAIxpB,GAAsCQ,GAAa,oCAC9C,EAAAipB,gBAAkB,IAC3B,IAAIzpB,GACAQ,GAAa,uCAER,EAAAkpB,kBAAoB,IAAMlpB,GAAa,wCACvC,EAAApO,UAAY,IACrB,IAAI4N,GAA2CQ,GAAa,iCACnD,EAAAmpB,+BAAiC,IAC1C,IAAI3pB,GACAQ,GAAa,sDAER,EAAAopB,gCAAkC,IAC3CppB,GAAa,sDACJ,EAAAqpB,2BAA6B,IACtC,IAAI7pB,GAAsCQ,GAAa,kDAC9C,EAAAspB,sBAAwB,IACjC,IAAI9pB,GAAsCQ,GAAa,6CAC9C,EAAAupB,uBAAyB,IAClC,IAAI/pB,GAAsCQ,GAAa,8CAC9C,EAAAwpB,sBAAwB,IACjC,IAAIhqB,GAAsCQ,GAAa,6CAC9C,EAAAypB,uBAAyB,IAClC,IAAIjqB,GAAsCQ,GAAa,8CAC9C,EAAA0pB,qBAAuB,IAChC,IAAIlqB,GACAQ,GAAa,4CAER,EAAA2pB,sBAAwB,IACjC,IAAInqB,GAAsCQ,GAAa,6CAC9C,EAAA4pB,4BAA8B,IACvC,IAAIpqB,GACAQ,GAAa,mDAER,EAAA6pB,kBAAoB,IAC7B,IAAIrqB,GAAsCQ,GAAa,yCAC9C,EAAA8pB,eAAiB,IAAM9pB,GAAa,qCACpC,EAAA+pB,oBAAsB,IAAM/pB,GAAa,0CACzC,EAAAgqB,uBAAyB,IAAMhqB,GAAa,6CAC5C,EAAAiqB,qBAAuB,IAAMjqB,GAAa,2CAC1C,EAAAkqB,wBAA0B,IAAMlqB,GAAa,8CAC7C,EAAAmqB,uBAAyB,IAAMnqB,GAAa,6CAC5C,EAAAoqB,uBAAyB,IAClC,IAAI5qB,GAAuCQ,GAAa,8CAC/C,EAAA4e,wBAA0B,IACnC,IAAIpf,GAAsCQ,GAAa,+CAC9C,EAAAqqB,kBAAoB,IAC7B,IAAI7qB,GACAQ,GAAa,yCAER,EAAAsqB,+BAAiC,IAC1C,IAAI9qB,GACAQ,GAAa,sDAER,EAAA4f,uBAAyB,IAClC,IAAIpgB,GACAQ,GAAa,8CAER,EAAAuqB,UAAY,IACrB,IAAI/qB,GACAQ,GAAa,iCAER,EAAAwqB,uBAAyB,IAClC,IAAIhrB,GACAQ,GAAa,8CAER,EAAAiF,sBAAwB,IACjC,IAAIzF,GACAQ,GAAa,6CAER,EAAA8E,0BAA4B,IACrC,IAAItF,GACAQ,GAAa,iDAER,EAAA+D,2BAA6B,IACtC,IAAIvE,GACAQ,GAAa,kDAER,EAAA6E,uBAAyB,IAClC,IAAIrF,GACAQ,GAAa,8CAER,EAAAyqB,2BAA6B,IACtC,IAAIjrB,GACAQ,GAAa,kDAER,EAAA0qB,wBAA0B,IACnC,IAAIlrB,GACAQ,GAAa,+CAER,EAAA2qB,uBAAyB,IAClC,IAAInrB,GACAQ,GAAa,8CAER,EAAA4qB,iBAAmB,IAC5B,IAAIprB,GACAQ,GAAa,wCAER,EAAA2gB,gBAAkB,IAC3B,IAAInhB,GAAsCQ,GAAa,uCAC9C,EAAA6qB,aAAe,IACxB,IAAIrrB,GAAsCQ,GAAa,oCAC9C,EAAA8qB,cAAgB,IACzB,IAAItrB,GAAoDQ,GAAa,qCAC5D,EAAAkG,qBAAuB,IAChC,IAAI1G,GAAsCQ,GAAa,4CAC9C,EAAA+qB,aAAe,IACxB,IAAIvrB,GAAoDQ,GAAa,oCAC5D,EAAAgrB,gBAAkB,IAC3B,IAAIxrB,GAAsCQ,GAAa,uCAC9C,EAAAirB,uBAAyB,IAClC,IAAIzrB,GAAsCQ,GAAa,8CAC9C,EAAAkrB,mBAAqB,IAC9B,IAAI1rB,GAAsCQ,GAAa,0CAC9C,EAAAmrB,mBAAqB,IAC9B,IAAI3rB,GAAsCQ,GAAa,0CAC9C,EAAAorB,gCAAkC,IAC3CprB,GAAa,sDACJ,EAAAqrB,kBAAoB,IAAMrrB,GAAa,wCACvC,EAAAsrB,gBAAkB,IAC3B,IAAI9rB,GAAuCQ,GAAa,uCAC/C,EAAAwkB,kBAAoB,IAC7B,IAAIhlB,GACAQ,GAAa,yCAER,EAAAurB,eAAiB,IAAMvrB,GAAa,qCACpC,EAAAwrB,eAAiB,IAAMxrB,GAAa,qCACpC,EAAAyrB,gBAAkB,IAAMzrB,GAAa,sCACrC,EAAA0rB,eAAiB,IAAM1rB,GAAa,qCA7QrD,CAAiB1B,EAAA,EAAAA,qBAAA,EAAAA,mBAAkB,KAgRnC,SAAiBvvF,GACA,EAAA48G,wBAA0B,IAAM3rB,GAAa,sCAC7C,EAAA4rB,eAAiB,IAAM5rB,GAAa,6BACpC,EAAA6rB,kBAAoB,IAC7B,IAAIrsB,GAA4CQ,GAAa,iCACpD,EAAA8rB,iBAAmB,IAAM9rB,GAAa,+BACtC,EAAA+rB,kBAAoB,IAAM/rB,GAAa,gCACvC,EAAAgsB,oBAAsB,IAC/B,IAAIxsB,GAAuCQ,GAAa,mCAC/C,EAAAisB,kBAAoB,IAAMjsB,GAAa,gCACvC,EAAAksB,gBAAkB,IAAMlsB,GAAa,8BAVtD,CAAiBjxF,EAAA,EAAAA,aAAA,EAAAA,WAAU,KAa3B,SAAiB+4F,GACA,EAAAqkB,SAAW,IACpB,IAAI3sB,GACAQ,GAAa,yBAER,EAAAosB,cAAgB,IACzB,IAAI5sB,GACAQ,GAAa,8BAER,EAAAqsB,oBAAsB,IAC/B,IAAI7sB,GACAQ,GAAa,oCAXzB,CAAiB8H,EAAA,EAAAA,cAAA,EAAAA,YAAW,KA3hChC,CAAiBtG,QAAS,KGtI1B,MAAM8qB,GAAkB,KAClBC,GAA0B,OAkCzB,SAAS,GACZ39I,EACA49I,EACAC,EACAC,EAAyB,IAEzB,MAAMC,EAA4E,IAAtC,GAAjBH,GACrBI,EAAkF,IAAzC,IAAjBJ,GAK9B,GAJAA,IAAkB,IAId59I,EAAKioG,cAAe,CACpB,IAAIg2C,GAAkB,EAStB,IAR0D,IAApC,GAAjBL,IAGGE,EAAevxE,MAAMhf,GAAMA,IAAMvtD,OAFrCi+I,GAAkB,IAOjBA,EACD,IACIH,EAAezhJ,KAAK2D,GACpB,IAAImvG,EAAYnvG,EAAKioG,cAAc56F,KACnC,MAAM4gG,EAAajuG,EAAKioG,cAAcmG,eAEtC,GAAIH,EAAY,CACZ,IAAIiwC,EAGAl+I,EAAKioG,cAAcmB,eAE8C,IAA3C,EAAjBw0C,IACD59I,EAAKioG,cAAcmB,cAAc35C,MAAM+tD,IAAa7W,GAAe6W,QAEnE0gC,EAAkB,GAClBl+I,EAAKioG,cAAcmB,cAAc9iF,SAAQ,CAACk3F,EAASryF,KAO3Cm8E,GAJAn8E,EAAQ8iF,EAAWjyG,OAASiyG,EAAW9iF,GAAS8iF,EAAWA,EAAWjyG,OAAS,KAK/EmrG,GAAgBqW,IAChBrL,GAAaqL,IACbA,EAAQzU,mBAERyU,EAAQzU,mBAAmBziF,SAAS63H,IAChCD,EAAiB7hJ,KACb,GACI8hJ,EAAan+I,KACb49I,EACAC,EACAC,OAKZI,EAAiB7hJ,KACb,GAAUmhH,EAASogC,EAAgBC,EAAoBC,SAON,IAA3C,EAAjBF,IACD3vC,EAAWx+C,MAAMqzD,IAAenc,GAAemc,QAE/Co7B,EAAkB,GAClBjwC,EAAW3nF,SAASw8F,IAChBo7B,EAAiB7hJ,KACb,GAAUymH,EAAW86B,EAAgBC,EAAoBC,QAMrEI,IAC+B,IAA3BA,EAAgBliJ,OAChBmzG,GAAa,OAEbA,GAAa,IAAI+uC,EAAgB1hJ,KAAK,UAOlD,GAAsB,KAAlBwD,EAAKs/D,SACL,OAAO6vC,E,QAGX2uC,EAAe7iG,OAK3B,GACI6iG,EAAevxE,MACVhf,I,MACG,OAAAA,IAAMvtD,QACeF,IAApBytD,EAAE06C,eAA+B16C,EAAE06C,cAAc8F,YAA+B,QAAlB,EAAA/tG,EAAKioG,qBAAa,eAAE8F,cAE3F+vC,EAAe9hJ,OAASupG,GAIxB,OAAI8B,GAAUrnG,IAASA,EAAKunG,QAAQyD,eAAiBhrG,EAAKunG,QAAQW,uBACvDloG,EAAKunG,QAAQW,uBAGpBloG,EAAKioG,cACEjoG,EAAKioG,cAAc56F,KAGvB,MAGX,IACIywI,EAAezhJ,KAAK2D,GAEpB,MAAMo+I,EAA8F,IAA9C,GAAjBR,GAC/BS,EAA2Bv3C,QACAhnG,IAAtBgnG,EAAQ+B,WAA2Bu1C,EAA8B,IAAM,GAGlF,OAAQp+I,EAAKs/D,UACT,KAAK,EACD,MAAO,UAGX,KAAK,EACD,OAAiE,IAAxC,EAAjBs+E,GAA6D,MAAQ,UAGjF,KAAK,EACD,MAAO,WAAW59I,EAAKgsE,eAG3B,KAAK,EACD,OAAIw5B,GAASvmG,WAAWe,QACMF,IAAtBE,EAAK0sG,aACE,WAAW4xC,GAAkBt+I,MAGjC,GAAG,GACNA,EACA49I,EACAC,EACAC,KACAO,EAAwBr+I,UAEFF,IAAtBE,EAAK0sG,aACE,gBAAgB4xC,GAAkBt+I,OAAUq+I,EAAwBr+I,KAGxE,QAAQ,GACXA,EACA49I,EACAC,EACAC,MACCO,EAAwBr+I,KAIrC,KAAK,EAAuB,CAGxB,MAAM9D,EAAQ,GAAmB8D,EAAM49I,EAAgBC,EAAoBC,GACrES,EAAiB,IAAIriJ,EAAM,GAAGM,KAAK,SACzC,GAAIqpG,GAAaoO,iBAAiBj0G,GAC9B,OAAOu+I,EAEX,MAAMC,EAAgB,GAAGD,QAAqBriJ,EAAM,KAEpD,OAAI8hJ,EACO,IAAIQ,KAGRA,EAGX,KAAK,EAKD,MAAO,YAJgBx+I,EACUuqG,UAAUzlF,KAAKu7F,GAC5C,GAAUA,EAAUu9B,EAAgBC,EAAoBC,KAE/BthJ,KAAK,SAGtC,KAAK,EAAoB,CAIrB,MAAMiiJ,EAAoB,IAAI3sG,IAIxB4sG,EAAiB,IAAI5sG,IAGrB6sG,EACe,EAAjBf,EACuB,IAAjBA,EACAA,EAGV,GAA0D,IAApC,GAAjBA,IAA0D59I,EAAKysG,iBAChE,IAAK,MAAMyK,KAAmBl3G,EAAKysG,iBAAkB,CACjD,IAAImyC,GAAqB,EACrBC,GAA+B,EACnC,MAAMC,EAA4B,IAAIhtG,IAEtC,IAAK,MAAMitG,KAAiB7nC,EAAgBrQ,SAAU,CAClD,IAAIm4C,EAAoB,EACpBC,GAAa,EAEjB,IAAK,MAAMC,KAAgBl/I,EAAK6mG,SAAU,CACtC,GACIuB,GACI22C,EACAG,OAC0Bp/I,GACJ,GAE5B,CACO2+I,EAAkBr5H,IAAI45H,KACvBH,GAA+B,GAEnCC,EAA0Bl4H,IAAIo4H,GAC9BC,GAAa,EACb,MAGJD,IAGJ,IAAKC,EAAY,CACbL,GAAqB,EACrB,OAIJA,IAAuBC,IACvBH,EAAe93H,IACX,GAAUswF,EAAiBynC,EAAuBd,EAAoBC,IAE1EgB,EAA0Bx4H,SAAS6E,GAAUszH,EAAkB73H,IAAIuE,MAK/E,MAAMg0H,EAAYn/I,EAAK6mG,SAAStW,WAAWuW,GAAYR,GAAeQ,KACtE,GAAIq4C,GAAa,IAAMV,EAAkBr5H,IAAI+5H,GAAY,CACrD,MAAMC,EAAkBxzC,GAAoB5rG,GAC5C,GAAIqmG,GAAQ+4C,GACR,MAAO,OAGX,MAAMC,EAAe,GACjBD,EACAT,EACAd,EACAC,GAGJ,OAAqB,EAAjBF,EACOyB,EAAe,UAGnB,YAAcA,EAAe,IAGxC,MAAMC,EAAuB,IAAIxtG,IAC3BytG,EAAsB,IAAIztG,IAChCsrE,GAAiBp9G,GAAM,CAAC8mG,EAAS37E,KACxBszH,EAAkBr5H,IAAI+F,KACnBg8E,GAAgBL,SAAqChnG,IAAzBgnG,EAAQ4F,aACpC4yC,EAAqB14H,IAAI03H,GAAkBx3C,IACpCI,GAAoBJ,SAAqChnG,IAAzBgnG,EAAQ4F,aAC/C6yC,EAAoB34H,IAAI03H,GAAkBx3C,IAE1C43C,EAAe93H,IACX,GAAUkgF,EAAS63C,EAAuBd,EAAoBC,QAM9E,MAAM0B,EAAkC,GAGxC,GAFAd,EAAep4H,SAAS9W,GAAMgwI,EAAsBnjJ,KAAKmT,KAErD8vI,EAAqBh/I,KAAO,EAAG,CAC/B,MAAMm/I,EAA2B,GACjCH,EAAqBh5H,SAAS9W,GAAMiwI,EAAepjJ,KAAKmT,KACxDgwI,EAAsBnjJ,KAAK,WAAWojJ,EAAejjJ,KAAK,UAG9D,GAAI+iJ,EAAoBj/I,KAAO,EAAG,CAC9B,MAAMm/I,EAA2B,GACjCF,EAAoBj5H,SAAS9W,GAAMiwI,EAAepjJ,KAAKmT,KACvDgwI,EAAsBnjJ,KAAK,gBAAgBojJ,EAAejjJ,KAAK,WAGnE,GAAqC,IAAjCgjJ,EAAsBxjJ,OACtB,OAAOwjJ,EAAsB,GAGjC,GAAqB,EAAjB5B,EAAwC,CACxC,MAAM8B,EAAcF,EAAsBhjJ,KAAK,OAC/C,OAAIuhJ,EACO,IAAI2B,KAERA,EAGX,MAAO,SAASF,EAAsBhjJ,KAAK,SAG/C,KAAK,GAAsB,CAKvB,GAAIwD,EAAKunG,QAAQyD,cAAe,CAG5B,GAAIhrG,EAAKunG,QAAQW,uBACb,OAA0D,IAApC,GAAjB01C,IAA0D59I,EAAKunG,QAAQY,UACjE,GACH3C,GAASvmG,WAAWe,GACdy/G,GAAkBz/G,EAAKunG,QAAQY,WAC/BnoG,EAAKunG,QAAQY,UACnBy1C,EACAC,EACAC,GAGD99I,EAAKunG,QAAQW,uBAMxB,GAAIloG,EAAKunG,QAAQ2Q,mBAAqBl4G,EAAKunG,QAAQY,UAAW,CAC1D,IAAIw3C,EAAkB,GAClB3/I,EAAKunG,QAAQY,WACI,GAAjBy1C,EACAC,EACAC,GAOJ,OAJKn3C,GAAe3mG,EAAKunG,QAAQY,aAC7Bw3C,EAAkB,QAAQA,KAG1Bn6C,GAASgB,eAAexmG,GACjB,QAAQ2/I,KAGZA,EAGX,OAAiE,IAAxC,EAAjB/B,GAA6D,MAAQ,UAGjF,GAAI59I,EAAKunG,QAAQM,YACb,OAAI7nG,EAAK+3G,gBACE,GAAG/3G,EAAKunG,QAAQl6F,QAAQrN,EAAK+3G,kBAEjC,GAAG3R,GAAYmS,gBAAgBv4G,KAG1C,IAAI02G,EAActQ,GAAYmS,gBAAgBv4G,GAM9C,OAJIA,EAAK0nG,qBACLgP,EAAc,IAAIA,KAGlBlR,GAASgB,eAAexmG,GACjB,QAAQ02G,KAGZA,EAGX,KAAK,EACD,MAAO,GAAGlR,GAASgB,eAAexmG,GAAQ,aAAe,SAASq+I,EAAwBr+I,KAG9F,KAAK,EACD,OAAOA,EAAKosG,WAAa,WAAa,QAG1C,KAAK,EAED,OADgBpsG,EACDq2G,WAAa,MAAQ,MAI5C,MAAO,G,QAEPynC,EAAe7iG,OAIhB,SAASqjG,GAAkBt+I,EAAiB4/I,EAAY,KAC3D,MAAMlzC,EAAe1sG,EAAK0sG,aAC1B,QAAqB5sG,IAAjB4sG,EACA,MAAO,GAGX,IAAImzC,EACJ,GAA4B,iBAAjBnzC,EAA2B,CAClC,MAAMxiD,EAA+B,UAAtBlqD,EAAKunG,QAAQl6F,KAAmB,IAAM,GAIrDwyI,EAAa7vI,KAAKC,UAAUy8F,GAAclsG,WACxB,MAAdo/I,IACAC,EAAa,IAAIA,EACZr4G,UAAU,EAAGq4G,EAAW7jJ,OAAS,GACjC2K,QAAQg3I,GAAyB,KACjCh3I,QAAQ+2I,GAAiB,WAG9BxzF,IACA21F,EAAa,GAAG31F,IAAS21F,SAEE,kBAAjBnzC,EACdmzC,EAAanzC,EAAe,OAAS,QAC9BA,aAAwBtH,GAC/By6C,EAAa,GAAGnzC,EAAahc,aAAagc,EAAarH,WACxB,iBAAjBqH,GACdmzC,EAAanzC,EAAalsG,WACtBq/I,EAAW5kF,SAAS,OACpB4kF,EAAaA,EAAWr4G,UAAU,EAAGq4G,EAAW7jJ,OAAS,KAG7D6jJ,EAAanzC,EAAalsG,WAG9B,OAAOq/I,EAGJ,SAAS,GACZ7/I,EACA49I,EACAC,EACAC,EAAyB,I,QAEzB,IAAIgC,EAAU9/I,EAAKmvG,WAAanvG,EAAKunG,QAAQl6F,KAI7C,IAAKu4F,GAAUkD,qBAAqB9oG,GAAO,CACvC,MAAMiuG,EAAarI,GAAUyM,kBAAkBryG,GACzC+/I,EAAgB9xC,EAAWjyG,OAAS,EAAIiyG,EAAWA,EAAWjyG,OAAS,QAAK8D,EAC5E0nG,IAAau4C,GAAgBA,EAAcx4C,QAAQC,WAGnD0G,EACqB,QAAvB,EAAAluG,EAAK+oG,0BAAkB,QACL,QAAlB,EAAA/oG,EAAKopG,qBAAa,eAAEtkF,KAAKyoC,IACd,CAAEvtD,KAAMutD,EAAG27C,aAAa,MAEvC,GAAIgF,EAEA,GAAIA,EAASlyG,OAAS,EAAG,CACrB,MAAMgkJ,EAA2B,GACjC,IAAIC,GAAW,EAEf/xC,EAAS5nF,SAAQ,CAACk3F,EAASryF,KACvB,MAAM23F,EAAY33F,EAAQ8iF,EAAWjyG,OAASiyG,EAAW9iF,QAASrrB,EAClE,GACIgjH,GACAA,EAAUvb,QAAQC,YAClBL,GAAgBqW,EAAQx9G,OACxB4lG,GAAUqH,UAAUuQ,EAAQx9G,KAAM,UAClCw9G,EAAQx9G,KAAK+oG,mBAGkC,IAA3CyU,EAAQx9G,KAAK+oG,mBAAmB/sG,QAC3B2qG,GAAe6W,EAAQx9G,QACxBigJ,GAAW,GAGfD,EAAe3jJ,KAAK,OAEpB2jJ,EAAe3jJ,QACRmhH,EAAQx9G,KAAK+oG,mBAAmBjkF,KAAK04F,IAC/B7W,GAAe6W,EAAQx9G,QACxBigJ,GAAW,GAGf,MAAMC,EAAc,GAChB1iC,EAAQx9G,KACR49I,EACAC,EACAC,GAEJ,OAAItgC,EAAQtU,YACD,UAAUg3C,UAGdA,UAIhB,CACEv5C,GAAe6W,EAAQx9G,QACxBigJ,GAAW,GAGf,MAAME,EAAkB,GACpB3iC,EAAQx9G,KACR49I,EACAC,EACAC,GAGAtgC,EAAQtU,YACgB,IAApBgF,EAASlyG,OACTgkJ,EAAe3jJ,KAAK8jJ,EAAiB,OAErCH,EAAe3jJ,KAAK,UAAU8jJ,WAGlCH,EAAe3jJ,KAAK8jJ,OAK5BngJ,EAAK4nG,aACLk4C,EAAU,IAAMA,GAG6C,IAA3C,EAAjBlC,IAAkEqC,IACnEH,GAAW,IAAME,EAAexjJ,KAAK,MAAQ,UAG7CopG,GAAUuM,aAAanyG,IAASwnG,KAChCs4C,GAAW,aAIf7xC,EAAWjyG,OAAS,IAE6C,IAA3C,EAAjB4hJ,IACD3vC,EAAWx+C,MAAMqzD,IAAenc,GAAemc,QAE/Cg9B,GACI,IACA7xC,EACKnpF,KAAKg+F,GACK,GAAUA,EAAW86B,EAAgBC,EAAoBC,KAEnEthJ,KAAK,MACV,KAMpB,OAAOsjJ,EAGJ,SAAS,GACZ9/I,EACA49I,EACAC,EACAC,EAAyB,IAEzB,MAAMsC,EAA6B,GACnC,IAAIC,GAAiB,EAErBrgJ,EAAKunG,QAAQljE,WAAW/d,SAAQ,CAAClC,EAAO+G,KAEpC,GACIA,IAAUnrB,EAAKunG,QAAQljE,WAAWroC,OAAS,GACxB,IAAnBooB,EAAMk7C,UACNgoC,GAAkBljF,EAAMpkB,MAC1B,CACE,MAAMsgJ,EAAuBz6C,GAAamE,0BAA0BhqG,EAAMmrB,GAC1E,GACIg8E,GAAgBm5C,IAChB16C,GAAUqH,UAAUqzC,EAAsB,UAC1CA,EAAqBv3C,mBAMrB,YAJAu3C,EAAqBv3C,mBAAmBziF,SAAS08F,IAC7C,MAAMu9B,EAAc,GAAUv9B,EAAUhjH,KAAM49I,EAAgBC,EAAoBC,GAClFsC,EAAiB/jJ,KAAKkkJ,MAMlC,IAAIA,EAAc,GACK,IAAnBn8H,EAAMk7C,SACDl7C,EAAM/W,MAAS+W,EAAM2vF,oBACtBwsC,GAAe,KAEO,IAAnBn8H,EAAMk7C,WACbihF,GAAe,MAGfn8H,EAAM/W,OAAS+W,EAAM2vF,oBACrBwsC,GAAen8H,EAAM/W,KACrBgzI,GAAiB,GAGrB,IAAIG,EAAyB,IACzBC,GAA6B,EAEjC,GAAIr8H,EAAM/W,KAEN,GAAI+W,EAAM4vF,iBAAmB5vF,EAAMkvF,eAAgB,CAC/C,MAAM0P,EAAYnd,GAAamE,0BAA0BhqG,EAAMmrB,GACzDu1H,EACF5C,EAAe9hJ,OAASupG,GAClB,GAAUyd,EAAW46B,EAAgBC,EAAoBC,GACzD,GAEL15H,EAAM2vF,kBAEmB,IAAnB3vF,EAAMk7C,UAA8CsoC,GAAWob,KACtEu9B,GAAe,KAFfA,GAAe,KAKI,IAAnBn8H,EAAMk7C,UAAmDsoC,GAAWob,KACpEu9B,GAAe,MAGnBA,GAAeG,EAEX74C,GAAYmb,KAEW,IAAnB5+F,EAAMk7C,UACa,IAAnBl7C,EAAMk7C,WAENmhF,GAA6B,IAMrCD,EAAyB,WAC2C,IAA3C,EAAjB5C,KACHx5H,EAAM2vF,oBACPwsC,GAAe,MAEnBA,GAAe,UACfC,EAAyB,YAE1B,GAAuB,IAAnBp8H,EAAMk7C,SAAuC,CACpD,IAAI+gF,EAGA,OAFAE,GAAe,IAkBvB,GAZIn8H,EAAM0vF,aACF1vF,EAAMu8H,uBACNJ,GAAeC,EAAyB,GAA+Bp8H,EAAMu8H,wBAK7EJ,GAAeC,EAAyB,OAK5C36C,GAAa+P,uCAAuC51G,KAAUygJ,EAC9D,GAAuB,IAAnBr8H,EAAMk7C,SACNihF,EAAc,WACX,GAAuB,IAAnBn8H,EAAMk7C,SACb,OAIR8gF,EAAiB/jJ,KAAKkkJ,MAGtBvgJ,EAAKunG,QAAQqM,WACbwsC,EAAiB/jJ,KACb,KAAK,GAAU2D,EAAKunG,QAAQqM,UAAWgqC,EAAgBC,EAAoBC,MAInF,MAAM1zC,EAAayzC,EAAmB79I,GAChC4gJ,EACF9C,EAAe9hJ,OAASupG,GAClB,GACI6E,EACiB,IAAjBwzC,EACAC,EACAC,GAEJ,GAEV,MAAO,CAACsC,EAAkBQ,GCpuBvB,MAAMC,WAAgC,GAmEzC5zI,YACY6zI,EACA/mC,EACA0Q,EACAs2B,EACAC,EACAC,GAAwC,GAEhD/zI,QAPQ,KAAA4zI,cACA,KAAA/mC,gBACA,KAAA0Q,aACA,KAAAs2B,qBACA,KAAAC,gBACA,KAAAC,wCATJ,KAAAC,SAA+B,GAC/B,KAAAC,oBAAsB,IAAIrvG,IAc9B9wC,KAAKogJ,mBAAmBpgJ,KAAKggJ,eA9EjC,uBACIt4E,EACAoqD,EACAuuB,EACAC,EACA9kD,GAAuC,GAEvC,MAAM1oC,EAAa4U,EAAKpqE,MAClBijJ,EAAevgJ,KAAKwgJ,uBACtB94E,EACAoqD,GACuB,EACvBuuB,GAIJ,OADAC,EAAeA,UAAgBjmD,GAAc3yB,IAK3B,IAAIm4E,GAClB/sF,EACAytF,EACAzuB,EACAuuB,EACAC,EACA9kD,GAGailD,UAZN,GAef,8BACI/4E,EACAoqD,EACA4uB,EACA1/H,EACA+1G,GAEA,GAA6B/1G,GAE7B,MAAMu/H,EAAevgJ,KAAK2gJ,wBAAwBj5E,EAAMoqD,GAElD8uB,EAAsC,GAiB5C,OAhBAL,EAAaj7H,SAAS4iD,IAClB,MAAMklD,EAAe0E,EAAUzE,wBAAwBnlD,EAAMw4E,GAC7D,GAAItzB,IACAwzB,EAAqBvlJ,KAAK+xH,GAEtB2J,GAAgBniD,GAAWw4C,EAAar+G,OAAO,CAC/C,MAAM4oH,EAAYZ,EAAa9M,iBAAiBmD,GAChD,IAAK,MAAMX,KAAYkL,EACflL,GAAYA,EAAS19G,MACrB/O,KAAK6gJ,aAAaD,EAAsBn0B,OAOrDm0B,EAqBXH,UAEI,OADAzgJ,KAAK+vF,KAAK/vF,KAAKggJ,eACRhgJ,KAAKkgJ,SAGPnwD,KAAKroB,GACL,GAAmCA,IACpCx7D,MAAM6jF,KAAKroB,GAIVorB,UAAUprB,GAIf,GAHA,GAA6B1nE,KAAK+/I,oBAG9Br4E,EAAKpqE,QAAU0C,KAAK8/I,YACpB,OAAO,EAGX,GAAI9/I,KAAK+4G,cAAc/9G,OAAS,EAAG,CAC/B,MAAMulJ,EAAeV,GAAwBc,wBAAwBj5E,EAAM1nE,KAAKypH,YAE5E82B,GAAgBA,EAAavlJ,OAAS,GAElCulJ,EAAa9xF,MAAMyZ,GAASloE,KAAK8gJ,4BAA4B54E,MAC7DloE,KAAK+gJ,WAAWr5E,QAKxB1nE,KAAK+gJ,WAAWr5E,GAGpB,OAAO,EAGFqsB,YAAYrsB,GAOjB,OANA,GAA6B1nE,KAAK+/I,oBAE9B//I,KAAKmgJ,oBAAoB/7H,IAAIsjD,IAC7B1nE,KAAK+gJ,WAAWr5E,IAGb,EAGHq5E,WAAWr5E,GACf,MAAMj7D,EAAqC,KAAlBi7D,EAAKjB,SAAkCiB,EjBy0DjE,SAAiCA,GACpC,OAGG,SAA6B1mD,GAChC,MAAMhmB,EAASgmB,EAAMggI,gBACfC,IAA4B,MAAdjgI,EAAMkoD,OAC1B,OAAO1E,GAAUryD,OAAO6O,EAAMllB,MAAQd,EAAQgmB,EAAMhmB,OAASA,GAAUimJ,EAAYjmJ,EAAS,IANrFkmJ,CAAoBx5E,EAAK1mD,OiB10D2CmgI,CAAwBz5E,GAC/F1nE,KAAKkgJ,SAAS7kJ,KAAK,CAAEqsE,OAAMj7D,UAGvBq0I,4BAA4B94E,GAEhC,MAAMolD,EAAeptH,KAAKypH,WAAW4D,wBAAwBrlD,GAAqC,GAClG,IAAKolD,EACD,OAAO,EAKX,GACIptH,KAAK+4G,cAActqD,MAAMyZ,GACrBmzB,GAAoBnzB,EAAMklD,EAAcptH,KAAKigJ,yCAGjD,OAAO,EAKX,MAAMmB,EAAuBphJ,KAAKqhJ,4BAA4Bj0B,GAC9D,SAAKg0B,GAAwBA,IAAyBh0B,IAI/CptH,KAAK+4G,cAActqD,MAAMyZ,GAC5BmzB,GAAoBnzB,EAAMk5E,EAAsBphJ,KAAKigJ,yCAIrDoB,4BAA4Br5E,GAIhC,GAAIs5E,EAAiCt5E,GACjC,OAAOi0B,GAAwC,CAACj0B,IAAc,GAGlE,MAAMolD,EAAeptH,KAAKypH,WAAW4D,wBAAwBrlD,GAAqC,GAClG,OAAOs5E,EAAiCl0B,GAClCnxB,GAAwC,CAACmxB,IAAe,GACxDA,EAEN,SAASk0B,EAAiCp5E,GACtC,QACMA,GACY,IAAdA,EAAKlpE,MACLkpE,EAAKR,MACLQ,EAAKuzB,eACkB,KAAvBvzB,EAAKR,KAAKjB,UAKd25E,mBAAmB14E,GACvB,GAAsB,KAAlBA,EAAKjB,SACL,OAGJ,MAAMoC,EAAgB,GAAkCnB,GACxD,IAAKmB,EACD,OAGJ,MAAM04E,EAAc,GAA2B75E,GAC1C65E,GAIL14E,EAAc24E,YAAYl8H,SAASm8H,IAC/B,GAAIA,EAAWnkJ,QAAU0C,KAAK8/I,YAC1B,OAGJ,MAAM4B,EAAgBH,EAAYI,sBAAsBF,EAAWnkJ,OAC9DokJ,GAIAA,EAAc/mE,OAAOy+B,kBAAkB3qD,MAAMlgD,GAAMvO,KAAK8gJ,4BAA4BvyI,MAIzFvO,KAAKmgJ,oBAAoBv6H,IAAI67H,MAI7B,oBAAoBlB,EAA6BqB,GACrD,IAAK,MAAMl1F,KAAO6zF,EACd,GAAIllD,GAAoB3uC,EAAKk1F,GACzB,OAIRrB,EAAallJ,KAAKumJ,GAGd,+BAA+Bl6E,EAAgBoqD,G,gBAGnD,GAAyB,MAAV,QAAX,EAAApqD,EAAKviC,cAAM,eAAEshC,UAAuC,CACpD,IAAIy1B,EAAQ41B,EAAUlG,2BAA2BlkD,IAAS,GAS1D,GAPyB,MAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,YAEby1B,EAAQA,EAAMrzC,QAAQt6C,GAAMA,EAAEm5D,OAASA,EAAKviC,UAK3B,IAAjB+2D,EAAMlhG,OAAc,CACpB,MAAMgE,EAAO8yH,EAAUvE,QAAQ7lD,GAC/B,GAAkB,KAAd1oE,aAAI,EAAJA,EAAMs/D,UAEN,MAAO,CAAC+9B,GAAkCr9F,EAAK68D,WAQvD,IAAK,MAAMgmF,KAAa3lD,EAAMrzC,QAAQt6C,GAAMw3E,GAAmBx3E,KAAOA,EAAE+tF,sBAAsB,CAC1F,MAAM50B,EAAQm6E,EAA+Bn6E,KACvB,KAAlBA,EAAKjB,UAKTy1B,EAAM7gG,QAASy2H,EAAUlG,2BAA2BlkD,EAAK51D,OAAO49D,UAAU,KAAO,IAGrF,OAAOwsB,EAKX,MAAMlxB,EAAatD,EAAKviC,OACxB,GAC+B,MAAV,QAAjB,EAAA6lC,EAAW7lC,cAAM,eAAEshC,WACQ,MAAV,QAAjB,EAAAuE,EAAW7lC,cAAM,eAAEshC,UACrB,CACE,MAAMt8C,EAAQ6gD,EAAW0E,UAAU6f,WAAW/uF,GAAMA,IAAMknE,IAG1D,GAAc,IAAVv9C,EAAa,CAEb,IAAI+xE,EAAuB,GAG3B,MAAM4lD,EAC8B,IAAhC92E,EAAW0E,UAAU10E,QACU,KAA/BgwE,EAAW7lC,OAAOshC,YAChBuE,EAAW7lC,OAAOgnC,MAGlBQ,EAAam1E,EACZ92E,EAAW7lC,OAAwBgnC,MAAO7uE,MAC3C0tE,EAAW0E,UAAU,GAAGpyE,MAKxBykJ,EAAkD,QAAhC,KAA2Br6E,UAAK,eAAEi6E,sBAAsBh1E,GAoChF,OAnCIo1E,GAAmD,IAAhC/2E,EAAW0E,UAAU10E,SACxCkhG,EAAM7gG,QAAQ0mJ,EAAgBpnE,OAAOy+B,kBAAkBvwD,QAAQt6C,GAAMw3E,GAAmBx3E,MAGpF2tF,EAAMlhG,OAAS,IACfkhG,EAAQA,EAAMrzC,QAAQt6C,QAGMzP,KAFxByP,EAAIA,GAEEmvE,cAKKnvE,EAAEmvE,gBAAkB1S,EAAW0E,UAAU,GAAGpyE,MAGhDiR,EAAEm5D,OAASsD,EAAW7lC,UAMjC28G,IACA5lD,EAAQD,GAAwCC,KAMxDA,EAAM7gG,SAEsD,QADpD,EAAAy2H,EACClG,2BAA2B5gD,EAAW0E,UAAU,WAAG,eAClD7mB,QAAQt6C,GAAMw3E,GAAmBx3E,OAAO,IAG3C2tF,EAGX,OAAI/xE,EAAQ,GAOD2nG,EAAUlG,2BAA2B5gD,EAAW0E,UAAUvlD,KAG9D,GAGX,MAAO,IC7VR,SAAS63H,GACZhjJ,EACA8yH,EACAmwB,EAAkB,IAElB,IAAIt8G,EAAU,GACd,MAAM4jE,EAAYvqG,EAAKuqG,UAClB1gD,QAAQz2C,GAAMyyF,GAAayP,aAAaliG,KACxC0R,KAAK1R,GAAMA,EAAEm0F,QAAQl6F,KAAOylH,EAAUuC,UAAUjiH,GAAyB,KAE9E,IAAK,IAAI9X,EAAI,EAAGA,EAAIivG,EAAUvuG,OAAQV,IACxB,IAANA,GAAWivG,EAAUjvG,GAAGU,OAASinJ,GAAmB14C,EAAUjvG,EAAI,GAAGU,QAAUinJ,IAC/Et8G,GAAW,MAGfA,GAAW4jE,EAAUjvG,GAEjBA,EAAIivG,EAAUvuG,OAAS,IACvB2qC,GAAW,KACP4jE,EAAUjvG,GAAGU,OAASinJ,IACtBt8G,GAAW,OAKvB,OAAOA,EAGJ,SAASu8G,GAA6BljJ,EAAoB+3H,EAA4BjF,GACzF,MAAM5pD,EAAOlpE,EAAKunG,QAAQv+B,YACpBgvD,EAAiB9uD,EAAO,GAAiCA,EAAKR,WAAQ5oE,EACtEstH,EAAe4K,EAAiBlF,EAAUzF,eAAe2K,QAAkBl4H,EAEjF,OHCG,SACHE,EACAouH,EACA2J,EACA9oB,GAEA,IAAI5Q,EAUJ,IALKw5B,GAAuB73H,EAAMivG,IAAcmf,GAAgBznC,GAAsBynC,KAClF/vB,EAiPR,SAA+Br+F,EAAYouH,EAA+C2J,GACtF,IAAKjwB,GAAW9nG,GACZ,OAGJ,IAAIq+F,EAAYr+F,EAAKunG,QAAQlJ,UAS7B,OARKA,GAAa+vB,IACd/vB,EAAY+5B,GAAqChK,EAAc2J,KAG9D15B,GAAar+F,EAAKunG,QAAQv+B,cAC3Bq1B,EAAY+5B,GAAqCp4H,EAAKunG,QAAQv+B,YAAa+uD,IAGxE15B,EA/PS8kD,CAAsBnjJ,EAAMouH,EAAc2J,KAIrD15B,GAAa4Q,EAAW,CACzB,MACMm0C,EAAiBthC,GAAuB7S,EAD7BjvG,EAAKunG,QAAQl6F,KAxClC,IA2CI,IAAK,MAAMg2I,KAAeD,EAEtB,GADcC,EAAY1nE,OAAOy+B,kBACvBp+G,OAAS,EAAG,CAClB,MAAMsnJ,EAAgBD,EAAY1nE,OAAOy+B,kBAAkBx7G,OAAO,GAAG,GACrE,GAAI+nF,GAAsB28D,KACtBjlD,EAAY+5B,GAAqCkrB,EAAevrB,GAC5D15B,GACA,OAOpB,OAAOA,GAAar+F,EAAKunG,QAAQlJ,UGnC1BklD,CAA8BvjJ,EAAMkpE,EAAM6uD,EAAc3K,aAAY,EAAZA,EAAcne,WAG1E,SAASu0C,GACZxjJ,EACA+3H,EACAjF,GAEA,GAA8B,IAA1B9yH,EAAKuqG,UAAUvuG,OACf,MAAO,GAGX,MAAMktE,EAAOlpE,EAAKuqG,UAAU,GAAGhD,QAAQv+B,YACjCgvD,EAAiB9uD,EAAO,GAAiCA,EAAKR,WAAQ5oE,EACtEstH,EAAe4K,EAAiBlF,EAAUzF,eAAe2K,QAAkBl4H,EAEjF,OHsBG,SACHE,EACAyjJ,EACA1rB,EACAjF,EACA7jB,GAEA,IAAI6pB,EAKJ,IAAKjB,GAAuB73H,EAAMivG,GAC9B,IAAK,MAAMmf,KAAgBq1B,EAEvB,GADA3qB,EAAaG,GAAiCj5H,EAAMouH,EAAc2J,GAC9De,GAAcA,EAAW98H,OAAS,EAClC,OAAO88H,EAMnB,GAAI7pB,GAAajvG,EAAKuqG,UAAUvuG,OAAS,EAAG,CACxC,MACMonJ,EAAiBthC,GAAuB7S,EAD7BjvG,EAAKuqG,UAAU,GAAGhD,QAAQl6F,KAnF/C,IAsFI,IAAK,MAAMg2I,KAAeD,EAAgB,CACtC,MAAME,EAAgBD,EAAY1nE,OAAOy+B,kBAAkBx7G,OAAO,GAAG,GAC/D8kJ,EAAW5wB,EAAUoF,sBAAsBorB,GACjD,GAAII,IACA5qB,EAAaG,GAAiCyqB,EAAUJ,EAAevrB,GACnEe,GAAcA,EAAW98H,OAAS,GAClC,OAMhB,OAAO88H,UAAc,GG5Dd6qB,CACH3jJ,EACAA,EAAKuqG,UAAUzlF,KAAK1R,GAAMA,EAAEm0F,QAAQv+B,cAAanf,OAAOuF,GACxD2oE,EACAjF,EACA1F,aAAY,EAAZA,EAAcne,WAIf,SAAS20C,GACZ7rB,EACA/3H,EACAouH,EACA0E,GAEA,GAAsB,KAAlB1E,aAAY,EAAZA,EAAcpuH,OAAqCouH,EAAarxB,eAAiBqxB,EAAa/vB,UAC9F,MAAO,CAAC+vB,EAAa/vB,WAClB,GAAI+I,GAASpnG,GAAO,CACvB,MAAMg5H,EAAMV,GAAmBt4H,EAAMouH,EAAc2J,GACnD,GAAIiB,EACA,MAAO,CAACA,QAET,GAAI9xB,GAAoBlnG,GAAO,CAClC,MAAMg5H,EAAMP,GAAkBz4H,EAAMouH,EAAc2J,GAClD,GAAIiB,EACA,MAAO,CAACA,QAET,GAAIlxB,GAAW9nG,GAAO,CACzB,MAAMg5H,EAAMkqB,GAA6BljJ,EAAM+3H,EAAcjF,GAC7D,GAAIkG,EACA,MAAO,CAACA,OAET,IAAIjxB,GAAqB/nG,GAC5B,OAAOwjJ,GAAwCxjJ,EAAM+3H,EAAcjF,GAChE,GAAsB,KAAlB1E,aAAY,EAAZA,EAAcpuH,MAAmC,CACxD,MAAMg5H,EAAMH,GAAqBzK,EAAc2J,GAC/C,GAAIiB,EACA,MAAO,CAACA,QAET,GAAsB,KAAlB5K,aAAY,EAAZA,EAAcpuH,MAAmC,CAExD,MAAMg5H,EAAMlB,GAA8B1J,EAAc2J,EAAcjF,GACtE,GAAIkG,EACA,MAAO,CAACA,IAIhB,MAAO,GCTX,IAAU6qB,GAsDLC,IAtDL,SAAUD,GACN,MAAMpxI,EAAiB,CAEnB,OACA,QACA,OACA,MACA,KACA,MACA,KACA,SACA,QAGA,SACA,QACA,QACA,WACA,MACA,MACA,OACA,OACA,SACA,UACA,MACA,OACA,SACA,KACA,SACA,KACA,WACA,OACA,QACA,SACA,MACA,QACA,QAGEsxI,EAAsB,IAAItxI,EAAM,QAAS,SAEzCuxI,EAAuB,IAAID,EAAW,OAAQ,SAEpC,EAAAE,WAAhB,SAA2BzlI,GACvB,OAAIA,GAAW4+C,GAAcE,MAClB0mF,EAEPxlI,GAAW4+C,GAAc8mF,KAClBH,EAEJtxI,GAlDf,CAAUoxI,QAAQ,KAsDlB,SAAKC,GAKD,qCAGA,uDAGA,2CAGA,mCAGA,uCAGA,qDAGA,2CAGA,yBAGA,+BAGA,mCAIA,sCAGA,oCAGA,gCA1CJ,CAAKA,QAAY,KA+IV,MACMK,GAAsB,iBAS5B,MAAMC,GAYTn3I,YACYo3I,EACAC,EACAC,EACAh6B,EACAi6B,EACAC,EACApwE,EACAqwE,EACAj6B,EACAljG,EACAo9H,EACAC,EACA7D,GAZA,KAAAsD,iBACA,KAAAC,gBACA,KAAAC,gBACA,KAAAh6B,kBACA,KAAAi6B,YACA,KAAAC,YACA,KAAApwE,iBACA,KAAAqwE,gBACA,KAAAj6B,aACA,KAAAljG,WACA,KAAAo9H,gBACA,KAAAC,kBACA,KAAA7D,qBAfJ,KAAA8D,sBAAuB,EAiB3B7jJ,KAAKwpH,SAAWxpH,KAAKqzE,eAAeywE,oBAAoB9jJ,KAAKyjJ,WAGjEM,4B,QACI,MAAMriJ,EAAS,GAAwB1B,KAAKwjJ,UAAWxjJ,KAAKsjJ,cAAcn2E,gBAAgB3lB,OAC1F,QAAe1oD,IAAX4C,EACA,OAGJ,MAAMsf,EnBynCP,SAA6BsjD,EAAoC7nC,GACpE,MAAMtS,EAAQm6C,EAAOq1B,kBAAkBl9D,GACvC,GAAItS,EAAQ,EACR,OAGJ,MAAMnJ,EAAQsjD,EAAOgB,UAAUn7C,GAC/B,OAAOq6C,GAAUoB,SAAS5kD,EAAOyb,GAAYzb,OAAQliB,EmBhoCnC,CAAmCkB,KAAKsjJ,cAAcn2E,gBAAgB7I,OAAQ5iE,GAC7E,KAAXsf,aAAK,EAALA,EAAOhiB,QACPgB,KAAK6jJ,uBAAuBr/E,GAAUsB,SAAS9kD,EAAOtf,OAEjB,MAA9Bsf,EAAsBkoD,QAKjC,IAAIxB,EAAO,GAAgC1nE,KAAKsjJ,cAAcp5E,UAAWxoE,GAKzE,MAAMsiJ,EAAct8E,EACdu8E,EAAev8E,EAAO,GAA4BA,GAAQ,EAEhE,IAAKs8E,GAAwC,KAAzBA,EAAYv9E,SAAiC,CAC7D,IAAIy9E,EAAYxiJ,EACZyiJ,GAAW,EAEf,KAAOD,GAAa,GAAG,CACnBA,IAGA,MAAME,EAAUpkJ,KAAKujJ,cAAcvhJ,OAAOkiJ,EAAW,GACrD,GAAgB,MAAZE,GAA+B,OAAZA,GAAgC,MAAZA,EACvC,MAEY,MAAZA,IACAD,GAAW,GAGf,MAAMl7E,EAAU,GAAgCjpE,KAAKsjJ,cAAcp5E,UAAWg6E,GAC9E,GAAIj7E,GAAWA,IAAY+6E,EAAa,CAChC,GAA4B/6E,GAAWg7E,IACvCv8E,EAAOuB,EAIHk7E,GAAiC,MAAV,QAAX,EAAAz8E,EAAKviC,cAAM,eAAEshC,YACzBiB,EAAOA,EAAKviC,SAGpB,QAKZ,QAAarmC,IAAT4oE,EACA,OAIJ,MAAM28E,EAAgBrkJ,KAAKsjJ,cAAcn2E,gBAAgB3lB,MAAM8d,UAAUtlE,KAAKwjJ,UAAUtpH,MAClFoqH,EAAatkJ,KAAKujJ,cAAcvhJ,OAAOqiJ,EAAcvoJ,MAAOuoJ,EAAcrpJ,QAC1EupJ,EAAYD,EAAWtiJ,OAAO,EAAGhC,KAAKwjJ,UAAUrpH,WAChDqqH,EAAWF,EAAWtiJ,OAAOhC,KAAKwjJ,UAAUrpH,WAC5CsqH,EAAiBF,EAAUtgD,OAAO,QAClCygD,EAAYD,GAAkB,EAAIF,EAAUviJ,OAAOyiJ,GAAkB,GAG3E,GAAIzkJ,KAAK2kJ,iBAAiBjjJ,GACtB,OAKJ,IAAIkjJ,EAAmCl9E,EACvC,KAAOk9E,GACwB,IAAvBA,EAAUn+E,UAIdm+E,EAAYA,EAAUz/G,OAK1B,IAAI8jC,EAAU27E,GAAal9E,EAC3B,OAAa,CAGT,GAFA,GAA6B1nE,KAAK+/I,oBAET,KAArB92E,EAAQxC,SACR,OAAOzmE,KAAK6kJ,uBAAuB57E,EAASy7E,EAAWH,EAAWC,GAGtE,GAAyB,KAArBv7E,EAAQxC,UAA8D,KAArBwC,EAAQxC,SACzD,OAGJ,GAAyB,KAArBwC,EAAQxC,SACR,OAAOzmE,KAAK8kJ,4BAA4B77E,GAG5C,GAAyB,IAArBA,EAAQxC,SACR,OAAOzmE,KAAK+kJ,+BAA+B97E,EAASy7E,EAAWH,EAAWC,GAG9E,GAAyB,KAArBv7E,EAAQxC,SACR,OAAOzmE,KAAKglJ,4BAA4B/7E,EAAQvC,eAAgBg+E,GAGpE,GAAyB,KAArBz7E,EAAQxC,SAAuC,CAC/C,MAAMw+E,EAAgB,IAAIC,GAC1B,GAAIllJ,KAAKmlJ,kBAAkBl8E,OAA0BnqE,EAAWylJ,EAAWC,EAAUS,GACjF,MAAO,CAAEA,iBAIjB,MAAMG,EAAkB,GACpBn8E,EAAO,IAGX,GAAIm8E,GACoC,MAAV,QAAtB,EAAAA,EAAgBjgH,cAAM,eAAEshC,UAAuC,CAC/D,MAAM4+E,EAAiBD,EAAgBjgH,OACvC,GAAIkgH,EAAeC,oBAAsBD,EAAeC,mBAAmBxpJ,MAAQ4F,EAAQ,CACvF,MAAMujJ,EAAgB,IAAIC,GAC1B,GACIllJ,KAAKmlJ,kBACDE,OACiBvmJ,EACjBylJ,EACAC,EACAS,GAGJ,MAAO,CAAEA,kBAMzB,GAAyB,KAArBh8E,EAAQxC,SAAiC,CAIzC,MAAMzmD,EAAShgB,KAAKulJ,uBAAuBt8E,EAASvnE,EAAQgjJ,GAC5D,GAAI1kI,QAAqBlhB,IAAXkhB,EACV,OAAOA,EAIf,GAAyB,KAArBipD,EAAQxC,SACR,OAAOzmE,KAAKwlJ,0BAA0Bv8E,EAASy7E,GAGnD,GAAI75D,GAAiB5hB,GACjB,OAAOjpE,KAAKylJ,0BAA0Bx8E,EAASy7E,EAAWH,EAAWC,GAGzE,GAAyB,KAArBv7E,EAAQxC,SAAkC,CAC1C,GACIwC,EAAQ9jC,QACoB,KAA5B8jC,EAAQ9jC,OAAOshC,WACdwC,EAAQ9jC,OAAO94B,MAChB48D,EAAQ9jC,OAAO6sD,gBACfxtB,GAAUmB,OAAOsD,EAAQ9jC,OAAO6sD,gBAAkBtwF,GAClDA,GAAUunE,EAAQ9jC,OAAO2mD,YAAYhwF,MAGrC,OAGJ,GACImtE,EAAQ9jC,QACoB,KAA5B8jC,EAAQ9jC,OAAOshC,YACbwC,EAAQ9jC,OAAO94B,OAAS48D,EAAQ9jC,OAAO94B,KAAK/O,QACV,IAApC2rE,EAAQ9jC,OAAOzlC,UAAU1E,QACzB0G,GAAUunE,EAAQ9jC,OAAO8mD,MAAMnwF,MAG/B,OAGJ,OAAOkE,KAAK0lJ,yBAAyBz8E,EAASy7E,EAAWH,EAAWC,GAGxE,GAAyB,KAArBv7E,EAAQxC,SACR,OAAOzmE,KAAK0lJ,yBAAyBz8E,EAASy7E,EAAWH,EAAWC,GAGxE,GACyB,KAArBv7E,EAAQxC,UACW,IAAnBwC,EAAQjuE,QACRiuE,EAAQ9jC,QACoB,KAA5B8jC,EAAQ9jC,OAAOshC,SAGf,OAGJ,IAAKwC,EAAQ9jC,OACT,MAGJ8jC,EAAUA,EAAQ9jC,QAS1BwgH,sBAAsBC,GAClB,GAA6B5lJ,KAAK+/I,oBAElC,MAAM8F,EAAqBD,EAAe1mJ,KAEpCk8B,EAAQwqH,EAAexqH,MAC7B,IAAI0qH,EAAiB,GACjBD,EAAmBC,iBACnBA,EAAiBD,EAAmBC,gBAGxC,MAAMC,EAAW3C,GAAmB4C,uBAAuBz2D,WACtDvnE,GAASA,EAAKoT,QAAUA,GAASpT,EAAK89H,iBAAmBA,IAmB9D,GAhBIC,EAAW,IAGX3C,GAAmB4C,uBAAyB5C,GAAmB4C,uBAAuB9/H,OAAO6/H,EAAU,IAG1F,IAAbA,GAEA3C,GAAmB4C,uBAAuBx3F,QAAQ,CAAEpzB,QAAO0qH,mBAG3D1C,GAAmB4C,uBAAuBhrJ,OA9QzB,KAgRjBooJ,GAAmB4C,uBAAuB/rG,MAG1C4rG,EAAmBI,YAGnB,GAFAjmJ,KAAKkmJ,eAAiBN,EAEjBC,EAAmBC,gBAMjB,IAAKF,EAAetqH,oBAAqB,CAC5C,MACM6qH,EAAoB,CAAElB,cADN,IAAIC,IAG1BllJ,KAAKomJ,0BACDP,EAAmBI,YACG,GACP,EACfE,SATJnmJ,KAAK+jJ,4BAeTwB,uBAAuBt8E,EAAmBvnE,EAAgBgjJ,G,MAC9D,IAAKz7E,EAAQ9jC,OACT,OAAO,EAGX,GAAgC,KAA5B8jC,EAAQ9jC,OAAOshC,UAAuCwC,EAAQ9jC,OAAOgnC,QAAUlD,EAAnF,CAKA,GAAgC,KAA5BA,EAAQ9jC,OAAOshC,SAAuC,CAEtD,GACIwC,EAAQ9jC,OAAOA,QACoB,KAAnC8jC,EAAQ9jC,OAAOA,OAAOshC,WACrBwC,EAAQ9jC,OAAOA,OAAOgnC,OACvB3H,GAAUmB,OAAOsD,EAAQ9jC,OAAOA,QAAUzjC,EAE1C,OAKJ,OAAO1B,KAAK8kJ,4BAA4B77E,EAAQ9jC,QAGpD,GAAgC,KAA5B8jC,EAAQ9jC,OAAOshC,SAAyC,CACxD,GAAIwC,EAAQ9jC,OAAOgnC,QAAUlD,EAEzB,OAGJ,MAAM8jD,EAAa9jD,EAAQ9jC,OAAOA,OAClC,GAAI4nF,GAAsC,KAAxBA,EAAWtmD,SAAuC,CAEhE,IAAKwC,EAAQ9jC,OAAOgnC,OAAS3H,GAAUmB,OAAOsD,EAAQ9jC,QAAUzjC,EAC5D,OAGJ,OAAIunE,EAAQ9jC,OAAO94B,OAAS48D,EACjBjpE,KAAKwlJ,0BAA0Bz4B,EAAY23B,GAG/C1kJ,KAAKwlJ,0BAA0Bz4B,EAAY,IAGtD,OAAO,EAGX,GAAgC,KAA5B9jD,EAAQ9jC,OAAOshC,UAA2CwC,IAAYA,EAAQ9jC,OAAOkiC,WACrF,OAAOrnE,KAAKglJ,4BAA4B/7E,EAAQ9jC,OAAOuhC,eAAgBg+E,GAG3E,GAAgC,KAA5Bz7E,EAAQ9jC,OAAOshC,UAAqCwC,IAAYA,EAAQ9jC,OAAO94B,KAAnF,CAIA,GAAgC,KAA5B48D,EAAQ9jC,OAAOshC,UAAuCwC,IAAYA,EAAQ9jC,OAAO94B,KACjF,OAA6B,QAAzB,EAAA48D,EAAQ9jC,OAAO+mD,kBAAU,eAAEz9B,MAAMlgD,GAAMvO,KAAKqmJ,YAAY93I,MACjDvO,KAAKsmJ,+BAA+B5B,EAAWz7E,QAG1D,EAGJ,KAAgC,KAA5BA,EAAQ9jC,OAAOshC,UAAwCwC,IAAYA,EAAQ9jC,OAAO94B,MAItD,KAA5B48D,EAAQ9jC,OAAOshC,UAAoCwC,IAAYA,EAAQ9jC,OAAO94B,MAKlD,KAA5B48D,EAAQ9jC,OAAOshC,UACfjC,GAAUsB,SAASmD,EAAQ9jC,OAAOkmD,iBAAkBpiB,EAAQntE,QAMhC,KAA5BmtE,EAAQ9jC,OAAOshC,UACfjC,GAAUsB,SAASmD,EAAQ9jC,OAAOkmD,iBAAkBpiB,EAAQntE,QAKhE,OAAO,IAGH6oJ,iBAAiBjjJ,G,QACrB,MAAMsf,EAQN,SAAuBtf,EAAgB4iE,GACnC,MAAMiiF,EAAajiF,EAAOq1B,kBAAkBj4F,GAC5C,GAAI6kJ,EAAa,EACb,OAGJ,IAAIvlI,EAAQsjD,EAAOgB,UAAUihF,GAE7B,KAAI7kJ,EAASsf,EAAMllB,OAAS4F,EAASsf,EAAMllB,MAAQklB,EAAMhmB,QAAzD,CAOA,IAAK,IAAIV,EAAIisJ,EAAa,EAAGjsJ,GAAK,EAAGA,IAAK,CACtC,MAAMksJ,EAAYliF,EAAOgB,UAAUhrE,GACnC,GAAI0mB,EAAMllB,QAAU0qJ,EAAU1qJ,MAC1B,MAGJklB,EAAQwlI,EAGZ,OAAI9kJ,GAAUsf,EAAMllB,MACTklB,GAKX,EAAaulI,EAAa,EAAIjiF,EAAOtpE,QAC9BspE,EAAOgB,UAAUihF,EAAa,KAvC3BE,CAAc/kJ,EAAQ1B,KAAKsjJ,cAAcn2E,gBAAgB7I,QACvE,QAAKtjD,GAK4D,QAA1D,EAAc,QAAd,EAAAA,EAAMsrE,gBAAQ,eAAE79B,MAAM/rD,GAAM8hE,GAAUoB,SAASljE,EAAGhB,YAAQ,SAqC7DqjJ,+BACJr9E,EACAg9E,EACAH,EACAC,G,MAKA,OAAQ98E,EAAKpJ,UACT,KAAK,EACD,OAAOt+D,KAAK0mJ,+BAA+B,MAG/C,KAAK,EACD,OAAO1mJ,KAAK0mJ,+BAA+B,QAG/C,KAAK,EACL,KAAK,EACD,OAAO1mJ,KAAKylJ,0BAA0B/9E,EAAMg9E,EAAWH,EAAWC,GAGtE,KAAK,EAA6C,CAC9C,IAAI2B,EAAoBnmJ,KAAK6kJ,uBAAuBn9E,EAAMg9E,EAAWH,EAAWC,GAMhF,OAJK2B,GAAsBA,EAAkBlB,gBACzCkB,EAAoBnmJ,KAAKylJ,0BAA0B/9E,EAAMg9E,EAAWH,EAAWC,IAG5E2B,EAGX,KAAK,EACD,GAAIz+E,EAAKhR,OAASm0B,GAAiBnjB,EAAKhR,OACpC,OAAO12D,KAAKglJ,4BAA4Bt9E,EAAKhR,MAAOguF,GAExD,MAGJ,KAAK,GACD,GAAIh9E,EAAKhR,OAAiC,KAAxBgR,EAAKhR,MAAM+P,SACzB,OAAmB,QAAf,EAAAiB,EAAKwkB,kBAAU,eAAEz9B,MAAMlgD,GAAMvO,KAAKqmJ,YAAY93I,MACvCvO,KAAKsmJ,+BAA+B5B,EAAWh9E,EAAKhR,OAKxD12D,KAAK2mJ,8BAA8BjC,EAAWh9E,EAAKhR,MAAOgR,EAAKwkB,aAS9Em6D,YAAY3+E,GAChB,OAAO1nE,KAAK4mJ,gBAAgBl/E,EAAM,YAG9Bk/E,gBAAgBl/E,EAAqBpqE,GACzC,OAAoC,KAA7BoqE,EAAK3V,WAAW0U,UAAmCiB,EAAK3V,WAAWz0D,QAAUA,EAGhFopJ,+BAA+B9kG,GACnC,MAAMgkG,EAAiB,GAAAvnH,eAAA,OAAsBujB,GAC7CgkG,EAAez4H,KAAO,GAAA6Q,mBAAA,QACtB4nH,EAAej3E,SAAW3uE,KAAK6mJ,cAAc/D,GAAagE,cAAellG,GACzE,MAAMqjG,EAAgB,IAAIC,GAE1B,OADAD,EAAc9/I,IAAIygJ,GACX,CAAEX,iBAGLqB,+BAA+B5B,EAAmBqC,G,MACtD,MAAMt5C,EAqCN,SAAwBqkB,EAA0Bi1B,GAC9C,MAAM/vB,EAAiB,GAAiC+vB,GAAa,GACrE,GAAI/vB,EAAgB,CAChB,MAAM5K,EAAe0F,EAAUzF,eAAe2K,GAC9C,IAAK5K,EACD,OAGJ,MAAM3e,EAAc,IAAI3vF,IACxB,IAAK,MAAMihG,KAAYqN,EAAane,UAAU1H,QAAQoI,IAC9CzI,GAAoB6Y,IACpBmE,GAAmBnE,EAAUtR,GAAuC,GAI5E,OAAOA,EAIX,MAAMif,EnBxWX,SAA4BhlD,GAC/B,IAAIuB,EAAUvB,EAAKviC,OACnB,KAAO8jC,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,SACR,OAAOwC,EAGXA,EAAUA,EAAQ9jC,OAGtB+sB,EAAK,yBmB8VsB,CAAkC60F,GACrD,GAAIr6B,EAAY,CACZ,MAAM60B,EAAc,GAA0B70B,GAC9C,OAAO60B,aAAW,EAAXA,EAAa9zC,aA3DRu5C,CAAehnJ,KAAKypH,WAAYs9B,GACpD,IAAKt5C,EACD,OAGJ,MAAMw5C,EAAiD,MAAV,QAAlB,EAAAF,EAAY5hH,cAAM,eAAEshC,gBAA6C3nE,EACtFmmJ,EAAgB,IAAIC,GAEpBgC,EAAgB,GAAoCH,GA2B1D,OA1BAt5C,EAAYnoF,SAAQ,CAACq1D,EAAQtuE,KACzB,MAAM67D,EAAOsxC,GAA8B7+B,GAC3C,IAAKzS,GAAsB,IAAdA,EAAKlpE,KACd,OAGJ,IAAKkpE,EAAKR,KAAKwkB,WAAWz9B,MAAMlgD,GAAMvO,KAAKqmJ,YAAY93I,KAEnD,OAGJ,MAAM2tF,EAAQvhB,EAAOy+B,kBACrB,IAAqB,IAAjBld,EAAMlhG,SAAgBkhG,EAAMztC,MAAMlgD,GAAMA,EAAEm5D,OAASw/E,MAKnD,EAA8BH,EAAYzpJ,MAAO+O,GAAO,CACxD,MAAMgvB,EAAWr7B,KAAKmnJ,oBAAoBzC,EAAWqC,EAAa7+E,EAAKR,KAAKr7D,KAAK/O,OACjF0C,KAAKonJ,WAAW/6I,EAAMsuE,EAAQosE,EAAYzpJ,MAAO2nJ,EAAe,CAC5DgC,qBACAjqH,MAAO,CAAE3B,kBAKd,CAAE4pH,iBA+BL0B,8BACJjC,EACAqC,EACA76D,G,QAEA,MAAM8qC,EAAiB,GAAiC+vB,GAAa,GACrE,IAAK/vB,EACD,OAGJ,MAAM5K,EAAepsH,KAAKypH,WAAW4C,eAAe2K,GACpD,IAAK5K,EACD,OAGJ,MAAM3e,EAAc,IAAI3vF,IACxB,IAAK,IAAIxjB,EAAI,EAAGA,EAAI8xH,EAAane,UAAU1H,QAAQoI,IAAI3zG,OAAQV,IAAK,CAChE,MAAMykH,EAAWqN,EAAane,UAAU1H,QAAQoI,IAAIr0G,GAChD4rG,GAAoB6Y,IACpBmE,GAAmBnE,EAAUtR,GAAuC,GAI5E,MAAM45C,EAA+E,QAAhE,EAAAn7D,aAAU,EAAVA,EAAYz9B,MAAMlgD,GAAMvO,KAAK4mJ,gBAAgBr4I,EAAG,yBAAgB,SAC/E+4I,EAA6E,QAA/D,EAAAp7D,aAAU,EAAVA,EAAYz9B,MAAMlgD,GAAMvO,KAAK4mJ,gBAAgBr4I,EAAG,wBAAe,SAE7E02I,EAAgB,IAAIC,GA0E1B,OAxEAz3C,EAAYnoF,SAAQ,CAACq1D,EAAQtuE,KACzB,IAAI67D,EAAOsxC,GAA8B7+B,GACzC,GAAIzS,GAAsB,IAAdA,EAAKlpE,MACT,EAA8B+nJ,EAAYzpJ,MAAO+O,GAAO,CACxD,MAAM4qH,EAAej3H,KAAKypH,WAAWyN,sBAAsBhvD,GAC3D,IAAK+uD,EACD,OAGJ,IAAItX,EAAaxZ,GAAgB8wB,IAAiBryB,GAAU6L,gBAAgBwmB,GAO5E,GALI,GAA6B5qH,KAE7BszG,GAAa,IAGZ7Y,GAAWmwB,KAAkBtX,EAC9B,OAGJ,GAAIA,EAAY,CAGZ,MAAMlG,EAAa9+B,EAAO2+B,uBACtBG,EAAWz+G,OAAS,GAA4B,IAAvBy+G,EAAW,GAAGz6G,OACvCkpE,EAAOuxC,EAAW,IAI1B,MAAM8tC,EACFzgD,GAAWmwB,IAAiBpyB,GAAamP,eAAeijB,GAItDuwB,EACF1gD,GAAWmwB,IACXpyB,GAAaoP,cAAcgjB,IAClB,sBAAT5qH,EAEJ,GAAIg7I,IAAiBE,GAA0BD,IAAgBE,EAC3D,OAGJ,MAAMC,EAAkBznJ,KAAK0nJ,sBAAsBt7B,EAAane,UAAW/lC,GAE3E,IAAI9wC,EAEAA,EADAw9C,GAAW50E,KAAKyjJ,WACT,GAAGgE,SAQH,GAAGA,OANSznJ,KAAK2nJ,2BACpBv7B,EAAane,UACbs5C,EACA5nC,EACAz3C,KAKR,MAAM7sC,EAAWr7B,KAAKmnJ,oBAAoBzC,EAAWqC,EAAa3vH,GAElEp3B,KAAKonJ,WAAW/6I,EAAMsuE,EAAQosE,EAAYzpJ,MAAO2nJ,EAAe,CAE5DgC,oBAAoB,EACpBjqH,MAAO,CACH3rB,OAAQrR,KAAKumB,SAASqhI,QAAU,GAAA3pH,iBAAA,aAA2Bn/B,EAC3Du8B,kBAOb,CAAE4pH,iBAGLkC,oBAAoBzC,EAAmBh9E,EAA6BtwC,GACxE,MAAMywH,EACY,MAAdngF,aAAI,EAAJA,EAAMjB,UACAzmE,KAAKwjJ,UAAUrpH,UAAYuqH,EAAU1pJ,OAAS0sE,EAAKpqE,MAAMtC,OACzDgF,KAAKwjJ,UAAUrpH,UAEnB1tB,EAAe,CACjB3Q,MAAO,CAAEo+B,KAAMl6B,KAAKwjJ,UAAUtpH,KAAMC,UAAWn6B,KAAKwjJ,UAAUrpH,UAAYuqH,EAAU1pJ,QACpFe,IAAK,CAAEm+B,KAAMl6B,KAAKwjJ,UAAUtpH,KAAMC,UAAW0tH,IAGjD,OAAO,GAAAtuH,SAAA,QAAiB9sB,EAAO2qB,GAG3BswH,sBAAsBz5C,EAAsB/lC,GAChD,MAAMR,EAAOQ,EAAKR,KAElB,IAAIogF,EACAlzE,GAAW50E,KAAKyjJ,WAEhBqE,GAAqB,EACd75C,EAAU1H,QAAQv7B,aAAe9C,EAAK8C,aAE7C88E,GAAqB,GAGzB,MAAMC,EAAanzE,GAAW50E,KAAKyjJ,WAC7B,OACA3kJ,EAEAkpJ,EAAYtgF,EAAKrkC,WAClBvf,KAAI,CAACV,EAAO+G,KACT,IAAIo1H,EAAc,GACK,IAAnBn8H,EAAMk7C,SACNihF,GAAe,IACW,IAAnBn8H,EAAMk7C,WACbihF,GAAe,MAGfn8H,EAAM/W,OACNkzI,GAAen8H,EAAM/W,KAAK/O,OAK9B,MAAM2qJ,EAAsBjoJ,KAAKypH,WAAWy+B,8BAA8BxgF,EAAMv9C,GAYhF,OAXI89H,IACA1I,GAAe,KAAO,GAA+B0I,EAAqBF,IAG1E3kI,EAAM8vE,eACNqsD,GAAe0I,EAAsB,MAAQ,IAG7C1I,IADoBuI,WAAuBK,EAAgB/kI,EAAM8vE,eACpC,MAAQ,GAA+B9vE,EAAM8vE,aAAc60D,IAGvFxI,GAAgBn8H,EAAM/W,MAA2B,IAAnB+W,EAAMk7C,SAIlCihF,EAHI,OAKd/jJ,KAAK,MAEV,IAAIisJ,EAAkB//E,EAAKr7D,KAAK/O,MAAQ,IAAM0qJ,EAAY,IAU1D,OARItgF,EAAK0lB,qBACLq6D,GAAmB,OAAS,GAA+B//E,EAAK0lB,qBAAsB26D,GAC/ErgF,EAAK0qB,4BACZq1D,GACI,OACA,GAA+B//E,EAAK0qB,0BAA0BhF,qBAAsB26D,IAGrFN,EAEP,SAASU,EAAgBzgF,GACrB,OAAQA,EAAKjB,UACT,KAAK,GACL,KAAK,GACD,OAAO,EAEX,KAAK,GACD,OAAwD,IAA7B,GAAnBiB,EAAK1mD,MAAMkoD,OAEvB,KAAK,GACD,OAAOxB,EAAKR,QAAQngD,MAAMohI,GAE9B,KAAK,GACD,OAAOA,EAAgBzgF,EAAK3V,YAEhC,KAAK,EACD,OAAOo2F,EAAgBzgF,EAAKhB,iBAAmByhF,EAAgBzgF,EAAKqlB,iBAExE,QACI,OAAO,IAKf46D,2BACJ15C,EACA+F,EACA2L,EACAz3C,GAEA,IAAIkgF,EAAK,OAET,GAC6C,IAAzCn6C,EAAU1H,QAAQgI,YAAYvzG,QAC9BirG,GAAQgI,EAAU1H,QAAQgI,YAAY,KACgB,oBAAtDN,EAAU1H,QAAQgI,YAAY,GAAGhI,QAAQwG,SAGzC,OADAq7C,GAAMpoJ,KAAKumB,SAASqhI,QAAU,YAAc,OACrCQ,EAGX,GAAoC,IAAhClgF,EAAKR,KAAKrkC,WAAWroC,OAErB,OADAotJ,GAAMpoJ,KAAKumB,SAASqhI,QAAU,YAAc,OACrCQ,EAGX,MAAM/kH,EAeN,SAAuBA,GACnB,MAAMglH,EAAyD,GAE/D,IAAIC,GAAc,EAClB,IAAK,MAAMC,KAAallH,EAChBklH,EAAUl8I,MACVg8I,EAAQhtJ,KAAK,CAACktJ,EAAWD,IAG7BA,EAC2B,IAAvBC,EAAUjqF,UACa,IAAvBiqF,EAAUjqF,SAGlB,OAAO+pF,EA7BQG,CAAcx0C,EAAiB9rC,EAAKR,KAAKrkC,WAAa6kC,EAAKR,KAAKrkC,WAAWzlC,MAAM,IASpG,MAR6B,aAAzBsqE,EAAKR,KAAKr7D,KAAK/O,QACf8qJ,GAAM,WAGNlgF,EAAKR,KAAKkvB,UACVwxD,GAAM,UAGNzoC,EACOyoC,EAAK,WAAWlgF,EAAKR,KAAKr7D,KAAK/O,QAGnC8qJ,EAAK,WAAWlgF,EAAKR,KAAKr7D,KAAK/O,SAAS+lC,EAAWvf,KAmB1D,SAAyBykI,G,MACrB,MAAMl8I,EAAwB,QAAjB,EAAAk8I,EAAU,GAAGl8I,YAAI,eAAE/O,MAChC,OAA8B,IAA1BirJ,EAAU,GAAGjqF,SACN,IAAIjyD,IAGe,IAA1Bk8I,EAAU,GAAGjqF,SACN,KAAKjyD,IAGTk8I,EAAU,GAAK,GAAGl8I,KAAQA,IAASA,KA7BiC7Q,KAAK,SAiChFwpJ,4BACJyD,EACA/D,GAEA,MAAMj3C,EAAc,IAAI3vF,IAClBmnI,EAAgB,IAAIC,GAC1B,IAAIwD,EAAqC,GAErCC,EAAW3oJ,KAAKypH,WAAW8D,QAAQk7B,GAwCvC,OAtCIE,IACAA,EAAW3oJ,KAAKypH,WAAWm/B,6BAA6BD,GAExDvsC,GAAiBusC,GAAW7iD,IAGxB,GAAIG,GAFJH,EAAU9lG,KAAKypH,WAAWm/B,6BAA6B9iD,IAGnDod,GAAmBpd,EAAS2H,EAAuCjJ,GAASvmG,WAAW6nG,SACpF,GAAIM,GAASN,IVqf7B,SAA6B8H,EAAwBH,GAIpDG,EAAWF,cACXE,EAAWF,aAAapoF,SAAQ,CAACq1D,EAAQtuE,KACrCohG,EAAYtoG,IAAIkH,EAAMsuE,MAI9BizB,EAAWpD,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KAC/BohG,EAAYtoG,IAAIkH,EAAMsuE,MU/fVkuE,CAAoB/iD,EAAS2H,QAC1B,GAAI3G,GAAWhB,IAAYiB,GAAqBjB,GAAU,CAC7D,MAAMgjD,EAAgB9oJ,KAAKypH,WAAWyI,eAAeu2B,EAAc,YAC/DK,GAAiB5iD,GAAoB4iD,IACrC5lC,GAAmB4lC,EAAer7C,GAAuC,QAE1E,GAAInI,GAAeQ,GAAU,CAChC,MAAMijD,EAAc/oJ,KAAKypH,WAAWyI,eAAeu2B,EAAc,UAC7DM,GAAe7iD,GAAoB6iD,IACnC7lC,GAAmB6lC,EAAat7C,EAAajJ,GAASvmG,WAAW6nG,IAIzE9lG,KAAKgpJ,0BACDv7C,GACA,KAAM,GACNi3C,GACiB,EACjBz+C,GAAQH,GAAWA,OAAUhnG,EAC7BmmJ,SAMP0D,GAAYjjD,GAAUijD,IAAa5iD,GAAU4iD,MAC9CD,EAAmB1oJ,KAAKipJ,oBAAoBR,EAAcE,IAGvD,CAAE1D,gBAAeyD,oBAGpBO,oBAAoBR,EAA8BE,G,MACtD,IAAI1/E,EAAsCw/E,EACtCS,EAA4BP,EAC5BQ,EAC0B,KAA1BV,EAAahiF,SAA0CgiF,aAAY,EAAZA,EAAcphF,WAAW/pE,WAAQwB,EAG5F,KAAOmqE,IACsB,IAArBA,EAAQxC,UAAwD,KAArBwC,EAAQxC,UAEnDwC,EAAUA,EAAQvC,oBAGQ5nE,IAAtBqqJ,IACAA,EACyB,KAArBlgF,EAAQxC,UAAmE,QAAzB,EAAAwC,aAAO,EAAPA,EAAS5B,WAAW/pE,aAAK,QAAS,KAG5F2rE,OAAUnqE,GAGVmqE,IACAigF,EAAUlpJ,KAAKypH,WAAW8D,QAAQtkD,QAGlBnqE,IAAZoqJ,GAA0BxjD,GAAUwjD,IAAanjD,GAAUmjD,OAMvE,MAAMR,EAAqC,GAC3C,GAAIQ,IAAYxjD,GAAUwjD,KAAanjD,GAAUmjD,IAAYjgF,EAAS,CAClE,MAAMmgF,EAAqBrjC,GAA2BmjC,GAGtDR,EAAiBW,gBAAkBD,EAAmB79E,MAAM/qE,GAAY,WAANA,IAEzC,KAArByoE,EAAQxC,SACRiiF,EAAiBY,oBAAsBrgF,EAAQ5B,WAAW/pE,OAC9B,KAArB2rE,EAAQxC,UAAmCy/B,GAAoBgjD,IAE1C,KAArBjgF,EAAQxC,UAAmC0/B,GAAgB+iD,MADlER,EAAiBY,oBAAsBJ,EAAQ3iD,QAAQl6F,MAK3Dq8I,EAAiBS,kBAAoBA,EAGzC,OAAOT,EAGHhD,yBACJ6D,EACA7E,EACAH,EACAC,GAGA,OAAOxkJ,KAAKylJ,0BAA0B8D,EAAW7E,EAAWH,EAAWC,GAGnEiB,0BACJ8D,EACA7E,EACAH,EACAC,G,YAEA,MAAMgF,EAAkBxpJ,KAAKypJ,iBAAiBF,GAI9C,IAAKC,GAA0C,KAAvBD,EAAU9iF,SAC9B,OAKJ,GAC8B,MAAV,QAAhB,EAAA8iF,EAAUpkH,cAAM,eAAEshC,WAClB8iF,EAAUpkH,UAAkC,QAAvB,EAAAokH,EAAUpkH,OAAOt/B,cAAM,eAAEs/B,QAE9C,OAGJ,MAAM8/G,EAAgB,IAAIC,GACpBiB,EAAoB,CAAElB,iBAG5B,GAA4B,OAAxBV,EAAU3mJ,OAAO,GACjB,OAAOuoJ,EAkCX,GA9BAnmJ,KAAK0pJ,4BACDH,EACA7E,EACAH,EACAC,GACe,EACfS,GAIJjlJ,KAAK2pJ,YAAYJ,EAAW7E,EAAWO,GAGvCjlJ,KAAK4pJ,sBAAsB/G,GAASI,WAAWjjJ,KAAKwpH,SAASzsC,eAAgB2nE,GAAW5gI,KAAK89B,IACzF,GAAIqjG,EAAc7gI,IAAIw9B,GAClB,OAEJ,MAAMgkG,EAAiB,GAAAvnH,eAAA,OAAsBujB,GAC7CgkG,EAAez4H,KAAO,GAAA6Q,mBAAA,QACtB4nH,EAAej3E,SAAW3uE,KAAK6mJ,cAAc/D,GAAa3gH,QAASyf,GACnEqjG,EAAc9/I,IAAIygJ,MAKjBlB,EAAUlvF,WAAW,MAASx1D,KAAKkmJ,gBACpClmJ,KAAKomJ,0BAA0B1B,EA3/BnB,IA2/B+C1kJ,KAAKumB,SAASsjI,SAAU1D,GAI5D,IAAvBoD,EAAU9iF,SACV,GAC2B,IAAvB8iF,EAAUjrF,UACgB,MAAV,QAAhB,EAAAirF,EAAUpkH,cAAM,eAAEshC,UAElBzmE,KAAK8pJ,8BACDP,EAAUpkH,YACIrmC,OACDA,EACbmmJ,QAED,GAA2B,IAAvBsE,EAAUjrF,UACbirF,EAAUpkH,QAAwC,IAA9BokH,EAAUpkH,OAAOshC,SAAuC,CAC5E,MAAMsjF,EAAiE,QAA1C,EAAA/pJ,KAAKypH,WAAWugC,gBAAgBT,UAAU,eAAEvqJ,KACrE+qJ,GACA/pJ,KAAKiqJ,+BACDF,EACAxF,EACAG,EACAF,EACAS,GAOpB,GAAIuE,EAAiB,CAEjB,MAAMU,EAAYX,EAAUpkH,OAAQA,OAEpCnlC,KAAKmqJ,gBAAgBD,EAAWX,GAAWjkI,SAAStD,IAC5CijI,EAAc7gI,IAAIpC,IAQtBhiB,KAAKoqJ,sBAAsBpoI,EAAK,GAAAgc,mBAAA,SAA6B0mH,EAAWO,EAAe,CACnFt2E,SAAU3uE,KAAK6mJ,cAAc/D,GAAauH,aAAcroI,GACxDsoI,WAAYnH,QAKxB,OAAOgD,EAGHsD,iBAAiB/hF,GACrB,MAAM6iF,EAAc7iF,EAAKviC,OACzB,OACIolH,GACyB,IAAzBA,EAAY9jF,UACqB,IAAjC8jF,EAAY3jF,kBACZ2jF,EAAYplH,QACoB,KAAhColH,EAAYplH,OAAOshC,UACnB8jF,EAAYplH,OAAOgiC,gBAC4B,KAA/CojF,EAAYplH,OAAOgiC,eAAeV,SAIlCijF,4BACJH,EACA7E,EACAH,EACAC,EACAgG,EACAvF,GAGA,MACMwF,EAAWpxD,GACbkwD,EAFW,GAAwBvpJ,KAAKwjJ,UAAWxjJ,KAAKsjJ,cAAcn2E,gBAAgB3lB,OAItFxnD,KAAKsjJ,cAAcn2E,gBAAgB7I,QAGvC,IAAKmmF,EACD,OAGJ,MAAMC,EAAgB1qJ,KAAKypH,WAAWkhC,qBAClCF,EAASlxD,SACTkxD,EAAS3wD,YACT2wD,EAAS1wD,cAGb,GAAI2wD,EAAe,CAEf,MAAME,EAAc3lF,GAChBylF,EAAcnxD,SAAS7yB,eAAe5qE,MAAQ4uJ,EAAcnxD,SAAS7yB,eAAe1rE,OACpFgF,KAAKsjJ,cAAcn2E,gBAAgB3lB,OAGnCkd,GAAiB1kE,KAAKwjJ,UAAWoH,GAAe,IAC3CJ,GACDxqJ,KAAK6qJ,oBAAoBH,EAAehG,EAAWO,GAIvDjlJ,KAAK8qJ,6BAA6BJ,EAAenG,EAAWG,EAAWF,EAAUS,KAKrF6F,6BACJJ,EACAnG,EACAG,EACAF,EACAS,GAEAyF,EAAcK,WAAWzlI,SAAS0lI,IAC9B,IAAKA,EAAUC,YACX,OAGJ,MAAMjsJ,EAAOgsJ,EAAUhsJ,KACjBqjH,EAAarjH,EAAKunG,QAAQljE,WAAWxnC,QAAQmvJ,EAAUC,aAE7D,GAAI5oC,EAAa,EACb,OAGJ,MAAML,EAAYhjH,EAAKunG,QAAQljE,WAAWg/E,GAAYrjH,KACtDgB,KAAKiqJ,+BAA+BjoC,EAAWuiC,EAAWG,EAAWF,EAAUS,MAK/EgF,+BACJjrJ,EACAulJ,EACAG,EACAF,EACAS,GAEA,MAAMiG,EAAalrJ,KAAKmrJ,4BAA4B5G,GACpDvkJ,KAAKorJ,8BAA8BpsJ,GAAMsmB,SAAS8rC,IAC9C,GAAIwzC,GAAUqH,UAAU76C,EAAG,OAAQ,CAC/B,MAAM9zD,EAAQggJ,GAAkBlsF,EAAG85F,EAAWG,qBACfvsJ,IAA3BosJ,EAAWI,YACXtrJ,KAAKoqJ,sBAAsB9sJ,EAAO,GAAA0gC,mBAAA,SAA6B0mH,EAAWO,EAAe,CACrFt2E,SAAU3uE,KAAK6mJ,cAAc/D,GAAauH,aAAcj5F,EAAEs6C,gBAG9D1rG,KAAKurJ,+BACDjuJ,EAAM0E,OAAO,EAAG1E,EAAMtC,OAAS,GAC/BkwJ,EAAWI,YACX9G,EACA0G,EAAWG,eACXpG,OAOZuG,6BAA6BjC,EAAsBkC,GACvD,MAAM/jF,EAiBN,SAA+B6hF,GAE3B,GAA2B,KAAvBA,EAAU9iF,SACV,OAAO8iF,EAGX,IAAItgF,EAAiCsgF,EACrC,KAAOtgF,GAAgC,KAArBA,EAAQxC,UAA8D,KAArBwC,EAAQxC,UAEvE,GADAwC,EAAUA,EAAQ9jC,QACb8jC,EACD,OAIR,OAAOA,EA/BEyiF,CAAsBnC,GACnC,OAAK7hF,EAIEA,EAAK9+C,QAAQkiG,SAASrxD,GACF,KAAnBA,EAAMgN,WAAiDglF,aAAU,EAAVA,EAAYrnI,IAAIq1C,EAAM60B,cAAc1xE,KACpF,GAG0B,KAAjC68C,EAAM60B,cAAc7nB,SACb,CAAChN,EAAM60B,cAAcpnB,QAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,KAG1D,KAZA,GAiCP4vJ,8BAA8BpsJ,GAClC,MAAM2pB,EAAsB,GAQ5B,OANAyzF,GAAiBp9G,GAAO8mG,IAChBK,GAAgBL,IAAYmZ,GAAcnZ,IAC1Cn9E,EAAOttB,KAAKyqG,MAIbn9E,EAGHgjI,mBAAmBp2B,G,MAEvB,IAAI3wB,GAAUqH,UAAUspB,EAAU,SAAW3wB,GAAUqH,UAAUspB,EAAU,aAChC,KAAb,QAAtB,EAAAA,EAASntB,qBAAa,eAAEptG,QACxB,OAAOu6H,EAASntB,cAAc,GAKtC,MAAMh2C,EAASwuD,GAAmB2U,EAAU,eAC5C,GAAInjE,aAAM,EAANA,EAAQuoB,OAAOw+B,kBAAmB,CAClC,MAAMnxC,EAAc5V,EAAOuoB,OAAOy+B,kBAAkB,GACpD,GAAIzzB,GAAsB3d,IAAgBA,EAAYojD,SAAU,CAC5D,MAAMwgC,EAAc5rJ,KAAKypH,WAAWyN,sBAAsBlvD,GAC1D,GAAI4jF,GAAe9kD,GAAW8kD,IAA0D,IAA1CA,EAAYrlD,QAAQljE,WAAWroC,OACzE,OAAO4wJ,EAAYrlD,QAAQljE,WAAW,GAAGrkC,OAQjDmrJ,gBAAgBD,EAAsB2B,G,sBAC1C,GAA0C,KAAtC3B,EAAU/iF,eAAeV,SAEzB,MAAO,GAGX,MAAM8uD,EAAWv1H,KAAKypH,WAAW8D,QAAQ28B,EAAU/iF,gBACnD,IAAKouD,IAAapvB,GAAgBovB,GAC9B,MAAO,GAIX,MAAMhD,EAAUvyH,KAAK2rJ,mBAAmBp2B,GACxC,GAAIhD,EAAS,CACT,MAAMltG,EAAiB,GAgBvB,GAdArlB,KAAKorJ,8BAA8B74B,GAASjtG,SAAS8rC,KAE5CwzC,GAAUqH,UAAU76C,EAAG,QACvBwzC,GAAUqH,UAAU76C,EAAG,QACvBwzC,GAAUqH,UAAU76C,EAAG,SACvBwzC,GAAUqH,UAAU76C,EAAG,UACvBwzC,GAAU4L,YAAYp/C,KAK3B/rC,EAAKhqB,KAAKiiJ,GAAkBlsF,EAAGpxD,KAAKsjJ,cAAcn2E,gBAAgB2+E,qCAGlEzmI,EAAKrqB,OAAS,EACd,OAAOqqB,EAKf,MAAMk7H,EAAmF,QAApE,EAAAvgJ,KAAKypH,WAAWmC,2BAA2Bs+B,EAAU/iF,uBAAe,QAAI,GACvFa,EAAcu4E,EAAavlJ,OAAS,EAAIulJ,EAAa,QAAKzhJ,EAChE,IACKkpE,GACqB,IAArBA,EAAYhpE,MAA0D,IAArBgpE,EAAYhpE,KAE9D,MAAO,GAGX,GAAIgpE,EAAYj5D,OAAS/O,KAAKyjJ,UAC1B,MAAO,GAGX,IAAInD,EAA0B4J,EAAU/iF,eACxC,GAAIa,EAAYN,KAAM,CAClB,MAAMqkF,EAAY,GAAsC/jF,EAAYN,OAIhB,QAAhD,KAAmC44E,UAAa,eAAEzkF,aACL,QAA7C,KAAmCkwF,UAAU,eAAElwF,YAE/CykF,EAAeyL,GAIvB,MAAM1D,EAAUxI,GAAwBmM,gBACpC9B,EAAU/iF,eACVnnE,KAAKypH,WACLzpH,KAAK+/I,mBACLO,GAGEj7H,EAAoB,IAAIyrB,IAC9B,IAAK,MAAM9wB,KAAUqoI,EAAS,CAC1B,MAAM3gF,EAC0B,MAAV,QAAlB,EAAA1nD,EAAO0nD,KAAKviC,cAAM,eAAEshC,UAA4CzmD,EAAO0nD,KAAKviC,OAASnlB,EAAO0nD,KAEhG,GACyB,KAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,WACQ,KAAV,QAAX,EAAAiB,EAAKviC,cAAM,eAAEshC,UACf,CACE,GAA6C,KAAzCiB,EAAKviC,OAAO4nD,gBAAgBtmB,SAAuC,CACnE,MAAMwlF,EAAavkF,EAAKviC,OAAO4nD,gBAC/B,IAAK,MAAMtzB,KAASwyF,EAAWrjI,QAAQigC,QAClC5kD,GAAqB,KAAfA,EAAEwiE,WACkB,CAC3B,MAAMzkD,EAAMhiB,KAAKsjJ,cAAclsH,KAC1Bp1B,OAAOy3D,EAAM60B,cAAcxyF,MAAO29D,EAAM60B,cAActzF,QACtD4K,OACDoc,EAAIhnB,OAAS,GAAGqqB,EAAKO,IAAI5D,IAIrC,GAA6C,IAAzC0lD,EAAKviC,OAAO4nD,gBAAgBtmB,SAAiC,CAC7D,MAAM3lE,EAAO4mE,EAAKviC,OAAO4nD,gBACnB/tF,EAAOgB,KAAKypH,WAAW8D,QAAQzsH,EAAK4lE,gBAC1C,IAAK1nE,IAASknG,GAAoBlnG,KAAU4lG,GAAUqH,UAAUjtG,EAAM,QAClE,SAGJ,IAAK,MAAM/B,KAAO6D,EAAKpB,UAAW,CAC9B,MAAMsiB,EAA4B,QAAtB,EAAQ,QAAR,EAAA/kB,EAAIoP,YAAI,eAAE/O,MAAMsI,cAAM,QAAI,GAChCsmJ,EAAQlsJ,KAAKsjJ,cAAcn2E,gBAAgB2+E,gCAC7C9pI,EAAIhnB,OAAS,GACbqqB,EAAKO,IAAI,GAAGsmI,IAAQlqI,IAAMkqI,OAM1C,GACyB,MAAV,QAAX,EAAAxkF,EAAKviC,cAAM,eAAEshC,WACgB,IAA7BiB,EAAKviC,OAAOpC,MAAM/nC,QACgC,IAAlD0sE,EAAKviC,OAAOpC,MAAM,GAAG+jC,gBAAgBL,WACpCjC,GAAUuB,cAAc2B,EAAKviC,OAAQ0mH,GACxC,CACE,MAAMM,EAAgBzkF,EAAKviC,OAAOpC,MAAM,GAClC/gB,EAAMhiB,KAAKsjJ,cAAclsH,KAC1Bp1B,OAAOmqJ,EAAcrlF,gBAAgBhrE,MAAOqwJ,EAAcrlF,gBAAgB9rE,QAC1E4K,OACDoc,EAAIhnB,OAAS,GAAGqqB,EAAKO,IAAI5D,IAIrC,MAAO,IAAIqD,GAGPw/H,uBACJ0E,EACA7E,EACAH,EACAC,G,UAEA,IAAIz3B,EAAoCw8B,EAAUpkH,OAElD,IAAK4nF,EACD,OAGJ,MAAMk4B,EAAgB,IAAIC,GAG1B,GAAIr6D,GAAiBkiC,GAAa,CAC9B,MAAMq/B,EAAqBpsJ,KAAKypH,WAAWugC,gBAAgBj9B,GAC3D,GAAIq/B,GAAsBltC,GAAqBktC,EAAmBptJ,MAQ9D,OAPAgB,KAAKiqJ,+BACDmC,EAAmBptJ,KACnBulJ,EACAG,EACAF,EACAS,GAEG,CAAEA,iBAGb,GAA2B,KAAvBsE,EAAU9iF,WAAqD,QAAhB,EAAA8iF,EAAUpkH,cAAM,eAAEA,QAAQ,CACzE,MAAMknH,EAAe9C,EAAUpkH,OAAOA,OAItC,IAAImnH,EAYJ,GAT8B,KAA1BD,EAAa5lF,UACb4lF,EAAa/9D,gBAAkBi7D,EAAUpkH,QACZ,MAAV,QAAnB,EAAAknH,EAAalnH,cAAM,eAAEshC,UAErB6lF,EAAYD,EAAalnH,OACI,MAAtBknH,aAAY,EAAZA,EAAc5lF,YACrB6lF,EAAYD,GAGZC,GACItsJ,KAAKmlJ,kBAAkBmH,EAAW/C,EAAWhF,EAAWC,EAAUS,GAClE,MAAO,CAAEA,kBAMzB,GAA4B,IAAxBl4B,EAAWtmD,SAAqC,CAChD,GAA4B,KAAxBsmD,EAAWtmD,UAAyCsmD,EAAW7lD,QAAQlsE,OAAS,EAChF,OAIJ,GADA+xH,EAAaA,EAAW5nF,QACnB4nF,EACD,OAIR,GAA4B,IAAxBA,EAAWtmD,UAAkE,MAAV,QAAjB,EAAAsmD,EAAW5nF,cAAM,eAAEshC,WACrE,IACKzmE,KAAK8pJ,8BACF/8B,EAAW5nF,OACY,KAAvBokH,EAAU9iF,SAAoC89E,EAAY,GAC1DC,EACAS,GAEN,CACE,MAAM5/H,EAAOrlB,KAAKmqJ,gBAAgBp9B,EAAW5nF,OAAQokH,GAC/C2B,EAAalrJ,KAAKmrJ,4BAA4B5G,GAEpD,IAAK,MAAMviI,KAAOqD,EAAM,CACpB,MAAMknI,EAAgB,iBAAiBv1G,KAAKh1B,GAC5C,GAA2B,KAAvBunI,EAAU9iF,UAAsC8lF,EAIpD,GAAIA,EAAe,CACf,MAAMC,EAAkBxqI,EAAIhgB,OAAO,EAAGggB,EAAIhnB,OAAS,GAEnDgF,KAAKurJ,+BACDiB,EACAtB,EAAWI,YACX9G,EACA0G,EAAWG,eACXpG,EACA9B,SAGJnjJ,KAAKoqJ,sBAAsBpoI,EAAK,GAAAgc,mBAAA,SAA6B0mH,EAAWO,EAAe,CACnFt2E,SAAU3uE,KAAK6mJ,cAAc/D,GAAauH,aAAcroI,GACxDsoI,WAAYnH,KAKxB,GAA2B,IAAvB8B,EAAc3lJ,KACd,YAGL,CACH,EAAoC,KAAvBiqJ,EAAU9iF,UAEvB,MAAM/kE,EAAS,GAAwB1B,KAAKwjJ,UAAWxjJ,KAAKsjJ,cAAcn2E,gBAAgB3lB,OACpFgjG,EAAaz9B,EAAWjxH,MAAQ4F,GAAUA,EAAS8iE,GAAUmB,OAAO4jF,GAC1EvpJ,KAAK0pJ,4BAA4BH,EAAW7E,EAAWH,EAAWC,EAAUgG,EAAYvF,GAG5F,MAAO,CAAEA,iBAGLE,kBACJE,EACA5D,EACA8C,EACAC,EACAS,G,MAEA,MAAMmH,EAAqBpsJ,KAAKypH,WAAWugC,gBAAgB3E,GAC3D,IAAK+G,EACD,OAAO,EAKX,GAAI,GAA4BA,EAAmB1kF,MAAQ,GAA4B29E,GACnF,OAAO,EAGX,IAAIoH,EAA0B,GAQ9B,GANArwC,GAAiBgwC,EAAmBptJ,MAAO8mG,IACnCK,GAAgBL,IAAYlB,GAAU0L,iBAAiBxK,IACvD2mD,EAAWpxJ,KAAKyqG,MAIE,IAAtB2mD,EAAWzxJ,OACX,OAAO,EAGX,MAAMqqB,EAAOrlB,KAAKwrJ,6BACdnG,EACA5D,EAAa,IAAI3wG,IAAI,CAAkB,QAAjB,EAAA2wG,EAAWt8G,cAAM,eAAEvoB,UAAO9d,GAGpD2tJ,EAAazsJ,KAAK0sJ,qBAAqBD,EAAYpnI,GAEnD,MAAM6lI,EAAalrJ,KAAKmrJ,4BAA4B5G,GAC9CoI,EAAW,IAAI77G,IAAIzrB,GAuBzB,OArBAonI,EAAWnnI,SAASsnI,IAChB56B,GAA4BhyH,KAAKypH,WAAYmjC,GAA+B,GAAMtnI,SAAQ,CAAC7I,EAAGuF,KAEtF2qI,EAASvoI,IAAIpC,IAAQijI,EAAc7gI,IAAIpC,KAI3C2qI,EAAS/mI,IAAI5D,GAEbhiB,KAAKurJ,+BACDvpI,EACAkpI,EAAaA,EAAWI,iBAAcxsJ,EACtC0lJ,EACA0G,EACMA,EAAWG,eACXrrJ,KAAKsjJ,cAAcn2E,gBAAgB2+E,gCACzC7G,WAKL,EAGHyH,qBAAqB/xC,EAAoBt1F,GAC7C,MAAMwnI,EAAWlyC,EAAMmQ,SAAS9rH,IAC5B,MAAM4pB,EAAUopG,GAA4BhyH,KAAKypH,WAAYzqH,GAA0B,GAEvF,IAAK,IAAImrB,EAAQ,EAAGA,EAAQ9E,EAAKrqB,OAAQmvB,IACrC,IAAKvB,EAAQxE,IAAIiB,EAAK8E,IAClB,MAAO,GAIf,MAAO,CAACnrB,MAGZ,OAAwB,IAApB6tJ,EAAS7xJ,OAEF2/G,EAGJkyC,EAOH1B,4BAA4B5G,GAChC,GAAIvkJ,KAAK6jJ,qBAAsB,CAC3B,MAAMiJ,EAAkBvI,EAAUxjJ,YAAY,KACxCgsJ,EAAkBxI,EAAUxjJ,YAAY,KAE9C,GAAI+rJ,EAAkBC,EAClB,MAAO,CACH1B,eAAgB,IAChBC,YAAa/G,EAAUviJ,OAAO8qJ,EAAkB,IAEjD,GAAIC,EAAkBD,EACzB,MAAO,CAAEzB,eAAgB,IAAKC,YAAa/G,EAAUviJ,OAAO+qJ,EAAkB,IAMtF,MAAO,CAAEzB,iBADWxsJ,EACEusJ,eAFCrrJ,KAAKsjJ,cAAcn2E,gBAAgB2+E,iCAKtDhC,8BACJI,EACA3F,EACAC,EACAS,GAEA,IAAKiF,EACD,OAAO,EAGX,MAAM30B,EAAWv1H,KAAKypH,WAAW8D,QAAQ28B,EAAU/iF,gBACnD,IAAKouD,IAAapvB,GAAgBovB,GAC9B,OAAO,EAIX,IAAK3wB,GAAU0L,iBAAiBilB,GAC5B,OAAO,EAGX,MAAM3sG,EAAUopG,GAA4BhyH,KAAKypH,WAAY8L,GAA8B,GACrF21B,EAAa3G,EAAYvkJ,KAAKmrJ,4BAA4B5G,QAAazlJ,EAc7E,OAZA8pB,EAAQtD,SAAQ,CAAC7I,EAAGuF,KAChBhiB,KAAKurJ,+BACDvpI,EACAkpI,EAAaA,EAAWI,iBAAcxsJ,EACtC0lJ,EACA0G,EACMA,EAAWG,eACXrrJ,KAAKsjJ,cAAcn2E,gBAAgB2+E,gCACzC7G,OAID,EAGHsG,+BACJjuJ,EACA0vJ,EACAxI,EACA6G,EACApG,EACAnhH,GAEA,GAAI,EAA8BkpH,GAAe,GAAI1vJ,GAAQ,CACzD,MAAM2vJ,EAAkB,GAAG5B,IAAiB/tJ,IAAQ+tJ,IACpD,GAAIpG,EAAc7gI,IAAI6oI,GAClB,OAGJ,MAAMrH,EAAiB,GAAAvnH,eAAA,OAAsB4uH,GAE7CrH,EAAez4H,KAAO,GAAA6Q,mBAAA,SACtB4nH,EAAej3E,SAAW3uE,KAAK6mJ,cAAc/D,GAAauH,aAAc4C,GACxE,IAAIC,EAAgBltJ,KAAKwjJ,UAAUrpH,eACfr7B,IAAhBkuJ,IACAE,GAAiBF,EAAYhyJ,OAAS,GAK1C,IAAImyJ,EAAcntJ,KAAKwjJ,UAAUrpH,eAChBr7B,IAAb0lJ,GACIA,EAAShvF,WAAW61F,IACpB8B,IAIR,MAAM1gJ,EAAe,CACjB3Q,MAAO,CAAEo+B,KAAMl6B,KAAKwjJ,UAAUtpH,KAAMC,UAAW+yH,GAC/CnxJ,IAAK,CAAEm+B,KAAMl6B,KAAKwjJ,UAAUtpH,KAAMC,UAAWgzH,IAEjDvH,EAAevqH,SAAW,GAAA9B,SAAA,QAAiB9sB,EAAOwgJ,GAClDrH,EAAe9hH,OAASA,EAExBmhH,EAAc9/I,IAAIygJ,IAIlBQ,0BACJ1B,EACA0I,EACAvD,EACA1D,G,UAEA,IACKA,EAAkBlB,gBAClBjlJ,KAAKqzE,eAAeg6E,wBACpBrtJ,KAAKumB,SAAS+mI,WAIf,OAGJ,MAAMC,EAAkBvtJ,KAAK4jJ,gBAAgB4J,sBAEvCC,EAAe,IAAIC,GACrB1tJ,KAAKwpH,SACLxpH,KAAKupH,gBACLvpH,KAAKsjJ,cACLtjJ,KAAKwjJ,UACL2C,EAAkBlB,cAClBsI,EACA,CAAEI,WAAY3tJ,KAAK4jJ,gBAAgB+J,WAAY9D,aAG7CxB,EAA8B,GAC9BpsI,EAAmC,QAA5B,EAAAjc,KAAK4jJ,gBAAgBgK,eAAO,eAAErpJ,IAAImgJ,GAC3CzoI,GAAQyoI,EAAU1pJ,OAAS,IAAMmrJ,EAAkBlB,cAAc7gI,IAAIsgI,IACrE2D,EAAQhtJ,QAAQoyJ,EAAaI,+BAA+BnJ,EAAWzoI,EAAMjc,KAAK+/I,qBAGtFsI,EAAQhtJ,QACDoyJ,EAAaK,wBAAwBpJ,EAAW0I,OAAiBtuJ,EAAWkB,KAAK+/I,qBAGxF,MAAMgO,EAAWN,EAAaO,cAExBC,EAAmB,IAAI3tE,GAC7B,IAAK,MAAMtgE,KAAUqoI,EACbroI,EAAO26D,OACP36E,KAAKonJ,WAAWpnI,EAAO3T,KAAM2T,EAAO26D,OAAQ+pE,EAAWyB,EAAkBlB,cAAe,CACpFiJ,iBAAkBluI,EAAO2B,OACzBwsI,gBAAiBnuI,EAAOmsD,MACxBnvC,MAAO,CACH3B,SAAUr7B,KAAKmnJ,oBAAoBzC,OAAW5lJ,EAAWkhB,EAAOouI,eAChE9yH,oBAAqBtb,EAAOgd,SAIpCh9B,KAAKoqJ,sBACW,QAAZ,EAAApqI,EAAOmsD,aAAK,QAAInsD,EAAO3T,KACZ,QAAX,EAAA2T,EAAOmN,YAAI,QAAI,GAAA6Q,mBAAA,OACf0mH,EACAyB,EAAkBlB,cAClB,CACIa,eAAgB9lJ,KAAKquJ,mBAAmBruI,EAAO3T,KAAM2T,EAAO2B,OAAQ3B,EAAOmsD,OAC3EnvC,MAAO,CACH3B,SAAUr7B,KAAKmnJ,oBAAoBzC,OAAW5lJ,EAAWkhB,EAAOouI,eAChE9yH,oBAAqBtb,EAAOgd,SAOhDmpH,EAAkBmI,eAAiB,CAC/BC,UAAWR,EAASQ,UACpBC,cAAeT,EAASU,UAExBC,eAAgBX,EAASW,eACzBC,cAAeZ,EAASY,cACxBC,oBAAqBb,EAASa,oBAE9BC,UAAWxG,EAAQrtJ,OACnB8zJ,YAAaf,EAASe,YACtBC,WAAYhB,EAASgB,WACrBC,iBAAkBjB,EAASiB,iBAE3BC,iBAAkBhB,EAAiBztE,6BAInCglE,0BACJ0J,EACAxK,GAGA,GAAIwK,EAAeljF,iBACf,OAKJ,MAAMrE,EAAa,GAA+BunF,EAAep9I,QACjE,IAAK61D,EACD,OAGJ,MAAMs9E,EAAgB,IAAIC,GAEpBv1I,EACFg4D,EAAWkD,cAAc7vE,OAAS,EAAI2sE,EAAWkD,cAAclD,EAAWkD,cAAc7vE,OAAS,GAAK,GAEpGm0J,EAAgBnvJ,KAAK0jJ,cAAc/zI,GAyBzC,OAxBIw/I,GACAnvJ,KAAKgpJ,0BACDmG,EAAc1hD,aACd,CAAC9yB,EAAQtuE,IAGDsuE,EAAOy+B,kBAAkB3qD,MAAMlgD,KtBj1D9B,IsBi1D4DA,EtBj1DrEvP,UsBk1DSkwJ,EAAe5jF,QAAQC,MAAM6jF,GAAQA,EAAI/iJ,KAAK/O,QAAU+O,KAGjEq4I,GACiB,OACC5lJ,EAClBmmJ,GAKRt9E,EAAWwD,gBAAgB7lD,SAAS+pI,IAC3BH,EAAe5jF,QAAQC,MAAM6jF,GAAQA,EAAI/iJ,KAAK/O,QAAU+xJ,EAAWhjJ,QACpErM,KAAKoqJ,sBAAsBiF,EAAWhjJ,KAAM,GAAA2xB,mBAAA,OAA2B0mH,EAAWO,MAInF,CAAEA,iBAGL2E,sBAAsB0F,EAAuBC,GACjD,OAAOD,EAAYzmG,QAAQjH,IACnB2tG,GACO,EAA8BA,EAAc3tG,KAOvDipG,oBAAoBH,EAAkChG,EAAmBO,GAC7E,MAAMuK,EAAa,IAAI1xI,IAEvB4sI,EAAcK,WAAWzlI,SAAS0lI,IAC9BhrJ,KAAKyvJ,yBAAyBzE,EAAUhsJ,KAAMwwJ,MAIlD9E,EAAcnxD,SAAS75F,UAAW4lB,SAASroB,IACnCA,EAAIoP,MACJmjJ,EAAW5sI,OAAO3lB,EAAIoP,KAAK/O,UAKnCkyJ,EAAWlqI,SAASoqI,IAChB,GAAI,EAA8BhL,EAAWgL,GAAU,CACnD,MAAMt0H,EAAQs0H,EAAU,IACxB,GAAIzK,EAAc7gI,IAAIgX,GAClB,OAGJ,MAAMwqH,EAAiB,GAAAvnH,eAAA,OAAsBjD,GAC7CwqH,EAAez4H,KAAO,GAAA6Q,mBAAA,SAEtB,MAAM6nH,EAAyC,CAC3C8J,cAAe3vJ,KAAKqjJ,eACpBxnF,SAAU77D,KAAKyjJ,UACfhnH,SAAUz8B,KAAKwjJ,WAEnBoC,EAAe1mJ,KAAO2mJ,EACtBD,EAAej3E,SAAW3uE,KAAK6mJ,cAAc/D,GAAa8M,eAAgBF,GAE1EzK,EAAc9/I,IAAIygJ,OAKtB6J,yBAAyBzwJ,EAAoB6wJ,GACjD7wJ,EAAKunG,QAAQljE,WAAW/d,SAASlC,IACzBA,EAAM/W,OAAS+W,EAAM2vF,oBAGhB,GAAyC3vF,EAAM/W,OAChDwjJ,EAAS1qJ,IAAIie,EAAM/W,KAAM+W,EAAM/W,UAMvCs9I,YAAYjiF,EAAiBg9E,EAAmBO,GACpD,IAAIh8E,EAAiCvB,EAErC,KAAOuB,GAAS,CAEZ,IAAIpB,EAAQq8B,GAAgBj7B,GAC5B,GAAIpB,EAAO,CACP,KAAOA,GACH7nE,KAAKgpJ,0BACDnhF,EAAM4lC,aACN,KAAM,GACNi3C,GACiB,OACC5lJ,EAClBmmJ,GAEJp9E,EAAQA,EAAM1iC,OAIlB,GAAyB,KAArB8jC,EAAQxC,SAAkC,CAC1C,MAAMwnC,EAAYjuG,KAAKypH,WAAW4C,eAAepjD,GAC7CglC,GAAa/H,GAAoB+H,EAAUA,YAC3CA,EAAUA,UAAU1H,QAAQoI,IAAIrpF,SAAQ,CAACisF,EAAWpnF,KAC5C+7E,GAAoBqL,IACpBvxG,KAAKgpJ,0BACDz3C,EAAUhL,QAAQiE,QACjB7vB,KACQA,EAAOs9B,iBAKLt9B,EACFy+B,kBACA3qD,MAAMyZ,GAAuB,IAAdA,EAAKlpE,QAE7B0lJ,GACiB,OACC5lJ,EAClBmmJ,MAMpB,MAGJh8E,EAAUA,EAAQ9jC,QAIlB6jH,0BACJv7C,EACAqiD,EACApL,EACAqL,EACAC,EACA/K,GAEAx3C,EAAYnoF,SAAQ,CAACq1D,EAAQtuE,OAKrBsuE,EAAOkzB,sBACNlzB,EAAOy+B,kBAAkB3qD,MAAMlgD,IAAM0hJ,OlBnjEtB/nF,EkBmjEsC35D,ElBnjEnBstD,EkBmjEsB77D,KAAKyjJ,UlBljEtE19D,GAAmB7d,IAIkB,QAA9B,EAAAoyB,GAAoBpyB,EAAKR,aAAK,eAAE7L,YAAaA,EAIjDqM,EAAKn5D,OAAS8sD,EATlB,IAAyBqM,EAAmBrM,E,OkBojExBi0F,EAAsBn1E,EAAQtuE,KAGpC44I,EAAc7gI,IAAI/X,IACnBrM,KAAKonJ,WAAW/6I,EAAMsuE,EAAQ+pE,EAAWO,EAAe,CACpD+K,qBACA/I,mBAAoB8I,QAOhC3I,WACJ/6I,EACAsuE,EACA+pE,EACAO,EACAnhH,G,UAIA,GAAI62C,EAAOk+B,yBACP,OAGJ,IAAIq3C,EAAc12C,GAA8B7+B,GAChD,IAAKu1E,EAAa,CACd,MAAM3P,EAAe5lE,EAAOy+B,kBACxBmnC,EAAavlJ,OAAS,IACtBk1J,EAAc3P,EAAaA,EAAavlJ,OAAS,IAIzD,GAAIk1J,EAAa,CACb,IAAIC,EAA+B,GAAAnyH,mBAAA,SAGnC,GADAkyH,EAAclwJ,KAAKypH,WAAW4D,wBAAwB6iC,GAAqC,GACvFA,IACAC,EAAWnwJ,KAAKowJ,kCAAkCF,GAMzB,IAArBA,EAAYlxJ,MACZ8kC,EAAOksH,oBACP9pD,GAAoBpiE,EAAOksH,qBAC3BprD,GAAU4L,YAAY1sE,EAAOksH,qBACI,KAAV,QAAvB,EAAAE,EAAYxoF,KAAKviC,cAAM,eAAEshC,YAEzB0pF,EAAW,GAAAnyH,mBAAA,YAKXh+B,KAAKkmJ,gBAAgB,CACrB,MAAML,EAAqB7lJ,KAAKkmJ,eAAehnJ,KAE/C,GAAI2mJ,EAAmBI,cAAgB55I,IAASw5I,EAAmBC,eAAgB,CAG/E,MAAM9mJ,EAAOgB,KAAKypH,WAAWqK,yBAAyBn5C,GACtD,GAAI37E,EAAM,CACN,IAAIqxJ,EAEAC,EACAltH,EAEJ,OAAQ8sH,EAAYlxJ,MAChB,KAAK,EACL,KAAK,EACL,KAAK,EAA2B,CAC5B,IAAIi+I,GAAkB,EACtB,GAAIj+I,GAAQwlG,GAASgB,eAAexmG,GAAO,CACvC,MAAMioG,EAAgBD,GAAiBhoG,GACnCioG,GACIA,EAAc56F,OAASA,IACvB4wI,GAAkB,GAI9BoT,EAAahkJ,EAAO,KAAOrM,KAAKypH,WAAW4K,UAAUr1H,EAAMi+I,GAC3D,MAGJ,KAAK,EAA0B,CAC3B,MAAMzpC,EACF1vE,EAAOksH,qBAAuBlpD,GAAW9nG,IAAS+nG,GAAqB/nG,IACjEgB,KAAKypH,WAAW8mC,4BACZzsH,EAAOksH,mBACPhxJ,GAEJA,EACV,GAAIw0G,EACA,GACImM,GAAWnM,IACX1vE,EAAOksH,oBACP7pD,GAAgBriE,EAAOksH,oBACzB,CACE,MAAMQ,EACFxwJ,KAAKypH,WAAWgnC,0BACZj9C,GACwB,IACvB9O,GAAYvyF,SACrBk+I,EACIhkJ,EACA,KACArM,KAAKypH,WAAW4K,UAAUm8B,GAAoC,GAC9D,cACJF,EACIxsH,EAAOksH,mBAAmBzpD,QAAQwG,SAAW,IAAM1gG,EAAO,mBACvD06F,GAAqByM,IAE5B68C,EAAarO,GACTxuC,EACAxzG,KAAKypH,WACiB,IAG1B6mC,EAAYI,GAAiCl9C,EAAajK,UAAU,MAEpE8mD,EACIhkJ,EACA,KACArM,KAAKypH,WAAW4K,UAAU7gB,GAAoC,GAC9D1M,GAAW0M,KACX88C,EAAYI,GAAiCl9C,KAIzD,MAGJ,KAAK,EACL,KAAK,EACD68C,EAAa,SAAWhkJ,EAAO,KAC/B,MAGJ,KAAK,EAED,GADAgkJ,EAAahkJ,EACT6jJ,EAAYnhJ,KAAM,CAClB,MAAMogJ,EAAgBnvJ,KAAK0jJ,cAAcwM,EAAYnhJ,MACjDogJ,IACA/rH,EAAgB+rH,EAAc9xD,WAGtC,MAGJ,QACIgzD,EAAahkJ,EAKrB,GACyB,IAArB6jJ,EAAYlxJ,MACZkxJ,EAAYn0D,eACZm0D,EAAY7yD,UAEZj6D,EAAgB8sH,EAAY7yD,eACzB,GAAI+I,GAASpnG,GAChBokC,EAAgBk0F,GAAmBt4H,EAAMkxJ,EAAalwJ,KAAK2jJ,oBACxD,GAAIz9C,GAAoBlnG,GAC3BokC,EAAgBq0F,GAAkBz4H,EAAMkxJ,EAAalwJ,KAAK2jJ,oBACvD,GAAI78C,GAAW9nG,GAAO,CACzB,MAAMw0G,EAAe1vE,EAAOksH,mBACtBhwJ,KAAKypH,WAAW8mC,4BAA4BzsH,EAAOksH,mBAAoBhxJ,GACvEA,EACFw0G,GAAgB1M,GAAW0M,KAC3BpwE,EAAgB8+G,GACZ1uC,EACAxzG,KAAK2jJ,cACL3jJ,KAAKypH,kBAGV,GAAI1iB,GAAqB/nG,GAAO,CACnC,MAAMw0G,EAAe1vE,EAAOksH,mBACtBhwJ,KAAKypH,WAAW8mC,4BAA4BzsH,EAAOksH,mBAAoBhxJ,GACvEA,EACFw0G,GAAgBzM,GAAqByM,KACrCpwE,EAAgBo/G,GACZhvC,EACAxzG,KAAK2jJ,cACL3jJ,KAAKypH,YACPl+C,MAAMysD,GAAQA,UAEI,KAAjBk4B,aAAW,EAAXA,EAAalxJ,MAEpBokC,EAAgB0zF,GACZo5B,EACAlwJ,KAAK2jJ,cACL3jJ,KAAKypH,YAEe,KAAjBymC,aAAW,EAAXA,EAAalxJ,QAKpBokC,EAAgBy0F,GAFsD,QAFxD,EAAAl9C,EACTy+B,kBACA7tC,MAAMh9D,GAAiB,IAAXA,EAAEvP,QAAuCuP,EAAE8uF,mBAAU,QAClE6yD,EACuClwJ,KAAK2jJ,gBAEpD,IAAK2M,IAAcltH,EAEf,OAEJ,GAAIpjC,KAAKumB,SAASlV,SAAW,GAAAysB,WAAA,SAAqB,CAC9C,IAAI6yH,EAAiB,GACjBL,IACAK,GAAkB,cAAgBL,EAAY,WAE9CA,GAAaltH,IACbutH,GAAkB,SAElBvtH,IACAutH,GAAkBvzD,GAA2Bh6D,IAGjDutH,EAAiBA,EAAejzD,UAEhC19F,KAAKkmJ,eAAe9iH,cAAgB,CAChCjW,KAAM,GAAA2Q,WAAA,SACNxgC,MAAOqzJ,QAER,GAAI3wJ,KAAKumB,SAASlV,SAAW,GAAAysB,WAAA,UAAsB,CACtD,IAAI8yH,EAAkB,GAClBN,IACAM,GAAmBN,EAAY,MAE/BA,GAAaltH,IACbwtH,GAAmB,MAEnBxtH,IACAwtH,GAAmBpzD,GAA4Bp6D,IAGnDwtH,EAAkBA,EAAgBlzD,UAElC19F,KAAKkmJ,eAAe9iH,cAAgB,CAChCjW,KAAM,GAAA2Q,WAAA,UACNxgC,MAAOszJ,QAGX1+F,EAAK,4BAA4BlyD,KAAKumB,SAASlV,YAOnE,MAAMy0I,EAAiBhiH,EAAOoqH,iBACxBluJ,KAAKquJ,mBAAmBhiJ,EAAMy3B,EAAOoqH,iBAAkBpqH,EAAOqqH,sBAC9DrvJ,EAENkB,KAAKoqJ,sBAA4C,QAAtB,EAAAtmH,EAAOqqH,uBAAe,QAAI9hJ,EAAM8jJ,EAAUzL,EAAWO,EAAe,CAC3Fa,iBACAmB,mBAAoBnjH,EAAOmjH,mBAC3BjqH,MAAO8G,EAAO9G,aAKlB,GADwB29C,EAAO4+B,qBACV,CACjB,MAAM42C,EAA+B,GAAAnyH,mBAAA,SACrCh+B,KAAKoqJ,sBAAsB/9I,EAAM8jJ,EAAUzL,EAAWO,EAAe,CACjEgC,mBAAoBnjH,EAAOmjH,mBAC3BjqH,MAAO8G,EAAO9G,SAMtBqxH,mBAAmB1hF,EAAoBV,EAAqB4kF,GAChE,MAAM/K,ED12EP,SAA2Bz5I,EAAchP,EAAe8uE,GAC3D,IAAI/0C,EAWJ,OAPIA,EAHC/5B,EAGM,QAAQA,YAAegP,IAFvB,UAAUA,IAKjB8/D,IACA/0C,EAAO,GAAGA,QAAW+0C,KAGlB/0C,EC81EoB05H,CAAkBnkF,EAAYV,EAAY4kF,GAEjE,OAAI7wJ,KAAKumB,SAASlV,SAAW,GAAAysB,WAAA,SAClB,WAAWgoH,YACX9lJ,KAAKumB,SAASlV,SAAW,GAAAysB,WAAA,UACzBgoH,OAEP5zF,EAAK,4BAA4BlyD,KAAKumB,SAASlV,UAI/C+4I,sBACJ/9I,EACA8jJ,EACAtnG,EACAo8F,EACAnhH,G,UAIA,KADmBA,aAAM,EAANA,EAAQgiH,kBAAwB,EAA8Bj9F,EAAQx8C,GAErF,OAGJ,GAAI44I,EAAc7gI,IAAI/X,EAAM64I,GAAc6L,uBAAwBZ,EAAUrsH,aAAM,EAANA,EAAQgiH,gBAChF,OAGJ,MAAMF,EAAiB,GAAAvnH,eAAA,OAAsBhyB,GAC7Cu5I,EAAez4H,KAAOgjI,EAEtB,MAAMtK,EAAyC,CAC3C8J,cAAe3vJ,KAAKqjJ,eACpBxnF,SAAU77D,KAAKyjJ,UACfhnH,SAAUz8B,KAAKwjJ,WAkCnB,IA/BI1/G,aAAM,EAANA,EAAQmjH,sBACRpB,EAAmBoB,oBAAqB,GAG5CrB,EAAe1mJ,KAAO2mJ,GAElB/hH,aAAM,EAANA,EAAQ6qC,YAAY7qC,aAAM,EAANA,EAAQwmH,aAC5B1E,EAAej3E,SAAW7qC,EAAO6qC,SACjCi3E,EAAe9hH,OAASA,EAAOwmH,aACxBxmH,aAAM,EAANA,EAAQgiH,iBAEfF,EAAej3E,SAAW3uE,KAAK6mJ,cAAc/D,GAAakO,WAAY3kJ,EAAMy3B,EAAOgiH,gBACnFD,EAAmBC,eAAiBhiH,EAAOgiH,eAC3CF,EAAe9hH,OAnuEK,eAouEbqsH,IAAa,GAAAnyH,mBAAA,WAEpB4nH,EAAej3E,SAAW3uE,KAAK6mJ,cAAc/D,GAAatgH,WAAYn2B,GAC/D,GAA6BA,GAEpCu5I,EAAej3E,SAAW3uE,KAAK6mJ,cAAc/D,GAAamO,aAAc5kJ,GACtD,KAAXw8C,GAAiB,GAAyCx8C,GAIjEu5I,EAAej3E,SAAW3uE,KAAK6mJ,cAAc/D,GAAaoO,cAAe7kJ,GAEzEu5I,EAAej3E,SAAW3uE,KAAK6mJ,cAAc/D,GAAaqO,aAAc9kJ,GAG5Ew5I,EAAmBI,YAAc55I,EAE7BrM,KAAKumB,SAASlV,SAAW,GAAAysB,WAAA,SAAqB,CAC9C,IAAI6yH,EAAiB,IAEjB7sH,aAAM,EAANA,EAAQgiH,kBACR6K,GAAkB7sH,EAAOgiH,gBACrBhiH,EAAOusH,YAAcvsH,EAAOV,iBAE5ButH,GAAkB,UAItB7sH,aAAM,EAANA,EAAQusH,cACRM,GAAkB,cAAgB7sH,EAAOusH,WAAa,YAGtDvsH,aAAM,EAANA,EAAQV,iBACRutH,GAAkB,QAClBA,GAAkBvzD,GAA2Bt5D,EAAOV,gBAGxDutH,EAAiBA,EAAejzD,UAE5BizD,IACA/K,EAAexiH,cAAgB,CAC3BjW,KAAM,GAAA2Q,WAAA,SACNxgC,MAAOqzJ,SAGZ,GAAI3wJ,KAAKumB,SAASlV,SAAW,GAAAysB,WAAA,UAAsB,CACtD,IAAI8yH,EAAkB,IAElB9sH,aAAM,EAANA,EAAQgiH,kBACR8K,GAAmB9sH,EAAOgiH,gBACtBhiH,EAAOusH,YAAcvsH,EAAOV,iBAE5BwtH,GAAmB,UAIvB9sH,aAAM,EAANA,EAAQusH,cACRO,GAAmB9sH,EAAOusH,WAAa,OAGvCvsH,aAAM,EAANA,EAAQV,iBACRwtH,GAAmB,KAAOpzD,GAA4B15D,EAAOV,gBAGjEwtH,EAAkBA,EAAgBlzD,UAE9BkzD,IACAhL,EAAexiH,cAAgB,CAC3BjW,KAAM,GAAA2Q,WAAA,UACNxgC,MAAOszJ,SAIf1+F,EAAK,4BAA4BlyD,KAAKumB,SAASlV,WAGlC,QAAb,EAAAyyB,aAAM,EAANA,EAAQ9G,aAAK,eAAE3rB,UACfu0I,EAAewL,iBAAmBttH,EAAO9G,MAAM3rB,SAGlC,QAAb,EAAAyyB,aAAM,EAANA,EAAQ9G,aAAK,eAAE3B,YACfuqH,EAAevqH,SAAWyI,EAAO9G,MAAM3B,WAG1B,QAAb,EAAAyI,aAAM,EAANA,EAAQ9G,aAAK,eAAE1B,uBACfsqH,EAAetqH,oBAAsBwI,EAAO9G,MAAM1B,oBAAoBxX,KAAKutI,IAC5C,CACvB5kJ,MAAO,CACH3Q,MAAO,CAAEo+B,KAAMm3H,EAAG5kJ,MAAM3Q,MAAMo+B,KAAMC,UAAWk3H,EAAG5kJ,MAAM3Q,MAAMq+B,WAC9Dp+B,IAAK,CAAEm+B,KAAMm3H,EAAG5kJ,MAAM1Q,IAAIm+B,KAAMC,UAAWk3H,EAAG5kJ,MAAM1Q,IAAIo+B,YAE5DoC,QAAS80H,EAAG5kF,oBAKhBzsE,KAAKkmJ,iBACQlmJ,KAAKkmJ,eAAehnJ,KACxB4mJ,iBAAmBD,EAAmBC,iBAC3C9lJ,KAAKkmJ,eAAe5qH,oBAAsBsqH,EAAetqH,qBAKrE2pH,EAAc9/I,IAAIygJ,GAGd0L,oBAAoBjlJ,EAAcy5I,GACtC,OAAO1C,GAAmB4C,uBAAuBz2D,WAC5CvnE,GAASA,EAAKoT,QAAU/uB,GAAQ2b,EAAK89H,iBAAmBA,IAIzDe,cAAc0K,EAA4BllJ,EAAcy5I,EAAiB,IAC7E,MAAM0L,EAAkBxxJ,KAAKsxJ,oBAAoBjlJ,EAAMy5I,GAuBvD,OAnBI0L,GAAmB,IACfD,IAAiBzO,GAAakO,WAC9BO,EAAezO,GAAa2O,iBACrBF,IAAiBzO,GAAa4O,iBACrCH,EAAezO,GAAa6O,uBAE5BJ,IAAiBzO,GAAa3gH,SAC9BovH,IAAiBzO,GAAaqO,cAC9BI,IAAiBzO,GAAaoO,eAC9BK,IAAiBzO,GAAamO,eAE9BM,EAAezO,GAAa8O,wBAQ7B5xJ,KAAK6xJ,eAAeN,EAAc,GAAK,IAAMvxJ,KAAK6xJ,eAAeL,EAAiB,GAAK,IAAMnlJ,EAGhGwlJ,eAAelxJ,EAAamxJ,GAChC,MAAMC,EAAe,IAAIl3J,WAAW,GAEpC,IAAImlB,EAAS,GACb,IAAK,IAAI1lB,EAAI,EAAGA,EAAIw3J,EAAQx3J,IAAK,CAE7B,IAAI03J,EAAQlvJ,KAAK+J,MAAMlM,EAAM,IACzBqxJ,EAAQ,IACRA,EAAQ,GAEZhyI,EAAS7e,OAAOuC,aAAasuJ,EAAQD,GAAgB/xI,EACrDrf,EAAMmC,KAAK+J,MAAMlM,EAAM,IAG3B,OAAOqf,EAGHowI,kCAAkCpoF,GACtC,MAAMiqF,EAAsBjyJ,KAAKypH,WAAW4D,wBAAwBrlD,GAAqC,GACzG,IAAKiqF,EACD,OAAO,GAAAj0H,mBAAA,SAGX,OAAQi0H,EAAoBjzJ,MACxB,KAAK,EACD,MAA6C,UAAtCizJ,EAAoBC,cACrB,GAAAl0H,mBAAA,MACA,GAAAA,mBAAA,SAEV,KAAK,EACD,OAAO,GAAAA,mBAAA,SAEX,KAAK,EACD,OAAOi0H,EAAoBE,YAAcF,EAAoBt2D,QACvD,GAAA39D,mBAAA,SACA,GAAAA,mBAAA,SAEV,KAAK,EACD,GAAIh+B,KAAKoyJ,+BAA+BH,GAAsB,CAC1D,MAAMz+C,EAAexzG,KAAKypH,WAAW4oC,kBAAkBJ,EAAoBvqF,MAC3E,GAAI8rC,GAAgBmM,GAAWnM,EAAa8+C,eACxC,OAAO,GAAAt0H,mBAAA,SAGf,OAAOi0H,EAAoB7mC,SAAW,GAAAptF,mBAAA,OAA4B,GAAAA,mBAAA,SAGtE,KAAK,EACL,KAAK,EACD,OAAO,GAAAA,mBAAA,MAEX,KAAK,EACD,OAAO,GAAAA,mBAAA,QAIX8mH,4BAA4Bp9E,GAChC,MAAMmM,EAA6C,CAC/CpE,YAAa/H,EAAK+H,YAClB+O,eAAgB9W,EAAK8W,iBAAkB,EACvC9O,UAAWhI,EAAKgI,UAAU5rD,KAAK6rD,GAASA,EAAKryE,QAC7C21E,gBAAiB,IAGfs/E,EAAcvyJ,KAAKupH,gBAAgB9zC,yBACrCz1E,KAAKyjJ,UACLzjJ,KAAKwpH,SACL31C,GAGEoxE,EAAgB,IAAIC,GAI1B,IACKx9E,EAAK8W,gBACN9W,EAAKviC,QACoB,KAAzBuiC,EAAKviC,OAAOshC,UACZiB,EAAKviC,OAAOqtH,qBACd,CACE,MAAM5wG,EAAU,SACVgkG,EAAiB,GAAAvnH,eAAA,OAAsBujB,GAC7CgkG,EAAez4H,KAAO,GAAA6Q,mBAAA,QACtB4nH,EAAej3E,SAAW3uE,KAAK6mJ,cAAc/D,GAAa3gH,QAASyf,GACnEqjG,EAAc9/I,IAAIygJ,GActB,OAXA2M,EAAYjtI,SAASmtI,IACjB,GAAIxN,EAAc7gI,IAAIquI,GAClB,OAGJ,MAAM7M,EAAiB,GAAAvnH,eAAA,OAAsBo0H,GAC7C7M,EAAez4H,KAAO,GAAA6Q,mBAAA,OACtB4nH,EAAej3E,SAAW3uE,KAAK6mJ,cAAc/D,GAAa4O,iBAAkBe,GAC5ExN,EAAc9/I,IAAIygJ,MAGf,CAAEX,iBAGLmN,+BAA+BlqF,GAGnC,OAAOA,EAAKkjD,UAAYljD,EAAKR,KAAKwkB,WAAWlxF,OAAS,GAIvD,SAAS01J,GAAiCl9C,GAG7C,MAAMnwE,EAAamwE,EAAajN,QAAQljE,WAAWwlB,QAC/C,CAACr2C,EAAG2X,MAAW3X,EAAEsgG,YAA0B,IAAV3oF,GAA0B,SAAX3X,EAAEnG,QAEtD,OACImnG,EAAajN,QAAQwG,SACrB,IACA1pE,EACKvf,KAAKtR,GACiB,IAAfA,EAAE8rD,SACK,IAAM9rD,EAAEnG,KACO,IAAfmG,EAAE8rD,SACF,KAAO9rD,EAAEnG,KAEbmG,EAAEnG,OAEZ7Q,KAAK,MACV,IAp+EW,GAAAwqJ,uBAAiD,GAw+E7D,MAAMd,GAAb,cACY,KAAAwN,aAA+D,IAAI50I,IAE3E,WACI,OAAO9d,KAAK0yJ,aAAapzJ,KAG7B6F,IAAI7H,GACA,MAAMq1J,EAAW3yJ,KAAK0yJ,aAAanuJ,IAAIjH,EAAM89B,OACxCu3H,EAEMj3J,MAAMuD,QAAQ0zJ,GACrBA,EAASt3J,KAAKiC,GAEd0C,KAAK0yJ,aAAavtJ,IAAI7H,EAAM89B,MAAO,CAACu3H,EAAUr1J,IAJ9C0C,KAAK0yJ,aAAavtJ,IAAI7H,EAAM89B,MAAO99B,GAQ3CiH,IAAIyd,GACA,OAAOhiB,KAAK0yJ,aAAanuJ,IAAIyd,GAGjCoC,IACIgX,EACAszB,EAKAvhC,EACAylI,GAEA,MAAMD,EAAW3yJ,KAAK0yJ,aAAanuJ,IAAI62B,GACvC,QAAKu3H,KAIDjkG,GACOA,EAAUikG,EAAUxlI,EAAMylI,IAKzC/qI,QACI7nB,KAAK0yJ,aAAa7qI,QAGtBjF,OAAOZ,GACH,OAAOhiB,KAAK0yJ,aAAa9vI,OAAOZ,GAGpC6wI,U,MACI,MAAM9vH,EAA0B,GAUhC,OATiB,QAAjB,EAAA/iC,KAAK0yJ,oBAAY,SAAEptI,SAAShoB,IACpB5B,MAAMuD,QAAQ3B,GACdA,EAAMgoB,SAAS0C,IACX+a,EAAM1nC,KAAK2sB,MAGf+a,EAAM1nC,KAAKiC,MAGZylC,EAGX,8BACI4vH,EACAxlI,EACA24H,G,MAEA,QAAK6M,IAIAj3J,MAAMuD,QAAQ0zJ,KAGNA,EAASpnF,MAAM7oE,GAAMA,EAAEyqB,OAASA,GAAQzqB,EAAExD,KAAKouJ,aAAexH,IAFhE6M,EAASxlI,OAASA,IAAqB,QAAb,EAAAwlI,EAASzzJ,YAAI,eAAEouJ,cAAexH,GAMvE,oCACI6M,EACAG,EACAC,G,MAEA,IAAKJ,EACD,OAAO,EAGX,GAAIj3J,MAAMuD,QAAQ0zJ,IACd,GAAIA,EAASpnF,MAAM7oE,IAAK,MAAC,QAAO,QAAN,EAAAA,EAAExD,YAAI,eAAEouJ,eAC9B,OAAO,OAGX,KAAkB,QAAb,EAAAqF,EAASzzJ,YAAI,eAAEouJ,YAChB,OAAO,EAGf,OAAO,GC9uFR,MAAMI,GAkBTzhJ,YACY+mJ,EACAzpC,EACA+5B,EACA2P,EACSC,EACTC,EACA5sI,GANA,KAAAysI,mBACA,KAAAzpC,kBACA,KAAA+5B,gBACA,KAAA2P,sBACS,KAAAC,YACT,KAAAC,mBACA,KAAA5sI,WArBJ,KAAA6sI,WAAa,IAAI9yE,GACjB,KAAA+yE,UAAY,CAChB9E,WAAW,EACXE,UAAW,EAEXC,eAAgB,EAChBC,cAAe,EACfC,oBAAqB,EAErBE,YAAa,EACbC,WAAY,EACZC,iBAAkB,GAYlBhvJ,KAAKszJ,kBAAoBrpF,GAAmBjqE,KAAKsjJ,cAAcp5E,WAAW,GAE1ElqE,KAAKqzJ,UAAU9E,YAAcvuJ,KAAKumB,SAASonI,WAG/CE,+BAA+B0F,EAA0BC,EAA4BxyI,GACjF,MACMhB,EADMhgB,KAAKyzJ,eAAeD,EAAS7mF,WAAkC,EAAG4mF,EAAMvyI,GACjEzc,IAAIivJ,EAAS7mF,YAChC,OAAK3sD,EAIEA,EAAO6oC,QAAQnkC,GAAMA,EAAE/C,SAAW6xI,EAASvnF,aAHvC,GAMf6hF,wBACI4F,EACAtG,EACAuG,EACA3yI,GAEA,MAAMqnI,EAA8B,GAIpC,OAHYroJ,KAAKyzJ,eAAeC,EAAMtG,EAAiBuG,EAAe3yI,GAElEsE,SAAS8rC,GAAMi3F,EAAQhtJ,QAAQ+1D,KAC5Bi3F,EAGX2F,cAEI,OADAhuJ,KAAKqzJ,UAAU5E,UAAYzuJ,KAAKozJ,WAAW5yE,4BACpCxgF,KAAKqzJ,UAGRI,eACJC,EACAtG,EACAuG,EACA3yI,GAEA,MAAM4yI,EAAY,IAAI91I,IAChB+1I,EAAiB,IAAI/1I,IAM3B,OAJA9d,KAAK8zJ,yBAAyBJ,EAAMtG,EAAiBuG,EAAeE,EAAgBD,EAAW5yI,GAC/FhhB,KAAK+zJ,0BAA0BL,EAAMtG,EAAiBuG,EAAeE,EAAgBD,EAAW5yI,GAChGhhB,KAAKg0J,8BAA8BH,EAAgBF,EAAeC,EAAW5yI,GAEtE4yI,EAGHG,0BACJL,EACAtG,EACAuG,EACAM,EACA5L,EACArnI,G,MAEA,MAAMnB,EAAY7f,KAAKozJ,WAAW5yE,4BAEV,QAAxB,EAAAxgF,KAAKumB,SAASonI,kBAAU,SAAEroI,SAAQ,CAAC4uI,EAAcr4F,KAC7C,GAAIq4F,EAAaC,mBACb,OAGJ,GAAIn0J,KAAKmzJ,iBAAiB/uI,IAAIy3C,GAG1B,OAIJ,MAAMu4F,EAAsBp0J,KAAKq0J,qBAAqBr0J,KAAKumB,SAASonI,WAAa9xF,GACjF77D,KAAKs0J,0BACDC,GAAuCL,GAA4B,GACnEr4F,EACA63F,EACAtG,EACAgH,EACAT,EACAM,EACA5L,EACArnI,MAIRhhB,KAAKqzJ,UAAU1E,cAAgB3uJ,KAAKozJ,WAAW5yE,4BAA8B3gE,EAGzEi0I,yBACJJ,EACAtG,EACAuG,EACAM,EACA5L,EACArnI,GAEA,MAAMnB,EAAY7f,KAAKozJ,WAAW5yE,4BAElCxgF,KAAKmzJ,iBAAiB7tI,SAAQ,CAACkvI,EAAiB34F,KAE5C,MAAMu4F,EAAsBp0J,KAAKq0J,qBAAqBr0J,KAAKmzJ,iBAAmBt3F,GAC9E77D,KAAKs0J,0BACDE,EACA34F,EACA63F,EACAtG,EACAgH,EACAT,EACAM,EACA5L,EACArnI,MAIRhhB,KAAKqzJ,UAAU3E,eAAiB1uJ,KAAKozJ,WAAW5yE,4BAA8B3gE,EAG1Ew0I,qBAAwBvwI,EAAqB+3C,GACjD,MACM44F,EAAa1+F,GADH1B,EAAiBwH,GACQ,eACnC64F,EAAcD,EAAa,IAGjC,MAAO,CAAEE,OAFM94F,EAAS5B,SAAS,QAEhB26F,QADD9wI,EAAIM,IAAIqwI,IAAe3wI,EAAIM,IAAIswI,IAI3CJ,0BACJE,EACA34F,EACA63F,EACAtG,EACAyH,EACAlB,EACAE,EACAxL,EACArnI,GAEA,GAA6BA,GAE7B,MAAO8zI,EAAcjnF,EAAagC,GAAqB7vE,KAAK+0J,0BAA0Bl5F,GACtF,IAAKi5F,EACD,OAGJ,MAAME,EAAW,EAA8BF,EAAc,KAmE7D,GAlEAN,EAAgBlvI,SAAQ,CAAC2vI,EAAkB5oJ,EAAM6oJ,K,MAG7C,GAFAl1J,KAAKm1J,gBAAgBF,EAAkBC,IAElCl1J,KAAKo1J,uBAAuBH,EAAkB5oJ,EAAMwoJ,EAAgBF,OAAQO,GAC7E,OAOJ,IADkBl1J,KAAKq1J,WAAW3B,EAAMrnJ,EAAM+gJ,GAE1C,OAIJ,GADwBptJ,KAAKs1J,cAAcjpJ,EAAMyoJ,EAAczM,GAE3D,OAIJ,GAAI4M,EAAiBpE,YAmBjB,YAlBA7wJ,KAAKu1J,qBACDN,EAAiBpE,YACjB,CACI2E,YAAa,CACT1iG,WAAYzmD,EACZsgE,WAAYtgE,EACZ4/D,WAAY6oF,EACZj5F,WACAm5F,WACAnlF,qBAEJhC,cACA8M,OAAQs6E,EAAiBt6E,OACzBxtD,KAAM8nI,EAAiBpE,YAAY1jI,KACnCgjI,SAAU8E,EAAiBpE,YAAYV,UAE3C0D,GAKR,MAAM4B,EAAsBz1J,KAAK01J,qCAC7BZ,EACAzoJ,EACAsnJ,EACAtnJ,EACAwhE,EACAhS,GAGJ77D,KAAK+gJ,WAAWsH,EAAS,CACrBh8I,OACA8/D,MAAOwnF,EACPh5E,OAAQs6E,EAAiBt6E,OACzBh5D,OAAQmzI,EACR3nI,KAA+B,QAAzB,EAAA8nI,EAAiB9E,gBAAQ,QAAIwF,GAAsCV,EAAiB9nI,MAC1FihI,cAAeqH,EAAoBrH,cACnCpxH,MAAOy4H,EAAoBz4H,YAO9B63H,EAAgBF,SAAWE,EAAgBD,QAC5C,OAGJ,MAAMY,EAAcx1J,KAAK41J,gBAAgB/5F,GACpC25F,GAIax1J,KAAKq1J,WAAW3B,EAAM8B,EAAY7oF,WAAYygF,KAKxCptJ,KAAKs1J,cAAcE,EAAY7oF,WAAY6oF,EAAYvpF,WAAYo8E,IAK3FroJ,KAAKu1J,qBACD,CACIM,WAAYh6F,EACZi6F,aAAcN,EAAY7oF,WAC1Bx/C,KAAM,GAAA0R,WAAA,OACNsxH,SAAU,GAAAnyH,mBAAA,QAEd,CAAEw3H,cAAa3nF,cAAa1gD,KAAM,GAAA0R,WAAA,OAAmBsxH,SAAU,GAAAnyH,mBAAA,QAC/D61H,IAIAuB,uBACJH,EACA5oJ,EACAsoJ,EACAO,G,MAIA,SAAIP,GAAUM,EAAiB9nI,OAAS,GAAA0R,WAAA,cAIpC7+B,KAAKumB,SAASwvI,oBAAuBb,KAAkC,QAAvB,EAAAD,EAAiBt6E,cAAM,eAAE89B,mBlChZ9E,SAAqCpsG,GACxC,OAAQk9D,GAAyBl9D,KAAUo9D,GAAep9D,IAASq9D,GAAgBr9D,IkCmZxE,CAA4CA,GAG/C2nJ,8BACJH,EACAF,EACAtL,EACArnI,GAEA,GAA6BA,GAE7B,MAAMnB,EAAY7f,KAAKozJ,WAAW5yE,4BAElCqzE,EAAevuI,SAAS0wI,IACpBh2J,KAAKqzJ,UAAUrE,kBAAoBgH,EAAiB12J,KAEpD02J,EAAiB1wI,SAAS2wI,I,QACtB,GAAItC,EAAe,CAWf,GAAI3zJ,KAAKszJ,kBAAkBhpF,cAAclmD,IAAI6xI,EAAgBT,YAAY35F,UACrE,OAMJ,GAAIo6F,EAAgBT,YAAYvpF,WAAY,CACxC,MAAMiqF,EAAWl2J,KAAKszJ,kBAAkBjpF,eAAekB,MAClDjxE,GAAMA,EAAE0wE,aAAeirF,EAAgBT,YAAYvpF,aAExD,GACIiqF,GAC2B,KAA3BA,EAASxuF,KAAKjB,UACdyvF,EAASxuF,KAAK4D,QAAQ7c,MAAMn0D,GAAMA,EAAE+R,KAAK/O,QAAU24J,EAAgBT,YAAY1iG,aAE/E,QAUZ,GALwB9yD,KAAKs1J,cACzBW,EAAgBT,YAAY7oF,WAC5BspF,EAAgBT,YAAYvpF,WAC5Bo8E,GAGA,OAGJ,MAAMoN,EAAsBz1J,KAAK01J,qCACS,QAAtC,EAAAO,EAAgBT,YAAYvpF,kBAAU,QAAIgqF,EAAgBT,YAAY7oF,WACtEspF,EAAgBT,YAAY1iG,WAC5B6gG,EACAsC,EAAgBT,YAAY7oF,WAC5BspF,EAAgBpoF,YAChBooF,EAAgBT,YAAY35F,UAGhC77D,KAAK+gJ,WAAWsH,EAAS,CACrBh8I,KAAM4pJ,EAAgBT,YAAY7oF,WAClCR,MAAOwnF,EACPh5E,OAAQs7E,EAAgBt7E,OACxBxtD,KAA8B,QAAxB,EAAA8oI,EAAgB9F,gBAAQ,QAAIwF,GAAsCM,EAAgB9oI,MACxFxL,OAAQs0I,EAAgBT,YAAYvpF,WACpCmiF,cAAeqH,EAAoBrH,cACnCpxH,MAAOy4H,EAAoBz4H,cAKvCh9B,KAAKqzJ,UAAUzE,oBAAsB5uJ,KAAKozJ,WAAW5yE,4BAA8B3gE,EAG/E01I,qBACJppF,EACAjtE,EACA20J,GAKA,IAAKA,EAAezvI,IAAI+nD,EAAM0pF,YAAa,CACvC,MAAM/xI,EAAM,IAAIhG,IAGhB,OAFAgG,EAAI3e,IAAIgnE,EAAM2pF,aAAc52J,QAC5B20J,EAAe1uJ,IAAIgnE,EAAM0pF,WAAY/xI,GAIzC,MAAMA,EAAM+vI,EAAetvJ,IAAI4nE,EAAM0pF,YACrC,IAAK/xI,EAAIM,IAAI+nD,EAAM2pF,cAEf,YADAhyI,EAAI3e,IAAIgnE,EAAM2pF,aAAc52J,GAIhC,MAAMi3J,EAAeryI,EAAIvf,IAAI4nE,EAAM2pF,cAChB91J,KAAKo2J,wBAAwBD,EAAcj3J,IAC5C,GAMlB4kB,EAAI3e,IAAIgnE,EAAM2pF,aAAc52J,GAGxBk3J,wBAAwB7wH,EAAuBC,GACnD,MAAM6wH,EAAkB9wH,EAAKsoC,YAAcroC,EAAMqoC,YACjD,GAAwB,IAApBwoF,EACA,OAAOA,EAGX,MAAMC,EAAgB/wH,EAAKiwH,YAAYR,SAAWxvH,EAAMgwH,YAAYR,SACpE,OAAsB,IAAlBsB,EACOA,EAGP/wH,EAAKo1C,SAAWn1C,EAAMm1C,QACd,GAGPp1C,EAAKo1C,QAAUn1C,EAAMm1C,OACf,EAGJ,IAAgCp1C,EAAKiwH,YAAY7oF,WAAYnnC,EAAMgwH,YAAY7oF,YAGlFooF,0BAA0Bl5F,GAC9B,MAAMiP,EAAc9qE,KAAKszJ,kBAAkBhpF,cAAc/lE,IAAIs3D,GAC7D,GAAIiP,EACA,MAAO,CACHA,EAAYE,WACZrB,GAAemB,GACf,CACIhB,WAAY,EACZC,oBAAoB,EACpBiB,WAAYF,EAAYE,aAG7B,CACH,MAAM6E,EAAoB7vE,KAAKu2J,kCAAkC16F,GACjE,MAAO,CACHgU,EAAkB7E,WAClB4E,GAAoCC,GACpCA,IAKJ+lF,gBAAgB/5F,GAIpB,OAMA,SAA2B/pD,GACvB,MAAMk5D,EAAal5D,EAAOk5D,WAC1B,IAAKA,EACD,OAGJ,MAAM7gD,EAAQ6gD,EAAWjqE,YAAY,KAC/By1J,EAAiBrsI,EAAQ,EAAI6gD,EAAWxkC,UAAUrc,EAAQ,QAAKrrB,EAC/DmtE,EAAa9hD,EAAQ,EAAI6gD,EAAWxkC,UAAU,EAAGrc,QAASrrB,EAChE,MAAO,CACHg0D,WAAY0jG,EACZ7pF,WAAY6pF,UAAkBxrF,EAC9BiB,aACApQ,WACAm5F,SAAU,EAA8BhqF,EAAY,KACpD6E,kBAAmB/9D,GApBhB2kJ,CADE,aAHA99F,GAAmBD,GAAYmD,IAIf77D,KAAKu2J,kCAAkCliG,EAAiBwH,IAG5D77D,KAAKu2J,kCAAkC16F,IAsB5Dw5F,WAAW3B,EAAcrnJ,EAAc+gJ,GAC3C,GAAwB,IAApBA,EACA,OAAOsG,IAASrnJ,EAGpB,GAAIqnJ,EAAK14J,QAAU,GAAKqR,EAAKrR,QAAU,EACnC,OAAO,EAGX,IAAKgF,KAAKumB,SAASmwI,eAAgB,CAC/B,MAAMvsI,EAAoB,MAAZupI,EAAK,IAA0B,MAAZrnJ,EAAK,IAAcA,EAAKrR,OAAS,EAAI,EAAI,EAC1E,OAAI04J,EAAK,GAAG1gG,sBAAwB3mD,EAAK8d,GAAO6oC,qBAIzC,EAA8B0gG,EAAMrnJ,GAG/C,OAAOrM,KAAKumB,SAASmwI,eAAehD,EAAMrnJ,GAGtCsqJ,eAAetqJ,GACnB,OAAOrM,KAAKkzJ,UAAU9uI,IAAI/X,EAAM64I,GAAc0R,8BAE1CtB,cAAcjpJ,EAAcsV,EAA4B0mI,GAC5D,GAAIroJ,KAAK22J,eAAetqJ,GACpB,OAAO,EAGX,MAAMolD,EAAQ42F,EAAQ9jJ,IAAI8H,GAC1B,SAAIolD,aAAK,EAALA,EAAOhD,MAAM/pC,GAAMA,EAAE/C,SAAWA,KAUhC40I,kCAAkC16F,GACtC,OAAO77D,KAAKupH,gBAAgBryC,uBAAuBrb,EAAU77D,KAAKgzJ,kBAG9D0C,qCACJ1qF,EACA2B,EACAgnF,EACAvF,EACAvgF,EACAhS,G,gBAGA,MAAMgQ,EAAkB7rE,KAAKszJ,kBAAkBhpF,cAAc/lE,IAAIs3D,GACjE,GAAIgQ,EAAiB,CAEjB,GAAsC,KAAlCA,EAAgBnE,KAAKjB,SAAmC,CAGxD,MAAMoqF,EAA4C,QAA9B,EAAuB,QAAvB,EAAAhlF,EAAgBd,eAAO,eAAEoB,aAAK,eAAE7uE,MACpD,GAAIqvE,EAGA,MAAO,CACHyhF,cAAe,GAAGyC,UAAehlF,EAAgBb,cAAc2B,IAC/D3vC,MAAO,IAER,GAAI6zH,EAGP,MAAO,CACHzC,cAAe,GAAGyC,IAClB7zH,MAAO,IAMnB,GACI2vC,GACkC,KAAlCd,EAAgBnE,KAAKjB,WACpBoF,EAAgBnE,KAAKsE,iBACxB,CAEE,MAAM6qF,EAAahrF,EAAgBnE,KAAK4D,QAAQC,MAAMjxE,GAAMA,EAAE+R,KAAK/O,QAAUqvE,IAC7E,GAAIkqF,EAAY,CAGZ,MAAMhG,EAA8B,QAAhB,EAAAgG,EAAW1qF,aAAK,eAAE7uE,MACtC,MAAO,CACH8wJ,cAAe,GAAGyC,UAAelkF,IACjC3vC,MAAO,IAOf,GAAIguC,IAAea,EAAgBb,WAC/B,MAAO,CACHojF,cAAeuF,UAAiBvF,EAChCpxH,MAAOh9B,KAAKumB,SAASsjI,cACf/qJ,EACA6sE,GACI,CAAEt/D,KAAMsgE,EAAYR,MAAOwnF,GAC3B9nF,EACA7rE,KAAKsjJ,sBAKxB,GAAI32E,EAAY,CAGnB,MAAMupF,EAAWl2J,KAAKszJ,kBAAkBjpF,eAAekB,MAAMjxE,GAAMA,EAAE0wE,aAAeA,IACpF,GAAIkrF,GAAuC,KAA3BA,EAASxuF,KAAKjB,WAA0CyvF,EAASxuF,KAAKsE,iBAAkB,CACpG,MAAMC,EAAaiqF,EAASxuF,KAAK4D,QAAQC,MAAMjxE,GAAMA,EAAE+R,KAAK/O,QAAUqvE,IACtE,IAAIV,EAYA,MAAO,CACHmiF,cAAeuF,UAAiBvF,EAChCpxH,MAAOh9B,KAAKumB,SAASsjI,cACf/qJ,EACA6sE,GACI,CAAEt/D,KAAMsgE,EAAYR,MAAOwnF,GAC3BuC,EACAl2J,KAAKsjJ,gBAnBP,CAGZ,MAAMuN,EAA8B,QAAhB,EAAA5kF,EAAWE,aAAK,eAAE7uE,MACtC,GAAIuzJ,EACA,MAAO,CACHzC,cAAe,GAAGyC,IAClB7zH,MAAO,KAmBvB,MAAMivC,EAAmD,QAAtC,EAAAjsE,KAAKszJ,kBAAkBnoF,uBAAe,eAAE5mE,IAAIs3D,GAC/D,GAAIoQ,EAAY,CAGZ,MAAM4kF,EAA8B,QAAhB,EAAA5kF,EAAWE,aAAK,eAAE7uE,MACtC,MAAO,CACH8wJ,cAAe,GAAGyC,UAAe5kF,EAAW5/D,KAAK/O,SAASqvE,IAC1D3vC,MAAO,KAKnB,MAAO,CACHoxH,cAAeuF,UAAiBvF,EAChCpxH,MAAOh9B,KAAKumB,SAASsjI,cACf/qJ,EACA6uE,GACI,CAAEthE,KAAMsgE,EAAYR,MAAOwnF,GAC3B3zJ,KAAKszJ,kBACLtoF,EACA6C,EACA7tE,KAAKsjJ,cACLtjJ,KAAKizJ,sBAKfkC,gBAAgBF,EAAoCC,GACpDD,EAAiBt6E,OACjB36E,KAAKqzJ,UAAUvE,cACRoG,GACPl1J,KAAKqzJ,UAAUtE,aAIfhO,WAAWsH,EAA8BroI,GAC7C,IAAI4I,EAAUy/H,EAAQ9jJ,IAAIyb,EAAO3T,MAC5Buc,IACDA,EAAU,GACVy/H,EAAQljJ,IAAI6a,EAAO3T,KAAMuc,IAG7BA,EAAQvtB,KAAK2kB,IAIrB,SAASu0I,GAAuCL,EAA4BgB,GACxE,MAAO,CACH5vI,QAAQgD,GACJ4rI,EAAa4C,QAAQxxI,SAASpmB,IACrBA,EAAK63J,mBAIVzuI,EACI,CACIuoI,YAAa3xJ,EAAKitE,MAClBh/C,KAAMjuB,EAAKiuB,KACXgjI,SAAUjxJ,EAAKixJ,UAEnBjxJ,EAAKmN,KACL6oJ,QAOb,SAASS,GAAsCxoI,GAClD,OAAQA,GACJ,KAAK,GAAA0R,WAAA,KACD,OAAO,GAAAb,mBAAA,KAEX,KAAK,GAAAa,WAAA,OACL,KAAK,GAAAA,WAAA,UACD,OAAO,GAAAb,mBAAA,OAEX,KAAK,GAAAa,WAAA,QACD,OAAO,GAAAb,mBAAA,OAEX,KAAK,GAAAa,WAAA,MACD,OAAO,GAAAb,mBAAA,MAEX,KAAK,GAAAa,WAAA,OACD,OAAO,GAAAb,mBAAA,OAEX,KAAK,GAAAa,WAAA,SACD,OAAO,GAAAb,mBAAA,SAEX,KAAK,GAAAa,WAAA,MACD,OAAO,GAAAb,mBAAA,MAEX,KAAK,GAAAa,WAAA,YACD,OAAO,GAAAb,mBAAA,YAEX,KAAK,GAAAa,WAAA,KACD,OAAO,GAAAb,mBAAA,KAEX,KAAK,GAAAa,WAAA,UACD,OAAO,GAAAb,mBAAA,UAEX,KAAK,GAAAa,WAAA,SACD,OAAO,GAAAb,mBAAA,SAEX,KAAK,GAAAa,WAAA,SACL,KAAK,GAAAA,WAAA,MACD,OAAO,GAAAb,mBAAA,SAEX,KAAK,GAAAa,WAAA,OACD,OAAO,GAAAb,mBAAA,SAEX,KAAK,GAAAa,WAAA,OACL,KAAK,GAAAA,WAAA,QACD,OAAO,GAAAb,mBAAA,MAEX,KAAK,GAAAa,WAAA,SACL,KAAK,GAAAA,WAAA,KACD,OAAO,GAAAb,mBAAA,SAEX,KAAK,GAAAa,WAAA,OACL,KAAK,GAAAA,WAAA,IACD,OAAO,GAAAb,mBAAA,MAEX,KAAK,GAAAa,WAAA,WACD,OAAO,GAAAb,mBAAA,WAEX,KAAK,GAAAa,WAAA,OACD,OAAO,GAAAb,mBAAA,OAEX,KAAK,GAAAa,WAAA,MACD,OAAO,GAAAb,mBAAA,MAEX,KAAK,GAAAa,WAAA,SACD,OAAO,GAAAb,mBAAA,SAEX,KAAK,GAAAa,WAAA,cACD,OAAO,GAAAb,mBAAA,cAEX,QACI,QCn3BL,MAAMg5H,GACT,6BACIlkG,EACAkV,EACA8pD,EACA9wG,GAIA,GAFA,GAA6BA,GAEJ,IAArBgnD,EAAYhpE,MAA0D,IAArBgpE,EAAYhpE,KAQ7D,MAPoC,CAChCqN,KAAMymD,EACN3lC,KAAM8pI,GAAcjvF,EAAa8pD,GACjCt3F,IAAKwtC,EAAYj5D,KACjBtC,MAAOu7D,EAAYv7D,MACnBs3B,eAAgBikC,EAAYv7D,OAQxC,sCACIovD,EACA/I,EACAkV,EACA8D,EACAgmD,EACA9wG,GAEA,GAA6BA,GAE7B,MASMk2I,EATa,IAAIC,GACnBt7F,EACA/I,EACAkV,EACA8D,EACAgmD,EACA9wG,GAG6Bo2I,YAEjC,OAAOF,EAAcl8J,OAAS,EAAIk8J,OAAgBp4J,EAGtD,sCACIkpE,EACA8D,EACAgmD,EACA9wG,GAKA,IAAIq2I,EACJ,GAJA,GAA6Br2I,GAIJ,IAArBgnD,EAAYhpE,KACZq4J,EAAYrvF,EAAYN,UACrB,GAAyB,IAArBM,EAAYhpE,KAAgC,CAEnD,MAAMivG,EAAY6jB,EAAUoF,sBAAsBlvD,GAClD,GAAIimC,GAAa/H,GAAoB+H,GAAY,CAI7C,MAAMqpD,EAAmBz2C,GACrB5S,EACA,WACA,IAIJ,GAAIqpD,EAAkB,CAClB,MAAMC,EAAiBzlC,EAAU0lC,gBAAgBF,GACjD,GAAIC,GAAkBzwD,GAAWywD,GAAiB,CAC9C,MAAME,EAAYH,EAAiB38E,OAAOy+B,kBAC1C,GAAIq+C,GAAaA,EAAUz8J,OAAS,EAAG,CACnC,MAAM08J,EAAkBD,EAAU,GACL,IAAzBC,EAAgB14J,OAChBq4J,EAAYK,EAAgBhwF,UAQpD,IAAK2vF,EACD,OAGJ,MAEMM,EAFa,IAAIC,GAA2BP,EAAWvrF,EAAcgmD,EAAW9wG,GAErDo2I,YAEjC,OAAOO,EAAc38J,OAAS,EAAI28J,OAAgB74J,EAGtD,4BAA4ByhJ,EAA6B74E,GAIrD,IAAImwF,EAAatX,EAAa,GAC9B,IAAK,MAAMr4E,KAAQq4E,EACf,IAAI,GAAuCr4E,KAAU,GAAuC2vF,MACtE,IAAd3vF,EAAKlpE,MAAmD,IAAdkpE,EAAKlpE,QAC/C64J,EAAa3vF,EAITA,EAAKR,OAASA,GACd,MAMhB,OAAOmwF,GAIf,MAAMD,WAAmC,GAGrC3rJ,YACY6rJ,EACAxU,EACA75B,EACAs2B,GAER7zI,QALQ,KAAA4rJ,aACA,KAAAxU,gBACA,KAAA75B,aACA,KAAAs2B,qBANJ,KAAAgY,eAA8C,GAWtDX,YAEI,OADAp3J,KAAK+vF,KAAK/vF,KAAK83J,YACR93J,KAAK+3J,eAGPhnE,UAAUrpB,GAGf,IAAIswF,EAQJ,GAVA,GAA6Bh4J,KAAK+/I,oBAIG,KAAjCr4E,EAAKhB,eAAeD,SACpBuxF,EAAWtwF,EAAKhB,eACwB,KAAjCgB,EAAKhB,eAAeD,WAC3BuxF,EAAWtwF,EAAKhB,eAAeW,YAG/B2wF,EAAU,CACV,MAAMzX,EAAevgJ,KAAKypH,WAAWmC,2BAA2BosC,GAE5DzX,GAIAA,EAAaj7H,SAAS4iD,IAClBloE,KAAKi4J,+BAA+BD,EAAW9vF,MAK3D,OAAO,EAGFyqB,kBAAkBjrB,GACvB,GAA6B1nE,KAAK+/I,oBAKlC,MAAMmY,EAAel4J,KAAKypH,WAAW8D,QAAQ7lD,EAAKhB,gBAgClD,OA/BIwxF,GACA97C,GAAiB87C,GAAepyD,IAC5B,IAAIyvB,EAAWzvB,EAKf,GAFAyvB,EAAWv1H,KAAKypH,WAAWm/B,6BAA6BrzB,IAEnDpvB,GAAgBovB,GACjB,OAGJ,MAAM4iC,EAAav3C,GAAmB2U,EAAU7tD,EAAKL,WAAW/pE,OAChE,IAAK66J,EACD,OAGJ,MAAMC,EAAap4J,KAAKypH,WAAW+tC,gBAAgBW,GAC7CE,EAAgBF,EAAWx9E,OAAOy+B,kBAEnCg/C,GAIDjyD,GAAgBiyD,IAAexzD,GAAU6L,gBAAgB2nD,IACzDC,EAAc/yI,SAAS4iD,IACnBloE,KAAKi4J,+BAA+BvwF,EAAKL,WAAYa,UAM9D,EAGH+vF,+BAA+BD,EAAoBhwF,GACvD,MAAMolD,EAAeptH,KAAKypH,WAAW4D,wBAAwBrlD,GAAqC,GAClG,IAAKolD,EACD,OAGJ,GAA0B,IAAtBA,EAAapuH,MAA2D,IAAtBouH,EAAapuH,KAC/D,OAGJ,MAAMs5J,EAA8B,CAChCjsJ,KAAM2rJ,EAAS16J,MACf6vB,KAAM8pI,GAAc7pC,EAAcptH,KAAKypH,YACvCjvF,IAAK4yF,EAAar+G,KAClBtC,MAAO2gH,EAAa3gH,MACpBs3B,eAAgBqpF,EAAa3gH,OAKjC,IAAI8rJ,EAAsDv4J,KAAK+3J,eAAexsF,MACzEitF,GAAaA,EAAStoJ,GAAGsqB,MAAQ89H,EAAS99H,KAAOuqC,GAAeyzF,EAAStoJ,GAAGzD,MAAO6rJ,EAAS7rJ,SAG5F8rJ,IACDA,EAAe,CACXroJ,GAAIooJ,EACJG,WAAY,IAEhBz4J,KAAK+3J,eAAe18J,KAAKk9J,IAG7B,MAAMG,EAAmBnzF,GACrByyF,EAASl8J,MACTk8J,EAASl8J,MAAQk8J,EAASh9J,OAC1BgF,KAAKsjJ,cAAcn2E,gBAAgB3lB,OAEvC+wG,EAAaE,WAAWp9J,KAAKq9J,IAIrC,MAAMvB,WAAmC,GAGrClrJ,YACYw3I,EACA3D,EACA6Y,EACArV,EACA75B,EACAs2B,GAER7zI,QAPQ,KAAAu3I,YACA,KAAA3D,cACA,KAAA6Y,eACA,KAAArV,gBACA,KAAA75B,aACA,KAAAs2B,qBARJ,KAAA6Y,eAA8C,GAatDxB,YAEI,OADAp3J,KAAK+vF,KAAK/vF,KAAKsjJ,cAAcp5E,WACtBlqE,KAAK44J,eAGP7nE,UAAUrpB,GAGf,IAAIswF,EASJ,GAXA,GAA6Bh4J,KAAK+/I,oBAIG,KAAjCr4E,EAAKhB,eAAeD,SACpBuxF,EAAWtwF,EAAKhB,eACwB,KAAjCgB,EAAKhB,eAAeD,WAC3BuxF,EAAWtwF,EAAKhB,eAAeW,YAI/B2wF,GAAYA,EAAS16J,QAAU0C,KAAK8/I,YAAa,CACjD,MAAMS,EAAevgJ,KAAKypH,WAAWmC,2BAA2BosC,GAE5DzX,GACsBA,EACjBz8H,KAAKokD,GACKloE,KAAKypH,WAAW4D,wBAAwBnlD,GAA8B,KAEhFrf,QAAQqf,QAAkBppE,IAATopE,IACJzZ,MAAMyZ,GAAS,GAAqCA,EAAOloE,KAAK24J,iBAC9E34J,KAAK64J,+BAA+Bb,GAKhD,OAAO,EAGFrlE,kBAAkBjrB,GAGvB,GAFA,GAA6B1nE,KAAK+/I,oBAE9Br4E,EAAKL,WAAW/pE,QAAU0C,KAAK8/I,YAAa,CAI5C,MAAMoY,EAAel4J,KAAKypH,WAAW8D,QAAQ7lD,EAAKhB,gBAC9CwxF,GACA97C,GAAiB87C,GAAepyD,IAC5B,IAAIyvB,EAAWzvB,EAKf,GAFAyvB,EAAWv1H,KAAKypH,WAAWm/B,6BAA6BrzB,IAEnDpvB,GAAgBovB,GACjB,OAGJ,MAAM4iC,EAAav3C,GAAmB2U,EAAU7tD,EAAKL,WAAW/pE,OAChE,IAAK66J,EACD,OAGJ,MAAMC,EAAap4J,KAAKypH,WAAW+tC,gBAAgBW,GAC7CE,EAAgBF,EAAWx9E,OAAOy+B,kBAEnCg/C,GAIDC,EAAc5pG,MAAMyZ,GAAS,GAAqCA,EAAOloE,KAAK24J,iBAC9E34J,KAAK64J,+BAA+BnxF,EAAKL,eAMzD,OAAO,EAGHwxF,+BAA+Bb,GACnC,MAAMc,EAAgB,GAAqCd,GAC3D,IAAKc,EACD,OAGJ,IAAIC,EACJ,GAA+B,KAA3BD,EAAcryF,SAAmC,CACjD,MAAMuyF,EAAczzF,GAAsB,EAAG,EAAGvlE,KAAKsjJ,cAAcn2E,gBAAgB3lB,OAC7E+Q,EAAWG,GAAY14D,KAAKyjJ,WAElCsV,EAAa,CACT1sJ,KAAM,YAAYksD,IAClBprC,KAAM,GAAA0R,WAAA,OACNrE,IAAKx6B,KAAKyjJ,UACVh3I,MAAOusJ,EACPj1H,eAAgBi1H,QAEjB,GAA+B,KAA3BF,EAAcryF,SAAmC,CACxD,MAAMwyF,EAAc1zF,GAChBuzF,EAAch9J,MACdg9J,EAAch9J,MAAQg9J,EAAc99J,OACpCgF,KAAKsjJ,cAAcn2E,gBAAgB3lB,OAGvCuxG,EAAa,CACT1sJ,KAAM,WACN8gB,KAAM,GAAA0R,WAAA,SACNrE,IAAKx6B,KAAKyjJ,UACVh3I,MAAOwsJ,EACPl1H,eAAgBk1H,OAEjB,CACH,MAAMC,EAAgB3zF,GAClBuzF,EAAczsJ,KAAKvQ,MACnBg9J,EAAczsJ,KAAKvQ,MAAQg9J,EAAczsJ,KAAKrR,OAC9CgF,KAAKsjJ,cAAcn2E,gBAAgB3lB,OAGvCuxG,EAAa,CACT1sJ,KAAMysJ,EAAczsJ,KAAK/O,MACzB6vB,KAAM,GAAA0R,WAAA,SACNrE,IAAKx6B,KAAKyjJ,UACVh3I,MAAOysJ,EACPn1H,eAAgBm1H,GAMxB,IAAIC,EAAsDn5J,KAAK44J,eAAertF,MACzE6tF,GAAaA,EAAS/7J,KAAKm9B,MAAQu+H,EAAWv+H,KAAOuqC,GAAeq0F,EAAS/7J,KAAKoP,MAAOssJ,EAAWtsJ,SAGpG0sJ,IACDA,EAAe,CACX97J,KAAM07J,EACNN,WAAY,IAEhBz4J,KAAK44J,eAAev9J,KAAK89J,IAG7B,MAAMT,EAAmBnzF,GACrByyF,EAASl8J,MACTk8J,EAASl8J,MAAQk8J,EAASh9J,OAC1BgF,KAAKsjJ,cAAcn2E,gBAAgB3lB,OAEvC2xG,EAAaV,WAAWp9J,KAAKq9J,IAIrC,SAASzB,GAAcjvF,EAA0B8pD,GAC7C,IAAIunC,EAEJ,OAAQrxF,EAAYhpE,MAChB,KAAK,EACL,KAAK,EACDq6J,EAAa,GAAAx6H,WAAA,MACb,MAEJ,KAAK,EACD,GAAImpC,EAAYojD,SAAU,CACtB,MAAMs3B,EAAW5wB,EAAUoF,sBAAsBlvD,GAE7CqxF,EADA3W,GAAY/iC,GAAW+iC,GACV,GAAA7jH,WAAA,SAEA,GAAAA,WAAA,YAGjBw6H,EAAa,GAAAx6H,WAAA,SAEjB,MAEJ,QACIw6H,EAAa,GAAAx6H,WAAA,SAIrB,OAAOw6H,EChcJ,MAAMC,GAGTrtJ,YACastJ,EACAC,EACA1mG,EACAytF,EACQkZ,GAJR,KAAAF,uBACA,KAAAC,eACA,KAAA1mG,aACA,KAAAytF,eACQ,KAAAkZ,YAPJ,KAAAC,WAA8B,GAU/C,gBACI,OAAO15J,KAAK05J,WAGhBC,gBAAgBC,GACQ,IAAhBA,EAAK5+J,SAILgF,KAAKy5J,WACLz5J,KAAKy5J,UAAUG,GAGnB55J,KAAK05J,WAAWr+J,QAAQu+J,KAIzB,MAAMC,GACT5tJ,YACYq3I,EACAG,EACAqW,EACAC,EACAtwC,EACAs2B,GALA,KAAAuD,gBACA,KAAAG,YACA,KAAAqW,oBACA,KAAAC,sBACA,KAAAtwC,aACA,KAAAs2B,qBAGZia,eAAeC,EAAWj6J,KAAKsjJ,cAAcp5E,WACzC,MAAMgwF,EAAY,IAAIra,GAClB7/I,KAAK85J,kBAAkBhnG,WACvB9yD,KAAK85J,kBAAkBvZ,aACvBvgJ,KAAKypH,WACLzpH,KAAK+/I,mBACLka,GACkD,GAGhD5R,EAA2B,GACjC,IAAK,MAAMroI,KAAUk6I,EAAUzZ,WAEvBzgJ,KAAK+5J,qBAAuB/5I,EAAO0nD,OAAS1nE,KAAK85J,kBAAkBN,eACnEnR,EAAQhtJ,KAAK,CACT0T,KAAM/O,KAAKyjJ,UACXh3I,MAAO,CACH3Q,MAAOmpE,GAAwBjlD,EAAOvT,MAAM3Q,MAAOkE,KAAKsjJ,cAAcn2E,gBAAgB3lB,OACtFzrD,IAAKkpE,GACDT,GAAUmB,OAAO3lD,EAAOvT,OACxBzM,KAAKsjJ,cAAcn2E,gBAAgB3lB,UAOvD,OAAO6gG,GAIR,MAAM8R,GACT,6BACIpjC,EACAl7D,EACA6L,EACAoqD,EACAsoC,EACAp5I,GAEA,GAA6BA,GAE7B,MAAMu/H,EAAeV,GAAwBW,uBACzC94E,EACAoqD,GACwB,EACxB9wG,EACA+1G,GAGJ,GAA4B,IAAxBwpB,EAAavlJ,OACb,OAMJ,MAAMu+J,EAAuBhZ,EAAa9xF,MAAMyZ,I,QAE5C,GAAIA,EAAKn5D,OAAS8sD,EACd,OAAO,EAGX,MAAMw+F,EAAY,GAAsCnyF,EAAKR,MAI7D,OAA2B,KAAvB2yF,EAAU5zF,UAA4D,KAAvB4zF,EAAU5zF,UAM9B,MAAV,QAAjB,EAAS,QAAT,EAAAyB,EAAKR,YAAI,eAAEviC,cAAM,eAAEshC,WACnByB,EAAKR,OAASQ,EAAKR,KAAKviC,OAAOkiC,cAQvC,OAAO,IAAIiyF,GAAiBC,EAAsB7xF,EAAMA,EAAKpqE,MAAOijJ,EAAc6Z,GAGtF,iCACIrjC,EACAjrD,EACAjQ,EACAp/B,EACAq1F,EACAsoC,EACAp5I,GAEA,GAA6BA,GAE7B,MAAMtf,EAAS,GAAwB+6B,EAAUqvC,EAAaqB,gBAAgB3lB,OAC9E,QAAe1oD,IAAX4C,EACA,OAGJ,MAAMgmE,EAAO,GAAgCoE,EAAa5B,UAAWxoE,GACrE,YAAa5C,IAAT4oE,GAKkB,KAAlBA,EAAKjB,SAIFzmE,KAAKs6J,sBAAsBvjC,EAAcl7D,EAAU6L,EAAMoqD,EAAWsoC,EAAUp5I,QATrF,EAYJ,qBACI8qD,EACAjQ,EACA0+F,EACAC,EACA1oC,EACA9wG,GAEA,MAAMy5I,EAAgB,IAAIZ,GACtB/tF,EACAjQ,EACA0+F,EACAC,EACA1oC,EACA9wG,GAGJu5I,EAAiBZ,gBAAgBc,EAAcT,mBClHvD,IAAKU,GC+CMt1H,GCnGCu1H,GCDAC,GCwJKC,GAsBAC,GAmBAC,GA4BAC,GA4BAC,GAmBAC,GA8BAC,GA+BAC,GA4BAC,GAmBAC,IJnUjB,SAAKZ,GACD,mBACA,uBACA,uBAHJ,CAAKA,QAAU,KAMR,MAAMa,GA2IT,YACYC,EACA/xC,EACAgyC,EACRC,EACQC,EACAC,EACAz3I,EACA40F,EACAt9F,GAQR,GAhBQ,KAAA+/I,MACA,KAAA/xC,aACA,KAAAgyC,kBAEA,KAAAE,qBACA,KAAAC,wBACA,KAAAz3I,QACA,KAAA40F,gBACA,KAAAt9F,SAZK,KAAAykI,SAAW,IAAIpiI,IACf,KAAA+9I,iBAAmB,IAAI/qH,IAcpC9wC,KAAK87J,mBAAqBxlG,GAAaolG,GAEvC17J,KAAK+7J,aAAe/7J,KAAKg8J,YAAYzuJ,MAAM,KAC3CvN,KAAKi8J,gBAAkBj8J,KAAKk8J,eAAe3uJ,MAAM,KAE7CvN,KAAK+7J,aAAa/gK,SAAWgF,KAAKi8J,gBAAgBjhK,OAElD,YADAgF,KAAKm8J,kBAAmB,GAI5B,IAAI7hK,EAAI,EACR,IAAKA,EAAI,EAAGA,EAAI0F,KAAK+7J,aAAa/gK,OAAS,GACnCgF,KAAK+7J,aAAazhK,KAAO0F,KAAKi8J,gBAAgB3hK,GADRA,KAM9C0F,KAAKm8J,iBAAmB7hK,IAAM0F,KAAK+7J,aAAa/gK,OAAS,EACzD82D,EAAO9xD,KAAKmkB,QAAUu2I,GAAWn4H,QAAUviC,KAAKm8J,iBAAkB,4CAxKtE,uBACIC,EACA/qF,EACAygD,EACA/iH,EACAstJ,EACAr7I,GAEA,GAAKo7I,EAAep9F,WAAWhJ,WAAWjnD,GAA1C,CAIA,GAAI+pD,GAAOsjG,EAAep9F,WAAYjwD,GAClC,OAAO/O,KAAKs8J,QAAQF,EAAgB/qF,EAAeygD,EAAW/iH,EAAMstJ,EAAS3B,GAAWr4H,KAAMrhB,GAC3F,GAAI43C,GAAYwjG,EAAep9F,WAAYjwD,GAAO,CAErD,GAAyE,YlDo1B9E,SACH6mD,EACA2mG,EACAC,GAEA,GAAI5mG,EAAG2L,aAAag7F,KAAkB3mG,EAAG2L,aAAai7F,GAClD,MAAO,OAGX,MAAMnsF,EAAgB1Y,GAAuC4kG,EAAcC,GAAellH,GAAMse,EAAG2L,aAAajqB,KAGhH,OAA6B,IAAzB+4B,EAAcr1E,QAAqC,OAArBq1E,EAAc,IAAoC,OAArBA,EAAc,GAClE,UAGJ,QkDp2BKosF,CAAuBL,EAAep9F,WAAYjwD,EAAMstJ,GACxD,OAKJ,IAAIK,EAAqB3mG,GAAahnD,EAAM,gBAC5C,IAAKqtJ,EAAep9F,WAAWhJ,WAAW0mG,KACtCA,EAAqB3mG,GAAahnD,EAAM,gBACnCqtJ,EAAep9F,WAAWhJ,WAAW0mG,IACtC,OAIR,OAAO18J,KAAKs8J,QACRF,EACA/qF,EACAygD,EACA4qC,EACA3mG,GAAasmG,EAAS3jG,GAAYgkG,IAClChC,GAAWn4H,OACXvhB,KAOZ,uBACIo7I,EACA/qF,EACAygD,EACA/iH,EACAstJ,EACA9b,EACAv/H,GAEA,IAAKo7I,EAAep9F,WAAWhJ,WAAWjnD,GACtC,OAGJ,MAAM4tJ,EAAgBpc,EAAa13F,QAC9Bt6C,GAAMq3E,GAAmBr3E,IAAMo3E,GAAsBp3E,IAAMu3E,GAAsBv3E,KAGtF,OAA6B,IAAzBouJ,EAAc3hK,OAIXgF,KAAKs8J,QACRF,EACA/qF,EACAygD,EACA/iH,EACAstJ,EACA3B,GAAWr+J,OACXsgK,EACA37I,QAZJ,EAgBI,eACJo7I,EACA/qF,EACAygD,EACA8qC,EACAlB,EACA18J,EACA69J,EACA77I,GAEA,MAAM+hD,EAAUsO,EAAcyyE,oBAAoB8Y,GAC5C5xF,EAAaoxF,EAAellF,uBAAuB0lF,EAAgB75F,GACzE,IAAKiI,EAAWA,WACZ,OAGJ,MAAM8xF,EAAgBV,EAAellF,uBAAuBwkF,EAAmB34F,GAC/E,IAAK+5F,EAAc9xF,WACf,OAGJhqD,EAAQ,GAAAxI,kBAAA,GAAqBqkJ,GAAuBA,EAAsB77I,EAC1E,MAAMu/H,EAAe,GAAA/nI,kBAAA,GAAqBqkJ,GAAuB,GAAKA,EAmBtE,OAlB4B,IAAxBtc,EAAavlJ,SAGbulJ,EAAallJ,KAAKghG,GAAkCugE,IAChDhoF,GAAWgoF,KAEXR,EAAexoF,cACXgpF,EACA75F,EACAiQ,GAA+BhI,EAAWA,aAG9CoxF,EACKhmF,uBAAuBwmF,EAAgB75F,GAAyB,GAChEz9C,SAAS9S,GAAM+tI,EAAcllJ,KAAKghG,GAAkC7pF,QAI1E,IAAI+oJ,GACPa,EAAep9F,WACf8yD,EACA8qC,EACAlB,EACA1wF,EACA8xF,EACA99J,EACAuhJ,EACAv/H,GA4CR+7I,iBAAiBlhG,EAAkBiQ,GAC/B,OAAQ9rE,KAAKmkB,OACT,KAAKu2I,GAAWn4H,OACZ,OAAOviC,KAAKg9J,wBAAwBnhG,EAAUiQ,GAClD,KAAK4uF,GAAWr4H,KACZ,OAAOriC,KAAKi9J,wBAAwBphG,EAAUiQ,GAClD,KAAK4uF,GAAWr+J,OACZ,OAAO2D,KAAKk9J,wBAAwBrhG,EAAUiQ,GAClD,QACI,OAAO3Z,EAAYnyD,KAAKmkB,MAAO,GAAGnkB,KAAKmkB,qBAI3C+4I,wBAAwBrhG,EAAkBiQ,G,YAC9C,MAAMouF,EAAY,IAAIra,GAC2B,QAA7C,EAAA7jD,GAAuBh8F,KAAK+4G,cAAc,WAAG,QAAI,GACjD/4G,KAAK+4G,cACL/4G,KAAKypH,WACLzpH,KAAKyb,OACLqwD,EAAa5B,WAC0B,GAIrC0D,EAAmB3D,GAAmB6B,EAAa5B,WAAsC,GAIzFgsF,EAAWtoF,EAAiBvD,eAAekB,MAAMjxE,GAAMA,EAAE0wE,aAAehrE,KAAKk8J,iBAE7EiB,EAAc,IAAIrsH,IAClBssH,EAAa,IAAIt/I,IACvB,IAAK,MAAMkC,KAAUk6I,EAAUzZ,UAAW,CACtC,MAAM4c,EAAYr9I,EAAO0nD,KAEzB,GAA2B,KAAvB21F,EAAU52F,SAGV,SAGJ,GAAIk0B,GAAiB0iE,GAAY,CAE7B,MAAMC,EAA2B,QAAhB,EAAAD,EAAUl4H,cAAM,eAAEA,OAC7B23H,EAAgB98J,KAAKu9J,kBACvB1hG,EACAyhG,EAASxrJ,OAAO29D,YAAc,GACH,GAG/B,GAAgC,IAA5B6tF,EAAShyF,QAAQtwE,OAEjBgF,KAAKw9J,wBAAwB3hG,EAAUyhG,EAASxrJ,OAAQg6D,EAAcgxF,OACnE,CAKH,MAAMzxF,EAAegyF,EAAUl4H,OAC/BnlC,KAAKy9J,2BACD5hG,EACAiQ,EACAqxF,EACAG,EAAShyF,QACTD,GAIJ,MAAMO,EAAiB,CACnBv/D,KAAMg/D,EAAah/D,KAAK/O,MACxB6uE,MAAyB,QAAlB,EAAAd,EAAac,aAAK,eAAE7uE,OAG/B0C,KAAK09J,gBACD19J,KAAK29J,wCACD9hG,EACAyhG,EACAxxF,EACAqxF,EACAvvF,EACAkvF,EACA,CAAClxF,KAKb,SAGJ,MAAMgyF,EAAa5iE,GAAqCqiE,GACxD,GAAIO,IAAeP,GAAqC,KAAxBO,EAAWn3F,SAWvC,SAGJ,MAAMuE,EACqC,KAAvC4yF,EAAWl3F,eAAeD,SACpBm3F,EAAWl3F,eAAeW,WACa,KAAvCu2F,EAAWl3F,eAAeD,SAC1Bm3F,EAAWl3F,oBACX5nE,EACV,IAAKksE,EAGD,SAGJ,MAAM6yF,EACqC,QADxB,EAAA79J,KAAKypH,WACnBmC,2BAA2B5gD,UAAW,eACrCniB,QACGt6C,GACGw3E,GAAmBx3E,KACE,KAApBA,EAAEm5D,KAAKjB,UAA2D,KAApBl4D,EAAEm5D,KAAKjB,YAE7Do3F,GAAoC,IAAtBA,EAAW7iK,QAO9Bg0D,EAASouG,EADQS,EAAW,GAAGn2F,MACA,IAAM,KAAIrsE,KAAKuiK,GAKlD,IAAK,MAAO57I,EAAK1kB,KAAU8/J,EAAY,CACnC,IAAIU,EACJ,GAAI99J,KAAK+9J,sBAAsBjyF,EAAc9pD,EAAK1kB,GAAQ,CACtD,MAAM0tE,EAAahrE,KAAKg+J,wBAAwBpwF,EAAkBsoF,GAClE,GAAqB,KAAjBl0I,EAAIykD,SACAuE,GACA8yF,EAAsB9yF,EACtBhrE,KAAKi+J,uBACDpiG,EACAiQ,EACAqxF,EACCn7I,EAAImjB,OAAsBlgC,KAC3B+c,KAGJ87I,EAAsB97I,EAAImqD,MAAQnqD,EAAImqD,MAAM7uE,MAAQ0C,KAAKk8J,eACzDl8J,KAAKw9J,wBAAwB3hG,EAAU75C,EAAIlQ,OAAQg6D,EAAc9rE,KAAKk8J,sBAG1E,GAAIlxF,EACA8yF,EAAsB9yF,EACtBhrE,KAAKy9J,2BACD5hG,EACAiQ,EACAqxF,EACCn7I,EAAImjB,OAA0BmmC,QAC/BtpD,OAED,CACH,MAAMs7I,EAAWt7I,EAAImjB,OACf23H,EAAgB98J,KAAKu9J,kBACvB1hG,EACAyhG,EAASxrJ,OAAO29D,YAAc,GACH,GAG/BquF,EAAsB97I,EAAImqD,MAAQnqD,EAAImqD,MAAM7uE,MAAQ0C,KAAKk+J,mBACzDl+J,KAAKw9J,wBAAwB3hG,EAAUyhG,EAASxrJ,OAAQg6D,EAAcgxF,GACtE98J,KAAKw9J,wBAAwB3hG,EAAU75C,EAAI3V,KAAMy/D,EAAc9rE,KAAKk+J,yBAGzE,CACH,MAAMlzF,EAAahrE,KAAKg+J,wBAAwBpwF,EAAkBsoF,GAC9DlrF,EACA8yF,EAAsB9yF,GAEtB8yF,EAAsB99J,KAAKk8J,eAC3Bl8J,KAAK09J,gBACD/vF,GACI,GACAC,EACA5tE,KAAKk8J,eACLtsF,GAAoC5vE,KAAK47J,uBACzC9vF,EACA7G,GAAwB6G,EAAa5B,UAAUlvE,OAAQ8wE,EAAaqB,gBAAgB3lB,QACtF1jC,KAAK7f,IAAM,CAAG43D,WAAUpvD,MAAOxI,EAAEwI,MAAOggE,gBAAiBxoE,EAAEwoE,sBAKzE,IAAK,MAAM/E,KAAQpqE,EACf0C,KAAKw9J,wBAAwB3hG,EAAU6L,EAAKhB,eAAgBoF,EAAcgyF,IAK9EE,wBACJpwF,EACAsoF,G,QAEA,GAAIA,GAAuC,KAA3BA,EAASxuF,KAAKjB,SAC1B,OAAuB,QAAhB,EAAAyvF,EAASnrF,eAAO,eAAEoB,OAAQ+pF,EAASnrF,QAAQoB,MAAM7uE,MAAQ0C,KAAKk8J,eAClE,GAAoC,QAAhC,EAAAtuF,EAAiBzC,uBAAe,eAAE/mD,IAAIpkB,KAAK87J,oBAAqB,CACvE,MAAMqC,EAAevwF,EAAiBzC,gBAAgB5mE,IAAIvE,KAAK87J,oBAC/D,OAAOqC,EAAahyF,MAAQgyF,EAAahyF,MAAM7uE,MAAQ6gK,EAAa9xJ,KAAK/O,OAMzEygK,sBACJjyF,EACAI,EACAkyF,G,MAEA,MAAMC,EACY,QAAd,EAAAnyF,EAASC,aAAK,QACS,KAAtBD,EAASzF,SACJyF,EAASp6D,OAAO49D,UAAUxD,EAASp6D,OAAO49D,UAAU10E,OAAS,GAC7DkxE,EAAS7/D,KAEbk0I,EAAeV,GAAwBW,uBACzC6d,EACAr+J,KAAKypH,YACgB,EACrBzpH,KAAKyb,QAET,GAA4B,IAAxB8kI,EAAavlJ,OACb,OAAO,EAGX,MAAMk/J,EAAY,IAAIra,GAClBwe,EAAW/gK,MACXijJ,EACAvgJ,KAAKypH,WACLzpH,KAAKyb,OACLqwD,EAAa5B,WAC0B,GAG3C,IAAK,MAAMlqD,KAAUk6I,EAAUzZ,UAC3B,KACIlmD,GAAmBv6E,EAAO0nD,OAC1B+yB,GAAcz6E,EAAO0nD,OACrBgzB,GAAuB16E,EAAO0nD,OAC9BizB,GAAiB36E,EAAO0nD,OACxBkzB,GAAkB56E,EAAO0nD,OAMxB02F,EAAiB3vG,MAAMjgD,GAAMg2D,GAAUuB,cAAcv3D,EAAGwR,EAAO0nD,SAChE,OAAO,EAIf,OAAO,EAGHs1F,wBAAwBnhG,EAAkBiQ,GAC9C,MAAMouF,EAAY,IAAIra,GAClB7/I,KAAKs+J,eACLt+J,KAAK+4G,cACL/4G,KAAKypH,WACLzpH,KAAKyb,OACLqwD,EAAa5B,WAC0B,GAK3C,IAAK,MAAMlqD,KAAUk6I,EAAUzZ,UAC3BzgJ,KAAKw9J,wBAAwB3hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKk+J,oBAIxEjB,wBAAwBphG,EAAkBiQ,GAC9C,MAAMouF,EAAY,IAAIra,GAClB7/I,KAAKs+J,eACLt+J,KAAK+4G,cACL/4G,KAAKypH,WACLzpH,KAAKyb,OACLqwD,EAAa5B,WAC0B,GAGrCizF,EAAc,IAAIrsH,IAClBu3G,EAAU6R,EAAUzZ,UAG1BzgJ,KAAKu+J,wBAAwB1iG,EAAUiQ,EAAcqxF,EAAa9U,GAGlEroJ,KAAKw+J,8BAA8B3iG,EAAUiQ,EAAcqxF,EAAa9U,GAGpEmW,8BACJ3iG,EACAiQ,EACAqxF,EACA9U,GAEA,GAAIxsF,IAAa77D,KAAKy7J,gBAElB,OAGJ,IAAI7tF,EAGJ,IAAK,MAAMluC,KAAQ1/B,KAAKy+J,uCACpB5iG,EACA6iG,GAAoBje,QAAQ30E,EAAa5B,WAAWrhB,QAC/CpoD,IAAO4nJ,EAAQ55F,MAAM/pC,GAAM8/C,GAAUuB,cAActlE,EAAE0kC,OAASzgB,EAAEgjD,WAEtE,CAGC,GAFA1nE,KAAKw9J,wBAAwB3hG,EAAUn8B,EAAKsrC,WAAYc,EAAcpsC,EAAKo9H,gBAEtEp9H,EAAKi/H,YACN,SAQJ,MAAMrB,EAAW59H,EAAKsrC,WAAW7lC,OAGjC,IAAK,MAAMkmC,KAAgB3rC,EAAKi/H,YAC5B3+J,KAAKy9J,2BAA2B5hG,EAAUiQ,EAAcqxF,EAAaG,EAAShyF,QAASD,GAG3FuC,EACIA,UAAoB3D,GAAmB6B,EAAa5B,WAAsC,GAI9FlqE,KAAK09J,gBACD19J,KAAK29J,wCACD9hG,EACAyhG,EACAxxF,EACAqxF,EACAvvF,EACAkC,GACI9vE,KAAKw7J,IACLx7J,KAAK87J,mBACL97J,KAAK87J,oBACqB,GACT,GAErBp8H,EAAKi/H,YAAY76I,KAAKxpB,I,MAClB,MAAO,CAAE+R,KAAM/R,EAAE+R,KAAK/O,MAAO6uE,MAAc,QAAP,EAAA7xE,EAAE6xE,aAAK,eAAE7uE,aAOzDihK,wBACJ1iG,EACAiQ,EACAqxF,EACA9U,G,cAEA,IAAIz6E,EACJ,IAAK,MAAM5tD,KAAUqoI,EAAS,CAC1B,MAAMgV,EAAYr9I,EAAO0nD,KAEzB,GAA2B,KAAvB21F,EAAU52F,SAAmC,CAE7CzmE,KAAKw9J,wBAAwB3hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKk+J,oBACxE,SAGJ,GAAI3jE,GAAmB8iE,GAAY,CAC/B,IAAKxiE,GAAuBwiE,GAExB,SAGJ,MAAMuB,EAAiBpkE,GAA6B6iE,EAAW,IAiB/D,GACwC,IAApCuB,EAAelvF,UAAU10E,QACM,MAAV,QAArB,EAAA4jK,EAAez5H,cAAM,eAAEshC,YACtBm4F,EAAez5H,OAAOgnC,OACvBnsE,KAAKi8J,gBAAgBjhK,OAAS,EAChC,CACEgF,KAAK67J,iBAAiBj2I,IAAIg5I,EAAez5H,QAEzCnlC,KAAKw9J,wBACD3hG,EACA+iG,EACA9yF,EACA,GAAG9rE,KAAKk8J,qBAAqBl8J,KAAKk+J,sBAEtC,SAKJl+J,KAAKw9J,wBAAwB3hG,EAAU+iG,EAAgB9yF,EAAc9rE,KAAKk8J,gBAC1E,SAGJ,GAAIzhE,GAAc4iE,GAAY,CAE1Br9J,KAAKw9J,wBAAwB3hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKk+J,oBACxE,SAGJ,GAAIxjE,GAAuB2iE,GAAY,CACnC,IAAKxiE,GAAuBwiE,GAExB,SAGJ,MAAMuB,EAAiBpkE,GAA6B6iE,EAAW,IACzDC,EAAWsB,EAAez5H,OAK1B05H,EAAkB,GAClBC,EAAa,GACnB,IAAK,MAAMzzF,KAAgBiyF,EAAShyF,QAC5BtrE,KAAK++J,kBAAkB1zF,EAAah/D,MACpCwyJ,EAAgBxjK,KAAKgwE,GAErByzF,EAAWzjK,KAAKgwE,GAIxB,GAA0B,IAAtByzF,EAAW9jK,OAAc,CAIzBgF,KAAKw9J,wBACD3hG,EACA+iG,EACA9yF,EACA9rE,KAAKu9J,kBACD1hG,EACA+iG,EAAenvF,YAAc,GACF,IAGnC,SAGJ,GAA+B,IAA3BovF,EAAgB7jK,OAIhB,SAMJ,GAAIsiK,EAASxrJ,OAAO29D,YAAc,EAC9B,IAAK,MAAM/vC,KAAQ1/B,KAAKy+J,uCAAuC5iG,EAAU,CAACyhG,EAASxrJ,SAC/E9R,KAAKw9J,wBAAwB3hG,EAAUn8B,EAAKsrC,WAAYc,EAAcpsC,EAAKo9H,eAKnF,IAAK,MAAMzxF,KAAgBwzF,EACvB7+J,KAAKy9J,2BACD5hG,EACAiQ,EACAqxF,EACAG,EAAShyF,QACTD,GAIRuC,EACIA,UAAoB3D,GAAmB6B,EAAa5B,WAAsC,GAI9FlqE,KAAK09J,gBACD19J,KAAK29J,wCACD9hG,EACAyhG,EACAxxF,EACAqxF,EACAvvF,EACA5tE,KAAKk8J,eACL2C,EAAgB/6I,KAAKxpB,I,MAUjB,MAAO,CAAE+R,KARLg8I,EAAQ94D,WAAW7qE,GAAMA,EAAEgjD,OAASptE,EAAE+R,QAAS,EACzCrM,KAAKk+J,mBACL5jK,EAAE+R,KAAK/O,MAMF6uE,MAJXk8E,EAAQ94D,WAAW7qE,GAAMA,EAAEgjD,OAASptE,EAAE6xE,SAAU,EAC1CnsE,KAAKk+J,mBACE,QAAP,EAAA5jK,EAAE6xE,aAAK,eAAE7uE,YAM/B,SAGJ,GAAIq9F,GAAiB0iE,GAAY,CAC7B,GAAIF,EAAY/4I,IAAIi5I,EAAUzgJ,IAE1B,SAGJ,MAAM0gJ,EAA2B,QAAhB,EAAAD,EAAUl4H,cAAM,eAAEA,OAC7B23H,EAAgB98J,KAAKu9J,kBACvB1hG,EACAyhG,EAASxrJ,OAAO29D,YAAc,GACH,GAM/B,GAAIzvE,KAAK++J,kBAAkB1B,GAAY,CACnCr9J,KAAKw9J,wBAAwB3hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKk+J,oBACxE,SAGJ,GAAgC,IAA5BZ,EAAShyF,QAAQtwE,OAEjBgF,KAAKw9J,wBAAwB3hG,EAAUyhG,EAASxrJ,OAAQg6D,EAAcgxF,GACtE98J,KAAKw9J,wBAAwB3hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKk+J,wBACrE,CAEH,MAAM7yF,EAAegyF,EAAUl4H,OAG/B,GAAIm4H,EAASxrJ,OAAO29D,YAAc,EAC9B,IAAK,MAAM/vC,KAAQ1/B,KAAKy+J,uCAAuC5iG,EAAU,CAACyhG,EAASxrJ,SAC/E9R,KAAKw9J,wBAAwB3hG,EAAUn8B,EAAKsrC,WAAYc,EAAcpsC,EAAKo9H,eAInF98J,KAAKy9J,2BACD5hG,EACAiQ,EACAqxF,EACAG,EAAShyF,QACTD,GAGJuC,EACIA,UACA3D,GAAmB6B,EAAa5B,WAAsC,GAY1E,MAAM0B,EAAiB,CACnBv/D,KAAMrM,KAAKk+J,mBACX/xF,OACsB,QAAlB,EAAAd,EAAac,aAAK,eAAE7uE,SAAU0C,KAAKs+J,eAC7Bt+J,KAAKk+J,mBACa,QAAlB,EAAA7yF,EAAac,aAAK,eAAE7uE,OAGlC0C,KAAK09J,gBACD19J,KAAK29J,wCACD9hG,EACAyhG,EACAxxF,EACAqxF,EACAvvF,EACAkvF,EACA,CAAClxF,KAIb,SAGJ,GAAIgvB,GAAkByiE,GAAY,CAC9B,GAAIF,EAAY/4I,IAAIi5I,EAAUzgJ,IAE1B,SAIJ5c,KAAKw9J,wBAAwB3hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKk+J,oBACxE,SAIJ,MAAMhiE,EAAQ2jD,GAAwBW,uBAClC6c,EACAr9J,KAAKypH,YACgB,EACrBzpH,KAAKyb,QACPotC,QAAQt6C,GAAMw3E,GAAmBx3E,KAEnC,GAAIvO,KAAKm8J,iBAILn8J,KAAKw9J,wBAAwB3hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKk+J,yBAI5E,GACIhiE,aAAK,EAALA,EAAOztC,MACFlgD,KACIA,EAAEktF,eACDltF,EAAEm5D,MAA4B,KAApBn5D,EAAEm5D,KAAKjB,UAClBzmE,KAAK67J,iBAAiBz3I,IAAI7V,EAAEm5D,SALzC,CAQI,MAAMk2F,EAAa5iE,GAAqCqiE,GACxD,GAA+B,MAAV,QAAjB,EAAAO,EAAWz4H,cAAM,eAAEshC,UAAyC,CAE5DzmE,KAAKw9J,wBAAwB3hG,EAAU+hG,EAAY9xF,EAAc9rE,KAAKk8J,gBACtE,SAKJ,MAAM8C,EAAeh/J,KAAKypH,WAAWmC,2BAA2BgyC,EAAWz4H,OAAOkiC,YAClF,IAAK23F,GAAwC,IAAxBA,EAAahkK,OAK9B,SAMJgF,KAAKw9J,wBAAwB3hG,EAAU+hG,EAAY9xF,EAAc9rE,KAAKk8J,qBAItEl8I,EAAO0nD,KAAKpqE,QAAU0C,KAAKk+J,oBAC3Bl+J,KAAKw9J,wBAAwB3hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKk+J,qBAM5EO,uCAAuC5iG,EAAkBojG,GAC7D,GAAIpjG,IAAa77D,KAAKy7J,gBAElB,MAAO,GAGX,MACMyD,EAAoC,aADjBvmG,GAAmBD,GAAYmD,IAElDsjG,EAAoB9qG,EAAiBwH,GAErCujG,EAAsG,GAC5G,IAAK,MAAMp0F,KAAci0F,EAAa,CAElC,GAA+B,IAA3Bj0F,EAAWyE,YACX,SAGJ,MAAMzvD,EAAShgB,KAAKq/J,kCAAkCr0F,EAAYk0F,EAAcC,GAChF,IAAKn/I,EACD,SAGJ,MAAM88I,EAAgBhtF,GAClB9vE,KAAKw7J,IACLx7I,EAAOvS,IACPuS,EAAOs/I,MACmB,GACT,GAGrBF,EAAS/jK,KAAK,CAAE2vE,aAAY8xF,gBAAe6B,YAAa3+I,EAAO2+I,cAGnE,OAAOS,EAGHC,kCACJr0F,EACAk0F,EACAC,GAEA,MAAMx3F,EAAaF,GAAcuD,GACjC,IAAKrD,EACD,OAGJ,IAAImJ,EAAanJ,EAAWkD,cAAclD,EAAWkD,cAAc7vE,OAAS,GAC5E,IAAK81E,EAAY,CAGb,GAAoC,IAAhC9F,EAAW0E,UAAU10E,OASrB,OATmC,CACnC,MAAMm5D,EAAYoc,GAAgC4uF,EAAmBn0F,EAAWyE,aAChF,IAAKtb,EACD,OAIJ2c,EAAa/a,GAAa5B,EAAW,gBAO7C,GAAIn0D,KAAKy7J,kBAAoB3qF,IAAeouF,EACxC,MAAO,CAAEzxJ,IAAKzN,KAAK87J,mBAAoBwD,KAAMxuF,GAQjD,MAAM+tF,EAAkB,GAClBC,EAAa,GACnB,IAAK,MAAMzzF,KAAiBL,EAAW7lC,OAA0BmmC,QACzDtrE,KAAK++J,kBAAkB1zF,EAAah/D,MACpCwyJ,EAAgBxjK,KAAKgwE,GAErByzF,EAAWzjK,KAAKgwE,GAKxB,OAA0B,IAAtByzF,EAAW9jK,OACJ,CAAEyS,IAAKzN,KAAK87J,mBAAoBwD,KAAMt/J,KAAK87J,oBAIvB,IAA3B+C,EAAgB7jK,OACT,CAAEyS,IAAKzN,KAAK87J,mBAAoBwD,KAAMt/J,KAAKy7J,iBAI/C,CACHhuJ,IAAKzN,KAAK87J,mBACVwD,KAAMt/J,KAAKy7J,gBACXkD,YAAa,IAAIE,IAIjBE,kBAAkB/G,GACtB,MAAM97D,EAAQl8F,KAAKypH,WAAWmC,2BAA2BosC,GACzD,QAAK97D,IAKGA,EAAMztC,MAAMlgD,GAAMw3E,GAAmBx3E,IAAMA,EAAEgxJ,oBAGjDhC,kBAAkBiC,EAAyBC,EAAyBC,GACxE,MAAM7jG,EAAW2jG,IAAoBx/J,KAAKy7J,gBAAkBz7J,KAAK87J,mBAAqB0D,EAGhFx0F,EAAay0F,EACb3vF,GACI9vE,KAAKw7J,IACL3/F,EACA77D,KAAK87J,mBACL4D,GACkB,GAEtB1/J,KAAKk8J,eAEX,GAAIwD,GAAwB10F,EAAW/Q,SAASj6D,KAAKk+J,oBAAqB,CACtE,MAAMyB,EACF30F,IAAehrE,KAAKk+J,mBACd,EACAlzF,EAAWhwE,OAASgF,KAAKk+J,mBAAmBljK,OAAS,GACkB,MAAvEgwE,EAAWA,EAAWhwE,OAASgF,KAAKk+J,mBAAmBljK,OAAS,GAC5D,EAEJ,EAEJA,EAASgwE,EAAWhwE,OAASgF,KAAKk+J,mBAAmBljK,OAAS2kK,EAG9D7C,EAAgB9xF,EAAWhpE,OAAO,EAAGhH,GAC3C,OAAO8hK,EAAc9hK,OAAS,EAAI8hK,EAAgB,IAItD,OAAO9xF,EAGX40F,WACI,MAAM5iI,EAA0B,GAGhC,OAFAh9B,KAAKkgJ,SAAS56H,SAAS8rC,GAAMp0B,EAAM3hC,QAAQ+1D,KAEpCp0B,EAGX,qBACI,OAAOh9B,KAAK+7J,aAAa/7J,KAAK+7J,aAAa/gK,OAAS,GAGxD,kBACI,OAAOgF,KAAK27J,mBAAmB3wF,WAGnC,yBACI,OAAOhrE,KAAKi8J,gBAAgBj8J,KAAKi8J,gBAAgBjhK,OAAS,GAG9D,qBACI,OAAOgF,KAAK47J,sBAAsB5wF,WAG9BizF,uBACJpiG,EACAiQ,EACAqxF,EACA7xF,EACAu0F,GAEA7/J,KAAK8/J,+BACDjkG,EACAiQ,EACAqxF,EACA7xF,EACAu0F,EAAc,IAKlB1C,EAAYv3I,IAAIi6I,EAAe/tJ,OAAO8K,IACtCijJ,EAAe/tJ,OAAO49D,UAAUpqD,SAAS9kB,GAAM28J,EAAYv3I,IAAIplB,EAAEoc,MAC7DijJ,EAAe1zF,OACfgxF,EAAYv3I,IAAIi6I,EAAe1zF,MAAMvvD,IAIrC6gJ,2BACJ5hG,EACAiQ,EACAqxF,EACA7xF,EACAu0F,GAEA7/J,KAAK8/J,+BACDjkG,EACAiQ,EACAqxF,EACA7xF,EACAu0F,EAAc,IAKlB1C,EAAYv3I,IAAIi6I,EAAexzJ,KAAKuQ,IAChCijJ,EAAe1zF,OACfgxF,EAAYv3I,IAAIi6I,EAAe1zF,MAAMvvD,IAIrCkjJ,+BACJjkG,EACAiQ,EACAqxF,EACA7xF,EACAu0F,EACAE,GAEA,MAAMtzJ,EpCtaP,SACHuzJ,EACAC,GAEA,IAAIC,EACJ,GAAyB,IAArBF,EAAUhlK,QAAkC,IAAlBilK,EAE1BC,EAAWF,EAAU,QAClB,GAAIC,IAAkBD,EAAUhlK,OAAS,EAAG,CAE/C,MAAMc,EAAQ0oE,GAAUmB,OAAOq6F,EAAUC,EAAgB,IAEzDC,EAAW,CAAEpkK,QAAOd,OADLwpE,GAAUmB,OAAOq6F,EAAUC,IAAkBnkK,OAEzD,CAEH,MAAMA,EAAQkkK,EAAUC,GAAenkK,MAEvCokK,EAAW,CAAEpkK,QAAOd,OADLglK,EAAUC,EAAgB,GAAGnkK,MAAQA,GAIxD,OAAOokK,EoCkZWC,CACV70F,EACAA,EAAQikB,WAAWn+B,GAAMA,IAAMyuG,KAGnC7/J,KAAKw9J,wBAAwB3hG,EAAUpvD,EAAOq/D,EAAc,IAG5DqxF,EAAYv3I,IAAIi6I,EAAejjJ,IAO/B,IAAIwjJ,EAA4B,EAChC,IACIA,EAA4B90F,EAAQtwE,OAAS,EAC7ColK,GAA6B,GAGxBjD,EAAY/4I,IAAIknD,EAAQ80F,GAA2BxjJ,IAFxDwjJ,KAOJ,IAAmC,IAA/BA,EAAkC,CAGlC,MAAMv0F,EAAkB2uB,GAA6BqlE,EAAgBE,GACjEl0F,GACA7rE,KAAKqgK,oBACDxkG,EvB80Bb,SAA+BykG,EAA0BnzF,GAC5D,MAAM1gE,EAAQi5D,GAAwB46F,EAAenzF,EAAgB3lB,OAG/DiyC,EA2BV,SACIhtF,EACA8zJ,EACApzF,GAEA,MAAMo5E,EAAap5E,EAAgB7I,OAAOq1B,kBAAkB4mE,GAC5D,GAAIha,EAAa,EACb,OAGJ,IAAIia,EAAeja,EACnB,KAAOia,EAAerzF,EAAgB7I,OAAOt4C,MAAOw0I,IAAgB,CAChE,MACMC,EAAa/6F,GADLyH,EAAgB7I,OAAOgB,UAAUk7F,GACGrzF,EAAgB3lB,OAClE,GAAI/6C,EAAM1Q,IAAIm+B,OAASumI,EAAW3kK,MAAMo+B,KACpC,MAIR,IAAK,IAAI/P,EAAQo8H,EAAYp8H,EAAQq2I,EAAcr2I,IAAS,CACxD,MAAMnJ,EAAQmsD,EAAgB7I,OAAOgB,UAAUn7C,GAC/C,GAAmB,KAAfnJ,EAAMhiB,MAA+C,IAAfgiB,EAAMhiB,KAKhD,OADmB0mE,GAAwB1kD,EAAOmsD,EAAgB3lB,OAChD1rD,OArDF4kK,CAChBj0J,EACA+3D,GAAUmB,OAAO26F,GACjBnzF,GAGJ,OAAIssB,EACO,CAAE39F,MAAO2Q,EAAM3Q,MAAOC,IAAK09F,GAIlChtF,EAAM1Q,IAAIm+B,OAASizC,EAAgB3lB,MAAMx7B,MAAQ,EAC1Cvf,EAGJ,CAAE3Q,MAAO2Q,EAAM3Q,MAAOC,IAAK,CAAEm+B,KAAMztB,EAAM1Q,IAAIm+B,KAAO,EAAGC,UAAW,IuBh2BzDwmI,CAAsB90F,EAAiBC,EAAaqB,iBACpD,SAGL,GAAIizF,GAA6B,GAAKA,EAA4B90F,EAAQtwE,OAAS,EAAG,CAGzF,MAAMc,EAAQ0oE,GAAUmB,OAAO2F,EAAQ80F,IACjCplK,EAASwpE,GAAUmB,OAAO2F,EAAQ80F,EAA4B,IAAMtkK,EAC1EkE,KAAKw9J,wBAAwB3hG,EAAU,CAAE//D,QAAOd,UAAU8wE,EAAc,KAIxE0xF,wBAAwB3hG,EAAkBpvD,EAAkBq/D,EAA4B80F,GAC3E90F,EAAa10C,KAAKp1B,OAAOyK,EAAM3Q,MAAO2Q,EAAMzR,UAC5C4lK,GAKjB5gK,KAAKqgK,oBAAoBxkG,EAAU6J,GAAwBj5D,EAAOq/D,EAAaqB,gBAAgB3lB,OAAQo5G,GAGnGlD,gBAAgB1gI,GACpBA,EAAM1X,SAASrhB,GAAMjE,KAAKqgK,oBAAoBp8J,EAAE43D,SAAU53D,EAAEwI,MAAOxI,EAAEwoE,mBAGjEo0F,qBAAqBC,EAA2Cr0J,G,MAKpE,OAJIwhD,EAAS6yG,KACTA,EAAkD,QAAjC,EAAA9gK,KAAKkgJ,SAAS37I,IAAIu8J,UAAe,QAAI,IAGnDA,EAAej4G,QAAQ5kD,GAA4B,KAAtBA,EAAEwoE,iBAA0B9H,GAAkB1gE,EAAEwI,MAAOA,KAGvFs0J,aAAaD,EAA2C9jI,G,MACxDixB,EAAS6yG,KACTA,EAAkD,QAAjC,EAAA9gK,KAAKkgJ,SAAS37I,IAAIu8J,UAAe,QAAI,IAG1D3xG,EAAoB2xG,GAAiBxpH,GAAMta,EAAMuyD,WAAWtrF,GAAMA,IAAMqzC,KAAM,IAG1E+oH,oBAAoBxkG,EAAkBpvD,EAAcggE,GACxD,MAAMzvC,EAAQgyB,EAAShvD,KAAKkgJ,SAAUrkF,GAAU,IAAM,KACtD,GAAwB,KAApB4Q,EAAwB,CAExB,MAAMu0F,EAAYhhK,KAAK6gK,qBAAqB7jI,EAAOvwB,GAC/Cu0J,EAAUhmK,OAAS,IAEnBgF,KAAK+gK,aAAa/jI,EAAOgkI,GAGzBh8F,GACIv4D,EACAu0J,EAAUl9I,KAAKvV,GAAMA,EAAE9B,UAQ/BuwB,EAAMyxB,MAAMxqD,GAAM8gE,GAAe9gE,EAAEwI,MAAOA,IAAUxI,EAAEwoE,kBAAoBA,KAI9EzvC,EAAM3hC,KAAK,CAAEwgE,WAAUpvD,QAAOggE,oBAG1BkxF,wCACJ9hG,EACAolG,EACAn1F,EACAqxF,EACAvvF,EACA5C,EACAY,GAIA,MAAMsqF,EAAWtoF,EAAiBvD,eAAekB,MAAMjxE,GAAMA,EAAE0wE,aAAeA,IAC9E,GAAIkrF,GAAuC,KAA3BA,EAASxuF,KAAKjB,WAA0CyvF,EAASxuF,KAAKsE,iBAAkB,CACpG,MAAMhvC,EAAQ2uC,GAAwCC,EAAgBsqF,EAAUpqF,GAChF,GAAIoqF,EAASxuF,OAASu5F,EAGlB,OAAOjkI,EAAMlZ,KAAK7f,IAAM,CAAG43D,WAAUpvD,MAAOxI,EAAEwI,MAAOggE,gBAAiBxoE,EAAEwoE,oBAM5E,GAAIzsE,KAAKm8J,kBAA8C,IAA1BvwF,EAAe5wE,QAAiC,IAAjBgiC,EAAMhiC,OAAc,CAC5E,MAAMgmK,EAAYhhK,KAAK6gK,qBAAqBhlG,EAAU7+B,EAAM,GAAGvwB,OAC/D,GAAyB,IAArBu0J,EAAUhmK,OACV,MAAO,CAAC,CAAE6gE,WAAUpvD,MAAOuwB,EAAM,GAAGvwB,MAAOggE,gBAAiBzvC,EAAM,GAAGyvC,kBAClE,CACH,MAAMN,EACFP,EAAe,GAAGO,QAAUnsE,KAAKk+J,mBAC3Bl+J,KAAKs+J,eACL1yF,EAAe,GAAGO,MAEtBQ,EAAas0F,EAAkB31F,QAAQC,MACxCjxE,IAAK,MAAC,OAAAA,EAAE+R,KAAK/O,QAAU0C,KAAKs+J,iBAAyB,QAAP,EAAAhkK,EAAE6xE,aAAK,eAAE7uE,SAAU6uE,KAEtE,GAAIQ,EAMA,OALA3sE,KAAK+gK,aAAallG,EAAUmlG,GACxBr0F,EAAWR,OACXgxF,EAAYv6I,OAAO+pD,EAAWR,MAAMvvD,IAGjC,CACH,CACIi/C,WACApvD,MAAOi5D,GAAwBiH,EAAWtgE,KAAMy/D,EAAaqB,gBAAgB3lB,OAC7EilB,gBAAiBzsE,KAAKk+J,uBAQ9C,OAAOvwF,GACH/B,EACAgC,EACA5C,EACA4E,GAAoC5vE,KAAK47J,uBACzC9vF,EACA7G,GAAwB6G,EAAa5B,UAAUlvE,OAAQ8wE,EAAaqB,gBAAgB3lB,QACtF1jC,KAAK7f,IAAM,CAAG43D,WAAUpvD,MAAOxI,EAAEwI,MAAOggE,gBAAiBxoE,EAAEwoE,qBAIrE,MAAMiyF,WAA4B,GAAlC,c,oBACqB,KAAAzsH,QAA4B,GAEpC89C,KAAKroB,GACNmjB,GAAiBnjB,IAIrBx7D,MAAM6jF,KAAKroB,GAGNmrB,gBAAgBnrB,GAErB,OADA1nE,KAAKiyC,QAAQ52C,KAAKqsE,IACX,EAGJ,eAAel2D,GAClB,MAAM0oJ,EAAY,IAAIwE,GAGtB,OAFAxE,EAAUnqE,KAAKv+E,GAER0oJ,EAAUjoH,SK1zClB,MAAMivH,GAAb,cACY,KAAAC,OAAmB,GAE3BC,WAAWryJ,GACP/O,KAAKmhK,OAAO9lK,KAAK0T,GAGrBsyJ,WACI,OAAOrhK,KAAKmhK,OAGhBG,iBAGI,IAAIC,EAAa,EACjBvhK,KAAKmhK,OAAO77I,SAAQ,CAACvW,EAAMob,KACnBpb,EAAO/O,KAAKmhK,OAAOI,KACnBA,EAAap3I,MAIF,IAAfo3I,IACAvhK,KAAKmhK,OAASnhK,KAAKmhK,OAAOvjK,MAAM2jK,GAAYv8J,OAAOhF,KAAKmhK,OAAOvjK,MAAM,EAAG2jK,KAIhFC,QAAQC,GACJ,GAAIA,EAAeN,OAAOnmK,SAAWgF,KAAKmhK,OAAOnmK,OAC7C,OAAO,EAGX,IAAK,IAAIV,EAAI,EAAGA,EAAI0F,KAAKmhK,OAAOnmK,OAAQV,IACpC,GAAI0F,KAAKmhK,OAAO7mK,KAAOmnK,EAAeN,OAAO7mK,GACzC,OAAO,EAIf,OAAO,GJ5Cf,MAAMsrC,GACF35B,YAAYuuB,EAAK4G,EAAY5jB,EAASmoB,GAClC3lC,KAAKymC,KAAOjM,EACZx6B,KAAK0mC,YAActF,EACnBphC,KAAK2mC,SAAWnpB,EAChBxd,KAAK4mC,SAAWjB,EAChB3lC,KAAK6mC,kBAAe/nC,EAExB,UACI,OAAOkB,KAAKymC,KAEhB,iBACI,OAAOzmC,KAAK0mC,YAEhB,cACI,OAAO1mC,KAAK2mC,SAEhBb,QAAQr5B,GACJ,GAAIA,EAAO,CACP,MAAM3Q,EAAQkE,KAAKgmC,SAASv5B,EAAM3Q,OAC5BC,EAAMiE,KAAKgmC,SAASv5B,EAAM1Q,KAChC,OAAOiE,KAAK4mC,SAASJ,UAAU1qC,EAAOC,GAE1C,OAAOiE,KAAK4mC,SAEhBE,OAAOtJ,EAAShgB,GACZ,IAAK,IAAIkgB,KAAUF,EACf,GAAIoI,GAAiBzO,cAAcuG,GAAS,CAExC,MAAMjxB,EAAQi1J,GAAmBhkI,EAAOjxB,OAElC65B,EAActmC,KAAKgmC,SAASv5B,EAAM3Q,OAClCyqC,EAAYvmC,KAAKgmC,SAASv5B,EAAM1Q,KACtCiE,KAAK4mC,SAAW5mC,KAAK4mC,SAASJ,UAAU,EAAGF,GAAe5I,EAAOtG,KAAOp3B,KAAK4mC,SAASJ,UAAUD,EAAWvmC,KAAK4mC,SAAS5rC,QAEzH,MAAMugC,EAAYz4B,KAAK4C,IAAI+G,EAAM3Q,MAAMo+B,KAAM,GACvCsB,EAAU14B,KAAK4C,IAAI+G,EAAM1Q,IAAIm+B,KAAM,GACzC,IAAI8M,EAAchnC,KAAK6mC,aACvB,MAAM86H,EAAmBC,GAAmBlkI,EAAOtG,MAAM,EAAOkP,GAChE,GAAI9K,EAAUD,IAAcomI,EAAiB3mK,OACzC,IAAK,IAAIV,EAAI,EAAGK,EAAMgnK,EAAiB3mK,OAAQV,EAAIK,EAAKL,IACpD0sC,EAAY1sC,EAAIihC,EAAY,GAAKomI,EAAiBrnK,QAIlDqnK,EAAiB3mK,OAAS,IAC1BgsC,EAAY9gB,OAAOqV,EAAY,EAAGC,EAAUD,KAAcomI,GAG1D3hK,KAAK6mC,aAAeG,EAAcA,EAAYppC,MAAM,EAAG29B,EAAY,GAAGv2B,OAAO28J,EAAkB36H,EAAYppC,MAAM49B,EAAU,IAGnI,MAAM4K,EAAO1I,EAAOtG,KAAKp8B,QAAUurC,EAAYD,GAC/C,GAAa,IAATF,EACA,IAAK,IAAI9rC,EAAIihC,EAAY,EAAIomI,EAAiB3mK,OAAQL,EAAMqsC,EAAYhsC,OAAQV,EAAIK,EAAKL,IACrF0sC,EAAY1sC,GAAK0sC,EAAY1sC,GAAK8rC,MAIzC,KAAIR,GAAiBtO,OAAOoG,GAK7B,MAAM,IAAI9hC,MAAM,iCAJhBoE,KAAK4mC,SAAWlJ,EAAOtG,KACvBp3B,KAAK6mC,kBAAe/nC,EAM5BkB,KAAK2mC,SAAWnpB,EAEpBupB,iBAII,YAH0BjoC,IAAtBkB,KAAK6mC,eACL7mC,KAAK6mC,aAAe+6H,GAAmB5hK,KAAK4mC,UAAU,IAEnD5mC,KAAK6mC,aAEhBd,WAAWrkC,GACPA,EAASoB,KAAK4C,IAAI5C,KAAKC,IAAIrB,EAAQ1B,KAAK4mC,SAAS5rC,QAAS,GAC1D,IAAIgsC,EAAchnC,KAAK+mC,iBACnBK,EAAM,EAAGC,EAAOL,EAAYhsC,OAChC,GAAa,IAATqsC,EACA,MAAO,CAAEnN,KAAM,EAAGC,UAAWz4B,GAEjC,KAAO0lC,EAAMC,GAAM,CACf,IAAIC,EAAMxkC,KAAK+J,OAAOu6B,EAAMC,GAAQ,GAChCL,EAAYM,GAAO5lC,EACnB2lC,EAAOC,EAGPF,EAAME,EAAM,EAKpB,IAAIpN,EAAOkN,EAAM,EACjB,MAAO,CAAElN,OAAMC,UAAWz4B,EAASslC,EAAY9M,IAEnD8L,SAASvJ,GACL,IAAIuK,EAAchnC,KAAK+mC,iBACvB,GAAItK,EAASvC,MAAQ8M,EAAYhsC,OAC7B,OAAOgF,KAAK4mC,SAAS5rC,OAEpB,GAAIyhC,EAASvC,KAAO,EACrB,OAAO,EAEX,IAAIqN,EAAaP,EAAYvK,EAASvC,MAClCsN,EAAkB/K,EAASvC,KAAO,EAAI8M,EAAYhsC,OAAUgsC,EAAYvK,EAASvC,KAAO,GAAKl6B,KAAK4mC,SAAS5rC,OAC/G,OAAO8H,KAAK4C,IAAI5C,KAAKC,IAAIwkC,EAAa9K,EAAStC,UAAWqN,GAAiBD,GAE/E,gBACI,OAAOvnC,KAAK+mC,iBAAiB/rC,OAEjC,qBAAqBqY,GACjB,IAAI2H,EAAY3H,EAChB,OAAO2H,SACuB,iBAAnBA,EAAUoc,WAAyCt4B,IAApBkc,EAAUvO,aACrB3N,IAA1Bkc,EAAUqc,aAA8D,iBAA1Brc,EAAUqc,aAEjE,cAAchkB,GACV,IAAI2H,EAAY3H,EAChB,OAAO2H,SACuB,iBAAnBA,EAAUoc,WAAyCt4B,IAApBkc,EAAUvO,YAAiD3N,IAA1Bkc,EAAUqc,aAiE7F,SAASiO,GAAUpmC,EAAM0F,GACrB,GAAI1F,EAAKlE,QAAU,EAEf,OAAOkE,EAEX,MAAMsT,EAAKtT,EAAKlE,OAAS,EAAK,EACxBuqC,EAAOrmC,EAAKtB,MAAM,EAAG4U,GACrBgzB,EAAQtmC,EAAKtB,MAAM4U,GACzB8yB,GAAUC,EAAM3gC,GAChB0gC,GAAUE,EAAO5gC,GACjB,IAAI6gC,EAAU,EACVC,EAAW,EACXprC,EAAI,EACR,KAAOmrC,EAAUF,EAAKvqC,QAAU0qC,EAAWF,EAAMxqC,QAAQ,CACrD,IAAIsL,EAAM1B,EAAQ2gC,EAAKE,GAAUD,EAAME,IAGnCxmC,EAAK5E,KAFLgM,GAAO,EAEKi/B,EAAKE,KAILD,EAAME,KAG1B,KAAOD,EAAUF,EAAKvqC,QAClBkE,EAAK5E,KAAOirC,EAAKE,KAErB,KAAOC,EAAWF,EAAMxqC,QACpBkE,EAAK5E,KAAOkrC,EAAME,KAEtB,OAAOxmC,EAEX,SAAS0iK,GAAmBxqI,EAAMyqI,EAAeC,EAAa,GAC1D,MAAM9hJ,EAAS6hJ,EAAgB,CAACC,GAAc,GAC9C,IAAK,IAAIxnK,EAAI,EAAGA,EAAI88B,EAAKp8B,OAAQV,IAAK,CAClC,IAAI4sC,EAAK9P,EAAKv8B,WAAWP,GACd,KAAP4sC,GAAyC,KAAPA,IACvB,KAAPA,GAAkC5sC,EAAI,EAAI88B,EAAKp8B,QAAqC,KAA3Bo8B,EAAKv8B,WAAWP,EAAI,IAC7EA,IAEJ0lB,EAAO3kB,KAAKymK,EAAaxnK,EAAI,IAGrC,OAAO0lB,EAEX,SAAS0hJ,GAAmBj1J,GACxB,MAAM3Q,EAAQ2Q,EAAM3Q,MACdC,EAAM0Q,EAAM1Q,IAClB,OAAID,EAAMo+B,KAAOn+B,EAAIm+B,MAASp+B,EAAMo+B,OAASn+B,EAAIm+B,MAAQp+B,EAAMq+B,UAAYp+B,EAAIo+B,UACpE,CAAEr+B,MAAOC,EAAKA,IAAKD,GAEvB2Q,EAEX,SAASs1J,GAAkB1mI,GACvB,MAAM5uB,EAAQi1J,GAAmBrmI,EAAS5uB,OAC1C,OAAIA,IAAU4uB,EAAS5uB,MACZ,CAAE8vB,QAASlB,EAASkB,QAAS9vB,SAEjC4uB,GAvHX,SAAW+J,GAYPA,EAAajzB,OAHb,SAAgBqoB,EAAK4G,EAAY5jB,EAASmoB,GACtC,OAAO,IAAIC,GAAiBpL,EAAK4G,EAAY5jB,EAASmoB,IAqB1DP,EAAa0B,OATb,SAAgBZ,EAAU1I,EAAShgB,GAC/B,GAAI0oB,aAAoBN,GAEpB,OADAM,EAASY,OAAOtJ,EAAShgB,GAClB0oB,EAGP,MAAM,IAAItqC,MAAM,yEA+BxBwpC,EAAaa,WA3Bb,SAAoBC,EAAUlJ,GAC1B,IAAI5F,EAAO8O,EAASJ,UAChBK,EAAcb,GAAUtI,EAAMlZ,IAAIi+I,KAAoB,CAACl9J,EAAGnG,KAC1D,IAAI0nC,EAAOvhC,EAAE4H,MAAM3Q,MAAMo+B,KAAOx7B,EAAE+N,MAAM3Q,MAAMo+B,KAC9C,OAAa,IAATkM,EACOvhC,EAAE4H,MAAM3Q,MAAMq+B,UAAYz7B,EAAE+N,MAAM3Q,MAAMq+B,UAE5CiM,KAEPC,EAAqB,EACzB,MAAM27H,EAAQ,GACd,IAAK,MAAM/9J,KAAKkiC,EAAa,CACzB,IAAIG,EAAcJ,EAASF,SAAS/hC,EAAEwI,MAAM3Q,OAC5C,GAAIwqC,EAAcD,EACd,MAAM,IAAIzqC,MAAM,oBAEX0qC,EAAcD,GACnB27H,EAAM3mK,KAAK+7B,EAAKoP,UAAUH,EAAoBC,IAE9CriC,EAAEs4B,QAAQvhC,QACVgnK,EAAM3mK,KAAK4I,EAAEs4B,SAEjB8J,EAAqBH,EAASF,SAAS/hC,EAAEwI,MAAM1Q,KAGnD,OADAimK,EAAM3mK,KAAK+7B,EAAKp1B,OAAOqkC,IAChB27H,EAAMxmK,KAAK,KAzD1B,CA4DG4pC,KAAiBA,GAAe,KChKnC,SAAYu1H,GACR,kBACA,oBACA,gBAHJ,CAAYA,QAAc,KAMnB,MAAMsH,GAETh2J,YACIuF,EACA0wJ,EACAC,EACAC,GAoBJ,KAAApsF,WAAuB,GAlBnBh2E,KAAKwR,KAAOA,QAAQ1S,EACpBkB,KAAK+8E,cAAgBmlF,GAAwB7lG,GAC7Cr8D,KAAKqiK,eAAiBF,EACtBniK,KAAKg2E,WAAa,IAAKosF,UAAqB,KA0P7C,SAASE,GAA0BC,GAAwB,GAC9D,MAAMC,EAAY,CACd9lD,GAAe+lD,oBACf/lD,GAAegmD,mBACfhmD,GAAeimD,0BACfjmD,GAAekmD,0BAUnB,OAPIL,GAIAC,EAAUnnK,KAAKqhH,GAAemmD,0BAG3BL,EAKJ,SAASM,KACZ,MAAO,CACHpmD,GAAe+X,wBACf/X,GAAeqmD,2BACfrmD,GAAesmD,2BACftmD,GAAeumD,qBACfvmD,GAAewmD,0BACfxmD,GAAeymD,uBACfzmD,GAAe0mD,mBACf1mD,GAAe2mD,mBACf3mD,GAAe4mD,kBACf5mD,GAAe6mD,qBACf7mD,GAAe8mD,qBACf9mD,GAAe+mD,sBACf/mD,GAAegnD,gCACfhnD,GAAeinD,wBACfjnD,GAAeknD,2BACflnD,GAAemnD,mBACfnnD,GAAeonD,uBACfpnD,GAAeqnD,6BACfrnD,GAAesnD,sBACftnD,GAAeka,iCACfla,GAAeunD,+BACfvnD,GAAewnD,4BACfxnD,GAAeynD,uBACfznD,GAAe0nD,wBACf1nD,GAAe2nD,mBACf3nD,GAAe4nD,yBACf5nD,GAAe6nD,2BACf7nD,GAAe8nD,iCACf9nD,GAAe+nD,mCACf/nD,GAAegoD,8BACfhoD,GAAeioD,0BACfjoD,GAAekoD,uBACfloD,GAAemoD,oCACfnoD,GAAeooD,kCACfpoD,GAAeqoD,2BACfroD,GAAesoD,0BACftoD,GAAeuoD,wBACfvoD,GAAewoD,0BACfxoD,GAAeyoD,wBACfzoD,GAAe0oD,2BACf1oD,GAAe2oD,0BACf3oD,GAAe4oD,wBACf5oD,GAAe6oD,+BACf7oD,GAAe8oD,4BACf9oD,GAAe+oD,sBACf/oD,GAAegpD,4BACfhpD,GAAeipD,uBACfjpD,GAAekpD,2BACflpD,GAAempD,kCACfnpD,GAAeopD,wBACfppD,GAAeqpD,sBACfrpD,GAAespD,2BACftpD,GAAeupD,qBACfvpD,GAAewpD,2BACfxpD,GAAeypD,uBACfzpD,GAAe0pD,sBACf1pD,GAAe2pD,mCACf3pD,GAAe4pD,0BA6OhB,MAAMC,GACTt6J,YAAYu6J,EAAqBC,GAsBjC,KAAAC,QAAsB,GAKtB,KAAAC,QAAsB,GAYtB,KAAAC,OAAqB,GAGrB,KAAAC,OAAqB,GAarB,KAAAxZ,uBAAwB,EAGxB,KAAAyZ,UAAW,EAGX,KAAAC,uBAAwB,EAGxB,KAAAC,4BAA8B,GAM9B,KAAAC,qBAAsB,EAItB,KAAAC,6BAA8B,EAY9B,KAAAC,sBAAgD,GArF5CnnK,KAAKwmK,YAAcA,EACnBxmK,KAAKymK,iBAAmBA,EACxBzmK,KAAKw0H,kBAAoB+xC,GAAca,qBAAqBX,GAoHhE,4BAA4BA,GACxB,MAAyB,WAArBA,EArMgC,CACpCY,mBAAmB,EACnBC,mBAAmB,EACnBC,0BAA0B,EAC1BC,2BAA2B,EAC3BC,gBAAgB,EAChBhF,qBAAqB,EACrBC,oBAAoB,EACpBC,2BAA2B,EAC3BC,0BAA0B,EAC1BC,0BAA0B,EAC1BpuC,wBAAyB,QACzBsuC,2BAA4B,OAC5BC,2BAA4B,QAC5BC,qBAAsB,QACtBC,0BAA2B,UAC3BC,uBAAwB,QACxBC,mBAAoB,QACpBC,mBAAoB,QACpBC,kBAAmB,QACnBC,qBAAsB,QACtBC,qBAAsB,QACtBC,sBAAuB,QACvBC,gCAAiC,QACjCC,wBAAyB,QACzBC,2BAA4B,QAC5BC,mBAAoB,QACpBC,uBAAwB,QACxBC,6BAA8B,QAC9BC,sBAAuB,QACvBptC,iCAAkC,QAClCqtC,+BAAgC,QAChCC,4BAA6B,QAC7BC,uBAAwB,QACxBC,wBAAyB,QACzBC,mBAAoB,QACpBC,yBAA0B,QAC1BC,2BAA4B,QAC5BC,iCAAkC,QAClCC,mCAAoC,QACpCC,8BAA+B,QAC/BC,0BAA2B,QAC3BC,uBAAwB,OACxBC,oCAAqC,OACrCC,kCAAmC,QACnCC,2BAA4B,QAC5BC,0BAA2B,QAC3BC,wBAAyB,QACzBC,0BAA2B,QAC3BC,wBAAyB,QACzBC,2BAA4B,QAC5BC,0BAA2B,QAC3BC,wBAAyB,QACzBC,+BAAgC,OAChCC,4BAA6B,QAC7BC,sBAAuB,QACvBC,4BAA6B,QAC7BC,uBAAwB,QACxBC,2BAA4B,QAC5BC,kCAAmC,OACnCE,sBAAuB,QACvBD,wBAAyB,QACzBE,2BAA4B,QAC5BC,qBAAsB,QACtBC,2BAA4B,QAC5BC,uBAAwB,OACxBC,sBAAuB,QACvBC,mCAAoC,OACpCC,yBAA0B,SAqID,QAArBG,EA/VgC,CACpCY,mBAAmB,EACnBC,mBAAmB,EACnBC,0BAA0B,EAC1BC,2BAA2B,EAC3BC,gBAAgB,EAChBhF,qBAAqB,EACrBC,oBAAoB,EACpBC,2BAA2B,EAC3BC,0BAA0B,EAC1BC,0BAA0B,EAC1BpuC,wBAAyB,OACzBsuC,2BAA4B,OAC5BC,2BAA4B,OAC5BC,qBAAsB,UACtBC,0BAA2B,UAC3BC,uBAAwB,OACxBC,mBAAoB,OACpBC,mBAAoB,OACpBC,kBAAmB,OACnBC,qBAAsB,OACtBC,qBAAsB,OACtBC,sBAAuB,OACvBC,gCAAiC,OACjCC,wBAAyB,OACzBC,2BAA4B,OAC5BC,mBAAoB,OACpBC,uBAAwB,OACxBC,6BAA8B,OAC9BC,sBAAuB,OACvBptC,iCAAkC,OAClCqtC,+BAAgC,OAChCC,4BAA6B,OAC7BC,uBAAwB,OACxBC,wBAAyB,OACzBC,mBAAoB,OACpBC,yBAA0B,OAC1BC,2BAA4B,OAC5BC,iCAAkC,OAClCC,mCAAoC,OACpCC,8BAA+B,OAC/BC,0BAA2B,OAC3BC,uBAAwB,OACxBC,oCAAqC,OACrCC,kCAAmC,OACnCC,2BAA4B,OAC5BC,0BAA2B,OAC3BC,wBAAyB,OACzBC,0BAA2B,OAC3BC,wBAAyB,OACzBC,2BAA4B,OAC5BC,0BAA2B,OAC3BC,wBAAyB,OACzBC,+BAAgC,OAChCC,4BAA6B,OAC7BC,sBAAuB,OACvBC,4BAA6B,OAC7BC,uBAAwB,OACxBC,2BAA4B,OAC5BC,kCAAmC,OACnCE,sBAAuB,OACvBD,wBAAyB,UACzBE,2BAA4B,OAC5BC,qBAAsB,OACtBC,2BAA4B,OAC5BC,uBAAwB,OACxBC,sBAAuB,OACvBC,mCAAoC,OACpCC,yBAA0B,QAOU,CACpCe,mBAAmB,EACnBC,mBAAmB,EACnBC,0BAA0B,EAC1BC,2BAA2B,EAC3BC,gBAAgB,EAChBhF,qBAAqB,EACrBC,oBAAoB,EACpBC,2BAA2B,EAC3BC,0BAA0B,EAC1BC,0BAA0B,EAC1BpuC,wBAAyB,QACzBsuC,2BAA4B,OAC5BC,2BAA4B,OAC5BC,qBAAsB,QACtBC,0BAA2B,UAC3BC,uBAAwB,OACxBC,mBAAoB,OACpBC,mBAAoB,OACpBC,kBAAmB,OACnBC,qBAAsB,OACtBC,qBAAsB,OACtBC,sBAAuB,OACvBC,gCAAiC,UACjCC,wBAAyB,QACzBC,2BAA4B,QAC5BC,mBAAoB,QACpBC,uBAAwB,QACxBC,6BAA8B,QAC9BC,sBAAuB,QACvBptC,iCAAkC,QAClCqtC,+BAAgC,OAChCC,4BAA6B,OAC7BC,uBAAwB,OACxBC,wBAAyB,OACzBC,mBAAoB,OACpBC,yBAA0B,QAC1BC,2BAA4B,OAC5BC,iCAAkC,OAClCC,mCAAoC,OACpCC,8BAA+B,OAC/BC,0BAA2B,OAC3BC,uBAAwB,OACxBC,oCAAqC,OACrCC,kCAAmC,UACnCC,2BAA4B,OAC5BC,0BAA2B,OAC3BC,wBAAyB,OACzBC,0BAA2B,OAC3BC,wBAAyB,OACzBC,2BAA4B,OAC5BC,0BAA2B,OAC3BC,wBAAyB,UACzBC,+BAAgC,OAChCC,4BAA6B,OAC7BC,sBAAuB,OACvBC,4BAA6B,OAC7BC,uBAAwB,UACxBC,2BAA4B,UAC5BC,kCAAmC,OACnCE,sBAAuB,QACvBD,wBAAyB,QACzBE,2BAA4B,OAC5BC,qBAAsB,OACtBC,2BAA4B,UAC5BC,uBAAwB,OACxBC,sBAAuB,QACvBC,mCAAoC,OACpCC,yBAA0B,QAuN9BoB,4BACI,OAAO,IAAIzF,GACPjiK,KAAKwmK,YACLxmK,KAAKkiK,qBACLliK,KAAKmiK,sBACLniK,KAAKoiK,mBAQbte,oBAAoBjoF,G,MAChB,OAMM,QALF,EAAA77D,KAAKmnK,sBAAsB57F,MAAMslD,IAC7B,MAAM82C,EAAUvyG,GACZoB,GAAcT,GAAa/1D,KAAKwmK,YAAa31C,EAAIr/G,QAErD,OAAOqqD,EAASrG,WAAWmyG,aAC7B,QAAI3nK,KAAK0nK,4BAInBE,2BACI,OAAI5nK,KAAKmnK,sBAAsBnsK,OAAS,EAC7BgF,KAAKmnK,sBAGT,CAACnnK,KAAK0nK,6BAIjBG,mBACIC,EACArB,EACAtiK,EACAmtE,EACAy2F,EACAC,GAAqB,GAmFrB,IAAIC,EAjFJjoK,KAAKinK,qBAAsB,EAGtBe,IACDhoK,KAAK0mK,QAAU,QACW5nK,IAAtBgpK,EAAUpB,WACLhrK,MAAMuD,QAAQ6oK,EAAUpB,SAGPoB,EAAUpB,QAClBphJ,SAAQ,CAACw0C,EAAU3vC,KACD,iBAAb2vC,EACP31D,EAAQC,MAAM,SAAS+lB,6CAChB,IAAAra,YAAWgqD,GAClB31D,EAAQC,MAAM,kBAAkB01D,qDAEhC95D,KAAK0mK,QAAQrrK,KAAKu+D,GAAY55D,KAAKwmK,YAAa1sG,OATxD31D,EAAQC,MAAM,uDAiB1BpE,KAAK2mK,QAAU,QACW7nK,IAAtBgpK,EAAUnB,UACLjrK,MAAMuD,QAAQ6oK,EAAUnB,SAGPmB,EAAUnB,QAClBrhJ,SAAQ,CAACw0C,EAAU3vC,KACD,iBAAb2vC,EACP31D,EAAQC,MAAM,SAAS+lB,6CAChB,IAAAra,YAAWgqD,GAClB31D,EAAQC,MAAM,kBAAkB01D,qDAEhC95D,KAAK2mK,QAAQtrK,KAAKu+D,GAAY55D,KAAKwmK,YAAa1sG,OATxD31D,EAAQC,MAAM,kDAgBtBpE,KAAK4mK,OAAS,QACW9nK,IAArBgpK,EAAUlB,SACLlrK,MAAMuD,QAAQ6oK,EAAUlB,QAGPkB,EAAUlB,OAClBthJ,SAAQ,CAACw0C,EAAU3vC,KACD,iBAAb2vC,EACP31D,EAAQC,MAAM,SAAS+lB,4CAChB,IAAAra,YAAWgqD,GAClB31D,EAAQC,MAAM,kBAAkB01D,oDAEhC95D,KAAK4mK,OAAOvrK,KAAKu+D,GAAY55D,KAAKwmK,YAAa1sG,OATvD31D,EAAQC,MAAM,iDAgBtBpE,KAAK6mK,OAAS,QACW/nK,IAArBgpK,EAAUjB,SACLnrK,MAAMuD,QAAQ6oK,EAAUjB,QAGPiB,EAAUjB,OAClBvhJ,SAAQ,CAACw0C,EAAU3vC,KACD,iBAAb2vC,EACP31D,EAAQC,MAAM,SAAS+lB,4CAChB,IAAAra,YAAWgqD,GAClB31D,EAAQC,MAAM,kBAAkB01D,oDAEhC95D,KAAK6mK,OAAOxrK,KAAKu+D,GAAY55D,KAAKwmK,YAAa1sG,OATvD31D,EAAQC,MAAM,sDAiBatF,IAA/BgpK,EAAUrB,mBAEyB,QAA/BqB,EAAUrB,kBACqB,UAA/BqB,EAAUrB,kBACqB,WAA/BqB,EAAUrB,iBAEVwB,EAAyBH,EAAUrB,iBAEnCtiK,EAAQC,MAAM,mFAImBtF,IAArCgpK,EAAUI,yBACsC,kBAArCJ,EAAUI,uBACjBloK,KAAKkoK,uBAAyBJ,EAAUI,uBAExC/jK,EAAQC,MAAM,iEAItBpE,KAAKymK,iBAAmBwB,GAA0BxB,EAClD,MAAM0B,EAAkB5B,GAAca,qBAAqBpnK,KAAKymK,kBAgEhE,GA7DAzmK,KAAKw0H,kBAAoB,IAAK2zC,GAG9BnoK,KAAKooK,yBAAyBL,GAG9BzF,IAAsD,GAAMh9I,SAAS+iJ,IAChEroK,KAAKw0H,kBAA0B6zC,GAAYroK,KAAKsoK,gBAC7CR,EAAUO,GACVA,EACAroK,KAAKw0H,kBAAkB6zC,OAK/BvF,KAA8Bx9I,SAAS+iJ,IAClCroK,KAAKw0H,kBAA0B6zC,GAAYroK,KAAKuoK,wBAC7CT,EAAUO,GACVA,EACAroK,KAAKw0H,kBAAkB6zC,OAK/BroK,KAAK0xE,cAAW5yE,OACWA,IAAvBgpK,EAAUp2F,WACwB,iBAAvBo2F,EAAUp2F,SACjBvtE,EAAQC,MAAM,kDAEdpE,KAAK0xE,SAAWlb,GAAcT,GAAa/1D,KAAKwmK,YAAasB,EAAUp2F,YAK/E1xE,KAAK2xE,UAAO7yE,OACWA,IAAnBgpK,EAAUn2F,OACoB,iBAAnBm2F,EAAUn2F,KACjBxtE,EAAQC,MAAM,8CAEdpE,KAAK2xE,KAAOm2F,EAAUn2F,WAKD7yE,IAAzBgpK,EAAU9xF,aACVh2E,KAAKoiK,kBAAoB,GACpB1mK,MAAMuD,QAAQ6oK,EAAU9xF,YAGR8xF,EAAU9xF,WAClB1wD,SAAQ,CAACvW,EAAMy5J,KACA,iBAATz5J,EACP5K,EAAQC,MAAM,6BAA6BokK,uBAE3CxoK,KAAKoiK,kBAAmB/mK,KAAKm7D,GAAcT,GAAa/1D,KAAKwmK,YAAaz3J,QAPlF5K,EAAQC,MAAM,0DAcUtF,IAA5BgpK,EAAU/qF,cACV,GAAuC,iBAA5B+qF,EAAU/qF,cAA4B,CAC7C,MAAMv/D,EAAUg/C,GAAkBsrG,EAAU/qF,eACxCv/D,EACAxd,KAAKkiK,qBAAuB1kJ,EAE5BrZ,EAAQC,MAAM,mEAGlBD,EAAQC,MAAM,uDAItBpE,KAAKyoK,2BAA2Bn3F,EAAMntE,QAGLrF,IAA7BgpK,EAAUzF,iBAC8B,iBAA7ByF,EAAUzF,eACjBl+J,EAAQC,MAAM,wDAEdpE,KAAKmiK,sBAAwB2F,EAAUzF,gBAI/CriK,KAAK0oK,4BAA4Bp3F,EAAMntE,GAGvCnE,KAAK+7E,kBAAej9E,OACWA,IAA3BgpK,EAAU/rF,eAC4B,iBAA3B+rF,EAAU/rF,aACjB53E,EAAQC,MAAM,sDAEdpE,KAAK+7E,aAAe+rF,EAAU/rF,aACxBvlB,GAAcT,GAAa/1D,KAAKwmK,YAAasB,EAAU/rF,eACvD,IAKd/7E,KAAKi2E,cAAWn3E,OAGcA,IAA1BgpK,EAAUa,cAC2B,iBAA1Bb,EAAUa,YACjBxkK,EAAQC,MAAM,sDAEdD,EAAQC,MAAM,yEACdpE,KAAKi2E,SAAWzf,GAAcT,GAAa/1D,KAAKwmK,YAAasB,EAAUa,qBAIpD7pK,IAAvBgpK,EAAU7xF,WACwB,iBAAvB6xF,EAAU7xF,SACjB9xE,EAAQC,MAAM,kDAEdpE,KAAKi2E,SAAWzf,GAAcT,GAAa/1D,KAAKwmK,YAAasB,EAAU7xF,iBAO/Cn3E,IAA5BgpK,EAAUc,gBAC6B,kBAA5Bd,EAAUc,cACjBzkK,EAAQC,MAAM,uDAEdpE,KAAK4oK,cAAgBd,EAAUc,oBAKE9pK,IAArCgpK,EAAUI,yBACsC,kBAArCJ,EAAUI,uBACjB/jK,EAAQC,MAAM,gEAEdpE,KAAKkoK,uBAAyBJ,EAAUI,wBAMhDloK,KAAKmnK,sBAAwB,QACWroK,IAApCgpK,EAAUX,wBACLzrK,MAAMuD,QAAQ6oK,EAAUX,uBAGAW,EAAUX,sBAClB7hJ,SAAQ,CAACurG,EAAK1mG,KAC3B,MAAM44C,EAAU/iE,KAAK6oK,kCAAkCh4C,EAAK1mG,EAAOhmB,GAC/D4+D,GACA/iE,KAAKmnK,sBAAsB9rK,KAAK0nE,MANxC5+D,EAAQC,MAAM,qEAakBtF,IAApCgpK,EAAUza,wBACqC,kBAApCya,EAAUza,sBACjBlpJ,EAAQC,MAAM,+DAEdpE,KAAKqtJ,sBAAwBya,EAAUza,4BAKpBvuJ,IAAvBgpK,EAAUhB,WACwB,kBAAvBgB,EAAUhB,SACjB3iK,EAAQC,MAAM,kDAEdpE,KAAK8mK,SAAWgB,EAAUhB,eAKMhoK,IAApCgpK,EAAUf,wBACqC,kBAApCe,EAAUf,sBACjB5iK,EAAQC,MAAM,+DAEdpE,KAAK+mK,sBAAwBe,EAAUf,4BAKDjoK,IAA1CgpK,EAAUd,8BAC2C,iBAA1Cc,EAAUd,4BACjB7iK,EAAQC,MAAM,gEAEdpE,KAAKgnK,4BAA8Bc,EAAUd,6BAKzD0B,4BAA4Bp3F,EAAYntE,QAGDrF,IAA/BkB,KAAKmiK,wBAITniK,KAAKmiK,sBAAwB7wF,EAAKw3F,yBACChqK,IAA/BkB,KAAKmiK,uBACLh+J,EAAQ8X,KAAK,4BAA4Bjc,KAAKmiK,0BAItDsG,2BAA2Bn3F,EAAYntE,GAGnC,QAAkCrF,IAA9BkB,KAAKkiK,qBACL,OAGJ,MAAM3wF,EAA8B,GACpCvxE,KAAKkiK,qBAAuB5wF,EAAKy3F,iBAAiB/oK,KAAKuyE,WAAYhB,QACjCzyE,IAA9BkB,KAAKkiK,sBACL/9J,EAAQ8X,KAAK,2BAA2BsgD,GAAgBv8D,KAAKkiK,yBAGjE,IAAK,MAAMtzJ,KAAO2iE,EACdptE,EAAQ8X,KAAKrN,GAIrBo6J,wBAAwBpzG,EAAgBqzG,EAA0BjzF,GAC9D,MAAMzf,EAAkB,GAExB,GAAI0yG,EAAiB,CAEjB,MAAM94F,EAAU7Z,GAAat2D,KAAKwmK,YzDnlC3B,OyDolCH5wG,EAAGI,WAAWma,KAAava,EAAGI,WAAWM,GAAa6Z,EAAS,iBAC/D5Z,EAAMl7D,KAAK80E,GAInB,GAAI6F,GAAcA,EAAWh7E,OAAS,EAClC,IAAK,MAAMwX,KAAKwjE,EAAY,CACxB,MAAMjnE,EAAOunD,GAAat2D,KAAKwmK,YAAah0J,GAC5C+jD,EAAMl7D,KAAK0T,GACP6pD,GAAYhD,EAAI7mD,IAChBwnD,EAAMl7D,QAAQ+2E,GAAqBxc,EAAI7mD,IAK/CwnD,EAAMv7D,OAAS,IACfgF,KAAKoiK,kBAAoB7rG,GAIjC6xG,yBAAyBc,GACrB,GAAKA,EAIL,IAAK,MAAMb,KAAYvF,KAA+B,CAClD,MAAM7mI,EAAWitI,EAA4Bb,QAC5BvpK,IAAbm9B,IACCj8B,KAAKw0H,kBAA0B6zC,GAAYpsI,IAKhDqsI,gBAAgBhrK,EAAY65H,EAAmBjkC,GACnD,YAAcp0F,IAAVxB,EACO41F,EACiB,kBAAV51F,IACPA,GAGX6G,QAAQyK,IAAI,WAAWuoH,mCAChBjkC,GAGHq1E,wBAAwBjrK,EAAY65H,EAAmBjkC,GAC3D,YAAcp0F,IAAVxB,EACO41F,EACiB,kBAAV51F,EACPA,EAAQ,QAAU,OACD,iBAAVA,GACA,UAAVA,GAA+B,YAAVA,GAAiC,gBAAVA,GAAqC,SAAVA,GAK/E6G,QAAQyK,IAAI,WAAWuoH,8EAChBjkC,GALQ51F,EAQXurK,kCACJM,EACAh/I,EACAhmB,GAEA,IACI,MAAMilK,EAAa,IAAInH,GACnBjiK,KAAKwmK,YACLxmK,KAAKkiK,qBACLliK,KAAKmiK,sBACLniK,KAAKoiK,mBAgCT,GA5BI+G,EAAO33J,MAA+B,iBAAhB23J,EAAO33J,KAC7B43J,EAAW53J,KAAOglD,GAAcT,GAAa/1D,KAAKwmK,YAAa2C,EAAO33J,OAEtErN,EAAQC,MAAM,sCAAsC+lB,0BAIpDg/I,EAAOnzF,aACFt6E,MAAMuD,QAAQkqK,EAAOnzF,YAKLmzF,EAAOnzF,WACf1wD,SAAQ,CAACvW,EAAMy5J,KACA,iBAATz5J,EACP5K,EAAQC,MACJ,sCAAsC+lB,uBACbq+I,uBAG7BY,EAAWpzF,WAAW36E,KAAKm7D,GAAcT,GAAa/1D,KAAKwmK,YAAaz3J,QAZhF5K,EAAQC,MACJ,sCAAsC+lB,+CAkB9Cg/I,EAAOpsF,cACP,GAAoC,iBAAzBosF,EAAOpsF,cAA4B,CAC1C,MAAMv/D,EAAUg/C,GAAkB2sG,EAAOpsF,eACrCv/D,EACA4rJ,EAAWrsF,cAAgBv/D,EAE3BrZ,EAAQ6X,KAAK,sCAAsCmO,8CAGvDhmB,EAAQC,MAAM,sCAAsC+lB,qCAa5D,OARIg/I,EAAO9G,iBAC8B,iBAA1B8G,EAAO9G,eACd+G,EAAW/G,eAAiB8G,EAAO9G,eAEnCl+J,EAAQC,MAAM,sCAAsC+lB,uCAIrDi/I,EACT,MACEjlK,EAAQC,MAAM,sCAAsC+lB,0BIvsCzD,MAAMk/I,GAITp9J,YAAY24B,GACR5kC,KAAKspK,gBAAkB1kI,GAAe,GACtC5kC,KAAKupK,eAAiB,IAAIzrJ,IAG9B0rJ,gBACI,MAAMC,EAAkBzpK,KAAKspK,gBAG7B,OAFAtpK,KAAKspK,gBAAkB,GACvBtpK,KAAKupK,eAAe1hJ,QACb4hJ,EAGXh0C,SAASlpH,EAAiBE,GACtB,OAAOzM,KAAKu0H,cAAc,IAAIl7F,GAAW,EAA0B9sB,EAASE,IAGhFi9J,WAAWn9J,EAAiBE,GACxB,OAAOzM,KAAKu0H,cAAc,IAAIl7F,GAAW,EAA4B9sB,EAASE,IAGlFk9J,eAAep9J,EAAiBE,GAC5B,OAAOzM,KAAKu0H,cAAc,IAAIl7F,GAAW,EAAgC9sB,EAASE,IAGtFm9J,cAAcr9J,EAAiBE,EAAcwhH,GACzC,MAAMuB,EAAO,IAAIn2F,GAAW,EAA+B9sB,EAASE,GAIpE,OAHIwhH,GACAuB,EAAKxB,UAAUC,GAEZjuH,KAAKu0H,cAAc/E,GAG9Bq6C,cAAct9J,EAAiBE,EAAcwhH,GACzC,MAAMuB,EAAO,IAAIn2F,GAAW,EAA+B9sB,EAASE,GAIpE,OAHIwhH,GACAuB,EAAKxB,UAAUC,GAEZjuH,KAAKu0H,cAAc/E,GAG9B+E,cAAc/E,GAGV,MAAMxtG,EACF,GAAGwtG,EAAK/iH,MAAM3Q,MAAMo+B,QAAQs1F,EAAK/iH,MAAM3Q,MAAMq+B,aAC1Cq1F,EAAK/iH,MAAM1Q,IAAIm+B,QAAQs1F,EAAK/iH,MAAM1Q,IAAIo+B,aAAam5B,EAAWk8D,EAAKjjH,YAK1E,OAJKvM,KAAKupK,eAAenlJ,IAAIpC,KACzBhiB,KAAKspK,gBAAgBjuK,KAAKm0H,GAC1BxvH,KAAKupK,eAAepkK,IAAI6c,EAAKwtG,IAE1BA,EAGXs6C,eAAeC,GACX/pK,KAAKspK,gBAAgBjuK,QAAQ0uK,GAGjCC,YACI,OAAOhqK,KAAKspK,gBAAgBzgH,QAAQ2mE,GAA2B,IAAlBA,EAAKlxD,WAGtD2rG,cACI,OAAOjqK,KAAKspK,gBAAgBzgH,QAAQ2mE,GAA2B,IAAlBA,EAAKlxD,WAGtD4rG,iBACI,OAAOlqK,KAAKspK,gBAAgBzgH,QAAQ2mE,GAA2B,IAAlBA,EAAKlxD,WAGtD6rG,gBACI,OAAOnqK,KAAKspK,gBAAgBzgH,QAAQ2mE,GAA2B,IAAlBA,EAAKlxD,WAGtD8rG,gBACI,OAAOpqK,KAAKspK,gBAAgBzgH,QAAQ2mE,GAA2B,IAAlBA,EAAKlxD,YAMnD,MAAM+rG,WAAgChB,GAGzCp9J,YAAYu7C,EAAuC5iB,GAC/C14B,MAAM04B,GACN5kC,KAAK8/F,OAASt4C,EAGlB8iH,2BAA2BxmF,EAAwBv3E,EAAiBE,GAChE,MAAM89J,EAAgBhlG,GAAsB94D,EAAM3Q,MAAO2Q,EAAM3Q,MAAQ2Q,EAAMzR,OAAQgF,KAAK8/F,QAC1F,OAAQhc,GACJ,IAAK,QACD,OAAO9jF,KAAKy1H,SAASlpH,EAASg+J,GAElC,IAAK,UACD,OAAOvqK,KAAK0pK,WAAWn9J,EAASg+J,GAEpC,IAAK,cACD,OAAOvqK,KAAK2pK,eAAep9J,EAASg+J,GAExC,QACI,MAAM,IAAI3uK,MAAM,GAAGkoF,4BAI/B0mF,2BAA2Bj+J,EAAiBE,EAAkBwhH,GAC1D,OAAOjuH,KAAK4pK,cACRr9J,EACAg5D,GAAsB94D,EAAM3Q,MAAO2Q,EAAM3Q,MAAQ2Q,EAAMzR,OAAQgF,KAAK8/F,QACpEmuB,GAIRw8C,2BAA2Bl+J,EAAiBE,EAAkBwhH,GAC1D,OAAOjuH,KAAK6pK,cACRt9J,EACAg5D,GAAsB94D,EAAM3Q,MAAO2Q,EAAM3Q,MAAQ2Q,EAAMzR,OAAQgF,KAAK8/F,QACpEmuB,IClIL,MAAMy8C,GAGTz+J,YAAY82B,GACR/iC,KAAK2qK,OAAS5nI,EAGlB,YACI,OAAO/iC,KAAK2qK,OAAO3vK,OAAS,EAAIgF,KAAK2qK,OAAO,GAAG7uK,MAAQ,EAG3D,UACI,MAAM8uK,EAAW5qK,KAAK2qK,OAAO3qK,KAAK2qK,OAAO3vK,OAAS,GAClD,OAAOgF,KAAK2qK,OAAO3vK,OAAS,EAAI4vK,EAAS9uK,MAAQ8uK,EAAS5vK,OAAS,EAGvE,aACI,OAAOgF,KAAKjE,IAAMiE,KAAKlE,MAG3B,YACI,OAAOkE,KAAK2qK,OAAO3vK,OAGvB8qE,SAASrpC,GACL,OAAOA,GAAYz8B,KAAKlE,OAAS2gC,EAAWz8B,KAAKjE,IAGrDupE,UAAUn7C,GACN,GAAIA,EAAQ,GAAKA,GAASnqB,KAAK2qK,OAAO3vK,OAClC,MAAM,IAAIY,MAAM,yBAEpB,OAAOoE,KAAK2qK,OAAOxgJ,GAKvBwvE,kBAAkBl9D,GACd,GAAmB,IAAfz8B,KAAKgsB,MACL,OAAQ,EAEZ,GAAIyQ,EAAWz8B,KAAKlE,MAChB,OAAQ,EAEZ,GAAI2gC,EAAWz8B,KAAKjE,IAChB,OAAQ,EAGZ,IAAIgH,EAAM,EACN2C,EAAM1F,KAAKgsB,MAAQ,EAEvB,KAAOjpB,EAAM2C,GAAK,CACd,MAAM4hC,EAAMxkC,KAAK+J,MAAM9J,GAAO2C,EAAM3C,GAAO,GACrCilB,EAAOhoB,KAAK2qK,OAAOrjI,GAIzB,GAAI7K,GAAYzU,EAAKlsB,QACbwrC,GAAOtnC,KAAKgsB,MAAQ,GAAKyQ,EAAWz8B,KAAK2qK,OAAOrjI,EAAM,GAAGxrC,OACzD,OAAOwrC,EAIX7K,EAAWzU,EAAKlsB,MAChB4J,EAAM4hC,EAAM,EAEZvkC,EAAMukC,EAAM,EAGpB,OAAOvkC,EAGXqiE,kBAAkB3oC,GACd,GAAmB,IAAfz8B,KAAKgsB,MACL,OAAQ,EAEZ,GAAIyQ,EAAWz8B,KAAKlE,MAChB,OAAQ,EAEZ,GAAI2gC,EAAWz8B,KAAKjE,IAChB,OAAQ,EAGZ,IAAIgH,EAAM,EACN2C,EAAM1F,KAAKgsB,MAAQ,EAEvB,KAAOjpB,GAAO2C,GAAK,CACf,MAAM4hC,EAAMxkC,KAAK+J,MAAM9J,GAAO2C,EAAM3C,GAAO,GACrCilB,EAAOhoB,KAAK2qK,OAAOrjI,GAEzB,GAAIk9B,GAAUsB,SAAS99C,EAAMyU,GACzB,OAAO6K,EAGX,GAAIA,EAAMtnC,KAAKgsB,MAAQ,GAAKw4C,GAAUmB,OAAO39C,IAASyU,GAAYA,EAAWz8B,KAAK2qK,OAAOrjI,EAAM,GAAGxrC,MAC9F,OAAQ,EAGR2gC,EAAWzU,EAAKlsB,MAChB4J,EAAM4hC,EAAM,EAEZvkC,EAAMukC,EAAM,EAGpB,OAAQ,IJ3FhB,SAAYszH,GACR,YACA,8BACA,4BAHJ,CAAYA,QAAgB,KAMrB,MAAMiQ,GACT,iCACI9zC,EACAjrD,EACArvC,EACAosB,EACAipE,EACA9wG,GAEA,GAA6BA,GAE7B,MAAMtf,EAAS,GAAwB+6B,EAAUqvC,EAAaqB,gBAAgB3lB,OAC9E,QAAe1oD,IAAX4C,EACA,OAGJ,MAAMgmE,EAAO,GAAgCoE,EAAa5B,UAAWxoE,GACrE,QAAa5C,IAAT4oE,EACA,OAGJ,MAAMojG,EAA+B,GAErC,GAAsB,KAAlBpjG,EAAKjB,SAAiC,CACtC,MAAM85E,EAAezuB,EAAUlG,2BAA2BlkD,GAC1DmjG,GAAmBE,qBAAqBxqB,EAAczuB,EAAWg5C,EAAa/zC,GAGlF,GAA2B,IAAvB+zC,EAAY9vK,OACZ,OAGJ,GAAI6tD,IAAW+xG,GAAiBoQ,IAC5B,OAAOF,EAKX,MAAMG,EAAcpiH,IAAW+xG,GAAiBsQ,YAC1CC,EAAc/5G,GAAqB65G,IAAgBr2F,GAAWxjB,EAAEriD,MACtE,OAAI+7J,EAAYv/F,KAAK4/F,GACVL,EAAYjiH,OAAOsiH,GAGvBL,EAGX,qCACI/zC,EACAjrD,EACArvC,EACAq1F,EACAj2D,EACA76C,G,MAEA,GAA6BA,GAE7B,MAAMtf,EAAS,GAAwB+6B,EAAUqvC,EAAaqB,gBAAgB3lB,OAC9E,QAAe1oD,IAAX4C,EACA,OAGJ,MAAMgmE,EAAO,GAAgCoE,EAAa5B,UAAWxoE,GACrE,QAAa5C,IAAT4oE,EACA,OAGJ,MAAMojG,EAA+B,GAErC,GAAsB,KAAlBpjG,EAAKjB,SAAiC,CACtC,MAAMznE,EAAO8yH,EAAUvE,QAAQ7lD,GAE/B,GAAI1oE,EAAM,CACN,IAAIuhJ,EAA8B,GAElCnkC,GAAiBp9G,GAAO8mG,IACC,KAAjBA,aAAO,EAAPA,EAASxnC,WACTiiF,EAAallJ,QAAQ07H,EAAatM,4BAA4B5uD,EAAUiqC,OAMpD,IAAxBy6C,EAAavlJ,SACbulJ,EAAyD,QAA1C,EAAAzuB,EAAUlG,2BAA2BlkD,UAAK,QAAI,IAGjEmjG,GAAmBE,qBAAqBxqB,EAAczuB,EAAWg5C,EAAa/zC,IAItF,OAA2B,IAAvB+zC,EAAY9vK,OAIT8vK,OAJP,EAOI,4BACJvqB,EACAzuB,EACAg5C,EACA/zC,GAEIwpB,GACAA,EAAaj7H,SAAS4iD,IAClB,IAAIklD,EAAe0E,EAAUzE,wBACzBnlD,GACwB,GACU,GAEtC,GAAIklD,GAAgBA,EAAar+G,KAAM,CAEnC,GAA0B,IAAtBq+G,EAAapuH,MAAkCouH,EAAag+C,aAC5D,OAoBJ,GAb0B,IAAtBh+C,EAAapuH,MACbouH,EAAat6D,YACbs6D,EAAamyC,mBACbnyC,EAAamyC,kBAAkBxwJ,OAE/Bq+G,EAAeA,EAAamyC,mBAGhCv/J,KAAK6gJ,aAAaiqB,EAAa,CAC3B/7J,KAAMq+G,EAAar+G,KACnBtC,MAAO2gH,EAAa3gH,QAGpBk5E,GAAsBynC,GAAe,CAErC,MAAM5Z,EAAese,EAAUoF,sBAAsB9J,GACrD,GAAI5Z,GAAgBzM,GAAqByM,GACrC,IAAK,MAAMga,KAAgBha,EAAajK,UACnCzlF,KAAK1R,GAAMA,EAAEm0F,QAAQv+B,cACrBnf,OAAOuF,GACRpuD,KAAK6gJ,aAAaiqB,EAAa,CAC3B/7J,KAAMy+G,EAAaz+G,KACnBtC,MAAO+gH,EAAa/gH,QAMpC,GAAImoE,GAAWw4C,EAAar+G,MACxB,GAA0B,IAAtBq+G,EAAapuH,KAEb+3H,EACKlN,YAAYuD,EAAar+G,MACzB+U,KAAKrjB,IAAK,MAAC,OAAc,QAAd,KAAYA,UAAE,eAAEo7D,YAC3BhT,OAAOuF,GACP9oC,SAASgyB,GAAMt3C,KAAK6gJ,aAAaiqB,EAAa9qK,KAAKqrK,mBAAmB/zH,UACxE,CACH,MAAMqgF,EAAYZ,EAAa9M,iBAAiBmD,GAChD,IAAK,MAAMX,KAAYkL,EACflL,GAAYA,EAAS19G,MACrB/O,KAAK6gJ,aAAaiqB,EAAa,CAC3B/7J,KAAM09G,EAAS19G,KACftC,MAAOggH,EAAShgH,aAW5C,0BAA0BovD,GAC9B,MAAO,CACH9sD,KAAM8sD,EACNpvD,MAAO,CACH3Q,MAAO,CAAEo+B,KAAM,EAAGC,UAAW,GAC7Bp+B,IAAK,CAAEm+B,KAAM,EAAGC,UAAW,KAK/B,oBAAoB2wI,EAA8BlpB,GACtD,IAAK,MAAMl1F,KAAOo+G,EACd,GAAIp+G,EAAI39C,OAAS6yI,EAAU7yI,MAAQg2D,GAAerY,EAAIjgD,MAAOm1I,EAAUn1I,OACnE,OAIRq+J,EAAYzvK,KAAKumJ,IKzMlB,SAAS,GACZ0pB,EACAtjG,EACAujG,EACAC,GAEA,IAAIC,EAA0CzjG,EAC9C,MAAM0jG,EAAgC,GACtC,IAEIC,EACAC,EAHAC,GAAY,EACZhzD,GAAyB,EAI7B,OAAa,CACT,GAA4B,IAAxB4yD,EAAezsK,OAAmCysK,EAAe34G,WACjE,MAAO,CACHkV,YAAayjG,EACbI,YACAF,yBACAC,0BAMR,IAAKL,GAAqBE,EAAehwE,cACrC,MAAO,CACHzzB,YAAayjG,EACbI,YACAF,yBACAC,0BAIR,IAAIE,EACAL,EAAe18J,MAAQ08J,EAAenvE,sBACtCwvE,EAAeR,EAAaG,EAAe18J,OAG/C,MAAM4rE,EAA6BmxF,EAC7BA,EAAar+D,YAAYlpG,IAAIknK,EAAe34G,iBAC5Ch0D,EACN,IAAK67E,EACD,OAAI8wF,EAAelM,kBACR,GACH+L,EACAG,EAAelM,kBACfgM,EACAC,GAMJC,EAAe52F,YACR,CACH7M,iBAAalpE,EACb+sK,kBAIR,EAOJ,GAJIlxF,EAAOg+B,oBACPkzD,GAAY,GAGZlxF,EAAOkzB,uBAAyB29D,EAChC,OAKJ,IAAIjrB,EAAe5lE,EAAO2+B,uBAC1B,GAA4B,IAAxBinC,EAAavlJ,SACbulJ,EAAe5lE,EAAOy+B,kBAEM,IAAxBmnC,EAAavlJ,QACb,OAMR,MAAM+wK,EAAiBxrB,EAAa13F,QAAQqf,IAAUwjG,EAAexlK,SAASgiE,KAoB9E,GAlBIujG,EADAM,EAAe/wK,OAAS,EACP+wK,EAAeA,EAAe/wK,OAAS,GAEvCulJ,EAAaA,EAAavlJ,OAAS,GAGpD69G,IACA8yD,EAAyBA,UAA0BF,aAAc,EAAdA,EAAgBzgG,YAGnE2P,EAAOk+B,2BACPA,GAAyB,GAGzBA,IACA+yD,EAAyBA,UAA0BH,aAAc,EAAdA,EAAgBzgG,YAInE0gG,EAAengG,MAAMrD,GAASA,IAASujG,IAMvC,OACIA,EAAe18J,OAASi5D,EAAYj5D,MACZ,IAAxB08J,EAAezsK,MACfysK,EAAelM,kBAER,GACH+L,EACAG,EAAelM,kBACfgM,EACAC,GAGD,CACHxjG,cACA6jG,YACAF,yBACAC,0BAGRF,EAAerwK,KAAKowK,IC5CrB,MAAMO,GACT,6BACIxjG,EACA0rF,EACApoF,EACAjQ,EACAvL,EACAtvC,G,MAEA,MAAMirJ,EAAkC,GAExC,OAAK/X,GAAiBpoF,GAQtBogG,GAHgD,QAA3C,EAAAhY,aAAY,EAAZA,EAAc4C,eAA6B,QAC5CkV,GAAuBG,aAAa3jG,EAAWsD,EAAe,CAAEsgG,2BAA2B,GAASprJ,GAEvD66C,EAAUvL,EAAO,GAAI27G,EAAYjrJ,GAC3EirJ,GARIA,EAWf,yCACIzjG,EACA0rF,EACApoF,EACAmgG,EACAjrJ,G,OAEKkzI,GAAiBpoF,IAOtBugG,GAFgD,QAA3C,EAAAnY,aAAY,EAAZA,EAAc4C,eAA6B,QAC5CkV,GAAuBG,aAAa3jG,EAAWsD,EAAe,CAAEsgG,2BAA2B,GAASprJ,GACxDirJ,EAAYjrJ,GAGhE,oBACIwnD,EACAsD,EACA13D,EACA4M,GASA,MAAMsrJ,EAAqC,GAG3C,OAFAC,GAAuB/jG,EAAUsD,EAAcA,EAAa5B,UAAW91D,EAASk4J,EAAiBtrJ,GAE1FsrJ,GAIf,SAAS,GAAcjgK,EAAc27D,EAA0B8pD,GAC3D,IAAIunC,EACJ,OAAQrxF,EAAYhpE,MAChB,KAAK,EACL,KAAK,EACDq6J,EAAa,GAAAx6H,WAAA,MACb,MAEJ,KAAK,EACD,GAAImpC,EAAYojD,SAAU,CACtB,MAAMs3B,EAAW5wB,aAAS,EAATA,EAAWoF,sBAAsBlvD,GAE9CqxF,EADA3W,GAAY/iC,GAAW+iC,GACV,GAAA7jH,WAAA,SAEA,GAAAA,WAAA,YAGjBw6H,EAAa,GAAAx6H,WAAA,SAEjB,MAEJ,KAAK,EACDw6H,EAAa,GAAAx6H,WAAA,OACb,MAEJ,KAAK,EACD,GAAa,SAATxyB,GAA4B,QAATA,GAA2B,MAATA,EACrC,OAEJgtJ,EAAa,GAAAx6H,WAAA,SACb,MAEJ,KAAK,EACD,GAAa,MAATxyB,EACA,OAEJgtJ,EAAarxF,EAAYmqF,YAAcnqF,EAAY2zB,QAAU,GAAA98D,WAAA,SAAsB,GAAAA,WAAA,SACnF,MAEJ,QACIw6H,EAAa,GAAAx6H,WAAA,SAIrB,OAAOw6H,EAGX,SAAS6S,GACLI,EACAzwG,EACAvL,EACAk8G,EACAP,EACAjrJ,GAIA,GAFA,GAA6BA,GAExBsrJ,EAIL,IAAK,MAAMG,KAAcH,EACrB,IAAIG,EAAWtgG,MAAf,CAIA,GAAI,EAA8B7b,EAAOm8G,EAAWpgK,MAAO,CACvD,MAAMsvB,EAAqB,CACvBnB,IAAKs1B,EAAIpgC,KAAKmsC,GAAUr8D,WACxBiN,MAAOggK,EAAW1oI,gBAGhB2oI,EAAgC,CAClCrgK,KAAMogK,EAAWpgK,KACjB8gB,KAAMs/I,EAAWt/I,KACjBwO,YAGA6wI,EAAUxxK,SACV0xK,EAAW7oI,cAAgB2oI,GAG/BP,EAAW5wK,KAAKqxK,GAGpBR,GACIO,EAAWzoI,SACX63B,EACAvL,EACAq8G,EAAiBH,EAAWC,EAAWpgK,MACvC4/J,EACAjrJ,GAIR,SAAS2rJ,EAAiBH,EAAmBngK,GACzC,OAAImgK,EAAUxxK,OAAS,EACZ,GAAGwxK,KAAangK,IAGpBA,GAIf,SAASggK,GACLC,EACAL,EACAjrJ,GAIA,GAFA,GAA6BA,GAExBsrJ,EAIL,IAAK,MAAMG,KAAcH,EAAiB,CACtC,GAAIG,EAAWtgG,MACX,SAGJ,MAAMnoC,EAA6B,GACnCqoI,GAA+BI,EAAWzoI,SAAUA,EAAUhjB,GAE9D,MAAM0rJ,EAA6B,CAC/BrgK,KAAMogK,EAAWpgK,KACjB8gB,KAAMs/I,EAAWt/I,KACjB1gB,MAAOggK,EAAWhgK,MAClBs3B,eAAgB0oI,EAAW1oI,eAC3BC,SAAUA,GAGdioI,EAAW5wK,KAAKqxK,IAIxB,SAASH,GACL/jG,EACAsD,EACApE,EACAtzD,EACAk4J,EACAtrJ,GAEA,GAA6BA,GAE7B,MAAM6mD,EAAQ,GAA0BH,GACnCG,GAIeA,EAAM4lC,YACdnoF,SAAQ,CAACq1D,EAAQtuE,KACzB,GAAIsuE,EAAOo9B,4BACP,OAIJ,GACI3jG,EAAQg4J,4BACP5jG,EAASoM,aACTpM,EAASokG,qBACTjyF,EAAO89B,gBAER,OAIJ,IAAIzwC,EAAcwxC,GAA8B7+B,GAOhD,IAJK3S,GAAe2S,EAAOw+B,oBACvBnxC,EAAc2S,EAAOy+B,kBAAkB,IAGtCpxC,EAAL,CAIA,GAAI,IAA0BA,EAAYhpE,KAAM,CAC5C,IAAKoV,EAAQg4J,0BAET,OAGJ,IAAKpkG,EAAYs0B,qBAAuBt0B,EAAYj5D,KAAK/T,QAAU,EAK/D,QAmBhB,SACIwtE,EACAsD,EACA9D,EACA5zD,EACA2iJ,EACA1qJ,EACAigK,EACAtrJ,GAEA,GAAI5M,EAAQg4J,4BAA8BrV,EACtC,OAGJ,MAAMsC,EAAa,GAAchtJ,EAAM27D,GACvC,QAAmBlpE,IAAfu6J,EACA,OAGJ,MAAMt1H,EAAiBikC,EAAYv7D,MACnC,IAAIA,EAAQs3B,EACZ,MAAMC,EAA8B,GAcpC,IAAI6oI,EACJ,GAbyB,IAArB7kG,EAAYhpE,MAAuD,IAArBgpE,EAAYhpE,OACrDoV,EAAQg4J,2BACTG,GAAuB/jG,EAAUsD,EAAc9D,EAAYN,KAAMtzD,EAAS4vB,EAAUhjB,GAGxFvU,EAAQ84D,GACJyC,EAAYN,KAAK5rE,MACjBksE,EAAYN,KAAK5rE,MAAQksE,EAAYN,KAAK1sE,OAC1C8wE,EAAaqB,gBAAgB3lB,QAKjC,IAA0BwgB,EAAYhpE,OACtC6tK,EA/VD,SACHvB,EACAtjG,G,MAEA,IAAKA,EAAYlV,WACb,OAGJ,MAAMg6G,EAAe,GACjBxB,EACAtjG,GACwB,GACU,GAEtC,IAAK8kG,IAAiBA,EAAa9kG,YAC/B,OAGJ,GAAI8kG,EAAajB,UACb,OAGJ,MAAMkB,EAAY/wE,GAAuB8wE,EAAa9kG,aACtD,IAAK+kG,GAAaD,EAAa9kG,YAAYj5D,KAAK/T,QAAU,EACtD,OAGJ,MAAMq+J,EAA+D,QAAlD,KAAc0T,EAAWD,EAAa9kG,oBAAY,QAAI,GAAAnpC,WAAA,OACzE,MAAO,CACHi3H,aAAciX,EACdlX,WAAYiX,EAAa9kG,YAAYj5D,KACrCoe,KAAMksI,EACNlJ,SAAUwF,GAAsC0D,IA+TpC2T,CAAkB,GAA6BlhG,EAAa5B,WAAYohG,aAActjG,IAE7F6kG,GACD,OAIR,MAAM3tK,EAAwB,CAC1BmN,OACA0qJ,oBACA5pI,KAAMksI,EACNlJ,SAAUwF,GAAsC0D,GAChDltF,MAAO0gG,EACPpgK,MAAO2H,EAAQg4J,+BAA4BttK,EAAY2N,EACvDs3B,eAAgB3vB,EAAQg4J,+BAA4BttK,EAAYilC,EAChEC,SAAU5vB,EAAQg4J,+BAA4BttK,EAAYklC,GAG9DsoI,EAAgBjxK,KAAK6D,GApEjB+tK,CACIzkG,EACAsD,EACA9D,EACA5zD,GACCumE,EAAOkzB,qBACRxhG,EACAigK,EACAtrJ,OA+DZ,SAASksJ,GACLC,EACAC,EACAzyF,EACAx1C,GAEA,MAAMkoI,EAAgC,CAClChhK,KAAMsuE,EAAOtuE,KACb8gB,KAAMwtD,EAAOxtD,KACbwO,SAAU,GAAAhD,SAAA,OAAgBy0I,EAAazyF,EAAOluE,QAalD,GAVIkuE,EAAOz2C,OACPmpI,EAAWnpI,KAAOy2C,EAAOz2C,MAGzBiB,IACAkoI,EAAWxpI,cAAgBsB,EAAO94B,MAGtC8gK,EAAY9xK,KAAKgyK,GAEb1yF,EAAO32C,SACP,IAAK,MAAM0yB,KAASikB,EAAO32C,SACvBkpI,GAA6BC,EAAaC,EAAa12G,EAAOikB,GC9anE,MAAM2yF,GACTrhK,YAAoBq3I,EAAqCvD,GAArC,KAAAuD,gBAAqC,KAAAvD,qBAEzDvmF,OACI,GAA6Bx5D,KAAK+/I,oBAElC,MAAMvvG,EAA4B,GAC5Bo9B,EAAmB3D,GAAmBjqE,KAAKsjJ,cAAcp5E,WAEzDqjG,EAAmB3/F,EAAiBvD,eACrCvmD,KAAKtV,GAAMA,IACXgrD,MAAK,CAAC30D,EAAGnG,I9CyDf,SAAiCmG,EAAoBnG,GACxD,MAAM8uK,EAAe7jG,GAAe9kE,GAC9B4oK,EAAe9jG,GAAejrE,GAEpC,OAAI8uK,EAAeC,GACP,EACDD,EAAeC,EACf,EAGJ5oK,EAAEmmE,WAAatsE,EAAEssE,YAAc,EAAI,E8ClEvB0iG,CAAwB7oK,EAAGnG,KAG1C,GAAgC,IAA5B6uK,EAAiBvyK,OAEjB,MAAO,GAGX,MAAM2yK,EAAe3tK,KAAK4tK,4BAA4BhgG,EAAiBvD,gBASvE,OAPA75B,EAAQn1C,KAAK,CACToR,MAAOkhK,EACPlhG,gBAAiBzsE,KAAK6tK,0BAA0BN,KAGpDvtK,KAAK8tK,+BAA+BlgG,EAAiBvD,eAAgB75B,GAE9DA,EAMHo9H,4BAA4BnjG,GAChC,IAAIsjG,EAAiBtjG,EAAW8kB,WAAW/gF,GAAMA,EAAE+7D,4BAC/CwjG,EAAiB,IACjBA,EAAiBtjG,EAAWzvE,QAGhC,MAAMgzK,EAAgBvjG,EAAWsjG,EAAiB,GAAGrmG,KACrD,MAAO,CACH5rE,MAAOmpE,GAAwBwF,EAAW,GAAG/C,KAAK5rE,MAAOkE,KAAKsjJ,cAAcn2E,gBAAgB3lB,OAC5FzrD,IAAKkpE,GAAwBT,GAAUmB,OAAOqoG,GAAgBhuK,KAAKsjJ,cAAcn2E,gBAAgB3lB,QAMjGsmH,+BAA+BrjG,EAA+Bj6B,GAClE,IAAIy9H,EAAsBxjG,EAAW8kB,WAAW/gF,GAAMA,EAAE+7D,4BACxD,KAAI0jG,EAAsB,GAI1B,OAAa,CACT,IAAIC,EAAsBzjG,EAAW8kB,WACjC,CAAC/gF,EAAG2b,IAAUA,EAAQ8jJ,GAAuBz/J,EAAE+7D,4BAqBnD,GAnBI2jG,EAAsB,IACtBA,EAAsBzjG,EAAWzvE,QAGrCw1C,EAAQn1C,KAAK,CACToR,MAAO,CACH3Q,MAAOmpE,GACHwF,EAAWwjG,GAAqBvmG,KAAK5rE,MACrCkE,KAAKsjJ,cAAcn2E,gBAAgB3lB,OAEvCzrD,IAAKkpE,GACDT,GAAUmB,OAAO8E,EAAWyjG,EAAsB,GAAGxmG,MACrD1nE,KAAKsjJ,cAAcn2E,gBAAgB3lB,QAG3CilB,gBAAiB,KAGrBwhG,EAAsBC,EAClBD,GAAuBxjG,EAAWzvE,OAClC,OAKJ6yK,0BAA0BN,GAC9B,IAAI7+F,EAAa,GACbQ,EAAkBvF,GAAe4jG,EAAiB,IAEtD,IAAK,MAAM3jG,KAAa2jG,EAAkB,CAEtC,MAAMY,EAAgBxkG,GAAeC,GAMrC,IAAIwkG,EALAl/F,IAAoBi/F,IACpBz/F,GAAc1uE,KAAKsjJ,cAAcn2E,gBAAgBO,6BACjDwB,EAAkBi/F,GAKlBC,EAD4B,KAA5BxkG,EAAUlC,KAAKjB,SACFzmE,KAAKquK,kBAAkBzkG,EAAUmB,QAAUnB,EAAUoB,YAErDhrE,KAAKsuK,sBAAsB1kG,EAAUlC,KAAMkC,EAAUoB,YAIlEpB,IAAc2jG,EAAiBA,EAAiBvyK,OAAS,KACzDozK,GAAcpuK,KAAKsjJ,cAAcn2E,gBAAgBO,8BAGrDgB,GAAc0/F,EAGlB,OAAO1/F,EAGH2/F,kBAAkBtjG,EAAuBC,GAC7C,IAAI0D,EAAa,UAAU1D,IAK3B,OAJID,EAAQoB,QACRuC,GAAc,OAAO3D,EAAQoB,MAAM7uE,SAGhCoxE,EAGH4/F,sBAAsB5mG,EAAsBsD,GAChD,MAAM8rF,EAAUpvF,EAAK4D,QAChB9R,MAAK,CAAC30D,EAAGnG,IAAMsB,KAAKuuK,gBAAgB1pK,EAAGnG,KACvColB,KAAK62D,IACF,IAAI6zF,EAAa7zF,EAAOtuE,KAAK/O,MAK7B,OAJIq9E,EAAOxO,QACPqiG,GAAc,OAAO7zF,EAAOxO,MAAM7uE,SAG/BkxK,KAGf,IAAIC,EAAiB,QAAQzjG,YAC7B,GAAItD,EAAKsE,iBACL,OAAOyiG,EAAiB,IAG5B,MAAMD,EAAa1X,EAAQt7J,KAAK,MAChC,GAAIizK,EAAezzK,OAASwzK,EAAWxzK,QAhJxB,GAiJX,OAAOyzK,EAAiBD,EAI5BC,GAAkB,IAAMzuK,KAAKsjJ,cAAcn2E,gBAAgBO,6BAE3D,IAAK,MAAMiN,KAAUm8E,EACjB2X,GACIzuK,KAAKsjJ,cAAcn2E,gBAAgBuhG,uBACnC/zF,EACA,IACA36E,KAAKsjJ,cAAcn2E,gBAAgBO,6BAK3C,OAFA+gG,GAAkB,IAEXA,EAGHF,gBAAgB1pK,EAAqBnG,GACzC,OAAOmG,EAAEwH,KAAK/O,MAAQoB,EAAE2N,KAAK/O,OAAS,EAAI,GC9G3C,SAASqxK,GAAmBC,GAC/B,MAAMC,EAAgBD,EAAYl4E,aAC5Bo4E,EAAuD,IAA1B,EAApBF,EAAY1lG,OACrB6lG,EAA6D,IAA7B,GAApBH,EAAY1lG,OAE9B,GAAI4lG,IAAUC,EACV,MAAO,CACHzxK,MAAOuxK,EACPG,eAAgB,GAChBC,iBAAiB,EACjBC,qBAAsB,IAI9B,MAAMC,EAAsB,GAC5B,IAAK,IAAIhlJ,EAAQ,EAAGA,EAAQ0kJ,EAAc7zK,OAAQmvB,IAC9CglJ,EAAU9zK,KAAKwzK,EAAch0K,WAAWsvB,IAG5C,MAAMilJ,EAA2D,IAA5B,GAApBR,EAAY1lG,OAG7B,IAAK6lG,IAEII,EAAU1gH,MACN21F,GAAwB,KAAZA,GAA+C,KAAZA,GAAyC,KAAZA,IAGjF,MAAO,CACH9mJ,MAAOuxK,EACPG,eAAgB,GAChBC,gBAAiBG,GAAWD,EAAU1gH,MAAM21F,GAAYA,GAAW,MACnE8qB,qBAAsB,IAKlC,IAAIG,EAA4B,EAC5BC,EAA+C,CAC/C5tK,OAAQ,EACR1G,OAAQ,EACRu0K,WAAY,GACZC,cAAc,EACdC,oBAAoB,GAEpBC,EAAY,EAChB,MAAMzzK,EAAoC,CACtCszK,WAAY,GACZP,eAAgB,GAChBC,iBAAiB,EACjBC,qBAAsB,IAGpBS,EAAyB,KAEtBb,GACD7yK,EAAO+yK,eAAe3zK,KAAK,CACvBqG,OAAQguK,EAAY,EACpB10K,OAAQ,EACR40K,UAAW,KAKjBC,EAAsB,CAACnuK,EAAS,IAC9BguK,EAAYhuK,GAAUytK,EAAUn0K,OACzB,EAGJm0K,EAAUO,EAAYhuK,GAG3BouK,EAAiBC,IACnB,IAAIC,GAAuB,EACvBC,EAAW,EACXC,EAAa,GAEjB,IAAK,IAAI51K,EAAI,EAAGA,EAAIy1K,EAAYz1K,IAAK,CACjC,MAAM61K,EAAWN,EAAoB,EAAIv1K,GACzC,IAAK81K,GAAeD,GAAW,CAC3BH,GAAuB,EACvB,MAEJC,EAAW,GAAKA,EAAWI,GAAkBF,GAYjD,OATIH,GACAL,IACAO,EAAa,KAAO/uK,OAAOuC,aAAamsK,KACxCH,MAEAQ,EAAa/uK,OAAOuC,aAAausK,GACjCP,GAAa,EAAIK,GAGdG,GAGLI,EAAoBH,IACtB,MAAMjkI,EAAO/qC,OAAOuC,aAAaysK,GACjCl0K,EAAOszK,WAAWl0K,KAAK6wC,GACvBojI,EAAcC,WAAWl0K,KAAK6wC,IAGlC,OAAa,CACT,IAAIk4G,EAAUyrB,IACd,GAAgB,IAAZzrB,EAiBA,OAhBI2qB,IACIO,EAAcE,cAEdvzK,EAAO+yK,eAAe3zK,KAAK,CACvBqG,OAAQ4tK,EAAc5tK,OACtB1G,OAAQ00K,EAAYJ,EAAc5tK,OAClCkuK,UAAW,IAKfF,IAAcJ,EAAc5tK,SAC5B4tK,EAAct0K,OAAS00K,EAAYJ,EAAc5tK,OACjDzF,EAAOizK,qBAAqB7zK,KAAKi0K,KAnIpBiB,EAsIUt0K,EArIhC,IACAs0K,EACHjzK,MAAOizK,EAAWhB,WAAW/zK,KAAK,IAClC0zK,qBAAsBqB,EAAWrB,qBAAqBprJ,KAAK0sJ,IAAY,IAChEA,EACHlzK,MAAOkzK,EAAQjB,WAAW/zK,KAAK,SAmInC,GAAgB,KAAZ4oJ,EAA4B,CAa5B,GAZI2qB,GAAYO,EAAcE,eAAiBF,EAAcG,oBAEzDxzK,EAAO+yK,eAAe3zK,KAAK,CACvBqG,OAAQguK,EACR10K,OAAQ,EACR40K,UAAW,IAKnBF,IAEIZ,EAAO,CACPwB,EAAiBlsB,GACjB,SAGJA,EAAUyrB,IACV,IAAIK,EAAa,GAEjB,GAAgB,KAAZ9rB,GAA+C,KAAZA,EACnB,KAAZA,GAA8D,KAA3ByrB,EAAoB,KACnDf,IACAoB,GAAc/uK,OAAOuC,aAAa0gJ,IAEtCsrB,IACAtrB,EAAUyrB,KAEVf,IACAoB,EAAa,KAAOA,EAAa/uK,OAAOuC,aAAa0gJ,IAEzDsrB,SAEA,GAAIZ,EACAoB,EAAa,KAAO/uK,OAAOuC,aAAa0gJ,GACxCsrB,SAEA,OAAQtrB,GACJ,KAAK,GACL,KAAK,GACL,KAAK,GACD8rB,EAAa/uK,OAAOuC,aAAa0gJ,GACjCsrB,IACA,MAEJ,KAAK,GACDQ,EAAa,IACbR,IACA,MAEJ,KAAK,GACDQ,EAAa,KACbR,IACA,MAEJ,KAAK,IACDQ,EAAa,KACbR,IACA,MAEJ,KAAK,IACDQ,EAAa,KACbR,IACA,MAEJ,KAAK,IACDQ,EAAa,KACbR,IACA,MAEJ,KAAK,IACDQ,EAAa,KACbR,IACA,MAEJ,KAAK,IACDQ,EAAa,KACbR,IACA,MAEJ,KAAK,IACDQ,EAAaJ,EAAc,GAC3B,MAEJ,KAAK,GAAQ,CACT,IAAIW,GAAmB,EACnBC,EAAY,EAChB,GAAuC,MAAnCb,EAAoBa,GACpBD,GAAmB,OAGnB,IADAC,MACa,CACT,MAAMC,EAAgBd,EAAoBa,GAC1C,GAAsB,MAAlBC,EACA,MACG,IACFC,GAAoBD,IACH,KAAlBA,GA2MhB,MADGR,EAzMgCQ,IA0MR,IAAbR,EAzMA,CACEM,GAAmB,EACnB,MAEAC,IAKRD,GACAd,IACAO,EAAa,KAAO/uK,OAAOuC,aAAa0gJ,GACxCsrB,MAKAQ,EAAa,IACbR,GAAa,EAAIgB,GAErB,MAGJ,KAAK,IACDR,EAAaJ,EAAc,GAC3B,MAEJ,KAAK,GACDI,EAAaJ,EAAc,GAC3B,MAEJ,QACI,GAAIe,GAAiBzsB,GAAU,CAC3B,IAAI0sB,EAAY1sB,EAAU,GAC1BsrB,IACAtrB,EAAUyrB,IACNgB,GAAiBzsB,KACjB0sB,EAAwB,EAAZA,EAAgB1sB,EAAU,GACtCsrB,IACAtrB,EAAUyrB,IAENgB,GAAiBzsB,KACjB0sB,EAAwB,EAAZA,EAAgB1sB,EAAU,GACtCsrB,MAIRQ,EAAa/uK,OAAOuC,aAAaotK,QAEjCZ,EAAa,KACbP,IAOpB1zK,EAAOszK,WAAWl0K,KAAK60K,GACvBZ,EAAcC,WAAWl0K,KAAK60K,QAC3B,GAAgB,KAAZ9rB,GAAyC,KAAZA,EAEpB,KAAZA,GAA8D,KAA3ByrB,EAAoB,KACvDS,EAAiBlsB,GACjBsrB,IACAtrB,EAAUyrB,KAGdS,EAAiBlsB,GACjBsrB,SACG,GAAIX,GAAwB,MAAZ3qB,EACdkrB,EAAcE,cAA2C,MAA3BK,EAAoB,IAIjB,IAA9BR,GAGAC,EAAct0K,OAAS00K,EAAYJ,EAAc5tK,OAC7C4tK,EAAct0K,OAAS,GACvBiB,EAAOizK,qBAAqB7zK,KAAKi0K,GAErCI,IAGAJ,EAAgB,CACZ5tK,OAAQguK,EACR10K,OAAQ,EACRu0K,WAAY,GACZC,cAAc,EACdC,oBAAoB,KAGxBa,EAAiBlsB,GACjBsrB,KAEJL,MAxBAiB,EAAiBlsB,GACjBsrB,GAAa,QAyBd,GAAIX,GAAwB,MAAZ3qB,EACdkrB,EAAcE,cAA2C,MAA3BK,EAAoB,GAGd,IAA9BR,GACPpzK,EAAO+yK,eAAe3zK,KAAK,CACvBqG,OAAQguK,EACR10K,OAAQ,EACR40K,UAAW,IAEfF,MAEAL,IAEkC,IAA9BA,GAGAC,EAAct0K,OAAS00K,EAAYJ,EAAc5tK,OACjDzF,EAAOizK,qBAAqB7zK,KAAKi0K,GACjCI,IAGAJ,EAAgB,CACZ5tK,OAAQguK,EACR10K,OAAQ,EACRu0K,WAAY,GACZC,cAAc,EACdC,oBAAoB,KAGxBa,EAAiBlsB,GACjBsrB,OA7BJY,EAAiBlsB,GACjBsrB,GAAa,QA+Bd,IAAIJ,EAAcE,cAA6B,KAAZprB,GAA4C,KAAZA,EAsDlEkrB,EAAcE,cAA4B,KAAZprB,IAC9BkrB,EAAcG,oBAAqB,GAInCL,GAAWhrB,GAAW,MACtBnoJ,EAAOgzK,iBAAkB,GAG7BqB,EAAiBlsB,GACjBsrB,QAhEqG,CAGrG,MAAMqB,EAAY3sB,EAClBksB,EAAiBlsB,GACjB,MAAM4sB,EAAenB,EAAoB,KAAOkB,GAAalB,EAAoB,KAAOkB,EASxF,IARIC,IACAtB,GAAa,EACbY,EAAiBlsB,GACjBksB,EAAiBlsB,GACjBnoJ,EAAOszK,WAAWl0K,KAAK8F,OAAOuC,aAAa0gJ,IAC3CnoJ,EAAOszK,WAAWl0K,KAAK8F,OAAOuC,aAAa0gJ,OAGlC,CACTsrB,IACA,IAAIuB,EAAUpB,IACd,GAAgB,IAAZoB,EACA,MAGJ,GAAgB,KAAZA,EAAJ,CAQA,IAAgB,KAAZA,GAAyC,KAAZA,KACxBD,EACD,MAIR,GAAIC,IAAYF,EAAW,CACvB,IAAKC,EAAc,CACftB,IACAY,EAAiBW,GACjB,MAGJ,GAAIpB,EAAoB,KAAOkB,GAAalB,EAAoB,KAAOkB,EAAW,CAC9ErB,GAAa,EACbY,EAAiBW,GACjBX,EAAiBW,GACjBX,EAAiBW,GACjB,OAIRX,EAAiBW,QA7BbX,EAAiBW,GACjBvB,IACAuB,EAAUpB,IACVS,EAAiBW,KA4CrC,IAA2Bd,EArbMI,EAybjC,SAASK,GAAoBT,GACzB,OAAIA,GAAY,IAAWA,GAAY,IAInCA,GAAY,IAAUA,GAAY,KAIlCA,GAAY,IAAUA,GAAY,GAO1C,SAASU,GAAiBV,GACtB,OAAOA,GAAY,IAAWA,GAAY,GAG9C,SAASC,GAAeD,GACpB,OAAIA,GAAY,IAAWA,GAAY,IAInCA,GAAY,IAAUA,GAAY,KAIlCA,GAAY,IAAUA,GAAY,GAO1C,SAASE,GAAkBF,GACvB,OAAIA,GAAY,IAAWA,GAAY,GAC5BA,EAAW,GAGlBA,GAAY,IAAUA,GAAY,IAC3BA,EAAW,GAAS,GAG3BA,GAAY,IAAUA,GAAY,GAC3BA,EAAW,GAAS,GAGxB,ECliBJ,MAAMe,GAMTjlK,YAAYmrB,GACRp3B,KAAKmxK,MAAQ/5I,EACbp3B,KAAKwjJ,UAAY,EACjBxjJ,KAAKoxK,aAAeh6I,EAAKp8B,OAAS,EAAIo8B,EAAKv8B,WAAW,GAAK,EAC3DmF,KAAKqxK,eAAiC,IAAhBj6I,EAAKp8B,OAG/B8qC,UACI,OAAO9lC,KAAKmxK,MAGhB,eACI,OAAOnxK,KAAKwjJ,UAGhB,aAAalmJ,GACT0C,KAAKwjJ,UAAYlmJ,EACjB0C,KAAKsxK,eAGT,kBACI,OAAOtxK,KAAKoxK,aAQhBG,iBACI,OAAOvxK,KAAKoxK,aAGhB,eACI,OAAOpxK,KAAKy8B,SAAW,EAAIz8B,KAAKmxK,MAAMn2K,OAASgF,KAAKmxK,MAAMt2K,WAAWmF,KAAKy8B,SAAW,GAAK,EAG9F,eACI,OAAOz8B,KAAKy8B,SAAW,GAAK,EAAIz8B,KAAKmxK,MAAMt2K,WAAWmF,KAAKy8B,SAAW,GAAK,EAG/E+0I,gBACI,OAAOxxK,KAAKqxK,eAGhBI,UAAU/vK,GACN,MAAMwD,EAAMlF,KAAKwjJ,UAAY9hJ,EAC7B,OAAOwD,EAAM,GAAKA,GAAOlF,KAAKmxK,MAAMn2K,OAAS,EAAIgF,KAAKmxK,MAAMt2K,WAAWqK,GAG3EwsK,QAAQhwK,GACJ1B,KAAKy8B,UAAY/6B,EAGrBiwK,WACI,OAAI3xK,KAAKwjJ,UAAYxjJ,KAAKmxK,MAAMn2K,OAAS,GAErCgF,KAAKwjJ,WAAa,EAClBxjJ,KAAKoxK,aAAepxK,KAAKmxK,MAAMt2K,WAAWmF,KAAKwjJ,YACxC,IAEXxjJ,KAAK0xK,QAAQ,IACL1xK,KAAKwxK,iBAGjBI,iBACI,O5DiBU,MADW1qI,E4DhBDlnC,KAAK6xK,c5DiBM,IAAP3qI,GAA0B,KAAPA,EAD5C,IAAsBA,E4DbzB4qI,gBACI,O5DiBU,MADU5qI,E4DhBDlnC,KAAK6xK,c5DiBgB,KAAP3qI,EADlC,IAAqBA,E4DbxB6qI,gBAC8B,KAAtB/xK,KAAKoxK,cACLpxK,KAAK2xK,WACoB,KAArB3xK,KAAK6xK,aACL7xK,KAAK2xK,YAEoB,KAAtB3xK,KAAKoxK,cACZpxK,KAAK2xK,WAIbK,iBACI,MAAQhyK,KAAKwxK,iBAAmBxxK,KAAK4xK,kBACjC5xK,KAAK2xK,WAIbM,YACI,MAAQjyK,KAAKwxK,kBAAoBxxK,KAAK8xK,iBAClC9xK,KAAK2xK,WAIbO,mBACI,MAAQlyK,KAAKwxK,kBAAoBxxK,KAAK4xK,kBAClC5xK,KAAK2xK,WAIb92K,WAAWsvB,GACP,OAAOnqB,KAAKmxK,MAAMt2K,WAAWsvB,GAGjC,aACI,OAAOnqB,KAAKmxK,MAAMn2K,OAGds2K,eACAtxK,KAAKwjJ,UAAY,IACjBxjJ,KAAKwjJ,UAAY,GAGrBxjJ,KAAKqxK,eAAiBrxK,KAAKwjJ,WAAaxjJ,KAAKmxK,MAAMn2K,OAC/CgF,KAAKqxK,iBACLrxK,KAAKwjJ,UAAYxjJ,KAAKmxK,MAAMn2K,QAGhCgF,KAAKoxK,aAAepxK,KAAKqxK,eAAiB,EAAIrxK,KAAKmxK,MAAMt2K,WAAWmF,KAAKwjJ,aRsCjF,SAAiBqX,GACG,EAAA1oJ,OAAhB,SAAuBrW,EAAed,EAAgBsC,EAAe0B,EAAO,GAQxE,MAPyB,CACrBA,OACAlD,QACAd,SACAsC,UANZ,CAAiBu9J,QAAO,KAsBxB,SAAiBC,GACG,EAAA3oJ,OAAhB,SAAuBnT,EAAiBlD,EAAed,EAAgBsxF,GAQnE,MAPqB,CACjBxwF,QACAd,SACAgE,OACAstF,aANZ,CAAiBwuE,QAAK,KAmBtB,SAAiBC,GACG,EAAA5oJ,OAAhB,SACIrW,EACAd,EACAm3K,EACAC,EACA9lF,GAWA,MAT2B,CACvBxwF,QACAd,SACAgE,KAAM,EACNozK,oBACA9lF,WACA6lF,iBAdZ,CAAiBpX,QAAW,KA4B5B,SAAiBC,GACG,EAAA7oJ,OAAhB,SACIrW,EACAd,EACAm3K,EACAE,EACAC,EACAhmF,GAYA,MAV2B,CACvBxwF,QACAd,SACAgE,KAAM,EACNstF,WACA6lF,eACAE,gBACAC,sBAhBZ,CAAiBtX,QAAW,KA4B5B,SAAiBC,GACG,EAAA9oJ,OAAhB,SAAuBrW,EAAed,EAAgBu3K,EAA0BjmF,GAS5E,MAR4B,CACxBxwF,QACAd,SACAgE,KAAM,EACNstF,WACAimF,gBAPZ,CAAiBtX,QAAY,KAmB7B,SAAiBC,GACG,EAAA/oJ,OAAhB,SAAuBrW,EAAed,EAAgBkzF,EAA0B5B,GAS5E,MAR4B,CACxBxwF,QACAd,SACAgE,KAAM,EACNstF,WACA4B,gBAPZ,CAAiBgtE,QAAY,KA8B7B,SAAiBC,GACG,EAAAhpJ,OAAhB,SACIrW,EACAd,EACAkuE,EACAwtB,EACA87E,EACAlmF,GAaA,MAX2B,CACvBxwF,QACAd,SACAgE,KAAM,EACNkqE,QACAwtB,eACA87E,eACAxxB,gBAAyB,EAAR93E,EAAsC,EAAI,EAC3DojB,aAjBZ,CAAiB6uE,QAAW,KA+B5B,SAAiBC,GACG,EAAAjpJ,OAAhB,SACIrW,EACAd,EACAsC,EACA4P,EACA85D,EACAslB,GAYA,MAV2B,CACvBxwF,QACAd,SACAgE,KAAM,EACNkO,YACA85D,cACA1pE,QACAgvF,aAhBZ,CAAiB8uE,QAAW,KA4B5B,SAAiBC,GACG,EAAAlpJ,OAAhB,SAAuBrW,EAAed,EAAgBy3K,EAA4BnmF,GAS9E,MAR6B,CACzBxwF,QACAd,SACAgE,KAAM,EACNyzK,eACAnmF,aAPZ,CAAiB+uE,QAAa,KAmB9B,SAAiBC,GACG,EAAAnpJ,OAAhB,SAAuBrW,EAAed,EAAgBsC,EAAegvF,GAYjE,MAR+B,CAC3BxwF,QACAd,SACAgE,KAAM,EACN1B,MANoBA,EAAMuS,UAAU,QAOpCy8E,aAVZ,CAAiBgvE,QAAe,KSrWhC,MAAMoX,GAAsC,IAAI50J,IAAI,CAChD,CAAC,MAAO,GACR,CAAC,KAAM,GACP,CAAC,SAAU,GACX,CAAC,QAAS,GACV,CAAC,QAAS,GACV,CAAC,QAAS,GACV,CAAC,OAAQ,GACT,CAAC,QAAS,GACV,CAAC,WAAY,GACb,CAAC,YAAa,GACd,CAAC,MAAO,IACR,CAAC,MAAO,IACR,CAAC,OAAQ,IACT,CAAC,OAAQ,IACT,CAAC,SAAU,IACX,CAAC,UAAW,IACZ,CAAC,MAAO,IACR,CAAC,OAAQ,IACT,CAAC,SAAU,IACX,CAAC,KAAM,IACP,CAAC,SAAU,IACX,CAAC,KAAM,IACP,CAAC,KAAM,IACP,CAAC,SAAU,IACX,CAAC,QAAS,IACV,CAAC,WAAY,IACb,CAAC,MAAO,IACR,CAAC,KAAM,IACP,CAAC,OAAQ,IACT,CAAC,QAAS,IACV,CAAC,SAAU,IACX,CAAC,MAAO,IACR,CAAC,QAAS,IACV,CAAC,OAAQ,IACT,CAAC,QAAS,IACV,CAAC,QAAS,IACV,CAAC,OAAQ,IACT,CAAC,OAAQ,MAGP60J,GAAkD,CACpD,EAAoB,EACpB,EAAyB,EACzB,EAAuB,EACvB,EAA2B,EAC3B,EAAgC,EAChC,EAA8B,EAC9B,EAA0B,EAC1B,EAA+B,EAC/B,EAA2B,EAC3B,EAAgC,EAChC,GAAuB,EACvB,GAA4B,EAC5B,GAAuB,GACvB,GAA4B,EAC5B,GAAiC,EACjC,GAA4B,GAC5B,GAAmC,GACnC,GAA0B,EAC1B,GAA+B,EAC/B,GAAkC,GAClC,GAAyB,GACzB,GAAgC,GAChC,GAA+B,EAC/B,GAAoC,EACpC,GAAoB,EACpB,GAAyB,EACzB,GAAyB,EACzB,GAA8B,EAC9B,GAA0B,GAC1B,GAAsB,EACtB,GAA2B,EAC3B,GAA2B,EAC3B,GAAgC,EAChC,GAAyB,EACzB,GAA8B,EAE9B,GAAoB,EACpB,GAAmB,EACnB,GAAoB,EACpB,GAAmB,EACnB,GAAsB,EACtB,GAAmB,EACnB,GAAsB,GA6CnB,MAAMC,GAAb,cACY,KAAAC,IAAM,IAAI3B,GAAgB,IAC1B,KAAA4B,QAAmB,GACnB,KAAAC,eAAiB,EACjB,KAAAC,YAAc,EACd,KAAAC,YAA2B,GAC3B,KAAAC,eAA+B,GAE/B,KAAAC,iBAAmB,IAAIr1J,IAKvB,KAAAs1J,SAAW,EACX,KAAAC,WAAa,EACb,KAAAC,SAAW,EAGX,KAAAC,aAAe,EAIf,KAAAC,gBAAkB,EAIlB,KAAAC,mBAAqB,EAIrB,KAAAC,kBAAoB,EACpB,KAAAC,kBAAoB,EAGpB,KAAAC,cAAe,EAEvBC,SACIz8I,EACAt7B,EACAd,EACA84K,EAAoB,EACpBC,GAAc,GAEd,QAAcj1K,IAAVhD,EACAA,EAAQ,OACL,GAAIA,EAAQ,GAAKA,EAAQs7B,EAAKp8B,OACjC,MAAM,IAAIY,MAAM,uBAGpB,QAAekD,IAAX9D,EACAA,EAASo8B,EAAKp8B,WACX,IAAIA,EAAS,GAAKc,EAAQd,EAASo8B,EAAKp8B,OAC3C,MAAM,IAAIY,MAAM,wBACTE,EAAQd,EAASo8B,EAAKp8B,SAC7Bo8B,EAAOA,EAAKp1B,OAAO,EAAGlG,EAAQd,IAGlCgF,KAAK6yK,IAAM,IAAI3B,GAAgB95I,GAC/Bp3B,KAAK6yK,IAAIp2I,SAAW3gC,EACpBkE,KAAK8yK,QAAU,GACf9yK,KAAK+yK,eAAiB,EACtB/yK,KAAKgzK,YAAcc,EACnB9zK,KAAKizK,YAAc,GACnBjzK,KAAKkzK,eAAiB,GACtBlzK,KAAK4zK,aAAeG,EAEpB,MAAMh4K,EAAMD,EAAQd,EAMpB,IAJc,IAAVc,GACAkE,KAAKg0K,iCAGDh0K,KAAK6yK,IAAIrB,kBACbxxK,KAAKi0K,gBAEDj0K,KAAK6yK,IAAIp2I,UAAY1gC,MAMD,IAAxBiE,KAAK8yK,QAAQ93K,QAA+D,IAA/CgF,KAAK8yK,QAAQ9yK,KAAK8yK,QAAQ93K,OAAS,GAAGgE,MACnEgB,KAAK8yK,QAAQz3K,KAAK4/J,GAAa9oJ,OAAOnS,KAAK6yK,IAAIp2I,SAAU,EAAG,EAAqBz8B,KAAKk0K,iBAI1Fl0K,KAAKm0K,WAAW,EAAG,GAAwB,GAA0B,GAGrEn0K,KAAK8yK,QAAQz3K,KAAKy/J,GAAM3oJ,OAAO,EAAuBnS,KAAK6yK,IAAIp2I,SAAU,EAAGz8B,KAAKk0K,iBAGjFl0K,KAAKo0K,gBAEL,IAAI1mG,EAA+B,KAC/B1tE,KAAKozK,SAAWpzK,KAAKqzK,YAAcrzK,KAAKozK,SAAWpzK,KAAKszK,SACxD5lG,EAA+B,KACxB1tE,KAAKqzK,WAAarzK,KAAKozK,UAAYpzK,KAAKqzK,WAAarzK,KAAKszK,WACjE5lG,EAA+B,QAGnC,IAAIghG,EAAyB,OAG7B,GAAI1uK,KAAKwzK,gBAAkBxzK,KAAKuzK,aAAe,EAC3C7E,EAAyB,UACtB,GAAI1uK,KAAKuzK,aAAe,EAAG,CAG9B,IAAIc,EAAwBvxK,KAAKwmB,MAAMtpB,KAAKyzK,mBAAqBzzK,KAAKuzK,cAClEc,EAAwB,EACxBA,EAAwB,EACjBA,EAtJO,IAuJdA,EAvJc,GAyJlB3F,EAAyB,GACzB,IAAK,IAAIp0K,EAAI,EAAGA,EAAI+5K,EAAuB/5K,IACvCo0K,GAA0B,IAIlC,MAAO,CACHpqG,OAAQ,IAAIomG,GAAoB1qK,KAAK8yK,SACrCtrH,MAAO,IAAIkjH,GAAoB1qK,KAAKizK,aACpCqB,gBAAiBt0K,KAAKmzK,iBACtBoB,cAAev0K,KAAKw0K,eACpB9mG,+BACAghG,yBACA5iB,gCAAiC9rJ,KAAK0zK,mBAAqB1zK,KAAK2zK,kBAAoB,IAAM,KAIlG,uBAAuBlB,GACnB,OAAOE,GAAcF,GAGzB,4BAA4BA,GACxB,YAAqB3zK,IAAjB2zK,QAA8D3zK,IAAhC6zK,GAAcF,IAGoB,IAA9B,EAA9BE,GAAcF,IAG1B,4BAA4BA,GACxB,YAAqB3zK,IAAjB2zK,QAA8D3zK,IAAhC6zK,GAAcF,IAGoB,IAA9B,EAA9BE,GAAcF,IAGlBwB,gBACJj0K,KAAK6yK,IAAIb,iBAELhyK,KAAK6yK,IAAIrB,iBAIRxxK,KAAKy0K,oBACNz0K,KAAK6yK,IAAIlB,WAIT8C,mBAEJ,MAAMC,EAAqB10K,KAAK20K,yBAEhC,GAAID,GAAsB,EAAG,CACzB,IAAIE,EAAe,GACfF,EAAqB,IACrBE,EAAe50K,KAAK6yK,IAAI/sI,UAAU9jC,OAAOhC,KAAK6yK,IAAIp2I,SAAUi4I,GAE5D10K,KAAK6yK,IAAInB,QAAQgD,IAGrB,MAAMG,EAAiB70K,KAAK80K,mBAAmBF,GAC/C,GAAuB,IAAnBC,EAEA,OADA70K,KAAK+0K,cAAcF,EAAgBH,IAC5B,EAIf,GAA6B,KAAzB10K,KAAK6yK,IAAIhB,YAET,OADA7xK,KAAKg1K,kBACE,EAGX,GAAIh1K,KAAK4zK,cAAgB5zK,KAAKi1K,mBAI1B,OAHAj1K,KAAKk1K,qBACwB,KAAzBl1K,KAAK6yK,IAAIhB,YAA+B,EAA2B,IAEhE,EAGX,OAAQ7xK,KAAK6yK,IAAIhB,aACb,KA5Oa,MA8OT,OAA0B,IAAtB7xK,KAAK6yK,IAAIp2I,UAGNz8B,KAAKm1K,iBAGhB,KAAK,GAAqB,CACtB,MAAMn6K,EAA+B,KAAtBgF,KAAK6yK,IAAIr5H,SAA6B,EAAI,EACnD+4H,EAAyB,IAAXv3K,EAAe,EAAqC,EAExE,OADAgF,KAAKo1K,eAAep6K,EAAQu3K,IACrB,EAGX,KAAK,GAED,OADAvyK,KAAKo1K,eAAe,EAAG,IAChB,EAGX,KAAK,GACD,OAA0B,KAAtBp1K,KAAK6yK,IAAIr5H,UACqB,KAA1Bx5C,KAAK6yK,IAAIpB,UAAU,GACnBzxK,KAAK6yK,IAAInB,QAAQ,GAEjB1xK,KAAK6yK,IAAInB,QAAQ,GAErB1xK,KAAKo0K,iBACE,GACsB,KAAtBp0K,KAAK6yK,IAAIr5H,UAChBx5C,KAAK6yK,IAAInB,QAAQ,GACjB1xK,KAAKo0K,iBACE,GAEJp0K,KAAKm1K,iBAGhB,KAAK,GACDn1K,KAAKgzK,cACLhzK,KAAK8yK,QAAQz3K,KAAKy/J,GAAM3oJ,OAAO,GAA2BnS,KAAK6yK,IAAIp2I,SAAU,EAAGz8B,KAAKk0K,iBACrF,MAGJ,KAAK,GACGl0K,KAAKgzK,YAAc,GACnBhzK,KAAKgzK,cAEThzK,KAAK8yK,QAAQz3K,KAAKy/J,GAAM3oJ,OAAO,GAA4BnS,KAAK6yK,IAAIp2I,SAAU,EAAGz8B,KAAKk0K,iBACtF,MAGJ,KAAK,GACDl0K,KAAKgzK,cACLhzK,KAAK8yK,QAAQz3K,KAAKy/J,GAAM3oJ,OAAO,GAAuBnS,KAAK6yK,IAAIp2I,SAAU,EAAGz8B,KAAKk0K,iBACjF,MAGJ,KAAK,GACGl0K,KAAKgzK,YAAc,GACnBhzK,KAAKgzK,cAEThzK,KAAK8yK,QAAQz3K,KAAKy/J,GAAM3oJ,OAAO,GAAwBnS,KAAK6yK,IAAIp2I,SAAU,EAAGz8B,KAAKk0K,iBAClF,MAGJ,KAAK,IACDl0K,KAAKgzK,cACLhzK,KAAK8yK,QAAQz3K,KAAKy/J,GAAM3oJ,OAAO,GAA0BnS,KAAK6yK,IAAIp2I,SAAU,EAAGz8B,KAAKk0K,iBACpF,MAGJ,KAAK,IACGl0K,KAAKgzK,YAAc,GACnBhzK,KAAKgzK,cAEThzK,KAAK8yK,QAAQz3K,KAAKy/J,GAAM3oJ,OAAO,GAA2BnS,KAAK6yK,IAAIp2I,SAAU,EAAGz8B,KAAKk0K,iBACrF,MAGJ,KAAK,GACDl0K,KAAK8yK,QAAQz3K,KAAKy/J,GAAM3oJ,OAAO,GAAiBnS,KAAK6yK,IAAIp2I,SAAU,EAAGz8B,KAAKk0K,iBAC3E,MAGJ,KAAK,GACDl0K,KAAK8yK,QAAQz3K,KAAKy/J,GAAM3oJ,OAAO,GAAoBnS,KAAK6yK,IAAIp2I,SAAU,EAAGz8B,KAAKk0K,iBAC9E,MAGJ,KAAK,GACDl0K,KAAK8yK,QAAQz3K,KAAKy/J,GAAM3oJ,OAAO,GAAqBnS,KAAK6yK,IAAIp2I,SAAU,EAAGz8B,KAAKk0K,iBAC/E,MAGJ,KAAK,GACD,GAA0B,KAAtBl0K,KAAK6yK,IAAIr5H,SAAyB,CAClCx5C,KAAK8yK,QAAQz3K,KACTggK,GAAclpJ,OAAOnS,KAAK6yK,IAAIp2I,SAAU,EAAG,GAAqBz8B,KAAKk0K,iBAEzEl0K,KAAK6yK,IAAInB,QAAQ,GACjB,MAEJ1xK,KAAK8yK,QAAQz3K,KAAKy/J,GAAM3oJ,OAAO,GAAiBnS,KAAK6yK,IAAIp2I,SAAU,EAAGz8B,KAAKk0K,iBAC3E,MAGJ,QACI,GAAIl0K,KAAKq1K,qBACDr1K,KAAKs1K,aACL,OAAO,EAIf,GAA6B,KAAzBt1K,KAAK6yK,IAAIhB,YAA6B,CACtC,GAA0B,KAAtB7xK,KAAK6yK,IAAIr5H,UAAsD,KAA1Bx5C,KAAK6yK,IAAIpB,UAAU,GAGxD,OAFAzxK,KAAK8yK,QAAQz3K,KAAKy/J,GAAM3oJ,OAAO,GAAoBnS,KAAK6yK,IAAIp2I,SAAU,EAAGz8B,KAAKk0K,iBAC9El0K,KAAK6yK,IAAInB,QAAQ,IACV,EAEX1xK,KAAK8yK,QAAQz3K,KAAKy/J,GAAM3oJ,OAAO,GAAenS,KAAK6yK,IAAIp2I,SAAU,EAAGz8B,KAAKk0K,iBACzE,MAGJ,SAAKl0K,KAAKu1K,mBACDv1K,KAAKw1K,iBACCx1K,KAAKm1K,iBAM5B,OAAO,EAGHf,gBACJ,MAAMqB,EAAaz1K,KAAK6yK,IAAIp2I,SAAWz8B,KAAK+yK,eACxC0C,EAAa,GACbz1K,KAAKizK,YAAY53K,KAAK,CAAES,MAAOkE,KAAK+yK,eAAgB/3K,OAAQy6K,IAGhEz1K,KAAK+yK,eAAiB/yK,KAAK6yK,IAAIp2I,SAG3B24I,eAAep6K,EAAgBu3K,GACV,IAArBvyK,KAAKgzK,aAAqC,IAAhBT,IAGE,IAAxBvyK,KAAK8yK,QAAQ93K,QAA+D,IAA/CgF,KAAK8yK,QAAQ9yK,KAAK8yK,QAAQ93K,OAAS,GAAGgE,MACnEgB,KAAK8yK,QAAQz3K,KAAK4/J,GAAa9oJ,OAAOnS,KAAK6yK,IAAIp2I,SAAUzhC,EAAQu3K,EAAavyK,KAAKk0K,kBAGvE,IAAhB3B,EACAvyK,KAAKozK,WACkB,IAAhBb,EACPvyK,KAAKqzK,aAELrzK,KAAKszK,WAETtzK,KAAK6yK,IAAInB,QAAQ12K,GACjBgF,KAAKo0K,gBACLp0K,KAAKg0K,+BAGDA,+BACJ,IAAI0B,EAAa,EACbC,EAAa,EACbC,GAAe,EACfC,GAAiB,EAErB,MAAQ71K,KAAK6yK,IAAIrB,iBACb,OAAQxxK,KAAK6yK,IAAIhB,aACb,KAAK,GACD6D,IACAC,IACAE,GAAiB,EACjB71K,KAAK6yK,IAAIlB,WACT,MAEJ,KAAK,EAGD+D,IACAC,GA9ZU,EA8ZsBA,EA9ZtB,EA+ZVC,GAAe,EACf51K,KAAK6yK,IAAIlB,WACT,MAEJ,KAAK,GACD+D,EAAa,EACbC,EAAa,EACbC,GAAe,EACfC,GAAiB,EACjB71K,KAAK6yK,IAAIlB,WACT,MAEJ,QAGI,YADA3xK,KAAKm0K,WAAWuB,EAAYC,EAAYE,EAAgBD,GAG5D,KAAK,GACL,KAAK,GACL,KAAK,GAED,QAQRzB,WAAWuB,EAAoBC,EAAoBE,EAAyBD,GAEhF,KAAI51K,KAAKgzK,YAAc,GAKvB,GAAmC,IAA/BhzK,KAAKkzK,eAAel4K,OAChB26K,EAAa,IACb31K,KAAKuzK,eACDqC,GACA51K,KAAKwzK,kBAETxzK,KAAKyzK,oBAAsBkC,EAE3B31K,KAAKkzK,eAAe73K,KAAK,CACrBq6K,aACAC,aACAE,iBACAD,iBAEJ51K,KAAK8yK,QAAQz3K,KAAK0/J,GAAY5oJ,OAAOnS,KAAK6yK,IAAIp2I,SAAU,EAAGk5I,GAAY,EAAO31K,KAAKk0K,sBAEpF,CACH,MAAM4B,EAAc91K,KAAKkzK,eAAelzK,KAAKkzK,eAAel4K,OAAS,GACrE,GAAI86K,EAAYH,WAAaA,EAAY,CAKrC,MAAMvD,GACA0D,EAAYD,gBAAkBD,GAAkBE,EAAYF,cAAgBC,IAC9EC,EAAYJ,YAAcA,EAE9B11K,KAAKuzK,eACDqC,GACA51K,KAAKwzK,kBAETxzK,KAAKyzK,oBAAsBkC,EAAa31K,KAAKkzK,eAAelzK,KAAKkzK,eAAel4K,OAAS,GAAG26K,WAE5F31K,KAAKkzK,eAAe73K,KAAK,CACrBq6K,aACAC,aACAE,iBACAD,iBAGJ51K,KAAK8yK,QAAQz3K,KACT0/J,GAAY5oJ,OAAOnS,KAAK6yK,IAAIp2I,SAAU,EAAGk5I,EAAYvD,EAAmBpyK,KAAKk0K,sBAE9E,GAAI4B,EAAYH,aAAeA,GAK7BG,EAAYD,gBAAkBD,GAAkBE,EAAYF,cAAgBC,IAC7E71K,KAAK8yK,QAAQz3K,KAAK0/J,GAAY5oJ,OAAOnS,KAAK6yK,IAAIp2I,SAAU,EAAGk5I,GAAY,EAAM31K,KAAKk0K,qBAEnF,CAKH,IAAI5B,EACCwD,EAAYD,gBAAkBD,GAAkBE,EAAYF,cAAgBC,EAMjF,MAAME,EAAyB,GAC/B,KACI/1K,KAAKkzK,eAAel4K,OAAS,GAC7BgF,KAAKkzK,eAAelzK,KAAKkzK,eAAel4K,OAAS,GAAG26K,WAAaA,GAEjEI,EAAa16K,KACT2E,KAAKkzK,eAAel4K,OAAS,EACvBgF,KAAKkzK,eAAelzK,KAAKkzK,eAAel4K,OAAS,GAAG26K,WACpD,GAEV31K,KAAKkzK,eAAej5H,MAGxB87H,EAAazwJ,SAAQ,CAAC0wJ,EAAc7rJ,KAChC,MAAMkoJ,EAAgBloJ,EAAQ4rJ,EAAa/6K,OAAS,GAAKg7K,IAAiBL,EACpEM,EAAqB9rJ,EAAQ4rJ,EAAa/6K,OAAS,EAAIg7K,EAAeL,EAC5E31K,KAAK8yK,QAAQz3K,KACT2/J,GAAY7oJ,OACRnS,KAAK6yK,IAAIp2I,SACT,EACAw5I,EACA5D,EACAC,EACAtyK,KAAKk0K,iBAIb5B,GAAoB,OAM5BiD,iBACJ,MAAMW,EAAwB,KAC1B,OACI,GAAI14G,GAAiBx9D,KAAK6yK,IAAIhB,aAC1B7xK,KAAK6yK,IAAIlB,eACN,KAAIn0G,GAAiBx9D,KAAK6yK,IAAIhB,YAAa7xK,KAAK6yK,IAAIr5H,UAIvD,MAHAx5C,KAAK6yK,IAAIlB,WACT3xK,KAAK6yK,IAAIlB,aAOf71K,EAAQkE,KAAK6yK,IAAIp2I,SAUvB,GATI0gC,GAAsBn9D,KAAK6yK,IAAIhB,cAC/B7xK,KAAK6yK,IAAIlB,WACTuE,KACO/4G,GAAsBn9D,KAAK6yK,IAAIhB,YAAa7xK,KAAK6yK,IAAIr5H,YAC5Dx5C,KAAK6yK,IAAIlB,WACT3xK,KAAK6yK,IAAIlB,WACTuE,KAGAl2K,KAAK6yK,IAAIp2I,SAAW3gC,EAAO,CAC3B,MAAMwB,EAAQ0C,KAAK6yK,IAAI/sI,UAAU9jC,OAAOlG,EAAOkE,KAAK6yK,IAAIp2I,SAAW3gC,GAQnE,OAPI42K,GAAUtuJ,IAAI9mB,GACd0C,KAAK8yK,QAAQz3K,KACT6/J,GAAa/oJ,OAAOrW,EAAOkE,KAAK6yK,IAAIp2I,SAAW3gC,EAAO42K,GAAUnuK,IAAIjH,GAAS0C,KAAKk0K,iBAGtFl0K,KAAK8yK,QAAQz3K,KAAKigK,GAAgBnpJ,OAAOrW,EAAOkE,KAAK6yK,IAAIp2I,SAAW3gC,EAAOwB,EAAO0C,KAAKk0K,kBAEpF,EAEX,OAAO,EAGHmB,oBACJ,QAAI33G,GAAU19D,KAAK6yK,IAAIhB,gBAIM,KAAzB7xK,KAAK6yK,IAAIhB,cAA+Bn0G,GAAU19D,KAAK6yK,IAAIr5H,WAO3D87H,aACJ,MAAMx5K,EAAQkE,KAAK6yK,IAAIp2I,SAEvB,GAA6B,KAAzBz8B,KAAK6yK,IAAIhB,YAAyB,CAClC,IAAIsE,EAAQ,EACRC,EAAe,EAGnB,IAA2B,MAAtBp2K,KAAK6yK,IAAIr5H,UAA6C,KAAtBx5C,KAAK6yK,IAAIr5H,WAAwBmkB,GAAM39D,KAAK6yK,IAAIpB,UAAU,IAAK,CAGhG,IAFAzxK,KAAK6yK,IAAInB,QAAQ,GACjB0E,EAAe,EACRz4G,GAAM39D,KAAK6yK,IAAIhB,cAClB7xK,KAAK6yK,IAAIlB,WAEbwE,EAAQ,GAIZ,IAA2B,KAAtBn2K,KAAK6yK,IAAIr5H,UAA6C,KAAtBx5C,KAAK6yK,IAAIr5H,WAAwBqkB,GAAS79D,KAAK6yK,IAAIpB,UAAU,IAAK,CAGnG,IAFAzxK,KAAK6yK,IAAInB,QAAQ,GACjB0E,EAAe,EACRv4G,GAAS79D,KAAK6yK,IAAIhB,cACrB7xK,KAAK6yK,IAAIlB,WAEbwE,EAAQ,EAIZ,IAA2B,MAAtBn2K,KAAK6yK,IAAIr5H,UAA6C,KAAtBx5C,KAAK6yK,IAAIr5H,WAAwBokB,GAAQ59D,KAAK6yK,IAAIpB,UAAU,IAAK,CAGlG,IAFAzxK,KAAK6yK,IAAInB,QAAQ,GACjB0E,EAAe,EACRx4G,GAAQ59D,KAAK6yK,IAAIhB,cACpB7xK,KAAK6yK,IAAIlB,WAEbwE,EAAQ,EAGZ,GAAIA,EAAQ,EAAG,CACX,MAAM/+I,EAAOp3B,KAAK6yK,IAAI/sI,UAAU9jC,OAAOlG,EAAOkE,KAAK6yK,IAAIp2I,SAAW3gC,GAC5Du6K,EAAgBj/I,EAAKzxB,QAAQ,KAAM,IACzC,IAAI2wK,EAA4Bv0K,SAASs0K,EAAcr0K,OAAOo0K,GAAeD,GAE7E,IAAKxnK,MAAM2nK,GAAW,CAClB,MAAMC,EAAcxvK,OAAOsvK,GAQ3B,OAPKlwK,SAASmwK,IAAavvK,OAAOuvK,KAAcC,IAC5CD,EAAWC,GAGfv2K,KAAK8yK,QAAQz3K,KACT+/J,GAAYjpJ,OAAOrW,EAAOs7B,EAAKp8B,OAAQs7K,GAAU,GAAM,EAAOt2K,KAAKk0K,kBAEhE,IAKnB,IAAIsC,GAAmB,EACnBC,GAAuB,EAK3B,GAAIz2K,KAAK6yK,IAAIhB,aAAe,IAAW7xK,KAAK6yK,IAAIhB,aAAe,GAAS,CACpE,KAAOn0G,GAAU19D,KAAK6yK,IAAIhB,cACtB4E,GAAuB,EACvBz2K,KAAK6yK,IAAIlB,WAEb6E,EAC6B,KAAzBx2K,KAAK6yK,IAAIhB,aACgB,MAAzB7xK,KAAK6yK,IAAIhB,aACgB,KAAzB7xK,KAAK6yK,IAAIhB,YAIjB,GAA6B,KAAzB7xK,KAAK6yK,IAAIhB,YAAyB,CAElC,IADA4E,GAAuB,EACS,KAAzBz2K,KAAK6yK,IAAIhB,aAAoD,KAAzB7xK,KAAK6yK,IAAIhB,aAChD7xK,KAAK6yK,IAAIlB,WAEb6E,EAC6B,KAAzBx2K,KAAK6yK,IAAIhB,aACgB,MAAzB7xK,KAAK6yK,IAAIhB,aACgB,KAAzB7xK,KAAK6yK,IAAIhB,YAGjB,GAAI2E,EAAkB,CAClB,IAAIp/I,EAAOp3B,KAAK6yK,IAAI/sI,UAAU9jC,OAAOlG,EAAOkE,KAAK6yK,IAAIp2I,SAAW3gC,GAChE,MAAMu6K,EAAgBj/I,EAAKzxB,QAAQ,KAAM,IACzC,IAAI2wK,EAA4Bv0K,SAASs0K,EAAe,IAExD,IAAK1nK,MAAM2nK,GAAW,CAClB,IAAItvG,GAAc,EAElB,MAAMuvG,EAAcxvK,OAAOsvK,GAc3B,OAbKlwK,SAASmwK,IAAavvK,OAAOuvK,KAAcC,IAC5CD,EAAWC,GAGc,MAAzBv2K,KAAK6yK,IAAIhB,aAAmD,KAAzB7xK,KAAK6yK,IAAIhB,cAC5C7qG,GAAc,EACd5vC,GAAQj2B,OAAOuC,aAAa1D,KAAK6yK,IAAIhB,aACrC7xK,KAAK6yK,IAAIlB,YAGb3xK,KAAK8yK,QAAQz3K,KACT+/J,GAAYjpJ,OAAOrW,EAAOs7B,EAAKp8B,OAAQs7K,GAAU,EAAMtvG,EAAahnE,KAAKk0K,kBAEtE,GAMf,GADAl0K,KAAK6yK,IAAIp2I,SAAW3gC,GAEhB26K,GAC0B,KAAzBz2K,KAAK6yK,IAAIhB,aAA+B7xK,KAAK6yK,IAAIr5H,UAAY,IAAWx5C,KAAK6yK,IAAIr5H,UAAY,KAE1Fx5C,KAAK02K,8BAA+B,CACpC,IAAIt/I,EAAOp3B,KAAK6yK,IAAI/sI,UAAU9jC,OAAOlG,EAAOkE,KAAK6yK,IAAIp2I,SAAW3gC,GAChE,MAAMwB,EAAQq5K,WAAWv/I,GACzB,IAAKzoB,MAAMrR,GAAQ,CACf,IAAI0pE,GAAc,EAgBlB,OAf6B,MAAzBhnE,KAAK6yK,IAAIhB,aAAmD,KAAzB7xK,KAAK6yK,IAAIhB,cAC5C7qG,GAAc,EACd5vC,GAAQj2B,OAAOuC,aAAa1D,KAAK6yK,IAAIhB,aACrC7xK,KAAK6yK,IAAIlB,YAEb3xK,KAAK8yK,QAAQz3K,KACT+/J,GAAYjpJ,OACRrW,EACAkE,KAAK6yK,IAAIp2I,SAAW3gC,EACpBwB,GACA,EACA0pE,EACAhnE,KAAKk0K,kBAGN,GAMnB,OADAl0K,KAAK6yK,IAAIp2I,SAAW3gC,GACb,EAGH05K,eACJ,IAAIx6K,EAAS,EACb,MAAMw+C,EAAWx5C,KAAK6yK,IAAIr5H,SAC1B,IAAIi5H,EAEJ,OAAQzyK,KAAK6yK,IAAIhB,aACb,KAAK,GACD72K,EAAsB,KAAbw+C,EAA0B,EAAI,EACvCi5H,EAA0B,IAAXz3K,EAAe,EAAwB,EACtD,MAEJ,KAAK,GACDA,EAAsB,KAAbw+C,EAA0B,EAAI,EACvCi5H,EAA0B,IAAXz3K,EAAe,EAA+B,EAC7D,MAEJ,KAAK,IACDA,EAAsB,KAAbw+C,EAA0B,EAAI,EACvCi5H,EAA0B,IAAXz3K,EAAe,EAA8B,EAC5D,MAEJ,KAAK,GACDA,EAAsB,KAAbw+C,EAA0B,EAAI,EACvCi5H,EAA0B,IAAXz3K,EAAe,EAA+B,EAC7D,MAEJ,KAAK,GACDA,EAAsB,KAAbw+C,EAA0B,EAAI,EACvCi5H,EAA0B,IAAXz3K,EAAe,GAAsB,EACpD,MAEJ,KAAK,GACD,GAAiB,KAAbw+C,EACA,OAAO,EAEXx+C,EAAS,EACTy3K,EAAe,GACf,MAEJ,KAAK,GACDz3K,EAAsB,KAAbw+C,EAA0B,EAAI,EACvCi5H,EAA0B,IAAXz3K,EAAe,GAAwB,GACtD,MAEJ,KAAK,IACDA,EAAS,EACTy3K,EAAe,EACf,MAEJ,KAAK,GACD,GAAiB,KAAbj5H,EAGA,OAFAx5C,KAAK8yK,QAAQz3K,KAAKy/J,GAAM3oJ,OAAO,GAAiBnS,KAAK6yK,IAAIp2I,SAAU,EAAGz8B,KAAKk0K,iBAC3El0K,KAAK6yK,IAAInB,QAAQ,IACV,EAGX12K,EAAsB,KAAbw+C,EAA0B,EAAI,EACvCi5H,EAA0B,IAAXz3K,EAAe,GAA6B,GAC3D,MAEJ,KAAK,GACgB,KAAbw+C,GACAx+C,EAAmC,KAA1BgF,KAAK6yK,IAAIpB,UAAU,GAAoB,EAAI,EACpDgB,EAA0B,IAAXz3K,EAAe,GAA0B,KAExDA,EAAsB,KAAbw+C,EAA0B,EAAI,EACvCi5H,EAA0B,IAAXz3K,EAAe,GAA6B,IAE/D,MAEJ,KAAK,GACgB,KAAbw+C,GACAx+C,EAAmC,KAA1BgF,KAAK6yK,IAAIpB,UAAU,GAAoB,EAAI,EACpDgB,EAA0B,IAAXz3K,EAAe,GAAgC,KAE9DA,EAAsB,KAAbw+C,EAA0B,EAAI,EACvCi5H,EAA0B,IAAXz3K,EAAe,GAA2B,IAE7D,MAEJ,KAAK,GACgB,KAAbw+C,GACAx+C,EAAmC,KAA1BgF,KAAK6yK,IAAIpB,UAAU,GAAoB,EAAI,EACpDgB,EAA0B,IAAXz3K,EAAe,GAA8B,IACxC,KAAbw+C,GACPx+C,EAAS,EACTy3K,EAAe,KAEfz3K,EAAsB,KAAbw+C,EAA0B,EAAI,EACvCi5H,EAA0B,IAAXz3K,EAAe,GAA+B,IAEjE,MAEJ,KAAK,GACgB,KAAbw+C,GACAx+C,EAAmC,KAA1BgF,KAAK6yK,IAAIpB,UAAU,GAAoB,EAAI,EACpDgB,EAA0B,IAAXz3K,EAAe,GAA+B,KAE7DA,EAAsB,KAAbw+C,EAA0B,EAAI,EACvCi5H,EAA0B,IAAXz3K,EAAe,GAAkC,IAEpE,MAEJ,KAAK,GACDA,EAAsB,KAAbw+C,EAA0B,EAAI,EACvCi5H,EAA0B,IAAXz3K,EAAe,GAAmC,GACjE,MAEJ,QACI,OAAO,EAIf,OAFAgF,KAAK8yK,QAAQz3K,KAAKggK,GAAclpJ,OAAOnS,KAAK6yK,IAAIp2I,SAAUzhC,EAAQy3K,EAAczyK,KAAKk0K,iBACrFl0K,KAAK6yK,IAAInB,QAAQ12K,GACVA,EAAS,EAGZm6K,iBACJ,MAAMr5K,EAAQkE,KAAK6yK,IAAIp2I,SACvB,KAEiC,KAAzBz8B,KAAK6yK,IAAIhB,aACgB,KAAzB7xK,KAAK6yK,IAAIhB,cACT7xK,KAAK6yK,IAAIjB,mBACT5xK,KAAK6yK,IAAIrB,kB7Dl5BOtlI,E6Du5BAlsC,KAAK6yK,IAAIhB,a7Dt5B1B/0G,KAKNI,KACDI,IAA4B,GAC5BJ,IAAgC,GAG7BF,GAAmB9wB,KAAU2wB,GAAaiB,gB6D64BrC99D,KAAK6yK,IAAIlB,WAGT3xK,KAAK6yK,IAAIlB,W7D35BlB,IAAyBzlI,E6D85BxB,MAAMlxC,EAASgF,KAAK6yK,IAAIp2I,SAAW3gC,EACnC,OAAId,EAAS,IACTgF,KAAK8yK,QAAQz3K,KAAKy/J,GAAM3oJ,OAAO,EAAmBrW,EAAOd,EAAQgF,KAAKk0K,kBAC/D,GAKPA,eACJ,MAAM0C,EAAe52K,KAAK62K,UAE1B,OADA72K,KAAK62K,eAAY/3K,EACV83K,EAGH3B,mBACJ,MAAMzuB,EAAYxmJ,KAAK8yK,QAAQ93K,OAAS,EAAIgF,KAAK8yK,QAAQ9yK,KAAK8yK,QAAQ93K,OAAS,QAAK8D,EACpF,aACmBA,IAAd0nJ,GAA8C,IAAnBA,EAAUxnJ,MAAiD,IAAnBwnJ,EAAUxnJ,MACpD,KAAzBgB,KAAK6yK,IAAIhB,aAAyD,KAAzB7xK,KAAK6yK,IAAIhB,aAInDqD,qBAAqBl2K,GACzB,MAAMlD,EAAQkE,KAAK6yK,IAAIp2I,SAAW,EAElC,IAAI6N,EAAQxuC,EACZ,EAAG,CACCkE,KAAK6yK,IAAIZ,YAET,MAAMj3K,EAASgF,KAAK6yK,IAAIp2I,SAAW6N,EAMnC,IALctqC,KAAK6yK,IAAI/sI,UAAU9jC,OAAOsoC,EAAOtvC,GAKpCy2D,MAAM,UACb,MAGJnnB,EAAQtqC,KAAK6yK,IAAIp2I,SAAW,SACtBz8B,KAAK6yK,IAAIrB,iBAEnB,MAAMx2K,EAASgF,KAAK6yK,IAAIp2I,SAAW3gC,EAC7BwB,EAAQ0C,KAAK6yK,IAAI/sI,UAAU9jC,OAAOlG,EAAOd,GAEzC87K,EAAUjc,GAAQ1oJ,OAAOrW,EAAOd,EAAQsC,EAAO0B,GACrDgB,KAAK+2K,aAAaD,GAGd9B,iBACJ,MAAMl5K,EAAQkE,KAAK6yK,IAAIp2I,SAAW,EAClCz8B,KAAK6yK,IAAIZ,YAET,MAAMj3K,EAASgF,KAAK6yK,IAAIp2I,SAAW3gC,EAC7BwB,EAAQ0C,KAAK6yK,IAAI/sI,UAAU9jC,OAAOlG,EAAOd,GACzC87K,EAAUjc,GAAQ1oJ,OAAOrW,EAAOd,EAAQsC,GAMxC05K,EAAa15K,EAAMm0D,MAAM,+BAC/B,GAAIulH,EAAY,CACZ,MAAMC,EAAuB,CAAEn7K,QAAOd,OAAQg8K,EAAW,GAAGh8K,QACxDg8K,EAAW,GAAG/8G,SAAS,MACvBg9G,EAAUj8K,SAGVgF,KAAK8yK,QAAQvjF,WAAWhjC,GAAiB,IAAXA,EAAEvtD,MAA8ButD,GAAgB,IAAXA,EAAEvtD,OAA6B,EAClGgB,KAAKw0K,eAAiByC,EAEtBj3K,KAAKmzK,iBAAiBhuK,IAAInF,KAAKizK,YAAYj4K,OAAQi8K,GAI3Dj3K,KAAK+2K,aAAaD,GAGdC,aAAaD,GACb92K,KAAK62K,UACL72K,KAAK62K,UAAUx7K,KAAKy7K,GAEpB92K,KAAK62K,UAAY,CAACC,GAIlBnC,yBACJ,GAA6B,KAAzB30K,KAAK6yK,IAAIhB,aAA6D,KAAzB7xK,KAAK6yK,IAAIhB,YAEtD,OAAO,EAGX,GAA0B,KAAtB7xK,KAAK6yK,IAAIr5H,UAAuD,KAAtBx5C,KAAK6yK,IAAIr5H,SACnD,OAAQx5C,KAAK6yK,IAAIhB,aACb,KAAK,IACL,KAAK,GACL,KAAK,IACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,IACL,KAAK,GAED,OAAO,EAMnB,GAA8B,KAA1B7xK,KAAK6yK,IAAIpB,UAAU,IAAqD,KAA1BzxK,KAAK6yK,IAAIpB,UAAU,GAEjE,OADezxK,KAAK6yK,IAAI/sI,UAAU9jC,OAAOhC,KAAK6yK,IAAIp2I,SAAU,GAAG38B,eAE3D,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACD,OAAO,EAKnB,OAAQ,EAGJg1K,mBAAmB5rH,GACvB,IAAIggB,EAAQ,EAEZhgB,EAASA,EAAOppD,cAChB,IAAK,IAAIxF,EAAI,EAAGA,EAAI4uD,EAAOluD,OAAQV,IAC/B,OAAQ4uD,EAAO5uD,IACX,IAAK,IACD4uE,GAAS,GACT,MAEJ,IAAK,IACDA,GAAS,GACT,MAEJ,IAAK,IACDA,GAAS,EACT,MAEJ,IAAK,IACDA,GAAS,GAiBrB,OAZ6B,KAAzBlpE,KAAK6yK,IAAIhB,aACT3oG,GAAS,EACiB,KAAtBlpE,KAAK6yK,IAAIr5H,UAA2D,KAA1Bx5C,KAAK6yK,IAAIpB,UAAU,KAC7DvoG,GAAS,IAEmB,KAAzBlpE,KAAK6yK,IAAIhB,cAChB3oG,GAAS,EACiB,KAAtBlpE,KAAK6yK,IAAIr5H,UAA2D,KAA1Bx5C,KAAK6yK,IAAIpB,UAAU,KAC7DvoG,GAAS,IAIVA,EAGH6rG,cAAc7rG,EAAyBwrG,GAC3C,MAAM54K,EAAQkE,KAAK6yK,IAAIp2I,SAAWi4I,EAEtB,EAARxrG,EACAlpE,KAAK6yK,IAAInB,QAAQ,IAEjB1xK,KAAK6yK,IAAIlB,WAEG,EAARzoG,EACAlpE,KAAK0zK,oBAEL1zK,KAAK2zK,qBAIb,MAAMuD,EAAoBl3K,KAAKm3K,0BAA0BjuG,GAEnDntE,EAAMiE,KAAK6yK,IAAIp2I,SAErBz8B,KAAK8yK,QAAQz3K,KACT8/J,GAAYhpJ,OACRrW,EACAC,EAAMD,EACNo7K,EAAkBhuG,MAClBguG,EAAkBxgF,aAClBg+E,EACA10K,KAAKk0K,iBAKTiD,0BAA0BjuG,GAC9B,MAAM6nG,EAAoB,EAAR7nG,EAAuC,GAAmB,GACtE8nG,EAAyD,IAAjC,EAAR9nG,GACtB,IAAIkuG,EAA8B,GAElC,OAAa,CACT,GAAIp3K,KAAK6yK,IAAIrB,gBAGT,OADAtoG,GAAS,MACF,CAAEwtB,aAAcv1F,OAAOuC,aAAaC,WAAM7E,EAAWs4K,GAAoBluG,SAGpF,GAA6B,KAAzBlpE,KAAK6yK,IAAIhB,YACTuF,EAAkB/7K,KAAK2E,KAAK6yK,IAAIhB,aAGhC7xK,KAAK6yK,IAAIlB,WAEyB,KAA9B3xK,KAAK6yK,IAAItB,kBAA0E,KAA9BvxK,KAAK6yK,IAAItB,kBAC5B,KAA9BvxK,KAAK6yK,IAAItB,kBAAkE,KAAtBvxK,KAAK6yK,IAAIr5H,WAC9D49H,EAAkB/7K,KAAK2E,KAAK6yK,IAAIhB,aAChC7xK,KAAK6yK,IAAIlB,YAEbyF,EAAkB/7K,KAAK2E,KAAK6yK,IAAIhB,aAChC7xK,KAAK6yK,IAAIlB,WACT3xK,KAAKo0K,kBAELgD,EAAkB/7K,KAAK2E,KAAK6yK,IAAIhB,aAChC7xK,KAAK6yK,IAAIlB,iBAEV,GAA6B,KAAzB3xK,KAAK6yK,IAAIhB,aAA0D,KAAzB7xK,KAAK6yK,IAAIhB,YAAqC,CAC/F,IAAKb,EAGD,OADA9nG,GAAS,MACF,CAAEwtB,aAAcv1F,OAAOuC,aAAaC,WAAM7E,EAAWs4K,GAAoBluG,SAIvD,KAAzBlpE,KAAK6yK,IAAIhB,aAA6D,KAAtB7xK,KAAK6yK,IAAIr5H,WACzD49H,EAAkB/7K,KAAK2E,KAAK6yK,IAAIhB,aAChC7xK,KAAK6yK,IAAIlB,YAGbyF,EAAkB/7K,KAAK2E,KAAK6yK,IAAIhB,aAChC7xK,KAAK6yK,IAAIlB,WACT3xK,KAAKo0K,oBACF,KAAKpD,GAAgBhxK,KAAK6yK,IAAIhB,cAAgBd,EAAW,CAC5D/wK,KAAK6yK,IAAIlB,WACT,MACG,GACHX,GACAhxK,KAAK6yK,IAAIhB,cAAgBd,GACzB/wK,KAAK6yK,IAAIr5H,WAAau3H,GACtB/wK,KAAK6yK,IAAIpB,UAAU,KAAOV,EAC5B,CACE/wK,KAAK6yK,IAAInB,QAAQ,GACjB,MAEA0F,EAAkB/7K,KAAK2E,KAAK6yK,IAAIhB,aAChC7xK,KAAK6yK,IAAIlB,YAajB,OALIyF,EAAkBp8K,OAvnCA,QAwnClBo8K,EAAoBA,EAAkBx5K,MAAM,EAxnC1B,OAynClBsrE,GAAS,QAGN,CAAEwtB,aAAcv1F,OAAOuC,aAAaC,WAAM7E,EAAWs4K,GAAoBluG,SAG5EwtG,8BAEJ,MAAM56K,EAAQkE,KAAK6yK,IAAIp2I,SAWvB,OAVAz8B,KAAKq3K,wBACDr3K,KAAK6yK,IAAIp2I,SAAW3gC,IAES,MAAzBkE,KAAK6yK,IAAIhB,aAAmD,KAAzB7xK,KAAK6yK,IAAIhB,cAC5C7xK,KAAK6yK,IAAIlB,WAGT3xK,KAAKs3K,oBAAmB,KAGzBt3K,KAAK6yK,IAAIp2I,SAAW3gC,EAGvBu7K,wBACJr3K,KAAKs3K,oBAAmB,GACK,KAAzBt3K,KAAK6yK,IAAIhB,aAET7xK,KAAK6yK,IAAIlB,WAEb3xK,KAAKs3K,oBAAmB,GAGpBA,mBAAmBC,GAKvB,KAJIA,GAAuC,KAAzBv3K,KAAK6yK,IAAIhB,aAAwD,KAAzB7xK,KAAK6yK,IAAIhB,aAE/D7xK,KAAK6yK,IAAIlB,WAENj0G,GAAU19D,KAAK6yK,IAAIhB,cAEtB7xK,KAAK6yK,IAAIlB,YCzpCd,MAAM6F,GACTvrK,cACIjM,KAAK40E,YAAa,EAClB50E,KAAK+8E,cAAgB1gB,GACrBr8D,KAAK8kK,mCAAoC,EACzC9kK,KAAKy3K,0BAA2B,EAChCz3K,KAAK+zK,aAAc,GAgD3B,MAAM2D,GAAoB,IAEnB,MAAMz+H,GAAb,cAGY,KAAA0+H,YAAc,EACd,KAAAC,sBAAuB,EACvB,KAAAC,cAA8B,IAAIL,GAClC,KAAAM,UAA4B,IAAIzO,GAChC,KAAA0O,WAAY,EACZ,KAAAC,eAAgB,EAChB,KAAAC,cAAe,EACf,KAAAC,0BAA2B,EAC3B,KAAAC,wBAAyB,EACzB,KAAAC,iBAAmB,IAAIt6J,IACvB,KAAAu6J,iBAAmC,GACnC,KAAAC,yBAA0B,EAC1B,KAAAC,+BAAgC,EAChC,KAAAC,qBAAiC,GACjC,KAAAC,qBAA4C,IAAI36J,IAExD46J,gBAAgBC,EAAsBC,EAA4BC,GAC9D13F,GAAYI,iBAAiBT,eAAc,KACvC9gF,KAAK84K,eAAeH,EAAc,EAAGA,EAAa39K,OAAQ49K,EAAcC,MAG5E,MAAMnsD,EAAaxmC,GAAW/zE,OAAO,CAAErW,MAAO,EAAGd,OAAQ29K,EAAa39K,SA8BtE,OA5BAmmF,GAAYK,cAAcV,eAAc,KACpC,MAAQ9gF,KAAK+4K,UACT,IAAK/4K,KAAKg5K,oBAAoB,GAAoB,CAE9C,MAAMC,EAAYj5K,KAAKk5K,aACvB,GAAuB,IAAnBD,EAAUj6K,KAA2B,CACrCgB,KAAKm5K,gBACL,MAAMC,EAAcH,EAChBG,EAAYhH,kBACZpyK,KAAKq5K,UAAUznD,GAAUv4F,WAAW4qG,mBAAoBm1C,GAExDp5K,KAAKq5K,UAAUznD,GAAUv4F,WAAW65G,mBAAoB+lC,GAIhE,MAAMrvG,EAAY5pE,KAAKs5K,kBAClB1vG,GAIDA,EAAUzkC,OAASunF,EACnBA,EAAWjiD,WAAWpvE,KAAKuuE,IAH3B5pE,KAAKu5K,wBAAwB,CAAC,QAS9CznH,OAAiChzD,IAA1BkB,KAAKw5K,kBACL,CACHpiJ,KAAMuhJ,EACNzuG,UAAWwiD,EACX+sD,gBAAiBz5K,KAAKq4K,iBACtBqB,cAAe15K,KAAKo4K,iBACpBjrG,gBAAiBntE,KAAKw5K,iBACtBG,uBAAwB35K,KAAKs4K,wBAC7BsB,oBAAqB55K,KAAKy4K,sBAIlCoB,oBACIlB,EACA7W,EACAgY,EACAlB,EACAmB,EAAgB,EAChBjG,EAAoB,EACpB8F,GAEA,MAAMf,EAAW,IAAIxP,GAOrB,IAAIn/F,EACJ,GAPAlqE,KAAK84K,eAAeH,EAAc7W,EAAYgY,EAAYlB,EAAcC,EAAU/E,GAE9E8F,IACA55K,KAAKy4K,qBAAuB,IAAI36J,IAAoB87J,IAIlC,IAAlBG,EACA7vG,EAAYlqE,KAAKg6K,4BACd,GAAsB,IAAlBD,EACP7vG,EAAYlqE,KAAKi6K,mCACd,CACH,MAAMC,EAAiBl6K,KAAKm6K,gCACQ,GACN,GAE1BD,EAAeE,WACflwG,EAAYgwG,EAAeE,YAEQ,IAA/BF,EAAej1K,KAAKjK,QACpBgF,KAAKq5K,UAAUznD,GAAUv4F,WAAW+mG,eAAgBpgI,KAAKk5K,cAE7DhvG,EAAYlqE,KAAKq6K,uBAAuBH,GAAuC,IAYvF,OAR8B,IAA1Bl6K,KAAKs6K,kBACLt6K,KAAKm5K,gBAGJn5K,KAAK+4K,UACN/4K,KAAKq5K,UAAUznD,GAAUv4F,WAAW45G,sBAAuBjzI,KAAKk5K,cAG7D,CACHhvG,YACA1iB,MAAOxnD,KAAKw5K,iBAAkBhyH,MAC9B5iB,YAAai0I,EAASrP,iBAItBsP,eACJH,EACA7W,EACAgY,EACAlB,EACAC,EACA/E,EAAoB,GAEpB9zK,KAAKujJ,cAAgBo1B,EACrB34K,KAAK63K,cAAgBe,EACrB54K,KAAK83K,UAAYe,EAGjB,MAAM0B,EAAY,IAAI3H,GACtB5yK,KAAKw5K,iBAAmBe,EAAU1G,SAC9B8E,EACA7W,EACAgY,EACAhG,EACA9zK,KAAK63K,cAAc9D,aAEvB/zK,KAAK23K,YAAc,EAMf2B,kBAOJ,OAJIt5K,KAAKg5K,oBAAoB,IACzBh5K,KAAKq5K,UAAUznD,GAAUv4F,WAAW85G,qBAAsBnzI,KAAKk5K,cAG3Dl5K,KAAKw6K,oBACT,KAAK,GACD,OAAOx6K,KAAKy6K,oBAEhB,KAAK,GACD,OAAOz6K,KAAK06K,uBAEhB,KAAK,GACD,OAAO16K,KAAK26K,qBAEhB,KAAK,GACD,OAAO36K,KAAK46K,qBAEhB,KAAK,GACD,OAAO56K,KAAK66K,sBAEhB,KAAK,GACD,OAAO76K,KAAK86K,oBAEhB,KAAK,EACD,OAAO96K,KAAK+6K,iBAEhB,KAAK,EACD,OAAO/6K,KAAKg7K,uBAEhB,KAAK,GAAmB,CAIpB,MAAMC,EAAYj7K,KAAKk5K,WAAW,GAClC,IAAIgC,GAAsB,EAE1B,GACuB,KAAnBD,EAAUj8K,MACS,KAAnBi8K,EAAUj8K,MACS,KAAnBi8K,EAAUj8K,MACS,KAAnBi8K,EAAUj8K,MACS,IAAnBi8K,EAAUj8K,MACS,IAAnBi8K,EAAUj8K,KAEVk8K,GAAsB,OACnB,GAAuB,IAAnBD,EAAUj8K,KAA6B,CAC9C,MAAM4tF,EAAgBquF,EAEa,KAA/BruF,EAAc6lF,cACiB,KAA/B7lF,EAAc6lF,eAEdyI,GAAsB,GAI9B,IAAKA,EAAqB,CAGtB,MAAMC,EAAiBn7K,KAAKo7K,uBAC5B,GAAID,EACA,OAAOA,IAMvB,OAAiC,KAA7Bn7K,KAAKq7K,oBACEr7K,KAAKs7K,kBAGTt7K,KAAKu7K,wBAIRP,uBACJ,MAAMQ,EAAax7K,KAAKy7K,iBAAiB,GAEzC,OAAQz7K,KAAKw6K,oBACT,KAAK,GACD,OAAOx6K,KAAK86K,kBAAkBU,GAElC,KAAK,GACD,OAAOx7K,KAAK66K,oBAAoBW,GAEpC,KAAK,GACD,OAAOx7K,KAAK26K,mBAAmBa,GAGvCx7K,KAAKq5K,UAAUznD,GAAUv4F,WAAW25G,uBAAwBwoC,GASxDJ,uBAMJ,IAAIM,GAA2B,EAkB/B,GAjBA17K,KAAK27K,iBAAgB,KACjB,MAAMC,EAAgB57K,KAAK23K,YAE3B33K,KAAKy7K,iBAAiB,IACtB,MAAM1pH,EAAa/xD,KAAK67K,kCACY,GACN,EAAI,GAE9BjqD,GAAUv4F,WAAWooG,sBAEzBi6C,EAC4B,IAAxB3pH,EAAW0U,UAA+D,KAA3BzmE,KAAKk5K,aAAal6K,KAGrEgB,KAAK23K,YAAciE,MAGlBF,EACD,OAGJ,MAAM3sF,EAAa/uF,KAAKy7K,iBAAiB,IAEnCzsF,EAAoBhvF,KAAK67K,kCACK,GACN,EAAI,GAE9BjqD,GAAUv4F,WAAWooG,sBAEnBq6C,EAAY7xF,GAAU93E,OAAO48E,EAAYC,GAEzCiqF,EAAYj5K,KAAKk5K,aAEvB,GAAKl5K,KAAKg5K,oBAAoB,IAQvB,GAAKh5K,KAAKg5K,oBAAoB,GAE9B,CACH,MAAM+C,EAAiB/7K,KAAKk5K,aAC5B,GAAKl5K,KAAKg5K,oBAAoB,GAEvB,CACH,MAAMI,EAAc2C,EAChB3C,EAAYhH,mBACZpyK,KAAKq5K,UAAUznD,GAAUv4F,WAAW4qG,mBAAoBm1C,QAJ5Dp5K,KAAKq5K,UAAUznD,GAAUv4F,WAAWonG,wBAAyBzgI,KAAKk5K,cAQtE,OAAa,CAET,MAAMD,EAAYj5K,KAAKk5K,aACvB,GAAuB,IAAnBD,EAAUj6K,KAA2B,CACrCgB,KAAKm5K,gBACL,MAAMC,EAAcH,EAChBG,EAAYhH,kBACZpyK,KAAKq5K,UAAUznD,GAAUv4F,WAAW4qG,mBAAoBm1C,GAExDp5K,KAAKq5K,UAAUznD,GAAUv4F,WAAW65G,mBAAoB+lC,GAIhE,MAAM+C,EAAgBh8K,KAAKi8K,sBACtBD,GAMDA,EAAc72I,OAAS22I,EACvBA,EAAU7sF,MAAM5zF,KAAK2gL,IALjBh8K,KAAKu5K,wBAAwB,CAAC,EAAD,MAC7Bv5K,KAAKm5K,gBAOb,MAAM+C,EAAcl8K,KAAKk5K,aACzB,GAAIl5K,KAAKg5K,oBAAoB,GAAmB,CACvCkD,EAAY7J,eACbryK,KAAKq5K,UAAUznD,GAAUv4F,WAAW2qG,qBAAsBk4C,GAE1DA,EAAY5J,mBACZtyK,KAAKq5K,UAAUznD,GAAUv4F,WAAW4qG,mBAAoBi4C,GAE5D,MAGJ,GAA8B,IAA1Bl8K,KAAKs6K,iBACL,MAIJwB,EAAU7sF,MAAMj0F,OAAS,EACzB,GAAY8gL,EAAWA,EAAU7sF,MAAM6sF,EAAU7sF,MAAMj0F,OAAS,IAEhEgF,KAAKq5K,UAAUznD,GAAUv4F,WAAWw8G,0BAA2B9mD,QAvDnE/uF,KAAKq5K,UAAUznD,GAAUv4F,WAAW6nG,kBAAmB+3C,QARvDj5K,KAAKq5K,UAAUznD,GAAUv4F,WAAWqmG,gBAAiBu5C,GAIjDj5K,KAAKu5K,wBAAwB,CAAC,EAAD,MAC7Bv5K,KAAKm5K,gBA+DTn5K,KAAKm8K,sBAAwB//G,GAAcE,OAC3Ct8D,KAAKq5K,UAAUznD,GAAUv4F,WAAWssG,oBAAqB52C,GAI7D,IAAK,IAAIz0F,EAAI,EAAGA,EAAIwhL,EAAU7sF,MAAMj0F,OAAS,EAAGV,IAAK,CACjD,MAAM8hL,EAAWN,EAAU7sF,MAAM30F,IAC5B8hL,EAAShtF,iBAAmBgtF,EAASjtF,eACtCnvF,KAAKq5K,UAAUznD,GAAUv4F,WAAWshG,2BAA4ByhD,EAASpmJ,SAIjF,OAAO8lJ,EAMHG,sBACJ,MAAM/sF,EAAYlvF,KAAKk5K,aAEvB,IAAKl5K,KAAKq8K,uBAAuB,GAE7B,YADAr8K,KAAKq5K,UAAUznD,GAAUv4F,WAAWgmG,eAAgBnwC,GAIxD,MAAMotF,EAAct8K,KAAKu8K,wBACzB,IAAIC,EAmBAptF,EAjBJ,GAAIktF,EAAYlC,WACZoC,EAAcF,EAAYlC,gBACvB,GAAgC,IAA5BkC,EAAYr3K,KAAKjK,OACxBgF,KAAKq5K,UAAUznD,GAAUv4F,WAAWioG,sBAAuBthI,KAAKk5K,cAChEsD,EAAct1F,GAAU/0E,OAAO+8E,EAAW,SACvC,GAAgC,IAA5BotF,EAAYr3K,KAAKjK,QAAiBshL,EAAY31G,cASrD61G,EAAcryF,GAAoBh4E,OAAOmqK,EAAYr3K,KAAK,GAAIq3K,EAAYr3K,UATN,CACpE,MAAM+wB,EAAUsmJ,EAAYr3K,KAAK,GAAGuqF,WAAW,GAG3CgtF,EADqB,KAArBxmJ,EAAQywC,UAA6CzwC,EAAQy5D,OAC/CtF,GAAoBh4E,OAAOmqK,EAAYr3K,KAAK,GAAIq3K,EAAYr3K,MAE5Dq3K,EAAYr3K,KAAK,GAOnCjF,KAAKq8K,uBAAuB,MAC5BjtF,EAAkBpvF,KAAKy8K,sBAAqD,IAGhF,MAAMxwF,EAAQjsF,KAAK08K,YAAY18K,KAAKg4K,eACpC,OAAO9tF,GAAS/3E,OAAO+8E,EAAWstF,EAAax8K,KAAK28K,sBAAsBH,GAAcptF,EAAiBnD,GAKrG0wF,sBAAsBj1G,GAC1B,OAAsB,KAAlBA,EAAKjB,UAIa,KAAlBiB,EAAKjB,UACEiB,EAAK8nB,WAAW/gC,MAAMz4B,GAAYh2B,KAAK28K,sBAAsB3mJ,KAMpE4mJ,uBAAuBl1G,EAAuBkmF,GAClD,OAAQlmF,EAAKjB,UACT,KAAK,GACDiB,EAAK9+C,QAAQtD,SAASu3J,IAClB78K,KAAK48K,uBAAuBC,EAAYjvB,MAE5C,MAGJ,KAAK,GACDlmF,EAAKhoE,UAAU4lB,SAASroB,IACpB+C,KAAK48K,uBAAuB3/K,EAAI+4B,QAAS43H,MAE7C,MAGJ,KAAK,GACGlmF,EAAK7hE,QACL+nJ,EAAQzoJ,IAAIuiE,EAAK7hE,OAAOvI,OAAO,GAEnCoqE,EAAK8nB,WAAWlqE,SAASu3J,IACrB78K,KAAK48K,uBAAuBC,EAAYjvB,MAE5C,MAGJ,KAAK,GACIlmF,EAAKioB,YACNi+D,EAAQzoJ,IAAIuiE,EAAK7hE,OAAOvI,OAAO,GAEnC,MAGJ,KAAK,GACDoqE,EAAK9+C,QAAQtD,SAASw3J,IACQ,KAAtBA,EAASr2G,SACTmnF,EAAQzoJ,IAAI23K,EAASj3K,OAAOvI,OAAO,IAEnC0C,KAAK48K,uBAAuBE,EAASltF,WAAYg+D,GACjD5tJ,KAAK48K,uBAAuBE,EAASjtF,aAAc+9D,QAc/D2uB,wBACJ,MAAMD,EAAct8K,KAAK+8K,6BAA4B,IAAM/8K,KAAKg9K,oBAG1DC,EAAcX,EAAYr3K,KAAK4jD,QAChC4Q,GAC+B,IAA5BA,EAAM+1B,WAAWx0F,QACgB,KAAjCy+D,EAAM+1B,WAAW,GAAG/oB,UACpBhN,EAAM+1B,WAAW,GAAGC,SAExBwtF,EAAYjiL,OAAS,GACrBgF,KAAKq5K,UAAUznD,GAAUv4F,WAAW+kG,uBAAwB6+C,EAAY,GAAGztF,WAAW,IAI1F,MAAM0tF,EAAmB,IAAIp/J,IAsB7B,OArBAw+J,EAAYr3K,KAAKqgB,SAAS63J,IACtBA,EAAU3tF,WAAWlqE,SAAS83J,IAEG,KAAzBA,EAAY32G,UACX22G,EAAY3tF,QACZ2tF,EAAYztF,aAETutF,EAAiB94J,IAAIg5J,EAAYv3K,OAAOvI,OACxC0C,KAAKq5K,UACDznD,GAAUv4F,WAAW8kG,gCAAgC9sH,OAAO,CACxDhF,KAAM+wK,EAAYv3K,OAAOvI,QAE7B8/K,GAGJF,EAAiB/3K,IAAIi4K,EAAYv3K,OAAOvI,MAAO8/K,UAMxDd,EAKHU,kBACJ,MAAMxtF,EAAgC,GAEtC,OAAa,CACT,MAAM4tF,EAAcp9K,KAAKq9K,oBAGzB,GAFA7tF,EAAWn0F,KAAK+hL,IAEXp9K,KAAKs9K,wBAAwB,GAC9B,MAaR,IAAIz3K,EACJ,GAVI2pF,EAAWx0F,OAAS,GAEpBw0F,EAAWlqE,SAAS83J,IACa,KAAzBA,EAAY32G,UAA6C22G,EAAY3tF,QACrEzvF,KAAKq5K,UAAUznD,GAAUv4F,WAAWk0G,yBAA0B6vC,MAMtEp9K,KAAKq8K,uBAAuB,GAAiB,CAC7C,MAAMruF,EAAYhuF,KAAKu9K,wBACnBvvF,EACAnoF,EAASyiF,GAASn2E,OAAO67E,GAEzBhuF,KAAKq5K,UAAUznD,GAAUv4F,WAAW2nG,sBAAuBhhI,KAAKk5K,cAMpErzK,GACsB,IAAtB2pF,EAAWx0F,QACgB,KAA3Bw0F,EAAW,GAAG/oB,UACd+oB,EAAW,GAAGC,QAEdzvF,KAAKq5K,UAAUznD,GAAUv4F,WAAWi0G,yBAA0B99C,EAAW,IAI7EA,EAAWlqE,SAAQ,CAACk4J,EAAWrzJ,KACvBA,EAAQqlE,EAAWx0F,OAAS,GAAKgF,KAAK28K,sBAAsBa,IAC5Dx9K,KAAKq5K,UAAUznD,GAAUv4F,WAAW+vG,uBAAwBo0C,MAKpE,MAAMC,EAAc,IAAI3/J,IAqBxB,OApBA0xE,EAAWlqE,SAASk4J,IAChBx9K,KAAK48K,uBAAuBY,EAAWC,MAG3CjuF,EAAWlqE,SAASk4J,IAChB,MAAME,EAAe,IAAI5/J,IAGzB,GAFA9d,KAAK48K,uBAAuBY,EAAWE,GAEnCA,EAAap+K,KAAOm+K,EAAYn+K,KAAM,CACtC,MAAMq+K,EAAejiL,MAAM2B,KAAKogL,EAAYp4J,QAAQwjC,QAAQx8C,IAAUqxK,EAAat5J,IAAI/X,KACjFmjH,EAAO,IAAId,GACjBc,EAAKZ,WACDgD,GAAUlD,mBAAmB2a,uBAAuBh4H,OAAO,CACvDhF,KAAMsxK,EAAa75J,KAAKzX,GAAS,IAAIA,OAAS7Q,KAAK,SAG3DwE,KAAKq5K,UAAUznD,GAAUv4F,WAAWgwG,uBAAyB7Z,EAAKR,YAAawuD,OAIhFpzF,GAAcj4E,OAAOq9E,EAAY3pF,GAgBpCw3K,oBACJ,MAAMO,EAAiB59K,KAAK69K,uBAC5B,GAAID,EACA,OAAOA,EAGX,MAAME,EAAwB99K,KAAK+9K,8BACnC,GAAID,EAAuB,CACvB,MAAM7wF,EAAiBjtF,KAAKk5K,aAC5B,GACuC,IAAnC4E,EAAsBr3G,WACrBzmE,KAAKg5K,oBAAoB,IAE1B,OAAO8E,EAGX,MAAM1mK,EAAOpX,KAAKg+K,4BAEZC,EACiC,KAAnCH,EAAsBr3G,SAChBq3G,EAAsBj4K,OACtBi4K,EAAsB/rH,WAC1BmsH,EAAe5zF,GAAiBn4E,OAAO8rK,EAAe7mK,GAc5D,OAZKpX,KAAKg5K,oBAAoB,MAC1Bh5K,KAAKq5K,UAAUznD,GAAUv4F,WAAWomG,qBAAsBxyC,GAI1DjtF,KAAKu5K,wBAAwB,CAAC,IAI9B,GAAY2E,EAAcl+K,KAAKk5K,eAG5BgF,EAGX,MAAMjF,EAAYj5K,KAAKk5K,aAGvB,GAAqB,KAFAl5K,KAAKq7K,oBAEkB,CACxC,MAAM5tF,EAAYztF,KAAKm5K,gBACjBgF,EAAkBn+K,KAAKu9K,wBAC7B,OAAKY,EAIM3zF,GAAmBr4E,OAAOm2E,GAASn2E,OAAOgsK,GAAkB1wF,IAHnEztF,KAAKq5K,UAAUznD,GAAUv4F,WAAWmnG,qBAAsBxgI,KAAKk5K,cACxDhyF,GAAU/0E,OAAOs7E,EAAW,IAM3C,GAAuB,KAAnBwrF,EAAUj6K,MAAyD,KAAnBi6K,EAAUj6K,KAAgC,CAC1F,MAAMwsF,EAAaxrF,KAAKm5K,gBAClBmD,EAAct8K,KAAKu8K,wBACzB,IAAIC,EAEJ,GAAIF,EAAYlC,WACZoC,EAAcF,EAAYlC,gBACvB,GACyB,IAA5BkC,EAAYr3K,KAAKjK,QAChBshL,EAAY31G,eACO,KAApB6kB,EAAWxsF,KAYXw9K,EAAcryF,GAAoBh4E,OAAOq5E,EAAY8wF,EAAYr3K,UAXnE,CACE,MAAM+wB,EAAUsmJ,EAAYr3K,KAAK,GAAGuqF,WAAW,GAG3CgtF,EADqB,KAArBxmJ,EAAQywC,UAA6CzwC,EAAQy5D,OAC/CtF,GAAoBh4E,OAAOq5E,EAAY8wF,EAAYr3K,MAEnDq3K,EAAYr3K,KAAK,GAGnC,GAAYu3K,EAAavD,GAK7B,MAAMmF,EAAWp+K,KAAKk5K,aAoBtB,OAlBIl5K,KAAKg5K,oBACkB,KAAnBC,EAAUj6K,KAAqC,GAA6B,IAGhF,GAAYw9K,EAAa4B,IAEzBp+K,KAAKq5K,UACkB,KAAnBJ,EAAUj6K,KACJ4yH,GAAUv4F,WAAWomG,qBACrB7N,GAAUv4F,WAAWmmG,uBAC3By5C,GAEJj5K,KAAKu5K,wBAAwB,C,GAEN,KAAnBN,EAAUj6K,KAAqC,GAA6B,MAI7Ew9K,EACJ,GAAuB,KAAnBvD,EAAUj6K,KAAmC,CACpD,MAAMqwF,EAAarvF,KAAKm5K,gBAClBkF,EAAiBr+K,KAAKs+K,qBAAqBjvF,GAC3CkvF,EAAYv+K,KAAKk5K,aASvB,OAPIl5K,KAAKg5K,oBAAoB,IACzB,GAAYqF,EAAgBE,IAE5Bv+K,KAAKq5K,UAAUznD,GAAUv4F,WAAWkmG,qBAAsB05C,GAC1Dj5K,KAAKu5K,wBAAwB,CAAC,GAAD,MAG1B8E,EAGX,OAAOr+K,KAAKw+K,4BAA4B,GAEpC5sD,GAAUv4F,WAAWioG,uBASrB08C,4BACJ,MAAMrwF,EAAsC,GAC5C,IAAI8wF,GAAgB,EAEpB,OAAa,CACT,MAAMC,EAAgB1+K,KAAKs6K,iBAC3B,GACsB,KAAlBoE,GACkB,IAAlBA,GACkB,IAAlBA,EAEA,MAGJ,MAAMzhL,EAAM+C,KAAK2+K,6BAQjB,GAPI1hL,EAAIoP,KACJoyK,GAAgB,EACTA,IAAkBxhL,EAAIoP,MAC7BrM,KAAKq5K,UAAUznD,GAAUv4F,WAAW2xG,2BAA4B/tI,GAEpE0wF,EAAQtyF,KAAK4B,IAER+C,KAAKg5K,oBAAoB,IAC1B,MAIR,OAAOrrF,EAIHgxF,6BACJ,MAAMtvF,EAAarvF,KAAKk5K,aAClB0F,EAAc5+K,KAAKk5K,WAAW,GAEpC,IAAI2F,EAGqB,IAApBxvF,EAAWrwF,MAAqD,IAApBqwF,EAAWrwF,MACnC,IAArB4/K,EAAY5/K,MACoC,IAA/C4/K,EAA8BnM,eAE/BzyK,KAAKm5K,gBACL0F,EAAcv2F,GAASn2E,OAAOk9E,GAC9BrvF,KAAKm5K,iBAGT,MAAMnjJ,EAAUh2B,KAAKg9K,kBAErB,OAAOzyF,GAAyBp4E,OAAO6jB,EAAS6oJ,GAW5ChB,uBACJ,MAAM5E,EAAYj5K,KAAKk5K,aACjB4F,EAAe9+K,KAAKq7K,oBAE1B,GAAuB,IAAnBpC,EAAUj6K,MAA8C,KAAjB8/K,EACvC,OAAO9+K,KAAK++K,6BAGhB,GAAuB,IAAnB9F,EAAUj6K,KAA2B,CACrC,MAAMggL,EAAah/K,KAAKi/K,aAUxB,OATAntH,EAA+B,KAAxBktH,EAAWv4G,UAGlBu4G,EAAW93G,QAAQ5hD,SAAS45J,IACK,GAAzBA,EAAWl+J,MAAMkoD,OACjBlpE,KAAKq5K,UAAUznD,GAAUv4F,WAAWmpG,wBAAyB08C,MAI9D70F,GAAmBl4E,OAAO6sK,GAGrC,GAAuB,IAAnB/F,EAAUj6K,KAA4B,CACtC,MAAMmgL,EAAelG,EACrB,GACiC,KAA7BkG,EAAajxF,aACgB,KAA7BixF,EAAajxF,aACgB,KAA7BixF,EAAajxF,YAEb,OAAO7D,GAAmBl4E,OAAOnS,KAAKi/K,eAQ1CF,6BACJ,MAAMhtH,EAAa/xD,KAAKo/K,6BACxB,IAAIC,EACAC,EAgCJ,OA9B4B,IAAxBvtH,EAAW0U,SACiB,KAAxB1U,EAAW86B,UAA8D,IAAxB96B,EAAW86B,WAC5DwyF,EAAYttH,EAAW2U,eACvB44G,EAAYvtH,EAAWg7B,iBAG3BsyF,EAAYttH,EAGZstH,IAC2B,KAAvBA,EAAU54G,UAAoE,KAAvB44G,EAAUxyF,WACjEwyF,EAAYA,EAAUttH,aAGC,KAAvBstH,EAAU54G,eAAoD3nE,IAAdwgL,GAA2BD,EAAUr4G,eACrFhnE,KAAKq5K,UAAUznD,GAAUv4F,WAAWsmG,+BAAgC5tE,GACpEutH,OAAYxgL,IAIhBwgL,IAC2B,KAAvBA,EAAU74G,UAAoE,KAAvB64G,EAAUzyF,WACjEyyF,EAAYA,EAAUvtH,YAGC,KAAvButH,EAAU74G,UAAsC64G,EAAUt4G,aAC1DhnE,KAAKq5K,UAAUznD,GAAUv4F,WAAWsmG,+BAAgC5tE,IAIrEs4B,GAAmBl4E,OAAO4/C,GAG7BusH,qBAAqBjvF,GACzB,MAAMkwF,EAAWv/K,KAAK+8K,6BAA4B,IAAM/8K,KAAKw/K,6BAE7D,GAAID,EAASt6K,KAAKjK,OAAS,EAAG,CAE1B,MAAMykL,EAAkBF,EAASt6K,KAAK4jD,QACjC4Q,GAA6B,KAAnBA,EAAMgN,WAMrB,OAJIg5G,EAAgBzkL,OAAS,GACzBgF,KAAKq5K,UAAUznD,GAAUv4F,WAAWglG,2BAA4BohD,EAAgB,IAG7Eh1F,GAAmBt4E,OAAOk9E,EAAYkwF,EAASt6K,MAG1D,OAAOs6K,EAASnF,YAAclzF,GAAU/0E,OAAOnS,KAAKk5K,aAAc,IAM9DsG,2BACJ,IAAIlxF,EACJ,MAAMoxF,EAAa1/K,KAAKk5K,aAExB,GAAIl5K,KAAKs9K,wBAAwB,IAAqB,CAClD,MAAMa,EAAkBn+K,KAAKu9K,wBAC7B,IAAKY,EAED,OADAn+K,KAAKq5K,UAAUznD,GAAUv4F,WAAWmnG,qBAAsBxgI,KAAKk5K,cACxDhyF,GAAU/0E,OAAOnS,KAAKk5K,aAAc,IAG/C,MAAMlhB,EAAW1vE,GAASn2E,OAAOgsK,GAKjC,MAJ8B,MAA1BA,EAAgB7gL,OAChB0C,KAAKq5K,UAAUznD,GAAUv4F,WAAWs0G,6BAA8BqqB,GAG/DrtE,GAA8Bx4E,OAAOutK,EAAY1nB,GAG5D,MAAM4lB,EAAiB59K,KAAK69K,uBAC5B,GAAID,EACAtvF,EAAgBsvF,MACb,CACH,MAAME,EAAwB99K,KAAK+9K,8BAC/BD,IACuC,KAAnCA,EAAsBr3G,SACtB6nB,EAAgBwvF,GAEhB99K,KAAKq5K,UAAUznD,GAAUv4F,WAAWmoG,uBAAwBs8C,GAC5DxvF,EAAgBpH,GAAU/0E,OAAOnS,KAAKk5K,aAAc,MAUhE,IAAIrpF,EAQJ,OAbKvB,IACDtuF,KAAKq5K,UAAUznD,GAAUv4F,WAAWioG,sBAAuBthI,KAAKk5K,cAChE5qF,EAAgBpH,GAAU/0E,OAAOnS,KAAKk5K,aAAc,KAInDl5K,KAAKg5K,oBAAoB,IAI1BnpF,EAAe7vF,KAAKg9K,mBAHpBh9K,KAAKq5K,UAAUznD,GAAUv4F,WAAWqmG,gBAAiB1/H,KAAKk5K,cAC1DrpF,EAAe3I,GAAU/0E,OAAOnS,KAAKk5K,aAAc,KAKhDxuF,GAA2Bv4E,OAAOm8E,EAAeuB,GAGpDkuF,8BACJ,MAAM9E,EAAYj5K,KAAKk5K,aAEvB,GAAuB,IAAnBD,EAAUj6K,MAAoD,IAAnBi6K,EAAUj6K,KAA4B,CACjF,IAAI2gL,EAEJ,OAAa,CACT,MAAMxB,EAAkBn+K,KAAKu9K,wBAC7B,IAAIY,EAGG,CACHn+K,KAAKq5K,UAAUznD,GAAUv4F,WAAWmnG,qBAAsBxgI,KAAKk5K,cAC/D,MALiB,CACjB,MAAMlhB,EAAW1vE,GAASn2E,OAAOgsK,GACjCwB,EAAeA,EAAev3F,GAAiBj2E,OAAOwtK,EAAc3nB,GAAYA,EAMpF,IAAKh4J,KAAKg5K,oBAAoB,IAC1B,MAIR,OAAK2G,EAKyB,KAA1BA,EAAal5G,SACNmkB,GAAiBz4E,OAAOwtK,GAG5Bn1F,GAAmBr4E,OAAOwtK,IAR7B3/K,KAAKq5K,UAAUznD,GAAUv4F,WAAWmnG,qBAAsBxgI,KAAKk5K,cACxDhyF,GAAU/0E,OAAOnS,KAAKk5K,aAAc,MAgB/CuB,kBAAkBvsF,EAAA,IACtB,MAAMpD,EAAgB9qF,KAAKy7K,iBAAiBvtF,GAEtCl3C,EAAOh3C,KAAKy8K,sBAAqD,GACjExwF,EAAQjsF,KAAK08K,YAAY18K,KAAKg4K,eAC9B4H,EAASx5F,GAAOj0E,OAAO24E,EAAe9zC,EAAMi1C,GAalD,OAXIjsF,KAAKq8K,uBAAuB,KAC5BuD,EAAO30F,UAAYjrF,KAAK08K,YAAY18K,KAAKg4K,eACzC4H,EAAO30F,UAAU9lD,OAASy6I,EAC1B,GAAYA,EAAQA,EAAO30F,YACQ,KAA5BjrF,KAAKw6K,qBAEZoF,EAAO30F,UAAYjrF,KAAKy6K,kBAAkB,IAC1CmF,EAAO30F,UAAU9lD,OAASy6I,EAC1B,GAAYA,EAAQA,EAAO30F,YAGxB20F,EAGHC,kBACJ,MAAMC,EAAY9/K,KAAK+3K,UACjBgI,EAAe//K,KAAKi4K,aAC1Bj4K,KAAK+3K,WAAY,EACjB/3K,KAAKi4K,cAAe,EAEpB,MAAMhsF,EAAQjsF,KAAK08K,YAAY18K,KAAKg4K,eAKpC,OAHAh4K,KAAK+3K,UAAY+H,EACjB9/K,KAAKi4K,aAAe8H,EAEb9zF,EAIHywF,YAAY51E,GAAa,EAAOk5E,GAAW,EAAOC,GACtD,MAAMhH,EAAYj5K,KAAKk5K,aACjBjtF,EAAQ9F,GAAUh0E,OAAO8mK,GAE/B,IAAKj5K,KAAKg5K,oBAAoB,MACH,IAAnBC,EAAUj6K,KACuB,IAA7BgB,KAAKq7K,qBACLr7K,KAAKq5K,UAAUznD,GAAUv4F,WAAW4mG,2BAA4Bg5C,GAGpEj5K,KAAKq5K,UAAUznD,GAAUv4F,WAAWqmG,gBAAiBu5C,GAGrDj5K,KAAKu5K,wBAAwB,CAAC,EAAD,MAC7B,GAA8B,KAA1Bv5K,KAAKs6K,iBACLt6K,KAAKm5K,qBACF,GAAgC,IAA5Bn5K,KAAKk5K,WAAW,GAAGl6K,KAI1B,OADAgB,KAAKm5K,gBACEltF,EAKnB,GAAI+zF,EAAU,CACV,GAAIhgL,KAAKg5K,oBAAoB,GAAoB,CAC7C,IAAI7vH,EAAS,EACb,OAAa,CACT,MAAM8vH,EAAYj5K,KAAKm5K,gBAKvB,GAJuB,IAAnBF,EAAUj6K,MACVmqD,IAGmB,IAAnB8vH,EAAUj6K,OACLi6K,EAA0B3G,mBAC3BtyK,KAAKq5K,UAAUznD,GAAUv4F,WAAW4qG,mBAAoBg1C,GAG5D9vH,IAEe,IAAXA,GACA,MAIR,GAAuB,IAAnB8vH,EAAUj6K,KACV,YAKRgB,KAAKu7K,wBAOT,OAJIv7K,KAAK23K,YAAc,GACnB,GAAY1rF,EAAOjsF,KAAKw5K,iBAAkBl1G,OAAOgB,UAAUtlE,KAAK23K,YAAc,IAG3E1rF,EAGPg0F,GACAA,IAGJ,MAAMC,EAAclgL,KAAKg4K,cAGzB,GAFAh4K,KAAKg4K,cAAgBlxE,EAEjB9mG,KAAKg5K,oBAAoB,GAAoB,CACzCiH,GACAA,IAGJ,MAAMlE,EAAiB/7K,KAAKk5K,aAC5B,GAAKl5K,KAAKg5K,oBAAoB,GAEvB,CACH,MAAMI,EAAc2C,EAChB3C,EAAYhH,mBACZpyK,KAAKq5K,UAAUznD,GAAUv4F,WAAW4qG,mBAAoBm1C,QAJ5Dp5K,KAAKq5K,UAAUznD,GAAUv4F,WAAWonG,wBAAyBzgI,KAAKk5K,cAQtE,OAAa,CAET,MAAMD,EAAYj5K,KAAKk5K,aACvB,GAAuB,IAAnBD,EAAUj6K,KAA2B,CACrCgB,KAAKm5K,gBACL,MAAMC,EAAcH,EAChBG,EAAYhH,kBACZpyK,KAAKq5K,UAAUznD,GAAUv4F,WAAW4qG,mBAAoBm1C,GAExDp5K,KAAKq5K,UAAUznD,GAAUv4F,WAAW65G,mBAAoB+lC,GAIhE,MAAMrvG,EAAY5pE,KAAKs5K,kBAClB1vG,GAIDA,EAAUzkC,OAAS8mD,EACnBA,EAAMxhB,WAAWpvE,KAAKuuE,IAHtB5pE,KAAKu5K,wBAAwB,CAAC,IAMlC,MAAM2C,EAAcl8K,KAAKk5K,aACzB,GAAIl5K,KAAKg5K,oBAAoB,GAAmB,CACvCkD,EAAY7J,eACbryK,KAAKq5K,UAAUznD,GAAUv4F,WAAW2qG,qBAAsBk4C,GAE1DA,EAAY5J,mBACZtyK,KAAKq5K,UAAUznD,GAAUv4F,WAAW4qG,mBAAoBi4C,GAE5D,MAGJ,GAA8B,IAA1Bl8K,KAAKs6K,iBACL,WAGL,CACH,MAAMhrG,EAAkBtvE,KAAKu7K,wBAC7BtvF,EAAMxhB,WAAWpvE,KAAKi0E,GACtBA,EAAgBnqC,OAAS8mD,EAS7B,OANIA,EAAMxhB,WAAWzvE,OAAS,GAC1B,GAAYixF,EAAOA,EAAMxhB,WAAWwhB,EAAMxhB,WAAWzvE,OAAS,IAGlEgF,KAAKg4K,cAAgBkI,EAEdj0F,EAIH0uF,mBAAmBa,GACvB,MAAMpwF,EAAWprF,KAAKy7K,iBAAiB,IAEjC0E,EAAangL,KAAKogL,oCAAoC,EAExDxuD,GAAUv4F,WAAW+mG,eACrBh1C,GAGJ,IAAIi1F,EACA90F,EACAN,EAEJ,GAAKjrF,KAAKq8K,uBAAuB,IAM1B,CAWH,GAVAgE,EAAUrgL,KAAK67K,kCACqB,GACN,EAAI,EAE9BjqD,GAAUv4F,WAAWsnG,kBAEzBp1C,EAAWvrF,KAAK6/K,kBAIZ7/K,KAAKm8K,sBAAwB//G,GAAckkH,OAAStgL,KAAK63K,cAAcjjG,YAC9C,KAArByrG,EAAQ55G,WAAqC45G,EAAQ3yF,iBAAkB,CACvE,IAAI6yF,GAAU,EACdF,EAAQ33G,YAAYpjD,SAAS+oE,IACH,KAAlBA,EAAK5nB,UAAsC85G,IAC3CvgL,KAAKq5K,UAAUznD,GAAUv4F,WAAWo7G,2BAA4BpmD,GAChEkyF,GAAU,MAMtBvgL,KAAKq8K,uBAAuB,MAC5BpxF,EAAYjrF,KAAK08K,YAAY18K,KAAKg4K,qBA7BtCqI,EAAUrgL,KAAKw+K,4BAA4B,EAEvC5sD,GAAUv4F,WAAWqnG,cAEzBn1C,EAAWpF,GAAUh0E,OAAOnS,KAAKk5K,cA6BrC,MAAMsH,EAAUl6F,GAAQn0E,OAAOi5E,EAAU+0F,EAAYE,EAAS90F,GAa9D,OAZAi1F,EAAQv1F,UAAYA,EAChBA,IACA,GAAYu1F,EAASv1F,GACrBA,EAAU9lD,OAASq7I,GAGnBhF,IACAgF,EAAQ5pF,SAAU,EAClB4pF,EAAQhF,WAAaA,EACrB,GAAYgF,EAAShF,IAGlBgF,EAIHC,2BAA2B56K,GAC/B,MAAM66K,EAAU1gL,KAAK2gL,4BAErB,IAAKD,EACD,OAGoB,KAApB76K,EAAO4gE,SACPzmE,KAAKq5K,UAAUznD,GAAUv4F,WAAW+6G,+BAAgCvuI,GACzC,KAApBA,EAAO4gE,UACdzmE,KAAKq5K,UAAUznD,GAAUv4F,WAAWgkG,mCAAoCx3H,GAG5E,MAAM+6K,EAAe74F,GAAsB51E,OAAOtM,GAE5Cg7K,EAA0C,CAACH,GACjD,OAAa,CACT,MAAMI,EAAW9gL,KAAK2gL,6BAA+B3gL,KAAK+gL,2BAC1D,IAAKD,EACD,MAEJA,EAAS37I,OAASy7I,EAClBC,EAAUxlL,KAAKylL,GAUnB,OAPAF,EAAahzF,WAAaizF,EACtBA,EAAU7lL,OAAS,IACnB6lL,EAAUv7J,SAAS07J,IACfA,EAAK77I,OAASy7I,KAElB,GAAYA,EAAcC,EAAUA,EAAU7lL,OAAS,KAEpD4lL,EAIHD,4BACJ,MAAMM,EAAwBjhL,KAAKw6K,mBAEnC,GAA8B,IAA1ByG,EAA6C,CAC7C,MAAMhI,EAAYj5K,KAAKk5K,WAAW,GAClC,GAAuB,IAAnBD,EAAUj6K,MAAwD,KAA1Bi6K,EAAU/qF,YAClD,YAED,GAA8B,KAA1B+yF,EACP,OAGJ,IAAIzF,EAC4B,IAA5Bx7K,KAAKw6K,qBACLgB,EAAax7K,KAAKy7K,iBAAiB,IAGvC,MAAMrwF,EAAWprF,KAAKy7K,iBAAiB,IAEjC0E,EAAangL,KAAKogL,oCAAoC,EAExDxuD,GAAUv4F,WAAW+mG,eACrBh1C,GAEJ,IAAIi1F,EAECrgL,KAAKq8K,uBAAuB,IAM7Br8K,KAAKkhL,+BAA8B,KAC/Bb,EAAUrgL,KAAKmhL,kBANnBd,EAAUrgL,KAAKw+K,4BAA4B,EAEvC5sD,GAAUv4F,WAAWqnG,cAQ7B,MAAM0gD,EAAc76F,GAAyBp0E,OAAOqpK,GAAcpwF,EAAU+0F,EAAYE,GAOxF,OALI7E,IACA4F,EAAYxqF,SAAU,EACtBwqF,EAAY5F,WAAaA,GAGtB4F,EAKHL,2BACJ,GAAgC,KAA5B/gL,KAAKw6K,mBACL,OAGJ,MAAM/uF,EAAUzrF,KAAKy7K,iBAAiB,IAChC4F,EACFrhL,KAAKshL,6BACLthL,KAAKuhL,4BAA8D,GAIvE,OAFmB/6F,GAAwBr0E,OAAOs5E,EAAS41F,GAMvD3G,uBACJ,MAAMxvF,EAAalrF,KAAKy7K,iBAAiB,IAEnC+F,EAAYn7F,GAAUl0E,OACxB+4E,EACAlrF,KAAKy8K,sBAAqD,GAC1Dz8K,KAAK6/K,mBAST,OANI7/K,KAAKq8K,uBAAuB,MAC5BmF,EAAUv2F,UAAYjrF,KAAK08K,YAAY18K,KAAKg4K,eAC5CwJ,EAAUv2F,UAAU9lD,OAASq8I,EAC7B,GAAYA,EAAWA,EAAUv2F,YAG9Bu2F,EASH5G,qBACJ,MAAMlvF,EAAW1rF,KAAKy7K,iBAAiB,IACjC9vF,EAAW3rF,KAAK08K,YAAY18K,KAAKg4K,eACjCyJ,EAAUh7F,GAAQt0E,OAAOu5E,EAAUC,GACzC,IAAI+1F,GAAoB,EAExB,OAAa,CACT,MAAM71F,EAAc7rF,KAAKk5K,aACzB,IAAKl5K,KAAKq8K,uBAAuB,IAC7B,MAIJ,MAAMsF,EAAoB3hL,KAAKk5K,aAC/B,IAQI0I,EACA9uH,EATAi5B,GAAgB,EAUpB,GATI/rF,KAAKs9K,wBAAwB,MACzBt9K,KAAKm8K,sBAAwB//G,GAAcylH,QAAU7hL,KAAK63K,cAAcjjG,YACxE50E,KAAKq5K,UAAUznD,GAAUv4F,WAAWslG,6BAA8BgjD,GAEtE51F,GAAgB,GAKU,KAA1B/rF,KAAKs6K,iBAGL,GAFAsH,EAAW5hL,KAAKy8K,sBAAqD,GAEjEz8K,KAAKq8K,uBAAuB,GAC5BvpH,EAAa9yD,KAAKu9K,wBACbzqH,GACD9yD,KAAKq5K,UAAUznD,GAAUv4F,WAAW2nG,sBAAuBhhI,KAAKk5K,kBAEjE,CAEH,MAAM+B,EAAYj7K,KAAKk5K,aACnBl5K,KAAKg5K,oBAAoB,MACzBh5K,KAAKq5K,UAAUznD,GAAUv4F,WAAW4lG,2BAA4Bg8C,GAGhEj7K,KAAKy8K,sBAAqD,IAKjEmF,EAMGF,GACA1hL,KAAKq5K,UAAUznD,GAAUv4F,WAAWytG,2BAA4B86C,IANhEF,GACA1hL,KAAKq5K,UAAUznD,GAAUv4F,WAAWwkG,oBAAqBhyC,GAE7D61F,GAAoB,GAOxB,MAAM51F,EAAc9rF,KAAK08K,YAAY18K,KAAKg4K,eACpC8J,EAAap7F,GAAWv0E,OAAO05E,EAAaC,EAAaC,GAC3D61F,IACAE,EAAW9vF,eAAiB4vF,EAC5BE,EAAW9vF,eAAe7sD,OAAS28I,GAGnChvH,IACAgvH,EAAWz1K,KAAOi8E,GAASn2E,OAAO2gD,GAClCgvH,EAAWz1K,KAAK84B,OAAS28I,GAG7BL,EAAQ71F,cAAcvwF,KAAKymL,GAC3BA,EAAW38I,OAASs8I,EAuBxB,OApBIA,EAAQ71F,cAAc5wF,OAAS,IAC/B,GAAYymL,EAASA,EAAQ71F,cAAc61F,EAAQ71F,cAAc5wF,OAAS,IAEtEgF,KAAKq8K,uBAAuB,MAC5BoF,EAAQx2F,UAAYjrF,KAAK08K,YAAY18K,KAAKg4K,eAC1CyJ,EAAQx2F,UAAU9lD,OAASs8I,EAC3B,GAAYA,EAASA,EAAQx2F,aAIjCjrF,KAAKq8K,uBAAuB,MAC5BoF,EAAQrtF,aAAep0F,KAAK08K,YAAY18K,KAAKg4K,eAC7CyJ,EAAQrtF,aAAajvD,OAASs8I,EAC9B,GAAYA,EAASA,EAAQrtF,eAG5BqtF,EAAQrtF,cAAiD,IAAjCqtF,EAAQ71F,cAAc5wF,QAC/CgF,KAAKq5K,UAAUznD,GAAUv4F,WAAW01G,mBAAoBrjD,GAGrD+1F,EAKH3G,kBAAkBU,EAA2BtvF,GACjD,MAAMF,EAAWhsF,KAAKy7K,iBAAiB,IAEjCztF,EAAYhuF,KAAKu9K,wBACvB,IAAKvvF,EAED,OADAhuF,KAAKq5K,UAAUznD,GAAUv4F,WAAWwnG,uBAAwB70C,GACrD9E,GAAU/0E,OACb65E,EAAQ,QAERltF,EACAotF,GAIR,MAAMe,EAAiBjtF,KAAKk5K,aAC5B,IAAKl5K,KAAKg5K,oBAAoB,IAE1B,OADAh5K,KAAKq5K,UAAUznD,GAAUv4F,WAAW+nG,oBAAqBphI,KAAKk5K,cACvDhyF,GAAU/0E,OACb67E,EAAS,GAET1F,GAASn2E,OAAO67E,GAChB9B,GAIR,MAAM87D,EAAYhoJ,KAAK+hL,kBAAkB,IAAmD,GAO5F,IAAI34E,EAKA44E,EAVChiL,KAAKg5K,oBAAoB,MAC1Bh5K,KAAKq5K,UAAUznD,GAAUv4F,WAAWomG,qBAAsBxyC,GAC1DjtF,KAAKu5K,wBAAwB,CAAC,MAI9Bv5K,KAAKg5K,oBAAoB,MACzB5vE,EAAappG,KAAKg6K,wBAItB,MAAM/tF,EAAQjsF,KAAK08K,aAA6B,EAAM18K,KAAK63K,cAAcJ,0BAA0B,KAC1FuK,IACDA,EAA8BhiL,KAAKiiL,oCAIrCv2D,EAAe/kC,GAAax0E,OAAO65E,EAAU1D,GAASn2E,OAAO67E,GAAY/B,GAkC/E,OAjCIuvF,IACA9vD,EAAa90B,SAAU,EACvB,GAAY80B,EAAc8vD,IAG9B9vD,EAAaroF,WAAa2kH,EAC1BA,EAAU1iI,SAASlC,IACfA,EAAM+hB,OAASumF,KAGfx/B,IACAw/B,EAAax/B,WAAaA,EAC1BA,EAAW5mE,SAASinE,IAChBA,EAAUpnD,OAASumF,KAGnBx/B,EAAWlxF,OAAS,GACpB,GAAY0wH,EAAcx/B,EAAW,KAIzCkd,IACAsiB,EAAat+B,qBAAuBgc,EACpCsiB,EAAat+B,qBAAqBjoD,OAASumF,EAC3C,GAAYA,EAActiB,IAK1B44E,GACAhiL,KAAKkiL,oCAAoCF,EAA6Bt2D,GAGnEA,EAeHq2D,kBAAkBI,EAAuBC,GAC7C,MAAMvyB,EAAW,IAAI/xI,IACfkqI,EAA6B,GACnC,IAAIq6B,GAAkB,EAClBC,GAA6B,EAC7BrlE,GAA0B,EAC1BslE,GAA2B,EAC3B3uE,GAAU,EACV4uE,GAAY,EAEhB,KACQxiL,KAAKs6K,mBAAqB6H,GADrB,CAKT,MAAM/+J,EAAQpjB,KAAKyiL,gBAAgBL,GACnC,IAAKh/J,EAAO,CACRpjB,KAAKu5K,wBAAwB,CAAC4I,IAC9B,MAGJ,GAAI/+J,EAAM/W,KAAM,CACZ,MAAMA,EAAO+W,EAAM/W,KAAK/O,MACpBuyJ,EAASzrI,IAAI/X,GACbrM,KAAKq5K,UAAUznD,GAAUv4F,WAAW6kG,iBAAiB7sH,OAAO,CAAEhF,SAAS+W,EAAM/W,MAE7EwjJ,EAAS1qJ,IAAIkH,EAAMA,QAEG,IAAnB+W,EAAMk7C,UACY,IAArB0pF,EAAUhtJ,QACVgF,KAAKq5K,UAAUznD,GAAUv4F,WAAWgyG,yBAA0BjoH,GAI/C,IAAnBA,EAAMk7C,WACDl7C,EAAM/W,KAUH+W,EAAM8vE,aACNmvF,GAAkB,GACXA,GAAoBplE,GAA4BrJ,GAElD0uE,IACDtiL,KAAKq5K,UAAUznD,GAAUv4F,WAAWsuG,yBAA0BvkH,GAC9Dk/J,GAA6B,IAfjCC,EACAviL,KAAKq5K,UAAUznD,GAAUv4F,WAAWilG,wBAAyBl7G,GACtD65F,EACPj9G,KAAKq5K,UAAUznD,GAAUv4F,WAAW8xG,+BAAgC/nH,GAC7DwwF,GACP5zG,KAAKq5K,UAAUznD,GAAUv4F,WAAW6xG,wBAAyB9nH,GAEjEm/J,GAA2B,IAcnCv6B,EAAU3sJ,KAAK+nB,GAEQ,IAAnBA,EAAMk7C,WACDl7C,EAAM/W,OAQH4wG,GAA2BrJ,IAC3B5zG,KAAKq5K,UAAUznD,GAAUv4F,WAAWskG,qBAAsBv6G,GAE9DwwF,GAAU,IAVNqJ,EACAj9G,KAAKq5K,UAAUznD,GAAUv4F,WAAW4kG,uBAAwB76G,GACrDwwF,GACP5zG,KAAKq5K,UAAUznD,GAAUv4F,WAAW6rG,uBAAwB9hH,GAEhE65F,GAA0B,IASX,IAAnB75F,EAAMk7C,UACFkkH,GACAxiL,KAAKq5K,UAAUznD,GAAUv4F,WAAW2kG,uBAAwB56G,GAEhEo/J,GAAY,GACLA,GACPxiL,KAAKq5K,UAAUznD,GAAUv4F,WAAWuwG,wBAAyBxmH,GAGjE,MAAMs/J,EAAa1iL,KAAKg5K,oBAAoB,IAE5C,GAAIoJ,IAAqBh/J,EAAM4pE,eAAgB,CAE3C,MAAMyD,EAAwBzwF,KAAK2iL,sCAC/BlyF,IACArtE,EAAMqtE,sBAAwBA,EAC9BrtE,EAAMqtE,sBAAsBtrD,OAAS/hB,EACrC,GAAYA,EAAOA,EAAMqtE,wBAIjC,IAAKiyF,EACD,MAIR,GAAI16B,EAAUhtJ,OAAS,EAAG,CACtB,MAAMq4G,EAAY20C,EAAUA,EAAUhtJ,OAAS,GACpB,IAAvBq4G,EAAU/0C,UAA8C+0C,EAAUhnG,MAClErM,KAAKq5K,UAAUznD,GAAUv4F,WAAW4nG,yBAA0B5tB,GAItE,OAAO20C,EAGHy6B,gBAAgBL,GACpB,IAAIQ,EAAY,EACZC,EAAa,EACjB,MAAMxzF,EAAarvF,KAAKk5K,aAEpBl5K,KAAKs9K,wBAAwB,IAC7BsF,EAAY,EACL5iL,KAAKs9K,wBAAwB,IACpCsF,EAAY,EACL5iL,KAAKs9K,wBAAwB,MAChCt9K,KAAKm8K,sBAAwB//G,GAAc0mH,OAAS9iL,KAAK63K,cAAcjjG,YACvE50E,KAAKq5K,UAAUznD,GAAUv4F,WAAW+xG,2BAA4B/7C,GAEpEwzF,EAAa,GAGjB,MAAM5lF,EAAYj9F,KAAKu9K,wBACvB,IAAKtgF,EAAW,CACZ,GAAkB,IAAd2lF,EAEA,OADkBh8F,GAAcz0E,OAAOk9E,EAAY,GAEhD,GAAmB,IAAfwzF,EAEP,OADkBj8F,GAAcz0E,OAAOk9E,EAAY,GAKvD,GAA8B,KAA1BrvF,KAAKs6K,iBAAgD,CACrD,MAAMyI,EAAe/iL,KAAKm5K,gBACtBn5K,KAAKu5K,wBAAwB,CAAC,MAC9Bv5K,KAAKm5K,gBAETn5K,KAAKq5K,UAAUznD,GAAUv4F,WAAW+0G,4BAA6B20C,QAEjE/iL,KAAKq5K,UAAUznD,GAAUv4F,WAAWgoG,oBAAqBrhI,KAAKk5K,cAItE,IAAIl3D,EAAY,EACE,IAAd4gE,EACA5gE,EAAY,EACS,IAAd4gE,IACP5gE,EAAY,GAEhB,MAAMghE,EAAYp8F,GAAcz0E,OAAOk9E,EAAY2yB,GAuBnD,OAtBI/kB,IACA+lF,EAAU32K,KAAOi8E,GAASn2E,OAAO8qF,GACjC+lF,EAAU32K,KAAK84B,OAAS69I,EACxB,GAAYA,EAAW/lF,IAGvBmlF,GAAoBpiL,KAAKg5K,oBAAoB,MAC7CgK,EAAUh2F,eAAiBhtF,KAAKg6K,qBAAmC,IAAdh4D,GACrDghE,EAAUh2F,eAAe7nD,OAAS69I,EAClC,GAAYA,EAAWA,EAAUh2F,iBAGjChtF,KAAKs9K,wBAAwB,KAC7B0F,EAAU9vF,aAAelzF,KAAKy8K,sBAAqD,GACnFuG,EAAU9vF,aAAa/tD,OAAS69I,EAChC,GAAYA,EAAWA,EAAU9vF,cAE7B0vF,EAAY,GACZ5iL,KAAKq5K,UAAUznD,GAAUv4F,WAAW6jG,yBAA0B8lD,EAAU9vF,eAIzE8vF,EAMHnI,oBAAoBW,GACxB,MAAMhvF,EAAYxsF,KAAKy7K,iBAAiB,IACxC,IAAIwH,EAA+B,GAEnC,MAAMC,EAAgBljL,KAAKk5K,aAM3B,IAAIiK,GAA8B,EAClC,GAA2B,KAAvBD,EAAclkL,KAAoC,CAClD,MAAMokL,EAAsBpjL,KAAK23K,YAEjC33K,KAAK27K,iBAAgB,KAEjB,IADA37K,KAAKm5K,gBAED8J,EAAa5nL,KAAK2E,KAAKqjL,kBAClBrjL,KAAKg5K,oBAAoB,KAIC,KAA3Bh5K,KAAKk5K,aAAal6K,OAMK,KAA3BgB,KAAKk5K,aAAal6K,MACU,KAA5BgB,KAAKk5K,WAAW,GAAGl6K,OAEnBmkL,EAAsD,IAAxBF,EAAajoL,aAA2C8D,IAA3BmkL,EAAa,GAAGp9K,QAG/E7F,KAAK23K,YAAcyL,EACnBH,EAAe,MAWvB,IAPIE,IACAnjL,KAAKg5K,oBAAoB,IACrBh5K,KAAKm8K,sBAAwB//G,GAAckkH,MAC3CtgL,KAAKq5K,UAAUznD,GAAUv4F,WAAW0xG,qCAAsCm4C,IAK9ED,EAAa5nL,KAAK2E,KAAKqjL,kBAElBrjL,KAAKg5K,oBAAoB,KAIC,KAA3Bh5K,KAAKk5K,aAAal6K,OAKtBmkL,IACKnjL,KAAKg5K,oBAAoB,KAC1Bh5K,KAAKq5K,UAAUznD,GAAUv4F,WAAWomG,qBAAsByjD,IAIlE,MAAMI,EAAYtjL,KAAK08K,YAAY18K,KAAKg4K,eAClCuL,EAAWz8F,GAAS30E,OAAOq6E,EAAW82F,GAY5C,OAXI9H,IACA+H,EAAS3sF,SAAU,EACnB2sF,EAAS/H,WAAaA,EACtB,GAAY+H,EAAU/H,IAG1B+H,EAAS92F,UAAYw2F,EACrBA,EAAa39J,SAASk+J,IAClBA,EAASr+I,OAASo+I,KAGfA,EAIHF,iBACJ,MAAMh1F,EAAOruF,KAAKy8K,sBAAqD,GACjEgH,EAAW18F,GAAa50E,OAAOk8E,GAQrC,OANIruF,KAAKq8K,uBAAuB,KAC5BoH,EAAS59K,OAAS7F,KAAK0jL,kBAAmC,GAC1DD,EAAS59K,OAAOs/B,OAASs+I,EACzB,GAAYA,EAAUA,EAAS59K,SAG5B49K,EAKHnI,kBACJ,MAAMqI,EAAiC,GAEvC,KACqC,KAA7B3jL,KAAKq7K,qBACLsI,EAActoL,KAAK2E,KAAK4jL,mBAMhC,MAAM3K,EAAYj5K,KAAKk5K,aACvB,GAAuB,IAAnBD,EAAUj6K,KACV,GAA8B,IAA1Bi6K,EAAU/qF,YAAmC,CAG7C,GAFAluF,KAAKm5K,gBAE2B,KAA5Bn5K,KAAKw6K,mBAGL,OAAOx6K,KAAK86K,kBAAkB7B,EAAW0K,GAFzC3jL,KAAKq5K,UAAUznD,GAAUv4F,WAAWunG,6BAA8B5gI,KAAKk5K,kBAIxE,IAA8B,KAA1BD,EAAU/qF,YACjB,OAAOluF,KAAK86K,uBAAkBh8K,EAAW6kL,GACtC,GAA8B,IAA1B1K,EAAU/qF,YACjB,OAAOluF,KAAK+6K,eAAe4I,GAQnC,OAJA3jL,KAAKq5K,UAAUznD,GAAUv4F,WAAW0lG,yBAA0B/+H,KAAKk5K,cAI5DryF,GAAUwF,yBAAyBs3F,GAItCC,kBACJ,MAAMC,EAAa7jL,KAAKm5K,gBACxBrnH,EAAmC,KAA5B+xH,EAAWpR,cAElB,MAAM1gH,EAAa/xD,KAAKy8K,sBAAqD,GAI7E,GAAIz8K,KAAKm8K,sBAAwB//G,GAAckkH,KAAM,CACjD,IAAIwD,GAA4B,GAC5B9jL,KAAK+jL,gCAAgChyH,IAGb,IAAxBA,EAAW0U,UACXzmE,KAAK+jL,gCAAgChyH,EAAW2U,mBAHhDo9G,GAA4B,GAQ3BA,GACD9jL,KAAKq5K,UAAUznD,GAAUv4F,WAAWumG,wBAAyB7tE,GAIrE,MAAMiyH,EAAgBh9F,GAAc70E,OAAO0xK,EAAY9xH,GAOvD,OALK/xD,KAAKg5K,oBAAoB,KAC1Bh5K,KAAKq5K,UAAUznD,GAAUv4F,WAAWymG,2BAA4B9/H,KAAKk5K,cACrEl5K,KAAKu5K,wBAAwB,CAAC,KAG3ByK,EAGHD,gCAAgChyH,GACpC,OAA4B,KAAxBA,EAAW0U,UAEoB,KAAxB1U,EAAW0U,UACXzmE,KAAK+jL,gCAAgChyH,EAAW2U,gBAOvDq0G,eAAe7uF,GACnB,MAAME,EAAapsF,KAAKy7K,iBAAiB,GAEzC,IAAIztF,EAAYhuF,KAAKu9K,wBAChBvvF,IACDhuF,KAAKq5K,UAAUznD,GAAUv4F,WAAWimG,oBAAqBt/H,KAAKk5K,cAC9DlrF,EAAYstE,GAAgBnpJ,OAAO,EAAG,EAAG,QAAIrT,IAGjD,IAAI6uF,EAA0B,GAC9B,MAAMV,EAAiBjtF,KAAKk5K,aACxBl5K,KAAKg5K,oBAAoB,MACzBrrF,EAAU3tF,KAAKikL,gBAAgB7sK,KAE1BpX,KAAKg5K,oBAAoB,KAC1Bh5K,KAAKq5K,UAAUznD,GAAUv4F,WAAWomG,qBAAsBxyC,IAIlE,MAAMhB,EAAQjsF,KAAK08K,aAA6B,EAAO18K,KAAK63K,cAAcJ,0BAEpE1hF,EAAYlP,GAAU10E,OAAOi6E,EAAY9D,GAASn2E,OAAO67E,GAAY/B,GAgB3E,OAfA8J,EAAUr2F,UAAYiuF,EACtBA,EAAQroE,SAASroB,IACbA,EAAIkoC,OAAS4wD,KAGb7J,IACA6J,EAAU7J,WAAaA,EACnBA,EAAWlxF,OAAS,IACpBkxF,EAAW5mE,SAASinE,IAChBA,EAAUpnD,OAAS4wD,KAEvB,GAAYA,EAAW7J,EAAW,MAInC6J,EAGHmuF,sBACJ,OAAO96F,GAASj3E,OAAOnS,KAAKy7K,iBAAiB,KAGzC0I,uBACJ,MAAMC,EAAapkL,KAAKy7K,iBAAiB,GAMzC,OAJKz7K,KAAK+3K,WACN/3K,KAAKq5K,UAAUznD,GAAUv4F,WAAWkhG,mBAAoB6pD,GAGrDv6F,GAAU13E,OAAOiyK,GAGpBC,0BACJ,MAAMC,EAAgBtkL,KAAKy7K,iBAAiB,GAQ5C,OANKz7K,KAAK+3K,UAEC/3K,KAAKi4K,cACZj4K,KAAKq5K,UAAUznD,GAAUv4F,WAAW+iG,oBAAqBkoD,GAFzDtkL,KAAKq5K,UAAUznD,GAAUv4F,WAAWgjG,sBAAuBioD,GAKxDx6F,GAAa33E,OAAOmyK,GAIvBC,wBACJ,MAAMC,EAAcxkL,KAAKy7K,iBAAiB,IAEpCgJ,EAAa16F,GAAW53E,OAAOqyK,GAMrC,GAJKxkL,KAAKg4K,eACNh4K,KAAKq5K,UAAUznD,GAAUv4F,WAAWmzG,wBAAyBg4C,IAG5DxkL,KAAK0kL,8BAA+B,CACrC,MAAMC,EAAa3kL,KAAK67K,kCACY,GACN,EAAI,EAE9BjqD,GAAUv4F,WAAWooG,sBAEzBzhI,KAAK4kL,2CAA2CD,GAChDF,EAAWlxF,iBAAmBoxF,EAC9BF,EAAWlxF,iBAAiBpuD,OAASs/I,EACrC,GAAYA,EAAYE,GAG5B,OAAOF,EAOHI,sBACJ,MAAMl2F,EAAY3uF,KAAKy7K,iBAAiB,IAElCqJ,EAAU9kL,KAAK+kL,wBAA2C,GAC1D71B,EAAiB1lE,GAAer3E,OAAOw8E,EAAWm2F,GAIlDE,EACsB,IAAxBF,EAAQr1G,aAAkD,IAA7Bq1G,EAAQp1G,UAAU10E,QAA+C,eAA/B8pL,EAAQp1G,UAAU,GAAGpyE,MAElF2nL,EAAqBjlL,KAAKk5K,aAChC,GAAKl5K,KAAKq8K,uBAAuB,IAK1B,CACH,GAAYntB,EAAgB+1B,GAG5B,MAAMtD,EAAoB3hL,KAAKk5K,aAC/B,GAAIl5K,KAAKs9K,wBAAwB,IAC7B,GAAYpuB,EAAgByyB,GAC5BzyB,EAAeljF,kBAAmB,EAClCkjF,EAAeg2B,cAAgBvD,EAC/B3hL,KAAKs4K,yBAA0B,MAC5B,CACH,MAAMrrF,EAAiBjtF,KAAKk5K,aACtBiM,EAAUnlL,KAAKg5K,oBAAoB,IACzC,IAAI1zB,EAEJ,OAAa,CACT,MAAM34E,EAAa3sE,KAAKu9K,wBACxB,IAAK5wG,EACD,MAGJ24E,OAAqBxmJ,EAErB,MAAMsmL,EAAmB37F,GAAiBt3E,OAAOm2E,GAASn2E,OAAOw6D,IAEjE,GAAI3sE,KAAKq8K,uBAAuB,GAAiB,CAC7C,MAAMluE,EAAYnuG,KAAKu9K,wBAClBpvE,GAGDi3E,EAAiBj5G,MAAQmc,GAASn2E,OAAOg8F,GACzCi3E,EAAiBj5G,MAAMhnC,OAASigJ,EAChC,GAAYA,EAAkBj3E,IAJ9BnuG,KAAKq5K,UAAUznD,GAAUv4F,WAAWinG,sBAAuBtgI,KAAKk5K,cAQxEhqB,EAAe5jF,QAAQjwE,KAAK+pL,GAC5BA,EAAiBjgJ,OAAS+pH,EAC1B,GAAYA,EAAgBk2B,GAExBJ,GAEAhlL,KAAKo4K,iBAAiBjzK,IAAIwnE,EAAWrvE,OAAO,GAGhD,MAAM27K,EAAYj5K,KAAKk5K,aACvB,IAAKl5K,KAAKg5K,oBAAoB,IAC1B,MAEJ1zB,EAAqB2zB,EAOzB,GAJsC,IAAlC/pB,EAAe5jF,QAAQtwE,QACvBgF,KAAKq5K,UAAUznD,GAAUv4F,WAAWknG,wBAAyBvgI,KAAKk5K,cAGlEiM,EAAS,CACTj2B,EAAetgE,YAAa,EAE5B,MAAMqqF,EAAYj5K,KAAKk5K,aAClBl5K,KAAKg5K,oBAAoB,IAG1B,GAAY9pB,EAAgB+pB,GAF5Bj5K,KAAKq5K,UAAUznD,GAAUv4F,WAAWomG,qBAAsBxyC,QAIvDq4D,GACPtlJ,KAAKq5K,UAAUznD,GAAUv4F,WAAWy1G,4BAA6BwW,SAtEzEtlJ,KAAKq5K,UAAUznD,GAAUv4F,WAAWgnG,iBAAkBrgI,KAAKk5K,cACtD4L,EAAQtmG,iBACT0wE,EAAesD,sBAAuB,GAyE9CxyJ,KAAKq4K,iBAAiBh9K,KAAK,CACvB28J,SAAU9I,EAAep9I,OACzB29D,YAAay/E,EAAep9I,OAAO29D,YACnCC,UAAWw/E,EAAep9I,OAAO49D,UAAU5rD,KAAKtR,GAAMA,EAAElV,QACxD21E,gBAAiBi8E,EAAe5jF,QAAQxnD,KAAKsrI,GAAQA,EAAI/iJ,KAAK/O,UAGlE,IAAI+nL,GAAiB,EACrB,GAA+C,IAA3Cn2B,EAAep9I,OAAO49D,UAAU10E,OAAc,CAC9C,MAAMsqL,EAAqBp2B,EAAep9I,OAAO49D,UAAU,GAAGpyE,MACnC,WAAvBgoL,GAA0D,sBAAvBA,IACnCD,GAAiB,GAIzB,GAAIA,EAAgB,CAChB,MAAME,EAA0B,CAAC,UAAW,YAAa,aAErDr2B,EAAeljF,iBACfu5G,EAAwBjgK,SAAS9W,IAC7BxO,KAAKy4K,qBAAqBtzK,IAAIqJ,EAAGA,MAGrC0gJ,EAAe5jF,QAAQhmD,SAAS8pI,I,MACxBm2B,EAAwB92H,MAAMjgD,GAAMA,IAAM4gJ,EAAI/iJ,KAAK/O,SACnD0C,KAAKy4K,qBAAqBtzK,KAAa,QAAT,EAAAiqJ,EAAIjjF,aAAK,eAAE7uE,QAAS8xJ,EAAI/iJ,KAAK/O,MAAO8xJ,EAAI/iJ,KAAK/O,UAM3F,OAAO4xJ,EAMHs2B,wB,MACJ,MAAMC,EAAczlL,KAAKy7K,iBAAiB,IAEpC5kB,EAAaxtE,GAAWl3E,OAAOszK,GAErC,OAAa,CACT,MAAMX,EAAU9kL,KAAK+kL,yBAEfp6G,EAAe4e,GAAap3E,OAAO2yK,GAEzC,GAAI9kL,KAAKq8K,uBAAuB,GAAiB,CAC7C,MAAMqJ,EAAa1lL,KAAKu9K,wBACpBmI,GACA/6G,EAAawB,MAAQmc,GAASn2E,OAAOuzK,GACrC/6G,EAAawB,MAAMhnC,OAASwlC,EAC5B,GAAYA,EAAcA,EAAawB,QAEvCnsE,KAAKq5K,UAAUznD,GAAUv4F,WAAWinG,sBAAuBtgI,KAAKk5K,cAkBxE,GAdIvuG,EAAa74D,OAAO29D,YAAc,GAClCzvE,KAAKq5K,UAAUznD,GAAUv4F,WAAW+yG,2BAA4BzhE,EAAa74D,QAGjF+kJ,EAAW5xJ,KAAK5J,KAAKsvE,GACrBA,EAAaxlC,OAAS0xH,EAEtB72J,KAAKq4K,iBAAiBh9K,KAAK,CACvB28J,SAAUrtF,EAAa74D,OACvB29D,YAAa9E,EAAa74D,OAAO29D,YACjCC,UAAW/E,EAAa74D,OAAO49D,UAAU5rD,KAAKtR,GAAMA,EAAElV,QACtD21E,qBAAiBn0E,IAGY,IAA7BgmL,EAAQp1G,UAAU10E,OAAc,CAChC,MAAMsqL,EAAqBR,EAAQp1G,UAAU,GAAGpyE,MACrB,WAAvBgoL,GAA0D,sBAAvBA,GACnCtlL,KAAKw4K,qBAAqBn9K,MAAuB,QAAlB,EAAAsvE,EAAawB,aAAK,eAAE7uE,QAASgoL,GAIpE,IAAKtlL,KAAKg5K,oBAAoB,IAC1B,MAQR,OAJIniB,EAAW5xJ,KAAKjK,OAAS,GACzB,GAAY67J,EAAYA,EAAW5xJ,KAAK4xJ,EAAW5xJ,KAAKjK,OAAS,IAG9D67J,EAKHkuB,uBAAuBY,GAAgB,G,MAC3C,MAAM/mB,EAAiBt1E,GAAen3E,OAAOnS,KAAKk5K,cAElD,OAAa,CACT,MAAMl4J,EAAgD,QAAxC,EAAAhhB,KAAK4lL,gBAAgB,WAAmB,QAAI5lL,KAAK4lL,gBAAgB,IAC/E,IAAI5kK,EASA,MARmB,KAAfA,EAAMhiB,KACN4/J,EAAenvF,aAAe,EAE9BmvF,EAAenvF,cAGnB,GAAYmvF,EAAgB59I,GAMpC,OAAa,CACT,MAAM6kK,EAAa7lL,KAAKu9K,wBACxB,IAAKsI,EAAY,GACRF,GAAgD,IAA/B/mB,EAAenvF,aAAqBmvF,EAAelvF,UAAU10E,OAAS,KACxFgF,KAAKq5K,UAAUznD,GAAUv4F,WAAW0nG,qBAAsB/gI,KAAKk5K,cAC/Dta,EAAepgF,gBAAiB,GAEpC,MAGJ,MAAMsnG,EAAWx9F,GAASn2E,OAAO0zK,GACjCjnB,EAAelvF,UAAUr0E,KAAKyqL,GAC9BA,EAAS3gJ,OAASy5H,EAClB,GAAYA,EAAgBknB,GAE5B,MAAM7M,EAAYj5K,KAAKk5K,aACvB,IAAKl5K,KAAKg5K,oBAAoB,IAC1B,MAIJ,GAAYpa,EAAgBqa,GAGhC,OAAOra,EAGHmnB,wBACJ,MAAMC,EAAchmL,KAAKy7K,iBAAiB,IAEpCwK,EAAav8F,GAAWv3E,OAAO6zK,GAQrC,OAPAC,EAAWp3F,SAAW7uF,KAAKkmL,iBACvBD,EAAWp3F,SAAS7zF,OAAS,IAC7BirL,EAAWp3F,SAASvpE,SAASjZ,IACzBA,EAAK84B,OAAS8gJ,KAElB,GAAYA,EAAYA,EAAWp3F,SAASo3F,EAAWp3F,SAAS7zF,OAAS,KAEtEirL,EAGHE,0BACJ,MAAMC,EAAgBpmL,KAAKy7K,iBAAiB,IAEtC4K,EAAe18F,GAAax3E,OAAOi0K,GAQzC,OAPAC,EAAax3F,SAAW7uF,KAAKkmL,iBACzBG,EAAax3F,SAAS7zF,OAAS,IAC/BqrL,EAAax3F,SAASvpE,SAASjZ,IAC3BA,EAAK84B,OAASkhJ,KAElB,GAAYA,EAAcA,EAAax3F,SAASw3F,EAAax3F,SAAS7zF,OAAS,KAE5EqrL,EAGHH,iBACJ,MAAMr3F,EAAuB,GAE7B,OAAa,CACT,MAAMxiF,EAAOrM,KAAKu9K,wBAClB,IAAKlxK,EAAM,CACPrM,KAAKq5K,UAAUznD,GAAUv4F,WAAWmnG,qBAAsBxgI,KAAKk5K,cAC/D,MAKJ,GAFArqF,EAASxzF,KAAKitF,GAASn2E,OAAO9F,KAEzBrM,KAAKg5K,oBAAoB,IAC1B,MAIR,OAAOnqF,EAKHy3F,uBACJ,MAAMC,EAAavmL,KAAKy7K,iBAAiB,IAEnC+K,EAAYx8F,GAAU73E,OAAOo0K,GA0BnC,OAzBKvmL,KAAK0kL,gCACN8B,EAAUx0F,eAAiBhyF,KAAKy8K,sBAAqD,GACrF+J,EAAUx0F,eAAe7sD,OAASqhJ,EAClC,GAAYA,EAAWA,EAAUx0F,gBAE7BhyF,KAAKq8K,uBAAuB,KAC5BmK,EAAU1/G,gBAAkB9mE,KAAKy8K,sBAAqD,GACtF+J,EAAU1/G,gBAAgB3hC,OAASqhJ,EACnC,GAAYA,EAAWA,EAAU1/G,kBAE7B9mE,KAAKg5K,oBAAoB,MAEzBwN,EAAU1/G,gBAAkB9mE,KAAKy8K,sBAAqD,GACtF+J,EAAU1/G,gBAAgB3hC,OAASqhJ,EACnC,GAAYA,EAAWA,EAAU1/G,iBAE7B9mE,KAAKg5K,oBAAoB,MACzBwN,EAAUnzF,oBAAsBrzF,KAAKy8K,sBAAqD,GAC1F+J,EAAUnzF,oBAAoBluD,OAASqhJ,EACvC,GAAYA,EAAWA,EAAUnzF,wBAM1CmzF,EAIHC,wBACJ,MAAM33F,EAAc9uF,KAAKy7K,iBAAiB,GAEpCptF,EAAOruF,KAAKy8K,sBAAqD,GACjEiK,EAAa98F,GAAWz3E,OAAO28E,EAAaT,GAElD,GAAIruF,KAAKg5K,oBAAoB,IAAkB,CAC3C,MAAM2N,EAAgB3mL,KAAKy8K,sBAAqD,GAChFiK,EAAWn2F,oBAAsBo2F,EACjCD,EAAWn2F,oBAAoBprD,OAASuhJ,EACxC,GAAYA,EAAYC,GAG5B,OAAOD,EAIHE,qBACJ,MAAMn4F,EAAWzuF,KAAKy7K,iBAAiB,IAEjCvB,EAAiBl6K,KAAK6mL,sBAAqC,GAC5D3M,EAAeE,YAA6C,IAA/BF,EAAej1K,KAAKjK,QAClDgF,KAAKq5K,UAAUznD,GAAUv4F,WAAW0mG,kBAAmB//H,KAAKk5K,cAEhE,MAAM4N,EAAU39F,GAAQh3E,OAAOs8E,GAQ/B,OAPAq4F,EAAQp+G,YAAcwxG,EAAej1K,KACjC6hL,EAAQp+G,YAAY1tE,OAAS,IAC7B8rL,EAAQp+G,YAAYpjD,SAAS+oE,IACzBA,EAAKlpD,OAAS2hJ,KAElB,GAAYA,EAASA,EAAQp+G,YAAYo+G,EAAQp+G,YAAY1tE,OAAS,KAEnE8rL,EAKHC,wBACJ,MAAMj5F,EAAa9tF,KAAKy7K,iBAAiB,IAEnCxC,EAAYj5K,KAAKk5K,aACvB,GAAIl5K,KAAKq8K,uBAAuB,IAI5B,OAHIr8K,KAAKm8K,sBAAwB//G,GAAc4qH,MAC3ChnL,KAAKq5K,UAAUznD,GAAUv4F,WAAWm8G,mBAAoByjC,GAErD9wF,GAAch2E,OAAO27E,EAAY9tF,KAAKy8K,sBAAqD,IAGtG,IAAIwK,EAWJ,OAVKjnL,KAAK0kL,gCACNuC,EAAWjnL,KAAK67K,kCACoB,GACN,EAAI,EAE9BjqD,GAAUv4F,WAAWuoG,qBAEzB5hI,KAAK4kL,2CAA2CqC,IAG7C/+F,GAAU/1E,OAAO27E,EAAYm5F,GAGhCC,2BACJ,GAAgC,KAA5BlnL,KAAKw6K,mBAIT,OAAOx6K,KAAK+mL,wBAIRxL,wBACJ,MAAM3xG,EAAYqd,GAAkB90E,OAAOnS,KAAKk5K,cAEhD,OAAa,CAET,GAA8B,IAA1Bl5K,KAAKs6K,iBAAwC,CAC7C,MAAM6M,EAAennL,KAAKm5K,gBAGpBiO,EAFOpnL,KAAKujJ,cAAevhJ,OAAOmlL,EAAarrL,MAAOqrL,EAAansL,QAE9CH,WAAW,GAGtCmF,KAAKq5K,UACDznD,GAAUv4F,WAAWwrG,oBAAoBxzH,OAAO,CAAE+lB,KAAM,MAAMgwJ,EAAc5nL,SAAS,QACrF2nL,GAEJnnL,KAAKu5K,wBAAwB,CAAC,IAC9B,MAGJ,MAAM8N,EAAiBrnL,KAAKsnL,uBAK5B,GAJA19G,EAAUa,WAAWpvE,KAAKgsL,GAC1BA,EAAeliJ,OAASykC,EACxB,GAAYA,EAAWy9G,GAES,IAA5BA,EAAe5gH,SAGf,MAIJ,IAAKzmE,KAAKg5K,oBAAoB,IAC1B,MAGJ,MAAM0F,EAAgB1+K,KAAKs6K,iBAC3B,GAAsB,IAAlBoE,GAAyD,IAAlBA,EACvC,MAQR,OAJK1+K,KAAKg5K,oBAAoB,IAC1Bh5K,KAAKq5K,UAAUznD,GAAUv4F,WAAW8nG,6BAA8BnhI,KAAKk5K,cAGpEtvG,EAOH09G,uBACJ,OAAQtnL,KAAKw6K,oBACT,KAAK,GACD,OAAOx6K,KAAKkkL,sBAEhB,KAAK,EACD,OAAOlkL,KAAKmkL,uBAEhB,KAAK,EACD,OAAOnkL,KAAKqkL,0BAEhB,KAAK,GACD,OAAOrkL,KAAKukL,wBAEhB,KAAK,GACD,OAAOvkL,KAAK6kL,sBAEhB,KAAK,GACD,OAAO7kL,KAAKwlL,wBAEhB,KAAK,GACD,OAAOxlL,KAAK+lL,wBAEhB,KAAK,GACD,OAAO/lL,KAAKmmL,0BAEhB,KAAK,GACD,OAAOnmL,KAAKsmL,uBAEhB,KAAK,EACD,OAAOtmL,KAAKymL,wBAEhB,KAAK,GACD,OAAOzmL,KAAK4mL,qBAEhB,KAAK,GACD,OAAO5mL,KAAK+mL,wBAGpB,OAAO/mL,KAAKunL,4BAGRlN,uBACJH,EACAxsF,GAIA,GAAmC,IAA/BwsF,EAAej1K,KAAKjK,SAAiBk/K,EAAevzG,cAIpD,OAHwC,KAApCuzG,EAAej1K,KAAK,GAAGwhE,UACvBzmE,KAAKq5K,UAAUznD,GAAUv4F,WAAWo7G,2BAA4BylC,EAAej1K,KAAK,IAEjFi1K,EAAej1K,KAAK,GAM/B,MAAMuiL,EACFtN,EAAej1K,KAAKjK,OAAS,EAAIk/K,EAAej1K,KAAK,GAAKjF,KAAKk5K,YAAY,GAEzEuO,EAAY5/F,GAAU11E,OAAOq1K,EAAiB95F,GASpD,OARA+5F,EAAU/+G,YAAcwxG,EAAej1K,KACnCi1K,EAAej1K,KAAKjK,OAAS,IAC7Bk/K,EAAej1K,KAAKqgB,SAAS+oE,IACzBA,EAAKlpD,OAASsiJ,KAElB,GAAYA,EAAWvN,EAAej1K,KAAKi1K,EAAej1K,KAAKjK,OAAS,KAGrEysL,EAGHrH,oCACJsH,EACAC,EACAC,GAEA,GAAI5nL,KAAK0kL,8BAEL,OADA1kL,KAAKq5K,UAAUsO,EAAaC,GACrB1gG,GAAU/0E,OAAOy1K,EAAYF,GAGxC,MAAMxN,EAAiBl6K,KAAK6mL,sBAAqC,GACjE,OAAI3M,EAAeE,WACRF,EAAeE,WAEnBp6K,KAAKq6K,uBAAuBH,GAAuC,GAGtE2N,2BAA2BH,EAAwCC,GACvE,GAAI3nL,KAAK0kL,8BACL,OAAO1kL,KAAKw+K,4BAA4BkJ,EAAeC,GAG3D,MAAMzN,EAAiBl6K,KAAK8nL,2BAC5B,OAAI5N,EAAeE,WACRF,EAAeE,WAEnBp6K,KAAKq6K,uBAAuBH,GAAuC,GAGtE2B,iCACJkM,EACAC,EACAN,EACAC,GAEA,GAAI3nL,KAAK0kL,8BACL,OAAO1kL,KAAKw+K,4BAA4BkJ,EAAeC,GAG3D,MAAMzN,EAAiBl6K,KAAKm6K,+BAA+B4N,EAA2BC,GACtF,OAAI9N,EAAeE,WACRF,EAAeE,WAEnBp6K,KAAKq6K,uBAAuBH,GAAuC,GAGtE2M,qBAAqBoB,GACzB,OAAOjoL,KAAK+8K,6BAA4B,IAAM/8K,KAAK0jL,iBAAiBuE,KAIhEH,2BACJ,OAAO9nL,KAAK+8K,6BAA4B,IAAM/8K,KAAKy8K,sBAAqD,KAGpGtC,+BACJ4N,EACAC,GAEA,MAAM9N,EAAiBl6K,KAAK+8K,6BAA4B,IACpD/8K,KAAKkoL,2BAA2BH,KAGpC,IAAKC,IAAwB9N,EAAeE,WAAY,CACpD,IAAImG,GAAU,EACd,IAAK,MAAMlyF,KAAQ6rF,EAAej1K,KAC9B,GAAsB,KAAlBopF,EAAK5nB,SAAmC,CACxC,GAAI85G,EAAS,CACTvgL,KAAKq5K,UAAUznD,GAAUv4F,WAAWklG,kBAAmBlwC,GACvD,MAEJkyF,GAAU,GAKtB,OAAOrG,EAMHwJ,iBAAiByE,GACrB,MAAM38F,EAAaxrF,KAAKk5K,aAExB,OAAIiP,GAAenoL,KAAKs9K,wBAAwB,IACrC11F,GAAWz1E,OAAOq5E,EAAYxrF,KAAK0jL,kBAAmC,IAG1E1jL,KAAKooL,4BAIRF,2BAA2BH,GAC/B,OAAiC,KAA7B/nL,KAAKq7K,oBACEr7K,KAAK0jL,kBAAmC,GAG5C1jL,KAAKy8K,qBAAqBsL,GAI7BtL,qBAAqBsL,GACzB,GAAgC,KAA5B/nL,KAAKw6K,mBACL,OAAOx6K,KAAKqoL,yBAGhB,MAAMhH,EAAS0G,EAA4B/nL,KAAKuhL,6BAA+BvhL,KAAKmhL,eACpF,GAAwB,IAApBE,EAAO56G,SACP,OAAO46G,EAGX,IAAKrhL,KAAKq8K,uBAAuB,IAC7B,OAAOgF,EAGX,MAAMiH,EAAWtoL,KAAKmhL,eACtB,GAA0B,IAAtBmH,EAAS7hH,SACT,OAAO6hH,EAGX,IAAKtoL,KAAKq8K,uBAAuB,IAC7B,OAAOr8K,KAAKw+K,4BAA4B,EAEpC5sD,GAAUv4F,WAAW2mG,gBAI7B,MAAMuoD,EAAWvoL,KAAKy8K,sBAAqD,GAC3E,OAA0B,IAAtB8L,EAAS9hH,SACF8hH,EAGJ5gG,GAAYx1E,OAAOkvK,EAAQiH,EAAUC,GAIxChH,2BAA2BiH,GAA+B,GAC9D,MAAMC,EAAWzoL,KAAKmhL,eACtB,GAA0B,IAAtBsH,EAAShiH,SACT,OAAOgiH,EAGX,GAA0B,KAAtBA,EAAShiH,SACT,OAAOgiH,EAGX,MAAMC,EAAc1oL,KAAKk5K,aACzB,IAAKl5K,KAAKs9K,wBAAwB,IAC9B,OAAOmL,IAGNzoL,KAAKu4K,+BAAiCv4K,KAAKk4K,0BAA4BsQ,IACxExoL,KAAKq5K,UAAUznD,GAAUv4F,WAAWg8G,mBAAoBqzC,GAGxD1oL,KAAKm8K,sBAAwB//G,GAAc0mH,MAC3C9iL,KAAKq5K,UAAUznD,GAAUv4F,WAAW+7G,gBAAiBszC,GAGzD,MAAMC,EAAY3oL,KAAKy8K,sBAAqD,GAE5E,OAAOp1F,GAAyBl1E,OAAOs2K,EAAUE,GAI7CxH,eACJ,IAAIsH,EAAWzoL,KAAK4oL,gBACpB,GAA0B,IAAtBH,EAAShiH,SACT,OAAOgiH,EAGX,OAAa,CACT,MAAMxN,EAAYj7K,KAAKk5K,aACvB,IAAKl5K,KAAKq8K,uBAAuB,IAC7B,MAEJ,MAAMsM,EAAY3oL,KAAK4oL,gBACvBH,EAAWzoL,KAAK6oL,2BAA2BJ,EAAUE,EAAW1N,EAAW,IAG/E,OAAOwN,EAIHG,gBACJ,IAAIH,EAAWzoL,KAAK8oL,gBACpB,GAA0B,IAAtBL,EAAShiH,SACT,OAAOgiH,EAGX,OAAa,CACT,MAAMxN,EAAYj7K,KAAKk5K,aACvB,IAAKl5K,KAAKq8K,uBAAuB,GAC7B,MAEJ,MAAMsM,EAAY3oL,KAAK8oL,gBACvBL,EAAWzoL,KAAK6oL,2BAA2BJ,EAAUE,EAAW1N,EAAW,IAG/E,OAAOwN,EAIHK,gBACJ,MAAMC,EAAW/oL,KAAKk5K,aACtB,GAAIl5K,KAAKq8K,uBAAuB,IAAkB,CAC9C,MAAM2M,EAAUhpL,KAAK8oL,gBACrB,OAAO9oL,KAAKipL,0BAA0BF,EAAUC,EAAS,IAG7D,OAAOhpL,KAAKkpL,mBAKRA,mBACJ,IAAIT,EAAWzoL,KAAKooL,4BACpB,GAA0B,IAAtBK,EAAShiH,SACT,OAAOgiH,EAGX,OAAa,CACT,IAAIU,EACJ,MAAMlO,EAAYj7K,KAAKk5K,aAEvB,GAAItG,GAAUwW,qBAAqBppL,KAAKq7K,qBACpC8N,EAAqBnpL,KAAKq7K,oBACC,KAAvB8N,IACAnpL,KAAKq5K,UAAUznD,GAAUv4F,WAAW6vG,kCAAmC+xC,GACvEkO,EAAqB,IAEzBnpL,KAAKm5K,qBACF,GAAIn5K,KAAKq8K,uBAAuB,IACnC8M,EAAqB,QAClB,GAAInpL,KAAKq8K,uBAAuB,IAE/B8M,EADAnpL,KAAKq8K,uBAAuB,IACP,GAEA,QAEtB,GAAgC,KAA5Br8K,KAAKw6K,mBAAwC,CACpD,MAAM6O,EAAgBrpL,KAAKk5K,WAAW,GAEX,IAAvBmQ,EAAcrqL,MACkC,KAA/CqqL,EAA+Bn7F,cAEhCluF,KAAKm5K,gBACLn5K,KAAKm5K,gBACLgQ,EAAqB,IAI7B,QAA2BrqL,IAAvBqqL,EACA,MAGJ,MAAMR,EAAY3oL,KAAKkpL,mBACvBT,EAAWzoL,KAAK6oL,2BAA2BJ,EAAUE,EAAW1N,EAAWkO,GAG/E,OAAOV,EAIHL,4BACJ,IAAIK,EAAWzoL,KAAKspL,6BACpB,GAA0B,IAAtBb,EAAShiH,SACT,OAAOgiH,EAGX,OAAa,CACT,MAAMxN,EAAYj7K,KAAKk5K,aACvB,IAAKl5K,KAAKs9K,wBAAwB,GAC9B,MAEJ,MAAMqL,EAAY3oL,KAAKspL,6BACvBb,EAAWzoL,KAAK6oL,2BAA2BJ,EAAUE,EAAW1N,EAAW,GAG/E,OAAOwN,EAIHa,6BACJ,IAAIb,EAAWzoL,KAAKupL,6BACpB,GAA0B,IAAtBd,EAAShiH,SACT,OAAOgiH,EAGX,OAAa,CACT,MAAMxN,EAAYj7K,KAAKk5K,aACvB,IAAKl5K,KAAKs9K,wBAAwB,GAC9B,MAEJ,MAAMqL,EAAY3oL,KAAKupL,6BACvBd,EAAWzoL,KAAK6oL,2BAA2BJ,EAAUE,EAAW1N,EAAW,GAG/E,OAAOwN,EAIHc,6BACJ,IAAId,EAAWzoL,KAAKwpL,wBACpB,GAA0B,IAAtBf,EAAShiH,SACT,OAAOgiH,EAGX,OAAa,CACT,MAAMxN,EAAYj7K,KAAKk5K,aACvB,IAAKl5K,KAAKs9K,wBAAwB,GAC9B,MAEJ,MAAMqL,EAAY3oL,KAAKwpL,wBACvBf,EAAWzoL,KAAK6oL,2BAA2BJ,EAAUE,EAAW1N,EAAW,GAG/E,OAAOwN,EAIHe,wBACJ,IAAIf,EAAWzoL,KAAKo/K,6BACpB,GAA0B,IAAtBqJ,EAAShiH,SACT,OAAOgiH,EAGX,IAAIxN,EAAYj7K,KAAKk5K,aACjB4F,EAAe9+K,KAAKq7K,oBACxB,KAAwB,KAAjByD,GAA4D,KAAjBA,GAA0C,CACxF9+K,KAAKm5K,gBACL,MAAMwP,EAAY3oL,KAAKo/K,6BACvBqJ,EAAWzoL,KAAK6oL,2BAA2BJ,EAAUE,EAAW1N,EAAW6D,GAC3E7D,EAAYj7K,KAAKk5K,aACjB4F,EAAe9+K,KAAKq7K,oBAGxB,OAAOoN,EAIHrJ,6BACJ,IAAIqJ,EAAWzoL,KAAKypL,uBACpB,GAA0B,IAAtBhB,EAAShiH,SACT,OAAOgiH,EAGX,IAAIxN,EAAYj7K,KAAKk5K,aACjB4F,EAAe9+K,KAAKq7K,oBACxB,KAAwB,IAAjByD,GAAsD,KAAjBA,GAAwC,CAChF9+K,KAAKm5K,gBACL,MAAMwP,EAAY3oL,KAAKypL,uBACvB,GAA2B,IAAvBd,EAAUliH,SACV,OAAOkiH,EAGXF,EAAWzoL,KAAK6oL,2BAA2BJ,EAAUE,EAAW1N,EAAW6D,GAC3E7D,EAAYj7K,KAAKk5K,aACjB4F,EAAe9+K,KAAKq7K,oBAGxB,OAAOoN,EAIHgB,uBACJ,IAAIhB,EAAWzoL,KAAK0pL,yBACpB,GAA0B,IAAtBjB,EAAShiH,SACT,OAAOgiH,EAGX,IAAIxN,EAAYj7K,KAAKk5K,aACjB4F,EAAe9+K,KAAKq7K,oBACxB,KACqB,KAAjByD,GACiB,KAAjBA,GACiB,KAAjBA,GACiB,KAAjBA,GACiB,KAAjBA,GACF,CACE9+K,KAAKm5K,gBACL,MAAMwP,EAAY3oL,KAAK0pL,yBACvBjB,EAAWzoL,KAAK6oL,2BAA2BJ,EAAUE,EAAW1N,EAAW6D,GAC3E7D,EAAYj7K,KAAKk5K,aACjB4F,EAAe9+K,KAAKq7K,oBAGxB,OAAOoN,EAKHiB,yBACJ,MAAMzQ,EAAYj5K,KAAKk5K,aACjB4F,EAAe9+K,KAAKq7K,oBAC1B,GACqB,IAAjByD,GACiB,KAAjBA,GACiB,IAAjBA,EACF,CACE9+K,KAAKm5K,gBACL,MAAMpnH,EAAa/xD,KAAK0pL,yBACxB,OAAO1pL,KAAKipL,0BAA0BhQ,EAAWlnH,EAAY+sH,GAGjE,MAAM2J,EAAWzoL,KAAK2pL,uBACtB,GAA0B,IAAtBlB,EAAShiH,SACT,OAAOgiH,EAGX,MAAMxN,EAAYj7K,KAAKk5K,aACvB,GAAIl5K,KAAKs9K,wBAAwB,IAAqB,CAClD,MAAMqL,EAAY3oL,KAAK0pL,yBACvB,OAAO1pL,KAAK6oL,2BAA2BJ,EAAUE,EAAW1N,EAAW,IAG3E,OAAOwN,EAOHmB,oBAAoB58F,EAAgC3gF,GACxD,GAAgC,KAA5B2gF,EAAevmB,UAEf,GADczmE,KAAKy4K,qBAAqBl0K,IAAIyoF,EAAe1vF,SAC7C+O,EACV,OAAO,OAER,GAAgC,KAA5B2gF,EAAevmB,UAEyB,KAA3CumB,EAAetmB,eAAeD,UAC9BumB,EAAe3lB,WAAW/pE,QAAU+O,EACtC,CACE,MAAMw9K,EAAW78F,EAAetmB,eAAeppE,MAC/C,OAAO0C,KAAKw4K,qBAAqB/pH,MAAM0d,GAAUA,IAAU09G,IAInE,OAAO,EAKHF,uBACJ,IAAIr8F,EAC4B,IAA5BttF,KAAKw6K,oBAA6Cx6K,KAAKk4K,2BACvD5qF,EAAattF,KAAKy7K,iBAAiB,GAC/Bz7K,KAAKm8K,sBAAwB//G,GAAc8mF,MAC3CljJ,KAAKq5K,UAAUznD,GAAUv4F,WAAWwgG,eAAgBvsC,IAI5D,IAAIw8F,EAAiB9pL,KAAKi/K,aAC1B,GAAgC,IAA5B6K,EAAerjH,SACf,OAAOqjH,EAIX,OAAa,CAET,MAAMC,EAAsB/pL,KAAKk5K,aACjC,GAAIl5K,KAAKg5K,oBAAoB,IAA4B,CAGrD,MAAMgR,EAA2BhqL,KAAKk4K,yBACtCl4K,KAAKk4K,0BAA2B,EAEhC,MAAM+R,EAAgBjqL,KAAKikL,gBACrB1qF,EAAWzR,GAAS31E,OAAO23K,EAAgBG,EAAc7yK,KAAM6yK,EAActjH,gBAE/EsjH,EAAc7yK,KAAKpc,OAAS,GAAKivL,EAActjH,gBAC/CsjH,EAAc7yK,KAAKkO,SAASroB,IACa,KAAjCA,EAAI6pE,gBAAgBL,WACfxpE,EAAI6pE,gBAAgB+vB,iBACrB72F,KAAKq5K,UAAUznD,GAAUv4F,WAAWypG,4BAA6B7lI,EAAI6pE,qBAMrF,MAAMmyG,EAAYj5K,KAAKk5K,aACvB,IAAIgR,GAAsB,EAkB1B,GAjBKlqL,KAAKg5K,oBAAoB,KAW1B,GAAYz/E,EAAU0/E,GACtBiR,GAAsB,IAXtBlqL,KAAKq5K,UAAUznD,GAAUv4F,WAAWomG,qBAAsBsqD,GAI1D/pL,KAAKu5K,wBAAwB,CAAC,IAI9B,GAAYhgF,EAAUv5F,KAAKk5K,eAM/Bl5K,KAAKk4K,yBAA2B8R,EAE5BhqL,KAAKk4K,yBAA0B,CAC/B,MAAM1oD,EAAO,IAAId,GACe,KAA5Bo7D,EAAerjH,UAA4D,SAAzBqjH,EAAexsL,QACjEkyH,EAAKZ,WAAWgD,GAAUlD,mBAAmBotB,kBAC7C97I,KAAKq5K,UAAUznD,GAAUv4F,WAAW42G,qBAAuBzgB,EAAKR,YAAaz1B,IAYrF,GARAuwF,EAAiBvwF,OAEoBz6F,IAAjCgrL,EAAeh9F,eAA+Bg9F,EAAeh9F,eAAiB4qF,KAC9EoS,EAAiB5iG,GAAU/0E,OAAO23K,EAAgB,IAClD9pL,KAAKq5K,UAAUznD,GAAUv4F,WAAWwsG,wBAAyBikD,KAI5DI,EACD,WAED,GAAIlqL,KAAKg5K,oBAAoB,IAAwB,CAMxD,MAAMmR,EAAyBnqL,KAAKm4K,uBAC9B6R,EAA2BhqL,KAAKk4K,0BAGlCl4K,KAAK4pL,oBAAoBE,EAAgB,YACzC9pL,KAAK4pL,oBAAoBE,EAAgB,gBAEzC9pL,KAAKk4K,0BAA2B,GAGpCl4K,KAAKm4K,wBAAyB,EAC9B,MAAMiS,EAAgBpqL,KAAKqqL,sBAC3BrqL,KAAKk4K,yBAA2B8R,EAChChqL,KAAKm4K,uBAAyBgS,EAE9B,MAAMG,EAAetqL,KAAKk5K,aAEpBhvB,EAAYliE,GAAU71E,OACxB23K,EACAM,EAAcnlL,KACdmlL,EAAczjH,cACd2jH,GAEJ,GAAYpgC,EAAWA,GAElBlqJ,KAAKg5K,oBAAoB,KAG1Bh5K,KAAKw+K,4BAA4B,EAE7B5sD,GAAUv4F,WAAWmmG,uBACrBuqD,EACA7/B,GAIR4/B,EAAiB5/B,OAEoBprJ,IAAjCgrL,EAAeh9F,eAA+Bg9F,EAAeh9F,eAAiB4qF,KAC9EoS,EAAiB5iG,GAAU/0E,OAAO23K,EAAgB,IAClD9pL,KAAKq5K,UAAUznD,GAAUv4F,WAAWwsG,wBAAyBikD,QAE9D,KAAI9pL,KAAKg5K,oBAAoB,IAkBhC,MAlBgD,CAEhD,MAAM3xG,EAAarnE,KAAKu9K,wBACxB,IAAKl2G,EACD,OAAOrnE,KAAKw+K,4BAA4B,EAEpC5sD,GAAUv4F,WAAWynG,qBACrBipD,EACAD,GAGRA,EAAiB1hG,GAAiBj2E,OAAO23K,EAAgBxhG,GAASn2E,OAAOk1D,SAEpCvoE,IAAjCgrL,EAAeh9F,eAA+Bg9F,EAAeh9F,eAAiB4qF,KAC9EoS,EAAiB5iG,GAAU/0E,OAAO23K,EAAgB,IAClD9pL,KAAKq5K,UAAUznD,GAAUv4F,WAAWwsG,wBAAyBikD,MAOzE,OAAIx8F,EACO5F,GAAUv1E,OAAOm7E,EAAYw8F,GAGjCA,EAIHO,sBACJ,MAAM18F,EAA0B,GAChC,IAAI8wF,GAAgB,EAChB93G,GAAgB,EAEpB,OAAa,CACT,MAAM0oB,EAAarvF,KAAKk5K,aAExB,GAAwB,KAApB7pF,EAAWrwF,MAA4BgB,KAAK0kL,8BAC5C,MAGJ,IAAI/gE,EAAU,EACV3jH,KAAKs9K,wBAAwB,IAC7B35D,EAAU,EACH3jH,KAAKs9K,wBAAwB,MACpC35D,EAAU,GAGd,MAAM4mE,EAAwBvqL,KAAK23K,YACnC,IACI6S,EADAC,EAAYzqL,KAAK0qL,sBAIrB,GAAgB,IAAZ/mE,EACA,GAAI3jH,KAAKs9K,wBAAwB,GAAsB,CACnD,MAAMqN,EAAWF,EACjBA,EAAYzqL,KAAK0qL,sBAES,KAAtBC,EAASlkH,SACT+jH,EAAiBG,EAAS3pK,MAE1BhhB,KAAKq5K,UAAUznD,GAAUv4F,WAAWgoG,oBAAqBspD,QAGtC,KAAvBF,EAAUhkH,UACmB,KAA7BzmE,KAAKq7K,sBAELr7K,KAAK23K,YAAc4S,EACnBE,EAAYzqL,KAAKy8K,sBAAqD,IAGjEz8K,KAAK63K,cAAcjjG,YAAc50E,KAAKm8K,sBAAwB//G,GAAcE,OAC7Et8D,KAAKq5K,UAAUznD,GAAUv4F,WAAWogG,4BAA6BgxD,IAK7E,MAAMG,EAAU1hG,GAAa/2E,OAAOk9E,EAAYo7F,EAAW9mE,GAiB3D,GAhBI6mE,IACAI,EAAQv+K,KAAOi8E,GAASn2E,OAAOq4K,GAC/BI,EAAQv+K,KAAK84B,OAASylJ,GAGtBA,EAAQv+K,KACRoyK,GAAgB,EACTA,GAA8C,IAA7BmM,EAAQhkH,kBAChC5mE,KAAKq5K,UAAUznD,GAAUv4F,WAAW2xG,2BAA4B4/C,GAEpEj9F,EAAQtyF,KAAKuvL,GAETA,EAAQv+K,MACRrM,KAAKq5K,UAAUznD,GAAUv4F,WAAW8rG,0BAA2BylD,EAAQv+K,MAG3D,IAAZs3G,EAAqC,CACrC,MAAMknE,EACF7qL,KAAK63K,cAAcjjG,YAAc50E,KAAKm8K,uBAAyB//G,GAAcylH,MAEjE,IAAZl+D,GAAoDknE,GACpD7qL,KAAKq5K,UAAUznD,GAAUv4F,WAAW06G,2BAA4B62C,GAIxE,IAAK5qL,KAAKg5K,oBAAoB,IAAkB,CAC5CryG,GAAgB,EAChB,MAGJA,GAAgB,EAIpB,GAAuB,IAAnBgnB,EAAQ3yF,OAAc,CACtB,MAAM4pJ,EAAY5kJ,KAAKw+K,4BAA4B,EAE/C5sD,GAAUv4F,WAAWqoG,0BACH5iI,OACFA,EAChB,CAAC,KAEL6uF,EAAQtyF,KAAK6tF,GAAa/2E,OAAOnS,KAAKk5K,aAAct0B,EAAW,IAGnE,MAAO,CACH3/I,KAAM0oF,EACNhnB,iBAMA+jH,sBACJ,MAAMr7F,EAAarvF,KAAKk5K,aAClB4R,EAAmD,MAAChsL,OAAWA,OAAWA,GAChF,IAAIisL,EAAa,EACbC,GAAW,EAEf,OAAa,CACT,MAAMtM,EAAgB1+K,KAAKs6K,iBAC3B,GAAsB,KAAlBoE,GAA8D,KAAlBA,EAC5C,MAQJ,GALsB,KAAlBA,IACAoM,EAAiBC,GAAc/qL,KAAKy8K,sBAAqD,IAE7FsO,IAEIA,GAAc,IAAM/qL,KAAKg5K,oBAAoB,IAC7C,MAEJgS,GAAW,EAIf,IAAKA,EACD,OAAIF,EAAiB,GACVA,EAAiB,GAGrB5jG,GAAU/0E,OAAOnS,KAAKk5K,aAAc,GAG/C,MAAM+R,EAAYhjG,GAAU91E,OAAOk9E,GACnC47F,EAAUv3F,WAAao3F,EAAiB,GACpCG,EAAUv3F,aACVu3F,EAAUv3F,WAAWvuD,OAAS8lJ,GAElCA,EAAUt3F,SAAWm3F,EAAiB,GAClCG,EAAUt3F,WACVs3F,EAAUt3F,SAASxuD,OAAS8lJ,GAEhCA,EAAUr3F,UAAYk3F,EAAiB,GACnCG,EAAUr3F,YACVq3F,EAAUr3F,UAAUzuD,OAAS8lJ,GAEjC,MAAM5zH,EAAYyzH,EAAiB,IAAMA,EAAiB,IAAMA,EAAiB,GAKjF,OAJIzzH,GACA,GAAY4zH,EAAW5zH,GAGpB4zH,EAIHhH,gBACJ,MAAMt2F,EAA0B,GAChC,IAAI8wF,GAAgB,EAChB93G,GAAgB,EAEpB,OAAa,CACT,MAAM+3G,EAAgB1+K,KAAKs6K,iBAC3B,GACsB,KAAlBoE,GACkB,IAAlBA,GACkB,IAAlBA,EAEA,MAGJ/3G,GAAgB,EAChB,MAAM1pE,EAAM+C,KAAKkrL,iBAQjB,GAPIjuL,EAAIoP,KACJoyK,GAAgB,EACTA,GAA0C,IAAzBxhL,EAAI2pE,kBAC5B5mE,KAAKq5K,UAAUznD,GAAUv4F,WAAW2xG,2BAA4B/tI,GAEpE0wF,EAAQtyF,KAAK4B,IAER+C,KAAKg5K,oBAAoB,IAC1B,MAGJryG,GAAgB,EAGpB,MAAO,CAAEvvD,KAAMu2E,EAAShnB,iBAOpBukH,iBACJ,MAAM77F,EAAarvF,KAAKk5K,aAExB,IAAIv1D,EAAU,EACV3jH,KAAKs9K,wBAAwB,IAC7B35D,EAAU,EACH3jH,KAAKs9K,wBAAwB,MACpC35D,EAAU,GAGd,IACI6mE,EADAC,EAAYzqL,KAAKy8K,sBAAqD,GAG1E,GAAgB,IAAZ94D,EACA,GAAI3jH,KAAKs9K,wBAAwB,GAAsB,CACnD,MAAMqN,EAAWF,EACjBA,EAAYzqL,KAAKy8K,sBAAqD,GAE5C,KAAtBkO,EAASlkH,SACT+jH,EAAiBG,EAAS3pK,MAE1BhhB,KAAKq5K,UAAUznD,GAAUv4F,WAAWgoG,oBAAqBspD,OAE1D,CACH,MAAMQ,EAAWnrL,KAAKygL,2BAA2BgK,GAC7CU,IACAV,EAAYU,GAKxB,MAAMP,EAAU1hG,GAAa/2E,OAAOk9E,EAAYo7F,EAAW9mE,GAM3D,OALI6mE,IACAI,EAAQv+K,KAAOi8E,GAASn2E,OAAOq4K,GAC/BI,EAAQv+K,KAAK84B,OAASylJ,GAGnBA,EAOH3L,aACJ,MAAMhG,EAAYj5K,KAAKk5K,aAEvB,GAAuB,KAAnBD,EAAUj6K,KACV,OAAOwpF,GAAar2E,OAAOnS,KAAKm5K,iBAGpC,GAAuB,IAAnBF,EAAUj6K,KACV,OAAOypF,GAAWt2E,OAAOnS,KAAKm5K,iBAGlC,GAAuB,IAAnBF,EAAUj6K,KACV,OAAOspF,GAASn2E,OAAOnS,KAAKm5K,iBAGhC,GAAuB,IAAnBF,EAAUj6K,KACV,OAAOgB,KAAKorL,mBAGhB,GAAuB,KAAnBnS,EAAUj6K,KAA6B,CACvCgB,KAAKm5K,gBAKLn5K,KAAKq5K,UAAUznD,GAAUv4F,WAAW0gG,mBAAoBk/C,GAExD,MAAMoS,EAAiBrrL,KAAK6nL,2BAA2B,EAEnDj2D,GAAUv4F,WAAW+mG,gBAIzB,OADApgI,KAAKg5K,oBAAoB,IAClBqS,EAGX,GAAuB,KAAnBpS,EAAUj6K,KAAoC,CAC9C,MAAMssL,EAAoBtrL,KAAKurL,kBAC/B,GACmC,KAA/BD,EAAkB7kH,UAClBzmE,KAAKk4K,2BACJl4K,KAAKm4K,uBACR,CAIE,MAAM3oD,EAAO,IAAId,GACjBc,EAAKZ,WAAWgD,GAAUlD,mBAAmBmtB,mBAC7C77I,KAAKq5K,UAAUznD,GAAUv4F,WAAW41G,oBAAsBzf,EAAKR,YAAas8D,GAkBhF,OAfmC,IAA/BA,EAAkB7kH,WAIlB6kH,EAAkB90F,eAAgB,GAGH,KAA/B80F,EAAkB7kH,WAClB6kH,EAAkBz0F,iBAAkB,GAGL,KAA/By0F,EAAkB7kH,WAClB6kH,EAAkBz0F,iBAAkB,GAGjCy0F,EACJ,GAAuB,KAAnBrS,EAAUj6K,KAAgC,CACjD,MAAMwsL,EAAWxrL,KAAKyrL,iBACtB,GAAIzrL,KAAKk4K,2BAA6Bl4K,KAAKm4K,uBAAwB,CAC/D,MAAM3oD,EAAO,IAAId,GACjBc,EAAKZ,WAAWgD,GAAUlD,mBAAmBktB,kBAC7C57I,KAAKq5K,UAAUznD,GAAUv4F,WAAWksG,mBAAqB/V,EAAKR,YAAaw8D,GAE/E,OAAOA,EACJ,GAAuB,KAAnBvS,EAAUj6K,KAAmC,CACpD,MAAM0sL,EAAW1rL,KAAK2rL,4BACtB,GAAI3rL,KAAKk4K,yBAA0B,CAC/B,MAAM1oD,EAAO,IAAId,GACjBc,EAAKZ,WAAWgD,GAAUlD,mBAAmBitB,kBAC7C37I,KAAKq5K,UAAUznD,GAAUv4F,WAAWikG,mBAAqB9N,EAAKR,YAAa08D,GAE/E,OAAOA,EAGX,GAAuB,IAAnBzS,EAAUj6K,KAA4B,CACtC,MAAMmgL,EAAelG,EACrB,GACiC,KAA7BkG,EAAajxF,aACgB,KAA7BixF,EAAajxF,aACgB,IAA7BixF,EAAajxF,aACgB,KAA7BixF,EAAajxF,YAEb,OAAO3F,GAAap2E,OAAOnS,KAAKm5K,iBAIpC,MAAMyS,EAAsB5rL,KAAKu9K,wBACjC,GAAIqO,EACA,OAAOtjG,GAASn2E,OAAOy5K,GAI/B,OAAO5rL,KAAKw+K,4BAA4B,EAEpC5sD,GAAUv4F,WAAW+mG,gBAQrBo+C,4BACJlgH,EACAutH,EACAC,EACAC,EACAC,GAEAhsL,KAAKq5K,UAAUwS,EAAUC,UAAe9rL,KAAKk5K,cAC7C,MAAM7qF,EAAOnH,GAAU/0E,OAAOnS,KAAKk5K,aAAc56G,EAAUytH,GACrDE,EAAa,CAAC,GAKpB,OAJID,GACAC,EAAW5wL,QAAQ2wL,GAEvBhsL,KAAKu5K,wBAAwB0S,GACtB59F,EAIHg6F,uBAAuB6D,GAAmB,GAC9C,MAAMn+F,EAAc/tF,KAAKy7K,iBAAiB,IAEpC9tF,EAAU3tF,KAAK+hL,kBAAkB,IAAwC,GAM/E,IAAIuG,EAJCtoL,KAAKg5K,oBAAoB,KAC1Bh5K,KAAKq5K,UAAUznD,GAAUv4F,WAAWqmG,gBAAiB1/H,KAAKk5K,cAK1DoP,EADA4D,EACWlsL,KAAKy8K,sBAAqD,GAE1Dz8K,KAAKshL,2BAAiD,IAAUthL,KAAKmhL,eAGpF,MAAMgL,EAAa9jG,GAAWl2E,OAAO47E,EAAau6F,GAKlD,OAJA6D,EAAW9oJ,WAAasqD,EACxBA,EAAQroE,SAASroB,IACbA,EAAIkoC,OAASgnJ,KAEVA,EAGH7K,0BAA0B4K,GAAmB,GACjD,GAAgC,KAA5BlsL,KAAKw6K,mBAIT,OAAOx6K,KAAKqoL,uBAAuB6D,GAK/BX,kB,MACJ,MAAMa,EAAapsL,KAAKm5K,gBACxBrnH,EAA2B,KAApBs6H,EAAWptL,MAElB,MAAMqtL,EAAYrsL,KAAKknL,2BACvB,GAAImF,EACA,OAA8B,KAA1BrsL,KAAKs6K,iBACEt6K,KAAKw+K,4BAA4B,EAEpC5sD,GAAUv4F,WAAWomG,qBACrB2sD,EACAC,IAGJ,GAAYA,EAAWrsL,KAAKm5K,iBAGzBkT,GAGX,MAAMnS,EAAiBl6K,KAAKssL,kCACtBC,EAAoBvsL,KAAKq6K,uBAAuBH,GAAuC,GACvF1K,EAA8C,IAA/B0K,EAAej1K,KAAKjK,SAAiBk/K,EAAevzG,cAMzE,GAJK6oG,GACD,GAAY+c,EAAmBH,GAGL,KAA1BpsL,KAAKs6K,iBACL,OAAOt6K,KAAKw+K,4BAA4B,EAEpC5sD,GAAUv4F,WAAWomG,qBACrB2sD,EACyB,QAAzB,EAAAlS,EAAeE,kBAAU,QAAImS,GAE9B,CACH,MAAMtT,EAAYj5K,KAAKm5K,gBAClB3J,GACD,GAAY+c,EAAmBtT,GAIvC,OAAOsT,EAKHd,iB,MACJ,MAAMe,EAAexsL,KAAKm5K,gBAC1BrnH,EAA6B,KAAtB06H,EAAaxtL,MAEpB,MAAMk7K,EAAiBl6K,KAAKssL,kCACtBG,EAAkCzsL,KAAKk5K,aAC7C,OAAKl5K,KAAKg5K,oBAAoB,IASvB0T,IARI1sL,KAAKw+K,4BAA4B,EAEpC5sD,GAAUv4F,WAAWmmG,uBACrBgtD,EACyB,QAAzB,EAAAtS,EAAeE,kBAAU,QAAIsS,KAMrC,SAASA,IACL,MAAMC,EAAW1jG,GAAS92E,OAAOq6K,GAcjC,OAZIC,GACA,GAAYE,EAAUF,GAGtBvS,EAAej1K,KAAKjK,OAAS,IAC7Bk/K,EAAej1K,KAAKqgB,SAAS+oE,IACzBA,EAAKlpD,OAASwnJ,KAElB,GAAYA,EAAUzS,EAAej1K,KAAKi1K,EAAej1K,KAAKjK,OAAS,KAG3E2xL,EAAS/jK,QAAUsxJ,EAAej1K,KAC3B0nL,GAIPL,kCACJ,IAAIM,GAAmB,EAEvB,OAAO5sL,KAAK+8K,6BACR,KACI,IAAI1uF,EAAOruF,KAAKkoL,4BAA2D,GAC3E,MAAMiD,EAAWnrL,KAAKygL,2BAA2BpyF,GAKjD,OAJI88F,IACA98F,EAAO88F,EACPyB,GAAmB,GAEhBv+F,KAEX,IAAMruF,KAAK0kL,gCACX,IAAMkI,IAWNjB,4BACJ,MAAMkB,EAAa7sL,KAAKm5K,gBACxBrnH,EAA2B,KAApB+6H,EAAW7tL,MAElB,MAAM8tL,EAA2C,GAC3CC,EAA+B,GACrC,IAIIznC,EAJA0nC,GAAe,EACfC,GAAQ,EACRC,GAAuB,EACvBC,GAAe,EAGnB,KACkC,KAA1BntL,KAAKs6K,kBADA,CAOT,IAAI8S,EACA9+F,EACAxnB,EAJJw+E,OAAqBxmJ,EAKrB,MAAM4gL,EAAa1/K,KAAKk5K,aAYxB,GAVIl5K,KAAKs9K,wBAAwB,IAC7B8P,EAAuBptL,KAAK0jL,kBAAmC,IAE/Dp1F,EAAgBtuF,KAAKkoL,4BAA2D,GAE5EloL,KAAKg5K,oBAAoB,MACzBlyG,EAAkB9mE,KAAKy8K,sBAAqD,KAIhFnuF,GAAiBxnB,EAKjB,GAJ+B,KAA3BwnB,EAAc7nB,UACdzmE,KAAKq5K,UAAUznD,GAAUv4F,WAAWi7G,eAAgBhmD,GAGpD2+F,EACAjtL,KAAKq5K,UAAUznD,GAAUv4F,WAAW2rG,gBAAiBl+D,OAClD,CACH,MAAMumH,EAAevkG,GAAuB32E,OAAOm8E,EAAexnB,GAClE,IAAIwmH,EAAiCD,EACrC,MAAMlC,EAAWnrL,KAAKygL,2BAA2B4M,GAC7ClC,IACAmC,EAAYnC,EACZ+B,GAAuB,EAElBC,GACDntL,KAAKq5K,UAAUznD,GAAUv4F,WAAWwiG,sBAAuByxD,IAGnER,EAAkBzxL,KAAKiyL,GACvBN,GAAe,OAEhB,GAAII,EACP,GAAIH,EACAjtL,KAAKq5K,UAAUznD,GAAUv4F,WAAWk7G,cAAe64C,OAChD,CACH,MAAMG,EAAgBxkG,GAA0B52E,OAAOi7K,GACvD,GAAYG,EAAe7N,GAC3B,IAAI8N,EAAuCD,EAC3C,MAAMpC,EAAWnrL,KAAKygL,2BAA2B8M,GAC7CpC,IACAqC,EAAkBrC,EAClB+B,GAAuB,EAElBC,GACDntL,KAAKq5K,UAAUznD,GAAUv4F,WAAWwiG,sBAAuBuxD,IAGnEN,EAAkBzxL,KAAKmyL,GACvBR,GAAe,OAInB,GADAl7H,OAAyBhzD,IAAlBwvF,GACHA,EACA,GAAI0+F,EAAc,CACd,MAAMS,EAAwBvmG,GAAU/0E,OACpCnS,KAAKk5K,aAAY,IAGfmU,EAAevkG,GAAuB32E,OAAOm8E,EAAem/F,GAClEX,EAAkBzxL,KAAKgyL,GACvBrtL,KAAKq5K,UAAUznD,GAAUv4F,WAAWkkG,oBAAqBjvC,OACtD,CACH,MAAM68F,EAAWnrL,KAAKygL,2BAA2BnyF,GAC7C68F,IACA78F,EAAgB68F,EAChB+B,GAAuB,EAElBC,GACDntL,KAAKq5K,UAAUznD,GAAUv4F,WAAWyiG,qBAAsBxtC,IAGlEy+F,EAAW1xL,KAAKizF,GAChB2+F,GAAQ,EAMpB,GAAIC,EACA,MAGJ,GAA8B,KAA1BltL,KAAKs6K,iBACL,MAGJh1B,EAAqBtlJ,KAAKm5K,gBAE1BgU,GAAe,EAGnB,IAAIO,EAAqC1tL,KAAKk5K,aAM9C,GALKl5K,KAAKg5K,oBAAoB,MAC1Bh5K,KAAKq5K,UAAUznD,GAAUv4F,WAAWkmG,qBAAsBstD,GAC1Da,OAAkB5uL,GAGlBmuL,EAAO,CACP,MAAMU,EAAU3kG,GAAQ72E,OAAO06K,GAc/B,OAbIa,GACA,GAAYC,EAASD,GAGrBX,EAAW/xL,OAAS,GACpB,GAAY2yL,EAASZ,EAAWA,EAAW/xL,OAAS,IAGxD+xL,EAAWznK,SAASm0C,IAChBA,EAAMt0B,OAASwoJ,KAGnBA,EAAQ/kK,QAAUmkK,EACXY,EAGX,MAAMC,EAAiB/kG,GAAe12E,OAAO06K,GAkB7C,OAhBIvnC,IACAsoC,EAAetoC,mBAAqBA,EACpC,GAAYsoC,EAAgBtoC,IAG5BooC,GACA,GAAYE,EAAgBF,GAG5BZ,EAAkB9xL,OAAS,IAC3B8xL,EAAkBxnK,SAASm0C,IACvBA,EAAMt0B,OAASyoJ,KAEnB,GAAYA,EAAgBd,EAAkBA,EAAkB9xL,OAAS,KAE7E4yL,EAAehlK,QAAUkkK,EAClBc,EAGH7Q,4BACJlkI,EACAg1I,EAA+B,KAAM7tL,KAAK0kL,+BAC1CoJ,EAAiC,MAAM,IAEvC,IAAInnH,GAAgB,EACpB,MAAM1hE,EAAY,GAClB,IAAIm1K,EAEJ,MACQyT,KADK,CAKT,MAAMx/F,EAAOx1C,IACb,GAAsB,IAAlBw1C,EAAK5nB,SAAkC,CACvC2zG,EAAa/rF,EACb,MAKJ,GAHAppF,EAAK5J,KAAKgzF,GAGNy/F,IACA,MAGJ,IAAK9tL,KAAKg5K,oBAAoB,IAAkB,CAC5CryG,GAAgB,EAChB,MAGJA,GAAgB,EAGpB,MAAO,CAAEA,gBAAe1hE,OAAMm1K,cAS1BmN,4BACJ,IAMIwG,EANAtF,EAAWzoL,KAAK67K,kCACgB,GACN,EAAK,EAE/BjqD,GAAUv4F,WAAW+mG,gBAIzB,GAA0B,IAAtBqoD,EAAShiH,SACT,OAAOgiH,EAIX,GAAIzoL,KAAKg5K,oBAAoB,IAAkB,CAQ3C,GAPA+U,EAAiB/tL,KAAKg6K,uBACtByO,EAAWlhG,GAAmBp1E,OAAOs2K,EAAUsF,IAE1C/tL,KAAK63K,cAAcjjG,YAAc50E,KAAKm8K,sBAAwB//G,GAAc4xH,MAC7EhuL,KAAKq5K,UAAUznD,GAAUv4F,WAAW27G,uBAAwB+4C,IAG3D/tL,KAAKs9K,wBAAwB,GAC9B,OAAOmL,EAOX,MAAMwF,EAAyBjuL,KAAK4pL,oBAAoBmE,EAAgB,aAElE/D,EAA2BhqL,KAAKk4K,yBAClC+V,IACAjuL,KAAKk4K,0BAA2B,GAGpC,MAAMyQ,EACF3oL,KAAKknL,4BACLlnL,KAAK67K,kCAC+B,GACN,EAAI,EAE9BjqD,GAAUv4F,WAAW6lG,+BAK7B,OAFAl/H,KAAKk4K,yBAA2B8R,EAEzB1iG,GAAen1E,OAAOs2K,EAAUE,GAI3C,GAAI3oL,KAAKs9K,wBAAwB,GAC7B,OAAOt9K,KAAKkuL,uBAAuBzF,GAGvC,GAAI7V,GAAUub,qBAAqBnuL,KAAKq7K,qBAAsB,CAC1D,MAAMzuF,EAAgB5sF,KAAKm5K,gBAErBwP,EACF3oL,KAAKknL,4BACLlnL,KAAK6nL,2BAA2B,EAE5Bj2D,GAAUv4F,WAAW8lG,+BAIvBivD,EAAWtxL,OAAOmiF,OAAO,GAAIwpG,GAGnC,OAFA2F,EAASxxK,GvCl1HVopE,KuCo1HQyB,GAAwBt1E,OAAOs2K,EAAUE,EAAW/7F,EAAc6lF,aAAc2b,GAG3F,OAAO3F,EAGHyF,uBAAuBzF,GAC3B,IAAIE,EACA3oL,KAAKknL,4BACLlnL,KAAK67K,kCAC+B,GACN,EAAI,EAE9BjqD,GAAUv4F,WAAW6lG,+BAG7B,GAA2B,IAAvBypD,EAAUliH,SACV,OAAO6gB,GAAen1E,OAAOs2K,EAAUE,GAI3C,GAAI3oL,KAAKs9K,wBAAwB,KAC7BqL,EAAY3oL,KAAKkuL,uBAAuBvF,GACb,IAAvBA,EAAUliH,UACV,OAAOkiH,EAIf,MAAM0F,EAAiB/mG,GAAen1E,OAAOs2K,EAAUE,GAGjDl4F,EAAwBzwF,KAAK2iL,sCAOnC,OANIlyF,IACA49F,EAAe59F,sBAAwBA,EACvC49F,EAAe59F,sBAAsBtrD,OAASkpJ,EAC9C,GAAYA,EAAgBA,EAAe59F,wBAGxC49F,EAGHpU,+BACJ,MAAMhtF,EAAiBjtF,KAAKk5K,aAC5B,IAAKl5K,KAAKg5K,oBAAoB,IAE1B,YADAh5K,KAAKq5K,UAAUznD,GAAUv4F,WAAW+nG,oBAAqBphI,KAAKk5K,cAIlE,IAAI/9E,EAAqC,GAEzC,OAAa,CACT,MAAMujF,EAAgB1+K,KAAKs6K,iBAC3B,GACsB,KAAlBoE,GACkB,IAAlBA,GACkB,IAAlBA,EAEA,MAMJ1+K,KAAKs9K,wBAAwB,KAA0Bt9K,KAAKs9K,wBAAwB,IAEpF,MAAMgR,EAAkBtuL,KAAKg6K,uBAG7B,GAFA7+E,EAAiB9/F,KAAKizL,IAEjBtuL,KAAKg5K,oBAAoB,IAC1B,MASR,GALKh5K,KAAKg5K,oBAAoB,MAC1Bh5K,KAAKq5K,UAAUznD,GAAUv4F,WAAWomG,qBAAsBxyC,GAC1DjtF,KAAKu5K,wBAAwB,CAAC,OAG7Bv5K,KAAKg5K,oBAAoB,IAE1B,YADAh5K,KAAKq5K,UAAUznD,GAAUv4F,WAAW2lG,gBAAiBh/H,KAAKk5K,cAI9D,MAAM9vE,EAAappG,KAAKg6K,uBAExB,IAAI9sF,GAAsB,EAM1B,OALgC,IAA5BiO,EAAiBngG,QAAiD,KAAjCmgG,EAAiB,GAAG10B,WACrD00B,EAAmB,GACnBjO,GAAsB,GAGnB1F,GAAuBr1E,OAAO86E,EAAgBC,EAAqBiO,EAAkBiO,GAGxF4wE,qBAAqBmO,GAAc,GAEvC,MAAM6B,EAA2BhqL,KAAKk4K,yBACtCl4K,KAAKk4K,0BAA2B,EAGhC,MAAM1sF,EAAaxrF,KAAKk5K,aAClBqV,EAAWvuL,KAAKs9K,wBAAwB,IAE1CiR,IACKpG,GAEOnoL,KAAK63K,cAAcjjG,YAAc50E,KAAKm8K,sBAAwB//G,GAAcylH,OACpF7hL,KAAKq5K,UAAUznD,GAAUv4F,WAAW06G,2BAA4BvoD,GAFhExrF,KAAKq5K,UAAUznD,GAAUv4F,WAAWg7G,qBAAsB7oD,IAMlE,IAAIxrE,EAAShgB,KAAKy8K,sBAAqD,GAOvE,OANI8R,GAAYpG,IACZnoK,EAAS4nE,GAAWz1E,OAAOq5E,EAAYxrE,IAG3ChgB,KAAKk4K,yBAA2B8R,EAEzBhqK,EAGHwuK,yBAAyB5f,EAA0B6f,GAC/B,MAApB7f,EAAY1lG,OACZlpE,KAAKq5K,UAAUznD,GAAUv4F,WAAW40G,qBAAsB2gC,GAG1D6f,EAAgBxf,iBAChBjvK,KAAKq5K,UAAUznD,GAAUv4F,WAAWy0G,sBAAuB8gC,GAGvC,GAApBA,EAAY1lG,QACRlpE,KAAKm8K,sBAAwB//G,GAAc4xH,MAC3ChuL,KAAKq5K,UAAUznD,GAAUv4F,WAAWopG,sBAAuBmsC,GAGvC,GAApBA,EAAY1lG,OACZlpE,KAAKq5K,UAAUznD,GAAUv4F,WAAWipG,oBAAqBssC,GAGrC,GAApBA,EAAY1lG,OACZlpE,KAAKq5K,UAAUznD,GAAUv4F,WAAWqpG,sBAAuBksC,IAK/D8f,gBAAgB9f,GACpB,MAAM6f,EAAkB,GAAoC7f,GAE5D,OADA5uK,KAAKwuL,yBAAyB5f,EAAa6f,GACpC/lG,GAAWv2E,OAAOy8J,EAAa6f,EAAgBnxL,MAAOmxL,EAAgBzf,eAAeh0K,OAAS,GAGjGinL,gCACJ,GAAyB,IAArBjiL,KAAK23K,YACL,OAGJ,MAAMgX,EAAW3uL,KAAKw5K,iBAAkBl1G,OAAOgB,UAAUtlE,KAAK23K,YAAc,GACtEsB,EAAYj5K,KAAKw5K,iBAAkBl1G,OAAOgB,UAAUtlE,KAAK23K,aAE/D,GAAIgX,EAAS7yL,MAAQ6yL,EAAS3zL,SAAWi+K,EAAUn9K,MAC/C,OAGJ,MAEM21D,EAFqBzxD,KAAKujJ,cAAe/8G,UAAUmoJ,EAAS7yL,MAAQ6yL,EAAS3zL,OAAQi+K,EAAUn9K,OAEpE21D,MADZ,gCAErB,IAAKA,EACD,OAIJ,MAAMm9H,EAAan9H,EAAM,GAMzB,GAAIm9H,EAAWhpL,OAAO6rD,MAAM,oBACxB,OAGJ,MAAMo9H,EAAcF,EAAS7yL,MAAQ6yL,EAAS3zL,OAASy2D,EAAM,GAAGz2D,OAChE,OAAOmgK,GAAYhpJ,OAAO08K,EAAaD,EAAW5zL,OAAQ,EAAuB4zL,EAAY,OAAG9vL,GAG5F6jL,sCACJ,MAAM/T,EAAc5uK,KAAKiiL,gCACzB,IAAKrT,EACD,OAGJ,MAAMntB,EAAazhJ,KAAK0uL,gBAAgB9f,GAClCkgB,EAAiBlmG,GAAez2E,OAAO,CAACsvI,IAExC31E,GADS,IAAI7yB,IACS4gI,oBACxB75K,KAAKujJ,cACLqrB,EAAY9yK,MACZ8yK,EAAY5zK,OACZgF,KAAK63K,cAAa,OAEM/4K,EACxBkB,KAAKy4K,sBAOT,OAJA3sG,EAAalnC,YAAYtf,SAASkqG,IAC9BxvH,KAAKq5K,UAAU7pD,EAAKjjH,QAASuiL,MAG5BhjH,EAAa5B,UAIX4B,EAAa5B,eAJpB,EAOIg4G,oCAAoCtT,EAA0BljD,GAClE,MAAM+1B,EAAazhJ,KAAK0uL,gBAAgB9f,GAClCkgB,EAAiBlmG,GAAez2E,OAAO,CAACsvI,IAExC31E,GADS,IAAI7yB,IACS4gI,oBACxB75K,KAAKujJ,cACLqrB,EAAY9yK,MACZ8yK,EAAY5zK,OACZgF,KAAK63K,cAAa,OAEM/4K,EACxBkB,KAAKy4K,sBAOT,GAJA3sG,EAAalnC,YAAYtf,SAASkqG,IAC9BxvH,KAAKq5K,UAAU7pD,EAAKjjH,QAASuiL,OAG5BhjH,EAAa5B,WAAiD,KAApC4B,EAAa5B,UAAUzD,SAClD,OAGJ,MAAMsoH,EAAqBjjH,EAAa5B,UAExCwhD,EAAat5B,0BAA4B28F,EACzCA,EAAmB5pJ,OAASumF,EAC5B,GAAYA,EAAcqjE,GAGtBC,0BACJpgB,EACA4B,EACAye,EACAC,GAEAp9H,EAAO0+G,EAAQhB,cACf,MACM1jG,GADS,IAAI7yB,IACS4gI,oBACxB75K,KAAKujJ,cACLqrB,EAAY9yK,MAAQ8yK,EAAY4D,aAAe5D,EAAY5tB,gBAAkBwvB,EAAQ9uK,OAASutL,EAC9FC,EACAlvL,KAAK63K,cAAa,EAEM,EACxB73K,KAAKy4K,sBAeT,OAZA3sG,EAAalnC,YAAYtf,SAASkqG,IAC9B,MAAM2/D,GACD3/D,EAAK/iH,MAAQ,GAAwB+iH,EAAK/iH,MAAM3Q,MAAOgwE,EAAatkB,OAASonH,EAAY9yK,QAC1F8yK,EAAY9yK,MAKVm7K,EAAY,CAAEn7K,MAAOqzL,EAAgBn0L,SAHtCw0H,EAAK/iH,OACC,GAAwB+iH,EAAK/iH,MAAM1Q,IAAK+vE,EAAatkB,QAAU,GAAK,EACrEonH,EAAY9yK,MAAQ8yK,EAAY5zK,SAAW4zK,EAAY9yK,MAAQ8yK,EAAY5zK,QACnBm0L,GAClEnvL,KAAKq5K,UAAU7pD,EAAKjjH,QAAS0qK,MAG1BnrG,EAAa5B,UAGhBklH,mBAAmBxgB,GACvB,MAAM6f,EAAkB,GAAoC7f,GAC5D5uK,KAAKwuL,yBAAyB5f,EAAa6f,GAE3C,MAAMY,EAAsC,GAE5C,IAAK,MAAM7e,KAAWie,EAAgBvf,qBAClC,GAAIsB,EAAQhB,aAAc,CAGtB,MAAM8f,EAAoBtvL,KAAKuvL,iCAAiC/e,EAAQlzK,MAAMogG,WACxExzB,EAAYlqE,KAAKgvL,0BAA0BpgB,EAAa4B,EAAS,EAAG8e,GACtEplH,GACAmlH,EAAkBh0L,KAAK6uE,GAI3B,MAAMslH,EAAkBhf,EAAQlzK,MAAM0E,OAAOstL,GAC7C,IAAIG,EAAa,EACbC,EAAoB,EACxB,IAAK,IAAIp1L,EAAI,EAAGA,EAAIk1L,EAAgBx0L,OAAQV,IACxC,GAAsC,MAAlCk1L,EAAgB30L,WAAWP,GACR,IAAfm1L,IACAC,EAAoBp1L,EAAI,GAE5Bm1L,SACG,GAAsC,MAAlCD,EAAgB30L,WAAWP,IAC9Bm1L,EAAa,IACbA,IACmB,IAAfA,GAAkB,CAClB,MAAME,EAAsB3vL,KAAKuvL,iCAC7B/e,EAAQlzK,MAAM0E,OAAOstL,EAAoBI,EAAmBp1L,EAAIo1L,IAE9DxlH,EAAYlqE,KAAKgvL,0BACnBpgB,EACA4B,EACA8e,EAAoBI,EACpBC,GAEAzlH,GACAmlH,EAAkBh0L,KAAK6uE,IASnD,OAAOye,GAAiBx2E,OACpBy8J,EACA6f,EAAgBnxL,MAChBmxL,EAAgBzf,eAAeh0K,OAAS,EACxCq0L,GAIAE,iCAAiCK,GACrC,IAAIN,EAAoB,EAKxB,MAAMO,EAAuB,GAC7B,IAGIC,EAHAC,EAAa,EACbC,EAAa,EACbC,EAAe,EAGnB,KAAOX,EAAoBM,EAAa50L,QAAQ,CAC5C,MAAMopJ,EAAUwrC,EAAaN,GACvBY,EAAkBL,EAAW70L,OAAS,GAAK+0L,EAAa,GAAKC,EAAa,GAAKC,EAAe,EAC9FE,EAAWN,EAAW70L,OAAS,EAErC,GAAgB,MAAZopJ,EACA0rC,EAAoBR,MACjB,CACH,GAAgB,MAAZlrC,GACA,IAAK8rC,EACD,WAED,GAAgB,MAAZ9rC,GACP,IAAK8rC,IAGGZ,IAAsBM,EAAa50L,OAAS,GACJ,MAAxC40L,EAAaN,EAAoB,IAEjC,WAGL,GAAgB,MAAZlrC,GAA+B,MAAZA,EAAiB,CAC3C,IAAIgsC,EAAgBhsC,EAEhBkrC,EAAoB,EAAIM,EAAa50L,QACrC40L,EAAaN,EAAoB,KAAOlrC,GACxCwrC,EAAaN,EAAoB,KAAOlrC,IAExCgsC,EAAgBhsC,EAAUA,EAAUA,EACpCkrC,GAAqB,GAGrBO,EAAW70L,OAAS,GAAK60L,EAAWA,EAAW70L,OAAS,KAAOo1L,EAC/DP,EAAW51I,MACkB,IAAtB41I,EAAW70L,QAClB60L,EAAWx0L,KAAK+0L,OAED,MAAZhsC,EACF+rC,GACDH,IAEe,MAAZ5rC,GACF+rC,GAAYH,EAAa,GAC1BA,IAEe,MAAZ5rC,EACF+rC,GACDJ,IAEe,MAAZ3rC,GACF+rC,GAAYJ,EAAa,GAC1BA,IAEe,MAAZ3rC,EACF+rC,GACDF,IAEe,MAAZ7rC,IACF+rC,GAAYF,EAAe,GAC5BA,IAIQ,MAAZ7rC,IACA0rC,OAAoBhxL,GAI5BwwL,IASJ,OAJItvL,KAAK63K,cAAc96F,eAAiB3gB,GAAc0mH,WAA8BhkL,IAAtBgxL,IAC1DR,EAAoBQ,GAGjBR,EAGHzG,2BACJniH,EACAqmB,EACAH,EACAC,GAeA,YAVqC/tF,IAAjC4nE,EAAeomB,eAA+BpmB,EAAeomB,eAAiB4qF,KAC9EhxG,EAAiBwgB,GAAU/0E,OAAOu0D,EAAgB,IAClD1mE,KAAKq5K,UAAUznD,GAAUv4F,WAAWwsG,wBAAyBn/D,SAG3B5nE,IAAlCiuF,EAAgBD,eAA+BC,EAAgBD,eAAiB4qF,KAChF3qF,EAAkB7F,GAAU/0E,OAAO46E,EAAiB,IACpD/sF,KAAKq5K,UAAUznD,GAAUv4F,WAAWwsG,wBAAyB94C,IAG1D3F,GAAoBj1E,OAAOu0D,EAAgBqmB,EAAiBH,EAAeC,GAG9Eo8F,0BAA0Br8F,EAAsB76B,EAA4B86B,GAShF,YALiC/tF,IAA7BizD,EAAW+6B,eAA+B/6B,EAAW+6B,eAAiB4qF,KACtE3lH,EAAam1B,GAAU/0E,OAAO4/C,EAAY,IAC1C/xD,KAAKq5K,UAAUznD,GAAUv4F,WAAWwsG,wBAAyB9zE,IAG1Do1B,GAAmBh1E,OAAOy6E,EAAe76B,EAAY86B,GAGxDu+F,mBACJ,MAAMpM,EAAgD,GAEtD,KAAiC,IAA1Bh/K,KAAKs6K,kBAAuC,CAC/C,MAAM1L,EAAc5uK,KAAKm5K,gBACD,GAApBvK,EAAY1lG,MACZ81G,EAAW3jL,KAAK2E,KAAKovL,mBAAmBxgB,IAExCoQ,EAAW3jL,KAAK2E,KAAK0uL,gBAAgB9f,IAI7C,MAAMntB,EAAa74D,GAAez2E,OAAO6sK,GAGzC,GAAIh/K,KAAKk4K,yBAGL,GAAIz2B,EAAWv6E,QAAQlsE,OAAS,EAC5BgF,KAAKq5K,UAAUznD,GAAUv4F,WAAWk/F,yBAA0BkpB,QAC3D,GAAwC,GAApCA,EAAWv6E,QAAQ,GAAGlmD,MAAMkoD,MACnClpE,KAAKq5K,UAAUznD,GAAUv4F,WAAWg/F,yBAA0BopB,OAC3D,CACH,MAAMmtB,EAAcntB,EAAWv6E,QAAQ,GAAGlmD,MAEpCqvK,EADc,GAAoC5uC,EAAWv6E,QAAQ,GAAGlmD,OAC1C1jB,MAC9BuxL,EAAcjgB,EAAY9yK,MAC1B02K,EAAe5D,EAAY4D,aAAe5D,EAAY5tB,gBAI5D,GAAIqvC,EAAgBr1L,SAAW4zK,EAAY5zK,OAASw3K,EAAe5D,EAAY5tB,gBAC3EhhJ,KAAKq5K,UAAUznD,GAAUv4F,WAAWm/F,yBAA0BipB,OAC3D,CACH,MACM31E,GADS,IAAI7yB,IACS4gI,oBACxB75K,KAAKujJ,cACLsrC,EAAcrc,EACd6d,EAAgBr1L,OAChBgF,KAAK63K,cAAa,EAEoD,IAAjC,EAApCp2B,EAAWv6E,QAAQ,GAAGlmD,MAAMkoD,OAA6C,EAAI,EAC9ElpE,KAAKy4K,sBAGT3sG,EAAalnC,YAAYtf,SAASkqG,IAC9BxvH,KAAKq5K,UAAU7pD,EAAKjjH,QAASk1I,MAG7B31E,EAAa5B,YACbu3E,EAAWz0D,eAAiBlhB,EAAa5B,UACzCu3E,EAAWz0D,eAAe7nD,OAASs8G,IAMnD,OAAOA,EAMHmjC,2CAA2C0L,GAC/C,GAAmC,KAA/BA,EAAkB7pH,YAIlB6pH,EAAkB5iG,kBAIlB1tF,KAAK63K,cAAc96F,eAAiB3gB,GAAc0mH,MAItD,IAAK,MAAMz0F,KAAQiiG,EAAkB5nH,YACjC,GAAsB,KAAlB2lB,EAAK5nB,SAEL,YADAzmE,KAAKq5K,UAAUznD,GAAUv4F,WAAWq7G,sBAAuBrmD,GAQ/Dq2F,8BAEJ,OADkB1kL,KAAKk5K,aACLl6K,MACd,KAAK,EACD,OAAQgB,KAAKw6K,oBACT,KAAK,GACL,KAAK,GACL,KAAK,GACD,OAAO,EAEf,MAGJ,KAAK,EACD,OAAQx6K,KAAKq7K,qBACT,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,EACD,OAAO,EAEf,MAGJ,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACD,OAAO,EAGf,OAAO,EAGH6F,8BAA8BvtK,GAClC,MAAM48K,EAAavwL,KAAKu4K,8BACxBv4K,KAAKu4K,+BAAgC,EAErC5kK,IAEA3T,KAAKu4K,8BAAgCgY,EAGjCpX,gBACJ,MAAMn4J,EAAQhhB,KAAKw5K,iBAAkBl1G,OAAOgB,UAAUtlE,KAAK23K,aAK3D,OAJK33K,KAAK+4K,UACN/4K,KAAK23K,cAGF32J,EAGH+3J,SAGJ,OAAO/4K,KAAK23K,aAAe33K,KAAKw5K,iBAAkBl1G,OAAOt4C,MAAQ,EAG7DktJ,WAAWltJ,EAAQ,GACvB,OAAIhsB,KAAK23K,YAAc3rJ,EAAQ,EACpBhsB,KAAKw5K,iBAAkBl1G,OAAOgB,UAAU,GAG/CtlE,KAAK23K,YAAc3rJ,GAAShsB,KAAKw5K,iBAAkBl1G,OAAOt4C,MACnDhsB,KAAKw5K,iBAAkBl1G,OAAOgB,UAAUtlE,KAAKw5K,iBAAkBl1G,OAAOt4C,MAAQ,GAGlFhsB,KAAKw5K,iBAAkBl1G,OAAOgB,UAAUtlE,KAAK23K,YAAc3rJ,GAG9DsuJ,iBACJ,OAAOt6K,KAAKk5K,aAAal6K,KAGrBw7K,mBACJ,MAAMvB,EAAYj5K,KAAKk5K,aACvB,GAAuB,IAAnBD,EAAUj6K,KAId,OAAQi6K,EAA2B/qF,YAG/BmtF,oBACJ,MAAMpC,EAAYj5K,KAAKk5K,aACvB,GAAuB,IAAnBD,EAAUj6K,KAId,OAAQi6K,EAA4BxG,aAGhC8K,wBACJ,MAAMtE,EAAYj5K,KAAKk5K,aACvB,GAAuB,IAAnBD,EAAUj6K,KACV,OAAOgB,KAAKm5K,gBAIhB,GAAuB,IAAnBF,EAAUj6K,KAGV,OAFAgB,KAAKm5K,gBACLn5K,KAAKq5K,UAAUznD,GAAUv4F,WAAWsrG,wBAAyBs0C,GACtD3d,GAAgBnpJ,OAAO8mK,EAAUn9K,MAAOm9K,EAAUj+K,OAAQ,GAAIi+K,EAAU3sF,UAInF,GAAuB,IAAnB2sF,EAAUj6K,KAA4B,CACtC,MAAMkvF,EAAcluF,KAAKw6K,mBAEzB,GADqB,CAAC,EAAD,MACJjvG,MAAMvsE,GAASA,IAASkvF,IAAc,CACnD,MAAMsiG,EAAcxwL,KAAKujJ,cAAevhJ,OAAOi3K,EAAUn9K,MAAOm9K,EAAUj+K,QAE1E,OADAgF,KAAKm5K,gBACE7d,GAAgBnpJ,OAAO8mK,EAAUn9K,MAAOm9K,EAAUj+K,OAAQw1L,EAAavX,EAAU3sF,YAU5FitF,wBAAwBkX,GAC5B,OAAa,CACT,MAAMzvK,EAAQhhB,KAAKk5K,aACnB,GAAIuX,EAAYhiI,MAAMiiI,GAASA,IAAS1vK,EAAMhiB,OAC1C,OAAO,EAGX,GAAmB,IAAfgiB,EAAMhiB,KACN,OAAO,EAGXgB,KAAKm5K,iBAILyM,gBAAgBz5I,GACpB,GAAInsC,KAAKs6K,mBAAqBnuI,EAC1B,OAAOnsC,KAAKm5K,gBAMZH,oBAAoB7sI,GACxB,QAASnsC,KAAK4lL,gBAAgBz5I,GAG1BkwI,uBAAuBnuF,GAC3B,OAAIluF,KAAKw6K,qBAAuBtsF,IAC5BluF,KAAKm5K,iBACE,GAMPmE,wBAAwB7K,GAC5B,OAAIzyK,KAAKq7K,sBAAwB5I,IAC7BzyK,KAAKm5K,iBACE,GAMPsC,iBAAiBvtF,GACrB,MAAMixF,EAAen/K,KAAKm5K,gBAG1B,OAFArnH,EAA6B,IAAtBqtH,EAAangL,MACpB8yD,EAAOqtH,EAAajxF,cAAgBA,GAC7BixF,EAGHhD,sBACJ,OAAOn8K,KAAK63K,cAAc96F,cAGtB4+F,gBAAgBhoK,GACpB,MAAMg9K,EAAuB3wL,KAAK43K,qBAClC,IACI53K,KAAK43K,sBAAuB,EAC5BjkK,I,QAEA3T,KAAK43K,qBAAuB+Y,GAI5BtX,UAAU9sK,EAAiBE,GAC/BqlD,OAAiBhzD,IAAV2N,GAEFzM,KAAK43K,sBACN53K,KAAK83K,UAAUriD,SACXlpH,EACAg5D,GAAsB94D,EAAM3Q,MAAO2Q,EAAM3Q,MAAQ2Q,EAAMzR,OAAQgF,KAAKw5K,iBAAkBhyH,SCxpJ/F,MAAMopI,GAmBT3kL,YAAYjN,EAAiBmmC,GAVpB,KAAAsoE,YAA2B,IAAI3vF,IAI/B,KAAA+yK,iBAAmB,IAAI/yK,IAO5B9d,KAAKhB,KAAOA,EACZgB,KAAKmlC,OAASA,EAGlB2rJ,iBACI,IAAIC,EAA8B/wL,KAClC,KAAO+wL,GAAU,CACb,GAAsB,IAAlBA,EAAS/xL,MAA+C,IAAlB+xL,EAAS/xL,KAC/C,OAAO+xL,EAGXA,EAAWA,EAAS5rJ,OAIxB,OADA+sB,EAAK,wBACElyD,KAMXgxL,4BACI,OAAqB,IAAdhxL,KAAKhB,MAA2C,IAAdgB,KAAKhB,KAGlD4uH,aAAavhH,GACT,OAAOrM,KAAKytG,YAAYlpG,IAAI8H,GAGhCs1I,sBACIt1I,EACA4kL,GAAwB,EACxBC,GAAyB,GAEzB,MAAMv2G,EAAS36E,KAAKytG,YAAYlpG,IAAI8H,GAEpC,GAAIsuE,EAAQ,CAGR,GAAIs2G,GAAyBt2G,EAAOkzB,qBAChC,OAKJ,MAAM3R,EAAQvhB,EAAOy+B,kBACrB,GACqB,IAAjBld,EAAMlhG,QACNkhG,EAAMztC,MAAMyZ,GAAuB,IAAdA,EAAKlpE,OAAsCkpE,EAAKipH,0BAErE,MAAO,CACHx2G,SACAs2G,wBACAC,yBACArpH,MAAO7nE,MAKnB,IAAIoxL,EAOJ,GALIA,EADoC,IAApCpxL,KAAK6wL,iBAAiBtsL,IAAI8H,GACZrM,KAAK8wL,iBAEL9wL,KAAKmlC,OAGnBisJ,EAIA,OAAOA,EAAYzvC,sBACft1I,EACA4kL,GAAuC,IAAdjxL,KAAKhB,KAC9BkyL,GAA0BlxL,KAAKgxL,6BAO3CK,UAAUhlL,EAAc68D,GACpB,MAAMyR,EAAS,IAAI,GAAOzR,GAE1B,OADAlpE,KAAKytG,YAAYtoG,IAAIkH,EAAMsuE,GACpBA,EAGX22G,eAAejlL,GACX,OAAOrM,KAAK6wL,iBAAiBtsL,IAAI8H,GAGrCklL,eAAellL,EAAcmlL,GACzB,OAAOxxL,KAAK6wL,iBAAiB1rL,IAAIkH,EAAMmlL,GAG3CC,cAAc1oH,GACV/oE,KAAK0xL,WAAa3oH,EAGtB4oH,gBACI,OAAO3xL,KAAK0xL,YCtKb,SAASE,GACZlqH,EACA3E,EACA8uH,EACAC,GAEA,GAAsB,IAAlBpqH,EAAKjB,SACL,OAAOmrH,GAA6BlqH,EAAKqlB,gBAAiBhqB,EAAS8uH,EAAqBC,GAG5F,GAAsB,KAAlBpqH,EAAKjB,UACL,GAAsB,KAAlBiB,EAAKmlB,UAAkD,KAAlBnlB,EAAKmlB,SAA+B,CACzE,MAAMvvF,EAAQy0L,GACVrqH,EAAK3V,WACLgR,EACA8uH,EACAC,GAEJ,QAAchzL,IAAVxB,EACA,OAAQA,QAGb,GAAsB,IAAlBoqE,EAAKjB,SAA4C,CAExD,GAAsB,KAAlBiB,EAAKmlB,UAAkD,KAAlBnlB,EAAKmlB,SAA+B,CACzE,MAAMmlG,EAAYJ,GACdlqH,EAAKhB,eACL3D,EACA8uH,EACAC,GAEEG,EAAaL,GACflqH,EAAKqlB,gBACLhqB,EACA8uH,EACAC,GAGJ,QAAkBhzL,IAAdkzL,QAA0ClzL,IAAfmzL,EAC3B,OAGJ,OAAsB,KAAlBvqH,EAAKmlB,SACEmlG,GAAaC,EAEbD,GAAaC,EAI5B,GACIC,GAA4BxqH,EAAKhB,eAAgBorH,IACf,KAAlCpqH,EAAKqlB,gBAAgBtmB,SACvB,CAEE,MAAM0rH,EAgFlB,SAAgCzqH,GAC5B,IAAIyqH,EAEJ,GAAIzqH,EAAKgB,YAAY1tE,QAAU,GAC3B,GACqC,KAAjC0sE,EAAKgB,YAAY,GAAGjC,WACnBiB,EAAKgB,YAAY,GAAG1B,aACY,KAAjCU,EAAKgB,YAAY,GAAGjC,WACnBiB,EAAKgB,YAAY,GAAG1B,YACvB,CACE,MAAMorH,EAAe1qH,EAAKgB,YAAY,GAChC2pH,EAAe3qH,EAAKgB,YAAY,GACJ,iBAAvB0pH,EAAa90L,OAAoD,iBAAvB+0L,EAAa/0L,QAC9D60L,EAAyC,IAArBC,EAAa90L,MAAc+0L,EAAa/0L,aAGjE,GAAgC,IAA5BoqE,EAAKgB,YAAY1tE,OAAc,CACtC,MAAMo3L,EAAe1qH,EAAKgB,YAAY,GACJ,iBAAvB0pH,EAAa90L,QACpB60L,EAAyC,IAArBC,EAAa90L,OAIzC,OAAO60L,EAvG2BG,CAAuB5qH,EAAKqlB,iBACtD,OAAOwlG,GAAgC7qH,EAAKmlB,SAAU9pB,EAAQga,cAAeo1G,GAC1E,GAC8B,KAAjCzqH,EAAKhB,eAAeD,UACpByrH,GAA4BxqH,EAAKhB,eAAeS,eAAgB2qH,IAC3B,IAArCpqH,EAAKhB,eAAe3jC,MAAM/nC,SACzB0sE,EAAKhB,eAAeC,gBACpBe,EAAKhB,eAAe3jC,MAAM,GAAG12B,MACoB,IAAlDq7D,EAAKhB,eAAe3jC,MAAM,GAAG6jC,kBAC6B,KAA1Dc,EAAKhB,eAAe3jC,MAAM,GAAG+jC,gBAAgBL,WAC5CiB,EAAKhB,eAAe3jC,MAAM,GAAG+jC,gBAAgBE,aACS,IAAvDU,EAAKhB,eAAe3jC,MAAM,GAAG+jC,gBAAgBxpE,OACX,KAAlCoqE,EAAKqlB,gBAAgBtmB,SAGrB,OAAO8rH,GACH7qH,EAAKmlB,SACL/pF,KAAK+J,MAAMk2D,EAAQga,cAAgB,KACnCrV,EAAKqlB,gBAAgBzvF,OAEtB,GA6If,SAAsCoqE,EAAsBoqH,EAA6B,CAAC,QACtF,QAAsB,KAAlBpqH,EAAKjB,UACgC,KAAjCiB,EAAKhB,eAAeD,UAA6D,aAA1BiB,EAAKL,WAAW/pE,QACnEw0L,EAAiBrjI,MAAM0d,GAAUA,IAAWzE,EAAKhB,eAA4BppE,SA/IjFk1L,CAA6B9qH,EAAKhB,eAAgBorH,IAChB,KAAlCpqH,EAAKqlB,gBAAgBtmB,SACvB,CAEE,MAAMgsH,EAAqB/qH,EAAKqlB,gBAAgB7lB,QAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,IAC3Ek3L,EAiKlB,SAA8C3vH,GAC1C,OAAIA,EAAQs/F,iBAAmB1H,GAAeg4B,OACnC,SACA5vH,EAAQs/F,iBAAmB1H,GAAei4B,QAC1C,QACA7vH,EAAQs/F,iBAAmB1H,GAAek4B,MAC1C,aADJ,EAtK8BC,CAAqC/vH,GAClE,OAAOgwH,GAA+BrrH,EAAKmlB,SAAU6lG,EAAsBD,GACxE,GAiJf,SAAiC/qH,GAC7B,OAAsB,KAAlBA,EAAKjB,UAEgC,KAAjCiB,EAAKhB,eAAeD,UACU,OAA9BiB,EAAKhB,eAAeppE,OACM,SAA1BoqE,EAAKL,WAAW/pE,MArJhB01L,CAAwBtrH,EAAKhB,iBACK,KAAlCgB,EAAKqlB,gBAAgBtmB,SACvB,CAEE,MAAMwsH,EAAmBvrH,EAAKqlB,gBAAgB7lB,QAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,IACzE03L,EAqKlB,SAAwCnwH,GACpC,OAAIA,EAAQs/F,iBAAmB1H,GAAeg4B,OACnC,QACA5vH,EAAQs/F,iBAAmB1H,GAAei4B,QAC1C,KACA7vH,EAAQs/F,iBAAmB1H,GAAek4B,MAC1C,aADJ,EA1KwBM,CAA+BpwH,GACtD,QAAuBjkE,IAAnBo0L,EACA,OAAOH,GAA+BrrH,EAAKmlB,SAAUqmG,EAAgBD,SAG1E,GAAsB,KAAlBvrH,EAAKjB,SAAqC,CACjD,GAAuB,KAAnBiB,EAAKumB,UACL,OAAO,EACJ,GAAuB,KAAnBvmB,EAAKumB,UACZ,OAAO,OAER,GAAsB,KAAlBvmB,EAAKjB,UACZ,GAAmB,kBAAfiB,EAAKpqE,MACL,OAAO,OAER,GACHu0L,GACkB,KAAlBnqH,EAAKjB,UACqB,kBAA1BiB,EAAKL,WAAW/pE,OACiB,KAAjCoqE,EAAKhB,eAAeD,UACpBorH,EAAoBpjI,MAAM0d,GAAUA,IAAWzE,EAAKhB,eAA4BppE,QAEhF,OAAO,EASR,SAASy0L,GACZrqH,EACA3E,EACA8uH,EACAC,GAEA,OAAsB,KAAlBpqH,EAAKjB,UACkB,KAAnBiB,EAAKumB,YAKN2jG,GAA6BlqH,EAAM3E,EAAS8uH,EAAqBC,GA6B5E,SAASS,GACL9f,EACAuf,EACAC,GAEA,QAAkBnzL,IAAdkzL,QAA0ClzL,IAAfmzL,EAA0B,CAIrD,GAHAD,EAAYjrL,OAAOirL,GACnBC,EAAalrL,OAAOkrL,GAEC,KAAjBxf,EACA,OAAOuf,EAAYC,EAChB,GAAqB,KAAjBxf,EACP,OAAOuf,GAAaC,EACjB,GAAqB,KAAjBxf,EACP,OAAOuf,EAAYC,EAChB,GAAqB,KAAjBxf,EACP,OAAOuf,GAAaC,EACjB,GAAqB,KAAjBxf,EACP,OAAOuf,IAAcC,EAClB,GAAqB,KAAjBxf,EACP,OAAOuf,IAAcC,GAOjC,SAASc,GACLtgB,EACAuf,EACAC,GAEA,QAAkBnzL,IAAdkzL,QAA0ClzL,IAAfmzL,EAA0B,CACrD,GAAqB,KAAjBxf,EACA,OAAOuf,IAAcC,EAClB,GAAqB,KAAjBxf,EACP,OAAOuf,IAAcC,GAOjC,SAASC,GAA4BxqH,EAAsBoqH,EAA6B,CAAC,QACrF,QAAsB,KAAlBpqH,EAAKjB,UACgC,KAAjCiB,EAAKhB,eAAeD,UAA6D,iBAA1BiB,EAAKL,WAAW/pE,QACnEw0L,EAAiBrjI,MAAM0d,GAAUA,IAAWzE,EAAKhB,eAA4BppE,SC/EtF,MAAM81L,WAAe,GAwFxBnnL,YAAYu8D,EAAoC6qH,GAAoB,GAChEnnL,QAD4C,KAAAmnL,oBApFxC,KAAAC,sBAA+C,GAwB/C,KAAAC,sBAAqC,GAGrC,KAAAC,gBAA+B,GAU/B,KAAAhb,qBAAiC,GAGjC,KAAAib,kBAA8B,GAG9B,KAAAC,0BAAsC,GAItC,KAAAjb,qBAA4C,IAAI36J,IAIhD,KAAA61K,0BAAiD,IAAI71K,IAMrD,KAAA81K,sBAAsC,GAItC,KAAAC,+BAAgC,EAGhC,KAAAC,kBAAmB,EAUnB,KAAAC,wBAA0B,IAAIj2K,IAI9B,KAAAk2K,yBAA2B,IAAIl2K,IAI/B,KAAAm2K,4BAA8B,EAKlCj0L,KAAKk0L,UAAY1rH,EAGrB2rH,WAAWzsH,G,MAGP,MAAM0sH,OAAmDt1L,IAAjCkB,KAAKk0L,UAAUG,cAEvCr0L,KAAKs0L,gBACDF,EAAkB,EAAoB,EACtCp0L,KAAKk0L,UAAUG,eACf,KACI,GAA0B3sH,EAAM1nE,KAAKu0L,eACrC,GAA6B7sH,EAAM1nE,KAAKw0L,kBAIxCx0L,KAAKy0L,iCAAiC,UAAW/sH,EAAM,cACvD1nE,KAAKy0L,iCAAiC,WAAY/sH,EAAM,OACxD1nE,KAAKy0L,iCAAiC,eAAgB/sH,EAAM,OAC5D1nE,KAAKy0L,iCAAiC,aAAc/sH,EAAM,OAC1D1nE,KAAKy0L,iCAAiC,cAAe/sH,EAAM,OAC3D1nE,KAAKy0L,iCAAiC,WAAY/sH,EAAM,OACxD1nE,KAAKy0L,iCAAiC,WAAY/sH,EAAM,iBACxD1nE,KAAKy0L,iCAAiC,WAAY/sH,EAAM,OACxD1nE,KAAKy0L,iCAAiC,aAAc/sH,EAAM,OAC1D1nE,KAAKy0L,iCAAiC,WAAY/sH,EAAM,kBACxD1nE,KAAKy0L,iCAAiC,kBAAmB/sH,EAAM,kBAC/D1nE,KAAKy0L,iCAAiC,eAAgB/sH,EAAM,OAG5D1nE,KAAKw0L,iBAAmBx0L,KAAK00L,uBAE7B10L,KAAK20L,oCAAoCjtH,EAAK+C,YAE9C,GAAwC/C,EAAM1nE,KAAK40L,kCAGnD,GAAkCltH,EAAM1nE,KAAKw0L,qBAKrDx0L,KAAK60L,gBAIL70L,KAAK+zL,wBAAwBzuK,SAAQ,CAACq1D,EAAQtuE,K,OACjB,QAApB,EAAArM,KAAK80L,uBAAe,eAAErmI,MAAM3iD,GAAQA,IAAQO,OACzCrM,KAAKk0L,UAAUt/G,WACf+F,EAAOk9B,wBAEPl9B,EAAOi+B,8BAKnB54G,KAAKg0L,yBAAyB1uK,SAAQ,CAACq1D,EAAQtuE,K,OAClB,QAApB,EAAArM,KAAK80L,uBAAe,eAAErmI,MAAM3iD,GAAQA,IAAQO,MAC7CsuE,EAAO+9B,wBAIX14G,KAAK80L,gBACL,GAAkCptH,EAAM,CACpCqB,MAAO/oE,KAAK80L,gBACZtzC,YAAaxhJ,KAAK4zL,sBAClBmB,6BAA8B/0L,KAAK6zL,gCAGvC,GAAkCnsH,OAAM5oE,GAI5C,MAAM+oE,EAAQ,GAA0BH,GACxC,GAAIG,GAAS7nE,KAAK80L,gBACd,IAAK,MAAMzoL,KAAQrM,KAAK80L,gBACO,QAA3B,EAAAjtH,EAAM4lC,YAAYlpG,IAAI8H,UAAK,SAAEmsG,mBAKhC5lB,YAAYlrB,GAIjB,OADAxV,EAAK,6BACE,EAGF8hC,WAAWtsB,GAEhB,OADA1nE,KAAK20L,oCAAoCjtH,EAAK+C,aACvC,EAGFooB,gBAAgBnrB,GACrB,MAAMmC,EAAe,GAA+BnC,GAGpD,GAFA5V,OAAwBhzD,IAAjB+qE,IAEFA,GAAgBA,EAAagL,YAC9B,OAAO,EAGX,IAAKhL,EAAae,cAOd,OANA5qE,KAAKg1L,eACDh1L,KAAKk0L,UAAU1/D,kBAAkByuC,qBACjCvmD,GAAeumD,qBACfrxC,GAAUv4F,WAAWuqG,uBAAuBvyH,OAAO,CAAEs7D,WAAY9C,EAAa8C,aAC9EjF,IAEG,EAIX,IACKmC,EAAa+K,YACc,IAA5B/K,EAAaC,aACZD,EAAazG,YAChB,CACE,MAAM6xH,EAAaj1L,KAAKg1L,eACpBh1L,KAAKk0L,UAAU1/D,kBAAkB2uC,uBACjCzmD,GAAeymD,uBACfvxC,GAAUv4F,WAAW60G,kBAAkB78H,OAAO,CAAEs7D,WAAY9C,EAAa8C,aACzEjF,GAEJ,GAAIutH,EAAY,CAEZ,MAAMC,EAAiD,CACnDjnE,OAAQ,yBACRjjD,WAAYnB,EAAa8C,YAE7BsoH,EAAWjnE,UAAUknE,IAwB7B,OAlBIrrH,EAAa+K,YACe,IAA5B/K,EAAaC,YACbD,EAAakL,sBACZlL,EAAakL,oBAAoBnK,gBAG7B5qE,KAAKk0L,UAAUt/G,YAChB50E,KAAKg1L,eACDh1L,KAAKk0L,UAAU1/D,kBAAkB0uC,0BACjCxmD,GAAewmD,0BACftxC,GAAUv4F,WAAWwqG,6BAA6BxyH,OAAO,CACrDs7D,WAAY9C,EAAa8C,aAE7BjF,KAKL,EAGFspB,WAAWtpB,GAChB1nE,KAAKkwF,aAAaxoB,EAAKwkB,YAEvB,MAAMipG,EAAqC,CACvCn2L,KAAM,EACN0oE,OACA34D,KAAM/O,KAAKk0L,UAAUr4H,SACrBpvD,MAAO84D,GAAsBmC,EAAKr7D,KAAKvQ,MAAO0oE,GAAUmB,OAAO+B,EAAKr7D,MAAOrM,KAAKk0L,UAAU1sI,OAC1FwjB,WAAYhrE,KAAKk0L,UAAUlpH,WAC3BuxB,gBAAiBv8F,KAAK8zL,kBAGpBn5G,EAAS36E,KAAKo1L,iBAAiBp1L,KAAKu0L,cAAe7sH,EAAKr7D,KAAK/O,OAC/Dq9E,GACAA,EAAOm+B,eAAeq8E,GAI1B,GAAgCztH,EAAMytH,GAEtCn1L,KAAKkwF,aAAaxoB,EAAKhoE,WAIvB,IAAI0xL,EAAcpxL,KAAKu0L,cACvB,KAA4B,IAArBnD,EAAYpyL,MACfoyL,EAAcA,EAAYjsJ,OAiB9B,OAdAnlC,KAAKs0L,gBAAgB,EAAiBlD,GAAa,KAC/C,GAA0B1pH,EAAM1nE,KAAKu0L,eAErCv0L,KAAKy0L,iCAAiC,UAAW/sH,EAAM,cACvD1nE,KAAKy0L,iCAAiC,aAAc/sH,EAAM,OAErD1nE,KAAKqzL,mBAENrzL,KAAK+vF,KAAKroB,EAAKukB,UAIvBjsF,KAAKq1L,iCAAiC3tH,EAAKr7D,MAAwB,GAAqB,IAEjF,EAGF8lF,cAAczqB,GACnB,GAA6BA,EAAM1nE,KAAKw0L,kBAExC,MAAM75G,EAAS36E,KAAKo1L,iBAAiBp1L,KAAKu0L,cAAe7sH,EAAKr7D,KAAK/O,OAC7Dg4L,EAAsB,GAAiC5tH,GAAM,GAC7D6tH,EAA2C,CAC7Cv2L,KAAM,EACN0oE,OACA0jD,WAAYkqE,EACZnhF,aAAa,EACbplG,KAAM/O,KAAKk0L,UAAUr4H,SACrBpvD,MAAO84D,GAAsBmC,EAAKr7D,KAAKvQ,MAAO0oE,GAAUmB,OAAO+B,EAAKr7D,MAAOrM,KAAKk0L,UAAU1sI,OAC1FwjB,WAAYhrE,KAAKk0L,UAAUlpH,WAC3BuxB,gBAAiBv8F,KAAK8zL,kBAoG1B,OAjGIn5G,GACAA,EAAOm+B,eAAey8E,GAI1B,GAAgC7tH,EAAM6tH,GAEtCv1L,KAAKkwF,aAAaxoB,EAAKwkB,YACvBxkB,EAAKrkC,WAAW/d,SAASlC,IACjBA,EAAM8vE,cACNlzF,KAAK+vF,KAAK3sE,EAAM8vE,cAGhB9vE,EAAM4pE,gBACNhtF,KAAK+vF,KAAK3sE,EAAM4pE,gBAGhB5pE,EAAMqtE,uBACNzwF,KAAK+vF,KAAK3sE,EAAMqtE,0BAIpB/oB,EAAK0lB,sBACLptF,KAAK+vF,KAAKroB,EAAK0lB,sBAGf1lB,EAAK0qB,2BACLpyF,KAAK+vF,KAAKroB,EAAK0qB,2BAKnBpyF,KAAKs0L,gBAAgB,EAAoBt0L,KAAKw1L,2BAA2B,KACrE,GAA0B9tH,EAAM1nE,KAAKu0L,eAEd,GAAiC7sH,IAGpD1nE,KAAKy0L,iCAAiC,YAAa/sH,EAAM,SAG7D1nE,KAAKy1L,eAAc,KAEfz1L,KAAKw0L,iBAAmBx0L,KAAK00L,uBAC7B10L,KAAKi0L,4BAA8B,EAEnCvsH,EAAKrkC,WAAW/d,SAAS09J,IACrB,GAAIA,EAAU32K,KAAM,CAChB,MAAMsuE,EAAS36E,KAAKo1L,iBAAiBp1L,KAAKu0L,cAAevR,EAAU32K,KAAK/O,OACxE,GAAIq9E,EAAQ,CACR,MAAM+6G,EAAyC,CAC3C12L,KAAM,EACN0oE,KAAMs7G,EACNj0K,KAAM/O,KAAKk0L,UAAUr4H,SACrBpvD,MAAO84D,GACHy9G,EAAUlnL,MACV0oE,GAAUmB,OAAOq9G,GACjBhjL,KAAKk0L,UAAU1sI,OAEnBwjB,WAAYhrE,KAAKk0L,UAAUlpH,WAC3BuxB,gBAAiBv8F,KAAK8zL,kBAG1Bn5G,EAAOm+B,eAAe48E,GACtB,GAAgC1S,EAAU32K,KAAMqpL,GAGpD11L,KAAK21L,sBAAsB3S,EAAU32K,UAI7CrM,KAAK41L,2BAA6BL,EAClCv1L,KAAK61L,qBAAuB71L,KAAK81L,qBAGjC91L,KAAK+vF,KAAKroB,EAAKukB,OAIf,GAAkCvkB,EAAKukB,MAAOjsF,KAAKw0L,kBAKnDx0L,KAAK+1L,eAAe/1L,KAAK61L,qBAAsB71L,KAAKw0L,kBACpD,MAAMwB,EAAiBh2L,KAAKi2L,iBAAiBj2L,KAAK61L,sBAElD,GAAkCnuH,EAAMsuH,GAExC,GAAwCtuH,EAAM1nE,KAAK40L,kCvDtX5D,SAA+BltH,EAAoBwuH,GACjCxuH,EACRyuH,mBAAqBD,EuDqXtB,CAAuCxuH,EAAM1nE,KAAKi0L,mCAI1Dj0L,KAAKq1L,iCAAiC3tH,EAAKr7D,MAAwB,GAAqB,IAGjF,EAGFimF,YAAY5qB,GAoDjB,OAnDA,GAA6BA,EAAM1nE,KAAKw0L,kBAIxC9sH,EAAKrkC,WAAW/d,SAASlC,IACjBA,EAAM8vE,cACNlzF,KAAK+vF,KAAK3sE,EAAM8vE,iBAIxBlzF,KAAKs0L,gBAAgB,EAAoBt0L,KAAKw1L,2BAA2B,KACrE,GAA0B9tH,EAAM1nE,KAAKu0L,eAErCv0L,KAAKy1L,eAAc,KAEfz1L,KAAKw0L,iBAAmBx0L,KAAK00L,uBAE7BhtH,EAAKrkC,WAAW/d,SAAS09J,IACrB,GAAIA,EAAU32K,KAAM,CAChB,MAAMsuE,EAAS36E,KAAKo1L,iBAAiBp1L,KAAKu0L,cAAevR,EAAU32K,KAAK/O,OACxE,GAAIq9E,EAAQ,CACR,MAAM+6G,EAAyC,CAC3C12L,KAAM,EACN0oE,KAAMs7G,EACNj0K,KAAM/O,KAAKk0L,UAAUr4H,SACrBpvD,MAAO84D,GACHy9G,EAAUlnL,MACV0oE,GAAUmB,OAAOq9G,GACjBhjL,KAAKk0L,UAAU1sI,OAEnBwjB,WAAYhrE,KAAKk0L,UAAUlpH,WAC3BuxB,gBAAiBv8F,KAAK8zL,kBAG1Bn5G,EAAOm+B,eAAe48E,GACtB,GAAgC1S,EAAU32K,KAAMqpL,GAGpD11L,KAAK21L,sBAAsB3S,EAAU32K,MACrCrM,KAAK+vF,KAAKizF,EAAU32K,UAK5BrM,KAAK+vF,KAAKroB,EAAK3V,YAEf,GAAwC2V,EAAM1nE,KAAK40L,yCAKpD,EAGF7jG,UAAUrpB,G,QAQf,GAPA1nE,KAAKo2L,0BAAyB,KAC1Bp2L,KAAK+vF,KAAKroB,EAAKhB,gBACf1mE,KAAKkwF,aAAaxoB,EAAKhoE,cAE3BM,KAAKq2L,oBAAoB3uH,GAIO,IAA5B1nE,KAAKu0L,cAAcv1L,MACc,KAAjC0oE,EAAKhB,eAAeD,UAC4B,KAAhDiB,EAAKhB,eAAeA,eAAeD,UACU,YAA7CiB,EAAKhB,eAAeA,eAAeppE,MACrC,CACE,IAAIg5L,GAAuB,EAG3B,GAA6C,WAAzC5uH,EAAKhB,eAAeW,WAAW/pE,OAAgD,IAA1BoqE,EAAKhoE,UAAU1E,OAAc,CAClF,MAAMu7L,EAAU7uH,EAAKhoE,UAAU,GAAGonE,gBAGlC,GAAyB,KAArByvH,EAAQ9vH,SACR8vH,EAAQ3tK,QAAQtD,SAASioK,I,QAEU,KAA3BA,EAAc9mH,UACmB,IAAjC8mH,EAAcrmH,QAAQlsE,QACgB,KAAtCuyL,EAAcrmH,QAAQ,GAAGT,WAEL,QAApB,EAAAzmE,KAAK80L,uBAAe,SAAEz5L,KAAKkyL,EAAcrmH,QAAQ,GAAG5pE,OAC1B,QAA1B,EAAA0C,KAAK4zL,6BAAqB,SAAEv4L,KAAKkyL,EAAcrmH,QAAQ,IACvDovH,GAAuB,WAG5B,GACkB,KAArBC,EAAQ9vH,UAC4B,KAApC8vH,EAAQ7vH,eAAeD,UACM,YAA7B8vH,EAAQlvH,WAAW/pE,MACrB,CAEE,MAAMk5L,EAAax2L,KAAKy2L,6BAA6BF,EAAQ7vH,eAAeppE,OACxEk5L,GAAcA,EAAWx7L,OAAS,IAClCw7L,EAAWlxK,SAASjZ,I,MACI,QAApB,EAAArM,KAAK80L,uBAAe,SAAEz5L,KAAKgR,MAE/BiqL,GAAuB,SAG5B,GAA6C,WAAzC5uH,EAAKhB,eAAeW,WAAW/pE,OAAgD,IAA1BoqE,EAAKhoE,UAAU1E,OAAc,CAEzF,MAAMu7L,EAAU7uH,EAAKhoE,UAAU,GAAGonE,gBAET,KAArByvH,EAAQ9vH,UACmB,IAA3B8vH,EAAQrvH,QAAQlsE,QACgB,KAAhCu7L,EAAQrvH,QAAQ,GAAGT,UACnBzmE,KAAK80L,kBAEL90L,KAAK80L,gBAAkB90L,KAAK80L,gBAAgBjsI,QAAQx8C,GAASA,IAASkqL,EAAQrvH,QAAQ,GAAG5pE,QACzF0C,KAAK4zL,sBAAwB5zL,KAAK4zL,sBAAsB/qI,QACnD6e,GAASA,EAAKpqE,QAAUi5L,EAAQrvH,QAAQ,GAAG5pE,QAEhDg5L,GAAuB,QAExB,GAA6C,WAAzC5uH,EAAKhB,eAAeW,WAAW/pE,OAAgD,IAA1BoqE,EAAKhoE,UAAU1E,OAAc,CAEzF,MAAMu7L,EAAU7uH,EAAKhoE,UAAU,GAAGonE,gBAET,KAArByvH,EAAQ9vH,UACmB,IAA3B8vH,EAAQrvH,QAAQlsE,QACgB,KAAhCu7L,EAAQrvH,QAAQ,GAAGT,WAEC,QAApB,EAAAzmE,KAAK80L,uBAAe,SAAEz5L,KAAKk7L,EAAQrvH,QAAQ,GAAG5pE,OACpB,QAA1B,EAAA0C,KAAK4zL,6BAAqB,SAAEv4L,KAAKk7L,EAAQrvH,QAAQ,IACjDovH,GAAuB,GAI3BA,IACAt2L,KAAK6zL,+BAAgC,EAErC7zL,KAAKg1L,eACDh1L,KAAKk0L,UAAU1/D,kBAAkB0xC,2BACjCxpD,GAAewpD,2BACft0C,GAAUv4F,WAAWw7G,gCACrBntE,IAKZ,OAAO,EAGF8oB,gBAAgB9oB,GACrB,GAAI1nE,KAAK02L,wCAAwChvH,GAC7C,OAAO,EAGX1nE,KAAK22L,8BAA8BjvH,EAAKhB,gBAEpCgB,EAAK+oB,wBACLzwF,KAAK+vF,KAAKroB,EAAK+oB,uBACfzwF,KAAK42L,+BAA+BlvH,EAAKhB,eAAgBgB,EAAK+oB,wBAGlEzwF,KAAK+vF,KAAKroB,EAAKqlB,iBAEf,IAAI8pG,GAAsB,EAoB1B,IAnBI,GAAoCnvH,IAIK,IAAlCA,EAAKqlB,gBAAgBtmB,UAAmCzmE,KAAKk0L,UAAU4C,kBxCuanF,SAAsBpvH,GACzB,IAAIuB,EAAiCvB,EAErC,KAAOuB,GAAS,CACZ,OAAQA,EAAQxC,UACZ,KAAK,GACL,KAAK,GACD,OAAO,EAUfwC,EAAUA,EAAQ9jC,OAGtB,OAAO,EwCtbQ,CAA4BuiC,MANnCmvH,GAAsB,GAW1B72L,KAAK+2L,sCAAsCrvH,EAAKhB,eAAgBgB,EAAKqlB,gBAAiB8pG,GAEtF72L,KAAKq1L,iCAAiC3tH,EAAKhB,gBAAkC,GAAoB,GAGjE,IAA5B1mE,KAAKu0L,cAAcv1L,OAEmB,KAAjC0oE,EAAKhB,eAAeD,UAAiE,YAA9BiB,EAAKhB,eAAeppE,OAC1C,KAAjCoqE,EAAKhB,eAAeD,UACgC,KAAjDiB,EAAKhB,eAAeI,gBAAgBL,UACU,YAA9CiB,EAAKhB,eAAeI,gBAAgBxpE,OAC1C,CACE,MAAM+wF,EAAO3mB,EAAKqlB,gBAClB/sF,KAAK80L,gBAAkB,GACvB,IAAIwB,GAAuB,EAEL,KAAlBjoG,EAAK5nB,SACL4nB,EAAKzlE,QAAQtD,SAASioK,IAEa,KAA3BA,EAAc9mH,UACmB,IAAjC8mH,EAAcrmH,QAAQlsE,QACgB,KAAtCuyL,EAAcrmH,QAAQ,GAAGT,UAEzBzmE,KAAK80L,gBAAiBz5L,KAAKkyL,EAAcrmH,QAAQ,GAAG5pE,OACpD0C,KAAK4zL,sBAAsBv4L,KAAKkyL,EAAcrmH,QAAQ,KAEtDovH,GAAuB,KAGN,KAAlBjoG,EAAK5nB,SACZ4nB,EAAK3lB,YAAYpjD,SAAS0xK,IAEU,KAA5BA,EAAevwH,UACmB,IAAlCuwH,EAAe9vH,QAAQlsE,QACgB,KAAvCg8L,EAAe9vH,QAAQ,GAAGT,UAE1BzmE,KAAK80L,gBAAiBz5L,KAAK27L,EAAe9vH,QAAQ,GAAG5pE,OACrD0C,KAAK4zL,sBAAsBv4L,KAAK27L,EAAe9vH,QAAQ,KAEvDovH,GAAuB,KAI/BA,GAAuB,EAGvBA,IACAt2L,KAAK6zL,+BAAgC,EAErC7zL,KAAKg1L,eACDh1L,KAAKk0L,UAAU1/D,kBAAkB0xC,2BACjCxpD,GAAewpD,2BACft0C,GAAUv4F,WAAWw7G,gCACrBntE,IAOhB,GAAgC,IAA5B1nE,KAAKu0L,cAAcv1L,OAEmB,KAAjC0oE,EAAKhB,eAAeD,UAAiE,cAA9BiB,EAAKhB,eAAeppE,OAC1C,KAAjCoqE,EAAKhB,eAAeD,UACgC,KAAjDiB,EAAKhB,eAAeI,gBAAgBL,UACU,cAA9CiB,EAAKhB,eAAeI,gBAAgBxpE,OAC1C,CACE,MAAM+wF,EAAO3mB,EAAKqlB,gBACZkqG,EAAqC,GAC3C,IAAIC,GAAyB,EAEP,KAAlB7oG,EAAK5nB,SACLwwH,EAAiB57L,KAAKgzF,GACG,KAAlBA,EAAK5nB,SACZ4nB,EAAKzlE,QAAQtD,SAASioK,IAEa,KAA3BA,EAAc9mH,UACmB,IAAjC8mH,EAAcrmH,QAAQlsE,QACgB,KAAtCuyL,EAAcrmH,QAAQ,GAAGT,SAEzBwwH,EAAiB57L,KAAKkyL,GAEtB2J,GAAyB,KAGR,KAAlB7oG,EAAK5nB,SACZ4nB,EAAK3lB,YAAYpjD,SAAS0xK,IAEU,KAA5BA,EAAevwH,UACmB,IAAlCuwH,EAAe9vH,QAAQlsE,QACgB,KAAvCg8L,EAAe9vH,QAAQ,GAAGT,SAE1BwwH,EAAiB57L,KAAK27L,GAEtBE,GAAyB,KAIjCA,GAAyB,EAGzBA,GACAl3L,KAAKm3L,wBAAwBF,GAKzC,OAAO,EAGFvmG,0BAA0BhpB,GAG/B1nE,KAAKo2L,0BAAyB,KAE1Bp2L,KAAK+vF,KAAKroB,EAAKqlB,oBAGnB,MAAMqqG,ExC9LP,SACH1vH,GAKA,IAAIwlH,GAAuB,EACvBjkH,EAAiCquB,GAAuB5vB,GAE5D,UAAmB5oE,IAAZmqE,GACH,OAAQA,EAAQxC,UACZ,KAAK,GACL,KAAK,GACL,KAAK,GACD,OAAOwC,EAEX,KAAK,GACD,OAAOikH,OAAuBpuL,EAAYmqE,EAE9C,KAAK,GACDikH,GAAuB,EACvBjkH,EAAUquB,GAAuBruB,EAAQ9jC,QACzC,MAEJ,QACI,QwCqKe,CAAwDuiC,GAC/E,GAAK0vH,EAGE,CAKH,MAAMC,EAAiB,GAA0BD,GAKjD,IAAIrG,EAA8B/wL,KAAKu0L,cACvC,KAAOxD,GAAYA,IAAasG,GAAgB,CAE5C,GADoBtG,EAASnjE,aAAalmD,EAAKr7D,KAAK/O,OACnC,CACb0C,KAAKq5K,UACDznD,GAAUv4F,WAAWmgG,8BAA8BnoH,OAAO,CAAEhF,KAAMq7D,EAAKr7D,KAAK/O,QAC5EoqE,EAAKr7D,MAET,MAGJ0kL,EAAWA,EAAS5rJ,OAGxBnlC,KAAKo1L,iBAAiBiC,EAAgB3vH,EAAKr7D,KAAK/O,OAChD0C,KAAK+2L,sCAAsCrvH,EAAKr7D,KAAMq7D,EAAKqlB,iBAC3D/sF,KAAKq1L,iCAAiC3tH,EAAKr7D,MAAwB,GAAoB,QA5BvFrM,KAAKq5K,UAAUznD,GAAUv4F,WAAWkgG,wBAAyB7xD,GAC7D1nE,KAAK+vF,KAAKroB,EAAKr7D,MA8BnB,OAAO,EAGFskF,yBAAyBjpB,GAS9B,GARA1nE,KAAK+vF,KAAKroB,EAAKhB,gBACf1mE,KAAK+vF,KAAKroB,EAAKqlB,iBAEf/sF,KAAK22L,8BAA8BjvH,EAAK2lB,gBACxCrtF,KAAKq1L,iCAAiC3tH,EAAK2lB,gBAAkC,GAAqB,GAK5E,IAAlB3lB,EAAKmlB,UACuB,IAA5B7sF,KAAKu0L,cAAcv1L,MACc,KAAjC0oE,EAAKhB,eAAeD,UACU,YAA9BiB,EAAKhB,eAAeppE,MACtB,CACE,MAAM+wF,EAAO3mB,EAAKqlB,gBAClB,IAAIupG,GAAuB,EAE3B,GAAsB,KAAlBjoG,EAAK5nB,SAEL4nB,EAAKzlE,QAAQtD,SAASioK,I,MAEa,KAA3BA,EAAc9mH,UACmB,IAAjC8mH,EAAcrmH,QAAQlsE,QACgB,KAAtCuyL,EAAcrmH,QAAQ,GAAGT,WAEL,QAApB,EAAAzmE,KAAK80L,uBAAe,SAAEz5L,KAAKkyL,EAAcrmH,QAAQ,GAAG5pE,OACpD0C,KAAK4zL,sBAAsBv4L,KAAKkyL,EAAcrmH,QAAQ,QAG9DovH,GAAuB,OACpB,GACe,KAAlBjoG,EAAK5nB,UAC4B,KAAjC4nB,EAAK3nB,eAAeD,UACM,YAA1B4nB,EAAKhnB,WAAW/pE,MAClB,CAEE,MAAMk5L,EAAax2L,KAAKy2L,6BAA6BpoG,EAAK3nB,eAAeppE,OACrEk5L,IACAA,EAAWlxK,SAASjZ,I,MACI,QAApB,EAAArM,KAAK80L,uBAAe,SAAEz5L,KAAKgR,MAG/BiqL,GAAuB,GAI3BA,IACAt2L,KAAK6zL,+BAAgC,EAErC7zL,KAAKg1L,eACDh1L,KAAKk0L,UAAU1/D,kBAAkB0xC,2BACjCxpD,GAAewpD,2BACft0C,GAAUv4F,WAAWw7G,gCACrBntE,IAKZ,OAAO,EAGF0pB,SAAS1pB,GAOd,OANAA,EAAKgB,YAAYpjD,SAAS+oE,IACtBruF,KAAK22L,8BAA8BtoG,GACnCruF,KAAK+vF,KAAK1B,GACVruF,KAAKq1L,iCAAiChnG,GAAwB,GAAqB,OAGhF,EAGFgG,oBAAoB3sB,GACzB,GAAI1nE,KAAK02L,wCAAwChvH,GAC7C,OAAO,EAKX1nE,KAAK+vF,KAAKroB,EAAKslB,gBACfhtF,KAAKs3L,oCAELt3L,KAAK22L,8BAA8BjvH,EAAKZ,iBACxC9mE,KAAK42L,+BAA+BlvH,EAAKZ,gBAAiBY,EAAKslB,gBAM/D,MAAMuqG,EAAoD,GAS1D,OARIv3L,KAAKw3L,uBAAuB9vH,EAAKZ,gBAAiBywH,IAClDA,EAAejyK,SAAS+oE,IACpB,MAAMopG,EAAerwH,GAAsBinB,GAC3CruF,KAAK40L,iCAAkChvK,IAAI6xK,MAInDz3L,KAAK+vF,KAAKroB,EAAKZ,kBACR,EAGFmrB,SAASvqB,GACd1nE,KAAK22L,8BAA8BjvH,EAAK2jB,kBACxCrrF,KAAK+2L,sCAAsCrvH,EAAK2jB,iBAAkB3jB,GAElE1nE,KAAK+vF,KAAKroB,EAAK4jB,oBAEf,MAAMosG,EAAc13L,KAAK23L,mBACnBC,EAAe53L,KAAK81L,qBACpB+B,EAAe73L,KAAK81L,qBAoB1B,GAlBA91L,KAAK+1L,eAAe2B,EAAa13L,KAAKw0L,kBACtCx0L,KAAKw0L,iBAAmBkD,EACxB13L,KAAK+1L,eAAe6B,EAAc53L,KAAKw0L,kBACvCx0L,KAAKq1L,iCAAiC3tH,EAAK2jB,kBAAoC,GAAoB,GAEnGrrF,KAAK83L,mBAAmBJ,EAAaG,GAAc,KAC/C73L,KAAK+vF,KAAKroB,EAAK6jB,UACfvrF,KAAK+1L,eAAe2B,EAAa13L,KAAKw0L,qBAG1Cx0L,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiB2B,GAC1ClwH,EAAKujB,WACLjrF,KAAK+vF,KAAKroB,EAAKujB,WAEnBjrF,KAAK+1L,eAAe8B,EAAc73L,KAAKw0L,kBAEvCx0L,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiB4B,GAE1CnwH,EAAK8zG,WAAY,CACjB,MAAMuc,EAAoB,GAAoCrwH,GACzDqwH,GAAsBA,EAAkBnhG,SACzC52F,KAAKq5K,UAAUznD,GAAUv4F,WAAWugG,0BAA2BlyD,EAAK8zG,YAI5E,OAAO,EAGFtqF,cAAcxpB,GAOnB,OANI1nE,KAAKg4L,wBACLh4L,KAAK+1L,eAAe/1L,KAAKg4L,uBAAwBh4L,KAAKw0L,kBAE1Dx0L,KAAKw0L,iBAAmBpB,GAAO6E,sBAGxB,EAGFnnG,WAAWppB,GAOhB,OANI1nE,KAAKk4L,qBACLl4L,KAAK+1L,eAAe/1L,KAAKk4L,oBAAqBl4L,KAAKw0L,kBAEvDx0L,KAAKw0L,iBAAmBpB,GAAO6E,sBAGxB,EAGF3kG,YAAY5rB,GAoBjB,OAnBI1nE,KAAK41L,6BACA51L,KAAK41L,2BAA2BuC,mBACjCn4L,KAAK41L,2BAA2BuC,iBAAmB,IAEvDn4L,KAAK41L,2BAA2BuC,iBAAiB98L,KAAKqsE,IAGtDA,EAAK6rB,kBACLvzF,KAAK+vF,KAAKroB,EAAK6rB,kBAGnB,GAA6B7rB,EAAM1nE,KAAKw0L,kBACpCx0L,KAAK61L,sBACL71L,KAAK+1L,eAAe/1L,KAAK61L,qBAAsB71L,KAAKw0L,kBAExDx0L,KAAKwzL,gBAAgBluK,SAASzf,IAC1B7F,KAAK+1L,eAAelwL,EAAQ7F,KAAKw0L,qBAErCx0L,KAAKw0L,iBAAmBpB,GAAO6E,sBACxB,EAGFtjG,WAAWjtB,GAMhB,OALI1nE,KAAKo4L,uBAAuB1wH,GAAoC,IAChE1nE,KAAKq5K,UAAUznD,GAAUv4F,WAAWu8G,uBAAwBluE,GAGhE1nE,KAAKq4L,WAAW3wH,IACT,EAGFktB,eAAeltB,GAMpB,OALI1nE,KAAKo4L,uBAAuB1wH,GAAoC,IAChE1nE,KAAKq5K,UAAUznD,GAAUv4F,WAAWu8G,uBAAwBluE,GAGhE1nE,KAAKq4L,WAAW3wH,IACT,EAGFirB,kBAAkBjrB,GAEvB,OADA,GAA6BA,EAAM1nE,KAAKw0L,mBACjC,EAGF1hG,UAAUprB,GAIf,OAHA,GAA6BA,EAAM1nE,KAAKw0L,mBAGjC,EAGF1iG,WAAWpqB,GAEhB,OADA,GAA6BA,EAAM1nE,KAAKw0L,mBACjC,EAGF/iG,QAAQ/pB,GACb,MAAM4wH,EAAgBt4L,KAAKw0L,iBACrB+D,EAAYv4L,KAAK81L,qBACjB0C,EAAYx4L,KAAK81L,qBACjB2C,EAAcz4L,KAAK81L,mBAAmBwC,GAkC5C,OAhCAG,EAAYC,oBAAsB14L,KAAK24L,2BAA0B,KAG7D,MAAMC,EAAiB,GACnBlxH,EAAKqjB,eACL/qF,KAAKk0L,UAAU2E,qBACf74L,KAAKw4K,qBACLx4K,KAAKyzL,mBAGTzzL,KAAK84L,iBAAiBpxH,EAAKqjB,eAAgBwtG,EAAWC,GAGtDx4L,KAAKw0L,kBACkB,IAAnBoE,EAA2BxF,GAAO6E,qBAAuBj4L,KAAKi2L,iBAAiBsC,GACnFv4L,KAAK+vF,KAAKroB,EAAKsjB,SACfhrF,KAAK+1L,eAAe0C,EAAaz4L,KAAKw0L,kBAKtCx0L,KAAKw0L,kBACkB,IAAnBoE,EAA0BxF,GAAO6E,qBAAuBj4L,KAAKi2L,iBAAiBuC,GAC9E9wH,EAAKujB,UACLjrF,KAAK+vF,KAAKroB,EAAKujB,WAEfjrF,KAAK+4L,oBAAoBrxH,EAAKqjB,eAAgB0tG,GAAkC,GAEpFz4L,KAAK+1L,eAAe0C,EAAaz4L,KAAKw0L,kBACtCx0L,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiBwC,OAG3C,EAGFjkG,WAAW9sB,GAChB,MAAM6wH,EAAYv4L,KAAK81L,qBACjB0C,EAAYx4L,KAAK81L,qBACjBkD,EAAiBh5L,KAAK81L,qBAItB8C,EAAiB,GACnBlxH,EAAKqjB,eACL/qF,KAAKk0L,UAAU2E,qBACf74L,KAAKw4K,qBACLx4K,KAAKyzL,mBAGHwF,EAAej5L,KAAK23L,mBAqB1B,OApBA33L,KAAK+1L,eAAekD,EAAcj5L,KAAKw0L,kBACvCx0L,KAAKw0L,iBAAmByE,EAExBj5L,KAAK84L,iBAAiBpxH,EAAKqjB,eAAgBwtG,EAAWC,GAGtDx4L,KAAKw0L,kBACkB,IAAnBoE,EAA2BxF,GAAO6E,qBAAuBj4L,KAAKi2L,iBAAiBsC,GACnFv4L,KAAK83L,mBAAmBmB,EAAcD,GAAgB,KAClDh5L,KAAK+vF,KAAKroB,EAAKyjB,eAEnBnrF,KAAK+1L,eAAekD,EAAcj5L,KAAKw0L,kBAEvCx0L,KAAKw0L,kBACkB,IAAnBoE,EAA0BxF,GAAO6E,qBAAuBj4L,KAAKi2L,iBAAiBuC,GAC9E9wH,EAAKujB,WACLjrF,KAAK+vF,KAAKroB,EAAKujB,WAEnBjrF,KAAK+1L,eAAeiD,EAAgBh5L,KAAKw0L,kBACzCx0L,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiB+C,IACvC,EAGF1oG,YAAY5oB,GACjB,MAAMwxH,EAAkBl5L,KAAK81L,qBACvBqD,EAAmBn5L,KAAK81L,qBAU9B,OARA91L,KAAK84L,iBAAiBpxH,EAAKqjB,eAAgBmuG,EAAiBC,GAExDzxH,EAAK6oB,sBACLvwF,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiBkD,GAC9Cn5L,KAAK+vF,KAAKroB,EAAK6oB,sBAGnBvwF,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiBiD,IACvC,EAGFnnG,YAAYrqB,GAKjB,GAJIA,EAAKsqB,gBACLhyF,KAAK+vF,KAAKroB,EAAKsqB,gBAGftqB,EAAKr7D,KAAM,CACXrM,KAAK+vF,KAAKroB,EAAKr7D,MACf,MAAMsuE,EAAS36E,KAAKo1L,iBAAiBp1L,KAAKu0L,cAAe7sH,EAAKr7D,KAAK/O,OAGnE,GAFA0C,KAAKq1L,iCAAiC3tH,EAAKr7D,MAAwB,GAAoB,GAEnFsuE,EAAQ,CACR,MAAM3S,EAAmC,CACrChpE,KAAM,EACN0oE,KAAMA,EAAKr7D,KACX8lJ,WAAY1oF,GAAe/B,EAAKr7D,KAAK/O,OACrC47G,mBAAoBxxC,EACpB34D,KAAM/O,KAAKk0L,UAAUr4H,SACrBpvD,MAAO84D,GAAsBmC,EAAKr7D,KAAKvQ,MAAO0oE,GAAUmB,OAAO+B,EAAKr7D,MAAOrM,KAAKk0L,UAAU1sI,OAC1FwjB,WAAYhrE,KAAKk0L,UAAUlpH,WAC3BuxB,gBAAiBv8F,KAAK8zL,kBAE1Bn5G,EAAOm+B,eAAe9wC,IAI9B,MAAMoxH,EAAmBp5L,KAAK8zL,iBAW9B,OAVA9zL,KAAK8zL,kBAAmB,EACxB9zL,KAAK+vF,KAAKroB,EAAKokB,aACf9rF,KAAK8zL,iBAAmBsF,EAEpB1xH,EAAKr7D,MAGLrM,KAAK21L,sBAAsBjuH,EAAKr7D,MAAoB,IAGjD,EAGF+mF,WAAW1rB,GAuBhB,OAtBI1nE,KAAK41L,6BACA51L,KAAK41L,2BAA2ByD,kBACjCr5L,KAAK41L,2BAA2ByD,gBAAkB,IAEtDr5L,KAAK41L,2BAA2ByD,gBAAgBh+L,KAAKqsE,IAGrDA,EAAKsqB,gBACLhyF,KAAK+vF,KAAKroB,EAAKsqB,gBAEftqB,EAAKZ,iBACL9mE,KAAK+vF,KAAKroB,EAAKZ,iBAEfY,EAAK2rB,qBACLrzF,KAAK+vF,KAAKroB,EAAK2rB,qBAGnBrzF,KAAKwzL,gBAAgBluK,SAASzf,IAC1B7F,KAAK+1L,eAAelwL,EAAQ7F,KAAKw0L,qBAGrCx0L,KAAKw0L,iBAAmBpB,GAAO6E,sBACxB,EAGF9jG,SAASzsB,GAqCd,MAAM4xH,EAAiBt5L,KAAKw0L,iBACtB+E,EAAmB7xH,EAAKkkB,cAAc9nE,KAAI,IAAM9jB,KAAK81L,uBACrD0D,EAAkBx5L,KAAK81L,mBAAmBwD,GAChD,IAAIG,GAAiC,EAKrC,MAAMC,EAA+B15L,KAAK81L,mBAAmBwD,GAEvDK,EAAqC,CACvCzwH,MAAOzE,GAAUm1H,eACjBh9K,GAAI0pD,KACJuzH,WAAYH,EACZI,cAAc,GAgElB,GA7DAN,EAAgBd,oBAAsB14L,KAAK24L,2BAA0B,KAC7DjxH,EAAK0sB,cACLp0F,KAAK+1L,eAAeyD,EAAiBG,GAKbjyH,EAAKkkB,cAAcn9B,MAAMsrI,IAAYA,EAAO/nG,kBAEpEunG,EAAiBl+L,KAAKq+L,GAM1BH,EAAiBj0K,SAAS00K,IACtBh6L,KAAK+1L,eAAeiE,EAAah6L,KAAKw0L,qBAQtC9sH,EAAK0sB,cACLp0F,KAAKwzL,gBAAgBn4L,KAAKq+L,GAI9B15L,KAAKi6L,kBAAkBV,GAAkB,KACrCv5L,KAAK+vF,KAAKroB,EAAKikB,aAKfjkB,EAAKujB,WACLjrF,KAAK+vF,KAAKroB,EAAKujB,WAEnBjrF,KAAK+1L,eAAeyD,EAAiBx5L,KAAKw0L,kBACrCx0L,KAAKk6L,uBACNT,GAAiC,GAIrC/xH,EAAKkkB,cAActmE,SAAQ,CAACw8J,EAAY33J,KACpCnqB,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiBsD,EAAiBpvK,IAC/DnqB,KAAK+vF,KAAK+xF,GACV9hL,KAAK+1L,eAAeyD,EAAiBx5L,KAAKw0L,kBACrCx0L,KAAKk6L,uBACNT,GAAiC,MAIrC/xH,EAAK0sB,cACLp0F,KAAKwzL,gBAAgBv5I,MAIzBj6C,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiBuD,MAG9C9xH,EAAK0sB,aAAc,CACnBp0F,KAAK+vF,KAAKroB,EAAK0sB,cAIf,MAAM+lG,EAAmC,CACrCjxH,MAAOzE,GAAU21H,YACjBx9K,GAAI0pD,KACJ+zH,YAAa3yH,EAAK0sB,aAClBylG,WAAY75L,KAAKw0L,iBACjBmF,kBAEJ35L,KAAKw0L,iBAAmBiF,EAAiCU,EAAkB/G,GAAO6E,qBAMtF,OAFAj4L,KAAKi0L,6BAA+B,GAE7B,EAGFrjG,WAAWlpB,G,MAEhB,MAAMqwH,EAAoB,GAAoCrwH,GAC9D,QAA0B5oE,IAAtBi5L,IAAoCA,EAAkBnhG,QAAS,CAC/D,GAAI52F,KAAKk0L,UAAUoG,oBAAuCx7L,IAAtBi5L,EAEhC,OAAO,EAMc,MAAV,QAAX,EAAArwH,EAAKviC,cAAM,eAAEshC,WACbzmE,KAAKq5K,UAAUznD,GAAUv4F,WAAWygG,kBAAmBpyD,GAI/D,OAAO,EAGF2qB,YAAY3qB,GACjB,MAAM6yH,EAAcv6L,KAAKu0L,cAAczD,iBAyBvC,OAvBAppH,EAAKmnB,SAASvpE,SAASjZ,IACnB,MAAM0gK,EAAY1gK,EAAK/O,MAG8B,IAAjD0C,KAAKu0L,cAAcjD,eAAevkB,IAClC/sK,KAAKq5K,UAAUznD,GAAUv4F,WAAW+uG,uBAAuB/2H,OAAO,CAAEhF,KAAM0gK,IAAc1gK,GAG5F,MAAMmuL,EAAiBx6L,KAAKu0L,cAAc5yC,sBAAsBorB,GAG5DytB,GAAkBA,EAAe3yH,QAAU7nE,KAAKu0L,eAChDv0L,KAAKq5K,UAAUznD,GAAUv4F,WAAWkqG,qBAAqBlyH,OAAO,CAAEhF,KAAM0gK,IAAc1gK,GAI1FrM,KAAKo1L,iBAAiBmF,EAAaxtB,GAE/B/sK,KAAKu0L,gBAAkBgG,GACvBv6L,KAAKu0L,cAAchD,eAAexkB,EAAW,OAI9C,EAGFh6E,cAAcrrB,GACnB,MAAM6yH,EAAcv6L,KAAKu0L,cAAczD,iBA4BvC,OA1BI9wL,KAAKu0L,gBAAkBgG,EACvBv6L,KAAKq5K,UAAUznD,GAAUv4F,WAAWgvG,mBAAoB3gE,GAExDA,EAAKmnB,SAASvpE,SAASjZ,IACnB,MAAM0gK,EAAY1gK,EAAK/O,MAG8B,IAAjD0C,KAAKu0L,cAAcjD,eAAevkB,IAClC/sK,KAAKq5K,UAAUznD,GAAUv4F,WAAWmqG,qBAAqBnyH,OAAO,CAAEhF,KAAM0gK,IAAc1gK,GAG1F,MAAMmuL,EAAiBx6L,KAAKu0L,cAAc5yC,sBAAsBorB,GAG5DytB,GAAkBA,EAAe3yH,QAAU7nE,KAAKu0L,cAChDv0L,KAAKq5K,UAAUznD,GAAUv4F,WAAW8uG,uBAAuB92H,OAAO,CAAEhF,KAAM0gK,IAAc1gK,GAChFmuL,GAAkBA,EAAe3yH,QAAU0yH,GACnDv6L,KAAKq5K,UAAUznD,GAAUv4F,WAAW6uG,oBAAoB72H,OAAO,CAAEhF,KAAM0gK,IAAc1gK,GAGrFmuL,GACAx6L,KAAKu0L,cAAchD,eAAexkB,EAAW,OAKlD,EAGFp7E,cAAcjqB,G,gBACnB,GAAIA,EAAK51D,OAAO49D,UAAU10E,OAAS,EAAG,CAClC,MAAMsqL,EAAqB59G,EAAK51D,OAAO49D,UAAU,GAAGpyE,MAEpD,IAAIw1D,EAGAA,EAFA4U,EAAKyE,MAEQzE,EAAKyE,MAAM7uE,MAIXgoL,EAGjB,MAAM3qG,EAAS36E,KAAKo1L,iBAAiBp1L,KAAKu0L,cAAezhI,IAErD6nB,GAC6B,IAA5B36E,KAAKu0L,cAAcv1L,MAAyD,IAA5BgB,KAAKu0L,cAAcv1L,MAClE0oE,EAAKyE,OAC8B,IAAjCzE,EAAK51D,OAAO49D,UAAU10E,QACtB0sE,EAAK51D,OAAO49D,UAAU,GAAGpyE,QAAUoqE,EAAKyE,MAAM7uE,QAE9C0C,KAAKk0L,UAAUt/G,YAAc50E,KAAKk0L,UAAUtnB,qBAK5C5sK,KAAK+zL,wBAAwB5uL,IAAI2tD,EAAY6nB,GAIrD,MAAMhT,EAAa,GAA+BD,EAAK51D,QACvDggD,OAAsBhzD,IAAf6oE,GAEHgT,GACA36E,KAAKy6L,8CAA8C/yH,EAAMA,EAAKyE,MAAOxE,EAAYgT,GAGrF36E,KAAK21L,sBAAsBjuH,EAAKyE,MAAQzE,EAAKyE,MAAQzE,EAAK51D,OAAO49D,UAAU,IAEtC,IAAjChI,EAAK51D,OAAO49D,UAAU10E,SACK,WAAvBsqL,GAA0D,sBAAvBA,EACnCtlL,KAAKw4K,qBAAqBn9K,KAAsB,QAAjB,EAAU,QAAV,EAAAqsE,EAAKyE,aAAK,eAAE7uE,aAAK,QAAIgoL,GACtB,QAAvBA,EACPtlL,KAAKyzL,kBAAkBp4L,KAAsB,QAAjB,EAAU,QAAV,EAAAqsE,EAAKyE,aAAK,eAAE7uE,aAAK,QAAIgoL,GACnB,gBAAvBA,GACPtlL,KAAK0zL,0BAA0Br4L,KAAsB,QAAjB,EAAU,QAAV,EAAAqsE,EAAKyE,aAAK,eAAE7uE,aAAK,QAAIgoL,IAKrE,OAAO,EAGF1zF,gBAAgBlqB,GACrB,MAAM69G,EAA0B,CAAC,QAAS,YAAa,WAAY,WAAY,cAAe,aACxFmV,EAA+B,CAAC,WAChC/yH,EAAa,GAA+BD,EAAK51D,QAEvD,IAAInC,EAAe,GACfg4D,GAAcA,EAAWiD,gBAAkBjD,EAAWkN,cACtDllE,EAAeg4D,EAAWkD,cAAclD,EAAWkD,cAAc7vE,OAAS,IAS9E,MAAMu9D,EAAWI,GAAmBD,GAAY14D,KAAKk0L,UAAUr4H,WACzD8+H,EACW,aAAbpiI,GAAuD,IAA5BmP,EAAK51D,OAAO29D,aAAsD,IAAjC/H,EAAK51D,OAAO49D,UAAU10E,OAEtF,IAAIqqL,GAAiB,EACjBuV,GAAsB,EAE1B,GAAqC,IAAjClzH,EAAK51D,OAAO49D,UAAU10E,OAAc,CACpC,MAAMsqL,EAAqB59G,EAAK51D,OAAO49D,UAAU,GAAGpyE,MACzB,WAAvBgoL,GAA0D,sBAAvBA,IACnCD,GAAiB,GAGM,gBAAvBC,IACAsV,GAAsB,GAI9B,GAAIlzH,EAAKsE,kBAKL,IAJI,GAAiCtE,IAAS,GAAoCA,KAC9E1nE,KAAKq5K,UAAUznD,GAAUv4F,WAAWi8G,qBAAsB5tE,GAG1DC,EAAY,CACZ,MAAMoB,EAAkB,GAElB8xH,EAAa76L,KAAKk0L,UAAU5oB,aAAa37J,GAC/C,GAAIkrL,EAAY,CACZ,MAAMC,EAAgB96L,KAAK+6L,wBAAwBF,GAE/CF,IAG8BG,EAAcrsI,MAAMpiD,GACvCA,IAASq7D,EAAK51D,OAAO49D,UAAU,GAAGpyE,SAIzC0C,KAAKg7L,uBAAuBtzH,EAAMC,IAI1CmzH,EAAcx1K,SAASjZ,IACnB,MAAM4uL,EAAcj7L,KAAKo1L,iBAAiBp1L,KAAKu0L,cAAeloL,GAE9D,GAAI4uL,EAKA,GAJuBJ,EAAWptF,YAAYlpG,IAAI8H,GAI9B,CAChB,MAAMw1I,EAA8B,CAChC7iJ,KAAM,EACN0oE,OACA34D,KAAMY,EACN2sF,qBAAqB,EACrB7vF,M1D54CzB,CACH3Q,MA1CG,CACHo+B,KAAM,EACNC,UAAW,GAyCXp+B,IA3CG,CACHm+B,KAAM,EACNC,UAAW,I0Do7CiBshE,eAAe,EACf3oC,WAAYzmD,EACZ2+D,WAAYhrE,KAAKk0L,UAAUlpH,WAC3BuxB,gBAAiBv8F,KAAK8zL,kBAE1BmH,EAAYniF,eAAe+oC,GAC3B94E,EAAM1tE,KAAKgR,QAIX,GAAIs7D,GAAcA,EAAWmN,wBAAyB,CAClD,MAAM1J,EAAiBzD,EAAWmN,wBAAwBvJ,MACrD6jF,GAAQA,EAAI/iJ,OAASA,IAG1B,GAAI++D,EAAgB,CAChB,MAAMm0F,EAAsC,CACxCvgK,KAAM,EACN0oE,OACA34D,KAAMq8D,EAAer8D,KACrButF,qBAAqB,EACrB7vF,M1Dl6CjC,CACH3Q,MA1CG,CACHo+B,KAAM,EACNC,UAAW,GAyCXp+B,IA3CG,CACHm+B,KAAM,EACNC,UAAW,I0D08CyBshE,eAAe,EACfzwB,WAAYhrE,KAAKk0L,UAAUlpH,WAC3BuxB,gBAAiBv8F,KAAK8zL,kBAGpBjyC,EAA8B,CAChC7iJ,KAAM,EACN0oE,OACA34D,KAAMY,EACN2sF,qBAAqB,EACrBb,eAAe,EACf3oC,WAAYzmD,EACZkzJ,oBACA9yJ,M1Dh7CjC,CACH3Q,MA1CG,CACHo+B,KAAM,EACNC,UAAW,GAyCXp+B,IA3CG,CACHm+B,KAAM,EACNC,UAAW,I0Dw9CyB6wC,WAAYhrE,KAAKk0L,UAAUlpH,WAC3BuxB,gBAAiBv8F,KAAK8zL,kBAG1BmH,EAAYniF,eAAe+oC,QAQnD7hJ,KAAKk7L,0BAA0BxzH,EAAMqB,GAEjCs8G,GACAE,EAAwBjgK,SAAS9W,IAC7BxO,KAAKy4K,qBAAqBtzK,IAAIqJ,EAAGA,MAIrCosL,GACAF,EAA6Bp1K,SAAS9W,IAClCxO,KAAK2zL,0BAA0BxuL,IAAIqJ,EAAGA,YAK9CmsL,GACA36L,KAAKg7L,uBAAuBtzH,EAAMC,GAGtCD,EAAK4D,QAAQhmD,SAAS61K,IAClB,MAAMC,EAAeD,EAAiB9uL,KAAK/O,MACrC06J,EAAWmjC,EAAiBhvH,OAASgvH,EAAiB9uL,KACtDsuE,EAAS36E,KAAKo1L,iBAAiBp1L,KAAKu0L,cAAev8B,EAAS16J,OAElE,GAAIq9E,EAAQ,CAwBR,IAAIvP,EAKAm0F,EA1BA73F,EAAK51D,OAAO49D,UAAU10E,OAAS,IAEC,IAA5BgF,KAAKu0L,cAAcv1L,MACS,IAA5BgB,KAAKu0L,cAAcv1L,MAGdm8L,EAAiBhvH,OAClBgvH,EAAiBhvH,MAAM7uE,QAAU69L,EAAiB9uL,KAAK/O,QAEnD0C,KAAKk0L,UAAUt/G,YAAc50E,KAAKk0L,UAAUtnB,qBAK5C5sK,KAAK+zL,wBAAwB5uL,IAAI6yJ,EAAS16J,MAAOq9E,IAQ7DhT,GAAcA,EAAWmN,0BACzB1J,EAAiBzD,EAAWmN,wBAAwBvJ,MAAM6jF,GAAQA,EAAI/iJ,OAAS+uL,KAInF,IAAI9+F,GAAsB,EACtBlxB,IACAm0F,EAAoB,CAChBvgK,KAAM,EACN0oE,KAAMyzH,EACNpsL,KAAMq8D,EAAer8D,KACrButF,qBAAqB,EACrB7vF,M1D1/CjB,CACH3Q,MA1CG,CACHo+B,KAAM,EACNC,UAAW,GAyCXp+B,IA3CG,CACHm+B,KAAM,EACNC,UAAW,I0DkiDSshE,eAAe,EACfzwB,WAAYhrE,KAAKk0L,UAAUlpH,WAC3BuxB,gBAAiBv8F,KAAK8zL,kBAOT,aAAbv7H,GAC4B,IAA5BmP,EAAK51D,OAAO29D,aACqB,IAAjC/H,EAAK51D,OAAO49D,UAAU10E,SAEtBshG,GAAsB,IAI9B,MAAMulD,EAA8B,CAChC7iJ,KAAM,EACN0oE,KAAMyzH,EACNpsL,KAAMY,EACN2sF,sBACAb,gBAAiB0/F,EAAiBhvH,MAClCrZ,WAAYsoI,EACZ77B,oBACA9yJ,M1DphDb,CACH3Q,MA1CG,CACHo+B,KAAM,EACNC,UAAW,GAyCXp+B,IA3CG,CACHm+B,KAAM,EACNC,UAAW,I0D4jDK6wC,WAAYhrE,KAAKk0L,UAAUlpH,WAC3BuxB,gBAAiBv8F,KAAK8zL,iBACtBj/G,YAAalN,aAAU,EAAVA,EAAYkN,aAG7B8F,EAAOm+B,eAAe+oC,GACtB7hJ,KAAK21L,sBAAsBwF,EAAiBhvH,OAASgvH,EAAiB9uL,MAElEg5K,GACIE,EAAwB92H,MAAMjgD,GAAMA,IAAM2sL,EAAiB9uL,KAAK/O,SAChE0C,KAAKy4K,qBAAqBtzK,IAAI6yJ,EAAS16J,MAAO69L,EAAiB9uL,KAAK/O,OAIxEs9L,GACIF,EAA6BjsI,MAAMjgD,GAAMA,IAAM2sL,EAAiB9uL,KAAK/O,SACrE0C,KAAK2zL,0BAA0BxuL,IAAI6yJ,EAAS16J,MAAO69L,EAAiB9uL,KAAK/O,WAO7F,OAAO,EAGFm3F,UAAU/sB,GACfA,EAAK+kB,UAAUnnE,SAAS0C,IACpBhoB,KAAK+vF,KAAK/nE,EAAK+pC,YACX/pC,EAAKniB,SACL7F,KAAK22L,8BAA8B3uK,EAAKniB,QACxC7F,KAAK+2L,sCAAsC/uK,EAAKniB,OAAQmiB,GACxDhoB,KAAKq1L,iCAAiCrtK,EAAKniB,QAA0B,GAAoB,OA6BjG,MAAMw1L,EAAuCr7L,KAAKs7L,2BAC9C5zH,EAAK+kB,UAAU3oE,KAAKkE,GAASA,EAAK+pC,eAChC2V,EAAKkvB,SACyB,GAEpC52F,KAAK+1L,eAAesF,EAAsCr7L,KAAKw0L,kBAE/D,MAAM+G,EAAuCv7L,KAAKs7L,2BAC9C5zH,EAAK+kB,UAAU3oE,KAAKkE,GAASA,EAAK+pC,eAChC2V,EAAKkvB,SACyB,GAEpC52F,KAAKuzL,sBAAsBjuK,SAASk2K,IAChCx7L,KAAK+1L,eAAeyF,EAAiBD,MAGzC,MAAME,EAAmBz7L,KAAKw0L,iBACxBkH,EAA0B17L,KAAK81L,mBAAmB2F,GAwBxD,OAvBAz7L,KAAK+1L,eAAe2F,EAAyBL,GAE7CK,EAAwBhD,oBAAsB14L,KAAK24L,2BAA0B,KAazE,GAZA34L,KAAKi6L,kBAAkB,CAACoB,EAAsCE,IAAuC,KACjGv7L,KAAK+vF,KAAKroB,EAAKukB,UAGnBjsF,KAAK+1L,eAAe2F,EAAyB17L,KAAKw0L,kBAClDx0L,KAAKw0L,iBAAmBkH,EAGnB17L,KAAKk6L,sBACNl6L,KAAK27L,kBAAkB37L,KAAKw0L,kBAG5B9sH,EAAK8zG,WAAY,CACjB,MAAMuc,EAAoB,GAAoCrwH,GACzDqwH,GAAsBA,EAAkBnhG,SACzC52F,KAAKq5K,UAAUznD,GAAUv4F,WAAWugG,0BAA2BlyD,EAAK8zG,iBAKzE,EAGFvnF,aAAavsB,GAClB,MAAMk0H,EAAqB57L,KAAKw0L,iBAC1BqH,EAAY77L,KAAK81L,qBACjBgG,EAAa97L,KAAK81L,qBAClBiG,EAAsB/7L,KAAK81L,mBAAmB8F,GAmBpD,OAjBAG,EAAoBrD,oBAAsB14L,KAAK24L,2BAA0B,KAErE34L,KAAK84L,iBAAiBpxH,EAAKqjB,eAAgB8wG,EAAWC,GAGtD97L,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiB4F,GAC9C77L,KAAK+vF,KAAKroB,EAAK6lB,cACfvtF,KAAK+1L,eAAegG,EAAqB/7L,KAAKw0L,kBAG9Cx0L,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiB6F,GAC9C97L,KAAK+vF,KAAKroB,EAAK8lB,gBACfxtF,KAAK+1L,eAAegG,EAAqB/7L,KAAKw0L,kBAE9Cx0L,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiB8F,OAG3C,EAGFznG,oBAAoB5sB,GAczB,OAbsB,KAAlBA,EAAKmlB,UAAiC7sF,KAAKg8L,qBAAuBh8L,KAAKi8L,mBAEvEj8L,KAAK84L,iBAAiBpxH,EAAK3V,WAAY/xD,KAAKg8L,oBAAqBh8L,KAAKi8L,oBAKtEj8L,KAAKo2L,0BAAyB,KAE1Bp2L,KAAK+vF,KAAKroB,EAAK3V,gBAIhB,EAGF8+B,qBAAqBnpB,GAC1B,GAAsB,KAAlBA,EAAKmlB,UAAmD,KAAlBnlB,EAAKmlB,SAA8B,CACzE,IAEIqvG,EAFAC,EAAan8L,KAAKi8L,mBAClBG,EAAcp8L,KAAKg8L,oBAGlBG,GAAeC,IAChBF,EAAiBl8L,KAAK81L,qBACtBqG,EAAaC,EAAcF,GAG/B,MAAMG,EAAgBr8L,KAAK81L,qBACL,KAAlBpuH,EAAKmlB,SACL7sF,KAAK84L,iBAAiBpxH,EAAKhB,eAAgB21H,EAAeD,GAE1Dp8L,KAAK84L,iBAAiBpxH,EAAKhB,eAAgBy1H,EAAYE,GAE3Dr8L,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiBoG,GAC9Cr8L,KAAK84L,iBAAiBpxH,EAAKqlB,gBAAiBovG,EAAYC,GACpDF,IACAl8L,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiBiG,SAMlDl8L,KAAKo2L,0BAAyB,KAC1Bp2L,KAAK+vF,KAAKroB,EAAKhB,gBACf1mE,KAAK+vF,KAAKroB,EAAKqlB,oBAIvB,OAAO,EAGFyF,uBAAuB9qB,GAC5B,MAAMqwH,EAAoB,GAAoCrwH,GAqD9D,OAnDA1nE,KAAKs0L,gBAAgB,EAA6Bt0L,KAAKw1L,2BAA2B,K,MAC9E,GAA0B9tH,EAAM1nE,KAAKu0L,eAErC,MAAMuH,EAAa97L,KAAK81L,qBAKxB,IAAK,IAAIx7L,EAAI,EAAGA,EAAIotE,EAAKkmB,WAAW5yF,OAAQV,IAAK,CAC7C,MAAMgiM,EAAQ50H,EAAKkmB,WAAWtzF,GACxBiiM,EAAe,IAAIz+K,IACF,KAAnBw+K,EAAM71H,WACNzmE,KAAK22L,8BAA8B2F,EAAMjxG,iBAAkBkxG,GAC3Dv8L,KAAK+2L,sCAAsCuF,EAAMjxG,iBAAkBixG,GAG/DA,EAAM9gB,aACDuc,GAAsBA,EAAkBnhG,SAIhB,MAAV,QAAX,EAAAlvB,EAAKviC,cAAM,eAAEshC,WACbzmE,KAAKq5K,UAAUznD,GAAUv4F,WAAWugG,0BAA2B0iE,EAAM9gB,cAOzF,IAAK,IAAIlhL,EAAI,EAAGA,EAAIotE,EAAKkmB,WAAW5yF,OAAQV,IAAK,CAC7C,MAAMgiM,EAAQ50H,EAAKkmB,WAAWtzF,GAC9B,GAAuB,KAAnBgiM,EAAM71H,SACNzmE,KAAK+vF,KAAKusG,EAAMhxG,oBAEhBtrF,KAAKq1L,iCACDiH,EAAMjxG,kBACY,GACJ,OAEf,CACH,MAAMwwG,EAAY77L,KAAK81L,qBACvB91L,KAAK84L,iBAAiBwD,EAAMvxG,eAAgB8wG,EAAWC,GACvD97L,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiB4F,IAItD77L,KAAK+vF,KAAKroB,EAAK3V,YACf/xD,KAAK+1L,eAAe+F,EAAY97L,KAAKw0L,kBACrCx0L,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiB6F,OAG3C,EAGFhnG,WAAWptB,GAEhB1nE,KAAK+vF,KAAKroB,EAAKsnB,mBAEf,MAAMuoG,EAAoD,GACpDiF,EAAsBx8L,KAAKw3L,uBAAuB9vH,EAAKsnB,kBAAmBuoG,GAC5EiF,GACAjF,EAAejyK,SAAS+oE,IACpB,MAAMopG,EAAerwH,GAAsBinB,GAC3CruF,KAAK40L,iCAAkChvK,IAAI6xK,MAInD,MAAMgF,EAAiBz8L,KAAK81L,qBAC5B,IAAI4G,GAAuB,EA4D3B,OAvDAh1H,EAAKunB,MAAM3pE,SAAS02J,IAChB,MAAM2gB,EAAgB38L,KAAK81L,qBACrB8G,EAAgB58L,KAAK81L,qBACrB+G,EAAgB78L,KAAK81L,qBAG3B91L,KAAK+1L,eAAe6G,EAAe58L,KAAKw0L,kBAEnCxY,EAAc7sF,cAEP6sF,EAAc5sF,kBACtBstG,GAAuB,GAFvB18L,KAAK+1L,eAAe4G,EAAe38L,KAAKw0L,kBAK5Cx0L,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiB2G,GAG9C58L,KAAK+vF,KAAKisF,EAAchmJ,SAEpBwmK,GACAx8L,KAAK88L,4BAA4Bp1H,EAAKsnB,kBAAmBgtF,GAIzDA,EAAc5sF,gBACdpvF,KAAK84L,iBAAiB9c,EAAc5sF,gBAAiBytG,EAAeF,GAEpE38L,KAAK+1L,eAAe8G,EAAe78L,KAAKw0L,kBAG5Cx0L,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiB4G,GAG9C78L,KAAK+vF,KAAKisF,EAAc/vF,OACxBjsF,KAAK+1L,eAAe0G,EAAgBz8L,KAAKw0L,kBAEzCx0L,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiB0G,MAM9CH,IACAx8L,KAAK88L,4BAA4Bp1H,EAAKsnB,kBAAmBtnB,GAIpDg1H,GACD18L,KAAK+8L,0BAA0Br1H,IAIvC1nE,KAAK+1L,eAAe0G,EAAgBz8L,KAAKw0L,kBACzCx0L,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiBwG,IAEvC,EAGFxnG,eAAevtB,GACpB,MAAMs1H,EAAch9L,KAAK81L,qBASzB,GAPApuH,EAAK8nB,WAAWlqE,SAASk4J,IACrBx9K,KAAK+vF,KAAKytF,GACVx9K,KAAK+1L,eAAeiH,EAAah9L,KAAKw0L,qBAG1Cx0L,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiB+G,GAE1Ct1H,EAAK7hE,OAAQ,CACb7F,KAAK+vF,KAAKroB,EAAK7hE,QACf,MAAM80E,EAAS36E,KAAKo1L,iBAAiBp1L,KAAKu0L,cAAe7sH,EAAK7hE,OAAOvI,OAGrE,GAFA0C,KAAKq1L,iCAAiC3tH,EAAK7hE,QAA0B,GAAqB,GAEtF80E,EAAQ,CACR,MAAM3S,EAAmC,CACrChpE,KAAM,EACN0oE,KAAMA,EAAK7hE,OACXssJ,WAAY1oF,GAAe/B,EAAK7hE,OAAOvI,OACvC47G,mBAAoBxxC,EACpB34D,KAAM/O,KAAKk0L,UAAUr4H,SACrBpvD,MAAO84D,GACHmC,EAAK7hE,OAAO/J,MACZ0oE,GAAUmB,OAAO+B,EAAK7hE,QACtB7F,KAAKk0L,UAAU1sI,OAEnBwjB,WAAYhrE,KAAKk0L,UAAUlpH,WAC3BuxB,gBAAiBv8F,KAAK8zL,kBAE1Bn5G,EAAOm+B,eAAe9wC,IAI9B,OAAO,EAGFotB,oBAAoB1tB,GAKzB,OAJKA,EAAKioB,YACN3vF,KAAKi9L,yBAAyBv1H,EAAK7hE,SAGhC,EAGF0vF,+BAA+B7tB,GAKpC,MAJ0B,MAAtBA,EAAK7hE,OAAOvI,OACZ0C,KAAKi9L,yBAAyBv1H,EAAK7hE,SAGhC,EAGH2vL,0BAGJ,IAAIpE,EAAcpxL,KAAKu0L,cACvB,KAA4B,IAArBnD,EAAYpyL,MACfoyL,EAAcA,EAAYjsJ,OAG9B,OAAOisJ,EAGH+F,wBAAwB+F,GAC5BprI,EAAmC,IAA5B9xD,KAAKu0L,cAAcv1L,MAE1B,IAAIm+L,GAAoB,EAExB,IAAK,MAAMC,KAAgBF,EAAe,CACtC,MAAMG,EAAWD,EAAal2H,QAAQ,GAAG5pE,MAEzC,GAAiB,aAAb+/L,EAAyB,CACzBF,GAAoB,EACpB,SAGJ,IAAIxiH,EAAS36E,KAAKu0L,cAAc3mE,aAAayvE,GAC7C,IAAK1iH,EAAQ,CACTA,EAAS36E,KAAKu0L,cAAclD,UACxBgM,EACA,GAEJ,MAAMC,EAA6E,SAAxDt9L,KAAKk0L,UAAU1/D,kBAAkB6vC,mBACxD96F,GAAyB8zH,IAAaC,GACtC3iH,EAAO+9B,qBAIf,MAAM1wC,EAAmC,CACrChpE,KAAM,EACN0oE,KAAM01H,EACNjrC,WAAY1oF,GAAe4zH,GAC3BE,kBAAkB,EAClBxuL,KAAM/O,KAAKk0L,UAAUr4H,SACrBpvD,MAAO84D,GACH63H,EAAathM,MACbshM,EAAathM,MAAQshM,EAAapiM,OAClCgF,KAAKk0L,UAAU1sI,OAEnBwjB,WAAYhrE,KAAKk0L,UAAUlpH,WAC3BuxB,gBAAiBv8F,KAAK8zL,kBAE1Bn5G,EAAOm+B,eAAe9wC,GAGrBm1H,GACDn9L,KAAKu0L,cAAc9C,cAAcyL,EAAcp5K,KAAK4jD,GAASA,EAAKR,QAAQ,GAAG5pE,SAI7E86L,uBAAuB1wH,EAAiB81H,GAA0B,GACtE,IACIpmG,EACAG,EAFAtuB,EAAiCvB,EAIrC,KAAOuB,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,SAA8C,CACtD,GAAI+2H,GAA2Bv0H,EAAQ2kB,WAAW5yF,OAAS,EAAG,CAC1D,MAAMyiM,EAAiBx0H,EAAQ2kB,WAAW,GAC1C,GAAIwJ,IAAaqmG,GAA8C,KAA5BA,EAAeh3H,UAC1C8wB,IAAiBkmG,EAAenyG,mBAChC,OAAO,EAKnB,OAAO,EAGXiM,EAAeH,EACfA,EAAWnuB,EACXA,EAAUA,EAAQ9jC,OAEtB,OAAO,EAGH83J,yBAAyBp3L,GAC7B,MAAM80E,EAAS36E,KAAKo1L,iBAAiBp1L,KAAKu0L,cAAe1uL,EAAOvI,OAGhE,GAFA0C,KAAKq1L,iCAAiCxvL,GAA0B,GAAqB,GAEjF80E,EAAQ,CACR,MAAM3S,EAAmC,CACrChpE,KAAM,EACN0oE,KAAM7hE,EACNssJ,WAAY1oF,GAAe5jE,EAAOvI,OAClC47G,mBAAoBrzG,EAAOs/B,OAC3Bp2B,KAAM/O,KAAKk0L,UAAUr4H,SACrBpvD,MAAO84D,GAAsB1/D,EAAO/J,MAAO0oE,GAAUmB,OAAO9/D,GAAS7F,KAAKk0L,UAAU1sI,OACpFwjB,WAAYhrE,KAAKk0L,UAAUlpH,WAC3BuxB,gBAAiBv8F,KAAK8zL,kBAE1Bn5G,EAAOm+B,eAAe9wC,IAItBiyH,kBAAkByD,EAAsB/pL,GAC5C,MAAMgqL,EAAoB39L,KAAKuzL,sBAC/BvzL,KAAKuzL,sBAAwBmK,EAC7B/pL,IACA3T,KAAKuzL,sBAAwBoK,EAKzBlH,6BAA6BmH,G,MACjC,MAAMC,EAAY79L,KAAKu0L,cAAc3mE,aAAagwE,GAClD,IAAKC,EACD,OAIJ,MAAMh8C,EAAYg8C,EAAUzkF,kBAAkB7tC,MAAMrD,GAAuB,IAAdA,EAAKlpE,OAG5D2Q,GACFkyI,aAAS,EAATA,EAAW9yI,OAAQ8yI,EAAUvlD,oBACvBulD,EAAU9yI,MACkB,QAA5B,EAAA8yI,aAAS,EAATA,EAAW0d,yBAAiB,eAAExwJ,OAAQ8yI,EAAU0d,kBAAkBjjE,oBAClEulD,EAAU0d,kBAAkBxwJ,UAC5BjQ,EACV,IAAK6Q,EACD,OAGJ,MAAMkrL,EAAa76L,KAAKk0L,UAAU5oB,aAAa37J,GAC/C,OAAKkrL,EAIEA,EAAWiD,oBAJlB,EAOI9C,uBAAuBtzH,EAAsBC,GACjD,MAAM7U,EAAa4U,EAAK51D,OAAO49D,UAAU,GAAGpyE,MACtCq9E,EAAS36E,KAAKo1L,iBAAiBp1L,KAAKu0L,cAAezhI,GACrD6nB,GACA36E,KAAKy6L,8CAA8C/yH,OAAM5oE,EAAW6oE,EAAYgT,GAGpF36E,KAAK21L,sBAAsBjuH,EAAK51D,OAAO49D,UAAU,IAG7C+qH,8CACJ/yH,EACAmpF,EACAlpF,EACAgT,GAEA,MAAM2qG,EAAqB59G,EAAK51D,OAAO49D,UAAU,GAAGpyE,MAEpD,GAAIqqE,GAAcA,EAAWiD,gBAAkBjD,EAAWkN,aAAelN,EAAWkD,cAAc7vE,OAAS,EAAG,CAQ1G,MAAM+iM,EAAepjH,EAChBy+B,kBACA7tC,MAAMrD,GAAuB,IAAdA,EAAKlpE,MAAkCkpE,EAAKwV,gBAAkB4nG,IAElF,IAAI0Y,EAmBJ,GAjBIA,EADAD,GAGU,CACN/+L,KAAM,EACN0oE,OACA34D,KAAM44D,EAAWkD,cAAclD,EAAWkD,cAAc7vE,OAAS,GACjEshG,qBAAqB,EACrBtxB,WAAYrD,EAAWgF,WACvB4vB,gBAAiBv8F,KAAK8zL,iBACtBrnL,M1D5jET,CACH3Q,MA1CG,CACHo+B,KAAM,EACNC,UAAW,GAyCXp+B,IA3CG,CACHm+B,KAAM,EACNC,UAAW,I0DomECujD,cAAe4nG,EACf7pF,gBAAiBo1D,GAMrBA,GAAgD,IAAjCnpF,EAAK51D,OAAO49D,UAAU10E,OACrCgjM,EAAQjvL,KAAO44D,EAAWkD,cAAclD,EAAWkD,cAAc7vE,OAAS,GAC1EgjM,EAAQ1hG,qBAAsB,EAC9Bt8F,KAAKi+L,mCAAmCt2H,EAAYq2H,OACjD,CAEH,IAAIE,EAAwCF,EAE5C,IAAK,IAAI1jM,EAAI,EAAGA,EAAIotE,EAAK51D,OAAO49D,UAAU10E,UAClCV,GAAKqtE,EAAWkD,cAAc7vE,QADYV,IAAK,CAKnD,MAAM6jM,EAAgBz2H,EAAK51D,OAAO49D,UAAUp1E,GAAGgD,MAG/C,IAAI8gM,EAAgBF,EAAiB/yH,gBAC/B+yH,EAAiB/yH,gBAAgB5mE,IAAI45L,QACrCr/L,EACDs/L,IAEDA,EAAgB,CACZrvL,KAAM44D,EAAWkD,cAAcvwE,GAC/BgiG,qBAAqB,EACrBnxB,gBAAiB,IAAIrtD,KAEpBogL,EAAiB/yH,kBAClB+yH,EAAiB/yH,gBAAkB,IAAIrtD,KAE3CogL,EAAiB/yH,gBAAgBhmE,IAAIg5L,EAAeC,IAKpD9jM,IAAMotE,EAAK51D,OAAO49D,UAAU10E,OAAS,IACrCojM,EAAcrvL,KAAO44D,EAAWkD,cAAcvwE,GAC9C8jM,EAAc9hG,qBAAsB,EACpCt8F,KAAKi+L,mCAAmCt2H,EAAYy2H,IAGxDF,EAAmBE,GAItBL,GACDpjH,EAAOm+B,eAAeklF,OAEvB,CAIH,MAAMA,EAA4B,CAC9Bh/L,KAAM,EACN0oE,OACA34D,KAAM,qBACNutF,qBAAqB,EACrB7vF,M1D5nEL,CACH3Q,MA1CG,CACHo+B,KAAM,EACNC,UAAW,GAyCXp+B,IA3CG,CACHm+B,KAAM,EACNC,UAAW,I0DoqEHshE,gBAAiBo1D,EACjB7lF,WAAY,GACZogG,cAAc,EACd7uE,gBAAiBv8F,KAAK8zL,kBAE1Bn5G,EAAOm+B,eAAeklF,IAItBjD,wBAAwBF,GAC5B,MAAMwD,EAA0B,GAGhC,GAAIxD,EAAWiD,eAAgB,CAC3B,IAAKjD,EAAW9F,6BACZ,OAAO8F,EAAWiD,eAGtBO,EAAchjM,QAAQw/L,EAAWiD,gBASrC,OANAjD,EAAWptF,YAAYnoF,SAAQ,CAACq1D,EAAQtuE,KAC/BsuE,EAAOkzB,sBAAyBtkC,GAAyBl9D,IAC1DgyL,EAAehjM,KAAKgR,MAIrBgyL,EAGH1J,oCAAoClqH,GACxC,IAAI6zH,GAA4B,EAEhC,IAAK,MAAM10H,KAAaa,EACpB,GAA6Bb,EAAW5pE,KAAKw0L,kBAExC8J,IACDA,EAA4Bt+L,KAAKk6L,sBAGhCoE,EAMGt+L,KAAK41L,6BAA+B51L,KAAK41L,2BAA2BzhF,cAChD,IAAIoqF,IACRC,mBAAmB50H,KAC/B5pE,KAAK41L,2BAA2BzhF,aAAc,GARtDn0G,KAAK+vF,KAAKnmB,GAclB,OAAO,EAGH8qH,uBAKJ,MAJ2B,CACvBxrH,MAAOzE,GAAUg6H,MACjB7hL,GAAI0pD,MAKJwvH,mBAAmB4I,GAQvB,MAPkC,CAC9Bx1H,MAAOzE,GAAUk6H,YACjB/hL,GAAI0pD,KACJs4H,YAAa,GACbF,sBACAhG,yBAAqB55L,GAQrBg+L,4BAA4B9tG,EAAmCplB,GACnE,MAAMxB,EAAiC,CACnCc,MAAOzE,GAAUo6H,iBACjBjiL,GAAI0pD,KACJ0oB,oBACAplB,YACAiwH,WAAY75L,KAAKw0L,kBAGrBx0L,KAAKw0L,iBAAoBpsH,EAGrBkzH,2BACJ5yH,EACAkuB,EACAkoG,GAWA,MAT8C,CAC1C51H,MAAOzE,GAAUs6H,mBAAqBt6H,GAAUk6H,YAChD/hL,GAAI0pD,KACJs4H,YAAa,GACbl2H,cACAgwH,yBAAqB55L,EACrB83F,UACAkoG,6BAKAnH,mBAQJ,MAP4B,CACxBzuH,MAAOzE,GAAUu6H,UACjBpiL,GAAI0pD,KACJs4H,YAAa,GACblG,yBAAqB55L,GAMrBm3L,iBAAiBvuH,GAErB,OAAgC,IAA5BA,EAAKk3H,YAAY5jM,OACVo4L,GAAO6E,qBAKc,IAA5BvwH,EAAKk3H,YAAY5jM,QAAgB0sE,EAAKwB,QAAUzE,GAAUk6H,YACnDj3H,EAAKk3H,YAAY,IAI5B5+L,KAAKi0L,6BAA+BvsH,EAAKk3H,YAAY5jM,OAE9C0sE,GAMHqxH,oBAAoBrxH,EAAsB7hE,EAAmBo5L,GACjE,MAAM1H,EAAoD,GAE1D,GAAsB,KAAlB7vH,EAAKjB,UAA+D,KAAlBiB,EAAKmlB,SACvD7sF,KAAK+4L,oBAAoBrxH,EAAK3V,WAAYlsD,GAASo5L,QAChD,GACe,IAAlBv3H,EAAKjB,UACc,KAAlBiB,EAAKmlB,UAAmD,KAAlBnlB,EAAKmlB,SAoCxC7sF,KAAKw3L,uBAAuB9vH,EAAM6vH,GAAgD,IACzDA,EAAe1uI,QAAQwlC,GAA2B,KAAlBA,EAAK5nB,WACzCzrE,OAAS,IAC1BgF,KAAKw0L,iBAAmBx0L,KAAKk/L,uBACzBD,EAAiBx6H,GAAU06H,mBAAqB16H,GAAU26H,oBAC1Dp/L,KAAKw0L,iBACL9sH,IAKZ1nE,KAAK+1L,eAAelwL,EAAQ7F,KAAKw0L,uBA7CjC,GAAsB,KAAlB9sH,EAAKmlB,SAA+B,CAGpC,MAAMwyG,EAAuBr/L,KAAKw0L,iBAClCx0L,KAAK+4L,oBAAoBrxH,EAAKhB,eAAgB7gE,EAAQo5L,GACtDj/L,KAAKw0L,iBAAmB6K,EACxBr/L,KAAK+4L,oBAAoBrxH,EAAKqlB,gBAAiBlnF,EAAQo5L,OACpD,CACH,MAAMK,EAAyBt/L,KAAKw0L,iBAI9B+K,EAAav/L,KAAK81L,qBAKxB,GAJA91L,KAAK+4L,oBAAoBrxH,EAAKhB,eAAgB64H,EAAYN,GAItDK,IAA2Bt/L,KAAKw0L,iBAAkB,CAClDx0L,KAAKw0L,iBAAmBx0L,KAAKi2L,iBAAiBsJ,GAE9C,MAAMC,EAAkBx/L,KAAKw0L,iBAC7Bx0L,KAAK+4L,oBAAoBrxH,EAAKqlB,gBAAiBlnF,EAAQo5L,GAInDO,IAAoBx/L,KAAKw0L,mBACzBx0L,KAAKw0L,iBAAmB8K,KAuBpCxG,iBAAiBpxH,EAAsBy0H,EAAuBC,GAClEp8L,KAAKy/L,qBAAqBtD,EAAYC,GAAa,KAC/Cp8L,KAAK+vF,KAAKroB,MAGT1nE,KAAK0/L,qBAAqBh4H,KAC3B1nE,KAAK+1L,eACDoG,EACAn8L,KAAKk/L,uBAAuBz6H,GAAUk7H,cAAe3/L,KAAKw0L,iBAAmB9sH,IAEjF1nE,KAAK+1L,eACDqG,EACAp8L,KAAKk/L,uBAAuBz6H,GAAUm7H,eAAgB5/L,KAAKw0L,iBAAmB9sH,KAKlF0uH,yBAAyBziL,GAC7B3T,KAAKy/L,0BAAqB3gM,OAAWA,EAAW6U,GAG5C8rL,qBACJtD,EACAC,EACAzoL,GAEA,MAAMksL,EAAkB7/L,KAAKi8L,mBACvB6D,EAAmB9/L,KAAKg8L,oBAC9Bh8L,KAAKi8L,mBAAqBE,EAC1Bn8L,KAAKg8L,oBAAsBI,EAE3BzoL,IAEA3T,KAAKi8L,mBAAqB4D,EAC1B7/L,KAAKg8L,oBAAsB8D,EAGvBZ,uBAAuBh2H,EAAkB2wH,EAAsB9nI,GACnE,GAAI8nI,EAAW3wH,MAAQzE,GAAU0E,YAC7B,OAAO0wH,EAEX,MAAMkG,EAAc,GAChBhuI,EACA/xD,KAAKk0L,UAAU2E,qBACf74L,KAAKw4K,qBACLx4K,KAAKyzL,mBAET,IACqB,IAAhBsM,GAAwB72H,EAAQzE,GAAUm7H,iBAC1B,IAAhBG,GAAyB72H,EAAQzE,GAAUk7H,cAE5C,OAAOvM,GAAO6E,qBAGlB,MAAMV,EAAoD,GAC1D,IAAKv3L,KAAKw3L,uBAAuBzlI,EAAYwlI,GACzC,OAAOsC,EAGXtC,EAAejyK,SAAS+oE,IACpB,MAAMopG,EAAerwH,GAAsBinB,GAC3CruF,KAAK40L,iCAAkChvK,IAAI6xK,MAI/C,MAAMuI,EAAmBzI,EAAe1uI,QAAQwlC,GAA2B,KAAlBA,EAAK5nB,WAExDw5H,EAAqC,CACvC/2H,QACAtsD,GAAI0pD,KACJE,UAAWw5H,EAAiBhlM,OAAS,EAAKglM,EAAiB,QAAkBlhM,EAC7EizD,aACA8nI,cAKJ,OAFA75L,KAAK27L,kBAAkBsE,GAEhBA,EAIHP,qBAAqB3tI,GACzB,OAAQA,EAAW0U,UACf,KAAK,GACD,OAA+B,KAAxB1U,EAAW86B,SAGtB,KAAK,EACD,OAA+B,KAAxB96B,EAAW86B,UAAyD,KAAxB96B,EAAW86B,SAItE,OAAO,EAWH2qG,uBACJzlI,EACAwlI,EACA2I,GAA0B,EAC1BC,GAAsB,GAEtB,OAAQpuI,EAAW0U,UACf,KAAK,GACL,KAAK,GACL,KAAK,GACD,GAAIy5H,EAAyB,CAGzB,GAA4B,KAAxBnuI,EAAW0U,SACX,OAAO,EAMX,IAAK05H,EACD,OAAO,EAIf,QAAI55H,GAAgCxU,KAChCwlI,EAAel8L,KAAK02D,IACb,GAMf,KAAK,EAQD,OAPAwlI,EAAel8L,KAAK02D,EAAW1lD,MAC/BrM,KAAKw3L,uBACDzlI,EAAWg7B,gBACXwqG,EACA2I,GAC0B,IAEvB,EAGX,KAAK,EAA+B,CAChC,MAAME,EACsB,KAAxBruI,EAAW86B,UAAwD,KAAxB96B,EAAW86B,SACpDwzG,EACsB,KAAxBtuI,EAAW86B,UAA4D,KAAxB96B,EAAW86B,SAE9D,GAAIuzG,GAAqBC,EAA2B,CAGhD,GAC4C,KAAxCtuI,EAAWg7B,gBAAgBtmB,UACc,KAAzC1U,EAAWg7B,gBAAgBkB,UAE3B,OAAOjuF,KAAKw3L,uBACRzlI,EAAW2U,eACX6wH,EACA2I,GAC0B,GAKlC,GACIE,GACuC,IAAvCruI,EAAW2U,eAAeD,UAC4B,KAAtD1U,EAAW2U,eAAeA,eAAeD,UACU,SAAnD1U,EAAW2U,eAAeA,eAAeppE,OACM,IAA/Cy0D,EAAW2U,eAAehnE,UAAU1E,QACwB,IAA5D+2D,EAAW2U,eAAehnE,UAAU,GAAGknE,iBAEvC,OAAO5mE,KAAKw3L,uBACRzlI,EAAW2U,eAAehnE,UAAU,GAAGonE,gBACvCywH,EACA2I,GAC0B,GAIlC,MAAMI,EAAkBtgM,KAAKw3L,uBACzBzlI,EAAW2U,eACX6wH,EACA2I,GAC0B,GAI9B,GAAIE,EACA,OAAOE,EAIX,GAAID,EAA2B,CAC3B,MAAME,EAAmBvgM,KAAKw3L,uBAC1BzlI,EAAWg7B,gBACXwqG,EACA2I,GAC0B,GAE9B,OAAOI,GAAmBC,GAKlC,QAA4B,KAAxBxuI,EAAW86B,UAAwD,KAAxB96B,EAAW86B,UAEX,KAAvC96B,EAAW2U,eAAeD,WAC1BzmE,KAAKw3L,uBACDzlI,EAAWg7B,gBACXwqG,EACA2I,GAC0B,KAQV,KAAxBnuI,EAAW86B,UACJ7sF,KAAKw3L,uBACRzlI,EAAW2U,eACX6wH,EACA2I,GAC0B,GAOtC,KAAK,GACD,OAC4B,KAAxBnuI,EAAW86B,UACX7sF,KAAKw3L,uBACDzlI,EAAWA,WACXwlI,EACA2I,GAC0B,GAKtC,KAAK,EACD,OAAOlgM,KAAKw3L,uBACRzlI,EAAWg7B,gBACXwqG,EACA2I,GAC0B,GAIlC,KAAK,EACD,GAC2C,KAAvCnuI,EAAW2U,eAAeD,WACW,eAApC1U,EAAW2U,eAAeppE,OACa,eAApCy0D,EAAW2U,eAAeppE,QACE,IAAhCy0D,EAAWryD,UAAU1E,OAErB,OAAOgF,KAAKw3L,uBACRzlI,EAAWryD,UAAU,GAAGonE,gBACxBywH,EACA2I,GAC0B,GAIlC,GAC2C,KAAvCnuI,EAAW2U,eAAeD,UACU,aAApC1U,EAAW2U,eAAeppE,OACM,IAAhCy0D,EAAWryD,UAAU1E,OAErB,OAAOgF,KAAKw3L,uBACRzlI,EAAWryD,UAAU,GAAGonE,gBACxBywH,EACA2I,GAC0B,GAKlC,GAAInuI,EAAWryD,UAAU1E,QAAU,EAG/B,OAAIklM,GAIGlgM,KAAKw3L,uBACRzlI,EAAWryD,UAAU,GAAGonE,gBACxBywH,EACA2I,GAC0B,GAM1C,OAAO,EAGH7K,iCAAiCxvL,EAAwB26L,EAAsBC,GACnF,OAAQ56L,EAAO4gE,UACX,KAAK,GACL,KAAK,GAQL,KAAK,GACDzmE,KAAK21L,sBAAsB9vL,EAAQ46L,GAC/BD,GACAxgM,KAAK+vF,KAAKlqF,GAEd,MAGJ,KAAK,GACDA,EAAO6iE,YAAYpjD,SAAS+oE,IACxBruF,KAAKq1L,iCAAiChnG,EAAMmyG,EAAaC,MAE7D,MAGJ,KAAK,GACDzgM,KAAKq1L,iCAAiCxvL,EAAOihE,iBAAmC,EAAO25H,GACnFD,GACAxgM,KAAK+vF,KAAKlqF,GAEd,MAGJ,KAAK,GACD7F,KAAKq1L,iCAAiCxvL,EAAOksD,YAA8B,EAAO0uI,GAC9ED,GACAxgM,KAAK+vF,KAAKlqF,GAEd,MAGJ,KAAK,GACDA,EAAO+iB,QAAQtD,SAASm0C,IACpBz5D,KAAKq1L,iCAAiC57H,EAAO+mI,EAAaC,MAE9D,MAGJ,QACQD,GACAxgM,KAAK+vF,KAAKlqF,IAMlBwwL,oBAAoB3uH,GACxB,IAAK1nE,KAAKk6L,qBAAsB,CAC5B,MAAM9xH,EAAqB,CACvBc,MAAOzE,GAAUi8H,KACjB9jL,GAAI0pD,KACJoB,OACAmyH,WAAY75L,KAAKw0L,kBAGrBx0L,KAAKw0L,iBAAmBpsH,EAG5B,GAA6BV,EAAM1nE,KAAKw0L,kBAEnCx0L,KAAKk6L,sBACNl6L,KAAK27L,kBAAkB37L,KAAKw0L,kBAI5B8C,oCACJ,IAAKt3L,KAAKk6L,qBAAsB,CAC5B,MAAM9xH,EAAmC,CACrCc,MAAOzE,GAAUk8H,mBACjB/jL,GAAI0pD,KACJuzH,WAAY75L,KAAKw0L,kBAGrBx0L,KAAKw0L,iBAAmBpsH,GAIxButH,sBAAsBjuH,EAAuC+4H,GAAU,GAC3E,IAAIG,ElCv0FyB,EkCw0F7B,GAAsB,KAAlBl5H,EAAKjB,SAAiC,CACtC,MAAMs7E,EAAkB/hJ,KAAKu0L,cAAc5yC,sBAAsBj6E,EAAKpqE,OACtEw0D,OAA2BhzD,IAApBijJ,GACP6+C,EAAiB7+C,EAAiBpnE,OAAO/9D,GAG7C,MAAMikL,EAAe7gM,KAAKw0L,iBAC1B,IAAKx0L,KAAKk6L,sBAAwB3zH,GAAgCmB,GAAO,CACrE,MAAMU,EAA2B,CAC7Bc,MAAOzE,GAAUq8H,WACjBlkL,GAAI0pD,KACJoB,OACAmyH,WAAY75L,KAAKw0L,iBACjBoM,kBAGEnJ,EAAerwH,GAAsBM,GAC3C1nE,KAAK40L,iCAAkChvK,IAAI6xK,GAEvCgJ,IACAr4H,EAASc,OAASzE,GAAUs8H,QAKV,KAAlBr5H,EAAKjB,UACLzmE,KAAK27L,kBAAkBvzH,GAE3BpoE,KAAKw0L,iBAAmBpsH,EAQvBq4H,QAAkD3hM,IAAvC,GAA6B4oE,IACzC,GAA6BA,EAAM+4H,EAAUI,EAAe7gM,KAAKw0L,kBAIjE0G,0BAA0BxzH,EAAsBqB,GACpD,IAAK/oE,KAAKk6L,qBAAsB,CAC5B,MAAM9xH,EAA+B,CACjCc,MAAOzE,GAAUu8H,eACjBpkL,GAAI0pD,KACJoB,OACAqB,QACA8wH,WAAY75L,KAAKw0L,kBAGrBx0L,KAAK27L,kBAAkBvzH,GACvBpoE,KAAKw0L,iBAAmBpsH,EAG5B,GAA6BV,EAAM1nE,KAAKw0L,kBAGpCuI,0BAA0Br1H,GAC9B,IAAK1nE,KAAKk6L,qBAAsB,CAC5B,MAAM9xH,EAA+B,CACjCc,MAAOzE,GAAUw8H,eACjBrkL,GAAI0pD,KACJoB,OACAmyH,WAAY75L,KAAKw0L,kBAGrBx0L,KAAKw0L,iBAAmBpsH,EAG5B,GAA6BV,EAAM1nE,KAAKw0L,kBAGpC0F,qBACJ,SAAUl6L,KAAKw0L,iBAAkBtrH,MAAQzE,GAAU0E,aAG/CwyH,kBAAkBvzH,GAGlBpoE,KAAKuzL,uBACLvzL,KAAKuzL,sBAAsBjuK,SAAS8V,IAChCp7B,KAAK+1L,eAAe36J,EAAOgtC,MAK/BuwH,0BAA0BhlL,GAC9B,MAAMutL,EAAmBlhM,KAAK40L,iCAC9B50L,KAAK40L,iCAAmC,IAAI9jJ,IAC5Cn9B,IAEA,MAAMwtL,EAAoBnhM,KAAK40L,iCAU/B,OARIsM,GACAlhM,KAAK40L,iCAAiCtvK,SAAShoB,IAC3C4jM,EAAiBt7K,IAAItoB,MAI7B0C,KAAK40L,iCAAmCsM,EAEjCC,EAGHrJ,mBAAmBmB,EAAyBmI,EAA0BztL,GAC1E,MAAM0tL,EAAsBrhM,KAAKg4L,uBAC3BsJ,EAAmBthM,KAAKk4L,oBACxBqJ,EAA0BvhM,KAAKi0L,4BAErCj0L,KAAKg4L,uBAAyBiB,EAC9Bj5L,KAAKk4L,oBAAsBkJ,EAC3BphM,KAAKi0L,4BAA8B,EAEnCgF,EAAaP,oBAAsB14L,KAAK24L,0BAA0BhlL,GAElE3T,KAAKg4L,uBAAyBqJ,EAC9BrhM,KAAKk4L,oBAAsBoJ,EAK3BthM,KAAKi0L,4BAAiE,EAAnCj0L,KAAKi0L,4BAAkCsN,EAGtExL,eAAe36J,EAAkBy+J,GAC/B75L,KAAKw0L,iBAAkBtrH,MAAQzE,GAAU0E,aAEtC/tC,EAAMwjK,YAAYnwI,MAAMkkG,GAAaA,EAAS/1I,KAAOi9K,EAAWj9K,MACjEwe,EAAMwjK,YAAYvjM,KAAKw+L,GAK3BzE,iBAAiBvtH,EAAcx7D,EAAckwL,GAEjD,MAAM/K,EAAcxxL,KAAKu0L,cAAcjD,eAAejlL,GAEtD,QAAoBvN,IAAhB0yL,EASG,CAEH,IAAI72G,EAAS9S,EAAM+lD,aAAavhH,GA2BhC,OA1BKsuE,IACDA,EAAS9S,EAAMwpH,UAAUhlL,EAAM,GAEC,IAA5BrM,KAAKu0L,cAAcv1L,MAAyD,IAA5BgB,KAAKu0L,cAAcv1L,MAC/DuqE,GAAyBl9D,KACrB,GAAcA,GAEdsuE,EAAOk9B,wBACA73G,KAAKk0L,UAAUt/G,YAAc50E,KAAKk0L,UAAUtnB,mBACnB,IAA5B5sK,KAAKu0L,cAAcv1L,KAEnB27E,EAAOk9B,wBAEP73G,KAAKg0L,yBAAyB7uL,IAAIkH,EAAMsuE,GAG5CA,EAAO+9B,sBAKf6jF,GACAA,EAAap3L,IAAIkH,EAAMsuE,IAIxBA,EAtCoB,CAC3B,MAIMonE,GAHc,IAAhByvC,EACMxxL,KAAKu0L,cAAcpvJ,OACnBnlC,KAAKu0L,cAAczD,kBACMnvC,sBAAsBt1I,GACzD,GAAI01I,EACA,OAAOA,EAAgBpnE,QAqC3Bg8G,8BAA8B9wL,EAAwB02L,GAC1D,OAAQ12L,EAAO4gE,UACX,KAAK,GACDzmE,KAAKo1L,iBAAiBp1L,KAAKu0L,cAAe1uL,EAAOvI,MAAOi/L,GACxD,MAGJ,KAAK,GACD12L,EAAO6iE,YAAYpjD,SAAS+oE,IACxBruF,KAAK22L,8BAA8BtoG,EAAMkuG,MAE7C,MAGJ,KAAK,GACD12L,EAAO+iB,QAAQtD,SAAS+oE,IACpBruF,KAAK22L,8BAA8BtoG,EAAMkuG,MAE7C,MAGJ,KAAK,GACDv8L,KAAK22L,8BAA8B9wL,EAAOihE,gBAAiBy1H,GAC3D,MAGJ,KAAK,GACDv8L,KAAK22L,8BAA8B9wL,EAAOksD,WAAYwqI,IAM1D9H,iCACJ1nB,EACArlG,EACA1oE,GAEA,MAAM27E,EAAS36E,KAAKwhM,yBAAyBz0B,GAAoC,GAC7EpyF,IACAA,EAAOm+B,eAAe,CAClB95G,KAAM,EACN0oE,OACAwqF,cAAelzJ,EACf+P,KAAM/O,KAAKk0L,UAAUr4H,SACrBpvD,M1Dp7FL,CACH3Q,MA1CG,CACHo+B,KAAM,EACNC,UAAW,GAyCXp+B,IA3CG,CACHm+B,KAAM,EACNC,UAAW,I0D49FH6wC,WAAYhrE,KAAKk0L,UAAUlpH,WAC3BuxB,gBAAiBv8F,KAAK8zL,mBAE1Bn5G,EAAOm9B,gCAKP0pF,yBAAyBz0B,EAAmBn1D,GAChD,IAAIj9B,EAAS36E,KAAKu0L,cAAc3mE,aAAam/C,GAE7C,IAAKpyF,EAAQ,CACT,IAAI8mH,EAAc,EAEd7pF,IACA6pF,GAAe,GAGa,IAA5BzhM,KAAKu0L,cAAcv1L,OACnByiM,GAAe,GAGfzhM,KAAKk0L,UAAUt/G,YAAcrL,GAAyBwjG,KACtD00B,GAAe,GAKnB9mH,EAAS36E,KAAKu0L,cAAclD,UAAUtkB,EAAW00B,GAGrD,OAAO9mH,EAGH25G,gBAAgB/9E,EAAsB66E,EAAgCz9K,GAC1E,MAAM+tL,EAAY1hM,KAAKu0L,cACjBoN,EAAW,IAAI/Q,GAAMr6E,EAAW66E,GACtCpxL,KAAKu0L,cAAgBoN,EAGrB,MAAMC,EACY,IAAdrrF,GAAiD,IAAdA,GAAgD,IAAdA,EACnEsrF,EAAkB7hM,KAAK40L,iCAW7B,OATIgN,IACA5hM,KAAK40L,iCAAmC,IAAI9jJ,KAGhDn9B,IAEA3T,KAAK40L,iCAAmCiN,EACxC7hM,KAAKu0L,cAAgBmN,EAEdC,EAGH5K,sCACJlxL,EACA8b,EACAk1K,GAAsB,GAEtB,OAAQhxL,EAAO4gE,UACX,KAAK,GAAoB,CACrB,MAAMp6D,EAAOxG,EACPk8I,EAAkB/hJ,KAAKu0L,cAAc5yC,sBAAsBt1I,EAAK/O,OACtE,GAAIykJ,GAAmBA,EAAgBpnE,OAAQ,CAC3C,MAAM3S,EAAmC,CACrChpE,KAAM,EACN0oE,KAAM7hE,EACNssJ,WAAY1oF,GAAe5jE,EAAOvI,OAClC47G,mBAAoBv3F,EACpBmgL,4BAA6B9hM,KAAK+hM,6BAA6B11L,EAAK/O,OACpEy+F,cAAe86F,EAAsBhxL,OAAS/G,EAC9CiQ,KAAM/O,KAAKk0L,UAAUr4H,SACrBpvD,MAAO84D,GAAsBl5D,EAAKvQ,MAAO0oE,GAAUmB,OAAOt5D,GAAOrM,KAAKk0L,UAAU1sI,OAChFwjB,WAAYhrE,KAAKk0L,UAAUlpH,WAC3BuxB,gBAAiBv8F,KAAK8zL,iBACtBz2F,UAAWr9F,KAAKgiM,sBAAsBn8L,IAE1Ck8I,EAAgBpnE,OAAOm+B,eAAe9wC,GAE1C,MAGJ,KAAK,GAA4B,CAC7B,MAAM0gF,EAAmB1oJ,KAAKiiM,qBAAqBp8L,GACnD,GAAI6iJ,EAAkB,CAClB,MAAMr8I,EAAOxG,EAAOwhE,WAEpB,IAAIsT,EAAS+tE,EAAiBw5C,WAAWt0E,aAAavhH,EAAK/O,OAC3D,IAAKq9E,EAAQ,CACTA,EAAS+tE,EAAiBw5C,WAAW7Q,UAAUhlL,EAAK/O,MAAO,GAC3D,MAAMggM,EAA6E,SAAxDt9L,KAAKk0L,UAAU1/D,kBAAkB6vC,mBACxD96F,GAAyBl9D,EAAK/O,QAAUggM,GACxC3iH,EAAO+9B,qBAIXgwC,EAAiBvwC,iBAMZx9B,EAAOs9B,iBACPt9B,EACIy+B,kBACA3qD,MAAMyZ,GAAuB,IAAdA,EAAKlpE,MAAqCkpE,EAAKkjD,YAEnEzwC,EAAOu9B,sBAGXv9B,EAAOq9B,mBAGX,MAAMhwC,EAAmC,CACrChpE,KAAM,EACN0oE,KAAM7hE,EAAOwhE,WACb8qF,WAAY1oF,GAAep9D,EAAK/O,OAChC47G,mBAAoBv3F,EACpBwvK,yBAAyB,EACzBpiL,KAAM/O,KAAKk0L,UAAUr4H,SACrBpvD,MAAO84D,GACH1/D,EAAOwhE,WAAWvrE,MAClB+J,EAAOwhE,WAAWvrE,MAAQ+J,EAAOwhE,WAAWrsE,OAC5CgF,KAAKk0L,UAAU1sI,OAEnBwjB,WAAYhrE,KAAKk0L,UAAUlpH,WAC3BuxB,gBAAiBv8F,KAAK8zL,iBACtBz2F,UAAWr9F,KAAKgiM,sBAAsBn8L,IAE1C80E,EAAOm+B,eAAe9wC,GAE1B,MAGJ,KAAK,GACDniE,EAAO6iE,YAAYpjD,SAAS+oE,IACxBruF,KAAK+2L,sCAAsC1oG,EAAM1sE,MAErD,MAGJ,KAAK,GACD3hB,KAAK+2L,sCAAsClxL,EAAOihE,gBAAiBnlD,GACnE,MAGJ,KAAK,GACD3hB,KAAK+2L,sCAAsClxL,EAAOksD,WAAYpwC,GAC9D,MAGJ,KAAK,GACD9b,EAAO+iB,QAAQtD,SAASm0C,IACpBz5D,KAAK+2L,sCAAsCt9H,EAAO93C,OAO1DogL,6BAA6BjvI,GAEjC,MADsB,CAAC,iBAAkB,YAAa,WACjCrE,MAAMpiD,GAASA,IAASymD,IAGzC8jI,+BAA+B/wL,EAAwBmnF,G,UAC3D,IAAIm1G,GAAqB,EAEzB,OAAQt8L,EAAO4gE,UACX,KAAK,GAAoB,CACrB,MAAMp6D,EAAOxG,EACPk8I,EAAkB/hJ,KAAKu0L,cAAc5yC,sBAAsBt1I,EAAK/O,OACtE,GAAIykJ,GAAmBA,EAAgBpnE,OAAQ,CAC3C,MAAMynH,EAAYpiM,KAAKqiM,mBAAmBr1G,GACpCs1G,EAAsBtiM,KAAKuiM,uBAAuBv1G,GAExD,IAAIoO,EAAiDpO,EACjDw1G,EAAsDx1G,EACtDs1G,GACAlnG,OAAqBt8F,EACrB0jM,OAA0B1jM,EAIM,IAA5BkB,KAAKu0L,cAAcv1L,MACS,IAA5BgB,KAAKu0L,cAAcv1L,MACS,IAA5BgB,KAAKu0L,cAAcv1L,MAEnBgB,KAAKq5K,UAAUznD,GAAUv4F,WAAWg2G,8BAA+BriD,IAEhEo1G,EAAUzmG,UACjB6mG,EAA0BJ,EAAUK,cAC/BL,EAAUK,gBACXrnG,OAAqBt8F,IAK7B,IAAI4jM,EAAe1iM,KAAK2iM,sBAAsB31G,GAY9C,GAVI01G,EAAarqF,aACbmqF,EAA0BE,EAAaE,iBAElCF,EAAaE,mBACdxnG,OAAqBt8F,IAMzBsjM,EAAUzmG,QAAS,CACnB,MAAMknG,EAAkB,GAA2Ch9L,GAC/Dg9L,GAAgD,KAA7BA,EAAgBp8H,WAGR,KAAV,QAAb,EAAA5gE,EAAOs/B,cAAM,eAAEshC,WACgB,KAAV,QAArB,EAAa,QAAb,EAAA5gE,EAAOs/B,cAAM,eAAEA,cAAM,eAAEshC,YAEvBi8H,EAAe,CACXrqF,YAAY,EACZuqF,sBAAkB9jM,KAMlC,MAAMkpE,EAAmC,CACrChpE,KAAM,EACN0oE,KAAM7hE,EACNssJ,WAAY1oF,GAAep9D,EAAK/O,OAChCq+F,QAASymG,EAAUzmG,QACnB0c,WAAYqqF,EAAarqF,WACzBsF,WAAY39G,KAAK8iM,sBAAsBN,GACvCxuE,cAAeh0H,KAAK+iM,yBAAyBP,GAC7C3mG,oBAAqBymG,EAAsBt1G,OAAiBluF,EAC5Di9F,cAAeumG,EAAsBz8L,OAAS/G,EAC9CiQ,KAAM/O,KAAKk0L,UAAUr4H,SACrBu/B,qBACA3uF,MAAO84D,GAAsBl5D,EAAKvQ,MAAO0oE,GAAUmB,OAAOt5D,GAAOrM,KAAKk0L,UAAU1sI,OAChFwjB,WAAYhrE,KAAKk0L,UAAUlpH,WAC3BuxB,gBAAiBv8F,KAAK8zL,iBACtBz2F,UAAWr9F,KAAKgiM,sBAAsBn8L,IAW1C,GATAk8I,EAAgBpnE,OAAOm+B,eAAe9wC,GAElC06H,EAAarqF,WACb0pC,EAAgBpnE,OAAOy9B,gBAEvB2pC,EAAgBpnE,OAAOu9B,sBAIK,KAA5BlrB,EAAevmB,SACf,GAAIzmE,KAAKgjM,yBAAyBh2G,EAAe7lB,eAAgB,WAC7D46E,EAAgBpnE,OAAO29B,oBACpB,GACHt4G,KAAK4pL,oBAAoB58F,EAAe7lB,eAAgB,cACxD6lB,EAAejqD,MAAM/nC,OAAS,EAChC,CACE,MAAMioM,EAAYj2G,EAAejqD,MAAM,GAAG+jC,gBAEf,KAAvBm8H,EAAUx8H,UACVzmE,KAAKgjM,yBAAyBC,EAAU97H,eAAgB,YAExD46E,EAAgBpnE,OAAO29B,gBAMvC6pF,GAAqB,EACrB,MAGJ,KAAK,GAA4B,CAS7B,MAAMz5C,EAAmB1oJ,KAAKiiM,qBAAqBp8L,GACnD,GAAI6iJ,EAAkB,CAClB,MAAMr8I,EAAOxG,EAAOwhE,WAEpB,IAAIsT,EAAS+tE,EAAiBw5C,WAAWt0E,aAAavhH,EAAK/O,OAC3D,IAAKq9E,EAAQ,CACTA,EAAS+tE,EAAiBw5C,WAAW7Q,UAAUhlL,EAAK/O,MAAO,GAC3D,MAAMggM,EAA6E,SAAxDt9L,KAAKk0L,UAAU1/D,kBAAkB6vC,mBACxD96F,GAAyBl9D,EAAK/O,QAAUggM,GACxC3iH,EAAO+9B,qBAIXgwC,EAAiBvwC,iBACjBx9B,EAAOu9B,sBAEPv9B,EAAOq9B,mBAGX,MAAMoqF,EAAYpiM,KAAKqiM,mBAAmBr1G,GACpChlB,EAAmC,CACrChpE,KAAM,EACN0oE,KAAM7hE,EAAOwhE,WACb8qF,WAAY1oF,GAAep9D,EAAK/O,OAChC6zL,yBAAyB,EACzBx1F,QAASymG,EAAUzmG,QACnB5sF,KAAM/O,KAAKk0L,UAAUr4H,SACrBu/B,mBAAoBgnG,EAAUzmG,UAAYymG,EAAUK,mBAAgB3jM,EAAYkuF,EAChFvgF,MAAO84D,GACH1/D,EAAOwhE,WAAWvrE,MAClB+J,EAAOwhE,WAAWvrE,MAAQ+J,EAAOwhE,WAAWrsE,OAC5CgF,KAAKk0L,UAAU1sI,OAEnBwjB,WAAYhrE,KAAKk0L,UAAUlpH,WAC3BuxB,gBAAiBv8F,KAAK8zL,iBACtBz2F,UAAWr9F,KAAKgiM,sBAAsBn8L,IAE1C80E,EAAOm+B,eAAe9wC,GAEtBm6H,GAAqB,EAEzB,OAIHA,GACDniM,KAAKq5K,UAAUznD,GAAUv4F,WAAWi/F,yBAA0BtrC,GAQ9D48F,oBAAoB58F,EAAgC3gF,GACxD,OAAOrM,KAAKkjM,mBAAmBl2G,EAAgB3gF,EAAMrM,KAAKw4K,qBAAsBx4K,KAAKy4K,sBAGjFuqB,yBAAyBh2G,EAAgC3gF,GAC7D,OAAOrM,KAAKkjM,mBACRl2G,EACA3gF,EACArM,KAAK0zL,0BACL1zL,KAAK2zL,2BAILuP,mBACJl2G,EACA3gF,EACA82L,EACAC,GAEA,GAAgC,KAA5Bp2G,EAAevmB,UAEf,GADc28H,EAAc7+L,IAAIyoF,EAAe1vF,SACjC+O,EACV,OAAO,OAER,GAAgC,KAA5B2gF,EAAevmB,UAEyB,KAA3CumB,EAAetmB,eAAeD,UAC9BumB,EAAe3lB,WAAW/pE,QAAU+O,EACtC,CACE,MAAMw9K,EAAW78F,EAAetmB,eAAeppE,MAC/C,OAAO6lM,EAAc10I,MAAM0d,GAAUA,IAAU09G,IAIvD,OAAO,EAGHmY,sBAAsBt6H,G,YAE1B,IACI27H,EADAp6H,EAAiCvB,EAGrC,KAAOuB,GACsB,IAArBA,EAAQxC,UAIa,KAArBwC,EAAQxC,UAA8C48H,IACtDA,EAAiBp6H,GAGrBA,EAAUA,EAAQ9jC,OAGtB,GAAqB,KAAjB8jC,aAAO,EAAPA,EAASxC,UAAuC,CAIhD,IAAI48H,EAGA,OAFAp6H,EAAUo6H,EAMlB,MAAMt2E,EAAa9jD,EAAQ9jC,OAC3B,GAAwB,MAApB4nF,aAAU,EAAVA,EAAYtmD,UACZ,OAGJ,MAAM68H,EAAgBv2E,EAAW5nF,OACjC,IACKm+J,GAC2B,KAA3BA,EAAc78H,UAAgE,KAA3B68H,EAAc78H,SAElE,OAGJ,MAAM88H,EAAkBD,EAAc74H,WAAW8kB,WAAW7nB,GAASA,IAASqlD,IAC9E,GAAIw2E,EAAkB,GAAKA,IAAoBD,EAAc74H,WAAWzvE,OAAS,EAC7E,OAGJ,MAAMwoM,EAAgBF,EAAc74H,WAAW84H,EAAkB,GAEjE,GAA+B,KAA3BC,EAAc/8H,WAA6C,GAA2B+8H,GACtF,OAIJ,IAAIC,GAAiB,EACrB,GAAgC,MAAV,QAAlB,EAAA12E,aAAU,EAAVA,EAAY5nF,cAAM,eAAEshC,UAEpBg9H,GAAiB,OACd,GACyB,MAAV,QAAlB,EAAA12E,aAAU,EAAVA,EAAY5nF,cAAM,eAAEshC,WACgB,MAAV,QAA1B,EAAkB,QAAlB,EAAAsmD,aAAU,EAAVA,EAAY5nF,cAAM,eAAEA,cAAM,eAAEshC,UAG5Bg9H,GAAiB,MACd,CACH,MAAM1nL,EAAO,GAAoCgxG,GAI7ChxG,GACoB,aAApBA,EAAK1P,KAAK/O,OACV,GAAiCye,GAA2B,KAE5D0nL,GAAiB,GAIzB,IAAKA,EACD,OAIJ,MAAMv8H,EAAWs8H,EAAc/4H,WAAW,GAAsBvD,QAChE,OAAuB,IAAnBA,EAAQlsE,OAEDksE,EAAQ,GAAG5pE,MAGf4pE,EAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,IAMpC6mM,mBAAmBr1G,GACvB,IACIy1G,EADA9mG,GAAU,EAqBd,OAlBI3O,IACIhtF,KAAK4pL,oBAAoB58F,EAAgB,SACzC2O,GAAU,EACyB,KAA5B3O,EAAevmB,UAAoE,IAAhCumB,EAAejqD,MAAM/nC,UAE7DgF,KAAKqiM,mBAAmBr1G,EAAe7lB,gBAE3Cw0B,SACmC,IAA7C3O,EAAejqD,MAAM,GAAG6jC,kBACvBomB,EAAejqD,MAAM,GAAG12B,MACxB2gF,EAAermB,gBAEhBg1B,GAAU,EACV8mG,EAAgBz1G,EAAejqD,MAAM,GAAG+jC,mBAK7C,CAAE60B,UAAS8mG,iBAMdE,sBAAsB31G,GAC1B,IACI41G,EADAvqF,GAAa,EAGjB,KAAOrrB,GAAgB,CACnB,KACgC,KAA5BA,EAAevmB,UACfumB,EAAejqD,MAAM/nC,OAAS,GAC9BgF,KAAK4pL,oBAAoB58F,EAAe7lB,eAAgB,cAGrD,IAAInnE,KAAK4pL,oBAAoB58F,EAAgB,YAAa,CAC7DqrB,GAAa,EACb,MACG,GAAgC,KAA5BrrB,EAAevmB,UAAoE,IAAhCumB,EAAejqD,MAAM/nC,OAAc,EAE3EgF,KAAK2iM,sBAAsB31G,EAAe7lB,gBAE9CkxC,YACmC,IAA7CrrB,EAAejqD,MAAM,GAAG6jC,kBACvBomB,EAAejqD,MAAM,GAAG12B,MACxB2gF,EAAermB,gBAEhB0xC,GAAa,EACbuqF,EAAmB51G,EAAejqD,MAAM,GAAG+jC,iBAE/C,MAEA,MAlBAkmB,EAAiBA,EAAejqD,MAAM,GAAG+jC,gBAsBjD,MAAO,CAAEuxC,aAAYuqF,oBAIjBE,sBAAsB91G,GAC1B,SAAIA,GAA8C,KAA5BA,EAAevmB,UAAoE,IAAhCumB,EAAejqD,MAAM/nC,SACtFgF,KAAK4pL,oBAAoB58F,EAAe7lB,eAAgB,aAS5D47H,yBAAyB/1G,GAC7B,SAAIA,GAA8C,KAA5BA,EAAevmB,UAAoE,IAAhCumB,EAAejqD,MAAM/nC,SACtFgF,KAAK4pL,oBAAoB58F,EAAe7lB,eAAgB,gBAQ5Do7H,uBAAuBv1G,GAC3B,QAAKA,GAIEhtF,KAAK4pL,oBAAoB58F,EAAgB,aAM5Ci1G,qBAAqBv6H,GAGzB,GAAqC,KAAjCA,EAAKhB,eAAeD,SACpB,OAGJ,MAAMi9H,EAAiBh8H,EAAKhB,eAAeppE,MAIrCy6F,EAAa,GAAoCrwB,GACvD,IAAKqwB,EACD,OAGJ,MAAMhC,EAAY,GAAiCgC,GAAiC,GACpF,IAAKhC,EACD,OAKJ,IAAIoiB,GAAmB,EAEvB,GAAIpgB,EAAW10D,WAAWroC,OAAS,IAAM+8F,EAAW10D,WAAW,GAAGh3B,KAC9D,OAGJ,MAAMqjF,EAAYqG,EAAU1pF,KAAK/O,MAC3BqmM,EAAiB5rG,EAAW10D,WAAW,GAAGh3B,KAAK/O,MAErD,GAAIomM,IAAmBh0G,EACnByoB,GAAmB,MAChB,CACH,GAAIurF,IAAmBC,EACnB,OAMJ,GAA8B,YAA1B5rG,EAAW1rF,KAAK/O,MAGhB66G,GAAmB,MAChB,CAGHA,GAAmB,EACnB,IAAK,MAAM5rB,KAAawL,EAAW7L,WAC/B,GAAsC,KAAlCK,EAAUx6B,WAAW0U,SAAiC,CACtD,MAAMm9H,EAAgBr3G,EAAUx6B,WAAWz0D,MAE3C,GAAsB,iBAAlBsmM,EAEA,OACG,GAAsB,gBAAlBA,EAAiC,CAExCzrF,GAAmB,EACnB,SAOpB,MAAM+pF,EAAa,GAA0BnsG,GAG7C,OAFAjkC,OAAsBhzD,IAAfojM,GAEA,CACHnsG,YACAgC,aACAmqG,aACA/pF,oBAIA8lF,mCAAmCp0H,EAA4Bu0H,GACnEv0H,EAAaiL,wBAAwBxvD,SAAS8lD,IAC1C,MAAMy4H,EAAuBzF,EAAcjzH,gBACrCizH,EAAcjzH,gBAAgB5mE,IAAI6mE,EAAe/+D,WACjDvN,EACF+kM,GACAA,EAAqB90L,KAAOq8D,EAAer8D,KAC3C80L,EAAqBvnG,qBAAsB,IAEtC8hG,EAAcjzH,kBACfizH,EAAcjzH,gBAAkB,IAAIrtD,KAExCsgL,EAAcjzH,gBAAgBhmE,IAAIimE,EAAe/+D,KAAM,CACnD0C,KAAMq8D,EAAer8D,KACrButF,qBAAqB,EACrBnxB,gBAAiB,IAAIrtD,UAQ7B44K,wCAAwChvH,GAC5C,IAAK1nE,KAAKk0L,UAAU4C,iBAChB,OAAO,EAGX,IAAIuM,EAEJ,GAAsB,KAAlB37H,EAAKjB,SACL48H,EAAiB37H,MACd,CACH,GAAqC,KAAjCA,EAAKhB,eAAeD,SACpB,OAAO,EAGX48H,EAAiB37H,EAAKhB,eAG1B,GAAgD,KAA5C28H,EAAev8H,gBAAgBL,SAC/B,OAAO,EAGX,MAAMq9H,EAAmBT,EAAev8H,gBAClCi9H,EAAqC,IAAIjmL,IAAI,CAC/C,CAAC,SAAS,GACV,CAAC,WAAW,GACZ,CAAC,YAAY,GACb,CAAC,YAAY,GACb,CAAC,QAAQ,GACT,CAAC,YAAY,GACb,CAAC,SAAS,GACV,CAAC,WAAW,GACZ,CAAC,aAAa,GACd,CAAC,SAAS,GACV,CAAC,YAAY,GACb,CAAC,aAAa,GACd,CAAC,aAAa,GACd,CAAC,eAAe,GAChB,CAAC,eAAe,GAChB,CAAC,aAAa,GACd,CAAC,mBAAmB,GACpB,CAAC,UAAU,GACX,CAAC,QAAQ,GACT,CAAC,YAAY,GACb,CAAC,SAAS,GACV,CAAC,iBAAiB,KAGhBkmL,EAAeF,EAAiBxmM,MAEtC,IAAKymM,EAAa3/K,IAAI4/K,GAClB,OAAO,EAEX,MAAMrpH,EAAS36E,KAAKo1L,iBAAiBp1L,KAAKu0L,cAAeyP,GAgBzD,OAdIrpH,GACAA,EAAOm+B,eAAe,CAClB95G,KAAM,EACN0oE,KAAM27H,EACNt0L,KAAM/O,KAAKk0L,UAAUr4H,SACrBpvD,MAAO84D,GACH89H,EAAevnM,MACf0oE,GAAUmB,OAAO09H,GACjBrjM,KAAKk0L,UAAU1sI,OAEnBwjB,WAAYhrE,KAAKk0L,UAAUlpH,WAC3BuxB,gBAAiBv8F,KAAK8zL,oBAGvB,EAGH2B,cAAc9hL,GACd3T,KAAKqzL,mBAITrzL,KAAKszL,sBAAsBj4L,KAAK,CAC5BwsE,MAAO7nE,KAAKu0L,cACZ5rH,oBAAqB3oE,KAAK40L,iCAC1BjhL,aAIAkhL,gBACJ,KAAO70L,KAAKszL,sBAAsBt4L,OAAS,GAAG,CAC1C,MAAMipM,EAAWjkM,KAAKszL,sBAAsB/zK,QAG5Cvf,KAAKu0L,cAAgB0P,EAASp8H,MAC9B7nE,KAAK40L,iCAAmCqP,EAASt7H,oBAEjDs7H,EAAStwL,YAIT0kL,WAAW3wH,GACf,MAAMgkD,EAAe,GAAoChkD,GAEpDgkD,EAIMA,EAAa90B,SAA6B,KAAlBlvB,EAAKjB,UAGpCzmE,KAAKq5K,UAAUznD,GAAUv4F,WAAWo8G,wBAAyB/tE,GxChyGlE,SAA4BA,GAC/B,IAAIuB,EAAUvB,EAAKviC,OACnB,KAAO8jC,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,SACR,OAAOwC,EAGX,GAAyB,KAArBA,EAAQxC,SACR,OAGJwC,EAAUA,EAAQ9jC,QwC+wGT,CAAkCuiC,IACnC1nE,KAAKq5K,UAAUznD,GAAUv4F,WAAWq8G,uBAAwBhuE,GAQhE1nE,KAAK41L,6BACA51L,KAAK41L,2BAA2BsO,kBACjClkM,KAAK41L,2BAA2BsO,gBAAkB,IAEtDlkM,KAAK41L,2BAA2BsO,gBAAgB7oM,KAAKqsE,GACrD1nE,KAAK41L,2BAA2BzhF,aAAc,GAG9CzsC,EAAK3V,YACL/xD,KAAK+vF,KAAKroB,EAAK3V,YAGnB,GAA6B2V,EAAM1nE,KAAKw0L,kBAGpCQ,eAAemP,EAA4B91E,EAAc9hH,EAAiB0qK,GAC9E,IAAIge,EACJ,OAAQkP,GACJ,IAAK,QACDlP,EAAaj1L,KAAKq5K,UAAU9sK,EAAS0qK,GACrC,MAEJ,IAAK,UACDge,EAAaj1L,KAAKokM,YAAY73L,EAAS0qK,GACvC,MAEJ,IAAK,cACDge,EAAaj1L,KAAKqkM,gBAAgB93L,EAAS0qK,GAC3C,MAEJ,IAAK,OACD,MAEJ,QACI,OAAO9kH,EAAYgyI,EAAW,GAAGA,qBAOzC,OAJIlP,GACAA,EAAW7mE,QAAQC,GAGhB4mE,EAGH5b,UAAU9sK,EAAiB0qK,GAC/B,OAAOj3K,KAAKk0L,UAAUoQ,eAAeh6B,2BAA2B,QAAS/9J,EAAS0qK,GAG9EmtB,YAAY73L,EAAiB0qK,GACjC,OAAOj3K,KAAKk0L,UAAUoQ,eAAeh6B,2BAA2B,UAAW/9J,EAAS0qK,GAGhFotB,gBAAgB93L,EAAiB0qK,GACrC,OAAOj3K,KAAKk0L,UAAUoQ,eAAeh6B,2BAA2B,cAAe/9J,EAAS0qK,IA/sH7E,GAAAghB,qBAAiC,CAC5C/uH,MAAOzE,GAAU0E,YACjBvsD,GAAI0pD,MAitHL,MAAMi4H,WAAoB,GAAjC,c,oBACY,KAAAgG,gBAAiB,EAEzB/F,mBAAmB92H,GAEf,OADA1nE,KAAK+vF,KAAKroB,GACH1nE,KAAKukM,eAGP5vG,WAAWjtB,GAEhB,OADA1nE,KAAKukM,gBAAiB,GACf,EAGF3vG,eAAeltB,GAEpB,OADA1nE,KAAKukM,gBAAiB,GACf,GCj2HR,SAASC,GACZ1yE,EACAtrD,EACAukB,EACAk0G,G,MAEA,GAAgC,IAA5Bl0G,EAAetkB,SACf,OACkG,QAA9F,EAAA+9H,GAAyB1yE,EAAWtrD,EAAWukB,EAAegC,gBAAiBkyG,UAAe,QAC9FuF,GAAyB1yE,EAAWtrD,EAAWukB,EAAe1+E,KAAM4yL,GAI5E,GAAgC,IAA5Bl0G,EAAetkB,SAA4C,CAC3D,MAAM25H,EAC0B,KAA5Br1G,EAAe8B,UAA4D,KAA5B9B,EAAe8B,SAC5DwzG,EAC0B,KAA5Bt1G,EAAe8B,UAAgE,KAA5B9B,EAAe8B,SAEtE,GAAIuzG,GAAqBC,EAA2B,CAEhD,MAAMoE,EAC0B,KAA5B15G,EAAe8B,UAA4D,KAA5B9B,EAAe8B,SACxDoyG,GACCA,EAIX,GACgD,KAA5Cl0G,EAAegC,gBAAgBtmB,UACc,KAA7CskB,EAAegC,gBAAgBkB,UACjC,CAGE,IAAIvnB,EAAiBqkB,EAAerkB,eAKpC,GAJgC,IAA5BA,EAAeD,WACfC,EAAiBA,EAAer6D,MAGhC,GAAoCm6D,EAAWE,GAC/C,OAAQ1nE,GAwmB5B,SAA6B8yH,EAA0B9yH,EAAYigM,GAC/D,MAAMyF,EAAe5mF,GAAY9+G,GAAO8mG,GAC7ByY,GAAoCzY,KAG/C,OAAOgsB,EAAU6yE,0BACbD,OACsB5lM,GACtB,CAACgnG,EAAS8+F,KACN,GAAIj/F,GAAeG,GAGf,OAAOA,EAMX,MAAM++F,EACFx+F,GAAUu+F,IAAuE,IAAjDA,EAAkBr+F,QAAQ8D,YAAYrvG,OAChE4pM,EACA9+F,EAGV,OAAIK,GAAgBL,IAAYlB,GAAUqH,UAAUnG,EAAS,UAClDm5F,EACD/gF,GAAmBnZ,GAASgN,iBAAkBjM,EAAQ+B,WACtDg9F,EAINv/F,GAAeQ,KAAam5F,EACrBn5F,OADX,KAtoBmBg/F,CAAoBhzE,EAAW9yH,EAAMylM,GAIpD,GACgC,KAA5B/9H,EAAeD,UACf,GAAoCD,EAAWE,EAAeS,iBAC9B,IAAhCT,EAAe3jC,MAAM/nC,SACpB0rE,EAAeC,eAC6B,IAA7CD,EAAe3jC,MAAM,GAAG6jC,mBACvBF,EAAe3jC,MAAM,GAAG12B,MAC4B,KAArDq6D,EAAe3jC,MAAM,GAAG+jC,gBAAgBL,UACxCC,EAAe3jC,MAAM,GAAG+jC,gBAAgB55D,YACvCw5D,EAAe3jC,MAAM,GAAG+jC,gBAAgBE,YAC3C,CACE,MAAM+9H,EAAar+H,EAAe3jC,MAAM,GAAG+jC,gBAAgBxpE,MAC3D,GAA0B,iBAAfynM,EACP,OAAQ/lM,GAqjBhC,SAAkC8yH,EAA0B9yH,EAAYigM,EAAyB8F,GAC7F,OAAOjzE,EAAU6yE,0BAA0B3lM,OAA4BF,GAAYgnG,IAC/E,IACKK,GAAgBL,KAChBqL,GAAarL,IACd8Z,GAAsB9Z,KACrBA,EAAQiC,mBAET,OAAOjC,EAGX,MAAMk/F,EAAcl/F,EAAQiC,mBAAmB/sG,OAC/C,GAAI+pM,EAAa,GAAKA,GAAcC,EAChC,OAAOl/F,EAGX,MAAMm/F,EAAcnzE,EAAU82B,6BAA6B9iD,EAAQiC,mBAAmBg9F,GAAY/lM,MAElG,GAAIigM,GACA,IAAKntE,EAAUqD,cAAc8vE,EAAalgG,GAASgN,kBAC/C,YAGJ,GAAIzM,GAAe2/F,GACf,OAIR,OAAOn/F,KAhlBoBo/F,CAAyBpzE,EAAW9yH,EAAMylM,EAAmBM,IAOpF,GAAI3E,GAAgE,IAA3Cr1G,EAAerkB,eAAeD,SAAiC,CACpF,MAAM0+H,EAAWrzE,EAAU8D,oBACvB7qC,EAAerkB,eAAeA,oBACX5nE,EAAS,GAE9BE,KAEF,GACIknG,GAAoBi/F,IACpBvgG,GAAUqH,UAAUk5F,EAAU,SACqB,IAAnDp6G,EAAerkB,eAAehnE,UAAU1E,QACwB,IAAhE+vF,EAAerkB,eAAehnE,UAAU,GAAGknE,kBAGvC,GAAoCJ,EADvBukB,EAAerkB,eAAehnE,UAAU,GAAGonE,iBACE,CAC1D,MAAMmnC,EAAY6jB,EAAU82B,6BACxB92B,EAAU8D,oBAAoB7qC,EAAegC,iBAAiB/tF,MAGlE,GAAIknG,GAAoB+H,GACpB,OAAQjvG,GAywCpC,SAA6BA,EAAYivG,EAAsBgxF,GAC3D,OAAOnhF,GAAY9+G,GAAO8mG,IACtB,GAAIK,GAAgBL,GAAU,CAC1B,MAAMs/F,EAAUxgG,GAAU4M,cAAcvD,EAAWrJ,GAAUmJ,oBAAoBjI,IACjF,GAAIm5F,EACA,OAAImG,EACIxgG,GAAU+C,mBAAmB7B,EAASmI,GAC/BnI,EAEJlB,GAAUgK,gBAAgBX,QAErC,EAIA,GAAIm3F,GAAWxgG,GAAUjJ,QAAQmK,GAC7B,OAMJ,OAAOA,EAER,OAAIR,GAAeQ,GACfm5F,OAAiBngM,EAAYgnG,EAC7BH,GAAeG,IACfm5F,EAAiBr6F,GAAUgK,gBAAgBX,GAG/CnI,KAtyCwBu/F,CAAoBrmM,EAAMivG,EAAWw2F,IAQhE,GAAIrE,GACI,GAAoC55H,EAAWukB,EAAerkB,gBAAiB,CAC/E,MAAM4+H,EAAYxzE,EAAU8D,oBAAoB7qC,EAAegC,iBAAiB/tF,KAChF,GACImnG,GAAgBm/F,KACf1gG,GAAU4L,YAAY80F,IAAc1gG,GAAUqH,UAAUq5F,EAAW,eACzCxmM,IAA3BwmM,EAAU55F,aAEV,OAAQ1sG,GACGumM,GACHzzE,EACA9yH,EACAsmM,EACAb,GACmB,GAOvC,GAAIpE,EAA2B,CAE3B,MAAMoE,EAC0B,KAA5B15G,EAAe8B,SAAmCoyG,GAAkBA,EAExE,GAAI,GAAoCz4H,EAAWukB,EAAerkB,gBAAiB,CAC/E,MAAM4+H,EAAYxzE,EAAU8D,oBAAoB7qC,EAAegC,iBAAiB/tF,KAChF,GAAImnG,GAAgBm/F,SAAyCxmM,IAA3BwmM,EAAU55F,aACxC,OAAQ1sG,GACGumM,GACHzzE,EACA9yH,EACAsmM,EACAb,GACmB,GAOnC,GAAI,GAAoCj+H,EAAWukB,EAAegC,iBAAkB,CAChF,MAAM47D,EAAW72B,EAAU8D,oBAAoB7qC,EAAerkB,gBAAgB1nE,KAC9E,GAAImnG,GAAgBwiD,SAAuC7pJ,IAA1B6pJ,EAASj9C,aACtC,OAAQ1sG,GACGumM,GACHzzE,EACA9yH,EACA2pJ,EACA87C,GACmB,GAOnC,GAC+C,KAA3C15G,EAAerkB,eAAeD,UACiB,IAA/CskB,EAAerkB,eAAe3jC,MAAM/nC,SACnC+vF,EAAerkB,eAAeC,eAC6B,IAA5DokB,EAAerkB,eAAe3jC,MAAM,GAAG6jC,kBACvC,GAAoCJ,EAAWukB,EAAerkB,eAAeS,gBAC/E,CACE,MAAM0uD,EAAY/D,EAAU8D,oBACxB7qC,EAAerkB,eAAe3jC,MAAM,GAAG+jC,iBACzC9nE,KAEF,GAAImnG,GAAgB0vB,IAAc5W,GAAc4W,GAC5C,GAAIjxB,GAAUqH,UAAU4pB,EAAW,OAAQ,CACvC,MAAMyvE,EAAYxzE,EAAU8D,oBAAoB7qC,EAAegC,iBAAiB/tF,KAChF,GAAImnG,GAAgBm/F,SAAyCxmM,IAA3BwmM,EAAU55F,aACxC,OAAQ1sG,GAglCxC,SACI8yH,EACA0zE,EACAC,EACAC,EACAzG,GAEA,IAAI0G,GAAY,EAEhB,MAAMC,EAAe9nF,GAAY0nF,GAAgB1/F,IAC7C,GAAIK,GAAgBL,IAAYlB,GAAU0L,iBAAiBxK,GAAU,CACjE,MACM+/F,EADY7zE,GAA4BF,EAAWhsB,GAC/BvhG,IAAIkhM,EAAiB/5F,cAE/C,GAAIm6F,GAAW3mF,GAAqB2mF,EAAQ9+I,WACxC,OAAIk4I,EACOntE,EAAUqD,cAAc0wE,EAAQ9+I,UAAW2+I,GAAe5/F,OAAUhnG,EAEpEgzH,EAAUqD,cAAcuwE,EAAaG,EAAQ9+I,gBAAajoD,EAAYgnG,EAMzF,OADA6/F,GAAY,EACL7/F,KAGX,OAAO6/F,EAAYC,EAAeJ,EA1mCKM,CACHh0E,EACA9yH,EACA62H,EACAyvE,EACAb,QAIT,GAAI7/F,GAAUqH,UAAU4pB,EAAW,OAAQ,CAC9C,MAAMyvE,EAAYxzE,EAAU8D,oBAAoB7qC,EAAegC,iBAAiB/tF,KAChF,GAAImnG,GAAgBm/F,SAAyCxmM,IAA3BwmM,EAAU55F,aACxC,OAAQ1sG,GAimCxC,SACI8yH,EACA0zE,EACAC,EACAC,EACAzG,GAEA,IAAI0G,GAAY,EAEhB,MAAMC,EAAe9nF,GAAY0nF,GAAgB1/F,I,MAC7C,GACIK,GAAgBL,IAChBlB,GAAUuM,aAAarL,KACtB8Z,GAAsB9Z,IACkB,iBAAlC2/F,EAAiB/5F,aAC1B,CACE,MAAMq5F,EAAaU,EAAiB/5F,aACpC,GAAI5F,EAAQiC,oBAAsBg9F,GAAc,GAAKA,EAAaj/F,EAAQiC,mBAAmB/sG,OAAQ,CACjG,MAAM+qM,EAAuD,QAAtC,EAAAjgG,EAAQiC,mBAAmBg9F,UAAW,eAAE/lM,KAC/D,GAAI+mM,GAAkB7mF,GAAqB6mF,GACvC,OAAI9G,EACOntE,EAAUqD,cAAc4wE,EAAgBL,GAAe5/F,OAAUhnG,EAEjEgzH,EAAUqD,cAAcuwE,EAAaK,QAAkBjnM,EAAYgnG,GAO1F,OADA6/F,GAAY,EACL7/F,KAGX,OAAO6/F,EAAYC,EAAeJ,EAjoCKQ,CACHl0E,EACA9yH,EACA62H,EACAyvE,EACAb,KAU5B,GACIpE,GAC2C,IAA3Ct1G,EAAerkB,eAAeD,UACqB,IAAnDskB,EAAerkB,eAAehnE,UAAU1E,QACI,KAA5C+vF,EAAegC,gBAAgBtmB,UAC/BskB,EAAegC,gBAAgB7/E,WAI3B,GAAoCs5D,EAFvBukB,EAAerkB,eAAehnE,UAAU,GAAGonE,iBAEE,CAC1D,MAAMq+H,EAAWrzE,EAAU8D,oBACvB7qC,EAAerkB,eAAeA,oBACX5nE,EAAS,GAE9BE,KAEF,GAAI8nG,GAAWq+F,IAA2C,iBAA9BA,EAAS5+F,QAAQwG,SAA6B,CACtE,MAAMi4F,EAAcj6G,EAAegC,gBAAgBzvF,MAEnD,GAA2B,iBAAhB0nM,EACP,OAAQhmM,GAm5BpC,SACI8yH,EACA0zE,EACAS,EACAhH,GAEA,OAAOnhF,GAAY0nF,GAAgB1/F,IAC/B,MAAMogG,EAAkBp0E,EAAU82B,6BAA6B9iD,GAG/D,OACKK,GAAgB+/F,IAChB/0F,GAAa+0F,KACdtmF,GAAsBsmF,IACrBA,EAAgBn+F,mBAKMm+F,EAAgBn+F,mBAAmB/sG,SAAWirM,IAC3ChH,EAAiBn5F,OAAUhnG,EAJ9CgnG,KAl6BoBqgG,CAAyBr0E,EAAW9yH,EAAMgmM,EAAaP,IAQlF,GACIpE,GAC2C,KAA3Ct1G,EAAerkB,eAAeD,UAC9B,GAAoCD,EAAWukB,EAAerkB,eAAeA,gBAC/E,CACE,MAAM4+H,EAAYxzE,EAAU8D,oBAAoB7qC,EAAegC,iBAAiB/tF,KAC1EqoE,EAAa0jB,EAAerkB,eAAeW,WACjD,GAAI8+B,GAAgBm/F,SAAyCxmM,IAA3BwmM,EAAU55F,aACxC,OAAQ1sG,GACGonM,GACHt0E,EACA9yH,EACAqoE,EAAW/pE,MACXgoM,EACAb,GAQhB,GAC+C,KAA3C15G,EAAerkB,eAAeD,UAC9B,GAAoCD,EAAWukB,EAAerkB,eAAeA,gBAC/E,CACE,MAAM4+H,EAAYxzE,EAAU8D,oBAAoB7qC,EAAegC,iBAAiB/tF,KAC1EqoE,EAAa0jB,EAAerkB,eAAeW,WACjD,GACI8+B,GAAgBm/F,KACf1gG,GAAU4L,YAAY80F,IAAc1gG,GAAUqH,UAAUq5F,EAAW,eACzCxmM,IAA3BwmM,EAAU55F,aAEV,OAAQ1sG,GACGonM,GACHt0E,EACA9yH,EACAqoE,EAAW/pE,MACXgoM,EACAb,IAOpB,GAAgC,KAA5B15G,EAAe8B,UAEXoyG,GAAkB,GAAoCz4H,EAAWukB,EAAerkB,gBAAiB,CACjG,MAAM4+H,EAAYxzE,EAAU8D,oBAAoB7qC,EAAegC,iBAAiB/tF,KAChF,OAAQA,GAk3BxB,SAA+B8yH,EAA0B0zE,EAAqBa,GAE1E,IAAKlgG,GAAgBkgG,KAAmBzhG,GAAUqH,UAAUo6F,GACxD,OAAOb,EAGX,MAAMc,EAAcD,EAAc9/F,QAAQl6F,KAE1C,IAAK,CAAC,OAAQ,MAAO,YAAa,QAAS,SAASoiD,MAAMpiD,GAASA,IAASi6L,IACxE,OAAOd,EAGX,IAAKa,EAAcj+F,eAAwD,IAAvCi+F,EAAcj+F,cAAcptG,OAC5D,OAAOwqM,EAGX,IAAIe,EAAcF,EAAcj+F,cAAc,GAC1C+I,GAAak1F,IAAkBA,EAAct+F,qBAC7Cw+F,EAAcv7F,GAAaq7F,EAAct+F,mBAAmBjkF,KAAKyoC,GAAMA,EAAEvtD,SAG7E,IAAI2mM,GAAY,EAChB,MAAMa,EAA4BnoF,GAAkBkoF,GAE9CX,EAAe9nF,GAAY0nF,GAAgBiB,GACzC9gG,GAAe8gG,IACfd,GAAY,EACLc,GAGP30E,EAAUqD,cAAcoxE,EAAaE,GAC9BA,EAGP30E,EAAUqD,cAAcqxE,EAA2BC,GAC5C3oF,GAAYyoF,GAAcG,IAC7B,GAAIvgG,GAAgBugG,IAAmBt6F,GAA0Bq6F,EAAkBC,GAC/E,OAAOA,UAHnB,IAYJ,OAAOf,EAAYC,EAAeJ,EA/5BXmB,CAAsB70E,EAAW9yH,EAAMsmM,GAK1D,IAAgC,KAA5Bv6G,EAAe8B,UAA4D,KAA5B9B,EAAe8B,WAC1D,GAAoCrmB,EAAWukB,EAAegC,iBAAkB,CAGhF,MAAM47D,EAAW72B,EAAU8D,oBAAoB7qC,EAAerkB,gBAAgB1nE,KAC9E,GAAImnG,GAAgBwiD,IAAa/jD,GAAUqH,UAAU08C,EAAU,QAAU1pC,GAAc0pC,GAAW,CAC9F,MAAM87C,EAC0B,KAA5B15G,EAAe8B,SAA+BoyG,GAAkBA,EACpE,OAAQjgM,GAu5B5B,SACI8yH,EACA0zE,EACAoB,EACA3H,GAqDA,OAnDqBnhF,GAAY0nF,GAAgB1/F,IAC7C,GAAIK,GAAgBL,IAAYlB,GAAU0L,iBAAiBxK,GAAU,CACjE,MACM+/F,EADU7zE,GAA4BF,EAAWhsB,GAA6B,GAC5DvhG,IAAIqiM,EAAWl7F,cAEvC,GAAIuzF,EAAgB,CAChB,IAAK4G,EAKD,OAAOjhG,GAAUjJ,QAAQmK,QAAWhnG,EAAYgnG,EAKpD,GAAI+/F,EAAQloF,YAAckoF,EAAQnxE,WAC9B,OAAO5uB,EAGX,MAAM+gG,EAAwB/gG,EAAQsJ,yBAChC03F,EAAwB,IAAIhpL,IAgBlC,OAfI+oL,GAEAA,EAAsBvhL,SAAQ,CAAChoB,EAAO0kB,KAClC8kL,EAAsB3hM,IAAI6c,EAAK1kB,MAKvCwpM,EAAsB3hM,IAAIyhM,EAAWl7F,aAAwB,CACzD3kD,UAAW8+I,EAAQ9+I,UACnB42D,YAAY,EACZ+W,YAAY,IAIT9vB,GAAUgK,gBACbhK,GAAUsK,iCACNtK,GAAUmJ,oBAAoBjI,GAC9BghG,IAIR,YAAmBhoM,IAAZ+mM,IAA0BA,EAAQloF,YAAckoF,EAAQnxE,iBAAc51H,EAAYgnG,EAIjG,OAAOA,KA58BgBihG,CACHj1E,EACA9yH,EACA4lG,GAAUmJ,oBAAoB46C,GAC9B87C,KAQxB,GAAgC,IAA5B15G,EAAetkB,SAAiC,CAChD,MAAM0+H,EAAWrzE,EAAU8D,oBACvB7qC,EAAerkB,oBACI5nE,EAAS,GAE9BE,KAGF,GACI8nG,GAAWq+F,KACuB,eAAjCA,EAAS5+F,QAAQ+/F,aAAiE,eAAjCnB,EAAS5+F,QAAQ+/F,cAC/B,IAApCv7G,EAAerrF,UAAU1E,OAC3B,CAIE,MAAMgsM,EAAmD,eAAjC7B,EAAS5+F,QAAQ+/F,YACnCW,EAAWl8G,EAAerrF,UAAU,GAAGonE,gBACvCogI,EAAWn8G,EAAerrF,UAAU,GAAGonE,gBAC7C,GAAI,GAAoCN,EAAWygI,GAAW,CAC1D,MAQME,EAiXtB,SAAiCxjF,GAC7B,IAAIyjF,GAAoB,EACxB,MAAMD,EAAuE,GAIvEE,EAAuB1sF,IACzBA,EAAMr1F,SAASwgF,IACPI,GAAoBJ,IAAaO,GAAUP,IAAYtB,GAASgB,eAAeM,IAExEP,GAAgBO,IAGvBgB,GAAWhB,IAC2B,IAAtCA,EAAQS,QAAQljE,WAAWroC,QACgB,IAA3C8qG,EAAQS,QAAQljE,WAAW,GAAGi7B,UACa,IAA3CwnC,EAAQS,QAAQljE,WAAW,GAAGi7B,SAP9B6oI,EAAc9rM,KAAKyqG,GAWnBshG,GAAoB,MAiBhC,OAZAhrF,GAAiBuH,GAAU7d,IACnBG,GAAQH,IAAYtB,GAASvmG,WAAW6nG,IAAYqL,GAAarL,GAC7DA,EAAQiC,oBACRs/F,EAAoBvhG,EAAQiC,mBAAmBjkF,KAAKyoC,GAAMA,EAAEvtD,QAGhEqoM,EAAoB,CAACvhG,OAMtBshG,OAAoBtoM,EAAYqoM,EAtZLG,CARLx1E,EAAU8D,oBACvBsxE,OACApoM,EACA,KAGFE,MAIF,GAAImoM,EACA,OAAQnoM,IACJ,MAAM4mM,EAAe2B,GACjBz1E,EACA9yH,EACAmoM,EACAH,EACA/H,GACyB,EACzBl0G,GAEJ,OAAKsa,GAAQugG,GAKN2B,GACHz1E,EACA9yH,EACAmoM,EACAH,EACA/H,GACyB,EACzBl0G,GAXO66G,IAmB3B,GACI9+F,GAAWq+F,IACsB,aAAjCA,EAAS5+F,QAAQ+/F,aACmB,IAApCv7G,EAAerrF,UAAU1E,QAGrB,GAAoCwrE,EADvBukB,EAAerrF,UAAU,GAAGonE,iBAEzC,OAAQ9nE,IACJ,IAAI4mM,EAAe4B,GACf11E,EACA9yH,EACAigM,EACAl0G,GACyB,GAa7B,OAXIk0G,GAAkB55F,GAAQugG,KAE1BA,EAAe4B,GACX11E,EACA9yH,EACAigM,EACAl0G,GACyB,IAI1B66G,GAMnB,GACI1/F,GAAoBi/F,IACpBvgG,GAAUqH,UAAUk5F,EAAU,SACM,IAApCp6G,EAAerrF,UAAU1E,SACxB+vF,EAAerrF,UAAU,GAAG2M,MAEzB,GAAoCm6D,EAAWukB,EAAerrF,UAAU,GAAGonE,iBAC3E,OAAQ9nE,GACGyoM,GAAwB31E,EAAW9yH,EAAMigM,GAM5D,GAAIl0G,EAAerrF,UAAU1E,QAAU,GAE/B,GAAoCwrE,EADvBukB,EAAerrF,UAAU,GAAGonE,kBAIrCggC,GAAWq+F,IACXA,EAAS5+F,QAAQ2C,oBACjB/C,GAAgBg/F,EAAS5+F,QAAQ2C,qBACjCtE,GAAUqH,UAAUk5F,EAAS5+F,QAAQ2C,mBAAoB,CAAC,YAAa,oBACzE,CAEE,MAAMw+F,EAAqB51E,EAAU8D,oBAAoB7qC,GAAgB/rF,KACzE,GACImnG,GAAgBuhG,IAChB9iG,GAAUqH,UAAUy7F,EAAoB,SACxCA,EAAmBn4F,cACrB,CACE,MAAMC,EAAoB5K,GAAUqH,UAChCk5F,EAAS5+F,QAAQ2C,mBACjB,mBAEEqG,EAAgBm4F,EAAmBn4F,cAEzC,OAAQvwG,GAwIhC,SACI8yH,EACA9yH,EACAuwG,EACA0vF,EACAzvF,GAIA,OAAKA,EAKEsO,GAAY9+G,GAAO8mG,GACfgY,GAAYvO,GAAgBo4F,IAC/B,MAAMC,EAAY91E,EAAUqD,cAAc5lB,EAAezJ,GACnD+hG,EAAc/1E,EAAUqD,cAAcrvB,EAAS6hG,GAErD,GAAI1I,EAAgB,CAChB,GAAI2I,EACA,OAAO9hG,EACJ,GAAI+hG,EACP,OAAOF,OAGX,IAAKC,IAAcA,EACf,OAAO9hG,OAjBZm5F,EAAiB1vF,EAAgBvwG,EAjJb8oM,CACHh2E,EACA9yH,EACAuwG,EACA0vF,EACAzvF,KAS5B,GAAI,GAAoChpC,EAAWukB,GAC/C,OAAQ/rF,GACGyoM,GAAwB31E,EAAW9yH,EAAMigM,GAMxD,GACgC,KAA5Bl0G,EAAetkB,UACQ,KAAvBD,EAAUC,UACVskB,IAAmBvkB,EACrB,CAKE,MAAMuhI,EAAeC,GAAoBl2E,EAAW/mC,EAAgBA,GACpE,GAAIg9G,GAAwC,IAAxBA,EAAa/sM,QAAyC,IAAzB+sM,EAAa,GAAG/oM,KAAmC,CAChG,MAAMipM,EAAiBD,GAAoBl2E,EAAWtrD,EAAWukB,GAEjE,GAAIk9G,EAAgB,CAChB,IAAIC,EAAgC,GAyBpC,GAvBID,EAAejtM,OAAS,IAexBktM,EAAiBD,EAAep/I,QAAQqf,GAEhC4pD,EAAUq2E,gBAAgBp9G,EAAgB7iB,EAAKR,OAC/CoqD,EAAUq2E,gBAAgBjgI,EAAKR,KAAMqgI,EAAa,GAAGrgI,SAKnC,IAA1BwgI,EAAeltM,OAAc,CAC7B,MAAMotM,EAAWL,EAAa,GAAG7uF,mBAEjC,GACIkvF,IACC,GAAqCr9G,EAAgBq9G,IACtDv9G,GAAiBu9G,GAEjB,OAAO5D,GAAyB1yE,EAAWtrD,EAAW4hI,EAAUnJ,MAUpF,OAAgC,KAA5Bl0G,EAAetkB,UACiB,KAA5BskB,EAAe8B,SACR23G,GAAyB1yE,EAAWtrD,EAAWukB,EAAeh5B,YAAaktI,QAF1F,EAWJ,SAAS+I,GACLl2E,EACAzlH,EACAg8L,GAEA,MAAMxgI,EAAQq8B,GAAgB73F,GAC9B,GAAe,KAAXw7D,aAAK,EAALA,EAAO7oE,OAA0C,KAAX6oE,aAAK,EAALA,EAAO7oE,MAC7C,OAGJ,MAAM27E,EAAS9S,EAAM+lD,aAAavhH,EAAK/O,OACvC,IAAKq9E,EACD,OAGJ,MAAMuhB,EAAQvhB,EAAOy+B,kBACrB,GACqB,IAAjBld,EAAMlhG,QACNkhG,EAAMztC,MAAMyZ,GAAuB,IAAdA,EAAKlpE,MAAmD,IAAdkpE,EAAKlpE,OAEpE,OAKJ,IAAIspM,EACJ,GACIpsG,EAAMztC,MAAMyZ,IACR,MACMqgI,EAAgB,GADe,IAAdrgI,EAAKlpE,KAAqCkpE,EAAKR,KAAKr7D,KAAQ67D,EAAKR,MAExF,SAAI4gI,GAAiBC,IAAkBD,KAGvCA,EAAgBC,GACT,MAGX,OAGJ,MAAMC,EAAiBtsG,EAAMrzC,QAAQqf,GAAS4pD,EAAUq2E,gBAAgBE,EAAengI,EAAKR,QAE5F,OAAO8gI,EAAextM,OAAS,EAAIwtM,OAAiB1pM,EAwCxD,SAAS2oM,GAAwB31E,EAA0B9yH,EAAYigM,GACnE,OAAOnhF,GAAY9+G,GAAO8mG,IACtB,GAAIm5F,GACA,GAAIntE,EAAU22E,YAAY3iG,GACtB,OAAOgsB,EAAU42E,wBAAwB5iG,QAG7C,GAAIgsB,EAAU62E,WAAW7iG,GACrB,OAAOgsB,EAAU82E,yBAAyB9iG,MAmI1D,SAASyhG,GACLz1E,EACA9yH,EACAmoM,EACAH,EACA/H,EACA4J,EACAjkD,GAEA,MAAMp5C,EAAgBsS,GAAY9+G,GAAO8mG,GAC9ByY,GAAoCzY,KAMzCgjG,EAAkB,CACpBC,EACAC,EACA3+F,EACA4+F,KAEA,MAAMC,EAAwB,GAE9B,IAAIC,GAAkB,EAClBC,GAAmC,EAEvC,IAAK,MAAMC,KAAclC,EAAe,CACpC,MAAMmC,EAAqBx3E,EAAU82B,6BAA6BygD,GAElE,GAAInjG,GAAoBojG,GAAqB,CAIzC,MAAMC,GACDljG,GAAUgjG,KACVzkG,GAAU4M,cAAcu3F,EAASO,IAC7BtC,GACGpiG,GAAU+L,gBAAgB24F,IAC1Bx3E,EAAUqD,cAAcm0E,EAAoBP,IAC/CnkG,GAAUqH,UAAUq9F,EAAoB,SAAW1kG,GAAU0L,iBAAiBy4F,IACjFS,EACF5kG,GAAU4M,cAAc83F,EAAoBP,IAC3C/B,GACGpiG,GAAU+L,gBAAgBo4F,IAC1Bj3E,EAAUqD,cAAc4zE,EAASO,GAmBzC,GAjBIC,IACAJ,GAAkB,GASlBK,GACAD,IACC3kG,GAAU+C,mBAAmBohG,EAASO,KAEvCF,GAAmC,GAGnCnK,EACA,GAAIsK,EAGAL,EAAc7tM,KAAK6iH,GAAmB6qF,EAAS1+F,SAC5C,GAAIm/F,EAAkB,CAGzB,IAAIC,EAAwBJ,EAK5B,GAAIpjG,GAAQojG,KAEJzkG,GAAUgL,iBAAiBy5F,IAC3BA,EAAW9iG,QAAQ6G,eAAepyG,OAAS,GAC7C,CACE,MAAMglH,EAAa,IAAIpG,GAAWgF,GAAkByqF,IAC9CK,EAA0B9kG,GAAUkK,uBACtCu6F,OACoBvqM,GACS,GAI7BgzH,EAAU63E,sCACND,EACAX,EACA/oF,OACwBlhH,KAG5B2qM,EAAwB/qF,GACpBgrF,EACA1pF,GACwB,IAMxCkpF,EAAc7tM,KAAK6iH,GAAmBurF,EAAuBp/F,SAC1D,GAAIw+F,EAAoB,CAM3B,MAAMn5G,EAAY,gBAAgBq5G,EAAQxiG,QAAQl6F,YAAYi9L,EAAmB/iG,QAAQl6F,QACnFm8D,EAAW,GAAYo8E,GAC7B,IAAI51C,EAAepK,GAAU6J,mBACzB/e,EACA,GAAgCk1D,EAAWp8E,EAASwC,WAAY0kB,GAChElnB,EAASwC,WACTxC,EAAS3M,SAAQ,EAEjB,GAA+B+oF,QACP9lJ,EACxBiqM,EAAQxiG,QAAQmI,mBAChBq6F,EAAQxiG,QAAQlJ,WAEpB2R,EAAazI,QAAQgI,YAAc,CAAC3J,GAAUmJ,oBAAoBg7F,GAAUO,GAC5ErkF,GAAwBjW,GAExBA,EAAekP,GAAmBlP,EAAcs6F,EAAmBzhG,WAG/DxB,GAAU2iG,KACTA,EAAeziG,QAAQM,aACsB,IAA9CmiG,EAAeziG,QAAQ8D,YAAYrvG,SAEnCg0G,EAAekP,GAAmBlP,EAAc,CAC5C,CACI0G,YAAatQ,GAAYkS,iBAAiB0xF,GAC1CrzF,gBAAiB,EACjBi0F,sBAAsB,MAKlCV,EAAc7tM,KAAK2rM,EAAkBpiG,GAAUgK,gBAAgBI,GAAgBA,SAGpF,GAAI3I,GAAUgjG,IAAe7kG,GAASgB,eAAe6jG,GAGpDrC,GAAmBxiG,GAASvmG,WAAW+qM,GACnC3iG,GAAU2iG,IAAmB5hG,GAAWqX,GAAkB4qF,GAAaL,GAGnE/J,GACAiK,EAAc7tM,KAAK2tM,GAGnB/J,EACAiK,EAAc7tM,KAAKojH,GAAkB4qF,KAIrCH,EAAc7tM,KAAK2tM,GACnBI,GAAmC,IAGnCpC,GAAmBxiG,GAASgB,eAAewjG,KAC/C3iG,GAAU2iG,IAAmB5hG,GAAWiiG,EAAYL,GAChD/J,GACAiK,EAAc7tM,KAAK2tM,GAGnB/J,EACAiK,EAAc7tM,KAAKguM,IAEnBH,EAAc7tM,KAAK2tM,GACnBI,GAAmC,SAI5C,GAAItiG,GAAWuiG,IAEdrC,EAAiB,CACjB,IAAI6C,GAAa,EAEb5jG,GAAQ8iG,KAEJc,IADArlG,GAASgB,eAAewjG,MAGTnoF,GAAkBkoF,EAAS,aAI9Cc,IACI5K,EACAiK,EAAc7tM,KAAK2tM,GAEnBG,GAAkB,IAkBtC,OANKlK,GACIkK,IAAmBC,GACpBF,EAAc7tM,KAAK4tM,GAItBjC,EAIEkC,EAAcplL,KAAKyoC,GAAMkyD,GAAkBlyD,KAHvC28I,GAyCTY,EAAoC,GACpCC,EAAuB,GAEvBC,EAAel4E,EAAU6yE,0BAC3Bn5F,OACsB1sG,GACtB,CAACgnG,EAAS8+F,KAMN,MAAMqF,EAAmB9rF,GAAiBrY,GAAWA,EAAU8+F,EACzDsF,EAAsB/jG,GAAgBL,IAAYlB,GAAUqH,UAAUnG,EAAS,QAErF,GAAIm5F,GAAkBt5F,GAAeG,GAajC,OATIkhG,EACA8C,EAA0BzuM,KACtB2vG,GAAam8F,EAAcrjL,KAAKmqF,GAAcwQ,GAAkBxQ,OAGpE67F,EAA0BzuM,KAAK2vG,GAAam8F,SAGhD4C,EAAa1uM,KAAKyqG,GAItB,GAAIkhG,EAAiB,CACjB,GAAI1hG,GAAeQ,GAAU,CACzB,MAAMqkG,EAAmBhD,EAAc14I,MAAMlC,GAAMg5C,GAAgBh5C,KACnE,OAAI0yI,EACOkL,EAAmBrkG,OAAUhnG,EAE7BqrM,OAAmBrrM,EAAYgnG,EAI9C,IAAIM,GAASN,IAAaK,GAAgBL,IAAYlB,GAAUqH,UAAUnG,EAAS,gBAG3Em5F,EAAgB,CAChB,MAAMiK,EAAgB/B,EAAct+I,QAAQolD,IACxC,MAAMm8F,EAAoBt4E,EAAU82B,6BAA6B36C,GACjE,OACI/H,GAAoBkkG,IAAsBxlG,GAAU+L,gBAAgBy5F,MAI5E,GAAIlB,EAAcluM,OAAS,EACvB,OAAOyjH,GAAkBzT,GAAak+F,IAKlD,GAAI/iG,GAAgBL,KAAaokG,EAC7B,OAAOl/F,GACH89F,EACIlkG,GAAUmJ,oBAAoBjI,GAC9B2Y,GAAkBmmF,GAClBzmF,GAAiBrY,GACjBmkG,IAKZ,IAAKnjG,GAAWhB,IAAYiB,GAAqBjB,KAAakhG,EAC1D,OAAOh8F,GAzGI,EAAC+9F,EAAgDC,KACxE,MAAME,EAAwB,GAE9B,GAAIjK,EACA,IAAK,MAAMoK,KAAclC,EAAe,CACpC,MAAMmC,EAAqBx3E,EAAU82B,6BAA6BygD,GAE9Dv3E,EAAUqD,cAAc4zE,EAAStqF,GAAkB6qF,MAG/CxiG,GAAWuiG,GACXH,EAAc7tM,KAAK2tM,GAEnBE,EAAc7tM,KAAKojH,GAAkB4qF,UAKhDlC,EAAc14I,MAAM46I,IAGjB,MAAMC,EAAqBx3E,EAAU82B,6BAA6BygD,GAClE,QAAIpjG,GAAQqjG,KAAwB1kG,GAAU+L,gBAAgB24F,KAIvDx3E,EAAUqD,cAAc4zE,EAAStqF,GAAkB6qF,QAG9DJ,EAAc7tM,KAAK2tM,GAGvB,OAAOE,GAyEyBmB,CAAmBvkG,EAAS2Y,GAAkBmmF,KAGtE,GAAI1+F,GAAoBJ,IAAYokG,EAAqB,CAErD,MAAMI,EAAmBnD,EAAc14I,MAClCw/C,GAAc/H,GAAoB+H,IAAcrJ,GAAUqH,UAAUgC,EAAW,UAEpF,OAAIgxF,EACOqL,EAAmBL,OAAmBnrM,EAEtCwrM,OAAmBxrM,EAAYmrM,OAG3C,CACH,GAAI/jG,GAAoBJ,GACpB,OAAOkF,GACH89F,EAAgBhjG,EAAS8+F,EAAmBzmF,GAAiBrY,GAAUmkG,IAI/E,GAAIC,EAAqB,CACrB,MAAMl8F,EAAa8jB,EAAUy4E,iBAAiB3lD,EAAW,UACzD,GAAI52C,GAAc7H,GAAgB6H,GAC9B,OAAOhD,GACH89F,EACIlkG,GAAUmJ,oBAAoBC,GAC9BiV,GAAsB2hF,GACtBzmF,GAAiBrY,GACjBmkG,KAOpB,OAAOhL,OAAiBngM,EAAYmrM,KAU5C,OAAI5kG,GAAQ2kG,IAAiBF,EAA0B9uM,OAAS,EACrDgwG,GAAa8+F,GAGpBC,EAAa/uM,OAAS,EACfgwG,GAAa,CAACg/F,KAAiBD,IAGnCC,EAqNX,SAAS5D,GACLt0E,EACA0zE,EACAn+H,EACAq+H,EACAzG,GAyBA,OAvBqBnhF,GAAY0nF,GAAgB1/F,IAC7C,IAAIqyD,EAOJ,GANIhyD,GAAgBL,GAChBqyD,EAAav3C,GAAmB9a,EAASz+B,GAClC6+B,GAAoBJ,KAC3BqyD,EAAat3C,GAAkB/a,EAASz+B,IAGxC8wF,GAAcA,EAAWz3C,eAAgB,CACzC,MAAM03C,EAAatmC,EAAU0lC,gBAAgBW,GAE7C,GAAIj5C,GAAqBk5C,GACrB,OAAI6mC,EACOntE,EAAUqD,cAAcijC,EAAYstC,GAAe5/F,OAAUhnG,EAE7DgzH,EAAUqD,cAAcuwE,EAAattC,QAAct5J,EAAYgnG,EAKlF,OAAOA,KA4Cf,SAASy/F,GACLzzE,EACA0zE,EACAE,EACAzG,EACAuL,GAEA,OAAO1sF,GAAY0nF,GAAgB1/F,IAE/B,GAAIK,GADJL,EAAUgsB,EAAU82B,6BAA6B9iD,KACjBlB,GAAU+C,mBAAmB+9F,EAAa5/F,GAAU,CAChF,QAA6BhnG,IAAzBgnG,EAAQ4F,aAA4B,CACpC,MAAM++F,EAAsB7lG,GAAU2D,mBAAmBzC,EAAS4/F,GAClE,GAAK+E,IAAwBxL,IAAqBwL,GAAuBxL,EACrE,OAEJ,OAAOn5F,EACJ,GAAIm5F,EACP,OAAOyG,EACJ,CAGH,MAAMgF,EAAkBC,GAAyB74E,EAAWhsB,GAC5D,GAAI4kG,GAAmBA,EAAgB1vM,OAAS,EAC5C,OAAOgwG,GACH0/F,EAAgB7hJ,QAAQ7pD,IAAU4lG,GAAU2D,mBAAmBvpG,EAAM0mM,YAI9E,GAAIzG,IACHuL,GAAgBllG,GAAeQ,IAC/B,OAIR,OAAOA,KAIR,SAAS6kG,GAAyB74E,EAA0B9yH,GAC/D,GAAI4lG,GAAUqH,UAAUjtG,EAAM,QAE1B,MAAO,CACH4lG,GAAUyH,iBAAiBrtG,GAAkB,GAC7C4lG,GAAUyH,iBAAiBrtG,GAAkB,IAIrD,GAAI4lG,GAAU4L,YAAYxxG,GAAO,CAE7B,MAAM4rM,EAAwB,GAe9B,OAde5rM,EAAKunG,QAAQiE,OACrBllF,SAASq1D,IACZ,IAAKA,EAAOo9B,4BAA6B,CACrC,MAAM8yF,EAAa/4E,EAAUgC,yBAAyBn5C,GAElDwrB,GAAgB0kG,IAChBjmG,GAAU+C,mBAAmB3oG,EAAM6rM,SACP/rM,IAA5B+rM,EAAWn/F,cAEXk/F,EAASvvM,KAAKwvM,OAKnBD,GAUf,SAASpD,GACL11E,EACA9yH,EACAigM,EACAr6C,EACAikD,GAEA,OAAO/2E,EAAU6yE,0BAA0B3lM,OAA4BF,GAAYgnG,IAC/E,OAAQA,EAAQxnC,UACZ,KAAK,EACL,KAAK,EACD,OAAO2gI,EAAiBn5F,OAAUhnG,EAGtC,KAAK,EACL,KAAK,EACD,OAAOmgM,OAAiBngM,EAAYgnG,EAGxC,KAAK,EACD,GAAItB,GAASgB,eAAeM,GACxB,OAAOm5F,EAAiBn5F,OAAUhnG,EAKtC,GADuB+hH,GAAkB/a,EAAS,YAsD9C,OAAOm5F,EAAiBn5F,OAAUhnG,EApDlC,IAAKmgM,EACD,OAAOn5F,EAGX,GAAI+iG,EAAoB,CAIpB,MAAMn5G,EAAY,wBAAwBoW,EAAQS,QAAQl6F,QACpDm8D,EAAW,GAAYo8E,GAC7B,IAAI51C,EAAepK,GAAU6J,mBACzB/e,EACA,GAAgCk1D,EAAWp8E,EAASwC,WAAY0kB,GAChElnB,EAASwC,WACTxC,EAAS3M,SAAQ,EAEjB,GAA+B+oF,QACP9lJ,EACxBgnG,EAAQS,QAAQmI,mBAChB5I,EAAQS,QAAQlJ,WAEpB2R,EAAazI,QAAQgI,YAAc,CAAC3J,GAAUmJ,oBAAoBjI,IAClEmf,GAAwBjW,GAExBA,EAAekP,GAAmBlP,EAAclJ,EAAQ+B,WAGxD,MAAMijG,EAAajmG,GAAakN,eAC5B,WACA,GACA,GAAE,IAGAogB,EAA+B,CACjC7zD,SAAU,EACVjyD,KAAM,OACNrN,KAAM4lG,GAAUgK,gBAAgBI,GAChCgE,iBAAiB,GAUrB,OARAnO,GAAa6O,aAAao3F,EAAY34E,GACtCttB,GAAa0O,qBAAqBu3F,GAClCA,EAAWvkG,QAAQ2C,mBAAqBxE,GAAYvyF,SACpD68F,EAAazI,QAAQiE,OAAOrlG,IACxB,WACA,kBAAsB,EAAyB2lM,IAG5ClmG,GAAUgK,gBAAgBI,GAGrC,OAMR,QAGI,OAAOlJ,MCtjDvB,MAAMilG,GAA2B,CAC7B,gBACA,qBACA,iBACA,gBACA,iBACA,qBACA,eACA,gBACA,eACA,eACA,kBAoBG,SAASC,GACZl5E,EACA9yH,EACAg3B,EACAipK,GAEA,OAAQjpK,EAAQywC,UACZ,KAAK,GACD,OAkCZ,SACIqrD,EACA9yH,EACAg3B,EACAipK,GAEA,IAAKA,EAED,OAAOjgM,EAGX,IAAIisM,EAAeC,GAAuBp5E,EAAW9yH,EAAMg3B,EAAQpN,QAAQ5tB,OAAQg7B,EAAQs5D,gBAoF3F,OAjFA27G,EAAeA,EAAapiJ,QAAQ4Q,IAChC,IAAI0xI,GAAmB,EACvB,MAAMC,EAA6B,GACnC,IAAIC,EAAiB5xI,EAAM6xI,QA0C3B,GAxCAt1K,EAAQpN,QAAQtD,SAAQ,CAACimL,EAAephL,KACpC,MAAMqhL,EAAYC,GACd35E,EACA97F,EACAyjC,EACAtvC,EACA6L,EAAQpN,QAAQ5tB,OAChBg7B,EAAQs5D,gBACc,GACA,GAGpBo8G,EAAoBV,GACtBl5E,EACA05E,EACAD,GACqB,GAGrBphL,IAAU6L,EAAQs5D,eAEd6W,GAAgBulG,IAChBA,EAAkB3jG,qBACjB6X,GAAsB8rF,IACvBA,EAAkB3jG,mBAElBqjG,EAAmB/vM,QAAQqwM,EAAkB3jG,mBAAmBjkF,KAAKyoC,GAAMA,EAAEvtD,SAE7EosM,EAAmB/vM,KAAKqwM,GACxBL,GAAiB,IAGrBD,EAAmB/vM,KAAKqwM,GAEpBrmG,GAAQqmG,KACRP,GAAmB,OAK3BA,EAAkB,CAIlB,GAAIE,EAAgB,CAChB,MAAMM,EAAiB75E,EAAUI,eAAel8F,EAAS,SACrD21K,GAAkBzlG,GAAoBylG,KACtClyI,EAAMqsC,QAAUlB,GAAUgK,gBACtBqV,GACI0nF,EACAP,EAAmBtnL,KAAKyoC,IACb,CAAEvtD,KAAMutD,EAAG27C,aAAa,SAQnD,GAAIzuC,EAAMmyI,SAAU,CAChB,MAAMC,EAAe/5E,EAAUg6E,cAAc91K,EAAS,YAClD61K,GAAgB3lG,GAAoB2lG,KACpCpyI,EAAMqsC,QAAUlB,GAAUgK,gBACtBhK,GAAUkK,uBACN+8F,EACA,CAACxtF,GAAkBrT,GAAaogG,MACH,MAOjD,OAAOD,KAGJngG,GAAaigG,EAAannL,KAAK21C,GAAUA,EAAMqsC,WAjIvCimG,CAAiCj6E,EAAW9yH,EAAMg3B,EAASipK,GAGtE,KAAK,GACD,OAkRZ,SACIntE,EACA9yH,EACAg3B,EACAipK,GAEA,MAAMyG,EAAc5zE,EAAU8D,oBAAoB5/F,EAAQ+7B,YAAY/yD,KAEtE,OAgCO8+G,GAAY9+G,EAhCdigM,EAgCqBn5F,IACtB,GAAIgsB,EAAUqD,cAAcrvB,EAAS4/F,GACjC,OAAOA,GAjCe5/F,IACtB,KACIK,GAAgBu/F,IAChBzmF,GAAcymF,IACdv/F,GAAgBL,IAChBmZ,GAAcnZ,IACdgsB,EAAUqD,cAAcuwE,EAAa5/F,IAKrCR,GAAeQ,IAAYR,GAAeogG,IAK9C,OACIv/F,GAAgBL,IAChBlB,GAAUqH,UAAUnG,EAAS,cACJhnG,IAAzBgnG,EAAQ4F,cACRvF,GAAgBu/F,IAChB9gG,GAAUqH,UAAUy5F,EAAa,cACJ5mM,IAA7B4mM,EAAYh6F,aAEL9G,GAAUyH,iBAAiBq5F,GAAeA,EAAYh6F,cAG1D5F,IAtTAkmG,CAAgCl6E,EAAW9yH,EAAMg3B,EAASipK,GAGrE,KAAK,GACD,OA8TZ,SACIntE,EACA9yH,EACAg3B,EACAipK,GAEA,IAAIgN,EAAWn6E,EAAU8D,oBACrB5/F,EAAQ05D,eACW5wF,EAAS,GAE9BE,KAQF,GAJIinG,GAAQgmG,KAAcA,EAAShlG,gBAC/BglG,EAAWpqF,GAAoBoqF,KAG9BhN,EAAgB,CAEjB,IAAK/4F,GAAoB+lG,GACrB,OAAOjtM,EAGX,IAAIivG,EAAYg+F,EAEZh+F,EAAU1H,QAAQ6G,eAAepyG,OAAS,IAC1CizG,EAAYrJ,GAAUkK,uBAAuBb,OAAWnvG,GAAwC,IAGpG,MAAMotM,EAAgBztF,GAAkBxQ,GACxC,OAAO6jB,EAAU6yE,0BACb3lM,OACsBF,GACtB,CAACqtM,EAAwBC,KACrB,IAAKjmG,GAAgBgmG,GACjB,OAAOC,EAGX,IAAKt6E,EAAUqD,cAAc+2E,EAAeC,GACxC,OAAOA,EAKX,GAAiC,IAA7Bn2K,EAAQt2B,UAAU1E,OAClB,OAMJ,IAAK82H,EAAUqD,cAAcg3E,EAAwBD,KAC5CtnG,GAAUjJ,QAAQwwG,GACnB,OAAOA,EAIf,GACiC,IAA7Bn2K,EAAQt2B,UAAU1E,SACjBg7B,EAAQt2B,UAAU,GAAG2M,MACtB0+L,GAAyBt8I,MAAMihC,GAAcue,EAAU1H,QAAQwG,WAAard,IAE5E,OAKJ,IAAI28G,EAA+B,GAC/Br2K,EAAQt2B,UAAU+uD,MAAMxxD,IAASA,EAAIoP,QACjC45F,GAAQkmG,KACRE,EAAqBC,GAA2Bx6E,EAAWq6E,IAInE,IAAK,IAAIhiL,EAAQ,EAAGA,EAAQ6L,EAAQt2B,UAAU1E,OAAQmvB,IAUlD,IAAKk7E,GATmBknG,GACpBz6E,EACA97F,EAAQt2B,UAAUyqB,GAClBA,EACAkiL,EACAF,EACAlN,IAIA,OAAOmN,KAU3B,OAAK5nG,GAASgB,eAAeymG,GAUtBn6E,EAAU6yE,0BACbsH,OACsBntM,GACtB,CAAC0tM,EAAiB5H,IACVj/F,GAAe6mG,GACR5H,EAGP1+F,GAAoBsmG,GACb16E,EAAU6yE,0BACb3lM,OACsBF,GACrBqtM,IACG,GAAIxmG,GAAewmG,GACf,OAAO1tF,GAAkBmmF,GAG7B,GAAIz+F,GAAgBgmG,GAAyB,CACzC,IAAIM,EAEJ,GACI36E,EAAUqD,cACNq3E,EACA5nG,GAAUmJ,oBAAoBo+F,IAGlCM,EAAaN,MACV,KACHr6E,EAAUqD,cACNvwB,GAAUmJ,oBAAoBo+F,GAC9BK,GAuCJ,OA9BA,GANAC,EAAavuF,GACTO,GAAkBmmF,GAClBzmF,GAAiBguF,IAIjBjmG,GAAoB0+F,IAAsBz+F,GAAgBgmG,KAEtDvnG,GAAUgL,iBAAiBg1F,IAC3BA,EAAkBr+F,QAAQ6G,eAAepyG,OAAS,GACpD,CACE,MAAMglH,EAAa,IAAIpG,GAAWgF,GAAkBgmF,IAC9C8H,EAAyB9nG,GAAUkK,uBACrC81F,OACoB9lM,GACS,GAG3B6tM,EAAoB/nG,GAAUgK,gBAAgB89F,GAEhD56E,EAAU63E,sCACNgD,EACAR,EACAnsF,EACA,MAGJysF,EAAa/tF,GACTiuF,EACA3sF,GACwB,KAW5C,IAAIqsF,EAA+B,GAC/Br2K,EAAQt2B,UAAU+uD,MAAMxxD,IAASA,EAAIoP,SACrCggM,EAAqBC,GAA2Bx6E,EAAW06E,IAG/D,IAAII,GAAe,EAmBnB,GAlBA52K,EAAQt2B,UAAU4lB,SAAQ,CAACroB,EAAKktB,KAaxBk7E,GAToBknG,GACpBz6E,EACA70H,EACAktB,EACAkiL,EACAI,EACAxN,MAIA2N,GAAe,MAInBA,EACA,OAAOH,WA3F3B,KAjBJ36E,EAAUyC,cACN,GAAYv+F,GAASw+F,kBAAkBC,wBACvC/X,GAAe+X,wBACf7C,GAAUlD,mBAAmBusB,eAAe5pI,OAAO,CAAErS,KAAM8yH,EAAUuC,UAAU43E,KAC/Ej2K,EAAQ05D,WAELsV,GAAUsG,eAraNuhG,CAA8B/6E,EAAW9yH,EAAMg3B,EAASipK,GAGnE,KAAK,GACD,OAwHZ,SACIntE,EACA9yH,EACAg3B,EACAipK,GAEA,IAAI6N,EAAgB9tM,EAEpB,OAAKigM,EAiBEj0F,GAVeh1E,EAAQw5D,WAAW1rE,KAAK+4J,IAC1C,MAAMkwB,EAAkB/B,GACpBl5E,EACAg7E,EACAjwB,GACqB,GAGzB,OADAiwB,EAAgB9B,GAAyBl5E,EAAWg7E,EAAejwB,GAAiC,GAC7FkwB,OAdP/2K,EAAQw5D,WAAWlqE,SAASu3J,IACxBiwB,EAAgB9B,GAAyBl5E,EAAWg7E,EAAejwB,GAAiC,MAEjGiwB,GApIIE,CAA2Bl7E,EAAW9yH,EAAMg3B,EAASipK,GAGhE,KAAK,GACD,OAgJZ,SACIntE,EACA9yH,EACAg3B,EACAipK,GAEA,IAAKA,EAED,OAAOjgM,EAGX,IAAIiuM,EAAcC,GAAsBp7E,EAAW9yH,GA2EnD,OAxEAiuM,EAAcA,EAAYpkJ,QAAQskJ,IAC9B,IAAIhC,GAAmB,EAoEvB,OAnEAn1K,EAAQpN,QAAQtD,SAAS8nL,IACrB,GAAID,EAAmBvgD,WACnB,GAA8B,KAA1BwgD,EAAa3mI,SAAmD,CAChE,MAAM4mI,EAAkBrC,GACpBl5E,EACAA,EAAUy4E,iBAAiBv0K,EAAS,OACpCo3K,EAAax9G,WACbqvG,GAGA55F,GAAQgoG,KACRlC,GAAmB,GAGvB,MAAMpkJ,EAAY+2D,GAAYuvF,GAAkBC,IAC5C,GAAI3nG,GAAe2nG,GACf,OAAOA,EAGX,GAAInnG,GAAgBmnG,IAAe1oG,GAAUqH,UAAUqhG,EAAY,OAAQ,CACvE,IAAKruF,GAAcquF,GACf,OAAO5oG,GAAYvyF,SAGvB,MACMo7L,EADYv7E,GAA4BF,EAAWq7E,EAAmBvgD,WAC/CroJ,IAAI+oM,EAAW5hG,cAC5C,GAAI6hG,EAAY,CACZ,MAAMC,EAAoBxC,GACtBl5E,EACAy7E,EAAWxmJ,UACXqmJ,EAAav9G,cACQ,GAEzB,IAAKwV,GAAQmoG,GACT,OAAOA,OAQnBnoG,GAAQt+C,KACRokJ,GAAmB,SAGxB,GAAIgC,EAAmBM,cACI,KAA1BL,EAAa3mI,SAAmD,CAChE,MAAM4mI,EAAkBrC,GACpBl5E,EACAq7E,EAAmBM,aAAazrL,IAChCorL,EAAax9G,WACbqvG,GAEEuO,EAAoBxC,GACtBl5E,EACAq7E,EAAmBM,aAAanwM,MAChC8vM,EAAav9G,aACbovG,IAEA55F,GAAQgoG,IAAoBhoG,GAAQmoG,MACpCrC,GAAmB,OAM5BA,KAGJngG,GAAaiiG,EAAYnpL,KAAK21C,GAAUA,EAAMqsC,WAtOtC4nG,CAAgC57E,EAAW9yH,EAAMg3B,EAASipK,GAGrE,KAAK,GACD,OA+kBZ,SACIntE,EACA67E,EACA33K,EACAipK,GAEA,MAAMl4I,EAAY+qE,EAAU8D,oBAAoB5/F,EAAQ+7B,YAAY/yD,KAC9D4uM,EAA2B,GAwEjC,OAtEA97E,EAAU6yE,0BACN59I,OACsBjoD,GACtB,CAAC+uM,EAAsBC,KACnBF,EAAiBvyM,KACby2H,EAAU6yE,0BACNgJ,EACAxvF,GAAiB0vF,IAChB1B,IAEG,IAAKlN,EAAgB,CACjB,GACI94F,GAAgBgmG,IAChBvnG,GAAU4L,YAAY27F,KACrBltF,GAAcktF,IACfhmG,GAAgB0nG,IAChBzhG,GAA0B+/F,EAAwB0B,IAClD5uF,GAAc4uF,GAChB,CACE,MAAME,EAAepD,GAAyB74E,EAAWq6E,GACzD,GAAI4B,EACA,OAAO/iG,GACH+iG,EAAallJ,QACRmlJ,IAAcppG,GAAU2D,mBAAmBslG,EAAsBG,WAI3E,GACH7nG,GAAgBgmG,IAChBhmG,GAAgB0nG,IAChBjpG,GAAU2D,mBAAmBslG,EAAsB1B,GAEnD,OAGJ,OAAOA,EAGX,OAAI9mG,GAAQwoG,IAAyBxoG,GAAQ8mG,GAClCnnG,GAAUsG,cAGjB3F,GAAekoG,IAAyBloG,GAAewmG,GAEhDzmG,GAAUmoG,IAAyBnoG,GAAUymG,GAC9CznG,GAAYvyF,SACZ8yF,GAAQ9yF,SAKC2/G,EAAUm8E,mBAAmBj4K,EAAQ+7B,YAAY,IAChE+/D,EAAUo8E,6BACNL,EACA,CAAC1B,GACD,SACAn2K,EAAQ+7B,gBACWjzD,KAIPgvM,OAAyBhvM,SAS1DksG,GAAa4iG,GA9pBLO,CAA8Br8E,EAAW9yH,EAAMg3B,EAASipK,GAGnE,KAAK,GAED,OAAOA,EAAiBjgM,EAAOgmG,GAAUsG,cAG7C,KAAK,EACD,OAAOtsG,GA8NnB,SAASstM,GAA2Bx6E,EAA0B9yH,GAC1D,MAAMovM,EAAsBvtF,GAAkB7hH,EAAM,kBACpD,GAAIovM,EAAqB,CACrB,MAAMC,EAAgBv8E,EAAU0lC,gBAAgB42C,GAChD,GACIjoG,GAAgBkoG,IAChBl9F,GAAak9F,KACZzuF,GAAsByuF,IACvBA,EAActmG,mBAChB,CACE,MAAMumG,EAAYD,EAActmG,mBAGhC,GACIumG,EAAUvnL,OACL9pB,GACGkpG,GAAgBlpG,EAAI+B,OAAS4lG,GAAUqH,UAAUhvG,EAAI+B,KAAM,QAAUigH,GAAchiH,EAAI+B,QAG/F,OAAOsvM,EAAUxqL,KAAK7mB,GAASA,EAAI+B,KAAmB0sG,gBAKlE,MAAO,GA+QX,SAAS6gG,GACLz6E,EACA70H,EACAsxM,EACAlC,EACAmC,EACAvP,G,MAEA,IAAIvvC,EAsBA/rC,EAdJ,GANI1mH,EAAIoP,KACJqjJ,EAAUzyJ,EAAIoP,KAAK/O,MACZixM,EAAWlC,EAAmBrxM,SACrC00J,EAAU28C,EAAmBkC,IAG7B5oG,GAAe6oG,GACf,OAAOA,EAGX,IAAKvoG,GAAQuoG,GACT,OAAO9pG,GAAYvyF,SAUvB,GANI8zF,GAAQuoG,IACRzD,GAAyBt8I,MAAMihC,GAAc8+G,EAAUjoG,QAAQwG,WAAard,KAC/D,IAAb6+G,IACCtxM,EAAIoP,KAILs3G,EAAU/e,GAAUgK,gBAAgB4/F,QAcpC,GAZI9+C,IACA/rC,EAQC,QARS,EAAAmO,EAAUm8E,mBAAmBhxM,GAAK,IAGxC60H,EAAU28E,wBACNxxM,EACA2nG,GAAUgK,gBAAgB4/F,GAC1B9+C,YAEP,eAAE1wJ,OAGF2kH,EAAS,CACV,IAAKs7E,EACD,OAAOuP,EAMX,GAAI5pG,GAAUjJ,QAAQ6yG,GAClB,OAAOxpG,GAAUsG,cAGrBqY,EAAUjf,GAAYvyF,SAI9B,OAAO64L,GAAyBl5E,EAAWnO,EAAS1mH,EAAI+4B,QAASipK,GAuFrE,SAASiO,GAAsBp7E,EAA0B9yH,GACrD,MAAMiuM,EAAoC,GA+C1C,OA7CA7wF,GAAiBp9G,GAAO8mG,IACpB,MAAMogG,EAAkBp0E,EAAU82B,6BAA6B9iD,GAE/D,GAAIH,GAAeugG,GACf+G,EAAY5xM,KAAK,CACbyqG,UACA2nG,aAAc,CACVzrL,IAAKkkL,EACL5oM,MAAO4oM,UAGZ,GAAI//F,GAAgB+/F,GACvB,GAAIthG,GAAU0L,iBAAiB41F,GAC3B+G,EAAY5xM,KAAK,CACbyqG,UACA8mD,UAAWs5C,QAEZ,CACH,IAAIwI,EACJ,IAAK,MAAM3vF,KAAYmnF,EAAgB3/F,QAAQoI,IAC3C,GAAIzI,GAAoB6Y,IAAana,GAAUqH,UAAU8S,EAAU,WAAY,CAC3E2vF,EAAuB3vF,EACvB,MAIR,GAAI2vF,EAAsB,CACtB,MAAMC,EAAqB9uF,GACvB6uF,EACAxI,GAEAyI,EAAmBvmG,eAAiBumG,EAAmBvmG,cAAcptG,QAAU,GAC/EiyM,EAAY5xM,KAAK,CACbyqG,UACA2nG,aAAc,CACVzrL,IAAK2sL,EAAmBvmG,cAAc,GACtC9qG,MAAOqxM,EAAmBvmG,cAAc,WAS7D6kG,EAKX,SAAS/B,GACLp5E,EACA9yH,EACA4vM,EACAt/G,GAEA,MAAM27G,EAAsC,GACtC4D,OAAmC/vM,IAAnBwwF,EAA+Bs/G,EAAaA,EAAa,EA6F/E,OA3FAxyF,GAAiBp9G,GAAO8mG,IACpB,MAAMogG,EAAkBp0E,EAAU82B,6BAA6B9iD,GAC/D,IAAI4oG,EAEJ,GAAI/oG,GAAeugG,GACf+E,EAAa5vM,KAAK,CACdyqG,UACAgpG,WAAY,CAAC5I,GACb6I,uBAAuB,SAK/B,GAAI5oG,GAAgB+/F,GAAkB,CAClC,GAAIthG,GAAUqH,UAAUi6F,EAAiB,UAOrC,YANA+E,EAAa5vM,KAAK,CACdyqG,UACAgpG,WAAY,CAACrwF,GAAkBynF,IAC/B6I,uBAAuB,EACvBnD,UAAU,IAKlB,IAAK,MAAM7sF,KAAYmnF,EAAgB3/F,QAAQoI,IAAK,CAChD,IAAKzI,GAAoB6Y,GACrB,MAIJ,GACIna,GAAUqH,UAAU8S,EAAU,QAC9Bna,GAAUqH,UAAU8S,EAAU,UAC9Bna,GAAUqH,UAAU8S,EAAU,aAE9B,MAGJ,GAAIna,GAAUqH,UAAU8S,EAAU,YAAa,CAC3C2vF,EAAuB3vF,EACvB,MAGJ,GAAI5N,GAAa4N,GAAW,CACxB2vF,EAAuB3vF,EACvB,OAIR,GAAI2vF,EAAsB,CACtB,MAAMM,EAAsBnvF,GAAwB6uF,EAAsBxI,GAEtE/0F,GAAa69F,GACTA,EAAoBjnG,qBAChB6X,GAAsBovF,GACtB/D,EAAa5vM,KAAK,CACdyqG,UACAgpG,WAAY,CAAC9jG,GAAagkG,EAAoBjnG,mBAAmBjkF,KAAKyoC,GAAMA,EAAEvtD,SAC9E+vM,uBAAuB,EACvBzD,SAAS,IAIT0D,EAAoBjnG,mBAAmB/sG,QAAU6zM,SAC7B/vM,IAAnBwwF,GACG0/G,EAAoBjnG,mBAAmB/sG,SAAW6zM,IAEtD5D,EAAa5vM,KAAK,CACdyqG,UACAgpG,WAAYE,EAAoBjnG,mBAAmBjkF,KAAKyoC,GAAMA,EAAEvtD,OAChE+vM,uBAAuB,EACvBzD,SAAS,KAMzBL,EAAa5vM,KAAK,CACdyqG,UACAgpG,WAAY,CACRE,EAAoB5mG,eAAiB4mG,EAAoB5mG,cAAcptG,OAAS,EAC1Eg0M,EAAoB5mG,cAAc,GAClC1D,GAAYvyF,UAEtB48L,uBAAuB,SAOpC9D,EAGX,SAASQ,GACL35E,EACApqD,EACAujI,EACAvsI,EACAkwI,EACAt/G,EACA2/G,EACAC,GAEA,GAAIjE,EAAa8D,sBAAuB,CACpC,IAAIvD,EAAYP,EAAa6D,WAAW,GAKxC,GAAII,EAAiB,CACjB,MAAMlhG,EAAa8jB,EAAUy4E,iBAAiB7iI,EAAM,UAChDsmC,GAAc7H,GAAgB6H,KAC9Bw9F,EAAYx9F,GAQpB,OAJKihG,GAAmBvwI,IAAe4wB,GAAmB+V,GAAQmmG,KAC9DA,EAAY2D,GAAer9E,EAAWpqD,EAAM8jI,IAGzCA,EAGX,QAAuB1sM,IAAnBwwF,GAAgC5wB,EAAa4wB,EAC7C,OAAO27G,EAAa6D,WAAWpwI,GAGnC,GAAIA,IAAe4wB,EAAgB,CAO/B,IAAIk8G,EAAYxgG,GAJOigG,EAAa6D,WAC/BlxM,MAAM0xF,EAAgBA,EAAiB27G,EAAa6D,WAAW9zM,OAAS4zM,EAAa,GACrF9qL,KAAK9kB,GAASq/G,GAAkBr/G,MAQrC,OAJKiwM,IACDzD,EAAY2D,GAAer9E,EAAWpqD,EAAM8jI,IAGzCA,EAKX,MAAMrmI,EAAY8lI,EAAa6D,WAAW9zM,QAAU4zM,EAAalwI,GAGjE,OAFA5M,EAAOqT,GAAa,GAAKA,EAAY8lI,EAAa6D,WAAW9zM,QAEtDiwM,EAAa6D,WAAW3pI,GAK5B,SAASiqI,GACZt9E,EACA9yH,EACAqwM,EACAH,EACAl5K,GAKA,OAFAh3B,EAAOgsM,GAAyBl5E,EAAW9yH,EAAMg3B,GAA4B,GAErEA,EAAQywC,UACZ,KAAK,GAA+B,CAChC,MAAMwkI,EAAeC,GACjBp5E,EACA9yH,EACAg3B,EAAQpN,QAAQ5tB,OAChBg7B,EAAQs5D,gBAGZt5D,EAAQpN,QAAQtD,SAAQ,CAACm0C,EAAOtvC,KAC5B,MAAMqhL,EAAYxgG,GACdigG,EAAannL,KAAK7H,GACdwvL,GACI35E,EACA97F,EACA/Z,EACAkO,EACA6L,EAAQpN,QAAQ5tB,OAChBg7B,EAAQs5D,gBACc,EACtB4/G,MAKZE,GAA2Bt9E,EAAW05E,EAAW6D,GAAwC,EAAO51I,MAEpG,MAGJ,KAAK,GACGzjC,EAAQnwB,QACRisH,EAAUw9E,uBAAuBt5K,EAAQnwB,OAAQ7G,EAAMqwM,EAAkBr5K,EAAQnwB,QAGrFmwB,EAAQw5D,WAAWlqE,SAASk4J,IACxB4xB,GAA2Bt9E,EAAW9yH,EAAMqwM,EAAkBH,EAAiB1xB,GAI/Ex+K,EAAOgsM,GAAyBl5E,EAAW9yH,EAAMw+K,GAA8B,MAEnF,MAGJ,KAAK,GACD1rD,EAAUw9E,uBACNt5K,EAAQnwB,OACRmwB,EAAQ25D,WAAasV,GAAQ9yF,SAAWnT,EACxCqwM,EACAr5K,EAAQnwB,QAEZ,MAGJ,KAAK,GAA8B,CAC/B,MAAMonM,EAAcC,GAAsBp7E,EAAW9yH,GAErDg3B,EAAQpN,QAAQtD,SAAS8nL,IACrB,MAAMmC,EAAmB,GACnBC,EAAqB,GAE3BvC,EAAY3nL,SAAS6nL,IACjB,GAAIA,EAAmBvgD,UACnB,GAA8B,KAA1BwgD,EAAa3mI,SAAmD,CAChE,MAAM8rD,EAAUy4E,GACZl5E,EACAA,EAAUy4E,iBAAiBv0K,EAAS,OACpCo3K,EAAax9G,YACQ,GAEzB2/G,EAASl0M,KAAKk3H,GAEdnW,GAAiBmW,GAAU+6E,IACvB,GACInnG,GAAgBmnG,IAChB1oG,GAAUqH,UAAUqhG,EAAY,QAChCruF,GAAcquF,GAChB,CACE,MAIMmC,EAJYz9E,GACdF,EACAq7E,EAAmBvgD,WAEKroJ,IAAI+oM,EAAW5hG,cAC3C8jG,EAAWn0M,KAAKo0M,EAAYA,EAAU1oJ,UAAY29C,GAAYvyF,eAE9Dq9L,EAAWn0M,KAAKqpG,GAAYvyF,kBAGH,KAA1Bi7L,EAAa3mI,WACpB8oI,EAASl0M,KAAKy2H,EAAUy4E,iBAAiBv0K,EAAS,QAClDw5K,EAAWn0M,KAAKqpG,GAAYvyF,gBAE7B,GAAIg7L,EAAmBM,aAC1B,GAA8B,KAA1BL,EAAa3mI,SAAmD,CAChE,MAAM8rD,EAAUy4E,GACZl5E,EACAq7E,EAAmBM,aAAazrL,IAChCorL,EAAax9G,YACQ,GAEzB2/G,EAASl0M,KAAKk3H,GACdi9E,EAAWn0M,KACP2vM,GACIl5E,EACAq7E,EAAmBM,aAAanwM,MAChC8vM,EAAav9G,cACQ,SAGI,KAA1Bu9G,EAAa3mI,WACpB8oI,EAASl0M,KAAK8xM,EAAmBM,aAAazrL,KAC9CwtL,EAAWn0M,KAAK8xM,EAAmBM,aAAanwM,WAK5D,MAAMi1H,EAAUvnB,GAAaukG,GACvBxoJ,EAAYikD,GAAawkG,GAE/B,GAA8B,KAA1BpC,EAAa3mI,SACb2oI,GACIt9E,EACAS,EACA88E,GACsB,EACtBjC,EAAax9G,YAEjBw/G,GACIt9E,EACA/qE,EACAsoJ,GACsB,EACtBjC,EAAav9G,mBAEd,GAA8B,KAA1Bu9G,EAAa3mI,SAAsD,CAC1E,MAAMipI,EAAY59E,EAAUI,eAAel8F,EAAS,QAC9Cw9F,EAAU1B,EAAUy4E,iBAAiBv0K,EAAS,OAC9C25K,EACFD,GAAaxpG,GAAoBwpG,IAAcvpG,GAAgBqtB,GACzD5uB,GAAUgK,gBACNhK,GAAUkK,uBACN4gG,EACA,CAACn9E,EAASxrE,IACmB,IAGrC29C,GAAYvyF,SACtB2/G,EAAUw9E,uBACNlC,EAAavnM,OACb8pM,EACAN,EACAjC,EAAavnM,YAIzB,MAGJ,KAAK,GAA4B,CAC7B,MAAM+pM,EAAqB55K,EAAQt2B,UAAUokB,KAAK7mB,GAAQ,KAE1D60H,EAAU6yE,0BAA0B3lM,OAA4BF,GAAY0tM,IACpErmG,GAAgBqmG,GAChBpwF,GAAiBp9G,GAAO6wM,IACpB,MAAM3J,EAAkBp0E,EAAU82B,6BAA6BinD,GAE/D,GAAIlqG,GAAeugG,GACflwK,EAAQt2B,UAAU4lB,SAAQ,CAACroB,EAAKktB,KAC5BylL,EAASzlL,GAAO9uB,KAAK6qM,WAEtB,GAAI//F,GAAgB+/F,GAAkB,CAGzC,IAAImG,EAA+B,GAC/Br2K,EAAQt2B,UAAU+uD,MAAMxxD,IAASA,EAAIoP,SACrCggM,EAAqBC,GACjBx6E,EACAltB,GAAUmJ,oBAAoBy+F,KAItCx2K,EAAQt2B,UAAU4lB,SAAQ,CAACroB,EAAKktB,KAC5B,MAAM2lL,EAAkBvD,GACpBz6E,EACA70H,EACAktB,EACAkiL,EACAznG,GAAUmJ,oBAAoBy+F,IACT,GAEzBoD,EAASzlL,GAAO9uB,KAAKy0M,UAKjC95K,EAAQt2B,UAAU4lB,SAAQ,CAACroB,EAAKktB,KAC5BylL,EAASzlL,GAAO9uB,KAAKqpG,GAAYvyF,gBAO7C6jB,EAAQt2B,UAAU4lB,SAAQ,CAACroB,EAAKktB,KAC5BilL,GACIt9E,EACA9mB,GAAa4kG,EAASzlL,IACtBklL,GACsB,EACtBpyM,EAAI+4B,YAGZ,QAYZ,SAASm5K,GAAer9E,EAA0BpqD,EAAiB1oE,GAC/D,GAAIqmG,GAAQrmG,GACR,OAAOA,EAGX,MAAM+wM,EAAiBtxF,GAAkBqT,EAAUy4E,iBAAiB7iI,EAAM,SAC1E,OAAIqoI,GAAkB5pG,GAAgB4pG,GAC3BnrG,GAAUkK,uBAAuBihG,EAAgB,CAAC/wM,IAAoC,GAG1F0lG,GAAYvyF,SCtkCvB,MAAM69L,GAAoB,IAAIlyL,IAA4B,CACtD,CAAC,QAAS,CAAEN,QAAS4+C,GAAckkH,KAAMvzE,SAAU,iBAAkBtgC,gBAAiB,UACtF,CAAC,OAAQ,CAAEjvD,QAAS4+C,GAAckkH,KAAMvzE,SAAU,gBAAiBtgC,gBAAiB,SACpF,CAAC,OAAQ,CAAEjvD,QAAS4+C,GAAckkH,KAAMvzE,SAAU,gBAAiBtgC,gBAAiB,SACpF,CAAC,MAAO,CAAEjvD,QAAS4+C,GAAckkH,KAAMvzE,SAAU,eAAgBtgC,gBAAiB,QAClF,CAAC,YAAa,CAAEjvD,QAAS4+C,GAAckkH,KAAMvzE,SAAU,qBAAsBtgC,gBAAiB,cAC9F,CAAC,OAAQ,CAAEjvD,QAAS4+C,GAAckkH,KAAMvzE,SAAU,gBAAiBtgC,gBAAiB,SACpF,CAAC,QAAS,CAAEjvD,QAAS4+C,GAAckkH,KAAMvzE,SAAU,oBAAqBtgC,gBAAiB,sBACzF,CACI,cACA,CACIjvD,QAAS4+C,GAAckkH,KACvBvzE,SAAU,0BACVtgC,gBAAiB,4BAGzB,CACI,cACA,CACIjvD,QAAS4+C,GAAckkH,KACvBvzE,SAAU,0BACVtgC,gBAAiB,4BAGzB,CACI,UACA,CAAEjvD,QAAS4+C,GAAckkH,KAAMvzE,SAAU,sBAAuBtgC,gBAAiB,wBAErF,CACI,WACA,CAAEjvD,QAAS4+C,GAAckkH,KAAMvzE,SAAU,uBAAwBtgC,gBAAiB,2BAIpFwjI,GAAyB,IAAInyL,IAA4B,CAC3D,CAAC,WAAY,CAAEN,QAAS4+C,GAAcE,MAAOywC,SAAU,kBAAmBtgC,gBAAiB,WAC3F,CAAC,QAAS,CAAEjvD,QAAS4+C,GAAcE,MAAOywC,SAAU,eAAgBtgC,gBAAiB,QAGlF,MAAMyjI,WAAgB,GAUzBjkM,YAAYy7D,EAAkBoqD,GAC1B5lH,QAPI,KAAAikM,2BAA4B,EAI5B,KAAAC,aAA8C,GAKlDpwM,KAAKqwM,YAAc3oI,EACnB1nE,KAAKk0L,UAAY,GAA6BxsH,GAC9C1nE,KAAKypH,WAAaqI,EAGtBx5F,QACIt4B,KAAKowM,aAAa/0M,KAAK2E,KAAKqwM,aAE5BrwM,KAAK20L,oCAAoC30L,KAAKqwM,YAAY5lI,YAG1D,MAAM5B,EAAgB,GAAkC7oE,KAAKqwM,aACzDxnI,IACA7oE,KAAKypH,WAAW6mF,kBAAkBtwM,KAAKqwM,YAAaxnI,EAAcE,OAElE/oE,KAAKuwM,8BAA8B1nI,EAAc24E,cAKrDxhJ,KAAKwwM,wBAELxwM,KAAKywM,0BAGA1gH,KAAKroB,GACL,GAAmCA,GAGpC1nE,KAAKypH,WAAWinF,oBAAoBhpI,GAAM,KACtCx7D,MAAM6jF,KAAKroB,MAHfx7D,MAAM6jF,KAAKroB,GAQVssB,WAAWtsB,GAEhB,OADA1nE,KAAK20L,oCAAoCjtH,EAAK+C,aACvC,EAGFopB,mBAAmBnsB,GAUxB,OATAA,EAAK+C,WAAWnlD,SAASskD,IACjBihB,GAAiBjhB,IAIjB5pE,KAAKypH,WAAW8D,QAAQ3jD,OAIzB,EAGFonB,WAAWtpB,GAChB,MAAMipI,EAAkB3wM,KAAKypH,WAAW4C,eAAe3kD,GA2EvD,OAzEA1nE,KAAK+vF,KAAKroB,EAAKukB,OACfjsF,KAAKkwF,aAAaxoB,EAAKwkB,YACvBlsF,KAAKkwF,aAAaxoB,EAAKhoE,WAEnBixM,IAEI/rG,GAAU+L,gBAAgBggG,EAAgB1iG,aAC1CvmC,EAAKhoE,UAAU4lB,SAASroB,IACpB,IAAKA,EAAIoP,KAAM,CACX,MAAMunH,EAAgB5zH,KAAKypH,WAAW8D,QAAQtwH,EAAI6pE,iBAE9C8sD,GACA1tB,GAAoB0tB,KACnBhvB,GAAUqH,UAAU2nB,EAAe,cACnChvB,GAAUqH,UAAU2nB,EAAe,aAE/BhvB,GAAU+L,gBAAgBijB,IAC3B5zH,KAAKypH,WAAWgM,SACZ7D,GAAUv4F,WAAWsyG,oBAAoBt6H,OAAO,CAC5C48F,UAAWjuG,KAAKypH,WAAW4K,UACvBs8E,EAAgB1iG,WACM,GAE1BsnB,SAAUv1H,KAAKypH,WAAW4K,UAAUT,GAAqC,KAE7E32H,EAAI6pE,sBASxB9mE,KAAK4wM,mCAAmClpI,EAAMipI,EAAgB1iG,YAO7DjuG,KAAKk0L,UAAUt/G,aAChB50E,KAAK6wM,4BAA4BF,EAAgB1iG,WACjDjuG,KAAK8wM,+BAA+BH,EAAgB1iG,YAGxDjuG,KAAK+wM,0CAA0CJ,EAAgB1iG,UAAWvmC,EAAKr7D,MAE/ErM,KAAKgxM,gCAAgCL,EAAgB1iG,WAErDjuG,KAAKixM,8BAA8BN,EAAgB1iG,WAEnDjuG,KAAKkxM,wCAAwCP,EAAgB1iG,WAE7DjuG,KAAKmxM,+BAA+BR,EAAgB1iG,UAAWvmC,GAE/D1nE,KAAKoxM,2BAA2BT,EAAgB1iG,UAAWvmC,GAE3D1nE,KAAKqxM,+BAA+BV,EAAgB1iG,UAAWvmC,GAE/D1nE,KAAKsxM,4BAA4BX,EAAgB1iG,WAE7CrJ,GAAU0L,iBAAiBqgG,EAAgB1iG,YAC3CjuG,KAAKuxM,6BAA6B7pI,EAAKukB,OAGvC2Y,GAAU4L,YAAYmgG,EAAgB1iG,YACtCjuG,KAAKwxM,2BAA2B9pI,EAAMipI,EAAgB1iG,YAI9DjuG,KAAKowM,aAAa/0M,KAAKqsE,IAEhB,EAGFyqB,cAAczqB,G,MACnB,MAAM+pI,EAAqBzxM,KAAKypH,WAAW4oC,kBAAkB3qF,GACvD4tH,EAAsB,GAAiC5tH,GAA2B,GAExF,GAAI+pI,EAAoB,CAGpB,IAAIC,GAAmB,EAGvBhqI,EAAKrkC,WAAW/d,SAAQ,CAAClC,EAAO+G,KAC5B,GAAI/G,EAAM/W,KAEN,GAAuB,IAAnB+W,EAAMk7C,SAA2C,CACjD,MAAMyvH,EAAiB3qK,EAAM4pE,gBAAkB5pE,EAAMqtE,sBACrD,GACIs9F,GAC4B,KAA5BA,EAAetnH,UACqB,SAApCsnH,EAAe1mH,WAAW/pE,MAC5B,CACE,MAAMi4H,EAAWv1H,KAAKypH,WAAW8D,QAAQwgE,EAAernH,gBACpD6uD,GAAYlvB,GAAUkvB,IAAaA,EAAShvB,QAAQM,cACpD6qG,GAAmB,SAGD,IAAnBtuL,EAAMk7C,WACbozI,GAAmB,GAc3B,GAVItuL,EAAM/W,MAA2B,IAAnB+W,EAAMk7C,UAAyCozI,GAC7D1xM,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAW0tG,+BAA+B11H,OAAO,CAAEhF,KAAM+W,EAAM/W,KAAK/O,QAC9E8lB,EAAM/W,MAKV+W,EAAM/W,MAA6B,MAArB+W,EAAM/W,KAAK/O,MAAe,CACxC,MAAMq0M,EAAoBF,EAAmBj+F,aAAajN,QAAQljE,WAAWkoC,MACxE/4D,IAAK,MAAC,OAAAA,EAAEnG,QAAmB,QAAV,EAAA+W,EAAM/W,YAAI,eAAE/O,UAElC,GAAIq0M,EAAmB,CACnB,MAAM3vF,EAAY2vF,EAAkB3yM,KAEpC,GACI0mG,GAAUsc,IACT3b,GAAU2b,IACPA,EAAUzb,QAAQyD,gBACjBgY,EAAUzb,QAAQ2Q,kBAEvBl3G,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBuwC,2BACjCroD,GAAeqoD,2BACfnzC,GAAUv4F,WAAWuxG,mBAAmBv5H,OAAO,CAAE4rF,UAAW75E,EAAM/W,KAAK/O,QACvE8lB,EAAM/W,WAEP,GAAIo3G,GAAgBzB,GAAY,CACnC,MAAM4vF,EAAe,IAAIljF,GACzBkjF,EAAahjF,WACTgD,GAAUlD,mBAAmB1M,YAAY3wG,OAAO,CAC5C2wG,UAAWhiH,KAAKypH,WAAW4K,UAAUrS,GAAiC,MAG9EhiH,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBuwC,2BACjCroD,GAAeqoD,2BACfnzC,GAAUv4F,WAAWyxG,4BAA4Bz5H,OAAO,CACpD4rF,UAAW75E,EAAM/W,KAAK/O,QACrBs0M,EAAa5iF,YAClB5rG,EAAM/W,MAId,IAAIwlM,GAAgB,GAEhBJ,EAAmBj+F,aAAajN,QAAQljE,WAAWlZ,GAAO6iE,gBAItDqZ,GAAU2b,IAAcA,EAAUzb,QAAQ2Q,qBAH9C26F,GAAgB,GAQfA,GACD7xM,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkB4wC,2BACjC1oD,GAAe0oD,2BACfxzC,GAAUv4F,WAAWywG,yBAAyBz4H,OAAO,CAAEhF,KAAM+W,EAAM/W,KAAK/O,QACxE8lB,EAAM/W,OAOtB,GAAI+W,EAAM8vE,cAAgBlzF,KAAKk0L,UAAUt/G,WAAY,CACjD,MAAMk9H,EAAmB9xM,KAAKypH,WAAW8D,QAAQnqG,EAAM8vE,cAClD4+G,GAAqBpyF,GAAeoyF,IACrC9xM,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBwxC,2BACjCtpD,GAAespD,2BACfp0C,GAAUv4F,WAAW8jG,0BACrB/5G,EAAM8vE,kBAOtB,MAAM6+G,EAAkBN,EAAmBj+F,aAAajN,QAAQljE,WAAWwlB,QAAQzlC,MAC3EA,EAAM4pE,gBAAkBqZ,GAAUjjF,EAAMpkB,OAAS6nG,GAAYzjF,EAAMpkB,OAC5C,IAAnBokB,EAAMk7C,UAAyCl7C,EAAM/W,MAAQ+W,EAAMpkB,KAAK+3G,mBAQrD,IAA3Bg7F,EAAgB/2M,QAAgB+2M,EAAgB,GAAG/kH,gBACnDhtF,KAAKypH,WAAWgM,SACZ7D,GAAUv4F,WAAW2wG,2BACrB+nE,EAAgB,GAAG/kH,gBAKvBhtF,KAAKk0L,UAAUt/G,aAEXlN,EAAK0lB,uBAAsD,QAA9B,EAAA1lB,EAAK0qB,iCAAyB,eAAEhF,uBAE7DptF,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBuwC,2BACjCroD,GAAeqoD,2BACfnzC,GAAUv4F,WAAWszG,oBACrBjlE,EAAKr7D,OAKbipL,GACAt1L,KAAKgyM,gBAAgBtqI,EAAM+pI,EAAmBj+F,aAAc8hF,GA2EpE,GAvEA5tH,EAAKrkC,WAAW/d,SAAQ,CAAClC,EAAO+G,KAa5B,GAZI/G,EAAM8vE,cACNlzF,KAAK+vF,KAAK3sE,EAAM8vE,cAGhB9vE,EAAM4pE,gBACNhtF,KAAK+vF,KAAK3sE,EAAM4pE,gBAGhB5pE,EAAMqtE,uBACNzwF,KAAK+vF,KAAK3sE,EAAMqtE,uBAGhBghH,EAAoB,CACpB,MAAMpO,EAAiBjgL,EAAM4pE,gBAAkB5pE,EAAMqtE,sBACrD,GAAI4yG,GAAkBl5K,EAAQsnL,EAAmBj+F,aAAajN,QAAQljE,WAAWroC,OAAQ,CACrF,MAAMgnH,EAAYyvF,EAAmBj+F,aAAajN,QAAQljE,WAAWlZ,GAAOnrB,KAExEqnG,GAAU2b,IACqB,IAA/BA,EAAUzb,QAAQ0D,WACjB+X,EAAUzb,QAAQyD,eAC8B,aAAjDynG,EAAmBj+F,aAAajN,QAAQl6F,MAExCrM,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWsxG,qBACrB04D,QAOhB37H,EAAK0lB,sBACLptF,KAAK+vF,KAAKroB,EAAK0lB,sBAGf1lB,EAAK0qB,2BACLpyF,KAAK+vF,KAAKroB,EAAK0qB,2BAGnBpyF,KAAKkwF,aAAaxoB,EAAKwkB,YAEvBxkB,EAAKrkC,WAAW/d,SAASlC,IACjBA,EAAM/W,MACNrM,KAAK+vF,KAAK3sE,EAAM/W,SAIxBrM,KAAK+vF,KAAKroB,EAAKukB,OAEXwlH,IAEAzxM,KAAKiyM,wBAAwBvqI,EAAM+pI,EAAmBj+F,cAGtDxzG,KAAKkyM,0BAA0BxqI,EAAM+pI,EAAmBj+F,kBAAsC10G,IAAxBw2L,GAItEt1L,KAAKmyM,iCACDzqI,EACA+pI,EAAmBj+F,kBACK10G,IAAxBw2L,IAOJt1L,KAAKk0L,UAAUt/G,YAAkC,gBAApBlN,EAAKr7D,KAAK/O,MAAyB,CAChE,MAAMuqE,EAAQq8B,GAAgBx8B,GACf,KAAXG,aAAK,EAALA,EAAO7oE,OACPgB,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkByxC,qBACjCvpD,GAAeupD,qBACfr0C,GAAUv4F,WAAW80G,kBACrBzmE,EAAKr7D,MASjB,GAJArM,KAAKowM,aAAa/0M,KAAKqsE,GAEvB1nE,KAAKoyM,8BAA8B1qI,GAE/B+pI,GAAsB1qG,GAAqB0qG,EAAmBn/C,eAAgB,CAC9E,MAAM/oD,EAAYkoG,EAAmBn/C,cAAc/oD,UACnD,GAAIA,EAAUvuG,OAAS,EAAG,CACtB,MAAMq3M,EAAoC,IAKtC9oG,EAAUvuG,OAASq3M,GACnBryM,KAAKsyM,6BACD5qI,EACA6hC,EAAUA,EAAUvuG,OAAS,GAC7BuuG,EAAU3rG,MAAM,EAAG2rG,EAAUvuG,OAAS,KAMtD,OAAO,EAGFs3F,YAAY5qB,GACjB1nE,KAAKypH,WAAW8D,QAAQ7lD,GAGxB1nE,KAAKkwF,aAAa,IAAIxoB,EAAKrkC,WAAYqkC,EAAK3V,aAE5C2V,EAAKrkC,WAAW/d,SAASlC,IACrB,GAAIA,EAAM/W,KAAM,CACZ,MAAM21G,EAAYhiH,KAAKypH,WAAW8D,QAAQnqG,EAAM/W,MAC5C21G,IACItc,GAAUsc,GACVhiH,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBywC,wBACjCvoD,GAAeuoD,wBACfrzC,GAAUv4F,WAAWuxG,mBAAmBv5H,OAAO,CAAE4rF,UAAW75E,EAAM/W,KAAK/O,QACvE8lB,EAAM/W,MAEHo3G,GAAgBzB,IACvBhiH,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBywC,wBACjCvoD,GAAeuoD,wBACfrzC,GAAUv4F,WAAWyxG,4BAA4Bz5H,OAAO,CAAE4rF,UAAW75E,EAAM/W,KAAK/O,QAChF8lB,EAAM/W,WAO1B,MAAM+8F,EAAappG,KAAKypH,WAAW8D,QAAQ7lD,EAAK3V,YAuBhD,OAtBIq3C,IACI1D,GAAU0D,GACVppG,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBywC,wBACjCvoD,GAAeuoD,wBACfrzC,GAAUv4F,WAAW+rG,0BACrB19D,EAAK3V,YAEF0xD,GAAgBra,IACvBppG,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBywC,wBACjCvoD,GAAeuoD,wBACfrzC,GAAUv4F,WAAWgsG,mCAAmCh0H,OAAO,CAC3D+3F,WAAYppG,KAAKypH,WAAW4K,UAAUjrB,GAAkC,KAE5E1hC,EAAK3V,aAKjB/xD,KAAKowM,aAAa/0M,KAAKqsE,IAEhB,EAGFqpB,UAAUrpB,G,MAKf,GAJA1nE,KAAKuyM,wBAAwB7qI,GAE7B1nE,KAAKwyM,wCAAwC9qI,IAGmB,SAA5D1nE,KAAKk0L,UAAU1/D,kBAAkB2xC,wBAC0B,SAA3DnmK,KAAKk0L,UAAU1/D,kBAAkB4xC,wBAER,MAAV,QAAX,EAAA1+F,EAAKviC,cAAM,eAAEshC,UAA0C,CACvD,MAAMgsI,EAC+B,KAAjC/qI,EAAKhB,eAAeD,UAAiE,gBAA9BiB,EAAKhB,eAAeppE,MACzE8rG,EAAappG,KAAKypH,WAAW8D,QAAQ7lD,IAEtC+qI,GAAoBrpG,GAAcppG,KAAK0yM,+BAA+BtpG,KACvEppG,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkB2xC,uBACjCzpD,GAAeypD,uBACfv0C,GAAUv4F,WAAWy7G,mBAAmBzjI,OAAO,CAC3CrS,KAAMgB,KAAKypH,WAAW4K,UAAUjrB,GAAkC,KAEtE1hC,GAGAy+B,GAAgBiD,IAAexE,GAAUqH,UAAU7C,EAAY,cAC/DppG,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkB4xC,sBACjC1pD,GAAe0pD,sBACfx0C,GAAUv4F,WAAW07G,kBACrBrtE,IAOpB,OAAO,EAGFkpB,WAAWlpB,G,MAChB,GAAgE,SAA5D1nE,KAAKk0L,UAAU1/D,kBAAkB2xC,wBAER,MAAV,QAAX,EAAAz+F,EAAKviC,cAAM,eAAEshC,WACgB,IAA7BiB,EAAK3V,WAAW0U,SAClB,CACE,MAAM2iC,EAAappG,KAAKypH,WAAW8D,QAAQ7lD,GAEvC0hC,GAAcppG,KAAK0yM,+BAA+BtpG,IAClDppG,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkB2xC,uBACjCzpD,GAAeypD,uBACfv0C,GAAUv4F,WAAWy7G,mBAAmBzjI,OAAO,CAC3CrS,KAAMgB,KAAKypH,WAAW4K,UAAUjrB,GAAkC,KAEtE1hC,GAMhB,OAAO,EAGFuqB,SAASvqB,GAEd,OADA1nE,KAAKypH,WAAWkpF,0BAA0BjrI,IACnC,EAGF6qB,UAAU7qB,GAEf,OADA1nE,KAAKwyM,wCAAwC9qI,IACtC,EAGF8rB,SAAS9rB,GAEd,OADA1nE,KAAKwyM,wCAAwC9qI,IACtC,EAGF2pB,gBAAgB3pB,GAErB,OADA1nE,KAAKwyM,wCAAwC9qI,IACtC,EAGF8qB,uBAAuB9qB,GAE5B,OADA1nE,KAAKowM,aAAa/0M,KAAKqsE,IAChB,EAGF+pB,QAAQ/pB,GAEb,OADA1nE,KAAKypH,WAAW8D,QAAQ7lD,EAAKqjB,iBACtB,EAGFyJ,WAAW9sB,GAEhB,OADA1nE,KAAKypH,WAAW8D,QAAQ7lD,EAAKqjB,iBACtB,EAGF0J,UAAU/sB,GAKf,OAJAA,EAAK+kB,UAAUnnE,SAAS0C,IACpBhoB,KAAKypH,WAAWkpF,0BAA0B3qL,OAGvC,EAGFsrE,YAAY5rB,GACjB,IAAI0hC,EAEJ,MAAMwpG,EAAwB,GAAoClrI,GAC5DwhC,EAAqB0pG,EACrB5yM,KAAKypH,WAAWopF,8BAA8BD,QAC9C9zM,EASN,GANIsqG,EADA1hC,EAAK6rB,iBACQvzF,KAAKypH,WAAW8D,QAAQ7lD,EAAK6rB,mBAAqBmR,GAAYvyF,SAG9D4yF,GAASgN,iBAGtB/xG,KAAKypH,WAAW0+E,gBAAgBzgI,OAAuB5oE,IAAc8zM,EAAuB,CAC5F,GAAI1pG,EACA,GAAI7D,GAAQ6D,GACRlpG,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWkvG,yBACrB7gE,OAED,CACH,MAAMkqI,EAAe,IAAIljF,GACzB,IAAIokF,GAAoB,EAExB,GACI9yM,KAAKypH,WAAW0L,cACZjsB,EACAE,EACAwoG,EACA,IAAIh4F,GAAY,IAIpBk5F,GAAoB,MACjB,CAGH,MAAMC,EAAiBrxF,GAA6BxY,GAEpD,GACI6pG,GACAA,EAAetkJ,MAAM2rD,GAAYA,EAAQ7T,QAAQ8D,YAAYrvG,OAAS,IACxE,CACE,MAAMglH,EAAa,IAAIpG,GAEvB,IAAK,MAAMQ,KAAW24F,EAClB,GAAI34F,EAAQ7T,QAAQ8D,YAAYrvG,OAAS,EAAG,CACxC,MAAM4qM,EAAe5lM,KAAKypH,WAAWupF,yBAAyBtrI,EAAM0yC,GAChEwrF,IACA5lF,EAAW7F,eAAeC,EAASwrF,GACnC5lF,EAAW/E,iBAAiB2D,GAAkBxE,KAK1D,IAAK4F,EAAW15F,UAAW,CACvB,MAAM2sL,EAAqBv0F,GAAoBxV,EAAoB8W,GAG/DhgH,KAAKypH,WAAW0L,cACZ89E,EACA7pG,EACAwoG,OACiB9yM,EAAS,MAI9Bg0M,GAAoB,KAM/BA,GACD9yM,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWqzG,qBAAqBr7H,OAAO,CAC7C46L,SAAUjsM,KAAKypH,WAAW4K,UAAUjrB,GAAkC,GACtEA,WAAYppG,KAAKypH,WAAW4K,UAAUnrB,GAA0C,KAC/E0oG,EAAa5iF,YAClBtnD,EAAK6rB,iBAAmB7rB,EAAK6rB,iBAAmB7rB,GAM5Dg+B,GAAU0D,GACVppG,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkB0wC,0BACjCxoD,GAAewoD,0BACftzC,GAAUv4F,WAAWszG,oBACrBjlE,EAAK6rB,kBAEFkwB,GAAgBra,IACvBppG,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkB0wC,0BACjCxoD,GAAewoD,0BACftzC,GAAUv4F,WAAWuzG,6BAA6Bv7H,OAAO,CACrD+3F,WAAYppG,KAAKypH,WAAW4K,UAAUjrB,GAAkC,KAE5E1hC,EAAK6rB,kBAKjB,OAAO,EAGFoB,WAAWjtB,GAChB,MAAMwrI,EAAYxrI,EAAK3V,WAAa/xD,KAAKypH,WAAW8D,QAAQ7lD,EAAK3V,YAAcgzC,GAASgN,iBAExF,OADA/xG,KAAKmzM,mBAAmBzrI,EAAMwrI,GAAaxuG,GAAYvyF,WAChD,EAGFyiF,eAAeltB,GACpB,MAAM0rI,EAAgBpzM,KAAKypH,WAAW8D,QAAQ7lD,EAAK3V,aAAe2yC,GAAYvyF,SAC9E,IAAI+gM,EAEJ,GAAI/sG,GAAgBitG,IAAkBxuG,GAAUqH,UAAUmnG,EAAe,aAErEF,EAAYxuG,GAAYvyF,aACrB,CACH+gM,EACIlzM,KAAKypH,WAAW4pF,oBAAoBD,GAA6B,EAAO1rI,IAASg9B,GAAYvyF,SAKjG,MAAM2wG,EAAoBC,GAAqBmwF,GAE3CA,EADApwF,EACYA,EAAkB9nH,QAAU,EAAI8nH,EAAkB,GAAKpe,GAAYvyF,SAG3EnS,KAAKypH,WAAW6pF,oBAAoBF,GAA6B,EAAO1rI,IACxEg9B,GAAYvyF,SAMxB,OAFAnS,KAAKmzM,mBAAmBzrI,EAAMwrI,IAEvB,EAGF9/G,WAAW1rB,GAGhB,GAFA1nE,KAAKypH,WAAW8pF,yBAAyB7rI,GAErCA,EAAKZ,gBAAiB,CACtB,MAAM0sI,EAAoBxzM,KAAKypH,WAAWyI,eAAexqD,EAAM,iBACzD+rI,EAAgBzzM,KAAKypH,WAAW8D,QAAQ7lD,EAAKZ,iBAGnD,GAAI2sI,GAAiBD,GAAqBttG,GAAoBstG,GAAoB,CAC9E,MAAM5B,EAAe,IAAIljF,GAEzBtS,GAAiBq3F,GAAgB3tG,IAGxBH,GAFLG,EAAU9lG,KAAKypH,WAAWm/B,6BAA6B9iD,KAEtBR,GAAeQ,IACxCG,GAAQH,IACH0c,GAA0B1c,EAAS0tG,GAAuC,IAQ/E5B,EAAahjF,WACTgD,GAAUv4F,WAAWulG,yBAAyBvtH,OAAO,CACjDrS,KAAMgB,KAAKypH,WAAW4K,UAAUvuB,GAA+B,SAO9E8rG,EAAatrL,WACdtmB,KAAKypH,WAAWgM,SACZ7D,GAAUv4F,WAAW8mG,uBAAyByxE,EAAa5iF,YAC3DtnD,EAAKZ,kBAMrB,OAAO,EAGFirB,YAAYrqB,GACjB,GAAIA,EAAKsqB,eAAgB,CACrBhyF,KAAKypH,WAAWkpF,0BAA0BjrI,GAE1C,MAAM+rI,EAAgBzzM,KAAKypH,WAAW8D,QAAQ7lD,EAAKsqB,gBAC/CyhH,GACAzzM,KAAK0zM,uBAAuBD,EAAe/rI,EAAKsqB,gBAIxD,OAAO,EAGF1B,YAAY5oB,GACbA,EAAK6oB,qBACLvwF,KAAKypH,WAAW8D,QAAQ7lD,EAAK6oB,qBAMjC,MAAMvxF,EAAOgB,KAAKypH,WAAW8D,QAAQ7lD,EAAKqjB,gBAiB1C,OAhBI/rF,GAAQmnG,GAAgBnnG,IACpBmyG,GAAanyG,IAASA,EAAK+oG,oBACvB/oG,EAAK+oG,mBAAmB/sG,OAAS,IAC5B4kH,GAAsB5gH,IACvBgB,KAAKypH,WAAWkqF,0BACZ3zM,KAAKk0L,UACLl0L,KAAKk0L,UAAU1/D,kBAAkBmxC,uBACjCjpD,GAAeipD,uBACf/zC,GAAUv4F,WAAWigG,mBACrB5xD,EAAKqjB,kBAOlB,EAGFyF,gBAAgB9oB,GAMrB,OALA1nE,KAAKypH,WAAWkpF,0BAA0BjrI,GACtCA,EAAK+oB,uBACLzwF,KAAKypH,WAAW8D,QAAQ7lD,EAAK+oB,wBAG1B,EAGFC,0BAA0BhpB,GAE/B,OADA1nE,KAAKypH,WAAW8D,QAAQ7lD,IACjB,EAGFipB,yBAAyBjpB,GAE9B,OADA1nE,KAAKypH,WAAWkpF,0BAA0BjrI,IACnC,EAGFoqB,WAAWpqB,GAChB1nE,KAAKypH,WAAW8D,QAAQ7lD,GAIxB,MAAM6tD,EAAWv1H,KAAKypH,WAAW8D,QAAQ7lD,EAAKP,gBAwC9C,OAvCIouD,GACAnZ,GAAiBmZ,GAAWzvB,IACxB,GAAIK,GAAgBL,IAAYA,EAAQiC,qBAAuB6X,GAAsB9Z,GAAU,CAC3F,MAAMk/F,EAAcl/F,EAAQiC,mBAAmB/sG,OAE/C,GAC0B,IAAtB0sE,EAAK3kC,MAAM/nC,SACV0sE,EAAKf,eAC6B,IAAnCe,EAAK3kC,MAAM,GAAG6jC,mBACbc,EAAK3kC,MAAM,GAAG12B,KACjB,CACE,MAAMunM,EAAgB5zM,KAAKypH,WAAW8D,QAAQ7lD,EAAK3kC,MAAM,GAAG+jC,iBAExD8sI,GACAztG,GAAgBytG,IAChBhvG,GAAUqH,UAAU2nG,EAAe,QACnC30F,GAAc20F,IACwB,iBAA/BA,EAAcloG,eAGhBkoG,EAAcloG,cAAgB,GAAKkoG,EAAcloG,cAAgBs5F,GACjE4O,EAAcloG,aAAe,GAAKkoG,EAAcloG,aAAes5F,EAAc,IAE9EhlM,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAW61G,uBAAuB79H,OAAO,CAC/C8Y,MAAOypL,EAAcloG,aACrB1sG,KAAMgB,KAAKypH,WAAW4K,UAAUvuB,KAEpCp+B,SASrB,EAGFmpB,qBAAqBnpB,GAS1B,OARsB,KAAlBA,EAAKmlB,UAAsD,KAAlBnlB,EAAKmlB,U3CyHnD,SAAkCnlB,GACrC,IACI0vB,EADAnuB,EAAiCvB,EAGrC,KAAOuB,GAAS,CACZ,OAAQA,EAAQxC,UACZ,KAAK,EACD,OAAOwC,EAAQ8hB,iBAAmBqM,EAI1CA,EAAWnuB,EACXA,EAAUA,EAAQ9jC,OAGtB,OAAO,E2CtIM,CAAwCuiC,IACzC1nE,KAAK6zM,yBAAyBnsI,GAItC1nE,KAAKypH,WAAW8D,QAAQ7lD,IACjB,EAGF+rB,WAAW/rB,GAEhB,OADA1nE,KAAKypH,WAAW8D,QAAQ7lD,IACjB,EAGF6sB,YAAY7sB,GAEjB,OADA1nE,KAAKypH,WAAW8D,QAAQ7lD,IACjB,EAGFwsB,WAAWxsB,GAEhB,OADA1nE,KAAKypH,WAAW8D,QAAQ7lD,IACjB,EAGF4sB,oBAAoB5sB,GAEzB,OADA1nE,KAAKypH,WAAW8D,QAAQ7lD,IACjB,EAGFusB,aAAavsB,GAElB,OADA1nE,KAAKypH,WAAW8D,QAAQ7lD,IACjB,EAGFosB,gBAAgBpsB,GACrB,IAAK,MAAM+5E,KAAc/5E,EAAKR,QACtBu6E,EAAWrzD,mBACaugF,GAAmBltB,EAAWzgI,OAEtCguJ,eAAe1pJ,SAASlhB,IACpC,MAKM6yK,EAAY,CAAEn7K,MAJhB2lJ,EAAWzgI,MAAMllB,MACjB2lJ,EAAWzgI,MAAMwxJ,aACjB/wB,EAAWzgI,MAAMggI,gBACjB58I,EAAM1C,OACiB1G,OAAQoJ,EAAMpJ,QAEjB,IAApBoJ,EAAMwrK,UACN5vK,KAAKypH,WAAWkqF,0BACZ3zM,KAAKk0L,UACLl0L,KAAKk0L,UAAU1/D,kBAAkBswC,kCACjCpoD,GAAeooD,kCACflzC,GAAUv4F,WAAW20G,0BACrBipC,GAEuB,IAApB7yK,EAAMwrK,UACb5vK,KAAKypH,WAAWkqF,0BACZ3zM,KAAKk0L,UACL,QACA,GACAtiE,GAAUv4F,WAAWkpG,qBACrB00C,GAEuB,IAApB7yK,EAAMwrK,UACb5vK,KAAKypH,WAAWkqF,0BACZ3zM,KAAKk0L,UACL,QACA,GACAtiE,GAAUv4F,WAAWgpG,oBACrB40C,GAEuB,IAApB7yK,EAAMwrK,WACb5vK,KAAKypH,WAAWkqF,0BACZ3zM,KAAKk0L,UACL,QACA,GACAtiE,GAAUv4F,WAAWspG,2BACrBs0C,MAqBpB,OAdIvvG,EAAKslB,gBACLhtF,KAAKypH,WAAW8D,QAAQ7lD,GAGxBA,EAAKR,QAAQlsE,OAAS,IAAM0sE,EAAKmvB,iBACjC72F,KAAKypH,WAAWkqF,0BACZ3zM,KAAKk0L,UACLl0L,KAAKk0L,UAAU1/D,kBAAkBqxC,kCACjCnpD,GAAempD,kCACfj0C,GAAUv4F,WAAWoqG,uBACrB/7D,IAID,EAGFwqB,kBAAkBxqB,GAKvB,OAJAA,EAAKgB,YAAYpjD,SAASwuL,IACtB9zM,KAAKypH,WAAW8D,QAAQumF,OAGrB,EAGFzhH,YAAY3qB,GASjB,OARA1nE,KAAK+zM,uBAAsB,KACvBrsI,EAAKmnB,SAASvpE,SAASjZ,IACnBrM,KAAKypH,WAAW8D,QAAQlhH,GAExBrM,KAAK+vF,KAAK1jF,UAIX,EAGF0mF,cAAcrrB,GASnB,OARA1nE,KAAK+zM,uBAAsB,KACvBrsI,EAAKmnB,SAASvpE,SAASjZ,IACnBrM,KAAKypH,WAAW8D,QAAQlhH,GAExBrM,KAAK+vF,KAAK1jF,UAIX,EAGFymF,UAAUprB,GAaf,OAXA1nE,KAAKg0M,iCAAiCtsI,GAGjC1nE,KAAKmwM,2BACNnwM,KAAKi0M,mBAAmBvsI,IAOrB,EAGF0pB,SAAS1pB,GASd,OARA1nE,KAAK+zM,uBAAsB,KACvBrsI,EAAKgB,YAAYpjD,SAAS+oE,IACtBruF,KAAKypH,WAAWyqF,uBAAuB7lH,GAEvCruF,KAAK+vF,KAAK1B,UAIX,EAGFsE,kBAAkBjrB,GAOvB,OANA1nE,KAAKypH,WAAW8D,QAAQ7lD,GACxB1nE,KAAKg0M,iCAAiCtsI,EAAKL,YAG3CrnE,KAAK+vF,KAAKroB,EAAKhB,iBAER,EAGFirB,cAAcjqB,GAEnB,OADA1nE,KAAKypH,WAAWkpF,0BAA0BjrI,IACnC,EAGFkqB,gBAAgBlqB,GACrB,GAAKA,EAAKsE,iBAIH,CACH,MAAMrE,EAAa,GAA+BD,EAAK51D,QAEnD61D,GACAA,EAAWiD,eACe,IAA1BjD,EAAWmC,aACV9pE,KAAKk0L,UAAUt/G,YAEhB50E,KAAKypH,WAAWkqF,0BACZ3zM,KAAKk0L,UACLl0L,KAAKk0L,UAAU1/D,kBAAkBkvC,gCACjChnD,GAAegnD,gCACf9xC,GAAUv4F,WAAWk8G,wBACrB7tE,EAAKw9G,eAAiBx9G,QAhB9BA,EAAK4D,QAAQhmD,SAAS4mD,IAClBlsE,KAAKypH,WAAWkpF,0BAA0BzmI,MAoBlD,OAAO,EAGFmoB,oBAAoB3sB,GAEzB,OADA1nE,KAAKypH,WAAW8D,QAAQ7lD,EAAKslB,iBACtB,EAGF8H,WAAWptB,GAGhB,OAFA1nE,KAAKypH,WAAW8D,QAAQ7lD,EAAKsnB,mBAC7BhvF,KAAKm0M,yBAAyBzsI,IACvB,EAGFqtB,UAAUrtB,GAMf,OALIA,EAAK0nB,iBACLpvF,KAAKypH,WAAW8D,QAAQ7lD,EAAK0nB,iBAGjCpvF,KAAKypH,WAAWkpF,0BAA0BjrI,EAAK1xC,UACxC,EAGFm/D,kBAAkBztB,GAEvB,ODjCD,SAA8BoqD,EAA0B97F,GAC3D,MAAMi2K,EAAWn6E,EAAU8D,oBACvB5/F,EAAQ05D,eACW5wF,EAAS,GAE9BE,KAEE2mG,GAAesmG,KAMfA,EAAShlG,eACTf,GAAoB+lG,IACpBA,EAAS7jG,eACT6jG,EAASl9F,uBAET+iB,EAAUyC,cACN,GAAYv+F,GAASw+F,kBAAkBC,wBACvC/X,GAAe+X,wBACf7C,GAAUv4F,WAAW+hG,wBAAwB/pH,OAAO,CAAErS,KAAM8yH,EAAUuC,UAAU43E,KAChFj2K,EAAQ05D,YAEJwW,GAAoB+lG,IAAaA,EAASp9F,kBAClDijB,EAAUyC,cACN,GAAYv+F,GAASw+F,kBAAkBC,wBACvC/X,GAAe+X,wBACf7C,GAAUlD,mBAAmBusB,eAAe5pI,OAAO,CAAErS,KAAM8yH,EAAUuC,UAAU43E,KAC/Ej2K,EAAQ05D,WAGMq7G,GAAyBt8I,MAAMihC,GAAcu8G,EAAS1lG,QAAQwG,WAAard,MAIrF15D,EAAQt2B,UAAU1E,OAAS,EAC3B82H,EAAUyC,cACN,GAAYv+F,GAASw+F,kBAAkBC,wBACvC/X,GAAe+X,wBACf7C,GAAUv4F,WAAW6hG,8BACrBllG,EAAQt2B,UAAU,IAEc,IAA7Bs2B,EAAQt2B,UAAU1E,QAAgBg7B,EAAQt2B,UAAU,GAAG2M,MAC9DylH,EAAUyC,cACN,GAAYv+F,GAASw+F,kBAAkBC,wBACvC/X,GAAe+X,wBACf7C,GAAUv4F,WAAW8hG,mCACrBnlG,EAAQt2B,UAAU,GAAG2M,QChBjC+nM,CAAqBp0M,KAAKypH,WAAY/hD,IAC/B,EAGFysB,SAASzsB,GAEd,OADA1nE,KAAKq0M,8BAA8B3sI,IAC5B,EAGF0oB,WAAW1oB,GAQhB,OALIA,EAAKhR,OACL12D,KAAKypH,WAAW8D,QAAQ7lD,EAAKhR,QAI1B,EAGHy9I,yBAAyBzsI,GAE7B,GAAkE,SAA9D1nE,KAAKk0L,UAAU1/D,kBAAkB8xC,yBACjC,OAGJ,MAAMguC,EAAqBt0M,KAAKypH,WAAW8qF,uBAAuB7sI,GAAM,KACpE1nE,KAAKypH,WAAW+qF,0BAA0B9sI,MAG9C,GAAI4sI,IAAuBjvG,GAAQivG,EAAmBt1M,MAAO,CACzD,MAAM4yM,EAAe,IAAIljF,GACzBkjF,EAAahjF,WACTgD,GAAUlD,mBAAmB6oB,2BAA2BlmI,OAAO,CAC3DrS,KAAMgB,KAAKypH,WAAW4K,UAAUigF,EAAmBt1M,SAG3D4yM,EAAahjF,WAAWgD,GAAUlD,mBAAmB8oB,4BAErDx3I,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkB8xC,yBACjC5pD,GAAe4pD,yBACf10C,GAAUv4F,WAAWusG,uBAAyBgsE,EAAa5iF,YAC3DtnD,EAAKsnB,oBAKT+kH,sBAAsBpgM,GAC1B,MAAM8gM,EAAgBz0M,KAAKmwM,0BAC3BnwM,KAAKmwM,2BAA4B,EAEjC,IACIx8L,I,QAEA3T,KAAKmwM,0BAA4BsE,GAIjCjC,wCAAwC9qI,GAC4B,SAApE1nE,KAAKk0L,UAAU1/D,kBAAkB+wC,gC3CzUtC,SAAyC79F,GAC5C,IACI0vB,EADAnuB,EAAiCvB,EAGrC,KAAOuB,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,UAAwC2wB,IAAanuB,EAAQiqB,aACrE,OAAO,EAGX,GACyB,KAArBjqB,EAAQxC,UACa,KAArBwC,EAAQxC,UACa,KAArBwC,EAAQxC,UACa,KAArBwC,EAAQxC,SAER,OAAO,EAGX2wB,EAAWnuB,EACXA,EAAUA,EAAQ9jC,OAGtB,OAAO,E2CoTK,CAA+CuiC,KAAU1nE,KAAKk0L,UAAUt/G,YACxE50E,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkB+wC,+BACjC7oD,GAAe6oD,+BACf3zC,GAAUv4F,WAAW4jG,2BACrBv1D,GAQRmsI,yBAAyBnsI,GAC7B,MAAMihF,EAAW3oJ,KAAKypH,WAAW8D,QAAQ7lD,EAAKhB,gBACxC4+H,EAAYtlM,KAAKypH,WAAW8D,QAAQ7lD,EAAKqlB,iBAE/C,GAAK47D,GAAa28C,EAKlB,GAAIpmF,GAAqBomF,IAAcpmF,GAAqBypC,IACxD,QAAgF7pJ,IAA5E8yL,GAA6BlqH,EAAM1nE,KAAKk0L,UAAU2E,sBAAqC,CACvF,IAAI6b,GAAiB,EAErBt4F,GAAiBusC,GAAWgsD,IACpB30M,KAAKypH,WAAW0L,cAAcmwE,EAAWqP,KACzCD,GAAiB,MAIpBA,GACD10M,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBkxC,4BACjChpD,GAAegpD,4BACf9zC,GAAUv4F,WAAWsiG,wBAAwBtqH,OAAO,CAChDs3I,SAAU3oJ,KAAKypH,WAAW4K,UAAUs0B,GAAgC,GACpE28C,UAAWtlM,KAAKypH,WAAW4K,UAAUixE,GAAiC,KAE1E59H,QAIT,CACH,IAAIktI,GAAe,EAqBnB,GAnBAx4F,GAAiBusC,GAAWgsD,IACpBC,IAIJD,EAAc30M,KAAKypH,WAAWm/B,6BAA6B+rD,GAC3Dv4F,GAAiBkpF,GAAYuP,IACrBD,IAIJC,EAAe70M,KAAKypH,WAAWm/B,6BAA6BisD,GAExD70M,KAAK80M,kBAAkBH,EAAaE,KACpCD,GAAe,YAKtBA,EAAc,CACf,MAAMG,EAAe/0M,KAAKypH,WAAW4K,UAAUs0B,GAAgC,GACzEqsD,EAAgBh1M,KAAKypH,WAAW4K,UAAUixE,GAAiC,GAE3E/4L,EACgB,KAAlBm7D,EAAKmlB,SACC+kC,GAAUv4F,WAAWsiG,wBACrB/J,GAAUv4F,WAAWuiG,uBAE/B57H,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBkxC,4BACjChpD,GAAegpD,4BACfn5J,EAAQ8E,OAAO,CACXs3I,SAAUosD,EACVzP,UAAW0P,IAEfttI,KASRotI,kBAAkBnsD,EAAgB28C,GACtC,GAAI3/F,GAAegjD,IAAahjD,GAAe2/F,GAC3C,OAAO,EAGX,GAAIjgG,GAAQsjD,IAAatjD,GAAQigG,GAC7B,OAAO,EAGX,GAAIl/F,GAASuiD,IAAaviD,GAASk/F,GAC/B,OAAQl+F,GAAWuhD,EAAU28C,GAGjC,GAAIhgG,GAAeqjD,IAAarjD,GAAeggG,GAC3C,OAAQl+F,GAAWuhD,EAAU28C,GAGjC,GAAIp/F,GAAoByiD,IAAcxiD,GAAgBwiD,IAAa/jD,GAAUqH,UAAU08C,EAAU,QAAU,CACvG,GACIziD,GAAoBo/F,IACnBn/F,GAAgBm/F,IAAc1gG,GAAUqH,UAAUq5F,EAAW,QAChE,CACE,MAAM2P,EAAkBrwG,GAAUkK,uBAC9B65C,OACoB7pJ,GACS,GAE3Bo2M,EAAmBtwG,GAAUkK,uBAC/Bw2F,OACoBxmM,GACS,GAGjC,GACIkB,KAAKypH,WAAW0L,cAAc8/E,EAAiBC,IAC/Cl1M,KAAKypH,WAAW0L,cAAc+/E,EAAkBD,GAEhD,OAAO,EAKf,MAAM3xF,EAAYqlC,EAASpiD,QAAQmI,mBACnC,SAAI4U,GAAard,GAAQqd,IACjBzC,GAAkByC,EAAW,SAAU,IAQnD,GAAInd,GAAgBwiD,GAAW,CAC3B,GAAIxiD,GAAgBm/F,GAAY,CAC5B,MAAM2P,EAAkBrwG,GAAUkK,uBAC9B65C,OACoB7pJ,GACS,GAE3Bo2M,EAAmBtwG,GAAUkK,uBAC/Bw2F,OACoBxmM,GACS,GAGjC,GACIkB,KAAKypH,WAAW0L,cAAc8/E,EAAiBC,IAC/Cl1M,KAAKypH,WAAW0L,cAAc+/E,EAAkBD,GAEhD,OAAO,EAKf,QACIp0F,GACIjc,GAAUmJ,oBAAoB46C,GAC9B,SAAQ,GAUpB,OAAO,EAKH+pD,+BAA+B1zM,GACnC,OAAQsmG,GAAetmG,KAAUqmG,GAAQrmG,KAAU2mG,GAAe3mG,GAI9DozM,8BAA8B1qI,GAElC,GAAiE,SAA7D1nE,KAAKk0L,UAAU1/D,kBAAkB8wC,wBACjC,OAGJ,MAAM6vC,EAAoB,IAAIr3L,IAC9B,IAAIs3L,GAAqB,EAEzB,MAAMC,EAAa,IAAI,IAA8B,CAACr9C,EAAUs9C,EAAgBnuI,KAC5E,MAAMouI,EAAWv1M,KAAKypH,WAAW8D,QAAQyqC,GAEzC,GAAIu9C,GAAYlvG,GAAUkvG,IAClBA,EAASzrG,UAAY9pG,KAAKypH,WAAWkJ,kBAAkBjrD,GAAO,CAI9D,IAAI8tI,EACAD,EAAShvG,QAAQ8D,YAAYrvG,OAAS,GACrCo6M,QACkCt2M,IAA/By2M,EAAShvG,QAAQY,gBACEroG,IAAnBw2M,GACJzuG,GAAY0uG,GAEhB,IAAKC,GAAYruI,QAAqCroE,IAAnBw2M,EAA8B,CAI7D,MAAM//E,EAAWv1H,KAAKypH,WAAW8D,QAAQpmD,IAErCouD,aAAQ,EAARA,EAAUtuB,gBACVsuB,EAAStuB,cAAcmG,gBACvBkoG,EAAiB//E,EAAStuB,cAAcmG,eAAepyG,SAEvDw6M,GAAW,GAIdL,EAAkB/wL,IAAImxL,EAAShvG,QAAQl6F,MAMxC8oM,EAAkB5wM,IAAIgxM,EAAShvG,QAAQl6F,MAAO8jF,MAAM90F,KAAK28J,GALzDm9C,EAAkBhwM,IAAIowM,EAAShvG,QAAQl6F,KAAM,CACzC8jF,MAAO,CAAC6nE,GACRw9C,iBAUpB9tI,EAAKrkC,WAAW/d,SAASlC,IACrB,MAAMyZ,EAAazZ,EAAM4pE,gBAAkB5pE,EAAMqtE,sBAC7C5zD,GACAw4K,EAAWtlH,KAAKlzD,MAIpB6qC,EAAK0lB,uBAILgoH,GAAqB,EACrBC,EAAWtlH,KAAKroB,EAAK0lB,uBAIzB+nH,EAAkB7vL,SAASkwG,IACI,IAAvBA,EAAMrlC,MAAMn1F,QAAiBw6H,EAAMggF,UACnCx1M,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkB8wC,wBACjC5oD,GAAe4oD,wBACf1zC,GAAUv4F,WAAWo5G,sBAAsBphI,OAAO,CAC9ChF,KAAMmpH,EAAMrlC,MAAM,GAAG7yF,QAEzBk4H,EAAMrlC,MAAM,OAMpBmiH,6BACJ5qI,EACA8rC,EACAiiG,GAEA,IAAK,IAAIn7M,EAAI,EAAGA,EAAIm7M,EAAcz6M,OAAQV,IAAK,CAC3C,MAAMo7M,EAAeD,EAAcn7M,GACnC,GACIuqG,GAAayP,aAAad,IAC1B3O,GAAayP,aAAaohG,IAC1B11M,KAAK21M,uBAAuBniG,EAAckiG,GAC5C,CACE11M,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBmwC,0BACjCjoD,GAAeioD,0BACf/yC,GAAUv4F,WAAWiwG,sBAAsBj4H,OAAO,CAC9ChF,KAAMq7D,EAAKr7D,KAAK/O,MAChBs4M,SAAUH,EAAcz6M,OAAS,EACjC66M,WAAYv7M,EAAI,IAEpBotE,EAAKr7D,MAET,OAIR,IAAK,IAAI/R,EAAI,EAAGA,EAAIm7M,EAAcz6M,OAAQV,IAAK,CAC3C,MAAMo7M,EAAeD,EAAcn7M,GACnC,GACIuqG,GAAayP,aAAad,IAC1B3O,GAAayP,aAAaohG,IAC1B11M,KAAK21M,uBAAuBD,EAAcliG,GAC5C,CACE,MAAMsiG,EAAiBjxG,GAAagQ,yBAAyB6gG,GACvDtsG,EAAavE,GAAagQ,yBAAyBrB,GAEzD,GACIsiG,GACA1sG,IACCppG,KAAKypH,WAAW0L,cACb/rB,EACA0sG,OACWh3M,EACX,IAAI86G,GAAY,GAGtB,CACE,MAAMm8F,EAAU/1M,KAAKg2M,qBAAqBtuI,EAAMguI,GAChD11M,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBmwC,0BACjCjoD,GAAeioD,0BACf/yC,GAAUv4F,WAAWowG,6BAA6Bp4H,OAAO,CACrDhF,KAAMq7D,EAAKr7D,KAAK/O,MAChB24M,SAAUR,EAAcz6M,OAAS,EACjCk7M,UAAW57M,EAAI,KAElBy7M,GAAWruI,GAAMr7D,MAEtB,SASR2pM,qBAAqBtqF,EAA4ByqF,GACrD,MAAMj6G,EAAQl8F,KAAKypH,WAAWmC,2BAA2BF,EAAar/G,MACtE,GAAK6vF,EAIL,IAAK,MAAMh0B,KAAQg0B,EACf,GAAkB,IAAdh0B,EAAKlpE,KAAmC,CACxC,MAAMw0G,EAAexzG,KAAKypH,WAAW4oC,kBAAkBnqF,EAAKR,MAC5D,IAAI8rC,aAAY,EAAZA,EAAcA,gBAAiB2iG,EAC/B,OAAOjuI,EAAKR,MAQpBiuI,uBAAuBniG,EAA4BkiG,GAMvD,QAAI7wG,GAAaiP,iBAAiBN,IAA+C,YAA9BA,EAAajN,QAAQl6F,OAIjErM,KAAKypH,WAAW0L,cACnB3hB,EACAkiG,OACW52M,EACM,IAAI86G,GAAWgF,GAAkBpL,IAClD,IAMA4iG,+BACJ/2F,EACAg3F,EACA7mF,G,MAEA,MAAMxP,EAAa,IAAIpG,GAAWgF,GAAkBy3F,IAGpD,IAAIC,EAAUt2M,KAAKypH,WAAW0L,cAC1B9V,EACAg3F,EACA7mF,EACAxP,EACA,KAMJ,MAAMu2F,EACiC,QAAnC,EAAAl3F,EAAS9Y,QAAQ2C,0BAAkB,QAAIlpG,KAAKypH,WAAW+sF,8BAA8Bn3F,GACnFo3F,EAA2B/3F,GAC7B23F,EAAe9vG,QAAQ2C,oBAAsBlpG,KAAKypH,WAAW+sF,8BAA8BH,GAC3Fr2F,GAGE02F,EAAa,IAAIhoF,GAuBvB,OArBKrpB,GAAQkxG,IACRv2M,KAAKypH,WAAW0L,cACbshF,EACAF,EACAG,EAAW7nF,iBACX7O,EAAU,KAId02F,EAAW9nF,WACPgD,GAAUlD,mBAAmBmoB,6BAA6BxlI,OAAO,CAC7Dq2G,WAAY1nH,KAAKypH,WAAW4K,UAAUkiF,GAA0C,GAChFhqG,SAAUvsG,KAAKypH,WAAW4K,UAAUoiF,GAAgD,MAGxFjnF,GACAA,EAAKT,YAAY2nF,GAErBJ,GAAU,GAGPA,EAGH3hB,oCAAoClqH,GACxC,IACIksI,EADAC,GAAsB,EAG1B,IAAK,MAAMhtI,KAAaa,EAAY,CAGhC,IAAKmsI,IACI52M,KAAKypH,WAAW0+E,gBAAgBv+H,EAAW+sI,GAAgB,CAG5D,MAAM76M,EAAQ8tE,EAAU9tE,MAClBkyK,EAAgBvjG,EAAWA,EAAWzvE,OAAS,GAC/Ce,EAAMyoE,GAAUmB,OAAOqoG,GAC7BhuK,KAAKypH,WAAWmgD,cAAchgG,EAAW,CAAE9tE,QAAOd,OAAQe,EAAMD,IAEhE86M,GAAsB,GAIzBA,GAAuB52M,KAAKk0L,UAAUt/G,YACvC50E,KAAK62M,uBAAuBjtI,GAGhC5pE,KAAK+vF,KAAKnmB,GAEV+sI,EAAgB/sI,GAIhBitI,uBAAuBjtI,GAC3B,OAAQA,EAAUnD,UACd,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,EAED,MAGJ,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GAEDzmE,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBwxC,2BACjCtpD,GAAespD,2BACfp0C,GAAUv4F,WAAWurG,uBACrBh7D,GAEJ,MAGJ,KAAK,GACD,IAAK,MAAMyuB,KAAgBzuB,EAAUa,WACjC,OAAQ4tB,EAAa5xB,UACjB,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACDzmE,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBwxC,2BACjCtpD,GAAespD,2BACfp0C,GAAUv4F,WAAWurG,uBACrBvsC,KASpBq7G,uBAAuBD,EAAqB7uD,GAChD,MAAM4uD,EAAoBxzM,KAAKypH,WAAWyI,eAAe0yB,EAAW,iBAC9DkyD,EAA4B7oG,IACzBulG,IAAsBttG,GAAoBstG,IAIxChxF,GAA0BvU,EAAWulG,GAAuC,GAGjF5B,EAAe,IAAIljF,GACzB,IAAIqoF,EAuDJ,OArDIpxG,GAAe8tG,GACfsD,EAAyBtD,EAErBvtG,GAAoButG,IACfqD,EAAyBrD,IAC1B7B,EAAahjF,WACTgD,GAAUv4F,WAAWulG,yBAAyBvtH,OAAO,CACjDrS,KAAMgB,KAAKypH,WAAW4K,UAAUo/E,GAAqC,MAIjFsD,EAAyBnyG,GAAUgK,gBAAgB6kG,IAC5CttG,GAAgBstG,KAKvBsD,EAAyBj5F,GAHrB99G,KAAKypH,WAAW6pF,oBAAoBG,GAA6B,EAAO7uD,IACxElgD,GAAYvyF,UAEoC2zF,GAC5CH,GAAeG,GACRA,EAGPI,GAAoBJ,IACfgxG,EAAyBhxG,IAC1B8rG,EAAahjF,WACTgD,GAAUv4F,WAAWulG,yBAAyBvtH,OAAO,CACjDrS,KAAMgB,KAAKypH,WAAW4K,UAAUo/E,GAAqC,MAK1E7uG,GAAUgK,gBAAgB9I,KAGrC8rG,EAAahjF,WACTgD,GAAUv4F,WAAWulG,yBAAyBvtH,OAAO,CACjDrS,KAAMgB,KAAKypH,WAAW4K,UAAUo/E,GAAqC,MAGtE/uG,GAAYvyF,aAK1By/L,EAAatrL,WACdtmB,KAAKypH,WAAWgM,SACZ7D,GAAUv4F,WAAWwlG,wBAAwBxtH,OAAO,CAChDrS,KAAMgB,KAAKypH,WAAW4K,UAAUo/E,GAAqC,KAEzE7uD,GAIDmyD,GAA0BryG,GAAYvyF,SAGzCo+L,8BAA8BpgH,GAElC,GAAoE,SAAhEnwF,KAAKk0L,UAAU1/D,kBAAkB0xC,2BACjC,OAGJ,MAAM3kB,EAAc,GAA0BvhJ,KAAKqwM,aAC9C9uD,GAILpxD,EAAM7qE,SAASoiD,IACN65E,EAAY9zC,YAAYrpF,IAAIsjD,EAAKpqE,QAClC0C,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkB0xC,2BACjCxpD,GAAewpD,2BACft0C,GAAUv4F,WAAWqkG,4BAA4BrsH,OAAO,CAAEhF,KAAMq7D,EAAKpqE,QACrEoqE,MAMR8oI,wBACJ,IAAK,MAAMwG,KAAch3M,KAAKowM,aAAc,CACxC,MAAMvoI,EAAQ,GAA0BmvI,GAEpCnvI,GACAA,EAAM4lC,YAAYnoF,SAAQ,CAACq1D,EAAQtuE,KAC/BrM,KAAKi3M,iCAAiC5qM,EAAMsuE,EAAQ9S,EAAM7oE,MAE1DgB,KAAKk3M,gCAAgC7qM,EAAMsuE,GAE3C36E,KAAKm3M,iCAAiC9qM,EAAMsuE,EAAQ9S,EAAM7oE,MAE1DgB,KAAKo3M,qCAAqC/qM,EAAMsuE,GAEhD36E,KAAKq3M,uBAAuBhrM,EAAMsuE,OAM1C08H,uBAAuBhrM,EAAcsuE,GACzC,MAAM8+B,EAAa9+B,EAAO2+B,uBAC1B,GAAIG,EAAWz+G,QAAU,EAAG,CACxB,MAAMk1J,EAAcz2C,EAAW,GAE/B,GAAyB,IAArBy2C,EAAYlxJ,KAAmC,CAC/C,MAAMA,EAAOgB,KAAKypH,WAAWqK,yBAAyBn5C,GAEhD28H,GADYvwG,GAAqB/nG,GAAQA,EAAKuqG,UAAYzC,GAAW9nG,GAAQ,CAACA,GAAQ,IACtD6pD,QAAQ9sC,GAAS8oF,GAAayP,aAAav4F,KA8BjF,GA5BmC,IAA/Bu7L,EAAoBt8M,QAEpBgF,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWm0G,iBAAiBn8H,OAAO,CAAEhF,SAC/C6jJ,EAAYxoF,KAAKr7D,MAIzBirM,EAAoBhyL,SAAS+5F,IACzB,GACIA,EAAS9Y,QAAQv+B,c3CvLlC,SAA8BN,GACjC,IAAIphD,GAAU,EAqBd,OAnBAohD,EAAKukB,MAAMxhB,WAAWnlD,SAASskD,IACA,IAAvBA,EAAUnD,WAEoB,KAAvBmD,EAAUnD,SACjBmD,EAAUa,WAAWnlD,SAASolD,IAGI,KAA1BA,EAAajE,UACa,KAA1BiE,EAAajE,UACa,KAA1BiE,EAAajE,WAEbngD,GAAU,MAIlBA,GAAU,MAIXA,E2CkKc,CAAoC+4F,EAAS9Y,QAAQv+B,YAAYN,MACpE,CACE,MAAM8nD,EAAO,IAAId,GACjBc,EAAKZ,WAAWgD,GAAUlD,mBAAmBgb,8BAC7C1pI,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWqwG,6BAA6Br4H,OAAO,CAAEhF,SAAUmjH,EAAKR,YAC1E3P,EAAS9Y,QAAQv+B,YAAYN,KAAKr7D,WAOzCrM,KAAKk0L,UAAUt/G,YAAc0iI,EAAoBt8M,OAAS,EAAG,CAC9D,IAAIu8M,EAWJ,GARIxwG,GAAqB/nG,KACpB6lG,GAAayP,aAAat1G,EAAKuqG,UAAUvqG,EAAKuqG,UAAUvuG,OAAS,IAElEu8M,EAAyBv4M,EAAKuqG,UAAUvqG,EAAKuqG,UAAUvuG,OAAS,GACzD8rG,GAAW9nG,KAAU6lG,GAAayP,aAAat1G,KACtDu4M,EAAyBv4M,GAGxBu4M,EAsBMxwG,GAAqB/nG,IAE5BA,EAAKuqG,UAAUjkF,SAAQ,CAAC+5F,EAAUl1F,KAC9B,GAAIk1F,IAAak4F,IAA2B1yG,GAAayP,aAAa+K,GAClE,OAGJ,MAAMmQ,EAAO,IAAId,GACjB,IAAK1uH,KAAKo2M,+BAA+B/2F,EAAUk4F,EAAyB/nF,IACpE+nF,EAAwBhxG,QAAQv+B,YAAa,CAC7C,MAAMitH,EAAaj1L,KAAKypH,WAAW8K,cAC/Bv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWmwG,iCAAiCn4H,OAAO,CACzDhF,OACA8d,MAAOA,EAAQ,IACdqlG,EAAKR,YACVuoF,EAAwBhxG,QAAQv+B,YAAYN,KAAKr7D,MAGjD4oL,GAAc51E,EAAS9Y,QAAQv+B,aAC/BitH,EAAWzmE,eACPoD,GAAUlD,mBAAmBiqB,iBAC7BuX,EAAYnhJ,KACZmhJ,EAAYzjJ,eA9CP,CACzB,IAAI+qM,GAAmB,EACvB,MAAMliB,EAAsB,GAA2CplC,EAAYxoF,MACnF,GAAI4tH,GAAwD,KAAjCA,EAAoB7uH,SAAkC,CAC7E,MAAMwnC,EAAYjuG,KAAKypH,WAAW4C,eAAeipE,GAC7CrnF,GAAarJ,GAAU+L,gBAAgB1C,EAAUA,aACjDupG,GAAmB,GAMtBA,GACDx3M,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWswG,gCAAgCt4H,OAAO,CACxDhF,KAAM6jJ,EAAYxoF,KAAKr7D,KAAK/O,QAEhC4yJ,EAAYxoF,KAAKr7D,UAuCrC8qM,iCAAiC9qM,EAAcsuE,EAAgB47B,GACnE,IAAKoD,GAAgBh/B,GACjB,OAGJ,MAAMuhB,EAAQvhB,EAAOy+B,kBACrB,IAAIq+F,GAAW,EACXC,GAAgB,EAyBpB,GAvBAx7G,EAAM52E,SAAS4iD,IACPwzB,GAA2BxzB,KACvBuvI,GACAz3M,KAAKypH,WAAWgM,SAAS7D,GAAUv4F,WAAW4oG,qBAAqB5wH,OAAO,CAAEhF,SAAS67D,EAAKR,MAE9F+vI,GAAW,GAGG,IAAdvvI,EAAKlpE,MAAqCkpE,EAAKgxC,qBAC3Cw+F,GAKkB,IAAdnhG,GACAv2G,KAAKypH,WAAWgM,SAAS7D,GAAUv4F,WAAW2oG,kBAAkB3wH,OAAO,CAAEhF,SAAS67D,EAAKR,MAG/FgwI,GAAgB,OAKnBA,IAAkB13M,KAAKk0L,UAAUt/G,WAAY,CAC9C,MAAM+iI,EAAYz7G,EAAM3wB,MAAMrD,GAAuB,IAAdA,EAAKlpE,MAAqCkpE,EAAKyzB,UACtF,GAAIg8G,EAAW,CAIX,IAAIC,GAAuB,EAE3B,GAAIj9H,EAAOs9B,kBAAoBt9B,EAAO09B,aAAc,CAChD,MAAMwqF,EAAkB,GAAiC8U,EAAUjwI,MAA2B,GAC9F,GAAIm7H,EAAiB,CACjB,MAAM50F,EAAYjuG,KAAKypH,WAAW4C,eAAew2E,GAE7C50F,GACAhI,GAAQgI,EAAUqkD,gBAClB1tD,GAAUkL,YAAY7B,EAAUqkD,iBAEhCslD,GAAuB,IAK9BA,GACD53M,KAAKypH,WAAWgM,SAAS7D,GAAUv4F,WAAW+oG,kBAAkB/wH,OAAO,CAAEhF,SAASsrM,EAAUjwI,QAMpG0vI,qCAAqC/qM,EAAcsuE,GACvD,MAAMuhB,EAAQvhB,EAAOy+B,kBACfy+F,EAAgB37G,EAAM3wB,MAAMrD,GAAS0zB,GAA+B1zB,KAGtE2vI,GAAiB37G,EAAMlhG,OAAS,GAChCkhG,EAAM52E,SAAS4iD,IACPA,IAAS2vI,GACT73M,KAAKypH,WAAWgM,SAAS7D,GAAUv4F,WAAWi2G,sBAAsBj+H,OAAO,CAAEhF,SAAS67D,EAAKR,SAMnGwvI,gCAAgC7qM,EAAcsuE,GAIlD,MAAMu1E,EAAc12C,GAA8B7+B,GAGlD,IAAKu1E,EACD,OAKJ,GAAa,MAAT7jJ,EACA,OAGJ,IA2CIyrM,EA3CAC,EAAap9H,EAAOy+B,kBAAkBvwD,QAAQqf,GAASA,IAASgoF,IAIpE,GAAyB,IAArBA,EAAYlxJ,KAAmC,CAC/C,MAAMg5M,EAAsBh4M,KAAKypH,WAAW4oC,kBAAkBnC,EAAYxoF,MAE1EqwI,EAAaA,EAAWlvJ,QAAQqf,IAC5B,GAAkB,IAAdA,EAAKlpE,KACL,OAAO,EAGX,MAAMi5M,EAAej4M,KAAKypH,WAAW4oC,kBAAkBnqF,EAAKR,MAC5D,IAAKuwI,EACD,OAAO,EAGX,MAAM3lD,EAAgB0lD,EAChBh4M,KAAKypH,WAAWm/B,6BAA6BovD,EAAoB1lD,oBACjExzJ,EAKN,OACIwzJ,GACAnsD,GAAgBmsD,IAChB1tD,GAAU6L,gBAAgB6hD,IAC1BnsD,GAAgB8xG,EAAa3lD,gBAC7B1tD,GAAU6L,gBAAgBwnG,EAAa3lD,eAEhC2lD,EAAa3lD,cAAc/rD,QAAQ+H,eAAiBgkD,EAAc/rD,QAAQ+H,cAG7EzJ,GAAayP,aAAa2jG,EAAazkG,iBAKvD,GAA0B,IAAtBukG,EAAW/8M,OACX,OAMI88M,EAFiB,IAArB5nD,EAAYlxJ,KACRkxJ,EAAY9kC,SACMwG,GAAUlD,mBAAmB2rB,uBAE7BzoB,GAAUlD,mBAAmB0rB,yBAEvB,IAArB8V,EAAYlxJ,KACD4yH,GAAUlD,mBAAmByrB,sBACnB,IAArB+V,EAAYlxJ,KACD4yH,GAAUlD,mBAAmB4rB,0BACnB,IAArB4V,EAAYlxJ,KACD4yH,GAAUlD,mBAAmB6rB,yBAE7B3oB,GAAUlD,mBAAmBwrB,iBAGnD,MAAMg+D,EAAsB1oF,IACxB,GAAIA,EAAM,CACN,IAAI2oF,EACqB,IAArBjoD,EAAYlxJ,MAA0D,IAArBkxJ,EAAYlxJ,KAC7Dm5M,EAAkBjoD,EAAYxoF,KAAKr7D,KACP,IAArB6jJ,EAAYlxJ,KACe,KAA9BkxJ,EAAYxoF,KAAKjB,WACjB0xI,EAAkBjoD,EAAYxoF,MAEN,IAArBwoF,EAAYlxJ,MACfkxJ,EAAYxoF,KAAKr7D,OACjB8rM,EAAkBjoD,EAAYxoF,KAAKr7D,MAIvC8rM,GACA3oF,EAAKhB,eAAespF,EAAiB5nD,EAAYnhJ,KAAMmhJ,EAAYzjJ,SAK/E,IAAK,MAAM2rM,KAAaL,EACpB,GAAuB,IAAnBK,EAAUp5M,KAOVk5M,EANal4M,KAAKypH,WAAW8K,cACzBv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWwvG,2BAA2Bx3H,OAAO,CAAEhF,SACzD+rM,EAAU1wI,KAAKr7D,YAGhB,GAAuB,IAAnB+rM,EAAUp5M,KAAmC,CACpD,MAAMq5M,EAAcr4M,KAAKypH,WAAWyN,sBAAsBg5B,GAGtDmoD,GAAevxG,GAAWuxG,IAC1Br4M,KAAKypH,WAAW+sF,8BAA8B6B,GAGlD,IAAIC,GAAgB,EACpB,MAAMC,EAAYv4M,KAAKypH,WAAWyN,sBAAsBkhF,GAKlDI,EAHS,GAAiCtoD,EAAYxoF,QAC7C,GAAiC0wI,EAAU1wI,MAKtD6wI,GAAazxG,GAAWyxG,IACxBv4M,KAAKypH,WAAW+sF,8BAA8B+B,GAK9CF,GAAeE,GAAanxG,GAAWixG,EAAaE,KACpDD,GAAgB,KAGfA,GAAiBE,IASlBN,EARal4M,KAAKypH,WAAW8K,cACzBv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf2jF,EAAUhtF,SACJwG,GAAUv4F,WAAW0vG,4BAA4B13H,OAAO,CAAEhF,SAC1DulH,GAAUv4F,WAAWyvG,8BAA8Bz3H,OAAO,CAAEhF,SAClE+rM,EAAU1wI,KAAKr7D,YAIpB,GAAuB,IAAnB+rM,EAAUp5M,KACbo5M,EAAU1wI,KAAKr7D,MAOf6rM,EANal4M,KAAKypH,WAAW8K,cACzBv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAW2vG,+BAA+B33H,OAAO,CAAEhF,SAC7D+rM,EAAU1wI,KAAKr7D,YAIpB,GAAuB,IAAnB+rM,EAAUp5M,KAAmC,CACpD,MAAMq5M,EAAcr4M,KAAKypH,WAAWyN,sBAAsBg5B,GAE1D,GAAIkoD,EAAUh9G,oBACV,GAAgC,KAA5Bg9G,EAAU1wI,KAAKjB,SAAiC,CAChD,IAAI6xI,GAAgB,EAGpB,MAAMC,EAAYv4M,KAAKypH,WAAWyN,sBAAsBkhF,GACpDC,GAAeE,GAAanxG,GAAWixG,EAAaE,KACpDD,GAAgB,GAGfA,GAODJ,EANal4M,KAAKypH,WAAW8K,cACzBv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAW4vG,8BAA8B53H,OAAO,CAAEhF,SAC5D+rM,EAAU1wI,aAKf2wI,GAAgB14F,GAAW04F,IACT,IAArBnoD,EAAYlxJ,MAA0D,IAArBkxJ,EAAYlxJ,MAO7Dk5M,EANal4M,KAAKypH,WAAW8K,cACzBv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAW4vG,8BAA8B53H,OAAO,CAAEhF,SAC5D+rM,EAAU1wI,QAS1BuvI,iCAAiC5qM,EAAcsuE,EAAgB47B,GACnE,MAAMkiG,EAAoBz4M,KAAKk0L,UAAUukB,kBACrC99H,EAAOo9B,6BAA+B0gG,EAAkBr0L,IAAIu2D,EAAO/9D,KAM1D,MAATvQ,IAIA,GAA6BA,IAInBsuE,EAAOy+B,kBACf9zF,SAAS4iD,IACXloE,KAAK04M,sCAAsCxwI,EAAMloE,KAAK24M,iBAAiBtsM,EAAMkqG,QAI7EmiG,sCAAsCxwI,EAAmB2jG,GAC7D,IAAI+sC,EACA5gD,EACAzrJ,EACA8hH,EAEJ,OAAQnmD,EAAKlpE,MACT,KAAK,EAGD,GAFA45M,EAAkB54M,KAAKk0L,UAAU1/D,kBAAkB6uC,mBACnDh1C,EAAO3R,GAAe2mD,mBACK,KAAvBn7F,EAAKR,KAAKjB,SACV,GAAIyB,EAAKR,KAAKyE,MAELnsE,KAAKk0L,UAAUt/G,aAChBojF,EAAW9vF,EAAKR,KAAKyE,WAEtB,CAEH,MAAMuD,EAAYxH,EAAKR,KAAK51D,OAAO49D,UACnC,GAAIA,EAAU10E,OAAS,EAAG,CACtB,MAAM69M,EAAgBnpI,EAAU5rD,KAAKg1L,GAAOA,EAAGx7M,QAAO9B,KAAK,KACrDy7K,EAAuB,CAAEn7K,MAAO4zE,EAAU,GAAG5zE,MAAOd,OAAQ00E,EAAU,GAAG10E,QAe/E,OAdAwpE,GAAUqB,OAAOoxG,EAAWvnG,EAAUA,EAAU10E,OAAS,IACzDgF,KAAKk0L,UAAUoQ,eAAe95B,2BAC1B54C,GAAUv4F,WAAWy5G,mBAAmBzhI,OAAO,CAAEhF,KAAMwsM,IACvD5hC,EACA,CAAEhpD,OAAQ,8BAGdjuH,KAAKypH,WAAWkqF,0BACZ3zM,KAAKk0L,UACLl0L,KAAKk0L,UAAU1/D,kBAAkB6uC,mBACjC3mD,GAAe2mD,mBACfzxC,GAAUv4F,WAAWw5G,mBAAmBxhI,OAAO,CAAEhF,KAAMwsM,IACvD5hC,SAKT,GAA2B,KAAvB/uG,EAAKR,KAAKjB,SAAyC,CAC1D,MAAMwF,EAAa/D,EAAKR,KAAKviC,OAIvB4zK,EAAa/4M,KAAKk0L,UAAUt/G,iBAAkC91E,IAApBopE,EAAKR,KAAKyE,MAGpD6sI,EACqC,IAAvC/sI,EAAWn6D,OAAO49D,UAAU10E,QACa,eAAzCixE,EAAWn6D,OAAO49D,UAAU,GAAGpyE,MAE9By7M,GAAeC,IAChBhhD,EAAW9vF,EAAKR,KAAKyE,OAASjE,EAAKR,KAAKr7D,MAI5C2rJ,IACAzrJ,EAAUqlH,GAAUv4F,WAAWw5G,mBAAmBxhI,OAAO,CAAEhF,KAAM2rJ,EAAS16J,SAE9E,MAEJ,KAAK,EACL,KAAK,EACD,IAAKuuK,EACD,OAGJ,GAAI7rK,KAAKk0L,UAAUt/G,WAGf,OAGJgkI,EAAkB54M,KAAKk0L,UAAU1/D,kBAAkBgvC,qBAExB,KAAvBt7F,EAAKR,KAAKjB,UACVuxF,EAAW9vF,EAAKR,KAIZswF,EAAS16J,MAAMk4D,WAAW,OAC1BojJ,EAAkB,SAEQ,KAAvB1wI,EAAKR,KAAKjB,WACjBuxF,EAAW9vF,EAAKR,KAAKr7D,KAGrBusM,EAAkB,QAGlB5gD,IACA3pC,EAAO3R,GAAe8mD,qBACtBj3J,EAAUqlH,GAAUv4F,WAAW05G,qBAAqB1hI,OAAO,CAAEhF,KAAM2rJ,EAAS16J,SAEhF,MAEJ,KAAK,EACD,IAAKuuK,EACD,OAKJ,GAAI7rK,KAAKk0L,UAAUt/G,WACf,OAGJgkI,EAAkB54M,KAAKk0L,UAAU1/D,kBAAkB8uC,kBACnDtL,EAAW9vF,EAAKR,KAAKr7D,KACrBgiH,EAAO3R,GAAe4mD,kBACtB/2J,EAAUqlH,GAAUv4F,WAAWs5G,kBAAkBthI,OAAO,CAAEhF,KAAM2rJ,EAAS16J,QACzE,MAEJ,KAAK,EACD,IAAKuuK,EACD,OAKJ,GAAI7rK,KAAKk0L,UAAUt/G,WACf,OAGJgkI,EAAkB54M,KAAKk0L,UAAU1/D,kBAAkB+uC,qBACnDvL,EAAW9vF,EAAKR,KAAKr7D,KACrBgiH,EAAO3R,GAAe6mD,qBACtBh3J,EAAUqlH,GAAUv4F,WAAWu5G,qBAAqBvhI,OAAO,CAAEhF,KAAM2rJ,EAAS16J,QAC5E,MAEJ,QACI,OAGR,GAAI06J,QAAqBl5J,IAATuvH,GAAsB9hH,EAAS,CAC3C,MAAM0hH,EAASI,IAAS3R,GAAe2mD,mBAAqB,CAAEp1C,OAAQ,6BAA0BnvH,EAChGkB,KAAKk0L,UAAUoQ,eAAe95B,2BAC1B54C,GAAUv4F,WAAWy5G,mBAAmBzhI,OAAO,CAAEhF,KAAM2rJ,EAAS16J,QAChE06J,EACA/pC,GAEJjuH,KAAKypH,WAAW8K,cAAcqkF,EAAiBvqF,EAAM9hH,EAASyrJ,IAO9Du6C,wBAAwB7qI,GAC5B,GACqC,KAAjCA,EAAKhB,eAAeD,UACW,eAA9BiB,EAAKhB,eAAeppE,OAAwD,eAA9BoqE,EAAKhB,eAAeppE,OACzC,IAA1BoqE,EAAKhoE,UAAU1E,OAEf,OAGJ,MAAMi+M,EAAWvxI,EAAKhB,eAAeppE,MAC/B0pM,EAA+B,eAAbiS,EAExB,IAAIC,EAAWl5M,KAAKypH,WAAW8D,QAAQ7lD,EAAKhoE,UAAU,GAAGonE,iBACzD,IAAKoyI,EACD,OAEJA,EAAWp7F,GAAYo7F,GAAWpzG,GACvByY,GAAoCzY,KAG/C,MAAMqzG,EAAWn5M,KAAKypH,WAAW8D,QAAQ7lD,EAAKhoE,UAAU,GAAGonE,iBAC3D,IAAKqyI,EACD,OAGJ,IAAIC,GAAc,EAiBlB,GAhBAh9F,GAAiB+8F,GAAWE,IACpBlzG,GAAgBkzG,IAAgBz0G,GAAUuM,aAAakoG,IAAgBA,EAAYtxG,mBAE/EsxG,EAAYtxG,mBAAmBt5C,MAC1B+tD,IAAax8G,KAAKs5M,kCAAkC98F,EAAQx9G,KAAMgoM,OAGvEoS,GAAc,GAGbp5M,KAAKs5M,kCAAkCD,EAAarS,KACrDoS,GAAc,OAKrBA,EAAa,CACd,MAAM5pF,EAAO,IAAId,GACjBc,EAAKZ,WAAWgD,GAAUlD,mBAAmB+sB,qBAE7Cz7I,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACfuyE,EACMp1E,GAAUv4F,WAAWyrG,wBAAwBzzH,OAAO,CAChDrS,KAAMgB,KAAKypH,WAAW4K,UAAU8kF,GAAgC,KAC/D3pF,EAAKR,YACV4C,GAAUv4F,WAAW0rG,wBAAwB1zH,OAAO,CAChDrS,KAAMgB,KAAKypH,WAAW4K,UAAU8kF,GAAgC,KAC/D3pF,EAAKR,YAChBtnD,EAAKhoE,UAAU,IAMvB,IAAIupE,EAAiCvB,EACrC,KAAOuB,GAAS,CACZ,GAAyB,IAArBA,EAAQxC,SACR,OAEJwC,EAAUA,EAAQ9jC,OAMtB,MAAMo0K,EAAwB,CAC1B,eACA,aACA,sBACA,oBACA,OACA,QAGEpS,EAA6B,GACnC,IAAIqS,GAAyB,EAqD7B,GAnDAp9F,GAAiB+8F,GAAWE,IACpBpzG,GAAQozG,GACJ70G,GAASgB,eAAe6zG,QACSv6M,IAA7Bu6M,EAAY3tG,eACZy7F,EAAc9rM,KAAKg+M,GAEfz0G,GAAUqH,UAAUotG,IACpBE,EAAsB9qJ,MAAMpiD,GAASA,IAASgtM,EAAY9yG,QAAQl6F,SAElE+sM,GAAc,GAGdC,EAAYxqG,oBACZ2qG,GAAyB,KAM7BroG,GAAakoG,GACTA,EAAYtxG,oBACZsxG,EAAYtxG,mBAAmBziF,SAASk3F,IAChCtW,GAAoBsW,EAAQx9G,OAC5BmoM,EAAc9rM,KAAKmhH,EAAQx9G,MAEvBw9G,EAAQx9G,KAAK6vG,oBACb2qG,GAAyB,IAG7BJ,GAAc,KAKtBC,EAAYxqG,oBACZ2qG,GAAyB,GAK7B50G,GAAUqH,UAAUotG,IACpBE,EAAsB9qJ,MAAMpiD,GAASA,IAASgtM,EAAY9yG,QAAQl6F,SAElE+sM,GAAc,IAItBA,GAAc,MAIjBA,EACD,OAaJ,GAPIjS,EAAc14I,MAAMzvD,GAAS4lG,GAAU+L,gBAAgB3xG,KAAU4lG,GAAUmM,mBAAmB/xG,MAC9FgB,KAAKypH,WAAWgM,SACZ7D,GAAUv4F,WAAW0yG,qBAAqB16H,OAAO,CAAEhF,KAAM4sM,IACzDvxI,EAAKhoE,UAAU,GAAGonE,iBlCpqE3B,SAAiC9nE,GACpC,IAAI+qM,GAAe,EAgBnB,OAdA3tF,GAAiBp9G,GAAO8mG,IAChBH,GAAe3mG,GACf+qM,GAAe,EACR7jG,GAAoBJ,GACvBlB,GAAU0M,oBAAoBxL,KAC9BikG,GAAe,GAEZ5jG,GAAgBL,IACnBlB,GAAU0M,oBAAoBxL,KAC9BikG,GAAe,MAKpBA,EkCupEC0P,CAAwBP,GACxB,OAGJ,MAAMQ,EAA4B/+F,GACvB3P,GAAa2P,GAGlB0uF,EAAcN,IAChB,MAAMG,EAAwB,GAE9B,IAAK,MAAMG,KAAclC,EAAe,CAIpC,MAAMoC,EACF3kG,GAAU4M,cAAcu3F,EAASM,IAChCrC,GACGpiG,GAAU+L,gBAAgB04F,IAC1BrpM,KAAKypH,WAAW0L,cAAck0E,EAAYN,IAC7CnkG,GAAUqH,UAAUo9F,EAAY,SAAWzkG,GAAU0L,iBAAiBy4F,GACrES,EACF5kG,GAAU4M,cAAc63F,EAAYN,IACnC/B,GACGpiG,GAAU+L,gBAAgBo4F,IAC1B/oM,KAAKypH,WAAW0L,cAAc4zE,EAASM,GAQ3CG,GAAoBA,IAAqB5kG,GAAU+C,mBAAmBohG,EAASM,GAG/EH,EAAc7tM,KAAKqpG,GAAYvyF,UACxBo3L,EAIPL,EAAc7tM,KAAK0tM,GACZS,GAGPN,EAAc7tM,KAAKguM,GAI3B,OAAKrC,EAKEkC,EAAcplL,KAAKyoC,GAAO25C,GAAoB35C,GAAKq4C,GAAUgK,gBAAgBriD,GAAKA,IAJ9E28I,GAOf,IAAIc,EACJ,GAAIhD,GAAmB7gG,GAAgB+yG,GAEnClP,EAAe0P,EADQrQ,EAAWzkG,GAAUmJ,oBAAoBmrG,UAE7D,IAAKlS,GAAmB9gG,GAAoBgzG,GAE/ClP,EAAe0P,EADQrQ,EAAW6P,QAE/B,KAAItzG,GAAQszG,GAuBf,OAvB0B,CAC1B,IAAIpuG,EAAyB,GACzB6uG,GAAe,EAiBnB,GAfAv9F,GAAiB88F,GAAWpzG,IACpBH,GAAeG,KACf6zG,GAAe,GAGf3S,GAAmB7gG,GAAgBL,GACnCgF,EAAiBA,EAAe9lG,OAAOqkM,EAAWzkG,GAAUmJ,oBAAoBjI,MACxEkhG,GAAmB9gG,GAAoBJ,KAC/CgF,EAAiBA,EAAe9lG,OAAOqkM,EAAWvjG,QAI1DkkG,EAAe0P,EAAyB5uG,GAGpC6uG,EACA,QAMR,MAAMC,EAAc,IAET5uG,GADam8F,EAAcrjL,KAAKyoC,GAAMq4C,GAAUgK,gBAAgBriD,OAMtEitJ,GAA0BpyG,GAAW4iG,EAAckP,GAAoC,IACxFl5M,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBgxC,4BACjC9oD,GAAe8oD,4BACfwhC,EACMp1E,GAAUv4F,WAAWm6G,8BAA8BniI,OAAO,CACtDwoM,SAAU75M,KAAKypH,WAAW4K,UAAU6kF,GAAgC,GACpEjrG,UAAWjuG,KAAKypH,WAAW4K,UAAUulF,KAAqC,KAE9EhoF,GAAUv4F,WAAWo6G,8BAA8BpiI,OAAO,CACtDwoM,SAAU75M,KAAKypH,WAAW4K,UAAU6kF,GAAgC,GACpEjrG,UAAWjuG,KAAKypH,WAAW4K,UAAUulF,KAAqC,KAEpFlyI,GAOJ4xI,kCAAkCt6M,EAAYgoM,GAClD,IAAI8S,GAAc,EAyClB,OAvCA19F,GAAiBp9G,GAAO8mG,IAGpB,QAFAA,EAAU9lG,KAAKypH,WAAWm/B,6BAA6B9iD,IAEvCxnC,UACZ,KAAK,EACL,KAAK,EACL,KAAK,EACD,MAEJ,KAAK,EAGGwnC,EAAQiJ,yBAA2BjJ,EAAQ+I,oBAC3CirG,GAAc,GAElB,MAEJ,KAAK,EAIGA,IAHC9S,GAGaxiG,GAASgB,eAAeM,GAE1C,MAEJ,KAAK,EACDg0G,EAAct1G,GAASgB,eAAeM,GACtC,MAEJ,KAAK,EACDg0G,EAAc95M,KAAKs5M,kCAAkCxzG,EAASkhG,GAC9D,MAEJ,QACI8S,GAAc,MAKnBA,EAGHnB,iBAAiB5rC,EAAmBx2D,GAGxC,OAAkB,IAAdA,GAAkD,IAAdA,MAKpC,GAA8Bw2D,MAI9B,GAAgCA,MAEG,IAAdx2D,IAOrBwjG,qBAAqBryI,G,MACzB,MAAMsyI,EAAkD,QAAjC,EAAAhK,GAAkBzrM,IAAImjE,EAAKpqE,cAAM,QAAI2yM,GAAuB1rM,IAAImjE,EAAKpqE,OAE5F,IAAK08M,EACD,OAGJ,MAAMh7M,EAAOgB,KAAKypH,WAAW8D,QAAQ7lD,GAEhC1oE,GAIAknG,GAAoBlnG,IAASA,EAAKunG,QAAQwG,WAAaitG,EAAejtG,UAIvE/sG,KAAKk0L,UAAU2E,qBAAqB97G,eAAiBi9H,EAAex8L,SACpExd,KAAKypH,WAAWogD,cACZj4C,GAAUv4F,WAAW+jG,iBAAiB/rH,OAAO,CACzCmM,QAAS++C,GAAgBy9I,EAAex8L,SACxCgmC,YAAaw2J,EAAevtI,kBAEhC/E,GAKJusI,mBAAmBvsI,GACvB,GAA+D,SAA3D1nE,KAAKk0L,UAAU1/D,kBAAkBuxC,wBAIhC,GAAmCr+F,GAAO,CAC3C,MAAM1oE,EAAOgB,KAAKypH,WAAW8D,QAAQ7lD,GAEjC1oE,IACI+mG,GAAU/mG,GACVgB,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBuxC,sBACjCrpD,GAAeqpD,sBACfn0C,GAAUv4F,WAAWo1G,kBAAkBp9H,OAAO,CAAEhF,KAAMq7D,EAAKpqE,QAC3DoqE,GAEGs+B,GAAkBhnG,IACzBgB,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBuxC,sBACjCrpD,GAAeqpD,sBACfn0C,GAAUv4F,WAAWs1G,0BAA0Bt9H,OAAO,CAAEhF,KAAMq7D,EAAKpqE,QACnEoqE,KAOZssI,iCAAiCtsI,G,MACrC,GAA4D,SAAxD1nE,KAAKk0L,UAAU1/D,kBAAkB6vC,mBACjC,OAIJ,GAAIrkK,KAAKk0L,UAAUt/G,WACf,OAIJ,GAAyB,KAAV,QAAX,EAAAlN,EAAKviC,cAAM,eAAEshC,WAAuCiB,EAAKviC,OAAO94B,OAASq7D,EACzE,OAGJ,MAAMqlG,EAAYrlG,EAAKpqE,MACjB28M,EAAgB,GAA8BltC,GAC9CmtC,EAAkB,GAAgCntC,GAIxD,IAAKktC,IAAkBC,EACnB,OAGJ,MAAM35D,EAAevgJ,KAAKypH,WAAWmC,2BAA2BlkD,GAEhE,IAoCIquB,EApCAokH,EACA55D,GAAgBA,EAAavlJ,OAAS,EAAIulJ,EAAaA,EAAavlJ,OAAS,QAAK8D,EACtF,IAAKq7M,GAAsBA,EAAmBzyI,OAASA,EACnD,OAGJ,GAAgC,IAA5ByyI,EAAmBn7M,KAAgC,CAGnD,GAAIm7M,EAAmB1+G,cACnB,OAGJ,MAAM2+G,EAAoBp6M,KAAKypH,WAAW4wF,gCACtCF,GACwB,GAG5B,IAAKC,EACD,OAQJ,GALAD,EAAqBC,EAAkBpyI,aAKlCoyI,EAAkBvuC,UACnB,OAIR,IAAKsuC,GAAsBA,EAAmBzyI,OAASA,EACnD,OAIAyyI,EAAmBzyI,OACnBquB,EAAY,GAAiCokH,EAAmBzyI,OAKhEyyI,EAAmBzyI,MAAQyyI,EAAmBzyI,KAAKviC,QAAUg1K,EAAmBzyI,KAAKviC,SAAW4wD,IAChGA,EAAY,GAAiCA,IAIjD,IAAIukH,GAAoB,EACxB,GAAIvkH,GACImkH,EAAiB,CACjB,MAAMK,EAAoBv6M,KAAKypH,WAAW4C,eAAet2B,GACzD,GAAIwkH,GAAqBr0G,GAAoBq0G,EAAkBjoD,eAAgB,CAG3E,GAAI1tD,GAAUgM,gBAAgB2pG,EAAkBjoD,eAC5C,OAIJgoD,GAAoB,EAEpB,MAAME,EAAqB,GAAiC9yI,GAC5D,GAAI8yI,EAAoB,CACpB,MAAMC,EAAyBz6M,KAAKypH,WAAW4C,eAAemuF,GAI9D,GAAIC,GAA0Bv0G,GAAoBu0G,EAAuBnoD,gBAEjE9vC,GACIi4F,EAAuBnoD,cACvBioD,EAAkBjoD,eACE,GAGxB,SAQpBv8D,IAAc,GAAqCruB,EAAMquB,KACrDukH,EACAt6M,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkB6vC,mBACjC3nD,GAAe2nD,mBACfzyC,GAAUv4F,WAAWqyG,8BAA8Br6H,OAAO,CAAEhF,KAAM0gK,IAClErlG,GAGJ1nE,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkB6vC,mBACjC3nD,GAAe2nD,mBACfzyC,GAAUv4F,WAAWiyG,4BAA4Bj6H,OAAO,CAAEhF,KAAM0gK,IAChErlG,IAQR8pI,2BAA2B9pI,EAAiBumC,GAChDA,EAAU1H,QAAQgI,YAAYjpF,SAAQ,CAACisF,EAAWpnF,KAC9C,GAAI87E,GAAQsL,IAAc3M,GAAU4L,YAAYe,GAAY,CAExD,IAAImpG,GAAuB,EAE3BnpG,EAAUhL,QAAQiE,OAAOllF,SAASq1D,IAC9B,MAAMkwH,EAAa7qM,KAAKypH,WAAWqK,yBAAyBn5C,GACxDwrB,GAAgB0kG,IAAejmG,GAAU+C,mBAAmBkjG,EAAYt5F,KACxEmpG,GAAuB,MAI3BA,GACA16M,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWqlG,oBAAoBrtH,OAAO,CAAEhF,KAAMklG,EAAUhL,QAAQl6F,OAC1Eq7D,EAAKhoE,UAAUyqB,QAU3BonL,6BAA6BoJ,GACjC,MAAMC,EAAyBlzI,IAC3B1nE,KAAKypH,WAAWgM,SAAS7D,GAAUv4F,WAAW62G,kBAAmBxoE,IAGrEizI,EAAUlwI,WAAWnlD,SAASskD,IAC1B,IAAK,GAAmCA,GACpC,GAA2B,KAAvBA,EAAUnD,SACV,IAAK,MAAM4xB,KAAgBzuB,EAAUa,WAEH,KAA1B4tB,EAAa5xB,UACa,KAA1B4xB,EAAa5xB,UACa,KAA1B4xB,EAAa5xB,UACa,KAA1B4xB,EAAa5xB,UAEbm0I,EAAsBviH,QAI9BuiH,EAAsBhxI,MAM9BuoI,iCAAiCzqI,EAAoB8rC,EAA4B4X,G,MAErF,IAAK5X,EAAajN,QAAQ2C,mBACtB,OAGJ,IACK/C,GAAgBqN,EAAajN,QAAQ2C,sBACrCtE,GAAUqH,UAAUuH,EAAajN,QAAQ2C,mBAAoB,qBAC7DsK,EAAajN,QAAQ2C,mBAAmBd,eACzCoL,EAAajN,QAAQ2C,mBAAmBd,cAAcptG,OAAS,EAE/D,OAGJ,MAAMu0G,EAAgBiE,EAAajN,QAAQ2C,mBAAmBd,cAAc,GAGtEia,EAAa+I,IAAavmB,GAAamP,eAAeR,GAAgB,EAAI,EAChF,GAAI6O,GAAc7O,EAAajN,QAAQljE,WAAWroC,OAC9C,OAGJ,MAAMgnH,EAAYnd,GAAamE,0BAA0BwK,EAAc6O,GAGvE,IAAKriH,KAAKypH,WAAW0L,cAAcnT,EAAWzS,GAAgB,CAC1D,MAAMsrG,EAAmBnzI,EAAK0lB,uBAAsD,QAA9B,EAAA1lB,EAAK0qB,iCAAyB,eAAEhF,sBAClFytH,GACA76M,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWw0G,4BAA4Bx8H,OAAO,CACpDrS,KAAMgB,KAAKypH,WAAW4K,UAAUrS,GAChC5Y,WAAYppG,KAAKypH,WAAW4K,UAAU9kB,KAE1CsrG,IAMR3I,0BAA0BxqI,EAAoB8rC,EAA4B4X,G,MAC9E,MAAMF,EAAe1X,EAAajN,QAAQl6F,KAG1C,GAAI++G,GAA6B,aAAjBF,EAA6B,CACzC,MAAM2vF,EAAmBnzI,EAAK0lB,uBAAsD,QAA9B,EAAA1lB,EAAK0qB,iCAAyB,eAAEhF,sBAChF8b,EAAqBsK,EAAajN,QAAQ2C,mBAEhD,GAAI2xG,GAAoB3xG,EACf5D,GAAe4D,IAAwB7D,GAAQ6D,IAChDlpG,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAW6qG,qBACrB22E,OAGL,CACH,MAAMxxG,EAAqBrpG,KAAKypH,WAAW+sF,8BAA8BhjG,GAEpEnO,GAAQgE,IACR/D,GAAe+D,IACf1D,GAAe0D,IAEhBrpG,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAW6qG,qBACrBx8D,EAAKr7D,QAOjB4lM,wBAAwBvqI,EAAoB8rC,G,MAGhD,GAAIxzG,KAAKk0L,UAAUt/G,WACf,OAGJ,MAAMimI,EAAmBnzI,EAAK0lB,uBAAsD,QAA9B,EAAA1lB,EAAK0qB,iCAAyB,eAAEhF,sBACtF,GAAIytH,EAAkB,CAClB,MAAMC,GAAwB96M,KAAKypH,WAAWsxF,qBAAqBrzI,GAC7DszI,EAAwBh7M,KAAKypH,WAAWsxF,qBAAqBrzI,EAAKukB,OAExE,IAAIid,EAAqBsK,EAAajN,QAAQ2C,mBAE9C,GAAIA,EAAoB,CAChBxD,GAAUwD,GACVlpG,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkB0wC,0BACjCxoD,GAAewoD,0BACftzC,GAAUv4F,WAAW2jG,4BACrB69E,GAEGp3F,GAAgBva,IACvBlpG,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkB0wC,0BACjCxoD,GAAewoD,0BACftzC,GAAUv4F,WAAW0jG,qCAAqC1rH,OAAO,CAC7D+3F,WAAYppG,KAAKypH,WAAW4K,UAAUnrB,GAA0C,KAEpF2xG,GAIR,MAAMrrF,EAAO,IAAId,GACbroB,GAAU6C,IAA+D,IAAxCA,EAAmB3C,QAAQ0D,WAC5DulB,EAAKZ,WACDgD,GAAUlD,mBAAmB2sB,yBAAyBhqI,OAAO,CACzDhF,KAAM+4F,GAAYmS,gBAAgBrO,MAG1ClpG,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWozG,0BAA4Bjd,EAAKR,YACtD6rF,IAaZ,GAPIh2G,GAAasP,YAAYX,KACzBtK,EAAqB2Z,GAA+BrP,IAMpDtK,IAAuB4xG,GAAwBE,EAC/C,GAAI31G,GAAQ6D,GAIH,GAA4BxhC,EAAKukB,QAAW4Y,GAAayP,aAAad,IACvExzG,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWovG,sBACrBoyE,QAGL,IAAKh2G,GAAaqP,iBAAiBV,GAAe,CAGrD,MAAMo+F,EAAe,IAAIljF,GAGpB1uH,KAAKypH,WAAW0L,cAAcjsB,EAAoBnE,GAASgN,iBAAkB6/F,IAIzE,GAA4BlqI,EAAKukB,QAAW4Y,GAAayP,aAAad,IACvExzG,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWkzG,gBAAgBl7H,OAAO,CACxC+3F,WAAYppG,KAAKypH,WAAW4K,UACxBnrB,GACsB,KAEzB0oG,EAAa5iF,YAClB6rF,QAMjB,CACH,MAAMxxG,EAAqBrpG,KAAKypH,WAAW+sF,8BAA8BhjG,GACrE9N,GAAU2D,GACVrpG,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBuwC,2BACjCroD,GAAeqoD,2BACfnzC,GAAUv4F,WAAWszG,oBACrBjlE,EAAKr7D,MAEFo3G,GAAgBpa,IACvBrpG,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBuwC,2BACjCroD,GAAeqoD,2BACfnzC,GAAUv4F,WAAWuzG,6BAA6Bv7H,OAAO,CACrD+3F,WAAYppG,KAAKypH,WAAW4K,UAAUhrB,GAA0C,KAEpF3hC,EAAKr7D,OAQb4kM,8BAA8BhjG,GAClCA,EAAU1H,QAAQiE,OAAOllF,SAAQ,CAAC21K,EAAa5uL,KAC3C,MAAM4uM,EAAep6F,GAAkB5S,EAAW5hG,EAAM,GACxD,GACI4uM,GACA/0G,GAAoB+0G,EAAahtG,YACjC0L,GAAgBshG,EAAatgI,UAC5B,GAA8BtuE,GACjC,CACE,MAAM67D,EAAO+yH,EAAY7hF,kBAAkB,GAC3Cp5G,KAAKypH,WAAWgM,SACZ7D,GAAUv4F,WAAW6oG,+BAA+B7wH,OAAO,CACvDhF,OACAqjF,UAAWurH,EAAahtG,UAAU1H,QAAQl6F,OAE9C67D,EAAKR,UAMb4pI,4BAA4BrjG,GAC3BrJ,GAAU4L,YAAYvC,KAAcrJ,GAAUqH,UAAUgC,IAI7DA,EAAU1H,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KAEtC,GAAIsuE,EAAO2+B,uBAAuBt+G,OAAS,EACvC,OAGJ,MAAMkhG,EAAQvhB,EAAOy+B,kBACrB,GAAIld,EAAMlhG,QAAU,GAAuB,IAAlBkhG,EAAM,GAAGl9F,KAAmC,CACjE,MAAM6rM,EAAa7qM,KAAKypH,WAAWqK,yBAAyBn5C,GAIxDwrB,GAAgB0kG,IAChBjmG,GAAU+C,mBAAmBkjG,EAAY58F,SACbnvG,IAA5B+rM,EAAWn/F,cAEX1rG,KAAKypH,WAAWgM,SACZ7D,GAAUv4F,WAAWykG,sBAAsBzsH,OAAO,CAAEhF,SACpD6vF,EAAM,GAAGx0B,UAWrB2pI,+BAA+BpjG,EAAsB22C,GACzD,GAAIhgD,GAAU+L,gBAAgB1C,GAC1B,OAGJ,MAAM2jG,EAAe,IAAIljF,GAEnBwsF,EAAuB7uM,GAClB4hG,EAAU1H,QAAQoI,IAAIlgD,MAAMswD,GACxB9Y,GAAQ8Y,KAAcna,GAAU+L,gBAAgBoO,IAAaA,EAASxY,QAAQiE,OAAOpmF,IAAI/X,KAIxG4hG,EAAU1H,QAAQgI,YAAYjpF,SAASisF,IAC9BtL,GAAQsL,IAAe3M,GAAU+L,gBAAgBY,IAI9BgP,GAAmBhP,GAE3BjsF,SAAQ,CAAC8sC,EAAQ/lD,KAC7B,MAAM6vF,EAAQ9pC,EAAOuoB,OAAOy+B,kBAEP,IAAjBld,EAAMlhG,QAAiBirG,GAAQ7zC,EAAO67C,aAIpB,IAAlB/R,EAAM,GAAGl9F,KAGJk9F,EAAMztC,MAAMyZ,GAAuB,IAAdA,EAAKlpE,QAAuCkpE,EAAKgxC,sBAGlEgiG,EAAoB7uM,IACrBulM,EAAahjF,WACTgD,GAAUlD,mBAAmBupB,wBAAwB5mI,OAAO,CACxDhF,OACA4hG,UAAW77C,EAAO67C,UAAU1H,QAAQl6F,QAK3B,IAAlB6vF,EAAM,GAAGl9F,MACZ,GAA4Bk9F,EAAM,GAAGx0B,KAAKukB,QAAUiQ,EAAM,IACJ,SAAlD5jC,GAAiB4jC,EAAM,GAAGntF,MAAMjP,gBAC3Bo7M,EAAoB7uM,IACrBulM,EAAahjF,WACTgD,GAAUlD,mBAAmBupB,wBAAwB5mI,OAAO,CACxDhF,OACA4hG,UAAW77C,EAAO67C,UAAU1H,QAAQl6F,gBAU/DulM,EAAatrL,WACdtmB,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWotG,yBAA2BmrE,EAAa5iF,YAC7D41B,EAAUv4I,MAOd+kM,2BAA2BnjG,EAAsB22C,GACrD,IAAKhgD,GAAUkL,YAAY7B,GACvB,OAGJ,MAAMktG,EAAiBt6F,GACnB5S,EACA,gBACA,IAIJ,IAAKktG,EACD,OAIJ,MAAMC,EAAoB,IAAIt9L,IAC9BmwF,EAAU1H,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KAClCsuE,EAAO49B,aACP6iG,EAAkBj2M,IAAIkH,EAAMsuE,MAIpC,MAAM0gI,EAAer7M,KAAKypH,WAAW+tC,gBAAgB2jD,GACrD,IACKr0G,GAAWu0G,KACXx2G,GAAaiP,iBAAiBunG,KAC9BA,EAAa90G,QAAQv+B,YAEtB,OAGJ,MAAMszI,EAAmB3+F,GAAwB0+F,GAGjD,QACmCv8M,IAA/Bw8M,EAAiB99F,gBACgB1+G,IAAjCw8M,EAAiB19F,kBAC0B9+G,IAA3Cw8M,EAAiB79F,sBAEjB,OAIJ,MAAM89F,EAAmBD,EAAiBn7L,OAAO0oC,QAAQqqD,IAAeA,EAAU9vF,MAAM0vF,aAGlF0oG,EAAqBJ,EAAkB97M,KAAO,GAEhDk8M,EAAqBD,EAAiBvgN,QAAUwgN,EAAqBF,EAAiBn7L,OAAOnlB,SAC7FgF,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWmjG,8BAA8BnrH,OAAO,CAAEoqM,SAAUL,EAAkB97M,OACxF+7M,EAAa90G,QAAQv+B,YAAYN,KAAKr7D,MAK9C,IAAIg2G,EAAa,EAEjB+4F,EAAkB91L,SAAQ,CAACq1D,EAAQw8C,KAC/B,GAAI9U,GAAci5F,EAAiBn7L,OAAOnlB,OACtC,OAGJ,MAAMooB,EAAQk4L,EAAiBn7L,OAAOkiG,GAAYj/F,MAElD,GAAIA,EAAM4vF,iBAAmB5vF,EAAM4pE,eAAgB,CAC/C,MAAM0uH,EAAY17M,KAAKypH,WAAWkyF,wBAAwBhhI,GACpDqnC,EAAYnd,GAAamE,0BAC3BqyG,EACAC,EAAiBn7L,OAAOkiG,GAAYl4F,OAElCyxL,EAAgB,IAAIltF,GAE1B,GAAIgtF,IAAc17M,KAAKypH,WAAW0L,cAAcnT,EAAW05F,EAAWE,GAAgB,CAClF,MAAM3mB,EAAaj1L,KAAKypH,WAAW8K,cAC/Bv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWojG,wBAAwBprH,OAAO,CAAE8lH,cAAeykF,EAAc5sF,YACnF5rG,EAAM4pE,gBAGV,GAAIioG,EAAY,CACZ,MAAM4mB,EAAalhI,EAAO2+B,uBACtBuiG,EAAW7gN,OAAS,GACpBi6L,EAAWzmE,eACPoD,GAAUlD,mBAAmB+nB,yBAC7BolE,EAAW,GAAG9sM,KACd8sM,EAAW,GAAGpvM,SAOlC41G,OAMA8uF,+BAA+BljG,EAAsB22C,GACzD,IAAKhgD,GAAUjJ,QAAQsS,GACnB,OAGJ,IAAKrJ,GAAUiL,wBAAwB5B,GACnC,OAGJ,MAAM6tG,EAAkB97M,KAAKypH,WAAWsyF,mBAAmB9tG,GAC3D,GAA+B,IAA3B6tG,EAAgB9gN,OAChB,OAGJ,MAAM42M,EAAe,IAAIljF,GAGzBotF,EAAgBx2L,SAAQ,CAAC02L,EAAgB7xL,KACrC,GAHoB,IAGhBA,EACAynL,EAAahjF,WACTgD,GAAUlD,mBAAmBipB,uBAAuBtmI,OAAO,CACvD2a,MAAO8vL,EAAgB9gN,OANf,UASb,GAAImvB,EATS,GAUZ+7E,GAAoB81G,EAAe/tG,WAAY,CAC/C,MAAMve,EAAYssH,EAAe/tG,UAAU1H,QAAQl6F,KACnDulM,EAAahjF,WACTgD,GAAUlD,mBAAmBgpB,mBAAmBrmI,OAAO,CACnDrS,KAAM0wF,EACNrjF,KAAM2vM,EAAelpJ,kBAOzC9yD,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWwoG,uBAAuBxwH,OAAO,CAC/CrS,KAAMivG,EAAU1H,QAAQl6F,OACvBulM,EAAa5iF,YAClB41B,EAAUv4I,MAMV6kM,wCAAwCjjG,GAGiC,SAAzEjuG,KAAKk0L,UAAU1/D,kBAAkBqwC,qCAIrC52D,EAAU1H,QAAQiE,OAAOllF,SAAQ,CAAC21K,EAAa5uL,KAE3C,IAAK4uL,EAAY9iF,mBACb,OAGJ,MAAMjc,EAAQ++F,EAAY7hF,kBAKtBld,EAAM3wB,MAAMrD,IACR,MAAM26H,EAAkB,GAA2C36H,EAAKR,MACxE,OAAKm7H,GAAgD,KAA7BA,EAAgBp8H,UAIL,aAA/Bo8H,EAAgBx2L,KAAK/O,UAYZujH,GAAkB5S,EAAW5hG,EAAM,IAMxDrM,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBqwC,oCACjCnoD,GAAemoD,oCACfjzC,GAAUv4F,WAAWi6G,gCAAgCjiI,OAAO,CAAEhF,KAAMA,IACpE6vF,EAAM,GAAGx0B,SAQbkpI,mCAAmChsD,EAAsB32C,GAC7D,MAAMguG,EAAiBhuG,EAAU1H,QAAQ6G,eAAevkD,QAAQi5D,IAAejb,GAAYib,KAG3F,GAA8B,IAA1Bm6F,EAAejhN,OACf,OAGJ,MAAMgzG,EAAahuG,KAAKypH,WAAWyI,eAAe0yB,EAAW,UAC7D,IAAK1+C,GAAoB8H,GACrB,OAIJ,MAAMkuG,EAAoBD,EAAen4L,KAAKg+F,GAC1Cxb,GAAkBwb,GAAaA,EAAY1c,GAAYwR,iBAAiBkL,KAEtEq6F,EAAmBv3G,GAAUyK,2BAA2BpB,EAAWiuG,GAEnEE,EAAex3G,GAAUgK,gBAAgBZ,GACzCquG,EAAkBz3G,GAAU6J,mBAC9B,0BACA,GACA,GACA,GACA,EACA,OACA3vG,OACAA,GAGJo9M,EAAkB52L,SAAQ,CAAClC,EAAOi/F,KAE9B,GAAIj/F,EAAMmjF,QAAQC,WACd,OAKJ,MAAM81G,EAAcJ,EAAkBp4L,KAAI,CAACtR,EAAGlY,IACtCkY,EAAE+zF,QAAQC,WACHh0F,EAEJlY,IAAM+nH,EAAa+5F,EAAeC,IAKvCE,EAAeL,EAAkBp4L,KAAI,CAACtR,EAAGlY,IACpCA,IAAM+nH,GAAc7vG,EAAE+zF,QAAQC,WAAah0F,EAAI6pM,IAGpD7vG,EAAU5H,GAAUkK,uBACtBqtG,EACAG,GAC6B,GAE3B/vG,EAAW3H,GAAUkK,uBACvBqtG,EACAI,GAC6B,GAKjC,IAAIC,EAYJ,GAVIA,EAJuBx8M,KAAKypH,WAAWgzF,6BAA6BjwG,EAASD,GAI1D,EAEQvsG,KAAKypH,WAAWgzF,6BAA6BlwG,EAAUC,GAE3D,EAEA,EAIvBgwG,IAAqBP,EAAe55F,GAAY9b,QAAQ0D,SAAU,CAClE,IAAI19F,EAEAA,EADqB,IAArBiwM,EACU5qF,GAAUv4F,WAAW4yG,4BAA4B56H,OAAO,CAC9DqrM,SAAUt5L,EAAMmjF,QAAQl6F,KACxBswM,MAAO1uG,EAAU1H,QAAQl6F,OAED,IAArBmwM,EACG5qF,GAAUv4F,WAAW2yG,gCAAgC36H,OAAO,CAClEqrM,SAAUt5L,EAAMmjF,QAAQl6F,KACxBswM,MAAO1uG,EAAU1H,QAAQl6F,OAGnBulH,GAAUv4F,WAAW6yG,4BAA4B76H,OAAO,CAC9DqrM,SAAUt5L,EAAMmjF,QAAQl6F,KACxBswM,MAAO1uG,EAAU1H,QAAQl6F,OAIjCrM,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkB8wC,wBACjC5oD,GAAe4oD,wBACf/4J,EACAq4I,EAAUv4I,UAQlBykM,+BAA+B7iG,GAC9BA,EAAU1H,QAAQq2G,iBAKvB3uG,EAAU1H,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KACtC,MAAM6vF,EAAQvhB,EAAOy+B,kBACIld,EAAMztC,MAC1ByZ,GAAuB,IAAdA,EAAKlpE,MAAqCkpE,EAAKq1H,oBAIzDrhG,EAAM52E,SAAS4iD,IAEO,IAAdA,EAAKlpE,MACJkpE,EAAKq1H,kBACLr1H,EAAKipH,yBAEqB,KAAvBjpH,EAAKR,KAAKjB,UAAmC,GAA6ByB,EAAKR,OAC/E1nE,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWq0G,wBAAwBr8H,OAAO,CAAEhF,SACtD67D,EAAKR,YAUzBspI,gCAAgC/iG,GACpC,MAAM4uG,EAAah8F,GACf5S,EACA,WACA,IAEE6uG,EAAYj8F,GACd5S,EACA,UACA,IAGJ,KAAK4uG,GAAeC,GAAc72G,GAAQ42G,EAAW5uG,YAAehI,GAAQ62G,EAAU7uG,YAClF,OAKJ,IACKrJ,GAAU+C,mBAAmBm1G,EAAU7uG,UAAWA,KAClDrJ,GAAU+C,mBAAmBk1G,EAAW5uG,UAAWA,GAEpD,OAKJ,MAAMqV,EAAYw5F,EAAU7uG,UAAU1H,QAAQmI,mBAC9C,GAAI4U,GAAard,GAAQqd,KAAe1e,GAAUqH,UAAUqX,EAAW,SAChDzC,GACfyC,EACA,WACA,IAGA,OAIR,IAAIy5F,EAAkC/8M,KAAKypH,WAAW+tC,gBAAgBslD,GACtE,IAAKh2G,GAAWi2G,KAAmBh2G,GAAqBg2G,GACpD,OAUJ,GARAA,EAAgB/8M,KAAKypH,WAAW8mC,4BAC5BtiD,EACA8uG,OACkBj+M,OACFA,OACKA,GACe,IAEnCi+M,EACD,OAGJ,GAAIh2G,GAAqBg2G,KAErBA,EAAgBA,EAAcxzG,UAAUh+B,MAAMxvD,IAAU8oF,GAAayP,aAAav4F,MAE7EghM,GACD,OAIR,IAAIC,EAAmCh9M,KAAKypH,WAAW+tC,gBAAgBqlD,GACvE,IAAK/1G,GAAWk2G,IAAoBj2G,GAAqBi2G,MAGzDA,EAAiBh9M,KAAKypH,WAAW8mC,4BAC7B3rD,GAAUgK,gBAAgBX,GAC1B+uG,GAGCA,KAIDj2G,GAAqBi2G,KAErBA,EAAiBA,EAAezzG,UAAUh+B,MAAMxvD,IAAU8oF,GAAayP,aAAav4F,KAE/EihM,KAKJl2G,GAAWk2G,IAAoBl2G,GAAWi2G,MAM3Cl4G,GAAa8O,qBAAqBqpG,IAAmBn4G,GAAa8O,qBAAqBopG,KAO3FC,EAAiBn4G,GAAasO,kBAC1B6pG,E,MACAA,EAAez2G,QAAQr9B,OAI3B6zI,EAAgBl4G,GAAasO,kBACzB4pG,E,MACAC,EAAez2G,QAAQr9B,OAMtBlpE,KAAKypH,WAAW0L,cACb4nF,EACAC,OACWl+M,OACMA,EAAS,KAG7BkB,KAAKypH,WAAW0L,cACb6nF,EACAD,OACWj+M,OACMA,EAAS,OAGhC,CACE,MAAMm+M,EAAgBr4G,GAAU+C,mBAAmBk1G,EAAW5uG,UAAWA,GACnEivG,EAAW1jG,GAA8BqjG,EAAWliI,QACpDqjH,EAAUxkF,GAA8BsjG,EAAUniI,QAExD,GAAIuiI,GAAYlf,EAAS,CACrB,MAAMmf,EAAWF,EAAgBC,EAAWlf,EACtCof,EACyB,KAA3BD,EAASz1I,KAAKjB,SAAsC02I,EAASz1I,KAAKr7D,KAAO8wM,EAASz1I,KAEhFkqI,EAAe,IAAIljF,GACnB2uF,EAAgBr9M,KAAKypH,WAAW4K,UAAU2oF,GAC1CM,EAAet9M,KAAKypH,WAAW4K,UAAU0oF,GAE/CnL,EAAahjF,WACTgD,GAAUlD,mBAAmByoB,sBAAsB9lI,OAAO,CACtDrS,KAAMq+M,KAGdzL,EAAahjF,WACTgD,GAAUlD,mBAAmB+pB,qBAAqBpnI,OAAO,CACrDrS,KAAMs+M,KAId,MAAMroB,EAAaj1L,KAAKypH,WAAW8K,cAC/Bv0H,KAAKk0L,UAAU1/D,kBAAkBkwC,8BACjChoD,GAAegoD,8BACf9yC,GAAUv4F,WAAW8iG,gCAAgC9qH,OAAO,CACxD48F,UAAWjuG,KAAKypH,WAAW4K,UACvBzvB,GAAUgK,gBAAgBquG,EAAgBJ,EAAW5uG,UAAY6uG,EAAU7uG,cAE9E2jG,EAAa5iF,YAClBouF,GAGJ,GAAInoB,EAAY,CACZ,MAAMsoB,EAAgBN,EAAgBjf,EAAUkf,EAEhDjoB,EAAWzmE,gBACNyuF,EACKrrF,GAAUlD,mBAAmB8pB,oBAC7B5mB,GAAUlD,mBAAmBwoB,sBACjC7lI,OAAO,CACLrS,KAAMgB,KAAKypH,WAAW4K,UAClBzvB,GAAUgK,gBAAgBquG,EAAgBH,EAAU7uG,UAAY4uG,EAAW5uG,cAGnFsvG,EAAcxuM,KACdwuM,EAAc9wM,UAQ1BskM,0CAA0C9iG,EAAsB22C,GAGpE,GAA0E,SAAtE5kJ,KAAKk0L,UAAU1/D,kBAAkBgwC,iCACjC,OAGJ,MAAMj2D,EAA2B,GAejC,GAXAN,EAAU1H,QAAQgI,YAAYjpF,SAASisF,KAE/BtL,GAAQsL,IACP3M,GAAUqH,UAAUsF,EAAW,YAC/B3M,GAAUqH,UAAUsF,EAAW,aAEhChD,EAAYlzG,KAAKk2G,MAKrBhD,EAAYvzG,OAAS,EACrB,OAIJ,MAAMwiN,EAAajvG,EAAYzqF,KAAKytF,IAChC,MAAMksG,EAAuBxvG,EAAU1H,QAAQoI,IAAIpjC,MAC9C7oE,GAAMujG,GAAQvjG,IAAMkiG,GAAU+C,mBAAmBjlG,EAAG6uG,KAEzD,OAAKksG,GAAyBx3G,GAAQw3G,GlCj0F3C,SAAiCxvG,GACpC,MAAMyvG,EAAY,IAAI5/L,IAGtB,IAAK,IAAIxjB,EAAI2zG,EAAU1H,QAAQoI,IAAI3zG,OAAS,EAAGV,GAAK,EAAGA,IAAK,CACxD,MAAMykH,EAAWc,GAAwB5R,EAAU1H,QAAQoI,IAAIr0G,GAAI2zG,GAI9DhI,GAAQ8Y,GAKbA,EAASxY,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,MAChCsuE,EAAOo9B,6BAA+Bp9B,EAAO0+B,wBAC9CqkG,EAAUv4M,IAAIkH,EAAM,CAChB4hG,UAAW8Q,EACXpkC,SACAw9B,iBAAkBx9B,EAAOw9B,mBACzBE,WAAY19B,EAAO09B,aACnBqI,gBAAgB,EAChBC,uBAAuB,OAZ/B+8F,EAAU71L,QAkBlB,OAAO61L,EkC0yFQC,CAAwBF,GAJpB,IAAI3/L,OAOnB,IAAK,IAAI8/L,EAAqB,EAAGA,EAAqBJ,EAAWxiN,OAAQ4iN,IAAsB,CAC3F,MAAMC,EAAgBL,EAAWI,GAEjC,IAAK,MAAOvxM,EAAMyxM,KAAuBD,EAGrC,IAAI,GAA6BxxM,KAAS,GAA8BA,IAKnE45F,GADiB63G,EAAmB7vG,WAKzC,IACI,IAAI8vG,EAAyB,EAC7BA,EAAyBH,EACzBG,IACF,CACE,MACMC,EADoBR,EAAWO,GACYx5M,IAAI8H,GAErD,GAAI2xM,EAAwB,CACxB,IAAIzoF,EAAWv1H,KAAKypH,WAAWqK,yBAAyBgqF,EAAmBnjI,QACvEsrB,GAAQ63G,EAAmB7vG,aAC3BsnB,EAAW1V,GAAwB0V,EAAUuoF,EAAmB7vG,YAEpE,IAAImrC,EAAep5I,KAAKypH,WAAWqK,yBAAyBkqF,EAAuBrjI,QAKnF,GAJIsrB,GAAQ+3G,EAAuB/vG,aAC/BmrC,EAAev5B,GAAwBu5B,EAAc4kE,EAAuB/vG,YAG5EnH,GAAWyuB,IAAaxuB,GAAqBwuB,GAAW,CACxD,MAAMq8E,EAAe,IAAIljF,GACzB,IAAIuvF,EAEJ,GAAIn3G,GAAWsyC,GACX6kE,EAAmB7kE,OAChB,GAAIryC,GAAqBqyC,KAE5B6kE,EAAmB7kE,EAAa7vC,UAAU6vC,EAAa7vC,UAAUvuG,OAAS,GAGtE6pG,GAAayP,aAAa2pG,IAC1B,SAIR,GAAIA,IAEKj+M,KAAKypH,WAAWy0F,kBACb3oF,EACA0oF,EACArM,GAC4B,GAElC,CACE,MAAM1pI,EAAO+1I,EAAiB13G,QAAQv+B,YACtC,GAAIE,GAAsB,IAAdA,EAAKlpE,KAAmC,CAChD,MAAMwwH,EAAOxvH,KAAKypH,WAAW8K,cACzBv0H,KAAKk0L,UAAU1/D,kBAAkBgwC,iCACjC9nD,GAAe8nD,iCACf5yC,GAAUv4F,WAAW8gG,kCAAkC9oH,OAAO,CAC1D48F,UAAWA,EAAU1H,QAAQl6F,KAC7BA,SACCulM,EAAa5iF,YAClB41B,GAGEu5D,EAAe3kG,GACjBwkG,EAAuBrjI,QAErByjI,EAAW5kG,GAA8BskG,EAAmBnjI,QAE9D60C,GAAQ2uF,GAAgBC,IACxB5uF,EAAKhB,eACDoD,GAAUlD,mBAAmB6nB,wBAAwBllI,OAAO,CACxDkgG,UAAWvxG,KAAKypH,WAAW4K,UACvB5V,GAAkBlQ,EAAYwvG,KAElC/+M,KAAMgB,KAAKypH,WAAW4K,UAAU+kB,KAEpC+kE,EAAapvM,KACbovM,EAAa1xM,OAGjB+iH,EAAKhB,eACDoD,GAAUlD,mBAAmB6nB,wBAAwBllI,OAAO,CACxDkgG,UAAWvxG,KAAKypH,WAAW4K,UACvB5V,GAAkBlQ,EAAYqvG,KAElC5+M,KAAMgB,KAAKypH,WAAW4K,UAAUkB,KAEpC6oF,EAASrvM,KACTqvM,EAAS3xM,cAgB7CokM,4BAA4B5iG,GAChCA,EAAU1H,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,K,MAItC,GAAI,GAA8BA,GAC9B,OAKJ,IAAKsuE,EAAO0+B,uBACR,OAIJ,MAAM8hC,EAAen7I,KAAKypH,WAAWqK,yBAAyBn5C,GAG9D,IAAIgrB,GAAew1C,GAInB,IAAK,MAAM5pC,KAAatD,EAAU1H,QAAQgI,YAAa,CACnD,IAAKtI,GAAQsL,GACT,SAKJ,MAAM8sG,EAAepwG,EAAU1H,QAAQoI,IAAIpjC,MACtCwzC,GAAa9Y,GAAQ8Y,IAAana,GAAU+C,mBAAmBoX,EAAUxN,KAE9E,IAAK8sG,EACD,SAGJ,MAAMP,EAAqBj9F,GAAkBw9F,EAAchyM,EAAM,GAEjE,IAAKyxM,IAAuB53G,GAAoB43G,EAAmB7vG,WAC/D,SAMJ,IAAK6vG,EAAmBnjI,OAAO0+B,uBAC3B,SAGJ,MAAMilG,EAAsBz+F,GACxB7/G,KAAKypH,WAAWqK,yBAAyBgqF,EAAmBnjI,QAC5DmjI,EAAmB7vG,WAGvB,GAAInH,GAAWw3G,IAAwBv3G,GAAqBu3G,GAAsB,CAC9E,MAAM1M,EAAe,IAAIljF,GACzB,IAAIuvF,EASJ,GAPIn3G,GAAWq0C,GACX8iE,EAAmB9iE,EACZp0C,GAAqBo0C,KAE5B8iE,EAAmB9iE,EAAa5xC,UAAU4xC,EAAa5xC,UAAUvuG,OAAS,IAG1EijN,EAAkB,CAClB,MAAMM,EAAgB,CAAC,WAAY,UAAW,qBAKxCC,GAAyB,GAA6BnyM,GAG5D,IAAKkyM,EAAc9vJ,MAAMgwJ,GAAWA,IAAWpyM,MAAU,GAA8BA,KAE9ErM,KAAKypH,WAAWy0F,kBACbI,EACAL,EACArM,EACA4M,GAEN,CACE,MAAMt2I,EACkC,QAApC,EAAA+1I,EAAiB13G,QAAQv+B,mBAAW,QAAIwxC,GAA8B7+B,GAC1E,GAAIzS,EAAM,CACN,MAAMsnD,EAAOxvH,KAAKypH,WAAW8K,cACzBv0H,KAAKk0L,UAAU1/D,kBAAkBgwC,iCACjC9nD,GAAe8nD,iCACf5yC,GAAUv4F,WAAW0qG,6BAA6B1yH,OAAO,CACrDhF,OACAqjF,UAAWouH,EAAmB7vG,UAAU1H,QAAQl6F,OAC/CulM,EAAa5iF,YACJ,IAAd9mD,EAAKlpE,KAAoCkpE,EAAKR,KAAKr7D,KAAO67D,EAAKR,MAG7Dg3I,EAAWllG,GAA8BskG,EAAmBnjI,QAC9D60C,GAAQkvF,GACRlvF,EAAKhB,eACDoD,GAAUlD,mBAAmBmqB,mBAC7B6lE,EAAS3vM,KACT2vM,EAASjyM,QAO7B,GAAIq6F,GAAWw3G,KAEN,GAA8BjyM,IAASw4F,GAAalJ,QAAQ2iH,GAAsB,CACnF,MAAMp2I,EAAOsxC,GAA8B7+B,GAC3C,GAAIzS,GAAsB,IAAdA,EAAKlpE,KAAmC,CAChD,MAAMwwH,EAAOxvH,KAAKypH,WAAWgM,SACzB7D,GAAUv4F,WAAW0oG,sBAAsB1wH,OAAO,CAC9ChF,OACAqjF,UAAWouH,EAAmB7vG,UAAU1H,QAAQl6F,OAEpD67D,EAAKR,KAAKr7D,MAGRqyM,EAAWllG,GAA8BskG,EAAmBnjI,QAC9D60C,GAAQkvF,GACRlvF,EAAKhB,eACDoD,GAAUlD,mBAAmBgoB,cAC7BgoE,EAAS3vM,KACT2vM,EAASjyM,cAM1B,IAAKk5F,GAAew1C,KAIlBv2C,GAAUqH,UAAU6xG,EAAmB7vG,UAAW,cAAe,CAClE,MAAM/R,EAAQvhB,EAAOy+B,kBACrB,GAAIld,EAAMlhG,OAAS,EAAG,CAClB,MAAM64H,EAAW33B,EAAMA,EAAMlhG,OAAS,GAChCw0H,EAAOxvH,KAAKypH,WAAW8K,cACzBv0H,KAAKk0L,UAAU1/D,kBAAkBgwC,iCACjC9nD,GAAe8nD,iCACf5yC,GAAUv4F,WAAWktG,mBAAmBl1H,OAAO,CAC3ChF,OACAqjF,UAAWouH,EAAmB7vG,UAAU1H,QAAQl6F,KAChDrN,KAAMgB,KAAKypH,WAAW4K,UAAU8mB,GAAoC,KAExEtnB,EAASnsD,MAGPg3I,EAAWllG,GAA8BskG,EAAmBnjI,QAC9D60C,GAAQkvF,GACRlvF,EAAKhB,eACDoD,GAAUlD,mBAAmBmqB,mBAC7B6lE,EAAS3vM,KACT2vM,EAASjyM,cAM1B,GAAIkzG,GAAW2+F,GAElB,GAAK3+F,GAAWw7B,GAaT,CACH,MAAMwjE,EAAkBL,EAAkC/3G,QAAQiE,OAC5Do0G,EAAsBzjE,EAA2B50C,QAAQiE,OACzDopB,EAAgBkqF,EAAmB7vG,UAEzC,CAAC,OAAQ,OAAQ,QAAQ3oF,SAASu5L,IAC9B,MAAMjN,EAAe,IAAIljF,GACnBowF,EAAsBH,EAAep6M,IAAIs6M,GACzCE,EAAqBH,EAAmBr6M,IAAIs6M,GAGlD,GAAIC,EAAqB,CACrB,MAAME,EAAsBn/F,GACxB7/G,KAAKypH,WAAWqK,yBAAyBgrF,GACzClrF,GAEJ,GAAI9sB,GAAWk4G,GACX,GAAKD,EA4BE,CACH,MAAME,EAAqBp/F,GACvB7/G,KAAKypH,WAAWqK,yBAAyBirF,GACzC9wG,GAEJ,GAAInH,GAAWm4G,KAENj/M,KAAKypH,WAAWy0F,kBACbc,EACAC,EACArN,EAAa/iF,kBAEnB,CACE+iF,EAAahjF,WACTgD,GAAUlD,mBAAmB+qB,6BAA6BpoI,OAAO,CAC7DhF,KAAMwyM,KAGd,MAAM32I,EAAO+2I,EAAmB14G,QAAQv+B,YACxC,GAAIE,GAAsB,IAAdA,EAAKlpE,KAAmC,CAChD,MAAMwwH,EAAOxvH,KAAKypH,WAAW8K,cACzBv0H,KAAKk0L,UAAU1/D,kBACVgwC,iCACL9nD,GAAe8nD,iCACf5yC,GAAUv4F,WAAWmyG,qBAAqBn6H,OAAO,CAC7ChF,OACAqjF,UAAWkkC,EAAcrtB,QAAQl6F,OAChCulM,EAAa5iF,YAClB9mD,EAAKR,KAAKr7D,MAGRqyM,EAAWM,EAAoBz4G,QAAQv+B,YACzCwnD,GAAQkvF,GACRlvF,EAAKhB,eACDoD,GAAUlD,mBAAmBmqB,mBAC7B6lE,EAAS3vM,KACT2vM,EAASjyM,aAhER,CAErBmlM,EAAahjF,WACTgD,GAAUlD,mBAAmBgrB,wBAAwBroI,OAAO,CACxDhF,KAAMwyM,KAGd,MAAM3iH,EAAQvhB,EAAOy+B,kBACrB,GAAIld,EAAMlhG,OAAS,EAAG,CAClB,MAAMw0H,EAAOxvH,KAAKypH,WAAW8K,cACzBv0H,KAAKk0L,UAAU1/D,kBAAkBgwC,iCACjC9nD,GAAe8nD,iCACf5yC,GAAUv4F,WAAWmyG,qBAAqBn6H,OAAO,CAC7ChF,OACAqjF,UAAWkkC,EAAcrtB,QAAQl6F,OAChCulM,EAAa5iF,YAClB9yB,EAAMA,EAAMlhG,OAAS,GAAG0sE,MAGtBg3I,EAAWM,EAAoBz4G,QAAQv+B,YACzCwnD,GAAQkvF,GACRlvF,EAAKhB,eACDoD,GAAUlD,mBAAmBmqB,mBAC7B6lE,EAAS3vM,KACT2vM,EAASjyM,iBAtDV,CAC3B,MAAMyvF,EAAQvhB,EAAOy+B,kBACjBld,EAAMlhG,OAAS,GACfgF,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBgwC,iCACjC9nD,GAAe8nD,iCACf5yC,GAAUv4F,WAAWmyG,qBAAqBn6H,OAAO,CAC7ChF,OACAqjF,UAAWouH,EAAmB7vG,UAAU1H,QAAQl6F,OAEpD6vF,EAAMA,EAAMlhG,OAAS,GAAG0sE,WAkGpC,GAA4E,SAAxE1nE,KAAKk0L,UAAU1/D,kBAAkBiwC,mCAA+C,CAChF,MAAMvoE,EAAQvhB,EAAOy+B,kBACrB,GAAIld,EAAMlhG,OAAS,EAAG,CAClB,MAAM64H,EAAW33B,EAAMA,EAAMlhG,OAAS,GAGhC42M,EAAe,IAAIljF,GACzB,IAAK1uH,KAAKypH,WAAW0L,cAAcmpF,EAAqBnjE,EAAcy2D,GAAe,CACjF,MAAMpiF,EAAOxvH,KAAKypH,WAAW8K,cACzBv0H,KAAKk0L,UAAU1/D,kBAAkBiwC,mCACjC/nD,GAAe+nD,mCACf7yC,GAAUv4F,WAAWu1G,mBAAmBv9H,OAAO,CAC3ChF,OACAqjF,UAAWouH,EAAmB7vG,UAAU1H,QAAQl6F,OAC/CulM,EAAa5iF,YAClB6E,EAASnsD,MAGPg3I,EAAWllG,GAA8BskG,EAAmBnjI,QAC9D60C,GAAQkvF,GACRlvF,EAAKhB,eACDoD,GAAUlD,mBAAmBoqB,mBAC7B4lE,EAAS3vM,KACT2vM,EAASjyM,OAOrB,MAAMyyM,EAAiBpB,EAAmBnjI,OAAO09B,aACjD,IAAIA,EAAa19B,EAAO09B,aAmBxB,GAjBI6mG,IAAmB7mG,IAId19B,EAAO0+B,yBACRhB,GAAa,GAMb19B,EAAO2+B,uBAAuBvyF,OAAOmhD,GAAuB,IAAdA,EAAKlpE,SAEnDq5G,GAAa,IAIjB6mG,IAAmB7mG,EAAY,CAC/B,MAAM8mG,EAAqBxkI,EAAO09B,aAC5BuZ,GAAUv4F,WAAWkiG,+BACrB3J,GAAUv4F,WAAWgrG,+BAErB7U,EAAOxvH,KAAKypH,WAAW8K,cACzBv0H,KAAKk0L,UAAU1/D,kBAAkBiwC,mCACjC/nD,GAAe+nD,mCACf06C,EAAmB9tM,OAAO,CACtBhF,OACAqjF,UAAWouH,EAAmB7vG,UAAU1H,QAAQl6F,OAEpDwnH,EAASnsD,MAGPg3I,EAAWllG,GAA8BskG,EAAmBnjI,QAC9D60C,GAAQkvF,GACRlvF,EAAKhB,eACDoD,GAAUlD,mBAAmBoqB,mBAC7B4lE,EAAS3vM,KACT2vM,EAASjyM,cAarCulM,gBAAgBtqI,EAAoB8rC,EAA4Bzd,GACpE,MAAMqpH,EAAgBp/M,KAAKypH,WAAW4C,eAAet2B,GAC/CkY,EAAYmxG,aAAa,EAAbA,EAAenxG,UAejC,GAbIvmC,EAAKr7D,MAAQ4hG,GACa,CAAC,WAAY,oBAAqB,YAAa,YACnDx/C,MAAMpiD,GAASA,IAASq7D,EAAKr7D,KAAK/O,UAE/CunG,GAAaqP,iBAAiBV,IAC9B3O,GAAayP,aAAad,IAC1BxzG,KAAKk0L,UAAUt/G,YAEhB50E,KAAKq/M,4BAA4B33I,EAAM8rC,EAAcvF,IAK7DvmC,EAAKr7D,MAA4B,YAApBq7D,EAAKr7D,KAAK/O,MAGQ,IAA3BoqE,EAAKrkC,WAAWroC,QACf0sE,EAAKrkC,WAAW,GAAGh3B,MACnB,CAAC,MAAO,OAAQ,QAAS,UAAUoiD,MAAMpiD,GAASq7D,EAAKrkC,WAAW,GAAGh3B,KAAM/O,QAAU+O,KAEtFrM,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBoxC,2BACjClpD,GAAekpD,2BACfh0C,GAAUv4F,WAAWkuG,cACrB7/D,EAAKrkC,WAAWroC,OAAS,EAAI0sE,EAAKrkC,WAAW,GAAKqkC,EAAKr7D,MAI3D4hG,GACAjuG,KAAKs/M,8BAA8B9rG,EAAcvF,GAAuB,QAEzE,GAAIvmC,EAAKr7D,MAA4B,sBAApBq7D,EAAKr7D,KAAK/O,MAEC,IAA3BoqE,EAAKrkC,WAAWroC,QAAiB0sE,EAAKrkC,WAAW,GAAGh3B,MAA0C,QAAlCq7D,EAAKrkC,WAAW,GAAGh3B,KAAK/O,OACpF0C,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBoxC,2BACjClpD,GAAekpD,2BACfh0C,GAAUv4F,WAAW8qG,uBACrBz8D,EAAKrkC,WAAWroC,OAAS,EAAI0sE,EAAKrkC,WAAW,GAAKqkC,EAAKr7D,MAI3D4hG,GACAjuG,KAAKs/M,8BAA8B9rG,EAAcvF,GAAuB,QAEzE,GAAIvmC,EAAKr7D,MAA4B,sBAApBq7D,EAAKr7D,KAAK/O,MAEC,IAA3BoqE,EAAKrkC,WAAWroC,QAAiB0sE,EAAKrkC,WAAW,GAAGh3B,MAA0C,QAAlCq7D,EAAKrkC,WAAW,GAAGh3B,KAAK/O,OACpF0C,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBoxC,2BACjClpD,GAAekpD,2BACfh0C,GAAUv4F,WAAW0hG,uBACrBrzD,EAAKrkC,WAAWroC,OAAS,EAAI0sE,EAAKrkC,WAAW,GAAKqkC,EAAKr7D,MAI3D4hG,GACAjuG,KAAKs/M,8BAA8B9rG,EAAcvF,GAAuB,QAEzE,GAAIpJ,GAAamP,eAAeR,IAEnC,GAAI9rC,EAAKrkC,WAAWroC,OAAS,GAAK0sE,EAAKrkC,WAAW,GAAGh3B,KAAM,CACvD,MAAM4wF,EAAYv1B,EAAKrkC,WAAW,GAAGh3B,KAAK/O,MACxB,SAAd2/F,GAAsC,QAAdA,GACxBj9F,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBoxC,2BACjClpD,GAAekpD,2BACfh0C,GAAUv4F,WAAWu0G,qBACrBlmE,EAAKrkC,WAAW,GAAGh3B,YAI5B,GAAIw4F,GAAaoP,cAAcT,GAAe,CACjD,IAAIvW,EAAY,GACZv1B,EAAKrkC,WAAWroC,OAAS,GAAK0sE,EAAKrkC,WAAW,GAAGh3B,OACjD4wF,EAAYv1B,EAAKrkC,WAAW,GAAGh3B,KAAK/O,OAKtB,QAAd2/F,IACKj9F,KAAKk0L,UAAUt/G,aAAgBqoB,EAAUznC,WAAW,MAAsB,YAAdynC,IAC7Dj9F,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBoxC,2BACjClpD,GAAekpD,2BACfh0C,GAAUv4F,WAAW2hG,sBACrBtzD,EAAKrkC,WAAWroC,OAAS,EAAI0sE,EAAKrkC,WAAW,GAAKqkC,EAAKr7D,OAK/D4hG,GACAjuG,KAAKs/M,8BAA8B9rG,EAAcvF,GAAuB,OAEzE,CAGH,GAA+B,IAA3BvmC,EAAKwkB,WAAWlxF,OAAc,CAC9B,IAAIiiG,EAAY,GACZsiH,GAAqB,EAYzB,GAXI73I,EAAKrkC,WAAWroC,OAAS,IACrB0sE,EAAKrkC,WAAW,GAAGh3B,OACnB4wF,EAAYv1B,EAAKrkC,WAAW,GAAGh3B,KAAK/O,OAGJ,IAAhCoqE,EAAKrkC,WAAW,GAAGi7B,WACnBihJ,GAAqB,IAKzBA,GAAoC,SAAdtiH,EAAsB,CAE5C,IAAIuiH,GAAuB,EAC3B,GAAkB,QAAdviH,EAAqB,CACrB,MAAMmiH,EAAgBp/M,KAAKypH,WAAW4C,eAAet2B,GAC/C0pH,EAAWz/M,KAAKypH,WAAWyI,eAAen8B,EAAW,QAEvD0pH,GACAv5G,GAAoBu5G,IACpBL,GACAl5G,GAAoBk5G,EAAcnxG,YAG9BuU,GAA0B48F,EAAcnxG,UAAWwxG,GAA8B,KAEjFD,GAAuB,GAOnC,MAAMvF,EAAgB,GAAyCh9G,GAE1DuiH,GAAyBvF,GAC1Bj6M,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBoxC,2BACjClpD,GAAekpD,2BACfh0C,GAAUv4F,WAAW+qG,0BACrB18D,EAAKrkC,WAAWroC,OAAS,EAAI0sE,EAAKrkC,WAAW,GAAKqkC,EAAKr7D,OAMnE4hG,GACAjuG,KAAKs/M,8BAA8B9rG,EAAcvF,GAAuB,IAO5EoxG,4BAA4B33I,EAAoBg4I,EAA0BzxG,GAE9E,GAAgE,SAA5DjuG,KAAKk0L,UAAU1/D,kBAAkBowC,uBACjC,OASJ,IAAI+6C,EAAiB,EAMrB,GALI/6G,GAAUjJ,QAAQsS,KAClB0xG,GAAkB,IAGD9+F,GAAkB5S,EAAWyxG,EAAWn5G,QAAQl6F,KAAMszM,GAEvE,OAGJ,IAAIC,GAAoB,EAID,IAAI,IAA+Bl4I,IACtD,GAAqC,KAAjCA,EAAKhB,eAAeD,UAEhBiB,EAAKhB,eAAeW,WAAW/pE,QAAUoiN,EAAWn5G,QAAQl6F,KAAM,CAClE,MAAMwzM,EAAiBn4I,EAAKhB,eAAeA,eAG3C,GACgC,IAA5Bm5I,EAAep5I,UAC4B,KAA3Co5I,EAAen5I,eAAeD,UACU,UAAxCo5I,EAAen5I,eAAeppE,MAE9BsiN,GAAoB,MACjB,CAEH,MAAMrqF,EAAWv1H,KAAKypH,WAAW8D,QAAQsyF,GACrCtqF,GAAYrvB,GAAoBqvB,KAChCqqF,GAAoB,QAMzB7vH,KAAKroB,EAAKukB,OAGpB2zH,GACD5/M,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBowC,uBACjCloD,GAAekoD,uBACfhzC,GAAUv4F,WAAWqtG,mBAAmBr1H,OAAO,CAC3CwtM,WAAYa,EAAWn5G,QAAQl6F,OAEnCq7D,EAAKr7D,MAOTizM,8BAA8B9rG,EAA4BvF,EAAsB6xG,GACpF,GAAItsG,EAAajN,QAAQljE,WAAWroC,OAAS,EACzC,OAKJ,MAAMk4G,EAAYM,EAAajN,QAAQljE,WAAW,GAClD,IAAK6vE,EAAUlmB,iBAAmBkmB,EAAU7mG,KACxC,OAKJ,GAAIu4F,GAAU+L,gBAAgB1C,GAC1B,OAGJ,MAAM+T,EAAYhiH,KAAKypH,WAAWm/B,6BAA6B11C,EAAUl0G,MACnE+gN,EAAeD,EAAQ7xG,EAAYwQ,GAAkBxQ,GAIvD/H,GAAoB8b,IAAcpd,GAAU+L,gBAAgBqR,IAG5D7b,GAAgB6b,IAAcpd,GAAU+L,gBAAgBqR,IAMxDnd,GAAayP,aAAad,IAIzBxzG,KAAKypH,WAAW0L,cAAcnT,EAAW+9F,IAC1C//M,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWqiG,2BAA2BrqH,OAAO,CACnDhF,KAAM6mG,EAAU7mG,KAChB4hG,UAAWjuG,KAAKypH,WAAW4K,UAAU0rF,GAAoC,KAE7E7sG,EAAUlmB,gBAKdmmH,mBAAmBzrI,EAAiCwrI,GACxD,IAAIhqG,EACA82G,EACJ,MAAMpN,EAAwB,GAAoClrI,GAElE,GAAIkrI,EAAuB,CACvB,MAAMnB,EAAqBzxM,KAAKypH,WAAW4oC,kBAAkBugD,GACzDnB,IACA3/I,EAAOg1C,GAAW2qG,EAAmBj+F,eACrCtK,EAAqBrE,GAAagQ,yBAAyB48F,EAAmBj+F,cAC1EtK,IACA82G,ElC7sGb,SAA+B92G,EAA0BtS,GAC5D,IAAIqpH,GAAuB,EAE3B,MAAM/M,EAAYp1F,GAAY5U,GAAqBpD,GAC3CH,GAAeG,GACRA,EAGPK,GAAgBL,IACQ,CACpB,CAAC,gBAAiB,YAClB,CAAC,gBAAiB,YAClB,CAAC,iBAAkB,aACnB,CAAC,GAAI,uBAGWr3C,MAAMyxJ,GAAYt7G,GAAUqH,UAAUnG,EAASlP,EAAUspH,EAAQ,GAAKA,EAAQ,MACvFp6G,EAAQsC,eAAiBtC,EAAQsC,cAAcptG,QAAU,EAC1D8qG,EAAQsC,cAAc,GACtB1D,GAAYvyF,cAI1B8tM,GAAuB,KAI3B,OAAOA,EAAuB/M,OAAYp0M,EkCkrGNqhN,CAAsBj3G,IAAsB0pG,EAAsBh8G,UAGtFsS,IAAuB82G,GAAqBpN,EAAsBxlH,sBAClEptF,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACfm+E,EAAsBh8G,QAChBg7B,GAAUv4F,WAAWwpG,2BACrBjR,GAAUv4F,WAAW0pG,0BAC3B6vE,EAAsBxlH,uBAMtC,GAAIptF,KAAKypH,WAAW0+E,gBAAgBzgI,OAAuB5oE,GACvD,GAAIoqG,GAAsB7D,GAAQ6D,GAC9BlpG,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWmvG,wBACrB9gE,QAED,GAAIs4I,EAAmB,CAC1B,MAAMpO,EAAe,IAAIljF,GACpB1uH,KAAKypH,WAAW0L,cAAc6qF,EAAmB9M,EAAWtB,IAC7D5xM,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWs8G,oBAAoBtkI,OAAO,CAC5C46L,SAAUjsM,KAAKypH,WAAW4K,UAAU6+E,GAAiC,GACrEA,UAAWlzM,KAAKypH,WAAW4K,UAAU2rF,GAAyC,KAC7EpO,EAAa5iF,YAClBtnD,EAAK3V,YAAc2V,IAS/B2sI,8BAA8B3sI,GAClC,IAAI04I,GAAkB,EACtB,MAAMC,EAAmC,GAEzC34I,EAAKkkB,cAActmE,SAASy0K,IACxB,GAAIqmB,GAAmBrmB,EAAOhuG,gBAAkBguG,EAAO/nG,eACnD,OAGJ,MAAMyhH,EAAgBzzM,KAAKypH,WAAW8D,QAAQwsE,EAAO/nG,gBACrD,IAAKyhH,GAAiB9tG,GAAe8tG,GAEjC,YADA2M,GAAkB,GAItB,MAAME,EAAkC,GAkCxC,GAhCIp6G,GAAoButG,IAGhBA,EAAc5kG,oBACduxG,GAAkB,GAGtBE,EAAmBjlN,KAAKo4M,IACjBttG,GAAgBstG,IAQvBr3F,GANIp8G,KAAKypH,WAAW6pF,oBACZG,GACc,OACE30M,IACf4lG,GAAYvyF,UAEW2zF,IACxBH,GAAeG,KACfs6G,GAAkB,GAGlBl6G,GAAoBJ,KAGhBA,EAAQ+I,oBACRuxG,GAAkB,GAEtBE,EAAmBjlN,KAAKyqG,OAKhCu6G,EAAoBrlN,OAAS,EAAG,CAChC,MAAM42M,EAAe,IAAIljF,GACzB,IAAI6xF,EAA2B,EAE/BD,EAAmBh7L,SAASk7L,IACxB,MAAM16G,EAAUu6G,EAAoB90I,MAAMk1I,GAC/Bj+F,GAA0Bg+F,EAAgBC,GAAwC,KAGzF36G,IACA8rG,EAAahjF,WACTgD,GAAUlD,mBAAmBkmB,oBAAoBvjI,OAAO,CACpDoiM,cAAezzM,KAAKypH,WAAW4K,UAAU5V,GAAkB+hG,IAC3DpsF,WAAYp0H,KAAKypH,WAAW4K,UAAU5V,GAAkB3Y,OAGhEy6G,QAKJD,EAAmBtlN,SAAWulN,IAC9BvgN,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBC,wBACjC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWu7G,oBAAsBg9D,EAAa5iF,YACxD+qE,EAAO/nG,gBAEXhyF,KAAKypH,WAAWmgD,cAAcmwB,EAAQA,EAAOjuG,cAIrDu0H,EAAoBhlN,QAAQilN,MAI5B7P,0BACJ,MAAM7iI,EAAmB3D,GAAmBjqE,KAAKqwM,aAE3CqQ,EAAkB,IAAI5iM,IAE5B8vD,EAAiBvD,eAAe/kD,SAASumD,IACrC,GAAsC,KAAlCA,EAAgBnE,KAAKjB,SAAuC,CAC5D,MAAM+5C,EAAY,IAAI1iG,IAEtB+tD,EAAgBnE,KAAK4D,QAAQhmD,SAAS+lD,IAE7BA,EAAac,QACKq0C,EAAUj8G,IAAI8mE,EAAah/D,KAAK/O,OAE/C0C,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBivC,sBACjC/mD,GAAe+mD,sBACf7xC,GAAUv4F,WAAW0kG,kBAAkB1sH,OAAO,CAAEs7D,WAAYtB,EAAah/D,KAAK/O,QAC9E+tE,EAAah/D,MAGjBm0G,EAAUr7G,IAAIkmE,EAAah/D,KAAK/O,MAAO+tE,YAI5CQ,EAAgBd,UAElBc,EAAgBd,QAAQoB,QACNu0I,EAAgBn8M,IAAIsnE,EAAgBb,YAEnDhrE,KAAKypH,WAAW8K,cACZv0H,KAAKk0L,UAAU1/D,kBAAkBivC,sBACjC/mD,GAAe+mD,sBACf7xC,GAAUv4F,WAAW0kG,kBAAkB1sH,OAAO,CAAEs7D,WAAYd,EAAgBb,aAC5Ea,EAAgBd,SAGpB21I,EAAgBv7M,IAAI0mE,EAAgBb,WAAYa,EAAgBd,cCpxJxF,SAAS41I,GAAkBC,GACvBC,GAAeD,EnBseyB,CACpCv5C,mBAAmB,EACnBC,mBAAmB,EACnBC,0BAA0B,EAC1BC,2BAA2B,EAC3BC,gBAAgB,EAChBhF,qBAAqB,EACrBC,oBAAoB,EACpBC,2BAA2B,EAC3BC,0BAA0B,EAC1BC,0BAA0B,EAC1BpuC,wBAAyB,QACzBsuC,2BAA4B,OAC5BC,2BAA4B,QAC5BC,qBAAsB,QACtBC,0BAA2B,UAC3BC,uBAAwB,QACxBC,mBAAoB,QACpBC,mBAAoB,QACpBC,kBAAmB,QACnBC,qBAAsB,QACtBC,qBAAsB,QACtBC,sBAAuB,QACvBC,gCAAiC,QACjCC,wBAAyB,QACzBC,2BAA4B,QAC5BC,mBAAoB,QACpBC,uBAAwB,QACxBC,6BAA8B,QAC9BC,sBAAuB,QACvBptC,iCAAkC,QAClCqtC,+BAAgC,QAChCC,4BAA6B,QAC7BC,uBAAwB,QACxBC,wBAAyB,QACzBC,mBAAoB,QACpBC,yBAA0B,QAC1BC,2BAA4B,QAC5BC,iCAAkC,QAClCC,mCAAoC,QACpCC,8BAA+B,QAC/BC,0BAA2B,QAC3BC,uBAAwB,OACxBC,oCAAqC,OACrCC,kCAAmC,QACnCC,2BAA4B,QAC5BC,0BAA2B,QAC3BC,wBAAyB,QACzBC,0BAA2B,QAC3BC,wBAAyB,QACzBC,2BAA4B,QAC5BC,0BAA2B,QAC3BC,wBAAyB,QACzBC,+BAAgC,OAChCC,4BAA6B,QAC7BC,sBAAuB,QACvBC,4BAA6B,QAC7BC,uBAAwB,QACxBC,2BAA4B,QAC5BC,kCAAmC,OACnCE,sBAAuB,QACvBD,wBAAyB,QACzBE,2BAA4B,QAC5BC,qBAAsB,QACtBC,2BAA4B,QAC5BC,uBAAwB,OACxBC,sBAAuB,QACvBC,mCAAoC,OACpCC,yBAA0B,SA9NvB,CAAC5pD,GAAewmD,4BmBrU3B,SAAS29C,GACLD,EACAE,EACAC,GAEA,MAAMC,EAAgB1+C,KAChB2+C,EAAgBn+C,KAGtB,IAAK,MAAMuF,KAAY24C,EACfD,EAAcx1I,MAAM7mD,GAAMA,IAAM2jJ,KAI/By4C,EAAwBz4C,KACxBu4C,EAAgBv4C,IAAY,GAIrC,IAAK,MAAMA,KAAY44C,EAAe,CAClC,GAAIF,EAAcx1I,MAAM7mD,GAAMA,IAAM2jJ,IAChC,SAGJ,MAAM64C,EAAkCJ,EAAwBz4C,GAC1D84C,EAA8BP,EAAgBv4C,IAI9B,UAAlB64C,GACmB,YAAlBA,GAA6C,UAAdC,GACb,gBAAlBD,GAAiD,UAAdC,GAAuC,YAAdA,KAE5DP,EAAgBv4C,GAAY64C,IAKzC,SAASE,GAAqBC,EAAsBT,GAEhD,MACM13J,EADgB,CAAC,WAAY,aACNqiB,MAAM/4D,GAAM6uM,EAAa7rJ,WAAWhjD,KACjE,GAAI02C,EAAQ,CACR,MACMo4J,EADWD,EAAar/M,OAAOknD,EAAOluD,QAAQ4K,OACvB2H,MAAM,KAAKuW,KAAKtV,GAAMA,EAAE5I,SAIjD07M,EAAY7yJ,MAAMjgD,GAAY,WAANA,IACxBmyM,GAAkBC,GACXU,EAAY7yJ,MAAMjgD,GAAY,UAANA,KAtD3C,SAA0BoyM,GACtBC,GAAeD,EnBuZyB,CACpCv5C,mBAAmB,EACnBC,mBAAmB,EACnBC,0BAA0B,EAC1BC,2BAA2B,EAC3BC,gBAAgB,EAChBhF,qBAAqB,EACrBC,oBAAoB,EACpBC,2BAA2B,EAC3BC,0BAA0B,EAC1BC,0BAA0B,EAC1BpuC,wBAAyB,QACzBsuC,2BAA4B,OAC5BC,2BAA4B,OAC5BC,qBAAsB,QACtBC,0BAA2B,UAC3BC,uBAAwB,OACxBC,mBAAoB,OACpBC,mBAAoB,OACpBC,kBAAmB,OACnBC,qBAAsB,OACtBC,qBAAsB,OACtBC,sBAAuB,OACvBC,gCAAiC,UACjCC,wBAAyB,QACzBC,2BAA4B,QAC5BC,mBAAoB,QACpBC,uBAAwB,QACxBC,6BAA8B,QAC9BC,sBAAuB,QACvBptC,iCAAkC,QAClCqtC,+BAAgC,OAChCC,4BAA6B,OAC7BC,uBAAwB,OACxBC,wBAAyB,OACzBC,mBAAoB,OACpBC,yBAA0B,QAC1BC,2BAA4B,OAC5BC,iCAAkC,OAClCC,mCAAoC,OACpCC,8BAA+B,OAC/BC,0BAA2B,OAC3BC,uBAAwB,OACxBC,oCAAqC,OACrCC,kCAAmC,UACnCC,2BAA4B,OAC5BC,0BAA2B,OAC3BC,wBAAyB,OACzBC,0BAA2B,OAC3BC,wBAAyB,OACzBC,2BAA4B,OAC5BC,0BAA2B,OAC3BC,wBAAyB,UACzBC,+BAAgC,OAChCC,4BAA6B,OAC7BC,sBAAuB,OACvBC,4BAA6B,OAC7BC,uBAAwB,UACxBC,2BAA4B,UAC5BC,kCAAmC,OACnCE,sBAAuB,QACvBD,wBAAyB,QACzBE,2BAA4B,OAC5BC,qBAAsB,OACtBC,2BAA4B,UAC5BC,uBAAwB,OACxBC,sBAAuB,QACvBC,mCAAoC,OACpCC,yBAA0B,QmB3duB,IAsD7Ci7C,CAAiBX,GAGrB,IAAK,MAAMY,KAAWF,EAClBV,EAAUa,GAAqBD,EAASZ,GAIhD,OAAOA,EAGX,SAASa,GAAqBD,EAAiBZ,GAC3C,MAAMc,EAAeF,EAAQj0M,MAAM,KAAKuW,KAAKtV,GAAMA,EAAE5I,SACrD,GAA4B,IAAxB87M,EAAa1mN,OACb,OAAO4lN,EAGX,MAAMv4C,EAAWq5C,EAAa,GACxBl/C,EAAYF,KAGlB,GAFuBQ,KAEJv3F,MAAM7mD,GAAMA,IAAM2jJ,IAAW,CAC5C,MAAMs5C,EAcd,SAAyBrkN,GACrB,OAAQA,GACJ,IAAK,QACL,IAAK,OACD,MAAO,OAEX,IAAK,OACL,IAAK,QACD,MAAO,QAEX,IAAK,UACD,MAAO,UAEX,IAAK,cACD,MAAO,cAEX,QACI,QA/BmBskN,CAAgBF,EAAa,SAC7B5iN,IAAnB6iN,IACCf,EAAgBv4C,GAAYs5C,QAE9B,GAAIn/C,EAAUj3F,MAAM7mD,GAAMA,IAAM2jJ,IAAW,CAC9C,MAAMw5C,EA+BI,WADSvkN,EA9BiBokN,EAAa,MAiChC,SAAVpkN,QAAJ,QAhCewB,IAAd+iN,IACCjB,EAAgBv4C,GAAYw5C,GA4BzC,IAA2BvkN,EAxBvB,OAAOsjN,EC5HJ,MAAMkB,WAA+B,GAGxC71M,YAAYi+D,GACRh+D,QAEAlM,KAAK+hN,WAAa73I,EAGtB83I,QACIhiN,KAAK+vF,KAAK/vF,KAAK+hN,YAGV9xH,UAAUvoB,GAEf,O5D8CD,SAA+BA,GAClC,MAAMu6I,EAAev6I,SACdu6I,EAAap6I,aACbo6I,EAAaj6I,mBACbi6I,EAAa75I,gBACb65I,EAAa15I,qBACb05I,EAAaz5I,gBACby5I,EAAat5I,2BACbs5I,EAAa9rB,0BACb8rB,EAAap5I,c4DxDhB,CAAuCnB,GAChCx7D,MAAM+jF,UAAUvoB,ICpBxB,MAAMw6I,WAAmB,GAC5Bj2M,cACIC,QAGK+jF,UAAUvoB,GACf,MAAM1jC,EAAW93B,MAAM+jF,UAAUvoB,GAIjC,OAHA1nE,KAAKmiN,wBAAwBz6I,EAAM1jC,GACnChkC,KAAKoiN,mBAAmB16I,EAAM1jC,GAEvBA,EAIHm+K,wBAAwBz6I,EAAiB1jC,GAC7CA,EAAS1e,SAASoxC,IACVA,GACIA,EAAMvxB,SAAWuiC,GACjBxV,EACI,cAAcwE,EAAM+P,uDAA4DiB,EAAKjB,eAWjG27I,mBAAmB16I,EAAiB1jC,GACxC,IAAIozD,EAEJpzD,EAAS1e,SAASoxC,IACd,GAAIA,EAAO,CACP,IAAI2rJ,GAAY,EAIM,IAAlB36I,EAAKjB,UACD/P,IAAUgR,EAAK+oB,wBACf4xH,GAAY,GAIE,KAAlB36I,EAAKjB,UACD/P,IAAUgR,EAAKslB,iBACfq1H,GAAY,GAIfA,KAEG3rJ,EAAM56D,MAAQ4rE,EAAK5rE,OAAS0oE,GAAUmB,OAAOjP,GAAS8N,GAAUmB,OAAO+B,KACvExV,EAAK,cAAcwE,EAAM+P,+CAA+CiB,EAAKjB,YAE7E2wB,GAEI1gC,EAAM56D,MAAQ0oE,GAAUmB,OAAOyxB,IAEL,KAAtBA,EAAS3wB,UACTvU,EAAK,+CAKjBklC,EAAW1gC,QCDxB,MAAM4rJ,GAuGTr2M,YACI2pD,EACAiG,EACAmP,EACAu3I,EACAC,EACAr+M,EACAs+M,EACA1uC,GAAc,GA5EV,KAAA2uC,gBAAiB,EAIjB,KAAAC,mBAAqB,EAIrB,KAAAC,qBAAuB,EAGvB,KAAAC,4BAA6C/jN,EAC7C,KAAAgkN,0BAA2ChkN,EAO3C,KAAAikN,8BAAgC,EAIhC,KAAAC,yBAA0B,EAO1B,KAAAC,sBAAuB,EAGvB,KAAAC,kBAAkC,GAClC,KAAAC,iBAAiC,GACjC,KAAAC,oBAAoC,GACpC,KAAAjwC,iBAAmB,IAAIr1J,IAIvB,KAAAulM,mBtBqTgC,CACpCh8C,mBAAmB,EACnBC,mBAAmB,EACnBC,0BAA0B,EAC1BC,2BAA2B,EAC3BC,gBAAgB,EAChBhF,qBAAqB,EACrBC,oBAAoB,EACpBC,2BAA2B,EAC3BC,0BAA0B,EAC1BC,0BAA0B,EAC1BpuC,wBAAyB,QACzBsuC,2BAA4B,OAC5BC,2BAA4B,OAC5BC,qBAAsB,QACtBC,0BAA2B,UAC3BC,uBAAwB,OACxBC,mBAAoB,OACpBC,mBAAoB,OACpBC,kBAAmB,OACnBC,qBAAsB,OACtBC,qBAAsB,OACtBC,sBAAuB,OACvBC,gCAAiC,UACjCC,wBAAyB,QACzBC,2BAA4B,QAC5BC,mBAAoB,QACpBC,uBAAwB,QACxBC,6BAA8B,QAC9BC,sBAAuB,QACvBptC,iCAAkC,QAClCqtC,+BAAgC,OAChCC,4BAA6B,OAC7BC,uBAAwB,OACxBC,wBAAyB,OACzBC,mBAAoB,OACpBC,yBAA0B,QAC1BC,2BAA4B,OAC5BC,iCAAkC,OAClCC,mCAAoC,OACpCC,8BAA+B,OAC/BC,0BAA2B,OAC3BC,uBAAwB,OACxBC,oCAAqC,OACrCC,kCAAmC,UACnCC,2BAA4B,OAC5BC,0BAA2B,OAC3BC,wBAAyB,OACzBC,0BAA2B,OAC3BC,wBAAyB,OACzBC,2BAA4B,OAC5BC,0BAA2B,OAC3BC,wBAAyB,UACzBC,+BAAgC,OAChCC,4BAA6B,OAC7BC,sBAAuB,OACvBC,4BAA6B,OAC7BC,uBAAwB,UACxBC,2BAA4B,UAC5BC,kCAAmC,OACnCE,sBAAuB,QACvBD,wBAAyB,QACzBE,2BAA4B,OAC5BC,qBAAsB,OACtBC,2BAA4B,UAC5BC,uBAAwB,OACxBC,sBAAuB,QACvBC,mCAAoC,OACpCC,yBAA0B,QsBtXtB,KAAAg9C,sBAA8C,GAM9C,KAAAC,kBAAmB,EAGnB,KAAAC,mBAAoB,EAGpB,KAAAC,iBAAkB,EAGlB,KAAA7vC,cAAe,EAoBnB5zK,KAAKg/D,WAAapJ,EAClB51D,KAAKsjF,SAAWn/E,GAAW,IAAIi/E,GAC/BpjF,KAAKyjJ,UAAY5nF,EACjB77D,KAAKg8J,YAAchxF,EACnBhrE,KAAK0jN,YAAc7nJ,EAAS5B,SAAS,QACrCj6D,KAAK2jN,oBAAsBpB,EAC3BviN,KAAK4jN,4BAA8BpB,EACnC,MAAMjqJ,EAAWG,GAAYmD,GAC7B77D,KAAK6jN,kBACD7jN,KAAK0jN,cACJ1jN,KAAKyjJ,UAAUxpF,SAASrF,EAAiB,uBAAsC,0BAAb2D,GACvEv4D,KAAK8jN,4BAA8B9jN,KAAK0jN,aAA4B,0BAAbnrJ,EAEvDv4D,KAAK+jN,oBAAqB,EACtB/jN,KAAK0jN,cAED1jN,KAAKyjJ,UAAUxpF,SAASrF,EAAiB,qCACzC50D,KAAKyjJ,UAAUxpF,SAASrF,EAAiB,gCACzC50D,KAAKyjJ,UAAUxpF,SAASrF,EAAiB,8BACzC50D,KAAKyjJ,UAAUxpF,SAASrF,EAAiB,yBACzC50D,KAAKyjJ,UAAUxpF,SAASrF,EAAiB,sCACzC50D,KAAKyjJ,UAAUxpF,SAASrF,EAAiB,4BACzC50D,KAAKyjJ,UAAUxpF,SAASrF,EAAiB,oBACzC50D,KAAKyjJ,UAAUxpF,SAASrF,EAAiB,qBACzC50D,KAAKyjJ,UAAUxpF,SAASrF,EAAiB,sBACzC50D,KAAKyjJ,UAAUxpF,SAASrF,EAAiB,wBAEzC50D,KAAK+jN,oBAAqB,GAKlC/jN,KAAKgkN,YAAcvB,UAAc,IAAIv+H,GAAW//E,EvD/J5C87E,KuD+J6E,KAAP,MAC1EjgF,KAAK4zK,aAAeG,EAGxBxnD,cACI,OAAOvsH,KAAKyjJ,UAGhBwgE,uBACI,OAAOjkN,KAAK2iN,mBAGhB/tI,aACI,OAAO50E,KAAK0jN,YAGhBlB,6BACI,OAAOxiN,KAAK4jN,4BAMhBnhI,eAAeruE,EAAwB8vM,GACnC,GAAIlkN,KAAK2iN,qBAAuBuB,EAC5B,OAGJ,IAAIC,GAA2B,EAI3BnkN,KAAK2jN,sBACLQ,GAA2B,GAG/B,IAAIC,EAAW,IAAIpkN,KAAKkjN,qBAAsBljN,KAAKmjN,oBAAqBnjN,KAAKojN,qBAC7E,MAAMiB,EAAsBD,EACtBE,EAAuB,IAAIxmM,IAAI9d,KAAKmzK,kBAGtCnzK,KAAKqjN,mBAAmBxgD,0BACpB7iK,KAAKmzK,iBAAiB7zK,KAAO,IAC7B8kN,EAAWA,EAASv7J,QAAQt6C,IACxB,GAAmB,IAAfA,EAAE+vD,UAA6D,IAAf/vD,EAAE+vD,SAClD,IAAK,IAAIpkC,EAAO3rB,EAAE9B,MAAM3Q,MAAMo+B,KAAMA,GAAQ3rB,EAAE9B,MAAM1Q,IAAIm+B,KAAMA,IAC1D,GAAIl6B,KAAKmzK,iBAAiB/uJ,IAAI8V,GAE1B,OADAoqL,EAAqB1hM,OAAOsX,IACrB,EAKnB,OAAO,MAKnB,MAAMqqL,EAA2C,GAEjD,GAAmE,SAA/DvkN,KAAKqjN,mBAAmBh9C,mCAA+C,CACvE,MAAMm+C,EAAe12F,GAAuB9tH,KAAKqjN,mBAAmBh9C,oCAShC,IAPPg+C,EAAoBx7J,QAC5C2mE,GACqB,IAAlBA,EAAKlxD,UACa,IAAlBkxD,EAAKlxD,UACa,IAAlBkxD,EAAKlxD,WAGYtjE,aAAwC8D,IAAxBkB,KAAKw0K,gBAC1C+vC,EAA2BlpN,KACvB,IAAIg+B,GACAmrL,EACA5yF,GAAUv4F,WAAWq6G,wBACrBnuE,GACIvlE,KAAKw0K,eAAe14K,MACpBkE,KAAKw0K,eAAe14K,MAAQkE,KAAKw0K,eAAex5K,OAChDgF,KAAKsjJ,cAAen2E,gBAAgB3lB,SAMpD88J,EAAqBh/L,SAAS2xJ,I,OACJ,QAAlB,EAAAj3K,KAAKsjJ,qBAAa,eAAEn2E,gBAAgB3lB,QACpC+8J,EAA2BlpN,KACvB,IAAIg+B,GACAmrL,EACA5yF,GAAUv4F,WAAWq6G,wBACrBnuE,GACI0xG,EAAUn7K,MACVm7K,EAAUn7K,MAAQm7K,EAAUj8K,OAC5BgF,KAAKsjJ,cAAen2E,gBAAgB3lB,YAQ5D,GAAmD,SAA/CxnD,KAAKqjN,mBAAmBjgD,oBAAiCpjK,KAAKsjN,sBAAsBtoN,OAAS,EAAG,CAChG,MAAMsjE,EAAWwvD,GAAuB9tH,KAAKqjN,mBAAmBjgD,oBAEhEpjK,KAAKsjN,sBAAsBh+L,SAASm/L,IAChCL,EAAS/oN,KACL,IAAIg+B,GACAilC,EACAszD,GAAUv4F,WAAWqqG,sBACjB,KACA+gF,EACKpjD,WACAv9I,KAAK/U,GAAS,KAAOA,IACrBvT,KAAK,MjE1J3B,CACHM,MA1CG,CACHo+B,KAAM,EACNC,UAAW,GAyCXp+B,IA3CG,CACHm+B,KAAM,EACNC,UAAW,SiEiPX,YAzCgCr7B,IAA5BkB,KAAK0kN,oBACLN,EAAS/oN,KACL,IAAIg+B,GAAW,EAEXu4F,GAAUv4F,WAAWsqG,sBAAsBtyH,OAAO,CAAEskF,MAAO31F,KAAK0kN,qBjErKzE,CACH5oN,MA1CG,CACHo+B,KAAM,EACNC,UAAW,GAyCXp+B,IA3CG,CACHm+B,KAAM,EACNC,UAAW,MiEmNP/lB,EAAQwyJ,OAAOr7F,MAAMo5I,GAAmBA,EAAexuJ,OAAOnf,KAAKh3C,KAAKyjJ,eACxE2gE,EAAW,IAKXpkN,KAAKqjN,mBAAmBxgD,+BACI/jK,IAAxBkB,KAAKw0K,iBACL4vC,EAAWA,EAASv7J,QACf2mE,GACqB,IAAlBA,EAAKlxD,UACa,IAAlBkxD,EAAKlxD,UACa,IAAlBkxD,EAAKlxD,YAMrB8lJ,EAAS/oN,QAAQkpN,GAKZJ,IACDC,EAAWA,EAASv7J,QACf2mE,GACqB,IAAlBA,EAAKlxD,UAAgE,IAAlBkxD,EAAKlxD,YAI7D8lJ,EAGXQ,aACI,OAAO5kN,KAAK6kN,UAAY,GAG5BC,oBACI,OAAO9kN,KAAK+kN,gBAGhBC,0BACI,OAAOhlN,KAAKilN,sBAGhBC,uBACI,OAAOllN,KAAKmlN,mBAKhBC,0BAII,GAAIplN,KAAKqlN,gBACL,OAAO,EAIX,QAAoCvmN,IAAhCkB,KAAK6iN,uBACL,OAAO,EAKX,IAEI,MAAMlqC,EAAe34K,KAAKg/D,WAAWK,aAAar/D,KAAKyjJ,UAAW,QAElE,GAAIk1B,EAAa39K,SAAWgF,KAAK6iN,uBAC7B,OAAO,EAGX,GAAI,EAAuBlqC,KAAkB34K,KAAK8iN,qBAC9C,OAAO,EAEb,MAAO1+M,GACL,OAAO,EAGX,OAAO,EAMXkhN,uBACItlN,KAAKsjJ,mBAAgBxkJ,EACrBkB,KAAKmlN,wBAAqBrmN,EAC1BkB,KAAKujN,kBAAmB,EAG5BgC,UAAUC,GAAiB,GACvBxlN,KAAK4iN,uBACL5iN,KAAKwjN,mBAAoB,EACzBxjN,KAAKujN,kBAAmB,EACxBvjN,KAAKyjN,gBAAkB+B,EACvBxlN,KAAKmlN,wBAAqBrmN,EAC1BkB,KAAKylN,yBAAsB3mN,EAG/B4mN,uBAAuBC,GAEnB3lN,KAAKwjN,mBAAoB,EAIrBxjN,KAAKsjJ,gBAEDtjJ,KAAKsjJ,cAAcq2B,6BACiD76K,IAApE,GAAkCkB,KAAKsjJ,cAAcp5E,YACrDy7I,KAKA3lN,KAAKgjN,yBAA0B,EAC/BhjN,KAAKujN,kBAAmB,EACxBvjN,KAAKmlN,wBAAqBrmN,GAKtC8mN,mB,MACI,OAA2B,QAApB,EAAA5lN,KAAKqlN,uBAAe,eAAE7nM,QAGjCqoM,sB,MACI,OAA2B,QAApB,EAAA7lN,KAAKqlN,uBAAe,eAAEv/K,UAGjCggL,iBAEI,MAAMC,EAAkB/lN,KAAK6lN,sBAC7B,GAAIE,EACA,OAAOA,EAIX,IAEI,MAAMC,EAAWhmN,KAAKg/D,WAAWjG,SAAS/4D,KAAKyjJ,WAC/C,GAAIuiE,EAAS1mN,KA3aE,SAgbX,MAJAU,KAAKsjF,SAASl/E,MACV,mBAAmBpE,KAAKyjJ,iBAAiBuiE,EAAS1mN,kEAGhD,IAAI1D,MAAM,wBAGpB,OAAOoE,KAAKg/D,WAAWK,aAAar/D,KAAKyjJ,UAAW,QACtD,MAAOr/I,GACL,QAIR6hN,iBAAiBzoM,EAAwB2lB,GACrC,GAAgB,OAAZ3lB,EACAxd,KAAKqlN,qBAAkBvmN,MACpB,CACEkB,KAAKqlN,kBACNrlN,KAAKqlN,gBAAkBjgL,GAAajzB,OAAOnS,KAAKyjJ,UAAW,SAAUjmI,EAAS,KAElFxd,KAAKqlN,gBAAkBjgL,GAAa0B,OAAO9mC,KAAKqlN,gBAAiBliL,EAAU3lB,GAE3E,MAAMm7J,EAAe34K,KAAKqlN,gBAAgBv/K,UACpCogL,EAAe,EAAuBvtC,GAGxCA,EAAa39K,SAAWgF,KAAK6iN,wBAA0BqD,IAAiBlmN,KAAK8iN,sBAC7E9iN,KAAKulN,YAGTvlN,KAAK6iN,uBAAyBlqC,EAAa39K,OAC3CgF,KAAK8iN,qBAAuBoD,EAC5BlmN,KAAK0iN,gBAAiB,GAI9ByD,mBAIAC,gBACI,OAAOpmN,KAAK0iN,eAGhB2D,kBACI,OAAQrmN,KAAKsjJ,eAAiBtjJ,KAAK+iN,+BAAiC/iN,KAAK4iN,qBAG7E0D,oBACI,OAAItmN,KAAKijN,yBAILjjN,KAAKqmN,mBAIFrmN,KAAKujN,kBAGhBgD,qBACI,OAAOvmN,KAAKyjN,gBAGhB+C,qBACI,OAAOxmN,KAAKwjN,kBAGhBx5F,kBACI,IAAKhqH,KAAKqmN,kBACN,OAAOrmN,KAAKsjJ,cAMpBmjE,wBACI,OAAOzmN,KAAKylN,oBAGhBiB,kBAAkBxyD,GACdl0J,KAAKylN,oBAAsBvxD,EAK/ByyD,sBAAsBllD,GAClB,IAAImlD,GAAwB,EAGxB5mN,KAAKsjN,sBAAsBtoN,OA1gBP,IA2gBfgF,KAAKsjN,sBAAsB70J,MAAMo4J,GAAQA,EAAIrlD,QAAQC,OACtDzhK,KAAKsjN,sBAAsBjoN,KAAKomK,GAChCmlD,GAAwB,IAI5BA,GACA5mN,KAAK2iN,qBAIbmE,qBAAqBC,GACjB/mN,KAAK0kN,mBAAqBqC,EAM9Bp1M,MAAM0/D,EAA8B+qF,EAAgCz2H,GAChE,OAAO3lC,KAAKgkN,YAAYp1M,IAAI,YAAY5O,KAAKgnN,mBAAmBhnN,KAAKyjJ,cAAewjE,I,MAEhF,IAAKjnN,KAAKqmN,kBAEN,OADAY,EAASxhI,YACF,EAGX,MAAMozF,EAAW,IAAIxP,GACrB,IAAIsP,EAAe34K,KAAK6lN,sBACxB,QAAqB/mN,IAAjB65K,EACA,IACI,MAAM94J,EAAYshE,GAAYG,aAAaX,UAC3CQ,GAAYG,aAAaR,eAAc,KAGnC,GADA63F,EAAehzI,UAAW3lC,KAAK8lN,sBACVhnN,IAAjB65K,EACA,MAAM,IAAI/8K,MAAM,0BAIpBoE,KAAK6iN,uBAAyBlqC,EAAa39K,OAC3CgF,KAAK8iN,qBAAuB,EAAuBnqC,MAEvDsuC,EAASrhM,IAAI,WAAWu7D,GAAYG,aAAaX,UAAY9gE,OAC/D,MAAOzb,GACLy0K,EAASpjD,SAAS,gCjEnc3B,CACH35H,MA1CG,CACHo+B,KAAM,EACNC,UAAW,GAyCXp+B,IA3CG,CACHm+B,KAAM,EACNC,UAAW,KiE2eCw+I,EAAe,GAEV34K,KAAKg/D,WAAWhJ,WAAWh2D,KAAKyjJ,aACjCzjJ,KAAK0iN,gBAAiB,GAOlC,MAAMwE,EAAkB71I,EAAcyyE,oBAAoB9jJ,KAAKyjJ,WAEzDm1B,EAAe,IAAIpB,GACzBoB,EAAa7E,YAAc/zK,KAAK4zK,aAC5B5zK,KAAKyjJ,UAAUxpF,SAAS,SACxB2+G,EAAahkG,YAAa,GAE9BgkG,EAAa77F,cAAgBmqI,EAAgBnqI,cAC7C67F,EAAanB,yBAA4D,QAAjC,EAAApmG,EAAc81I,2BAAmB,SAEzE,IAEI,MACMr7I,GADS,IAAI7yB,IACSy/H,gBAAgBC,EAAeC,EAAcC,GACzE/mH,OAAwBhzD,IAAjBgtE,QAA+DhtE,IAAjCgtE,EAAaqB,iBAClDntE,KAAKsjJ,cAAgBx3E,EACrB9rE,KAAKmzK,iBAAmBnzK,KAAKsjJ,cAAcn2E,gBAAgBmnG,gBAC3Dt0K,KAAKw0K,eAAiBx0K,KAAKsjJ,cAAcn2E,gBAAgBonG,cAGzDpzF,GAAYM,mBAAmBX,eAAc,KACzC,MAAMjX,EAAe7pE,KAAKonN,gBACtBhrD,EACAtwF,EAAa2tG,gBACbytC,GAGJlnN,KAAK6kN,SAAWh7I,EAAayB,QAC7BtrE,KAAK+kN,gBAAkBl7I,EAAaw9I,qBACpCrnN,KAAKilN,sBAAwBp7I,EAAay9I,2BAE1CtnN,KAAKkjN,kBAAoBrqC,EAASrP,mBAItC,MAAM+9C,OAEFzoN,IADAuyE,EAAcw1F,OAAOt7F,MAAMi8I,GAAmBA,EAAerxJ,OAAOnf,KAAKh3C,KAAKyjJ,aAGlFzjJ,KAAKqjN,mBHlpBd,SACH/+I,EACAmjJ,EACAF,GAEA,IAAI3G,GnBoQ+B8G,EmBpQED,EnBsQ9B3qN,OAAOmiF,OAAO,GAAIyoI,IAFtB,IAAgCA,EmBlQ/BH,GACA5G,GAAkBC,GAGtB,IAAK,IAAItmN,EAAI,EAAGA,EAAIgqE,EAAOt4C,MAAO1xB,IAAK,CACnC,MAAM0mB,EAAQsjD,EAAOgB,UAAUhrE,GAC/B,GAAI0mB,EAAMsrE,SACN,IAAK,MAAMwqF,KAAW91J,EAAMsrE,SAGxBs0H,EAAUQ,GAFItqC,EAAQx5K,MAAMsI,OAEUg7M,GAKlD,OAAOA,EG4nB+B,CACtB5gN,KAAKsjJ,cAAcn2E,gBAAgB7I,OACnC+M,EAAcmjD,kBACd+yF,GAEN,MAAOtjN,GACL,MAAMsI,GACDtI,EAAEqI,MAAQrI,EAAEqI,MAAM9M,gBAAaV,KACV,iBAAdmF,EAAEsI,QAAuBtI,EAAEsI,aAAUzN,IAC7CkQ,KAAKC,UAAUhL,GACnBjE,KAAKsjF,SAASl/E,MACVwtH,GAAUv4F,WAAWorG,qBAAqBpzH,OAAO,CAAEqe,KAAM1vB,KAAKusH,cAAehgH,aAIjFvM,KAAKsjJ,cAAgB,CACjBlsH,KAAM,GACN8yC,UAAWgc,GAAW/zE,OAAO,CAAErW,MAAO,EAAGd,OAAQ,IACjDy+K,gBAAiB,GACjBC,cAAe,IAAI57J,IACnBqvD,gBAAiB,CACb7I,OAAQ,IAAIomG,GAA2B,IACvCljH,MAAO,IAAIkjH,GAA+B,IAC1C6J,mBAAez1K,EACfw1K,gBAAiB,IAAIx2J,IACrB4vD,6BAA8B,KAC9BghG,uBAAwB,OACxB5iB,gCAAiC,KAErC6tB,wBAAwB,EACxBC,oBAAqB,IAAI97J,KAE7B9d,KAAK6kN,cAAW/lN,EAChBkB,KAAK+kN,qBAAkBjmN,EACvBkB,KAAKilN,2BAAwBnmN,EAE7B,MAAM+5K,EAAW,IAAIxP,GACrBwP,EAASpjD,SACL7D,GAAUv4F,WAAWorG,qBAAqBpzH,OAAO,CAAEqe,KAAM1vB,KAAKusH,cAAehgH,YjE3hBtF,CACHzQ,MA1CG,CACHo+B,KAAM,EACNC,UAAW,GAyCXp+B,IA3CG,CACHm+B,KAAM,EACNC,UAAW,KiEqkBHn6B,KAAKkjN,kBAAoBrqC,EAASrP,gBActC,OARAxpK,KAAK+iN,6BAA+B/iN,KAAK4iN,qBACzC5iN,KAAKyjN,iBAAkB,EACvBzjN,KAAKujN,kBAAmB,EACxBvjN,KAAKwjN,mBAAoB,EACzBxjN,KAAKgjN,yBAA0B,EAC/BhjN,KAAK0kN,wBAAqB5lN,EAC1BkB,KAAK2iN,sBAEE,KAIfx4L,MAAM/V,EAAuB4M,GACzB,OAAOhhB,KAAKgkN,YAAYp1M,IAAI,aAAa5O,KAAKgnN,mBAAmBhnN,KAAKyjJ,cAAekkE,IAEjF,IAAK3nN,KAAKsjJ,gBAAkBtjJ,KAAKumN,qBAE7B,YADAoB,EAAGliI,WAIPzlF,KAAKyjN,iBAAkB,EACvB,MAAM3sD,EAAUkV,GAAuBG,aACnC,GAA6BnsK,KAAKsjJ,cAAcp5E,WAChDlqE,KAAKsjJ,cACLlvI,EACA4M,GAOJ,OAJA2mM,EAAG/hM,IAAI,SAASkxI,EAAQ97J,UAIjB,CAAEm5J,mBADkB,GADdx7F,GAAmBD,GAAY14D,KAAKyjJ,aAEpBqT,cAIrC8wD,0BACI7wF,EACAt6F,EACAosB,EACAipE,EACA9wG,GAGA,GAAKhhB,KAAKsjJ,cAIV,OAAOunB,GAAmB+8C,0BACtB7wF,EACA/2H,KAAKsjJ,cACL7mH,EACAosB,EACAipE,EACA9wG,GAIR6mM,8BACI9wF,EACAt6F,EACAq1F,EACAj2D,EACA76C,GAGA,GAAKhhB,KAAKsjJ,cAIV,OAAOunB,GAAmBg9C,8BACtB9wF,EACA/2H,KAAKsjJ,cACL7mH,EACAq1F,EACAj2D,EACA76C,GAIRs5I,sBACIvjC,EACArvD,EACAoqD,EACAsoC,EACAp5I,GAGA,GAAKhhB,KAAKsjJ,cAIV,OAAO6W,GAAmBG,sBAAsBvjC,EAAc/2H,KAAKyjJ,UAAW/7E,EAAMoqD,EAAWsoC,EAAUp5I,GAG7G8mM,0BACI/wF,EACAt6F,EACAq1F,EACAsoC,EACAp5I,GAGA,GAAKhhB,KAAKsjJ,cAIV,OAAO6W,GAAmB2tD,0BACtB/wF,EACA/2H,KAAKsjJ,cACLtjJ,KAAKyjJ,UACLhnH,EACAq1F,EACAsoC,EACAp5I,GAIR+mM,cACIxtD,EACAC,EACA1oC,EACA9wG,GAGKhhB,KAAKsjJ,eAIV6W,GAAmB4tD,cACf/nN,KAAKsjJ,cACLtjJ,KAAKyjJ,UACL8W,EACAC,EACA1oC,EACA9wG,GAIRgnM,kCAAkC/7C,EAA8BjrJ,IAEvDhhB,KAAKsjJ,eAAkBtjJ,KAAKylN,sBAIjCz5C,GAAuBg8C,kCACnBhoN,KAAKsjJ,cAAgB,GAA6BtjJ,KAAKsjJ,cAAcp5E,gBAAaprE,EAClFkB,KAAKymN,wBACLzmN,KAAKsjJ,cACL2oB,EACAjrJ,GAIRinM,sBAAsB33J,EAAetvC,GAEjC,OAAKhhB,KAAKsjJ,eAAkBtjJ,KAAKylN,oBAI1Bz5C,GAAuBi8C,sBAC1BjoN,KAAKsjJ,cAAgB,GAA6BtjJ,KAAKsjJ,cAAcp5E,gBAAaprE,EAClFkB,KAAKymN,wBACLzmN,KAAKsjJ,cACLtjJ,KAAKyjJ,UACLnzF,EACAtvC,GATO,GAafknM,oBACInxF,EACAt6F,EACAprB,EACAygH,EACA9wG,GAGA,IAAIhhB,KAAKujN,kBAAqBvjN,KAAKsjJ,cAInC,OC91BD,MACH,2BACIvsB,EACAjrD,EACArvC,EACAprB,EACAygH,EACA9wG,GAEA,GAA6BA,GAE7B,MAAMtf,EAAS,GAAwB+6B,EAAUqvC,EAAaqB,gBAAgB3lB,OAC9E,QAAe1oD,IAAX4C,EACA,OAGJ,MAAMgmE,EAAO,GAAgCoE,EAAa5B,UAAWxoE,GACrE,QAAa5C,IAAT4oE,EACA,OAGJ,MAAM2gF,EAAwB,CAC1BntJ,MAAO,GACPuR,MAAO,CACH3Q,MAAOmpE,GAAwByC,EAAK5rE,MAAOgwE,EAAaqB,gBAAgB3lB,OACxEzrD,IAAKkpE,GAAwBT,GAAUmB,OAAO+B,GAAOoE,EAAaqB,gBAAgB3lB,SAI1F,GAAsB,KAAlBkgB,EAAKjB,SAAiC,CACtC,MAAM85E,EAAezuB,EAAUlG,2BAA2BlkD,GAC1D,GAAI64E,GAAgBA,EAAavlJ,OAAS,EAAG,CASzC,IAAIm/M,EAAqB55D,EAAa,GACN,IAA5B45D,EAAmBn7M,MAAkCuhJ,EAAavlJ,OAAS,IAC3Em/M,EAAqB55D,EAAa,IAGtCvgJ,KAAKmoN,0BACD92M,EACA0lH,EACAsxB,EAAQntJ,MACRi/M,EACAzyI,EACAoqD,QAED,KAAKpqD,EAAKviC,QAAmC,KAAzBuiC,EAAKviC,OAAOshC,WAKN,IAAzB4hF,EAAQntJ,MAAMF,OAAc,CAC5B,MAAMgE,EAAO8yH,EAAUvE,QAAQ7lD,IAASg9B,GAAYvyF,SAEpD,IAAIi2M,EAAW,GAKXA,EAJAhiH,GAASpnG,GAIE,YAAc0oE,EAAKpqE,MAEnBoqE,EAAKpqE,MAAQ,KAAOw0H,EAAUuC,UAAUr1H,GAA4B,GAGnFgB,KAAKqoN,gBAAgBhgE,EAAQntJ,MAAOktN,GAAU,GAC9CpoN,KAAKsoN,sBAAsBj3M,EAAQ0lH,EAAcsxB,EAAQntJ,MAAOwsE,EAAMoqD,OAAWhzH,IAK7F,OAAOupJ,EAAQntJ,MAAMF,OAAS,EAAIqtJ,OAAUvpJ,EAGxC,iCACJuS,EACA0lH,EACA77H,EACA8sE,EACAN,EACAoqD,G,MAEA,MAAM1E,EAAe0E,EAAUzE,wBAAwBrlD,GAAqC,GAC5F,GAAKolD,EAKL,OAAQA,EAAapuH,MACjB,KAAK,EACDgB,KAAKqoN,gBAAgBntN,EAAOwsE,EAAKpqE,MAAQ0C,KAAKuoN,aAAa7gJ,EAAMoqD,IAAY,GAC7E9xH,KAAKsoN,sBAAsBj3M,EAAQ0lH,EAAc77H,EAAOwsE,EAAMoqD,EAAW1E,GACzE,MAGJ,KAAK,EAA0B,CAC3B,IAAIhyF,EAAQgyF,EAAa+kC,YAAc/kC,EAAazxB,QAAU,WAAa,WAKvE6sH,EAAW9gJ,EAEmB,KAA9BM,EAAYN,KAAKjB,UACa,KAA9BuB,EAAYN,KAAKjB,SAEbuB,EAAYN,KAAKyE,OAASzE,IAASM,EAAYN,KAAKyE,OACjB,KAA/BihD,EAAa1lD,KAAKjB,WAClB+hJ,EAAWp7F,EAAa1lD,MAGJ,KAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,WAAuCiB,EAAKviC,OAAO94B,OAASq7D,GAI9C,KAA9BM,EAAYN,KAAKjB,WACjB+hJ,EAAWxgJ,EAAYN,MAM/B,MAAM1oE,EAAO8yH,EAAUvE,QAAQi7F,GAC/B,IACI9yG,EADAunC,GAAkB,EAGtB,GAAIj+I,aAAI,EAAJA,EAAMioG,cAAe,CACrB,MAAMA,EAAgBD,GAAiBhoG,IACnCioG,aAAa,EAAbA,EAAe56F,QAASm8M,EAASlrN,QAC7B+oG,GAAUrnG,IACVo8B,EAAQp8B,EAAKunG,QAAQM,YAAc,aAAe,gBAClD6O,EAAc12G,EAAKunG,QAAQl6F,OAE3B4wI,GAAkB,EAClB7hH,EAAQ,eAKpB,MAAMgtL,EAAW1yG,GAAehuC,EAAKpqE,MAAQ0C,KAAKuoN,aAAaC,EAAU12F,EAAWmrB,GACpFj9I,KAAKqoN,gBAAgBntN,EAAO,IAAIkgC,MAAUgtL,KAAY,GACtDpoN,KAAKsoN,sBAAsBj3M,EAAQ0lH,EAAc77H,EAAOwsE,EAAMoqD,EAAW1E,GACzE,MAGJ,KAAK,EACDptH,KAAKqoN,gBAAgBntN,EAAO,eAAiBwsE,EAAKpqE,MAAQ0C,KAAKuoN,aAAa7gJ,EAAMoqD,IAAY,GAC9F9xH,KAAKsoN,sBAAsBj3M,EAAQ0lH,EAAc77H,EAAOwsE,EAAMoqD,EAAW1E,GACzE,MAGJ,KAAK,EACL,KAAK,EACD,GAAIptH,KAAKyoN,gCAAgCp3M,EAAQq2D,EAAMoqD,EAAW52H,EAAO67H,EAAc3J,GACnF,OAGJptH,KAAKqoN,gBAAgBntN,EAAO,WAAawsE,EAAKpqE,OAAO,GACrD0C,KAAKsoN,sBAAsBj3M,EAAQ0lH,EAAc77H,EAAOwsE,EAAMoqD,EAAW1E,GACzE,MAGJ,KAAK,EAA0B,CAC3B,IAAIhyF,EAAQ,WACZ,GAAIgyF,EAAahC,SAAU,CACvB,MAAM6L,EAAenF,EAAUoF,sBAAsB9J,GACrDhyF,EAAQ67F,GAAgBtX,GAAWsX,GAAgB,WAAa,SAGpE,MAAMj4H,EAAO8yH,EAAUvE,QAAQ7lD,GAC3B1oE,GAAQ+nG,GAAqB/nG,GAC7BgB,KAAKqoN,gBAAgBntN,EAAO,IAAIkgC,OAAW4mH,GAA6BhjJ,EAAM8yH,MAAc,GAE5F9xH,KAAKqoN,gBAAgBntN,EAAO,IAAIkgC,MAAYssC,EAAKpqE,MAAQ0C,KAAKuoN,aAAa7gJ,EAAMoqD,IAAY,GAGjG9xH,KAAKsoN,sBAAsBj3M,EAAQ0lH,EAAc77H,EAAOwsE,EAAMoqD,EAAW1E,GACzE,MAGJ,KAAK,EACDptH,KAAKqoN,gBAAgBntN,EAAO,YAAcwsE,EAAKpqE,OAAO,GACtD0C,KAAKsoN,sBAAsBj3M,EAAQ0lH,EAAc77H,EAAOwsE,EAAMoqD,EAAW1E,QAlG7EptH,KAAKqoN,gBAAgBntN,EAAO,YAAcwsE,EAAKpqE,MAAQ0C,KAAKuoN,aAAa7gJ,EAAMoqD,IAAY,GAwG3F,uCACJzgH,EACAq2D,EACAoqD,EACA52H,EACA67H,EACA/uD,GAKA,IAAI0gJ,EAAsChhJ,EAY1C,GAPIghJ,EAAavjL,QACoB,KAAjCujL,EAAavjL,OAAOshC,UACpBiB,IAASghJ,EAAavjL,OAAOkiC,aAE7BqhJ,EAAehhJ,EAAKviC,SAInBujL,IACAA,EAAavjL,QACmB,IAAjCujL,EAAavjL,OAAOshC,UACpBiiJ,EAAavjL,OAAOuhC,iBAAmBgiJ,EAEvC,OAAO,EAIX,MAAMz6G,EAAY6jB,EAAUvE,QAAQ7lD,GACpC,IAAKumC,IAAc/H,GAAoB+H,GACnC,OAAO,EAGX,MAAMqpD,EAAmBz2C,GAAkB5S,EAAW,WAAY,GAElE,IAAKqpD,EACD,OAAO,EAGX,MAAMqxD,EAAe72F,EAAUvE,QAAQm7F,EAAavjL,QAC9CquE,EAAese,EAAU0lC,gBAAgBF,GAE/C,KAAKqxD,GAAiBn1G,GAAiBrN,GAAgBwiH,IAAkB7hH,GAAW0M,IAChF,OAAO,EAGX,MAAM+jD,EAAiBzlC,EAAUy+B,4BAA4Bo4D,EAAcn1G,GAE3E,IAAK+jD,IAAmBzwD,GAAWywD,GAC/B,OAAO,EAGX,MAAMqxD,EAAgB92F,EAAU+2F,mBAAmBtxD,GAC7CuxD,EAAY,GAAGphJ,EAAKpqE,SAASsrN,EAAc,GAAGptN,KAAK,SAczD,OAZAwE,KAAKqoN,gBAAgBntN,EAAO,WAAa4tN,GAAW,GACnC9oN,KAAK+oN,6BAClB13M,EACA0lH,EACA77H,EACAq8J,EACAvvF,EACA8pD,IAGA9xH,KAAK+oN,6BAA6B13M,EAAQ0lH,EAAc77H,EAAO+yG,EAAWjmC,EAAa8pD,IAEpF,EAGH,oBAAoBpqD,EAAgBoqD,EAA0BmrB,GAAkB,GACpF,MAAMj+I,EAAO8yH,EAAUvE,QAAQ7lD,IAASg9B,GAAYvyF,SACpD,MAAO,KAAO2/G,EAAUuC,UAAUr1H,EAAMi+I,GAGpC,6BACJ5rI,EACA0lH,EACA77H,EACAwsE,EACAoqD,EACA1E,GAEA,MAAMpuH,EAAO8yH,EAAUvE,QAAQ7lD,GAC3B1oE,GACAgB,KAAK+oN,6BAA6B13M,EAAQ0lH,EAAc77H,EAAO8D,EAAMouH,EAAc0E,GAInF,oCACJzgH,EACA0lH,EACA77H,EACA8D,EACAouH,EACA0E,GAEA,MAAMgG,EAAa8qB,GAAoC7rB,EAAc/3H,EAAMouH,EAAc0E,GACzF,IAAIk3F,GAAW,EACf,IAAK,MAAM3rH,KAAay6B,EAChBz6B,IACA2rH,GAAW,EACXhpN,KAAKipN,6BAA6B53M,EAAQnW,EAAOmiG,IAIzD,OAAO2rH,EAGH,oCAAoC33M,EAAoBnW,EAAwBmiG,GACpF,GAAIA,EACA,GAAIhsF,IAAW,GAAAysB,WAAA,SAAqB,CAChC,MAAMorL,EAAW9rH,GAA2BC,GAExCniG,EAAMF,OAAS,GAAKkuN,EAASluN,OAAS,GACtCE,EAAMG,KAAK,CAAE+7B,KAAM,UAGvBp3B,KAAKqoN,gBAAgBntN,EAAOguN,QACrB73M,IAAW,GAAAysB,WAAA,UAClB99B,KAAKqoN,gBAAgBntN,EAAOsiG,GAA4BH,IAExDnrC,EAAK,4BAA4B7gD,KAKrC,uBAAuBnW,EAAwBk8B,EAAc+xL,GAAS,GAC1EjuN,EAAMG,KAAK,CACP8tN,SACA/xL,WDqhBiB8wL,oBAAoBnxF,EAAc/2H,KAAKsjJ,cAAe7mH,EAAUprB,EAAQygH,EAAW9wG,GAG5GooM,qBACIryF,EACAt6F,EACAq1F,EACA9wG,GAGA,IAAIhhB,KAAKujN,kBAAqBvjN,KAAKsjJ,cAInC,OEx4BD,MACH,4BACIx3E,EACArvC,EACAq1F,EACA9wG,GAEA,GAA6BA,GAE7B,MAAMtf,EAAS,GAAwB+6B,EAAUqvC,EAAaqB,gBAAgB3lB,OAC9E,QAAe1oD,IAAX4C,EACA,OAGJ,MAAMgmE,EAAO,GAAgCoE,EAAa5B,UAAWxoE,GACrE,YAAa5C,IAAT4oE,GAIkB,KAAlBA,EAAKjB,SAIOo5E,GAAwBmM,gBACpCtkF,EACAoqD,EACA9wG,EACA8qD,EAAa5B,WAC8B,GAGhCpmD,KAAKY,IAAM,CACtByI,KACwB,KAApBzI,EAAEgjD,KAAKjB,UAAmC,GAA6B/hD,EAAEgjD,MACnE,GAAA/oC,sBAAA,MACA,GAAAA,sBAAA,KACVlyB,MAAO84D,GAAsB7gD,EAAEjY,MAAM3Q,MAAO0oE,GAAUmB,OAAOjhD,EAAEjY,OAAQq/D,EAAaqB,gBAAgB3lB,gBArBxG,IFy3BiC4hK,qBAAqBppN,KAAKsjJ,cAAe7mH,EAAUq1F,EAAW9wG,GAGnGqoM,4BACI5sL,EACAs6F,EACAjF,EACAzgH,EACA2P,GAGA,GAAKhhB,KAAKsjJ,cAIV,OG73BD,MACH,mCACIx3E,EACArvC,EACAs6F,EACAjF,EACAzgH,EACA2P,G,MAEA,GAA6BA,GAE7B,MAAMtf,EAAS,GAAwB+6B,EAAUqvC,EAAaqB,gBAAgB3lB,OAC9E,QAAe1oD,IAAX4C,EACA,OAGJ,IAAIgmE,EAAO,GAAgCoE,EAAa5B,UAAWxoE,GAKnE,MAAMsiJ,EAAct8E,EACdu8E,EAAev8E,EAAO,GAA4BA,GAAQ,EAChE,IAAIw8E,EAAYxiJ,EAAS,EACzB,KAAOwiJ,GAAa,GAI+B,MAA3Cp4E,EAAa10C,KAAKp1B,OAAOkiJ,EAAW,IAJrB,CAOnB,MAAMj7E,EAAU,GAAgC6C,EAAa5B,UAAWg6E,GACxE,GAAIj7E,GAAWA,IAAY+6E,EAAa,CAChC,GAA4B/6E,GAAWg7E,IACvCv8E,EAAOuB,GAEX,MAGJi7E,IAGJ,QAAaplJ,IAAT4oE,EACA,OAGJ,MAAM+iF,EAAWpxD,GAAmC3xB,EAAMhmE,EAAQoqE,EAAaqB,gBAAgB7I,QAC/F,IAAKmmF,EACD,OAGJ,MAAM6+D,EAAoBx3F,EAAU64B,qBAChCF,EAASlxD,SACTkxD,EAAS3wD,YACT2wD,EAAS1wD,cAEb,OAAKuvH,EASE,CACHv+D,WANeu+D,EAAkBv+D,WAAWjnI,KAAKylM,GACjDvpN,KAAKwpN,eAAeF,EAAkB/vH,SAAUgwH,EAAKxyF,EAAcjF,EAAWzgH,KAM9Eo4M,qBAJ4D,QAApC,EAAAH,EAAkB/vH,SAAS75F,iBAAS,eAAE1E,cAPlE,EAeI,sBACJu+F,EACAyxD,EACAj0B,EACAjF,EACAzgH,G,MAEA,MAAMmiG,EAAew3C,EAAUhsJ,KACzBqkC,EAA0B,GAC1B25D,EACiE,QAAnE,EAAAklD,GAA6B1uC,EAAcujB,EAAcjF,UAAU,QACnE9xH,KAAK0pN,0BAA0BnwH,EAAUw9B,EAAcjF,GAI3D,IAAI12F,EAAQo4E,EAAajN,QAAQwG,SAAW,IAC5C,MAAM5sF,EAASqzF,EAAajN,QAAQljE,WAAWwlB,QAAO,CAACr2C,EAAG2X,MAAsB,IAAVA,GAA0B,SAAX3X,EAAEnG,QA+BvF,IAAIs9M,EA9BJxpM,EAAOmF,SAAQ,CAAClC,EAA0Bi/F,KACtC,MAAMplB,EAAY75E,EAAM/W,MAAQ,GAChC,IAAIkzI,EAAsBn8H,EAAM/W,MAAQ,GACjB,IAAnB+W,EAAMk7C,SACNihF,EAAc,IAAMA,EACM,IAAnBn8H,EAAMk7C,WACbihF,EAAc,KAAOA,GAErBn8H,EAAM0vF,YAAc1vF,EAAMu8H,yBAC1BJ,GAAe,IACfA,GAAe,GACXn8H,EAAMu8H,uBAAsB,IAKpCt8G,EAAWhoC,KAAK,CACZirC,YAAalL,EAAMpgC,OACnBurC,UAAWnL,EAAMpgC,OAASukJ,EAAYvkJ,OACtCo8B,KAAMmoH,EACNn8G,cAAe25D,GAA8BC,GAAqB,GAAIC,KAG1E7hE,GAASmkH,EACLl9B,EAAaliG,EAAOnlB,OAAS,IAC7BogC,GAAS,SAGjBA,GAAS,IAGL4vH,EAAUC,cACV0+D,EAAkBxpM,EAAOtkB,QAAQmvJ,EAAUC,cAClB,IAArB0+D,IACAA,OAAkB7qN,IAI1B,MAAM8qN,EAAyB,CAC3BxuL,QACAiI,aACAsmL,mBAiBJ,OAdI3sH,IACI3rF,IAAW,GAAAysB,WAAA,SACX8rL,EAAQxmL,cAAgB,CACpBjW,KAAM,GAAA2Q,WAAA,SACNxgC,MAAO8/F,GAA2BJ,IAGtC4sH,EAAQxmL,cAAgB,CACpBjW,KAAM,GAAA2Q,WAAA,UACNxgC,MAAOkgG,GAA4BR,KAKxC4sH,EAGH,iCACJrwH,EACAw9B,EACAjF,G,MAKA,IAAIzlH,EACJ,MAAMgiF,EAAOkL,EAAS7yB,eAOtB,GANsB,KAAlB2nB,EAAK5nB,SACLp6D,EAAOgiF,EACkB,KAAlBA,EAAK5nB,WACZp6D,EAAOgiF,EAAKhnB,YAGXh7D,EAIL,IAAK,MAAM67D,KAAkD,QAA1C,EAAA4pD,EAAUlG,2BAA2Bv/G,UAAK,QAAI,GAAI,CACjE,MAAMw9M,EAAc/3F,EAAUzE,wBAAwBnlD,GAA8B,GACpF,IAAK2hJ,EACD,SAGJ,MAAM7qN,EAAO8yH,EAAUvE,QAAQlhH,GAC/B,IAAKrN,EACD,SAGJ,MAAM9D,EAAQ0nJ,GAAoC7rB,EAAc/3H,EAAM6qN,EAAa/3F,GACnF,GAAI52H,EAAMF,OAAS,EACf,OAAOE,EAAMM,KAAK,WHusBG6tN,4BACzBrpN,KAAKsjJ,cACL7mH,EACAs6F,EACAjF,EACAzgH,EACA2P,GAIR+iI,0BACItnH,EACAkzH,EACAt+E,EACA+qF,EACAkP,EACAx5C,EACA19G,EACA2iH,EACA62B,EACAD,EACAm8D,EACA9oM,GAGA,IAAKhhB,KAAKsjJ,cACN,OAKJ,MAAMq1B,EAAe34K,KAAK6lN,sBAC1B,YAAqB/mN,IAAjB65K,EAIuB,IAAIv1B,GAC3BuM,EACA3vJ,KAAKsjJ,cACLq1B,EACAvc,EACA3/H,EACAz8B,KAAKyjJ,UACLpyE,EACAi6F,EACAx5C,EACA19G,EACA2iH,EACA,CACI62B,UACAD,aACAH,oBAAqBs8D,GAEzB9oM,GAGsB+iI,iCAxB1B,EA2BJ4B,sBACIt0E,EACA+qF,EACAkP,EACAx5C,EACA19G,EACA2iH,EACA62B,EACAD,EACAm8D,EACAlkE,EACA5kI,GAEA,MAAM23J,EAAe34K,KAAK6lN,sBAC1B,IAAK7lN,KAAKsjJ,oBAAkCxkJ,IAAjB65K,EACvB,OAGJ,MAAMoxC,EAAiBnkE,EAAe1mJ,KACX,IAAIkkJ,GAC3B2mE,EAAep6D,cACf3vJ,KAAKsjJ,cACLq1B,EACAvc,EACA2tD,EAAettL,SACfz8B,KAAKyjJ,UACLpyE,EACAi6F,EACAx5C,EACA19G,EACA2iH,EACA,CACI62B,UACAD,aACAH,oBAAqBs8D,GAEzB9oM,GAGe2kI,sBAAsBC,GAG7CokE,mBAAmB3tL,EAAiBjlB,EAAa4J,GAE7C,GAAKhhB,KAAKsjJ,oBAMsBxkJ,IAA5BkB,KAAK4lN,mBAIT,OIlgCD,SAA4BvpL,EAAiBjlB,EAAa00D,EAA4B9qD,GACzF,MAAgB,4BAAZqb,EACqB,IAAIixI,GAAaxhG,EAAc9qD,GAChCw4C,OACD,gCAAZn9B,GACHjlB,EAAKpc,QAAU,EAW3B,SACI8wE,EACApqE,EACAsf,GAEA,GAA6BA,GAE7B,IAAI0mD,EAA8B,GAAgCoE,EAAa5B,UAAWxoE,GAC1F,KAAOgmE,GACmB,KAAlBA,EAAKjB,UAITiB,EAAOA,EAAKviC,OAGhB,IAAKuiC,EACD,MAAO,GAGX,MAAMslB,EAAiBtlB,EAAKslB,gBAAkBtlB,EAAK+oB,sBACnD,IAAKzD,EACD,MAAO,GAGX,MAAMi9H,EAAgC,GAEhCC,EAAWjlJ,GAAwB+nB,EAAelxF,MAAOgwE,EAAaqB,gBAAgB3lB,OACtF2iK,EAASllJ,GAAwBT,GAAUmB,OAAOqnB,GAAiBlhB,EAAaqB,gBAAgB3lB,OAEtGyiK,EAAY5uN,KAAK,CACboR,MAAO,CAAE3Q,MAAOouN,EAAUnuN,IAAKmuN,GAC/Bz9I,gBAAiB,cAErBw9I,EAAY5uN,KAAK,CACboR,MAAO,CAAE3Q,MAAOquN,EAAQpuN,IAAKouN,GAC7B19I,gBAAiB,MAIrB,MAAMmB,EAAmB3D,GAAmB6B,EAAa5B,WACnD2B,EAAkB+B,EAAiBvD,eAAekB,MAAM6jF,GAA2B,WAAnBA,EAAIpkF,aAG1E,GACIa,GACkC,KAAlCA,EAAgBnE,KAAKjB,WACpBoF,EAAgBnE,KAAKsE,iBACxB,CACE,MAAMo+I,EAAwBz+I,GAC1B,CAAEt/D,KAAM,YACRw/D,EACAC,GAEJm+I,EAAY5uN,QAAQ+uN,OACjB,CACH,MAAMA,EAAwBz8I,GAC1B,CAAEthE,KAAM,YACRuhE,EACA,SAAQ,EAER9B,EACAo+I,GAEJD,EAAY5uN,QAAQ+uN,GAGxB,OAAOH,EA5EQI,CAA2Bv+I,EADf/pE,SAASqV,EAAK,GAAI,IACuB4J,GAI7D,GJu/BIgpM,CAAmB3tL,EAASjlB,EAAMpX,KAAKsjJ,cAAetiI,GAGjE7F,KAAKk2D,EAA8Bi6F,EAA4B+oB,GAM3D,OALAviI,GAAQ9xD,KAAKqmN,kBAAmB,8BAChCv0J,EAAO9xD,KAAKsmN,oBAAqB,6BACjCx0J,GAAQ9xD,KAAKijN,qBAAsB,yCACnCnxJ,OAA8BhzD,IAAvBkB,KAAKsjJ,cAA6B,+BAElCtjJ,KAAKgkN,YAAYp1M,IAAI,YAAY5O,KAAKgnN,mBAAmBhnN,KAAKyjJ,cAAc,KAC/E,IAEItiE,GAAYQ,SAASb,eAAc,KAC/B9gF,KAAKsqN,4BAEL,MAAM9hJ,EAAWxoE,KAAKuqN,eAClBl5I,EACArxE,KAAKsjJ,cAAelsH,KACpBk0I,EACA+oB,I9D55BjB,SAAqB3sH,EAAkBc,GACrBd,EACRc,SAAWA,E8D45BR,CAA6BxoE,KAAKsjJ,cAAep5E,UAAW1B,GAE5D,MAAMgiJ,EAAS,IAAIp3B,GAAO5qH,EAAU6I,EAAc81I,qBAClDnnN,KAAKijN,sBAAuB,EAC5BuH,EAAOr2B,WAAWn0L,KAAKsjJ,cAAep5E,WAIlCmH,EAAco5I,mBACK,IAAIvI,IACZnyH,KAAK/vF,KAAKsjJ,cAAep5E,WAGxClqE,KAAKmjN,iBAAmB36I,EAAS87H,eAAe96B,gBAChD,MAAMjoB,EAAc,GAA0BvhJ,KAAKsjJ,cAAep5E,WAClEpY,OAAuBhzD,IAAhByiJ,EAA2B,uCAClCvhJ,KAAKmlN,mBAAqB5jE,EAAa9zC,eAE7C,MAAOxpG,GACL,MAAMsI,GACDtI,EAAEqI,MAAQrI,EAAEqI,MAAM9M,gBAAaV,KACV,iBAAdmF,EAAEsI,QAAuBtI,EAAEsI,aAAUzN,IAC7CkQ,KAAKC,UAAUhL,GACnBjE,KAAKsjF,SAASl/E,MACVwtH,GAAUv4F,WAAWmrG,oBAAoBnzH,OAAO,CAAEqe,KAAM1vB,KAAKusH,cAAehgH,aAGhF,MAAMssK,EAAW,IAAIxP,GACrBwP,EAASpjD,SACL7D,GAAUv4F,WAAWmrG,oBAAoBnzH,OAAO,CAAEqe,KAAM1vB,KAAKusH,cAAehgH,YjE15BrF,CACHzQ,MA1CG,CACHo+B,KAAM,EACNC,UAAW,GAyCXp+B,IA3CG,CACHm+B,KAAM,EACNC,UAAW,KiEo8BHn6B,KAAKmjN,iBAAmBtqC,EAASrP,gB,QAKjCxpK,KAAKijN,sBAAuB,EAIhCjjN,KAAK2iN,qBACL3iN,KAAKwjN,mBAAoB,EACzBxjN,KAAKyjN,iBAAkB,EACvBzjN,KAAKujN,kBAAmB,KAIhCjrL,MAAMw5F,GAOF,OANAhgE,GAAQ9xD,KAAKqmN,kBAAmB,+BAChCv0J,GAAQ9xD,KAAKsmN,oBAAqB,+BAClCx0J,GAAQ9xD,KAAKijN,qBAAsB,0CACnCnxJ,EAAO9xD,KAAKwmN,qBAAsB,8BAClC10J,OAA8BhzD,IAAvBkB,KAAKsjJ,cAA6B,+BAElCtjJ,KAAKgkN,YAAYp1M,IAAI,aAAa5O,KAAKgnN,mBAAmBhnN,KAAKyjJ,cAAc,KAChF,IACItiE,GAAYS,gBAAgBd,eAAc,KACtB,IAAIovH,GAAQlwM,KAAKsjJ,cAAep5E,UAAW4nD,GACnDx5F,QACRt4B,KAAKwjN,mBAAoB,EAEzB,MAAMh7I,EAAW,GAA6BxoE,KAAKsjJ,cAAep5E,WAClElqE,KAAKojN,oBAAsB56I,EAAS87H,eAAe96B,mBAEzD,MAAOvlK,GAEL,IADuBmgE,GAA2B7vD,GAAGtQ,GAChC,CACjB,MAAMsI,GACDtI,EAAEqI,MAAQrI,EAAEqI,MAAM9M,gBAAaV,KACV,iBAAdmF,EAAEsI,QAAuBtI,EAAEsI,aAAUzN,IAC7CkQ,KAAKC,UAAUhL,GACnBjE,KAAKsjF,SAASl/E,MACVwtH,GAAUv4F,WAAWqrG,4BAA4BrzH,OAAO,CAAEqe,KAAM1vB,KAAKusH,cAAehgH,aAExF,MAAMssK,EAAW,IAAIxP,GACrBwP,EAASpjD,SACL7D,GAAUv4F,WAAWqrG,4BAA4BrzH,OAAO,CAAEqe,KAAM1vB,KAAKusH,cAAehgH,YjE18BjG,CACHzQ,MA1CG,CACHo+B,KAAM,EACNC,UAAW,GAyCXp+B,IA3CG,CACHm+B,KAAM,EACNC,UAAW,KiEq/BCn6B,KAAKojN,oBAAsBvqC,EAASrP,gBAGpCxpK,KAAKwjN,mBAAoB,EAG7B,MAAMv/M,E,QAKNjE,KAAKsjN,sBAAwB,GAC7BtjN,KAAK2iN,yBAKjB+H,uBAAuBC,GACnB3qN,KAAK4zK,aAAe+2C,EAGhBJ,eACJl5I,EACAsnG,EACArN,EACA+oB,GAEAviI,OAA8BhzD,IAAvBkB,KAAKsjJ,cAA6B,+BACzC,MAAMsnE,EAAsB,IAAIvgD,GAAwBrqK,KAAKsjJ,cAAen2E,gBAAgB3lB,OAsB5F,MApBmC,CAC/B8jH,eACAoO,cAAe15K,KAAKsjJ,cAAeo2B,cACnC2a,gBACAiQ,eAAgBsmB,EAChB/xB,qBAAsBxnH,EAAcyyE,oBAAoB9jJ,KAAKyjJ,WAC7DjvB,kBAAmBx0H,KAAKqjN,mBACxB1qC,eACAnxH,MAAOxnD,KAAKsjJ,cAAen2E,gBAAgB3lB,MAC3CoyH,oBAAqB55K,KAAKsjJ,cAAes2B,oBACzC/9G,SAAU77D,KAAKyjJ,UACfz4E,WAAYhrE,KAAKg8J,YACjBpnF,WAAY50E,KAAK0jN,YACjB5sB,iBAAkB92L,KAAK6jN,kBACvBgH,2BAA4B7qN,KAAK8jN,4BACjCgH,kBAAmB9qN,KAAK+jN,mBACxBn3C,mBAAoB5sK,KAAK4jN,4BACzBtpB,cAAet6L,KAAK4zK,aACpB6kC,kBAAmB,IAAI36L,KAKvBwsM,4BACAtqN,KAAKsjJ,eACDtjJ,KAAKgjN,0BACiB,IAAIlB,GAAuB9hN,KAAKsjJ,cAAcp5E,WACtD83I,QACdhiN,KAAKgjN,yBAA0B,GAKnCoE,gBACJhrD,EACA2uD,EACAhoJ,GAEA,MAAMuI,EAA0B,GAE1B0/I,EAAyB,CAACt7I,EAAqBu7I,GAAoB,KACrE,MAAMphJ,EAAeuyF,EAAexoF,cAAc5zE,KAAKyjJ,UAAW1gF,EAAS,CACvE0M,YAAa,EACbC,YACAuD,qBAAiBn0E,IAGrB,IAAImsN,GAAsBphJ,EAAae,cAKvC,OAA0C,IAAtCf,EAAagB,cAAc7vE,QAAgB6uE,EAAagB,cAAc,KAAO7qE,KAAKyjJ,WAClFn4E,EAAQjwE,KAAKwuE,GACNA,QAFX,GASJ,IAAIw9I,EAICrnN,KAAK2jN,qBAAwB3jN,KAAK0jN,cACnC2D,EAAuB2D,EAAuB,CAAC,iBAAuC,IAGrF3D,IACDA,EAAuB2D,EAAuB,CAAC,cAGnD,MAAM1D,EAA6BtnN,KAAK4zK,aAClCo3C,EAAuB,CAAC,UAAW,iBACnClsN,EAEN,IAAK,MAAMosN,KAAgBH,EAAe,CACtC,MAAMlhJ,EAAeuyF,EAAexoF,cAAc5zE,KAAKyjJ,UAAW1gF,EAAS,CACvE0M,YAAay7I,EAAaz7I,YAC1BC,UAAWw7I,EAAax7I,UACxBuD,gBAAiBi4I,EAAaj4I,kBAGlC3H,EAAQjwE,KAAKwuE,G9DtpCsBlC,E8D2pCmBkC,EAAvBqhJ,EAAalzD,S9DzpCvCrwF,WAAaA,EAFvB,IAAwCA,E8D8pCvC,MAAO,CACH2D,UACA+7I,uBACAC,8BAIAN,mBAAmBtlJ,GACvB,OAAK1hE,KAAKg/D,WAAWyC,iBAAiBC,GAI/B,aAAeA,EAHXA,GK5uCZ,SAASypJ,GAAmBjoJ,GAC/B,SAASzoB,EAAKn9C,EAA2B4pC,EAAK,KAC1C,OAAO5pC,EAAQ,GAAG4pC,IAAK5pC,IAAQ4pC,IAAO,GAM1Cg8B,EAAQA,EACHp/C,KAAKY,GAAM0wC,GAAiC1wC,KAC5C80C,MAAK,CAAC30D,EAAGnG,IAAMmG,EAAEumN,cAAc1sN,KAC/Bu3F,UAEL,MAAM5/B,EAAkB,SACxB,SAASg1J,EAAsBC,GAC3B,GAAIA,EAAkB,CAClB,GAAgC,iBAArBA,EAA+B,CACtC,IAAK,MAAM95M,KAAQ0xD,EACf,GAAIooJ,EAAiB91J,WAAWhkD,GAE5B,OAAOmnD,GADS2yJ,EAAiB9kL,UAAUh1B,EAAKxW,SACb2K,QAAQ0wD,EAAiB,KAIpE,OAAOi1J,EAEP,OAAOA,EAAiB57I,UAAUl0E,KAAK,KAG/C,MAAO,GAGX,SAAS64H,EAAUr1H,G,gBACf,GAAIA,EACA,OAAQA,EAAKs/D,UACT,KAAK,EACD,MAAO,OAAO7jB,EAAuB,QAAlB,EAAAz7C,EAAKioG,qBAAa,eAAE8F,YAE3C,KAAK,EACD,OAAIvI,GAASgB,eAAexmG,GACjB,UAAUA,EAAKunG,QAAQl6F,UAAUrN,EAAKunG,QAAQv7B,cAE9C,WAAWhsE,EAAKunG,QAAQl6F,UAAUrN,EAAKunG,QAAQv7B,cAG9D,KAAK,EACD,MAAO,aAAahsE,EAAKunG,QAAQl6F,UAAUrN,EAAKunG,QAAQv7B,cAE5D,KAAK,EACD,MAAO,WAAWhsE,EAAKgsE,gBAAgBhsE,EAAKgsE,cAEhD,KAAK,EACD,MAAO,SAASvwB,EAAuB,QAAlB,EAAAz7C,EAAKioG,qBAAa,eAAE8F,YAE7C,KAAK,EACD,MAAO,QAAQtyD,EAAuB,QAAlB,EAAAz7C,EAAKioG,qBAAa,eAAE8F,YAE5C,KAAK,EACD,MAAO,uBAAuB/tG,EAAKuqG,UAAUzlF,KAAK1R,GAAMqoC,EAAK45E,EAAUjiH,GAAI,OAAM5W,KAAK,QAE1F,KAAK,GACD,MAAO,YAAYwD,EAAKunG,QAAQl6F,SAASouC,EAAuB,QAAlB,EAAAz7C,EAAKioG,qBAAa,eAAE8F,YAEtE,KAAK,EACD,MAAO,WAAWtyD,EAAuB,QAAlB,EAAAz7C,EAAKioG,qBAAa,eAAE8F,YAE/C,KAAK,EACD,MAAO,UAAU/tG,EAAK6mG,SAAS/hF,KAAK1R,GAAMqoC,EAAK45E,EAAUjiH,GAAI,OAAM5W,KAAK,QAE5E,KAAK,EACD,MAAO,WAAWi/C,EAAuB,QAAlB,EAAAz7C,EAAKioG,qBAAa,eAAE8F,YAE/C,QACI56C,EAAYnzD,GAGxB,MAAO,GAeX,SAASusN,EAAiBrjJ,GACtB,GAAIA,EACA,OAAQA,EAAKlpE,MACT,KAAK,EACD,MAAO,UAAUwsN,EAAUtjJ,EAAKR,UAAU2jJ,EAAsBnjJ,EAAKn5D,SAEzE,KAAK,EACD,MAAO,UAAUy8M,EAAUtjJ,EAAKR,UAAU2jJ,EAAsBnjJ,EAAKn5D,SAEzE,KAAK,EACD,MAAO,aAAay8M,EAAUtjJ,EAAKR,UAAU2jJ,EAAsBnjJ,EAAKn5D,SAE5E,KAAK,EACD,MAAO,cAAcy8M,EAAUtjJ,EAAKR,SAASQ,EAAKgqF,kBAAkBm5D,EAChEnjJ,EAAKn5D,SAGb,KAAK,EACD,MAAO,cAAcy8M,EAAUtjJ,EAAKR,UAAU2jJ,EAAsBnjJ,EAAKn5D,SAE7E,KAAK,EACD,MAAO,wBAAwBy8M,EAAUtjJ,EAAKR,UAAU2jJ,EAAsBnjJ,EAAKn5D,SAEvF,KAAK,EACD,MAAO,aAAay8M,EAAUtjJ,EAAKR,UAAU2jJ,EAAsBnjJ,EAAKn5D,SAE5E,QACIojD,EAAY+V,GAIxB,MAAO,GAmBX,SAASsjJ,EAAU9jJ,EAA6B+jJ,GAAY,G,MACxD,IAAK/jJ,EACD,MAAO,GAGX,MAAM34D,EAAO08M,EAAY,IAAIJ,EAAuC,QAAjB,EArBvD,SAAqB3jJ,GACjB,KAAyB,KAAlBA,EAAKjB,UAAqCiB,EAAKviC,QAClDuiC,EAAOA,EAAKviC,OAGhB,OAAyB,KAAlBuiC,EAAKjB,SAAoC,GAA6BiB,QAAQ5oE,EAgBlC4sN,CAAYhkJ,UAAK,eAAE7L,aAAe,GACrF,GAAIgvB,GAAiBnjB,GACjB,OAAOjtB,EAff,SAAiBn9C,EAAeoI,EAAM,IAClC,OAAIpI,EAAMtC,OAAS0K,EACRpI,EAGJA,EAAMkpC,UAAU,EAAG9gC,GAAO,gBAUjBogC,CAAQ,GAA+B4hC,IAAQ,KAAO,IAAI34D,IAG1E,OAAQ24D,EAAKjB,UACT,KAAK,GACD,MAAO,aAAa+kJ,EAAU9jJ,EAAK51D,YAAY2oC,EAAKitB,EAAKyE,MAAQq/I,EAAU9jJ,EAAKyE,OAAS,OAAOp9D,IAEpG,KAAK,GACD,MAAO,eAAe24D,EAAK4D,QAAQxnD,KAAKxpB,GAAMmgD,EAAK+wK,EAAUlxN,GAAI,OAAMkB,KAAK,QAEhF,KAAK,GACD,MAAO,iBAAiBgwN,EAAU9jJ,EAAKr7D,UAAUouC,EAC7CitB,EAAKyE,MAAQq/I,EAAU9jJ,EAAKyE,OAAS,OACpCp9D,IAET,KAAK,GACD,MAAO,UAAUA,IAErB,KAAK,GACD,MAAO,UAAUy8M,EAAU9jJ,EAAKr7D,UAAU0C,IAE9C,KAAK,GACD,MAAO,aAAay8M,EAAU9jJ,EAAKr7D,UAAU0C,IAEjD,KAAK,GACD,MAAO,eAAe24D,EAAKgI,UAAU5rD,KAAKtjB,GAAMgrN,EAAUhrN,KAAIhF,KAAK,SAASuT,IAEhF,KAAK,EACD,MAAO,aAAa24D,EAAKr7D,KAAOm/M,EAAU9jJ,EAAKr7D,MAAQ,UAAU0C,IAErE,KAAK,GACD,MAAO,cAAc24D,EAAKr7D,KAAOm/M,EAAU9jJ,EAAKr7D,MAAQ,UAAU0C,IAEtE,QACI,MAAO,GpD+xChB,SAA4B/P,GAC/B,OAAQA,GACJ,KAAK,EACD,MAAO,QAEX,KAAK,EACD,MAAO,WAEX,KAAK,EACD,MAAO,SAEX,KAAK,EACD,MAAO,aAEX,KAAK,EACD,MAAO,uBAEX,KAAK,EACD,MAAO,sBAEX,KAAK,EACD,MAAO,QAEX,KAAK,EACD,MAAO,kBAEX,KAAK,EACD,MAAO,QAEX,KAAK,EACD,MAAO,OAEX,KAAK,GACD,MAAO,QAEX,KAAK,GACD,MAAO,WAEX,KAAK,GACD,MAAO,WAEX,KAAK,GACD,MAAO,YAEX,KAAK,GACD,MAAO,MAEX,KAAK,GACD,MAAO,aAEX,KAAK,GACD,MAAO,wBAEX,KAAK,GACD,MAAO,qBAEX,KAAK,GACD,MAAO,WAEX,KAAK,GACD,MAAO,KAEX,KAAK,GACD,MAAO,SAEX,KAAK,GACD,MAAO,WAEX,KAAK,GACD,MAAO,aAEX,KAAK,GACD,MAAO,eAEX,KAAK,GACD,MAAO,QAEX,KAAK,GACD,MAAO,SAEX,KAAK,GACD,MAAO,MAEX,KAAK,GACD,MAAO,eAEX,KAAK,GACD,MAAO,WAEX,KAAK,GACD,MAAO,SAEX,KAAK,GACD,MAAO,SAEX,KAAK,GACD,MAAO,OAEX,KAAK,GACD,MAAO,oBAEX,KAAK,GACD,MAAO,uBAEX,KAAK,GACD,MAAO,sBAEX,KAAK,GACD,MAAO,eAEX,KAAK,GACD,MAAO,SAEX,KAAK,GACD,MAAO,aAEX,KAAK,GACD,MAAO,OAEX,KAAK,GACD,MAAO,WAEX,KAAK,GACD,MAAO,SAEX,KAAK,GACD,MAAO,YAEX,KAAK,GACD,MAAO,OAEX,KAAK,GACD,MAAO,QAEX,KAAK,GACD,MAAO,SAEX,KAAK,GACD,MAAO,MAEX,KAAK,GACD,MAAO,QAEX,KAAK,GACD,MAAO,gBAEX,KAAK,GACD,MAAO,aAEX,KAAK,GACD,MAAO,SAEX,KAAK,GACD,MAAO,QAEX,KAAK,GACD,MAAO,UAEX,KAAK,GACD,MAAO,QAEX,KAAK,GACD,MAAO,MAEX,KAAK,GACD,MAAO,iBAEX,KAAK,GACD,MAAO,iBAEX,KAAK,GACD,MAAO,SAEX,KAAK,GACD,MAAO,QAEX,KAAK,GACD,MAAO,OAEX,KAAK,GACD,MAAO,WAEX,KAAK,GACD,MAAO,QAEX,KAAK,GACD,MAAO,YAEX,KAAK,GACD,MAAO,qBAEX,KAAK,GACD,MAAO,QAEX,KAAK,GACD,MAAO,OAEX,KAAK,GACD,MAAO,kBAEX,KAAK,GACD,MAAO,YAEX,KAAK,GACD,MAAO,iBAEX,KAAK,GACD,MAAO,eAEX,KAAK,GACD,MAAO,iBAEX,KAAK,GACD,MAAO,iBAEX,KAAK,GACD,MAAO,yBAEX,KAAK,GACD,MAAO,4BAEX,KAAK,GACD,MAAO,eAEX,KAAK,GACD,MAAO,uBAGfmzD,EAAYnzD,GoDngDU,CAAkC0oE,EAAKjB,aAAa13D,KA2C1E,MAAO,CACHq3D,MAzBJ,SAAeh0D,GACX,OAAKA,EAhBT,SAAgBA,GAEZ,OADUA,GACEg5C,EADFh5C,EACaq0D,UAkBnBklJ,CAAOv5M,GACAo5M,EAAUp5M,GAAiB,GAhB1C,SAAuBA,GACnB,MAAM7D,EAAI6D,EACV,OAAO7D,GAAK68C,EAAS78C,EAAEvP,OAASivD,EAAS1/C,EAAEQ,OAASk/C,EAAS1/C,EAAEy8D,YAiB3D4gJ,CAAcx5M,GACPm5M,EAAiBn5M,GAGxBA,aAAa,IAvIAuoE,EAwIMvoE,GAtIfuoE,EAAOw+B,kBACA,UAAUoyG,EAAiB5wI,EAAOy+B,kBAAkB,MAGxD,WAGJ,GA4GX,SAAgBhnG,GACZ,MAAMm6C,EAAIn6C,EACV,OAAOm6C,GAAKnB,EAASmB,EAAE+R,WAAalT,EAASmB,EAAE2c,OAoB3C2iJ,CAAOz5M,GACAiiH,EAAUjiH,QAGrB+/C,EAAY//C,GAnBD,GA5Hf,IAAqBuoE,GAoJjB0wI,sBAAuBA,GCxMxB,SAASS,GAAiBC,GAC7B,QAAUA,EAA8BD,iBA2BrC,MAAME,GAAb,cACY,KAAAC,yBAAiD,GACjD,KAAAC,sBAAwB,IAAIpuM,IAEpCquM,wBAAwBC,EAAgCC,GACpDrsN,KAAKisN,yBAAyB5wN,KAAK,CAC/B+wN,sBACAE,cAAe,GACfD,wBAIRE,0BACIz6J,EAAO9xD,KAAKisN,yBAAyBjxN,OAAS,GAC9BgF,KAAKisN,yBAAyBhyK,MAIrCqyK,cAAchnM,SAASm0C,IAC5BA,EAAM0d,MAAMv0D,OAAO62C,EAAM78C,OAIjC4vM,cAAc9kJ,GACV,GAA6C,IAAzC1nE,KAAKisN,yBAAyBjxN,OAC9B,OAAO,EAGX,IAAK0sE,EACD,OAAO,EAGX,IAAK,IAAIptE,EAAI0F,KAAKisN,yBAAyBjxN,OAAS,EAAGV,GAAK,EAAGA,IAC3D,GAAI,GAAqCotE,EAAM1nE,KAAKisN,yBAAyB3xN,GAAG8xN,qBAC5E,OAAO,EAIf,OAAO,EAGXK,WAAWt1I,EAAkBv6D,GACzB,MAAM8vM,EAAY1sN,KAAKisN,yBAAyBjxN,OAC5C0xN,EAAY,GACZ1sN,KAAKisN,yBAAyBS,EAAY,GAAGJ,cAAcjxN,KAAK,CAC5D87E,QACAv6D,OAQZ+vM,yBACI,MAAMrgN,EAAQtM,KAAKisN,yBAEnB,OADAjsN,KAAKisN,yBAA2B,GACzB3/M,EAGXsgN,sBAAsBtgN,GAClBwlD,EAAgD,IAAzC9xD,KAAKisN,yBAAyBjxN,QACrCgF,KAAKisN,yBAA2B3/M,EAGpCugN,mBAAmBnlJ,EAAiB1oE,EAAY+gN,GAE5C,GADAjuJ,EAAO9xD,KAAKisN,yBAAyBjxN,OAAS,GAC1CgF,KAAKisN,yBAAyBx9J,MAAMx7C,IAAaA,EAAQo5M,sBACzD,OAGJ,IAAIS,EAAe9sN,KAAKksN,sBAAsB3nN,IAAImjE,EAAK9qD,IAClDkwM,IACDA,EAAe,GACf9sN,KAAKksN,sBAAsB/mN,IAAIuiE,EAAK9qD,GAAIkwM,IAE5CA,EAAazxN,KAAK,CAAE2D,OAAM+gN,iBAG9BgN,mBAAmBrlJ,EAAiBq4I,GAChC,GACI//M,KAAKisN,yBAAyBx9J,MAAMx7C,GAChC,GAAqCy0D,EAAMz0D,EAAQm5M,uBAEzD,CACE,MAAMxjM,EAAU5oB,KAAKksN,sBAAsB3nN,IAAImjE,EAAK9qD,IACpD,GAAIgM,EACA,IAAK,MAAM6wC,KAAS7wC,EAChB,GAAKm3L,GAIE,GAAItmJ,EAAMsmJ,cAAgB34G,GAAW24G,EAActmJ,EAAMsmJ,cAC5D,OAAOtmJ,EAAMz6D,UAJb,IAAKy6D,EAAMsmJ,aACP,OAAOtmJ,EAAMz6D,OAkBlC,MAAMguN,GAAb,cACY,KAAAC,cAAoC,GACpC,KAAAC,wBAAyB,EAEjCT,WAAWt1I,EAAkBv6D,GACrB5c,KAAKktN,wBACcltN,KAAKitN,cAAcjtN,KAAKitN,cAAcjyN,OAAS,GACvDK,KAAK,CACZ87E,QACAv6D,OAMZuwM,qBACIntN,KAAKitN,cAAc5xN,KAAK,IAK5B+xN,oBACuBptN,KAAKitN,cAAchzK,MAC3B30B,SAASm0C,IAChBA,EAAM0d,MAAMv0D,OAAO62C,EAAM78C,OAKK,IAA9B5c,KAAKitN,cAAcjyN,SACnBgF,KAAKktN,wBAAyB,GAItCG,qBAIQrtN,KAAKitN,cAAcjyN,OAAS,IAC5BgF,KAAKktN,wBAAyB,GAItCI,wBACI,OAAOttN,KAAKktN,wBCrLb,SAASK,GACZz7F,EACA8yB,EACAj3D,EACA6/H,G,UAEA,MAAMhlJ,EAAW,GAAYo8E,GAC7B,IAAIl1D,EAAY,aAEhB,GAAuB,IAAnB/B,EAAQ3yF,OACR82H,EAAU2D,SAAS7D,GAAUv4F,WAAW4tG,qBAAsB2d,OAC3D,CACH,MAAM6oE,EAAU9/H,EAAQ,GACS,IAA7B8/H,EAAQ7mJ,iBACRkrD,EAAU2D,SAAS7D,GAAUv4F,WAAW4tG,qBAAsBt5C,EAAQ,GAAG7mB,iBAAmB89E,GACrF6oE,EAAQ3mJ,iBAAwD,KAArC2mJ,EAAQ3mJ,gBAAgBL,WAC1DipB,EAAY+9H,EAAQ3mJ,gBAAgBI,QAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,KAM7E,MAAMkyN,EAAc//H,EAAQpiB,MAAMtuE,IAAO,MAAC,MAAoB,cAAZ,QAAR,EAAAA,EAAIoP,YAAI,eAAE/O,UACpD,IAAIqwN,EAAsC,EAC1C,GAAID,GAAeA,EAAY5mJ,gBAAiB,CAC5C,MAAM8mJ,EAAkB97F,EAAU8D,oBAAoB83F,EAAY5mJ,iBAAiB9nE,KAO/E2uN,EALAxnH,GAAgBynH,IAChBz8G,GAAay8G,KACZhuG,GAAsBguG,IACvBA,EAAgB7lH,mBAEE6lH,EAAgB7lH,mBAAmB/sG,YAEnC8D,EAI1B,MAAM+uN,EAAiB/7F,EAAUg6E,cAAclnD,EAAW,eAAiBlgD,GAAYvyF,SAEjF87F,EAAYrJ,GAAU6J,mBACxB/e,EACA,GAAgCk1D,EAAWp8E,EAASwC,WAAY0kB,GAChElnB,EAASwC,WACTxC,EAAS3M,SAAQ,SAEjB,GAA+B+oF,QACP9lJ,EACxBonG,GAAoB2nH,GAAkBA,EAAetnH,QAAQmI,mBAAqBhK,GAAYvyF,UAElG87F,EAAU1H,QAAQgI,YAAYlzG,KAAKwyN,GACnC5/G,EAAU1H,QAAQyG,eAAiB8kB,EAAUa,kBAAkBiyB,GAE/D,MAAMkpE,EAAc7/G,EAAU1H,QAAQiE,OACtCsjH,EAAY3oN,IACR,YACA,kBAAsB,GAA+D8oG,IAGzF,MAAM8/G,EAAe5tG,GAA4BlS,GAA4B,GACvE+/G,EAAkBnpH,GAAakN,eACjC,UACA,GACA,GACA,IAEJi8G,EAAgBznH,QAAQ2C,mBAAqBuV,GAAkBsvG,GtD0nC5D,SAAmDx0H,G,QACtD,GAC0B,IAAtBA,EAAS9yB,WACR8yB,EAASp0D,QACmB,IAA7Bo0D,EAASp0D,OAAOshC,UAC4B,KAA5C8yB,EAASp0D,OAAOuhC,eAAeD,WAC9B8yB,EAASp0D,OAAOA,QACmB,KAApCo0D,EAASp0D,OAAOA,OAAOshC,SAEvB,OAAO,EAGX,MAAMwnJ,EAAyB10H,EAASp0D,OAAOuhC,eAAeppE,MACxDs7F,EAAgBW,EAASp0D,OAAOA,OACtC,GACIyzD,EAAcnuB,WAAW,KAAO8uB,EAASp0D,SACxCyzD,EAAczzD,QAEuB,KAAlCyzD,EAAczzD,OAAOshC,UACa,KAAlCmyB,EAAczzD,OAAOshC,SAGzB,OAAO,EAGX,MAAMynJ,EAAgBt1H,EAAczzD,OACpC,IAAIgpL,EAAiBD,EAAczjJ,WAAW8kB,WAAW/gF,GAAMA,IAAMoqF,IAErE,GAAIu1H,EAAiB,EACjB,OAAO,EAIX,IAFAA,IAEOA,EAAiBD,EAAczjJ,WAAWzvE,QAAQ,CACrD,MAAMwoM,EAAgB0qB,EAAczjJ,WAAW0jJ,GAC/C,GAA+B,KAA3B3qB,EAAc/8H,SACd,MAGJ,GAAyC,MAAV,QAA3B,EAAA+8H,EAAc/4H,WAAW,UAAE,eAAEhE,UAAjC,CAMA,GAAyC,KAAV,QAA3B,EAAA+8H,EAAc/4H,WAAW,UAAE,eAAEhE,UAAuC,CACpE,MAAM2nJ,EAAa5qB,EAAc/4H,WAAW,GAC5C,GAC2C,KAAvC2jJ,EAAW1nJ,eAAeD,UACqB,iBAA/C2nJ,EAAW1nJ,eAAeW,WAAW/pE,MACvC,CACE,MAAM+wN,EAAgBD,EAAW1nJ,eAAeA,eAChD,GAC+B,KAA3B2nJ,EAAc5nJ,UACqB,YAAnC4nJ,EAAchnJ,WAAW/pE,OACiB,KAA1C+wN,EAAc3nJ,eAAeD,UAC7B4nJ,EAAc3nJ,eAAeppE,QAAU2wN,EAEvC,OAAO,GAKnB,MAtBIE,IAyBR,OAAO,EsD3rCH,CAAyDvpE,KACzDopE,EAAgBznH,QAAQr9B,OAAS,IAErC27B,GAAa6O,aAAas6G,EAAiB,CACvC1vJ,SAAU,EACVjyD,KAAM,MACNrN,KAAM+uN,EACN/6G,iBAAiB,IAGrB,MAAMs7G,EAA2B,GAE3BC,EAAmC,CACrCjwJ,SAAU,EACVjyD,KAAM,OACNrN,KAAMmhH,GAA4BlS,GAA4B,GAC9D+E,iBAAiB,GAGrB,IAAIw7G,GAAyB,EAC7B,MAAM1f,EAAqB,GAE3B,GAAInhH,EAAQ3yF,OAAS,EACjB82H,EAAU2D,SAAS7D,GAAUv4F,WAAWiuG,sBAAuBsd,GAC/D4pE,GAAyB,MACtB,CACH,MAAMC,EAAa9gI,EAAQ,GAC3B,GAAoC,IAAhC8gI,EAAW7nJ,iBACX4nJ,GAAyB,OAEzB,IACKhB,GACDiB,EAAW3nJ,iBAC6B,KAAxC2nJ,EAAW3nJ,gBAAgBL,SAC7B,CACE,MAAM79C,EAAU6lM,EAAW3nJ,gBAAgBI,QACtCpjD,KAAKtV,GAAMA,EAAElR,QACb9B,KAAK,IACL+R,MAAM,UACLmhN,OACkB5vN,IAApB6uN,EAAgC,EAAI7qN,KAAK4C,IAAI,EAAGkjB,EAAQ5tB,OAAS2yN,GACrE/kM,EAAQtD,SAAQ,CAAC0wG,EAAW7rG,KAExB,GADA6rG,EAAYA,EAAUpwH,OACP,CACX,MAAM4lM,EAAY9mG,GAAYvyF,SACxB+gG,EAA+B,CACjC50C,SAAU,EACVjyD,KAAM2pH,EACNh3H,KAAMwsM,EACNx4F,gBAAiBw6G,EACjB16G,WAAY3oF,GAASukM,GAGzB7pH,GAAa6O,aAAas6G,EAAiB96G,GAC3C,MAAMwE,EAAY,kBAAsB,EAA4B8zF,GACpE8iB,EAAejzN,KAAK26H,GAMpB,MAAMyrB,EAAagtE,EAAW3nJ,gBACxBkB,EAAmC,CACrChpE,KAAM,EACN0oE,KAAM+5E,EACNktE,yBAAyB,EACzB5/M,KAAMy5D,EAAS3M,SACfpvD,MAAO84D,GACHk8E,EAAW3lJ,MACX0oE,GAAUmB,OAAO87E,GACjBj5E,EAAShhB,OAEbwjB,WAAYxC,EAASwC,WACrBuxB,iBAAiB,GAErBmb,EAAUoB,eAAe9wC,GACzB8lJ,EAAY3oN,IAAI6wH,EAAWte,GAC3Bo3F,EAAWzzM,KAAKmwM,YAGrB,GACiC,MAAV,QAA1B,EAAAijB,EAAW3nJ,uBAAe,eAAEL,WACQ,MAAV,QAA1B,EAAAgoJ,EAAW3nJ,uBAAe,eAAEL,UAC9B,CACE,MAAMmoJ,EAAYH,EAAW3nJ,gBACvB+nJ,EAAW,IAAI/wM,IACfgxM,EACkC,MAAV,QAA1B,EAAAL,EAAW3nJ,uBAAe,eAAEL,UACtBgoJ,EAAW3nJ,gBAAgBl+C,QAC3B6lM,EAAW3nJ,gBAAgB4B,YAE/BgmJ,OACkB5vN,IAApB6uN,EAAgC,EAAI7qN,KAAK4C,IAAI,EAAGopN,EAAiB9zN,OAAS2yN,GAE9EmB,EAAiBxpM,SAAQ,CAACm0C,EAAOtvC,KAC7B,IAAI4kM,EACAvjB,EACAwjB,EACAh5F,EAAY,GAEZw3F,EAEuB,KAAnB/zJ,EAAMgN,UAAiE,IAA7BhN,EAAMiP,YAAY1tE,QAC5Dg0N,EAAgBv1J,EAAMiP,YAAY,GAClCqmJ,EAAgBt1J,EAAMiP,YAAY,GAClC8iI,EAAY/sF,GACRqT,EAAUm9F,kCAAkCF,GAAgC,GAAO/vN,OAGvF8yH,EAAU2D,SAAS7D,GAAUv4F,WAAW8tG,qBAAsB1tE,IAGlEu1J,EAAgBv1J,EAChB+xI,EAAY9mG,GAAYvyF,UAGxB68M,GAA4C,KAA3BA,EAAcvoJ,UAC/BuvD,EAAYg5F,EAAc9nJ,QAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,IACtDw6H,GACDlE,EAAU2D,SAAS7D,GAAUv4F,WAAW2tG,sBAAuBgoF,IAGnER,GAAyB,EAGxBx4F,IACDA,EAAY,IAAI7rG,EAAM3qB,cAGtBqvN,EAASzqM,IAAI4xG,IACblE,EAAU2D,SAAS7D,GAAUv4F,WAAW+tG,uBAAwB4nF,GAAiBv1J,GAIrFo1J,EAAS1pN,IAAI6wH,EAAWA,GAEnBw1E,IACDA,EAAY9mG,GAAYvyF,UAG5B,MAAM+gG,EAA+B,CACjC50C,SAAU,EACVjyD,KAAM2pH,EACNh3H,KAAMwsM,EACNx4F,gBAAiBw6G,EACjB16G,WAAY3oF,GAASukM,GAGzB7pH,GAAa6O,aAAas6G,EAAiB96G,GAC3C47F,EAAWzzM,KAAKmwM,GAChB8iB,EAAejzN,KAAK26H,GAEpB,MAAMte,EAAY,kBAAsB,EAA4B8zF,GACpE,GAAIwjB,GAA4C,KAA3BA,EAAcvoJ,SAAuC,CACtE,MAAMuB,EAAmC,CACrChpE,KAAM,EACN0oE,KAAMsnJ,EACNjgN,KAAMy5D,EAAS3M,SACfu/B,mBAAoB2zH,EACpBtiN,MAAO84D,GACHypJ,EAAclzN,MACd0oE,GAAUmB,OAAOqpJ,GACjBxmJ,EAAShhB,OAEbwjB,WAAYxC,EAASwC,WACrBuxB,iBAAiB,GAErBmb,EAAUoB,eAAe9wC,GAE7B8lJ,EAAY3oN,IAAI6wH,EAAWte,MAK/Boa,EAAUo9F,eAAeN,QAIzBJ,GAAyB,EAKjCA,IACAR,EAAgBznH,QAAQljE,WAAa,GACrCwhE,GAAa0O,qBAAqBy6G,GAClClf,EAAWzzM,KAAK4pG,GAAQ9yF,QAAwB,IAChD28L,EAAWzzM,KAAK4pG,GAAQ9yF,QAAwB,KAOpD,MAAM4/G,EAAWltB,GAAakN,eAC1B,WACA,GACA,GACA,KAEJlN,GAAa6O,aAAaqe,EAAUw8F,GACpC1pH,GAAa0O,qBAAqBwe,GAClCA,EAASxrB,QAAQ2C,mBAAqBnE,GAASgN,iBAE/C+7G,EAAY3oN,IAAI,UAAW,kBAAsB,EAAyB6oN,IAC1EF,EAAY3oN,IAAI,WAAY,kBAAsB,EAAyB4sH,IAE3E,MAAMo9F,EAAetqH,GAAakN,eAAe,OAAQ,GAAI,GAAI,IAC3Dq9G,EAAgBvqH,GAAakN,eAAe,QAAS,GAAI,GAAI,IACnEo9G,EAAa5oH,QAAQ2C,mBAAqB4oB,EAAUy4E,iBAAiB3lD,EAAW,OAAQ,CACpF9yB,EAAUy4E,iBAAiB3lD,EAAW,SAE1CwqE,EAAc7oH,QAAQ2C,mBAAqBimH,EAAa5oH,QAAQ2C,mBAChE4kH,EAAY3oN,IAAI,OAAQ,kBAAsB,EAA4BgqN,IAC1ErB,EAAY3oN,IAAI,QAAS,kBAAsB,EAA4BiqN,IAE3E,MAAMC,EAAUxqH,GAAakN,eAAe,UAAW,GAAI,GAAI,IAK/D,GAJAs9G,EAAQ9oH,QAAQ2C,mBAAqB4oB,EAAUy4E,iBAAiB3lD,EAAW,OAC3E//C,GAAa6O,aAAa27G,EAASd,GACnCT,EAAY3oN,IAAI,UAAW,kBAAsB,EAAyBkqN,IAEtEb,EAAwB,CACxB,MAAMc,EAAgBzqH,GAAakN,eAC/B,mBACA,GACA,GAAE,IAGNu9G,EAAc/oH,QAAQ2C,mBAAqBjE,GAAQ9yF,SACnD0yF,GAAa6O,aAAa47G,EAAef,GACzC1pH,GAAa6O,aAAa47G,EAAe,CACrChxJ,SAAU,EACVjyD,KAAM,OACNrN,KAAM8yH,EAAUy4E,iBAAiB3lD,EAAW,SAEhDkpE,EAAY3oN,IAAI,mBAAoB,kBAAsB,EAAyBmqN,IAGvF,MAAM3jB,EAAiB75E,EAAUI,eAAe0yB,EAAW,SAGrDpxB,EAAU1B,EAAUI,eAAe0yB,EAAW,OACpD,IACK4pE,GACDh7F,GACAttB,GAAoBstB,IACpBm4E,GACAzlG,GAAoBylG,GACtB,CACE,MAAM4jB,EAAoCjB,EAAexqM,KAAKzX,IACnD,CAAErN,KAAM4lG,GAAUgK,gBAAgBhK,GAAUyH,iBAAiBmnB,EAASnnH,IAAQ67F,aAAa,MAEhGmmG,EAAgBzpG,GAAUgK,gBAAgBqV,GAAqB0nF,EAAgB4jB,IACrFzB,EAAY3oN,IAAI,iBAAkB,kBAAsB,EAAyBkpM,IAOrF,OAJAppF,GAAwBhX,GAExBuhH,GAA0BvhH,EAAW6gG,GAAa0f,GAE3CvgH,EAGJ,SAASuhH,GAA0BvhH,EAAsBf,EAAkB6B,GAE9E,MAAM0gH,EAAkBxhH,EAAU1H,QAAQoI,IAAIpf,WACzC7sF,GAAMwjG,GAAoBxjG,IAAMkiG,GAAUqH,UAAUvpG,EAAG,gBAE5D,GAAI+sN,EAAkB,GAAKxhH,EAAU1H,QAAQoI,IAAI3zG,OAASy0N,EAAkB,EACxE,OAGJ,MAAMC,EAAkBzhH,EAAU1H,QAAQoI,IAAI8gH,GACxCE,EAAkB1hH,EAAU1H,QAAQoI,IAAI8gH,EAAkB,GAEhE,IAAKvpH,GAAoBypH,KAAqBx+G,GAAaw+G,GACvD,OAGJ,MAAMC,EAAqC,GAEtC7gH,EAMD7B,EAAS5nF,SAASinC,IACdqjK,EAAcv0N,KAAK,CAAE2D,KAAMutD,EAAG27C,aAAa,OAN/C0nH,EAAcv0N,KAAK,CACf2D,KAAMkuG,EAASlyG,OAAS,EAAIgwG,GAAakC,GAAYxI,GAAYvyF,SACjE+1F,aAAa,IAQrB,MAAM2nH,EAAoB5rG,GAAqB0rG,EAAiBC,EAAe7gH,GAIzE+gH,EAAwBlrH,GAAUkK,uBAAuB4gH,EAAiB,GAAI3gH,GACpF+gH,EAAsBvpH,QAAU,IAAKupH,EAAsBvpH,SAC3DupH,EAAsBvpH,QAAQoI,IAAM,IAAImhH,EAAsBvpH,QAAQoI,KACtEmhH,EAAsBvpH,QAAQoI,IAAI,GAAKkhH,EAAkBtpH,QAAQoI,IAAI,GAErEmhH,EAAsBvpH,QAAQgI,YAAcuhH,EAAsBvpH,QAAQgI,YAAYzqF,KAAKytF,GACnFrL,GAAoBqL,IAAcJ,GAAaI,GACxCs+G,EAEJt+G,IAGXtD,EAAU1H,QAAQoI,IAAI8gH,GAAmBK,EACzC7hH,EAAU1H,QAAQoI,IAAI8gH,EAAkB,GAAKI,EAE7C5hH,EAAU1H,QAAQgI,YAAcN,EAAU1H,QAAQgI,YAAYzqF,KAAKytF,GAC3DrL,GAAoBqL,IAAc3M,GAAUqH,UAAUsF,EAAW,cAC1Du+G,EAEJv+G,IC+LR,SAASw+G,GACZj+F,EACApqD,GAEA,MAAMsoJ,EAAgC,CAClCC,mBAAmB,EACnBC,YAAY,EACZC,eAAe,EACfC,0BAA0B,EAC1BC,qBAAsB,IAGpB7nJ,EAAW,GAA6Bd,GA8G9C,OA3GAA,EAAKhoE,UAAU4lB,SAASroB,IACpB,GAAKA,EAAIoP,MAAiC,IAAzBpP,EAAI2pE,iBAKrB,OAAQ3pE,EAAIoP,KAAK/O,OACb,IAAK,kBAAmB,CACpB,MAAMA,EAAQs0L,GAA6B30L,EAAI6pE,gBAAiB0B,EAASqwH,sBACzE,QAAc/5L,IAAVxB,EAKA,YAJAw0H,EAAU2D,SACN7D,GAAUv4F,WAAWsjG,wCACrB1/H,EAAI6pE,iBAKZkpJ,EAAUC,kBAAoB3yN,EAC9B,MAGJ,IAAK,aAAc,CACf,MAAMA,EAAQs0L,GAA6B30L,EAAI6pE,gBAAiB0B,EAASqwH,sBACzE,QAAc/5L,IAAVxB,EAKA,YAJAw0H,EAAU2D,SACN7D,GAAUv4F,WAAWsjG,wCACrB1/H,EAAI6pE,iBAKZkpJ,EAAUE,WAAa5yN,EACvB,MAGJ,IAAK,gBAAiB,CAClB,MAAMA,EAAQs0L,GAA6B30L,EAAI6pE,gBAAiB0B,EAASqwH,sBACzE,QAAc/5L,IAAVxB,EAKA,YAJAw0H,EAAU2D,SACN7D,GAAUv4F,WAAWsjG,wCACrB1/H,EAAI6pE,iBAKZkpJ,EAAUG,cAAgB7yN,EAC1B,MAGJ,IAAK,6BAA8B,CAC/B,MAAMA,EAAQs0L,GAA6B30L,EAAI6pE,gBAAiB0B,EAASqwH,sBACzE,QAAc/5L,IAAVxB,EAKA,YAJAw0H,EAAU2D,SACN7D,GAAUv4F,WAAWsjG,wCACrB1/H,EAAI6pE,iBAKZkpJ,EAAUI,yBAA2B9yN,EACrC,MAGJ,IAAK,oBAAqB,CACtB,MAAMypD,EAAY+qE,EAAU8D,oBAAoB34H,EAAI6pE,iBAAiB9nE,KACrE,IACKmnG,GAAgBp/C,KAChB69C,GAAUqH,UAAUllD,EAAW,WAC/BA,EAAUghD,oBACXhhD,EAAUghD,mBAAmBt5C,MACxBgL,IACIysC,GAAoBzsC,EAAMz6D,QAC1B8nG,GAAWrtC,EAAMz6D,QACjB+nG,GAAqBttC,EAAMz6D,QASpC,YANA8yH,EAAU2D,SACN7D,GAAUv4F,WAAWujG,oCAAoCvrH,OAAO,CAC5DrS,KAAM8yH,EAAUuC,UAAUttE,KAE9B9pD,EAAI6pE,iBAKPkpJ,EAAUK,uBACXL,EAAUK,qBAAuB,IAErCtpK,EAAUghD,mBAAmBziF,SAASroB,IAC9BipG,GAAoBjpG,EAAI+B,OAAS8nG,GAAW7pG,EAAI+B,MAChDgxN,EAAUK,qBAAqBh1N,KAAK4B,EAAI+B,KAAKunG,QAAQwG,UAC9ChG,GAAqB9pG,EAAI+B,OAChCgxN,EAAUK,qBAAqBh1N,KAAK4B,EAAI+B,KAAKuqG,UAAU,GAAGhD,QAAQwG,aAG1E,MAGJ,QACI+kB,EAAU2D,SACN7D,GAAUv4F,WAAWyjG,oCAAoCzrH,OAAO,CAAEhF,KAAMpP,EAAIoP,KAAK/O,QACjFL,EAAI6pE,sBAnGZgrD,EAAU2D,SAAS7D,GAAUv4F,WAAWwjG,oCAAqC5/H,MAyG9E+yN,EAGJ,SAASM,GAA+BtxN,GAC3C,IAAIw0G,EAOJ,GANI1M,GAAW9nG,GACXw0G,EAAex0G,EACR+nG,GAAqB/nG,KAC5Bw0G,EAAex0G,EAAKuqG,UAAU,IAG7BiK,EAIL,OAAIA,EAAajN,QAAQgqH,4BACd/8G,EAAajN,QAAQgqH,4BAIM,0BAAlC/8G,EAAajN,QAAQwG,SACd,CACHkjH,mBAAmB,EACnBC,YAAY,EACZC,eAAe,EACfC,0BAA0B,EAC1BC,qBAAsB,CAAC,oBAAqB,2BANpD,EA0HG,SAASG,GACZ1+F,EACA7jB,EACA72F,GAEAA,EAAKkO,SAASroB,IACNA,EAAI6pE,iBAAmB7pE,EAAIoP,MAnHvC,SACIylH,EACA8yB,EACA32C,EACAyhD,EACA+gE,GAEA,MAAMjoJ,EAAW,GAA6Bo8E,GACxCtnJ,EAAQs0L,GAA6B6+B,EAAUjoJ,EAASqwH,sBAE9D,OAAQnpC,GACJ,IAAK,SACa,IAAVpyJ,EACA2wG,EAAU1H,QAAQr9B,OAAS,IACV,IAAV5rE,IACP2wG,EAAU1H,QAAQr9B,QAAS,IAE/B,MAEJ,IAAK,WACa,IAAV5rE,EACA2wG,EAAU1H,QAAQr9B,QAAS,SACV,IAAV5rE,IACP2wG,EAAU1H,QAAQr9B,OAAS,SAE/B,MAEJ,IAAK,SAAU,CACX,IAAIwnJ,GAAuB,EACvBC,GAAqB,EAEzB1iH,EAAU1H,QAAQgI,YAAYjpF,SAASisF,IAC/BrL,GAAoBqL,IAAc3M,GAAUkL,YAAYyB,KACpD3M,GAAUqL,kBAAkBsB,GAC5Bo/G,GAAqB,EAEpBp/G,EAAUhL,QAAQqqH,yBAEfr/G,EAAUhL,QAAQiI,mBAClBtI,GAAoBqL,EAAUhL,QAAQiI,oBACpC+C,EAAUhL,QAAQiI,kBAAkBjI,QAAQqqH,0BAMlDF,GAAuB,SAKrB,IAAVpzN,GAAkBqzN,KAClB1iH,EAAU1H,QAAQr9B,OAAS,EAGvBwnJ,GACA5+F,EAAUyC,cACN/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWijG,8BACrBsoB,IAIZ,MAGJ,IAAK,QACa,IAAVtnJ,EACA2wG,EAAU1H,QAAQr9B,OAAS,IACV,IAAV5rE,IACP2wG,EAAU1H,QAAQr9B,QAAS,IAE/B,MAEJ,IAAK,MACa,IAAV5rE,EACA2wG,EAAU1H,QAAQr9B,OAAS,IACV,IAAV5rE,IACP2wG,EAAU1H,QAAQr9B,QAAS,IAE/B,MAEJ,IAAK,SACa,IAAV5rE,GACA2wG,EAAU1H,QAAQr9B,OAAS,SAEvB+kC,EAAU1H,QAAQq2G,iBAClB9qF,EAAUyC,cACN/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWqjG,0BACrBkoB,KAGS,IAAVtnJ,IACP2wG,EAAU1H,QAAQr9B,QAAS,UAE/B,MAEJ,IAAK,OACL,IAAK,eACa,IAAV5rE,IACA2wG,EAAU1H,QAAQr9B,OAAS,WAa/B2nJ,CAA+B/+F,EAAW70H,EAAIoP,KAAM4hG,EAAWhxG,EAAIoP,KAAK/O,MAAOL,EAAI6pE,oBAKxF,SAASgqJ,GAA+B7iH,EAAsB8iH,GACjE9iH,EAAU1H,QAAQyqH,mBAAqBD,EACvC9iH,EAAU1H,QAAQr9B,OAAS,EAEvB6nJ,EAAiBd,oBACjBhiH,EAAU1H,QAAQr9B,OAAS,SAG1B6nJ,EAAiBb,aAClBjiH,EAAU1H,QAAQr9B,OAAS,IAG3B6nJ,EAAiBZ,gBACjBliH,EAAU1H,QAAQr9B,OAAS,IAI5B,SAAS+nJ,GACZn/F,EACA7jB,EACA8iH,EACAx3H,GAEAu3H,GAA+B7iH,EAAW8iH,IAEtCx3H,aAAQ,EAARA,EAAU75F,YACV8wN,GAAqC1+F,EAAW7jB,EAAW1U,EAAS75F,WCn4BrE,SAASwxN,GACZp/F,EACA8yB,EACAj3D,EACA6lB,EACAxzF,GAEA,OAAI8mF,GAAW0M,IAC2B,6BAAlCA,EAAajN,QAAQwG,SASjC,SACI+kB,EACA8yB,EACAj3D,EACA3tE,GAEA,GAAuB,IAAnB2tE,EAAQ3yF,OACR,OAAOglB,EAIX,MAAMiuF,EAAYtgB,EAAQ,GAAG3uF,KAC7B,IAAKivG,IAAc/H,GAAoB+H,IAAcA,EAAUY,kBAC3D,OAAO7uF,EAGX,MAAMmxM,EAAkB,CAAC,SAAU,SAAU,SAAU,UACjDxI,EAAe/jH,GAAUgK,gBAAgBX,GAGzCmjH,EAAiBD,EAAgBtoK,QAAQg2J,IACnCj+F,GAAmB+nG,EAAc9J,EAAY,KAGzD,GAAIuS,EAAep2N,SAAWm2N,EAAgBn2N,OAO1C,OANA82H,EAAUyC,cACN,GAAYqwB,GAAWpwB,kBAAkBC,wBACzC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWw1G,6BACrB+V,GAEG5kI,EAGX,MAAMguF,EAAa8jB,EAAUy4E,iBAAiB3lD,EAAW,UACzD,IAAK52C,IAAe7H,GAAgB6H,GAChC,OAAOhuF,EAGX,MAAMqxM,EAAWv/F,EAAUy4E,iBAAiB3lD,EAAW,QACvD,IAAKysE,IAAalrH,GAAgBkrH,GAC9B,OAAOrxM,EAGX,MAAMmyG,EAA+B,CACjC7zD,SAAU,EACVjyD,KAAM,OACNrN,KAAMmhH,GAA4BlS,GAA4B,GAC9D+E,iBAAiB,GAGfs+G,EAA8B,CAChChzJ,SAAU,EACVjyD,KAAM,UACNrN,KAAMgvG,EACNgF,iBAAiB,GAarB,OATAo+G,EAAe9rM,SAASu5L,IACpB,MAAM0S,EAAc1sH,GAAakN,eAAe8sG,EAAY,GAAI,GAAI,IACpEh6G,GAAa6O,aAAa69G,EAAap/F,GACvCttB,GAAa6O,aAAa69G,EAAaD,GACvCC,EAAYhrH,QAAQ2C,mBAAqBmoH,EAEzCpjH,EAAU1H,QAAQiE,OAAOrlG,IAAI05M,EAAY,kBAAsB,EAAyB0S,OAGrFvxM,EA5EQwxM,CAA4B1/F,EAAW8yB,EAAWj3D,EAAS3tE,GAKnEA,ECLJ,SAASyxM,GAAuB3/F,EAA0BlyG,EAAsBglI,GAC/E//C,GAAamP,eAAep0F,IAC5BkyG,EAAUyC,cACN,GAAYqwB,GAAWpwB,kBAAkBC,wBACzC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWoyG,uBACrBmZ,GAKL,SAAS8sE,GACZ5/F,EACAkyD,EACA2tC,EACAC,GAEA,MAAMppJ,EAAW,GAAYw7G,GACvB6tC,EAAgB//F,EAAUI,eAAe8xD,EAAe,QACxD11E,EAAe1J,GAAUqH,UAAU0lH,EAAe,YAClDz7H,GAAgB8tF,GAChB2tC,EAAcprH,QAAQ+H,aAEtBwjH,EAAgBltH,GAAU6J,mBAC5BkjH,EAAcprH,QAAQl6F,KACtBypF,GAAiBkuF,EAAex7G,EAASwC,WAAY,cAAc4mJ,EAAKrrH,QAAQl6F,QAChFm8D,EAASwC,WACTxC,EAAS3M,SAAQ,KAEjByyC,OACwBxvG,EACxBonG,GAAoB2rH,GAAiBA,EAAgBntH,GAAYvyF,UAGrE2/M,EAAcvrH,QAAQyG,eAAiB2kH,EAAcprH,QAAQyG,eAC7DiY,GAAwB6sG,GAGxB,MAAMtnH,EAASsnH,EAAcvrH,QAAQiE,OACrCmnH,EAAcprH,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KAGrCsuE,EAAOo9B,6BAFW,CAAC,UAAW,UAAW,aAAc,OAAQ,OAAQ,QAGpDtpD,MAAMhuD,GAAMA,IAAM4L,KAClCm+F,EAAOrlG,IAAIkH,EAAMsuE,MAK7B,MAAMo3I,EAAiBntH,GAAUgK,gBAAgBkjH,GACjDA,EAAcE,wBAAyB,EAGvC,MAAMC,EAAa,kBAAsB,EAAyBL,GAClEpnH,EAAOrlG,IAAI,OAAQ8sN,GAEfptH,GAAaoP,cAAc29G,KAC3BE,EAAcvrH,QAAQr9B,OAAS,SAInC,MAAMgpJ,EAAertH,GAAakN,eAC9B,UACA,GACA,GACA,KAEJlN,GAAa6O,aAAaw+G,EAAc,CACpC5zJ,SAAU,EACVjyD,KAAM,OACNrN,KAAM+yN,EACN/+G,iBAAiB,IAErBnO,GAAa6O,aAAaw+G,EAAc,CACpC5zJ,SAAU,EACVjyD,KAAM,MACNrN,KAAM+lG,GAASgN,iBACfiB,iBAAiB,IAErBnO,GAAa6O,aAAaw+G,EAAc,CACpC5zJ,SAAU,EACVjyD,KAAM,UACNrN,KAAMimG,GAAQ9yF,SACd6gG,iBAAiB,EACjBF,YAAY,EACZq/G,YAAaltH,GAAQ9yF,WAEzB+/M,EAAa3rH,QAAQ2C,mBAAqBrE,GAAaoP,cAAc29G,GAC/D/sH,GAAagQ,yBAAyB+8G,GACtCG,EACNG,EAAa3rH,QAAQv+B,YAAc4pJ,EAAKrrH,QAAQv+B,YAEhD,MAAMoqJ,EAAevtH,GAAakN,eAC9B,UACA,GACA,GACA,KAEJlN,GAAa6O,aAAa0+G,EAAc,CACpC9zJ,SAAU,EACVjyD,KAAM,OACNrN,KAAM+yN,EACN/+G,iBAAiB,IAGrB,MAAMq/G,EAAUT,EAAKrrH,QAAQljE,WAAWroC,OAAS,EAAI42N,EAAKrrH,QAAQljE,WAAW,GAAGrkC,KAAOimG,GAAQ9yF,SAC/F0yF,GAAa6O,aAAa0+G,EAAc,CACpC9zJ,SAAU,EACVjyD,KAAM,MACNrN,KAAMqzN,EACNr/G,iBAAiB,IAErBnO,GAAa6O,aAAa0+G,EAAc,CACpC9zJ,SAAU,EACVjyD,KAAM,UACNrN,KAAMimG,GAAQ9yF,SACd6gG,iBAAiB,EACjBF,YAAY,EACZq/G,YAAaltH,GAAQ9yF,WAEzBigN,EAAa7rH,QAAQ2C,mBAAqBrE,GAAagQ,yBAAyB+8G,GAChFQ,EAAa7rH,QAAQv+B,YAAc4pJ,EAAKrrH,QAAQv+B,YAIhDoqJ,EAAa7rH,QAAQyG,eAAiB4R,GAAkBgzG,GAExD,MAAMU,EAAsBxtH,GAAuB3yF,OAAO,CAAC+/M,EAAcE,IACnEG,EAAY,kBAAsB,EAAyBD,GAuBjE,OAtBA9nH,EAAOrlG,IAAI,UAAWotN,GAGtB,CAAC,SAAU,SAAU,WAAWjtM,SAASktM,IACrC,MAAMC,EAAmB5tH,GAAakN,eAAeygH,EAAc,GAAI,GAAI,IAC3E3tH,GAAa6O,aAAa++G,EAAkB,CACxCn0J,SAAU,EACVjyD,KAAM,OACNrN,KAAMimG,GAAQ9yF,SACd6gG,iBAAiB,IAErBnO,GAAa6O,aAAa++G,EAAkB,CACxCn0J,SAAU,EACVjyD,KAAM,WACNrN,KAAMimG,GAAQ9yF,SACd6gG,iBAAiB,IAErBy/G,EAAiBlsH,QAAQ2C,mBAAqB6oH,EAC9C,MAAMW,EAAiB,kBAAsB,EAAyBD,GACtEjoH,EAAOrlG,IAAIqtN,EAAcE,MAGtBX,EAuLJ,SAASY,GACZ7gG,EACA8gG,EACAC,EACAC,EACAtjG,EACAxP,EACAvY,EAAiB,GAEjB,MAAMsrH,EAAenuH,GAAUgK,gBAAgBkkH,GAC/C,IAAIE,GAAe,EAuEnB,MAtEuG,CACnG,CACI3mN,KAAM,OACN4mN,eAAgBrhG,GAAUlD,mBAAmBwpB,cAC7Cg7E,oBAAqBthG,GAAUlD,mBAAmBqoB,oBAEtD,CACI1qI,KAAM,OACN4mN,eAAgBrhG,GAAUlD,mBAAmBypB,cAC7C+6E,oBAAqBthG,GAAUlD,mBAAmBsoB,oBAEtD,CACI3qI,KAAM,OACN4mN,eAAgBrhG,GAAUlD,mBAAmB0pB,eAC7C86E,oBAAqBthG,GAAUlD,mBAAmBuoB,sBAIhD3xH,SAAS6tM,IACf,MAAMC,EAAmBR,EAAiBrsH,QAAQiE,OAAOjmG,IAAI4uN,EAAa9mN,MACpEgnN,EAAiBD,EAAmBthG,EAAU6pF,wBAAwByX,QAAoBt0N,EAEhG,GAAIu0N,GAAkBvsH,GAAWusH,GAAiB,CAC9C,MAAMC,EAAkBT,EAAgBtsH,QAAQiE,OAAOjmG,IAAI4uN,EAAa9mN,MAClEknN,EAAgBD,EAAkBxhG,EAAU6pF,wBAAwB2X,QAAmBx0N,EAE7F,IAAKy0N,IAAkBzsH,GAAWysH,GAK9B,OAJI/jG,GACAA,EAAKZ,WAAWukG,EAAaF,uBAEjCD,GAAe,GAInB,MAAMQ,EAAsB1hG,EAAUy+B,4BAClCwiE,EACAM,OACkBv0N,OACFA,EAChB2oG,GAEEgsH,EAAqB3hG,EAAUy+B,4BACjCwiE,EACAQ,OACkBz0N,OACFA,EAChB2oG,GAGJ,IACK+rH,IACAC,IACA3hG,EAAUqD,cACPq+F,EACAC,EACAjkG,aAAI,EAAJA,EAAMX,iBACN7O,EAAU,EAEVvY,GAOJ,OAJI+nB,GACAA,EAAKZ,WAAW,oCAEpBokG,GAAe,OAMpBA,EC3CX,MAAMU,GAAuE,CACzE,EAAoB,CAAC,UAAW,YAAY,GAC5C,GAAyB,CAAC,UAAW,YAAY,GACjD,GAAyB,CAAC,UAAW,YAAY,GACjD,GAA4B,CAAC,eAAgB,iBAAiB,GAC9D,GAAuB,CAAC,cAAe,gBAAgB,GACvD,GAAoB,CAAC,UAAW,YAAY,GAC5C,GAAsB,CAAC,UAAW,YAAY,GAC9C,GAA+B,CAAC,aAAc,eAAe,GAC7D,EAA2B,CAAC,UAAW,YAAY,GACnD,EAA0B,CAAC,SAAU,WAAW,GAChD,EAA2B,CAAC,UAAW,YAAY,GACnD,GAA0B,CAAC,aAAc,eAAe,GACxD,GAA2B,CAAC,aAAc,eAAe,GACzD,GAAuB,CAAC,SAAU,UAAU,GAC5C,GAA0B,CAAC,SAAU,UAAU,GAC/C,GAAyB,CAAC,SAAU,UAAU,GAC9C,GAAgC,CAAC,SAAU,UAAU,GACrD,GAA4B,CAAC,SAAU,UAAU,GACjD,GAAmC,CAAC,SAAU,UAAU,IAKtDC,GAAsD,CACxD,IAAoB,EACpB,IAAmB,EACnB,IAAmB,EACnB,IAAsB,EACtB,IAAmB,EACnB,IAAsB,GAOpBC,GAA2D,IAAI91M,IAAI,CACrE,CAAC,yBAA0Bs+C,GAAckkH,MACzC,CAAC,qBAAsBlkH,GAAckkH,MACrC,CAAC,gBAAiBlkH,GAAckkH,MAChC,CAAC,qBAAsBlkH,GAAckkH,MACrC,CAAC,gBAAiBlkH,GAAckkH,MAChC,CAAC,qBAAsBlkH,GAAckkH,MACrC,CAAC,eAAgBlkH,GAAckkH,MAC/B,CAAC,iBAAkBlkH,GAAckkH,MACjC,CAAC,uBAAwBlkH,GAAckkH,MACvC,CAAC,sBAAuBlkH,GAAckkH,MACtC,CAAC,0BAA2BlkH,GAAckkH,MAC1C,CAAC,0BAA2BlkH,GAAckkH,MAC1C,CAAC,oBAAqBlkH,GAAckkH,MACpC,CAAC,0BAA2BlkH,GAAckkH,MAC1C,CAAC,cAAelkH,GAAckkH,QAM5BuzC,GAAwC,IAAI/1M,IAAI,CAClD,CAAC,iBAAkB,CAAC,iBACpB,CAAC,mBAAoB,CAAC,iBAAkB,iBACxC,CAAC,iBAAkB,CAAC,qBAAsB,0BAuEvC,SAASg2M,GAAoBxoD,EAA4ByoD,GAC5D,MAAMC,EAAsD,GACtDC,EAAuB,IAAIn2M,IAC3Bo2M,EAAwB,IAAIp2M,IAC5Bq2M,EAAuB,IAAIr2M,IAC3Bs2M,EAAiB,IAAIt2M,IACrBu2M,EAAsC,IAAIvjL,IAC1CwjL,EAAoB,IAAIx2M,IACxBy2M,EAAyB,IAAIvI,GAC7BwI,EAAqB,IAAI12M,IACzB22M,EAAmC,GACnCC,EAAwB,IAAI1H,GAC5B2H,EAA0D,GAChE,IAAIt0E,EAEAu0E,EACA7oH,EACAiC,EACA6mH,EACAC,EACAnpB,EACAopB,EACAC,EACAC,EACAC,EACAC,EAXAC,GAA0B,EAa9B,MAAMC,EAAgE,GACtE,IAAIC,EAWJ,SAASC,IACDl1E,GACA,GAA6BA,GAQrC,SAASm1E,EAAa9tJ,GAClB,IAAIqkJ,EAQJ,OALIA,EADAuJ,GAAgCG,EAAmC/tJ,GACtD4tJ,EAA6B/wN,IAAImjE,EAAK9qD,IAEtCu3M,EAAU5vN,IAAImjE,EAAK9qD,SAGd9d,IAAfitN,EAGX,SAAS2J,EAAchuJ,EAAiBwB,GACpC,IAAI6iJ,EAUJ,GALIA,EADAuJ,GAAgCG,EAAmC/tJ,GACtD4tJ,EAA6B/wN,IAAImjE,EAAK9qD,IAEtCu3M,EAAU5vN,IAAImjE,EAAK9qD,SAGjB9d,IAAfitN,EAAJ,CAIA,GAAIgI,EAAiB4B,oCACH72N,IAAVoqE,EAAqB,CACrB,MAAM0sJ,EAAgBxB,EAAe7vN,IAAImjE,EAAK9qD,SACxB9d,IAAlB82N,GAA+B1sJ,IAAU0sJ,GACzC1jK,EACI,0CAA0CwV,EAAKjB,4BACzBmvJ,qBAAiC1sJ,KAOvE,OADApX,GAAQg6J,GAAiBC,IAClBA,GAGX,SAAS8J,EACLnuJ,EACA1oE,EACAkqE,EACAlmC,EACA+8K,EACA+V,GAA0B,GAE1B,GAAI9yL,EAIA,YAHImyL,GACAA,EAAoBhwN,IAAIuiE,EAAK9qD,GAAI5d,IAOzC,MAAM+2N,EACFT,GAAgCG,EAAmC/tJ,GAC7D4tJ,EACAnB,EAEV4B,EAAe5wN,IAAIuiE,EAAK9qD,GAAI5d,GAExB+0N,EAAiB4B,+BACbI,IAAmB5B,QAAuBr1N,IAAVoqE,GAChCkrJ,EAAejvN,IAAIuiE,EAAK9qD,GAAIssD,GAOhCqrJ,EAAuB/H,cAAc9kJ,KACrC6sJ,EAAuB9H,WAAWsJ,EAAgBruJ,EAAK9qD,IACnDk5M,GACAvB,EAAuB1H,mBAAmBnlJ,EAAM1oE,EAAM+gN,IAI9D2U,EAAsBjI,WAAWsJ,EAAgBruJ,EAAK9qD,IAG1D,SAASo5M,EAAqBtuJ,IAEtB4tJ,GAAgCG,EAAmC/tJ,GAC7D4tJ,EACAnB,GAEKvxM,OAAO8kD,EAAK9qD,IAG/B,SAASsyM,EAAexnJ,EAAiB1oE,EAAa0lG,GAAYvyF,SAAU+2D,EAAQ,GAChF2sJ,EAAenuJ,EAAM1oE,EAAMkqE,GAA0B,GAmBzD,SAASusJ,EAAmC/tJ,GACxC,MAAMglJ,EAAY2I,EAAgCr6N,OAClD,GAAkB,IAAd0xN,EACA,OAAO,EAGX,MAAMuJ,EAAcZ,EAAgC3I,EAAY,GAEhE,IAAIzjJ,EAAiCvB,EACrC,KAAOuB,GAAS,CACZ,GAAIA,IAAYgtJ,EAAYvqG,aACxB,OAAO,EAEXziD,EAAUA,EAAQ9jC,OAGtB,OAAO,EAUX,SAAS+wL,EAA2Bv7I,EAAgB3S,GAChD,OAAOgsJ,EAAsBzkI,WACxB91B,GAAUA,EAAM08J,WAAax7I,EAAO/9D,IAAM68C,EAAMuO,cAAgBA,IAIzE,SAASouJ,EAAqBz7I,EAAgB3S,GAC1C,MAAM79C,EAAQ+rM,EAA2Bv7I,EAAQ3S,GACjD,GAAI79C,GAAS,EAAG,CAEZ,IAAK,IAAI7vB,EAAI6vB,EAAQ,EAAG7vB,EAAI05N,EAAsBh5N,OAAQV,IACtD05N,EAAsB15N,GAAG+7N,eAAgB,EAE7C,OAAO,EAQX,OALArC,EAAsB34N,KAAK,CACvB86N,SAAUx7I,EAAO/9D,GACjBorD,cACAquJ,eAAe,KAEZ,EAGX,SAASC,EAAoB37I,GACzB,MAAM47I,EAAcvC,EAAsB/5K,MAE1C,OADA6X,EAAOykK,EAAYJ,WAAax7I,EAAO/9D,IAChC25M,EAAYF,cAGvB,SAASG,EAA+B77I,EAAgB3S,EAA0BhpE,GAC9E,MAAMmrB,EAAQ+rM,EAA2Bv7I,EAAQ3S,GAC7C79C,GAAS,IACT6pM,EAAsB7pM,GAAOssM,YAAcz3N,GAInD,SAAS03N,EAA+B/7I,EAAgB3S,GACpD,MAAM79C,EAAQ+rM,EAA2Bv7I,EAAQ3S,GACjD,GAAI79C,GAAS,EACT,OAAO6pM,EAAsB7pM,GAAOssM,YAS5C,SAASlpG,EAAQ7lD,G,MACb,OAEE,QAFK,EAAA6sI,GAAuB7sI,GAAM,KAChCivJ,GAAoCjvJ,aACtC,eAAE1oE,KAyBR,SAAS43N,EAAsBlvJ,GACtB0tJ,IAGDA,GAA0B,EAE1BpnH,EAAau8F,GAAiB7iI,EAAM,UACpCmtJ,EAAgB3iG,GAAexqD,EAAM,QACrCotJ,EAAcvqB,GAAiB7iI,EAAM,YAIrCokI,GAAcpkI,EAAM,cAEpBktJ,EAmiDR,SAAyBltJ,EAAiB5U,GACtC,OAAO+jK,GAAkBnvJ,EApiDY,WAoiDM,CAAC,cApiD7BovJ,CAAgBpvJ,IAAqBu9B,GAAQ9yF,SACxDw5L,EAAiBz5E,GAAexqD,EAAM,SACtCqtJ,EAAgB7iG,GAAexqD,EAAM,QACrCstJ,EAAe9iG,GAAexqD,EAAM,OACpCutJ,EAAgB/iG,GAAexqD,EAAM,QACrCwtJ,EAAqBppB,GAAcpkI,EAAM,eAIjD,SAASkuD,EAAoBluD,EAAsBq4I,EAAqB72I,EAAQ,G,MAE5E,MAAM6iJ,EAAa2J,EAAchuJ,EAAMwB,GACvC,GAAI6iJ,EACA,MAAO,CAAE/sN,KAAM+sN,EAAYrkJ,QACxB,CAEH,MAAMqvJ,EAAwBxC,EAAuBxH,mBAAmBrlJ,EAAMq4I,GAC9E,GAAIgX,EACA,MAAO,CAAE/3N,KAAM+3N,EAAuBrvJ,QAO9C6tJ,IAEA,MAAMyB,EAAkBz4G,GAAoCwhG,GAQ5D,IAAIkX,EAFJL,EAAsBlvJ,GAGtB,IAAIwvJ,EAAuE,IAAlC,GAARhuJ,GAEjC,OAAQxB,EAAKjB,UACT,KAAK,GACDwwJ,EA+uFZ,SAAyBvvJ,EAAgBwB,GACrC,MAAMV,EAAW,GAA6Bd,GACxCr7D,EAAOq7D,EAAKpqE,MAClB,IAAI0B,EACAgkC,GAAe,EACnB,MAAMm0L,EAA6E,IAA3C,EAARjuJ,IAAwDV,EAASoM,WAEjG,IAAKm/I,EAAiB7sD,4BAA6B,CAC/C,MAAMkwD,EAAqB,GAAoC1vJ,GAC/D,GAAI0vJ,G1DxkDT,SAA+B1vJ,GAClC,YACkC5oE,IAA9B4oE,EAAK0lB,sBACL1lB,EAAKrkC,WAAWtc,OACX3D,QAAmCtkB,IAAzBskB,EAAM4pE,qBAAgEluF,IAAhCskB,EAAMqtE,wB0DokD7B,CAAqC2mI,GAC3D,MAAO,CACH1vJ,OACA1oE,KAAMimG,GAAQ9yF,SACd6wB,cAAc,GAO1B,MAAM++G,EAAkBJ,GACpBj6E,EACAr7D,GACC8qN,EACDA,GAA+E,IAA5C,KAARjuJ,IAG/B,GAAI64E,EAAiB,CACjB,IAAIs1E,GAAuBF,EAIQ,IAA/Bp1E,EAAgBl6E,MAAM7oE,OACtBq4N,GAAsB,GAG1B,MAAM18I,EAASonE,EAAgBpnE,OAKzB28I,EAAoBC,GAAiC58I,EAAQ08I,EAAsB3vJ,OAAO5oE,GAC1F04N,EAAgBj5G,GAAoC+4G,EAAkBt4N,MAExEs4N,EAAkBt0L,eAClBA,GAAe,GAGfs0L,EAAkBG,uBAAyBtvB,GAAgBzgI,IAC3D6sD,GACI,GAA6B7sD,GAAM8sD,kBAAkBC,wBACrD/X,GAAe+X,wBACf7C,GAAUv4F,WAAW8yG,sBAAsB96H,OAAO,CAAEhF,SACpDq7D,GAIR,MAAMkoC,IACA4nH,GAAiBtxH,GAAoBsxH,IAAkB5yH,GAAUgL,iBAAiB4nH,GAGxF,GADAx4N,EAAOw4N,EACHH,IAAwBznH,EAAkB,CAK1C,MAAM8nH,EACF31E,EAAgBmvC,yBAA2Bv2G,EAAOi9B,qBAC5C4/G,EACA/yH,GAAYtyF,SAChBwlN,EAAqBC,GACvBlwJ,EACAiT,EAAO/9D,GACP86M,GAC8B,GAUlC,GARIC,EAAmB34N,OACnBA,EAAO24N,EAAmB34N,MAG1B24N,EAAmB30L,eACnBA,GAAe,IAGd20L,EAAmB34N,MAAQ+iJ,EAAgBmvC,uBAAwB,CACpE,MAAM2mC,EAmHtB,SACInwJ,EACAq6E,EACAy1E,GAIA,IACKz1E,EAAgBpnE,OACZy+B,kBACAryF,OAAOmhD,GAAuB,IAAdA,EAAKlpE,MAAmD,IAAdkpE,EAAKlpE,OAEpE,OAKJ,MAAM84N,EtDlwHP,SAA2BpwJ,EAAiBqwJ,GAC/C,MAAMD,EAA0B,GAChC,IAAI7uJ,EAAiCvB,EAErC,KAAOuB,GAAS,CACZ,MAAM8nH,EAAW7sF,GAAgBj7B,GAEjC,IAAK8nH,EACD,OAOJ,GAJ8B,IAA1B+mC,EAAe98N,QAAgB88N,EAAeA,EAAe98N,OAAS,KAAO+1L,GAC7E+mC,EAAez8N,KAAK01L,GAGpBA,IAAagnC,EACb,OAAOD,EAGX7uJ,EAAUA,EAAQ9jC,OAGtB,OAAO4yL,OAAYj5N,EAAYg5N,EsD4uHJ,CAA6BpwJ,EAAMq6E,EAAgBl6E,OAI1E,GACIiwJ,GACAA,EAAe98N,QAAU,GACzB88N,EAAe/wM,OAAOvY,GAAiB,IAAXA,EAAExP,MAA0C,IAAXwP,EAAExP,OACjE,CAGE,MAAMg5N,EtDlvHX,SAA4BtwJ,EAAiBG,GAChD,IACIuvB,EADAnuB,EAAiCvB,EAEjCuwJ,GAAa,EAEjB,KAAOhvJ,GAAS,CACZ,GAAIrB,GAASqB,KAAapB,EACtBowJ,GAAa,OACV,GAAIA,EACP,OAAO7gI,EAGXA,EAAWnuB,EACXA,EAAUA,EAAQ9jC,QsDquHS,CAA8BuiC,EAAMowJ,EAAeA,EAAe98N,OAAS,IAClG,GACIg9N,IAC6B,KAA5BA,EAAevxJ,UAAmE,KAA5BuxJ,EAAevxJ,UACxE,CACE,MAAMyxJ,EAAyB,GAA6BF,GAC5D,GAAIE,GAKIn2E,EAAgBpnE,OAAOy+B,kBAAkBryF,OAAOmhD,IAG5C,GAAkB,IAAdA,EAAKlpE,KACL,OAAO,EAGX,MAAMm5N,EAAmB,GAA6BjwJ,EAAKR,MAC3D,SAAKywJ,GAODA,IAAqBD,GAIjBE,GAAeC,oBAAoBF,EAAkBD,OAGjE,OAAON,GACHlwJ,EACAq6E,EAAgBpnE,OAAO/9D,GACvB46M,GAC8B,EAC9BQ,KArLqBM,CACzB5wJ,EACAq6E,EACAy1E,IAGAK,aAAoB,EAApBA,EAAsB74N,QACtBA,EAAO64N,EAAqB74N,OAG5B64N,aAAoB,EAApBA,EAAsB70L,gBACtBA,GAAe,IAM3BhkC,EAAOu5N,GAA2B7wJ,EAAM1oE,EAAMkqE,GAE9CsvJ,GAAkBhwJ,EAAUmS,EAAQjT,GAEqB,IAA5C,KAARwB,IAEGouJ,EAAkBmB,uBAAyBz5N,EAAKioG,gBAI3CqX,GAAuBt/G,IACvBqnG,GAAUrnG,IACV0mG,GAAU1mG,IACVwpE,EAASsuH,kBAMLtyF,GAASgB,eAAexmG,IAAsD,IAApC,EAARkqE,KACnCqrD,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWm2G,yBACrB9nE,GAEJ1oE,EAAO0lG,GAAYvyF,eAKhC,CAEH,GAAa,SAAT9F,GAA4B,UAATA,EAAkB,CACrC,MAAMqsN,EAAYrsN,EAAKkB,MAAM,IAC7BmrN,EAAU,GAAKA,EAAU,GAAGjlK,cAC5B,MAAMklK,EAAcD,EAAUl9N,KAAK,IACnC+4H,GACI/rD,EAASgsD,kBAAkBsxC,wBAC3BppD,GAAeopD,wBACfl0C,GAAUv4F,WAAWihG,qBAAqBjpH,OAAO,CAAEhF,OAAMssN,gBACzDjxJ,OAIU,gBAATr7D,GAAmC,kBAATA,GAC/BkoH,GACI/rD,EAASgsD,kBAAkBsxC,wBAC3BppD,GAAeopD,wBACfl0C,GAAUv4F,WAAWq1G,oBAAoBr9H,OAAO,CAAEhF,SAClDq7D,GAGR1oE,EAAO0lG,GAAYvyF,SAUvB,GAPI00F,GAAY7nG,IACA,GAARkqE,IACAusD,GAAS7D,GAAUv4F,WAAW8wG,mBAAoBziE,GAClD1oE,EAAO0lG,GAAYvyF,UAIvBk0F,GAAUrnG,IAAoD,IAAlC,GAARkqE,IAA+ClqE,EAAKunG,QAAQl6F,OAASA,EAAM,CAG/F,MAAM+qG,EAAcp4G,EAAKunG,QAAQC,WAC3BslG,GAAcpkI,EAAM,gBACpBokI,GAAcpkI,EAAM,WAEtB1oE,EADAo4G,GAAelR,GAAoBkR,GAC5BxS,GAAUgK,gBAAgBwI,GAE1B1S,GAAYvyF,SAqB3B,OAjB+C,IAAlC,GAAR+2D,IACsD,IAA1C,IAARA,IACGg9B,GAAoBlnG,IAAS4lG,GAAUqH,UAAUjtG,EAAM,YACvDu1H,GACI,GAA6B7sD,GAAM8sD,kBAAkBC,wBACrD/X,GAAe+X,wBACf7C,GAAUv4F,WAAW6pG,oBACrBx7D,GAMZ2+B,GAAUrnG,KAAUA,EAAKunG,QAAQyD,gBACjChrG,EAAO45N,GAAqBlxJ,EAAM1oE,EAAMkqE,IAGrC,CAAElqE,OAAM0oE,OAAM1kC,gBAl7FA61L,CAAgBnxJ,EAAMwB,GACnC,MAGJ,KAAK,GACD+tJ,EAsxGZ,SAAiCvvJ,EAAwBwB,GACrD,MAAM4vJ,EACF,EAEI,OADH5vJ,EASC6vJ,EAAiBnjG,EAAoBluD,EAAKhB,oBAAgB5nE,EAAWg6N,GAE3E,GAAIx6G,GAAuBy6G,EAAe/5N,MACtC,MAAO,CACH0oE,OACA1oE,KAAM0lG,GAAYvyF,SAClB6wB,cAAc,GAItB,MAAMg2L,EAAmBC,GAAoCvxJ,EAAMqxJ,EAAgB,CAAEn5M,OAAQ,OAASspD,GAEtG,GAAI3C,GAAgCmB,GAAO,CAEvCmuJ,EAAenuJ,EAAMsxJ,EAAiBh6N,KAAMkqE,GAA0B,GACtE2sJ,EAAenuJ,EAAKL,WAAY2xJ,EAAiBh6N,KAAMkqE,GAA0B,GAIjF,IAAIgwJ,EAAcF,EAAiBh6N,KAC/Bm6N,IAA4BH,EAAiBh2L,aACjD,GAAI+iE,GAAUmzH,GAAc,CACxB,MAAM3jG,EAAWqzB,GAA6BmwE,EAAe/5N,MAE7D,IAAIo6N,EACAlzH,GAAoBqvB,GACpB6jG,EAAkBv4G,GACd0U,EACA7tD,EAAKL,WAAW/pE,MAAK,GAGlB6oG,GAAgBovB,KACvB6jG,EAAkBx4G,GACd2U,EACA7tD,EAAKL,WAAW/pE,MAAK,IAKzB87N,IACAF,EAAc1hE,GAAgB4hE,GAC9BD,GAA0B,GAKlC,MAAMxB,EAAqBC,GACvBlwJ,EpDtnIqB,EoDwnIrBwxJ,EACAC,GAEAxB,EAAmB34N,OACnBg6N,EAAiBh6N,KAAO24N,EAAmB34N,MAG3C24N,EAAmB30L,eACnBg2L,EAAiBh2L,cAAe,GAIpCg2L,EAAiBh6N,KAAOu5N,GAA2B7wJ,EAAMsxJ,EAAiBh6N,KAAMkqE,GAEhF8sJ,EAAqBtuJ,GACrBsuJ,EAAqBtuJ,EAAKL,YAO9B,OAJI0xJ,EAAe/1L,eACfg2L,EAAiBh2L,cAAe,GAG7Bg2L,EAz2GcK,CAAwB3xJ,EAAMwB,GAGtCo1C,GAAuB24G,EAAWj4N,OACnC62N,EAAenuJ,EAAKL,WAAY4vJ,EAAWj4N,KAAMkqE,IAAS+tJ,EAAWj0L,cAEzE,MAGJ,KAAK,GACDi0L,EAk/IZ,SAA0BvvJ,EAAiBwB,EAAQ,GAC/C,MAAM6vJ,EAAiBnjG,EACnBluD,EAAKP,oBACLroE,EACQ,EAARoqE,GAMJ,GAAY,GAARA,GACqC,KAAjCxB,EAAKP,eAAeV,SAAuC,CAC3D,MAAM+B,EAAW,GAA6Bd,IACzCc,EAASoM,YAAcpM,EAASqwH,qBAAqB97G,cAAgB3gB,GAAcE,OACpFm5D,GAAS7D,GAAUv4F,WAAW00G,yBAA0BrmE,EAAKP,gBAMzE,GAAwD,IAA3C,EAAR+B,GAAsD,CAIvD,IAAIowJ,EAAyE,IAA3C,MAARpwJ,GAC1B,GAAIowJ,EAAoB,CACpB,MAAMC,EAAY,GAAqC7xJ,GAChC,MAAnB6xJ,aAAS,EAATA,EAAW9yJ,YACX6yJ,GAAqB,GAI7B,IAAKA,EAAoB,CACrB,MAAM9wJ,EAAW,GAA6Bd,GAC9C,GACIw+B,GAAoB6yH,EAAe/5N,OACnC4lG,GAAUqH,UAAU8sH,EAAe/5N,QAClC+5N,EAAe/5N,KAAKmvG,UACvB,CACE,MAAMqrH,EAAmB5F,GAA6BrvN,IAAIw0N,EAAe/5N,KAAKunG,QAAQwG,eAE7DjuG,IAArB06N,GACAhxJ,EAASqwH,qBAAqB97G,cAAgBy8I,IAC7ChxJ,EAASoM,YAEV6gD,GACI7D,GAAUv4F,WAAW4hG,+BAA+B5pH,OAAO,CACvDhF,KAAM0sN,EAAe/5N,KAAKmvG,WAAa4qH,EAAe/5N,KAAKunG,QAAQl6F,OAEvEq7D,EAAKP,kBAOzB,MAAMwuD,EAAkB8jG,GAA6B/xJ,EAAMqxJ,EAAe/5N,KAAM,CAAE4gB,OAAQ,OAASspD,GAEnG,GAAI3C,GAAgCmB,GAAO,CAIvC,IAAIgyJ,GAAiC,EAYrC,GAXA/0B,GAA0Bo0B,EAAe/5N,UAA4BF,GAAYgnG,IAExEK,GAAgBL,KACflB,GAAUqH,UAAUnG,IAAYlB,GAAU0L,iBAAiBxK,MAE7D4zH,GAAiC,MAMrCA,EAAgC,CAEhC7D,EAAenuJ,EAAMiuD,EAAgB32H,KAAMkqE,GAA0B,GAGrE,MAAMyuJ,EAAqBC,GACvBlwJ,EpDj3KiB,EoDm3KjBiuD,EAAgB32H,OACd+5N,EAAe/1L,gBAAkB2yF,EAAgB3yF,cAEnD20L,EAAmB34N,OACnB22H,EAAgB32H,KAAO24N,EAAmB34N,MAG1C24N,EAAmB30L,eACnB2yF,EAAgB3yF,cAAe,GAGnCgzL,EAAqBtuJ,IAmB7B,OAfIqxJ,EAAe/1L,eACf2yF,EAAgB3yF,cAAe,GAIc,IAApC,QAARkmC,IACGg9B,GAAoB6yH,EAAe/5N,QAC/B4lG,GAAUqH,UAAU8sH,EAAe/5N,KAAM,YACzC22H,EAAgBhY,YAAa,EACtB/Y,GAAUqH,UAAU8sH,EAAe/5N,KAAM,iBAChD22H,EAAgB3B,eAAgB,IAKrC2B,EAlmJcgkG,CAAiBjyJ,EAAMwB,GACpC,MAGJ,KAAK,EACwD,IAA5C,KAARA,IAED0wJ,GAAgBlyJ,EAAMsvJ,GAEtBziG,GACI,GAA6B7sD,GAAM8sD,kBAAkBC,wBACrD/X,GAAe+X,wBACf7C,GAAUv4F,WAAWk2G,qBACrB7nE,GAEJuvJ,EAAa,CAAEvvJ,OAAM1oE,KAAM0lG,GAAYvyF,WAEvC8kN,EAAa2C,GAAgBlyJ,EAAMsvJ,GAEvC,MAGJ,KAAK,GACDC,EAg6KZ,SAA0BvvJ,EAAiBq4I,EAAgC72I,GACvE,GAA+C,IAAlC,GAARA,IAA2E,IAA5BxB,EAAKgB,YAAY1tE,SAAiB+kN,EAClF,MAAO,CAAE/gN,KAAM66N,GAAgB,IAAKnyJ,OAAMoyJ,uBAAuB,GAKrE,IAAIC,EAAwBha,EACxBia,EAA0Bja,GAAgBt6G,GAAMs6G,GAEpD,GAAIA,GAAgBn6G,GAAQm6G,GAAe,CACvC,IAAIka,EAEJ79G,GAAiB2jG,GAAej6G,IAK5B,GAJIL,GAAMK,KACNk0H,GAA0B,IAGzBC,EAAiB,CAClB,MAAMC,EAAgBjsB,GAAmBvmI,GAAM,IACpCyyJ,GAAyBzyJ,EAAMo+B,KAGtCo0H,GAAiB/kG,GAAcrvB,EAASo0H,EAAcl7N,QACtDi7N,EAAkBn0H,OAK9Bi0H,EAAwBE,EAG5B,GAAIF,EAAuB,CACvB,MAAM/5M,EAASm6M,GAAyBzyJ,EAAMqyJ,GAC9C,GAAI/5M,EACA,OAAOA,EAIf,MAAMysL,EA8EV,SAAkC/kI,GAC9B,MAAM0yJ,EAAmB1yJ,EAAKgB,YAAY5kD,KAAKuqE,GAASunC,EAAoBvnC,KACtErrD,EAAeo3L,EAAiB3rK,MAAMzuC,GAAWA,EAAOgjB,eAE9D,OAAK2oK,GAAmBzlG,GAAoBylG,GAMrC,CAAE3sM,KAFIy/G,GAAkBwF,GAAqB0nF,EAAgB0uB,GAAoBD,KAEzE1yJ,OAAM1kC,gBALV,CAAEhkC,KAAM0lG,GAAYvyF,SAAUu1D,QAnFtB4yJ,CAAyB5yJ,GAQ5C,OAJIsyJ,IACAvtB,EAAWztM,KAAOimG,GAAQ9yF,UAGvBs6L,EA/8Kc8tB,CAAiB7yJ,EAAMsvJ,EAAiB9tJ,GACrD,MAGJ,KAAK,GACD+tJ,EA47SZ,SAA6BvvJ,EAAoBwB,GAC7C,IAAIlqE,EAsBJ,GApBuB,KAAnB0oE,EAAKumB,UACLjvF,EAAkD,IAAlC,GAARkqE,GAA8C67B,GAASkQ,aAAelQ,GAASgN,iBAEpE,KAAnBrqC,EAAKumB,WACc,KAAnBvmB,EAAKumB,WACc,IAAnBvmB,EAAKumB,YAELjvF,EAAOurM,GAAiB7iI,EAAM,QAI1B1oE,GAAQmnG,GAAgBnnG,KACD,KAAnB0oE,EAAKumB,UACLjvF,EAAO4lG,GAAUyH,iBAAiBrtG,GAAkB,GAC1B,KAAnB0oE,EAAKumB,YACZjvF,EAAO4lG,GAAUyH,iBAAiBrtG,GAAkB,MAK3DA,EAIL,MAAO,CAAEA,OAAM0oE,QAv9SM8yJ,CAAoB9yJ,EAAMwB,GACvC,MAGJ,KAAK,GAID,GAF6D,IAAhD,EAARA,IAkiDjB,SAAkCxB,GAC9B,GAAIA,EAAKviC,QAAmC,KAAzBuiC,EAAKviC,OAAOshC,SAAkC,CAC7D,MAAM8uD,EAAWK,EAAoBluD,EAAKviC,OAAOgiC,gBAAgBnoE,KACjE,GAAIu2H,GAAYrvB,GAAoBqvB,IAC5B3wB,GAAUgL,iBAAiB2lB,EAAU,WACrC,OAAO,EAKnB,OAAO,EA5iDoEklG,CAAyB/yJ,GAqCrF,CAEHA,EAAKR,QAAQ5hD,SAASljB,IACG,KAAjBA,EAAIqkE,UACJrkE,EAAIsmE,YAAYpjD,SAAS+oE,IACrBunC,EAAoBvnC,SAKhC,MAAM+gF,EAAqE,IAA5B,GAA9B1nG,EAAKR,QAAQ,GAAGlmD,MAAMkoD,OAInC+tJ,EADAvvJ,EAAKR,QAAQzY,MAAMrsD,GAAyB,KAAjBA,EAAIqkE,WAClB,CACTiB,OACA1oE,KAAMurM,GAAiB7iI,EAAM0nG,EAAU,QAAU,QAGxC,CACT1nG,OACA1oE,KAAM07N,GACFhzJ,EACA0nG,EAAU,QAAU,MACpB1nG,EAAKR,QAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,UA3DnC,CACf,IAAIm/N,EAAuB,GAARzxJ,EAQnB,GAJgE,IAAnD,QAARA,KACDyxJ,GAAgB,QAGhBjzJ,EAAKslB,eACLiqI,EAAarhG,EAAoBluD,EAAKslB,oBAAgBluF,EAAW67N,QAC9D,IAAKjzJ,EAAKslB,gBAA0C,IAAxBtlB,EAAKR,QAAQlsE,OAAc,CAI1D,MAAMqzF,EA+5rB1B,SAAqC3mB,GACjC,MAAMc,EAAW,GAA6Bd,GACxC7uB,EAAS,IAAII,GACb2hL,EAAYlzJ,EAAKR,QAAQ,GAAG5pE,MAI5Bu9N,EACFnzJ,EAAKR,QAAQ,GAAGprE,MAAQ4rE,EAAKR,QAAQ,GAAGlmD,MAAMwxJ,aAAe9qG,EAAKR,QAAQ,GAAGlmD,MAAMggI,gBAEjF43B,EAAe,IAAIpB,GACzBoB,EAAahkG,WAAapM,EAASoM,WACnCgkG,EAAa77F,cAAgBvU,EAASqwH,qBAAqB97G,cAE3D,MAAMjR,EAAejzB,EAAOghI,oBACxBrxG,EAASmwG,aACTkiD,EACAD,EAAU5/N,OACV49K,OACoB95K,OACIA,EACxB0pE,EAASoxG,qBAGb,GAAI9tG,EAAa5B,UAMb,OALA4B,EAAalnC,YAAYtf,SAASkqG,IAC9BiG,GAASjG,EAAKjjH,QAASm7D,MAG3BoE,EAAa5B,UAAU/kC,OAASuiC,EACzBoE,EAAa5B,UA77rBK4wJ,CAA4BpzJ,GACrC2mB,IACA4oI,EAAarhG,EAAoBvnC,OAAyBvvF,EAAW67N,IAIxE1D,IAED1iG,GADiB,GAA6B7sD,GAEjC8sD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWsoG,wBACrBj6D,GAEJuvJ,EAAa,CAAEvvJ,OAAM1oE,KAAM0lG,GAAYvyF,WAK3C+kN,GAA4B,EA8BhC,MAGJ,KAAK,GAEGD,EADAvvJ,EAAKV,YACQ,CAAEU,OAAM1oE,KAAMurM,GAAiB7iI,EAAM,YAC3CA,EAAKx6D,UACC,CAAEw6D,OAAM1oE,KAAM07N,GAA8BhzJ,EAAM,MAAOA,EAAKpqE,QAE9D,CAAEoqE,OAAM1oE,KAAMurM,GAAiB7iI,EAAM,UAEtD,MAGJ,KAAK,GAEGuvJ,EADkD,IAAzC,EAAR/tJ,GACY,CAAElqE,KAAMimG,GAAQ9yF,QAAwB,GAAOu1D,QACC,IAA7C,IAARwB,GACK,CAAElqE,KAAM0lG,GAAYvyF,SAAUu1D,QAG9B,CAAE1oE,KADMurM,GAAiB7iI,EAAM,aAAeu9B,GAAQ9yF,SAChCu1D,QAEvC,MAGJ,KAAK,GACDuvJ,EAu3SZ,SAAmCvvJ,EAA0Bq4I,GACzD,MAAMgb,EAAiBnlG,EAAoBluD,EAAK3V,YAChD,IAAIk6I,EAAWrjD,GAA6BmyE,EAAe/7N,MAC3D,MAAMgkC,EAAe+3L,EAAe/3L,aAEpC,GAAIqiE,GAAQ4mG,GACR,MAAO,CAAEvkI,OAAM1oE,KAAMgmG,GAAUsG,cAAetoE,gBAKlD,MAAMg4L,EAAmD,CACrD,EAAoB,UACpB,GAAyB,UACzB,EAA8B,cAGlC,IAAIh8N,EAoBJ,GAlBsB,KAAlB0oE,EAAKmlB,UACDgxB,GAAeouF,KACf13E,GACI,GAA6B7sD,GAAM8sD,kBAAkBwvC,sBACrDtnD,GAAesnD,sBACfpyC,GAAUv4F,WAAW2uG,eAAe32H,OAAO,CACvCw7E,SAAU,GAA6BnlB,EAAKmlB,YAEhDnlB,EAAK3V,YAETk6I,EAAWrhG,GAAoBqhG,KAQlC8uB,EAAe/3L,aAAc,CAC9B,MAAMi4L,EAAmB37G,GAAwB2sF,GACxB,QAArBgvB,EACsB,IAAlBvzJ,EAAKmlB,SACL7tF,EAAOitM,EACkB,KAAlBvkI,EAAKmlB,WACZ7tF,EAAO8+G,GAAYmuF,GAAWnmG,IAC1B,MAAMo1H,EAAep1H,EACrB,OAAOlB,GAAUyH,iBACb6uH,GACEA,EAAaxvH,kBAIC,SAArBuvH,GACe,KAAlBvzJ,EAAKmlB,WACL7tF,EAAO8+G,GAAYmuF,GAAWnmG,IAC1B,MAAMo1H,EAAep1H,EACrB,OAAOlB,GAAUyH,iBAAiB6uH,GAAgBA,EAAaxvH,kBAM/E,IAAK1sG,EAED,GAAsB,KAAlB0oE,EAAKmlB,SACL7tF,EAAOurM,GAAiB7iI,EAAM,QACzB1oE,IACDA,EAAO0lG,GAAYvyF,eAUvB,GANInT,EADA2mG,GAAesmG,GACRA,EAGAiC,GAA6BjC,EAAU,GADtB+uB,EAAiBtzJ,EAAKmlB,UACqBnlB,EAAMq4I,IAGxE/gN,EAAM,CAIHu1H,GAHa,GAA6B7sD,GAI7B8sD,kBAAkBC,wBAC3B/X,GAAe+X,wBAHnBsrF,EAIInuF,GAAUv4F,WAAWm4G,2CAA2CngI,OAAO,CACnEw7E,SAAU,GAA6BnlB,EAAKmlB,UAC5C7tF,KAAMq1H,GAAU43E,GAChB8T,aAAc1rF,GAAU0rF,KAQ5BnuF,GAAUv4F,WAAWk4G,8BAA8BlgI,OAAO,CACtDw7E,SAAU,GAA6BnlB,EAAKmlB,UAC5C7tF,KAAMq1H,GAAU43E,KARpBvkI,GAaR1oE,EAAO0lG,GAAYvyF,SAK/B,MAAO,CAAEnT,OAAM0oE,OAAM1kC,gBAj+SAm4L,CAA0BzzJ,EAAMsvJ,GAC7C,MAGJ,KAAK,EACDC,EAAamE,GAA2B1zJ,EAAMsvJ,EAAiB9tJ,GAC/D,MAGJ,KAAK,EACD+tJ,EAAaoE,GAA+B3zJ,EAAMsvJ,GAClD1nB,GACI5nI,EAAK2lB,eACL4pI,EAAWj4N,OACTi4N,EAAWj0L,aACb0kC,EAAKqlB,iBAET,MAGJ,KAAK,GACL,KAAK,GACDkqI,EAkoVZ,SAA8BvvJ,EAA0Bq4I,GAGpD,IAAIga,EAAwBha,EAE5B,GAAIA,GAAgBn6G,GAAQm6G,GAAe,CACvC,IAAIka,EAEJ79G,GAAiB2jG,GAAej6G,IAC5B,IAAKm0H,EAAiB,CAClB,MAAMC,EAAgBjsB,GAAmBvmI,GAAM,IACpC4zJ,GAA6B5zJ,EAAMo+B,KAG1Co0H,GAAiB/kG,GAAcrvB,EAASo0H,EAAcl7N,QACtDi7N,EAAkBn0H,OAK9Bi0H,EAAwBE,EAG5B,GAAIF,EAAuB,CACvB,MAAM/5M,EAASs7M,GAA6B5zJ,EAAMqyJ,GAClD,GAAI/5M,EACA,OAAOA,EAIf,OAuEJ,SAAsC0nD,EAA0B6zJ,GAC5D,MAAMC,EAAqC,KAAlB9zJ,EAAKjB,SAAkC,OAAS,MACzE,IAAIklC,GAAmB,EACnB3oE,GAAe,EAEf8rK,EAAqB,GACzBpnI,EAAK9+C,QAAQtD,SAAQ,CAACm0C,EAAOtvC,KACzB,IAAIsxM,EAGAA,EADmB,KAAnBhiK,EAAMgN,SACYi1J,GAAoCjiK,GAEpCm8D,EACdn8D,EACmB8hK,EAAkBv2H,GAAUsG,mBAAgBxsG,GAInE28N,EAAgBz4L,eAChBA,GAAe,GAGf7Y,EA1vWoB,IA2vWpB2kL,EAAWzzM,KAAKogO,EAAgBz8N,SAIxC8vM,EAAaA,EAAWhrL,KAAKyoC,GAAM8xD,GAAkB9xD,KAErD,IAAIovK,EAA0BJ,EAAkBt2H,GAAQ9yF,SAAWuyF,GAAYvyF,SAC/E,GAAI28L,EAAW9zM,OAAS,EAAG,CACvB,MAAMwtE,EAAW,GAA6Bd,GAQ1Ci0J,EAJsB,SAArBH,GAA+BhzJ,EAASgsD,kBAAkBiuC,qBACrC,QAArB+4D,GAA8BhzJ,EAASgsD,kBAAkBkuC,oBAC1D64D,EAEoBvwH,GAAa8jG,EAvwWd,IA0wWC1wF,GAAa0wF,GAAsC,GACjEA,EAAW,GACX6sB,OAGVhwH,GAAmB,EAGvB,MAAMiwH,EAAiB1pG,GAAexqD,EAAM8zJ,GAc5C,MAAO,CAAEx8N,KAbIknG,GAAoB01H,GAC3Bh3H,GAAUgK,gBACNhK,GAAUkK,uBACN8sH,EACA,CAACD,IAC4B,OACL78N,OACCA,EACzB6sG,IAGRjH,GAAYvyF,SAEHu1D,OAAM1kC,gBAvId64L,CAA6Bn0J,OAA6C5oE,IAAjBihN,GAhqV3C+b,CAAqBp0J,EAAMsvJ,GACxC,MAGJ,KAAK,GACDC,EAssWZ,SAA0BvvJ,GActB,OAZIA,EAAKgsB,YACLkiC,EAAoBluD,EAAKgsB,YAGzBhsB,EAAKisB,UACLiiC,EAAoBluD,EAAKisB,UAGzBjsB,EAAKksB,WACLgiC,EAAoBluD,EAAKksB,WAGtB,CAAE50F,KAAMurM,GAAiB7iI,EAAM,SAAUA,QAptW3Bq0J,CAAiBr0J,GAC9B,MAGJ,KAAK,EAAqB,CACtB,MAAMqyJ,EAAwBha,EACxBic,GAA0Bt0J,EAAMq4I,GAAgC,QAChEjhN,EAEAi8N,EAAiBnlG,EAAoBluD,EAAK3V,WAAYgoK,EAAuB7wJ,GACnF+tJ,EAAa,CACTj4N,KAAMi9N,GAAqBlB,EAAe/7N,KAAM0oE,EAAK3V,YACrD2V,QAGAqzJ,EAAe/3L,eACfi0L,EAAWj0L,cAAe,GAE9B,MAGJ,KAAK,GACDi0L,EA6zVZ,SAA4BvvJ,EAAmBwB,EAAuB62I,GAClEnqF,EAAoBluD,EAAKqjB,gBAEzB,MAAMmxI,EAAyB,GAC/B,IAAIl5L,GAAe,EAEnB,GAAImlK,GAAgBzgI,EAAK6lB,cAAe,CACpC,MAAM4uI,EAASvmG,EAAoBluD,EAAK6lB,aAAcwyH,EAAc72I,GACpEgzJ,EAAe7gO,KAAK8gO,EAAOn9N,MACvBm9N,EAAOn5L,eACPA,GAAe,GAIvB,GAAImlK,GAAgBzgI,EAAK8lB,gBAAiB,CACtC,MAAM4uI,EAAWxmG,EAAoBluD,EAAK8lB,eAAgBuyH,EAAc72I,GACxEgzJ,EAAe7gO,KAAK+gO,EAASp9N,MACzBo9N,EAASp5L,eACTA,GAAe,GAIvB,MAAO,CAAEhkC,KAAMgsG,GAAakxH,GAAiBx0J,OAAM1kC,gBAn1V9Bq5L,CAAmB30J,EAAMwB,EAAO8tJ,GAC7C,MAGJ,KAAK,GACDC,EA8/VZ,SAAsCvvJ,EAA6Bq4I,GAC/D,IAAI/8K,GAAe,EAEnB,MAAMs5L,EAAoBZ,GAAoCh0J,GAC1D40J,EAAkBt5L,eAClBA,GAAe,GAEnB,MAAMujK,EAAc+1B,EAAkBt9N,KAEtC,IAAI43F,EAAUlvB,EAAKkmB,WAAWn/B,MAAMuyH,GAET,KAAlBA,EAAKv6G,UAAmDu6G,EAAKpqF,SAC3C,KAAlBoqF,EAAKv6G,UAC+B,IAAjCu6G,EAAKj2F,eAAetkB,WAG5BznE,EAAa0lG,GAAYvyF,SAEI,IAA7Bu1D,EAAK3V,WAAW0U,WAChBmwB,GAAU,IAMTA,GACDmpH,GACA55G,GAAgB45G,IAChBn7G,GAAUqH,UAAU8zG,EAAc,oBAElCnpH,GAAU,GAEd,MAAM2lI,EAAsBzwB,GAAcpkI,EAAMkvB,EAAU,iBAAmB,aAc7E,OAZI2lI,GAAuBr2H,GAAoBq2H,KAC3Cv9N,EAAO4lG,GAAUgK,gBACbhK,GAAUkK,uBACNytH,EACA3lI,EACM,CAAC2vG,EAAaxhG,GAASgN,kBACvB,CAACw0F,EAAaxhG,GAASgN,iBAAkBhN,GAASgN,mBAC3B,KAKlC,CAAE/yG,OAAM0oE,OAAM1kC,gBA5iWAw5L,CAA6B90J,EAAMsvJ,GAChD,MAGJ,KAAK,GACDC,EAovUZ,SAA+BvvJ,EAAsBq4I,GAGjD,IAoBI0c,EApBA1C,EAAwBha,EAE5B,GAAIA,GAAgBn6G,GAAQm6G,GAAe,CACvC,IAAIka,EAEJ79G,GAAiB2jG,GAAej6G,IAC5B,IAAKm0H,EAAiB,CAClB,MAAMC,EAAgBjsB,GAAmBvmI,GAAM,IACpCg1J,GAA8Bh1J,EAAMo+B,KAG3Co0H,GAAiB/kG,GAAcrvB,EAASo0H,EAAcl7N,QACtDi7N,EAAkBn0H,OAK9Bi0H,EAAwBE,EAI5B,GAAIF,EAAuB,CACvB0C,EAA2B,IAAI/tG,GAC/B,MAAM1uG,EAAS08M,GAA8Bh1J,EAAMqyJ,EAAuB0C,GAC1E,GAAIz8M,EACA,OAAOA,EAKf,MAAO,IADQ28M,GAA8Bj1J,IAA8Bq4I,GACvD0c,4BArxUCG,CAAsBl1J,EAAMsvJ,GACzC,MAGJ,KAAK,GACDC,EAo4VZ,SAA2BvvJ,EAAkBq4I,GACzC,MAAMvsG,EAAe3O,GAAakN,eAAe,GAAI,GAAI,GAAI,GAC7DyB,EAAajN,QAAQyG,eAAiB2lB,GAAkBjrD,GAGxDmuJ,EAAenuJ,EAAM8rC,EAAc,GAAwC,GAE3E,IAAIqpH,EAAwC,GAC5C,GAAI9c,EAAc,CACdjiG,GAAYiiG,GAAej6G,IAKvB,GAJIgB,GAAWhB,IACX+2H,EAAsBxhO,KAAKyqG,GAG3BK,GAAgBL,GAAU,CAC1B,MAAMg3H,EAAal8G,GAAmB9a,EAAS,YAC/C,GAAIg3H,EAAY,CACZ,MAAM1kE,EAAaZ,GAAgBslE,GACnC,GAAI1kE,GAActxD,GAAWsxD,GAAa,CACtC,MAAM2kE,EAAcxsE,GAA4BzqD,EAASsyD,GAErD2kE,GACAF,EAAsBxhO,KAAK0hO,SAW/C,MAAMC,EAAsBt1J,EAAKrkC,WAAWwlB,QACvCzlC,GAA6B,IAAnBA,EAAMk7C,eAAgEx/D,IAAvBskB,EAAM8vE,eAClEl4F,OACIiiO,EAAsBv1J,EAAKrkC,WAAWwlB,QACvCzlC,GAA6B,IAAnBA,EAAMk7C,WACnBtjE,OAIF6hO,EAAwBA,EAAsBh0K,QAAQ2qD,IAClD,MAAM0pH,EAAqB1pH,EAAajN,QAAQljE,WAAWwlB,QACtDzlC,KAAYA,EAAM/W,OAAS+W,EAAM0vF,aACpC93G,OAIF,OAHmBw4G,EAAajN,QAAQljE,WAAWorB,MAC9CrrC,KAAYA,EAAM/W,MAA2B,IAAnB+W,EAAMk7C,YAIhC4+J,GAAsBF,GAAuBE,GAAsBD,KAMhF,MAAME,EAAuBN,EAAsB7hO,OAAS,EAAI6hO,EAAsB,QAAK/9N,EAE3F4oE,EAAKrkC,WAAW/d,SAAQ,CAAClC,EAAO+G,KAC5B,IAAI63F,EAAkBtd,GAAYvyF,SAC9BgrN,GAAwBhzM,EAAQgzM,EAAqB52H,QAAQljE,WAAWroC,SACxEgnH,EAAYnd,GAAamE,0BAA0Bm0H,EAAsBhzM,IAGzE/G,EAAM/W,MACNwpN,EACIzyM,EAAM/W,KACN+wN,GAA2B11J,EAAMtkD,EAAMk7C,SAAU0jD,GAAU,GAExC,GAIvB5+F,EAAM8vE,cAEN0iC,EAAoBxyG,EAAM8vE,kBAAcp0F,EAAW,GAGvD,MAAMu+N,EAAmC,CACrC/+J,SAAUl7C,EAAMk7C,SAChBjyD,KAAM+W,EAAM/W,KAAO+W,EAAM/W,KAAK/O,WAAQwB,EACtCg0G,aAAc1vF,EAAM8vE,aACpBysD,uBAAwBv8H,EAAM8vE,aAC9B8f,iBAAiB,EACjBh0G,KAAMgjH,GAEVnd,GAAa6O,aAAaF,EAAc6pH,MAG5C,MAAMC,EAAqBH,EACrBI,GAA+BJ,QAC/Br+N,EAiBN,OAZIy1N,EAAuB/H,cAAc9kJ,GACrCumI,GACIvmI,EAAK3V,YACL,KACIyhD,EAAanK,mBAAqBusB,EAAoBluD,EAAK3V,WAAYurK,GAAoBt+N,QAErE,GAG9Bw0G,EAAanK,mBAAqBusB,EAAoBluD,EAAK3V,WAAYurK,GAAoBt+N,KAGxF,CAAEA,KAAMw0G,EAAc9rC,QAj/VR81J,CAAkB91J,EAAMsvJ,GACrC,MAGJ,KAAK,EACDC,EAAarhG,EAAoBluD,EAAKqlB,iBACtCuiH,GACI5nI,EAAKhB,eACLuwJ,EAAWj4N,MACY,EACvB0oE,EAAKqlB,iBACuB,GACI,GAEpC,MAGJ,KAAK,EACDkqI,EAAarhG,EAAoBluD,EAAKqlB,iBACtCuiH,GACI5nI,EAAKr7D,KACL4qN,EAAWj4N,MACY,EACvB0oE,EAAKqlB,iBACuB,GAEhC,MAGJ,KAAK,GACDkqI,EAyyVZ,SAA0BvvJ,GACtB,IAAI+1J,EACAC,EACA16L,GAAe,EAEnB,MAAM+0J,EAAoB,GAAoCrwH,GAC9D,GAAIqwH,EAAmB,CACnB,MAAM4lC,EAAmBtrE,GAAkB0lC,GAC3C,GAAI4lC,EAAkB,CAClB,MAAMv0H,EAAavE,GAAagQ,yBAAyB8oH,EAAiBnqH,cAC1E,GAAIpK,EAAY,CACZ,MAAM0Z,EAAoBC,GAAqB3Z,GAE3C0Z,IACIA,EAAkB9nH,QAAU,IAC5ByiO,EAAoB36G,EAAkB,IAGtCA,EAAkB9nH,QAAU,IAC5B0iO,EAAW56G,EAAkB,OAcjD,OAPIp7C,EAAK3V,YACc6jE,EAAoBluD,EAAK3V,WAAY0rK,GACzCz6L,eACXA,GAAe,GAIhB,CAAEhkC,KAAM0+N,GAAYh5H,GAAYvyF,SAAUu1D,OAAM1kC,gBA10VlC46L,CAAiBl2J,GAC9B,MAGJ,KAAK,GACDuvJ,EAw0VZ,SAA8BvvJ,GAC1B,MAAM0rI,EAAgBx9E,EAAoBluD,EAAK3V,YAAY/yD,KAC3D,IAEI6+N,EAFA/6G,EAAoBC,GAAqBqwF,GAoB7C,OAfItwF,EACA+6G,EAAe/6G,EAAkB9nH,QAAU,EAAI8nH,EAAkB,GAAKpe,GAAYvyF,SAC3Eg0F,GAAgBitG,IAAkBxuG,GAAUqH,UAAUmnG,EAAe,aAE5EyqB,EAAen5H,GAAYvyF,UAK3B2wG,EAAoBC,GAHCswF,GAAoBD,GAA6B,EAAO1rI,IAASg9B,GAAYvyF,UAI9F2wG,IACA+6G,EAAe/6G,EAAkB9nH,QAAU,EAAI8nH,EAAkB,GAAKpe,GAAYvyF,WAInF,CAAEnT,KAAM6+N,GAAgBn5H,GAAYvyF,SAAUu1D,QA91VhCo2J,CAAqBp2J,GAClC,MAGJ,KAAK,GAAsB,CACvB,IAAIq2J,EACJ,GAAI/G,EAAiB,CACjB,MAAMgH,EAAe9rG,GAAexqD,EAAM,YACtCs2J,GAAgB93H,GAAoB83H,KACpCD,EAAmBn5H,GAAUgK,gBACzBhK,GAAUkK,uBACNkvH,EACA,CAAChH,IAC4B,KAM7C,MAAMiH,EAAiBroG,EAAoBluD,EAAK3V,WAAYgsK,EAAkB70J,GACxEg1J,EAAWD,EAAej/N,KAM5Bi4N,EAJoD,IAA3C,IAAR/tJ,IACDo9B,GAAkB43H,KACjBA,EAASx3H,mBAEG,CAAE1nG,KAAMomG,GAAYsK,iBAAiBwuH,GAAWx2J,QAGK,IAArD,QAARwB,IACDg9B,GAAoBg4H,IACpBt5H,GAAUqH,UAAUiyH,EAAU,SAEjB,CAAEl/N,KAAM4lG,GAAU8K,iBAAiBwuH,GAAWx2J,QAG9C,CAAE1oE,KADFs0M,GAAoB4qB,GAAwB,EAAOx2J,IAASg9B,GAAYvyF,SAChEo2G,aAAc21G,EAAUx2J,OAAM1kC,aAAci7L,EAAej7L,cAGxF,MAGJ,KAAK,GACDi0L,EAAarhG,EACTluD,EAAKslB,oBACLluF,EACA,OAOJ,MAGJ,KAAK,EAGD4xM,GAAoBhpI,GAAM,KAClBA,EAAKhR,OACLk/D,EAAoBluD,EAAKhR,UAGjCugK,EAAa,CAAEj4N,KAAM0lG,GAAYvyF,SAAUu1D,QA2DnD,OAtDKuvJ,GAED/kK,EAAK,8BAA8B,GAA+BwV,QAGlEwvJ,GAA8BD,EAAWj0L,eAC7B,IAARkmC,GAEIm9B,GAAU4wH,EAAWj4N,OACrBi4N,EAAWj4N,KAAKunG,QAAQC,aACvBywH,EAAWj4N,KAAK03G,oBAEjB+e,GAAS7D,GAAUv4F,WAAWi5G,sBAAuB5qE,GACrDuvJ,EAAWj4N,KAAO0lG,GAAYvyF,UAIjCqyF,GAASgB,eAAeyxH,EAAWj4N,QAEhCmnG,GAAgB8wH,EAAWj4N,OAC3B4lG,GAAUuM,aAAa8lH,EAAWj4N,OACa,KAAb,QAAlC,EAAAi4N,EAAWj4N,KAAK+oG,0BAAkB,eAAE/sG,UAGpCmjO,GAA2BlH,EAAWj4N,KAAM0oE,GAC5CuvJ,EAAWj4N,KAAO0lG,GAAYvyF,UAK9B,MAAR+2D,GACIo1C,GAAuB24G,EAAWj4N,QAClCi4N,EAAWj4N,KAAKunG,QAAQ63H,0BAA2B,GAOtD9/G,GAAuB24G,EAAWj4N,QACnC62N,EACInuJ,EACAuvJ,EAAWj4N,KACXkqE,IACE+tJ,EAAWj0L,aACb+8K,GAC8B,IAG9BA,GAAiBp6G,GAAeo6G,IAAkB16G,GAAQ06G,IAC1DuU,EAAkBnvN,IAAIuiE,EAAK9qD,GAAImjM,IAIhCkX,EAGX,SAASoH,EAAgC71J,GACrC,YACkD1pE,IAA9C0pE,EAASkxG,cAAcn1K,IAAI,gBAC3BikE,EAASqwH,qBAAqB97G,eAAiB3gB,GAAcylH,OAC7Dr5G,EAASoM,WAIjB,SAAS0pJ,EAA6BC,EAA+BpyI,GACjE,OAAOqyI,EAAoBD,EAAe,CACtCE,4BAA4B,EAC5BC,kBAAqC,IAAlBvyI,EACnBwyI,4BAA4B,EAC5BC,uBAA0C,IAAlBzyI,EACxB0yI,mBAAsC,IAAlB1yI,IAI5B,SAASqyI,EAAoB92J,EAAsBtzD,G,UAC/C,MAAMo0D,EAAW,GAA6Bd,GAI9C,GAAIc,EAASsuH,kBAAoBtuH,EAASqiJ,2BAA4B,CAClE,MAAMiU,EA+hYd,SAAwCp3J,GACpC,IAAKA,EAAKviC,QAAmC,KAAzBuiC,EAAKviC,OAAOshC,SAC5B,OAGJ,GAA6C,KAAzCiB,EAAKviC,OAAO2hC,gBAAgBL,SAC5B,OAGJ,MACMu9H,EADWt8H,EAAKviC,OAAO2hC,gBACCxpE,MA4BxByhO,EA1B2C,IAAIjhN,IAAI,CACrD,CAAC,QAAS,CAAEquD,MAAO,QAASr6D,OAAQ,aACpC,CAAC,UAAW,CAAEq6D,MAAO,GAAIr6D,OAAQ,aACjC,CAAC,WAAY,CAAEq6D,MAAO,GAAIr6D,OAAQ,aAClC,CAAC,WAAY,CAAEq6D,MAAO,GAAIr6D,OAAQ,aAClC,CAAC,OAAQ,CAAEq6D,MAAO,OAAQr6D,OAAQ,aAClC,CAAC,WAAY,CAAEq6D,MAAO,GAAIr6D,OAAQ,aAClC,CAAC,QAAS,CAAEq6D,MAAO,GAAIr6D,OAAQ,aAC/B,CAAC,UAAW,CAAEq6D,MAAO,GAAIr6D,OAAQ,aACjC,CAAC,YAAa,CAAEq6D,MAAO,aAAcr6D,OAAQ,SAC7C,CAAC,QAAS,CAAEq6D,MAAO,GAAIr6D,OAAQ,aAC/B,CAAC,WAAY,CAAEq6D,MAAO,GAAIr6D,OAAQ,aAClC,CAAC,YAAa,CAAEq6D,MAAO,GAAIr6D,OAAQ,aACnC,CAAC,YAAa,CAAEq6D,MAAO,GAAIr6D,OAAQ,aACnC,CAAC,cAAe,CAAEq6D,MAAO,GAAIr6D,OAAQ,aACrC,CAAC,YAAa,CAAEq6D,MAAO,GAAIr6D,OAAQ,aACnC,CAAC,kBAAmB,CAAEq6D,MAAO,GAAIr6D,OAAQ,aACzC,CAAC,SAAU,CAAEq6D,MAAO,GAAIr6D,OAAQ,aAChC,CAAC,WAAY,CAAEq6D,MAAO,GAAIr6D,OAAQ,aAClC,CAAC,cAAe,CAAEq6D,MAAO,GAAIr6D,OAAQ,aACrC,CAAC,OAAQ,CAAEq6D,MAAO,GAAIr6D,OAAQ,aAC9B,CAAC,WAAY,CAAEq6D,MAAO,GAAIr6D,OAAQ,aAClC,CAAC,QAAS,CAAEq6D,MAAO,GAAIr6D,OAAQ,aAC/B,CAAC,gBAAiB,CAAEq6D,MAAO,GAAIr6D,OAAQ,eAGRvN,IAAIy/L,GACvC,GAAI+6B,EAAe,CACf,MAAMhT,EAAa2J,EAAchuJ,EAAM,GACvC,GAAIqkJ,EAEA,OADAj6J,EAAOo0C,GAAoB6lH,IACpBA,EAEX,MAAM+S,EAAcE,GAA0Bt3J,EAAMs8H,EAAc+6B,GAElE,OADAlJ,EAAenuJ,EAAMo3J,EAAa,GAAwC,GACnEA,GA9kYaG,CAA+Bv3J,GACnD,GAAIo3J,EACA,OAAOA,EAIf,IAAII,EACA,MAKA9qN,aAAO,EAAPA,EAAS+qN,wBACTD,GAAkB,QAGjB9qN,aAAO,EAAPA,EAASgrN,cACVF,GAAkB,KAGjB9qN,aAAO,EAAPA,EAASirN,iBACVH,GAAkB,SAGjB9qN,aAAO,EAAPA,EAASsqN,mBAGVQ,GAAkB,QAFlBA,GAAkB,KAKjB9qN,aAAO,EAAPA,EAASkrN,kBACVJ,GAAkB,KAGlB9qN,aAAO,EAAPA,EAASqqN,4BACTS,GAAkB,KAElBA,GAAkB,MAGlB9qN,aAAO,EAAPA,EAASuqN,8BACTO,GAAkB,QAGlB9qN,aAAO,EAAPA,EAASwqN,0BACTM,GAAkB,UAGlB9qN,aAAO,EAAPA,EAASyqN,sBACTK,GAAkB,UAGlB9qN,aAAO,EAAPA,EAASmrN,0BACTL,GAAkB,QAGlBb,EAAgC71J,KAChC02J,GAAkB,GAKI,KAAV,QAAZ,EAAAx3J,aAAI,EAAJA,EAAMviC,cAAM,eAAEshC,WAAyCiB,EAAKviC,OAAOsrD,wBAA0B/oB,EAC7Fw3J,GAAkB,OACW,MAAV,QAAZ,EAAAx3J,aAAI,EAAJA,EAAMviC,cAAM,eAAEshC,WACjBiB,EAAKviC,OAAOioD,uBAAyB1lB,GAAQA,EAAKviC,OAAOgoD,qBAAqB1+B,MAAMjuD,GAAMA,IAAMknE,OAChGw3J,GAAkB,QAEO,MAAV,QAAZ,EAAAx3J,aAAI,EAAJA,EAAMviC,cAAM,eAAEshC,WACjBiB,EAAKviC,OAAOsrD,wBAA0B/oB,IACtCw3J,GAAkB,QAI1B,MAAMM,EAAiB5pG,EAAoBluD,OAAyB5oE,EAAWogO,GAAgBlgO,KAW/F,OATIonG,GAASo5H,IACTjrG,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWstG,eACrBj/D,GAID+2C,GAAkB+gH,GAG7B,SAASC,EAAqB/3J,EAAqBg4J,GAE/C,IAAIx2J,EAAQ,GAA6BxB,GAAMkN,WACzC,EACA,EAC2B,IAA7BlN,EAAK3V,WAAW0U,WAChByC,GAAS,GAGb,MAAMy2J,EAAsB/pG,EAAoBluD,EAAK3V,gBAA+BjzD,EAAWoqE,GAK/F,GACIg9B,GAAoBy5H,EAAoB3gO,OACxC4lG,GAAUqH,UAAU0zH,EAAoB3gO,KAAM,gBAC9C2gH,GAAW+/G,GAEX,OAAOA,EAGX,MAAM/xI,EAAU,CACZ,CACI/mB,iBAAkB,EAClB5nE,KAAM0gO,IAIRt2H,EACFw2H,GACIl4J,EAAK3V,WACL47B,EACAgyI,EAAoB3gO,UACHF,GACS,GAC5BsqG,YAAc1E,GAAYvyF,SAKhC,OAAI20F,GAAWsC,IAAgBA,EAAW7C,QAAQ2C,oBAEzCE,EAAW7C,QAAQljE,WAAWorB,MAAK,CAACrrC,EAAO+G,MAEnC/G,EAAM/W,OAAQ+W,EAAM4vF,kBAKF,IAAnB5vF,EAAMk7C,UAKO,IAAVn0C,GAAgB/G,EAAMkvF,mBAUrCmR,GAAgBra,IACZtC,GAAW64H,EAAoB3gO,QAE1B2gO,EAAoB3gO,KAAKunG,QAAQljE,WAAWkoC,MAAMnoD,QAAmCtkB,IAAzBskB,EAAM4pE,uBACXluF,IAAxD6gO,EAAoB3gO,KAAKunG,QAAQ2C,mBAE1Bw2H,EAKZt2H,EAlBQs2H,EAqBnB,SAAS/2B,EAAW3pM,EAAYyoG,EAAiB,GAC7C,GAAIA,EAAiBlD,GACjB,OAAO,EAIX,OAFAkD,IAEQzoG,EAAKs/D,UACT,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,OAAO,EAGX,KAAK,EACD,YAA+Ex/D,IAAxE6qG,GAAY3qG,GAAO8mG,GAAY6iG,EAAW7iG,EAAS2B,KAG9D,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,GACD,OAAO,EAGX,KAAK,EAAoB,CACrB,GAAIjD,GAASgB,eAAexmG,GACxB,OAAO,EAIX,GAAImyG,GAAanyG,IAASA,EAAK+oG,mBAC3B,OAAO6X,GAAsB5gH,IAA4C,IAAnCA,EAAK+oG,mBAAmB/sG,OAIlE,GAAI4pG,GAAUqH,UAAUjtG,EAAM,cAAiCF,IAAtBE,EAAK0sG,aAC1C,OAA6B,IAAtB1sG,EAAK0sG,aAMhB,GAAI9G,GAAU+L,gBAAgB3xG,GAC1B,OAAO,EAIX,GADkB4hH,GAAmB5hH,EAAM,WAEvC,OAAO,EAGX,MAAM6gO,EAAaj/G,GAAmB5hH,EAAM,YAC5C,GAAI6gO,EAAY,CACZ,MAAMC,EAAiBtoE,GAAgBqoE,GAGvC,GAAI/4H,GAAWg5H,IAAmBA,EAAev5H,QAAQ2C,mBAAoB,CACzE,MAAME,EAAa02H,EAAev5H,QAAQ2C,mBAC1C,GACI/C,GAAgBiD,IAChBxE,GAAUqH,UAAU7C,EAAY,UACJ,IAA5BA,EAAWsC,aAEX,OAAO,EAIf,OAAO,EAGX,OAAO,IAKnB,SAAS+8F,EAAYzpM,EAAYyoG,EAAiB,GAC9C,GAAIA,EAAiBlD,GACjB,OAAO,EAIX,OAFAkD,IAEQzoG,EAAKs/D,UACT,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,GACL,KAAK,EACL,KAAK,EACD,OAAO,EAGX,KAAK,EACD,YAAgFx/D,IAAzE6qG,GAAY3qG,GAAO8mG,GAAY2iG,EAAY3iG,EAAS2B,KAG/D,KAAK,EACL,KAAK,EACD,OAAO,EAGX,KAAK,EAAoB,CACrB,GAAIjD,GAASgB,eAAexmG,GACxB,OAAO,EAIX,GAAImyG,GAAanyG,IACTA,EAAK+oG,oBAA0D,IAApC/oG,EAAK+oG,mBAAoB/sG,OACpD,OAAO,EAKf,IAC0B,IAAtBgE,EAAK0sG,cACiB,IAAtB1sG,EAAK0sG,cACL1sG,EAAK0sG,eAAiB3kG,OAAO,IACP,KAAtB/H,EAAK0sG,aAEL,OAAO,EAMX,GAAI9G,GAAU+L,gBAAgB3xG,GAC1B,OAAO,EAGX,MAAM6gO,EAAaj/G,GAAmB5hH,EAAM,YAC5C,GAAI6gO,EAAY,CACZ,MAAMC,EAAiBtoE,GAAgBqoE,GAGvC,GAAI/4H,GAAWg5H,IAAmBA,EAAev5H,QAAQ2C,mBAAoB,CACzE,MAAME,EAAa02H,EAAev5H,QAAQ2C,mBAC1C,GACI/C,GAAgBiD,IAChBxE,GAAUqH,UAAU7C,EAAY,UACJ,IAA5BA,EAAWsC,aAEX,OAAO,GAKnB,OAAO,IAUnB,SAASk9F,EAAyB5pM,GAC9B,OAAO8+G,GAAY9+G,GAAO8mG,IACtB,GAAIK,GAAgBL,GAAU,CAC1B,QAA6BhnG,IAAzBgnG,EAAQ4F,aAGR,OAAQ5F,EAAQ4F,kBAAyB5sG,EAAVgnG,EAKnC,GAAIlB,GAAUqH,UAAUnG,EAAS,QAC7B,OAAOlB,GAAUyH,iBAAiBvG,GAAqB,GAK/D,GAAI6iG,EAAW7iG,GACX,OAAOA,KAWnB,SAAS4iG,EAAwB1pM,GAC7B,OAAO8+G,GAAY9+G,GAAO8mG,IACtB,GAAIK,GAAgBL,GAAU,CAC1B,QAA6BhnG,IAAzBgnG,EAAQ4F,aAGR,OAAO5F,EAAQ4F,aAAe5F,OAAUhnG,EAK5C,GAAI8lG,GAAUqH,UAAUnG,EAAS,QAC7B,OAAOlB,GAAUyH,iBAAiBvG,GAAqB,GAK/D,GAAI2iG,EAAY3iG,GACZ,OAAOA,KAYnB,SAAS2oG,GACL7pD,EACA52C,EACA3mC,EACAmuD,EAAwB,CAAE51G,OAAQ,OAClC4vG,EACAuwG,EAAoB,EACpBC,GAEA,MAAM7nE,EAAa8nE,GACfr7E,EACAhgD,GAAUmJ,oBAAoBC,GAC9B3mC,EACAmuD,EACAhG,EACoB,EAApBuwG,EACAC,GAGJ,GAAI7nE,EACA,MAAO,CACHzwF,KAAMk9E,EACN5lJ,KAAMm5J,EAAWn5J,KACjBgkC,eAAgBm1H,EAAWk3C,iBAC3B2iB,uBAAwB75D,EAAW65D,wBAQ/C,SAASkO,GACLt7E,EACA32C,EACA5mC,EACAmuD,EAAwB,CAAE51G,OAAQ,OAClC4vG,EACAuwG,EAAoB,EACpBC,GAEA,IAAI7nE,EAEJ,GAAIvzD,GAAUqM,uBAAuBhD,GAOjC,OANAsmB,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAWyhG,uBAAuBzpH,OAAO,CAAEhF,KAAM4hG,EAAU1H,QAAQl6F,OAC7Eu4I,GAEG,CAAEl9E,KAAMk9E,EAAW5lJ,KAAM0lG,GAAYvyF,UAiBhD,GAdsE,IAA7C,GAApB4tN,KACD5nE,EAAa8nE,GACTr7E,EACA32C,EACA5mC,EACAmuD,EACAhG,EACoB,EAApBuwG,EACAC,IAOJ7nE,GACAA,EAAWlqD,WACXkqD,EAAWx9E,QACXsrB,GAAQkyD,EAAWlqD,YACnBrJ,GAAU+L,gBAAgBwnD,EAAWlqD,WACvC,CACE,MAAMiiD,EAAc12C,GAA8B2+C,EAAWx9E,QACzDu1E,GAAoC,IAArBA,EAAYlxJ,OAAsCm5J,EAAW9/C,YAC5Ekc,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAWwyG,4BAA4Bx6H,OAAO,CACpDg2D,aACAqoB,UAAWyoE,EAAWlqD,UAAU1H,QAAQl6F,OAE5Cu4I,GAMZ,IAAKuT,EAAY,CACb,MAAM70C,EAAYrV,EAAU1H,QAAQmI,mBAChC4U,GAAapd,GAAoBod,KAAe1e,GAAU+C,mBAAmB2b,EAAWrV,KACxFkqD,EAAa8nE,GACTr7E,EACAthC,EACAj8C,EACAmuD,OACW12H,EACXihO,EACA9xH,IAKZ,OAAIkqD,EACO,CACHzwF,KAAMk9E,EACN5lJ,KAAMm5J,EAAWn5J,KACjBgkC,eAAgBm1H,EAAWk3C,iBAC3B2iB,uBAAwB75D,EAAW65D,6BAL3C,EAYJ,SAASmO,GACLlyH,EACA5mC,EACA+4J,GAAgC,GAEhC,MAAMjoE,EAAat3C,GAAkB5S,EAAW5mC,EAAY,GAE5D,GAAI8wF,EAAY,CACZ,MAAMkoE,EAAoB7oE,GAAgBW,GAC1C,GAAIrxD,GAAWu5H,IAAsBt5H,GAAqBs5H,GAAoB,CAC1E,MAAMtD,EAAcxsE,GAChB3rD,GAAUgK,gBAAgBX,GAC1BoyH,OACkBvhO,OACFA,OACKA,EACrBshO,GAGJ,GAAIrD,EACA,OAAOA,IAQvB,SAAS70E,GAA8BxgF,EAAoB26C,GACvD,GAAIA,GAAc36C,EAAKrkC,WAAWroC,OAC9B,OAGJ,MAAMooB,EAAQskD,EAAKrkC,WAAWg/E,GAC9B,GAAIj/F,EAAM4pE,eACN,OAAO5pE,EAAM4pE,eACV,GAAI5pE,EAAMqtE,sBACb,OAAOrtE,EAAMqtE,sBAGjB,IAAK/oB,EAAK0qB,2BAA6B1qB,EAAK0qB,0BAA0BlF,oBAClE,OAGJ,IAAIozI,EAA8B,EAClC,MAAMnlI,EAAmBzzB,EAAK0qB,0BAA0BjF,qBACpDgO,EAAiBngG,OAAS0sE,EAAKrkC,WAAWroC,SAC1CslO,EAA8B,GAGlC,MAAMC,EAAWl+G,EAAai+G,EAC9B,OAAIC,EAAW,GAAKA,GAAYplI,EAAiBngG,YAAjD,EAIOmgG,EAAiBolI,GAgK5B,SAASC,GAAoBzuK,GACzB,GAA4B,KAAxBA,EAAW0U,UACiC,KAAxC1U,EAAW+U,gBAAgBL,SAAiC,CAC5D,MAAMs7E,EAAkBJ,GACpB5vF,EACAA,EAAW+U,gBAAgBxpE,OACP,GAExB,GAAIykJ,EAEA,YAAyFjjJ,IAD1EijJ,EAAgBpnE,OACjBy+B,kBAAkB7tC,MAAMrD,GAAS0zB,GAA+B1zB,KAK1F,OAAO,EAKX,SAASu4J,GAA6B1uK,EAA4ByjE,GAC9D,IAAI76C,EACA+lJ,EACAC,EACAC,GAAe,EAEnB,OAAQ7uK,EAAW0U,UACf,KAAK,GAAoB,CACrB,MAAMs7E,EAAkBJ,GAAsB5vF,EAAYA,EAAWz0D,OAA2B,GAChG,GAAIykJ,IACApnE,EAASonE,EAAgBpnE,YAMe77E,IAApC68M,GAAwBhhI,IACO,IAA/BonE,EAAgBl6E,MAAM7oE,MACxB,CACE,MAAMg4H,EAAiB,GAA2CjlE,GAClE,GAAIilE,GAA8C,KAA5BA,EAAevwD,SAAkC,CACnE,MAAM24I,EAAgB/yF,GAAe2K,GACrC,GAAIooF,EAAe,CACf,MAAMga,EAAkBv4G,GACpBu+F,EAAcnxG,UACdl8C,EAAWz0D,MACX,IAGA87N,IACAz+I,EAASy+I,EAAgBz+I,UAM7C,MAGJ,KAAK,GACD,OAAO8lJ,GAA6B1uK,EAAW+U,iBAGnD,KAAK,GAA4B,CAC7B,MAAMyuD,EAAWqzB,GACbhzB,EACI7jE,EAAW2U,oBACQ5nE,EAAS,GAE9BE,MAEN,IAAIo6N,EAEAjzH,GAAgBovB,IAChB6jG,EAAkBx4G,GACd2U,EACAxjE,EAAWsV,WAAW/pE,MAAK,IAG/BojO,EAAoBnrG,EACpBorG,EAAoBvH,aAAe,EAAfA,EAAiBnrH,WAIjCmrH,aAAe,EAAfA,EAAiBjhH,oBACjByoH,GAAe,IAEZ16H,GAAoBqvB,KAC3B6jG,EAAkBv4G,GACd0U,EACAxjE,EAAWsV,WAAW/pE,MACtB,IAEJojO,EAAoBnrG,EACpBorG,EAAoBvH,aAAe,EAAfA,EAAiBnrH,WAGrCmrH,IACAz+I,EAASy+I,EAAgBz+I,QAE7B,MAGJ,KAAK,GAAqB,CACtB,MAAM46C,EAAWkrG,GAA6B1uK,EAAWoV,gBACzD,GAAIouD,GAAYpvB,GAAgBovB,GAAW,CACvC,MAAMsrG,EAAgBhgH,GAAkB0U,EAAU,eAClD,GAAIsrG,EAAe,CACf,MAAMC,EAActpE,GAAgBqpE,GACpC,GAAI/5H,GAAWg6H,GAAc,CACzB,MAAMC,EAAgBxwE,GAClBh7B,EACAurG,EACA56H,GAAoB26H,EAAc5yH,WAAa4yH,EAAc5yH,eAAYnvG,EACzEizD,OACqBjzD,GACe,GAExC,GAAIiiO,GAAiBj6H,GAAWi6H,IACoB,IAA5CA,EAAcx6H,QAAQljE,WAAWroC,OAAc,CAC/C,MAAMgnH,EAAYnd,GAAamE,0BAA0B+3H,EAAe,GACxE,IAAKp7H,GAAeqc,GAChB,OAAOA,SAKpB,GAAIpd,GAAU0L,iBAAiBilB,GAAW,CAC7C,MAAMyrG,EAAoB1rG,GACtB2rG,GACAlvK,EACAwjE,EACAC,GAAS,CAAE51G,OAAQ,QAEvB,GAAIohN,EACA,OAAOA,EAAkBhiO,MAIrC,OAIR,GAAI27E,EAAQ,CACR,IAAIs8C,EAAe0kF,GAAwBhhI,GAC3C,GAAIs8C,EAAc,CAEd,GAAItX,GAAWsX,GAAe,CAC1B,MAAMiqG,EAAargH,GAAkBoW,EAA2B,QAC1DkqG,EAASD,EAAa1pE,GAAgB0pE,QAAcpiO,EAC1D,IAAKqiO,IAAWr6H,GAAWq6H,IAAWA,EAAO56H,QAAQljE,WAAWroC,OAAS,EACrE,OAGJi8H,EAAekqG,EAAO56H,QAAQljE,WAAW,GAAGrkC,KAoBhD,OAjBI0hO,IACIC,GAAqBz6H,GAAoBy6H,KACzC1pG,EAAepX,GAAwBoX,EAAc0pG,KAGrD75H,GAAWmwB,IAAiBlwB,GAAqBkwB,KAC7C2pG,IACA3pG,EAAes5B,GACXmwE,EACAzpG,OACkBn4H,EAClBizD,KAMTklE,IAWnB,SAASglG,GAAqBj9N,EAAY4lJ,GACtC,OAAO9mC,GAAY9+G,GAAO8mG,IACtB,GAAIH,GAAeG,GACf,OAAOA,EAGX,GAAIK,GAAgBL,GAAU,CAC1B,MAAMs7H,EAAkBvsH,GAAyB/O,EAAS,YAAa8+C,GACvE,GAAIw8E,EAAiB,CACjB,GAAIz7H,GAAey7H,GACf,OAAOA,EAGX,GAAIj7H,GAAgBi7H,IACOvsH,GAAyBusH,EAAiB,WAAYx8E,GAEzD,CAChB,MAAMy8E,EA65C9B,SAAoCriO,GAChC,GAAI2mG,GAAe3mG,GACf,OAAOA,EAGX,GAAImnG,GAAgBnnG,IAGZ4lG,GAAUqH,UAAUjtG,EAAM,aAAc,CACxC,MAAMkuG,EAAWluG,EAAKopG,cACtB,GAAI8E,GAAYA,EAASlyG,QAAU,EAC/B,OAAOkyG,EAAS,IAx6CoBo0H,CAA2BF,GACvD,GAAIC,EACA,OAAOA,IAiB3B,OAVIz8E,GAEArwB,GADiB,GAA6BqwB,GAEjCpwB,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWy3G,mBAAmBz/H,OAAO,CAAErS,KAAMq1H,GAAUvuB,KACjE8+C,GAIDlgD,GAAYvyF,YAM3B,SAASmhM,GAAoBt0M,EAAY43F,EAAkBguD,GACvD,MAAM28E,EAAiB3qI,EAAU,YAAc,WACzC4qI,EAAiB5qI,EAAU,YAAc,WAC/C,IAAI6qI,GAAkB,EAIlB5jH,GAFJ7+G,EAAO4pJ,GAA6B5pJ,MAG5B4lJ,GACArwB,GACI,GAA6BqwB,GAAWpwB,kBAAkBsvC,uBAC1DpnD,GAAeonD,uBACflyC,GAAUv4F,WAAWwuG,kBACrB+c,GAGR5lJ,EAAO4rG,GAAoB5rG,IAG/B,MAAMg/N,EAAelgH,GAAY9+G,GAAO8mG,IAGpC,GAAIH,GAFJG,EAAU8iD,GAA6B9iD,IAGnC,OAAOA,EAGX,MAAM0pB,EAAO,IAAId,GACjB,GAAIzoB,GAAQH,GAAU,CAClB,IAAI47H,EAEJ,GAAIl9H,GAASvmG,WAAW6nG,GAAU,CAE9B,GACIqL,GAAarL,IACbA,EAAQiC,oBAC8B,IAAtCjC,EAAQiC,mBAAmB/sG,OAE3B,OAAOgqG,GAAUsG,cAGrBo2H,EAAiB7sH,GAAyB/O,EAASy7H,EAAgB38E,QAEnEpgD,GAASgB,eAAeM,IACxBA,EAAQS,QAAQmI,oBAChBxI,GAAoBJ,EAAQS,QAAQmI,sBAEpCgzH,EAAiB7sH,GACbjQ,GAAUgK,gBAAgB9I,EAAQS,QAAQmI,oBAC1C6yH,EACA38E,EACA9+C,IAIR,GAAK47H,EAWE,CACH,MAAMC,EAAqB,IAAIjzG,GAEzBtlB,EAAau7F,GACf+8B,OACsB5iO,GACrBgnG,IACG,GAAIH,GAAeG,GACf,OAAOA,EAGX,GAAIK,GAAgBL,GAAU,CAC1B,MAAM87H,EAAiB/sH,GAAyB/O,EAAS07H,EAAgB58E,GAEzE,GAAKg9E,EAQD,OAAKhrI,EAMEqlI,GAAqB2F,EAAgBh9E,GALjCg9E,EARXD,EAAmB/yG,WACfgD,GAAUv4F,WAAWgtG,yBAAyBh1H,OAAO,CACjDhF,KAAMm1N,EACNxiO,KAAMq1H,GAAUvuB,WAa5B67H,EAAmB/yG,WACfgD,GAAUv4F,WAAWmtG,yBAAyBn1H,OAAO,CAAEhF,KAAMk1N,QAQ7E,GAAII,EAAmBr7M,UACnB,OAAO8iF,EAGXomB,EAAKT,YAAY4yG,OAvDA,CAGjB,GAAIx7H,GAAgBL,GAAU,CAC1B,MAAM+7H,EAAoBhtH,GAAyB/O,EAAS,cAAe8+C,GAC3E,GAAIi9E,EACA,OAAOA,EAIfryG,EAAKZ,WAAWgD,GAAUv4F,WAAW+sG,mBAAmB/0H,OAAO,CAAEhF,KAAMk1N,MAiD3E38E,GACArwB,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAW43G,kBAAkB5/H,OAAO,CAAErS,KAAMq1H,GAAUvuB,KAC5DmqB,GAAiBT,GACrBo1B,GAIR68E,GAAkB,KAItB,OAAOA,EAAkBzD,OAAel/N,EAI5C,SAASu0M,GAAoBr0M,EAAY43F,EAAkBguD,GACvD,MAAM28E,EAAiB3qI,EAAU,YAAc,WAC/C,IAAIkrI,GAAkB,EAIlBjkH,GAFJ7+G,EAAO4pJ,GAA6B5pJ,MAG5B4lJ,GACArwB,GACI,GAA6BqwB,GAAWpwB,kBAAkBsvC,uBAC1DpnD,GAAeonD,uBACflyC,GAAUv4F,WAAWwuG,kBACrB+c,GAGR5lJ,EAAO4rG,GAAoB5rG,IAG/B,MAAMg/N,EAAelgH,GAAY9+G,GAAO8mG,IACpC,GAAIH,GAAeG,GACf,OAAOA,EAGX,GAAIG,GAAQH,GAAU,CAClB,IAAI47H,EAiBJ,GAfIl9H,GAASvmG,WAAW6nG,GACpB47H,EAAiB7sH,GAAyB/O,EAASy7H,EAAgB38E,GAEnEpgD,GAASgB,eAAeM,IACxBA,EAAQS,QAAQmI,oBAChBxI,GAAoBJ,EAAQS,QAAQmI,sBAEpCgzH,EAAiB7sH,GACbjQ,GAAUgK,gBAAgB9I,EAAQS,QAAQmI,oBAC1C6yH,EACA38E,EACA9+C,IAIJ47H,EACA,OAAO94E,GAA6B84E,GAIxC98E,GACArwB,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAW43G,kBAAkB5/H,OAAO,CAAErS,KAAMq1H,GAAUvuB,KAChE8+C,GAIRk9E,GAAkB,KAItB,OAAOA,EAAkB9D,OAAel/N,EAG5C,SAASgtM,GAAcpkI,EAAiB5U,GACpC,OAAO+jK,GAAkBnvJ,EAAM5U,EAAY,CAAC,WAOhD,SAAS+jK,GAAkBnvJ,EAAiB5U,EAAoB4c,GAC5D,MAAMlH,EAAW,GAA6Bd,GACxCokG,EAAeR,EAAa,CAAE57F,YAAWqyJ,kBAAmBv5J,EAAS3M,WAE3E,IAAKiwG,EACD,OAGJ,MAAMnxF,EAASmxF,EAAar+D,YAAYlpG,IAAIuuD,GAC5C,OAAK6nB,EAIEm5C,GAAyBn5C,QAJhC,EAOJ,SAASwtH,GAAgBzgI,EAAiBs6J,GACtC,MAAM55J,EAAW,GAA6BV,GAC9C,IAAKU,EACD,QAAIV,EAAKviC,QACEgjK,GAAgBzgI,EAAKviC,OAAQ68L,GAK5C,MAAMC,EAAiBD,EAAa,GAA6BA,QAAcljO,EAE/E,QAAKs5N,GAAeC,oBAAoBjwJ,EAAU65J,GAOtD,SAASlnB,GAAqBrzI,GAC1B,MAAMsuH,EzE9vEP,SAA0BtuH,GAE7B,OADqBA,EACDa,cyE4vEO,CAAkCb,GACzD,QAAKsuH,KAIAoiC,GAAeC,oBAAoBriC,MAa5C,SAAgDtuH,EAAiBU,GAW7D,YAA+BtpE,IATRojO,GADNC,GAA2Bz6J,EAAK9qD,IAG7CwrD,OACgBtpE,OACKA,EACH2lG,GAAYtyF,UACA,GAGZnT,KApBjBojO,CAAuC16J,EAAMsuH,GAwBtD,SAASqsC,GAAuBL,EAAuBM,EAAqBC,GAAY,GACpF,MAAMN,EAAiB,GAA6BD,GAC9CQ,EAAe,GAA6BF,GAClD,SAAKL,IAAmBO,KAGpBP,IAAmBO,EACZD,EAGJnK,GAAeC,oBAAoBmK,EAAcP,IAmB5D,SAASt4D,GAAep9J,EAAiBm7D,EAAiBj7D,GACtD,OAAOg2N,GAAkC,cAAel2N,EAASm7D,EAAMj7D,GAO3E,SAASgpH,GAASlpH,EAAiBm7D,EAAiBj7D,GAChD,OAAOg2N,GAAkC,QAASl2N,EAASm7D,EAAMj7D,GAiBrE,SAASg2N,GACLt+B,EACA53L,EACAm7D,EACAj7D,GAEA,IAAKi2N,GAA8Bh7J,GAE/B,OADiB,GAA6BA,GAC9B48H,eAAeh6B,2BAA2B65B,EAAW53L,EAASE,GAASi7D,GAM/F,SAASg7J,GAA8Bh7J,GACnC,OACI+sJ,EAAoBhmK,MAAMk0K,GAAmB,GAAqCj7J,EAAMi7J,MACxFpO,EAAuB/H,cAAc9kJ,IACrCgtJ,EAAsBpH,wBAI9B,SAAS/4F,GAAc4vE,EAA4B91E,EAAc9hH,EAAiBm7D,GAC9E,GAAkB,SAAdy8H,EACA,OAGJ,MAAMlP,EAAawtC,GAAkCt+B,EAAW53L,EAASm7D,GAKzE,OAJIutH,GACAA,EAAW7mE,QAAQC,GAGhB4mE,EAsBX,SAASkpC,GAA2Bn/N,EAAY0oE,GAC5C,MAAMc,EAAW,GAA6Bd,GACxC8nD,EAAO,IAAId,GACb9oB,GAAQ5mG,IACRo9G,GAAiBp9G,GAAO8mG,IACftB,GAASgB,eAAeM,IACzB0pB,EAAKZ,WAAWgD,GAAUlD,mBAAmBusB,eAAe5pI,OAAO,CAAErS,KAAMq1H,GAAUvuB,SAKjGyuB,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWu3G,oBAAoBv/H,OAAO,CAAErS,KAAMq1H,GAAUr1H,KAAWwwH,EAAKR,YAClFtnD,GAIR,SAASk7J,GACL5qE,EACAh5J,EACAqwM,EACAwzB,EACAC,GAA4B,EAC5BrG,GAEA,MAAM1vD,EAAY/U,EAAS16J,MAErBykJ,EAAkBJ,GAAsBqW,EAAU+U,GAA+B,GACvF,IAAKhrB,EAGD,OAGJ,MAAMxB,EAAewB,EAAgBpnE,OAAOy+B,kBAC5C,IAAI6d,EAAe0kF,GAAwB55D,EAAgBpnE,QAC3D,MAAMnS,EAAW,GAA6BwvF,GAI9C,QAAqBl5J,IAAjBm4H,GAA6D,IAA/B8qB,EAAgBl6E,MAAM7oE,KAA0B,CAC9E,MAAM6jM,EAAkB,GAAiC7qC,GACzD,GAAI6qC,EAAiB,CACjB,MAAM50F,EAAYoe,GAAew2E,GACjC,GAAI50F,EAAW,CACX,MAAMkqD,EAAat3C,GACf5S,EAAUA,UACV+pD,EAAS16J,MAAK,IAGd66J,aAAU,EAAVA,EAAYz3C,kBACZuW,EAAeugC,GAAgBW,MAO/C,IAAI5rD,EAAWvtG,EACf,GAAIi4H,GAAgB4rG,EAAe,CAC/B,IAAIjxB,EAAe,IAAIljF,GAElByG,GAAc8B,EAAcj4H,EAAM4yM,GAqBnCrlG,EAAWw2H,GAA4B9rG,EAAcj4H,IAlBjDy9N,IACA7qB,EAAe6qB,GAGnBloG,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW22G,yBAAyB3+H,OAAO,CACjDq2G,WAAY2M,GAAUr1H,GACtButG,SAAU8nB,GAAU4C,KACnB26E,EAAa5iF,YAClB6zG,GAAiB7qE,GAIrBzrD,EAAW0qB,OAKZ,CAKH,MAAMpvD,EAAQ,GAA2BmwF,GAC1B,KAAXnwF,aAAK,EAALA,EAAO7oE,SAEHwlG,GAASvmG,WAAWsuG,IACnB9iC,GAAesjG,IACfpzD,GAAgBooC,EAAgBpnE,UAEjC4xB,EAAW8R,GAAkB9R,KAKzC,MAAMy2H,EAAmCziF,EAAah1E,MAAMrD,GAAuB,IAAdA,EAAKlpE,OAEtEgkO,GAA4B,IAAjBA,EAAQhkO,MAAqC6jO,IACpDG,EAAQ7wE,WAGJ6F,IAAazX,EAAa,GAAG74E,MAC7B6sD,GACI/rD,EAASgsD,kBAAkB+vC,2BAC3B7nD,GAAe6nD,2BACf3yC,GAAUv4F,WAAW4iG,uBAAuB5qH,OAAO,CAAEhF,KAAM0gK,IAC3D/U,GAGDgrE,EAAQrnI,UAAYmnI,GAC3BvuG,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW2oG,kBAAkB3wH,OAAO,CAAEhF,KAAM0gK,IACtD/U,IAKZ69D,EACI79D,EACAzrD,EAAQ,EAER8iG,OACmBvwM,GACW,GA+FtC,SAASmkO,GACLv7J,EACA8kC,EACA6iG,EACAl3F,EACA+qH,GAEA,MAAM77J,EAAaK,EAAKL,WAAW/pE,MAC7BkrE,EAAW,GAA6Bd,GAExCy7J,EAAW,GAAiCz7J,GAClD,IAAKy7J,EACD,OAGJ,MAAM/jB,EAAgB/yF,GAAe82G,GACrC,GAAI/jB,GAAiBl5G,GAAoBk5G,EAAcnxG,WAAY,CAC/D,IAAIkqD,EAAat3C,GACbu+F,EAAcnxG,UACd5mC,EACA8wC,EAAmB,EAAiC,GAGxD,MAAMkJ,EAAe+9F,EAAcnxG,UAAU1H,QAAQiE,OACrD,GAAI2tD,EAAY,CAGZ,MAAMirE,EAAcl9H,GAAoBiyD,EAAWlqD,WAAakqD,EAAWlqD,eAAYnvG,EACjFukO,EAAcD,GAAex+H,GAAU+C,mBAAmBy3G,EAAcnxG,UAAWm1H,GAIzF,GAAIC,GAAelrH,IACXirH,aAAW,EAAXA,EAAa78H,QAAQ+8H,uBAAuBF,aAAW,EAAXA,EAAa78H,QAAQq2G,kBAI7DwmB,EAAY78H,QAAQq2G,gBAAgB5hN,OAAS,IAC5CooO,EAAY78H,QAAQ+8H,oBAAoB70K,MAAMpiD,GAASA,IAASg7D,IACnE,CACE,MAAM4vD,EAAe0kF,GAAwBxjD,EAAWx9E,QACnDs8C,GAAiBtX,GAAWsX,IAC7B1C,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWo0G,sBAAsBp8H,OAAO,CAAEhF,KAAMg7D,IAC1DK,EAAKL,YAOzB,GAAIg8J,GAAelrE,EAAWhgD,mBAAqBA,EAAkB,CACjE,MAAMx9B,EAAS0mC,EAAa98G,IAAI8iE,GAChCvV,OAAkBhzD,IAAX67E,GAEP,MAAM8+B,EAAa9+B,EAAOy+B,kBAItBK,EAAWz+G,OAAS,GACG,IAAvBy+G,EAAW,GAAGz6G,MACdkkO,GACAx7J,EAAKL,aAAeoyC,EAAW,GAAG/xC,MAE9B+xC,EAAW,GAAG04C,YACd59B,GACI/rD,EAASgsD,kBAAkB+vC,2BAC3B7nD,GAAe6nD,2BACf3yC,GAAUv4F,WAAW4iG,uBAAuB5qH,OAAO,CAAEhF,KAAMq7D,EAAKL,WAAW/pE,QAC3EoqE,EAAKL,gBAId,CAEH,MAAM4vD,EAAe0kF,GAAwBxjD,EAAWx9E,QACpDs8C,IAAiBtX,GAAWsX,KAIvBkhC,EAAWhgD,kBAAoBA,IAEhCqgH,GAAkBhwJ,EAAU2vF,EAAWx9E,OAAQjT,EAAKL,YAEpDmlC,EAAUxB,GAAa,CAACwB,EADLgrD,GAAgBW,OAQnDA,EAAat3C,GACTu+F,EAAcnxG,UACd5mC,EAAU,IAIT8wF,IAAc+qE,GAAgB7zB,GAC/Bk0B,GACI/6J,EAASgsD,kBAAkB2wC,wBAC3BzoD,GAAeyoD,wBACfz9F,EAAKL,WACLmlC,EACA9kC,GAC4B,IA8I5C,SAASkhF,GAA6B5pJ,EAAYwkO,GAC9C,OAAO1lH,GAAY9+G,GAAO8mG,IACtB,GAAIe,GAAYf,GAAU,CACtB,GAAgC,SAA5BA,EAAQiR,gBACR,OACI40F,GACAzlG,GAAoBylG,IACpB39F,GACA7H,GAAgB6H,GAETpJ,GAAUgK,gBACbqV,GAAqB0nF,EAAgB,CAAC,CAAE3sM,KAAMgvG,EAAY9F,aAAa,MAIxExD,GAAYvyF,SAChB,GAAgC,WAA5B2zF,EAAQiR,gBACf,OACIk+G,GACA/uH,GAAoB+uH,IACpBD,GACA9uH,GAAoB8uH,IACpBhnH,GACA7H,GAAgB6H,GAETpJ,GAAUgK,gBACbhK,GAAUkK,uBACNmmH,EACA,CAACx2G,GAAkBu2G,GAAehnH,IACL,IAKlCtJ,GAAYvyF,SAI3B,GAAIm0F,GAAkBR,IACd6lG,GAAkBzlG,GAAoBylG,GACtC,OAAOltF,GACHwF,GACI0nF,EACA,IAC6B,GACT,GACE,IAMtC,GAAItlG,GAAUP,KAAaA,EAAQS,QAAQW,uBAAwB,CAC/D,GAAIpB,EAAQS,QAAQY,UAAW,CAC3B,MAAMA,EAAY3C,GAASgB,eAAeM,GACpCmd,GAAsBnd,EAAQS,QAAQY,WACtCrB,EAAQS,QAAQY,UAEtB,OAAOrB,EAAQS,QAAQyD,cACjB7C,EACA+W,GAAmB/W,EAAW,CAC1B,CACIuO,YAAatQ,GAAYkS,iBAAiBxR,GAC1C6P,gBAAiB,EACjBi0F,sBAAsB,KAOxC,GAAI9jG,EAAQS,QAAQW,uBAChB,OAAOpB,EAGX,GAAIA,EAAQS,QAAQ8D,YAAYrvG,OAAS,EAAG,CACxC,MAAMkhO,EAAyB,GAiC/B,OA7BAp2H,EAAQS,QAAQ8D,YAAY/kF,SAAQ,CAAC+xF,EAAgB1B,KACjD,GAAI6tH,EAAiB,CACjB,MAAM9tH,EAActQ,GAAYkS,iBAAiBxR,GAC3C29H,EAAuBD,EAAgBj4J,MACxC1iB,GAAWA,EAAO6sD,cAAgBA,IAKvC,GAAI+tH,GAAwBA,EAAqB9tH,kBAAoBA,EACjE,OAIJnR,GAASgB,eAAeM,KACxBuR,EAAiB4L,GAAsB5L,IAG3C6kH,EAAe7gO,KACX6iH,GAAmB7G,EAAgB,CAC/B,CACI3B,YAAatQ,GAAYkS,iBAAiBxR,GAC1C6P,kBACAi0F,sBAAsB,SAM/B5+F,GAAakxH,GAGxB,GAAIp2H,EAAQS,QAAQm9H,uBAChB,OAAOz+H,GAAQ9yF,SAKnB,GAAIqyF,GAASgB,eAAeM,IACxB,GAAI+uH,GAAiB3uH,GAAoB2uH,GACrC,OAAO/uH,EAAQS,QAAQyD,cACjB6qH,EACA32G,GAAmBtZ,GAAUgK,gBAAgBimH,GAAgB,CACzD,CACIn/G,YAAatQ,GAAYkS,iBAAiBxR,GAC1C6P,gBAAiB,EACjBi0F,sBAAsB,UAIrC,GAAI57F,EACP,OAAOlI,EAAQS,QAAQyD,cACjBgE,EACAkQ,GAAmBlQ,EAAY,CAC3B,CACI0H,YAAatQ,GAAYkS,iBAAiBxR,GAC1C6P,gBAAiB,EACjBi0F,sBAAsB,KAKxC,OAAO3kG,GAAQ9yF,SAGnB,OAAO2zF,KAUf,SAAS6+F,GACL3lM,EACAwkO,EACA7vN,GAEA,MAAMoqG,EAAsB,GAC5B,IAAIC,GAAc,EAElB,MAAM2lH,EAAiB36B,IACnB,IAAItE,EAAe9+F,GAAQojG,GAAkBA,EAAiBpgD,GAA6BogD,GAE3FtE,EAAenmF,GAAoCmmF,GAEnDtoF,GAAiBsoF,GAAe5+F,I,MAC5B,GAAI09H,IACKt+H,GAAc6Q,aAAaoI,GAAiBrY,GAAU09H,GACvD,OAIR,IAAIvlH,EAAkBtqG,EAASmyF,EAASkjG,GAIxC,GAHI/qF,IAAoB+qF,IACpBhrF,GAAc,GAEdC,EAAiB,CAEjB,MAAM2lH,EAAyC,QAAzB,EAAAzlH,GAAiBrY,UAAQ,eAAEj9C,QAC5Cg/C,GAAcA,EAAU+hG,uBAEzBg6B,GAAiBA,EAAc5oO,OAAS,IACxCijH,EAAkBC,GAAmBD,EAAiB2lH,IAG1D7lH,EAAY1iH,KAAK4iH,QAc7B,GARIrY,GAAQ5mG,GACRA,EAAK6mG,SAASvgF,SAASwgF,IACnB69H,EAAc79H,MAGlB69H,EAAc3kO,IAGbg/G,EACD,OAAOh/G,EAGX,MAAM+rG,EAAUC,GAAa+S,GAM7B,OAHyB,IAArBhT,EAAQzsC,UACR6mC,GAAU8F,mBAAmBF,EAAS/rG,GAEnC+rG,EAiBX,SAASukG,GACLzpM,EACA7G,EACAqwM,EACAw0B,EACAC,GAAwB,EACxBhB,GAA4B,EAC5BrG,GAGA,GAAIp2H,GAAUrnG,IACN6kO,GAAgC,IAArBA,EAAQp9J,SAAiC,CACpD,MAAM0+H,EAAWvvE,EACbiuG,EAAQn9J,oBACW5nE,EAAS,GAE9BE,KAEEknG,GAAoBi/F,KACnBvgG,GAAUqH,UAAUk5F,EAAU,YAC3BvgG,GAAUqH,UAAUk5F,EAAU,iBAC9BvgG,GAAUqH,UAAUk5F,EAAU,gBAEV,KAApBt/L,EAAO4gE,UAAmC5gE,EAAOvI,QAAU0B,EAAKunG,QAAQl6F,MACxEopH,GACIz2H,EAAKunG,QAAQM,YACP+qB,GAAUv4F,WAAW6wG,wBAAwB74H,OAAO,CAChDhF,KAAM+4F,GAAYmS,gBAAgBv4G,KAEtC4yH,GAAUv4F,WAAWs4G,sBAAsBtgI,OAAO,CAC9ChF,KAAM+4F,GAAYmS,gBAAgBv4G,KAE5C6G,IAYpB,OAFA7G,EAAO2rG,GAAc3rG,GAEb6G,EAAO4gE,UACX,KAAK,GACI4oI,GACDk0B,GACI,GAA6B19N,GAAQ2uH,kBAAkB0wC,0BACvDxoD,GAAewoD,0BACfr/J,EACA7G,EACA6G,EACAi+N,GAIRlB,GACI/8N,EACA7G,EACAqwM,EACAw0B,EACAf,EACArG,GAEJ,MAGJ,KAAK,IA5nBb,SACI52N,EACA7G,EACAqwM,EACAw0B,EACApH,GAEA,MAAM1D,EAAiBnjG,EACnB/vH,EAAO6gE,oBACY5nE,EAAS,GAG1By2H,EAAWqzB,GAA6BmwE,EAAe/5N,MAG7D,GAAuC,KAAnC6G,EAAO6gE,eAAeD,SAAiC,CAEvD,MAAM+zI,EAAqB,GAAiC30M,GAE5D,GAAI20M,EAAoB,CACpB,MAAMupB,EAAmB13G,GAAemuF,GAExC,GAAIupB,GAAoB79H,GAAoB69H,EAAiB91H,aACrD9H,GAAgBovB,GACZ3wB,GAAU+C,mBAAmB4tB,EAAUwuG,EAAiB91H,YACxDg1H,GACIp9N,EACA7G,EACAqwM,GACuB,EACvBw0B,GAGD39H,GAAoBqvB,IACvB3wB,GAAU+C,mBAAmB4tB,EAAUwuG,EAAiB91H,YACxDg1H,GACIp9N,EACA7G,EACAqwM,GACuB,EACvBw0B,GAORj/H,GAAU+L,gBAAgBozH,EAAiB91H,YAAY,CACvD,MAAM+1H,EAAeD,EAAiB91H,UAAU1H,QAAQiE,OAAOjmG,IAAIsB,EAAOwhE,WAAW/pE,OACjF0mO,GAI+B,IAHPA,EAAa5qH,kBAAkBvwD,QAAQqf,IACnD,GAAoCA,EAAKR,QAEjC1sE,QAChBy6H,GAAS7D,GAAUv4F,WAAWqgG,uBAAwB7zH,EAAOwhE,cA7hEzF,IAA2CK,EAqiEjBuxJ,GAClBpzN,EACAkzN,EACA,CAAEn5M,OAAQ,MAAOu2G,QAASn3H,EAAMilO,aAAcJ,EAASttG,oBAAqBkmG,GAA0B,GAIxFzK,yBA5iEqBtqJ,EA6iED7hE,EA5iElC0uN,EAAuB/H,mBAAc1tN,IAIzCu1N,EAAoCzuM,IAAI8hD,EAAK9qD,KA2iE7Ci5M,EACIhwN,EAAOwhE,WACProE,EAAI,EAEJqwM,OACmBvwM,GACW,GAElC+2N,EACIhwN,EACA7G,EAAI,EAEJqwM,OACmBvwM,GACW,GAsiB1BolO,CAA6Br+N,EAAQ7G,EAAMqwM,EAAkBw0B,EAASpH,GACtE,MAGJ,KAAK,GAAqB,CACtB,MAAM1D,EAAiBnjG,EACnB/vH,EAAOshE,oBACProE,EAAS,GAIb26N,GACI5zN,EACAkzN,EAAe/5N,KACf,CACI4gB,OAAQ,MACRu2G,QAASn3H,EACTilO,aAAcJ,EACdttG,oBAAqBkmG,GACxB,GAIL5G,EAAehwN,EAAQ7G,EAAM,EAAqBqwM,GAClD,MAGJ,KAAK,GACL,KAAK,IA9cb,SACIxpM,EACA7G,EACAqwM,EACAw0B,GAEA,MAAMM,EAAwC,KAApBt+N,EAAO4gE,SAAkC5gE,EAAO+iB,QAAU/iB,EAAO6iE,YAGrF07J,EAAwB,IAAI1oO,MAAMyoO,EAAkBnpO,QAC1D,IAAK,IAAIV,EAAI,EAAGA,EAAI6pO,EAAkBnpO,OAAQV,IAC1C8pO,EAAY9pO,GAAK,GAErB,MAAM+pO,EAAoBF,EAAkB50I,WAAWlB,GAA2B,KAAlBA,EAAK5nB,WAI/D69J,EAAcH,EAAkB50I,WAAWlB,GAA2B,KAAlBA,EAAK5nB,WAE/DznE,EAAO4pJ,GAA6B5pJ,GAEpC,MAAM4yM,EAAe,IAAIljF,GAiFzB,GA/EAtS,GAAiBp9G,GAAO8mG,IAEpB,MAAMge,EAAYjF,GAAwB/Y,GAC1C,GAAIge,GAAaA,EAAU/b,mBAAoB,CAC3C,MAAMw8H,EAAmBzgH,EAAU/b,mBAAmBjkF,KAAKyoC,GACvD2xD,GAAmB3xD,EAAEvtD,KAAMm/G,GAAiBrY,MAG1C0+H,EAAiB1gH,EAAU/b,mBAAmBxY,WAAWhjC,GAAMA,EAAE27C,cAEvE,GAAIs8H,GAAkB,EAClB,GAAID,EAAiBvpO,OAASopO,EAAYppO,OAEtCupO,EAAiBr+M,OAAOs+M,EAAgB,QACrC,GAAID,EAAiBvpO,OAASopO,EAAYppO,OAAQ,CACrD,MAAMypO,EACFF,EAAiBvpO,OAAS,EAAIupO,EAAiBC,GAAkBv/H,GAAQ9yF,SAG7E,KAAOoyN,EAAiBvpO,OAASopO,EAAYppO,QACzCupO,EAAiBr+M,OAAOs+M,EAAgB,EAAGC,GAOvD,GAAIJ,GAAqB,EACrB,GAAIE,EAAiBvpO,OAASopO,EAAYppO,OAAQ,CAK9C,IAAI0pO,EAAgB15H,GAJGu5H,EAAiBr+M,OACpCm+M,EACAE,EAAiBvpO,OAASopO,EAAYppO,OAAS,IAG3B,KAApB6K,EAAO4gE,WACPi+J,EAAgBrmH,GAAkBqmH,IAEtCH,EAAiBr+M,OAAOm+M,EAAmB,EAAGK,QACvCH,EAAiBvpO,SAAWopO,EAAYppO,OAAS,GACxDupO,EAAiBr+M,OAAOm+M,EAAmB,EAAGr/H,GAAUsG,eAWhE,GAPAi5H,EAAiBj/M,SAAQ,CAACtmB,EAAM2lO,KACxBA,EAAcP,EAAYppO,QAC1BopO,EAAYO,GAAatpO,KAAK2D,MAKlCulO,EAAiBvpO,SAAWmpO,EAAkBnpO,OAAQ,CACtD,MAAM4pO,EACFN,GAAe,EAAIH,EAAkBnpO,OAAS,EAAImpO,EAAkBnpO,OAClE6pO,EAAUjzB,EAAa/iF,iBAC7Bg2G,EAAQj2G,YACiB,KAApB/oH,EAAO4gE,SACFmrD,GAAUlD,mBAAmB4W,yBAC7B1T,GAAUlD,mBAAmBsgB,2BACjC39H,OAAO,CACLrS,KAAMq1H,GAAUvuB,MAGxB++H,EAAQh2G,iBAAiBD,WACrBgD,GAAUlD,mBAAmB+rB,oBAAoBppI,OAAO,CACpDoqM,SAAUmpB,EACV33N,SAAUs3N,EAAiBvpO,eAIpC,CAGH,MAAMgjO,EAAe1qB,GAAoBxtG,GAAuB,EAAO+9H,IAAYn/H,GAAYvyF,SAC/F,IAAK,IAAIgY,EAAQ,EAAGA,EAAQg6M,EAAkBnpO,OAAQmvB,IAClDi6M,EAAYj6M,GAAO9uB,KAAK6iH,GAAmB8/G,EAAc7/G,GAAiBrY,UAKjF8rG,EAAatrL,UAAW,CACzB,MAAMw+M,EAA+C,IAAtClzB,EAAaviF,cAAcr0H,QAAgBg1H,KAE1DuE,GADiB,GAA6B1uH,GAEjC2uH,kBAAkBC,wBAC3B/X,GAAe+X,wBACfqwG,EACMlzB,EAAaviF,cAAc,GAAGA,cAAc,GAAGL,YAAYppH,QACtC,KAApBC,EAAO4gE,SACFmrD,GAAUv4F,WAAWisG,yBACrB1T,GAAUv4F,WAAW21G,2BACzB39H,OAAO,CACLrS,KAAMq1H,GAAUr1H,KACf4yM,EAAa5iF,YACxBnpH,GAMRs+N,EAAkB7+M,SAAQ,CAAC+oE,EAAMlkE,KAC7B,MAAM46M,EAAWX,EAAYj6M,GAG7BmlL,GAAuBjhH,EAFgB,IAApB02I,EAAS/pO,OAAe0pG,GAAYvyF,SAAW64F,GAAa+5H,GAEtC11B,EAAkBw0B,GAAqC,MAGpGhO,EAAehwN,EAAQ7G,EAAM,EAAqBqwM,GA8U1C21B,CAA4Bn/N,EAAQ7G,EAAMqwM,EAAkBw0B,GAC5D,MAGJ,KAAK,GAA8B,CAC/B,MAAMrE,EAAmChB,EAAoB34N,EAAOmnF,eAAgB,CAChFmyI,sBAAsB,EACtBC,WAAY,GAAiDv5N,EAAOihE,iBACpEu4J,cAAe,GAAoDx5N,EAAOihE,mBAK1Eq/B,GAAgBq5H,KACf56H,GAAUqH,UAAUuzH,EAAgB,UAAY56H,GAAUqH,UAAUuzH,EAAgB,cAIjFr5H,GAAgBq5H,IAAmB56H,GAAUqH,UAAUuzH,EAAgB,cAGnErqG,GAAcqqG,EAAgBxgO,KAIzBmnG,GAAgBnnG,IAAU4lG,GAAU4L,YAAYxxG,KACjDA,EAAO+jO,GAA4BvD,EAAgBxgO,KAMnEswM,GACIzpM,EAAOihE,gBACP9nE,GACmB,EACnB6kO,EACAC,EACAhB,EACArG,GAEJ,MAGJ,KAAK,GACkC,KAA/B52N,EAAOksD,WAAW0U,UAClBm8J,GACI/8N,EAAOksD,WACPw4I,GAAiB1kM,EAAOksD,WAAY,OAAQ,CAAC/yD,KAC1B,EACnB6kO,GAGR,MAGJ,KAAK,EAGGh+N,EAAO6wD,OACPg6I,GAAoB7qM,EAAO6wD,OAAO,KAC9Bk/D,EAAoB/vH,EAAO6wD,UAGnC,MAGJ,QACI++D,GAAS7D,GAAUv4F,WAAWsgG,uBAAwB9zH,IA4FlE,SAASquM,GAAuBxsI,GAC5B,OAAQA,EAAKjB,UACT,KAAK,GAGDmvD,EAAoBluD,GACpB,MAGJ,KAAK,GAA4B,CAC7B,MAAMqxJ,EAAiBnjG,EAAoBluD,EAAKhB,gBAC1C0xF,EAAa6gE,GACfvxJ,EACAqxJ,EACA,CAAEn5M,OAAQ,OAAO,GAGrBi2M,EAAenuJ,EAAKL,WAAY+wF,EAAWp5J,KAAM,GAAwC,GACzF62N,EAAenuJ,EAAM0wF,EAAWp5J,KAAM,GAAwC,GAC9E,MAGJ,KAAK,GAAqB,CACtB,MAAM+5N,EAAiBnjG,EACnBluD,EAAKP,oBACLroE,EAAS,GAGb26N,GAA6B/xJ,EAAMqxJ,EAAe/5N,KAAM,CAAE4gB,OAAQ,OAAS,GAC3Ei2M,EAAenuJ,EAAM+8B,GAAYtyF,SAAU,GAAwC,GACnF,MAGJ,KAAK,GACDu1D,EAAKgB,YAAYpjD,SAAS+oE,IACtB6lH,GAAuB7lH,MAE3B,MAGJ,KAAK,EAGG3mB,EAAKhR,OACLg6I,GAAoBhpI,EAAKhR,OAAO,KAC5Bk/D,EAAoBluD,EAAKhR,WAA2B53D,MAG5D,MAGJ,QAEIy1H,GADiB,GAA6B7sD,GAEjC8sD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWokG,gBACrB/1D,IAOhB,SAAS8wJ,GAAkBhwJ,EAA4BmS,EAAgBjT,GAC9D6sJ,EAAuB/H,cAAc9kJ,IAAUgtJ,EAAsBpH,yBACtE9kJ,EAASiwI,kBAAkBtzM,IAAIw1E,EAAO/9D,IAAI,GAuBlD,SAASi4F,GACLw9G,EACAhrJ,EACAu9E,EACAqgF,GAEA,MAAM5iF,EAAczhC,GAAmByxG,EAAShrJ,EAAY,GAC5D,IAAKg7E,EACD,OAGJ,MAAM+V,EAAaZ,GAAgBnV,GACnC,GAAI18C,GAAeyyD,GACf,OAAOA,EAGX,GAAItxD,GAAWsxD,GAAa,CACxB,MAAMsnD,EAAanvD,GACf00E,GAAe5S,EACfj6D,EACA/V,GAAen8C,GAAoBm8C,EAAYp0C,WAAao0C,EAAYp0C,eAAYnvG,EACpF8lJ,OACqB9lJ,GACe,EACfmmO,GAEzB,GAAIvlB,EACA,OAAO6d,GAA+B7d,IA+RlD,SAASkZ,GAAqBlxJ,EAAsB1oE,EAAmBkqE,G,MACnE,GAAIs7B,GAASgB,eAAexmG,KAAUs/G,GAAuBt/G,GAAO,CAChE,MAAMkmO,EAmLd,SACIx9J,EACA1oE,G,MAEA,IAAIiqE,EAAiCvB,EACjCy9J,EAAmB,EAIvB,IAFArzK,EAAO0yC,GAASgB,eAAexmG,IAExBiqE,IAKHA,EAAU,GAAmCA,EAA8B,MAAV,QAAX,EAAAvB,EAAKviC,cAAM,eAAEshC,WAC9DwC,IANO,CAUZ,IAAIm8J,EAEJ,GAAyB,KAArBn8J,EAAQxC,SAAkC,CAC1C,MAAM24I,EAAgB/yF,GAAepjD,GACjCm2I,IACAgmB,EAAmBhmB,EAAcnxG,UAAU1H,QAAQ6G,gBAGvD+3H,SACG,GAAyB,KAArBl8J,EAAQxC,SAAqC,CACpD,MAAMk3J,EAAmBtrE,GAAkBppF,GACvC00J,IACAyH,EAAmB,GACnBzH,EAAiBnqH,aAAajN,QAAQljE,WAAW/d,SAASlC,IAClDA,EAAM4vF,iBACNuO,GAA0B6jH,EAAmB1jH,GAA6Bt+F,EAAMpkB,UAGpF2+N,EAAiBnqH,aAAajN,QAAQ2C,oBACtCqY,GACI6jH,EACA1jH,GAA6Bi8G,EAAiBnqH,aAAajN,QAAQ2C,2BAI5E,GAAyB,KAArBjgC,EAAQxC,SACf,MAGJ,GAAI2+J,EAAkB,CAClB,MAAM3zK,EAAQ2zK,EAAiB75J,MAAM6uC,GAAYA,EAAQ7T,QAAQl6F,OAASrN,EAAKunG,QAAQl6F,OAEvF,GAAIolD,GAASA,EAAMq4C,QACf,MAAO,CACH9qG,KAAMmmO,EAAmB,EAAInmO,EAAQikH,GAAsBxxD,GAC3D4zK,sBAAuBF,EAAmB,GAKtDl8J,EAAUA,EAAQ9jC,OAKtB,IADA8jC,EAAUvB,EACHuB,GAAS,CACZ,GAAyB,IAArBA,EAAQxC,SAAuC,CAC/C,MAAMkiF,EAAW+sE,EAAczsJ,EAAQvC,eAAgB,GAIvD,GACIiiF,GACAtiD,GAAUsiD,IACVA,EAASpiD,QAAQ++H,2BACjB38E,EAASpiD,QAAQW,uBAEjB,MAAO,CACHloG,KAAMomG,GAAYiR,gBACdr3G,EACA2pJ,EAASpiD,QAAQ++H,0BACjB38E,EAASpiD,QAAQW,uBAAsB,GAG3Cm+H,uBAAuB,GAKnCp8J,EAAUA,EAAQ9jC,OAItB,MAAO,CAAEnmC,OAAMqmO,uBAAuB,GA/QRE,CAAkB79J,EAAM1oE,GAGlD,GAFAA,EAAOkmO,EAAkBlmO,KAEoC,IAAhD,KAARkqE,SAA8EpqE,IAAjBE,EAAK8qG,QAC9D9qG,EAAKunG,QAAQyD,eAAkBhrG,EAAKunG,QAAQM,aAC7C0tB,GACI,GAA6B7sD,GAAM8sD,kBAAkBC,wBACrD/X,GAAe+X,wBACf7C,GAAUv4F,WAAWm5G,0BAA0BnhI,OAAO,CAAEhF,KAAMrN,EAAKunG,QAAQl6F,OAC3Eq7D,QAGL,GAAmE,IAAtD,KAARwB,IACR,QAAqBpqE,IAAjBE,EAAK8qG,QACL,GAAKo7H,EAAkBG,sBAyCnB9wG,GACI,GAA6B7sD,GAAM8sD,kBAAkBC,wBACrD/X,GAAe+X,wBACf7C,GAAUv4F,WAAWm5G,0BAA0BnhI,OAAO,CAAEhF,KAAMrN,EAAKunG,QAAQl6F,OAC3Eq7D,OA7CsC,CAC1C,IAAI89J,EAAiB,GAA2C99J,GAGhE,GACI89J,GACqB,MAAV,QAAX,EAAA99J,EAAKviC,cAAM,eAAEshC,WACbiB,EAAKviC,OAAOuhC,iBAAmBgB,EACjC,CACE,MAAML,EAAaK,EAAKviC,OAAOkiC,WAAW/pE,MAC1C,GAAmB,SAAf+pE,GAAwC,WAAfA,EAAyB,CAClD,MAAMo+J,EAAqB,GAA2CD,GAEtC,MAA5BC,aAAkB,EAAlBA,EAAoBh/J,UACpB++J,EAAiBC,EACTP,EAAkBlmO,KAAK8qG,SAC/ByqB,GACI,GAA6B7sD,GAAM8sD,kBAAkBC,wBACrD/X,GAAe+X,wBACf7C,GAAUv4F,WAAWkxG,+BAA+Bl5H,OAAO,CACvDhF,KAAMrN,EAAKunG,QAAQl6F,OAEvBq7D,IAMZ89J,EACAxmO,EAAOomG,GAAYiR,gBACfr3G,EACA2zH,GAAkB6yG,GAClBA,EAAen5N,KAAK/O,MACQ,KAA5BkoO,EAAe/+J,SACT,EACA,GAGVvU,EAAK,sFAWd,GAAgE,IAAnD,KAARgX,UAEcpqE,IAAjBE,EAAK8qG,SAAyBo7H,EAAkBG,yBAChDrmO,EAAKunG,QAAQyD,cAChB,CACE,MAAMz9F,EAAUs6F,GAAY7nG,GACtB4yH,GAAUv4F,WAAWkxG,+BACrB3Y,GAAUv4F,WAAW64G,6BAC3B3d,GACI,GAA6B7sD,GAAM8sD,kBAAkBC,wBACrD/X,GAAe+X,wBACfloH,EAAQ8E,OAAO,CAAEhF,KAAMrN,EAAKunG,QAAQl6F,OACpCq7D,IAYhB,OAJI1oE,EAAK0nG,qBACL1nG,EAAOomG,GAAYuR,eAAe33G,IAG/BA,EAMX,SAASu5N,GAA2B7wJ,EAAsB1oE,EAAYkqE,GA+ClE,OA9CiD,IAApC,EAARA,KACGg9B,GAAoBlnG,KAC2B,IAAlC,GAARkqE,MjD1gEiB+kC,EiD2gEQjvG,GjD1gE5BunG,QAAQ6G,eAAepyG,OAAS,GAIlCizG,EAAU1H,QAAQ6G,eAAe,GAAG7G,QAAQyD,iBAKpDpF,GAAUgL,iBAAiB3B,KACJ,CACnB,QACA,WACA,UACA,OACA,WACA,QACA,UACA,YACA,YACA,mBAGex/C,MAAMlC,GAAMA,KAAO0hD,EAAUE,WAAaF,EAAU1H,QAAQl6F,YiDm/D/BrN,EAAKopG,eACrCmsB,GACI,GAA6B7sD,GAAM8sD,kBAAkB6wC,0BACrD3oD,GAAe2oD,0BACfzzC,GAAUv4F,WAAWw2G,0BAA0Bx+H,OAAO,CAClDhF,KAAMrN,EAAKmvG,WAAanvG,EAAKunG,QAAQl6F,OAEzCq7D,GAIP1oE,EAAKopG,gBACNppG,EAAO0mO,GAA2B1mO,OAAMF,EAAWoqE,EAAOxB,KAKnB,IAAlC,GAARwB,IACDlqE,EAAKioG,eACLjoG,EAAKioG,cAAcmG,gBACnBpuG,EAAKioG,cAAcmG,eAAepyG,OAAS,IAC1CgE,EAAKioG,cAAcmB,gBAEpBmsB,GACI,GAA6B7sD,GAAM8sD,kBAAkB6wC,0BACrD3oD,GAAe2oD,0BACfzzC,GAAUv4F,WAAWu2G,0BAA0Bv+H,OAAO,CAClDhF,KAAMrN,EAAKioG,cAAc56F,OAE7Bq7D,GAGJ1oE,EAAOwlG,GAASsI,kBACZ9tG,EACAA,EAAKioG,cAAc56F,KACnBrN,EAAKioG,cAAc8F,SACnB/tG,EAAKioG,cAAc+F,eACnBhuG,EAAKioG,cAAcmG,eACnBpuG,EAAKioG,cAAcmG,eAAetpF,KAAKV,GAAUshF,GAAYvyF,cAKlEnT,EjDtjER,IAA+BivG,EiD4jElC,SAAS0kB,GAAkBjrD,GACvB,IAAIr7D,EAAO,GAQX,OAPsB,KAAlBq7D,EAAKjB,UAEoB,KAAlBiB,EAAKjB,YADZp6D,EAAOq7D,EAAKr7D,KAAK/O,OAMd,GADU,GAA6BoqE,GAC3B7L,YAAY6L,EAAK5rE,MAAM0D,cAAc6M,IAK5D,SAASs5N,GAAwBj+J,GAC7B,MAAMszC,EAA6B,GAEnC,IAAI/xC,EAAiCvB,EACrC,KAAOuB,IACHA,EAAU,GAAmCA,GACxCA,IAIL+xC,EAAS3/G,KAAKs3H,GAAkB1pD,IAChCA,EAAUA,EAAQ9jC,OAGtB,OAAO61E,EA0LX,SAASi+G,GACLvxJ,EACAqxJ,EACAvjG,EACAtsD,G,MAEA,IAAIqsD,EAAWwjG,EAAe/5N,KAC9B,MAAMqoE,EAAaK,EAAKL,WAAW/pE,MACnC,IAAIkyH,EAAO,IAAId,GACf,MAAMlmD,EAAW,GAA6Bd,GAC9C,IAAI1oE,EAEAgzN,EADAhvL,IAAiB+1L,EAAe/1L,aAKpC,GAAI+1L,EAAe/1L,cAAgB+iE,GAAUgzH,EAAe/5N,MACxD,MAAO,CAAEA,KAAM0lG,GAAYvyF,SAAUu1D,OAAM1kC,cAAc,GAKzD4iE,GAAQ2vB,IAAa/wB,GAASmI,cAAc4oB,IACxCvnB,IACAunB,EAAWvnB,GAInB,MAAM43H,EAAsB,KACxB,GAAIhR,GAAY1uH,GAAoB0uH,GAUhC,OATmBnmB,GACf/mI,EAAKL,WACLutJ,EACAvtJ,EACAmuD,EACAhG,OACwB1wH,EACxBi6N,EAAeiH,aAW3B,OAJIn5H,GAAY0uB,IAAaA,EAASxe,kBAClCwe,EAAWqzB,GAA6BrzB,IAGpCA,EAASj3D,UACb,KAAK,EACL,KAAK,EACDt/D,EAAOu2H,EACP,MAGJ,KAAK,EACDv2H,EAAO0lG,GAAYvyF,SACnB,MAGJ,KAAK,GACD,GAAIojH,EAAShvB,QAAQM,YAAa,CAC9B,GAAmB,SAAfx/B,EAAuB,CACvB,MAAM27G,EAAY,GAAqCt7G,GACvD,OAAKs7G,GAAoC,IAAvBA,EAAU1kH,SAIrB,CAAEt/D,KAAMomG,GAAYyR,wBAAwB0e,EAAU,QAAS7tD,OAAM1kC,iBAHxEyyF,GAAS7D,GAAUv4F,WAAW4wG,qBAAsBviE,GAC7C,CAAE1oE,KAAM0lG,GAAYvyF,SAAUu1D,OAAM1kC,iBAKnD,GAAmB,WAAfqkC,EAAyB,CACzB,MAAM27G,EAAY,GAAqCt7G,GACvD,OAAKs7G,GAAoC,IAAvBA,EAAU1kH,SAIrB,CAAEt/D,KAAMomG,GAAYyR,wBAAwB0e,EAAU,UAAW7tD,OAAM1kC,iBAH1EyyF,GAAS7D,GAAUv4F,WAAWgxG,uBAAwB3iE,GAC/C,CAAE1oE,KAAM0lG,GAAYvyF,SAAUu1D,OAAM1kC,iBAanD,OARKA,GACDuxF,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWoxG,yBAAyBp5H,OAAO,CAAEhF,KAAMg7D,IAC7DK,GAGD,CAAE1oE,KAAM0lG,GAAYvyF,SAAUu1D,OAAM1kC,gBAG/C,OAAY,GAARkmC,GACKlmC,GACDuxF,GACI,GAA6B7sD,GAAM8sD,kBAAkBC,wBACrD/X,GAAe+X,wBACf7C,GAAUv4F,WAAW24G,kBAAkB3gI,OAAO,CAC1CrS,KAAMq1H,GAAUkB,GAChBlpH,KAAMg7D,IAEVK,EAAKhB,gBAIN,CAAE1nE,KAAM0lG,GAAYvyF,SAAUu1D,OAAM1kC,iBAG3CuyF,EAAShvB,QAAQW,uBACV,CAAEloG,KAAM0lG,GAAYvyF,SAAUu1D,OAAM1kC,cAAc,GAGtDi2L,GACHvxJ,EACA,CACI1oE,KAAM4pJ,GAA6BrzB,GACnC7tD,OACAs4J,WAAYzqG,EACZvyF,gBAEJwyF,EAAK,GAKb,KAAK,EACD,GAAIhxB,GAASgB,eAAe+vB,GAAW,CACnC,MAAM0hG,EAAaiJ,GACfx4J,EAAKL,WACLkuD,EACAluD,EACAmuD,EACAhG,EAAI,EAEJupG,EAAeiH,YAGnBhhO,EAAOi4N,aAAU,EAAVA,EAAYj4N,MACfi4N,aAAU,EAAVA,EAAYj0L,gBACZA,GAAe,IAGfi0L,aAAU,EAAVA,EAAYjF,0BACZA,GAAyB,QAE1B,GACHptH,GAAUqH,UAAUspB,EAAU,SAC9BvnB,GACA7H,GAAgB6H,KACf+qH,EAAe8M,YAClB,CAGE,MAAM5O,EAAaiJ,GACfx4J,EAAKL,WACLu9B,GAAUmJ,oBAAoBC,GAC9B3mC,EACAmuD,EACAhG,EAAI,EAEJupG,EAAeiH,WACRvhH,GAAkBs6G,EAAeiH,iBAClClhO,GAGVE,EAAOi4N,aAAU,EAAVA,EAAYj4N,MACfi4N,aAAU,EAAVA,EAAYj0L,gBACZA,GAAe,IAGfi0L,aAAU,EAAVA,EAAYjF,0BACZA,GAAyB,OAE1B,CAWH,GARIptH,GAAUqH,UAAUspB,EAAU,kBAC9By/F,GACA9uH,GAAoB8uH,KAEpBz/F,EAAW3wB,GAAUgK,gBAAgBomH,IAIrCpwH,GAAU4L,YAAY+kB,GAAW,CACjC,MAAM7pB,EAAe6pB,EAAS7pB,aAC9B,GAAIA,aAAwBtH,GACxB,GAAmB,SAAf/8B,GAAwC,WAAfA,EAAyB,CAClD,MAAM4qD,EAAWC,GAAexqD,EAAM,OACtC,GAAIw+B,GAAoB+rB,GACpB,MAAO,CACHvqD,OACA1oE,KAAM4lG,GAAUgK,gBACZhK,GAAUyH,iBAAiB4lB,EAAUvmB,EAAarH,WAEtDrhE,qBAGL,GAAmB,UAAfqkC,GAAyC,YAAfA,EACjC,MAAO,CAAEK,OAAM1oE,KAAM0sG,EAAapH,SAAUthE,gBAKxD,MAAMi0L,EAAaxoB,GACf/mI,EAAKL,WACLkuD,EACAluD,EACAmuD,EACAhG,OACwB1wH,EACxBi6N,EAAeiH,YAGf/I,IACAj4N,EAAOk/G,GAAmB+4G,EAAWj4N,KAAMm/G,GAAiBoX,MAG5D0hG,aAAU,EAAVA,EAAYj0L,gBACZA,GAAe,IAGfi0L,aAAU,EAAVA,EAAYjF,0BACZA,GAAyB,GAGjC,MAGJ,KAAK,EAAqB,CACtB,MAAMr3I,EAASgqB,GAAWgJ,SAAS4nB,EAAUluD,GAC7C,GAAIsT,IAAWA,EAAOkzB,qBACG,QAAjB2nB,EAAM51G,QACN44M,GAAkB,GAA6B9wJ,GAAOiT,EAAQjT,EAAKL,YAGvEroE,EAAOu4N,GACH58I,OACgB77E,GACE,GACpBE,KAEEqnG,GAAUrnG,KACVA,EAAO45N,GAAqBlxJ,EAAM1oE,EAAMkqE,IAOxC68B,GAAU/mG,KACVA,EAAO0lG,GAAYvyF,UAGnBwoE,EAAOg+B,mBACP4b,GACI,GAA6B7sD,GAAM8sD,kBAAkB6vC,mBACrD3nD,GAAe2nD,mBACfzyC,GAAUv4F,WAAWkyG,6BAA6Bl6H,OAAO,CACrDhF,KAAMg7D,IAEVK,EAAKL,YAITsT,EAAOk+B,0BACP0b,GACI,GAA6B7sD,GAAM8sD,kBAAkB8vC,yBACrD5nD,GAAe4nD,yBACf1yC,GAAUv4F,WAAW4xG,iCAAiC55H,OAAO,CACzDhF,KAAMg7D,EACNv1D,OAAQyjH,EAASvqD,aAErBtD,EAAKL,gBAGV,CAEH,GAAqB,QAAjBmuD,EAAM51G,OAAkB,CACxB,MAAMkmN,EAAgBnhI,GAAWgJ,SAAS4nB,EAAU,eACpD,GAAIuwG,IAEIt9J,EAASqwH,qBAAqB97G,eAAiB3gB,GAAc2pK,MAC7DD,EACK1sH,kBACA3qD,MAAMyZ,GAASA,EAAKn5D,KAAKjP,cAAcm6D,SAAS,WAE3B,CAC1B,MAAM+rK,EAAoBzO,GAAiCuO,GACvDh/H,GAAWk/H,EAAkBhnO,QAC7BA,EAAOu+N,GAA+ByI,EAAkBhnO,MACpDgnO,EAAkBhjM,eAClBA,GAAe,KAO9BhkC,IACIgkC,GACDuxF,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWwtG,sBAAsBx1H,OAAO,CAC9ChF,KAAMg7D,EACNv1D,OAAQyjH,EAASvqD,aAErBtD,EAAKL,YAGbroE,EAAO+0N,EAAiBkS,4BAA8BhhI,GAAQ9yF,SAAWuyF,GAAYvyF,UAG7F,MAGJ,KAAK,EACDnT,EAAO8+G,GAAYyX,GAAWzvB,IAC1B,GAAIR,GAAeQ,GAAU,CACzB,MAAMmxH,EAAa2O,IACnB,OAAI3O,GACAj4N,EAAOk/G,GAAmB+4G,EAAWj4N,KAAMm/G,GAAiBoX,IACxD0hG,EAAWj0L,eACXA,GAAe,GAEZhkC,QAEFgkC,GACDuxF,GACI,GAA6B7sD,GAAM8sD,kBAAkBovC,2BACrDlnD,GAAeknD,2BACfhyC,GAAUv4F,WAAW4uG,oBAAoB52H,OAAO,CAAEhF,KAAMg7D,IACxDK,EAAKL,aAKd,IAAI0+B,GAAUD,GAId,CACH,MAAMmxH,EAAagC,GACfvxJ,EACA,CACI1oE,KAAM8mG,EACNp+B,OACA1kC,aAAc+1L,EAAe/1L,cAEjCwyF,EAAK,GAMT,OAHIyhG,EAAWj0L,eACXA,GAAe,GAEZi0L,EAAWj4N,SAG1B,MAGJ,KAAK,EACL,KAAK,EACD,GAAmB,iBAAfqoE,EAGAroE,EAAOimG,GAAQ9yF,cACZ,GAAmB,aAAfk1D,EAA2B,CAGlC,MAAMmsC,EAAe1M,GAAWyuB,GAAYA,EAAWA,EAAShsB,UAAU,QAEvCzqG,IAA/B00G,EAAanB,eACqD,IAApC,EAA7BmB,EAAanB,iBAEdrzG,EAAOw0G,EAAatB,kBAMpBlzG,EAHC81N,EAGMmE,GACHvxJ,EACA,CAAE1oE,KAAM81N,EAAaptJ,QACrB8tD,EACAtsD,GACFlqE,KAPKimG,GAAQ9yF,SAUvB,MAGJ,KAAK,EAAmB,CACpB,MAAM8kN,EAAa2O,IACf3O,IACAj4N,EAAOk/G,GAAmB+4G,EAAWj4N,KAAMm/G,GAAiBoX,IACxD0hG,EAAWj0L,eACXA,GAAe,IAGvB,MAGJ,QACIwsF,EAAKZ,WAAWgD,GAAUlD,mBAAmB0sB,kBAAkB/pI,OAAO,CAAErS,KAAMq1H,GAAUkB,MAIhG,IAAKv2H,EAAM,CACP,MAAMknO,EACFp/H,GAAWyuB,IACXxuB,GAAqBwuB,IACpBpvB,GAAgBovB,IAAa3wB,GAAUqH,UAAUspB,EAAU,YAEhE,IAAKwjG,EAAe/1L,aAAc,CAC9B,IAAImjM,EAAcv0G,GAAUv4F,WAAWysG,eAClB,QAAjBtQ,EAAM51G,OACNumN,EAAcv0G,GAAUv4F,WAAW2sG,YACX,QAAjBxQ,EAAM51G,SACbumN,EAAcv0G,GAAUv4F,WAAW0sG,gBAMnCvQ,EAAMe,sBACN/G,EAAOgG,EAAMe,qBAGjB,MAAOqqF,EAASvyF,GAAQ63G,EAClB,CAAC19J,EAASgsD,kBAAkBwuC,2BAA4BtmD,GAAesmD,4BACvE,CAACx6F,EAASgsD,kBAAkBC,wBAAyB/X,GAAe+X,yBAE1EF,GACIqsF,EACAvyF,EACA83G,EAAY90N,OAAO,CAAEhF,KAAMg7D,EAAYroE,KAAMq1H,GAAUkB,KAAetF,GAAiBT,GACvF9nD,EAAKL,YAObroE,EAAOknO,EAAiBjhI,GAAQ9yF,SAAWuyF,GAAYvyF,SAU3D,GANiD,IAApC,EAAR+2D,IACGg9B,GAAoBlnG,KAAUA,EAAKopG,gBACnCppG,EAAO0mO,GAA2B1mO,OAAMF,EAAWoqE,EAAOxB,IAI7C,QAAjB8tD,EAAM51G,OAAkB,CACxB,IAAIwmN,EAA0BpjM,EAM9B,GAAIkjE,GAAoBlnG,GAAO,CAC3B,MAAM4rL,E1D/wHf,SAA6BljH,EAAiB2+H,GACjD,IAAIp9H,EAAiCvB,EACrC,KAAOuB,GAAS,CACZ,GAAIA,EAAQxC,WAAa4/H,EACrB,OAAOp9H,EAGXA,EAAUA,EAAQ9jC,Q0DwwHM,CAAmCuiC,EAAM,GACrDkjH,GAAoC,KAAV,QAAf,EAAAA,aAAO,EAAPA,EAASzlJ,cAAM,eAAEshC,YAC5B2/J,GAA0B,GAI7BA,GACD7C,GACI/6J,EAASgsD,kBAAkB2wC,wBAC3BzoD,GAAeyoD,wBACfz9F,EAAKL,WACLroE,EACA0oE,GAC4B,GAKxC,MAAO,CAAE1oE,OAAM0oE,OAAM1kC,eAAcgvL,0BAGvC,SAASiO,GACLr7E,EACA32C,EACA5mC,EACAmuD,EACAhG,EACAtmD,EACA82J,G,MAIA,IAAIqG,EAAmB,EACX,EAARn9J,IACAm9J,GAAoB,GAEZ,EAARn9J,IACAm9J,GAAoB,GAEZ,EAARn9J,IACAm9J,GAAoB,GAEZ,IAARn9J,IACAm9J,GAAoB,IAEZ,IAARn9J,IACAm9J,GAAoB,GAIxB,IAAIluE,EAAat3C,GACb5S,EACA5mC,EACmB,GAAnBg/J,GASJ,GAJKluE,IACDA,EAAat3C,GAAkB5S,EAAW5mC,EAAYg/J,IAGtDluE,EAAY,CACZ,IAAIn5J,EACAqwM,GAAmB,EAEvB,GAAIl3C,EAAWx9E,OAAO49B,YAIlB,YAHIiX,GACAA,EAAKZ,WAAWgD,GAAUlD,mBAAmBmpB,kBAAkBxmI,OAAO,CAAEhF,KAAMg7D,MAKtF,GAAqB,QAAjBmuD,EAAM51G,OAAkB,CAIxB,MAAMijL,EAAkB,GAAiCj+C,GACzD,GAAIi+C,EAAiB,CACjB,MAAMyjC,EAAqD,QAA/B,EAAAj6G,GAAew2E,UAAgB,eAAE50F,UAEzDq4H,GACApgI,GAAoBogI,IACpB1hI,GAAU+C,mBAAmB2+H,EAAqBr4H,KAElDjvG,EAAO28M,GAAwBxjD,EAAWx9E,SAAW+pB,GAAYvyF,SAC7DnT,GAAQknG,GAAoBiyD,EAAWlqD,aACvCjvG,EAAO6gH,GAAwB7gH,EAAMm5J,EAAWlqD,cAMhE,IAAKjvG,EAAM,CAKP,MAEMi4N,EAkiblB,SACIvvJ,EACAtV,EACA2tD,GAEA,GAAI7Z,GAAoB9zC,EAAO67C,WAAY,CACvC,MAAMgpH,EAAaM,GAAiCnlK,EAAOuoB,QAE3D,GAAIs8I,EAMA,OAFAsP,GAA2BtP,EAAWj4N,MAE/B,CACH0oE,OACA1oE,KAAM6gH,GAAwBo3G,EAAWj4N,KAAMozD,EAAO67C,UAAW8R,GACjE/8E,eAAgBi0L,EAAWj0L,eAnjbZwjM,CAAwB5hF,EAAWuT,EAFpC6nE,OAAalhO,EAAYmvG,GAIvCgpH,GACAj4N,EAAOi4N,EAAWj4N,KACdi4N,EAAWj0L,eACXqsK,GAAmB,IAGvBrwM,EAAO0lG,GAAYvyF,SAK3B,GAAIyyF,GAAU0L,iBAAiBrC,GAAY,CACvC,MAAMwL,EAAa0+C,EAAWx9E,OAAO2+B,uBACrC,GAAIG,EAAWz+G,OAAS,GAA4B,IAAvBy+G,EAAW,GAAGz6G,KAIvC,YAHIwwH,GACAA,EAAKZ,WAAWgD,GAAUlD,mBAAmBspB,gBAAgB3mI,OAAO,CAAEhF,KAAMg7D,MAMnE,QAAjBmuD,EAAM51G,QAGFsmF,GAAoBiyD,EAAWlqD,YAC/BrJ,GAAU+C,mBAAmBwwD,EAAWlqD,UAAWA,IAEnDuqH,GAAkB,GAA6B5zE,GAAYuT,EAAWx9E,OAAQiqE,GAItF,MAAM6hF,EA0Fd,SACIznO,EACAm5J,EACAuuE,EACA1G,EACA2G,EACAz9J,EACA07E,EACAv9E,EACAmuD,EACAhG,GAEA,MAAM4wG,EAA8F,IAArD,GAARl3J,GACvC,IAAI09J,GAAc,EACd5U,GAAyB,EAkV7B,GAhVAhzN,EAAO8+G,GAAY9+G,GAAO8mG,IACtB,MAAMogG,EAAkBt9C,GAA6B9iD,GAErD,GAAIG,GAAQigG,GAAkB,CAG1B,IAAI2gC,EAAqC3gC,EACrC4gC,GAA6B,EAoBjC,GAnBItiI,GAASgB,eAAe0gG,KAEpBA,EAAgB3/F,QAAQmI,oBACxBxI,GAAoBggG,EAAgB3/F,QAAQmI,sBAKxCi4H,GAA4C,QAAjBnxG,EAAM51G,SACjCinN,EAAcpoH,GAAkBynF,EAAgB3/F,QAAQmI,oBACxDo4H,GAA6B,GAKjCD,OAAc/nO,GAIlB+nO,EAAa,CACb,IAAIE,EAGAA,EADiB,QAAjBvxG,EAAM51G,OACa,UACK,QAAjB41G,EAAM51G,OACM,UAEA,aAGvB,MAAMonN,EAAenmH,GACjBgmH,EACAE,EAAgB,GAKpB,GAAIniI,GAAU6L,gBAAgBo2H,GAC1B,GAAqB,QAAjBrxG,EAAM51G,QACN,IAAKonN,EASD,OARIx3G,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBkrB,wBAAwBvoI,OAAO,CACxDhF,KAAMg7D,UAIlBu/J,GAAc,QAGf,GAAqB,QAAjBpxG,EAAM51G,SACRonN,EASD,OARIx3G,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBirB,yBAAyBtoI,OAAO,CACzDhF,KAAMg7D,UAIlBu/J,GAAc,GAM1B,GAAII,EAAc,CACd,IAAIC,EAAmBzvE,GAAgBwvE,GACvC,MAAMr5I,EAA8B,CAChC,CAEI/mB,iBAAkB,EAClB5nE,KAAM4lG,GAAU8L,gBAAgBm2H,GAC1BH,EACAC,EACA3G,GAAcp7H,GAAUgK,gBAAgB83H,GACxC3hI,GAASgN,mBAiDvB,GA7CqB,QAAjByjB,EAAM51G,OAEN+tE,EAAQtyF,KAAK,CACTurE,iBAAkB,EAClB5nE,KAAM0nO,IAEc,QAAjBlxG,EAAM51G,QAEb+tE,EAAQtyF,KAAK,CACTurE,iBAAkB,EAClB5nE,KAAMw2H,EAAMW,SAAWzxB,GAAYvyF,WAKvCyyF,GAAU6L,gBAAgBo2H,IAC1B1uE,GACAjyD,GAAoBiyD,EAAYlqD,aAShCs4H,GAA2BU,GAE3BA,EAAmBpnH,GAAwBonH,EAAkB9uE,EAAWlqD,WAOb,IAA9C,EAAR/kC,IACD07B,GAAU+L,gBAAgB+1H,KAEtBl3G,GACAA,EAAKZ,WAAWgD,GAAUlD,mBAAmB8qB,mCAEjDotF,GAAc,IAKlBK,IACCngI,GAAWmgI,IAAqBlgI,GAAqBkgI,IACxD,CACE,MAAMvnB,EAAaunB,EAIb79H,EAAasnG,GAAoB9rD,GAAW,KAE9C,IAAIqgF,EAKArgI,GAAU6L,gBAAgBy1F,KAAqB4gC,EAC3C3uE,GAAcjyD,GAAoBiyD,EAAWlqD,aAC7Cg3H,EAAc9sE,EAAWlqD,WAGzB/H,GAAoB8gI,EAAa/4H,aACjCg3H,EAAc+B,EAAa/4H,WAInC,MAAMi5H,EAAkB32E,GACpBs2E,EACAnnB,EACAulB,EACArgF,OACqB9lJ,OACeA,EACpCgoO,EAA6B5gC,OAAkBpnM,GAGnD,GACIooO,IACCpgI,GAAWogI,IAAoBngI,GAAqBmgI,IACvD,CACE,MAAMlnH,EAAa,IAAIpG,GAAWgF,GAAkBsoH,IAChDjC,GACAjlH,EAAW/E,iBAAiB2D,GAAkBqmH,IAGlD,MAAMkC,EAAavH,GACfh7E,EACAj3D,EACAu5I,EACAlnH,GAC0B,GAG9B,GAAImnH,EAAWC,eAAgB,CAC3B,GAAqB,QAAjB5xG,EAAM51G,OACN,GACI41G,EAAMW,SACNrvB,GAAWogI,IACXA,EAAgB3gI,QAAQljE,WAAWroC,QAAU,EAC/C,CACE,MAAMqsO,EAAaxiI,GAAamE,0BAC5Bk+H,EACA,GAGJ13G,WAAMZ,WACFgD,GAAUlD,mBAAmBssB,mBAAmB3pI,OAAO,CACnDk7F,SAAU8nB,GAAUgzG,GACpB3/G,WAAY2M,GAAUmB,EAAMW,iBAG7BpvB,GAAqBmgI,KAC5B13G,WAAMZ,WACFgD,GAAUv4F,WAAWivG,aAAaj3H,OAAO,CAAEhF,KAAM06N,MAM7D,OADAH,GAAc,EACP3hI,GAAQ9yF,SAInB,MAAwB,QAAjBqjH,EAAM51G,OACPunN,EAAW/9H,YAAc1E,GAAYvyF,SACrC8yF,GAAQ9yF,aAatB,GANqB,QAAjBqjH,EAAM51G,QAAoBqmF,GAAQ+gI,EAAa/4H,YAwH3E,SAAqCA,G,MAEjC,QAAyCnvG,IAArCmvG,EAAU+jH,uBACV,OAAO/jH,EAAU+jH,uBAGrB,IAAIsV,GAAe,EAEnB,MAAMC,EAAqB1mH,GAAkB5S,EAAW,UAAW,GAC7Du5H,EAAqB3mH,GAAkB5S,EAAW,UAAW,GAEnE,GAAKs5H,GAAuBC,EAErB,CACH,MAAMC,EAAa3zG,GAAyByzG,EAAmB5sJ,QACzD0sJ,EAAavzG,GAAyB0zG,EAAmB7sJ,QAI3DmsB,GAAW2gI,IAAe3gI,GAAWugI,IAEjCA,EAAW9gI,QAAQljE,WAAWroC,QAAU,GAAKysO,EAAWlhI,QAAQ2C,qBAI3D9B,GAHmBvC,GAAamE,0BAA0Bq+H,EAAY,GACD,QAAjD,EAAAxiI,GAAA,yBAAsC4iI,UAAW,QAAI/iI,GAAYvyF,YAGtFm1N,GAAe,SAd3BA,GAAe,EAsBnB,OADAr5H,EAAU+jH,uBAAyBsV,EAC5BA,EAzJqBI,CAA4BV,EAAa/4H,aACzC+jH,GAAyB,GAI7B5oH,EACA,OAAOA,UAKpB,IAAItC,GAAWo/F,IAAoBn/F,GAAqBm/F,OAGtDygC,GAA4BxuE,IAAeA,EAAWhgD,kBACvD,OAAOo4C,GACHo2E,EAA0B/hI,GAAUgK,gBAAgB83H,GAAiBA,EACrExgC,EACA/tC,GAAcjyD,GAAoBiyD,EAAWlqD,WAAakqD,EAAWlqD,eAAYnvG,EACjF8lJ,OACqB9lJ,EACrBshO,EACAJ,GAKZ,GAAqB,QAAjBxqG,EAAM51G,OAAkB,CACxB,IAAIu4I,aAAU,EAAVA,EAAYx9E,OAAO09B,eACP,EAARnvC,EAOA,OANIsmD,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBqpB,oBAAoB1mI,OAAO,CAAEhF,KAAMg7D,UAGxEu/J,GAAc,GAMtB,MAAMe,EAAgBxvE,aAAU,EAAVA,EAAYx9E,OAC7By+B,kBACA7tC,MAAMrD,GAASwzB,GAA2BxzB,KAE/C,GAAIy/J,IAAkB,GAAqC/iF,EAAW+iF,EAAcjgK,MAAO,CAGvF,MAAMkrI,EAAwB,GAAoChuD,GAClE,IAAKguD,GAA8D,aAArCA,EAAsBvmM,KAAK/O,MAKrD,OAJIkyH,GACAA,EAAKZ,WAAWgD,GAAUv4F,WAAW2oG,kBAAkB3wH,OAAO,CAAEhF,KAAMg7D,UAE1Eu/J,GAAc,GAOtB,IACIzuE,aAAU,EAAVA,EAAYhgD,mBACZlS,GAAQkyD,EAAWlqD,YACnBrJ,GAAUwM,4BAA4B+mD,EAAWlqD,WAMjD,OAJIuhB,GACAA,EAAKZ,WAAWgD,GAAUlD,mBAAmBurB,oBAAoB5oI,OAAO,CAAEhF,KAAMg7D,UAEpFu/J,GAAc,GAIlB,IAAIgB,GAAoB,EAexB,IAbIzvE,GAAcA,EAAWx9E,OAAO0+B,wBAQ5B8+C,IAAeA,EAAWx9E,OAAOy+B,kBAAkB3qD,MAAMyZ,GAASA,EAAKR,OAASk9E,OANpFgjF,GAAoB,GAWpBA,EAAmB,CACnB,IAAIpQ,EAAgBtxB,EAiBpB,OAXIygC,IACKxuE,EAAYhgD,kBAAoBrR,GAAWo/F,KAExCrhG,GAAaoP,cAAciyF,IAC3BrhG,GAAaiP,iBAAiBoyF,MAE9BsxB,EAAgB3yH,GAAamN,MAAMk0F,GAAuC,IAK/EsxB,GAIf,OAAO1xH,KAGN8gI,EAIL,MAAO,CAAE5nO,OAAMgzN,0BA9bc6V,CACrB7oO,EACAm5J,EACAlqD,EACA+xH,EACqF,IAA9C,EAAR92J,GAC/BA,EACA07E,EACAv9E,EACAmuD,EACAhG,GAGJ,IAAKi3G,EACD,OAIJ,GAFAznO,EAAOynO,EAAiBznO,KAEH,QAAjBw2H,EAAM51G,QAAoB41G,EAAMW,QAAS,CAEzC,IAAKhB,GAAcn2H,EAAMw2H,EAAMW,QAAS3G,aAAI,EAAJA,EAAMX,kBAU1C,YATIW,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmB+oB,mBAAmBpmI,OAAO,CACnDrS,KAAMq1H,GAAUmB,EAAMW,SACtB9pH,KAAMg7D,EACN4mC,UAAW65H,GAAwB75H,OAOnD,GACI/H,GAAoBiyD,EAAWlqD,YAC/BrJ,GAAUqL,kBAAkBkoD,EAAWlqD,YACgB,IAA9C,EAAR/kC,GASD,YAPIsmD,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmB8nB,kBAAkBnlI,OAAO,CAClDhF,KAAMgoH,GAAUzvB,GAAUgK,gBAAgBupD,EAAWlqD,gBAQzE,MAAO,CACHtzB,OAAQw9E,EAAWx9E,OACnB37E,OACAqwM,mBACAp3F,eAAgBkgD,EAAWhgD,iBAC3BE,WAAY8/C,EAAW9/C,WACvBpK,UAAWkqD,EAAWlqD,UACtB+jH,uBAAwByU,EAAiBzU,wBAOjD,GAEI,IADS,GAAR9oJ,GAEH,CACE,MAAM6+J,EAoad,SACI95H,EACA22C,EACApvB,EACAnuD,G,YAEA,GAAqB,QAAjBmuD,EAAM51G,OAAkB,CAGxB,IAAIooN,EAOH,QAPiB,EAAA9H,GACdt7E,EACA32C,EACA,mBACA,CAAEruF,OAAQ,YACC9gB,EACX,WACH,eAAEE,KAeH,GAbKgpO,IACDA,EAOC,QAPa,EAAA9H,GACVt7E,EACA32C,EACA,cACA,CAAEruF,OAAQ,YACC9gB,EACX,WACH,eAAEE,MAKHgpO,GAAejhI,GAAqBihI,GAAc,CAClD,IAAIz0G,EAAwBtuB,GAAQ9yF,SAChC6iN,GAAgB9uH,GAAoB8uH,KACpCzhG,EAAkB3uB,GAAUyH,iBAAiBzH,GAAUgK,gBAAgBomH,GAAe3tJ,IAG1F2gK,EAAcC,GAA4BrjF,EAAWojF,EAAa,CAC9D,CACIphK,iBAAkB,EAClB5nE,KAAMimG,GAAQ9yF,UAElB,CACIy0D,iBAAkB,EAClB5nE,KAAMu0H,KAKlB,GAAIy0G,GAAelhI,GAAWkhI,GAC1B,OAAOzK,GAA+ByK,QAEvC,GAAqB,QAAjBxyG,EAAM51G,QASb,GADC,QAPmB,EAAAsgN,GAChBt7E,EACA32C,EACA,cACA,CAAEruF,OAAQ,YACC9gB,EACX,WACH,eAAEE,KAIC,OAAOimG,GAAQ9yF,cAYnB,GATA2/C,EAAwB,QAAjB0jE,EAAM51G,QAQZ,QAPmB,EAAAsgN,GAChBt7E,EACA32C,EACA,cACA,CAAEruF,OAAQ,YACC9gB,EACX,WACH,eAAEE,KAIC,OAAOimG,GAAQ9yF,SAnfK+1N,CAA6Bj6H,EAAW22C,EAAWpvB,EAAOnuD,GAClF,GAAI0gK,EACA,MAAO,CACHptJ,YAAQ77E,EACRE,KAAM+oO,EACN14B,kBAAkB,EAClBp3F,eAAe,EACfI,YAAY,EACZ25G,wBAAwB,GAKhCxiG,GACAA,EAAKZ,WAAWgD,GAAUlD,mBAAmBspB,gBAAgB3mI,OAAO,CAAEhF,KAAMg7D,KA+lBpF,SAAS8gK,GACLj7H,EACAE,EACAw3C,GAEA,MAAMwjF,EAAgBh7H,EAAe7d,WAAWnsE,GAAUkjF,GAAkBljF,KAI5E,GAAIglN,GAAiB,GACbz8B,GAAkBzlG,GAAoBylG,GACtC,GAAIy8B,EAAgBl7H,EAASlyG,OAAQ,CACjC,MAAMqtO,EAAsBn7H,EAAStvG,MACjCwqO,EACAA,EAAgB,EAAIl7H,EAASlyG,OAASoyG,EAAepyG,QAIzD,GAAmC,IAA/BqtO,EAAoBrtO,QAAgBsrG,GAAkB+hI,EAAoB,GAAGrpO,MAC7EspO,GAAkCD,EAAoB,GAAGrpO,KAAMqpO,EAAoB,GAAG3gK,UACnF,CACH2gK,EAAoB/iN,SAAQ,CAACroB,EAAKktB,KAC9Bo+M,GAAgBtrO,EAAK,CACjBurO,gBAA2B,IAAVr+M,EACjBs+M,sBAAsB,EACtBC,qBAAqB,OAI7B,MAAMC,EAAqC,GACR,IAA/BN,EAAoBrtO,QAAiBqtO,EAAoB,GAAGvO,uBAC5DuO,EAAoB/iN,SAAS2xM,IACrBtwH,GAAgBswH,EAAWj4N,OAASi4N,EAAWj4N,KAAK+oG,mBACpD4gI,EAActtO,QAAQ47N,EAAWj4N,KAAK+oG,oBAEtC4gI,EAActtO,KAAK,CACf2D,KAAMy/G,GAAkBw4G,EAAWj4N,MACnCkpG,aAAa,OAM7B,MAAM0gI,EAAcnqH,GAChBwF,GACI0nF,EACAg9B,GAC6B,GACT,GACE,IAI9Bz7H,EAAW,IACJA,EAAStvG,MAAM,EAAGwqO,GACrB,CAAE1gK,KAAMwlC,EAASk7H,GAAe1gK,KAAM1oE,KAAM4pO,MACzC17H,EAAStvG,MACRwqO,EAAgB,EAAIl7H,EAASlyG,OAASoyG,EAAepyG,OACrDkyG,EAASlyG,eAMrBkyG,EAAS7xG,KAAK,CACVqsE,KAAMk9E,EACN5lJ,KAAMy/G,GACFwF,GACI0nF,EACA,IAC6B,GACT,GACE,MAQ9C,OAAOz+F,EAIX,SAASo7H,GAAkCtpO,EAAmB0oE,GAC1D,QAAK1oE,EAAK0nG,qBACN+uB,GACI7D,GAAUv4F,WAAW46G,+BAA+B5iI,OAAO,CACvDu7D,MAAO5tE,EAAKunG,QAAQl6F,KACpBwgE,MAAO7tE,EAAKunG,QAAQl6F,OAExBq7D,IAEG,GA2If,SAAS+xJ,GACL/xJ,EACA6tD,EACAC,EACAtsD,GAGA,MAAM2/J,EA1IV,SACInhK,EACA6tD,EACArsD,G,QAEA,KAC2B,QAAtB,EAAAqsD,EAAStuB,qBAAa,eAAEmG,iBACyB,IAAjDmoB,EAAStuB,cAAcmG,eAAepyG,QAAgBu6H,EAAStuB,cAAcmB,cAE9E,OAIJ,IAAK5D,GAASgB,eAAe+vB,GACzB,OAIJ,GAAIA,EAAStuB,cAAcmB,cACvB,OAGJ,MAAMgF,EAAiBmoB,EAAStuB,cAAcmG,eAC9C,IAAIF,EAAWi7H,GAAsCW,GAAYphK,EAAMwB,GAAQkkC,EAAgB1lC,GAMjE,IAA1B0lC,EAAepyG,QAAgBoyG,EAAe,GAAG7G,QAAQM,aAAeqG,GAEpEA,EAASnmF,OACJy1F,IAAakD,GAAelD,EAAQx9G,QAAUw9G,EAAQuoH,WAAal+H,GAAY2V,EAAQx9G,UAG5FkuG,EAAW,CACP,CACIluG,KAAM0lG,GAAYvyF,SAClBu1D,KAAMwlC,EAAS,GAAGxlC,KAClBq9J,SAAU73H,KAMtBA,EAASlyG,OAASoyG,EAAepyG,SAAWoyG,EAAe3+C,MAAM2rD,GAAYA,EAAQ7T,QAAQC,cAC7FivB,GACI7D,GAAUv4F,WAAW02G,kBAAkB1+H,OAAO,CAC1ChF,KAAMgoH,GAAUkB,GAChBkmF,SAAUruG,EAAepyG,OACzBiS,SAAUigG,EAASlyG,SAEvBkyG,EAASE,EAAepyG,QAAQ0sE,MAIxC,MAAMs4C,EAAa,IAAIpG,GAAW2b,EAAStuB,cAAc+F,gBACnDwiB,EAAO,IAAId,GACjBthB,EAAe9nF,SAAQ,CAAClC,EAAO+G,KAC3B,GAAI/G,EAAMmjF,QAAQM,aAAe18E,EAAQ+iF,EAASlyG,OAC9C,GAAIkyG,EAAS/iF,GAAO46M,SAAU,CAC1B,MAAMvxH,EAAe3O,GAAa4J,mBAAmB,GAAI,GAAI,GAAI,OACjEjK,GAASoI,eAAe4G,GACxBtG,EAAS/iF,GAAO46M,SAAUz/M,SAAQ,CAAC08F,EAAWK,KAC1Cxd,GAAa6O,aAAaF,EAAc,CACpCl1C,SAAU,EACVjyD,KAAM,MAAMg2G,IACZtP,mBAAmB,EACnB/zG,KAAMy/G,GAAkBuD,EAAUhjH,MAClCg0G,iBAAiB,OAIzB+1H,GAAuB3lN,EAAOowF,EAAcgc,EAAMxP,QAC/C,GAAInZ,GAAYqG,EAAS/iF,GAAOnrB,MACnC+pO,GAAuB3lN,EAAOq7F,GAAkBvR,EAAS/iF,GAAOnrB,MAAOwwH,EAAMxP,QAC1E,GAAIN,GAAexS,EAAS/iF,GAAOnrB,MAAO,CAC7C,MAAMw0G,EAAe3O,GAAa4J,mBAC9B,GACA,GACA,GACA,OAEJjK,GAASoI,eAAe4G,GACxB3O,GAAa0O,qBAAqBC,GAClCu1H,GAAuB3lN,EAAOowF,EAAcgc,EAAMxP,QAElDyV,GAAS7D,GAAUv4F,WAAWo2G,sBAAuBviC,EAAS/iF,GAAOu9C,WAGrEv9C,EAAQ+iF,EAASlyG,QAAUkyG,EAAS/iF,GAAO46M,UAC3CtvG,GAAS7D,GAAUv4F,WAAWq2G,wBAAyBxiC,EAAS/iF,GAAOu9C,MAK3EqhK,GAAuB3lN,EADnB+G,EAAQ+iF,EAASlyG,OAASyjH,GAAkBvR,EAAS/iF,GAAOnrB,MAAQ0lG,GAAYvyF,SACzCq9G,EAAMxP,MAIpDwP,EAAKlpG,WACNmvG,GACI7D,GAAUv4F,WAAW63G,uBAAuB7/H,OAAO,CAAErS,KAAMq1H,GAAUkB,KAAe/F,EAAKR,YACzFtnD,GAIR,MAAMshK,EAAwB,GAqB9B,OApBqC,QAArC,EAAAzzG,EAAStuB,cAAcmG,sBAAc,SAAE9nF,SAASw8F,IAC5C,IAAI1K,EACJ,GAAIvQ,GAAYib,GAAY,CACxB,MAAMnP,EAAiBqN,EAAWnE,aAAaiG,GAC/C1K,EAAczE,EAAiBuT,GAA4BvT,GAAkBjO,GAAYvyF,cAEzFilG,EAAc4I,EAAW5E,eAAe0G,GAE5CknH,EAAc3tO,KAAK+7G,GAAe1S,GAAYvyF,aAY3C,CAAEnT,KATIwlG,GAASsI,kBAClB4R,GAAoB6W,EAAUvV,GAC9BuV,EAAStuB,cAAc56F,KACvBkpH,EAAStuB,cAAc8F,SACvBwoB,EAAStuB,cAAc+F,eACvBuoB,EAAStuB,cAAcmG,eACvB47H,GAGWthK,QAUSuhK,CAA2BvhK,EAAM6tD,EAAUrsD,GACnE,GAAI2/J,EACA,OAAOA,EAGX,GAAIvqH,GAAuBiX,GAAW,CAClC,MAAM2zG,EAAeJ,GAAYphK,EAAMwB,GAAOplD,KAAKyoC,GAAMkyD,GAAkBlyD,EAAEvtD,QAS7E,MAAO,CAAEA,KARIwlG,GAASsI,kBAClByoB,EACAA,EAAShvB,QAAQW,uBACjB,GACAquB,EAAShvB,QAAQ++H,+BACjBxmO,EACAoqO,GAEWxhK,QAGnB,IAAI1kC,GAAe,EAEnB,MAAMhkC,EAAO2lM,GACTpvE,OACsBz2H,GACtB,CAAConM,EAAiBtB,K,MACd,GAAIj/F,GAAeugG,GACf,OAAOA,EAGX,GAAY,GAARh9H,GACIm9B,GAAUu+F,GAaV,OAZArwE,GACI,GAA6B7sD,GAAM8sD,kBAAkBC,wBACrD/X,GAAe+X,wBACf7C,GAAUv4F,WAAW44G,0BAA0B5gI,OAAO,CAClDrS,KAAMq1H,GAAUuwE,KAEpBl9H,EAAKP,gBAIT2hK,GAAYphK,EAAMwB,GAA8B,GAAmC,GAE5Ew7B,GAAYvyF,SAI3B,GAAI+zF,GAAoBggG,GAAkB,CAEtC,GACIA,EAAgB3/F,QAAQmI,oBACxBxI,GAAoBggG,EAAgB3/F,QAAQmI,sBAC3C9J,GAAUqH,UAAUi6F,EAAgB3/F,QAAQmI,mBAAoB,SAE1CwxH,GACnBx4J,EACAw+H,EACAijC,GAA8B3zG,QAClB12H,OACDA,EACX,IAGA,OAAOsqO,GAAgC1hK,EAAMw+H,EAAiB1wE,GAAOx2H,KAY7E,GANqB,QAAjBw2H,EAAM51G,OACN61G,GAAS7D,GAAUv4F,WAAW2pG,uBAAwBt7D,EAAKP,gBACnC,QAAjBquD,EAAM51G,QACb61G,GAAS7D,GAAUv4F,WAAW4pG,sBAAuBv7D,EAAKP,gBAG1Dy9B,GAAUgL,iBAAiBs2F,EAAiB,WAE5C,OA2sNpB,SAA2Bx+H,EAAiBwB,GACxC,GAA0B,IAAtBxB,EAAK3kC,MAAM/nC,OAEX,OADAy6H,GAAS7D,GAAUv4F,WAAWosG,mBAAoB/9D,EAAKP,gBAChDu9B,GAAYvyF,SAKvB,MAAMo9M,EAAuB,GAE7B,IAAK,MAAMvnM,KAAQ0/C,EAAK3kC,MAAO,CAC3B,IAAI/jC,EACJ,MAAMqqO,EAAWrhN,EAAK8+C,gBAEtB,GAA8B,IAA1B9+C,EAAK4+C,iBACL6uD,GAAS7D,GAAUv4F,WAAWu6G,4BAA6By1F,GAC3DrqO,EAAO0lG,GAAYvyF,cAChB,GAAI6V,EAAK3b,KACZopH,GAAS7D,GAAUv4F,WAAW4rG,2BAA4BokG,GAC1DrqO,EAAO0lG,GAAYvyF,cAChB,GAA0B,KAAtBk3N,EAAS5iK,SAAuC,CAInDznE,EAAOsqO,GAA6B5hK,EAHuC,IAA5B,GAAlC2hK,EAASniK,QAAQ,GAAGlmD,MAAMkoD,OAGG,QAEA,MAJhCmgK,EAASniK,QAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,UAM3B,KAAtB6tO,EAAS5iK,UACX4iK,EAASriK,aAAeqiK,EAASn8N,YAClClO,EAAOsqO,GAA6B5hK,EAAM,MAAO2hK,EAAS/rO,QAEjC,KAAtB+rO,EAAS5iK,SACW,KAAvB4iK,EAASp7I,UACTjvF,EAAOsqO,GAA6B5hK,EAAM,QAAQ,GACpB,KAAvB2hK,EAASp7I,UAChBjvF,EAAOsqO,GAA6B5hK,EAAM,QAAQ,GACpB,KAAvB2hK,EAASp7I,YAChBjvF,EAAO+lG,GAASkQ,cAGE,KAAtBo0H,EAAS5iK,UACa,KAAtB4iK,EAASx8I,UAE4B,KAAjCw8I,EAASt3K,WAAW0U,WACf4iK,EAASt3K,WAAWiV,aAAeqiK,EAASt3K,WAAW7kD,YACxDlO,EAAOsqO,GAA6B5hK,EAAM,OAAQ2hK,EAASt3K,WAAWz0D,QAKlF,IAAK0B,EAAM,CACP,MAAMitM,EAAWr2E,EAAoByzG,GAGrC,GACIljI,GAAgB8lG,EAASjtM,OACzB4lG,GAAU4L,YAAYy7F,EAASjtM,YACAF,IAA/BmtM,EAASjtM,KAAK0sG,aAEd1sG,EAAO4lG,GAAUmJ,oBAAoBk+F,EAASjtM,UAC3C,CAEH,IAAIigH,GAAgB,EAEpB7C,GAAiB6vF,EAASjtM,MAAO8mG,IACxBI,GAAoBJ,SAAqChnG,IAAzBgnG,EAAQ4F,eACzCuT,GAAgB,MAIpBA,IACAjgH,EAAOitM,EAASjtM,OAKvBA,IACDy2H,GAAS7D,GAAUv4F,WAAWmsG,yBAA0Bx9G,GACxDhpB,EAAO0lG,GAAYvyF,UAGvBo9M,EAAal0N,KAAK2D,GAGtB,OAAOgsG,GAAaukH,GAhyNGga,CAAkB7hK,GAG7B,GAAIk9B,GAAUqH,UAAUi6F,EAAiB,WAAY,CAEjD,MAAMh5F,EAAW47H,GAAYphK,EAAMwB,GACnC,OAAwB,IAApBgkC,EAASlyG,OACFkyG,EAAS,GAAGluG,MAEnBy2H,GACI7D,GAAUv4F,WAAWq8F,sBAAsBrkH,OAAO,CAAEpE,SAAUigG,EAASlyG,SACvE0sE,EAAKP,gBAEFu9B,GAAYvyF,UAI3B,GAAIyyF,GAAU4L,YAAY01F,GAMtB,OAAOthG,GAAUgK,gBAAgBs3F,GAGrC,MAAMsjC,EACFtjI,GAAoBggG,IAAoBthG,GAAUqH,UAAUi6F,EAAiB,aAC3Eh1F,EACFhL,GAAoBggG,IAAoBthG,GAAUsM,sBAAsBg1F,GACtEujC,GACoC,QAAtC,EAAAvjC,EAAgB3/F,QAAQ6G,sBAAc,eAAEpyG,QAAS,GACjD4pG,GAAUgL,iBAAiBs2F,IAC3BthG,GAAUqH,UAAUi6F,EAAiB,SACrCthG,GAAUqM,uBAAuBi1F,GAC/BwjC,EACFxjI,GAAoBggG,IAAoBthG,GAAUqH,UAAUi6F,EAAiB,SAC3EyjC,EACFzjI,GAAoBggG,IAAoBthG,GAAUqH,UAAUi6F,EAAiB,YAEjF,IAAIh5F,EAAW47H,GACXphK,EACAwB,EACAsgK,EACAt4H,IAA0Bu4H,EAC1BC,EACAC,GAYJ,OAVKH,IACDt8H,EAAWi7H,GACPj7H,EACAg5F,EAAgB3/F,QAAQ6G,eACxB1lC,IAMJwpC,EACOg1F,EAGPA,EAAgB99F,eAChBqtB,GACI7D,GAAUv4F,WAAWuhG,0BAA0BvpH,OAAO,CAClDrS,KAAMq1H,GAAU5V,GAAkBynF,IAAwC,KAE9Ex+H,EAAKP,gBAEF++H,GAGJw/B,GAA2Bx/B,EAAiBh5F,EAAUhkC,EAAOxB,GAGxE,GAAIy+B,GAAgB+/F,GAAkB,CAClC,MAAM+wB,EAAamS,GAAgC1hK,EAAMw+H,EAAiB1wE,GAI1E,OAHIyhG,EAAWj0L,eACXA,GAAe,GAEZi0L,EAAWj4N,KAGtB,OAAIqmG,GAAQ6gG,GACDxhG,GAAYvyF,SAGnBmzF,GAAe4gG,IACf3xE,GACI,GAA6B7sD,GAAM8sD,kBAAkBmvC,wBACrDjnD,GAAeinD,wBACf/xC,GAAUv4F,WAAWyuG,uBACrBpgE,EAAKP,gBAGFu9B,GAAYvyF,WAGlB4zF,GAAUmgG,IAEX3xE,GADiB,GAA6B7sD,GAEjC8sD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW83G,uBAAuB9/H,OAAO,CAAErS,KAAMq1H,GAAU6xE,KACrEx+H,EAAKP,gBAINu9B,GAAYvyF,aAgB3B,OAVAu1D,EAAK3kC,MAAMzd,SAAS0C,IACXwtM,EAAaxtM,EAAK8+C,kBACnB8uD,EACI5tG,EAAK8+C,qBACchoE,EACX,EAARoqE,MAKL,CAAElqE,OAAM0oE,OAAM1kC,gBAGzB,SAAS62L,GAAgB/qB,EAAoB86B,GAAsB,GAC/D,OAAIj+B,GAAkBzlG,GAAoBylG,GAC/BltF,GACHwF,GACI0nF,EACAmD,EAAWhrL,KAAKyoC,IACL,CAAEvtD,KAAMutD,EAAG27C,YAAa0hI,QAMxCllI,GAAYvyF,SAGvB,SAASg3N,GAA8B3zG,GACnC,MAAqB,QAAjBA,EAAM51G,OACC,cACiB,QAAjB41G,EAAM51G,OACN,eAEPkyC,EAAwB,QAAjB0jE,EAAM51G,QACN,eAIf,SAASwpN,GAAgC1hK,EAAiB6tD,EAAqBC,G,QAE3E,GAAIrvB,GAAgBovB,IAAa3wB,GAAU0L,iBAAiBilB,GAAW,CACnE,MAAMyrG,EAAoB1rG,GAA4B2rG,GAAoBv5J,EAAM6tD,EAAUC,GAC1F,GAAIwrG,EACA,OAAOA,EAIf,MAAM6I,EAAkBV,GAA8B3zG,GAChDs0G,EAAiB3jI,GAAgBovB,GAQhC,QAPD,EAAAk5E,GACI/mI,EACA6tD,EACAs0G,OACY/qO,OACDA,EAAS,WAEvB,eAAEE,KAQF,QAPD,EAAAkhO,GACIx4J,EACA6tD,EACAs0G,OACY/qO,OACDA,EACX,WACH,eAAEE,KAET,IAAK8qO,EAWD,OATAv1G,GADiB,GAA6B7sD,GAEjC8sD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWgtG,yBAAyBh1H,OAAO,CACjDhF,KAAMw9N,EACN7qO,KAAMq1H,GAAUkB,KAEpB7tD,EAAKP,gBAEF,CAAEO,OAAM1oE,KAAM0lG,GAAYvyF,UAOrC,GAC0B,IAAtBu1D,EAAK3kC,MAAM/nC,SACV0sE,EAAKf,gBACLe,EAAK3kC,MAAM,GAAG12B,MACoB,IAAnCq7D,EAAK3kC,MAAM,GAAG6jC,kBACdu/B,GAAgBovB,GAClB,CACE,MAAMw0G,EAAariK,EAAK3kC,MAAM,GAAG+jC,gBAC3B/f,EAAY6uE,EAAoBm0G,GAAY/qO,KAElD,GACImnG,GAAgBp/C,IAChB69C,GAAUqH,UAAUllD,EAAW,QAC/Bk4D,GAAcl4D,IACoB,iBAA3BA,EAAU2kD,aACnB,CACE,MAAMq5F,EAAah+I,EAAU2kD,aACvBoY,EAAYjF,GAAwB0W,GAE1C,GAAIzR,GAAaA,EAAU/b,qBAAuB6X,GAAsBkE,GAAY,CAChF,GAAIihF,GAAc,GAAKA,EAAajhF,EAAU/b,mBAAmB/sG,OAC7D,MAAO,CAAE0sE,OAAM1oE,KAAM8kH,EAAU/b,mBAAmBg9F,GAAY/lM,MAC3D,GAAI+lM,EAAa,GAAKjhF,EAAU/b,mBAAmB/sG,OAAS+pM,GAAc,EAC7E,MAAO,CACHr9H,OACA1oE,KAAM8kH,EAAU/b,mBAAmB+b,EAAU/b,mBAAmB/sG,OAAS+pM,GAAY/lM,YAI9F,GAAImnG,GAAgBp/C,IAAc69C,GAAUqH,UAAUllD,EAAW,SAAU,CAC9E,MAAM+8D,EAAYjF,GAAwB0W,GAC1C,GAAIzR,GAAaA,EAAU/b,qBAAuB6X,GAAsBkE,IACxC,KAAxBimH,EAAWtjK,WAAqCsjK,EAAWn2I,UAAW,CAEtE,MAAMo2I,EAAoB,CAACj4K,EAAwCmhC,KAC/D,IAAI51F,EAAQ41F,EACZ,GAAInhC,EAAY,CACZ,MAAMk4K,EAAUr0G,EAAoB7jE,GAAY/yD,KAE5CmnG,GAAgB8jI,IAChBrlI,GAAUqH,UAAUg+H,EAAS,QAC7BhrH,GAAcgrH,IACkB,iBAAzBA,EAAQv+H,cAEfpuG,EAAQ2sO,EAAQv+H,aACZpuG,EAAQ,IACRA,EAAQwmH,EAAU/b,mBAAoB/sG,OAASsC,IAGnDA,GAAS,EAGjB,OAAOA,GAGLo2F,EAAas2I,EAAkBD,EAAWr2I,WAAY,GACtDC,EAAWq2I,EAAkBD,EAAWp2I,SAAUmwB,EAAU/b,mBAAmB/sG,QAErF,GACI04F,GAAc,GACdC,EAAW,GACXA,GAAYmwB,EAAU/b,mBAAmB/sG,QACzC2wM,GACAzlG,GAAoBylG,GAEpB,MAAO,CACHjkI,OACA1oE,KAAM4lG,GAAUgK,gBACZqV,GACI0nF,EACA7nF,EAAU/b,mBAAmBnqG,MAAM81F,EAAYC,QAW/E,MAAMu2I,EAAiBxiK,EAAK3kC,MAAM8lB,QAC7B7gC,GAAmC,IAA1BA,EAAK4+C,mBAAiD5+C,EAAK3b,OAEnE89N,EAAmBziK,EAAK3kC,MAAM8lB,QAAQ7gC,GAAmC,IAA1BA,EAAK4+C,mBAEpDwjK,EAAc1iK,EAAK3kC,MAAM8lB,QAC1B7gC,GAAmC,IAA1BA,EAAK4+C,oBAAkD5+C,EAAK3b,OAEpEg+N,EAAmB3iK,EAAK3kC,MAAM8lB,QAC/B7gC,GAAmC,IAA1BA,EAAK4+C,mBAGnB,IAAI0jK,EACJ,GAA8B,IAA1BJ,EAAelvO,QAA4C,IAA5BmvO,EAAiBnvO,QAAiB0sE,EAAKf,cAGnE,GAA8B,IAA1BujK,EAAelvO,QAA4C,IAA5BmvO,EAAiBnvO,OAEvDsvO,EACI3+B,GAAkBzlG,GAAoBylG,GAChCltF,GAAkBwF,GAAqB0nF,EAAgB,KACvDjnG,GAAYvyF,aACnB,CAEH,MAAM4xG,EAAuB,GAC7BmmH,EAAe5kN,SAASroB,IACpB8mH,EAAa1oH,KAAKu6H,EAAoB34H,EAAI6pE,iBAAiB9nE,SAE/DmrO,EAAiB7kN,SAASroB,IACtB,MACM+gO,EAAe1qB,GADJ19E,EAAoB34H,EAAI6pE,iBAAiB9nE,MACO,EAAO/B,IAAQynG,GAAYvyF,SAC5F4xG,EAAa1oH,KAAK2iO,MAGtBsM,EAAsBzQ,GAAgB91G,EAAcomH,EAAiBnvO,OAAS,QAnB9EsvO,EAAsB10G,EAAoBs0G,EAAe,GAAGpjK,iBAAiB9nE,KAsBjF,IAuCImoO,EAvCAx5I,EAA8B,CAC9B,CACI/mB,iBAAkB,EAClB5nE,KAAMsrO,IAId,GAAqB,QAAjB90G,EAAM51G,OAAkB,CACxB,IAAIu2G,EAAUX,EAAMW,SAAWlxB,GAAQ9yF,SAGnCk0F,GAAU8vB,IAAYA,EAAQ5vB,QAAQ8D,YAAYrvG,OAAS,IAE3Dm7H,EAAUyyB,GAA6BzyB,EADfhwB,GAAgBovB,GAAYA,EAAS1tB,eAAY/oG,IAI7E6uF,EAAQtyF,KAAK,CACTurE,iBAAkB,EAClB5nE,KAAMm3H,IAwDd,OApDAi0G,EAAY9kN,SAASroB,IACjB0wF,EAAQtyF,KAAK,CACTurE,iBAAkB,EAClBE,gBAAiB7pE,EAAI6pE,gBACrBY,KAAMzqE,EACNoP,KAAMpP,EAAIoP,UAIlBg+N,EAAiB/kN,SAASroB,IACtB0wF,EAAQtyF,KAAK,CACTurE,iBAAkB,EAClBE,gBAAiB7pE,EAAI6pE,gBACrBY,KAAMzqE,OASdgxM,GAAmBvmI,GAAM,KAGrB,GAFAy/J,EAAavH,GAAsBl4J,EAAMimB,EAASm8I,GAE9C3C,EAAWC,gBAGPjhI,GAAgBmkI,IAA+C,IAAvBF,EAAYpvO,QAA4C,IAA5BqvO,EAAiBrvO,OAAc,CACnG,MAAMuvO,EAAa,IAAI58I,GAIvB,GAHA48I,EAAW,GAAK,IAAKA,EAAW,IACZ97B,GAAwB/mI,EAAM4iK,EAAqB,aAEtD,CACb,MAAME,EAAUjgC,GAAiB7iI,EAAM,OACnCy+B,GAAgBqkI,KAChBD,EAAW,GAAGvrO,KAAOwrO,GAI7BrD,EAAavH,GAAsBl4J,EAAM6iK,EAAYT,GAGhD3C,EAAWC,iBACZz5I,EAAU48I,OAM1BpD,EAAavH,GAAsBl4J,EAAMimB,EAASm8I,GAE3C,CACHpiK,OACA1oE,KAAMmoO,EAAW/9H,YAAc1E,GAAYvyF,SAC3C6wB,eAAgBmkM,EAAW93B,kBAInC,SAASy5B,GACLphK,EACAwB,EACAsgK,GAAmB,EACnBt4H,GAAwB,EACxBw4H,GAAoB,EACpBC,GAAuB,GAEvB,MAAMz8H,EAAyB,GAC/B,IAAIu9H,EAAWvhK,EAEXwgK,GAAqBC,EACrBc,GAAY,QAEZA,IAAY,QAOPjB,IACDiB,GAAY,QAGhBA,GAAY,SAIhB,MAAMC,EAAuB,CAACr8I,EAAsBkgH,KAChD,IAAI0oB,EAkBJ,OAZIA,EADA/lH,GAA0Bs4H,GAAoBj7B,EAAW,EAC5C34E,EACTvnC,OACmBvvF,EACnB,QAuDhB,SAAoB4oE,EAAsBwB,GACtC,IAAI+tJ,EAEA0T,E,KACAzhK,EAoCJ,OA9BiB,GAA6BxB,GACjCkN,aACT+1J,GAAiB,GAGC,KAAlBjjK,EAAKjB,UACLwwJ,EAAa,CACTj4N,KAAM0lG,GAAYvyF,SAClB4yN,SAAUr9J,EAAK9+C,QAAQ9E,KAAK21C,GAAUm8D,EAAoBn8D,OAAO36D,EAAW6rO,KAC5EjjK,QAIJwnJ,EAAexnJ,KAEfuvJ,EAAarhG,EAAoBluD,OAAyB5oE,EAAW6rO,GAGjE1kI,GAAQgxH,EAAWj4N,OAAS4lG,GAAUqH,UAAUgrH,EAAWj4N,KAAM,aACjEy2H,GAAS7D,GAAUv4F,WAAWyyG,mCAAoCpkE,GAGlB,IAAvC,OAARwB,IAEG+8B,GAAQgxH,EAAWj4N,OAAS4lG,GAAUqH,UAAUgrH,EAAWj4N,KAAM,aACjEy2H,GAAS7D,GAAUv4F,WAAWgiG,qBAAsB3zD,IAKzDuvJ,EAzFc2T,CAAWv8I,EAAMo8I,GAG3BxT,GA2CX,OAtC0B,IAAtBvvJ,EAAK3kC,MAAM/nC,SACV0sE,EAAKf,gBACLe,EAAK3kC,MAAM,GAAG12B,MAC4B,KAA3Cq7D,EAAK3kC,MAAM,GAAG+jC,gBAAgBL,UAC9BiB,EAAK3kC,MAAM,GAAG+jC,gBAAgB4B,YAAY1tE,OAAS,GAEnD0sE,EAAK3kC,MAAM,GAAG+jC,gBAAgB4B,YAAYpjD,SAAQ,CAAC0C,EAAMmC,KACrD+iF,EAAS7xG,KAAKqvO,EAAqB1iN,EAAMmC,OAI7C+kM,EAAexnJ,EAAK3kC,MAAM,GAAG+jC,kBAE7BY,EAAK3kC,MAAMzd,SAAQ,CAACroB,EAAKktB,KACrB,MAAM8sM,EAAayT,EAAqBztO,EAAI6pE,gBAAiB38C,GAEhC,IAAzBltB,EAAI2pE,kBACyB,IAAzB3pE,EAAI2pE,mBACA0/B,GAAkB2wH,EAAWj4N,QAAUi4N,EAAWj4N,KAAK0nG,mBACvDuwH,EAAWj4N,KAAOomG,GAAYsK,iBAAiBunH,EAAWj4N,MAE1DknG,GAAoB+wH,EAAWj4N,QAC9Bi4N,EAAWj4N,KAAK6vG,mBACjBsC,GAAa8lH,EAAWj4N,QAExBi4N,EAAWj4N,KAAO4lG,GAAU8K,iBAAiBunH,EAAWj4N,QAKhE/B,EAAIoP,MACJopH,GAAS7D,GAAUv4F,WAAW4rG,2BAA4BhoI,EAAI6pE,iBAGlEomC,EAAS7xG,KAAK47N,MAIf/pH,EAgGX,SAASitH,GAAyBzyJ,EAAiBq4I,GAE/C,IAAK55G,GADL45G,EAAexhG,GAAoCwhG,IAE/C,OAGJ,IAAKpU,IAAmBzlG,GAAoBylG,GACxC,OAIJ,IAAIk/B,EAAwB,GAE5B,GAAI15H,GAAa4uG,IAAiBA,EAAah4G,mBAAoB,CAC/D8iI,EAAgB9qB,EAAah4G,mBAAmBjkF,KAAKyoC,GAAMgyD,GAAoChyD,EAAEvtD,QACjG,MAAMwlO,EAAiBzkB,EAAah4G,mBAAmBxY,WAAWhjC,GAAMA,EAAE27C,cAC1E,GAAIs8H,GAAkB,EAClB,GAAIqG,EAAc7vO,OAAS0sE,EAAKgB,YAAY1tE,OACxC6vO,EAAc3kN,OAAOs+M,EAAgB,QAErC,KAAOqG,EAAc7vO,OAAS0sE,EAAKgB,YAAY1tE,QAC3C6vO,EAAc3kN,OAAOs+M,EAAgB,EAAGqG,EAAcrG,QAI/D,CACH,MAAMsG,EAAkB,IAAIlxH,GAAWgF,GAAkB+sF,IACzD,IACKhC,GACG/kG,GAAUgK,gBAAgB+8F,GAC1BoU,EACA+qB,EACAnF,GAAwBj+J,IAG5B,OAGJ,MAAMqjK,EAAmBrsH,GAAoBitF,EAAgBm/B,GAC7D,IAAKC,EAAiB3iI,eAA2D,IAA1C2iI,EAAiB3iI,cAAcptG,OAClE,OAGJ,MAAMgwO,EAAiBzsH,GAAoCwsH,EAAiB3iI,cAAc,IAC1F,IAAK,IAAI9tG,EAAI,EAAGA,EAAIotE,EAAKgB,YAAY1tE,OAAQV,IACzCuwO,EAAcxvO,KAAK2vO,GAI3B,MAAM5Q,EAAmB1yJ,EAAKgB,YAAY5kD,KAAI,CAACuqE,EAAMlkE,IACjDyrG,EAAoBvnC,EAAMlkE,EAAQ0gN,EAAc7vO,OAAS6vO,EAAc1gN,QAASrrB,KAG9EmsO,EAA+BJ,EAAcp8K,MAAMzvD,GAASkgH,GAAqBlgH,KAWvF,MAAO,CAAEA,KATIy/G,GACTwF,GACI0nF,EACA0uB,GAAoBD,IACS,GACR6Q,IAIdvjK,QAgBnB,SAAS2yJ,GAAoBD,GACzB,MAAMtrB,EAAkC,GAExC,IAAK,MAAMmoB,KAAcmD,EAAkB,CACvC,IAAI8Q,EAWJ,GAVIjU,EAAW1uG,aACX2iH,EAAwBjU,EAAW1uG,aAC5B3hB,GAAWqwH,EAAWj4N,QAC7BksO,EAAwBjU,EAAWj4N,MAQnCksO,GACA/kI,GAAgB+kI,IAChBA,EAAsBnjI,mBACxB,CACE,MAAMmF,EAAWg+H,EAAsBnjI,mBAElCmF,EAGD4hG,EAAWzzM,QAAQ6xG,GAFnB4hG,EAAWzzM,KAAK,CAAE2D,KAAM0lG,GAAYvyF,SAAU+1F,aAAa,SAK/D4mG,EAAWzzM,KAAK,CAAE2D,KAAMi4N,EAAWj4N,KAAMkpG,cAAe+uH,EAAW1uG,eAO3E,GAAIumF,EAAWjmJ,QAAQ0D,GAAMA,EAAE27C,cAAaltG,OAAS,EAAG,CACpD,MAAMmwO,EAA2Br8B,EAAWv/G,WAAWhjC,GAAMA,EAAE27C,cACzDkjI,EAAiBt8B,EAAW5oL,OAAOilN,GACzCr8B,EAAWzzM,KAAK,CAAE2D,KAAMgsG,GAAaogI,EAAetnN,KAAKyoC,GAAMA,EAAEvtD,QAAQkpG,aAAa,IAG1F,OAAO4mG,EAGX,SAAS8qB,GAAgBlyJ,EAAgBq4I,GACrC,MAAMgZ,EAAiBnjG,EACnBluD,EAAKhB,oBACc5nE,EAAS,GAI1B6uF,EAAUjmB,EAAKhoE,UAAUokB,KAAK7mB,IACM,CAClC6pE,gBAAiB7pE,EAAI6pE,gBACrBF,iBAAkB3pE,EAAI2pE,iBACtBc,KAAMzqE,EACNoP,KAAMpP,EAAIoP,SAKlB,IAAIg/N,EAA2B,CAAE3jK,OAAM1oE,KAAM0lG,GAAYvyF,UAEzD,GAAKmsG,GAAuBy6G,EAAe/5N,MA2DvCqsO,EAAaroM,cAAe,MA3DkB,CAC9C,GAAqC,KAAjC0kC,EAAKhB,eAAeD,UAAiE,UAA9BiB,EAAKhB,eAAeppE,MAE3E+tO,EAgNZ,SAA8B3jK,GAO1B,IAAI4jK,EAyBAtL,EAxBJ,GAPIt4J,EAAKhoE,UAAU1E,OAAS,GACxBy6H,GAAS7D,GAAUv4F,WAAWg1G,oBAAqB3mE,EAAKhoE,UAAU,IAMlEgoE,EAAKhoE,UAAU1E,OAAS,EAAG,CAC3BswO,EAAkB11G,EAAoBluD,EAAKhoE,UAAU,GAAGonE,iBAAiB9nE,KACzE,MAAMusO,EAA0B3iF,GAA6B0iF,GAExD3lI,GAAe4lI,IAA6BrlI,GAAoBqlI,IACjEh3G,GACI,GAA6B7sD,GAAM8sD,kBAAkBC,wBACrD/X,GAAe+X,wBACf7C,GAAUv4F,WAAWi1G,oBAAoBj9H,OAAO,CAAErS,KAAMq1H,GAAUi3G,KAClE5jK,EAAKhoE,UAAU,GAAGonE,qBAGvB,CACH,MAAMkwD,EAAiB,GAAiCtvD,GACxD,GAAIsvD,EAAgB,CAChB,MAAMooF,EAAgB/yF,GAAe2K,GACrCs0G,EAAkBlsB,EAAgBA,EAAcnxG,UAAYvJ,GAAYvyF,cAExEsjH,GAAS7D,GAAUv4F,WAAWm1G,uBAAwB9mE,EAAKhB,gBAC3D4kK,EAAkB5mI,GAAYvyF,SAMtC,GAAIu1D,EAAKhoE,UAAU1E,OAAS,EAAG,CAC3B,MAAMwwO,EAAgB5iF,GAClBhzB,EAAoBluD,EAAKhoE,UAAU,GAAGonE,iBAAiB9nE,MAG3D,IAAIysO,GAAc,EAEd9lI,GAAe6lI,KAERrlI,GAAgBqlI,IACnBtlI,GAAoBolI,KAEf9oH,GACG5d,GAAUmJ,oBAAoBy9H,GAC9BF,GACoB,KAGxBG,GAAc,IAGtBzL,EAAawL,GACNtlI,GAAoBslI,IACvBtlI,GAAoBolI,KACf9oH,GAA0BgpH,EAAeF,GAAqC,KAC/EG,GAAc,IAGtBzL,EAAawL,GAEbC,GAAc,GAGdA,GAEAl3G,GADiB,GAA6B7sD,GAEjC8sD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWk1G,qBAAqBl9H,OAAO,CAAErS,KAAMq1H,GAAUi3G,KACnE5jK,EAAKhoE,UAAU,GAAGonE,qBAGvB,CACH,MAAM4kK,EAAkB,GAAoChkK,GAC5D,IAAIikK,EAGJ,GAAID,EAAiB,CACjB,MAAME,EAAiBv5E,GAAkBq5E,GACzC,GAAIE,EAAgB,CAChB,MAAMlsB,EAAaksB,EAAep4H,aAC9B3O,GAAaoP,cAAcyrG,GAEvBA,EAAWn5G,QAAQljE,WAAWroC,OAAS,GACvC0kN,EAAWn5G,QAAQljE,WAAW,GAAG2vE,kBAEjC24H,EAAqB/iF,GAA6B82D,EAAWn5G,QAAQljE,WAAW,GAAGrkC,OAEhF6lG,GAAaiP,iBAAiB4rG,IAEjCA,EAAWn5G,QAAQljE,WAAWroC,OAAS,GACvC0kN,EAAWn5G,QAAQljE,WAAW,GAAG2vE,kBAEjC24H,EAAqB/iF,GACjB3lC,GAAsBy8F,EAAWn5G,QAAQljE,WAAW,GAAGrkC,SAOvE2sO,GAAsBzlI,GAAoBylI,GAC1C3L,EAAa2L,EACNzlI,GAAoBolI,KAC3BtL,EAAasL,GAOrB,IAAIO,GAAmB,EACvB,GAAInkK,EAAKhoE,UAAU1E,QAAU,EAAG,CAC5B,MAAM0wO,EAAkB,GAAoChkK,GAC5D,GAAIgkK,EAAiB,CACjB,MAAMhsB,EAAartD,GAAkBq5E,GACjChsB,IAEI76G,GAAamP,eAAe0rG,EAAWlsG,eACvC3O,GAAakP,oBAAoB2rG,EAAWlsG,eAC5C3O,GAAaoP,cAAcyrG,EAAWlsG,iBAEtCq4H,GAAmB,IAQnC,MAAM9+G,EAAarlD,EAAKviC,OACxB,GAA4B,KAAxB4nF,EAAWtmD,SAAyC,CACpD,MACM0oF,EAAgBtuC,GAClByqH,EAFev+G,EAAW1lD,WAAW/pE,MAG3B,GAGd,GAAI6xJ,GAAiBjpD,GAAoBipD,EAAclhD,WACnD,MAAO,CACHjvG,KAAM6sO,EACAjnI,GAAUgK,gBAAgBugD,EAAclhD,WACxCkhD,EAAclhD,UACpBvmC,OACAs4J,WACI6L,GAAoB7L,GAAc95H,GAAoB85H,GAChDp7H,GAAUgK,gBAAgBoxH,GAC1BA,EACV6F,aAAa,GAOzB,GAAI3/H,GAAoBolI,GAAkB,CAGtC,GAAIA,EAAgB/kI,QAAQoI,IAAIlgD,MAAMq9K,GAAYnmI,GAAemmI,KAC7D,MAAO,CACH9sO,KAAM0lG,GAAYvyF,SAClB0zN,aAAa,EACbn+J,QAIR,MAAM6mC,EAAc+8H,EAAgB/kI,QAAQgI,YAC5C,GAAIA,EAAYvzG,OAAS,EAAG,CACxB,MAAM44H,EAAgBrlB,EAAY,GAClC,GAAIrI,GAAoB0tB,GACpB,MAAO,CACH50H,KAAM6sO,EAAmBjnI,GAAUgK,gBAAgBglB,GAAiBA,EACpEiyG,aAAa,EACbn+J,SAMhB,MAAO,CACH1oE,KAAM0lG,GAAYvyF,SAClB0zN,aAAa,EACbn+J,QAzYmBqkK,CAAqBrkK,QACjC,GACHi+B,GAAeozH,EAAe/5N,OACG,KAAjC0oE,EAAKhB,eAAeD,UACU,gBAA9BiB,EAAKhB,eAAeppE,MAGpB+tO,EAAeW,GAAsBtkK,EAAMq4I,QACxC,GAAIj5G,GAAWiyH,EAAe/5N,OAAqD,gBAA5C+5N,EAAe/5N,KAAKunG,QAAQ+/F,YAEtE+kC,EAAeW,GAAsBtkK,EAAMq4I,QACxC,GACHp6G,GAAeozH,EAAe/5N,OACG,KAAjC0oE,EAAKhB,eAAeD,UACU,kBAA9BiB,EAAKhB,eAAeppE,MAEU,IAA1BoqE,EAAKhoE,UAAU1E,OAEfqwO,EAAarsO,KAqJ7B,SAAiC0oE,GAC7B,IACIG,EADAoB,EAAiCvB,EAGrC,KAAOuB,IACHpB,EAAQ,GAA2BoB,IAI/BpB,GAAwB,IAAfA,EAAM7oE,OAInBiqE,EAAUA,EAAQ9jC,OAGtB,MAAM8mM,EAAyB,GAsB/B,OApBIpkK,GACAA,EAAM4lC,YAAYnoF,SAAQ,CAACq1D,EAAQtuE,KAC/B,IAAKsuE,EAAOo9B,4BAA6B,CACrC,MAAMojC,EAAernB,GAAyBn5C,GAC9CsxJ,EAAa5wO,KACTu2H,GAAUlD,mBAAmBysB,eAAe9pI,OAAO,CAC/ChF,OACArN,KAAMq1H,GAAU8mB,GAAoC,UAOpE8wF,EAAajxO,OAAS,EACtB2uK,GAAesiE,EAAazwO,KAAK,MAAOksE,GAExCiiG,GAAe/3C,GAAUv4F,WAAWyzG,mBAAoBplE,GAGrDq9B,GAASgN,iBA3LgBm6H,CAAwBxkK,GAE5C+tD,GAAS7D,GAAUv4F,WAAWwzG,mBAAoBnlE,OAEnD,CACH,MAAMy/J,EAAavH,GACfl4J,EACAimB,EACAorI,EAAe/5N,UACEF,GACS,EAC1BihN,GAGJsrB,EAAarsO,KAAOmoO,EAAW/9H,YAAc1E,GAAYvyF,SAErDg1N,EAAWC,iBACXiE,EAAac,YAAa,EAOtBpsB,IACAsrB,EAAaroM,cAAe,IAIhCmkM,EAAW93B,mBACXg8B,EAAaroM,cAAe,GAIhC+1L,EAAe/1L,eACfqoM,EAAaroM,cAAe,GA6BpC,OAhBIkjE,GAAoB6yH,EAAe/5N,OACnC4lG,GAAUqH,UAAU8sH,EAAe/5N,KAAM,YACzC,GAA6B0oE,GAAMovH,kBAGnCnpG,EAAQroE,SAASroB,IAETA,EAAI6pE,iBAC6B,KAAjC7pE,EAAI6pE,gBAAgBL,WACnB+uJ,EAAav4N,EAAI6pE,kBAElB8uD,EAAoB34H,EAAI6pE,oBAK7BukK,EAGX,SAASW,GAAsBtkK,EAAgBq4I,GAC3C,IAAIqsB,EACAC,EACAC,EACAC,EACAC,EA6BJ,GA1BA9kK,EAAKhoE,UAAU4lB,SAAQ,CAACroB,EAAKktB,KACzB,GAAc,IAAVA,EAC6B,IAAzBltB,EAAI2pE,kBAAiD3pE,EAAIoP,OACzD+/N,EAAYnvO,EAAI6pE,sBAEjB,GAA6B,IAAzB7pE,EAAI2pE,kBAAiD3pE,EAAIoP,KAE7D,GAAuB,kBAAnBpP,EAAIoP,KAAK/O,MAA2B,CAC3CivO,EAAmBtvO,EAAI6pE,gBACvB,MAAM2lK,EAAmB72G,EAAoB34H,EAAI6pE,iBAAiB9nE,KAG7DmnG,GAAgBsmI,IAChB7nI,GAAUqH,UAAUwgI,EAAkB,QACE,iBAAlCA,EAAiB/gI,aAIxB8gI,EAAeC,EAAiB/gI,aAFhC+pB,GAAS7D,GAAUv4F,WAAW2zG,4BAA6B/vI,EAAI6pE,qBAIzC,kBAAnB7pE,EAAIoP,KAAK/O,QAChB+uO,EAAyBpvO,EAAI6pE,gBAC7BwlK,EAAqB7tH,GAAkBiuH,GAAgCzvO,GAAK+B,YAhB5EotO,OAAYttO,MAoBfstO,EAED,OADA32G,GAAS7D,GAAUv4F,WAAW0zG,iBAAkBrlE,GACzC,CAAEA,OAAM1oE,KAAM0lG,GAAYvyF,UAGrC,MAAM8kN,EAAarhG,EAAoBw2G,EAAWrsB,GAC5C/gN,EAAOi4N,EAAWj4N,KAElBy3F,EAAa,GAA+B21I,GAC5Cx9C,EAAav6D,GAAUr1H,GAA4B,GAczD,QAZqBF,IAAjB0tO,GACIA,IAAiB59C,GACjBn5D,GACI7D,GAAUv4F,WAAW4zG,iCAAiC57H,OAAO,CACzDoqM,SAAU+wB,EACVv/N,SAAU2hL,IAEd29C,UAAoBH,GAK5BE,IACKllI,GAAWklI,EAAoBttO,GAAO,CACvC,MAAM2tO,EAAyBt4G,GAAUi4G,GACzC72G,GACI7D,GAAUv4F,WAAW6zG,iCAAiC77H,OAAO,CACzDoqM,SAAUkxB,EACV1/N,SAAU2hL,IAEdy9C,UAA0BD,GAUtC,OALAziE,GACI/3C,GAAUlD,mBAAmBysB,eAAe9pI,OAAO,CAAEhF,KAAMoqF,EAAYz3F,KAAM4vL,IAC7ElnH,EAAKhoE,UAAU,IAGZ,CACHgoE,OACA1oE,OACAgkC,aAAci0L,EAAWj0L,cAiPjC,SAAS4pM,GACLhoF,EACAioF,EACAC,EACA9sH,EACA+sH,EACAhtB,GAEA,MAAMitB,EAAsB,GACtBC,EAIA,GACN,IAAI59B,GAAmB,EAEvB,IAAK,IAAI69B,EAAqB,EAAGA,EAAqBL,EAAiB7xO,OAAQkyO,IAAsB,CACjG,IAAIC,EACJ,MAAMC,EAAkBP,EAAiBK,GACnCG,EAAqBD,EAAgB3+K,MAAM5pD,QAAY/F,IAAN+F,IAEvD,IAAK,IAAIyoO,EAAgB,EAAGA,EAAgBR,EAAgB9xO,OAAQsyO,IAAiB,CACjF,MAAMjuH,EAAWytH,EAAgBQ,GAAejuH,SAEhD,IAAIkuH,EAAeT,EAAgBQ,GAC/BD,IACAE,EAAe,IAAKT,EAAgBQ,IACpCC,EAAaC,UAAYD,EAAaC,UAAU1pN,KAAI,CAACiyH,EAAUw4D,KAC3D,IAAK6+B,EAAgB7+B,GACjB,OAAOx4D,EAEX,MAAM03F,EAAe,IAAK13F,GAE1B,OADA03F,EAAa9pH,QAAUypH,EAAgB7+B,GAChCk/B,MAKf,MAAMC,EAAsB1tH,EACtBA,EAAWhO,QACX,IAAI4H,GAAWgF,GAAkBS,IACvCquH,EAAoBzyH,iBAAiB2D,GAAkBS,IAIvD,MAAM8nH,EAAal5B,GAAmBrpD,GAAW,IACtC+oF,GACH/oF,EACA2oF,EACAG,GAC0B,EAC1B3tB,KAQR,GAJIonB,EAAW93B,mBACXA,GAAmB,IAGlB83B,EAAWC,gBAAkBD,EAAW/9H,WAAY,CACrD+jI,EAAkB9tH,EAClB4tH,EAAiB5xO,KAAK,CAAEgkH,SAAU8tH,EAAiBI,eAAcvtH,WAAY0tH,IAC7EV,EAAY3xO,KAAK8rO,EAAW/9H,YAC5B,OAIR,IAAK+jI,EACD,MAAO,CAAE/F,gBAAgB,EAAM/3B,oBAMvC,GAAIrvF,EACA,IAAK,IAAIktH,EAAqB,EAAGA,EAAqBL,EAAiB7xO,OAAQkyO,IAAsB,CACjG,MAAM7tH,EAAW4tH,EAAiBC,GAAoB7tH,SAChDkuH,EAAeN,EAAiBC,GAAoBK,aAE1Dt/B,GAAmBrpD,GAAW,KAC1B5kC,EAAW/E,iBAAiB2D,GAAkBS,IAC9CW,EAAW/D,SACJ0xH,GACH/oF,EACA2oF,EACAvtH,GAC0B,EAC1B+/F,MAQhBktB,EAAiB,GAAGjtH,WAAW/D,SAC/B,MAAM2xH,EAAkBD,GACpB/oF,EACAqoF,EAAiB,GAAGM,aACpBN,EAAiB,GAAGjtH,WACpB+sH,EACAhtB,GAOJ,OAJI6tB,EAAgBv+B,mBAChBA,GAAmB,GAGhB,CACH+3B,gBAAgB,EAChBh+H,WAAY4B,GAAagiI,GACzB39B,mBACAw+B,wBAAyBD,EAAgBC,yBAIjD,SAAS5F,GACLrjF,EACA5lJ,EACA2uF,GAEA,IAyBImgJ,EAzBAR,EAAgB,EAChBloC,EAAqC,GA2CzC,OAxCApmM,EAAKuqG,UAAUjkF,SAAS+5F,IACpB4uF,GAAmBrpD,GAAW,KAC1B,GAAI//C,GAAayP,aAAa+K,GAAW,CACrC,MAAMkuH,EAAeQ,GACjBnpF,EACAj3D,EACA0xB,EACAiuH,GAGCC,EAAanG,gBACdhiC,EAAQ/pM,KAAKkyO,GAGjBD,WAKZloC,EAAU4oC,GAAyB5oC,GAInCA,EAAQ9/K,SAAQ,CAACmsC,EAAOw8K,UACSnvO,IAAzBgvO,GACA7/B,GAAmBrpD,GAAW,KAC1B,MAAMuiF,EAAa+G,GACftpF,EACAnzF,EACA,IAAImoD,GAAWgF,GAAkBntD,EAAM4tD,YACb,GAG1B8nH,IAAeA,EAAWC,iBAC1B0G,EAAuBG,cAMPnvO,IAAzBgvO,OAAqChvO,EAAYsmM,EAAQ0oC,GAAsBzuH,SAI1F,SAAS2uH,GAAyB5oC,GAC9B,OAAOA,EAAQ5rI,MAAK,CAAC30D,EAAGnG,IAChBmG,EAAEspO,YAAczvO,EAAEyvO,UACXzvO,EAAEyvO,UAAYtpO,EAAEspO,UAGpBtpO,EAAEyoO,cAAgB5uO,EAAE4uO,gBAuKnC,SAASc,GACLC,EACAxB,GAGA,IAYIyB,EAZAC,EAAgBF,EAAoBrzO,OAAS,EACjD,KAAOuzO,GAAiB,IAAM1B,EAAiB,GAAG0B,IAC9CA,IAMJ,GAFAA,IAEIA,GAAiBF,EAAoBrzO,OACrC,OAIJ,KAAOuzO,EAAgBF,EAAoBrzO,QAAQ,CAE/C,MAAM2oH,EAAU0qH,EAAoBE,GACpC,GAAI3oI,GAAQ+d,GAAU,CAClB2qH,EAAgB3qH,EAChB,MAEJ4qH,IAIJ,IAAKD,EACD,OAIJ,MAAME,EAA8C,GAUpD,OARA3B,EAAiBvnN,SAASmpN,IACtBryH,GAAiBkyH,GAAiBxoI,IAC9B,MAAM0F,EAAgB,IAAIijI,GAC1BjjI,EAAc+iI,GAAiBzoI,EAC/B0oI,EAAoBnzO,KAAKmwG,SAI1BgjI,EAOX,SAASE,GACL9pF,EACAj3D,EACA3uF,EACA+tO,EACAhtB,G,MAEA,IACI32G,EADAulI,GAAiB,EAEjBC,GAAiB,EACjBv/B,GAAmB,EACnBw/B,GAA0B,EAK9B,MAAMC,EAAwB9vO,GACnB8nG,GAAW9nG,IAAS6lG,GAAawP,uBAAuBr1G,GAQ7Du4J,EAOL,QAPsB,EAAAk3C,GACnB7pD,EACAhgD,GAAUgK,gBAAgB5vG,GAC1B,WACA,CAAE4gB,OAAQ,YACC9gB,EACX,WACH,eAAEE,KAEH,GAAIu4J,IAAmBu3E,EAAqBv3E,GAAiB,CAwDzD,GApDIwoD,IACA32G,EAAa0U,GAAYiiG,GAAegvB,IACpCA,EAAkBxwH,GAAoCwwH,GACtD,MAAM/uH,EAAa,IAAIpG,GAAWgF,GAAkB5/G,IACpD,GACI2qM,GACI/kG,GAAUgK,gBAAgB5vG,GAC1B+vO,EACA/uH,EACA2lH,GAAwB/gF,IAE9B,CACE,IAAIuiF,EAYJ,GAXAl5B,GAAmBrpD,GAAW,KAC1BuiF,EAAavH,GACTh7E,EACAj3D,EACA4pE,EACAv3C,EAAWhO,QACX+6H,EACAhoI,GAASgN,uBAIZo1H,aAAU,EAAVA,EAAYC,gBAgBb,OAbmBxH,GACfh7E,EACAj3D,EACA4pE,EACAv3C,EACA+sH,EACAhoI,GAASgN,kBAGEs9F,mBACXA,GAAmB,GAGhB2/B,GAAmChwO,EAAM+vO,EAAiB/uH,OAOzE3a,GAAQ+D,KACRA,OAAatqG,KAIhBsqG,EAAY,CACb,MAAM4W,EAAahhH,EAAKopG,cAClB4W,GAAoChgH,GAAyB,GAC7D,IAAI46G,GAAWgF,GAAkB5/G,IAEvCghH,EAAW/E,iBAAiB2D,GAAkB24C,IAC9C,MAAM4vE,EAAavH,GACfh7E,EACAj3D,EACA4pE,EACAv3C,EACA+sH,GAGJ,GAAK5F,EAAWC,eAoBZwH,GAAiB,MApBW,CAC5B,IAAIK,EAAoBjwO,EAEpBmoO,EAAW0G,yBACX1nI,GAAgBghI,EAAW0G,0BAC3BjpI,GAAU+C,mBAAmBw/H,EAAW0G,wBAAyB7uO,KAEjEiwO,EAAoBrqI,GAAUmJ,oBAAoBo5H,EAAW0G,0BAGjEzkI,EAAa8lI,GACTD,OACmBnwO,EACnBkhH,GAGAmnH,EAAW93B,mBACXA,GAAmB,IAO/Bs/B,GAAiB,EACjB5B,GAAsB,EAM1B,IAAK6B,EAAgB,CACjB,MAAMtrH,EAAYtkH,EAAKunG,QAAQmI,mBAC/B,IAAIygI,EAoCJ,GAhCI7rH,GAAapd,GAAoBod,KAAe1e,GAAU+C,mBAAmB2b,EAAWtkH,KACxFmwO,EAAwBlP,GACpBr7E,EACAthC,EACA,WACA,CAAE1jG,OAAQ,YACC9gB,EACX,IAGAE,GAGAmwO,IACAN,GAA0B,IAI7BM,IACDA,EAAwBlP,GACpBr7E,EACA5lJ,EACA,UACA,CAAE4gB,OAAQ,YACC9gB,EACX,GAGAE,IAIJmwO,IAA0BL,EAAqBK,EAAsBnwO,MAAO,CAC5E,MAAMghH,EAAa,IAAIpG,GAAWgF,GAAkB5/G,IAEhDA,EAAKioG,eACL+Y,EAAW/E,iBAAiBj8G,EAAKioG,cAAc+F,gBAGnDgT,EAAW/E,iBAAiB2D,GAAkBuwH,EAAsBnwO,OAGpE,MAAMmoO,EAAavH,GACfh7E,EACAj3D,EACAwhJ,EAAsBnwO,KACtBghH,EACA+sH,GAGJ,GAAI5F,EAAWC,eACXwH,GAAiB,MACd,CACH,IAAIQ,EAAgBjI,EAAW/9H,WAE3B+9H,EAAW93B,mBACXA,GAAmB,GASnB+/B,IACIjpI,GAAgBipI,IAAkBxqI,GAAU+C,mBAAmBynI,EAAepwO,IAMxEykH,GAAgB2rH,IAAmBrqH,GAAuBqqH,UAC7CtwO,IAAfsqG,IAKIjD,GAAgBipI,IAChBxqI,GAAUuM,aAAai+H,KACtBA,EAAcrnI,oBACfqnI,EAAchnI,eACyB,IAAvCgnI,EAAchnI,cAAcptG,SAE5Bo0O,EAAgBnrH,GAAqBmrH,EAAe,CAChD,CAAEpwO,KAAMowO,EAAchnI,cAAc,GAAIF,aAAa,MAI7DkB,EAAagmI,GAEThmI,GAAe1D,GAAU0pI,KACjChmI,EAAagmI,IAKpBhmI,EAEMjD,GAAgBiD,IAAe+H,GAAa/H,KAAgBA,EAAWrB,qBAC9EqB,EA8HhB,SAA8CpqG,EAAiB+gN,GAC3D,IAAIx9F,EAAkBvjH,EAWtB,OARI+gN,GACA55G,GAAgB45G,IAChB5uG,GAAa4uG,IACbA,EAAah4G,qBAEbwa,EAAkB0B,GAAqBjlH,EAAM+gN,EAAah4G,qBAGvDwa,EA1IkB8sH,CAAqCjmI,EAAY22G,IAF9D32G,EAAa8lI,GAAgClwO,EAAM+gN,EAAc//F,GAIrE2uH,GAAiB,GAkCzB,GA5BKA,GACDhhJ,EAAQroE,SAASroB,IACTA,EAAI6pE,kBAAoBytJ,EAAuB/H,cAAcvvN,EAAI6pE,kBACjE8uD,EAAoB34H,EAAI6pE,qBAK/B6nK,GAAkBhhJ,EAAQ3yF,OAAS,IAK9BgE,EAAKunG,QAAQmI,oBACfxI,GAAoBlnG,EAAKunG,QAAQmI,sBAChC9J,GAAUqH,UAAUjtG,EAAKunG,QAAQmI,qBAEXmgI,GAEvBt6G,GADiB,GAA6BqwB,GAEjCpwB,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW6iG,oBAAoB7qH,OAAO,CAAErS,KAAMA,EAAKmvG,WAAanvG,EAAKunG,QAAQl6F,OACvFu4I,KAKPx7C,EAGD,IAAK22G,GAAgB/gN,EAAKopG,cAGtBgB,EAAaqV,GAAkBz/G,OAC5B,CAGH,MAAMghH,EAAa,IAAIpG,GAAWgF,GAAkB5/G,IAEhD+gN,GACApW,GACI/kG,GAAUgK,gBAAgB5vG,GAC1B+gN,EACA//F,EACA2lH,GAAwB/gF,IAIhCx7C,EAAa8lI,GAAgClwO,EAAM+gN,EAAc//F,GAIzE,IAAK4uH,EAAgB,CACjB,MAAMU,ECthPX,SACHx9G,EACA8yB,EACAj3D,EACAsgB,EACAjuF,GAEA,MAAmC,sBAA/BiuF,EAAU1H,QAAQwG,SAS1B,SACI+kB,EACA8yB,EACAj3D,EACA3tE,GAGA,IAAKmmF,GAAgBnmF,EAAOopF,aAAsD,sBAAvCppF,EAAOopF,WAAW7C,QAAQwG,SACjE,OAAO/sF,EAGX,MAAMuvN,EAAmB3uH,GAAmB5gG,EAAOopF,WAAY,YAC/D,IAAKmmI,IAAqBnoI,GAAWqX,GAAkB8wH,EAAiBthI,WAAYjuF,EAAOopF,YACvF,OAAOppF,EAGX,MAAMwvN,EAAiB19G,EAAU0lC,gBAAgB+3E,GACjD,IAAKzoI,GAAW0oI,IAAmBA,EAAejpI,QAAQljE,WAAWroC,OAAS,EAC1E,OAAOglB,EAGX,GAAI2tE,EAAQ3yF,OAAS,EACjB,OAAOglB,EAGX,MACMyvN,EADyB39G,EAAU49G,mBAAmB/hJ,EAAQ,IACpB3uF,KAOhD,GAJA8yH,EAAUy0G,2BAA2BkJ,IAIhC3oI,GAAW2oI,GACZ,OAAOzvN,EAIX,GAAI2tE,EAAQl/B,MAAMxxD,GAAiC,IAAzBA,EAAI2pE,mBAC1B,OAAO5mD,EAIX,MAAM6vI,EAAW,IAAI/xI,IAEfw9L,EAAmB3+F,GAAwB8yH,GAGjD,IAAIrI,GAAiB,EACjBuI,GAA0B,EAC9B,MAAM3vH,EAAa,IAAIpG,GAAWgF,GAAkB6wH,IAE1B9hJ,EAAQ/vF,MAAM,GACtB0nB,SAAQ,CAACroB,EAAKsxM,K,oBAC5B,MAAMqhC,EAAgB99G,EAAU49G,mBAAmBzyO,GAGnD,GAAKA,EAAIoP,KAsEF,CACH,MAAMwjO,EAAgBv0B,EAAiBn7L,OAAOorD,MACzC2nC,IAAa,MACV,OAAAA,EAAU9vF,MAAM/W,QAAiB,QAAR,EAAApP,EAAIoP,YAAI,eAAE/O,QAAS41G,EAAUvxF,SAAW86F,GAAgBW,gBAGzF,GAAKyyH,EAiCE,CACH,MAAM5yI,EAAY4yI,EAAczsN,MAAM/W,KAChC21G,EAAYnd,GAAamE,0BAA0BymI,EAAkBI,EAAc1lN,OAEzF,GAAI0lI,EAASzrI,IAAI64E,GACb60B,EAAUyC,cACN,GAAYqwB,GAAWpwB,kBAAkBC,wBACzC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWwwG,uBAAuBx4H,OAAO,CAAEhF,KAAMpP,EAAIoP,KAAK/O,QACpEL,EAAIoP,MAGR+6N,GAAiB,MACd,CACH,MAAM53G,EAAO,IAAId,GAEZoD,EAAUqD,cAAcnT,EAAW4tH,EAAc5wO,KAAMwwH,EAAMxP,KAC9D8R,EAAUyC,cACN,GAAYqwB,GAAWpwB,kBAAkBC,wBACzC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWu/F,6BAA6BvnH,OAAO,CACrDsyG,QAASmO,EAAUuC,UAAUu7G,EAAc5wO,MAC3CgjH,UAAW8P,EAAUuC,UAAUrS,GAC/BkJ,aAAcukH,EAAiBlpI,QAAQl6F,KACvC4wF,cAEe,QAAnB,EAAAhgG,EAAI6pE,uBAAe,QAAI89E,GAG3BwiF,GAAiB,GAErBv3E,EAAS1qJ,IAAI83F,GAAW,SA9D5B,QAAqCn+F,IAAjCw8M,EAAiB19F,YACjBkU,EAAUyC,cACN,GAAYqwB,GAAWpwB,kBAAkBC,wBACzC/X,GAAe+X,wBACf7C,GAAUv4F,WAAW0wG,mBAAmB14H,OAAO,CAAEhF,KAAMpP,EAAIoP,KAAK/O,QAChEL,EAAIoP,MAER+6N,GAAiB,MACd,CACH,MAAMplH,EAAYnd,GAAamE,0BAC3BymI,EACAn0B,EAAiBn7L,OAAOm7L,EAAiB19F,aAAazzF,OAEpDqlG,EAAO,IAAId,GAEZoD,EAAUqD,cAAcnT,EAAW4tH,EAAc5wO,KAAMwwH,EAAMxP,KAC9D8R,EAAUyC,cACN,GAAYqwB,GAAWpwB,kBAAkBC,wBACzC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWu/F,6BAA6BvnH,OAAO,CACrDsyG,QAASmO,EAAUuC,UAAUu7G,EAAc5wO,MAC3CgjH,UAAW8P,EAAUuC,UAAUrS,GAC/BkJ,aAAcukH,EAAiBlpI,QAAQl6F,KACvC4wF,UAA2E,QAAhE,EAAAq+G,EAAiBn7L,OAAOm7L,EAAiB19F,aAAax6F,MAAM/W,YAAI,QAAI,KAEhE,QAAnB,EAAApP,EAAI6pE,uBAAe,QAAI89E,GAG3BwiF,GAAiB,SAxG7B,GACI74B,GAAY+M,EAAiBn7L,OAAOnlB,QACpCsgN,EAAiBn7L,OAAOouL,GAAU5sL,SAAW86F,GAAgBY,YAE7D,QAAmCv+G,IAA/Bw8M,EAAiB99F,UAAyB,CAC1C,MAAMwE,EAAYnd,GAAamE,0BAC3BymI,EACAn0B,EAAiBn7L,OAAOm7L,EAAiB99F,WAAWrzF,OAElDqlG,EAAO,IAAId,GAEZoD,EAAUqD,cAAcnT,EAAW4tH,EAAc5wO,KAAMwwH,EAAMxP,KAC9D8R,EAAUyC,cACN,GAAYqwB,GAAWpwB,kBAAkBC,wBACzC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWu/F,6BAA6BvnH,OAAO,CACrDsyG,QAASmO,EAAUuC,UAAUu7G,EAAc5wO,MAC3CgjH,UAAW8P,EAAUuC,UAAUrS,GAC/BkJ,aAAcukH,EAAiBlpI,QAAQl6F,KACvC4wF,UAAyE,QAA9D,EAAAq+G,EAAiBn7L,OAAOm7L,EAAiB99F,WAAWp6F,MAAM/W,YAAI,QAAI,KAE9D,QAAnB,EAAApP,EAAI6pE,uBAAe,QAAI89E,GAG3BwiF,GAAiB,QAIhBuI,GACD79G,EAAUyC,cACN,GAAYqwB,GAAWpwB,kBAAkBC,wBACzC/X,GAAe+X,wBACyB,IAAxC6mF,EAAiBz+F,mBACX+U,GAAUv4F,WAAW8/F,2BACrBvH,GAAUv4F,WAAW6/F,6BAA6B7nH,OAAO,CACrDoqM,SAAUH,EAAiBz+F,qBAElB,QAAnB,EAAA5/G,EAAI6pE,uBAAe,QAAI89E,GAI/B+qF,GAA0B,EAC1BvI,GAAiB,MAElB,CACH,MAAMplH,EAAYnd,GAAamE,0BAA0BymI,EAAkBlhC,GACrE/+E,EAAO,IAAId,GACXzxB,EAAwD,QAA5C,EAAAq+G,EAAiBn7L,OAAOouL,GAAUnrL,MAAM/W,YAAI,QAAI,GAE7DylH,EAAUqD,cAAcnT,EAAW4tH,EAAc5wO,KAAMwwH,EAAMxP,KAC9D8R,EAAUyC,cACN,GAAYqwB,GAAWpwB,kBAAkBC,wBACzC/X,GAAe+X,wBACf7C,GAAUv4F,WAAWu/F,6BAA6BvnH,OAAO,CACrDsyG,QAASmO,EAAUuC,UAAUu7G,EAAc5wO,MAC3CgjH,UAAW8P,EAAUuC,UAAUrS,GAC/BkJ,aAAcukH,EAAiBlpI,QAAQl6F,KACvC4wF,cAEe,QAAnB,EAAAhgG,EAAI6pE,uBAAe,QAAI89E,GAG3BwiF,GAAiB,GAIrBv3E,EAAS1qJ,IAAI83F,GAAW,OA8EpC,MAAM6yI,EAA0BpxH,GAAoB+wH,EAAkBzvH,GACtE,IAAKlZ,GAAWgpI,GACZ,OAAO9vN,EAKX,MAAM+vN,EAAwCD,EAAwBvpI,QAAQljE,WAAWvf,KAAI,CAACV,EAAO+G,KACjG,MAAM6lN,EAAsC,IAAK5sN,GAQjD,OAPA4sN,EAAiBhxO,KAAO6lG,GAAamE,0BAA0B8mI,EAAyB3lN,GAIpF/G,EAAM/W,MAAQwjJ,EAAStrJ,IAAI6e,EAAM/W,QACjC2jO,EAAiBl9H,YAAa,GAE3Bk9H,KAkBLC,EAAe,IAhBOF,EAAiBlnL,QAAQzlC,KAC1B,IAAnBA,EAAMk7C,UAGa,IAAnBl7C,EAAMk7C,UAGFl7C,EAAM/W,MAASwjJ,EAASzrI,IAAIhB,EAAM/W,YAEb0jO,EAAiBlnL,QAAQzlC,GAC/CA,EAAM/W,MAAQwjJ,EAAStrJ,IAAI6e,EAAM/W,WAExB0jO,EAAiBlnL,QAAQzlC,GACf,IAAnBA,EAAMk7C,YAMX4xK,EAAoBrrI,GAAakN,eACnCy9H,EAAejpI,QAAQl6F,KACvBmjO,EAAejpI,QAAQwG,SACvByiI,EAAejpI,QAAQv7B,WACvBwkK,EAAejpI,QAAQr9B,MACvB4mK,EAAwBvpI,QAAQlJ,WAGhCmyI,EAAejpI,QAAQljE,WAAWroC,OAAS,GAC3C6pG,GAAa6O,aAAaw8H,EAAmBV,EAAejpI,QAAQljE,WAAW,IAEnF4sM,EAAa3qN,SAASlC,IAClByhF,GAAa6O,aAAaw8H,EAAmB9sN,MAGjD8sN,EAAkB3pI,QAAQ2C,mBAAqB4mI,EAAwBvpI,QAAQ2C,mBACzErE,GAAagQ,yBAAyBi7H,GACtCA,EAAwBzmI,mBAC9B6mI,EAAkB3pI,QAAQv+B,YAAcwnK,EAAejpI,QAAQv+B,YAC/DkoK,EAAkB3pI,QAAQyG,eAAiB8iI,EAAwBvpI,QAAQyG,eAG3E,MAAMmjI,EAAkBvrI,GAAU6K,0BAA0BzvF,EAAOopF,YAGnE,OAFA+mI,EAAgB5pI,QAAQiE,OAAOrlG,IAAI,WAAY,kBAAsB,EAAyB+qO,IAEvF,CACH9mI,WAAY+mI,EACZ9gC,kBAAkB,EAClB+3B,kBApROgJ,CAAsBt+G,EAAW8yB,EAAWj3D,EAAS3tE,GAIzDA,ED0gPqBqwN,CAA0BpP,GAAoBr8E,EAAWj3D,EAAS3uF,EAAM,CACxFooO,eAAgBwH,EAChBxlI,aACAimG,qBAGJjmG,EAAakmI,EAAYlmI,WAErBkmI,EAAYjgC,mBACZA,GAAmB,GAGnBigC,EAAYlI,iBACZwH,GAAiB,GAMzB,MAF2B,CAAExH,eAAgBwH,EAAgBxlI,aAAYimG,oBAK7E,SAAS2/B,GACLhwO,EACAsxO,EACAtwH,GAEA,MAAMuC,EAAkB7D,GAAoB9Z,GAAUgK,gBAAgB5vG,GAAOghH,GAE7E,GAAKmV,GAAcm7G,EAAiB/tH,GAKpC,OAAI9c,GAAM6qI,GACCA,EAGJ/tH,EAKX,SAAS2sH,GACLlwO,EACA+gN,EACA//F,GAEA,GAAI+/F,EAAc,CACd,MAAMwwB,EAA0BzyH,GAAYiiG,GAAeuwB,GAChDtB,GAAmChwO,EAAMsxO,EAAiBtwH,KAGrE,IAAK3a,GAAQkrI,GACT,OAAOA,EAIf,MAAMhuH,EAAkB7D,GAAoB1/G,EAAMghH,GAAoC,GACtF,OAAOpb,GAAUgK,gBAAgB2T,GA0BrC,SAASonF,GACL3qM,EACA+gN,EACA//F,EACAwwH,GAEA,GAAI/qI,GAAMs6G,GAIN,OAHA/gN,EAAKunG,QAAQ6G,eAAe9nF,SAASw8F,IACjC9B,EAAW7F,eAAe2H,EAAWi+F,OAElC,EAGX,IAAK95G,GAAQ85G,GACT,OAAO,EAIX,MAAM0wB,EAAmB1wB,EAAa33G,cACtC,IAAKqoI,EACD,OAAOt7G,GACHn2H,EACA+gN,OACWjhN,EACXkhH,EAAU,MAOlB,GAAIpb,GAAU+C,mBAAmBo4G,EAAc/gN,GAAO,CAClD,MAAM0xO,EAAsB1xH,GAAoC+gG,GAiBhE,OAhBA2wB,EAAoB/0H,cAAcr2F,SAASm0C,IACvC,MAAM29C,EAAcs5H,EAAoBt1H,eAAe3hD,EAAM2gD,SAEzDhD,IAGK/Q,GAAU+Q,IAAgBA,EAAYtN,UAAY9qG,EAAKunG,QAAQyG,gBAChEgT,EAAW7F,eACP1gD,EAAM2gD,QAC6B,IAAnC3gD,EAAM2gD,QAAQ7T,QAAQ0D,cAAkCnrG,EAAYs4G,EACjC,IAAnC39C,EAAM2gD,QAAQ7T,QAAQ0D,cAAsCnrG,EAAYs4G,EACxE39C,EAAM8gD,oBAKf,EAIX,MAAMo2H,EAAsB/xH,GAAkBmhG,GACxC6wB,EAAwBhsI,GAAUyM,kBAAkB0uG,GAAcj8L,KAAI,CAACg+F,EAAW33F,KACpF,MAAMiwF,EAAUhV,GAAY2M,eAAe,SAAS5nF,KAMpD,OALAiwF,EAAQ7T,QAAQyD,eAAgB,EAGhCoQ,EAAQ7T,QAAQ0D,SAAW,EAC3BmQ,EAAQtQ,QAAU6mI,EACXv2H,KAELy2H,EAAsBjsI,GAAUkK,uBAClCixG,EACA6wB,GAC6B,GAI3B1jI,EAAWtI,GAAUyM,kBAAkBryG,GAAM8kB,KAAI,CAACrH,EAAG0N,KACvD,MAAMiwF,EAAUhV,GAAY2M,eAAe,WAAW5nF,KAItD,OAHAiwF,EAAQ7T,QAAQyD,eAAgB,EAChCoQ,EAAQ7T,QAAQuqI,iBAAmB3mN,EACnCiwF,EAAQ7T,QAAQm9H,wBAAyB,EAClCtpH,KAGLmI,EAAkB3d,GAAUkK,uBAAuB9vG,EAAMkuG,GAAuC,GAChG6jI,EAAsB,IAAIn3H,GAAW+2H,GAC3C,GACIx7G,GACI07G,EACAtuH,OACWzjH,EACXiyO,EAAmB,MAGzB,CACE,IAAI1a,GAAgB,EAuCpB,OArCAua,EAAsBtrN,SAAQ,CAAC80F,EAASjwF,KACpC,MAAM6mN,EAAeD,EAAoB31H,eAAehB,GAIxD,GACI42H,GACA3qI,GAAU2qI,IACVA,EAAazqI,QAAQyD,oBACqBlrG,IAA1CkyO,EAAazqI,QAAQuqI,iBACvB,CACE,MAAMG,EACFrsI,GAAUyM,kBAAkBkR,GAAiByuH,EAAazqI,QAAQuqI,kBACtE,GAAI3mN,EAAQsmN,EAAiBz1O,OAAQ,CACjC,IAAIk2O,EAAyCT,EAAiBtmN,GAE1DqmN,IACAU,EjDz4NrB,SACHnxB,EACA//F,EACAwwH,GAOA,OAAInqI,GAAU05G,IALS3lG,EAMD2lG,EAN0BywB,EAAkB/hL,MAAMq7C,GAAYsQ,EAAQtQ,UAAYA,IAOzFi2G,OAGX,GAGgB,IAAIl3F,GAAmC7I,EAAYwwH,GACpD7sO,MAAMo8M,GAdH,IAAC3lG,EiDo4NwB+2H,CACnBD,EACAlxH,EACAwwH,IAIJU,EACAlxH,EAAW7F,eACP82H,EAC6B,IAA7B72H,EAAQ7T,QAAQ0D,cAAkCnrG,EAAYoyO,EACjC,IAA7B92H,EAAQ7T,QAAQ0D,cAAsCnrG,EAAYoyO,GAGtE7a,GAAgB,OAMzBA,EAGX,OAAO,EAOX,SAASuJ,GACLh7E,EACAj3D,EACAw3G,EACAnlF,EACA+sH,GAAsB,EACtBhtB,EACAt4G,EAAiB,GAEjB,IAEIomI,EAFAzG,GAAiB,EACjB/3B,GAAmB,EAGvB,GAAI5nG,EAAiBlD,GACjB,MAAO,CAAE6E,WAAY1E,GAAYvyF,SAAUi1N,gBAAgB,GAI/D,GAFA3/H,IAEIjD,GAASmI,cAAcw4F,GAAW,CAClC,MAAMisC,EAAkC,IAAvBxsF,EAAUn+E,SAAkCm+E,EAAUl+E,eAAiBk+E,EAUxF,OATArwB,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAW03G,kBAAkB1/H,OAAO,CAC1C0gD,WAAY,GAA+Bq/K,GAC3CpyO,KAAMq1H,GAAU8wE,GAAgC,KAEpDisC,GAEG,CAAEhoI,WAAY1E,GAAYvyF,SAAUi1N,gBAAgB,GAG/D,MAAMh+H,EAAau7F,GACfQ,OACsBrmM,GACtB,CAAC0tM,EAAiB5H,K,UACd,OAAQ4H,EAAgBluI,UACpB,KAAK,EACL,KAAK,EAQD,OANAqvB,EAAQroE,SAASroB,IACTA,EAAI6pE,kBAAoBytJ,EAAuB/H,cAAcvvN,EAAI6pE,kBACjE4oK,GAAmBzyO,MAIpBuvM,EAGX,KAAK,EAAuB,CAGxB,GAA4C,eAAxCA,EAAgBjmG,QAAQ+/F,YAOxB,OANA/xE,GACI,GAA6BqwB,GAAWpwB,kBAAkB4vC,wBAC1D1nD,GAAe0nD,wBACfxyC,GAAUv4F,WAAWguG,oBACrBud,GAEG2oE,GAAqB0T,GAAoBr8E,EAAWj3D,GAAS,GAGxE,IAAI+/I,EAAsB1tH,EACrB0tH,IAEDA,EAAsB,IAAI9zH,GAAWgF,GAAkB4tF,KAOlDkhC,EAAoB7yH,qBACrBhW,GAAakP,oBAAoBy4F,IAEjCkhC,EAAoBzyH,iBAAiB9W,KAI7C,MAAMktI,EAAiBC,GACnB1sF,EACAj3D,EACA6+G,EACAkhC,EACAX,EACAhtB,GAOJ,GAJIsxB,EAAehiC,mBACfA,GAAmB,GAGnBgiC,EAAejK,eACfA,GAAiB,MACd,CACHyG,EAA0BwD,EAAexD,wBAGzC,MAAMyB,EAAcpe,GAChB+P,GACAr8E,EACAj3D,EACA6+G,EACA,CACI46B,eAAgBiK,EAAejK,eAC/Bh+H,WAAqC,QAAzB,EAAAioI,EAAejoI,kBAAU,QAAI1E,GAAYvyF,SACrDk9L,qBAIRgiC,EAAejoI,WAAakmI,EAAYlmI,WACpCkmI,EAAYjgC,mBACZA,GAAmB,GAEnBigC,EAAYlI,iBACZA,GAAiB,GAKzB,OAAKiK,EAAejK,gBAA0D,YAAxC56B,EAAgBjmG,QAAQ+/F,YAIlB,eAAxCkG,EAAgBjmG,QAAQ+/F,YAIjBrhG,GAAQ9yF,SAGZk/N,EAAejoI,WAVXmoI,GAAc3sF,EAAWj3D,GAaxC,KAAK,EAAiC,CAElC,GAAyD,SAArD6+G,EAAgBjjG,UAAU,GAAGhD,QAAQ+/F,aAA6C,IAAnB34G,EAAQ3yF,OAAc,CAErF,MAAMw2O,EAAa9E,GAAgC/+I,EAAQ,IAAI3uF,KACzDyyO,EAAe/B,GAAmB/hJ,EAAQ,IAAI3uF,KAoBpD,OAnBIknG,GAAoBsrI,IAAerrI,GAAgBsrI,IAE/CrqI,GACIoqI,EACA5sI,GAAUmJ,oBAAoB0jI,IACJ,IAG9Bl9G,GACI,GAA6BqwB,GAAWpwB,kBAAkBixC,sBAC1D/oD,GAAe+oD,sBACf7zC,GAAUv4F,WAAWk6G,kBAAkBliI,OAAO,CAC1CrS,KAAMq1H,GAAUo9G,KAEpB7sF,GAKLnmC,GAAkB+yH,GAG7B,MAAMH,EAt4B1B,SACIzsF,EACAj3D,EACA3uF,EACAghH,EACA+sH,EACAhtB,GAEA,IAAI2xB,EAAkD,GAClDrD,EAA8B,GAmDlC,GA5CApgC,GAAmBrpD,GAAW,KAC1B,IAAI0oF,EAAgB,EACpBtuO,EAAKuqG,UAAUjkF,SAAS+5F,IAIpB,GAAIxa,GAAayP,aAAa+K,GAAW,CACrC,MAAMkuH,EAAeQ,GACjBnpF,EACAj3D,EACA0xB,EACAiuH,GAECC,EAAanG,gBACdsK,EAAqBr2O,KAAKkyO,GAG9BD,QAORe,EAAsB1gJ,EAAQ7pE,KAAK7mB,IAC/B,GAAIA,EAAI+B,KACJ,OAAO/B,EAAI+B,KAGf,GAAI/B,EAAI6pE,gBAAiB,CACrB,MAAM6qK,EAAsB10O,EAAI6pE,gBAChC,OAAOmnI,GAAmB0jC,GAAqB,IACpC/7G,EAAoB+7G,GAAqB3yO,OAIxD,OAAOimG,GAAQ9yF,eAIvBu/N,EAAuB1D,GAAyB0D,GAIZ,IAAhCA,EAAqB12O,OAAc,CAGnC,IAAK0nO,GAA8B99E,GAAY,CAC3C,MAAM15B,EAAelsH,EAAKuqG,UAAU,GAAGhD,QAAQl6F,MAAQ,uBACjDulM,EAAe,IAAIljF,GACnBkhF,EAAWjiH,EAAQ7pE,KAAKyoC,GAAM8nE,GAAUq7G,GAAmBnjL,GAAGvtD,QAEpE4yM,EAAahjF,WACTgD,GAAUlD,mBAAmB0nB,gBAAgB/kI,OAAO,CAAEspG,MAAOi1F,EAASp0M,KAAK,SAE/E+4H,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAWivG,aAAaj3H,OAAO,CAAEhF,KAAM6+G,IAAkB+E,GAAiB2hF,GACpFhtD,GAIR,MAAO,CAAEwiF,gBAAgB,EAAM/3B,kBAAkB,GAKrD,MAAMuiC,EAAqC7E,IAGvC,MAAM8E,EAAYH,EAAqB5kL,QAAO,CAAC5kC,EAAUM,IAC9CA,EAAQ8kN,cAAgBplN,EAASolN,cAAgB9kN,EAAUN,IAGhEwlN,EAAsB1tH,UAAc,IAAIpG,GAI9C,OAHA8zH,EAAoBzyH,iBAAiB2D,GAAkBizH,EAAUxyH,WACjEquH,EAAoBzxH,SAEb0xH,GACH/oF,EACAitF,EACAnE,EACAX,EACAhtB,IAOR,GAAoC,IAAhC2xB,EAAqB12O,OACrB,OAAO42O,GAA4D,GAGvE,IAAI/E,EAAuD,CAACl/I,EAAQ7pE,KAAK7mB,SACrEoyM,GAAmB,EAEvB,OAAa,CACT,MAAM83B,EAAayF,GACfhoF,EACAioF,EACA6E,EACA1xH,EACA+sH,EACAhtB,GAOJ,GAJIonB,EAAW93B,mBACXA,GAAmB,IAGlB83B,EAAWC,eACZ,OAAOD,EAQX,GAHA0F,EAAmBuB,GAAyBC,EAAqBxB,IAG5DA,GAAoBA,EAAiB7xO,OA3qNf,GA4qNvB,MAOR,IAAK0nO,GAA8B99E,KAAeyqD,EAAkB,CAChE,MAAMrvL,EAAS4xN,GAA4D,GAK3E,OADA5xN,EAAOopF,WAAa1E,GAAYvyF,SACzB6N,EAGX,MAAO,CAAEonN,gBAAgB,EAAM/3B,kBAAkB,GA4uBVyiC,CACnBltF,EACAj3D,EACA6+G,EACAxsF,EACA+sH,EACAhtB,GAOJ,GAJIsxB,EAAehiC,mBACfA,GAAmB,GAGnBgiC,EAAejK,eACfA,GAAiB,MACd,CACHyG,EAA0BwD,EAAexD,wBAGzC,MAAMyB,EAAcpe,GAChB+P,GACAr8E,EACAj3D,EACA6+G,EACA,CACI46B,eAAgBiK,EAAejK,eAC/Bh+H,WAAqC,QAAzB,EAAAioI,EAAejoI,kBAAU,QAAI1E,GAAYvyF,SACrDk9L,qBAIRgiC,EAAejoI,WAAakmI,EAAYlmI,WACpCkmI,EAAYjgC,mBACZA,GAAmB,GAEnBigC,EAAYlI,iBACZA,GAAiB,GAIzB,OAAOiK,EAAejoI,YAAc1E,GAAYvyF,SAGpD,KAAK,EACD,GAAIqyF,GAASgB,eAAegnG,GAAkB,CAC1C,QAAqC1tM,IAAjC0tM,EAAgB9gG,aAQhB,OAPA6oB,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAWqsG,qBACrBkf,GAEJwiF,GAAiB,EACV1iI,GAAYvyF,SAGvB,GAAIyyF,GAAUqH,UAAUugG,GAAkB,CACtC,MAAM98G,EAAY88G,EAAgBr+F,WAAaq+F,EAAgBjmG,QAAQl6F,KAEvE,GAAkB,SAAdqjF,EAWA,OATAg/I,GACI9pF,EACAj3D,EACA6+G,EACAugC,EACAhtB,GAImB,IAAnBpyH,EAAQ3yF,OAID8iH,GADS4xH,GAAmB/hJ,EAAQ,IAAI3uF,MAClB8mG,GAErBK,GAAgBL,IACfO,GAAUP,IAAYtB,GAASvmG,WAAW6nG,IAC3CR,GAAeQ,GAERmd,GAAsB5E,GAAkBvY,IAG5Cb,GAAQ9yF,WAEZw7E,EAAQ3yF,QAAU,GAqxE7D,SAAoB4pJ,EAA2Bj3D,GAC3C,MAAMnlB,EAAW,GAA6Bo8E,GACxCs0D,EAAWw2B,GAAmB/hJ,EAAQ,IAAI3uF,KAChD,IAAKmnG,GAAgB+yG,KAAct0G,GAAUqH,UAAUitG,EAAU,OAC7D,OAEJ,MAAMxpH,EAAawpH,EAASxtG,cAA2B,IAEjDytG,EAAWu2B,GAAmB/hJ,EAAQ,IAAI3uF,KAChD,IAAKmnG,GAAgBgzG,KAAchoG,GAAagoG,SAA6Cr6M,IAAhCq6M,EAASpxG,mBAClE,OAGJ,MAAMkG,EAAYrJ,GAAU6J,mBACxB/e,EACA,GAAgCk1D,EAAWp8E,EAASwC,WAAY0kB,GAChElnB,EAASwC,WACTxC,EAAS3M,SAAQ,EAEjB,GAA+B+oF,QACP9lJ,EACxBq6M,EAAS5yG,QAAQmI,oBAcrB,OAZAyqG,EAASpxG,mBAAmBziF,SAASk3F,IAC7BtW,GAAoBsW,EAAQx9G,OAAS2mG,GAAe6W,EAAQx9G,MAC5DivG,EAAU1H,QAAQgI,YAAYlzG,KAAKmhH,EAAQx9G,MAE3Cm/N,GAA2B3hH,EAAQx9G,KAAM2uF,EAAQ,GAAG7mB,iBAAmB89E,MAI1E3/B,GAAwBhX,IACzBwnB,GAAS7D,GAAUv4F,WAAWitG,iBAAkBse,GAG7C32C,EArzEgCgH,CAAW2vC,EAAWj3D,IAK1BsX,GAAQ9yF,SAGnB,GAAkB,YAAdu9E,EACA,OAo4DhC,SAA2Bk1D,EAA2Bj3D,G,UAClD,IACIokJ,EADAr8H,EAAc,GAGlB,GAAuB,IAAnB/nB,EAAQ3yF,OAER,YADAy6H,GAAS7D,GAAUv4F,WAAWy4G,kBAAmB8S,GAIrD,MAAMotF,EAAWrkJ,EAAQ,GACrBqkJ,EAASlrK,iBAAyD,KAAtCkrK,EAASlrK,gBAAgBL,SACrDivC,EAAcs8H,EAASlrK,gBAAgBI,QAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,IAExEi6H,GAAS7D,GAAUv4F,WAAWy4G,kBAAmBkgG,EAASlrK,iBAAmB89E,GAGjF,MAAMxqC,EAAUhV,GAAYqJ,mBAAmBiH,GAA+B,GAG9E,IAAK,IAAIp7G,EAAI,EAAGA,EAAIqzF,EAAQ3yF,OAAQV,IAAK,CACrC,MAAM23O,EAAgBtkJ,EAAQrzF,GAAG+R,KAC3B4wF,EAAYg1I,EAAgBA,EAAc30O,WAAQwB,EAClDozO,EAAe,IAAIp0N,IAEzB,GAAIm/E,EAAW,CAQX,GAPIi1I,EAAa3tO,IAAI04F,IACjBw4B,GACI7D,GAAUv4F,WAAW6kG,iBAAiB7sH,OAAO,CAAEhF,KAAM4wF,IACrDtP,EAAQrzF,GAAGwsE,iBAAmB89E,GAIpB,UAAd3nD,EACA,GAAImd,EAAQ7T,QAAQ8D,YAAYrvG,OAAS,EACrCy6H,GACI7D,GAAUv4F,WAAWw4G,6BACrBlkD,EAAQrzF,GAAGwsE,iBAAmB89E,OAE/B,CACH,MAAMjhC,EACa,QAAf,EAAAh2B,EAAQrzF,GAAG0E,YAAI,QACfiwN,GACIthI,EAAQrzF,GAAGwsE,qBACMhoE,OACGA,GACiB,GACvCE,KACF+lH,GAAuBpB,GAAmC,IAC1D8R,GAAS7D,GAAUv4F,WAAW04G,iBAAkBpkD,EAAQrzF,GAAGwsE,iBAAmB89E,GAElFxqC,EAAQ7T,QAAQY,UAAYsX,GAAkBkF,OAE7B,cAAd1mB,EACHtP,EAAQrzF,GAAGwsE,iBAAmBqrK,GAAgBxkJ,EAAQrzF,GAAGwsE,mBACxB,IAA7BszC,EAAQ7T,QAAQ0D,SAChBwrB,GAAS7D,GAAUv4F,WAAWq5G,kBAAmB/kD,EAAQrzF,GAAGwsE,iBAE5DszC,EAAQ7T,QAAQ0D,SAAW,GAGd,kBAAdhN,EACHtP,EAAQrzF,GAAGwsE,iBAAmBqrK,GAAgBxkJ,EAAQrzF,GAAGwsE,mBACxB,IAA7BszC,EAAQ7T,QAAQ0D,SAChBwrB,GAAS7D,GAAUv4F,WAAWq5G,kBAAmB/kD,EAAQrzF,GAAGwsE,iBAE5DszC,EAAQ7T,QAAQ0D,SAAW,GAInCwrB,GACI7D,GAAUv4F,WAAWk5G,sBAAsBlhI,OAAO,CAAEhF,KAAM4wF,KAC3C,QAAf,EAAAtP,EAAQrzF,GAAGotE,YAAI,eAAEr7D,OAAQshF,EAAQrzF,GAAGwsE,iBAAmB89E,GAI/DstF,EAAa/sO,IAAI83F,EAAWA,QAE5B,GAAImd,EAAQ7T,QAAQY,UAChBsuB,GACI7D,GAAUv4F,WAAWw4G,6BACrBlkD,EAAQrzF,GAAGwsE,iBAAmB89E,OAE/B,CACH,MAAMjhC,EACa,QAAf,EAAAh2B,EAAQrzF,GAAG0E,YAAI,QACfiwN,GACIthI,EAAQrzF,GAAGwsE,qBACMhoE,OACGA,GACiB,GACvCE,KAEF+lH,GAAuBpB,GAAmC,IAC1D8R,GAAS7D,GAAUv4F,WAAW04G,iBAAkBpkD,EAAQrzF,GAAGwsE,iBAAmB89E,GAElFx/C,GAAY+R,cAAciD,EAASqE,GAAkBkF,SAC1B7kH,IAAvBizO,IACAA,EAAqBpkJ,EAAQrzF,KAe7C,OAT2C,IAAvC8/G,EAAQ7T,QAAQ8D,YAAYrvG,QAAgB+2O,GAC5Cx9G,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAW84G,0BACrB4/F,EAAmBjrK,iBAAmB89E,GAIvCxqC,EAp/D4Bg4H,CAAkBxtF,EAAWj3D,GAGxC,GAAkB,iBAAd+B,EACA,OAm/DhC,SAAgCk1D,EAA2Bj3D,G,QACvD,IAAI+nB,EAAc,GAElB,GAAuB,IAAnB/nB,EAAQ3yF,OAER,YADAy6H,GAAS7D,GAAUv4F,WAAWy4G,kBAAmB8S,GAIrD,MAAMotF,EAAWrkJ,EAAQ,GACrBqkJ,EAASlrK,iBAAyD,KAAtCkrK,EAASlrK,gBAAgBL,SACrDivC,EAAcs8H,EAASlrK,gBAAgBI,QAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,IAExEi6H,GAAS7D,GAAUv4F,WAAWy4G,kBAAmBkgG,EAASlrK,iBAAmB89E,GAGjF,MAAMxqC,EAAUhV,GAAYqJ,mBAAmBiH,GAA+B,GAC9E0E,EAAQ7T,QAAQC,YAAa,EAG7B,IAAK,IAAIlsG,EAAI,EAAGA,EAAIqzF,EAAQ3yF,OAAQV,IAChCm7H,GACI7D,GAAUv4F,WAAWk5G,sBAAsBlhI,OAAO,CAAEhF,MAAqB,QAAf,EAAAshF,EAAQrzF,GAAG+R,YAAI,eAAE/O,QAAS,OACrE,QAAf,EAAAqwF,EAAQrzF,GAAGotE,YAAI,eAAEr7D,OAAQshF,EAAQrzF,GAAGwsE,iBAAmB89E,GAI/D,OAAOxqC,EA7gE4Bi4H,CAAuBztF,EAAWj3D,GAG7C,GAAkB,cAAd+B,EACA,OA4gEhC,SAA6Bk1D,EAA2Bj3D,G,QACpD,GAAuB,IAAnBA,EAAQ3yF,OAER,YADAy6H,GAAS7D,GAAUv4F,WAAW+wG,oBAAqBwa,GAIvD,MAAMotF,EAAWrkJ,EAAQ,GACzB,IAAI2kJ,EAAgB,GAChBN,EAASlrK,iBAAyD,KAAtCkrK,EAASlrK,gBAAgBL,SACrD6rK,EAAgBN,EAASlrK,gBAAgBI,QAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,IAE1Ei6H,GAAS7D,GAAUv4F,WAAW+wG,oBAAqB4nG,EAASlrK,iBAAmB89E,GAGnF,MAAMhyC,EAAYxN,GAAYqJ,mBAAmB6jI,GAAiC,GAGlF,IAAK,IAAIh4O,EAAI,EAAGA,EAAIqzF,EAAQ3yF,OAAQV,IAAK,CACrC,KAAmB,QAAf,EAAAqzF,EAAQrzF,GAAG+R,YAAI,eAAE/O,OAKd,CACHm4H,GAAS7D,GAAUv4F,WAAWmxG,sBAAuB78C,EAAQrzF,GAAGwsE,iBAAmB89E,GACnF,MANAnvB,GACI7D,GAAUv4F,WAAWqxG,wBAAwBr5H,OAAO,CAAEhF,KAAMshF,EAAQrzF,GAAG+R,KAAM/O,SAC9D,QAAf,EAAAqwF,EAAQrzF,GAAGotE,YAAI,eAAEr7D,OAAQshF,EAAQrzF,GAAGwsE,iBAAmB89E,GAQnE,OAAOhyC,EAziE4B2/H,CAAoB3tF,EAAWj3D,GAG1C,GAAkB,eAAd+B,EACA,OAAO69H,GAAqB0T,GAAoBr8E,EAAWj3D,GAAS,GAGxE,GAAkB,YAAd+B,EACA,OAAO6hJ,GAAc3sF,EAAWj3D,GAGpC,GACkB,aAAd+B,GACc,YAAdA,GACc,aAAdA,GACc,gBAAdA,GACc,SAAdA,EASA,OANA6kC,GADiB,GAA6BqwB,GAEjCpwB,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW23G,qBAAqB3/H,OAAO,CAAErS,KAAM0wF,IACzDk1D,GAEG3/C,GAAQ9yF,SAGnB,GACkB,SAAdu9E,GACc,YAAdA,GACc,YAAdA,GACc,SAAdA,GACc,YAAdA,EAEA,OAyiEhC,SACIk1D,EACA4tF,EACA7kJ,GAEA,MAAMnlB,EAAW,GAA6Bo8E,GAC9C,IAAIl1D,EAAY,OAChB,GAAuB,IAAnB/B,EAAQ3yF,OACR,OACG,CACH,MAAMyyN,EAAU9/H,EAAQ,GACxB,GACiC,IAA7B8/H,EAAQ7mJ,mBACR6mJ,EAAQ3mJ,iBAC6B,KAArC2mJ,EAAQ3mJ,gBAAgBL,SAIxB,OAFAipB,EAAY+9H,EAAQ3mJ,gBAAgBI,QAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,IAM7E,MAAMyyG,EAAYrJ,GAAU6J,mBACxB/e,EACA,GAAgCk1D,EAAWp8E,EAASwC,WAAY0kB,GAChElnB,EAASwC,WACTxC,EAAS3M,SAAQ,QAEjB,GAA+B+oF,QACP9lJ,EACxB0zO,EAAUjsI,QAAQmI,oBAEtBT,EAAU1H,QAAQgI,YAAYlzG,KAAKm3O,GACnCvtH,GAAwBhX,GAExB,MAAM6/G,EAAc7/G,EAAU1H,QAAQiE,OAMtC,GALAsjH,EAAY3oN,IACR,YACA,kBAAsB,GAA+D8oG,MAGrFtgB,EAAQ3yF,OAAS,GAArB,CAEO,CACH,MAAMyzN,EAAa9gI,EAAQ,GAC3B,GACoC,IAAhC8gI,EAAW7nJ,mBACV6nJ,EAAW3nJ,iBAC4B,KAAxC2nJ,EAAW3nJ,gBAAgBL,SAQ3B,OAEgBgoJ,EAAW3nJ,gBAAgBI,QACtCpjD,KAAKtV,GAAMA,EAAElR,QACb9B,KAAK,IACL+R,MAAM,KACH+X,SAAS0wG,IAEb,GADAA,EAAYA,EAAUpwH,OACP,CACX,MAAM4lM,EAAY9mG,GAAYvyF,SACxBulG,EAAY,kBAAsB,EAAyB8zF,GAM3D/pD,EAAagtE,EAAW3nJ,gBAC9BhV,EAA+B,KAAxB2vF,EAAWh7E,UAClB,MAAM+B,EAAW,GAA6Bo8E,GACxC58E,EAAmC,CACrChpE,KAAM,EACN0oE,KAAM+5E,EACNktE,yBAAyB,EACzB5/M,KAAMy5D,EAAS3M,SACfpvD,MAAO84D,GACHk8E,EAAW3lJ,MACX0oE,GAAUmB,OAAO87E,GACjBj5E,EAAShhB,OAEbwjB,WAAYxC,EAASwC,WACrBuxB,iBAAiB,GAErBmb,EAAUoB,eAAe9wC,GACzB8lJ,EAAY3oN,IAAI6wH,EAAWte,OAM3C,OAAOzJ,GAxoE4BwkI,CAAe7tF,EAAW4nD,EAAiB7+G,GAGtD,GAAkB,cAAd+B,EACA,O5C1gQ7B,SACHoiC,EACA8yB,EACA8tF,EACA/kJ,GAEA,MAAMnlB,EAAW,GAA6Bo8E,GAK9C,IAAIl1D,EAAY,YAChB,GAAuB,IAAnB/B,EAAQ3yF,OACR82H,EAAU2D,SAAS7D,GAAUv4F,WAAWm3G,oBAAqBoU,OAC1D,CACH,MAAM6oE,EAAU9/H,EAAQ,GAES,IAA7B8/H,EAAQ7mJ,kBACP6mJ,EAAQ3mJ,iBAC4B,KAArC2mJ,EAAQ3mJ,gBAAgBL,SAIxBipB,EAAY+9H,EAAQ3mJ,gBAAgBI,QAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,IAFrEs2H,EAAU2D,SAAS7D,GAAUv4F,WAAWm3G,oBAAqB7iD,EAAQ,GAAG7mB,iBAAmB89E,GAMnG,MAAM32C,EAAYrJ,GAAU6J,mBACxB/e,EACA,GAAgCk1D,EAAWp8E,EAASwC,WAAY0kB,GAChElnB,EAASwC,WACTxC,EAAS3M,SAAQ,IAEjB,GAA+B+oF,QACP9lJ,EACxB4zO,EAAensI,QAAQmI,oBAE3BT,EAAU1H,QAAQgI,YAAYlzG,KAAKq3O,GACnCztH,GAAwBhX,GAExB,MAAM6/G,EAAc7/G,EAAU1H,QAAQiE,OACtCsjH,EAAY3oN,IACR,YACA,kBAAsB,GAA+D8oG,IAGzF,IAAI0kI,GAAkB,EACtB,GAAIhlJ,EAAQ3yF,OAAS,EACjB82H,EAAU2D,SAAS7D,GAAUv4F,WAAWo3G,yBAA0BmU,OAC/D,CACH,MAAM6pE,EAAa9gI,EAAQ,GACrBkhI,EAAW,IAAI/wM,IAErB,GACoC,IAAhC2wM,EAAW7nJ,kBACX6nJ,EAAW3nJ,iBAC6B,KAAxC2nJ,EAAW3nJ,gBAAgBL,SAC7B,CACEksK,GAAkB,EAClB,MAAMC,EAAYnkB,EAAW3nJ,gBAE7B8rK,EAAUhqN,QAAQtD,SAASm0C,IACvB,GAAuB,KAAnBA,EAAMgN,SAEN,YADAqrD,EAAU2D,SAAS7D,GAAUv4F,WAAWq3G,8BAA+Bj3E,GAI3E,GAAqC,KAAjCA,EAAM60B,cAAc7nB,SAEpB,YADAqrD,EAAU2D,SAAS7D,GAAUv4F,WAAWg3G,qBAAsB52E,EAAM60B,eAIxE,MAAM0nC,EAAYv8D,EAAM60B,cAAcpnB,QAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,IACvE,IAAKw6H,EAED,YADAlE,EAAU2D,SAAS7D,GAAUv4F,WAAW+2G,qBAAsB32E,EAAM60B,eAIxE,GAAIugI,EAASzqM,IAAI4xG,GAEb,YADAlE,EAAU2D,SAAS7D,GAAUv4F,WAAWi3G,uBAAwB72E,EAAM60B,eAK1EugI,EAAS1pN,IAAI6wH,GAAW,GAGxB,MAAM68G,EAAgB/gH,EAAUm9F,kCAC5Bx1J,EAAMqN,iBACW,GACG,GAGlB4wC,EAAY,IAAI,GAAO,GACvB1vC,EAAmC,CACrChpE,KAAM,EACN0oE,KAAMjO,EAAM60B,cACZv/E,KAAMy5D,EAAS3M,SACfu/B,mBAAoB3hC,EAAMqN,gBAC1B62C,WAAYk1H,EAAcl1H,WAC1BqW,cAAe6+G,EAAc7+G,cAC7B26F,yBAAyB,EACzBliN,MAAO84D,GACH9L,EAAM60B,cAAcxyF,MACpB0oE,GAAUmB,OAAOlM,EAAM60B,eACvB9lB,EAAShhB,OAEbwjB,WAAYxC,EAASwC,WACrBuxB,iBAAiB,GAErBmb,EAAUoB,eAAe9wC,GAEzB8lJ,EAAY3oN,IAAI6wH,EAAWte,MAK/Boa,EAAUo9F,eAAe0jB,QACtB,GAAInkB,EAAWpiN,KAClB,IAAK,IAAI/R,EAAI,EAAGA,EAAIqzF,EAAQ3yF,OAAQV,IAAK,CACrC,MAAMm/D,EAAQk0B,EAAQrzF,GACtB,IAAKm/D,EAAMptD,OAASotD,EAAMqN,gBACtB,SAGJ,GAAI+nJ,EAASzqM,IAAIq1C,EAAMptD,KAAK/O,OAAQ,CAChCw0H,EAAU2D,SAAS7D,GAAUv4F,WAAWi3G,uBAAwB72E,EAAMqN,iBACtE,SAIJ+nJ,EAAS1pN,IAAIs0D,EAAMptD,KAAK/O,OAAO,GAI/B,MAAMu1O,EAAgB/gH,EAAUm9F,kCAC5Bx1J,EAAMqN,iBACW,GACG,GAGlB4wC,EAAY,IAAI,GAAO,GACvBlvC,EAAW,GAA6Bo8E,GACxC58E,EAAmC,CACrChpE,KAAM,EACN0oE,KAAMjO,EAAMptD,KACZ0C,KAAMy5D,EAAS3M,SACfu/B,mBAAoB3hC,EAAMqN,gBAC1B62C,WAAYk1H,EAAcl1H,WAC1BqW,cAAe6+G,EAAc7+G,cAC7B26F,yBAAyB,EACzBliN,MAAO84D,GACH9L,EAAMptD,KAAKvQ,MACX0oE,GAAUmB,OAAOlM,EAAMqN,iBACvB0B,EAAShhB,OAEbwjB,WAAYxC,EAASwC,WACrBuxB,iBAAiB,GAErBmb,EAAUoB,eAAe9wC,GAEzB8lJ,EAAY3oN,IAAIs0D,EAAMptD,KAAK/O,MAAOo6G,QAGtCoa,EAAU2D,SAAS7D,GAAUv4F,WAAWo3G,yBAA0BmU,GA6B1E,OAzBI+tF,IACIhlJ,EAAQ3yF,QAAU,KAEb2yF,EAAQ,GAAGthF,MACc,UAA1BshF,EAAQ,GAAGthF,KAAK/O,QACfqwF,EAAQ,GAAG7mB,iBAC4B,KAAxC6mB,EAAQ,GAAG7mB,gBAAgBL,UAEkB,KAAzCknB,EAAQ,GAAG7mB,gBAAgBmnB,WACc,KAAzCN,EAAQ,GAAG7mB,gBAAgBmnB,UAG/B6jC,EAAU2D,SAAS7D,GAAUv4F,WAAWs3G,sBAAuBhjD,EAAQ,GAAG7mB,iBAAmB89E,GAC7C,KAAzCj3D,EAAQ,GAAG7mB,gBAAgBmnB,YAClCggB,EAAU1H,QAAQr9B,OAAS,MAI/BykB,EAAQ3yF,OAAS,GACjB82H,EAAU2D,SAAS7D,GAAUv4F,WAAWk3G,qBAAsB5iD,EAAQ,GAAG7mB,iBAAmB89E,IAIpG/yB,GAAgCC,EAAW8yB,EAAW32C,GAE/CA,E4Cy0PgC6kI,CAAoB7R,GAAoBr8E,EAAW4nD,EAAiB7+G,GAG/E,GAAkB,SAAd+B,GAA2C,IAAnB/B,EAAQ3yF,OAChC,OAAOuvM,GAAiB3lD,EAAW,OAI3C,GAAIhgD,GAAUiL,wBAAwB28F,GAAkB,CACpD,MAAMsP,EAAkBC,GAAmBvP,GAC3C,GACIsP,EAAgB9gN,OAAS,IACxBwxM,EAAgB39F,oBAChBxI,GAAUu+F,GACb,CAEE,MAAMgN,EAAe,IAAIljF,GACnBqkH,EAAkB,EAExBj3B,EAAgBx2L,SAAQ,CAAC02L,EAAgB7xL,KACrC,GAAIA,IAAU4oN,EACVnhC,EAAahjF,WACTgD,GAAUlD,mBAAmBipB,uBAAuBtmI,OAAO,CACvD2a,MAAO8vL,EAAgB9gN,OAAS+3O,UAGrC,GAAI5oN,EAAQ4oN,GACX7sI,GAAoB81G,EAAe/tG,WAAY,CAC/C,MAAMve,EAAYssH,EAAe/tG,UAAU1H,QAAQl6F,KACnDulM,EAAahjF,WACTgD,GAAUlD,mBAAmBgpB,mBAAmBrmI,OAAO,CACnDrS,KAAM0wF,EACNrjF,KAAM2vM,EAAelpJ,kBAOzCyhE,GACI,GAA6BqwB,GAAWpwB,kBACnCC,wBACL/X,GAAe+X,wBACf7C,GAAUv4F,WAAWirG,sBAAsBjzH,OAAO,CAC9CrS,KAAMwtM,EAAgBjmG,QAAQl6F,OAC7BulM,EAAa5iF,YAClB41B,IAKRhgD,GAAU+L,gBAAgB67F,KAAqBA,EAAgB39F,mBAE/D0lB,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAWkrG,sBAAsBlzH,OAAO,CAC9CrS,KAAMwtM,EAAgBjmG,QAAQl6F,OAElCu4I,GAKR,MAAMouF,EAAoBtE,GACtB9pF,EACAj3D,EACA6+G,EACAugC,EACAhtB,GAGAizB,EAAkB5L,iBAClBA,GAAiB,GAGjB4L,EAAkB3jC,mBAClBA,GAAmB,GAGvB,IAAIjmG,EAAa4pI,EAAkB5pI,WAYnC,GAPI/C,GAAUu+F,KACVx7F,EAAaqV,GAAkBmmF,IAO/Bx7F,GACAjD,GAAgBiD,IAChBA,EAAW7C,QAAQoI,IAAIlgD,MAClB8iD,GACGrL,GAAoBqL,IAAc3M,GAAUqH,UAAUsF,EAAW,UAE3E,CACE,IAAI0hI,EAAe,WAAa7pI,EAAW7C,QAAQl6F,KACnD,GAAuB,IAAnBshF,EAAQ3yF,OAAc,CACtB,MAAMk4O,EAAexD,GAAmB/hJ,EAAQ,IAAI3uF,KAEhDmnG,GAAgB+sI,IAChBtuI,GAAUqH,UAAUinI,EAAc,QACG,iBAA9BA,EAAaxnI,eAEpBunI,EAAeC,EAAaxnI,cAIpC,MAAMsD,EAAepK,GAAU6J,mBAC3BwkI,EACA,GACA,GACA,GAA6BruF,GAAW/oF,SAAQ,EAEhD,GAA+B+oF,GAC/BhgD,GAAUmJ,oBAAoB3E,GAC9BxE,GAAUmJ,oBAAoB3E,IAKlC,OAHA4F,EAAazI,QAAQgI,YAAYlzG,KAAK62H,GAAe0yB,EAAW,WAChE51C,EAAazI,QAAQmI,mBAAqB89F,EAC1CvnF,GAAwBjW,GACjBA,EAGX,OAAO5F,EACJ,CACH,IAAIgvD,EAA4E,QAA/D,EAAAq2C,GAAwB7pD,EAAW4nD,EAAiB,mBAAW,eAAExtM,KAElF,GAAIo5J,IAAetxD,GAAWsxD,IAAerxD,GAAqBqxD,IAAc,CAC5EA,EAAa9zC,GAAsC8zC,GAEnD,MAAMi5E,EAAiBzR,GACnBh7E,EACAj3D,EACAyqE,EACAp4C,EACA+sH,EACAhtB,EACAt4G,GAKJ,OAHI4pI,EAAejK,iBACfA,GAAiB,GAEdiK,EAAejoI,YAAc1E,GAAYvyF,SAapD,OAVKimJ,GAAezyD,GAAeyyD,IAC/B7jC,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAWuvG,oBAAoBv3H,OAAO,CAC5CrS,KAAMq1H,GAAUm4E,KAEpB5nD,GAGDlgD,GAAYvyF,SAI3B,KAAK,EAOD,YANAoiH,GACI,GAA6BqwB,GAAWpwB,kBAAkBqvC,mBAC1DnnD,GAAemnD,mBACfjyC,GAAUv4F,WAAWuuG,kBACrBgd,GASR,KAAK,GAAsB,CACvB4nD,EAAkBjuF,GAAoCiuF,GAEtD,MAAM26B,EAAavH,GACfh7E,EACAj3D,EACA6+G,EACAxsF,EACA+sH,EACAhtB,EACAt4G,GAOJ,OAJI0/H,EAAWC,iBACXA,GAAiB,GAGdD,EAAW/9H,YAAc1E,GAAYvyF,SAGhD,KAAK,EAOD,YANAoiH,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAWutG,oBACrBge,OAUpB,MAAO,CACHwiF,iBACAh+H,WAAY/D,GAAQ+D,KAAgBA,EAAWgC,gBAAatsG,EAAYsqG,EACxEimG,mBACAw+B,2BAQR,SAASE,GACLnpF,EACAj3D,EACA3uF,EACAsuO,G,MAEA,MAAM6F,EAAex2H,GAAwB39G,GAC7C,IAAIuvM,EAAW,EACX6kC,GAAqC,EACrCC,GAAmB,EACnBhkC,GAAmB,EACnBikC,GAAgC,EAGpC,MAAMzjF,EAAW,IAAI/xI,IACrBq1N,EAAahzN,OAAOmF,SAAS4tF,IACzB,MAAM9vF,EAAQ8vF,EAAU9vF,MACpBA,EAAM/W,MAA2B,IAAnB+W,EAAMk7C,UACpBuxF,EAAS1qJ,IAAIie,EAAM/W,KAAM,CACrBknO,WAA+B,IAAnBnwN,EAAMk7C,UAA0Cl7C,EAAM0vF,WAAiB,EAAJ,EAC/E0gI,aAAc,EACdC,iBAAkBvgI,EAAUvxF,SAAW86F,GAAgBW,kBAKnE,IAAIs2H,EAA2BP,EAAar2H,uBACxC62H,EAA4D,QAAlC,EAAAR,EAAa11H,6BAAqB,QAAI01H,EAAahzN,OAAOnlB,OAExF,MAAM44O,EAAuBT,EAAa31H,UACpCq2H,EAAuBV,EAAav1H,YAK1C,IAAIk2H,EACAC,EACAC,GAAyB,EAE7B,QAA6Bl1O,IAAzB80O,QAA+D90O,IAAzB+0O,EAAoC,CAC1E/hL,EAAOqhL,EAAahzN,OAAOyzN,GAAuB,kDAClD,MAAMK,EAAkBd,EAAahzN,OAAOyzN,GAAsBxwN,MAClE0uC,EAAOqhL,EAAahzN,OAAO0zN,GAAuB,kDAClD,MAAMK,EAAkBf,EAAahzN,OAAO0zN,GAAsBzwN,MAG9DyjF,GAAYotI,EAAgBj1O,OACa,SAAzCi1O,EAAgBj1O,KAAK+3G,iBACrBlQ,GAAYqtI,EAAgBl1O,OACa,WAAzCk1O,EAAgBl1O,KAAK+3G,iBACrBk9H,EAAgBj1O,KAAKunG,QAAQl6F,OAAS6nO,EAAgBl1O,KAAKunG,QAAQl6F,OAEnE2nO,GAAyB,EAKrBC,EAAgBj1O,KAAK8qG,UAAY9qG,EAAKunG,QAAQyG,gBAC9C8mI,EAAmB,GACnBC,EAAkB3uI,GAAYyR,wBAAwBo9H,EAAgBj1O,UAAMF,IAE5E40O,EAA2BE,GAQvCjmJ,EAAQroE,SAASroB,IACb,GAAIA,EAAIoP,KAAM,CACV,MAAM8nO,EAAoBhB,EAAahzN,OAAOovE,WACzC2jB,GACGA,EAAU9vF,MAAM/W,OAASpP,EAAIoP,KAAM/O,OACN,IAA7B41G,EAAU9vF,MAAMk7C,WAMpB61K,GAAqB,GAAKA,GAAqBT,IAC3CC,EAA0B,GAAKQ,EAAoBR,KACnDA,EAA0BQ,OAOtCR,EAA0B,IAC1BA,EAA0BR,EAAahzN,OAAOnlB,QAKlD,IAAIo5O,EAAqBzmJ,EAAQ4B,WAC5BtyF,GAAiC,IAAzBA,EAAI2pE,uBAAyE9nE,IAAb7B,EAAIoP,OAE7E+nO,EAAqB,IACrBA,EAAqBzmJ,EAAQ3yF,QAGjC,IAEIiwJ,EAFAopF,EAAiD,GAGrD,SAASC,EAAar3O,EAAuBmmB,GACrCnmB,EAAIs3O,SACJtpF,EAAc7nI,GAItB,IAAIoxN,OACkF11O,IAAlF6uF,EAAQpiB,MAAMtuE,GAAiC,IAAzBA,EAAI2pE,mBAG1By7C,EAAa,EACboyH,EAAmB,EAEvB,KAAOlmC,EAAW6lC,GAAoB,CAYlC,GAXI7lC,EAAWmlC,GAA4B/lJ,EAAQ4gH,GAAUliM,OAEzDkoH,GADiB,GAA6B5mC,EAAQ4gH,GAAUliM,MAEnDmoH,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW4/F,gBACrBtrC,EAAQ4gH,GAAUliM,MAEtBgnO,GAAmB,GAGnBhxH,GAAcsxH,EAAyB,CAClCa,GAA+D,IAAvC7mJ,EAAQ4gH,GAAU3nI,mBAC3C2tD,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACa,IAA5Bk/G,EACM/hH,GAAUv4F,WAAW8/F,2BACrBvH,GAAUv4F,WAAW6/F,6BAA6B7nH,OAAO,CACrDoqM,SAAUk4B,IAEpBhmJ,EAAQ4gH,GAAUznI,iBAAmB89E,GAEzCyuF,GAAmB,GAEvB,MAGJ,GAAIhxH,GAAc8wH,EAAahzN,OAAOnlB,OAClC,MAGJ82D,EAAOqhL,EAAahzN,OAAOkiG,GAAa,wCACxC,MAAML,EAAYmxH,EAAahzN,OAAOkiG,GAAYrjH,KAClD,GAA2C,IAAvC2uF,EAAQ4gH,GAAU3nI,iBAAoD,CACtE,IAAK+mB,EAAQ4gH,GAAUznI,gBACnB,MAGJ,MAAM4tK,EACiD,IAAnDvB,EAAahzN,OAAOkiG,GAAYj/F,MAAMk7C,UACtCgoC,GAAkB0b,GACtB,IAAI2yH,GAA8B,EAClC,MAAM/E,EAAgBF,GAAmB/hJ,EAAQ4gH,IAC3C5qF,EAAUisH,EAAc5wO,KAC9B,IAAI41O,EACAC,GAAmB,EAMnB71O,EAAKunG,QAAQqM,WAAayP,EAAasxH,IACvCp/G,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACa,IAA5Bk/G,EACM/hH,GAAUv4F,WAAW8/F,2BACrBvH,GAAUv4F,WAAW6/F,6BAA6B7nH,OAAO,CACrDoqM,SAAUk4B,IAEpBhmJ,EAAQ4gH,GAAUznI,iBAAmB89E,GAEzCyuF,GAAmB,GAMvB,MAAMjvH,EAAoBP,GAAuB+kC,GAA6BjlC,GAAUgoF,IAGnF+oC,GACDtwH,GACAje,GAAgBie,IAChBA,EAAkBrc,oBAClBqc,EAAkBrc,mBAAmB/sG,OAAS,GAC9Cy5O,EAAmBrwH,EAAkBrc,mBAAmB/sG,QAExD45O,EAAkBxwH,EAAkBrc,mBAAmB0sI,GAAkBz1O,KAKzEw1O,OAGU11O,IAFN6uF,EAAQpiB,MACJ,CAACtuE,EAAKktB,IAAUA,EAAQokL,GAAqC,IAAzBtxM,EAAI2pE,mBAGhD6tK,IACIA,GAAoBrwH,EAAkBrc,mBAAmB/sG,SACzDy5O,EAAmB,EACnBI,GAAmB,IAEhBH,GAAmBpuI,GAAkBqd,IAG5CixH,EAAkBjxH,EAClBgxH,GAA8B,EAC9BE,GAAmB,EACnBvB,GAAgC,GAEhCntI,GAAgBwd,IAChBxS,GAAawS,IACbA,EAAQ5b,oBAC8B,IAAtC4b,EAAQ5b,mBAAmB/sG,QAC3BsrG,GAAkBqd,EAAQ5b,mBAAmB,GAAG/oG,OAIhD41O,EAAkBjxH,EAAQ5b,mBAAmB,GAAG/oG,KAChD21O,GAA8B,EAC9BE,GAAmB,EACnBvB,GAAgC,GACzBzsI,GAAY8c,IAAwC,SAA5BA,EAAQ5M,gBACvC69H,OAAkB91O,GAElB81O,EACIthC,GAAoB3vF,GAAuB,EAAOh2B,EAAQ4gH,GAAUznI,kBACpE49B,GAAYvyF,SAEuC,IAAnDghO,EAAahzN,OAAOkiG,GAAYj/F,MAAMk7C,WACtC80K,GAAqC,IAI7C,MAAM0B,EAAwCF,EACxC,CACIhuK,iBAAkB,EAClB5nE,KAAM41O,QAEV91O,EACFg2O,GAAWlF,EAAc5sM,eACzBqsK,GAAmB,GAGvB,MAAMpyG,EAAYk2I,EAAahzN,OAAOkiG,GAAYj/F,MAAM/W,KAIpDqoO,IAAoBC,GACpBpgH,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAWw6G,+BACrBlmD,EAAQ4gH,GAAUznI,iBAAmB89E,GAEzCyuF,GAAmB,IAEfS,GACAA,EAAiBz4O,KAAKsyF,EAAQ4gH,IAG9BumC,GACAT,EAAsBh5O,KAAK,CACvB8wF,cAAegnJ,EAAahzN,OAAOkiG,GAAYj/F,MAAMk7C,SACrD0jD,YACA+yH,wBAAyBhwH,GAAuB/C,GAChDgzH,SAAUF,EACVlwF,UAAWj3D,EAAQ4gH,GAAUznI,iBAAmB89E,EAChD3nD,UAAWk2I,EAAahzN,OAAOkiG,GAAYj/F,MAAM2vF,uBAAoBj0G,EAAYm+F,KAK7Fq3I,EAAa3mJ,EAAQ4gH,GAAW4kC,EAAahzN,OAAOkiG,GAAYj/F,OAI5D65E,GACmD,IAAnDk2I,EAAahzN,OAAOkiG,GAAYj/F,MAAMk7C,UACtCuxF,EAASzrI,IAAI64E,IAEb4yD,EAAStrJ,IAAI04F,GAAYu2I,gBAIzBqB,GACmD,IAAnD1B,EAAahzN,OAAOkiG,GAAYj/F,MAAMk7C,WAEtCiwI,KAIA+kC,GACmD,IAAnDH,EAAahzN,OAAOkiG,GAAYj/F,MAAMk7C,WAEtC+jD,SAED,GAAuD,IAAnD8wH,EAAahzN,OAAOkiG,GAAYj/F,MAAMk7C,SAG7C,GAFAg2K,EAAa3mJ,EAAQ4gH,GAAW4kC,EAAahzN,OAAOkiG,GAAYj/F,OAE5D0wN,EACAA,EAAiBz4O,KAAKsyF,EAAQ4gH,IAC9BA,QACG,CACH,IAAIpiH,EAAgBgnJ,EAAahzN,OAAOkiG,GAAYj/F,MAAMk7C,SACtD22K,EAAqBjzH,EACzB,MAAM/kB,EAAYk2I,EAAahzN,OAAOkiG,GAAYj/F,MAAM/W,KAGpDs6F,GAAgBqb,IAChBA,EAAUja,oBACVia,EAAUja,mBAAmB/sG,OAAS,IAEtCi6O,EAAqBjzH,EAAUja,mBAAmB,GAAG/oG,MAGzDmtF,EAAgBma,GAAkB2uI,GAC5B,EACA,EAEN,MAAMC,EAAoBd,EAAqB7lC,EACzC4mC,EAAsBxB,EAA0BtxH,EAAa,EAE/D6yH,GAAqBC,GACjBD,EAAoBC,IAEpB5gH,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACO,IAAtBygH,EACMtjH,GAAUv4F,WAAW2/F,+BACrBpH,GAAUv4F,WAAW0/F,iCAAiC1nH,OAAO,CACzDoqM,SAAUy5B,IAEpBvnJ,EAAQ4gH,GAAUznI,iBAAmB89E,GAEzCyuF,GAAmB,GAGvBhxH,MAEAgyH,EAAsBh5O,KAAK,CACvB8wF,gBACA61B,UAAWizH,EACXF,wBAAyBhwH,GAAuB/C,GAChDgzH,SAAUrnJ,EAAQ4gH,GAClB3pD,UAAWj3D,EAAQ4gH,GAAUznI,iBAAmB89E,EAChD3nD,YACAm4I,kBAAkB,IAGtB7mC,SAGL,CACH,MAAMtxG,EAAYk2I,EAAahzN,OAAOkiG,GAAYj/F,MAAM/W,KACxDgoO,EAAsBh5O,KAAK,CACvB8wF,cAAegnJ,EAAahzN,OAAOkiG,GAAYj/F,MAAMk7C,SACrD0jD,YACA+yH,wBAAyBhwH,GAAuB/C,GAChDgzH,SAAUrnJ,EAAQ4gH,GAClB3pD,UAAWj3D,EAAQ4gH,GAAUznI,iBAAmB89E,EAChD3nD,UAAWk2I,EAAahzN,OAAOkiG,GAAYj/F,MAAM2vF,uBAAoBj0G,EAAYm+F,IAErFq3I,EAAa3mJ,EAAQ4gH,GAAW4kC,EAAahzN,OAAOkiG,GAAYj/F,OAG5D65E,GAAa4yD,EAASzrI,IAAI64E,IAC1B4yD,EAAStrJ,IAAI04F,GAAYu2I,eAG7BjlC,IACAlsF,KAMR,GACIqxH,GAA4B,GAC5BrxH,EAAaqxH,KACXc,GAAwBR,GAC5B,CACE,MAAMqB,EAAwBlC,EAAahzN,OAAOovE,WAAW2jB,GAAcA,EAAU9vF,MAAM0vF,aAKrFwiI,GAHFD,GAAyB,GAAKA,EAAwB3B,EAChD2B,EACA3B,GACoDU,EAC1DkB,EAAqB,IACrB/gH,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACQ,IAAvB6gH,EACM1jH,GAAUv4F,WAAW2/F,+BACrBpH,GAAUv4F,WAAW0/F,iCAAiC1nH,OAAO,CACzDoqM,SAAU65B,IAEpB3nJ,EAAQ3yF,OAASo5O,GACXzmJ,EAAQymJ,GAAoBttK,iBAC5B89E,GAEVyuF,GAAmB,GAI3B,IAAKA,EAAkB,CACnB,IAAIkC,EAGJ,KAAOhnC,EAAW5gH,EAAQ3yF,QAAQ,CAC9B,GAA2C,IAAvC2yF,EAAQ4gH,GAAU3nI,iBAA0D,CAE5E,MAAM+8C,EAAU+rH,GAAmB/hJ,EAAQ4gH,IAAWvvM,KACtD,GAAI2mG,GAAege,GACf4xH,EAA4B5xH,OACzB,GAAIxd,GAAgBwd,IAAY/e,GAAU0L,iBAAiBqT,GAAU,CAGxE,MAAMjG,EAAmBsU,GAA4BivG,GAAoBt9G,GACnE6L,EAAO,IAAId,GAEjBhR,EAAiBp4F,SAAQ,CAACm0C,EAAOptD,KAC7B,MAAMmpO,EAAa3lF,EAAStrJ,IAAI8H,GAChC,GAAImpO,IAAeA,EAAW/B,iBAC1B,GAAI+B,EAAWhC,aAAe,EAC1BhkH,EAAKZ,WAAWgD,GAAUv4F,WAAWwwG,uBAAuBx4H,OAAO,CAAEhF,cAClE,CACHmpO,EAAWhC,eAEX,MAAMiC,EAAiBtC,EAAahzN,OAAOovE,WACtC2jB,GAAcA,EAAU9vF,MAAM/W,OAASA,IAE5CylD,EAAO2jL,GAAkB,GACzB,MAAMzzH,EAAYmxH,EAAahzN,OAAOs1N,GAAgBz2O,KAEtDq1O,EAAsBh5O,KAAK,CACvB8wF,cAAe,EACf61B,YACA+yH,wBAAyBhwH,GAAuB/C,GAChDgzH,SAAU,CACNpuK,iBAAkB,EAClB5nE,KAAMy6D,EAAM1S,WAEhB69F,UAAWj3D,EAAQ4gH,GAAUznI,iBAAmB89E,EAChD3nD,UAAW5wF,SAGhB,QAAiCvN,IAA7Bq0O,EAAav1H,YAA2B,CAC/C,MAAMoE,EAAYmxH,EAAahzN,OAAOgzN,EAAav1H,aAAa5+G,KAChEq1O,EAAsBh5O,KAAK,CACvB8wF,cAAe,EACf61B,YACA+yH,wBAAyBhwH,GAAuB/C,GAChDgzH,SAAU,CACNpuK,iBAAkB,EAClB5nE,KAAMy6D,EAAM1S,WAEhB69F,UAAWj3D,EAAQ4gH,GAAUznI,iBAAmB89E,EAChD3nD,UAAW5wF,IAIfwjJ,EAAS1qJ,IAAIkH,EAAM,CACfknO,WAAY,EACZC,aAAc,EACdC,kBAAkB,SAGtBjkH,EAAKZ,WAAWgD,GAAUv4F,WAAW0wG,mBAAmB14H,OAAO,CAAEhF,aAIpEmjH,EAAKlpG,YACNiuG,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAW26G,4BAA8BxkB,EAAKR,YACxDrhC,EAAQ4gH,GAAUznI,iBAAmB89E,GAEzCyuF,GAAmB,QAEpB,GAAIxsI,GAAY8c,IAAwC,WAA5BA,EAAQ5M,gBACvCw+H,EAA4BtwI,GAAQ9yF,aACjC,CACH,MAAMujO,EAAc5pC,GAAclnD,EAAW,WACvC+wF,EAAaprC,GAAiB3lD,EAAW,OAE/C,GACI8wF,GACAxvI,GAAoBwvI,IACpBC,GACAxvI,GAAgBwvI,GAClB,CACE,MAAMC,EAAoB,IAAIh8H,GAAWgF,GAAkB82H,IAC3D,IAAIG,GAAqB,EAIzB,GAAIxvI,GAAUsd,GACVkyH,GAAqB,OAClB,GACH1gH,GACIvwB,GAAUgK,gBAAgB8mI,GAC1B/xH,OACW7kH,EACX82O,GAEN,CACE,MAIM1oI,EAJqBwR,GACvBg3H,EACAE,GAEgCxtI,cAChC8E,GAAYA,EAASlyG,QAAU,GAC3Bm6H,GAAcwgH,EAAYzoI,EAAS,MACnC2oI,GAAqB,GAEzBN,EAA4BroI,EAAS,KAErC2oI,GAAqB,EACrBN,EAA4B7wI,GAAYvyF,UAI3C0jO,IACDthH,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAWy6G,iCACrBnmD,EAAQ4gH,GAAUznI,iBAAmB89E,GAEzCyuF,GAAmB,IAK3BS,GACAA,EAAiBz4O,KAAKsyF,EAAQ4gH,QAE/B,CAIH,MAAMtxG,EAAYtP,EAAQ4gH,GAAUliM,KACpC,GAAI4wF,EAAW,CACX,MAAM64I,EAAiB74I,EAAU3/F,MAC3Bk4O,EAAa3lF,EAAStrJ,IAAIuxO,GAChC,GAAIN,IAAeA,EAAW/B,iBAC1B,GAAI+B,EAAWhC,aAAe,EAC1Bj/G,GACI,GAA6Bt3B,GAAWu3B,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAWwwG,uBAAuBx4H,OAAO,CAAEhF,KAAMypO,IAC3D74I,GAEJo2I,GAAmB,MAChB,CACHmC,EAAWhC,eAEX,MAAMiC,EAAiBtC,EAAahzN,OAAOovE,WACtC2jB,GAAcA,EAAU9vF,MAAM/W,OAASypO,IAE5ChkL,EAAO2jL,GAAkB,GACzB,MAAMzzH,EAAYmxH,EAAahzN,OAAOs1N,GAAgBz2O,KAEtDq1O,EAAsBh5O,KAAK,CACvB8wF,cAAe,EACf61B,YACA+yH,wBAAyBhwH,GAAuB/C,GAChDgzH,SAAUrnJ,EAAQ4gH,GAClB3pD,UAAWj3D,EAAQ4gH,GAAUznI,iBAAmB89E,EAChD3nD,UAAW64I,IAEfxB,EAAa3mJ,EAAQ4gH,GAAW4kC,EAAahzN,OAAOs1N,GAAgBryN,YAErE,QAAiCtkB,IAA7Bq0O,EAAav1H,YAA2B,CAC/C,GAAIk2H,EACAA,EAAiBz4O,KAAKsyF,EAAQ4gH,QAC3B,CACH,MAAMvsF,EAAYmxH,EAAahzN,OAAOgzN,EAAav1H,aAAa5+G,KAChEq1O,EAAsBh5O,KAAK,CACvB8wF,cAAe,EACf61B,YACA+yH,wBAAyBhwH,GAAuB/C,GAChDgzH,SAAUrnJ,EAAQ4gH,GAClB3pD,UAAWj3D,EAAQ4gH,GAAUznI,iBAAmB89E,EAChD3nD,UAAW64I,IAIfjmF,EAAS1qJ,IAAI2wO,EAAgB,CACzBvC,WAAY,EACZC,aAAc,EACdC,kBAAkB,IAG1B3hL,EACIqhL,EAAahzN,OAAOgzN,EAAav1H,aACjC,sDAEJ02H,EAAa3mJ,EAAQ4gH,GAAW4kC,EAAahzN,OAAOgzN,EAAav1H,aAAax6F,YAE9EmxG,GACI,GAA6Bt3B,GAAWu3B,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAW0wG,mBAAmB14H,OAAO,CAAEhF,KAAM4wF,EAAU3/F,QACjE2/F,GAEJo2I,GAAmB,OAEuB,IAAvC1lJ,EAAQ4gH,GAAU3nI,mBAEzB2tD,GADiB,GAA6BqwB,GAEjCpwB,kBAAkBC,wBAC3B/X,GAAe+X,wBACa,IAA5Bk/G,EACM/hH,GAAUv4F,WAAW8/F,2BACrBvH,GAAUv4F,WAAW6/F,6BAA6B7nH,OAAO,CACrDoqM,SAAUk4B,IAEpBhmJ,EAAQ4gH,GAAUznI,iBAAmB89E,GAEzCyuF,GAAmB,GAI3B9kC,IA2CJ,IAtCIgnC,GAA+Bf,QAAmD11O,IAA3Bq0O,EAAa31H,WAIpE21H,EAAahzN,OAAOmF,SAAQ,CAAC4tF,EAAWmP,K,QACpC,MAAMj/F,EAAQ8vF,EAAU9vF,MACxB,GACIi/F,GAAc8wH,EAAav2H,6BACR,IAAnBx5F,EAAMk7C,UACNl7C,EAAM/W,OACL+W,EAAM0vF,YACP+8C,EAASzrI,IAAIhB,EAAM/W,OACwB,IAA3CwjJ,EAAStrJ,IAAI6e,EAAM/W,MAAOmnO,aAC5B,CACE,MAAMxxH,EAAYmxH,EAAahzN,OAAOkiG,GAAYrjH,KAClDq1O,EAAsBh5O,KAAK,CACvB8wF,cAAe,EACf61B,YACA+yH,wBAAyBhwH,GAAuB/C,GAChDgzH,SAAU,CACNpuK,iBAAkB,EAClB5nE,KAAMu2O,GAEV3wF,UAEyB,QADrB,EAAmF,QAAnF,EAAAj3D,EAAQpiB,MAAMtuE,GAAiC,IAAzBA,EAAI2pE,0BAAyD,eAC7EE,uBAAe,QAAI89E,EAC7B3nD,UAAW75E,EAAM2vF,uBAAoBj0G,EAAYskB,EAAM/W,OAG3DwjJ,EAAStrJ,IAAI6e,EAAM/W,MAAOmnO,aAAe,OAShD+B,IAA8B1wI,GAAa0P,gCAAgCv1G,GAAO,CACnF,MAAM+2O,EAAmB,IAAIlmF,EAASxqI,QAAQwjC,QAAQx8C,IAClD,MAAMotD,EAAQo2F,EAAStrJ,IAAI8H,GAC3B,OAAQotD,GAASA,EAAM+5K,aAAe/5K,EAAM85K,cAGhD,GAAIwC,EAAiB/6O,OAAS,EAAG,CAC7B,MAAMg7O,EAAoBD,EAAiBjyN,KAAKtR,GAAM,IAAIA,OAAMhX,KAAK,MACrE+4H,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACa,IAA5BshH,EAAiB/6O,OACX42H,GAAUv4F,WAAWw/F,qBAAqBxnH,OAAO,CAAEhF,KAAM2pO,IACzDpkH,GAAUv4F,WAAWy/F,sBAAsBznH,OAAO,CAAE03D,MAAOitK,IACjEpxF,GAEJyuF,GAAmB,EAQvBF,EAAahzN,OAAOmF,SAAS4tF,IACzB,MAAM9vF,EAAQ8vF,EAAU9vF,MACxB,GAAuB,IAAnBA,EAAMk7C,UAAyCl7C,EAAM/W,KAAM,CAC3D,MAAMotD,EAAQo2F,EAAStrJ,IAAI6e,EAAM/W,MACR,IAArBotD,EAAM85K,YAA2C,IAAvB95K,EAAM+5K,cAE5BpwN,EAAM+uM,cACLzyG,GAAet8F,EAAM+uM,cACtBptG,GAAuB3hG,EAAMpkB,OAE7Bq1O,EAAsBh5O,KAAK,CACvB8wF,cAAe/oE,EAAMk7C,SACrB0jD,UAAW5+F,EAAMpkB,KACjB+1O,yBAAyB,EACzBC,SAAU,CACNpuK,iBAAkB,EAClB5nE,KAAMokB,EAAM+uM,aAEhBvtE,UAAWA,EACX3nD,UAAW75E,EAAM2vF,uBAAoBj0G,EAAYskB,EAAM/W,YAYnF,KAAKgnO,IAAqB9e,EAAuB/H,mBAAc1tN,UAM5BA,IAA3Bq0O,EAAa31H,WACb21H,EAAa31H,WAAa,GAC1B21H,EAAahzN,OAAOgzN,EAAa31H,WAAWp6F,MAAM4vF,kBACjDsgI,EACH,CACE,MAAMtxH,EAAYmxH,EAAahzN,OAAOgzN,EAAa31H,WAAWx+G,KACxDi3O,EAAe5B,EAAsBxrL,QAAQktF,GAAaA,EAASq/F,mBAEzE,GAAI/uI,GAAU2b,IAAcA,EAAUzb,QAAQC,YACtCmlG,GAAkBzlG,GAAoBylG,GAAiB,CACvD,MAAMikB,EAAqCqmB,EAAanyN,KAAKiyH,I,MACzD,MAAMpyB,EAAU+rH,GAAmB35F,EAASi/F,UAAUh2O,KAoBtD,OAlBIynG,GAA0Bkd,IACzBxd,GAAgBwd,IACbxS,GAAawS,IACbA,EAAQ5b,oBACR4b,EAAQ5b,mBAAmBt5C,MAAMxxD,GAAQwpG,GAA0BxpG,EAAI+B,UAIpC,IAAvC+2I,EAASi/F,SAASpuK,kBAElB2tD,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAWg5G,6BACY,QAAjC,EAAA0D,EAASi/F,SAASluK,uBAAe,QAAI89E,GAItC,CACH5lJ,KAAMq/G,GAAkBsF,GACxBzb,YAAoD,IAAvC6tC,EAASi/F,SAASpuK,qBAajCsvK,EAAqC,CACvC/pJ,cAAe,EACf61B,YACA+yH,yBAAyB,EACzBC,SAAU,CAAEpuK,iBAAkB,EAAyB5nE,KAdlC4lG,GAAUgK,gBAC/BqV,GACI0nF,EACAikB,GAC6B,GACT,GACE,KAS1BhrE,YACA3nD,UAAWk2I,EAAahzN,OAAOgzN,EAAa31H,WAAWp6F,MAAM/W,KAC7D+oO,kBAAkB,GAGtBf,EAAwB,IACjBA,EAAsBxrL,QAAQktF,IAAcA,EAASq/F,mBACxDc,IAOpB,IAAI/H,EAAY,EAgBhB,OAfIiF,GAIAjF,IAKA,CAAC,aAAc,cAAc1/K,MAAMpiD,GAASA,IAASrN,EAAKunG,QAAQ+/F,eACjC,IAAjC+tC,EAAsBr5O,SAEtBq5O,EAAsB,GAAG8B,eAAgB,GAGtC,CACH92H,SAAUrgH,EACVsuO,gBACAlG,eAAgBiM,EAChBhkC,mBACAm+B,UAAW6G,EACXN,kBACAD,mBACA7oF,cACAkjF,aAOR,SAASR,GACL/oF,EACA2oF,EACAvtH,EACA+sH,GAAsB,EACtBhtB,GAEA,MAAM/gN,EAAOuuO,EAAaluH,SAE1B,IACK0gG,GACDp6G,GAAeo6G,IACf16G,GAAQ06G,IACRh7F,GAAuBg7F,KACtB/gN,EAAKunG,QAAQ2C,mBAEd,OAAOglI,GAA8BtpF,EAAW2oF,EAAcvtH,EAAY+sH,GAG9E,MAAMqJ,EAAsB7Y,GAA+Bv+N,GAC3D,IAAI+6N,EAA0Cha,EAC1CJ,EAAiB,EAQrB,GAPIxgG,GAAoB46G,GAA6C,KACjEpa,GAAkB,KAMlB/5G,GAAQm6G,GAAe,CACvB,IAAIs2B,EAEJpoC,GAAmBrpD,GAAW,KAC1B,MAAM0xF,EAAiBt2H,EAAWhO,QAClCmjB,GACIihH,EACArc,OACWj7N,EACXw3O,EACiB,KAAjB32B,GAEJ02B,EAAqBnI,GACjBtpF,EACA2oF,EACA+I,EACAvJ,MAIJsJ,GAAsBA,EAAmBjP,iBACzCrN,OAAwBj7N,GAIhC,GAAIi7N,EAAuB,CAUvB,GACI5zH,GAAgBiwI,IAChBjwI,GAAgB4zH,KACfn1H,GAAU+C,mBAAmByuI,EAAqBrc,GACrD,CACE,MAAMwc,EAAiB,IAAI38H,GAAWgF,GAAkBw3H,IACxDzsC,GACIysC,EACArc,EACAwc,EACA5Q,GAAwB/gF,IAG5B,MAAM4xF,EAAoB5xI,GAAUkK,uBAChCsnI,OACoBt3O,GACS,GAGjCi7N,EAAwBr7G,GAAoB83H,EAAmBD,GAGnEphH,GACIihH,EACArc,OACWj7N,EACXkhH,EACiB,KAAjB2/F,GAIR,OAAOuuB,GAA8BtpF,EAAW2oF,EAAcvtH,EAAY+sH,GAG9E,SAASmB,GACLtpF,EACA2oF,EACAvtH,EACA+sH,GAAsB,GAEtB,MAAM/tO,EAAOuuO,EAAaluH,SAC1B,IAEIwuH,EAFAx+B,EAAmBk+B,EAAal+B,iBAChC+3B,GAAiB,EAErB,MAAMxD,EAAgBzlH,GAAiBn/G,GAEvC,GAAIA,EAAKmzG,2BAIsBrzG,IAAvBE,EAAKqzG,eAA+BrzG,EAAKkzG,aAAe6S,GAAuB/lH,EAAKkzG,cAGhF,EADAlzG,EAAKqzG,eAGL2N,EAAW/E,iBAAiBj8G,EAAKmzG,qBASf,aAAtBnzG,EAAKunG,QAAQl6F,MACbw4F,GAAayP,aAAat1G,IAC1BA,EAAKuzG,wBACLvzG,EAAKkzG,aACL/L,GAAgBnnG,EAAKuzG,yBACrBpM,GAAgBnnG,EAAKkzG,cACrBtN,GAAU+C,mBAAmB3oG,EAAKuzG,uBAAwBvzG,EAAKkzG,cAC/DlzG,EAAKuzG,uBAAuBnK,eAC9B,CACE,MAAM6E,EAAajuG,EAAKuzG,uBAAuBhM,QAAQ6G,eACvDygI,EAA0B7uO,EAAKuzG,uBAC/BvzG,EAAKuzG,uBAAuBnK,cAAc9iF,SAAQ,CAACk3F,EAASryF,KACpDA,EAAQ8iF,EAAWjyG,SAEdosG,GADa6F,EAAW9iF,GACFqyF,GAAmC,IAC1DwD,EAAW7F,eAAelN,EAAW9iF,GAAQqyF,OAS7D,CAAC,OAAQ,aAAc,cAAc/tD,MAAMpiD,GAASA,IAASrN,EAAKunG,QAAQ+/F,gBAC1EymC,GAAsB,GAO1B,MAAM0J,EAAuBlJ,EAAaC,UAAU3kL,QAAQ5rD,GAAQA,EAAI83O,0BAAyB/5O,OACjG,GAAIy7O,EAAuB,EAAG,CAS1B,IAAIC,EAAY5zO,KAAKC,IAAI0zO,EAAsB,GAC/C,IAAK,IAAIn8O,EAAI,EAAGA,EAAIo8O,EAAWp8O,IAC3B2zM,GAAmBrpD,GAAW,KAC1B2oF,EAAaC,UAAUloN,SAASywH,IAC5B,GAAIA,EAASg/F,wBAAyB,CAQlC,MAAM4B,EAAYC,GACd7gG,EACA/1B,EACAhhH,EACA+tO,EAC4B,IAANzyO,EACGo8O,EAAY,GAAW,IAANp8O,EAC1CspO,GAGA+S,EAAUtnC,mBACVA,GAAmB,GAMb,IAAN/0M,GAAWq8O,EAAUE,oBACrBH,WASpB12H,EAAW1zF,OAGfihN,EAAaC,UAAUloN,SAASywH,IAC5B,MAAM4gG,EAAYC,GACd7gG,EACA/1B,EACAhhH,EACA+tO,GACsB,GACG,EACzBnJ,GAGC+S,EAAU5gI,eACXqxH,GAAiB,GAGjBuP,EAAUtnC,mBACVA,GAAmB,MAKvBk+B,EAAauG,kBAAoBvG,EAAawG,kBAoJtD,SACInvF,EACAj3D,EACAilB,EACAoN,EACAwjH,G,MAEA,MAAM7wH,EAAiBqN,EAAWnE,aAAajJ,GAE/C,IAAKD,EAOD,OANA4hB,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAWixG,oBAAoBj5H,OAAO,CAAErS,KAAMq1H,GAAUzhB,MACxD,QAAV,EAAAjlB,EAAQ,UAAE,eAAE7mB,kBAAmB89E,IAE5B,EAKX5kC,EAAW/E,iBAAiBtI,EAAe3F,gBAE3C,IAAIqmI,GAAmB,EAGvB,MAAMxjF,EAAW,IAAI/xI,IACfi0L,EAAkBp/F,EAAetvE,WACvC0uK,EAAgBzsL,SAASlC,IACjBA,EAAM/W,MACNwjJ,EAAS1qJ,IAAIie,EAAM/W,KAAM+W,MAIjC,IAAI0zN,EAAkB,EAClBC,EAAuBhlC,EAAgBxiH,WACtC2jB,GAAqC,IAAvBA,EAAU50C,WAEzBy4K,EAAuB,IACvBA,EAAuBhlC,EAAgB/2M,QAE3C,MAAM4pH,EAAYmtF,EAAgBxmI,MAAM2nC,GAAqC,IAAvBA,EAAU50C,WAC1DumD,EAAcktF,EAAgBxmI,MAC/B2nC,GAAqC,IAAvBA,EAAU50C,WA6E7B,GA1EAqvB,EAAQroE,SAASroB,IACb,GAA6B,IAAzBA,EAAI2pE,iBAA8C,CAClD,IAAIo7C,EAEJ,GAAI/kH,EAAIoP,KAAM,CACV,MAAM6mG,EAAY28C,EAAStrJ,IAAItH,EAAIoP,KAAK/O,OACpC41G,GACA8O,EAAY9O,EAAUl0G,KACtB6wJ,EAASjtI,OAAO3lB,EAAIoP,KAAK/O,QAClBunH,EACP7C,EAAY6C,EAAY7lH,MAExBu1H,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAW0wG,mBAAmB14H,OAAO,CAAEhF,KAAMpP,EAAIoP,KAAK/O,QAChEL,EAAI6pE,iBAAmB89E,GAE3ByuF,GAAmB,OAEpB,CACH,GAAIyD,EAAkBC,EAAsB,CACxC,MAAM7jI,EAAY6+F,EAAgB+kC,GAClC90H,EAAY9O,EAAUl0G,KAClBk0G,EAAU7mG,MACVwjJ,EAASjtI,OAAOswF,EAAU7mG,WAEvBu4G,EACP5C,EAAY4C,EAAU5lH,MAEtBu1H,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACY,IAA3Bs9E,EAAgB/2M,OACV42H,GAAUv4F,WAAW8/F,2BACrBvH,GAAUv4F,WAAW6/F,6BAA6B7nH,OAAO,CACrDoqM,SAAU1J,EAAgB/2M,SAEpCiC,EAAI6pE,iBAAmB89E,GAE3ByuF,GAAmB,GAGvByD,IAGA90H,IAEK40H,GACG,CACIzqJ,cAAe,EACf61B,YACA+yH,yBAAyB,EACzBC,SAAU/3O,EACV2nJ,UAAW3nJ,EAAI6pE,iBAAmB89E,GAEtC5kC,OACmBlhH,GACO,GACJ,GACG,EACzB0kO,KAGJ6P,GAAmB,SAK3BxjF,EAAShoI,YAKZwrN,EAAkB,CACnB,IAAI0C,EAAmB,IAAIlmF,EAASxqI,QAQpC,GALA0wN,EAAmBA,EAAiBltL,QAAQx8C,IACxC,MAAM6mG,EAAY28C,EAAStrJ,IAAI8H,GAC/B,OAA8B,IAAvB6mG,EAAU50C,WAA0C40C,EAAUJ,cAGrEijI,EAAiB/6O,OAAS,IAAM23G,EAAeC,UAAW,CAC1D,MAAMojI,EAAoBD,EAAiBjyN,KAAKtR,GAAM,IAAIA,OAAMhX,KAAK,MACrE+4H,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACa,IAA5BshH,EAAiB/6O,OACX42H,GAAUv4F,WAAWw/F,qBAAqBxnH,OAAO,CAAEhF,KAAM2pO,IACzDpkH,GAAUv4F,WAAWy/F,sBAAsBznH,OAAO,CAAE03D,MAAOitK,IACjEpxF,GAEJyuF,GAAmB,GAI3B,OAAQA,EAjSC2D,CACGpyF,EACA2oF,EAAauG,iBACbvG,EAAawG,gBACb/zH,EACA4jH,KAGJwD,GAAiB,IAKzB,MAAMh+H,EAAam0H,GAA+Bv+N,EAAMuuO,EAAaC,WAQrE,IAAIntH,GAA4B,EAC5Bp3C,EAAiC27E,EACrC,OAAa,CACT,MAAMqyF,EAAmB,GAAmChuK,GAC5D,IAAKguK,EACD,MAGJ,MAAMjqI,EAAiB2lB,GAAkBskH,GACrCj3H,EAAWlF,iBAAiB9N,KAC5BqT,GAA4B,GAGhCp3C,EAAUguK,GAMVnwI,GAAWsC,IAAerC,GAAqBqC,MAC/CiX,GAA4B,GAGhC,IAAIsH,EAAwBzJ,GACxBQ,GACItV,EACA4W,GACwB,GACC,EACzBK,GAEJujH,GA4CJ,OAxCIj9H,GAAgBghB,KAChBA,EAAwB/iB,GAAU8K,iBAAiBiY,GAA6C,IAOhGxhB,GAAgBwhB,IAChB/iB,GAAUqH,UAAU0b,EAAuB,CAAC,YAAa,qBACzDA,EAAsBvf,eACtBuf,EAAsBvf,cAAcptG,OAAS,GAEzC+5N,GAAiB7uH,GAAoB6uH,KACrCptG,EAAwB/iB,GAAUgK,gBAC9BhK,GAAU0K,kBACNylH,EACAptG,EAAsBvf,cAAc,GACpCxD,GAAUqH,UAAU0b,EAAuB,sBAWvD7gB,GAAW6gB,KAA2BA,EAAsBphB,QAAQl6F,OACpEs7G,EAAsBphB,QAAU,IACzBohB,EAAsBphB,QACzByG,eAAgB7I,KAIpB0pI,IACAA,EAA0BnvH,GAAoBmvH,EAAyB7tH,IAGpE,CACHonH,iBACAh+H,WAAYue,EACZ0nF,mBACApkD,YAAasiF,EAAatiF,YAC1B4iF,2BAOR,SAASyD,GACL1sF,EACAj3D,EACA3uF,EACAghH,EACA+sH,GAAsB,EACtBhtB,GAEA,MAAMwtB,EAAeQ,GAAmCnpF,EAAWj3D,EAAS3uF,EAAM,GAElF,OAAIuuO,EAAanG,gBAGR1S,EAAsBpH,yBACvB3/H,EAAQroE,SAASroB,IACTA,EAAI6pE,kBAAoBytJ,EAAuB/H,cAAcvvN,EAAI6pE,kBACjE8uD,EAAoB34H,EAAI6pE,oBAK7B,CACHsgK,gBAAgB,EAChBn8E,YAAasiF,EAAatiF,cAI3B0iF,GACH/oF,EACA2oF,EACAvtH,EACA+sH,EACAhtB,GAwJR,SAAS62B,GACL7gG,EACA/1B,EACAxM,EACA0jI,EACAC,EACA37H,EACAgoH,GAEA,IAAI7/G,EACAyzH,EACA/nC,GAAmB,EACnBt5F,GAAe,EACnB,MAAMmV,EAAe1X,aAAY,EAAZA,EAAcjN,QAAQl6F,KAE3C,GAAI0pI,EAASi/F,SAASluK,gBAAiB,CAQnC,IAAIi5I,EACA15G,GAAU0vC,EAAS/zB,iBACFljH,IAAjB00G,GACAuiC,EAAS/zB,UAAUlY,UAAY0J,EAAajN,QAAQyG,oBAC9CluG,EACA4/G,GACIq3B,EAAS/zB,UACThC,GACwB,EACxBxE,GAUd,GALIukG,GAAgBr6G,GAAUq6G,KAC1BA,OAAejhN,GAIfi3I,EAASpyB,QACTA,EAAUoyB,EAASpyB,YAChB,CACH,MAAMz6C,EAAQ6sE,EAASogG,cACjB,IAGA,EACApb,EAAiBnlG,EAAoBmgB,EAASi/F,SAASluK,gBAAiBi5I,EAAc72I,GAC5Fy6C,EAAUo3G,EAAe/7N,KACrB+7N,EAAe/3L,eACfqsK,GAAmB,GAEnB0rB,EAAeoR,aACfp2H,GAAe,GAEnBqhI,EAAmBrc,EAAe0B,yBAIlC1mF,EAASi/F,UACTj/F,EAASi/F,SAAS3oO,OACjBkoN,EAAuB/H,cAAcz2E,EAAS6O,YAE/CixE,EAAe9/E,EAASi/F,SAAS3oO,KAAM0zM,GAAgBp8F,EAAS,EAAqB0rF,QAIzF,GAAIt5D,EAASpyB,QACTA,EAAUoyB,EAASpyB,aAChB,GAAIoyB,EAASogG,gBAAkBpgG,EAASi/F,SAASh2O,MAAQ+2I,EAASi/F,SAASluK,gBAAiB,CAC/F,MAAM8oK,EAAgBh6G,EAClBmgB,EAASi/F,SAASluK,qBACChoE,EACnB,KAIJ6kH,EAAUisH,EAAc5wO,KACpB4wO,EAAc5sM,eACdqsK,GAAmB,OAEpB,CACH,MAAMugC,EAAgBF,GAAmB35F,EAASi/F,UAClDrxH,EAAUisH,EAAc5wO,KACpB4wO,EAAc5sM,eACdqsK,GAAmB,GAQA,IAA3Bt5D,EAAS5pD,eAAwDka,GAAU0vC,EAAS/zB,aACpF2B,EAAUtF,GAAkBsF,IAM5B6/G,IACA7/G,EAAUghF,GAA0BhhF,EAAS6/G,GAAkBh3B,GACpDA,KAIf,IAAIh9E,EAAO,IAAId,GAIf,GAAI7nB,GAAYkvC,EAAS/zB,iBAAqDljH,IAAvCi3I,EAAS/zB,UAAUjL,gBACtD,MAAO,CAAEhB,eAAcs5F,oBAM3B,GAAI8nC,EAAiB,CACjB,GAAIpwI,GAAqB4c,GACrB,MAAO,CAAE5N,eAAcs5F,mBAAkBwnC,oBAAoB,GAGjE,MAAMQ,EAAoBzuF,GAA6B7S,EAAS/zB,WAChE,GAAIlb,GAAWuwI,IAAsBtwI,GAAqBswI,GAAoB,CAC1E,GAAInxI,GAAoByd,GAAU,CAC9B,MAAM13G,EAAcqrO,GAA8B3zH,GAClD,GAAI13G,GAAe86F,GAAqB96F,GACpC,MAAO,CAAE8pG,eAAcs5F,mBAAkBwnC,oBAAoB,GAIrE,GAAI1wI,GAAgBwd,GAAU,CAC1B,MAAMm5G,EAAal8G,GAAmB+C,EAAS,YAC/C,GAAIm5G,GAEI/1H,GADeywD,GAAgBslE,IAE/B,MAAO,CAAE/mH,eAAcs5F,mBAAkBwnC,oBAAoB,KAOjF,IAAK1hH,GAAc4gB,EAAS/zB,UAAW2B,EAAS6L,EAAKX,iBAAkB7O,GAAa,CAIhF,GAC2D,SAF1C,GAA6B+1B,EAAS6O,WAE1CpwB,kBAAkBC,0BAC1BiuG,GAA8B3sF,EAAS6O,WAC1C,CACE,MAAMp8E,EAAW,GAA6ButE,EAAS6O,WACjD2yF,EAAcljH,GAAU1Q,GACxB6zH,EAAgBnjH,GAAU0hB,EAAS/zB,WAEzC,IAAIz1G,EAGIA,EAFJwpI,EAAS94C,UACLiuB,EACU0G,GAAUv4F,WAAWu/F,6BAA6BvnH,OAAO,CAC/DsyG,QAAS4zH,EACTv1H,UAAWw1H,EACXtsH,eACAjuB,UAAW84C,EAAS94C,YAGd20B,GAAUv4F,WAAWs/F,qBAAqBtnH,OAAO,CACvDsyG,QAAS4zH,EACTv1H,UAAWw1H,EACXv6I,UAAW84C,EAAS94C,YAIxBiuB,EACU0G,GAAUv4F,WAAWq/F,wBAAwBrnH,OAAO,CAC1DsyG,QAAS4zH,EACTv1H,UAAWw1H,EACXtsH,iBAGM0G,GAAUv4F,WAAWo/F,gBAAgBpnH,OAAO,CAClDsyG,QAAS4zH,EACTv1H,UAAWw1H,IAQnBJ,IACA5nH,EAAO4nH,GAGX7iH,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACfloH,EAAU0jH,GAAiBT,GAC3BumB,EAAS6O,WAIjB,MAAO,CAAE7uC,cAAc,EAAOs5F,oBAGlC,IAAK6nC,EAAkB,CACnB,MAAMO,EAAiB9sI,GAAcgZ,GAC/Bn7C,EAAW,GAA6ButE,EAAS6O,WAEjD8yF,EAAkB,KACpB,MAAM9lC,EAAe,IAAIljF,GAYzB,OAXIqnB,EAAS94C,WACT20G,EAAahjF,YACR1D,EACK0G,GAAUlD,mBAAmBsnB,mBAAmB3kI,OAAO,CACnD4rF,UAAW84C,EAAS94C,UACpBiuB,iBAEJ0G,GAAUlD,mBAAmBqnB,WAAW1kI,OAAO,CAAE4rF,UAAW84C,EAAS94C,aACvE20G,EAAa5iF,aAGlB4iF,GAKX,GAC6D,SAAzDppI,EAASgsD,kBAAkBwwC,4BAC1Bv/D,GAAMswC,EAAS/zB,aACfqtF,EAED,GAAI3pG,GAAU+xI,GAAiB,CAC3B,MAAM7lC,EAAe8lC,IACrBnjH,GACI/rD,EAASgsD,kBAAkBwwC,0BAC3BtoD,GAAesoD,0BACfpzC,GAAUv4F,WAAWggG,iBAAmBu4E,EAAa5iF,YACrD+mB,EAAS6O,gBAEV,GAAInhC,GAAgBg0H,GAAqD,GAAO,CACnF,IAAIE,GAAyB,EAsB7B,GAjBIzxI,GAAoBuxI,KACpBE,GAAyB,GAMzBl0H,GAAgBsyB,EAAS/zB,aACzB21H,GAAyB,GAKzBxxI,GAAgBsxI,IAAmBA,EAAe9rI,mBAClDgsI,GAAyB,IAGxBA,EAAwB,CACzB,MAAM/lC,EAAe8lC,IACrB9lC,EAAahjF,WACTgD,GAAUlD,mBAAmBynB,eAAe9kI,OAAO,CAC/CrS,KAAMq1H,GAAUojH,GAAsC,MAG9DljH,GACI/rD,EAASgsD,kBAAkBwwC,0BAC3BtoD,GAAesoD,0BACfpzC,GAAUv4F,WAAW+/F,0BAA4Bw4E,EAAa5iF,YAC9D+mB,EAAS6O,aAO7B,MAAO,CAAE7uC,eAAcs5F,oBAmL3B,SAAS8iC,GAAgBzqK,GACrB,GAAsB,KAAlBA,EAAKjB,SAAqC,CAC1C,GAAuB,KAAnBiB,EAAKumB,UACL,OAAO,EACJ,GAAuB,KAAnBvmB,EAAKumB,UACZ,OAAO,EAKf,OADAwnC,GAAS7D,GAAUv4F,WAAW+lG,sBAAuB13D,IAC9C,EA2HX,SAAS6pK,GAAc3sF,EAA2Bj3D,GAC9C,MAAMnlB,EAAW,GAA6Bo8E,GAC9C,IAAIl1D,EAAY,IAChB,GAAI/B,EAAQ3yF,QAAU,EAAG,CACrB,MAAMyyN,EAAU9/H,EAAQ,GACS,IAA7B8/H,EAAQ7mJ,kBACJ6mJ,EAAQ3mJ,iBAAwD,KAArC2mJ,EAAQ3mJ,gBAAgBL,WACnDipB,EAAY+9H,EAAQ3mJ,gBAAgBI,QAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,KAKjF,GAAImyF,EAAQ3yF,QAAU,EAAG,CACrB,MAAMu2G,EAAYm7H,GAAgC/+I,EAAQ,IAAI3uF,KAE9D,GAAIknG,GAAoBqL,GAAY,CAC5B3M,GAAU+L,gBAAgBY,GAC1BkkB,GAAS7D,GAAUv4F,WAAWquG,uBAAwB/5C,EAAQ,GAAGjmB,MAAQk9E,QACvC9lJ,IAA3ByyG,EAAU7F,cACjB+pB,GAAS7D,GAAUv4F,WAAWmuG,iBAAkB75C,EAAQ,GAAGjmB,MAAQk9E,GAGvE,MAAM5jC,GACwB,EAA1BzP,EAAUhL,QAAQr9B,MAChB+kC,EAAYrJ,GAAU6J,mBACxB/e,EACA,GAAgCk1D,EAAWp8E,EAASwC,WAAY0kB,GAChElnB,EAASwC,WACTxC,EAAS3M,SACTmlD,EACA,GAA+B4jC,QACP9lJ,EACxByyG,EAAUhL,QAAQmI,oBAEtBT,EAAU1H,QAAQgI,YAAYlzG,KAAKk2G,GACnC0T,GAAwBhX,GAGxB,MAAM8jB,EAAWltB,GAAakN,eAAe,WAAY,GAAI,GAAI,IACjElN,GAAa6O,aAAaqe,EAAU,CAChCzzD,SAAU,EACVjyD,KAAM,OACNrN,KAAM4lG,GAAUgK,gBAAgBX,GAChC+E,iBAAiB,IAErBnO,GAAa6O,aAAaqe,EAAU,CAChCzzD,SAAU,EACVjyD,KAAM,KACNrN,KAAM4lG,GAAUgK,gBAAgB2C,GAChCyB,iBAAiB,IAErB+e,EAASxrB,QAAQ2C,mBAAqBnE,GAASgN,iBAC/C9D,EAAU1H,QAAQiE,OAAOrlG,IAAI,WAAY,kBAAsB,EAAyB4sH,IAGxF,MAAMhnB,EAAUlG,GAAakN,eACzB,UACA,GACA,GACA,IAWJ,OATAlN,GAAa6O,aAAa3I,EAAS,CAC/BzsC,SAAU,EACVjyD,KAAM,MACNrN,KAAMivG,EACN+E,iBAAiB,IAErBnO,GAAa0O,qBAAqBxI,GAClCA,EAAQxE,QAAQ2C,mBAAqBtE,GAAUgK,gBAAgBX,GAC/DA,EAAU1H,QAAQiE,OAAOrlG,IAAI,UAAW,kBAAsB,EAAyB4lG,IAChFkD,EACCtI,GAAe4L,IACvBkkB,GAAS7D,GAAUv4F,WAAWouG,mBAAoB95C,EAAQ,GAAGjmB,MAAQk9E,IAyLjF,SAASgzF,GAAmCC,GACxC,SAAInkB,GAAkBmkB,KAAOnkB,GAAkBmkB,GAAI,OAI/ClkB,GAAmBkkB,GAO3B,SAASzc,GACL1zJ,EACAq4I,EACA72I,GAEA,MAAMxC,EAAiBgB,EAAKhB,eAC5B,IAAIqmB,EAAkBrlB,EAAKqlB,gBACvB/pD,GAAe,EAKf40M,GAAmClwK,EAAKmlB,WAEP,IAA7BE,EAAgBtmB,WACfsmB,EAAgByJ,eACjBohJ,GAAmC7qJ,EAAgBF,YAGnDuuI,GAA2BruI,EAAiBgzH,EAAc72I,GAG1D6jB,EAAkBA,EAAgBrmB,gBAO1C,IAMIoxK,EANAC,EACkB,KAAlBrwK,EAAKmlB,UAAkD,KAAlBnlB,EAAKmlB,SAAgCkzH,OAAejhN,EAOvE,KAAlB4oE,EAAKmlB,UACLkzH,GACA55G,GAAgB45G,IAChBn7G,GAAUqH,UAAU8zG,EAAc,SAClCA,EAAa33G,eACb23G,EAAa33G,cAAcptG,QAAU,GACJ,KAAjC0sE,EAAKhB,eAAeD,WAEpBqxK,EAA0B/3B,GAG9B,MAAMi4B,EAAiBpiH,EACnBlvD,EACAqxK,GAAuBD,EACvB5uK,GAEJ,IAAIy/E,EAAWqvF,EAAeh5O,KAEzB+4O,IACqB,KAAlBrwK,EAAKmlB,UAAkD,KAAlBnlB,EAAKmlB,UAIjB,IAAlBnlB,EAAKmlB,UAAmE,KAAlCnlB,EAAKqlB,gBAAgBtmB,UAIzC,IAAlBiB,EAAKmlB,YALZkrJ,EAAsBpvF,GAY9B,MAAMsvF,EAAkBriH,EAAoB7oC,EAAiBgrJ,EAAqB7uK,GAClF,IAAIo8H,EAAY2yC,EAAgBj5O,KAQhC,IANIg5O,EAAeh1M,cAAgBi1M,EAAgBj1M,gBAC/CA,GAAe,GAMG,IAAlB0kC,EAAKmlB,WACJqrJ,GAA8BvvF,EAAU,YACxCuvF,GAA8B5yC,EAAW,WAC5C,CACE,IAAI6yC,EAAoB7yC,EASxB,IARKhgG,GAAeqjD,IAAarjD,GAAeggG,IAAc9gG,GAASvmG,WAAWqnM,KAK9E6yC,EAAoBpzI,GAASkQ,cjDnmUtC,SAAyBpP,GAC5B,IAAIgM,EAAY,EAEhB,IAAK,MAAM/L,KAAWD,EAClBgM,GAAa/L,EAAQ58B,MAOzB,OAAgD,IAA5B,EAAZ2oC,IAAkF,IAAxB,EAAZA,GiD2lU1CumI,CAAgB,CAACzvF,EAAUwvF,IAAqB,CAChD,MAAM3vK,EAAW,GAA6Bd,GAE1Cc,EAASoM,YAC2C,IAA3C,EAAR1L,IACDV,EAASqwH,qBAAqB97G,eAAiB3gB,GAAcE,OAIxDqpC,GAAegjD,IAChBlzB,GAAS7D,GAAUv4F,WAAW+5G,qBAAsB1rE,EAAMA,EAAKklB,eAIvE,MAAMyrJ,EAAWrtI,GAAa,CAAC29C,EAAUwvF,IAKzC,OAJIvyI,GAAQyyI,IACR7zI,GAASoI,eAAeyrI,GAGrB,CACHr5O,KAAMq5O,EACN3wK,SAMZ,IAAI4wK,GAAqB,OACiBx5O,IAAtC60N,GAAmBjsJ,EAAKmlB,YAEF,KAAlBnlB,EAAKmlB,UAAsD,KAAlBnlB,EAAKmlB,SAC9C87D,EAAW/9C,GAAoB+9C,GAE/B2vF,EAAqBz6H,GAAe8qC,GAIlB,KAAlBjhF,EAAKmlB,UAAsD,KAAlBnlB,EAAKmlB,WAC9Cy4G,EAAY16F,GAAoB06F,KAIxC,MAAM91E,EAAO,IAAId,GAKX6pH,GAAwBP,EAAeh1M,eAAiBi1M,EAAgBj1M,aAC9E,IAAIhkC,EAAOw5O,GACP9wK,EAAKmlB,SACL87D,EACA28C,EACA59H,EACAq4I,EACAvwF,EACA+oH,GAGJ,IAAK/oH,EAAKlpG,YAActnB,EAAM,CAC1B,IAAKgkC,EAAc,CACf,MAAMwlC,EAAW,GAA6Bd,GAE1C4wK,GAAoD,IAA9B9oH,EAAKF,cAAct0H,OAKzCu5H,GACI,GAA6B7sD,GAAM8sD,kBAAkBwvC,sBACrDtnD,GAAesnD,sBACfpyC,GAAUv4F,WAAW2uG,eAAe32H,OAAO,CACvCw7E,SAAU,GAA6BnlB,EAAKmlB,YAEhDnlB,EAAKhB,gBAGT6tD,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWg4G,+BAA+BhgI,OAAO,CACvDw7E,SAAU,GAA6BnlB,EAAKmlB,UAC5C87D,SAAUt0B,GAAUs0B,GACpB28C,UAAWjxE,GAAUixE,KACpBr1E,GAAiBT,GACtB9nD,GAKZ1oE,EAAO0lG,GAAYvyF,SAGvB,MAAO,CAAEnT,OAAM0oE,OAAM1kC,gBAGzB,SAASk1M,GAA8Bl5O,EAAY6/M,GAC/C,IAAK34G,GAAoBlnG,GACrB,OAAO,EAGX,MAAMskH,EAAYtkH,EAAKunG,QAAQmI,mBAC/B,IAAK4U,IAAcpd,GAAoBod,GACnC,OAAO,EAGX,GAAI1e,GAAUqH,UAAUqX,EAAW,QAC/B,OAAO,EAGX,MAAM60C,EAAat3C,GAAkByC,EAAWu7F,GAChD,SAAK1mD,GAIDjyD,GAAoBiyD,EAAWlqD,YAAcrJ,GAAUqH,UAAUksD,EAAWlqD,UAAW,SAO/F,SAASotH,GAA+B3zJ,EAA+Bq4I,GACnE,MAAM/oH,EAA8D,CAChE,EAAyB,CAAC,WAAY,GACtC,GAA8B,CAAC,WAAY,IAC3C,GAA8B,CAAC,WAAY,IAC3C,GAAiC,CAAC,gBAAiB,IACnD,GAA4B,CAAC,eAAgB,IAC7C,GAAyB,CAAC,WAAY,IACtC,GAA2B,CAAC,WAAY,IACxC,GAAoC,CAAC,cAAe,IACpD,EAAgC,CAAC,WAAY,GAC7C,EAA+B,CAAC,UAAW,GAC3C,EAAgC,CAAC,WAAY,GAC7C,GAA+B,CAAC,cAAe,IAC/C,GAAgC,CAAC,cAAe,KAGpD,IAAIh4F,EACJ,MAAMwwH,EAAO,IAAId,GAEXspH,EAAiBpiH,EAAoBluD,EAAKhB,gBAC1CiiF,EAAWqvF,EAAeh5O,KAEhC,IAAI+4O,EACkB,IAAlBrwK,EAAKmlB,WAGLkrJ,EAAsBpvF,GAG1B,MAAMsvF,EAAkBriH,EAAoBluD,EAAKqlB,gBAAiBgrJ,GAC5DzyC,EAAY2yC,EAAgBj5O,KAC5BgkC,IAAiBi1M,EAAgBj1M,gBAAkBg1M,EAAeh1M,aAExE,OAAIqiE,GAAQsjD,IAAatjD,GAAQigG,GACtB,CAAE59H,OAAM1oE,KAAMgmG,GAAUsG,cAAetoE,iBAGlDhkC,EAAO2lM,GACHh8C,OACsB7pJ,GACtB,CAAC25O,EAAqBC,IACX/zC,GACHW,EACAnnF,GAAiBs6H,IACjB,CAACE,EAAsBC,KACnB,GAAIjzI,GAAe+yI,IAA0B/yI,GAAeizI,GAExD,OAAIlzI,GAAUgzI,IAA0BhzI,GAAUkzI,GACvCl0I,GAAYvyF,SAEZ8yF,GAAQ9yF,SAIvB,MAAM03N,EAAkB7yI,EAAYtvB,EAAKmlB,UAAU,GACnD,IAAIuc,EAAa8kG,GACbwqC,EACA,CAACE,GACD/O,EACAniK,EACAq4I,GAyBJ,GAtBK32G,GAAcsvI,IAA0BD,IAEzCrvI,EAAa8kG,GACTuqC,EACA,CAACG,GACD/O,EACAniK,EACAq4I,IAIH32G,GAAcwvI,IAA2BD,IAE1CvvI,EAAa8kG,GACTuqC,EACA,CAACE,GACD9O,EACAniK,EACAq4I,KAIH32G,EAAY,CAGb,MAAMyvI,EAAiB7hJ,EAAYtvB,EAAKmlB,UAAU,GAK5C0rJ,GAAwBP,EAAeh1M,eAAiBi1M,EAAgBj1M,aAE9EomE,EAAaovI,GACTK,EACAH,EACAE,EACAlxK,EACAq4I,EACAvwF,EACA+oH,GAIR,OAAOnvI,OAQlBomB,EAAKlpG,WAActnB,IAAQqmG,GAAQrmG,KAC/BgkC,GAEDuxF,GADiB,GAA6B7sD,GAEjC8sD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWg4G,+BAA+BhgI,OAAO,CACvDw7E,SAAU,GAA6BnlB,EAAKmlB,UAC5C87D,SAAUt0B,GAAUs0B,GACpB28C,UAAWjxE,GAAUixE,KACpBr1E,GAAiBT,GACtB9nD,GAIR1oE,EAAO0lG,GAAYvyF,UAGhB,CAAEu1D,OAAM1oE,OAAMgkC,iBAGzB,SAASw1M,GACL3rJ,EACA87D,EACA28C,EACA1gD,EACAm7D,EACAvwF,EACA+oH,GAEA,IAAIv5O,EACA85O,EAAmBlwF,GAA6BD,GAEpD,QAAqC7pJ,IAAjC60N,GAAmB9mI,GAAyB,CAG5C,GAAiB,KAAbA,EAA+B,CAG/B,IAAK47G,EAAYqwC,GACb,OAAOnwF,EAKX,IAAKggD,EAAWmwC,GACZ,OAAOxzC,EAGXwzC,EAAmBlwC,EAAyBkwC,QACzC,GAAiB,KAAbjsJ,EAA8B,CAGrC,IAAK87G,EAAWmwC,GACZ,OAAOnwF,EAKX,IAAK8/C,EAAYqwC,GACb,OAAOxzC,EAGXwzC,EAAmBpwC,EAAwBowC,GAG/C,GAAIzzI,GAAQsjD,IAAatjD,GAAQigG,GAC7B,OAAOtgG,GAAUsG,cAKJ,KAAbze,GAA6C,KAAbA,GAChC7tF,EAAO2lM,GACHW,OACsBxmM,GACtB,CAAC65O,EAAsBC,IACZj0C,GACHm0C,EACA36H,GAAiBw6H,IAChBhkC,IACG,GAAIhvG,GAAegvG,IAAgBhvG,GAAeizI,GAE9C,OAAIlzI,GAAUivG,IAAgBjvG,GAAUkzI,GAC7Bl0I,GAAYvyF,SAEZ8yF,GAAQ9yF,SAIvB,IAAIi3F,EAAa8kG,GACbyqC,EACA,CAAChkC,GACD,eACA/vD,OACmB9lJ,GAGvB,IAAKsqG,EAAY,CAGb,MAAM2vI,EAAezlC,GACjBqlC,GACc,OACE75O,GAGhBi6O,GAAgB5jH,GAAc4jH,EAAcpkC,KAC5CvrG,EAAamhG,GAAiB3lD,EAAW,SAcjD,OAVKx7C,GACDomB,EAAKZ,WACDgD,GAAUv4F,WAAWg4G,+BAA+BhgI,OAAO,CACvDw7E,SAAU,GAA6BA,GACvC87D,SAAUt0B,GAAUsgF,GACpBrP,UAAWjxE,GAAUskH,MAK1BvvI,OAOnBpqG,IAASqmG,GAAQrmG,KACjBA,EAAOurM,GAAiB3lD,EAAW,UAGvC5lJ,EAAO2lM,GACHm0C,OACsBh6O,GACtB,CAAC25O,EAAqBC,IACX/zC,GACHW,EACAnnF,GAAiBs6H,IACjB,CAACE,EAAsBC,IAEF,KAAb/rJ,GAA8C,KAAbA,EAC1Bme,GAAa,CAAC0tI,EAAuBE,IAGzCruC,GAAiB3lD,EAAW,iBAMpD,GAAI8uE,GAAkB7mI,GAAW,CACpC,GAAIwY,GAAQsjD,IAAatjD,GAAQigG,GAC7B,OAAOtgG,GAAUsG,cAMrB,GAAIitI,EAAsB,CACtB,MAAMS,EAAuB15H,GAAwBqpC,GACrD,GAAIqwF,IAAyB76H,GAAiBwqC,GAAW,CACrD,MAGMswF,EAA6B,GAEnC,GACID,IAN0B15H,GAAwBgmF,KAOjDnnF,GAAiBmnF,IAClB7lF,GAAqBkpC,GAAYlpC,GAAqB6lF,GAAa2zC,EAEnE,GAA6B,QAAzBD,GAA2D,UAAzBA,EACjB,IAAbnsJ,IACA7tF,EAAO8+G,GAAY6qC,GAAWgsD,GACnB72F,GAAYwnF,GAAYuP,IAC3B,MAAMqkC,EAAmBvkC,EACnBwkC,EAAoBtkC,EAE1B,OAAOjwG,GAAUyH,iBACb6sI,EACEA,EAAiBxtI,aACfytI,EAAkBztI,yBAKnC,GAA6B,QAAzBstI,IAEU,IAAbnsJ,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACF,CACE,IAAIusJ,GAAgB,EAEpBp6O,EAAO8+G,GAAY6qC,GAAWgsD,GACnB72F,GAAYwnF,GAAYuP,IAC3B,IACI,MAAMqkC,EAAmBvkC,EACnBwkC,EAAoBtkC,EACpBwkC,EAAmBtyO,OACrBmyO,EAAiBxtI,cAEf4tI,EAAoBvyO,OACtBoyO,EAAkBztI,cAGtB,IAAIx8C,EAiBJ,OAhBiB,IAAb29B,EACA39B,EAAWmqL,EAAmBC,EACV,KAAbzsJ,EACP39B,EAAWmqL,EAAmBC,EACV,KAAbzsJ,EACP39B,EAAWmqL,EAAmBC,EACV,KAAbzsJ,EACHysJ,IAAsBvyO,OAAO,KAC7BmoD,EAAWmqL,EAAmBC,GAEd,KAAbzsJ,GACHysJ,IAAsBvyO,OAAO,KAC7BmoD,EAAWmqL,EAAmBC,QAIrBx6O,IAAbowD,GAG2B,iBAAbA,GAAyBvgD,MAAMugD,QAF7CkqL,GAAgB,IAQZlqL,IAAanoD,OAAOpF,OAAOutD,MAC3BA,EAAWvtD,OAAOutD,IAGf01C,GAAUyH,iBAAiB6sI,EAAkBhqL,IAE1D,MAEE,YADAkqL,GAAgB,SAMvBA,IACDp6O,OAAOF,KAQ1BE,IACDA,EAAO2lM,GACHh8C,OACsB7pJ,GACtB,CAAC25O,EAAqBC,IACX/zC,GACHW,EACAnnF,GAAiBs6H,IACjB,CAACE,EAAsBC,KACnB,GAAIjzI,GAAe+yI,IAA0B/yI,GAAeizI,GAExD,OAAIlzI,GAAUgzI,IAA0BhzI,GAAUkzI,GACvCl0I,GAAYvyF,SAEZ8yF,GAAQ9yF,SAKvB,GACiB,IAAb06E,GACAsZ,GAAgBsyI,IAChBtnI,GAAasnI,IACbA,EAAoB1wI,qBACnB6X,GAAsB64H,IACvBtyI,GAAgBwyI,IAChBxnI,GAAawnI,IACbA,EAAqB5wI,qBACpB6X,GAAsB+4H,IACvBhtC,GACAzlG,GAAoBylG,GAEpB,OAAO/mG,GAAUgK,gBACbqV,GAAqB0nF,EAAgB,IAC9B8sC,EAAoB1wI,sBACpB4wI,EAAqB5wI,sBAKpC,MAAM8hI,EAAkBnW,GAAkB7mI,GAAU,GACpD,IAAI4/G,EAAayB,GACbqrC,GAAwBb,GACxB,CAACE,GACD/O,EACAjlF,EACAm7D,GAyBJ,GAtBKtT,GAAcisC,IAA0BD,IAEzChsC,EAAayB,GACTqrC,GAAwBd,GACxB,CAACG,GACD/O,EACAjlF,EACAm7D,IAIHtT,GAAcmsC,IAA2BD,IAE1ClsC,EAAayB,GACTqrC,GAAwBd,GACxB,CAACE,GACD9O,EACAjlF,EACAm7D,KAIHtT,EAAY,CAEb,MAAM+sC,EAAqB9lB,GAAkB7mI,GAAU,GACvD4/G,EAAayB,GACTqrC,GAAwBX,GACxB,CAACF,GACDc,EACA50F,EACAm7D,GAGCtT,GAAcmsC,IAA2BD,IAE1ClsC,EAAayB,GACTqrC,GAAwBZ,GACxB,CAACD,GACDc,EACA50F,EACAm7D,IAIHtT,GAAcisC,IAA0BD,IAEzChsC,EAAayB,GACTqrC,GAAwBZ,GACxB,CAACF,GACDe,EACA50F,EACAm7D,IAyBZ,OApBKtT,IACGsT,EACAvwF,EAAKZ,WACDgD,GAAUv4F,WAAWi4G,4CAA4CjgI,OAAO,CACpEw7E,SAAU,GAA6BA,GACvC87D,SAAUt0B,GAAUokH,GACpBnzC,UAAWjxE,GAAUskH,GACrB54B,aAAc1rF,GAAU0rF,MAIhCvwF,EAAKZ,WACDgD,GAAUv4F,WAAWg4G,+BAA+BhgI,OAAO,CACvDw7E,SAAU,GAA6BA,GACvC87D,SAAUt0B,GAAUokH,GACpBnzC,UAAWjxE,GAAUskH,OAK9BlsC,QAQ/B,OAAOztM,GAAQqmG,GAAQrmG,QAAQF,EAAYE,EAG/C,SAASkvM,GACLmkB,EACAj7M,EACAyyN,EACAjlF,EACAm7D,GAEA,IAAI05B,GAAuB,EAG3B,MAAMC,EAAiB5zI,I,QACnB,IAAI6zI,EACJ,MAAMzzC,EAAkBt9C,GAA6B9iD,GAuBrD,GArBIK,GAAgB+/F,GAChByzC,EAQC,QARiB,EAAAlrC,GACd7pD,EACAshD,EACA2jC,OACY/qO,OACDA,EAAS,GAEpBgnG,UACH,eAAE9mG,KACIknG,GAAoBggG,KAC3ByzC,EAOC,QAPiB,EAAAzZ,GACdt7E,EACAshD,EACA2jC,OACY/qO,OACDA,EACX,WACH,eAAEE,MAGH26O,EAAiB,CACjB,MAAMC,EAAexiO,EAAK0M,KAAK7mB,IACpB,CACH2pE,iBAAkB,EAClB5nE,KAAM/B,MAId,IAAIkqO,EAiBJ,OAfAl5B,GAAmBrpD,GAAW,KAC1BuiF,EAAavH,GACTh7E,EACAg1F,EACAD,OACiB76O,GACS,EAC1BihN,MAIJonB,EAAYC,iBACZqS,GAAuB,GAGpBtS,EAAY/9H,WAGvBqwI,GAAuB,GAIrBrwI,EAAa0U,GAAYu0G,GAAUvsH,IACrC,GAAIH,GAAeG,GACf,OAAOA,EAGX,GAAIK,GAAgBL,IAAYI,GAAoBJ,IAAYO,GAAUP,GACtE,OAAO4zI,EAAc5zI,GAClB,GAAIR,GAAeQ,GAAU,CAGhC,MAAMnnG,EAAM4rM,GAAiB3lD,EAAW,UACxC,GAAIz+C,GAAgBxnG,GAChB,OAAO+6O,EAAc/6O,GAI7B86O,GAAuB,KAI3B,GAAKA,EAIL,OAAOrwI,EAMX,SAASmwI,GAAwBv6O,GAC7B,OAAI8nG,GAAW9nG,IAAS+nG,GAAqB/nG,KACrCgvG,EACOA,EAIRhvG,EA0CX,SAAS09N,GACLh1J,EACAq4I,EACA85B,GAIA,IAAK1zI,GAFL45G,EAAexhG,GAAoCwhG,IAG/C,OAGJ,MAAMxQ,EAAmB,GACnBC,EAAqB,GAC3B,IAAIxsK,GAAe,EAGnB,GAAI4hE,GAAU0L,iBAAiByvG,GAAe,CAmB1C,GAdI+5B,GACIpyK,EACA6nI,EACAC,GAC2B,OACL1wM,OACEA,EAVCkzH,GAA4BivG,GAAoBlhB,GAYzE85B,KAGJ72M,GAAe,GAGf4hE,GAAU0L,iBAAiByvG,GAAe,CAC1C,MAAMg6B,E5CxsVf,SACHjoH,EACA7jB,EACAshG,EACAC,EACAoC,GAEA9/I,EAAOq0C,GAAgB8H,IACvBn8C,EAAO8yC,GAAU0L,iBAAiBrC,IAClCn8C,EAAOy9I,EAASv0M,SAAWw0M,EAAWx0M,QAEtC,IAAIg/O,GAAU,EACd,MAAM7qI,EAAkB,IAAIrxF,IAEtB0iG,EAAYwR,GAA4BF,EAAW7jB,GA+CzD,GA7CAshG,EAASjqL,SAAQ,CAACitG,EAASpoG,KACvB,GAAKg8E,GAAgBosB,IAAa3tB,GAAUqH,UAAUsmB,EAAS,QAAWtT,GAAcsT,GAEjF,CACH,MAAM0nH,EAAW1nH,EAAQ7mB,aACnBwuI,EAAc15H,EAAUj8G,IAAI01O,GAE7BC,GAaIpoH,EAAUqD,cAAc+kH,EAAYnzL,UAAWyoJ,EAAWrlL,MACvDynL,GACAA,EAAahjF,WACTgD,GAAUlD,mBAAmBmsB,6BAA6BxpI,OAAO,CAC7DhF,KAAMkmH,EAAQ7mB,aACd1sG,KAAM8yH,EAAUuC,UAAUm7E,EAAWrlL,OAIjD6vN,GAAU,GAGTE,EAAYv8H,YACbxO,EAAgBhqG,IAAI80O,EAAU,CAC1BlzL,UAAWyoJ,EAAWrlL,GACtBwzF,YAAY,EACZ+W,YAAY,IAIpBwlH,EAAYxlH,YAAa,IA/BzBslH,GAAU,EACNpoC,GACAA,EAAahjF,WACTgD,GAAUlD,mBAAmBosB,0BAA0BzpI,OAAO,CAC1DhF,KAAMkmH,EAAQ7mB,aACd1sG,KAAM8yH,EAAUuC,UAAUzvB,GAAUgK,gBAAgBX,aAZpE+rI,GAAU,KA2CbA,IAKLx5H,EAAUl7F,SAAQ,CAACm0C,EAAOptD,KAClBotD,EAAMkkD,aAAelkD,EAAMi7D,aACvBk9E,GACAA,EAAahjF,WACTgD,GAAUlD,mBAAmBuG,yBAAyB5jH,OAAO,CACzDhF,OACArN,KAAM8yH,EAAUuC,UAAUpmB,MAItC+rI,GAAU,MAIbA,GAIL,OAAgC,IAAzB7qI,EAAgB7vG,KACjB2uG,EACArJ,GAAUsK,iCAAiCjB,EAAWkB,G4CknVxBgrI,CACpBlZ,GACAlhB,EACAxQ,EACAC,EACAqqC,GAEJ,GAAIE,EACA,MAAO,CACH/6O,KAAM+6O,EACNryK,OACA1kC,gBAKZ,OAGJ,MAAMo3M,EAAc7vC,GAAiB7iI,EAAM,QAC3C,IAAKy+B,GAAgBi0I,GACjB,OAGJ,MAAMC,EAAiB,IAAIzgI,GAAWgF,GAAkBw7H,IACxD,IACKzwC,GACGywC,EACAr6B,EACAs6B,EACA1U,GAAwBj+J,IAG5B,OAGJ,MAAM4yK,EAAkB57H,GACpB9Z,GAAUmJ,oBAAoBqsI,GAC9BC,GAEJ,IAAKC,EAAgBlyI,eAA0D,IAAzCkyI,EAAgBlyI,cAAcptG,OAChE,OAGJ,MAAMu/O,EAAkBD,EAAgBlyI,cAAc,GAChDoyI,EAAoBF,EAAgBlyI,cAAc,GAIpD0xI,GACIpyK,EACA6nI,EACAC,GAC2B,EAC3B+qC,EACAC,OACA17O,EACA+6O,KAGJ72M,GAAe,GAMnB,MAAMy3M,EACFt0I,GAAgB45G,KACfn7G,GAAUqH,UAAU8zG,EAAc,SAAWn7G,GAAUqH,UAAU8zG,EAAc,mBAE9E26B,EAAqBC,GAA6BJ,EAAiBhrC,GAA6B,GAChGqrC,EAAuBD,GACzBH,EACAhrC,GACoBirC,GAExB,OAAKC,GAAuBE,EAKrB,CAAE57O,KADIurM,GAAiB7iI,EAAM,OAAQ,CAACgzK,EAAoBE,IAClDlzK,OAAM1kC,qBALrB,EAUJ,SAAS25L,GAA8Bj1J,EAAsB6zJ,GACzD,MAAMsf,EAAetf,EAAkBt2H,GAAQ9yF,SAAWuyF,GAAYvyF,SACtE,IAAIogH,EAAgBsoH,EAChB9zL,EAAkB8zL,EAElBtrC,EAAmB,GACnBC,EAAqB,GAErB7jG,GAAmB,EACnB3oE,GAAe,EAGf82M,GAAkCpyK,EAAM6nI,EAAUC,EAAuC+rB,KACzFv4L,GAAe,GAInBusK,EAAWA,EAASzrL,KAAKyoC,GAAM8xD,GAAkB9xD,KACjDijJ,EAAaA,EAAW1rL,KAAKyoC,GAAM8xD,GAAkB9xD,KAErDgmE,EAAUg9E,EAASv0M,OAAS,EAAIgwG,GAAaukG,GAAYsrC,EAOrDrrC,EAAWx0M,OAAS,EAEhB+rD,EADA,GAA6B2gB,GAAM8sD,kBAAkBmuC,2BAA6B44D,EACtEvwH,GAAawkG,GAEbpxF,GAAaoxF,GAAsC,GAAQA,EAAW,GAAKqrC,GAG3F9zL,EAAY8zL,EACZlvI,GAAmB,GAGvB,MAAM+jG,EAAYx9E,GAAexqD,EAAM,QAcvC,MAAO,CAAE1oE,KAbIknG,GAAoBwpG,GAC3B9qG,GAAUgK,gBACNhK,GAAUkK,uBACN4gG,EACA,CAACn9E,EAASxrE,IACmB,OACLjoD,OACCA,EACzB6sG,IAGRjH,GAAYvyF,SAEHu1D,OAAM1kC,gBAGzB,SAAS82M,GACLpyK,EACA6nI,EACAC,EACAsrC,EACAP,EACAC,EACAO,EACAlB,GAEA,IAAI72M,GAAe,EAoInB,OAjIA0kC,EAAK9+C,QAAQtD,SAAQ,CAAC01N,EAAW7wN,K,MAC7B,IAAI8wN,GAAa,EAEjB,GAA2B,KAAvBD,EAAUv0K,SAA+C,CACzD,MAAMy0K,EAAgBtlH,EAClBolH,EAAU1sJ,cACVisJ,UAAoBO,EAAuB91I,GAAUsG,mBAAgBxsG,GAErEo8O,EAAcl4M,eACdA,GAAe,GAGnB,IAUIm4M,EAVA5oH,EAAU2oH,EAAcl8O,KAC5B,GAAIu7O,EAAiB,CACjB,MAAMa,EAAqBxyF,GAA6B2xF,GACnD50I,GAAey1I,IACZjmH,GAAcimH,EAAoB7oH,KAClCA,EAAU6oH,GAclBD,EANAJ,GACA50I,GAAgBosB,IAChB3tB,GAAUqH,UAAUsmB,EAAS,QAC7BtT,GAAcsT,IACdwoH,EAAyB32N,IAAImuG,EAAQ7mB,cAEnBkqB,EACdolH,EAAUl0K,gBACVi0K,EAAyBx2O,IAAIguH,EAAQ7mB,cAAyB3kD,WAGhD6uE,EACdolH,EAAUl0K,gBACV0zK,UAAsBM,EAAuB91I,GAAUsG,mBAAgBxsG,GAI3E+6O,GAAwBsB,EAAgB1e,0BACxCod,EAAqB9qH,YAAYosH,EAAgB1e,0BAGrD,MAAM11K,EAAYo0L,EAAgBn8O,KAC9Bm8O,EAAgBn4M,eAChBA,GAAe,IAGf83M,GAAwB3wN,EA9iWR,MA+iWhBolL,EAASl0M,KAAKk3H,GACdi9E,EAAWn0M,KAAK0rD,IAEpBk0L,GAAa,OACV,GAA2B,KAAvBD,EAAUv0K,SAAkD,CACnE,MAAM40K,EAAuBzlH,EAAoBolH,EAAUzsJ,kBACvD8sJ,EAAqBr4M,eACrBA,GAAe,GAGnB,MAAMgmK,EAAiBqyC,EAAqBr8O,KAC5C,GAAI2mG,GAAeqjG,GACfiyC,GAAa,MACV,CACH,MAAMvF,EAAc5pC,GAAcpkI,EAAM,WACxC,GAAIguK,GAAexvI,GAAoBwvI,GAAc,CACjD,MAAME,EAAoB,IAAIh8H,GAAWgF,GAAkB82H,IAC3D,GACIvgH,GACIvwB,GAAUgK,gBAAgB8mI,GAC1B1sC,OACWlqM,EACX82O,GAEN,CACE,MACM1oI,EADqBwR,GAAoBg3H,EAAaE,GACxBxtI,cAChC8E,GAAYA,EAASlyG,QAAU,KAC3B8/O,GAAwB3wN,EA3kWxB,MA4kWAolL,EAASl0M,KAAK6xG,EAAS,IACvBsiG,EAAWn0M,KAAK6xG,EAAS,KAE7B+tI,GAAa,QAIjB1mH,GADiB,GAA6B7sD,GAEjC8sD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWmkG,yBACrBw9G,UAKb,GAA2B,KAAvBA,EAAUv0K,SAA8C,CAC/D,MAAM60K,EAAsB5f,GACxBsf,EACAR,EACAD,GAEEgB,EAAgBD,EAAoBt8O,KAM1C,GALIs8O,EAAoBt4M,eACpBA,GAAe,GAIfmjE,GAAgBo1I,IAAkBpqI,GAAaoqI,GAAgB,CAC/D,MAAMruI,EAA2C,QAAhC,EAAAquI,EAAcxzI,0BAAkB,eAAEjkF,KAAKyoC,GAAMA,EAAEvtD,OAC5DkuG,GAAgC,IAApBA,EAASlyG,UACjB8/O,GAAwB3wN,EA3mWhB,MA4mWRolL,EAASl0M,KAAK6xG,EAAS,IACvBsiG,EAAWn0M,KAAK6xG,EAAS,KAE7B+tI,GAAa,IAKrBA,IACIH,GAAwB3wN,EArnWR,MAsnWhBolL,EAASl0M,KAAKqpG,GAAYvyF,UAC1Bq9L,EAAWn0M,KAAKqpG,GAAYvyF,cAKjC6wB,EAsCX,SAASs4L,GAA6B5zJ,EAA0Bq4I,GAC5D,MAAMyb,EAAqC,KAAlB9zJ,EAAKjB,SAAkC,OAAS,MACzEs5I,EAAexhG,GAAoCwhG,GACnD,IAAI/8K,GAAe,EAEnB,IAAKmjE,GAAgB45G,GACjB,OAGJ,MAAMy7B,EAAmBjxC,GAAiB7iI,EAAM8zJ,GAChD,IAAKr1H,GAAgBq1I,GACjB,OAGJ,MAAMx7H,EAAa,IAAIpG,GAAWgF,GAAkB48H,IACpD,IACK7xC,GACG6xC,EACAz7B,EACA//F,EACA2lH,GAAwBj+J,IAG5B,OAGJ,MAAM+zK,EAAuB/8H,GACzB9Z,GAAUmJ,oBAAoBytI,GAC9Bx7H,GAEJ,IAAKy7H,EAAqBrzI,eAA+D,IAA9CqzI,EAAqBrzI,cAAcptG,OAC1E,OAGJ,MAAM0gP,EAAoBD,EAAqBrzI,cAAc,GAEvD0mG,EAAqB,GAC3BpnI,EAAK9+C,QAAQtD,SAASm0C,IAClB,IAAIgiK,EAEAA,EADmB,KAAnBhiK,EAAMgN,SACYi1J,GAAoCjiK,EAAOiiL,GAE3C9lH,EAAoBn8D,EAAOiiL,GAEjD5sC,EAAWzzM,KAAKogO,EAAgBz8N,MAC5By8N,EAAgBz4L,eAChBA,GAAe,MAIvB,MAAM24M,EACFx1I,GAAgB45G,IAAiBn7G,GAAUqH,UAAU8zG,EAAcyb,GACjEogB,EAAuBjB,GACzBe,EACA5sC,GACoB6sC,GAExB,OAAKC,EAKE,CAAE58O,KADIurM,GAAiB7iI,EAAM8zJ,EAAkB,CAACogB,IACxCl0K,OAAM1kC,qBALrB,EA4EJ,SAAS23M,GACL56B,EACAjR,EACA+sC,GAIA,MAAM5K,EAAgB7rI,GAAY2M,eAAe,aACjDk/H,EAAc1qI,QAAQyD,eAAgB,EACtCinI,EAAc1qI,QAAQY,UAAY44G,EAGlCkxB,EAAcnnI,QAAU,mBAExB,IAAIkW,EAAa,IAAIpG,GAAWzV,IAMhC,GALA6b,EAAW7F,eAAe82H,EAAe4K,OAAe/8O,EAAYihN,EAAcA,IAM9EjR,EAAWrgJ,MACN+8I,IACIr2E,GAAc87G,EAAe5yH,GAAkBmtF,QAAuB1sM,EAAWkhH,OAI1FA,EAAa,IAAIpG,GAAWzV,IAC5B6b,EAAW7F,eACP82H,EACA4K,OAAe/8O,EAAYihN,EAC3BA,GACoB,IAGpBjR,EAAWrgJ,MACN+8I,IAAer2E,GAAc87G,EAAgBzlC,OAAsB1sM,EAAWkhH,MAO3F,OAAOtB,GAAoBuyH,EAAejxH,GA0P9C,SAASujH,GACLp/B,EACA91E,EACAxoH,EACA7G,EACA4lJ,EACAk/E,GAGA,GAAkB,SAAd3/B,EACA,OAGJ,MAAMp3B,EAAYlnK,EAAOvI,MAKnBm6O,EAAiB9sI,GAAc3rG,GAErC,GAAI0mG,GAAU+xI,GACVljH,GAAc4vE,EAAW91E,EAAMuD,GAAUv4F,WAAWq4G,cAAcrgI,OAAO,CAAEhF,KAAM0gK,IAAcnoB,QAC5F,GAAInhC,GAAgBg0H,MAIlB3T,IAA0B39H,GAAgBnnG,KAAUA,EAAK2sG,kBAAkB,CAC5E,MAAMimG,EAAe,IAAIljF,GACzBkjF,EAAahjF,WACTgD,GAAUlD,mBAAmBysB,eAAe9pI,OAAO,CAC/ChF,KAAM0gK,EACN/tK,KAAMq1H,GAAUojH,GAAsC,MAG9DljH,GACI4vE,EACA91E,EACAuD,GAAUv4F,WAAWo4G,uBAAuBpgI,OAAO,CAAEhF,KAAM0gK,IAAe6kC,EAAa5iF,YACvF41B,IAMhB,SAASk3F,GAA+Bp0K,GACpC,IAAI1kC,GAAe,EAEnB,GAAsB,KAAlB0kC,EAAKjB,SAAiD,CACtD,MAAMs1K,EAAqBnmH,EAAoBluD,EAAK4jB,oBAChDywJ,EAAmB/4M,eACnBA,GAAe,GAEnB,MACMshE,EACFgvG,GAFiBj1F,GAAkB09H,EAAmB/8O,QAElB0oE,EAAKkvB,QAASlvB,EAAK4jB,qBAAuBoZ,GAAYvyF,SAG9Fm9L,GADmB5nI,EAAK2jB,iBACWiZ,IAAYy3I,EAAmB/4M,aAAc0kC,EAAK4jB,yBAErFx5B,EAAyB,KAAlB4V,EAAKjB,UAKP8tJ,EAAuB/H,cAAc9kJ,EAAKqjB,iBAC3C6qC,EAAoBluD,EAAKqjB,gBAIjC,OAAO/nD,EAKX,SAAS04L,GACLh0J,EACAs0K,EACAzB,GAEA,IAAIv3M,GAAe,EAGnB,IAAK,MAAMi5M,KAAav0K,EAAKkmB,WACrBkuJ,GAA+BG,KAC/Bj5M,GAAe,GAIvB,IAAIhkC,EAAa0lG,GAAYvyF,SAC7B,GAAiC,KAA7Bu1D,EAAK3V,WAAW0U,SAA+C,CAE/D,MAAMy0K,EAAgBtlH,EAAoBluD,EAAK3V,WAAWu8B,cAAeisJ,GACrEW,EAAcl4M,eACdA,GAAe,GAEnB,IAAIuvF,EAAU2oH,EAAcl8O,KACvBu7O,GAAoBp7H,GAAoBo7H,KACzChoH,EAAUlU,GAAkBkU,IAGhC,MAAM4oH,EAAkBvlH,EAAoBluD,EAAK3V,WAAW+U,gBAAiBk1K,GACzEb,EAAgBn4M,eAChBA,GAAe,GAEnB,IAAI+jB,EAAYo0L,EAAgBn8O,KAC3Bg9O,GAA+B78H,GAAoB68H,KACpDj1L,EAAYs3D,GAAkBt3D,IAGlC/nD,EAAO66N,GAAgB,CAACtnG,EAASxrE,SAC9B,GAAiC,KAA7B2gB,EAAK3V,WAAW0U,SAEvBmvD,EAAoBluD,EAAK3V,WAAWw8B,iBAAkBytJ,QACnD,GAAInxJ,GAAiBnjB,GAAO,CAC/B,MAAMqzJ,EAAiBnlG,EAAoBluD,EAAK3V,WAA8BiqL,GAC1EjhB,EAAe/3L,eACfA,GAAe,GAEnBhkC,EAAO+7N,EAAe/7N,KAG1B,MAAO,CAAEA,OAAM0oE,OAAM1kC,gBAqBzB,SAASulM,GAAgBoO,EAAuBviO,GAC5C,GAAIuiO,EAAU5R,SAAU,CACpB,KAAK3wN,aAAO,EAAPA,EAAS8nO,kBAEV,OADAzmH,GAAS7D,GAAUv4F,WAAWq2G,wBAAyBinG,EAAUjvK,OAC1D,EAEPivK,EAAU5R,SAAUz/M,SAASk3F,IACzB+rH,GAAgB/rH,MAK5B,GAAIkD,GAAei3H,EAAU33O,SACpBoV,aAAO,EAAPA,EAAS8nO,kBAEV,OADAzmH,GAAS7D,GAAUv4F,WAAWmlG,kBAAmBm4G,EAAUjvK,OACpD,EAIf,GAAI0+B,GAASuwI,EAAU33O,MAEnB,OADAy2H,GAAS7D,GAAUv4F,WAAWstG,eAAgBgwG,EAAUjvK,OACjD,EAGX,GAAIm/B,GAAY8vI,EAAU33O,SACjBoV,aAAO,EAAPA,EAASkrN,gBAEV,OADA7pG,GAAS7D,GAAUv4F,WAAW8wG,mBAAoBwsG,EAAUjvK,OACrD,EAIf,GAAI4+B,GAAkBqwI,EAAU33O,QAAU23O,EAAU33O,KAAK03G,kBAAmB,CACxE,KAAKtiG,aAAO,EAAPA,EAASq0N,sBAEV,OADAhzG,GAAS7D,GAAUv4F,WAAWi5G,sBAAuBqkG,EAAUjvK,OACxD,EAEP4gK,GAAkCqO,EAAU33O,KAAM23O,EAAUjvK,MAIpE,QAAKtzD,aAAO,EAAPA,EAASo0N,kBAAmBmO,EAAU7c,uBACvCrkG,GAAS7D,GAAUv4F,WAAWy8G,4BAA6B6gG,EAAUjvK,OAC9D,KAGPi/B,GAAgBgwI,EAAU33O,SACrBoV,aAAO,EAAPA,EAASs0N,uBACVjzG,GAAS7D,GAAUv4F,WAAWu6G,4BAA6B+iG,EAAUjvK,MAC9D,IAsLnB,SAASgzJ,GAA8BhzJ,EAAiB4+H,EAAqBhpM,GACzE,MAAM0B,EAAOurM,GAAiB7iI,EAAM4+H,GACpC,OAAIngG,GAAgBnnG,GACT4lG,GAAUyH,iBAAiBrtG,EAAM1B,GAGrConG,GAAYvyF,SAGvB,SAASm3N,GAA6B5hK,EAAiB4+H,EAAqBhpM,GACxE,MAAM0B,EAAOkzH,GAAexqD,EAAM4+H,GAClC,OAAIpgG,GAAoBlnG,GACb4lG,GAAUyH,iBAAiBrtG,EAAM1B,GAGrConG,GAAYvyF,SAyZvB,SAASgqO,GACLluI,EACAf,EACAkvI,EACA9c,GAAiB,EACjBz1B,GAAa,GAEb,MAAMwyC,EAAmBz3I,GAAUuM,aAAalD,GAEhD,GAAIf,EACA,GAAImvI,GAAwC,IAApBnvI,EAASlyG,QAAgBkyG,EAAS,GAAG4sH,sBACzD5sH,EAAW,OACR,CACH,IAAIovI,GAAc,EAClB,MAAMC,EAAmB//H,IACjB8/H,IACKE,IACD/mH,GAAS7D,GAAUv4F,WAAW47G,0BAA2Bz4B,EAAQ90C,MACjE80K,GAAwB,IAGhCF,GAAc,GAElB,IAAIE,GAAwB,EAG5BtvI,EAAS5nF,SAAQ,CAACk3F,EAASryF,KACnBu1F,GAAelD,EAAQx9G,MAClBq9O,EAE2B,IAArBnvI,EAAUlyG,QAA0B,IAAVmvB,EACjCsrG,GAAS7D,GAAUv4F,WAAWolG,oBAAqBjiB,EAAQ90C,MAGvD2+B,GAAU6G,EAAU,GAAGluG,OACvBsnG,GAAkB4G,EAAU,GAAGluG,QAC9BkuG,EAAU,GAAGluG,KAAK03G,mBAEnB+e,GAAS7D,GAAUv4F,WAAWi5G,sBAAuBplC,EAAU,GAAGxlC,MATtE+tD,GAAS7D,GAAUv4F,WAAWmlG,kBAAmBhiB,EAAQ90C,MAYtDm/B,GAAY2V,EAAQx9G,OAASsgO,IAE7Bh5H,GAAkBkW,EAAQx9G,YAAwBF,IAAfs9O,GAC1CG,EAAgB//H,GAChB8rH,GAAkC9rH,EAAQx9G,KAAMw9G,EAAQ90C,YAClC5oE,IAAfs9O,GAA4Bx1I,GAAW4V,EAAQx9G,OACtDu9O,EAAgB//H,GAChB+rH,GAAgB/rH,EAAS,CAAEksH,qBAAqB,KAEhDH,GAAgB/rH,OAMhC,IAuBIpT,EAvBA8/H,EAAeh8H,EAAWA,EAASppF,KAAKyoC,GAAMkyD,GAAkBlyD,EAAEvtD,QAAS,GAG/E,QAAmBF,IAAfs9O,EACA,GAAIlvI,GAAYg8H,EAAaluO,OAASohP,EAClC3mH,GACI7D,GAAUv4F,WAAW02G,kBAAkB1+H,OAAO,CAC1ChF,KAAM4hG,EAAUE,WAAaF,EAAU1H,QAAQl6F,KAC/CovM,SAAU2gC,EACVnvO,SAAUi8N,EAAaluO,SAE3BkyG,EAASkvI,GAAY10K,MAEzBwhK,EAAeA,EAAatrO,MAAM,EAAGw+O,QAClC,GAAIlT,EAAaluO,OAASohP,EAE7B,KAAOlT,EAAaluO,OAASohP,GACzBlT,EAAa7tO,KAAKqpG,GAAYvyF,UAO1C,GAAIkqO,EAAkB,CAClB,MAAMI,EAAyC,GAG1CvvI,EAGDA,EAAS5nF,SAAQ,CAACk3F,EAASryF,KACT,IAAVA,GAAeu1F,GAAewpH,EAAa/+M,IACV,IAA7BsyN,EAAkBzhP,QAAiByhP,EAAkB,GAAGv0I,YAGxDutB,GAAS7D,GAAUv4F,WAAWolG,oBAAqBjiB,EAAQ90C,MAF3D+0K,EAAkB,GAAK,CAAEz9O,KAAMy9O,EAAkB,GAAGz9O,KAAMkpG,aAAa,GAIpEvB,GAAgB6V,EAAQx9G,OAASw9G,EAAQx9G,KAAK+oG,mBACrD00I,EAAkBphP,QAAQmhH,EAAQx9G,KAAK+oG,oBAEvC00I,EAAkBphP,KAAK,CAAE2D,KAAMkqO,EAAa/+M,GAAQ+9E,aAAa,OAZzEu0I,EAAkBphP,KAAK,CAAE2D,KAAM0lG,GAAYvyF,SAAU+1F,aAAa,IAiBtEkB,EAAa6a,GACThW,EACAwuI,OACa39O,IAAbouG,GACoB,QAGxB9D,EAAaxE,GAAUkK,uBAAuBb,EAAWi7H,OAA2BpqO,IAAbouG,GAO3E,OAJK28F,GACDrlG,GAASoI,eAAexD,GAGrBA,EA8GX,SAASszI,GAAkCh1K,EAAgBi1K,G,YAGvD,MAAMniC,EAAqB,GAAiC9yI,GAA2B,GACvF,GAAI8yI,EAAoB,CACpB,MAAMoiC,EAAgBvwH,GAAemuF,GAErC,GAAIoiC,GAAiBh4I,GAAU4L,YAAYosI,EAAc3uI,WAAY,CAQjE,IAAI4uI,EACsB,KAAV,QAAX,EAAAn1K,EAAKviC,cAAM,eAAEshC,WAAyCiB,EAAKviC,OAAOuhC,iBAAmBgB,GAChE,MAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,WACViB,EAAKviC,OAAO2hC,kBAAoBY,GACJ,KAAV,QAAlB,EAAAA,EAAKviC,OAAOA,cAAM,eAAEshC,WACvB,GAA6BiB,GAAMkN,YACX,MAAV,QAAX,EAAAlN,EAAKviC,cAAM,eAAEshC,WACbiB,EAAKviC,OAAO2hC,kBAAoBY,GxEpkarBr7D,EwEwkaIq7D,EAAKpqE,OxEvka5BtC,OAAS,GAAKqR,EAAKmpD,WAAW,MAAQnpD,EAAK4tD,SAAS,OwEwkahD4iL,GAAwB,GAIT,SAAfn1K,EAAKpqE,OAAmC,UAAfoqE,EAAKpqE,QAC9Bu/O,GAAwB,GAG5B,MAAM91L,EAAY41L,IAOlB,GAJIx2I,GAAgBp/C,IAAcA,EAAUw/C,QAAQiE,OAAOjmG,IAAI,aAC3Ds4O,GAAwB,GAGxBA,EACA,OAAOj4I,GAAUgK,gBACbhK,GAAUyH,iBACNuwI,EAAc3uI,UACd,IAAI7J,GAAYw4I,EAAc3uI,UAAU1H,QAAQl6F,KAAMq7D,EAAKpqE,MAAOypD,MxE5lavF,IAA4B16C,EwEsma/B,SAASywO,GAA0B99O,EAAYqN,EAAgBu4I,GAC3D,IAAKpgD,GAASgB,eAAexmG,GACzB,OAAOA,EAKX,GAAIs/G,GAAuBt/G,GACvB,OAAOA,EAKX,IAAIouG,EAAgC,GAG/B/G,GAAUrnG,KAASwlG,GAASkI,YAAY1tG,IACzCo9G,GAAiBp9G,GAAO8mG,IACpByb,GAA0BnU,EAAgBsU,GAA6B5b,OAK/EsH,EAAiBA,EAAevkD,QAAQuxD,IAAaA,EAAQ7T,QAAQyD,gBAGrEoD,EAAiBA,EAAetpF,KAAKs2F,GAC7B5V,GAASvmG,WAAWm8G,GACbA,EAEJqE,GAAkBrE,KAI7B,MAAM2iI,EAAY3vI,EAAevkD,QAAQzlC,GAAUkjF,GAAkBljF,KACjE25N,EAAU/hP,OAAS,GACnBy6H,GACI7D,GAAUv4F,WAAW67G,gCAAgC7jI,OAAO,CACxD03D,MAAOg0K,EAAUj5N,KAAKstC,GAAM,IAAIA,EAAEm1C,QAAQl6F,UAAS7Q,KAAK,QAE5DopJ,GAIR,MAAMp8E,EAAW,GAA6Bn8D,GACxC2wO,EAAmBrqH,GAAkBtmH,GAErC4wO,EAAgB7vI,EAAevkD,QAChCuxD,GAAYA,EAAQtQ,UAAYkzI,GAA0C,IAAtB5iI,EAAQ7D,YAWjE,OATI0mI,EAAcjiP,OAAS,GACvBy6H,GACI7D,GAAUv4F,WAAW8pG,+BAA+B9xH,OAAO,CACvD03D,MAAOk0K,EAAcn5N,KAAKyoC,GAAM,GAAGA,EAAEg6C,QAAQl6F,SAAQ7Q,KAAK,QAE9DopJ,GAIDpgD,GAASsI,kBACZ9tG,EACAqN,EAAK/O,MACL,GAAGkrE,EAASwC,cAAc3+D,EAAK/O,QAC/B0/O,EACA5vI,EAAepyG,OAAS,EAAIoyG,OAAiBtuG,GAIrD,SAASkgO,GAA0Bt3J,EAAiBs8H,EAAsB+6B,GACtE,MAAMv2J,EAAW,GAA6Bd,GAC9C,IAAIw1K,EAAmBt4I,GAAU6J,mBAC7Bu1F,EACA,GAAgCt8H,EAAMc,EAASwC,WAAYg5H,GAC3Dx7H,EAASwC,WACTxC,EAAS3M,SACT,EACmB,OACK/8D,OACCA,GAGzB0pE,EAASqiJ,6BACTqyB,EAAiB32I,QAAQr9B,OAAS,OAGtC,MAAMi0K,EAAgBpe,EAAc5yJ,OAAS,SAE7C,IAAIolC,EACJ,GAA6B,aAAzBwtH,EAAcjtN,OACdy/F,EAAY2gB,GAAexqD,EAAMy1K,QAC9B,GAA6B,gBAAzBpe,EAAcjtN,OAErBy/F,EAAYslH,GAAkBnvJ,EAAMy1K,EAAe,CAAC,qBACjD,GAA6B,SAAzBpe,EAAcjtN,OAAmB,CACxC,MAAMiwI,EAAkBJ,GAAsBj6E,EAAMy1K,GAAmC,GACnFp7F,IACAxwC,EAAYuiB,GAAyBiuB,EAAgBpnE,QAIjDurB,GAAoBqL,IAAc3M,GAAUqH,UAAUsF,EAAW,gBACjEA,EAAUhL,QAAQr9B,QAAS,MAmBvC,OAdIqoC,GAAarL,GAAoBqL,GAC7BwtH,EAAc5yJ,MACd+wK,EAAmBt4I,GAAUqK,oBAAoBsC,EAAWyyF,IAE5Dk5C,EAAiB32I,QAAQgI,YAAYlzG,KAAKk2G,GAC1C2rI,EAAiB32I,QAAQmI,mBAAqB6C,EAAUhL,QAAQmI,mBAChEuW,GAAwBi4H,KAG5BA,EAAiB32I,QAAQgI,YAAYlzG,KAAKqpG,GAAYvyF,UACtD+qO,EAAiB32I,QAAQmI,mBAAqBhK,GAAYvyF,SAC1D8yG,GAAwBi4H,IAGrBA,EAoGX,SAASE,GAAoC11K,G,MACzC,MAAMc,EAAW,GAA6Bd,GAI9C,GAAIguJ,EAAchuJ,EAAM,GACpB,OAIJ,IAEI+0J,EAFA4gB,EAAgB3nB,EAAchuJ,EAAKqlB,gBAAiB,GACpD/pD,GAAe,EAGnB,IAAKq6M,KAGG70K,EAASsuH,kBAAoBtuH,EAASqiJ,8BACtCwyB,EA1DZ,SAAoC31K,GAChC,GAAqC,KAAjCA,EAAKhB,eAAeD,SACpB,OAGJ,MACMu9H,EADWt8H,EAAKhB,eACQppE,MAE9B,GAAqB,QAAjB0mM,EACA,OAAO/+F,GAAQ9yF,SAGnB,MAkBM4sN,EAlB2C,IAAIjhN,IAAI,CACrD,CAAC,WAAY,CAAEquD,MAAO,GAAIr6D,OAAQ,aAClC,CAAC,UAAW,CAAEq6D,MAAO,GAAIr6D,OAAQ,aACjC,CAAC,WAAY,CAAEq6D,MAAO,GAAIr6D,OAAQ,aAClC,CAAC,gBAAiB,CAAEq6D,MAAO,GAAIr6D,OAAQ,aACvC,CAAC,WAAY,CAAEq6D,MAAO,GAAIr6D,OAAQ,aAClC,CAAC,QAAS,CAAEq6D,MAAO,GAAIr6D,OAAQ,aAC/B,CAAC,UAAW,CAAEq6D,MAAO,UAAWr6D,OAAQ,gBACxC,CAAC,OAAQ,CAAEq6D,MAAO,OAAQr6D,OAAQ,aAClC,CAAC,OAAQ,CAAEq6D,MAAO,OAAQr6D,OAAQ,aAClC,CAAC,cAAe,CAAEq6D,MAAO,cAAer6D,OAAQ,gBAChD,CAAC,MAAO,CAAEq6D,MAAO,MAAOr6D,OAAQ,aAChC,CAAC,YAAa,CAAEq6D,MAAO,YAAar6D,OAAQ,aAC5C,CAAC,QAAS,CAAEq6D,MAAO,QAASr6D,OAAQ,gBACpC,CAAC,WAAY,CAAEq6D,MAAO,WAAYr6D,OAAQ,gBAC1C,CAAC,cAAe,CAAEq6D,MAAO,cAAer6D,OAAQ,kBAGjBvN,IAAIy/L,GACvC,OAAI+6B,GAEAnpG,EAAoBluD,EAAKqlB,iBAClBiyI,GAA0Bt3J,EAAMs8H,EAAc+6B,SAHzD,EA2BwBue,CAA2B51K,GACvC21K,GACAxnB,EAAenuJ,EAAKqlB,gBAAiBswJ,EAAe,GAAwC,KAI/FA,GAAe,CAEhB,MAAMpmH,EAAewpG,GAA6B/4J,EAAKhB,eAAgB,CAAE9mD,OAAQ,QAEjF,IAgBI29N,EAhBAr0K,EAAK,EACLV,EAASoM,aAET1L,GAAS,KAIyB,KAAlCxB,EAAKqlB,gBAAgBtmB,UACa,KAAlCiB,EAAKqlB,gBAAgBtmB,WAKrByC,GAAS,GAIb,IA4BIs0K,EA5BAC,GAAyB,EAE7B,GAAIjd,GAAoB94J,EAAKhB,gBACzBwC,GACI,IAIJA,IAAS,EAETq0K,EAAqB71K,EAAKhB,eAAsCI,qBAC7D,GAAqC,KAAjCY,EAAKhB,eAAeD,SAAiC,CAC5D,MAAMs7E,EAAkBJ,GACpBj6E,EAAKhB,eACLgB,EAAKhB,eAAeppE,OACA,GAExB,GAAIykJ,EAAiB,CACjB,MAAM7lD,EAAQ6lD,EAAgBpnE,OAAOy+B,kBAChB,IAAjBld,EAAMlhG,QAAgB8gG,GAA+BI,EAAM,MAC3DqhJ,EAAoB71K,EAAKhB,eACzB+2K,GAAyB,IAQrC,GAAIF,EAAmB,CACnBC,EAAmBp4I,GAAYqJ,mBAAmB,gBAAgB8uI,EAAkBjgP,SACpFkgP,EAAiBj3I,QAAQyD,eAAgB,EACzCwzI,EAAiBj3I,QAAQW,uBAAyBq2I,EAAkBjgP,MACpE,MAAMwsG,EAAU6oB,GAAkB4qH,GAClCC,EAAiBj3I,QAAQ++H,0BAA4Bx7H,EACrD0zI,EAAiB1zI,QAAUA,EAG3B+rH,EAAenuJ,EAAM81K,OAA8B1+O,GAA8B,GACjF+2N,EACInuJ,EAAKhB,eACL82K,OACY1+O,GACO,GAEc,KAAjC4oE,EAAKhB,eAAeD,UACpBovJ,EACInuJ,EAAKhB,eAAeI,gBACpB02K,OACY1+O,GACO,GAK/B,MAAM4+O,EAAgB9nH,EAAoBluD,EAAKqlB,gBAAiBkqC,EAAc/tD,GAC9E,IAAIsjC,EAAUkxI,EAAc1+O,KAC5By9N,EAA2BihB,EAAcjhB,yBACrCihB,EAAc16M,eACdA,GAAe,GAInB,MAAM41J,EAAiBhH,GACnBlqH,EAAKqlB,gBACLvkB,EAASqwH,sBAGb,QAAuB/5L,IAAnB85L,EAA8B,CAC9B,MAAMy4B,EAAW9mB,GAAiB7iI,EAAM,QACpCy+B,GAAgBkrH,KAChB7kH,EAAU5H,GAAUyH,iBAAiBglH,EAAUz4B,IAKnD3hE,GACI9B,GAAc8B,EAAczqB,KAEvB7G,GAAe6G,KAChBA,EAAUu2H,GAA4B9rG,EAAczqB,KAMhE6wI,EAAgB7wI,EACqB,KAAjC9kC,EAAKhB,eAAeD,UAAoCiB,EAAK+oB,wBAC7D4sJ,EACIX,GAAkCh1K,EAAKhB,gBAAgB,IAAM22K,KAAmBA,GAGpFE,IAEAvnB,EAAqBtuJ,GACrBsuJ,EAAqBtuJ,EAAKhB,gBACW,KAAjCgB,EAAKhB,eAAeD,UACpBuvJ,EAAqBtuJ,EAAKhB,eAAeI,mBAMxC22K,GACAj5I,GAASgB,eAAe63I,KAAmB33I,GAAU23I,MAGtDA,EAAgBP,GACZO,EACAE,EACA71K,EAAKqlB,iBjD15ZI4wJ,EiD65ZYH,GjD55ZvB,KAD8Cx+O,EiD65ZJq+O,GjD55ZvD/+K,SACDt/D,IAAS2+O,GAOT53I,GAAU/mG,IACVA,EAAKioG,eACLjoG,EAAKioG,cAAc56F,OAASsxO,EAAqBp3I,QAAQW,4BAIoBpoG,IAA9E6qG,GAAY3qG,GAAO8mG,GAAYsB,GAAWu2I,EAAsB73I,OiD+4Z/CyuB,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW81G,6BAA6B99H,OAAO,CACrDhF,KAAMkxO,EAAkBjgP,QAE5BoqE,EAAKqlB,iBAMbywJ,EAAkBj3I,QAAQY,UAAYk2I,EAItCG,EAAkBj3I,QAAQwD,wBAAqD,QAA3B,EAAAszI,EAAcp2I,qBAAa,eAAEmG,gBAGjFowI,EAAkBj3I,QAAQ63H,0BAC1B7pG,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW+1G,+BAA+B/9H,OAAO,CACvDhF,KAAMkxO,EAAkBjgP,QAE5BoqE,EAAKhB,iBjDx7Z1B,IAA8Bi3K,EAAmC3+O,EiD+7ZhEswM,GACI5nI,EAAKhB,eACL22K,EACAr6M,EACA0kC,EAAKqlB,iBACuB,GACI,EAChC0vI,GAGJ5G,EAAenuJ,EAAM21K,EAAe,EAAqBr6M,GAG7D,SAAS46M,GAAoCl2K,GACzC,GAAIguJ,EAAchuJ,EAAM,GACpB,OAGJ,MAAMm2K,EAAiBxiB,GAA+B3zJ,OAAyB5oE,GAC/EwwM,GACI5nI,EAAK2lB,eACLwwJ,EAAe7+O,OACb6+O,EAAe76M,aACjB0kC,EAAKqlB,iBAGT8oI,EAAenuJ,EAAMm2K,EAAe7+O,KAAM,IAAuB6+O,EAAe76M,cAGpF,SAASqpF,GAAe3kD,GAEpB,MAAMo2K,EAAkBpoB,EAAchuJ,EAAKr7D,KAAM,GAEjD,GAAIyxO,EAAiB,CACjB,IAAK53I,GAAoB43I,GAGrB,OAEJ,MAAO,CACH7vI,UAAW6vI,EACXxrF,cAAeojE,EAAchuJ,EAAM,IAAwBg9B,GAAYvyF,UAK/E,MAAM01D,EAAQ,GAA2BH,GAEnCc,EAAW,GAA6Bd,GAC9C,IAAIs5C,EAAa,GAEF,KAAXn5C,aAAK,EAALA,EAAO7oE,OACPwpE,EAASsuH,kBACTtuH,EAASqiJ,4BACTriJ,EAASsiJ,qBAET9pG,GAAc,EAEVx4C,EAASqiJ,6BACT7pG,GAAc,OAGM,aAApBt5C,EAAKr7D,KAAK/O,QACV0jH,GAAc,MAGM,UAApBt5C,EAAKr7D,KAAK/O,QACV0jH,GAAc,SAIlBx4C,EAASoM,aACTosC,GAAc,SAGlB,MAAM/S,EAAYrJ,GAAU6J,mBACxB/mC,EAAKr7D,KAAK/O,MACV,GAAgCoqE,EAAMc,EAASwC,WAAYtD,EAAKr7D,KAAK/O,OACrEkrE,EAASwC,WACTxC,EAAS3M,SACTmlD,EACmB,OACKliH,OACCA,EACzB,GAA4B4oE,EAAKukB,MAAMxhB,aAG3CwjC,EAAU1H,QAAQyG,eAAiB2lB,GAAkBjrD,GAKrD,MAAMq2K,EAAcl2K,aAAK,EAALA,EAAO+lD,aAAalmD,EAAKr7D,KAAK/O,OAClD,IAAI6uH,EACJ,MAAMjkD,EAAO,GAAgCR,GACzCQ,IACAikD,EAAYjkD,GAEZikD,GAAa4xH,GACbvnB,EAA+BunB,EAAa5xH,EAAWle,GAE3DA,EAAU1H,QAAQr9B,OAAS,OAC3B2sJ,EAAenuJ,EAAMumC,OAAuBnvG,GAA8B,GAC1E+2N,EAAenuJ,EAAKr7D,KAAM4hG,OAAuBnvG,GAA8B,GAI/E,MAAMsuG,EAAgC,GAItC,IAAI4wI,EAEJ,MAAMC,EAAuC,GAC7C,IAAIC,EACAC,EACA,OAKA31K,EAASoM,aACTupK,GAAa,GAGjBz2K,EAAKhoE,UAAU4lB,SAASroB,IACpB,GAAKA,EAAIoP,KAgIF,GAAuB,cAAnBpP,EAAIoP,KAAK/O,MACZ4gP,EACAzoH,GAAS7D,GAAUv4F,WAAW6sG,qBAAsBjpI,GAEpDihP,EAAgBjhP,EAAI6pE,qBAErB,GAAuB,UAAnB7pE,EAAIoP,KAAK/O,OAAqBsnG,GAAU0L,iBAAiBrC,GAAY,CAG5E,MAAMmwI,EAAgBxsD,GAA6B30L,EAAI6pE,gBAAiB0B,EAASqwH,2BAC3D/5L,IAAlBs/O,EACA3oH,GAAS7D,GAAUv4F,WAAWs3G,sBAAuB1zI,EAAI6pE,iBACjDs3K,IACRnwI,EAAU1H,QAAQr9B,OAAS,UAK/B+0K,EAAiB5iP,KAAK,CAClBurE,iBAAkB,EAClBc,KAAMzqE,EACNoP,KAAMpP,EAAIoP,KACVy6D,gBAAiB7pE,EAAI6pE,sBAtJd,CACX,IAAI68C,EAAUiS,EAAoB34H,EAAI6pE,qBAAiBhoE,EAAWq/O,GAAWn/O,KA0F7E,GArFI4mG,GAAQ+d,KACRA,EAAUhZ,GAAcgZ,IAGvBhe,GAAege,IAAa5d,GAAU4d,KAClCzd,GAAoByd,IASjB/e,GAAUqH,UAAU0X,EAAS,eAExBn7C,EAASoM,aACTgwB,GAAUoM,uBAAuB2S,IAClCn7C,EAASqwH,qBAAqB97G,cAAgB3gB,GAAc2pK,MAE5DtwG,GAAS7D,GAAUv4F,WAAWuyG,kBAAmB3uI,EAAI6pE,iBAEzDmnC,EAAU1H,QAAQr9B,OAAS,MAG3B07B,GAAUqH,UAAU0X,EAAS,cAC7B1V,EAAU1H,QAAQr9B,OAAS,MAK3BV,EAASqwH,qBAAqB97G,eAAiB3gB,GAAc4xH,MACzDppF,GAAUqH,UAAU0X,EAAS,gBAC7B1V,EAAU1H,QAAQr9B,OACd,UAMR07B,GAAUqH,UAAU0X,EAAS,cAAgB/e,GAAU0L,iBAAiBqT,GACxE1V,EAAU1H,QAAQr9B,OAAS,IACpB07B,GAAU0L,iBAAiBrC,KAAerJ,GAAU0L,iBAAiBqT,IAG5E8R,GAAS7D,GAAUv4F,WAAW82G,qBAAsBlzI,GAKpDulH,GAA0BmB,EAAS1V,GAA+B,KAClEwnB,GAAS7D,GAAUv4F,WAAW2gG,oBAAqB/8H,GACnD0mH,EAAUjf,GAAYvyF,YA9C1BoiH,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW4gG,mBACrBh9H,GAEJ0mH,EAAUjf,GAAYvyF,WA6C1BuzF,GAAUie,IACV4Q,GACI/rD,EAASgsD,kBAAkB2vC,uBAC3BznD,GAAeynD,uBACfvyC,GAAUv4F,WAAW+gG,mBACrBn9H,GAMJgxG,EAAU1H,QAAQgI,YAAY9/C,MAAM4vL,GAE5Bn4I,GAAoBm4I,IACpBn4I,GAAoByd,IACpB/e,GAAU+C,mBAAmBgc,EAAS06H,MAI9C9pH,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWukG,qBACrB3gI,EAAIoP,MAAQpP,GAIpBgxG,EAAU1H,QAAQgI,YAAYlzG,KAAKsoH,GAC/Bzd,GAAoByd,KAChB/e,GAAU4L,YAAYmT,KACtB1V,EAAU1H,QAAQr9B,OAAS,UAS3B07B,GAAUiL,wBAAwB8T,IACjC/e,GAAU+L,gBAAgBgT,KAAa/e,GAAUqH,UAAU0X,MAE5D1V,EAAU1H,QAAQr9B,OAAS,KAG3B07B,GAAU6L,gBAAgBkT,KAC1B1V,EAAU1H,QAAQr9B,OAAS,MAG3B07B,GAAUjJ,QAAQgoB,IAAU,CAC5B,MAAMj0B,EAAYo4I,GAAwBnkH,GAC1C8R,GACI7D,GAAUv4F,WAAW6gG,iBAAiB7oH,OAAO,CAAErS,KAAM0wF,IACrDzyF,EAAI6pE,iBAKhBy6C,GAA0BnU,EAAgBsU,GAA6BiC,IACnEzd,GAAoByd,IAAY/e,GAAUqH,UAAU0X,EAAS,aACxDq6H,IACDA,EAAwB,GACxBz8H,GAA0By8H,EAAuBt8H,GAA6BiC,UA+B1F1V,EAAU1H,QAAQgI,YAAYvzG,OAAS,GAEnCizG,EAAU1H,QAAQgI,YAAY9/C,MACzB8iD,GAAcrL,GAAoBqL,IAAc3M,GAAUqH,UAAUsF,EAAW,iBAGpFgjB,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW6tG,gCACrBx/D,EAAKr7D,MAQZu4F,GAAUqH,UAAUgC,EAAW,WACmD,IAAnFA,EAAU1H,QAAQgI,YAAY1lD,QAAQ0oD,GAActL,GAAQsL,KAAYv2G,QAGxEizG,EAAU1H,QAAQgI,YAAYlzG,KAAK62H,GAAexqD,EAAM,WAIxDs2K,GAuTR,SACIp5F,EACA05F,EACAC,GAEA,MAAMC,EAAqBF,EAASz1L,QAAQuxD,IAChCmkI,EAAgB9vL,MAAMgwL,GAAmBA,EAAel4I,QAAQl6F,OAAS+tG,EAAQ7T,QAAQl6F,SAGrG,GAAImyO,EAAmBxjP,OAAS,EAAG,CAC/B,MAAMw0H,EAAO,IAAId,GACjBc,EAAKZ,WACDgD,GAAUlD,mBAAmBgtB,kBAAkBrqI,OAAO,CAClD03D,MAAOy1K,EAAmB16N,KAAKs2F,GAAY,IAAIA,EAAQ7T,QAAQl6F,UAAS7Q,KAAK,SAGrF+4H,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAW+4G,uBAAyB5iB,EAAKR,YACnD41B,IA1UJ85F,CAA4Bh3K,EAAKr7D,KAAM+gG,EAAgB4wI,GAE3D/vI,EAAU1H,QAAQ6G,eAAiB4wI,GAAyB5wI,EAG5D,MAAM2vI,EAAY9uI,EAAU1H,QAAQ6G,eAAevkD,QAAQzlC,GAAUkjF,GAAkBljF,KACnF25N,EAAU/hP,OAAS,GACnBy6H,GACI7D,GAAUv4F,WAAW87G,gCAAgC9jI,OAAO,CACxD03D,MAAOg0K,EAAUj5N,KAAKstC,GAAM,IAAIA,EAAEm1C,QAAQl6F,UAAS7Q,KAAK,QAE5DksE,EAAKr7D,KACLm4D,GAAU3xB,QAAQ60B,EAAKhoE,YAAcgoE,EAAKr7D,MAI7C44G,GAAwBhX,IACzBwnB,GAAS7D,GAAUv4F,WAAWitG,iBAAkB5+D,EAAKr7D,MAIzD,MAAMsyO,EAAa,GAA2Bj3K,EAAKukB,OACnDgiB,EAAU1H,QAAQiE,QAASm0I,aAAU,EAAVA,EAAYlxI,cAAe,IAAI3vF,IAM1D,MAAM4zK,EAAaitD,aAAU,EAAVA,EAAYhtD,gBAa/B,GAZID,IACAzjF,EAAU1H,QAAQq2G,gBAAkBlrB,GAGpC9sF,GAAU0L,iBAAiBrC,IAC3B4jB,GAAgCovG,GAAoBv5J,EAAMumC,IAOzDzlC,EAASoM,YAA0D,IAA5Cq5B,EAAU1H,QAAQ6G,eAAepyG,OAAc,CACvE,MAAM4jP,EAAa3wI,EAAU1H,QAAQiE,OAAOjmG,IAAI,YAChD,GAAIq6O,EAAY,CACZ,MAAMnnF,EAAYmnF,EAAWtlI,uBAC7B,GAAyB,IAArBm+C,EAAUz8J,QAAsC,IAAtBy8J,EAAU,GAAGz4J,KAAmC,CAC1E,MAAM6/O,EAAepnF,EAAU,GAAG/vF,KAC5Bo3K,EAAaD,EAAax7M,WAEhC,GACIy7M,EAAW9jP,OAAS,IACnB8jP,EAAWrwL,MAAK,CAACrrC,EAAO+G,MAAY+9H,GAA8B22F,EAAc10N,KACnF,CACE,MAAM40N,EAAgBD,EAAWj2L,QAC7B,CAACzlC,EAAO+G,IAAUA,EAAQ,GAAK/G,EAAM/W,MAA2B,IAAnB+W,EAAMk7C,WAGnDygL,EAAc/jP,OAAS,IACvBizG,EAAU1H,QAAQr9B,OAAS,MAI3B+kC,EAAU1H,QAAQ6G,eAAiB2xI,EAAcj7N,KAAKV,IAClD,MAAMg3F,EAAUhV,GAAY2M,eAAe,aAAa3uF,EAAM/W,KAAM/O,SAIpE,OAHA88G,EAAQ7T,QAAQyD,eAAgB,EAChCoQ,EAAQtQ,QAAU6oB,GAAkBksH,GACpCzkI,EAAQ7T,QAAQY,UAAYzC,GAAYvyF,SACjCizF,GAAYiR,gBACf+D,EACAuY,GAAkBjrD,GAClBA,EAAKr7D,KAAK/O,MAAK,UAyB3C,GAZgD,IAA5C2wG,EAAU1H,QAAQ6G,eAAepyG,QAAiB4pG,GAAUqH,UAAUgC,EAAW,UAE7EA,EAAU1H,QAAQgI,YAAY9/C,MACzB8iD,GAAcrL,GAAoBqL,IAAc3M,GAAUsM,sBAAsBK,MAErFtD,EAAU1H,QAAQiE,OAAOpmF,IAAI,wBAE7B6pF,EAAU1H,QAAQr9B,OAAS,QAK/Bg1K,EAAe,CACf,MAAMc,EAAgBppH,EAAoBsoH,OAAep/O,EAAWq/O,GAAWn/O,MAC3EknG,GAAoB84I,IAAkBt5I,GAAUs5I,MAC5Cj6H,GAAuBi6H,IACvBzqH,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW8sG,qBACrB+3G,GAIRjwI,EAAU1H,QAAQiI,kBAAoBwwI,EAClC94I,GAAoB84I,KAChBp6I,GAAUqH,UAAU+yI,EAAe,YACnC/wI,EAAU1H,QAAQr9B,OAAS,QACpB07B,GAAUqH,UAAU+yI,EAAe,aAC1C/wI,EAAU1H,QAAQr9B,OAAS,OAM3C,IAAIwlC,EAAqBT,EAAU1H,QAAQiI,kBACvCywI,GAA4B,EAEhC,IAAKvwI,GAAsBxI,GAAoBwI,GAC3C,IAAK,MAAM6C,KAAatD,EAAU1H,QAAQgI,YAAa,CACnD,IAAIrI,GAAoBqL,GA4BjB,CAGH7C,EAAqBhK,GAAYvyF,SACjC,MAhCgC,CAChC,MAAM+sO,EAAgB3tI,EAAUhL,QAAQmI,oBAAsBmmH,EAC9D,IAAIqqB,IAAiBh5I,GAAoBg5I,GAsBlC,CACHxwI,EAAqBwwI,EAAgBx6I,GAAYvyF,cAAWrT,EAC5D,MAtBK4vG,EAGD8T,GAA0B08H,EAAexwI,GAAwC,GAEjFA,EAAqBwwI,EAEpB18H,GAA0B9T,EAAoBwwI,GAAmC,IAE7ED,IACD1qH,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW4sG,oBACrBv+D,EAAKr7D,MAGT4yO,GAA4B,GAhBhCvwI,EAAqBwwI,GAkCzC,IAAKxwI,EAAoB,CACrB,MAAMmjH,EAAgB3/F,GAAexqD,EAAM,QAC3CgnC,EACImjH,GAAiB3rH,GAAoB2rH,GAAiBA,EAAgBntH,GAAYvyF,SAG1F87F,EAAU1H,QAAQmI,mBAAqBA,EAGvC,IA2BIsiH,EA3BA1+D,EAAsBrkD,EACtBuV,GAAe,EAEnB,IAAK,IAAIlpH,EAAIotE,EAAKwkB,WAAWlxF,OAAS,EAAGV,GAAK,EAAGA,IAAK,CAClD,MAAMiyF,EAAY7kB,EAAKwkB,WAAW5xF,GAE5B6kP,EAAmBC,GAAoB9sF,EAAerkD,EAAW1hB,GACnEg3B,GAAgB47H,GAEX37H,IACD+Q,GACI/rD,EAASgsD,kBAAkB0vC,4BAC3BxnD,GAAewnD,4BACftyC,GAAUv4F,WAAWwhG,4BACrBnzD,EAAKwkB,WAAW5xF,GAAGy3D,YAGvByxD,GAAe,GAInB8uC,EAAgB6sF,EAOxB,GAAIj5I,GAAoBwI,IAAuBA,EAAmBnI,QAAQqqH,wBACtEI,EAAqBtiH,EAAmBnI,QAAQqqH,4BAC7C,CACH,MAAMyuB,EAAyBpxI,EAAU1H,QAAQoI,IAAIpjC,MAAMwzC,GAChD9Y,GAAQ8Y,SAA0DjgH,IAA7CigH,EAASxY,QAAQqqH,0BAG7CyuB,IACAruB,EAAsBquB,EAAqC94I,QAAQqqH,yBAa3E,GATII,IACAF,GAA+B7iH,EAAW+iH,GAC1CR,GAAqCyQ,GAAoBhzH,EAAWgwI,IAIxEhwI,EAAU1H,QAAQr9B,QAAS,OAGvB07B,GAAUkL,YAAY7B,GAAY,CAClC,MAAMqxI,EAAsB16I,GAAUmL,+BAA+B9B,GACrE,IAAIsxI,EAAwBD,EAI5B,IAAKA,EAAqB,CACtB,MAAME,EAAa3+H,GAAkB5S,EAAW,WAAY,GAC5D,GAAIuxI,EAAY,CACZ,MAAMC,EAAiBjoF,GAAgBgoF,GACnC14I,GAAW24I,IACN56I,GAAauP,oBAAoBqrI,KAItCF,GAAwB,IAKpC,IAAIG,GAAqB,EACzB,MAAMC,EAAa9+H,GAAkB5S,EAAW,WAAY,GAC5D,GAAI0xI,EAAY,CACZ,MAAMC,EAAiBpoF,GAAgBmoF,GACnC74I,GAAW84I,KAAoB/6I,GAAauP,oBAAoBwrI,KAChEF,GAAqB,IH3gclC,SACH5tH,EACApqD,EACAumC,EACA4xI,EACAN,EACAG,GAEA5tL,EAAO8yC,GAAUkL,YAAY7B,IAE7B,MAAM8/G,EAAe5tG,GAA4BlS,GAA4B,GACvElD,EAAUlG,GAAakN,eACzB,UACA,GACA,GACA,IAEEggB,EAAWltB,GAAakN,eAAe,WAAY,GAAI,GAAI,IAEjElN,GAAa6O,aAAa3I,EAAS,CAC/BzsC,SAAU,EACVjyD,KAAM,MACNrN,KAAM+uN,EACN/6G,iBAAiB,IAErBnO,GAAa0O,qBAAqBxI,GAClCA,EAAQxE,QAAQ2C,mBAAqBuV,GAAkBsvG,GAEvD,MAAM57F,EAA+B,CACjC7zD,SAAU,EACVjyD,KAAM,OACNrN,KAAMmhH,GAA4BlS,GAA4B,GAC9D+E,iBAAiB,GAErBnO,GAAa6O,aAAaqe,EAAUI,GACpCJ,EAASxrB,QAAQ2C,mBAAqBnE,GAASgN,iBAK/C,MAAM+tI,EAA0C,GAC1CC,EAAyC,GACzCC,EA2cV,SAAsC/xI,EAAsBrlF,GACxD,IAAIq3N,GAAuB,EAE3B,IAAK,IAAI3lP,EAAI2zG,EAAU1H,QAAQoI,IAAI3zG,OAAS,EAAGV,GAAK,EAAGA,IAAK,CACxD,MAAMykH,EAAW9Q,EAAU1H,QAAQoI,IAAIr0G,GAEvC,GAAI4rG,GAAoB6Y,GAAW,CAC/B,MAAMiB,EAAahB,GAAoCD,GAA6B,GAC3Dna,GAAUiM,oBAAoBkO,GAItCz5F,SAASm0C,IACtB,MAAMymL,EAAgBt3N,EAAQ2mE,WAAWtrF,GAAMA,EAAEoI,OAASotD,EAAMptD,OAI1D8zO,EAAe,IAAK1mL,GAC1B0mL,EAAanhP,KAAO0/G,GAAoByhI,EAAanhP,KAAMghH,GAEvDvmD,EAAM4+C,WAGF6nI,GAAiB,GACjBt3N,EAAQ1C,OAAOg6N,EAAe,GAE3BA,GAAiB,EACxBt3N,EAAQs3N,GAAiBC,EAEzBv3N,EAAQvtB,KAAK8kP,WAIrBF,GAAuB,EAI/B,OAAOA,EAhfmBG,CAA6BnyI,EAAW8xI,GAE7DC,GAIDn7I,GAAa0O,qBAAqBwe,GAKtC,MAAMsuH,EAAiF,GACvF,IAAIpjI,GAA0B,EAE9Bv1C,EAAKukB,MAAMxhB,WAAWnlD,SAASszE,IACI,KAA3BA,EAAcnyB,UACdmyB,EAAcnuB,WAAWnlD,SAASskD,I,MAC9B,IAAI02K,EACAnyI,EACAoyI,EAGA5gG,EAFA6gG,GAAkB,EAClBC,EAAgB77I,GAAUuL,6BAA6BlC,IAAcgP,EAErEyjI,GAAgB,EAEpB,GAA2B,IAAvB92K,EAAUnD,UAsBV,GApB0C,KAAtCmD,EAAUlD,eAAeD,UAC6B,KAAtDmD,EAAUlD,eAAeI,gBAAgBL,WAEzC65K,EAAmB12K,EAAUlD,eAAeI,gBAC5Cy5K,EAAwB,IACpBzuH,EAAU0sG,oBACL50J,EAAUlD,eAAsCsmB,eACjD,CACImyI,sBAAsB,EACtBC,YAAY,EACZC,eAAe,KAK/BmhB,GAAkB,EAClB7gG,EAAyB/1E,EAAUmjB,gBAIQ,IAAvCnjB,EAAUmjB,gBAAgBtmB,SAAiC,CAC3D,MAAM0+H,EAAWrzE,EAAU8D,oBACvBhsD,EAAUmjB,gBAAgBrmB,oBACP5nE,EAAS,GAE9BE,KACF,GA8bxB,SAAqCA,EAAYqxN,GAC7C,IAAIpX,EAUJ,OARInyG,GAAW9nG,GACXi6M,EAAWj6M,EAAKunG,QAAQwG,SACjBhG,GAAqB/nG,GAC5Bi6M,EAAWj6M,EAAKuqG,UAAU,GAAGhD,QAAQwG,SAC9B7G,GAAoBlnG,KAC3Bi6M,EAAWj6M,EAAKunG,QAAQwG,YAGvBksG,GAIEoX,EAAqB5hK,MAAMpiD,GAASA,IAAS4sM,IA5c5B0nC,CACIx7C,GACoC,QAApC,EAAAl3F,EAAU1H,QAAQyqH,0BAAkB,eAAEX,uBAAwB,IAEpE,CACE,MAAMuwB,EAAUh3K,EAAUmjB,gBAAgBrtF,UAAU6rE,MAC/CtuE,IAAO,MAAC,MAAoB,UAAZ,QAAR,EAAAA,EAAIoP,YAAI,eAAE/O,UAEvB,GAAIsjP,GAAWA,EAAQ95K,iBAKL,IAJA8qH,GACVgvD,EAAQ95K,gBACR,GAA6BY,GAAMmxH,wBAGnC6nD,GAAgB,OAEjB,CAGH,IAAIG,EACJ,GAAI/5I,GAAWq+F,GACX07C,EAAa17C,OACV,GAAIp+F,GAAqBo+F,GAC5B07C,EAAa/uH,EAAUm2G,4BACnBr+J,EAAUmjB,gBACVo4G,EACAv7H,EAAUmjB,gBAAgBrtF,gBAE3B,GAAIwmG,GAAoBi/F,GAAW,CACtC,MAAM27C,EAAWhvH,EAAUquG,eAAeh7B,EAAU,YAChD27C,IACIh6I,GAAWg6I,GACXD,EAAaC,EACN/5I,GAAqB+5I,KAC5BD,EAAa/uH,EAAUm2G,4BACnBr+J,EAAUmjB,gBACV+zJ,EACAl3K,EAAUmjB,gBAAgBrtF,aAM1C,GAAImhP,EAAY,CACZ,MAAME,EAAYF,EAAWt6I,QAAQljE,WAAWkoC,MAAM/4D,GAAiB,SAAXA,EAAEnG,OAC1D00O,GAAaA,EAAUphG,wBAA0BohG,EAAU/tI,iBAEvD/M,GAAQ86I,EAAU/hP,OAClB4lG,GAAUqH,UAAU80I,EAAU/hP,KAAM,SACpCigH,GAAc8hI,EAAU/hP,QAEY,IAAhC+hP,EAAU/hP,KAAK0sG,eACfg1I,GAAgB,IAOpC,MAAMM,EAAYp3K,EAAUmjB,gBAAgBrtF,UAAU6rE,MACjDtuE,IAAO,MAAC,MAAoB,aAAZ,QAAR,EAAAA,EAAIoP,YAAI,eAAE/O,UAEvB,GAAI0jP,GAAaA,EAAUl6K,gBAAiB,CACxC,MAAMxpE,EAAQs0L,GACVovD,EAAUl6K,gBACV,GAA6BY,GAAMmxH,uBAEzB,IAAVv7L,EACAmjP,GAAgB,GACC,IAAVnjP,IACPmjP,GAAgB,GAIxB,MAAMQ,EAAar3K,EAAUmjB,gBAAgBrtF,UAAU6rE,MAClDtuE,I,UACG,MAAoB,aAAZ,QAAR,EAAAA,EAAIoP,YAAI,eAAE/O,QACU,qBAAZ,QAAR,EAAAL,EAAIoP,YAAI,eAAE/O,QACU,aAAZ,QAAR,EAAAL,EAAIoP,YAAI,eAAE/O,UAGlBkjP,IAAoBS,GAChBA,aAAU,EAAVA,EAAYn6K,mBACZ64E,EAAyBshG,EAAWn6K,iBAGxC,MAAMo6K,EAAWt3K,EAAUmjB,gBAAgBrtF,UAAU6rE,MAChDtuE,IAAO,MAAC,MAAoB,WAAZ,QAAR,EAAAA,EAAIoP,YAAI,eAAE/O,UAEvB,GAAI4jP,EAAU,CACV,MAAMn6L,EAAY+qE,EAAU8D,oBAAoBsrH,EAASp6K,iBAAiB9nE,KAEtEmnG,GAAgBp/C,IAChB69C,GAAUqH,UAAUllD,EAAW,QAC/Bk4D,GAAcl4D,KAEdonD,EAAYpnD,EAAU2kD,sBAKnC,GAA2B,KAAvB9hC,EAAUnD,UAC0B,KAAvCmD,EAAU9C,gBAAgBL,WAC1B65K,EAAmB12K,EAAU9C,gBAC7By5K,EAAwB,IACpBzuH,EAAU0sG,oBAAoB50J,EAAUojB,eAAgB,CACpDmyI,sBAAsB,EACtBC,YAAY,EACZC,eAAe,IAIiB,MAApCz1J,EAAU9C,gBAAgBxpE,OAAe,CACzC,MAAMu1O,EAAgB0N,IAElBp6I,GAAgB0sI,IAAkBjuI,GAAUqH,UAAU4mI,EAAe,aACrE51H,GAA0B,EAC1BqjI,OAAmBxhP,EACnByhP,OAAwBzhP,GAMxC,GAAIwhP,GAAoBC,EAAuB,CAC3C,MAAMh1H,EAAe+0H,EAAiBhjP,MAIhC6jP,EAAiBlzI,EAAU1H,QAAQiE,OAAOjmG,IAAIgnH,GAC9C5vB,EAAUwlJ,aAAc,EAAdA,EACV/nI,kBACD3qD,MAAMyZ,GAAuB,IAAdA,EAAKlpE,MAAqCkpE,EAAKyzB,UAEnE,IAAIwlJ,aAAc,EAAdA,EAAgB9oI,gBAAiB1c,EAAS,CAK1C,MAAMxxE,EAAQ41N,EAAqBxwJ,WAAW/8E,GAAMA,EAAEnG,OAASk/G,IAC3DphG,GAAS,GACT41N,EAAqB75N,OAAOiE,EAAO,GAEvC,MAAMi3N,EAAiC,CACnC/0O,KAAMk/G,EACNtd,YACA9hC,MAAOgiC,EACPsyI,eAAe,EACf3tI,WAAY0tI,EACZ7gG,yBACA+gG,gBACA1hP,KAAM0lG,GAAYvyF,SAClBkmG,YAAY,GAEhBynI,EAAsBzkP,KAAK+lP,OACxB,CAIH,MAAMA,EAAiC,CACnC/0O,KAAMk/G,EACNtd,YACA9hC,MAAOgiC,EACPsyI,gBACA3tI,WAAY0tI,EACZ7gG,yBACA+gG,gBACA1hP,KAAM0lG,GAAYvyF,SAClBkmG,YAAY,GAEhBgoI,EAAwBhlP,KAAK,CAAEo+D,MAAO2nL,EAAgBtvH,UAAWyuH,IAGjE,IAAIc,EAAcvB,EAAsBvwJ,WAAWtrF,GAAMA,EAAEoI,OAASk/G,IASpE,GARI81H,GAAe,EACfvB,EAAsBuB,GAAeD,EAErCtB,EAAsBzkP,KAAK+lP,GAI/BC,EAActB,EAAqBxwJ,WAAW/8E,GAAMA,EAAEnG,OAASk/G,IAC3D81H,GAAe,EAAG,CAClB,MAAMC,EAAWvB,EAAqBsB,IAIjCD,EAAetuI,YAAcwuI,EAASxuI,aACvCsuI,EAAetuI,YAAa,EAC5BsuI,EAAezhG,uBAAyB2hG,EAAS3hG,uBACjD6gG,GAAkB,GAGtBT,EAAqBsB,GAAeD,OAEpCrB,EAAqB1kP,KAAK+lP,GAC1BC,EAActB,EAAqB/kP,OAAS,EAKhD,IAAKylP,GAAiBC,IAAkBb,IAAuBW,EAAiB,CAC5E,MAAMe,EAAyBxB,EAAqBxwJ,WAC/C/8E,GAAMA,EAAEsgG,YAActgG,EAAEkuO,gBAAkBluO,EAAEiuO,gBAE7Cc,GAA0B,GAAKA,EAAyBF,GACxDvvH,EAAU2D,SAAS7D,GAAUv4F,WAAWkjG,4BAA6B+jH,YASjGryI,EAAU1H,QAAQuK,iBAAmBgvI,EAOrCO,EAAwB/6N,SAASk8N,IAC7BA,EAAe/nL,MAAMz6D,KAAOwiP,EAAe1vH,eAG/C,MAAMrkB,EAAcQ,EAAU1H,QAAQiE,OAChCylH,EAAyC,GAE1C4vB,GAAuBN,IAAyBS,IACjDD,EAAqBz6N,SAASm0C,I,MAC1B,GAAIA,EAAMinL,cAAe,CAGrB,IAAIlpB,EAAgB/9J,EAAMz6D,KAC1B,GAAIy6D,EAAMw0C,YAAcA,GAAa8W,GAAuByyG,GAAgB,CACxE,MAAMx3G,EAAa,IAAIpG,GAAWgF,GAAkBnlD,EAAMw0C,YAC1DgS,GAA8BD,EAAYvmD,EAAMw0C,UAAWA,GAC3DupH,EAAgB94G,GAAoB84G,EAAex3G,IAGf,QAApC,EAAA/R,EAAU1H,QAAQyqH,0BAAkB,eAAEZ,4BACtCoH,EAuIpB,SAAiC1lG,EAA0B9yH,GACvD,IAAKmnG,GAAgBnnG,GACjB,OAAOA,EAGX,MAAMyiP,EAAgB7gI,GAAmB5hH,EAAM,WAC/C,IAAKyiP,EACD,OAAOziP,EAGX,MAAM0iP,EAAgB5vH,EAAU0lC,gBAAgBiqF,GAChD,IAAK36I,GAAW46I,GACZ,OAAO1iP,EAGX,MAAM2iP,EAAiB7vH,EAAUy+B,4BAA4BvxJ,EAAM0iP,GACnE,OAAKC,IAAmB76I,GAAW66I,IAAmBA,EAAep7I,QAAQljE,WAAWroC,OAAS,EACtFgE,EAIJ6lG,GAAamE,0BAA0B24I,EAAgB,GA5J9BC,CAAwB9vH,EAAW0lG,IAGvD,MAAM6F,EAAmC,CACrC/+J,SAAU,EACVjyD,KAAMotD,EAAM0S,OAAS1S,EAAMptD,KAC3BymG,WAAYr5C,EAAMq5C,WAClB6sC,uBAAwBlmF,EAAMkmF,uBAC9B3gJ,KAAMw4N,EACNxkH,iBAAiB,GAGjBv5C,EAAMgnL,cACNxwB,EAAkB50N,KAAKgiO,GAEvBx4H,GAAa6O,aAAaqe,EAAUsrG,OAK5CpN,EAAkBj1N,OAAS,IAC3B6pG,GAAa6O,aAAaqe,EAAU,CAChCzzD,SAAU,EACVt/D,KAAMimG,GAAQ9yF,WAElB89M,EAAkB3qM,SAASlC,IACvByhF,GAAa6O,aAAaqe,EAAU3uG,OAI5CqqF,EAAYtoG,IAAI,WAAY,kBAAsB,EAAyB4sH,IAC3EtkB,EAAYtoG,IAAI,UAAW,kBAAsB,EAAyB4lG,KAI9E,MAAMyoB,EAAU1B,EAAUI,eAAexqD,EAAM,OACzCikI,EAAiB75E,EAAUI,eAAexqD,EAAM,SACtD,GACIikI,GACAzlG,GAAoBylG,IACpBn4E,GACAttB,GAAoBstB,KACnB/lB,EAAYrpF,IAAI,kBACnB,CACE,MAAMkqM,EAA2B,GACjCyxB,EAAqBz6N,SAASm0C,IACtBA,EAAMinL,gBAAkBjnL,EAAMgnL,eAE9BnyB,EAAejzN,KAAKo+D,EAAMptD,SAGlC,MAAMkjN,EAAoCjB,EAAexqM,KAAKzX,IACnD,CAAErN,KAAM4lG,GAAUgK,gBAAgBhK,GAAUyH,iBAAiBmnB,EAASnnH,IAAQ67F,aAAa,MAEhGmmG,EAAgBzpG,GAAUgK,gBAAgBqV,GAAqB0nF,EAAgB4jB,IACrF9hH,EAAYtoG,IAAI,iBAAkB,kBAAsB,EAAyBkpM,IAGrF,MAAMwzC,EAA6B,CAACh1J,EAAkBm1B,KAClD,MAAM8/H,EAAiBj9I,GAAakN,eAAellB,EAAU,GAAI,GAAI,IACrEgY,GAAa6O,aAAaouI,EAAgB3vH,GAC1CttB,GAAa6O,aAAaouI,EAAgB,CACtCxjL,SAAU,EACVjyD,KAAM,QACNrN,KAAMgjH,EACNhP,iBAAiB,IAErB8uI,EAAev7I,QAAQ2C,mBAAqB4oB,EAAUy4E,iBAAiB7iI,EAAM,QAC7E+lC,EAAYtoG,IAAI0nF,EAAU,kBAAsB,EAAyBi1J,KAQ7E,GAJKl9I,GAAUoL,6BAA6B/B,IACxC4zI,EAA2B,SAAU/vH,EAAUy4E,iBAAiB7iI,EAAM,WAGtEk9B,GAAUsL,4BAA4BjC,GAAY,CAClD,MAAMokH,EAAUztH,GAAUgK,gBAAgBX,GAC1C,CAAC,SAAU,SAAU,SAAU,UAAU3oF,SAASunE,IAC9Cg1J,EAA2Bh1J,EAAUwlI,MAI7C,IAAI0vB,GACCn9I,GAAUoL,6BAA6B/B,IAAcrJ,GAAUqL,kBAAkBhC,GACtF,MAAM+zI,GACDp9I,GAAUoL,6BAA6B/B,KAAerJ,GAAUqL,kBAAkBhC,GAYvF,GAVIyxI,IACAqC,GAAyB,GAKzBn9I,GAAUyL,gCAAgCpC,KAC1C8zI,GAAyB,GAGzBA,EAAwB,CACxB,MAAME,EAAap9I,GAAakN,eAAe,WAAY,GAAI,GAAI,IACnElN,GAAa6O,aAAauuI,EAAY9vH,GACtC8vH,EAAW17I,QAAQ2C,mBAAqB4oB,EAAUy4E,iBAAiB7iI,EAAM,OACzE+lC,EAAYtoG,IAAI,WAAY,kBAAsB,EAAyB88O,SACpED,IAAuBtC,GAC9BjyI,EAAYtoG,IAAI,WAAY,kBAAsB,EAAyB4/F,GAASgN,mBAGxF,IAAI49F,EAAW79E,EAAUI,eAAexqD,EAAM,QAC1Cw+B,GAAoBypG,KACpBA,EAAW/qG,GAAUgK,gBACjBhK,GAAUkK,uBACN6gG,EACA,CAAC79E,EAAUy4E,iBAAiB7iI,EAAM,OAAQu9B,GAAQ9yF,WACrB,KAIzCs7F,EAAYtoG,IAAI,uBAAwB,kBAAsB,EAAyBwqM,IAEnF/qG,GAAUwL,0BAA0BnC,SAAoDnvG,IAAtCmvG,EAAU1H,QAAQq2G,kBACpE3uG,EAAU1H,QAAQq2G,gBAAkBkjC,EAAsBh8N,KAAK21C,GAAUA,EAAMptD,QAKnFmjN,GACIvhH,EACA8xI,EAAqBj8N,KAAK21C,GAAUA,EAAMz6D,QACb,GG6jbzBkjP,CACIjhB,GACAv5J,EACAumC,EACAqxI,EACAC,EACAG,GAMR,GAAIzxI,EAAU1H,QAAQq2G,gBAAiB,CACnC,IAAIulC,GAAmB,EACvB,MAAMC,EAAqB,IAAIn0I,EAAU1H,QAAQq2G,iBAEjD3uG,EAAU1H,QAAQgI,YAAYjpF,SAASisF,IAC/BrL,GAAoBqL,GAEf3M,GAAUqH,UAAUsF,EAAW,WAC/B3M,GAAUqH,UAAUsF,EAAW,SAC/B3M,GAAUqH,UAAUsF,EAAW,kBAEczyG,IAA1CyyG,EAAUhL,QAAQ+8H,oBAClB6e,GAAmB,EAEnBC,EAAmB/mP,QAAQk2G,EAAUhL,QAAQ+8H,sBAIrD6e,GAAmB,KAIvBA,IACAl0I,EAAU1H,QAAQ+8H,oBAAsB8e,GAmBhD,OAdAvsB,EAAenuJ,EAAKr7D,KAAM4hG,EAAW,GAAwC,GAG7E4nH,EAAenuJ,EAAM4qF,EAAe,GAAwC,GAqIhF,SAAkC5qF,EAAiBumC,EAAsBtgB,GACrE,MAAMi3D,EAAYj3D,EAAQ3yF,OAAS,EAAI2yF,EAAQ,GAAGjmB,KAAMr7D,KAAQq7D,EAAKr7D,KAC/Dg2O,EAAyBpiB,GAC3Br7E,EACA32C,EACA,oBACA,CAAEruF,OAAQ,YACC9gB,EACX,IAGAmvG,GAGJ,GAAIo0I,EAAwB,CACxB,MAAMC,EAAyBD,EAAuBrjP,KAElDsjP,GACA1iB,GACIh7E,EACAj3D,EACA20J,OACiBxjP,GACS,EAC1BimG,GAASgN,uBAGd,GAAI9D,EAAU1H,QAAQmI,oBAAsBzI,GAAQgI,EAAU1H,QAAQmI,oBAAqB,CAE9F,MAAM6zI,EAAkB1hI,GACpB5S,EAAU1H,QAAQmI,mBAClB,UAAS,IAIb,GAAI6zI,EAAiB,CACjB,MAAMC,EAAgBhrF,GAAgB+qF,GACtC,GAAIz7I,GAAW07I,GAAgB,CAC3B,MAAMlnC,EAAmB3+F,GAAwB6lI,GAEjD,QAA+C1jP,IAA3Cw8M,EAAiB79F,sBAAqC,CAEtD,MAAMoyC,EAAW,IAAI/xI,IACrB,IAAK,IAAIxjB,EAAIghN,EAAiB79F,sBAAuBnjH,EAAIghN,EAAiBn7L,OAAOnlB,OAAQV,IAAK,CAC1F,MAAM44G,EAAYooG,EAAiBn7L,OAAO7lB,GACT,IAA7B44G,EAAU9vF,MAAMk7C,UAAyC40C,EAAU9vF,MAAM/W,MACzEwjJ,EAAS1qJ,IAAI+tG,EAAU9vF,MAAM/W,KAAM/R,GAI3CqzF,EAAQroE,SAASroB,I,UACb,GAA6B,IAAzBA,EAAI2pE,kBAAgD3pE,EAAIoP,KAAM,CAC9D,MAAMg2G,EAAyC,QAA5B,EAAAwtC,EAAStrJ,IAAItH,EAAIoP,KAAK/O,cAAM,QAAIg+M,EAAiB19F,YAEpE,QAAmB9+G,IAAfujH,EAA0B,CAC1B,MAAMnP,EAAYooG,EAAiBn7L,OAAOkiG,GAY1Cu0H,GAXwC,CACpCzqJ,cAAe+mB,EAAU9vF,MAAMk7C,SAC/B0jD,UAAWnd,GAAamE,0BACpBw5I,EACAtvI,EAAU/oF,OAEd4qN,yBAAyB,EACzBC,SAAU/3O,EACV2nJ,UAA8B,QAAnB,EAAA3nJ,EAAI6pE,uBAAe,QAAI89E,GAKlC,IAAIhrC,GACJ4oI,GACuB,GACD,GACG,OACH1jP,GAE1B+wJ,EAASjtI,OAAO3lB,EAAIoP,KAAK/O,YAEzBi3H,GACI,GAA6B7sD,GAAM8sD,kBAAkBC,wBACrD/X,GAAe+X,wBACf7C,GAAUv4F,WAAW0wG,mBAAmB14H,OAAO,CAAEhF,KAAMpP,EAAIoP,KAAK/O,QACxD,QAAR,EAAAL,EAAIoP,YAAI,QAAIu4I,OAQ5B,MAAMmxF,EAA6B,GAQnC,GAPAlmF,EAASvqI,SAAQ,CAAC6E,EAAO8yE,KACHq+G,EAAiBn7L,OAAOgK,GAC3B/G,MAAM0vF,YACjBijI,EAAiB16O,KAAK4hG,MAI1B84I,EAAiB/6O,OAAS,EAAG,CAC7B,MAAMg7O,EAAoBD,EAAiBjyN,KAAKtR,GAAM,IAAIA,OAAMhX,KAAK,MACrE+4H,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACa,IAA5BshH,EAAiB/6O,OACX42H,GAAUv4F,WAAWw/F,qBAAqBxnH,OAAO,CAAEhF,KAAM2pO,IACzDpkH,GAAUv4F,WAAWy/F,sBAAsBznH,OAAO,CAAE03D,MAAOitK,IACjEpxF,OASxBj3D,EAAQroE,SAASroB,IACTA,EAAI6pE,iBACJ8uD,EAAoB34H,EAAI6pE,oBAvPhC27K,CAAyB/6K,EAAMumC,EAAWgwI,GAItCr5I,GAAUqH,UAAUgC,EAAW,eAC/BlC,EAAYnH,GAAUgK,gBAAgBX,IAGnC,CAAEA,YAAWqkD,iBAgCxB,SAAS8sF,GACLsD,EACAC,EACA3+D,GAGA,IAAI96G,EADa,GAA6B86G,GACzBpvG,WAAa,EAAwC,EAChC,IAAtCovG,EAAcjyH,WAAW0U,WACzByC,GAAS,GAEb,MAAMyoJ,EAAgB/7F,EAAoBouD,EAAcjyH,gBAA+BjzD,EAAWoqE,GAAOlqE,KAEzG,GAA0C,IAAtCglL,EAAcjyH,WAAW0U,SAAiC,CAC1D,MAAMm8K,EAAoBhtH,EACtBouD,EAAcjyH,WAAW2U,oBACN5nE,EACX,EAARoqE,GACFlqE,KAEE8nG,GAAW87I,KAE4B,4BAAnCA,EAAkBr8I,QAAQl6F,MACgB,wBAA1Cu2O,EAAkBr8I,QAAQ+/F,cAE1Bq8C,EAAkBp8I,QAAQqqH,wBAA0Bb,GAChDkR,GACAj9C,EAAcjyH,cAM9B,GAAIg1C,GAAqB4qH,GAAgB,CACrC,MAAMkxB,EAAqBvyB,GAA+BqB,GAC1D,GAAIkxB,EAOA,OANA5xB,GACIgQ,GACA0hB,EACAE,OACe/jP,GAEZ4jP,OAER,GAAI57I,GAAW6qH,GAAgB,CAClC,GAA0C,UAAtCA,EAAcprH,QAAQ+/F,YAMtB,OALAq8C,EAAkBp8I,QAAQr9B,OAAS,KAK5Bw5K,EACJ,GAA0C,sBAAtC/wB,EAAcprH,QAAQ+/F,YAM7B,OALAq8C,EAAkBp8I,QAAQr9B,OAAS,MAK5Bw5K,EAIX,IAAIG,EACAtpJ,EAmBJ,GAjB0C,IAAtCyqF,EAAcjyH,WAAW0U,UACzB8yB,EAAWyqF,EAAcjyH,WAMzB8wL,EAAqBvyB,GALK16F,EACtBr8B,EAAS7yB,oBACU5nE,EACX,EAARoqE,GACFlqE,OAQF6jP,EAAqBvyB,GALC16F,EAClBouD,EAAcjyH,gBACKjzD,EACnBoqE,GACFlqE,MAIF6jP,EAEA,OADA5xB,GAAwBgQ,GAAoB0hB,EAAmBE,EAAoBtpJ,GAC5EmpJ,EAIf,OAAOjjB,EAAqBz7C,EAAe0+D,GA6H/C,SAASrwF,GAAkB3qF,GACvB,MAAMc,EAAW,GAA6Bd,GAGxCo7K,EAAqBptB,EAAchuJ,EAAKr7D,KAAM,GAEpD,GAAIy2O,EAAoB,CACpB,IAAKh8I,GAAWg8I,GAGZ,OAEJ,MAAO,CACHtvI,aAAcsvI,EACdxwF,cAAeojE,EAAchuJ,EAAM,IAAwBg9B,GAAYvyF,UAI/E,IAAI25G,EACJ,MAAM5jD,EAAO,GAAgCR,GACzCQ,IACA4jD,EAAe5jD,GAKnB,MAAMotH,EAAsB,GAAiC5tH,GAA2B,GACxF,IAAI4+J,EACJ,GAAIhxC,EAAqB,CACrB,MAAMytD,EAAY12H,GAAeipE,GACjC,IAAKytD,EACD,OAEJzc,EAAsByc,EAAU90I,UAGpC,IAAI2D,EAAgBoxI,GAA+Bt7K,IAAQ4tH,IACvDxpE,aAAY,EAAZA,EAAc3X,eACdvC,GAAiB,IAIjB0jF,GAA2C,sBAApB5tH,EAAKr7D,KAAK/O,QACjCs0G,GAAiB,GAGjBppC,EAASoM,WACTg9B,GAAiB,KACVppC,EAASokG,qBAChBh7D,GAAiB,MAGjBlqC,EAAKkvB,UACLgb,GAAiB,KAGrB,MAAM4B,EAAe3O,GAAakN,eAC9BrqC,EAAKr7D,KAAK/O,MA71IlB,SAA6BouH,EAAyB1gD,EAAoBkgD,GACtE,MAAMx7C,EAAsB,CAACw7C,GAE7B,IAAIjiD,EAAiCyiD,EAGrC,KAAOziD,GACHA,EAAU,GAA2CA,GACjDA,GACAyG,EAAUr0E,KAAK4tE,EAAQ58D,KAAK/O,OAMpC,OAFAoyE,EAAUr0E,KAAK2vE,GAER0E,EAAUumB,UAAUz6F,KAAK,KA+0I5BynP,CAAoBv7K,EAAMc,EAASwC,WAAYtD,EAAKr7D,KAAK/O,OACzDkrE,EAASwC,WACT4mC,EACA,GAA4BlqC,EAAKukB,MAAMxhB,aAG3C+oC,EAAajN,QAAQyG,eAAiB2lB,GAAkBjrD,IAEpDc,EAASsiJ,mBAAqBtiJ,EAASsuH,kBAAoBtuH,EAASqiJ,8BAIpEr3G,EAAajN,QAAQ+/F,YAAc5+H,EAAKr7D,KAAK/O,OAGjDk2G,EAAajN,QAAQv+B,YAAc8jD,EAInC,MAAMjkD,EAAQ,GAA2BH,GACnCw7K,EAAiBr7K,aAAK,EAALA,EAAO85E,sBAAsBj6E,EAAKr7D,KAAK/O,OAC1DwuH,GAAgBo3H,GAChB1sB,EAA+B0sB,EAAevoK,OAAQmxC,EAActY,GAExEqiH,EAAenuJ,EAAM8rC,OAA0B10G,GAA8B,GAC7E+2N,EAAenuJ,EAAKr7D,KAAMmnG,OAA0B10G,GAA8B,GAIlF,MAAMqkP,EACF7c,GACA1hI,GAAUkD,qBAAqBw+H,IACX,aAApB5+J,EAAKr7D,KAAK/O,MAER8lP,EAAqB,GAC3B,IAAIC,EAAiB,EAIjB/iB,EAA8B,EAOlC,GANIgG,GAAyF,IAApC,EAA7B9yH,EAAajN,QAAQr9B,SAC7Co3J,EAA8B,GAK9B54J,EAAK0qB,4BAA8B1qB,EAAK0qB,0BAA0BlF,oBAAqB,CACvF,MAAMuuH,EAAW/zI,EAAKrkC,WAAWroC,OAASslO,EACpCrzN,EAAWy6D,EAAK0qB,0BAA0BjF,qBAAqBnyF,OAIjEslO,EAA8B,GAAKrzN,IAAay6D,EAAKrkC,WAAWroC,OAChEslO,EAA8B,EACvBrzN,IAAawuM,GACpBhmF,GACI7D,GAAUv4F,WAAW8+F,8BAA8B9mH,OAAO,CACtDoqM,WACAxuM,aAEJy6D,EAAK0qB,2BAKjB,MAAMkxJ,EAAqBlgO,IACvB,GAAIA,EAAM/W,KAAM,CACZ,MAAM01I,EAAkBJ,GAAsBv+H,EAAM/W,KAAM+W,EAAM/W,KAAK/O,OAA2B,GAC5FykJ,GACAy2E,GAAkBhwJ,EAAUu5E,EAAgBpnE,OAAQv3D,EAAM/W,QAKtE,IAAIk3O,GAAwB,EAqL5B,GAnLA77K,EAAKrkC,WAAW/d,SAAQ,CAAClC,EAAO+G,KAC5B,IAAI63F,EACA6wH,EAEAtU,EA8DAzsB,EA/DA0xC,GAAwB,EAsB5B,GAnBIpgO,EAAM/W,OAEQ,IAAV8d,GACAm8M,IACCzhI,GAAaoP,cAAcT,IACxB3O,GAAaiP,iBAAiBN,IAC9B3O,GAAakP,oBAAoBP,KAI9B3O,GAAaqP,iBAAiBV,IAG9B8yH,GAAuB1hI,GAAU+L,gBAAgB21H,KAJxDgd,EAAkBlgO,GAUtBA,EAAM4pE,eACNuxI,EAAgBn7M,EAAM4pE,oBACnB,GAAI5pE,EAAMqtE,sBACb8tI,EAAgBn7M,EAAMqtE,2BACnB,GAAI/oB,EAAK0qB,4BAA8B1qB,EAAK0qB,0BAA0BlF,oBAAqB,CAC9F,MAAMu2J,EAAgBt5N,EAAQm2M,EAC1BmjB,GAAiB,GAAKA,EAAgB/7K,EAAK0qB,0BAA0BjF,qBAAqBnyF,SAC1FujO,EAAgB72J,EAAK0qB,0BAA0BjF,qBAAqBs2J,IA0B5E,GAtBIllB,IACAsU,EAAgBvU,EAA6BC,EAAen7M,EAAMk7C,UAE9DgoC,GAAkBusI,KAAmBA,EAAcnsI,qBACnD+uB,GACI7D,GAAUv4F,WAAW46G,+BAA+B5iI,OAAO,CACvDu7D,MAAOimK,EAActsI,QAAQl6F,KAC7BwgE,MAAOgmK,EAActsI,QAAQl6F,OAEjCkyN,GAEJsU,EAAgBnuI,GAAYvyF,YAI/B0gO,GAAiBsQ,GACdh5N,EAAQ,GAAwB,IAAnB/G,EAAMk7C,UAAyCl7C,EAAM/W,OAClEwmO,EAAgBvM,EAAqB//H,QAAQ6G,eAAei2I,GAC5DA,KAIJxQ,EAAe,CACf,MAAM6Q,EAAwBC,GAA6BvgO,EAAOyvN,GAC9D6Q,IAA0B7Q,IAC1BA,EAAgB6Q,EAChBF,GAAwB,GAahC,GARIpgO,EAAM8vE,eACN4+G,EAAmBl8E,EACfxyG,EAAM8vE,aACN2/I,EAAa,GAEf7zO,MAGF6zO,EAAe,CAGf,GAAIzvN,EAAM8vE,cAAgB4+G,EAAkB,CACxC,MAAMF,EAAe,IAAIljF,GACnB1O,EAAa,IAAIpG,GAAWpG,EAAajN,QAAQyG,gBAOvD,GANIs5H,QAAsExnO,IAA/CwnO,EAAoB//H,QAAQyG,iBAC3B,aAApBtlC,EAAKr7D,KAAK/O,OAA4C,YAApBoqE,EAAKr7D,KAAK/O,OAC5C0iH,EAAW/E,iBAAiBqrH,EAAoB//H,QAAQyG,kBAI3DmoB,GAAc09G,EAAe/gC,EAAkBF,EAAc5xF,GAAa,CAC3E,MAAMwP,EAAO+E,GACT/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWwxG,0BAA0Bx5H,OAAO,CAClDq2G,WAAY2M,GAAUy9E,GACtB9vF,UAAWqS,GAAUw+G,KACpBjhC,EAAa5iF,YAClB5rG,EAAM8vE,cAGV,GAAIswJ,GAAyBjlB,EAAe,CACxC,MAAMqlB,EAAqD,CACvD31H,OAAQ,8BACR41H,iBAAkBtlB,EAAcziO,MAAQ,GAExC0zH,GACAA,EAAKxB,UAAU41H,KAM/B5hI,EAAY6wH,EAGhB,MAAMiR,EACiB,IAAnB1gO,EAAMk7C,UAAyCl7C,EAAM/W,MAAQ,GAAc+W,EAAM/W,KAAK/O,OACpFymP,EAA6C,IAAnB3gO,EAAMk7C,WAA0Cl7C,EAAM/W,KAElF8d,EAAQ,GAAKo5N,IAA0BO,IAAwBC,GAE/Dl/I,GAAa6O,aAAaF,EAAc,CACpCl1C,SAAU,EACVt/D,KAAM0lG,GAAYvyF,WAIrB2xO,IAAuBC,IACxBR,GAAwB,GAI5B,IAAIjxI,GAAiB,EAChB0P,IACD1P,GAAiB,EACjB0P,EAAYgiI,GAAmBt8K,EAAM8rC,EAAajN,QAAQr9B,MAAO/+C,EAAOm8M,IAG5E,MAAMjJ,EAAmC,CACrC/+J,SAAUl7C,EAAMk7C,SAChBjyD,KAAM+W,EAAM/W,KAAO+W,EAAM/W,KAAK/O,WAAQwB,EACtCg0G,aAAc1vF,EAAM8vE,aACpBysD,uBAAwBv8H,EAAM8vE,aAC9Bi/H,YAAargB,EACb9yM,KAAMgjH,UAAatd,GAAYvyF,SAC/B66E,eAAgBuxI,EAChBvrH,kBAAmBurH,EACnBjsH,kBAKJ,GAFAzN,GAAa6O,aAAaF,EAAc6pH,GAEpCj6M,EAAM/W,KAAM,CACZ,MAAM43O,EAAoB7mB,GAA2B11J,EAAMtkD,EAAMk7C,SAAU++J,EAAcr+N,MACzFokP,EAAW/nP,KAAK4oP,QAEhBb,EAAW/nP,KAAKgiO,EAAcr+N,SAIlCukP,GAAyB/vI,EAAajN,QAAQljE,WAAWroC,OAAS,GAElE6pG,GAAa6O,aAAaF,EAAc,CACpCl1C,SAAU,EACVt/D,KAAM0lG,GAAYvyF,WAK1BixO,EAAW99N,SAAQ,CAAC08F,EAAW73F,KAC3B,MAAM8nN,EAAgBvqK,EAAKrkC,WAAWlZ,GAAO9d,KACzC4lO,IACIvsI,GAAUsc,KACVxO,EAAajN,QAAQr9B,OAAS,OAElC2sJ,EAAeoc,EAAejwH,EAAW,GAAwC,OAMrFohI,EAAWpoP,QAAU,EAAG,CACxB,MAAMkpP,EAAad,EAAWA,EAAWpoP,OAAS,GAC5CmpP,EAAaf,EAAWA,EAAWpoP,OAAS,GAE9C6rG,GAAYq9I,IACmB,SAA/BA,EAAWntI,iBACXlQ,GAAYs9I,IACmB,WAA/BA,EAAWptI,kBAEXvD,EAAajN,QAAQr9B,OAAS,OAOtC,GAAIxB,EAAK0lB,qBAAsB,CAE3BomB,EAAajN,QAAQ2C,mBAAqBxE,GAAYvyF,SAEtD,MAAMi3F,EAAao1H,EAAoB92J,EAAK0lB,qBAAsB,CAC9DqxI,4BAA4B,EAC5BE,4BAA4B,IAEhCnrH,EAAajN,QAAQ2C,mBAAqBE,OACvC,GAAI1hC,EAAK0qB,0BAA2B,CAEvCohB,EAAajN,QAAQ2C,mBAAqBxE,GAAYvyF,SAEtD,MAAMi3F,EAAao1H,EAAoB92J,EAAK0qB,0BAA0BhF,qBAAsB,CACxFqxI,4BAA4B,EAC5BE,4BAA4B,IAEhCnrH,EAAajN,QAAQ2C,mBAAqBE,OAKtC5gC,EAASoM,aAGe,aAApBlN,EAAKr7D,KAAK/O,MACVk2G,EAAajN,QAAQ2C,mBAAqBnE,GAASgN,iBAEnDyB,EAAajN,QAAQ2C,mBAAqBxE,GAAYvyF,WAS9Dq2D,EAASoM,YAAc,GAA4BlN,EAAKukB,SAEpDunB,EAAajN,QAAQ2C,oBACrB/C,GAAgBqN,EAAajN,QAAQ2C,qBACrCtE,GAAUqH,UAAUuH,EAAajN,QAAQ2C,mBAAoB,CACzD,YACA,iBACA,yBAGJsK,EAAajN,QAAQr9B,OAAS,IAQtC,IAAIopF,EAHqB5qF,EAAKkvB,QAyhBlC,SAA6BlvB,EAAoB8rC,GAG7C,MAAM4wI,EAAwBv/I,GAAamN,MAAMwB,GAcjD,OAZIA,EAAajN,QAAQ2C,qBACrBk7I,EAAsB79I,QAAQ2C,mBAAqB8yH,GAC/Ct0J,EACA8rC,EAAajN,QAAQ2C,mBACrBrE,GAAasP,YAAYX,KAMjC4wI,EAAsB79I,QAAQr9B,OAAS,KAEhCk7K,EA1iBiCC,CAAoB38K,EAAM8rC,GAAgBA,EAI9EgQ,GAAe,EACnB,IAAK,IAAIlpH,EAAIotE,EAAKwkB,WAAWlxF,OAAS,EAAGV,GAAK,EAAGA,IAAK,CAClD,MAAMiyF,EAAY7kB,EAAKwkB,WAAW5xF,GAE5B6kP,EAAmBmF,GAAuBhyF,EAAe9+C,EAAcjnB,EAAW7kB,GACpF67C,GAAgB47H,GAEX37H,IACD+Q,GACI/rD,EAASgsD,kBAAkByvC,+BAC3BvnD,GAAeunD,+BACfryC,GAAUv4F,WAAWupG,+BACrBl7D,EAAKwkB,WAAW5xF,GAAGy3D,YAGvByxD,GAAe,GAInB8uC,EAAgB6sF,EAmBxB,OAdIr4I,GAAWwrD,KACPztD,GAAayP,aAAag+C,IAE1B5qF,EAAKrkC,WAAW/d,SAASlC,IACrBkgO,EAAkBlgO,MAI1BkvI,EA6aR,SAAoC5qF,EAAoB1oE,GACpD,IAAI8sH,EACJ,MAAM5jD,EAAO,GAAgCR,GACzCQ,IACA4jD,EAAe5jD,GAEnB,MAAM65E,EAAkBJ,GAAsBj6E,EAAMA,EAAKr7D,KAAK/O,OAA2B,GACzF,GAAIykJ,EAAiB,CACjB,MAAM7lD,EAAQ6lD,EAAgBpnE,OAAOy+B,kBAG/BJ,EAAY9c,EAAM3M,WAAWrnB,GAASA,IAAS4jD,IACrD,GAAI9S,EAAY,EAAG,CAIf,IAAK,IAAI1+G,EAAI,EAAGA,EAAI0+G,EAAW1+G,IAAK,CAChC,MAAM4tE,EAAOg0B,EAAM5hG,GACD,IAAd4tE,EAAKlpE,MACLqzJ,GAAkBnqF,EAAKR,MAI/B,MAAM68K,EAAkC,GAGlCC,EAAWtoJ,EAAM8c,EAAY,GACnC,GAAsB,IAAlBwrI,EAASxlP,KAAmC,CAC5C,MAAMylP,EAAuBpyF,GAAkBmyF,EAAS98K,MACpD+8K,IACI39I,GAAW29I,EAAqBnyF,eAC5BztD,GAAayP,aAAamwI,EAAqBnyF,gBAC/CiyF,EAAgBlpP,KAAKopP,EAAqBnyF,eAEvCvrD,GAAqB09I,EAAqBnyF,gBAGjDiyF,EAAgBlpP,QAAQopP,EAAqBnyF,cAAc/oD,YAOvE,GAFAg7I,EAAgBlpP,KAAK2D,GAEU,IAA3BulP,EAAgBvpP,OAChB,OAAOupP,EAAgB,GAK3B,MAAM7/H,EAAc5f,GAAuB3yF,OAAOoyO,GAE5C7uC,EAAe6uC,EAAgBA,EAAgBvpP,OAAS,GAa9D,OAZ+B6pG,GAAaqP,iBAAiBwhG,KAC3B7wG,GAAaqP,iBAAiBl1G,IAG5Du1H,GACI,GAA6B7sD,GAAM8sD,kBAAkBC,wBACrD/X,GAAe+X,wBACf7C,GAAUv4F,WAAWkwG,2BAA2Bl4H,OAAO,CAAEhF,KAAMq7D,EAAKr7D,KAAK/O,QACzEoqE,EAAKr7D,MAINq4G,GAIf,OAAO1lH,EAlfa0lP,CAA2Bh9K,EAAM4qF,IAGrDujE,EAAenuJ,EAAKr7D,KAAMmnG,EAAc,GAAwC,GAChFqiH,EAAenuJ,EAAM4qF,EAAe,GAAwC,GAErE,CAAE9+C,eAAc8+C,iBAG3B,SAASqxF,GAA6BvgO,EAAsBpkB,G,MAKxD,GACgC,MAAV,QAAlB,EAAAokB,EAAM8vE,oBAAY,eAAEzsB,WACa,KAAjCrjD,EAAM8vE,aAAajF,WAClB4vB,GAAe7+G,IACf,GAA6BokB,GAAOoxG,kBAAkBouC,0BAGpD,GAAIv8D,GAAUrnG,IAASokB,EAAM8vE,cAAmC,IAAnBl0F,EAAKu3G,UAAyC,CAK9F,MAAMouI,EAAiB/uH,EACnBxyG,EAAM8vE,aACNl0F,EAAI,GAENA,KAEGymG,GAAMk/I,KACP3lP,EAAOgsG,GAAa,CAAChsG,EAAM2lP,WAb/B3lP,EAAOgsG,GAAa,CAAChsG,EAAM+lG,GAASgN,mBAiBxC,OAAO/yG,EAIX,SAASglP,GACLt4H,EACA9Z,EACAyQ,EACAikH,G,MAIA,GAAIA,EAAqB,CACrB,GAAmB,IAAfjkH,GACyD,IAApC,EAAhBzQ,GAGD,OAAOuO,GAA4BmmH,EAD6D,IAA3E,EAAhB10H,IAKb,MACMgzI,EAAsB/jI,GACxBylH,EAFe56G,EAAar/G,KAAK/O,MAGvB,GAId,GAAIsnP,EAAqB,CACrB,MAAMC,EAAcD,EAAoBjqK,OAAOy+B,kBAC/C,GAA2B,IAAvByrI,EAAY7pP,QAAwC,IAAxB6pP,EAAY,GAAG7lP,KAAmC,CAC9E,MAAM8lP,EAAsBD,EAAY,GAAGn9K,KAG3C,GACIo9K,EAAoBzhN,WAAWroC,SAAW0wH,EAAaroF,WAAWroC,QAClE8pP,EAAoBzhN,WAAWtc,OAAM,CAAC3D,EAAO+G,K,QACzC,MAAM46N,EAAgBr5H,EAAaroF,WAAWlZ,GAC9C,OACsB,QAAlB,EAAA46N,EAAc14O,YAAI,eAAE/O,UAAoB,QAAV,EAAA8lB,EAAM/W,YAAI,eAAE/O,QAC1CynP,EAAczmL,WAAal7C,EAAMk7C,YAG3C,CACE,MAAM0mL,EAAiBF,EAAoBzhN,WAAWg/E,GAChD4iI,EAC2B,QAA7B,EAAAD,EAAeh4J,sBAAc,QAAIg4J,EAAev0J,sBACpD,GAAIw0J,EAA0B,CAC1B,IAAIC,EAAoB5mB,EACpB2mB,EACAv5H,EAAaroF,WAAWg/E,GAAY/jD,UAGxC,MAAMkK,EAAW,GAA6BkjD,GAK9C,OAJIljD,EAASokG,qBAAuBpkG,EAASoM,aACzCswK,EAAoB1gJ,GAAS+I,sBAAsB23I,IAGhDA,MAS3B,MAAMC,EAAiBz5H,EAAaroF,WAAWg/E,GAAYnvB,aAC3D,GAAIiyJ,EAAgB,CAChB,MAAMrzC,EAAmBl8E,EACrBuvH,OACmBrmP,EAAS,GAE9BE,KAEF,IAAIkmP,EAeJ,GAdI5/I,GAAewsG,GAEfozC,EAAoBl6I,GAAa,CAACjG,GAASgN,iBAAkBrN,GAAYvyF,WAKpEg0F,GAAgB2rG,IAChBltG,GAAUqH,UAAU6lG,EAAkB,CAAC,QAAS,OAAQ,MAAO,WAEhEozC,EAAoB7mI,GAAkByzF,IAI1CozC,EAAmB,CACnB,MAAM18K,EAAW,GAA6BkjD,GAC1CljD,EAASokG,qBAAuBpkG,EAASoM,aACzCswK,EAAoB1gJ,GAAS+I,sBAAsB23I,IAI3D,OAAOA,GASf,SAAS9nB,GAA2B11J,EAAiBykB,EAAkCntF,GACnF,OAAQmtF,GACJ,KAAK,EACD,OAAOntF,EAGX,KAAK,EACD,OAAIqnG,GAAUrnG,IAASA,EAAK+3G,gBACjB/3G,EAGP2nG,GAAgB3nG,GACT4lG,GAAU8K,iBAAiB1wG,GAA4B,GAG9D2sM,GAAkBzlG,GAAoBylG,GAC/B/mG,GAAUgK,gBACbqV,GACI0nF,EACA,CAAC,CAAE3sM,OAAMkpG,aAAc5B,GAAkBtnG,MACZ,GACT,IAKzB0lG,GAAYvyF,SAGvB,KAAK,EAAoC,CAErC,GAAIk0F,GAAUrnG,IAASA,EAAK+3G,gBACxB,OAAO/3G,EAIX,GAAImnG,GAAgBnnG,IAAS4lG,GAAU0L,iBAAiBtxG,IAASA,EAAK4nG,WAClE,OAAO5nG,EAIX,MAAM2wM,EAAWz9E,GAAexqD,EAAM,QAChC8rD,EAAU+2E,GAAiB7iI,EAAM,OAEvC,OAAIw+B,GAAoBypG,IAAaxpG,GAAgBqtB,GAC1C5uB,GAAUgK,gBACbhK,GAAUkK,uBAAuB6gG,EAAU,CAACn8E,EAASx0H,IAAoC,IAI1F0lG,GAAYvyF,WAO/B,SAAS6wO,GAA+Bt7K,EAAoB09K,GACxD,MAAM58K,EAAW,GAA6Bd,GAC9C,IAAIwB,EAAQ,EAIY,YAApBxB,EAAKr7D,KAAK/O,OAAuB8nP,IACjCl8K,GAAS,GAKW,sBAApBxB,EAAKr7D,KAAK/O,OAAiC8nP,IAC3Cl8K,GAAS,GAGb,IAAK,MAAM86G,KAAiBt8G,EAAKwkB,WAAY,CAEzC,IAAIgzI,EAAiB12J,EAASoM,WAAa,EAAwC,EACzC,IAAtCovG,EAAcjyH,WAAW0U,WACzBy4J,GAAkB,GAGtB,MAKMvN,EALsB/7F,EACxBouD,EAAcjyH,gBACKjzD,EACnBogO,GAEsClgO,KAEtC8nG,GAAW6qH,GAC+B,mBAAtCA,EAAcprH,QAAQ+/F,YAClB8+C,IACAl8K,GAAS,GAEgC,UAAtCyoJ,EAAcprH,QAAQ+/F,cAC7Bp9H,GAAS,MAENg9B,GAAoByrH,KACvB/sH,GAAUqH,UAAU0lH,EAAe,gBAC/ByzB,IACAl8K,GAAS,GAEN07B,GAAUqH,UAAU0lH,EAAe,gBACtCyzB,IACAl8K,GAAS,IAMzB,OAAOA,EAKX,SAASo7K,GACLe,EACAC,EACAthE,EACAt4D,GAKA,IAAIwzG,EAHa,GAA6Bl7C,GAGhBpvG,WAAa,EAAwC,EACzC,IAAtCovG,EAAcjyH,WAAW0U,WACzBy4J,GAAkB,GAGtB,MAKMvN,EALsB/7F,EACxBouD,EAAcjyH,gBACKjzD,EACnBogO,GAEsClgO,KAI1C,IACKknG,GAAoByrH,IAAkB/sH,GAAUgL,iBAAiB+hH,EAAe,aAChF7qH,GAAW6qH,IAAwD,aAAtCA,EAAcprH,QAAQ+/F,cAEhDx/F,GAAWu+I,GAGX,OAFAA,EAAkB9+I,QAAQr9B,OAAS,IACnCo8K,EAAgB/+I,QAAQr9B,OAAS,IAC1Bm8K,EAIf,GAA0C,IAAtCrhE,EAAcjyH,WAAW0U,SAAiC,CAC1D,MAAMm8K,EAAoBhtH,EACtBouD,EAAcjyH,WAAW2U,oBACN5nE,EACF,EAAjBogO,GACFlgO,KAEF,GAAI8nG,GAAW87I,KAE4B,4BAAnCA,EAAkBr8I,QAAQl6F,MACgB,wBAA1Cu2O,EAAkBr8I,QAAQ+/F,aAM1B,OAJAg/C,EAAgB/+I,QAAQgqH,4BAA8BR,GAClDkR,GACAj9C,EAAcjyH,YAEXszL,EAKnB,IAAIj8I,EAAaq2H,EAAqBz7C,EAAeqhE,GAGrD,GAAIv+I,GAAW6qH,GAAgB,CAC3B,GAA0C,mBAAtCA,EAAcprH,QAAQ+/F,YACtB,OAAO++C,EAIX,GAA0C,KAAtCrhE,EAAcjyH,WAAW0U,SAAyC,CAClE,MAAM8uD,EAAWK,EACbouD,EAAcjyH,WAAW2U,oBACN5nE,EACF,EAAjBogO,GACFlgO,KAEF,GAAI2gH,GAAW4V,GAAW,CACtB,MAAMluD,EAAa28G,EAAcjyH,WAAWsV,WAAW/pE,MACvD,GAAmB,WAAf+pE,EACA,OAAIy/B,GAAWu+I,IACX5zB,GAAuBwP,GAAoBokB,EAAmBrhE,GDx6dnF,SACHlyD,EACA9oE,EACAu8L,EACA3gG,GAEA,IAAKjlC,GAAW32D,GACZ,OAAOA,EAGX,MAAMilD,EAAYjlD,EACZw8L,EAAev3I,EAAU1H,QAAQr9B,MACvC,IAAI8oJ,IAA2B/jH,EAAU+jH,uBAKzC,MAAMxpJ,EAAW,GAAYo8E,GAC7B,GAAIA,EAAUvhH,WAAWroC,QAAU,EAAG,CAClC,MAAMgyF,EAAiB8kC,EAAUo2B,8BAA8BtD,EAAW,GAC1E,GAAI53D,EAAgB,CAEhB,MAAMy4J,EAAW3zH,EAAU2+B,0BAA0BxiD,GAAmC,GACxF,GAAIw3I,IAAa9/I,GAAe8/I,GAAW,CACvC,MAAMC,EAAW5zH,EAAU0sG,oBAAoBxxI,EAAgB,CAC3DyxI,4BAA4B,EAC5BE,4BAA4B,IAIhC,GAA8D,SAA1Dn2J,EAASgsD,kBAAkBuuC,2BAAuC,CAClE,MAAMvzC,EAAO,IAAId,GACZoD,EAAUqD,cAAcswH,EAAUC,EAAUl2H,IAC7CsC,EAAUyC,cACN/rD,EAASgsD,kBAAkBuuC,2BAC3BrmD,GAAeqmD,2BACfnxC,GAAUv4F,WAAWg0G,2BAA6B7d,EAAKR,YACvDhiC,GAKPoa,GAAWq+I,EAAUC,KACtB1zB,GAAyB,KAMzC,MAAMF,EAAgBltH,GAAU6J,mBAC5BR,EAAU1H,QAAQl6F,KAClB4hG,EAAU1H,QAAQwG,SAClBkB,EAAU1H,QAAQv7B,WAClB,GAAY45E,GAAW/oF,SACvB2pL,EACAv3I,EAAU1H,QAAQ+H,aAClBL,EAAU1H,QAAQiI,kBAClBP,EAAU1H,QAAQmI,oBAEtBojH,EAAcvrH,QAAQyG,eAAiBiB,EAAU1H,QAAQyG,eACzDiY,GAAwB6sG,GAExB,MAAMC,EAAiBntH,GAAUgK,gBAAgBkjH,GACjDA,EAAcE,uBAAyBA,EAGvC,MAAMxnH,EAASsnH,EAAcvrH,QAAQiE,OACrCyD,EAAU1H,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KACjCsuE,EAAOo9B,6BACRvN,EAAOrlG,IAAIkH,EAAMsuE,MAKzB,MAAMgrK,EAAa,kBAAsB,EAAyBJ,GAClE/6I,EAAOrlG,IAAI,OAAQwgP,GAGnB,MAAMC,EAAc/gJ,GAAakN,eAAe,UAAW,GAAI,GAAI,IACnElN,GAAa6O,aAAakyI,EAAa,CACnCtnL,SAAU,EACVjyD,KAAM,OACNrN,KAAMgqD,EACNgqD,iBAAiB,IAErB,IAAIq/G,EAAUkzB,EAAKh/I,QAAQljE,WAAWroC,OAAS,EAAIuqP,EAAKh/I,QAAQljE,WAAW,GAAGrkC,KAAOimG,GAAQ9yF,SACzFk0F,GAAUgsH,IAAYA,EAAQ9rH,QAAQ2Q,oBACtCm7G,EAAUvgG,EAAU82B,6BAA6BypE,IAErDxtH,GAAa6O,aAAakyI,EAAa,CACnCtnL,SAAU,EACVjyD,KAAM,MACNrN,KAAMgsG,GAAa,CAACqnH,EAASttH,GAASgN,mBACtCiB,iBAAiB,IAErB4yI,EAAYr/I,QAAQ2C,mBAAqBnE,GAASgN,iBAClD,IAAI8zI,EAAqBnhJ,GAAYvyF,SAEjCozO,EAAKh/I,QAAQljE,WAAWroC,QAAU,GACM,IAAxCuqP,EAAKh/I,QAAQljE,WAAW,GAAGi7B,UAC3BinL,EAAKh/I,QAAQljE,WAAW,GAAGh3B,OAE3Bw5O,EAAeN,EAAKh/I,QAAQljE,WAAW,GAAGrkC,MAE9C6lG,GAAa6O,aAAakyI,EAAa,CACnCtnL,SAAU,EACVjyD,KAAM,QACNrN,KAAM6mP,EACN7yI,iBAAiB,IAErB,MAAM8yI,EAAY,kBAAsB,EAAyBF,GAGjE,OAFAp7I,EAAOrlG,IAAI,UAAW2gP,GAEf/zB,ECwzdwBg0B,CACH9kB,GACA1rG,EACA8vH,EACA35H,IAGG25H,EAER,GAAmB,YAAfh+K,EACP,OAAIy/B,GAAWu+I,IACX5zB,GAAuBwP,GAAoBokB,EAAmBrhE,GDh0dnF,SACHlyD,EACA9oE,EACAg9L,EACAphG,G,MAEA,IAAKjlC,GAAW32D,GACZ,OAAOA,EAGX,MAAMilD,EAAYjlD,EACZ8oK,EAAgBltH,GAAU6J,mBAC5BR,EAAU1H,QAAQl6F,KAClB4hG,EAAU1H,QAAQwG,SAClBkB,EAAU1H,QAAQv7B,WAClB,GAAY45E,GAAW/oF,SACvBoyC,EAAU1H,QAAQr9B,MAClB+kC,EAAU1H,QAAQ+H,aAClBL,EAAU1H,QAAQiI,kBAClBP,EAAU1H,QAAQmI,oBAEtBojH,EAAcvrH,QAAQyG,eAAiBiB,EAAU1H,QAAQyG,eACzDiY,GAAwB6sG,GAExB,MAAMC,EAAiBntH,GAAUgK,gBAAgBkjH,GACjDA,EAAcE,uBAAyD,QAAhC,EAAA/jH,EAAU+jH,8BAAsB,SAGvE,MAAMxnH,EAASsnH,EAAcvrH,QAAQiE,OACrCyD,EAAU1H,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KACjCsuE,EAAOo9B,6BACRvN,EAAOrlG,IAAIkH,EAAMsuE,MAKzB,MAAMsrK,EAAa,kBAAsB,EAAyBD,GAClEx7I,EAAOrlG,IAAI,OAAQ8gP,GAGnB,MAAMC,EAAcrhJ,GAAakN,eAAe,aAAc,GAAI,GAAI,IACtElN,GAAa6O,aAAawyI,EAAa,CACnC5nL,SAAU,EACVjyD,KAAM,OACNrN,KAAMgqD,EACNgqD,iBAAiB,IAErB,IAAIq/G,EAAU2zB,EAAKz/I,QAAQljE,WAAWroC,OAAS,EAAIgrP,EAAKz/I,QAAQljE,WAAW,GAAGrkC,KAAOimG,GAAQ9yF,SACzFk0F,GAAUgsH,IAAYA,EAAQ9rH,QAAQ2Q,oBACtCm7G,EAAUvgG,EAAU82B,6BAA6BypE,IAErDxtH,GAAa6O,aAAawyI,EAAa,CACnC5nL,SAAU,EACVjyD,KAAM,MACNrN,KAAMgsG,GAAa,CAACqnH,EAASttH,GAASgN,mBACtCiB,iBAAiB,IAErBkzI,EAAY3/I,QAAQ2C,mBAAqBnE,GAASgN,iBAClD,MAAMo0I,EAAY,kBAAsB,EAAyBD,GAGjE,OAFA17I,EAAOrlG,IAAI,aAAcghP,GAElBp0B,ECowdwBq0B,CACHnlB,GACA1rG,EACA8vH,EACA35H,IAGG25H,SAKpB,GAAIn/I,GAAoByrH,GAAgB,CAC3C,GAAI/sH,GAAUqH,UAAU0lH,GACpB,OAAQA,EAAcprH,QAAQl6F,MAC1B,IAAK,cACL,IAAK,eAAgB,CACjB,MAAMg6O,EAC6B,gBAA/B10B,EAAcprH,QAAQl6F,KAChB,EACA,EAKV,GAAIy6F,GAAWu+I,IAA2E,IAApDA,EAAkB9+I,QAAQr9B,MAAQm9K,GAAqB,CACzF,MAAMj0I,EAAcvN,GAAamN,MAAMqzI,GAOvC,OANAjzI,EAAY7L,QAAQr9B,QAAS,EAK7BkpC,EAAY7L,QAAQr9B,OAASm9K,EACtBj0I,EAGX,OAAOizI,GAMnB,GAAIzgJ,GAAU6L,gBAAgBkhH,GAAgB,CAC1C,GAAI7qH,GAAWu+I,GAEX,OADA5zB,GAAuBwP,GAAoBokB,EAAmBrhE,GACvD0tC,GAAeuP,GAAoBj9C,EAAe2tC,EAAe0zB,GACrE,GAAIl/I,GAAgBk/I,GAAoB,CAC3C,MAAMvoB,EAAal8G,GAAmBykI,EAAmB,YACzD,GAAIvoB,EAAY,CACZ,MAAM1kE,EAAaZ,GAAgBslE,GACnC,GAAIh2H,GAAWsxD,IAAerxD,GAAqBqxD,GAAa,CAC5D,MAAM2kE,EAAcxsE,GAA4B80F,EAAmBjtF,GACnE,GAAI2kE,GAAej2H,GAAWi2H,GAC1B,OAAOrL,GAAeuP,GAAoBj9C,EAAe2tC,EAAeoL,IAKpF,OAAOr4H,GAAYvyF,WAoB/B,OAfI20F,GAAWu+I,IAAsBv+I,GAAWsC,KAC5CA,EAAavE,GAAamN,MAAM5I,GAG5BvE,GAAayP,aAAa+wI,KAC1Bj8I,EAAW7C,QAAQr9B,OAAS,KAK3BkgC,EAAW7C,QAAQlJ,YACpB+L,EAAW7C,QAAQlJ,UAAYgoJ,EAAkB9+I,QAAQlJ,YAI1D+L,EAmGX,SAAS4yH,GAA0Bt0J,EAAiB0hC,EAAkB+K,GAClE,IAAImyI,EAEJ,GAAIngJ,GAAgBiD,IACZxE,GAAUqH,UAAU7C,GACpB,GAAgC,cAA5BA,EAAW7C,QAAQl6F,KAAsB,CAEzC,MAAMk6O,EAAqBz6C,GAAcpkI,EAAM,kBAC/C,GAAI6+K,GAAsBrgJ,GAAoBqgJ,GAAqB,CAC/D,MAAMr5I,EAAmB,GACnB4V,EAAoB1Z,EAAWhB,cACjC0a,GAAqBA,EAAkB9nH,OAAS,GAChDkyG,EAAS7xG,KAAKynH,EAAkB,IAEhCA,GAAqBA,EAAkB9nH,OAAS,GAChDkyG,EAAS7xG,KAAKynH,EAAkB,IAEpCwjI,EAAsB1hJ,GAAUgK,gBAC5BhK,GAAUkK,uBACNy3I,EACAr5I,GAC6B,SAKzC,CAAC,iBAAkB,gBAAiB,iBAAiBz+C,MAChDpiD,GAASA,IAAS+8F,EAAW7C,QAAQl6F,SAK1Ci6O,EAAsBl9I,GAKlC,IAAKk9I,IAAwBnyI,EAAa,CAEtC,MAAMqyI,EAAgB16C,GAAcpkI,EAAM,aAEtC4+K,EADAE,GAAiBtgJ,GAAoBsgJ,GACf5hJ,GAAUgK,gBAC5BhK,GAAUkK,uBACN03I,EACA,CAACvhJ,GAAQ9yF,SAAU8yF,GAAQ9yF,SAAUi3F,IACR,IAIf1E,GAAYvyF,SAI1C,OAAOm0O,EAGX,SAASG,GAAwB/+K,EAAoBg/K,G,MAOjD,GANyBh/K,EAAK0lB,uBAAsD,QAA9B,EAAA1lB,EAAK0qB,iCAAyB,eAAEhF,sBAOlF,OAIJ,IAAIic,EAAqBqsH,EAAchuJ,EAAKukB,MAAO,GACnD,GAAIod,EACA,OAAOA,EAGX,IAAK4qH,EAAqB7vM,IAAIsjD,EAAK9qD,IAAK,CACpCq3M,EAAqB9uN,IAAIuiE,EAAK9qD,IAAI,GAElC,IACI,IAAIkvG,EACJ,MAAM5jD,EAAO,GAAgCR,GACzCQ,IACA4jD,EAAe5jD,GAGnB,MAAM4yI,GAAwBC,GAAqBrzI,GAC7CszI,EAAwBD,GAAqBrzI,EAAKukB,OAGxD,GAAI,GAA6BvkB,GAAMkN,WAInCy0B,EAAqB3E,GAAYvyF,aAC9B,CACH,GAAI2oM,EAKIzxG,EADAq9I,GAsHxB,SAA0C56H,GACtC,IACKA,IACAA,EAAaV,UACdU,EAAaqsE,kBACbrsE,EAAao4E,kBACZp4E,EAAautE,gBAEd,OAAO,EAGX,IAAK,MAAMstD,KAAkB76H,EAAautE,gBAAiB,CACvD,IAAKstD,EAAe30J,gBAAkB20J,EAAe7/K,gBACjD,OAAO,EAEX,MAAM8/K,EAAYhxH,EAAoB+wH,EAAe30J,gBAAgBhzF,KAC/DivG,EAAY/H,GAAoB0gJ,IAEhCzgJ,GAAgBygJ,GADhBA,OAGA9nP,EACN,IAAKmvG,IAAcrJ,GAAUqH,UAAUgC,EAAW,uBAC9C,OAAO,EAIf,OAAO,EAhJ2B44I,CAAiC/6H,GAC1BpnB,GAAYvyF,SAEZ6yF,GAAUqG,qBAEhC,CACH,MAAMy7I,EAA8B,IAChCh7H,aAAY,EAAZA,EAAcqsE,mBACdrsE,EAAaqsE,iBAAiB7yK,SAASm/J,IACnC,GAAI0jB,GAAgB1jB,GAChB,GAAIA,EAAWlxF,iBAAkB,CAC7B,MAAM6V,EAAawsB,EAAoB6uD,EAAWlxF,kBAAkBv0F,KACpE8nP,EAAoBzrP,KAAK+tG,GAAc1E,GAAYvyF,eAEnD20O,EAAoBzrP,KAAK0pG,GAASgN,sBAM7C+oG,GAAwBE,GACzB8rC,EAAoBzrP,KAAK0pG,GAASgN,kBAGtC1I,EAAqB2B,GAAa87I,GAIlCz9I,EAAqBsB,GAActB,GAIvC,GAAIyiB,aAAY,EAAZA,EAAc3X,YAAa,CAC3B,MAAM4yI,EAA6B,GACnC,IAAIC,GAAwB,EAExBl7H,EAAao4E,iBACbp4E,EAAao4E,gBAAgB5+K,SAAS2hO,IAClC,GAAI9+C,GAAgB8+C,GAChB,GAA2B,KAAvBA,EAAUxgL,SAAsC,CAChD,MAAMsyK,EAAenjH,EAAoBqxH,EAAUl1L,YAAY/yD,KAC/D,GACImnG,GAAgB4yI,IAChBn0I,GAAUqH,UAAU8sI,EAAc,aAGlCgO,EAAmB1rP,OACnB2rP,GAAwB,MACrB,CACH,MAAM9zC,EAAYI,GACdylC,GACc,EACdkO,GAEJF,EAAmB1rP,KAAK63M,GAAaxuG,GAAYvyF,gBAGrD,GAAI80O,EAAUl1L,WAAY,CACtB,MAAMmhJ,EAAYt9E,EAAoBqxH,EAAUl1L,YAAY/yD,KAC5D+nP,EAAmB1rP,KAAK63M,GAAaxuG,GAAYvyF,eAEjD40O,EAAmB1rP,KAAK0pG,GAASgN,qBAOnB,IAA9Bg1I,EAAmB/rP,QACnB+rP,EAAmB1rP,KAAK0pG,GAASgN,kBAErC,MAAMm1I,EAAoBl8I,GAAa+7I,GAIjCI,EAAgBr7C,GAClBpkI,EACAs/K,EAAwB,qBAAuB,aAGnD,GAAIG,GAAiBjhJ,GAAoBihJ,GAAgB,CACrD,MAAMj6I,EAAmB,GAErB85I,GACA95I,EAAS7xG,KAAK4pG,GAAQ9yF,UAG1B+6F,EAAS7xG,KACL6rP,EACAniJ,GAASgN,iBACT1M,GAAQgE,GAAsBtE,GAASgN,iBAAmB1I,GAG9DA,EAAqBzE,GAAUgK,gBAC3BhK,GAAUkK,uBACNq4I,EACAj6I,GAC6B,SAIrC7D,EAAqB3E,GAAYvyF,UAK7C0jN,EAAenuJ,EAAKukB,MAAOod,EAAoB,GAAwC,G,QAEvF4qH,EAAqBrxM,OAAO8kD,EAAK9qD,KAIzC,OAAOysF,EAmCX,SAAS+9I,GAA6B1/K,GAClC,GAAIguJ,EAAchuJ,EAAM,GACpB,OAGJ,MAAM2/K,EAAqBzxH,EAAoBluD,EAAK4jB,oBAC9Cg8J,EACFh0C,GAAoB+zC,EAAmBroP,OAAQ0oE,EAAKkvB,QAASlvB,EAAK4jB,qBAClEoZ,GAAYvyF,SAEhBm9L,GACI5nI,EAAK2jB,iBACLi8J,IACED,EAAmBrkN,aACrB0kC,EAAK2jB,kBAGTwqI,EAAenuJ,EAAM4/K,EAAc,IAAuBD,EAAmBrkN,cAGjF,SAASukN,GAAgC7/K,GAIrC,GAFA5V,OAA+BhzD,IAAxB4oE,EAAKsqB,gBAER0jI,EAAchuJ,EAAM,GACpB,OAKJ,SAAS8/K,EAAiB/zC,EAAqB7uD,GAG3C,OAAIj/C,GAFJ8tG,EAAgB7qD,GAA6B6qD,IAGlCA,EAGPvtG,GAAoButG,GACb7uG,GAAUgK,gBAAgB6kG,GAGjCttG,GAAgBstG,GAIT31F,GAFHw1F,GAAoBG,GAA6B,EAAO7uD,IAAclgD,GAAYvyF,UAEpD2zF,GAC1BH,GAAeG,GACRA,EAGJpB,GAAYvyF,WAIpBuyF,GAAYvyF,SAGvB,MAAMs1O,EAAa3pI,GA7BI8X,EAAoBluD,EAAKsqB,gBAAiBhzF,MA6BjB0oP,IAG5C,MAAM5jI,EAAYjF,GAAwB6oI,GAC1C,OAAI5jI,GAAaA,EAAU/b,mBAIhBiD,GAHY8Y,EAAU/b,mBAAmBjkF,KAAKyoC,GAC1Ci7L,EAAiBj7L,EAAEvtD,KAAM0oE,EAAKsqB,mBAKtCw1J,EAAiBE,EAAShgL,EAAKsqB,mBAGtCtqB,EAAKr7D,MACLijM,GAAuB5nI,EAAKr7D,KAAMo7O,GAA+B,EAAO//K,EAAKr7D,MAGjFwpN,EAAenuJ,EAAM+/K,EAAY,GAAwC,GAG7E,SAASE,GAA8BjgL,GACnC,GAAIguJ,EAAchuJ,EAAM,GACpB,OAGJ,MAAMqzJ,EAAiBnlG,EAAoBluD,EAAK3V,YAChD,IAAIk6I,EAAW8uB,EAAe/7N,KAC9B,MAAM43F,EAAUlvB,EAAKviC,QAAmC,KAAzBuiC,EAAKviC,OAAOshC,YAAqCiB,EAAKviC,OAAOyxD,QAExFinB,GAAeouF,KAEf13E,GADiB,GAA6B7sD,GAEjC8sD,kBAAkBuvC,6BAC3BrnD,GAAeqnD,6BACfnyC,GAAUv4F,WAAW0uG,oBACrBrgE,EAAK3V,YAETk6I,EAAWrhG,GAAoBqhG,IAInC,MAAM27C,EAAkBhxJ,EAAU,aAAe,YAC3CixJ,EAAa/pI,GAAYmuF,GAAWnmG,I,MAGtC,GAAIH,GAFJG,EAAU8iD,GAA6B9iD,IAGnC,OAAOA,EAGX,MAAM0pB,EAAO,IAAId,GACXo5H,EAAiB,IAAIp5H,GAE3B,GAAIvoB,GAAgBL,GAAU,CAC1B,MAAMiiJ,EAML,QANiB,EAAAt5C,GACd/mI,EAAK3V,WACL+zC,EACA8hJ,EACA,CAAEhoO,OAAQ,OACV4vG,UACH,eAAExwH,KAEH,GAAI+oP,EAAW,CACX,IAAIC,EAYJ,OAVIA,EADAlhJ,GAAWihJ,GACQxqB,GAA+BwqB,GAE/BrjJ,GAAYvyF,SAI/BykF,IACAoxJ,EAAmB/rB,GAAqB+rB,EAAkBtgL,IAGvDsgL,EAGNpxJ,GACkB63G,GACf/mI,EAAK3V,WACL+zC,EACA,aACA,CAAElmF,OAAQ,OACV4vG,IAGAs4H,EAAel5H,WAAWgD,GAAUlD,mBAAmB4nB,aAanE,OAPA/hB,GADiB,GAA6B7sD,GAEjC8sD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW+3G,oBAAoB//H,OAAO,CAAErS,KAAMq1H,GAAUvuB,GAAUlmF,OAAQgoO,IAChFE,EAAe94H,YACnBtnD,EAAK3V,YAEF2yC,GAAYvyF,YAIjB81O,EAAiBrxJ,EAAU,YAAc,WAC/CwlB,GAAiB6vF,GAAWnmG,IAGxB,GAAIH,GAFJG,EAAU8iD,GAA6B9iD,IAGnC,OAGJ,MAAM0pB,EAAO,IAAId,GAEbvoB,GAAgBL,IACC2oG,GACb/mI,EAAK3V,WACL+zC,EACAmiJ,EACA,CAAEroO,OAAQ,OACV4vG,IASR+E,GADiB,GAA6B7sD,GAEjC8sD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW+3G,oBAAoB//H,OAAO,CAAErS,KAAMq1H,GAAUvuB,GAAUlmF,OAAQqoO,IACpFvgL,EAAK3V,eAIT2V,EAAK7hE,QACLypM,GAAuB5nI,EAAK7hE,OAAQgiP,IAAc9sB,EAAe/3L,aAAc0kC,EAAK7hE,QAGxFgwN,EAAenuJ,EAAMmgL,EAAY,IAAuB9sB,EAAe/3L,cAG3E,SAASklN,GAAyBxgL,GAC9B,GAAIguJ,EAAchuJ,EAAM,GACpB,OAGJ,IAAIygL,EAUJ,GAPIA,EAFAzgL,EAAKyE,MAEYzE,EAAKyE,MAILzE,EAAK51D,OAAO49D,UAAU,IAGtCy4K,EAED,OAIJ,IAAIt9C,EAAau9C,GAA4B1gL,EAAMygL,EAAe7qP,QAAUonG,GAAYvyF,SAIxF,MAAMk2O,EAAmB3yB,EAAchuJ,EAAM,GACzC2gL,GAAoBjiJ,GAASiiJ,IAAqBx9C,GAC9CzjG,GAAWyjG,EAAYw9C,KACvBx9C,EAAaw9C,GAIrBzlB,GAAqBulB,EAAgBt9C,GAA+B,GAEpEgrB,EAAenuJ,EAAMmjI,EAAY,GAAwC,GAG7E,SAASy9C,GAA6B5gL,G,MAClC,GAAIguJ,EAAchuJ,EAAM,GACpB,OAGJ,MAAM6gL,EAAY7gL,EAAKyE,OAASzE,EAAKr7D,KAC/Bm8D,EAAW,GAA6Bd,GAI9C,IAAc,QAAV,EAAAA,EAAKyE,aAAK,eAAE7uE,SAAUoqE,EAAKr7D,KAAK/O,MAAO,CACvC,MAAMokJ,EAAgBC,GAAsBj6E,EAAMA,EAAKr7D,KAAK/O,OAA2B,GACnFokJ,GACA82E,GAAkBhwJ,EAAUk5E,EAAc/mE,OAAQjT,GAI1D,IAAImjI,EAAau9C,GAA4B1gL,EAAM6gL,EAAUjrP,OAC7D,IAAKutM,EAAY,CACb,MAAM99E,EAAarlD,EAAKviC,OACxB2sB,EAAOi7D,GAAsC,KAAxBA,EAAWtmD,UAChC3U,GAAQi7D,EAAW/gD,kBAEnB,MAAMrE,EAAa,GAA+BolD,EAAWj7G,QAC7D,GAAI61D,GAAcA,EAAWiD,gBAAkBjD,EAAWkN,YAAa,CACnE,MAAMllE,EAAeg4D,EAAWkD,cAAclD,EAAWkD,cAAc7vE,OAAS,GAE1EwtP,EAAmBl9E,EAAa37J,GACtC,IAAI87N,GAAc,EAIlB,GAAI+c,GAKA,GAJA/c,GAAc,EAIVjjK,EAASqwH,qBAAqB97G,eAAiB3gB,GAAc2pK,MAAQv9J,EAASoM,WAAY,CAC1F,MAAMkxJ,EAAgB0iB,EAAiB/6I,YAAYlpG,IAAI,eACvD,GAAIuhO,EAAe,CACf,MAAMkC,EAAcl0G,GAAyBgyG,GACzCh/H,GAAWkhI,KACXn9B,EAAa0yB,GAA+ByK,GAC5CyD,GAAc,UAIlB97N,IAER87N,GAAc,GAGdA,GACAl3G,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWyqG,sBAAsBzyH,OAAO,CAC9ChF,KAAMq7D,EAAKr7D,KAAK/O,MAChB0tE,WAAYrD,EAAWgF,aAE3BjF,EAAKr7D,MAKZw+L,IACDA,EAAanmG,GAAYvyF,UAIjCywN,GAAqB2lB,EAAW19C,GAA+B,GAC/DgrB,EAAenuJ,EAAMmjI,EAAY,GAAwC,GA0B7E,SAAS49C,GAAyB/gL,GAC9B,GAAIguJ,EAAchuJ,EAAM,GACpB,OAGJ,IAAKA,EAAKviC,QAAmC,KAAzBuiC,EAAKviC,OAAOshC,SAE5B,YADAvU,EAAK,2DAIT,MAAMw2L,EAAoB9yH,EAAoBluD,EAAKviC,OAAO6pD,mBAC1D,IAAI2+G,EAAc+6C,EAAkB1pP,KAIpC,IAAK,MAAMg9K,KAAiBt0G,EAAKviC,OAAO8pD,MAAO,CAC3C,GAAI+sF,IAAkBt0G,EAClB,MAECs0G,EAAc5sF,kBACfu+G,EAAc3C,GACVi2B,GACAtzB,EACA3xB,EAAchmJ,SACO,IAMjC,IAAI2yN,GAAkB,EACtBvsI,GAAiBwsC,GAA6B+kD,IAAe7nG,IACrDK,GAAgBL,IAAYlB,GAAUqH,UAAUnG,EAAS,YACzD6iJ,GAAkB,MAK1Bh7C,EAAc3C,GACVi2B,GACAtzB,EACAjmI,EAAK1xC,SACgB,GAGzBo5K,GACI6xB,GACAtzB,IACE+6C,EAAkB1lN,aACpB2lN,EACAjhL,EAAK1xC,SAGT6/L,EAAenuJ,EAAMimI,EAAa,IAAuB+6C,EAAkB1lN,cAG/E,SAAS4lN,GAA2BlhL,GAChC,GAAIguJ,EAAchuJ,EAAM,GACpB,OAIJ,MAAMygL,EAAiBzgL,EAAK51D,OAAO49D,UAAU,GAG7C,IAAIm7H,EAAau9C,GAA4B1gL,EAAMygL,EAAe7qP,QAAUonG,GAAYvyF,SAIxF,MAAMk2O,EAAmB3yB,EAAchuJ,EAAM,GACzC2gL,GAAoBjiJ,GAASiiJ,IAAqBx9C,GAC9CzjG,GAAWyjG,EAAYw9C,KACvBx9C,EAAaw9C,GAIrBzlB,GAAqBulB,EAAgBt9C,GAA+B,GAEpEgrB,EAAenuJ,EAAMmjI,EAAY,GAAwC,GAG7E,SAASu9C,GACL1gL,EACAr7D,GAEA,MAAM01I,EAAkBJ,GAAsBj6E,EAAMr7D,GAA0B,GAC9E,IAAK01I,EACD,OAMJ,MAAM4a,EAAgB5a,EAAgBpnE,OACjCy+B,kBACAvwD,QACIqf,GAAS,GAAqCR,EAAMQ,EAAKR,OAAuB,IAAdQ,EAAKlpE,OAEhF,IAAI6iJ,EAAY8a,EAAc3hK,OAAS,EAAI2hK,EAAcA,EAAc3hK,OAAS,QAAK8D,EAUrF,GAJK+iJ,IACDA,EAAYE,EAAgBpnE,OAAOy+B,kBAAkB7tC,MAAMrD,GAAuB,IAAdA,EAAKlpE,SAGxE6iJ,EACD,OAGJ/vF,EAA0B,IAAnB+vF,EAAU7iJ,MAEjB,MAAMwpE,EAAW,GAA6Bd,GAGxC0yI,EAAoBC,GACtBx4D,GACwB,EACUr5E,EAASoM,YAG/C,GAAKwlI,EAAL,CAIA,IAAKA,EAAkBpyI,YACnB,OAAO+rJ,EAAiBkS,4BAA8BhhI,GAAQ9yF,SAAWuyF,GAAYvyF,SAGzF,GAAsB,KAAlBu1D,EAAKjB,WACD2zI,EAAkBvuC,WAClBt3C,GACI/rD,EAASgsD,kBAAkB6vC,mBAC3B3nD,GAAe2nD,mBACfzyC,GAAUv4F,WAAWkyG,6BAA6Bl6H,OAAO,CACrDhF,KAAMq7D,EAAKr7D,KAAK/O,QAEpBoqE,EAAKr7D,MAIT+tM,EAAkBxuC,wBAAwB,CAC1C,MAAMp8C,EAAO,IAAId,GACb0rF,EAAkBzuC,wBAClBn8C,EAAKZ,WACDgD,GAAUlD,mBAAmB6qB,iCAAiCloI,OAAO,CACjES,OAAQsoM,EAAkBzuC,0BAItCp3C,GACI/rD,EAASgsD,kBAAkB8vC,yBAC3B5nD,GAAe4nD,yBACf1yC,GAAUv4F,WAAW4xG,iCAAiC55H,OAAO,CACzDhF,KAAMq7D,EAAKr7D,KAAK/O,MAChBwU,OAAQsoM,EAAkBxuC,yBACzBp8C,EAAKR,YACVtnD,EAAKr7D,MAKjB,OAAOw8O,GAA6B9mG,EAAgBpnE,OAAQknE,IAMhE,SAAS80E,GAAoCjvJ,G,UACzC,IAAIohL,EAA2BphL,EAC3BuB,EAAiCvB,EAErC,SAASqhL,EAAarhL,G,cAElB,OAAsB,KAAlBA,EAAKjB,UAA6D,MAAV,QAAX,EAAAiB,EAAKviC,cAAM,eAAEshC,WAMxC,IAAlBiB,EAAKjB,WACiB,KAAV,QAAX,EAAAiB,EAAKviC,cAAM,eAAEshC,WAAwD,MAAV,QAAX,EAAAiB,EAAKviC,cAAM,eAAEshC,YAQzC,MAAV,QAAX,EAAAiB,EAAKviC,cAAM,eAAEshC,WAKQ,MAAV,QAAX,EAAAiB,EAAKviC,cAAM,eAAEshC,YACZiB,IAASA,EAAKviC,OAAO6nD,gBAAkBtlB,IAASA,EAAKviC,OAAOsrD,wBAM3C,IAAlB/oB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,UACa,KAAlBiB,EAAKjB,SAOb,GAAsB,KAAlBiB,EAAKjB,UAAmCiB,EAAKviC,OAAQ,CACrD,GAA6B,KAAzBuiC,EAAKviC,OAAOshC,UAAuCiB,EAAKviC,OAAO94B,OAASq7D,EAExE,YADA2qF,GAAkB3qF,EAAKviC,QAEpB,GAA6B,KAAzBuiC,EAAKviC,OAAOshC,UAAoCiB,EAAKviC,OAAO94B,OAASq7D,EAE5E,YADA2kD,GAAe3kD,EAAKviC,QAEjB,GACsB,KAAzBuiC,EAAKviC,OAAOshC,UACa,KAAzBiB,EAAKviC,OAAOshC,SAKZ,YADAmvD,EAAoBluD,OAAyB5oE,EAAW,GAOhE,KAAOmqE,GAAS,CACZ,MAAM+/K,EAAmBD,EAAa9/K,GACtC,IAAK+/K,IAAqBn+J,GAAiB5hB,GACvC,MAEA+/K,IACAF,EAA2B7/K,GAG/BA,EAAUA,EAAQ9jC,OAGtB,MAAMA,EAAS2jN,EAAyB3jN,OACxC,GAAwB,IAApBA,EAAOshC,SAUP,YATIqiL,IAA6B3jN,EAAOsrD,sBACpC+tI,EAAoBsqB,EAA0B,CAC1C3pB,sBAAsB,EACtBC,WAAY,GAAiDj6L,EAAOuhC,gBACpE24J,cAAe,GAAoDl6L,EAAOuhC,kBAG9E02K,GAAoCj4M,IAGrC,GAAwB,KAApBA,EAAOshC,SAEd,YADAytI,GAAuB40C,GAI3B,GAAwB,IAApB3jN,EAAOshC,SAEP,YADAm3K,GAAoCz4M,GAIxC,GAAwB,KAApBA,EAAOshC,SAMP,YAL2B,MAAV,QAAb,EAAAthC,EAAOA,cAAM,eAAEshC,UACf4lD,GAAelnF,EAAOA,QACQ,MAAV,QAAb,EAAAA,EAAOA,cAAM,eAAEshC,WACtB4rF,GAAkBltH,EAAOA,SAKjC,MAAM8jN,EAAoCvhL,IACtC,MAAMwhL,EAAmBxhL,EAAKviC,OAC9B,GAA8B,KAA1B+jN,aAAgB,EAAhBA,EAAkBziL,WAAyCyiL,EAAiBxiL,iBAAmBvhC,EAC/Fi4M,GAAoC8L,OACjC,CACH,MAAM1pB,EAAiBhB,EAAoB92J,EAAKslB,eAAgB,CAC5DmyI,sBAAsB,EACtBC,WAAY,GAAiD13J,EAAKZ,iBAClEu4J,cAAe,GAAoD33J,EAAKZ,mBAE5E+uJ,EAAenuJ,EAAKZ,gBAAiB04J,EAAgB,GAAwC,KAIrG,GAAwB,KAApBr6L,EAAOshC,UAAmCqiL,IAA6B3jN,EAAOiqD,gBAE9E,YADAq5J,GAAyBtjN,GAI7B,GAAwB,KAApBA,EAAOshC,SAEP,YADAwiL,EAAiC9jN,GAIrC,GAAwB,KAApBA,EAAOshC,UAAwCqiL,IAA6B3jN,EAAO+tD,aAEnF,YADAi2J,GAAwBhkN,GAI5B,GAAwB,KAApBA,EAAOshC,WAEHqiL,IAA6B3jN,EAAOioD,sBACpC07J,IAA6B3jN,EAAOitD,2BAMpC,YAJAosI,EAAoBsqB,EAA0B,CAC1CrqB,4BAA4B,EAC5BE,4BAA4B,IAMxC,GAAwB,KAApBx5L,EAAOshC,SAGP,OAGJ,GAAwB,IAApBthC,EAAOshC,UAAuCqiL,IAA6B3jN,EAAO94B,KAGlF,OAIJ,GAAwB,IAApB84B,EAAOshC,UAA8D,MAAV,QAAb,EAAAthC,EAAOA,cAAM,eAAEshC,UAE7D,YADA4lD,GAAelnF,EAAOA,QAI1B,GAAwB,KAApBA,EAAOshC,UAAqCthC,EAAOouD,iBAAkB,CACrE,MAAMq/G,EAAwB,GAAoClrI,GAC5DwhC,EAAqB0pG,EACrBC,GAA8BD,QAC9B9zM,EAEN,YADA82H,EAAoBzwF,EAAOouD,iBAAkB2V,EAAoB,GAOrE,MAAMkgJ,EACFv+J,GAAiB1lD,IAA+B,IAApBA,EAAOshC,SAC5BthC,EACD2jN,EAEsB,KAA5BM,EAAe3iL,SACfwiL,EAAiCG,GAIjCxzH,EAAoBwzH,OAAmCtqP,EAFtC,GAA6BsqP,GACvBx0K,WAAa,EAAwC,GAKpF,SAASu0K,GAAwBzhL,GAE7B,IAAKA,EAAKr7D,KACN,OAOJ,MAAM84B,EAASuiC,EAAKviC,OACpB,GAAwB,KAApBA,EAAOshC,SAEP,YADAkwJ,GAAoCxxL,GAIxC2sB,EAA2B,KAApB3sB,EAAOshC,UACd,MAAMilD,EAAevmF,EAEfk9E,EAAaqJ,EAAaroF,WAAWksD,WAAWnsE,GAAUA,IAAUskD,IACpEslB,EAAiBk7D,GAA8Bx8B,EAAcrJ,GAEnE,GAAIr1B,EAAgB,CAChB,MAAM5pE,EAAQsoG,EAAaroF,WAAWg/E,GAChCwwH,EAAgBvU,EAClBtxI,EACA0+B,EAAaroF,WAAWg/E,GAAY/jD,UAGlC+qL,EAAUjsB,GACZ11J,EACAA,EAAKpJ,SACLqlL,GAA6BvgO,EAAOyvN,IAIxC,YADAhd,EAAenuJ,EAAKr7D,KAAOg9O,EAAS,GAAwC,GAIhF,MAAM/zD,EAAsB,GAAiC5pE,GAAmC,GAChG,GAAI4pE,EAAqB,CACrB,MAAMytD,EAAY12H,GAAeipE,GAEjC,GAAIytD,EAAW,CAIX,MACMmC,EAAoBlB,GACtBt4H,EAFkBs3H,GAA+Bt3H,GAA8B,GAI/ErJ,EACA0gI,EAAU90I,WAGd,GAAIi3I,EAOA,YANArvB,EACInuJ,EAAKr7D,KACL+wN,GAA2B11J,EAAMA,EAAKpJ,SAAU4mL,GAAkB,GAE/C,IASnCrvB,EACInuJ,EAAKr7D,KACL+wN,GAA2B11J,EAAMA,EAAKpJ,SAAUomC,GAAYvyF,UAAS,GAElD,GAQ3B,SAASwgM,GAA0BjrI,GAC/BkvJ,EAAsBlvJ,GAEtB,IAAIuB,EAAiCvB,EAErC,KAAOuB,GAAS,CACZ,OAAQA,EAAQxC,UACZ,KAAK,EASD,IALIwC,EAAQ9jC,QACqB,IAA5B8jC,EAAQ9jC,OAAOshC,UACgB,IAA5BwC,EAAQ9jC,OAAOshC,UACa,IAA5BwC,EAAQ9jC,OAAOshC,UACnBwC,EAAQ9jC,OAAO4nD,kBAAoB9jB,EAGnC,YADAm0K,GAAoCn0K,GAGxC,MAGJ,KAAK,EAED,YADA2sD,EAAoB3sD,GAIxB,KAAK,EAED,YADA20K,GAAoC30K,GAIxC,KAAK,GAED,YADAojD,GAAepjD,GAInB,KAAK,GAED,YADAkgL,GAAwBlgL,GAI5B,KAAK,GAED,YADA0tJ,GAAoC1tJ,GAIxC,KAAK,GAED,YADAopF,GAAkBppF,GAItB,KAAK,GAED,YADAm+K,GAA6Bn+K,GAIjC,KAAK,GAED,YADAs+K,GAAgCt+K,GAIpC,KAAK,GAED,YADA0+K,GAA8B1+K,GAIlC,KAAK,GAAoC,CACrC,MAAMqgL,EAAoBrgL,EAAQ9jC,OAElC,GADA2sB,EAAsC,KAA/Bw3L,EAAkB7iL,UACrBwC,IAAYqgL,EAAkBv3L,WAC9B4kK,GAAoC2yB,QAIpC,IAAK,MAAMrN,KAAaqN,EAAkB17J,WAEtC,GADAkuJ,GAA+BG,GAC3BA,IAAchzK,EACd,MAIZ,OAGJ,KAAK,GAED,YADAi/K,GAAyBj/K,GAI7B,KAAK,GAED,YADAq/K,GAA6Br/K,GAIjC,KAAK,GAED,YADA2/K,GAA2B3/K,GAI/B,KAAK,GAED,YADAw/K,GAAyBx/K,GAKjCA,EAAUA,EAAQ9jC,OAGtB+sB,EAAK,wBAQT,SAASqiJ,GAAuBxpI,EAAoBp3D,GAGhD,IAAI41O,EAAc7zB,EAAc3qJ,OAASjsE,GACzC,GAAIyqP,EACA,MAAO,CAAE7hL,KAAMqD,EAAS/rE,KAAMuqP,GAGlC,MAAMC,EAAqBr0B,EAC3B,IAII,GAHAA,EAAsB,IAAIr3M,IAC1BnK,IACA41O,EAAc7zB,EAAc3qJ,OAASjsE,GACjCyqP,EACA,MAAO,CAAE7hL,KAAMqD,EAAS/rE,KAAMuqP,GAIlC,GADAA,EAAcp0B,EAAoB5wN,IAAIwmE,EAAQnuD,IAC1C2sO,EACA,MAAO,CAAE7hL,KAAMqD,EAAS/rE,KAAMuqP,EAAavmN,cAAc,GAG7DmyL,EAAsBq0B,EACxB,MAAOvlP,GAIL,MADAkxN,EAAsBq0B,EAChBvlP,GAMd,SAASk+N,GAA2BsnB,GAChC,IAAIC,EAAWx1B,EAAsB3vN,IAAIklP,GAQzC,OANKC,IAEDA,EAAWtxB,GAAeuxB,yBAC1Bz1B,EAAsB/uN,IAAIskP,EAAQC,IAG/BA,EASX,SAAS9xB,GACLpxJ,EACAo6H,EACAs4B,EACAC,EACAywB,G,MAGA,MAAMnyD,EAAerwH,GAAsBZ,GACrCsyF,EAAgB,GAAsD,QAAjB,EAAA8wF,aAAS,EAATA,EAAWzkN,cAAM,QAAIqhC,GAC1EmC,EAA8DmwF,EzEl1gBpDnwF,oByEo1gBhB,IAAKA,IAAwBA,EAAoBvkD,IAAIqzK,GACjD,MAAO,CAAEz4L,UAAMF,EAAWkkC,cAAc,GAI5C,IAAI0mN,EAOAA,EALAj0B,EAAmC38D,GAlyf3C,WACI,MAAM4zD,EAAY2I,EAAgCr6N,OAGlD,OAFA82D,EAAO46J,EAAY,GACC2I,EAAgC3I,EAAY,GAC7Cm9B,iBAmyfJC,GAEA3nB,GAA2BrpE,EAAcl8I,IAGxD,MAAMwrD,EAAW,GAA6BwhL,UAAapjL,GAC3D,YAAiB1nE,IAAbspE,EACO,CAAEppE,UAAMF,EAAWkkC,cAAc,GAGrCk/L,GACHwnB,EACAthL,EACA5B,EACAo6H,EACAs4B,EACAC,GAIR,SAAS+I,GACLwnB,EACAthL,EACA5B,EACAo6H,EACAs4B,EACAC,GAGA,IAAI4wB,EADJr1B,EAAsBvH,qBAGtB,IACI48B,EAAiBL,EAASxnB,oBACtB95J,EACA5B,EACAo6H,EACAs4B,EACAC,GAGJzE,EAAsBtH,oBACxB,MAAOnpN,GAIL,MADAywN,EAAsBtH,oBAChBnpN,EAOV,OAJI8lP,EAAe/mN,cACf0xL,EAAsBrH,qBAGnB08B,EAOX,SAASrkB,GACLz3H,EACAf,EACAhkC,EACA07E,GAIA,GAAIhgD,GAAUgL,iBAAiB3B,GAAY,CACvC,MAAM+7I,EAAc/7I,EAAUE,WAAaF,EAAU1H,QAAQl6F,KAC7D,OAAQ29O,GACJ,IAAK,WACD,OAxyIhB,SAA4B98I,EAAoC03C,GAG5D,MAAMpxC,EAAe3O,GAAa4J,mBAAmB,GAAI,GAAI,GAAI,GACjEjK,GAASoI,eAAe4G,GACxBA,EAAajN,QAAQ2C,mBAAqBxE,GAAYvyF,SAEtD,MAAMqzN,EAAiB,GAA2C5gF,GASlE,GAJApxC,EAAajN,QAAQyG,eAAiBw4H,EAChC7yG,GAAkB6yG,GAClBrhI,GAEF+I,GAAYA,EAASlyG,OAAS,EAAG,CACjC,GAAIkyG,EAAS,GAAG63H,SAAU,CACtB,MAAMA,EAAW73H,EAAS,GAAG63H,SAC7B,IAAIuX,GAAc,EACdE,GAAwB,EAC5B,MAAMD,EAAmB9iL,IAEjB6iL,IACKE,IACD/mH,GAAS7D,GAAUv4F,WAAW47G,0BAA2Bx7E,EAAMiO,MAC/D80K,GAAwB,IAGhCF,GAAc,GAGlBvX,EAASz/M,SAAQ,CAACm0C,EAAOtvC,KACrB,IAAIqhL,EAAY/xI,EAAMz6D,KAClBmtF,EAAa,EACjB,MAAM8Q,EAAY,MAAM9yE,EAAM3qB,aAE1B8mG,GAAkBklG,IAClB88B,GAAkC98B,EAAW/xI,EAAMiO,MACnDykB,EAAgB,EAChBowJ,EAAgB9iL,IACT8uK,GAAgB9uK,EAAO,CAAEivK,qBAAqB,IACjD/hI,GAAgB6kG,KAChBr/G,EAAgB,EAChBowJ,EAAgB9iL,IAGpB+xI,EAAY9mG,GAAYvyF,SAG5B0yF,GAAa6O,aAAaF,EAAc,CACpCl1C,SAAU6tB,EACV9/E,KAAM4wF,EACN8V,mBAAmB,EACnB/zG,KAAMy/G,GAAkB+sF,GACxBx4F,iBAAiB,OAIzBnO,GAAa6O,aAAaF,EAAc,CACpCl1C,SAAU,EACVy0C,mBAAmB,EACnB/zG,KAAM0lG,GAAYvyF,gBAEnB,GAAIutG,GAAexS,EAAS,GAAGluG,MAClC6lG,GAAa0O,qBAAqBC,GAClCA,EAAajN,QAAQr9B,OAAS,WAC3B,GAAI29B,GAAYqG,EAAS,GAAGluG,MAC/Bw0G,EAAajN,QAAQqM,UAAY1F,EAAS,GAAGluG,UAE7C,GAAIknG,GAAoBgH,EAAS,GAAGluG,OAAS4lG,GAAUqH,UAAUiB,EAAS,GAAGluG,KAAM,eAAgB,CAC/F,MAAMirP,EAAiB/8I,EAAS,GAAGluG,KAAKopG,cACpC6hJ,GAAkBA,EAAejvP,OAAS,GAC1CivP,EAAe3kO,SAAQ,CAACk3F,EAASryF,KACzBA,IAAU8/N,EAAejvP,OAAS,GAElC6pG,GAAa6O,aAAaF,EAAc,CACpCl1C,SAAU,EACVy0C,mBAAmB,EACnB/zG,KAAM0lG,GAAYvyF,WAGlB00F,GAAY2V,KACZhJ,EAAajN,QAAQqM,UAAY4J,IAGrC3X,GAAa6O,aAAaF,EAAc,CACpCl1C,SAAU,EACVjyD,KAAM,MAAM8d,IACZ4oF,mBAAmB,EACnBC,iBAAiB,EACjBh0G,KAAMw9G,YAMtBiZ,GAAS7D,GAAUv4F,WAAWohG,mBAAoBvtB,EAAS,GAAGxlC,MAItE,GAAIwlC,EAASlyG,OAAS,EAAG,CACrB,IAAIkvP,EAAeh9I,EAAS,GAAGluG,KAC1BupO,GAAgBr7H,EAAS,MAC1Bg9I,EAAexlJ,GAAYvyF,UAE/BqhG,EAAajN,QAAQ2C,mBAAqBuV,GAAkByrI,QAG5D31H,GADiB,GAA6BqwB,GAEjCpwB,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWqhG,oBACrBkqB,GAGJpxC,EAAajN,QAAQ2C,mBAAqBxE,GAAYvyF,SAGtD+6F,EAASlyG,OAAS,GAClBy6H,GAAS7D,GAAUv4F,WAAWmhG,oBAAqBttB,EAAS,GAAGxlC,WAGnEm9B,GAAa0O,qBAAqBC,GAA+B,GACjEA,EAAajN,QAAQr9B,OAAS,MAGlC,OAAOsqC,EAyqIY22I,CAAmBj9I,EAAU03C,GAGxC,IAAK,QAOD,OANI13C,GAAYA,EAASlyG,OAAS,GAC9By6H,GACI7D,GAAUv4F,WAAWs2G,wBAAwBt+H,OAAO,CAAEhF,KAAM,UAC5D6gG,EAAS,GAAGxlC,MAGbs9B,GAAUsG,cAGrB,IAAK,WAOD,OANI4B,GAAYA,EAASlyG,OAAS,GAC9By6H,GACI7D,GAAUv4F,WAAWs2G,wBAAwBt+H,OAAO,CAAEhF,KAAM,aAC5D6gG,EAAS,GAAGxlC,MAGbs9B,GAAUqG,iBAGrB,IAAK,WACD,OA7rIhB,SACI4C,EACA22C,EACA13C,EACAhkC,GAEA,IAAKgkC,EAID,OAAyD,IAA5C,KAARhkC,IACDusD,GAAS7D,GAAUv4F,WAAW8vG,oBAAqByb,GAC5ClgD,GAAYvyF,UAGhB87F,EAGX,GAAIf,EAASlyG,OAAS,EAElB,OADAy6H,GAAS7D,GAAUv4F,WAAW8vG,oBAAqByb,GAC5ClgD,GAAYvyF,SAGvB,IAAIi4O,EAAel9I,EAAS,GAAGluG,KAC1BupO,GAAgBr7H,EAAS,IAElB1I,GAASgB,eAAe4kJ,KAChCjsB,GAA2BisB,EAAcl9I,EAAS,GAAGxlC,MACrD0iL,EAAe1lJ,GAAYvyF,UAH3Bi4O,EAAe1lJ,GAAYvyF,SAM/B,MAAMksI,EAAerzC,GAAa,CAACo/I,EAAcrlJ,GAASkQ,eAM1D,OAJIrP,GAAQy4C,IACR75C,GAASoI,eAAeyxC,GAGrBA,EAwpIYgsG,CAAmBp8I,EAAW22C,EAAW13C,EAAUhkC,GAG9D,IAAK,OAAQ,CAGT,GACyB,KAArBgkC,aAAQ,EAARA,EAAUlyG,SACV2qG,GAAeuH,EAAS,GAAGluG,OAC3B61N,GACA3uH,GAAoB2uH,GAEpB,OAAOA,EAGX,IAAIpV,EAAW08B,GAAkBluI,EAAWf,EAAU,GAItD,OAHIhH,GAAoBu5G,KACpBA,EAAW77F,GAAoB67F,IAE5BA,EAGX,IAAK,WACD,OAhkIhB,SACIxxG,EACA22C,EACA13C,EACAhkC,G,MAEA,GAAY,OAARA,EAEA,OADAusD,GAAS7D,GAAUv4F,WAAWgiG,qBAAsBupB,GAC7C3/C,GAAQ9yF,SAGnB,IAAK+6F,EACD,OAAOe,EACJ,GAAwB,IAApBf,EAASlyG,OAEhB,OADAy6H,GAAS7D,GAAUv4F,WAAWiiG,0BAA2BspB,GAClDlgD,GAAYvyF,SAChB,GAAI+6F,EAASlyG,OAAS,EAEzB,OADAy6H,GAAS7D,GAAUv4F,WAAWmiG,sBAAuBtuB,EAAS,GAAGxlC,MAC1Dg9B,GAAYvyF,SAGvB,MAAMnT,EAAOkuG,EAAS,GAAGluG,KAezB,OAXI+lH,GAAuB/lH,GAAgC,GAAuB,IAG9Eu1H,GAFiB,GAA6BqwB,GAGjCpwB,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWoiG,sBACL,QAAhB,EAAAvuB,EAAS,GAAGxlC,YAAI,QAAIk9E,GAIrB5lJ,EA4hIYsrP,CAAmBr8I,EAAW22C,EAAW13C,EAAUhkC,GAG9D,IAAK,WACD,OAAOizK,GACHluI,EACAf,OACiBpuG,GACI,GAI7B,IAAK,QACD,OAAOq9O,GAAkBluI,EAAWf,OAA2BpuG,GAGnE,IAAK,QACD,OA7pHhB,SACImvG,EACA22C,EACA13C,EACAhkC,GAEA,MAAMyxC,EAAgB,GAEtB,IAAKzN,EAID,OAAyD,IAA5C,KAARhkC,IACDusD,GAAS7D,GAAUv4F,WAAWg6G,oBAAqBuR,GAC5C5/C,GAAUsG,eAGd2C,EAGX,IAAK,MAAMuO,KAAWtP,EAAU,CAC5B,IAAIgV,EAAc1F,EAAQx9G,KAErBupO,GAAgB/rH,EAAS,CAAEisH,sBAAsB,EAAMC,qBAAqB,IAErElkI,GAASgB,eAAe0c,KAChCi8G,GAA2Bj8G,EAAa1F,EAAQ90C,MAChDw6C,EAAcxd,GAAYvyF,UAH1B+vG,EAAcxd,GAAYvyF,SAO1Bw0F,GAAgB6V,EAAQx9G,OAASw9G,EAAQx9G,KAAK+oG,mBAC9CyU,EAAQx9G,KAAK+oG,mBAAmBziF,SAAS63H,IACrCxiC,EAAMt/G,KAAK4nH,GAAsBk6B,EAAan+I,WAK9CqnG,GAAU6b,IAAgB5b,GAAkB4b,IAAgBA,EAAYxb,qBACxEwb,EAAc9c,GAAYsK,iBAAiBwS,GAA6B,IAG5EvH,EAAMt/G,KAAK6mH,IAOE,IAAjBvH,EAAM3/G,SACDsrG,GAAkBqU,EAAM,KAAQ/T,GAAW+T,EAAM,KAAQrV,GAAeqV,EAAM,KAC/E8a,GAAS7D,GAAUv4F,WAAWg6G,oBAAqBuR,IAI3D,MAAM74C,EAAYf,GAAa2P,GAK/B,OAJI/U,GAAQmG,IACRvH,GAASoI,eAAeb,GAGrBA,EAimHYw+I,CAAgBt8I,EAAW22C,EAAW13C,EAAUhkC,GAG3D,IAAK,UACD,OAhmHhB,SACI+kC,EACA22C,EACA13C,EACAhkC,GAEA,IAAKgkC,EAQD,OAJiG,IAApF,OAARhkC,IACDusD,GAAS7D,GAAUv4F,WAAW+pG,wBAAyBwhB,GAGpD32C,EAGX,MAAM8kG,EAAgC,GAqBtC,OApBI7lG,IAEwB,IAApBA,EAASlyG,QACTy6H,GAAS7D,GAAUv4F,WAAW+pG,wBAAyBwhB,GAI3D13C,EAAS5nF,SAASk3F,IACTnW,GAAUmW,EAAQx9G,OAGf+zM,EAAetkJ,MAAMlC,GAAM66C,GAAW76C,EAAGiwD,EAAQx9G,SACjDy2H,GAAS7D,GAAUv4F,WAAWiqG,uBAAwB9mB,EAAQ90C,MAGlEqrI,EAAe13M,KAAKmhH,EAAQx9G,OAN5By2H,GAAS7D,GAAUv4F,WAAWgqG,wBAAyB7mB,EAAQ90C,UAWpEy0K,GAAkBluI,EAAWf,OAA2BpuG,GAAgC,GA0jH5E0rP,CAAkBv8I,EAAW22C,EAAW13C,EAAUhkC,GAG7D,IAAK,QACD,OA11HhB,SACI+kC,EACA22C,EACA13C,EACAhkC,GAEA,OAAY,GAARA,GACAusD,GAAS7D,GAAUv4F,WAAWyoG,eAAgB8iB,GACvC3/C,GAAQ9yF,UAGd+6F,GAAgC,IAApBA,EAASlyG,QAItBkyG,EAASlyG,OAAS,GAClBy6H,GAAS7D,GAAUv4F,WAAW8oG,mBAAoByiB,GAG/C13C,EAAS,GAAGluG,MAPRivG,EA80HQw8I,CAAgBx8I,EAAW22C,EAAW13C,EAAUhkC,GAG3D,IAAK,YACD,OAhzHhB,SAA6B07E,EAAsB13C,GAK/C,OAJIA,GAAYA,EAASlyG,OAAS,GAC9By6H,GAAS7D,GAAUv4F,WAAW++F,0BAA2BwsB,GAGxD13C,GAAgC,IAApBA,EAASlyG,OAInBwpG,GAAS6I,kBAAkBH,EAAS,GAAGluG,MAHnCimG,GAAQ9yF,SA0yHAu4O,CAAoB9lG,EAAW13C,GAG1C,IAAK,cACD,OA50HhB,SACI03C,EACA32C,EACAf,GAkBA,OAhBKA,GAAgC,IAApBA,EAASlyG,OAGtBkyG,EAAS5nF,SAAQ,CAACk3F,EAASryF,KACnBA,IAAU+iF,EAASlyG,OAAS,EACvB6rG,GAAY2V,EAAQx9G,OACrBy2H,GAAS7D,GAAUv4F,WAAW0iG,8BAA+Bvf,EAAQ90C,MAGrEm/B,GAAY2V,EAAQx9G,OACpBy2H,GAAS7D,GAAUv4F,WAAW8wG,mBAAoB3tB,EAAQ90C,SATtE+tD,GAAS7D,GAAUv4F,WAAW2iG,6BAA8B4oB,GAezDu3F,GAAkBluI,EAAWf,OAA2BpuG,GAAgC,GAuzH5E6rP,CAAsB/lG,EAAW32C,EAAWf,GAGvD,IAAK,YACL,IAAK,kBACD,OA3jIhB,SACI03C,EACA32C,EACAf,EACAhkC,GAKA,IAAKgkC,EAKD,OAJyD,IAA5C,KAARhkC,IACDusD,GAAS7D,GAAUv4F,WAAWw3G,oBAAqB+T,GAGhD32C,EACJ,GAAwB,IAApBf,EAASlyG,OAEhB,OADAy6H,GAAS7D,GAAUv4F,WAAWw3G,oBAAqB+T,GAC5ClgD,GAAYvyF,SAGvB,MAAMy4O,EAAoB19I,EAASppF,KAAK04F,GAC7BiC,GAAkB8pH,GAAgB/rH,GAAWA,EAAQx9G,KAAO0lG,GAAYvyF,YAGnF,OAAOyyF,GAAUkK,uBAAuBb,EAAW28I,GAAgD,GAmiIhFC,CAAoBjmG,EAAW32C,EAAWf,EAAUhkC,GAG/D,IAAK,SACD,OAl6HhB,SAA0B07E,EAAsB13C,EAAoChkC,GAChF,IAAKgkC,GAAgC,IAApBA,EAASlyG,OAEtB,OADAy6H,GAAS7D,GAAUv4F,WAAWs6G,iBAAkBiR,GACzClgD,GAAYvyF,SAGvB,IAAI+vG,EAAchV,EAAS,GAAGluG,KAC1B4mG,GAAQsc,IAAgD,IAAhCA,EAAYrc,SAAS7qG,SAC7CknH,EAAcA,EAAYrc,SAAS,IAGvC,MAAMr9B,EAAW,GAA6Bo8E,GAE9C,OAAkE,IAArD,QAAR17E,GACGg9B,GAAoBgc,KAAiBA,EAAYrT,mBAAqBsC,GAAa+Q,GAC5Etd,GAAU8K,iBAAiBwS,GAGlC5b,GAAkB4b,KAAiBA,EAAYxb,mBACxCtB,GAAYsK,iBAAiBwS,IAGxCqS,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW86G,6BACrByQ,GAEGlgD,GAAYvyF,UAGiC,IAA3C,QAAR+2D,GACGg9B,GAAoBgc,IAAgBtd,GAAU0L,iBAAiB4R,GACxDtd,GAAU8K,iBAAiBwS,IAGtCqS,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW66G,0BACrB0Q,GAEGlgD,GAAYvyF,WAGvBoiH,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWm7G,mBACrBoQ,GAEGlgD,GAAYvyF,UA+2HA24O,CAAiBlmG,EAAW13C,EAAUhkC,GAGjD,IAAK,WACL,IAAK,cACD,OAp+HhB,SACI+kC,EACA22C,EACAjnC,EACAzQ,EACAhkC,G,MAKA,IAAKgkC,GAAiE,IAA5C,KAARhkC,GACd,OAAO+kC,EAGX,IAAKf,GAAgC,IAApBA,EAASlyG,OAKtB,OAJAy6H,GACI9X,EAAaiU,GAAUv4F,WAAWgzG,mBAAqBza,GAAUv4F,WAAWqvG,sBAC5Ekc,GAEG32C,EAGX,MAAMiU,EAAchV,EAAS,GAAGluG,KAG1Bs2L,EAAsB,GAAiC1wC,GAAgC,GACvFw6D,EAAgB9pB,EAAsBjpE,GAAeipE,QAAuBx2L,EAElF,IAAIisP,GAAe,EAoBnB,OAjBI3rC,GACAl5G,GAAoBk5G,EAAcnxG,YAClCrJ,GAAU0L,iBAAiB8uG,EAAcnxG,YAIX,MAAV,QAAhB,EAAA22C,EAAUz/G,cAAM,eAAEshC,WAClBm+E,EAAUz/G,OAAO6nD,iBAAmB43D,IAEpCmmG,GAAe,GAI0B,IAApC,QAAR7hL,KACD6hL,GAAe,GAGdA,EAUE7oI,GATHuT,GACI9X,EACMiU,GAAUv4F,WAAWizG,yBACrB1a,GAAUv4F,WAAWsvG,4BAC3Bic,GAEGhgD,GAAUkK,uBAAuBb,EAAW,CAACwQ,GAAkByD,MAAiBhV,IA66HxE89I,CAAmB/8I,EAAW22C,EAA2B,aAAhBolG,EAA4B98I,EAAUhkC,GAG1F,IAAK,OACD,OA7iIhB,SAAwB+kC,EAAsB22C,EAAsB13C,G,MAChE,MAAM1kC,EAAW,GAA6Bo8E,GAG1C13C,GACAqnB,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWs2G,wBAAwBt+H,OAAO,CAChDhF,KAAM4hG,EAAU1H,QAAQl6F,OAEZ,QAAhB,EAAA6gG,EAAS,GAAGxlC,YAAI,QAAIk9E,GAI5B,MAAM5tB,EAAiB,GAAiC4tB,GAClDqmG,EAA2Bj0H,EAAiB3K,GAAe2K,QAAkBl4H,EACnF,IAAKmsP,EAQD,OAPA12H,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW8zG,kBACrByX,GAGGlgD,GAAYvyF,SAGvB,MAAM4lL,EAAoB,GAAoCnzC,GAC9D,GAAImzC,EAAmB,CAInB,GAAoB,EAHEirD,GAA+BjrD,GAAmC,GAWpF,OAPAxjE,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW8zG,kBACrByX,GAGGlgD,GAAYvyF,SAGvB,GAAI4lL,EAAkB10J,WAAWroC,OAAS,EAAG,CACzC,MAAMkwP,EAA2BhjG,GAA8B6vC,EAAmB,GAClF,GACImzD,IACC,GAAqCtmG,EAAWsmG,GACnD,CACE,MAAM1rB,EAAiBhB,EAAoB0sB,EAA0B,CACjEzsB,4BAA4B,EAC5BE,4BAA4B,IAE3Bt4H,GAAUm5H,IAAoBA,EAAej5H,QAAQ2Q,mBACtDqd,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW+zG,6BACrBwX,KAOpB,OAAOzkC,GAA4B8qI,EAAyBh9I,WAA4B,GA2+HrEk9I,CAAel9I,EAAW22C,EAAW13C,GAGhD,IAAK,gBACD,OAAOivI,GAAkBluI,EAAWf,EAAU,IAK1D,MAAM1kC,EAAW,GAA6Bo8E,GAC9C,GACIp8E,EAASoM,YACTpM,EAASqwH,qBAAqB97G,eAAiB3gB,GAAckkH,MAC7D+9C,EAAgC,GAA6Bz5E,KACT,IAA3C,EAAR17E,GACH,CAGE,GAAI07B,GAAUqH,UAAUgC,EAAW,SAAWf,EAAU,CAGpD,GAAwB,IAApBA,EAASlyG,QAAgB2qG,GAAeuH,EAAS,GAAGluG,MACpD,OAAOivG,EAGX,MAAMm9I,EAAYt/C,GAAclnD,EAAW,QAC3C,GAAIwmG,GAAallJ,GAAoBklJ,GAAY,CAC7C,IAAI3rC,EAAW08B,GACXiP,EACAl+I,EACA,OACqBpuG,GACJ,GAOrB,OAJIonG,GAAoBu5G,KACpBA,EAAW77F,GAAoB67F,IAG5BA,GAMf,GAAItuG,GAAalD,GACb,OAAOkuI,GACHluI,EACAf,OACiBpuG,OACIA,GACJ,GAK7B,IAAIwpG,EAAe4E,EAAWA,EAASlyG,OAAS,EAGhD,MAAMoyG,EAAiBxI,GAAUkD,qBAAqBmG,GAAa,GAAKrJ,GAAUyM,kBAAkBpD,GAIpG,GAA8B,IAA1Bb,EAAepyG,QAAiC,IAAjBstG,EAC/B,OAAO2F,EAGX,MAAMo9I,EAAyBj+I,EAAe7d,WAAWnsE,GAAUkjF,GAAkBljF,KAErF,GAAI8pF,EAAU,CACV,GAAI5E,EAAe8E,EAAepyG,OAAQ,CACtC,IAAK4pG,GAAUqM,uBAAuBhD,KAAerJ,GAAUuM,aAAalD,GAAY,CACpF,MAAMzlC,EAAW,GAA6Bo8E,GAChB,IAA1Bx3C,EAAepyG,OACfu5H,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWs2G,wBAAwBt+H,OAAO,CAChDhF,KAAM4hG,EAAUE,WAAaF,EAAU1H,QAAQl6F,OAEnD6gG,EAASE,EAAepyG,QAAQ0sE,MAEH,IAA1B0lC,EAAepyG,QAAiB6rG,GAAYuG,EAAe,KAClEmnB,GACI/rD,EAASgsD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW02G,kBAAkB1+H,OAAO,CAC1ChF,KAAM4hG,EAAUE,WAAaF,EAAU1H,QAAQl6F,KAC/CovM,SAAUruG,EAAepyG,OACzBiS,SAAUq7F,IAEd4E,EAASE,EAAepyG,QAAQ0sE,MAI5C4gC,EAAe8E,EAAepyG,YACvBstG,EAAe8E,EAAepyG,QAErCu5H,GADiB,GAA6BqwB,GAEjCpwB,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWy2G,iBAAiBz+H,OAAO,CACzChF,KAAM4hG,EAAUE,WAAaF,EAAU1H,QAAQl6F,KAC/CovM,SAAUruG,EAAepyG,OACzBiS,SAAUq7F,IAEd4E,EAASlyG,OAAS,EAAIkyG,EAAS,GAAGxlC,KAAKviC,OAAUy/G,GAIzD13C,EAAS5nF,SAAQ,CAACk3F,EAASryF,KACvB,GAAIA,IAAUkhO,EAAwB,CAIlC,GAAIllJ,GAAgBqW,EAAQx9G,OAASmyG,GAAaqL,EAAQx9G,MACtD,OAGJ,GAAIsnG,GAAkBkW,EAAQx9G,MAE1B,YADAspO,GAAkC9rH,EAAQx9G,KAAMw9G,EAAQ90C,MAKhE,MAAMo6C,EAAY33F,EAAQijF,EAAepyG,OAASoyG,EAAejjF,QAASrrB,EAG1EypO,GAAgB/rH,EAAS,CACrB8iH,gBAAgB,EAChB4c,iBAJsBp6H,aAAS,EAATA,EAAWvb,QAAQM,iBAUrD,IAAIqiI,EAAuB,GAC3B,MAAMoiB,EAAiB1mJ,GAAUyM,kBAAkBpD,GAKnD,GAA8B,IAA1Bq9I,EAAetwP,QAAgBswP,EAAe,GAAG/kJ,QAAQM,aAAeqG,EACxE,GACIA,EAASnmF,OACJy1F,IAAakD,GAAelD,EAAQx9G,QAAUw9G,EAAQuoH,WAAal+H,GAAY2V,EAAQx9G,QAIpE,IAApBkuG,EAASlyG,QACRkrG,GAAoBgH,EAAS,GAAGluG,OAChC4lG,GAAUqH,UAAUiB,EAAS,GAAGluG,KAAM,iBAGvCkuG,EAAW,CACP,CACIluG,KAAM0lG,GAAYvyF,SAClBu1D,KAAMwlC,EAAS,GAAGxlC,KAClBq9J,SAAU73H,UAInB,GAAIA,EAASlyG,OAAS,EAAG,CAC5B,MAAMuwP,EAAmBr+I,EAAS3hC,MAAMixC,GAAY3V,GAAY2V,EAAQx9G,QACpEusP,GACA91H,GAAS7D,GAAUv4F,WAAW8wG,mBAAoBohH,EAAiB7jL,MAGvE,MAAM8jL,EAAct+I,EAAS3hC,MAAMixC,KAAcA,EAAQuoH,WACrDymB,GACA/1H,GAAS7D,GAAUv4F,WAAWq2G,wBAAyB87G,EAAY9jL,MA8F/E,OAzFA4jL,EAAehmO,SAAQ,CAACw8F,EAAW33F,KAC/B,GAAI+iF,GAAY/iF,EAAQ+iF,EAASlyG,OAAjC,CACI,GAAI8mH,EAAUvb,QAAQM,YAAa,CAC/B,MAAM2V,EAAUtP,EAAS/iF,GACnBqpF,EAAe3O,GAAa4J,mBAAmB,GAAI,GAAI,GAAI,OAGjE,GAFAjK,GAASoI,eAAe4G,GAEpBkM,GAAelD,EAAQx9G,MAIvB,OAHA6lG,GAAa0O,qBAAqBC,GAClCA,EAAajN,QAAQr9B,OAAS,WAC9BggK,EAAa7tO,KAAKm4G,GAItB,GAAIgJ,EAAQuoH,SAWR,OAVAvoH,EAAQuoH,SAAUz/M,SAAQ,CAAC08F,EAAWK,KAClCxd,GAAa6O,aAAaF,EAAc,CACpCl1C,SAAU,EACVjyD,KAAM,MAAMg2G,IACZtP,mBAAmB,EACnB/zG,KAAMy/G,GAAkBuD,EAAUhjH,MAClCg0G,iBAAiB,YAGzBk2H,EAAa7tO,KAAKm4G,GAItB,GAAItN,GAAoBsW,EAAQx9G,OAAS4lG,GAAUqH,UAAUuQ,EAAQx9G,KAAM,eAAgB,CACvF,MAAMirP,EAAiBztI,EAAQx9G,KAAKopG,cAoBpC,OAnBI6hJ,GAAkBA,EAAejvP,OAAS,GAC1CivP,EAAe3kO,SAAQ,CAACk3F,EAASryF,KACzBA,IAAU8/N,EAAejvP,OAAS,EAC9B6rG,GAAY2V,KACZhJ,EAAajN,QAAQqM,UAAY4J,GAGrC3X,GAAa6O,aAAaF,EAAc,CACpCl1C,SAAU,EACVjyD,KAAM,MAAM8d,IACZ4oF,mBAAmB,EACnBC,iBAAiB,EACjBh0G,KAAMw9G,YAMtB0sH,EAAa7tO,KAAKm4G,IAK1B01H,EAAa7tO,KAAKojH,GAAkBvR,EAAS/iF,GAAOnrB,YAIxDkqO,EAAa7tO,KAAKqpG,GAAYvyF,aAGlC+2N,EAAeA,EAAaplN,KAAI,CAACo+F,EAAa/3F,KAC1C,GAAIA,EAAQm+E,EAAc,CACtB,MAAMknB,EAAO,IAAId,GACX+8H,EAw+KlB,SACIl/I,EACAC,EACAgjB,EACAtmD,EAAQ,EACRu+B,EAAiB,GAEjB,GAAIA,EAAiBlD,GACjB,OAAOiI,EAIX,GAFA/E,IAEI9B,GAAe6G,GACf,OAAOA,EAGX,IAAIk/I,EAAyBl/I,EAE7B,GAAInG,GAAUmG,GAAU,CACpB,GACIpF,GACIoF,EACAD,OAC0BztG,OACJA,EACtB2oG,GAGJ,OAAO+E,EAGXk/I,EAAmB9iG,GAA6Bp8C,GAIpD,GAAID,EAAShG,QAAQY,YAEZguB,GACG5oB,EAAShG,QAAQY,UACjBukJ,EACAl8H,EAAKX,sBACL/vH,EACAoqE,EACAu+B,GAcJ,YATK8E,EAAShG,QAAQyD,eAClBwlB,EAAKZ,WACDgD,GAAUlD,mBAAmBisB,YAAYtpI,OAAO,CAC5Cq2G,WAAY2M,GAAUq3H,GACtBn/I,SAAU8nB,GAAU9nB,EAAShG,QAAQY,WACrC96F,KAAM+4F,GAAYmS,gBAAgBhL,OAQtD,GAAIA,EAAShG,QAAQM,YACjB,OAAIA,GAAY2F,IAIZ1F,GAAW0F,IAAY3H,GAAaoO,iBAAiBzG,IAIrDrG,GAAgBqG,IAAY5H,GAAUqH,UAAUO,EAAS,eAPlDA,OAWXgjB,EAAKZ,WACDgD,GAAUlD,mBAAmBwsB,gBAAgB7pI,OAAO,CAChDrS,KAAMq1H,GAAU7nB,GAChBngG,KAAM+4F,GAAYmS,gBAAgBhL,MAO9C,GAAIlG,GAAUmG,IAAYA,EAAQjG,QAAQM,YAEtC,YADA2oB,EAAKZ,WAAWgD,GAAUv4F,WAAW8wG,oBAKzC,MAAM9/B,EAAckC,EAAShG,QAAQ8D,YACrC,GAA2B,IAAvBA,EAAYrvG,OACZ,OAAOwxG,EAGX,GAAInG,GAAUmG,IAAYA,EAAQjG,QAAQ8D,YAAYrvG,OAAS,GAE3D,GACIwxG,EAAQjG,QAAQ8D,YAAYtjF,OAAO4kO,GACxBthJ,EAAY57C,MAAMm9L,GACrBz2H,GACIy2H,EACAD,OACW7sP,OACMA,OACLA,EACZ2oG,OAKZ,OAAO+E,MAER,CACH,IAAIq/I,EAGJ,IAAK,MAAMC,KAAczhJ,EAEjB8qB,GACI22H,EACAJ,OACW5sP,OACMA,OACLA,EACZ2oG,KAICokJ,IACD12H,GACI02H,EACAC,OACWhtP,OACMA,OACLA,EACZ2oG,KAGJokJ,EAAsBC,IAKlC,GAAID,EACA,OAAOA,EAIfr8H,EAAKZ,WACDgD,GAAUlD,mBAAmBksB,yBAAyBvpI,OAAO,CACzDrS,KAAMq1H,GAAU7nB,GAChBngG,KAAM+4F,GAAYmS,gBAAgBhL,MAhoLNw/I,CAAsB3+I,EAAejjF,GAAQ+3F,EAAasN,GAElFi8H,EACAvpI,EAAcupI,EAGTtlJ,GAAgB+b,IAAiBtd,GAAUqM,uBAAuBiR,IAEnEqS,GADiB,GAA6BrnB,EAAU/iF,GAAOu9C,MAElD8sD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAWu4G,4BAA4BvgI,OAAO,CACpDrS,KAAMq1H,GAAUnS,GAChB71G,KAAM+4F,GAAYmS,gBAAgBnK,EAAejjF,MAChDqlG,EAAKR,YACV9hB,EAAU/iF,GAAOu9C,MAMjC,OAAOw6C,KAGctd,GAAUkK,uBAAuBb,EAAWi7H,OAA2BpqO,IAAbouG,GAKvF,SAASwiI,GAAmBzyO,GACxB,OAAIA,EAAI+B,KACG,CAAEA,KAAM/B,EAAI+B,MAGlB/B,EAAI6pE,gBAOF8uD,EAAoB34H,EAAI6pE,iBALpB,CAAE9nE,KAAM0lG,GAAYvyF,UAYnC,SAASu6N,GAAgCzvO,GACrC,OAAIA,EAAI+B,KACG,CAAEA,KAAM/B,EAAI+B,MAKhBiwN,GAAkChyN,EAAI6pE,iBAGjD,SAASmoJ,GACLvnJ,EACA03J,GAAa,EACb4sB,GAAgB,EAChBC,GAAiC,GAEjC,IAAI/iL,EACA,OAqBJ,OAfiB,GAA6BxB,GACjCkN,WACT1L,GAAS,EAETA,GAAS,QAGRk2J,IACDl2J,GAAS,IAGT8iL,IACA9iL,GAAS,SAGN0sD,EAAoBluD,OAAM5oE,EAAWoqE,GAGhD,SAASgpD,GAAexqD,EAAiBr7D,GACrC,MAAMw7D,EAAQ,GAA2BH,GACzC,GAAIG,EAAO,CACP,MACM0tI,EtDh+hBX,SAAyB22C,GAG5B,IAAIC,EAAeD,EAEnB,KAA6B,IAAtBC,EAAantP,MAChBmtP,EAAeA,EAAahnN,OAGhC,OAAOgnN,EsDs9hBsB,CAA2BtkL,GAClB+lD,aAAavhH,GAC3C,GAAIkpM,EACA,OAAOzhF,GAAyByhF,GAIxC,OAAO7wG,GAAYvyF,SAGvB,SAASo4L,GAAiB7iI,EAAiBr7D,EAAc+7F,GACrD,MAAMmtG,EAAWrjF,GAAexqD,EAAMr7D,GACtC,GAAI65F,GAAoBqvG,GAAW,CAC/B,IAAItnG,EAAYsnG,EAShB,OARIntG,IACA6F,EAAYrJ,GAAUkK,uBAClBb,EACA7F,OAC+CtpG,IAAlBspG,IAI9BxD,GAAUgK,gBAAgBX,GAGrC,OAAOsnG,EAGX,SAAS5zD,GACLj6E,EACAr7D,EACA+/O,EACAC,GAAoB,G,MAEpB,MAAMxkL,EAAQ,GAA2BH,GACzC,IAAIq6E,EAAkBl6E,aAAK,EAALA,EAAO85E,sBAAsBt1I,GACnD,MAAMkqG,EAAuB,QAAX,EAAA1uC,aAAK,EAALA,EAAO7oE,YAAI,UAkD7B,GA3CI+iJ,GAAmBqqG,GAFuB,IAAd71I,GAAkD,IAAdA,GA6BlC,IAzBPwrC,EAAgBpnE,OAAOy+B,kBAAkBvwD,QAAQqf,IACpE,GAAkB,IAAdA,EAAKlpE,MAAgD,IAAdkpE,EAAKlpE,KAAoC,CAEhF,MAAMstP,EAAa,GAAqC5kL,GAClD6kL,EACY,IAAdrkL,EAAKlpE,MAAgD,IAAdkpE,EAAKlpE,KACtCkpE,EAAKR,KAAKr7D,KACV67D,EAAKR,KAEf,GAAI4kL,IADc,GAAqCC,KAE9ClqB,GAAuBkqB,EAAU7kL,GAAO,CAIzC,MAAMU,EAAW,GAA6BV,GAE9C,QADoBU,GAAYgwJ,GAAeC,oBAAoBjwJ,KAK/E,OAAO,KAKQptE,SAEX+mJ,EAD+B,IAA/BA,EAAgBl6E,MAAM7oE,MAA+B+iJ,EAAgBl6E,MAAM1iC,OACzD48G,EAAgBl6E,MAAM1iC,OAAOw8G,sBAC3Ct1I,EACA01I,EAAgBkvC,uBAAwD,IAA/BlvC,EAAgBl6E,MAAM7oE,KAC/D+iJ,EAAgBmvC,wBAA0BnvC,EAAgBl6E,MAAMmpH,kCAGlDlyL,GAQ1BijJ,GAAmBsqG,EAAmB,CACtC,IAAIG,EAAkDzqG,EACtD,KACsC,IAAlCyqG,EAAmB3kL,MAAM7oE,MACS,IAAlCwtP,EAAmB3kL,MAAM7oE,MACzBwtP,EAAmB3kL,MAAM1iC,SAEzBqnN,EAAqBA,EAAmB3kL,MAAM1iC,OAAOw8G,sBACjDt1I,EACAmgP,EAAmBv7D,sBACnBu7D,EAAmBt7D,wBAA0Bs7D,EAAmB3kL,MAAMmpH,6BAErEw7D,KAMyB,KAA9BA,aAAkB,EAAlBA,EAAoB3kL,MAAM7oE,OACI,KAA9BwtP,aAAkB,EAAlBA,EAAoB3kL,MAAM7oE,QAE1B+iJ,EAAkByqG,GAI1B,OAAOzqG,EAIX,SAAS2uD,GAAuBhpI,EAAiB/zD,GAC7C8gN,EAAoBp5N,KAAKqsE,GAEzB,IACI,MAAM1nD,EAASrM,IAEf,OADA8gN,EAAoBx6K,MACbj6B,EACT,MAAO/b,GAIL,MADAwwN,EAAoBx6K,MACdh2C,GAOd,SAASgqM,GAAsBw+C,EAA4B94O,EAAmB04M,GAAsB,GAChGkI,EAAuBpI,wBAAwBsgC,EAAiBpgC,GAEhE,IACI,MAAMrsM,EAASrM,IAEf,OADA4gN,EAAuBhI,0BAChBvsM,EACT,MAAO/b,GAIL,MADAswN,EAAuBhI,0BACjBtoN,GAkBd,SAASyoP,GAAyC1tP,EAAoBi+F,GAClE,GAAI6J,GAAW9nG,IACPA,EAAKunG,QAAQv+B,YAAa,CAC1B,MAAM8jD,EAAe9sH,EAAKunG,QAAQv+B,YAClC,GAA0B,IAAtB8jD,EAAa9sH,KAAmC,CAChD,MACM2tP,EAAgB,GADD7gI,EAAapkD,MAElC,GAAIilL,EAAe,CACf,MAAMC,EAAcD,EAAc/+H,aAAa3wB,GAC/C,GAAI2vJ,EACA,OAAOA,EACFxzI,kBACA7tC,MAAMrD,GAAuB,IAAdA,EAAKlpE,UA+LjD,SAASk4H,GAAsBlvD,G,QAC3B,OAAQA,EAAYhpE,MAChB,KAAK,EAA2B,CAC5B,GAAkC,QAA9BgpE,EAAYkqF,cACZ,OAAOjtD,GAAQ9yF,SAGnB,GAAkC,UAA9B61D,EAAYkqF,cAA2B,CACvC,MACMktD,EAAgB/yF,GADJ,GAAiCrkD,EAAYN,OAE/D,OAAO03I,EAAgBA,EAAcnxG,eAAYnvG,EAGrD,MAAM00H,EAAU+2E,GAAiBviI,EAAYN,KAAM,OAC7C8iK,EAAUjgC,GAAiBviI,EAAYN,KAAM,OACnD,GAAIy+B,GAAgBqkI,IAAYrkI,GAAgBqtB,GAAU,CACtD,GAAkC,QAA9BxrD,EAAYkqF,cACZ,OAAO1+B,EAGX,GAAkC,eAA9BxrD,EAAYkqF,cACZ,OAAOlnD,GAAa,CAACwoB,EAASzuB,GAASgN,mBAG3C,GAAkC,QAA9B/pC,EAAYkqF,cACZ,OAAOs4E,EAGX,GAAkC,kBAA9BxiK,EAAYkqF,cAAmC,CAC/C,MAAM8rE,EAAe9rG,GAAelqD,EAAYN,KAAM,YACtD,GAAIw+B,GAAoB83H,GACpB,OAAOp5H,GAAUgK,gBACbhK,GAAUkK,uBACNkvH,EACA,CAACxqG,IAC4B,IAM7C,GAAkC,mBAA9BxrD,EAAYkqF,cAAoC,CAChD,MAAMy9C,EAAWz9E,GAAelqD,EAAYN,KAAM,QAClD,GAAIw+B,GAAoBypG,GACpB,OAAO/qG,GAAUgK,gBACbhK,GAAUkK,uBACN6gG,EACA,CAACn8E,EAASvuB,GAAQ9yF,WACW,KAOjD,OAAOuyF,GAAYvyF,SAGvB,KAAK,EAAuB,CACxB,MAAMitM,EAAgB/yF,GAAerkD,EAAYN,MACjD,OAAO03I,EAAgBA,EAAc9sD,mBAAgBxzJ,EAGzD,KAAK,EACD,OAAO0/N,EAAoBx2J,EAAYN,KAAKslB,gBAGhD,KAAK,EAA0B,CAC3B,MAAM2wI,EAAmBtrE,GAAkBrqF,EAAYN,MACvD,OAAOi2J,EAAmBA,EAAiBrrE,mBAAgBxzJ,EAG/D,KAAK,EAA2B,CAC5B,IAAIs8F,EAAqBpzB,EAAYN,KAAKslB,gBAAkBhlB,EAAYN,KAAK+oB,sBAK7E,IAAK2K,GACoC,MAAV,QAAvB,EAAApzB,EAAYN,KAAKviC,cAAM,eAAEshC,UAAqC,CAC9D,MAAMilD,EAAe1jD,EAAYN,KAAKviC,OACtC,GACIumF,EAAat5B,4BACZs5B,EAAat5B,0BAA0BlF,oBAC1C,CACE,MAAMm1B,EAAaqJ,EAAaroF,WAAWksD,WAAWnsE,GAAUA,IAAU4kD,EAAYN,OACtF0zB,EAAqB8sD,GAA8Bx8B,EAAcrJ,IAK7E,GAAIjnB,EAAoB,CACpB,MAAM67B,EAAeqnG,EAA6BljI,EAAoBpzB,EAAYN,KAAKpJ,UAEvF,OAAO8+J,GACHp1J,EAAYN,KACZM,EAAYN,KAAKpJ,SACjBqlL,GAA6B37K,EAAYN,KAAMuvD,IAIvD,OAGJ,KAAK,EAA0B,CAC3B,MAAM77B,EAAqBpzB,EAAYozB,mBAEvC,GAAIA,EAAoB,CACpB,MAAMyxJ,EAAgBrsB,GAAoBplI,G1DvohBvD,SAA+B1zB,GAClC,IAAI0vB,EAAW1vB,EACXuB,EAAUvB,EAAKviC,OAEnB,KAAO8jC,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,SAA2C,CACnD,GAAIwC,EAAQ+jB,iBAAmBoK,EAC3B,OAAOnuB,EAGX,MAGJmuB,EAAWnuB,EACXA,EAAUA,EAAQ9jC,Q0D0nhBA,CAAqCi2D,QACrCt8F,EACN,IAAIm4H,EAEJ,GAAIjvD,EAAY2mJ,wBACZ13F,EAAexY,GACXwwG,GACI7zH,GACiB,GACG,GACtBp8F,UAEH,CACH,MAAMutP,EACFvkL,EAAYmpH,yBACqB,MAAV,QAAvB,EAAAnpH,EAAYN,KAAKviC,cAAM,eAAEshC,UACnBuB,EAAYN,KAAKviC,OACjB6iC,EAAYN,KACtBuvD,EAAeunG,EAAoBpjI,EAAoB,CACnD+jI,sBAAsB,EACtBE,cAAe,GAAoDktB,GACnEntB,WAAY,GAAiDmtB,KAIrE,GAAIt1H,EAeA,OAbkC,KAA9BjvD,EAAYN,KAAKjB,WACjBwwD,EACIylH,GAAkC10K,EAAYN,MAAM,IAAMuvD,KAAiBA,GAG/E41H,GAA4D,KAA3CA,EAAc/lL,gBAAgBL,WAC/CwwD,EAAe6lH,GACX7lH,EACA41H,EAAc/lL,gBACdkB,EAAYN,OAIbuvD,EAIf,OAGJ,KAAK,EACD,QAKZ,SAAS4xH,GAA6BluK,EAAgBzS,G,QAClD,MAAMklD,EAAeC,GACjBnlD,GACwB,EACU,GAA6BA,EAAKR,MAAMkN,YAK9E,IAAKw4C,EACD,OAAO2mG,EAAiBkS,4BAA8BhhI,GAAQ9yF,SAAWuyF,GAAYvyF,SAGzF,SAAS26O,EACLl/I,EACAwwF,EACA9yB,GAEA,GAAI8yB,EAAcrvL,MAAQqvL,EAAc9hG,oBAAqB,CACzD,MAAM6yD,EAAgBmc,EAAa8yB,EAAcrvL,MACjD,IAAIogJ,EAIA,OAAO4kE,EAAiBkS,4BAA8BhhI,GAAQ9yF,SAAWuyF,GAAYvyF,SAHrFy7F,EAAWpD,OAAS2kD,EAAc1hD,YAClCG,EAAWvQ,UAAY8xD,EAAc9xD,UAkB7C,OAZI+gG,EAAcjzH,iBACdizH,EAAcjzH,gBAAgB7lD,SAAQ,CAAC8lD,EAAgB/+D,KAEnD,MAAM2+D,EAAa4iC,EAAW5iC,WAAa4iC,EAAW5iC,WAAa,IAAM3+D,EAAO,GAE1Ew+L,EAAaiiD,EADQnoJ,GAAWxyF,OAAO64D,EAAYI,EAAer8D,MACFq8D,EAAgBkgG,GAEhFyhF,EAAuB,kBAAsB,EAAkBliD,GACrEj9F,EAAWF,aAAavoG,IAAIkH,EAAM0gP,MAInCn/I,EAMX,GAA0B,IAAtBwf,EAAapuH,KAAgC,CAG7C,IAAIgsE,EAAaoiD,EAAapiD,WAC9B,GAAkB,IAAd9C,EAAKlpE,OACDkpE,EAAKpV,aACLkY,GAAc,IAAM9C,EAAKpV,YAKzBkY,EAAWxV,WAAW,MAAM,CAC5B,MACMka,EADW,GAA6BxH,EAAKR,MACxBsD,WAAWz9D,MAAM,KAG5C,IAFAy9D,EAAaA,EAAWhpE,OAAO,GAExBgpE,EAAWxV,WAAW,MAAQka,EAAU10E,OAAS,GACpDgwE,EAAaA,EAAWhpE,OAAO,GAC/B0tE,EAAUz1B,MAGd+wB,EAAa0E,EAAUl0E,KAAK,KAAO,IAAMwvE,EAGjD,MAAM4iC,EAAajJ,GAAWxyF,OAAO64D,EAAYoiD,EAAar+G,MAC9D,OAAIq+G,EAAat6D,YAAcs6D,EAAamyC,kBACjCutF,EAA+Bl/I,EAAYwf,EAAamyC,kBAAmB+L,GAE3EwhF,EAA+Bl/I,EAAYwf,EAAck+C,GAIxE,MAAMr0C,EAAeC,GAAsB9J,GAC3C,GAAI6J,EACA,OAAOA,EAKX,MAAMzuD,EAAW,GAA6B4kD,EAAa1lD,MAC3D,IAAIslL,GAAqBxkL,EAASokG,oBAAsBpkG,EAASoM,WAKjE,IAAKo4K,GACyB,IAAtB5/H,EAAapuH,KAAmC,CAGhD,MAAMg4H,EAAiB,GAAiC5J,EAAa1lD,MAA2B,GAChG,GAAIsvD,EAAgB,CAChB,MAAMooF,EAAgB/yF,GAAe2K,GACjCooF,GAAiBx6G,GAAU4L,YAAY4uG,EAAcnxG,aACrD++I,GAAoB,IAIxB5/H,EAAazxB,SAAWyxB,EAAa+kC,cACrC66F,GAAoB,GAOhC,GAA0B,IAAtB5/H,EAAapuH,KACb,OAEE,QAFK,EAAAu1M,GAAuBnnF,EAAa1lD,KAAKr7D,MAAO,KACnD88O,GAAwB/7H,EAAa1lD,gBACvC,eAAE1oE,KAGR,GAA0B,IAAtBouH,EAAapuH,MAAqCouH,EAAalU,mBAAoB,CAGnF,MAAM+zI,EACF7/H,EAAarxB,eAAiBqxB,EAAalU,mBAAmB/zE,OACxDioF,EAAalU,mBAAmB/zE,OAChCioF,EAAalU,mBACvB,IAAIg0I,EAEF,QAFiB,EAAA34C,GAAuBnnF,EAAa1lD,MAAM,KACzDirI,GAA0Bs6C,aAC5B,eAAEjuP,KAEJ,GAAIkuP,GAA+C,KAA/B9/H,EAAa1lD,KAAKjB,SAAiC,CAEnE,MAAM0mL,EAAiBzQ,GAAkCtvH,EAAa1lD,MAAM,K,MACxE,OAGM,QAFF,EAAA6sI,GAAuBnnF,EAAalU,oBAAqB,KACrDy5F,GAA0BvlF,EAAalU,8BACzC,eAAEl6G,OAAQ0lG,GAAYvyF,YAG5Bg7O,IACAD,EAAeC,GAsCvB,OAlCID,GAAgB9/H,EAAarxB,iBAKzByI,GAASgB,eAAe0nJ,IACvBxnJ,GAAUwnJ,IACVxtI,GAAewtI,KAEhBA,EAAepQ,GACXoQ,EACA9/H,EAAarxB,cACbqxB,EAAa1lD,MAGjBslL,GAAoB,IAKxBE,GAAgB1kL,EAASokG,qBAAuBpkG,EAASoM,aACpDo4K,GAqBjB,SAAgCryK,EAAgBzS,EAAmBglL,G,MAC/D,MAAME,EAAgBzyK,EAAOy+B,kBAAkBvwD,QAAQqf,GAC9B,IAAdA,EAAKlpE,OAAsCkpE,EAAK45H,8BAI3D,GAAIsrD,EAAcpyP,OAAS,EACvB,OAAO,EAGX,GAAkB,IAAdktE,EAAKlpE,KACL,OAAO,EAIX,GAA6B,IAAzBouP,EAAcpyP,OACd,OAAO,EAIX,GAAIqrG,GAAU6mJ,GACV,OAAO,EAGX,IAAI7+D,EAEJ,MAAMthE,EAAa7kD,EAAKR,KAAKviC,OAa7B,GAZI4nF,IAE4B,IAAxBA,EAAWtmD,SACX4nH,EAAiBthE,EAEO,KAAxBA,EAAWtmD,UACgB,KAAV,QAAjB,EAAAsmD,EAAW5nF,cAAM,eAAEshC,YAEnB4nH,EAAiBthE,EAAW5nF,UAI/BkpJ,EACD,OAAO,EAGX,MAAMg/D,EAAez3H,EAAoBy4D,EAAethG,iBAAiB/tF,KAGzE,SAAImnG,GAAgBknJ,KAAiBpuI,GAAcouI,KAOH,KAA5Ch/D,EAAethG,gBAAgBtmB,WAAoC+9B,GAASqI,YAAYwgJ,GAvE5EC,CAAuB3yK,EAAQzS,EAAMglL,KACrCF,GAAoB,GAIvBA,IACDE,EAAe1oJ,GAAS+I,sBAAsB2/I,KAI/CA,GAyEf,SAAS7/H,GACLrlD,EACAujG,EACAC,GAA8B,G,MAE9B,OAKC,QALM,KACHF,EACAtjG,EACAujG,EACAC,UACH,eAAExjG,YAGP,SAASqyI,GACLryI,EACAujG,EACAC,GAA8B,GAE9B,OAAO,GACHF,EACAtjG,EACAujG,EACAC,GAUR,SAAS13C,GAAyBn5C,GAC9B,OAAO48I,GAAiC58I,GAAQ37E,KAGpD,SAASu4N,GACL58I,EACA4yK,EACAC,GAAc,GAGd,GAAI7yK,EAAO0+B,uBAAwB,CAC/B,MAAM4d,EAAe0kF,GAAwBhhI,EAAQ4yK,GACrD,MAAO,CACHvuP,KAAMi4H,GAAgBvyB,GAAYvyF,SAClC6wB,cAAc,EACdy1L,qBAAsB99I,EACjB2+B,uBACA7qD,MAAMyZ,GAAuB,IAAdA,EAAKlpE,OACzBy4N,uBAAwBxgG,GAKhC,IAAI61F,EAAe0H,EAAmBjwN,IAAIo2E,EAAO/9D,IACjD,MAAM6wO,EAAcF,EAAYA,EAAU3wO,QAAK9d,EAC/C,GAAIguN,EACA,IAAK,MAAMrzJ,KAASqzJ,EAChB,GAAIrzJ,EAAMg0L,cAAgBA,GAAeh0L,EAAM+zL,cAAgBA,EAC3D,OAAO/zL,EAAMz5C,OAMzB,MAAMk8M,EAAyB,GACzBhgI,EAAQvhB,EAAOy+B,kBACfs0I,EAAa/zI,GAAgBh/B,GACnC,IAIIgzK,EAJA3qN,GAAe,EACfy1L,GAAuB,EACvBm1B,GAA4B,EAmGhC,GA5FIJ,GACAtxJ,EAAM52E,SAAQ,CAAC4iD,EAAM/9C,KACZ+9C,EAAKq0B,kBACNoxJ,EAAsBxjO,MAKlC+xE,EAAM52E,SAAQ,CAAC4iD,EAAM/9C,K,QACjB,IAAI0jO,OAAuC/uP,IAAxB6uP,GAAqCxjO,IAAUwjO,EAelE,QAbkB7uP,IAAdyuP,GACkB,IAAdrlL,EAAKlpE,MAEc,GAAqCuuP,KACtC,GAAqCrlL,EAAKR,QAEnD26J,GAAuBn6J,EAAKR,KAAM6lL,KACnCM,GAAe,IAM3BA,EAAc,CACd,MAAMvrD,EAAsB1mG,GAA+B1zB,GAsB3D,IArBoBo6H,GAAuBxmG,GAA+B5zB,KAMxD,IAAdA,EAAKlpE,MACoC,KAAV,QAA/B,EAAuB,QAAvB,EAAAkpE,EAAKgxC,0BAAkB,eAAE/zE,cAAM,eAAEshC,YAEjC22K,GAAoCl1K,EAAKgxC,mBAAmB/zE,QAExD+iC,EAAK2zB,qBAEL2iI,EAAoBt2J,EAAK2zB,oBAAqB,CAC1CsjI,sBAAsB,EACtBC,WAAY,GAAiDl3J,EAAKR,MAClE23J,cAAe,GAAoDn3J,EAAKR,SAKhF0uJ,EAAqBz7I,EAAQzS,GAC7B,IACI,IAAIlpE,EAAO6pP,GAA6BluK,EAAQzS,GAMhD,GAJKouJ,EAAoB37I,KACrB33C,GAAe,GAGfhkC,EAAM,CACN,GAAkB,IAAdkpE,EAAKlpE,KAAmC,CACxCy5N,GAAuB,EAEvB,IAAItmE,EAA2B,IAAdjqF,EAAKlpE,QAAuCkpE,EAAKiqF,WAI9DhsD,GAAgBnnG,IAAS4lG,GAAU4L,YAAYxxG,IA+I/E,SAA2BkpE,GACvB,MAAM6tB,EAAY,GAAiC7tB,EAAKR,MAA2B,GACnF,IAAKquB,EACD,OAAO,EAGX,MAAMgtJ,EAAY12H,GAAet2B,GACjC,QAAKgtJ,GAIEn+I,GAAU4L,YAAYuyI,EAAU90I,WA1J6C6/I,CAAkB5lL,KAC1EiqF,GAAa,IAKb3tD,GAASvmG,WAAWe,IAAUsjM,GAAwBnwC,GAAeu7F,IACrE1uP,EAAOq/G,GAAkBr/G,IAGjCk9N,EAAe7gO,KAAK2D,GAEhBu1N,EAAuB/H,cAActkJ,EAAKR,QAC1CkmL,GAA4B,QAGhC5qN,GAAe,EAErB,MAAO/+B,GAGL,MADAqyN,EAAoB37I,GACd12E,OAGV++B,GAAe,MAKvBk5L,EAAelhO,OAAS,EAAG,CAC3B,MAAMglB,EAA8B,CAChChhB,KAAMgsG,GAAakxH,GACnBl5L,cAAc,EACdy1L,uBACAhB,uBAAuB,GAiB3B,OAdKm2B,IAEI9gC,IACDA,EAAe,GACf0H,EAAmBrvN,IAAIw1E,EAAO/9D,GAAIkwM,IAGtCA,EAAazxN,KAAK,CACdoyP,cACAD,cACAxtO,YAIDA,EAGX,MAAO,CACHhhB,KAAMylG,GAAYtyF,SAClB6wB,eACAy1L,uBACAhB,uBAAuB,GAI/B,SAAS9b,GAAwBhhI,EAAgB4yK,GAC7C,MAAMQ,EAAkBpzK,EAAO4+B,qBAC/B,GAAIw0I,EACA,OAAOA,EAGX,IAAIt0I,EAAa9+B,EAAO2+B,uBAExB,GAA0B,IAAtBG,EAAWz+G,OAEX,OAOJ,GAAIy+G,EAAWz+G,OAAS,GAAKuyP,EAAW,CACpC,MAAMS,EAAqBv0I,EAAW5wD,QAAQqf,KACxB,IAAdA,EAAKlpE,MAEc,GAAqCuuP,KACtC,GAAqCrlL,EAAKR,QAEnD26J,GAAuBn6J,EAAKR,KAAM6lL,GAA2B,MAQ1ES,EAAmBhzP,OAAS,IAC5By+G,EAAau0I,GASrB,IAAIh1I,EAAYS,EAAWz+G,OAAS,EACpC,KAAOg+G,GAAa,GAAG,CACnB,MAAM9wC,EAAOuxC,EAAWT,GAIlBy9G,EAAcC,EAA+B/7I,EAAQzS,GAC3D,GAAIuuJ,EACA,OAAOA,EAGX,GAAIP,EAA2Bv7I,EAAQzS,GAAQ,GACvCkuJ,EAAqBz7I,EAAQzS,GAC7B,IACI,MAAMlpE,EAAOk4H,GAAsBhvD,GAQnC,GAAIouJ,EAAoB37I,IAAyB,IAAdzS,EAAKlpE,KACpC,OAAOA,EAEb,MAAOiF,GAGL,MADAqyN,EAAoB37I,GACd12E,EAKlB+0G,KAoBR,SAASutH,GAA2BvnO,GAC5B8nG,GAAW9nG,GACXu+N,GAA+Bv+N,GACxB+nG,GAAqB/nG,IAC5BA,EAAKuqG,UAAUjkF,SAAS+5F,IACpBk+G,GAA+Bl+G,MAS3C,SAASk+G,GACLv+N,EACAoY,EACA62O,GAAoB,GAGpB,OAD8BppJ,GAAagQ,yBAAyB71G,KAKhEivP,EACOz3C,GAA8Bx3M,EAAMoY,GAGxCstF,GAAYvyF,UAGvB,SAASqkM,GAA8Bx3M,EAAoBoY,G,MACvD,IAAIgyF,EAGJ,GAAIvE,GAAa4P,iBAAiBz1G,GAC9B,OAAO0lG,GAAYvyF,SAKvB,GAAInT,EAAKqqG,mBACLD,EAAapqG,EAAKqqG,uBACf,CAGH,GAAIxE,GAAaiP,iBAAiB90G,IAA+B,aAAtBA,EAAKunG,QAAQl6F,KACpD+8F,EAAarE,GAASgN,sBACnB,GAAI/yG,EAAKunG,QAAQv+B,YAAa,CACjC,MAAM0jD,EAAe1sH,EAAKunG,QAAQv+B,YAAYN,KAG9C,GAAIqsJ,EAAiB7sD,4BAA6B,CAC9C,MAAMivB,EzEl7jBnB,SAA+BzuH,G,MAElC,OAAsC,QAA/B,EADcA,EACDyuH,0BAAkB,QAAI,EyEg7jBC,CAAuCzqE,IAM9D1sH,EAAKunG,QAAQljE,WAAWroC,QAAU,GAClCgE,EAAKunG,QAAQljE,WAAWorB,MAAMrrC,GAAUA,EAAM4vF,mBAEpBmjF,EA9ljBD,MAkohB7C,SAAgCxiL,GAC5B,MAAMrH,EAAQioN,EAAuB5H,yBAErC,IA69BoBvjH,EAAaq9I,GAAwB/6H,EAAc7mB,GAAaqP,iBAAiBl1G,IA39BjGu1N,EAAuB3H,sBAAsBtgN,GAC/C,MAAOrI,GAIL,MADAswN,EAAuB3H,sBAAsBtgN,GACvCrI,GAq9BM0oN,GAKIvjH,GAAcvE,GAAa2P,wBAAwBx1G,KACnDoqG,EAAa4yH,GACTtwG,EACAtiB,KAC0B,QAAxB,EAAApqG,EAAKunG,QAAQv+B,mBAAW,eAAEmsC,iBAO3C/K,IACDA,EAAa1E,GAAYvyF,UAI7BnT,EAAKqqG,mBAAqBD,EAM9B,GACI2qH,EAAiB7sD,6BACjBzjD,GAAgBra,IAChBvE,GAAa8P,qBAAqB31G,KACjC6lG,GAAa4P,iBAAiBz1G,KAC9B6lG,GAAa6P,oBAAoB11G,IAClCoY,EACF,CACE,MAAM82O,EASd,SACIlvP,EACAoY,G,MAEA,IAAI82O,EAEJ,IAAKlvP,EAAKunG,QAAQv+B,YACd,OAEJ,MAAM0jD,EAAe1sH,EAAKunG,QAAQv+B,YAAYN,KAK9C,GAAItwD,EAAKq3C,MAAMxxD,IAASA,EAAIggG,YACxB,OAMJ,GAAIo4H,EAAgC5mK,MAAMx7C,GAAYA,EAAQy4G,eAAiBA,IAC3E,OAGJ,MAAMlY,EAAe6+C,GAAkB3mC,GACvC,OAAKlY,KAODp8F,EAAKpc,OAnrjB2B,GAwrjBhCq6N,EAAgCr6N,QA9rjBJ,IAmsjBhC01M,GAAoBhlF,GAAc,KAI9B,MAAMyiI,EAAgB74B,EACtBD,EAAgCh6N,KAAK,CACjCqwH,eACAm+H,iBAAkBzxB,GAAeuxB,2BAGrC,IACIr0B,EAA+B,IAAIx3M,IAEnC,IAAIswO,GAAwB,EAC5B1iI,EAAaroF,WAAW/d,SAAQ,CAAClC,EAAO+G,KACpC,GAAI/G,EAAM/W,KAAM,CACZ,IAAI21G,EACJ,MAAM/kH,EAAMma,EAAKm0D,MAAMtuE,GAAQmmB,EAAM/W,KAAM/O,QAAUL,EAAIggG,YACrDhgG,GAAOA,EAAI+3O,SAASluK,iBACpBk7C,EAAY4T,EAAoB34H,EAAI+3O,SAASluK,iBAAiB9nE,KACzD0mG,GAAUsc,KACXosI,GAAwB,IAErBhrO,EAAM8vE,cACb8uB,EAAY4T,EAAoBxyG,EAAM8vE,cAAcl0F,KAC/C0mG,GAAUsc,KACXosI,GAAwB,IAEX,IAAVjkO,IAIH06E,GAAaiP,iBAAiBN,EAAaA,eAC3C3O,GAAaoP,cAAcT,EAAaA,gBAEpCA,EAAaA,aAAajN,QAAQljE,WAAWroC,OAAS,GAClD0wH,EAAaroF,WAAW,GAAGh3B,OAC3B21G,EAAYxO,EAAaA,aAAajN,QAAQljE,WAAW,GAAGrkC,MAMvEgjH,IACDA,EAAYtd,GAAYvyF,UAG5B0jN,EAAezyM,EAAM/W,KAAM21G,EAAW,GAAwC,OAMjFosI,IACDF,EAAuBzH,GAAwB/6H,EAAc7mB,GAAaqP,iBAAiBl1G,K,QAG/Fq2N,EAAgCp7K,MAChCq7K,EAA+B64B,MAInCD,GACAA,EAAuBvjJ,GAAcujJ,GAGjCrpJ,GAAa2P,wBAAwBx1G,KAAUqmG,GAAQ6oJ,KACvDA,EAAuBlyB,GACnBtwG,EACAwiI,KAC0B,QAAxB,EAAAlvP,EAAKunG,QAAQv+B,mBAAW,eAAEmsC,eAI7B+5I,QAZX,QA/EA,EAnCiCG,CAA4CrvP,EAAMoY,GAC3E82O,IACA9kJ,EAAa8kJ,GAIrB,OAAO9kJ,EA8HX,SAASypG,GAA8BnrI,GACnC,MAAMi2J,EAAmBtrE,GAAkB3qF,GAC3C,OAAKi2J,EAOD94H,GAAaqP,iBAAiBypH,EAAiBnqH,cACxCvO,GAAQ9yF,SAGf0yF,GAAasP,YAAYwpH,EAAiBnqH,cACnCqP,GAA+B86G,EAAiBnqH,cAGpDmqH,EAAiBnqH,aAAajN,QAAQ2C,mBAblCjE,GAAQ9yF,SAgBvB,SAASqlJ,GAAgBplG,GACrB,OAAI8zC,GAAoB9zC,EAAO67C,WACpB4R,GAAwBiU,GAAyB1hE,EAAOuoB,QAASvoB,EAAO67C,WAE5EvJ,GAAYvyF,SA8BvB,SAASm8O,GACL/hJ,EACAC,EACAgjB,EACAxP,EACA92C,EACAqlL,EACA9mJ,GAEA,GAAIA,EAAiBlD,GACjB,OAAO,EAMX,GAJAkD,IAKIktH,EAAwBlmK,MAAMgL,GACnB2tC,GAAW3tC,EAAM+yC,QAASA,IAAYpF,GAAW3tC,EAAM8yC,SAAUA,KAG5E,OAAO,EAGXooH,EAAwBt5N,KAAK,CAAEmxG,UAASD,aACxC,IAAIwJ,GAAe,EAEnB,IACIA,EAqBR,SACIxJ,EACAC,EACAgjB,EACAxP,EACA92C,EACAqlL,EACA9mJ,GAEA,MAAM+mJ,EAAkBjiJ,EAAShG,QAAQiE,OAGnCikJ,EAAkB7pJ,GAAUkK,uBAC9BvC,OACAztG,GAC6B,GAE3B4vP,EAAwB,IAAI90I,GAAWgF,GAAkBrS,IAEzDoiJ,EAAiB,IAAI/0I,GAAWgF,GAAkBrS,IACxD0T,GAA8B0uI,EAAgBpiJ,EAAUC,GAKpD5H,GAAU0L,iBAAiB9D,IACvB0oH,GAAsBhvH,GAAoBgvH,KAC1C1oH,EAAU0oH,GAIlB,IAAItgG,GAAqB,EACzB,MAAMg6H,EAAqB5vI,GAAoCxS,GACzDqiJ,EAAiB1vI,GAAoB3S,GAA+B,GACpE,IACA,EAkPN,GAhPAgiJ,EAAgBlpO,SAAQ,CAACq1D,EAAQtuE,KAC7B,GAAIsuE,EAAOs9B,kBAAoBt9B,EAAOo9B,4BAA6B,CAC/D,IACI+2I,EADAC,GAAwB,EAK5B,IAAKR,GAAsC,sBAATliP,EAC9B,OAKJ,GAAa,cAATA,EACA,OAoBJ,GAfIkiP,GACA/hJ,EAAQjG,QAAQmI,oBAChBxI,GAAoBsG,EAAQjG,QAAQmI,sBAEpCogJ,EAAgBjuI,GAAkBrU,EAAQjG,QAAQmI,mBAAoBriG,GAClEyiP,IACAF,EAAmB3zI,iBAAiB2D,GAAkBpS,EAAQjG,QAAQmI,qBACtEqgJ,GAAwB,IAI3BD,IACDA,EAAgBjuI,GAAkBrU,EAASngG,IAG1CyiP,EAKE,CACH,IAAIE,EAAiBrzC,GAAwBhhI,GAC7C,GAAIq0K,EAAgB,CAChB,IAAIC,EAAgB/oJ,GAAoB4oJ,EAAc7gJ,WAChD4R,GACIiU,GAAyBg7H,EAAcn0K,QACvCm0K,EAAc7gJ,UACdzB,GAEJ9H,GAAYvyF,SAElB,GAAI20F,GAAWmoJ,IAAkBloJ,GAAqBkoJ,IAClD,GAAIF,EAAuB,CACvB,MAAMG,EAAmB3+F,GACrB/jD,EACAyiJ,OACkBnwP,OACFA,EAChB2oG,GACoC,EACpC+E,GAMJ,GAJI0iJ,IACAD,EAAgB3qI,GAAsC4qI,IAGtDpoJ,GAAWkoJ,IAAmBjoJ,GAAqBioJ,GAAiB,CACpE,MAAMG,EAAoB5+F,GACtB/jD,EACAwiJ,OACkBlwP,OACFA,EAChB2oG,GACoC,EACpC+E,GAEA2iJ,IACAH,EAAiB1qI,GAAsC6qI,UAG5D,GAAIjpJ,GAAoB4oJ,EAAc7gJ,WAAY,CAErD+gJ,EAAiBtwI,GAAoBswI,EAAgBL,GAErD,MAAMO,EAAmB3+F,GACrBg+F,EAA4B/hJ,EAAU5H,GAAUgK,gBAAgBpC,GAChEyiJ,EACAH,EAAc7gJ,eACEnvG,EAChB2oG,GAMJ,GAJIynJ,IACAD,EAAgB3qI,GAAsC4qI,IAGtDpoJ,GAAWkoJ,IAAmBjoJ,GAAqBioJ,GAAiB,CACpE,MAAMG,EAAoB5+F,GACtB3rD,GAAUgK,gBAAgBpC,GAC1BwiJ,EACAF,EAAc7gJ,eACEnvG,EAChB2oG,GAEA0nJ,IACAH,EAAiB1qI,GAAsC6qI,WAMnEH,EAAiBtwI,GAAoBswI,EAAgBL,GAGzD,MAAM9pB,EAAUr1G,aAAI,EAAJA,EAAMX,iBAGtB,GAAI1oB,GAAgB6oJ,IAAmBpqJ,GAAU6L,gBAAgBu+I,GAC7D,GACI7oJ,GAAgB8oJ,IAChBrqJ,GAAU6L,gBAAgBw+I,KACzBV,EAGI57B,GACGsO,GACAr8H,GAAUmJ,oBAAoBihJ,GAC9BpqJ,GAAUmJ,oBAAoBkhJ,GAC9BziJ,EACAq4H,aAAO,EAAPA,EAASh2G,iBACT6/H,EACAjnJ,KAGAo9H,GACAA,EAAQj2G,WACJgD,GAAUlD,mBAAmB0G,qBAAqB/jH,OAAO,CAAEhF,UAGnEuoH,GAAqB,OAEtB,CAEH,MAAM6yG,EAAah3E,GACfu+F,GACwB,GAGvBvnB,GACAtyG,GACGsyG,EACAwnB,EACApqB,aAAO,EAAPA,EAASh2G,iBACT6/H,EACAG,EACApnJ,KAGAo9H,GACAA,EAAQj2G,WACJgD,GAAUlD,mBAAmB0G,qBAAqB/jH,OAAO,CAAEhF,UAGnEuoH,GAAqB,QAI5BO,GACG65H,EACAC,EACApqB,aAAO,EAAPA,EAASh2G,iBACT6/H,EACAG,EACApnJ,KAGAo9H,GACAA,EAAQj2G,WAAWgD,GAAUlD,mBAAmB0G,qBAAqB/jH,OAAO,CAAEhF,UAElFuoH,GAAqB,GAGzB,MAAMw6H,EAAcz0K,EACf2+B,uBACA7qD,MAAMyZ,GAAuB,IAAdA,EAAKlpE,QAAuCkpE,EAAKyzB,UAKjEyzJ,IAJeN,EAAcn0K,OAC5B2+B,uBACA7qD,MAAMyZ,GAAuB,IAAdA,EAAKlpE,QAAuCkpE,EAAKyzB,YAG7DyzJ,EACIvqB,GACAA,EAAQj2G,WACJgD,GAAUlD,mBAAmBkpB,0BAA0BvmI,OAAO,CAAEhF,UAIpEw4N,GACAA,EAAQj2G,WACJgD,GAAUlD,mBAAmBopB,6BAA6BzmI,OAAO,CAAEhF,UAI/EuoH,GAAqB,GAIzBj6C,EAAO09B,eAAiBy2I,EAAcn0K,OAAOs9B,kBACzCuX,GACAA,EAAKZ,WAAWgD,GAAUlD,mBAAmBmrB,yBAAyBxoI,OAAO,CAAEhF,UAEnFuoH,GAAqB,QA9KrBpF,GACAA,EAAKZ,WAAWgD,GAAUlD,mBAAmBqrB,wBAAwB1oI,OAAO,CAAEhF,UAElFuoH,GAAqB,MAkLjCroB,EAAShG,QAAQgI,YAAYjpF,SAASisF,KAE9BrL,GAAoBqL,IACnB3M,GAAUqH,UAAUsF,EAAW,WAC/B3M,GAAUqH,UAAUsF,EAAW,aAI3B+8I,GAFwBhsI,GAAuB/V,EAAUgF,GAItD/E,EACAgjB,aAAI,EAAJA,EAAMX,iBACN7O,EACA92C,EACAqlL,EACA9mJ,KAGJmtB,GAAqB,MAM7BA,GAAsBroB,EAAShG,QAAQ6G,eAAepyG,OAAS,GAAKuxG,EAASnE,cAAe,CAG5F,MAAMinJ,EAA0B3wI,GAAoB+vI,EAAiBC,GAGhEY,GACG/iJ,EACA8iJ,EACA7/H,EACAxP,EACA92C,EACAu+B,KAGJmtB,GAAqB,GAI7B,OAAOA,EA7TY26H,CACXhjJ,EACAC,EACAgjB,EACAxP,EACA92C,EACAqlL,EACA9mJ,GAEN,MAAOxjG,GAIL,MADA0wN,EAAwB16K,MAClBh2C,EAKV,OAFA0wN,EAAwB16K,MAEjB87D,EA8SX,SAASy5I,GACLjjJ,EACAC,EACAgjB,EACAxP,EACA92C,EACAu+B,GAEA,GAAIA,EAAiBlD,GACjB,OAAO,EAEXkD,IAEA,IAAImtB,GAAqB,EACzB,MAAM45H,EAAkBjiJ,EAAShG,QAAQiE,OAGnCikJ,EAAkB7pJ,GAAUkK,uBAC9BvC,OACAztG,GAC6B,GAE3B4vP,EAAwB,IAAI90I,GAAWgF,GAAkBrS,IA6E/D,GA3EAiiJ,EAAgBlpO,SAAQ,CAACq1D,EAAQtuE,KAC7B,GAAIsuE,EAAOs9B,kBAAoBt9B,EAAOo9B,4BAA6B,CAC/D,MAAMisH,EAAex3H,EAAQhC,OAAOjmG,IAAI8H,GAExC,GAAK23N,EAKE,CACH,IAAI/sG,EAAe0kF,GAAwBhhI,GAC3C,GAAIs8C,EAAc,CACd,MAAMg4H,EAAgBn7H,GAAyBkwG,GAE/C,IAAIl9H,GAAWmoJ,IAAkBloJ,GAAqBkoJ,MAC9CnoJ,GAAWmwB,IAAiBlwB,GAAqBkwB,IAAe,CAChE,MAAMk4H,EAAoB5+F,GACtB3rD,GAAUgK,gBAAgBrC,GAC1B0qB,EACA1qB,OACgBztG,EAChB2oG,GAEA0nJ,IACAl4H,EAAek4H,GAK3B,MAAMtqB,EAAUr1G,aAAI,EAAJA,EAAMX,iBAGjBsG,GACG8B,EACAg4H,EACApqB,aAAO,EAAPA,EAASh2G,iBACT6/H,EAAqB,EAErBjnJ,KAGAo9H,GACAA,EAAQj2G,WAAWgD,GAAUlD,mBAAmB0G,qBAAqB/jH,OAAO,CAAEhF,UAElFuoH,GAAqB,SAvCzBpF,GACAA,EAAKZ,WAAWgD,GAAUlD,mBAAmBqrB,wBAAwB1oI,OAAO,CAAEhF,UAElFuoH,GAAqB,MA4CjCroB,EAAShG,QAAQgI,YAAYjpF,SAASisF,KAE9BrL,GAAoBqL,IACnB3M,GAAUqH,UAAUsF,EAAW,WAC/B3M,GAAUqH,UAAUsF,EAAW,aAI3Bi+I,GAFwBltI,GAAuB/V,EAAUgF,GAItD/E,EACAgjB,aAAI,EAAJA,EAAMX,iBACN7O,EACA92C,EACAu+B,KAGJmtB,GAAqB,MAM7BA,GAAsBroB,EAAShG,QAAQ6G,eAAepyG,OAAS,GAAKuxG,EAASnE,cAAe,CAG5F,MAAMqnJ,EAAyB/wI,GAAoB+vI,EAAiBC,GAG/DY,GACG/iJ,EACAkjJ,EACAjgI,EACAxP,EACA92C,EACAu+B,KAGJmtB,GAAqB,GAI7B,OAAOA,EAiFX,SAAS86H,GACLnjJ,EACAC,EACAgjB,EACAxP,EACA92C,EACAu+B,EACAkoJ,GAIA,GAAI/qJ,GAAU0L,iBAAiB/D,IAAa3H,GAAU0L,iBAAiB9D,GACnE,QAAKmoB,GAAmBssG,GAAoB10H,EAAUC,EAASgjB,EAAM/nB,KAIjE7C,GAAUjJ,QAAQ4Q,KAAc3H,GAAUjJ,QAAQ6Q,IAC9CgjB,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBqsB,yBAAyB1pI,OAAO,CACzDq2G,WAAY2M,GAAU5V,GAAkBjS,IACxCD,SAAU8nB,GAAU5V,GAAkBlS,QAI3C,KAIwC,IAAtC,EAARrjC,KAAoD07B,GAAU+C,mBAAmB4E,EAAUC,KACrFmoB,GAAmBssG,GAAoBz0H,EAASD,OAAqBztG,EAAW2oG,IAO/F,MAAMmoJ,EAAgB/7B,GAAetvN,IAAIgoG,EAAShG,QAAQwG,UAC1D,GACI6iJ,GACAA,EAAcnhM,MAAMohM,GAChBrjJ,EAAQjG,QAAQoI,IAAIlgD,MAAMswD,GAAa9Y,GAAQ8Y,IAAa8wI,IAAY9wI,EAASxY,QAAQwG,cAG1C,IAAtC,EAAR7jC,GACD,OAAO,EAMf,MAAMyoC,EAAqC,GACrCH,EAAgB5M,GAAU4M,cAAchF,EAASD,EAAUoF,GAKjE,GAAI/M,GAAU+L,gBAAgBpE,KAAciF,EACxC,QACK88I,GACG/hJ,EACAC,EACAgjB,aAAI,EAAJA,EAAMX,iBACN7O,EACA92C,GACgC,EAChCu+B,KAGA+nB,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBorB,uBAAuBzoI,OAAO,CACvDq2G,WAAY2M,GAAU5V,GAAkBjS,IACxCD,SAAU8nB,GAAU5V,GAAkBlS,QAI3C,GAMf,IAAmD,IAAtC,EAARrjC,IAAmD07B,GAAU+C,mBAAmB6E,EAASD,KACtFiF,EAGA,OAFA1/C,EAAO6/C,EAAiB32G,OAAS,GA8K7C,SACIuxG,EACAC,EACAmF,EACA6d,EACAxP,EACA92C,EACAu+B,GAEA,IAAIqoJ,EAAatjJ,EACbujJ,EAAgB/vI,GAAc,IAAIpG,GAAWgF,GAAkBrS,IAC/DozG,EAAiBz2I,EAGhB82C,IACD2/F,IAAkB,GAGtB,IAAK,IAAIqwC,EAAgBr+I,EAAiB32G,OAAS,EAAGg1P,GAAiB,EAAGA,IAAiB,CACvF,MAAMC,EAAet+I,EAAiBq+I,GAItC,GAAItqJ,GAAUuqJ,GACV,OAAO,EAIX,GAAIrrJ,GAAUqH,UAAUgkJ,EAAc,UAClC,OAAO,EAWX,GANID,EAAgBr+I,EAAiB32G,OAAS,IAC1C80P,EAAaxtI,GAAuBwtI,EAAYG,IAK9B,IAAlBD,GAAuBzjJ,EAASxE,oBAAsB+nJ,EAAW/nJ,mBACjE,OAAOmoJ,GAAuB3jJ,EAAUujJ,EAAYtgI,EAAMugI,EAAe7mL,EAAOu+B,GAKpF,GAAkC,IADP7C,GAAUyM,kBAAkB4+I,GAChCj1P,OAAvB,CAKA,IAAKi1P,EAAa7nJ,cACd,OAAO,EAIX,IACKknJ,GACGW,EACAH,EACAtgI,EACAugI,EACApwC,EACAl4G,GAGJ,OAAO,EAIXsoJ,EAAgB,IAAIn2I,GAAWgF,GAAkBqxI,IACjDtwC,IAAkB,GAGtB,GAAIpzG,EAASnE,eAGT,IAAKknJ,GAA8B/iJ,EAAUujJ,EAAYtgI,EAAMxP,EAAY92C,EAAOu+B,GAC9E,OAAO,OAER,GACHuY,GACAzT,EAAShG,QAAQ6G,eAAepyG,OAAS,GACzC80P,EAAW1nJ,gBACV4X,EAAW9D,WACd,CAEE,MAAMogG,EAAcwzC,EAAW1nJ,cAC/B,IAAK,IAAI9tG,EAAI,EAAGA,EAAIiyG,EAAShG,QAAQ6G,eAAepyG,OAAQV,IAAK,CAC7D,MAAM4nH,EAAc5nH,EAAIgiN,EAAYthN,OAASshN,EAAYhiN,GAAKoqG,GAAYvyF,SAC1E6tG,EAAW7F,eAAe5N,EAAShG,QAAQ6G,eAAe9yG,QAAIwE,EAAWojH,IAIjF,OAAO,EA1QQiuI,CACH5jJ,EACAC,EACAmF,EACA6d,EACAxP,EACA92C,EACAu+B,GAMZ,GAAI7C,GAAUqH,UAAUM,EAAU,WACqB,IAAtC,EAARrjC,GACD,OAAO,EAIf,MAAMknL,EAAgBT,EAA2B/qJ,GAAUgK,gBAAgBrC,GAAYA,EACjF8jJ,EAAeV,EAA2B/qJ,GAAUgK,gBAAgBpC,GAAWA,EAErF,IAAI8jJ,EAAoBj8H,GAAU+7H,GAC9BG,EAAmBl8H,GAAUg8H,GAgBjC,OAbIC,IAAsBC,GAAoBhkJ,EAAShG,QAAQwG,UAAYP,EAAQjG,QAAQwG,WACvFujJ,EAAoB/jJ,EAAShG,QAAQwG,SACrCwjJ,EAAmB/jJ,EAAQjG,QAAQwG,UAGnCyiB,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBssB,mBAAmB3pI,OAAO,CACnDq2G,WAAY6oI,EACZhkJ,SAAU+jJ,MAIf,EAGX,SAASJ,GACL3jJ,EACAC,EACAgjB,EACAxP,EACA92C,EACAu+B,G,QAEA,MAAM80G,EAAe,IAAgC,QAA3B,EAAAhwG,EAASxE,0BAAkB,QAAI,IACnDu0G,EAAc,IAA+B,QAA1B,EAAA9vG,EAAQzE,0BAAkB,QAAI,IAEjDyoJ,EAAoBj0C,EAAahtH,WAAWhjC,GAAM+5C,GAAkB/5C,EAAEvtD,QACtEyxP,EAAqBl0C,EAAahtH,WAAWhjC,GAAMA,EAAE27C,cACrDwoJ,EAAoBp0C,EAAY/sH,WAAWhjC,GAAMA,EAAE27C,cAIzD,GAAIwoJ,GAAqB,EAAG,CACxB,MAAMC,EACFH,GAAqB,GAAKC,GAAsB,EAAIl0C,EAAavhN,OAAS,EAAIuhN,EAAavhN,OACzFypO,EAAkBnoB,EAAYthN,OAAS,EAAIshN,EAAYo0C,GAAmB1xP,KAAOimG,GAAQ9yF,SAE/F,KAAOmqM,EAAYthN,OAAS21P,GACxBr0C,EAAYp2L,OAAOwqO,EAAmB,EAAG,CAAE1xP,KAAMylO,EAAiBv8H,aAAa,IAIvF,GAAIsoJ,GAAqB,GAAKE,GAAqB,EAI/C,OAHIlhI,GACAA,EAAKZ,WAAWgD,GAAUlD,mBAAmB8sB,oCAE1C,EAKX,GAAIi1G,GAAsB,GAAKD,GAAqB,EAAG,CAGnD,MAAMI,EAAmBt0C,EAAYthN,OAASuhN,EAAavhN,OAAS,EACpE,GAAI41P,GAAoB,EACpB,GAAIJ,GAAqB,GACrB,GAAI7kD,GAAkBzlG,GAAoBylG,GAAiB,CACvD,MAAMklD,EAAcv0C,EAAYp2L,OAAOsqO,EAAmBI,GAGpDE,EAAgBryI,GAClBwF,GACI0nF,EACAklD,EAAY/sO,KAAK04F,IACN,CAAEx9G,KAAMq/G,GAAkB7B,EAAQx9G,MAAOkpG,aAAa,OAEpC,GACT,GACE,IAG9Bo0G,EAAYp2L,OAAOsqO,EAAmB,EAAG,CACrCxxP,KAAM8xP,EACN5oJ,aAAa,SAGlB,CACH,MAAM2oJ,EAAcv0C,EAAYp2L,OAAOuqO,EAAoBG,GAC3Dt0C,EAAYp2L,OAAOuqO,EAAoB,EAAG,CACtCzxP,KAAM6xP,EAAY71P,OAAS,EAAIgwG,GAAa6lJ,EAAY/sO,KAAKyoC,GAAMA,EAAEvtD,QAASimG,GAAQ9yF,SACtF+1F,aAAa,KAM7B,GAAIo0G,EAAYthN,SAAWuhN,EAAavhN,OACpC,IAAK,IAAIuzM,EAAW,EAAGA,EAAW+N,EAAYthN,OAAQuzM,IAAY,CAC9D,MAAMwiD,EAAYvhI,aAAI,EAAJA,EAAMX,iBAExB,IACKsG,GACGonF,EAAahO,GAAUvvM,KACvBs9M,EAAY/N,GAAUvvM,KACtB+xP,aAAS,EAATA,EAAWliI,iBACX7O,EACQ,IAAR92C,EACAu+B,GAUJ,OAPIspJ,GACAA,EAAUniI,WACNgD,GAAUlD,mBAAmB8rB,yBAAyBnpI,OAAO,CACzDooD,MAAO80I,EAAW,MAIvB,MAGZ,CACH,KAAImiD,GAAqB,GAwBrB,OATIlhI,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmB+rB,oBAAoBppI,OAAO,CACpDoqM,SAAUc,EAAavhN,OACvBiS,SAAUqvM,EAAYthN,WAK3B,EArBP,IAAKuxG,EAAS3F,WASV,OARI4oB,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBgsB,iCAAiCrpI,OAAO,CACjEoqM,SAAUc,EAAavhN,WAK5B,EAgBnB,OAAO,EAsGX,SAASy1J,GAA0BqhE,EAA0Bm8B,GACzD,IAAKrpJ,GAAU6L,gBAAgBqhH,GAC3B,OAGJ,MAAMG,EAAaH,EAAcvrH,QAAQiE,OAAOjmG,IAAI,QAEpD,GAAI0tN,EAAY,CACZ,MAAMwzB,EAAW9pC,GAAwBsW,GACzC,GAAIwzB,GAAY3+I,GAAW2+I,GACvB,OAAOloB,GAA+BkoB,OAAqB3mP,EAAWmvP,IAOlF,SAASqB,GACL/iJ,EACAC,EACAgjB,EACAxP,EACA92C,EACAu+B,G,UAEA31C,EAAO8yC,GAAU+C,mBAAmB4E,EAAUC,IAE9C,MAAMwkJ,EAAiBpsJ,GAAUyM,kBAAkB9E,GACnD,IAAIgwG,EACAD,EAIJ,IAAK/vG,EAASnE,gBAAkBoE,EAAQpE,cACpC,OAAO,EAWX,GARIxD,GAAUuM,aAAa5E,IACvBgwG,EAA8D,QAA/C,EAA2B,QAA3B,EAAAhwG,EAASxE,0BAAkB,eAAEjkF,KAAKyoC,GAAMA,EAAEvtD,cAAK,QAAI,GAClEs9M,EAAwC,QAA1B,EAAA9vG,EAAQzE,0BAAkB,eAAEjkF,KAAKyoC,GAAMA,EAAEvtD,SAEvDu9M,EAAehwG,EAASnE,cACxBk0G,EAAc9vG,EAAQpE,eAGtBk0G,EACA,IAAK,IAAI20C,EAAc,EAAGA,EAAc30C,EAAYthN,OAAQi2P,IAAe,CACvE,MAAMC,EAAa50C,EAAY20C,GAKzBE,EAAeF,GAAe10C,EAAavhN,OAASuhN,EAAavhN,OAAS,EAAIi2P,EAC9EG,EAAcD,GAAgB,EAAI50C,EAAa40C,GAAgBzsJ,GAAYvyF,SAC3Ek/O,EAAgBF,EAAeH,EAAeh2P,OAASg2P,EAAeG,QAAgBryP,EACtFwyP,EAAiB,IAAI5iI,GAE3B,GAAK2iI,GAAoD,IAAnCA,EAAc9qJ,QAAQ0D,UAwBrC,GAAuC,IAAnConJ,EAAc9qJ,QAAQ0D,UAC7B,IACKkrB,GACG+7H,EACAE,EACAE,EACAtxI,EACS,EAAR92C,EAAiD,IAClDu+B,GAEN,CACE,GAAI+nB,EAAM,CACN,MAAM+hI,EAAY/hI,EAAKX,iBACvB0iI,EAAU3iI,WACNgD,GAAUlD,mBAAmB2sB,yBAAyBhqI,OAAO,CACzDhF,KAAM+4F,GAAYmS,gBAAgB85I,MAG1CE,EAAUxiI,YAAYuiI,GAE1B,OAAO,QAGX,IACKn8H,GACGi8H,EACAF,EACAI,EACAtxI,EACQ,EAAR92C,EACAu+B,KAKC7C,GAAUkD,qBAAqByE,GAAW,CAC3C,GAAIijB,EAAM,CACN,MAAM+hI,EAAY/hI,EAAKX,iBACvB0iI,EAAU3iI,WACNgD,GAAUlD,mBAAmB6sB,qBAAqBlqI,OAAO,CACrDhF,KAAM+4F,GAAYmS,gBAAgB85I,MAG1CE,EAAUxiI,YAAYuiI,GAE1B,OAAO,QApEf,IACKn8H,GACGi8H,EACAF,EACAI,EACAtxI,EACQ,IAAR92C,EACAu+B,GAEN,CACE,GAAI4pJ,GACI7hI,EAAM,CACN,MAAM+hI,EAAY/hI,EAAKX,iBACvB0iI,EAAU3iI,WACNgD,GAAUlD,mBAAmB4sB,qBAAqBjqI,OAAO,CACrDhF,KAAM+4F,GAAYmS,gBAAgB85I,MAG1CE,EAAUxiI,YAAYuiI,GAG9B,OAAO,GAsDvB,OAAO,EASX,SAASvoB,GACLx8H,EACAC,EACAgjB,EACAxP,EACA92C,EAAQ,EACRu+B,EAAiB,G,MAEjB,IAAI+pJ,GAAmB,EACvB,MAAMC,EAAsE,IAA3C,EAARvoL,GAKzB,IAAKqjC,EAASzC,QACV,OAAO,EAKX,IAAKkW,EAAWlF,iBAAiBvO,EAASzC,SAAU,CAChD,GAAInE,GAAe6G,GACf,OAAO,EAKX,GAAoD,IAAvC,IAARtjC,GACD,OAAO,EAIX,GADAsoL,GAAmB,GACdjlJ,EAAShG,QAAQyD,cASlB,OARIwlB,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBshB,yBAAyB3+H,OAAO,CACzDq2G,WAAY2M,GAAU7nB,GACtBD,SAAU8nB,GAAU9nB,OAIzB,EAIf,GAAmD,IAAtC,EAARrjC,GACD,OAAOisD,GACHyzB,GAA6Br8C,GAC7Bq8C,GAA6Bp8C,GAC7BgjB,OACiB1wH,EACjBoqE,EACAu+B,GAIR,GAAI8E,EAAShG,QAAQM,YACjB,OAigBR,SACI0F,EACAC,EACAgjB,EACAxP,EACAvY,EAAiB,GAEjB,GAAIpB,GAAUmG,IAAYA,EAAQjG,QAAQM,YAAa,CACnD,MAAMqtB,EAAgBlU,EAAWnE,aAAatP,GAC9C,IAAI2nB,EAyBA,OATKlU,EAAW9D,YAAc8D,EAAWlF,iBAAiBvO,EAASzC,UAC/DkW,EAAWxF,aAAajO,EAAU,CAC9BrjC,MAAO,EACP7lC,WAAY,GACZ2pE,oBAAgBluG,EAChBu+F,eAAWv+F,EACX8zG,UAAWpG,KAGZ,EAxBP,GAAwC,IAApC0nB,EAAc7wF,WAAWroC,QAAgBk5H,EAActhB,WAGnDxL,GACI8sB,EAActhB,UACdpG,OAC0B1tG,OACJA,EACtB2oG,GAGJ,OAAO,OAehB,GAAIX,GAAW0F,GAAU,CAC5B,MAAMklJ,EAAkBllJ,EAClBnpE,EAAampE,EAAQjG,QAAQljE,WAAWvf,KAAI,CAACtR,EAAG2X,KACX,CACnCm0C,SAAU9rD,EAAE8rD,SACZjyD,KAAMmG,EAAEnG,KACR0mG,kBAAmBvgG,EAAEugG,kBACrBD,aAActgG,EAAEsgG,WAChB9zG,KAAM6lG,GAAamE,0BAA0B0oJ,EAAiBvnO,OAKhE+pG,EAAgBlU,EAAWnE,aAAatP,GAC9C,IAAI2nB,EAiCA,OATKlU,EAAW9D,YAAc8D,EAAWlF,iBAAiBvO,EAASzC,UAC/DkW,EAAWxF,aAAajO,EAAU,CAC9BlpE,aACA2pE,eAAgBR,EAAQjG,QAAQyG,eAChC9jC,MAAOsjC,EAAQjG,QAAQr9B,MACvBm0B,UAAWmP,EAAQjG,QAAQlJ,UAC3BuV,eAAW9zG,KAGZ,EA/BP,IACKo1H,EAActhB,WACfshB,EAAc7wF,WAAWroC,SAAWqoC,EAAWroC,SAC9Ck5H,EAAc7wF,WAAWorB,MAAK,CAACkjM,EAAexnO,KAC3C,MAAMynO,EAAWvuN,EAAWlZ,GAC5B,OACIwnO,EAAcrzL,WAAaszL,EAAStzL,UACpCqzL,EAActlP,OAASulP,EAASvlP,MAChCslP,EAAc7+I,aAAe8+I,EAAS9+I,aACrC1L,GACGuqJ,EAAc3yP,KACd4yP,EAAS5yP,UACiBF,OACJA,EACtB2oG,MAKZ,OAAO,OAcZ,GAAI9B,GAAe6G,GACtB,OAAO,EAWX,OARIgjB,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBwsB,gBAAgB7pI,OAAO,CAChDrS,KAAMq1H,GAAU7nB,GAChBngG,KAAMkgG,EAAShG,QAAQl6F,SAI5B,EAlmBIwlP,CAAyBtlJ,EAAUC,EAASgjB,EAAMxP,EAAYvY,GAGrE8E,EAAShG,QAAQC,aACZI,GAAW4F,KAGRA,EAFAm/F,GAAkBzlG,GAAoBylG,GAE5BltF,GACNwF,GACI0nF,EACA,CAAC,CAAE3sM,KAAMwtG,EAAStE,aAAa,KACF,GACT,GACE,IAIpBxD,GAAYvyF,WAO9BqyF,GAASgB,eAAe+G,IACxBpG,GAAgBqG,IAChB5H,GAAUqH,UAAUO,EAAS,UAC5BA,EAAQpE,gBAEToE,EAAUvH,GAAQ9yF,UAGtB,MAAM2/O,EAAW9xI,EAAWtE,WAAWnP,GACjCwlJ,EAAqBD,aAAQ,EAARA,EAAUz3I,YAC/B23I,EAAsC,QAAnB,EAAAF,aAAQ,EAARA,EAAUx3I,iBAAS,QAAI/N,EAAShG,QAAQY,UAMjE,GAAIoF,EAAShG,QAAQ8D,YAAYrvG,OAAS,EAAG,CACzC,IAAIi3P,EACJ,MAAMC,EAAkBtpG,GAA6Bp8C,GAErD,GAAInG,GAAUmG,GAEN2oB,GACI5oB,EACA2lJ,OACWpzP,EACX,IAAI86G,GAAWrN,EAASzC,cACZhrG,EACZ2oG,KAGJwqJ,EAAkBzlJ,EAIdhI,GAASgB,eAAegH,KACxBylJ,EAAkBxzI,GAAkBjS,SAGzC,CACH,IAKI2lJ,EALAp8I,GAAe,EAQnBk8I,EAAkBn0I,GAAYo0I,GAAkBE,IAC5C,IAAIC,EAMAC,EAJJ,OAAI3sJ,GAAeysJ,GACRA,GAIX7lJ,EAAShG,QAAQ8D,YAAY/kF,SAAQ,CAACwmO,EAAYxxP,KAC9C,MAAMi4P,EAAqB/tJ,GAASgB,eAAe+G,GAC7C0W,GAAsB6oI,GACtBA,EAEF32H,GACIo9H,EACAH,OACWtzP,OACMA,OACLA,EACZ2oG,KAIC4qJ,IACDl9H,GACIk9H,EACAE,OACWzzP,OACMA,OACLA,EACZ2oG,KAGJ4qJ,EAAqBn0I,GAAmB4tI,EAAY3tI,GAAiBi0I,IACrEE,EAAsBh4P,OAK7B+3P,GAIIZ,IACD17I,GAAe,QAMKj3G,IAAxBwzP,GAAsCn0I,GAAiBi0I,UAElBtzP,IAAjCqzP,GACAA,IAAiCG,IAEjCv8I,GAAe,GAGnBo8I,EAA+BG,GAG5BD,OAGPhtJ,GAAQ4sJ,IAAqBl8I,IAC7Bk8I,OAAkBnzP,IAKjBmzP,GAAmBrsJ,GAAQssJ,KAC5BD,EAAkB1lJ,EAAShG,QAAQ8D,YAAY9+B,MAAMugL,GAI1C32H,GAHoB3wB,GAASgB,eAAe+G,GAC7C0W,GAAsB6oI,GACtBA,EAGFoG,OACWpzP,OACMA,OACLA,EACZ2oG,MAShB,IAAKwqJ,EASD,OARIziI,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBksB,yBAAyBvpI,OAAO,CACzDrS,KAAMq1H,GAAU7nB,GAChBngG,KAAMkgG,EAAShG,QAAQl6F,SAI5B,EAGX,GAAI0lP,IAAuBpsJ,GAAeosJ,IACtC,IACK58H,GACG48H,EACAE,OACWnzP,OACMA,OACLA,EACZ2oG,GAEN,CAIE,IACI0tB,GACI88H,EACAF,OACWjzP,OACMA,OACLA,EACZ2oG,GAeJ,OARI+nB,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBksB,yBAAyBvpI,OAAO,CACzDrS,KAAMq1H,GAAU49H,GAChB5lP,KAAMgoH,GAAU09H,OAIrB,GAZF/xI,EAAW9D,YAAcs1I,GAC1BxxI,EAAW7F,eAAe5N,EAAU0lJ,SAgB3CjyI,EAAW9D,YAAcs1I,GAC1BxxI,EAAW7F,eAAe5N,EAAU0lJ,GAI5C,OAAO,EAIX,IAAIO,EAAqBT,EACrBU,EAAmBT,EACvB,MAAMpgD,EAAepiF,EAAO,IAAId,QAAuB5vH,EAIjD4zP,EACoD,IAA7C,IAARxpL,IACD82C,EAAWhE,kBAAkBzP,IAC5BA,EAAShG,QAAQY,WAAagY,GAAoB5S,EAAShG,QAAQY,YACpEoF,EAAShG,QAAQ8D,YAAY57C,MAAMlC,GAAM4yD,GAAoB5yD,KACjE,IAAIomM,EAAaD,EAAiBlmJ,EAAU6R,GAAkB7R,GAE9D,GAAIhI,GAASgB,eAAe+G,GAAW,CACnC,IAAIyW,GAA0B2vI,GAW1B,OARInjI,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBshB,yBAAyB3+H,OAAO,CACzDq2G,WAAY2M,GAAUs+H,GACtBpmJ,SAAU8nB,GAAU9nB,OAIzB,EAVPomJ,EAAal0I,GAAkBk0I,GAcvC,GAAIlB,GAAsE,IAA1C,EAARvoL,GAAqD,CAEzE,GAAK8oL,GAEE,IACF5qJ,GACG4qJ,EACAW,OAC0B7zP,OACJA,EACtB2oG,GAGJ,GACI0tB,GACI68H,EACAppG,GAA6B+pG,GAC7B/gD,OACiB9yM,EACT,IAARoqE,EACAu+B,GAIJgrJ,EAAmBE,OAChB,IACFx9H,GACGw9H,EACAX,EACApgD,OACiB9yM,EACT,IAARoqE,EACAu+B,GAYJ,OATI+nB,GAAQoiF,IACRpiF,EAAKZ,WACDgD,GAAUlD,mBAAmBshB,yBAAyB3+H,OAAO,CACzDq2G,WAAY2M,GAAUs+H,GACtBpmJ,SAAU8nB,GAAU29H,MAG5BxiI,EAAKT,YAAY6iF,KAEd,OAzCX6gD,EAAmBE,EA8CvB,GAAIZ,IAEK58H,GACGs9H,EACAV,OACWjzP,OACMA,EACT,IAARoqE,EACAu+B,GAYJ,OATI+nB,GAAQoiF,IACRpiF,EAAKZ,WACDgD,GAAUlD,mBAAmBshB,yBAAyB3+H,OAAO,CACzDq2G,WAAY2M,GAAUs+H,GACtBpmJ,SAAU8nB,GAAU09H,MAG5BviI,EAAKT,YAAY6iF,KAEd,MAGZ,CACH,GAAKmgD,GAGE,IACF3qJ,GACG2qJ,EACAY,OAC0B7zP,OACJA,EACtB2oG,GAGJ,GAAI0tB,GAAc48H,EAAoBY,EAAY/gD,EAAc5xF,EAAY92C,EAAOu+B,GAgB3E+qJ,EAXA/uI,GAAgBsuI,KACfrsJ,GAAUitJ,IACXx9H,GACIw9H,EACAZ,OACWjzP,EACXkhH,EACQ,IAAR92C,EACAu+B,GAGiBkrJ,EAEAZ,MAEtB,CAEH,GAAI/xI,EAAW9D,YAAc7V,GAAUssJ,GASnC,OARInjI,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBshB,yBAAyB3+H,OAAO,CACzDq2G,WAAY2M,GAAU09H,GACtBxlJ,SAAU8nB,GAAUs+H,OAIzB,EAIX,GAAIrsJ,GAAkBiG,GASlB,OARIijB,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBshB,yBAAyB3+H,OAAO,CACzDq2G,WAAY2M,GAAU09H,GACtBxlJ,SAAU8nB,GAAUs+H,OAIzB,EAaPH,EATAr9H,GACIw9H,EACAZ,OACWjzP,EACXkhH,EACQ,IAAR92C,EACAu+B,GAGiBkrJ,EAQjB/sJ,GAAQmsJ,IACRA,EAAmBlsJ,SAAS7qG,OAvxmBrB,SAwxmByC8D,IAA/CytG,EAAyBhG,QAAQY,WAClC6G,GACA7H,GAAgB6H,GAEKhD,GAAa,CAAC+mJ,EAAoB/jJ,IAElChD,GAAa,CAAC+mJ,EAAoBY,UAnFnEH,EAAqBG,EA0FzB,GAAIX,GAAoBQ,IAEfprJ,GACG4qJ,EACAQ,OAC0B1zP,OACJA,EACtB2oG,GAEN,CACE,IAAIwa,GAAe,EAgBnB,GAXI5b,GAAU2rJ,KACN5qJ,GAAWorJ,EAAoBR,IAG/BpsJ,GAAQ4sJ,IACRA,EAAmB3sJ,SAASp3C,MAAMq3C,GAAYsB,GAAWtB,EAASksJ,QAHlE/vI,GAAe,IAUlBkT,GACGlT,EAAe2mC,GAA6BopG,GAAoBA,EAChEQ,OACW1zP,EACXkhH,EACQ,IAAR92C,EACAu+B,GAWJ,OARI+nB,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBshB,yBAAyB3+H,OAAO,CACzDq2G,WAAY2M,GAAUs+H,GACtBpmJ,SAAU8nB,GAAU29H,OAIzB,GAOvB,GAAIzlJ,EAAShG,QAAQY,UAAW,CAC5B,MAAMyrJ,EAAeJ,GAAsBC,EAK3C,GAAIjuJ,GAASgB,eAAe+G,KAAc/H,GAASgB,eAAegH,GAC9D,OAAO,EAGX,IACK2oB,GACG5oB,EAAShG,QAAQY,UACjByhD,GAA6BgqG,GAC7BpjI,aAAI,EAAJA,EAAMX,iBACN7O,EACQ,IAAR92C,EACAu+B,GAgBJ,OAXK8E,EAAShG,QAAQyD,eACdwlB,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBisB,YAAYtpI,OAAO,CAC5Cq2G,WAAY2M,GAAUu+H,GACtBrmJ,SAAU8nB,GAAU9nB,EAAShG,QAAQY,WACrC96F,KAAM+4F,GAAYmS,gBAAgBhL,OAK3C,EAQf,OAJKyT,EAAW9D,YAAcs1I,GAC1BxxI,EAAW7F,eAAe5N,EAAUimJ,EAAoBC,EAAkBC,IAGvE,EA4GX,SAASv9H,GACL5oB,EACAC,EACAgjB,EACAxP,EACA92C,EAAQ,EACRu+B,EAAiB,G,QAYjB,GARI7B,GAAQ2G,IAA0C,IAA7BA,EAAS1G,SAAS7qG,QAAgBsrG,GAAkBiG,EAAS1G,SAAS,MAC3F0G,EAAWA,EAAS1G,SAAS,IAG7BD,GAAQ4G,IAAwC,IAA5BA,EAAQ3G,SAAS7qG,QAAgBsrG,GAAkBkG,EAAQ3G,SAAS,MACxF2G,EAAUA,EAAQ3G,SAAS,IAG3B0G,IAAaC,EAmBb,OAbInG,GAAUkG,IACTA,EAAShG,QAAQM,aACjB0F,EAAShG,QAAQC,YACK,IAAvB+F,EAASgK,YACTyJ,GACCA,EAAW9D,aACZ8D,EAAWlF,iBAAiBvO,EAASzC,UACpCkW,EAAWtE,WAAWnP,IACkE,IAAhF,GAARrjC,IAED82C,EAAW7F,eAAe5N,EAAUC,IAGjC,EAGX,GAAI/E,EAAiBlD,GACjB,OAAO,EAMX,GAJAkD,IAKIpB,GAAUkG,IACVA,EAAShG,QAAQ++H,2BACjBj/H,GAAUmG,IACVA,EAAQjG,QAAQ++H,0BAClB,CAEE,IAC0B,QAAtB,EAAA/4H,EAAStF,qBAAa,eAAEmB,iBACH,QAArB,EAAAoE,EAAQvF,qBAAa,eAAEmB,gBACvBmE,EAAShG,QAAQ++H,4BAA8B94H,EAAQjG,QAAQ++H,0BACjE,CACE,IAAItS,GAAe,EACnB,MAAM1W,EAAc9vG,EAAQvF,cAAcmB,cAQ1C,OAPAmE,EAAStF,cAAcmB,cAAc9iF,SAAQ,CAAC8rO,EAAajnO,KAElDgrG,GAAci8H,EADAjnO,EAAQmyL,EAAYthN,OAASshN,EAAYnyL,GAASu6E,GAAYvyF,SACrCq9G,EAAMxP,EAAY92C,EAAOu+B,KACjEurH,GAAe,MAIhBA,EAGP,GAAwD,IAA3C,KAAR9pJ,GACD,OAAO,EAKXA,GAAS,KAUjB,GALAqjC,EAAWgS,GAAoChS,GAC/CC,EAAU+R,GAAoC/R,GAI1CzG,GAAUwG,IAAaxG,GAAUyG,GACjC,OAAO,EAK2C,IAAzC,GAARtjC,KACDsjC,EAAUo8C,GAA6Bp8C,IAI3C,MAAMqmJ,EAAgB3pL,EAKtB,GAJAA,IAAS,GAILm9B,GAAUkG,GAAW,CAIrB,GAq8BR,SAA2CA,EAAuBC,EAAe/E,GAE7E,OAAQkC,GAAY6C,GAAU4lJ,I,MAC1B,GACIhrJ,GACImF,EACA6lJ,GAC0B,OACJtzP,EACtB2oG,GAGJ,OAAO,EAGX,MAAMqrJ,EAAkB1tJ,GAAYkS,iBAAiB/K,GAI/CwmJ,GAAoD,QAA5B,EAAA50I,GAAiBi0I,UAAW,QAAI,IAAIvpM,QAC7DijM,GAAeA,EAAWp2I,cAAgBo9I,IAI/C,OAAoC,IAAhCC,EAAqB/3P,SAIjB+3P,EAAqBtkM,MAAMo5C,GAC3B0E,EAAShG,QAAQY,WACjBr1C,EAAqC,IAA9B+1C,EAAU8N,gBAAuB,4DAEjCwf,GACH5oB,EAAShG,QAAQY,UACjBirJ,OACWtzP,OACMA,OACLA,EACZ2oG,MAIJ8E,EAAShG,QAAQ8D,YAAYrvG,OAAS,KACtC82D,EACI+1C,EAAU8N,gBAAkBpJ,EAAShG,QAAQ8D,YAAYrvG,OACzD,uDAGGm6H,GACH5oB,EAAShG,QAAQ8D,YAAYxC,EAAU8N,iBACvCy8I,OACWtzP,OACMA,OACLA,EACZ2oG,SA3/BRurJ,CAAkCzmJ,EAAUC,EAAS/E,GACrD,OAAO,EAGX,GAAIL,GAAWmF,EAAUC,GACrB,OAAO,EAKX,GACInG,GAAUmG,IACVA,EAAQjG,QAAQ2Q,mBAChB1K,EAAQjG,QAAQY,WAChBoF,EAAShG,QAAQ2Q,mBACjB3K,EAAShG,QAAQY,UAKjB,OAHwD,IAA3C,EAARj+B,IAAwD82C,GACzD+oH,GAAuBx8H,EAAUC,EAASgjB,EAAMxP,EAAY6yI,EAAeprJ,IAExE,EAKX,GACInB,GAAkBiG,IAClBpG,GAAgBqG,IAChB2E,GAAa3E,IACbA,EAAQzE,oBAC8B,IAAtCyE,EAAQzE,mBAAmB/sG,QAGvBosG,GACImF,EACAC,EAAQzE,mBAAmB,GAAG/oG,UACJF,OACJA,EACtB2oG,GAGJ,OAAO,EAMf,GAAwD,IAA3C,EAARv+B,KAAyDm9B,GAAUmG,GACpE,SACKu8H,GACGx8H,EACAC,EACAgjB,EACAxP,UAAc,IAAIpG,GAClBi5I,EACAprJ,IAMJ9B,GAAe6G,IAA8D,IAAzC,GAARtjC,IAQxC,GAAIm9B,GAAUmG,GAAU,CACpB,GAAwD,IAA3C,EAARtjC,GAAsD,CAKvD,GAAK82C,GAAeA,EAAWlF,iBAAiB8D,GAAkBpS,IAS3D,CAOH,IAAImzG,EAAiBkzC,EASrB,GARgE,IAA3C,KAAhBA,GACDlzC,IAAkB,EAIlBA,GAAkB,EAIlBopB,GACIv8H,EACAD,EACAijB,EACAxP,EACA2/F,EACAl4G,GAGJ,OAAO,EAIX,IAAIurH,GAAe,EAiBnB,OAhBIptH,GAAQ2G,IACR6P,GAAiB7P,GAAW0mJ,IAEpBlqB,GACIv8H,EACAymJ,EACAzjI,EACAxP,EACgB,EAAhB6yI,EACAprJ,KAGJurH,GAAe,MAIpBA,EAvDP,OAAO79F,GACHyzB,GAA6Br8C,GAC7Bq8C,GAA6Bp8C,GAC7BgjB,OACiB1wH,EACjB+zP,EACAprJ,GAqDZ,GAAmD,IAAtC,EAARv+B,GACD,QAAIy8B,GAAe4G,OAQf1F,GAAY2F,IACZ1F,GAAWyF,IACX1H,GAAa+P,uCAAuCrI,IACpDA,EAAShG,QAAQljE,WAAWroC,QAAU,KAKtCw0H,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBshB,yBAAyB3+H,OAAO,CACzDq2G,WAAY2M,GAAU7nB,GACtBD,SAAU8nB,GAAU9nB,OAIzB,GAIf,GAAI5G,GAAe4G,GACf,OAAO,EAGX,GAAI5G,GAAe6G,GAAU,CACzB,GAAIwT,EAAY,CAIZ,MAAMkzI,EAAsBxzI,GAAelT,GAAWvH,GAAQ9yF,SAAWq6F,EACzEuV,GAA0BxV,EAAU2mJ,EAAqBlzI,EAAYvY,GAEzE,GAAsD,IAAzC,GAARv+B,GACD,OAAO,EAIf,GAAIm8B,GAAQmH,GAIR,OAHIwT,GACA+B,GAA0BxV,EAAU7H,GAAYvyF,SAAU6tG,EAAYvY,IAEnE,EASX,GAJI7B,GAAQ4G,IAAYhI,GAASmI,cAAcH,KAC3CA,EAAUT,GAAaiC,GAAc/I,GAAQ9yF,UAG7CyzF,GAAQ2G,GACR,GAAI3G,GAAQ4G,IACR,GACI2mJ,GACI5mJ,EACAC,OACW1tG,EACXkhH,EACA6yI,EACAprJ,GAGJ,OAAO,MAER,CACH,MAAM2rJ,EAAmBpzI,EAAaA,EAAWhO,aAAUlzG,EAC3D,GACIu0P,GACI9mJ,EACAC,OACW1tG,EACXs0P,EACAP,EACAprJ,GAMJ,OAHIuY,GAAcozI,GACdpzI,EAAWpF,cAAcw4I,IAEtB,EAKnB,MAAME,EAAkB1qG,GAA6Bp8C,GACrD,GAAI5G,GAAQ0tJ,GACR,OAAOH,GAAuB5mJ,EAAU+mJ,EAAiB9jI,EAAMxP,EAAY6yI,EAAeprJ,GAG9F,GAAI7B,GAAQ2G,GACR,OAAO8mJ,GAAqB9mJ,EAAUC,EAASgjB,EAAMxP,EAAY6yI,EAAeprJ,GAGpF,GAAInC,GAAeiH,IAAajH,GAAekH,GAC3C,OAAO,EAGX,GAAIjH,GAAgBgH,GAAW,CAC3B,GAAIhH,GAAgBiH,GAChB,OAAO,EAGX,GAAItG,GAAoBsG,IAAY5H,GAAUqH,UAAUO,EAAS,YAC7D,OAAO,EAKf,GAAIrG,GAAgBqG,IAAY5H,GAAUqH,UAAUO,EAAS,QAAS,CAClE,MAAM8vG,EAAc9vG,EAAQpE,cAC5B,GAAIk0G,GAAeA,EAAYthN,QAAU,EAAG,CACxC,GAAI2qG,GAAe22G,EAAY,IAC3B,SAAIn2G,GAAgBoG,KAAa3H,GAAUqH,UAAUO,EAAS,UAGvDhI,GAASgB,eAAe+G,GAGnC,GAAIpG,GAAgBm2G,EAAY,KAAOj2G,GAAUi2G,EAAY,IACzD,QACInnF,GACI5oB,EACA0W,GAAsBq5F,EAAY,IAClC9sF,aAAI,EAAJA,EAAMX,iBACN7O,EACA92C,EACAu+B,KAMJ+nB,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBshB,yBAAyB3+H,OAAO,CACzDq2G,WAAY2M,GAAU7nB,GACtBD,SAAU8nB,GAAU9nB,OAIzB,IAKnB,GAAIrG,GAAoBqG,GAAW,CAC/B,MAAM2lJ,EAAkBtpG,GAA6Bp8C,GACrD,GAAItG,GAAoBgsJ,GAGpB,OAAIttJ,GAAU+L,gBAAgBpE,IAEtB3H,GAAU+L,gBAAgBuhJ,IAC1BhsJ,GAAoBsG,KACnBA,EAAQqC,mBAEL2gB,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBsrB,8BAA8B3oI,OAAO,CAC9Dq2G,WAAY2M,GAAU5V,GAAkBjS,IACxCD,SAAU8nB,GAAU9nB,OAIzB,KAKXmjJ,GACInjJ,EACA2lJ,EACA1iI,EACAxP,EACA92C,EACAu+B,GAC+B,KAMnC+nB,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBshB,yBAAyB3+H,OAAO,CACzDq2G,WAAY2M,GAAU7nB,GACtBD,SAAU8nB,GAAU9nB,OAIzB,GAIf,GAAIpG,GAAgBoG,GAAW,CAE3B,GAAI3H,GAAUqH,UAAUM,EAAU,QAAS,CACvC,MAAMgwG,EAAehwG,EAASnE,cAC9B,GAAIm0G,GAAgBA,EAAavhN,QAAU,GACnCwpG,GAASvmG,WAAWs+M,EAAa,KAAO/3G,GAASgB,eAAegH,GAChE,OAAO2oB,GACHonF,EAAa,GACb99F,GAAkBjS,GAClBgjB,EACAxP,EACA92C,EACAu+B,QAIT,GAAI7C,GAAUqH,UAAUM,EAAU,SAGrC,GAAI/H,GAASgB,eAAegH,GAExB,QADkBvG,GAAQuG,SAAqC1tG,IAAzB0tG,EAAQd,mBAG/C,GAAI9G,GAAUqH,UAAUM,EAAU,CAAC,YAAa,qBAES,IAAvC,GAAhBsmJ,IACG1sJ,GAAgBqG,IAAY5H,GAAUqH,UAAUO,EAAS,QACzD,OAAO,EAKnB,MAAM0lJ,EAAkBtpG,GAA6Bp8C,GACrD,GAAIvG,GAAQisJ,IAAoB1tJ,GAASvmG,WAAWi0P,GAAkB,CAClE,QAA8BpzP,IAA1BytG,EAASb,oBAEU5sG,IADAozP,EAAgBxmJ,eACF9G,GAAU2D,mBAAmB2pJ,EAAiB3lJ,IAU3E,OATIijB,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmB4oB,4BAA4BjmI,OAAO,CAC5Dq2G,WAAY2M,GAAU7nB,GACtBD,SAAU8nB,GAAU9nB,OAKzB,EAKf,GAAI3H,GAAUqH,UAAUM,EAAU,kBAAoB3H,GAAUqH,UAAUimJ,EAAiB,QACvF,QAAqCpzP,IAAjCozP,EAAgBxmJ,aAChB,OAAO,OAER,GACH9G,GAAUqH,UAAUimJ,EAAiB,kBACrCttJ,GAAUqH,UAAUM,EAAU,aACJztG,IAA1BytG,EAASb,aAET,OAAO,EAGX,QACKgkJ,GACG9qJ,GAAUmJ,oBAAoBxB,GAC9B3H,GAAUmJ,oBAAoBmkJ,GAC9B1iI,EACAxP,EACA92C,EACAu+B,GAC+B,GAOpC,GAAIX,GAAWorJ,IAAoBnrJ,GAAqBmrJ,GAAkB,CAE7E,MAAMqB,EAAmBC,GAAwBjnJ,GACjD,GAAIgnJ,EACA,OAAOp+H,GAAco+H,EAAkBrB,EAAiB1iI,EAAMxP,EAAY92C,EAAOu+B,GAIrF,GAAIuG,GAAc7H,GAAgB6H,GAC9B,OAAOmnB,GAAc5oB,EAAUyB,EAAYwhB,EAAMxP,EAAY92C,EAAOu+B,QAErE,GAAIrB,GAAS8rJ,GAAkB,CAElC,GAAIttJ,GAAUqH,UAAUM,EAAU,cAC9B,OAAO,EAGX,GAAI3H,GAAU+L,gBAAgBpE,GAC1B,OAAOijJ,GACH5qJ,GAAUmJ,oBAAoBxB,GAC9B2lJ,EACA1iI,EACAxP,EACA92C,EACAu+B,QAGL,GAAIvB,GAAoBgsJ,GAAkB,CAG7C,MAAMuB,EAAeD,GAAwBjnJ,GAC7C,GAAIknJ,EACA,OAAOt+H,GAAcs+H,EAAcvB,EAAiB1iI,EAAMxP,EAAY92C,EAAOu+B,GAKjF,GAAI7C,GAAU+L,gBAAgBpE,GAC1B,OAAO+hJ,GACH1pJ,GAAUmJ,oBAAoBxB,GAC9B2lJ,EACA1iI,EACAxP,EACA92C,GACgC,EAChCu+B,GAKR,MAAM6b,EAAY4uI,EAAgB3rJ,QAAQmI,mBAC1C,GAAI4U,EACA,QAAI3d,GAAe2d,IAGRosI,GACH9qJ,GAAUmJ,oBAAoBxB,GAC9B+W,EACAkM,EACAxP,EACA92C,EACAu+B,GAC+B,OAIxC,IAAI9B,GAAeusJ,GACtB,OAAyD,IAAzC,GAARhpL,GACL,GAAI08B,GAAQssJ,GACf,OAAO/8H,GAAc5oB,EAAU2lJ,EAAiB1iI,EAAMxP,EAAY92C,EAAOu+B,IAIjF,GAAIX,GAAWyF,GAAW,CACtB,IAAImnJ,EACAxB,EAAkBtpG,GAA6Bp8C,GAEnD,GAAIrG,GAAgB+rJ,GAAkB,CAClC,MAAMp1B,EAAal8G,GAAmBsxI,EAAiB,YACvD,GAAIp1B,EAAY,CACZ,MAAM1kE,EAAaZ,GAAgBslE,GACnC,GAAIh2H,GAAWsxD,IAAerxD,GAAqBqxD,GAAa,CAC5D,MAAM2kE,EAAcxsE,GAChB2hG,EACA95F,OACkBt5J,OACFA,EAChB2oG,GAEAs1H,IACAm1B,EAAkB5tI,GAAsCy4G,MAOxE,GAAI72H,GAAoBgsJ,SAAqDpzP,IAAjCozP,EAAgBxmJ,aAA4B,CACpF,MAAMz/F,EAAcqrO,GAA8B4a,EAAiBzqJ,GAC/Dx7F,IACAimP,EAAkBjmP,GAI1B,GAAI86F,GAAqBmrJ,GAAkB,CAEvC,GAAI3lJ,EAAShG,QAAQqM,UAIjB,OAHI4c,GACAA,EAAKZ,WAAWgD,GAAUlD,mBAAmB4qB,sBAE1C,EAMX,MAAM/vC,EAAY2oJ,EAAgB3oJ,UAC5B+jI,EAAgB/jI,EAAUha,WAAW8vB,IACvC,IAAKxa,GAAayP,aAAa+K,GAC3B,OAAO,EAEX,MAAMs0I,EAAkB3zI,EAAaA,EAAWhO,aAAUlzG,EAC1D,OAAOq2H,GACH5oB,EACA8S,EACAmQ,aAAI,EAAJA,EAAMX,iBACN8kI,EACAzqL,EACAu+B,MAIR,GAAI6lI,EAAgB,EAMhB,OALI99G,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBgqB,uBAAuBrnI,OAAO,CAAErS,KAAMq1H,GAAU9nB,OAG9E,EAEXmnJ,EAAcnqJ,EAAU+jI,QACrB,GAAIxmI,GAAWorJ,GAClBwB,EAAcxB,OACX,GAAIvsJ,GAAeusJ,GACtB,OAAyD,IAAzC,GAARhpL,GAGZ,GAAIwqL,GAq1BZ,SACInnJ,EACAC,EACAgjB,EACAxP,EACA92C,EACAu+B,G,sBAEA,IAAImsJ,GAAY,EAChB,MAAMC,EAA2E,IAAhD,GAAR3qL,GACzBA,IAAS,GAETqjC,EAAWgY,GAAqChY,GAChDC,EAAU+X,GAAqC/X,GAE/C,MAAMsnJ,EAAmBn3I,GAAwBpQ,GAC3CwnJ,EAAkBp3I,GAAwBnQ,IA/GpD,SACIwnJ,EACAC,G,MAGA,QAA8Bn1P,IAA1Bm1P,EAAYz2I,UACZ,OAIJ,GAAIw2I,EAAW7zO,OAAOnlB,OAASi5P,EAAYz2I,UACvC,OAGJ,IAAI02I,EAAqBF,EAAW7zO,OAAOovE,WACvC,CAAC/8E,EAAGlY,IAAMA,GAAK25P,EAAYz2I,WAAchrG,EAAEmP,SAAW86F,GAAgBY,cAEtE62I,EAAqB,IACrBA,EAAqBF,EAAW7zO,OAAOnlB,QAG3C,MACMm5P,GAD0D,QAAjC,EAAAF,EAAYx2I,6BAAqB,QAAIw2I,EAAY9zO,OAAOnlB,QACzCi5P,EAAYz2I,UAAY,EAChE42I,EAAuBJ,EAAW7zO,OAAOviB,MAAMq2P,EAAYz2I,UAAW02I,EAAqBC,GAC3FE,EAAqC,GAe3C,GAdAD,EAAqB9uO,SAASm0C,IACG,IAAzBA,EAAMr2C,MAAMk7C,SACRmoC,GAA0BhtC,EAAMz6D,MAChCq1P,EAAch5P,KAAK,CAAE2D,KAAMy6D,EAAMz6D,KAAMkpG,aAAa,IAC7CvB,GAAgBltC,EAAMz6D,OAASy6D,EAAMz6D,KAAK+oG,mBACjDssJ,EAAch5P,QAAQo+D,EAAMz6D,KAAK+oG,oBAEjCssJ,EAAch5P,KAAK,CAAE2D,KAAMy6D,EAAMz6D,KAAMkpG,aAAa,IAGxDmsJ,EAAch5P,KAAK,CAAE2D,KAAMy6D,EAAMz6D,KAAMkpG,aAAa,OAI/B,IAAzBmsJ,EAAcr5P,SAAiBsrG,GAAkB+tJ,EAAc,GAAGr1P,MAAO,CACzE,IAAIs1P,EAEAA,EADA3oD,GAAkBzlG,GAAoBylG,GACjBltF,GACjBwF,GACI0nF,EACA0oD,GAC6B,GACT,GACE,IAIT3vJ,GAAYvyF,SAMrC6hP,EAAW7zO,OAAS,IACb6zO,EAAW7zO,OAAOviB,MAAM,EAAGq2P,EAAYz2I,WAC1C,CACIp6F,MAAO,CACHk7C,SAAU,EACVjyD,KAAM,gBACN0mG,mBAAmB,EACnBC,iBAAiB,EACjBh0G,KAAMs1P,GAEVt1P,KAAMs1P,EACNnqO,OAAQ,EACRxI,OAAQ86F,GAAgBa,sBAEzB02I,EAAW7zO,OAAOviB,MACjBq2P,EAAYz2I,UAAY42I,EAAqBp5P,OAC7Cg5P,EAAW7zO,OAAOnlB,SAI1B,MAAMwiH,EAAYw2I,EAAW7zO,OAAOovE,WAC/BnsE,GAAmC,IAAzBA,EAAMA,MAAMk7C,WAE3B01L,EAAWx2I,UAAYA,GAAa,EAAIA,OAAY1+G,EAEpD,MAAM8+G,EAAco2I,EAAW7zO,OAAOovE,WACjCnsE,GAAmC,IAAzBA,EAAMA,MAAMk7C,WAE3B01L,EAAWp2I,YAAcA,GAAe,EAAIA,OAAc9+G,EAE1D,MAAM2+G,EAAwBu2I,EAAW7zO,OAAOovE,WAC3CnsE,GAAUA,EAAMzB,SAAW86F,GAAgBY,cAEhD22I,EAAWv2I,sBAAwBA,GAAyB,EAAIA,OAAwB3+G,GAqB5Fy1P,CAAwCR,EAAiBD,GAIzD,MAAMU,EACkD,IAA3C,EAARtrL,GACK82C,EACA,IAAIpG,GAAWgF,GAAkBrS,IACrCkoJ,EACkD,IAA3C,EAARvrL,GACK82C,EACA,IAAIpG,GAAWgF,GAAkBpS,IAErCkoJ,EACkD,IAA3C,EAARxrL,KACOsjC,EAAQjG,QAAQqM,YAChBrG,EAAShG,QAAQqM,UAEvB+hJ,EACkE,QAApE,EAA0B,QAA1B,EAAAb,EAAiBt2I,iBAAS,QAAIs2I,EAAiBr2I,6BAAqB,QAAIq2I,EAAiB3zO,OAAOnlB,OAC9F45P,EACgE,QAAlE,EAAyB,QAAzB,EAAAb,EAAgBv2I,iBAAS,QAAIu2I,EAAgBt2I,6BAAqB,QAAIs2I,EAAgB5zO,OAAOnlB,OAC3F65P,EAAqB/xP,KAAKC,IAAI4xP,EAAqBC,GAGzD,IAAK,IAAIvyI,EAAa,EAAGA,EAAawyI,EAAoBxyI,IAAc,CACpE,MAAMyyI,EAAYhB,EAAiB3zO,OAAOkiG,GACpC0yI,EAAWhB,EAAgB5zO,OAAOkiG,GAIlC2yI,EAAeD,EAAS/1P,KACxBi2P,EAAgBH,EAAU91P,KAE1Bk2P,EAAoC,QAApB,EAAAJ,EAAU1xO,MAAM/W,YAAI,QAAI,GACxC8oP,EAAkC,QAAnB,EAAAJ,EAAS3xO,MAAM/W,YAAI,QAAI,IACxC6oP,GAAkB3rL,GAAyB2rL,IAAmB3rL,GAAyB4rL,IAC1DL,EAAUnzO,SAAW86F,GAAgBW,cAGjC,IAA7B03I,EAAU1xO,MAAMk7C,UACY,IAA5By2L,EAAS3xO,MAAMk7C,UACf42L,IAAkBC,IAEd3lI,GACAA,EAAKX,iBAAiBD,WAClBgD,GAAUlD,mBAAmBkoB,oBAAoBvlI,OAAO,CACpDw+O,QAASsF,EACTC,SAAUF,KAItBtB,GAAY,GAIdkB,EAAU1xO,MAAM0vF,aAAeiiJ,EAAS3xO,MAAM0vF,aAC5C0c,GACAA,EAAKX,iBAAiBD,WAClBgD,GAAUlD,mBAAmBioB,8BAA8BtlI,OAAO,CAC9DhF,KAAM8oP,KAIlBvB,GAAY,GAMG,IAAfvxI,GACyB,aAAzB7V,EAAQjG,QAAQl6F,MAChBw4F,GAAaiP,iBAAiBtH,IACJ,aAA1BD,EAAShG,QAAQl6F,MACjBw4F,GAAaiP,iBAAiBvH,IAC9B1H,GAAayP,aAAa/H,IAC1BuoJ,EAAU1xO,MAAM4vF,iBAMfqiJ,GACGJ,EACAD,EACA3yI,EACAmN,aAAI,EAAJA,EAAMX,iBACN2lI,EACAC,EACAvrL,EACAu+B,IAMkD,IAAzC,IAARv+B,IACAm9B,GAAU2uJ,IACVA,EAAazuJ,QAAQyD,gBAEtB4pJ,GAAY,GAqBxB,IAfK/uJ,GAAa+P,uCAAuCrI,IACrDunJ,EAAiBl3I,4BAA8Bm3I,EAAgBj3I,yBAC9D43I,IAEGllI,GACAA,EAAKX,iBAAiBD,WAClBgD,GAAUlD,mBAAmBwnB,mBAAmB7kI,OAAO,CACnDoqM,SAAUs4C,EAAgBj3I,uBAC1B7vG,SAAU6mP,EAAiBl3I,+BAIvCg3I,GAAY,GAGZe,EAAsBC,GAGtB,IAAKF,EAAyB,CAC1B,MAAMY,EAA0BvB,EAAgB5zO,OAAO0oC,QAClDr2C,KAAQA,EAAE4Q,MAAM/W,OAASmG,EAAE4Q,MAAM0vF,YAAmC,IAArBtgG,EAAE4Q,MAAMk7C,WAC1DtjE,OAEF,QAAmC8D,IAA/Bg1P,EAAiBt2I,UACbm3I,EAAsBW,GAElBxB,EAAiBl3I,4BAA8B,GAC/Ck3I,EAAiBl3I,4BAA8Bg4I,IAE3CplI,GACAA,EAAKX,iBAAiBD,WAClBgD,GAAUlD,mBAAmBooB,uBAAuBzlI,OAAO,CACvDoqM,SAAU65C,EACVroP,SAAU0nP,KAItBf,GAAY,OAGjB,CAGH,MAAM2B,EAAezB,EAAiB3zO,OAAO2zO,EAAiBt2I,WAAWx+G,KACzE,IAAK2mG,GAAe4vJ,GAChB,IAAK,IAAIlzI,EAAasyI,EAAqBtyI,EAAauyI,EAAoBvyI,IAGnEgzI,GACGE,EAHaxB,EAAgB5zO,OAAOkiG,GAAYrjH,KAKhDqjH,EACAmN,aAAI,EAAJA,EAAMX,iBACN2lI,EACAC,EACAvrL,EACAu+B,KAGJmsJ,GAAY,UAM7B,GAAIgB,EAAqBD,EAC5B,QAAkC71P,IAA9Bi1P,EAAgBv2I,UAAyB,CAGzC,MAAMg4I,EAAczB,EAAgB5zO,OAAO4zO,EAAgBv2I,WAAWx+G,KACtE,IAAK,IAAIqjH,EAAauyI,EAAoBvyI,EAAasyI,EAAqBtyI,IAAc,CACtF,MAAM4yI,EAAgBnB,EAAiB3zO,OAAOkiG,GAAYrjH,KACtDsnG,GAAkB2uJ,KAAmB3uJ,GAAkBkvJ,IACnDhmI,GACAA,EAAKZ,WAAWgD,GAAUlD,mBAAmB8sB,mCAEjDo4G,GAAY,GAEXyB,GACGJ,EACAO,EACAnzI,EACAmN,aAAI,EAAJA,EAAMX,iBACN2lI,EACAC,EACAvrL,EACAu+B,KAGJmsJ,GAAY,SAIhBpkI,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmB0oB,wBAAwB/lI,OAAO,CACxDoqM,SAAUm5C,EACV3nP,SAAU0nP,KAItBf,GAAY,EAMpB,QACkC90P,IAA9Bi1P,EAAgBv2I,gBACe1+G,IAA/Bg1P,EAAiBt2I,YAChB3Y,GAAa+P,uCAAuCrI,GACvD,CACE,IAAIgpJ,EAAezB,EAAiB3zO,OAAO2zO,EAAiBt2I,WAAWx+G,KACnEw2P,EAAczB,EAAgB5zO,OAAO4zO,EAAgBv2I,WAAWx+G,KAEhE2sM,GAAkBzlG,GAAoBylG,KACjC/kG,GAAW2uJ,KACZA,EAAe3wJ,GAAU8K,iBACrB9K,GAAUgK,gBACNqV,GACI0nF,EACA,CAAC,CAAE3sM,KAAMu2P,EAAcrtJ,aAAa,KACP,GACT,MAM/BtB,GAAW4uJ,KACZA,EAAc5wJ,GAAU8K,iBACpB9K,GAAUgK,gBACNqV,GACI0nF,EACA,CAAC,CAAE3sM,KAAMw2P,EAAattJ,aAAa,KACN,GACT,OAQnCmtJ,GACGE,EACAC,EACA1B,EAAiB3zO,OAAO2zO,EAAiBt2I,WAAWrzF,MACpDqlG,aAAI,EAAJA,EAAMX,iBACN2lI,EACAC,EACAvrL,EACAu+B,KAGJmsJ,GAAY,GAwBpB,GAjBK/uJ,GAAa+P,uCAAuCrI,SACvBztG,IAA9Bi1P,EAAgBv2I,gBACe1+G,IAA/Bg1P,EAAiBt2I,WAChBs2I,EAAiB/2I,4BACjB23I,IAEGllI,GACAA,EAAKX,iBAAiBD,WAClBgD,GAAUlD,mBAAmBunB,mBAAmB5kI,OAAO,CACnD4rF,UAAyE,QAA9D,EAAA62J,EAAiB3zO,OAAO2zO,EAAiBt2I,WAAWp6F,MAAM/W,YAAI,QAAI,MAIzFunP,GAAY,IAIXc,EAAyB,CAE1B,MAAMe,EAAe,IAAI33O,SAEsBhf,IAA3Cg1P,EAAiBr2I,uBACjBq2I,EAAiB3zO,OAAOmF,SAAQ,CAAClC,EAAO+G,KAChCA,GAAS2pO,EAAiBr2I,uBACtBr6F,EAAMA,MAAM/W,MAAiC,IAAzB+W,EAAMA,MAAMk7C,UAChCm3L,EAAatwP,IAAIie,EAAMA,MAAM/W,KAAM+W,MAQnD,IAAIsyO,OAC0C52P,IAA1Ci1P,EAAgBt2I,sBACVs2I,EAAgBt2I,sBAChBs2I,EAAgB5zO,OAAOnlB,OAC7B25P,EAAsBC,QAAqD91P,IAA/Bg1P,EAAiBt2I,YAC7Dk4I,EAAkBf,GAGlBe,GAAmB,GACnB3B,EAAgB5zO,OAAOmF,SAAQ,CAACqwO,EAAcxrO,KAC1C,GAAIA,GAASurO,GACLC,EAAavyO,MAAM/W,MAAwC,IAAhCspP,EAAavyO,MAAMk7C,SAAuC,CACrF,MAAMs3L,EAAgBH,EAAalxP,IAAIoxP,EAAavyO,MAAM/W,MACpDwpP,EAAYrmI,aAAI,EAAJA,EAAMX,iBAClBmmI,EAAeW,EAAa32P,KAElC,GAAK42P,EA2BE,CACH,MAAMX,EAAgBW,EAAc52P,KAC9B82P,EAA2BtB,EAC3B91I,GAAoBu2I,EAAeT,GACnCS,EAGD9/H,GACG6/H,EACAc,EACAD,aAAS,EAATA,EAAWhnI,sBACX/vH,EACAoqE,EACAu+B,KAGAouJ,GACAA,EAAUjnI,WACNgD,GAAUlD,mBAAmB6pB,yBAAyBlnI,OAAO,CACzDhF,KAAMspP,EAAavyO,MAAM/W,KACzBq7G,WAAY2M,GAAUyhI,GACtBvpJ,SAAU8nB,GAAU2gI,MAIhCpB,GAAY,GAGVgC,EAAcxyO,MAAM0vF,aAAe6iJ,EAAavyO,MAAM0vF,aACpD0c,GACAA,EAAKX,iBAAiBD,WAClBgD,GAAUlD,mBAAmBioB,8BAA8BtlI,OAAO,CAC9DhF,KAAMspP,EAAavyO,MAAM/W,QAIrCunP,GAAY,GAGhB6B,EAAa7yO,OAAO+yO,EAAavyO,MAAM/W,gBAjEFvN,IAAjCg1P,EAAiBl2I,aAA8B+3I,EAAavyO,MAAM0vF,gBAS1Bh0G,IAAjCg1P,EAAiBl2I,cAGnBy3I,GACGvB,EAAiB3zO,OAAO2zO,EAAiBl2I,aAAa5+G,KACtDg2P,EACAlB,EAAiB3zO,OAAO2zO,EAAiBl2I,aAAazzF,MACtDqlG,aAAI,EAAJA,EAAMX,iBACN2lI,EACAC,EACAvrL,EACAu+B,KAGJmsJ,GAAY,KAtBZiC,GACAA,EAAUjnI,WACNgD,GAAUlD,mBAAmB2pB,0BAA0BhnI,OAAO,CAC1DhF,KAAMspP,EAAavyO,MAAM/W,QAIrCunP,GAAY,OAiEpC6B,EAAanwO,SAAQ,CAACswO,EAAe34J,UACGn+F,IAAhCi1P,EAAgBn2I,aAA6Bg4I,EAAcxyO,MAAM/W,MAG5DgpP,GACGO,EAAcxyO,MAAMpkB,KACpB+0P,EAAgB5zO,OAAO4zO,EAAgBn2I,aAAa5+G,KACpD42P,EAAczrO,MACdqlG,aAAI,EAAJA,EAAMX,iBACN2lI,EACAC,EACAvrL,EACAu+B,KAGJmsJ,GAAY,GAEhB6B,EAAa7yO,OAAOq6E,KAEhBuyB,GACAA,EAAKX,iBAAiBD,WAClBgD,GAAUlD,mBAAmB4pB,4BAA4BjnI,OAAO,CAAEhF,KAAM4wF,KAGhF22J,GAAY,WAKgB90P,IAAhCi1P,EAAgBn2I,kBAA8D9+G,IAAjCg1P,EAAiBl2I,cAEzDy3I,GACGvB,EAAiB3zO,OAAO2zO,EAAiBl2I,aAAa5+G,KACtD+0P,EAAgB5zO,OAAO4zO,EAAgBn2I,aAAa5+G,KACpD80P,EAAiB3zO,OAAO2zO,EAAiBl2I,aAAazzF,MACtDqlG,aAAI,EAAJA,EAAMX,iBACN2lI,EACAC,EACAvrL,EACAu+B,KAGJmsJ,GAAY,IAOf/uJ,GAAa+P,uCAAuCrI,SACrBztG,IAAhCi1P,EAAgBn2I,kBACiB9+G,IAAjCg1P,EAAiBl2I,cAEb4R,GACAA,EAAKX,iBAAiBD,WAClBgD,GAAUlD,mBAAmB2oB,qBAAqBhmI,OAAO,CACrD4rF,UAAW62J,EAAiB3zO,OAAO2zO,EAAiBl2I,aAAax6F,MAAM/W,QAInFunP,GAAY,GAMpB,GACIc,IACyB,QAAzB,EAAAloJ,EAAQjG,QAAQqM,iBAAS,eAAE4D,kBAA4C,QAA1B,EAAAjK,EAAShG,QAAQqM,iBAAS,eAAE4D,eAC3E,CACE,MAAMu/I,EAAgBvpJ,EAAQjG,QAAQljE,WAAWroC,OAC3Cg7P,EAAiBzpJ,EAAShG,QAAQljE,WAAWroC,OAE/C+6P,IAAkBC,IAIdD,IAAkBC,EAAiB,GAC0B,IAA7DzpJ,EAAShG,QAAQljE,WAAW2yN,EAAiB,GAAG13L,UAC9CiuC,EAAShG,QAAQljE,WAAW2yN,EAAiB,GAAG3pP,QAElDunP,GAAY,GAKxB,GAAI5zI,IAAeA,EAAW9D,WAAY,CACtC,MAAM+5I,EACkD,IAA3C,EAAR/sL,GAAuDurL,EAAgBD,EA2B5E,GAvBAyB,EAAuBt6I,cAAcr2F,SAAS4wO,IAC1C/gI,GACI+gI,EAAa97I,QACb67I,EAAuB76I,eAAe86I,EAAa97I,cACxCt7G,EACXkhH,OACYlhH,EACZ2oG,MAMRuY,EAAWrE,cAAcr2F,SAASm0C,IAC9B,GAAIA,EAAM4gD,YAAa,CACnB,MAAMkI,EAAkB7D,GAAoBjlD,EAAM4gD,YAAa2F,GAC3DuC,IAAoB9oD,EAAM4gD,aAC1B2F,EAAW7F,eAAe1gD,EAAM2gD,QAASmI,EAAiB9oD,EAAM6gD,UAAW7gD,EAAM8gD,mBAMzFm6I,EAAyB,CACzB,MAAMyB,EAAwE,IAA3C,EAARjtL,GAAuDqjC,EAAWC,EACvFk/I,EAAuE,IAA3C,EAARxiL,GAAuDsjC,EAAUD,EAE3F,GAAI4pJ,EAAkB5vJ,QAAQqM,UAAW,CACrC,MAAMwjJ,EAA0BD,EAAkB5vJ,QAAQljE,WAAWwlB,QAAQr2C,MACpEA,EAAEnG,MAGY,IAAfmG,EAAE8rD,UAAyCuoC,GAAYr0F,EAAExT,SAI9DhE,OACH,IAAIq7P,EAAoB,EACxB,MAAMC,EAAoC,GAK1C5K,EAAiBnlJ,QAAQljE,WAAW/d,SAAQ,CAAC9S,EAAG2X,KACxCksO,EAAoBD,EAChB5jP,EAAEnG,MACFgqP,KAEI7jP,EAAEnG,MAAuB,IAAfmG,EAAE8rD,UAAoE,IAA3Bg4L,EAAgBt7P,SAI7Es7P,EAAgBj7P,KAAK,CACjBijE,SAAU9rD,EAAE8rD,SACZjyD,KAAMmG,EAAEnG,KACR0mG,kBAAmBvgG,EAAEugG,kBACrBD,aAActgG,EAAEsgG,WAChB9zG,KAAM6lG,GAAamE,0BAA0B0iJ,EAAkBvhO,QAK3E61F,EAAWxF,aAAa27I,EAAkB5vJ,QAAQqM,UAAW,CACzDvvE,WAAYizN,EACZtpJ,eAAgB0+I,EAAiBnlJ,QAAQyG,eACzC3P,UAAWquJ,EAAiBnlJ,QAAQlJ,UACpCn0B,MAAOwiL,EAAiBnlJ,QAAQr9B,MAChC0pC,UAAW84I,EAAiBnlJ,QAAQqM,UAC7B6L,GAAkBitI,EAAiBnlJ,QAAQqM,gBAC5C9zG,MAOtB,GAAI+0P,EAAiB,CACjB,MAAM0C,EAAiBh5B,GAA+BhxH,GACtD,IAAK5G,GAAe4wJ,GAAiB,CACjC,MAAMC,EAAgB93I,GAAoB6+G,GAA+B/wH,GAAUioJ,GAC7E/9C,EAAalnF,aAAI,EAAJA,EAAMX,iBAEzB,IAAI4nI,GAAyB,GAEzBpxJ,GAAQmxJ,IAKRrhI,GACIohI,EACAC,EACA9/C,aAAU,EAAVA,EAAY7nF,iBACZ7O,EACA92C,EACAu+B,IAQAtB,GAAgBqwJ,IAChB5xJ,GAAUqH,UAAUuqJ,EAAe,CAAC,YAAa,qBACjDzhC,GACA7uH,GAAoB6uH,IAGhB5/F,GACIohI,EACA3xJ,GAAUgK,gBAAgBmmH,GAC1Bre,aAAU,EAAVA,EAAY7nF,iBACZ7O,EACA92C,EACAu+B,MA5BZgvJ,GAAyB,GAoCxBA,IACG//C,GACAA,EAAW9nF,WACPgD,GAAUlD,mBAAmBmoB,6BAA6BxlI,OAAO,CAC7Dq2G,WAAY2M,GAAUmiI,GACtBjqJ,SAAU8nB,GAAUkiI,MAIhC3C,GAAY,IAKxB,OAAOA,EAh9CK8C,CACInqJ,EACAmnJ,EACAlkI,aAAI,EAAJA,EAAMX,iBACN7O,UAAc,IAAIpG,GAAWgF,GAAkBrS,IAC/CrjC,EACAu+B,GAGJ,OAAO,EAKnB,GAAIV,GAAqBwF,GAAW,CAChC,MAAMoqJ,EAAennI,aAAI,EAAJA,EAAMX,iBAuB3B,QApBqBtiB,EAAShD,UAAUxiF,OAAO6vO,IACtC/xJ,GAAayP,aAAasiJ,KAI3B52I,GACAA,EAAW/E,iBAAiB2D,GAAkBg4I,IAGnCzhI,GACXyhI,EACApqJ,EACAmqJ,aAAY,EAAZA,EAAc9nI,iBACd7O,GAAc,IAAIpG,GAAWgF,GAAkBg4I,IAC/C1tL,EACAu+B,QAMAkvJ,GACAA,EAAa/nI,WACTgD,GAAUlD,mBAAmBkqB,wBAAwBvnI,OAAO,CACxDhF,KAAMkgG,EAAShD,UAAU,GAAGhD,QAAQl6F,SAIzC,GAMf,SAAI85F,GAAgBoG,KAAa3H,GAAUqH,UAAUM,EAAU,WACR,IAAtC,EAARrjC,MAOLo8B,GAAekH,IAAYrG,GAAgBoG,IAAa3H,GAAU+L,gBAAgBpE,IAC9EqoH,GAAY1uH,GAAoB0uH,GACzB05B,GACH1pJ,GAAUmJ,oBAAoBxB,GAC9BqoH,EACAplG,EACAxP,EACA92C,GACgC,EAChCu+B,GAKRnC,GAAeiH,IACXijB,GACAA,EAAKZ,WAAWgD,GAAUlD,mBAAmB2nB,iBAE1C,IAGP7mB,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBshB,yBAAyB3+H,OAAO,CACzDq2G,WAAY2M,GAAU7nB,GACtBD,SAAU8nB,GAAU9nB,OAKzB,IAGX,SAAS4mJ,GACL5mJ,EACAC,EACAgjB,EACAxP,EACA92C,EACAu+B,GAIA,GACIL,GACIoF,EACAD,OAC0BztG,OACJA,EACtB2oG,GAGJ,OAAO,EAKX,GAAI7B,GAAQ2G,GAAW,CAKnB,GAAuD,IAA1C,EAARrjC,GAAqD,CACtD,MAAM2tL,EAAiBtqJ,EAAS1G,SAASh9C,QAAQ0D,IAAOo5C,GAAep5C,KACvE,GAA8B,IAA1BsqM,EAAe77P,QAAgBqrG,GAAUwwJ,EAAe,IAIxD,OAHA1hI,GAAc0hI,EAAe,GAAIrqJ,OAAoB1tG,EAAWkhH,EAAY92C,EAAOu+B,IAG5E,EAIf,MAAMqvJ,EAAgC,GACtC,IAAIC,EAA+B,IAAIvqJ,EAAQ3G,UAC3CmxJ,GAAiB,EA2ErB,GAvEAzqJ,EAAS1G,SAASvgF,SAAS2tO,IACvB,GAAIluI,GAAuBkuI,GACvB6D,EAAsBz7P,KAAK43P,OACxB,CACH,MAAMgE,EAAeF,EAAqBxnK,WAAW6iK,GACjDhrJ,GACIgrJ,EACAa,OAC0Bn0P,OACJA,EACtB2oG,KAGJwvJ,GAAgB,EAChBF,EAAqB7wO,OAAO+wO,EAAc,GAE1CD,GAAiB,MAOxBA,GACD,IAAID,GAAsBzxO,SAAS8sO,IAC/B,MAAM8E,EAAgBJ,EAAsBvnK,WACvC0jK,GACGhtJ,GAAQmsJ,IACRnsJ,GAAQgtJ,IACRzuJ,GAASvmG,WAAWm0P,KAAgB5tJ,GAASvmG,WAAWg1P,IACxDruJ,GAAU+C,mBAAmByqJ,EAAYa,KAE7CiE,GAAiB,IAEZ/hI,GACG2hI,EAAsBI,GACtB9E,EACA5iI,aAAI,EAAJA,EAAMX,iBACN7O,EACA92C,EACAu+B,KAGJuvJ,GAAiB,GAGrBF,EAAsB5wO,OAAOgxO,EAAe,GAC5CH,EAAuBA,EAAqBluM,QAAQ0D,GAAMA,IAAM6lM,QAOvE4E,GAAoD,IAAjCF,EAAsB97P,QAAgD,IAAhC+7P,EAAqB/7P,QAE1C,IAAjC87P,EAAsB97P,QACrBqrG,GAAUywJ,EAAsB,KAChC3hI,GACG2hI,EAAsB,GACtB9rJ,GAAa+rJ,GACbvnI,aAAI,EAAJA,EAAMX,iBACN7O,EACA92C,EACAu+B,KAGJuvJ,GAAiB,IAIpBA,EACD,OAAO,EAKf,IAAIA,GAAiB,EAmBrB,OAlBA56I,GAAiB5P,GAAU1G,IAClBqvB,GAAc5oB,EAAUzG,OAAoBhnG,EAAWkhH,EAAY92C,EAAOu+B,IAGtE0tB,GACG5oB,EACAq8C,GAA6B9iD,GAC7B0pB,aAAI,EAAJA,EAAMX,iBACN7O,EACA92C,EACAu+B,KAGJuvJ,GAAiB,OAKzBA,IACIxnI,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBshB,yBAAyB3+H,OAAO,CACzDq2G,WAAY2M,GAAU7nB,GACtBD,SAAU8nB,GAAU9nB,OAIzB,GAMf,SAAS8mJ,GACL9mJ,EACAC,EACAgjB,EACAxP,EACA92C,EACAu+B,GAKA,GAAY,EAARv+B,EAA0C,CAC1C,IAAI8tL,GAAiB,EAmCrB,OAjCA56I,GAAiB7P,GAAU,CAACzG,EAAS37E,KACjC,IACK6sO,IACA7hI,GAAcrvB,EAAS0G,EAASgjB,aAAI,EAAJA,EAAMX,iBAAkB7O,EAAY92C,EAAOu+B,GAC9E,CAIE,IAAI0vJ,GAAc,EACbxxJ,GAAeG,IAChBsW,GAAiB7P,GAAU,CAAC6qJ,EAAcC,KAClCltO,IAAUktO,GAAeF,GAErBhiI,GACIiiI,EACAtxJ,OACWhnG,OACMA,EAAS,EAE1B2oG,KAGJ0vJ,GAAc,MAKzBA,IACDH,GAAiB,QAKzBA,IACIxnI,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBshB,yBAAyB3+H,OAAO,CACzDq2G,WAAY2M,GAAU7nB,GACtBD,SAAU8nB,GAAU9nB,OAIzB,GAOf,MAAMqlG,EAAepiF,EAAO,IAAId,QAAuB5vH,EAEvD,IAAIm/I,GAAa,EAKjB,GAAI34C,GAAekH,IAAYqR,GAAetR,GAC1C0xC,GAAa,MACV,CACH,IAAIq5G,EACAC,EAIJ,GACIpxJ,GAAgBqG,IAChByS,GAAczS,IACdrH,GAAUyE,aAAa2C,EAAUC,EAAS/E,GAE1C,OAAO,EAGX2U,GAAiB7P,GAAWzG,IAGxB,MAAM6tJ,EAAkB3zI,aAAU,EAAVA,EAAYhO,QACpC,GACImjB,GACIrvB,EACA0G,EACAolG,aAAY,EAAZA,EAAc/iF,iBACd8kI,EACAzqL,EACAu+B,KAGJw2C,GAAa,EAET01G,GAAiB,CAGjB,MAAM6D,EAAkB7D,EAAgBz4I,iBACZp8G,IAAxBy4P,GAAqCA,GAAuBC,KAE5DD,EAAsBC,EACtBF,EAAiB3D,OAO7B3zI,GAAcs3I,GACdt3I,EAAWpF,cAAc08I,GAmBjC,OAbKr5G,GACG53C,GAAUmG,IAAYA,EAAQjG,QAAQ8D,YAAYrvG,OAAS,IAC3DijJ,EAAa9oB,GACT5oB,EACAq8C,GAA6Bp8C,GAC7BolG,aAAY,EAAZA,EAAc/iF,iBACd7O,EACA92C,EACAu+B,MAKPw2C,IACGzuB,GAAQoiF,IACRpiF,EAAKZ,WACDgD,GAAUlD,mBAAmBshB,yBAAyB3+H,OAAO,CACzDq2G,WAAY2M,GAAU7nB,GACtBD,SAAU8nB,GAAU9nB,MAG5BijB,EAAKT,YAAY6iF,KAEd,GAuEf,SAAS0lC,GACLrpI,EACAxG,EAAiB,GAGjB,MAAMgwJ,EAAW52I,GACb5S,EACA,WACA,IAGJ,GAAIwpJ,EAAU,CACV,MAAM1lI,EAAWylC,GAAgBigG,GAC3BzpJ,EAAapJ,GAAUgK,gBAAgBX,GAEvCypJ,EAA4BC,IAC9B,IAAIC,EAAsBrnG,GACtBviD,EACA2pJ,OACkB74P,OACFA,EAChB2oG,GASJ,OAPImwJ,IACAA,EAAsB/yJ,GAAamN,MAAM4lJ,GACzCA,EAAoBrxJ,QAAQ2C,mBAAqB8E,EAC7C4pJ,EAAoBzuJ,mBACpByuJ,EAAoBzuJ,iBAAiBC,WAAa4E,IAGnD4pJ,GAGX,GAAI9wJ,GAAWirB,GACX,OAAO2lI,EAAyB3lI,GAC7B,GAAIhrB,GAAqBgrB,GAAW,CACvC,MAAM8lI,EAAgC,GAQtC,GAPA9lI,EAASxoB,UAAUjkF,SAAS+5F,IACxB,MAAMy4I,EAAYJ,EAAyBr4I,GACvCy4I,GACAD,EAAcx8P,KAAKy8P,MAIE,IAAzBD,EAAc78P,OACd,OACG,OAA6B,IAAzB68P,EAAc78P,OACd68P,EAAc,GAGlB/yJ,GAAuB3yF,OAAO0lP,IAK7C,MAAME,EAAUl3I,GACZ5S,EACA,UACA,IAGJ,GAAI8pJ,EAAS,CACT,MAAMhtJ,EAAUysD,GAAgBugG,GAE1BC,EAA2BC,GACtB1nG,GACHtiD,EACAgqJ,OACkBn5P,OACFA,OACKA,GACe,GAI5C,GAAIgoG,GAAWiE,GACX,OAAOitJ,EAAwBjtJ,GAC5B,GAAIhE,GAAqBgE,GAAU,CACtC,MAAMyZ,EAA+B,GAQrC,GAPAzZ,EAAQxB,UAAUjkF,SAAS+5F,IACvB,MAAMy4I,EAAYE,EAAwB34I,GACtCy4I,GACAtzI,EAAanpH,KAAKy8P,MAIE,IAAxBtzI,EAAaxpH,OACb,OACG,OAA4B,IAAxBwpH,EAAaxpH,OACbwpH,EAAa,GAGjB1f,GAAuB3yF,OAAOqyG,IAK7C,MAAMozI,EAAsB/yJ,GAAakN,eACrC,UACA,GACA,GACA,IAIJ,OAFA6lJ,EAAoBrxJ,QAAQ2C,mBAAqBtE,GAAUgK,gBAAgBX,GAC3EpJ,GAAa0O,qBAAqBqkJ,GAC3BA,EAOX,SAASpE,GAAwBnhC,GAC7B,IAAKlsH,GAAgBksH,KAAaztH,GAAU+L,gBAAgB0hH,GACxD,OAKJ,IAAK,MAAMtzG,KAAYszG,EAAQ9rH,QAAQoI,IACnC,GAAI1I,GAAQ8Y,IAAana,GAAU+L,gBAAgBoO,GAC/C,IAAK,MAAMm5I,KAASn5I,EAASxY,QAAQiE,OACjC,GAAiB,aAAb0tJ,EAAM,KAAsBA,EAAM,GAAGngJ,4BAA6B,CAClE,IAAIogJ,GAAwB,EAQ5B,GANIrjC,GAAe7uH,GAAQ6uH,IACnBA,EAAYvuH,QAAQiE,OAAOpmF,IAAI8zO,EAAM,MACrCC,GAAwB,IAI3BA,EACD,OAOpB,MAAMr7B,EAAal8G,GAAmByxG,EAAS,YAC/C,IAAKyK,EACD,OAGJ,MAAM1kE,EAAaZ,GAAgBslE,GACnC,GAAIh2H,GAAWsxD,IAAerxD,GAAqBqxD,GAAa,CAC5D,MAAM2kE,EAAcxsE,GAA4B8hE,EAASj6D,GAEzD,GAAI2kE,EACA,OAAOz4G,GAAsCy4G,IAOzD,SAASs4B,GACL9oJ,EACAC,EACA6V,EACAmN,EACAglI,EACAC,EACAvrL,EACAu+B,GAIA,GACIpB,GAAUkG,IACVA,EAAShG,QAAQyD,eACjBuC,EAAShG,QAAQY,WACjBhB,GAAgBoG,EAAShG,QAAQY,YACjCvC,GAAU+L,gBAAgBpE,EAAShG,QAAQY,WAE3C,OAAO,EAGX,GAAIb,GAAkBiG,KAAc3F,GAAW4F,GAC3C,OAAO,EAKX,IAAI4rJ,EAAqB5rJ,EACrB6rJ,EAAsB9rJ,EACtB+rJ,GAAwB,EAE5B,GAAwD,IAA3C,EAARpvL,GACDmvL,EAAsB35I,GAAoBnS,EAAUioJ,GAEhDzvI,GAAuBszI,KACvBC,GAAyBnjI,GACrBijI,EACAC,OACWv5P,EACX01P,E,IACAtrL,EAIAu+B,GAGJ4wJ,EAAsB35I,GAAoBnS,EAAUioJ,SAoBxD,GAjBA4D,EAAqB15I,GAAoBlS,EAASioJ,GAE9C1vI,GAAuBqzI,IACnBrzI,GAAuBqzI,KACvBE,GAAyBnjI,GACrBijI,EACAC,OACWv5P,EACX21P,GACS,EAARvrL,EAAkD,IACnDu+B,GAGJ2wJ,EAAqB15I,GAAoBlS,EAASioJ,IAItD6D,EAWA,OAVI9oI,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmB2qB,kBAAkBhoI,OAAO,CAClD8Y,MAAOk4F,EAAa,EACpBqF,WAAY2M,GAAU9nB,GACtBA,SAAU8nB,GAAU7nB,OAKzB,EAoBf,OAdKnG,GAAUgyJ,IAAyBA,EAAoB9xJ,QAAQ2Q,mBAE5D7Q,GAAU+xJ,IACVA,EAAmB7xJ,QAAQ2Q,mBAC3BkhJ,EAAmB7xJ,QAAQY,YAE3BixJ,EAAqB15I,GACjB05I,EAAmB7xJ,QAAQY,UAC3B,IAAIyS,GAAWgF,GAAkBw5I,KACT,OAM/BjjI,GACGijI,EACAC,EACA7oI,aAAI,EAAJA,EAAMX,iBAC8C,IAA3C,EAAR3lD,GAAuDurL,EAAgBD,EACxEtrL,EACAu+B,KAQCL,GAAWmF,EAAUC,KAClBgjB,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmB2qB,kBAAkBhoI,OAAO,CAClD8Y,MAAOk4F,EAAa,EACpBqF,WAAY2M,GAAU9nB,GACtBA,SAAU8nB,GAAU7nB,MAKzB,IA6uBnB,SAAS+rJ,GAAuBthI,EAAyBo2H,GACrD,GACIA,EAAa9mJ,QAAQ6G,eAAepyG,OAAS,GAC7CqyP,EAAajlJ,eACbilJ,EAAajlJ,cAAcptG,QAAUqyP,EAAa9mJ,QAAQ6G,eAAepyG,OAC3E,CACE,MAAMglH,EAAa,IAAIpG,GAAWgF,GAAkByuI,IACpD1jD,GACI/kG,GAAUkK,uBACNu+I,OACoBvuP,GACS,GAEjCm4H,EACAjX,EACA,IAGJ,IAAIw4I,GAAkB,EACtB,MAAMpxI,EAAcimI,EAAajlJ,cAActkF,KAAI,CAAC04F,EAASryF,KACzD,MAAM23F,EAAYurI,EAAa9mJ,QAAQ6G,eAAejjF,GAChDsuO,EAAsBz4I,EAAW5E,eAAe0G,GAEtD,OAAI22I,IACIhzJ,GAAMgzJ,IAAwB9yJ,GAAe6W,KAC7Cg8I,GAAkB,EACXC,GAIRj8I,KAGX,GAAIg8I,EACA,OAAO5zJ,GAAUkK,uBAAuBu+I,EAAcjmI,GAA0C,IAS5G,SAAS27G,GAA4B9rG,EAAoBo2H,GACrD,MAAM79H,EAAO,IAAId,GAEXk3E,EAAe9nF,GAAYuvI,GAAeqL,IAC5C,MAAM3rD,EAAkBjvF,GAAYmZ,GAAe0hI,IAE/C,GAAIhzJ,GAAesxB,GACf,OAAOA,EAGX,GAAI9B,GAAcwjI,EAAiBD,EAAiBlpI,GAAO,CAGvD,GAAItpB,GAAoByyJ,IAAoBzyJ,GAAoBwyJ,GAAkB,CAC9E,MAAM14O,EAASu4O,GAAuBI,EAAiBD,GACnD14O,IACA04O,EAAkB14O,QAEnB,GAAImmF,GAAgBwyJ,IAAoBxyJ,GAAgBuyJ,GAAkB,CAC7E,MAAM14O,EAASu4O,GACX3zJ,GAAUmJ,oBAAoB4qJ,GAC9B/zJ,GAAUmJ,oBAAoB2qJ,IAE9B14O,IACA04O,EAAkB9zJ,GAAUgK,gBAAgB5uF,QAE7C,KAAKqmF,GAAUsyJ,IAAoBtyJ,GAAUqyJ,GAGhD,OAAOC,EACJ,GAAIhzJ,GAAe+yJ,GAEtB,OAAOC,EAGX,OAAOD,MAQf,OAAIrzJ,GAAQ0nG,GACD2rD,EAGJ3rD,KAIX,OAAIpnG,GAAe0nJ,GACRp2H,EAGJ2uE,EAyUX,SAASmW,GAAmB9tG,GACxB,MAAMR,EAAc,IAAI3vF,IAExBmwF,EAAU1H,QAAQoI,IAAIrpF,SAASy5F,IACvB7Y,GAAoB6Y,IAIpBA,EAASxY,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQ7nB,KAIrC,GAAI6nB,EAAOs9B,gBAAiB,CACxB,IAAIyuI,EAEJ,MAAMx+K,EAAOsxC,GAA8B7+B,GAGvC+rK,KAFAx+K,GAAsB,IAAdA,EAAKlpE,UAEmB,EADVgkP,GAA+B96K,EAAKR,MAAM,IAU/D+lC,EAAYrpF,IAAI0uC,IACjB26C,EAAYtoG,IAAI2tD,EAAY,CACxB6nB,SACA7nB,aACA4zL,aACAz4I,UAAW8Q,WASnC,MAAM65I,EAA+B,GAOrC,OANAnrJ,EAAYnoF,SAAS1F,IACbA,EAAO8mO,YACPkS,EAAWv9P,KAAKukB,MAIjBg5O,EASX,SAASroG,GACLh7B,EACA6iC,EACAgrE,EACAx+E,EACAn9C,EAAiB,EACjB24H,GAAgC,EAChCy4B,GAEA,GAAI/xJ,GAAWsxD,GAAa,CAGxB,IAAK7iC,EACD,OAAO1wB,GAAamN,MAAMomD,GAAkC,GAGhE,GAAIvzD,GAAaiP,iBAAiBskD,GAAa,CAC3C,MAAM0gG,EAAU3yJ,GAAgBovB,GAC1BA,EACA3wB,GAAUgK,gBAAgBiT,GAAoB0T,IACpD,OAAOwjI,GACHxjI,EACA6iC,EACAgrE,GAAex+H,GAAUmJ,oBAAoB+qJ,GAC7Cl0G,EACAn9C,EACAoxJ,GAAkBC,EACI3yJ,GAAgBovB,IAI9C,GACI1wB,GAAaoP,cAAcmkD,IAC1BgoE,GAAiCv7H,GAAakP,oBAAoBqkD,GACrE,CACE,MAAM7mD,EAAYrL,GAAoBqvB,GAAYA,EAAW3wB,GAAUmJ,oBAAoBwnB,GAIrFyjI,EAA0BH,EAC1B3yJ,GAAoBqvB,GAChBsjI,EACC51I,GAAsB41I,GAC3BtnJ,EAEN,OAAOwnJ,GACHv0J,GAASvmG,WAAWs3H,GAAY3wB,GAAUmJ,oBAAoBwnB,GAAYA,EAC1E6iC,EACAgrE,GAAe7xH,EACfqzC,EACAn9C,EACAuxJ,GACsB,GAI9B,GAAIn0J,GAAamP,eAAeokD,GAAa,CACzC,MAAM7mD,EAAYrL,GAAoBqvB,GAAYA,EAAW3wB,GAAUmJ,oBAAoBwnB,GAE3F,OAAOwjI,GACHv0J,GAASvmG,WAAWs3H,GAAY3wB,GAAUmJ,oBAAoBwnB,GAAYA,EAC1E6iC,EACAgrE,GAAe7xH,EACfqzC,EACAn9C,OAC8B3oG,GACR,SAG3B,GAAIioG,GAAqBqxD,GAAa,CACzC,MAAM6gG,EAAkBn0J,GAAuB3yF,OAAO,IAkBtD,OAjBAimJ,EAAW7uD,UAAUjkF,SAAS+5F,IAC1B,GAAIxa,GAAayP,aAAa+K,GAAW,CACrC,MAAM09G,EAAcxsE,GAChBh7B,EACAlW,EACA+jH,OACgBtkO,EAChB2oG,EACA24H,EACAy4B,GAEA97B,GACAj4H,GAAuBgQ,YAAYmkJ,EAAiBl8B,OAKvB,IAArCk8B,EAAgB1vJ,UAAUvuG,OACnBi+P,EAAgB1vJ,UAAU,GACW,IAArC0vJ,EAAgB1vJ,UAAUvuG,YAG7B4pJ,GACAwT,EAAW7uD,UAAUjkF,SAAS+5F,IAC1BkxC,GACIh7B,EACAlW,EACA+jH,EACAx+E,EACAn9C,EACA24H,EACAy4B,OAOTI,EAGX,OAAO7gG,EASX,SAAS2gG,GACLxjI,EACA6iC,EACAgrE,EACAx+E,EACAn9C,EACAoxJ,EACA5mJ,GAAkB,GAElB,MAAM+N,EAAa,IAAIpG,GAAWgF,GAAkBwkH,IAEpD,GAAIy1B,GAAkBzgG,EAAW7xD,QAAQljE,WAAWroC,OAAS,EAAG,CAC5D,MAAMk+P,EAAuB9gG,EAAW7xD,QAAQljE,WAAW,GACrD81N,EAA2Bt0J,GAAamE,0BAA0BovD,EAAY,GAI9EghG,EAA2B/6I,GAAkBw6I,GAGnD74I,EAAW/E,iBAAiB2D,GAAkBw5C,IAC9C,MAAM5oC,EAAO,IAAId,GAEjB,GACIroB,GAAU8yJ,IACVA,EAAyB5yJ,QAAQY,WACjChB,GAAgBgzJ,EAAyB5yJ,QAAQY,YACjDvC,GAAU+L,gBAAgBwoJ,EAAyB5yJ,QAAQY,WAMtD6Y,EAAW9D,YACZ8D,EAAW7F,eACPg/I,EACA30J,GAASgB,eAAe2zJ,GAClB16I,GAAkB26I,GAClBA,QAGX,IACFjkI,GACGgkI,EACAC,EACA5pI,EACAxP,OACYlhH,EACZ2oG,IAIAyxJ,EAAqB7sP,OACpB6sP,EAAqBnmJ,mBACtBmmJ,EAAqBlmJ,gBACvB,CACE,IAAI4xC,EAgBA,OAhBW,CACX,MAAMi6D,EAAazmD,EAAW7xD,QAAQl6F,MAAQ,YAC9CkoH,GACI,GAA6BqwB,GAAWpwB,kBAAkBC,wBAC1D/X,GAAe+X,wBACf7C,GAAUv4F,WAAWghG,mBAAmBhpH,OAAO,CAC3CrS,KAAMq1H,GAAUkB,GAChBspF,WAAYA,EACZ5hH,UAAWi8J,EAAqB7sP,OAC/BmjH,EAAKR,YACV41B,KAcpB24E,GAA+BnlE,GAE/B,MAAMihG,EAAsB36I,GAAoB05C,EAAYp4C,GAE5D,OAAOnb,GAAamN,MAAMqnJ,EAAqBpnJ,EAAiBsjB,EAAU3W,GAAkB2W,IAGhG,SAASuyG,GAAwB9oO,GAC7B,OAAO,GACHA,EACA+0N,EAAiBn3E,eACjB2gF,IAQR,SAASlpG,GAAUr1H,EAAYi+I,GAAkB,GAC7C,IAAI/zE,EAAQ6qJ,EAAiBn3E,eAM7B,OAJIK,IACA/zE,GAAS,IAGN,GAAsBlqE,EAAMkqE,EAAOq0J,IA2D9C,MAAM0D,GAAoC,CACtCq4B,yBAtzsBJ,SAAqCt4O,EAA0BrN,GAC3D,IAEI,OADA0sI,EAAoBr/H,EACbrN,I,QAEP0sI,OAAoBvhJ,IAkzsBxByuH,UACAqI,sBACA4oG,sBACAnyG,kBACAgmC,qBACA48D,qCACAjlE,gBAnmsBJ,SAAyBtiF,GACrBivJ,GAAoCjvJ,GAEpC,IAAIuB,EAAiCvB,EACrC,UAAmB5oE,IAAZmqE,GAAuB,CAC1B,MAAM82I,EAAeuU,EAAkB/vN,IAAI0kE,EAAQrsD,IACnD,GAAImjM,EACA,MAAO,CACH/gN,KAAM+gN,EACNr4I,KAAMuB,GAIdA,EAAUA,EAAQ9jC,SAulsBtBovK,0BACA5B,6BACA6B,0BA1iOJ,SAAmC9sI,GAC/B,GAAIguJ,EAAchuJ,EAAM,GACpB,OAGJ,MAAMghL,EAAoB9yH,EAAoBluD,EAAKsnB,mBACnD,IAAI2+G,EAAc+6C,EAAkB1pP,KAGpC,IAAK,MAAMg9K,KAAiBt0G,EAAKunB,MACxB+sF,EAAc5sF,kBACfu+G,EAAc3C,GACVi2B,GACAtzB,EACA3xB,EAAchmJ,SACO,IAKjC6/L,EAAenuJ,EAAMimI,EAAa,IAAuB+6C,EAAkB1lN,eAuhO3EylN,4BACAU,2BACA1gD,cACAE,aACAC,2BACAF,0BACA6K,yBAtgnBJ,SAAkC7rI,GAC9B,MAAM8rI,EAAoBthF,GAAexqD,EAAM,iBAE/C,GAAIA,EAAKsqB,eAAgB,CACrB,MAAMyhH,EAAgB79E,EAAoBluD,EAAKsqB,gBAAgBhzF,KAK/D,GAAIy0M,GAAiBD,GAAqBttG,GAAoBstG,GAAoB,CAC9E,MAAM5B,EAAe,IAAIljF,GAEzBtS,GAAiBq3F,GAAgB3tG,IAC7B,MAAMogG,EAAkBt9C,GAA6B9iD,GAErD,IAAKH,GAAeugG,GAChB,GAAIhgG,GAAoBggG,SAAqDpnM,IAAjConM,EAAgBx6F,aACxD,GACK8W,GACG0jF,EACAsN,GACoB,GAQrB,CACH,IAAI2zB,EACJz2B,GAAoBhpI,EAAKsqB,gBAAiB,KACtCm1I,EAAauH,GACThnK,EAAKsqB,eACL,GACAk0G,GAC0B,OACPpnM,MAIvBqoO,GAAcA,EAAWC,gBACzBx1B,EAAahjF,WACTgD,GAAUv4F,WAAWylG,+BAA+BztH,OAAO,CACvDrS,KAAMq1H,GAAUvuB,GAA+B,WApB3D8rG,EAAahjF,WACTgD,GAAUv4F,WAAWulG,yBAAyBvtH,OAAO,CACjDrS,KAAMq1H,GAAUvuB,GAA+B,WAuBpDK,GAAgB+/F,IAElB1jF,GACG5d,GAAUmJ,oBAAoBm4F,GAC9BsN,GACoB,IAU5B5B,EAAahjF,WACTgD,GAAUv4F,WAAWulG,yBAAyBvtH,OAAO,CACjDrS,KAAMq1H,GAAUvuB,GAA+B,SAO9D8rG,EAAatrL,WAEdiuG,GADiB,GAA6B7sD,GAEjC8sD,kBAAkBC,wBAC3B/X,GAAe+X,wBACf7C,GAAUv4F,WAAW6mG,yBAA2B0xE,EAAa5iF,YAC7DtnD,EAAKsqB,mBAw7mBrBkiH,0BACA6G,wBACA5S,mBACAoxD,iCA7ssBJ,SAA0C7xL,GACtC,OAAO2sJ,EAAoCjwM,IAAIsjD,EAAK9qD,KA6ssBpD8zL,uBACA9kF,2BAluLJ,SAAoClkD,G,MAChC,GAAI,GAAmCA,GACnC,OAGJ,MAAM64E,EAA8B,GAKpC,GACI74E,EAAKviC,QACoB,KAAzBuiC,EAAKviC,OAAOshC,UACZiB,EAAKviC,OAAOgnC,OACZzE,IAASA,EAAKviC,OAAO94B,KACvB,CACE,MAAMw7D,EAAQ,GAA2BH,GACzC,GAAIG,EAAO,CAEP,MAAM65E,EAAgB75E,EAAM85E,sBAAsBj6E,EAAKviC,OAAOgnC,MAAM7uE,OACpE,GAAIokJ,EAAe,CAGf,MAAM83G,EAAqB93G,EAAc/mE,OAAOy+B,kBAAkBvwD,QAAQqf,GACjD,IAAdA,EAAKlpE,MAAkCkpE,EAAKR,OAASA,EAAKviC,SAGrEo7G,EAAallJ,QAAQ4gG,GAAwCu9J,WAGlE,GACH9xL,EAAKviC,QACoB,KAAzBuiC,EAAKviC,OAAOshC,UACZiB,IAASA,EAAKviC,OAAOkiC,WACvB,CACE,IAAIkuD,EAAWhI,EAAQ7lD,EAAKviC,OAAOuhC,gBACnC,GAAI6uD,EAAU,CACVA,EAAWqzB,GAA6BrzB,GACxC,MAAMluD,EAAaK,EAAKviC,OAAOkiC,WAAW/pE,MAC1C8+G,GAAiBmZ,GAAWzvB,IACxB,IAAInrB,EAIJ,GAAIurB,GAFJJ,EAAU8iD,GAA6B9iD,IAEL,CAG9B,IAAI1zC,EAASyuD,GAAkB/a,EAASz+B,EAAY,IAKpD,GAJKjV,IACDA,EAASyuD,GAAkB/a,EAASz+B,KAGnCjV,EAAQ,CACT,MAAMkxD,EAAYxd,EAAQS,QAAQmI,mBAC9B4U,GAAapd,GAAoBod,KACjClxD,EAASyuD,GAAkByC,EAAWj8C,IAI1CjV,IACAuoB,EAASvoB,EAAOuoB,aAEjB,GAAIwrB,GAAgBL,GAAU,CAGjC,IAAI1zC,EAASwuD,GAAmB9a,EAASz+B,EAAY,IAChDjV,IACDA,EAASwuD,GAAmB9a,EAASz+B,IAErCjV,IACAuoB,EAASvoB,EAAOuoB,aAEbyrB,GAASN,KAChBnrB,EAASgqB,GAAWgJ,SAAS7H,EAASz+B,IAG1C,GAAIsT,EAAQ,CAIR,MAAM8+B,EAAa9+B,EAAO2+B,uBACtBG,EAAWz+G,OAAS,EACpBulJ,EAAallJ,QAAQo+G,GAErB8mC,EAAallJ,QAAQs/E,EAAOy+B,6BAKzC,GAAI1xC,EAAKviC,QAAmC,KAAzBuiC,EAAKviC,OAAOshC,SAAuC,CACzE,MAAMgzL,EAAgB/xL,EAAKviC,OAAOuqC,UAAU6f,WAAW5f,GAASA,IAASjI,IACnEC,EAAa,GAA+BD,EAAKviC,QAEnDs0N,GAAiB,GACjB9xL,IACCA,EAAWkN,aACZ4kL,EAAgB9xL,EAAWkD,cAAc7vE,QAErC2sE,EAAWkD,cAAc4uL,KACzB9mD,GAA0BjrI,GAK1B64E,EAAallJ,KAAKghG,GAAkC10B,EAAWkD,cAAc4uL,WAGlF,GAAI/xL,EAAKviC,QAAmC,IAAzBuiC,EAAKviC,OAAOshC,UAAuCiB,IAASA,EAAKviC,OAAO94B,KAAM,CAGpG,MAAMu+K,EAAUljH,EAAKviC,OACf83D,EAAYv1B,EAAKpqE,MACvB,GAAIstL,EAAQzlJ,QAAsC,IAA5BylJ,EAAQzlJ,OAAOshC,SAAiC,CAClE,MAAM8uD,EAAWK,EACbg1D,EAAQzlJ,OAAOuhC,oBACI5nE,EAAS,GAE9BE,KAEF,GAAIu2H,EACA,GAAIzuB,GAAWyuB,IAAaA,EAAShvB,QAAQv+B,YAAa,CACtD,MAAM0xL,EAAYhN,GAAyCn3H,EAAUt4B,GACjEy8J,GACAn5G,EAAallJ,KAAKq+P,QAEnB,GAAI3yJ,GAAqBwuB,GAC5BA,EAAShsB,UAAUjkF,SAASgyB,IACxB,MAAMoiN,EAAYhN,GAAyCp1M,EAAG2lD,GAC1Dy8J,GACAn5G,EAAallJ,KAAKq+P,WAGvB,GAAIxzJ,GAAoBqvB,GAAW,CACtC,MAAMgiC,EAOL,QAPsB,EAAAk3C,GACnB7jB,EAAQzlJ,OAAOuhC,eACfk+B,GAAUgK,gBAAgB2mB,GAC1B,WACA,CAAE31G,OAAQ,YACC9gB,EAAS,UAEvB,eAAEE,KAEH,GAAIu4J,GAAkBzwD,GAAWywD,GAAiB,CAC9C,MAAMmiG,EAAYhN,GAAyCn1F,EAAgBt6D,GAC3E,GAAIy8J,EACAn5G,EAAallJ,KAAKq+P,QACf,GAAI90J,GAAUkL,YAAYylB,GAAW,CACxC,MAAM45B,EAAgBtuC,GAAkB0U,EAAUt4B,GAC9CkyD,GACA5O,EAAallJ,QAAQ8zJ,EAAcx0E,OAAOy+B,2BAO/D,CACH,MAAM5wC,EAAW,GAA6Bd,GAGxCiyL,E1DvygBX,SAAgCjyL,EAAiBkyL,GACpD,IACIxiK,EADAnuB,EAAiCvB,EAEjCmyL,GAAW,EAEf,KAAO5wL,GAAS,CACZ,GACyB,KAArBA,EAAQxC,WACP2wB,IAAanuB,EAAQ+jB,gBAAkBoK,IAAanuB,EAAQwnB,uBAE7D,OAAOopK,IAAaD,EAGxB,GAAyB,KAArB3wL,EAAQxC,UAAuC2wB,IAAanuB,EAAQmkB,qBACpE,OAAOysK,IAAaD,EAGxB,GAAyB,KAArB3wL,EAAQxC,UAAuC2wB,IAAanuB,EAAQmpB,0BAGpE,OAAO,EAGX,GAAyB,KAArBnpB,EAAQxC,UAA6C2wB,IAAanuB,EAAQ+jB,eAC1E,OAAO6sK,IAAaD,EAGxB,GAAyB,IAArB3wL,EAAQxC,UAAyC2wB,IAAanuB,EAAQwnB,sBAGtE,OAAO,EAOX,GAJyB,KAArBxnB,EAAQxC,UAAyC2wB,IAAanuB,EAAQ+jB,iBACtE6sK,GAAW,GAIU,KAArB5wL,EAAQxC,UACa,KAArBwC,EAAQxC,UACa,KAArBwC,EAAQxC,UACa,KAArBwC,EAAQxC,SAER,OAAO,EAGX2wB,EAAWnuB,EACXA,EAAUA,EAAQ9jC,OAGtB,OAAO,E0DqvgBgC,CAC3BuiC,GACC22J,EAAgC,GAA6B32J,KAE5DyvJ,EAAyBwiC,GAA0BnxL,EAASoM,WAE5DmtE,EAAkBJ,GACpBj6E,EACAA,EAAKpqE,OACJ65N,EACDwiC,GAGA53G,GACAxB,EAAallJ,QAAQ0mJ,EAAgBpnE,OAAOy+B,mBAIpD,OAAOmnC,GAijLPrpB,yBACA7J,2BACAgtF,mCACAhH,uBACAC,uBACA7iD,6BACAi/E,sBACAp/B,kBA9snBJ,SAA2B5oI,EAAiBqB,GACxC,MAAMP,EAAW,GAA6Bd,GACxCG,EAAQ,GAA2BH,GAErCG,GACAkB,EAAMzjD,SAASwtC,IACX,MAAM4uF,EAAgB75E,EAAM85E,sBAAsB7uF,GAC9C4uF,GACA82E,GAAkBhwJ,EAAUk5E,EAAc/mE,OAAQjT,OAusnB9DirD,qBACAi2B,gCACA+7C,6BACAgF,yCACAhoD,yBACAg6D,2BACA7nF,4BACAyjG,oCACAsxB,gCACApoB,gCACA5tB,iCACA2D,iCACAyxB,+BACA/1G,kBACAslC,mBACAi3C,2BACA0xB,kBACAjyB,gCACA39C,+BACA5F,qBA7oqBJ,SACIpxD,EACAO,EACAC,GAEA,MAAMq3I,EAAW73I,EAAS7yB,eACpBy+H,EAAW53E,EAAQ6jH,GACzB,QAAiBtyO,IAAbqmM,EACA,OAGJ,MAAMx3G,EAA8B,GACpC,IAAImsK,EAAmB,EAMvB,SAASC,IACLpsK,EAAQtyF,KAAK,CACTurE,iBAAkBkzL,EAClB96P,KAAM0lG,GAAYvyF,SAClBoiO,QAAQ,IAIhBh7I,EAAS75F,UAAU4lB,SAAQ,CAACroB,EAAKktB,KAC7B,IAAIoqN,GAAS,EACTpqN,IAAU2vE,IACNC,EACAw6I,GAAS,EAETwlB,KAIRD,EAAmB78P,EAAI2pE,iBAEvB+mB,EAAQtyF,KAAK,CACTyrE,gBAAiB7pE,EAAI6pE,gBACrBF,iBAAkB3pE,EAAI2pE,iBACtBv6D,KAAMpP,EAAIoP,KACVkoO,OAAQA,OAIZh7I,EAAS75F,UAAU1E,OAAS8+F,GAC5BigK,IAGJ,MAAMhvG,EAA8B,GAEpC,SAASivG,EAA0Bh7P,GAC/B,IAAImoO,EAEJl5B,GAAmB10G,GAAW,KAC1B4tI,EAAamK,GACTF,EACAzjJ,EACA3uF,EACA,IAAI46G,GAAWgF,GAAkB5/G,KACP,MAIlC+rJ,EAAW1vJ,KAAK,CACZ2D,OACAisJ,YAAak8E,aAAU,EAAVA,EAAYl8E,cAIjC,SAASgvG,EAAuBj7P,GACxB8nG,GAAW9nG,GACXg7P,EAA0Bh7P,GAE1BA,EAAKuqG,UAAUjkF,SAASvJ,IAChB8oF,GAAayP,aAAav4F,IAC1Bi+O,EAA0Bj+O,MAkE1C,OA5DAqgG,GAAiB+oF,GAAWr/F,IACxB,OAAQA,EAAQxnC,UACZ,KAAK,EACL,KAAK,EACD27L,EAAuBn0J,GACvB,MAGJ,KAAK,EACD,GAAItB,GAASgB,eAAeM,GAAU,CAClC,IAAI45G,EAIJA,EAAaygB,GAAer6H,EAAS,YAGrC,MAAMo0J,IACAx6C,GACF54G,GAAW44G,IACqB,6BAAhCA,EAAWn5G,QAAQwG,SACjBotJ,IACAz6C,GAAc54G,GAAW44G,IAAe76G,GAAawP,uBAAuBqrG,GAKlF,IAAKA,GAAcw6C,GAAgBC,EAAmB,CAClD,MAAMnsC,EAAkBmS,GACpBr6H,EACA,WACoC,GAGpCkoH,IAGIlnH,GAAWknH,IAC0B,4BAArCA,EAAgBznH,QAAQwG,WAGxB2yG,EAAasO,IAKrBtO,GACAu6C,EAAuBv6C,OAExB,CACH,MAAMA,EAAaygB,GAAer6H,EAAS,YACvC45G,GACAu6C,EAAuBv6C,QAQjB,IAAtB30D,EAAW/vJ,OAIR,CACHu+F,WACAwxD,mBANJ,GA+/pBA7C,iCACA6zD,sBACA/I,yBAjEJ,SAAkCtrI,EAAiB0yC,GAC/C,MAAMhyC,EAAW,GAA6BV,GAE9C,GAAKU,EAIL,OAAOgwJ,GAAeplB,yBAAyB5qI,EAAUgyC,IA2DzD+a,iBACA+oF,kBAttBJ,SACIk8C,EACAC,EACA7qI,EACA8qI,GAAoB,GAGpB,GAAIvzJ,GAAqBqzJ,KACrBA,EAAaA,EAAW7wJ,UAAU6wJ,EAAW7wJ,UAAUvuG,OAAS,GAG5D6pG,GAAayP,aAAa8lJ,IAC1B,OAAO,EAMf,IAAKtzJ,GAAWszJ,GAEZ,OADA5qI,EAAKZ,WAAWgD,GAAUlD,mBAAmB0qB,eAAe/nI,OAAO,CAAErS,KAAMq1H,GAAU+lI,OAC9E,EAGX,MAAMG,EAAmB59I,GAAwBy9I,GAC3CI,EAAuB79I,GAAwB09I,GAErD,IAAII,GAAc,EAIdC,GAA0B,EAC9B,GAAIF,EAAqBr6O,OAAOnlB,OAASu/P,EAAiBp6O,OAAOnlB,YACtB8D,IAAnC07P,EAAqBh9I,gBAAgE1+G,IAArC07P,EAAqB58I,cACrE88I,GAA0B,QAE3B,GAAIF,EAAqBr6O,OAAOnlB,OAASu/P,EAAiBp6O,OAAOnlB,OAKpE,IAAK,IAAIV,EAAIigQ,EAAiBp6O,OAAOnlB,OAAQV,EAAIkgQ,EAAqBr6O,OAAOnlB,OAAQV,IAAK,CACtF,MAAMyqP,EAAgByV,EAAqBr6O,OAAO7lB,GAAG8oB,MAGtB,IAA3B2hO,EAAczmL,UACdymL,EAAc14O,OACb04O,EAAcjyI,aAEf4nJ,GAA0B,GAKlCA,IACAlrI,EAAKZ,WACDgD,GAAUlD,mBAAmBqqB,qBAAqB1nI,OAAO,CACrDspP,UAAWJ,EAAiBp6O,OAAOnlB,OACnC4/P,cAAeJ,EAAqBr6O,OAAOnlB,UAGnDy/P,GAAc,GAGlB,MAAM91I,EAAa7hH,KAAKC,IAAIw3P,EAAiBp6O,OAAOnlB,OAAQw/P,EAAqBr6O,OAAOnlB,QAExF,IAAK,IAAIV,EAAI,EAAGA,EAAIqqH,EAAYrqH,IAAK,CAIjC,GAAU,IAANA,IAEIuqG,GAAaiP,iBAAiBumJ,IAC9Bx1J,GAAaoP,cAAcomJ,IAC3Bx1J,GAAakP,oBAAoBsmJ,IAEjC,SAIR,MAAMQ,EAAYN,EAAiBp6O,OAAO7lB,GAAG8oB,MACvC2hO,EAAgByV,EAAqBr6O,OAAO7lB,GAAG8oB,MAErD,GACI9oB,GAAKigQ,EAAiBz9I,yBACrBvzC,GAAyBsxL,EAAUxuP,MAAQ,KACrB,IAAvBwuP,EAAUv8L,UACVu8L,EAAUxuP,OAAS04O,EAAc14O,KAEF,IAA3B04O,EAAczmL,UACVg8L,IACIE,EAAqBr6O,OAAO7lB,GAAGqnB,SAAW86F,GAAgBW,aAC1DoS,EAAKZ,WACDgD,GAAUlD,mBAAmBuqB,gCAAgC5nI,OAAO,CAChE8Y,MAAO7vB,EAAI,EACXuvL,SAAUgxE,EAAUxuP,MAAQ,OAIpCmjH,EAAKZ,WACDgD,GAAUlD,mBAAmBsqB,oBAAoB3nI,OAAO,CACpD8Y,MAAO7vB,EAAI,EACXuvL,SAAUgxE,EAAUxuP,MAAQ,IAC5ByuP,aAAc/V,EAAc14O,MAAQ,OAIhDouP,GAAc,OAGnB,CACH,MAAMM,EAAgBl2J,GAAamE,0BAA0BoxJ,EAAY9/P,GACnE4+I,EAAoBr0C,GAAamE,0BAA0BqxJ,EAAgB//P,GAE3E0gQ,EAA2B30J,GAAU00J,IAAkBA,EAAcx0J,QAAQyD,cAC7EixJ,EACF50J,GAAU6yC,IAAsBA,EAAkB3yC,QAAQyD,cACzDgxJ,GAA6BC,GAE1BJ,EAAUv8L,WAAaymL,EAAczmL,UACpC62D,GACG+jB,EACA6hH,EACAvrI,EAAKX,iBACL,IAAIjV,GAAWgF,GAAkBy7I,IAAgB,KAIrD7qI,EAAKZ,WACDgD,GAAUlD,mBAAmBwqB,oBAAoB7nI,OAAO,CACpD8Y,MAAO7vB,EAAI,EACXi7H,SAAUlB,GAAU0mI,GACpB3hH,aAAc/kB,GAAU6kB,MAGhCuhH,GAAc,IAM9B,MAAMS,EAAiB39B,GAA+B68B,GAChDjhH,EAAqBokF,GAA+B88B,GAoB1D,OAlBKllI,GACG+lI,EACA/hH,EACA3pB,EAAKX,iBACL,IAAIjV,GAAWgF,GAAkBw7I,IAAY,KAIjD5qI,EAAKZ,WACDgD,GAAUlD,mBAAmByqB,qBAAqB9nI,OAAO,CACrDkkH,SAAUlB,GAAU6mI,GACpB9hH,aAAc/kB,GAAU8kB,MAIhCshH,GAAc,GAGXA,GAsjBPh+C,6BArpIJ,SAASA,EAA6BlwG,EAAqBC,EAAoB/E,EAAiB,GAC5F31C,EAAO8yC,GAAU+L,gBAAgBpE,IACjCz6C,EAAO8yC,GAAU+L,gBAAgBnE,IACjC16C,EAAO8yC,GAAU+C,mBAAmB4E,EAAUC,IAC9C16C,EAAOy6C,EAAShG,QAAQ6G,eAAepyG,OAAS,GAEhD,MAAMw0H,EAAO,IAAId,GACX1O,EAAa,IAAIpG,GACvB,IAAIo5G,GAAe,EAiEnB,OA/DAzmH,EAAShG,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KACrC,GAAI2mN,GAAgBr4I,EAAOs9B,kBAAoBt9B,EAAOo9B,4BAA6B,CAC/E,MAAMogD,EAAat3C,GAAkBrU,EAASngG,GAC9CylD,OAAsBhzD,IAAfq5J,GAEP,IAAI62F,EAAiBrzC,GAAwBhhI,GAC7C,GAAIq0K,EAAgB,CAChB,MAAMC,EAAgBz3F,GAAgBW,GAItC,GAHA62F,EAAiBnvI,GAAwBmvI,EAAgBziJ,GAIrDpG,GAAgB6oJ,IAChBpqJ,GAAU6L,gBAAgBu+I,IAC1B7oJ,GAAgB8oJ,IAChBrqJ,GAAU6L,gBAAgBw+I,GAGrBt8B,GACGsO,GACAr8H,GAAUmJ,oBAAoBihJ,GAC9BpqJ,GAAUmJ,oBAAoBkhJ,GAC9BziJ,EACAgjB,EACAxP,EACAvY,KAGJurH,GAAe,OAEhB,CACH,MAAM9iE,EAAcv1E,EAAOy+B,kBAAkB,GAGvClwC,EACe,KAAjBgnF,aAAW,EAAXA,EAAalxJ,OAAsCkxJ,EAAYv0D,QAEzD,EADA,EAELw5B,GAAc65H,EAAgBC,EAAez/H,EAAMxP,EAAY92C,EAAOu+B,KACvEurH,GAAe,SAQnCzmH,EAAShG,QAAQgI,YAAYjpF,SAASisF,IAE9BrL,GAAoBqL,IACpB3M,GAAU+L,gBAAgBY,KACzB3M,GAAUqH,UAAUsF,EAAW,YAC/B3M,GAAUqH,UAAUsF,EAAW,aAChCA,EAAUhL,QAAQ6G,eAAepyG,OAAS,IAIrCyhN,EAF4Bn6F,GAAuB/V,EAAUgF,GAClC+Q,GAAuB9V,EAAS+E,GACqB9J,KACjFurH,GAAe,OAKpBA,GA6kIP1jB,0BACA/E,oBACAuB,iBACAy6B,8BACA9wG,YACAi0C,WA9+oBJ,SAAoBn9J,EAAiBm7D,EAAiBj7D,GAClD,OAAOg2N,GAAkC,UAAWl2N,EAASm7D,EAAMj7D,IA8+oBnEk9J,kBACAC,cAx+oBJ,SAAuBliG,EAAiBuvG,GAC/ByrD,GAA8Bh7J,IACd,GAA6BA,GACrC48H,eAAe95B,2BAA2B54C,GAAUv4F,WAAWs7G,kBAAmBsiC,IAs+oB/FpN,cAl+oBJ,SAAuBt9J,EAAiBm7D,GAC/Bg7J,GAA8Bh7J,IACd,GAA6BA,GACrC48H,eAAe75B,2BAA2Bl+J,EAASm7D,IAg+oBhE6sD,iBACAo/E,0BA17oBJ,SACInrI,EACA27H,EACA91E,EACA9hH,EACAE,GAEA,GAAkB,SAAd03L,EACA,OAGJ,MAAMlP,EAAazsH,EAAS87H,eAAeh6B,2BAA2B65B,EAAW53L,EAASE,GAK1F,OAJI4hH,GACA4mE,EAAW7mE,QAAQC,GAGhB4mE,GA26oBP5gE,aACAw0F,mBA7IJ,SAA4B7pN,GACxB,OAAO,GAA+BA,EAAM+0N,EAAiBn3E,eAAgB2gF,KA6I7E49B,iBA92sBJ,WACI,OAAOhnC,EAAU70N,MA82sBjB2uM,sBACAihB,iBACAqG,wBAGE6C,GEh1tBH,SACHtmG,EACAyiG,GAEA,MAAM6mC,EAA0B,IAAIt9O,IAC9Bu9O,EAAsB,IAAIv9O,IAC1Bw9O,EAAiC,IAAIx9O,IAC3C,IAAIy9O,EAAsB,EACtBC,EAA2B,EAk0B/B,SAASnjC,EAAoBjwJ,EAAoB65J,GAC7C,MAAMw5B,EAAqB,IAAI3qN,IAgI/B,GAAIsqN,EAAwBh3O,IAAIgkD,EAASxrD,IACrC,OAAO,EAEXw+O,EAAwBj2P,IAAIijE,EAASxrD,IAAI,GAEzC,IACI,OApIJ,SAAS8+O,EACLtzL,EACA65J,EACAx6H,EAAiB,GAIjB,GAAIA,EADuC,GAEvC,OAAO,EAEXA,IAEA,IAAIk0J,EAAcvzL,EAElB,OAAa,CAGT,GAAIqzL,EAAmBr3O,IAAIu3O,EAAY/+O,IACnC,OAAO,EAMX,GAFA6+O,EAAmB71O,IAAI+1O,EAAY/+O,IAE/B++O,EAAYzyL,MAAQzE,GAAU0E,YAC9B,OAAO,EAGX,GAAIwyL,IAAgB15B,EAChB,OAAO,EAGX,GACI05B,EAAYzyL,OACXzE,GAAUk8H,mBACPl8H,GAAUq8H,WACVr8H,GAAUk7H,cACVl7H,GAAUm7H,eACVn7H,GAAUu8H,eACVv8H,GAAU06H,mBACV16H,GAAU26H,oBACV36H,GAAUo6H,iBACVp6H,GAAUw8H,gBASd06D,EAPsBA,EAOM9hE,eAnBhC,CAuBA,KAAI8hE,EAAYzyL,MAAQzE,GAAUi8H,MAAlC,CAcA,GAAIi7D,EAAYzyL,OAASzE,GAAUk6H,YAAcl6H,GAAUu6H,WAAY,CACnE,GAAI28D,EAAYzyL,MAAQzE,GAAUs6H,mBAAoB,CAGlD,MAAM68D,EAAiBD,EACvB,IACKC,EAAelzL,YAAYja,MAAM4/B,GAC9BwtK,EAA0BxtK,EAAMutK,EAAehlK,WAGnD,OAAO,EAIf,MAAMklK,EAAYH,EAClB,IAAK,MAAM9hE,KAAciiE,EAAUl9D,YAC/B,GAAI88D,EAA6B7hE,EAAYooC,EAAgBx6H,GACzD,OAAO,EAGf,OAAO,EAGX,GAAIk0J,EAAYzyL,MAAQzE,GAAUg6H,MAG9B,OAAOwjC,EAGX,GAAI05B,EAAYzyL,MAAQzE,GAAUm1H,eAE9B,OAD2B+hE,EACA7hE,aAG/B,GAAI6hE,EAAYzyL,MAAQzE,GAAU21H,YAAa,CAC3C,MAAM2hE,EAAsBJ,EACtBK,EAAgBD,EAAoBpiE,eAAeG,aAEzD,IAEI,OADAiiE,EAAoBpiE,eAAeG,cAAe,EAC3C4hE,EACHK,EAAoBliE,WACpBooC,EACAx6H,G,QAGJs0J,EAAoBpiE,eAAeG,aAAekiE,GAM1D,OADA9pM,EAAK,+BACE,EAlEP,CACI,MAAM+pM,EAAeN,EAKrB,GAAIO,EAAeD,EAAav0L,MAC5B,OAAO,EAGXi0L,EAAcM,EAAapiE,cAmE5B6hE,CAA6BtzL,EAAU65J,G,QAE9Cm5B,EAAwBx4O,OAAOwlD,EAASxrD,KAoJhD,SAASu/O,EAAmCn9P,EAAYo7G,GACpD,IAAIrE,GAAe,EAmBnB,OAlBAqG,GAAiBp9G,GAAO8mG,IAChBO,GAAUP,GACLsB,GAAWtB,EAASsU,KACrBrE,GAAe,GAEZjQ,EAAQ+B,WAEV/B,EAAQ+B,UAAUp5C,MACdo5C,GAAcA,EAAU+hG,sBAAwB/hG,EAAU6N,cAAgB0E,EAAQ5D,kBAM3FT,GAAe,MAIhBA,EAOX,SAASmmJ,EAAex0L,GAEpB,GAAI2zL,EAAoBj3O,IAAIsjD,EAAK9qD,IAC7B,OAAOy+O,EAAoB92P,IAAImjE,EAAK9qD,IAIxCy+O,EAAoBl2P,IAAIuiE,EAAK9qD,IAAI,GAEjC,IAAIw/O,EAAoB,EACpBC,EAAe,EAGnB,MAAMl3D,EAAWm3D,EAAwB50L,EAAKhB,gBAC1Cy+H,GACA/oF,GAAiB+oF,GAAWo3D,I,MAIxB,IAAI/oJ,EACJ,GAHA6oJ,IAGIn2J,GAAoBq2J,GAAc,CAIlC,GACIA,EAAYh2J,QAAQmI,oBACpBzI,GAAQs2J,EAAYh2J,QAAQmI,sBAC3B9J,GAAUqH,UAAUswJ,EAAYh2J,QAAQmI,mBAAoB,SAEjCmS,GACxB07I,EAAYh2J,QAAQmI,mBACpB,WACA,IAGA,OAIR,IAAI8tJ,EAAoB37I,GACpB07I,EACA,WACA,IAWJ,QAR0Bz9P,IAAtB09P,IACAA,EAAoB37I,GAChB07I,EACA,UACA,KAIJC,EAAmB,CACnB,MAAMxuC,EAAkBl8F,EAAU0lC,gBAAgBglG,GAClD,GAAIxuC,IACIlnH,GAAWknH,IAAoBjnH,GAAqBinH,IAAkB,CACtE,MAAMyuC,EAAuB3qI,EAAUy+B,iCACnCzxJ,EACAkvN,GAEAyuC,IACAF,EAAcE,UAK3B,GAAIt2J,GAAgBo2J,GAAc,CACrC,MAAMz/B,EAAaj8G,GACf07I,EACA,WAAU,GAGd,GAAIz/B,EAAY,CACZ,MAAM0S,EAAiB19G,EAAU0lC,gBAAgBslE,GACjD,GAAI0S,IACI1oI,GAAW0oI,IAAmBzoI,GAAqByoI,IAAiB,CACpE,MAAMktB,EAAgB5qI,EAAUy+B,iCAA4BzxJ,EAAW0wO,GACnEktB,IACAH,EAAcG,KAOlC,GAAI51J,GAAWy1J,GACX/oJ,EAAe+oJ,OACZ,GAAIx1J,GAAqBw1J,GAAc,CAE1C,MAAMI,EAAqBJ,EAC3B/oJ,EAAempJ,EAAmBpzJ,UAAUozJ,EAAmBpzJ,UAAUvuG,OAAS,GAGtF,GAAIw4G,EAAc,CACd,MAAMpK,EAAaoK,EAAajN,QAAQ2C,mBACxC,GAAIrE,GAAajO,QAAQ4c,GAEjBpK,GACAjD,GAAgBiD,IAChBxE,GAAUqH,UAAU7C,EAAY,cAChCA,EAAWhB,eACXgB,EAAWhB,cAAcptG,QAAU,GAE/BqqG,GAAQ+D,EAAWhB,cAAc,KACR,KAAV,QAAX,EAAA1gC,EAAKviC,cAAM,eAAEshC,WACb21L,SAIT,GAAIhzJ,EACH/D,GAAQ+D,IACRgzJ,SAED,GAAI5oJ,EAAajN,QAAQv+B,eAKvBwrC,EAAajN,QAAQv+B,YAAYk8H,iBACjCr/F,GAAaqP,iBAAiBV,IAC9B3O,GAAa4P,iBAAiBjB,IAC9B3O,GAAa6P,oBAAoBlB,IACpC,CAGE,MAAMopJ,EAAqBppJ,EAAajN,QAAQv+B,YAAYN,KAAKukB,MAAMxhB,WAEvE,IAAIoyL,GAA2B,EAC/B,IAAK,MAAMjzL,KAAagzL,EAAoB,CACxC,GAC2B,KAAvBhzL,EAAUnD,UACsB,IAAhCmD,EAAUa,WAAWzvE,OAErB,MAGJ,MAAMs0E,EAAkB1F,EAAUa,WAAW,GAC7C,GAAiC,KAA7B6E,EAAgB7I,SAApB,CAIA,GACiC,KAA7B6I,EAAgB7I,UAChB6I,EAAgB0iB,eAClB,CAEE,MAAM8qK,EAAwBp1L,GAER,MAAdA,aAAI,EAAJA,EAAMjB,WACS,wBAAfiB,EAAKpqE,OAITw/P,EAAqBxtL,EAAgB0iB,iBAGO,IAA5C1iB,EAAgB0iB,eAAevrB,UAC/Bq2L,EAAqBxtL,EAAgB0iB,eAAetrB,mBAHpDm2L,GAA2B,GASnC,OAICA,GACA/qI,EAAUipF,qBAAqBvnG,EAAajN,QAAQv+B,YAAYN,OAEjE00L,SASxB,MAAMW,EAAiBV,EAAe,GAAKD,IAAsBC,EAKjE,OAFAhB,EAAoBl2P,IAAIuiE,EAAK9qD,GAAImgP,GAE1BA,EASX,SAASlB,EAA0Bn0L,EAAsBkvB,G,MAErD,GAAI0kK,EAA+Bl3O,IAAIsjD,EAAK9qD,IACxC,OAAO0+O,EAA+B/2P,IAAImjE,EAAK9qD,IAInD0+O,EAA+Bn2P,IAAIuiE,EAAK9qD,IAAI,GAE5C,IACIogP,EADAC,GAAuB,EAG3B,GAAsB,IAAlBv1L,EAAKjB,SAAiC,CACtC,MAAM0+H,EAAWm3D,EAAwB50L,EAAKhB,gBAC9C,GAAIy+H,EACA,GAAIj/F,GAAoBi/F,GACpB63D,EAASv+I,GAAkB0mF,QACxB,GAAIr+F,GAAWq+F,GAClB63D,EAAS73D,EAAS5+F,QAAQ2C,wBACvB,GAAInC,GAAqBo+F,GAAW,CAIvC,MAAM+3D,EAAgB/3D,EAAS57F,UAAUh+B,MAAM8zC,GAAaxa,GAAayP,aAAa+K,KAClF69I,IACAF,EAASE,EAAc32J,QAAQ2C,0BAIlB,KAAlBxhC,EAAKjB,WACZu2L,EAASlrI,EAAU2uG,6BAA6B/4J,IAGpD,GAAIs1L,GAAU72J,GAAgB62J,GAAS,CACnC,MAAM/U,EAAiBrxJ,EAAU,YAAc,WACzCumK,EAA0E,QAA/D,EAAArrI,EAAU28E,wBAAwB/mI,EAAMs1L,EAAQ/U,UAAe,eAAEjpP,KAElF,GAAIm+P,GAAYr2J,GAAWq2J,IAAaA,EAAS52J,QAAQ2C,mBAAoB,CACzE,MAAME,EAAa+zJ,EAAS52J,QAAQ2C,mBACpC+zJ,EAAuB92J,GAAgBiD,IAAexE,GAAUqH,UAAU7C,EAAY,SAO9F,OAFAkyJ,EAA+Bn2P,IAAIuiE,EAAK9qD,GAAIqgP,GAErCA,EAGX,SAASG,EAA0Bh1L,EAA8B/7D,GAC7D,MAAMs7D,EAAaF,GAAcW,EAASV,KAAK51D,QAC/CggD,OAAsBhzD,IAAf6oE,GAA4BA,EAAWiD,eAC9C9Y,EAAOsW,EAASV,KAAKsE,kBAErB,MAAM+1E,EAAkBjwB,EAAU6vB,sBAAsBv5E,EAASV,KAAMr7D,GAA0B,GACjGylD,OAA2BhzD,IAApBijJ,GACP,MACMs7G,EADQt7G,EAAiBpnE,OAAOy+B,kBACX7tC,MAAMrD,GAASA,EAAKR,OAASU,EAASV,OAEjE,OAAK21L,GAIEvrI,EAAU+2H,6BAA6B9mG,EAAiBpnE,OAAQ0iL,IAH5D34J,GAAYvyF,SAM3B,SAASwpM,EAAwBhhI,EAAgBu2G,G,MAC7C,MAAMlyL,EAAO8yH,EAAU6pF,wBAAwBhhI,GAC/C,GAAI37E,EACA,OAAOA,EAOX,MAAMuhJ,EAAe5lE,EAAOy+B,kBAAkBvwD,QAAQqf,IAAUA,EAAKq0B,kBACrE,GAA4B,IAAxBgkD,EAAavlJ,OACb,OAGJ,MAAMktE,EAAOq4E,EAAaA,EAAavlJ,OAAS,GAChD,OAAkB,IAAdktE,EAAKlpE,KAGH,QAFK,EAAA8yH,EAAUyiF,uBAAuBrsI,EAAKR,KAAKr7D,MAAO,KACrDylH,EAAUq3H,wBAAwBjhL,EAAKR,gBACzC,eAAE1oE,KAMU,IAAdkpE,EAAKlpE,MAAkCkyL,EAChCp/D,EAAU+2H,6BAA6BluK,EAAQzS,QAD1D,EAYJ,SAASo0L,EAAwB50L,GAC7B,GAAsB,KAAlBA,EAAKjB,SAAiC,CACtC,MAAMs7E,EAAkBjwB,EAAU6vB,sBAAsBj6E,EAAMA,EAAKpqE,OAA2B,GAC9F,IAAKykJ,EACD,OAGJ,OAAO45D,EAAwB55D,EAAgBpnE,OAAQonE,EAAgBmvC,wBAG3E,GAAsB,KAAlBxpH,EAAKjB,SAAyC,CAC9C,MAAMY,EAAaK,EAAKL,WAAW/pE,MACnC,IAAIi4H,EAAW+mI,EAAwB50L,EAAKhB,gBAC5C,IAAK6uD,EACD,OAGJA,EAAWzD,EAAU82B,6BAA6BrzB,GAElD,MAAM+nI,EAAuBx/I,GAAYyX,GAAWzvB,I,MAChD,IAAInrB,EACJ,GAAIyrB,GAASN,GACTnrB,EAASgqB,GAAWgJ,SAAS7H,EAASz+B,QACnC,GAAI4+B,GAAQH,GAAU,CACzB,MAAMszH,EAAkBv4G,GAAkB/a,EAASz+B,GACnDsT,EAASy+I,EAAkBA,EAAgBz+I,YAAS77E,EAGxD,OAAK67E,GAQqE,QAAnE,EAAAghI,EAAwBhhI,GAAqC,UAAM,QAP/D+pB,GAAYvyF,YAU3B,IAAKkzF,GAAQi4J,GACT,OAAOA,EAIf,GAAsB,IAAlB51L,EAAKjB,SAAiC,CACtC,MAAM8uD,EAAW+mI,EAAwB50L,EAAKhB,gBAC9C,IAAK6uD,EACD,OAGJ,GAAIA,GAAYrvB,GAAoBqvB,GAEhC,OADa9W,GAAkB8W,GAInC,GAAIzuB,GAAWyuB,GACX,OAAOA,EAAShvB,QAAQ2C,oBAOpC,MAAO,CACHygJ,uBA99CJ,WACI,MAAM4T,EAAuB,IAAIz/O,IAmzBjC,MAAO,CACHokN,oBAlzBJ,SACI95J,EACA5B,EACAo6H,EACAs4B,EACAC,GAEA,MAAM1hC,OAA6B34L,IAAd0nE,EAA0BY,GAAsBZ,QAAa1nE,EAClF,IAAI0+P,EACJ,MAAMC,OACe3+P,IAAjB24L,QAAiD34L,IAAnB8hM,EACxBnJ,EAAe,IAAImJ,EAAephM,aAClC,IACV,IAAIk+P,EAAoBH,EAAqBh5P,IAAIk5P,GAOjD,SAASE,EACLv1L,EACAppE,EACAgkC,GAEA,GAAKA,EAEE,CACH,MAAMwoC,EAAYkyL,EAAmBn5P,IAAI6jE,EAASxrD,IAClD,QAAkB9d,IAAd0sE,EACAgwL,SACG,GAAIx8P,GAASwsE,EAA6BsgJ,iBAAkB,CAC/D,MAAM8xC,EAAqBpyL,EACvBoyL,EAAmB5+P,OAASooG,GAAWw2J,EAAmB5+P,KAAMA,IAChEw8P,UARRA,IAgBJ,MAAM/hM,EAAgCz2B,EAChC,CACI8oL,kBAAkB,EAClB9sN,OACA6+P,mBAAoB,GACpBC,gBAAiBtC,GAErBx8P,EAKN,OAHA0+P,EAAmBv4P,IAAIijE,EAASxrD,GAAI68C,GACpC86J,EAAuB9H,WAAWixC,EAAoBt1L,EAASxrD,IAExD,CACH5d,OACAgkC,eACA86N,gBAAiBtC,EACjBqC,mBAAoB76N,EAAe,QAAKlkC,GAIhD,SAASi/P,EACL31L,EACAj+C,EACAnrB,EACAgkC,EACAg7N,GAEA,MAAMtjL,EAAcgjL,EAAmBn5P,IAAI6jE,EAASxrD,SAChC9d,IAAhB47E,GAA8BoxI,GAAiBpxI,IAC/CxoB,EAAK,6EAGT,MAAM+rM,EAAoBvjL,EAAYmjL,mBACtC,GAAI1zO,EAAQ8zO,EAAkBjjQ,OAAQ,CAClC,MAAMsmP,EAAW2c,EAAkB9zO,GAE/Bm3N,EAASt+M,eAAiBA,QACRlkC,IAAlBwiP,EAAStiP,WACAF,IAATE,GACCooG,GAAWk6I,EAAStiP,KAAMA,GAIpBsiP,EAAS0c,YAAcA,IAC9BC,EAAkB9zO,GAAS,CAAEnrB,OAAMgkC,eAAcg7N,eAHjDC,EAAkB9zO,GAAS,CAAEnrB,OAAMgkC,eAAcg7N,aACjDxC,UAKJ1pM,EAAOmsM,EAAkBjjQ,SAAWmvB,GACpC8zO,EAAkB5iQ,KAAK,CAAE2D,OAAMgkC,eAAcg7N,cAC7CxC,IAGJ,OAAO0C,EAAc91L,GAGzB,SAAS+1L,EAA4B/1L,G,MACjC,MAAMsS,EAAcgjL,EAAmBn5P,IAAI6jE,EAASxrD,IAOpD,YANoB9d,IAAhB47E,GAA8BoxI,GAAiBpxI,IAC/CxoB,EAAK,oFAGTwoB,EAAY0jL,qBAAsD,QAA/B,EAAA1jL,EAAY0jL,2BAAmB,QAAI,GAAK,EAEpE1jL,EAAY0jL,oBAGvB,SAASC,EAAkCj2L,EAAoB6I,GAAQ,G,MACnE,MAAMyJ,EAAcgjL,EAAmBn5P,IAAI6jE,EAASxrD,IACpD,YAAoB9d,IAAhB47E,GAA8BoxI,GAAiBpxI,IAK/CA,EAAY4jL,0BADZrtL,EACwC,GAEsC,QAArC,EAAAyJ,EAAY4jL,iCAAyB,QAAI,GAAK,EAGpF5jL,EAAY4jL,2BATR,EAYf,SAASJ,EAAc91L,GACnB,IAAKs1L,EAAmBt5O,IAAIgkD,EAASxrD,IACjC,OAGJ,MAAM89D,EAAcgjL,EAAmBn5P,IAAI6jE,EAASxrD,IACpD,QAAoB9d,IAAhB47E,EACA,MAAO,CACH17E,KAAM07E,EACN13C,cAAc,GAItB,IAAK8oL,GAAiBpxI,GAClB,MAAO,CACH17E,KAAM07E,EACN13C,cAAc,GAItB,IAAIhkC,EAAO07E,EAAY17E,KAEvB,GAAI07E,EAAYmjL,mBAAmB7iQ,OAAS,EAAG,CAG3C,MAAMkhO,EAAyB,GAC/BxhJ,EAAYmjL,mBAAmBv4O,SAASinC,IAChCA,EAAEvtD,MACFk9N,EAAe7gO,KAAKkxD,EAAEvtD,SAG9BA,EAAOk9N,EAAelhO,OAAS,EAAIgwG,GAAakxH,QAAkBp9N,EAGtE,MAAO,CACHE,OACAgkC,cAAc,EACd66N,mBAAoBnjL,EAAYmjL,mBAChCC,gBAAiBpjL,EAAYojL,iBAIrC,SAASS,EAAiBn2L,GACtBs1L,EAAmB96O,OAAOwlD,EAASxrD,IAGvC,SAAS4hP,EAA2Bp2L,GAIhC,IAAIq2L,EAAgCr2L,EAASV,KAC7C,MAAMqlD,EAAa3kD,EAASV,KAAKviC,OAOjC,OANI4nF,IAC4B,KAAxBA,EAAWtmD,UAA+D,KAAxBsmD,EAAWtmD,WAC7Dg4L,EAAqB1xI,IAItB+E,EAAUyiF,uBAAuBkqD,GAAoB,KACxD3sI,EAAU6gF,0BAA0BvqI,EAASV,SA6mBrD,OArxBKg2L,IACDA,EAAoB,IAAI5/O,IACxBy/O,EAAqBp4P,IAAIs4P,EAA0BC,IAmxBlDt1L,EAtmBL,SAASs2L,EACLt2L,EACA5B,EACAo6H,EACAs4B,EACAC,G,MAEA,IAAIwiC,EAAcvzL,EAGlB,MAAMu2L,EAA6BpD,EAQnC,IAPAA,IAKAzpI,EAAUyjG,yBAEG,CAET,MAAM76I,EAAcwjL,EAAcvC,GAClC,GAAIjhL,EAAa,CACb,IAAKA,EAAY13C,aACb,OAAO03C,EAKX,GAAIA,EAAYojL,kBAAoBtC,EAChC,MAAO,CACHx8P,MAAM07E,aAAW,EAAXA,EAAa17E,MAAOyrG,GAAuB/vB,EAAY17E,WAAQF,EACrEkkC,cAAc,GAK1B,GAAI24N,EAAYzyL,MAAQzE,GAAU0E,YAI9B,OAAOw0L,EAAchC,OAAa78P,GAA8B,GAGpE,GAAI68P,EAAYzyL,MAAQzE,GAAUk8H,mBAE9Bg7D,EAD0BA,EACM9hE,gBAIpC,GAAI8hE,EAAYzyL,MAAQzE,GAAUi8H,KAAlC,CACI,MAAMu7D,EAAeN,EAKrB,GAAIO,EAAeD,EAAav0L,MAC5B,OAAOi2L,EAAchC,OAAa78P,GAA8B,GAGpE68P,EAAcM,EAAapiE,gBAI/B,GAAI8hE,EAAYzyL,MAAQzE,GAAUq8H,WAAlC,CACI,MAAM89D,EAAqBjD,EAI3B,GAAIn1L,EAAW,CACX,GACIo6H,IAAmBg+D,EAAmBh+D,gBACtCtoG,GAAqB9xB,EAAWo4L,EAAmBl3L,MACrD,CAGE,GAAIi0L,EAAYzyL,MAAQzE,GAAUs8H,OAC9B,OAAO48D,EAAchC,EAAal3J,GAAYtyF,UAA6B,GAM/E,GAAIuoE,QAAoC57E,IAArB47E,EAAY17E,KAC3B,MAAO,CAAEA,UAAMF,EAAWkkC,cAAc,GAK5C26N,EACIhC,EACAn1L,OAAY1nE,EAAYo6N,GACL,GAEvB,IAAI2lC,EAAiBL,EAA2BI,GAWhD,OAVIC,IACIvgJ,GAAuBugJ,EAAe7/P,OAGf,KAAvBwnE,EAAUC,UACVqrD,EAAUynI,iCAAiCqF,EAAmBl3L,SAH9Dm3L,OAAiB//P,GAQlB6+P,EAAchC,EAAakD,aAAc,EAAdA,EAAgB7/P,QAAQ6/P,aAAc,EAAdA,EAAgB77N,eACvE,GAAIy1D,GAA4BjyB,EAAWo4L,EAAmBl3L,MAOjE,MAAO,CACH1oE,KAAMk6N,EACNl2L,aAAcm2L,GAK1BwiC,EAAciD,EAAmB/kE,eAxDrC,CA4DA,GAAI8hE,EAAYzyL,MAAQzE,GAAUk6H,YAAa,CAC3C,MAAMmgE,EAAiBnD,EACvB,GAAIA,EAAYzyL,MAAQzE,GAAUs6H,mBAAoB,CAGlD,MAAM68D,EAAiBD,EAKvB,GAJyCC,EAAelzL,YAAYja,MAAM4/B,GACtEwtK,EAA0BxtK,EAAMutK,EAAehlK,aAGVglK,EAAe98D,0BAEpD,OAAO6+D,EAAchC,OAAa78P,GAA8B,GAMxE,GAAI0nE,GAAas4L,EAAepgE,qBAAuBogE,EAAepmE,sBAC7D8kE,IACDA,EAA6Bh2L,GAAqChB,KAIjEg3L,EAA2B/uM,MAAMzsC,GAC9B88O,EAAepmE,oBAAqBt0K,IAAIpC,MAE5Cq2M,EAAoBsjC,EAAamD,EAAepgE,sBAClD,CACEi9D,EAAcmD,EAAepgE,oBAC7B,SAIR,MAAMo9D,EAAYH,EACZz/B,EAAyB,GAE/B,IAAI6iC,GAAgB,EAIpBpB,EAAchC,EAAan1L,OAAY1nE,EAAYo6N,GAAgC,GAEnF4iC,EAAUl9D,YAAYt5K,SAASu0K,IAC3B,MAAMglE,EAAiBH,EACnB7kE,EACArzH,EACAo6H,EACAs4B,EACAC,GAGA0lC,EAAe77N,eACf+7N,GAAgB,GAGhBF,EAAe7/P,MACfk9N,EAAe7gO,KAAKwjQ,EAAe7/P,SAI3C,MAAMw4N,EACAhxJ,GAAa01J,EAAelhO,OAAS,EAAIgwG,GAAakxH,QAAkBp9N,EAS9E,OAJIy8P,EAAsBoD,EA7YZ,QA8YVI,GAAgB,GAGbpB,EAAchC,EAAankC,EAAeunC,GAGrD,GAAIpD,EAAYzyL,MAAQzE,GAAUu6H,UAAW,CACzC,MAAMggE,EAAWrD,EAKjB,GAAIn1L,IACKg3L,IACDA,EAA6Bh2L,GAAqChB,KAGjEg3L,EAA2B/uM,MAAMzsC,GAAQg9O,EAAStmE,oBAAqBt0K,IAAIpC,MAAO,CACnF25O,EAAcqD,EAASpgE,YAAY,GACnC,SAIR,IAII84B,EAJAqnC,GAAgB,EAGhBE,EAAaf,EAAcvC,QAGZ78P,IAAfmgQ,EAEAA,EAAatB,EACThC,EACAn1L,OAAY1nE,EAAYo6N,GACL,GAGvBxB,EAAcunC,EAAWjgQ,KAG7B,MAAMkgQ,OACgCpgQ,IAAlCmgQ,EAAWpB,oBACXoB,EAAWpB,mBAAmBpvM,MAAMq3C,GAAYA,EAAQk4J,YACtDmB,EAAahB,EAA4BxC,GAK/C,GAAIuD,IAA4C,QAA7B,EAAAD,EAAWpB,0BAAkB,eAAE92O,OAAO++E,GAAYA,EAAQk4J,aACzE,MAAO,CACHh/P,KAAMigQ,EAAWjgQ,KACjBgkC,cAAc,GA8DtB,GA1DAg8N,EAASpgE,YAAYt5K,SAAQ,CAACu0K,EAAY1vK,K,MACtC80O,EAAaf,EAAcvC,GAK3B,MAAMyD,OACgCtgQ,IAAlCmgQ,EAAWpB,oBACX1zO,EAAQ80O,EAAWpB,mBAAmB7iQ,OAChCikQ,EAAWpB,mBAAmB1zO,QAC9BrrB,EACV,QACqBA,IAAjBsgQ,KACEA,aAAY,EAAZA,EAAcpB,aAAaoB,aAAY,EAAZA,EAAcp8N,cAC7C,CAGEi8N,EAAalB,EACTpC,EACAxxO,EACkB,QAAlB,EAAAi1O,aAAY,EAAZA,EAAcpgQ,YAAI,QAAKwnE,OAAY1nE,EAAYo6N,GAC5B,GACH,GAGpB,IACI,MAAM2lC,EAAiBH,EACnB7kE,EACArzH,EACAo6H,EACAs4B,EACAC,GAGA0lC,EAAe77N,eACf+7N,GAAgB,GAGpBE,EAAalB,EACTpC,EACAxxO,EACA00O,EAAe7/P,KACf6/P,EAAe77N,cACC,GAEtB,MAAO/+B,GAQL,MAPA85P,EACIpC,EACAxxO,OACArrB,GACmB,GACH,GAEdmF,OAKdi7P,EAAa,CASb,IAAIl8N,EACAm8N,GA7gBE,GA8gBIF,EAAWpB,mBAAoB,GAAG76N,kBACpBlkC,IAAd0nE,EASV,OAJI+0L,EAAsBoD,EAhhBhB,QAihBN37N,GAAe,GAGZ,CACHhkC,KAAMigQ,EAAWjgQ,KACjBgkC,gBAqBR,OAfI+7N,GAAiBrnC,GAAeunC,EAAWjgQ,OACvCooG,GAAWswH,EAAaunC,EAAWjgQ,MAI/Bq/P,EAAkCj2L,GAAY,IAC9C22L,GAAgB,GAIpBV,EAAkCj2L,GAAsB,IAK5D22L,EAMO,CACH//P,MAAMigQ,aAAU,EAAVA,EAAYjgQ,MAAOyrG,GAAuBw0J,EAAWjgQ,WAAQF,EACnEkkC,cAAc,GAMf26N,EAAchC,EAAasD,EAAYjgQ,MAAyB,GAG3E,GAAI28P,EAAYzyL,OAASzE,GAAUk7H,cAAgBl7H,GAAUm7H,gBAA7D,CACI,MAAMK,EAAsB07D,EAE5B,GAAIn1L,EAAW,CAGXm3L,EAAchC,EAAan1L,OAAY1nE,EAAYo6N,GAAgC,GAEnF,IACI,MAAMmmC,EAAwB76D,GAC1B1yE,EACAtrD,EACAy5H,EAAoBluI,cAEhBkuI,EAAoB/2H,OACnBzE,GAAUk7H,cAAgBl7H,GAAU06H,sBAI7C,GAAIkgE,EAAuB,CACvB,MAAMR,EAAiBH,EACnBz+D,EAAoBpG,WACpBrzH,EACAo6H,EACAs4B,EACAC,GAEJ,IAAImmC,EAAWT,EAAe7/P,KAK9B,OAJIsgQ,IACAA,EAAWD,EAAsBC,IAG9B3B,EAAchC,EAAa2D,EAAUT,EAAe77N,cAG/Du7N,EAAiB5C,GACnB,MAAO13P,GAIL,MADAs6P,EAAiB5C,GACX13P,GAId03P,EAAc17D,EAAoBpG,gBAItC,GAAI8hE,EAAYzyL,OAASzE,GAAU06H,mBAAqB16H,GAAU26H,qBAAlE,CACI,MAAMa,EAAsB07D,EAC5B,GAAI17D,EAAoBz5H,WAIhBY,GAAsB64H,EAAoBz5H,aAAeixH,EAAc,CAIvE,MAAM11C,EAAkBjwB,EAAU6vB,sBAC9Bs+C,EAAoBz5H,UACpBy5H,EAAoBz5H,UAAUlpE,OACV,GAExB,GAAIykJ,GAAmBA,EAAgBpnE,OAAO2+B,uBAAuBt+G,OAAS,EAAG,CAG7E2iQ,EACIhC,EACAn1L,OAAY1nE,EAAYo6N,GACL,GAGvB,IACI,MAAMmmC,EAAwB76D,GAC1B1yE,EACAmuE,EAAoBz5H,UACpBy5H,EAAoBluI,cAEhBkuI,EAAoB/2H,OACnBzE,GAAUk7H,cAAgBl7H,GAAU06H,sBAI7C,GAAIkgE,EAAuB,CACvB,MAAME,EAAcztI,EAAU8D,oBAC1BqqE,EAAoBz5H,WAMxB,GAAI6+B,GAHAg6J,EAAsBE,EAAYvgQ,OAASugQ,EAAYvgQ,MAIvD,OAAO2+P,EACHhC,OACA78P,IACEygQ,EAAYv8N,cAK1Bu7N,EAAiB5C,GACnB,MAAO13P,GAIL,MADAs6P,EAAiB5C,GACX13P,IAKtB03P,EAAc17D,EAAoBpG,gBAItC,GAAI8hE,EAAYzyL,MAAQzE,GAAUw8H,eAAlC,CACI,MAAMu+D,EAAyB7D,EACzBrnD,EAAqBxiF,EAAUyiF,uBAAuBirD,EAAuB93L,MAAM,KACrFoqD,EAAU0iF,0BAA0BgrD,EAAuB93L,SAI/D,GAAI4sI,GAAsBjvG,GAAQivG,EAAmBt1M,MACjD,OAAO2+P,EAAchC,OAAa78P,IAAaw1M,EAAmBtxK,cAGtE24N,EAAc6D,EAAuB3lE,gBAIzC,GAAI8hE,EAAYzyL,MAAQzE,GAAUo6H,iBAAlC,CACI,MAAM4gE,EAAkB9D,EACxB,IAAKn1L,GAAa8xB,GAAqB9xB,EAAWi5L,EAAgBzwK,mBAAoB,CAClF,MAAMioI,EAAanlG,EAAUyiF,uBAAuBkrD,EAAgB71L,WAAW,KAChC,KAAvC61L,EAAgB71L,UAAUnD,SAC1BqrD,EAAU22H,yBAAyBgX,EAAgB71L,WAEnDkoD,EAAU0iF,0BAA0BirD,EAAgB71L,cAG5D,GAAIqtJ,EAAY,CACZ,GAAKzwJ,EAKD,OAAOm3L,EAAchC,EAAa1kC,EAAWj4N,OAAQi4N,EAAWj0L,cAJhE,GAAIqiE,GAAQ4xH,EAAWj4N,MACnB,OAAO2+P,EAAchC,OAAa78P,IAAam4N,EAAWj0L,eAO1E24N,EAAc8D,EAAgB5lE,eApBlC,CAwBA,GAAI8hE,EAAYzyL,MAAQzE,GAAUm1H,eAAgB,CAC9C,MAAM8lE,EAAqB/D,EAC3B,GAAI+D,EAAmB5lE,aACnB,MAAO,CAAE96L,UAAMF,EAAWkkC,cAAc,GAI5C26N,EAAchC,EAAan1L,OAAY1nE,EAAYo6N,GAAgC,GAEnF,IACI,MAAM2lC,EAAiBH,EACnBgB,EAAmB7lE,WACnBrzH,EACAo6H,EACAs4B,EACAC,GAMJ,OAFAolC,EAAiB5C,GAEV,CACH38P,KAAM6/P,EAAe7/P,KACrBgkC,aAAc67N,EAAe77N,cAEnC,MAAO/+B,GAEL,MADAs6P,EAAiB5C,GACX13P,GAId,GAAI03P,EAAYzyL,MAAQzE,GAAU21H,YAAa,CAC3C,MAAM2hE,EAAsBJ,EACtBK,EAAgBD,EAAoBpiE,eAAeG,aACzD,IAEI,IAAI+kE,EAgBJ,OAjBA9C,EAAoBpiE,eAAeG,cAAe,EAMlDhoE,EAAUm8E,mBAAmB8tD,EAAoB1hE,aAAa,KAC1DwkE,EAAiBH,EACb3C,EAAoBliE,WACpBrzH,EACAo6H,EACAs4B,EACAC,MAKD0lC,EAAgB77N,aACjB67N,EACAlB,EAAchC,EAAakD,EAAgB7/P,MAAyB,G,QAE1E+8P,EAAoBpiE,eAAeG,aAAekiE,GAI1D,GAAIL,EAAYzyL,MAAQzE,GAAUg6H,MAC9B,OAAOk/D,EAAchC,EAAaziC,EAAaC,GAGnD,KAAIwiC,EAAYzyL,MAAQzE,GAAUu8H,gBA4BlC,OADA9uI,EAAK,8BACEyrM,EAAchC,OAAa78P,GAA8B,GA5BhE,CACI,MAAM6gQ,EAAyBhE,EAC/B,GAAIn1L,GAAoC,KAAvBA,EAAUC,SAAiC,CACxD,MAAMsmG,EAAYvmG,EAAUlpE,MAC5B,GAAIqiQ,EAAuB52L,MAAMta,MAAMpiD,GAASA,IAAS0gK,IAAY,CAEjE4wF,EACIhC,EACAn1L,OAAY1nE,EAAYo6N,GACL,GAGvB,IACI,MAAMl6N,EAAOo+P,EAA0BuC,EAAwB5yF,GAC/D,OAAO4wF,EAAchC,EAAa38P,GAAyB,GAC7D,MAAOiF,GAEL,MADAs6P,EAAiB5C,GACX13P,IAKlB03P,EAAcgE,EAAuB9lE,eAqB1C6kE,CAAoBt2L,EAAU5B,EAAWo6H,EAAgBs4B,EAAaC,GANlE,CACHn6N,KAAMk6N,EACNl2L,aAAcm2L,MAkrB1Bd,sBACArlB,yBAnhBJ,SAAkC5qI,EAAoBgyC,GAClDtoD,GAAQsoD,EAAQ7T,QAAQM,aACxB/0C,GAAQsoD,EAAQ7T,QAAQC,YACxB10C,GAAQsoD,EAAQ7T,QAAQY,WACxBr1C,EAAOsoD,EAAQ7T,QAAQ8D,YAAYrvG,OAAS,GAE5C,MAAMygQ,EAAqB,IAAI3qN,IACzB8uN,EAAmC,GAEzC,IAAK,MAAM9T,KAAc1xI,EAAQ7T,QAAQ8D,YAAa,CAClD,IAAIlE,GAAgB2lJ,GAKhB,OAJA8T,EAAoBvkQ,KAAKywP,GAyHjC,MAAM+T,EAjHN,SAASC,EAAkC13L,EAAoBgyC,GAC3D,IAAIuhJ,EAAcvzL,EAElB,OAAa,CACT,GAAIqzL,EAAmBr3O,IAAIu3O,EAAY/+O,IACnC,OAAOgjP,EAGX,GAAIjE,EAAYzyL,OAASzE,GAAU0E,YAAc1E,GAAUg6H,OACvD,OAAOmhE,EAGX,GACIjE,EAAYzyL,OACXzE,GAAUk8H,mBACPl8H,GAAUq8H,WACVr8H,GAAUu8H,eACVv8H,GAAU06H,mBACV16H,GAAU26H,oBACV36H,GAAUo6H,iBACVp6H,GAAUw8H,eACVx8H,GAAU21H,YACV31H,GAAUm1H,eACVn1H,GAAUi8H,MAWdi7D,EATsBA,EASM9hE,eAtBhC,CA0BA,KAAI8hE,EAAYzyL,OAASzE,GAAUk7H,cAAgBl7H,GAAUm7H,iBAA7D,CAiDA,GAAI+7D,EAAYzyL,OAASzE,GAAUk6H,YAAcl6H,GAAUu6H,WAAY,CACnE,MAAM88D,EAAYH,EACZoE,EAA8B,GAGpCtE,EAAmB71O,IAAI+1O,EAAY/+O,IACnC,IAAK,MAAMi9K,KAAciiE,EAAUl9D,YAAa,CAC5C,MAAMohE,EAAmBF,EAAkCjmE,EAAYz/E,GAEvE,IAAK,MAAM0xI,KAAckU,EAChBD,EAAetxM,MAAMlC,GAAM66C,GAAW76C,EAAGu/L,MAC1CiU,EAAe1kQ,KAAKywP,GAMhC,OAFA2P,EAAmB74O,OAAO+4O,EAAY/+O,IAE/BmjP,EAKX,OADA7tM,EAAK,8BACE0tM,EAvEP,CACI,MAAMK,EAAoBtE,EACpB5wK,EAAiBk1K,EAAkBluM,WACnCktI,EAAmE,IAAjD08D,EAAYzyL,MAAQzE,GAAUk7H,eAEtD,GACgC,IAA5B50G,EAAetkB,UAC4B,KAA3CskB,EAAerkB,eAAeD,UACU,eAAxCskB,EAAerkB,eAAeppE,OACM,IAApCytF,EAAerrF,UAAU1E,OAC3B,CACE,MAAMisM,EAAWl8G,EAAerrF,UAAU,GAAGonE,gBAI7C,GAAIq1L,EAFarqI,EAAU8D,oBAAoBqxE,GAAUjoM,KAERo7G,GAAU,CAEvDqhJ,EAAmB71O,IAAI+1O,EAAY/+O,IACnC,MAAMsjP,EAA4BJ,EAC9BG,EAAkBpmE,WAClBz/E,GAEJqhJ,EAAmB74O,OAAO+4O,EAAY/+O,IAEtC,MAAMsqL,EAAWn8G,EAAerrF,UAAU,GAAGonE,gBACvCqyI,EAAWrnF,EAAU8D,oBACvBsxE,OACApoM,EACA,KAGFE,KAEF,GAAIknG,GAAoBizG,GACpB,OAAO+mD,EAA0Br3M,QAAQi9C,GACjClB,GAAU+C,mBAAmB7B,EAASqzG,GAC/Bla,GAECA,KAO5B08D,EAAcsE,EAAkBpmE,cA8BZimE,CAAkC13L,EAAUgyC,GAG5E,OAA0C,IAAnCylJ,EAAwB7kQ,OAAe6kQ,EAAwB,QAAK/gQ,IF+urBxDqhQ,CAAkBl/B,GAAoB1M,GAE7D,OAAO0M,GGj5tBX,MAAMm/B,GACFn0P,YAAmB0gE,GAAA,KAAAA,aAEnB,KAAA0zL,YAAa,GAGjB,MAAMC,WAAwBF,GAC1Bn0P,YAAY0gE,EAA2BR,EAAkCwO,GACrEzuE,MAAMygE,GAD6B,KAAAR,QAAkC,KAAAwO,UAY7E,MAAM4lL,WAA0BH,GAG5Bn0P,YAAY0gE,EAA2BX,EAAkCtE,GACrEx7D,MAAMygE,GAD6B,KAAAX,mBAAkC,KAAAtE,OAFzE,KAAAovF,QAAiC,GAMjCu6B,UAAU12G,EAA4BtuE,EAAc8/D,EAA2Bk0L,GAAa,GACnFrgQ,KAAK82J,QAAQvrF,MAAM/8D,GAAMA,EAAEnC,OAASA,KACrCrM,KAAK82J,QAAQz7J,KAAK,CACds/E,SACAtuE,OACA8/D,QACAk0L,gBAMhB,MAAMG,WAA2B,GAC7Bv0P,YAAoBw0P,EAAwDC,GACxEx0P,QADgB,KAAAu0P,2BAAwD,KAAAC,yBAI5Ep+K,QAAQ5a,GACJ1nE,KAAK+vF,KAAKroB,GAGLqoB,KAAKroB,GACL,GAAmCA,IACpCx7D,MAAM6jF,KAAKroB,GAIVorB,UAAUprB,GAEf,OADA1nE,KAAKygQ,yBAAyBt7P,IAAIuiE,EAAKpqE,OAAO,IACvC,EAGFq1F,kBAAkBjrB,GACvB,MAAMP,EAAiBnnE,KAAK2gQ,oCAAoCj5L,EAAKhB,gBAMrE,OAJIS,GACAnnE,KAAKygQ,yBAAyBt7P,IAAI,GAAGgiE,KAAkBO,EAAKL,WAAW/pE,SAAS,IAG7E,EAGFy2F,YAAYrsB,GAKjB,OAJI1nE,KAAK0gQ,wBACL1gQ,KAAKygQ,yBAAyBt7P,IAAIuiE,EAAKpqE,OAAO,IAG3C,EAGHqjQ,oCAAoCj5L,GACxC,GAAsB,KAAlBA,EAAKjB,SACL,OAAOiB,EAAKpqE,MAGhB,GAAsB,KAAlBoqE,EAAKjB,SAAyC,CAC9C,MAAMU,EAAiBnnE,KAAK2gQ,oCAAoCj5L,EAAKhB,gBACrE,IAAKS,EACD,OAGJ,MAAO,GAAGA,KAAkBO,EAAKL,WAAW/pE,UAOjD,MAAMsjQ,WAAuB,GAehC30P,YAAoB40P,EAA2BC,EAAiCr3I,GAC5Ev9G,QADgB,KAAA20P,YAA2B,KAAAC,cAAiC,KAAAr3I,aAdxE,KAAAs3I,cAAgB,EAChB,KAAAC,oBAAqB,EACrB,KAAAC,cAAgB,GAChB,KAAAC,SAAW,KACX,KAAAC,KAAO,OACP,KAAAC,gBAAkB,EAClB,KAAAC,mBAAqB,EACrB,KAAAC,aAAe,EACf,KAAAC,eAAgB,EAChB,KAAAC,gBAAiB,EACjB,KAAAC,iBAAmB,IAAI3jP,IACvB,KAAA4jP,mBAAqB,IAAI5jP,IACzB,KAAA2iP,yBAA2B,IAAI3iP,IAQ/B9d,KAAK6gQ,UAAU5mM,SAAS,kBACxBj6D,KAAKghQ,oBAAqB,GAIlCrjQ,QACI,MAAMmuE,EAAe9rE,KAAK8gQ,YAAY92I,kBACtChqH,KAAKkhQ,SAAWp1L,EAAaqB,gBAAgBO,6BAC7C1tE,KAAKmhQ,KAAOr1L,EAAaqB,gBAAgBuhG,uBAEzC1uK,KAAK+vF,KAAKjkB,EAAa5B,WAEvBlqE,KAAK2hQ,aAGA5xK,KAAKroB,GACL,GAAmCA,IACpCx7D,MAAM6jF,KAAKroB,GAIVspB,WAAWtpB,GAChB,MAAMgoB,EAAYhoB,EAAKr7D,KAAK/O,MAE5B0C,KAAKuhQ,eAAgB,EACrBvhQ,KAAKwhQ,gBAAiB,EACtBxhQ,KAAK4hQ,gBAAgBl6L,EAAKwkB,YAC1B,IAAIhyD,EAAO,SAASw1D,IAGpB,MAAMt4E,EAAOswD,EAAKhoE,UAAUmpD,QACvB5rD,QACgB6B,IAAb7B,EAAIoP,MACqB,IAAzBpP,EAAI2pE,kBAC6B,KAAjC3pE,EAAI6pE,gBAAgBL,UACU,WAA9BxpE,EAAI6pE,gBAAgBxpE,QA2B5B,OAxBI8Z,EAAKpc,OAAS,IACdk/B,GAAQ,IAAI9iB,EACP0M,KAAK7mB,IACF,IAAI4kQ,EAAY,GAKhB,OAJI5kQ,EAAIoP,OACJw1P,EAAY5kQ,EAAIoP,KAAK/O,MAAQ,KAEjCukQ,GAAa7hQ,KAAK8hQ,iBAAiB7kQ,EAAI6pE,iBAChC+6L,KAEVrmQ,KAAK,UAEd0+B,GAAQ,IACRl6B,KAAK+hQ,UAAU7nO,GAEfl6B,KAAKgiQ,YAAW,KACZhiQ,KAAKohQ,kBACLphQ,KAAK+vF,KAAKroB,EAAKukB,OACfjsF,KAAKohQ,qBAGTphQ,KAAK+hQ,UAAU,IACf/hQ,KAAK+hQ,UAAU,KAER,EAGF5vK,cAAczqB,GACnB,MAAMwjD,EAAexjD,EAAKr7D,KAAK/O,MAG/B,GAAgC,IAA5B0C,KAAKqhQ,qBAA6B,GAAyCn2I,GAAe,CAC1FlrH,KAAKuhQ,eAAgB,EACrBvhQ,KAAKwhQ,gBAAiB,EACtBxhQ,KAAK4hQ,gBAAgBl6L,EAAKwkB,YAC1B,IAII2uH,EAJA3gL,EAAOwtC,EAAKkvB,QAAU,SAAW,GAqCrC,GApCA18D,GAAQ,OAAOgxF,IACfhxF,GAAQ,IAAIwtC,EAAKrkC,WAAWvf,KAAI,CAACV,EAAO+G,IAAUnqB,KAAKiiQ,gBAAgB7+O,EAAOskD,EAAMv9C,KAAQ3uB,KAAK,SAG7FksE,EAAK0lB,qBACLytH,EAAmB76M,KAAK8hQ,iBAAiBp6L,EAAK0lB,sBAAkD,GACzF1lB,EAAK0qB,0BACZyoH,EAAmB76M,KAAK8hQ,iBACpBp6L,EAAK0qB,0BAA0BhF,sBACH,GAIR,aAApB1lB,EAAKr7D,KAAK/O,MACVu9M,EAAmB,OACQ,YAApBnzI,EAAKr7D,KAAK/O,MACjBu9M,EAAmB,MACZ,CAAC,UAAW,YAAYpsJ,MAAMpiD,GAASA,IAASq7D,EAAKr7D,KAAK/O,QACjEu9M,EAAmB,MAEnB,CAAC,SAAU,SAAU,SAAU,SAAU,SAAU,UAAUpsJ,MACxDpiD,GAASA,IAASq7D,EAAKr7D,KAAK/O,UAGjCu9M,EAAmB,QAIvBA,IACA3gL,GAAQ,OAAS2gL,GAGrB3gL,GAAQ,KAIH2gL,EAAkB,CACnB,MAAMrnG,EAAexzG,KAAKypH,WAAW4oC,kBAAkB3qF,GACvD,GAAI8rC,GAAgB1M,GAAW0M,EAAaA,cAAe,CACvD,IAAIpK,EAAappG,KAAKypH,WAAW+sF,8BAA8BhjG,EAAaA,cAC5EpK,EAAaqB,GAAuBrB,GAC/B/D,GAAQ+D,IAAgB1D,GAAU0D,KACnClvE,GAAQ,SAASl6B,KAAKypH,WAAW4K,UAAUjrB,GAAkC,QAKzFppG,KAAK+hQ,UAAU7nO,GAEfl6B,KAAKgiQ,YAAW,KAEZhiQ,KAAKqhQ,qBACLrhQ,KAAK+vF,KAAKroB,EAAKukB,OACfjsF,KAAKqhQ,wBAGTrhQ,KAAK+hQ,UAAU,IAGnB,OAAO,EAGFvtK,WAAW9sB,GAGhB,OADA1nE,KAAKwhQ,gBAAiB,GACf,EAGFvvK,SAASvqB,GAGd,OADA1nE,KAAKwhQ,gBAAiB,GACf,EAGFrtK,SAASzsB,GAGd,OADA1nE,KAAKwhQ,gBAAiB,GACf,EAGF/sK,UAAU/sB,GAGf,OADA1nE,KAAKwhQ,gBAAiB,GACf,EAGF/vK,QAAQ/pB,GAMb,GAJA1nE,KAAKwhQ,gBAAiB,EAIU,IAA5BxhQ,KAAKqhQ,oBAAkD,IAAtBrhQ,KAAKshQ,aAAoB,CAC1DthQ,KAAKshQ,eACLthQ,KAAKuhQ,eAAgB,EACrBvhQ,KAAK+hQ,UAAU,MAAQ/hQ,KAAK8hQ,iBAAiBp6L,EAAKqjB,gBAAkB,KACpE/qF,KAAKgiQ,YAAW,KACZhiQ,KAAKkwF,aAAaxoB,EAAKsjB,QAAQvgB,eAGnC,MAAMwgB,EAAYvjB,EAAKujB,UACnBA,IACAjrF,KAAK+hQ,UAAU,SACf/hQ,KAAKgiQ,YAAW,KACe,KAAvB/2K,EAAUxkB,SACVzmE,KAAKkwF,aAAa,CAACjF,EAAUF,eAAgBE,EAAUD,QAASC,EAAUA,YAE1EjrF,KAAKkwF,aAAajF,EAAUxgB,gBAIxCzqE,KAAKshQ,eAGT,OAAO,EAGF9wK,gBAAgB9oB,GACrB,IAAIw6L,GAAc,EACdhoO,EAAO,GAEX,GAAqC,KAAjCwtC,EAAKhB,eAAeD,SAAiC,CAErD,GAAkC,YAA9BiB,EAAKhB,eAAeppE,MAUpB,OATgC,IAA5B0C,KAAKqhQ,oBAAkD,IAAtBrhQ,KAAKshQ,eACtCthQ,KAAKuhQ,eAAgB,EAErBrnO,EAAOl6B,KAAK8hQ,iBAAiBp6L,EAAKhB,gBAClCxsC,GAAQ,MACRA,GAAQl6B,KAAK8hQ,iBAAiBp6L,EAAKqlB,iBACnC/sF,KAAK+hQ,UAAU7nO,KAGZ,EAGX,GAAgC,IAA5Bl6B,KAAKqhQ,mBAA0B,CAC/BnnO,EAAOl6B,KAAK8hQ,iBAAiBp6L,EAAKhB,gBAC9BgB,EAAK+oB,wBACLv2D,GAAQ,KAAOl6B,KAAK8hQ,iBAAiBp6L,EAAK+oB,uBAAmD,IAGjG,MAAM1pC,EAAY/mD,KAAKypH,WAAW8D,QAAQ7lD,EAAKhB,gBAC/C,GAAI3f,aAAS,EAATA,EAAWkgD,cACXi7J,GAAc,OACX,GAAsC,IAAlCx6L,EAAKqlB,gBAAgBtmB,SAAiC,CAG7D,MAAM07L,EAAeniQ,KAAKypH,WAAW8D,QAAQ7lD,EAAKqlB,gBAAgBrmB,gBAE9Dy7L,GACAj8J,GAAoBi8J,IACpBv9J,GAAUqH,UAAUk2J,EAAc,CAAC,UAAW,eAAgB,YAAa,cAE3ED,GAAc,UAIvB,GAAqC,KAAjCx6L,EAAKhB,eAAeD,SAA2C,CACtE,MAAMgkH,EAAY/iH,EAAKhB,eAAeI,gBAEX,KAAvB2jH,EAAUhkH,UACsB,IAA5BzmE,KAAKqhQ,qBACLnnO,EAAO,GAAGl6B,KAAK8hQ,iBAAiBr3E,OAAezqL,KAAK8hQ,iBAChDp6L,EAAKhB,eAAesmB,gBACQ,MAmB5C,OAbI9yD,IACAl6B,KAAKuhQ,eAAgB,EAErBrnO,GAAQ,MAGJA,GADAgoO,EACQliQ,KAAK8hQ,iBAAiBp6L,EAAKqlB,iBAE3B,MAEZ/sF,KAAK+hQ,UAAU7nO,KAGZ,EAGFy2D,yBAAyBjpB,GAC9B,GAAqC,KAAjCA,EAAKhB,eAAeD,UAEc,YAA9BiB,EAAKhB,eAAeppE,OAAyC,IAAlBoqE,EAAKmlB,UAChB,IAA5B7sF,KAAKqhQ,oBAAkD,IAAtBrhQ,KAAKshQ,aAAoB,CAC1D,IAAIpnO,EAAOl6B,KAAK8hQ,iBAAiBp6L,EAAKhB,gBACtCxsC,GAAQ,OACRA,GAAQl6B,KAAK8hQ,iBAAiBp6L,EAAKqlB,iBACnC/sF,KAAK+hQ,UAAU7nO,GAK3B,OAAO,EAGFm6D,oBAAoB3sB,GACzB,GAAgC,IAA5B1nE,KAAKqhQ,mBAA0B,CAC/B,IAAInnO,EAAO,GACX,GAAsC,KAAlCwtC,EAAKZ,gBAAgBL,SACrBvsC,EAAOl6B,KAAK8hQ,iBAAiBp6L,EAAKZ,sBAC/B,GAAsC,KAAlCY,EAAKZ,gBAAgBL,SAAyC,CACrE,MAAMU,EAAiBO,EAAKZ,gBAAgBJ,eACZ,KAA5BS,EAAeV,UACc,SAAzBU,EAAe7pE,QAEV,GADcoqE,EAAKZ,gBAAgBO,WAAW/pE,SAE/C48B,EAAOl6B,KAAK8hQ,iBAAiBp6L,EAAKZ,mBAM9C5sC,IACAA,GAAQ,KAAOl6B,KAAK8hQ,iBAAiBp6L,EAAKslB,gBAA4C,GACtFhtF,KAAK+hQ,UAAU7nO,IAIvB,OAAO,EAGFw3D,YAAYhqB,GACjB,GAAI1nE,KAAKqhQ,mBAAqB,GAAKrhQ,KAAKohQ,gBAAkB,EACtD,OAAO,EAGX,MAAMlV,EAAehoJ,GAAgBx8B,GAwBrC,OAvBIwkL,GAEAxkL,EAAKziE,KAAKqgB,SAAS8pI,IACf,MAAMpkF,EAAahrE,KAAKoiQ,iBAAiBhzG,EAAIt9I,QAC7C,IAAK9R,KAAKyhQ,iBAAiBr9O,IAAI4mD,GAAa,CACxC,MAAMlY,EAAas8F,EAAIjjF,MACjBijF,EAAIjjF,MAAM7uE,MACV8xJ,EAAIt9I,OAAO49D,UAAU10E,OAAS,EAC9Bo0J,EAAIt9I,OAAO49D,UAAU,GAAGpyE,MACxB,GACAovK,EAAaw/E,EAAavqG,sBAAsB7uF,GACtD,GAAI45G,EAAY,CACZ,MAAM21F,EAAkB,IAAI/B,GACxBt1L,EACAokF,EAAIjjF,MAAQijF,EAAIjjF,MAAM7uE,WAAQwB,EAC9B4tK,EAAW/xF,QAEf36E,KAAKyhQ,iBAAiBt8P,IAAI6lE,EAAYq3L,SAM/C,EAGFzwK,gBAAgBlqB,GACrB,GAAI1nE,KAAKqhQ,mBAAqB,GAAKrhQ,KAAKohQ,gBAAkB,EACtD,OAAO,EAGX,MAAMlV,EAAehoJ,GAAgBx8B,GACrC,GAAIwkL,EAAc,CAEd,MAAMlhL,EAAahrE,KAAKoiQ,iBAAiB16L,EAAK51D,QAC9C,IAAIwwP,EAAoBtiQ,KAAK0hQ,mBAAmBn9P,IAAIymE,GAC/Cs3L,IACDA,EAAoB,IAAI/B,GAAkBv1L,EAAYtD,EAAKsE,iBAAkBtE,GAC7E1nE,KAAK0hQ,mBAAmBv8P,IAAI6lE,EAAYs3L,IAG5C56L,EAAK4D,QAAQhmD,SAAS8pI,IAClB,MAAMt8F,EAAas8F,EAAIjjF,MAAQijF,EAAIjjF,MAAM7uE,MAAQ8xJ,EAAI/iJ,KAAK/O,MACpDovK,EAAaw/E,EAAavqG,sBAAsB7uF,GAClD45G,GACA41F,EAAmBjxE,UACf3kB,EAAW/xF,OACXy0E,EAAI/iJ,KAAK/O,MACT8xJ,EAAIjjF,MAAQijF,EAAIjjF,MAAM7uE,WAAQwB,GAC9B,MAMhB,OAAO,EAGF+0F,mBAAmBnsB,GAaxB,OAZIA,EAAK+C,WAAWzvE,OAAS,GAAqC,KAAhC0sE,EAAK+C,WAAW,GAAGhE,WAG5CzmE,KAAKuhQ,eAAiBvhQ,KAAKwhQ,gBAC5BxhQ,KAAK+hQ,UAAU/hQ,KAAK8hQ,iBAAiBp6L,EAAK+C,WAAW,KAK7DzqE,KAAKwhQ,gBAAiB,EAEtBxhQ,KAAKkwF,aAAaxoB,EAAK+C,aAChB,EAGHu3L,WAAWruP,GACf3T,KAAKuiQ,iBAAgB,KACjB,MAAMC,EAAmBxiQ,KAAKuhQ,cAC9BvhQ,KAAKuhQ,eAAgB,EAErB5tP,IAEK3T,KAAKuhQ,eACNvhQ,KAAK+hQ,UAAU,OAGnB/hQ,KAAKuhQ,cAAgBiB,KAIrBD,gBAAgB5uP,GACpB3T,KAAK+gQ,gBACLptP,IACA3T,KAAK+gQ,gBAGDa,gBAAgB11K,GACpBA,EAAW5mE,SAASinE,IAChBvsF,KAAK+hQ,UAAU,IAAM/hQ,KAAK8hQ,iBAAiBv1K,EAAUx6B,gBAIrD0wM,wBACJ,MACI,MACAziQ,KAAKkhQ,SACL,gDACAlhQ,KAAKkhQ,SACL,MACAlhQ,KAAKkhQ,SACLlhQ,KAAKkhQ,SAILa,UAAU7nO,GACd,IAAK,IAAI5/B,EAAI,EAAGA,EAAI0F,KAAK+gQ,cAAezmQ,IACpC0F,KAAKihQ,eAAiBjhQ,KAAKmhQ,KAG/BnhQ,KAAKihQ,eAAiB/mO,EAAOl6B,KAAKkhQ,SAG9BkB,iBAAiB16L,GACrB,IAAIxtC,EAAO,GACX,IAAK,IAAI5/B,EAAI,EAAGA,EAAIotE,EAAK+H,YAAan1E,IAClC4/B,GAAQ,IAGZ,OADAA,GAAQwtC,EAAKgI,UAAU5rD,KAAK6rD,GAASA,EAAKryE,QAAO9B,KAAK,KAC/C0+B,EAGH+nO,gBAAgBj/E,EAA0Bt3D,EAA4BrJ,GAC1E,IAAInoF,EAAO,GACgB,IAAvB8oJ,EAAU1kH,SACVpkC,GAAQ,IACsB,IAAvB8oJ,EAAU1kH,WACjBpkC,GAAQ,MAGR8oJ,EAAU32K,OACV6tB,GAAQ8oJ,EAAU32K,KAAK/O,OAG3B,MAAM2qJ,EAAsBjoJ,KAAKypH,WAAWy+B,8BAA8Bx8B,EAAcrJ,GACxF,IAAIL,EAAY,GAmBhB,OAlBIimC,IACAjmC,EAAYhiH,KAAK8hQ,iBAAiB75G,GAAiD,IAGnFjmC,IACA9nF,GAAQ,KAAO8nF,GAGfghE,EAAU9vF,eAINh5D,GADA8nF,EACQ,SAEA,QAIT9nF,EAGH4nO,iBAAiBp6L,EAAsBmkJ,GAAS,EAAO62C,GAAwB,GAInF,OAH2B,IAAIlC,GAAmBxgQ,KAAKygQ,yBAA0BiC,GAC9DpgL,QAAQ5a,GAEpB,GACHA,EACAmkJ,EAAS,EAA0D,GAInE82C,uBACJ,IAAIC,EAAY,GACZC,GAAc,EAgElB,OA7DA7iQ,KAAKyhQ,iBAAiBn8O,SAAS8pI,IACvBpvJ,KAAKygQ,yBAAyBl8P,IAAI6qJ,EAAIjjF,OAASijF,EAAIziF,cACnDyiF,EAAIixG,YAAa,IAGjBjxG,EAAIixG,YAAcrgQ,KAAKghQ,sBACvB4B,GAAa,UAAUxzG,EAAIziF,aACvByiF,EAAIjjF,QACJy2L,GAAa,OAAOxzG,EAAIjjF,SAE5By2L,GAAa5iQ,KAAKkhQ,SAClB2B,GAAc,MAKtB7iQ,KAAK0hQ,mBAAmBp8O,SAAS8pI,IAC7BA,EAAI0H,QAAQxxI,SAAS9W,IACbxO,KAAKygQ,yBAAyBl8P,IAAIiK,EAAE29D,OAAS39D,EAAEnC,QAC/CmC,EAAE6xP,YAAa,MAInBjxG,EAAIpjF,mBACJ42L,GAAa,QAAQxzG,EAAIziF,sBAAwB3sE,KAAKkhQ,SACtD2B,GAAc,GAGlB,MAAMC,EAAgB1zG,EAAI0H,QACrBjuG,QAAQr6C,GAAMA,EAAE6xP,YAAcrgQ,KAAKghQ,qBACnCxnM,MAAK,CAAC30D,EAAGnG,IACFmG,EAAEwH,KAAO3N,EAAE2N,MACH,EACDxH,EAAEwH,KAAO3N,EAAE2N,KACX,EAEJ,IAGXy2P,EAAc9nQ,OAAS,IACvB4nQ,GAAa,QAAQxzG,EAAIziF,qBAEzBi2L,GAAaE,EACRh/O,KAAK62D,IACF,IAAIooL,EAASpoL,EAAOtuE,KAIpB,OAHIsuE,EAAOxO,QACP42L,GAAU,OAASpoL,EAAOxO,OAEvB42L,KAEVvnQ,KAAK,MAEVonQ,GAAa5iQ,KAAKkhQ,SAClB2B,GAAc,MAIlBA,IACAD,GAAa5iQ,KAAKkhQ,UAGf0B,EAGHjB,aACJ,IAAIqB,EAAYhjQ,KAAKyiQ,wBACrBO,GAAahjQ,KAAK2iQ,uBAClBK,GAAahjQ,KAAKihQ,cAElBjhQ,KAAK8gQ,YAAY9hM,WAAWhD,cAAch8D,KAAK6gQ,UAAWmC,EAAW,SCxiBtE,MAAMC,GAYTh3P,YACIi3P,EACAC,EACAh/P,EACQi/P,EACR3gD,EACQ4gD,GAFA,KAAAD,aAEA,KAAAC,kBAhBJ,KAAAC,gBAAoC,GACpC,KAAAC,eAAiB,IAAIzlP,IAMrB,KAAA0lP,iBAAmB,EA0rBnB,KAAAC,cAAiBn4C,I,MACrB,IAAIo4C,EAEJ,GAAgC,iBAArBp4C,EACPo4C,EAAiB1jQ,KAAK2jQ,2BAA2Br4C,OAC9C,CAEH,MAAMzhJ,EAAe7pE,KAAKupH,gBAAgB31C,cACtC03I,EAAiByW,kBACjB/hO,KAAKqzE,eAAeywE,oBAAoBwnE,EAAiByW,mBACzD,CACItyJ,YAAa,EACbC,UAAW47I,EAAiB57I,UAC5BuD,qBAAiBn0E,IAIzB,GAAI+qE,EAAae,gBAAkBf,EAAagL,aAAehL,EAAagB,cAAc7vE,OAAS,EAAG,CAClG,IAAI2U,EAAek6D,EAAagB,cAAchB,EAAagB,cAAc7vE,OAAS,GAC9E2U,IAEA+zP,EAAiB1jQ,KAAK2jQ,2BAA2Bh0P,GAE5C+zP,IACD/zP,EAAeisD,GAAkB57D,KAAKw7J,IAAK7rJ,GAG3C3P,KAAK4jQ,eAAej0P,GACpB+zP,EAAiB1jQ,KAAK2jQ,2BAA2Bh0P,MAMjE,IAAK+zP,EACD,OAGAA,EAAe34I,WAAWu7F,qBAG1BnlI,GAAYS,gBAAgBZ,kBAAiB,KACzChhF,KAAK6jQ,UAAUH,MAIvB,MAAMj2J,EAAci2J,EAAe34I,WAAWm6F,uBAC9C,IAAKz3G,EACD,OAGJ,MAAM3hC,EAAe43L,EAAe34I,WAAWf,kBACzC0C,EAAa5gD,EAAc5B,UAE3BrB,EAAgB,GAAkCiD,EAAc5B,WAEtE,MAAO,CACHujC,cACAqwF,eAAgBj1H,aAAa,EAAbA,EAAeE,MAC/BgsH,6BAAyE,QAA3C,EAAAlsH,aAAa,EAAbA,EAAeksH,oCAA4B,SACzE,gBACI,OAAOr8F,GAAag0B,EAAWjiD,eA5uBvCzqE,KAAKsjF,SAAWn/E,GAAW,IAAIi/E,GAC/BpjF,KAAKgkN,YAAcvB,UAAc,IAAIv+H,GAAW//E,EAAS,MACzDnE,KAAKupH,gBAAkB25I,EACvBljQ,KAAKqzE,eAAiB8vL,EAEtBnjQ,KAAK8jQ,sBAGT,gBACI,OAAO9jQ,KAAKypH,WAGhBs6I,iBAAiB1yL,GACbrxE,KAAKqzE,eAAiBhC,EAGtBrxE,KAAK8jQ,sBAGTE,kBAAkB5nG,GACdp8J,KAAKupH,gBAAkB6yC,EAKvBp8J,KAAK8jQ,sBAITG,gBAAgBC,GACZ,GAAIlkQ,KAAKsjQ,gBAAgBtoQ,OAAS,EAAG,CAEjC,MAAMmpQ,EAAa,IAAIrmP,IACvBomP,EAAU5+O,SAASvW,IACfo1P,EAAWh/P,IAAIy2D,GAAkB57D,KAAKw7J,IAAKzsJ,GAAOA,MAKtD/O,KAAKsjQ,gBAAgBh+O,SAAS8+O,IAC1B,MAAMvoM,EAAWD,GAAkB57D,KAAKw7J,IAAK4oG,EAAQr5I,WAAWwB,eAC3D43I,EAAW//O,IAAIy3C,KAChBuoM,EAAQC,WAAY,MAQhC,OAFArkQ,KAAKskQ,gBAAgBJ,GAEdlkQ,KAAKukQ,uBAKhBC,oBAAoBC,GAChBzkQ,KAAK0kQ,kBAAoBD,EAQ7BE,4BAA4Bl2L,GACxBzuE,KAAK4kQ,0BAA4Bn2L,EAGrC61L,gBAAgBJ,EAAqB3hD,GAAqB,EAAO31C,GAAqB,GAClFs3F,EAAU5+O,SAASu2C,IACf77D,KAAK4jQ,eAAe/nM,EAAU0mJ,EAAoB31C,MAI1Dg3F,eAAe/nM,EAAkB0mJ,GAAqB,EAAO31C,GAAqB,GAC9E,IAAI82F,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACrD,GAAI6nM,EAEA,OADAA,EAAeW,WAAY,EACpBX,EAAe34I,WAG1B,MAAMp+C,EAAa3sE,KAAK6kQ,sBAAsBhpM,GACxCkvD,EAAa,IAAIu3F,GACnBtiN,KAAKw7J,IACL3/F,EACA8Q,EACA41I,EACA31C,EACA5sK,KAAKsjF,SACLtjF,KAAKgkN,aAgBT,OAdA0/C,EAAiB,CACb34I,aACAs5I,WAAW,EACXS,gBAAgB,EAChBvpL,gBAAgB,EAChBgnI,qBACAC,2BAA4B51C,EAC5Bm4F,wBAAoBjmQ,EACpBwsE,QAAS,GACT05L,WAAY,GACZC,QAAS,GACTC,WAAY,IAEhBllQ,KAAKmlQ,2BAA2BzB,GACzB34I,EAGXq6I,cACIvpM,EACAr+C,EACA2lB,EACA/uB,G,QAEA,IAAIsvP,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACrD,GAAK6nM,EAiCDA,EAAeoB,gBAAiB,EAMhCpB,EAAeqB,mBAAqB,MAvCnB,CACjB,MAAMp4L,EAAa3sE,KAAK6kQ,sBAAsBhpM,GACxCkvD,EAAa,IAAIu3F,GACnBtiN,KAAKw7J,IACL3/F,EACA8Q,GACyB,GACA,EACzB3sE,KAAKsjF,SACLtjF,KAAKgkN,YACe,QAApB,EAAA5vM,aAAO,EAAPA,EAAS2/J,mBAAW,UAMlBsxF,EAAkBjxP,aAAO,EAAPA,EAASixP,gBACjC3B,EAAiB,CACb34I,aACAs5I,UAA6B,QAAlB,EAAAjwP,aAAO,EAAPA,EAASiwP,iBAAS,SAC7BiB,kBAAmBD,EAAkBrlQ,KAAK2jQ,2BAA2B0B,QAAmBvmQ,EACxFgmQ,gBAAgB,EAChBvpL,gBAAgB,EAChBgnI,oBAAoB,EACpBC,4BAA4B,EAC5BuiD,wBAAoBjmQ,EACpBwsE,QAAS,GACT05L,WAAY,GACZC,QAAS,GACTC,WAAY,IAEhBllQ,KAAKmlQ,2BAA2BzB,GAWpCA,EAAe34I,WAAWk7F,iBAAiBzoM,EAAS2lB,GAGxDoiO,cAAc1pM,GACV,MAAM6nM,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GAevD,OAdI6nM,IACAA,EAAeoB,gBAAiB,EAChCpB,EAAe34I,WAAWk7F,iBAAiB,KAAM,IAM7Cy9C,EAAe34I,WAAWq6F,4BAC1Bs+C,EAAe34I,WAAWw6F,YAC1BvlN,KAAKwlQ,wBAAwB9B,EAAgB,IAAI5lP,OAIlD9d,KAAKukQ,uBAGhBkB,kBAAkBC,EAAgClgD,GAAiB,GAC/D,MAAMmgD,EAAe,IAAI7nP,IAEzB9d,KAAKsjQ,gBAAgBh+O,SAASo+O,IACtBgC,EACAhC,EAAe34I,WAAWw6F,UAAUC,GAC7Bk+C,EAAe34I,WAAWq6F,4BACjCs+C,EAAe34I,WAAWw6F,UAAUC,GAIpCxlN,KAAKwlQ,wBAAwB9B,EAAgBiC,OAIjDA,EAAarmQ,KAAO,GACpBU,KAAK8jQ,sBAIb8B,eAAe1B,EAAqBwB,EAAgClgD,GAAiB,GACjF,MAAMmgD,EAAe,IAAI7nP,IACzBomP,EAAU5+O,SAASu2C,IACf,MAAM6nM,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACvD,GAAI6nM,EAAgB,CAChB,MAAMnrM,EAAWG,GAAYmD,GAI7B,GAAiB,iBAAbtD,GAA4C,qBAAbA,EAE/B,YADAv4D,KAAKylQ,kBAAkBC,EAAuBlgD,IAQ9CkgD,IACEhC,EAAeoB,gBAAkBpB,EAAe34I,WAAWq6F,6BAE7Ds+C,EAAe34I,WAAWw6F,UAAUC,GAIpCxlN,KAAKwlQ,wBAAwB9B,EAAgBiC,QAKrDA,EAAarmQ,KAAO,GACpBU,KAAK8jQ,sBAIbjhL,eACI,OAAO7iF,KAAKsjQ,gBAAgBtoQ,OAGhC6qQ,aACI,OAAO7lQ,KAAKsjQ,gBAAgBz6M,QAAQr6C,GAAMA,EAAE61P,YAGhDyB,YACI,OAAO9lQ,KAAKsjQ,gBAAgBz6M,QAAQr6C,GAAMA,EAAEs2P,iBAGhDtiL,yBACI,IAAIujL,EAAkB,EAEtB,OAAI/lQ,KAAKqjQ,iBAITrjQ,KAAKsjQ,gBAAgBh+O,SAASkjD,IACtBA,EAASuiD,WAAWy7F,sBAChBxmN,KAAKgmQ,iBAAiBx9L,IACtBu9L,OANDA,EAcf/iL,0BACI,OAAOhjF,KAAKqzE,eAAe4yL,qBAAsB,EAGrDC,cAAcrqM,GACV,MAAM6nM,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACvD,GAAK6nM,EAIL,OAAOA,EAAe34I,WAG1Bo7I,mBAAmBtqM,GACf,MAAM6nM,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACvD,GAAK6nM,EAKL,OADA1jQ,KAAK6jQ,UAAUH,GACR1jQ,KAAKkmQ,cAAcrqM,GAS9BymB,QAAQF,EAA2BphE,EAA2B,GAAAxI,kBAAA,MAC1D,OAAOxY,KAAKomQ,mCAAmCplP,GAAO,KAClD,MAAM2hE,EAAc,IAAIrC,GAElB+lL,EAAYrmQ,KAAKsjQ,gBAAgBz6M,QAClCkhE,GAAOA,EAAG+6I,gBAAkB/6I,EAAGgB,WAAWy7F,uBAG/C,GAAI6/C,EAAUrrQ,OAAS,EAAG,CACtB,MAAMsrQ,EAAmBlkL,EAAUA,EAAQmkL,kBAAoB5kQ,OAAOs4B,UAGtE,IAAK,MAAMypO,KAAkB2C,EACzB,GAAIrmQ,KAAKwmQ,YAAY9C,IACb/gL,EAAYnC,4BAA8B8lL,EAC1C,OAAO,EAQnB,QAAgBxnQ,IAAZsjF,EACA,OAAO,EAIf,IAAKpiF,KAAKqzE,eAAe4yL,mBAAoB,CACzC,MAAMK,EAAmBlkL,EAAUA,EAAQqkL,oBAAsB9kQ,OAAOs4B,UAGxE,IAAK,MAAMypO,KAAkB1jQ,KAAKsjQ,gBAC9B,GAAKtjQ,KAAK0mQ,YAAYhD,IAIlB1jQ,KAAKwmQ,YAAY9C,IACb/gL,EAAYnC,4BAA8B8lL,EAC1C,OAAO,EAMvB,OAAO,KAIfK,eAAehzP,EAAyDqN,GACpE,OAAKhhB,KAAKqzE,eAAeyzF,SAIlB9mK,KAAKomQ,mCAAmCplP,GAAO,KAMlD,MAAM4lP,EAAqB,IAAI91N,IAC/B,IAAK,MAAM4yN,KAAkB1jQ,KAAKsjQ,gBACzBI,EAAe34I,WAAWs7F,mBAC3BugD,EAAmBhhP,IAAI89O,GAI/B,IAAI13O,EAAQ,EACZ,IAAK,MAAM03O,KAAkB1jQ,KAAKsjQ,gBAAiB,CAC/C,IAAKtjQ,KAAK0mQ,YAAYhD,KAAoBA,EAAe34I,WAAWw7F,qBAChE,SAGJvmN,KAAK6jQ,UAAUH,GACf,MAAMr7G,EAAUq7G,EAAe34I,WAAW5gG,MAAM,CAAEiiJ,2BAA2B,GAASprJ,GACtF,GAAIqnI,EAAS,CACT,KAAMr8H,EAjdgB,IAqdlB,OAHAhsB,KAAKsjF,SAAStnE,KAAK,0DAEnB6qP,EAAuC7mQ,KAAKsjQ,gBAAiBsD,GACtD56O,EAGXrY,EAAS+vP,EAAe34I,WAAWwB,cAAe87B,GAGtDroJ,KAAK8mQ,yBAIT,OADAD,EAAuC7mQ,KAAKsjQ,gBAAiBsD,GACtD56O,KAvCA,EA0CX,SAAS66O,EACL17I,EACAy7I,GAEA,IAAK,MAAMlD,KAAkBv4I,EACrBu4I,EAAe34I,WAAWs7F,mBAAqBugD,EAAmBxiP,IAAIs/O,IAK1EA,EAAe34I,WAAWu6F,wBAOtCyhD,kBAAkBC,EAAwBvhP,GACtC,MAAMwhP,EAAcjnQ,KAAKsjQ,gBACpBz6M,QAAQr6C,IAAOA,EAAE+sE,iBACjB/hB,MAAK,CAAC30D,EAAGnG,IACCmG,EAAEkmH,WAAWwB,cAAgB7tH,EAAEqsH,WAAWwB,cAAgB,GAAK,IAGxE26I,EAAgC,GAEtCD,EAAY3hP,SAAS6hP,IACjBnnQ,KAAKsjF,SAASrnE,KAAK,IACnB,IAAI4/C,EAAWsrM,EAAOp8I,WAAWwB,cACjC,MAAM66I,EAAU/xM,EAAgBwG,EAAUmrM,GACtCI,IACAvrM,EAAWurM,GAGfpnQ,KAAKsjF,SAASrnE,KAAK,GAAG4/C,KAEtB77D,KAAKsjF,SAASrnE,KACV,gBAAgBkrP,EAAO77L,QAAQtwE,eAA6C,IAA1BmsQ,EAAO77L,QAAQtwE,OAAe,GAAK,MAErFyqB,GACA0hP,EAAO77L,QAAQhmD,SAASqiD,IACpB3nE,KAAKsjF,SAASrnE,KAAK,OAAO0rD,EAAWojD,WAAWwB,oBAIxDvsH,KAAKsjF,SAASrnE,KACV,gBAAgBkrP,EAAOnC,WAAWhqQ,eAAgD,IAA7BmsQ,EAAOnC,WAAWhqQ,OAAe,GAAK,MAE3FyqB,GACA0hP,EAAOnC,WAAW1/O,SAASqiD,IACvB3nE,KAAKsjF,SAASrnE,KAAK,OAAO0rD,EAAWojD,WAAWwB,oBAIvB,IAA7B46I,EAAOnC,WAAWhqQ,QAClBksQ,EAAgB7rQ,KAAK8rQ,EAAOp8I,eAIhCm8I,EAAgBlsQ,OAAS,IACzBgF,KAAKsjF,SAASrnE,KAAK,IACnBjc,KAAKsjF,SAASrnE,KACV,GAAGirP,EAAgBlsQ,cAAyC,IAA3BksQ,EAAgBlsQ,OAAe,GAAK,+BAEzEksQ,EAAgB5hP,SAAS+hP,IACrBrnQ,KAAKsjF,SAASrnE,KAAK,OAAOorP,EAAW96I,qBAKjD+6I,cAAcC,EAA0BC,EAA6BvxL,EAAkBj1D,GACnF,IAAK,MAAM0iP,KAAkB1jQ,KAAKsjQ,gBAAiB,CAC/C,GAA6BtiP,GAE7B,MAIM00C,EAAeL,EAJJquM,EAAe34I,WAAWwB,cAIIg7I,GAC/C,QAAqBzoQ,IAAjB42D,EAA4B,CAC5B,IAAI+xM,EAAejxM,GAAcT,GAAakgB,EAAUvgB,IAMpD+xM,EADAD,EACezxM,GAAa1B,EAAiBozM,GAAe,gBAE7C9uM,GAAmB8uM,GAAgB,OAGtD,MAAMC,EAAcrzM,EAAiBozM,GAErC,IACI9xM,EAAgB31D,KAAKw7J,IAAKksG,EAAazxL,GACzC,MAAOhyE,GAEL,MAAM,IAAIrI,MADK,mCAAmC8rQ,MAItD1nQ,KAAK6jQ,UAAUH,GAEf1jQ,KAAKomQ,mCAAmCplP,GAAO,KAC5B,IAAI4/O,GAAe6G,EAAc/D,EAAe34I,WAAY/qH,KAAKypH,YACzE9rH,WAKXqC,KAAK8mQ,2BAKjBa,iBAAiBhtL,GAIb,OAHA36E,KAAK8mQ,0BAEa9mQ,KAAKypH,YAAczpH,KAAK8jQ,uBACzBhwI,yBAAyBn5C,GAG9C05C,UAAUr1H,EAAYi+I,GAIlB,OAHAj9I,KAAK8mQ,0BAEa9mQ,KAAKypH,YAAczpH,KAAK8jQ,uBACzBzvI,UAAUr1H,EAAMi+I,GAG7B,0BAA0B5rE,GAC9B,IAAInI,EAAQ,EAsBZ,OApBImI,EAAcmjD,kBAAkB6yC,oBAChCn+F,GAAS,GAGTmI,EAAcmjD,kBAAkBgzC,4BAChCt+F,GAAS,IAGTmI,EAAcmjD,kBAAkB8yC,oBAChCp+F,GAAS,GAGTmI,EAAcmjD,kBAAkB+yC,2BAChCr+F,GAAS,GAGTmI,EAAcmjD,kBAAkBizC,iBAChCv+F,GAAS,GAGNA,EAGX,UACI,OAAOlpE,KAAKupH,gBAAgBvqD,WAGxB6lM,sBAAsBhpM,GAK1B,OAJ0B77D,KAAKupH,gBAAgBryC,uBAC3Crb,EACA77D,KAAKqzE,eAAeq0F,6BAEC18F,WAOrB48L,iBAAiBC,EAA0BC,GAC/C,IAAIC,EAAiB/nQ,KAAK2jQ,2BAA2BmE,GAErD,IAAKC,EAAgB,CACjB,MAAMp7L,EAAa3sE,KAAK6kQ,sBAAsBiD,GAU9CC,EAAiB,CACbh9I,WAVe,IAAIu3F,GACnBtiN,KAAKw7J,IACLssG,EACAn7L,GACyB,GACA,EACzB3sE,KAAKsjF,SACLtjF,KAAKgkN,aAILqgD,WAAW,EACXS,gBAAgB,EAChBvpL,gBAAgB,EAChBgnI,oBAAoB,EACpBC,4BAA4B,EAC5BuiD,wBAAoBjmQ,EACpBwsE,QAAS,GACT05L,WAAY,GACZC,QAAS,GACTC,WAAY,IAEhBllQ,KAAKmlQ,2BAA2B4C,GAWpC,OARKA,EAAe9C,QAAQ/+P,SAAS2hQ,IACjCE,EAAe9C,QAAQ5pQ,KAAKwsQ,GAG3BA,EAAS3C,WAAWh/P,SAAS6hQ,IAC9BF,EAAS3C,WAAW7pQ,KAAK0sQ,GAGtBA,EAAeh9I,WAGlB+4I,sBAqBJ,OApBA9jQ,KAAKypH,WC7vBN,SACH6hD,EACAyoD,EACA5/M,EACA6zP,GAEA,IAAKj0C,EAAiBk0C,UAAY/5M,IAC9B,OAAO4lK,GAAoBxoD,EAAcyoD,GAG7C,SAASm0C,EAAO9rO,EAAezoB,EAAmBrW,GAC9C,OAAOy2N,EAAiBk0C,SAClB9zP,EAAOvF,IACHwtB,GACC5tB,IACGA,EAAEoX,IAAIoiP,aAAO,EAAPA,EAAS5hM,MAAM9oE,IACd6jF,GAAYU,mBAAmBf,cAAcntE,KAExDogN,EAAiBo0C,yBACjB,GAEJhnL,GAAYU,mBAAmBf,cAAcntE,GAGvD,MAaMy0P,EAAgBt0C,GAbOC,EAAiBk0C,SACvCpsM,GACG1nD,EAAOvF,IACH,iBACCJ,IACGA,EAAEoX,IAAIoiP,aAAO,EAAPA,EAAS38C,sBAAsBxvJ,IAC9ByvG,EAAazvG,KAExBk4J,EAAiBo0C,yBACjB,GAER78F,EAE4CyoD,GAoGlD,MAlGmC,CAC/BulC,yBAA0B8O,EAAc9O,yBACxC/rI,QAAU/sH,GAAM0nQ,EAAI,WAAW,IAAME,EAAc76I,QAAQ/sH,IAAIA,GAC/Do1H,oBAAqB,CAACp1H,EAAGyD,EAAGqzC,IACxB4wN,EAAI,uBAAuB,IAAME,EAAcxyI,oBAAoBp1H,EAAGyD,EAAGqzC,IAAI92C,GACjFg+N,oBAAqB4pC,EAAc5pC,oBACnCnyG,eAAiB7rH,GAAM0nQ,EAAI,kBAAkB,IAAME,EAAc/7I,eAAe7rH,IAAIA,GACpF6xJ,kBAAoB7xJ,GAAM0nQ,EAAI,qBAAqB,IAAME,EAAc/1G,kBAAkB7xJ,IAAIA,GAC7FyuN,kCAAmCm5C,EAAcn5C,kCACjD1a,uBAAwB6zD,EAAc7zD,uBACtC5B,0BAA4BnyM,GACxB0nQ,EAAI,6BAA6B,IAAME,EAAcz1D,0BAA0BnyM,IAAIA,GACvFg0M,0BAA2B4zD,EAAc5zD,0BACzCi0C,yBAA0B2f,EAAc3f,yBACxCU,wBAAyBif,EAAcjf,wBACvC1gD,YAAa2/D,EAAc3/D,YAC3BE,WAAYy/D,EAAcz/D,WAC1BC,yBAA0Bw/D,EAAcx/D,yBACxCF,wBAAyB0/D,EAAc1/D,wBACvC1+C,gBAAkBxpJ,GAAM0nQ,EAAI,mBAAmB,IAAME,EAAcp+G,gBAAgBxpJ,IAAIA,GACvF+yM,yBAA2B/yM,GACvB0nQ,EAAI,4BAA4B,IAAME,EAAc70D,yBAAyB/yM,IAAIA,GACrF0zM,uBAAyB1zM,GAAM0nQ,EAAI,0BAA0B,IAAME,EAAcl0D,uBAAuB1zM,IAAIA,GAC5Gu6M,qBAAuBv6M,GAAM0nQ,EAAI,wBAAwB,IAAME,EAAcrtD,qBAAqBv6M,IAAIA,GACtG2nM,gBAAiB,CAAC3nM,EAAGgO,IAAM05P,EAAI,mBAAmB,IAAME,EAAcjgE,gBAAgB3nM,EAAGgO,IAAIhO,GAC7F+4P,iCAAkC6O,EAAc7O,iCAChD7oD,oBAAqB,CAAChpI,EAAM/zD,IACxBu0P,EAAI,uBAAuB,IAAME,EAAc13D,oBAAoBhpI,EAAM/zD,KAC7Ei4G,2BAA6BprH,GACzB0nQ,EAAI,8BAA8B,IAAME,EAAcx8I,2BAA2BprH,IAAIA,GACzF02H,sBAAwB12H,GAAM0nQ,EAAI,yBAAyB,IAAME,EAAclxI,sBAAsB12H,IAAIA,GACzG6sH,wBAAyB,CAAC9+G,EAAGshD,EAAGD,IAC5Bs4M,EAAI,2BAA2B,IAAME,EAAc/6I,wBAAwB9+G,EAAGshD,EAAGD,IAAIrhD,GACzF8rM,gCAAiC,CAAC9rM,EAAGshD,EAAGD,IACpCs4M,EAAI,mCAAmC,IAAME,EAAc/tD,gCAAgC9rM,EAAGshD,EAAGD,IAAIrhD,GACzG8kM,oBAAqB,CAAC9mJ,EAAG1nD,EAAGZ,IACxBikQ,EAAI,uBAAuB,IAAME,EAAc/0D,oBAAoB9mJ,EAAG1nD,EAAGZ,IAAIsoD,GACjF+mJ,oBAAqB,CAAC/mJ,EAAG1nD,EAAGZ,IACxBikQ,EAAI,uBAAuB,IAAME,EAAc90D,oBAAoB/mJ,EAAG1nD,EAAGZ,IAAIsoD,GACjFkkG,0BAA2B,CAACj+I,EAAGlY,IAC3B4tQ,EAAI,6BAA6B,IAAME,EAAc33G,0BAA0Bj+I,EAAGlY,IAAIkY,GAC1Fk9N,mBAAoB04B,EAAc14B,mBAClCp/B,kBAAmB,CAAC9vM,EAAGqE,IAAMqjQ,EAAI,qBAAqB,IAAME,EAAc93D,kBAAkB9vM,EAAGqE,IAAIrE,GACnGmyH,kBAAmBy1I,EAAcz1I,kBACjCi2B,6BAA+Br8F,GAC3B27M,EAAI,gCAAgC,IAAME,EAAcx/G,6BAA6Br8F,IAAIA,GAC7Fo4I,0BAA2ByjE,EAAczjE,0BACzCgF,sCAAuCy+D,EAAcz+D,sCACrDhoD,sBAAuBymH,EAAczmH,sBACrCg6D,wBAAyBysD,EAAczsD,wBACvC7nF,yBAA2BtlH,GACvB05P,EAAI,4BAA4B,IAAME,EAAct0I,yBAAyBtlH,IAAIA,GACrF+oN,iCAAkC,CAAC/oN,EAAGw+C,EAAGz+C,IACrC25P,EAAI,oCAAoC,IAAME,EAAc7wC,iCAAiC/oN,EAAGw+C,EAAGz+C,IAAIC,GAC3Gq6O,6BAA8Buf,EAAcvf,6BAC5CpoB,6BAA8B2nC,EAAc3nC,6BAC5C5tB,8BAAgCryM,GAC5B0nQ,EAAI,iCAAiC,IAAME,EAAcv1D,8BAA8BryM,IAAIA,GAC/Fg2M,8BAA+B,CAACjqJ,EAAG1nD,IAC/BqjQ,EAAI,iCAAiC,IAAME,EAAc5xD,8BAA8BjqJ,EAAG1nD,IAAI0nD,GAClG07K,4BAA6B,CAAChkO,EAAGsoD,EAAG1nD,IAAMujQ,EAAcngC,4BAA4BhkO,EAAGsoD,EAAG1nD,GAC1FqtH,eAAgB,CAAC1xH,EAAG9B,IAAMwpQ,EAAI,kBAAkB,IAAME,EAAcl2I,eAAe1xH,EAAG9B,IAAI8B,GAC1Fg3J,gBAAkB/2J,GAAMynQ,EAAI,mBAAmB,IAAME,EAAc5wG,gBAAgB/2J,IAAIA,EAAEk6E,QACzF8zH,wBAAyB25D,EAAc35D,wBACvC0xB,eAAgBioC,EAAcjoC,eAC9BjyB,6BAA8Bk6D,EAAcl6D,6BAC5C39C,4BAA6B63G,EAAc73G,4BAC3C5F,qBAAsB,CAACnqJ,EAAGlG,EAAGuK,IACzBqjQ,EAAI,wBAAwB,IAAME,EAAcz9G,qBAAqBnqJ,EAAGlG,EAAGuK,IAAIrE,GACnF0nJ,8BAA+B,CAAC1nJ,EAAGgS,IAC/B01P,EAAI,iCAAiC,IAAME,EAAclgH,8BAA8B1nJ,EAAGgS,IAAIhS,GAClGu7M,mBAAqBr5M,GAAMwlQ,EAAI,sBAAsB,IAAME,EAAcrsD,mBAAmBr5M,IAAIA,GAChGswM,yBAA0Bo1D,EAAcp1D,yBACxC79E,cAAe,CAAC5mH,EAAGC,EAAG3J,EAAGpE,EAAG62C,IAAM4wN,EAAI,iBAAiB,IAAME,EAAcjzI,cAAc5mH,EAAGC,EAAG3J,EAAGpE,EAAG62C,IAAI/oC,GACzG2vM,kBAAmB,CAACx/M,EAAG0T,EAAG7D,EAAGtK,IACzBikQ,EAAI,qBAAqB,IAAME,EAAclqD,kBAAkBx/M,EAAG0T,EAAG7D,EAAGtK,IAAImO,GAChFqqM,6BAA8B,CAACluM,EAAGC,IAC9B05P,EAAI,gCAAgC,IAAME,EAAc3rD,6BAA6BluM,EAAGC,KAC5F8gM,uBAAwB84D,EAAc94D,uBACtC/E,iBAAkB69D,EAAc79D,iBAChCuB,cAAes8D,EAAct8D,cAC7By6B,2BAA4B6hC,EAAc7hC,2BAC1C9wG,SAAU,CAACh1H,EAAGD,IAAM0nQ,EAAI,YAAY,IAAME,EAAc3yI,SAASh1H,EAAGD,IAAIA,GACxEkpK,WAAY,CAACjpK,EAAGD,IAAM0nQ,EAAI,cAAc,IAAME,EAAc1+F,WAAWjpK,EAAGD,IAAIA,GAC9EmpK,eAAgB,CAAClpK,EAAGD,IAAM0nQ,EAAI,kBAAkB,IAAME,EAAcz+F,eAAelpK,EAAGD,IAAIA,GAC1FopK,cAAe,CAACppK,EAAG+rD,IAAM27M,EAAI,iBAAiB,IAAME,EAAcx+F,cAAcppK,EAAG+rD,IAAI/rD,GACvFqpK,cAAe,CAACppK,EAAGD,IAAM0nQ,EAAI,iBAAiB,IAAME,EAAcv+F,cAAcppK,EAAGD,IAAIA,GACvF+zH,cAAe,CAAChmH,EAAGmW,EAAGjkB,EAAGD,IAAM0nQ,EAAI,iBAAiB,IAAME,EAAc7zI,cAAchmH,EAAGmW,EAAGjkB,EAAGD,IAAIA,GACnGmzM,0BAA2B,CAACr8J,EAAG/oC,EAAGmW,EAAGjkB,EAAG+2C,IACpC0wN,EAAI,6BAA6B,IAAME,EAAcz0D,0BAA0Br8J,EAAG/oC,EAAGmW,EAAGjkB,EAAG+2C,KAC/F68E,UAAW,CAAC9nE,EAAGtoD,IAAMikQ,EAAI,aAAa,IAAME,EAAc/zI,UAAU9nE,EAAGtoD,IAAIsoD,GAC3Es8J,mBAAqBt8J,GAAM27M,EAAI,sBAAsB,IAAME,EAAcv/C,mBAAmBt8J,IAAIA,GAChG4uM,iBAAkBiN,EAAcjN,iBAChCltD,mBAAoBm6D,EAAcn6D,mBAClCihB,eAAgBk5C,EAAcl5C,eAC9BqG,qBAAsB6yC,EAAc7yC,sBDunBlB8yC,CACdroQ,KAAKyjQ,cACL,CACI7mH,eAAgBqmH,GAAQqF,mBAAmBtoQ,KAAKqzE,gBAChD40L,SAAUjoQ,KAAKqzE,eAAe0zF,sBAC9BohG,wBAAyBnoQ,KAAKqzE,eAAe2zF,4BAC7CE,4BAA6BlnK,KAAKqzE,eAAe6zF,4BACjD++D,8BAA+BjmO,KAAKqzE,eAAe4yJ,4BACnDtQ,gCAAiC31N,KAAKqzE,eAAeo3I,kBAEzDzqN,KAAKgkN,YACLhkN,KAAKqzE,eAAe0zF,sBACdokD,GACInrN,KAAKupH,gBAAgB5yC,eACjB32E,KAAKqzE,eAAeywE,oBAAoB9jJ,KAAKqzE,eAAemzF,oBAGpE1nK,GAGHkB,KAAKypH,WAGR8+I,WAAWC,EAA6B7iO,GAC5C,GAAK3lC,KAAKyoQ,cAAcD,IAAiBA,EAAYz9I,WAAWs7F,oBAI5DmiD,EAAYz9I,WAAWp5G,MAAM3R,KAAKqzE,eAAgBrzE,KAAKupH,gBAAiB5jF,KACxE3lC,KAAKwjQ,mBACLxjQ,KAAK0oQ,yBAAyBF,EAAaxoQ,KAAKqzE,iBAGhDm1L,EAAYz9I,WAAWq7F,iBAAiB,CACxCoiD,EAAYnE,WAAY,EAIxB,MAAMsB,EAAe,IAAI7nP,IACzB9d,KAAKwlQ,wBAAwBgD,EAAa7C,GAG1C3lQ,KAAKupH,gBAAgB71C,mBAMrBmwL,UAAU8E,EAA+BhjO,G,QAC7C,IAAK3lC,KAAKyoQ,cAAcE,KAAmBA,EAAc59I,WAAWu7F,oBAChE,OAGJtmN,KAAKuoQ,WAAWI,EAAehjO,GAE/B,MAAMijO,EAAuBpgM,IACzB,IAAKA,GAAYA,IAAamgM,EAC1B,OAIJ,GADA3oQ,KAAK6jQ,UAAUr7L,GACXA,EAASuiD,WAAWq7F,gBACpB,OAGJ,MAAMt6I,EAAetD,EAASuiD,WAAWf,kBACzC,IAAKl+C,EACD,OAGJ,MAAMjE,EAAQ,GAA0BiE,EAAa5B,WAGrD,OAFApY,OAAiBhzD,IAAV+oE,GAEAA,GAGX,IAAIwsH,EACAs0E,EAAcE,gBAAkBF,EAAcE,iBAAmBF,IAGjEt0E,EAE2D,QADvD,EAAoD,QAApD,EAAAu0E,EAAoBD,EAAcrD,0BAAkB,QACpDsD,EAAoBD,EAAcG,6BAAqB,QACvDF,EAAoBD,EAAcE,iBAG1CF,EAAc59I,WAAW5vG,KAAKnb,KAAKqzE,eAAgBrzE,KAAKyjQ,cAAepvE,GAuEnE00E,uBACJC,EACAC,EACAC,EACAloP,GAGA,O1C11BD,SACHq4C,EACA6vM,EACAloP,GAEA,MAAMusI,EAAkB,IAAIzvI,IAkE5B,OAhEA,GAA6BkD,GAE7Bq4C,EAAM/zC,SAASoK,IACX,GAAIA,EAAKu1O,QAAQjqQ,OAAS,EAGtB,OAGJ,MAAM6gE,EAAWnsC,EAAKq7F,WAAWwB,cAC3B9e,EAAc/9E,EAAKq7F,WAAWm6F,uBACpC,GAAIz3G,EAAa,CAKb,GAAI,GAJa90C,GAAmBD,GAAYmD,KAK5C,OAoCJ,YAjCA0xF,EAAgBpoJ,IAAI02D,EAAU,CAC1Bv2C,QAAQgD,GACJmlF,EAAYnoF,SAAQ,CAACq1D,EAAQtuE,KACzB,GAAIsuE,EAAOkzB,qBACP,OAGJ,MAAM0yC,EAAe5lE,EAAOy+B,kBAC5B,IAAKmnC,GAAwC,IAAxBA,EAAavlJ,OAC9B,OAGJ,MAAMgtE,EAAcu4E,EAAa,GACjC,IAAKv4E,EACD,OAGJ,GAAyB,IAArBA,EAAYhpE,KAGZ,OAGJ,MAAMmqQ,EACmB,IAArBnhM,EAAYhpE,MACXgpE,EAAYmqF,YACZnqF,EAAY2zB,aAEP78F,EADA,GAAA+/B,WAAA,SAEVvW,EAAW,CAAEqyD,SAAQxtD,KAAMg8O,GAAgB98P,GAAoB,SAQ/E,MAAM6nJ,EAAexkI,EAAKq7F,WAAW07F,wBACjCvyD,GAAgBg1G,IAA4Bh1G,EAAaC,oBACzD5G,EAAgBpoJ,IAAI02D,EAAU04F,GAAuCL,GAA4B,OAKlG3G,E0CmxBI67G,CACHppQ,KAAKsjQ,gBAAgBz6M,QAChBr6C,GAAMA,IAAMw6P,KAAwBC,GAAejpQ,KAAK0mQ,YAAYl4P,MAEzE06P,EACAloP,GAIAglP,iBAAiBx9L,GAErB,QAAIA,EAASs8L,kBAMR9kQ,KAAKqzE,eAAe4yL,qBAAsBz9L,EAAS67L,WAOpDmC,YAAY6C,GAChB,OAAOrpQ,KAAKgkN,YAAYp1M,IAAI,cAAcy6P,EAAYt+I,WAAWwB,iBAAkB06F,IAI/E,IAAKjnN,KAAKyoQ,cAAcY,GAEpB,OADApiD,EAASxhI,YACF,EAGX,IAAK4jL,EAAYt+I,WAAWy7F,qBAExB,OADAS,EAASxhI,YACF,EAGX,IAAKzlF,KAAKgmQ,iBAAiBqD,GAEvB,OADApiD,EAASxhI,YACF,EAKX,GAFAzlF,KAAK6jQ,UAAUwF,GAEXrpQ,KAAK0kQ,kBAAmB,CACxB,MAAM54L,EAAeu9L,EAAYt+I,WAAWf,kBACxCl+C,GACA9rE,KAAK0kQ,kBAAkB54L,EAAc9rE,KAAKypH,YAalD,GATKzpH,KAAKqjQ,iBACNgG,EAAYt+I,WAAWzyF,MAAMt4B,KAAKypH,YAKtCzpH,KAAK8mQ,yBAG4D,SAA7D9mQ,KAAKqzE,eAAemhD,kBAAkB4uC,qBAGjCpjK,KAAK4kQ,0BAA2B,CAGjC,MAAM0E,EAAa,IAAIxrP,IACvB9d,KAAKupQ,qBAAqBF,EAAaC,EAAY,GAEnDA,EAAWhkP,SAASoK,IAChByxD,GAAYO,mBAAmBZ,eAAc,KACzC9gF,KAAKwpQ,6BAA6B95O,SAMlD,OAAO,KAQP65O,qBACJ75O,EACA45O,EACA7hK,GAIA,MAAM5rC,EAAWD,GAAkB57D,KAAKw7J,IAAK9rI,EAAKq7F,WAAWwB,eAC7D,IAAI+8I,EAAWllP,IAAIy3C,GAMnB,GAAI4rC,EAj8BY,IAk8BZ/3E,EAAKq7F,WAAW+7F,qBAl8BJ,SAi8BhB,CAMAwiD,EAAWnkQ,IAAI02D,EAAUnsC,GAGzB,IAAK,MAAM+5O,KAAoB/5O,EAAK47C,QAChCtrE,KAAKupQ,qBAAqBE,EAAkBH,EAAY7hK,EAAiB,IAIzE+hK,6BACJ9F,EACAgG,EAAoC,GACpCC,EAAgB,IAAI7rP,KAGpB,GAAI4lP,EAAe34I,WAAWn2C,cAAgB8uL,EAAenhD,mBACzD,OAGJ,MAAM1mJ,EAAWD,GAAkB57D,KAAKw7J,IAAKkoG,EAAe34I,WAAWwB,eACvE,GAAIo9I,EAAcvlP,IAAIy3C,GAId6tM,EAAgB1uQ,OAAS,GAAK0oQ,IAAmBgG,EAAgB,IACjE1pQ,KAAK4pQ,gBAAgBF,OAEtB,CAGH,GAAIC,EAAcvlP,IAAIy3C,GAClB,OAOJ8tM,EAAcxkQ,IAAI02D,GAAU,GAC5B6tM,EAAgBruQ,KAAKqoQ,GAErB,IAAK,MAAMt0G,KAAOs0G,EAAep4L,QAC7BtrE,KAAKwpQ,6BAA6Bp6G,EAAKs6G,EAAiBC,GAK5DA,EAAcxkQ,IAAI02D,GAAU,GAC5B6tM,EAAgBzvN,OAIhB2vN,gBAAgBF,GACpB,MAAMG,EAAU,IAAI3oG,GACpBwoG,EAAgBpkP,SAASo+O,IACrBmG,EAAQzoG,WAAWsiG,EAAe34I,WAAWwB,kBAGjDs9I,EAAQvoG,iBACR,MAAMwoG,EAAgBD,EAAQxoG,WAAW,GACnC0oG,EAAkB/pQ,KAAK2jQ,2BAA2BmG,GACxDh4M,OAA2BhzD,IAApBirQ,GACPA,EAAgBh/I,WAAW47F,sBAAsBkjD,GAG7CrE,wBACJ9B,EACAsG,EACArkD,GAAiB,GAEjB,MAAM9pJ,EAAWD,GAAkB57D,KAAKw7J,IAAKkoG,EAAe34I,WAAWwB,eAGlEy9I,EAAQ5lP,IAAIy3C,KACb6nM,EAAe34I,WAAW26F,uBAAuBC,GACjDqkD,EAAQ7kQ,IAAI02D,GAAU,GAEtB6nM,EAAesB,WAAW1/O,SAASuhM,IAG/B,MAAMlB,EAAiBkB,EAAIy+C,oBAAsB5B,EACjD1jQ,KAAKwlQ,wBAAwB3+C,EAAKmjD,EAASrkD,OAKvDskD,eAAepuM,EAAkBpvD,EAAcuU,GAC3C,MAAM0iP,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACvD,IAAK6nM,EACD,OAGJ,MAAM34I,EAAa24I,EAAe34I,WAC5B4tD,EAAe5tD,EAAW86F,sBAChC,YAAqB/mN,IAAjB65K,EAKG34K,KAAKomQ,mCAAmCplP,GAAO,KAClDhhB,KAAKuoQ,WAAW7E,GAEhB,MAAMx5L,EAAY6gD,EAAWf,kBACvBitD,EAAYzxG,GAAwB/4D,EAAOy9D,EAAUiD,gBAAgB3lB,OAC3E,GAAKyvH,EAIL,OAAO0B,EAAa32K,OAAOi1K,EAAUn7K,MAAOm7K,EAAUj8K,gBAd1D,EAkBJkvQ,eACIruM,EACApvD,EACA2gJ,EACAQ,EACAD,EACA9D,EACAkM,EACA/0I,GAEA,MAAM0iP,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACvD,IAAK6nM,EACD,MAAO,GAGX,MAAM34I,EAAa24I,EAAe34I,WAC5B4tD,EAAe5tD,EAAW86F,sBAChC,YAAqB/mN,IAAjB65K,EAEO,GAGJ34K,KAAKomQ,mCAAmCplP,GAAO,KAClDhhB,KAAK6jQ,UAAUH,GAEf,MAAMx5L,EAAY6gD,EAAWf,kBACvBitD,EAAYzxG,GAAwB/4D,EAAOy9D,EAAUiD,gBAAgB3lB,OAC3E,IAAKyvH,EACD,MAAO,GAGX,MAAM1sB,EAAc30D,GAAiB1rB,EAAUA,UAAW+sG,EAAUn7K,OACpE,IAAKyuJ,EACD,MAAO,GAGX,MAAM4/G,EAAcxxF,EAAa32K,OAAOi1K,EAAUn7K,MAAOm7K,EAAUj8K,QAC7D8oB,EAAM9jB,KAAK+oQ,uBACbrF,IACE/1G,GAC4B,EAC9B3sI,GAEEysI,EAAe,IAAIC,GACrB1tJ,KAAKqzE,eAAeywE,oBAAoBjoF,GACxC77D,KAAKupH,gBACLr/C,EACAz9D,EAAM3Q,MACN,IAAIopJ,GACJphI,EACA,CACI+lI,WACAkM,qBACApI,aACA+I,eAAgB,CAAClkJ,EAAG+5C,I1FprCjC,SAAqCsG,EAAoBC,GAC5D,GAAIA,EAAW0C,WAAW3C,GACtB,OAAO,EAGX,MAAMI,EAAcH,EAAWE,oBACzBD,EAAaF,EAAWG,oBAE9B,GAAIC,EAAYuC,WAAWzC,GACvB,MAAO,IAMX,IAAIq3M,EAAqBn3M,EAAYj4D,OACjCqvQ,EAAuB1oQ,OAAOs4B,UAClC,KAAOmwO,EAAqB,GAAG,CAC3B,MAAME,EAAe,IAAMr3M,EAAYjxD,OAAO,EAAGooQ,GAAqBr3M,GAClEu3M,EAAeD,IACfA,EAAuBC,GAE3BF,IAQJ,OAAIC,GAAwBx3M,EAAW73D,OAC5B,GAGS63D,EAAW73D,OAASqvQ,GAAwBx3M,EAAW73D,OACpE,G0FipCmCuvQ,CAA4B/3P,EAAG+5C,GAAK6gG,IAKhE/E,EAA8B,GAE9B6jG,EAAehoJ,GAAgBqmD,GACrC,GAAI2hG,EAAc,CACd,MAAMjwO,EAAO2xI,aAAO,EAAPA,EAASrpJ,IAAI4lQ,GACtBluP,GAEAosI,EAAQhtJ,QAAQoyJ,EAAaI,+BAA+Bs8G,EAAaluP,EAAM+E,IAGnFqnI,EAAQhtJ,QACDoyJ,EACEK,wBAAwBq8G,EAAa/8G,OAAiBtuJ,EAAWkiB,GACjE6nC,QAAQnkC,IAAOwnO,EAAavqG,sBAAsBj9H,EAAErY,SAIjE,OAAOg8I,KAIf5lE,eAAeruE,GACX,MAAMo2P,EAAqCxqQ,KAAKukQ,uBAmChD,OAjCAvkQ,KAAKsjQ,gBAAgBh+O,SAASo+O,IAC1B,GAAI1jQ,KAAKgmQ,iBAAiBtC,GAAiB,CACvC,MAAM9+N,EAAc8+N,EAAe34I,WAAWtoC,eAC1CruE,EACAsvP,EAAeqB,yBAECjmQ,IAAhB8lC,IACA4lO,EAAgBnvQ,KAAK,CACjBwgE,SAAU6nM,EAAe34I,WAAWwB,cACpC/uG,QAASkmP,EAAe34I,WAAW66F,mBACnChhL,gBAKJ8+N,EAAeqB,mBAAqBrB,EAAe34I,WAAWk5F,6BAGjEy/C,EAAeoB,gBAChB1wP,EAAQ6xP,yBAC8BnnQ,IAAtC4kQ,EAAeqB,qBAIfyF,EAAgBnvQ,KAAK,CACjBwgE,SAAU6nM,EAAe34I,WAAWwB,cACpC/uG,QAASkmP,EAAe34I,WAAW66F,mBACnChhL,YAAa,KAEjB8+N,EAAeqB,wBAAqBjmQ,MAIrC0rQ,EAGXC,uBAAuB5uM,EAAkBpvD,GACrC,MAAMs+G,EAAa/qH,KAAKkmQ,cAAcrqM,GACtC,IAAKkvD,EACD,MAAO,GAGX,MAAM2/I,EAAwB3/I,EAAWtoC,eAAeziF,KAAKqzE,gBAC7D,OAAKq3L,EAIEA,EAAsB7hN,QAAQ2mE,GAC1B7qD,GAAkB6qD,EAAK/iH,MAAOA,KAJ9B,GAQfm7M,0BACI/rJ,EACAp/B,EACAosB,EACA7nC,GAEA,OAAOhhB,KAAKomQ,mCAAmCplP,GAAO,KAClD,MAAM0iP,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACvD,IAAK6nM,EACD,OAGJ1jQ,KAAK6jQ,UAAUH,GAEf,MAAM3gM,EAAU/iE,KAAKqzE,eAAeywE,oBAAoBjoF,GACxD,OAAO6nM,EAAe34I,WAAW68F,0BAC7B5nN,KAAK2qQ,oBAAoB5nM,GACzBtmC,EACAosB,EACA7oD,KAAKypH,WACLzoG,MAKZ6mM,8BACIhsJ,EACAp/B,EACAzb,GAEA,OAAOhhB,KAAKomQ,mCAAmCplP,GAAO,KAClD,MAAM0iP,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACvD,IAAK6nM,EACD,OAGJ1jQ,KAAK6jQ,UAAUH,GAEf,MAAM3gM,EAAU/iE,KAAKqzE,eAAeywE,oBAAoBjoF,GACxD,OAAO6nM,EAAe34I,WAAW88F,8BAC7B7nN,KAAK2qQ,oBAAoB5nM,GAA2B,GAAyB,GAC7EtmC,EACAz8B,KAAKypH,WACL5tD,EACA76C,MAKZ4pP,4BACI/uM,EACAp/B,EACA+9H,EACAJ,EACAp5I,GAEAhhB,KAAKomQ,mCAAmCplP,GAAO,KAC3C,MAAM0iP,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACvD,IAAK6nM,EACD,OAGJ,MAAMmH,EAAsB7qQ,KAAK0mQ,YAAYhD,GAC7C1jQ,KAAK6jQ,UAAUH,GAEf,MAAM3gM,EAAU/iE,KAAKqzE,eAAeywE,oBAAoBjoF,GAClD0+F,EAAmBmpG,EAAe34I,WAAW+8F,0BAC/C9nN,KAAK2qQ,oBAAoB5nM,GACzBtmC,EACAz8B,KAAKypH,WACL2wC,EACAp5I,GAGJ,GAAKu5I,EAKL,GAAIA,EAAiBhB,qBAAsB,CACvC,IAAK,MAAMuxG,KAAqB9qQ,KAAKsjQ,gBAKjC,GAJA,GAA6BtiP,GAKzB8pP,EAAkBhG,iBACjB+F,GACD7qQ,KAAK0mQ,YAAYoE,GACnB,CAGE,MAAMnyF,EAAemyF,EAAkB//I,WAAW+6F,mBAC7CntC,GAAgBA,EAAa10E,OAAOs2D,EAAiBznG,aAAe,KACrE9yD,KAAK6jQ,UAAUiH,GAEfA,EAAkB//I,WAAWg9F,cACzBxtD,EACAC,EACAx6J,KAAKypH,WACLzoG,IAMRhhB,KAAK8mQ,yBAMb,GAAItsG,EACA,IAAK,MAAMtyF,KAAQqyF,EAAiBha,aAAc,CAG9C,GAFA,GAA6Bv/H,GAEzBu5I,EAAiBwwG,UAAUt8M,MAAMoB,GAAMA,EAAE9gD,OAASm5D,EAAKn5D,OAEvD,SAGJ,MAAMi8P,EAAehrQ,KAAK2jQ,2BAA2Bz7L,EAAKn5D,MAC1D,IAAKi8P,EAED,SAGJ,MAAMC,EAAa,IAAI3xG,GACnBiB,EAAiBhB,qBACjBgB,EAAiBf,aACjBe,EAAiBznG,WACjBynG,EAAiBha,cAGrByqH,EAAajgJ,WAAWg9F,cAAckjD,EAAYzwG,EAAoBx6J,KAAKypH,WAAazoG,GACxF,IAAK,MAAMkqP,KAAOD,EAAWF,UAErBG,EAAIn8P,OAASm5D,EAAKn5D,MAAQ61D,GAAiBsD,EAAKz7D,MAAOy+P,EAAIz+P,QAC3D8tJ,EAAiBZ,aAAauxG,SAM9CxH,EAAe34I,WAAWg9F,cAAcxtD,EAAkBC,EAAoBx6J,KAAKypH,WAAazoG,MAK5GmqP,aAAatvM,EAAkBznD,EAAuB4M,GAClD,IAAI5M,EAAQg4J,4BAIJ7iG,GADS5Q,GAAmBD,GAAYmD,KAQhD,OAFA77D,KAAK8mQ,yBAEE9mQ,KAAKomQ,mCAAmCplP,GAAO,K,MAClD,MAAM0iP,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACvD,IAAK6nM,EACD,OAGJ,MAAM/9N,EAAoD,QAA1C,EAAA+9N,EAAe34I,WAAW+6F,wBAAgB,QAAI,GAC9D,OACI1xM,EAAQg4J,4BACPs3F,EAAe34I,WAAWn2C,eAC1B8uL,EAAe34I,WAAWy3F,8BAIvB78K,EAAQ9pC,QAAQ,WAAa,OAPrC,GAYAmE,KAAK6jQ,UAAUH,EAAgB/9N,GACxB+9N,EAAe34I,WAAW5gG,MAAM/V,EAAS4M,OAIxDoqP,sBAAsBvvM,EAAkBowG,EAA8BjrJ,GAClE,OAAOhhB,KAAKomQ,mCAAmCplP,GAAO,KAClD,MAAM0iP,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACnD6nM,IACKA,EAAe34I,WAAW07F,yBAE3BzmN,KAAK6jQ,UAAUH,GAGnBA,EAAe34I,WAAWi9F,kCAAkC/7C,EAAYjrJ,OAKpFqqP,0BAA0B/6M,EAAe8pG,EAAmCp5I,GACxEhhB,KAAKomQ,mCAAmCplP,GAAO,KAG3C,GAAKsvC,EAKL,IAAK,MAAMozM,KAAkB1jQ,KAAKsjQ,gBAAiB,CAC/C,IAAKtjQ,KAAK0mQ,YAAYhD,GAClB,SAGCA,EAAe34I,WAAW07F,yBAE3BzmN,KAAK6jQ,UAAUH,GAGnB,MAAMz3F,EAAay3F,EAAe34I,WAAWk9F,sBAAsB33J,EAAOtvC,GACtEirJ,EAAWjxK,OAAS,GACpBo/J,EAAS6R,GAKbjsK,KAAK8mQ,6BAKjB5+C,oBACIrsJ,EACAp/B,EACAprB,EACA2P,GAEA,OAAOhhB,KAAKomQ,mCAAmCplP,GAAO,KAClD,MAAM0iP,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACvD,IAAK6nM,EACD,OAGJ1jQ,KAAK6jQ,UAAUH,GAEf,MAAM3gM,EAAU/iE,KAAKqzE,eAAeywE,oBAAoBjoF,GACxD,OAAO6nM,EAAe34I,WAAWm9F,oBAC7BloN,KAAK2qQ,oBAAoB5nM,GAA2B,GACpDtmC,EACAprB,EACArR,KAAKypH,WACLzoG,MAKZooM,qBACIvtJ,EACAp/B,EACAzb,GAEA,OAAOhhB,KAAKomQ,mCAAmCplP,GAAO,KAClD,MAAM0iP,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACvD,IAAK6nM,EACD,OAGJ1jQ,KAAK6jQ,UAAUH,GAEf,MAAM3gM,EAAU/iE,KAAKqzE,eAAeywE,oBAAoBjoF,GACxD,OAAO6nM,EAAe34I,WAAWq+F,qBAC7BppN,KAAK2qQ,oBAAoB5nM,GACzBtmC,EACAz8B,KAAKypH,WACLzoG,MAKZqoM,4BACIxtJ,EACAp/B,EACAprB,EACA2P,GAEA,OAAOhhB,KAAKomQ,mCAAmCplP,GAAO,KAClD,MAAM0iP,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACvD,IAAK6nM,EACD,OAGJ1jQ,KAAK6jQ,UAAUH,GAEf,MAAM3gM,EAAU/iE,KAAKqzE,eAAeywE,oBAAoBjoF,GACxD,OAAO6nM,EAAe34I,WAAWs+F,4BAC7B5sL,EACAz8B,KAAK2qQ,oBAAoB5nM,GAA2B,GACpD/iE,KAAKypH,WACLp4G,EACA2P,MAKZ,gCACI66C,EACAp/B,EACAkzH,EACAv7I,EACAw5I,EACAD,EACA3sI,G,QAEA,MAAM0iP,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACvD,IAAK6nM,EACD,OAGJ,MAAM4H,EAAmBtrQ,KAAKgkN,YAAYp1M,IACtC,iBAAiBitD,KAAYp/B,EAASvC,QAAQuC,EAAStC,aACtDwtL,I,QACG,MAAM3nM,EAAShgB,KAAKomQ,mCAAmCplP,GAAO,KAC1DhhB,KAAK6jQ,UAAUH,GAEf,MAAM3gM,EAAU/iE,KAAKqzE,eAAeywE,oBAAoBjoF,GACxD,OAAO6nM,EAAe34I,WAAWg5B,0BAC7BtnH,EACAkzH,EACA3vJ,KAAKqzE,eACLrzE,KAAKupH,gBACLvpH,KAAKyjQ,cACLzjQ,KAAKypH,WACLr1G,EACApU,KAAK2qQ,oBAAoB5nM,GAA2B,GACpD6qF,EACAD,GACA,IACI3tJ,KAAK+oQ,uBACDrF,IACE/1G,GAC4B,EAC9B3sI,IAERA,MAKR,OADA2mM,EAAG/hM,IAAI,SAAoC,QAA3B,EAAqB,QAArB,EAAA5F,aAAM,EAANA,EAAQilI,qBAAa,eAAE3lJ,YAAI,QAAI,gBACxC0gB,KAITurP,EAA+C,CACjDC,eAAgB,GAAAltO,eAAA,OAAqD,QAA/B,EAAAgtO,aAAgB,EAAhBA,EAAkBrmH,qBAAa,eAAE4N,WACvEnK,iBAAkB4iH,aAAgB,EAAhBA,EAAkB5iH,iBACpC4F,eAAgBg9G,aAAgB,EAAhBA,EAAkBh9G,eAClCm9G,cAAeH,aAAgB,EAAhBA,EAAkBG,eAGrC,KAAKH,aAAgB,EAAhBA,EAAkBrmH,kBAAiC,QAAf,EAAAjlJ,KAAKojQ,kBAAU,eAAEsI,yBACtD,OAAOH,EAGX,MAAMz/L,EAAe43L,EAAe34I,WAAWf,kBAC/C,IAAIl+C,aAAY,EAAZA,EAAc5B,aAAa4B,aAAY,EAAZA,EAAc10C,MAAM,CAC/C,MAAM11B,EAAS,GAAwB+6B,EAAUqvC,EAAaqB,gBAAgB3lB,YAC/D1oD,IAAX4C,SACM1B,KAAKojQ,WAAWsI,wBAAwBC,wBAC1CJ,EACAz/L,EACApqE,EACAsf,GAKZ,OAAOuqP,EAGX5lH,sBACI9pF,EACA+pF,EACAxxI,EACAw5I,EACAD,EACA3sI,GAEA,OAAOhhB,KAAKomQ,mCAAmCplP,GAAO,KAClD,MAAM0iP,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACvD,IAAK6nM,EACD,OAGJ1jQ,KAAK6jQ,UAAUH,GAEf,MAAM3gM,EAAU/iE,KAAKqzE,eAAeywE,oBAAoBjoF,GACxD6nM,EAAe34I,WAAW46B,sBACtB3lJ,KAAKqzE,eACLrzE,KAAKupH,gBACLvpH,KAAKyjQ,cACLzjQ,KAAKypH,WACLr1G,EACApU,KAAK2qQ,oBAAoB5nM,GAA2B,GACpD6qF,EACAD,GACA,IACI3tJ,KAAK+oQ,uBACDrF,IACE/1G,GAC4B,EAC9B3sI,IAER4kI,EACA5kI,MAKZ4qP,aAAa78P,EAAcstJ,EAAiBr7I,GACxC,OAAOhhB,KAAKomQ,mCAAmCplP,GAAO,KAClD,GAAI83C,GAAO94D,KAAKw7J,IAAKzsJ,KACA/O,KAAK2jQ,2BAA2B50P,GAE7C,OAIR,MAAM88P,EAAuBtwG,GAAqBuwG,gBAC9C9rQ,KAAKupH,gBACLvpH,KAAKqzE,eACLrzE,KAAKypH,WACL16G,EACAstJ,EACAr7I,GAEJ,OAAK6qP,GAIL7rQ,KAAK+rQ,yBAAyBF,EAAsBA,EAAqBvtG,eAAgBvvJ,GAClF88P,EAAqBjsG,iBAL5B,KASRosG,qBACInwM,EACAowM,EACAxvO,EACAzb,GAEA,OAAOhhB,KAAKomQ,mCAAmCplP,GAAO,KAClD,MAAMwnD,EAAWxoE,KAAK2jQ,2BAA2B9nM,GACjD,IAAK2M,EACD,OAGJxoE,KAAK6jQ,UAAUr7L,GACf,MAAMsD,EAAetD,EAASuiD,WAAWf,kBACzC,IAAKl+C,EACD,OAGJ,MAAMpqE,EAAS,GAAwB+6B,EAAUqvC,EAAaqB,gBAAgB3lB,OAC9E,QAAe1oD,IAAX4C,EACA,OAGJ,MAAMgmE,EAAOkuB,GAAiB9pB,EAAa5B,UAAWxoE,GACtD,QAAa5C,IAAT4oE,EACA,OAIJ,GAAsB,KAAlBA,EAAKjB,SACL,OAGJ,MAAM1D,EAAU/iE,KAAKqzE,eAAeywE,oBAAoBjoF,GAClD0kF,EAAeV,GAAwBW,uBACzC94E,EACA1nE,KAAKypH,YACmB,EACxBzoG,EACAhhB,KAAK2qQ,oBAAoB5nM,IAGvB8oM,EAAuBtwG,GAAqB2wG,gBAC9ClsQ,KAAKupH,gBACLvpH,KAAKqzE,eACLrzE,KAAKypH,WACL5tD,EACAowM,EACA1rH,EACAv/H,GAEJ,OAAK6qP,GAIL7rQ,KAAK+rQ,yBAAyBF,EAAsBnkM,EAAKpqE,MAAOu+D,GACzD,CAAE7+B,MAAO6uO,EAAqBjsG,WAAYusG,eAAgB,UALjE,KASRC,uBACIvwM,EACAp/B,EACAmkI,EACAyrG,EACArrP,GAEA,OAAOhhB,KAAKomQ,mCAAmCplP,GAAO,KAClD,MAAM0iP,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACvD,IAAK6nM,EACD,OAGJ1jQ,KAAK6jQ,UAAUH,GAEf,MAAM3gM,EAAU/iE,KAAKqzE,eAAeywE,oBAAoBjoF,GAClD0+F,EAAmBmpG,EAAe34I,WAAW+8F,0BAC/C9nN,KAAK2qQ,oBAAoB5nM,GACzBtmC,EACAz8B,KAAKypH,gBACL3qH,EACAkiB,GAGJ,IAAKu5I,EACD,OA4BJ,GAxBAprG,EAAoBorG,EAAiBha,cAAehyI,I,MAChD,SAAKw3E,GAAmBx3E,IAKnBA,EAAEktF,eAAkBltF,EAAEm5D,MAMH,KAApBn5D,EAAEm5D,KAAKjB,WAKK,QAAZ,EAAAl4D,EAAEm5D,KAAKyE,aAAK,eAAE7uE,SAAUi9J,EAAiBznG,eAOJ,IAAzCynG,EAAiBha,aAAavlJ,OAE9B,OAGJ,IACKqxQ,GACD9xG,EAAiBha,aAAa9xF,MAAMlgD,IAAOvO,KAAK0mQ,YAAY1mQ,KAAK2jQ,2BAA2Bp1P,EAAEQ,SAG9F,OAIJ,GAAIwrJ,EAAiBhB,uBAAyB8yG,EAC1C,IAAK,MAAMvB,KAAqB9qQ,KAAKsjQ,gBAG7BtjQ,KAAK0mQ,YAAYoE,KACjB9qQ,KAAK6jQ,UAAUiH,GAEfA,EAAkB//I,WAAWg9F,cAAcxtD,GAAkB,EAAMv6J,KAAKypH,WAAazoG,IAKzFhhB,KAAK8mQ,8BAEFuF,GAAsBrsQ,KAAK0mQ,YAAYhD,KAC9CA,EAAe34I,WAAWg9F,cAAcxtD,GAAkB,EAAMv6J,KAAKypH,WAAazoG,GAGtF,MAAMipM,EAAgC,GAUtC,OARA1vD,EAAiBwwG,UAAUzlP,SAAS4lP,IAChCjhD,EAAY5uN,KAAK,CACbwgE,SAAUqvM,EAAIn8P,KACdtC,MAAOy+P,EAAIz+P,MACXggE,gBAAiBm0F,OAIlBqpD,KAIfqiD,mBAAmBzwM,EAAkBp/B,EAAoBzb,GACrD,MAAM0iP,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACvD,IAAK6nM,EACD,OAEJ1jQ,KAAK6jQ,UAAUH,GAEf,MAAM3gM,EAAU/iE,KAAKqzE,eAAeywE,oBAAoBjoF,GAClD0+F,EAAmBmpG,EAAe34I,WAAW+8F,0BAC/C9nN,KAAK2qQ,oBAAoB5nM,GACzBtmC,EACAz8B,KAAKypH,gBACL3qH,EACAkiB,GAGJ,IAAKu5I,GAA6D,IAAzCA,EAAiBha,aAAavlJ,OACnD,OAGJ,MAAM68J,EAAab,GAAsBu1G,qBACrChyG,EAAiBha,aACjBga,EAAiBf,cAGrB,OAAOxC,GAAsBw1G,sBACzBjyG,EAAiBznG,WACjB+kG,EACA73J,KAAKypH,WACLzoG,GAIRyrP,4BACI5wM,EACAp/B,EACAzb,GAEA,MAAM0iP,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACvD,IAAK6nM,EACD,OAEJ1jQ,KAAK6jQ,UAAUH,GAEf,MAAM3gM,EAAU/iE,KAAKqzE,eAAeywE,oBAAoBjoF,GAClD0+F,EAAmBmpG,EAAe34I,WAAW+8F,0BAC/C9nN,KAAK2qQ,oBAAoB5nM,GACzBtmC,EACAz8B,KAAKypH,gBACL3qH,EACAkiB,GAGJ,IAAKu5I,GAA6D,IAAzCA,EAAiBha,aAAavlJ,OACnD,OAGJ,MAAM68J,EAAab,GAAsBu1G,qBACrChyG,EAAiBha,aACjBga,EAAiBf,cAErB,IAAIz2H,EAAqC,GAEzC,IAAK,MAAM+nO,KAAqB9qQ,KAAKsjQ,gBACjC,GAAItjQ,KAAK0mQ,YAAYoE,IAAsBA,EAAkBhG,eAAgB,CACzE9kQ,KAAK6jQ,UAAUiH,GAEf,MAAM4B,EAAa11G,GAAsB21G,+BACrC7B,EAAkB//I,WAAWwB,cAC7BguC,EAAiBznG,WACjB+kG,EACAizG,EAAkB//I,WAAWf,kBAC7BhqH,KAAKypH,WACLzoG,GAGA0rP,IACA3pO,EAAQA,EAAM/9B,UAAU0nQ,IAK5B1sQ,KAAK8mQ,yBAIb,OAAO/jO,EAGX6pO,4BACI/wM,EACAp/B,EACAzb,GAEA,MAAM0iP,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACvD,IAAK6nM,EACD,OAEJ1jQ,KAAK6jQ,UAAUH,GAEf,MAAM3gM,EAAU/iE,KAAKqzE,eAAeywE,oBAAoBjoF,GAClD0+F,EAAmBmpG,EAAe34I,WAAW+8F,0BAC/C9nN,KAAK2qQ,oBAAoB5nM,GACzBtmC,EACAz8B,KAAKypH,gBACL3qH,EACAkiB,GAGJ,IAAKu5I,GAA6D,IAAzCA,EAAiBha,aAAavlJ,OACnD,OAEJ,MAAM68J,EAAab,GAAsBu1G,qBACrChyG,EAAiBha,aACjBga,EAAiBf,cAGrB,OAAOxC,GAAsB61G,+BACzBh1G,EACA6rG,EAAe34I,WAAWf,kBAC1BhqH,KAAKypH,WACLzoG,GAIRgpM,mBACInuJ,EACAx/B,EACAjlB,EACA4J,GAEA,MAAM0iP,EAAiB1jQ,KAAK2jQ,2BAA2B9nM,GACvD,GAAK6nM,EAML,OAFA1jQ,KAAK6jQ,UAAUH,GAERA,EAAe34I,WAAWi/F,mBAAmB3tL,EAASjlB,EAAM4J,GAGvE8rP,WAAWv1I,EAAmBw1I,GAC1B,MAAMC,EAA6D,IAC5DD,EACH,GAAAjvO,WAAA,WAECha,KAAKmpP,IACF,OAAQA,GACJ,KAAK,GAAAnvO,WAAA,SACD,OAAOs/D,GACX,KAAK,GAAAt/D,WAAA,UACD,OAAO0/D,GACX,QACI,WAGX30C,OAAOnlB,SAAS,GACfwpO,EAAuB7vK,GACzBA,EAAY2vK,EAA4B3vK,QAAav+F,EAEnDkhB,EAA0BljB,OAAOqV,OAAO,MAC9C,IAAK,MAAM64D,KAAcusD,EAAS,CAC9B,MAAM1jD,EAA6C,CAC/CpE,YAAa,EACbC,UAAW1E,EAAWz9D,MAAM,KAC5B0lE,gBAAiB,IAEfpJ,EAAe7pE,KAAKupH,gBAAgB31C,cACtC,GACA5zE,KAAKqzE,eAAeywE,oBAAoB,KACxCjwE,GAEJ,GAAIhK,EAAae,cAAe,CAC5B,MAAMirF,EAAahsF,EAAagB,cAAchB,EAAagB,cAAc7vE,OAAS,GAClFgF,KAAKskQ,gBAAgB,CAACzuG,IAAsC,GAA+B,GAC3F,MAAM9qC,EAAa/qH,KAAKmmQ,mBAAmBtwG,GAC3C,GAAI9qC,EAAY,CACZ,MAAM7gD,EAAY6gD,EAAWf,kBAAmB9/C,UAC1CijM,EAA6B,CAC/BvwP,GAAIouD,EACJ3+D,KAAM2+D,EACN79C,KAAM,SACN4/E,SAAU/hC,EACVqyB,UAAW6vK,EAAoBx0K,GAAaxuB,EAAUO,aACtDzmC,SAAU,IAEdhkB,EAAOgrD,GAAcmiM,EACrB,MAAM5rH,EAAcr9C,GAAgBh6B,GAC9BkjM,EAAsB,CAACvnQ,EAAewnQ,EAAmBz/P,KAC3DA,EAAM0X,SAAQ,CAACq1D,EAAQtuE,KAGnB,IAAKsuE,EAAOkzB,uBAAyBlzB,EAAOg+B,kBAAmB,CAC3D,MAAM35G,EAAOgB,KAAK2nQ,iBAAiBhtL,GAC7BuhB,EAAQvhB,EAAOy+B,kBACfk0J,EAAqBtuQ,GAA0Bk9F,EAAMztC,MAAMlgD,GAAMA,EAAEvP,OAASA,IAClF,GAAIsuQ,EAAkB,IAA0BrnK,GAAQjnG,GAAO,CAC3D,MAAM+tG,EAAW/tG,EAAKunG,QAAQwG,SAC9BlnG,EAAOxK,KAAK,CACRuhB,GAAImwF,EACJ1gG,OACA23B,SAAU,GACVq5D,UAAW6vK,EAAoBluQ,EAAKunG,QAAQlJ,WAC5C0P,WACA5/E,KAAM,QACNohF,YAAavvG,EAAKunG,QAAQgI,YACrBzqF,KAAKytF,IAAc,CAChBllG,KAAOklG,EAAwBhL,QAAQl6F,KACvC0gG,SAAWwE,EAAwBhL,QAAQwG,aAE9ClkD,QAAQ0D,GAAqB,oBAAfA,EAAEwgD,aAEzBqgK,EACIvnQ,EAAOA,EAAO7K,OAAS,GAAGgpC,SAC1B,IAAIqpO,EAAShhQ,GACbrN,EAAKunG,QAAQiE,aAEd,GAAI8iK,EAAkB,IAA6BxmK,GAAW9nG,GAAO,CACxE,MAAM+tG,EAAW/tG,EAAKunG,QAAQwG,SAC9BlnG,EAAOxK,KAAK,CACRuhB,GAAImwF,EACJ1gG,OACAgxF,UAAW6vK,EAAoBluQ,EAAKunG,QAAQlJ,WAC5C0P,WACA5/E,KAAM,WACNhN,OAAQngB,KAAKutQ,kBAAkBvuQ,UAEhC,GAAIsuQ,EAAkB,IAA6BvmK,GAAqB/nG,GAAO,CAClF,IAAIwuQ,EAAS,EACb,IAAK,MAAMnuJ,KAAYrgH,EAAKuqG,UAAW,CACnC,MAAMwD,EAAWsS,EAAS9Y,QAAQwG,SAClClnG,EAAOxK,KAAK,CACRuhB,GAAI,GAAGmwF,KAAYygK,MACnBnhQ,OACAgxF,UAAW6vK,EAAoB7tJ,EAAS9Y,QAAQlJ,WAChD0P,WACA5/E,KAAM,WACNhN,OAAQngB,KAAKutQ,kBAAkBluJ,WAGpC,GAAIiuJ,EAAkB,GAA2B,CACpD,MAAM5wD,EAAWxgH,EAAM3wB,MAClBzmE,GAAiB,IAAXA,EAAE9F,OAEP+tG,EAAW,IAAIsgK,EAAShhQ,GAAM7Q,KAAK,KACzCqK,EAAOxK,KAAK,CACRuhB,GAAImwF,EACJ1gG,OACA0gG,WACA5/E,KAAM,WACNkwE,UAAW6vK,EAAoBxwD,EAASr/G,kBAEzC,GAAIiwK,EAAkB,IAA0BlnK,GAASpnG,GAAO,CACnE,MAAM+tG,EAAW/tG,EAAKgsE,WACtBnlE,EAAOxK,KAAK,CACRuhB,GAAImwF,EACJ1gG,OACA23B,SAAU,GACVq5D,UAAW6vK,EAAoBluQ,EAAKq+F,WACpC0P,WACA5/E,KAAM,WAEVigP,EACIvnQ,EAAOA,EAAO7K,OAAS,GAAGgpC,SAC1B,IAAIqpO,EAAShhQ,GACbrN,EAAKwrG,cAMzB4iK,EAAoBD,EAAanpO,SAAW,CAACgnC,GAAau2E,EAAY9zC,eAKlF,OADAztG,KAAKukQ,uBACEvkP,EAGHutP,kBAAkBvuQ,GACtB,OAAOA,EAAKunG,QAAQljE,WAAWvf,KAAKykI,IAAc,CAC9Cl8I,KAAMk8I,EAAUl8I,KAChB6mF,aAAcq1D,EAAU5I,uBAClBtpD,GAAgBkyD,EAAU5I,uBAAwB,QAClD7gJ,EACNw/D,SAC2B,IAAvBiqF,EAAUjqF,SACJ,SACuB,IAAvBiqF,EAAUjqF,SACV,aACA,iBAIlBmvM,wBAAwB1qM,GACpB,OAAO/iE,KAAK2qQ,oBAAoB5nM,GAAyB,GAGrDgpM,yBACJF,EACA6B,EACAluG,G,MAIA,IAAK,MAAMmuG,KAAmB3tQ,KAAKsjQ,gBAAiB,CAGhD,IAAKtjQ,KAAK0mQ,YAAYiH,GAClB,SAMJ,MAAM9xM,EAAW8xM,EAAgB5iJ,WAAWwB,cACtC5mF,EAAqD,QAA3C,EAAAgoO,EAAgB5iJ,WAAW+6F,wBAAgB,QAAI,GAC/D,GAAIjqJ,IAAa2jG,GAAmB75H,EAAQ9pC,QAAQ6xQ,GAAiB,EACjE,SAGJ1tQ,KAAK6jQ,UAAU8J,EAAiBhoO,GAChC,MAAMioO,EAAcD,EAAgB5iJ,WAAWf,kBAC1C4jJ,IAIL/B,EAAqB9uG,iBAAiBlhG,EAAU+xM,GAIhD5tQ,KAAK8mQ,2BAILA,yBAMJ,GALsB9mQ,KAAKypH,WAAY0xI,mBAKnB,MAAUn7P,KAAKwjQ,iBAAmB,IAAM,CACxD,MAAMqK,EAAc,mBAIpB,GAAIA,EAAYC,SAA6B,GAAlBD,EAAYE,IAAW,CAC9C,MAAMC,EAAelrQ,KAAKwmB,MAAMukP,EAAYE,IAAM,SAC5CE,EAAgBnrQ,KAAKwmB,MAAMukP,EAAYC,SAAW,SAExD9tQ,KAAKsjF,SAASrnE,KACV,oDAAoDgyP,cAA0BD,OAElFhuQ,KAAK8jQ,sBACL9jQ,KAAKkuQ,6BACLluQ,KAAKwjQ,iBAAmB,IAO5B0K,6BACJ,IAAK,MAAMxK,KAAkB1jQ,KAAKsjQ,gBAC9BI,EAAe34I,WAAWu6F,uBAI1BohD,YAAYl+L,GAChB,OAAOA,GAAYA,EAAS67L,YAAc77L,EAAS+5I,qBAAuB/5I,EAAS+S,eAM/E6qL,mCAAsCplP,EAAsCrN,GAChF,IACI,OAAIqN,EACOhhB,KAAKypH,WAAY6vI,yBAAyBt4O,EAAOrN,GAEjDA,IAEb,MAAO1P,GAOL,MAHMA,aAAamgE,IACfpkE,KAAK8jQ,sBAEH7/P,GAONsgQ,uBACJ,MAAMiG,EAAqC,GAI3C,IAAK,IAAIlwQ,EAAI,EAAGA,EAAI0F,KAAKsjQ,gBAAgBtoQ,QAAU,CAC/C,MAAMwtE,EAAWxoE,KAAKsjQ,gBAAgBhpQ,GACjC0F,KAAKyoQ,cAAcjgM,IA+CfxoE,KAAKgmQ,iBAAiBx9L,SAA6C1pE,IAAhC0pE,EAASu8L,qBAC7CyF,EAAgBnvQ,KAAK,CACjBwgE,SAAU2M,EAASuiD,WAAWwB,cAC9B/uG,QAASgrD,EAASuiD,WAAW66F,mBAC7BhhL,YAAa,KAEjB4jC,EAASu8L,wBAAqBjmQ,GAGlCxE,MAvDAkwQ,EAAgBnvQ,KAAK,CACjBwgE,SAAU2M,EAASuiD,WAAWwB,cAC9B/uG,QAASgrD,EAASuiD,WAAW66F,mBAC7BhhL,YAAa,KAGjB4jC,EAASuiD,WAAWo7F,kBACpBnmN,KAAKmuQ,gCAAgC3lM,EAASuiD,WAAWwB,cAAejyH,GAIxEkuE,EAAS8C,QAAQhmD,SAAS8oP,IACtB,MAAMC,EAAgBD,EAAapJ,WAAWz1K,WAAW++K,GAAOA,IAAO9lM,IACvE,KAAI6lM,EAAgB,IAIpBD,EAAapJ,WAAW9+O,OAAOmoP,EAAe,GAKzCruQ,KAAKyoQ,cAAc2F,KAAe,CACnC,MAAMC,EAAgBruQ,KAAKsjQ,gBAAgB/zK,WAAW++K,GAAOA,IAAOF,IAChEC,GAAiB,GAAKA,EAAgB/zQ,IACtCkwQ,EAAgBnvQ,KAAK,CACjBwgE,SAAUuyM,EAAarjJ,WAAWwB,cAClC/uG,QAAS4wP,EAAarjJ,WAAW66F,mBACjChhL,YAAa,KAGjBwpO,EAAarjJ,WAAWo7F,kBACxBnmN,KAAKmuQ,gCAAgCC,EAAarjJ,WAAWwB,cAAe8hJ,GAC5E/zQ,SAMZkuE,EAAS08L,WAAW5/O,SAASipP,IACzBA,EAAatJ,QAAUsJ,EAAatJ,QAAQp8M,QAAQvR,GAAMA,IAAMkxB,OAEpEA,EAAS08L,WAAa,IAiB9B,OAAOsF,EAGH/B,cAAcjgM,GAClB,OAAIA,EAASuiD,WAAWq7F,qBAIpB59I,EAAS67L,YAAa77L,EAASs8L,iBAI/Bt8L,EAASy8L,QAAQjqQ,OAAS,GAIK,IAA/BwtE,EAASw8L,WAAWhqQ,QAQjBgF,KAAKwuQ,yBAAyBhmM,EAAU,IAAI1qD,MAG/C0wP,yBAAyBhmM,EAA0BimM,GACvD,GAAIjmM,EAAS67L,WAAa77L,EAASs8L,gBAAkBt8L,EAASy8L,QAAQjqQ,OAAS,EAC3E,OAAO,EAGX,MAAM6gE,EAAWD,GAAkB57D,KAAKw7J,IAAKhzF,EAASuiD,WAAWwB,eAGjE,GAAIkiJ,EAAarqP,IAAIy3C,GACjB,OAAO,EAGX4yM,EAAatpQ,IAAI02D,GAAU,GAE3B,IAAK,MAAM6yM,KAAgBlmM,EAASw8L,WAChC,GAAIhlQ,KAAKwuQ,yBAAyBE,EAAcD,GAC5C,OAAO,EAIf,OAAO,EAGH9D,oBAAoB5nM,EAA+B4rM,EAAuB1jG,GAiB9E,OAhBqB,IAAI3hD,GACrBtpH,KAAKupH,gBACLxmD,EACA/iE,KAAKypH,YACL,CAACpzC,EAAsBu4L,KACnB,MAAMC,EAAe7uQ,KAAK2jQ,2BAA2BttL,GACrD,GAAKw4L,EAIL,OADA7uQ,KAAK4nQ,iBAAiBiH,EAAcD,GAC7B5uQ,KAAKmmQ,mBAAmByI,MAElCt3N,GAAMt3C,KAAKmmQ,mBAAmB7uN,IAC/Bq3N,WACA1jG,YAKA6jG,iBAAiBC,EAA0BllM,EAA4BmlM,GAG3E,GAAInlM,EAAagL,YACb,OAAO,EAGX,IAAIo6L,EACAjvQ,KAAKqzE,eAAe60F,wBACS,IAA5Br+F,EAAaC,cAA0CD,EAAazG,aACxC,IAA5ByG,EAAaC,YAAmCilM,EAASvsD,2BAE9D,SACgC,IAA5B34I,EAAaC,YACZilM,EAASxsD,oBAAkD,IAA5B14I,EAAaC,cAEzC9pE,KAAK4kQ,4BACD/6L,EAAaG,YAKbhqE,KAAK4kQ,0BAA0Bn2M,MAAMke,GAI7B9C,EAAa8C,aAAeA,KAI5B9C,EAAa8C,WAAWnX,WAAWmX,EAAa,UAVxDsiM,GAA0B,IAyB7BD,KACMC,EAOXvG,yBAAyBhF,EAAgCtvP,GAC7D,MAAM86P,EAA+B,GAI/B5jM,EAAUo4L,EAAe34I,WAAW65F,aAOpCuqD,EAA2BtlM,IAC7B,IAAI04I,GAAqB,EACrB6sD,GAAmB,EAcvB,OAZgC,IAA5BvlM,EAAaC,YACby4I,GAAqB,EACjB14I,EAAazG,cACbgsM,GAAmB,IAEhB1L,EAAenhD,oBAAkD,IAA5B14I,EAAaC,aACzDy4I,GAAqB,EACjBmhD,EAAelhD,6BACf4sD,GAAmB,IAIpB,CACH7sD,qBACA6sD,qBAKFC,EAAmB,IAAIvxP,IAG7B,GAAI4lP,EAAe4B,kBACf,GAAI5B,EAAe4B,kBAAkBv6I,WAAWq7F,gBAC5Cs9C,EAAe4B,uBAAoBxmQ,MAChC,CACH,MAAM+8D,EAAW6nM,EAAe4B,kBAAkBv6I,WAAWwB,cAC7D8iJ,EAAiBlqQ,IAAIy2D,GAAkB57D,KAAKw7J,IAAK3/F,GAAW,CACxD9sD,KAAM8sD,EACN0f,gBAAgB,EAChBgnI,oBAAoB,EACpB6sD,kBAAkB,IAK9B9jM,EAAQhmD,SAASukD,IACb,GAAIA,EAAae,cAAe,CAC5B,GAAI5qE,KAAK8uQ,iBAAiBpL,EAAgB75L,EAAcA,EAAa+K,aAC7D/K,EAAagB,cAAc7vE,OAAS,EAAG,CACvC,MAAM6gE,EAAWgO,EAAagB,cAAchB,EAAagB,cAAc7vE,OAAS,GAChF,GAAI6gE,EAAU,CACV,MAAMyzM,EAAqBH,EAAwBtlM,GACnDwlM,EAAiBlqQ,IAAIy2D,GAAkB57D,KAAKw7J,IAAK3/F,GAAW,CACxD9sD,KAAM8sD,EACN0f,iBAAkB1R,EAAa0R,eAC/BgnI,mBAAoB+sD,EAAmB/sD,mBACvC6sD,iBAAkBE,EAAmBF,oBAMrDvlM,EAAaiL,wBAAwBxvD,SAAS8lD,IAC1C,GAAIprE,KAAK8uQ,iBAAiBpL,EAAgB75L,EAAcuB,EAAewJ,cAC9DxJ,EAAeyJ,YAAa,CAC7B,MAAMy6L,EAAqBH,EAAwBtlM,GACnDwlM,EAAiBlqQ,IAAIy2D,GAAkB57D,KAAKw7J,IAAKpwF,EAAer8D,MAAO,CACnEA,KAAMq8D,EAAer8D,KACrBwsE,iBAAkB1R,EAAa0R,eAC/BgnI,mBAAoB+sD,EAAmB/sD,mBACvC6sD,iBAAkBE,EAAmBF,4BAK9Ch7P,EAAQw0J,gBACf5oK,KAAKsjF,SAASrnE,KACV,qBAAqB4tD,EAAa8C,wBAClB+2L,EAAe34I,WAAWwB,kBAE1C1iD,EAAa0H,mBACb1H,EAAa0H,kBAAkBjsD,SAASkqG,IACpCxvH,KAAKsjF,SAASrnE,KAAK,KAAKuzG,YAMxC,MAAM+/I,EAAmB,IAAIzxP,IAC7B4lP,EAAep4L,QAAQhmD,SAASqiD,IAC5B,MAAM6nM,EAAc5zM,GAAkB57D,KAAKw7J,IAAK7zF,EAAWojD,WAAWwB,eAGjE8iJ,EAAiBjrP,IAAIorP,GAOtBD,EAAiBpqQ,IAAIqqQ,EAAa7nM,GANlCA,EAAWq9L,WAAar9L,EAAWq9L,WAAWn8M,QACzCylN,GACG1yM,GAAkB57D,KAAKw7J,IAAK8yG,EAAGvjJ,WAAWwB,iBAC1C3wD,GAAkB57D,KAAKw7J,IAAKkoG,EAAe34I,WAAWwB,oBAQtE8iJ,EAAiB/pP,SAAQ,CAACqiD,EAAY8nM,KAClC,IAAKF,EAAiBnrP,IAAIqrP,GAAuB,CAG7C,IAAIhG,EACJ,GAAIzpQ,KAAK2jQ,2BAA2Bh8L,EAAW54D,MAC3C06P,EAAmBzpQ,KAAK2jQ,2BAA2Bh8L,EAAW54D,UAC3D,CACH,MAAM49D,EAAa3sE,KAAK6kQ,sBAAsBl9L,EAAW54D,MAUzD06P,EAAmB,CACf1+I,WAVe,IAAIu3F,GACnBtiN,KAAKw7J,IACL7zF,EAAW54D,KACX49D,EACAhF,EAAW46I,mBACX56I,EAAWynM,iBACXpvQ,KAAKsjF,SACLtjF,KAAKgkN,aAILqgD,WAAW,EACXS,gBAAgB,EAChBvpL,eAAgB5T,EAAW4T,eAC3BgnI,mBAAoB56I,EAAW46I,mBAC/BC,2BAA4B76I,EAAWynM,iBACvCrK,wBAAoBjmQ,EACpBwsE,QAAS,GACT05L,WAAY,GACZC,QAAS,GACTC,WAAY,IAGhBllQ,KAAKmlQ,2BAA2BsE,GAChCyF,EAAW7zQ,KAAKouQ,GAGpBA,EAAiBzE,WAAW3pQ,KAAKqoQ,GACjC6L,EAAiBpqQ,IAAIsqQ,EAAsBhG,OAMnD/F,EAAep4L,QAAU,GACzB+jM,EAAiB/pP,SAAQ,CAAC7I,EAAG1N,KACrB/O,KAAK2jQ,2BAA2B50P,IAChC20P,EAAep4L,QAAQjwE,KAAK2E,KAAK2jQ,2BAA2B50P,OAMpE20P,EAAemF,oBAAiB/pQ,EAChC,MAAM+pQ,EAAiBnF,EAAe34I,WAAW+5F,oBACjD,GAAI+jD,GAAkBA,EAAej+L,cAAe,CAChD,MAAM8kM,EAAuB7G,EAAeh+L,cAAcg+L,EAAeh+L,cAAc7vE,OAAS,GAChG0oQ,EAAemF,eAAiB7oQ,KAAK2jQ,2BAA2B+L,GAKpEhM,EAAeoF,0BAAuBhqQ,EACtC,MAAMgqQ,EAAuBpF,EAAe34I,WAAWi6F,0BACvD,GAAI8jD,GAAwBA,EAAqBl+L,cAAe,CAC5D,MAAM+kM,EACF7G,EAAqBj+L,cAAci+L,EAAqBj+L,cAAc7vE,OAAS,GACnF0oQ,EAAeoF,qBAAuB9oQ,KAAK2jQ,2BAA2BgM,GAG1E,OAAOT,EAGHvL,2BAA2B9nM,GAC/B,OAAO77D,KAAKujQ,eAAeh/P,IAAIq3D,GAAkB57D,KAAKw7J,IAAK3/F,IAGvDsyM,gCAAgCtyM,EAAkBwyM,GACtDruQ,KAAKujQ,eAAe3gP,OAAOg5C,GAAkB57D,KAAKw7J,IAAK3/F,IACvD77D,KAAKsjQ,gBAAgBp9O,OAAOmoP,EAAe,GAGvClJ,2BAA2B38L,GAC/B,MAAM3M,EAAWD,GAAkB57D,KAAKw7J,IAAKhzF,EAASuiD,WAAWwB,eAGjEz6D,GAAQ9xD,KAAKujQ,eAAen/O,IAAIy3C,IAEhC77D,KAAKsjQ,gBAAgBjoQ,KAAKmtE,GAC1BxoE,KAAKujQ,eAAep+P,IAAI02D,EAAU2M,IEjiFnC,SAAS0/L,GAAIvsQ,EAAiBi0Q,GACjC,IACI,MAAM5vP,EAASrkB,IACfi0Q,EAAK97P,YAAY,CAAEqZ,KAAM,KAAMjuB,KAAM8gB,IACvC,MAAO/b,GACL,GAAImgE,GAA2B7vD,GAAGtQ,GAE9B,YADA2rQ,EAAK97P,YAAY,CAAEqZ,KAAM,YAAajuB,KAAM+E,EAAEsI,UAIlDqjQ,EAAK97P,YAAY,CAAEqZ,KAAM,SAAUjuB,KAAM,cAAc+E,EAAEsI,cAActI,EAAEqI,WAI1E,SAASujQ,GAAuBD,GACnC,OAAO,IAAI79P,SAAQ,CAACtC,EAASuE,KACzB47P,EAAK9lO,GAAG,WAAYrpC,IAChB,OAAQA,EAAE0sB,MACN,IAAK,KACD1d,EAAQhP,EAAEvB,MACV,MAEJ,IAAK,YACD8U,EAAO,IAAIowD,IACX,MAEJ,IAAK,SACDpwD,EAAOvT,EAAEvB,MACT,MAEJ,QACI,EAAW,gBAAgBuB,EAAE0sB,e,0DCzGjD,MAAM2iP,GAGF,qBAMI,MACMC,EAAetvP,KAAKC,MAAMjiB,UAGhC,OAF2BsxQ,EAAe/vQ,KAAKgwQ,qBAFd,IAK7BhwQ,KAAKgwQ,oBAAsBD,GACpB,IAdA,GAAAC,oBAAsB,EAqBzC,MAAMC,GAIFhkQ,YAAqBikQ,GAAA,KAAAA,uBAHX,KAAAC,aAAc,EAKxB50P,SACSvb,KAAKmwQ,cACNnwQ,KAAKmwQ,aAAc,EACfnwQ,KAAKwb,WACLxb,KAAKwb,SAASlI,UAAKxU,GACnBkB,KAAKowQ,oBAKjB,8BACI,QAAIpwQ,KAAKmwQ,cAILL,GAAqBO,eAAiBrwQ,KAAKswQ,eAK3CtwQ,KAAKub,SAGFvb,KAAKmwQ,aAGhB,8BAII,OAHKnwQ,KAAKwb,WACNxb,KAAKwb,SAAW,IAAI,GAAArI,SAEjBnT,KAAKwb,SAASnI,MAGzB+H,UACIpb,KAAKowQ,kBAGDA,kBACApwQ,KAAKwb,WACLxb,KAAKwb,SAASJ,UACdpb,KAAKwb,cAAW1c,GAIhBwxQ,cACJ,IAEI,OADA,YAAYtwQ,KAAKkwQ,uBACV,EACT,MAAOjsQ,GACL,OAAO,IA6IZ,SAASssQ,GAA2BC,GACvC,OAAKA,EAIE,IAAIP,GAAeO,GAHf,GAAAh4P,kBAAA,KAMR,SAASi4P,GAAuBzvP,GACnC,OAAOA,aAAiBivP,GAAiBjvP,EAAMkvP,0BAAuBpxQ,EC6T1E,SAAS4xQ,GAAuB1wP,GAS5B,OARAA,EAAO4kB,YAAc5kB,EAAO4kB,YAAY9gB,KAAKwzB,IAClC,CACHukB,SAAUvkB,EAAEukB,SACZr+C,QAAS85B,EAAE95B,QACXonB,YAAa+rO,GAAmBr5N,EAAE1S,iBAInC5kB,EAGX,SAAS2wP,GAAmB/rO,GAGxB,OAAOA,EAAY9gB,KAAiBvV,IAChC,MAAMihH,EAAO,IAAIn2F,GAAW9qB,EAAE+vD,SAAU/vD,EAAEhC,QAASgC,EAAE9B,OACrD,GAAI8B,EAAE2/G,SACF,IAAK,MAAMD,KAAU1/G,EAAE2/G,SACnBsB,EAAKxB,UAAUC,GAQvB,GAJI1/G,EAAE+/G,OACFkB,EAAKpB,QAAQ7/G,EAAE+/G,OAGf//G,EAAEw/G,aACF,IAAK,MAAM9xG,KAAQ1N,EAAEw/G,aACjByB,EAAKhB,eAAevyG,EAAK1P,QAAS0P,EAAK4/C,SAAU5/C,EAAKxP,OAI9D,OAAO+iH,KCtjBR,MAAMohJ,GACT3kQ,YAAY2zE,EAAuBixL,GAQnC,KAAAC,UAAsB,GA6EtB,KAAA/pG,uBAAwB,EAGxB,KAAAC,4BAA8B,GAG9B,KAAA+pG,uBAAwB,EAGxB,KAAA7pG,6BAA8B,EA7F1BlnK,KAAK4/E,cAAgBA,EACrB5/E,KAAK6wQ,oBAAsBA,GCrBnC,MAAMG,GAOF/kQ,YAAoBglQ,EAAc,MAAd,KAAAA,SAJZ,KAAAC,WAAY,EACZ,KAAAC,WAAY,EAIhBnxQ,KAAKoxQ,SAAW,IAAIr/P,SAAW,CAAC/O,EAAKquQ,KACjCrxQ,KAAKsxQ,SAAWtuQ,EAChBhD,KAAKuxQ,QAAUF,KAIhB5hQ,QAAQqV,GAEX9kB,KAAKsxQ,SAAS3tQ,MAAM3D,KAAKixQ,OAASjxQ,KAAKixQ,OAASjxQ,KAAMN,WACtDM,KAAKkxQ,WAAY,EAGdl9P,OAAOw9P,GAEVxxQ,KAAKuxQ,QAAQ5tQ,MAAM3D,KAAKixQ,OAASjxQ,KAAKixQ,OAASjxQ,KAAMN,WACrDM,KAAKmxQ,WAAY,EAGrB,cACI,OAAOnxQ,KAAKoxQ,SAGhB,eACI,OAAOpxQ,KAAKkxQ,UAGhB,eACI,OAAOlxQ,KAAKmxQ,UAGhB,gBACI,OAAOnxQ,KAAKmxQ,WAAanxQ,KAAKkxQ,WAI/B,SAASO,GAAkB5pM,EAAa,MAC3C,OAAO,IAAImpM,GAAgBnpM,GC1CxB,MAAM6pM,GACT,sBACIC,EACA3+N,EACA4+N,EACAC,EACAC,GAAa,GAEb,MAAMC,EA2Cd,SACIJ,EACAK,EACAJ,EACAE,EACAD,G,QAEA,MAAME,EAAqB,IAAInB,GAAmBoB,GAAmB,GAgErE,OA/DAD,EAAmB9L,mBAAqB2L,EAAeK,cACvDF,EAAmB7pG,uBAAyB0pG,EAAe1pG,uBAC3D6pG,EAAmBtrG,iBAAmBmrG,EAAenrG,iBACrDsrG,EAAmB1kH,sBAAwBukH,EAAevkH,sBAC1D0kH,EAAmBjrG,SAAW8qG,EAAe9qG,SAC7CirG,EAAmBhrG,sBAA4D,QAApC,EAAA6qG,EAAe7qG,6BAAqB,SAC/EgrG,EAAmB/qG,4BAAwE,QAA1C,EAAA4qG,EAAe5qG,mCAA2B,QAAI,GAC/F+qG,EAAmBhB,sBAAwBe,EAEtCA,GAKDC,EAAmBG,sBAAwBN,EAAeM,sBAC1DH,EAAmBI,uBAAyBP,EAAeO,uBAC3DJ,EAAmBK,sBAAwBR,EAAeQ,wBAN1DL,EAAmBG,uBAAwB,EAC3CH,EAAmBI,wBAAyB,EAC5CJ,EAAmBK,uBAAwB,GAO3CR,EAAelgM,WACfqgM,EAAmBrgM,SAAW3b,GAC1Bi8M,GAAqBL,EACrBC,EAAelgM,WAInBkgM,EAAer/L,aAIVC,GAAeo/L,EAAer/L,cAC/Bw/L,EAAmBx/L,WAAaxc,GAC5Bi8M,GAAqBL,EACrBC,EAAer/L,cAKvBq/L,EAAe71L,eAIfg2L,EAAmBh2L,aAAe61L,EAAe71L,cAGjD61L,EAAe37L,WACf87L,EAAmB97L,SAAW27L,EAAe37L,UAG7C27L,EAAeS,WAAalvL,GAASnsD,MAGrC+6O,EAAmBnpG,eAAgB,GAGnCipG,IACAE,EAAmBF,yBAA2BA,GAGlDE,EAAmB9oG,gBAAkB2oG,EAAe3oG,gBACpD8oG,EAAmB/7L,WAAa47L,EAAe57L,WAC/C+7L,EAAmB7oG,4BAA8B0oG,EAAe1oG,4BAEzD6oG,EAlHwBO,CACvBX,EACA3+N,EAAU6mB,SACV+3M,EACAE,EACAD,GAIJ7+N,EAAUu/N,gBAAgBC,WAAWT,GAGzC,0BACIpqD,EACA30K,EACA6+N,EACAY,EACAzzM,GAGA,MAAM0zM,EAA0C,CAC5CC,cAAe,oCACf94M,SAAU7mB,EAAU6mB,SACpB+4M,QAAS5/N,EAAU4/N,QACnBL,gBAAiBv/N,EAAUu/N,gBAAgBvgK,MAAM,iBAAkBygK,EAAoBzzM,GACvF6zM,yBAAyB,EACzBC,wBAAwB,EACxBC,cAAetB,MAGbG,QAAuBjqD,EAAGqrD,YAAYhgO,GAS5C,OARA0+N,GAAwBuB,eACpBtrD,EAAG9tJ,SACH64M,EACAd,EACAC,GACiB,GAGda,EAAcH,iBCnDtB,MAAMW,GACTjnQ,YAAoBknQ,GAAA,KAAAA,MAEpB,cAAcC,EAAiCpyP,GAC3C,GAAIoyP,EAAU1zQ,WAAa0zQ,EAAU1zQ,UAAU1E,QAAU,EAAG,CACxD,MAAMy2E,EAAgB2hM,EAAU1zQ,UAAU,GACpCitE,EAAaymM,EAAU1zQ,UAAU,GACjC2zQ,EAAcD,EAAU1zQ,UAAU,GAElC4zQ,QAAgB5B,GAAwB6B,aAC1CvzQ,KAAKmzQ,UACCnzQ,KAAKmzQ,IAAIK,oBAAoBH,UAAe5hM,GAClD9E,EACA3sE,KAAKmzQ,IAAIM,4BAGb,UACUH,EAAQI,0BAA0B1yP,GACxCsyP,EAAQl4P,UAER,MAAMu4P,EAAc,2CAA2ChnM,MAC/D3sE,KAAKmzQ,IAAIhoO,OAAOuF,uBAAuBijO,GACvC3zQ,KAAKmzQ,IAAIS,YACX,MAAO9lP,GAEL,GADuBs2C,GAA2B7vD,GAAGuZ,GACjC,CAChB,MAAM+lP,EAAa,2BAA2BlnM,kBAC9C3sE,KAAKmzQ,IAAIhvQ,QAAQC,MAAMyvQ,OACpB,CACH,IAAIA,EAAa,GACb/lP,aAAelyB,QACfi4Q,EAAa,KAAO/lP,EAAIvhB,SAE5BsnQ,EAAa,kDAAkDlnM,KAAgBknM,EAC/E7zQ,KAAKmzQ,IAAIhvQ,QAAQC,MAAMyvQ,GACvB7zQ,KAAKmzQ,IAAIhoO,OAAO4E,iBAAiB8jO,OCnC9C,MAAMC,GACT7nQ,YAAoBknQ,GAAA,KAAAA,MAEpB,cAAchzP,EAA8Ba,GACxC,GAAIb,EAAOzgB,WAAaygB,EAAOzgB,UAAU1E,QAAU,EAAG,CAClD,MAAM+4Q,EAAS5zP,EAAOzgB,UAAU,GAC1Bs0Q,EAAY7zP,EAAOzgB,UAAU9B,MAAM,GACnCi+D,EAAW77D,KAAKmzQ,IAAIc,sBAAsBF,GAC1C/gO,QAAkBhzC,KAAKmzQ,IAAIK,oBAAoB33M,GAErD,MAAuB,4BAAnB17C,EAAOkc,SAAqC2W,EAAU8/N,uBAC/C,GCdhB,SAA0Bt4O,EAAayvL,GAC1C,IAAKA,EACD,MAAO,GAGX,MAAMjtL,EAAoB,GAQ1B,OAPAitL,EAAY3kM,SAAS4uP,IACjBl3O,EAAM3hC,KAAK,CACPoR,MAAOynQ,EAAWznQ,MAClB8vB,QAAS23O,EAAWznM,qBAIrB,CACHjvC,QAAS,CACL,CAAChD,GAAMwC,IDSAm3O,CAAiBJ,EAPJ/gO,EAAUu/N,gBAAgBvoD,mBAC1CnuJ,EACA17C,EAAOkc,QACP23O,EACAhzP,MEpBT,MAAMozP,GACTnoQ,YAAoBknQ,GAAA,KAAAA,MAEpB,cAAcC,GACVpzQ,KAAKmzQ,IAAIkB,WCGV,MAAMC,GAKTroQ,YAAY07M,GACR3nN,KAAKu0Q,YAAc,IAAIrB,GAAsBvrD,GAC7C3nN,KAAKw0Q,eAAiB,IAAIJ,GAAqBzsD,GAC/C3nN,KAAKy0Q,aAAe,IAAIX,GAAmBnsD,GAG/C,cAAcyrD,EAAiCpyP,GAC3C,OAAQoyP,EAAU/2O,SACd,IAAK,0BACL,IAAK,8BACD,OAAOr8B,KAAKy0Q,aAAaC,QAAQtB,EAAWpyP,GAGhD,IAAK,yBACD,OAAOhhB,KAAKu0Q,YAAYG,QAAQtB,EAAWpyP,GAG/C,IAAK,wBACD,OAAOhhB,KAAKw0Q,eAAeE,QAAQtB,GAGvC,QACI,OAAO,IAAI,GAAA55P,cAAsB,EAAG,wBAKhDm7P,qBAAqBt4O,GACjB,OAAQA,GACJ,IAAK,yBACD,OAAO,EAEX,QACI,OAAO,ICjChB,MAAMu4O,GACT,WACI,OAAO,EAGXtiM,qBAAqBC,EAAqBsiM,GAGtC,OAFAA,WAASx5Q,KAAK,mCAEP,CACHk7D,MAAO,GACPrN,OAAQ,IAIhB6/G,iBAAiBx2F,EAAqBsiM,IAItC/rG,kBAAkB+rG,K,iCClBf,MAAMC,GAKT7oQ,YACYq3E,EACAjQ,EACAk2C,EACRlyD,EACQ09M,EACAC,EACA3R,GANA,KAAA//K,WACA,KAAAjQ,iBACA,KAAAk2C,kBAEA,KAAAwrJ,sBACA,KAAAC,mBACA,KAAA3R,kBAERrjQ,KAAKi1Q,SAAW,IAAIhS,GAChBjjQ,KAAKupH,gBACLvpH,KAAKqzE,eACLrzE,KAAKsjF,SACLjsB,OACAv4D,EACAkB,KAAKqjQ,iBAIb,oBACI,OAAOrjQ,KAAKqzE,eAGhB,qBACI,OAAOrzE,KAAKupH,gBAGhB,cACI,OAAOvpH,KAAKi1Q,SAGhB,WACI,OAAOj1Q,KAAKupH,gBAAgBj4C,KAGhC,yBACI,OAAOtxE,KAAK+0Q,oBAGhBhR,iBAAiB1yL,G,MACbrxE,KAAKqzE,eAAiBhC,EACE,QAAxB,EAAArxE,KAAK+0Q,2BAAmB,SAAEhR,iBAAiB1yL,GAC3CrxE,KAAKi1Q,SAASlR,iBAAiB1yL,GAGnC2yL,kBAAkB5nG,G,MACdp8J,KAAKupH,gBAAkB6yC,EACC,QAAxB,EAAAp8J,KAAK+0Q,2BAAmB,SAAE/Q,kBAAkB5nG,GAE5Cp8J,KAAKi1Q,SAASjR,kBAAkB5nG,GAChCp8J,KAAKqzE,eAAeu0F,2BAA2BtiJ,SAASrhB,GAAMjE,KAAKk1Q,2BAA2BjxQ,KAGlGggQ,gBAAgBC,G,MACY,QAAxB,EAAAlkQ,KAAK+0Q,2BAAmB,SAAE9Q,gBAAgBC,GAC1C,MAAMt/N,EAAc5kC,KAAKi1Q,SAAShR,gBAAgBC,GAClDlkQ,KAAKm1Q,kCAAkCvwO,GAG3C+/N,4BAA4Bl2L,G,MACA,QAAxB,EAAAzuE,KAAK+0Q,2BAAmB,SAAEpQ,4BAA4Bl2L,GACtDzuE,KAAKi1Q,SAAStQ,4BAA4Bl2L,GAG9C22L,cAAcvpM,EAAkBr+C,EAAwB2lB,EAAkB/uB,G,MAC9C,QAAxB,EAAApU,KAAK+0Q,2BAAmB,SAAE3P,cAAcvpM,EAAUr+C,EAAS,CAAC,CAAE4Z,KAAM+L,IAAa/uB,GACjFpU,KAAKi1Q,SAAS7P,cAAcvpM,EAAUr+C,EAAS,CAAC,CAAE4Z,KAAM+L,IAAa/uB,GAGzEghQ,qBAAqB/7M,G,MACO,QAAxB,EAAAr5D,KAAK+0Q,2BAAmB,SAAEK,qBAAqB/7M,GAGnDg8M,uBACItmQ,EACAyO,EACA2lB,EACA/uB,G,MAEwB,QAAxB,EAAApU,KAAK+0Q,2BAAmB,SAAE3P,cAAcr2P,EAAMyO,EAAS2lB,EAAU/uB,GACjEpU,KAAKi1Q,SAAS7P,cAAcr2P,EAAMyO,EAAS2lB,EAAU/uB,GACrDpU,KAAK4lQ,eAAe,CAAC72P,IAAO,GAGhCw2P,cAAc1pM,G,MACc,QAAxB,EAAA77D,KAAK+0Q,2BAAmB,SAAExP,cAAc1pM,GACxC,MAAMj3B,EAAc5kC,KAAKi1Q,SAAS1P,cAAc1pM,GAChD77D,KAAKm1Q,kCAAkCvwO,GAG3C6gO,kBAAkBC,EAAgClgD,GAAiB,G,MACvC,QAAxB,EAAAxlN,KAAK+0Q,2BAAmB,SAAEtP,kBAAkBC,EAAuBlgD,GACnExlN,KAAKi1Q,SAASxP,kBAAkBC,EAAuBlgD,GAG3DogD,eAAe1B,EAAqBwB,EAAgClgD,GAAiB,G,MACzD,QAAxB,EAAAxlN,KAAK+0Q,2BAAmB,SAAEnP,eAAe1B,EAAWwB,EAAuBlgD,GAC3ExlN,KAAKi1Q,SAASrP,eAAe1B,EAAWwB,EAAuBlgD,GAGnE8vD,sBAAsB3hQ,G,MAClB3T,KAAKu1Q,sBAAwB5hQ,EACL,QAAxB,EAAA3T,KAAK+0Q,2BAAmB,SAAEO,sBAAsB3hQ,GAGpD6hQ,cAAcx0P,GACV,OAAIhhB,KAAK+0Q,qBACL/0Q,KAAK+0Q,oBAAoBS,cAAcx1Q,KAAKy1Q,SAAUz0P,IAC/C,GAGJkhE,GACHliF,KAAKi1Q,SACLj1Q,KAAKg1Q,iBACLh1Q,KAAKqzE,eACLrzE,KAAKu1Q,sBACLv1Q,KAAKsjF,SACLtiE,GAIR00P,iBACIC,EACAC,GAEA,MAAMC,EAAU71Q,KAAK81Q,cACrB,IAAK,MAAOj6M,EAAUq4F,KAAiByhH,EACnCE,EAAQE,kBAAkBl6M,EAAUq4F,GAGxC,IAAK,MAAO8hH,EAAalyP,KAAQ8xP,EAC7B,IAAK,MAAOK,EAAa/hH,KAAiBpwI,EACtC+xP,EAAQK,SAASF,EAAaC,EAAa/hH,GAKvDiiH,cAAcC,G,MACc,QAAxB,EAAAp2Q,KAAK+0Q,2BAAmB,SAAEoB,cACtBC,EACAp2Q,KAAKqzE,eACLrzE,KAAKo8J,eACLp8J,KAAKsxE,KAAKnkD,KACVntB,KAAK81Q,eAIbO,kB,MAC4B,QAAxB,EAAAr2Q,KAAK+0Q,2BAAmB,SAAEsB,gBACtBr2Q,KAAKqzE,eACLrzE,KAAKo8J,eACLp8J,KAAKsxE,KAAKnkD,KACVntB,KAAKy1Q,UAIba,iB,MAC4B,QAAxB,EAAAt2Q,KAAK+0Q,2BAAmB,SAAEuB,eAAet2Q,KAAKqzE,gBAGlDkjM,YAAY16M,G,MACR,OAAoB,QAAb,EAAA77D,KAAKy1Q,gBAAQ,eAAEe,SAASx2Q,KAAKqzE,eAAeywE,oBAAoBjoF,GAAUrqD,MAGrF,6BAA6BqqD,EAAkBpvD,EAAcuU,GACzD,OAAIhhB,KAAK+0Q,oBACE/0Q,KAAK+0Q,oBAAoBtK,uBAAuB5uM,EAAUpvD,EAAOuU,GAGrEhhB,KAAKi1Q,SAASxK,uBAAuB5uM,EAAUpvD,GAG1D,oBACI86P,EACAC,EACAvxL,EACAj1D,GAEA,OAAIhhB,KAAK+0Q,oBACE/0Q,KAAK+0Q,oBAAoBzN,cAAcC,EAAkBC,EAAoBvxL,EAAUj1D,IAGlGkhE,GAAeliF,KAAKi1Q,cAAUn2Q,EAAWkB,KAAKqzE,eAAgBrzE,KAAKu1Q,sBAAuBv1Q,KAAKsjF,SAAUtiE,GAClGhhB,KAAKi1Q,SAAS3N,cAAcC,EAAkBC,EAAoBvxL,EAAUj1D,IAGvFy1P,6BAA6BC,EAAkCC,G,MACvDA,GACA32Q,KAAKq2Q,kBAGe,QAAxB,EAAAr2Q,KAAK+0Q,2BAAmB,SAAE0B,6BAA6BC,GAIvD12Q,KAAKupH,gBAAgB71C,kBAGrB1zE,KAAKi1Q,SAASxP,mBAAkB,EAAMiR,GAG1CrC,U,MAC4B,QAAxB,EAAAr0Q,KAAK+0Q,2BAAmB,SAAEV,UAGtBa,2BAA2BnyM,G,MAE/B,OADwB,QAAxB,EAAA/iE,KAAK+0Q,2BAAmB,SAAE//L,0BAA0BjS,EAAQvxD,MACrDxR,KAAKupH,gBAAgBv0C,0BAA0BjS,GAGlD+yM,cACJ,IAAK91Q,KAAKy1Q,SAAU,CAChB,MAAMtzL,EAAUniF,KAAKi1Q,SAMfnxP,EAAM,IAAIhG,IAChB9d,KAAKy1Q,SAAW,CACZM,kBAAkBhnQ,EAAcmlJ,G,MAGD,QAA3B,EAAA/xE,EAAQ+jL,cAAcn3P,UAAK,SAAE23M,kBAAkBxyD,IAEnDsiH,SAASzzM,GACEj/C,EAAIvf,IAAIw+D,GAEnBmzM,SAASnzM,EAA6Bh0D,EAAcmlJ,GAChD,IAAI0iH,EAAa9yP,EAAIvf,IAAIw+D,GACpB6zM,IACDA,EAAa,IAAI94P,IACjBgG,EAAI3e,IAAI49D,EAAS6zM,IAGrBA,EAAWzxQ,IAAI4J,EAAMmlJ,IAEzBjjF,QACIntD,EAAI+D,UAKhB,OAAO7nB,KAAKy1Q,SAGRN,kCAAkC0B,GAClCA,EAAU77Q,OAAS,IAIdgF,KAAK+0Q,qBAAuB/0Q,KAAKu1Q,uBAClCv1Q,KAAKu1Q,sBAAsB,CACvB3wO,YAAaiyO,EACbj0L,eAAgB5iF,KAAKi1Q,SAASpyL,eAC9BC,uBAAwB9iF,KAAKi1Q,SAASzyL,yBACtCO,sBAAuB/iF,KAAKi1Q,SAASjyL,0BACrCC,oBAAoB,EACpBC,0BAA0B,EAC1BP,YAAa,K,IC3R7B,G,6BC0VJ,SAAS,GAAaz7C,GAClB,OAAc,KAAPA,GAAgC,IAAPA,GAA6B,KAAPA,GAAsC,KAAPA,GAC1E,MAAPA,GAA4C,OAAPA,GAA2BA,GAAM,MAAqBA,GAAM,MAC1F,OAAPA,GAA+C,OAAPA,GAA8C,QAAPA,GAA8C,QAAPA,EAE9H,SAAS,GAAYA,GACjB,OAAc,KAAPA,GAAmC,KAAPA,GAAyC,OAAPA,GAA0C,OAAPA,EAE5G,SAAS6W,GAAQ7W,GACb,OAAOA,GAAM,IAAeA,GAAM,GDP/B,SAAS4vO,GAAM1/O,EAAM2/O,EAAS3iQ,QACjB,IAAZA,IAAsBA,EAAU,GAAa4iQ,SACjD,IAAIC,EC3VD,SAAuB7/O,EAAM8/O,QACX,IAAjBA,IAA2BA,GAAe,GAC9C,IAAIv8Q,EAAMy8B,EAAKp8B,OACXkK,EAAM,EAAG5H,EAAQ,GAAIuxL,EAAc,EAAG7tK,EAAQ,GAAkBm2P,EAAa,EAAGC,EAAkB,EAAGC,EAAuB,EAAGC,EAA2B,EAAGC,EAAY,EAC7K,SAASC,EAAcxrP,EAAOyrP,GAG1B,IAFA,IAAI3lH,EAAS,EACTx0J,EAAQ,EACLw0J,EAAS9lI,IAAUyrP,GAAO,CAC7B,IAAIvwO,EAAK9P,EAAKv8B,WAAWqK,GACzB,GAAIgiC,GAAM,IAAeA,GAAM,GAC3B5pC,EAAgB,GAARA,EAAa4pC,EAAK,QAEzB,GAAIA,GAAM,IAAcA,GAAM,GAC/B5pC,EAAgB,GAARA,EAAa4pC,EAAK,GAAa,OAEtC,MAAIA,GAAM,IAAcA,GAAM,KAI/B,MAHA5pC,EAAgB,GAARA,EAAa4pC,EAAK,GAAa,GAK3ChiC,IACA4sJ,IAKJ,OAHIA,EAAS9lI,IACT1uB,GAAS,GAENA,EAiIX,SAASo6Q,IAML,GALAp6Q,EAAQ,GACRi6Q,EAAY,EACZ1oF,EAAc3pL,EACdkyQ,EAAkBD,EAClBG,EAA2BD,EACvBnyQ,GAAOvK,EAGP,OADAk0L,EAAcl0L,EACPqmB,EAAQ,GAEnB,IAAIrlB,EAAOy7B,EAAKv8B,WAAWqK,GAE3B,GAAI,GAAavJ,GAAO,CACpB,GACIuJ,IACA5H,GAAS6D,OAAOuC,aAAa/H,GAC7BA,EAAOy7B,EAAKv8B,WAAWqK,SAClB,GAAavJ,IACtB,OAAOqlB,EAAQ,GAGnB,GAAI,GAAYrlB,GASZ,OARAuJ,IACA5H,GAAS6D,OAAOuC,aAAa/H,GAChB,KAATA,GAA6D,KAAzBy7B,EAAKv8B,WAAWqK,KACpDA,IACA5H,GAAS,MAEb65Q,IACAE,EAAuBnyQ,EAChB8b,EAAQ,GAEnB,OAAQrlB,GAEJ,KAAK,IAED,OADAuJ,IACO8b,EAAQ,EACnB,KAAK,IAED,OADA9b,IACO8b,EAAQ,EACnB,KAAK,GAED,OADA9b,IACO8b,EAAQ,EACnB,KAAK,GAED,OADA9b,IACO8b,EAAQ,EACnB,KAAK,GAED,OADA9b,IACO8b,EAAQ,EACnB,KAAK,GAED,OADA9b,IACO8b,EAAQ,EAEnB,KAAK,GAGD,OAFA9b,IACA5H,EArIZ,WAEI,IADA,IAAI0iB,EAAS,GAAIlkB,EAAQoJ,IACZ,CACT,GAAIA,GAAOvK,EAAK,CACZqlB,GAAUoX,EAAKoP,UAAU1qC,EAAOoJ,GAChCqyQ,EAAY,EACZ,MAEJ,IAAIrwO,EAAK9P,EAAKv8B,WAAWqK,GACzB,GAAW,KAAPgiC,EAA6B,CAC7BlnB,GAAUoX,EAAKoP,UAAU1qC,EAAOoJ,GAChCA,IACA,MAEJ,GAAW,KAAPgiC,EAAJ,CAgDA,GAAIA,GAAM,GAAKA,GAAM,GAAM,CACvB,GAAI,GAAYA,GAAK,CACjBlnB,GAAUoX,EAAKoP,UAAU1qC,EAAOoJ,GAChCqyQ,EAAY,EACZ,MAGAA,EAAY,EAIpBryQ,QA3DA,CAGI,GAFA8a,GAAUoX,EAAKoP,UAAU1qC,EAAOoJ,KAChCA,GACWvK,EAAK,CACZ48Q,EAAY,EACZ,MAGJ,OADUngP,EAAKv8B,WAAWqK,MAEtB,KAAK,GACD8a,GAAU,IACV,MACJ,KAAK,GACDA,GAAU,KACV,MACJ,KAAK,GACDA,GAAU,IACV,MACJ,KAAK,GACDA,GAAU,KACV,MACJ,KAAK,IACDA,GAAU,KACV,MACJ,KAAK,IACDA,GAAU,KACV,MACJ,KAAK,IACDA,GAAU,KACV,MACJ,KAAK,IACDA,GAAU,KACV,MACJ,KAAK,IACD,IAAI23P,EAAMH,EAAc,GAAG,GACvBG,GAAO,EACP33P,GAAU7e,OAAOuC,aAAai0Q,GAG9BJ,EAAY,EAEhB,MACJ,QACIA,EAAY,EAEpBz7Q,EAAQoJ,GAgBhB,OAAO8a,EA0DS43P,GACD52P,EAAQ,GAEnB,KAAK,GACD,IAAIllB,EAAQoJ,EAAM,EAElB,GAAiC,KAA7BkyB,EAAKv8B,WAAWqK,EAAM,GAAuB,CAE7C,IADAA,GAAO,EACAA,EAAMvK,IACL,GAAYy8B,EAAKv8B,WAAWqK,KAGhCA,IAGJ,OADA5H,EAAQ85B,EAAKoP,UAAU1qC,EAAOoJ,GACvB8b,EAAQ,GAGnB,GAAiC,KAA7BoW,EAAKv8B,WAAWqK,EAAM,GAA0B,CAChDA,GAAO,EAGP,IAFA,IAAI2yQ,EAAal9Q,EAAM,EACnBm9Q,GAAgB,EACb5yQ,EAAM2yQ,GAAY,CACrB,IAAI3wO,EAAK9P,EAAKv8B,WAAWqK,GACzB,GAAW,KAAPgiC,GAAyD,KAA7B9P,EAAKv8B,WAAWqK,EAAM,GAAuB,CACzEA,GAAO,EACP4yQ,GAAgB,EAChB,MAEJ5yQ,IACI,GAAYgiC,KACD,KAAPA,GAA2D,KAAzB9P,EAAKv8B,WAAWqK,IAClDA,IAEJiyQ,IACAE,EAAuBnyQ,GAQ/B,OALK4yQ,IACD5yQ,IACAqyQ,EAAY,GAEhBj6Q,EAAQ85B,EAAKoP,UAAU1qC,EAAOoJ,GACvB8b,EAAQ,GAKnB,OAFA1jB,GAAS6D,OAAOuC,aAAa/H,GAC7BuJ,IACO8b,EAAQ,GAEnB,KAAK,GAGD,GAFA1jB,GAAS6D,OAAOuC,aAAa/H,KAC7BuJ,IACYvK,IAAQojD,GAAQ3mB,EAAKv8B,WAAWqK,IACxC,OAAO8b,EAAQ,GAKvB,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GAED,OADA1jB,GArPZ,WACI,IAAIxB,EAAQoJ,EACZ,GAA6B,KAAzBkyB,EAAKv8B,WAAWqK,GAChBA,SAIA,IADAA,IACOA,EAAMkyB,EAAKp8B,QAAU+iD,GAAQ3mB,EAAKv8B,WAAWqK,KAChDA,IAGR,GAAIA,EAAMkyB,EAAKp8B,QAAmC,KAAzBo8B,EAAKv8B,WAAWqK,GAAuB,CAE5D,OADAA,EACUkyB,EAAKp8B,QAAU+iD,GAAQ3mB,EAAKv8B,WAAWqK,KAQ7C,OADAqyQ,EAAY,EACLngP,EAAKoP,UAAU1qC,EAAOoJ,GAN7B,IADAA,IACOA,EAAMkyB,EAAKp8B,QAAU+iD,GAAQ3mB,EAAKv8B,WAAWqK,KAChDA,IAQZ,IAAInJ,EAAMmJ,EACV,GAAIA,EAAMkyB,EAAKp8B,SAAoC,KAAzBo8B,EAAKv8B,WAAWqK,IAAgD,MAAzBkyB,EAAKv8B,WAAWqK,IAK7E,MAJAA,EACUkyB,EAAKp8B,QAAmC,KAAzBo8B,EAAKv8B,WAAWqK,IAAmD,KAAzBkyB,EAAKv8B,WAAWqK,KAC/EA,IAEAA,EAAMkyB,EAAKp8B,QAAU+iD,GAAQ3mB,EAAKv8B,WAAWqK,IAAO,CAEpD,IADAA,IACOA,EAAMkyB,EAAKp8B,QAAU+iD,GAAQ3mB,EAAKv8B,WAAWqK,KAChDA,IAEJnJ,EAAMmJ,OAGNqyQ,EAAY,EAGpB,OAAOngP,EAAKoP,UAAU1qC,EAAOC,GA4MZg8Q,GACF/2P,EAAQ,GAEnB,QAEI,KAAO9b,EAAMvK,GAAOq9Q,EAA0Br8Q,IAC1CuJ,IACAvJ,EAAOy7B,EAAKv8B,WAAWqK,GAE3B,GAAI2pL,IAAgB3pL,EAAK,CAGrB,OAFA5H,EAAQ85B,EAAKoP,UAAUqoJ,EAAa3pL,IAGhC,IAAK,OAAQ,OAAO8b,EAAQ,EAC5B,IAAK,QAAS,OAAOA,EAAQ,EAC7B,IAAK,OAAQ,OAAOA,EAAQ,EAEhC,OAAOA,EAAQ,GAKnB,OAFA1jB,GAAS6D,OAAOuC,aAAa/H,GAC7BuJ,IACO8b,EAAQ,IAG3B,SAASg3P,EAA0Br8Q,GAC/B,GAAI,GAAaA,IAAS,GAAYA,GAClC,OAAO,EAEX,OAAQA,GACJ,KAAK,IACL,KAAK,GACL,KAAK,IACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACD,OAAO,EAEf,OAAO,EASX,MAAO,CACHs8Q,YA9SJ,SAAqBC,GACjBhzQ,EAAMgzQ,EACN56Q,EAAQ,GACRuxL,EAAc,EACd7tK,EAAQ,GACRu2P,EAAY,GA0SZY,YAAa,WAAc,OAAOjzQ,GAClCkzQ,KAAMlB,EAVV,WACI,IAAIl3P,EACJ,GACIA,EAAS03P,UACJ13P,GAAU,IAA8BA,GAAU,IAC3D,OAAOA,GAKkC03P,EACzCW,SAAU,WAAc,OAAOr3P,GAC/Bs3P,cAAe,WAAc,OAAOh7Q,GACpCi7Q,eAAgB,WAAc,OAAO1pF,GACrC2pF,eAAgB,WAAc,OAAOtzQ,EAAM2pL,GAC3C4pF,kBAAmB,WAAc,OAAOrB,GACxCsB,uBAAwB,WAAc,OAAO7pF,EAAcyoF,GAC3DqB,cAAe,WAAc,OAAOpB,IDOzBqB,CAAcxhP,GAAM,GACnC,SAASyhP,EAAa1mL,GAClB,OAAOA,EAAgB,WAAc,OAAOA,EAAc8kL,EAASsB,iBAAkBtB,EAASuB,iBAAkBvB,EAASwB,oBAAqBxB,EAASyB,2BAA+B,WAAc,OAAO,GAE/M,SAASI,EAAc3mL,GACnB,OAAOA,EAAgB,SAAUl1F,GAAO,OAAOk1F,EAAcl1F,EAAKg6Q,EAASsB,iBAAkBtB,EAASuB,iBAAkBvB,EAASwB,oBAAqBxB,EAASyB,2BAA+B,WAAc,OAAO,GAEvN,IAAIK,EAAgBF,EAAa9B,EAAQgC,eAAgBC,EAAmBF,EAAc/B,EAAQiC,kBAAmBC,EAAcJ,EAAa9B,EAAQkC,aAAcC,EAAeL,EAAa9B,EAAQmC,cAAeC,EAAaN,EAAa9B,EAAQoC,YAAaC,EAAiBN,EAAc/B,EAAQqC,gBAAiBC,EAAcP,EAAc/B,EAAQsC,aAAcC,EAAYT,EAAa9B,EAAQuC,WAAYtjQ,EAAU8iQ,EAAc/B,EAAQ/gQ,SAC3bujQ,EAAmBnlQ,GAAWA,EAAQmlQ,iBACtCC,EAAqBplQ,GAAWA,EAAQolQ,mBAC5C,SAAS9B,IACL,OAAa,CACT,IAAI12P,EAAQi2P,EAASmB,OACrB,OAAQnB,EAAS0B,iBACb,KAAK,EACD5kQ,EAAY,IACZ,MACJ,KAAK,EACDA,EAAY,IACZ,MACJ,KAAK,EACDA,EAAY,IACZ,MACJ,KAAK,EACIwlQ,GACDxlQ,EAAY,IAEhB,MACJ,KAAK,EACDA,EAAY,IACZ,MACJ,KAAK,EACDA,EAAY,IAGpB,OAAQiN,GACJ,KAAK,GACL,KAAK,GACGu4P,EACAxlQ,EAAY,IAGZulQ,IAEJ,MACJ,KAAK,GACDvlQ,EAAY,GACZ,MACJ,KAAK,GACL,KAAK,GACD,MACJ,QACI,OAAOiN,IAIvB,SAASjN,EAAY3P,EAAOq1Q,EAAgBC,GAIxC,QAHuB,IAAnBD,IAA6BA,EAAiB,SAChC,IAAdC,IAAwBA,EAAY,IACxC1jQ,EAAQ5R,GACJq1Q,EAAez+Q,OAAS0+Q,EAAU1+Q,OAAS,EAE3C,IADA,IAAIgmB,EAAQi2P,EAASoB,WACJ,KAAVr3P,GAAwB,CAC3B,IAAuC,IAAnCy4P,EAAe59Q,QAAQmlB,GAAe,CACtC02P,IACA,MAEC,IAAkC,IAA9BgC,EAAU79Q,QAAQmlB,GACvB,MAEJA,EAAQ02P,KAIpB,SAASiC,EAAYC,GACjB,IAAIt8Q,EAAQ25Q,EAASqB,gBAQrB,OAPIsB,EACAR,EAAe97Q,GAGf07Q,EAAiB17Q,GAErBo6Q,KACO,EA2HX,OADAA,IAC4B,KAAxBT,EAASoB,aACLjkQ,EAAQylQ,oBAGZ9lQ,EAAY,EAAuB,GAAI,KAChC,GAlBX,SAASutC,IACL,OAAQ21N,EAASoB,YACb,KAAK,EACD,OAnCZ,WACIa,IACAxB,IAEA,IADA,IAAIoC,GAAa,EACc,IAAxB7C,EAASoB,YAAoE,KAAxBpB,EAASoB,YAA6B,CAC9F,GAA4B,IAAxBpB,EAASoB,YAMT,GALKyB,GACD/lQ,EAAY,EAAuB,GAAI,IAE3CslQ,EAAY,KACZ3B,IAC4B,IAAxBT,EAASoB,YAA4CmB,EACrD,WAGCM,GACL/lQ,EAAY,EAAuB,GAAI,IAEtCutC,KACDvtC,EAAY,EAAuB,GAAI,CAAC,EAA2B,IAEvE+lQ,GAAa,EASjB,OAPAX,IAC4B,IAAxBlC,EAASoB,WACTtkQ,EAAY,EAA8B,CAAC,GAA4B,IAGvE2jQ,KAEG,EAKQqC,GACX,KAAK,EACD,OArEZ,WACIhB,IACArB,IAEA,IADA,IAAIoC,GAAa,EACc,IAAxB7C,EAASoB,YAAkE,KAAxBpB,EAASoB,YAA6B,CAC5F,GAA4B,IAAxBpB,EAASoB,YAMT,GALKyB,GACD/lQ,EAAY,EAAuB,GAAI,IAE3CslQ,EAAY,KACZ3B,IAC4B,IAAxBT,EAASoB,YAA0CmB,EACnD,WAGCM,GACL/lQ,EAAY,EAAuB,GAAI,KAjCnB,KAAxBkjQ,EAASoB,YACTtkQ,EAAY,EAA8B,GAAI,CAAC,EAAyB,IACjE,IAEX4lQ,GAAY,GACgB,IAAxB1C,EAASoB,YACTgB,EAAY,KACZ3B,IACKp2N,KACDvtC,EAAY,EAAuB,GAAI,CAAC,EAAyB,KAIrEA,EAAY,EAAuB,GAAI,CAAC,EAAyB,IAE9D,KAqBCA,EAAY,EAAuB,GAAI,CAAC,EAAyB,IAErE+lQ,GAAa,EASjB,OAPAb,IAC4B,IAAxBhC,EAASoB,WACTtkQ,EAAY,EAA4B,CAAC,GAA0B,IAGnE2jQ,KAEG,EAuCQsC,GACX,KAAK,GACD,OAAOL,GAAY,GACvB,QACI,OArHZ,WACI,OAAQ1C,EAASoB,YACb,KAAK,GACD,IAAI4B,EAAahD,EAASqB,gBACtBh7Q,EAAQqE,OAAOs4Q,GACftrQ,MAAMrR,KACNyW,EAAY,GACZzW,EAAQ,GAEZ87Q,EAAe97Q,GACf,MACJ,KAAK,EACD87Q,EAAe,MACf,MACJ,KAAK,EACDA,GAAe,GACf,MACJ,KAAK,EACDA,GAAe,GACf,MACJ,QACI,OAAO,EAGf,OADA1B,KACO,EA6FQwC,IAWd54N,IAIuB,KAAxB21N,EAASoB,YACTtkQ,EAAY,EAA2B,GAAI,KAExC,IANHA,EAAY,EAAuB,GAAI,KAChC,IApjBf,SAAWyjK,GACPA,EAAaw/F,QAAU,CACnBwC,oBAAoB,GAF5B,CAIG,KAAiB,GAAe,KE0D5B,MAAMW,GAAkB,CAAC,sBAO1BC,GAAgBxlN,EAAiB,UACjCylN,GAAoB,UAMnB,MAAMC,GA2BTruQ,YACIsuQ,EACA3kN,EACAzxD,EACAq2Q,EACAC,EACAppM,EACAha,EACAo7M,EACAiI,EACAC,EACAC,GAhCI,KAAAC,6BAA8B,EAW9B,KAAAC,2BAA4B,EAC5B,KAAAC,yBAA2Bt6P,KAAKC,MAMhC,KAAAs6P,WAAY,EAgBhBh7Q,KAAKi7Q,cAAgBV,EACrBv6Q,KAAKsjF,SAAWn/E,GAAW,IAAIi/E,GAC/BpjF,KAAKk7Q,mBAAqB,GAC1Bl7Q,KAAKojQ,WAAa/rM,EAClBr3D,KAAKm7Q,uBAAyBV,GAAyBH,GAAgBc,qBACvEp7Q,KAAKq7Q,6BAA+BX,EACpC16Q,KAAKs7Q,kCAAoCX,EACzC36Q,KAAKu7Q,sBAAwBX,UAAwB,IAAIr2M,GACzDvkE,KAAKw7Q,aAAehB,UAAe,IAAO,IAAI5F,GAE9CvjM,EAAgBA,UAAiB,IAAIk1F,GAAc,KACnD,MAAMnK,EAAiBp8J,KAAKm7Q,uBAAuBvlN,EAAIyb,EAAerxE,KAAKw7Q,gBAE3Ex7Q,KAAKy7Q,gCACoC38Q,IAArC67Q,EACMA,EACI36Q,KAAKsjF,SACLjS,EACA+qF,EACAp8J,KAAKojQ,WACLqP,EACAzyQ,KAAKq7Q,8BAET,IAAIvG,GACA90Q,KAAKsjF,SACLjS,EACA+qF,EACAp8J,KAAKojQ,WACLqP,EACAzyQ,KAAKq7Q,8BAIvBrpK,MAAMuoK,EAAsB9H,EAA6C78M,GACrE,MAAM09M,EAAU,IAAIgH,GAChBC,EACA3kN,UAAM51D,KAAKw7J,IACXx7J,KAAKsjF,SACLtjF,KAAKw7Q,aACLx7Q,KAAKm7Q,uBACLn7Q,KAAKy7Q,2BAA2BpqM,cAChCrxE,KAAKojQ,WACLqP,EACAzyQ,KAAKq7Q,6BACLr7Q,KAAKs7Q,kCACLt7Q,KAAKu7Q,uBAIT,IAAK,MAAM/yM,KAAYxoE,KAAK07Q,0BAA0Bv5L,QAAQ2jL,YAAa,CACvE,MAAMtoP,EAAUgrD,EAASuiD,WAAW66F,wBACpB9mN,IAAZ0e,GACA81P,EAAQlO,cACJ58L,EAASuiD,WAAWwB,cACpB/uG,EACAgrD,EAASuiD,WAAW86F,uBAKhC,OAAOytD,EAGXl4P,UACIpb,KAAKg7Q,WAAY,EACjBh7Q,KAAK27Q,4BACL37Q,KAAK47Q,2BACL57Q,KAAK67Q,4BACL77Q,KAAK87Q,0BACL97Q,KAAK+7Q,wBACL/7Q,KAAKg8Q,+BAGT,gCACI,OAAOh8Q,KAAKy7Q,2BAGhB,4BAA4B7lN,EAAgBxhD,EAAwBk9D,GAChE,OAAO,IAAI8B,GAAexd,EAAIxhD,EAASk9D,GAG3CgkM,sBAAsB3hQ,GAClB3T,KAAKi8Q,sBAAwBtoQ,EAC7B3T,KAAKy7Q,2BAA2BnG,sBAAsB3hQ,GAG1D6+P,WAAWT,GACP/xQ,KAAKk8Q,oBAAsBnK,EAE3B,MAAMzgM,EAAOtxE,KAAKw7Q,eACZnqM,EAAgBrxE,KAAKm8Q,kBAAkB7qM,EAAMygM,GAE/C1gM,EAAckB,YAEdlB,EAAco3F,2BAA2Bn3F,EAAMtxE,KAAKsjF,UAGxDjS,EAAcq3F,4BAA4Bp3F,EAAMtxE,KAAKsjF,UAErDtjF,KAAKy7Q,2BAA2B1X,iBAAiB1yL,GAEjDrxE,KAAKk7Q,mBAAqB1kN,GACtBT,GAAag8M,EAAmBnyL,cAAevO,EAAcm1F,cAEjExmK,KAAKo8Q,oBAAoB9qM,GAG7B+yL,UAAUxoM,GACN,IAAK,MAAMwgN,KAAer8Q,KAAKqzE,eAAeqzF,QAC1C,GAAI1mK,KAAKs8Q,sBAAsBD,EAAYlmN,OAAQn2D,KAAKqzE,eAAeszF,QAAS9qG,GAC5E,OAAO,EAIf,OAAO,EAGXupM,cACIr2P,EACAyO,EACA2lB,EACA4wI,GAAc,EACdsxF,GAEArlQ,KAAKy7Q,2BAA2BrW,cAAcr2P,EAAMyO,EAAS2lB,EAAU,CACnEkhO,UAAWrkQ,KAAKqkQ,UAAUt1P,GAC1BglK,cACAsxF,oBAEJrlQ,KAAKu8Q,qBAAiD,GAG1DlH,uBACItmQ,EACAyO,EACA2lB,EACA4wI,GAAc,EACdsxF,GAEArlQ,KAAKy7Q,2BAA2BpG,uBAAuBtmQ,EAAMyO,EAAS2lB,EAAU,CAC5EkhO,UAAWrkQ,KAAKqkQ,UAAUt1P,GAC1BglK,cACAsxF,oBAEJrlQ,KAAKu8Q,qBAAiD,GAG1D7G,iBACIC,EACAC,GAEA51Q,KAAKy7Q,2BAA2B/F,iBAAiBC,EAAkBC,GAGvEO,cAAcC,GACVp2Q,KAAKy7Q,2BAA2BtF,cAAcC,GAGlD7Q,cAAcx2P,GACV/O,KAAKy7Q,2BAA2BlW,cAAcx2P,GAC9C/O,KAAKu8Q,qBAAoB,GAG7BC,eAAeztQ,G,MACX,OAA6C,QAAtC,EAAA/O,KAAKi1Q,SAAS9O,mBAAmBp3P,UAAK,eAAEi7G,kBAGnDigJ,eAAepuM,EAAkBpvD,EAAcuU,GAC3C,OAAOhhB,KAAKi1Q,SAAShL,eAAepuM,EAAUpvD,EAAOuU,GAGzDkpP,eACIruM,EACApvD,EACA2gJ,EACAQ,EACA/D,EACAkM,EACA/0I,GAEA,OAAOhhB,KAAKi1Q,SAAS/K,eACjBruM,EACApvD,EACA2gJ,EACAQ,EACA5tJ,KAAKy7Q,2BAA2BlF,YAAY16M,GAC5CguF,EACAkM,EACA/0I,GAIRy7P,yBACI5gN,EACAp/B,EACAosB,EACA7nC,GAEA,OAAOhhB,KAAKi1Q,SAASrtD,0BAA0B/rJ,EAAUp/B,EAAUosB,EAAQ7nC,GAG/E07P,6BACI7gN,EACAp/B,EACAzb,GAEA,OAAOhhB,KAAKi1Q,SAASptD,8BAA8BhsJ,EAAUp/B,EAAUzb,GAG3E4pP,4BACI/uM,EACAp/B,EACA+9H,EACAJ,EACAp5I,GAEAhhB,KAAKi1Q,SAASrK,4BAA4B/uM,EAAUp/B,EAAU+9H,EAAoBJ,EAAUp5I,GAGhGoqP,sBAAsBvvM,EAAkBowG,EAA8BjrJ,GAClEhhB,KAAKi1Q,SAAS7J,sBAAsBvvM,EAAUowG,EAAYjrJ,GAG9DqqP,0BAA0B/6M,EAAe8pG,EAAmCp5I,GACxEhhB,KAAKi1Q,SAAS5J,0BAA0B/6M,EAAO8pG,EAAUp5I,GAG7D8rP,WAAWv1I,EAAmBw1I,GAC1B,OAAO/sQ,KAAKi1Q,SAASnI,WAAWv1I,EAASw1I,GAG7C7kD,oBACIrsJ,EACAp/B,EACAprB,EACA2P,GAEA,OAAOhhB,KAAKi1Q,SAAS/sD,oBAAoBrsJ,EAAUp/B,EAAUprB,EAAQ2P,GAGzEooM,qBACIvtJ,EACAp/B,EACAzb,GAEA,OAAOhhB,KAAKi1Q,SAAS7rD,qBAAqBvtJ,EAAUp/B,EAAUzb,GAGlEqoM,4BACIxtJ,EACAp/B,EACAprB,EACA2P,GAEA,OAAOhhB,KAAKi1Q,SAAS5rD,4BAA4BxtJ,EAAUp/B,EAAUprB,EAAQ2P,GAGjF+iI,0BACIloF,EACAp/B,EACAkzH,EACAv7I,EACAw5I,EACA5sI,GAEA,OAAOhhB,KAAKi1Q,SAASlxH,0BACjBloF,EACAp/B,EACAkzH,EACAv7I,EACAw5I,EACA5tJ,KAAKy7Q,2BAA2BlF,YAAY16M,GAC5C76C,GAIR27P,eACI,OAAO38Q,KAAKi1Q,SAASnjJ,UAGzB6zB,sBACI9pF,EACA+pF,EACAxxI,EACAw5I,EACA5sI,GAEAhhB,KAAKi1Q,SAAStvH,sBACV9pF,EACA+pF,EACAxxI,EACAw5I,EACA5tJ,KAAKy7Q,2BAA2BlF,YAAY16M,GAC5C76C,GAIRgpM,mBACInuJ,EACAx/B,EACAjlB,EACA4J,GAEA,OAAOhhB,KAAKi1Q,SAASjrD,mBAAmBnuJ,EAAUx/B,EAASjlB,EAAM4J,GAGrE4qP,aAAa/vM,EAAkBowM,EAAqBjrP,GAChD,OAAOhhB,KAAKi1Q,SAASrJ,aAAa/vM,EAAUowM,EAAajrP,GAG7DorP,uBACIvwM,EACAp/B,EACAmkI,EACAyrG,EACArrP,GAEA,OAAOhhB,KAAKi1Q,SAAS7I,uBAAuBvwM,EAAUp/B,EAAUmkI,EAASyrG,EAAoBrrP,GAGjGsrP,mBAAmBzwM,EAAkBp/B,EAAoBzb,GACrD,OAAOhhB,KAAKi1Q,SAAS3I,mBAAmBzwM,EAAUp/B,EAAUzb,GAGhEyrP,4BACI5wM,EACAp/B,EACAzb,GAEA,OAAOhhB,KAAKi1Q,SAASxI,4BAA4B5wM,EAAUp/B,EAAUzb,GAGzE4rP,4BACI/wM,EACAp/B,EACAzb,GAEA,OAAOhhB,KAAKi1Q,SAASrI,4BAA4B/wM,EAAUp/B,EAAUzb,GAGzE47P,aACI58Q,KAAKsjF,SAASrnE,KAAK,IACnBjc,KAAKsjF,SAASrnE,KAAK,kBAEnB,MAAM4gQ,EAAY78Q,KAAKi1Q,SAASpyL,eAChC7iF,KAAKsjF,SAASrnE,KAAK,yBAA2B4gQ,EAAUr9Q,YAG5DunQ,kBAAkBthP,GACdzlB,KAAKi1Q,SAASlO,kBAAkB/mQ,KAAKk7Q,mBAAoBz1P,GAG7DglP,uBAAuB5uM,EAAkBpvD,EAAcuU,GACnD,OAAOhhB,KAAKy7Q,2BAA2BhR,uBAAuB5uM,EAAUpvD,EAAOuU,GAGnF87P,mBACI,OAAO98Q,KAAKqzE,eAGhB0pM,oBACI,OAAO/8Q,KAAKy7Q,2BAA2Br/G,eAG3C4gH,4BACIh9Q,KAAK+6Q,yBAA2Bt6P,KAAKC,MAIjC1gB,KAAKi9Q,eACLj9Q,KAAKu8Q,qBAAoB,GAKjC,mBACI,OAAOv8Q,KAAKi1Q,SAGhBiI,sBAAsBnL,GAClB,OAAO/xQ,KAAKm8Q,kBAAkBn8Q,KAAKy7Q,2BAA2BnqM,KAAMygM,GAGxEoL,iCACI,OAAOn9Q,KAAKo9Q,6BAKRjB,kBAAkB7qM,EAAYygM,G,UAClC,IACIsL,EACAC,EAFA92G,EAAcurG,EAAmBnyL,cAIjCmyL,EAAmBsL,gBAInBA,EAAiBtnN,GACbg8M,EAAmBnyL,cACnBppB,GAAcu7M,EAAmBsL,iBAEhCr9Q,KAAKw7J,IAAIxlG,WAAWqnN,GAIjBA,EAAev9Q,cAAcm6D,SAAS,SACtCusG,EAAcnyG,EAAiBgpN,IAE/B72G,EAAc62G,EACdA,EAAiBr9Q,KAAKu9Q,gBAAgBF,GACjCA,GACDr9Q,KAAKsjF,SAASrnE,KAAK,mCAAmCuqJ,QAT9DxmK,KAAKsjF,SAASrnE,KAAK,mCAAmCohQ,MACtDA,EAAiBtL,EAAmBnyL,gBAYjC4mF,IAGP62G,EAAiBr9Q,KAAKu9Q,gBAAgB/2G,GAKjC62G,GAAmBtL,EAAmBlB,sBACvCwM,EAAiBr9Q,KAAKw9Q,wBAAwBh3G,IAG9C62G,EACA72G,EAAcnyG,EAAiBgpN,IAE/Br9Q,KAAKsjF,SAASrnE,KAAK,gCACnBohQ,OAAiBv+Q,IAIpBu+Q,IAEDC,EAAoBt9Q,KAAKy9Q,uBAAuBj3G,GAE3C82G,GAAsBvL,EAAmBlB,sBAC1CyM,EAAoBt9Q,KAAK09Q,+BAA+Bl3G,IAGxD82G,GACA92G,EAAcnyG,EAAiBipN,GAC/Bt9Q,KAAKsjF,SAASrnE,KAAK,gCAAgCuqJ,OAEnDxmK,KAAKsjF,SAASrnE,KAAK,kCAI3B,MAAMo1D,EAAgB,IAAIk1F,GAAcC,EAAaxmK,KAAK29Q,mBACpDC,EAAkB,CAAC,kBAAmB,iBAAkB,SAwC9D,IAAIC,EASJ,GA/CI9L,EAAmBx/L,aACnBvyE,KAAKsjF,SAASrnE,KACV,mCAAmCjc,KAAKi7Q,oBAAyBlJ,EAAmBx/L,eAExFlB,EAAckB,WAAaw/L,EAAmBx/L,YAKlDlB,EAAc8wF,sBAAwB4vG,EAAmB1vG,eACzDhxF,EAAc6wF,qBAAuB6vG,EAAmBh1L,cACxD1L,EAAc23F,wBACVhpK,KAAKw7J,IACLu2G,EAAmB9oG,kBAAmB,EACtC8oG,EAAmB/7L,YAGnB+7L,EAAmBjB,UAAU91Q,OAAS,EACtC+2Q,EAAmBjB,UAAUxrP,SAASw0C,IAClCuX,EAAcq1F,QAAQrrK,KAAKu+D,GAAY4sG,EAAa1sG,OAEhDujN,GAIJtL,EAAmBnyL,gBACnBvO,EAAcq1F,QAAQrrK,KAAKu+D,GAAYm4M,EAAmBnyL,cAAe,MAGzEg+L,EAAgBt4P,SAASqhJ,IACrBt1F,EAAcs1F,QAAQtrK,KAAKu+D,GAAYm4M,EAAmBnyL,cAAe+mF,QAKrF3mK,KAAK89Q,gBAAkBT,GAAkBC,EAIrCD,GACAr9Q,KAAKsjF,SAASrnE,KAAK,iCAAiCohQ,KACpDQ,EAAgB79Q,KAAK+9Q,qBAAqBV,IACnCC,IACPt9Q,KAAKsjF,SAASrnE,KAAK,kCAAkCqhQ,KACrDO,EAAgB79Q,KAAKg+Q,wBAAwBV,IAG7CO,EAAe,CACfxsM,EAAcw2F,mBACVg2G,EACA79Q,KAAK29Q,kBACL39Q,KAAKsjF,SACLhS,EACAygM,EAAmB7oG,4BACnB6oG,EAAmBjB,UAAU91Q,OAAS,GAG1C,MAAMijR,EAAgB5pN,EAAiBr0D,KAAK89Q,iBAIP,IAAjCzsM,EAAcq1F,QAAQ1rK,SACtBgF,KAAKsjF,SAASrnE,KAAK,0CAA0CgiQ,KAC7D5sM,EAAcq1F,QAAQrrK,KAAKu+D,GAAYqkN,EAAe,OAIrB,IAAjC5sM,EAAcs1F,QAAQ3rK,SACtB4iR,EAAgBt4P,SAASqhJ,IACrB3mK,KAAKsjF,SAASrnE,KAAK,kBAAkB0qJ,KACrCt1F,EAAcs1F,QAAQtrK,KAAKu+D,GAAYqkN,EAAet3G,YAGpB7nK,IAAlCuyE,EAAc6sM,kBACd7sM,EAAc6sM,iBAAkB,SAIxC7sM,EAAc6sM,iBAAkB,EAChC7sM,EAAc+2F,yBAAyB2pG,EAAmB7oG,6BAG9D73F,EAAc61F,4BAA4E,QAA9C,EAAA6qG,EAAmB7qG,mCAA2B,SAE1F,MAAMi3G,EAAyB,CAACC,EAAqBC,KACjD,MAAMC,EAAgBvM,EAAmBlB,oBACnC,sBACA,wBACN7wQ,KAAKsjF,SAAStnE,KACV,OAAOoiQ,oDACAE,oCAAgDD,4BAsD/D,GA9CItM,EAAmBrgM,WACdL,EAAcK,SAGfysM,EAAuB,WAAY9sM,EAAcK,UAFjDL,EAAcK,SAAWqgM,EAAmBrgM,UAMhDqgM,EAAmBh2L,eACd1K,EAAc0K,aAGfoiM,EAAuB,eAAgB9sM,EAAc0K,cAFrD1K,EAAc0K,aAAeg2L,EAAmBh2L,cAMxD1K,EAAcu3F,cAAgD,QAAhC,EAAAmpG,EAAmBnpG,qBAAa,QAAIv3F,EAAcu3F,cAChFv3F,EAAc40L,qBAAuB8L,EAAmB9L,mBACxD50L,EAAcg8E,wBAA0B0kH,EAAmB1kH,sBAC3Dh8E,EAAcy1F,WAAairG,EAAmBjrG,SAC9Cz1F,EAAc01F,wBAA0BgrG,EAAmBhrG,sBAC3D11F,EAAc21F,4BAA8B+qG,EAAmB/qG,iCAIlBloK,IAAzCuyE,EAAc62F,uBACd72F,EAAc62F,yBAA2B6pG,EAAmB7pG,4BACPppK,IAA9CizQ,EAAmB7pG,wBAC1Bi2G,EAAuB,yBAA0B9sM,EAAc62F,wBAI/D6pG,EAAmB97L,SACd5E,EAAc4E,SAGfkoM,EAAuB,WAAY9sM,EAAc4E,UAFjD5E,EAAc4E,SAAW87L,EAAmB97L,SAK3C5E,EAAc4E,WACf5E,EAAc4E,SAAWzf,GAAcT,GAAasb,EAAcm1F,YAAa,aAMnFn1F,EAAcK,WACT1xE,KAAKw7J,IAAIxlG,WAAWqb,EAAcK,WAAc9Y,GAAY54D,KAAKw7J,IAAKnqF,EAAcK,WACrF1xE,KAAKsjF,SAASl/E,MAAM,YAAYitE,EAAcK,sCAMlDL,EAAcM,KAAyB,QAAlB,EAAAN,EAAcM,YAAI,QAAI3xE,KAAKqzE,eAAe1B,KAC3DN,EAAcM,MAAM,CACpB,MAAM4sM,EAAexoN,GAAasb,EAAcK,SAAUL,EAAcM,MAExE,GAAK3xE,KAAKw7J,IAAIxlG,WAAWuoN,IAAkB3lN,GAAY54D,KAAKw7J,IAAK+iH,GAI1D,CACH,MAAMhtM,EAA8B,QAC4CzyE,IAA5EsyE,GAAsBpxE,KAAKw7J,IAAKnqF,EAAeC,EAAMC,KACrDvxE,KAAKsjF,SAASl/E,MAEN,0DAAGitE,EAAcK,qBAAqBL,EAAcM,SAGxDN,EAAcu3F,eACdr3F,EAAkBjsD,SAASkqG,IACvBxvH,KAAKsjF,SAASl/E,MAAM,KAAKorH,cAbrCxvH,KAAKsjF,SAASl/E,MACV,QAAQitE,EAAcM,4CAA4CN,EAAcK,aA0ChG,OArBIL,EAAcM,OACTN,EAAcK,UACf1xE,KAAKsjF,SAAStnE,KAAK,8DAIvBq1D,EAAc0K,eAET/7E,KAAKw7J,IAAIxlG,WAAWqb,EAAc0K,eAClCnjB,GAAY54D,KAAKw7J,IAAKnqF,EAAc0K,eAErC/7E,KAAKsjF,SAASl/E,MAAM,gBAAgBitE,EAAc0K,2CAItD1K,EAAc4E,WACTj2E,KAAKw7J,IAAIxlG,WAAWqb,EAAc4E,WAAcrd,GAAY54D,KAAKw7J,IAAKnqF,EAAc4E,WACrFj2E,KAAKsjF,SAAStnE,KAAK,YAAYq1D,EAAc4E,uCAI9C5E,EAGXi2L,cAActmP,G,MACV,MAAMw9P,EAAoBx+Q,KAAKy+Q,qBAE/Bz+Q,KAAKi1Q,SAAS3N,cACc,QAAxB,EAAAtnQ,KAAK0+Q,2BAAmB,QAAI,GAC5B1+Q,KAAK66Q,4BACL2D,EACAx9P,GAIR0yP,0BAA0B1yP,G,MACtB,MAAMw9P,EAAoBx+Q,KAAKy+Q,qBAE/B,OAAOz+Q,KAAKy7Q,2BAA2BnU,cACX,QAAxB,EAAAtnQ,KAAK0+Q,2BAAmB,QAAI,GAC5B1+Q,KAAK66Q,4BACL2D,EACAx9P,GAORy1P,6BACIC,GAA0B,EAC1BC,GAAyB,EACzBgI,GAAwB,GAEpBA,GACA3+Q,KAAK4+Q,wBAA2D,GAIpE5+Q,KAAKy7Q,2BAA2BhF,6BAA6BC,EAAyBC,GAK1FtC,UACIr0Q,KAAKo8Q,oBAAoBp8Q,KAAKw7Q,gBAE9Bx7Q,KAAKy7Q,2BAA2BpH,UAGpC,UACI,OAAOr0Q,KAAKy7Q,2BAA2Br/G,eAAep9F,WAG1D,eACI,OAAOh/D,KAAKy7Q,2BAA2Bt5L,QAG3C,qBACI,OAAOniF,KAAKy7Q,2BAA2BpqM,cAG3C,6B,MACI,SAAiC,QAAxB,EAAArxE,KAAKk8Q,2BAAmB,eAAEhK,uBAGvC,8B,MACI,SAAiC,QAAxB,EAAAlyQ,KAAKk8Q,2BAAmB,eAAE/J,wBAGvC,6B,MACI,SAAiC,QAAxB,EAAAnyQ,KAAKk8Q,2BAAmB,eAAE9J,uBAGvC,wB,MACI,OAA+B,QAAxB,EAAApyQ,KAAKk8Q,2BAAmB,eAAEz1G,iBAGrC,qBACI,QAASzmK,KAAKqzE,eAAeu1F,cAGjC,gC,MACI,OAA+B,QAAxB,EAAA5oK,KAAKk8Q,2BAAmB,eAAErK,yBAG7B4M,qBACJ,MAAMxoM,EAAWj2E,KAAKqzE,eAAe4C,SACrC,IAAKj2E,KAAK0+Q,sBAAwB1+Q,KAAK6+Q,0BAA2B,CAC9D,MAAMC,EAAS,WAAW9+Q,KAAK6+Q,mDAE/B,MADA7+Q,KAAKsjF,SAASl/E,MAAM06Q,GACd,IAAIljR,MAAMkjR,GAGpB,IAAK7oM,EAAU,CAGX,MAAM6oM,EAAS,gCAEf,MADA9+Q,KAAKsjF,SAASrnE,KAAK6iQ,GACb,IAAIljR,MAAMkjR,GAGpB,MAAMC,EAA2B/+Q,KAAK6+Q,0BAA0BtxQ,MAAM,KACtE,GAA2C,IAAvCwxQ,EAAyB,GAAG/jR,OAAc,CAG1C,MAAM8jR,EAAS,WAAW9+Q,KAAK6+Q,mDAE/B,MADA7+Q,KAAKsjF,SAASl/E,MAAM06Q,GACd,IAAIljR,MAAMkjR,GAGpB,IAES9+Q,KAAKw7J,IAAIxlG,WAAWigB,IACrBj2E,KAAKw7J,IAAIvlG,UAAUggB,GAEzB,MAAOhyE,GACL,MAAM66Q,EAAS,uCAAuC7oM,KAEtD,MADAj2E,KAAKsjF,SAASl/E,MAAM06Q,GACd,IAAIljR,MAAMkjR,GAIpB,MAAMN,EAAoBzoN,GAAakgB,EAAU8oM,EAAyB,IACpEC,EAAyBjpN,GAAakgB,KAAa8oM,GAEzD,IAES/+Q,KAAKw7J,IAAIxlG,WAAWgpN,IACrBrpN,EAAgB31D,KAAKw7J,IAAKwjH,EAAwB/oM,GAExD,MAAOhyE,GACL,MAAM66Q,EAAS,0CAA0CE,KAEzD,MADAh/Q,KAAKsjF,SAASl/E,MAAM06Q,GACd,IAAIljR,MAAMkjR,GAGpB,OAAON,EAGHhB,wBAAwBrnM,GAC5B,OAAOjiB,EAAyBiiB,GAAa8oM,GAAaj/Q,KAAKu9Q,gBAAgB0B,KAG3E1B,gBAAgBpnM,GACpB,IAAK,MAAM9pE,KAAQ8tQ,GAAiB,CAChC,MAAM5hN,EAAWxC,GAAaogB,EAAY9pE,GAC1C,GAAIrM,KAAKw7J,IAAIxlG,WAAWuC,GACpB,OAAOA,GAMXmlN,+BAA+BvnM,GACnC,OAAOjiB,EAAyBiiB,GAAa8oM,GAAaj/Q,KAAKy9Q,uBAAuBwB,KAGlFxB,uBAAuBtnM,GAC3B,MAAM5d,EAAWxC,GAAaogB,EAl2BL,kBAm2BzB,GAAIn2E,KAAKw7J,IAAIxlG,WAAWuC,GACpB,OAAOA,EAKPwlN,qBAAqBmB,GACzB,OAAOl/Q,KAAKm/Q,kBAAkBD,GAAavmG,GFzyB5C,SAAevhJ,EAAMxrB,EAAQwI,QACjB,IAAXxI,IAAqBA,EAAS,SAClB,IAAZwI,IAAsBA,EAAU,GAAa4iQ,SACjD,IAAIoI,EAAkB,KAClBC,EAAgB,GAChBC,EAAkB,GACtB,SAASC,EAAQjiR,GACT5B,MAAMuD,QAAQogR,GACdA,EAAchkR,KAAKiC,GAEM,OAApB8hR,IACLC,EAAcD,GAAmB9hR,GAiCzC,OADAw5Q,GAAM1/O,EA7BQ,CACV2hP,cAAe,WACX,IAAIyG,EAAS,GACbD,EAAQC,GACRF,EAAgBjkR,KAAKgkR,GACrBA,EAAgBG,EAChBJ,EAAkB,MAEtBpG,iBAAkB,SAAU3sQ,GACxB+yQ,EAAkB/yQ,GAEtB4sQ,YAAa,WACToG,EAAgBC,EAAgBrlO,OAEpCi/N,aAAc,WACV,IAAI35Q,EAAQ,GACZggR,EAAQhgR,GACR+/Q,EAAgBjkR,KAAKgkR,GACrBA,EAAgB9/Q,EAChB6/Q,EAAkB,MAEtBjG,WAAY,WACRkG,EAAgBC,EAAgBrlO,OAEpCm/N,eAAgBmG,EAChBvpQ,QAAS,SAAU5R,EAAO1C,EAAQ1G,GAC9B4Q,EAAOvQ,KAAK,CAAE+I,MAAOA,EAAO1C,OAAQA,EAAQ1G,OAAQA,MAGvCoZ,GACdirQ,EAAc,GE8vBN,CAAY1mG,KAInBqlG,wBAAwByB,GAC5B,OAAOz/Q,KAAKm/Q,kBAAkBM,GAAe,CAAC9mG,EAAc+mG,KACxD,IACI,MAAM53G,EAAY,SAAW6Q,GAC7B,GAAI7Q,GAAaA,EAAU63G,MAAS73G,EAAU63G,KAAsBC,QAChE,OAAQ93G,EAAU63G,KAAsBC,QAE9C,MAAO37Q,GAEL,MADAjE,KAAKsjF,SAASl/E,MAAM,gCAAgCs7Q,YAAuB1wQ,KAAKC,UAAUhL,MACpFA,EAGVjE,KAAKsjF,SAASl/E,MAAM,mBAAmBq7Q,8CAKvCN,kBACJtjN,EACAgkN,GAEA,IAAIlnG,EAAe,GACfmnG,EAAoB,EAExB,OAAa,CAET,IACInnG,EAAe34K,KAAKw7J,IAAIn8F,aAAaxD,EAAU,QACjD,MAGE,OAFA77D,KAAKsjF,SAASl/E,MAAM,gBAAgBy3D,8BACpC77D,KAAK+/Q,0BAKT,IAAIC,GAAc,EAClB,IACI,OAAOH,EAAclnG,EAAcmnG,EAAoB,GACzD,MAAO77Q,GACL+7Q,GAAc,EAGlB,IAAKA,EACD,MAMJ,GAAIF,KAAuB,EAGvB,OAFA9/Q,KAAKsjF,SAASl/E,MAAM,gBAAgBy3D,+DACpC77D,KAAK+/Q,2BAQT3C,6BAEJ,MAAM6C,EAAU,IAAIniQ,IAUpB,OARAqjE,GAAYE,cAAcP,eAAc,KACpC,MAAMo/L,EAAelgR,KAAKmgR,YAAYngR,KAAKqzE,eAAeqzF,QAAS1mK,KAAKqzE,eAAeszF,SAEvF,IAAK,MAAMj3I,KAAQwwP,EACfD,EAAQ96Q,IAAIuqB,EAAMA,MAInB,IAAIuwP,EAAQt3P,UAQfi2P,uBAAuBwB,GAG3B,GAAIpgR,KAAK6+Q,0BAA2B,CAChC,MAAM97M,EAAU/iE,KAAKqzE,eAAeywE,oBAAoB9jJ,KAAKk7Q,oBACvDrnM,EAAmBb,GAA+BhzE,KAAK6+Q,2BACvDh1M,EAAe7pE,KAAKy7Q,2BAA2Br/G,eAAexoF,cAChE,GACA7Q,EACA8Q,GAGJ,GAAIhK,EAAae,cAAe,CAC5B,MAAMy1M,EAA0B,GAG1BC,EAAoBz2M,EAAagB,cAAchB,EAAagB,cAAc7vE,OAAS,GACnFulR,EAAkBznN,GAAO94D,KAAKw7J,IAAK8kH,GACnCE,EACFD,GAA0E,aAAvD5nN,GAAmBD,GAAY4nN,IAEtD,IAAIG,EAAkBH,EAElBC,IAEAE,EAAkBpsN,EAAiBosN,IAGvC,IAAK,IAAInmR,EAAIuvE,EAAagB,cAAc7vE,OAAS,EAAGV,GAAK,EAAGA,IAEpDmmR,EADA52M,EAAagB,cAAcvwE,GACTuvE,EAAagB,cAAcvwE,GAK3B+5D,EAAiBosN,GAIvC7nN,GAAY54D,KAAKw7J,IAAKilH,GACtBzgR,KAAK0+Q,oBAAsB+B,EACpB3nN,GAAO94D,KAAKw7J,IAAKilH,KAGxBzgR,KAAK0+Q,oBAAsBrqN,EAAiBosN,IAG3CH,GAGDD,EAAchlR,KAAKilR,GACnBtgR,KAAK66Q,4BAAoE,IAAtChxM,EAAagB,cAAc7vE,SAAiBwlR,GAH/ExgR,KAAK66Q,6BAA8B,EAOvChxM,EAAaiL,wBAAwBxvD,SAAS8lD,IAC1Ci1M,EAAchlR,KAAK+vE,EAAer8D,SAGtC/O,KAAKy7Q,2BAA2B9W,4BAA4B,CAAC3kQ,KAAK6+Q,4BAClE7+Q,KAAKy7Q,2BAA2BxX,gBAAgBoc,QAEhDrgR,KAAKsjF,SAASl/E,MAAM,WAAWpE,KAAK6+Q,4CAErC,CACH,IAAI6B,EAAqB,GACzB1gR,KAAKsjF,SAASrnE,KAAK,8BACnBykQ,EAAW1gR,KAAKo9Q,6BAEhBp9Q,KAAKy7Q,2BAA2BxX,gBAAgByc,GAChD1gR,KAAKy7Q,2BAA2BhW,kBAAkB2a,GAE1B,IAApBM,EAAS1lR,OACTgF,KAAKsjF,SAASrnE,KAAK,0BAEnBjc,KAAKsjF,SAASrnE,KAAK,SAASykQ,EAAS1lR,kBAA0C,IAApB0lR,EAAS1lR,OAAe,OAAS,UAIpGgF,KAAK86Q,2BAA4B,EAG7BqF,YAAYz5G,EAAqBC,GACrC,MAAMg6G,EAAa,CAAC,CAAC,MAAO,YAAa,CAAC,UAAW,YAAa,CAAC,eAC7Dt4H,EAAoB,GACpBxoI,EAAYY,KAAKC,MAEvB,IAAIkgQ,GAA2B,EAE/B,MAAMC,EAA0B,CAAC7mN,EAAsB8mN,KAuBnD,GAtBKF,GACoD,MAA1BngQ,KAAKC,MAAQb,IALhB,KAUpB7f,KAAKsjF,SAASl/E,MACV,6oBAWJw8Q,GAA2B,GAI/B5gR,KAAKqzE,eAAe6qM,iBAChByC,EAAWlyN,MAAMnX,GAAMt3C,KAAKw7J,IAAIxlG,WAAWD,GAAaiE,KAAiB1iB,MAEzE,YADAt3C,KAAKsjF,SAASrnE,KAAK,kBAAkB+9C,KAK7C,MAAM,MAAEX,EAAK,YAAEC,GAAgBJ,GAAqBl5D,KAAKw7J,IAAKxhG,GAE9D,IAAK,MAAMtqC,KAAQ2pC,EAAO,CACtB,MAAMwC,EAAW9F,GAAaiE,EAActqC,GAExC1vB,KAAKs8Q,sBAAsBwE,EAAen6G,EAAS9qG,IACnDwsF,EAAQhtJ,KAAKwgE,GAIrB,IAAK,MAAM1H,KAAamF,EAAa,CACjC,MAAMhE,EAAUS,GAAaiE,EAAc7F,GACvC2sN,EAAc9pO,KAAKse,KACdt1D,KAAK+gR,iBAAiBzrN,EAASqxG,IAChCq6G,EAAe1rN,EAASwrN,MAMlCG,EAAW,IAAInwO,IACfkwO,EAAiB,CAAChnN,EAAsB8mN,KAC1C,MAAMI,EAAcloN,GAAYh5D,KAAKw7J,IAAKxhG,GAC1C,GAAKknN,EAKL,GAAID,EAAS78P,IAAI88P,GACblhR,KAAKsjF,SAAStnE,KAAK,+BAA+Bg+C,UAAqBknN,UAD3E,CAIAD,EAASr7P,IAAIs7P,GAEb,IACIL,EAAwB7mN,EAAc8mN,G,QAEtCG,EAASr+P,OAAOs+P,SAbhBlhR,KAAKsjF,SAAStnE,KAAK,yBAAyBg+C,OAsCpD,OArBA0sG,EAAQphJ,SAAS+2P,IACb,IAAKr8Q,KAAK+gR,iBAAiB1E,EAAYnmN,aAAcywG,GAAU,CAC3D,IAAIw6G,GAAgB,EAEpB,MAAMxnN,EAAOd,GAAQ74D,KAAKw7J,IAAK6gH,EAAYnmN,eACvCyD,aAAI,EAAJA,EAAMb,UACF94D,KAAKohR,mBAAmB/E,EAAYnmN,gBACpCmyF,EAAQhtJ,KAAKghR,EAAYnmN,cACzBirN,GAAgB,IAEbxnN,aAAI,EAAJA,EAAMf,iBACbooN,EAAe3E,EAAYnmN,aAAcmmN,EAAYlmN,QACrDgrN,GAAgB,GAGfA,GACDnhR,KAAKsjF,SAASl/E,MAAM,sBAAsBi4Q,EAAYnmN,qCAK3DmyF,EAGHszH,4BACA37Q,KAAKqhR,qBACLrhR,KAAKqhR,mBAAmBhrQ,QACxBrW,KAAKqhR,wBAAqBviR,GAI1BwiR,4BAGJ,GAFAthR,KAAK27Q,4BAEA37Q,KAAKuhR,wBAINvhR,KAAKqzE,eAAeqzF,QAAQ1rK,OAAS,EAAG,CACxC,MAAM0lR,EAAW1gR,KAAKqzE,eAAeqzF,QAAQ5iJ,KAAK09P,GACvCzrN,GAAa/1D,KAAKk7Q,mBAAoBsG,EAAKtrN,gBAGtD,IACQl2D,KAAKyhR,gBACLzhR,KAAKsjF,SAASrnE,KAAK,wCAAwCykQ,EAASllR,KAAK,SAG7E,MAAMkmR,EAAYpiN,GAA0BohN,GAC5C1gR,KAAKqhR,mBAAqBrhR,KAAKw7J,IAAIx6F,wBAAwB0/M,GAAU,CAACrtQ,EAAOtE,KACzE,IAAKA,EACD,OAOJ,GAJI/O,KAAKyhR,gBACLzhR,KAAKsjF,SAASrnE,KAAK,kCAAkC5I,gBAAoBtE,MAGzE2yQ,EAAU3yQ,GACV,OAIJ,GAAIA,EAAKkrD,SAAS,SAAWlrD,EAAKkrD,SAAS,SAAWlrD,EAAK7I,SAASk0Q,IAChE,OAGJ,MAAMuH,EAAQ9oN,GAAQ74D,KAAKw7J,IAAKzsJ,GAEhC,IAAI4yQ,IAASA,EAAM7oN,UAAa/pD,EAAKkrD,SAAS,QAAWlrD,EAAKkrD,SAAS,QAKvE,GAAc,WAAV5mD,GAAsBsuQ,EACtB3hR,KAAKy7Q,2BAA2B7V,eAAe,CAAC72P,IAAmC,GACnF/O,KAAKu8Q,qBAAmD,OACrD,CAMH,MACMqF,EADWlpN,GAAY3pD,GACExB,MAAM,KACrC,IAAIs0Q,GAAkB,EACO,IAAzBD,EAAc5mR,QACV4mR,EAAc,KAAOA,EAAc,IAAkC,KAA5BA,EAAc,GAAG5mR,SAC1D6mR,GAAkB,GAIrBA,IASD7hR,KAAKy2Q,8BAC6B,GACD,GAEjCz2Q,KAAKu8Q,qBAAmD,QAItE,MACEv8Q,KAAKsjF,SAASl/E,MAAM,sDAAsDs8Q,EAASllR,KAAK,WAK5FqgR,4BACA77Q,KAAK8hR,sBACL9hR,KAAK8hR,oBAAoBzrQ,QACzBrW,KAAK8hR,yBAAsBhjR,GAI3BijR,4BAGJ,GAFA/hR,KAAK67Q,6BAEA77Q,KAAKgiR,wBACN,OAIJ,MACMC,EAAY7wM,GACdpxE,KAAKw7J,IACLx7J,KAAKy7Q,2BAA2BpqM,cAChCrxE,KAAKy7Q,2BAA2BnqM,KAJA,IAMhC,EACAtxE,KAAKk7Q,oBAGT,GAAI+G,GAAaA,EAAUjnR,OAAS,EAChC,IACQgF,KAAKyhR,gBACLzhR,KAAKsjF,SAASrnE,KAAK,gDAAgDgmQ,EAAUzmR,KAAK,SAEtF,MAAMkmR,EAAYpiN,GAA0B2iN,GAC5CjiR,KAAK8hR,oBAAsB9hR,KAAKw7J,IAAIx6F,wBAAwBihN,GAAW,CAAC5uQ,EAAOtE,KACtEA,IAID/O,KAAKyhR,gBACLzhR,KAAKsjF,SAASrnE,KAAK,mCAAmC5I,gBAAoBtE,MAG1E2yQ,EAAU3yQ,IAId/O,KAAKkiR,+BAEX,MACEliR,KAAKsjF,SAASl/E,MAAM,sDAAsD69Q,EAAUzmR,KAAK,UAK7FwgR,+B,MACAh8Q,KAAKmiR,0BACL9qQ,aAAarX,KAAKmiR,yBAClBniR,KAAKmiR,6BAA0BrjR,EACA,QAA/B,EAAAkB,KAAKy7Q,kCAA0B,SAAEnF,kBAIjC4L,2BACAliR,KAAKg7Q,YAKTh7Q,KAAKg8Q,+BAKLh8Q,KAAKmiR,wBAA0BjrQ,YAAW,KACtClX,KAAKg8Q,+BAILh8Q,KAAKy2Q,8BAA2D,GAChEz2Q,KAAKu8Q,qBAAoB,KAnxCG,MAuxC5BX,2BACA57Q,KAAKoiR,qBACLpiR,KAAKoiR,mBAAmB/rQ,QACxBrW,KAAKoiR,wBAAqBtjR,GAI1BujR,2BACJriR,KAAK47Q,2BAEA57Q,KAAKsiR,yBAINtiR,KAAK89Q,gBACL99Q,KAAKoiR,mBAAqBpiR,KAAKw7J,IAAIx6F,wBAAwB,CAAChhE,KAAK89Q,kBAAmBzqQ,IAC5ErT,KAAKyhR,gBACLzhR,KAAKsjF,SAASrnE,KAAK,sBAAsB5I,sBAE7CrT,KAAKuiR,+BAEFviR,KAAKk7Q,qBACZl7Q,KAAKoiR,mBAAqBpiR,KAAKw7J,IAAIx6F,wBAAwB,CAAChhE,KAAKk7Q,qBAAqB,CAAC7nQ,EAAOtE,KAC1F,GAAKA,IAIS,QAAVsE,GAA6B,WAAVA,GAAoB,CACvC,MAAMklD,EAAWG,GAAY3pD,GACzBwpD,GAAY4hN,GAAgB1rN,MAAMpiD,GAASA,IAASksD,MAChDv4D,KAAKyhR,gBACLzhR,KAAKsjF,SAASrnE,KAAK,sBAAsB5I,sBAEzCrT,KAAKk8Q,qBACLl8Q,KAAKwyQ,WAAWxyQ,KAAKk8Q,4BAQrCJ,0BACA97Q,KAAKwiR,qBACLnrQ,aAAarX,KAAKwiR,oBAClBxiR,KAAKwiR,wBAAqB1jR,GAI1ByjR,4BACJviR,KAAK87Q,0BAML97Q,KAAKwiR,mBAAqBtrQ,YAAW,KACjClX,KAAK87Q,0BACL97Q,KAAKyiR,sBACN,KAGCA,oBAGJ,GAFAziR,KAAKqiR,2BAEDriR,KAAK89Q,gBAAiB,CACtB99Q,KAAKsjF,SAASrnE,KAAK,mCAAmCjc,KAAK89Q,mBAE3D,MAAMxsM,EAAOtxE,KAAKy7Q,2BAA2BnqM,KAIvCD,EAAgBrxE,KAAKm8Q,kBAAkB7qM,EAAMtxE,KAAKk8Q,qBACxDl8Q,KAAKy7Q,2BAA2B1X,iBAAiB1yL,GAEjDrxE,KAAKo8Q,oBAAoB9qM,IAIzB8qM,oBAAoB9qM,G,MAGxB,MAAM8qF,EAAiBp8J,KAAKm7Q,uBACxBn7Q,KAAKw7J,IACLx7J,KAAKy7Q,2BAA2BpqM,cAChCC,GAKJ,GAFAtxE,KAAKy7Q,2BAA2BzX,kBAAkB5nG,IAEtB,QAAxB,EAAAp8J,KAAKk8Q,2BAAmB,eAAErL,sBAAuB7wQ,KAAKqzE,eAAeu1F,cAAe,CACpF,MAAMypG,EAAWryQ,KAAKqzE,eAAeu1F,cAAgBzlF,GAASpsD,KAAOosD,GAASnsD,IAC9E,IAAK,MAAM+rC,KAAW/iE,KAAKqzE,eAAeu0F,2BACtCh5J,GAAI5O,KAAKsjF,SAAU+uL,EAAU,oBAAoBtvM,EAAQvxD,MAAQ,eACnD4qJ,EAAezlF,eAAe5T,GAA0B,GAChEz9C,SAASvW,IACXH,GAAI5O,KAAKsjF,SAAU+uL,EAAU,KAAKtjQ,QAK9C/O,KAAK+hR,4BACL/hR,KAAKqiR,2BACLriR,KAAKshR,4BACLthR,KAAK4+Q,wBAAuB,GAE5B5+Q,KAAKu8Q,qBAAoB,GAGrBR,wBACA/7Q,KAAKi9Q,gBACL5lQ,aAAarX,KAAKi9Q,eAClBj9Q,KAAKi9Q,mBAAgBn+Q,GAIrBy9Q,oBAAoBmG,G,QACxB,GAAI1iR,KAAKg7Q,aAAsC,QAAxB,EAAAh7Q,KAAKk8Q,2BAAmB,eAAEnL,uBAE7C,OAGA2R,IACA1iR,KAAK86Q,2BAA4B,GAGK,QAA1C,EAAA96Q,KAAK2iR,6CAAqC,SAAEpnQ,SAG5Cvb,KAAK+7Q,wBAIL,MAAM6G,EAAmCniQ,KAAKC,MAAQ1gB,KAAK+6Q,yBASrD8H,EAA4B//Q,KAAK4C,IA56CV,IA66CJk9Q,EAHgB,IAQzC5iR,KAAKi9Q,cAAgB/lQ,YAAW,KAC5BlX,KAAKi9Q,mBAAgBn+Q,EAEjBkB,KAAK86Q,2BACL96Q,KAAK4+Q,wBAAuB,GAIhC5+Q,KAAK2iR,sCAAwC3iR,KAAKu7Q,sBAAsB/+P,gCAClDxc,KAAKy7Q,2BAA2BjG,cAClDx1Q,KAAK2iR,sCAAsC3hQ,QAG3ChhB,KAAKu8Q,qBAAoB,KAE9BsG,GAGC9C,0BACA//Q,KAAKi8Q,uBACLj8Q,KAAKi8Q,sBAAsB,CACvBr3O,YAAa,GACbg+C,eAAgB,EAChBE,uBAAwB,EACxBC,uBAAuB,EACvBE,oBAAoB,EACpBC,0BAA0B,EAC1BP,YAAa,IAKjBy+L,mBAAmBvlN,GACvB,OAAOw+M,GAAkBrjO,KAAK6kB,GAG1BklN,iBAAiBhyQ,EAAc+zQ,GACnC,QAASA,EAAav3M,MAAMw3M,GAASA,EAAK5sN,OAAOnf,KAAKjoC,KAGlDutQ,sBAAsBwE,EAAuBn6G,EAAqB9qG,GACtE,SAAIilN,EAAc9pO,KAAK6kB,IACd77D,KAAK+gR,iBAAiBllN,EAAU8qG,KAAY3mK,KAAKohR,mBAAmBvlN,KCthD9E,IAAUmnN,IAAjB,SAAiBA,GACG,EAAAzuQ,GAAhB,SAAmBjX,GACf,OAAOA,GAASA,EAAM0/B,OAAS,GAAAjD,cAAA,GAAiBz8B,EAAM0/B,QAF9D,CAAiBgmP,QAAa,K,0BCHvB,MAAMC,GAITh3Q,YAAoBwtJ,GAAA,KAAAA,YAFZ,KAAAypH,uBAAwB,EAIhCC,UAAUjkR,G,MACN,QAAIc,KAAKkjR,uBAI4B,QAA9B,EAAAljR,KAAKy5J,UAAU0pH,UAAUjkR,UAAK,SAGzCorC,QACQtqC,KAAKkjR,wBAITljR,KAAKkjR,uBAAwB,EAC7BljR,KAAKy5J,UAAUnvH,SAGnBG,OAAOl+B,GACEvM,KAAKkjR,uBAIVljR,KAAKy5J,UAAUhvH,OAAOl+B,GAG1BxQ,MACSiE,KAAKkjR,wBAIVljR,KAAKkjR,uBAAwB,EAC7BljR,KAAKy5J,UAAU19J,QCpChB,MAAMqnR,GACTn3Q,YAAoBuvJ,GAAA,KAAAA,MAEb6nH,2BAA2BtmP,EAAsCN,GAEpE,MAAO,CAAEo/B,SADQR,GAAiBr7D,KAAKw7J,IAAKz+H,EAAavC,KACtCiC,YAGhBw3O,sBAAsB34M,GACzB,OAAOD,GAAiBr7D,KAAKw7J,IAAKlgG,IC4L1C,MAAMgoN,IAAuB,KAAAr5O,qBAAenrC,OAAkBA,G,wCCrMvD,MAAMykR,GAQTt3Q,YAAYu3Q,EAAqDC,GAG7D,GATI,KAAAC,MAAa,GACb,KAAAC,QAAe,GAEf,KAAAh9O,SAAW,EACX,KAAAi9O,cAAe,EAGnB5jR,KAAK6jR,UAAgC,iBAAbL,EAAwBA,EAASA,SAAWA,EACpExjR,KAAK8jR,OAA6B,iBAAbN,GAA2C,cAAlBA,EAAShqN,KAAuB,QAAK16D,EAC/E2kR,EAAU,CACV,MAAMh7P,EAAWs7P,GAAYN,GAC7B,IACI,IAAK,IAAInpR,EAAI0pR,GAAWv7P,GAAWnuB,EAAGA,EAAI0pR,GAAWv7P,GAAW,CAC5D,MAAOzG,EAAK1kB,GAAShD,EAAEgD,MACvB0C,KAAKmF,IAAI6c,EAAK1kB,I,QAGlB2mR,GAAcx7P,KAK1B,WACI,OAAOzoB,KAAK0jR,MAAM1oR,OAGtB,eACI,OAAOgF,KAAK6jR,UAGhBt/Q,IAAKlI,OAAOkrB,eACR,MAAO,YAGXnD,IAAIpC,GACA,OAAO2sC,EAAa3uD,KAAK0jR,MAAO1hQ,EAAK8rC,EAAU9tD,KAAK6jR,YAAc,EAGtEt/Q,IAAIyd,GACA,MAAMmI,EAAQwkC,EAAa3uD,KAAK0jR,MAAO1hQ,EAAK8rC,EAAU9tD,KAAK6jR,WAC3D,OAAO15P,GAAS,EAAInqB,KAAK2jR,QAAQx5P,QAASrrB,EAG9CqG,IAAI6c,EAAQ1kB,GACR,MAAM6sB,EAAQwkC,EAAa3uD,KAAK0jR,MAAO1hQ,EAAK8rC,EAAU9tD,KAAK6jR,WAY3D,OAXI15P,GAAS,EACTnqB,KAAK2jR,QAAQx5P,GAAS7sB,GAEtB0C,KAAKkkR,iBACL31N,EAASvuD,KAAK0jR,OAAQv5P,EAAOnI,GAC7BusC,EAASvuD,KAAK2jR,SAAUx5P,EAAO7sB,GAC3B0C,KAAK8jR,QACLv1N,EAASvuD,KAAK8jR,QAAS35P,EAAOnqB,KAAK2mC,UAEvC3mC,KAAKmkR,oBAEFnkR,KAGX4iB,OAAOZ,GACH,MAAMmI,EAAQwkC,EAAa3uD,KAAK0jR,MAAO1hQ,EAAK8rC,EAAU9tD,KAAK6jR,WAC3D,OAAI15P,GAAS,IACTnqB,KAAKkkR,iBACLlkR,KAAKokR,qBAAqBpkR,KAAK0jR,MAAOv5P,GACtCnqB,KAAKokR,qBAAqBpkR,KAAK2jR,QAASx5P,GACpCnqB,KAAK8jR,QACL9jR,KAAKokR,qBAAqBpkR,KAAK8jR,OAAQ35P,GAE3CnqB,KAAKmkR,oBACE,GAKft8P,QACQ7nB,KAAKV,KAAO,IACZU,KAAKkkR,iBACLlkR,KAAK0jR,MAAM1oR,OAAS,EACpBgF,KAAK2jR,QAAQ3oR,OAAS,EAClBgF,KAAK8jR,SACL9jR,KAAK8jR,OAAO9oR,OAAS,GAEzBgF,KAAKmkR,oBAIb7+P,QAAQ3R,EAAwD4U,GAC5D,MAAMlD,EAAOrlB,KAAK0jR,MACZ/6P,EAAS3oB,KAAK2jR,QACd9N,EAAU71Q,KAAKqkR,qBACf7mQ,EAAUxd,KAAK2mC,SACrB3mC,KAAK4jR,cAAe,EACpB,IACI,GAAI/N,EACA,IAAK,MAAMv7Q,KAAKu7Q,EACZliQ,EAAS7S,KAAKynB,EAASI,EAAOruB,GAAI+qB,EAAK/qB,GAAI0F,WAG/C,IAAK,IAAI1F,EAAI,EAAGA,EAAI+qB,EAAKrqB,OAAQV,IAC7BqZ,EAAS7S,KAAKynB,EAASI,EAAOruB,GAAI+qB,EAAK/qB,GAAI0F,M,QAI/Cwd,IAAYxd,KAAK2mC,WACjB3mC,KAAK4jR,cAAe,IAKhC,QACI,MAAMv+P,EAAOrlB,KAAK0jR,MACZ7N,EAAU71Q,KAAKqkR,qBACf7mQ,EAAUxd,KAAK2mC,SACrB3mC,KAAK4jR,cAAe,EACpB,IACI,GAAI/N,EACA,IAAK,MAAMv7Q,KAAKu7Q,QACNxwP,EAAK/qB,cAGR+qB,E,QAGP7H,IAAYxd,KAAK2mC,WACjB3mC,KAAK4jR,cAAe,IAKhC,UACI,MAAMj7P,EAAS3oB,KAAK2jR,QACd9N,EAAU71Q,KAAKqkR,qBACf7mQ,EAAUxd,KAAK2mC,SACrB3mC,KAAK4jR,cAAe,EACpB,IACI,GAAI/N,EACA,IAAK,MAAMv7Q,KAAKu7Q,QACNltP,EAAOruB,cAGVquB,E,QAGPnL,IAAYxd,KAAK2mC,WACjB3mC,KAAK4jR,cAAe,IAKhC,WACI,MAAMv+P,EAAOrlB,KAAK0jR,MACZ/6P,EAAS3oB,KAAK2jR,QACd9N,EAAU71Q,KAAKqkR,qBACf7mQ,EAAUxd,KAAK2mC,SACrB3mC,KAAK4jR,cAAe,EACpB,IACI,GAAI/N,EACA,IAAK,MAAMv7Q,KAAKu7Q,OACN,CAACxwP,EAAK/qB,GAAIquB,EAAOruB,SAG3B,IAAK,IAAIA,EAAI,EAAGA,EAAI+qB,EAAKrqB,OAAQV,SACvB,CAAC+qB,EAAK/qB,GAAIquB,EAAOruB,I,QAI3BkjB,IAAYxd,KAAK2mC,WACjB3mC,KAAK4jR,cAAe,IAKhC,CAACvnR,OAAOosB,YACJ,OAAOzoB,KAAK4oB,UAGRs7P,iBACAlkR,KAAK4jR,eACL5jR,KAAK0jR,MAAQ1jR,KAAK0jR,MAAM9lR,QACxBoC,KAAK2jR,QAAU3jR,KAAK2jR,QAAQ/lR,QACxBoC,KAAK8jR,SACL9jR,KAAK8jR,OAAS9jR,KAAK8jR,OAAOlmR,SAE9BoC,KAAK4jR,cAAe,GAIpBO,mBACJnkR,KAAK2mC,WAGD09O,qBACJ,GAAIrkR,KAAK8jR,OAAQ,CACb,MAAMQ,EAAQtkR,KAAK8jR,OACnB,OAAO9jR,KAAK8jR,OAAOhgQ,KAAI,CAACrH,EAAGniB,IAAMA,IAAGk/D,MAAK,CAAC10D,EAAGC,IAAMu/Q,EAAMx/Q,GAAKw/Q,EAAMv/Q,MAMpEq/Q,qBAAwB7kR,EAAY4qB,GAExC,IAAK,IAAI7vB,EAAI6vB,EAAO7vB,EAAIiF,EAAMvE,OAAS,EAAGV,IACtCiF,EAAMjF,GAAKiF,EAAMjF,EAAI,GAEzBiF,EAAM06C,OAIP,SAAS8pO,GAAeN,GAC3B,OAAOA,EAASpnR,OAAOosB,YAGpB,SAASu7P,GAAcv7P,GAC1B,MAAMzI,EAASyI,EAASR,OACxB,OAAOjI,EAAO0I,UAAO5pB,EAAYkhB,EAG9B,SAASikQ,GAAiBx7P,GAC7B,MAAM3a,EAAK2a,EAASuxB,OACF,mBAAPlsC,GACPA,EAAGhN,KAAK2nB,GAOT,MAAM87P,GAQTt4Q,YAAYk5B,GAJJ,KAAAwB,SAAW,EACX,KAAAhf,OAAS,EAIb3nB,KAAKwkR,QAAUr/O,EACfnlC,KAAKwnB,KAAO1qB,OAAOqV,OAAOgzB,EAASA,EAAO3d,KAAO,MAGrD,WAOI,QANoB,IAAhBxnB,KAAK2nB,OAAiB3nB,KAAKwkR,SAAWxkR,KAAKwkR,QAAQ79O,WAAa3mC,KAAKykR,kBACrEzkR,KAAK2nB,MAAQ7qB,OAAOuoB,KAAKrlB,KAAKwnB,MAAMxsB,OAChCgF,KAAKwkR,UACLxkR,KAAKykR,eAAiBzkR,KAAKwkR,QAAQ79O,WAGpC3mC,KAAK2nB,MAGhB,aACI,OAAO3nB,KAAKwkR,QAGhBpgQ,IAAIpC,GACA,YAA+CljB,IAAxCkB,KAAKwnB,KAAK+8P,GAASG,WAAW1iQ,IAGzCzd,IAAIyd,GACA,MAAM1kB,EAAQ0C,KAAKwnB,KAAK+8P,GAASG,WAAW1iQ,IAC5C,OAAO1kB,IAAUinR,GAASI,qBAAkB7lR,EAAYxB,EAG5D6H,IAAI6c,EAAa1kB,GAIb,OAHA0C,KAAKwnB,KAAK+8P,GAASG,WAAW1iQ,SAAkBljB,IAAVxB,EAAsBinR,GAASI,gBAAkBrnR,EACvF0C,KAAK2nB,OAAS,EACd3nB,KAAK2mC,WACE3mC,KAGX4iB,OAAOZ,GACH,MAAM4iQ,EAAaL,GAASG,WAAW1iQ,GACvC,YAA8BljB,IAA1BkB,KAAKwnB,KAAKo9P,YACH5kR,KAAKwnB,KAAKo9P,GACjB5kR,KAAK2nB,OAAS,EACd3nB,KAAK2mC,YACE,GAKf9e,QACI7nB,KAAKwnB,KAAO1qB,OAAOqV,OAAOnS,KAAKwkR,QAAUxkR,KAAKwkR,QAAQh9P,KAAO,MAC7DxnB,KAAK2nB,OAAS,EACd3nB,KAAK2mC,WAGTrhB,QAAQ3R,GACJ,IAAK,MAAMqO,KAAOllB,OAAOuoB,KAAKrlB,KAAKwnB,MAC/B7T,EAAS3T,KAAKwnB,KAAKxF,GAAMuiQ,GAASM,aAAa7iQ,GAAMhiB,MAIrD,kBAAkBo3B,GACtB,OAAOA,EAAKp8B,QAAU,GAAwB,MAAnBo8B,EAAK+P,OAAO,IAAiC,MAAnB/P,EAAK+P,OAAO,GAAa,IAAM/P,EAAOA,EAGvF,oBAAoBA,GACxB,OAAOA,EAAKp8B,QAAU,GAAwB,MAAnBo8B,EAAK+P,OAAO,IAAiC,MAAnB/P,EAAK+P,OAAO,IAAiC,MAAnB/P,EAAK+P,OAAO,GACrF/P,EAAKx5B,MAAM,GACXw5B,GAxEc,GAAAutP,gBAAkB,GAmFvC,MAAMG,GAAmBhoR,OAAO0Z,OAAO,CAC1CuuQ,OAAQ,gBACRC,IAAK,wBACLC,OAAQ,4BACRC,OAAQ,sBACRC,MAAO,sCACPC,QAAS,oBACTC,OAAQ,sBACRC,MAAO,0BACPC,OAAQ,gBACRC,UAAW,sBACXC,MAAO,0BACPC,MAAO,6BAGJ,SAASC,GAAchqR,EAAqC4qG,EAAU,IACzE,MAAMz4E,EAA6B,IAAIlyB,MAAM,GAAGD,MAASmpR,GAAiBnpR,MAAS4qG,KAKnF,OAJAz4E,EAAInyB,KAAOA,EACPC,MAAM+8C,mBACN/8C,MAAM+8C,kBAAkB7qB,EAAK63P,IAE1B73P,EClVX,MAAM83P,GAyIN,WACI,MAAM1rN,EAAmB,KACzB,OAAO,IAAII,OACP,QAAQJ,KAAoBA,IAAmBA,MAAqBA,cAA6BA,UA5ItE2rN,GAC7BC,GAAkC,YAClCC,GAA+C,UAC/CC,GAAqC,sBACrCC,GAAkD,oBAClDC,GAAY,SAyHX,SAASC,GAASp3Q,EAAcm6D,EAAA,MACnC,MAAMlU,EAAa,EAAqBjmD,GAClCq3Q,EAAW,GAAiCr3Q,GAClD,IAjFJ,SAA4BimD,EAAsBkU,EAAwBm9M,GACtE,MAAMz1Q,IAAYokD,EAAW,GACvBsxN,EAAatxN,EAAWh6D,OAAS,EACjCurR,EAAcvxN,EAAWh6D,OAAS,EAClCwrR,EAAaD,GAAeL,GAAUlvO,KAAKge,EAAWA,EAAWh6D,OAAS,IAC1EyrR,EACM,KAARv9M,EACc,KAARA,EACI68M,GACAD,GACI,KAAR58M,EACA+8M,GACAD,GAGV,GAAY,EAAR98M,IAAwCt4D,EACxC,OAAO,EAEX,GAAY,EAARs4D,IAA2Co9M,EAC3C,OAAO,EAEX,GAAY,EAARp9M,IAA4Cq9M,EAC5C,OAAO,EAEX,GAAY,EAARr9M,IAA2Cs9M,EAC3C,OAAO,EAEX,GAAY,GAARt9M,IAAqDm9M,EACrD,OAAO,EAqBX,GAjBY,EAARn9M,IACAA,GAAS,IAED,EAARA,IACAA,GAAS,IAED,EAARA,IACAA,GAAS,KAED,EAARA,IACAA,GAAS,KAED,GAARA,IACAA,GAAS,KAIA,IAARA,GAAqCt4D,EACtC,OAAO,EAEX,GAAa,IAARs4D,GAAwCo9M,EACzC,OAAO,EAEX,GAAa,KAARp9M,GAAyCq9M,EAC1C,OAAO,EAEX,GAAa,KAARr9M,GAAwCs9M,EACzC,OAAO,EAEX,GAAa,KAARt9M,GAAkDm9M,EACnD,OAAO,EAIX,GAAIT,GAA2B5uO,KAAKge,EAAW,IAC3C,OAAO,EAEX,IAAK,IAAI16D,EAAI,EAAGA,EAAI06D,EAAWh6D,OAAQV,IACnC,GAAImsR,EAAuBzvO,KAAKge,EAAW16D,IACvC,OAAO,EAIf,OAAO,EAMFosR,CAAmB1xN,EAAYkU,EAAOk9M,GACvC,MAAMT,GAAc,UAExB,OAAO3wN,EAAWh6D,OAAS,GAAKorR,EAC1B,EAAyB,EAAwBpxN,IAAe,EAAAzjD,IAChE,EAAyB,EAAwByjD,I,wCC/HpD,MAAM2xN,GAAc,EAA0B,KAErD,IAAIC,GAAW,EACXC,GAAW,EASR,MAAMC,GAoBT76Q,YAAY2nD,EAAqBx/C,EAA6B,IAZtD,KAAA2yQ,MAIJ,GAMI,KAAAC,gBAAkB,EAGtB,MAAM,KAAEC,GAAO,EAAE,MAAE5tN,EAAK,KAAE6tN,GAAS9yQ,EAOnC,GANApU,KAAK4zD,WAAaA,EAClB5zD,KAAKmnR,eAAiBnnR,KAAK4zD,WACrB,GACA,GACN5zD,KAAKonR,MAAQH,EAETC,EACA,IAAK,MAAMllQ,KAAOllB,OAAOuoB,KAAK6hQ,GAC1BlnR,KAAKknR,KAAK/hR,IAAI6c,EAAKklQ,EAAKllQ,IAI5Bq3C,GACAr5D,KAAKqnR,YAAYhuN,EAAmB,IAGxC,IAAI3pD,EAAM0E,EAAQ1E,IAClB,KAAMA,IAAQ,GAAwBA,KAAS1P,KAAK+mR,MAAMO,MAAO,CAC7D,MAAM7+P,EAAWs7P,GAAY/jR,KAAK+mR,MAAMO,MAAMjiQ,QAC9C,IACI,IAAK,IAAI/qB,EAAI0pR,GAAWv7P,GAAWnuB,EAAGA,EAAI0pR,GAAWv7P,GAAW,CAC5D,MAAMpc,EAAO/R,EAAEgD,MACfoS,EAAMA,EAAM,GAAsBrD,EAAMqD,GAAOrD,EAC/C,O,QAGJ43Q,GAAcx7P,IAIlB/Y,IACAy2Q,GAASz2Q,EAAK,MACd1P,KAAKunR,WAAW73Q,IAGpB1P,KAAKwnR,KAAO93Q,GAAO,GAMvB,WAII,OAHK1P,KAAK+mR,MAAMG,OACZlnR,KAAK+mR,MAAMG,KAAO,IAAI3C,GAASvkR,KAAKynR,YAAcznR,KAAKynR,YAAYP,UAAOpoR,IAEvEkB,KAAK+mR,MAAMG,KAMtB,iBACI,OAAOpqR,OAAO4qR,SAAS1nR,MAM3B2nR,eAEI,OADA7qR,OAAO0Z,OAAOxW,MACPA,KAMX,iBACI,OAAOA,KAAKynR,YAQhBG,WACI,GAAI5nR,KAAK6nR,WACL,OAEJ,MAAMjyN,EAAK,IAAIkxN,GAAe9mR,KAAK4zD,WAAY,CAAEqzN,KAAMjnR,KAAKonR,QAC5DxxN,EAAGmxN,MAAQ/mR,KAAK+mR,MAChBnxN,EAAG4xN,KAAOxnR,KAAKwnR,KACf5xN,EAAGwxN,MAAQpnR,KAAKonR,MAChBxxN,EAAG6xN,YAAcznR,KAAKynR,YACtB7xN,EAAGkyN,UAAY9nR,KAAK8nR,UACpBlyN,EAAG+xN,eACH3nR,KAAK+mR,MAAQ,GACb/mR,KAAKynR,YAAc7xN,EAQvBmyN,OAAOn0N,EAAa5zD,KAAK4zD,YACrB,IAAK5zD,KAAK6nR,WACN,MAAM,IAAIjsR,MAAM,wCAEpB,GAAIg4D,IAAe5zD,KAAK4zD,WACpB,MAAM,IAAIh4D,MAAM,2EAEpB,MAAMg6D,EAAK,IAAIkxN,GAAelzN,EAAY,CAAEqzN,KAAMjnR,KAAKonR,QAGvD,OAFAxxN,EAAG6xN,YAAcznR,KACjB41D,EAAG4xN,KAAOxnR,KAAKwnR,KACR5xN,EAQXqxN,KAAK3pR,GACD,QAAcwB,IAAVxB,GAAuB0C,KAAK6nR,WAC5B,MAAMlC,GAAc,SAExB,IAAI3lQ,EAAShgB,KAAKonR,MAalB,MAZsB,mBAAXpnQ,IACPA,EAASA,KAES,iBAAXA,IACPA,EAASA,EAAOgoQ,YAEJ,IAAZhoQ,IACAA,EAASS,KAAKC,YAEJ5hB,IAAVxB,IACA0C,KAAKonR,MAAQ9pR,GAEV0iB,EAOXioQ,SAASl5Q,GACL,MAAM,KAAE24D,GAAS1nE,KAAKkoR,MAAMloR,KAAKsxQ,SAASviQ,IAC1C,IAAK24D,EACD,MAAMi+M,GAAc,UAExB,OAAO3lR,KAAKmoR,UAAUzgN,GAGlBygN,UAAUzgN,GACd,IAAKA,EAAKw/M,KAAM,CACZ,MAAMkB,EAAa1gN,EAAK2gN,YAAcroR,KAAKynR,aAAeznR,KAAKynR,YAAYU,UAAUzgN,EAAK2gN,YAC1F3gN,EAAKw/M,KAAO,IAAI3C,GAAS6D,GAE7B,OAAO1gN,EAAKw/M,KAQhBx3Q,MACI,IAAK1P,KAAKwnR,KACN,MAAM,IAAI5rR,MAAM,mDAEpB,MAAM,KAAE8rE,GAAS1nE,KAAKkoR,MAAMloR,KAAKwnR,MACjC,IAAK9/M,EACD,MAAMi+M,GAAc,UAExB,IAAK,GAAYj+M,GACb,MAAMi+M,GAAc,WAExB,OAAO3lR,KAAKwnR,KAQhB7mN,MAAM5xD,GACF,GAAI/O,KAAK6nR,WACL,MAAMlC,GAAc,SAExB52Q,EAAO/O,KAAKsxQ,SAASviQ,GACrB,MAAM,KAAE24D,GAAS1nE,KAAKkoR,MAAMn5Q,GAC5B,IAAK24D,EACD,MAAMi+M,GAAc,UAExB,IAAK,GAAYj+M,GACb,MAAMi+M,GAAc,WAExB3lR,KAAKwnR,KAAOz4Q,EAMhBu5Q,MAAMv5Q,GACF,GAAI/O,KAAK6nR,WACL,MAAMlC,GAAc,SAEpB52Q,IACAA,EAAO/O,KAAKsxQ,SAASviQ,IAErB/O,KAAKwnR,OACAxnR,KAAK8nR,YACN9nR,KAAK8nR,UAAY,IAErB9nR,KAAK8nR,UAAUzsR,KAAK2E,KAAKwnR,OAEzBz4Q,GAAQA,IAAS/O,KAAKwnR,MACtBxnR,KAAK2gE,MAAM5xD,GAOnBw5Q,OACI,GAAIvoR,KAAK6nR,WACL,MAAMlC,GAAc,SAExB,MAAM52Q,EAAO/O,KAAK8nR,WAAa9nR,KAAK8nR,UAAU7tO,MAC1ClrC,GACA/O,KAAK2gE,MAAM5xD,GAOnBpL,MAAM01D,GACFr5D,KAAKqnR,YAAYhuN,EAAOr5D,KAAKwnR,MASjCgB,SAASz5Q,EAAc05Q,EAAYC,GAC/B35Q,EAAO/O,KAAKsxQ,SAASviQ,GACrB,MAAMs5I,EAAoB,GAE1B,OADAroJ,KAAK2oR,MAAM55Q,EAAM/O,KAAK4oR,MAAM5oR,KAAKkoR,MAAMn5Q,IAAQ05Q,EAAMC,GAAwB,EAAOrgI,GAC7EA,EASXwgI,UAAU95Q,EAAc05Q,EAAYC,GAChC35Q,EAAO/O,KAAKsxQ,SAASviQ,GACrB,MAAMs5I,EAAoB,GAE1B,OADAroJ,KAAK2oR,MAAM55Q,EAAM/O,KAAK4oR,MAAM5oR,KAAKkoR,MAAMn5Q,GAAmB,IAAQ05Q,EAAMC,GAAwB,EAAMrgI,GAC/FA,EAGXrnF,wBAAwBzK,EAAiB1gD,GACrC,MAAO,CACHQ,MAAO,QAMf0qD,gBACI,OAAO4lN,GAGX5qN,SAEI,OADA/7D,KAAKunR,WAAW,QACT,EAA0B,QAGrCjmN,QAAQltD,GAEJ,MAAM80C,GAAS90C,aAAO,EAAPA,EAAS80C,SAAU,MAC5B4/N,GAAU10Q,aAAO,EAAPA,EAAS80C,QAAS,IAAM90C,EAAQ80C,OAAS,GACnD78C,EAAO,GAAG68C,KAAUlpD,KAAKgnR,oBAAoB8B,IAC7C/5Q,EAAO,GAAsB/O,KAAK+7D,SAAU1vD,GAElD,OADArM,KAAKg8D,cAAcjtD,EAAM,IAClBA,EAGXwyD,aAAaxyD,GACT,OAAOA,EAGX0yD,iBAAiBC,GACb,OAAO,EAIX/F,oBAAoBgG,GAChB,OAAOA,EAIXpG,kBAAkBqG,GACd,OAAOA,EAGXlG,OAAO3sD,GACH,OAAO+gD,EAAIpgC,KAAK3gB,GAAMvP,WAGlBmpR,MAAM55Q,EAAc4yQ,EAAc8G,EAAYC,EAAsBK,EAAmB1gI,GAM3F,GALa,sBAATogI,GAAyC,SAATA,GAA4B,wBAATA,GAC9CC,EAAUM,SAAUN,EAAUM,OAAOj6Q,EAAM4yQ,IAC5Ct5H,EAAQhtJ,KAAK0T,GAGR,sBAAT05Q,GAAyC,cAATA,EAAsB,CACtD,MAAM93Q,EAAU,EAA0B5B,GAC1C,GAAI4B,IAAY5B,EACZ,IACI,MAAM4yQ,EAAQ3hR,KAAK4oR,MAAM5oR,KAAKkoR,MAAMv3Q,EAASo4Q,IACxCL,EAAUO,WAAYP,EAAUO,SAASt4Q,EAASgxQ,IACnD3hR,KAAK2oR,MAAMh4Q,EAASgxQ,EAAO,oBAAqB+G,EAAWK,EAAU1gI,GAE3E,QAKV,IAAa,wBAATogI,GAA2C,gBAATA,IAC9B9G,EAAM/oN,iBAAmB8vN,EAAUO,UAAYP,EAAUO,SAASl6Q,EAAM4yQ,IACxE,IAAK,MAAMjyP,KAAQ1vB,KAAK8gE,YAAY/xD,GAChC,IACI,MAAMm6Q,EAAY,GAAsBn6Q,EAAM2gB,GACxCiyP,EAAQ3hR,KAAK4oR,MAAM5oR,KAAKkoR,MAAMgB,EAAWH,IAC/C/oR,KAAK2oR,MAAMO,EAAWvH,EAAO,sBAAuB+G,EAAWK,EAAU1gI,GAC3E,QAelB8gI,UAAUxnQ,EAAgB9b,EAAgBujR,GACtC,GAAIppR,KAAK6nR,WACL,MAAMlC,GAAc,SAGxBhkQ,EAASwkQ,GAASxkQ,EAAQ,MAE1B,MAAM,OAAEwjB,EAAM,MAAEmiP,EAAO5/M,KAAM2hN,EAAY,SAAEv4Q,GAAa9Q,KAAKkoR,MAAMloR,KAAKsxQ,SAASzrQ,IAAsB,GACvG,GAAIwjR,EACA,MAAM1D,GAAc,UAGxB,MAAMsB,EAAOjnR,KAAKinR,OACZv/M,EAAO1nE,KAAKspR,OAAOnkP,EAASA,EAAOokP,MAAQ3C,GAAU4C,GAAkB,IAAOvC,GACpFv/M,EAAK/lD,OAASA,EACd+lD,EAAK0hN,SAAWA,EAChBppR,KAAKypR,SAAStkP,EAAQmiP,EAAOx2Q,EAAU42D,EAAMu/M,GAMjDyC,WAAW36Q,GACP,IACI,MAAM4yQ,EAAQ3hR,KAAK2pR,UAAU56Q,GAC7B,GAAI4yQ,EAAM7oN,UAAY6oN,EAAMjoN,iBACxB15D,KAAKi8D,WAAWltD,QACb,GAAI4yQ,EAAM/oN,cAAe,CAC5B,IAAK,MAAMlpC,KAAQ1vB,KAAK8gE,YAAY/xD,GAChC/O,KAAK0pR,WAAW,GAAsB36Q,EAAM2gB,IAEhD1vB,KAAK4pR,UAAU76Q,IAErB,MAAO9K,GACL,GAAe,WAAXA,EAAEtI,KACF,OAEJ,MAAMsI,GAOdsjR,WAAWx4Q,GACPA,EAAO/O,KAAKsxQ,SAASviQ,GACrB,MAAMiR,EAAShgB,KAAKkoR,MAAMn5Q,GAAmB,GAAM,CAAC3K,EAAO4b,IACpC,WAAf5b,EAAMzI,MACNqE,KAAK6pR,OAAO7pQ,GACL,SAEJ,UAGNA,EAAO0nD,MACR1nE,KAAK6pR,OAAO7pQ,GAIpB8pQ,iBACI,IAAI9pQ,EAAS,GACb,MAAM+pQ,EAAa,CAACp5Q,EAA6B22Q,KAC7C,MAAM7+P,EAAWs7P,GAAYuD,GAC7B,IACI,IAAK,IAAIhtR,EAAI0pR,GAAWv7P,GAAWnuB,EAAGA,EAAI0pR,GAAWv7P,GAAW,CAC5D,MAAOpc,EAAMq7D,GAAQptE,EAAEgD,MACjByR,EAAO4B,EAAU,GAAsBA,EAAStE,GAAQA,EACxD29Q,EAAqE,KjH1NlEnlR,EiH0N4B7E,KAAKwnR,KjH1NtB9oR,EiH0N4BqQ,EjH1NjB4nD,EiH0NuB32D,KAAK4zD,WjH1NSA,OiH0NrD,EjHzN/B/uD,EAAI2xD,GAAc3xD,GAClBnG,EAAI83D,GAAc93D,GAEc,iBAArBi4D,GACP9xD,EAAIkxD,GAAaY,EAAkB9xD,GACnCnG,EAAIq3D,GAAaY,EAAkBj4D,IACA,kBAArBi4D,IACd/C,EAAa+C,GAEVwB,GAAmBtzD,EAAGnG,EAAGi1D,EAAkBC,KiHgN6C,IAAM,IACjF5zC,IACAA,GAAU,MAEdA,GAAUgqQ,EACN,GAAYtiN,IACZ1nD,GAAU,GAA0CjR,GACpDg7Q,EAAWh7Q,EAAM/O,KAAKiqR,UAAUviN,KACzB,GAAOA,GACd1nD,GAAUjR,EACHm7Q,GAAUxiN,KACjB1nD,GAAU,GAAGjR,QAAW24D,EAAKyiN,Y,QAIrClG,GAAcx7P,GjHzOvB,IAAsB5jB,EAAWnG,EAAWi4D,EAAqC/C,GiH6OhF,OADAm2N,OAAuBjrR,EAAWkB,KAAKoqR,iBAChCpqQ,EAMXqqQ,aACIlmR,QAAQyK,IAAI5O,KAAK8pR,kBAQrB9zN,WAAWjnD,GACP,MAAMiR,EAAShgB,KAAKkoR,MAAMloR,KAAKsxQ,SAASviQ,IAAoB,GAAM,IAAM,SACxE,YAAkBjQ,IAAXkhB,QAAwClhB,IAAhBkhB,EAAO0nD,KAU1C3O,SAAShqD,GACL,OAAO/O,KAAK4oR,MAAM5oR,KAAKkoR,MAAMloR,KAAKsxQ,SAASviQ,KAQ/Cu7Q,WAAWv7Q,EAAcw7Q,EAAaC,GAClC,GAAIxqR,KAAK6nR,WACL,MAAMlC,GAAc,SAExB,IAAKx/Q,UAAUokR,KAAWpkR,UAAUqkR,GAChC,MAAM7E,GAAc,UAGxB,MAAMlsN,EAAQz5D,KAAKkoR,MAAMloR,KAAKsxQ,SAASviQ,IACvC,IAAK0qD,IAAUA,EAAMiO,KACjB,MAAMi+M,GAAc,UAExBlsN,EAAMiO,KAAK+iN,SAAWF,EACtB9wN,EAAMiO,KAAKgjN,SAAWF,EACtB/wN,EAAMiO,KAAKijN,QAAU3qR,KAAKinR,OAU9B0C,UAAU56Q,GACN,OAAO/O,KAAK4oR,MAAM5oR,KAAKkoR,MAAMloR,KAAKsxQ,SAASviQ,IAAoB,IAG3D65Q,MAAMnvN,GACV,MAAMiO,EAAOjO,EAAMiO,KACnB,IAAKA,EACD,MAAMi+M,GAAc,SAAUlsN,EAAMmxN,UAExC,OAAO,IAAIC,GACPnjN,EAAK6hN,IACL7hN,EAAKojN,IACLpjN,EAAKlb,KACLkb,EAAKqjN,MACI,EACA,GAAOrjN,GAAQ1nE,KAAKgrR,SAAStjN,GAAQwiN,GAAUxiN,GAAQA,EAAKyiN,QAAQnvR,OAAS,EAC1E,KACD,EACX0sE,EAAK+iN,QACL/iN,EAAKgjN,QACLhjN,EAAKijN,QACLjjN,EAAKujN,aAWbnqN,YAAY/xD,GACR,MAAM,KAAE24D,GAAS1nE,KAAKkoR,MAAMloR,KAAKsxQ,SAASviQ,IAC1C,IAAK24D,EACD,MAAMi+M,GAAc,UAExB,IAAK,GAAYj+M,GACb,MAAMi+M,GAAc,WAExB,OAAOjqR,MAAM2B,KAAK2C,KAAKiqR,UAAUviN,GAAMriD,QAU3C+zC,mBAAmBrqD,GACf,MAAM,KAAE24D,GAAS1nE,KAAKkoR,MAAMloR,KAAKsxQ,SAASviQ,IAC1C,IAAK24D,EACD,MAAMi+M,GAAc,UAExB,IAAK,GAAYj+M,GACb,MAAMi+M,GAAc,WAGxB,OADgBjqR,MAAM2B,KAAK2C,KAAKiqR,UAAUviN,GAAM9+C,WACjC9E,KAAI,EAAEzR,EAAG++C,KA8pChC,SAAoB/kD,EAAcq7D,GAW9B,MAVmB,CACf5O,OAAQ,IAAM,GAAO4O,GACrB9O,YAAa,IAAM,GAAY8O,GAC/B1H,cAAe,KAAM,EACrBC,kBAAmB,KAAM,EACzBC,OAAQ,KAAM,EACdC,SAAU,KAAM,EAChBzG,eAAgB,IAAMwwN,GAAUxiN,GAChCr7D,QAvqC+B6+Q,CAAW74Q,EAAG++C,KAUjD6E,UAAUlnD,GACN,GAAI/O,KAAK6nR,WACL,MAAMlC,GAAc,SAGxB3lR,KAAK6pR,OAAO7pR,KAAKkoR,MAAMloR,KAAKsxQ,SAASviQ,IAAoB,IAGrD86Q,QAAO,OAAE1kP,EAAM,MAAEmiP,EAAO5/M,KAAM2hN,EAAY,SAAEv4Q,IAChD,GAAIu4Q,EACA,MAAM1D,GAAc,UAExB,MAAMsB,EAAOjnR,KAAKinR,OACZv/M,EAAO1nE,KAAKspR,OAAOnkP,EAASA,EAAOokP,MAAQ3C,GAAU4C,GAAkB,IAAOvC,GACpFjnR,KAAKypR,SAAStkP,EAAQmiP,EAAOx2Q,EAAU42D,EAAMu/M,GAUjD2C,UAAU76Q,GACN,GAAI/O,KAAK6nR,WACL,MAAMlC,GAAc,SAExB52Q,EAAO/O,KAAKsxQ,SAASviQ,GAErB,MAAM,OAAEo2B,EAAM,MAAEmiP,EAAK,KAAE5/M,EAAI,SAAE52D,GAAa9Q,KAAKkoR,MAAMn5Q,GAAmB,GACxE,IAAKo2B,EACD,MAAMwgP,GAAc,SAExB,IAAK,GAAYj+M,GACb,MAAMi+M,GAAc,WAExB,GAAkC,IAA9B3lR,KAAKiqR,UAAUviN,GAAMpoE,KACrB,MAAMqmR,GAAc,aAGxB3lR,KAAKmrR,YAAYhmP,EAAQmiP,EAAOx2Q,EAAU42D,GAU9C0jN,SAASC,EAAiBC,GACtB,GAAItrR,KAAK6nR,WACL,MAAMlC,GAAc,SAGxB,MAAM,KAAEj+M,GAAS1nE,KAAKkoR,MAAMloR,KAAKsxQ,SAAS+Z,IAC1C,IAAK3jN,EACD,MAAMi+M,GAAc,UAExB,GAAI,GAAYj+M,GACZ,MAAMi+M,GAAc,SAGxB,MAAM,OAAExgP,EAAM,MAAEmiP,EAAK,SAAEx2Q,EAAU42D,KAAM2hN,GAAiBrpR,KAAKkoR,MAAMloR,KAAKsxQ,SAASga,IAAuB,GACxG,IAAKnmP,EACD,MAAMwgP,GAAc,SAExB,GAAI0D,EACA,MAAM1D,GAAc,UAGxB3lR,KAAKypR,SAAStkP,EAAQmiP,EAAOx2Q,EAAU42D,GAU3CzL,WAAWltD,GACP,GAAI/O,KAAK6nR,WACL,MAAMlC,GAAc,SAGxB,MAAM,OAAExgP,EAAM,MAAEmiP,EAAK,KAAE5/M,EAAI,SAAE52D,GAAa9Q,KAAKkoR,MAAMloR,KAAKsxQ,SAASviQ,IAAoB,GACvF,IAAKo2B,EACD,MAAMwgP,GAAc,SAExB,IAAKj+M,EACD,MAAMi+M,GAAc,UAExB,GAAI,GAAYj+M,GACZ,MAAMi+M,GAAc,UAGxB3lR,KAAKmrR,YAAYhmP,EAAQmiP,EAAOx2Q,EAAU42D,GAU9C6jN,WAAWF,EAAiBC,GACxB,GAAItrR,KAAK6nR,WACL,MAAMlC,GAAc,SAGxB,MACIxgP,OAAQqmP,EACRlE,MAAOmE,EAAc,KACrB/jN,EACA52D,SAAU46Q,GACV1rR,KAAKkoR,MAAMloR,KAAKsxQ,SAAS+Z,IAAuB,GAEpD,IAAKG,EACD,MAAM7F,GAAc,SAExB,IAAKj+M,EACD,MAAMi+M,GAAc,UAGxB,MACIxgP,OAAQwmP,EACRrE,MAAOsE,EACPlkN,KAAM2hN,EACNv4Q,SAAU+6Q,GACV7rR,KAAKkoR,MAAMloR,KAAKsxQ,SAASga,IAAuB,GAEpD,IAAKK,EACD,MAAMhG,GAAc,SAGxB,MAAMsB,EAAOjnR,KAAKinR,OAClB,GAAIoC,EAAc,CACd,GAAI,GAAY3hN,GAAO,CACnB,IAAK,GAAY2hN,GACb,MAAM1D,GAAc,WAExB,GAAI3lR,KAAKiqR,UAAUZ,GAAc/pR,KAAO,EACpC,MAAMqmR,GAAc,kBAGxB,GAAI,GAAY0D,GACZ,MAAM1D,GAAc,UAG5B3lR,KAAKmrR,YAAYQ,EAAWC,EAAgBC,EAAaxC,EAAcpC,GAG3EjnR,KAAK8rR,aAAaN,EAAWC,EAAgBC,EAAaC,EAAWC,EAAgBC,EAAankN,EAAMu/M,GAU5G8E,YAAYlmR,EAAgBmmR,GACxB,GAAIhsR,KAAK6nR,WACL,MAAMlC,GAAc,SAGxB,MAAM,OAAExgP,EAAM,MAAEmiP,EAAO5/M,KAAM2hN,EAAY,SAAEv4Q,GAAa9Q,KAAKkoR,MAAMloR,KAAKsxQ,SAAS0a,IAAwB,GACzG,IAAK7mP,EACD,MAAMwgP,GAAc,SAExB,GAAI0D,EACA,MAAM1D,GAAc,UAGxB,MAAMsB,EAAOjnR,KAAKinR,OACZv/M,EAAO1nE,KAAKspR,OAAOnkP,EAAOokP,IAAK0C,GAAkB,IAAOhF,GAC9Dv/M,EAAKyiN,QAAUhE,GAAStgR,EAAQ,MAChC7F,KAAKypR,SAAStkP,EAAQmiP,EAAOx2Q,EAAU42D,EAAMu/M,GAUjDhuN,aAAalqD,GACT,MAAM,SAAE67Q,GAAa5qR,KAAKkoR,MAAMloR,KAAKsxQ,SAASviQ,IAC9C,OAAO67Q,EAqBXvrN,aAAatwD,EAAcvR,EAAkC,MACzD,MAAM,KAAEkqE,GAAS1nE,KAAKkoR,MAAMloR,KAAKsxQ,SAASviQ,IAC1C,IAAK24D,EACD,MAAMi+M,GAAc,UAExB,GAAI,GAAYj+M,GACZ,MAAMi+M,GAAc,UAExB,IAAK,GAAOj+M,GACR,MAAMi+M,GAAc,SAGxB,MAAMvnR,EAAS4B,KAAKksR,WAAWxkN,GAAM9pE,QACrC,OAAOJ,EAAWY,EAAOoB,SAAShC,GAAYY,EAQlD49D,cAAcjtD,EAAc7P,EAAuB1B,EAAkC,MACjF,GAAIwC,KAAK6nR,WACL,MAAMlC,GAAc,SAGxB,MAAM,OAAExgP,EAAM,MAAEmiP,EAAO5/M,KAAM2hN,EAAY,SAAEv4Q,GAAa9Q,KAAKkoR,MAAMloR,KAAKsxQ,SAASviQ,IAAoB,GACrG,IAAKo2B,EACD,MAAMwgP,GAAc,SAGxB,MAAMsB,EAAOjnR,KAAKinR,OAClB,IAAIv/M,EAAO2hN,EAMX,GALK3hN,IACDA,EAAO1nE,KAAKspR,OAAOnkP,EAAOokP,IAAK4C,GAAS,IAAOlF,GAC/CjnR,KAAKypR,SAAStkP,EAAQmiP,EAAOx2Q,EAAU42D,EAAMu/M,IAG7C,GAAYv/M,GACZ,MAAMi+M,GAAc,UAExB,IAAK,GAAOj+M,GACR,MAAMi+M,GAAc,SAExBj+M,EAAKtpE,OAAS,GAAOQ,SAASM,GACxBA,EAAKtB,QF1iBZ,SAAoBmP,EAAevP,GAEtC,OAAOlB,GAAOe,MAASf,GAAOe,OAAsB+uR,UAAU/uR,KACxDf,GAAOe,KAAK0P,EAAOvP,GACnB,IAAIlB,GAAOyQ,EAAOvP,GEuiBd6uR,CAAW,GAAKntR,EAAO1B,GAA+B,QAC5DkqE,EAAKpoE,KAAOooE,EAAKtpE,OAAOtE,WACxB4tE,EAAKgjN,QAAUzD,EACfv/M,EAAKijN,QAAU1D,EAGnB7lN,SAASvF,GACL,OAAO9pD,QAAQtC,QAAQzP,KAAKq/D,aAAaxD,IAE7CwF,aAAaxF,EAAkBr+D,GAC3B,OAAOuU,QAAQtC,QAAQzP,KAAKq/D,aAAaxD,EAAUr+D,GAAY,SAGnEyjE,iBAAiBlyD,GACb,MAAM,IAAInT,MAAM,wCAEpBslE,kBAAkBnyD,GACd,MAAM,IAAInT,MAAM,wCAGpBulE,aAAa1zD,EAAaC,GACtB,MAAM,IAAI9R,MAAM,wCAOpBwqC,KAAK30B,EAAOzR,KAAKqoR,WAAYj0Q,EAAuB,IAChD,MAAMk4Q,EAAuB,GAI7B,OAHuB76Q,EACjBq1Q,GAAeyF,UAAUD,EAAatsR,KAAMyR,EAAM2C,GAClD0yQ,GAAe0F,oBAAoBF,EAAatsR,KAAMA,KAAKoqR,kBACzCkC,OAAcxtR,EAM1C,YAAY2tR,EAAyBh7Q,EAAsB2C,EAAuB,IAC9E,MAAMk4Q,EAAuB,GAC7B,OAAOxF,GAAeyF,UAAUD,EAAaG,EAASh7Q,EAAM2C,GAAWk4Q,OAAcxtR,EAGzF+iE,aAAa9yD,GACT,OAAO,EAGH,mBACJy9J,EACAigH,EACAC,EACAj7Q,EACAk7Q,EACAv4Q,GAEA,GAAIs4Q,IAAiBC,EACjB,OAAO7F,GAAe0F,oBAAoBhgH,EAAWigH,EAASC,GAElE,GAAIC,IAAcD,EACd,OAAO5F,GAAe8F,oBAAoBpgH,EAAWmgH,GAEzD,GAAID,GAAgBC,EAAW,CAC3B,IAAIE,GAAa,EA4CjB,OA1CAF,EAAUrnQ,SAAQ,CAACoiD,EAAM52D,KAChB47Q,EAAatoQ,IAAItT,KAClB07J,EAAU17J,GAAY,GAAY42D,GAAQ,IAAIolN,GAAU,IAAIC,GAC5DF,GAAa,MAIrBH,EAAapnQ,SAAQ,CAAC0nQ,EAAal8Q,KAC/B,MAAMm8Q,EAAWN,EAAUpoR,IAAIuM,GAC/B,GAAIm8Q,EAAU,CACV,GAAI,GAAYD,IAAgB,GAAYC,GACxC,OAAQJ,EACJ/F,GAAeoG,eACX1gH,EACA17J,EACA27Q,EACAO,EACAv7Q,EACAw7Q,EACA74Q,IACCy4Q,EAEb,GAAI,GAAOG,IAAgB,GAAOC,GAC9B,OAAQJ,EACJ/F,GAAeqG,UACX3gH,EACA17J,EACA27Q,EACAO,EACAv7Q,EACAw7Q,EACA74Q,IACCy4Q,EAEb,GAAI3C,GAAU8C,IAAgB9C,GAAU+C,GACpC,OAAQJ,EACJ/F,GAAesG,aAAa5gH,EAAW17J,EAAUk8Q,EAAaC,IAAaJ,EAGvF,OAAQA,EACJ/F,GAAeuG,mBAAmB7gH,EAAW17J,EAAU27Q,EAASO,IAAgBH,KAEjFA,EAEX,OAAO,EAGH,iBAAiBrgH,EAAoBigH,EAAyBh7Q,EAAsB2C,GACxF,MAAQq4Q,EAAQ1F,MAAMO,OAASmF,EAAQhF,aACnCgF,EAAUA,EAAQhF,YAEtB,MAAQh2Q,EAAKs1Q,MAAMO,OAAS71Q,EAAKg2Q,aAC7Bh2Q,EAAOA,EAAKg2Q,YAIhB,OAAIgF,IAAYh7Q,MAKXg7Q,EAAQ1F,MAAMO,OAAUmF,EAAQhF,aAAgBh2Q,EAAKs1Q,MAAMO,OAAU71Q,EAAKg2Q,cAIxEX,GAAewG,YAClB9gH,EACAigH,EACAA,EAAQrC,gBACR34Q,EACAA,EAAK24Q,gBACLh2Q,GAIA,sBACJo4J,EACA17J,EACA27Q,EACAO,EACAv7Q,EACAw7Q,EACA74Q,GAEA,MAAQ44Q,EAAY1F,OAAS0F,EAAY3E,YACrC2E,EAAcA,EAAY3E,WAE9B,MAAQ4E,EAAS3F,OAAS2F,EAAS5E,YAC/B4E,EAAWA,EAAS5E,WAIxB,GAAI2E,IAAgBC,EAChB,OAAO,EAIX,GAAIM,GAA4BP,IAAgBO,GAA4BN,GACxE,OAAO,EAIX,IACKD,EAAY1F,QACZ2F,EAAS3F,OACV0F,EAAY5D,eACWtqR,IAAvBkuR,EAAYrrQ,QACZsrQ,EAAS7D,WAAa4D,EAAY5D,UAClC6D,EAAStrQ,SAAWqrQ,EAAYrrQ,OAEhC,OAAO,EAIX,MAAMqiB,EAAoB,GAC1B,QACK8iP,GAAewG,YACZtpP,EACAyoP,EACAA,EAAQxC,UAAU+C,GAClBv7Q,EACAA,EAAKw4Q,UAAUgD,GACf74Q,KAMRo4J,EAAU17J,GAAY,IAAI08Q,GAAUxpP,IAC7B,GAGH,iBACJwoI,EACA17J,EACA27Q,EACAO,EACAv7Q,EACAw7Q,EACA74Q,GAEA,MAAQ44Q,EAAY5uR,QAAU4uR,EAAY3E,YACtC2E,EAAcA,EAAY3E,WAE9B,MAAQ4E,EAAS7uR,QAAU6uR,EAAS5E,YAChC4E,EAAWA,EAAS5E,WAIxB,GAAI2E,IAAgBC,EAChB,OAAO,EAIX,GAAIQ,GAAuBT,IAAgBS,GAAuBR,GAC9D,OAAO,EAIX,IACKD,EAAY5uR,SACZ6uR,EAAS7uR,QACV4uR,EAAY5D,eACWtqR,IAAvBkuR,EAAYrrQ,QACZsrQ,EAAS7D,WAAa4D,EAAY5D,UAClC6D,EAAStrQ,SAAWqrQ,EAAYrrQ,OAEhC,OAAO,EAGX,MAAM+rQ,EAAgBjB,EAAQP,WAAWc,GACnCW,EAAal8Q,EAAKy6Q,WAAWe,GAGnC,OAAIS,IAAkBC,IAK4B,IAA9C,GAAO/oR,QAAQ8oR,EAAeC,KACzBv5Q,EAAQw5Q,oCAGbphH,EAAU17J,GAAY,IAAI+8Q,GAAoBH,IACvC,IAGXlhH,EAAU17J,GAAY,IAAIuxB,GAAKqrP,IACxB,IAGH,oBACJlhH,EACA17J,EACAk8Q,EACAC,GAGA,OAAID,EAAY7C,UAAY8C,EAAS9C,UAGrC39G,EAAU17J,GAAY,IAAIg9Q,GAAQd,EAAY7C,UACvC,GAGH,0BAA0B39G,EAAoB17J,EAAkB27Q,EAAyB/kN,GAC7F,GAAI,GAAYA,GAAO,CACnB,MAAM1jC,EAAoB,GAC1B8iP,GAAe0F,oBAAoBxoP,EAAUyoP,EAASA,EAAQxC,UAAUviN,IACxE8kG,EAAU17J,GAAY,IAAI08Q,GAAUxpP,QAC7BkmP,GAAUxiN,GACjB8kG,EAAU17J,GAAY,IAAIg9Q,GAAQpmN,EAAKyiN,SAEvC39G,EAAU17J,GAAY,IAAIuxB,GAAKqlC,EAAKtpE,QAAU,IAElD,OAAO,EAGH,2BACJouK,EACAigH,EACAC,GAGA,QAAKA,EAAaptR,OAIlBotR,EAAapnQ,SAAQ,CAACoiD,EAAM52D,KACxBg2Q,GAAeuG,mBAAmB7gH,EAAW17J,EAAU27Q,EAAS/kN,OAE7D,GAGH,2BAA2B8kG,EAAoBmgH,GAEnD,QAAKA,EAAUrtR,OAGfqtR,EAAUrnQ,SAAQ,CAACoiD,EAAM52D,KACrB07J,EAAU17J,GAAY,GAAY42D,GAAQ,IAAIolN,GAAU,IAAIC,OAEzD,GAMHzD,OAAOC,EAAavqR,EAAcwtD,EAAcy6N,EAAOjnR,KAAKinR,QAChE,MAAO,CACHsC,MACAuB,MAAOjE,GACPr6N,KAAOA,GAAQuhO,IAAS,GAAS,KAAW/uR,EAAO+uR,GACnDtD,QAASxD,EACTyD,QAASzD,EACT0D,QAAS1D,EACTgE,YAAahE,EACb8D,MAAO,GAIPtB,SACJtkP,EACAmiP,EACAj7Q,EACAq7D,EACAu/M,EAAOjnR,KAAKinR,QAEZK,EAAMniR,IAAIkH,EAAMq7D,GAChBA,EAAKqjN,QACLrjN,EAAKijN,QAAU1D,EACX9hP,IACAA,EAAOulP,QAAUzD,GAEhB9hP,GAAWnlC,KAAKwnR,OACjBxnR,KAAKwnR,KAAOn7Q,GAIZ8+Q,YACJhmP,EACAmiP,EACAj7Q,EACAq7D,EACAu/M,EAAOjnR,KAAKinR,QAEZK,EAAM1kQ,OAAOvW,GACbq7D,EAAKqjN,QACLrjN,EAAKijN,QAAU1D,EACX9hP,IACAA,EAAOulP,QAAUzD,GAIjB6E,aACJN,EACAwC,EACAC,EACAtC,EACAuC,EACAttH,EACAl5F,EACAu/M,GAEIuE,IAAcG,GACd3rR,KAAKmrR,YAAYK,EAAWwC,EAAUC,EAASvmN,EAAMu/M,GACrDjnR,KAAKypR,SAASkC,EAAWuC,EAAUttH,EAASl5F,EAAMu/M,KAElD+G,EAASprQ,OAAOqrQ,GAChBD,EAAS7oR,IAAIy7J,EAASl5F,GACtB8jN,EAAUd,QAAUzD,EACpB0E,EAAUjB,QAAUzD,GAIpBmD,gBACJ,IAAKpqR,KAAK+mR,MAAMO,MAAO,CACnB,MAAMA,EAAQ,IAAI/D,GAAyBvjR,KAAKmnR,gBAC5CnnR,KAAKynR,aACLznR,KAAKmuR,iBAAiBnuR,KAAKynR,YAAY2C,gBAAiB9C,GAE5DtnR,KAAK+mR,MAAMO,MAAQA,EAEvB,OAAOtnR,KAAK+mR,MAAMO,MAGd2C,UAAUviN,GACd,IAAKA,EAAK4/M,MAAO,CACb,MAAMA,EAAQ,IAAI/D,GAAyBvjR,KAAKmnR,iBAC1C,OAAExlQ,EAAM,SAAEynQ,GAAa1hN,EAC7B,GAAI/lD,GAAUynQ,EAAU,CACpB1hN,EAAK/lD,YAAS7iB,EACd4oE,EAAK0hN,cAAWtqR,EAChB,IAAK,MAAMuN,KAAQ+8Q,EAAStoN,YAAYn/C,GAAS,CAC7C,MAAM5S,EAAO,GAAsB4S,EAAQtV,GACrCs1Q,EAAQyH,EAASrwN,SAAShqD,GAChC,OAAQ4yQ,EAAMn1N,KAAOuhO,IACjB,KAAKvE,GAAS,CACV,MAAM5oR,EAAMZ,KAAKspR,OAAO5hN,EAAK6hN,IAAKC,GAAS,KAC3C5oR,EAAI+gB,OAAS,GAAsBA,EAAQtV,GAC3CzL,EAAIwoR,SAAWA,EACfppR,KAAKypR,SAAS/hN,EAAM4/M,EAAOj7Q,EAAMzL,GACjC,MAEJ,KAAKurR,GAAS,CACV,MAAMz8P,EAAO1vB,KAAKspR,OAAO5hN,EAAK6hN,IAAK4C,GAAS,KAC5Cz8P,EAAK/N,OAAS,GAAsBA,EAAQtV,GAC5CqjB,EAAK05P,SAAWA,EAChB15P,EAAKpwB,KAAOqiR,EAAMriR,KAClBU,KAAKypR,SAAS/hN,EAAM4/M,EAAOj7Q,EAAMqjB,GACjC,cAIL1vB,KAAKynR,aAAe//M,EAAK2gN,YAChCroR,KAAKmuR,iBAAiBnuR,KAAKynR,YAAYwC,UAAUviN,EAAK2gN,YAAaf,GAEvE5/M,EAAK4/M,MAAQA,EAEjB,OAAO5/M,EAAK4/M,MAKR8G,WAAW58Q,GACf,MAAMyzP,EAAUjlQ,KAAK+mR,MAAM9hB,UAAYjlQ,KAAK+mR,MAAM9hB,QAAU,IAAInnP,KAEhE,IAAIiqQ,EAAS9iB,EAAQ1gQ,IAAIiN,EAAKs5Q,KAoB9B,OAnBK/C,IACDA,EAAS,CACLwB,IAAK/3Q,EAAK+3Q,IACVuB,IAAKt5Q,EAAKs5Q,IACVt+N,KAAMh7C,EAAKg7C,KACXi+N,QAASj5Q,EAAKi5Q,QACdC,QAASl5Q,EAAKk5Q,QACdC,QAASn5Q,EAAKm5Q,QACdM,YAAaz5Q,EAAKy5Q,YAClBF,MAAOv5Q,EAAKu5Q,MACZ1C,WAAY72Q,GAGZ04Q,GAAU14Q,KACTu2Q,EAAwBoC,QAAU34Q,EAAK24Q,SAE5CllB,EAAQ9/P,IAAI4iR,EAAO+C,IAAK/C,IAGrBA,EAGHoG,iBAAiBxsQ,EAAoC9b,GACzD,MAAM4iB,EAAWs7P,GAAYpiQ,GAC7B,IACI,IAAK,IAAIrnB,EAAI0pR,GAAWv7P,GAAWnuB,EAAGA,EAAI0pR,GAAWv7P,GAAW,CAC5D,MAAOpc,EAAMmF,GAAQlX,EAAEgD,MACvBuI,EAAOV,IAAIkH,EAAMrM,KAAKouR,WAAW58Q,K,QAGrCyyQ,GAAcx7P,IAIduiQ,SAAStjN,GACb,OAAIA,EAAKtpE,OACEspE,EAAKtpE,OAAOtE,gBAELgF,IAAd4oE,EAAKpoE,KACEooE,EAAKpoE,KAEZooE,EAAK/lD,QAAU+lD,EAAK0hN,SACZ1hN,EAAKpoE,KAAOooE,EAAK0hN,SAASrwN,SAAS2O,EAAK/lD,QAAQriB,KAExDU,KAAKynR,aAAe//M,EAAK2gN,WACjB3gN,EAAKpoE,KAAOU,KAAKynR,YAAYuD,SAAStjN,EAAK2gN,YAEhD,EAGH6D,WAAWxkN,GACf,IAAKA,EAAKtpE,OAAQ,CACd,MAAM,OAAEujB,EAAM,SAAEynQ,GAAa1hN,EACzB/lD,GAAUynQ,GACV1hN,EAAK/lD,YAAS7iB,EACd4oE,EAAK0hN,cAAWtqR,EAChB4oE,EAAKpoE,UAAOR,EACZ4oE,EAAKtpE,OAASgrR,EAAS/pN,aAAa19C,IAC7B3hB,KAAKynR,aAAe//M,EAAK2gN,WAChC3gN,EAAKtpE,OAAS4B,KAAKynR,YAAYyE,WAAWxkN,EAAK2gN,YAE/C3gN,EAAKtpE,OAAS,GAAOhB,YAAY,GAGzC,OAAOsqE,EAAKtpE,OAsBR8pR,MACJn5Q,EACAg6Q,EACA/yQ,GAEA,IACImvB,EADAmiP,EAAQtnR,KAAKoqR,gBAEbp1N,EAAa,EAA2BjmD,GACxCs/Q,EAAO,EACP14L,EAAQ,EACR24L,GAAQ,EACZ,OAAa,CACT,GAAI34L,GAAS,GACT,MAAMgwL,GAAc,SAExB,MAAM4I,EAAWF,IAASr5N,EAAWh6D,OAAS,EACxC8V,EAAWkkD,EAAWq5N,GACtB3mN,EAAO4/M,EAAM/iR,IAAIuM,GACvB,GAAIy9Q,IAAaxF,IAAamB,GAAUxiN,IACpC,MAAO,CAAEkjN,SAAU,EAA+B51N,GAAalkD,WAAUq0B,SAAQmiP,QAAO5/M,QAE5F,QAAa5oE,IAAT4oE,EAAoB,CACpB,GAAI8mN,EAAU7I,GAAc,UAAWj+M,GACnC,SAEJ,OAEJ,GAAIwiN,GAAUxiN,GAAd,CACI,MACMyiN,EAAU,GADA,EAA+Bn1N,EAAWp3D,MAAM,EAAGywR,IACpB3mN,EAAKyiN,SACpD7C,EAAQtnR,KAAKoqR,gBACbjlP,OAASrmC,EACTk2D,EAAa,EAA2Bm1N,GAASnlR,OAAOgwD,EAAWp3D,MAAMywR,EAAO,IAChFA,EAAO,EACP14L,IACA24L,GAAQ,OAGZ,GAAI,GAAY5mN,GACZ4/M,EAAQtnR,KAAKiqR,UAAUviN,GACvBviC,EAASuiC,EACT2mN,IACAC,GAAQ,OAGZ,IAAIE,EAAU7I,GAAc,WAAYj+M,GAGxC,OAGJ,SAAS8mN,EAAUpqR,EAA8BsjE,GAC7C,MAAMkjN,EAAW,EAA+B51N,EAAWp3D,MAAM,EAAGywR,EAAO,IACrEv9Q,EAAWkkD,EAAWq5N,GACtBruQ,GAAUsuQ,GAASt4Q,EAAUA,EAAQ5R,EAAO,CAAEwmR,WAAU95Q,WAAUq0B,SAAQmiP,QAAO5/M,SAAU,QACjG,GAAe,SAAX1nD,EACA,OAAO,EAEX,GAAe,UAAXA,EAEA,OADAsuQ,GAAQ,GACD,EAEX,MAAMlqR,GAONktQ,SAASviQ,GACb,OAAO/O,KAAKwnR,KACN,GACIxnR,KAAKwnR,KACLrB,GAASp3Q,EAAM,OAEnBo3Q,GAASp3Q,EAAM,MAGjBs4Q,YAAYhuN,EAAgB1oD,GAChC,MAAM89Q,EAA+C,GACrDzuR,KAAK0uR,kBAAkBr1N,EAAO1oD,EAAS89Q,GACvC,IAAK,MAAOh1N,EAAO1qD,KAAS0/Q,EAAU,CAGlC,GAFAzuR,KAAKunR,WAAW,EAA0Bx4Q,IAC1C/O,KAAKsoR,MAAM,EAA0Bv5Q,IACjC0qD,aAAiBq0N,GAAS,CAC1B,GAAmE,IAA/D9tR,KAAKmnR,eAAe,EAA0Bp4Q,GAAOA,GACrD,MAAM,IAAI5R,UAAU,mCAExB6C,KAAK+rR,YAAY,GAAsBp7Q,EAAS8oD,EAAM0wN,SAAUp7Q,GAChE/O,KAAK2uR,0BAA0B5/Q,EAAM0qD,QAClC,GAAIA,aAAiBm1N,GAAM,CAC9B,GAAmE,IAA/D5uR,KAAKmnR,eAAe,EAA0Bp4Q,GAAOA,GACrD,MAAM,IAAI5R,UAAU,+BAExB6C,KAAKorR,SAAS3xN,EAAM1qD,KAAMA,QAE1B/O,KAAKmpR,UAAU1vN,EAAM93C,OAAQ5S,EAAM0qD,EAAM2vN,UACzCppR,KAAK2uR,0BAA0B5/Q,EAAM0qD,GAEzCz5D,KAAKuoR,QAILoG,0BAA0B5/Q,EAAc0qD,GAC5C,MAAM,KAAEytN,GAASztN,EACjB,QAAa36D,IAATooR,EAAoB,CACpB,MAAMe,EAAWjoR,KAAKioR,SAASl5Q,GAC/B,IAAK,MAAMiT,KAAOllB,OAAOuoB,KAAK6hQ,GAC1Be,EAAS9iR,IAAI6c,EAAKklQ,EAAKllQ,KAK3B0sQ,kBAAkBr1N,EAAgB1oD,EAAiB89Q,GACvD,IAAK,MAAMzsQ,KAAOllB,OAAOuoB,KAAKg0C,GAAQ,CAClC,MAAM/7D,EAAQuxR,GAAsBx1N,EAAMr3C,IACpCjT,EAAO4B,EAAU,GAAsBA,EAASqR,GAAOA,EAG7D,GAFAmkQ,GAASp3Q,EAAM,MAEXzR,SAAyCA,aAAiBwvR,IAASxvR,aAAiByvR,GAAQ,CAC5F,GAAmE,IAA/D/sR,KAAKmnR,eAAe,EAA0Bp4Q,GAAOA,GACrD,MAAM,IAAI5R,UAAU,4BAExB6C,KAAK0pR,WAAW36Q,QACb,GAAIzR,aAAiB+kC,GAAM,CAC9B,GAAmE,IAA/DriC,KAAKmnR,eAAe,EAA0Bp4Q,GAAOA,GACrD,MAAM,IAAI5R,UAAU,0BAExB6C,KAAKunR,WAAW,EAA0Bx4Q,IAC1C/O,KAAKg8D,cAAcjtD,EAAMzR,EAAM4B,KAAM5B,EAAME,UAC3CwC,KAAK2uR,0BAA0B5/Q,EAAMzR,QAC9BA,aAAiBkwR,IACxBxtR,KAAKunR,WAAWx4Q,GAChB/O,KAAK2uR,0BAA0B5/Q,EAAMzR,GACrC0C,KAAK0uR,kBAAkBpxR,EAAM+7D,MAAOtqD,EAAM0/Q,IAE1CA,EAASpzR,KAAK,CAACiC,EAAOyR,MA+C/B,MAAMy+Q,GAGTvhR,YAAYotD,GAAgB,KAAE6tN,GAAyC,IACnElnR,KAAKq5D,MAAQA,EACbr5D,KAAKknR,KAAOA,GAKb,MAAM7kP,GAITp2B,YACI/M,GACA,KAAEgoR,EAAI,SAAE1pR,GAAwE,IAEhFwC,KAAKd,KAAOA,EACZc,KAAKxC,SAAWA,EAChBwC,KAAKknR,KAAOA,GAIb,MAAM2G,WAA4BxrP,GACrCp2B,YAAY/M,EAAuB4vR,GAC/B5iR,MAAMhN,EAAM4vR,IAKb,MAAMF,GAET3iR,YAAY8C,GACR/O,KAAK+O,KAAOA,GAKb,MAAM+9Q,IAKN,MAAMC,IAKN,MAAMe,GAGT7hR,YAAYk+Q,GAAiB,KAAEjD,GAAyC,IACpElnR,KAAKmqR,QAAUA,EACfnqR,KAAKknR,KAAOA,GAOb,MAAM6G,GAAS,MAET9B,GAAU,MACVE,GAAU,MAEV3C,GAAU,MAkEvB,SAAS+D,GAA4B7lN,GACjC,QAAQA,EAAK4/M,OAAU5/M,EAAK2gN,YAAe3gN,EAAK0hN,UAAa1hN,EAAK/lD,QAGtE,SAAS8rQ,GAAuB/lN,GAC5B,QAAQA,EAAKtpE,QAAWspE,EAAK2gN,YAAe3gN,EAAK0hN,UAAa1hN,EAAK/lD,QAGvE,SAAS,GAAO+lD,GACZ,YAAgB5oE,IAAT4oE,IAAuBA,EAAKlb,KAAOuhO,MAAY5B,GAG1D,SAAS,GAAYzkN,GACjB,YAAgB5oE,IAAT4oE,IAAuBA,EAAKlb,KAAOuhO,MAAYvE,GAG1D,SAASU,GAAUxiN,GACf,YAAgB5oE,IAAT4oE,IAAuBA,EAAKlb,KAAOuhO,MAAY9B,GAW1D,SAAS4C,GAAsBvxR,GAC3B,OACIA,SAEAA,aAAiBkwR,IACjBlwR,aAAiB+kC,IACjB/kC,aAAiBsxR,IACjBtxR,aAAiBwwR,IACjBxwR,aAjGD,MAIH2O,YAAY0V,EAAgBynQ,GAA8B,KAAElC,GAAyC,IACjGlnR,KAAK2hB,OAASA,EACd3hB,KAAKopR,SAAWA,EAChBppR,KAAKknR,KAAOA,KA2FZ5pR,aAAiBwvR,IACjBxvR,aAAiByvR,GAEVzvR,EAEa,iBAAVA,GAAsB,GAAOsB,SAAStB,GAAS,IAAI+kC,GAAK/kC,GAAS,IAAIkwR,GAAUlwR,GAkDjG,MAAMutR,GAmCF5+Q,YACIs9Q,EAAM,EACNuB,EAAM,EACNt+N,EAAO,EACPu+N,EAAQ,EACRgE,EAAO,EACPzvR,EAAO,EACP0vR,EAAU,EACVC,EAAS,EACTxE,EAAU,EACVC,EAAU,EACVC,EAAU,EACVM,EAAc,GAEdjrR,KAAKupR,IAAMA,EACXvpR,KAAK8qR,IAAMA,EACX9qR,KAAKwsD,KAAOA,EACZxsD,KAAK+qR,MAAQA,EACb/qR,KAAKkvR,IAAM,EACXlvR,KAAKmvR,IAAM,EACXnvR,KAAK+uR,KAAOA,EACZ/uR,KAAKV,KAAOA,EACZU,KAAKgvR,QAAUA,EACfhvR,KAAKivR,OAASA,EACdjvR,KAAKyqR,QAAUA,EACfzqR,KAAK0qR,QAAUA,EACf1qR,KAAK2qR,QAAUA,EACf3qR,KAAKirR,YAAcA,EACnBjrR,KAAKuqR,MAAQ,IAAI9pQ,KAAKzgB,KAAKyqR,SAC3BzqR,KAAKwqR,MAAQ,IAAI/pQ,KAAKzgB,KAAK0qR,SAC3B1qR,KAAKovR,MAAQ,IAAI3uQ,KAAKzgB,KAAK2qR,SAC3B3qR,KAAKqvR,UAAY,IAAI5uQ,KAAKzgB,KAAKirR,aAGnCnyN,SACI,OAAQ94D,KAAKwsD,KAAOuhO,MAAY5B,GAEpCvzN,cACI,OAAQ54D,KAAKwsD,KAAOuhO,MAAYvE,GAEpC9vN,iBACI,OAAQ15D,KAAKwsD,KAAOuhO,MAAY9B,GAEpCjsN,gBACI,OA9Oe,QA8OPhgE,KAAKwsD,KAAOuhO,IAExB9tN,oBACI,OA/Oe,OA+OPjgE,KAAKwsD,KAAOuhO,IAExB7tN,SACI,OAjPe,OAiPPlgE,KAAKwsD,KAAOuhO,IAExB5tN,WACI,OA1PgB,QA0PRngE,KAAKwsD,KAAOuhO,KCz1DrB,MAAMuB,WAAqBxxQ,IAAlC,c,oBACY,KAAAyxQ,sBAAwB,YAEhCC,0BACI,MAAMC,EAAyC,GAO/C,OANAzvR,KAAKslB,SAAS0tB,IACNA,EAAU6mB,UACV41N,EAAWp0R,KAAK23C,MAIjBy8O,EAGXjc,oBAAoB7rD,EAAwB9rJ,GACxC,IAAI6zN,EACAC,EAoBJ,GAlBA3vR,KAAKslB,SAAS0tB,IACNA,EAAU6mB,UAENgC,EAASrG,WAAWxiB,EAAU6mB,iBAKT/6D,IAAjB4wR,GAA8B18O,EAAU6mB,SAASrE,WAAWk6N,MAC5DA,EAAe18O,EAAU6mB,SACzB81N,EAAe38O,WAQVl0C,IAAjB6wR,EAA4B,CAC5B,IAAIC,EAAmB5vR,KAAKuE,IAAIvE,KAAKuvR,uBACrC,IAAKK,EAAkB,CAEnB,MAAMC,EAAiB,IAAI7vR,KAAKqlB,QAChC,GAA8B,IAA1BwqQ,EAAe70R,OACf,OAAOgF,KAAKuE,IAAIsrR,EAAe,IAKnCD,EAAmB,CACfjd,cAAe,GACf94M,SAAU,GACV+4M,QAAS,GACTL,gBAAiB5qD,EAAGmoE,sBAAsB9vR,KAAKuvR,uBAC/C1c,yBAAyB,EACzBC,wBAAwB,EACxBC,cAAetB,MAEnBzxQ,KAAKmF,IAAInF,KAAKuvR,sBAAuBK,GACrCjoE,EAAGooE,2BAA2BH,GAAkB59Q,eAGpD,OAAO49Q,EAGX,OAAOD,G,iCC3Bf,MAAMK,GAA8B,CAAEzpB,kBAAmB,GAAIE,oBAAqB,KAI3E,MAAMwpB,WLoKN,MA8CHhkR,YACcikR,EACA9lP,EACDjmC,G,QAFC,KAAA+rR,iBACA,KAAA9lP,cACD,KAAAjmC,UApCL,KAAAgsR,iBAAsD,GAAAp/P,sBAAA,QAG9D,KAAA8oC,SAAW,GAED,KAAA9mB,OAA6B,CACnCq9O,4BAA4B,EAC5BC,qCAAqC,EACrCC,+BAA+B,EAC/BC,wBAAwB,EACxBC,8BAA8B,EAC9BC,mCAAmC,EACnCC,yCAAyC,EACzCC,6BAA6B,EAC7BC,8BAA8B,EAC9BC,6BAA6B,EAC7BC,iCAAiC,EACjCC,mBAAoB,GAAAjzP,WAAA,UACpBkzP,oBAAqB,GAAAlzP,WAAA,UACrBmzP,2BAA2B,EAC3BC,mBAAoB,GAAApzP,WAAA,UACpBqzP,iCAAiC,EACjCC,kCAAkC,EAClCC,kDAAkD,GAG5C,KAAAC,uBAAiD,GActD,oBAAA95O,EAAe+5O,gBAAkBrB,EAAesB,cAEjDxxR,KAAKmE,QAAQ8X,KACT,GAAGi0Q,EAAeuB,+BACdvB,EAAe1yQ,SAAW0yQ,EAAe1yQ,QAAU,eAI3Dxd,KAAKmE,QAAQ8X,KAAK,0BAA0Bi0Q,EAAesB,iBAE3DxxR,KAAK0xR,cAAgB1xR,KAAKkwR,eAAeyB,aACzC3xR,KAAK4xR,qBAAuB5xR,KAAKkwR,eAAe2B,oBAEhD7xR,KAAK41D,GAAK,IAAIwK,GAAkBpgE,KAAKkwR,eAAelxN,YACpDh/D,KAAK8xR,WAAa,IAAI1O,GAAUpjR,KAAK41D,IAKrC,MAAMmoB,EAAkB/9E,KAAK41D,GAAGmL,gBAC5Bgd,GACA/9E,KAAK41D,GAAG+K,MAAMod,GAIlB/9E,KAAK+xR,gBAAgD,QAAhC,EAAA7B,EAAe8B,yBAAiB,QAAI,GAAuC,QAAnC,EAAA9B,EAAe+B,4BAAoB,QAAI,IAEpGjyR,KAAKkyR,kBAAoB,IAAIjP,GAAsBjjR,KAAKmyR,0BAGxDnyR,KAAKoqC,YAAY12B,SAIrBugQ,sBAAsB34M,GAClB,OAAOt7D,KAAK8xR,WAAW7d,sBAAsB34M,GAgBvC,uBAAuB82N,EAA8BjpP,GAC3D,GAAInpC,KAAK+yC,OAAOq9O,2BAA4B,CACxC,MAAMpoQ,EAA0B,GAOhC,YANiBlpB,IAAbszR,IACApqQ,EAAKoqQ,SAAWA,QAEJtzR,IAAZqqC,IACAnhB,EAAKmhB,QAAUA,GAEZnpC,KAAKoqC,YAAY4I,UAAU/J,iBAAiBjhB,GAGvD,GAAIhoB,KAAKqyR,qBACL,OpHjCsB7S,EoHiCGx/Q,KAAKqyR,qBAAsBlpP,EpHhCrC57B,MAAM,KAAKu/C,QAAO,CAACnuD,EAAKqqD,IACpCrqD,GAAOA,EAAIqqD,IACnBw2N,GAHA,IAA2BA,EoHuCpB8S,gBAAgBC,GACtB,MAA0B,cAAnBA,EAGDC,qBAAqBl1R,GAC3B,MAAMm1R,EAAYn1R,EAClB,GhBjUG,C,wCgBiUkC4I,SAASusR,GAC1C,OAAOA,EAMLC,sBAAsBp1R,GAC5B,MAAMm1R,EAAYn1R,EAClB,GAAIwlK,KAA8B58J,SAASusR,GACvC,OAAOA,EASLE,gCACNxuR,EACAktE,EACA+qF,EACA/kG,EACAo7M,EACAiI,GAEA,OAAO,IAAI5F,GACP3wQ,EACAktE,EACA+qF,EACA/kG,EACAo7M,EACAiI,GAIEkY,aAAav7N,GACnBr3D,KAAKkwR,eAAe74N,UAAYA,EAIpC,aACI,OAAOr3D,KAAKoqC,YAAYe,OAG5B,2BACI,OAAOnrC,KAAK+yC,OAAO89O,6BAA+B7wR,KAAK+yC,OAAO+9O,gCAKlEhB,sBAAsBzjR,GAClBrM,KAAKmE,QAAQyK,IAAI,8BAA8BvC,MAC/C,MAAMinQ,EAAU,IAAIgH,GAChBjuQ,EACArM,KAAK41D,GACL51D,KAAKmE,QACLnE,KAAK6yR,WAAW13Q,KAAKnb,MACrBA,KAAKo7Q,qBAAqBjgQ,KAAKnb,WAC/BlB,EACAkB,KAAKkwR,eAAe74N,UACpBr3D,KAAKyzQ,2BACLzzQ,KAAKkwR,eAAeF,4BACpBhwR,KAAK2yR,gCAAgCx3Q,KAAKnb,MAC1CA,KAAKkwR,eAAetV,sBAKxB,OAFAtH,EAAQgC,uBAAuBjtH,GAAYroJ,KAAK8yR,2BAA2BzqI,KAEpEirH,EAGX,0BAA0Bz3M,GACtB,MAAM7oB,EAAYhzC,KAAK0xR,cAAcle,oBAAoBxzQ,KAAM67D,GAE/D,aADM7oB,EAAU+/N,cAAc3xP,QACvB4xB,EAGX4gO,YACI5zQ,KAAK0xR,cAAcpsQ,SAAS0tB,IACxBA,EAAUu/N,gBAAgBkE,kCAIlCpC,UACIr0Q,KAAK0xR,cAAcpsQ,SAAS0tB,IACxBA,EAAUu/N,gBAAgB8B,aAIxB0d,gBAAgBC,EAA6BC,GAGnDjyR,KAAKoqC,YAAYwJ,cAAczzB,GAAWngB,KAAK4nC,WAAWznB,EAAQ6xQ,EAAmBC,KAErFjyR,KAAKoqC,YAAYyJ,eAAc,IAAM7zC,KAAK6zC,kBAE1C7zC,KAAKoqC,YAAY4J,0BAA0B7zB,GAAWngB,KAAKg0C,yBAAyB7zB,KAEpFngB,KAAKoqC,YAAY2K,cAAa,CAAC50B,EAAQa,IAAUhhB,KAAK+yR,kBAAkB5yQ,EAAQa,KAEhFhhB,KAAKoqC,YAAYoK,cAAajoB,MAAOpM,EAAQa,IAAUhhB,KAAKw0C,aAAar0B,EAAQa,KACjFhhB,KAAKoqC,YAAYmK,eAAchoB,MAAOpM,EAAQa,IAAUhhB,KAAKu0C,cAAcp0B,EAAQa,KACnFhhB,KAAKoqC,YAAYqK,kBAAiBloB,MAAOpM,EAAQa,IAAUhhB,KAAKy0C,iBAAiBt0B,EAAQa,KAEzFhhB,KAAKoqC,YAAYuK,cAAapoB,MAAOpM,EAAQa,EAAOgyQ,EAAkBC,IAClEjzR,KAAK20C,aAAax0B,EAAQa,EAAOgyQ,EAAkBC,KAGvDjzR,KAAKoqC,YAAYyK,kBAAiBtoB,MAAOpM,EAAQa,IAAUhhB,KAAK60C,iBAAiB10B,EAAQa,KACzFhhB,KAAKoqC,YAAY0K,mBAAkBvoB,MAAOpM,EAAQa,EAAOvE,EAAGw2Q,IACxDjzR,KAAK80C,kBAAkB30B,EAAQa,EAAOiyQ,KAG1CjzR,KAAKoqC,YAAY+J,SAAQ5nB,MAAOpM,EAAQa,IAAUhhB,KAAKm0C,QAAQh0B,EAAQa,KAEvEhhB,KAAKoqC,YAAYwK,qBAAoBroB,MAAOpM,EAAQa,IAAUhhB,KAAK40C,oBAAoBz0B,EAAQa,KAE/FhhB,KAAKoqC,YAAYkK,iBAAgB/nB,MAAOpM,EAAQa,IAAUhhB,KAAKs0C,gBAAgBn0B,EAAQa,KAEvFhhB,KAAKoqC,YAAYgK,cAAa,CAACj0B,EAAQa,IAAUhhB,KAAKo0C,aAAaj0B,EAAQa,KAE3EhhB,KAAKoqC,YAAYiK,qBAAoB9nB,MAAOpM,EAAQa,IAAUhhB,KAAKq0C,oBAAoBl0B,EAAQa,KAE/FhhB,KAAKoqC,YAAYkL,iBAAgB/oB,MAAOpM,EAAQa,IAAUhhB,KAAKs1C,gBAAgBn1B,EAAQa,KAEvF,MAAMkyQ,EAAgBlzR,KAAKoqC,YAAY+I,UAAU+/O,cACjDA,EAAcvqP,WAAUpc,MAAOpM,EAAQa,IAAUhhB,KAAK2oC,UAAUxoB,EAAQa,KACxEkyQ,EAAcrqP,iBAAgBtc,MAAOpM,EAAQa,IAAUhhB,KAAK6oC,gBAAgB1oB,EAAQa,KACpFkyQ,EAAcnqP,iBAAgBxc,MAAOpM,EAAQa,IAAUhhB,KAAK+oC,gBAAgB5oB,EAAQa,KAEpFhhB,KAAKoqC,YAAY+E,uBAAsB5iB,MAAOpM,GAAWngB,KAAKmvC,sBAAsBhvB,KACpFngB,KAAKoqC,YAAYkF,yBAAwB/iB,MAAOpM,GAAWngB,KAAKsvC,wBAAwBnvB,KACxFngB,KAAKoqC,YAAYoF,wBAAuBjjB,MAAOpM,GAAWngB,KAAKwvC,uBAAuBrvB,KACtFngB,KAAKoqC,YAAY6J,yBAAyB9zB,GAAWngB,KAAKi0C,wBAAwB9zB,KAElFngB,KAAKoqC,YAAY0L,kBAAiBvpB,MAAOpM,EAAQa,EAAOo5I,IACpDp6J,KAAK81C,iBAAiB31B,EAAQa,EAAOo5I,KAInC,iBACNj6I,EACA6xQ,EACAC,G,gFAEAjyR,KAAKsxR,uBAAyB,CAC1B5gK,OAAQvwG,EAAOuwG,OACfC,MAAOxwG,EAAOgzQ,sBAAsBpjK,uBAElCU,GAAuBzwH,KAAKsxR,wBAElCtxR,KAAK65D,SAAW15C,EAAO05C,UAAY,GAEnC,MAAM3uB,EAAe/qB,EAAO+qB,aAC5BlrC,KAAK+yC,OAAOq9O,8BAAqD,QAAtB,EAAAllP,EAAa8H,iBAAS,eAAExE,eACnExuC,KAAK+yC,OAAOw9O,0BAAwE,QAA7C,EAAsB,QAAtB,EAAArlP,EAAa8H,iBAAS,eAAEogP,6BAAqB,eAAEC,qBACtFrzR,KAAK+yC,OAAOu9O,iCAAwD,QAAtB,EAAAplP,EAAa8H,iBAAS,eAAEkE,kBACtEl3C,KAAK+yC,OAAOs9O,sCAAyCnlP,EAAqBooP,+BAC1EtzR,KAAK+yC,OAAOy9O,gCACwD,QAA9D,EAAwC,QAAxC,EAAyB,QAAzB,EAAAtlP,EAAanO,oBAAY,eAAEw2P,qBAAa,eAAEC,4BAAoB,eAAEC,wBACtEzzR,KAAK+yC,OAAO09O,qCAC8E,QAApF,EAA8D,QAA9D,EAAwC,QAAxC,EAAyB,QAAzB,EAAAvlP,EAAanO,oBAAY,eAAEw2P,qBAAa,eAAEC,4BAAoB,eAAEE,4BAAoB,eAAEC,oBAC5F3zR,KAAK+yC,OAAO29O,2CACmC,QAAzC,EAAyB,QAAzB,EAAAxlP,EAAanO,oBAAY,eAAE62P,sBAAc,eAAEC,mCACjD7zR,KAAK+yC,OAAO89O,+BAC+B,QAArC,EAAsB,QAAtB,EAAA3lP,EAAa8H,iBAAS,eAAE3S,qBAAa,eAAE5C,qBACH,QAApC,EAAAyN,EAAa8H,UAAU3S,qBAAa,eAAEyzP,oBAC5C9zR,KAAK+yC,OAAO+9O,mCAAyE,QAArC,EAAsB,QAAtB,EAAA5lP,EAAa8H,iBAAS,eAAE3S,qBAAa,eAAE0zP,yBAEvF/zR,KAAK+yC,OAAOg+O,mBAAqB/wR,KAAKg0R,yBAAyD,QAAhC,EAAyB,QAAzB,EAAA9oP,EAAanO,oBAAY,eAAEk3P,aAAK,eAAEC,eACjGl0R,KAAK+yC,OAAOi+O,oBAAsBhxR,KAAKg0R,yBACkB,QAArD,EAAqC,QAArC,EAAyB,QAAzB,EAAA9oP,EAAanO,oBAAY,eAAEo3P,kBAAU,eAAEvuI,sBAAc,eAAEmnH,qBAE3D/sQ,KAAK+yC,OAAOk+O,6BAAmF,QAArD,EAAqC,QAArC,EAAyB,QAAzB,EAAA/lP,EAAanO,oBAAY,eAAEo3P,kBAAU,eAAEvuI,sBAAc,eAAEwuI,gBACjGp0R,KAAK+yC,OAAOm+O,mBAAqBlxR,KAAKg0R,yBAC4B,QAA9D,EAAwC,QAAxC,EAAyB,QAAzB,EAAA9oP,EAAanO,oBAAY,eAAEw2P,qBAAa,eAAEC,4BAAoB,eAAEzmB,qBAEpE,MAAMsnB,GAAmF,QAAzD,EAA6C,QAA7C,EAAyB,QAAzB,EAAAnpP,EAAanO,oBAAY,eAAEu3P,0BAAkB,eAAEC,kBAAU,eAAEC,WAAY,GA2DvG,OA1DAx0R,KAAK+yC,OAAOq+O,iCAAmCiD,EAAwB5lO,MAClEgmO,GAAQA,IAAQ,GAAAt7P,cAAA,cAErBn5B,KAAK+yC,OAAOo+O,gCAAkCkD,EAAwB5lO,MACjEgmO,GAAQA,IAAQ,GAAAt7P,cAAA,aAErBn5B,KAAK+yC,OAAO49O,+BAAmD,QAAnB,EAAAzlP,EAAaC,cAAM,eAAExU,kBACjE32B,KAAK+yC,OAAO69O,gCAA0D,QAAzB,EAAA1lP,EAAanO,oBAAY,eAAEirC,aACxEhoE,KAAK+yC,OAAOs+O,oDAC+D,QAArE,EAAqD,QAArD,EAAqC,QAArC,EAAyB,QAAzB,EAAAnmP,EAAanO,oBAAY,eAAEo3P,kBAAU,eAAEvuI,sBAAc,eAAE8uI,sBAAc,eAAEC,WAAWlmO,MAC/Ej8C,GAAY,wBAANA,KAIX2N,EAAO+2B,iBACP/2B,EAAO+2B,iBAAiB5xB,SAASqK,IAC7B,MAAM5gB,EAAO/O,KAAK8xR,WAAW7d,sBAAsBtkP,EAAO6K,KAC1Dx6B,KAAK0xR,cAAcvsR,IAAI4J,EAAM/O,KAAK40R,+BAA+BjlQ,EAAQ5gB,OAEtEoR,EAAO05C,UACd75D,KAAK0xR,cAAcvsR,IAAIgb,EAAO05C,SAAU75D,KAAK40R,oCAA+B91R,EAAWqhB,EAAO05C,WAGlG75D,KAAK60R,iCAE4B,CAC7B3pP,aAAc,CACV8K,iBAAkB,GAAApkB,qBAAA,YAClBkjQ,mBAAoB,CAAEn+P,kBAAkB,GACxCo+P,oBAAqB,CAAEp+P,kBAAkB,GACzCq+P,uBAAwB,CAAEr+P,kBAAkB,GAC5Cs+P,mBAAoB,CAAEt+P,kBAAkB,GACxCu+P,uBAAwB,CAAEv+P,kBAAkB,GAC5Cw+P,wBAAyB,CAAEx+P,kBAAkB,GAC7Cy+P,cAAe,CAAEz+P,kBAAkB,GACnC0+P,0BAA2B,CAAE1+P,kBAAkB,GAC/C2+P,eAAgB,CAAE3+P,kBAAkB,GACpC4+P,mBAAoB,CAChBC,kBAAmBx1R,KAAK+yC,OAAOs9O,oCAAsC,CAAC,IAAK,IAAK,KAAO,CAAC,IAAK,KAC7FoF,iBAAiB,EACjB9+P,kBAAkB,GAEtB++P,sBAAuB,CACnBF,kBAAmB,CAAC,IAAK,IAAK,KAC9B7+P,kBAAkB,GAEtBg/P,mBAAoB,CAChBC,gBAAiB3D,EACjBt7P,kBAAkB,GAEtBk/P,uBAAwB,CACpBC,SAAU9D,EACVr7P,kBAAkB,GAEtBo/P,uBAAuB,IAOzBliP,gBACF7zC,KAAK+yC,OAAOu9O,+BACZtwR,KAAKoqC,YAAY4I,UAAUgjP,6BAA6B3iR,IACpDA,EAAM4iR,QAAQ3wQ,SAAS0tB,IACnB,MAAM6mB,EAAW75D,KAAK8xR,WAAW7d,sBAAsBjhO,EAAUxY,KACjEx6B,KAAK0xR,cAAc9uQ,OAAOi3C,MAG9BxmD,EAAM6iR,MAAM5wQ,SAAQiH,MAAOymB,IACvB,MAAM6mB,EAAW75D,KAAK8xR,WAAW7d,sBAAsBjhO,EAAUxY,KAC3D27P,EAAen2R,KAAK40R,+BAA+B5hP,EAAW6mB,GACpE75D,KAAK0xR,cAAcvsR,IAAI00D,EAAUs8N,SAC3Bn2R,KAAK+vR,2BAA2BoG,SAM9Cn2R,KAAK+yC,OAAOw9O,wBACZvwR,KAAKoqC,YAAY2I,OAAOrB,SAAS,GAAAvgB,kCAAA,KAAwC,CACrEilQ,SAAU,IACHjc,GAAgBr2P,KAAKy0C,IACb,CACH89N,YAAa,MAAM99N,IACnBprC,KAAM,GAAA8D,UAAA,OAAmB,GAAAA,UAAA,OAAmB,GAAAA,UAAA,WAGpD,CACIolQ,YAAa,KACblpQ,KAAM,GAAA8D,UAAA,OAAmB,GAAAA,UAAA,OAAmB,GAAAA,UAAA,WAOtD+iB,yBAAyB7zB,GAC/BngB,KAAKmE,QAAQyK,IAAI,8BACbuR,aAAM,EAANA,EAAQm2Q,YACRt2R,KAAKqyR,qBAAuBlyQ,aAAM,EAANA,EAAQm2Q,UAExCt2R,KAAK60R,iCAGC,mBACN10Q,EACAa,GAEA,OAAOhhB,KAAKu2R,eACRp2Q,EACAa,EACAhhB,KAAK+yC,OAAO69O,6BAA+Bh2H,GAAiB47H,aAAe57H,GAAiBoQ,KAC5F,CAACh4H,EAAW6oB,EAAUp/B,EAAUosB,EAAQ7nC,IACpCgyB,EAAUu/N,gBAAgBkK,yBAAyB5gN,EAAUp/B,EAAUosB,EAAQ7nC,KAIjF,oBACNb,EACAa,GAEA,OAAOhhB,KAAKu2R,eACRp2Q,EACAa,EACAhhB,KAAK+yC,OAAO69O,6BAA+Bh2H,GAAiBsQ,YAActQ,GAAiBoQ,KAC3F,CAACh4H,EAAW6oB,EAAUp/B,EAAUosB,EAAQ7nC,IACpCgyB,EAAUu/N,gBAAgBkK,yBAAyB5gN,EAAUp/B,EAAUosB,EAAQ7nC,KAIjF,uBACNb,EACAa,GAEA,OAAOhhB,KAAKu2R,eAAep2Q,EAAQa,EAAO45I,GAAiBoQ,KAAK,CAACh4H,EAAW6oB,EAAUp/B,EAAUhgB,EAAGuE,IAC/FgyB,EAAUu/N,gBAAgBmK,6BAA6B7gN,EAAUp/B,EAAUzb,KAIzE,qBACNb,EACAa,EACA6nC,EACA4tO,GAQAz2R,KAAKg9Q,4BAEL,MAAM,SAAEnhN,EAAQ,SAAEp/B,GAAaz8B,KAAK8xR,WAAWzO,2BAA2BljQ,EAAO4c,aAAc5c,EAAOsc,UAEhGuW,QAAkBhzC,KAAKwzQ,oBAAoB33M,GACjD,GAAI7oB,EAAU6/N,wBACV,OAGJ,MAAM9H,EAAY0rB,EAAmBzjP,EAAW6oB,EAAUp/B,EAAUosB,EAAQ7nC,GAC5E,OAAK+pP,EAGEA,EACFliN,QAAQqiN,IAASlrQ,KAAK41D,GAAGiM,aAAaqpM,EAAIn8P,QAC1C+U,KAAKonP,GAAQ,GAAAvyO,SAAA,OAAgB,GAAiB34B,KAAK41D,GAAIs1M,EAAIn8P,MAAOm8P,EAAIz+P,cAL3E,EAQM,mBACN0T,EACAa,EACAgyQ,EACAC,GAEIjzR,KAAK02R,wCACL12R,KAAK02R,sCAAsCn7Q,SAC3Cvb,KAAK02R,2CAAwC53R,GAMjD,MAAMssC,QAAiBprC,KAAK22R,qBACxB3D,EACAphK,GAAUzyF,WAAWk9G,oBACrBr7H,GAGEW,EAASypB,EAASzpB,OACxB3hB,KAAK02R,sCAAwC/0Q,EAE7C,IACI,MAAM,SAAEk6C,EAAQ,SAAEp/B,GAAaz8B,KAAK8xR,WAAWzO,2BAC3CljQ,EAAO4c,aACP5c,EAAOsc,UAGLuW,QAAkBhzC,KAAKwzQ,oBAAoB33M,GACjD,GAAI7oB,EAAU6/N,wBACV,OAGJ,MAAMt1K,EAAWq8D,GACNA,EACF/wG,QAAQqiN,IAASlrQ,KAAK41D,GAAGiM,aAAaqpM,EAAIn8P,QAC1C+U,KAAKonP,GAAQ,GAAAvyO,SAAA,OAAgB,GAAiB34B,KAAK41D,GAAIs1M,EAAIn8P,MAAOm8P,EAAIz+P,SAGzEs+P,EAAwB,GACxB3wG,EAA8B64H,EAC7Br5H,GAASq5H,EAAexoP,OAAO8yD,EAAQq8D,IACvCA,GAASmxG,EAAU1vQ,QAAQkiG,EAAQq8D,IAU1C,OARA5mH,EAAUu/N,gBAAgB3H,4BACtB/uM,EACAp/B,EACAtc,EAAOlN,QAAQunJ,mBACfJ,EACAz4I,EAAOX,OAGJ+pP,E,QAEP3/N,EAASgvH,SAAS1xI,OAClB/G,EAAOvG,WAIL,uBACN+E,EACAa,GAEAhhB,KAAKg9Q,4BAEL,MAAMnhN,EAAW77D,KAAK8xR,WAAW7d,sBAAsB9zP,EAAO4c,aAAavC,KAErEwY,QAAkBhzC,KAAKwzQ,oBAAoB33M,GACjD,GAAI7oB,EAAU6/N,wBACV,OAGJ,MAAM5mG,EAA+B,GAErC,OADAj5H,EAAUu/N,gBAAgBnH,sBAAsBvvM,EAAUowG,EAAYjrJ,GAClEhhB,KAAK+yC,OAAO29O,wCACLzkH,EnD5pBZ,SAA8BmB,EAAqBnB,GACtD,MAAMkB,EAAmC,GAEzC,IAAK,MAAMxyF,KAAUsxF,EACjBiB,GAA6BC,EAAaC,EAAazyF,GAG3D,OAAOwyF,EmDwpBIypH,CAAqBz2Q,EAAO4c,aAAavC,IAAKyxI,GAG/C,wBACN9rJ,EACAa,EACAiyQ,GAEA,MAAMhnH,EAAkC,GAElC7R,EAAoC64H,EACnCn8H,GAAYm8H,EAAexoP,OAAOqsH,GAClCA,GAAYmV,EAAW5wK,QAAQy7J,GAEtC,IAAK,MAAM9jH,KAAahzC,KAAK0xR,cAAc/oQ,eACjCqqB,EAAU+/N,cAAc3xP,QACzB4xB,EAAU6/N,yBAA4B7/N,EAAU6jP,wBACjD7jP,EAAUu/N,gBAAgBlH,0BAA0BlrP,EAAOmwC,MAAO8pG,EAAUp5I,GAIpF,OAAOirJ,EAGD,cAAc9rJ,EAAqBa,GACzC,MAAM,SAAE66C,EAAQ,SAAEp/B,GAAaz8B,KAAK8xR,WAAWzO,2BAA2BljQ,EAAO4c,aAAc5c,EAAOsc,UAGhGq6P,SADkB92R,KAAKwzQ,oBAAoB33M,IAClB02M,gBAAgBrqD,oBAC3CrsJ,EACAp/B,EACAz8B,KAAK+yC,OAAOg+O,mBACZ/vQ,GAEJ,OnCtaD,SAA6B3P,EAAoBylR,GACpD,IAAKA,EACD,OAGJ,MAAMC,EAAeD,EAAa57R,MAC7B4oB,KAAK6rD,IACF,GAAIA,EAAKw5I,OAAQ,CACb,GAAI93M,IAAW,GAAAysB,WAAA,SACX,MAAO,cAAgB6xC,EAAKv4C,KAAO,UAChC,GAAI/lB,IAAW,GAAAysB,WAAA,UAClB,OAAO6xC,EAAKv4C,KAAO,OAEnB86B,EAAK,4BAA4B7gD,KAGzC,OAAOs+D,EAAKv4C,QAEf57B,KAAK,IACLkiG,UAEL,MAAO,CACHv6D,SAAU,CACNhW,KAAM9b,EACN/T,MAAOy5R,GAEXtqR,MAAOqqR,EAAarqR,OmC4YbuqR,CAAoBh3R,KAAK+yC,OAAOg+O,mBAAoB+F,GAGrD,0BACN32Q,EACAa,GAEA,MAAM,SAAE66C,EAAQ,SAAEp/B,GAAaz8B,KAAK8xR,WAAWzO,2BAA2BljQ,EAAO4c,aAAc5c,EAAOsc,UAEtG,aADwBz8B,KAAKwzQ,oBAAoB33M,IAChC02M,gBAAgBnpD,qBAAqBvtJ,EAAUp/B,EAAUzb,GAGpE,sBACNb,EACAa,G,YAEA,MAAM,SAAE66C,EAAQ,SAAEp/B,GAAaz8B,KAAK8xR,WAAWzO,2BAA2BljQ,EAAO4c,aAAc5c,EAAOsc,UAEhGuW,QAAkBhzC,KAAKwzQ,oBAAoB33M,GACjD,GAAI7oB,EAAU6/N,wBACV,OAEJ,MAAMokB,EAAuBjkP,EAAUu/N,gBAAgBlpD,4BACnDxtJ,EACAp/B,EACAz8B,KAAK+yC,OAAOm+O,mBACZlwQ,GAEJ,IAAKi2Q,EACD,OAGJ,MAAMlsI,EAAaksI,EAAqBlsI,WAAWjnI,KAAKylM,IACpD,IAAIr2G,EAAoC,GACpCq2G,EAAIlmL,aACJ6vE,EAAYq2G,EAAIlmL,WAAWvf,KAAKV,GAC5B,GAAAqb,qBAAA,OACIz+B,KAAK+yC,OAAO09O,kCACN,CAACrtQ,EAAMkjB,YAAaljB,EAAMmjB,WAC1BnjB,EAAMgU,KACZhU,EAAMggB,kBAKlB,MAAMwmL,EAAU,GAAAlrL,qBAAA,OAA4B6qL,EAAInuL,WAAOt8B,KAAco0G,GAOrE,YAN0Bp0G,IAAtByqN,EAAInmL,gBACJwmL,EAAQxmL,cAAgBmmL,EAAInmL,oBAEJtkC,IAAxByqN,EAAII,kBACJC,EAAQD,gBAAkBJ,EAAII,iBAE3BC,KAKLstE,EAAY3tE,IAA6B,MAC3C,YAAwBzqN,IAAxByqN,EAAII,kBAAmCstE,EAAqBxtE,qBAAoC,QAAd,EAAAF,EAAIlmL,kBAAU,eAAEroC,SAEtG,IAAIm8R,EAAiCpsI,EAAWx7D,UAAU2nM,IACjC,IAArBC,IACAA,EAAkB,MAGtB,IAAIxtE,EAAsC,OAApBwtE,EAA2BpsI,EAAWosI,GAAiBxtE,gBAAmB,KAWhG,IAAkB,QAAd,EAAAxpM,EAAOlN,eAAO,eAAEmkR,cAAej3Q,EAAOlN,QAAQokR,cAAgB,GAAA1mQ,yBAAA,QAAkC,CAChG,MAAM2mQ,EAAyE,QAAnD,EAAkC,QAAlC,EAAAn3Q,EAAOlN,QAAQskR,2BAAmB,eAAEJ,uBAAe,QAAI,KACnF,GAA4B,OAAxBG,GAAgCA,EAAsBvsI,EAAW/vJ,OAAQ,CACzE,MAAMuuN,EAAMx+D,EAAWusI,GACnBJ,EAAS3tE,KACT4tE,EAAkBG,EAClB3tE,EAAqC,QAAnB,EAAAJ,EAAII,uBAAe,QAAI,OA8BrD,OAzBI3pN,KAAK+yC,OAAOy9O,8BAAoD,OAApB2G,KAsB5CxtE,EAAkB7mN,KAAK4C,OAAOqlJ,EAAWjnI,KAAKtV,IAAK,QAAC,OAAoB,QAApB,EAAY,QAAZ,EAAAA,EAAE60B,kBAAU,eAAEroC,cAAM,QAAI,OAGzE,CAAE+vJ,aAAYosI,kBAAiBxtE,mBAGhC,mBACNxpM,EACAa,G,QAUA,MAAMw2Q,EACFx3R,KAAKmwR,mBAAqB,GAAAp/P,sBAAA,kCACZ,QAAd,EAAA5Q,EAAOlN,eAAO,eAAEokR,eAAgB,GAAAtmQ,sBAAA,gCAEpC/wB,KAAKmwR,iBAAiC,QAAd,EAAAhwQ,EAAOlN,eAAO,eAAEokR,YAExC,MAAM,SAAEx7N,EAAQ,SAAEp/B,GAAaz8B,KAAK8xR,WAAWzO,2BAA2BljQ,EAAO4c,aAAc5c,EAAOsc,UAEhGuW,QAAkBhzC,KAAKwzQ,oBAAoB33M,GACjD,GAAI7oB,EAAU6/N,wBACV,OAGJ,MAAMtgH,QAAoBvyJ,KAAKy3R,mCAC3BzkP,EACA6oB,EACAp/B,EACAuW,EAAU6mB,SACV75D,KAAK03R,qBAAqBv3Q,GAC1Ba,GAOJ,OAJIuxI,GAAeA,EAAYi5G,iBAC3Bj5G,EAAYi5G,eAAexoO,aAAew0P,GAGvCjlI,aAAW,EAAXA,EAAai5G,eASd,0BAA0BrrP,EAAwBa,GACxD,MAAM6kI,EAAqB1lI,EAAOjhB,KAClC,GAAI2mJ,GAAsBA,EAAmBhqF,SAAU,CACnD,MAAM7oB,QAAkBhzC,KAAKwzQ,oBAAoB3tH,EAAmB8J,eACpE3vJ,KAAK23R,+BAA+B3kP,EAAW6yG,EAAmBhqF,SAAU17C,EAAQa,GAExF,OAAOb,EAGD,sBACNA,EACAa,GAEA,MAAM,SAAE66C,EAAQ,SAAEp/B,GAAaz8B,KAAK8xR,WAAWzO,2BAA2BljQ,EAAO4c,aAAc5c,EAAOsc,UAEhGuW,QAAkBhzC,KAAKwzQ,oBAAoB33M,GACjD,GAAI7oB,EAAU6/N,wBACV,OAGJ,MAAM5oD,EAAcj3K,EAAUu/N,gBAAgBnG,uBAC1CvwM,EACAp/B,EACAtc,EAAOygJ,QACgB,KAAvB5tH,EAAU6mB,SACV74C,GAGJ,OAAKipM,EMp9BN,SAA+Br0J,EAAgB54B,GAClD,MAAM46P,EAAgC,CAClCp6P,QAAS,IASb,OANAR,EAAM1X,SAASoa,IACX,MAAMlF,EAAM,GAAiBo7B,EAAIl2B,EAAKm8B,UACtC+7N,EAAep6P,QAAShD,GAAOo9P,EAAep6P,QAAShD,IAAQ,GAC/Do9P,EAAep6P,QAAShD,GAAKn/B,KAAK,CAAEoR,MAAOizB,EAAKjzB,MAAO8vB,QAASmD,EAAK+sC,qBAGlEmrN,EN68BIC,CAAsB73R,KAAK41D,GAAIq0J,QAJtC,EAOM,gBACN9pM,EACAa,GAEA,MAAM,SAAE66C,EAAQ,SAAEp/B,GAAaz8B,KAAK8xR,WAAWzO,2BAA2BljQ,EAAO4c,aAAc5c,EAAOsc,UAEhGuW,QAAkBhzC,KAAKwzQ,oBAAoB33M,GACjD,GAAI7oB,EAAU6/N,wBACV,OAAO,KAGX,MAAMilB,EAAW9kP,EAAUu/N,gBAAgBjG,mBAAmBzwM,EAAUp/B,EAAUzb,IAAU,KAC5F,OAAK82Q,EAID93R,KAAK41D,GAAGiM,aAAai2N,EAASt9P,KACvB,MAIXs9P,EAASt9P,IAAM,GAAiBx6B,KAAK41D,GAAIkiO,EAASt9P,KAE3C,CAACs9P,IAVG,KAaL,sBAAsB33Q,EAA0Ca,GACtE,MAAM,SAAE66C,EAAQ,SAAEp/B,GAAaz8B,KAAK8xR,WAAWzO,2BAA2BljQ,EAAO6H,KAAM7H,EAAO6H,KAAKvb,MAAM3Q,OAEnGk3C,QAAkBhzC,KAAKwzQ,oBAAoB33M,GACjD,GAAI7oB,EAAU6/N,wBACV,OAAO,KAGX,IAAIklB,EAAY/kP,EAAUu/N,gBAAgB9F,4BAA4B5wM,EAAUp/B,EAAUzb,IAAU,KACpG,OAAK+2Q,GAAkC,IAArBA,EAAU/8R,QAI5B+8R,EAAYA,EAAUlvO,QAAQ7gC,IAAUhoB,KAAK41D,GAAGiM,aAAa75C,EAAK3qB,KAAKm9B,OAGvEu9P,EAAUzyQ,SAAS0C,IACfA,EAAK3qB,KAAKm9B,IAAM,GAAiBx6B,KAAK41D,GAAI5tC,EAAK3qB,KAAKm9B,QAGjDu9P,GAVI,KAaL,sBACN53Q,EACAa,GAEA,MAAM,SAAE66C,EAAQ,SAAEp/B,GAAaz8B,KAAK8xR,WAAWzO,2BAA2BljQ,EAAO6H,KAAM7H,EAAO6H,KAAKvb,MAAM3Q,OAEnGk3C,QAAkBhzC,KAAKwzQ,oBAAoB33M,GACjD,GAAI7oB,EAAU6/N,wBACV,OAAO,KAGX,IAAIklB,EAAY/kP,EAAUu/N,gBAAgB3F,4BAA4B/wM,EAAUp/B,EAAUzb,IAAU,KACpG,OAAK+2Q,GAAkC,IAArBA,EAAU/8R,QAI5B+8R,EAAYA,EAAUlvO,QAAQ7gC,IAAUhoB,KAAK41D,GAAGiM,aAAa75C,EAAK9X,GAAGsqB,OAGrEu9P,EAAUzyQ,SAAS0C,IACfA,EAAK9X,GAAGsqB,IAAM,GAAiBx6B,KAAK41D,GAAI5tC,EAAK9X,GAAGsqB,QAG7Cu9P,GAVI,KAaL,4BAA4B53Q,GAClC,MAAM07C,EAAW77D,KAAK8xR,WAAW7d,sBAAsB9zP,EAAO4c,aAAavC,KAErEx6B,KAAK41D,GAAyB6M,UAAUtiD,EAAO4c,aAAavC,IAAKqhC,WAK/C77D,KAAKwzQ,oBAAoB33M,IACvC02M,gBAAgBnN,cAAcvpM,EAAU17C,EAAO4c,aAAavf,QAAS2C,EAAO4c,aAAa3F,MAG7F,8BAA8BjX,GACpCngB,KAAKg9Q,4BAEL,MAAMnhN,EAAW77D,KAAK8xR,WAAW7d,sBAAsB9zP,EAAO4c,aAAavC,KACrEx6B,KAAK41D,GAAyB4M,eAAeriD,EAAO4c,aAAavC,IAAKqhC,WAKpD77D,KAAKwzQ,oBAAoB33M,IACvC02M,gBAAgB8C,uBAAuBx5M,EAAU17C,EAAO4c,aAAavf,QAAS2C,EAAOovB,gBAGzF,6BAA6BpvB,GACnC,MAAM07C,EAAW77D,KAAK8xR,WAAW7d,sBAAsB9zP,EAAO4c,aAAavC,KACrEx6B,KAAK41D,GAAyBgN,aAAaziD,EAAO4c,aAAavC,IAAKqhC,WAKlD77D,KAAKwzQ,oBAAoB33M,IACvC02M,gBAAgBhN,cAAc1pM,GAGlC5nB,wBAAwB9zB,GAC9BA,EAAOqd,QAAQlY,SAASoY,IACpB,MAAMm+B,EAAW77D,KAAK8xR,WAAW7d,sBAAsBv2O,EAAOlD,KACxDw9P,EAAkD,IAAhBt6P,EAAO1+B,KAAa,MAAQ,SACpEgB,KAAK4xR,qBAAqB/xN,aAAam4N,EAAWn8N,MAIhD,uBACN17C,EACAa,EACAo5I,GAGIp6J,KAAKi4R,oCACLj4R,KAAKi4R,kCAAkC18Q,SACvCvb,KAAKi4R,uCAAoCn5R,GAG7C,MAAMo5R,EAAiB3rQ,MAAOvL,IAC1B,MAAMhB,QAAehgB,KAAKk4R,eAAe/3Q,EAAQa,GAajD,OAZI,GAAA+Y,cAAA,GAAiB/Z,IAGjBhgB,KAAKoqC,YAAY4I,UAAUV,UAAU,CAAElX,MAAO,YAAYjb,EAAOkc,WAAYqD,KAAM1f,IAGnFgjQ,GAAczuQ,GAAGyL,UAGXhgB,KAAKoqC,YAAY4I,UAAUV,UAAU,CAAElX,MAAOpb,EAAOob,MAAOsE,KAAM1f,EAAOgd,QAG5Ehd,GAGX,IAAIhgB,KAAK20Q,qBAAqBx0P,EAAOkc,SAgBjC,aADqB67P,EAAel3Q,GAfO,CAE3C,MAAMoqB,QAAiBprC,KAAK22R,qBAAqBv8H,EAAUxoC,GAAUzyF,WAAW+8G,mBAAoBl7H,GAE9FW,EAASypB,EAASzpB,OACxB3hB,KAAKi4R,kCAAoCt2Q,EAEzC,IAEI,aADqBu2Q,EAAev2Q,EAAOX,O,QAG3CoqB,EAASgvH,SAAS1xI,OAClB/G,EAAOvG,YAQTu8Q,+BACN3kP,EACA6oB,EACA7zC,EACAhH,GAEAgyB,EAAUu/N,gBAAgB5sH,sBAAsB9pF,EAAU7zC,EAAMhoB,KAAK03R,4BAAwB54R,EAAWkiB,GAGlGy2Q,mCACNzkP,EACA6oB,EACAp/B,EACAkzH,EACAv7I,EACA4M,GAEA,OAAOgyB,EAAUu/N,gBAAgBxuH,0BAC7BloF,EACAp/B,EACAkzH,EACAv7I,OACAtV,EACAkiB,GAIR6zQ,iCACI70R,KAAK0xR,cAAcpsQ,SAAS0tB,IACxBhzC,KAAK+vR,2BAA2B/8O,GAAWhhC,kBAIzC0lR,qBAAqBv3Q,GAC3B,MAAO,CACH9O,OAAQrR,KAAK+yC,OAAOi+O,oBACpBppI,QAAS5nJ,KAAK+yC,OAAOk+O,0BACrBpnI,SAAU7pJ,KAAK+yC,OAAOs+O,iDACtB/jI,YAAY,GAIVsnI,+BACN5hP,EACA6mB,G,UAEA,MAAO,CACH84M,cAA8B,QAAf,EAAA3/N,aAAS,EAATA,EAAW3mC,YAAI,QAAI,GAClCwtD,WACA+4M,QAAuB,QAAd,EAAA5/N,aAAS,EAATA,EAAWxY,WAAG,QAAI,GAC3B+3O,gBAAiBvyQ,KAAK8vR,sBAAqC,QAAf,EAAA98O,aAAS,EAATA,EAAW3mC,YAAI,QAAIwtD,GAC/Dg5M,yBAAyB,EACzBC,wBAAwB,EACxB+jB,wBAAwB,EACxB9jB,cAAetB,MAIbd,mBAAmBnG,GACzB,MAAO,CACH,CACIhwO,IAAK,GAAiBx6B,KAAK41D,GAAI40M,EAAgB3uM,UAC/Cr+C,QAASgtP,EAAgBhtP,QACzBonB,YAAa5kC,KAAKm4R,oBAAoB3tB,EAAgB5lO,eAKxDkuP,2BAA2BzqI,GAWjC,GATAA,EAAQzjH,YAAYtf,SAAS8yQ,IACrBp4R,KAAK41D,GAAGiM,aAAau2N,EAASv8N,YAIlC77D,KAAKq4R,iBAAiBr4R,KAAK2wQ,mBAAmBynB,IAC7Cp4R,KAAK41D,GAAyBiN,eAAeu1N,EAASv8N,SAAUu8N,EAASxzP,YAAY5pC,OAAS,OAG9FgF,KAAKkyR,kBAAkB/O,UAAU96H,GAUtC,GAAIA,EAAQvlE,uBAAyB,EAAG,CACpC9iF,KAAKkyR,kBAAkB5nP,QAEvB,MAAMguP,EACiC,IAAnCjwI,EAAQvlE,uBACF8uC,GAAUzyF,WAAWg9G,oBACrBvqB,GAAUzyF,WAAWi9G,sBAAsB/qI,OAAO,CAC9C2a,MAAOq8H,EAAQvlE,yBAE7B9iF,KAAKkyR,kBAAkBznP,OAAO6tP,QAE9Bt4R,KAAKkyR,kBAAkBn2R,WAhBvBiE,KAAKkyR,kBAAkBn2R,MAoB/B,iCACIi3C,EACA4+N,G,MAEAA,EAAiBA,gBAAyB5xQ,KAAKgzQ,YAAYhgO,GAG1DhzC,KAAKmE,QAAgC2/E,MAA+B,QAAvB,EAAA8tL,EAAeS,gBAAQ,QAAIlvL,GAASpsD,KAElF/2B,KAAKu4R,+BAA+BvlP,EAAW4+N,GAC/C5+N,EAAU6/N,0BAA4BjB,EAAeiB,wBACrD7/N,EAAU8/N,yBAA2BlB,EAAekB,uBAGpD9/N,EAAU+/N,cAActjQ,SAAQ,GAGpC8oR,+BACIvlP,EACA4+N,EACAC,GAEAH,GAAwBuB,eAAejzQ,KAAK65D,SAAU7mB,EAAW4+N,EAAgBC,GAG3E2mB,gBAAgBC,GACtB,IAAKA,EACD,OAAOt1M,GAASpsD,KAGpB,OAAQ0hQ,EAAc34R,eAClB,IAAK,QACD,OAAOqjF,GAASvnF,MAEpB,IAAK,UACD,OAAOunF,GAASM,KAEpB,IAAK,cACD,OAAON,GAASpsD,KAEpB,IAAK,QACD,OAAOosD,GAASnsD,IAEpB,QACI,OAAOmsD,GAASpsD,MAIpBshQ,iBAAiBl4Q,GACrB,IAAK,MAAMiD,KAASjD,EAChBngB,KAAKoqC,YAAY8J,gBAAgB9wB,GAIjC4wQ,yBAAyB0E,GAC7B,MAAMC,EAAyB,CAAC,GAAA76P,WAAA,UAAsB,GAAAA,WAAA,UAEtD,IAAK,MAAMzsB,KAAUqnR,UAA0B,GAC3C,GAAIC,EAAuBzyR,SAASmL,GAChC,OAAOA,EAIf,OAAO,GAAAysB,WAAA,UAGH,2BAA2Bs8H,EAAoCh+H,EAAepb,GAKlF,GAAIo5I,EAASnuJ,cAAgBq3Q,GAAqBr3Q,YAC9C,MAAO,CAAEmuJ,SAAUA,EAAUz4I,OAAQ0iD,GAAYrjD,IAGrD,MAAM43Q,QAAgC54R,KAAKoqC,YAAYe,OAAOE,yBAG9D,OAFAutP,EAAwBtuP,MAAMlO,OAAOt9B,OAAWA,GAAW,GAEpD,CACHs7J,SAAUw+H,EACVj3Q,OAAQ0iD,GAAYrjD,EAAO43Q,EAAwB53Q,QAInDm3Q,oBAAoBU,GACxB,MAAMC,EAA+B,GAkErC,OAhEAD,EAAMvzQ,SAASkqG,IACX,MAAMvzF,EA8CV,SAAmCqiC,GAC/B,OAAQA,GACJ,KAAK,EACD,OAAO,GAAAplC,mBAAA,MAEX,KAAK,EACD,OAAO,GAAAA,mBAAA,QAEX,KAAK,EACD,OAAO,GAAAA,mBAAA,YAEX,KAAK,EACL,KAAK,EACD,OAAO,GAAAA,mBAAA,MA3DE6/P,CAA0BvpK,EAAKlxD,UAC1C+vD,EAAOmB,EAAKjB,UACZyqK,EAAS,GAAA3/P,WAAA,OAAkBm2F,EAAK/iH,MAAO+iH,EAAKjjH,QAAS0vB,EAAUoyF,EAAMruH,KAAKkwR,eAAeuB,aAE/F,GAAsB,IAAlBjiK,EAAKlxD,UAKL,GAJA06N,EAAO90P,KAAO,CAAC,GAAA/K,cAAA,aACf6/P,EAAO/8P,SAAW,GAAA/C,mBAAA,MAGbl5B,KAAK+yC,OAAOq+O,iCACb,YAED,GAAsB,IAAlB5hK,EAAKlxD,WACZ06N,EAAO90P,KAAO,CAAC,GAAA/K,cAAA,YACf6/P,EAAO/8P,SAAW,GAAA/C,mBAAA,MAGbl5B,KAAK+yC,OAAOo+O,iCACb,OAIR,GAAI9iK,EAAM,CACN,MAAM4qK,EAAaj5R,KAAKk5R,qCAAqC7qK,GACzD4qK,IACAD,EAAO78P,gBAAkB,CACrBH,KAAMi9P,IAKlB,MAAME,EAAc3pK,EAAKf,iBACrB0qK,EAAYn+R,OAAS,IACrBg+R,EAAO98P,mBAAqBi9P,EACvBtwO,QAAQ5sC,IAAUjc,KAAK41D,GAAGiM,aAAa5lD,EAAK4/C,YAC5C/3C,KAAK7H,GACF,GAAAgd,6BAAA,OACI,GAAAN,SAAA,OAAgB,GAAiB34B,KAAK41D,GAAI35C,EAAK4/C,UAAW5/C,EAAKxP,OAC/DwP,EAAK1P,YAKrBusR,EAAez9R,KAAK29R,MAoBjBF,EAGD9b,4BAINh9Q,KAAK0xR,cAAcpsQ,SAAS0tB,IACxBA,EAAUu/N,gBAAgByK,+BAIxBkc,qCAAqC7qK,GAG3C,MAAO,uEAQD+qK,oBAAoBv/N,EAAkBv8D,GAE5C,OAAOA,EAAMqI,QADE,gBACc,CAAC8rD,EAAeplD,KACzC,MAAMgtR,EAAchtR,EAAKzG,OACzB,MAAoB,oBAAhByzR,EACOx/N,EAES,aAAhBw/N,QAAmDv6R,IAArB,GAAYw6R,KACnC,GAAYA,KAEH,iBAAhBD,QAA2Dv6R,IAAzB,GAAYy6R,SACvC,GAAYA,SAEH,oBAAhBF,QAAiEv6R,IAA5B,GAAY06R,YAC1C,GAAYA,YAEhB/nO,OKl4CfxlD,YAAYyX,GAER,MAAMlG,EAAU,6BAAsC,GAKhDg0Q,EAAiB,oBAAAh6O,EAAe+5O,iB,IAEhCptR,EAAU,IAAIk/E,GAAoB3/D,EAAWvf,SAC7CwtR,EAAe,IAAIrC,GACnBuC,EAAsBpyN,GAK5BvzD,MACI,CACIulR,YAAa,UACbD,gBACAh0Q,UACAm0Q,eACA3yN,WAVW,IAAI8nN,IAAe,EAAO,CACzCp3Q,IAAKklD,EAAiB,OAUlBi9N,sBACAjX,qBAAsB,IAAIr2M,GAC1ByrN,+BACAiC,qBAAsB,CAAC,GAAAhzP,eAAA,SAAyB,GAAAA,eAAA,wBAEpDvb,EACAvf,GAGJnE,KAAKy5R,YAAc,IAAInlB,GAAkBt0Q,MAG1B+xR,gBAAgBC,EAA6BC,GAC5D/lR,MAAM6lR,gBAAgBC,EAAmBC,GAEzCjyR,KAAKoqC,YAAYnmB,eAAe,sBAAuB9D,IACnD,MAAM07C,EAAW77D,KAAK8xR,WAAW7d,sBAAsB9zP,EAAOqa,KAC7Dx6B,KAAKkwR,eAAelxN,WAA8Br7D,MAAM,CAAE,CAACk4D,GAAW,KACvE77D,KAAK0xR,cAAcpsQ,SAAS0tB,IACxB,MAAMy/N,EAAqBz/N,EAAUu/N,gBAAgBmJ,0BAA0BjJ,mBAC/EA,WAAoB1xO,WAAW5gB,GAC/B6yB,EAAUu/N,gBAAgBkE,qCAGlCz2Q,KAAKoqC,YAAYnmB,eAAe,sBAAuB9D,IACnD,MAAM07C,EAAW77D,KAAK8xR,WAAW7d,sBAAsB9zP,EAAOqa,KAC9Dx6B,KAAKkwR,eAAelxN,WAAW/C,WAAWJ,GAC1C77D,KAAK0xR,cAAcpsQ,SAAS0tB,IACxB,MAAMy/N,EAAqBz/N,EAAUu/N,gBAAgBmJ,0BAA0BjJ,mBAC/EA,WAAoBtxO,WAAWhhB,GAC/B6yB,EAAUu/N,gBAAgBkE,qCAGlCz2Q,KAAKoqC,YAAYvlB,UAAUg7D,IAAqB1/D,I,MAE5C,OADgBngB,KAAK0xR,cAAcle,oBAAoBxzQ,KAAMmgB,EAAOpR,MACrDwjQ,gBAAgBzF,WAC3B3sP,EAAOo3G,QACmB,QAA1B,EAAAp3G,EAAO4sP,2BAAmB,QAAI,CAAC,GAAAjvO,WAAA,eAKxB,iBACf3d,EACA6xQ,EACAC,GAEA,MAAM,MAAE54N,GAAUl5C,EAAOgzQ,sBAKzB,MAJqB,iBAAV95N,IACPr5D,KAAK05R,cAAgBrgO,EACpBr5D,KAAKkwR,eAAelxN,WAA8Br7D,MAAM01D,IAEtDntD,MAAM07B,WAAWznB,EAAQ6xQ,EAAmBC,GAGvD,kBAAkBj/O,GACd,MAAM4+N,EAAiC,CACnCM,uBAAuB,EACvBC,wBAAwB,EACxBC,uBAAuB,EACvBH,eAAe,EACf/pG,wBAAwB,EACxB2qG,yBAAyB,EACzBC,wBAAwB,EACxBrsG,iBAAkB,QAClByC,4BAA6B,GAC7BmpG,SAAUlvL,GAASpsD,KACnBs2H,uBAAuB,GAG3B,IACI,MAAMssI,QAAsB35R,KAAKipC,iBAAiB+J,EAAU4/N,QAAS,UACrE,GAAI+mB,EAAe,CACf,MAAMpnN,EAAaonN,EAAcpnN,WAC7BA,GAActkB,EAASskB,KAAgBC,GAAeD,KACtDq/L,EAAer/L,WAAajc,GACxBtjB,EAAU6mB,SACV75D,KAAKo5R,oBAAoBpmP,EAAU6mB,SAAU0Y,KAIrD,MAAMb,EAAWioN,EAAcjoN,SAE3BA,GAAYzjB,EAASyjB,KACrBkgM,EAAelgM,SAAWpb,GACtBtjB,EAAU6mB,SACV75D,KAAKo5R,oBAAoBpmP,EAAU6mB,SAAU6X,KAKzD,MAAMkoN,QAA8B55R,KAAKipC,iBAAiB+J,EAAU4/N,QAAS,mBAC7E,GAAIgnB,EAAuB,CACvB,MAAM/9M,EAAgB+9M,EAAsB/9M,cAC5C,GAAIA,GAAiBngF,MAAMuD,QAAQ48E,IAAkBA,EAAc7gF,OAAS,EAAG,CAC3E,MAAM+gF,EAAeF,EAAc,GAC/BE,GAAgB9tB,EAAS8tB,KACzB61L,EAAe71L,aAAezlB,GAC1BtjB,EAAU6mB,SACV75D,KAAKo5R,oBAAoBpmP,EAAU6mB,SAAUkiB,KAKzD,MAAM9F,EAAW2jN,EAAsB3jN,SACnCA,GAAYhoB,EAASgoB,KACrB27L,EAAe37L,SAAW3f,GACtBtjB,EAAU6mB,SACV75D,KAAKo5R,oBAAoBpmP,EAAU6mB,SAAUoc,KAIrD,MAAMizF,EAA8B0wH,EAAsB1wH,4BAC1D,GAAIA,EACA,IAAK,MAAO78J,EAAM/O,KAAUR,OAAO8rB,QAAQsgJ,GAA8B,CACrE,MAAMb,EAAWroK,KAAK0yR,sBAAsBrmR,GACtC4vB,EAAWj8B,KAAKwyR,qBAAqBl1R,GACvC+qK,GAAYpsI,IACZ21O,EAAe1oG,4BAA6Bb,GAAYpsI,QAKvBn9B,IAAzC86R,EAAsBrH,eACtB3gB,EAAeK,cAAgBjyQ,KAAKsyR,gBAAgBsH,EAAsBrH,qBAC3BzzR,IAAxC86R,EAAsB3nB,gBAC7BL,EAAeK,gBAAkB2nB,EAAsB3nB,oBAGNnzQ,IAAjD86R,EAAsB1xH,yBACtB0pG,EAAe1pG,yBAA2B0xH,EAAsB1xH,wBAGpE0pG,EAAeS,SAAWryQ,KAAKw4R,gBAAgBoB,EAAsBvnB,UACrET,EAAe3oG,kBAAoB2wH,EAAsB3wH,gBAEzD,MAAMjzF,EAAa4jN,EAAsB5jN,WACrCA,GAAct6E,MAAMuD,QAAQ+2E,IAAeA,EAAWh7E,OAAS,IAC/D42Q,EAAe57L,WAAaA,EACvBntB,QAAQr2C,GAAMA,GAAKy7C,EAASz7C,KAC5BsR,KAAKtR,GAAM8jD,GAAatjB,EAAU6mB,SAAU75D,KAAKo5R,oBAAoBpmP,EAAU6mB,SAAUrnD,YAGnD1T,IAA3C86R,EAAsBnzH,mBACtBmrG,EAAenrG,iBAAmBmzH,EAAsBnzH,uBAGR3nK,IAAhD86R,EAAsBvsI,wBACtBukH,EAAevkH,sBAAwBusI,EAAsBvsI,uBAI7DukH,EAAeS,WAAalvL,GAASnsD,UACWl4B,IAAhD86R,EAAsB7yH,wBAEtB6qG,EAAe7qG,sBAAwB6yH,EAAsB7yH,4BAGPjoK,IAAtD86R,EAAsB5yH,8BACtB4qG,EAAe5qG,4BAA8B4yH,EAAsB5yH,kCAGvE4qG,EAAe3oG,iBAAkB,EAGrC,MAAM4wH,QAAuB75R,KAAKipC,iBAAiB+J,EAAU4/N,QAAS,WACtE,GAAIinB,EAAgB,MACqB/6R,IAAjC+6R,EAAe5nB,gBACfL,EAAeK,gBAAkB4nB,EAAe5nB,oBAGNnzQ,IAA1C+6R,EAAe3xH,yBACf0pG,EAAe1pG,yBAA2B2xH,EAAe3xH,wBAG7D0pG,EAAeiB,0BAA4BgnB,EAAehnB,wBAC1DjB,EAAekB,yBAA2B+mB,EAAe/mB,uBAEzD,MAAMrsG,EAAmBozH,EAAepzH,iBACpCA,GAAoBx4G,EAASw4G,KAC7BmrG,EAAenrG,iBAAmBA,IAG5C,MAAOriK,GACLpE,KAAKmE,QAAQC,MAAM,2BAA2BA,KAElD,OAAOwtQ,EAGX6B,2BAEI,MAAMzzP,EAAS,IAAI85Q,GAA0B95R,KAAKmE,QAASnE,KAAKsxR,wBAIhE,OAHItxR,KAAK05R,eACL15Q,EAAOo1P,qBAAqBp1Q,KAAK05R,eAE9B15Q,EAGQ6yQ,aACf,OAAO,IAAIje,GAGIwG,qBAAqBxlN,EAAgBxhD,EAAwBk9D,GAC5E,OAAO,IAAI8B,GAAexd,EAAIxhD,EAASk9D,GAGjC4mN,eAAe/3Q,EAA8Ba,GACnD,OAAOhhB,KAAKy5R,YAAY/kB,QAAQv0P,EAAQa,GAGlC2zP,qBAAqBt4O,GAC3B,OAAOr8B,KAAKy5R,YAAY9kB,qBAAqBt4O,GAGvC,wBACNlc,EACAa,GAEAhhB,KAAKg9Q,4BAEL,MAAMnhN,EAAW77D,KAAK8xR,WAAW7d,sBAAsB9zP,EAAO4c,aAAavC,KACrEwY,QAAkBhzC,KAAKwzQ,oBAAoB33M,GACjD,OExRD,MACH,uCACI7oB,EACA6oB,EACApvD,EACAuU,GAEA,GAA6BA,GAE7B,MAAM+4Q,EAA4B,GAElC,IAAK/mP,EAAU6/N,wBAAyB,CACpC,MAAMgmB,QAAc7lP,EAAUu/N,gBAAgB9H,uBAAuB5uM,EAAUpvD,EAAOuU,GAChFg5Q,EAAenB,EAAMttN,MAAMh9D,IAC7B,MAAMiiC,EAAUjiC,EAAE4/G,aAClB,OAAO39E,GAAWA,EAAQ+6B,MAAM1mE,GAAmB,2BAAbA,EAAEopH,YAG5C,GAAI+rK,EAAc,CACd,MAAM/rK,EAAS+rK,EACV7rK,aACA5iD,MAAM1mE,GAAmB,2BAAbA,EAAEopH,SACnB,GAAIA,EAAQ,CACR,MAAMinE,EAAuB,GAAA/1J,WAAA,OACzByyF,GAAUzyF,WAAW88G,oBAAoB5qI,OAAO,CAAE25D,WAAYijD,EAAOjjD,aACrE,GAAA1xC,QAAA,OACIs4F,GAAUzyF,WAAW68G,iBAAgB,yBAErChpG,EAAU6mB,SACVo0D,EAAOjjD,WACPnP,GAEJ,GAAA58B,eAAA,UAEJ86P,EAAY1+R,KAAK65L,IAIzB,MAAM+kG,EAAkBpB,EAAMttN,MAAMh9D,IAChC,MAAMiiC,EAAUjiC,EAAE4/G,aAClB,OAAO39E,GAAWA,EAAQ+6B,MAAM1mE,GAAmB,gCAAbA,EAAEopH,YAG5C,GAAIgsK,EAAiB,CACjB,MAAMhsK,EAASgsK,EACV9rK,aACA5iD,MAAM1mE,GAAmB,gCAAbA,EAAEopH,SACnB,GAAIA,EAAQ,CACR,MAAMr4D,EAAK5iB,EAAUu/N,gBAAgBwK,oBAAoB/9M,WACnDk7N,EAA2B,GAAA/6P,WAAA,OAC7ByyF,GAAUzyF,WAAW48G,0BACrB,GAAAziH,QAAA,OACIs4F,GAAUzyF,WAAW48G,0BAAyB,8BAE9C,GAAiBnmF,EAAIiG,GACrBoyD,EAAO41H,kBAEX,GAAA5kN,eAAA,UAEJ86P,EAAY1+R,KAAK6+R,KAK7B,OAAOH,IFwNmBI,0BAA0BnnP,EAAW6oB,EAAU17C,EAAO1T,MAAOuU,GAGjFmxQ,yBAIN,IAAIx7P,EACJ,MAAO,CACHwsP,UAAYjkR,IAA0B,EACtCorC,MAAO,KACCtqC,KAAK+yC,OAAO49O,6BACZh6P,EAAmB32B,KAAKoqC,YAAYe,OAAOE,yBAC3C1U,EACKhhB,MAAMy1B,IACHA,EAASd,MAAM,OAElBt4B,gBAELhS,KAAKoqC,YAAYvtB,iBAAiB,0BAG1C4tB,OAASl+B,IACDoqB,EACAA,EACKhhB,MAAMy1B,IACHA,EAASX,OAAOl+B,MAEnByF,eAELhS,KAAKoqC,YAAYvtB,iBAAiB,yBAA0BtQ,IAGpExQ,IAAK,KACG46B,GACAA,EACKhhB,MAAMy1B,IACHA,EAAS1iB,UAEZ1W,eACL2kB,OAAmB73B,GAEnBkB,KAAKoqC,YAAYvtB,iBAAiB,0BAO/C,MAAMi9Q,WtB/SN,MAIH,YAAgC31R,GAAA,KAAAA,UAFxB,KAAAoxQ,sBAAkDtzL,GAMhDm4M,MAAMC,GACZr6R,KAAKs6R,QAAUD,EAGfA,EAAOvwP,GAAG,WAAY98B,GAA0BhN,KAAKu6R,UAAUvtR,KAI/DqtR,EAAOvwP,GAAG,SAAU98B,IAChBhN,KAAK4O,IAAIu0E,GAASvnF,MAAO,wCAAwCoT,KAAKC,UAAUjC,SAI9EutR,UAAUvtR,GAChB,OAAQA,EAAIwtR,aACR,IAAK,MAAO,CACR,MAAMC,EAAUztR,EAAI9N,KACpBc,KAAK4O,IAAI6rR,EAAQ32M,MAAO22M,EAAQluR,SAChC,MAGJ,IAAK,iBAGDvM,KAAKu1Q,sBAAsB7E,GAAuB1jQ,EAAI9N,OACtD,MAGJ,QACI,EAAW,GAAG8N,EAAIwtR,gCAI9BllB,sBAAsB3hQ,GAClB3T,KAAKu1Q,sBAAwB5hQ,UAAYsuE,GAI7CmzL,qBAAqBj1P,GACjBngB,KAAK06R,eAAe,CAAEF,YAAa,uBAAwBt7R,KAAMihB,IAIrE4gB,WAAW5gB,GACPngB,KAAK06R,eAAe,CAAEF,YAAa,aAAct7R,KAAMihB,IAI3DghB,WAAWhhB,GACPngB,KAAK06R,eAAe,CAAEF,YAAa,aAAct7R,KAAMihB,IAG3D6jP,kBAAkB5nG,GACdp8J,KAAK06R,eAAe,CAAEF,YAAa,oBAAqBt7R,KAAMk9J,EAAe9qF,KAAKnkD,OAGtF42O,iBAAiB1yL,GACbrxE,KAAK06R,eAAe,CAAEF,YAAa,mBAAoBt7R,KAAMmyE,IAGjE4yL,gBAAgBC,GACZlkQ,KAAK06R,eAAe,CAAEF,YAAa,kBAAmBt7R,KAAMglQ,IAGhES,4BAA4Bl2L,GACxBzuE,KAAK06R,eAAe,CAAEF,YAAa,8BAA+Bt7R,KAAMuvE,IAG5EuG,0BAA0B4K,GACtB5/E,KAAK06R,eAAe,CAAEF,YAAa,4BAA6Bt7R,KAAM,CAAE0gF,mBAG5EwlL,cACIvpM,EACAr+C,EACA2lB,EACA/uB,GAEApU,KAAK06R,eAAe,CAChBF,YAAa,gBACbt7R,KAAM,CAAE28D,WAAUr+C,UAAS2lB,WAAU/uB,aAI7CmxP,cAAc1pM,GACV77D,KAAK06R,eAAe,CAAEF,YAAa,gBAAiBt7R,KAAM28D,IAG9D4pM,kBAAkBC,EAAgClgD,GAC9CxlN,KAAK06R,eAAe,CAAEF,YAAa,oBAAqBt7R,KAAM,CAAEwmQ,wBAAuBlgD,oBAG3FogD,eAAe1B,EAAqBwB,EAAgClgD,GAChExlN,KAAK06R,eAAe,CAChBF,YAAa,iBACbt7R,KAAM,CAAEglQ,YAAWwB,wBAAuBlgD,oBAIlDgwD,cAAcK,EAA8B70P,GACxChhB,KAAK26R,uBAAuB,UAAW9kB,EAAS70P,GAG5C25Q,uBACJH,EACA3kB,EACA70P,GAEA,MAAM,MAAE45Q,EAAK,MAAEC,GAAU76M,KAGzB46M,EAAM9wP,GAAG,WAAY98B,IACjB,OAAQA,EAAIwtR,aACR,IAAK,iBACDx6R,KAAKu1Q,sBAAsB7E,GAAuB1jQ,EAAI9N,OACtD,MAGJ,IAAK,iBACD27R,EAAMxkR,QACNukR,EAAMvkR,QAINrW,KAAK26R,uBAAuB,iBAAkB9kB,EAAS70P,GACvD,MAGJ,IAAK,cAAe,CAChB,MAAM,KAAEjS,EAAI,aAAEmlJ,GAAiBlnJ,EAAI9N,KACnC22Q,WAASE,kBAAkBhnQ,EAAMmlJ,GACjC,MAGJ,IAAK,gBDkDd,SAAkClzI,GACjCA,aAAiBivP,IACjBjvP,EAAM5F,UCnDM0/Q,CAAyB95Q,GACzB65Q,EAAMxkR,QACNukR,EAAMvkR,QACN,MAGJ,QACI,EAAW,GAAGrJ,EAAIwtR,mCAG9BI,EAAM9+R,QACN++R,EAAM/+R,QAEN,MAAM00Q,EAAiBC,GAAuBzvP,GAC9ChhB,KAAK06R,eAAe,CAAEF,cAAat7R,KAAMsxQ,EAAgBZ,KAAMirB,IAGnE1kB,cACIC,EACA/kM,EACA+qF,EACAjvI,EACA0oP,IAKJQ,gBAAgBhlM,EAA8B+qF,EAAgCjvI,EAAgB0oP,IAI9FS,eAAejlM,IAIf,6BAA6BxV,EAAkBpvD,EAAcuU,GACzD,GAA6BA,GAE7B,MAAM,MAAE45Q,EAAK,MAAEC,GAAU76M,KACzB46M,EAAM9+R,QACN++R,EAAM/+R,QACN,MAAMi/R,EAASlrB,GAAkC+qB,GAE3CpqB,EAAiBC,GAAuBzvP,GAC9ChhB,KAAK06R,eAAe,CAChBF,YAAa,yBACbt7R,KAAM,CAAE28D,WAAUpvD,QAAO+jQ,kBACzBZ,KAAMirB,IAGV,MAAM76Q,QAAe+6Q,EAKrB,OAHAF,EAAMxkR,QACNukR,EAAMvkR,QAECs6P,GAAmB3wP,GAG9B,oBACIunP,EACAC,EACAvxL,EACAj1D,GAEA,GAA6BA,GAE7B,MAAM,MAAE45Q,EAAK,MAAEC,GAAU76M,KACnB+6M,EAASlrB,GAAoB+qB,GAE7BpqB,EAAiBC,GAAuBzvP,GAC9ChhB,KAAK06R,eAAe,CAChBF,YAAa,gBACbt7R,KAAM,CAAEqoQ,mBAAkBC,qBAAoBvxL,WAAUu6L,kBACxDZ,KAAMirB,UAGJE,EAENF,EAAMxkR,QACNukR,EAAMvkR,QAGVogQ,6BAA6BC,GACzB12Q,KAAK06R,eAAe,CAAEF,YAAa,+BAAgCt7R,KAAMw3Q,IAG7ErC,UACIr0Q,KAAK06R,eAAe,CAAEF,YAAa,UAAWt7R,KAAM,OAG9Cw7R,eAAeM,GACjBh7R,KAAKs6R,SACLt6R,KAAKs6R,QAAQxmR,YAAYknR,EAASA,EAAQprB,KAAO,CAACorB,EAAQprB,WAAQ9wQ,GAIhE8P,IAAIk1E,EAAiB92E,GAC3B4B,GAAI5O,KAAKmE,QAAS2/E,EAAO92E,KsBgE7Bf,YAAY9H,EAA2BmtR,GACnCplR,MAAM/H,GAEN,MAMMk2R,GhGnTeY,EgG6SmB,CACpCzJ,cAAgB,oBAAAh6O,EAAe+5O,gBAC/BptN,4BAAwBrlE,EACxBo8R,YAAQp8R,EACRwyR,0BhGhTDhgN,KAAO6pN,aAAaF,IADxB,IAAsBA,EgGoTrBj7R,KAAKo6R,MAAMC,IAIZ,MAAMe,WtB1EN,cF5QA,MAMHnvR,YAAsBg0E,EAAgC/gF,GnFHnD,IAAmCm8R,EmFGhB,KAAAp7M,anFHgBo7M,EmFIRn8R,EAAKilE,uBnFHnCA,GAAyBk3N,EmFMpB,oBAAA7jP,EAAe+5O,gBAAkBryR,EAAKsyR,cAEvCxxR,KAAKs7R,QAAUt7R,KAAKu7R,uBACpBv7R,KAAK41D,GAAK,IAAIwK,GAAkBpgE,KAAKs7R,SAM/B1sR,IAAIk1E,EAAiB92E,G,MACZ,QAAf,EAAAhN,KAAKigF,kBAAU,SAAEnsE,YAAY,CAAE0mR,YAAa,MAAOt7R,KAAM,CAAE4kF,MAAOA,EAAOv3E,QAASS,KAG5EwuR,aACN,MAAO,CACH5sR,IAAM5B,IACFhN,KAAK4O,IAAIu0E,GAASnsD,IAAKhqB,IAE3BiP,KAAOjP,IACHhN,KAAK4O,IAAIu0E,GAASpsD,KAAM/pB,IAE5BgP,KAAOhP,IACHhN,KAAK4O,IAAIu0E,GAASM,KAAMz2E,IAE5B5I,MAAQ4I,IACJhN,KAAK4O,IAAIu0E,GAASvnF,MAAOoR,IAI7B82E,MAAOX,GAASnsD,OEiPxB,YACIipD,EACAw7M,EACQr4B,GAERl3P,MAAM+zE,EAAYw7M,GAFV,KAAAr4B,aAKR,MAAMlkQ,EAAOu8R,EACbz7R,KAAK4O,IAAIu0E,GAASpsD,KAAM,uBAAuBmpD,yBAA+BhhF,EAAKsyR,iBAEnFxxR,KAAKqzE,eAAiB,IAAIkzF,GAAcrnK,EAAKsyR,eAC7CxxR,KAAK8/E,MAAQ9/E,KAAK6yR,aAClB7yR,KAAKupH,gBAAkBvpH,KAAKo7Q,qBAAqBp7Q,KAAK41D,GAAI51D,KAAKqzE,eAAgBrzE,KAAK8/E,OAEpF,MAAM37E,EAAUnE,KAAKw7R,aACrBx7R,KAAKgkN,YAAc,IAAI9/H,GAAW//E,EAAS,MAAM+7E,SAEjDlgF,KAAKi1Q,SAAW,IAAIhS,GAChBjjQ,KAAKupH,gBACLvpH,KAAKqzE,eACLlvE,EACAnE,KAAKojQ,WACLpjQ,KAAKgkN,aA3Bb,cACI,OAAOhkN,KAAKi1Q,SA8BhBn5Q,Q,YACIkE,KAAK4O,IAAIu0E,GAASpsD,KAAM,uBAAuBmpD,iBAGhC,QAAf,EAAAlgF,KAAKigF,kBAAU,SAAEn2C,GAAG,WAAY98B,GAAyBhN,KAAKu6R,UAAUvtR,KAEzD,QAAf,EAAAhN,KAAKigF,kBAAU,SAAEn2C,GAAG,SAAU98B,GAAQ,EAAW,UAAUA,OAC5C,QAAf,EAAAhN,KAAKigF,kBAAU,SAAEn2C,GAAG,QAASpnC,IACf,IAANA,GACA,EAAW,iCAAiCA,QAIrC,QAAf,EAAA1C,KAAKigF,kBAAU,SAAEnkF,QAGXy+R,UAAUvtR,GAGhB,OAFAhN,KAAK4O,IAAIu0E,GAASnsD,IAAK,gCAAgChqB,EAAIwtR,eAEnDxtR,EAAIwtR,aAER,IAAK,uBACAx6R,KAAKs7R,QAA2B33R,MAAMqJ,EAAI9N,MAC3C,MAGJ,IAAK,aAAc,CACf,MAAM28D,EAAWR,GAAiBr7D,KAAK41D,GAAI5oD,EAAI9N,KAAKs7B,KACnDx6B,KAAKs7R,QAA2B33R,MAAM,CAAE,CAACk4D,GAAW,KACrD,MAGJ,IAAK,aAAc,CACf,MAAMA,EAAWR,GAAiBr7D,KAAK41D,GAAI5oD,EAAI9N,KAAKs7B,KACpDx6B,KAAK41D,GAAGqG,WAAWJ,GACnB,MAGJ,IAAK,UAAW,CACZ,MAAM+zM,EAAO5iQ,EAAI4iQ,KACX5uP,EAAQuvP,GAA2BvjQ,EAAI9N,MAGvCqjF,EAAqBviF,KAAKmiF,QAAQK,yBAExCxiF,KAAKu1Q,sBAAsB3F,EAAM,CAC7BhrO,YAAa,GACbg+C,eAAgB5iF,KAAKmiF,QAAQU,eAC7BC,uBAAwBP,EACxBQ,sBAAuB/iF,KAAKmiF,QAAQa,0BACpCC,oBAAoB,EACpBC,0BAA0B,EAC1BP,YAAa,IAGjB3iF,KAAK07R,iBAAiB9rB,EAAM5uP,EAAOhU,GACnC,MAGJ,IAAK,iBAAkB,CACnB,MAAM4iQ,EAAO5iQ,EAAI4iQ,KACX5uP,EAAQuvP,GAA2BvjQ,EAAI9N,MAE7Cc,KAAK07R,iBAAiB9rB,EAAM5uP,EAAOhU,GACnC,MAGJ,IAAK,yBACDk7P,IAAI,KACA,MAAM,SAAErsM,EAAQ,MAAEpvD,EAAK,eAAE+jQ,GAAmBxjQ,EAAI9N,KAIhD,OAFA,GADcqxQ,GAA2BC,IAGlCxwQ,KAAKmiF,QAAQsoL,uBAAuB5uM,EAAUpvD,KACtDO,EAAI4iQ,MACP,MAGJ,IAAK,gBACD1H,IAAI,KACA,MAAM,iBAAEX,EAAgB,mBAAEC,EAAkB,SAAEvxL,EAAQ,eAAEu6L,GAAmBxjQ,EAAI9N,KACzE8hB,EAAQuvP,GAA2BC,GAEzCtuL,GACIliF,KAAKmiF,aACLrjF,EACAkB,KAAKqzE,eACL4O,GACAjiF,KAAKw7R,aACLx6Q,GAEJhhB,KAAKmiF,QAAQmlL,cAAcC,EAAkBC,EAAoBvxL,EAAUj1D,KAC5EhU,EAAI4iQ,MACP,MAGJ,IAAK,oBACD5vQ,KAAKupH,gBAAkBvpH,KAAKo7Q,qBAAqBp7Q,KAAK41D,GAAI51D,KAAKqzE,eAAgBrzE,KAAK6yR,cAEpF7yR,KAAKmiF,QAAQ6hL,kBAAkBhkQ,KAAKupH,iBACpC,MAGJ,IAAK,mBACDvpH,KAAKqzE,eF/Wd,SAAiCsoN,GACpC,MAAMtqN,EAAgB,IAAIk1F,GAAco1H,EAAWn1H,aAC7C5sG,EAAeE,IACV,CAAE5D,aAAc4D,EAAS5D,aAAcC,OAAQ,IAAImE,OAAOR,EAAS3D,OAAOx0C,UA4BrF,OAzBA0vD,EAAckB,WAAaopN,EAAWppN,WACtClB,EAAc0K,aAAe4/M,EAAW5/M,aACxC1K,EAAc4E,SAAW0lN,EAAW1lN,SACpC5E,EAAc6sM,gBAAkByd,EAAWzd,gBAC3C7sM,EAAcu3F,cAAgB+yH,EAAW/yH,cACzCv3F,EAAc40L,mBAAqB01B,EAAW11B,mBAC9C50L,EAAc62F,uBAAyByzH,EAAWzzH,uBAClD72F,EAAco5I,iBAAmBkxE,EAAWlxE,iBAC5Cp5I,EAAc81I,oBAAsBw0E,EAAWx0E,oBAC/C91I,EAAcK,SAAWiqN,EAAWjqN,SACpCL,EAAcM,KAAOgqN,EAAWhqN,KAChCN,EAAc6wF,qBAAuBy5H,EAAWz5H,qBAChD7wF,EAAc8wF,sBAAwBw5H,EAAWx5H,sBACjD9wF,EAAc+wF,kBAAoBu5H,EAAWv5H,kBAC7C/wF,EAAcmjD,kBAAoBmnK,EAAWnnK,kBAC7CnjD,EAAc81F,sBAAwBw0H,EAAWx0H,sBACjD91F,EAAcg8E,sBAAwBsuI,EAAWtuI,sBACjDh8E,EAAcy1F,SAAW60H,EAAW70H,SACpCz1F,EAAc01F,sBAAwB40H,EAAW50H,sBACjD11F,EAAc21F,4BAA8B20H,EAAW30H,4BACvD31F,EAAcq1F,QAAUi1H,EAAWj1H,QAAQ5iJ,KAAKwzB,GAAWsiB,EAAYtiB,KACvE+5B,EAAcs1F,QAAUg1H,EAAWh1H,QAAQ7iJ,KAAKwzB,GAAWsiB,EAAYtiB,KACvE+5B,EAAcu1F,OAAS+0H,EAAW/0H,OAAO9iJ,KAAKwzB,GAAWsiB,EAAYtiB,KACrE+5B,EAAcw1F,OAAS80H,EAAW90H,OAAO/iJ,KAAKwzB,GAAWsiB,EAAYtiB,KAE9D+5B,EEgV2BuqN,CAAwB5uR,EAAI9N,MAElDc,KAAKupH,gBAAkBvpH,KAAKo7Q,qBAAqBp7Q,KAAK41D,GAAI51D,KAAKqzE,eAAgBrzE,KAAK8/E,OACpF9/E,KAAKmiF,QAAQ4hL,iBAAiB/jQ,KAAKqzE,gBACnCrzE,KAAKmiF,QAAQ6hL,kBAAkBhkQ,KAAKupH,iBACpC,MAGJ,IAAK,kBAAmB,CACpB,MAAM3kF,EAAc5kC,KAAKmiF,QAAQ8hL,gBAAgBj3P,EAAI9N,MACrDc,KAAK67R,mBAAmBj3P,EAAa5kC,KAAKmiF,QAAQK,yBAA0B,GAC5E,MAGJ,IAAK,8BACDxiF,KAAKmiF,QAAQwiL,4BAA4B33P,EAAI9N,MAC7C,MAGJ,IAAK,4BAA6B,CAC9B,MAAM,cAAE0gF,GAAkB5yE,EAAI9N,KACxB6jE,EAAU/iE,KAAKqzE,eAAeu0F,2BAA2Br8F,MAAMtnE,GAAMA,EAAEuN,OAASouE,IAClF7c,GACA/iE,KAAKupH,gBAAgBv0C,0BAA0BjS,GAEnD,MAGJ,IAAK,gBAAiB,CAClB,MAAM,SAAElH,EAAQ,QAAEr+C,EAAO,SAAE2lB,EAAQ,QAAE/uB,GAAYpH,EAAI9N,KACrDc,KAAKmiF,QAAQijL,cAAcvpM,EAAUr+C,EAAS2lB,EAAU/uB,GACxD,MAGJ,IAAK,gBAAiB,CAClB,MAAMwwB,EAAc5kC,KAAKmiF,QAAQojL,cAAcv4P,EAAI9N,MACnDc,KAAK67R,mBAAmBj3P,EAAa5kC,KAAKmiF,QAAQK,yBAA0B,GAC5E,MAGJ,IAAK,oBAAqB,CACtB,MAAM,sBAAEkjL,EAAqB,eAAElgD,GAAmBx4M,EAAI9N,KACtDc,KAAKmiF,QAAQsjL,kBAAkBC,EAAuBlgD,GACtD,MAGJ,IAAK,iBAAkB,CACnB,MAAM,UAAE0+C,EAAS,sBAAEwB,EAAqB,eAAElgD,GAAmBx4M,EAAI9N,KACjEc,KAAKmiF,QAAQyjL,eAAe1B,EAAWwB,EAAuBlgD,GAC9D,MAGJ,IAAK,+BAGDxlN,KAAKupH,gBAAgB71C,kBAGrB1zE,KAAKmiF,QAAQsjL,mBAA8C,EAA2Bz4P,EAAI9N,MAC1F,MAGJ,IAAK,UAEDc,KAAKupH,gBAAkBvpH,KAAKo7Q,qBAAqBp7Q,KAAK41D,GAAI51D,KAAKqzE,eAAgBrzE,KAAK8/E,OACpF9/E,KAAKmiF,QAAQ6hL,kBAAkBhkQ,KAAKupH,iBACpC,MAGJ,QACI,EAAW,GAAGv8G,EAAIwtR,gCAKtBkB,iBAAiB9rB,EAAmB5uP,EAA0BhU,GAG5Ck1E,GAClBliF,KAAKmiF,QAFO,CAAEokL,kBAAmB,GAAIE,oBAAqB,KAI1DzmQ,KAAKqzE,gBACJrzD,GAAWhgB,KAAKu1Q,sBAAsB3F,EAAM5vP,IAC7ChgB,KAAKw7R,aACLx6Q,GAOAhhB,KAAK87R,gBAAgBlsB,EAAM5iQ,EAAI9N,OAE/Bc,KAAK+7R,gBAAgBnsB,EAAM5uP,GAC3BhhB,KAAKg8R,aAAapsB,EAAM5iQ,EAAI9N,OAQ1B68R,gBAAgBnsB,EAAmB5uP,IAInCi7Q,YAAYrsB,EAAmB5vP,GACrC4vP,EAAK97P,YAAY,CAAE0mR,YAAa,cAAet7R,KAAM8gB,IAGjD67Q,mBAAmBj3P,EAAgC29C,EAA4BI,GAC/E3iF,KAAKigF,YACLjgF,KAAKu1Q,sBAAsBv1Q,KAAKigF,WAAY,CACxCr7C,cACAg+C,eAAgB5iF,KAAKmiF,QAAQU,eAC7BC,uBAAwBP,EACxBQ,sBAAuB/iF,KAAKmiF,QAAQa,0BACpCC,oBAAoB,EACpBC,0BAA0B,EAC1BP,gBAKJ4yL,sBAAsB3F,EAAmB5vP,GAC7C4vP,EAAK97P,YAAY,CAAE0mR,YAAa,iBAAkBt7R,KAAM8gB,IAGpD87Q,gBAAgBlsB,EAAmBY,GACvCZ,EAAK97P,YAAY,CAAE0mR,YAAa,iBAAkBt7R,KAAMsxQ,IAGlDwrB,aAAapsB,EAAmBY,GACtCZ,EAAK97P,YAAY,CAAE0mR,YAAa,eAAgBt7R,KAAMsxQ,MsBzM1DvkQ,YAAYgvR,GACR/uR,MAAM+zE,KAAcg7M,GAExBM,uBACI,OAAO,IAAIzU,IAAe,EAAO,CAC7Bp3Q,IAAKklD,EAAiB,OAGXi+N,aACf,OAAO,IAAIje,GAELwG,qBAAqBxlN,EAAgBxhD,EAAwBk9D,GAEnE,OAAO,IAAI8B,GAAexd,EAAIxhD,EAASk9D,IG/WxC,MAAM4qN,GAGTjwR,YAAYg0E,GACRjgF,KAAKm8R,YAAcl8M,EAGvBC,WACI,OAAOzyB,KAAKphD,KAGhB4zE,aACI,OAAOjgF,KAAKm8R,YAAc,IAAIC,GAAmBp8R,KAAKm8R,aAAe,KAGzEhB,aAAaF,GACT,MAAMoB,EAAU,IAAIpvO,WAAWqvO,eAW/B,OAVA7uO,KAAK35C,YACD,CACI9U,KAAM,oBACNi8R,cACArrB,KAAMysB,EAAQzB,OAElB,CAACyB,EAAQzB,QAEbyB,EAAQzB,MAAM9+R,QACdugS,EAAQxB,MAAM/+R,QACP,IAAIsgS,GAAmBC,EAAQxB,OAG1C76M,uBACI,MAAMq8M,EAAU,IAAIpvO,WAAWqvO,eAC/B,MAAO,CACH1B,MAAO,IAAIwB,GAAmBC,EAAQzB,OACtCC,MAAO,IAAIuB,GAAmBC,EAAQxB,SAKlD,MAAMuB,GACFnwR,YAAoBswR,GAAA,KAAAA,WACpBC,SACI,OAAOx8R,KAAKu8R,SAEhBzoR,YAAYxW,EAAYm/R,GAChBA,EACAz8R,KAAKu8R,SAASzoR,YAAY4oR,GAAcp/R,GAAQo/R,GAAcD,IAE9Dz8R,KAAKu8R,SAASzoR,YAAYxW,GAGlCwsC,GAAG9qC,EAAoC6W,GAEtB,YAAT7W,GACAgB,KAAKu8R,SAAShpR,iBAAiBvU,GAAOiF,IAClC,MAAM/E,EAAO+E,EAAE/E,KACf2W,EAmBLsqE,GAnB4BjhF,GAmBLkyD,GACnBA,aAAanE,WAAW0vO,YAAc,IAAIP,GAAmBhrO,GAAKA,QAhB7Et1D,QACIkE,KAAKu8R,SAASzgS,QAElBua,QACIrW,KAAKu8R,SAASlmR,SAItB,SAASqmR,GAAcp/R,GACnB,OAAO6iF,GAAe7iF,GAAQ8zD,GACnBA,aAAagrO,GAAqBhrO,EAAEorO,SAAWprO,ICvE9D,MAAMjY,GACFsU,KAcJtU,GAAI5lC,iBAAiB,WAAWgZ,MAAOtoB,IACnC,GAAoB,iBAAhBA,EAAE/E,KAAKF,KAAyB,CAChC,MAAMmhB,EAASlc,EAAE/E,MACX,KAAEstD,EAAI,KAAEojN,EAAI,YAAEqrB,GAAgB96Q,EACpC,IACI,GAAa,eAATqsC,EACAuzB,GAAsB,IAAIm8M,IAC1B/iP,GAAIyjP,IAAM,IAAI3M,IACV,IAAAxoP,kBAAiB,IAAI,EAAA70B,qBAAqBumC,IAAM,IAAI,EAAAxmC,qBAAqBwmC,UAE1E,IAAa,eAATqT,EAYP,MAAM,IAAI5wD,MAAM,kCAAkC4wD,KAXlD,IAAKyuO,EACD,MAAM,IAAIr/R,MAAM,oDAEpB,KAAMg0Q,aAAgB+sB,aAClB,MAAM,IAAI/gS,MAAM,6BAA6Bg0Q,KAEjD7vL,GAAsB,IAAIm8M,GAAmBtsB,UACvCn/I,GAAuBwqK,EAAY3J,wBACzCn4O,GAAIyjP,IAAM,IAAIxB,GAAgCH,GAC9C9hP,GAAIyjP,IAAI9gS,SAId,MAAOmI,GAEL,MADAk1C,GAAI9iC,QACEpS,Q","file":"pyright-main-8d89bff7a80da04790e7.worker.js","sourceRoot":""} \ No newline at end of file diff --git a/src/language-server/pyright.ts b/src/language-server/pyright.ts index 9138ffe2c..0fe3ab08e 100644 --- a/src/language-server/pyright.ts +++ b/src/language-server/pyright.ts @@ -12,7 +12,7 @@ import { baseUrl } from "../base"; import { createUri, LanguageServerClient } from "./client"; // This is modified by bin/update-pyright.sh -const workerScriptName = "pyright-main-99cf7dc02c2324815d13.worker.js"; +const workerScriptName = "pyright-main-8d89bff7a80da04790e7.worker.js"; /** * Creates Pyright workers and corresponding client. diff --git a/src/messages/ui.es-es.json b/src/messages/ui.es-es.json index 1588fa397..37c21a480 100644 --- a/src/messages/ui.es-es.json +++ b/src/messages/ui.es-es.json @@ -756,7 +756,7 @@ "less-action": [ { "type": 0, - "value": "menos" + "value": "Less" } ], "load-error-makecode-info": [ @@ -890,7 +890,7 @@ "more-action": [ { "type": 0, - "value": "mas" + "value": "More" } ], "more-connect-options": [ @@ -2214,7 +2214,7 @@ "terms-of-use": [ { "type": 0, - "value": "Términos de uso" + "value": "Terms of use" } ], "third-party-module-explanation": [ diff --git a/src/messages/ui.ja.json b/src/messages/ui.ja.json index 536b66b2a..ba56a706a 100644 --- a/src/messages/ui.ja.json +++ b/src/messages/ui.ja.json @@ -780,7 +780,7 @@ "less-action": [ { "type": 0, - "value": "減らす" + "value": "少なく表示" } ], "load-error-makecode-info": [ @@ -910,7 +910,7 @@ "more-action": [ { "type": 0, - "value": "増やす" + "value": "もっと見る" } ], "more-connect-options": [ @@ -1926,7 +1926,7 @@ "simulator-gesture-down": [ { "type": 0, - "value": "ロゴが下になった" + "value": "下" } ], "simulator-gesture-face-down": [ @@ -1980,7 +1980,7 @@ "simulator-gesture-up": [ { "type": 0, - "value": "ロゴが上になった" + "value": "上" } ], "simulator-hide": [ diff --git a/src/messages/ui.ko.json b/src/messages/ui.ko.json index ade0f3fb2..37c4b72b7 100644 --- a/src/messages/ui.ko.json +++ b/src/messages/ui.ko.json @@ -2226,7 +2226,7 @@ "terms-of-use": [ { "type": 0, - "value": "이용 약관" + "value": "Terms of use" } ], "third-party-module-explanation": [ diff --git a/src/messages/ui.nl.json b/src/messages/ui.nl.json index 934206e71..a5be7878e 100644 --- a/src/messages/ui.nl.json +++ b/src/messages/ui.nl.json @@ -2253,7 +2253,7 @@ "terms-of-use": [ { "type": 0, - "value": "Gebruikers voorwaarden" + "value": "Gebruiksvoorwaarden" } ], "third-party-module-explanation": [ diff --git a/src/messages/ui.zh-cn.json b/src/messages/ui.zh-cn.json index b831daba9..a3107932a 100644 --- a/src/messages/ui.zh-cn.json +++ b/src/messages/ui.zh-cn.json @@ -634,7 +634,7 @@ "flash-action": [ { "type": 0, - "value": "烧录" + "value": "下载" } ], "flash-hover": [ @@ -752,7 +752,7 @@ "less-action": [ { "type": 0, - "value": "更少" + "value": "Less" } ], "load-error-makecode-info": [ @@ -894,7 +894,7 @@ "more-action": [ { "type": 0, - "value": "更多" + "value": "More" } ], "more-connect-options": [ @@ -2223,7 +2223,7 @@ "terms-of-use": [ { "type": 0, - "value": "使用条款" + "value": "Terms of use" } ], "third-party-module-explanation": [ diff --git a/src/messages/ui.zh-tw.json b/src/messages/ui.zh-tw.json index d622df00c..11ee4f782 100644 --- a/src/messages/ui.zh-tw.json +++ b/src/messages/ui.zh-tw.json @@ -630,7 +630,7 @@ "flash-action": [ { "type": 0, - "value": "讀寫" + "value": "燒錄" } ], "flash-hover": [ @@ -748,7 +748,7 @@ "less-action": [ { "type": 0, - "value": "查看較少" + "value": "Less" } ], "load-error-makecode-info": [ @@ -890,7 +890,7 @@ "more-action": [ { "type": 0, - "value": "查看較多" + "value": "More" } ], "more-connect-options": [ @@ -2222,7 +2222,7 @@ "terms-of-use": [ { "type": 0, - "value": "網站使用條款" + "value": "Terms of use" } ], "third-party-module-explanation": [ diff --git a/src/micropython/main/typeshed.ca.json b/src/micropython/main/typeshed.ca.json index c405a335b..695d8da4a 100644 --- a/src/micropython/main/typeshed.ca.json +++ b/src/micropython/main/typeshed.ca.json @@ -14,7 +14,7 @@ "/typeshed/stdlib/math.pyi": "\"\"\"Funcions matem\u00e0tiques (matem\u00e0tiques)\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calcula l'invers del cosinus (arc cosinus)\n\nExample: ``math.acos(1)``\n\n:param x: Un nombre\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calcula l'invers del sinus (arc sinus)\n\nExample: ``math.asin(0)``\n\n:param x: Un nombre\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calcula l'invers de la tangent (arc tangent)\n\nExample: ``math.atan(0)``\n\n:param x: Un nombre\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calcula el valor principal de l'invers de la tangent de ``y/x``. (arc tangent 2)\n\nExample: ``math.atan2(0, -1)``\n\n:param y: Un nombre\n:param x: Un nombre\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Arrodoneix un nombre cap a l'infinit positiu. (arrodoniment per exc\u00e9s)\n\nExample: ``math.ceil(0.1)``\n\n:param x: Un nombre\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calcula ``x`` amb el signe de ``y``.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: Un nombre\n:param y: L'origen del signe pel valor retornat.\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calcula el cosinus de ``x``. (cosinus)\n\nExample: ``math.cos(0)``\n\n:param x: Un nombre\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convertir radiants a graus (graus)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: Un valor en radians\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calcula l'exponencial de ``x``.\n\nExample: ``math.exp(1)``\n\n:param x: Un nombre\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Retorna el valor absolut de ``x``.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: Un nombre\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Arrodoneix un nombre cap a l'infinit negatiu. (arrodoniment per defecte)\n\nExample: ``math.floor(0.9)``\n\n:param x: Un nombre\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calcula el residu de ``x/y``.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: El numerador\n:param y: El denominador\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Descompon un nombre de coma flotant en la seva mantissa i el seu exponent.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: Un nombre de coma flotant\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Verifica si un valor \u00e9s finit.\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: Un nombre.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Verifica si un valor \u00e9s infinit.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: Un nombre.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Verifica si un valor \u00e9s un \"no nombre\" (NaN)\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: Un nombre\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calcula ``x * (2**exp)``. (ldexp (Calcula ``x * (2**exp)``))\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: Un nombre\n:param exp: Exponent enter\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"Calcula el logaritme ``x`` d'una base donada (per defecte al logaritme natural). (registre)\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: Un nombre\n:param base: La base a utilitzar\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calcula les parts fraccion\u00e0ries i integrals de ``x``.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: Un nombre\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Retorna ``x`` a la pot\u00e8ncia de ``y``.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: Un nombre\n:param y: L'exponent\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Converteix graus a radians\n\nExample: ``math.radians(360)``\n\n:param x: Un valor en graus\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calcula el sinus de ``x``. (sinus)\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: Un nombre\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calcula l'arrel quadrada de ``x``.\n\nExample: ``math.sqrt(4)``\n\n:param x: Un nombre\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calcula la tangent de ``x``.\n\nExample: ``math.tan(0)``\n\n:param x: Un nombre\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Arrodoneix un nombre cap al 0. (trunca)\n\nExample: ``math.trunc(-0.9)``\n\n:param x: Un nombre\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"Base del logaritme natural\"\"\"\npi: float\n\"\"\"La relaci\u00f3 entre la circumfer\u00e8ncia d'un cercle i el seu di\u00e0metre\"\"\"", "/typeshed/stdlib/micropython.pyi": "\"\"\"Components interns de MicroPython.\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"S'utilitza per declarar que l'expressi\u00f3 \u00e9s una constant perqu\u00e8 el compilador pugui\noptimitzar-la.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: Una expressi\u00f3 constant\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Obt\u00e9 el nivell d'optimitzaci\u00f3 actual per a la compilaci\u00f3 d'scripts.\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Estableix el nivell d'optimitzaci\u00f3 per a la compilaci\u00f3 posterior dels scripts.\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: Un nivell d'optimitzaci\u00f3 enter.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"Imprimeix informaci\u00f3 sobre la mem\u00f2ria utilitzada actualment. (informaci\u00f3 de la mem\u00f2ria)\n\nExample: ``micropython.mem_info()``\n\n:param verbose: Si es dona l'argument ``verbose``, s'imprimeix informaci\u00f3 addicional.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"Imprimeix informaci\u00f3 sobre les cadenes internades actualment.\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: Si es dona l'argument ``verbose``, s'imprimeix informaci\u00f3 addicional.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Retorna un nombre enter que representa la quantitat actual de pila que est\u00e0 sent\nutilitzada.\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Bloqueja el munt.\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Desbloqueja el munt.\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Estableix el car\u00e0cter que generar\u00e0 una excepci\u00f3 ``KeyboardInterrupt``.\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: Codi de car\u00e0cter per augmentar la interrupci\u00f3 o -1 per desactivar la captura de Ctrl-C.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", "/typeshed/stdlib/music.pyi": "\"\"\"Crea i toca melodies. (m\u00fasica)\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"Melodia: l'obertura de la cinquena simfonia de Beethoven en Do menor.\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melodia: el fragment inicial del cl\u00e0ssic Ragtime de Scott Joplin \"The Entertainer\".\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"Melodia: obertura del primer Preludi en Do Major dels 48 Preludis i Fugues de J.S. Bach. (preludi)\"\"\"\nODE: Tuple[str, ...]\n\"\"\"Melodia: el tema \"Oda a l'alegria\" de la 9a simfonia en Re menor de Beethoven. (oda)\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"Melodia: el tema Nyan Cat (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"Melodia: quelcom que sona com un to de trucada de tel\u00e8fon m\u00f2bil. (to de trucada)\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"Melodia: una l\u00ednia de baix funky per a agents secrets i cervells criminals.\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"Melodia: un blues walking bass boogie-woogie de dotze compassos.\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melodia: \u201cFeli\u00e7 aniversari\u2026\u201d (aniversari)\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"Melodia: el cor nupcial de l'\u00f2pera Lohengrin de Wagner. (casament)\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"Melodia: la \u201cmarxa f\u00fanebre\u201d com es coneix la Sonata per a piano No 2. en Si bemoll menor Op. 35 de Fr\u00e9d\u00e9ric Chopin .\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melodia: un fragment divertit que significa que s'ha fet una broma.\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"Melodia: la marxa de John Philip Sousa \"Liberty Bell\", tamb\u00e9 conegut com, el tema de \"Monty Python's Flying Circus\" (a partir de la qual s'anomena el llenguatge de programaci\u00f3 Python).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"Melodia: entrada d'un dolent a l'era del cinema mut. (dolent)\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"Melodia: escena de persecuci\u00f3 de l'era del cinema mut. (persecuci\u00f3)\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"Melodia: senyal breu per indicar que alguna cosa ha passat.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melodia: un tromb\u00f3 molt trist.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melodia: per utilitzar-se en un joc, indicant moviment cap amunt. (saltar cap amunt)\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melodia: per utilitzar en un joc, que indica moviment cap avall. (saltar cap avall)\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melodia: una fanf\u00e0rria per indicar un assoliment desbloquejat. (engegar)\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melodia: una trista fanf\u00e0rria per indicar un assoliment perdut. (apagar)\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"Estableix el tempo aproximat per la reproducci\u00f3.\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: El nombre de tics que constitueixen un ritme.\n:param bpm: Un nombre enter determinant quantes pulsacions per minut.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Obt\u00e9 el tempo actual com una tupla d'enters:``(ticks, bpm)``. (obt\u00e9 el tempo)\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"Tocar m\u00fasica\n\nExample: ``music.play(music.NYAN)``\n\n:param music: (m\u00fasica) m\u00fasica especificada en `una notaci\u00f3 especial `_\n:param pin: el pin de sortida per utilitzar-lo amb un altaveu extern (``pin0`` per defecte), ``None`` per no fer so.\n:param wait: (espera) Si ``wait`` s'estableix en ``True``, aquesta funci\u00f3 est\u00e0 bloquejant.\n:param loop: (bucle) Si el ``loop`` s'estableix en ``True``, la melodia es repeteix fins que es crida ``stop`` o s'interromp la trucada de bloqueig.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"Toca una nota. (altura del to)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (freq\u00fc\u00e8ncia) Una freq\u00fc\u00e8ncia de nombre enter\n:param duration: (Durada - duraci\u00f3) Una duraci\u00f3 d'un mil\u00b7lisegon. Si \u00e9s negativa, el so \u00e9s continu fins a la nova crida o una crida a ``stop``.\n:param pin: Pin de sortida opcional (``pin0`` per defecte).\n:param wait: (espera) Si ``wait`` s'estableix en ``True``, aquesta funci\u00f3 est\u00e0 bloquejant.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Atura tota la reproducci\u00f3 de m\u00fasica a l'altaveu integrat i qualsevol so de sortida de pin. (atura)\n\nExample: ``music.stop()``\n\n:param pin: Es pot proporcionar un argument opcional per especificar un pin, per exemple ``music.stop(pin1)``.\"\"\"\n\ndef reset() -> None:\n \"\"\"Restableix els tics, ppm, duraci\u00f3 i octava al seu valor per defecte. (reiniciar)\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"Cintes LED RGB i RGBW adre\u00e7ables individualment.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Inicialitza una nova tira de LED de neopixel controlada mitjan\u00e7ant un pin.\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: El pin que controla la tira de neop\u00edxels.\n:param n: El nombre de neop\u00edxels de la tira.\n:param bpp: Bytes per p\u00edxel. Per al suport de micro:bit V2 RGBW neopixel, passa 4 en lloc de 3 per defecte per a RGB i GRB.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"Esborra tots els p\u00edxels.\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"mostra els p\u00edxels.\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Mostra els p\u00edxels (nom\u00e9s micro:bit V2) (escriu)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Acoloreix tots els p\u00edxels amb un valor RGB/RGBW determinat. (omple)\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (color) Una tupla de la mateixa longitud que el nombre de bytes per p\u00edxel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Estableix un color de p\u00edxel.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: El nombre de p\u00edxels.\n:param value: (valor) El color.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Obt\u00e9 un color de p\u00edxel.\n\nExample: ``r, g, b = np[0]``\n\n:param key: El nombre de p\u00edxels.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"Obt\u00e9 la longitud d'aquesta cinta de p\u00edxels.\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"Cintes LED RGB i RGBW adre\u00e7ables individualment.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Inicialitza una nova tira de LED de neopixel controlada mitjan\u00e7ant un pin.\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: El pin que controla la tira de neop\u00edxels.\n:param n: El nombre de neop\u00edxels de la tira.\n:param bpp: Bytes per p\u00edxel. Per al suport de RGBW neopixel, passa 4 en lloc dels 3 per defecte per a RGB i GRB.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"Esborra tots els p\u00edxels.\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"mostra els p\u00edxels.\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Mostra els p\u00edxels (nom\u00e9s micro:bit V2) (escriu)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Acoloreix tots els p\u00edxels amb un valor RGB/RGBW determinat (nom\u00e9s micro:bit V2). (omple)\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (color) Una tupla de la mateixa longitud que el nombre de bytes per p\u00edxel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Estableix un color de p\u00edxel.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: El nombre de p\u00edxels.\n:param value: (valor) El color.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Obt\u00e9 un color de p\u00edxel.\n\nExample: ``r, g, b = np[0]``\n\n:param key: El nombre de p\u00edxels.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"Obt\u00e9 la longitud d'aquesta cinta de p\u00edxels.\n\nExample: ``len(np)``\"\"\"", "/typeshed/stdlib/os.pyi": "\"\"\"Accedeix al sistema de fitxers.\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"Llista dels fitxers.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Eliminar (suprimir) un fitxer. (eliminar)\n\nExample: ``os.remove('data.txt')``\n\n:param filename: (nom del fitxer) El fitxer a suprimir.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Retorna la mida d'un fitxer (mida)\n\nExample: ``os.size('data.txt')``\n\n:param filename: (nom del fitxer) El fitxer\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Resultat de ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Nom del sistema operatiu.\"\"\"\n nodename: str\n \"\"\"Nom de la m\u00e0quina a la xarxa (definida per la implementaci\u00f3).\"\"\"\n release: str\n \"\"\"Versi\u00f3 del sistema operatiu. (versi\u00f3)\"\"\"\n version: str\n \"\"\"Versi\u00f3 del sistema operatiu. (versi\u00f3)\"\"\"\n machine: str\n \"\"\"Identificador del maquinari. (m\u00e0quina)\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Retorna informaci\u00f3 que identifica el sistema operatiu actual.\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", "/typeshed/stdlib/radio.pyi": "\"\"\"Comunicar-se entre micro:bits amb la r\u00e0dio integrada. (r\u00e0dio)\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"La constant utilitzada per indicar un rendiment d'1 Mbit per segon. (velocitat de transmissi\u00f3 1mbit)\"\"\"\nRATE_2MBIT: int\n\"\"\"La constant utilitzada per indicar un rendiment de 2 Mbit per segon. (velocitat de transmissi\u00f3 2mbit)\"\"\"\n\ndef on() -> None:\n \"\"\"Enc\u00e9n la r\u00e0dio.\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Apaga la r\u00e0dio, estalviant energia i mem\u00f2ria.\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"Configura la r\u00e0dio.\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (llargada) (per defecte=32) defineix la longitud m\u00e0xima, en bytes, d'un missatge enviat a trav\u00e9s de la r\u00e0dio.\nPot tenir una longitud de fins a 251 bytes (254 - 3 bytes per al pre\u00e0mbul S0, LENGTH i S1).\n:param queue: (cua) (per defecte=3) especifica el nombre de missatges que es poden emmagatzemar a la cua de missatges entrants.\nSi no queden espais a la cua per als missatges entrants, s'elimina el missatge entrant.\n:param channel: (canal) (per defecte=7) un valor enter de 0 a 83 (inclosos) que defineix un \"canal\" arbitrari al qual est\u00e0 sintonitzada la r\u00e0dio.\nEls missatges s'enviaran a trav\u00e9s d'aquest canal i nom\u00e9s els missatges rebuts per aquest canal es posaran a la cua de missatges entrants. Cada pas t\u00e9 una amplada d'1MHz, basat en 2400MHz.\n:param power: (per defecte=6) \u00e9s un valor enter de 0 a 7 (inclosos) per indicar la intensitat del senyal utilitzat quan s'emet un missatge.\nCom m\u00e9s alt sigui el valor, m\u00e9s fort \u00e9s el senyal, per\u00f2 m\u00e9s pot\u00e8ncia consumeix el dispositiu. La numeraci\u00f3 es tradueix en posicions a la llista seg\u00fcent de valors en dBm (decibels mil\u00b7liwatts): -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (adre\u00e7a) (per defecte=0x75626974) un nom arbitrari, expressat com una adre\u00e7a de 32 bits, que s'utilitza per filtrar els paquets entrants a nivell de maquinari, conservant nom\u00e9s els que coincideixen amb l'adre\u00e7a que has establert.\nLa configuraci\u00f3 predeterminada utilitzada per altres plataformes relacionades amb micro:bit \u00e9s la configuraci\u00f3 predeterminada que s'utilitza aqu\u00ed.\n:param group: (grup) (per defecte=0) un valor de 8 bits (0-255) utilitzat amb l'``address`` (adre\u00e7a) en filtrar missatges.\nConceptualment, \"adre\u00e7a\" \u00e9s com una adre\u00e7a de casa/oficina i \"grup\" \u00e9s com la persona a aquesta adre\u00e7a a la qual vols enviar el teu missatge.\n:param data_rate: (velocitat de dades) (per defecte=``radio.RATE_1MBIT``) indica la velocitat a la qual es produeix la transmissi\u00f3 de les dades.\nPot ser una de les constants seg\u00fcents definides al m\u00f2dul ``radio``: ``RATE_250KBIT``, ``RATE_1MBIT`` o ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Restableix la configuraci\u00f3 als seus valors predeterminats. (reiniciar)\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Envia un missatge que cont\u00e9 bytes. (enviar bytes)\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: (missatge) Els bytes a ser enviats.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Rebr\u00e0s el seg\u00fcent missatge entrant a la cua de missatges. (rebre bytes)\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copia el seg\u00fcent missatge entrant de la cua de missatges a una mem\u00f2ria interm\u00e8dia. (rebre bytes a)\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: (mem\u00f2ria interm\u00e8dia) La mem\u00f2ria interm\u00e8dia objectiu. El missatge es trunca si \u00e9s m\u00e9s gran que la mem\u00f2ria interm\u00e8dia.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Envia una cadena de missatge. (envia)\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: (missatge) La cadena a enviar.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Funciona exactament de la mateixa manera que ``receive_bytes`` per\u00f2 retorna el que s'ha enviat.\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Retorna una tupla que cont\u00e9 tres valors que representen el seg\u00fcent missatge entrant a la cua de missatges. (rebre ple)\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", @@ -40,7 +40,7 @@ "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Reprodueix sons amb la micro:bit (importa ``audio`` per a la compatibilitat amb V1). (\u00e0udio)\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Reprodueix un so incorporat, un efecte de s\u00f3 o marcs d'\u00e0udio personalitzats.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (origen) Un objecte de ``Sound`` incorporat com ``Sound.GIGGLE``, un ``SoundEffect`` o una data de mostra com un iterable de ``AudioFrame`` .\n:param wait: (espera) Si ``wait`` \u00e9s ``True``, aquesta funci\u00f3 es bloquejar\u00e0 fins que s'acabi el so.\n:param pin: Es pot utilitzar un argument opcional per especificar el pin de sortida per anul\u00b7lar el valor predeterminat de ``pin0``. Si no vols que es reprodueixi cap so, pots utilitzar ``pin=None``.\n:param return_pin: (retorna el pin) Especifica un pin diferent del connector d'expansi\u00f3 per connectar-lo a un altaveu extern en lloc de posar a terra. Aix\u00f2 s'ignora per a la revisi\u00f3 **V2**.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Verifica si s'est\u00e0 reproduint un so. (est\u00e0 reproduint)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Atura tota la reproducci\u00f3 d'\u00e0udio. (atura)\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Un efecte sonor, compost per un conjunt de par\u00e0metres configurats via el constructor o atributs.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona sinusoidal pel par\u00e0metre ``waveform``. (forma d'ona sinusoidal)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona de dent de serra pel par\u00e0metre ``waveform``. (forma d'ona de dent de serra)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona triangular pel par\u00e0metre ``waveform``. (forma d'ona triangular)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona quadrada pel par\u00e0metre ``waveform``. (forma d'ona quadrada)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona de soroll pel par\u00e0metre ``waveform``. (forma d'ona de soroll)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona lineal pel par\u00e0metre ``shape``. (forma lineal)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Opci\u00f3 d'interpolaci\u00f3 de corba usada pel par\u00e0metre ``shape``. (forma de corba)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Opci\u00f3 d'interpolaci\u00f3 logar\u00edtmica utilitzada pel par\u00e0metre ``shape``. (forma logar\u00edtmica)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Opci\u00f3 de cap efecte utilitzat pel par\u00e0metre ``fx``. (fx cap)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Opci\u00f3 d'efecte tr\u00e8molo utilitzat pel par\u00e0metre ``fx``. (fx tr\u00e9molo)\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Opci\u00f3 d'efecte vibrato utilitzat pel par\u00e0metre ``fx``.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Opci\u00f3 d'efecte gorjeu utilitzat pel par\u00e0metre ``fx``. (Efecte gorjeu)\"\"\"\n freq_start: int\n \"\"\"Freq\u00fc\u00e8ncia inicial en Hertz (Hz), un nombre entre ``0`` i ``9999`` (freq\u00fc\u00e8ncia inicial)\"\"\"\n freq_end: int\n \"\"\"Freq\u00fc\u00e8ncia final en Hertz (Hz), un nombre entre ``0`` i ``9999`` (frequ\u00e8ncia final)\"\"\"\n duration: int\n \"\"\"Durada del so en mil\u00b7lisegons, un nombre entre ``0`` and ``9999`` (Durada - duraci\u00f3)\"\"\"\n vol_start: int\n \"\"\"Volum inicial, un nombre entre ``0`` and ``255`` (volum inicial)\"\"\"\n vol_end: int\n \"\"\"Valor del volum final, un nombre entre ``0`` and ``255`` (volum final)\"\"\"\n waveform: int\n \"\"\"Tipus de forma d'ona, un d'aquest valors: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise) (forma d'ona)\"\"\"\n fx: int\n \"\"\"Efecte a afegir al so, un dels seg\u00fcents valors: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE`` (efecte)\"\"\"\n shape: int\n \"\"\"El tipus de corba d'interpolaci\u00f3 entre les freq\u00fc\u00e8ncies inicial i final, diferents formes d'ona tenen diferents r\u00e0tios de canvi en la freq\u00fc\u00e8ncia. Un dels seg\u00fcents valors: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG`` (forma)\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Crea un efecte de so nou. (inicial)\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (freq\u00fc\u00e8ncia inicial) Freq\u00fc\u00e8ncia inicial en Hertz (Hz), un nombre entre ``0`` i ``9999``.\n:param freq_end: (frequ\u00e8ncia final) Freq\u00fc\u00e8ncia final en Hertz (Hz), un nombre entre ``0`` i ``9999``.\n:param duration: (Durada - duraci\u00f3) Duraci\u00f3 del so en mil\u00b7lisegons, un nombre entre ``0`` i ``9999``.\n:param vol_start: (volum inicial) Valor del volum inicial, un nombre entre ``0`` i ``255``.\n:param vol_end: (volum final) Valor del volum final, un nombre entre ``0`` i ``255``.\n:param waveform: (forma d'ona) Tipus de forma d'ona, un d'aquests valors: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (soroll generat aleat\u00f2riament).\n:param fx: (efecte) Efecte a afegir al so, un del seg\u00fcents valors: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n:param shape: (forma) El tipus de corba d'interpolaci\u00f3 entre les freq\u00fc\u00e8ncies inicial i final, diferents formes d'ona tenen diferents r\u00e0tios de canvi en la freq\u00fc\u00e8ncia. Un dels seg\u00fcents valors: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Crea una c\u00f2pia d'aquest ``SoundEffect``. (c\u00f2pia)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Un objecte ``AudioFrame`` \u00e9s una llista de 32 mostres cadascuna de les quals \u00e9s un byte sense signar\n(nombre enter entre 0 i 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Sobreposa les dades d'aquest ``AudioFrame`` amb les dades d'una altra inst\u00e0ncia ``AudioFrame`` . (copia desde)\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (altre) ``AudioFrame`` inst\u00e0ncia de la qual copiar les dades.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Utilitza la br\u00faixola integrada. (br\u00faixola)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Comen\u00e7a el proc\u00e9s de calibraci\u00f3 (calibrar)\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Verifica si la br\u00faixola est\u00e0 calibrada. (s'ha calibrat)\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Desf\u00e0 el calibratge, fent que la br\u00faixola torni a estar sense calibraci\u00f3. (esborra la calibraci\u00f3)\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Obt\u00e9 la intensitat del camp magn\u00e8tic de l'eix ``x`` . (obt\u00e9 x)\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Obt\u00e9 la intensitat del camp magn\u00e8tic de l'eix ``y`` . (obt\u00e9 y)\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Obt\u00e9 la intensitat del camp magn\u00e8tic a l'eix ``z``. (obt\u00e9 z)\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Obt\u00e9 l'orientaci\u00f3 de la br\u00faixola.\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Obt\u00e9 la magnitud del camp magn\u00e8tic al voltant del dispositiu. (obt\u00e9 la intensitat del camp)\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Mostra text, imatges i animacions a la pantalla LED 5\u00d75. (pantalla)\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Obt\u00e9 la brillantor del LED a la columna ``x`` i la fila ``y``. (obt\u00e9 p\u00edxel)\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: La columna de la pantalla (0...4)\n:param y: La fila de la pantalla (0...4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Estableix la brillantor del LED a la columna ``x`` i la fila ``y``. (estableix p\u00edxel)\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: La columna de la pantalla (0...4)\n:param y: La fila de la pantalla (0...4)\n:param value: (valor) La brillantor entre 0 (apagat) i 9 (brillant)\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Estableix la brillantor de tots els leds a 0 (apagat).\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"Mostra imatges, lletres o d\u00edgits en la pantalla LED. (mostra)\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: (imatge) Una cadena, un nombre, una imatge o una llista d'imatges per mostrar.\n:param delay: (retard) Cada lletra, d\u00edgit o imatge es mostra amb un ``delay`` mil\u00b7lisegons entre ells.\n:param wait: (espera) Si ``wait`` \u00e9s ``True``, aquesta funci\u00f3 es bloquejar\u00e0 fins que s'acabi l'animaci\u00f3, en cas contrari, l'animaci\u00f3 passar\u00e0 en segon pla.\n:param loop: (bucle) Si el ``loop`` \u00e9s ``True``, l'animaci\u00f3 es repetir\u00e0 per sempre.\n:param clear: Si ``clear`` \u00e9s ``True``, la pantalla s'esborrar\u00e0 un cop finalitzada la seq\u00fc\u00e8ncia.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"Despla\u00e7a un n\u00famero o text per la pantalla LED.\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: La cadena per a despla\u00e7ar. Si ``text`` \u00e9s un nombre enter o flotant, primer es converteix en una cadena mitjan\u00e7ant ``str()``.\n:param delay: (retard) El par\u00e0metre ``delay`` controla la rapidesa amb qu\u00e8 es despla\u00e7a el text.\n:param wait: (espera) Si ``wait`` \u00e9s ``True``, aquesta funci\u00f3 es bloquejar\u00e0 fins que s'acabi l'animaci\u00f3, en cas contrari, l'animaci\u00f3 passar\u00e0 en segon pla.\n:param loop: (bucle) Si el ``loop`` \u00e9s ``True``, l'animaci\u00f3 es repetir\u00e0 per sempre.\n:param monospace: Si ``monospace`` \u00e9s ``True``, tots els car\u00e0cters ocuparan 5 columnes de p\u00edxels d'amplada, en cas contrari, hi haur\u00e0 exactament 1 columna de p\u00edxels en blanc entre cada car\u00e0cter mentre es desplacen.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Enc\u00e9n la pantalla LED.\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Apaga la pantalla LED (desactivar la pantalla et permet reutilitzar els pins GPIO per a altres finalitats).\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Comprova si la pantalla LED est\u00e0 habilitada.\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Llegeix el nivell de llum. (llegir el nivell de llum)\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", - "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Comunicar-se amb dispositius mitjan\u00e7ant el protocol de bus I\u00b2C.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Reinicialitzar un perif\u00e8ric.\n\nExample: ``i2c.init()``\n\n:param freq: freq\u00fc\u00e8ncia del rellotge\n:param sda: Pin ``sda`` (per defecte 20)\n:param scl: pin ``scl`` (per defecte 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Escaneja el bus dels dispositius\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Llegeix bytes des d'un dispositiu.. (llegeix)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: L'adre\u00e7a de 7-bit del dispositiu\n:param n: El nombre de bytes a llegir\n:param repeat: (repeteix) Si ``True``, no s'enviar\u00e0 cap bit d'aturada\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Escriu bytes en un dispositiu (escriu)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: L'adre\u00e7a de 7-bit del dispositiu\n:param buf: Una mem\u00f2ria interm\u00e8dia que cont\u00e9 els bytes per escriure\n:param repeat: (repeteix) Si ``True``, no s'enviar\u00e0 cap bit d'aturada\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Comunicar-se amb dispositius mitjan\u00e7ant el protocol de bus I\u00b2C.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Reinicialitzar un perif\u00e8ric.\n\nExample: ``i2c.init()``\n\n:param freq: freq\u00fc\u00e8ncia del rellotge\n:param sda: Pin ``sda`` (per defecte 20)\n:param scl: pin ``scl`` (per defecte 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Escaneja el bus dels dispositius\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Llegeix bytes des d'un dispositiu. (llegeix)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: L'adre\u00e7a de 7-bit del dispositiu\n:param n: El nombre de bytes a llegir\n:param repeat: (repeteix) Si ``True``, no s'enviar\u00e0 cap bit d'aturada\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Escriu bytes en un dispositiu (escriu)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: L'adre\u00e7a de 7-bit del dispositiu\n:param buf: Una mem\u00f2ria interm\u00e8dia que cont\u00e9 els bytes per escriure\n:param repeat: (repeteix) Si ``True``, no s'enviar\u00e0 cap bit d'aturada\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Respon al so fent servir el micr\u00f2fon integrat (nom\u00e9s V2). (micr\u00f2fon)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Obt\u00e9 l'\u00faltim esdeveniment de sonor gravat (esdeveniment actual)\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Comprova si s'ha sentit un so almenys una vegada des de l'\u00faltima crida. (va ser un esdeveniment)\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (esdeveniment) L'esdeveniment per comprovar, com ara ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Comprova l'esdeveniment sonor m\u00e9s recent detectat. (\u00e9s un esdeveniment)\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (esdeveniment) L'esdeveniment per comprovar, com ara ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Obt\u00e9 l'historial d'esdeveniments sonors com una tupla. (obt\u00e9 esdeveniments)\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Assigna el llinar per un esdeveniment sonor (estableix llindar)\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (esdeveniment) Un esdeveniment sonor, com ara ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``.\n:param value: (valor) El llindar en l'interval 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Obt\u00e9 el nivell de pressi\u00f3 sonora. (nivell de so)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Controla l'altaveu integrat (nom\u00e9s V2). (altaveu)\"\"\"\n\ndef off() -> None:\n \"\"\"Apaga l'altaveu.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Enc\u00e9n l'altaveu.\n\nExample: ``speaker.on()``\"\"\"\n ...", "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Comunica amb dispositius mitjan\u00e7ant el bus d'interf\u00edcie perif\u00e8rica s\u00e8rie (SPI).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Inicialitzar la comunicaci\u00f3 SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (Velocitat de bauds) La velocitat de comunicaci\u00f3.\n:param bits: L'amplada en bits de cada transfer\u00e8ncia. Actualment nom\u00e9s ``bits=8`` \u00e9s acceptada . Tot i que aix\u00f2 pot canviar en el futur\n:param mode: Determina la combinaci\u00f3 de polaritat i fase del rellotge: `consulta la taula en l\u00ednia `_.\n:param sclk: pin sclk (per defecte 13)\n:param mosi: mosi pin (per defecte 15)\n:param miso: miso pin (per defecte 14)\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"Llegeix bytes (llegeix)\n\nExample: ``spi.read(64)``\n\n:param nbytes: Nombre m\u00e0xim de bytes per llegir.\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Escriu bytes al bus. (escriu)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (mem\u00f2ria interm\u00e8dia) Una mem\u00f2ria interm\u00e8dia per a llegir dades.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Escriu la mem\u00f2ria interm\u00e8dia ``out`` al bus i llegeix qualsevol resposta a la mem\u00f2ria interm\u00e8dia ``in_``.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: La mem\u00f2ria interm\u00e8dia per a escriure qualsevol resposta.\n:param in_: La mem\u00f2ria interm\u00e8dia per a llegir dades.\"\"\"\n ...", diff --git a/src/micropython/main/typeshed.es-es.json b/src/micropython/main/typeshed.es-es.json index 8eca17ded..1c81a2b06 100644 --- a/src/micropython/main/typeshed.es-es.json +++ b/src/micropython/main/typeshed.es-es.json @@ -14,7 +14,7 @@ "/typeshed/stdlib/math.pyi": "\"\"\"Funciones matem\u00e1ticas. (matem\u00e1ticas)\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calcula el inverso del coseno.\n\nExample: ``math.acos(1)``\n\n:param x: Un n\u00famero\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calcula el inverso del seno. (asen)\n\nExample: ``math.asin(0)``\n\n:param x: Un n\u00famero\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calcula el inverso de la tangente.\n\nExample: ``math.atan(0)``\n\n:param x: Un n\u00famero\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calcula el valor principal del inverso de la tangente de ``y/x``.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: Un n\u00famero\n:param x: Un n\u00famero\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Redondea un n\u00famero hacia el infinito positivo. (hacia arriba)\n\nExample: ``math.ceil(0.1)``\n\n:param x: Un n\u00famero\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calcula ``x`` con el signo de ``y``.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: Un n\u00famero\n:param y: Procedencia del signo para el valor que devuelve\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calcula el coseno de ``x``.\n\nExample: ``math.cos(0)``\n\n:param x: Un n\u00famero\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convierte radianes a grados. (grados)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: Un valor en radianes\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calcular el exponencial de ``x``.\n\nExample: ``math.exp(1)``\n\n:param x: Un n\u00famero\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Devuelve el valor absoluto de ``x``.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: Un n\u00famero\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Redondea un n\u00famero hacia el infinito negativo. (hacia abajo)\n\nExample: ``math.floor(0.9)``\n\n:param x: Un n\u00famero\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calcula el resto de ``x/y``.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: El numerador\n:param y: El denominador\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Descompone un n\u00famero de coma flotante en su mantisa y exponente.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: Un n\u00famero de coma flotante\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Comprueba si un valor es finito. (esfinito)\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: Un n\u00famero.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Compruebe si un valor es infinito. (esinf)\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: Un n\u00famero.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Comprueba si un valor no es un n\u00famero (NaN, not-a-number en ingl\u00e9s). (esnan)\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: Un n\u00famero\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calcula ``x * (2**exp)``.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: Un n\u00famero\n:param exp: Exponente entero\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"Calcula el logaritmo de ``x`` en la base dada (por defecto, el logaritmo natural). (registrar)\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: Un n\u00famero\n:param base: La base a usar\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calcula la parte fraccionaria y entera de ``x``.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: Un n\u00famero\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Devuelve ``x`` elevado a ``y``.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: Un n\u00famero\n:param y: El exponente\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Convierte grados a radianes. (radianes)\n\nExample: ``math.radians(360)``\n\n:param x: Un valor en grados\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calcula el seno de ``x``. (sen)\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: Un n\u00famero\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calcula la ra\u00edz cuadrada de ``x``.\n\nExample: ``math.sqrt(4)``\n\n:param x: Un n\u00famero\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calcula la tangente de ``x``.\n\nExample: ``math.tan(0)``\n\n:param x: Un n\u00famero\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Redondea un n\u00famero hacia 0.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: Un n\u00famero\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"Base del logaritmo natural\"\"\"\npi: float\n\"\"\"La relaci\u00f3n entre la longitud de una circunferencia y su di\u00e1metro\"\"\"", "/typeshed/stdlib/micropython.pyi": "\"\"\"Componentes internos de MicroPython.\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"Se usa para declarar que la expresi\u00f3n es una constante para que el compilador pueda\noptimizarla.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: Una expresi\u00f3n constante.\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Obtiene el nivel actual de optimizaci\u00f3n para la compilaci\u00f3n de scripts. (nivel de opt)\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Establece el nivel de optimizaci\u00f3n para la posterior compilaci\u00f3n de scripts. (nivel de opt)\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: (nivel) Un entero que representa el nivel de optimizaci\u00f3n.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"Imprime informaci\u00f3n sobre la memoria usada en este momento. (info de mem)\n\nExample: ``micropython.mem_info()``\n\n:param verbose: Si se pasa el argumento ``verbose``, se imprime informaci\u00f3n adicional.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"Imprime informaci\u00f3n sobre las cadenas internadas en este momento. (info de cad actual)\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: Si se pasa el argumento ``verbose``, se imprime informaci\u00f3n adicional.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Devuelve un entero que representa la cantidad de pila que se est\u00e1 usando en este momento. (pila usada)\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Bloquea el mont\u00f3n. (bloquear mont\u00f3n)\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Desbloquea el mont\u00f3n. (desbloquear el mont\u00f3n)\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Establece qu\u00e9 car\u00e1cter lanzar\u00e1 una excepci\u00f3n ``KeyboardInterrupt``. (intr tecl)\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: (car) C\u00f3digo de car\u00e1cter que lanzar\u00e1 la interrupci\u00f3n o -1 para desactivar la captura de Ctrl + C.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", "/typeshed/stdlib/music.pyi": "\"\"\"Crear y reproducir melod\u00edas. (m\u00fasica)\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"Melod\u00eda: apertura de la \"Sinfon\u00eda n.\u00ba 5 en do menor\" de Beethoven.\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melod\u00eda: fragmento inicial del cl\u00e1sico Ragtime de Scott Joplin \u201cThe Entertainer\u201d.\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"Melod\u00eda: apertura del primer \"Preludio en do mayor\" de los 48 Preludios y Fugas de J. S. Bach. (preludio)\"\"\"\nODE: Tuple[str, ...]\n\"\"\"Melod\u00eda: tema \u201cOda a la alegr\u00eda\u201d de la \"Sinfon\u00eda n.\u00ba 9 en re menor\" de Beethoven. (oda)\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"Melod\u00eda: el tema de Nyan Cat (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"Melod\u00eda: algo que suena como un tono de llamada de un tel\u00e9fono m\u00f3vil. (tono de llamada)\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"Melod\u00eda: una l\u00ednea de bajo funky para agentes secretos y maestros criminales.\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"Melod\u00eda: \"walking bass\" con un blues boogie-woogie de 12 compases.\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melod\u00eda: \u201cCumplea\u00f1os feliz\u201d (cumplea\u00f1os)\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"Melod\u00eda: coro nupcial de la \u00f3pera de Wagner \"Lohengrin\". (boda)\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"Melod\u00eda: \u201cMarcha f\u00fanebre\u201d, conocida tambi\u00e9n como \"Sonata para piano n.\u00ba 2 en si bemol menor, Op. 35\" de Fr\u00e9d\u00e9ric Chopin.\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melod\u00eda: un fragmento divertido que representa que se ha hecho un chiste. (remate)\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"Melod\u00eda: la marcha de John Philip Sousa \u201cLiberty Bell\u201d, tambi\u00e9n conocida por ser el tema del \u201cMonty Python Flying Circus\u201d (de donde obtiene su nombre el lenguaje de programaci\u00f3n Python).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"Melod\u00eda: entrada de un malote en la \u00e9poca del cine mudo. (malote)\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"Melod\u00eda: escena de persecuci\u00f3n en la \u00e9poca del cine mudo. (persecuci\u00f3n)\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"Melod\u00eda: una se\u00f1al corta para indicar que algo ha pasado.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melod\u00eda: un tromb\u00f3n muy triste.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melod\u00eda: para usar en un juego, indicando un movimiento ascendente. (saltar arriba)\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melod\u00eda: para usar en un juego, indicando un movimiento descendente. (saltar abajo)\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melod\u00eda: una fanfarria para indicar un logro desbloqueado. (subida de potencia)\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melod\u00eda: una fanfarria triste para indicar un logro perdido. (bajada de potencia)\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"Establece el ritmo aproximado de la reproducci\u00f3n. (configurar tempo)\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: (tics) El n\u00famero de tics que constituyen un ritmo.\n:param bpm: Un entero que determina el n\u00famero de compases por minuto.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Obtiene el ritmo actual como una tupla de enteros: ``(ticks, bpm)``. (obtener tempo)\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"Reproduce m\u00fasica. (reproducir)\n\nExample: ``music.play(music.NYAN)``\n\n:param music: (m\u00fasica) m\u00fasica especificada en `una notaci\u00f3n especial `_\n:param pin: pin de salida para usar con un altavoz externo (por defecto ``pin0``), ``None`` para que no haya sonido.\n:param wait: (esperar) Si ``wait`` se configura como ``True`` (verdadero), esta funci\u00f3n estar\u00e1 bloqueando.\n:param loop: (bucle) Si ``loop`` se configura como ``True`` (verdadero), la melod\u00eda se repite hasta que se llama a ``stop`` o se interrumpe la llamada de bloqueo.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"Reproduce una nota. (tono)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (frecuencia) Una frecuencia entera\n:param duration: (duraci\u00f3n) La duraci\u00f3n en milisegundos. Si es negativa, el sonido continuar\u00e1 hasta la siguiente llamada o una llamada a ``stop``.\n:param pin: Pin de salida opcional (por defecto, ``pin0``).\n:param wait: (esperar) Si ``wait`` se configura como ``True`` (verdadero), esta funci\u00f3n estar\u00e1 bloqueando.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Detiene la reproducci\u00f3n de toda la m\u00fasica en el altavoz integrado y en cualquier pin que est\u00e9 emitiendo sonido. (detener)\n\nExample: ``music.stop()``\n\n:param pin: Se puede proporcionar un argumento opcional para especificar un pin; por ejemplo, ``music.stop(pin1)``.\"\"\"\n\ndef reset() -> None:\n \"\"\"Restablece los valores de \"ticks\", \"bpm\", \"duration\" y \"octave\" a sus valores por defecto. (restablecer)\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"Tiras de LED RGB y RGBW accesibles individualmente.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Inicializa una nueva tira de LED NeoPixel controlada a trav\u00e9s de un pin.\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: El pin que controla la tira NeoPixel.\n:param n: El n\u00famero de LED NeoPixel de la tira.\n:param bpp: Bytes por p\u00edxel. Para compatibilidad con NeoPixel RGBW de micro:bit V2, pasa 4 en lugar del valor predeterminado 3 para RGB y GRB.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"Borrar todos los p\u00edxeles. (borrar)\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"Muestra los p\u00edxeles. (mostrar)\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Muestra los p\u00edxeles (solo micro:bit V2). (escribir)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colorea todos los p\u00edxeles con un valor RGB/RGBW dado. (llenar)\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (color) Una tupla de la misma longitud que el n\u00famero de bytes por p\u00edxel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Establece el color de un p\u00edxel. (configurar elemento)\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: (clave) El n\u00famero de p\u00edxel.\n:param value: (valor) El color.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Obtiene el color de un p\u00edxel. (obtener elemento)\n\nExample: ``r, g, b = np[0]``\n\n:param key: (clave) El n\u00famero de p\u00edxel.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"Obtiene la longitud de esta tira de p\u00edxeles. (lon)\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"Tiras de LED RGB y RGBW accesibles individualmente.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Inicializa una nueva tira de LED NeoPixel controlada a trav\u00e9s de un pin.\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: El pin que controla la tira NeoPixel.\n:param n: El n\u00famero de LED NeoPixel de la tira.\n:param bpp: Bytes por p\u00edxel. Para compatibilidad con NeoPixel RGBW, pasa 4 en lugar del valor predeterminado 3 para RGB y GRB.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"Borrar todos los p\u00edxeles. (borrar)\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"Muestra los p\u00edxeles. (mostrar)\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Muestra los p\u00edxeles (solo micro:bit V2). (escribir)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colorea todos los p\u00edxeles con un valor RGB/RGBW dado (solo micro:bit V2). (llenar)\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (color) Una tupla de la misma longitud que el n\u00famero de bytes por p\u00edxel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Establece el color de un p\u00edxel. (configurar elemento)\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: (clave) El n\u00famero de p\u00edxel.\n:param value: (valor) El color.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Obtiene el color de un p\u00edxel. (obtener elemento)\n\nExample: ``r, g, b = np[0]``\n\n:param key: (clave) El n\u00famero de p\u00edxel.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"Obtiene la longitud de esta tira de p\u00edxeles. (lon)\n\nExample: ``len(np)``\"\"\"", "/typeshed/stdlib/os.pyi": "\"\"\"Acceder al sistema de archivos. (so)\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"Lista los archivos.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Elimina un archivo. (eliminar)\n\nExample: ``os.remove('data.txt')``\n\n:param filename: (nombre del archivo) El archivo a eliminar.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Devuelve el tama\u00f1o de un archivo. (tama\u00f1o)\n\nExample: ``os.size('data.txt')``\n\n:param filename: (nombre del archivo) El archivo\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Resultado de ``os.uname()`` (resultado de nombreu)\"\"\"\n sysname: str\n \"\"\"Nombre del sistema operativo. (nombre del sistema)\"\"\"\n nodename: str\n \"\"\"Nombre de la m\u00e1quina en la red (definida por la implementaci\u00f3n). (nombre del nodo)\"\"\"\n release: str\n \"\"\"Versi\u00f3n de lanzamiento del sistema operativo. (lanzamiento)\"\"\"\n version: str\n \"\"\"Versi\u00f3n del sistema operativo. (versi\u00f3n)\"\"\"\n machine: str\n \"\"\"Identificador de hardware. (m\u00e1quina)\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Devuelve informaci\u00f3n que identifica el sistema operativo actual. (nombreu)\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", "/typeshed/stdlib/radio.pyi": "\"\"\"Comunicarse entre micro:bits con la radio incorporada.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"Constante utilizada para indicar un rendimiento de 1 Mb por segundo. (tasa de 1 mbit)\"\"\"\nRATE_2MBIT: int\n\"\"\"Constante utilizada para indicar un rendimiento de 2 Mb por segundo. (tasa de 2 mbit)\"\"\"\n\ndef on() -> None:\n \"\"\"Enciende la radio. (encender)\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Apaga la radio, ahorrando energ\u00eda y memoria. (apagado)\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"Configura la radio.\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (longitud) (valor predeterminado = 32) define la longitud m\u00e1xima, en bytes, de un mensaje enviado a trav\u00e9s de la radio.\nPuede tener hasta 251 bytes de largo (254 - 3 bytes para pre\u00e1mbulos S0, LENGTH y S1).\n:param queue: (cola) (valor predeterminado = 3) especifica el n\u00famero de mensajes que pueden almacenarse en la cola de mensajes entrantes.\nSi no quedan espacios en la cola para los mensajes entrantes, el mensaje entrante ser\u00e1 eliminado.\n:param channel: (canal) (valor predeterminado = 7) un valor entero de 0 a 83 (inclusive) que define un \"canal\" arbitrario en el cual la radio est\u00e1 sintonizada.\nLos mensajes se enviar\u00e1n a trav\u00e9s de este canal y solo los mensajes recibidos a trav\u00e9s de este canal se pondr\u00e1n en la cola de mensajes entrantes. Cada paso es de 1 MHz de ancho, basado en 2400 MHz.\n:param power: (potencia) (valor predeterminado = 6) es un valor entero de 0 a 7 (inclusive) para indicar la fuerza de la se\u00f1al usada al transmitir un mensaje.\nCuanto m\u00e1s alto sea el valor, m\u00e1s fuerte es la se\u00f1al, pero m\u00e1s energ\u00eda consume el dispositivo. La numeraci\u00f3n se traduce a posiciones en la siguiente lista de valores de dBm (decibelio-milivatio): -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (direcci\u00f3n) (valor predeterminado = 0x75626974) un nombre arbitrario, expresado como una direcci\u00f3n de 32 bits, que se usa para filtrar los paquetes entrantes a nivel de hardware, manteniendo solo aquellos que coincidan con la direcci\u00f3n que has establecido.\nEl valor predeterminado utilizado por otras plataformas relacionadas con el micro:bit es la configuraci\u00f3n predeterminada utilizada aqu\u00ed.\n:param group: (grupo) (valor predeterminado = 0) un valor de 8 bits (0 - 255) usado con el valor de ``address`` al filtrar mensajes.\nConceptualmente, \"address\" (direcci\u00f3n) es como una direcci\u00f3n de casa u oficina y \"group\" (grupo) es la persona que est\u00e1 en esa direcci\u00f3n y a la que quieres enviar un mensaje.\n:param data_rate: (tasa de datos) (valor predeterminado = ``radio.RATE_1MBIT``) indica la velocidad a la que se lleva a cabo el procesamiento de datos.\nPuede ser una de las siguientes constantes definidas en el m\u00f3dulo ``radio``: ``RATE_250KBIT``, ``RATE_1MBIT`` o ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Restablece la configuraci\u00f3n a sus valores predeterminados. (restablecer)\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Env\u00eda un mensaje que contiene bytes. (enviar bytes)\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: (mensaje) Los bytes a enviar.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Recibe el siguiente mensaje entrante en la cola de mensajes. (recibir bytes)\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copia el siguiente mensaje entrante de la cola de mensajes en un b\u00fafer. (recibir bytes en)\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: (b\u00fafer) El b\u00fafer de destino. El mensaje se trunca si es m\u00e1s grande que el b\u00fafer.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Env\u00eda una cadena de mensaje. (enviar)\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: (mensaje) La cadena a enviar.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Funciona exactamente del mismo modo que ``receive_bytes``, pero devuelve lo que se envi\u00f3. (recibir)\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Devuelve una tupla de tres valores que representan el siguiente mensaje entrante de la cola de mensajes. (recibir completo)\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", @@ -35,9 +35,9 @@ "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", - "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pines, im\u00e1genes, sonidos, temperatura y volumen.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**. (ejecutar cada)\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Function to call at the provided interval. Omit when using as a decorator.\n:param days: (d\u00edas) Sets the day mark for the scheduling.\n:param h: Sets the hour mark for the scheduling.\n:param min: Sets the minute mark for the scheduling.\n:param s: Sets the second mark for the scheduling.\n:param ms: Sets the millisecond mark for the scheduling.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Entra en modo p\u00e1nico (p\u00e1nico)\n\nExample: ``panic(127)``\n\n:param n: Un entero arbitrario <= 255 para indicar un estado.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Reiniciar la placa. (restablecer)\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: (valor) A number to convert.\n:param from_: A tuple to define the range to convert from.\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: (valor) A number to convert.\n:param from_: A tuple to define the range to convert from.\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Espera ``n`` milisegundos. (dormir)\n\nExample: ``sleep(1000)``\n\n:param n: El n\u00famero de milisegundos a esperar\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Obtiene el tiempo de funcionamiento de la placa. (tiempo de ejecuci\u00f3n)\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Obtiene la temperatura del micro:bit en grados Celcius. (temperatura)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Establece el volumen. (configurar volumen)\n\nExample: ``set_volume(127)``\n\n:param v: un valor entre 0 (bajo) y 255 (alto).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"La clase para los botones ``button_a`` y ``button_b``. (bot\u00f3n)\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Comprueba si el bot\u00f3n est\u00e1 pulsado. (est\u00e1 pulsado)\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"Comprueba si el bot\u00f3n ha sido pulsado desde que se inci\u00f3 el dispositivo o desde la \u00faltima vez que se llam\u00f3 a este m\u00e9todo. (ha sido pulsado)\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Obtiene el total de pulsaciones sucesivas de un bot\u00f3n y restablece este total\na cero. (total de pulsaciones)\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"Objeto ``Button`` para el bot\u00f3n izquierdo. (bot\u00f3n a)\"\"\"\nbutton_b: Button\n\"\"\"Objeto ``Button`` para el bot\u00f3n derecho. (bot\u00f3n b)\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Un pin digital. (pin digital microbit)\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Obtiene el valor digital del pin. (lectura digital)\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Establece el valor digital del pin. (escritura digital)\n\nExample: ``pin0.write_digital(1)``\n\n:param value: (valor) 1 para establecer valor alto en el pin o 0 para valor bajo\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Configura el estado \"pull\" con uno de los tres valores posibles: ``PULL_UP``, ``PULL_DOWN`` o ``NO_PULL``. (configurar pull)\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: (valor) El estado \"pull\" del pin correspondiente, p. ej., ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Obtiene el estado \"pull\" de un pin. (obtener pull)\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Devuelve el modo del pin. (obtener modo)\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Env\u00eda una se\u00f1al PWM al pin, con el ciclo de trabajo proporcional a ``value``. (escritura anal\u00f3gica)\n\nExample: ``pin0.write_analog(254)``\n\n:param value: (valor) Un n\u00famero entero o de coma flotante entre 0 (ciclo de trabajo de 0 %) y 1023 (100 %).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Establece el per\u00edodo de la se\u00f1al PWM enviada a ``period`` milisegundos. (configurar periodo anal\u00f3gico)\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: (per\u00edodo) El per\u00edodo en milisegundos con un valor m\u00ednimo v\u00e1lido de 1 ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Establece el per\u00edodo de la se\u00f1al PWM enviada a ``period`` microsegundos. (configurar periodo anal\u00f3gico en microsegundos)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: (per\u00edodo) El per\u00edodo en microsegundos con un valor m\u00ednimo v\u00e1lido de 256 \u03bcs.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Un pin con caracter\u00edsticas anal\u00f3gicas y digitales. (pin digital y anal\u00f3gico microbit)\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Lee el voltaje aplicado al pin. (lectura anal\u00f3gica)\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Un pin con caracter\u00edsticas anal\u00f3gicas, digitales y t\u00e1ctiles. (pin t\u00e1ctil microbit)\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"Comprueba si se est\u00e1 tocando el pin. (est\u00e1 tocado)\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Establece el modo t\u00e1ctil del pin. (configurar modo t\u00e1ctil)\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: (valor) ``CAPACITIVE`` o ``RESISTIVE`` del pin correspondiente.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin con funciones digitales, anal\u00f3gicas y t\u00e1ctiles.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin con funciones digitales, anal\u00f3gicas y t\u00e1ctiles.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin con funciones digitales, anal\u00f3gicas y t\u00e1ctiles.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin con funciones digitales y anal\u00f3gicas.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin con funciones digitales y anal\u00f3gicas.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin con funciones digitales y anal\u00f3gicas.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Un pin t\u00e1ctil sensible en la parte frontal del micro:bit que por defecto est\u00e1 configurado en modo t\u00e1ctil capacitivo. (pin de logo)\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Un pin para dirigirse al altavoz micro:bit. (pin de altavoz)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Una imagen que se mostrar\u00e1 en la pantalla LED del micro:bit. (imagen)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Imagen de un coraz\u00f3n. (coraz\u00f3n)\"\"\"\n HEART_SMALL: Image\n \"\"\"Imagen de un coraz\u00f3n peque\u00f1o. (coraz\u00f3n peque\u00f1o)\"\"\"\n HAPPY: Image\n \"\"\"Imagen de una cara feliz. (feliz)\"\"\"\n SMILE: Image\n \"\"\"Imagen de una cara sonriente. (sonrisa)\"\"\"\n SAD: Image\n \"\"\"Imagen de una cara triste. (triste)\"\"\"\n CONFUSED: Image\n \"\"\"Imagen de una cara confundida. (confundida)\"\"\"\n ANGRY: Image\n \"\"\"Imagen de una cara enfadada. (enfadada)\"\"\"\n ASLEEP: Image\n \"\"\"Imagen de una cara durmiendo. (dormida)\"\"\"\n SURPRISED: Image\n \"\"\"Imagen de una cara sorprendida. (sorprendida)\"\"\"\n SILLY: Image\n \"\"\"Imagen de una cara tonta. (tonta)\"\"\"\n FABULOUS: Image\n \"\"\"Imagen de una cara con gafas de sol. (fabulosa)\"\"\"\n MEH: Image\n \"\"\"Imagen de una cara indiferente. (indiferente)\"\"\"\n YES: Image\n \"\"\"Imagen de verificaci\u00f3n. (s\u00ed)\"\"\"\n NO: Image\n \"\"\"Imagen de cruz.\"\"\"\n CLOCK12: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 12:00. (reloj12)\"\"\"\n CLOCK11: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 11:00. (reloj11)\"\"\"\n CLOCK10: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 10:00. (reloj10)\"\"\"\n CLOCK9: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 9:00. (reloj9)\"\"\"\n CLOCK8: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 8:00. (reloj8)\"\"\"\n CLOCK7: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 7:00. (reloj7)\"\"\"\n CLOCK6: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 6:00. (reloj6)\"\"\"\n CLOCK5: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 5:00. (reloj5)\"\"\"\n CLOCK4: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 4:00. (reloj4)\"\"\"\n CLOCK3: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 3:00. (reloj3)\"\"\"\n CLOCK2: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 2:00. (reloj2)\"\"\"\n CLOCK1: Image\n \"\"\"Imagen de una l\u00ednea apuntando a la 1:00. (reloj1)\"\"\"\n ARROW_N: Image\n \"\"\"Imagen de una flecha apuntando hacia el norte. (flecha n)\"\"\"\n ARROW_NE: Image\n \"\"\"Imagen de una flecha apuntando hacia el nordeste. (flecha ne)\"\"\"\n ARROW_E: Image\n \"\"\"Imagen de una flecha apuntando hacia el este. (flecha e)\"\"\"\n ARROW_SE: Image\n \"\"\"Imagen de una flecha apuntando hacia el sudeste. (flecha se)\"\"\"\n ARROW_S: Image\n \"\"\"Imagen de una flecha apuntando hacia el sur. (flecha s)\"\"\"\n ARROW_SW: Image\n \"\"\"Imagen de una flecha apuntando hacia el sudoeste. (flecha so)\"\"\"\n ARROW_W: Image\n \"\"\"Imagen de una flecha apuntando hacia el oeste. (flecha o)\"\"\"\n ARROW_NW: Image\n \"\"\"Imagen de una flecha apuntando hacia el noroeste. (flecha no)\"\"\"\n TRIANGLE: Image\n \"\"\"Imagen de un tri\u00e1ngulo apuntando hacia arriba. (tri\u00e1ngulo)\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Imagen de un tri\u00e1ngulo en la esquina izquierda. (tri\u00e1ngulo izquierda)\"\"\"\n CHESSBOARD: Image\n \"\"\"LED iluminados de forma alterna seg\u00fan un patr\u00f3n de tablero de ajedrez. (tablero de ajedrez)\"\"\"\n DIAMOND: Image\n \"\"\"Imagen de un diamante. (diamante)\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Imagen de un diamante peque\u00f1o. (diamante peque\u00f1o)\"\"\"\n SQUARE: Image\n \"\"\"Imagen de un cuadrado. (cuadrado)\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Imagen de un cuadrado peque\u00f1o. (cuadrado peque\u00f1o)\"\"\"\n RABBIT: Image\n \"\"\"Imagen de un conejo. (conejo)\"\"\"\n COW: Image\n \"\"\"Imagen de una vaca. (vaca)\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Imagen de una nota negra. (negra musical)\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Imagen de una nota corchea. (corchea musical)\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Imagen de un par de notas corcheas. (corcheas musicales)\"\"\"\n PITCHFORK: Image\n \"\"\"Imagen de una horca. (horca)\"\"\"\n XMAS: Image\n \"\"\"Imagen de un \u00e1rbol de Navidad. (navidad)\"\"\"\n PACMAN: Image\n \"\"\"Imagen del personaje de videojuegos Pac-Man.\"\"\"\n TARGET: Image\n \"\"\"Imagen de un objetivo. (diana)\"\"\"\n TSHIRT: Image\n \"\"\"Imagen de una camiseta. (camiseta)\"\"\"\n ROLLERSKATE: Image\n \"\"\"Imagen de un pat\u00edn. (pat\u00edn)\"\"\"\n DUCK: Image\n \"\"\"Imagen de un pato. (pato)\"\"\"\n HOUSE: Image\n \"\"\"Imagen de una casa. (casa)\"\"\"\n TORTOISE: Image\n \"\"\"Imagen de una tortuga. (tortuga)\"\"\"\n BUTTERFLY: Image\n \"\"\"Imagen de una mariposa. (mariposa)\"\"\"\n STICKFIGURE: Image\n \"\"\"Imagen de un monigote. (monigote)\"\"\"\n GHOST: Image\n \"\"\"Imagen de un fantasma. (fantasma)\"\"\"\n SWORD: Image\n \"\"\"Imagen de una espada. (espada)\"\"\"\n GIRAFFE: Image\n \"\"\"Imagen de una jirafa. (girafa)\"\"\"\n SKULL: Image\n \"\"\"Imagen de una calavera. (calavera)\"\"\"\n UMBRELLA: Image\n \"\"\"Imagen de un paraguas. (paraguas)\"\"\"\n SNAKE: Image\n \"\"\"Imagen de una serpiente. (serpiente)\"\"\"\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Una lista que contiene todas las im\u00e1genes CLOCK_ en secuencia. (todos los relojes)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Una lista que contiene todas las im\u00e1genes ARROW_ en secuencia. (todas las flechas)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Crea una imagen a partir de una cadena que describe los LED que est\u00e1n encendidos.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: (cadena) La cadena que describe la imagen.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Crea una imagen vac\u00eda con ``width`` columnas y ``height`` filas.\n\n:param width: (ancho) Ancho opcional de la imagen\n:param height: (altura) Altura opcional de la imagen\n:param buffer: (b\u00fafer) Matriz opcional de bytes de ``width`` \u00d7 ``height`` enteros en el rango 0 - 9 para inicializar la imagen\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Obtiene el n\u00famero de columnas. (ancho)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Obtiene el n\u00famero de filas. (altura)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Establece el brillo de un p\u00edxel. (configurar p\u00edxel)\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: El n\u00famero de columna\n:param y: El n\u00famero de fila\n:param value: (valor) El brillo expresado como un entero entre 0 (oscuro) y 9 (brillante)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Obtiene el brillo de un p\u00edxel. (obtener p\u00edxel)\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: El n\u00famero de columna\n:param y: El n\u00famero de fila\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia la izquierda. (desplazamiento a la izquierda)\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: El n\u00famero de columnas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia la derecha. (desplazamiento a la derecha)\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: El n\u00famero de columnas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia arriba. (desplazamiento hacia arriba)\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: El n\u00famero de filas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia abajo. (desplazamiento hacia abajo)\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: El n\u00famero de filas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Crear una nueva imagen recortando la imagen. (recortar)\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: La columna de desplazamiento del recorte\n:param y: La fila de desplazamiento del recorte\n:param w: (a) El ancho del recorte\n:param h: La altura del recorte\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Crea una copia exacta de la imagen. (copiar)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Crea una nueva imagen invirtiendo el brillo de los p\u00edxeles de la\nimagen de origen. (invertir)\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Establece el brillo de todos los p\u00edxeles de la imagen. (llenar)\n\nExample: ``my_image.fill(5)``\n\n:param value: (valor) El nuevo brillo expresado como un n\u00famero entre 0 (oscuro) y 9 (brillante).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Copia un \u00e1rea de otra imagen en esta imagen.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: (org) La imagen de origen\n:param x: El desplazamiento de columna inicial en la imagen de origen\n:param y: El desplazamiento de fila inicial en la imagen de origen\n:param w: (a) El n\u00famero de columnas a copiar\n:param h: El n\u00famero de filas a copiar\n:param xdest: El desplazamiento de columna a modificar en esta imagen\n:param ydest: El desplazamiento de fila a modificar en esta imagen\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Obtiene una representaci\u00f3n en cadena compacta de la imagen.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Obtiene una representaci\u00f3n en cadena legible de la imagen. (cad)\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Crea una nueva imagen sumando los valores de brillo de las dos im\u00e1genes\npara cada p\u00edxel. (a\u00f1adir)\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: (otro) La imagen a a\u00f1adir.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Crea una nueva imagen restando los valores de brillo de la otra imagen a los de esta imagen. (rest)\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: (otro) La imagen a restar.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Crea una nueva imagen multiplicando el brillo de cada p\u00edxel por ``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: El valor por el que multiplicar.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Crea una nueva imagen dividiendo el brillo de cada p\u00edxel entre ``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: El valor entre el que dividir.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Representa la transici\u00f3n de eventos de sonido, desde ``quiet`` a ``loud``, como aplaudir o gritar. (alto)\"\"\"\n QUIET: SoundEvent\n \"\"\"Representa la transici\u00f3n de eventos de sonido, desde ``loud`` hasta ``quiet``, como hablar o una m\u00fasica de fondo. (silencioso)\"\"\"\n\nclass Sound:\n \"\"\"Los sonidos predefinidos pueden llamarse usando ``audio.play(Sound.NAME)``. (sonido)\"\"\"\n GIGGLE: Sound\n \"\"\"Sonido de risita. (risita)\"\"\"\n HAPPY: Sound\n \"\"\"Sonido alegre. (feliz)\"\"\"\n HELLO: Sound\n \"\"\"Sonido de saludo. (hola)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Sonido misterioso. (misterioso)\"\"\"\n SAD: Sound\n \"\"\"Sonido triste. (triste)\"\"\"\n SLIDE: Sound\n \"\"\"Sonido deslizante. (deslizante)\"\"\"\n SOARING: Sound\n \"\"\"Sonido creciente. (creciente)\"\"\"\n SPRING: Sound\n \"\"\"Sonido de muelle. (muelle)\"\"\"\n TWINKLE: Sound\n \"\"\"Sonido parpadeante. (parpadeante)\"\"\"\n YAWN: Sound\n \"\"\"Sonido de bostezo. (bostezo)\"\"\"", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pines, im\u00e1genes, sonidos, temperatura y volumen.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**. (ejecutar cada)\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Function to call at the provided interval. Omit when using as a decorator.\n:param days: (d\u00edas) Sets the day mark for the scheduling.\n:param h: Sets the hour mark for the scheduling.\n:param min: Sets the minute mark for the scheduling.\n:param s: Sets the second mark for the scheduling.\n:param ms: Sets the millisecond mark for the scheduling.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Entra en modo p\u00e1nico (p\u00e1nico)\n\nExample: ``panic(127)``\n\n:param n: Un entero arbitrario <= 255 para indicar un estado.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Reiniciar la placa. (restablecer)\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: (valor) A number to convert.\n:param from_: A tuple to define the range to convert from.\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: (valor) A number to convert.\n:param from_: A tuple to define the range to convert from.\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Espera ``n`` milisegundos. (dormir)\n\nExample: ``sleep(1000)``\n\n:param n: El n\u00famero de milisegundos a esperar\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Obtiene el tiempo de funcionamiento de la placa. (tiempo de ejecuci\u00f3n)\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Obtiene la temperatura del micro:bit en grados Celsius. (temperatura)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Establece el volumen. (configurar volumen)\n\nExample: ``set_volume(127)``\n\n:param v: un valor entre 0 (bajo) y 255 (alto).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"La clase para los botones ``button_a`` y ``button_b``. (bot\u00f3n)\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Comprueba si el bot\u00f3n est\u00e1 pulsado. (est\u00e1 pulsado)\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"Comprueba si el bot\u00f3n ha sido pulsado desde que se inci\u00f3 el dispositivo o desde la \u00faltima vez que se llam\u00f3 a este m\u00e9todo. (ha sido pulsado)\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Obtiene el total de pulsaciones sucesivas de un bot\u00f3n y restablece este total\na cero. (total de pulsaciones)\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"Objeto ``Button`` para el bot\u00f3n izquierdo. (bot\u00f3n a)\"\"\"\nbutton_b: Button\n\"\"\"Objeto ``Button`` para el bot\u00f3n derecho. (bot\u00f3n b)\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Un pin digital. (pin digital microbit)\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Obtiene el valor digital del pin. (lectura digital)\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Establece el valor digital del pin. (escritura digital)\n\nExample: ``pin0.write_digital(1)``\n\n:param value: (valor) 1 para establecer valor alto en el pin o 0 para valor bajo\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Configura el estado \"pull\" con uno de los tres valores posibles: ``PULL_UP``, ``PULL_DOWN`` o ``NO_PULL``. (configurar pull)\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: (valor) El estado \"pull\" del pin correspondiente, p. ej., ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Obtiene el estado \"pull\" de un pin. (obtener pull)\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Devuelve el modo del pin. (obtener modo)\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Env\u00eda una se\u00f1al PWM al pin, con el ciclo de trabajo proporcional a ``value``. (escritura anal\u00f3gica)\n\nExample: ``pin0.write_analog(254)``\n\n:param value: (valor) Un n\u00famero entero o de coma flotante entre 0 (ciclo de trabajo de 0 %) y 1023 (100 %).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Establece el per\u00edodo de la se\u00f1al PWM enviada a ``period`` milisegundos. (configurar periodo anal\u00f3gico)\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: (per\u00edodo) El per\u00edodo en milisegundos con un valor m\u00ednimo v\u00e1lido de 1 ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Establece el per\u00edodo de la se\u00f1al PWM enviada a ``period`` microsegundos. (configurar periodo anal\u00f3gico en microsegundos)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: (per\u00edodo) El per\u00edodo en microsegundos con un valor m\u00ednimo v\u00e1lido de 256 \u03bcs.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Un pin con caracter\u00edsticas anal\u00f3gicas y digitales. (pin digital y anal\u00f3gico microbit)\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Lee el voltaje aplicado al pin. (lectura anal\u00f3gica)\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Un pin con caracter\u00edsticas anal\u00f3gicas, digitales y t\u00e1ctiles. (pin t\u00e1ctil microbit)\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"Comprueba si se est\u00e1 tocando el pin. (est\u00e1 tocado)\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Establece el modo t\u00e1ctil del pin. (configurar modo t\u00e1ctil)\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: (valor) ``CAPACITIVE`` o ``RESISTIVE`` del pin correspondiente.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin con funciones digitales, anal\u00f3gicas y t\u00e1ctiles.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin con funciones digitales, anal\u00f3gicas y t\u00e1ctiles.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin con funciones digitales, anal\u00f3gicas y t\u00e1ctiles.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin con funciones digitales y anal\u00f3gicas.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin con funciones digitales y anal\u00f3gicas.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin con funciones digitales y anal\u00f3gicas.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Un pin t\u00e1ctil sensible en la parte frontal del micro:bit que por defecto est\u00e1 configurado en modo t\u00e1ctil capacitivo. (pin de logo)\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Un pin para dirigirse al altavoz micro:bit. (pin de altavoz)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Una imagen que se mostrar\u00e1 en la pantalla LED del micro:bit. (imagen)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Imagen de un coraz\u00f3n. (coraz\u00f3n)\"\"\"\n HEART_SMALL: Image\n \"\"\"Imagen de un coraz\u00f3n peque\u00f1o. (coraz\u00f3n peque\u00f1o)\"\"\"\n HAPPY: Image\n \"\"\"Imagen de una cara feliz. (feliz)\"\"\"\n SMILE: Image\n \"\"\"Imagen de una cara sonriente. (sonrisa)\"\"\"\n SAD: Image\n \"\"\"Imagen de una cara triste. (triste)\"\"\"\n CONFUSED: Image\n \"\"\"Imagen de una cara confundida. (confundida)\"\"\"\n ANGRY: Image\n \"\"\"Imagen de una cara enfadada. (enfadada)\"\"\"\n ASLEEP: Image\n \"\"\"Imagen de una cara durmiendo. (dormida)\"\"\"\n SURPRISED: Image\n \"\"\"Imagen de una cara sorprendida. (sorprendida)\"\"\"\n SILLY: Image\n \"\"\"Imagen de una cara tonta. (tonta)\"\"\"\n FABULOUS: Image\n \"\"\"Imagen de una cara con gafas de sol. (fabulosa)\"\"\"\n MEH: Image\n \"\"\"Imagen de una cara indiferente. (indiferente)\"\"\"\n YES: Image\n \"\"\"Imagen de verificaci\u00f3n. (s\u00ed)\"\"\"\n NO: Image\n \"\"\"Imagen de cruz.\"\"\"\n CLOCK12: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 12:00. (reloj12)\"\"\"\n CLOCK11: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 11:00. (reloj11)\"\"\"\n CLOCK10: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 10:00. (reloj10)\"\"\"\n CLOCK9: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 9:00. (reloj9)\"\"\"\n CLOCK8: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 8:00. (reloj8)\"\"\"\n CLOCK7: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 7:00. (reloj7)\"\"\"\n CLOCK6: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 6:00. (reloj6)\"\"\"\n CLOCK5: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 5:00. (reloj5)\"\"\"\n CLOCK4: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 4:00. (reloj4)\"\"\"\n CLOCK3: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 3:00. (reloj3)\"\"\"\n CLOCK2: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 2:00. (reloj2)\"\"\"\n CLOCK1: Image\n \"\"\"Imagen de una l\u00ednea apuntando a la 1:00. (reloj1)\"\"\"\n ARROW_N: Image\n \"\"\"Imagen de una flecha apuntando hacia el norte. (flecha n)\"\"\"\n ARROW_NE: Image\n \"\"\"Imagen de una flecha apuntando hacia el nordeste. (flecha ne)\"\"\"\n ARROW_E: Image\n \"\"\"Imagen de una flecha apuntando hacia el este. (flecha e)\"\"\"\n ARROW_SE: Image\n \"\"\"Imagen de una flecha apuntando hacia el sudeste. (flecha se)\"\"\"\n ARROW_S: Image\n \"\"\"Imagen de una flecha apuntando hacia el sur. (flecha s)\"\"\"\n ARROW_SW: Image\n \"\"\"Imagen de una flecha apuntando hacia el sudoeste. (flecha so)\"\"\"\n ARROW_W: Image\n \"\"\"Imagen de una flecha apuntando hacia el oeste. (flecha o)\"\"\"\n ARROW_NW: Image\n \"\"\"Imagen de una flecha apuntando hacia el noroeste. (flecha no)\"\"\"\n TRIANGLE: Image\n \"\"\"Imagen de un tri\u00e1ngulo apuntando hacia arriba. (tri\u00e1ngulo)\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Imagen de un tri\u00e1ngulo en la esquina izquierda. (tri\u00e1ngulo izquierda)\"\"\"\n CHESSBOARD: Image\n \"\"\"LED iluminados de forma alterna seg\u00fan un patr\u00f3n de tablero de ajedrez. (tablero de ajedrez)\"\"\"\n DIAMOND: Image\n \"\"\"Imagen de un diamante. (diamante)\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Imagen de un diamante peque\u00f1o. (diamante peque\u00f1o)\"\"\"\n SQUARE: Image\n \"\"\"Imagen de un cuadrado. (cuadrado)\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Imagen de un cuadrado peque\u00f1o. (cuadrado peque\u00f1o)\"\"\"\n RABBIT: Image\n \"\"\"Imagen de un conejo. (conejo)\"\"\"\n COW: Image\n \"\"\"Imagen de una vaca. (vaca)\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Imagen de una nota negra. (negra musical)\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Imagen de una nota corchea. (corchea musical)\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Imagen de un par de notas corcheas. (corcheas musicales)\"\"\"\n PITCHFORK: Image\n \"\"\"Imagen de una horca. (horca)\"\"\"\n XMAS: Image\n \"\"\"Imagen de un \u00e1rbol de Navidad. (navidad)\"\"\"\n PACMAN: Image\n \"\"\"Imagen del personaje de videojuegos Pac-Man.\"\"\"\n TARGET: Image\n \"\"\"Imagen de un objetivo. (diana)\"\"\"\n TSHIRT: Image\n \"\"\"Imagen de una camiseta. (camiseta)\"\"\"\n ROLLERSKATE: Image\n \"\"\"Imagen de un pat\u00edn. (pat\u00edn)\"\"\"\n DUCK: Image\n \"\"\"Imagen de un pato. (pato)\"\"\"\n HOUSE: Image\n \"\"\"Imagen de una casa. (casa)\"\"\"\n TORTOISE: Image\n \"\"\"Imagen de una tortuga. (tortuga)\"\"\"\n BUTTERFLY: Image\n \"\"\"Imagen de una mariposa. (mariposa)\"\"\"\n STICKFIGURE: Image\n \"\"\"Imagen de un monigote. (monigote)\"\"\"\n GHOST: Image\n \"\"\"Imagen de un fantasma. (fantasma)\"\"\"\n SWORD: Image\n \"\"\"Imagen de una espada. (espada)\"\"\"\n GIRAFFE: Image\n \"\"\"Imagen de una jirafa. (girafa)\"\"\"\n SKULL: Image\n \"\"\"Imagen de una calavera. (calavera)\"\"\"\n UMBRELLA: Image\n \"\"\"Imagen de un paraguas. (paraguas)\"\"\"\n SNAKE: Image\n \"\"\"Imagen de una serpiente. (serpiente)\"\"\"\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Una lista que contiene todas las im\u00e1genes CLOCK_ en secuencia. (todos los relojes)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Una lista que contiene todas las im\u00e1genes ARROW_ en secuencia. (todas las flechas)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Crea una imagen a partir de una cadena que describe los LED que est\u00e1n encendidos.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: (cadena) La cadena que describe la imagen.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Crea una imagen vac\u00eda con ``width`` columnas y ``height`` filas.\n\n:param width: (ancho) Ancho opcional de la imagen\n:param height: (altura) Altura opcional de la imagen\n:param buffer: (b\u00fafer) Matriz opcional de bytes de ``width`` \u00d7 ``height`` enteros en el rango 0 - 9 para inicializar la imagen\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Obtiene el n\u00famero de columnas. (ancho)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Obtiene el n\u00famero de filas. (altura)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Establece el brillo de un p\u00edxel. (configurar p\u00edxel)\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: El n\u00famero de columna\n:param y: El n\u00famero de fila\n:param value: (valor) El brillo expresado como un entero entre 0 (oscuro) y 9 (brillante)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Obtiene el brillo de un p\u00edxel. (obtener p\u00edxel)\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: El n\u00famero de columna\n:param y: El n\u00famero de fila\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia la izquierda. (desplazamiento a la izquierda)\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: El n\u00famero de columnas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia la derecha. (desplazamiento a la derecha)\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: El n\u00famero de columnas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia arriba. (desplazamiento hacia arriba)\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: El n\u00famero de filas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia abajo. (desplazamiento hacia abajo)\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: El n\u00famero de filas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Crear una nueva imagen recortando la imagen. (recortar)\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: La columna de desplazamiento del recorte\n:param y: La fila de desplazamiento del recorte\n:param w: (a) El ancho del recorte\n:param h: La altura del recorte\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Crea una copia exacta de la imagen. (copiar)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Crea una nueva imagen invirtiendo el brillo de los p\u00edxeles de la\nimagen de origen. (invertir)\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Establece el brillo de todos los p\u00edxeles de la imagen. (llenar)\n\nExample: ``my_image.fill(5)``\n\n:param value: (valor) El nuevo brillo expresado como un n\u00famero entre 0 (oscuro) y 9 (brillante).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Copia un \u00e1rea de otra imagen en esta imagen.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: (org) La imagen de origen\n:param x: El desplazamiento de columna inicial en la imagen de origen\n:param y: El desplazamiento de fila inicial en la imagen de origen\n:param w: (a) El n\u00famero de columnas a copiar\n:param h: El n\u00famero de filas a copiar\n:param xdest: El desplazamiento de columna a modificar en esta imagen\n:param ydest: El desplazamiento de fila a modificar en esta imagen\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Obtiene una representaci\u00f3n en cadena compacta de la imagen.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Obtiene una representaci\u00f3n en cadena legible de la imagen. (cad)\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Crea una nueva imagen sumando los valores de brillo de las dos im\u00e1genes\npara cada p\u00edxel. (a\u00f1adir)\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: (otro) La imagen a a\u00f1adir.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Crea una nueva imagen restando los valores de brillo de la otra imagen a los de esta imagen. (rest)\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: (otro) La imagen a restar.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Crea una nueva imagen multiplicando el brillo de cada p\u00edxel por ``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: El valor por el que multiplicar.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Crea una nueva imagen dividiendo el brillo de cada p\u00edxel entre ``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: El valor entre el que dividir.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Representa la transici\u00f3n de eventos de sonido, desde ``quiet`` a ``loud``, como aplaudir o gritar. (alto)\"\"\"\n QUIET: SoundEvent\n \"\"\"Representa la transici\u00f3n de eventos de sonido, desde ``loud`` hasta ``quiet``, como hablar o una m\u00fasica de fondo. (silencioso)\"\"\"\n\nclass Sound:\n \"\"\"Los sonidos predefinidos pueden llamarse usando ``audio.play(Sound.NAME)``. (sonido)\"\"\"\n GIGGLE: Sound\n \"\"\"Sonido de risita. (risita)\"\"\"\n HAPPY: Sound\n \"\"\"Sonido alegre. (feliz)\"\"\"\n HELLO: Sound\n \"\"\"Sonido de saludo. (hola)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Sonido misterioso. (misterioso)\"\"\"\n SAD: Sound\n \"\"\"Sonido triste. (triste)\"\"\"\n SLIDE: Sound\n \"\"\"Sonido deslizante. (deslizante)\"\"\"\n SOARING: Sound\n \"\"\"Sonido creciente. (creciente)\"\"\"\n SPRING: Sound\n \"\"\"Sonido de muelle. (muelle)\"\"\"\n TWINKLE: Sound\n \"\"\"Sonido parpadeante. (parpadeante)\"\"\"\n YAWN: Sound\n \"\"\"Sonido de bostezo. (bostezo)\"\"\"", "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Mide la aceleraci\u00f3n del micro:bit y reconoce gestos. (aceler\u00f3metro)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Obtiene la medici\u00f3n de la aceleraci\u00f3n en el eje ``x`` en mili-g. (obtener x)\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Obtiene la medici\u00f3n de la aceleraci\u00f3n en el eje ``y`` en mili-g. (obtener y)\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Obtiene la medici\u00f3n de la aceleraci\u00f3n en el eje ``z`` en mili-g. (obtener z)\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Obtiene las mediciones de las aceleraciones en todos los ejes como una tupla. (obtener valores)\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Obtiene el nombre del gesto actual. (gesto actual)\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Comprueba si el gesto est\u00e1 actualmente activo. (gesto activo)\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (nombre) El nombre del gesto.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Comprueba si el gesto estuvo activo desde la \u00faltima llamada. (gesto anterior)\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (nombre) El nombre del gesto.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Devuelve una tupla con el historial de gestos. (obtener gestos)\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: (valor) New range for the accelerometer, an integer in ``g``.\"\"\"", - "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Reproducir sonidos usando el micro:bit (importar ``audio`` para compatibilidad con V1).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames. (reproducir)\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (origen) A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n:param wait: (esperar) Si ``wait`` es ``True`` (verdadero), la funci\u00f3n se bloquear\u00e1 hasta que el sonido finalice.\n:param pin: Se puede usar un argumento opcional para especificar el pin de salida, reemplazando el valor predeterminado de ``pin0``. Si no queremos que se reproduzca ning\u00fan sonido, podemos usar ``pin=None``.\n:param return_pin: (devolver pin) Especifica un pin de conector de borde diferencial para conectarse a un altavoz externo en lugar de tierra. Esto se ignora para la revisi\u00f3n **V2**.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Comprueba si se est\u00e1 reproduciendo un sonido. (reproduciendo)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Detiene la reproducci\u00f3n de audio. (detener)\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremelo effect option used for the ``fx`` parameter.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999`` (duraci\u00f3n)\"\"\"\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Create a new sound effect.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param duration: (duraci\u00f3n) Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n:param vol_start: Start volume value, a number between ``0`` and ``255``.\n:param vol_end: End volume value, a number between ``0`` and ``255``.\n:param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n:param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n:param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``. (copiar)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Un objeto ``AudioFrame`` es una lista de 32 muestras, cada una de las cuales es un byte\nsin signo (n\u00famero entero entre 0 y 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (otro) ``AudioFrame`` instance from which to copy the data.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Reproducir sonidos usando el micro:bit (importar ``audio`` para compatibilidad con V1).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames. (reproducir)\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (origen) A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n:param wait: (esperar) Si ``wait`` es ``True`` (verdadero), la funci\u00f3n se bloquear\u00e1 hasta que el sonido finalice.\n:param pin: Se puede usar un argumento opcional para especificar el pin de salida, reemplazando el valor predeterminado de ``pin0``. Si no queremos que se reproduzca ning\u00fan sonido, podemos usar ``pin=None``.\n:param return_pin: (devolver pin) Especifica un pin de conector de borde diferencial para conectarse a un altavoz externo en lugar de tierra. Esto se ignora para la revisi\u00f3n **V2**.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Comprueba si se est\u00e1 reproduciendo un sonido. (reproduciendo)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Detiene la reproducci\u00f3n de audio. (detener)\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999`` (duraci\u00f3n)\"\"\"\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Create a new sound effect.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param duration: (duraci\u00f3n) Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n:param vol_start: Start volume value, a number between ``0`` and ``255``.\n:param vol_end: End volume value, a number between ``0`` and ``255``.\n:param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n:param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n:param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``. (copiar)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Un objeto ``AudioFrame`` es una lista de 32 muestras, cada una de las cuales es un byte\nsin signo (n\u00famero entero entre 0 y 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (otro) ``AudioFrame`` instance from which to copy the data.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Usar la br\u00fajula incorporada. (br\u00fajula)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Inicia el proceso de calibraci\u00f3n. (calibrar)\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Comprueba si la br\u00fajula est\u00e1 calibrada. (est\u00e1 calibrado)\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Deshace la calibraci\u00f3n, haciendo que la br\u00fajula est\u00e9 otra vez sin calibrar. (eliminar calibraci\u00f3n)\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Obtiene la fuerza del campo magn\u00e9tico en el eje ``x``. (obtener x)\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Obtiene la fuerza del campo magn\u00e9tico en el eje ``y``. (obtener y)\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Obtiene la fuerza del campo magn\u00e9tico en el eje ``z``. (obtener z)\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Obtiene el rumbo de la br\u00fajula. (rumbo)\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Obtiene la magnitud del campo magn\u00e9tico alrededor del dispositivo. (obtener fuerza del campo)\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Mostrar texto, im\u00e1genes y animaciones en la pantalla LED de 5 \u00d7 5. (pantalla)\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Obtiene el brillo del LED que hay en la columna ``x`` y fila ``y``. (obtener p\u00edxel)\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: La columna de la pantalla (0..4)\n:param y: La fila de la pantalla (0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Establece el brillo del LED que hay en la columna ``x`` y fila ``y``. (configurar p\u00edxel)\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: La columna de la pantalla (0..4)\n:param y: La fila de la pantalla (0..4)\n:param value: (valor) El brillo entre 0 (apagado) y 9 (brillante)\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Ajusta el brillo de todos los LED a 0 (apagado). (borrar)\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"Muestra im\u00e1genes, letras o d\u00edgitos en la pantalla LED. (mostrar)\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: (imagen) Una cadena, n\u00famero, imagen o lista de im\u00e1genes para mostrar.\n:param delay: (retardo) Cada letra, d\u00edgito o imagen se muestra con ``delay`` milisegundos de retardo entre ellos.\n:param wait: (esperar) Si ``wait`` es ``True`` (verdadero), la funci\u00f3n se bloquear\u00e1 hasta que finalice la animaci\u00f3n; de lo contrario, la animaci\u00f3n se ejecutar\u00e1 en segundo plano.\n:param loop: (bucle) Si ``loop`` es ``True`` (verdadero), la animaci\u00f3n se repetir\u00e1 para siempre.\n:param clear: (borrar) Si ``clear`` es ``True`` (verdadero), la pantalla se borrar\u00e1 una vez que la secuencia haya terminado.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"Desplaza un n\u00famero o texto por la pantalla LED. (desplazar)\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: (texto) La cadena a desplazar. Si ``text`` es un entero o de coma flotante, primero se convertir\u00e1 a cadena usando ``str()``.\n:param delay: (retardo) El par\u00e1metro ``delay`` controla la velocidad de desplazamiento del texto.\n:param wait: (esperar) Si ``wait`` es ``True`` (verdadero), la funci\u00f3n se bloquear\u00e1 hasta que finalice la animaci\u00f3n; de lo contrario, la animaci\u00f3n se ejecutar\u00e1 en segundo plano.\n:param loop: (bucle) Si ``loop`` es ``True`` (verdadero), la animaci\u00f3n se repetir\u00e1 para siempre.\n:param monospace: Si ``monospace`` es ``True`` (verdadero), todos los caracteres ocupar\u00e1n columnas de 5 p\u00edxeles de ancho; de lo contrario, habr\u00e1 exactamente 1 columna de p\u00edxeles vac\u00edos entre cada car\u00e1cter a medida que se desplazan.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Enciende la pantalla LED. (encendido)\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Apaga la pantalla LED (desactivar la pantalla te permite reutilizar los pines GPIO para otros fines). (apagado)\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Comprueba si la pantalla LED est\u00e1 activada. (est\u00e1 encendido)\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Lee el nivel de luz. (leer nivel de luz)\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Comunicarse con dispositivos que usan el protocolo de bus I\u00b2C.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Reinicia un perif\u00e9rico. (inic)\n\nExample: ``i2c.init()``\n\n:param freq: (frec) frecuencia del reloj\n:param sda: pin ``sda`` (por defecto, 20)\n:param scl: pin ``scl`` (por defecto, 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Escanea el bus para buscar dispositivos. (escanear)\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Lee bytes de un dispositivo. (leer)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: (dir) La direcci\u00f3n de 7 bits del dispositivo\n:param n: El n\u00famero de bytes a leer\n:param repeat: (repetir) Si es ``True`` (verdadero), no se enviar\u00e1 ning\u00fan bit de parada\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Escribe bytes en un dispositivo. (escribir)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: (dir) La direcci\u00f3n de 7 bits del dispositivo\n:param buf: (b\u00faf) Un b\u00fafer que contiene los bytes a escribir\n:param repeat: (repetir) Si es ``True`` (verdadero), no se enviar\u00e1 ning\u00fan bit de parada\"\"\"\n ...", diff --git a/src/micropython/main/typeshed.fr.json b/src/micropython/main/typeshed.fr.json index ff7717690..987c50779 100644 --- a/src/micropython/main/typeshed.fr.json +++ b/src/micropython/main/typeshed.fr.json @@ -14,7 +14,7 @@ "/typeshed/stdlib/math.pyi": "\"\"\"Fonctions math\u00e9matiques.\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calculer le cosinus invers\u00e9.\n\nExample: ``math.acos(1)``\n\n:param x: Un nombre\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calculer le sinus invers\u00e9.\n\nExample: ``math.asin(0)``\n\n:param x: Un nombre\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calculer la tangente inverse.\n\nExample: ``math.atan(0)``\n\n:param x: Un nombre\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calculer la valeur principale de la tangente inverse de ``y/x``.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: Un nombre\n:param x: Un nombre\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Arrondir un nombre vers l'infini positif.\n\nExample: ``math.ceil(0.1)``\n\n:param x: Un nombre\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calculer ``x`` avec le signe de ``y``.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: Un nombre\n:param y: La source du signe pour la valeur de retour\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calculer le cosinus de ``x``.\n\nExample: ``math.cos(0)``\n\n:param x: Un nombre\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convertir les radians en degr\u00e9s. (degr\u00e9s)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: Une valeur en radians\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calculer l'exponentiel de ``x``.\n\nExample: ``math.exp(1)``\n\n:param x: Un nombre\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Renvoie la valeur absolue de ``x``.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: Un nombre\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Arrondir un nombre vers l'infini n\u00e9gatif.\n\nExample: ``math.floor(0.9)``\n\n:param x: Un nombre\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calculer le reste de ``x/y``.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: Le num\u00e9rateur\n:param y: Le d\u00e9nominateur\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"D\u00e9compose un nombre \u00e0 virgule flottante en sa mantisse et son exposant.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: Un nombre \u00e0 virgule flottante\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"V\u00e9rifier si une valeur est finie.\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: Un nombre.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"V\u00e9rifie si une valeur est infinie.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: Un nombre.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"V\u00e9rifie si une valeur n'est pas un nombre (NaN).\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: Un nombre\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calculer ``x * (2**exp)``.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: Un nombre\n:param exp: Exposant entier\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"Calculer le logarithme de ``x`` \u00e0 la base donn\u00e9e (logarithme naturel par d\u00e9faut).\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: Un nombre\n:param base: La base \u00e0 utiliser\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calculer les parties fractionnelles et int\u00e9grales de ``x``.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: Un nombre\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Renvoie ``x`` \u00e0 la puissance ``y``.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: Un nombre\n:param y: L'exposant\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Convertir les degr\u00e9s en radians.\n\nExample: ``math.radians(360)``\n\n:param x: Une valeur en degr\u00e9s\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calculer le sinus de ``x``.\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: Un nombre\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calculer la racine carr\u00e9e de ``x``.\n\nExample: ``math.sqrt(4)``\n\n:param x: Un nombre\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calculer la tangente de ``x``.\n\nExample: ``math.tan(0)``\n\n:param x: Un nombre\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Arrondir un nombre vers 0.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: Un nombre\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"Base du logarithme naturel\"\"\"\npi: float\n\"\"\"Le ratio entre la circonf\u00e9rence d'un cercle et son diam\u00e8tre\"\"\"", "/typeshed/stdlib/micropython.pyi": "\"\"\"Les coulisses de MicroPython.\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"Utilis\u00e9 pour d\u00e9clarer que l'expression est une constante afin que le compilateur puisse\nl'optimiser.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: Une expression constante.\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"R\u00e9cup\u00e8re le niveau d'optimisation actuel pour la compilation des scripts.\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"D\u00e9finir le niveau d'optimisation pour la compilation ult\u00e9rieure des scripts.\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: Un entier indiquant le niveau d'optimisation.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"Afficher des informations sur la m\u00e9moire actuellement utilis\u00e9e.\n\nExample: ``micropython.mem_info()``\n\n:param verbose: Si l'argument ``verbose`` est sp\u00e9cifi\u00e9, des informations suppl\u00e9mentaires seront affich\u00e9es.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"Affiche des informations sur les cha\u00eenes de caract\u00e8res internalis\u00e9es.\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: Si l'argument ``verbose`` est sp\u00e9cifi\u00e9, des informations suppl\u00e9mentaires seront affich\u00e9es.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Renvoie un nombre entier repr\u00e9sentant la taille de la pile en cours d'utilisation.\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Verrouille le tas (heap).\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"D\u00e9verrouille le tas (heap).\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"D\u00e9finir le caract\u00e8re qui l\u00e8vera une exception ``KeyboardInterrupt``.\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: Code de caract\u00e8re pour g\u00e9n\u00e9rer l'interruption ou -1 pour d\u00e9sactiver la capture de Ctrl-C.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", "/typeshed/stdlib/music.pyi": "\"\"\"Cr\u00e9er et jouer des m\u00e9lodies.\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"M\u00e9lodie : l'ouverture de la 5e symphonie en do mineur de Beethoven.\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"M\u00e9lodie : le fragment d'ouverture du classique de ragtime \"The Entertainer\" de Scott Joplin.\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"M\u00e9lodie : le pr\u00e9lude et fugue en ut majeur (BWV 846) de Jean-S\u00e9bastien Bach.\"\"\"\nODE: Tuple[str, ...]\n\"\"\"M\u00e9lodie : le th\u00e8me de l'\"Ode \u00e0 la joie\" de la 9e symphonie en r\u00e9 mineur de Beethoven.\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"M\u00e9lodie : le th\u00e8me de Nyan Cat (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"M\u00e9lodie : son qui ressemble \u00e0 une sonnerie de t\u00e9l\u00e9phone mobile.\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"M\u00e9lodie : une ligne de basse funky pour les agents secrets et les cerveaux criminels.\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"M\u00e9lodie : une walking bass blues de boogie-woogie \u00e0 12 mesures.\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"M\u00e9lodie : \u00ab Joyeux anniversaire\u2026\u00bb\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"M\u00e9lodie : la marche nuptiale de l'op\u00e9ra \"Lohengrin\" de Wagner.\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"M\u00e9lodie : la \"marche fun\u00e8bre \" aussi connue sous le nom de Sonate pour piano n\u00b0 2 en B\u266d mineur, opus 35 de Fr\u00e9d\u00e9ric Chopin.\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"M\u00e9lodie : un extrait amusant qui signifie qu'une blague a \u00e9t\u00e9 faite.\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"M\u00e9lodie : La marche \"Liberty Bell\" de John Philip Sousa, alias le th\u00e8me du \"Monty Python's Flying Circus\" (qui a donn\u00e9 son nom au langage de programmation Python).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"M\u00e9lodie\\xa0: entr\u00e9e d'un m\u00e9chant \u00e0 l'\u00e9poque des films muets.\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"M\u00e9lodie : sc\u00e8ne de poursuite \u00e0 l'\u00e9poque du film muet.\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"M\u00e9lodie : un signal court pour indiquer que quelque chose s'est produit.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"M\u00e9lodie : un trombone tr\u00e8s triste.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"M\u00e9lodie\\xa0: pour une utilisation dans un jeu, indiquant un mouvement vers le haut.\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"M\u00e9lodie\\xa0: pour une utilisation dans un jeu, indiquant un mouvement vers le bas.\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"M\u00e9lodie : une fanfare pour indiquer un succ\u00e8s d\u00e9bloqu\u00e9.\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"M\u00e9lodie : une fanfare triste pour indiquer un succ\u00e8s manqu\u00e9.\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"D\u00e9finir le tempo approximatif pour la lecture.\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: Le nombre de ticks constituant un battement.\n:param bpm: Un entier d\u00e9terminant le nombre de battements par minute.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"R\u00e9cup\u00e9rer le tempo actuel sous la forme d'un tuple d'entiers : ``(ticks, bpm)``.\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"Jouer de la musique.\n\nExample: ``music.play(music.NYAN)``\n\n:param music: musique sp\u00e9cifi\u00e9e dans `une notation sp\u00e9ciale `_\n:param pin: (broche) la broche de sortie \u00e0 utiliser avec un haut-parleur externe (par d\u00e9faut ``pin0``), ``None`` pour aucun son.\n:param wait: Si ``wait`` est d\u00e9fini \u00e0 ``True``, cette fonction est bloquante.\n:param loop: Si ``loop`` est d\u00e9fini \u00e0 ``True``, la m\u00e9lodie se r\u00e9p\u00e8te jusqu'\u00e0 ce que ``stop`` soit appel\u00e9, ou que l'appel bloquant soit interrompu.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"Jouer une note. (tangage)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (fr\u00e9quence) Une fr\u00e9quence enti\u00e8re\n:param duration: Une dur\u00e9e en milliseconde. Si la valeur est n\u00e9gative alors le son sera continu jusqu'au prochain appel, ou jusqu'\u00e0 un appel \u00e0 ``stop``.\n:param pin: (broche) Broche de sortie optionnelle (par d\u00e9faut ``pin0``).\n:param wait: Si ``wait`` est d\u00e9fini \u00e0 ``True``, cette fonction est bloquante.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Met fin \u00e0 toute lecture de musique sur le haut-parleur int\u00e9gr\u00e9 et \u00e0 tout son en sortie sur la broche.\n\nExample: ``music.stop()``\n\n:param pin: (broche) Un argument optionnel peut \u00eatre sp\u00e9cifi\u00e9 pour indiquer une broche, par exemple ``music.stop(pin1)``.\"\"\"\n\ndef reset() -> None:\n \"\"\"R\u00e9initialiser les ticks, bpm, dur\u00e9e et octave \u00e0 leurs valeurs par d\u00e9faut.\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"Bandes LED RGB et RGBW individuellement adressables.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Initialiser une nouvelle bande de LEDs neopixel contr\u00f4l\u00e9e via une broche.\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: (broche) La broche qui contr\u00f4le la bande neopixel.\n:param n: Le nombre de neopixels sur la bande.\n:param bpp: Octets par pixel. Pour le support du neopixel RGBW microbit V2, passez 4 plut\u00f4t que la valeur par d\u00e9faut de 3 pour RGB et GRB.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"Effacer tous les pixels.\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"Afficher les pixels.\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Afficher les pixels (micro:bit V2 uniquement).\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colorer tous les pixels d'une valeur RGB/RGBW donn\u00e9e.\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: Un tuple de la m\u00eame longueur que le nombre d'octets par pixel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"D\u00e9finit une couleur de pixel.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: Le num\u00e9ro du pixel\n:param value: La couleur.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"R\u00e9cup\u00e8re la couleur d'un pixel\n\nExample: ``r, g, b = np[0]``\n\n:param key: Le num\u00e9ro du pixel\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"R\u00e9cup\u00e8re la longueur de cette bande de pixels.\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"Bandes LED RGB et RGBW individuellement adressables.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Initialiser une nouvelle bande de LEDs neopixel contr\u00f4l\u00e9e via une broche.\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: (broche) La broche qui contr\u00f4le la bande neopixel.\n:param n: Le nombre de neopixels sur la bande.\n:param bpp: Octets par pixel. Pour le support du neopixel RGBW, passez 4 plut\u00f4t que la valeur par d\u00e9faut 3 pour RGB et GRB.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"Effacer tous les pixels.\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"Afficher les pixels.\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Afficher les pixels (micro:bit V2 uniquement).\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colorer tous les pixels d'une valeur RGB/RGBW donn\u00e9e (micro:bit V2 uniquement).\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: Un tuple de la m\u00eame longueur que le nombre d'octets par pixel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"D\u00e9finit une couleur de pixel.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: Le num\u00e9ro du pixel\n:param value: La couleur.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"R\u00e9cup\u00e8re la couleur d'un pixel\n\nExample: ``r, g, b = np[0]``\n\n:param key: Le num\u00e9ro du pixel\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"R\u00e9cup\u00e8re la longueur de cette bande de pixels.\n\nExample: ``len(np)``\"\"\"", "/typeshed/stdlib/os.pyi": "\"\"\"Acc\u00e9der au syst\u00e8me de fichiers.\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"Lister les fichiers.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Supprimer (effacer) un fichier.\n\nExample: ``os.remove('data.txt')``\n\n:param filename: Le fichier \u00e0 effacer.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Retourne la taille d'un fichier.\n\nExample: ``os.size('data.txt')``\n\n:param filename: Le fichier\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"R\u00e9sultat de ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Nom du syst\u00e8me d'exploitation.\"\"\"\n nodename: str\n \"\"\"Nom de la machine sur le r\u00e9seau (selon impl\u00e9mentation).\"\"\"\n release: str\n \"\"\"La release du syst\u00e8me d'exploitation\"\"\"\n version: str\n \"\"\"Version du syst\u00e8me d'exploitation\"\"\"\n machine: str\n \"\"\"Identifiant mat\u00e9riel.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Retourne les informations identifiant le syst\u00e8me d'exploitation actuel.\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", "/typeshed/stdlib/radio.pyi": "\"\"\"Communiquer entre micro:bits avec la radio int\u00e9gr\u00e9e.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"Constante utilis\u00e9e pour indiquer un d\u00e9bit de 1 MBit par seconde.\"\"\"\nRATE_2MBIT: int\n\"\"\"Constante utilis\u00e9e pour indiquer un d\u00e9bit de 2 MBit par seconde.\"\"\"\n\ndef on() -> None:\n \"\"\"Allume la radio.\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"D\u00e9sactive la radio, \u00e9conomisant ainsi de l'\u00e9nergie et de la m\u00e9moire.\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"Configure la radio.\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (par d\u00e9faut=32) d\u00e9finit la longueur maximale en octets d'un message envoy\u00e9 via la radio.\nIl peut faire jusqu'\u00e0 251 octets de long (254 - 3 octets pour S0, LENGTH et pr\u00e9ambule S1).\n:param queue: (par d\u00e9faut=3) sp\u00e9cifie le nombre de messages qui peuvent \u00eatre stock\u00e9s dans la file d'attente des messages entrants.\nS'il n'y a plus de place dans la file d'attente des messages entrants, alors le message entrant est abandonn\u00e9.\n:param channel: (par d\u00e9faut=7) une valeur enti\u00e8re comprise entre 0 et 83 (y compris) qui d\u00e9finit un \u00ab canal \u00bb arbitraire sur lequel la radio est r\u00e9gl\u00e9e.\nLes messages seront envoy\u00e9s via ce canal et seuls les messages re\u00e7us via ce canal seront plac\u00e9s dans la file d'attente des messages entrants. Chaque incr\u00e9ment est de 1 MHz de largeur, bas\u00e9 \u00e0 2400 MHz.\n:param power: (par d\u00e9faut=6) est une valeur enti\u00e8re comprise entre 0 et 7 (y compris) pour indiquer la force du signal utilis\u00e9 lors de la diffusion d'un message.\nPlus la valeur est \u00e9lev\u00e9e, plus le signal est fort, mais plus les besoins en alimentation sont \u00e9lev\u00e9s. La num\u00e9rotation se traduit par des positions dans la liste suivante de valeurs en dBm (d\u00e9cibel milliwatt) : -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (par d\u00e9faut=0x75626974) un nom arbitraire, exprim\u00e9 sous la forme d'une adresse 32-bit, utilis\u00e9 pour filtrer au niveau mat\u00e9riel les paquet entrants, seuls les paquets correspondant \u00e0 l'adresse d\u00e9finie seront conserv\u00e9s.\nLa valeur par d\u00e9faut utilis\u00e9e par d'autres plateformes li\u00e9es au micro:bit est celle indiqu\u00e9e ici.\n:param group: (par d\u00e9faut=0) une valeur de 8 bits (0-255) utilis\u00e9e avec ``address`` lors du filtrage des messages.\nConceptuellement, \"adress\" est comme l'adresse d'une maison ou d'un bureau, et \"group\" est comme la personne \u00e0 laquelle vous voulez envoyer votre message.\n:param data_rate: (par d\u00e9faut=``radio.RATE_1MBIT``) indique la vitesse \u00e0 laquelle le d\u00e9bit de donn\u00e9es a lieu.\nPeut \u00eatre une des constantes suivantes d\u00e9finies dans le module ``radio``\\xa0: ``RATE_250KBIT``, ``RATE_1MBIT`` ou ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"R\u00e9initialiser les param\u00e8tres \u00e0 leurs valeurs par d\u00e9faut.\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Envoie un message contenant des octets.\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: Les octets \u00e0 envoyer.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Recevoir le message entrant suivant dans la file d'attente des messages.\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copier le message entrant suivant de la file d'attente des messages vers un buffer.\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: Le buffer cible. Le message est tronqu\u00e9 s'il est plus grand que le buffer.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Envoie un message avec une cha\u00eene de caract\u00e8res.\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: Le texte \u00e0 envoyer.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Fonctionne exactement de la m\u00eame mani\u00e8re que ``receive_bytes`` mais retourne ce qui a \u00e9t\u00e9 envoy\u00e9.\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Retourne un tuple contenant trois valeurs qui repr\u00e9sentent le prochain message entrant dans la file d'attente.\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", @@ -35,7 +35,7 @@ "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", - "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Broches, images, sons, temp\u00e9rature et volume\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Planifie l'ex\u00e9cution d'une fonction \u00e0 l'intervalle sp\u00e9cifi\u00e9 par les arguments temporels **V2 uniquement**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Fonction \u00e0 appeler \u00e0 l'intervalle fourni. \u00c0 omettre en cas d'utilisation comme d\u00e9corateur.\n:param days: D\u00e9finit la marque du jour pour la programmation.\n:param h: D\u00e9finit la marque d'heure pour la programmation.\n:param min: D\u00e9finit la marque de minute pour la programmation.\n:param s: D\u00e9finit la marque de seconde pour la programmation.\n:param ms: D\u00e9finit la marque de milliseconde pour la programmation.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Passer en mode panique.\n\nExample: ``panic(127)``\n\n:param n: Un nombre entier arbitraire <= 255 pour indiquer un \u00e9tat.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Red\u00e9marrer la carte.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Convertit une valeur dans l'intervalle donn\u00e9 vers son \u00e9quivalent dans un autre intervalle d'entiers.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: Un nombre \u00e0 convertir.\n:param from_: Un tuple qui d\u00e9finit l'intervalle de d\u00e9part.\n:param to: Un tuple qui d\u00e9finit l'intervalle d'arriv\u00e9e.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Convertit une valeur dans l'intervalle donn\u00e9 vers son \u00e9quivalent dans un autre intervalle de nombres \u00e0 virgule flottante.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: Un nombre \u00e0 convertir.\n:param from_: Un tuple qui d\u00e9finit l'intervalle de d\u00e9part.\n:param to: Un tuple qui d\u00e9finit l'intervalle d'arriv\u00e9e.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Attendre ``n`` millisecondes.\n\nExample: ``sleep(1000)``\n\n:param n: Le nombre de millisecondes \u00e0 attendre\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Obtenir le temps de fonctionnement de la carte.\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Obtenir la temp\u00e9rature du micro:bit en degr\u00e9s Celcius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"D\u00e9finit le volume.\n\nExample: ``set_volume(127)``\n\n:param v: Une valeur entre 0 (bas) et 255 (haut).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"La classe pour les boutons ``button_a`` et ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"V\u00e9rifier si le bouton est appuy\u00e9.\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"V\u00e9rifie si le bouton a \u00e9t\u00e9 press\u00e9 depuis que l'appareil a \u00e9t\u00e9 d\u00e9marr\u00e9 ou depuis la derni\u00e8re fois o\u00f9 cette m\u00e9thode a \u00e9t\u00e9 appel\u00e9e.\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Obtenir le nombre total d'occurrences o\u00f9 le bouton a \u00e9t\u00e9 appuy\u00e9, et r\u00e9initialise ce total avant de retourner.\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"L'objet bouton ``Button`` gauche.\"\"\"\nbutton_b: Button\n\"\"\"L'objet bouton ``Button`` droit.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Une broche num\u00e9rique.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"R\u00e9cup\u00e8re la valeur num\u00e9rique de la broche\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"D\u00e9finit la valeur num\u00e9rique de la broche\n\nExample: ``pin0.write_digital(1)``\n\n:param value: 1 pour d\u00e9finir la broche \u00e0 un niveau haut ou 0 pour d\u00e9finir la broche \u00e0 un niveau bas\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"D\u00e9finissez l'\u00e9tat de tirage sur l'une des trois valeurs possibles\\xa0: ``PULL_UP``, ``PULL_DOWN`` ou ``NO_PULL``.\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: L'\u00e9tat de tirage sur la broche correspondante, par exemple ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Obtenir l'\u00e9tat de tirage sur une broche.\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Renvoie le mode de la broche\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Sortie d'un signal PWM sur la broche, avec un rapport cyclique proportionnel \u00e0 ``value``.\n\nExample: ``pin0.write_analog(254)``\n\n:param value: Un entier ou un nombre \u00e0 virgule flottante entre 0 (rapport cyclique \u00e0 0%) et 1023 (rapport cyclique \u00e0 100%).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"D\u00e9finit la p\u00e9riode de sortie du signal PWM \u00e0 ``period`` en millisecondes.\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: La p\u00e9riode en millisecondes avec une valeur minimale valide de 1 ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"D\u00e9finit la p\u00e9riode de sortie du signal PWM \u00e0 ``period`` en millisecondes.\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: La p\u00e9riode en microsecondes avec une valeur minimale valide de 256\u00b5s.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Une broche avec des fonctions analogiques et num\u00e9riques.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Lit la tension appliqu\u00e9e \u00e0 la broche.\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Une broche avec des fonctions analogiques, num\u00e9riques et tactiles.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"V\u00e9rifie si la broche est touch\u00e9e.\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"D\u00e9finit le mode tactile pour la broche.\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: ``CAPACITIVE`` ou ``RESISTIVE`` pour la broche correspondante.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques, analogiques, et tactiles.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques, analogiques, et tactiles.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques, analogiques, et tactiles.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques et analogiques.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques et analogiques.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques et analogiques.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Une broche logo sensible au toucher sur l'avant du micro:bit, qui est d\u00e9finie par d\u00e9faut en mode tactile capacitif.\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Une broche pour adresser le haut-parleur micro:bit.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Une image \u00e0 afficher sur l'\u00e9cran LED du micro:bit.\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Image d'un c\u0153ur.\"\"\"\n HEART_SMALL: Image\n \"\"\"Petite image d'un c\u0153ur\"\"\"\n HAPPY: Image\n \"\"\"Image de visage heureux.\"\"\"\n SMILE: Image\n \"\"\"Image de visage souriant.\"\"\"\n SAD: Image\n \"\"\"Image de visage triste.\"\"\"\n CONFUSED: Image\n \"\"\"Image d'un visage perplexe.\"\"\"\n ANGRY: Image\n \"\"\"Image de visage en col\u00e8re.\"\"\"\n ASLEEP: Image\n \"\"\"Image de visage endormi\"\"\"\n SURPRISED: Image\n \"\"\"Image de visage surpris.\"\"\"\n SILLY: Image\n \"\"\"Image de visage absurde.\"\"\"\n FABULOUS: Image\n \"\"\"Image de visage avec lunettes de soleil.\"\"\"\n MEH: Image\n \"\"\"Image de visage pas impressionn\u00e9\"\"\"\n YES: Image\n \"\"\"Image d'une coche.\"\"\"\n NO: Image\n \"\"\"Image d'une croix.\"\"\"\n CLOCK12: Image\n \"\"\"Image avec une ligne indiquant vers 12 heures.\"\"\"\n CLOCK11: Image\n \"\"\"Image avec une ligne indiquant vers 11 heures.\"\"\"\n CLOCK10: Image\n \"\"\"Image avec une ligne indiquant vers 10 heures.\"\"\"\n CLOCK9: Image\n \"\"\"Image avec une ligne indiquant vers 9 heures.\"\"\"\n CLOCK8: Image\n \"\"\"Image avec une ligne indiquant vers 8 heures.\"\"\"\n CLOCK7: Image\n \"\"\"Image avec une ligne indiquant vers 7 heures.\"\"\"\n CLOCK6: Image\n \"\"\"Image avec une ligne indiquant vers 6 heures.\"\"\"\n CLOCK5: Image\n \"\"\"Image avec une ligne indiquant vers 5 heures.\"\"\"\n CLOCK4: Image\n \"\"\"Image avec une ligne indiquant vers 4 heures.\"\"\"\n CLOCK3: Image\n \"\"\"Image avec une ligne indiquant vers 3 heures.\"\"\"\n CLOCK2: Image\n \"\"\"Image avec une ligne indiquant vers 2 heures.\"\"\"\n CLOCK1: Image\n \"\"\"Image avec une ligne indiquant vers 1 heure.\"\"\"\n ARROW_N: Image\n \"\"\"Image de fl\u00e8che pointant vers le nord.\"\"\"\n ARROW_NE: Image\n \"\"\"Image de fl\u00e8che pointant vers le nord est.\"\"\"\n ARROW_E: Image\n \"\"\"Image de fl\u00e8che pointant vers l'est.\"\"\"\n ARROW_SE: Image\n \"\"\"Image de fl\u00e8che pointant vers le sud-est.\"\"\"\n ARROW_S: Image\n \"\"\"Image de fl\u00e8che pointant vers le sud.\"\"\"\n ARROW_SW: Image\n \"\"\"Image de fl\u00e8che pointant vers le sud-ouest.\"\"\"\n ARROW_W: Image\n \"\"\"Image de fl\u00e8che pointant vers l'ouest.\"\"\"\n ARROW_NW: Image\n \"\"\"Image de fl\u00e8che pointant vers le nord ouest.\"\"\"\n TRIANGLE: Image\n \"\"\"Image d'un triangle pointant vers le haut.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Image d'un triangle dans le coin gauche.\"\"\"\n CHESSBOARD: Image\n \"\"\"\u00c9clairage alternatif des LEDs dans un motif d'\u00e9chiquier.\"\"\"\n DIAMOND: Image\n \"\"\"Image de diamant.\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Petite image de diamant.\"\"\"\n SQUARE: Image\n \"\"\"Image de carr\u00e9.\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Petite image de carr\u00e9.\"\"\"\n RABBIT: Image\n \"\"\"Image de lapin.\"\"\"\n COW: Image\n \"\"\"Image de vache.\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Image d'une note.\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Image d'une croche.\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Image d'une paire de croche.\"\"\"\n PITCHFORK: Image\n \"\"\"Image d'une fourche.\"\"\"\n XMAS: Image\n \"\"\"Image d'un arbre de No\u00ebl.\"\"\"\n PACMAN: Image\n \"\"\"Image du personnage d'arcade Pac-Man.\"\"\"\n TARGET: Image\n \"\"\"Image d'une cible.\"\"\"\n TSHIRT: Image\n \"\"\"Image de t-shirt.\"\"\"\n ROLLERSKATE: Image\n \"\"\"Image de patin \u00e0 roulette.\"\"\"\n DUCK: Image\n \"\"\"Image de canard.\"\"\"\n HOUSE: Image\n \"\"\"Image d'une maison.\"\"\"\n TORTOISE: Image\n \"\"\"Image d'une tortue.\"\"\"\n BUTTERFLY: Image\n \"\"\"Image d'un papillon.\"\"\"\n STICKFIGURE: Image\n \"\"\"Image d'un personnage.\"\"\"\n GHOST: Image\n \"\"\"Image de fant\u00f4me.\"\"\"\n SWORD: Image\n \"\"\"Image d'une \u00e9p\u00e9e.\"\"\"\n GIRAFFE: Image\n \"\"\"Image d'une girafe.\"\"\"\n SKULL: Image\n \"\"\"Image d'un cr\u00e2ne.\"\"\"\n UMBRELLA: Image\n \"\"\"Image d'un parapluie.\"\"\"\n SNAKE: Image\n \"\"\"Image de serpent.\"\"\"\n SCISSORS: Image\n \"\"\"Image de ciseaux.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Une liste contenant toutes les images CLOCK_ en s\u00e9quence.\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Une liste contenant toutes les images ARROW_ en s\u00e9quence.\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Cr\u00e9er une image \u00e0 partir d'une cha\u00eene de caract\u00e8res d\u00e9crivant quelles LED sont allum\u00e9es.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: La cha\u00eene de caract\u00e8res d\u00e9crivant l'image.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Cr\u00e9er une image vide avec ``width`` colonnes et ``height`` lignes.\n\n:param width: Largeur optionnelle de l'image\n:param height: Hauteur optionnelle de l'image\n:param buffer: Tableau optionnel ou octets de ``width``\u00d7``height`` entiers dans la plage 0-9 pour initialiser l'image\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"R\u00e9cup\u00e8re le nombre de colonnes.\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"R\u00e9cup\u00e8re le nombre de lignes.\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"D\u00e9finit la luminosit\u00e9 d'un pixel.\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: Le num\u00e9ro de colonne\n:param y: Le num\u00e9ro de ligne\n:param value: La luminosit\u00e9 sous la forme d'un entier compris entre 0 (sombre) et 9 (lumineux)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"R\u00e9cup\u00e8re la luminosit\u00e9 d'un pixel.\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: Le num\u00e9ro de colonne\n:param y: Le num\u00e9ro de ligne\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image \u00e0 gauche.\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: Le nombre de colonnes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image \u00e0 droite.\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: Le nombre de colonnes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image vers le haut.\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: Le nombre de lignes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image vers le bas.\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: Le nombre de lignes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en recadrant l'image.\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: Le nombre de colonnes duquel d\u00e9caler le recadrage\n:param y: Le nombre de lignes duquel d\u00e9caler le recadrage\n:param w: La largeur du recadrage\n:param h: La hauteur du recadrage\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Cr\u00e9er une copie exacte de l'image.\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en inversant la luminosit\u00e9 des pixels de l'image source.\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"D\u00e9finit la luminosit\u00e9 de tous les pixels de l'image.\n\nExample: ``my_image.fill(5)``\n\n:param value: La nouvelle luminosit\u00e9 sous la forme d'un nombre compris entre 0 (sombre) et 9 (lumineux).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Copier la zone d'une autre image vers cette image.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: L'image source\n:param x: Le d\u00e9calage de la colonne de d\u00e9part dans l'image source\n:param y: D\u00e9calage de la ligne de d\u00e9part dans l'image source\n:param w: Le nombre de colonnes \u00e0 copier\n:param h: Le nombre de lignes \u00e0 copier\n:param xdest: Le d\u00e9calage de la colonne \u00e0 modifier dans cette image\n:param ydest: Le d\u00e9calage de la ligne \u00e0 modifier dans cette image\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"R\u00e9cup\u00e8re une repr\u00e9sentation de l'image sous forme de texte compact.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"R\u00e9cup\u00e8re une cha\u00eene de caract\u00e8res lisible de l'image.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en additionnant les valeurs de luminosit\u00e9 des deux images\npour chaque pixel.\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: L'image \u00e0 ajouter.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en soustrayant de cette image les valeurs de luminosit\u00e9 de\nl'autre image.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: L'image \u00e0 soustraire.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en multipliant la luminosit\u00e9 de chaque pixel par\n``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: La valeur par laquelle multiplier.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en divisant la luminosit\u00e9 de chaque pixel par\n``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: La valeur par laquelle diviser.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Repr\u00e9sente la transition d'\u00e9v\u00e9nements sonores, de ``quiet`` \u00e0 ``loud`` comme un clap dans les mains ou un cri.\"\"\"\n QUIET: SoundEvent\n \"\"\"Repr\u00e9sente la transition d'\u00e9v\u00e9nements sonores de ``loud`` \u00e0 ``quiet`` comme parler ou \u00e9couter de la musique de fond.\"\"\"\n\nclass Sound:\n \"\"\"Les sons int\u00e9gr\u00e9s peuvent \u00eatre appel\u00e9s en utilisant ``audio.play(Sound.NAME)``.\"\"\"\n GIGGLE: Sound\n \"\"\"Bruit de gloussement.\"\"\"\n HAPPY: Sound\n \"\"\"Son joyeux.\"\"\"\n HELLO: Sound\n \"\"\"Son de salutation.\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Son myst\u00e9rieux.\"\"\"\n SAD: Sound\n \"\"\"Son triste.\"\"\"\n SLIDE: Sound\n \"\"\"Bruit de glissade.\"\"\"\n SOARING: Sound\n \"\"\"Bruit d'envol\u00e9e.\"\"\"\n SPRING: Sound\n \"\"\"Son d'un ressort.\"\"\"\n TWINKLE: Sound\n \"\"\"Son de scintillement.\"\"\"\n YAWN: Sound\n \"\"\"Son de b\u00e2illement.\"\"\"", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Broches, images, sons, temp\u00e9rature et volume\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Planifie l'ex\u00e9cution d'une fonction \u00e0 l'intervalle sp\u00e9cifi\u00e9 par les arguments temporels **V2 uniquement**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Fonction \u00e0 appeler \u00e0 l'intervalle fourni. \u00c0 omettre en cas d'utilisation comme d\u00e9corateur.\n:param days: D\u00e9finit la marque du jour pour la programmation.\n:param h: D\u00e9finit la marque d'heure pour la programmation.\n:param min: D\u00e9finit la marque de minute pour la programmation.\n:param s: D\u00e9finit la marque de seconde pour la programmation.\n:param ms: D\u00e9finit la marque de milliseconde pour la programmation.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Passer en mode panique.\n\nExample: ``panic(127)``\n\n:param n: Un nombre entier arbitraire <= 255 pour indiquer un \u00e9tat.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Red\u00e9marrer la carte.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Convertit une valeur dans l'intervalle donn\u00e9 vers son \u00e9quivalent dans un autre intervalle d'entiers.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: Un nombre \u00e0 convertir.\n:param from_: Un tuple qui d\u00e9finit l'intervalle de d\u00e9part.\n:param to: Un tuple qui d\u00e9finit l'intervalle d'arriv\u00e9e.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Convertit une valeur dans l'intervalle donn\u00e9 vers son \u00e9quivalent dans un autre intervalle de nombres \u00e0 virgule flottante.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: Un nombre \u00e0 convertir.\n:param from_: Un tuple qui d\u00e9finit l'intervalle de d\u00e9part.\n:param to: Un tuple qui d\u00e9finit l'intervalle d'arriv\u00e9e.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Attendre ``n`` millisecondes.\n\nExample: ``sleep(1000)``\n\n:param n: Le nombre de millisecondes \u00e0 attendre\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Obtenir le temps de fonctionnement de la carte.\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Obtenir la temp\u00e9rature du micro:bit en degr\u00e9s Celsius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"D\u00e9finit le volume.\n\nExample: ``set_volume(127)``\n\n:param v: Une valeur entre 0 (bas) et 255 (haut).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"La classe pour les boutons ``button_a`` et ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"V\u00e9rifier si le bouton est appuy\u00e9.\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"V\u00e9rifie si le bouton a \u00e9t\u00e9 press\u00e9 depuis que l'appareil a \u00e9t\u00e9 d\u00e9marr\u00e9 ou depuis la derni\u00e8re fois o\u00f9 cette m\u00e9thode a \u00e9t\u00e9 appel\u00e9e.\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Obtenir le nombre total d'occurrences o\u00f9 le bouton a \u00e9t\u00e9 appuy\u00e9, et r\u00e9initialise ce total avant de retourner.\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"L'objet bouton ``Button`` gauche.\"\"\"\nbutton_b: Button\n\"\"\"L'objet bouton ``Button`` droit.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Une broche num\u00e9rique.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"R\u00e9cup\u00e8re la valeur num\u00e9rique de la broche\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"D\u00e9finit la valeur num\u00e9rique de la broche\n\nExample: ``pin0.write_digital(1)``\n\n:param value: 1 pour d\u00e9finir la broche \u00e0 un niveau haut ou 0 pour d\u00e9finir la broche \u00e0 un niveau bas\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"D\u00e9finissez l'\u00e9tat de tirage sur l'une des trois valeurs possibles\\xa0: ``PULL_UP``, ``PULL_DOWN`` ou ``NO_PULL``.\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: L'\u00e9tat de tirage sur la broche correspondante, par exemple ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Obtenir l'\u00e9tat de tirage sur une broche.\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Renvoie le mode de la broche\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Sortie d'un signal PWM sur la broche, avec un rapport cyclique proportionnel \u00e0 ``value``.\n\nExample: ``pin0.write_analog(254)``\n\n:param value: Un entier ou un nombre \u00e0 virgule flottante entre 0 (rapport cyclique \u00e0 0%) et 1023 (rapport cyclique \u00e0 100%).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"D\u00e9finit la p\u00e9riode de sortie du signal PWM \u00e0 ``period`` en millisecondes.\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: La p\u00e9riode en millisecondes avec une valeur minimale valide de 1 ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"D\u00e9finit la p\u00e9riode de sortie du signal PWM \u00e0 ``period`` en millisecondes.\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: La p\u00e9riode en microsecondes avec une valeur minimale valide de 256\u00b5s.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Une broche avec des fonctions analogiques et num\u00e9riques.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Lit la tension appliqu\u00e9e \u00e0 la broche.\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Une broche avec des fonctions analogiques, num\u00e9riques et tactiles.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"V\u00e9rifie si la broche est touch\u00e9e.\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"D\u00e9finit le mode tactile pour la broche.\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: ``CAPACITIVE`` ou ``RESISTIVE`` pour la broche correspondante.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques, analogiques, et tactiles.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques, analogiques, et tactiles.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques, analogiques, et tactiles.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques et analogiques.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques et analogiques.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques et analogiques.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Une broche logo sensible au toucher sur l'avant du micro:bit, qui est d\u00e9finie par d\u00e9faut en mode tactile capacitif.\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Une broche pour adresser le haut-parleur micro:bit.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Une image \u00e0 afficher sur l'\u00e9cran LED du micro:bit.\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Image d'un c\u0153ur.\"\"\"\n HEART_SMALL: Image\n \"\"\"Petite image d'un c\u0153ur\"\"\"\n HAPPY: Image\n \"\"\"Image de visage heureux.\"\"\"\n SMILE: Image\n \"\"\"Image de visage souriant.\"\"\"\n SAD: Image\n \"\"\"Image de visage triste.\"\"\"\n CONFUSED: Image\n \"\"\"Image d'un visage perplexe.\"\"\"\n ANGRY: Image\n \"\"\"Image de visage en col\u00e8re.\"\"\"\n ASLEEP: Image\n \"\"\"Image de visage endormi\"\"\"\n SURPRISED: Image\n \"\"\"Image de visage surpris.\"\"\"\n SILLY: Image\n \"\"\"Image de visage absurde.\"\"\"\n FABULOUS: Image\n \"\"\"Image de visage avec lunettes de soleil.\"\"\"\n MEH: Image\n \"\"\"Image de visage pas impressionn\u00e9\"\"\"\n YES: Image\n \"\"\"Image d'une coche.\"\"\"\n NO: Image\n \"\"\"Image d'une croix.\"\"\"\n CLOCK12: Image\n \"\"\"Image avec une ligne indiquant vers 12 heures.\"\"\"\n CLOCK11: Image\n \"\"\"Image avec une ligne indiquant vers 11 heures.\"\"\"\n CLOCK10: Image\n \"\"\"Image avec une ligne indiquant vers 10 heures.\"\"\"\n CLOCK9: Image\n \"\"\"Image avec une ligne indiquant vers 9 heures.\"\"\"\n CLOCK8: Image\n \"\"\"Image avec une ligne indiquant vers 8 heures.\"\"\"\n CLOCK7: Image\n \"\"\"Image avec une ligne indiquant vers 7 heures.\"\"\"\n CLOCK6: Image\n \"\"\"Image avec une ligne indiquant vers 6 heures.\"\"\"\n CLOCK5: Image\n \"\"\"Image avec une ligne indiquant vers 5 heures.\"\"\"\n CLOCK4: Image\n \"\"\"Image avec une ligne indiquant vers 4 heures.\"\"\"\n CLOCK3: Image\n \"\"\"Image avec une ligne indiquant vers 3 heures.\"\"\"\n CLOCK2: Image\n \"\"\"Image avec une ligne indiquant vers 2 heures.\"\"\"\n CLOCK1: Image\n \"\"\"Image avec une ligne indiquant vers 1 heure.\"\"\"\n ARROW_N: Image\n \"\"\"Image de fl\u00e8che pointant vers le nord.\"\"\"\n ARROW_NE: Image\n \"\"\"Image de fl\u00e8che pointant vers le nord est.\"\"\"\n ARROW_E: Image\n \"\"\"Image de fl\u00e8che pointant vers l'est.\"\"\"\n ARROW_SE: Image\n \"\"\"Image de fl\u00e8che pointant vers le sud-est.\"\"\"\n ARROW_S: Image\n \"\"\"Image de fl\u00e8che pointant vers le sud.\"\"\"\n ARROW_SW: Image\n \"\"\"Image de fl\u00e8che pointant vers le sud-ouest.\"\"\"\n ARROW_W: Image\n \"\"\"Image de fl\u00e8che pointant vers l'ouest.\"\"\"\n ARROW_NW: Image\n \"\"\"Image de fl\u00e8che pointant vers le nord ouest.\"\"\"\n TRIANGLE: Image\n \"\"\"Image d'un triangle pointant vers le haut.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Image d'un triangle dans le coin gauche.\"\"\"\n CHESSBOARD: Image\n \"\"\"\u00c9clairage alternatif des LEDs dans un motif d'\u00e9chiquier.\"\"\"\n DIAMOND: Image\n \"\"\"Image de diamant.\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Petite image de diamant.\"\"\"\n SQUARE: Image\n \"\"\"Image de carr\u00e9.\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Petite image de carr\u00e9.\"\"\"\n RABBIT: Image\n \"\"\"Image de lapin.\"\"\"\n COW: Image\n \"\"\"Image de vache.\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Image d'une note.\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Image d'une croche.\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Image d'une paire de croche.\"\"\"\n PITCHFORK: Image\n \"\"\"Image d'une fourche.\"\"\"\n XMAS: Image\n \"\"\"Image d'un arbre de No\u00ebl.\"\"\"\n PACMAN: Image\n \"\"\"Image du personnage d'arcade Pac-Man.\"\"\"\n TARGET: Image\n \"\"\"Image d'une cible.\"\"\"\n TSHIRT: Image\n \"\"\"Image de t-shirt.\"\"\"\n ROLLERSKATE: Image\n \"\"\"Image de patin \u00e0 roulette.\"\"\"\n DUCK: Image\n \"\"\"Image de canard.\"\"\"\n HOUSE: Image\n \"\"\"Image d'une maison.\"\"\"\n TORTOISE: Image\n \"\"\"Image d'une tortue.\"\"\"\n BUTTERFLY: Image\n \"\"\"Image d'un papillon.\"\"\"\n STICKFIGURE: Image\n \"\"\"Image d'un personnage.\"\"\"\n GHOST: Image\n \"\"\"Image de fant\u00f4me.\"\"\"\n SWORD: Image\n \"\"\"Image d'une \u00e9p\u00e9e.\"\"\"\n GIRAFFE: Image\n \"\"\"Image d'une girafe.\"\"\"\n SKULL: Image\n \"\"\"Image d'un cr\u00e2ne.\"\"\"\n UMBRELLA: Image\n \"\"\"Image d'un parapluie.\"\"\"\n SNAKE: Image\n \"\"\"Image de serpent.\"\"\"\n SCISSORS: Image\n \"\"\"Image de ciseaux.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Une liste contenant toutes les images CLOCK_ en s\u00e9quence.\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Une liste contenant toutes les images ARROW_ en s\u00e9quence.\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Cr\u00e9er une image \u00e0 partir d'une cha\u00eene de caract\u00e8res d\u00e9crivant quelles LED sont allum\u00e9es.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: La cha\u00eene de caract\u00e8res d\u00e9crivant l'image.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Cr\u00e9er une image vide avec ``width`` colonnes et ``height`` lignes.\n\n:param width: Largeur optionnelle de l'image\n:param height: Hauteur optionnelle de l'image\n:param buffer: Tableau optionnel ou octets de ``width``\u00d7``height`` entiers dans la plage 0-9 pour initialiser l'image\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"R\u00e9cup\u00e8re le nombre de colonnes.\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"R\u00e9cup\u00e8re le nombre de lignes.\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"D\u00e9finit la luminosit\u00e9 d'un pixel.\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: Le num\u00e9ro de colonne\n:param y: Le num\u00e9ro de ligne\n:param value: La luminosit\u00e9 sous la forme d'un entier compris entre 0 (sombre) et 9 (lumineux)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"R\u00e9cup\u00e8re la luminosit\u00e9 d'un pixel.\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: Le num\u00e9ro de colonne\n:param y: Le num\u00e9ro de ligne\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image \u00e0 gauche.\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: Le nombre de colonnes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image \u00e0 droite.\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: Le nombre de colonnes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image vers le haut.\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: Le nombre de lignes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image vers le bas.\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: Le nombre de lignes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en recadrant l'image.\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: Le nombre de colonnes duquel d\u00e9caler le recadrage\n:param y: Le nombre de lignes duquel d\u00e9caler le recadrage\n:param w: La largeur du recadrage\n:param h: La hauteur du recadrage\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Cr\u00e9er une copie exacte de l'image.\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en inversant la luminosit\u00e9 des pixels de l'image source.\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"D\u00e9finit la luminosit\u00e9 de tous les pixels de l'image.\n\nExample: ``my_image.fill(5)``\n\n:param value: La nouvelle luminosit\u00e9 sous la forme d'un nombre compris entre 0 (sombre) et 9 (lumineux).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Copier la zone d'une autre image vers cette image.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: L'image source\n:param x: Le d\u00e9calage de la colonne de d\u00e9part dans l'image source\n:param y: D\u00e9calage de la ligne de d\u00e9part dans l'image source\n:param w: Le nombre de colonnes \u00e0 copier\n:param h: Le nombre de lignes \u00e0 copier\n:param xdest: Le d\u00e9calage de la colonne \u00e0 modifier dans cette image\n:param ydest: Le d\u00e9calage de la ligne \u00e0 modifier dans cette image\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"R\u00e9cup\u00e8re une repr\u00e9sentation de l'image sous forme de texte compact.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"R\u00e9cup\u00e8re une cha\u00eene de caract\u00e8res lisible de l'image.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en additionnant les valeurs de luminosit\u00e9 des deux images\npour chaque pixel.\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: L'image \u00e0 ajouter.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en soustrayant de cette image les valeurs de luminosit\u00e9 de\nl'autre image.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: L'image \u00e0 soustraire.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en multipliant la luminosit\u00e9 de chaque pixel par\n``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: La valeur par laquelle multiplier.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en divisant la luminosit\u00e9 de chaque pixel par\n``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: La valeur par laquelle diviser.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Repr\u00e9sente la transition d'\u00e9v\u00e9nements sonores, de ``quiet`` \u00e0 ``loud`` comme un clap dans les mains ou un cri.\"\"\"\n QUIET: SoundEvent\n \"\"\"Repr\u00e9sente la transition d'\u00e9v\u00e9nements sonores de ``loud`` \u00e0 ``quiet`` comme parler ou \u00e9couter de la musique de fond.\"\"\"\n\nclass Sound:\n \"\"\"Les sons int\u00e9gr\u00e9s peuvent \u00eatre appel\u00e9s en utilisant ``audio.play(Sound.NAME)``.\"\"\"\n GIGGLE: Sound\n \"\"\"Bruit de gloussement.\"\"\"\n HAPPY: Sound\n \"\"\"Son joyeux.\"\"\"\n HELLO: Sound\n \"\"\"Son de salutation.\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Son myst\u00e9rieux.\"\"\"\n SAD: Sound\n \"\"\"Son triste.\"\"\"\n SLIDE: Sound\n \"\"\"Bruit de glissade.\"\"\"\n SOARING: Sound\n \"\"\"Bruit d'envol\u00e9e.\"\"\"\n SPRING: Sound\n \"\"\"Son d'un ressort.\"\"\"\n TWINKLE: Sound\n \"\"\"Son de scintillement.\"\"\"\n YAWN: Sound\n \"\"\"Son de b\u00e2illement.\"\"\"", "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Mesurer l'acc\u00e9l\u00e9ration du micro:bit et reconnaitre des mouvements.\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"R\u00e9cup\u00e9rer la mesure de l'acc\u00e9l\u00e9ration dans l'axe ``x`` en milli-g.\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"R\u00e9cup\u00e9rer la mesure de l'acc\u00e9l\u00e9ration dans l'axe ``y`` en milli-g.\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"R\u00e9cup\u00e9rer la mesure de l'acc\u00e9l\u00e9ration dans l'axe ``z`` en milli-g.\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"R\u00e9cup\u00e9rer en une fois les mesures d'acc\u00e9l\u00e9ration dans tous les axes sous forme d'un tuple.\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Obtenir la mesure de l'acc\u00e9l\u00e9ration de tous les axes combin\u00e9s, sous la forme d'un nombre entier positif. C'est la somme pythagoricienne des axes X, Y et Z.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"R\u00e9cup\u00e9rer le nom du geste actuel.\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"V\u00e9rifier si le geste nomm\u00e9 est actif en ce moment.\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Le nom du geste.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"V\u00e9rifier si le geste nomm\u00e9 a \u00e9t\u00e9 actif depuis le dernier appel.\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Le nom du geste.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Renvoyer un tuple de l'historique des gestes.\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"D\u00e9finir la plage de sensibilit\u00e9 de l'acc\u00e9l\u00e9rom\u00e8tre, en g (gravit\u00e9 standard), \u00e0 la valeur la plus proche support\u00e9e par le mat\u00e9riel, l'arrondi se fait soit \u00e0 ``2``, ``4``, ou ``8`` g.\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: Nouvelle plage pour l'acc\u00e9l\u00e9rom\u00e8tre, un entier en ``g``.\"\"\"", "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Jouer des sons en utilisant le micro:bit (importer ``audio`` pour compatibilit\u00e9 V1).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Jouer un son int\u00e9gr\u00e9, un effet sonore ou des frames audio personnalis\u00e9es.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: Un ``Sound`` int\u00e9gr\u00e9 tel que ``Sound.GIGGLE``, un ``SoundEffect`` ou un \u00e9chantillon de donn\u00e9es sous la forme d'un it\u00e9rable d'objets ``AudioFrame``.\n:param wait: Si ``wait`` est ``True``, cette fonction bloquera jusqu'\u00e0 ce que le son soit termin\u00e9.\n:param pin: (broche) Un argument optionnel pour sp\u00e9cifier la broche de sortie, peut \u00eatre utilis\u00e9 pour remplacer la valeur par d\u00e9faut ``pin0``. Si nous ne voulons pas que le son soit jou\u00e9, il est possible d'utiliser ``pin=None``.\n:param return_pin: Sp\u00e9cifie une broche de connecteur de bord diff\u00e9rentiel \u00e0 connecter \u00e0 un haut-parleur externe au lieu de la masse. Ceci est ignor\u00e9 dans la r\u00e9vision **V2**.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"V\u00e9rifier si un son est en train d'\u00eatre jou\u00e9.\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Arr\u00eater toute lecture audio.\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Un effet sonore, compos\u00e9 d'un ensemble de param\u00e8tres configur\u00e9s via le constructeur ou les attributs.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Option d'onde sinuso\u00efdale utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Optionde forme d'onde en dent de scie utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Option d'onde triangulaire utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Option d'onde carr\u00e9e utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Option d'onde de bruit utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Option d'interpolation lin\u00e9aire utilis\u00e9e pour le param\u00e8tre ``shape``.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Option d'interpolation courbe utilis\u00e9e pour le param\u00e8tre ``shape``.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Option d'interpolation logarithmique utilis\u00e9e pour le param\u00e8tre ``shape``.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Option sans effet utilis\u00e9e pour le param\u00e8tre ``fx``.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Option d'effet tremolo utilis\u00e9e pour le param\u00e8tre ``fx``.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Option d'effet vibrato utilis\u00e9e pour le param\u00e8tre ``fx``.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Option d'effet de Warble utilis\u00e9e pour le param\u00e8tre ``fx``.\"\"\"\n freq_start: int\n \"\"\"Fr\u00e9quence de d\u00e9part en Hertz (Hz), un nombre compris entre ``0`` et ``9999``\"\"\"\n freq_end: int\n \"\"\"Fr\u00e9quence de fin en Hertz (Hz), un nombre compris entre ``0`` et ``9999``\"\"\"\n duration: int\n \"\"\"Dur\u00e9e du son en millisecondes, un nombre compris entre ``0`` et ``9999``\"\"\"\n vol_start: int\n \"\"\"Valeur du volume de d\u00e9part, un nombre compris entre ``0`` et ``255``\"\"\"\n vol_end: int\n \"\"\"Valeur du volume \u00e0 la fin, un nombre compris entre ``0`` et ``255``\"\"\"\n waveform: int\n \"\"\"Type de forme d'onde, une de ces valeurs : ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (bruit g\u00e9n\u00e9r\u00e9 al\u00e9atoirement)\"\"\"\n fx: int\n \"\"\"Effet \u00e0 ajouter au son, l'une des valeurs suivantes : ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, ou ``FX_NONE``\"\"\"\n shape: int\n \"\"\"Le type de la courbe d'interpolation entre les fr\u00e9quences de d\u00e9but et de fin, les diff\u00e9rentes formes d'onde ont des taux de variation de fr\u00e9quence diff\u00e9rents. L'une des valeurs suivantes : ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Cr\u00e9er un nouvel effet sonore.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Fr\u00e9quence de d\u00e9part en Hertz (Hz), un nombre compris entre ``0`` et ``9999``.\n:param freq_end: Fr\u00e9quence de fin en Hertz (Hz), un nombre compris entre ``0`` et ``9999``.\n:param duration: Dur\u00e9e du son en millisecondes, un nombre compris entre ``0`` et ``9999``.\n:param vol_start: Valeur du volume de d\u00e9part, un nombre compris entre ``0`` et ``255``.\n:param vol_end: Valeur du volume \u00e0 la fin, un nombre compris entre ``0`` et ``255``.\n:param waveform: Type de forme d'onde, une de ces valeurs : ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (bruit g\u00e9n\u00e9r\u00e9 al\u00e9atoirement).\n:param fx: Effet \u00e0 ajouter au son, l'une des valeurs suivantes : ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, ou ``FX_NONE``.\n:param shape: Le type de la courbe d'interpolation entre les fr\u00e9quences de d\u00e9but et de fin, les diff\u00e9rentes formes d'onde ont des taux de variation de fr\u00e9quence diff\u00e9rents. L'une des valeurs suivantes : ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Cr\u00e9er une copie de ce ``SoundEffect``.\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Un objet ``AudioFrame`` est une liste de 32 \u00e9chantillons, chacun d'eux \u00e9tant un octet non sign\u00e9\n(nombre entier entre 0 et 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"\u00c9craser les donn\u00e9es de ce ``AudioFrame`` avec les donn\u00e9es d'une autre instance ``AudioFrame``.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: Instance ``AudioFrame`` \u00e0 partir de laquelle copier les donn\u00e9es.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Utiliser la boussole int\u00e9gr\u00e9e.\"\"\"\n\ndef calibrate() -> None:\n \"\"\"D\u00e9marrer le processus d'\u00e9talonnage.\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"V\u00e9rifier si la boussole est \u00e9talonn\u00e9e.\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Annule l'\u00e9talonnage, la boussole est ainsi \u00e0 nouveau non-\u00e9talonn\u00e9e.\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Obtenir la force du champ magn\u00e9tique sur l'axe ``x``.\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Obtenir la force du champ magn\u00e9tique sur l'axe ``y``.\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Obtenir la force du champ magn\u00e9tique sur l'axe ``z``.\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Obtenir le cap de la boussole.\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"R\u00e9cup\u00e8re la magnitude du champ magn\u00e9tique autour de l'appareil.\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", diff --git a/src/micropython/main/typeshed.ja.json b/src/micropython/main/typeshed.ja.json index a9700c81c..d2f302e27 100644 --- a/src/micropython/main/typeshed.ja.json +++ b/src/micropython/main/typeshed.ja.json @@ -14,7 +14,7 @@ "/typeshed/stdlib/math.pyi": "\"\"\"\u6570\u5b66\u95a2\u6570\u3002\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"\u9006\u4f59\u5f26\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.acos(1)``\n\n:param x: \u6570\u5024\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"\u9006\u6b63\u5f26\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.asin(0)``\n\n:param x: \u6570\u5024\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"\u9006\u6b63\u63a5\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.atan(0)``\n\n:param x: \u6570\u5024\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"``y/x`` \u306e\u9006\u6b63\u63a5\u306e\u4e3b\u5024\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.atan2(0, -1)``\n\n:param y: \u6570\u5024\n:param x: \u6570\u5024\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"\u6b63\u306e\u7121\u9650\u5927\u65b9\u5411\u306b\u6570\u5024\u3092\u4e38\u3081\u307e\u3059\u3002\n\nExample: ``math.ceil(0.1)``\n\n:param x: \u6570\u5024\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"``y`` \u306e\u7b26\u53f7\u3067 ``x`` \u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.copysign(1, -1)``\n\n:param x: \u6570\u5024\n:param y: \u623b\u308a\u5024\u306e\u7b26\u53f7\u306e\u5143\u306b\u306a\u308b\u5024\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"``x`` \u306e\u4f59\u5f26\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.cos(0)``\n\n:param x: \u6570\u5024\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"\u30e9\u30b8\u30a2\u30f3\u3092\u5ea6\u306b\u5909\u63db\u3057\u307e\u3059\u3002 (\u309c(\u5ea6))\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: \u30e9\u30b8\u30a2\u30f3\u5358\u4f4d\u306e\u5024\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"``x`` \u306e\u6307\u6570\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.exp(1)``\n\n:param x: \u6570\u5024\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"``x`` \u306e\u7d76\u5bfe\u5024\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``math.fabs(-0.1)``\n\n:param x: \u6570\u5024\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"\u8ca0\u306e\u7121\u9650\u5927\u65b9\u5411\u306b\u6570\u5024\u3092\u4e38\u3081\u307e\u3059\u3002\n\nExample: ``math.floor(0.9)``\n\n:param x: \u6570\u5024\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"``x/y`` \u306e\u5270\u4f59\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.fmod(10, 3)``\n\n:param x: \u5206\u5b50\u306e\u5024\n:param y: \u5206\u6bcd\u306e\u5024\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3092\u4eee\u6570\u90e8\u3068\u6307\u6570\u90e8\u306b\u5206\u89e3\u3057\u307e\u3059\u3002\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"\u6709\u9650\u6570\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: \u6570\u5024\u3002\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"\u7121\u9650\u6570\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: \u6570\u5024\u3002\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"\u975e\u6570\uff08NaN: Not-a-Number\uff09\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: \u6570\u5024\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"``x * (2**exp)`` \u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: \u6570\u5024\n:param exp: \u6574\u6570\u306e\u6307\u6570\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"``x`` \u306e\u5bfe\u6570\u3092\u6307\u5b9a\u3055\u308c\u305f\u5e95\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f\u81ea\u7136\u5bfe\u6570\uff09\u3067\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: \u6570\u5024\n:param base: \u4f7f\u7528\u3059\u308b\u5e95\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"``x`` \u306e\u6574\u6570\u90e8\u5206\u3068\u5c0f\u6570\u90e8\u5206\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: \u6570\u5024\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"``x`` \u306e ``y`` \u4e57\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: \u6570\u5024\n:param y: \u6307\u6570\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"\u5ea6\u3092\u30e9\u30b8\u30a2\u30f3\u306b\u5909\u63db\u3057\u307e\u3059\u3002\n\nExample: ``math.radians(360)``\n\n:param x: \u5ea6\u5358\u4f4d\u306e\u89d2\u5ea6\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"``x`` \u306e\u6b63\u5f26\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: \u6570\u5024\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"``x`` \u306e\u5e73\u65b9\u6839\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.sqrt(4)``\n\n:param x: \u6570\u5024\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"``x`` \u306e\u6b63\u63a5\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.tan(0)``\n\n:param x: \u6570\u5024\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"0 \u65b9\u5411\u306b\u6570\u5024\u3092\u4e38\u3081\u307e\u3059\u3002\n\nExample: ``math.trunc(-0.9)``\n\n:param x: \u6570\u5024\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"\u81ea\u7136\u5bfe\u6570\u306e\u5e95\"\"\"\npi: float\n\"\"\"\u5186\u306e\u5186\u5468\u3068\u76f4\u5f84\u306e\u6bd4\"\"\"", "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython\u306e\u5185\u90e8\u3002\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"\u30b3\u30f3\u30d1\u30a4\u30eb\u304c\u6700\u9069\u5316\u3067\u304d\u308b\u3088\u3046\u306b\u3001\u5f0f\u304c\u5b9a\u6570\u3067\u3042\u308b\u3053\u3068\u3092\u5ba3\u8a00\u3059\u308b\u305f\u3081\u306b\u4f7f\u3044\u307e\u3059\u3002\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: \u5b9a\u6570\u5f0f\u3002\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u73fe\u5728\u306e\u30b3\u30f3\u30d1\u30a4\u30eb\u6700\u9069\u5316\u30ec\u30d9\u30eb\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u5f8c\u7d9a\u306e\u30b3\u30f3\u30d1\u30a4\u30eb\u6700\u9069\u5316\u30ec\u30d9\u30eb\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: \u6700\u9069\u5316\u30ec\u30d9\u30eb\u3092\u793a\u3059\u6574\u6570\u5024\u3002\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"\u73fe\u5728\u4f7f\u3063\u3066\u3044\u308b\u30e1\u30e2\u30ea\u306b\u95a2\u3059\u308b\u60c5\u5831\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n\nExample: ``micropython.mem_info()``\n\n:param verbose: ``verbose`` \u5f15\u6570\u3092\u6307\u5b9a\u3059\u308b\u3068\u3001\u8a73\u3057\u3044\u60c5\u5831\u3092\u8868\u793a\u3057\u307e\u3059\u3002\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"\u73fe\u5728\u30a4\u30f3\u30bf\u30fc\u30f3\u3055\u308c\u3066\u3044\u308b\u6587\u5b57\u5217\u306b\u95a2\u3059\u308b\u60c5\u5831\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: ``verbose`` \u5f15\u6570\u3092\u6307\u5b9a\u3059\u308b\u3068\u3001\u8a73\u3057\u3044\u60c5\u5831\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"\u73fe\u5728\u4f7f\u308f\u308c\u3066\u3044\u308b\u30b9\u30bf\u30c3\u30af\u306e\u30b5\u30a4\u30ba\u3092\u8868\u3059\u6574\u6570\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"\u30d2\u30fc\u30d7\u3092\u30ed\u30c3\u30af\u3057\u307e\u3059\u3002\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"\u30d2\u30fc\u30d7\u306e\u30ed\u30c3\u30af\u3092\u89e3\u9664\u3057\u307e\u3059\u3002\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"``KeyboardInterrupt`` \u4f8b\u5916\u3092\u767a\u751f\u3055\u305b\u308b\u6587\u5b57\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: \u5272\u308a\u8fbc\u307f\u3092\u767a\u751f\u3055\u305b\u308b\u6587\u5b57\u30b3\u30fc\u30c9\u3002\u3042\u308b\u3044\u306f\u3001Ctrl-C\u306e\u30ad\u30e3\u30d7\u30c1\u30e3\u3092\u7121\u52b9\u306b\u3059\u308b\u306b\u306f-1\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", "/typeshed/stdlib/music.pyi": "\"\"\"\u30e1\u30ed\u30c7\u30a3\u30fc\u306e\u4f5c\u6210\u3068\u518d\u751f\u3002\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30d9\u30fc\u30c8\u30fc\u30f4\u30a7\u30f3\u306e\u4ea4\u97ff\u66f2\u7b2c5\u756a\u30cf\u77ed\u8abf\u306e\u5192\u982d\u3002\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30b9\u30b3\u30c3\u30c8\u30fb\u30b8\u30e7\u30d7\u30ea\u30f3\u306e\u30e9\u30b0\u30bf\u30a4\u30e0\u30fb\u30af\u30e9\u30b7\u30c3\u30af\u300e\u30b8\u30fb\u30a8\u30f3\u30bf\u30fc\u30c6\u30a4\u30ca\u30fc \u300f\u306e\u5192\u982d\u3002\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: J\u30fbS\u30fb\u30d0\u30c3\u30cf\u306e\u524d\u594f\u66f2\u3068\u30d5\u30fc\u30ac\u8a0848\u66f2\u306e\u524d\u594f\u66f2\u7b2c1\u756a\u30cf\u9577\u8abf\u306e\u5192\u982d\u3002\"\"\"\nODE: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30d9\u30fc\u30c8\u30fc\u30f4\u30a7\u30f3\u306e\u4ea4\u97ff\u66f2\u7b2c9\u756a\u30cb\u77ed\u8abf\u3088\u308a\u300e\u6b53\u559c\u306e\u6b4c\u300f\u306e\u30c6\u30fc\u30de\u3002\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: Nyan Cat \u30c6\u30fc\u30de (http://www.nyan.cat/)\u3002\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u643a\u5e2f\u96fb\u8a71\u306e\u7740\u4fe1\u97f3\u306e\u3088\u3046\u306a\u3082\u306e\u3002\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30b9\u30d1\u30a4\u3068\u72af\u7f6a\u306e\u9ed2\u5e55\u7528\u306e\u30d5\u30a1\u30f3\u30ad\u30fc\u306a\u30d9\u30fc\u30b9\u30e9\u30a4\u30f3\u3002\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30d6\u30ae\u30fc\u30fb\u30a6\u30fc\u30ae\u30fc\u306e 12 \u5c0f\u7bc0\u306e\u30d6\u30eb\u30fc\u30b9\u30fb\u30a6\u30a9\u30fc\u30ad\u30f3\u30b0\u30fb\u30d9\u30fc\u30b9\u3002\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3:\u300e\u30cf\u30c3\u30d4\u30fc\u30d0\u30fc\u30b9\u30c7\u30a3\u30c8\u30a5\u30e6\u30fc ...\u300f\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30ef\u30b0\u30ca\u30fc\u306e\u30aa\u30da\u30e9\u300e\u30ed\u30fc\u30a8\u30f3\u30b0\u30ea\u30f3\u300f\u3088\u308a\u5a5a\u793c\u306e\u5408\u5531\u3002\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30d5\u30ec\u30c7\u30ea\u30c3\u30af\u30fb\u30b7\u30e7\u30d1\u30f3\u306e\u30d4\u30a2\u30ce\u30bd\u30ca\u30bf\u7b2c2\u756a\u5909\u30ed\u77ed\u8abf \u4f5c\u54c135\uff08\u5225\u540d\u300e\u846c\u9001\u300f\uff09\u3002\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30b8\u30e7\u30fc\u30af\u304c\u8a00\u308f\u308c\u305f\u3053\u3068\u3092\u610f\u5473\u3059\u308b\u697d\u3057\u3044\u97f3\u697d\u3002\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30b8\u30e7\u30f3\u30fb\u30d5\u30a3\u30ea\u30c3\u30d7\u30fb\u30b9\u30fc\u30b6\u306e\u300e\u81ea\u7531\u306e\u9418\u300f\uff08\u300e\u7a7a\u98db\u3076\u30e2\u30f3\u30c6\u30a3\u30fb\u30d1\u30a4\u30bd\u30f3\u300f\u306e\u30c6\u30fc\u30de\u3068\u3082\u3044\u3046\uff09\uff08\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9ePython\u306e\u540d\u524d\u306e\u7531\u6765\u3068\u306a\u3063\u305f\uff09\u3002\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u7121\u58f0\u6620\u753b\u6642\u4ee3\u306e\u60aa\u5f79\u306e\u767b\u5834\u3002\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u7121\u58f0\u6620\u753b\u6642\u4ee3\u306e\u30c1\u30a7\u30a4\u30b9\u30b7\u30fc\u30f3\u3002\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u4f55\u304b\u304c\u8d77\u3053\u3063\u305f\u3053\u3068\u3092\u793a\u3059\u77ed\u3044\u4fe1\u53f7\u3002\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u975e\u5e38\u306b\u60b2\u3057\u3044\u30c8\u30ed\u30f3\u30dc\u30fc\u30f3\u3002\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30b2\u30fc\u30e0\u3067\u306e\u4f7f\u7528\u3067\u3001\u4e0a\u65b9\u5411\u306e\u52d5\u304d\u3092\u793a\u3057\u307e\u3059\u3002\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30b2\u30fc\u30e0\u3067\u306e\u4f7f\u7528\u3067\u3001\u4e0b\u5411\u304d\u306e\u52d5\u304d\u3092\u793a\u3057\u307e\u3059\u3002\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30a2\u30c1\u30fc\u30d6\u30e1\u30f3\u30c8\u3092\u9054\u6210\u3057\u305f\u3053\u3068\u3092\u793a\u3059\u30d5\u30a1\u30f3\u30d5\u30a1\u30fc\u30ec\u3002\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30a2\u30c1\u30fc\u30d6\u30e1\u30f3\u30c8\u3092\u9054\u6210\u3057\u306a\u304b\u3063\u305f\u3053\u3068\u3092\u793a\u3059\u30d5\u30a1\u30f3\u30d5\u30a1\u30fc\u30ec\u3002\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"\u518d\u751f\u3059\u308b\u305f\u3081\u306e\u304a\u304a\u3088\u305d\u306e\u30c6\u30f3\u30dd\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: 1\u30d3\u30fc\u30c8\u3092\u69cb\u6210\u3059\u308b\u30c6\u30a3\u30c3\u30af\u6570\u3002\n:param bpm: \u6bce\u5206\u306e\u30d3\u30fc\u30c8\u6570\u3092\u6c7a\u5b9a\u3059\u308b\u6574\u6570\u3002\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"\u73fe\u5728\u306e\u30c6\u30f3\u30dd\u3092\u6574\u6570\u306e\u30bf\u30d7\u30eb ``(ticks, bpm)`` \u3068\u3057\u3066\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"\u30df\u30e5\u30fc\u30b8\u30c3\u30af\u3092\u518d\u751f\u3057\u307e\u3059\u3002\n\nExample: ``music.play(music.NYAN)``\n\n:param music: `\u7279\u5225\u306a\u8868\u8a18 `_ \u3067\u6307\u5b9a\u3055\u308c\u305f\u30df\u30e5\u30fc\u30b8\u30c3\u30af\n:param pin: (\u30d4\u30f3) \u5916\u90e8\u30b9\u30d4\u30fc\u30ab\u30fc\u7528\u51fa\u529b\u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f ``pin0``\uff09\u3002\u97f3\u3092\u9cf4\u3089\u3057\u305f\u304f\u306a\u3044\u5834\u5408\u306f ``None`` \u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n:param wait: ``wait`` \u3092 ``True`` \u306b\u8a2d\u5b9a\u3057\u305f\u5834\u5408\u3001\u3053\u306e\u95a2\u6570\u304c\u30d6\u30ed\u30c3\u30af\u3057\u307e\u3059\u3002\n:param loop: ``loop`` \u304c ``True`` \u306e\u5834\u5408\u3001\u66f2\u306f ``stop`` \u304c\u547c\u3073\u51fa\u3055\u308c\u308b\u304b\u3001\u30d6\u30ed\u30c3\u30af\u30b3\u30fc\u30eb\u304c\u4e2d\u65ad\u3055\u308c\u308b\u307e\u3067\u7e70\u308a\u8fd4\u3057\u518d\u751f\u3055\u308c\u307e\u3059\u3002\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"\u97f3\u7b26\u3092\u518d\u751f\u3057\u307e\u3059\u3002\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: \u5468\u6ce2\u6570\u3092\u793a\u3059\u6574\u6570\u5024\n:param duration: \u6301\u7d9a\u6642\u9593\u3092\u30df\u30ea\u79d2\u5358\u4f4d\u3067\u6307\u5b9a\u3057\u307e\u3059\u3002\u8ca0\u306e\u5834\u5408\u3001\u6b21\u306e\u547c\u3073\u51fa\u3057\u304b ``stop`` \u306e\u547c\u3073\u51fa\u3057\u307e\u3067\u518d\u751f\u304c\u7d9a\u304d\u307e\u3059\u3002\n:param pin: \u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u51fa\u529b\u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f ``pin0``\uff09\u3002\n:param wait: ``wait`` \u3092 ``True`` \u306b\u8a2d\u5b9a\u3057\u305f\u5834\u5408\u3001\u3053\u306e\u95a2\u6570\u304c\u30d6\u30ed\u30c3\u30af\u3057\u307e\u3059\u3002\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\u5185\u8535\u30b9\u30d4\u30fc\u30ab\u30fc\u3084\u30b5\u30a6\u30f3\u30c9\u3092\u51fa\u529b\u3059\u308b\u7aef\u5b50\u304b\u3089\u9cf4\u3089\u3057\u3066\u3044\u308b\u3059\u3079\u3066\u306e\u30df\u30e5\u30fc\u30b8\u30c3\u30af\u518d\u751f\u3092\u505c\u6b62\u3057\u307e\u3059\u3002\n\nExample: ``music.stop()``\n\n:param pin: \u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u5f15\u6570\u306b\u306f\u3001\u305f\u3068\u3048\u3070 ``music.stop(pin1)`` \u306a\u3069\u306e\u7aef\u5b50\u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002\"\"\"\n\ndef reset() -> None:\n \"\"\"\u30c6\u30a3\u30c3\u30af\u3001bpm\u3001\u6301\u7d9a\u6642\u9593\u3001\u30aa\u30af\u30bf\u30fc\u30d6\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306b\u30ea\u30bb\u30c3\u30c8\u3057\u307e\u3059\u3002\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"\u500b\u5225\u306b\u30a2\u30c9\u30ec\u30b9\u53ef\u80fd\u306a RGB/RGBW LED \u30b9\u30c8\u30ea\u30c3\u30d7\u3002\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"\u7aef\u5b50\u3092\u4ecb\u3057\u3066\u5236\u5fa1\u3059\u308b\u30cd\u30aa\u30d4\u30af\u30bb\u30ebLED\u306e\u65b0\u3057\u3044\u30b9\u30c8\u30ea\u30c3\u30d7\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: \u30cd\u30aa\u30d4\u30af\u30bb\u30eb\u30b9\u30c8\u30ea\u30c3\u30d7\u3092\u5236\u5fa1\u3059\u308b\u7aef\u5b50\u3002\n:param n: \u30b9\u30c8\u30ea\u30c3\u30d7\u5185\u306e\u30cd\u30aa\u30d4\u30af\u30bb\u30eb\u306e\u6570\u3002\n:param bpp: \u30d4\u30af\u30bb\u30eb\u3042\u305f\u308a\u306e\u30d0\u30a4\u30c8\u6570\u3002micro:bit V2 \u306e RGBW \u30cd\u30aa\u30d4\u30af\u30bb\u30eb\u306b\u5bfe\u5fdc\u3059\u308b\u306b\u306f\u3001RGB\u3084GRB\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306e3\u3067\u306f\u306a\u304f\u30014 \u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"\u3059\u3079\u3066\u306e\u30d4\u30af\u30bb\u30eb\u3092\u30af\u30ea\u30a2\u3057\u307e\u3059\u3002\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"\u30d4\u30af\u30bb\u30eb\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"\u30d4\u30af\u30bb\u30eb\u3092\u8868\u793a\u3057\u307e\u3059\uff08micro:bit V2 \u306e\u307f\uff09\u3002\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"\u6307\u5b9a\u3057\u305f RGB/RGBW \u5024\u3092\u3059\u3079\u3066\u306e\u30d4\u30af\u30bb\u30eb\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: \u30d4\u30af\u30bb\u30eb\u3042\u305f\u308a\u306e\u30d0\u30a4\u30c8\u6570\uff08bpp\uff09\u3068\u540c\u3058\u9577\u3055\u306e\u30bf\u30d7\u30eb\u3002\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"\u30d4\u30af\u30bb\u30eb\u306e\u8272\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: \u30d4\u30af\u30bb\u30eb\u756a\u53f7\u3002\n:param value: \u8272\u3002\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"\u30d4\u30af\u30bb\u30eb\u306e\u8272\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``r, g, b = np[0]``\n\n:param key: \u30d4\u30af\u30bb\u30eb\u756a\u53f7\u3002\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"\u3053\u306e\u30d4\u30af\u30bb\u30eb\u30b9\u30c8\u30ea\u30c3\u30d7\u306e\u9577\u3055\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"\u500b\u5225\u306b\u30a2\u30c9\u30ec\u30b9\u53ef\u80fd\u306a RGB/RGBW LED \u30b9\u30c8\u30ea\u30c3\u30d7\u3002\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"\u7aef\u5b50\u3092\u4ecb\u3057\u3066\u5236\u5fa1\u3059\u308b\u30cd\u30aa\u30d4\u30af\u30bb\u30ebLED\u306e\u65b0\u3057\u3044\u30b9\u30c8\u30ea\u30c3\u30d7\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: \u30cd\u30aa\u30d4\u30af\u30bb\u30eb\u30b9\u30c8\u30ea\u30c3\u30d7\u3092\u5236\u5fa1\u3059\u308b\u7aef\u5b50\u3002\n:param n: \u30b9\u30c8\u30ea\u30c3\u30d7\u5185\u306e\u30cd\u30aa\u30d4\u30af\u30bb\u30eb\u306e\u6570\u3002\n:param bpp: \u30d4\u30af\u30bb\u30eb\u3042\u305f\u308a\u306e\u30d0\u30a4\u30c8\u6570\u3002RGBW \u30cd\u30aa\u30d4\u30af\u30bb\u30eb\u306b\u5bfe\u5fdc\u3059\u308b\u306b\u306f\u3001RGB\u3084GRB\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306e3\u3067\u306f\u306a\u304f\u30014 \u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"\u3059\u3079\u3066\u306e\u30d4\u30af\u30bb\u30eb\u3092\u30af\u30ea\u30a2\u3057\u307e\u3059\u3002\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"\u30d4\u30af\u30bb\u30eb\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"\u30d4\u30af\u30bb\u30eb\u3092\u8868\u793a\u3057\u307e\u3059\uff08micro:bit V2 \u306e\u307f\uff09\u3002\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"\u6307\u5b9a\u3057\u305f RGB/RGBW \u5024\u3092\u3059\u3079\u3066\u306e\u30d4\u30af\u30bb\u30eb\u306b\u8a2d\u5b9a\u3057\u307e\u3059\uff08micro:bit V2 \u306e\u307f\uff09\u3002\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: \u30d4\u30af\u30bb\u30eb\u3042\u305f\u308a\u306e\u30d0\u30a4\u30c8\u6570\uff08bpp\uff09\u3068\u540c\u3058\u9577\u3055\u306e\u30bf\u30d7\u30eb\u3002\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"\u30d4\u30af\u30bb\u30eb\u306e\u8272\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: \u30d4\u30af\u30bb\u30eb\u756a\u53f7\u3002\n:param value: \u8272\u3002\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"\u30d4\u30af\u30bb\u30eb\u306e\u8272\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``r, g, b = np[0]``\n\n:param key: \u30d4\u30af\u30bb\u30eb\u756a\u53f7\u3002\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"\u3053\u306e\u30d4\u30af\u30bb\u30eb\u30b9\u30c8\u30ea\u30c3\u30d7\u306e\u9577\u3055\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``len(np)``\"\"\"", "/typeshed/stdlib/os.pyi": "\"\"\"\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u306b\u30a2\u30af\u30bb\u30b9\u3057\u307e\u3059\u3002\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"\u30d5\u30a1\u30a4\u30eb\u3059\u3079\u3066\u306e\u540d\u524d\u306e\u30ea\u30b9\u30c8\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3057\u307e\u3059\u3002\n\nExample: ``os.remove('data.txt')``\n\n:param filename: \u524a\u9664\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u306e\u540d\u524d\u3002\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"\u30d5\u30a1\u30a4\u30eb\u306e\u30b5\u30a4\u30ba\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``os.size('data.txt')``\n\n:param filename: \u30d5\u30a1\u30a4\u30eb\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"``os.uname()`` \u306e\u7d50\u679c\"\"\"\n sysname: str\n \"\"\"\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u540d\u3002\"\"\"\n nodename: str\n \"\"\"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u306e\u30de\u30b7\u30f3\u306e\u540d\u524d\uff08\u5b9f\u88c5\u5b9a\u7fa9\uff09\u3002\"\"\"\n release: str\n \"\"\"\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u306e\u30ea\u30ea\u30fc\u30b9\u3002\"\"\"\n version: str\n \"\"\"\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3002\"\"\"\n machine: str\n \"\"\"\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u8b58\u5225\u5b50\u3002\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"\u73fe\u5728\u306e\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u3092\u8b58\u5225\u3059\u308b\u60c5\u5831\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", "/typeshed/stdlib/radio.pyi": "\"\"\"\u5185\u8535\u306e\u7121\u7dda\u901a\u4fe1\u3092\u4f7f\u3063\u305fmicro:bit\u9593\u306e\u901a\u4fe1\u3002\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"1 MBit/\u79d2\u306e\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u3092\u793a\u3059\u305f\u3081\u306b\u4f7f\u308f\u308c\u308b\u5b9a\u6570\u3002\"\"\"\nRATE_2MBIT: int\n\"\"\"2 MBit/\u79d2\u306e\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u3092\u793a\u3059\u305f\u3081\u306b\u4f7f\u308f\u308c\u308b\u5b9a\u6570\u3002\"\"\"\n\ndef on() -> None:\n \"\"\"\u7121\u7dda\u901a\u4fe1\u3092\u30aa\u30f3\u306b\u3057\u307e\u3059\u3002\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"\u7121\u7dda\u901a\u4fe1\u3092\u30aa\u30d5\u306b\u3057\u3066\u3001\u96fb\u529b\u3068\u30e1\u30e2\u30ea\u3092\u7bc0\u7d04\u3057\u307e\u3059\u3002\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"\u7121\u7dda\u901a\u4fe1\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (\u30c7\u30d5\u30a9\u30eb\u30c8=32)\\u3000\u7121\u7dda\u3092\u4ecb\u3057\u3066\u9001\u4fe1\u3055\u308c\u308b\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u30d0\u30a4\u30c8\u5358\u4f4d\u306e\u6700\u5927\u9577\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\u6700\u5927\u3067 251 \u30d0\u30a4\u30c8\uff08S0\u3001\u9577\u3055\u3001S1 \u30d7\u30ea\u30a2\u30f3\u30d6\u30eb\u306f254 \u304b\u3089 3 \u3092\u5f15\u3044\u305f\u30d0\u30a4\u30c8\u6570\uff09\u306b\u8a2d\u5b9a\u3067\u304d\u307e\u3059\u3002\n:param queue: (\u30c7\u30d5\u30a9\u30eb\u30c8=3)\\u3000\u53d7\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u30ad\u30e5\u30fc\u306b\u683c\u7d0d\u3067\u304d\u308b\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u6570\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n\u7740\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u30ad\u30e5\u30fc\u306b\u7a7a\u304d\u304c\u306a\u3044\u5834\u5408\u3001\u7740\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u306f\u6368\u3066\u3089\u308c\u307e\u3059\u3002\n:param channel: (\u30c7\u30d5\u30a9\u30eb\u30c8=7)\\u3000\u7121\u7dda\u304c\u540c\u8abf\u3055\u308c\u3066\u3044\u308b\u4efb\u610f\u306e\u300c\u30c1\u30e3\u30cd\u30eb\u300d\u3092\u5b9a\u7fa9\u3059\u308b\u3082\u306e\u3067\u30010 \u304b\u3089 83 \u307e\u3067\u306e\u6574\u6570\u5024\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u3059\u3002\u30e1\u30c3\u30bb\u30fc\u30b8\u306f\u3053\u306e\u30c1\u30e3\u30cd\u30eb\u7d4c\u7531\u3067\u9001\u4fe1\u3055\u308c\u3001\u3053\u306e\u30c1\u30e3\u30cd\u30eb\u7d4c\u7531\u3067\u53d7\u4fe1\u3057\u305f\u30e1\u30c3\u30bb\u30fc\u30b8\u3060\u3051\u304c\u53d7\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u30ad\u30e5\u30fc\u306b\u5165\u308c\u3089\u308c\u307e\u3059\u3002\u5404\u30b9\u30c6\u30c3\u30d7\u306f 1MHz \u5e45\u3067\u30012400MHz \u3092\u57fa\u6e96\u306b\u3057\u3066\u3044\u307e\u3059\u3002\n:param power: (\u30c7\u30d5\u30a9\u30eb\u30c8=6)\\u3000\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30d6\u30ed\u30fc\u30c9\u30ad\u30e3\u30b9\u30c8\u3059\u308b\u3068\u304d\u306b\u4f7f\u7528\u3055\u308c\u308b\u4fe1\u53f7\u306e\u5f37\u5ea6\u3092\u793a\u3059\u3082\u306e\u3067\u30010 \u304b\u3089 7 \u307e\u3067\u306e\u6574\u6570\u5024\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u3080\u3002\uff09\u3092\u8a2d\u5b9a\u3067\u304d\u3067\u3059\u3002\n\u5024\u304c\u9ad8\u3044\u307b\u3069\u4fe1\u53f7\u306f\u5f37\u304f\u306a\u308a\u307e\u3059\u304c\u3001\u30c7\u30d0\u30a4\u30b9\u304c\u6d88\u8cbb\u3059\u308b\u96fb\u529b\u304c\u5927\u304d\u304f\u306a\u308a\u307e\u3059\u3002\u6307\u5b9a\u306e\u756a\u53f7\u306f\u6b21\u306e\u30ea\u30b9\u30c8\u306e dBm\uff08\u30c7\u30b7\u30d9\u30eb\u30df\u30ea\u30ef\u30c3\u30c8\uff09\u5024\u306e\u4f4d\u7f6e\u306b\u5909\u63db\u3055\u308c\u307e\u3059: -30, -20, -16, -12, -8, -4, 0, 4 \u3002\n:param address: (\u30c7\u30d5\u30a9\u30eb\u30c8=0x75626974)\\u300032 \u30d3\u30c3\u30c8\u306e\u30a2\u30c9\u30ec\u30b9\u3068\u3057\u3066\u8868\u3055\u308c\u308b\u4efb\u610f\u306e\u540d\u524d\u3067\u3042\u308a\u3001\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u30ec\u30d9\u30eb\u3067\u7740\u4fe1\u30d1\u30b1\u30c3\u30c8\u3092\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u306f\u30e6\u30fc\u30b6\u30fc\u304c\u8a2d\u5b9a\u3057\u305f\u30a2\u30c9\u30ec\u30b9\u3068\u4e00\u81f4\u3059\u308b\u3082\u306e\u306e\u307f\u3092\u7dad\u6301\u3057\u307e\u3059\u3002\n\u4ed6\u306emicro:bit\u95a2\u9023\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u4f7f\u308f\u308c\u308b\u30c7\u30d5\u30a9\u30eb\u30c8\u306f\u3001\u3053\u3053\u3067\u4f7f\u308f\u308c\u308b\u30c7\u30d5\u30a9\u30eb\u30c8\u8a2d\u5b9a\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002\n:param group: (\u30c7\u30d5\u30a9\u30eb\u30c8=0)\\u30008\u30d3\u30c3\u30c8\u306e\u5024\uff080\u301c255\uff09\u3067\u3042\u308a\u3001 ``address`` \u30d5\u30a3\u30eb\u30bf\u3057\u305f\u30e1\u30c3\u30bb\u30fc\u30b8\u3067\u4f7f\u3044\u307e\u3059\u3002\n\u6982\u5ff5\u7684\u306b\u300caddress\u300d\u306f\u81ea\u5b85/\u4e8b\u52d9\u6240\u306e\u4f4f\u6240\u306e\u3088\u3046\u306a\u3082\u306e\u3067\u3042\u308a\u3001\u300cgroup\u300d\u306f\u305d\u306e\u4f4f\u6240\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u53d7\u3051\u53d6\u4eba\u306e\u3088\u3046\u306a\u3082\u306e\u3067\u3059\u3002\n:param data_rate: (\u30c7\u30d5\u30a9\u30eb\u30c8=``radio.RATE_1MBIT``)\\u3000\u30c7\u30fc\u30bf\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u304c\u8d77\u3053\u308b\u901f\u5ea6\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002\n``radio`` \u30e2\u30b8\u30e5\u30fc\u30eb\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u5b9a\u6570 ``RATE_250KBIT``\u3001``RATE_1MBIT``\u3001``RATE_2MBIT`` \u306e\u3044\u305a\u308c\u304b\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\u8a2d\u5b9a\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306b\u30ea\u30bb\u30c3\u30c8\u3057\u307e\u3059\u3002\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"\u30d0\u30a4\u30c8\u5217\u3092\u542b\u3093\u3060\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u4fe1\u3057\u307e\u3059\u3002\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: \u9001\u4fe1\u3059\u308b\u30d0\u30a4\u30c8\u5217\u3002\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"\u30e1\u30c3\u30bb\u30fc\u30b8\u30ad\u30e5\u30fc\u306b\u3042\u308b\u6b21\u306e\u7740\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u53d7\u4fe1\u3057\u307e\u3059\u3002\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"\u30e1\u30c3\u30bb\u30fc\u30b8\u30ad\u30e5\u30fc\u306b\u3042\u308b\u6b21\u306e\u7740\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30d0\u30c3\u30d5\u30a1\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3059\u3002\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: \u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u683c\u7d0d\u3059\u308b\u30d0\u30c3\u30d5\u30a1\u3002\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u30d0\u30c3\u30d5\u30a1\u3088\u308a\u5927\u304d\u3044\u5834\u5408\u3001\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u53ce\u307e\u3089\u306a\u3044\u90e8\u5206\u304c\u5207\u308a\u6368\u3066\u3089\u308c\u307e\u3059\u3002\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"\u30e1\u30c3\u30bb\u30fc\u30b8\u6587\u5b57\u5217\u3092\u9001\u4fe1\u3057\u307e\u3059\u3002\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: \u9001\u4fe1\u3059\u308b\u6587\u5b57\u5217\u3002\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"``receive_bytes`` \u3068\u540c\u3058\u3088\u3046\u306b\u52d5\u4f5c\u3057\u307e\u3059\u304c\u3001\u9001\u4fe1\u3055\u308c\u3066\u304d\u305f\u3082\u306e\u306f\u3059\u3079\u3066\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"\u30e1\u30c3\u30bb\u30fc\u30b8\u30ad\u30e5\u30fc\u306b\u3042\u308b\u6b21\u306e\u53d7\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u8868\u30593\u3064\u306e\u5024\u3092\u30bf\u30d7\u30eb\u3067\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", diff --git a/src/micropython/main/typeshed.ko.json b/src/micropython/main/typeshed.ko.json index 92524fa44..bd06f1b73 100644 --- a/src/micropython/main/typeshed.ko.json +++ b/src/micropython/main/typeshed.ko.json @@ -8,13 +8,13 @@ "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", "/typeshed/stdlib/gc.pyi": "\"\"\"\uac00\ube44\uc9c0 \uceec\ub809\ud130 \uc81c\uc5b4\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"\uc790\ub3d9 \uac00\ube44\uc9c0 \uceec\ub809\uc158\uc744 \ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"\uc790\ub3d9 \uac00\ube44\uc9c0 \uceec\ub809\uc158\uc744 \ube44\ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"\uac00\ube44\uc9c0 \uceec\ub809\uc158\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"\ud560\ub2f9\ub41c \ud799 RAM\uc758 \ubc14\uc774\ud2b8 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"\uc774\uc6a9 \uac00\ub2a5\ud55c \ud799 RAM\uc758 \ubc14\uc774\ud2b8 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4. \uac12\uc744 \uc54c \uc218 \uc5c6\ub294 \uacbd\uc6b0 -1\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"\ucd94\uac00 GC \ud560\ub2f9 \uc784\uacc4\uac12\uc744 \uc694\uccad\ud569\ub2c8\ub2e4.\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"\ucd94\uac00 GC \ud560\ub2f9 \uc784\uacc4\uac12\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: \uac00\ube44\uc9c0 \uceec\ub809\uc158\uc774 \ud2b8\ub9ac\uac70\ub418\ub294 \ubc14\uc774\ud2b8 \uc218\uc785\ub2c8\ub2e4.\"\"\"\n ...", - "/typeshed/stdlib/log.pyi": "\"\"\"micro:bit V2\uc5d0 \ub370\uc774\ud130\ub97c \uae30\ub85d\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"\ubc00\ub9ac\ucd08 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nSECONDS = 10\n\"\"\"\ucd08 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nMINUTES = 600\n\"\"\"\ubd84 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nHOURS = 36000\n\"\"\"\uc2dc\uac04 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nDAYS = 864000\n\"\"\"\uc77c \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"\ub85c\uadf8 \ud30c\uc77c \ud5e4\ub354\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: Any number of positional arguments, each corresponding to an entry in the log header.\n:param timestamp: (\ud0c0\uc784\uc2a4\ud0ec\ud504) Select the timestamp unit that will be automatically added as the first column in every row. Timestamp values can be one of ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` or ``None`` to disable the timestamp. The default value is ``log.SECONDS``.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"\ud5e4\ub354 \ubc0f \uac12\uc758 \ub515\uc154\ub108\ub9ac\ub97c \ud328\uc2a4\ud574 \ub85c\uadf8\uc5d0 \ub370\uc774\ud130 \ud589\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4.\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: The data to log as a dictionary with a key for each header.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"\ud0a4\uc6cc\ub4dc \uc778\uc790\ub97c \uc0ac\uc6a9\ud574 \ub85c\uadf8\uc5d0 \ub370\uc774\ud130 \ud589\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4.\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"\ud5e4\ub354\ub97c \ud3ec\ud568\ud55c \ub85c\uadf8\uc758 \ub0b4\uc6a9\uc744 \uc0ad\uc81c\ud569\ub2c8\ub2e4.\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: ``True`` selects a \u201cfull\u201d erase and ``False`` selects the \u201cfast\u201d erase method.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configure mirroring of the data logging activity to the serial output.\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: ``True`` enables mirroring data to the serial output.\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"micro:bit V2\uc5d0 \ub370\uc774\ud130\ub97c \uae30\ub85d\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"\ubc00\ub9ac\ucd08 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nSECONDS = 10\n\"\"\"\ucd08 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nMINUTES = 600\n\"\"\"\ubd84 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nHOURS = 36000\n\"\"\"\uc2dc\uac04 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nDAYS = 864000\n\"\"\"\uc77c \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"\ub85c\uadf8 \ud30c\uc77c \ud5e4\ub354\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: (*\ub808\uc774\ube14) \uac01\uac01 \ub85c\uadf8 \ud5e4\ub354\uc758 \ud56d\ubaa9\uc5d0 \ud574\ub2f9\ud558\ub294 \uc784\uc758\uc758 \uc704\uce58 \uc778\uc218 \uc218\uc785\ub2c8\ub2e4.\n:param timestamp: (\ud0c0\uc784\uc2a4\ud0ec\ud504) \ubaa8\ub4e0 \ud589\uc758 \uccab \ubc88\uc9f8\uc5d0 \uc790\ub3d9\uc73c\ub85c \uc0bd\uc785\ub420 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ub2e8\uc704\ub97c \uc120\ud0dd\ud558\uc2ed\uc2dc\uc624. \ud0c0\uc784\uc2a4\ud0ec\ud504\uc758 \uac12\uc740 ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS``\uac00 \ub420 \uc218 \uc788\uace0 \ube44\ud65c\uc131\ud654\ud558\ub824\uba74 ``None``\uac12\uc73c\ub85c \uc124\uc815\ud558\uc2ed\uc2dc\uc624. \ud0c0\uc784\uc2a4\ud0ec\ud504\uc758 \uae30\ubcf8\uac12\uc740 ``log.SECONDS``\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"\ud5e4\ub354 \ubc0f \uac12\uc758 \ub515\uc154\ub108\ub9ac\ub97c \ud328\uc2a4\ud574 \ub85c\uadf8\uc5d0 \ub370\uc774\ud130 \ud589\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4.\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (\ub370\uc774\ud130 \uc0ac\uc804) \uac01 \ud5e4\ub354\uc5d0 \ub300\ud55c \ud0a4\uac00 \uc788\ub294 \uc0ac\uc804\uc73c\ub85c \uae30\ub85d\ud560 \ub370\uc774\ud130\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"\ud0a4\uc6cc\ub4dc \uc778\uc790\ub97c \uc0ac\uc6a9\ud574 \ub85c\uadf8\uc5d0 \ub370\uc774\ud130 \ud589\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4.\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"\ud5e4\ub354\ub97c \ud3ec\ud568\ud55c \ub85c\uadf8\uc758 \ub0b4\uc6a9\uc744 \uc0ad\uc81c\ud569\ub2c8\ub2e4.\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: ``True``\ub294 \"\uc804\uccb4\" \uc9c0\uc6b0\uae30\ub97c \uc120\ud0dd\ud558\uace0 ``False``\ub294 \"\ube60\ub978\" \uc9c0\uc6b0\uae30 \ubc29\ubc95\uc744 \uc120\ud0dd\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"\uc9c1\ub82c \ucd9c\ub825\uc5d0 \ub300\ud55c \ub370\uc774\ud130 \ub85c\uae45 \uc791\uc5c5 \ubbf8\ub7ec\ub9c1\uc744 \uad6c\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: ``True`` enables mirroring data to the serial output.\"\"\"\n ...", "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", "/typeshed/stdlib/machine.pyi": "\"\"\"\ub85c\uc6b0 \ub808\ubca8 \uc720\ud2f8\ub9ac\ud2f0\uc785\ub2c8\ub2e4.\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"\ubcf4\ub4dc\uc758 \uace0\uc720 \uc2dd\ubcc4\uc790\uac00 \uc788\ub294 \ubc14\uc774\ud2b8 \ubb38\uc790\uc5f4\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\uc678\ubd80 \ucd08\uae30\ud654 \ubc84\ud2bc\uc744 \ub204\ub978 \uac83\uacfc \uc720\uc0ac\ud55c \ubc29\uc2dd\uc73c\ub85c \uae30\uae30\ub97c \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"\ud5e4\ub974\uce20\ub85c \ud45c\uc2dc\ub41c CPU \uc9c4\ub3d9\uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"\uc778\ud130\ub7fd\ud2b8 \uc694\uccad\uc744 \ube44\ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"\uc778\ud130\ub7fd\ud2b8 \uc694\uccad\uc744 \uc7ac\ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: ``disable_irq`` \ud568\uc218\uc5d0\uc11c \uac00\uc7a5 \ucd5c\uadfc\uc5d0 \ud638\ucd9c\ub41c \uac12\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"\ud540 \ud384\uc2a4 \uc2dc\uac04\uc744 \uce21\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: (\ud540) \uc0ac\uc6a9\ud560 \ud540\n:param pulse_level: (\ud384\uc2a4 \ub808\ubca8) \ub85c\uc6b0 \ud384\uc2a4\uc758 \uc2dc\uac04\uc744 \uce21\uc815\ud558\ub824\uba74 0, \ud558\uc774 \ud384\uc2a4\ub294 1\n:param timeout_us: \ub9c8\uc774\ud06c\ub85c\ucd08 \uc2dc\uac04 \ucd08\uacfc\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"``mem8``, ``mem16``, ``mem32`` \uba54\ubaa8\ub9ac \ubdf0 \ud074\ub798\uc2a4\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"\uba54\ubaa8\ub9ac \uac12\uc5d0 \uc561\uc138\uc2a4\ud569\ub2c8\ub2e4.\n\n:param address: \uba54\ubaa8\ub9ac \uc8fc\uc18c\uc785\ub2c8\ub2e4.\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"\uc81c\uacf5\ub41c \uc8fc\uc18c\uc5d0 \uac12\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\n:param address: \uba54\ubaa8\ub9ac \uc8fc\uc18c\uc785\ub2c8\ub2e4.\n:param value: \uc124\uc815\ud560 \uc815\uc218\uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\nmem8: mem\n\"\"\"8\ube44\ud2b8(\ubc14\uc774\ud2b8) \uba54\ubaa8\ub9ac \ubdf0\uc785\ub2c8\ub2e4.\"\"\"\nmem16: mem\n\"\"\"16\ube44\ud2b8 \uba54\ubaa8\ub9ac \ubdf0\uc785\ub2c8\ub2e4.\"\"\"\nmem32: mem\n\"\"\"32\ube44\ud2b8 \uba54\ubaa8\ub9ac \ubdf0\uc785\ub2c8\ub2e4.\"\"\"", "/typeshed/stdlib/math.pyi": "\"\"\"\uc218\ud559 \ud568\uc218\uc785\ub2c8\ub2e4.\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"\ucf54\uc0ac\uc778\uc758 \uc5ed\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.acos(1)``\n\n:param x: \uc22b\uc790\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"\uc0ac\uc778\uc758 \uc5ed\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.asin(0)``\n\n:param x: \uc22b\uc790\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"\ud0c4\uc820\ud2b8\uc758 \uc5ed\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.atan(0)``\n\n:param x: \uc22b\uc790\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"``y/x``\uc758 \uc5ed \ud0c4\uc820\ud2b8\uc758 \uc8fc \uac12\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: \uc22b\uc790\n:param x: \uc22b\uc790\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"\uc591\uc758 \ubb34\ud55c\ub300\ub85c \uc22b\uc790\ub97c \ubc18\uc62c\ub9bc\ud569\ub2c8\ub2e4.\n\nExample: ``math.ceil(0.1)``\n\n:param x: \uc22b\uc790\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"``y``\uc758 \uc0ac\uc778 \uac12\uc73c\ub85c ``x``\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: \uc22b\uc790\n:param y: \ubc18\ud658\uac12\uc758 \uc0ac\uc778\uc758 \ucd9c\ucc98\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"``x``\uc758 \ucf54\uc0ac\uc778\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.cos(0)``\n\n:param x: \uc22b\uc790\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"\ud638\ub3c4\ubc95\uc744 \uac01\ub3c4\ubc95\uc73c\ub85c \ubcc0\ud658\ud569\ub2c8\ub2e4. (\ub3c4)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: \ud638\ub3c4\ubc95 \uac12\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"``x``\uc758 \uc9c0\uc218\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.exp(1)``\n\n:param x: \uc22b\uc790\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"``x``\uc758 \uc808\ub313\uac12\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: \uc22b\uc790\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"\uc74c\uc758 \ubb34\ud55c\ub300\ub85c \uc22b\uc790\ub97c \ubc18\uc62c\ub9bc\ud569\ub2c8\ub2e4.\n\nExample: ``math.floor(0.9)``\n\n:param x: \uc22b\uc790\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"``x/y``\uc758 \ub098\uba38\uc9c0\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: \ubd84\uc790\n:param y: \ubd84\ubaa8\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"\ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\ub97c \uac00\uc218\uc640 \uc9c0\uc218\ub85c \ubd84\ud574\ud569\ub2c8\ub2e4.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: \ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"\uac12\uc774 \uc720\ud55c\uac12\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: \uc22b\uc790\uc785\ub2c8\ub2e4.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"\uac12\uc774 \ubb34\ud55c\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: \uc22b\uc790\uc785\ub2c8\ub2e4.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"\uac12\uc774 \uc22b\uc790\uac00 \uc544\ub2cc \uac12(NaN)\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: \uc22b\uc790\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"``x * (2**exp)``\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: \uc22b\uc790\n:param exp: \uc815\uc218 \uc9c0\uc218\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"``x``\uc758 \ub85c\uadf8\ub97c \uc8fc\uc5b4\uc9c4 \ubca0\uc774\uc2a4\uc5d0 \ub530\ub77c \uacc4\uc0b0\ud569\ub2c8\ub2e4(\uae30\ubcf8\uac12\uc740 \uc790\uc5f0\ub85c\uadf8).\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: \uc22b\uc790\n:param base: \uc0ac\uc6a9\ud560 \ubca0\uc774\uc2a4\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"``x``\uc758 \ubd84\uc218 \ubc0f \uc815\uc218 \ubd80\ubd84\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: \uc22b\uc790\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"``y``\uc758 \uc81c\uacf1\uc744 ``x``(\uc73c)\ub85c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: \uc22b\uc790\n:param y: \uc9c0\uc218\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"\uac01\ub3c4\ubc95\uc744 \ud638\ub3c4\ubc95\uc73c\ub85c \ubcc0\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``math.radians(360)``\n\n:param x: \uac01\ub3c4\ubc95 \uac12\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"``x``\uc758 \uc0ac\uc778\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: \uc22b\uc790\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"``x``\uc758 \uc81c\uacf1\uadfc\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.sqrt(4)``\n\n:param x: \uc22b\uc790\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"``x``\uc758 \ud0c4\uc820\ud2b8\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.tan(0)``\n\n:param x: \uc22b\uc790\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"\uc22b\uc790\ub97c 0\uc73c\ub85c \ubc18\uc62c\ub9bc\ud569\ub2c8\ub2e4.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: \uc22b\uc790\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"\uc790\uc5f0 \uc54c\uace0\ub9ac\uc998 \ubca0\uc774\uc2a4\"\"\"\npi: float\n\"\"\"\uc6d0\uc758 \uc6d0\uc8fc\uc640 \uc9c0\ub984\uc758 \ube44\uc728\"\"\"", "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython \ub0b4\ubd80 \uc815\ubcf4\uc785\ub2c8\ub2e4.\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"\ucef4\ud30c\uc77c\ub7ec\uac00 \ucd5c\uc801\ud654\ud560 \uc218 \uc788\ub3c4\ub85d \ud574\ub2f9 \uc218\uc2dd\uc774 \uc0c1\uc218\uc784\uc744 \uc120\uc5b8\ud569\ub2c8\ub2e4.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: \uc0c1\uc218 \ud45c\ud604\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"\uc2a4\ud06c\ub9bd\ud2b8\uc758 \ud604\uc7ac \ucef4\ud30c\uc77c \ucd5c\uc801\ud654 \ub808\ubca8\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"\uc2a4\ud06c\ub9bd\ud2b8\uc758 \ud6c4\uc18d \ucef4\ud30c\uc77c \ucd5c\uc801\ud654 \ub808\ubca8\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: \uc815\uc218\ub85c \ub41c \ucd5c\uc801\ud654 \ub808\ubca8\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"\ud604\uc7ac \uc0ac\uc6a9 \uc911\uc778 \uba54\ubaa8\ub9ac\uc5d0 \ub300\ud55c \uc815\ubcf4\ub97c \ud504\ub9b0\ud2b8\ud569\ub2c8\ub2e4.\n\nExample: ``micropython.mem_info()``\n\n:param verbose: ``verbose`` \uc778\uc790\uac00 \uc8fc\uc5b4\uc9c0\uba74 \ucd94\uac00 \uc815\ubcf4\ub97c \ud504\ub9b0\ud2b8\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"\ud604\uc7ac \ubc18\ud658\ub41c \ubb38\uc790\uc5f4\uc5d0 \ub300\ud55c \uc815\ubcf4\ub97c \ud504\ub9b0\ud2b8\ud569\ub2c8\ub2e4.\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: ``verbose`` \uc778\uc790\uac00 \uc8fc\uc5b4\uc9c0\uba74 \ucd94\uac00 \uc815\ubcf4\ub97c \ud504\ub9b0\ud2b8\ud569\ub2c8\ub2e4.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"\ud604\uc7ac \uc0ac\uc6a9 \uc911\uc778 \uc2a4\ud0dd\uc758 \uc218\ub97c \ub098\ud0c0\ub0b4\ub294 \uc815\uc218\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"\ud799\uc744 \uc7a0\uae09\ub2c8\ub2e4.\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"\ud799\uc744 \uc7a0\uae08 \ud574\uc81c\ud569\ub2c8\ub2e4.\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"``KeyboardInterrupt`` \uc608\uc678\ub97c \uc81c\uae30\ud560 \ubb38\uc790\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: \uc778\ud130\ub7fd\ud2b8\ub97c \uc81c\uae30\ud558\uae30 \uc704\ud55c \ubb38\uc790 \ucf54\ub4dc\uc785\ub2c8\ub2e4. -1\uc740 Ctrl-C \ucea1\ucc98\ub97c \ube44\ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", "/typeshed/stdlib/music.pyi": "\"\"\"\uba5c\ub85c\ub514\ub97c \uc0dd\uc131\ud558\uace0 \uc7ac\uc0dd\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ubca0\ud1a0\ubca4\uc758 \uad50\ud5a5\uace1 \uc81c5\ubc88 \ub2e4 \ub2e8\uc870 \ub3c4\uc785\ubd80\uc785\ub2c8\ub2e4.\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc2a4\ucf67 \uc870\ud50c\ub9b0\uc758 \ub798\uadf8\ud0c0\uc784 \uace0\uc804 \u201cThe Entertainer\u201d \ub3c4\uc785\ubd80 \uc77c\ubd80\uc785\ub2c8\ub2e4.\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc694\ud55c \uc81c\ubc14\uc2a4\ud2f0\uc548 \ubc14\ud750\uc758 48 Preludes and Fugues \ub2e4 \uc7a5\uc870 \uccab \uc804\uc8fc\uace1 \ub3c4\uc785\ubd80\uc785\ub2c8\ub2e4.\"\"\"\nODE: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ubca0\ud1a0\ubca4\uc758 \uad50\ud5a5\uace1 \uc81c9\ubc88 \ub77c \ub2e8\uc870 \u201cOde to Joy\u201d \ud14c\ub9c8\uc785\ub2c8\ub2e4.\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: Nyan Cat \ud14c\ub9c8\uc785\ub2c8\ub2e4(http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ud734\ub300\ud3f0 \ubca8\uc18c\ub9ac\uc640 \uc720\uc0ac\ud55c \uc18c\ub9ac\uc785\ub2c8\ub2e4.\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ube44\ubc00 \uc694\uc6d0\uacfc \ucc9c\uc7ac \ubc94\uc8c4\uc790\uc5d0 \uc5b4\uc6b8\ub9ac\ub294 \ud391\ud0a4 \ubca0\uc774\uc2a4 \ub77c\uc778\uc785\ub2c8\ub2e4.\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ubd80\uae30 \uc6b0\uae30 12\ubc14 \ube14\ub8e8\uc2a4 \uc6cc\ud0b9 \ubca0\uc774\uc2a4\uc785\ub2c8\ub2e4.\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc0dd\uc77c \ucd95\ud558 \ub178\ub798\uc785\ub2c8\ub2e4.\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"Melody: \ubc14\uadf8\ub108\uc758 \uc624\ud398\ub77c \u201c\ub85c\uc5d4\uadf8\ub9b0\u201d\uc758 \uacb0\ud63c\uc2dd \ud569\ucc3d\uc785\ub2c8\ub2e4.\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \u201c\uc7a5\uc1a1\ud589\uc9c4\uace1\u201d\uc774\ub77c\uace0\ub3c4 \uc54c\ub824\uc9c4 \ud504\ub808\ub370\ub9ac\ud06c \uc1fc\ud33d\uc758 \ud53c\uc544\ub178 \uc18c\ub098\ud0c0 \uc81c2\ubc88 B\u266d \ub2e8\uc870 Op. 35\uc785\ub2c8\ub2e4.\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ub18d\ub2f4\ud560 \ub54c \ub098\uc624\ub294 \uc7ac\ubbf8\uc788\ub294 \uba5c\ub85c\ub514\uc785\ub2c8\ub2e4.\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc874 \ud544\ub9bd \uc218\uc790\uc758 \u201c\uc790\uc720\uc758 \uc885\u201d \ud589\uc9c4\uace1\uc785\ub2c8\ub2e4. \u201c\ubaac\ud2f0 \ud30c\uc774\ud2bc\uc758 \ube44\ud589 \uc11c\ucee4\uc2a4\u201d \ud14c\ub9c8\uace1\uc73c\ub85c\ub3c4 \uc54c\ub824\uc838 \uc788\uc2b5\ub2c8\ub2e4(Python \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4\ub294 \ubaac\ud2f0 \ud30c\uc774\ud2bc\uc758 \uc774\ub984\uc5d0\uc11c \uc720\ub798\ud588\uc2b5\ub2c8\ub2e4).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ubb34\uc131 \uc601\ud654 \uc2dc\ub300\uc758 \uc545\ub2f9 \ub4f1\uc7a5 \uba5c\ub85c\ub514\uc785\ub2c8\ub2e4.\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ubb34\uc131 \uc601\ud654 \uc2dc\ub300\uc758 \ucd94\uaca9 \uc7a5\uba74 \uba5c\ub85c\ub514\uc785\ub2c8\ub2e4.\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514:\uc5b4\ub5a4 \uc77c\uc774 \uc77c\uc5b4\ub0ac\ub2e4\ub294 \uac83\uc744 \uc54c\ub824\uc8fc\ub294 \uc9e7\uc740 \uc2e0\ud638\uc74c\uc785\ub2c8\ub2e4.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc544\uc8fc \uc2ac\ud508 \ud2b8\ub7fc\ubcf8 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uac8c\uc784\uc5d0\uc11c \uc704\ub85c \uc6c0\uc9c1\uc774\ub294 \uac83\uc744 \ud45c\ud604\ud558\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uac8c\uc784\uc5d0\uc11c \uc544\ub798\ub85c \uc6c0\uc9c1\uc774\ub294 \uac83\uc744 \ud45c\ud604\ud558\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc5c5\uc801 \ub2ec\uc131\uc744 \uc54c\ub9ac\ub294 \ud321\ud30c\ub974 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc5c5\uc801 \ub2ec\uc131 \uc2e4\ud328\ub97c \uc758\ubbf8\ud558\ub294 \uc2ac\ud508 \ud321\ud30c\ub974 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"\ud50c\ub808\uc774\ubc31\uc758 \ube60\ub974\uae30\ub97c \ub300\ub7b5\uc801\uc73c\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: \ube44\ud2b8 \ud558\ub098\ub97c \uad6c\uc131\ud558\ub294 \ud2f1\uc758 \uc218\uc785\ub2c8\ub2e4.\n:param bpm: \ubd84\ub2f9 \ube44\ud2b8 \uc218\ub97c \uacb0\uc815\ud558\ub294 \uc815\uc218\uc785\ub2c8\ub2e4.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"\ud604\uc7ac \ube60\ub974\uae30\ub97c \uc815\uc218 \ud29c\ud50c\ub85c \uac00\uc838\uc635\ub2c8\ub2e4: ``(ticks, bpm)``.\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"\uc74c\uc545\uc744 \uc7ac\uc0dd\ud569\ub2c8\ub2e4.\n\nExample: ``music.play(music.NYAN)``\n\n:param music: `\ubcc4\ucca8 `_\uc5d0 \uba85\uc2dc\ub41c \uc74c\uc545\n:param pin: (\ud540) \uc678\uc7a5 \uc2a4\ud53c\ucee4\uc5d0 \uc0ac\uc6a9\ud560 \ucd9c\ub825 \ud540\uc785\ub2c8\ub2e4(\uae30\ubcf8\uac12 ``pin0``). ``None``\uc73c\ub85c \uc124\uc815\ud558\uba74 \uc18c\ub9ac\uac00 \uc7ac\uc0dd\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.\n:param wait: ``wait``\uc774 ``True``\ub85c \uc124\uc815\ub41c \uacbd\uc6b0 \uc774 \uae30\ub2a5\uc740 \ube14\ub85c\ud0b9 \uc0c1\ud0dc\uac00 \ub429\ub2c8\ub2e4.\n:param loop: ``loop``\uac00 ``True``\uc778 \uacbd\uc6b0 ``stop``\uc774 \ud638\ucd9c\ub418\uac70\ub098 \ube14\ub85c\ud0b9 \ud638\ucd9c\uc774 \uc778\ud130\ub7fd\ud2b8\ub418\uae30 \uc804\uae4c\uc9c0 \uacc4\uc18d \ubc18\ubcf5\ub429\ub2c8\ub2e4.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"\uc74c\uc744 \uc7ac\uc0dd\ud569\ub2c8\ub2e4. (\uc55e-\ub4a4 \uae30\uc6b8\uae30)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (\uc9c4\ub3d9\uc218) \uc815\uc218 \uc9c4\ub3d9\uc218\uc785\ub2c8\ub2e4.\n:param duration: \ubc00\ub9ac\ucd08 \ub2e8\uc704\uc758 \uae30\uac04\uc785\ub2c8\ub2e4. \uc74c\uc218\uc778 \uacbd\uc6b0 \uc18c\ub9ac\uac00 \ub2e4\uc74c \ud638\ucd9c \ub610\ub294 ``stop`` \ud638\ucd9c\uae4c\uc9c0 \uacc4\uc18d \uc7ac\uc0dd\ub429\ub2c8\ub2e4.\n:param pin: (\ud540) \ucd9c\ub825 \ud540\uc785\ub2c8\ub2e4(\uae30\ubcf8\uac12 ``pin0``)(\uc120\ud0dd \uc0ac\ud56d).\n:param wait: ``wait``\uc774 ``True``\ub85c \uc124\uc815\ub41c \uacbd\uc6b0 \uc774 \uae30\ub2a5\uc740 \ube14\ub85c\ud0b9 \uc0c1\ud0dc\uac00 \ub429\ub2c8\ub2e4.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\ub0b4\uc7a5 \uc2a4\ud53c\ucee4\uc640 \ud540\uc73c\ub85c \ucd9c\ub825\ub418\ub294 \ubaa8\ub4e0 \uc74c\uc545 \ud50c\ub808\uc774\ubc31\uc744 \uba48\ucda5\ub2c8\ub2e4.\n\nExample: ``music.stop()``\n\n:param pin: (\ud540) \ud540\uc744 \ud2b9\uc815\ud558\uae30 \uc704\ud55c \uc778\uc790\uc785\ub2c8\ub2e4(\uc608: ``music.stop(pin1)``)(\uc120\ud0dd \uc0ac\ud56d).\"\"\"\n\ndef reset() -> None:\n \"\"\"\ud2f1, bpm, \uae30\uac04 \ubc0f \uc625\ud0c0\ube0c\ub97c \uae30\ubcf8\uac12\uc73c\ub85c \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"\uac1c\ubcc4 \uc8fc\uc18c\ub97c \uc9c0\uc815\ud560 \uc218 \uc788\ub294 RGB \ubc0f RGBW LED \uc2a4\ud2b8\ub9bd\uc785\ub2c8\ub2e4.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"\ud540\uc73c\ub85c \uc81c\uc5b4\ub418\ub294 \uc0c8\ub85c\uc6b4 \uc2a4\ud2b8\ub9bd\uc758 \ub124\uc624\ud53d\uc140 LED\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4. (string)\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: (\ud540) \ub124\uc624\ud53d\uc140 \uc2a4\ud2b8\ub9bd\uc744 \uc81c\uc5b4\ud558\ub294 \ud540\uc785\ub2c8\ub2e4.\n:param n: \uc2a4\ud2b8\ub9bd\uc758 \ub124\uc624\ud53d\uc140 \uc218\uc785\ub2c8\ub2e4.\n:param bpp: \ud53d\uc140\ub2f9 \ubc14\uc774\ud2b8\uc785\ub2c8\ub2e4. micro:bit V2 RGBW \ub124\uc624\ud53d\uc140 \uc9c0\uc6d0\uc744 \uc704\ud574\uc11c\ub294 RGB \ubc0f GRB\uc758 \uae30\ubcf8\uac12 3 \ub300\uc2e0 4\ub97c \ud328\uc2a4\ud574\uc57c \ud569\ub2c8\ub2e4.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"\ubaa8\ub4e0 \ud53d\uc140\uc744 \uc9c0\uc6c1\ub2c8\ub2e4.\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"\ud53d\uc140\uc744 \ud45c\uc2dc\ud569\ub2c8\ub2e4.\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"\ud53d\uc140\uc744 \ud45c\uc2dc\ud569\ub2c8\ub2e4(micro:bit V2 \uc804\uc6a9).\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"\ubaa8\ub4e0 \ud53d\uc140\uc5d0 \uc8fc\uc5b4\uc9c4 RGB/RGBW \uac12\uc744 \uce60\ud569\ub2c8\ub2e4.\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: \ud53d\uc140 \ub2f9 \ubc14\uc774\ud2b8 \uc218(bpp)\uc640 \uac19\uc740 \uae38\uc774\uc758 \ud29c\ud50c\uc785\ub2c8\ub2e4.\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"\ud53d\uc140 \uc0c9\uc0c1\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: \ud53d\uc140 \ubc88\ud638\uc785\ub2c8\ub2e4.\n:param value: \uc0c9\uc0c1\uc785\ub2c8\ub2e4.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"\ud53d\uc140 \uc0c9\uc0c1\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``r, g, b = np[0]``\n\n:param key: \ud53d\uc140 \ubc88\ud638\uc785\ub2c8\ub2e4.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"\uc774 \ud53d\uc140 \uc2a4\ud2b8\ub9bd\uc758 \uae38\uc774\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"\uac1c\ubcc4 \uc8fc\uc18c\ub97c \uc9c0\uc815\ud560 \uc218 \uc788\ub294 RGB \ubc0f RGBW LED \uc2a4\ud2b8\ub9bd\uc785\ub2c8\ub2e4.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"\ud540\uc73c\ub85c \uc81c\uc5b4\ub418\ub294 \uc0c8\ub85c\uc6b4 \uc2a4\ud2b8\ub9bd\uc758 \ub124\uc624\ud53d\uc140 LED\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4. (string)\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: (\ud540) \ub124\uc624\ud53d\uc140 \uc2a4\ud2b8\ub9bd\uc744 \uc81c\uc5b4\ud558\ub294 \ud540\uc785\ub2c8\ub2e4.\n:param n: \uc2a4\ud2b8\ub9bd\uc758 \ub124\uc624\ud53d\uc140 \uc218\uc785\ub2c8\ub2e4.\n:param bpp: \ud53d\uc140\ub2f9 \ubc14\uc774\ud2b8\uc785\ub2c8\ub2e4. RGBW \ub124\uc624\ud53d\uc140 \uc9c0\uc6d0\uc744 \uc704\ud574\uc11c\ub294 RGB \ubc0f GRB\uc758 \uae30\ubcf8\uac12 3 \ub300\uc2e0 4\ub97c \ud328\uc2a4\ud574\uc57c \ud569\ub2c8\ub2e4.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"\ubaa8\ub4e0 \ud53d\uc140\uc744 \uc9c0\uc6c1\ub2c8\ub2e4.\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"\ud53d\uc140\uc744 \ud45c\uc2dc\ud569\ub2c8\ub2e4.\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"\ud53d\uc140\uc744 \ud45c\uc2dc\ud569\ub2c8\ub2e4(micro:bit V2 \uc804\uc6a9).\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"\ubaa8\ub4e0 \ud53d\uc140\uc5d0 \uc8fc\uc5b4\uc9c4 RGB/RGBW \uac12\uc744 \uce60\ud569\ub2c8\ub2e4(micro:bit V2 \uc804\uc6a9).\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: \ud53d\uc140 \ub2f9 \ubc14\uc774\ud2b8 \uc218(bpp)\uc640 \uac19\uc740 \uae38\uc774\uc758 \ud29c\ud50c\uc785\ub2c8\ub2e4.\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"\ud53d\uc140 \uc0c9\uc0c1\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: \ud53d\uc140 \ubc88\ud638\uc785\ub2c8\ub2e4.\n:param value: \uc0c9\uc0c1\uc785\ub2c8\ub2e4.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"\ud53d\uc140 \uc0c9\uc0c1\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``r, g, b = np[0]``\n\n:param key: \ud53d\uc140 \ubc88\ud638\uc785\ub2c8\ub2e4.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"\uc774 \ud53d\uc140 \uc2a4\ud2b8\ub9bd\uc758 \uae38\uc774\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``len(np)``\"\"\"", "/typeshed/stdlib/os.pyi": "\"\"\"\ud30c\uc77c \uc2dc\uc2a4\ud15c\uc5d0 \uc561\uc138\uc2a4\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"\ud30c\uc77c\uc744 \ub098\uc5f4\ud569\ub2c8\ub2e4.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"\ud30c\uc77c\uc744 \uc81c\uac70(\uc0ad\uc81c)\ud569\ub2c8\ub2e4.\n\nExample: ``os.remove('data.txt')``\n\n:param filename: \uc0ad\uc81c\ud560 \ud30c\uc77c\uc785\ub2c8\ub2e4.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"\ud30c\uc77c\uc758 \ud06c\uae30\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``os.size('data.txt')``\n\n:param filename: \ud30c\uc77c\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"``os.uname()``\uc758 \uacb0\uacfc\"\"\"\n sysname: str\n \"\"\"\uc6b4\uc601 \uccb4\uc81c \uc774\ub984\uc785\ub2c8\ub2e4.\"\"\"\n nodename: str\n \"\"\"\ub124\ud2b8\uc6cc\ud06c\uc0c1\uc758 \uba38\uc2e0 \uc774\ub984\uc785\ub2c8\ub2e4(\uad6c\ud604 \ubc29\ubc95\uc5d0 \ub530\ub77c \uc815\uc758\ub428).\"\"\"\n release: str\n \"\"\"\uc6b4\uc601 \uccb4\uc81c \ub9b4\ub9ac\uc2a4\uc785\ub2c8\ub2e4.\"\"\"\n version: str\n \"\"\"\uc6b4\uc601 \uccb4\uc81c \ubc84\uc804\uc785\ub2c8\ub2e4.\"\"\"\n machine: str\n \"\"\"\ud558\ub4dc\uc6e8\uc5b4 \uc2dd\ubcc4\uc790\uc785\ub2c8\ub2e4.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"\ud604\uc7ac \uc6b4\uc601 \uc2dc\uc2a4\ud15c\uc744 \uc2dd\ubcc4\ud558\ub294 \uc815\ubcf4\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", "/typeshed/stdlib/radio.pyi": "\"\"\"\ub0b4\uc7a5 \ub77c\ub514\uc624\ub97c \uc0ac\uc6a9\ud574 micro:bit\ub07c\ub9ac \ud1b5\uc2e0\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"\ucd08\ub2f9 1 MBit\uc758 \ucc98\ub9ac\uc728\uc744 \uc9c0\uc815\ud558\ub294 \ub370 \uc0ac\uc6a9\ud558\ub294 \uc0c1\uc218\"\"\"\nRATE_2MBIT: int\n\"\"\"\ucd08\ub2f9 2 MBit\uc758 \ucc98\ub9ac\uc728\uc744 \uc9c0\uc815\ud558\ub294 \ub370 \uc0ac\uc6a9\ud558\ub294 \uc0c1\uc218.\"\"\"\n\ndef on() -> None:\n \"\"\"\ub77c\ub514\uc624\ub97c \ucf2d\ub2c8\ub2e4.\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"\ub77c\ub514\uc624\ub97c \uaebc \uc804\ub825\uacfc \uba54\ubaa8\ub9ac\ub97c \uc808\uc57d\ud569\ub2c8\ub2e4.\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"\ub77c\ub514\uc624\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (\uae30\ubcf8\uac12=32) \ub77c\ub514\uc624\ub97c \ud1b5\ud574 \uc804\uc1a1\ub418\ub294 \uba54\uc2dc\uc9c0\uc758 \ucd5c\ub300 \uae38\uc774\ub97c \ubc14\uc774\ud2b8\ub85c \uc815\uc758\ud569\ub2c8\ub2e4.\n\ucd5c\ub300 251\ubc14\uc774\ud2b8\uae4c\uc9c0 \uc815\uc758\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4(S0, LENGTH \ubc0f S1 \ud504\ub9ac\uc570\ube14\uc758 \uacbd\uc6b0 254 - 3\ubc14\uc774\ud2b8).\n:param queue: (\uae30\ubcf8\uac12=3) \uc218\uc2e0 \uba54\uc2dc\uc9c0 \ub300\uae30\uc5f4\uc5d0 \ubcf4\uad00\ud560 \uc218 \uc788\ub294 \uba54\uc2dc\uc9c0\uc758 \uc218\ub97c \ud2b9\uc815\ud569\ub2c8\ub2e4. \ub9cc\uc57d \uc218\uc2e0 \uba54\uc2dc\uc9c0\uc758 \ub300\uae30\uc5f4 \uacf5\uac04\uc774 \ubd80\uc871\ud558\ub2e4\uba74 \uc218\uc2e0 \uba54\uc2dc\uc9c0\ub294 \ub4dc\ub86d\ub429\ub2c8\ub2e4.\n:param channel: (\uae30\ubcf8\uac12=7) \uc784\uc758\uc758 \"\ucc44\ub110\"\uc744 \ub77c\ub514\uc624 \ucc44\ub110\ub85c \uc124\uc815\ud558\ub294 0\ubd80\ud130 83\uae4c\uc9c0\uc758 \uc815\uc218(\uacbd\uacc4\uac12 \ud3ec\ud568)\uc785\ub2c8\ub2e4. \uba54\uc2dc\uc9c0\ub294 \uc774 \ucc44\ub110\ub85c \uc804\uc1a1\ub418\uba70 \uc774 \ucc44\ub110\uc744 \ud1b5\ud574 \ubc1b\uc740 \uba54\uc2dc\uc9c0\ub9cc \uc218\uc2e0 \uba54\uc2dc\uc9c0 \ub300\uae30\uc5f4\uc5d0 \ub4f1\ub85d\ub429\ub2c8\ub2e4. 2400MHz \uae30\uc900\uc73c\ub85c \uac01 \ub2e8\uacc4\ub294 1MHz \ub300\uc5ed\uc785\ub2c8\ub2e4.\n:param power: (\uae30\ubcf8\uac12=6) 0\ubd80\ud130 7\uc758 \uc815\uc218\uac12(\uacbd\uacc4\uac12 \ud3ec\ud568)\uc73c\ub85c \uba54\uc2dc\uc9c0\ub97c \uc1a1\ucd9c\ud560 \ub54c\uc758 \uc2e0\ud638 \uac15\ub3c4\ub97c \ud45c\ud604\ud569\ub2c8\ub2e4.\n\uac12\uc774 \ub192\uc744 \uc218\ub85d \uc2e0\ud638\ub294 \uac15\ud574\uc9c0\uc9c0\ub9cc \uc7a5\uce58\uc758 \uc804\ub825\uc744 \ub354 \uc18c\ubaa8\ud569\ub2c8\ub2e4. \uac01 \uc22b\uc790\ub294 \ub2e4\uc74c dBm(\ub370\uc2dc\ubca8 \ubc00\ub9ac\uc640\ud2b8)\uac12 \ub9ac\uc2a4\ud2b8\uc758 \uc704\uce58\ub85c \ubcc0\ud658\ub429\ub2c8\ub2e4: -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (\uae30\ubcf8=0x75626974) 32\ube44\ud2b8\ub85c \ud45c\ud604\ub418\ub294 \uc784\uc758\uc758 \uc774\ub984\uc785\ub2c8\ub2e4. \ud558\ub4dc\uc6e8\uc5b4 \ub808\ubca8\uc5d0\uc11c \uc218\uc2e0 \ud328\ud0b7\uc744 \ud544\ud130\ub9c1\ud558\ub294 \ub370 \uc0ac\uc6a9\ub418\uba70 \uc124\uc815\ud55c \uc8fc\uc18c\uc640 \uc77c\uce58\ud558\ub294 \ud328\ud0b7\ub9cc \uc720\uc9c0\ud569\ub2c8\ub2e4. \ub2e4\ub978 micro:bit \uad00\ub828 \ud50c\ub7ab\ud3fc\uc774 \uc0ac\uc6a9\ud558\ub294 \uae30\ubcf8\uac12\uc740 \uc5ec\uae30\uc5d0\uc11c\ub3c4 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.\n:param group: \uba54\uc2dc\uc9c0\ub97c \ud544\ud130\ub9c1\ud560 \ub54c ``address``\uc640 \ud568\uaed8 \uc0ac\uc6a9\ub418\ub294 8\ube44\ud2b8 \uac12(0~255)\uc785\ub2c8\ub2e4. \uac1c\ub150\uc0c1 \"address(\uc8fc\uc18c)\"\ub294 \uc9d1/\uc0ac\ubb34\uc2e4 \uc8fc\uc18c, \"group(\uadf8\ub8f9)\"\uc740 \ud574\ub2f9 \uc8fc\uc18c\uc5d0\uc11c \uba54\uc2dc\uc9c0\ub97c \ubcf4\ub0b4\uace0\uc790 \ud558\ub294 \uc778\ubb3c\uc785\ub2c8\ub2e4.\n:param data_rate: (default=``radio.RATE_1MBIT``) \ub370\uc774\ud130 \ucc98\ub9ac\uc728\uc758 \uc18d\ub3c4\ub97c \uc9c0\uc815\ud569\ub2c8\ub2e4. ``radio`` \ubaa8\ub4c8\uc758 \ub2e4\uc74c \uc0c1\uc218 \uc911 \ud558\ub098\uac00 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4: ``RATE_250KBIT``, ``RATE_1MBIT`` \ub610\ub294 ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\uc124\uc815\uc744 \uae30\ubcf8\uac12\uc73c\ub85c \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"\ubc14\uc774\ud2b8\uac00 \ud3ec\ud568\ub41c \uba54\uc2dc\uc9c0\ub97c \uc804\uc1a1\ud569\ub2c8\ub2e4.\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: \uc804\uc1a1\ud560 \ubc14\uc774\ud2b8\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"\uba54\uc2dc\uc9c0 \ub300\uae30\uc5f4\uc5d0 \uc788\ub294 \ub2e4\uc74c \uc218\uc2e0 \uba54\uc2dc\uc9c0\ub97c \ubc1b\uc2b5\ub2c8\ub2e4.\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"\uba54\uc2dc\uc9c0 \ub300\uae30\uc5f4\uc5d0 \uc788\ub294 \ub2e4\uc74c \uc218\uc2e0 \uba54\uc2dc\uc9c0\ub97c \ubc84\ud37c\uc5d0 \ubcf5\uc0ac\ud569\ub2c8\ub2e4.\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: \ubaa9\ud45c \ubc84\ud37c\uc785\ub2c8\ub2e4. \uba54\uc2dc\uc9c0\uac00 \ubc84\ud37c\ubcf4\ub2e4 \ud06c\uba74 \uba54\uc2dc\uc9c0\uac00 \uc798\ub9bd\ub2c8\ub2e4.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"\uba54\uc2dc\uc9c0 \ubb38\uc790\uc5f4\uc744 \uc804\uc1a1\ud569\ub2c8\ub2e4.\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: \uc804\uc1a1\ud560 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"``receive_bytes``\uc640 \uc815\ud655\ud788 \ub3d9\uc77c\ud55c \uc791\uc5c5\uc744 \ud558\uc9c0\ub9cc \ubaa8\ub4e0 \uc804\uc1a1 \ud56d\ubaa9\uc744 \ubc18\ud658\ud55c\ub2e4\ub294 \ucc28\uc774\uac00 \uc788\uc2b5\ub2c8\ub2e4.\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"\uba54\uc2dc\uc9c0 \ub300\uae30\uc5f4\uc5d0 \uc788\ub294 \ub2e4\uc74c \uc218\uc2e0 \uba54\uc2dc\uc9c0\uc758 \uc815\ubcf4\ub97c \uc138 \uc885\ub958\uc758 \uac12\uc774 \ud3ec\ud568\ub41c \ud29c\ud50c\ub85c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", @@ -37,10 +37,10 @@ "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"\ud540, \uc774\ubbf8\uc9c0, \uc18c\ub9ac, \uc628\ub3c4 \ubc0f \uc74c\ub7c9\uc785\ub2c8\ub2e4.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Function to call at the provided interval. Omit when using as a decorator.\n:param days: Sets the day mark for the scheduling.\n:param h: Sets the hour mark for the scheduling.\n:param min: Sets the minute mark for the scheduling.\n:param s: Sets the second mark for the scheduling.\n:param ms: Sets the millisecond mark for the scheduling.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"\ud328\ub2c9 \ubaa8\ub4dc\ub97c \ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``panic(127)``\n\n:param n: <= 255\uc758 \uc784\uc758 \uc815\uc218\ub85c \uc0c1\ud0dc\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"\ubcf4\ub4dc\ub97c \uc7ac\uc2dc\uc791\ud569\ub2c8\ub2e4.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: A number to convert.\n:param from_: A tuple to define the range to convert from.\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: A number to convert.\n:param from_: A tuple to define the range to convert from.\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"``n``\ubc00\ub9ac\ucd08 \ub3d9\uc548 \ub300\uae30\ud569\ub2c8\ub2e4.\n\nExample: ``sleep(1000)``\n\n:param n: \ub300\uae30\ud560 \ubc00\ub9ac\ucd08 \uc218\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"\ubcf4\ub4dc\uc758 \uc2e4\ud589 \uc2dc\uac04\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"\uc12d\uc528\ub85c micro:bit\uc758 \uc628\ub3c4\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4. (\uc628\ub3c4)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"\uc74c\ub7c9\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``set_volume(127)``\n\n:param v: 0(\ub0ae\uc74c) \ubc0f 255(\ub192\uc74c) \uc0ac\uc774\uc758 \uac12\uc785\ub2c8\ub2e4.\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"``button_a`` \ubc0f ``button_b`` \ubc84\ud2bc \ud074\ub798\uc2a4\uc785\ub2c8\ub2e4.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\ud574\ub2f9 \ubc84\ud2bc\uc774 \ub20c\ub838\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\uc7a5\uce58\uac00 \uc2dc\uc791\ud55c \ud6c4 \ub610\ub294 \uc774 \uba54\uc11c\ub4dc\uac00 \ud638\ucd9c\ub41c \ud6c4 \ud574\ub2f9 \ubc84\ud2bc\uc774 \ub20c\ub838\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"\ubc84\ud2bc\uc774 \ub20c\ub9b0 \ucd1d \ud69f\uc218\ub97c \ubd88\ub7ec\uc624\uace0, \ucd1d\uac12\uc744 \ubc18\ud658\ud558\uae30 \uc804 \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"\uc67c\ucabd \ubc84\ud2bc ``Button`` \uac1c\uccb4\uc785\ub2c8\ub2e4.\"\"\"\nbutton_b: Button\n\"\"\"\uc624\ub978\ucabd \ubc84\ud2bc ``Button`` \uac1c\uccb4\uc785\ub2c8\ub2e4.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"\ub514\uc9c0\ud138 \ud540\uc785\ub2c8\ub2e4.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"\ud540\uc758 \ub514\uc9c0\ud138 \uac12\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"\ud540\uc758 \ub514\uc9c0\ud138 \uac12\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.write_digital(1)``\n\n:param value: \ud540\uc744 \ud558\uc774\ub85c \uc124\uc815\ud558\ub824\uba74 1, \ub85c\uc6b0\ub85c \uc124\uc815\ud558\ub824\uba74 0\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"\ub2e4\uc74c \uc911 \ud558\ub098\uc758 \uac12\uc73c\ub85c \ud480 \uc0c1\ud0dc\ub97c \uc124\uc815: ``PULL_UP``, ``PULL_DOWN`` \ub610\ub294 ``NO_PULL``\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: \uad00\ub828 \ud540\uc758 \ud480 \uc0c1\ud0dc\uc785\ub2c8\ub2e4. (\uc608: ``pin0.PULL_UP``)\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"\ud540\uc758 \ud480 \uc0c1\ud0dc\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"\ud540 \ubaa8\ub4dc\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"\ud540\uc758 PWM \uc2e0\ud638\ub97c \ucd9c\ub825\ud558\uace0 ``value``\uc640(\uacfc) \ube44\ub840\ud574 \ub4c0\ud2f0 \uc0ac\uc774\ud074\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.write_analog(254)``\n\n:param value: 0(0% \ub4c0\ud2f0 \uc0ac\uc774\ud074) \ubc0f 1023(100% \ub4c0\ud2f0) \uc0ac\uc774\uc758 \uc815\uc218 \ub610\ub294 \ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\uc785\ub2c8\ub2e4.\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"PWM \uc2e0\ud638\uac00 \ucd9c\ub825\ub418\ub294 \uc8fc\uae30\ub97c ``period``\ubc00\ub9ac\ucd08\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: \uc720\ud6a8\ud55c \ucd5c\uc18c\uac12\uc774 1ms\uc778 \ubc00\ub9ac\ucd08 \uc8fc\uae30\uc785\ub2c8\ub2e4.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"PWM \uc2e0\ud638\uac00 \ucd9c\ub825\ub418\ub294 \uc8fc\uae30\ub97c ``period``\ub9c8\uc774\ud06c\ub85c\ucd08\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: \uc720\ud6a8\ud55c \ucd5c\uc18c\uac12\uc774 256\u00b5s\uc778 \ub9c8\uc774\ud06c\ub85c\ucd08 \uc8fc\uae30\uc785\ub2c8\ub2e4.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"\uc544\ub0a0\ub85c\uadf8 \ubc0f \ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"\ud540\uc5d0 \uc801\uc6a9\ub41c \uc804\uc555\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"\uc544\ub0a0\ub85c\uadf8, \ub514\uc9c0\ud138, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\ud540\uc774 \uc811\ucd09 \uc0c1\ud0dc\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"\ud540\uc758 \ud130\uce58 \ubaa8\ub4dc\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: \uad00\ub828 \ud540\uc758 ``CAPACITIVE`` \ub610\ub294 ``RESISTIVE``\uc785\ub2c8\ub2e4.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4. (pin speaker)\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"micro:bit \uc804\uba74\uc758 \ud130\uce58 \uac10\uc9c0 \ub85c\uace0 \ud540\uc73c\ub85c, \uae30\ubcf8\uac12\uc740 \uc815\uc804\uc2dd \ud130\uce58 \ubaa8\ub4dc\uc785\ub2c8\ub2e4. (\ud540 \ub85c\uace0)\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"micro:bit \uc2a4\ud53c\ucee4\ub97c \ucc98\ub9ac\ud558\ub294 \ud540\uc785\ub2c8\ub2e4. (\ud540 \uc2a4\ud53c\ucee4)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"micro:bit LED \ub514\uc2a4\ud50c\ub808\uc774\uc5d0 \ud45c\uc2dc\ud560 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"\ud558\ud2b8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n HEART_SMALL: Image\n \"\"\"\uc791\uc740 \ud558\ud2b8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n HAPPY: Image\n \"\"\"\ud589\ubcf5\ud55c \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SMILE: Image\n \"\"\"\ubbf8\uc18c \uc9d3\ub294 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SAD: Image\n \"\"\"\uc2ac\ud508 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CONFUSED: Image\n \"\"\"\ud63c\ub780\uc2a4\ub7ec\uc6b4 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ANGRY: Image\n \"\"\"\ud654\ub09c \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ASLEEP: Image\n \"\"\"\uc790\ub294 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SURPRISED: Image\n \"\"\"\ub180\ub780 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SILLY: Image\n \"\"\"\uc6b0\uc2a4\uaf5d\uc2a4\ub7ec\uc6b4 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n FABULOUS: Image\n \"\"\"\uc120\uae00\ub77c\uc2a4\ub97c \uc4f4 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MEH: Image\n \"\"\"\uc9c0\ub8e8\ud55c \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n YES: Image\n \"\"\"\uccb4\ud06c \ud45c\uc2dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n NO: Image\n \"\"\"\uc5d1\uc2a4 \ud45c\uc2dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK12: Image\n \"\"\"12\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK11: Image\n \"\"\"11\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK10: Image\n \"\"\"10\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK9: Image\n \"\"\"9\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK8: Image\n \"\"\"8\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK7: Image\n \"\"\"7\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK6: Image\n \"\"\"6\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK5: Image\n \"\"\"5\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK4: Image\n \"\"\"4\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK3: Image\n \"\"\"3\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK2: Image\n \"\"\"2\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK1: Image\n \"\"\"1\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_N: Image\n \"\"\"\ubd81\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_NE: Image\n \"\"\"\ubd81\ub3d9\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_E: Image\n \"\"\"\ub3d9\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_SE: Image\n \"\"\"\ub0a8\ub3d9\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_S: Image\n \"\"\"\ub0a8\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_SW: Image\n \"\"\"\ub0a8\uc11c\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_W: Image\n \"\"\"\uc11c\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_NW: Image\n \"\"\"\ubd81\uc11c\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TRIANGLE: Image\n \"\"\"\uc704\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \uc0bc\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"\uc67c\ucabd \uad6c\uc11d\uc758 \uc0bc\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CHESSBOARD: Image\n \"\"\"\uccb4\uc2a4\ud310 \ud328\ud134\uc73c\ub85c \uae5c\ube61\uc774\ub294 LED \ubd88\ube5b\uc785\ub2c8\ub2e4.\"\"\"\n DIAMOND: Image\n \"\"\"\ub2e4\uc774\uc544\ubaac\ub4dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"\uc791\uc740 \ub2e4\uc774\uc544\ubaac\ub4dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SQUARE: Image\n \"\"\"\uc0ac\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SQUARE_SMALL: Image\n \"\"\"\uc791\uc740 \uc0ac\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n RABBIT: Image\n \"\"\"\ud1a0\ub07c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n COW: Image\n \"\"\"\uc18c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"\uc0ac\ubd84\uc74c\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"\ud314\ubd84\uc74c\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"\ub450 \uac1c\uc758 \ud314\ubd84\uc74c\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n PITCHFORK: Image\n \"\"\"\uc1e0\uc2a4\ub791 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n XMAS: Image\n \"\"\"\ud06c\ub9ac\uc2a4\ub9c8\uc2a4 \ub098\ubb34 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n PACMAN: Image\n \"\"\"\uc624\ub77d\uc2e4 \uce90\ub9ad\ud130 Pac-Man \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TARGET: Image\n \"\"\"\ud45c\uc801 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TSHIRT: Image\n \"\"\"\ud2f0\uc154\uce20 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ROLLERSKATE: Image\n \"\"\"\ub864\ub7ec\uc2a4\ucf00\uc774\ud2b8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n DUCK: Image\n \"\"\"\uc624\ub9ac \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n HOUSE: Image\n \"\"\"\uc9d1 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TORTOISE: Image\n \"\"\"\uac70\ubd81\uc774 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n BUTTERFLY: Image\n \"\"\"\ub098\ube44 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n STICKFIGURE: Image\n \"\"\"\ub9c9\ub300\uc778\uac04 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n GHOST: Image\n \"\"\"\uc720\ub839 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SWORD: Image\n \"\"\"\uce7c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n GIRAFFE: Image\n \"\"\"\uae30\ub9b0 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SKULL: Image\n \"\"\"\ud574\uace8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n UMBRELLA: Image\n \"\"\"\uc6b0\uc0b0 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SNAKE: Image\n \"\"\"\ubc40 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"\ubaa8\ub4e0 CLOCK_ \uc774\ubbf8\uc9c0\ub97c \uc21c\uc11c\ub300\ub85c \ub098\uc5f4\ud55c \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"\ubaa8\ub4e0 ARROW_ \uc774\ubbf8\uc9c0\ub97c \uc21c\uc11c\ub300\ub85c \ub098\uc5f4\ud55c \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"\uc5b4\ub5a4 LED\uac00 \ucf1c\uc838\uc788\ub294\uc9c0 \uc124\uba85\ud558\ub294 \ubb38\uc790\uc5f4\ub85c\ubd80\ud130 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. (string)\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: \uc774\ubbf8\uc9c0\ub97c \uc124\uba85\ud558\ub294 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"``width`` \uc5f4\uacfc ``height`` \ud589\uc758 \ube44\uc5b4\uc788\ub294 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\n:param width: \uc774\ubbf8\uc9c0 \ub108\ube44(\uc120\ud0dd \uc0ac\ud56d)\n:param height: \uc774\ubbf8\uc9c0 \ub192\uc774(\uc120\ud0dd \uc0ac\ud56d)\n:param buffer: 0~9\uc758 \ubc94\uc704\uc5d0 \uc18d\ud558\ub294 \uc815\uc218\ub85c \uad6c\uc131\ub41c ``width``x``height`` \ubc30\uc5f4 \ub610\ub294 \ubc14\uc774\ud2b8(\uc120\ud0dd \uc0ac\ud56d)\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"\uc5f4\uc758 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"\ud589\uc758 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"\ud53d\uc140\uc758 \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: \uc5f4 \ubc88\ud638\n:param y: \ud589 \ubc88\ud638\n:param value: 0(\uc5b4\ub450\uc6c0)\uacfc 9(\ubc1d\uc74c) \uc0ac\uc774\uc758 \uc815\uc218\ub85c \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"\ud53d\uc140\uc758 \ubc1d\uae30\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: \uc5f4 \ubc88\ud638\n:param y: \ud589 \ubc88\ud638\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc67c\ucabd\uc73c\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: \uc62e\uae38 \uc5f4\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc624\ub978\ucabd\uc73c\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: \uc62e\uae38 \uc5f4\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc704\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: \uc62e\uae38 \ud589\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc544\ub798\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: \uc62e\uae38 \ud589\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc798\ub77c \ub0b4 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: \uc790\ub974\uae30 \uc624\ud504\uc14b \uc5f4\n:param y: \uc790\ub974\uae30 \uc624\ud504\uc14b \ud589\n:param w: \uc790\ub974\uae30 \ub108\ube44\n:param h: \uc790\ub974\uae30 \ub192\uc774\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"\uc774\ubbf8\uc9c0\uc640 \ub3d9\uc77c\ud55c \uc0ac\ubcf8\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"\uc18c\uc2a4 \uc774\ubbf8\uc9c0\uc5d0 \uc788\ub294 \ud53d\uc140\uc744 \ubc1d\uae30\ub97c \ubc18\uc804\ud574 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"\uc774\ubbf8\uc9c0\uc758 \ubaa8\ub4e0 \ud53d\uc140\uc758 \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``my_image.fill(5)``\n\n:param value: \uc0c8\ub85c\uc6b4 \ubc1d\uae30\ub97c 0(\uc5b4\ub450\uc6c0)\uacfc 9(\ubc1d\uae30) \uc0ac\uc774\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"\ub2e4\ub978 \uc774\ubbf8\uc9c0\ub85c\ubd80\ud130 \uc601\uc5ed\uc744 \ubcf5\uc0ac\ud574 \uc774 \uc774\ubbf8\uc9c0\ub85c \uac00\uc838\uc635\ub2c8\ub2e4.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: \uc18c\uc2a4 \uc774\ubbf8\uc9c0\n:param x: \uc18c\uc2a4 \uc774\ubbf8\uc9c0 \ub0b4 \uc2dc\uc791 \uc5f4 \uc624\ud504\uc14b\n:param y: \uc18c\uc2a4 \uc774\ubbf8\uc9c0 \ub0b4 \uc2dc\uc791 \ud589 \uc624\ud504\uc14b\n:param w: \ubcf5\uc0ac\ud560 \uc5f4\uc758 \uc218\n:param h: \ubcf5\uc0ac\ud560 \ud589 \ubc88\ud638\n:param xdest: \uc774 \uc774\ubbf8\uc9c0\uc5d0\uc11c \uc218\uc815\ud560 \uc5f4\uc758 \uc624\ud504\uc14b\n:param ydest: \uc774 \uc774\ubbf8\uc9c0\uc5d0\uc11c \uc218\uc815\ud560 \ud589\uc758 \uc624\ud504\uc14b\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"\uc774\ubbf8\uc9c0\uc5d0 \ud574\ub2f9\ud558\ub294 \ucef4\ud329\ud2b8 \uc2a4\ud2b8\ub9c1\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"\uc774\ubbf8\uc9c0\uc5d0 \ud574\ub2f9\ud558\ub294 \uc77d\uae30 \uac00\ub2a5 \ubb38\uc790\uc5f4\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"\ub450 \uc774\ubbf8\uc9c0\uc758 \uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 \ub354\ud574 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: \ub354\ud560 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"\ub450 \uc774\ubbf8\uc9c0\uc758 \uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 \ube7c \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: \ube84 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"\uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 ``n``\ub9cc\ud07c \uacf1\ud574 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: \uacf1\ud560 \uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"\uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 ``n``\ub9cc\ud07c \ub098\ub204\uc5b4 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART / 2``\n\n:param n: \ub098\ub20c \uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"``quiet``\uc5d0\uc11c \ubc15\uc218 \ub610\ub294 \ud568\uc131 \ub4f1 ``loud``\ub85c \uc18c\ub9ac \uc774\ubca4\ud2b8\uc758 \ubcc0\ud654\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.\"\"\"\n QUIET: SoundEvent\n \"\"\"``loud``\uc5d0\uc11c \ub9d0\uc18c\ub9ac \ub610\ub294 \ubc30\uacbd \uc74c\uc545 \ub4f1 ``quiet``\ub85c \uc18c\ub9ac \uc774\ubca4\ud2b8\uc758 \ubcc0\ud654\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.\"\"\"\n\nclass Sound:\n \"\"\"``audio.play(Sound.NAME)``\uc744 \uc0ac\uc6a9\ud574 \ub0b4\uc7a5\ub41c \uc18c\ub9ac\ub97c \ud638\ucd9c\ud569\ub2c8\ub2e4.\"\"\"\n GIGGLE: Sound\n \"\"\"\uc6c3\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n HAPPY: Sound\n \"\"\"\ud589\ubcf5\ud574\ud558\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n HELLO: Sound\n \"\"\"\uc778\uc0ac \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n MYSTERIOUS: Sound\n \"\"\"\uc2e0\ube44\ud55c \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SAD: Sound\n \"\"\"\uc2ac\ud37c\ud558\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SLIDE: Sound\n \"\"\"\uc2ac\ub77c\uc774\ub4dc \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SOARING: Sound\n \"\"\"\uc19f\uc544\uc624\ub974\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SPRING: Sound\n \"\"\"\uc2a4\ud504\ub9c1 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n TWINKLE: Sound\n \"\"\"\ubc18\uc9dd\uc774\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n YAWN: Sound\n \"\"\"\ud558\ud488 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"", "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"micro:bit\uc758 \uac00\uc18d\ub3c4\ub97c \uce21\uc815\ud558\uace0 \uc81c\uc2a4\uccd0\ub97c \uc778\uc2dd\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"``x`` \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 milli-g\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"``y`` \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 milli-g\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"``z`` \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 milli-g\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"\ud55c \ubc88\uc5d0 \ubaa8\ub4e0 \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 \ud29c\ud50c\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"\ud604\uc7ac \uc81c\uc2a4\ucc98\uc758 \uc774\ub984\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"\ud574\ub2f9 \uc774\ub984\uc758 \uc81c\uc2a4\ucc98\uac00 \ud604\uc7ac \ud65c\uc131\ud654 \uc0c1\ud0dc\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \uc81c\uc2a4\uccd0 \uc774\ub984.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"\ud574\ub2f9 \uc774\ub984\uc758 \uc81c\uc2a4\ucc98\uac00 \ub9c8\uc9c0\ub9c9 \ud638\ucd9c \uc774\ud6c4\ub85c \ud65c\uc131\ud654\ub41c \uc801\uc774 \uc788\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \uc81c\uc2a4\ucc98 \uc774\ub984\uc785\ub2c8\ub2e4.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"\uc81c\uc2a4\ucc98 \uae30\ub85d\uc758 \ud29c\ud50c\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: New range for the accelerometer, an integer in ``g``.\"\"\"", - "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"micro:bit\uc744 \ud65c\uc6a9\ud574 \uc18c\ub9ac\ub97c \uc7ac\uc0dd\ud569\ub2c8\ub2e4(V1 \ud638\ud658\uc744 \uc704\ud574\uc11c\ub294 ``audio``\ub97c \uac00\uc838\uc624\uc138\uc694).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n:param wait: ``wait``\uc774 ``True``\uc778 \uacbd\uc6b0 \uc0ac\uc6b4\ub4dc \uc7ac\uc0dd\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uc774 \ud568\uc218\uac00 \ucc28\ub2e8\ub429\ub2c8\ub2e4.\n:param pin: (\ud540) ``pin0``\uc758 \uae30\ubcf8\uac12\uc744 \ub36e\uc5b4\uc4f0\ub294 \ub370 \uc0ac\uc6a9\ud560 \ucd9c\ub825 \ud540\uc744 \ud2b9\uc815\ud558\ub294 \uc778\uc790\uc785\ub2c8\ub2e4(\uc120\ud0dd \uc0ac\ud56d). \uc0ac\uc6b4\ub4dc\ub97c \uc7ac\uc0dd\ud558\uace0 \uc2f6\uc9c0 \uc54a\ub2e4\uba74 ``pin=None``\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n:param return_pin: \uc811\uc9c0 \ub300\uc2e0 \uc678\ubd80 \uc2a4\ud53c\ucee4\uc5d0 \uc5f0\uacb0\ud560 \ucc28\ub3d9 \uc5e3\uc9c0 \ucee4\ub125\ud130 \ud540\uc744 \ud2b9\uc815\ud569\ub2c8\ub2e4. **V2** \uc218\uc815 \ubc84\uc804\uc5d0\uc11c\ub294 \ubb34\uc2dc\ud569\ub2c8\ub2e4.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\uc18c\ub9ac\uac00 \uc7ac\uc0dd \uc911\uc778\uc9c0 \uccb4\ud06c\ud569\ub2c8\ub2e4.\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"\ubaa8\ub4e0 \uc624\ub514\uc624 \ud50c\ub808\uc774\ubc31\uc744 \uc911\uc9c0\ud569\ub2c8\ub2e4.\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremelo effect option used for the ``fx`` parameter.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Create a new sound effect. (string)\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n:param vol_start: Start volume value, a number between ``0`` and ``255``.\n:param vol_end: End volume value, a number between ``0`` and ``255``.\n:param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n:param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n:param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"``AudioFrame`` \uc624\ube0c\uc81d\ud2b8\ub294 \ubd80\ud638 \uc5c6\ub294 \ubc14\uc774\ud2b8 \uc0d8\ud50c 32\uac1c\uc758 \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4(0\uc5d0\uc11c 255 \uc0ac\uc774\uc758 \ubaa8\ub4e0 \uc22b\uc790).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: ``AudioFrame`` instance from which to copy the data.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"micro:bit\uc744 \ud65c\uc6a9\ud574 \uc18c\ub9ac\ub97c \uc7ac\uc0dd\ud569\ub2c8\ub2e4(V1 \ud638\ud658\uc744 \uc704\ud574\uc11c\ub294 ``audio``\ub97c \uac00\uc838\uc624\uc138\uc694).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n:param wait: ``wait``\uc774 ``True``\uc778 \uacbd\uc6b0 \uc0ac\uc6b4\ub4dc \uc7ac\uc0dd\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uc774 \ud568\uc218\uac00 \ucc28\ub2e8\ub429\ub2c8\ub2e4.\n:param pin: (\ud540) ``pin0``\uc758 \uae30\ubcf8\uac12\uc744 \ub36e\uc5b4\uc4f0\ub294 \ub370 \uc0ac\uc6a9\ud560 \ucd9c\ub825 \ud540\uc744 \ud2b9\uc815\ud558\ub294 \uc778\uc790\uc785\ub2c8\ub2e4(\uc120\ud0dd \uc0ac\ud56d). \uc0ac\uc6b4\ub4dc\ub97c \uc7ac\uc0dd\ud558\uace0 \uc2f6\uc9c0 \uc54a\ub2e4\uba74 ``pin=None``\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n:param return_pin: \uc811\uc9c0 \ub300\uc2e0 \uc678\ubd80 \uc2a4\ud53c\ucee4\uc5d0 \uc5f0\uacb0\ud560 \ucc28\ub3d9 \uc5e3\uc9c0 \ucee4\ub125\ud130 \ud540\uc744 \ud2b9\uc815\ud569\ub2c8\ub2e4. **V2** \uc218\uc815 \ubc84\uc804\uc5d0\uc11c\ub294 \ubb34\uc2dc\ud569\ub2c8\ub2e4.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\uc18c\ub9ac\uac00 \uc7ac\uc0dd \uc911\uc778\uc9c0 \uccb4\ud06c\ud569\ub2c8\ub2e4.\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"\ubaa8\ub4e0 \uc624\ub514\uc624 \ud50c\ub808\uc774\ubc31\uc744 \uc911\uc9c0\ud569\ub2c8\ub2e4.\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Create a new sound effect. (string)\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n:param vol_start: Start volume value, a number between ``0`` and ``255``.\n:param vol_end: End volume value, a number between ``0`` and ``255``.\n:param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n:param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n:param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"``AudioFrame`` \uc624\ube0c\uc81d\ud2b8\ub294 \ubd80\ud638 \uc5c6\ub294 \ubc14\uc774\ud2b8 \uc0d8\ud50c 32\uac1c\uc758 \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4(0\uc5d0\uc11c 255 \uc0ac\uc774\uc758 \ubaa8\ub4e0 \uc22b\uc790).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: ``AudioFrame`` instance from which to copy the data.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"\ub0b4\uc7a5\ub41c \ub098\uce68\ubc18\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. (\ub098\uce68\ubc18)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"\ubcf4\uc815 \ud504\ub85c\uc138\uc2a4\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4.\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"\ub098\uce68\ubc18\uc774 \ubcf4\uc815\ub418\uc5c8\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"\ubcf4\uc815\uc744 \ud574\uc81c\ud574 \ub098\uce68\ubc18\uc744 \ubcf4\uc815\ud558\uc9c0 \uc54a\uc740 \uc0c1\ud0dc\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"``x`` \ucd95\uc758 \uc790\uae30\uc7a5 \uac15\ub3c4\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"``y`` \ucd95\uc758 \uc790\uae30\uc7a5 \uac15\ub3c4\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"``z`` \ucd95\uc758 \uc790\uae30\uc7a5 \uac15\ub3c4\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"\ub098\uce68\ubc18\uc758 \ubc29\ud5a5\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"\uc7a5\uce58 \uc8fc\ubcc0\uc758 \uc790\uae30\uc7a5 \uaddc\ubaa8\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", "/typeshed/stdlib/microbit/display.pyi": "\"\"\"5\u00d75 LED \ub514\uc2a4\ud50c\ub808\uc774\uc5d0 \ud14d\uc2a4\ud2b8, \uc774\ubbf8\uc9c0, \uc560\ub2c8\uba54\uc774\uc158\uc744 \ud45c\uc2dc\ud569\ub2c8\ub2e4.\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"\uc5f4 ``x``\uc640 \ud589 ``y``\uc758 LED\uc758 \ubc1d\uae30\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: \ub514\uc2a4\ud50c\ub808\uc774 \uc5f4(0..4)\n:param y: \ub514\uc2a4\ud50c\ub808\uc774 \ud589(0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"\uc5f4 ``x``\uc640 \ud589 ``y``\uc758 LED\uc758 \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: \ub514\uc2a4\ud50c\ub808\uc774 \uc5f4(0..4)\n:param y: \ub514\uc2a4\ud50c\ub808\uc774 \ud589(0..4)\n:param value: 0(\uaebc\uc9d0)\uacfc 9(\ubc1d\uc74c) \uc0ac\uc774\uc758 \ubc1d\uae30\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"\ubaa8\ub4e0 LED\uc758 \ubc1d\uae30\ub97c 0(\uaebc\uc9d0)\uc73c\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"LED \ub514\uc2a4\ud50c\ub808\uc774\uc5d0 \uc774\ubbf8\uc9c0, \uae00\uc790 \ub610\ub294 \uc22b\uc790\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: \ud45c\uc2dc\ud560 \ubb38\uc790\uc5f4, \uc22b\uc790, \uc774\ubbf8\uc9c0 \ub610\ub294 \uc774\ubbf8\uc9c0 \ubaa9\ub85d\uc785\ub2c8\ub2e4.\n:param delay: ``delay``\ubc00\ub9ac\ucd08\uc758 \uc9c0\uc5f0 \uc2dc\uac04\uc744 \ub450\uace0 \uac01 \uae00\uc790, \uc22b\uc790 \ub610\ub294 \uc774\ubbf8\uc9c0\uac00 \ud45c\uc2dc\ub429\ub2c8\ub2e4.\n:param wait: ``wait``\uac00 ``True``\uc778 \uacbd\uc6b0 \uc774 \uae30\ub2a5\uc740 \uc560\ub2c8\uba54\uc774\uc158\uc774 \uc885\ub8cc\ub420 \ub54c\uae4c\uc9c0 \ucc28\ub2e8\ub429\ub2c8\ub2e4. \uadf8\ub807\uc9c0 \uc54a\uc740 \uacbd\uc6b0 \uc560\ub2c8\uba54\uc774\uc158\uc774 \ubc31\uadf8\ub77c\uc6b4\ub4dc\uc5d0\uc11c \uc7ac\uc0dd\ub429\ub2c8\ub2e4.\n:param loop: ``loop``\uac00 ``True``\uc778 \uacbd\uc6b0 \uc560\ub2c8\uba54\uc774\uc158\uc774 \ubb34\ud55c \ubc18\ubcf5\ub429\ub2c8\ub2e4.\n:param clear: ``clear``\uac00 ``True``\uc778 \uacbd\uc6b0 \ub514\uc2a4\ud50c\ub808\uc774\ub294 \uc2dc\ud000\uc2a4\uac00 \uc885\ub8cc\ub41c \ud6c4 \ub0b4\uc6a9\uc744 \uc9c0\uc6c1\ub2c8\ub2e4.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"LED \ub514\uc2a4\ud50c\ub808\uc774\uc758 \uc22b\uc790 \ub610\ub294 \ud14d\uc2a4\ud2b8\ub97c \uc2a4\ud06c\ub864\ud569\ub2c8\ub2e4.\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: \uc2a4\ud06c\ub864\ud560 \ubb38\uc790\uc5f4. \ub9cc\uc57d ``text``\uac00 \uc815\uc218 \ub610\ub294 \ubd80\ub3d9\uc218\uc778 \uacbd\uc6b0 \uba3c\uc800 ``str()``\uc744 \uc0ac\uc6a9\ud574 \ubcc0\ud658\ub429\ub2c8\ub2e4.\n:param delay: ``delay`` \ub9e4\uac1c\ubcc0\uc218\ub294 \ud14d\uc2a4\ud2b8 \uc2a4\ud06c\ub864\ub9c1 \uc18d\ub3c4\ub97c \uc870\uc808\ud569\ub2c8\ub2e4.\n:param wait: ``wait``\uac00 ``True``\uc778 \uacbd\uc6b0 \uc774 \uae30\ub2a5\uc740 \uc560\ub2c8\uba54\uc774\uc158\uc774 \uc885\ub8cc\ub420 \ub54c\uae4c\uc9c0 \ucc28\ub2e8\ub429\ub2c8\ub2e4. \uadf8\ub807\uc9c0 \uc54a\uc740 \uacbd\uc6b0 \uc560\ub2c8\uba54\uc774\uc158\uc774 \ubc31\uadf8\ub77c\uc6b4\ub4dc\uc5d0\uc11c \uc7ac\uc0dd\ub429\ub2c8\ub2e4.\n:param loop: ``loop``\uac00 ``True``\uc778 \uacbd\uc6b0 \uc560\ub2c8\uba54\uc774\uc158\uc774 \ubb34\ud55c \ubc18\ubcf5\ub429\ub2c8\ub2e4.\n:param monospace: ``monospace``\uac00 ``True``\uc778 \uacbd\uc6b0 \uc2a4\ud06c\ub864 \uc911\uc5d0 \ubaa8\ub4e0 \uae00\uc790\ub294 5\uc5f4\uc758 \ud53d\uc140\ub9cc\ud07c\uc758 \ub108\ube44\ub97c \uc18c\ubaa8\ud558\uba70, \uadf8\ub807\uc9c0 \uc54a\uc740 \uacbd\uc6b0 \uae00\uc790 \uc0ac\uc774\uc5d0 \uc815\ud655\ud788 1\uc5f4\uc758 \ud53d\uc140\uc758 \uacf5\ubc31\uc774 \uc874\uc7ac\ud569\ub2c8\ub2e4.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"LED \ub514\uc2a4\ud50c\ub808\uc774\ub97c \ucf2d\ub2c8\ub2e4.\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"LED \ub514\uc2a4\ud50c\ub808\uc774\ub97c \ub055\ub2c8\ub2e4(\ub514\uc2a4\ud50c\ub808\uc774\ub97c \ube44\ud65c\uc131\ud654\ud558\uba74 GPIO \ud540\uc744 \ub2e4\ub978 \ubaa9\uc801\uc73c\ub85c \uc7ac\uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4).\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"LED \ub514\uc2a4\ud50c\ub808\uc774\uac00 \ud65c\uc131\ud654\ub418\uc5b4\uc788\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"\ubc1d\uae30 \ub808\ubca8\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", - "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"I\u00b2C \ubc84\uc2a4 \ud504\ub85c\ud1a0\ucf5c\uc744 \uc0ac\uc6a9\ud574 \uae30\uae30\uc640 \ud1b5\uc2e0\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"\uc8fc\ubcc0 \uc7a5\uce58\ub97c \ub2e4\uc2dc \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``i2c.init()``\n\n:param freq: \ud074\ub7ed \uc9c4\ub3d9\uc218\n:param sda: ``scl`` \ud540(\uae30\ubcf8\uac12 20)\n:param scl: ``scl`` \ud540(\uae30\ubcf8\uac12 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"\ubc84\uc2a4\uc5d0\uc11c \uc7a5\uce58\ub97c \uc2a4\uce94\ud569\ub2c8\ub2e4.\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"\uc7a5\uce58\uc5d0\uc11c \ubc14\uc774\ud2b8 \uac12\uc744 \uc77d\uc2b5\ub2c8\ub2e4..\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: \uc7a5\uce58\uc758 7\ube44\ud2b8 \uc8fc\uc18c\n:param n: \uc77d\uc744 \ubc14\uc774\ud2b8 \uc218\n:param repeat: ``True``\uc778 \uacbd\uc6b0 \uc2a4\ud1b1 \ube44\ud2b8\uac00 \uc804\uc1a1\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\uc7a5\uce58\uc5d0 \ubc14\uc774\ud2b8\ub97c \uc791\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: \uc7a5\uce58\uc758 7\ube44\ud2b8 \uc8fc\uc18c\n:param buf: \uc791\uc131\ud560 \ubc14\uc774\ud2b8\uac00 \ud3ec\ud568\ub41c \ubc84\ud37c\n:param repeat: ``True``\uc778 \uacbd\uc6b0 \uc2a4\ud1b1 \ube44\ud2b8\uac00 \uc804\uc1a1\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"I\u00b2C \ubc84\uc2a4 \ud504\ub85c\ud1a0\ucf5c\uc744 \uc0ac\uc6a9\ud574 \uae30\uae30\uc640 \ud1b5\uc2e0\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"\uc8fc\ubcc0 \uc7a5\uce58\ub97c \ub2e4\uc2dc \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``i2c.init()``\n\n:param freq: \ud074\ub7ed \uc9c4\ub3d9\uc218\n:param sda: ``scl`` \ud540(\uae30\ubcf8\uac12 20)\n:param scl: ``scl`` \ud540(\uae30\ubcf8\uac12 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"\ubc84\uc2a4\uc5d0\uc11c \uc7a5\uce58\ub97c \uc2a4\uce94\ud569\ub2c8\ub2e4.\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"\uc7a5\uce58\uc5d0\uc11c \ubc14\uc774\ud2b8 \uac12\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: \uc7a5\uce58\uc758 7\ube44\ud2b8 \uc8fc\uc18c\n:param n: \uc77d\uc744 \ubc14\uc774\ud2b8 \uc218\n:param repeat: ``True``\uc778 \uacbd\uc6b0 \uc2a4\ud1b1 \ube44\ud2b8\uac00 \uc804\uc1a1\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\uc7a5\uce58\uc5d0 \ubc14\uc774\ud2b8\ub97c \uc791\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: \uc7a5\uce58\uc758 7\ube44\ud2b8 \uc8fc\uc18c\n:param buf: \uc791\uc131\ud560 \ubc14\uc774\ud2b8\uac00 \ud3ec\ud568\ub41c \ubc84\ud37c\n:param repeat: ``True``\uc778 \uacbd\uc6b0 \uc2a4\ud1b1 \ube44\ud2b8\uac00 \uc804\uc1a1\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"\ub0b4\uc7a5 \ub9c8\uc774\ud06c\ub97c \uc0ac\uc6a9\ud574 \uc18c\ub9ac\uc5d0 \ubc18\uc751\ud569\ub2c8\ub2e4(V2 \uc804\uc6a9).\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"\ub9c8\uc9c0\ub9c9\uc73c\ub85c \uae30\ub85d\ub41c \uc18c\ub9ac \uc774\ubca4\ud2b8\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\ub9c8\uc9c0\ub9c9 \ud638\ucd9c \uc774\ud6c4\ub85c \uc18c\ub9ac\uac00 \ub4e4\ub838\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: ``SoundEvent.LOUD`` \ub610\ub294 ``SoundEvent.QUIET`` \ub4f1\uc744 \ud655\uc778\ud558\uae30 \uc704\ud55c \uc774\ubca4\ud2b8\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\uac00\uc7a5 \ucd5c\uadfc \ud0d0\uc9c0\ub41c \uc18c\ub9ac \uc774\ubca4\ud2b8\ub97c \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: ``SoundEvent.LOUD`` \ub610\ub294 ``SoundEvent.QUIET`` \ub4f1\uc744 \ud655\uc778\ud558\uae30 \uc704\ud55c \uc774\ubca4\ud2b8\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"\uc18c\ub9ac \uc774\ubca4\ud2b8 \uae30\ub85d\uc744 \ud29c\ud50c\ub85c \uac00\uc838\uc635\ub2c8\ub2e4.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"\uc18c\ub9ac \uc774\ubca4\ud2b8 \uc784\uacc4\uac12\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: ``SoundEvent.LOUD`` \ub610\ub294 ``SoundEvent.QUIET`` \ub4f1\uc758 \uc18c\ub9ac \uc774\ubca4\ud2b8\uc785\ub2c8\ub2e4.\n:param value: 0~255\uc758 \ubc94\uc704\ub85c \ub41c \uc784\uacc4\uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"\uc74c\uc555 \ub808\ubca8\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"\ub0b4\uc7a5 \uc2a4\ud53c\ucee4\ub97c \uc81c\uc5b4\ud569\ub2c8\ub2e4(V2 \uc804\uc6a9).\"\"\"\n\ndef off() -> None:\n \"\"\"\uc2a4\ud53c\ucee4\ub97c \ub055\ub2c8\ub2e4.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\uc2a4\ud53c\ucee4\ub97c \ucf2d\ub2c8\ub2e4.\n\nExample: ``speaker.on()``\"\"\"\n ...", "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\uc9c1\ub82c \uc8fc\ubcc0 \uc7a5\uce58 \uc778\ud130\ud398\uc774\uc2a4(SPI) \ubc84\uc2a4\ub97c \uc0ac\uc6a9\ud574 \uc7a5\uce58\uc640 \ud1b5\uc2e0\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"SPI \ud1b5\uc2e0\uc744 \uc2dc\uc791\ud569\ub2c8\ub2e4. (string)\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: \ud1b5\uc2e0 \uc18d\ub3c4\uc785\ub2c8\ub2e4.\n:param bits: \uac01 \uc804\uc1a1\uc758 \ube44\ud2b8\uc758 \ub108\ube44\uc785\ub2c8\ub2e4. \ud604\uc7ac ``bits=8``\ub9cc \uc9c0\uc6d0\ub418\ub098 \ud5a5\ud6c4 \ubcc0\uacbd\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n:param mode: \ud074\ub7ed \uadf9\uc131\uacfc \ud398\uc774\uc988\uc758 \uc870\ud569\uc744 \uacb0\uc815\ud569\ub2c8\ub2e4. \uc628\ub77c\uc778 \ud14c\uc774\ube14\uc744 \ucc38\uc870\ud558\uc138\uc694 `_.\n:param sclk: sclk \ud540(\uae30\ubcf8\uac12 13)\n:param mosi: mosi \ud540(\uae30\ubcf8\uac12 15)\n:param miso: miso \ud540(\uae30\ubcf8\uac12 14)\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"\ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``spi.read(64)``\n\n:param nbytes: \uc77d\uc744 \ubc14\uc774\ud2b8\uc758 \ucd5c\ub300 \uc218\uc785\ub2c8\ub2e4.\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\ubc84\uc2a4\uc5d0 \ubc14\uc774\ud2b8\ub97c \uc791\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: \ub370\uc774\ud130\ub97c \uc77d\uc744 \ubc84\ud37c\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"\ubc84\uc2a4\uc5d0 ``out`` \ubc84\ud37c\ub97c \uc791\uc131\ud558\uace0 \ubc1c\uc0dd\ud558\ub294 ``in_`` \ubc84\ud37c\uc758 \ubaa8\ub4e0 \uc751\ub2f5\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: \uc751\ub2f5\uc744 \uc791\uc131\ud560 \ubc84\ud37c\uc785\ub2c8\ub2e4.\n:param in_: \ub370\uc774\ud130\ub97c \uc77d\uc744 \ubc84\ud37c\uc785\ub2c8\ub2e4.\"\"\"\n ...", diff --git a/src/micropython/main/typeshed.nl.json b/src/micropython/main/typeshed.nl.json index e768a5139..f75b43176 100644 --- a/src/micropython/main/typeshed.nl.json +++ b/src/micropython/main/typeshed.nl.json @@ -11,10 +11,10 @@ "/typeshed/stdlib/log.pyi": "\"\"\"Log gegevens in op je micro:bit V2.\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"Milliseconden tijdstempel formaat. (milliseconden)\"\"\"\nSECONDS = 10\n\"\"\"Seconden tijdstempel formaat. (seconden)\"\"\"\nMINUTES = 600\n\"\"\"Minuten tijdstempel formaat. (minuten)\"\"\"\nHOURS = 36000\n\"\"\"Uren tijdstempel formaat. (uren)\"\"\"\nDAYS = 864000\n\"\"\"Dagen tijdstempel formaat. (dagen)\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"Stel de logbestandheader in. (kies labels)\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: Een willekeurig aantal positionele argumenten, elk corresponderend aan een vermelding in de log header.\n:param timestamp: (tijdstempel) Selecteer de eenheid van de tijdsaanduiding die automatisch als eerste kolom in elke rij wordt toegevoegd. Tijdstempel waarden kunnen een van ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, , , ``log.HOURS``, ``log.DAYS`` of ``None`` om de tijdstempel uit te schakelen. De standaardwaarde is ``log.SECONDS``.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"Voeg een gegevensrij toe aan de log door een woordenboek van koppen en waarden te passeren. (toevoegen)\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (gegevenswoordenboek) De gegevens die moeten worden geregistreerd als woordenboek met een sleutel voor elke header.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Voeg een gegevensrij toe aan het logboek met behulp van trefwoordargumenten. (toevoegen)\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Verwijdert de inhoud van het log, inclusief headers. (verwijderen)\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: (volledig) ``True`` selecteert een \"volledige\" wissen en ``False`` selecteert de \"snel\" wis methode.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configureer het spiegelen van de data logging activiteit naar de seri\u00eble uitgang. (stel spiegelen in)\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: (serieel) ``True`` maakt het spiegelen van gegevens naar de seri\u00eble uitvoer mogelijk.\"\"\"\n ...", "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", "/typeshed/stdlib/machine.pyi": "\"\"\"Hulpprogramma's op laag niveau.\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Krijg een byte string met een uniek id van een bord. (uniek id)\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset het apparaat op een manier die lijkt op de externe RESET knop.\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Krijg de CPU frequentie in Hertz. (frequentie)\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Interruptie verzoeken uitschakelen. (irq uitschakelen)\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Zet interruptie verzoeken opnieuw aan. (irq inschakelen)\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: (staat) De waarde die is teruggestuurd van de meest recente oproep naar de ``disable_irq`` functie.\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"Time een puls op een pin. (tijd pulse us)\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: De pin om te gebruiken\n:param pulse_level: (puls niveau) 0 om een lage puls te tikken of 1 om een hoge puls te tikken\n:param timeout_us: Een microseconde time-out\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"De klasse van de ``mem8``, ``mem16`` en ``mem32`` geheugenweergaven.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Toegang tot een waarde uit het geheugen.\n\n:param address: (adres) Het geheugenadres.\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Stel een waarde in op het opgegeven adres.\n\n:param address: (adres) Het geheugen adres.\n:param value: (waarde) De integerwaarde die moet worden ingesteld.\"\"\"\n ...\nmem8: mem\n\"\"\"8-bit (byte) weergave van het geheugen.\"\"\"\nmem16: mem\n\"\"\"16-bit (byte) weergave van het geheugen.\"\"\"\nmem32: mem\n\"\"\"32-bit (byte) weergave van het geheugen.\"\"\"", - "/typeshed/stdlib/math.pyi": "\"\"\"Wiskundige functies. (wiskunde)\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Bereken de inverse cosinus.\n\nExample: ``math.acos(1)``\n\n:param x: (\u0445) Een getal\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Bereken de inverse sinus.\n\nExample: ``math.asin(0)``\n\n:param x: (\u0445) Een getal\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Bereken de inverse tangens.\n\nExample: ``math.atan(0)``\n\n:param x: (\u0445) Een getal\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Bereken de hoofdwaarde van de inverse tangens van ``y/x``.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: (\u0445) Een getal\n:param x: (\u0445) Een getal\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Rond een getal af op een positief oneindig. (plafond)\n\nExample: ``math.ceil(0.1)``\n\n:param x: (\u0445) Een getal\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Bereken ``x`` met de teken van ``y``.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: (\u0445) Een getal\n:param y: De bron van het teken voor de retourwaarde\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Bereken de cosinus van ``x``.\n\nExample: ``math.cos(0)``\n\n:param x: (\u0445) Een getal\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"radialen converteren naar graden: (graden)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: (\u0445) Een waarde in radialen\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Bereken de exponenti\u00eble van ``x``.\n\nExample: ``math.exp(1)``\n\n:param x: (\u0445) Een getal\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Geeft de absolute waarde van ``x``.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: (\u0445) Een getal\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Rond een getal af op een negatief oneindig.\n\nExample: ``math.floor(0.9)``\n\n:param x: (\u0445) Een getal\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Bereken de rest van ``x/y``.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: (\u0445) De nummeraar\n:param y: De noemer\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Ontleedt een getal met drijvende komma in zijn mantisse en exponent.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: (\u0445) Getal met drijvende komma\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Controleer of een waarde eindig is. (is eindig)\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: (\u0445) Een getal.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Controleer of een waarde oneindig is.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: (\u0445) Een getal.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Check is een waarde is geen getal (NaN).\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: (\u0445) Een getal\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Bereken ``x * (2**exp)``.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: (\u0445) Een getal\n:param exp: Integer exponent\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"Bereken het logaritme van ``x`` naar de opgegeven basis (standaard is het natuurlijke logalgoritme).\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: (\u0445) Een getal\n:param base: (grondtal) Het grondtal om te gebruiken\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Bereken de fractionele en integrale onderdelen van ``x``.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: (\u0445) Een getal\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Retourneert ``x`` naar de kracht van ``y``.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: (\u0445) Een getal\n:param y: De exponent\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Converteer graden naar radialen. (radialen)\n\nExample: ``math.radians(360)``\n\n:param x: (\u0445) Een waarde in graden\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Bereken de sinus van ``x``.\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: (\u0445) Een getal\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Bereken de wortel van ``x``. (wortel)\n\nExample: ``math.sqrt(4)``\n\n:param x: (\u0445) Een getal\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Bereken de tangens van ``x``.\n\nExample: ``math.tan(0)``\n\n:param x: (\u0445) Een getal\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Rond een getal af naar 0.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: (\u0445) Een getal\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"Basis van het natuurlijke logaritme\"\"\"\npi: float\n\"\"\"De omtrek van een cirkel tot de diameter\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"Wiskundige functies. (wiskunde)\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Bereken de inverse cosinus.\n\nExample: ``math.acos(1)``\n\n:param x: (\u0445) Een getal\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Bereken de inverse sinus.\n\nExample: ``math.asin(0)``\n\n:param x: (\u0445) Een getal\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Bereken de inverse tangens.\n\nExample: ``math.atan(0)``\n\n:param x: (\u0445) Een getal\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Bereken de hoofdwaarde van de inverse tangens van ``y/x``.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: (\u0445) Een getal\n:param x: (\u0445) Een getal\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Rond een getal af op een positief oneindig. (plafond)\n\nExample: ``math.ceil(0.1)``\n\n:param x: (\u0445) Een getal\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Bereken ``x`` met de teken van ``y``.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: (\u0445) Een getal\n:param y: De bron van het teken voor de retourwaarde\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Bereken de cosinus van ``x``.\n\nExample: ``math.cos(0)``\n\n:param x: (\u0445) Een getal\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"radialen converteren naar graden: (graden)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: (\u0445) Een waarde in radialen\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Bereken de exponenti\u00eble van ``x``.\n\nExample: ``math.exp(1)``\n\n:param x: (\u0445) Een getal\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Geeft de absolute waarde van ``x``.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: (\u0445) Een getal\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Rond een getal af op een negatief oneindig.\n\nExample: ``math.floor(0.9)``\n\n:param x: (\u0445) Een getal\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Bereken de rest van ``x/y``.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: (\u0445) De nummeraar\n:param y: De noemer\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Ontleedt een getal met drijvende komma in zijn mantisse en exponent.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: (\u0445) Getal met drijvende komma\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Controleer of een waarde eindig is. (is eindig)\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: (\u0445) Een getal.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Controleer of een waarde oneindig is.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: (\u0445) Een getal.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Check if is een waarde is geen getal (NaN).\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: (\u0445) Een getal\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Bereken ``x * (2**exp)``.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: (\u0445) Een getal\n:param exp: Integer exponent\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"Bereken het logaritme van ``x`` naar de opgegeven basis (standaard is het natuurlijke logalgoritme).\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: (\u0445) Een getal\n:param base: (grondtal) Het grondtal om te gebruiken\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Bereken de fractionele en integrale onderdelen van ``x``.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: (\u0445) Een getal\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Retourneert ``x`` naar de kracht van ``y``.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: (\u0445) Een getal\n:param y: De exponent\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Converteer graden naar radialen. (radialen)\n\nExample: ``math.radians(360)``\n\n:param x: (\u0445) Een waarde in graden\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Bereken de sinus van ``x``.\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: (\u0445) Een getal\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Bereken de wortel van ``x``. (wortel)\n\nExample: ``math.sqrt(4)``\n\n:param x: (\u0445) Een getal\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Bereken de tangens van ``x``.\n\nExample: ``math.tan(0)``\n\n:param x: (\u0445) Een getal\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Rond een getal af naar 0.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: (\u0445) Een getal\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"Basis van het natuurlijke logaritme\"\"\"\npi: float\n\"\"\"De omtrek van een cirkel tot de diameter\"\"\"", "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython intern.\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"Gebruikt om te verklaren dat de expressie een constante is zodat de compiler\ndeze kan optimaliseren.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: Een constante expressie.\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Krijg het huidige optimalisatieniveau voor de compilatie van scripts. (Kies niveau)\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Stelt het optimalisatie niveau in voor de latere compilatie van scripts. (opt niveau)\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: (niveau) Een integer optimaliserings niveau.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"Druk informatie af over het momenteel gebruikte geheugen.\n\nExample: ``micropython.mem_info()``\n\n:param verbose: Als het argument van ``verbose`` wordt opgegeven, wordt extra informatie afgedrukt.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"Druk informatie af over momenteel gebruikte interne tekenreeksen.\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: Als het argument van ``verbose`` wordt opgegeven, wordt extra informatie afgedrukt.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Retourneert een integer getal dat huidige hoeveelheid stack vertegenwoordigt die wordt gebruikt. (stapel gebruik)\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Lock de heap. (heap slot)\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Unlock the heap.\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Stel het karakter in dat een ``KeyboardInterrupt`` -uitzondering maakt.\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: Karakter code om de onderbreking of -1 om opname van Ctrl-C uit te schakelen.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", "/typeshed/stdlib/music.pyi": "\"\"\"Maak en speel melodie\u00ebn. (muziek)\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"Melodie: de opening naar Beethoven's 5e Symfonie in C minor.\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melody: het openingsfragment van Scott Joplin\u2019s Ragtime classic \u201cThe Entertainer\u201d.\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"Melodie: de opening van de eerste prelude in C Major van J.S.Bach's 48 Preludes en Fugues.\"\"\"\nODE: Tuple[str, ...]\n\"\"\"Melodie: het thema \"Ode aan Joy\" van Beethoven zijn negende Symfonie in D-klein.\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"Melodie: het Nyan Cat thema (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"Melodie: iets dat klinkt als een beltoon van een mobiele telefoon. (beltoon)\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"Melodie: een grappige bas lijn voor geheime agenten en criminele meesterbreinen.\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"Melodie: een boogie-woogie 12-bar blues wandel bas. (Blues)\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melodie: \u201cHappy Birthday to You\u2026\u201d (verjaardag)\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"Melodie: het bruidskoor van de opera van Wagner \u201cLohengrin\u201d. (bruiloft)\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"Melody: de \u201cbegrafenismars\u201d die ook bekend staat als Fr\u00e9d\u00e9ric Chopin\u2019s Piano Sonata No. 2 in B\u266d minor, Op. 35. (begrafenis)\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melodie: een grappig fragment dat aangeeft dat er een grap is gemaakt. (clou)\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"Melodie: John Philip Sousa's mars \"Liberty Bell\", ook bekend als het thema voor \"Monty Python's Flying Circus\" (waarnaar de programmeertaal Python is vernoemd).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"Melodie: stomme filmtijdperk de binnenkomst van een boef. (boef)\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"Melodie: stille film tijdperk achtervolgings-sc\u00e8ne. (achtervolgen)\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"Melodie: een kort signaal om aan te geven dat er iets is gebeurd.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melody: een zeer trieste trombone.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melody: voor gebruik in een spel om opwaartse beweging aan te geven. (spring omhoog)\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melody: voor gebruik in een spel, om neerwaartse beweging aan te geven. (spring omlaag)\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melodie: een fanfare die aantoont dat een prestatie ontgrendeld is. (opstarten)\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melody: een droevige fanfare om aan te geven dat een prestatie verloren is gegaan. (afsluiten)\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"Stelt het geschatte tempo in voor het afspelen. (kies tempo)\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: (tikken) Het aantal tikken in een beat.\n:param bpm: Een geheel getal dat het aantal beats per minuut bepaalt.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Haalt het huidige tempo op als een heel geheel getal: ``(ticks, bpm)``. (krijg tempo)\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"Speelt muziek af. (afspelen)\n\nExample: ``music.play(music.NYAN)``\n\n:param music: (muziek) muziek opgegeven in `a special notation `_\n:param pin: de uitvoer pin voor gebruik met een externe luidspreker (standaard ``pin0``), ``None`` voor geen geluid.\n:param wait: (wacht) Als ``wait`` is ingesteld op ``True``wordt deze functie geblokkeerd.\n:param loop: Als ``loop`` is ingesteld op ``True``herhaalt de melodie tot ``stop`` wordt opgeroepen of wordt de blokkerende oproep word onderbroken.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"Speel een noot. (toonhoogte)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (frequentie) Een integere frequentie\n:param duration: (Duur) Een milliseconde duur. Als negatief dan gaat het geluid door tot de volgende oproep of een oproep tot ``stop``.\n:param pin: Optionele uitvoer pin (standaard ``pin0``).\n:param wait: (wacht) Als ``wait`` is ingesteld op ``True``wordt deze functie geblokkeerd.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Stopt alle muziek op de ingebouwde luidspreker en elke pin die geluid uitzendt.\n\nExample: ``music.stop()``\n\n:param pin: Een optioneel argument kan worden opgegeven om een pin op te geven, bijvoorbeeld ``music.stop(pin1)``.\"\"\"\n\ndef reset() -> None:\n \"\"\"Reset ticks, bpm, duur en octaven naar hun standaardwaarden.\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individueel adresseerbare RGB en RGBW LED-strips.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Initialiseer een nieuwe strip van neopixel LED's beheerd via een pin. (initialiseren)\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: De pin regelt de neopixelstrook.\n:param n: Het aantal neopixels in de strip.\n:param bpp: Bytes per pixel. Voor micro:bit V2 RGBW neopixel ondersteuning, geef 4 door in plaats van de standaard 3 voor RGB en GRB.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"Verwijder alle pixels. (wissen)\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"Toon de pixels. (toon)\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Toon de pixels (alleen micro:bit V2). (schrijven)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Kleur alle pixels een bepaalde RGB/RGBW waarde. (opvullen)\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (kleur) Een tuple van dezelfde lengte als het aantal bytes per pixel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Stel een pixelkleur in.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: (sleutel) Het pixelnummer.\n:param value: (waarde) De kleur.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Krijg een pixelkleur.\n\nExample: ``r, g, b = np[0]``\n\n:param key: (sleutel) Het pixelnummer.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"Haal de lengte op van deze pixelstrip.\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individueel adresseerbare RGB en RGBW LED-strips.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Initialiseer een nieuwe strip van neopixel LED's beheerd via een pin. (initialiseren)\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: De pin regelt de neopixelstrook.\n:param n: Het aantal neopixels in de strip.\n:param bpp: Bytes per pixel. Voor ondersteuning van RGBW neopixels geeft je 4 aan in plaats van de standaardwaarde van 3 voor RGB en GRB.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"Verwijder alle pixels. (wissen)\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"Toon de pixels. (toon)\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Toon de pixels (alleen micro:bit V2). (schrijven)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Kleur alle pixels een bepaalde RGB/RGBW waarde (alleen micro:bit V2). (opvullen)\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (kleur) Een tuple van dezelfde lengte als het aantal bytes per pixel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Stel een pixelkleur in.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: (sleutel) Het pixelnummer.\n:param value: (waarde) De kleur.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Krijg een pixelkleur.\n\nExample: ``r, g, b = np[0]``\n\n:param key: (sleutel) Het pixelnummer.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"Haal de lengte op van deze pixelstrip.\n\nExample: ``len(np)``\"\"\"", "/typeshed/stdlib/os.pyi": "\"\"\"Toegang tot het bestandssysteem.\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"Bestanden weergeven.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Verwijder (verwijder) een bestand. (verwijder)\n\nExample: ``os.remove('data.txt')``\n\n:param filename: (bestands naam) Het bestand is verwijderd\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Geeft de grootte van een bestand weer. (grootte)\n\nExample: ``os.size('data.txt')``\n\n:param filename: (bestands naam) Het bestand\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Resultaat van ``os.uname()`` (uname resultaat)\"\"\"\n sysname: str\n \"\"\"Besturingssysteem naam\"\"\"\n nodename: str\n \"\"\"Naam van machine op het netwerk (implementation-defined).\"\"\"\n release: str\n \"\"\"Besturingssysteem release. (vrijgeven)\"\"\"\n version: str\n \"\"\"Besturingssysteem versie. (versie)\"\"\"\n machine: str\n \"\"\"Identificatie hardware\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Geeft informatie terug die het huidige besturingssysteem identificeert.\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", "/typeshed/stdlib/radio.pyi": "\"\"\"Communiceer tussen micro:bits met de ingebouwde radio.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"Constante gebruikt om een doorvoer van 1 MBit per seconde aan te geven.\"\"\"\nRATE_2MBIT: int\n\"\"\"Constante gebruikt om een doorvoer van 2 MBit per seconde aan te geven.\"\"\"\n\ndef on() -> None:\n \"\"\"Zet de radio aan. (aan)\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Schakelt de radio uit, bespaar stroom en geheugen. (uit)\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"Configureert de radio. (configuratie)\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (lengte) (default=32) definieert de maximale lengte, in bytes, van een bericht dat via de radio wordt verzonden.\nHet kan maximaal 251 bytes lang zijn (254 - 3 bytes voor S0, LENGTH en S1 preamble).\n:param queue: (wachtrij) (standaard=3) geeft het aantal berichten aan dat in de wachtrij van het inkomende bericht kan worden opgeslagen.\nAls er geen ruimte meer is in de wachtrij voor binnenkomende berichten, dan valt het inkomende bericht weg.\n:param channel: (kanaal) (default=7) een integer waarde van 0 tot 83 (inclusief) die een willekeurig \"kanaal\" definieert waaraan de radio wordt afgestemd.\nBerichten worden via dit kanaal verzonden en alleen via dit kanaal worden berichten in de wachtrij van het inkomende berichten geplaatst. Elke stap is 1 MHz breed, gebaseerd op 2400MHz.\n:param power: (vermogen) (default=6) is een integer waarde van 0 tot 7 (inclusief) om de sterkte van het signaal aan te geven dat wordt gebruikt bij het uitzenden van een bericht.\nHoe hoger de waarde, des te sterker het signaal, maar hoe meer stroom het apparaat verbruikt. De nummering vertaalt naar posities in de volgende lijst van dBm (decibel milliwatt) waarden: -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (adres) (default=0x75626974) een willekeurige naam, uitgedrukt als een 32-bits adres, wordt gebruikt om inkomende pakketten op hardware-niveau te filteren, waarbij alleen de pakketten worden bewaard die overeenkomen met het adres dat je zelf instelt.\nDe standaard gebruiker door andere micro:bit gerelateerde platforms is de standaard instelling die hier wordt gebruikt.\n:param group: (groep) (standaard=0) een 8-bit waarde (0-255) gebruikt met de ``address`` bij het filteren van berichten.\nConceptueel, \"adres\" is als een huis/kantooradres en \"groep\" is als de persoon op dat adres waarnaar je je bericht wilt sturen.\n:param data_rate: (Gegevens snelheid) (default=``radio.RATE_1MBIT``) geeft aan hoe snel de doorvoer van gegevens plaatsvindt.\nKan een van de volgende constanten zijn gedefinieerd in de ``radio`` module: ``RATE_250KBIT``, ``RATE_1MBIT`` of ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset alle instellingen naar hun standaardwaarde.\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Stuurt een bericht met bytes. (verstuur bytes)\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: (bericht) De te verzenden bytes.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Ontvang het volgende inkomende bericht in de wachtrij van het bericht. (ontvang bytes)\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Kopieer het volgende inkomende bericht in de wachtrij van het bericht naar een buffer. (ontvang bytes in)\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: De doel buffer. Het bericht wordt ingekort als het groter is dan de buffer.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Stuurt een berichtenreeks. (verzenden)\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: (bericht) De te verzenden tekenreeks.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Werkt op precies dezelfde manier als ``receive_bytes`` , maar retourneert wat er verzonden is. (ontvang)\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Geeft als resultaat een dup met drie waarden die het volgende inkomende bericht in de wachtrij van het bericht weergeven. (Ontvang vol)\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", @@ -35,12 +35,12 @@ "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", - "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pinnen, afbeeldingen, geluiden, temperatuur en volume.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Plan om een functie uit te voeren volgens het interval dat gespecificeerd is door het time argument **V2 alleen**. (draai elke)\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Functie om op te roepen bij de meegeleverde interval. Weglaten wanneer je als decorator gebruikt.\n:param days: (dagen) Stelt de dag markering in voor de planning.\n:param h: (uur) Stelt de urenmarkering in voor de planning.\n:param min: Stelt de minuut markering in voor de planning.\n:param s: Stelt de seconde markering in voor de planning.\n:param ms: Stelt de milliseconde markering in voor de planning.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Voer een paniekmodus in. (paniek)\n\nExample: ``panic(127)``\n\n:param n: Een willekeurig geheel getal <= 255 om een status aan te geven.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Herstart het bord.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Zet een waarde om van een bereik naar een ander bereik van natuurlijke getallen. (schaal)\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: (waarde) Een getal om te converteren\n:param from_: (van) Een getallen paar wat het bereik aangeeft vanwaar je wilt converteren\n:param to: (naar) Een getallen paar om het bereik te defini\u00ebren waar je naar wilt converteren.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Zet een waarde om van een bereik naar een ander bereik van decimale getallen. (schaal)\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: (waarde) Een getal om te converteren\n:param from_: (van) Een getallen paar wat het bereik aangeeft vanwaar je wilt converteren\n:param to: (naar) Een getallen paar om het bereik te defini\u00ebren waar je naar wilt converteren.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Wacht op ``n`` milliseconden. (slapen)\n\nExample: ``sleep(1000)``\n\n:param n: Het aantal milliseconden te wachten\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Bekijk de looptijd van het bord. (looptijd)\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Krijg de temperatuur van de micro:bit in graden Celcius. (temperatuur)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Stelt het volume in. (stel volume in)\n\nExample: ``set_volume(127)``\n\n:param v: een waarde tussen 0 (laag) en 255 (hoog).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"De klasse voor de knoppen ``button_a`` en ``button_b``. (knop)\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Controleer of op de knop wordt gedrukt. (is ingedrukt)\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"Controleer of de knop was ingedrukt sinds het apparaat is gestart of de laatste keer dat deze methode is gebruikt. (was ingedrukt)\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Krijg het totale aantal ingedrukte knoppen en reset dit totaal\nnaar nul voordat u terugkeert. (zie knop acties)\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"Het object van de linker knop ``Button``. (knop a)\"\"\"\nbutton_b: Button\n\"\"\"Het object van de rechter knop ``Button``. (knop b)\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Een digitale pin\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Haal de digitale waarde van de pincode op. (digitaal lezen)\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Stel de digitale waarde van de pin in. (digitaal schrijven)\n\nExample: ``pin0.write_digital(1)``\n\n:param value: (waarde) 1 om de pin hoog of 0 om de pin laag in te stellen\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Zet de pull-status op een van de drie mogelijke waarden: ``PULL_UP``, ``PULL_DOWN`` of ``NO_PULL``. (pull instellen)\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: (waarde) De pull-status van de relevante pincode, bijvoorbeeld ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Bekijk de pull status van een pin. (pull instellen)\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Geeft de pinmodus weer. (Bekijk modus)\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Voer een PWM-signaal uit op de pin, waarbij de taakcyclus proportioneel is aan ``value``. (analoge schrijven)\n\nExample: ``pin0.write_analog(254)``\n\n:param value: (waarde) Een geheel getal of een zwevend punt getal tussen 0 (0% tariefcyclus) en 1023 (100% belasting).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Stel de periode in van het PWM-signaal dat uitgevoerd wordt naar ``period`` in milliseconden. (gebruik analoge periode)\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: (periode) De periode in milliseconden met een minimale geldige waarde van 1 ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Stel de periode in van het PWM-signaal dat uitgevoerd wordt naar ``period`` in milliseconden. (microseconden analoge periode instellen)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: (periode) De periode in microseconden met een minimumwaarde van 256 mres.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Een pin met analoge en digitale functies.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Lees de spanning op de pin. (lees analoge)\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Een pin met analoge, digitale en touch functies.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"Controleer of de pin aangeraakt wordt. (is aangeraakt)\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Stel de aanraakmodus voor de pin in. (aanraakmodus instellen)\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: (waarde) ``CAPACITIVE`` of ``RESISTIVE`` van de relevante speler.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin met digitale, analoge en touch functies.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Een aanraak gevoelige logo pin op de voorkant van de micro:bit, die standaard is ingesteld op capacitieve aanraking modus.\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Een pin om de micro:bit luidspreker aan te spreken. (pin luidspreker)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Een afbeelding om te laten zien op het micro:bit LED display. (afbeelding)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Hart afbeelding (hart)\"\"\"\n HEART_SMALL: Image\n \"\"\"Klein hart afbeelding. (hart klein)\"\"\"\n HAPPY: Image\n \"\"\"Blije gezichtsafbeelding. (blij)\"\"\"\n SMILE: Image\n \"\"\"Glimlach gezicht afbeelding. (glimlach)\"\"\"\n SAD: Image\n \"\"\"Droevige gezichtsafbeelding. (verdrietig)\"\"\"\n CONFUSED: Image\n \"\"\"Verward gezichtsafbeelding. (verward)\"\"\"\n ANGRY: Image\n \"\"\"Boos gezichtsafbeelding. (kwaad)\"\"\"\n ASLEEP: Image\n \"\"\"Slapend gezicht afbeelding. (in slaap)\"\"\"\n SURPRISED: Image\n \"\"\"Verraste gezichtsafbeelding. (verrast)\"\"\"\n SILLY: Image\n \"\"\"Gek gezichtsafbeelding. (gek)\"\"\"\n FABULOUS: Image\n \"\"\"Zonnebril gezichtsafbeelding. (fantastisch)\"\"\"\n MEH: Image\n \"\"\"Niet onder de indruk gezichtsafbeelding.\"\"\"\n YES: Image\n \"\"\"Aanvinken afbeelding. (ja)\"\"\"\n NO: Image\n \"\"\"Kruis afbeelding. (nee)\"\"\"\n CLOCK12: Image\n \"\"\"Afbeelding met lijn die naar 12.00 uur wijst. (klok 12)\"\"\"\n CLOCK11: Image\n \"\"\"Afbeelding met lijn die naar 11.00 uur wijst. (klok 11)\"\"\"\n CLOCK10: Image\n \"\"\"Afbeelding met lijn die naar 10.00 uur wijst. (klok 10)\"\"\"\n CLOCK9: Image\n \"\"\"Afbeelding met lijn die naar 9.00 uur wijst. (klok 9)\"\"\"\n CLOCK8: Image\n \"\"\"Afbeelding met lijn die naar 8.00 uur wijst. (klok 8)\"\"\"\n CLOCK7: Image\n \"\"\"Afbeelding met lijn die naar 7.00 uur wijst. (klok 7)\"\"\"\n CLOCK6: Image\n \"\"\"Afbeelding met lijn die naar 6.00 uur wijst. (klok 6)\"\"\"\n CLOCK5: Image\n \"\"\"Afbeelding met lijn die naar 5.00 uur wijst. (klok 5)\"\"\"\n CLOCK4: Image\n \"\"\"Afbeelding met lijn die naar 4.00 uur wijst. (klok 4)\"\"\"\n CLOCK3: Image\n \"\"\"Afbeelding met lijn die naar 3.00 uur wijst. (klok 3)\"\"\"\n CLOCK2: Image\n \"\"\"Afbeelding met lijn die naar 2 uur wijst. (klok2)\"\"\"\n CLOCK1: Image\n \"\"\"Afbeelding met lijn die naar 1 uur wijst. (klok1)\"\"\"\n ARROW_N: Image\n \"\"\"Afbeelding van pijl richting het noorden. (pijl n)\"\"\"\n ARROW_NE: Image\n \"\"\"Afbeelding van pijl richting het noord oosten. (pijl NO)\"\"\"\n ARROW_E: Image\n \"\"\"Afbeelding van pijl richting het oosten. (pijl e)\"\"\"\n ARROW_SE: Image\n \"\"\"Afbeelding van pijl richting het zuid-oosten. (pijl ZO)\"\"\"\n ARROW_S: Image\n \"\"\"Afbeelding van pijltje richting het zuiden. (pijl z)\"\"\"\n ARROW_SW: Image\n \"\"\"Afbeelding van pijl richting het zuid-westen. (pijl ZW)\"\"\"\n ARROW_W: Image\n \"\"\"Afbeelding van pijl richting het westen. (pijl w)\"\"\"\n ARROW_NW: Image\n \"\"\"Afbeelding van pijl richting het noord-westen. (pijl NW)\"\"\"\n TRIANGLE: Image\n \"\"\"Afbeelding van een driehoek die naar boven wijst. (driehoek)\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Afbeelding van een driehoek in de linker hoek. (Driehoek links)\"\"\"\n CHESSBOARD: Image\n \"\"\"Alternatieve LED's verlichten in een schaakbord patroon. (schaakbord)\"\"\"\n DIAMOND: Image\n \"\"\"Diamanten afbeelding. (diamant)\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Kleine diamanten afbeelding. (diamant klein)\"\"\"\n SQUARE: Image\n \"\"\"Vierkante afbeelding (vierkant)\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Kleine vierkante afbeelding. (vierkant klein)\"\"\"\n RABBIT: Image\n \"\"\"Konijn afbeelding. (konijn)\"\"\"\n COW: Image\n \"\"\"Koe afbeelding. (koe)\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Kwartnoot afbeelding. (muziek kwartnoot)\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Kwartnoot afbeelding. (muziek kwartnoot)\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Koppel van kwartnoten afbeelding. (muziek kwartnoten)\"\"\"\n PITCHFORK: Image\n \"\"\"Stemvork afbeelding. (stemvork)\"\"\"\n XMAS: Image\n \"\"\"Kerstboom afbeelding. (kerstmis)\"\"\"\n PACMAN: Image\n \"\"\"Pac-Man arcade karakterafbeelding. (Pacman)\"\"\"\n TARGET: Image\n \"\"\"Doel afbeelding. (doel)\"\"\"\n TSHIRT: Image\n \"\"\"T-shirt afbeelding.\"\"\"\n ROLLERSKATE: Image\n \"\"\"Rolschaats afbeelding. (rolschaatsen)\"\"\"\n DUCK: Image\n \"\"\"Eend afbeelding. (eend)\"\"\"\n HOUSE: Image\n \"\"\"Huis afbeelding. (huis)\"\"\"\n TORTOISE: Image\n \"\"\"Schildpad afbeelding. (schildpad)\"\"\"\n BUTTERFLY: Image\n \"\"\"Vlinder afbeelding. (vlinder)\"\"\"\n STICKFIGURE: Image\n \"\"\"Stok figuur afbeelding. (stok figuur)\"\"\"\n GHOST: Image\n \"\"\"Spook afbeelding. (spook)\"\"\"\n SWORD: Image\n \"\"\"Zwaard afbeelding. (zwaard)\"\"\"\n GIRAFFE: Image\n \"\"\"Giraffe afbeelding.\"\"\"\n SKULL: Image\n \"\"\"Schedel afbeelding. (doodshoofd)\"\"\"\n UMBRELLA: Image\n \"\"\"Paraplu afbeelding. (paraplu)\"\"\"\n SNAKE: Image\n \"\"\"Slang afbeelding. (slang)\"\"\"\n SCISSORS: Image\n \"\"\"Schaar afbeelding. (schaar)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Een lijst met alle CLOCK_ afbeeldingen achter elkaar. (alle klokken)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Een lijst met alle ARROW_ afbeeldingen in reeks. (alle pijlen)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Maak een afbeelding van een tekenreeks die beschrijft welke LED's zijn. (initialiseren)\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: (tekenreeks) De tekenreeks die de afbeelding beschrijft.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Maak een lege afbeelding met ``width`` kolommen en ``height`` rijen. (initialiseren)\n\n:param width: (breedte) Optionele breedte van de afbeelding\n:param height: (hoogte) Optionele hoogte van de afbeelding\n:param buffer: Optionele array of bytes van ``width``\u00d7``height`` integers in bereik 0-9 om de afbeelding te initialiseren\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Haal het aantal kolommen op. (breedte)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Krijg het aantal rijen. (hoogte)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Stel de helderheid van een pixel in. (pixel instellen)\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: (\u0445) Het kolom nummer\n:param y: Het rij nummer\n:param value: (waarde) De helderheid als een geheel getal tussen 0 (donker) en 9 (helder)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Krijg de helderheid van een pixel. (verkrijg pixel)\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: (\u0445) Het kolom nummer\n:param y: Het rij nummer\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding naar links te verschuiven. (verschuiving naar links)\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: Het aantal te verschuiven kolommen\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding rechts te verschuiven. (verschuif Rechts)\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: Het aantal te verschuiven kolommen\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding omhoog te schuiven. (verschuiving omhoog)\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: Het aantal rijen om te verschuiven met\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding omlaag te verschuiven. (verschuif omlaag)\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: Het aantal rijen om te verschuiven met\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding bij te snijden. (bij snijden)\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: (\u0445) De kolom verschuiving\n:param y: De rij verschuiving\n:param w: De bij snij breedte\n:param h: (uur) Hoogte bijsnijden\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Maak een exacte kopie van de afbeelding. (kopi\u00eber)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheid van de pixels in de\nbronafbeelding om te draaien. (omkeren)\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Stel de helderheid van alle pixels in de afbeelding in. (opvullen)\n\nExample: ``my_image.fill(5)``\n\n:param value: (waarde) De nieuwe helderheid als een getal tussen 0 (donker) en 9 (helder).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Kopieer een gebied van een andere afbeelding naar deze afbeelding.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: De bron afbeelding\n:param x: (\u0445) De begin kolom offset in de bron afbeelding\n:param y: De beginkolom offset in de bronafbeelding\n:param w: Het aantal te kopi\u00ebren kolommen\n:param h: (uur) Het aantal te kopi\u00ebren rijen\n:param xdest: De kolomverschuiving om aan te passen in deze afbeelding\n:param ydest: De kolomverschuiving om aan te passen in deze afbeelding\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Krijg een compacte tekenreeks die de afbeelding vertegenwoordigt.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Krijg een leesbare tekenreeks die de afbeelding vertegenwoordigt.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheidswaarden van de twee\nafbeeldingen voor elke pixel toe te voegen. (toevoegen)\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: (overige) De afbeelding om toe te voegen.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Maak een nieuw beeld door de helderheidswaarden van de andere afbeelding van deze afbeelding af te trekken.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: (overige) De afbeelding om af te trekken.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheid van elke pixel te vermenigvuldigen met\n``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: De waarde om te vermenigvuldigen.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheid van elke pixel te delen door\n``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: De waarde om mee te delen.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Vertegenwoordigt de transitie van geluidsgebeurtenissen, van ``quiet`` tot ``loud`` zoals klappen of roepen. (luid)\"\"\"\n QUIET: SoundEvent\n \"\"\"Vertegenwoordigt de transitie van geluidsgebeurtenissen, van ``loud`` tot ``quiet`` zoals spreken of achtergrondmuziek. (stil)\"\"\"\n\nclass Sound:\n \"\"\"De ingebouwde geluiden kunnen worden aangeroepen met ``audio.play(Sound.NAME)``. (geluid)\"\"\"\n GIGGLE: Sound\n \"\"\"Giechelgeluidjes (giechelen)\"\"\"\n HAPPY: Sound\n \"\"\"Blij geluid. (blij)\"\"\"\n HELLO: Sound\n \"\"\"Groet geluid. (hallo)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Mysterieus geluid. (mysterieus)\"\"\"\n SAD: Sound\n \"\"\"Droevig geluid. (verdrietig)\"\"\"\n SLIDE: Sound\n \"\"\"Glij geluid. (Veeg)\"\"\"\n SOARING: Sound\n \"\"\"Zweef geluid. (stijgend)\"\"\"\n SPRING: Sound\n \"\"\"Spring geluid. (veer)\"\"\"\n TWINKLE: Sound\n \"\"\"Twinkel geluid. (twinkeling)\"\"\"\n YAWN: Sound\n \"\"\"Geeuwgeluiden (geeuw)\"\"\"", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pinnen, afbeeldingen, geluiden, temperatuur en volume.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Plan om een functie uit te voeren volgens het interval dat gespecificeerd is door het time argument **V2 alleen**. (draai elke)\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Functie om op te roepen bij de meegeleverde interval. Weglaten wanneer je als decorator gebruikt.\n:param days: (dagen) Stelt de dag markering in voor de planning.\n:param h: (uur) Stelt de urenmarkering in voor de planning.\n:param min: Stelt de minuut markering in voor de planning.\n:param s: Stelt de seconde markering in voor de planning.\n:param ms: Stelt de milliseconde markering in voor de planning.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Voer een paniekmodus in. (paniek)\n\nExample: ``panic(127)``\n\n:param n: Een willekeurig geheel getal <= 255 om een status aan te geven.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Herstart het bord.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Zet een waarde om van een bereik naar een ander bereik van natuurlijke getallen. (schaal)\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: (waarde) Een getal om te converteren\n:param from_: (van) Een getallen paar wat het bereik aangeeft vanwaar je wilt converteren\n:param to: (naar) Een getallen paar om het bereik te defini\u00ebren waar je naar wilt converteren.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Zet een waarde om van een bereik naar een ander bereik van decimale getallen. (schaal)\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: (waarde) Een getal om te converteren\n:param from_: (van) Een getallen paar wat het bereik aangeeft vanwaar je wilt converteren\n:param to: (naar) Een getallen paar om het bereik te defini\u00ebren waar je naar wilt converteren.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Wacht op ``n`` milliseconden. (slapen)\n\nExample: ``sleep(1000)``\n\n:param n: Het aantal milliseconden te wachten\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Bekijk de looptijd van het bord. (looptijd)\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Krijg de temperatuur van de micro:bit in graden Celsius. (temperatuur)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Stelt het volume in. (stel volume in)\n\nExample: ``set_volume(127)``\n\n:param v: een waarde tussen 0 (laag) en 255 (hoog).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"De klasse voor de knoppen ``button_a`` en ``button_b``. (knop)\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Controleer of op de knop wordt gedrukt. (is ingedrukt)\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"Controleer of de knop was ingedrukt sinds het apparaat is gestart of de laatste keer dat deze methode is gebruikt. (was ingedrukt)\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Krijg het totale aantal ingedrukte knoppen en reset dit totaal\nnaar nul voordat u terugkeert. (zie knop acties)\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"Het object van de linker knop ``Button``. (knop a)\"\"\"\nbutton_b: Button\n\"\"\"Het object van de rechter knop ``Button``. (knop b)\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Een digitale pin\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Haal de digitale waarde van de pincode op. (digitaal lezen)\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Stel de digitale waarde van de pin in. (digitaal schrijven)\n\nExample: ``pin0.write_digital(1)``\n\n:param value: (waarde) 1 om de pin hoog of 0 om de pin laag in te stellen\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Zet de pull-status op een van de drie mogelijke waarden: ``PULL_UP``, ``PULL_DOWN`` of ``NO_PULL``. (pull instellen)\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: (waarde) De pull-status van de relevante pincode, bijvoorbeeld ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Bekijk de pull status van een pin. (pull instellen)\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Geeft de pinmodus weer. (Bekijk modus)\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Voer een PWM-signaal uit op de pin, waarbij de taakcyclus proportioneel is aan ``value``. (analoge schrijven)\n\nExample: ``pin0.write_analog(254)``\n\n:param value: (waarde) Een geheel getal of een zwevend punt getal tussen 0 (0% tariefcyclus) en 1023 (100% belasting).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Stel de periode in van het PWM-signaal dat uitgevoerd wordt naar ``period`` in milliseconden. (gebruik analoge periode)\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: (periode) De periode in milliseconden met een minimale geldige waarde van 1 ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Stel de periode in van het PWM-signaal dat uitgevoerd wordt naar ``period`` in milliseconden. (microseconden analoge periode instellen)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: (periode) De periode in microseconden met een minimumwaarde van 256 mres.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Een pin met analoge en digitale functies.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Lees de spanning op de pin. (lees analoge)\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Een pin met analoge, digitale en touch functies.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"Controleer of de pin aangeraakt wordt. (is aangeraakt)\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Stel de aanraakmodus voor de pin in. (aanraakmodus instellen)\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: (waarde) ``CAPACITIVE`` of ``RESISTIVE`` van de relevante speler.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin met digitale, analoge en touch functies.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Een aanraak gevoelige logo pin op de voorkant van de micro:bit, die standaard is ingesteld op capacitieve aanraking modus.\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Een pin om de micro:bit luidspreker aan te spreken. (pin luidspreker)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Een afbeelding om te laten zien op het micro:bit LED display. (afbeelding)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Hart afbeelding (hart)\"\"\"\n HEART_SMALL: Image\n \"\"\"Klein hart afbeelding. (hart klein)\"\"\"\n HAPPY: Image\n \"\"\"Blije gezichtsafbeelding. (blij)\"\"\"\n SMILE: Image\n \"\"\"Glimlach gezicht afbeelding. (glimlach)\"\"\"\n SAD: Image\n \"\"\"Droevige gezichtsafbeelding. (verdrietig)\"\"\"\n CONFUSED: Image\n \"\"\"Verward gezichtsafbeelding. (verward)\"\"\"\n ANGRY: Image\n \"\"\"Boos gezichtsafbeelding. (kwaad)\"\"\"\n ASLEEP: Image\n \"\"\"Slapend gezicht afbeelding. (in slaap)\"\"\"\n SURPRISED: Image\n \"\"\"Verraste gezichtsafbeelding. (verrast)\"\"\"\n SILLY: Image\n \"\"\"Gek gezichtsafbeelding. (gek)\"\"\"\n FABULOUS: Image\n \"\"\"Zonnebril gezichtsafbeelding. (fantastisch)\"\"\"\n MEH: Image\n \"\"\"Niet onder de indruk gezichtsafbeelding.\"\"\"\n YES: Image\n \"\"\"Aanvinken afbeelding. (ja)\"\"\"\n NO: Image\n \"\"\"Kruis afbeelding. (nee)\"\"\"\n CLOCK12: Image\n \"\"\"Afbeelding met lijn die naar 12.00 uur wijst. (klok 12)\"\"\"\n CLOCK11: Image\n \"\"\"Afbeelding met lijn die naar 11.00 uur wijst. (klok 11)\"\"\"\n CLOCK10: Image\n \"\"\"Afbeelding met lijn die naar 10.00 uur wijst. (klok 10)\"\"\"\n CLOCK9: Image\n \"\"\"Afbeelding met lijn die naar 9.00 uur wijst. (klok 9)\"\"\"\n CLOCK8: Image\n \"\"\"Afbeelding met lijn die naar 8.00 uur wijst. (klok 8)\"\"\"\n CLOCK7: Image\n \"\"\"Afbeelding met lijn die naar 7.00 uur wijst. (klok 7)\"\"\"\n CLOCK6: Image\n \"\"\"Afbeelding met lijn die naar 6.00 uur wijst. (klok 6)\"\"\"\n CLOCK5: Image\n \"\"\"Afbeelding met lijn die naar 5.00 uur wijst. (klok 5)\"\"\"\n CLOCK4: Image\n \"\"\"Afbeelding met lijn die naar 4.00 uur wijst. (klok 4)\"\"\"\n CLOCK3: Image\n \"\"\"Afbeelding met lijn die naar 3.00 uur wijst. (klok 3)\"\"\"\n CLOCK2: Image\n \"\"\"Afbeelding met lijn die naar 2 uur wijst. (klok2)\"\"\"\n CLOCK1: Image\n \"\"\"Afbeelding met lijn die naar 1 uur wijst. (klok1)\"\"\"\n ARROW_N: Image\n \"\"\"Afbeelding van pijl richting het noorden. (pijl n)\"\"\"\n ARROW_NE: Image\n \"\"\"Afbeelding van pijl richting het noord oosten. (pijl NO)\"\"\"\n ARROW_E: Image\n \"\"\"Afbeelding van pijl richting het oosten. (pijl e)\"\"\"\n ARROW_SE: Image\n \"\"\"Afbeelding van pijl richting het zuid-oosten. (pijl ZO)\"\"\"\n ARROW_S: Image\n \"\"\"Afbeelding van pijltje richting het zuiden. (pijl z)\"\"\"\n ARROW_SW: Image\n \"\"\"Afbeelding van pijl richting het zuid-westen. (pijl ZW)\"\"\"\n ARROW_W: Image\n \"\"\"Afbeelding van pijl richting het westen. (pijl w)\"\"\"\n ARROW_NW: Image\n \"\"\"Afbeelding van pijl richting het noord-westen. (pijl NW)\"\"\"\n TRIANGLE: Image\n \"\"\"Afbeelding van een driehoek die naar boven wijst. (driehoek)\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Afbeelding van een driehoek in de linker hoek. (Driehoek links)\"\"\"\n CHESSBOARD: Image\n \"\"\"Alternatieve LED's verlichten in een schaakbord patroon. (schaakbord)\"\"\"\n DIAMOND: Image\n \"\"\"Diamanten afbeelding. (diamant)\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Kleine diamanten afbeelding. (diamant klein)\"\"\"\n SQUARE: Image\n \"\"\"Vierkante afbeelding (vierkant)\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Kleine vierkante afbeelding. (vierkant klein)\"\"\"\n RABBIT: Image\n \"\"\"Konijn afbeelding. (konijn)\"\"\"\n COW: Image\n \"\"\"Koe afbeelding. (koe)\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Kwartnoot afbeelding. (muziek kwartnoot)\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Kwartnoot afbeelding. (muziek kwartnoot)\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Koppel van kwartnoten afbeelding. (muziek kwartnoten)\"\"\"\n PITCHFORK: Image\n \"\"\"Stemvork afbeelding. (stemvork)\"\"\"\n XMAS: Image\n \"\"\"Kerstboom afbeelding. (kerstmis)\"\"\"\n PACMAN: Image\n \"\"\"Pac-Man arcade karakterafbeelding. (Pacman)\"\"\"\n TARGET: Image\n \"\"\"Doel afbeelding. (doel)\"\"\"\n TSHIRT: Image\n \"\"\"T-shirt afbeelding.\"\"\"\n ROLLERSKATE: Image\n \"\"\"Rolschaats afbeelding. (rolschaatsen)\"\"\"\n DUCK: Image\n \"\"\"Eend afbeelding. (eend)\"\"\"\n HOUSE: Image\n \"\"\"Huis afbeelding. (huis)\"\"\"\n TORTOISE: Image\n \"\"\"Schildpad afbeelding. (schildpad)\"\"\"\n BUTTERFLY: Image\n \"\"\"Vlinder afbeelding. (vlinder)\"\"\"\n STICKFIGURE: Image\n \"\"\"Stok figuur afbeelding. (stok figuur)\"\"\"\n GHOST: Image\n \"\"\"Spook afbeelding. (spook)\"\"\"\n SWORD: Image\n \"\"\"Zwaard afbeelding. (zwaard)\"\"\"\n GIRAFFE: Image\n \"\"\"Giraffe afbeelding.\"\"\"\n SKULL: Image\n \"\"\"Schedel afbeelding. (doodshoofd)\"\"\"\n UMBRELLA: Image\n \"\"\"Paraplu afbeelding. (paraplu)\"\"\"\n SNAKE: Image\n \"\"\"Slang afbeelding. (slang)\"\"\"\n SCISSORS: Image\n \"\"\"Schaar afbeelding. (schaar)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Een lijst met alle CLOCK_ afbeeldingen achter elkaar. (alle klokken)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Een lijst met alle ARROW_ afbeeldingen in reeks. (alle pijlen)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Maak een afbeelding van een tekenreeks die beschrijft welke LED's zijn. (initialiseren)\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: (tekenreeks) De tekenreeks die de afbeelding beschrijft.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Maak een lege afbeelding met ``width`` kolommen en ``height`` rijen. (initialiseren)\n\n:param width: (breedte) Optionele breedte van de afbeelding\n:param height: (hoogte) Optionele hoogte van de afbeelding\n:param buffer: Optionele array of bytes van ``width``\u00d7``height`` integers in bereik 0-9 om de afbeelding te initialiseren\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Haal het aantal kolommen op. (breedte)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Krijg het aantal rijen. (hoogte)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Stel de helderheid van een pixel in. (pixel instellen)\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: (\u0445) Het kolom nummer\n:param y: Het rij nummer\n:param value: (waarde) De helderheid als een geheel getal tussen 0 (donker) en 9 (helder)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Krijg de helderheid van een pixel. (verkrijg pixel)\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: (\u0445) Het kolom nummer\n:param y: Het rij nummer\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding naar links te verschuiven. (verschuiving naar links)\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: Het aantal te verschuiven kolommen\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding rechts te verschuiven. (verschuif Rechts)\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: Het aantal te verschuiven kolommen\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding omhoog te schuiven. (verschuiving omhoog)\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: Het aantal rijen om te verschuiven met\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding omlaag te verschuiven. (verschuif omlaag)\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: Het aantal rijen om te verschuiven met\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding bij te snijden. (bij snijden)\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: (\u0445) De kolom verschuiving\n:param y: De rij verschuiving\n:param w: De bij snij breedte\n:param h: (uur) Hoogte bijsnijden\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Maak een exacte kopie van de afbeelding. (kopi\u00eber)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheid van de pixels in de\nbronafbeelding om te draaien. (omkeren)\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Stel de helderheid van alle pixels in de afbeelding in. (opvullen)\n\nExample: ``my_image.fill(5)``\n\n:param value: (waarde) De nieuwe helderheid als een getal tussen 0 (donker) en 9 (helder).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Kopieer een gebied van een andere afbeelding naar deze afbeelding.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: De bron afbeelding\n:param x: (\u0445) De begin kolom offset in de bron afbeelding\n:param y: De beginkolom offset in de bronafbeelding\n:param w: Het aantal te kopi\u00ebren kolommen\n:param h: (uur) Het aantal te kopi\u00ebren rijen\n:param xdest: De kolomverschuiving om aan te passen in deze afbeelding\n:param ydest: De kolomverschuiving om aan te passen in deze afbeelding\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Krijg een compacte tekenreeks die de afbeelding vertegenwoordigt.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Krijg een leesbare tekenreeks die de afbeelding vertegenwoordigt.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheidswaarden van de twee\nafbeeldingen voor elke pixel toe te voegen. (toevoegen)\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: (overige) De afbeelding om toe te voegen.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Maak een nieuw beeld door de helderheidswaarden van de andere afbeelding van deze afbeelding af te trekken.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: (overige) De afbeelding om af te trekken.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheid van elke pixel te vermenigvuldigen met\n``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: De waarde om te vermenigvuldigen.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheid van elke pixel te delen door\n``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: De waarde om mee te delen.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Vertegenwoordigt de transitie van geluidsgebeurtenissen, van ``quiet`` tot ``loud`` zoals klappen of roepen. (luid)\"\"\"\n QUIET: SoundEvent\n \"\"\"Vertegenwoordigt de transitie van geluidsgebeurtenissen, van ``loud`` tot ``quiet`` zoals spreken of achtergrondmuziek. (stil)\"\"\"\n\nclass Sound:\n \"\"\"De ingebouwde geluiden kunnen worden aangeroepen met ``audio.play(Sound.NAME)``. (geluid)\"\"\"\n GIGGLE: Sound\n \"\"\"Giechelgeluidjes (giechelen)\"\"\"\n HAPPY: Sound\n \"\"\"Blij geluid. (blij)\"\"\"\n HELLO: Sound\n \"\"\"Groet geluid. (hallo)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Mysterieus geluid. (mysterieus)\"\"\"\n SAD: Sound\n \"\"\"Droevig geluid. (verdrietig)\"\"\"\n SLIDE: Sound\n \"\"\"Glij geluid. (Veeg)\"\"\"\n SOARING: Sound\n \"\"\"Zweef geluid. (stijgend)\"\"\"\n SPRING: Sound\n \"\"\"Spring geluid. (veer)\"\"\"\n TWINKLE: Sound\n \"\"\"Twinkel geluid. (twinkeling)\"\"\"\n YAWN: Sound\n \"\"\"Geeuwgeluiden (geeuw)\"\"\"", "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Meet de versnelling van de micro:bit en herken gebaren. (acceleratiemeter)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Krijg de acceleratiemeting in de ``x`` as in milli-g. (krijg x)\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Krijg de acceleratiemeting in de ``y`` as in milli-g. (krijg y)\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Krijg de acceleratiemeter meting in de ``z`` as in milli-g. (krijg z)\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Verkrijg de acceleratiemeter metingen in alle assen tegelijk als een tupel. (krijg waarden)\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Krijg de versnelling meting van alle assen gecombineerd, als een positief getal. Dit is de Pythagorische som van de X, Y en Z assen. (krijg sterkte)\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Verkrijg de naam van het huidige gebaar. (huidig gebaar)\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Controleer of het benoemde gebaar momenteel actief is. (is gebaren)\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (naam) De naam van het gebaar.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Controleer of het benoemde gebaar actief was sinds het laatste gesprek. (was gebaren)\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (naam) De naam van het gebaar.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Geeft als resultaat een reeks van de gebaren geschiedenis. (verkrijg gebaren)\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Stel het gevoeligheidsbereik van de acceleratiemeter, in g (standaard zwaartekracht), in op de dichtstbijzijnde waarden die door de hardware worden ondersteund, zodat het wordt afgerond op ``2``, ``4`` of ``8`` g. (kies bereik)\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: (waarde) Nieuwe bereik voor de acceleratiemeter, een geheel getal in ``g``.\"\"\"", - "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Geluid afspelen met behulp van de micro:bit (importeer ``audio`` voor V1 compatibiliteit).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Een ingebouwde geluid, geluids effect of aangepaste audio frames afspelen. (afspelen)\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (bron) Een ingebouwde ``Sound`` zoals ``Sound.GIGGLE``, een ``SoundEffect`` of voorbeeldgegevens als een iteratie van ``AudioFrame`` objecten.\n:param wait: (wacht) Als ``wait`` ``True``is, wordt deze functie geblokkeerd totdat het geluid is voltooid.\n:param pin: Een optioneel argument om de uitvoerpin op te geven kan worden gebruikt om de standaard van ``pin0``te overschrijven. Als we geen geluid willen afspelen, kunnen we ``pin=None`` gebruiken.\n:param return_pin: (retourneer pin) Specificeert een differenti\u00eble rand connector pin om verbinding te maken met een externe luidspreker in plaats van de grond. Dit wordt genegeerd voor de **V2** herziening.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Controleer of een geluid wordt gespeeld. (speelt af)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stop het afspelen van de audio.\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Een geluidseffect, bestaande uit een set parameters geconfigureerd via de constructor of attributen.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"De sinusgolf optie gebruikt voor de ``waveform`` parameter. (golfvorm sinus)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Zaag golf optie gebruikt voor de ``waveform`` parameter. (golfvorm zaagtand)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"De drie hoeks golf optie gebruikt voor de ``waveform`` parameter. (golfvorm driehoek)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Blok golf optie die wordt gebruikt voor de parameter ``waveform``. (golfvorm vierkant)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise optie gebruikt voor de ``waveform`` parameter. (golfvormig geluid)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Lineaire interpolatie optie die wordt gebruikt voor de ``shape`` parameter. (vorm lineair)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolatie optie gebruikt voor de ``shape`` parameter. (vorm curve)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logaritmische interpolatie optie gebruikt voor de ``shape`` parameter. (vorm log)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Geen effectoptie gebruikt voor de ``fx`` parameter. (geen fx)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremelo effect optie die wordt gebruikt voor de ``fx`` parameter.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect optie die wordt gebruikt voor de ``fx`` parameter.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect optie die wordt gebruikt voor de ``fx`` parameter .\"\"\"\n freq_start: int\n \"\"\"Start frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999`` (frequentie start)\"\"\"\n freq_end: int\n \"\"\"Eind frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999`` (frequentie einde)\"\"\"\n duration: int\n \"\"\"Duur van het geluid in milliseconden, een getal tussen ``0`` en ``9999`` (Duur)\"\"\"\n vol_start: int\n \"\"\"Start volume waarde, een getal tussen ``0`` en ``255``\"\"\"\n vol_end: int\n \"\"\"Eind volume waarde, een getal tussen ``0`` en ``255`` (vol einde)\"\"\"\n waveform: int\n \"\"\"Type van golfvorm, \u00e9\u00e9n van deze waarden: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (willekeurig gegenereerde lawaai) (golfvorm)\"\"\"\n fx: int\n \"\"\"Effect om aan het geluid toe te voegen, een van de volgende waarden: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``of ``FX_NONE``\"\"\"\n shape: int\n \"\"\"Het type van de interpolatie curve tussen de begin- en eind frequenties, verschillende golfvormen hebben verschillende snelheid bij het wijzigen van de frequentie. Een van de volgende waarden: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG`` (vorm)\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Maak een nieuw geluidseffect. (initialiseren)\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (frequentie start) Start frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999``.\n:param freq_end: (frequentie einde) Eind frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999``.\n:param duration: (duur) Duur van het geluid in milliseconden, een getal tussen ``0`` en ``9999``.\n:param vol_start: Startvolumewaarde, een getal tussen ``0`` en ``255``.\n:param vol_end: (vol einde) Eindvolumewaarde, een getal tussen ``0`` en ``255``.\n:param waveform: (golfvorm) Type golfvorm, \u00e9\u00e9n van deze waarden: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (willekeurig gegenereerde geluid).\n:param fx: Effect om het geluid toe te voegen, een van de volgende waarden: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``of ``FX_NONE``.\n:param shape: (vorm) Het type van de interpolatie curve tussen de begin- en eind frequenties, verschillende golfvormen hebben verschillende snelheid bij het wijzigen van de frequentie. Een van de volgende waarden: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Maak een kopie van dit ``SoundEffect``. (kopi\u00eber)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Een ``AudioFrame`` object is een lijst van 32 samples elk een niet-ondertekende byte\n(geheel getal tussen 0 en 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overschrijf de gegevens in deze ``AudioFrame`` met de gegevens van een andere ``AudioFrame`` instantie. (kopieer van)\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (overige) ``AudioFrame`` exemplaar van waar de gegevens worden gekopieerd.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Geluid afspelen met behulp van de micro:bit (importeer ``audio`` voor V1 compatibiliteit).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Een ingebouwde geluid, geluids effect of aangepaste audio frames afspelen. (afspelen)\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (bron) Een ingebouwde ``Sound`` zoals ``Sound.GIGGLE``, een ``SoundEffect`` of voorbeeldgegevens als een iteratie van ``AudioFrame`` objecten.\n:param wait: (wacht) Als ``wait`` ``True``is, wordt deze functie geblokkeerd totdat het geluid is voltooid.\n:param pin: Een optioneel argument om de uitvoerpin op te geven kan worden gebruikt om de standaard van ``pin0``te overschrijven. Als we geen geluid willen afspelen, kunnen we ``pin=None`` gebruiken.\n:param return_pin: (retourneer pin) Specificeert een differenti\u00eble rand connector pin om verbinding te maken met een externe luidspreker in plaats van de grond. Dit wordt genegeerd voor de **V2** herziening.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Controleer of een geluid wordt gespeeld. (speelt af)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stop het afspelen van de audio.\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Een geluidseffect, bestaande uit een set parameters geconfigureerd via de constructor of attributen.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"De sinusgolf optie gebruikt voor de ``waveform`` parameter. (golfvorm sinus)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Zaag golf optie gebruikt voor de ``waveform`` parameter. (golfvorm zaagtand)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"De drie hoeks golf optie gebruikt voor de ``waveform`` parameter. (golfvorm driehoek)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Blok golf optie die wordt gebruikt voor de parameter ``waveform``. (golfvorm vierkant)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise optie gebruikt voor de ``waveform`` parameter. (golfvormig geluid)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Lineaire interpolatie optie die wordt gebruikt voor de ``shape`` parameter. (vorm lineair)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolatie optie gebruikt voor de ``shape`` parameter. (vorm curve)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logaritmische interpolatie optie gebruikt voor de ``shape`` parameter. (vorm log)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Geen effectoptie gebruikt voor de ``fx`` parameter. (geen fx)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect optie die wordt gebruikt voor de ``fx`` parameter.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect optie die wordt gebruikt voor de ``fx`` parameter.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect optie die wordt gebruikt voor de ``fx`` parameter .\"\"\"\n freq_start: int\n \"\"\"Start frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999`` (frequentie start)\"\"\"\n freq_end: int\n \"\"\"Eind frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999`` (frequentie einde)\"\"\"\n duration: int\n \"\"\"Duur van het geluid in milliseconden, een getal tussen ``0`` en ``9999`` (Duur)\"\"\"\n vol_start: int\n \"\"\"Start volume waarde, een getal tussen ``0`` en ``255``\"\"\"\n vol_end: int\n \"\"\"Eind volume waarde, een getal tussen ``0`` en ``255`` (vol einde)\"\"\"\n waveform: int\n \"\"\"Type van golfvorm, \u00e9\u00e9n van deze waarden: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (willekeurig gegenereerde lawaai) (golfvorm)\"\"\"\n fx: int\n \"\"\"Effect om aan het geluid toe te voegen, een van de volgende waarden: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``of ``FX_NONE``\"\"\"\n shape: int\n \"\"\"Het type van de interpolatie curve tussen de begin- en eind frequenties, verschillende golfvormen hebben verschillende snelheid bij het wijzigen van de frequentie. Een van de volgende waarden: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG`` (vorm)\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Maak een nieuw geluidseffect. (initialiseren)\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (frequentie start) Start frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999``.\n:param freq_end: (frequentie einde) Eind frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999``.\n:param duration: (duur) Duur van het geluid in milliseconden, een getal tussen ``0`` en ``9999``.\n:param vol_start: Startvolumewaarde, een getal tussen ``0`` en ``255``.\n:param vol_end: (vol einde) Eindvolumewaarde, een getal tussen ``0`` en ``255``.\n:param waveform: (golfvorm) Type golfvorm, \u00e9\u00e9n van deze waarden: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (willekeurig gegenereerde geluid).\n:param fx: Effect om het geluid toe te voegen, een van de volgende waarden: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``of ``FX_NONE``.\n:param shape: (vorm) Het type van de interpolatie curve tussen de begin- en eind frequenties, verschillende golfvormen hebben verschillende snelheid bij het wijzigen van de frequentie. Een van de volgende waarden: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Maak een kopie van dit ``SoundEffect``. (kopi\u00eber)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Een ``AudioFrame`` object is een lijst van 32 samples elk een niet-ondertekende byte\n(geheel getal tussen 0 en 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overschrijf de gegevens in deze ``AudioFrame`` met de gegevens van een andere ``AudioFrame`` instantie. (kopieer van)\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (overige) ``AudioFrame`` exemplaar van waar de gegevens worden gekopieerd.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Gebruik het ingebouwde kompas. (kompas)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Start het kalibratieproces. (Kalibreren)\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Controleer of het kompas is gekalibreerd. (gekalibreerd)\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Kalibratie ongedaan maken, waardoor het kompas weer losgemaakt wordt. (kalibratie wissen)\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Krijg de magnetische veldsterkte op de ``x`` as. (krijg x)\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Krijg de magnetische veldsterkte op de ``y`` as. (krijg y)\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Krijg de magnetische veldsterkte op de ``z`` as. (krijg z)\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Haal de kompaskop op. (kop)\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Krijg de magnitude van het magnetische veld rond het apparaat. (krijg veldsterkte)\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Tekst, afbeeldingen en animaties weergeven op het 5\u00d75 LED-weergave.\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Krijg de helderheid van de LED in kolom ``x`` en rij ``y``. (verkrijg pixel)\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: (\u0445) De weergavekolom (0..4)\n:param y: De weergave rij (0.4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Stel de helderheid van de LED in op kolom ``x`` en rij ``y``. (pixel instellen)\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: (\u0445) De weergavekolom (0..4)\n:param y: De weergave rij (0.4)\n:param value: (waarde) De helderheid tussen 0 (uit) en 9 (helderst)\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Stel de helderheid van alle LED's in op 0 (uit). (wissen)\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"Toont afbeeldingen, letters of cijfers op het LED-scherm. (toon)\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: (afbeelding) Een string, nummer, afbeelding of lijst van weer te geven afbeeldingen.\n:param delay: (vertraging) Elke letter, cijfer of afbeelding wordt weergegeven met ``delay`` milliseconden tussen hen.\n:param wait: (wacht) Als ``wait`` ``True``is, blokkeert deze functie totdat de animatie is voltooid, anders gebeurt de animatie op de achtergrond.\n:param loop: Als ``loop`` ``True``is, zal de animatie voor altijd herhalen.\n:param clear: (wissen) Als ``clear`` ``True``is, wordt het scherm gewist nadat de reeks is voltooid.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"Scrolt een nummer of tekst op het LED display (scrollen)\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: (tekst) De tekenreeks om te scrollen. Als ``text`` een geheel getal of float is, wordt het eerst geconverteerd naar een tekenreeks met behulp van ``str()``.\n:param delay: (vertraging) De parameter ``delay`` bepaalt hoe snel de tekst scrolt.\n:param wait: (wacht) Als ``wait`` ``True``is, blokkeert deze functie totdat de animatie is voltooid, anders gebeurt de animatie op de achtergrond.\n:param loop: Als ``loop`` ``True``is, zal de animatie voor altijd herhalen.\n:param monospace: Als ``monospace`` ``True`` is, nemen de tekens allemaal 5 pixel kolommen in de breedte in beslag, anders staat er precies 1 lege pixelkolom tussen elk teken terwijl ze scrollen.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Schakel het LED display in. (aan)\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Het uitschakelen van het LED display (uitschakelen van het scherm geeft je de mogelijkheid om de GPIO-pinnen opnieuw te gebruiken voor andere doeleinden). (uit)\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Controleer of de LED-weergave is ingeschakeld. (staat aan)\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Lees het licht niveau. (lees licht niveau)\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", - "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communiceer met apparaten met behulp van het I\u00b2C bus protocol.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Initialiseer een randapparaat opnieuw. (initialiseren)\n\nExample: ``i2c.init()``\n\n:param freq: (frequentie) klok frequentie\n:param sda: ``sda`` pin (standaard 20)\n:param scl: ``scl`` pin (standaard 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scan de bus op apparaten. (scannen)\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Lees bytes van een apparaat.. (lezen)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: Het 7-bit adres van het apparaat\n:param n: Het aantal te lezen bytes\n:param repeat: (herhaal) Als ``True``, zal er geen stop bit worden verzonden\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Schrijven van bytes naar een apparaat. (schrijven)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: Het 7-bit adres van het apparaat\n:param buf: Een buffer met de te schrijven bytes\n:param repeat: (herhaal) Als ``True``, zal er geen stop bit worden verzonden\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communiceer met apparaten met behulp van het I\u00b2C bus protocol.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Initialiseer een randapparaat opnieuw. (initialiseren)\n\nExample: ``i2c.init()``\n\n:param freq: (frequentie) klok frequentie\n:param sda: ``sda`` pin (standaard 20)\n:param scl: ``scl`` pin (standaard 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scan de bus op apparaten. (scannen)\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Lees bytes van een apparaat. (lezen)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: Het 7-bit adres van het apparaat\n:param n: Het aantal te lezen bytes\n:param repeat: (herhaal) Als ``True``, zal er geen stop bit worden verzonden\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Schrijven van bytes naar een apparaat. (schrijven)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: Het 7-bit adres van het apparaat\n:param buf: Een buffer met de te schrijven bytes\n:param repeat: (herhaal) Als ``True``, zal er geen stop bit worden verzonden\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Reageer op geluid met de ingebouwde microfoon (V2 alleen). (microfoon)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Krijg de laatst opgenomen geluidsgebeurtenis (huidige gebeurtenis)\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Controleer of een geluid tenminste \u00e9\u00e9n keer is gehoord sinds het laatste gesprek.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (gebeurtenis) Het te controleren evenement, zoals ``SoundEvent.LOUD`` of ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Controleer de meest recente geluidsgebeurtenis gedetecteerd.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (gebeurtenis) Het te controleren evenement, zoals ``SoundEvent.LOUD`` of ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Krijg de geluidsgeschiedenis als tuple.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Stel de drempel in voor een geluidsgebeurtenis. (stel drempelwaarde in)\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (gebeurtenis) Een geluidsgebeurtenis, zoals ``SoundEvent.LOUD`` of ``SoundEvent.QUIET``.\n:param value: (waarde) Het drempelniveau in het bereik 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Krijg het Geluidsdrukniveau. (geluidsniveau)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Beheer de ingebouwde luidspreker (alleen V2). (luidspreker)\"\"\"\n\ndef off() -> None:\n \"\"\"Luidspreker uitschakelen. (uit)\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Luidspreker inschakelen (aan)\n\nExample: ``speaker.on()``\"\"\"\n ...", "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communiceer met apparaten met behulp van de seri\u00eble perifere interface (SPI) bus.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Initialiseer SPI communicatie. (initialiseren)\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: De snelheid van de communicatie.\n:param bits: De breedte in bits van elke overdracht. Momenteel wordt alleen ``bits=8`` ondersteund. Dit kan echter veranderen in de toekomst.\n:param mode: (modus) Bepaalt de combinatie van klokpolariteit en fase - `zie online tabel `_.\n:param sclk: sclk pin (standaard 13)\n:param mosi: mosi pin (standaard 15)\n:param miso: miso pin (standaard 14)\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"Lees bytes. (lezen)\n\nExample: ``spi.read(64)``\n\n:param nbytes: Maximum aantal te lezen bytes.\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Schrijf bytes naar de bus. (schrijven)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: Een buffer om gegevens van te lezen.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Schrijf de ``out`` buffer naar de bus en lees elke reactie in de ``in_`` buffer. (schrijf readinto)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (uit) De buffer om een reactie naar te schrijven.\n:param in_: De buffer om gegevens van te lezen.\"\"\"\n ...", diff --git a/src/micropython/main/typeshed.zh-cn.json b/src/micropython/main/typeshed.zh-cn.json index 1dc05ab58..622feab42 100644 --- a/src/micropython/main/typeshed.zh-cn.json +++ b/src/micropython/main/typeshed.zh-cn.json @@ -14,7 +14,7 @@ "/typeshed/stdlib/math.pyi": "\"\"\"\u6570\u5b66\u51fd\u6570\u3002 (\u6570\u5b66)\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"\u8ba1\u7b97\u53cd\u4f59\u5f26\u3002\n\nExample: ``math.acos(1)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"\u8ba1\u7b97\u53cd\u6b63\u5f26\u503c\u3002\n\nExample: ``math.asin(0)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"\u8ba1\u7b97\u53cd\u6b63\u5207\u3002\n\nExample: ``math.atan(0)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"\u8ba1\u7b97 ``y/x`` \u7684\u53cd\u6b63\u5207\u7684\u4e3b\u503c\u3002\n\nExample: ``math.atan2(0, -1)``\n\n:param y: \u4e00\u4e2a\u6570\u5b57\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"\u5c06\u6570\u5b57\u5411\u6b63\u65e0\u7a77\u5927\u53d6\u6574(\u5411\u4e0a\u53d6\u6574)\n\nExample: ``math.ceil(0.1)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"\u83b7\u53d6 ``y`` \u7684\u7b26\u53f7\u548c ``x`` \u7684\u7edd\u5bf9\u503c\u3002\n\nExample: ``math.copysign(1, -1)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:param y: \u8fd4\u56de\u503c\u7684\u7b26\u53f7\u6765\u6e90\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"\u8ba1\u7b97 ``x`` \u7684\u4f59\u5f26\u3002\n\nExample: ``math.cos(0)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"\u5c06\u5f27\u5ea6\u8f6c\u6362\u4e3a\u5ea6\u3002\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: \u4e00\u4e2a\u4ee5\u5f27\u5ea6\u4e3a\u5355\u4f4d\u7684\u503c\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"\u8ba1\u7b97 E \u7684 ``x`` \u6307\u6570\u3002\n\nExample: ``math.exp(1)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"\u8fd4\u56de ``x`` \u7684\u7edd\u5bf9\u503c\u3002\n\nExample: ``math.fabs(-0.1)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"\u5c06\u6570\u5b57\u5411\u8d1f\u65e0\u7a77\u5927\u53d6\u6574(\u5411\u4e0b\u53d6\u6574)\u3002 (\u5411\u4e0b\u53d6\u6574)\n\nExample: ``math.floor(0.9)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"\u8ba1\u7b97 ``x/y`` \u7684\u4f59\u6570\u3002 (\u6d6e\u70b9\u4f59\u6570)\n\nExample: ``math.fmod(10, 3)``\n\n:param x: \u5206\u5b50\n:param y: \u5206\u6bcd\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"\u5c06\u4e00\u4e2a\u6d6e\u70b9\u6570\u5206\u89e3\u4e3a\u5176\u5c3e\u6570\u548c\u6307\u6570\u3002 (\u6d6e\u70b9\u6307\u6570)\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: \u4e00\u4e2a\u6d6e\u70b9\u6570\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"\u68c0\u67e5\u503c\u662f\u5426\u6709\u9650\u3002 (\u662f\u6709\u9650\u7684)\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\u3002\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"\u68c0\u67e5\u503c\u662f\u5426\u65e0\u9650\u3002 (\u662f\u65e0\u9650\u7684)\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\u3002\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"\u68c0\u67e5\u4e00\u4e2a\u503c\u662f\u5426\u4e0d\u662f\u4e00\u4e2a\u6570\u5b57 (NaN)\u3002 (\u4e0d\u662f\u6570\u5b57)\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"\u8ba1\u7b97 ``x * (2**exp)`` \u3002 (\u52a0\u8f7d\u6307\u6570)\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:param exp: \u6574\u6570\u6307\u6570\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"\u8ba1\u7b97\u7ed9\u5b9a\u5e95\u6570 ``x`` \u7684\u5bf9\u6570\uff08\u9ed8\u8ba4\u4e3a\u81ea\u7136\u5bf9\u6570\uff09\u3002 (\u65e5\u5fd7)\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:param base: \u8981\u4f7f\u7528\u7684\u5e95\u6570\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"\u8ba1\u7b97 ``x`` \u7684\u5c0f\u6570\u548c\u6574\u6570\u90e8\u5206\u3002 (\u6d6e\u70b9\u53d6\u6a21)\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"\u8fd4\u56de ``x`` \u7684 ``y``\u6b21\u5e42\u3002 (\u5e42\u6570)\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:param y: \u6307\u6570\u503c\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"\u5c06\u5ea6\u6570\u8f6c\u6362\u4e3a\u5f27\u5ea6\u3002\n\nExample: ``math.radians(360)``\n\n:param x: \u4ee5\u5ea6\u4e3a\u5355\u4f4d\u7684\u503c\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"\u8ba1\u7b97 ``x`` \u7684\u6b63\u5f26\u503c\u3002 (\u6b63\u5f26)\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"\u8ba1\u7b97 ``x`` \u7684\u5e73\u65b9\u6839\u3002 (\u5e73\u65b9\u6839)\n\nExample: ``math.sqrt(4)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"\u8ba1\u7b97 ``x`` \u7684\u6b63\u5207\u3002 (\u6b63\u5207)\n\nExample: ``math.tan(0)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"\u5c06\u6570\u5b57\u5411 0 \u820d\u5165\u3002 (\u622a\u65ad)\n\nExample: ``math.trunc(-0.9)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"\u81ea\u7136\u5bf9\u6570\u7684\u5e95\u6570\"\"\"\npi: float\n\"\"\"\u5706\u7684\u5468\u957f\u4e0e\u5176\u76f4\u5f84\u7684\u6bd4\u503c\"\"\"", "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython \u5185\u8bbe\u3002 (MicroPython)\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"\u7528\u4e8e\u58f0\u660e\u8868\u8fbe\u5f0f\u662f\u4e00\u4e2a\u5e38\u91cf\uff0c\u4ee5\u4fbf\u7f16\u8bd1\u5668\u53ef\u4ee5\u4f18\u5316\u5b83\u3002 (\u5e38\u6570)\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: (\u8868\u8fbe\u5f0f) \u4e00\u4e2a\u5e38\u91cf\u8868\u8fbe\u5f0f\u3002\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"\u83b7\u53d6\u811a\u672c\u7f16\u8bd1\u7684\u5f53\u524d\u4f18\u5316\u7ea7\u522b\u3002 (\u4f18\u5316\u7ea7\u522b)\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"\u8bbe\u7f6e\u540e\u7eed\u811a\u672c\u7f16\u8bd1\u7684\u4f18\u5316\u7ea7\u522b\u3002 (\u4f18\u5316\u7ea7\u522b)\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: (\u7ea7\u522b) \u6574\u6570\u4f18\u5316\u7ea7\u522b\u3002\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"\u6253\u5370\u4e0e\u5f53\u524d\u4f7f\u7528\u5185\u5b58\u76f8\u5173\u7684\u4fe1\u606f\u3002\n\nExample: ``micropython.mem_info()``\n\n:param verbose: (\u8be6\u7ec6) \u5982\u679c\u7ed9\u51fa ``verbose`` \u53c2\u6570\uff0c\u5219\u6253\u5370\u989d\u5916\u4fe1\u606f\u3002\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"\u6253\u5370\u4e0e\u5f53\u524d\u9a7b\u7559\u5b57\u7b26\u4e32\u76f8\u5173\u7684\u4fe1\u606f\u3002 (\u5b57\u7b26\u4e32\u4fe1\u606f)\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: (\u8be6\u7ec6) \u5982\u679c\u7ed9\u51fa ``verbose`` \u53c2\u6570\uff0c\u5219\u6253\u5370\u989d\u5916\u4fe1\u606f\u3002\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"\u8fd4\u56de\u4e00\u4e2a\u6574\u6570\uff0c\u6765\u8868\u793a\u5f53\u524d\u6b63\u5728\u4f7f\u7528\u7684\u5806\u6808\u6570\u91cf\u3002 (\u5806\u6808\u4f7f\u7528)\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"\u9501\u5b9a\u5806\u3002 (\u9501\u4f4f\u5806)\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"\u89e3\u9501\u5806\u3002 (\u89e3\u9501\u5806)\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"\u8bbe\u7f6e\u5c06\u5f15\u53d1``KeyboardInterrupt``\u5f02\u5e38\u7684\u5b57\u7b26\u3002 (\u952e\u76d8\u4e2d\u65ad)\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: (\u5b57\u7b26) \u7528\u4e8e\u63d0\u9ad8\u4e2d\u65ad\u7684\u5b57\u7b26\u4ee3\u7801\uff1b\u6216\u8005-1\uff0c\u7528\u4e8e\u7981\u6b62\u6355\u83b7 Ctrl-C\u3002\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", "/typeshed/stdlib/music.pyi": "\"\"\"\u521b\u5efa\u5e76\u64ad\u653e\u65cb\u5f8b\u3002 (\u97f3\u4e50)\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u300a\u8d1d\u591a\u82ac C \u5c0f\u8c03\u7b2c\u4e94\u4ea4\u54cd\u66f2\u300b\u5f00\u573a\u66f2\u3002\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u65af\u79d1\u7279\u00b7\u4e54\u666e\u6797\u7684\u62c9\u683c\u6cf0\u59c6\u7ecf\u5178\u201c\u6f14\u827a\u4eba\u201d\u7684\u5f00\u573a\u7247\u6bb5\u3002 (\u6f14\u827a\u4eba)\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7ea6\u7ff0\u00b7\u585e\u5df4\u65af\u8482\u5b89\u00b7\u5df4\u8d6b48\u9996\u524d\u594f\u66f2\u548c\u8d4b\u683c\u66f2\u4e2d C \u5927\u8c03\u7b2c\u4e00\u524d\u594f\u66f2\u7684\u5f00\u573a\u3002 (\u5e8f\u5e55)\"\"\"\nODE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8d1d\u591a\u82ac D \u5c0f\u8c03\u7b2c\u4e5d\u4ea4\u54cd\u66f2\u4e2d\u7684\u201c\u6b22\u4e50\u9882\u201d\u4e3b\u9898\u3002 (\u6b22\u4e50\u9882)\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u5f69\u8679\u732b\u4e3b\u9898 (http://www.nyan.cat/)\u3002 (\u5f69\u8679\u732b)\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u542c\u8d77\u6765\u50cf\u624b\u673a\u94c3\u58f0\u7684\u4e50\u66f2\u3002 (\u94c3\u58f0)\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u4e00\u66f2\u4e3a\u7279\u5de5\u548c\u72af\u7f6a\u4e3b\u8c0b\u5236\u4f5c\u7684 funky bass\u3002 (\u670b\u514b)\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u5e03\u5409\u4f0d\u5409 12 \u5c0f\u8282\u5e03\u9c81\u65af walking bass\u3002 (\u5e03\u9c81\u65af)\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u201c\u795d\u4f60\u751f\u65e5\u5feb\u4e50\u2026\u2026\u201d (\u751f\u65e5)\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u74e6\u683c\u7eb3\u6b4c\u5267\u300a\u7f57\u6069\u683c\u6797\u300b\u4e2d\u7684\u65b0\u5a18\u5408\u5531\u3002 (\u5a5a\u793c)\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u201c\u846c\u793c\u8fdb\u884c\u66f2\u201d\uff0c\u4e5f\u88ab\u79f0\u4e3a\u5f17\u96f7\u5fb7\u91cc\u514b\u8096\u90a6\u7684 B\u266d \u5c0f\u8c03\u7b2c\u4e8c\u94a2\u7434\u594f\u9e23\u66f2\uff0cOp. 35\u3002 (\u54c0\u4e50)\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u4e00\u4e2a\u6709\u8da3\u7684\u7247\u6bb5\uff0c\u8868\u793a\u5f00\u4e86\u4e00\u4e2a\u73a9\u7b11\u3002 (\u7b11\u70b9)\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7ea6\u7ff0\u00b7\u83f2\u5229\u666e\u00b7\u82cf\u8428\u7684\u8fdb\u884c\u66f2\u300a\u81ea\u7531\u949f\u300b\uff0c\u5373\u300a\u5de8\u87d2\u5267\u56e2\u4e4b\u98de\u7fd4\u7684\u9a6c\u620f\u56e2\u300b\u7684\u4e3b\u9898\u66f2\uff08Python \u7f16\u7a0b\u8bed\u8a00\u4ee5\u6b64\u547d\u540d\uff09\u3002 (Python)\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u9ed8\u7247\u65f6\u4ee3\u53cd\u9762\u89d2\u8272\u7684\u5165\u573a\u66f2\u3002 (\u53cd\u9762\u89d2\u8272)\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u65e0\u58f0\u7535\u5f71\u65f6\u4ee3\u7684\u8ffd\u9010\u573a\u666f\u3002 (\u8ffd\u9010)\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8868\u793a\u67d0\u4e8b\u53d1\u751f\u7684\u7b80\u77ed\u4fe1\u53f7\u3002\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u975e\u5e38\u60b2\u4f24\u7684\u957f\u53f7\u3002\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7528\u4e8e\u6e38\u620f\u4e2d\uff0c\u8868\u793a\u5411\u4e0a\u8fd0\u52a8\u3002 (\u5411\u4e0a\u8df3)\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7528\u4e8e\u6e38\u620f\u4e2d\uff0c\u8868\u793a\u5411\u4e0b\u8fd0\u52a8\u3002 (\u5411\u4e0b\u8df3)\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8868\u793a\u89e3\u9501\u6210\u5c31\u7684\u53f7\u89d2\u3002 (\u80fd\u529b\u589e\u5f3a)\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8868\u793a\u5931\u53bb\u6210\u5c31\u7684\u60b2\u4f24\u53f7\u89d2\u3002 (\u80fd\u529b\u51cf\u5f31)\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"\u8bbe\u7f6e\u64ad\u653e\u7684\u5927\u81f4\u8282\u594f\u3002 (\u8bbe\u7f6e\u8282\u594f)\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: (\u523b\u5ea6) \u6784\u6210\u4e00\u4e2a\u8282\u62cd\u7684\u523b\u5ea6\u6570\u3002\n:param bpm: (\u6bcf\u5206\u949f\u8282\u62cd\u6570) \u4e00\u4e2a\u6574\u6570\uff0c\u786e\u5b9a\u6bcf\u5206\u949f\u6709\u591a\u5c11\u62cd\u3002\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"\u4ee5\u6574\u6570\u5143\u7ec4\u7684\u5f62\u5f0f\u83b7\u53d6\u5f53\u524d\u8282\u594f\uff1a``(ticks, bpm)``\u3002 (\u83b7\u5f97\u8282\u594f\u503c)\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"\u64ad\u653e\u97f3\u4e50\u3002 (\u64ad\u653e)\n\nExample: ``music.play(music.NYAN)``\n\n:param music: (\u97f3\u4e50) `a special notation `_\u4e2d\u6307\u5b9a\u7684\u97f3\u4e50\n:param pin: (\u5f15\u811a) \u7528\u4e8e\u5916\u63a5\u626c\u58f0\u5668\u7684\u8f93\u51fa\u5f15\u811a\uff08\u9ed8\u8ba4\u4e3a ``pin0``\uff09\uff0c``None`` \u8868\u793a\u65e0\u58f0\u97f3\u3002\n:param wait: (\u7b49\u5f85) \u5982\u679c ``wait`` \u8bbe\u7f6e\u4e3a ``True``\uff0c\u5219\u6b64\u51fd\u6570\u963b\u585e\u3002\n:param loop: \u5982\u679c ``loop`` \u8bbe\u7f6e\u4e3a ``True``\uff0c\u66f2\u8c03\u4f1a\u91cd\u590d\u76f4\u5230\u8c03\u7528 ``stop`` \u6216\u963b\u585e\u8c03\u7528\u88ab\u4e2d\u65ad\u3002\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"\u64ad\u653e\u4e00\u4e2a\u97f3\u7b26\u3002 (\u97f3\u9ad8)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (\u9891\u7387) \u6574\u6570\u9891\u7387\n:param duration: (\u6301\u7eed) \u4e00\u6beb\u79d2\u7684\u6301\u7eed\u65f6\u95f4\u3002\u5982\u679c\u662f\u8d1f\u7684\uff0c\u5219\u58f0\u97f3\u5c06\u6301\u7eed\u5230\u4e0b\u4e00\u6b21\u8c03\u7528\u6216\u5bf9 ``stop`` \u7684\u8c03\u7528\u3002\n:param pin: (\u5f15\u811a) \u53ef\u9009\u8f93\u51fa\u5f15\u811a\uff08\u9ed8\u8ba4\u503c``pin0``\uff09\u3002\n:param wait: (\u7b49\u5f85) \u5982\u679c ``wait`` \u8bbe\u7f6e\u4e3a ``True``\uff0c\u5219\u6b64\u51fd\u6570\u963b\u585e\u3002\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\u505c\u6b62\u5185\u7f6e\u626c\u58f0\u5668\u64ad\u653e\u4efb\u4f55\u97f3\u4e50\uff0c\u5e76\u505c\u6b62\u53d1\u51fa\u4efb\u4f55\u5f15\u811a\u8f93\u51fa\u7684\u58f0\u97f3\u3002 (\u505c\u6b62)\n\nExample: ``music.stop()``\n\n:param pin: (\u5f15\u811a) \u53ef\u4ee5\u63d0\u4f9b\u53ef\u9009\u53c2\u6570\u6765\u6307\u5b9a\u4e00\u4e2a\u5f15\u811a\uff0c\u5982``music.stop(pin1)``\u3002\"\"\"\n\ndef reset() -> None:\n \"\"\"\u5c06 ticks\u3001bpm\u3001duration \u548c octave\u91cd\u7f6e\u4e3a\u9ed8\u8ba4\u503c\u3002\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"\u53ef\u5355\u72ec\u5bfb\u5740\u7684 RGB \u548c RGBW LED \u706f\u5e26\u3002 (Neopixel)\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"\u521d\u59cb\u5316\u4e00\u6761\u901a\u8fc7\u4e00\u4e2a\u5f15\u811a\u63a7\u5236\u7684\u65b0 neopixel LED \u706f\u5e26\u3002\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: (\u5f15\u811a) \u63a7\u5236 neopixel \u706f\u5e26\u7684\u5f15\u811a\u3002\n:param n: \u706f\u5e26\u4e2d neopixel \u706f\u73e0\u7684\u6570\u91cf\u3002\n:param bpp: (\u6bcf\u50cf\u7d20\u5b57\u8282\u6570) \u6bcf\u4e2a\u50cf\u7d20\u7684\u5b57\u8282\u6570\u3002\u5bf9\u4e8e RGB \u548c GRB \u800c\u8a00\uff0c\u53ea\u6709\u5c06\u8be5\u503c\u8bbe\u7f6e\u4e3a 4 \u800c\u4e0d\u662f\u9ed8\u8ba4\u503c 3\uff0cmicro:bit V2 RGBW neopixel \u624d\u80fd\u652f\u6301\u3002\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"\u6e05\u9664\u6240\u6709\u50cf\u7d20\u3002 (\u6e05\u9664)\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"\u663e\u793a\u50cf\u7d20\u3002 (\u663e\u793a)\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"\u663e\u793a\u50cf\u7d20\uff08\u4ec5\u9650 micro:bit V2\uff09\u3002 (\u5199\u5165)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"\u7528\u7ed9\u5b9a\u7684 RGB/RGBW \u503c\u4e3a\u6240\u6709\u50cf\u7d20\u7740\u8272\u3002 (\u586b\u5145)\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (\u989c\u8272) \u957f\u5ea6\u4e0e\u6bcf\u50cf\u7d20\u5b57\u8282\u6570 (bpp) \u76f8\u540c\u7684\u5143\u7ec4\u3002\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"\u8bbe\u7f6e\u50cf\u7d20\u989c\u8272\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: (\u952e) \u50cf\u7d20\u6570\u3002\n:param value: \u989c\u8272\u3002\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"\u83b7\u53d6\u50cf\u7d20\u989c\u8272\u3002\n\nExample: ``r, g, b = np[0]``\n\n:param key: (\u952e) \u50cf\u7d20\u6570\u3002\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"\u83b7\u53d6\u6b64\u50cf\u7d20\u6761\u7684\u957f\u5ea6\u3002 (\u957f\u5ea6)\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"\u53ef\u5355\u72ec\u5bfb\u5740\u7684 RGB \u548c RGBW LED \u706f\u5e26\u3002 (Neopixel)\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"\u521d\u59cb\u5316\u4e00\u6761\u901a\u8fc7\u4e00\u4e2a\u5f15\u811a\u63a7\u5236\u7684\u65b0 neopixel LED \u706f\u5e26\u3002\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: (\u5f15\u811a) \u63a7\u5236 neopixel \u706f\u5e26\u7684\u5f15\u811a\u3002\n:param n: \u706f\u5e26\u4e2d neopixel \u706f\u73e0\u7684\u6570\u91cf\u3002\n:param bpp: (\u6bcf\u50cf\u7d20\u5b57\u8282\u6570) \u6bcf\u4e2a\u50cf\u7d20\u7684\u5b57\u8282\u6570\u3002\u5bf9\u4e8e RGB \u548c GRB \u800c\u8a00\uff0c\u53ea\u6709\u5c06\u8be5\u503c\u8bbe\u7f6e\u4e3a 4 \u800c\u4e0d\u662f\u9ed8\u8ba4\u503c 3\uff0cRGBW neopixel \u624d\u80fd\u652f\u6301\u3002\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"\u6e05\u9664\u6240\u6709\u50cf\u7d20\u3002 (\u6e05\u9664)\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"\u663e\u793a\u50cf\u7d20\u3002 (\u663e\u793a)\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"\u663e\u793a\u50cf\u7d20\uff08\u4ec5\u9650 micro:bit V2\uff09\u3002 (\u5199\u5165)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"\u7528\u7ed9\u5b9a\u7684 RGB/RGBW \u503c\u4e3a\u6240\u6709\u50cf\u7d20\u7740\u8272\uff08\u4ec5\u9650 micro:bit V2\uff09\u3002 (\u586b\u5145)\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (\u989c\u8272) \u957f\u5ea6\u4e0e\u6bcf\u50cf\u7d20\u5b57\u8282\u6570 (bpp) \u76f8\u540c\u7684\u5143\u7ec4\u3002\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"\u8bbe\u7f6e\u50cf\u7d20\u989c\u8272\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: (\u952e) \u50cf\u7d20\u6570\u3002\n:param value: \u989c\u8272\u3002\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"\u83b7\u53d6\u50cf\u7d20\u989c\u8272\u3002\n\nExample: ``r, g, b = np[0]``\n\n:param key: (\u952e) \u50cf\u7d20\u6570\u3002\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"\u83b7\u53d6\u6b64\u50cf\u7d20\u6761\u7684\u957f\u5ea6\u3002 (\u957f\u5ea6)\n\nExample: ``len(np)``\"\"\"", "/typeshed/stdlib/os.pyi": "\"\"\"\u8bbf\u95ee\u6587\u4ef6\u7cfb\u7edf\u3002 (\u64cd\u4f5c\u7cfb\u7edf)\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"\u5217\u51fa\u6587\u4ef6\u3002 (\u5217\u51fa\u76ee\u5f55)\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"\u79fb\u9664\uff08\u5220\u9664\uff09\u4e00\u4efd\u6587\u4ef6\u3002 (\u5220\u9664)\n\nExample: ``os.remove('data.txt')``\n\n:param filename: (\u6587\u4ef6\u540d) \u8981\u5220\u9664\u7684\u6587\u4ef6\u3002\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"\u8fd4\u56de\u6587\u4ef6\u7684\u5927\u5c0f\u3002 (\u5927\u5c0f)\n\nExample: ``os.size('data.txt')``\n\n:param filename: (\u6587\u4ef6\u540d) \u6b64\u6587\u4ef6\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"``os.uname()`` \u7684\u7ed3\u679c (\u5f53\u524d\u7cfb\u7edf\u540d\u79f0\u7684\u8fd4\u56de\u7ed3\u679c)\"\"\"\n sysname: str\n \"\"\"\u64cd\u4f5c\u7cfb\u7edf\u540d\u79f0\u3002 (\u7cfb\u7edf\u540d\u5b57)\"\"\"\n nodename: str\n \"\"\"\u7f51\u7edc\u4e0a\u673a\u5668\u7684\u540d\u79f0\uff08\u5b9e\u73b0-\u5b9a\u4e49\uff09\u3002 (\u8282\u70b9\u540d\u5b57)\"\"\"\n release: str\n \"\"\"\u64cd\u4f5c\u7cfb\u7edf\u53d1\u5e03\u7248\u672c\u3002 (\u53d1\u5e03)\"\"\"\n version: str\n \"\"\"\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\u3002 (\u7248\u672c)\"\"\"\n machine: str\n \"\"\"\u786c\u4ef6\u6807\u8bc6\u7b26\u3002 (\u673a\u5668)\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"\u8fd4\u56de\u6807\u8bc6\u5f53\u524d\u64cd\u4f5c\u7cfb\u7edf\u7684\u4fe1\u606f\u3002 (\u5f53\u524d\u7cfb\u7edf\u540d\u79f0)\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", "/typeshed/stdlib/radio.pyi": "\"\"\"\u4f7f\u7528\u5185\u7f6e\u65e0\u7ebf\u7535\u5728 micro:bit \u4e4b\u95f4\u8fdb\u884c\u901a\u4fe1\u3002 (\u65e0\u7ebf\u7535)\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"\u7528\u4e8e\u8868\u793a\u6bcf\u79d2 1 \u5146\u5b57\u8282\u541e\u5410\u91cf\u7684\u5e38\u6570\u3002 (\u901f\u7387 1Mbit)\"\"\"\nRATE_2MBIT: int\n\"\"\"\u7528\u4e8e\u8868\u793a\u6bcf\u79d2 2 \u5146\u5b57\u8282\u541e\u5410\u91cf\u7684\u5e38\u6570\u3002 (\u901f\u7387 2Mbit)\"\"\"\n\ndef on() -> None:\n \"\"\"\u6253\u5f00\u65e0\u7ebf\u7535\u3002 (\u6253\u5f00)\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"\u5173\u95ed\u65e0\u7ebf\u7535\u4ee5\u8282\u7701\u7535\u91cf\u548c\u5185\u5b58\u3002 (\u5173\u95ed)\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"\u914d\u7f6e\u65e0\u7ebf\u7535\u3002 (\u914d\u7f6e)\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (\u957f\u5ea6) \uff08\u9ed8\u8ba4\u503c32\uff09\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff0c\u5b9a\u4e49\u4e86\u901a\u8fc7\u65e0\u7ebf\u7535\u4f20\u8f93\u6d88\u606f\u7684\u6700\u5927\u957f\u5ea6\u3002\n\u5176\u957f\u5ea6\u53ef\u8fbe 251 \u5b57\u8282\uff08S0\u3001LENGTH \u548c S1 \u524d\u5bfc\u7801\uff1a254-3 \u5b57\u8282\uff09\u3002\n:param queue: (\u961f\u5217) \uff08\u9ed8\u8ba4\u503c3\uff09\u89c4\u5b9a\u4e86\u4f20\u5165\u6d88\u606f\u961f\u5217\u4e2d\u53ef\u4ee5\u5b58\u50a8\u7684\u6d88\u606f\u6570\u91cf\u3002\n\u5982\u679c\u961f\u5217\u4e2d\u6ca1\u6709\u591a\u4f59\u7684\u7a7a\u95f4\u7559\u7ed9\u4f20\u5165\u7684\u6d88\u606f\uff0c\u90a3\u4e48\u4f20\u5165\u7684\u6d88\u606f\u5c31\u4f1a\u88ab\u4e22\u5f03\u3002\n:param channel: (\u4fe1\u9053) \uff08\u7f3a\u7701\u503c7\uff09\u8303\u56f4\u4e3a\u4ece0\u523083\uff08\u542b83\uff09\u7684\u6574\u6570\uff0c\u7528\u4e8e\u5b9a\u4e49\u4e00\u4efb\u610f\u201c\u4fe1\u9053\u201d\uff0c\u4ee5\u4fbf\u5c06\u65e0\u7ebf\u7535\u8c03\u5230\u8be5\u4fe1\u9053\u3002\u4fe1\u606f\u901a\u8fc7\u8be5\u4fe1\u9053\u53d1\u9001\uff0c\u5e76\u4e14\u53ea\u6709\u901a\u8fc7\u8be5\u4fe1\u9053\u63a5\u6536\u5230\u7684\u6d88\u606f\u624d\u88ab\u653e\u5230\u4f20\u5165\u6d88\u606f\u961f\u5217\u4e2d\u3002\u6bcf\u4e00\u6b65\u7684\u5bbd\u5ea6\u4e3a 1 MHz\uff0c\u57fa\u4e8e 2400 MHz\u3002\n:param power: (\u5e42\u6570) \uff08\u9ed8\u8ba4\u503c6\uff09\u7528\u4e8e\u8868\u793a\u5e7f\u64ad\u6d88\u606f\u65f6\u6240\u4f7f\u7528\u4fe1\u53f7\u5f3a\u5ea6\u7684\u6574\u6570\u503c\uff0c\u5176\u8303\u56f4\u4e3a\u4ece0\u52307\uff08\u5305\u542b7\uff09\u3002\n\u8be5\u503c\u8d8a\u5927\uff0c\u4fe1\u53f7\u8d8a\u5f3a\uff0c\u4f46\u8bbe\u5907\u6d88\u8017\u7684\u529f\u7387\u4e5f\u8d8a\u5927\u3002\u5176\u7f16\u7801\u8f6c\u6362\u4e3a\u4ee5\u4e0b dBm\uff08\u5206\u8d1d\u6beb\u74e6\uff09\u503c\u5217\u8868\u4e2d\u7684\u4e0d\u540c\u503c\uff1a-30, -20, -16, -12, -8, -4, 0, 4\u3002\n:param address: (\u5730\u5740) (default=0x75626974) \u4efb\u610f\u540d\u79f0\uff0c\u8868\u793a\u4e3a 32 \u4f4d\u5730\u5740\uff0c\u7528\u4e8e\u5728\u786c\u4ef6\u7ea7\u522b\u8fc7\u6ee4\u4f20\u5165\u7684\u6570\u636e\u5305\uff0c\u4ec5\u4fdd\u7559\u4e0e\u60a8\u8bbe\u7f6e\u7684\u5730\u5740\u5339\u914d\u7684\u6570\u636e\u5305\u3002\n\u5176\u4ed6 micro:bit \u76f8\u5173\u5e73\u53f0\u4f7f\u7528\u7684\u9ed8\u8ba4\u8bbe\u7f6e\u4e0e\u6b64\u5904\u7684\u9ed8\u8ba4\u8bbe\u7f6e\u76f8\u540c\u3002\n:param group: (\u7fa4\u7ec4) \uff08\u9ed8\u8ba4\u503c0\uff09\u8fc7\u6ee4\u6d88\u606f\u65f6\u4e0e ``address`` \u4e00\u8d77\u4f7f\u7528\u7684 8 \u4f4d\u7684\u6570\u503c\uff080-255\uff09\u3002\n\u4ece\u6982\u5ff5\u4e0a\u8bb2\uff0c\"address\u201d\u5c31\u50cf\u623f\u5c4b\u6216\u529e\u516c\u5ba4\u7684\u5730\u5740\uff0c\u800c\u201cgroup\u201d\u5c31\u50cf\u4f4f\u5728\u8be5\u5730\u5740\uff0c\u5e76\u4e14\u4f60\u60f3\u7ed9\u4ed6\u6216\u5979\u53d1\u6d88\u606f\u7684\u90a3\u4e2a\u4eba\u3002\n:param data_rate: (\u6570\u636e\u4f20\u8f93\u901f\u7387) \uff08\u9ed8\u8ba4\u503c``radio.RATE_1MBIT``\uff09\u8868\u793a\u6570\u636e\u541e\u5410\u901f\u5ea6\u3002\n\u53ef\u4ee5\u662f``radio``\u6a21\u5757\u4e2d\u5b9a\u4e49\u7684\u4ee5\u4e0b\u5e38\u6570\u4e4b\u4e00\uff1a``RATE_250KBIT``\u3001``RATE_1MBIT`` \u6216 ``RATE_2MBIT``\u3002\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\u5c06\u8bbe\u7f6e\u91cd\u8bbe\u4e3a\u9ed8\u8ba4\u503c\u3002\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"\u53d1\u9001\u4e00\u6761\u5305\u542b\u5b57\u8282\u7684\u6d88\u606f\u3002 (\u53d1\u9001\u5b57\u8282)\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: (\u6d88\u606f) \u5f85\u53d1\u9001\u7684\u5b57\u8282\u3002\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"\u63a5\u6536\u6d88\u606f\u961f\u5217\u4e2d\u7684\u4e0b\u4e00\u6761\u4f20\u5165\u6d88\u606f\u3002 (\u63a5\u6536\u5b57\u8282)\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"\u5c06\u6d88\u606f\u961f\u5217\u4e2d\u7684\u4e0b\u4e00\u6761\u4f20\u5165\u6d88\u606f\u590d\u5236\u5230\u7f13\u51b2\u533a\u3002 (\u63a5\u6536\u4f20\u5165\u7684\u5b57\u8282)\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: (\u7f13\u51b2\u533a) \u76ee\u6807\u7f13\u51b2\u533a\u3002\u5982\u679c\u6d88\u606f\u5927\u5c0f\u5927\u4e8e\u7f13\u51b2\u533a\uff0c\u5219\u6d88\u606f\u4f1a\u88ab\u622a\u65ad\u3002\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"\u53d1\u9001\u6d88\u606f\u5b57\u7b26\u4e32\u3002 (\u53d1\u9001)\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: (\u6d88\u606f) \u5f85\u53d1\u9001\u7684\u5b57\u7b26\u4e32\u3002\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"\u6309\u7167\u4e0e``receive_bytes``\u5b8c\u5168\u76f8\u540c\u7684\u5de5\u4f5c\u65b9\u5f0f\uff0c\u4f46\u662f\u8fd4\u56de\u6240\u53d1\u9001\u7684\u5185\u5bb9\u3002 (\u63a5\u6536)\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"\u8fd4\u56de\u4e00\u4e2a\u5305\u542b\u4e09\u4e2a\u6570\u503c\u7684\u5143\u7ec4\uff0c\u7528\u6765\u4ee3\u8868\u6d88\u606f\u961f\u5217\u4e2d\u7684\u4e0b\u4e00\u6761\u4f20\u5165\u6d88\u606f\u3002 (\u63a5\u53d7\u5b8c\u6574\u6d88\u606f)\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", @@ -40,7 +40,7 @@ "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"\u4f7f\u7528 micro:bit \u64ad\u653e\u58f0\u97f3\uff08\u5bfc\u5165 ``audio`` \u4ee5\u517c\u5bb9 V1\uff09\u3002 (\u97f3\u9891)\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"\u64ad\u653e\u5185\u7f6e\u58f0\u97f3\u3001\u97f3\u6548\u6216\u81ea\u5b9a\u4e49\u97f3\u9891\u5e27\u3002 (\u64ad\u653e)\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (\u6765\u6e90) \u5185\u7f6e\u7684 ``Sound``\uff0c\u4f8b\u5982 ``Sound.GIGGLE``\u3001``SoundEffect`` \u6216\u4f5c\u4e3a ``AudioFrame`` \u7684\u53ef\u8fed\u4ee3\u5bf9\u8c61\u7684\u6837\u672c\u6570\u636e\u3002\n:param wait: (\u7b49\u5f85) \u5982\u679c ``wait`` \u4e3a ``True``, \u6b64\u51fd\u6570\u5c06\u4f1a\u963b\u585e\u76f4\u5230\u58f0\u97f3\u5b8c\u6210\u3002\n:param pin: (\u5f15\u811a) \u53ef\u9009\u53c2\u6570\uff0c \u7528\u4e8e\u6307\u5b9a\u53ef\u8986\u76d6\u9ed8\u8ba4 ``pin0`` \u7684\u8f93\u51fa\u5f15\u811a\u3002 \u5982\u679c\u4e0d\u60f3\u64ad\u653e\u4efb\u4f55\u58f0\u97f3\uff0c\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\n:param return_pin: \u6307\u5b9a\u4e00\u4e2a\u5dee\u5206\u8fb9\u7f18\u8fde\u63a5\u5668\u5f15\u811a\u4ee5\u8fde\u63a5\u5230\u5916\u90e8\u626c\u58f0\u5668\u800c\u4e0d\u662f\u63a5\u5730\u3002\u5bf9\u4e8e **V2** \u4fee\u8ba2\u7248\uff0c\u8fd9\u5c06\u88ab\u5ffd\u7565\u3002\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\u68c0\u67e5\u662f\u5426\u5728\u64ad\u653e\u58f0\u97f3\u3002\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"\u505c\u6b62\u6240\u6709\u97f3\u9891\u64ad\u653e\u3002 (\u505c\u6b62)\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"\u4e00\u79cd\u97f3\u6548\uff0c\u7531\u4e00\u7ec4\u901a\u8fc7\u6784\u9020\u51fd\u6570\u6216\u5c5e\u6027\u914d\u7f6e\u7684\u53c2\u6570\u7ec4\u6210\u3002 (\u97f3\u6548)\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u6b63\u5f26\u6ce2\u9009\u9879\u3002 (\u6ce2\u5f62\u6b63\u5f26)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u952f\u9f7f\u6ce2\u9009\u9879\u3002 (\u6ce2\u5f62\u952f\u9f7f)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u4e09\u89d2\u6ce2\u9009\u9879\u3002 (\u6ce2\u5f62\u4e09\u89d2)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u65b9\u6ce2\u9009\u9879\u3002 (\u65b9\u6ce2)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u566a\u58f0\u9009\u9879\u3002 (\u6ce2\u5f62\u566a\u58f0)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"\u7528\u4e8e ``shape`` \u53c2\u6570\u7684\u7ebf\u6027\u63d2\u503c\u9009\u9879\u3002 (\u5f62\u72b6\u7ebf\u6027)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``shape`` \u53c2\u6570\u7684\u66f2\u7ebf\u63d2\u503c\u9009\u9879\u3002 (\u5f62\u72b6\u66f2\u7ebf)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"\u7528\u4e8e ``shape`` \u53c2\u6570\u7684\u5bf9\u6570\u63d2\u503c\u9009\u9879\u3002 (\u5f62\u72b6\u65e5\u5fd7)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"\u6ca1\u6709\u7528\u4e8e ``fx`` \u53c2\u6570\u7684\u6548\u679c\u9009\u9879\u3002 (fx \u65e0)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"\u7528\u4e8e ``fx`` \u53c2\u6570\u7684\u97f3\u91cf\u98a4\u97f3\u6548\u679c\u9009\u9879\u3002 (fx \u97f3\u91cf\u98a4\u97f3)\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"\u7528\u4e8e ``fx`` \u53c2\u6570\u7684\u97f3\u9ad8\u98a4\u97f3\u6548\u679c\u9009\u9879\u3002 (fx \u97f3\u9ad8\u98a4\u97f3)\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``fx`` \u53c2\u6570\u7684\u67d4\u548c\u98a4\u97f3\u6548\u679c\u9009\u9879\u3002 (fx \u67d4\u548c\u98a4\u97f3)\"\"\"\n freq_start: int\n \"\"\"\u5f00\u59cb\u9891\u7387\u7528 Hertz (Hz) \u8868\u793a, \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u5f00\u59cb\u9891\u7387)\"\"\"\n freq_end: int\n \"\"\"\u7ed3\u675f\u9891\u7387\u7528 Hertz (Hz) \u8868\u793a, \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u7ed3\u675f\u9891\u7387)\"\"\"\n duration: int\n \"\"\"\u58f0\u97f3\u6301\u7eed\u65f6\u95f4\uff0c\u4ee5\u6beb\u79d2\u8ba1\uff0c \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u6301\u7eed)\"\"\"\n vol_start: int\n \"\"\"\u5f00\u59cb\u97f3\u91cf\u503c\uff0c\u662f\u4e00\u4e2a ``0`` \u548c ``255`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u5f00\u59cb\u97f3\u91cf\u503c)\"\"\"\n vol_end: int\n \"\"\"\u7ed3\u675f\u97f3\u91cf\u503c\uff0c\u662f\u4e00\u4e2a ``0`` \u548c ``255`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u7ed3\u675f\u97f3\u91cf\u503c)\"\"\"\n waveform: int\n \"\"\"\u6ce2\u5f62\u7c7b\u578b\uff0c\u662f\u4e0b\u5217\u503c\u4e4b\u4e00\uff1a ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (\u968f\u673a\u751f\u6210\u566a\u97f3) (\u6ce2\u5f62)\"\"\"\n fx: int\n \"\"\"\u5bf9\u58f0\u97f3\u6dfb\u52a0\u6548\u679c\uff0c\u4e0b\u5217\u503c\u4e4b\u4e00\uff1a ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, \u6216 ``FX_NONE``\"\"\"\n shape: int\n \"\"\"\u5f00\u59cb\u9891\u7387\u548c\u7ed3\u675f\u9891\u7387\u4e4b\u95f4\u7684\u5185\u63d2\u66f2\u7ebf\u7c7b\u578b\uff0c\u4e0d\u540c\u6ce2\u5f62\u7684\u9891\u7387\u53d8\u5316\u901f\u7387\u4e0d\u540c\u3002 \u4ee5\u4e0b\u503c\u4e4b\u4e00: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG`` (\u5f62\u72b6)\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"\u521b\u5efa\u65b0\u7684\u97f3\u6548\u3002\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (\u5f00\u59cb\u9891\u7387) \u5f00\u59cb\u9891\u7387\u7528 Hertz (Hz) \u8868\u793a, \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param freq_end: (\u7ed3\u675f\u9891\u7387) \u7ed3\u675f\u9891\u7387\u7528 Hertz (Hz) \u8868\u793a, \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param duration: (\u6301\u7eed) \u58f0\u97f3\u6301\u7eed\u65f6\u95f4\uff0c\u4ee5\u6beb\u79d2\u8ba1\uff0c \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param vol_start: (\u5f00\u59cb\u97f3\u91cf\u503c) \u5f00\u59cb\u97f3\u91cf\u503c\uff0c\u662f\u4e00\u4e2a ``0`` \u548c ``255`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param vol_end: (\u7ed3\u675f\u97f3\u91cf\u503c) \u7ed3\u675f\u97f3\u91cf\u503c\uff0c\u662f\u4e00\u4e2a ``0`` \u548c ``255`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param waveform: (\u6ce2\u5f62) \u6ce2\u5f62\u7c7b\u578b\uff0c\u662f\u4e0b\u5217\u503c\u4e4b\u4e00\uff1a ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (\u968f\u673a\u751f\u6210\u566a\u97f3).\n:param fx: \u5bf9\u58f0\u97f3\u6dfb\u52a0\u6548\u679c\uff0c\u4e0b\u5217\u503c\u4e4b\u4e00\uff1a ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, \u6216 ``FX_NONE``.\n:param shape: (\u5f62\u72b6) \u5f00\u59cb\u9891\u7387\u548c\u7ed3\u675f\u9891\u7387\u4e4b\u95f4\u7684\u5185\u63d2\u66f2\u7ebf\u7c7b\u578b\uff0c\u4e0d\u540c\u6ce2\u5f62\u7684\u9891\u7387\u53d8\u5316\u901f\u5ea6\u4e0d\u540c\u3002 \u4ee5\u4e0b\u503c\u4e4b\u4e00: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"\u521b\u5efa\u6b64 ``SoundEffect`` \u7684\u526f\u672c\u3002 (\u590d\u5236)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"``AudioFrame`` \u5bf9\u8c61\u662f \u4e00\u4e2a\u5305\u542b 32 \u4e2a\u6837\u672c\u7684\u5217\u8868\uff0c\u6bcf\u4e2a\u6837\u672c\u90fd\u662f\u4e00\u4e2a\u65e0\u7b26\u53f7\u5b57\u8282\n\uff080 \u5230 255 \u4e4b\u95f4\u7684\u6574\u6570\uff09\u3002 (\u97f3\u9891\u5e27)\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"\u7528\u5176\u4ed6 ``AudioFrame`` \u5b9e\u4f8b\u4e2d\u7684\u6570\u636e\u8986\u76d6\u6b64 ``AudioFrame`` \u4e2d\u7684\u6570\u636e\u3002 (\u590d\u5236)\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (\u5176\u4ed6) \u4ece ``AudioFrame`` \u5b9e\u4f8b\u4e2d\u590d\u5236\u6570\u636e\u3002\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"\u4f7f\u7528\u5185\u7f6e\u7f57\u76d8\u3002 (\u7f57\u76d8)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"\u5f00\u59cb\u6821\u51c6\u8fc7\u7a0b\u3002 (\u6821\u51c6)\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"\u68c0\u67e5\u7f57\u76d8\u662f\u5426\u5df2\u6821\u51c6\u3002\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"\u53d6\u6d88\u6821\u51c6\uff0c\u5c06\u7f57\u76d8\u6062\u590d\u5230\u672a\u6821\u51c6\u72b6\u6001\u3002\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"\u83b7\u53d6 ``x`` \u8f74\u4e0a\u7684\u78c1\u573a\u5f3a\u5ea6\u3002\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"\u83b7\u53d6 ``y`` \u8f74\u4e0a\u7684\u78c1\u573a\u5f3a\u5ea6\u3002\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"\u83b7\u53d6 ``z`` \u8f74\u4e0a\u7684\u78c1\u573a\u5f3a\u5ea6\u3002\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"\u83b7\u53d6\u7f57\u76d8\u6307\u5411\u3002\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"\u83b7\u53d6\u8bbe\u5907\u5468\u56f4\u78c1\u573a\u7684\u5f3a\u5ea6\u3002 (\u83b7\u53d6\u78c1\u573a\u5f3a\u5ea6)\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", "/typeshed/stdlib/microbit/display.pyi": "\"\"\"\u57285\u00d75\u7684 LED \u663e\u793a\u5c4f\u4e0a\u663e\u793a\u6587\u5b57\u3001\u56fe\u50cf\u548c\u52a8\u753b\u3002 (\u663e\u793a)\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"\u83b7\u53d6\u7b2c``y``\u884c\u7b2c``x``\u5217\u7684 LED \u4eae\u5ea6\u3002\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: \u663e\u793a\u5c4f\u7684\u5217(0..4)\n:param y: \u663e\u793a\u884c (0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"\u8bbe\u7f6e\u5728 ``x`` \u5217\u548c ``y`` \u884c\u7684 LED \u7684\u4eae\u5ea6\u3002\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: \u663e\u793a\u5c4f\u7684\u5217(0..4)\n:param y: \u663e\u793a\u884c (0..4)\n:param value: \u5728 0 (\u5173\u95ed) \u548c 9 (\u4eae) \u4e4b\u95f4\u7684\u4eae\u5ea6\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"\u5c06\u6240\u6709 LED \u7684\u4eae\u5ea6\u8bbe\u7f6e\u4e3a 0\uff08\u5173\u95ed\uff09\u3002 (\u6e05\u9664)\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"\u5728 LED \u663e\u793a\u5c4f\u4e0a\u663e\u793a\u56fe\u50cf\u3001\u5b57\u6bcd\u6216\u6570\u5b57\u3002 (\u663e\u793a)\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: (\u56fe\u50cf) \u8981\u663e\u793a\u7684\u4e00\u4e2a\u5b57\u7b26\u4e32\u3001\u6570\u5b57\u3001\u56fe\u50cf\u6216\u56fe\u50cf\u5217\u8868\u3002\n:param delay: (\u5ef6\u8fdf) \u6bcf\u4e2a\u5b57\u6bcd\u3001\u6570\u5b57\u6216\u56fe\u50cf\u4e4b\u95f4\u663e\u793a\u7684\u95f4\u9694\u65f6\u95f4\u4e3a ``delay`` \u6beb\u79d2\u3002\n:param wait: (\u7b49\u5f85) \u5982\u679c ``wait`` \u4e3a ``True``\uff0c\u6b64\u51fd\u6570\u5c06\u963b\u585e\u76f4\u5230\u52a8\u753b\u5b8c\u6210\uff0c\u5426\u5219\u52a8\u753b\u5c06\u5728\u540e\u53f0\u53d1\u751f\u3002\n:param loop: \u5982\u679c ``loop`` \u4e3a ``True``, \u52a8\u753b\u5c06\u6c38\u8fdc\u91cd\u590d\u3002\n:param clear: (\u6e05\u9664) \u5982\u679c ``clear`` \u662f ``True``, \u5219\u663e\u793a\u5c06\u5728\u5e8f\u5217\u5b8c\u6210\u540e\u88ab\u6e05\u9664\u3002\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"\u5728 LED \u663e\u793a\u5c4f\u4e0a\u6eda\u52a8\u4e00\u4e2a\u6570\u5b57\u6216\u6587\u672c\u3002 (\u6eda\u52a8)\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: (\u6587\u672c) \u8981\u6eda\u52a8\u7684\u5b57\u7b26\u4e32\u3002\u5982\u679c ``text`` \u662f\u6574\u6570\u6216\u6d6e\u70b9\u6570\uff0c\u5219\u9996\u5148\u4f7f\u7528 ``str()`` \u5c06\u5176\u8f6c\u6362\u4e3a\u5b57\u7b26\u4e32\u3002\n:param delay: (\u5ef6\u8fdf) ``delay`` \u53c2\u6570\u63a7\u5236\u6587\u672c\u6eda\u52a8\u7684\u901f\u5ea6\u3002\n:param wait: (\u7b49\u5f85) \u5982\u679c ``wait`` \u4e3a ``True``\uff0c\u6b64\u51fd\u6570\u5c06\u963b\u585e\u76f4\u5230\u52a8\u753b\u5b8c\u6210\uff0c\u5426\u5219\u52a8\u753b\u5c06\u53d1\u751f\u5728\u540e\u53f0\u3002\n:param loop: \u5982\u679c ``loop`` \u4e3a ``True``, \u52a8\u753b\u5c06\u6c38\u8fdc\u91cd\u590d\u3002\n:param monospace: (\u7b49\u5bbd) \u5982\u679c ``monospace`` \u4e3a ``True``\uff0c\u5219\u5b57\u7b26\u7684\u5bbd\u5ea6\u90fd\u5c06\u5360\u7528 5 \u4e2a\u50cf\u7d20\u5217\uff0c\u5426\u5219\u5728\u6eda\u52a8\u65f6\u6bcf\u4e2a\u5b57\u7b26\u4e4b\u95f4\u5c06\u6070\u597d\u6709 1 \u4e2a\u7a7a\u767d\u50cf\u7d20\u5217\u3002\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u6253\u5f00 LED \u663e\u793a\u5c4f\u3002 (\u6253\u5f00)\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"\u5173\u95ed LED \u663e\u793a\u5c4f\uff08\u7981\u7528\u663e\u793a\u5c4f\u53ef\u8ba9\u60a8\u5c06 GPIO \u5f15\u811a\u91cd\u65b0\u7528\u4e8e\u5176\u4ed6\u7528\u9014\uff09\u3002 (\u5173\u95ed)\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"\u68c0\u67e5 LED \u663e\u793a\u5c4f\u662f\u5426\u542f\u7528\u3002\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"\u8bfb\u53d6\u4eae\u5ea6\u3002\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", - "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"\u4f7f\u7528 I\u00b2C \u603b\u7ebf\u534f\u8bae\u4e0e\u8bbe\u5907\u901a\u4fe1\u3002 (i2c\u603b\u7ebf\u534f\u8bae)\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"\u91cd\u65b0\u521d\u59cb\u5316\u5916\u8bbe\u3002\n\nExample: ``i2c.init()``\n\n:param freq: \u65f6\u949f\u9891\u7387\n:param sda: (SDA\u5f15\u811a) ``sda`` \u5f15\u811a(\u9ed8\u8ba4 20)\n:param scl: (SCL\u5f15\u811a) ``scl`` \u5f15\u811a(\u9ed8\u8ba4 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"\u626b\u63cf\u603b\u7ebf\u4ee5\u67e5\u627e\u8bbe\u5907\u3002 (\u626b\u63cf)\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"\u4ece\u8bbe\u5907\u8bfb\u53d6\u5b57\u8282.. (\u8bfb\u53d6)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: (\u5730\u5740) \u8bbe\u5907\u7684 7 \u4f4d\u5730\u5740\n:param n: \u8981\u8bfb\u53d6\u7684\u5b57\u8282\u6570\n:param repeat: \u5982\u679c\u4e3a ``True``\uff0c\u5219\u4e0d\u53d1\u9001\u505c\u6b62\u4f4d\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\u5c06\u5b57\u8282\u5199\u5165\u8bbe\u5907\u3002 (\u5199\u5165)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: (\u5730\u5740) \u8bbe\u5907\u7684 7 \u4f4d\u5730\u5740\n:param buf: (\u7f13\u51b2\u533a) \u5305\u542b\u8981\u5199\u5165\u7684\u5b57\u8282\u7684\u7f13\u51b2\u533a\n:param repeat: \u5982\u679c\u4e3a ``True``\uff0c\u5219\u4e0d\u53d1\u9001\u505c\u6b62\u4f4d\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"\u4f7f\u7528 I\u00b2C \u603b\u7ebf\u534f\u8bae\u4e0e\u8bbe\u5907\u901a\u4fe1\u3002 (i2c\u603b\u7ebf\u534f\u8bae)\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"\u91cd\u65b0\u521d\u59cb\u5316\u5916\u8bbe\u3002\n\nExample: ``i2c.init()``\n\n:param freq: \u65f6\u949f\u9891\u7387\n:param sda: (SDA\u5f15\u811a) ``sda`` \u5f15\u811a(\u9ed8\u8ba4 20)\n:param scl: (SCL\u5f15\u811a) ``scl`` \u5f15\u811a(\u9ed8\u8ba4 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"\u626b\u63cf\u603b\u7ebf\u4ee5\u67e5\u627e\u8bbe\u5907\u3002 (\u626b\u63cf)\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"\u4ece\u8bbe\u5907\u8bfb\u53d6\u5b57\u8282. (\u8bfb\u53d6)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: (\u5730\u5740) \u8bbe\u5907\u7684 7 \u4f4d\u5730\u5740\n:param n: \u8981\u8bfb\u53d6\u7684\u5b57\u8282\u6570\n:param repeat: \u5982\u679c\u4e3a ``True``\uff0c\u5219\u4e0d\u53d1\u9001\u505c\u6b62\u4f4d\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\u5c06\u5b57\u8282\u5199\u5165\u8bbe\u5907\u3002 (\u5199\u5165)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: (\u5730\u5740) \u8bbe\u5907\u7684 7 \u4f4d\u5730\u5740\n:param buf: (\u7f13\u51b2\u533a) \u5305\u542b\u8981\u5199\u5165\u7684\u5b57\u8282\u7684\u7f13\u51b2\u533a\n:param repeat: \u5982\u679c\u4e3a ``True``\uff0c\u5219\u4e0d\u53d1\u9001\u505c\u6b62\u4f4d\"\"\"\n ...", "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"\u4f7f\u7528\u5185\u7f6e\u9ea6\u514b\u98ce\u54cd\u5e94\u58f0\u97f3\uff08\u4ec5\u9650 V2\uff09\u3002 (\u9ea6\u514b\u98ce)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"\u83b7\u53d6\u6700\u540e\u5f55\u5236\u7684\u58f0\u97f3\u4e8b\u4ef6\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\u68c0\u67e5\u81ea\u4e0a\u6b21\u901a\u8bdd\u540e\u662f\u5426\u81f3\u5c11\u542c\u5230\u4e00\u6b21\u58f0\u97f3\u3002 (\u66fe\u7ecf\u662f\u4e8b\u4ef6)\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (\u4e8b\u4ef6) \u8981\u68c0\u67e5\u7684\u4e8b\u4ef6\uff0c\u4f8b\u5982 ``SoundEvent.LOUD`` \u6216 ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\u68c0\u67e5\u6700\u8fd1\u68c0\u6d4b\u5230\u7684\u58f0\u97f3\u4e8b\u4ef6\u3002 (\u662f\u4e8b\u4ef6)\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (\u4e8b\u4ef6) \u8981\u68c0\u67e5\u7684\u4e8b\u4ef6\uff0c\u4f8b\u5982 ``SoundEvent.LOUD`` \u6216 ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"\u4ee5\u5143\u7ec4\u7684\u5f62\u5f0f\u83b7\u53d6\u58f0\u97f3\u4e8b\u4ef6\u5386\u53f2\u3002\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"\u8bbe\u7f6e\u58f0\u97f3\u4e8b\u4ef6\u7684\u9608\u503c\u3002\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (\u4e8b\u4ef6) \u58f0\u97f3\u4e8b\u4ef6\uff0c\u5982``SoundEvent.LOUD``\u6216``SoundEvent.QUIET``\u3002\n:param value: \u8303\u56f4\u4e3a0\u5230255\u7684\u9608\u503c\u6c34\u5e73\u3002\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"\u83b7\u53d6\u58f0\u538b\u7ea7\u3002 (\u97f3\u91cf)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"\u63a7\u5236\u5185\u7f6e\u626c\u58f0\u5668\uff08\u4ec5\u9650 V2\uff09\u3002 (\u626c\u58f0\u5668\\u200b\\u200b\\u200b\\u200b)\"\"\"\n\ndef off() -> None:\n \"\"\"\u5173\u95ed\u626c\u58f0\u5668\\u200b\\u200b\\u200b\\u200b\u3002 (\u5173\u95ed)\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u6253\u5f00\u626c\u58f0\u5668\\u200b\\u200b\\u200b\\u200b\u3002 (\u6253\u5f00)\n\nExample: ``speaker.on()``\"\"\"\n ...", "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\u901a\u8fc7\u4e32\u884c\u5916\u8bbe\u63a5\u53e3\uff08SPI\uff09\u603b\u7ebf\u4e0e\u8bbe\u5907\u901a\u4fe1\u3002 (\u4e32\u884c\u5916\u56f4\u63a5\u53e3\uff08SPI\uff09)\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"\u521d\u59cb\u5316\u4e32\u884c\u5916\u8bbe\u63a5\u53e3\uff08SPI \uff09\u901a\u4fe1\u3002\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (\u6ce2\u7279\u7387) \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: (\u4f4d) \u6bcf\u6b21\u4f20\u8f93\u7684\u5bbd\u5ea6\uff08\u5355\u4f4d\uff1abit\uff09\u3002\u76ee\u524d\u53ea\u652f\u6301 ``bits=8``\uff0c\u4f46\u662f\u672a\u6765\u53ef\u80fd\u652f\u6301\u5176\u4ed6\u5bbd\u5ea6\u3002\n:param mode: (\u6a21\u5f0f) \u51b3\u5b9a\u65f6\u949f\u6781\u6027\u548c\u76f8\u4f4d\u7684\u7ec4\u5408\u2014\u2014\u201c\u53c2\u89c1\u5728\u7ebf\u8868\u683c\u201d\u3002\n:param sclk: (SCLK) sclk \u5f15\u811a(\u9ed8\u8ba4 13)\n:param mosi: (MOSI) mosi \u5f15\u811a(\u9ed8\u8ba4 15)\n:param miso: (MISO) MISO\u5f15\u811a\uff08\u9ed8\u8ba4\u503c14\uff09\"\"\"\n ...\n\ndef read(nbytes: int) -> bytes:\n \"\"\"\u8bfb\u53d6\u5b57\u8282\u3002 (\u8bfb\u53d6)\n\nExample: ``spi.read(64)``\n\n:param nbytes: (\u5b57\u8282\u6570) \u8981\u8bfb\u53d6\u7684\u6700\u5927\u5b57\u8282\u6570\u3002\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u5c06\u5b57\u8282\u5199\u5165\u603b\u7ebf\u3002 (\u5199\u5165)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (\u7f13\u51b2\u533a) \u8bfb\u53d6\u6570\u636e\u7684\u7f13\u51b2\u533a\u3002\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"\u5c06 ``out`` \u7f13\u51b2\u533a\u5199\u5165\u603b\u7ebf\uff0c\u5e76\u5c06\u4efb\u4f55\u54cd\u5e94\u8bfb\u5165 ``in_`` \u7f13\u51b2\u533a\u3002 (\u5199\u5e76\u8bfb\u5165)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (\u5199\u51fa) \u5199\u5165\u4efb\u4f55\u54cd\u5e94\u7684\u7f13\u51b2\u533a\u3002\n:param in_: (\u8bfb\u5165) \u8bfb\u53d6\u6570\u636e\u7684\u7f13\u51b2\u533a\u3002\"\"\"\n ...", diff --git a/src/micropython/main/typeshed.zh-tw.json b/src/micropython/main/typeshed.zh-tw.json index ca4576a63..c348326fa 100644 --- a/src/micropython/main/typeshed.zh-tw.json +++ b/src/micropython/main/typeshed.zh-tw.json @@ -14,7 +14,7 @@ "/typeshed/stdlib/math.pyi": "\"\"\"\u6578\u5b78\u51fd\u5f0f\u3002\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"\u8a08\u7b97\u53cd\u9918\u5f26\u3002\n\nExample: ``math.acos(1)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"\u8a08\u7b97\u53cd\u6b63\u5f26\u3002\n\nExample: ``math.asin(0)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"\u8a08\u7b97\u53cd\u6b63\u5207\u3002\n\nExample: ``math.atan(0)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"\u8a08\u7b97 ``y/x`` \u7684\u53cd\u6b63\u5207\u4e3b\u503c\u3002\n\nExample: ``math.atan2(0, -1)``\n\n:param y: \u4e00\u500b\u6578\u5b57\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"\u5c07\u6578\u5b57\u5411\u6b63\u7121\u9650\u5927\u6368\u5165\u3002\n\nExample: ``math.ceil(0.1)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"\u7528 ``y`` \u7684\u7b26\u865f\u8a08\u7b97 ``x``\u3002\n\nExample: ``math.copysign(1, -1)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:param y: \u50b3\u56de\u503c\u7684\u7b26\u865f\u4f86\u6e90\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"\u8a08\u7b97 ``x`` \u7684\u9918\u5f26\u3002\n\nExample: ``math.cos(0)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"\u5c07\u5f27\u5ea6 (Radians) \u8f49\u63db\u70ba\u5ea6 (Degrees) (\u5ea6)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: \u55ae\u4f4d\u70ba\u5f27\u5ea6\u7684\u6578\u503c\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"\u8a08\u7b97 ``x`` \u7684\u6307\u6578\u3002 (\u6307\u6578)\n\nExample: ``math.exp(1)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"\u50b3\u56de ``x`` \u7684\u7d55\u5c0d\u503c\u3002\n\nExample: ``math.fabs(-0.1)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"\u5c07\u6578\u5b57\u5411\u8ca0\u7121\u9650\u5927\u6368\u5165\u3002\n\nExample: ``math.floor(0.9)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"\u8a08\u7b97 ``x/y`` \u7684\u9918\u6578\u3002\n\nExample: ``math.fmod(10, 3)``\n\n:param x: \u5206\u5b50\n:param y: \u5206\u6bcd\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"\u5c07\u4e00\u500b\u6d6e\u9ede\u6578\u5206\u89e3\u70ba\u5176\u5c3e\u6578\u548c\u6307\u6578\u3002\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: \u4e00\u500b\u6d6e\u9ede\u6578\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"\u6aa2\u67e5\u503c\u662f\u5426\u70ba\u6709\u9650\u3002\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: \u4e00\u500b\u6578\u5b57\u3002\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"\u6aa2\u67e5\u503c\u662f\u5426\u70ba\u7121\u9650\u3002\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: \u4e00\u500b\u6578\u5b57\u3002\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"\u6aa2\u67e5\u503c\u662f\u5426\u70ba\u975e\u6578\u5b57 (NaN)\u3002\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"\u8a08\u7b97 ``x * (2**exp)``\u3002\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:param exp: (\u6307\u6578) \u6574\u6578\u6307\u6578\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"\u8a08\u7b97\u6307\u5b9a\u5e95\u6578 ``x`` \u7684\u5c0d\u6578 (\u9810\u8a2d\u70ba\u81ea\u7136\u5c0d\u6578)\u3002\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: \u4e00\u500b\u6578\u5b57\n:param base: \u8981\u4f7f\u7528\u7684\u5e95\u6578\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"\u8a08\u7b97 ``x`` \u7684\u5c0f\u6578\u90e8\u5206\u548c\u6574\u6578\u90e8\u5206\u3002\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"\u50b3\u56de ``x`` \u7684 ``y`` \u6b21\u65b9\u3002\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:param y: \u6307\u6578\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"\u5c07\u89d2\u5ea6\u8f49\u63db\u70ba\u5f27\u5ea6\u3002\n\nExample: ``math.radians(360)``\n\n:param x: \u4ee5\u89d2\u5ea6\u70ba\u55ae\u4f4d\u7684\u503c\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"\u8a08\u7b97 ``x`` \u7684\u6b63\u5f26\u3002\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"\u8a08\u7b97 ``x`` \u7684\u5e73\u65b9\u6839\u3002\n\nExample: ``math.sqrt(4)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"\u8a08\u7b97 ``x`` \u7684\u6b63\u5207\u3002\n\nExample: ``math.tan(0)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"\u5c07\u6578\u5b57\u5411 0 \u6368\u5165\u3002\n\nExample: ``math.trunc(-0.9)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"\u81ea\u7136\u5c0d\u6578\u7684\u5e95\u6578\"\"\"\npi: float\n\"\"\"\u5713\u7684\u5468\u9577\u8207\u5176\u76f4\u5f91\u7684\u6bd4\u7387\"\"\"", "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython \u5167\u90e8\u3002\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"\u7528\u65bc\u5ba3\u544a\u904b\u7b97\u5f0f\u70ba\u5e38\u6578\uff0c\u4ee5\u4fbf\u7de8\u8b6f\u5668\u5c0d\u5176\u9032\u884c\u6700\u4f73\u5316\u3002\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: \u4e00\u500b\u5e38\u6578\u904b\u7b97\u5f0f\u3002\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"\u53d6\u5f97\u6307\u4ee4\u78bc\u7de8\u8b6f\u7684\u76ee\u524d\u6700\u4f73\u5316\u7b49\u7d1a\u3002\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"\u8a2d\u5b9a\u6307\u4ee4\u78bc\u5f8c\u7e8c\u7de8\u8b6f\u7684\u6700\u4f73\u5316\u7b49\u7d1a\u3002\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: \u6574\u6578\u6700\u4f73\u5316\u7b49\u7d1a\u3002\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"\u8f38\u51fa\u95dc\u65bc\u76ee\u524d\u4f7f\u7528\u7684\u8a18\u61b6\u9ad4\u8cc7\u8a0a\u3002\n\nExample: ``micropython.mem_info()``\n\n:param verbose: \u5982\u679c\u7d66\u51fa ``verbose`` \u5f15\u6578\uff0c\u5247\u6703\u8f38\u51fa\u984d\u5916\u8cc7\u8a0a\u3002\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"\u8f38\u51fa\u95dc\u65bc\u76ee\u524d\u99d0\u7559\u5b57\u4e32\u7684\u8cc7\u8a0a\u3002\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: \u5982\u679c\u6307\u5b9a ``verbose`` \u5f15\u6578\uff0c\u5247\u6703\u8f38\u51fa\u984d\u5916\u8cc7\u8a0a\u3002\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"\u50b3\u56de\u6574\u6578\uff0c\u8868\u793a\u76ee\u524d\u6b63\u5728\u4f7f\u7528\u7684\u5806\u758a\u6578\u91cf\u3002\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"\u9396\u5b9a\u5806\u7a4d\u3002\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"\u89e3\u9396\u5806\u7a4d\u3002\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"\u8a2d\u5b9a\u5c07\u89f8\u767c ``KeyboardInterrupt`` \u4f8b\u5916\u72c0\u6cc1\u7684\u5b57\u5143\u3002\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: \u7528\u65bc\u5f15\u767c\u4e2d\u65b7\u7684\u5b57\u5143\u7a0b\u5f0f\u78bc\u6216 -1\uff0c\u4ee5\u505c\u7528 Ctrl-C \u7684\u64f7\u53d6\u3002\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", "/typeshed/stdlib/music.pyi": "\"\"\"\u5275\u4f5c\u548c\u64ad\u653e\u65cb\u5f8b\u3002\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8c9d\u591a\u82ac C \u5c0f\u8abf\u7b2c\u4e94\u4ea4\u97ff\u66f2\u7684\u958b\u5834\u3002\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u53f2\u8003\u7279\u55ac\u666e\u6797\u7684\u540d\u66f2\u300a\u6f14\u85dd\u4eba\u300b\u958b\u5834\u3002\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u5df4\u54c8 48 \u9996\u524d\u594f\u66f2\u8207\u8ce6\u683c\u66f2 C \u5927\u8abf\u7b2c\u4e00\u524d\u594f\u66f2\u7684\u958b\u5834\u3002\"\"\"\nODE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8c9d\u591a\u82ac D \u5c0f\u8abf\u7b2c\u4e5d\u4ea4\u97ff\u66f2\u4e2d\u7684\u300c\u6b61\u6a02\u980c\u300d\u4e3b\u984c\u3002\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1aNyan Cat \u4e3b\u984c (http://www.nyan.cat/)\u3002\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u807d\u8d77\u4f86\u50cf\u624b\u6a5f\u9234\u8072\u7684\u6771\u897f\u3002\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u70ba\u7279\u52d9\u548c\u72af\u7f6a\u9996\u8166\u6e96\u5099\u7684\u653e\u514b\u8c9d\u65af\u3002\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u5e03\u57fa\u70cf\u57fa 12 \u5c0f\u7bc0\u85cd\u8abf\u8d70\u8def\u8c9d\u65af\u3002\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u300c\u795d\u4f60\u751f\u65e5\u5feb\u6a02\u2026\u2026\u300d\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u83ef\u683c\u7d0d\u6b4c\u5287\u300a\u7f85\u6069\u683c\u6797\u300b\u4e2d\u7684\u65b0\u5a18\u5408\u5531\u3002\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u300a\u846c\u79ae\u9032\u884c\u66f2\u300b\uff0c\u4ea6\u7a31\u70ba\u856d\u90a6\u7684\u300c\u964d b \u5c0f\u8abf\u7b2c\u4e8c\u865f\u92fc\u7434\u594f\u9cf4\u66f2\u300d\u3002\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u4e00\u6bb5\u6709\u8da3\u7684\u97f3\u6a02\uff0c\u8868\u793a\u8aaa\u4e86\u4e00\u500b\u7b11\u8a71\u3002\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7d04\u7ff0\u83f2\u5229\u666e\u8607\u85a9\u7684\u9032\u884c\u66f2\u300a\u81ea\u7531\u9418\u300b\uff0c\u53c8\u540d\u300a\u8499\u63d0\u6d3e\u68ee\u7684\u98db\u884c\u99ac\u6232\u5718\u300b\u7684\u4e3b\u984c\u66f2 (Python \u7a0b\u5f0f\u8a9e\u8a00\u4ee5\u6b64\u547d\u540d)\u3002\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7121\u8072\u96fb\u5f71\u6642\u4ee3\u7684\u60e1\u4eba\u767b\u5834\u3002\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7121\u8072\u96fb\u5f71\u6642\u4ee3\u7684\u8ffd\u9010\u5834\u666f\u3002\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8868\u793a\u67d0\u4e8b\u767c\u751f\u7684\u77ed\u8a0a\u865f\u3002\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u975e\u5e38\u60b2\u50b7\u7684\u9577\u865f\u3002\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7528\u65bc\u904a\u6232\u4e2d\uff0c\u4ee3\u8868\u5411\u4e0a\u79fb\u52d5\u3002\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7528\u65bc\u904a\u6232\u4e2d\uff0c\u8868\u793a\u5411\u4e0b\u79fb\u52d5\u3002\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8868\u793a\u5df2\u89e3\u9396\u6210\u5c31\u7684\u865f\u89d2\u9f4a\u9cf4\u3002\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8868\u793a\u5931\u53bb\u6210\u5c31\u7684\u60b2\u50b7\u865f\u89d2\u8072\u3002\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"\u8a2d\u5b9a\u64ad\u653e\u7684\u5927\u81f4\u7bc0\u594f\u3002\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: \u69cb\u6210\u7bc0\u62cd\u7684\u6ef4\u7b54\u8072\u6578\u3002\n:param bpm: \u4e00\u500b\u6574\u6578\uff0c\u6c7a\u5b9a\u6bcf\u5206\u9418\u6709\u591a\u5c11\u6b21\u7bc0\u62cd\u3002\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"\u4ee5\u6574\u6578\u5143\u7d44\u7684\u5f62\u5f0f\u53d6\u5f97\u7576\u524d\u7bc0\u594f\uff1a``(ticks, bpm)``\u3002\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"\u64ad\u653e\u97f3\u6a02\u3002\n\nExample: ``music.play(music.NYAN)``\n\n:param music: \u7279\u6b8a\u97f3\u7b26\u4e2d\u6307\u5b9a\u7684\u97f3\u6a02 `_\n:param pin: (\u5f15\u8173) \u7528\u65bc\u5916\u63a5\u63da\u8072\u5668\u7684\u8f38\u51fa\u5f15\u8173 (\u9810\u8a2d\u70ba ``pin0``)\uff0c``None`` \u8868\u793a\u7121\u8072\u97f3\u3002\n:param wait: \u5982\u679c ``wait`` \u8a2d\u5b9a\u70ba ``True``\uff0c\u5247\u6b64\u51fd\u5f0f\u6703\u5c01\u9396\u3002\n:param loop: \u5982\u679c ``loop`` \u8a2d\u5b9a\u70ba ``True``\uff0c\u6a02\u66f2\u6703\u91cd\u8907\u76f4\u5230\u547c\u53eb ``stop`` \u6216\u5c01\u9396\u547c\u53eb\u88ab\u4e2d\u65b7\u3002\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"\u5f48\u594f\u4e00\u500b\u97f3\u7b26\u3002 (\u9593\u8ddd)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (\u983b\u7387) \u6574\u6578\u983b\u7387\n:param duration: \u6beb\u79d2\u7684\u6301\u7e8c\u6642\u9593\u3002\u5982\u679c\u662f\u5426\u5b9a\u7684\uff0c\u5247\u8072\u97f3\u5c07\u6301\u7e8c\u5230\u4e0b\u4e00\u6b21\u547c\u53eb\u6216\u5c0d ``stop`` \u7684\u547c\u53eb\u3002\n:param pin: (\u5f15\u8173) \u53ef\u9078\u8f38\u51fa\u5f15\u8173 (\u9810\u8a2d\u503c ``pin0``)\u3002\n:param wait: \u5982\u679c ``wait`` \u8a2d\u5b9a\u70ba ``True``\uff0c\u5247\u6b64\u51fd\u5f0f\u70ba\u5c01\u9396\u3002\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\u505c\u6b62\u5167\u5efa\u63da\u8072\u5668\u4e0a\u7684\u6240\u6709\u97f3\u6a02\u64ad\u653e\u548c\u4efb\u4f55\u5f15\u8173\u8f38\u51fa\u8072\u97f3\u3002\n\nExample: ``music.stop()``\n\n:param pin: (\u5f15\u8173) \u53ef\u4ee5\u63d0\u4f9b\u4e00\u500b\u53ef\u9078\u5f15\u6578\u4f86\u6307\u5b9a\u4e00\u500b\u5f15\u8173\uff0c\u4f8b\u5982 ``music.stop(pin1)``\u3002\"\"\"\n\ndef reset() -> None:\n \"\"\"\u5c07 ticks\u3001bpm\u3001duration \u548c octave \u91cd\u8a2d\u70ba\u5176\u9810\u8a2d\u503c\u3002\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"\u53ef\u7368\u7acb\u5c0b\u5740\u7684 RGB \u548c RGBW LED \u71c8\u689d\u3002\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"\u521d\u59cb\u5316\u900f\u904e\u5f15\u8173\u63a7\u5236\u7684 NeoPixel LED \u71c8\u689d\u3002\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: (\u5f15\u8173) \u63a7\u5236 NeoPixel \u71c8\u689d\u7684\u5f15\u8173\u3002\n:param n: \u71c8\u689d\u4e2d\u7684 NeoPixel \u6578\u3002\n:param bpp: \u5404\u50cf\u7d20\u4f4d\u5143\u7d44\u6578\u3002\u5c0d\u65bc micro:bit V2 RGBW neopixel \u652f\u63f4\uff0c\u50b3\u905e 4 \u800c\u4e0d\u662f RGB \u548c GRB \u7684\u9810\u8a2d\u503c 3\u3002\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"\u6e05\u9664\u6240\u6709\u50cf\u7d20\u3002\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"\u986f\u793a\u50cf\u7d20\u3002\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"\u986f\u793a\u50cf\u7d20 (\u50c5\u9650 micro:bit V2)\u3002\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"\u7528\u7279\u5b9a RGB/RGBW \u503c\u70ba\u6240\u6709\u50cf\u7d20\u8457\u8272\u3002\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: \u9577\u5ea6\u8207\u6bcf\u50cf\u7d20\u4f4d\u5143\u7d44\u6578 (bpp) \u76f8\u540c\u7684\u5143\u7d44\u3002\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"\u8a2d\u5b9a\u50cf\u7d20\u984f\u8272\u3002\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: \u50cf\u7d20\u7de8\u865f\u3002\n:param value: \u984f\u8272\u3002\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"\u53d6\u5f97\u50cf\u7d20\u984f\u8272\u3002\n\nExample: ``r, g, b = np[0]``\n\n:param key: \u50cf\u7d20\u7de8\u865f\u3002\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"\u53d6\u5f97\u6b64\u50cf\u7d20\u71c8\u689d\u7684\u9577\u5ea6\u3002\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"\u53ef\u7368\u7acb\u5c0b\u5740\u7684 RGB \u548c RGBW LED \u71c8\u689d\u3002\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"\u521d\u59cb\u5316\u900f\u904e\u5f15\u8173\u63a7\u5236\u7684 NeoPixel LED \u71c8\u689d\u3002\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: (\u5f15\u8173) \u63a7\u5236 NeoPixel \u71c8\u689d\u7684\u5f15\u8173\u3002\n:param n: \u71c8\u689d\u4e2d\u7684 NeoPixel \u6578\u3002\n:param bpp: \u5404\u50cf\u7d20\u4f4d\u5143\u7d44\u6578\u3002\u5c0d\u65bc RGBW neopixel \u652f\u63f4\uff0c\u50b3\u905e 4 \u800c\u4e0d\u662f RGB \u548c GRB \u7684\u9810\u8a2d\u503c 3\u3002\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"\u6e05\u9664\u6240\u6709\u50cf\u7d20\u3002\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"\u986f\u793a\u50cf\u7d20\u3002\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"\u986f\u793a\u50cf\u7d20 (\u50c5\u9650 micro:bit V2)\u3002\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"\u7528\u7279\u5b9a RGB/RGBW \u503c\u70ba\u6240\u6709\u50cf\u7d20\u8457\u8272 (\u50c5\u9650 micro:bit V2)\u3002\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: \u9577\u5ea6\u8207\u6bcf\u50cf\u7d20\u4f4d\u5143\u7d44\u6578 (bpp) \u76f8\u540c\u7684\u5143\u7d44\u3002\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"\u8a2d\u5b9a\u50cf\u7d20\u984f\u8272\u3002\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: \u50cf\u7d20\u7de8\u865f\u3002\n:param value: \u984f\u8272\u3002\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"\u53d6\u5f97\u50cf\u7d20\u984f\u8272\u3002\n\nExample: ``r, g, b = np[0]``\n\n:param key: \u50cf\u7d20\u7de8\u865f\u3002\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"\u53d6\u5f97\u6b64\u50cf\u7d20\u71c8\u689d\u7684\u9577\u5ea6\u3002\n\nExample: ``len(np)``\"\"\"", "/typeshed/stdlib/os.pyi": "\"\"\"\u5b58\u53d6\u6a94\u6848\u7cfb\u7d71\u3002\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"\u5217\u51fa\u6a94\u6848\u3002\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"\u79fb\u9664 (\u522a\u9664) \u4e00\u500b\u6a94\u6848\u3002\n\nExample: ``os.remove('data.txt')``\n\n:param filename: \u8981\u522a\u9664\u7684\u6a94\u6848\u3002\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"\u50b3\u56de\u6a94\u6848\u7684\u5927\u5c0f\u3002\n\nExample: ``os.size('data.txt')``\n\n:param filename: \u6a94\u6848\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"``os.uname()`` \u7684\u7d50\u679c\"\"\"\n sysname: str\n \"\"\"\u4f5c\u696d\u7cfb\u7d71\u540d\u7a31\u3002\"\"\"\n nodename: str\n \"\"\"\u7db2\u8def\u4e0a\u7684\u6a5f\u5668\u540d\u7a31 (\u57f7\u884c\u5b9a\u7fa9)\u3002\"\"\"\n release: str\n \"\"\"\u4f5c\u696d\u7cfb\u7d71\u767c\u4f48\u3002\"\"\"\n version: str\n \"\"\"\u4f5c\u696d\u7cfb\u7d71\u7248\u672c\u3002\"\"\"\n machine: str\n \"\"\"\u786c\u9ad4\u8b58\u5225\u78bc\u3002\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"\u50b3\u56de\u8b58\u5225\u76ee\u524d\u4f5c\u696d\u7cfb\u7d71\u7684\u8cc7\u8a0a\u3002\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", "/typeshed/stdlib/radio.pyi": "\"\"\"\u4f7f\u7528\u5167\u5efa\u7121\u7dda\u96fb\u5728 micro:bits \u4e4b\u9593\u9032\u884c\u901a\u8a0a\u3002 (\u7121\u7dda\u96fb)\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"\u5e38\u6578\u7528\u65bc\u6307\u793a\u6bcf\u79d2 1 MBit \u7684\u8f38\u9001\u91cf\u3002\"\"\"\nRATE_2MBIT: int\n\"\"\"\u5e38\u6578\u7528\u65bc\u6307\u793a\u6bcf\u79d2 2 MBit \u7684\u8f38\u9001\u91cf\u3002\"\"\"\n\ndef on() -> None:\n \"\"\"\u958b\u555f\u7121\u7dda\u96fb\u3002\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"\u95dc\u9589\u7121\u7dda\u96fb\uff0c\u7bc0\u7701\u96fb\u91cf\u548c\u8a18\u61b6\u9ad4\u3002\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"\u8a2d\u5b9a\u7121\u7dda\u96fb\u3002\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (default=32) \u5b9a\u7fa9\u900f\u904e\u7121\u7dda\u96fb\u50b3\u9001\u7684\u8a0a\u606f\u7684\u6700\u5927\u9577\u5ea6 (\u4ee5\u4f4d\u5143\u7d44\u70ba\u55ae\u4f4d)\u3002\n\u6700\u9577\u53ef\u9054 251 \u500b\u4f4d\u5143\u7d44 (S0\u3001LENGTH \u548c S1 \u524d\u5e8f\u7de8\u78bc\u70ba 254 - 3 \u500b\u4f4d\u5143\u7d44)\u3002\n:param queue: (default=3) \u6307\u5b9a\u53ef\u4ee5\u5b58\u5132\u5728\u50b3\u5165\u8a0a\u606f\u4f47\u5217\u4e2d\u7684\u8a0a\u606f\u6578\u3002\n\u5982\u679c\u4f47\u5217\u4e2d\u6c92\u6709\u7a7a\u9593\u53ef\u7559\u7d66\u50b3\u5165\u8a0a\u606f\uff0c\u5247\u6368\u68c4\u50b3\u5165\u8a0a\u606f\u3002\n:param channel: (default=7) \u4e00\u500b\u5f9e 0 \u5230 83 (\u5305\u542b) \u7684\u6574\u6578\u503c\uff0c\u5b9a\u7fa9\u7121\u7dda\u96fb\u8abf\u6574\u5230\u7684\u4efb\u610f \"channel\"\u3002\n\u8a0a\u606f\u5c07\u900f\u904e\u6b64\u983b\u9053\u50b3\u9001\uff0c\u53ea\u6709\u900f\u904e\u6b64\u983b\u9053\u63a5\u6536\u7684\u8a0a\u606f\uff0c\u624d\u6703\u653e\u5165\u50b3\u5165\u8a0a\u606f\u4f47\u5217\u3002\n\u6bcf\u4e00\u6b65\u90fd\u662f 1MHz \u5bec\uff0c\u4ee5 2400MHz \u70ba\u57fa\u790e\u3002\n:param power: (default=6) \u662f\u4e00\u500b\u5f9e 0 \u5230 7 (\u5305\u542b) \u7684\u6574\u6578\u503c\uff0c\u8868\u793a\u7121\u7dda\u96fb\u8a0a\u606f\u6642\u4f7f\u7528\u7684\u8a0a\u865f\u529f\u7387\u3002\n\u6578\u503c\u8d8a\u9ad8\uff0c\u8a0a\u865f\u8d8a\u5f37\uff0c\u4f46\u88dd\u7f6e\u6d88\u8017\u7684\u529f\u7387\u8d8a\u591a\u3002\u7de8\u865f\u8f49\u63db\u70ba\u4e0b\u5217 dBm (\u5206\u8c9d\u6beb\u74e6) \u6578\u503c\u5217\u8868\u4e2d\u7684\u4f4d\u7f6e\uff1a-30\u3001-20\u3001-16\u3001-12\u3001-8\u3001-4\u30010\u30014\u3002\n:param address: (default=0x75626974) \u4efb\u610f\u540d\u7a31\uff0c\u8868\u793a\u70ba 32 \u4f4d\u5143\u4f4d\u5740\uff0c\u7528\u65bc\u5728\u786c\u9ad4\u7b49\u7d1a\u7be9\u9078\u50b3\u5165\u7684\u8cc7\u6599\u5957\u4ef6\uff0c\u50c5\u4fdd\u7559\u8207\u60a8\u8a2d\u5b9a\u7684\u4f4d\u5740\u76f8\u7b26\u7684\u90a3\u4e9b\u3002\n\u5176\u4ed6 micro:bit \u76f8\u95dc\u5e73\u53f0\u4f7f\u7528\u7684\u9810\u8a2d\u8a2d\u5b9a\uff0c\u5247\u662f\u6b64\u8655\u4f7f\u7528\u7684\u9810\u8a2d\u8a2d\u5b9a\u3002\n:param group: (default=0) \u7be9\u9078\u8a0a\u606f\u6642\u8207 ``address`` \u4e00\u8d77\u4f7f\u7528\u7684 8 \u4f4d\u5143\u503c (0-255)\u3002\n\u5f9e\u6982\u5ff5\u4e0a\u8b1b\uff0c\"address\" \u5c31\u50cf\u4e00\u500b\u5bb6\u5ead/\u8fa6\u516c\u5ba4\u5730\u5740\uff0c\u800c \"group\" \u5c31\u50cf\u60a8\u8981\u5411\u8a72\u5730\u5740\u50b3\u9001\u8a0a\u606f\u7684\u4eba\u3002\n:param data_rate: (default=``radio.RATE_1MBIT``) \u8868\u793a\u8cc7\u6599\u8f38\u9001\u91cf\u767c\u751f\u7684\u901f\u5ea6\u3002\n\u53ef\u4ee5\u662f ``radio`` \u6a21\u7d44\u4e2d\u5b9a\u7fa9\u7684\u4e0b\u5217\u5e38\u6578\u4e4b\u4e00\uff1a``RATE_250KBIT``\u3001``RATE_1MBIT`` \u6216 ``RATE_2MBIT``\u3002\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\u5c07\u8a2d\u5b9a\u91cd\u8a2d\u70ba\u5176\u9810\u8a2d\u503c\u3002\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"\u50b3\u9001\u5305\u542b\u4f4d\u5143\u7d44\u7684\u8a0a\u606f\u3002\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: \u8981\u50b3\u9001\u7684\u4f4d\u5143\u7d44\u3002\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"\u63a5\u6536\u8a0a\u606f\u4f47\u5217\u4e2d\u7684\u4e0b\u4e00\u5247\u50b3\u5165\u8a0a\u606f\u3002\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"\u5c07\u8a0a\u606f\u4f47\u5217\u4e2d\u7684\u4e0b\u4e00\u5247\u50b3\u5165\u8a0a\u606f\u8907\u88fd\u5230\u7de9\u885d\u5340\u3002\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: \u76ee\u6a19\u7de9\u885d\u5340\u3002\u5982\u679c\u8a0a\u606f\u5927\u5c0f\u5927\u65bc\u7de9\u885d\u5340\uff0c\u5247\u8a0a\u606f\u6703\u88ab\u622a\u65b7\u3002\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"\u50b3\u9001\u8a0a\u606f\u5b57\u4e32\u3002\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: \u8981\u50b3\u9001\u7684\u5b57\u4e32\u3002\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"\u5de5\u4f5c\u65b9\u5f0f\u8207 ``receive_bytes`` \u5b8c\u5168\u76f8\u540c\uff0c\u4f46\u6703\u50b3\u56de\u50b3\u9001\u7684\u4efb\u4f55\u5167\u5bb9\u3002\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"\u50b3\u56de\u4e00\u500b\u5305\u542b\u4e09\u500b\u6578\u503c\u7684\u5143\u7d44\uff0c\u7528\u4f86\u4ee3\u8868\u8a0a\u606f\u4f47\u5217\u4e2d\u7684\u4e0b\u4e00\u5247\u50b3\u5165\u8a0a\u606f\u3002\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", @@ -37,7 +37,7 @@ "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"\u5f15\u8173\u3001\u5f71\u50cf\u3001\u8072\u97f3\u3001\u6eab\u5ea6\u548c\u97f3\u91cf\u3002\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Function to call at the provided interval. Omit when using as a decorator.\n:param days: Sets the day mark for the scheduling.\n:param h: Sets the hour mark for the scheduling.\n:param min: Sets the minute mark for the scheduling.\n:param s: Sets the second mark for the scheduling.\n:param ms: Sets the millisecond mark for the scheduling.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"\u9032\u5165\u7dca\u6025\u6a21\u5f0f\u3002\n\nExample: ``panic(127)``\n\n:param n: \u4efb\u610f\u6574\u6578 <= 255 \u4ee5\u8868\u793a\u72c0\u614b\u3002\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"\u91cd\u555f\u958b\u767c\u677f\u3002\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: A number to convert.\n:param from_: A tuple to define the range to convert from.\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: A number to convert.\n:param from_: A tuple to define the range to convert from.\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"\u7b49\u5f85 ``n`` \u6beb\u79d2\u3002\n\nExample: ``sleep(1000)``\n\n:param n: \u8981\u7b49\u5f85\u7684\u6beb\u79d2\u6578\u3002\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"\u53d6\u5f97\u958b\u767c\u677f\u7684\u57f7\u884c\u6642\u9593\u3002\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"\u53d6\u5f97 micro:bit \u7684\u6eab\u5ea6 (\u4ee5\u651d\u6c0f\u70ba\u55ae\u4f4d)\u3002 (\u6eab\u5ea6)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"\u8a2d\u5b9a\u97f3\u91cf\u3002\n\nExample: ``set_volume(127)``\n\n:param v: \u4ecb\u65bc 0 (\u4f4e) \u548c 255 (\u9ad8) \u4e4b\u9593\u7684\u503c\u3002\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"\u6309\u9215 ``button_a`` \u548c ``button_b`` \u7684\u985e\u5225\u3002\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\u6aa2\u67e5\u6309\u9215\u662f\u5426\u6709\u6309\u4e0b\u3002\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\u6aa2\u67e5\u81ea\u88dd\u7f6e\u555f\u52d5\u6216\u4e0a\u6b21\u547c\u53eb\u6b64\u65b9\u6cd5\u4ee5\u4f86\uff0c\u662f\u5426\u6709\u6309\u4e0b\u8a72\u6309\u9215\u3002\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"\u53d6\u5f97\u6309\u4e0b\u6309\u9215\u7684\u57f7\u884c\u7e3d\u6578\uff0c\u4e26\u5728\u50b3\u56de\u524d\u5c07\u6b64\u7e3d\u6578\u91cd\u8a2d\u70ba\u96f6\u3002\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"\u5de6\u5074\u6309\u9215 ``Button`` \u7269\u4ef6\u3002\"\"\"\nbutton_b: Button\n\"\"\"\u53f3\u5074\u6309\u9215 ``Button`` \u7269\u4ef6\u3002\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"\u6578\u4f4d\u5f15\u8173\u3002\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"\u53d6\u5f97\u5f15\u8173\u7684\u6578\u4f4d\u503c\u3002\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"\u8a2d\u5b9a\u5f15\u8173\u7684\u6578\u4f4d\u503c\u3002\n\nExample: ``pin0.write_digital(1)``\n\n:param value: 1 \u5c07\u5f15\u8173\u8a2d\u70ba\u9ad8\u96fb\u5e73\uff0c\u6216 0 \u5c07\u5f15\u8173\u8a2d\u70ba\u4f4e\u96fb\u5e73\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"\u5c07\u63d0\u53d6\u72c0\u614b\u8a2d\u70ba\u4e09\u500b\u53ef\u80fd\u503c\u4e4b\u4e00\uff1a``PULL_UP``\u3001``PULL_DOWN`` \u6216 ``NO_PULL``\u3002\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: \u76f8\u95dc\u5f15\u8173\u7684\u63d0\u53d6\u72c0\u614b\uff0c\u4f8b\u5982 ``pin0.PULL_UP``\u3002\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"\u53d6\u5f97\u5f15\u8173\u4e0a\u7684\u63d0\u53d6\u72c0\u614b\u3002\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"\u50b3\u56de\u5f15\u8173\u6a21\u5f0f\u3002\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"\u5728\u5f15\u8173\u4e0a\u8f38\u51fa PWM \u8a0a\u865f\uff0c\u5de5\u4f5c\u9031\u671f\u8207 ``value`` \u6210\u6b63\u6bd4\u3002\n\nExample: ``pin0.write_analog(254)``\n\n:param value: \u4ecb\u65bc 0 (0% \u5de5\u4f5c\u9031\u671f) \u548c 1023 (100% \u5de5\u4f5c\u9031\u671f) \u4e4b\u9593\u7684\u6574\u6578\u6216\u6d6e\u9ede\u6578\u3002\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"\u5c07\u8f38\u51fa\u7684 PWM \u8a0a\u865f\u9031\u671f\u8a2d\u70ba ``period`` (\u4ee5\u6beb\u79d2\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: \u4ee5\u6beb\u79d2\u70ba\u55ae\u4f4d\u7684\u9031\u671f\uff0c\u6700\u5c0f\u6709\u6548\u503c\u70ba 1ms\u3002\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"\u5c07\u8f38\u51fa\u7684 PWM \u8a0a\u865f\u9031\u671f\u8a2d\u70ba ``period`` (\u4ee5\u5fae\u79d2\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: \u4ee5\u5fae\u79d2\u70ba\u55ae\u4f4d\u7684\u9031\u671f\uff0c\u6700\u5c0f\u6709\u6548\u503c\u70ba 256\u00b5s\u3002\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"\u5177\u6709\u985e\u6bd4\u548c\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"\u8b80\u53d6\u65bd\u52a0\u5230\u5f15\u8173\u7684\u96fb\u58d3\u3002\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"\u5177\u6709\u985e\u6bd4\u3001\u6578\u4f4d\u548c\u89f8\u63a7\u529f\u80fd\u7684\u5f15\u8173\u3002\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\u6aa2\u67e5\u5f15\u8173\u662f\u5426\u53d7\u89f8\u63a7\u3002\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"\u8a2d\u5b9a\u5f15\u8173\u7684\u89f8\u63a7\u6a21\u5f0f\u3002\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: \u76f8\u95dc\u5f15\u8173\u7684 ``CAPACITIVE`` \u6216 ``RESISTIVE``\u3002\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u3001\u985e\u6bd4\u548c\u89f8\u63a7\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 0)\"\"\"\npin1: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u3001\u985e\u6bd4\u548c\u89f8\u63a7\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 1)\"\"\"\npin2: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u3001\u985e\u6bd4\u548c\u89f8\u63a7\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 2)\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u548c\u985e\u6bd4\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 3)\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u548c\u985e\u6bd4\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 4)\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 5)\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 6)\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 7)\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 8)\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 9)\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u548c\u985e\u6bd4\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 10)\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 11)\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 12)\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 13)\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 14)\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 15)\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 16)\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 19)\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 20)\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"micro:bit \u6b63\u9762\u7684\u89f8\u63a7\u611f\u61c9\u6a19\u8a8c\u5f15\u8173\uff0c\u9810\u8a2d\u70ba\u96fb\u5bb9\u5f0f\u89f8\u63a7\u6a21\u5f0f\u3002\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"\u7528\u65bc\u5b9a\u5740 micro:bit \u63da\u8072\u5668\u7684\u5f15\u8173\u3002\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"\u8981\u5728 micro:bit LED \u986f\u793a\u5668\u4e0a\u986f\u793a\u7684\u5716\u50cf\u3002 (\u5716\u50cf)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"\u611b\u5fc3\u5716\u50cf\u3002\"\"\"\n HEART_SMALL: Image\n \"\"\"\u5c0f\u611b\u5fc3\u5716\u50cf\u3002\"\"\"\n HAPPY: Image\n \"\"\"\u958b\u5fc3\u7684\u81c9\u5716\u50cf\u3002 (\u958b\u5fc3)\"\"\"\n SMILE: Image\n \"\"\"\u7b11\u81c9\u5716\u50cf\u3002 (\u5fae\u7b11)\"\"\"\n SAD: Image\n \"\"\"\u50b7\u5fc3\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n CONFUSED: Image\n \"\"\"\u56f0\u60d1\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n ANGRY: Image\n \"\"\"\u751f\u6c23\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n ASLEEP: Image\n \"\"\"\u7761\u81c9\u5716\u50cf\u3002\"\"\"\n SURPRISED: Image\n \"\"\"\u9a5a\u8a1d\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n SILLY: Image\n \"\"\"\u9b3c\u81c9\u5716\u50cf\u3002\"\"\"\n FABULOUS: Image\n \"\"\"\u6234\u592a\u967d\u773c\u93e1\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n MEH: Image\n \"\"\"\u51b7\u6f20\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n YES: Image\n \"\"\"\u52fe\u865f\u5716\u50cf\u3002\"\"\"\n NO: Image\n \"\"\"\u53c9\u865f\u5716\u50cf\u3002\"\"\"\n CLOCK12: Image\n \"\"\"\u6307\u91dd\u6307\u5411 12 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK11: Image\n \"\"\"\u6307\u91dd\u6307\u5411 11 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK10: Image\n \"\"\"\u6307\u91dd\u6307\u5411 10 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK9: Image\n \"\"\"\u6307\u91dd\u6307\u5411 9 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK8: Image\n \"\"\"\u6307\u91dd\u6307\u5411 8 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK7: Image\n \"\"\"\u6307\u91dd\u6307\u5411 7 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK6: Image\n \"\"\"\u6307\u91dd\u6307\u5411 6 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK5: Image\n \"\"\"\u6307\u91dd\u6307\u5411 5 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK4: Image\n \"\"\"\u6307\u91dd\u6307\u5411 4 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK3: Image\n \"\"\"\u6307\u91dd\u6307\u5411 3 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK2: Image\n \"\"\"\u6307\u91dd\u6307\u5411 2 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK1: Image\n \"\"\"\u6307\u91dd\u6307\u5411 1 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_N: Image\n \"\"\"\u6307\u5411\u5317\u65b9\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_NE: Image\n \"\"\"\u6307\u5411\u6771\u5317\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_E: Image\n \"\"\"\u6307\u5411\u6771\u65b9\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_SE: Image\n \"\"\"\u6307\u5411\u6771\u5357\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_S: Image\n \"\"\"\u6307\u5411\u5357\u65b9\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_SW: Image\n \"\"\"\u6307\u5411\u897f\u5357\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_W: Image\n \"\"\"\u6307\u5411\u897f\u65b9\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_NW: Image\n \"\"\"\u6307\u5411\u897f\u5317\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n TRIANGLE: Image\n \"\"\"\u4e09\u89d2\u5f62\u671d\u4e0a\u7684\u5716\u50cf\u3002\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"\u4e09\u89d2\u5f62\u671d\u5de6\u7684\u5716\u50cf\u3002\"\"\"\n CHESSBOARD: Image\n \"\"\"\u4ee5\u68cb\u76e4\u5716\u6848\u4ea4\u932f\u767c\u4eae\u7684 LED \u71c8\u3002\"\"\"\n DIAMOND: Image\n \"\"\"\u947d\u77f3\u5716\u50cf\u3002\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"\u5c0f\u947d\u77f3\u5716\u50cf\u3002\"\"\"\n SQUARE: Image\n \"\"\"\u6b63\u65b9\u5f62\u5716\u50cf\u3002\"\"\"\n SQUARE_SMALL: Image\n \"\"\"\u5c0f\u6b63\u65b9\u5f62\u5716\u50cf\u3002\"\"\"\n RABBIT: Image\n \"\"\"\u5154\u5b50\u5716\u50cf\u3002\"\"\"\n COW: Image\n \"\"\"\u4e73\u725b\u5716\u50cf\u3002\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"\u56db\u5206\u97f3\u7b26\u5716\u50cf\u3002\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"\u516b\u5206\u97f3\u7b26\u5716\u50cf\u3002\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"\u4e00\u7d44\u516b\u5206\u97f3\u7b26\u5716\u50cf\u3002\"\"\"\n PITCHFORK: Image\n \"\"\"\u4e7e\u8349\u53c9\u5716\u50cf\u3002\"\"\"\n XMAS: Image\n \"\"\"\u8056\u8a95\u6a39\u5716\u50cf\u3002\"\"\"\n PACMAN: Image\n \"\"\"\u5c0f\u7cbe\u9748\u8857\u6a5f\u89d2\u8272\u5716\u50cf\u3002\"\"\"\n TARGET: Image\n \"\"\"\u9776\u5b50\u5716\u50cf\u3002\"\"\"\n TSHIRT: Image\n \"\"\"T \u6064\u5716\u50cf\u3002\"\"\"\n ROLLERSKATE: Image\n \"\"\"\u8f2a\u5f0f\u6e9c\u51b0\u978b\u5716\u50cf\u3002\"\"\"\n DUCK: Image\n \"\"\"\u9d28\u5b50\u5716\u50cf\u3002\"\"\"\n HOUSE: Image\n \"\"\"\u623f\u5b50\u5716\u50cf\u3002\"\"\"\n TORTOISE: Image\n \"\"\"\u9678\u9f9c\u5716\u50cf\u3002\"\"\"\n BUTTERFLY: Image\n \"\"\"\u8774\u8776\u5716\u50cf\u3002\"\"\"\n STICKFIGURE: Image\n \"\"\"\u7c21\u7b46\u756b\u5716\u50cf\u3002\"\"\"\n GHOST: Image\n \"\"\"\u5e7d\u9748\u5716\u50cf\u3002\"\"\"\n SWORD: Image\n \"\"\"\u528d\u5716\u50cf\u3002\"\"\"\n GIRAFFE: Image\n \"\"\"\u9577\u9838\u9e7f\u5716\u50cf\u3002\"\"\"\n SKULL: Image\n \"\"\"\u9ab7\u9acf\u982d\u5716\u50cf\"\"\"\n UMBRELLA: Image\n \"\"\"\u96e8\u5098\u5716\u50cf\u3002\"\"\"\n SNAKE: Image\n \"\"\"\u86c7\u5716\u50cf\u3002\"\"\"\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"\u6309\u9806\u5e8f\u5305\u542b\u6240\u6709 CLOCK_\u5716\u50cf\u7684\u5217\u8868\u3002\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"\u6309\u9806\u5e8f\u5305\u542b\u6240\u6709 ARROW_\u5716\u50cf\u7684\u5217\u8868\u3002\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"\u5f9e\u63cf\u8ff0\u9ede\u4eae\u54ea\u4e9b LED \u7684\u5b57\u4e32\u5efa\u7acb\u5716\u50cf\u3002\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: \u63cf\u8ff0\u5716\u50cf\u7684\u5b57\u4e32\u3002\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"\u5efa\u7acb\u4e00\u500b ``width`` \u884c ``height`` \u5217\u7684\u7a7a\u767d\u5716\u50cf\u3002\n\n:param width: \u53ef\u9078\u7684\u5716\u50cf\u5bec\u5ea6\n:param height: \u53ef\u9078\u7684\u5716\u50cf\u9ad8\u5ea6\n:param buffer: \u7528\u53ef\u9078\u9663\u5217\u6216\u5728 0-9 \u7bc4\u570d\u5167\u7684 ``width``\u00d7``height`` \u6574\u6578\u4f4d\u5143\u7d44\uff0c\u4f86\u521d\u59cb\u5316\u5716\u50cf\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"\u53d6\u5f97\u884c\u6578\u3002\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"\u53d6\u5f97\u5217\u6578\u3002\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"\u8a2d\u5b9a\u50cf\u7d20\u7684\u4eae\u5ea6\u3002\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: \u884c\u865f\n:param y: \u5217\u865f\n:param value: \u4eae\u5ea6\u70ba\u4ecb\u65bc 0 (\u6697) \u548c 9 (\u4eae) \u4e4b\u9593\u7684\u6574\u6578\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"\u53d6\u5f97\u50cf\u7d20\u7684\u4eae\u5ea6\u3002\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: \u884c\u865f\n:param y: \u5217\u865f\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"\u5411\u5de6\u79fb\u52d5\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: \u8981\u79fb\u52d5\u7684\u884c\u6578\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"\u5411\u53f3\u79fb\u52d5\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: \u8981\u79fb\u52d5\u7684\u884c\u6578\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"\u5411\u4e0a\u79fb\u52d5\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: \u8981\u79fb\u52d5\u7684\u5217\u6578\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"\u900f\u904e\u5411\u4e0b\u79fb\u52d5\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: \u8981\u79fb\u52d5\u7684\u5217\u6578\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"\u900f\u904e\u88c1\u526a\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: \u88c1\u526a\u4f4d\u79fb\u884c\n:param y: \u88c1\u526a\u4f4d\u79fb\u5217\n:param w: \u526a\u88c1\u5bec\u5ea6\n:param h: \u526a\u88c1\u9ad8\u5ea6\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"\u5efa\u7acb\u5716\u50cf\u7684\u7cbe\u78ba\u526f\u672c\u3002\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"\u900f\u904e\u53cd\u8f49\u4f86\u6e90\u5716\u50cf\u7684\u50cf\u7d20\u4eae\u5ea6\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"\u8a2d\u5b9a\u5716\u50cf\u4e2d\u6240\u6709\u50cf\u7d20\u7684\u4eae\u5ea6\u3002\n\nExample: ``my_image.fill(5)``\n\n:param value: \u65b0\u4eae\u5ea6\u70ba 0 (\u6697) \u548c 9 (\u4eae) \u4e4b\u9593\u7684\u6578\u5b57\u3002\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"\u5c07\u53e6\u4e00\u500b\u5716\u50cf\u4e2d\u7684\u4e00\u500b\u5340\u57df\u8907\u88fd\u5230\u8a72\u5716\u50cf\u4e2d\u3002\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: \u4f86\u6e90\u5716\u50cf\n:param x: \u4f86\u6e90\u5716\u50cf\u4e2d\u7684\u8d77\u59cb\u884c\u4f4d\u79fb\n:param y: \u4f86\u6e90\u5716\u50cf\u4e2d\u7684\u8d77\u59cb\u5217\u4f4d\u79fb\n:param w: \u8981\u8907\u88fd\u7684\u884c\u6578\n:param h: \u8981\u8907\u88fd\u7684\u5217\u6578\n:param xdest: \u6b64\u5716\u50cf\u4e2d\u8981\u4fee\u6539\u7684\u884c\u4f4d\u79fb\n:param ydest: \u6b64\u5716\u50cf\u4e2d\u8981\u4fee\u6539\u7684\u5217\u4f4d\u79fb\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"\u53d6\u5f97\u5716\u50cf\u7684\u7dca\u6e4a\u5b57\u4e32\u986f\u793a\u3002\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"\u53d6\u5f97\u5716\u50cf\u7684\u53ef\u8b80\u5b57\u4e32\u986f\u793a\u3002\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"\u900f\u904e\u5c07\u5169\u500b\u5716\u50cf\u7684\u50cf\u7d20\u4eae\u5ea6\u503c\u76f8\u52a0\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: \u8981\u65b0\u589e\u7684\u5716\u50cf\u3002\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"\u900f\u904e\u5f9e\u8a72\u5716\u50cf\u4e2d\u6e1b\u53bb\u53e6\u4e00\u500b\u5716\u50cf\u7684\u4eae\u5ea6\u503c\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: \u8981\u6e1b\u53bb\u7684\u5716\u50cf\u3002\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"\u5c07\u5404\u50cf\u7d20\u7684\u4eae\u5ea6\u4e58\u4ee5 ``n``\uff0c\u4ee5\u5efa\u7acb\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART * 0.5``\n\n:param n: \u8981\u4e58\u4ee5\u7684\u503c\u3002\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"\u900f\u904e\u5c07\u5404\u50cf\u7d20\u7684\u4eae\u5ea6\u9664\u4ee5 ``n``\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART / 2``\n\n:param n: \u8981\u9664\u4ee5\u7684\u503c\u3002\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"\u8868\u793a\u8072\u97f3\u4e8b\u4ef6\u7684\u8f49\u63db\uff0c\u5f9e ``quiet`` \u5230 ``loud``\uff0c\u5982\u9f13\u638c\u6216\u558a\u53eb\u3002\"\"\"\n QUIET: SoundEvent\n \"\"\"\u8868\u793a\u8072\u97f3\u4e8b\u4ef6\u7684\u8f49\u63db\uff0c\u5f9e ``loud`` \u5230 ``quiet``\u3002\u4f8b\u5982\uff0c\u8aaa\u8a71\u6216\u80cc\u666f\u97f3\u6a02\u3002\"\"\"\n\nclass Sound:\n \"\"\"\u53ef\u4ee5\u4f7f\u7528 ``audio.play(Sound.NAME)`` \u8abf\u7528\u5167\u5efa\u8072\u97f3\u3002\"\"\"\n GIGGLE: Sound\n \"\"\"\u54af\u54af\u7b11\u7684\u8072\u97f3\u3002 (\u54af\u54af\u7b11)\"\"\"\n HAPPY: Sound\n \"\"\"\u958b\u5fc3\u7684\u8072\u97f3\u3002 (\u958b\u5fc3)\"\"\"\n HELLO: Sound\n \"\"\"\u6b61\u8fce\u7684\u8072\u97f3\u3002 (\u54c8\u56c9)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"\u795e\u7955\u7684\u8072\u97f3\u3002 (\u795e\u79d8)\"\"\"\n SAD: Sound\n \"\"\"\u96e3\u904e\u7684\u8072\u97f3\u3002 (\u96e3\u904e)\"\"\"\n SLIDE: Sound\n \"\"\"\u6ed1\u52d5\u7684\u8072\u97f3\u3002\"\"\"\n SOARING: Sound\n \"\"\"\u9ad8\u6602\u7684\u8072\u97f3\u3002 (\u9ad8\u6602)\"\"\"\n SPRING: Sound\n \"\"\"\u5f48\u8df3\u7684\u8072\u97f3\u3002 (\u5f48\u8df3)\"\"\"\n TWINKLE: Sound\n \"\"\"\u767c\u4eae\u7684\u8072\u97f3\u3002 (\u767c\u4eae)\"\"\"\n YAWN: Sound\n \"\"\"\u5475\u6b20\u7684\u8072\u97f3\u3002\"\"\"", "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"\u6e2c\u91cf micro:bit \u7684\u52a0\u901f\u5ea6\u4e26\u8b58\u5225\u624b\u52e2\u3002\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"\u53d6\u5f97 ``x`` \u8ef8\u4e0a\u7684\u52a0\u901f\u5ea6\u6e2c\u91cf\u503c (\u4ee5\u6beb\u514b\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"\u53d6\u5f97 ``y`` \u8ef8\u4e0a\u7684\u52a0\u901f\u5ea6\u6e2c\u91cf\u503c (\u4ee5\u6beb\u514b\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"\u53d6\u5f97 ``z`` \u8ef8\u4e0a\u7684\u52a0\u901f\u5ea6\u6e2c\u91cf\u503c (\u4ee5\u6beb\u514b\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"\u4e00\u6b21\u53d6\u5f97\u6240\u6709\u8ef8\u4e0a\u7684\u52a0\u901f\u5ea6\u6e2c\u91cf\u503c\u505a\u70ba\u5143\u7d44\u3002\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"\u53d6\u5f97\u76ee\u524d\u624b\u52e2\u7684\u540d\u7a31\u3002\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"\u6aa2\u67e5\u547d\u540d\u7684\u624b\u52e2\u76ee\u524d\u662f\u5426\u8655\u65bc\u6d3b\u52d5\u72c0\u614b\u3002\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u624b\u52e2\u540d\u7a31\u3002\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"\u6aa2\u67e5\u547d\u540d\u624b\u52e2\u81ea\u4e0a\u6b21\u547c\u53eb\u5f8c\u662f\u5426\u8655\u65bc\u6d3b\u52d5\u72c0\u614b\u3002\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u624b\u52e2\u540d\u7a31\u3002\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"\u50b3\u56de\u624b\u52e2\u6b77\u53f2\u7d00\u9304\u7684\u5143\u7d44\u3002\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: New range for the accelerometer, an integer in ``g``.\"\"\"", - "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"\u4f7f\u7528 micro:bit \u64ad\u653e\u8072\u97f3 (\u532f\u5165 ``audio`` \u8207 V1 \u76f8\u5bb9)\u3002\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n:param wait: \u5982\u679c ``wait`` \u70ba ``True``\uff0c\u6b64\u51fd\u5f0f\u5c07\u6703\u5c01\u9396\uff0c\u76f4\u5230\u8072\u97f3\u5b8c\u6210\u3002\n:param pin: (\u5f15\u8173) \u6307\u5b9a\u8f38\u51fa\u5f15\u8173\u7684\u53ef\u9078\u5f15\u6578\uff0c\u53ef\u7528\u65bc\u8986\u5beb\u9810\u8a2d\u503c ``pin0``\u3002\u5982\u679c\u6211\u5011\u4e0d\u60f3\u64ad\u653e\u4efb\u4f55\u8072\u97f3\uff0c\u6211\u5011\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\n:param return_pin: \u6307\u5b9a\u5dee\u5206\u908a\u7de3\u9023\u63a5\u5668\u5f15\u8173\uff0c\u4ee5\u9023\u63a5\u5230\u5916\u90e8\u63da\u8072\u5668\u800c\u4e0d\u662f\u63a5\u5730\u3002\u5728 **V2** \u4fee\u8a02\u7248\u4e2d\uff0c\u9019\u5c07\u6703\u88ab\u5ffd\u7565\u3002\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\u6aa2\u67e5\u662f\u5426\u6b63\u5728\u64ad\u653e\u8072\u97f3\u3002\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"\u505c\u6b62\u6240\u6709\u97f3\u8a0a\u64ad\u653e\u3002\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremelo effect option used for the ``fx`` parameter.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Create a new sound effect.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n:param vol_start: Start volume value, a number between ``0`` and ``255``.\n:param vol_end: End volume value, a number between ``0`` and ``255``.\n:param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n:param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n:param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"``AudioFrame`` \u7269\u4ef6\u662f 32 \u500b\u6a23\u672c\u7684\u5217\u8868\uff0c\u6bcf\u500b\u6a23\u672c\u90fd\u662f\u4e00\u500b\u7121\u7b26\u865f\u4f4d\u5143\u7d44 (0 \u5230 255 \u4e4b\u9593\u7684\u6574\u6578)\u3002\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: ``AudioFrame`` instance from which to copy the data.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"\u4f7f\u7528 micro:bit \u64ad\u653e\u8072\u97f3 (\u532f\u5165 ``audio`` \u8207 V1 \u76f8\u5bb9)\u3002\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n:param wait: \u5982\u679c ``wait`` \u70ba ``True``\uff0c\u6b64\u51fd\u5f0f\u5c07\u6703\u5c01\u9396\uff0c\u76f4\u5230\u8072\u97f3\u5b8c\u6210\u3002\n:param pin: (\u5f15\u8173) \u6307\u5b9a\u8f38\u51fa\u5f15\u8173\u7684\u53ef\u9078\u5f15\u6578\uff0c\u53ef\u7528\u65bc\u8986\u5beb\u9810\u8a2d\u503c ``pin0``\u3002\u5982\u679c\u6211\u5011\u4e0d\u60f3\u64ad\u653e\u4efb\u4f55\u8072\u97f3\uff0c\u6211\u5011\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\n:param return_pin: \u6307\u5b9a\u5dee\u5206\u908a\u7de3\u9023\u63a5\u5668\u5f15\u8173\uff0c\u4ee5\u9023\u63a5\u5230\u5916\u90e8\u63da\u8072\u5668\u800c\u4e0d\u662f\u63a5\u5730\u3002\u5728 **V2** \u4fee\u8a02\u7248\u4e2d\uff0c\u9019\u5c07\u6703\u88ab\u5ffd\u7565\u3002\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\u6aa2\u67e5\u662f\u5426\u6b63\u5728\u64ad\u653e\u8072\u97f3\u3002\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"\u505c\u6b62\u6240\u6709\u97f3\u8a0a\u64ad\u653e\u3002\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Create a new sound effect.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n:param vol_start: Start volume value, a number between ``0`` and ``255``.\n:param vol_end: End volume value, a number between ``0`` and ``255``.\n:param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n:param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n:param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"``AudioFrame`` \u7269\u4ef6\u662f 32 \u500b\u6a23\u672c\u7684\u5217\u8868\uff0c\u6bcf\u500b\u6a23\u672c\u90fd\u662f\u4e00\u500b\u7121\u7b26\u865f\u4f4d\u5143\u7d44 (0 \u5230 255 \u4e4b\u9593\u7684\u6574\u6578)\u3002\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: ``AudioFrame`` instance from which to copy the data.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"\u4f7f\u7528\u5167\u5efa\u6307\u5357\u91dd\u3002 (\u6307\u5357\u91dd)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"\u958b\u59cb\u6821\u6e96\u7a0b\u5e8f\u3002\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"\u6aa2\u67e5\u6307\u5357\u91dd\u662f\u5426\u5df2\u6821\u6e96\u3002\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"\u5fa9\u539f\u6821\u6e96\uff0c\u4f7f\u6307\u5357\u91dd\u518d\u6b21\u672a\u6821\u6e96\u3002\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"\u53d6\u5f97 ``x`` \u8ef8\u4e0a\u7684\u78c1\u5834\u5f37\u5ea6\u3002\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"\u53d6\u5f97 ``y`` \u8ef8\u4e0a\u7684\u78c1\u5834\u5f37\u5ea6\u3002\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"\u53d6\u5f97 ``z`` \u8ef8\u4e0a\u7684\u78c1\u5834\u5f37\u5ea6\u3002\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"\u53d6\u5f97\u6307\u5357\u91dd\u65b9\u5411\u3002\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"\u53d6\u5f97\u88dd\u7f6e\u5468\u570d\u78c1\u5834\u7684\u5f37\u5ea6\u3002\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", "/typeshed/stdlib/microbit/display.pyi": "\"\"\"\u5728 5\u00d75 LED \u986f\u793a\u5668\u4e0a\u986f\u793a\u6587\u5b57\u3001\u5716\u50cf\u548c\u52d5\u756b\u3002\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"\u53d6\u5f97\u884c ``x`` \u548c\u5217 ``y`` \u7684 LED \u4eae\u5ea6\u3002\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: \u986f\u793a\u884c (0..4)\n:param y: \u986f\u793a\u5217 (0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"\u5728\u884c ``x`` \u548c\u5217 ``y`` \u8a2d\u5b9a LED \u4eae\u5ea6\u3002\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: \u986f\u793a\u884c (0..4)\n:param y: \u986f\u793a\u5217 (0..4)\n:param value: 0 (\u95dc\u9589) \u548c 9 (\u6700\u4eae) \u4e4b\u9593\u7684\u4eae\u5ea6\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"\u5c07\u6240\u6709 LED \u7684\u4eae\u5ea6\u8a2d\u5b9a\u70ba 0 (\u95dc\u9589)\u3002\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"\u5728 LED \u986f\u793a\u5668\u4e0a\u986f\u793a\u5716\u50cf\u3001\u5b57\u6bcd\u6216\u6578\u5b57\u3002\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: \u8981\u986f\u793a\u7684\u5b57\u4e32\u3001\u6578\u5b57\u3001\u5716\u50cf\u6216\u5716\u50cf\u5217\u8868\u3002\n:param delay: \u6bcf\u500b\u5b57\u6bcd\u3001\u6578\u5b57\u6216\u5716\u50cf\u4e4b\u9593\u7684\u986f\u793a\u6642\u9593\u70ba ``delay`` \u6beb\u79d2\u3002\n:param wait: \u5982\u679c ``wait`` \u70ba ``True``\uff0c\u6b64\u51fd\u5f0f\u5c07\u5c01\u9396\u76f4\u5230\u52d5\u756b\u5b8c\u6210\uff0c\u5426\u5247\u52d5\u756b\u5c07\u5728\u80cc\u666f\u767c\u751f\u3002\n:param loop: \u5982\u679c ``loop`` \u70ba ``True``\uff0c\u52d5\u756b\u5c07\u6c38\u9060\u91cd\u8907\u3002\n:param clear: \u5982\u679c ``clear`` \u70ba ``True``\uff0c\u5247\u986f\u793a\u5c07\u5728\u5e8f\u5217\u5b8c\u6210\u5f8c\u88ab\u6e05\u9664\u3002\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"\u6372\u52d5 LED \u986f\u793a\u5668\u4e0a\u7684\u6578\u5b57\u6216\u6587\u5b57\u3002\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: \u8981\u6372\u52d5\u7684\u5b57\u4e32\u3002\u5982\u679c ``text`` \u662f\u6574\u6578\u6216\u6d6e\u9ede\u6578\uff0c\u5247\u5148\u4f7f\u7528 ``str()`` \u5c07\u5176\u8f49\u63db\u70ba\u5b57\u4e32\u3002\n:param delay: ``delay`` \u53c3\u6578\u53ef\u63a7\u5236\u6587\u5b57\u6372\u52d5\u7684\u901f\u5ea6\u3002\n:param wait: \u5982\u679c ``wait`` \u70ba ``True``\uff0c\u6b64\u51fd\u5f0f\u5c07\u5c01\u9396\u76f4\u5230\u52d5\u756b\u5b8c\u6210\uff0c\u5426\u5247\u52d5\u756b\u5c07\u5728\u80cc\u666f\u767c\u751f\u3002\n:param loop: \u5982\u679c ``loop`` \u70ba ``True``\uff0c\u52d5\u756b\u5c07\u6c38\u9060\u91cd\u8907\u3002\n:param monospace: \u5982\u679c ``monospace`` \u70ba ``True``\uff0c\u5b57\u5143\u5bec\u5ea6\u5c07\u5168\u90e8\u4f54\u7528 5 \u500b\u50cf\u7d20\u884c\u3002\u5426\u5247\uff0c\u6372\u52d5\u6642\u6bcf\u500b\u5b57\u5143\u4e4b\u9593\u5c07\u6070\u597d\u6709 1 \u500b\u7a7a\u767d\u50cf\u7d20\u884c\u3002\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u958b\u555f LED \u986f\u793a\u5668\u3002\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"\u95dc\u9589 LED \u986f\u793a\u5668 (\u505c\u7528\u986f\u793a\u5668\uff0c\u53ef\u8b93\u60a8\u5c07 GPIO \u5f15\u8173\u91cd\u65b0\u7528\u65bc\u5176\u4ed6\u76ee\u7684)\u3002\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"\u6aa2\u67e5 LED \u986f\u793a\u5668\u662f\u5426\u6709\u555f\u7528\u3002\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"\u8b80\u53d6\u5149\u5ea6\u3002\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"\u4f7f\u7528 I\u00b2C \u532f\u6d41\u6392\u901a\u8a0a\u5354\u5b9a\u8207\u88dd\u7f6e\u901a\u8a0a\u3002\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"\u91cd\u65b0\u521d\u59cb\u5316\u5468\u908a\u8a2d\u5099\u3002\n\nExample: ``i2c.init()``\n\n:param freq: (\u983b\u7387) \u6642\u8108\u983b\u7387\n:param sda: ``sda`` \u5f15\u8173 (\u9810\u8a2d 20)\n:param scl: ``scl`` \u5f15\u8173 (\u9810\u8a2d 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"\u6383\u63cf\u532f\u6d41\u6392\u4ee5\u5c0b\u627e\u88dd\u7f6e\u3002\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"\u5f9e\u88dd\u7f6e\u8b80\u53d6\u4f4d\u5143\u7d44\u3002\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: \u88dd\u7f6e\u7684 7 \u4f4d\u5143\u5730\u5740\n:param n: \u8981\u8b80\u53d6\u7684\u4f4d\u5143\u7d44\u6578\n:param repeat: \u5982\u679c ``True``\uff0c\u5247\u4e0d\u6703\u50b3\u9001\u505c\u6b62\u4f4d\u5143\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\u5c07\u4f4d\u5143\u7d44\u5beb\u5165\u88dd\u7f6e\u3002\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: \u88dd\u7f6e\u7684 7 \u4f4d\u5143\u4f4d\u5740\n:param buf: \u5305\u542b\u8981\u5beb\u5165\u4f4d\u5143\u7d44\u7684\u7de9\u885d\u5340\n:param repeat: \u5982\u679c ``True``\uff0c\u5247\u4e0d\u6703\u50b3\u9001\u505c\u6b62\u4f4d\u5143\"\"\"\n ...",